summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2013-11-04 17:08:47 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:57:36 +0200
commit76fc4757ac91ac7947a01fb7b53dddf9a78a01d1 (patch)
tree9b98e6e193c7870cb27ac861394c1c4592850922 /source
parent9664bee729d487bcc0a0bc35859f8e13d5421c75 (diff)
downloadcurrent-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.gz
current-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.xz
Slackware 14.1slackware-14.1
Mon Nov 4 17:08:47 UTC 2013 Slackware 14.1 x86_64 stable is released! It's been another interesting release cycle here at Slackware bringing new features like support for UEFI machines, updated compilers and development tools, the switch from MySQL to MariaDB, and many more improvements throughout the system. Thanks to the team, the upstream developers, the dedicated Slackware community, and everyone else who pitched in to help make this release a reality. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. Have fun! :-)
Diffstat (limited to 'source')
-rwxr-xr-xsource/a/aaa_base/aaa_base.SlackBuild6
-rw-r--r--source/a/aaa_base/os-release8
-rw-r--r--source/a/aaa_base/slackware-version2
-rwxr-xr-xsource/a/aaa_elflibs/aaa_elflibs.SlackBuild6
-rw-r--r--source/a/aaa_elflibs/symlinks-to-tracked-libs3
-rw-r--r--source/a/aaa_elflibs/tracked-files1
-rw-r--r--source/a/acpid/slack-desc2
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-03847
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-03958
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-04056
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-04147
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-04257
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-04365
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-04470
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-04553
-rwxr-xr-xsource/a/btrfs-progs/btrfs-progs.SlackBuild12
-rw-r--r--source/a/btrfs-progs/fsck.btrfs57
-rw-r--r--source/a/cups/cups-1.5.4-usb-quirks.diff319
-rw-r--r--source/a/cups/cups-blacklist-usblp.conf10
-rwxr-xr-xsource/a/cups/cups.SlackBuild11
-rw-r--r--source/a/cups/usb-backend-reset-after-job-only-for-specific-devices.patch74
-rwxr-xr-xsource/a/cxxlibs/cxxlibs.SlackBuild4
-rw-r--r--source/a/dbus/dbus-1.4.x-allow_root_globally.diff18
-rw-r--r--source/a/dbus/dbus-1.6.x-allow_root_globally.diff18
-rwxr-xr-xsource/a/dbus/dbus.SlackBuild4
-rwxr-xr-xsource/a/dialog/dialog.SlackBuild5
-rw-r--r--source/a/dosfstools/dosfstools-3.0.11.tar.bz2.sign7
-rwxr-xr-xsource/a/dosfstools/dosfstools.SlackBuild13
-rw-r--r--source/a/e2fsprogs/e2fsprogs-1.42.6.tar.signbin543 -> 0 bytes
-rw-r--r--source/a/e2fsprogs/e2fsprogs-1.42.8.tar.signbin0 -> 543 bytes
-rwxr-xr-xsource/a/e2fsprogs/e2fsprogs.SlackBuild11
-rw-r--r--source/a/efibootmgr/efibootmgr-0.5.4-Remove-device-path-padding-on-non-Itanium.patch28
-rw-r--r--source/a/efibootmgr/efibootmgr-0.5.4-Work-around-broken-Apple-firmware.patch30
-rw-r--r--source/a/efibootmgr/efibootmgr-0.5.4-fix-disk-minor-number-discovery.patch29
-rw-r--r--source/a/efibootmgr/efibootmgr-0.5.4-support-4k-sectors.patch176
-rwxr-xr-xsource/a/efibootmgr/efibootmgr.SlackBuild117
-rw-r--r--source/a/efibootmgr/slack-desc19
-rw-r--r--source/a/eject/eject.CDROM_DRIVE_STATUS.diff76
-rwxr-xr-xsource/a/eject/eject.SlackBuild6
-rw-r--r--source/a/eject/eject_for_mac.patch12
-rwxr-xr-xsource/a/elilo/elilo.SlackBuild116
-rw-r--r--source/a/elilo/eliloconfig213
-rw-r--r--source/a/elilo/setup.ll.eliloconfig3
-rw-r--r--source/a/elilo/slack-desc19
-rwxr-xr-xsource/a/etc/etc.SlackBuild10
-rwxr-xr-xsource/a/file/file.SlackBuild47
-rw-r--r--source/a/floppy/fdutils-5.4-20020222.diff2991
-rw-r--r--source/a/floppy/fdutils-5.5-20081027.diff905
-rwxr-xr-xsource/a/floppy/floppy.SlackBuild41
-rw-r--r--source/a/floppy/slack-desc6
-rwxr-xr-xsource/a/gawk/gawk.SlackBuild11
-rwxr-xr-xsource/a/gettext/gettext-tools.SlackBuild10
-rwxr-xr-xsource/a/gettext/gettext.SlackBuild8
-rwxr-xr-xsource/a/getty-ps/getty-ps.SlackBuild2
-rw-r--r--source/a/getty-ps/getty.bugfixes.diff2
-rw-r--r--source/a/gpm/gpm-1.20.1-consolename.patch18
-rw-r--r--source/a/gpm/gpm-1.20.1-gpmopen.patch22
-rw-r--r--source/a/gpm/gpm-1.20.1-idie.patch12
-rw-r--r--source/a/gpm/gpm-1.20.1-input-defines.diff26
-rw-r--r--source/a/gpm/gpm-1.20.1-input.patch16
-rw-r--r--source/a/gpm/gpm-1.20.1-lib-silent.patch2
-rw-r--r--source/a/gpm/gpm-1.20.1-math.patch11
-rw-r--r--source/a/gpm/gpm-1.20.1-multilib.patch52
-rw-r--r--source/a/gpm/gpm-1.20.1-no-console-error.patch15
-rw-r--r--source/a/gpm/gpm-1.20.1-nodebug.patch12
-rw-r--r--source/a/gpm/gpm-1.20.1-select-1.patch30
-rw-r--r--source/a/gpm/gpm-1.20.1-subscript.patch11
-rw-r--r--source/a/gpm/gpm-1.20.1-weak-wgetch.patch16
-rw-r--r--source/a/gpm/gpm-1.20.1.send-noise-to-syslogs.diff86
-rw-r--r--source/a/gpm/gpm-1.20.5-close-fds.patch17
-rw-r--r--source/a/gpm/gpm-evdev-cumulative.patch7023
-rwxr-xr-xsource/a/gpm/gpm.SlackBuild112
-rw-r--r--source/a/gpm/gpm.evdevmakefile.patch11
-rw-r--r--source/a/gpm/slack-desc4
-rwxr-xr-xsource/a/gptfdisk/gptfdisk.SlackBuild2
-rw-r--r--source/a/grub/doinst.sh16
-rw-r--r--source/a/grub/etc.default.grub28
-rwxr-xr-xsource/a/grub/grub.SlackBuild192
-rw-r--r--source/a/grub/grub.dejavusansmono.gfxterm.font.diff43
-rw-r--r--source/a/grub/grub.e75fdee420a7ad95e9a465c9699adc2e2e970440.terminate.efi.several.times.diff75
-rw-r--r--source/a/grub/initrd_naming.patch13
-rw-r--r--source/a/grub/slack-desc19
-rw-r--r--source/a/grub/txtHRnXiHYUrM.txt49
-rwxr-xr-xsource/a/gzip/gzip.SlackBuild8
-rwxr-xr-xsource/a/infozip/infozip.SlackBuild8
-rw-r--r--source/a/infozip/unzip.process.c.diff28
-rw-r--r--source/a/infozip/unzip.use.system.libbz2.diff28
-rwxr-xr-xsource/a/kernel-firmware/kernel-firmware.SlackBuild9
-rw-r--r--source/a/kmod/kmod-15.tar.sign17
-rwxr-xr-xsource/a/kmod/kmod.SlackBuild7
-rwxr-xr-xsource/a/libcgroup/libcgroup.SlackBuild2
-rw-r--r--source/a/libcgroup/libcgroup.init.diff15
-rwxr-xr-xsource/a/lilo/lilo.SlackBuild14
-rw-r--r--source/a/lilo/lilo.use_major_minor_instead_lvm_name.diff47
-rw-r--r--source/a/lilo/liloconfig55
-rwxr-xr-xsource/a/logrotate/logrotate.SlackBuild2
-rw-r--r--source/a/logrotate/logrotate.slackware.diff11
-rwxr-xr-xsource/a/lrzip/lrzip.SlackBuild9
-rwxr-xr-xsource/a/lvm2/lvm2.SlackBuild2
-rwxr-xr-xsource/a/minicom/minicom.SlackBuild4
-rw-r--r--source/a/mkinitrd/fixes-1.20.1/busybox-1.20.1-ash.patch12
-rw-r--r--source/a/mkinitrd/fixes-1.20.1/busybox-1.20.1-ifupdown.patch75
-rw-r--r--source/a/mkinitrd/fixes-1.20.1/busybox-1.20.1-man.patch34
-rw-r--r--source/a/mkinitrd/fixes-1.20.1/busybox-1.20.1-tar.patch11
-rw-r--r--source/a/mkinitrd/fixes-1.20.2/busybox-1.20.2-kernel_ver.patch25
-rw-r--r--source/a/mkinitrd/fixes-1.20.2/busybox-1.20.2-ntpd.patch11
-rw-r--r--source/a/mkinitrd/fixes-1.20.2/busybox-1.20.2-pkg-config-selinux.patch67
-rw-r--r--source/a/mkinitrd/fixes-1.20.2/busybox-1.20.2-sys-resource.patch123
-rwxr-xr-xsource/a/mkinitrd/init31
-rw-r--r--source/a/mkinitrd/mkinitrd13
-rwxr-xr-xsource/a/mkinitrd/mkinitrd.SlackBuild18
-rw-r--r--source/a/mkinitrd/mkinitrd_command_generator.sh21
-rwxr-xr-xsource/a/ntfs-3g/ntfs-3g.SlackBuild16
-rwxr-xr-xsource/a/os-prober/os-prober.SlackBuild141
-rw-r--r--source/a/os-prober/os-prober.reiserfs.diff11
-rw-r--r--source/a/os-prober/slack-desc19
-rw-r--r--source/a/pciutils/pciutils-3.2.0.tar.sign17
-rwxr-xr-xsource/a/pciutils/pciutils.SlackBuild7
-rwxr-xr-xsource/a/pkgtools/pkgtools.SlackBuild10
-rw-r--r--source/a/pkgtools/scripts/pkgtool4
-rw-r--r--source/a/pkgtools/scripts/setup.80.make-bootdisk68
-rw-r--r--source/a/procps/procps-3.2.8.makefile.diff11
-rwxr-xr-xsource/a/procps/procps.SlackBuild12
-rwxr-xr-xsource/a/reiserfsprogs/reiserfsprogs.SlackBuild21
-rw-r--r--source/a/reiserfsprogs/slack-desc4
-rwxr-xr-xsource/a/sed/sed.SlackBuild5
-rw-r--r--source/a/shadow/patches/r3054.diff27
-rw-r--r--source/a/shadow/patches/r3055.diff1515
-rw-r--r--source/a/shadow/patches/r3060.diff116
-rw-r--r--source/a/shadow/patches/r3062.diff139
-rw-r--r--source/a/shadow/patches/r3090.diff11
-rw-r--r--source/a/shadow/patches/r3096.diff27
-rw-r--r--source/a/shadow/patches/r3160.diff239
-rw-r--r--source/a/shadow/patches/r3194.diff15
-rwxr-xr-xsource/a/shadow/shadow.SlackBuild8
-rw-r--r--source/a/shadow/shadow.glibc217-crypt.diff258
-rw-r--r--source/a/shadow/shadow.man.nodups.diff11
-rwxr-xr-xsource/a/sharutils/sharutils.SlackBuild6
-rwxr-xr-xsource/a/slocate/slocate.SlackBuild2
-rwxr-xr-xsource/a/sysklogd/sysklogd.SlackBuild9
-rw-r--r--source/a/syslinux/syslinux-4.05.tar.sign17
-rw-r--r--source/a/syslinux/syslinux-4.06.tar.sign17
-rwxr-xr-xsource/a/syslinux/syslinux.SlackBuild6
-rw-r--r--source/a/syslinux/syslinux.altmbr.diff11
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.64
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.M16
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.S25
-rwxr-xr-xsource/a/sysvinit-scripts/sysvinit-scripts.SlackBuild4
-rwxr-xr-xsource/a/sysvinit/sysvinit.SlackBuild6
-rw-r--r--source/a/tcsh/tcsh-6.18.01-crypt.diff11
-rwxr-xr-xsource/a/tcsh/tcsh.SlackBuild6
-rw-r--r--source/a/udev/60-cdrom_id.rules.diff28
-rw-r--r--source/a/udev/config/rc.d/rc.udev.new9
-rw-r--r--source/a/udev/rule_generator.diff81
-rwxr-xr-xsource/a/udev/udev.SlackBuild11
-rwxr-xr-xsource/a/udisks/udisks.SlackBuild2
-rw-r--r--source/a/usb_modeswitch/device_reference.txt607
-rwxr-xr-xsource/a/usb_modeswitch/usb_modeswitch.SlackBuild8
-rw-r--r--source/a/usbutils/usbutils-007.tar.sign17
-rwxr-xr-xsource/a/usbutils/usbutils.SlackBuild2
-rw-r--r--source/a/util-linux/partx.data.type.diff11
-rwxr-xr-xsource/a/util-linux/util-linux.SlackBuild8
-rwxr-xr-xsource/a/xz/xz.SlackBuild4
-rw-r--r--source/ap/acct/581421-sa-hz-division.patch66
-rwxr-xr-xsource/ap/acct/acct.SlackBuild6
-rwxr-xr-xsource/ap/alsa-utils/alsa-utils.SlackBuild6
-rw-r--r--source/ap/alsa-utils/doinst.sh21
-rw-r--r--source/ap/alsa-utils/rc.alsa30
-rw-r--r--source/ap/alsa-utils/rc.alsa-oss24
-rwxr-xr-xsource/ap/aumix/aumix.SlackBuild83
-rw-r--r--source/ap/aumix/slack-desc19
-rw-r--r--source/ap/dc3dd/slack-desc2
-rwxr-xr-xsource/ap/diffutils/diffutils.SlackBuild13
-rw-r--r--source/ap/diffutils/diffutils.mkdir_p.diff11
-rwxr-xr-xsource/ap/dmapi/dmapi.SlackBuild8
-rw-r--r--source/ap/dmapi/dmapi.destdir.diff36
-rw-r--r--source/ap/ghostscript/cidfmap12
-rwxr-xr-xsource/ap/ghostscript/ghostscript.SlackBuild37
-rw-r--r--source/ap/ghostscript/ghostscript.gs_sprintf.diff28431
-rw-r--r--source/ap/ghostscript/slack-desc4
-rw-r--r--source/ap/hplip/hplip.56-hpmud.background.diff11
-rwxr-xr-xsource/ap/hplip/hplip.SlackBuild8
-rw-r--r--source/ap/hplip/hplip.no.upgrade.diff16
-rwxr-xr-xsource/ap/itstool/itstool.SlackBuild110
-rw-r--r--source/ap/itstool/slack-desc19
-rwxr-xr-xsource/ap/jed/jed.SlackBuild4
-rw-r--r--source/ap/ksh93/EPL-1.0213
-rwxr-xr-xsource/ap/ksh93/ksh93.SlackBuild23
-rw-r--r--source/ap/ksh93/patches/ksh-20070328-builtins.patch32
-rw-r--r--source/ap/ksh93/patches/ksh-20100826-fixregr.patch68
-rw-r--r--source/ap/ksh93/patches/ksh-20120801-cdfix.patch14
-rw-r--r--source/ap/ksh93/patches/ksh-20120801-cdfix2.patch25
-rw-r--r--source/ap/ksh93/patches/ksh-20120801-tabfix.patch18
-rw-r--r--source/ap/ksh93/patches/ksh-20130214-fixkill.patch21
-rw-r--r--source/ap/ksh93/patches/rmdirfix.patch505
-rw-r--r--source/ap/linuxdoc-tools/ChangeLog.txt28
-rwxr-xr-xsource/ap/linuxdoc-tools/arm/build4
-rwxr-xr-xsource/ap/linuxdoc-tools/linuxdoc-tools.build156
-rwxr-xr-xsource/ap/linuxdoc-tools/postbuildfixes.sh3
-rw-r--r--source/ap/linuxdoc-tools/sources/docbook2x_0.8.8-8.diff886
-rwxr-xr-xsource/ap/linuxdoc-tools/sources/source.download32
-rwxr-xr-xsource/ap/linuxdoc-tools/trackbuild.linuxdoc-tools5
-rwxr-xr-xsource/ap/lm_sensors/lm_sensors.SlackBuild4
-rwxr-xr-xsource/ap/lsscsi/lsscsi.SlackBuild2
-rwxr-xr-xsource/ap/lxc/lxc.SlackBuild8
-rwxr-xr-xsource/ap/madplay/madplay.SlackBuild2
-rw-r--r--source/ap/man-pages/man-pages-3.53.tar.signbin0 -> 543 bytes
-rwxr-xr-xsource/ap/man-pages/man-pages.SlackBuild4
-rw-r--r--source/ap/mariadb/doinst.sh28
-rwxr-xr-xsource/ap/mariadb/mariadb.SlackBuild189
-rw-r--r--source/ap/mariadb/mirror.url1
-rw-r--r--source/ap/mariadb/rc.mysqld89
-rw-r--r--source/ap/mariadb/slack-desc19
-rw-r--r--source/ap/mc/changeset_446748619b5cb77ea63360a81bb16cd2dd2caff7.diff87
-rw-r--r--source/ap/mc/changeset_54a5139eec69438f8771ffddcff96a2e72a197ff.diff66
-rwxr-xr-xsource/ap/mc/mc.SlackBuild11
-rw-r--r--source/ap/mc/mc.image.sh.geeqie.diff18
-rw-r--r--source/ap/mc/mc.save.file.diff37
-rwxr-xr-xsource/ap/moc/moc.SlackBuild4
-rw-r--r--source/ap/mysql/README.mysql-embedded7
-rw-r--r--source/ap/mysql/doinst.sh23
-rw-r--r--source/ap/mysql/mirror-url1
-rwxr-xr-xsource/ap/mysql/mysql-embedded.SlackBuild221
-rwxr-xr-xsource/ap/mysql/mysql.SlackBuild221
-rw-r--r--source/ap/mysql/rc.mysqld86
-rw-r--r--source/ap/mysql/slack-desc19
-rwxr-xr-xsource/ap/nano/nano.SlackBuild2
-rwxr-xr-xsource/ap/normalize/normalize.SlackBuild2
-rw-r--r--source/ap/pm-utils/49bluetooth-generic8
-rw-r--r--source/ap/pm-utils/README.SLACKWARE33
-rw-r--r--source/ap/pm-utils/patches/add-in-kernel-suspend-to-both.patch32
-rw-r--r--source/ap/pm-utils/patches/fix-wrong-path-in-intel-audio-powersave.patch (renamed from source/ap/pm-utils/fix-wrong-path-in-intel-audio-powersave.patch)0
-rw-r--r--source/ap/pm-utils/patches/hook-exit-code-log.patch19
-rw-r--r--source/ap/pm-utils/patches/init-logfile-append.patch13
-rw-r--r--source/ap/pm-utils/patches/log-line-spacing-fix.patch14
-rw-r--r--source/ap/pm-utils/patches/use_more_sane_harddrive_defaults.patch (renamed from source/ap/pm-utils/use_more_sane_harddrive_defaults.patch)0
-rwxr-xr-xsource/ap/pm-utils/pm-utils.SlackBuild53
-rwxr-xr-xsource/ap/powertop/powertop.SlackBuild2
-rw-r--r--source/ap/powertop/slack-desc2
-rwxr-xr-xsource/ap/rexima/rexima.SlackBuild77
-rw-r--r--source/ap/rexima/slack-desc19
-rwxr-xr-xsource/ap/screen/screen.SlackBuild7
-rw-r--r--source/ap/screen/screen.crypt.diff126
-rwxr-xr-xsource/ap/sqlite/sqlite.SlackBuild6
-rw-r--r--source/ap/terminus-font/doinst.sh10
-rw-r--r--source/ap/terminus-font/slack-desc19
-rw-r--r--source/ap/terminus-font/terminus-font.Makefile.paths.diff15
-rwxr-xr-xsource/ap/terminus-font/terminus-font.SlackBuild86
-rw-r--r--source/ap/tmux/slack-desc19
-rwxr-xr-xsource/ap/tmux/tmux.SlackBuild149
-rw-r--r--source/ap/vim/patches/7.3.00155
-rw-r--r--source/ap/vim/patches/7.3.00255
-rw-r--r--source/ap/vim/patches/7.3.00345
-rw-r--r--source/ap/vim/patches/7.3.00444
-rw-r--r--source/ap/vim/patches/7.3.00596
-rw-r--r--source/ap/vim/patches/7.3.006117
-rw-r--r--source/ap/vim/patches/7.3.007187
-rw-r--r--source/ap/vim/patches/7.3.008439
-rw-r--r--source/ap/vim/patches/7.3.00999
-rw-r--r--source/ap/vim/patches/7.3.010167
-rw-r--r--source/ap/vim/patches/7.3.011290
-rw-r--r--source/ap/vim/patches/7.3.01271
-rw-r--r--source/ap/vim/patches/7.3.013208
-rw-r--r--source/ap/vim/patches/7.3.01487
-rw-r--r--source/ap/vim/patches/7.3.01568
-rw-r--r--source/ap/vim/patches/7.3.016240
-rw-r--r--source/ap/vim/patches/7.3.017124
-rw-r--r--source/ap/vim/patches/7.3.01874
-rw-r--r--source/ap/vim/patches/7.3.01955
-rw-r--r--source/ap/vim/patches/7.3.020131
-rw-r--r--source/ap/vim/patches/7.3.02170
-rw-r--r--source/ap/vim/patches/7.3.02254
-rw-r--r--source/ap/vim/patches/7.3.02369
-rw-r--r--source/ap/vim/patches/7.3.024115
-rw-r--r--source/ap/vim/patches/7.3.025136
-rw-r--r--source/ap/vim/patches/7.3.02661
-rw-r--r--source/ap/vim/patches/7.3.02788
-rw-r--r--source/ap/vim/patches/7.3.028179
-rw-r--r--source/ap/vim/patches/7.3.029177
-rw-r--r--source/ap/vim/patches/7.3.030366
-rw-r--r--source/ap/vim/patches/7.3.031121
-rw-r--r--source/ap/vim/patches/7.3.032704
-rw-r--r--source/ap/vim/patches/7.3.03349
-rw-r--r--source/ap/vim/patches/7.3.034431
-rw-r--r--source/ap/vim/patches/7.3.03558
-rw-r--r--source/ap/vim/patches/7.3.03668
-rw-r--r--source/ap/vim/patches/7.3.037137
-rw-r--r--source/ap/vim/patches/7.3.03876
-rw-r--r--source/ap/vim/patches/7.3.03990
-rw-r--r--source/ap/vim/patches/7.3.04048
-rw-r--r--source/ap/vim/patches/7.3.04157
-rw-r--r--source/ap/vim/patches/7.3.04265
-rw-r--r--source/ap/vim/patches/7.3.043460
-rw-r--r--source/ap/vim/patches/7.3.04458
-rw-r--r--source/ap/vim/patches/7.3.04557
-rw-r--r--source/ap/vim/patches/7.3.04676
-rw-r--r--source/ap/vim/patches/7.3.047172
-rw-r--r--source/ap/vim/patches/7.3.048109
-rw-r--r--source/ap/vim/patches/7.3.049495
-rw-r--r--source/ap/vim/patches/7.3.050199
-rw-r--r--source/ap/vim/patches/7.3.051111
-rw-r--r--source/ap/vim/patches/7.3.052345
-rw-r--r--source/ap/vim/patches/7.3.05389
-rw-r--r--source/ap/vim/patches/7.3.054112
-rw-r--r--source/ap/vim/patches/7.3.055359
-rw-r--r--source/ap/vim/patches/7.3.056542
-rw-r--r--source/ap/vim/patches/7.3.05762
-rw-r--r--source/ap/vim/patches/7.3.058158
-rw-r--r--source/ap/vim/patches/7.3.059116
-rw-r--r--source/ap/vim/patches/7.3.060227
-rw-r--r--source/ap/vim/patches/7.3.06189
-rw-r--r--source/ap/vim/patches/7.3.062609
-rw-r--r--source/ap/vim/patches/7.3.06359
-rw-r--r--source/ap/vim/patches/7.3.06472
-rw-r--r--source/ap/vim/patches/7.3.065120
-rw-r--r--source/ap/vim/patches/7.3.06690
-rw-r--r--source/ap/vim/patches/7.3.06768
-rw-r--r--source/ap/vim/patches/7.3.06850
-rw-r--r--source/ap/vim/patches/7.3.06949
-rw-r--r--source/ap/vim/patches/7.3.07053
-rw-r--r--source/ap/vim/patches/7.3.07165
-rw-r--r--source/ap/vim/patches/7.3.072295
-rw-r--r--source/ap/vim/patches/7.3.07392
-rw-r--r--source/ap/vim/patches/7.3.074235
-rw-r--r--source/ap/vim/patches/7.3.075132
-rw-r--r--source/ap/vim/patches/7.3.076203
-rw-r--r--source/ap/vim/patches/7.3.077134
-rw-r--r--source/ap/vim/patches/7.3.07858
-rw-r--r--source/ap/vim/patches/7.3.07950
-rw-r--r--source/ap/vim/patches/7.3.080205
-rw-r--r--source/ap/vim/patches/7.3.08184
-rw-r--r--source/ap/vim/patches/7.3.08251
-rw-r--r--source/ap/vim/patches/7.3.083362
-rw-r--r--source/ap/vim/patches/7.3.084123
-rw-r--r--source/ap/vim/patches/7.3.085313
-rw-r--r--source/ap/vim/patches/7.3.086138
-rw-r--r--source/ap/vim/patches/7.3.087152
-rw-r--r--source/ap/vim/patches/7.3.088152
-rw-r--r--source/ap/vim/patches/7.3.08952
-rw-r--r--source/ap/vim/patches/7.3.09068
-rw-r--r--source/ap/vim/patches/7.3.091321
-rw-r--r--source/ap/vim/patches/7.3.09262
-rw-r--r--source/ap/vim/patches/7.3.093201
-rw-r--r--source/ap/vim/patches/7.3.09470
-rw-r--r--source/ap/vim/patches/7.3.09570
-rw-r--r--source/ap/vim/patches/7.3.09697
-rw-r--r--source/ap/vim/patches/7.3.09754
-rw-r--r--source/ap/vim/patches/7.3.09861
-rw-r--r--source/ap/vim/patches/7.3.09954
-rw-r--r--source/ap/vim/patches/7.3.10052
-rw-r--r--source/ap/vim/patches/7.3.10192
-rw-r--r--source/ap/vim/patches/7.3.102615
-rw-r--r--source/ap/vim/patches/7.3.103145
-rw-r--r--source/ap/vim/patches/7.3.10450
-rw-r--r--source/ap/vim/patches/7.3.10550
-rw-r--r--source/ap/vim/patches/7.3.10658
-rw-r--r--source/ap/vim/patches/7.3.10758
-rw-r--r--source/ap/vim/patches/7.3.108111
-rw-r--r--source/ap/vim/patches/7.3.109266
-rw-r--r--source/ap/vim/patches/7.3.11076
-rw-r--r--source/ap/vim/patches/7.3.111121
-rw-r--r--source/ap/vim/patches/7.3.11263
-rw-r--r--source/ap/vim/patches/7.3.11355
-rw-r--r--source/ap/vim/patches/7.3.11450
-rw-r--r--source/ap/vim/patches/7.3.11558
-rw-r--r--source/ap/vim/patches/7.3.11658
-rw-r--r--source/ap/vim/patches/7.3.11789
-rw-r--r--source/ap/vim/patches/7.3.11869
-rw-r--r--source/ap/vim/patches/7.3.11952
-rw-r--r--source/ap/vim/patches/7.3.12059
-rw-r--r--source/ap/vim/patches/7.3.12157
-rw-r--r--source/ap/vim/patches/7.3.122100
-rw-r--r--source/ap/vim/patches/7.3.12355
-rw-r--r--source/ap/vim/patches/7.3.124229
-rw-r--r--source/ap/vim/patches/7.3.12566
-rw-r--r--source/ap/vim/patches/7.3.12663
-rw-r--r--source/ap/vim/patches/7.3.12755
-rw-r--r--source/ap/vim/patches/7.3.12858
-rw-r--r--source/ap/vim/patches/7.3.129241
-rw-r--r--source/ap/vim/patches/7.3.13074
-rw-r--r--source/ap/vim/patches/7.3.13147
-rw-r--r--source/ap/vim/patches/7.3.13282
-rw-r--r--source/ap/vim/patches/7.3.133122
-rw-r--r--source/ap/vim/patches/7.3.13451
-rw-r--r--source/ap/vim/patches/7.3.13590
-rw-r--r--source/ap/vim/patches/7.3.13651
-rw-r--r--source/ap/vim/patches/7.3.13781
-rw-r--r--source/ap/vim/patches/7.3.13869
-rw-r--r--source/ap/vim/patches/7.3.139111
-rw-r--r--source/ap/vim/patches/7.3.14058
-rw-r--r--source/ap/vim/patches/7.3.14194
-rw-r--r--source/ap/vim/patches/7.3.14285
-rw-r--r--source/ap/vim/patches/7.3.1431520
-rw-r--r--source/ap/vim/patches/7.3.14480
-rw-r--r--source/ap/vim/patches/7.3.14564
-rw-r--r--source/ap/vim/patches/7.3.146224
-rw-r--r--source/ap/vim/patches/7.3.14753
-rw-r--r--source/ap/vim/patches/7.3.148252
-rw-r--r--source/ap/vim/patches/7.3.14978
-rw-r--r--source/ap/vim/patches/7.3.150113
-rw-r--r--source/ap/vim/patches/7.3.15159
-rw-r--r--source/ap/vim/patches/7.3.152643
-rw-r--r--source/ap/vim/patches/7.3.15366
-rw-r--r--source/ap/vim/patches/7.3.154106
-rw-r--r--source/ap/vim/patches/7.3.155286
-rw-r--r--source/ap/vim/patches/7.3.15689
-rw-r--r--source/ap/vim/patches/7.3.15752
-rw-r--r--source/ap/vim/patches/7.3.15848
-rw-r--r--source/ap/vim/patches/7.3.15954
-rw-r--r--source/ap/vim/patches/7.3.160482
-rw-r--r--source/ap/vim/patches/7.3.1611645
-rw-r--r--source/ap/vim/patches/7.3.16283
-rw-r--r--source/ap/vim/patches/7.3.16359
-rw-r--r--source/ap/vim/patches/7.3.164181
-rw-r--r--source/ap/vim/patches/7.3.16547
-rw-r--r--source/ap/vim/patches/7.3.16670
-rw-r--r--source/ap/vim/patches/7.3.16796
-rw-r--r--source/ap/vim/patches/7.3.16882
-rw-r--r--source/ap/vim/patches/7.3.169130
-rw-r--r--source/ap/vim/patches/7.3.17070
-rw-r--r--source/ap/vim/patches/7.3.171142
-rw-r--r--source/ap/vim/patches/7.3.172268
-rw-r--r--source/ap/vim/patches/7.3.17379
-rw-r--r--source/ap/vim/patches/7.3.174109
-rw-r--r--source/ap/vim/patches/7.3.17550
-rw-r--r--source/ap/vim/patches/7.3.176165
-rw-r--r--source/ap/vim/patches/7.3.17797
-rw-r--r--source/ap/vim/patches/7.3.178163
-rw-r--r--source/ap/vim/patches/7.3.17995
-rw-r--r--source/ap/vim/patches/7.3.180295
-rw-r--r--source/ap/vim/patches/7.3.181171
-rw-r--r--source/ap/vim/patches/7.3.18253
-rw-r--r--source/ap/vim/patches/7.3.18387
-rw-r--r--source/ap/vim/patches/7.3.18486
-rw-r--r--source/ap/vim/patches/7.3.18577
-rw-r--r--source/ap/vim/patches/7.3.18659
-rw-r--r--source/ap/vim/patches/7.3.1876621
-rw-r--r--source/ap/vim/patches/7.3.188184
-rw-r--r--source/ap/vim/patches/7.3.18949
-rw-r--r--source/ap/vim/patches/7.3.19048
-rw-r--r--source/ap/vim/patches/7.3.191526
-rw-r--r--source/ap/vim/patches/7.3.19261
-rw-r--r--source/ap/vim/patches/7.3.19370
-rw-r--r--source/ap/vim/patches/7.3.19448
-rw-r--r--source/ap/vim/patches/7.3.195199
-rw-r--r--source/ap/vim/patches/7.3.196224
-rw-r--r--source/ap/vim/patches/7.3.19778
-rw-r--r--source/ap/vim/patches/7.3.198403
-rw-r--r--source/ap/vim/patches/7.3.19957
-rw-r--r--source/ap/vim/patches/7.3.20075
-rw-r--r--source/ap/vim/patches/7.3.201124
-rw-r--r--source/ap/vim/patches/7.3.202868
-rw-r--r--source/ap/vim/patches/7.3.203102
-rw-r--r--source/ap/vim/patches/7.3.20451
-rw-r--r--source/ap/vim/patches/7.3.20593
-rw-r--r--source/ap/vim/patches/7.3.20654
-rw-r--r--source/ap/vim/patches/7.3.20754
-rw-r--r--source/ap/vim/patches/7.3.20851
-rw-r--r--source/ap/vim/patches/7.3.20995
-rw-r--r--source/ap/vim/patches/7.3.210182
-rw-r--r--source/ap/vim/patches/7.3.21151
-rw-r--r--source/ap/vim/patches/7.3.212243
-rw-r--r--source/ap/vim/patches/7.3.213142
-rw-r--r--source/ap/vim/patches/7.3.21455
-rw-r--r--source/ap/vim/patches/7.3.21563
-rw-r--r--source/ap/vim/patches/7.3.216263
-rw-r--r--source/ap/vim/patches/7.3.21763
-rw-r--r--source/ap/vim/patches/7.3.21891
-rw-r--r--source/ap/vim/patches/7.3.21992
-rw-r--r--source/ap/vim/patches/7.3.2201230
-rw-r--r--source/ap/vim/patches/7.3.221287
-rw-r--r--source/ap/vim/patches/7.3.22271
-rw-r--r--source/ap/vim/patches/7.3.223387
-rw-r--r--source/ap/vim/patches/7.3.224162
-rw-r--r--source/ap/vim/patches/7.3.225bin18841 -> 0 bytes
-rw-r--r--source/ap/vim/patches/7.3.22658
-rw-r--r--source/ap/vim/patches/7.3.227109
-rw-r--r--source/ap/vim/patches/7.3.22845
-rw-r--r--source/ap/vim/patches/7.3.22955
-rw-r--r--source/ap/vim/patches/7.3.23070
-rw-r--r--source/ap/vim/patches/7.3.231128
-rw-r--r--source/ap/vim/patches/7.3.23284
-rw-r--r--source/ap/vim/patches/7.3.23381
-rw-r--r--source/ap/vim/patches/7.3.234178
-rw-r--r--source/ap/vim/patches/7.3.235360
-rw-r--r--source/ap/vim/patches/7.3.23687
-rw-r--r--source/ap/vim/patches/7.3.237222
-rw-r--r--source/ap/vim/patches/7.3.23853
-rw-r--r--source/ap/vim/patches/7.3.239321
-rw-r--r--source/ap/vim/patches/7.3.240795
-rw-r--r--source/ap/vim/patches/7.3.24171
-rw-r--r--source/ap/vim/patches/7.3.24271
-rw-r--r--source/ap/vim/patches/7.3.24352
-rw-r--r--source/ap/vim/patches/7.3.24448
-rw-r--r--source/ap/vim/patches/7.3.24581
-rw-r--r--source/ap/vim/patches/7.3.24655
-rw-r--r--source/ap/vim/patches/7.3.24795
-rw-r--r--source/ap/vim/patches/7.3.248129
-rw-r--r--source/ap/vim/patches/7.3.249134
-rw-r--r--source/ap/vim/patches/7.3.250104
-rw-r--r--source/ap/vim/patches/7.3.251184
-rw-r--r--source/ap/vim/patches/7.3.25243
-rw-r--r--source/ap/vim/patches/7.3.253539
-rw-r--r--source/ap/vim/patches/7.3.25447
-rw-r--r--source/ap/vim/patches/7.3.25581
-rw-r--r--source/ap/vim/patches/7.3.256322
-rw-r--r--source/ap/vim/patches/7.3.25797
-rw-r--r--source/ap/vim/patches/7.3.25870
-rw-r--r--source/ap/vim/patches/7.3.259503
-rw-r--r--source/ap/vim/patches/7.3.26069
-rw-r--r--source/ap/vim/patches/7.3.26153
-rw-r--r--source/ap/vim/patches/7.3.2621356
-rw-r--r--source/ap/vim/patches/7.3.263162
-rw-r--r--source/ap/vim/patches/7.3.264159
-rw-r--r--source/ap/vim/patches/7.3.265145
-rw-r--r--source/ap/vim/patches/7.3.26654
-rw-r--r--source/ap/vim/patches/7.3.26767
-rw-r--r--source/ap/vim/patches/7.3.26869
-rw-r--r--source/ap/vim/patches/7.3.269112
-rw-r--r--source/ap/vim/patches/7.3.27052
-rw-r--r--source/ap/vim/patches/7.3.271504
-rw-r--r--source/ap/vim/patches/7.3.27251
-rw-r--r--source/ap/vim/patches/7.3.273124
-rw-r--r--source/ap/vim/patches/7.3.27455
-rw-r--r--source/ap/vim/patches/7.3.27577
-rw-r--r--source/ap/vim/patches/7.3.276130
-rw-r--r--source/ap/vim/patches/7.3.277348
-rw-r--r--source/ap/vim/patches/7.3.27873
-rw-r--r--source/ap/vim/patches/7.3.279118
-rw-r--r--source/ap/vim/patches/7.3.280181
-rw-r--r--source/ap/vim/patches/7.3.281134
-rw-r--r--source/ap/vim/patches/7.3.28260
-rw-r--r--source/ap/vim/patches/7.3.283114
-rw-r--r--source/ap/vim/patches/7.3.284211
-rw-r--r--source/ap/vim/patches/7.3.285144
-rw-r--r--source/ap/vim/patches/7.3.28684
-rw-r--r--source/ap/vim/patches/7.3.287100
-rw-r--r--source/ap/vim/patches/7.3.28876
-rw-r--r--source/ap/vim/patches/7.3.28956
-rw-r--r--source/ap/vim/patches/7.3.29075
-rw-r--r--source/ap/vim/patches/7.3.291125
-rw-r--r--source/ap/vim/patches/7.3.29255
-rw-r--r--source/ap/vim/patches/7.3.29374
-rw-r--r--source/ap/vim/patches/7.3.29458
-rw-r--r--source/ap/vim/patches/7.3.295109
-rw-r--r--source/ap/vim/patches/7.3.296222
-rw-r--r--source/ap/vim/patches/7.3.297130
-rw-r--r--source/ap/vim/patches/7.3.298167
-rw-r--r--source/ap/vim/patches/7.3.299516
-rw-r--r--source/ap/vim/patches/7.3.30074
-rw-r--r--source/ap/vim/patches/7.3.30197
-rw-r--r--source/ap/vim/patches/7.3.30268
-rw-r--r--source/ap/vim/patches/7.3.30355
-rw-r--r--source/ap/vim/patches/7.3.304103
-rw-r--r--source/ap/vim/patches/7.3.30558
-rw-r--r--source/ap/vim/patches/7.3.306244
-rw-r--r--source/ap/vim/patches/7.3.307180
-rw-r--r--source/ap/vim/patches/7.3.308260
-rw-r--r--source/ap/vim/patches/7.3.309105
-rw-r--r--source/ap/vim/patches/7.3.3103524
-rw-r--r--source/ap/vim/patches/7.3.311351
-rw-r--r--source/ap/vim/patches/7.3.31258
-rw-r--r--source/ap/vim/patches/7.3.31353
-rw-r--r--source/ap/vim/patches/7.3.31454
-rw-r--r--source/ap/vim/patches/7.3.315475
-rw-r--r--source/ap/vim/patches/7.3.31648
-rw-r--r--source/ap/vim/patches/7.3.317116
-rw-r--r--source/ap/vim/patches/7.3.31890
-rw-r--r--source/ap/vim/patches/7.3.319154
-rw-r--r--source/ap/vim/patches/7.3.320130
-rw-r--r--source/ap/vim/patches/7.3.321304
-rw-r--r--source/ap/vim/patches/7.3.32252
-rw-r--r--source/ap/vim/patches/7.3.32352
-rw-r--r--source/ap/vim/patches/7.3.32453
-rw-r--r--source/ap/vim/patches/7.3.32564
-rw-r--r--source/ap/vim/patches/7.3.326285
-rw-r--r--source/ap/vim/patches/7.3.32764
-rw-r--r--source/ap/vim/patches/7.3.32845
-rw-r--r--source/ap/vim/patches/7.3.32972
-rw-r--r--source/ap/vim/patches/7.3.33045
-rw-r--r--source/ap/vim/patches/7.3.33153
-rw-r--r--source/ap/vim/patches/7.3.332206
-rw-r--r--source/ap/vim/patches/7.3.333245
-rw-r--r--source/ap/vim/patches/7.3.33458
-rw-r--r--source/ap/vim/patches/7.3.33548
-rw-r--r--source/ap/vim/patches/7.3.3361100
-rw-r--r--source/ap/vim/patches/7.3.33758
-rw-r--r--source/ap/vim/patches/7.3.338100
-rw-r--r--source/ap/vim/patches/7.3.33957
-rw-r--r--source/ap/vim/patches/7.3.34062
-rw-r--r--source/ap/vim/patches/7.3.341360
-rw-r--r--source/ap/vim/patches/7.3.34293
-rw-r--r--source/ap/vim/patches/7.3.343252
-rw-r--r--source/ap/vim/patches/7.3.344121
-rw-r--r--source/ap/vim/patches/7.3.34548
-rw-r--r--source/ap/vim/patches/7.3.346143
-rw-r--r--source/ap/vim/patches/7.3.34754
-rw-r--r--source/ap/vim/patches/7.3.34857
-rw-r--r--source/ap/vim/patches/7.3.34988
-rw-r--r--source/ap/vim/patches/7.3.35046
-rw-r--r--source/ap/vim/patches/7.3.35146
-rw-r--r--source/ap/vim/patches/7.3.352108
-rw-r--r--source/ap/vim/patches/7.3.353155
-rw-r--r--source/ap/vim/patches/7.3.35471
-rw-r--r--source/ap/vim/patches/7.3.35556
-rw-r--r--source/ap/vim/patches/7.3.35679
-rw-r--r--source/ap/vim/patches/7.3.35752
-rw-r--r--source/ap/vim/patches/7.3.35874
-rw-r--r--source/ap/vim/patches/7.3.35964
-rw-r--r--source/ap/vim/patches/7.3.36061
-rw-r--r--source/ap/vim/patches/7.3.36155
-rw-r--r--source/ap/vim/patches/7.3.36259
-rw-r--r--source/ap/vim/patches/7.3.363110
-rw-r--r--source/ap/vim/patches/7.3.36457
-rw-r--r--source/ap/vim/patches/7.3.365131
-rw-r--r--source/ap/vim/patches/7.3.36676
-rw-r--r--source/ap/vim/patches/7.3.36753
-rw-r--r--source/ap/vim/patches/7.3.368103
-rw-r--r--source/ap/vim/patches/7.3.36948
-rw-r--r--source/ap/vim/patches/7.3.37063
-rw-r--r--source/ap/vim/patches/7.3.37175
-rw-r--r--source/ap/vim/patches/7.3.37252
-rw-r--r--source/ap/vim/patches/7.3.37378
-rw-r--r--source/ap/vim/patches/7.3.37459
-rw-r--r--source/ap/vim/patches/7.3.37564
-rw-r--r--source/ap/vim/patches/7.3.37657
-rw-r--r--source/ap/vim/patches/7.3.377406
-rw-r--r--source/ap/vim/patches/7.3.37871
-rw-r--r--source/ap/vim/patches/7.3.379112
-rw-r--r--source/ap/vim/patches/7.3.380318
-rw-r--r--source/ap/vim/patches/7.3.381260
-rw-r--r--source/ap/vim/patches/7.3.382173
-rw-r--r--source/ap/vim/patches/7.3.38351
-rw-r--r--source/ap/vim/patches/7.3.38453
-rw-r--r--source/ap/vim/patches/7.3.38569
-rw-r--r--source/ap/vim/patches/7.3.38655
-rw-r--r--source/ap/vim/patches/7.3.38761
-rw-r--r--source/ap/vim/patches/7.3.38845
-rw-r--r--source/ap/vim/patches/7.3.38961
-rw-r--r--source/ap/vim/patches/7.3.390155
-rw-r--r--source/ap/vim/patches/7.3.39151
-rw-r--r--source/ap/vim/patches/7.3.392115
-rw-r--r--source/ap/vim/patches/7.3.393130
-rw-r--r--source/ap/vim/patches/7.3.39462
-rw-r--r--source/ap/vim/patches/7.3.395115
-rw-r--r--source/ap/vim/patches/7.3.39649
-rw-r--r--source/ap/vim/patches/7.3.397224
-rw-r--r--source/ap/vim/patches/7.3.39865
-rw-r--r--source/ap/vim/patches/7.3.399137
-rw-r--r--source/ap/vim/patches/7.3.4001762
-rw-r--r--source/ap/vim/patches/7.3.401191
-rw-r--r--source/ap/vim/patches/7.3.40259
-rw-r--r--source/ap/vim/patches/7.3.403108
-rw-r--r--source/ap/vim/patches/7.3.40485
-rw-r--r--source/ap/vim/patches/7.3.405101
-rw-r--r--source/ap/vim/patches/7.3.406103
-rw-r--r--source/ap/vim/patches/7.3.407270
-rw-r--r--source/ap/vim/patches/7.3.40848
-rw-r--r--source/ap/vim/patches/7.3.40948
-rw-r--r--source/ap/vim/patches/7.3.41054
-rw-r--r--source/ap/vim/patches/7.3.41155
-rw-r--r--source/ap/vim/patches/7.3.41251
-rw-r--r--source/ap/vim/patches/7.3.41390
-rw-r--r--source/ap/vim/patches/7.3.41490
-rw-r--r--source/ap/vim/patches/7.3.41554
-rw-r--r--source/ap/vim/patches/7.3.41654
-rw-r--r--source/ap/vim/patches/7.3.41747
-rw-r--r--source/ap/vim/patches/7.3.41853
-rw-r--r--source/ap/vim/patches/7.3.41985
-rw-r--r--source/ap/vim/patches/7.3.42070
-rw-r--r--source/ap/vim/patches/7.3.42160
-rw-r--r--source/ap/vim/patches/7.3.42294
-rw-r--r--source/ap/vim/patches/7.3.423130
-rw-r--r--source/ap/vim/patches/7.3.42462
-rw-r--r--source/ap/vim/patches/7.3.42578
-rw-r--r--source/ap/vim/patches/7.3.426279
-rw-r--r--source/ap/vim/patches/7.3.427378
-rw-r--r--source/ap/vim/patches/7.3.428113
-rw-r--r--source/ap/vim/patches/7.3.429192
-rw-r--r--source/ap/vim/patches/7.3.43080
-rw-r--r--source/ap/vim/patches/7.3.431280
-rw-r--r--source/ap/vim/patches/7.3.432228
-rw-r--r--source/ap/vim/patches/7.3.43392
-rw-r--r--source/ap/vim/patches/7.3.434233
-rw-r--r--source/ap/vim/patches/7.3.43563
-rw-r--r--source/ap/vim/patches/7.3.436111
-rw-r--r--source/ap/vim/patches/7.3.43773
-rw-r--r--source/ap/vim/patches/7.3.438126
-rw-r--r--source/ap/vim/patches/7.3.43987
-rw-r--r--source/ap/vim/patches/7.3.440211
-rw-r--r--source/ap/vim/patches/7.3.441341
-rw-r--r--source/ap/vim/patches/7.3.442186
-rw-r--r--source/ap/vim/patches/7.3.443206
-rw-r--r--source/ap/vim/patches/7.3.44496
-rw-r--r--source/ap/vim/patches/7.3.445199
-rw-r--r--source/ap/vim/patches/7.3.446164
-rw-r--r--source/ap/vim/patches/7.3.447377
-rw-r--r--source/ap/vim/patches/7.3.448180
-rw-r--r--source/ap/vim/patches/7.3.449455
-rw-r--r--source/ap/vim/patches/7.3.45081
-rw-r--r--source/ap/vim/patches/7.3.451363
-rw-r--r--source/ap/vim/patches/7.3.45270
-rw-r--r--source/ap/vim/patches/7.3.45358
-rw-r--r--source/ap/vim/patches/7.3.45484
-rw-r--r--source/ap/vim/patches/7.3.45570
-rw-r--r--source/ap/vim/patches/7.3.456376
-rw-r--r--source/ap/vim/patches/7.3.45781
-rw-r--r--source/ap/vim/patches/7.3.45852
-rw-r--r--source/ap/vim/patches/7.3.45971
-rw-r--r--source/ap/vim/patches/7.3.46089
-rw-r--r--source/ap/vim/patches/7.3.461243
-rw-r--r--source/ap/vim/patches/7.3.462191
-rw-r--r--source/ap/vim/patches/7.3.46363
-rw-r--r--source/ap/vim/patches/7.3.46460
-rw-r--r--source/ap/vim/patches/7.3.465398
-rw-r--r--source/ap/vim/patches/7.3.46649
-rw-r--r--source/ap/vim/patches/7.3.46754
-rw-r--r--source/ap/vim/patches/7.3.468144
-rw-r--r--source/ap/vim/patches/7.3.46953
-rw-r--r--source/ap/vim/patches/7.3.47067
-rw-r--r--source/ap/vim/patches/7.3.47192
-rw-r--r--source/ap/vim/patches/7.3.47288
-rw-r--r--source/ap/vim/patches/7.3.47368
-rw-r--r--source/ap/vim/patches/7.3.47462
-rw-r--r--source/ap/vim/patches/7.3.47598
-rw-r--r--source/ap/vim/patches/7.3.47656
-rw-r--r--source/ap/vim/patches/7.3.47752
-rw-r--r--source/ap/vim/patches/7.3.47846
-rw-r--r--source/ap/vim/patches/7.3.479134
-rw-r--r--source/ap/vim/patches/7.3.480237
-rw-r--r--source/ap/vim/patches/7.3.48165
-rw-r--r--source/ap/vim/patches/7.3.48257
-rw-r--r--source/ap/vim/patches/7.3.48397
-rw-r--r--source/ap/vim/patches/7.3.48462
-rw-r--r--source/ap/vim/patches/7.3.48552
-rw-r--r--source/ap/vim/patches/7.3.48658
-rw-r--r--source/ap/vim/patches/7.3.487572
-rw-r--r--source/ap/vim/patches/7.3.48852
-rw-r--r--source/ap/vim/patches/7.3.48989
-rw-r--r--source/ap/vim/patches/7.3.4902517
-rw-r--r--source/ap/vim/patches/7.3.491235
-rw-r--r--source/ap/vim/patches/7.3.492718
-rw-r--r--source/ap/vim/patches/7.3.49354
-rw-r--r--source/ap/vim/patches/7.3.494186
-rw-r--r--source/ap/vim/patches/7.3.495124
-rw-r--r--source/ap/vim/patches/7.3.49669
-rw-r--r--source/ap/vim/patches/7.3.49750
-rw-r--r--source/ap/vim/patches/7.3.49863
-rw-r--r--source/ap/vim/patches/7.3.49984
-rw-r--r--source/ap/vim/patches/7.3.50046
-rw-r--r--source/ap/vim/patches/7.3.50163
-rw-r--r--source/ap/vim/patches/7.3.50267
-rw-r--r--source/ap/vim/patches/7.3.50351
-rw-r--r--source/ap/vim/patches/7.3.50487
-rw-r--r--source/ap/vim/patches/7.3.505116
-rw-r--r--source/ap/vim/patches/7.3.506100
-rw-r--r--source/ap/vim/patches/7.3.507149
-rw-r--r--source/ap/vim/patches/7.3.50885
-rw-r--r--source/ap/vim/patches/7.3.509304
-rw-r--r--source/ap/vim/patches/7.3.51053
-rw-r--r--source/ap/vim/patches/7.3.51149
-rw-r--r--source/ap/vim/patches/7.3.51270
-rw-r--r--source/ap/vim/patches/7.3.513129
-rw-r--r--source/ap/vim/patches/7.3.514232
-rw-r--r--source/ap/vim/patches/7.3.51568
-rw-r--r--source/ap/vim/patches/7.3.51694
-rw-r--r--source/ap/vim/patches/7.3.51760
-rw-r--r--source/ap/vim/patches/7.3.51857
-rw-r--r--source/ap/vim/patches/7.3.51964
-rw-r--r--source/ap/vim/patches/7.3.520140
-rw-r--r--source/ap/vim/patches/7.3.521129
-rw-r--r--source/ap/vim/patches/7.3.52256
-rw-r--r--source/ap/vim/patches/7.3.523103
-rw-r--r--source/ap/vim/patches/7.3.52446
-rw-r--r--source/ap/vim/patches/7.3.52555
-rw-r--r--source/ap/vim/patches/7.3.52659
-rw-r--r--source/ap/vim/patches/7.3.52759
-rw-r--r--source/ap/vim/patches/7.3.528171
-rw-r--r--source/ap/vim/patches/7.3.52981
-rw-r--r--source/ap/vim/patches/7.3.53050
-rw-r--r--source/ap/vim/patches/7.3.53152
-rw-r--r--source/ap/vim/patches/7.3.53253
-rw-r--r--source/ap/vim/patches/7.3.53346
-rw-r--r--source/ap/vim/patches/7.3.534101
-rw-r--r--source/ap/vim/patches/7.3.535356
-rw-r--r--source/ap/vim/patches/7.3.53673
-rw-r--r--source/ap/vim/patches/7.3.53747
-rw-r--r--source/ap/vim/patches/7.3.538321
-rw-r--r--source/ap/vim/patches/7.3.53951
-rw-r--r--source/ap/vim/patches/7.3.54055
-rw-r--r--source/ap/vim/patches/7.3.5411090
-rw-r--r--source/ap/vim/patches/7.3.54273
-rw-r--r--source/ap/vim/patches/7.3.54355
-rw-r--r--source/ap/vim/patches/7.3.54481
-rw-r--r--source/ap/vim/patches/7.3.545359
-rw-r--r--source/ap/vim/patches/7.3.54654
-rw-r--r--source/ap/vim/patches/7.3.54752
-rw-r--r--source/ap/vim/patches/7.3.54853
-rw-r--r--source/ap/vim/patches/7.3.549125
-rw-r--r--source/ap/vim/patches/7.3.550160
-rw-r--r--source/ap/vim/patches/7.3.551494
-rw-r--r--source/ap/vim/patches/7.3.552582
-rw-r--r--source/ap/vim/patches/7.3.55385
-rw-r--r--source/ap/vim/patches/7.3.55452
-rw-r--r--source/ap/vim/patches/7.3.555232
-rw-r--r--source/ap/vim/patches/7.3.55670
-rw-r--r--source/ap/vim/patches/7.3.55799
-rw-r--r--source/ap/vim/patches/7.3.55890
-rw-r--r--source/ap/vim/patches/7.3.559131
-rw-r--r--source/ap/vim/patches/7.3.56049
-rw-r--r--source/ap/vim/patches/7.3.56152
-rw-r--r--source/ap/vim/patches/7.3.56263
-rw-r--r--source/ap/vim/patches/7.3.56397
-rw-r--r--source/ap/vim/patches/7.3.56453
-rw-r--r--source/ap/vim/patches/7.3.56552
-rw-r--r--source/ap/vim/patches/7.3.56683
-rw-r--r--source/ap/vim/patches/7.3.56756
-rw-r--r--source/ap/vim/patches/7.3.568138
-rw-r--r--source/ap/vim/patches/7.3.5694762
-rw-r--r--source/ap/vim/patches/7.3.570145
-rw-r--r--source/ap/vim/patches/7.3.571117
-rw-r--r--source/ap/vim/patches/7.3.57259
-rw-r--r--source/ap/vim/patches/7.3.57352
-rw-r--r--source/ap/vim/patches/7.3.57488
-rw-r--r--source/ap/vim/patches/7.3.57560
-rw-r--r--source/ap/vim/patches/7.3.576255
-rw-r--r--source/ap/vim/patches/7.3.577273
-rw-r--r--source/ap/vim/patches/7.3.57880
-rw-r--r--source/ap/vim/patches/7.3.579232
-rw-r--r--source/ap/vim/patches/7.3.58052
-rw-r--r--source/ap/vim/patches/7.3.581117
-rw-r--r--source/ap/vim/patches/7.3.58261
-rw-r--r--source/ap/vim/patches/7.3.58379
-rw-r--r--source/ap/vim/patches/7.3.584134
-rw-r--r--source/ap/vim/patches/7.3.58556
-rw-r--r--source/ap/vim/patches/7.3.586103
-rw-r--r--source/ap/vim/patches/7.3.58784
-rw-r--r--source/ap/vim/patches/7.3.58885
-rw-r--r--source/ap/vim/patches/7.3.58969
-rw-r--r--source/ap/vim/patches/7.3.59061
-rw-r--r--source/ap/vim/patches/7.3.591208
-rw-r--r--source/ap/vim/patches/7.3.592126
-rw-r--r--source/ap/vim/patches/7.3.59381
-rw-r--r--source/ap/vim/patches/7.3.594171
-rw-r--r--source/ap/vim/patches/7.3.595154
-rw-r--r--source/ap/vim/patches/7.3.596171
-rw-r--r--source/ap/vim/patches/7.3.597720
-rw-r--r--source/ap/vim/patches/7.3.59873
-rw-r--r--source/ap/vim/patches/7.3.599107
-rw-r--r--source/ap/vim/patches/7.3.60068
-rw-r--r--source/ap/vim/patches/7.3.60151
-rw-r--r--source/ap/vim/patches/7.3.60255
-rw-r--r--source/ap/vim/patches/7.3.603370
-rw-r--r--source/ap/vim/patches/7.3.60460
-rw-r--r--source/ap/vim/patches/7.3.60586
-rw-r--r--source/ap/vim/patches/7.3.60676
-rw-r--r--source/ap/vim/patches/7.3.60756
-rw-r--r--source/ap/vim/patches/7.3.608119
-rw-r--r--source/ap/vim/patches/7.3.609251
-rw-r--r--source/ap/vim/patches/7.3.610400
-rw-r--r--source/ap/vim/patches/7.3.61158
-rw-r--r--source/ap/vim/patches/7.3.61283
-rw-r--r--source/ap/vim/patches/7.3.613149
-rw-r--r--source/ap/vim/patches/7.3.614176
-rw-r--r--source/ap/vim/patches/7.3.615107
-rw-r--r--source/ap/vim/patches/7.3.61646
-rw-r--r--source/ap/vim/patches/7.3.61765
-rw-r--r--source/ap/vim/patches/7.3.618367
-rw-r--r--source/ap/vim/patches/7.3.61950
-rw-r--r--source/ap/vim/patches/7.3.620163
-rw-r--r--source/ap/vim/patches/7.3.62172
-rw-r--r--source/ap/vim/patches/7.3.62256
-rw-r--r--source/ap/vim/patches/7.3.62392
-rw-r--r--source/ap/vim/patches/7.3.62452
-rw-r--r--source/ap/vim/patches/7.3.625140
-rw-r--r--source/ap/vim/patches/7.3.62649
-rw-r--r--source/ap/vim/patches/7.3.627102
-rw-r--r--source/ap/vim/patches/7.3.62854
-rw-r--r--source/ap/vim/patches/7.3.629437
-rw-r--r--source/ap/vim/patches/7.3.63048
-rw-r--r--source/ap/vim/patches/7.3.631322
-rw-r--r--source/ap/vim/patches/7.3.632537
-rw-r--r--source/ap/vim/patches/7.3.63381
-rw-r--r--source/ap/vim/patches/7.3.63457
-rw-r--r--source/ap/vim/patches/7.3.63550
-rw-r--r--source/ap/vim/patches/7.3.636148
-rw-r--r--source/ap/vim/patches/7.3.63794
-rw-r--r--source/ap/vim/patches/7.3.63855
-rw-r--r--source/ap/vim/patches/7.3.639846
-rw-r--r--source/ap/vim/patches/7.3.640bin455297 -> 0 bytes
-rw-r--r--source/ap/vim/patches/7.3.64168
-rw-r--r--source/ap/vim/patches/7.3.64255
-rw-r--r--source/ap/vim/patches/7.3.64373
-rw-r--r--source/ap/vim/patches/7.3.64472
-rw-r--r--source/ap/vim/patches/7.3.645118
-rw-r--r--source/ap/vim/patches/7.4.001489
-rw-r--r--source/ap/vim/patches/7.4.00277
-rw-r--r--source/ap/vim/patches/7.4.003100
-rw-r--r--source/ap/vim/patches/7.4.004232
-rw-r--r--source/ap/vim/patches/7.4.00548
-rw-r--r--source/ap/vim/patches/7.4.00666
-rw-r--r--source/ap/vim/patches/7.4.00795
-rw-r--r--source/ap/vim/patches/7.4.00871
-rw-r--r--source/ap/vim/patches/7.4.00964
-rw-r--r--source/ap/vim/patches/7.4.01079
-rw-r--r--source/ap/vim/patches/7.4.011100
-rw-r--r--source/ap/vim/patches/7.4.012202
-rw-r--r--source/ap/vim/patches/7.4.01399
-rw-r--r--source/ap/vim/patches/7.4.014102
-rw-r--r--source/ap/vim/patches/7.4.015106
-rw-r--r--source/ap/vim/patches/7.4.016221
-rw-r--r--source/ap/vim/patches/7.4.01778
-rw-r--r--source/ap/vim/patches/7.4.01845
-rw-r--r--source/ap/vim/patches/7.4.01961
-rw-r--r--source/ap/vim/patches/7.4.02082
-rw-r--r--source/ap/vim/patches/7.4.02186
-rw-r--r--source/ap/vim/patches/7.4.022148
-rw-r--r--source/ap/vim/patches/7.4.02353
-rw-r--r--source/ap/vim/patches/7.4.02461
-rw-r--r--source/ap/vim/patches/7.4.02562
-rw-r--r--source/ap/vim/patches/7.4.02665
-rw-r--r--source/ap/vim/patches/7.4.02789
-rw-r--r--source/ap/vim/patches/7.4.028753
-rw-r--r--source/ap/vim/patches/7.4.02963
-rw-r--r--source/ap/vim/patches/7.4.030109
-rw-r--r--source/ap/vim/patches/7.4.03154
-rw-r--r--source/ap/vim/patches/7.4.03282
-rw-r--r--source/ap/vim/patches/7.4.033116
-rw-r--r--source/ap/vim/patches/7.4.034180
-rw-r--r--source/ap/vim/patches/7.4.03553
-rw-r--r--source/ap/vim/patches/7.4.036273
-rw-r--r--source/ap/vim/patches/7.4.037130
-rw-r--r--source/ap/vim/patches/7.4.038116
-rw-r--r--source/ap/vim/patches/7.4.039217
-rw-r--r--source/ap/vim/patches/7.4.04068
-rw-r--r--source/ap/vim/patches/7.4.04161
-rw-r--r--source/ap/vim/patches/7.4.04271
-rw-r--r--source/ap/vim/patches/7.4.04389
-rw-r--r--source/ap/vim/patches/7.4.04483
-rw-r--r--source/ap/vim/patches/7.4.045111
-rw-r--r--source/ap/vim/patches/7.4.04680
-rw-r--r--source/ap/vim/patches/7.4.04756
-rw-r--r--source/ap/vim/patches/7.4.04896
-rw-r--r--source/ap/vim/patches/7.4.04967
-rw-r--r--source/ap/vim/patches/7.4.05090
-rwxr-xr-xsource/ap/vim/vim-gvim.SlackBuild17
-rw-r--r--source/ap/vim/vim-runtime-syntax-20110328.diff2487
-rw-r--r--source/ap/vim/vim-runtime-syntax-20131002.diff0
-rwxr-xr-xsource/ap/vim/vim.SlackBuild17
-rwxr-xr-xsource/ap/xfsdump/xfsdump.SlackBuild4
-rw-r--r--source/ap/xfsdump/xfsdump.destdir.diff34
-rw-r--r--source/d/binutils/binutils-2.22.52.0.2.tar.signbin543 -> 0 bytes
-rw-r--r--source/d/binutils/binutils-2.23.52.0.1.tar.signbin0 -> 543 bytes
-rwxr-xr-xsource/d/binutils/binutils.SlackBuild13
-rw-r--r--source/d/binutils/binutils.addr2line.dynsymtab.diff128
-rw-r--r--source/d/binutils/binutils.export.demangle.h.diff33
-rw-r--r--source/d/binutils/binutils.no-config-h-check.diff28
-rw-r--r--source/d/binutils/binutils.revert.pr15149.diff22
-rw-r--r--source/d/binutils/binutils.texinfo5.diff201
-rw-r--r--source/d/binutils/release.binutils-2.22.52.0.2508
-rw-r--r--source/d/binutils/release.binutils-2.23.52.0.1775
-rwxr-xr-xsource/d/bison/bison.SlackBuild6
-rwxr-xr-xsource/d/clisp/clisp.SlackBuild4
-rwxr-xr-xsource/d/cmake/cmake.SlackBuild6
-rw-r--r--source/d/cmake/cmake.findpkgconfig.3ea850.patch63
-rwxr-xr-xsource/d/cvs/cvs.SlackBuild10
-rw-r--r--source/d/cvs/cvs.crypt-2.diff53
-rw-r--r--source/d/cvs/cvs.getline64.diff34
-rwxr-xr-xsource/d/distcc/distcc.SlackBuild17
-rw-r--r--source/d/distcc/doinst.sh15
-rwxr-xr-xsource/d/flex/flex.SlackBuild10
-rw-r--r--source/d/gcc/gcc-4.7.1.adalib.pic.diff40
-rwxr-xr-xsource/d/gcc/gcc.SlackBuild19
-rw-r--r--source/d/gcc/slack-desc.gcc2
-rwxr-xr-xsource/d/git/git.SlackBuild3
-rwxr-xr-xsource/d/guile/guile.SlackBuild12
-rw-r--r--source/d/guile/slack-desc2
-rwxr-xr-xsource/d/help2man/help2man.SlackBuild149
-rw-r--r--source/d/help2man/slack-desc19
-rwxr-xr-xsource/d/libtool/libtool.SlackBuild4
-rwxr-xr-xsource/d/llvm/llvm.SlackBuild109
-rw-r--r--source/d/llvm/llvm.url4
-rw-r--r--source/d/make/make-3.82-bugfixes.patch250
-rwxr-xr-xsource/d/make/make.SlackBuild6
-rwxr-xr-xsource/d/open-cobol/open-cobol.SlackBuild133
-rw-r--r--source/d/open-cobol/slack-desc19
-rwxr-xr-xsource/d/oprofile/oprofile.SlackBuild3
-rw-r--r--source/d/oprofile/oprofile.config.h.diff22
-rwxr-xr-xsource/d/perl/perl.SlackBuild21
-rwxr-xr-xsource/d/python/python.SlackBuild8
-rw-r--r--source/d/rcs/rcs-5.7.diff17
-rwxr-xr-xsource/d/rcs/rcs.SlackBuild131
-rwxr-xr-xsource/d/ruby/ruby.SlackBuild8
-rwxr-xr-xsource/d/slacktrack/slacktrack.SlackBuild2
-rwxr-xr-xsource/d/strace/strace.SlackBuild16
-rw-r--r--source/d/swig/swig.url2
-rwxr-xr-xsource/e/emacs/emacs.SlackBuild10
-rwxr-xr-xsource/installer/dropbear/dropbear.Slackbuild57
-rw-r--r--source/installer/dropbear/dropbear.glibc.crypt.diff28
-rw-r--r--source/installer/dropbear/dropbear.xauth.patch8
-rw-r--r--source/installer/dropbear/dropbear_dbclientpath.patch16
-rw-r--r--source/installer/dropbear/dropbear_emptypass.patch63
-rw-r--r--source/k/README.TXT6
-rw-r--r--source/k/config-x86/config-generic-3.10.176384
-rw-r--r--source/k/config-x86/config-generic-3.2.295689
-rw-r--r--source/k/config-x86/config-generic-smp-3.10.17-smp6419
-rw-r--r--source/k/config-x86/config-generic-smp-3.2.29-smp5719
-rw-r--r--source/k/config-x86/config-huge-3.10.176384
-rw-r--r--source/k/config-x86/config-huge-3.2.295688
-rw-r--r--source/k/config-x86/config-huge-smp-3.10.17-smp6419
-rw-r--r--source/k/config-x86/config-huge-smp-3.2.29-smp5718
-rw-r--r--source/k/config-x86_64/config-generic-3.10.17.x646228
-rw-r--r--source/k/config-x86_64/config-generic-3.2.29.x645478
-rw-r--r--source/k/config-x86_64/config-huge-3.10.17.x646228
-rw-r--r--source/k/config-x86_64/config-huge-3.2.29.x645477
-rw-r--r--source/k/linux-3.10.17.tar.sign17
-rw-r--r--source/k/linux-3.2.29.tar.sign17
-rwxr-xr-xsource/k/packaging-x86/kernel-generic-smp/kernel-generic-smp.SlackBuild6
-rwxr-xr-xsource/k/packaging-x86/kernel-generic/kernel-generic.SlackBuild6
-rwxr-xr-xsource/k/packaging-x86/kernel-huge-smp/kernel-huge-smp.SlackBuild6
-rwxr-xr-xsource/k/packaging-x86/kernel-huge/kernel-huge.SlackBuild6
-rwxr-xr-xsource/k/packaging-x86/kernel-modules-smp/kernel-modules-smp.SlackBuild2
-rwxr-xr-xsource/k/packaging-x86/kernel-modules/kernel-modules.SlackBuild2
-rwxr-xr-xsource/k/packaging-x86_64/kernel-generic/kernel-generic.SlackBuild6
-rwxr-xr-xsource/k/packaging-x86_64/kernel-huge/kernel-huge.SlackBuild6
-rwxr-xr-xsource/k/packaging-x86_64/kernel-modules/kernel-modules.SlackBuild2
-rwxr-xr-xsource/kde/KDE.SlackBuild49
-rw-r--r--source/kde/KDE.options4
-rw-r--r--source/kde/build/ark1
-rwxr-xr-xsource/kde/build/increment.sh17
-rw-r--r--source/kde/build/kde-workspace1
-rw-r--r--source/kde/build/kdelibs1
-rw-r--r--source/kde/build/lskat1
-rw-r--r--source/kde/cmake/kde-runtime17
-rw-r--r--source/kde/cmake/kdebindings8
-rw-r--r--source/kde/cmake/kross-interpreters17
-rwxr-xr-xsource/kde/kde-deps-build/alldeps.SlackBuild2
l---------source/kde/kde-deps-build/boost1
-rw-r--r--source/kde/modularize132
-rw-r--r--source/kde/modules/extragear10
-rw-r--r--source/kde/modules/kdeaccessibility1
-rw-r--r--source/kde/modules/kdebase4
-rw-r--r--source/kde/modules/kdebindings14
-rw-r--r--source/kde/modules/kdeedu1
-rw-r--r--source/kde/modules/kdegames43
-rw-r--r--source/kde/modules/kdemultimedia10
-rw-r--r--source/kde/modules/kdepim1
-rw-r--r--source/kde/modules/kdeutils5
-rw-r--r--source/kde/modules/oxygen-icons1
-rw-r--r--source/kde/package-blacklist2
-rw-r--r--source/kde/patch/amarok.patch3
-rw-r--r--source/kde/patch/amarok/amarok-liblastfm1.patch704
-rw-r--r--source/kde/patch/calligra.patch3
-rw-r--r--source/kde/patch/calligra/calligra.words.fix_overflow.diff16
-rw-r--r--source/kde/patch/kde-workspace.patch3
-rw-r--r--source/kde/patch/kde-workspace/kde-workspace.batteryapplet.diff27
-rw-r--r--source/kde/patch/kde-workspace/kde-workspace.shadow.changeset_r7777194da6154375fc8103b8c4e29e385cd7ae2e.diff92
-rw-r--r--source/kde/patch/kdelibs.patch8
-rw-r--r--source/kde/patch/kdelibs/coding-style-fixes.patch62
-rw-r--r--source/kde/patch/kdelibs/return-application-icons-properly.patch56
-rw-r--r--source/kde/patch/kdelibs/return-not-break.-copy-paste-error.patch31
-rw-r--r--source/kde/patch/kdepim.patch3
-rw-r--r--source/kde/patch/kdepim/kdepim-4.5.85-install-headers.patch124
-rw-r--r--source/kde/patch/korundum.patch4
-rw-r--r--source/kde/patch/korundum/korundum_ruby19.patch31
-rw-r--r--source/kde/post-install/konsole.post-install5
-rw-r--r--source/kde/pre-install/amarok.pre-install8
-rw-r--r--source/kde/slack-desc/audiocd-kio19
-rw-r--r--source/kde/slack-desc/bomber19
-rw-r--r--source/kde/slack-desc/bovo19
-rw-r--r--source/kde/slack-desc/dragon19
-rw-r--r--source/kde/slack-desc/ffmpegthumbs19
-rw-r--r--source/kde/slack-desc/granatier19
-rw-r--r--source/kde/slack-desc/juk19
-rw-r--r--source/kde/slack-desc/kajongg19
-rw-r--r--source/kde/slack-desc/kapman19
-rw-r--r--source/kde/slack-desc/katomic19
-rw-r--r--source/kde/slack-desc/kblackbox19
-rw-r--r--source/kde/slack-desc/kblocks19
-rw-r--r--source/kde/slack-desc/kbounce19
-rw-r--r--source/kde/slack-desc/kbreakout19
-rw-r--r--source/kde/slack-desc/kdeaccessibility1
-rw-r--r--source/kde/slack-desc/kdevelop-php19
-rw-r--r--source/kde/slack-desc/kdevelop-php-docs19
-rw-r--r--source/kde/slack-desc/kdiamond19
-rw-r--r--source/kde/slack-desc/kfourinline19
-rw-r--r--source/kde/slack-desc/kgoldrunner19
-rw-r--r--source/kde/slack-desc/kigo19
-rw-r--r--source/kde/slack-desc/killbots19
-rw-r--r--source/kde/slack-desc/kio-mtp19
-rw-r--r--source/kde/slack-desc/kiriki19
-rw-r--r--source/kde/slack-desc/kjumpingcube19
-rw-r--r--source/kde/slack-desc/klickety19
-rw-r--r--source/kde/slack-desc/klines19
-rw-r--r--source/kde/slack-desc/kmahjongg19
-rw-r--r--source/kde/slack-desc/kmines19
-rw-r--r--source/kde/slack-desc/kmix19
-rw-r--r--source/kde/slack-desc/knavalbattle19
-rw-r--r--source/kde/slack-desc/knetwalk19
-rw-r--r--source/kde/slack-desc/kolf19
-rw-r--r--source/kde/slack-desc/kollision19
-rw-r--r--source/kde/slack-desc/konquest19
-rw-r--r--source/kde/slack-desc/kpat19
-rw-r--r--source/kde/slack-desc/kreversi19
-rw-r--r--source/kde/slack-desc/kscd19
-rw-r--r--source/kde/slack-desc/kscreen19
-rw-r--r--source/kde/slack-desc/kshisen19
-rw-r--r--source/kde/slack-desc/ksirk19
-rw-r--r--source/kde/slack-desc/ksnakeduel19
-rw-r--r--source/kde/slack-desc/kspaceduel19
-rw-r--r--source/kde/slack-desc/ksquares19
-rw-r--r--source/kde/slack-desc/ksudoku19
-rw-r--r--source/kde/slack-desc/ktuberling19
-rw-r--r--source/kde/slack-desc/kubrick19
-rw-r--r--source/kde/slack-desc/libkcddb19
-rw-r--r--source/kde/slack-desc/libkcompactdisc19
-rw-r--r--source/kde/slack-desc/libkdegames19
-rw-r--r--source/kde/slack-desc/libkmahjongg19
-rw-r--r--source/kde/slack-desc/libkscreen19
-rw-r--r--source/kde/slack-desc/lskat19
-rw-r--r--source/kde/slack-desc/mplayerthumbs19
-rw-r--r--source/kde/slack-desc/nepomuk-core19
-rw-r--r--source/kde/slack-desc/nepomuk-widgets19
-rw-r--r--source/kde/slack-desc/oxygen-gtk319
-rw-r--r--source/kde/slack-desc/pairs19
-rw-r--r--source/kde/slack-desc/palapeli19
-rw-r--r--source/kde/slack-desc/picmi19
-rw-r--r--source/kde/slack-desc/polkit-kde-agent-11
-rw-r--r--source/kde/slack-desc/polkit-kde-kcmodules-11
-rw-r--r--source/kde/slack-desc/print-manager19
-rw-r--r--source/kde/slack-desc/strigi-multimedia19
-rwxr-xr-xsource/kdei/calligra-l10n/calligra-l10n.SlackBuild6
-rw-r--r--source/kdei/calligra-l10n/languages6
-rw-r--r--source/kdei/calligra-l10n/slack-desc/slack-desc.calligra-l10n-ia19
-rwxr-xr-xsource/kdei/kde-l10n/kde-l10n.SlackBuild4
-rw-r--r--source/kdei/kde-l10n/kdepim-l10n/kdepim-l10n-fr-4.4.5.korganizer.docbook.reorganize.diff.gz.defunctbin0 -> 507 bytes
-rw-r--r--source/kdei/kde-l10n/languages3
-rwxr-xr-xsource/l/PyQt/PyQt.SlackBuild2
-rwxr-xr-xsource/l/QScintilla/QScintilla.SlackBuild2
-rw-r--r--source/l/aalib/aalib-aclocal.patch11
-rwxr-xr-xsource/l/aalib/aalib.SlackBuild8
-rwxr-xr-xsource/l/alsa-lib/alsa-lib.SlackBuild2
-rwxr-xr-xsource/l/apr-util/apr-util.SlackBuild4
-rw-r--r--source/l/apr-util/apr-util.url4
-rwxr-xr-xsource/l/at-spi2-atk/at-spi2-atk.SlackBuild97
-rw-r--r--source/l/at-spi2-atk/doinst.sh6
-rw-r--r--source/l/at-spi2-atk/slack-desc19
-rwxr-xr-xsource/l/at-spi2-core/at-spi2-core.SlackBuild107
-rw-r--r--source/l/at-spi2-core/doinst.sh15
-rw-r--r--source/l/at-spi2-core/slack-desc19
-rwxr-xr-xsource/l/audiofile/audiofile.SlackBuild1
-rwxr-xr-xsource/l/boost/boost.SlackBuild22
-rw-r--r--source/l/boost/boost.glibc.long.long.diff22
-rw-r--r--source/l/boost/changeset_82498.diff116
-rw-r--r--source/l/cairo/cairo-1.10.0-buggy_gradients.patch13
-rwxr-xr-xsource/l/cairo/cairo.SlackBuild49
-rwxr-xr-xsource/l/cairo/paredown.sh51
-rwxr-xr-xsource/l/clucene/clucene.SlackBuild10
-rw-r--r--source/l/clucene/clucene.install_contribs_lib.diff42
-rw-r--r--source/l/clucene/clucene.pkgconfig.diff (renamed from source/l/clucene/clucene.pkgconfig.patch)0
-rwxr-xr-xsource/l/dconf/dconf.SlackBuild112
-rw-r--r--source/l/dconf/dconf.url2
-rw-r--r--source/l/dconf/doinst.sh9
-rw-r--r--source/l/dconf/slack-desc19
-rwxr-xr-xsource/l/desktop-file-utils/desktop-file-utils.SlackBuild1
-rwxr-xr-xsource/l/ebook-tools/ebook-tools.SlackBuild7
-rw-r--r--source/l/ebook-tools/ebook-tools.paths.diff10
-rwxr-xr-xsource/l/enchant/enchant.SlackBuild21
-rw-r--r--source/l/enchant/enchant.info2
-rwxr-xr-xsource/l/esound/esound.SlackBuild2
-rw-r--r--source/l/expat/expat-2.0.1-fixes-3.patch38
-rwxr-xr-xsource/l/expat/expat.SlackBuild9
-rwxr-xr-xsource/l/fftw/fftw.SlackBuild106
-rwxr-xr-xsource/l/gc/gc.SlackBuild130
-rw-r--r--source/l/gc/gc.test-stack-infinite-loop.diff67
-rw-r--r--source/l/gc/slack-desc19
-rwxr-xr-xsource/l/gdk-pixbuf2/gdk-pixbuf2.SlackBuild4
-rwxr-xr-xsource/l/gegl/gegl.SlackBuild2
-rwxr-xr-xsource/l/glib2/glib2.SlackBuild3
-rw-r--r--source/l/glibc/doinst.sh-glibc43
-rw-r--r--source/l/glibc/doinst.sh-glibc-solibs44
-rw-r--r--source/l/glibc/glibc-2.14-reexport-rpc-interface.patch26
-rw-r--r--source/l/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch27
-rw-r--r--source/l/glibc/glibc-2.14.1-fixes-1.patch159
-rw-r--r--source/l/glibc/glibc-2.15-revert-c5a0802a.diff226
-rw-r--r--source/l/glibc/glibc-2.15.nscd-race-fix.diff47
-rw-r--r--source/l/glibc/glibc.CVE-2013-0242.diff189
-rw-r--r--source/l/glibc/glibc.CVE-2013-1914.diff53
-rw-r--r--source/l/glibc/glibc.CVE-2013-2207.diff241
-rw-r--r--source/l/glibc/glibc.CVE-2013-4332.diff64
-rwxr-xr-xsource/l/glibc/glibc.SlackBuild90
-rw-r--r--source/l/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff322
-rw-r--r--source/l/glibc/glibc.strtod.CVE-2012-3480.diff407
-rwxr-xr-x[-rw-r--r--]source/l/glibc/timezone-scripts/output-updated-timeconfig.sh2
-rw-r--r--source/l/glibc/timezone-scripts/parts/001
-rw-r--r--source/l/glibc/timezone-scripts/parts/017
-rw-r--r--source/l/glibc/timezone-scripts/parts/037
-rw-r--r--source/l/glibc/timezone-scripts/timeconfig31
-rwxr-xr-xsource/l/gmm/gmm.SlackBuild20
-rwxr-xr-xsource/l/gmp/gmp.SlackBuild1
-rw-r--r--source/l/gnome-icon-theme/fix_gits_configure.diff12
-rwxr-xr-xsource/l/gnome-icon-theme/gnome-icon-theme.SlackBuild11
-rw-r--r--source/l/gnome-keyring/doinst.sh2
-rwxr-xr-xsource/l/gnome-keyring/gnome-keyring.SlackBuild11
-rw-r--r--source/l/gnome-keyring/gpg-agent-Hook-up-the-TTL-cache-option.patch98
-rw-r--r--source/l/gnome-keyring/schema-Update-description-for-gpg-cache-method.patch30
-rw-r--r--source/l/gnome-keyring/secret-store-Mark-a-secret-item-as-used-when-acces.patch26
-rw-r--r--source/l/gnome-themes-standard/doinst.sh8
-rwxr-xr-xsource/l/gnome-themes-standard/gnome-themes-standard.SlackBuild104
-rw-r--r--source/l/gnome-themes-standard/slack-desc19
-rwxr-xr-xsource/l/gnu-efi/gnu-efi.SlackBuild92
-rw-r--r--source/l/gnu-efi/slack-desc19
-rwxr-xr-xsource/l/grantlee/grantlee.SlackBuild2
-rwxr-xr-xsource/l/gsettings-desktop-schemas/gsettings-desktop-schemas.SlackBuild2
-rwxr-xr-xsource/l/gst-plugins-good/gst-plugins-good.SlackBuild6
-rw-r--r--source/l/gst-plugins-good/v4l.compile.fixes.diff57
-rwxr-xr-xsource/l/gstreamer/gstreamer.SlackBuild5
-rw-r--r--source/l/gtk+2/gtk+-2.24.x.icon-compat.am.diff14
-rw-r--r--source/l/gtk+2/gtk+-2.24.x.icon-compat.diff15
-rwxr-xr-xsource/l/gtk+2/gtk+2.SlackBuild12
-rw-r--r--source/l/gtk+2/update-gtk-immodules-2.064
-rw-r--r--source/l/gtk+2/use_host_triplet_for_gtk_immodules.diff23
-rw-r--r--source/l/gtk+3/doinst.sh5
-rwxr-xr-xsource/l/gtk+3/gtk+3.SlackBuild43
-rw-r--r--source/l/gtk+3/update-gtk-immodules-3.064
-rw-r--r--source/l/gtk+3/use_host_triplet_for_gtk_immodules.diff11
-rwxr-xr-xsource/l/gvfs/gvfs.SlackBuild2
-rwxr-xr-xsource/l/harfbuzz/harfbuzz.SlackBuild105
-rw-r--r--source/l/harfbuzz/slack-desc19
-rwxr-xr-xsource/l/icu4c/icu4c.SlackBuild7
-rwxr-xr-xsource/l/ilmbase/ilmbase.SlackBuild9
-rw-r--r--source/l/ilmbase/ilmbase.gcc4.diff10
-rw-r--r--source/l/ilmbase/ilmbase.info3
-rw-r--r--source/l/ilmbase/ilmbase.no_undefined.diff31
-rw-r--r--source/l/ilmbase/ilmbase.secondary.diff12
-rw-r--r--source/l/ilmbase/ilmbase.ucontext.diff28
-rwxr-xr-xsource/l/iso-codes/iso-codes.SlackBuild8
-rw-r--r--source/l/iso-codes/iso-codes.info5
-rwxr-xr-xsource/l/lcms2/lcms2.SlackBuild2
-rw-r--r--source/l/libarchive/slack-desc2
-rwxr-xr-xsource/l/libcroco/libcroco.SlackBuild4
-rwxr-xr-xsource/l/libevent/libevent.SlackBuild154
-rw-r--r--source/l/libevent/slack-desc19
-rwxr-xr-xsource/l/libffi/libffi.SlackBuild7
-rw-r--r--source/l/libffi/libffi.includedir.diff36
-rwxr-xr-xsource/l/libgphoto2/libgphoto2.SlackBuild2
-rwxr-xr-xsource/l/libgsf/libgsf.SlackBuild4
-rw-r--r--source/l/libical/README9
-rwxr-xr-xsource/l/libical/libical.SlackBuild33
-rwxr-xr-xsource/l/libmtp/libmtp.SlackBuild4
-rw-r--r--source/l/libnl/libnl-include_limits.h.patch11
-rwxr-xr-xsource/l/libnl/libnl.SlackBuild4
-rwxr-xr-xsource/l/libnl3/libnl3.SlackBuild2
-rw-r--r--source/l/libpcap/slack-desc2
-rw-r--r--source/l/libproxy/gcc47-include-unistd.h.diff22
-rwxr-xr-xsource/l/libproxy/libproxy.SlackBuild16
-rw-r--r--source/l/libproxy/only_link_mozjs185.diff46
-rwxr-xr-xsource/l/libsamplerate/libsamplerate.SlackBuild4
-rwxr-xr-xsource/l/libsecret/libsecret.SlackBuild109
-rw-r--r--source/l/libsecret/slack-desc19
-rwxr-xr-xsource/l/libsoup/libsoup.SlackBuild2
-rwxr-xr-xsource/l/libssh/libssh.SlackBuild7
-rw-r--r--source/l/libssh/libssh.no.example.build.diff11
-rw-r--r--source/l/libtiff/libtiff-CVE-2012-1173.patch71
-rwxr-xr-xsource/l/libtiff/libtiff.SlackBuild7
-rw-r--r--source/l/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff3813
-rw-r--r--source/l/libtiff/tiff-3.9.7_CVE-2013-4231.diff23
-rw-r--r--source/l/libtiff/tiff-3.9.7_CVE-2013-4232.diff24
-rw-r--r--source/l/libtiff/tiff-3.9.7_CVE-2013-4244.diff24
-rwxr-xr-xsource/l/libunistring/libunistring.SlackBuild150
-rw-r--r--source/l/libunistring/slack-desc19
-rwxr-xr-xsource/l/libusb/libusb.SlackBuild4
-rwxr-xr-xsource/l/libwnck/libwnck.SlackBuild2
-rwxr-xr-xsource/l/libxklavier/libxklavier.SlackBuild4
-rwxr-xr-xsource/l/libxml2/libxml2.SlackBuild4
-rw-r--r--source/l/libxml2/libxml2.do-not-check-crc.diff35
-rwxr-xr-xsource/l/libxslt/libxslt.SlackBuild8
-rwxr-xr-xsource/l/libzip/libzip.SlackBuild38
-rw-r--r--source/l/libzip/libzip.info5
-rw-r--r--source/l/loudmouth/loudmouth-1.4.3-glib-compile-fix.patch17
-rwxr-xr-xsource/l/loudmouth/loudmouth.SlackBuild21
-rw-r--r--source/l/loudmouth/loudmouth.async_assertion.diff19
-rw-r--r--source/l/loudmouth/loudmouth.crtpath.diff11
-rw-r--r--source/l/loudmouth/loudmouth.gnutls.configure.ac.diff20
-rw-r--r--source/l/loudmouth/loudmouth.ld.gobject.diff11
-rw-r--r--source/l/loudmouth/loudmouth.sasl-md5-digest-uri.diff22
-rw-r--r--source/l/loudmouth/loudmouth.stanzadrop.diff45
-rwxr-xr-xsource/l/media-player-info/media-player-info.SlackBuild2
-rw-r--r--source/l/media-player-info/slack-desc2
-rwxr-xr-xsource/l/mozilla-nss/mozilla-nss.SlackBuild22
-rw-r--r--source/l/ncurses/ncurses-5.9-20130504-patch.sh106265
-rwxr-xr-xsource/l/ncurses/ncurses.SlackBuild11
-rwxr-xr-xsource/l/openexr/openexr.SlackBuild4
-rw-r--r--source/l/openexr/openexr.gcc4.diff43
-rw-r--r--source/l/openexr/openexr.info3
-rwxr-xr-xsource/l/pango/pango.SlackBuild1
-rw-r--r--source/l/pango/pango.etc.host.location.diff52
-rwxr-xr-xsource/l/pcre/pcre.SlackBuild4
-rwxr-xr-xsource/l/pil/pil.SlackBuild4
-rwxr-xr-xsource/l/pilot-link/pilot-link.SlackBuild2
-rw-r--r--source/l/polkit/05_revert-admin-identities-unix-group-wheel.patch39
-rwxr-xr-xsource/l/polkit/polkit.SlackBuild6
-rwxr-xr-xsource/l/poppler/poppler.SlackBuild3
-rw-r--r--source/l/poppler/poppler_xyscale.patch47
-rwxr-xr-xsource/l/popt/popt.SlackBuild11
-rwxr-xr-xsource/l/qjson/qjson.SlackBuild104
-rw-r--r--source/l/qjson/slack-desc19
-rw-r--r--source/l/qt/QElfParser-fix-type-of-sh_size.patch41
-rw-r--r--source/l/qt/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch37
-rw-r--r--source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch97
-rwxr-xr-xsource/l/qt/qt.SlackBuild43
-rw-r--r--source/l/qt/qt.assistant.memcpy-crash.diff11
-rw-r--r--source/l/qt/qt.ca89c49.cursor.position.diff31
-rw-r--r--source/l/qt/qt.webkit-no_Werror.patch10
-rw-r--r--source/l/qt/qt.webkit.glib.diff11
-rw-r--r--source/l/qt/slack-desc2
-rwxr-xr-xsource/l/qtscriptgenerator/qtscriptgenerator.SlackBuild19
-rwxr-xr-xsource/l/raptor2/raptor2.SlackBuild2
-rwxr-xr-xsource/l/rasqal/rasqal.SlackBuild2
-rwxr-xr-xsource/l/redland/redland.SlackBuild17
-rw-r--r--source/l/sdl/libsdl-1.2.15-resizing.patch63
-rw-r--r--source/l/sdl/sdl-1.2.14-fix-mouse-clicking.patch23
-rwxr-xr-xsource/l/sdl/sdl.SlackBuild13
-rw-r--r--source/l/sdl/sdl.linux-2.6.31.input_absinfo.diff38
-rwxr-xr-xsource/l/shared-desktop-ontologies/shared-desktop-ontologies.SlackBuild2
-rw-r--r--source/l/shared-desktop-ontologies/slack-desc2
-rwxr-xr-xsource/l/sip/sip.SlackBuild2
-rwxr-xr-xsource/l/slang/slang.SlackBuild25
-rwxr-xr-xsource/l/soprano/soprano.SlackBuild3
-rwxr-xr-xsource/l/startup-notification/startup-notification.SlackBuild2
-rwxr-xr-xsource/l/system-config-printer/system-config-printer.SlackBuild4
-rwxr-xr-xsource/l/taglib/taglib.SlackBuild5
-rwxr-xr-xsource/l/v4l-utils/v4l-utils.SlackBuild33
-rw-r--r--source/l/virtuoso-ose/virtuoso-opensource-6.1.3.unicode.patch16
-rwxr-xr-xsource/l/virtuoso-ose/virtuoso-ose.SlackBuild10
-rwxr-xr-xsource/n/ModemManager/ModemManager.SlackBuild26
-rw-r--r--source/n/ModemManager/WeDoNotHaveSystemD.patch16
-rw-r--r--source/n/ModemManager/slack-desc4
-rw-r--r--source/n/NetworkManager/11-initialize-nm-remote-settings.patch27
-rwxr-xr-xsource/n/NetworkManager/NetworkManager.SlackBuild35
-rw-r--r--source/n/NetworkManager/doinst.sh10
-rw-r--r--source/n/NetworkManager/rc.networkmanager105
-rw-r--r--source/n/NetworkManager/slack-desc2
-rwxr-xr-xsource/n/alpine/alpine.SlackBuild12
-rw-r--r--source/n/alpine/slack-desc.alpine2
-rw-r--r--source/n/autofs/autofs-5.0.5-fix-libxml2-workaround-configure.patch61
-rw-r--r--source/n/autofs/autofs-5.0.7.tar.sign17
-rwxr-xr-xsource/n/autofs/autofs.SlackBuild14
-rw-r--r--source/n/autofs/autofs.sasl.diff29
-rwxr-xr-xsource/n/bind/bind.SlackBuild4
-rw-r--r--source/n/bind/caching-example/named.root6
-rw-r--r--source/n/bluez/bluez-run_udev_helper.patch14
-rwxr-xr-xsource/n/bluez/bluez.SlackBuild11
-rw-r--r--source/n/bluez/config/bluetooth.sh7
-rwxr-xr-xsource/n/ca-certificates/ca-certificates.SlackBuild13
-rw-r--r--source/n/ca-certificates/patches/fixup_DESTDIR.diff55
-rw-r--r--source/n/ca-certificates/patches/remove_debconf.diff12
-rwxr-xr-xsource/n/conntrack-tools/conntrack-tools.SlackBuild104
-rw-r--r--source/n/conntrack-tools/slack-desc19
-rw-r--r--source/n/curl/cacert.pem568
-rw-r--r--source/n/curl/curl-7.27.0_curl-config_syntax_fix.diff15
-rwxr-xr-xsource/n/curl/curl.SlackBuild10
-rw-r--r--source/n/cyrus-sasl/cyrus-sasl-2.1.23-glibc217-crypt.diff105
-rwxr-xr-xsource/n/cyrus-sasl/cyrus-sasl.SlackBuild7
-rw-r--r--source/n/cyrus-sasl/rc.saslauthd2
-rw-r--r--source/n/dhcpcd/define-SERVICEstuff-for-Slackware.patch32
-rwxr-xr-xsource/n/dhcpcd/dhcpcd.SlackBuild9
-rw-r--r--source/n/dhcpcd/patches/Actually-validate-the-search-list.patch25
-rw-r--r--source/n/dhcpcd/patches/dhcpcd.conf-Don-t-invoke-wpa_supplicant-by-default.patch26
-rw-r--r--source/n/ebtables/doinst.sh15
-rwxr-xr-xsource/n/ebtables/ebtables.SlackBuild104
-rw-r--r--source/n/ebtables/slack-desc19
-rwxr-xr-xsource/n/epic5/epic5.SlackBuild12
-rw-r--r--source/n/ethtool/ethtool-3.10.tar.sign11
-rwxr-xr-xsource/n/gnupg/gnupg.SlackBuild5
-rwxr-xr-xsource/n/gnutls/gnutls.SlackBuild1
-rwxr-xr-xsource/n/httpd/httpd.SlackBuild2
-rw-r--r--source/n/httpd/httpd.url4
-rw-r--r--source/n/iproute2/fixup-for-x86_64.diff12
-rw-r--r--source/n/iproute2/iproute2-3.10.0.tar.signbin0 -> 543 bytes
-rwxr-xr-xsource/n/iproute2/iproute2.SlackBuild11
-rwxr-xr-xsource/n/ipset/ipset.SlackBuild117
-rw-r--r--source/n/ipset/slack-desc19
-rwxr-xr-xsource/n/iptables/iptables.SlackBuild8
-rwxr-xr-xsource/n/iptraf-ng/iptraf-ng.SlackBuild21
-rwxr-xr-xsource/n/iputils/iputils.SlackBuild27
-rwxr-xr-xsource/n/irssi/irssi.SlackBuild4
-rwxr-xr-xsource/n/libmbim/libmbim.SlackBuild130
-rw-r--r--source/n/libmbim/slack-desc19
-rwxr-xr-xsource/n/libmnl/libmnl.SlackBuild117
-rw-r--r--source/n/libmnl/slack-desc19
-rwxr-xr-xsource/n/libnetfilter_acct/libnetfilter_acct.SlackBuild96
-rw-r--r--source/n/libnetfilter_acct/slack-desc19
-rwxr-xr-xsource/n/libnetfilter_conntrack/libnetfilter_conntrack.SlackBuild96
-rw-r--r--source/n/libnetfilter_conntrack/slack-desc19
-rwxr-xr-xsource/n/libnetfilter_cthelper/libnetfilter_cthelper.SlackBuild96
-rw-r--r--source/n/libnetfilter_cthelper/slack-desc19
-rwxr-xr-xsource/n/libnetfilter_cttimeout/libnetfilter_cttimeout.SlackBuild96
-rw-r--r--source/n/libnetfilter_cttimeout/slack-desc19
-rwxr-xr-xsource/n/libnetfilter_log/libnetfilter_log.SlackBuild96
-rw-r--r--source/n/libnetfilter_log/slack-desc19
-rwxr-xr-xsource/n/libnetfilter_queue/libnetfilter_queue.SlackBuild96
-rw-r--r--source/n/libnetfilter_queue/slack-desc19
-rwxr-xr-xsource/n/libnfnetlink/libnfnetlink.SlackBuild96
-rw-r--r--source/n/libnfnetlink/slack-desc19
-rwxr-xr-xsource/n/libqmi/libqmi.SlackBuild130
-rw-r--r--source/n/libqmi/slack-desc19
-rwxr-xr-xsource/n/links/links.SlackBuild4
-rwxr-xr-xsource/n/mtr/mtr.SlackBuild2
-rwxr-xr-xsource/n/mutt/mutt.SlackBuild8
-rw-r--r--source/n/mutt/mutt.gpgme.diff34
-rwxr-xr-xsource/n/net-snmp/net-snmp.SlackBuild5
-rwxr-xr-xsource/n/netkit-ftp/netkit-ftp.SlackBuild2
-rwxr-xr-xsource/n/network-scripts/network-scripts.SlackBuild6
-rw-r--r--source/n/network-scripts/scripts/netconfig6
-rw-r--r--source/n/network-scripts/scripts/rc.inet1.conf2
-rw-r--r--source/n/network-scripts/scripts/rc.ip_forward22
-rwxr-xr-xsource/n/nfacct/nfacct.SlackBuild98
-rw-r--r--source/n/nfacct/slack-desc19
-rw-r--r--source/n/nfs-utils/doinst.sh1
-rw-r--r--source/n/nfs-utils/nfs-utils-1.2.3.tar.sign8
-rw-r--r--source/n/nfs-utils/nfs-utils-1.2.8.tar.signbin0 -> 543 bytes
-rwxr-xr-xsource/n/nfs-utils/nfs-utils.SlackBuild11
-rwxr-xr-xsource/n/nmap/nmap.SlackBuild8
-rw-r--r--source/n/ntp/doinst.sh12
-rwxr-xr-xsource/n/ntp/ntp.SlackBuild2
-rw-r--r--source/n/ntp/rc.ntpd15
-rwxr-xr-xsource/n/obex-data-server/obex-data-server.SlackBuild2
-rwxr-xr-xsource/n/obexftp/obexftp.SlackBuild2
-rwxr-xr-xsource/n/openssh/openssh.SlackBuild2
-rwxr-xr-xsource/n/openssl/openssl.SlackBuild4
-rwxr-xr-xsource/n/openvpn/openvpn.SlackBuild8
-rwxr-xr-xsource/n/p11-kit/p11-kit.SlackBuild2
-rw-r--r--source/n/php/doinst.sh4
-rwxr-xr-xsource/n/php/fetch-php.sh2
-rw-r--r--source/n/php/init.d.php-fpm.in.diff11
-rwxr-xr-xsource/n/php/php.SlackBuild13
-rw-r--r--source/n/popa3d/popa3d-1.0.2-crypt.diff50
-rwxr-xr-xsource/n/popa3d/popa3d.SlackBuild7
-rwxr-xr-xsource/n/ppp/ppp.SlackBuild10
-rw-r--r--source/n/ppp/ppp.crypt.diff64
-rwxr-xr-xsource/n/proftpd/proftpd.SlackBuild10
-rwxr-xr-xsource/n/rfkill/rfkill.SlackBuild2
-rwxr-xr-xsource/n/rp-pppoe/rp-pppoe.SlackBuild7
-rw-r--r--source/n/samba/doinst.sh1
-rwxr-xr-xsource/n/samba/prune-samba.sh33
-rw-r--r--source/n/samba/pytalloc-util.pc11
-rwxr-xr-xsource/n/samba/samba.SlackBuild152
-rw-r--r--source/n/samba/smb.conf.default70
-rw-r--r--source/n/samba/smb.conf.default.orig70
-rw-r--r--source/n/samba/smb.conf.diff8
-rw-r--r--source/n/samba/talloc.pc6
-rw-r--r--source/n/sendmail/8.14.5.auth2.p023
-rwxr-xr-xsource/n/sendmail/SlackBuild-sendmail11
-rwxr-xr-xsource/n/sendmail/SlackBuild-sendmail-cf6
-rwxr-xr-xsource/n/slrn/slrn.SlackBuild8
-rw-r--r--source/n/tcpdump/slack-desc2
-rw-r--r--source/n/tftp-hpa/tftp-hpa-0.49.tar.bz2.sign8
-rw-r--r--source/n/tftp-hpa/tftp-hpa-5.2.tar.sign17
-rwxr-xr-xsource/n/tftp-hpa/tftp-hpa.SlackBuild6
-rw-r--r--source/n/tin/tin-1.8.3.tar.bz2.sign9
-rwxr-xr-xsource/n/tin/tin.SlackBuild8
-rw-r--r--source/n/ulogd/doinst.sh28
-rw-r--r--source/n/ulogd/rc.ulogd36
-rw-r--r--source/n/ulogd/slack-desc19
-rwxr-xr-xsource/n/ulogd/ulogd.SlackBuild114
-rwxr-xr-xsource/n/wget/wget.SlackBuild4
-rw-r--r--source/n/wireless-tools/scripts/rc.wireless2
-rw-r--r--source/n/wpa_supplicant/config/dot.config11
-rw-r--r--source/n/wpa_supplicant/patches/assoc-timeout.diff3816
-rw-r--r--source/n/wpa_supplicant/patches/flush-debug-output.diff742
-rw-r--r--source/n/wpa_supplicant/patches/include-unistd_h.diff15
-rw-r--r--source/n/wpa_supplicant/patches/libnl3-includes.diff12
-rw-r--r--source/n/wpa_supplicant/patches/quiet-scan-results-message.diff8
-rw-r--r--source/n/wpa_supplicant/patches/squelch-driver-disconnect-spam.diff95
-rwxr-xr-xsource/n/wpa_supplicant/wpa_supplicant.SlackBuild14
-rw-r--r--source/n/yptools/yp-tools-2.12.tar.bz2.sign8
-rw-r--r--source/n/yptools/yp-tools-2.14-glibc217-crypt.diff86
-rw-r--r--source/n/yptools/ypbind-mt-1.32.tar.sign8
-rw-r--r--source/n/yptools/ypserv-2.24.tar.sign8
-rwxr-xr-xsource/n/yptools/yptools.SlackBuild11
-rw-r--r--source/t/transfig/transfig.3.2.4-gcc4.patch34
-rwxr-xr-xsource/t/transfig/transfig.SlackBuild18
-rw-r--r--source/t/transfig/transfig.diff23
-rw-r--r--source/t/transfig/transfig.png14.nodither.diff11
-rw-r--r--source/t/xfig/xfig-3.2.4-mkstemp.diff331
-rw-r--r--source/t/xfig/xfig-3.2.5c.paths.diff20
-rw-r--r--source/t/xfig/xfig-3.2.5c.skip.missing.html.manpage.diff10
-rw-r--r--source/t/xfig/xfig.3.2.3d-international-std-fonts.diff49
-rw-r--r--source/t/xfig/xfig.3.2.3d-xcolor.diff10
-rw-r--r--source/t/xfig/xfig.3.2.3d-xim.diff33
-rw-r--r--source/t/xfig/xfig.3.2.4-gcc4.diff11
-rw-r--r--source/t/xfig/xfig.3.2.4-locale.diff117
-rw-r--r--source/t/xfig/xfig.3.2.4-null.diff64
-rw-r--r--source/t/xfig/xfig.3.2.4-quiet.diff183
-rw-r--r--source/t/xfig/xfig.3.2.4-urw-fonts.diff152
-rw-r--r--source/t/xfig/xfig.3.2.4.diff530
-rwxr-xr-xsource/t/xfig/xfig.SlackBuild33
-rw-r--r--source/t/xfig/xfig.docs.location.diff11
-rw-r--r--source/t/xfig/xfig.fig.ad.diff27
-rw-r--r--source/t/xfig/xfig.no.pdf.ref.diff22
-rw-r--r--source/t/xfig/xfig.no.xfig_ref_en.pdf.diff14
-rw-r--r--source/t/xfig/xfig.png14.nodither.diff11
-rwxr-xr-xsource/tcl/expect/expect.SlackBuild6
-rwxr-xr-xsource/tcl/hfsutils/hfsutils.SlackBuild5
-rwxr-xr-xsource/tcl/tcl/tcl.SlackBuild43
-rw-r--r--source/tcl/tclx/tclx-8.4.configure.diff31
-rw-r--r--source/tcl/tclx/tclx-8.4.gcc4.diff11
-rwxr-xr-xsource/tcl/tclx/tclx.SlackBuild15
-rwxr-xr-xsource/tcl/tix/tix.SlackBuild7
-rwxr-xr-xsource/tcl/tk/tk.SlackBuild28
-rw-r--r--source/x/fontconfig/doinst.sh1
-rwxr-xr-xsource/x/fontconfig/fontconfig.SlackBuild25
-rw-r--r--source/x/fontconfig/fontconfig.font.dir.list.diff40
-rwxr-xr-xsource/x/glew/glew.SlackBuild17
-rwxr-xr-xsource/x/glu/glu.SlackBuild92
-rw-r--r--source/x/glu/glu.url2
-rw-r--r--source/x/glu/slack-desc19
-rwxr-xr-xsource/x/libdrm/libdrm.SlackBuild4
-rwxr-xr-xsource/x/mesa/mesa.SlackBuild19
-rwxr-xr-xsource/x/mtdev/mtdev.SlackBuild2
-rw-r--r--source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-application.cpp.patch11
-rw-r--r--source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.cpp.patch48
-rw-r--r--source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.h.patch24
-rw-r--r--source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent.cpp.patch30
-rw-r--r--source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-gtk.c.patch47
-rw-r--r--source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-qt.cpp.patch31
-rwxr-xr-xsource/x/scim-bridge/scim-bridge.SlackBuild156
-rw-r--r--source/x/scim-bridge/slack-desc19
-rwxr-xr-xsource/x/scim/scim.SlackBuild83
-rw-r--r--source/x/ttf-indic-fonts/COPYING340
-rw-r--r--source/x/ttf-indic-fonts/Samyak_Malayalam.ttfbin70504 -> 0 bytes
-rw-r--r--source/x/ttf-indic-fonts/Samyak_Malayalam.url4
-rw-r--r--source/x/ttf-indic-fonts/doinst.sh1
-rwxr-xr-xsource/x/ttf-indic-fonts/ttf-indic-fonts.SlackBuild30
-rw-r--r--source/x/ttf-indic-fonts/ttf-indic-fonts.copyright.diff65
-rw-r--r--source/x/wqy-zenhei-font-ttf/fixup-fontconfig-file.diff21
-rwxr-xr-xsource/x/wqy-zenhei-font-ttf/wqy-zenhei-font-ttf.SlackBuild8
-rwxr-xr-xsource/x/x11/build/increment.sh17
-rw-r--r--source/x/x11/build/xcb-util-image1
-rw-r--r--source/x/x11/build/xcompmgr1
-rw-r--r--source/x/x11/build/xdm2
-rw-r--r--source/x/x11/build/xf86-input-acecad1
-rw-r--r--source/x/x11/build/xf86-input-aiptek1
-rw-r--r--source/x/x11/build/xf86-input-joystick1
-rw-r--r--source/x/x11/build/xf86-input-keyboard (renamed from source/x/x11/build/xcb-proto)0
-rw-r--r--source/x/x11/build/xf86-input-mouse1
-rw-r--r--source/x/x11/build/xf86-input-penmount1
-rw-r--r--source/x/x11/build/xf86-input-synaptics1
-rw-r--r--source/x/x11/build/xf86-input-vmmouse (renamed from source/kde/build/calligra)0
-rw-r--r--source/x/x11/build/xf86-input-void1
-rw-r--r--source/x/x11/build/xf86-input-wacom2
-rw-r--r--source/x/x11/build/xf86-video-apm2
-rw-r--r--source/x/x11/build/xf86-video-ark1
-rw-r--r--source/x/x11/build/xf86-video-ast1
-rw-r--r--source/x/x11/build/xf86-video-ati1
-rw-r--r--source/x/x11/build/xf86-video-chips2
-rw-r--r--source/x/x11/build/xf86-video-cirrus1
-rw-r--r--source/x/x11/build/xf86-video-glint1
-rw-r--r--source/x/x11/build/xf86-video-i1281
-rw-r--r--source/x/x11/build/xf86-video-mach641
-rw-r--r--source/x/x11/build/xf86-video-mga1
-rw-r--r--source/x/x11/build/xf86-video-modesetting1
-rw-r--r--source/x/x11/build/xf86-video-neomagic1
-rw-r--r--source/x/x11/build/xf86-video-nouveau1
-rw-r--r--source/x/x11/build/xf86-video-nv1
-rw-r--r--source/x/x11/build/xf86-video-omap1
-rw-r--r--source/x/x11/build/xf86-video-openchrome1
-rw-r--r--source/x/x11/build/xf86-video-rendition1
-rw-r--r--source/x/x11/build/xf86-video-s3virge1
-rw-r--r--source/x/x11/build/xf86-video-siliconmotion1
-rw-r--r--source/x/x11/build/xf86-video-sis1
-rw-r--r--source/x/x11/build/xf86-video-sisusb2
-rw-r--r--source/x/x11/build/xf86-video-tdfx1
-rw-r--r--source/x/x11/build/xf86-video-trident1
-rw-r--r--source/x/x11/build/xf86-video-tseng2
-rw-r--r--source/x/x11/build/xf86-video-v4l2
-rw-r--r--source/x/x11/build/xf86-video-vmware1
-rw-r--r--source/x/x11/build/xf86-video-voodoo2
-rw-r--r--source/x/x11/build/xf86-video-xgi2
-rw-r--r--source/x/x11/build/xf86-video-xgixp1
-rw-r--r--source/x/x11/configure/xf86-input-vmmouse7
-rw-r--r--source/x/x11/configure/xf86-video-nouveau11
-rw-r--r--source/x/x11/configure/xorg-server2
-rw-r--r--source/x/x11/doinst.sh/xdm2
-rw-r--r--source/x/x11/makepkg/xorg-server7
-rw-r--r--source/x/x11/modularize7
-rw-r--r--source/x/x11/package-blacklist4
-rw-r--r--source/x/x11/patch/xcompmgr.patch2
-rw-r--r--source/x/x11/patch/xcompmgr/patch-XFixesSetPictureClipRegion-shadow-fix-xcompmgr.c.diff28
-rw-r--r--source/x/x11/patch/xdm.patch1
-rw-r--r--source/x/x11/patch/xdm/xdm.glibc.crypt.diff42
-rw-r--r--source/x/x11/patch/xf86-video-apm.patch7
-rw-r--r--source/x/x11/patch/xf86-video-ark.patch7
-rw-r--r--source/x/x11/patch/xf86-video-ast.patch7
-rw-r--r--source/x/x11/patch/xf86-video-chips.patch27
-rw-r--r--source/x/x11/patch/xf86-video-chips/0001-chips-gut-the-overlay-8-16-support-from-driver.patch588
-rw-r--r--source/x/x11/patch/xf86-video-chips/0002-PciTag-is-unused-when-using-libpciaccess.patch29
-rw-r--r--source/x/x11/patch/xf86-video-chips/0003-Use-malloc-calloc-realloc-free-directly.patch50
-rw-r--r--source/x/x11/patch/xf86-video-chips/0004-configure.ac-Remove-AM_PROG_CC_C_O.patch27
-rw-r--r--source/x/x11/patch/xf86-video-chips/0005-util-Consolidate-common-macros.patch283
-rw-r--r--source/x/x11/patch/xf86-video-chips/0006-Fix-implicit-declaration-of-iopl.patch35
-rw-r--r--source/x/x11/patch/xf86-video-chips/0007-Build-fix-for-ABI-Version-12.patch51
-rw-r--r--source/x/x11/patch/xf86-video-chips/0008-Fall-back-to-shadowfb-if-XAA-is-unavailable.patch31
-rw-r--r--source/x/x11/patch/xf86-video-chips/0009-Fix-for-new-vgaHW-ABI.patch25
-rw-r--r--source/x/x11/patch/xf86-video-chips/iopl.h60
-rw-r--r--source/x/x11/patch/xf86-video-dummy.patch7
-rw-r--r--source/x/x11/patch/xf86-video-geode.patch7
-rw-r--r--source/x/x11/patch/xf86-video-glint.patch7
-rw-r--r--source/x/x11/patch/xf86-video-i128.patch7
-rw-r--r--source/x/x11/patch/xf86-video-i740.patch7
-rw-r--r--source/x/x11/patch/xf86-video-neomagic.patch7
-rw-r--r--source/x/x11/patch/xf86-video-nv.patch10
-rw-r--r--source/x/x11/patch/xf86-video-r128.patch7
-rw-r--r--source/x/x11/patch/xf86-video-rendition.patch7
-rw-r--r--source/x/x11/patch/xf86-video-s3.patch7
-rw-r--r--source/x/x11/patch/xf86-video-s3virge.patch7
-rw-r--r--source/x/x11/patch/xf86-video-savage.patch7
-rw-r--r--source/x/x11/patch/xf86-video-siliconmotion.patch7
-rw-r--r--source/x/x11/patch/xf86-video-sis.patch2
-rw-r--r--source/x/x11/patch/xf86-video-sis/sis-0.10.7-git.patch121
-rw-r--r--source/x/x11/patch/xf86-video-sisusb.patch7
-rw-r--r--source/x/x11/patch/xf86-video-tdfx.patch7
-rw-r--r--source/x/x11/patch/xf86-video-tga.patch7
-rw-r--r--source/x/x11/patch/xf86-video-trident.patch7
-rw-r--r--source/x/x11/patch/xf86-video-tseng.patch7
-rw-r--r--source/x/x11/patch/xf86-video-vesa.patch7
-rw-r--r--source/x/x11/patch/xf86-video-vmware.patch7
-rw-r--r--source/x/x11/patch/xf86-video-voodoo.patch7
-rw-r--r--source/x/x11/patch/xf86-video-xgi.patch7
-rw-r--r--source/x/x11/patch/xf86-video-xgixp.patch7
-rw-r--r--source/x/x11/patch/xorg-server.patch1
-rw-r--r--source/x/x11/patch/xorg-server/xorg-server.CVE-2013-4396.diff73
-rw-r--r--source/x/x11/post-install/xdm.post-install9
-rw-r--r--source/x/x11/post-install/xsm.post-install5
-rw-r--r--source/x/x11/slack-desc/xcb-util-cursor19
-rw-r--r--source/x/x11/slack-desc/xcm19
-rw-r--r--source/x/x11/slack-desc/xf86-video-xgixp19
-rw-r--r--source/x/x11/slack-desc/xfwp19
-rw-r--r--source/x/x11/slack-desc/xproxymanagementprotocol19
-rwxr-xr-xsource/x/x11/x11.SlackBuild14
-rwxr-xr-xsource/x/xdg-utils/xdg-utils.SlackBuild6
-rw-r--r--source/x/xdg-utils/xdg-utils.mate.diff43
-rwxr-xr-xsource/xap/MPlayer/MPlayer.SlackBuild17
-rw-r--r--source/xap/MPlayer/subreader-fix-srt-parsing.patch60
-rwxr-xr-xsource/xap/audacious/audacious.SlackBuild2
-rwxr-xr-xsource/xap/blueman/blueman.SlackBuild2
-rwxr-xr-xsource/xap/ddd/ddd.SlackBuild123
-rw-r--r--source/xap/ddd/ddd.pngbin0 -> 5689 bytes
-rw-r--r--source/xap/ddd/doinst.sh4
-rw-r--r--source/xap/ddd/slack-desc19
-rw-r--r--source/xap/ddd/strclass.C.diff12
-rwxr-xr-xsource/xap/fluxbox/fluxbox.SlackBuild2
-rw-r--r--source/xap/gnuchess/doinst.sh13
-rw-r--r--source/xap/gnuchess/eboard.ldl.diff11
-rwxr-xr-xsource/xap/gnuchess/gnuchess.SlackBuild54
-rw-r--r--source/xap/gnuchess/xboard.conf.in.diff19
-rw-r--r--source/xap/gnuchess/xboard.desktop10
-rw-r--r--source/xap/gucharmap/doinst.sh12
-rwxr-xr-xsource/xap/gucharmap/gucharmap.SlackBuild5
-rwxr-xr-xsource/xap/gv/gv.SlackBuild6
-rw-r--r--source/xap/gv/gv.libXaw3d.diff11
-rwxr-xr-xsource/xap/imagemagick/imagemagick.SlackBuild10
-rw-r--r--source/xap/mozilla-firefox/firefox.pngbin24263 -> 0 bytes
-rwxr-xr-xsource/xap/mozilla-firefox/mozilla-firefox.SlackBuild191
-rw-r--r--source/xap/mozilla-firefox/mozilla-firefox.desktop2
-rwxr-xr-xsource/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild8
-rw-r--r--source/xap/network-manager-applet/doinst.sh16
-rwxr-xr-xsource/xap/network-manager-applet/network-manager-applet.SlackBuild23
-rwxr-xr-xsource/xap/pan/pan.SlackBuild2
-rw-r--r--source/xap/pidgin/link-libirc-to-libsasl2.patch65
-rwxr-xr-xsource/xap/pidgin/pidgin.SlackBuild6
-rw-r--r--source/xap/rdesktop/rdesktop-1.8.0-fix-missing-ui.diff77
-rwxr-xr-xsource/xap/rdesktop/rdesktop.SlackBuild9
-rw-r--r--source/xap/sane/sane-backends-1.0.22-v4l.diff64
-rwxr-xr-xsource/xap/sane/sane.SlackBuild27
-rw-r--r--source/xap/seamonkey/pkgconfig/seamonkey-js.pc11
-rwxr-xr-xsource/xap/seamonkey/seamonkey.SlackBuild19
-rw-r--r--source/xap/seamonkey/seamonkey.desktop1
-rwxr-xr-xsource/xap/windowmaker/windowmaker.SlackBuild5
-rwxr-xr-xsource/xap/xchat/xchat.SlackBuild9
-rw-r--r--source/xap/xchat/xchat.glib.g.diff47
-rwxr-xr-xsource/xap/xine-lib/xine-lib.SlackBuild2
-rw-r--r--source/xap/xine-ui/xine-ui-0.99.7-upstream_fix-1.patch27
-rwxr-xr-xsource/xap/xine-ui/xine-ui.SlackBuild6
-rw-r--r--source/xap/xine-ui/xine-ui.no.deprecated.curl.headers.diff11
-rwxr-xr-xsource/xap/xlockmore/xlockmore.SlackBuild2
-rwxr-xr-xsource/xap/xmms/xmms.SlackBuild7
-rw-r--r--source/xap/xmms/xmms.alsa.default.diff11
-rw-r--r--source/xap/xpdf/lang/xpdf-arabic.diff6
-rw-r--r--source/xap/xpdf/lang/xpdf-chinese-simplified.diff10
-rw-r--r--source/xap/xpdf/lang/xpdf-chinese-traditional.diff10
-rw-r--r--source/xap/xpdf/lang/xpdf-cyrillic.diff6
-rw-r--r--source/xap/xpdf/lang/xpdf-greek.diff6
-rw-r--r--source/xap/xpdf/lang/xpdf-hebrew.diff6
-rw-r--r--source/xap/xpdf/lang/xpdf-japanese.diff90
-rw-r--r--source/xap/xpdf/lang/xpdf-korean.diff10
-rw-r--r--source/xap/xpdf/lang/xpdf-latin2.diff6
-rw-r--r--source/xap/xpdf/lang/xpdf-thai.diff6
-rw-r--r--source/xap/xpdf/lang/xpdf-turkish.diff6
-rw-r--r--source/xap/xpdf/patches/03-float.patch25
-rw-r--r--source/xap/xpdf/patches/xpdf-3.02pl1.patch33
-rw-r--r--source/xap/xpdf/patches/xpdf-3.02pl2.patch823
-rw-r--r--source/xap/xpdf/patches/xpdf-3.02pl3.patch1145
-rw-r--r--source/xap/xpdf/patches/xpdf-3.02pl4.patch282
-rw-r--r--source/xap/xpdf/patches/xpdf-3.02pl5.patch41
-rw-r--r--source/xap/xpdf/patches/xpdf-3.02pl6.patch1
-rw-r--r--source/xap/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff55
-rw-r--r--source/xap/xpdf/patches/xpdf-resizefix.diff34
-rw-r--r--source/xap/xpdf/patches/xpdf.XPDFViewer.diff11
-rw-r--r--source/xap/xpdf/patches/xpdf_3.02-1.3.diff4470
-rw-r--r--source/xap/xpdf/patches/xpdfrc.diff64
-rwxr-xr-xsource/xap/xpdf/xpdf.SlackBuild25
-rwxr-xr-xsource/xap/xsane/xsane.SlackBuild2
-rwxr-xr-xsource/xap/xscreensaver/dump.osx.sources.sh13
-rw-r--r--source/xap/xscreensaver/slack-desc2
-rwxr-xr-xsource/xap/xscreensaver/xscreensaver.SlackBuild4
-rw-r--r--source/xap/xxgdb/slack-desc19
-rw-r--r--source/xap/xxgdb/xxgdb-1.08-glibc.patch10
-rw-r--r--source/xap/xxgdb/xxgdb-1.12-debian-filemenu.patch10
-rw-r--r--source/xap/xxgdb/xxgdb-1.12-debian-pty.patch76
-rw-r--r--source/xap/xxgdb/xxgdb-1.12-mandriva.patch993
-rw-r--r--source/xap/xxgdb/xxgdb-1.12-sysv.patch24
-rwxr-xr-xsource/xap/xxgdb/xxgdb.SlackBuild118
-rwxr-xr-xsource/xfce/Terminal/Terminal.SlackBuild120
-rw-r--r--source/xfce/Terminal/slack-desc19
-rwxr-xr-xsource/xfce/Thunar/Thunar.SlackBuild4
-rwxr-xr-xsource/xfce/exo/exo.SlackBuild8
-rw-r--r--source/xfce/exo/exo.magnet.uri.diff49
-rwxr-xr-xsource/xfce/libxfce4ui/libxfce4ui.SlackBuild2
-rwxr-xr-xsource/xfce/libxfcegui4/libxfcegui4.SlackBuild2
-rwxr-xr-xsource/xfce/orage/orage.SlackBuild2
-rw-r--r--source/xfce/tumbler/set-gststate-on-error.diff23
-rwxr-xr-xsource/xfce/tumbler/tumbler.SlackBuild6
-rwxr-xr-xsource/xfce/xfce-build-all.sh2
-rwxr-xr-xsource/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.SlackBuild2
-rwxr-xr-xsource/xfce/xfce4-notifyd/xfce4-notifyd.SlackBuild2
-rwxr-xr-xsource/xfce/xfce4-panel/xfce4-panel.SlackBuild2
-rwxr-xr-xsource/xfce/xfce4-power-manager/xfce4-power-manager.SlackBuild2
-rwxr-xr-xsource/xfce/xfce4-screenshooter/xfce4-screenshooter.SlackBuild2
-rwxr-xr-xsource/xfce/xfce4-session/xfce4-session.SlackBuild8
-rwxr-xr-xsource/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.SlackBuild2
-rwxr-xr-xsource/xfce/xfce4-taskmanager/xfce4-taskmanager.SlackBuild2
-rw-r--r--source/xfce/xfce4-terminal/slack-desc19
-rwxr-xr-xsource/xfce/xfce4-terminal/xfce4-terminal.SlackBuild120
-rwxr-xr-xsource/xfce/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild3
-rwxr-xr-xsource/xfce/xfwm4/xfwm4.SlackBuild2
1747 files changed, 209052 insertions, 178385 deletions
diff --git a/source/a/aaa_base/aaa_base.SlackBuild b/source/a/aaa_base/aaa_base.SlackBuild
index b41e95454..eb67560f2 100755
--- a/source/a/aaa_base/aaa_base.SlackBuild
+++ b/source/a/aaa_base/aaa_base.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,8 +20,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=14.0
-BUILD=${BUILD:-5}
+VERSION=14.1
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/a/aaa_base/os-release b/source/a/aaa_base/os-release
index 717dbbf8c..2f64cbf7c 100644
--- a/source/a/aaa_base/os-release
+++ b/source/a/aaa_base/os-release
@@ -1,10 +1,10 @@
NAME=Slackware
-VERSION="14.0"
+VERSION="14.1"
ID=slackware
-VERSION_ID=14.0
-PRETTY_NAME="Slackware 14.0"
+VERSION_ID=14.1
+PRETTY_NAME="Slackware 14.1"
ANSI_COLOR="0;34"
-CPE_NAME="cpe:/o:slackware:slackware_linux:14.0"
+CPE_NAME="cpe:/o:slackware:slackware_linux:14.1"
HOME_URL="http://slackware.com/"
SUPPORT_URL="http://www.linuxquestions.org/questions/slackware-14/"
BUG_REPORT_URL="http://www.linuxquestions.org/questions/slackware-14/"
diff --git a/source/a/aaa_base/slackware-version b/source/a/aaa_base/slackware-version
index bd93610e1..1147d2973 100644
--- a/source/a/aaa_base/slackware-version
+++ b/source/a/aaa_base/slackware-version
@@ -1 +1 @@
-Slackware 14.0
+Slackware 14.1
diff --git a/source/a/aaa_elflibs/aaa_elflibs.SlackBuild b/source/a/aaa_elflibs/aaa_elflibs.SlackBuild
index 20a343d2d..8fd9f3fe8 100755
--- a/source/a/aaa_elflibs/aaa_elflibs.SlackBuild
+++ b/source/a/aaa_elflibs/aaa_elflibs.SlackBuild
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,8 +21,8 @@
PKGNAM=aaa_elflibs
-VERSION=${VERSION:-14.0}
-BUILD=${BUILD:-4}
+VERSION=${VERSION:-14.1}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/a/aaa_elflibs/symlinks-to-tracked-libs b/source/a/aaa_elflibs/symlinks-to-tracked-libs
index 38a44e9e9..f19a6b9e8 100644
--- a/source/a/aaa_elflibs/symlinks-to-tracked-libs
+++ b/source/a/aaa_elflibs/symlinks-to-tracked-libs
@@ -6,6 +6,7 @@
/lib/libdm.so.0
/lib/libfuse.so.2
/lib/libgpm.so.1
+/lib/libgpm.so.2
/lib/liblzma.so.5
/lib/libncurses.so.5
/lib/libncursesw.so.5
@@ -44,11 +45,11 @@
/usr/lib/libmenu.so.5
/usr/lib/libmenuw.so.5
/usr/lib/libmm.so.14
-/usr/lib/libmp.so.3
/usr/lib/libmpfr.so.1
/usr/lib/libpanel.so.5
/usr/lib/libpanelw.so.5
/usr/lib/libpcre.so.0
+/usr/lib/libpcre.so.1
/usr/lib/libpcreposix.so.0
/usr/lib/libpng.so.3
/usr/lib/libpng.so.14
diff --git a/source/a/aaa_elflibs/tracked-files b/source/a/aaa_elflibs/tracked-files
index 040ecbbcd..16b731ba0 100644
--- a/source/a/aaa_elflibs/tracked-files
+++ b/source/a/aaa_elflibs/tracked-files
@@ -6,4 +6,3 @@
/usr/lib/libcups.so.2
/usr/lib/libcupsimage.so.2
/usr/lib/libgcc_s.so.1
-/usr/lib/libtalloc.so.2
diff --git a/source/a/acpid/slack-desc b/source/a/acpid/slack-desc
index 1b065fcee..a458e9f31 100644
--- a/source/a/acpid/slack-desc
+++ b/source/a/acpid/slack-desc
@@ -15,5 +15,5 @@ acpid: order to make the Linux ACPI support completely functional.
acpid:
acpid: ACPI must be compiled into the kernel to run acpid.
acpid:
-acpid: Homepage: http://www.tedfelix.com/linux/acpid-netlink.html
+acpid: Homepage: http://sourceforge.net/projects/acpid2/
acpid:
diff --git a/source/a/bash/bash-4.2-patches/bash42-038 b/source/a/bash/bash-4.2-patches/bash42-038
new file mode 100644
index 000000000..411e4dd54
--- /dev/null
+++ b/source/a/bash/bash-4.2-patches/bash42-038
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-038
+
+Bug-Reported-by: armandsl@gmail.com
+Bug-Reference-ID: <20120822112810.8D14920040@windmill.latviatours.lv>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-08/msg00049.html
+
+Bug-Description:
+
+If a backslash-newline (which is removed) with no other input is given as
+input to `read', the shell tries to dereference a null pointer and seg faults.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/builtins/read.def 2012-03-11 17:52:44.000000000 -0400
+--- builtins/read.def 2012-08-22 11:53:09.000000000 -0400
+***************
+*** 792,796 ****
+ #endif
+
+! if (saw_escape)
+ {
+ t = dequote_string (input_string);
+--- 847,851 ----
+ #endif
+
+! if (saw_escape && input_string && *input_string)
+ {
+ t = dequote_string (input_string);
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 37
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 38
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-039 b/source/a/bash/bash-4.2-patches/bash42-039
new file mode 100644
index 000000000..21457af12
--- /dev/null
+++ b/source/a/bash/bash-4.2-patches/bash42-039
@@ -0,0 +1,58 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-039
+
+Bug-Reported-by: Dan Douglas <ormaaj@gmail.com>
+Bug-Reference-ID: <1498458.MpVlmOXDB7@smorgbox>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-09/msg00008.html
+
+Bug-Description:
+
+Under certain circumstances, bash attempts to expand variables in arithmetic
+expressions even when evaluation is being suppressed.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/expr.c 2011-11-21 18:03:35.000000000 -0500
+--- expr.c 2012-09-09 16:31:18.000000000 -0400
+***************
+*** 1010,1013 ****
+--- 1073,1082 ----
+ #endif
+
++ /*itrace("expr_streval: %s: noeval = %d", tok, noeval);*/
++ /* If we are suppressing evaluation, just short-circuit here instead of
++ going through the rest of the evaluator. */
++ if (noeval)
++ return (0);
++
+ /* [[[[[ */
+ #if defined (ARRAY_VARS)
+***************
+*** 1183,1186 ****
+--- 1256,1263 ----
+
+ *cp = '\0';
++ /* XXX - watch out for pointer aliasing issues here */
++ if (curlval.tokstr && curlval.tokstr == tokstr)
++ init_lvalue (&curlval);
++
+ FREE (tokstr);
+ tokstr = savestring (tp);
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 38
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 39
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-040 b/source/a/bash/bash-4.2-patches/bash42-040
new file mode 100644
index 000000000..1de0fe370
--- /dev/null
+++ b/source/a/bash/bash-4.2-patches/bash42-040
@@ -0,0 +1,56 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-040
+
+Bug-Reported-by: Andrey Zaitsev <jstcdr@gmail.com>
+Bug-Reference-ID: <CAEZVQT5PJ1Mb_Zh8LT5qz8sv+-9Q6hGfQ5DU9ZxdJ+gV7xBUaQ@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00144.html
+
+Bug-Description:
+
+Output redirection applied to builtin commands missed I/O errors if
+they happened when the file descriptor was closed, rather than on write
+(e.g., like with an out-of-space error on a remote NFS file system).
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/redir.c 2011-01-02 16:00:31.000000000 -0500
+--- redir.c 2012-04-24 20:42:12.000000000 -0400
+***************
+*** 1092,1099 ****
+ #if defined (BUFFERED_INPUT)
+ check_bash_input (redirector);
+! close_buffered_fd (redirector);
+ #else /* !BUFFERED_INPUT */
+! close (redirector);
+ #endif /* !BUFFERED_INPUT */
+ }
+ break;
+--- 1092,1101 ----
+ #if defined (BUFFERED_INPUT)
+ check_bash_input (redirector);
+! r = close_buffered_fd (redirector);
+ #else /* !BUFFERED_INPUT */
+! r = close (redirector);
+ #endif /* !BUFFERED_INPUT */
++ if (r < 0 && (flags & RX_INTERNAL) && (errno == EIO || errno == ENOSPC))
++ REDIRECTION_ERROR (r, errno, -1);
+ }
+ break;
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 39
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 40
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-041 b/source/a/bash/bash-4.2-patches/bash42-041
new file mode 100644
index 000000000..37d4ac704
--- /dev/null
+++ b/source/a/bash/bash-4.2-patches/bash42-041
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-041
+
+Bug-Reported-by: Andrey Borzenkov <arvidjaar@gmail.com>
+Bug-Reference-ID: <20121202205200.2134478e@opensuse.site>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-12/msg00008.html
+
+Bug-Description:
+
+Process substitution incorrectly inherited a flag that inhibited using the
+(local) temporary environment for variable lookups if it was providing
+the filename to a redirection. The intent the flag is to enforce the
+Posix command expansion ordering rules.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/subst.c 2012-07-14 15:53:20.000000000 -0400
+--- subst.c 2012-12-02 22:26:54.000000000 -0500
+***************
+*** 5125,5128 ****
+--- 5129,5136 ----
+ #endif /* HAVE_DEV_FD */
+
++ /* subshells shouldn't have this flag, which controls using the temporary
++ environment for variable lookups. */
++ expanding_redir = 0;
++
+ result = parse_and_execute (string, "process substitution", (SEVAL_NONINT|SEVAL_NOHIST));
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 40
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 41
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-042 b/source/a/bash/bash-4.2-patches/bash42-042
new file mode 100644
index 000000000..1ce0cae30
--- /dev/null
+++ b/source/a/bash/bash-4.2-patches/bash42-042
@@ -0,0 +1,57 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-042
+
+Bug-Reported-by: Adam Pippin <adam@gp-inc.ca>
+Bug-Reference-ID: <CAPYbNHr6ucZFOoWsRdUJj6KP3Ju0j1bkESa_cmb7iU+kZwdVpg@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-11/msg00087.html
+
+Bug-Description:
+
+Compilation failed after specifying the `--enable-minimal-config' option to
+configure (more specifically, specifying `--disable-alias').
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/parse.y 2012-07-08 21:53:33.000000000 -0400
+--- parse.y 2012-10-14 20:20:34.000000000 -0400
+***************
+*** 2394,2397 ****
+--- 2392,2396 ----
+ to consume the quoted newline and move to the next character in
+ the expansion. */
++ #if defined (ALIAS)
+ if (expanding_alias () && shell_input_line[shell_input_line_index+1] == '\0')
+ {
+***************
+*** 2404,2408 ****
+ goto next_alias_char; /* and get next character */
+ }
+! else
+ goto restart_read;
+ }
+--- 2403,2408 ----
+ goto next_alias_char; /* and get next character */
+ }
+! else
+! #endif
+ goto restart_read;
+ }
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 41
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 42
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-043 b/source/a/bash/bash-4.2-patches/bash42-043
new file mode 100644
index 000000000..b25a5ee38
--- /dev/null
+++ b/source/a/bash/bash-4.2-patches/bash42-043
@@ -0,0 +1,65 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-043
+
+Bug-Reported-by: konsolebox <konsolebox@gmail.com>
+Bug-Reference-ID: <CAJnmqwZuGKLgMsMwxRK4LL+2NN+HgvmKzrnode99QBGrcgX1Lw@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-01/msg00138.html
+
+Bug-Description:
+
+When SIGCHLD is trapped, and a SIGCHLD trap handler runs when a pending
+`read -t' invocation times out and generates SIGALRM, bash can crash with
+a segmentation fault.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/builtins/read.def 2012-10-31 21:22:51.000517000 -0400
+--- builtins/read.def 2013-01-25 10:28:16.000038000 -0500
+***************
+*** 386,393 ****
+ /* Tricky. The top of the unwind-protect stack is the free of
+ input_string. We want to run all the rest and use input_string,
+! so we have to remove it from the stack. */
+! remove_unwind_protect ();
+! run_unwind_frame ("read_builtin");
+ input_string[i] = '\0'; /* make sure it's terminated */
+ retval = 128+SIGALRM;
+ goto assign_vars;
+--- 386,403 ----
+ /* Tricky. The top of the unwind-protect stack is the free of
+ input_string. We want to run all the rest and use input_string,
+! so we have to save input_string temporarily, run the unwind-
+! protects, then restore input_string so we can use it later. */
+!
+ input_string[i] = '\0'; /* make sure it's terminated */
++ if (i == 0)
++ {
++ t = (char *)xmalloc (1);
++ t[0] = 0;
++ }
++ else
++ t = savestring (input_string);
++
++ run_unwind_frame ("read_builtin");
++ input_string = t;
+ retval = 128+SIGALRM;
+ goto assign_vars;
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 42
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 43
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-044 b/source/a/bash/bash-4.2-patches/bash42-044
new file mode 100644
index 000000000..e5bf28323
--- /dev/null
+++ b/source/a/bash/bash-4.2-patches/bash42-044
@@ -0,0 +1,70 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-044
+
+Bug-Reported-by: "Dashing" <dashing@hushmail.com>
+Bug-Reference-ID: <20130211175049.D90786F446@smtp.hushmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-02/msg00030.html
+
+Bug-Description:
+
+When converting a multibyte string to a wide character string as part of
+pattern matching, bash does not handle the end of the string correctly,
+causing the search for the NUL to go beyond the end of the string and
+reference random memory. Depending on the contents of that memory, bash
+can produce errors or crash.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/lib/glob/xmbsrtowcs.c 2012-07-08 21:53:19.000000000 -0400
+--- lib/glob/xmbsrtowcs.c 2013-02-12 12:00:39.000000000 -0500
+***************
+*** 217,220 ****
+--- 217,226 ----
+ n = mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state);
+
++ if (n == 0 && p == 0)
++ {
++ wsbuf[wcnum] = L'\0';
++ break;
++ }
++
+ /* Compensate for taking single byte on wcs conversion failure above. */
+ if (wcslength == 1 && (n == 0 || n == (size_t)-1))
+***************
+*** 222,226 ****
+ state = tmp_state;
+ p = tmp_p;
+! wsbuf[wcnum++] = *p++;
+ }
+ else
+--- 228,238 ----
+ state = tmp_state;
+ p = tmp_p;
+! wsbuf[wcnum] = *p;
+! if (*p == 0)
+! break;
+! else
+! {
+! wcnum++; p++;
+! }
+ }
+ else
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 43
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 44
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-045 b/source/a/bash/bash-4.2-patches/bash42-045
new file mode 100644
index 000000000..e0f8559ec
--- /dev/null
+++ b/source/a/bash/bash-4.2-patches/bash42-045
@@ -0,0 +1,53 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.2
+Patch-ID: bash42-045
+
+Bug-Reported-by: Stephane Chazelas <stephane.chazelas@gmail.com>
+Bug-Reference-ID: <20130218195539.GA9620@chaz.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-02/msg00080.html
+
+Bug-Description:
+
+The <&n- and >&n- redirections, which move one file descriptor to another,
+leave the file descriptor closed when applied to builtins or compound
+commands.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.2-patched/redir.c 2013-01-30 11:56:09.000000000 -0500
+--- redir.c 2013-02-19 09:38:36.000000000 -0500
+***************
+*** 1008,1011 ****
+--- 1008,1021 ----
+ REDIRECTION_ERROR (r, errno, -1);
+ }
++ if ((flags & RX_UNDOABLE) && (ri == r_move_input || ri == r_move_output))
++ {
++ /* r_move_input and r_move_output add an additional close()
++ that needs to be undone */
++ if (fcntl (redirector, F_GETFD, 0) != -1)
++ {
++ r = add_undo_redirect (redir_fd, r_close_this, -1);
++ REDIRECTION_ERROR (r, errno, -1);
++ }
++ }
+ #if defined (BUFFERED_INPUT)
+ check_bash_input (redirector);
+
+*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
+--- patchlevel.h Thu Feb 24 21:41:34 2011
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 44
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 45
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/btrfs-progs/btrfs-progs.SlackBuild b/source/a/btrfs-progs/btrfs-progs.SlackBuild
index 99dd753d8..710c7eba2 100755
--- a/source/a/btrfs-progs/btrfs-progs.SlackBuild
+++ b/source/a/btrfs-progs/btrfs-progs.SlackBuild
@@ -89,12 +89,14 @@ make install DESTDIR=$PKG || exit 1
# Move stuff out of /usr/local:
mv $PKG/usr/local/bin $PKG/sbin
mv $PKG/usr/local/man $PKG/usr/man
-rmdir $PKG/usr/local
-# Add an fsck.btrfs script. For now this serves to eat options such as -a
-# that would otherwise cause issues for btrfs at boot time.
-cat $CWD/fsck.btrfs > $PKG/sbin/fsck.btrfs
-chmod 755 $PKG/sbin/fsck.btrfs
+# Do not ship libraries/include files.
+# If there becomes a use for these outside of btrfs-progs, let me know.
+rm -rf $PKG/usr/local
+
+# According to https://btrfs.wiki.kernel.org/index.php/FAQ#When_will_Btrfs_have_a_fsck_like_tool.3F
+# it is not recommended to make fsck.btrfs a no-op by linking it to /bin/true:
+ln -sf /bin/true $PKG/sbin/fsck.btrfs
# Compress and link manpages, if any:
if [ -d $PKG/usr/man ]; then
diff --git a/source/a/btrfs-progs/fsck.btrfs b/source/a/btrfs-progs/fsck.btrfs
deleted file mode 100644
index 779e0b794..000000000
--- a/source/a/btrfs-progs/fsck.btrfs
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh
-
-# Copyright 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Currently, btrfsck does not recognize any options, so eat any initial options
-# beginning with '-'. Then, check the remaining args with btrfsck only if they
-# exist and are readable.
-
-# Strip initial args:
-while [ ! -z "$1" ]; do
- if [ "$(echo $1 | cut -b1)" = "-" ]; then
- shift # strip option from command line
- else
- break
- fi
-done
-
-# Main filesystem check loop:
-RETVAL=0
-while [ ! -z "$1" ]; do
- if [ -r "$1" ]; then
- echo "fsck.btrfs: Checking filesystem on $1"
- # Checking the root filesystem (even read-only) will fail, check for that:
- if ! grep -w "$1" /etc/fstab | grep -wq / ; then
- btrfsck "$1"
- ERRCODE=$?
- if [ ! $ERRCODE = 0 ]; then
- RETVAL=$ERRCODE
- fi
- else
- echo " $1 mounted on /, skipped."
- fi
- fi
- shift
-done
-
-# If there was an error, return the most recent error code:
-exit $RETVAL
-
diff --git a/source/a/cups/cups-1.5.4-usb-quirks.diff b/source/a/cups/cups-1.5.4-usb-quirks.diff
new file mode 100644
index 000000000..dfe1dab8f
--- /dev/null
+++ b/source/a/cups/cups-1.5.4-usb-quirks.diff
@@ -0,0 +1,319 @@
+From efe932a075744c1cfdf755ce8fea0870fc38a1c8 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Wed, 9 Oct 2013
+Subject: Backport usb fixes to CUPS 1.5.4
+
+ usb-libusb.c | 152 +++++++++++++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 127 insertions(+), 25 deletions(-)
+
+--- a/backend/usb-libusb.c 2012-07-16
++++ b/backend/usb-libusb.c 2013-10-09
+@@ -13,7 +13,7 @@
+ *
+ * Contents:
+ *
+- * list_devices() - List the available printers.
++ * list_devices() - List the available printers.
+ * print_device() - Print a file to a USB device.
+ * close_device() - Close the connection to the USB printer.
+ * find_device() - Find or enumerate USB printers.
+@@ -70,7 +70,7 @@ typedef struct usb_printer_s /**** USB
+ read_endp, /* Read endpoint */
+ protocol, /* Protocol: 1 = Uni-di, 2 = Bi-di. */
+ usblp_attached, /* "usblp" kernel module attached? */
+- opened_for_job; /* Set to 1 by print_device() */
++ reset_after_job; /* Set to 1 by print_device() */
+ unsigned int quirks; /* Quirks flags */
+ struct libusb_device_handle *handle; /* Open handle to device */
+ } usb_printer_t;
+@@ -122,6 +122,9 @@ struct quirk_printer_struct {
+ #define USBLP_QUIRK_USB_INIT 0x2 /* needs vendor USB init string */
+ #define USBLP_QUIRK_BAD_CLASS 0x4 /* descriptor uses vendor-specific
+ Class or SubClass */
++#define USBLP_QUIRK_BLACKLIST 0x8 /* these printers do not conform to the USB print spec */
++#define USBLP_QUIRK_RESET 0x4000 /* After printing do a reset
++ for clean-up */
+ #define USBLP_QUIRK_NO_REATTACH 0x8000 /* After printing we cannot re-attach
+ the usblp kernel module */
+
+@@ -139,17 +142,97 @@ static const struct quirk_printer_struct
+ { 0x0409, 0xbef4, USBLP_QUIRK_BIDIR }, /* NEC Picty760 (HP OEM) */
+ { 0x0409, 0xf0be, USBLP_QUIRK_BIDIR }, /* NEC Picty920 (HP OEM) */
+ { 0x0409, 0xf1be, USBLP_QUIRK_BIDIR }, /* NEC Picty800 (HP OEM) */
++ { 0x043d, 0x00f3, USBLP_QUIRK_NO_REATTACH }, /* Lexmark International,
++ Inc. (e250d), https://bugs.launchpad.net/bugs/1084164 */
++ { 0x043d, 0x00d7, USBLP_QUIRK_NO_REATTACH }, /* Lexmark E328 */
+ { 0x0482, 0x0010, USBLP_QUIRK_BIDIR }, /* Kyocera Mita FS 820,
+ by zut <kernel@zut.de> */
++ { 0x04a9, 0x1095, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP6000D
++ Printer, https://bugs.launchpad.net/bugs/1160638 */
++ { 0x04a9, 0x10a2, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP4200
++ Printer, http://www.cups.org/str.php?L4155 */
++ { 0x04a9, 0x10b6, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP4300
++ Printer, https://bugs.launchpad.net/bugs/1032385 */
++ { 0x04a9, 0x1721, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP210
++ https://bugzilla.redhat.com/show_bug.cgi?id=847923#c53 */
++ { 0x04a9, 0x170c, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP500
++ Printer, https://bugs.launchpad.net/bugs/1032456 */
++ { 0x04a9, 0x1717, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP510
++ Printer, https://bugs.launchpad.net/bugs/1050009 */
++ { 0x04a9, 0x173d, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP550
++ Printer, http://www.cups.org/str.php?L4155 */
++ { 0x04a9, 0x173e, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP560
++ Printer, http://www.cups.org/str.php?L4155 */
++ { 0x04a9, 0x26a3, USBLP_QUIRK_NO_REATTACH }, /* Canon, Inc. MF4150
++ Printer, https://bugs.launchpad.net/bugs/1160638 */
++ { 0x04f9, 0x001a, USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd
++ HL-1430 Laser Printer,
++ https://bugs.launchpad.net/bugs/1038695 */
+ { 0x04f9, 0x000d, USBLP_QUIRK_BIDIR |
+ USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd
+- HL-1440 Laser Printer */
++ HL-1440 Laser Printer,
++ https://bugs.launchpad.net/bugs/1000253 */
++ { 0x04f9, 0x000e, USBLP_QUIRK_BIDIR |
++ USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd
++ HL-1450 Laser Printer,
++ https://bugs.launchpad.net/bugs/1000253 */
++ { 0x06bc, 0x000b, USBLP_QUIRK_NO_REATTACH }, /* Oki Data Corp.
++ Okipage 14ex Printer,
++ https://bugs.launchpad.net/bugs/872483 */
++ { 0x06bc, 0x01c7, USBLP_QUIRK_NO_REATTACH }, /* Oki Data Corp. B410d,
++ https://bugs.launchpad.net/bugs/872483 */
++ { 0x04b8, 0x0001, USBLP_QUIRK_BIDIR |
++ USBLP_QUIRK_NO_REATTACH }, /* Seiko Epson Corp. Stylus Color 740 / Photo 750,
++ http://bugs.debian.org/697970 */
++ { 0x04b8, 0x0005, USBLP_QUIRK_NO_REATTACH }, /* Seiko Epson Corp. Stylus Color 670,
++ https://bugs.launchpad.net/bugs/872483 */
+ { 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt
+ Printer M129C */
+ { 0x067b, 0x2305, USBLP_QUIRK_BIDIR |
+- USBLP_QUIRK_NO_REATTACH },
++ USBLP_QUIRK_NO_REATTACH |
++ USBLP_QUIRK_RESET },
+ /* Prolific Technology, Inc. PL2305 Parallel Port
+- (USB -> Parallel adapter) */
++ (USB -> Parallel adapter), https://bugs.launchpad.net/bugs/987485 */
++ { 0x0924, 0x3ce9, USBLP_QUIRK_NO_REATTACH }, /* Xerox Phaser 3124
++ https://bugzilla.redhat.com/show_bug.cgi?id=867392 */
++ { 0x0924, 0x4293, USBLP_QUIRK_NO_REATTACH }, /* Xerox WorkCentre 3210
++ https://bugs.launchpad.net/bugs/1102470 */
++ { 0x1a86, 0x7584, USBLP_QUIRK_NO_REATTACH }, /* QinHeng Electronics
++ CH340S (USB -> Parallel adapter), https://bugs.launchpad.net/bugs/1000253 */
++ { 0x04e8, 0x0000, USBLP_QUIRK_RESET }, /* All Samsung devices,
++ https://bugs.launchpad.net/bugs/1032456 */
++ { 0x0a5f, 0x0000, USBLP_QUIRK_BIDIR }, /* All Zebra devices,
++ https://bugs.launchpad.net/bugs/1001028 */
++ /* Canon */
++ { 0x04a9, 0x304a, USBLP_QUIRK_BLACKLIST }, /* Canon CP-10 */
++ { 0x04a9, 0x3063, USBLP_QUIRK_BLACKLIST }, /* Canon CP-100 */
++ { 0x04a9, 0x307c, USBLP_QUIRK_BLACKLIST }, /* Canon CP-200 */
++ { 0x04a9, 0x307d, USBLP_QUIRK_BLACKLIST }, /* Canon CP-300 */
++ { 0x04a9, 0x30bd, USBLP_QUIRK_BLACKLIST }, /* Canon CP-220 */
++ { 0x04a9, 0x30be, USBLP_QUIRK_BLACKLIST }, /* Canon CP-330 */
++ { 0x04a9, 0x30f6, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP400 */
++ { 0x04a9, 0x310b, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP600 */
++ { 0x04a9, 0x3127, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP710 */
++ { 0x04a9, 0x3128, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP510 */
++ { 0x04a9, 0x3141, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES1 */
++ { 0x04a9, 0x3142, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP730 */
++ { 0x04a9, 0x3143, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP720 */
++ { 0x04a9, 0x3170, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP750 */
++ { 0x04a9, 0x3171, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP740 */
++ { 0x04a9, 0x3185, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES2 */
++ { 0x04a9, 0x3186, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES20 */
++ { 0x04a9, 0x31aa, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP770 */
++ { 0x04a9, 0x31ab, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP760 */
++ { 0x04a9, 0x31b0, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES30 */
++ { 0x04a9, 0x31dd, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP780 */
++ { 0x04a9, 0x31ee, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES40 */
++ { 0x04a9, 0x3214, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP800 */
++ { 0x04a9, 0x3255, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP900 */
++ { 0x04a9, 0x3256, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP810 */
++ { 0x04a9, 0x30F5, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP500 */
++ { 0x04a9, 0x31AF, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES3 */
++ { 0x04a9, 0x31DD, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP780 */
++ /* MISSING PIDs: CP520, CP530, CP790 */
+ { 0, 0 }
+ };
+
+@@ -256,7 +339,12 @@ print_device(const char *uri, /* I - De
+ }
+
+ g.print_fd = print_fd;
+- g.printer->opened_for_job = 1;
++
++ /*
++ * Some devices need a reset after finishing a job, these devices are
++ * marked with the USBLP_QUIRK_RESET quirk.
++ */
++ g.printer->reset_after_job = (g.printer->quirks & USBLP_QUIRK_RESET ? 1 : 0);
+
+ /*
+ * If we are printing data from a print driver on stdin, ignore SIGTERM
+@@ -639,10 +727,10 @@ print_device(const char *uri, /* I - De
+ * If it didn't exit abort the pending read and wait an additional
+ * second...
+ */
+-
++
+ if (!g.read_thread_done)
+ {
+- fputs("DEBUG: Read thread still active, aborting the pending read...\n",
++ fputs("DEBUG: Read thread still active, aborting the pending read...\n",
+ stderr);
+
+ g.wait_eof = 0;
+@@ -650,7 +738,7 @@ print_device(const char *uri, /* I - De
+ gettimeofday(&tv, NULL);
+ cond_timeout.tv_sec = tv.tv_sec + 1;
+ cond_timeout.tv_nsec = tv.tv_usec * 1000;
+-
++
+ while (!g.read_thread_done)
+ {
+ if (pthread_cond_timedwait(&g.read_thread_cond, &g.read_thread_mutex,
+@@ -663,9 +751,6 @@ print_device(const char *uri, /* I - De
+ pthread_mutex_unlock(&g.read_thread_mutex);
+ }
+
+- if (print_fd)
+- close(print_fd);
+-
+ /*
+ * Close the connection and input file and general clean up...
+ */
+@@ -725,7 +810,7 @@ close_device(usb_printer_t *printer) /*
+ */
+ if (printer->origconf > 0 && printer->origconf != number2)
+ {
+- fprintf(stderr, "DEBUG: Restoring USB device configuration: %d -> %d\n",
++ fprintf(stderr, "DEBUG: Restoring USB device configuration: %d -> %d\n",
+ number2, printer->origconf);
+ if ((errcode = libusb_set_configuration(printer->handle,
+ printer->origconf)) < 0)
+@@ -772,7 +857,7 @@ close_device(usb_printer_t *printer) /*
+ * Reset the device to clean up after the job
+ */
+
+- if (printer->opened_for_job == 1)
++ if (printer->reset_after_job == 1)
+ {
+ if ((errcode = libusb_reset_device(printer->handle)) < 0)
+ fprintf(stderr,
+@@ -815,7 +900,8 @@ find_device(usb_cb_t cb, /* I - Callb
+ /* Pointer to current alternate setting */
+ const struct libusb_endpoint_descriptor *endpptr = NULL;
+ /* Pointer to current endpoint */
+- ssize_t numdevs, /* number of connected devices */
++ ssize_t err = 0, /* Error code */
++ numdevs, /* number of connected devices */
+ i = 0;
+ uint8_t conf, /* Current configuration */
+ iface, /* Current interface */
+@@ -834,7 +920,14 @@ find_device(usb_cb_t cb, /* I - Callb
+ * Initialize libusb...
+ */
+
+- libusb_init(NULL);
++ err = libusb_init(NULL);
++ if (err)
++ {
++ fprintf(stderr, "DEBUG: Unable to initialize USB access via libusb, "
++ "libusb error %i\n", err);
++ return (NULL);
++ }
++
+ numdevs = libusb_get_device_list(NULL, &list);
+ fprintf(stderr, "DEBUG: libusb_get_device_list=%d\n", (int)numdevs);
+
+@@ -859,7 +952,14 @@ find_device(usb_cb_t cb, /* I - Callb
+ !devdesc.idProduct)
+ continue;
+
+- printer.quirks = quirks(devdesc.idVendor, devdesc.idProduct);
++ printer.quirks = quirks(devdesc.idVendor, devdesc.idProduct);
++
++ /*
++ * Ignore blacklisted printers...
++ */
++
++ if (printer.quirks & USBLP_QUIRK_BLACKLIST)
++ continue;
+
+ for (conf = 0; conf < devdesc.bNumConfigurations; conf ++)
+ {
+@@ -886,7 +986,7 @@ find_device(usb_cb_t cb, /* I - Callb
+ */
+
+ if (((altptr->bInterfaceClass != LIBUSB_CLASS_PRINTER ||
+- altptr->bInterfaceSubClass != 1) &&
++ altptr->bInterfaceSubClass != 1) &&
+ ((printer.quirks & USBLP_QUIRK_BAD_CLASS) == 0)) ||
+ (altptr->bInterfaceProtocol != 1 && /* Unidirectional */
+ altptr->bInterfaceProtocol != 2) || /* Bidirectional */
+@@ -964,7 +1064,7 @@ find_device(usb_cb_t cb, /* I - Callb
+ bEndpointAddress;
+ }
+ else
+- fprintf(stderr, "DEBUG: Uni-directional USB communication "
++ fprintf(stderr, "DEBUG: Uni-directional USB communication "
+ "only!\n");
+ printer.write_endp = confptr->interface[printer.iface].
+ altsetting[printer.altset].
+@@ -997,7 +1097,8 @@ find_device(usb_cb_t cb, /* I - Callb
+ * Clean up ....
+ */
+
+- libusb_free_device_list(list, 1);
++ if (numdevs >= 0)
++ libusb_free_device_list(list, 1);
+ libusb_exit(NULL);
+
+ return (NULL);
+@@ -1144,7 +1245,7 @@ make_device_uri(
+ if ((sern = cupsGetOption("SERIALNUMBER", num_values, values)) == NULL)
+ if ((sern = cupsGetOption("SERN", num_values, values)) == NULL)
+ if ((sern = cupsGetOption("SN", num_values, values)) == NULL &&
+- ((libusb_get_device_descriptor (printer->device, &devdesc) >= 0) &&
++ ((libusb_get_device_descriptor(printer->device, &devdesc) >= 0) &&
+ devdesc.iSerialNumber))
+ {
+ /*
+@@ -1288,7 +1389,7 @@ open_device(usb_printer_t *printer, /* I
+ }
+
+ printer->usblp_attached = 0;
+- printer->opened_for_job = 0;
++ printer->reset_after_job = 0;
+
+ if (verbose)
+ fputs("STATE: +connecting-to-device\n", stderr);
+@@ -1343,7 +1444,7 @@ open_device(usb_printer_t *printer, /* I
+
+ printer->origconf = current;
+
+- if ((errcode =
++ if ((errcode =
+ libusb_get_config_descriptor (printer->device, printer->conf, &confptr))
+ < 0)
+ {
+@@ -1355,7 +1456,7 @@ open_device(usb_printer_t *printer, /* I
+
+ if (number1 != current)
+ {
+- fprintf(stderr, "DEBUG: Switching USB device configuration: %d -> %d\n",
++ fprintf(stderr, "DEBUG: Switching USB device configuration: %d -> %d\n",
+ current, number1);
+ if ((errcode = libusb_set_configuration(printer->handle, number1)) < 0)
+ {
+@@ -1586,7 +1687,8 @@ static unsigned int quirks(int vendor, i
+ for (i = 0; quirk_printers[i].vendorId; i++)
+ {
+ if (vendor == quirk_printers[i].vendorId &&
+- product == quirk_printers[i].productId)
++ (quirk_printers[i].productId == 0x0000 ||
++ product == quirk_printers[i].productId))
+ return quirk_printers[i].quirks;
+ }
+ return 0;
diff --git a/source/a/cups/cups-blacklist-usblp.conf b/source/a/cups/cups-blacklist-usblp.conf
new file mode 100644
index 000000000..0ebaa9a63
--- /dev/null
+++ b/source/a/cups/cups-blacklist-usblp.conf
@@ -0,0 +1,10 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# Blacklist the (obsolete) usblp module. While the CUPS package has been
+# patched to handle if this module is loaded, there are some reports that
+# it doesn't always work. Anyway, there should be no need to have this
+# module loaded, so we'll blacklist it just in case.
+
+blacklist usblp
diff --git a/source/a/cups/cups.SlackBuild b/source/a/cups/cups.SlackBuild
index afac91324..0bb759ee5 100755
--- a/source/a/cups/cups.SlackBuild
+++ b/source/a/cups/cups.SlackBuild
@@ -23,7 +23,7 @@
# CUPS build script by volkerdi@slackware.com.
VERSION=1.5.4
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -57,7 +57,7 @@ cd cups-$VERSION || exit 1
# Fix for CUPS 1.5.4. Don't reload the obsolete usblp module, as this
# can cause partial printing with certain printers.
-zcat $CWD/usb-backend-reset-after-job-only-for-specific-devices.patch.gz | patch -p0 --verbose || exit 1
+zcat $CWD/cups-1.5.4-usb-quirks.diff.gz | patch -p1 --verbose || exit 1
sed -i.orig -e 's#$exec_prefix/lib/cups#$libdir/cups#g' configure
./configure \
@@ -76,6 +76,13 @@ mkdir -p $PKG/etc/cups
mkdir -p $PKG/var/spool
make BUILDROOT=$PKG install || exit 1
+# Blacklist the usblp module just to make sure that it doesn't cause
+# any problems:
+mkdir -p $PKG/lib/modprobe.d
+cp -a $CWD/cups-blacklist-usblp.conf $PKG/lib/modprobe.d
+chown root:root $PKG/lib/modprobe.d/cups-blacklist-usblp.conf
+chmod 644 $PKG/lib/modprobe.d/cups-blacklist-usblp.conf
+
# Hey, what's with the gigantic test files? Bloat is bad.
rm -f $PKG/usr/share/cups/ipptool/*.{pdf,ps,jpg}
diff --git a/source/a/cups/usb-backend-reset-after-job-only-for-specific-devices.patch b/source/a/cups/usb-backend-reset-after-job-only-for-specific-devices.patch
deleted file mode 100644
index dcf91c833..000000000
--- a/source/a/cups/usb-backend-reset-after-job-only-for-specific-devices.patch
+++ /dev/null
@@ -1,74 +0,0 @@
---- backend/usb-libusb.c.orig 2012-07-16 19:10:55.000000000 +0200
-+++ backend/usb-libusb.c 2012-08-06 11:01:58.034150159 +0200
-@@ -70,7 +70,7 @@
- read_endp, /* Read endpoint */
- protocol, /* Protocol: 1 = Uni-di, 2 = Bi-di. */
- usblp_attached, /* "usblp" kernel module attached? */
-- opened_for_job; /* Set to 1 by print_device() */
-+ reset_after_job; /* Set to 1 by print_device() */
- unsigned int quirks; /* Quirks flags */
- struct libusb_device_handle *handle; /* Open handle to device */
- } usb_printer_t;
-@@ -122,6 +122,8 @@
- #define USBLP_QUIRK_USB_INIT 0x2 /* needs vendor USB init string */
- #define USBLP_QUIRK_BAD_CLASS 0x4 /* descriptor uses vendor-specific
- Class or SubClass */
-+#define USBLP_QUIRK_RESET 0x4000 /* After printing do a reset
-+ for clean-up */
- #define USBLP_QUIRK_NO_REATTACH 0x8000 /* After printing we cannot re-attach
- the usblp kernel module */
-
-@@ -147,9 +149,11 @@
- { 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt
- Printer M129C */
- { 0x067b, 0x2305, USBLP_QUIRK_BIDIR |
-- USBLP_QUIRK_NO_REATTACH },
-+ USBLP_QUIRK_NO_REATTACH |
-+ USBLP_QUIRK_RESET },
- /* Prolific Technology, Inc. PL2305 Parallel Port
- (USB -> Parallel adapter) */
-+ { 0x04e8, 0x0000, USBLP_QUIRK_RESET }, /* All Samsung devices */
- { 0, 0 }
- };
-
-@@ -256,7 +260,12 @@
- }
-
- g.print_fd = print_fd;
-- g.printer->opened_for_job = 1;
-+
-+ /*
-+ * Some devices need a reset after finishing a job, these devices are
-+ * marked with the USBLP_QUIRK_RESET quirk.
-+ */
-+ g.printer->reset_after_job = (g.printer->quirks & USBLP_QUIRK_RESET ? 1 : 0);
-
- /*
- * If we are printing data from a print driver on stdin, ignore SIGTERM
-@@ -772,7 +781,7 @@
- * Reset the device to clean up after the job
- */
-
-- if (printer->opened_for_job == 1)
-+ if (printer->reset_after_job == 1)
- {
- if ((errcode = libusb_reset_device(printer->handle)) < 0)
- fprintf(stderr,
-@@ -1288,7 +1297,7 @@
- }
-
- printer->usblp_attached = 0;
-- printer->opened_for_job = 0;
-+ printer->reset_after_job = 0;
-
- if (verbose)
- fputs("STATE: +connecting-to-device\n", stderr);
-@@ -1586,7 +1595,7 @@
- for (i = 0; quirk_printers[i].vendorId; i++)
- {
- if (vendor == quirk_printers[i].vendorId &&
-- product == quirk_printers[i].productId)
-+ (product == 0x0000 || product == quirk_printers[i].productId))
- return quirk_printers[i].quirks;
- }
- return 0;
diff --git a/source/a/cxxlibs/cxxlibs.SlackBuild b/source/a/cxxlibs/cxxlibs.SlackBuild
index b795d2738..4de69818d 100755
--- a/source/a/cxxlibs/cxxlibs.SlackBuild
+++ b/source/a/cxxlibs/cxxlibs.SlackBuild
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,7 +21,7 @@
PKGNAM=cxxlibs
-VERSION=${VERSION:-6.0.17}
+VERSION=${VERSION:-6.0.18}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
diff --git a/source/a/dbus/dbus-1.4.x-allow_root_globally.diff b/source/a/dbus/dbus-1.4.x-allow_root_globally.diff
deleted file mode 100644
index 6bd84833f..000000000
--- a/source/a/dbus/dbus-1.4.x-allow_root_globally.diff
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -Nur dbus-1.4.0.orig//bus/system.conf.in dbus-1.4.0//bus/system.conf.in
---- dbus-1.4.0.orig//bus/system.conf.in 2010-08-31 16:44:19.000000000 -0500
-+++ dbus-1.4.0//bus/system.conf.in 2010-09-14 09:17:56.080373096 -0500
-@@ -70,6 +70,14 @@
- send_member="UpdateActivationEnvironment"/>
- </policy>
-
-+ <!-- Allow root to do anything over the messagebus.
-+ Don't whine about "security" - anyone with root privileges
-+ can edit this file anyway, so -ENOHOLE here. -->
-+ <policy user="root">
-+ <allow send_destination="*"/>
-+ <allow send_interface="*"/>
-+ </policy>
-+
- <!-- Config files are placed here that among other things, punch
- holes in the above policy for specific services. -->
- <includedir>system.d</includedir>
diff --git a/source/a/dbus/dbus-1.6.x-allow_root_globally.diff b/source/a/dbus/dbus-1.6.x-allow_root_globally.diff
new file mode 100644
index 000000000..ae2d30a6f
--- /dev/null
+++ b/source/a/dbus/dbus-1.6.x-allow_root_globally.diff
@@ -0,0 +1,18 @@
+diff -Nur dbus-1.6.0.orig/bus/system.conf.in dbus-1.6.0/bus/system.conf.in
+--- dbus-1.6.0.orig/bus/system.conf.in 2012-01-04 11:49:23.000000000 -0600
++++ dbus-1.6.0/bus/system.conf.in 2012-06-12 23:07:14.541913190 -0500
+@@ -70,6 +70,14 @@
+ send_member="UpdateActivationEnvironment"/>
+ </policy>
+
++ <!-- Allow root to do anything over the messagebus.
++ Don't whine about "security" - anyone with root privileges
++ can edit this file anyway, so -ENOHOLE here. -->
++ <policy user="root">
++ <allow send_destination="*"/>
++ <allow send_interface="*"/>
++ </policy>
++
+ <!-- Config files are placed here that among other things, punch
+ holes in the above policy for specific services. -->
+ <includedir>system.d</includedir>
diff --git a/source/a/dbus/dbus.SlackBuild b/source/a/dbus/dbus.SlackBuild
index bd6acd99a..ee115afab 100755
--- a/source/a/dbus/dbus.SlackBuild
+++ b/source/a/dbus/dbus.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=dbus
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -68,7 +68,7 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/dbus-1.4.x-allow_root_globally.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/dbus-1.6.x-allow_root_globally.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/dbus.set.home.diff.gz | patch -p1 --verbose || exit 1
CFLAGS="$SLKCFLAGS" \
diff --git a/source/a/dialog/dialog.SlackBuild b/source/a/dialog/dialog.SlackBuild
index c79a6c819..6d3721e4b 100755
--- a/source/a/dialog/dialog.SlackBuild
+++ b/source/a/dialog/dialog.SlackBuild
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=dialog
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1,2 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -75,6 +75,7 @@ find . \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
+ --mandir=/usr/man \
--disable-static \
--enable-nls \
--with-ncursesw \
diff --git a/source/a/dosfstools/dosfstools-3.0.11.tar.bz2.sign b/source/a/dosfstools/dosfstools-3.0.11.tar.bz2.sign
deleted file mode 100644
index ca1fec559..000000000
--- a/source/a/dosfstools/dosfstools-3.0.11.tar.bz2.sign
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.10 (GNU/Linux)
-
-iEYEABECAAYFAk0U0YcACgkQ+C5cwEsrK54SwACg2GdKFHonvr+sJx9d6wA+OTwT
-pbUAoK/eDyuvkyfQygxW07g6URh5Adg+
-=eKdA
------END PGP SIGNATURE-----
diff --git a/source/a/dosfstools/dosfstools.SlackBuild b/source/a/dosfstools/dosfstools.SlackBuild
index abb2d85ba..bd3c5773b 100755
--- a/source/a/dosfstools/dosfstools.SlackBuild
+++ b/source/a/dosfstools/dosfstools.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,8 @@
PKGNAM=dosfstools
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | rev | cut -f 2- -d -)}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | rev | cut -f 2- -d -)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -60,7 +60,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
cd $PKGNAM-$VERSION
chown -R root:root .
@@ -76,11 +76,6 @@ zcat $CWD/dosfstools.paths.diff.gz | patch -p1 --verbose || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-## I do not believe we want these, or it may cause autofscking fat volumes at boot:
-## NOTE: only if it is set in fstab, which is not default. Some other things need
-## to see fsck.vfat, so allowing it again.
-#rm -f $PKG/sbin/fsck.* $PKG/usr/man/man?/fsck.*
-
# We can handle this:
rm -r $PKG/usr/doc
# Add a documentation directory:
diff --git a/source/a/e2fsprogs/e2fsprogs-1.42.6.tar.sign b/source/a/e2fsprogs/e2fsprogs-1.42.6.tar.sign
deleted file mode 100644
index 6558e77e2..000000000
--- a/source/a/e2fsprogs/e2fsprogs-1.42.6.tar.sign
+++ /dev/null
Binary files differ
diff --git a/source/a/e2fsprogs/e2fsprogs-1.42.8.tar.sign b/source/a/e2fsprogs/e2fsprogs-1.42.8.tar.sign
new file mode 100644
index 000000000..660df3339
--- /dev/null
+++ b/source/a/e2fsprogs/e2fsprogs-1.42.8.tar.sign
Binary files differ
diff --git a/source/a/e2fsprogs/e2fsprogs.SlackBuild b/source/a/e2fsprogs/e2fsprogs.SlackBuild
index 3ba78e554..51c268a1d 100755
--- a/source/a/e2fsprogs/e2fsprogs.SlackBuild
+++ b/source/a/e2fsprogs/e2fsprogs.SlackBuild
@@ -24,7 +24,7 @@
VERSION=${VERSION:-$(echo e2fsprogs*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -121,6 +121,15 @@ mv $PKG/lib${LIBDIRSUFFIX}/pkgconfig $PKG/lib${LIBDIRSUFFIX}/*.so \
ln -sf /lib${LIBDIRSUFFIX}/$(readlink $i) $i ;
done
)
+
+# Since fsck is now part of util-linux, let's prefer that version:
+if [ -r $PKG/sbin/fsck ]; then
+ mv $PKG/sbin/fsck $PKG/sbin/fsck-e2fsprogs
+fi
+if [ -r $PKG/usr/man/man8/fsck.8 ]; then
+ mv $PKG/usr/man/man8/fsck.8 $PKG/usr/man/man8/fsck-e2fsprogs.8
+fi
+
# findfs is intentionally left out here - we use the one in util-linux-ng
( cd $PKG/sbin
rm -f \
diff --git a/source/a/efibootmgr/efibootmgr-0.5.4-Remove-device-path-padding-on-non-Itanium.patch b/source/a/efibootmgr/efibootmgr-0.5.4-Remove-device-path-padding-on-non-Itanium.patch
new file mode 100644
index 000000000..240aa6968
--- /dev/null
+++ b/source/a/efibootmgr/efibootmgr-0.5.4-Remove-device-path-padding-on-non-Itanium.patch
@@ -0,0 +1,28 @@
+From 2d8f962284f40b918c0fc8385e58fcba219ddc12 Mon Sep 17 00:00:00 2001
+From: Fedora Ninjas <pjones@fedoraproject.org>
+Date: Wed, 28 Nov 2012 17:13:24 -0500
+Subject: [PATCH 2/5] Remove device path padding on non-Itanium
+
+This code predates EFI support on any x86 hardware, and it's a strict
+violation of the specification. Windows doesn't do it either.
+---
+ src/include/efi.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/include/efi.h b/src/include/efi.h
+index be667ae..c2ac853 100644
+--- a/src/include/efi.h
++++ b/src/include/efi.h
+@@ -294,7 +294,9 @@ typedef struct {
+ uint8_t signature[16];
+ uint8_t mbr_type;
+ uint8_t signature_type;
++#ifdef __ia64
+ uint8_t padding[6]; /* Emperically needed */
++#endif
+ } __attribute__((packed)) HARDDRIVE_DEVICE_PATH;
+
+ typedef struct {
+--
+1.8.0
+
diff --git a/source/a/efibootmgr/efibootmgr-0.5.4-Work-around-broken-Apple-firmware.patch b/source/a/efibootmgr/efibootmgr-0.5.4-Work-around-broken-Apple-firmware.patch
new file mode 100644
index 000000000..a1d9831d0
--- /dev/null
+++ b/source/a/efibootmgr/efibootmgr-0.5.4-Work-around-broken-Apple-firmware.patch
@@ -0,0 +1,30 @@
+From 6edc3ed5479b575f87eb51e335957b05fdd04fe8 Mon Sep 17 00:00:00 2001
+From: Fedora Ninjas <pjones@fedoraproject.org>
+Date: Wed, 28 Nov 2012 16:49:18 -0500
+Subject: [PATCH 1/5] Work around broken Apple firmware
+
+Alex Murray found that Apple's firmware sets an invalid EFI attribute on
+BootCurrent, which newer versions of the kernel then reject. This patch
+from him simply masks off the extraneous bit.
+---
+ src/lib/efivars_sysfs.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/lib/efivars_sysfs.c b/src/lib/efivars_sysfs.c
+index 182c70f..ea87325 100644
+--- a/src/lib/efivars_sysfs.c
++++ b/src/lib/efivars_sysfs.c
+@@ -55,6 +55,10 @@ sysfs_read_variable(const char *name, efi_variable_t *var)
+ return EFI_INVALID_PARAMETER;
+ }
+ close(fd);
++ /* latest apple firmware sets high bit which appears invalid
++ to the linux kernel if we write it back so lets zero it out
++ if it is set since it would be invalid to set it anyway */
++ var->Attributes = var->Attributes & ~(1 << 31);
+ return var->Status;
+ }
+
+--
+1.8.0
+
diff --git a/source/a/efibootmgr/efibootmgr-0.5.4-fix-disk-minor-number-discovery.patch b/source/a/efibootmgr/efibootmgr-0.5.4-fix-disk-minor-number-discovery.patch
new file mode 100644
index 000000000..e9b535836
--- /dev/null
+++ b/source/a/efibootmgr/efibootmgr-0.5.4-fix-disk-minor-number-discovery.patch
@@ -0,0 +1,29 @@
+From f9f4ee75ad745637a47bf17ed968101b1ffbcc1d Mon Sep 17 00:00:00 2001
+From: Matt Domsch <Matt_Domsch@dell.com>
+Date: Thu, 23 Jul 2009 14:20:19 -0500
+Subject: [PATCH 4/5] fix disk minor number discovery
+
+Raymund Will noted disk_info_from_fd() incorrectly used logical &&
+instead of bitwise & when obtaining the minor number.
+
+Reported in https://bugzilla.novell.com/show_bug.cgi?id=524529#c1
+---
+ src/lib/disk.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/lib/disk.c b/src/lib/disk.c
+index ebfe619..8ad590b 100644
+--- a/src/lib/disk.c
++++ b/src/lib/disk.c
+@@ -55,7 +55,7 @@ disk_info_from_fd(int fd,
+ return 1;
+ }
+ major = buf.st_dev >> 8;
+- minor = buf.st_dev && 0xFF;
++ minor = buf.st_dev & 0xFF;
+
+ /* IDE disks can have up to 64 partitions, or 6 bits worth,
+ * and have one bit for the disk number.
+--
+1.8.0
+
diff --git a/source/a/efibootmgr/efibootmgr-0.5.4-support-4k-sectors.patch b/source/a/efibootmgr/efibootmgr-0.5.4-support-4k-sectors.patch
new file mode 100644
index 000000000..c380c6100
--- /dev/null
+++ b/source/a/efibootmgr/efibootmgr-0.5.4-support-4k-sectors.patch
@@ -0,0 +1,176 @@
+Return-Path: pjones@redhat.com
+Received: from zmta02.collab.prod.int.phx2.redhat.com (LHLO
+ zmta02.collab.prod.int.phx2.redhat.com) (10.5.5.32) by
+ mail04.corp.redhat.com with LMTP; Wed, 14 Jul 2010 14:25:52 -0400 (EDT)
+Received: from localhost (localhost.localdomain [127.0.0.1])
+ by zmta02.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id B69C19F152
+ for <pjones@redhat.com>; Wed, 14 Jul 2010 14:25:52 -0400 (EDT)
+Received: from zmta02.collab.prod.int.phx2.redhat.com ([127.0.0.1])
+ by localhost (zmta02.collab.prod.int.phx2.redhat.com [127.0.0.1]) (amavisd-new, port 10024)
+ with ESMTP id jCHcGZehMQ5J for <pjones@redhat.com>;
+ Wed, 14 Jul 2010 14:25:52 -0400 (EDT)
+Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21])
+ by zmta02.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id A601C9F14C
+ for <pjones@mail.corp.redhat.com>; Wed, 14 Jul 2010 14:25:52 -0400 (EDT)
+Received: from pjones4.install.bos.redhat.com (pjones4.install.bos.redhat.com [10.16.52.154])
+ by int-mx08.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o6EIPpGh017771;
+ Wed, 14 Jul 2010 14:25:52 -0400
+From: Peter Jones <pjones@redhat.com>
+To: Matt Domsch <Matt_Domsch@dell.com>
+Cc: Peter Jones <pjones@redhat.com>, Stuart Hayes <stuart_hayes@dell.com>
+Subject: [efibootmgr patch] Handle sector_size != 512.
+Date: Wed, 14 Jul 2010 14:26:49 -0400
+Message-Id: <1279132009-26635-1-git-send-email-pjones@redhat.com>
+In-Reply-To: <1279121617-17961-1-git-send-email-pjones@redhat.com>
+References: <1279121617-17961-1-git-send-email-pjones@redhat.com>
+X-Scanned-By: MIMEDefang 2.67 on 10.5.11.21
+
+Disks can have 4kB sectors now, so don't just bail out when that's the
+case.
+---
+ src/include/disk.h | 3 +++
+ src/lib/disk.c | 43 +++++++++++++++++++++++++++++++++----------
+ src/lib/gpt.c | 30 ++++++++++++++----------------
+ 3 files changed, 50 insertions(+), 26 deletions(-)
+
+diff --git a/src/include/disk.h b/src/include/disk.h
+index eb93d10..8aa37d7 100644
+--- a/src/include/disk.h
++++ b/src/include/disk.h
+@@ -65,6 +65,9 @@ enum _interface_type {interface_type_unknown,
+ ata, atapi, scsi, usb,
+ i1394, fibre, i2o, md};
+
++
++unsigned int lcm(unsigned int x, unsigned int y);
++
+ int disk_get_pci(int fd,
+ unsigned char *bus,
+ unsigned char *device,
+diff --git a/src/lib/disk.c b/src/lib/disk.c
+index 883864f..9c3a878 100644
+--- a/src/lib/disk.c
++++ b/src/lib/disk.c
+@@ -420,6 +420,27 @@ get_sector_size(int filedes)
+ return sector_size;
+ }
+
++/************************************************************
++ * lcm
++ * Requires:
++ * - numbers of which to find the lowest common multiple
++ * Modifies: nothing
++ * Returns:
++ * lowest common multiple of x and y
++ ************************************************************/
++unsigned int
++lcm(unsigned int x, unsigned int y)
++{
++ unsigned int m = x, n = y, o;
++
++ while ((o = m % n)) {
++ m = n;
++ n = o;
++ }
++
++ return (x / n) * y;
++}
++
+ /**
+ * disk_get_partition_info()
+ * @fd - open file descriptor to disk
+@@ -442,26 +463,27 @@ disk_get_partition_info (int fd,
+ uint8_t *mbr_type, uint8_t *signature_type)
+ {
+ legacy_mbr *mbr;
+- void *mbr_unaligned;
++ void *mbr_sector;
++ size_t mbr_size;
+ off_t offset;
+ int this_bytes_read = 0;
+ int gpt_invalid=0, mbr_invalid=0;
+ int rc=0;
+ int sector_size = get_sector_size(fd);
+
+- if (sizeof(*mbr) != sector_size)
+- return 1;
+- mbr_unaligned = malloc(sizeof(*mbr)+sector_size-1);
+- mbr = (legacy_mbr *)
+- (((unsigned long)mbr_unaligned + sector_size - 1) &
+- ~(unsigned long)(sector_size-1));
+- memset(mbr, 0, sizeof(*mbr));
++
++ mbr_size = lcm(sizeof(*mbr), sector_size);
++ if ((rc = posix_memalign(&mbr_sector, sector_size, mbr_size)) != 0)
++ goto error;
++ memset(mbr_sector, '\0', mbr_size);
++
+ offset = lseek(fd, 0, SEEK_SET);
+- this_bytes_read = read(fd, mbr, sizeof(*mbr));
++ this_bytes_read = read(fd, mbr_sector, mbr_size);
+ if (this_bytes_read < sizeof(*mbr)) {
+ rc=1;
+ goto error_free_mbr;
+ }
++ mbr = (legacy_mbr *)mbr_sector;
+ gpt_invalid = gpt_disk_get_partition_info(fd, num,
+ start, size,
+ signature,
+@@ -479,7 +501,8 @@ disk_get_partition_info (int fd,
+ }
+ }
+ error_free_mbr:
+- free(mbr_unaligned);
++ free(mbr_sector);
++ error:
+ return rc;
+ }
+
+diff --git a/src/lib/gpt.c b/src/lib/gpt.c
+index d90ddaf..83e7a94 100644
+--- a/src/lib/gpt.c
++++ b/src/lib/gpt.c
+@@ -215,26 +215,24 @@ read_lastoddsector(int fd, uint64_t lba, void *buffer, size_t count)
+ static ssize_t
+ read_lba(int fd, uint64_t lba, void *buffer, size_t bytes)
+ {
+- int sector_size = get_sector_size(fd);
+- off_t offset = lba * sector_size;
++ int sector_size = get_sector_size(fd);
++ off_t offset = lba * sector_size;
+ ssize_t bytesread;
+- void *aligned;
+- void *unaligned;
+-
+- if (bytes % sector_size)
+- return EINVAL;
++ void *iobuf;
++ size_t iobuf_size;
++ int rc;
+
+- unaligned = malloc(bytes+sector_size-1);
+- aligned = (void *)
+- (((unsigned long)unaligned + sector_size - 1) &
+- ~(unsigned long)(sector_size-1));
+- memset(aligned, 0, bytes);
++ iobuf_size = lcm(bytes, sector_size);
++ rc = posix_memalign(&iobuf, sector_size, iobuf_size);
++ if (rc)
++ return rc;
++ memset(iobuf, 0, bytes);
+
+
+- lseek(fd, offset, SEEK_SET);
+- bytesread = read(fd, aligned, bytes);
+- memcpy(buffer, aligned, bytesread);
+- free(unaligned);
++ lseek(fd, offset, SEEK_SET);
++ bytesread = read(fd, iobuf, iobuf_size);
++ memcpy(buffer, iobuf, bytes);
++ free(iobuf);
+
+ /* Kludge. This is necessary to read/write the last
+ block of an odd-sized disk, until Linux 2.5.x kernel fixes.
+--
+1.7.1.1
+
diff --git a/source/a/efibootmgr/efibootmgr.SlackBuild b/source/a/efibootmgr/efibootmgr.SlackBuild
new file mode 100755
index 000000000..1e411677b
--- /dev/null
+++ b/source/a/efibootmgr/efibootmgr.SlackBuild
@@ -0,0 +1,117 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=efibootmgr
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
+
+zcat $CWD/efibootmgr-0.5.4-Remove-device-path-padding-on-non-Itanium.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/efibootmgr-0.5.4-Work-around-broken-Apple-firmware.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/efibootmgr-0.5.4-fix-disk-minor-number-discovery.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/efibootmgr-0.5.4-support-4k-sectors.patch.gz | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Build:
+CFLAGS="$SLKCFLAGS" make || exit 1
+
+# Install:
+mkdir -p $PKG/usr/sbin
+cp src/efibootmgr/efibootmgr $PKG/usr/sbin
+chown root:root $PKG/usr/sbin/efibootmgr
+chmod 755 $PKG/usr/sbin/efibootmgr
+mkdir -p $PKG/usr/man/man8
+cat src/man/man8/efibootmgr.8 | gzip -9c > $PKG/usr/man/man8/efibootmgr.8.gz
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL README* doc/* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/a/efibootmgr/slack-desc b/source/a/efibootmgr/slack-desc
new file mode 100644
index 000000000..953b4b2a1
--- /dev/null
+++ b/source/a/efibootmgr/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+efibootmgr: efibootmgr (tool to modify UEFI boot entries)
+efibootmgr:
+efibootmgr: efibootmgr is a Linux userspace application to modify the Intel
+efibootmgr: Extensible Firmware Interface (EFI) Boot Manager. This application
+efibootmgr: can create and destroy boot entries, change the boot order, change
+efibootmgr: the next running boot option, and more.
+efibootmgr:
+efibootmgr: Homepage: http://linux.dell.com/efibootmgr
+efibootmgr:
+efibootmgr:
+efibootmgr:
diff --git a/source/a/eject/eject.CDROM_DRIVE_STATUS.diff b/source/a/eject/eject.CDROM_DRIVE_STATUS.diff
new file mode 100644
index 000000000..0a80739fa
--- /dev/null
+++ b/source/a/eject/eject.CDROM_DRIVE_STATUS.diff
@@ -0,0 +1,76 @@
+# Make CDROM tray toggle more robust by using CDS_TRAY_OPEN
+# when avaiable.
+# Also includes Slackware's eject_for_mac.patch
+#
+diff -Nurp eject.old/eject.c eject.new/eject.c
+--- eject.old/eject.c 2013-02-19 10:18:36.041669514 +0000
++++ eject.new/eject.c 2013-02-19 10:33:04.289392780 +0000
+@@ -564,34 +564,45 @@ static void ToggleTray(int fd)
+ {
+ struct timeval time_start, time_stop;
+ int time_elapsed;
++ int status;
+
+ #ifdef CDROMCLOSETRAY
++
++ status = ioctl(fd, CDROM_DRIVE_STATUS, 0);
++ if (status == CDS_TRAY_OPEN) {
++ CloseTray(fd);
++ } else {
+
+- /* Try to open the CDROM tray and measure the time therefor
+- * needed. In my experience the function needs less than 0.05
+- * seconds if the tray was already open, and at least 1.5 seconds
+- * if it was closed. */
+- gettimeofday(&time_start, NULL);
++ /* Try to open the CDROM tray and measure the time therefor
++ * needed. In my experience the function needs less than 0.05
++ * seconds if the tray was already open, and at least 1.5 seconds
++ * if it was closed. */
++ gettimeofday(&time_start, NULL);
+
+- /* Send the CDROMEJECT command to the device. */
+- if (ioctl(fd, CDROMEJECT, 0) < 0) {
+- perror("ioctl");
+- exit(1);
++ /* Send the CDROMEJECT command to the device. */
++ if (ioctl(fd, CDROMEJECT, 0) < 0 && errno != EIO) {
++ perror("ioctl CDROMEJECT");
++ exit(1);
++ }
++
++ /* Get the second timestamp, to measure the time needed to open
++ * the tray. */
++ gettimeofday(&time_stop, NULL);
++
++ /* If the ioctl returns CDS_TRAY_OPEN now then we can ignore
++ * the guess based on elapsed-time */
++ status = ioctl(fd, CDROM_DRIVE_STATUS, 0);
++ if (status != CDS_TRAY_OPEN) {
++ time_elapsed = (time_stop.tv_sec * 1000000 + time_stop.tv_usec) -
++ (time_start.tv_sec * 1000000 + time_start.tv_usec);
++
++ /* If the tray "opened" too fast, we can be nearly sure, that it
++ * was already open. In this case, close it now. Else the tray was
++ * closed before. This would mean that we are done. */
++ if (time_elapsed < TRAY_WAS_ALREADY_OPEN_USECS)
++ CloseTray(fd);
++ }
+ }
+-
+- /* Get the second timestamp, to measure the time needed to open
+- * the tray. */
+- gettimeofday(&time_stop, NULL);
+-
+- time_elapsed = (time_stop.tv_sec * 1000000 + time_stop.tv_usec) -
+- (time_start.tv_sec * 1000000 + time_start.tv_usec);
+-
+- /* If the tray "opened" too fast, we can be nearly sure, that it
+- * was already open. In this case, close it now. Else the tray was
+- * closed before. This would mean that we are done. */
+- if (time_elapsed < TRAY_WAS_ALREADY_OPEN_USECS)
+- CloseTray(fd);
+-
+ #else
+ fprintf(stderr, _("%s: CD-ROM tray toggle command not supported by this kernel\n"), programName);
+ #endif
diff --git a/source/a/eject/eject.SlackBuild b/source/a/eject/eject.SlackBuild
index 94b0ccf76..7d2c09821 100755
--- a/source/a/eject/eject.SlackBuild
+++ b/source/a/eject/eject.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=eject
VERSION=${VERSION:-2.1.5}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -60,7 +60,7 @@ cd ${PKGNAM}
zcat $CWD/eject.spaces.diff.gz | patch -p0 --verbose || exit 1
# Fix "eject -T":
-zcat $CWD/eject_for_mac.patch.gz | patch -p4 --verbose || exit 1
+zcat $CWD/eject.CDROM_DRIVE_STATUS.diff.gz | patch -p1 --verbose || exit 1
# Make sure ownerships and permissions are sane:
chown -R root:root .
diff --git a/source/a/eject/eject_for_mac.patch b/source/a/eject/eject_for_mac.patch
deleted file mode 100644
index c86e3c17b..000000000
--- a/source/a/eject/eject_for_mac.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nru /tmp/6rrvEn4EMT/eject-2.1.4/eject.c /tmp/Jon9ZzjSLN/eject-2.1.4/eject.c
---- /tmp/6rrvEn4EMT/eject-2.1.4/eject.c 2007-03-12 14:15:26.000000000 +0100
-+++ /tmp/Jon9ZzjSLN/eject-2.1.4/eject.c 2007-03-12 14:15:28.000000000 +0100
-@@ -552,7 +552,7 @@
- gettimeofday(&time_start, NULL);
-
- /* Send the CDROMEJECT command to the device. */
-- if (ioctl(fd, CDROMEJECT, 0) < 0) {
-+ if (ioctl(fd, CDROMEJECT, 0) < 0 && errno != EIO) {
- perror("ioctl");
- exit(1);
- }
diff --git a/source/a/elilo/elilo.SlackBuild b/source/a/elilo/elilo.SlackBuild
new file mode 100755
index 000000000..ad2ffc146
--- /dev/null
+++ b/source/a/elilo/elilo.SlackBuild
@@ -0,0 +1,116 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=elilo
+VERSION=${VERSION:-$(echo $PKGNAM*.tar.?z* | rev | cut -f 2 -d - | rev)}
+BUILD=${BUILD:-6}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf elilo
+mkdir elilo
+cd elilo
+tar xvf $CWD/${PKGNAM}-$VERSION-all.tar.?z* || exit 1
+tar xvf elilo-${VERSION}-source.tar.gz || exit 1
+chown -R root:root .
+chmod -R u+w,go+r-w,a-s .
+cd elilo
+
+sed -i "s,/usr/lib,/usr/lib${LIBDIRSUFFIX},g" Make.defaults
+sed -i "s,EFICRT0.*= /usr/lib${LIBDIRSUFFIX},EFICRT0 = /usr/lib${LIBDIRSUFFIX}/gnuefi,g" Make.defaults
+
+# We will build this from source.
+# However, we will package the pre-built EFI binaries, since we would
+# like to include both 32-bit and 64-bit x86 EFI loaders in the
+# finished package.
+
+make || exit 1
+
+# Install the files in the package directory:
+mkdir -p $PKG/usr/sbin
+cp tools/eliloalt $PKG/usr/sbin
+
+# Install eliloconfig, a simple setup script:
+cp -a $CWD/eliloconfig $PKG/usr/sbin
+chown root:root $PKG/usr/sbin/eliloconfig
+chmod 755 $PKG/usr/sbin/eliloconfig
+mkdir -p $PKG/var/log/setup
+cp -a $CWD/setup.ll.eliloconfig $PKG/var/log/setup
+chown root:root $PKG/var/log/setup/setup.ll.eliloconfig
+chmod 755 $PKG/var/log/setup/setup.ll.eliloconfig
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ ChangeLog LIMITATIONS README README.gnu-efi TODO docs/* \
+ examples \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# Since it might not be safe to strip the EFI binaries, do this now:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+cd ..
+
+# Install EFI bootloaders in /boot:
+mkdir $PKG/boot
+# The ia32 version is pretty much useless, since 32-bit UEFI is nowhere to be
+# found. Maybe it would help old 32-bit Intel Macs though?
+cp -a elilo*ia32.efi $PKG/boot/elilo-ia32.efi
+# Itanium binary isn't needed here.
+#cp -a elilo*ia64.efi $PKG/boot/elilo-ia64.efi
+cp -a elilo*x86_64.efi $PKG/boot/elilo-x86_64.efi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/a/elilo/eliloconfig b/source/a/elilo/eliloconfig
new file mode 100644
index 000000000..91f66d692
--- /dev/null
+++ b/source/a/elilo/eliloconfig
@@ -0,0 +1,213 @@
+#!/bin/sh
+# Copyright 2013 Patrick Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+# This script installs the elilo boot loader, the kernel, and optionally
+# an initrd into the EFI System Partition. A boot menu entry can also be
+# installed using efibootmgr. The kernel used will be whatever the symlink
+# /boot/vmlinuz points to, and if /boot/initrd.gz exists, that will be
+# installed as the initrd.
+#
+# The EFI System Partition is expected to be mounted on /boot/efi before
+# running this script.
+
+TMP=/var/log/setup/tmp
+
+# Set the OS root directory (called T_PX for some unknown reason).
+# If an argument is given to this script and it is a directory, it
+# is taken to be the root directory. First though, we check for a
+# directory named $T_PX, and that gets the first priority.
+if [ ! -d "$T_PX" ]; then
+ if [ ! "$1" = "" ]; then
+ if [ -d "$1" ]; then
+ T_PX="$1"
+ fi
+ else
+ # Are we on the installer image?
+ if [ -r /usr/lib/setup/SeTpartitions ]; then
+ T_PX=/mnt
+ # Or, are we on a running system?
+ elif [ -r /etc/slackware-version ]; then
+ T_PX=/
+ # One more installer-likely thing:
+ elif [ -r /usr/lib/setup/setup ]; then
+ T_PX=/mnt
+ else
+ # We will have to assume we're on an installed and running system.
+ T_PX=/
+ fi
+ fi
+fi
+
+# Determine the root partition (such as /dev/sda1)
+ROOT_DEVICE=$2
+if [ "$ROOT_DEVICE" = "" ]; then
+ if [ -r $TMP/SeTrootdev ]; then
+ ROOT_DEVICE="$(cat $TMP/SeTrootdev)"
+ else
+ ROOT_DEVICE="$(mount | cut -f 1 -d ' ' | head -n 1)"
+ fi
+fi
+
+# If the system is not running under EFI, skip running this script:
+if [ ! -d /sys/firmware/efi ]; then
+ if [ "$T_PX" = "/" ]; then
+ echo "ERROR: System is not running under UEFI."
+ fi
+ exit
+fi
+
+# If there's no vfat mounted on /boot/efi or /mnt/boot/efi, forget it:
+if ! mount | grep vfat | grep -wq /boot/efi ; then
+ if ! mount | grep vfat | grep -wq /mnt/boot/efi ; then
+ if [ "$T_PX" = "/" ]; then
+ echo "ERROR: No EFI System Partition mounted on /boot/efi."
+ fi
+ exit
+ fi
+fi
+
+# Figure out the device and partition number of the ESP:
+if mount | grep vfat | grep -wq /boot/efi ; then
+ EFI_DEVICE=$(mount | grep vfat | grep -w /boot/efi | cut -b 1-8)
+ EFI_PARTITION=$(mount | grep vfat | grep -w /boot/efi | cut -f 1 -d ' ' | cut -b 9-)
+else
+ EFI_DEVICE=$(mount | grep vfat | grep -w /mnt/boot/efi | cut -b 1-8)
+ EFI_PARTITION=$(mount | grep vfat | grep -w /mnt/boot/efi | cut -f 1 -d ' ' | cut -b 9-)
+fi
+
+# There better be a kernel:
+if [ ! -r $T_PX/boot/vmlinuz ]; then
+ if [ "$T_PX" = "/" ]; then
+ echo "ERROR: No kernel found at /boot/vmlinuz."
+ fi
+ exit
+fi
+
+dialog --title "INSTALL ELILO" \
+--backtitle "ELILO (EFI Linux Loader) installation" \
+--menu "ELILO is a Linux boot loader for \
+EFI based systems. Installing ELILO will allow you to boot your Linux \
+system from the hard drive after selecting it from the UEFI boot menu. \
+Since an EFI System Partition was detected on this machine, it is \
+recommended that you install ELILO now. Please select an option:" \
+13 70 2 \
+"install" "Install ELILO on the EFI System Partition" \
+"skip" "Do not install ELILO" 2> $TMP/reply
+if [ $? = 1 -o $? = 255 ]; then
+ exit
+fi
+REPLY="`cat $TMP/reply`"
+rm -f $TMP/reply
+if [ "$REPLY" = "skip" ]; then
+ exit
+fi
+
+mkdir -p $T_PX/boot/efi/EFI/Slackware 1> /dev/null 2> /dev/null
+cat << EOF > $T_PX/boot/efi/EFI/Slackware/elilo.conf
+chooser=simple
+delay=1
+timeout=1
+#
+EOF
+cp -a $T_PX/boot/elilo-x86_64.efi $T_PX/boot/efi/EFI/Slackware/elilo.efi 1> /dev/null 2> /dev/null
+cp $T_PX/boot/vmlinuz $T_PX/boot/efi/EFI/Slackware 1> /dev/null 2> /dev/null
+cat << EOF >> $T_PX/boot/efi/EFI/Slackware/elilo.conf
+image=vmlinuz
+ label=vmlinuz
+EOF
+touch -r $T_PX/boot/vmlinuz $T_PX/boot/efi/EFI/Slackware/vmlinuz
+if [ -r $T_PX/boot/initrd.gz ]; then
+ cp $T_PX/boot/initrd.gz $T_PX/boot/efi/EFI/Slackware 1> /dev/null 2> /dev/null
+ touch -r $T_PX/boot/initrd.gz $T_PX/boot/efi/EFI/Slackware/initrd.gz
+ cat << EOF >> $T_PX/boot/efi/EFI/Slackware/elilo.conf
+ initrd=initrd.gz
+EOF
+fi
+cat << EOF >> $T_PX/boot/efi/EFI/Slackware/elilo.conf
+ read-only
+ append="root=$ROOT_DEVICE vga=normal ro"
+EOF
+
+dialog --title "INSTALL BOOT MENU ENTRY?" \
+--backtitle "ELILO (EFI Linux Loader) installation" \
+--menu "Would you like to install \
+a boot menu entry so that you can easily select Slackware when you boot your \
+machine? WARNING: DO NOT install a boot menu entry on Apple hardware. \
+Apple computers use a different type of EFI firmware, and efibootmgr has \
+been known to damage them. On all other computers, it is recommended to add \
+a boot menu entry. Please select an option:" \
+14 70 2 \
+"install" "Install a boot menu entry" \
+"skip" "Do not install a boot menu entry" 2> $TMP/reply
+if [ $? = 1 -o $? = 255 ]; then
+ exit
+fi
+REPLY="`cat $TMP/reply`"
+rm -f $TMP/reply
+if [ "$REPLY" = "skip" ]; then
+ exit
+fi
+
+if [ ! -d /sys/firmware/efi/vars ]; then
+ modprobe efivars 1> /dev/null 2> /dev/null
+ sleep 1 # Probably not needed, but playing it safe
+fi
+# If it's still gone, we fail silently:
+if [ ! -d /sys/firmware/efi/vars ]; then
+ exit
+fi
+
+efibootmgr -v | rev | cut -f 2- | rev | grep Boot0 | grep Slackware | while read line ; do
+ # Reject entries that don't exactly match as not our business
+ if [ ! "$(echo $line | cut -f 2- -d ' ')" = "Slackware" ]; then
+ continue
+ fi
+ ENTRY="$(efibootmgr -v | grep "^$(echo $line | cut -b1-8)")"
+ dialog --title "REMOVE OLD \"Slackware\" EFI BOOT ENTRY?" \
+ --backtitle "ELILO (EFI Linux Loader) installation" \
+ --yesno "An old Slackware boot entry has been found in your EFI boot menu. \
+Would you like to remove this before installing the new Slackware boot \
+entry? This is recommended.\n\nOld EFI boot menu entry:\n$ENTRY" 13 70
+ if [ ! $? = 0 ]; then
+ continue
+ fi
+ # Remove the boot entry:
+ efibootmgr -q -B -b $(echo $line | cut -b5-8)
+done
+
+efibootmgr -q -c -d $EFI_DEVICE -p $EFI_PARTITION -l "\\EFI\\Slackware\\elilo.efi" -L "Slackware"
+
+efibootmgr -v | rev | cut -f 2- | rev | grep Boot0 | grep Slackware | while read line ; do
+ # Reject entries that don't exactly match as not our business
+ if [ ! "$(echo $line | cut -f 2- -d ' ')" = "Slackware" ]; then
+ continue
+ fi
+ ENTRY="$(efibootmgr -v | grep "^$(echo $line | cut -b1-8)")"
+ if echo $ENTRY | grep -q -F "\EFI\Slackware\elilo.efi" ; then
+ dialog --title "EFI BOOT ENTRY INSTALLED" \
+ --backtitle "ELILO (EFI Linux Loader) installation" \
+ --msgbox "A Slackware boot entry has been installed to your EFI boot
+menu.\n\nEFI boot menu entry:\n$ENTRY" 11 70
+ fi
+done
+
+# Done.
diff --git a/source/a/elilo/setup.ll.eliloconfig b/source/a/elilo/setup.ll.eliloconfig
new file mode 100644
index 000000000..75e56138a
--- /dev/null
+++ b/source/a/elilo/setup.ll.eliloconfig
@@ -0,0 +1,3 @@
+#!/bin/sh
+#BLURB="Set up ELILO (EFI LILO) to boot Linux from your hard drive"
+sh usr/sbin/eliloconfig $*
diff --git a/source/a/elilo/slack-desc b/source/a/elilo/slack-desc
new file mode 100644
index 000000000..acacac071
--- /dev/null
+++ b/source/a/elilo/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler-----------------------------------------------------|
+elilo: elilo (Linux Loader for EFI-based platforms)
+elilo:
+elilo: This is elilo, a boot loader originally developed by HP for IA-64
+elilo: systems. This is used to load the kernel and initial ramdisk on
+elilo: machines that use UEFI. Since most UEFI implementations are 64-bit,
+elilo: the 64-bit EFI binary is generally the one to use (even for loading
+elilo: a 32-bit kernel).
+elilo:
+elilo: Homepage: http://elilo.sourceforge.net
+elilo:
+elilo:
diff --git a/source/a/etc/etc.SlackBuild b/source/a/etc/etc.SlackBuild
index 5db87ea7f..0233a9776 100755
--- a/source/a/etc/etc.SlackBuild
+++ b/source/a/etc/etc.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,8 +20,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=14.0
-BUILD=${BUILD:-1}
+VERSION=14.1
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -44,6 +44,10 @@ cd $PKG
explodepkg $CWD/_etc.tar.gz
# Fix for ARCH:
sed -i -e "s#/i486-slackware-linux#/${ARCH}-slackware-linux#" etc/ld.so.conf.new
+# Fix paths if lib64 is needed:
+if [ "$ARCH" = "x86_64" ]; then
+ sed -i -e "s#/lib#/lib64#" etc/ld.so.conf.new
+fi
cp -a $CWD/termcap-BSD.gz etc/termcap-BSD.gz
gzip -d --force etc/termcap-BSD.gz
chown root:root etc/termcap-BSD
diff --git a/source/a/file/file.SlackBuild b/source/a/file/file.SlackBuild
index 04c47856b..2435c5f02 100755
--- a/source/a/file/file.SlackBuild
+++ b/source/a/file/file.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005-2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -71,9 +71,15 @@ zcat $CWD/file.etc.file.diff.gz | patch -p1 --verbose || exit 1
# This is needed after the patch above:
autoreconf || exit 1
-# Don't spew warnings about using the flat text files
-zcat $CWD/file.quiet.diff.gz | patch -p1 -E --verbose || exit 1
-# I don't know what this one does
+# Since we're going to include the compiled magic database now (otherwise
+# there seem to be libmagic related crashes), this patch probably doesn't
+# need to be applied.
+#
+## Don't spew warnings about using the flat text files
+#zcat $CWD/file.quiet.diff.gz | patch -p1 -E --verbose || exit 1
+
+# Keep the output format for ELF binaries the same as it was in earlier
+# versions of file to avoid breaking existing scripts:
zcat $CWD/file.short.diff.gz | patch -p1 -E --verbose || exit 1
# Add zisofs and crda regulatory bin detection
@@ -103,22 +109,27 @@ make install DESTDIR=$PKG || exit 1
# Seems --disable-static has been ignored lately:
rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmagic.a
-# Is file really this much of a processing bottleneck? Doubtful.
+# Update: We're going to use magic.mgc now as the flat files cause
+# libmagic crashes with versions newer than file-5.11. Maybe that
+# wasn't being tested as well... in any case, using magic.mgc works.
#
-# NOTE: Benchmarked flat files vs. .mgc June 2009, found no measurable
-# difference on 3000+ files.
#
-# If you really need these (let's say you're doing virus scanning
-# and this *would* speed things up quite a bit) you can create
-# the pre-parsed file yourself using file's -C option.
-rm -f $PKG/etc/file/magic.mgc
-mkdir -p $PKG/etc/file/magic
-cp -a magic/Magdir/* $PKG/etc/file/magic
-# After building, this works fine. /etc/file/magic/ takes up 1.2M,
-# while the magic.mgc file is 1.7M. Considering a difference of 500k,
-# and the potential speedup, I'm not sure it's worth the effort...
-# but it does make it easier for an admin to add a small chunk of
-# new magic.
+## Is file really this much of a processing bottleneck? Doubtful.
+##
+## NOTE: Benchmarked flat files vs. .mgc June 2009, found no measurable
+## difference on 3000+ files.
+##
+## If you really need these (let's say you're doing virus scanning
+## and this *would* speed things up quite a bit) you can create
+## the pre-parsed file yourself using file's -C option.
+#rm -f $PKG/etc/file/magic.mgc
+#mkdir -p $PKG/etc/file/magic
+#cp -a magic/Magdir/* $PKG/etc/file/magic
+## After building, this works fine. /etc/file/magic/ takes up 1.2M,
+## while the magic.mgc file is 1.7M. Considering a difference of 500k,
+## and the potential speedup, I'm not sure it's worth the effort...
+## but it does make it easier for an admin to add a small chunk of
+## new magic.
# IMHO, moving this sort of thing does not make sense.
# We'll support both the traditional and new locations.
diff --git a/source/a/floppy/fdutils-5.4-20020222.diff b/source/a/floppy/fdutils-5.4-20020222.diff
deleted file mode 100644
index 28a7b0405..000000000
--- a/source/a/floppy/fdutils-5.4-20020222.diff
+++ /dev/null
@@ -1,2991 +0,0 @@
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/Changelog fdutils/Changelog
---- fdutils-5.4/Changelog Sat Jun 3 16:29:33 2000
-+++ fdutils/Changelog Sun Feb 3 23:51:42 2002
-@@ -1,3 +1,9 @@
-+020203 Fix fdmount and superformat bugs
-+020203 Create /dev/fd0 before testing for existence of /dev/fd0
-+011002 Fix floppycontrol.c printf conditional on FD_DISK_CHANGED, so that
-+ it works with gcc3 which apparently considers printf as a macro...
-+000612 Explicitly include sysmacros.h, apparently this is needed in
-+ certain environments
- 000603 Released 5.4
- 000527 Fixed a couple of buffer overrun exploits and other cleanup. Made
- fdutils compilable with Linux 2.3/2.4 kernels. Documentation fixes
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/INSTALL fdutils/INSTALL
---- fdutils-5.4/INSTALL Thu Jul 1 19:48:19 1999
-+++ fdutils/INSTALL Mon May 21 00:24:21 2001
-@@ -8,14 +8,17 @@
- 3. Compile the utilities:
- make
-
-- 3. Run the MAKEFLOPPIES script to create the device files:
-+ 4. Install:
-+ make install
-+
-+ 5. Run the MAKEFLOPPIES script to create the device files:
- cd /dev
- MAKEFLOPPIES
-
-- 4. Enjoy!
-+ 6. Enjoy!
- I you have any questions, feel free to ask!
-
-- 5. You might also want to get a recent version of mtools (later than
-+ 7. You might also want to get a recent version of mtools (later than
- 3.0)
-
- A. Knaff
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/config.guess fdutils/config.guess
---- fdutils-5.4/config.guess Tue Jun 17 22:37:13 1997
-+++ fdutils/config.guess Mon May 21 00:24:45 2001
-@@ -1,7 +1,10 @@
- #! /bin/sh
- # Attempt to guess a canonical system name.
--# Copyright (C) 1992, 93, 94, 95, 1996 Free Software Foundation, Inc.
--#
-+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-+# Free Software Foundation, Inc.
-+
-+timestamp='2001-04-20'
-+
- # 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
-@@ -22,18 +25,92 @@
- # the same distribution terms that you use for the rest of that program.
-
- # Written by Per Bothner <bothner@cygnus.com>.
--# The master version of this file is at the FSF in /home/gd/gnu/lib.
-+# Please send patches to <config-patches@gnu.org>.
- #
- # 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.
- #
- # The plan is that this can be called by configure scripts if you
--# don't specify an explicit system type (host/target name).
--#
--# Only a few systems have been added to this list; please add others
--# (but try to keep the structure clean).
--#
-+# don't specify an explicit build system type.
-+
-+me=`echo "$0" | sed -e 's,.*/,,'`
-+
-+usage="\
-+Usage: $0 [OPTION]
-+
-+Output the configuration name of the system \`$me' is run on.
-+
-+Operation modes:
-+ -h, --help print this help, then exit
-+ -t, --time-stamp print date of last modification, then exit
-+ -v, --version print version number, then exit
-+
-+Report bugs and patches to <config-patches@gnu.org>."
-+
-+version="\
-+GNU config.guess ($timestamp)
-+
-+Originally written by Per Bothner.
-+Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000
-+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."
-+
-+help="
-+Try \`$me --help' for more information."
-+
-+# Parse command line
-+while test $# -gt 0 ; do
-+ case $1 in
-+ --time-stamp | --time* | -t )
-+ echo "$timestamp" ; exit 0 ;;
-+ --version | -v )
-+ echo "$version" ; exit 0 ;;
-+ --help | --h* | -h )
-+ echo "$usage"; exit 0 ;;
-+ -- ) # Stop option processing
-+ shift; break ;;
-+ - ) # Use stdin as input.
-+ break ;;
-+ -* )
-+ echo "$me: invalid option $1$help" >&2
-+ exit 1 ;;
-+ * )
-+ break ;;
-+ esac
-+done
-+
-+if test $# != 0; then
-+ echo "$me: too many arguments$help" >&2
-+ exit 1
-+fi
-+
-+
-+dummy=dummy-$$
-+trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
-+
-+# CC_FOR_BUILD -- compiler used by this script.
-+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-+# use `HOST_CC' if defined, but it is deprecated.
-+
-+case $CC_FOR_BUILD,$HOST_CC,$CC in
-+ ,,) echo "int dummy(){}" > $dummy.c
-+ for c in cc gcc c89 ; do
-+ ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1
-+ if test $? = 0 ; then
-+ CC_FOR_BUILD="$c"; break
-+ fi
-+ done
-+ rm -f $dummy.c $dummy.o $dummy.rel
-+ if test x"$CC_FOR_BUILD" = x ; then
-+ CC_FOR_BUILD=no_compiler_found
-+ fi
-+ ;;
-+ ,,*) CC_FOR_BUILD=$CC ;;
-+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-+esac
-
- # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
- # (ghazi@noc.rutgers.edu 8/24/94.)
-@@ -43,37 +120,162 @@
-
- UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
- UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
--UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
- UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
--trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
--
- # 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*,
-+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
-+ # switched to ELF, *-*-netbsd* would select the old
-+ # object file format. This provides both forward
-+ # compatibility and a consistent mechanism for selecting the
-+ # object file format.
-+ # Determine the machine/vendor (is the vendor relevant).
-+ case "${UNAME_MACHINE}" in
-+ amiga) machine=m68k-unknown ;;
-+ arm32) machine=arm-unknown ;;
-+ atari*) machine=m68k-atari ;;
-+ sun3*) machine=m68k-sun ;;
-+ mac68k) machine=m68k-apple ;;
-+ macppc) machine=powerpc-apple ;;
-+ hp3[0-9][05]) machine=m68k-hp ;;
-+ ibmrt|romp-ibm) machine=romp-ibm ;;
-+ *) machine=${UNAME_MACHINE}-unknown ;;
-+ esac
-+ # The Operating System including object format, if it has switched
-+ # to ELF recently, or will in the future.
-+ case "${UNAME_MACHINE}" in
-+ i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
-+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-+ | grep __ELF__ >/dev/null
-+ then
-+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-+ # Return netbsd for either. FIX?
-+ os=netbsd
-+ else
-+ os=netbsdelf
-+ fi
-+ ;;
-+ *)
-+ os=netbsd
-+ ;;
-+ esac
-+ # The OS release
-+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-+ # contains redundant information, the shorter form:
-+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-+ echo "${machine}-${os}${release}"
-+ exit 0 ;;
- alpha:OSF1:*:*)
-+ if test $UNAME_RELEASE = "V4.0"; then
-+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-+ fi
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
-- echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//'`
-+ cat <<EOF >$dummy.s
-+ .data
-+\$Lformat:
-+ .byte 37,100,45,37,120,10,0 # "%d-%x\n"
-+
-+ .text
-+ .globl main
-+ .align 4
-+ .ent main
-+main:
-+ .frame \$30,16,\$26,0
-+ ldgp \$29,0(\$27)
-+ .prologue 1
-+ .long 0x47e03d80 # implver \$0
-+ lda \$2,-1
-+ .long 0x47e20c21 # amask \$2,\$1
-+ lda \$16,\$Lformat
-+ mov \$0,\$17
-+ not \$1,\$18
-+ jsr \$26,printf
-+ ldgp \$29,0(\$26)
-+ mov 0,\$16
-+ jsr \$26,exit
-+ .end main
-+EOF
-+ $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
-+ if test "$?" = 0 ; then
-+ case `./$dummy` in
-+ 0-0)
-+ UNAME_MACHINE="alpha"
-+ ;;
-+ 1-0)
-+ UNAME_MACHINE="alphaev5"
-+ ;;
-+ 1-1)
-+ UNAME_MACHINE="alphaev56"
-+ ;;
-+ 1-101)
-+ UNAME_MACHINE="alphapca56"
-+ ;;
-+ 2-303)
-+ UNAME_MACHINE="alphaev6"
-+ ;;
-+ 2-307)
-+ UNAME_MACHINE="alphaev67"
-+ ;;
-+ esac
-+ fi
-+ rm -f $dummy.s $dummy
-+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-+ exit 0 ;;
-+ 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
-+ # of the specific Alpha model?
-+ echo alpha-pc-interix
- exit 0 ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit 0 ;;
- Amiga*:UNIX_System_V:4.0:*)
-- echo m68k-cbm-sysv4
-+ echo m68k-unknown-sysv4
- exit 0;;
-- amiga:NetBSD:*:*)
-- echo m68k-cbm-netbsd${UNAME_RELEASE}
-- exit 0 ;;
- amiga:OpenBSD:*:*)
-- echo m68k-cbm-openbsd${UNAME_RELEASE}
-- exit 0 ;;
-+ echo m68k-unknown-openbsd${UNAME_RELEASE}
-+ exit 0 ;;
-+ *:[Aa]miga[Oo][Ss]:*:*)
-+ echo ${UNAME_MACHINE}-unknown-amigaos
-+ exit 0 ;;
-+ arc64:OpenBSD:*:*)
-+ echo mips64el-unknown-openbsd${UNAME_RELEASE}
-+ exit 0 ;;
-+ arc:OpenBSD:*:*)
-+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
-+ exit 0 ;;
-+ hkmips:OpenBSD:*:*)
-+ echo mips-unknown-openbsd${UNAME_RELEASE}
-+ exit 0 ;;
-+ pmax:OpenBSD:*:*)
-+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
-+ exit 0 ;;
-+ sgi:OpenBSD:*:*)
-+ echo mips-unknown-openbsd${UNAME_RELEASE}
-+ exit 0 ;;
-+ wgrisc:OpenBSD:*:*)
-+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
-+ exit 0 ;;
-+ *:OS/390:*:*)
-+ echo i370-ibm-openedition
-+ exit 0 ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit 0;;
-- Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
-+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-+ echo hppa1.1-hitachi-hiuxmpp
-+ exit 0;;
-+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
-@@ -81,9 +283,12 @@
- echo pyramid-pyramid-bsd
- fi
- exit 0 ;;
-- NILE:*:*:dcosx)
-+ NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit 0 ;;
-+ sun4H:SunOS:5.*:*)
-+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-+ exit 0 ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
-@@ -108,26 +313,61 @@
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit 0 ;;
-+ sun*:*:4.2BSD:*)
-+ UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-+ case "`/bin/arch`" in
-+ sun3)
-+ echo m68k-sun-sunos${UNAME_RELEASE}
-+ ;;
-+ sun4)
-+ echo sparc-sun-sunos${UNAME_RELEASE}
-+ ;;
-+ esac
-+ exit 0 ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit 0 ;;
-- atari*:NetBSD:*:*)
-- echo m68k-atari-netbsd${UNAME_RELEASE}
-- exit 0 ;;
- atari*:OpenBSD:*:*)
-- echo m68k-atari-openbsd${UNAME_RELEASE}
-+ echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
-- sun3*:NetBSD:*:*)
-- echo m68k-sun-netbsd${UNAME_RELEASE}
-+ # The situation for MiNT is a little confusing. The machine name
-+ # can be virtually everything (everything which is not
-+ # "atarist" or "atariste" at least should have a processor
-+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
-+ # to the lowercase version "mint" (or "freemint"). Finally
-+ # the system name "TOS" denotes a system which is actually not
-+ # 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}
- exit 0 ;;
-- sun3*:OpenBSD:*:*)
-- echo m68k-sun-openbsd${UNAME_RELEASE}
-+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-+ echo m68k-atari-mint${UNAME_RELEASE}
-+ exit 0 ;;
-+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-+ echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
-- mac68k:NetBSD:*:*)
-- echo m68k-apple-netbsd${UNAME_RELEASE}
-+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-+ echo m68k-milan-mint${UNAME_RELEASE}
-+ exit 0 ;;
-+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-+ echo m68k-hades-mint${UNAME_RELEASE}
-+ exit 0 ;;
-+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-+ echo m68k-unknown-mint${UNAME_RELEASE}
-+ exit 0 ;;
-+ sun3*:OpenBSD:*:*)
-+ echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mac68k:OpenBSD:*:*)
-- echo m68k-apple-openbsd${UNAME_RELEASE}
-+ echo m68k-unknown-openbsd${UNAME_RELEASE}
-+ exit 0 ;;
-+ mvme68k:OpenBSD:*:*)
-+ echo m68k-unknown-openbsd${UNAME_RELEASE}
-+ exit 0 ;;
-+ mvme88k:OpenBSD:*:*)
-+ echo m88k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
-@@ -141,9 +381,17 @@
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
-+ 2020:CLIX:*:* | 2430:CLIX:*:*)
-+ echo clipper-intergraph-clix${UNAME_RELEASE}
-+ exit 0 ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
-- sed 's/^ //' << EOF >dummy.c
-- int main (argc, argv) int argc; char **argv; {
-+ sed 's/^ //' << EOF >$dummy.c
-+#ifdef __cplusplus
-+#include <stdio.h> /* for printf() prototype */
-+ int main (int argc, char *argv[]) {
-+#else
-+ int main (argc, argv) int argc; char *argv[]; {
-+#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-@@ -158,12 +406,15 @@
- exit (-1);
- }
- EOF
-- ${CC-cc} dummy.c -o dummy \
-- && ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
-- && rm dummy.c dummy && exit 0
-- rm -f dummy.c dummy
-+ $CC_FOR_BUILD $dummy.c -o $dummy \
-+ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
-+ && rm -f $dummy.c $dummy && exit 0
-+ rm -f $dummy.c $dummy
- echo mips-mips-riscos${UNAME_RELEASE}
- exit 0 ;;
-+ Motorola:PowerMAX_OS:*:*)
-+ echo powerpc-motorola-powermax
-+ exit 0 ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit 0 ;;
-@@ -179,15 +430,18 @@
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
-- if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
-- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
-- -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
-+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-+ then
-+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-+ [ ${TARGET_BINARY_INTERFACE}x = x ]
-+ then
- echo m88k-dg-dgux${UNAME_RELEASE}
-- else
-+ else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
-+ fi
-+ else
-+ echo i586-dg-dgux${UNAME_RELEASE}
- fi
-- else echo i586-dg-dgux${UNAME_RELEASE}
-- fi
- exit 0 ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
-@@ -208,12 +462,20 @@
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
-- i?86:AIX:*:*)
-+ i*86:AIX:*:*)
- echo i386-ibm-aix
- exit 0 ;;
-+ ia64:AIX:*:*)
-+ if [ -x /usr/bin/oslevel ] ; then
-+ IBM_REV=`/usr/bin/oslevel`
-+ else
-+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-+ fi
-+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-+ exit 0 ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-- sed 's/^ //' << EOF >dummy.c
-+ sed 's/^ //' << EOF >$dummy.c
- #include <sys/systemcfg.h>
-
- main()
-@@ -224,8 +486,8 @@
- exit(0);
- }
- EOF
-- ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
-- rm -f dummy.c dummy
-+ $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
-+ rm -f $dummy.c $dummy
- echo rs6000-ibm-aix3.2.5
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
-@@ -233,8 +495,9 @@
- echo rs6000-ibm-aix3.2
- fi
- exit 0 ;;
-- *:AIX:*:4)
-- if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
-+ *:AIX:*:[45])
-+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
-+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
-@@ -242,7 +505,7 @@
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
-- IBM_REV=4.${UNAME_RELEASE}
-+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit 0 ;;
-@@ -252,7 +515,7 @@
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit 0 ;;
-- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
-+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit 0 ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
-@@ -267,18 +530,75 @@
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit 0 ;;
-- 9000/[3478]??:HP-UX:*:*)
-+ 9000/[34678]??:HP-UX:*:*)
-+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
-- 9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;;
-- 9000/8?? ) HP_ARCH=hppa1.0 ;;
-+ 9000/[678][0-9][0-9])
-+ case "${HPUX_REV}" in
-+ 11.[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" ;;
-+ esac ;;
-+ esac
-+ fi ;;
-+ esac
-+ if [ "${HP_ARCH}" = "" ]; then
-+ sed 's/^ //' << EOF >$dummy.c
-+
-+ #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);
-+
-+ 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 $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
-+ if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
-+ rm -f $dummy.c $dummy
-+ fi ;;
- esac
-- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit 0 ;;
-+ ia64:HP-UX:*:*)
-+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-+ echo ia64-hp-hpux${HPUX_REV}
-+ exit 0 ;;
- 3050*:HI-UX:*:*)
-- sed 's/^ //' << EOF >dummy.c
-+ sed 's/^ //' << EOF >$dummy.c
- #include <unistd.h>
- int
- main ()
-@@ -303,8 +623,8 @@
- exit (0);
- }
- EOF
-- ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
-- rm -f dummy.c dummy
-+ $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
-+ rm -f $dummy.c $dummy
- echo unknown-hitachi-hiuxwe2
- exit 0 ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-@@ -313,13 +633,16 @@
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit 0 ;;
-+ *9??*:MPE/iX:*:*)
-+ echo hppa1.0-hp-mpeix
-+ exit 0 ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit 0 ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit 0 ;;
-- i?86:OSF1:*:*)
-+ i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
- else
-@@ -329,6 +652,9 @@
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit 0 ;;
-+ hppa*:OpenBSD:*:*)
-+ echo hppa-unknown-openbsd
-+ exit 0 ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit 0 ;;
-@@ -359,104 +685,297 @@
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
- exit 0 ;;
- CRAY*TS:*:*:*)
-- echo t90-cray-unicos${UNAME_RELEASE}
-+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit 0 ;;
-+ CRAY*T3D:*:*:*)
-+ echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit 0 ;;
-+ CRAY*T3E:*:*:*)
-+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-+ exit 0 ;;
-+ CRAY*SV1:*:*:*)
-+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY-2:*:*:*)
- echo cray2-cray-unicos
- exit 0 ;;
-- F300:UNIX_System_V:*:*)
-- FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
-+ 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 "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit 0 ;;
-- F301:UNIX_System_V:*:*)
-- echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
-- exit 0 ;;
-- hp3[0-9][05]:NetBSD:*:*)
-- echo m68k-hp-netbsd${UNAME_RELEASE}
-+ hp300:OpenBSD:*:*)
-+ echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
-- hp3[0-9][05]:OpenBSD:*:*)
-- echo m68k-hp-openbsd${UNAME_RELEASE}
-- exit 0 ;;
-- i?86:BSD/386:*:* | *:BSD/OS:*:*)
-+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit 0 ;;
-+ sparc*:BSD/OS:*:*)
-+ echo sparc-unknown-bsdi${UNAME_RELEASE}
-+ exit 0 ;;
-+ *:BSD/OS:*:*)
-+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-+ exit 0 ;;
- *:FreeBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit 0 ;;
-- *:NetBSD:*:*)
-- echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-- exit 0 ;;
- *:OpenBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- exit 0 ;;
- i*:CYGWIN*:*)
-- echo i386-pc-cygwin32
-+ echo ${UNAME_MACHINE}-pc-cygwin
-+ exit 0 ;;
-+ i*:MINGW*:*)
-+ echo ${UNAME_MACHINE}-pc-mingw32
-+ exit 0 ;;
-+ i*:PW*:*)
-+ echo ${UNAME_MACHINE}-pc-pw32
-+ exit 0 ;;
-+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-+ # How do we know it's Interix rather than the generic POSIX subsystem?
-+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-+ # UNAME_MACHINE based on the output of uname instead of i386?
-+ echo i386-pc-interix
-+ exit 0 ;;
-+ i*:UWIN*:*)
-+ echo ${UNAME_MACHINE}-pc-uwin
- exit 0 ;;
- p*:CYGWIN*:*)
-- echo powerpcle-unknown-cygwin32
-+ echo powerpcle-unknown-cygwin
- exit 0 ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- *:GNU:*:*)
-- echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit 0 ;;
-- *:Linux:*:*)
-- # The BFD linker knows what the default object file format is, so
-- # first see if it will tell us.
-- ld_help_string=`ld --help 2>&1`
-- if echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf_i.86"; then
-- echo "${UNAME_MACHINE}-pc-linux" ; exit 0
-- elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86linux"; then
-- echo "${UNAME_MACHINE}-pc-linux-aout" ; exit 0
-- elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86coff"; then
-- echo "${UNAME_MACHINE}-pc-linux-coff" ; exit 0
-- elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68kelf"; then
-- echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
-- elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68klinux"; then
-- echo "${UNAME_MACHINE}-unknown-linux-aout" ; exit 0
-- elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf32ppc"; then
-- echo "powerpc-unknown-linux" ; exit 0
-- elif test "${UNAME_MACHINE}" = "alpha" ; then
-- echo alpha-unknown-linux ; exit 0
-- elif test "${UNAME_MACHINE}" = "sparc" ; then
-- echo sparc-unknown-linux ; exit 0
-- else
-- # Either a pre-BFD a.out linker (linux-oldld) or one that does not give us
-- # useful --help. Gcc wants to distinguish between linux-oldld and linux-aout.
-- test ! -d /usr/lib/ldscripts/. \
-- && echo "${UNAME_MACHINE}-pc-linux-oldld" && exit 0
-- # Determine whether the default compiler is a.out or elf
-- cat >dummy.c <<EOF
-+ i*86:Minix:*:*)
-+ echo ${UNAME_MACHINE}-pc-minix
-+ exit 0 ;;
-+ arm*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit 0 ;;
-+ ia64:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux
-+ exit 0 ;;
-+ m68*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit 0 ;;
-+ mips:Linux:*:*)
-+ cat >$dummy.c <<EOF
-+#ifdef __cplusplus
-+#include <stdio.h> /* for printf() prototype */
-+int main (int argc, char *argv[]) {
-+#else
-+int main (argc, argv) int argc; char *argv[]; {
-+#endif
-+#ifdef __MIPSEB__
-+ printf ("%s-unknown-linux-gnu\n", argv[1]);
-+#endif
-+#ifdef __MIPSEL__
-+ printf ("%sel-unknown-linux-gnu\n", argv[1]);
-+#endif
-+ return 0;
-+}
-+EOF
-+ $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
-+ rm -f $dummy.c $dummy
-+ ;;
-+ ppc:Linux:*:*)
-+ # Determine Lib Version
-+ cat >$dummy.c <<EOF
-+#include <features.h>
-+#if defined(__GLIBC__)
-+extern char __libc_version[];
-+extern char __libc_release[];
-+#endif
- main(argc, argv)
--int argc;
--char *argv[];
-+ int argc;
-+ char *argv[];
- {
-+#if defined(__GLIBC__)
-+ printf("%s %s\n", __libc_version, __libc_release);
-+#else
-+ printf("unknown\n");
-+#endif
-+ return 0;
-+}
-+EOF
-+ LIBC=""
-+ $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
-+ if test "$?" = 0 ; then
-+ ./$dummy | grep 1\.99 > /dev/null
-+ if test "$?" = 0 ; then LIBC="libc1" ; fi
-+ fi
-+ rm -f $dummy.c $dummy
-+ echo powerpc-unknown-linux-gnu${LIBC}
-+ exit 0 ;;
-+ alpha:Linux:*:*)
-+ cat <<EOF >$dummy.s
-+ .data
-+ \$Lformat:
-+ .byte 37,100,45,37,120,10,0 # "%d-%x\n"
-+ .text
-+ .globl main
-+ .align 4
-+ .ent main
-+ main:
-+ .frame \$30,16,\$26,0
-+ ldgp \$29,0(\$27)
-+ .prologue 1
-+ .long 0x47e03d80 # implver \$0
-+ lda \$2,-1
-+ .long 0x47e20c21 # amask \$2,\$1
-+ lda \$16,\$Lformat
-+ mov \$0,\$17
-+ not \$1,\$18
-+ jsr \$26,printf
-+ ldgp \$29,0(\$26)
-+ mov 0,\$16
-+ jsr \$26,exit
-+ .end main
-+EOF
-+ LIBC=""
-+ $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
-+ if test "$?" = 0 ; then
-+ case `./$dummy` in
-+ 0-0) UNAME_MACHINE="alpha" ;;
-+ 1-0) UNAME_MACHINE="alphaev5" ;;
-+ 1-1) UNAME_MACHINE="alphaev56" ;;
-+ 1-101) UNAME_MACHINE="alphapca56" ;;
-+ 2-303) UNAME_MACHINE="alphaev6" ;;
-+ 2-307) UNAME_MACHINE="alphaev67" ;;
-+ esac
-+ objdump --private-headers $dummy | \
-+ grep ld.so.1 > /dev/null
-+ if test "$?" = 0 ; then
-+ LIBC="libc1"
-+ fi
-+ fi
-+ rm -f $dummy.s $dummy
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-+ exit 0 ;;
-+ 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 ;;
-+ esac
-+ exit 0 ;;
-+ parisc64:Linux:*:* | hppa64:Linux:*:*)
-+ echo hppa64-unknown-linux-gnu
-+ exit 0 ;;
-+ s390:Linux:*:* | s390x:Linux:*:*)
-+ echo ${UNAME_MACHINE}-ibm-linux
-+ exit 0 ;;
-+ sh*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit 0 ;;
-+ sparc:Linux:*:* | sparc64:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit 0 ;;
-+ x86_64:Linux:*:*)
-+ echo x86_64-unknown-linux-gnu
-+ exit 0 ;;
-+ i*86:Linux:*:*)
-+ # The BFD linker knows what the default object file format is, so
-+ # first see if it will tell us. cd to the root directory to prevent
-+ # problems with other programs or directories called `ld' in the path.
-+ ld_supported_emulations=`cd /; ld --help 2>&1 \
-+ | sed -ne '/supported emulations:/!d
-+ s/[ ][ ]*/ /g
-+ s/.*supported emulations: *//
-+ s/ .*//
-+ p'`
-+ case "$ld_supported_emulations" in
-+ i*86linux)
-+ echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-+ exit 0
-+ ;;
-+ elf_i*86)
-+ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
-+ ;;
-+ i*86coff)
-+ echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-+ exit 0
-+ ;;
-+ esac
-+ # Either a pre-BFD a.out linker (linux-gnuoldld)
-+ # or one that does not give us useful --help.
-+ # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
-+ # If ld does not provide *any* "supported emulations:"
-+ # that means it is gnuoldld.
-+ test -z "$ld_supported_emulations" && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
-+ case "${UNAME_MACHINE}" in
-+ i*86)
-+ VENDOR=pc;
-+ ;;
-+ *)
-+ VENDOR=unknown;
-+ ;;
-+ esac
-+ # Determine whether the default compiler is a.out or elf
-+ cat >$dummy.c <<EOF
-+#include <features.h>
-+#ifdef __cplusplus
-+#include <stdio.h> /* for printf() prototype */
-+ int main (int argc, char *argv[]) {
-+#else
-+ int main (argc, argv) int argc; char *argv[]; {
-+#endif
- #ifdef __ELF__
-- printf ("%s-pc-linux\n", argv[1]);
-+# ifdef __GLIBC__
-+# if __GLIBC__ >= 2
-+ printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
-+# else
-+ printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-+# endif
-+# else
-+ printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-+# endif
- #else
-- printf ("%s-pc-linux-aout\n", argv[1]);
-+ printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
- #endif
- return 0;
- }
- EOF
-- ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
-- rm -f dummy.c dummy
-- fi ;;
-+ $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
-+ rm -f $dummy.c $dummy
-+ test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
-+ ;;
- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
- # are messed up and put the nodename in both sysname and nodename.
-- i?86:DYNIX/ptx:4*:*)
-+ i*86:DYNIX/ptx:4*:*)
- echo i386-sequent-sysv4
- exit 0 ;;
-- i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
-+ 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,
-+ # I just have to hope. -- rms.
-+ # Use sysv4.2uw... so that sysv4* matches it.
-+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-+ exit 0 ;;
-+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-- echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
-+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
- else
-- echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
-+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
- fi
- exit 0 ;;
-- i?86:*:3.2:*)
-+ i*86:*:5:7*)
-+ # Fixed at (any) Pentium or better
-+ UNAME_MACHINE=i586
-+ if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
-+ echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
-+ else
-+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
-+ fi
-+ exit 0 ;;
-+ i*86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-@@ -465,11 +984,24 @@
- (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
-+ (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
-+ && UNAME_MACHINE=i686
-+ (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
-+ && UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
- else
- echo ${UNAME_MACHINE}-pc-sysv32
- fi
- exit 0 ;;
-+ i*86:*DOS:*:*)
-+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
-+ exit 0 ;;
-+ 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 i386.
-+ echo i386-pc-msdosdjgpp
-+ exit 0 ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit 0 ;;
-@@ -489,7 +1021,7 @@
- exit 0 ;;
- M68*:*:R3V[567]*:*)
- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-- 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
-+ 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-@@ -500,24 +1032,30 @@
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4 && exit 0 ;;
-- m68*:LynxOS:2.*:*)
-+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit 0 ;;
-- i?86:LynxOS:2.*:*)
-+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
-- rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
-+ rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
-+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
-+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
-+ exit 0 ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit 0 ;;
-+ RM*:ReliantUNIX-*:*:*)
-+ echo mips-sni-sysv4
-+ exit 0 ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit 0 ;;
-@@ -529,6 +1067,10 @@
- echo ns32k-sni-sysv
- fi
- exit 0 ;;
-+ PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-+ # says <Richard.M.Bartel@ccMail.Census.GOV>
-+ echo i586-unisys-sysv4
-+ exit 0 ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes <hewes@openmarket.com>.
- # How about differentiating between stratus architectures? -djm
-@@ -541,23 +1083,101 @@
- mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit 0 ;;
-- R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
-+ news*:NEWS-OS:6*:*)
-+ echo mips-sony-newsos6
-+ exit 0 ;;
-+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
- else
- echo mips-unknown-sysv${UNAME_RELEASE}
- fi
- exit 0 ;;
-- PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-- # says <Richard.M.Bartel@ccMail.Census.GOV>
-- echo i586-unisys-sysv4
-- exit 0 ;;
-+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
-+ echo powerpc-be-beos
-+ exit 0 ;;
-+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
-+ echo powerpc-apple-beos
-+ exit 0 ;;
-+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
-+ echo i586-pc-beos
-+ exit 0 ;;
-+ SX-4:SUPER-UX:*:*)
-+ echo sx4-nec-superux${UNAME_RELEASE}
-+ exit 0 ;;
-+ SX-5:SUPER-UX:*:*)
-+ echo sx5-nec-superux${UNAME_RELEASE}
-+ exit 0 ;;
-+ Power*:Rhapsody:*:*)
-+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
-+ exit 0 ;;
-+ *:Rhapsody:*:*)
-+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-+ exit 0 ;;
-+ *:Darwin:*:*)
-+ echo `uname -p`-apple-darwin${UNAME_RELEASE}
-+ exit 0 ;;
-+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
-+ if test "${UNAME_MACHINE}" = "x86pc"; then
-+ UNAME_MACHINE=pc
-+ fi
-+ echo `uname -p`-${UNAME_MACHINE}-nto-qnx
-+ exit 0 ;;
-+ *:QNX:*:4*)
-+ echo i386-pc-qnx
-+ exit 0 ;;
-+ NSR-[KW]:NONSTOP_KERNEL:*:*)
-+ echo nsr-tandem-nsk${UNAME_RELEASE}
-+ exit 0 ;;
-+ *:NonStop-UX:*:*)
-+ echo mips-compaq-nonstopux
-+ exit 0 ;;
-+ BS2000:POSIX*:*:*)
-+ echo bs2000-siemens-sysv
-+ exit 0 ;;
-+ DS/*:UNIX_System_V:*:*)
-+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-+ exit 0 ;;
-+ *:Plan9:*:*)
-+ # "uname -m" is not consistent, so use $cputype instead. 386
-+ # is converted to i386 for consistency with other x86
-+ # operating systems.
-+ if test "$cputype" = "386"; then
-+ UNAME_MACHINE=i386
-+ else
-+ UNAME_MACHINE="$cputype"
-+ fi
-+ echo ${UNAME_MACHINE}-unknown-plan9
-+ exit 0 ;;
-+ i*86:OS/2:*:*)
-+ # If we were able to find `uname', then EMX Unix compatibility
-+ # is probably installed.
-+ echo ${UNAME_MACHINE}-pc-os2-emx
-+ exit 0 ;;
-+ *:TOPS-10:*:*)
-+ echo pdp10-unknown-tops10
-+ exit 0 ;;
-+ *:TENEX:*:*)
-+ echo pdp10-unknown-tenex
-+ exit 0 ;;
-+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-+ echo pdp10-dec-tops20
-+ exit 0 ;;
-+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-+ echo pdp10-xkl-tops20
-+ exit 0 ;;
-+ *:TOPS-20:*:*)
-+ echo pdp10-unknown-tops20
-+ exit 0 ;;
-+ *:ITS:*:*)
-+ echo pdp10-unknown-its
-+ exit 0 ;;
- esac
-
- #echo '(No uname command or uname output not recognized.)' 1>&2
- #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
--cat >dummy.c <<EOF
-+cat >$dummy.c <<EOF
- #ifdef _SEQUENT_
- # include <sys/types.h>
- # include <sys/utsname.h>
-@@ -595,7 +1215,10 @@
- #endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-+ if (version < 4)
-+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-+ else
-+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
- #endif
-
-@@ -640,11 +1263,24 @@
- #endif
-
- #if defined (vax)
--#if !defined (ultrix)
-- printf ("vax-dec-bsd\n"); exit (0);
--#else
-- printf ("vax-dec-ultrix\n"); exit (0);
--#endif
-+# 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)
-@@ -655,8 +1291,8 @@
- }
- EOF
-
--${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
--rm -f dummy.c dummy
-+$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
-+rm -f $dummy.c $dummy
-
- # Apollos put the system type in the environment.
-
-@@ -688,6 +1324,48 @@
- esac
- fi
-
--#echo '(Unable to guess system type)' 1>&2
-+cat >&2 <<EOF
-+$0: unable to guess system type
-+
-+This script, last modified $timestamp, has failed to recognize
-+the operating system you are using. It is advised that you
-+download the most up to date version of the config scripts from
-+
-+ ftp://ftp.gnu.org/pub/gnu/config/
-+
-+If the version you run ($0) is already up to date, please
-+send the following data and any information you think might be
-+pertinent to <config-patches@gnu.org> in order to provide the needed
-+information to handle your system.
-+
-+config.guess timestamp = $timestamp
-+
-+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`
-+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-+
-+hostinfo = `(hostinfo) 2>/dev/null`
-+/bin/universe = `(/bin/universe) 2>/dev/null`
-+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-+/bin/arch = `(/bin/arch) 2>/dev/null`
-+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-+
-+UNAME_MACHINE = ${UNAME_MACHINE}
-+UNAME_RELEASE = ${UNAME_RELEASE}
-+UNAME_SYSTEM = ${UNAME_SYSTEM}
-+UNAME_VERSION = ${UNAME_VERSION}
-+EOF
-
- exit 1
-+
-+# Local variables:
-+# eval: (add-hook 'write-file-hooks 'time-stamp)
-+# time-stamp-start: "timestamp='"
-+# time-stamp-format: "%:y-%02m-%02d"
-+# time-stamp-end: "'"
-+# End:
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/config.h.in fdutils/config.h.in
---- fdutils-5.4/config.h.in Fri Jul 2 23:37:12 1999
-+++ fdutils/config.h.in Mon May 21 00:24:53 2001
-@@ -14,3 +14,6 @@
-
- /* Define if you have the <linux/xia_fs.h> header file. */
- #undef HAVE_LINUX_XIA_FS_H
-+
-+/* Define if you have the <sys/sysmacros.h> header file. */
-+#undef HAVE_SYS_SYSMACROS_H
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/config.sub fdutils/config.sub
---- fdutils-5.4/config.sub Sun Mar 2 18:43:27 1997
-+++ fdutils/config.sub Mon May 21 00:24:43 2001
-@@ -1,6 +1,10 @@
- #! /bin/sh
--# Configuration validation subroutine script, version 1.1.
--# Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
-+# Configuration validation subroutine script.
-+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-+# Free Software Foundation, Inc.
-+
-+timestamp='2001-05-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.
-@@ -25,6 +29,8 @@
- # configuration script generated by Autoconf, you may include it under
- # the same distribution terms that you use for the rest of that program.
-
-+# Please send patches to <config-patches@gnu.org>.
-+#
- # Configuration subroutine to validate and canonicalize a configuration type.
- # Supply the specified configuration type as an argument.
- # If it is invalid, we print an error message on stderr and exit with code 1.
-@@ -45,30 +51,73 @@
- # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
- # It is wrong to echo any other type of specification.
-
--if [ x$1 = x ]
--then
-- echo Configuration name missing. 1>&2
-- echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
-- echo "or $0 ALIAS" 1>&2
-- echo where ALIAS is a recognized configuration type. 1>&2
-- exit 1
--fi
-+me=`echo "$0" | sed -e 's,.*/,,'`
-
--# First pass through any local machine types.
--case $1 in
-- *local*)
-- echo $1
-- exit 0
-- ;;
-- *)
-- ;;
-+usage="\
-+Usage: $0 [OPTION] CPU-MFR-OPSYS
-+ $0 [OPTION] ALIAS
-+
-+Canonicalize a configuration name.
-+
-+Operation modes:
-+ -h, --help print this help, then exit
-+ -t, --time-stamp print date of last modification, then exit
-+ -v, --version print version number, then exit
-+
-+Report bugs and patches to <config-patches@gnu.org>."
-+
-+version="\
-+GNU config.sub ($timestamp)
-+
-+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-+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."
-+
-+help="
-+Try \`$me --help' for more information."
-+
-+# Parse command line
-+while test $# -gt 0 ; do
-+ case $1 in
-+ --time-stamp | --time* | -t )
-+ echo "$timestamp" ; exit 0 ;;
-+ --version | -v )
-+ echo "$version" ; exit 0 ;;
-+ --help | --h* | -h )
-+ echo "$usage"; exit 0 ;;
-+ -- ) # Stop option processing
-+ shift; break ;;
-+ - ) # Use stdin as input.
-+ break ;;
-+ -* )
-+ echo "$me: invalid option $1$help"
-+ exit 1 ;;
-+
-+ *local*)
-+ # First pass through any local machine types.
-+ echo $1
-+ exit 0;;
-+
-+ * )
-+ break ;;
-+ esac
-+done
-+
-+case $# in
-+ 0) echo "$me: missing argument$help" >&2
-+ exit 1;;
-+ 1) ;;
-+ *) echo "$me: too many arguments$help" >&2
-+ exit 1;;
- esac
-
- # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
- # Here we must recognize all the valid KERNEL-OS combinations.
- maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
- case $maybe_os in
-- linux-gnu*)
-+ nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
-@@ -94,15 +143,25 @@
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-- -apple)
-+ -apple | -axis)
- os=
- basic_machine=$1
- ;;
-+ -sim | -cisco | -oki | -wec | -winbond)
-+ os=
-+ basic_machine=$1
-+ ;;
-+ -scout)
-+ ;;
-+ -wrs)
-+ os=-vxworks
-+ basic_machine=$1
-+ ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco5)
-- os=sco3.2v5
-+ os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco4)
-@@ -121,6 +180,9 @@
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
-+ -udk*)
-+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-+ ;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-@@ -143,25 +205,50 @@
- -psos*)
- os=-psos
- ;;
-+ -mint | -mint[0-9]*)
-+ basic_machine=m68k-atari
-+ os=-mint
-+ ;;
- esac
-
- # Decode aliases for certain CPU-COMPANY combinations.
- case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
-- tahoe | i860 | m68k | m68000 | m88k | ns32k | arm \
-- | arme[lb] | pyramid \
-- | tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
-- | alpha | we32k | ns16k | clipper | i370 | sh \
-- | powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \
-- | pdp11 | mips64el | mips64orion | mips64orionel \
-- | sparc | sparclet | sparclite | sparc64)
-+ tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \
-+ | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \
-+ | pyramid | mn10200 | mn10300 | tron | a29k \
-+ | 580 | i960 | h8300 \
-+ | x86 | ppcbe | mipsbe | mipsle | shbe | shle \
-+ | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
-+ | hppa64 \
-+ | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
-+ | alphaev6[78] \
-+ | we32k | ns16k | clipper | i370 | sh | sh[34] \
-+ | powerpc | powerpcle \
-+ | 1750a | dsp16xx | pdp10 | pdp11 \
-+ | mips16 | mips64 | mipsel | mips64el \
-+ | mips64orion | mips64orionel | mipstx39 | mipstx39el \
-+ | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
-+ | mips64vr5000 | miprs64vr5000el | mcore | s390 | s390x \
-+ | sparc | sparclet | sparclite | sparc64 | sparcv9 | sparcv9b \
-+ | v850 | c4x \
-+ | thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \
-+ | pj | pjl | h8500 | z8k)
- basic_machine=$basic_machine-unknown
- ;;
-+ m6811 | m68hc11 | m6812 | m68hc12)
-+ # Motorola 68HC11/12.
-+ basic_machine=$basic_machine-unknown
-+ os=-none
-+ ;;
-+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | w65 | z8k)
-+ ;;
-+
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
-- i[3456]86)
-+ i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
-@@ -170,23 +257,52 @@
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
-- vax-* | tahoe-* | i[3456]86-* | i860-* | m68k-* | m68000-* | m88k-* \
-- | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
-- | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
-- | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
-- | hppa-* | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
-- | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
-- | pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \
-- | mips64el-* | mips64orion-* | mips64orionel-* | f301-*)
-+ # FIXME: clean up the formatting here.
-+ vax-* | tahoe-* | i*86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
-+ | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
-+ | arm-* | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
-+ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
-+ | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
-+ | xmp-* | ymp-* \
-+ | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
-+ | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
-+ | hppa2.0n-* | hppa64-* \
-+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
-+ | alphaev6[78]-* \
-+ | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
-+ | clipper-* | orion-* \
-+ | sparclite-* | pdp10-* | pdp11-* | sh-* | sh[34]-* | sh[34]eb-* \
-+ | powerpc-* | powerpcle-* | sparc64-* | sparcv9-* | sparcv9b-* | sparc86x-* \
-+ | mips16-* | mips64-* | mipsel-* \
-+ | mips64el-* | mips64orion-* | mips64orionel-* \
-+ | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
-+ | mipstx39-* | mipstx39el-* | mcore-* \
-+ | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \
-+ | [cjt]90-* \
-+ | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
-+ | thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \
-+ | bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*)
- ;;
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
-+ 386bsd)
-+ basic_machine=i386-unknown
-+ os=-bsd
-+ ;;
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
- ;;
- 3b*)
- basic_machine=we32k-att
- ;;
-+ a29khif)
-+ basic_machine=a29k-amd
-+ os=-udi
-+ ;;
-+ adobe68k)
-+ basic_machine=m68010-adobe
-+ os=-scout
-+ ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
-@@ -202,20 +318,24 @@
- os=-sysv
- ;;
- amiga | amiga-*)
-- basic_machine=m68k-cbm
-+ basic_machine=m68k-unknown
- ;;
-- amigados)
-- basic_machine=m68k-cbm
-- os=-amigados
-+ amigaos | amigados)
-+ basic_machine=m68k-unknown
-+ os=-amigaos
- ;;
- amigaunix | amix)
-- basic_machine=m68k-cbm
-+ basic_machine=m68k-unknown
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
-+ apollo68bsd)
-+ basic_machine=m68k-apollo
-+ os=-bsd
-+ ;;
- aux)
- basic_machine=m68k-apple
- os=-aux
-@@ -252,13 +372,16 @@
- basic_machine=cray2-cray
- os=-unicos
- ;;
-- [ctj]90-cray)
-- basic_machine=c90-cray
-+ [cjt]90)
-+ basic_machine=${basic_machine}-cray
- os=-unicos
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
-+ cris | cris-* | etrax*)
-+ basic_machine=cris-axis
-+ ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
-@@ -292,6 +415,10 @@
- encore | umax | mmax)
- basic_machine=ns32k-encore
- ;;
-+ es1800 | OSE68k | ose68k | ose | OSE)
-+ basic_machine=m68k-ericsson
-+ os=-ose
-+ ;;
- fx2800)
- basic_machine=i860-alliant
- ;;
-@@ -302,6 +429,10 @@
- basic_machine=tron-gmicro
- os=-sysv
- ;;
-+ go32)
-+ basic_machine=i386-pc
-+ os=-go32
-+ ;;
- h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
-@@ -310,6 +441,14 @@
- basic_machine=h8300-hitachi
- os=-hms
- ;;
-+ h8300xray)
-+ basic_machine=h8300-hitachi
-+ os=-xray
-+ ;;
-+ h8500hms)
-+ basic_machine=h8500-hitachi
-+ os=-hms
-+ ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
-@@ -325,13 +464,30 @@
- basic_machine=m68k-hp
- os=-hpux
- ;;
-+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
-+ basic_machine=hppa1.0-hp
-+ ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
-- hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
-+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
-+ basic_machine=hppa1.0-hp
-+ ;;
-+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
-+ basic_machine=hppa1.1-hp
-+ ;;
-+ hp9k78[0-9] | hp78[0-9])
-+ # FIXME: really hppa2.0-hp
-+ basic_machine=hppa1.1-hp
-+ ;;
-+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-+ # FIXME: really hppa2.0-hp
-+ basic_machine=hppa1.1-hp
-+ ;;
-+ hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
-@@ -340,27 +496,42 @@
- hppa-next)
- os=-nextstep3
- ;;
-+ hppaosf)
-+ basic_machine=hppa1.1-hp
-+ os=-osf
-+ ;;
-+ hppro)
-+ basic_machine=hppa1.1-hp
-+ os=-proelf
-+ ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
-- os=-mvs
- ;;
- # I'm not sure what "Sysv32" means. Should this be sysv3.2?
-- i[3456]86v32)
-+ i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
- ;;
-- i[3456]86v4*)
-+ i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
- ;;
-- i[3456]86v)
-+ i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
- ;;
-- i[3456]86sol2)
-+ i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
- ;;
-+ i386mach)
-+ basic_machine=i386-mach
-+ os=-mach
-+ ;;
-+ i386-vsta | vsta)
-+ basic_machine=i386-unknown
-+ os=-vsta
-+ ;;
- iris | iris4d)
- basic_machine=mips-sgi
- case $os in
-@@ -386,19 +557,59 @@
- basic_machine=ns32k-utek
- os=-sysv
- ;;
-+ mingw32)
-+ basic_machine=i386-pc
-+ os=-mingw32
-+ ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
-+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-+ basic_machine=m68k-atari
-+ os=-mint
-+ ;;
-+ mipsel*-linux*)
-+ basic_machine=mipsel-unknown
-+ os=-linux-gnu
-+ ;;
-+ mips*-linux*)
-+ basic_machine=mips-unknown
-+ os=-linux-gnu
-+ ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
-+ mmix*)
-+ basic_machine=mmix-knuth
-+ os=-mmixware
-+ ;;
-+ monitor)
-+ basic_machine=m68k-rom68k
-+ os=-coff
-+ ;;
-+ msdos)
-+ basic_machine=i386-pc
-+ os=-msdos
-+ ;;
-+ mvs)
-+ basic_machine=i370-ibm
-+ os=-mvs
-+ ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
-+ netbsd386)
-+ basic_machine=i386-unknown
-+ os=-netbsd
-+ ;;
-+ netwinder)
-+ basic_machine=armv4l-rebel
-+ os=-linux
-+ ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
-@@ -411,6 +622,10 @@
- basic_machine=mips-sony
- os=-newsos
- ;;
-+ necv70)
-+ basic_machine=v70-nec
-+ os=-sysv
-+ ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
-@@ -436,9 +651,32 @@
- basic_machine=i960-intel
- os=-nindy
- ;;
-+ mon960)
-+ basic_machine=i960-intel
-+ os=-mon960
-+ ;;
-+ nonstopux)
-+ basic_machine=mips-compaq
-+ os=-nonstopux
-+ ;;
- np1)
- basic_machine=np1-gould
- ;;
-+ nsr-tandem)
-+ basic_machine=nsr-tandem
-+ ;;
-+ op50n-* | op60c-*)
-+ basic_machine=hppa1.1-oki
-+ os=-proelf
-+ ;;
-+ OSE68000 | ose68000)
-+ basic_machine=m68000-ericsson
-+ os=-ose
-+ ;;
-+ os68k)
-+ basic_machine=m68k-none
-+ os=-os68k
-+ ;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
-@@ -456,30 +694,28 @@
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
-- pentium | p5)
-- basic_machine=i586-intel
-+ pentium | p5 | k5 | k6 | nexgen)
-+ basic_machine=i586-pc
-+ ;;
-+ pentiumpro | p6 | 6x86 | athlon)
-+ basic_machine=i686-pc
- ;;
-- pentiumpro | p6)
-- basic_machine=i686-intel
-+ pentiumii | pentium2)
-+ basic_machine=i686-pc
- ;;
-- pentium-* | p5-*)
-+ pentium-* | p5-* | k5-* | k6-* | nexgen-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
-- pentiumpro-* | p6-*)
-+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
-- k5)
-- # We don't have specific support for AMD's K5 yet, so just call it a Pentium
-- basic_machine=i586-amd
-- ;;
-- nexen)
-- # We don't have specific support for Nexgen yet, so just call it a Pentium
-- basic_machine=i586-nexgen
-+ pentiumii-* | pentium2-*)
-+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
-- power) basic_machine=rs6000-ibm
-+ power) basic_machine=power-ibm
- ;;
- ppc) basic_machine=powerpc-unknown
- ;;
-@@ -494,12 +730,24 @@
- ps2)
- basic_machine=i386-ibm
- ;;
-+ pw32)
-+ basic_machine=i586-unknown
-+ os=-pw32
-+ ;;
-+ rom68k)
-+ basic_machine=m68k-rom68k
-+ os=-coff
-+ ;;
- rm[46]00)
- basic_machine=mips-siemens
- ;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
-+ sa29200)
-+ basic_machine=a29k-amd
-+ os=-udi
-+ ;;
- sequent)
- basic_machine=i386-sequent
- ;;
-@@ -507,6 +755,10 @@
- basic_machine=sh-hitachi
- os=-hms
- ;;
-+ sparclite-wrs)
-+ basic_machine=sparclite-wrs
-+ os=-vxworks
-+ ;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
-@@ -514,6 +766,13 @@
- spur)
- basic_machine=spur-unknown
- ;;
-+ st2000)
-+ basic_machine=m68k-tandem
-+ ;;
-+ stratus)
-+ basic_machine=i860-stratus
-+ os=-sysv4
-+ ;;
- sun2)
- basic_machine=m68000-sun
- ;;
-@@ -554,10 +813,28 @@
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- ;;
-+ sv1)
-+ basic_machine=sv1-cray
-+ os=-unicos
-+ ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
-+ t3e)
-+ basic_machine=t3e-cray
-+ os=-unicos
-+ ;;
-+ tic54x | c54x*)
-+ basic_machine=tic54x-unknown
-+ os=-coff
-+ ;;
-+ tx39)
-+ basic_machine=mipstx39-unknown
-+ ;;
-+ tx39el)
-+ basic_machine=mipstx39el-unknown
-+ ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
-@@ -569,6 +846,10 @@
- basic_machine=a29k-nyu
- os=-sym1
- ;;
-+ v810 | necv810)
-+ basic_machine=v810-nec
-+ os=-none
-+ ;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
-@@ -577,7 +858,7 @@
- basic_machine=vax-dec
- os=-vms
- ;;
-- vpp*|vx|vx-*)
-+ vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
- ;;
- vxworks960)
-@@ -592,6 +873,14 @@
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
-+ w65*)
-+ basic_machine=w65-wdc
-+ os=-none
-+ ;;
-+ w89k-*)
-+ basic_machine=hppa1.1-winbond
-+ os=-proelf
-+ ;;
- xmp)
- basic_machine=xmp-cray
- os=-unicos
-@@ -599,6 +888,10 @@
- xps | xps100)
- basic_machine=xps100-honeywell
- ;;
-+ z8k-*-coff)
-+ basic_machine=z8k-unknown
-+ os=-sim
-+ ;;
- none)
- basic_machine=none-none
- os=-none
-@@ -606,8 +899,21 @@
-
- # Here we handle the default manufacturer of certain CPU types. It is in
- # some cases the only manufacturer, in others, it is the most popular.
-+ w89k)
-+ basic_machine=hppa1.1-winbond
-+ ;;
-+ op50n)
-+ basic_machine=hppa1.1-oki
-+ ;;
-+ op60c)
-+ basic_machine=hppa1.1-oki
-+ ;;
- mips)
-- basic_machine=mips-mips
-+ if [ x$os = x-linux-gnu ]; then
-+ basic_machine=mips-unknown
-+ else
-+ basic_machine=mips-mips
-+ fi
- ;;
- romp)
- basic_machine=romp-ibm
-@@ -618,13 +924,20 @@
- vax)
- basic_machine=vax-dec
- ;;
-+ pdp10)
-+ # there are many clones, so DEC is not a safe bet
-+ basic_machine=pdp10-unknown
-+ ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
-- sparc)
-+ sh3 | sh4)
-+ basic_machine=sh-unknown
-+ ;;
-+ sparc | sparcv9 | sparcv9b)
- basic_machine=sparc-sun
- ;;
- cydra)
-@@ -636,6 +949,19 @@
- orion105)
- basic_machine=clipper-highlevel
- ;;
-+ mac | mpw | mac-mpw)
-+ basic_machine=m68k-apple
-+ ;;
-+ pmac | pmac-mpw)
-+ basic_machine=powerpc-apple
-+ ;;
-+ c4x*)
-+ basic_machine=c4x-none
-+ os=-coff
-+ ;;
-+ *-unknown)
-+ # Make sure to match an already-canonicalized machine name.
-+ ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
-@@ -668,9 +994,12 @@
- -solaris)
- os=-solaris2
- ;;
-- -unixware* | svr4*)
-+ -svr4*)
- os=-sysv4
- ;;
-+ -unixware*)
-+ os=-sysv4.2uw
-+ ;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
- ;;
-@@ -681,19 +1010,42 @@
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
-- | -amigados* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \
-+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-+ | -aos* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
-- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
-+ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-- | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-- | -linux-gnu* | -uxpv*)
-+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-+ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
-+ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
-+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
-+ -qnx*)
-+ case $basic_machine in
-+ x86-* | i*86-*)
-+ ;;
-+ *)
-+ os=-nto$os
-+ ;;
-+ esac
-+ ;;
-+ -nto*)
-+ os=-nto-qnx
-+ ;;
-+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
-+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-+ ;;
-+ -mac*)
-+ os=`echo $os | sed -e 's|mac|macos|'`
-+ ;;
- -linux*)
-- os=`echo $os | sed -e 's|linux|linux|'`
-+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
- ;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
-@@ -701,6 +1053,12 @@
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
- ;;
-+ -opened*)
-+ os=-openedition
-+ ;;
-+ -wince*)
-+ os=-wince
-+ ;;
- -osfrose*)
- os=-osfrose
- ;;
-@@ -716,12 +1074,18 @@
- -acis*)
- os=-aos
- ;;
-+ -386bsd)
-+ os=-bsd
-+ ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
- -ns2 )
- os=-nextstep2
- ;;
-+ -nsk*)
-+ os=-nsk
-+ ;;
- # Preserve the version number of sinix5.
- -sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
-@@ -747,9 +1111,18 @@
- # This must come after -sysvr4.
- -sysv*)
- ;;
-+ -ose*)
-+ os=-ose
-+ ;;
-+ -es1800*)
-+ os=-ose
-+ ;;
- -xenix)
- os=-xenix
- ;;
-+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-+ os=-mint
-+ ;;
- -none)
- ;;
- *)
-@@ -775,9 +1148,15 @@
- *-acorn)
- os=-riscix1.2
- ;;
-+ arm*-rebel)
-+ os=-linux
-+ ;;
- arm*-semi)
- os=-aout
- ;;
-+ pdp10-*)
-+ os=-tops20
-+ ;;
- pdp11-*)
- os=-none
- ;;
-@@ -796,15 +1175,36 @@
- # default.
- # os=-sunos4
- ;;
-+ m68*-cisco)
-+ os=-aout
-+ ;;
-+ mips*-cisco)
-+ os=-elf
-+ ;;
-+ mips*-*)
-+ os=-elf
-+ ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
- ;;
- sparc-* | *-sun)
- os=-sunos4.1.1
- ;;
-+ *-be)
-+ os=-beos
-+ ;;
- *-ibm)
- os=-aix
- ;;
-+ *-wec)
-+ os=-proelf
-+ ;;
-+ *-winbond)
-+ os=-proelf
-+ ;;
-+ *-oki)
-+ os=-proelf
-+ ;;
- *-hp)
- os=-hpux
- ;;
-@@ -815,7 +1215,7 @@
- os=-sysv
- ;;
- *-cbm)
-- os=-amigados
-+ os=-amigaos
- ;;
- *-dg)
- os=-dgux
-@@ -865,9 +1265,21 @@
- *-masscomp)
- os=-rtu
- ;;
-- f301-fujitsu)
-+ f30[01]-fujitsu | f700-fujitsu)
- os=-uxpv
- ;;
-+ *-rom68k)
-+ os=-coff
-+ ;;
-+ *-*bug)
-+ os=-coff
-+ ;;
-+ *-apple)
-+ os=-macos
-+ ;;
-+ *-atari*)
-+ os=-mint
-+ ;;
- *)
- os=-none
- ;;
-@@ -889,9 +1301,15 @@
- -aix*)
- vendor=ibm
- ;;
-+ -beos*)
-+ vendor=be
-+ ;;
- -hpux*)
- vendor=hp
- ;;
-+ -mpeix*)
-+ vendor=hp
-+ ;;
- -hiux*)
- vendor=hitachi
- ;;
-@@ -907,7 +1325,7 @@
- -genix*)
- vendor=ns
- ;;
-- -mvs*)
-+ -mvs* | -opened*)
- vendor=ibm
- ;;
- -ptx*)
-@@ -919,9 +1337,26 @@
- -aux*)
- vendor=apple
- ;;
-+ -hms*)
-+ vendor=hitachi
-+ ;;
-+ -mpw* | -macos*)
-+ vendor=apple
-+ ;;
-+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-+ vendor=atari
-+ ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
- esac
-
- echo $basic_machine$os
-+exit 0
-+
-+# Local variables:
-+# eval: (add-hook 'write-file-hooks 'time-stamp)
-+# time-stamp-start: "timestamp='"
-+# time-stamp-format: "%:y-%02m-%02d"
-+# time-stamp-end: "'"
-+# End:
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/configure fdutils/configure
---- fdutils-5.4/configure Fri Jul 2 23:37:09 1999
-+++ fdutils/configure Mon May 21 00:24:49 2001
-@@ -1250,7 +1250,7 @@
- esac
-
-
--for ac_hdr in linux/ext_fs.h linux/xia_fs.h
-+for ac_hdr in linux/ext_fs.h linux/xia_fs.h sys/sysmacros.h
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/configure.in fdutils/configure.in
---- fdutils-5.4/configure.in Thu Jul 1 19:22:51 1999
-+++ fdutils/configure.in Mon May 21 00:24:21 2001
-@@ -18,7 +18,7 @@
- AC_C_CONST
- AC_C_INLINE
-
--AC_CHECK_HEADERS(linux/ext_fs.h linux/xia_fs.h)
-+AC_CHECK_HEADERS(linux/ext_fs.h linux/xia_fs.h sys/sysmacros.h)
-
- dnl Make fdmount accessible by the floppy group only
- undefine([fdmount-floppy-only])dnl
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/doc/README fdutils/doc/README
---- fdutils-5.4/doc/README Thu Jul 1 19:43:45 1999
-+++ fdutils/doc/README Mon Jun 11 22:26:36 2001
-@@ -171,7 +171,7 @@
- disks and also Commodore 1581 disks. Please get Michael Haardt's
- documentation on floppy drives for a detailed description of those
- formats. This can be ftp'ed from
--ftp://cantor.informatik.rwth-aachen.de/pub/linux/floppy.ps
-+http://www.moria.de/~michael/floppy/floppy.ps
-
- Commodore 1581 disks are not yet described in this documentation.
- Use 'setfdprm /dev/fd0 1600 10 2 80 2 0x2A 0x02 0xDF 0x2E' to use
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/doc/acronyms.texi fdutils/doc/acronyms.texi
---- fdutils-5.4/doc/acronyms.texi Sat May 27 18:37:00 2000
-+++ fdutils/doc/acronyms.texi Mon Jun 11 22:23:31 2001
-@@ -100,7 +100,7 @@
- disks, i.e. virtually all disks that are available today. The PC
- hardware can only read MFM and FM disks. The doc at:
- @example
--ftp://cantor.informatik.rwth-aachen.de/pub/linux/floppy.ps
-+http://www.moria.de/~michael/floppy/floppy.ps
- @end example
- contains more detailed information about FM and MFM encoding.
-
-@@ -108,7 +108,7 @@
- FM is a low level encoding of disk data. It was used for SD disks, and
- is now considered to be obsolete. The doc at:
- @example
--ftp://cantor.informatik.rwth-aachen.de/pub/linux/floppy.ps
-+http://www.moria.de/~michael/floppy/floppy.ps
- @end example
- contains more detailed information about FM and MFM encoding.
-
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/doc/diskd.1 fdutils/doc/diskd.1
---- fdutils-5.4/doc/diskd.1 Fri Jun 2 22:28:27 2000
-+++ fdutils/doc/diskd.1 Mon Jun 11 22:22:46 2001
-@@ -1,4 +1,4 @@
--.TH diskd 1 "02jun00" fdutils-5.4
-+.TH diskd 1 "11Jun01" fdutils-5.4
- .SH Name
- diskd - disk daemon; wait for disk to be inserted
- '\" t
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/doc/diskseekd.1 fdutils/doc/diskseekd.1
---- fdutils-5.4/doc/diskseekd.1 Fri Jun 2 22:28:27 2000
-+++ fdutils/doc/diskseekd.1 Mon Jun 11 22:22:46 2001
-@@ -1,4 +1,4 @@
--.TH diskseekd 1 "02jun00" fdutils-5.4
-+.TH diskseekd 1 "11Jun01" fdutils-5.4
- .SH Name
- diskseek, diskseekd - disk seek daemon; simulates Messy Dos' drive cleaning effect
- '\" t
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/doc/fd.4 fdutils/doc/fd.4
---- fdutils-5.4/doc/fd.4 Fri Jul 2 23:44:15 1999
-+++ fdutils/doc/fd.4 Mon Jun 11 22:23:59 2001
-@@ -1,7 +1,7 @@
- '\" t
- .\"{{{}}}
- .\"{{{ Notes
--.\" Copyright (c) 1993 Michael Haardt (michael@cantor.informatik.rwth-aachen.de)
-+.\" Copyright (c) 1993 Michael Haardt (michael@moria.de)
- .\" and 1994,1995, 1997 Alain Knaff (alain@linux.lu)
- .\"
- .\" This is free documentation; you can redistribute it and/or
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/doc/fdmount.1 fdutils/doc/fdmount.1
---- fdutils-5.4/doc/fdmount.1 Fri Jun 2 22:28:27 2000
-+++ fdutils/doc/fdmount.1 Mon Jun 11 22:22:46 2001
-@@ -1,4 +1,4 @@
--.TH fdmount 1 "02jun00" fdutils-5.4
-+.TH fdmount 1 "11Jun01" fdutils-5.4
- .SH Name
- fdmount - Floppy disk mount utility
- '\" t
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/doc/fdrawcmd.1 fdutils/doc/fdrawcmd.1
---- fdutils-5.4/doc/fdrawcmd.1 Fri Jun 2 22:28:27 2000
-+++ fdutils/doc/fdrawcmd.1 Mon Jun 11 22:22:46 2001
-@@ -1,4 +1,4 @@
--.TH fdrawcmd 1 "02jun00" fdutils-5.4
-+.TH fdrawcmd 1 "11Jun01" fdutils-5.4
- .SH Name
- fdrawcmd - send raw commands to the floppy disk controller
- '\" t
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/doc/floppycontrol.1 fdutils/doc/floppycontrol.1
---- fdutils-5.4/doc/floppycontrol.1 Fri Jun 2 22:28:27 2000
-+++ fdutils/doc/floppycontrol.1 Mon Jun 11 22:22:46 2001
-@@ -1,4 +1,4 @@
--.TH floppycontrol 1 "02jun00" fdutils-5.4
-+.TH floppycontrol 1 "11Jun01" fdutils-5.4
- .SH Name
- floppycontrol - floppy driver configuration utility
- '\" t
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/doc/floppymeter.1 fdutils/doc/floppymeter.1
---- fdutils-5.4/doc/floppymeter.1 Fri Jun 2 22:28:27 2000
-+++ fdutils/doc/floppymeter.1 Mon Jun 11 22:22:46 2001
-@@ -1,4 +1,4 @@
--.TH floppymeter 1 "02jun00" fdutils-5.4
-+.TH floppymeter 1 "11Jun01" fdutils-5.4
- .SH Name
- floppymeter - measure raw capacity and exact rotation speed of floppy drive
- '\" t
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/doc/format2.texi fdutils/doc/format2.texi
---- fdutils-5.4/doc/format2.texi Fri Sep 19 21:01:19 1997
-+++ fdutils/doc/format2.texi Mon Jun 11 21:59:18 2001
-@@ -157,7 +157,7 @@
- on floppy drives for a detailed description of those formats. This can
- be ftp'ed from the following location:
- @example
--ftp://cantor.informatik.rwth-aachen.de/pub/linux/floppy.ps
-+http://www.moria.de/~michael/floppy/
- @end example
-
- Commodore 1581 disks are not yet described in this documentation. Use
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/doc/getfdprm.1 fdutils/doc/getfdprm.1
---- fdutils-5.4/doc/getfdprm.1 Fri Jun 2 22:28:27 2000
-+++ fdutils/doc/getfdprm.1 Mon Jun 11 22:22:46 2001
-@@ -1,4 +1,4 @@
--.TH getfdprm 1 "02jun00" fdutils-5.4
-+.TH getfdprm 1 "11Jun01" fdutils-5.4
- .SH Name
- getfdprm - print the current format information
- '\" t
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/doc/makefloppies.1 fdutils/doc/makefloppies.1
---- fdutils-5.4/doc/makefloppies.1 Fri Jun 2 22:28:27 2000
-+++ fdutils/doc/makefloppies.1 Mon Jun 11 22:22:46 2001
-@@ -1,4 +1,4 @@
--.TH makefloppies 1 "02jun00" fdutils-5.4
-+.TH makefloppies 1 "11Jun01" fdutils-5.4
- .SH Name
- MAKEFLOPPIES - Creates the default floppy device nodes.
- '\" t
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/doc/setfdprm.1 fdutils/doc/setfdprm.1
---- fdutils-5.4/doc/setfdprm.1 Fri Jun 2 22:28:27 2000
-+++ fdutils/doc/setfdprm.1 Mon Jun 11 22:22:46 2001
-@@ -1,4 +1,4 @@
--.TH setfdprm 1 "02jun00" fdutils-5.4
-+.TH setfdprm 1 "11Jun01" fdutils-5.4
- .SH Name
- setfdprm - sets user-provided floppy disk parameters
- '\" t
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/doc/superformat.1 fdutils/doc/superformat.1
---- fdutils-5.4/doc/superformat.1 Fri Jun 2 22:28:27 2000
-+++ fdutils/doc/superformat.1 Mon Jun 11 22:22:46 2001
-@@ -1,4 +1,4 @@
--.TH superformat 1 "02jun00" fdutils-5.4
-+.TH superformat 1 "11Jun01" fdutils-5.4
- .SH Name
- superformat - format floppies
- '\" t
-@@ -258,14 +258,19 @@
- spins, and on how much time is needed to change the head or the track.
- .TP
- \&\fR\&\f(CW--absolute_skew\ \fIabsolute-skew\fR\&\f(CW\fR\
--Set the absolute skew. (The skew value used for the first formatted
--track)
-+.IP
-+Set the absolute skew. This skew value is used for the first formatted
-+track. It is expressed in raw bytes.
- .TP
- \&\fR\&\f(CW--head_skew\ \fIhead-skew\fR\&\f(CW\fR\
--Set the head skew. (The skew added for passing from head 0 to head 1)
-+.IP
-+Set the head skew. This is the skew added for passing from head 0 to
-+head 1. It is expressed in raw bytes.
- .TP
- \&\fR\&\f(CW--track_skew\ \fItrack-skew\fR\&\f(CW\fR\
--Set the track skew. (The skew added for seeking to the next track)
-+.IP
-+Set the track skew. This is the skew added for seeking to the next
-+track. It is expressed in raw bytes.
- .PP
- Example: (absolute skew=3, head skew=1, track skew=2)
- .PP
-@@ -287,6 +292,10 @@
- .lp
-
- \&\fR
-+.PP
-+N.B. For simplicitie's sake, this example expresses skews in units of
-+sectors. In reality, superformat expects the skews to be expressed in
-+raw bytes.
- .PP
- .SH Examples
- In all the examples of this section, we assume that drive 0 is a 3 1/2
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/doc/superformat.texi fdutils/doc/superformat.texi
---- fdutils-5.4/doc/superformat.texi Sat May 27 18:36:51 2000
-+++ fdutils/doc/superformat.texi Mon May 21 00:24:21 2001
-@@ -187,14 +187,20 @@
-
- @table @code
- @item --absolute_skew @var{absolute-skew}
--Set the absolute skew. (The skew value used for the first formatted
--track)
-+
-+Set the absolute skew. This skew value is used for the first formatted
-+track. It is expressed in raw bytes.
-
- @item --head_skew @var{head-skew}
--Set the head skew. (The skew added for passing from head 0 to head 1)
-+
-+Set the head skew. This is the skew added for passing from head 0 to
-+head 1. It is expressed in raw bytes.
-
- @item --track_skew @var{track-skew}
--Set the track skew. (The skew added for seeking to the next track)
-+
-+Set the track skew. This is the skew added for seeking to the next
-+track. It is expressed in raw bytes.
-+
- @end table
-
- Example: (absolute skew=3, head skew=1, track skew=2)
-@@ -209,6 +215,10 @@
- track 2 head 0: 4,5,6,1,2,3 (skew=3)
- track 2 head 1: 3,4,5,6,1,2 (skew=4)
- @end example
-+
-+N.B. For simplicitie's sake, this example expresses skews in units of
-+sectors. In reality, superformat expects the skews to be expressed in
-+raw bytes.
-
- @node Examples, Troubleshooting, Sector skewing options, superformat
- @subsection Examples
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/doc/xdfcopy.1 fdutils/doc/xdfcopy.1
---- fdutils-5.4/doc/xdfcopy.1 Fri Jun 2 22:28:27 2000
-+++ fdutils/doc/xdfcopy.1 Mon Jun 11 22:22:47 2001
-@@ -1,4 +1,4 @@
--.TH xdfcopy 1 "02jun00" fdutils-5.4
-+.TH xdfcopy 1 "11Jun01" fdutils-5.4
- .SH Name
- xdfcopy - Program to copy and format Xdf disks in Linux
- '\" t
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/src/MAKEFLOPPIES fdutils/src/MAKEFLOPPIES
---- fdutils-5.4/src/MAKEFLOPPIES Wed Aug 21 16:51:25 1996
-+++ fdutils/src/MAKEFLOPPIES Sun Feb 3 20:13:39 2002
-@@ -12,6 +12,9 @@
- set -u
- MAJOR=2
- TMPDEVICE=/dev/tmpfloppy$$
-+if [ ! -b /dev/fd0 ] ; then
-+ mknod /dev/fd0 b $MAJOR 0
-+fi
- if floppycontrol 2>/dev/null; then
- FLOPPYCONTROL=yes
- else
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/src/diskseekd.c fdutils/src/diskseekd.c
---- fdutils-5.4/src/diskseekd.c Sat May 27 18:50:05 2000
-+++ fdutils/src/diskseekd.c Mon May 21 00:24:21 2001
-@@ -1,4 +1,7 @@
- #include <sys/types.h>
-+#ifdef HAVE_SYS_SYSMACROS_H
-+# include <sys/sysmacros.h>
-+#endif
- #include <sys/time.h>
- #include <unistd.h>
- #include <stdio.h>
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/src/driveprm.c fdutils/src/driveprm.c
---- fdutils-5.4/src/driveprm.c Sat May 27 18:49:58 2000
-+++ fdutils/src/driveprm.c Mon May 21 00:24:21 2001
-@@ -1,3 +1,7 @@
-+#include <sys/types.h>
-+#ifdef HAVE_SYS_SYSMACROS_H
-+# include <sys/sysmacros.h>
-+#endif
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/src/fdmount.c fdutils/src/fdmount.c
---- fdutils-5.4/src/fdmount.c Sat May 27 18:50:14 2000
-+++ fdutils/src/fdmount.c Sun Feb 3 23:50:06 2002
-@@ -826,14 +826,9 @@
-
- mnt=get_mounted(devname);
- if (!mnt) {
-- if (!force) {
-- errmsg("not mounted");
-- save_unlock_mtab();
-- return -1;
-- }
-- else {
-- msg("not in /etc/mtab, trying to unmount anyway!");
-- }
-+ errmsg("not mounted");
-+ save_unlock_mtab();
-+ return -1;
- }
- else {
- mountpoint=mnt->ms.mnt_dir;
-@@ -860,7 +855,7 @@
- }
- #endif
-
-- e=umount(devname);
-+ e=umount(mountpoint);
- if (e) {
- errmsg("failed to unmount: %s\n",strerror(errno));
- goto err;
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/src/floppycontrol.c fdutils/src/floppycontrol.c
---- fdutils-5.4/src/floppycontrol.c Sun Apr 2 10:18:15 2000
-+++ fdutils/src/floppycontrol.c Sat Oct 27 13:47:28 2001
-@@ -16,6 +16,11 @@
- #include <getopt.h>
- #include "enh_options.h"
-
-+#ifndef FD_DISK_CHANGED
-+#define FD_DISK_CHANGED 0
-+#endif
-+
-+
- int eioctl(int fd, int command,void * param, char *emsg)
- {
- int r;
-@@ -381,14 +386,17 @@
- eioctl( fd, FDPOLLDRVSTAT, &drivstat,"get drive state");
- else
- eioctl( fd, FDGETDRVSTAT , &drivstat,"get drive state");
-- printf("%s %s %s %s %s\n",
-+
-+#ifndef FD_DCL_SEEN
-+# define FD_DCL_SEEN 0x40
-+#endif
-+ printf("%s %s %s %s %s %s\n",
- drivstat.flags & FD_VERIFY ? "verify" : "",
- drivstat.flags & FD_DISK_NEWCHANGE ? "newchange" : "",
- drivstat.flags & FD_NEED_TWADDLE ? "need_twaddle" : "",
--#ifdef FD_DISK_CHANGED
- drivstat.flags & FD_DISK_CHANGED ? "disk_changed" : "",
--#endif
-- drivstat.flags & FD_DISK_WRITABLE ?"disk_writable" : "");
-+ drivstat.flags & FD_DISK_WRITABLE ?"disk_writable" : "",
-+ drivstat.flags & FD_DCL_SEEN ?"dcl_seen" : "");
- printf("spinup= %ld\n", drivstat.spinup_date);
- printf("select= %ld\n", drivstat.select_date);
- printf("first_read= %ld\n", drivstat.first_read_date);
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/src/floppymeter.c fdutils/src/floppymeter.c
---- fdutils-5.4/src/floppymeter.c Sat May 27 18:49:58 2000
-+++ fdutils/src/floppymeter.c Mon May 21 00:24:21 2001
-@@ -1,3 +1,7 @@
-+#include <sys/types.h>
-+#ifdef HAVE_SYS_SYSMACROS_H
-+# include <sys/sysmacros.h>
-+#endif
- #include <unistd.h>
- #include <stdio.h>
- #include <string.h>
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/src/measure.c fdutils/src/measure.c
---- fdutils-5.4/src/measure.c Sat May 27 18:49:57 2000
-+++ fdutils/src/measure.c Sun Feb 3 22:15:54 2002
-@@ -138,6 +138,23 @@
- perror("format");
- exit(1);
- }
-+
-+ if((raw_cmd.reply[1] & ~0x20) |
-+ (raw_cmd.reply[2] & ~0x20)) {
-+ int i;
-+
-+ if ( raw_cmd.reply[1] & ST1_WP ){
-+ fprintf(stderr,"The disk is write protected\n");
-+ exit(1);
-+ }
-+
-+ fprintf(stderr,
-+ "\nFatal error while measuring raw capacity\n");
-+ for(i=0; i < raw_cmd.reply_count; i++) {
-+ fprintf(stderr, "%d: %02x\n", i, raw_cmd.reply[i]);
-+ }
-+ exit(1);
-+ }
- }
-
-
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/src/mediaprm.c fdutils/src/mediaprm.c
---- fdutils-5.4/src/mediaprm.c Wed Mar 22 22:16:53 2000
-+++ fdutils/src/mediaprm.c Mon May 21 00:24:21 2001
-@@ -20,6 +20,7 @@
- FE_TPI,
- FE_STRETCH,
- FE_SWAPSIDES,
-+ FE_ZEROBASED,
-
- FE_GAP,
-
-@@ -35,7 +36,8 @@
- FE_DENSITY,
- } field_t;
-
--static int SIZE, SECT, VSECT, HEAD, CYL, TPI, STRETCH, SWAPSIDES, GAP, FM;
-+static int SIZE, SECT, VSECT, HEAD, CYL, TPI, STRETCH, SWAPSIDES, ZEROBASED;
-+static int GAP, FM;
- static int PERP, SSIZE, _2M, DTR, SPEC1, FMT_GAP, DENSITY;
- static int ssize;
-
-@@ -48,6 +50,7 @@
- #define F_TPI FE_TPI,&TPI
- #define F_STRETCH FE_STRETCH,&STRETCH
- #define F_SWAPSIDES FE_SWAPSIDES,&SWAPSIDES
-+#define F_ZEROBASED FE_ZEROBASED,&ZEROBASED
-
- #define F_GAP FE_GAP,&GAP
-
-@@ -77,6 +80,7 @@
- { "stretch", F_STRETCH, 0 },
-
- { "swapsides", F_SWAPSIDES, 1},
-+ { "zerobased", F_ZEROBASED, 1},
-
- { "gap", F_GAP, 0},
-
-@@ -234,7 +238,7 @@
- medprm->sect = VSECT / 512;
- medprm->head = HEAD;
- medprm->track = CYL;
-- medprm->stretch = STRETCH | (SWAPSIDES << 1);
-+ medprm->stretch = STRETCH | (SWAPSIDES << 1) | (ZEROBASED << 2);
- medprm->gap = GAP;
- medprm->rate = (FM<<7) | (PERP<<6) | (ssize<<3) | (_2M<<2) | DTR;
- medprm->spec1 = SPEC1;
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/src/printfdprm.c fdutils/src/printfdprm.c
---- fdutils-5.4/src/printfdprm.c Mon Jun 9 22:58:15 1997
-+++ fdutils/src/printfdprm.c Mon May 21 00:24:21 2001
-@@ -141,6 +141,12 @@
- print("swapsides",0);
- #endif
-
-+#ifdef FD_ZEROBASED
-+ if(ft->stretch & FD_ZEROBASED)
-+ print("zerobased",0);
-+#endif
-+
-+
- if(ft->rate & FD_2M)
- print("2M",0);
-
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/src/superformat.c fdutils/src/superformat.c
---- fdutils-5.4/src/superformat.c Sat May 27 18:49:57 2000
-+++ fdutils/src/superformat.c Fri Feb 22 11:55:23 2002
-@@ -26,7 +26,10 @@
- cylinders as happen to work (as in 2m). Currently, if too many cylinders
- are attempted it won't fail until the very end
- */
--
-+#include <sys/types.h>
-+#ifdef HAVE_SYS_SYSMACROS_H
-+# include <sys/sysmacros.h>
-+#endif
- #include <unistd.h>
- #include <stdio.h>
- #include <string.h>
-@@ -68,6 +71,7 @@
- char floppy_buffer[24 * 512];
- int verbosity = 3;
- static char noverify = 0;
-+static char noformat = 0;
- static char dosverify = 0;
- static char verify_later = 0;
- short stretch;
-@@ -323,7 +327,8 @@
- raw_cmd.length = nssect * sizeof(format_map_t);
- raw_cmd.cmd_count = 6;
- raw_cmd.cmd[0] = FD_FORMAT & ~fm_mode;
-- raw_cmd.cmd[1] = head << 2 | ( fd->drive & 3);
-+ raw_cmd.cmd[1] = (head << 2 | ( fd->drive & 3)) ^
-+ (fd->swapSides ? 4 : 0);
- raw_cmd.cmd[2] = fd->sizecode;
- raw_cmd.cmd[3] = nssect;
- raw_cmd.cmd[4] = fd->fmt_gap;
-@@ -355,7 +360,8 @@
- raw_cmd.data = floppy_buffer;
- raw_cmd.cmd_count = 9;
- raw_cmd.cmd[0] = FD_WRITE & ~fm_mode & ~0x80;
-- raw_cmd.cmd[1] = head << 2 | ( fd->drive & 3);
-+ raw_cmd.cmd[1] = (head << 2 | ( fd->drive & 3)) ^
-+ (fd->swapSides ? 4 : 0);
- raw_cmd.cmd[2] = cylinder;
- raw_cmd.cmd[3] = head;
- raw_cmd.cmd[4] = cur_sector;
-@@ -490,6 +496,7 @@
-
- short retries;
- short zeroBased=0;
-+ short swapSides=0;
- int n,rsize;
- char *verify_buffer = NULL;
- char dosdrive;
-@@ -510,6 +517,11 @@
- (void *) &noverify,
- "skip verification" },
-
-+ { '\0', "print-drive-deviation", 0, EO_TYPE_BYTE, 1, 0,
-+ (void *) &noformat,
-+ "print deviation, do not format " },
-+
-+
- { 'B', "dosverify", 0, EO_TYPE_BYTE, 1, 0,
- (void *) &dosverify,
- "verify disk using mbadblocks" },
-@@ -662,11 +674,6 @@
- exit(1);
- }
-
-- fd[0].zeroBased = zeroBased;
-- if(zeroBased)
-- noverify = 1;
--
--
- /* sanity checking */
- if (sizecode < 0 || sizecode >= MAX_SIZECODE) {
- fprintf(stderr,"Bad sizecode %d\n", sizecode);
-@@ -779,7 +786,16 @@
- break;
- }
- stretch = geometry.stretch & 1;
--
-+#ifdef FD_ZEROBASED
-+ if(geometry.stretch & FD_ZEROBASED) {
-+ zeroBased = 1;
-+ }
-+#endif
-+#ifdef FD_SWAPSIDES
-+ if(geometry.stretch & FD_SWAPSIDES) {
-+ swapSides = 1;
-+ }
-+#endif
- mask |= SET_SECTORS | SET_CYLINDERS |
- SET_SIZECODE | SET_2M | SET_RATE;
- } else {
-@@ -831,6 +847,15 @@
- stretch = 0;
- }
- }
-+
-+ fd[0].zeroBased = zeroBased;
-+#ifndef FD_ZEROBASED
-+ if(zeroBased) {
-+ noverify = 1;
-+ }
-+#endif
-+
-+ fd[0].swapSides = swapSides;
-
- if (cylinders > fd[0].drvprm.tracks) {
- fprintf(stderr,"too many cylinder for this drive\n");
-@@ -900,8 +925,9 @@
- fprintf(stderr,
- "In order to avoid this time consuming "
- "measurement in the future,\n"
-- "add the following line to " DRIVEPRMFILE
-- ":\ndrive%d: deviation=%d\n",
-+ "add the following line to " DRIVEPRMFILE ":\n");
-+ fprintf(stdout,
-+ "drive%d: deviation=%d\n",
- fd[0].drive,
- (fd[0].raw_capacity-old_capacity)*1000000/
- old_capacity);
-@@ -914,6 +940,9 @@
- }
- }
-
-+ if(noformat)
-+ return 0;
-+
- /* FIXME. Why is this needed? */
- fd[0].raw_capacity -= 30;
-
-@@ -971,7 +1000,11 @@
- parameters.head = heads;
- parameters.track = cylinders;
- parameters.size = cylinders * heads * sectors;
-- parameters.stretch = stretch;
-+ parameters.stretch = stretch
-+#ifdef FD_ZEROBASED
-+ | (zeroBased ? 4 : 0)
-+#endif
-+ | (swapSides ? 2 : 0);
- parameters.gap = fd[0].gap;
- if ( !use_2m)
- fd0.rate = fd[0].rate;
-@@ -1054,7 +1087,7 @@
- ioctl(fd[0].fd, FDFLUSH );
- close(fd[0].fd);
-
-- if (! (mask & SET_DOSDRIVE ) && fd[0].drive < 2)
-+ if (! (mask & SET_DOSDRIVE ) && fd[0].drive < 2 && !zeroBased)
- dosdrive = fd[0].drive+'a';
-
- if (dosdrive) {
-@@ -1085,8 +1118,9 @@
- dosverify = 0;
- }
- } else {
-- fprintf(stderr,
-- "\nwarning: mformat not called because DOS drive unknown\n");
-+ if(!zeroBased)
-+ fprintf(stderr,
-+ "\nwarning: mformat not called because DOS drive unknown\n");
- /*exit(1);*/
- dosverify = 0;
- }
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/src/superformat.h fdutils/src/superformat.h
---- fdutils-5.4/src/superformat.h Sun Apr 2 10:09:28 2000
-+++ fdutils/src/superformat.h Mon May 21 00:24:21 2001
-@@ -84,6 +84,7 @@
- int rotations; /* how many time do we have to go over 0 to read
- * the track */
- int zeroBased; /* 1 if sector numbering starts at zero */
-+ int swapSides; /* if logical side 0 is on physical 1 and vice-versa */
- };
-
-
-diff -ur --new-file --exclude-from=/home/aknaff/floppy/exclude fdutils-5.4/src/xdfcopy.c fdutils/src/xdfcopy.c
---- fdutils-5.4/src/xdfcopy.c Sat May 27 18:49:57 2000
-+++ fdutils/src/xdfcopy.c Mon May 21 00:24:21 2001
-@@ -2,6 +2,10 @@
- * Software patents declared unconstitutional, worldwide
- */
-
-+#include <sys/types.h>
-+#ifdef HAVE_SYS_SYSMACROS_H
-+# include <sys/sysmacros.h>
-+#endif
- #include <unistd.h>
- #include <stdio.h>
- #include <string.h>
diff --git a/source/a/floppy/fdutils-5.5-20081027.diff b/source/a/floppy/fdutils-5.5-20081027.diff
new file mode 100644
index 000000000..d4033be37
--- /dev/null
+++ b/source/a/floppy/fdutils-5.5-20081027.diff
@@ -0,0 +1,905 @@
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/Changelog fdutils/Changelog
+--- fdutils-5.5/Changelog 2005-03-03 22:41:49.000000000 +0100
++++ fdutils/Changelog 2006-02-27 23:01:38.000000000 +0100
+@@ -1,3 +1,5 @@
++v20060227
++ * Fixed "zero-based" flag
+ v20050303
+ * Fixed instant verification in superformat (now based on
+ FDRAWCMD, rather than VFS' read which is plagued by excessive
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/doc/diskd.1 fdutils/doc/diskd.1
+--- fdutils-5.5/doc/diskd.1 2005-03-03 22:55:18.000000000 +0100
++++ fdutils/doc/diskd.1 2008-10-27 20:53:44.000000000 +0100
+@@ -1,4 +1,4 @@
+-.TH diskd 1 "03Mar05" fdutils-5.5
++.TH diskd 1 "27oct08" fdutils-5.5
+ .SH Name
+ diskd - disk daemon; wait for disk to be inserted
+ '\" t
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/doc/diskseekd.1 fdutils/doc/diskseekd.1
+--- fdutils-5.5/doc/diskseekd.1 2005-03-03 22:55:18.000000000 +0100
++++ fdutils/doc/diskseekd.1 2008-10-27 20:53:44.000000000 +0100
+@@ -1,4 +1,4 @@
+-.TH diskseekd 1 "03Mar05" fdutils-5.5
++.TH diskseekd 1 "27oct08" fdutils-5.5
+ .SH Name
+ diskseek, diskseekd - disk seek daemon; simulates Messy Dos' drive cleaning effect
+ '\" t
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/doc/fdmount.1 fdutils/doc/fdmount.1
+--- fdutils-5.5/doc/fdmount.1 2005-03-03 22:55:18.000000000 +0100
++++ fdutils/doc/fdmount.1 2008-10-27 20:53:45.000000000 +0100
+@@ -1,4 +1,4 @@
+-.TH fdmount 1 "03Mar05" fdutils-5.5
++.TH fdmount 1 "27oct08" fdutils-5.5
+ .SH Name
+ fdmount - Floppy disk mount utility
+ '\" t
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/doc/fdrawcmd.1 fdutils/doc/fdrawcmd.1
+--- fdutils-5.5/doc/fdrawcmd.1 2005-03-03 22:55:18.000000000 +0100
++++ fdutils/doc/fdrawcmd.1 2008-10-27 20:53:45.000000000 +0100
+@@ -1,4 +1,4 @@
+-.TH fdrawcmd 1 "03Mar05" fdutils-5.5
++.TH fdrawcmd 1 "27oct08" fdutils-5.5
+ .SH Name
+ fdrawcmd - send raw commands to the floppy disk controller
+ '\" t
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/doc/floppycontrol.1 fdutils/doc/floppycontrol.1
+--- fdutils-5.5/doc/floppycontrol.1 2005-03-03 22:55:18.000000000 +0100
++++ fdutils/doc/floppycontrol.1 2008-10-27 20:53:45.000000000 +0100
+@@ -1,4 +1,4 @@
+-.TH floppycontrol 1 "03Mar05" fdutils-5.5
++.TH floppycontrol 1 "27oct08" fdutils-5.5
+ .SH Name
+ floppycontrol - floppy driver configuration utility
+ '\" t
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/doc/floppymeter.1 fdutils/doc/floppymeter.1
+--- fdutils-5.5/doc/floppymeter.1 2005-03-03 22:55:18.000000000 +0100
++++ fdutils/doc/floppymeter.1 2008-10-27 20:53:45.000000000 +0100
+@@ -1,4 +1,4 @@
+-.TH floppymeter 1 "03Mar05" fdutils-5.5
++.TH floppymeter 1 "27oct08" fdutils-5.5
+ .SH Name
+ floppymeter - measure raw capacity and exact rotation speed of floppy drive
+ '\" t
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/doc/formatlist.texi fdutils/doc/formatlist.texi
+--- fdutils-5.5/doc/formatlist.texi 2002-05-02 23:03:31.000000000 +0200
++++ fdutils/doc/formatlist.texi 2006-02-27 23:08:50.000000000 +0100
+@@ -221,7 +221,7 @@
+ setfdprm /dev/fd0H1520 1520 19 2 80 0 0x1b 0 0xcf 0x6c
+ @end example
+
+-@strong{Note:} This redefines the geometry for any device node with the
++@strong{NB:} This redefines the geometry for any device node with the
+ same format number, not just the new node.
+
+ The new geometry is only valid until the next reboot (or removal of the
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/doc/getfdprm.1 fdutils/doc/getfdprm.1
+--- fdutils-5.5/doc/getfdprm.1 2005-03-03 22:55:18.000000000 +0100
++++ fdutils/doc/getfdprm.1 2008-10-27 20:53:45.000000000 +0100
+@@ -1,4 +1,4 @@
+-.TH getfdprm 1 "03Mar05" fdutils-5.5
++.TH getfdprm 1 "27oct08" fdutils-5.5
+ .SH Name
+ getfdprm - print the current format information
+ '\" t
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/doc/makefloppies.1 fdutils/doc/makefloppies.1
+--- fdutils-5.5/doc/makefloppies.1 2005-03-03 22:55:18.000000000 +0100
++++ fdutils/doc/makefloppies.1 2008-10-27 20:53:45.000000000 +0100
+@@ -1,4 +1,4 @@
+-.TH makefloppies 1 "03Mar05" fdutils-5.5
++.TH makefloppies 1 "27oct08" fdutils-5.5
+ .SH Name
+ MAKEFLOPPIES - Creates the default floppy device nodes.
+ '\" t
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/doc/setfdprm.1 fdutils/doc/setfdprm.1
+--- fdutils-5.5/doc/setfdprm.1 2005-03-03 22:55:18.000000000 +0100
++++ fdutils/doc/setfdprm.1 2008-10-27 20:53:45.000000000 +0100
+@@ -1,4 +1,4 @@
+-.TH setfdprm 1 "03Mar05" fdutils-5.5
++.TH setfdprm 1 "27oct08" fdutils-5.5
+ .SH Name
+ setfdprm - sets user-provided floppy disk parameters
+ '\" t
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/doc/superformat.1 fdutils/doc/superformat.1
+--- fdutils-5.5/doc/superformat.1 2005-03-03 22:55:18.000000000 +0100
++++ fdutils/doc/superformat.1 2008-10-27 20:53:45.000000000 +0100
+@@ -1,4 +1,4 @@
+-.TH superformat 1 "03Mar05" fdutils-5.5
++.TH superformat 1 "27oct08" fdutils-5.5
+ .SH Name
+ superformat - format floppies
+ '\" t
+@@ -79,7 +79,7 @@
+ .in +0.3i
+ \&\fR\&\f(CWsuperformat [\fR\&\f(CW-D \fIdos-drive\fR\&\f(CW] [\fR\&\f(CW-v \fIverbosity-level\fR\&\f(CW] [\fR\&\f(CW-b \fIbegin-track\fR\&\f(CW]
+ [\fR\&\f(CW-e \fIend-track\fR\&\f(CW] [\fR\&\f(CW--superverify] [\fR\&\f(CW--dosverify]
+-[\fR\&\f(CW--noverify] [\fR\&\f(CW--verify_later] [\fR\&\f(CW--zero-based]
++[\fR\&\f(CW--noverify] [\fR\&\f(CW--verify_later] [\fR\&\f(CW--first-sector-number \fIn\fR\&\f(CW] [\fR\&\f(CW--zero-based]
+ [\fR\&\f(CW-G \fIformat-gap\fR\&\f(CW] [\fR\&\f(CW-F \fIfinal-gap\fR\&\f(CW] [\fR\&\f(CW-i \fIinterleave\fR\&\f(CW] [\fR\&\f(CW-c \fIchunksize\fR\&\f(CW]
+ [\fR\&\f(CW-g \fIgap\fR\&\f(CW] [\fR\&\f(CW--absolute-skew \fIabsolute-skew\fR\&\f(CW] [\fR\&\f(CW--head-skew \fIhead-skew\fR\&\f(CW]
+ [\fR\&\f(CW--track-skew \fItrack-skew\fR\&\f(CW] [\fR\&\f(CW--biggest-last] \fIdrive\fR\&\f(CW [\fImedia-description\fR\&\f(CW]
+@@ -237,13 +237,12 @@
+ For MSS formats, make sure that the biggest sector is last on the track.
+ This makes the format more reliable on drives which are out of spec.
+ .TP
++\&\fR\&\f(CW--first-sector-number\ \fIn\fR\&\f(CW\fR\
++Formats the disk with sector numbers starting at \fIn\fR, rather than
++1. Certain CP/M boxes or Music synthesizers use this format.
++.TP
+ \&\fR\&\f(CW--zero-based\fR\
+-Formats the disk with sector numbers starting at 0, rather than
+-1. Certain CP/M boxes or Music synthesizers use this format. Those disks
+-can currently not be read/written to by the standard Linux read/write
+-API; you have to use fdrawcmd to access them. As disk verifying is done
+-by this API, verifying is automatically switched off when formatting
+-zero-based.
++Shorthand for \fR\&\f(CW--first-sector-number 0\fR
+ .PP
+ .SH Sector\ skewing\ options
+ .PP
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/doc/superformat.texi fdutils/doc/superformat.texi
+--- fdutils-5.5/doc/superformat.texi 2002-11-02 14:35:11.000000000 +0100
++++ fdutils/doc/superformat.texi 2008-10-27 20:53:41.000000000 +0100
+@@ -6,7 +6,7 @@
+ @example
+ @code{superformat} [@code{-D} @var{dos-drive}] [@code{-v} @var{verbosity-level}] [@code{-b} @var{begin-track}]
+ [@code{-e} @var{end-track}] [@code{--superverify}] [@code{--dosverify}]
+-[@code{--noverify}] [@code{--verify_later}] [@code{--zero-based}]
++[@code{--noverify}] [@code{--verify_later}] [@code{--first-sector-number} @var{n}] [@code{--zero-based}]
+ [@code{-G} @var{format-gap}] [@code{-F} @var{final-gap}] [@code{-i} @var{interleave}] [@code{-c} @var{chunksize}]
+ [@code{-g} @var{gap}] [@code{--absolute-skew} @var{absolute-skew}] [@code{--head-skew} @var{head-skew}]
+ [@code{--track-skew} @var{track-skew}] [@code{--biggest-last}] @var{drive} [@var{media-description}]
+@@ -162,13 +162,12 @@
+ For MSS formats, make sure that the biggest sector is last on the track.
+ This makes the format more reliable on drives which are out of spec.
+
++@item --first-sector-number @var{n}
++Formats the disk with sector numbers starting at @var{n}, rather than
++1. Certain CP/M boxes or Music synthesizers use this format.
++
+ @item --zero-based
+-Formats the disk with sector numbers starting at 0, rather than
+-1. Certain CP/M boxes or Music synthesizers use this format. Those disks
+-can currently not be read/written to by the standard Linux read/write
+-API; you have to use fdrawcmd to access them. As disk verifying is done
+-by this API, verifying is automatically switched off when formatting
+-zero-based.
++Shorthand for @code{--first-sector-number 0}
+
+ @end table
+
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/doc/xdfcopy.1 fdutils/doc/xdfcopy.1
+--- fdutils-5.5/doc/xdfcopy.1 2005-03-03 22:55:18.000000000 +0100
++++ fdutils/doc/xdfcopy.1 2008-10-27 20:53:45.000000000 +0100
+@@ -1,4 +1,4 @@
+-.TH xdfcopy 1 "03Mar05" fdutils-5.5
++.TH xdfcopy 1 "27oct08" fdutils-5.5
+ .SH Name
+ xdfcopy - Program to copy and format Xdf disks in Linux
+ '\" t
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/src/calc-format.c fdutils/src/calc-format.c
+--- fdutils-5.5/src/calc-format.c 2004-02-28 23:00:28.000000000 +0100
++++ fdutils/src/calc-format.c 2008-10-27 20:19:20.000000000 +0100
+@@ -10,8 +10,8 @@
+ #define SSIZE(j) ( (128<<j) + GAPSIZE(j) + header_size)
+
+
+-static inline int chunks_in_sect(struct params *fd, int i,
+- int gap, int chunksize)
++static inline unsigned int chunks_in_sect(struct params *fd, int i,
++ int gap, int chunksize)
+ {
+ return (SSIZE(i)-1) / chunksize + 1;
+ }
+@@ -28,22 +28,22 @@
+ }
+
+
+-static inline int firstSector(struct params *fd, int i)
++static inline unsigned int firstSector(struct params *fd, int i)
+ {
+ if(i>=MAX_SIZECODE-1)
+- return 1;
++ return 0;
+ else
+ return fd->last_sect[i+1];
+ }
+
+-static inline int lastSector(struct params *fd, int i)
++static inline unsigned int lastSector(struct params *fd, int i)
+ {
+ return fd->last_sect[i];
+ }
+
+-static inline int nrSectorsForSize(struct params *fd, int i)
++static inline unsigned int nrSectorsForSize(struct params *fd, int i)
+ {
+- return lastSector(fd, i) - firstSector(fd, i);
++ return lastSector(fd, i) - firstSector(fd, i);
+ }
+
+
+@@ -93,7 +93,7 @@
+ int i;
+ int nr_sectors;
+
+- cur_sector = 1;
++ cur_sector = 0;
+ sizes=0;
+ for (i=MAX_SIZECODE-1; i>=0; --i) {
+ if(i > max_sizecode)
+@@ -107,7 +107,7 @@
+ if(nr_sectors)
+ sizes++;
+ }
+- fd->dsect = cur_sector-1; /* number of data sectors */
++ fd->dsect = cur_sector; /* number of data sectors */
+ if(sizes > 1)
+ fd->need_init = 1;
+
+@@ -264,51 +264,54 @@
+ */
+ static void calc_sequence(struct params *fd, int tailsect)
+ {
+- int sec_id, cur_sector, i;
++ int sec_id, cur_slot, i;
++ int *occupied = SafeNewArray(fd->dsect, int);
++ int last_slot = fd->dsect - 1;
+
+- fd->sequence = SafeNewArray(fd->dsect,struct fparm2);
+- cur_sector = fd->dsect-1;
++ fd->sequence = SafeNewArray(fd->dsect, struct fparm2);
++ cur_slot = last_slot;
+
+- /* construct the sequence while working backwards. cur_sector
++ /* construct the sequence while working backwards. cur_slot
+ * points to the place where the next sector will be placed.
+ * We place it, then move circularily backwards placing more
+ * and more sectors */
+ sec_id = tailsect;
+ fd->rotations = 0;
+ for(i=0; i < fd->dsect;
+- i++, cur_sector -= fd->actual_interleave, sec_id--) {
+- if (sec_id == 0)
+- sec_id = fd->dsect;
+-
+- if ( cur_sector < 0) {
+- cur_sector += fd->dsect;
+- if(sec_id != fd->dsect)
++ i++, cur_slot -= fd->actual_interleave, sec_id--) {
++ if (sec_id < 0)
++ sec_id = last_slot;
++
++ if ( cur_slot < 0) {
++ cur_slot += fd->dsect;
++ if(sec_id != last_slot)
+ fd->rotations++;
+ }
+
+ /* slot occupied, look elsewhere */
+- while(fd->sequence[cur_sector].sect ){
+- cur_sector--;
+- if ( cur_sector < 0 ) {
+- cur_sector += fd->dsect;
+- if(sec_id != fd->dsect)
++ while(occupied[cur_slot]) {
++ cur_slot--;
++ if ( cur_slot < 0 ) {
++ cur_slot += fd->dsect;
++ if(sec_id != last_slot)
+ fd->rotations++;
+ }
+ }
+
+ /* place the sector */
+- fd->sequence[cur_sector].sect = sec_id;
+- fd->sequence[cur_sector].size = sizeOfSector(fd, sec_id);
++ fd->sequence[cur_slot].sect = sec_id;
++ fd->sequence[cur_slot].size = sizeOfSector(fd, sec_id);
++ occupied[cur_slot] = 1;
+ }
+
+ /* handle wrap-around between tailsect and tailsect+1 */
+- if(tailsect != fd->dsect) {
+- /* always add one rotation, because tailsect+1 cannot be
++ if(tailsect != last_slot) {
++ /* always add one rotation, because tailsect cannot be
+ * at the last position, thus is necessarily earlyer */
+ fd->rotations++;
+
+ if(fd->actual_interleave == 2 &&
+- cur_sector + fd->actual_interleave == 1)
++ cur_slot + fd->actual_interleave == 1)
+ /* if we use interleave, and the last sector was
+ * placed at the first last position, add one
+ * extra rotation for tailsect+1 following tailsect
+@@ -333,11 +336,11 @@
+ max_offset = cur_sector;
+
+ /* offset of the starting sector */
+- if ( fd->sequence[i].sect == 1 )
++ if ( fd->sequence[i].sect == 0 )
+ fd->min = cur_sector * fd->chunksize;
+
+ /* offset of the end of the of the highest sector */
+- if (fd->sequence[i].sect == fd->dsect)
++ if (fd->sequence[i].sect == fd->dsect - 1)
+ track_end = cur_sector * fd->chunksize +
+ header_size + index_size +
+ SSIZE(fd->sequence[i].size);
+@@ -509,7 +512,7 @@
+ fd->min = 0;
+
+ for(i=0; i<sectors; i++){
+- fd->sequence[i].sect = i+1;
++ fd->sequence[i].sect = i;
+ fd->sequence[i].size = 2;
+ fd->sequence[i].offset = i;
+ }
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/src/fdmount.c fdutils/src/fdmount.c
+--- fdutils-5.5/src/fdmount.c 2005-03-03 23:09:16.000000000 +0100
++++ fdutils/src/fdmount.c 2008-10-27 20:45:50.000000000 +0100
+@@ -629,7 +629,7 @@
+ struct mntent ms;
+ struct floppy_drive_struct drivstat;
+ char options[80+MAX_OPT];
+- char super[2048];
++ unsigned char super[2048];
+ char *mountpoint;
+
+ strncpy(curdev,devname, sizeof(curdev));
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/src/fdutils.h fdutils/src/fdutils.h
+--- fdutils-5.5/src/fdutils.h 2002-05-02 23:03:31.000000000 +0200
++++ fdutils/src/fdutils.h 2008-10-25 22:17:36.000000000 +0200
+@@ -1,4 +1,8 @@
++#ifndef __FDUTILS_H
++#define __FDUTILS_H
++
+ #include <assert.h>
++#include <linux/fd.h>
+ /* This file contains common structures understood by several of the
+ * fdutils
+ */
+@@ -22,3 +26,17 @@
+ #define SafeNew(type) ((type *)(safe_malloc(sizeof(type))))
+ void *safe_malloc(size_t size);
+ void *safe_calloc(size_t nmemb, size_t size);
++
++#ifndef FD_SWAPSIDES
++#define FD_SWAPSIDES 2
++#endif
++
++#ifndef FD_ZEROBASED
++#define FD_ZEROBASED 4
++#endif
++
++#ifndef FD_SECTBASEMASK
++#define FD_SECTBASEMASK 0x3fc
++#endif
++
++#endif
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/src/floppycontrol.c fdutils/src/floppycontrol.c
+--- fdutils-5.5/src/floppycontrol.c 2002-11-02 14:36:43.000000000 +0100
++++ fdutils/src/floppycontrol.c 2008-10-26 09:27:38.000000000 +0100
+@@ -379,7 +379,7 @@
+ }
+
+ if (mask & SET_RESET)
+- eioctl(fd, FDRESET, (void *)reset_now, "reset");
++ eioctl(fd, FDRESET, (void *)(long)reset_now, "reset");
+
+ if (mask & (PRINTSTATE | POLLSTATE) ){
+ if ( mask & POLLSTATE )
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/src/mediaprm.c fdutils/src/mediaprm.c
+--- fdutils-5.5/src/mediaprm.c 2005-03-03 21:51:06.000000000 +0100
++++ fdutils/src/mediaprm.c 2008-10-27 20:34:09.000000000 +0100
+@@ -21,6 +21,7 @@
+ FE_STRETCH,
+ FE_SWAPSIDES,
+ FE_ZEROBASED,
++ FE_FIRSTSECTORNUMBER,
+
+ FE_GAP,
+
+@@ -36,7 +37,7 @@
+ FE_DENSITY,
+ } field_t;
+
+-static int SIZE, SECT, VSECT, HEAD, CYL, TPI, STRETCH, SWAPSIDES, ZEROBASED;
++static int SIZE, SECT, VSECT, HEAD, CYL, TPI, STRETCH, SWAPSIDES, ZEROBASED, FIRSTSECTORNUMBER=1;
+ static int GAP, FM;
+ static int PERP, SSIZE, _2M, DTR, SPEC1, FMT_GAP, DENSITY;
+ static int ssize;
+@@ -51,6 +52,7 @@
+ #define F_STRETCH FE_STRETCH,&STRETCH
+ #define F_SWAPSIDES FE_SWAPSIDES,&SWAPSIDES
+ #define F_ZEROBASED FE_ZEROBASED,&ZEROBASED
++#define F_FIRSTSECTORNUMBER FE_FIRSTSECTORNUMBER,&FIRSTSECTORNUMBER
+
+ #define F_GAP FE_GAP,&GAP
+
+@@ -81,6 +83,8 @@
+
+ { "swapsides", F_SWAPSIDES, 1},
+ { "zerobased", F_ZEROBASED, 1},
++ { "zero-based", F_ZEROBASED, 1},
++ { "first-sector-number", F_FIRSTSECTORNUMBER, 0},
+
+ { "gap", F_GAP, 0},
+
+@@ -234,11 +238,25 @@
+ }
+ set_field(F_2M,0);
+
++ if(mask & (1 << FE_ZEROBASED)) {
++ if((mask & (1 << FE_FIRSTSECTORNUMBER)) &&
++ FIRSTSECTORNUMBER != 0) {
++ fprintf(stderr,
++ "Zerobased incompatible with first-sector-number=%d\n",
++ FIRSTSECTORNUMBER);
++ exit(1);
++ } else
++ FIRSTSECTORNUMBER = 0;
++ } else if(! (mask & (1 << FE_FIRSTSECTORNUMBER))) {
++ FIRSTSECTORNUMBER = 1;
++ }
++
+ medprm->size = SIZE;
+ medprm->sect = VSECT / 512;
+ medprm->head = HEAD;
+ medprm->track = CYL;
+- medprm->stretch = STRETCH | (SWAPSIDES << 1) | (ZEROBASED << 2);
++ medprm->stretch = STRETCH | (SWAPSIDES << 1) |
++ ((1^FIRSTSECTORNUMBER) << 2);
+ medprm->gap = GAP;
+ medprm->rate = (FM<<7) | (PERP<<6) | (ssize<<3) | (_2M<<2) | DTR;
+ medprm->spec1 = SPEC1;
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/src/mediaprm.lex fdutils/src/mediaprm.lex
+--- fdutils-5.5/src/mediaprm.lex 2002-05-02 23:03:31.000000000 +0200
++++ fdutils/src/mediaprm.lex 2006-02-27 22:56:21.000000000 +0100
+@@ -12,7 +12,7 @@
+ %option pointer
+
+ fid [^\"]+
+-vid [A-Za-z_][A-Za-z0-9_]*
++vid [A-Za-z_][A-Za-z0-9_-]*
+ number (0x[a-zA-Z0-9]+|-?[0-9]+)(KB|k|b)?
+
+ %%
+@@ -37,6 +37,8 @@
+ }
+
+ swapsides |
++zerobased |
++zero-based |
+ mss |
+ 2m |
+ 2M |
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/src/msdos_fs.h fdutils/src/msdos_fs.h
+--- fdutils-5.5/src/msdos_fs.h 2002-05-02 23:03:31.000000000 +0200
++++ fdutils/src/msdos_fs.h 2008-10-26 09:27:07.000000000 +0100
+@@ -6,41 +6,41 @@
+ #define p packed
+
+ struct msdos_boot_sector {
+- char jump[3] p; /* 0 - Boot strap short or near jump */
+- char banner[8] p; /* 3 - Name - can be used to special case
++ char jump[3]; /* 0 - Boot strap short or near jump */
++ char banner[8]; /* 3 - Name - can be used to special case
+ partition manager volumes */
+ unsigned short sector_size p; /* 11 - bytes per logical sector */
+- unsigned char cluster_size p; /* 13 - sectors/cluster */
++ unsigned char cluster_size; /* 13 - sectors/cluster */
+ unsigned short res_sect p; /* 14 - reserved sectors */
+- unsigned char fats p; /* 16 - number of FATs */
++ unsigned char fats; /* 16 - number of FATs */
+ unsigned short dir_entries p; /* 17 - root directory entries */
+ unsigned short sectors p; /* 19 - number of sectors */
+- unsigned char media p; /* 21 - media code (unused) */
++ unsigned char media; /* 21 - media code (unused) */
+ unsigned short fat_length p; /* 22 - sectors/FAT */
+ unsigned short secs_track p; /* 24 - sectors per track */
+ unsigned short heads p; /* 26 - number of heads */
+ unsigned long hidden p; /* 28 - hidden sectors (unused) */
+ unsigned long total_sect p; /* 32 - number of sectors (if sectors == 0) */
+- unsigned char physdrive p; /* 36 physical drive ? */
+- unsigned char _reserved p; /* 37 reserved */
+- unsigned char dos4 p; /* 38 DOS > 4.0 diskette */
++ unsigned char physdrive; /* 36 physical drive ? */
++ unsigned char _reserved; /* 37 reserved */
++ unsigned char dos4; /* 38 DOS > 4.0 diskette */
+ unsigned long serial p; /* 39 serial number */
+- unsigned char label[11] p; /* 43 disk label */
+- unsigned char fat_type[8] p; /* 54 FAT type */
++ unsigned char label[11]; /* 43 disk label */
++ char fat_type[8]; /* 54 FAT type */
+ #ifdef USE_2M
+- unsigned char res_2m p; /* 62 reserved by 2M */
+- unsigned char CheckSum p; /* 63 2M checksum (not used) */
+- unsigned char fmt_2mf p; /* 64 2MF format version */
+- unsigned char wt p; /* 65 1 if write track after format */
+- unsigned char rate_0 p; /* 66 data transfer rate on track 0 */
+- unsigned char rate_any p; /* 67 data transfer rate on track<>0 */
++ unsigned char res_2m; /* 62 reserved by 2M */
++ unsigned char CheckSum; /* 63 2M checksum (not used) */
++ unsigned char fmt_2mf; /* 64 2MF format version */
++ unsigned char wt; /* 65 1 if write track after format */
++ unsigned char rate_0; /* 66 data transfer rate on track 0 */
++ unsigned char rate_any; /* 67 data transfer rate on track<>0 */
+ unsigned short BootP p; /* 68 offset to boot program */
+ unsigned short Infp0 p; /* 70 T1: information for track 0 */
+ unsigned short InfpX p; /* 72 T2: information for track<>0 */
+ unsigned short InfTm p; /* 74 T3: track sectors size table */
+- unsigned char junk[126 - 76] p; /* 76 remaining data */
++ unsigned char junk[126 - 76]; /* 76 remaining data */
+ #else
+- unsigned char junk[126 - 62] p; /* 76 remaining data */
++ unsigned char junk[126 - 62]; /* 76 remaining data */
+ #endif
+ unsigned short bootid p; /* 510 should be 0xAA55 */
+ };
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/src/printfdprm.c fdutils/src/printfdprm.c
+--- fdutils-5.5/src/printfdprm.c 2004-03-13 11:02:45.000000000 +0100
++++ fdutils/src/printfdprm.c 2008-10-27 00:59:01.000000000 +0100
+@@ -1,5 +1,6 @@
+ #include <stdio.h>
+ #include "printfdprm.h"
++#include "fdutils.h"
+
+
+ void print_params(drivedesc_t *drivedesc,
+@@ -101,9 +102,9 @@
+ print("tpi=48",0);
+ break;
+ default:
+- if(level >= LEV_ALL || ft->stretch)
+- print("stretch=%d", ft->stretch);
+- break;
++ if(level >= LEV_ALL || (ft->stretch & 1))
++ print("stretch=%d", ft->stretch & 1);
++ break;
+ }
+
+ if(level >= LEV_ALL || ft->size != ft->sect * ft->head * ft->track)
+@@ -136,20 +137,20 @@
+ if(level >= LEV_EXPL || (ft->track != 80 && ft->track != 40))
+ print("cyl=%d", ft->track);
+
+-#ifdef FD_SWAPSIDES
+ if(ft->stretch & FD_SWAPSIDES)
+ print("swapsides",0);
+-#endif
+-
+-#ifdef FD_ZEROBASED
+- if(ft->stretch & FD_ZEROBASED)
+- print("zerobased",0);
+-#endif
+
++ if(ft->stretch & FD_SECTBASEMASK) {
++ int firstSectorNumber = ((ft->stretch & FD_SECTBASEMASK)>>2)^1;
++ if(firstSectorNumber > 1)
++ print("first-sector-number=%d",firstSectorNumber);
++ else if(firstSectorNumber==0)
++ print("zero-based",0);
++ }
+
+ if(ft->rate & FD_2M)
+ print("2M",0);
+-
++
+ if(level < LEV_ALL &&
+ ft->sect * 4 < (2 << ssize) && ft->sect * 4 % (1 << ssize))
+ print("mss", 0);
+@@ -163,7 +164,7 @@
+ }
+
+ /* useless stuff */
+- if(level >= LEV_MOST) {
++ if(level >= LEV_MOST) {
+ print("gap=0x%02x", (unsigned char) ft->gap);
+ print("fmt_gap=0x%02x", (unsigned char) ft->fmt_gap);
+ }
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/src/superformat.c fdutils/src/superformat.c
+--- fdutils-5.5/src/superformat.c 2005-03-03 22:41:05.000000000 +0100
++++ fdutils/src/superformat.c 2008-10-27 20:40:47.000000000 +0100
+@@ -296,7 +296,7 @@
+ fd += findex[cylinder][head];
+ skew = fd->min + lskews[cylinder][head] * fd->chunksize;
+ assert(skew >= fd->min);
+- assert(skew <= fd->max);
++ assert(skew <= fd->max);
+ } else
+ skew = 0;
+
+@@ -305,7 +305,8 @@
+ for (i=0; i<fd->dsect; ++i){
+ offset = fd->sequence[i].offset + lskews[cylinder][head];
+ offset = offset % fd->nssect;
+- data[offset].sector = fd->sequence[i].sect - fd->zeroBased;
++ data[offset].sector =
++ fd->sequence[i].sect + fd->firstSectorNumber;
+ data[offset].size = fd->sequence[i].size;
+ data[offset].cylinder = cylinder;
+ data[offset].head = head;
+@@ -339,7 +340,7 @@
+ raw_cmd.cmd[3] = nssect;
+ raw_cmd.cmd[4] = fd->fmt_gap;
+ raw_cmd.cmd[5] = 0;
+- raw_cmd.flags = FD_RAW_WRITE | FD_RAW_INTR | FD_RAW_SPIN |
++ raw_cmd.flags = FD_RAW_WRITE | FD_RAW_INTR | FD_RAW_SPIN |
+ FD_RAW_NEED_SEEK | FD_RAW_NEED_DISK;
+ raw_cmd.track = cylinder << stretch;
+ raw_cmd.rate = fd->rate & 0x43;
+@@ -363,14 +364,16 @@
+ static int rw_track(struct params *fd, int cylinder, int head, int mode)
+ {
+ int i;
+- int cur_sector;
++ int cur_sector; /* current sector, logical (based on 0) */
+ int retries;
+ struct floppy_raw_cmd raw_cmd;
+
+- cur_sector = 1 - fd->zeroBased;
++ cur_sector = 0;
+
+ for (i=MAX_SIZECODE-1; i>=0; --i) {
+- if ( fd->last_sect[i] <= cur_sector + fd->zeroBased)
++ if ( cur_sector >= fd->last_sect[i] )
++ /* last sector for size reached, move on to next
++ * sizecode */
+ continue;
+ retries=0;
+ retry:
+@@ -383,32 +386,31 @@
+ (fd->swapSides ? 4 : 0);
+ raw_cmd.cmd[2] = cylinder;
+ raw_cmd.cmd[3] = head;
+- raw_cmd.cmd[4] = cur_sector;
++ raw_cmd.cmd[4] = cur_sector + fd->firstSectorNumber;
+ raw_cmd.cmd[5] = i;
+- raw_cmd.cmd[6] = fd->last_sect[i] - 1 - fd->zeroBased;
++ raw_cmd.cmd[6] = fd->last_sect[i] + fd->firstSectorNumber - 1;
+ raw_cmd.cmd[7] = fd->gap;
+ if ( i )
+ raw_cmd.cmd[8] = 0xff;
+ else
+ raw_cmd.cmd[8] = 0xff;
+- raw_cmd.flags = (mode ? FD_RAW_WRITE : FD_RAW_READ) |
++ raw_cmd.flags = (mode ? FD_RAW_WRITE : FD_RAW_READ) |
+ FD_RAW_INTR | FD_RAW_SPIN |
+ FD_RAW_NEED_SEEK | FD_RAW_NEED_DISK;
+ raw_cmd.track = cylinder << stretch;
+ raw_cmd.rate = fd->rate & 0x43;
+
+- raw_cmd.length = (fd->last_sect[i] -
+- fd->zeroBased -
+- cur_sector) * 128 << i;
++ raw_cmd.length = (fd->last_sect[i] - cur_sector) * 128 << i;
+ /* debugging */
+ if (verbosity == 9)
+ printf("%s %ld sectors of size %d starting at %d\n",
+ mode ? "writing" : "reading",
+ raw_cmd.length / 512, i, cur_sector);
+- if(send_cmd(fd->fd, & raw_cmd,
++ if(send_cmd(fd->fd, & raw_cmd,
+ mode ? "format" : "verify")){
+ if ( !retries && mode && (raw_cmd.reply[1] & ST1_ND) ){
+- cur_sector = raw_cmd.reply[5];
++ cur_sector =
++ raw_cmd.reply[5] - fd->firstSectorNumber;
+ retries++;
+ goto retry;
+ }
+@@ -516,6 +518,7 @@
+
+ short retries;
+ short zeroBased=0;
++ short firstSectorNumber=1;
+ short swapSides=0;
+ int n,rsize;
+ char *verify_buffer = NULL;
+@@ -673,6 +676,10 @@
+ (void *) &zeroBased,
+ "Start numbering sectors from 0 instead of 1 (not readable by normal I/O)" },
+
++ { '\0', "first-sector-number", 1, EO_TYPE_SHORT, 1, 0,
++ (void *) &firstSectorNumber,
++ "Number of first sector (by default, 1)" },
++
+ { '\0', 0 }
+ };
+
+@@ -693,6 +700,15 @@
+ exit(1);
+ }
+
++ if(zeroBased) {
++ if(firstSectorNumber == 1)
++ firstSectorNumber = 0;
++ else if(firstSectorNumber > 1) {
++ fprintf(stderr, "Contradiction between zeroBased and firstSectorNumber");
++ exit(1);
++ }
++ }
++
+ /* sanity checking */
+ if (sizecode < 0 || sizecode >= MAX_SIZECODE) {
+ fprintf(stderr,"Bad sizecode %d\n", sizecode);
+@@ -730,7 +746,7 @@
+ while(1) {
+ fd[0].fd = open(fd[0].name, O_RDWR | O_NDELAY | O_EXCL);
+
+- /* we open the disk wronly/rdwr in order to check write
++ /* we open the disk wronly/rdwr in order to check write
+ * protect */
+ if (fd[0].fd < 0) {
+ perror("open");
+@@ -778,7 +794,7 @@
+
+
+ if(have_geom) {
+- if(mask & (SET_SECTORS | SET_CYLINDERS |
++ if(mask & (SET_SECTORS | SET_CYLINDERS |
+ SET_HEADS | SET_SIZECODE | SET_2M | SET_RATE)) {
+ fprintf(stderr,
+ "Cannot mix old style and new style geometry spec\n");
+@@ -805,17 +821,14 @@
+ break;
+ }
+ stretch = geometry.stretch & 1;
+-#ifdef FD_ZEROBASED
+- if(geometry.stretch & FD_ZEROBASED) {
+- zeroBased = 1;
++ if(geometry.stretch & FD_SECTBASEMASK) {
++ firstSectorNumber =
++ ((geometry.stretch & FD_SECTBASEMASK)>>2)^1;
+ }
+-#endif
+-#ifdef FD_SWAPSIDES
+ if(geometry.stretch & FD_SWAPSIDES) {
+ swapSides = 1;
+ }
+-#endif
+- mask |= SET_SECTORS | SET_CYLINDERS |
++ mask |= SET_SECTORS | SET_CYLINDERS |
+ SET_SIZECODE | SET_2M | SET_RATE;
+ } else {
+ /* density */
+@@ -831,7 +844,7 @@
+ density = DRIVE_DEFAULTS.density;
+ if ( mask & SET_RATE ){
+ for (i=0; i< density; ++i) {
+- if(fd[0].rate ==
++ if(fd[0].rate ==
+ DRIVE_DEFAULTS.fmt[i].rate)
+ density=i;
+ }
+@@ -867,13 +880,7 @@
+ }
+ }
+
+- fd[0].zeroBased = zeroBased;
+-#ifndef FD_ZEROBASED
+- if(zeroBased) {
+- noverify = 1;
+- }
+-#endif
+-
++ fd[0].firstSectorNumber = firstSectorNumber;
+ fd[0].swapSides = swapSides;
+
+ if (cylinders > fd[0].drvprm.tracks) {
+@@ -914,7 +921,7 @@
+ header_size = 62;
+
+ if(! (mask & (SET_DEVIATION | SET_MARGIN)) &&
+- (drivedesc.mask & (1 << FE__DEVIATION))) {
++ (drivedesc.mask & (1 << FE__DEVIATION))) {
+ deviation = drivedesc.type.deviation;
+ mask |= SET_DEVIATION;
+ }
+@@ -947,14 +954,14 @@
+ "add the following line to " DRIVEPRMFILE ":\n");
+ fprintf(stdout,
+ "drive%d: deviation=%d\n",
+- fd[0].drive,
++ fd[0].drive,
+ (fd[0].raw_capacity-old_capacity)*1000000/
+ old_capacity);
+ fprintf(stderr,
+ "CAUTION: The line is drive and controller "
+- "specific, so it should be\n"
++ "specific, so it should be\n"
+ "removed before installing a new "
+- "drive %d or floppy controller.\n\n",
++ "drive %d or floppy controller.\n\n",
+ fd[0].drive);
+ }
+ }
+@@ -981,7 +988,7 @@
+ if (verbosity == 9) {
+ for (i=0; i<fd[0].dsect; ++i)
+ printf("s=%2d S=%2d o=%2d\n",
+- fd[0].sequence[i].sect,
++ fd[0].sequence[i].sect + firstSectorNumber,
+ fd[0].sequence[i].size,
+ fd[0].sequence[i].offset);
+
+@@ -1004,9 +1011,10 @@
+ if (verbosity == 9){
+ for (i=0; i< fd0.dsect; i++)
+ printf("s=%2d S=%2d o=%2d\n",
+- fd0.sequence[i].sect,
+- fd0.sequence[i].size,
+- fd0.sequence[i].offset);
++ fd0.sequence[i].sect +
++ fd0.firstSectorNumber,
++ fd0.sequence[i].size,
++ fd0.sequence[i].offset);
+
+ printf("fd[0].sizecode=%d\n", fd0.sizecode);
+ printf("fd[0].fmt_gap=%d\n", fd0.fmt_gap);
+@@ -1019,11 +1027,9 @@
+ parameters.head = heads;
+ parameters.track = cylinders;
+ parameters.size = cylinders * heads * sectors;
+- parameters.stretch = stretch
+-#ifdef FD_ZEROBASED
+- | (zeroBased ? 4 : 0)
+-#endif
+- | (swapSides ? 2 : 0);
++ parameters.stretch = stretch
++ | (swapSides ? 2 : 0)
++ | ((1^firstSectorNumber) << 2);
+ parameters.gap = fd[0].gap;
+ if ( !use_2m)
+ fd0.rate = fd[0].rate;
+@@ -1109,7 +1115,8 @@
+ ioctl(fd[0].fd, FDFLUSH );
+ close(fd[0].fd);
+
+- if (! (mask & SET_DOSDRIVE ) && fd[0].drive < 2 && !zeroBased)
++ if (! (mask & SET_DOSDRIVE ) && fd[0].drive < 2 &&
++ firstSectorNumber == 1)
+ dosdrive = fd[0].drive+'a';
+
+ if (dosdrive) {
+@@ -1133,14 +1140,14 @@
+ setenv("MTOOLS_RATE_ANY", env_buffer,1);
+ if(system(command_buffer)){
+ fprintf(stderr,"\nwarning: mformat error\n");
+- /*exit(1);*/
+- /* Do not fail, if mformat happens to not be
++ /*exit(1);*/
++ /* Do not fail, if mformat happens to not be
+ * installed. The user might have wanted to make
+ * an ext2 disk for instance */
+ dosverify = 0;
+ }
+ } else {
+- if(!zeroBased)
++ if(firstSectorNumber != 1)
+ fprintf(stderr,
+ "\nwarning: mformat not called because DOS drive unknown\n");
+ /*exit(1);*/
+@@ -1173,7 +1180,7 @@
+ n = read(fd[0].fd,verify_buffer,rsize);
+ if ( n < 0){
+ perror("read");
+- fprintf(stderr,
++ fprintf(stderr,
+ "remaining %d\n", n);
+ exit(1);
+ }
+diff -ur --new-file --exclude-from=/home/alain/Projects/Fdutils/exclude fdutils-5.5/src/superformat.h fdutils/src/superformat.h
+--- fdutils-5.5/src/superformat.h 2002-11-02 14:36:45.000000000 +0100
++++ fdutils/src/superformat.h 2008-10-27 20:17:54.000000000 +0100
+@@ -83,7 +83,7 @@
+ int length; /* length of the track */
+ int rotations; /* how many time do we have to go over 0 to read
+ * the track */
+- int zeroBased; /* 1 if sector numbering starts at zero */
++ int firstSectorNumber; /* Number of first sector (1, by default) */
+ int swapSides; /* if logical side 0 is on physical 1 and vice-versa */
+ };
+
diff --git a/source/a/floppy/floppy.SlackBuild b/source/a/floppy/floppy.SlackBuild
index 04966d1ca..adc39b468 100755
--- a/source/a/floppy/floppy.SlackBuild
+++ b/source/a/floppy/floppy.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,9 +20,9 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=5.4
-MTOOLS=3.9.8
-BUILD=${BUILD:-3}
+VERSION=5.5
+MTOOLS=4.0.18
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -50,34 +50,39 @@ rm -rf $PKG $TMP/fdutils-$VERSION $TMP/mtools-$MTOOLS
mkdir -p $TMP $PKG/{etc,usr/{bin,info,man/man{1,4,5}}}
cd $TMP
-tar xzvf $CWD/fdutils-$VERSION.tar.gz
+tar xvf $CWD/fdutils-$VERSION.tar.?z*
cd fdutils-$VERSION
-zcat $CWD/fdutils-5.4-20020222.diff.gz | patch -p1 --verbose --backup --suffix=.orig
-zcat $CWD/fdutils.mediaprm.diff.gz | patch -p1 --verbose --backup --suffix=.orig
+zcat $CWD/fdutils-5.5-20081027.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+zcat $CWD/fdutils.mediaprm.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+sed -i 's|<linux/ext2_fs.h>|<ext2fs/ext2_fs.h>|' src/fdmount.c
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
- $ARCH-slackware-linux
-make install prefix=$PKG/usr
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --build=$ARCH-slackware-linux || exit 1
+make || exit 1
+make install prefix=$PKG/usr exec_prefix=$PKG/usr bindir=$PKG/usr/bin \
+ infodir=$PKG/usr/info mandir=$PKG/usr/man sysconfdir=$PKG/etc
mkdir -p $PKG/usr/doc/fdutils-$VERSION
cp -a COPYING CREDITS Changelog INSTALL doc/FAQ.html doc/README \
$PKG/usr/doc/fdutils-$VERSION
chown root:root $PKG/usr/doc/fdutils-$VERSION/*
chmod 644 $PKG/usr/doc/fdutils-$VERSION/*
cd $TMP
-tar xzvf $CWD/mtools-$MTOOLS.tar.gz
+tar xvf $CWD/mtools-$MTOOLS.tar.?z*
cd mtools-$MTOOLS
CFLAGS="$SLKCFLAGS" \
./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- $ARCH-slackware-linux
-#make all floppyd floppyd_installtest
-make all
-make install prefix=$PKG/usr sysconfdir=$PKG/etc bindir=$PKG/usr/bin \
- MAN1DIR=$PKG/usr/man/man1 MAN5DIR=$PKG/usr/man/man5
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --sysconfdir=/etc \
+ --build=$ARCH-slackware-linux || exit 1
+make all || exit 1
+make install DESTDIR=$PKG || exit 1
cat $CWD/mtools.conf > $PKG/etc/mtools.conf
cat $CWD/mediaprm > $PKG/etc/mediaprm
mkdir -p $PKG/usr/doc/mtools-$MTOOLS
diff --git a/source/a/floppy/slack-desc b/source/a/floppy/slack-desc
index bb9169420..0a60ea477 100644
--- a/source/a/floppy/slack-desc
+++ b/source/a/floppy/slack-desc
@@ -8,9 +8,9 @@
|-----handy-ruler------------------------------------------------------|
floppy: floppy (floppy disk utilities)
floppy:
-floppy: Contains fdutils-5.4, tools to test and format floppy disks; and
-floppy: mtools-3.9.8, a collection of utilities for using DOS/Windows floppy
-floppy: disks with Linux.
+floppy: Contains fdutils, tools to test and format floppy disks; and mtools,
+floppy: a collection of utilities to access FAT disks without mounting them.
+floppy:
floppy:
floppy:
floppy:
diff --git a/source/a/gawk/gawk.SlackBuild b/source/a/gawk/gawk.SlackBuild
index 157f7ce9b..cb332aa75 100755
--- a/source/a/gawk/gawk.SlackBuild
+++ b/source/a/gawk/gawk.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,8 +21,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=gawk
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:--j6}
@@ -42,12 +42,16 @@ PKG=$TMP/package-gawk
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
fi
rm -rf $PKG
@@ -69,6 +73,7 @@ find . \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--infodir=/usr/info \
--build=$ARCH-slackware-linux
diff --git a/source/a/gettext/gettext-tools.SlackBuild b/source/a/gettext/gettext-tools.SlackBuild
index 8b3154b0c..b231ad5fc 100755
--- a/source/a/gettext/gettext-tools.SlackBuild
+++ b/source/a/gettext/gettext-tools.SlackBuild
@@ -20,8 +20,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=0.18.1.1
-BUILD=${BUILD:-3}
+VERSION=0.18.2.1
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j6 "}
@@ -60,7 +60,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf gettext-$VERSION
-tar xjvf $CWD/gettext-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/gettext-$VERSION.tar.xz || exit 1
cd gettext-$VERSION
chown -R root:root .
find . \
@@ -97,7 +97,7 @@ gzip $PKG/usr/man/man?/*
( cd $PKG/usr/doc/gettext-tools-$VERSION
# These take up a ton of space otherwise
tar cf examples.tar examples
- bzip2 -9 examples.tar
+ xz -9 examples.tar
rm -rf examples
# Move the HTML docs into a subdirectory:
mkdir html
@@ -109,7 +109,7 @@ gzip $PKG/usr/man/man?/*
)
cp -a \
- AUTHORS ../COPYING INSTALL NEWS README \
+ AUTHORS ../COPYING* INSTALL NEWS README* \
$PKG/usr/doc/gettext-tools-$VERSION
mkdir -p $PKG/install
diff --git a/source/a/gettext/gettext.SlackBuild b/source/a/gettext/gettext.SlackBuild
index cd86bf7eb..ce4ef587e 100755
--- a/source/a/gettext/gettext.SlackBuild
+++ b/source/a/gettext/gettext.SlackBuild
@@ -20,8 +20,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=0.18.1.1
-BUILD=${BUILD:-3}
+VERSION=0.18.2.1
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j6 "}
@@ -60,7 +60,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf gettext-$VERSION
-tar xjvf $CWD/gettext-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/gettext-$VERSION.tar.xz || exit 1
cd gettext-$VERSION
chown -R root:root .
find . \
@@ -101,7 +101,7 @@ gzip -9 $PKG/usr/man/man?/*
)
cp -a \
- AUTHORS BUGS intl/COPYING.LIB-2.0 intl/COPYING.LIB-2.1 INSTALL NEWS README \
+ AUTHORS BUGS intl/COPYING* INSTALL NEWS README* \
$PKG/usr/doc/gettext-$VERSION
mkdir -p $PKG/install
diff --git a/source/a/getty-ps/getty-ps.SlackBuild b/source/a/getty-ps/getty-ps.SlackBuild
index fb1a49f8b..642256fe4 100755
--- a/source/a/getty-ps/getty-ps.SlackBuild
+++ b/source/a/getty-ps/getty-ps.SlackBuild
@@ -22,7 +22,7 @@
VERSION=2.1.0b
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/a/getty-ps/getty.bugfixes.diff b/source/a/getty-ps/getty.bugfixes.diff
index 6a1ed29e9..dd2e48585 100644
--- a/source/a/getty-ps/getty.bugfixes.diff
+++ b/source/a/getty-ps/getty.bugfixes.diff
@@ -132,7 +132,7 @@ Jan Rafaj
+
+void free_version(void)
+{
-+ if (Version)
++ if (Version && defvalue(def, "VERSION"))
+ free(Version);
+ Version = NULL;
+}
diff --git a/source/a/gpm/gpm-1.20.1-consolename.patch b/source/a/gpm/gpm-1.20.1-consolename.patch
deleted file mode 100644
index c5879fb41..000000000
--- a/source/a/gpm/gpm-1.20.1-consolename.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- gpm-1.20.1/src/lib/liblow.c.orig 2004-10-13 16:34:15.181502369 -0400
-+++ gpm-1.20.1/src/lib/liblow.c 2004-10-13 16:34:20.491778415 -0400
-@@ -262,13 +262,14 @@
- gpm_report(GPM_PR_ERR,"consolename not set");
- goto err;
- }
-+#if 0
- /* do we really need this check ? */
- if(strncmp(tty,consolename,strlen(consolename)-1)
- || !isdigit(tty[strlen(consolename)-1])) {
- gpm_report(GPM_PR_ERR,"strncmp/isdigit/consolename failed");
- goto err;
- }
--
-+#endif
- conn->vc=atoi(&tty[strlen(consolename)-1]);
- }
-
diff --git a/source/a/gpm/gpm-1.20.1-gpmopen.patch b/source/a/gpm/gpm-1.20.1-gpmopen.patch
deleted file mode 100644
index f36ad9396..000000000
--- a/source/a/gpm/gpm-1.20.1-gpmopen.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- gpm-1.20.1/src/lib/liblow.c.gpmopen 2004-05-04 17:36:09.000000000 -0400
-+++ gpm-1.20.1/src/lib/liblow.c 2004-05-04 17:42:51.000000000 -0400
-@@ -200,8 +200,6 @@
- Gpm_Stst *new = NULL;
- char* sock_name = 0;
-
-- consolename = NULL;
--
- #if 0
- gpm_report(GPM_PR_DEBUG,"VC: %d",flag);
- #endif
-@@ -260,6 +258,10 @@
- gpm_report(GPM_PR_ERR,"checking tty name failed");
- goto err;
- }
-+ if (consolename == NULL) {
-+ gpm_report(GPM_PR_ERR,"consolename not set");
-+ goto err;
-+ }
- /* do we really need this check ? */
- if(strncmp(tty,consolename,strlen(consolename)-1)
- || !isdigit(tty[strlen(consolename)-1])) {
diff --git a/source/a/gpm/gpm-1.20.1-idie.patch b/source/a/gpm/gpm-1.20.1-idie.patch
deleted file mode 100644
index 4594f0784..000000000
--- a/source/a/gpm/gpm-1.20.1-idie.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- gpm-1.20.1/src/lib/liblow.c.orig 2004-05-06 14:14:03.000000000 -0400
-+++ gpm-1.20.1/src/lib/liblow.c 2004-05-06 14:18:05.000000000 -0400
-@@ -376,7 +376,9 @@
-
- /*....................................... Error: free all memory */
- err:
-+#if 0
- gpm_report(GPM_PR_ERR,"Oh, oh, it's an error! possibly I die! ");
-+#endif
- do {
- new=gpm_stack->next;
- free(gpm_stack);
diff --git a/source/a/gpm/gpm-1.20.1-input-defines.diff b/source/a/gpm/gpm-1.20.1-input-defines.diff
deleted file mode 100644
index 4a925a6a3..000000000
--- a/source/a/gpm/gpm-1.20.1-input-defines.diff
+++ /dev/null
@@ -1,26 +0,0 @@
---- ./src/headers/input-defines.h.orig 2006-12-11 19:56:14.000000000 -0600
-+++ ./src/headers/input-defines.h 2006-12-11 19:59:30.000000000 -0600
-@@ -59,23 +59,4 @@
- #define PSMOUSE_SYNAPTICS 7
- #endif
-
--#ifndef HAVE_INPUT_ID
--struct input_id {
-- unsigned short bustype;
-- unsigned short vendor;
-- unsigned short product;
-- unsigned short version;
--};
--#endif
--
--#ifndef HAVE_INPUT_ABSINFO
--struct input_absinfo {
-- int value;
-- int minimum;
-- int maximum;
-- int fuzz;
-- int flat;
--};
--#endif
--
- #endif
diff --git a/source/a/gpm/gpm-1.20.1-input.patch b/source/a/gpm/gpm-1.20.1-input.patch
deleted file mode 100644
index 152e60381..000000000
--- a/source/a/gpm/gpm-1.20.1-input.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -ur gpm-1.20.1.orig/src/headers/config.h.in gpm-1.20.1/src/headers/config.h.in
---- gpm-1.20.1.orig/src/headers/config.h.in 2004-09-04 10:24:11.000000000 -0400
-+++ gpm-1.20.1/src/headers/config.h.in 2004-09-04 10:26:02.000000000 -0400
-@@ -46,6 +46,12 @@
- /* Define if you have the <linux/input.h> header file. */
- #undef HAVE_LINUX_INPUT_H
-
-+/* Definedif you have the input_id structure */
-+#undef HAVE_INPUT_ID
-+
-+/* Definedif you have the input_absinfo structure */
-+#undef HAVE_INPUT_ABSINFO
-+
- /* Define if you have the <linux/joystick.h> header file. */
- #undef HAVE_LINUX_JOYSTICK_H
-
diff --git a/source/a/gpm/gpm-1.20.1-lib-silent.patch b/source/a/gpm/gpm-1.20.1-lib-silent.patch
index 099075b5b..e77074159 100644
--- a/source/a/gpm/gpm-1.20.1-lib-silent.patch
+++ b/source/a/gpm/gpm-1.20.1-lib-silent.patch
@@ -15,5 +15,5 @@
+ return;
+
char *string = NULL;
+ int log_level;
va_list ap;
- va_start(ap,text);
diff --git a/source/a/gpm/gpm-1.20.1-math.patch b/source/a/gpm/gpm-1.20.1-math.patch
deleted file mode 100644
index 634a5fd84..000000000
--- a/source/a/gpm/gpm-1.20.1-math.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpm-1.20.1/configure.in.math Tue Jun 24 10:52:44 2003
-+++ gpm-1.20.1/configure.in Tue Jun 24 10:53:54 2003
-@@ -128,7 +128,7 @@
- AC_SUBST(lispdir)
-
- CPPFLAGS='-I$(srcdir) $(DEFS) -include headers/config.h -Wall -DSYSCONFDIR="\"$(sysconfdir)\"" -DSBINDIR="\"$(sbindir)\""'
--LDFLAGS='-L$(srcdir)'
-+LDFLAGS='-lm -L$(srcdir)'
-
- dnl AC_DEFINE_UNQUOTED(SYSCONFDIR,"$sysconfdir")
- dnl AC_DEFINE_UNQUOTED(SBINDIR,"$sbindir")
diff --git a/source/a/gpm/gpm-1.20.1-multilib.patch b/source/a/gpm/gpm-1.20.1-multilib.patch
deleted file mode 100644
index 723ee2b59..000000000
--- a/source/a/gpm/gpm-1.20.1-multilib.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- gpm-1.20.1/doc/Makefile.in.multilib 2002-12-24 17:57:16.000000000 -0500
-+++ gpm-1.20.1/doc/Makefile.in 2004-10-20 17:25:11.000000000 -0400
-@@ -97,7 +97,7 @@
-
- # Main portion
-
--all: $(srcdir)/gpm.info $(MANPAGES)
-+all: gpm.info $(MANPAGES)
-
- # why gpmdoc.ps and gpm.ps??
- # there is no gpm.ps in my tree and no rule to generate gpm.ps.
-@@ -131,8 +131,8 @@
- #i keep all my infopages compressed and i'm tired to do it by
- #hand, so check if there are any compressed pages and do this
- #one too
-- -ls $(infodir)/*[-.]info.gz >/dev/null 2>&1 \
-- && gzip -f $(infodir)/gpm.info
-+ #-ls $(infodir)/*[-.]info.gz >/dev/null 2>&1 \
-+ # && gzip -f $(infodir)/gpm.info
- # Hmm.... shouldn't man pages be compressed too?
- # maybe they should, but at least at my system they are not.
-
---- gpm-1.20.1/contrib/Makefile.in.multilib 2002-12-24 17:57:16.000000000 -0500
-+++ gpm-1.20.1/contrib/Makefile.in 2004-10-20 17:11:38.000000000 -0400
-@@ -9,10 +9,10 @@
-
- include $(top_builddir)/Makefile.include
-
--all: $(srcdir)/$(ELISP)
-+all: $(filter-out %.elc,$(srcdir)/$(ELISP))
-
- install: all
-- if [ -n "$(ELISP)" ]; then for i in `echo $(ELISP)`; do \
-+ if [ -n "$(filter-out %.elc,$(ELISP))" ]; then for i in `echo $(filter-out %.elc,$(ELISP))`; do \
- $(INSTALL_DATA) $(srcdir)/$$i $(lispdir)/`basename $$i` ;\
- done; fi
-
-@@ -20,7 +20,7 @@
- $(EMACS) -batch -l $(srcdir)/emacs/exec.el -exec '(byte-compile-file "$<")'
-
- uninstall:
-- if [ -n "$(ELISP)" ]; then for i in `echo $(ELISP)`; do \
-+ if [ -n "$(filter-out %.elc,$(ELISP))" ]; then for i in `echo $(filter-out %.elc,$(ELISP))`; do \
- rm -f $(lispdir)/$$i ;\
- done; fi
-
-@@ -28,4 +28,4 @@
- $(CP) -r $(srcdir) $(top_builddir)/gpm-$(release)/
-
- clean distclean:
-- $(RM) -f $(srcdir)/emacs/*.elc
-+ $(RM) $(srcdir)/emacs/*.elc
diff --git a/source/a/gpm/gpm-1.20.1-no-console-error.patch b/source/a/gpm/gpm-1.20.1-no-console-error.patch
deleted file mode 100644
index 20c177b4d..000000000
--- a/source/a/gpm/gpm-1.20.1-no-console-error.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- gpm-1.20.1/src/console.c.no-console-error 2006-01-18 17:06:15.000000000 +0100
-+++ gpm-1.20.1/src/console.c 2006-01-18 17:08:19.000000000 +0100
-@@ -249,8 +249,10 @@
- /* Failed, try OLD console */
- else if (stat(GPM_OLD_CONSOLE, &buf) == 0)
- console.device = GPM_OLD_CONSOLE;
-- else
-- gpm_report(GPM_PR_OOPS, "Can't determine console device");
-+ else { // XXX handle this gracefully?
-+ fprintf( stderr, "no console device found" );
-+ exit( 1 );
-+ }
-
- return console.device;
- }
diff --git a/source/a/gpm/gpm-1.20.1-nodebug.patch b/source/a/gpm/gpm-1.20.1-nodebug.patch
deleted file mode 100644
index 945b576c4..000000000
--- a/source/a/gpm/gpm-1.20.1-nodebug.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- gpm-1.20.1/src/lib/liblow.c.orig 2004-03-31 15:06:45.000000000 -0500
-+++ gpm-1.20.1/src/lib/liblow.c 2004-03-31 15:09:32.000000000 -0500
-@@ -202,7 +202,9 @@
-
- consolename = NULL;
-
-+#if 0
- gpm_report(GPM_PR_DEBUG,"VC: %d",flag);
-+#endif
-
- /*....................................... First of all, check xterm */
-
diff --git a/source/a/gpm/gpm-1.20.1-select-1.patch b/source/a/gpm/gpm-1.20.1-select-1.patch
new file mode 100644
index 000000000..48dbed33c
--- /dev/null
+++ b/source/a/gpm/gpm-1.20.1-select-1.patch
@@ -0,0 +1,30 @@
+Submitted By: Alexander E. Patrakov
+Date: 2006-02-10
+Initial Package Version: 1.20.1
+Upstream Status: Dead
+Origin: Alexander E. Patrakov
+Description: Fixes lockups when signals arrive.
+Details: the return value of -1 from select() that propagates into flag means
+that it was interrupted by a signal. In this case, at least with glibc
+from trunk (2.3.90), the return value from FD_ISSET is undefined. Thus,
+GET(win) can be called when there's no actual input. This results in the
+lockup until a key is pressed.
+
+--- gpm-1.20.1/src/lib/libcurses.c 2002-12-25 03:57:16.000000000 +0500
++++ gpm-1.20.1/src/lib/libcurses.c 2006-02-10 09:45:11.000000000 +0500
+@@ -71,12 +71,12 @@
+ }
+ while (!flag);
+
+- if (FD_ISSET(fd,&selSet))
+- return GET(win);
+-
+ if (flag==-1)
+ continue;
+
++ if (FD_ISSET(fd,&selSet))
++ return GET(win);
++
+ if (Gpm_GetEvent(&ev) && gpm_handler
+ && (result=(*gpm_handler)(&ev,gpm_data)))
+ {
diff --git a/source/a/gpm/gpm-1.20.1-subscript.patch b/source/a/gpm/gpm-1.20.1-subscript.patch
deleted file mode 100644
index bf4ca75b0..000000000
--- a/source/a/gpm/gpm-1.20.1-subscript.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpm-1.20.1/src/mice.c.lr 2004-02-15 09:19:48.000000000 +0100
-+++ gpm-1.20.1/src/mice.c 2004-02-15 09:22:18.000000000 +0100
-@@ -2112,7 +2112,7 @@
- for (i=0; i<4; i++)
- if (gunze_calib[i] & ~1023) calibok = 0;
- if (gunze_calib[0] == gunze_calib[2]) calibok = 0;
-- if (gunze_calib[1] == gunze_calib[4]) calibok = 0;
-+ if (gunze_calib[1] == gunze_calib[3]) calibok = 0;
- fclose(f);
- }
- if (!calibok) {
diff --git a/source/a/gpm/gpm-1.20.1-weak-wgetch.patch b/source/a/gpm/gpm-1.20.1-weak-wgetch.patch
index 81e6a2b5b..2546e17f7 100644
--- a/source/a/gpm/gpm-1.20.1-weak-wgetch.patch
+++ b/source/a/gpm/gpm-1.20.1-weak-wgetch.patch
@@ -14,8 +14,8 @@
int Gpm_Wgetch(WINDOW *win)
{
---- gpm-1.20.1/configure.in.weak-wgetch 2004-03-22 15:49:51.000000000 -0500
-+++ gpm-1.20.1/configure.in 2004-03-22 15:51:24.000000000 -0500
+--- gpm-1.20.1/configure.ac.weak-wgetch 2004-03-22 15:49:51.000000000 -0500
++++ gpm-1.20.1/configure.ac 2004-03-22 15:51:24.000000000 -0500
@@ -115,7 +115,7 @@
AC_CHECK_LIB($i, wgetch,,,$TERMLIBS)
else :; fi
@@ -24,15 +24,3 @@
+ SHARED_LIBS="-lc"
LIBS=$SAVELIBS ;;
esac
-
---- gpm-1.20.1/configure.weak-wgetch 2004-03-22 15:49:55.000000000 -0500
-+++ gpm-1.20.1/configure 2004-03-22 15:51:24.000000000 -0500
-@@ -4295,7 +4295,7 @@
-
- else :; fi
- done
-- SHARED_LIBS="$LIBS $TERMLIBS -lc"
-+ SHARED_LIBS="-lc"
- LIBS=$SAVELIBS ;;
- esac
-
diff --git a/source/a/gpm/gpm-1.20.1.send-noise-to-syslogs.diff b/source/a/gpm/gpm-1.20.1.send-noise-to-syslogs.diff
deleted file mode 100644
index 111e7843b..000000000
--- a/source/a/gpm/gpm-1.20.1.send-noise-to-syslogs.diff
+++ /dev/null
@@ -1,86 +0,0 @@
-diff -u -r gpm-1.20.1.orig/src/report.c gpm-1.20.1/src/report.c
---- gpm-1.20.1.orig/src/report.c 2006-08-20 14:34:30.000000000 -0500
-+++ gpm-1.20.1/src/report.c 2006-08-20 14:44:54.000000000 -0500
-@@ -48,15 +48,15 @@
- *
- * Startup Mode:
- * debug : - (ignore)
-- * info : syslog/stdout
-- * warn/err : syslog/stderr
-+ * info : syslog
-+ * warn/err : syslog
- * oops : syslog/stderr [exit]
- *
- * Running Mode: (daemon)
- * debug : - (ignore)
- * info : syslog
-- * warn : syslog+system console
-- * err : syslog+system console+current console
-+ * warn : syslog
-+ * err : syslog
- * oops : syslog/stderr [_exit]
- *
- * Debug Mode :
-@@ -85,9 +85,6 @@
- syslog(LOG_INFO | LOG_USER, GPM_STRING_INFO);
- vsyslog(LOG_INFO | LOG_USER, text, ap);
- #endif
-- fprintf(stderr,GPM_STRING_INFO);
-- vfprintf(stderr,text,ap);
-- fprintf(stderr,"\n");
- break;
-
- case GPM_STAT_WARN:
-@@ -95,9 +92,6 @@
- syslog(LOG_DAEMON | LOG_WARNING, GPM_STRING_WARN);
- vsyslog(LOG_DAEMON | LOG_WARNING, text, ap);
- #endif
-- fprintf(stderr,GPM_STRING_WARN);
-- vfprintf(stderr,text,ap);
-- fprintf(stderr,"\n");
- break;
-
- case GPM_STAT_ERR:
-@@ -105,9 +99,6 @@
- syslog(LOG_DAEMON | LOG_ERR, GPM_STRING_ERR);
- vsyslog(LOG_DAEMON | LOG_ERR, text, ap);
- #endif
-- fprintf(stderr,GPM_STRING_ERR);
-- vfprintf(stderr,text,ap);
-- fprintf(stderr,"\n");
- break;
-
- case GPM_STAT_OOPS:
-@@ -139,12 +130,6 @@
- syslog(LOG_DAEMON | LOG_WARNING, GPM_STRING_WARN);
- vsyslog(LOG_DAEMON | LOG_WARNING, text, ap);
- #endif
-- if ((f = fopen(GPM_SYS_CONSOLE, "a")) != NULL) {
-- fprintf(f, GPM_STRING_WARN);
-- vfprintf(f, text, ap);
-- fprintf(f, "\n");
-- fclose(f);
-- }
- break;
-
- case GPM_STAT_ERR:
-@@ -152,19 +137,6 @@
- syslog(LOG_DAEMON | LOG_ERR, GPM_STRING_ERR);
- vsyslog(LOG_DAEMON | LOG_ERR, text, ap);
- #endif
-- if ((f = fopen(GPM_SYS_CONSOLE, "a")) != NULL) {
-- fprintf(f, GPM_STRING_ERR);
-- vfprintf(f, text, ap);
-- fprintf(f, "\n");
-- fclose(f);
-- }
--
-- if ((f = fopen(console.device, "a")) != NULL) {
-- fprintf(f, GPM_STRING_ERR);
-- vfprintf(f, text, ap);
-- fprintf(f, "\n");
-- fclose(f);
-- }
- break;
-
- case GPM_STAT_OOPS:
diff --git a/source/a/gpm/gpm-1.20.5-close-fds.patch b/source/a/gpm/gpm-1.20.5-close-fds.patch
new file mode 100644
index 000000000..f33f07c55
--- /dev/null
+++ b/source/a/gpm/gpm-1.20.5-close-fds.patch
@@ -0,0 +1,17 @@
+diff -up gpm-1.20.5/src/daemon/startup.c.close-fds gpm-1.20.5/src/daemon/startup.c
+--- gpm-1.20.5/src/daemon/startup.c.close-fds 2008-06-13 10:08:19.000000000 +0200
++++ gpm-1.20.5/src/daemon/startup.c 2008-12-02 10:11:12.000000000 +0100
+@@ -135,6 +135,13 @@ void startup(int argc, char **argv)
+ check_uniqueness();
+ gpm_report(GPM_PR_INFO,GPM_MESS_STARTED);
+
++ // close extra fds
++ if (option.run_status == GPM_RUN_STARTUP ) {
++ close(0);
++ close(1);
++ close(2);
++ }
++
+ //return mouse_table[1].fd; /* the second is handled in the main() */
+
+ /****************** OLD CODE from gpn.c END ***********************/
diff --git a/source/a/gpm/gpm-evdev-cumulative.patch b/source/a/gpm/gpm-evdev-cumulative.patch
deleted file mode 100644
index 2fd86d10c..000000000
--- a/source/a/gpm/gpm-evdev-cumulative.patch
+++ /dev/null
@@ -1,7023 +0,0 @@
-diff -urN gpm-1.20.1/configure.in gpm/configure.in
---- gpm-1.20.1/configure.in 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/configure.in 2003-10-02 01:22:42.000000000 -0500
-@@ -61,6 +61,13 @@
-
- AC_CHECK_HEADERS(syslog.h linux/input.h linux/joystick.h ncurses.h ncurses/curses.h curses.h)
-
-+EVDEV_SRCS=
-+if test ${ac_cv_header_linux_input_h} = yes ; then
-+ EVDEV_SRCS=evdev.c ;
-+ AC_CHECK_TYPE(struct input_absinfo,AC_DEFINE_UNQUOTED(HAVE_INPUT_ABSINFO, 1, [define if struct input_absinfo defined in linux/input.h]),,[#include <linux/input.h>])
-+ AC_CHECK_TYPE(struct input_id,AC_DEFINE_UNQUOTED(HAVE_INPUT_ID, 1, [define if struct input_id defined in linux/input.h]),,[#include <linux/input.h>])
-+fi
-+
- AC_ARG_WITH(curses,
- [ --without-curses disable curses support even if curses found])
-
-@@ -124,6 +131,7 @@
- AC_SUBST(PICFLAGS)
- AC_SUBST(SOLDFLAGS)
- AC_SUBST(CURSES_OBJS)
-+AC_SUBST(EVDEV_SRCS)
- AC_SUBST(SHARED_LIBS)
- AC_SUBST(lispdir)
-
-diff -urN gpm-1.20.1/src/client.c gpm/src/client.c
---- gpm-1.20.1/src/client.c 1969-12-31 19:00:00.000000000 -0500
-+++ gpm/src/client.c 2003-10-02 01:22:42.000000000 -0500
-@@ -0,0 +1,319 @@
-+/*
-+ * client.c - GPM client handling (server side)
-+ *
-+ * Copyright (C) 1993 Andreq Haylett <ajh@gec-mrc.co.uk>
-+ * Copyright (C) 1994-1999 Alessandro Rubini <rubini@linux.it>
-+ * Copyright (C) 1998 Ian Zimmerman <itz@rahul.net>
-+ * Copyright (c) 2001,2002 Nico Schottelius <nico@schottelius.org>
-+ * Copyright (C) 2003 Dmitry Torokhov <dtor@mail.ru>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-+ ********/
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h> /* strerror(); ?!? */
-+#include <errno.h>
-+#include <unistd.h> /* select(); */
-+#include <signal.h> /* SIGPIPE */
-+#include <time.h> /* time() */
-+#include <sys/fcntl.h> /* O_RDONLY */
-+#include <sys/stat.h> /* mkdir() */
-+#include <sys/time.h> /* timeval */
-+#include <sys/types.h> /* socket() */
-+#include <sys/socket.h> /* socket() */
-+#include <sys/un.h> /* struct sockaddr_un */
-+
-+#include "headers/gpmInt.h"
-+#include "headers/message.h"
-+#include "headers/console.h"
-+#include "headers/selection.h"
-+#include "headers/client.h"
-+
-+/* who the f*** runs gpm without glibc? doesn't have dietlibc __socklent_t? */
-+#if !defined(__GLIBC__)
-+ typedef unsigned int __socklen_t;
-+#endif /* __GLIBC__ */
-+
-+#ifndef max
-+#define max(a,b) ((a)>(b) ? (a) : (b))
-+#endif
-+
-+extern int errno;
-+
-+struct client_info *cinfo[MAX_VC + 1];
-+
-+/*-------------------------------------------------------------------*
-+ * This was inline, and incurred in a compiler bug (2.7.0)
-+ *-------------------------------------------------------------------*/
-+static int get_data(int fd, Gpm_Connect *data)
-+{
-+ static int len;
-+
-+#ifdef GPM_USE_MAGIC
-+ while ((len = read(whence, &check, sizeof(int))) == 4 &&
-+ check != GPM_MAGIC)
-+ gpm_report(GPM_PR_INFO, GPM_MESS_NO_MAGIC);
-+
-+ if (len == 0) return 0;
-+
-+ if (check != GPM_MAGIC) {
-+ gpm_report(GPM_PR_INFO, GPM_MESS_NOTHING_MORE);
-+ return -1;
-+ }
-+#endif
-+
-+ len = read(fd, data, sizeof(Gpm_Connect));
-+
-+ return len ? (len == sizeof(Gpm_Connect) ? 1 : -1) : 0;
-+}
-+
-+/*-------------------------------------------------------------------*/
-+int listen_for_clients(void)
-+{
-+ struct sockaddr_un ctladdr;
-+ int fd, len;
-+
-+ unlink(GPM_NODE_CTL);
-+
-+ if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_SOCKET_PROB);
-+
-+ memset(&ctladdr, 0, sizeof(ctladdr));
-+ ctladdr.sun_family = AF_UNIX;
-+ strcpy(ctladdr.sun_path, GPM_NODE_CTL);
-+ len = sizeof(ctladdr.sun_family) + strlen(GPM_NODE_CTL);
-+
-+ if (bind(fd, (struct sockaddr *)&ctladdr, len) == -1)
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_BIND_PROB, ctladdr.sun_path);
-+
-+ /* needs to be 0777, so all users can _try_ to access gpm */
-+ chmod(GPM_NODE_CTL, 0777);
-+ listen(fd, 5); /* Queue up calls */
-+
-+ return fd;
-+}
-+
-+/*-------------------------------------------------------------------*/
-+struct client_info *accept_client_connection(int fd)
-+{
-+ struct client_info *info;
-+ Gpm_Connect *request;
-+ int newfd;
-+#if !defined(__GLIBC__)
-+ int len;
-+#else /* __GLIBC__ */
-+ size_t len; /* isn't that generally defined in C ??? -- nico */
-+#endif /* __GLIBC__ */
-+ struct sockaddr_un addr; /* reuse this each time */
-+#ifndef SO_PEERCRED
-+ struct stat statbuf;
-+ time_t staletime;
-+#endif
-+ uid_t uid;
-+
-+ /*....................................... Accept */
-+ memset(&addr, 0, sizeof(addr));
-+ addr.sun_family = AF_UNIX;
-+
-+ len = sizeof(addr);
-+ if ((newfd = accept(fd, (struct sockaddr *)&addr, &len)) < 0) {
-+ gpm_report(GPM_PR_ERR, GPM_MESS_ACCEPT_FAILED, strerror(errno));
-+ return NULL;
-+ }
-+
-+ gpm_report(GPM_PR_INFO, GPM_MESS_CONECT_AT, newfd);
-+
-+ if (!(info = malloc(sizeof(struct client_info))))
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_NO_MEM);
-+
-+ request = &info->data;
-+ if (get_data(newfd, request) == -1)
-+ goto err;
-+
-+ if (request->vc > MAX_VC) {
-+ gpm_report(GPM_PR_WARN,GPM_MESS_REQUEST_ON, request->vc, MAX_VC);
-+ goto err;
-+ }
-+
-+#ifndef SO_PEERCRED
-+ if (stat(addr.sun_path, &statbuf) == -1 || !S_ISSOCK(statbuf.st_mode)) {
-+ gpm_report(GPM_PR_ERR,GPM_MESS_ADDRES_NSOCKET,addr.sun_path);
-+ goto err;
-+ }
-+
-+ unlink(addr.sun_path); /* delete socket */
-+
-+ staletime = time(0) - 30;
-+ if (statbuf.st_atime < staletime ||
-+ statbuf.st_ctime < staletime ||
-+ statbuf.st_mtime < staletime) {
-+ gpm_report(GPM_PR_ERR, GPM_MESS_SOCKET_OLD);
-+ goto err;
-+ }
-+
-+ uid = statbuf.st_uid; /* owner of socket */
-+#else
-+ {
-+ struct ucred sucred;
-+ socklen_t credlen = sizeof(struct ucred);
-+
-+ if (getsockopt(newfd, SOL_SOCKET, SO_PEERCRED, &sucred, &credlen) == -1) {
-+ gpm_report(GPM_PR_ERR,GPM_MESS_GETSOCKOPT, strerror(errno));
-+ goto err;
-+ }
-+ uid = sucred.uid;
-+ gpm_report(GPM_PR_DEBUG,GPM_MESS_PEER_SCK_UID, uid);
-+ }
-+#endif
-+
-+ if (uid != 0 && !is_console_owner(request->vc, uid)) {
-+ gpm_report(GPM_PR_WARN, GPM_MESS_FAILED_CONNECT, uid, request->vc);
-+ goto err;
-+ }
-+
-+ /* register the connection information in the right place */
-+ info->next = cinfo[request->vc];
-+ info->fd = newfd;
-+ cinfo[request->vc] = info;
-+ gpm_report(GPM_PR_DEBUG, GPM_MESS_LONG_STATUS,
-+ request->pid, request->vc, request->eventMask, request->defaultMask,
-+ request->minMod, request->maxMod);
-+
-+ return info;
-+
-+err:
-+ free(info);
-+ close(newfd);
-+
-+ return NULL;
-+}
-+
-+/*-------------------------------------------------------------------*/
-+void remove_client(struct client_info *ci, int vc)
-+{
-+ struct client_info *p, *prev = NULL;
-+
-+ for (p = cinfo[vc]; p; prev = p, p = p->next) {
-+ if (p == ci) {
-+ if (!prev) /* it is on top of the stack */
-+ cinfo[vc] = p->next;
-+ else
-+ prev->next = p->next;
-+ break;
-+ }
-+ }
-+ if (p) free(p);
-+}
-+
-+/*-------------------------------------------------------------------*/
-+void notify_clients_resize(void)
-+{
-+ struct client_info *ci;
-+ int i;
-+
-+ for (i = 0; i < MAX_VC + 1; i++)
-+ for (ci = cinfo[i]; ci; ci = ci->next)
-+ kill(ci->data.pid, SIGWINCH);
-+}
-+
-+/*-------------------------------------------------------------------*/
-+/* returns 0 if the event has not been processed, and 1 if it has */
-+int do_client(struct client_info *cinfo, Gpm_Event *event)
-+{
-+ Gpm_Connect *info = &cinfo->data;
-+ /* value to return if event is not used */
-+ int res = !(info->defaultMask & event->type);
-+
-+ /* instead of returning 0, scan the stack of clients */
-+ if ((info->minMod & event->modifiers) < info->minMod)
-+ goto try_next;
-+ if ((info->maxMod & event->modifiers) < event->modifiers)
-+ goto try_next;
-+
-+ /* if not managed, use default mask */
-+ if (!(info->eventMask & GPM_BARE_EVENTS(event->type))) {
-+ if (res) return res;
-+ else goto try_next;
-+ }
-+
-+ /* WARNING */ /* This can generate a SIGPIPE... I'd better catch it */
-+ MAGIC_P((write(cinfo->fd, &magic, sizeof(int))));
-+ write(cinfo->fd, event, sizeof(Gpm_Event));
-+
-+ return info->defaultMask & GPM_HARD ? res : 1; /* HARD forces pass-on */
-+
-+ try_next:
-+ if (cinfo->next != 0)
-+ return do_client(cinfo->next, event); /* try the next */
-+
-+ return 0; /* no next, not used */
-+}
-+
-+/*-------------------------------------------------------------------*/
-+/* returns 0 if client disconnects, -1 - error, 1 -successs */
-+int process_client_request(struct client_info *ci, int vc,
-+ int x, int y, int buttons, int clicks,
-+ int three_button_mouse)
-+{
-+ int rc;
-+ Gpm_Connect conn;
-+ static Gpm_Event event;
-+
-+ gpm_report(GPM_PR_INFO, GPM_MESS_CON_REQUEST, ci->fd, vc);
-+ if (vc > MAX_VC) return -1;
-+
-+ /* itz 10-22-96 this shouldn't happen now */
-+ if (vc == -1) gpm_report(GPM_PR_OOPS, GPM_MESS_UNKNOWN_FD);
-+
-+ rc = get_data(ci->fd, &conn);
-+
-+ if (rc == 0) { /* no data */
-+ gpm_report(GPM_PR_INFO, GPM_MESS_CLOSE);
-+ close(ci->fd);
-+ return 0;
-+ }
-+
-+ if (rc == -1) return -1; /* too few bytes */
-+
-+ if (conn.pid != 0) {
-+ ci->data = conn;
-+ return 1;
-+ }
-+
-+ /* Aha, request for information (so-called snapshot) */
-+ switch (conn.vc) {
-+ case GPM_REQ_SNAPSHOT:
-+ event.vc = get_console_state(&event.modifiers);
-+ event.x = x; event.y = y;
-+ event.buttons = buttons;
-+ event.clicks = clicks;
-+ event.dx = console.max_x; event.dy = console.max_y;
-+ /* fall through */
-+
-+ case GPM_REQ_BUTTONS:
-+ event.type = (three_button_mouse == 1 ? 3 : 2); /* buttons */
-+ write(ci->fd, &event, sizeof(Gpm_Event));
-+ break;
-+
-+ case GPM_REQ_NOPASTE:
-+ selection_disable_paste();
-+ gpm_report(GPM_PR_INFO, GPM_MESS_DISABLE_PASTE, vc);
-+ break;
-+ }
-+
-+ return 1;
-+}
-+
-diff -urN gpm-1.20.1/src/console.c gpm/src/console.c
---- gpm-1.20.1/src/console.c 1969-12-31 19:00:00.000000000 -0500
-+++ gpm/src/console.c 2003-10-02 01:22:42.000000000 -0500
-@@ -0,0 +1,257 @@
-+/*
-+ * console.c - GPM console and selection/paste handling
-+ *
-+ * Copyright (C) 1993 Andreq Haylett <ajh@gec-mrc.co.uk>
-+ * Copyright (C) 1994-1999 Alessandro Rubini <rubini@linux.it>
-+ * Copyright (C) 1998 Ian Zimmerman <itz@rahul.net>
-+ * Copyright (c) 2001,2002 Nico Schottelius <nico@schottelius.org>
-+ * Copyright (c) 2003 Dmitry Torokhov <dtor@mail.ru>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-+ ********/
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h> /* strerror(); ?!? */
-+#include <errno.h>
-+#include <unistd.h> /* select(); */
-+#include <time.h> /* time() */
-+#include <sys/fcntl.h> /* O_RDONLY */
-+#include <sys/stat.h> /* mkdir() */
-+#include <asm/types.h> /* __u32 */
-+
-+#include <linux/vt.h> /* VT_GETSTATE */
-+#include <sys/kd.h> /* KDGETMODE */
-+#include <termios.h> /* winsize */
-+
-+#include "headers/gpmInt.h"
-+#include "headers/console.h"
-+#include "headers/message.h"
-+
-+#ifndef HAVE___U32
-+# ifndef _I386_TYPES_H /* /usr/include/asm/types.h */
-+typedef unsigned int __u32;
-+# endif
-+#endif
-+
-+struct gpm_console console = { 0, DEF_LUT, 0, 0 };
-+
-+/*-------------------------------------------------------------------*/
-+static int count_digits(int num)
-+{
-+ int digits = 1;
-+
-+ while ((num /= 10))
-+ digits++;
-+
-+ return digits;
-+}
-+
-+/*-------------------------------------------------------------------*/
-+char *compose_vc_name(int vc)
-+{
-+ char *tty;
-+
-+ tty = malloc(strlen(console.device) + count_digits(vc) + sizeof(char));
-+ if (tty) {
-+ /* console is /dev/vc/0 or /dev/tty0 and we trimming the ending 0 */
-+ strncpy(tty, console.device, strlen(console.device) - 1);
-+ sprintf(&tty[strlen(console.device) - 1], "%d", vc);
-+ }
-+
-+ return tty;
-+}
-+
-+/*-------------------------------------------------------------------*/
-+int open_console(int mode)
-+{
-+ int fd;
-+
-+ if ((fd = open(console.device, mode)) < 0)
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_OPEN_CON);
-+
-+ return fd;
-+}
-+
-+/*-------------------------------------------------------------------*/
-+int is_text_console(void)
-+{
-+ int fd;
-+ int kd_mode;
-+
-+ fd = open_console(O_RDONLY);
-+ if (ioctl(fd, KDGETMODE, &kd_mode)<0)
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_IOCTL_KDGETMODE);
-+ close(fd);
-+
-+ return kd_mode == KD_TEXT;
-+}
-+
-+/*-------------------------------------------------------------------*/
-+void wait_text_console(void)
-+{
-+ do {
-+ sleep(2);
-+ } while (!is_text_console());
-+}
-+
-+/*-------------------------------------------------------------------*/
-+void refresh_console_size(void)
-+{
-+ struct winsize win;
-+ int fd = open_console(O_RDONLY);
-+
-+ ioctl(fd, TIOCGWINSZ, &win);
-+ close(fd);
-+
-+ if (!win.ws_col || !win.ws_row) {
-+ gpm_report(GPM_PR_DEBUG, GPM_MESS_ZERO_SCREEN_DIM);
-+ console.max_x = 80; console.max_y = 25;
-+ } else {
-+ console.max_x = win.ws_col; console.max_y = win.ws_row;
-+ }
-+ gpm_report(GPM_PR_DEBUG, GPM_MESS_SCREEN_SIZE, console.max_x, console.max_y);
-+}
-+
-+/*-------------------------------------------------------------------*/
-+int get_console_state(unsigned char *shift_state)
-+{
-+ struct vt_stat stat;
-+ int fd;
-+
-+ fd = open_console(O_RDONLY);
-+
-+ *shift_state = 6; /* code for the ioctl */
-+ if (ioctl(fd, TIOCLINUX, shift_state) < 0)
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_GET_SHIFT_STATE);
-+
-+ if (ioctl(fd, VT_GETSTATE, &stat) < 0)
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_GET_CONSOLE_STAT);
-+
-+ close(fd);
-+
-+ return stat.v_active;
-+}
-+
-+/*-------------------------------------------------------------------*/
-+int is_console_owner(int vc, uid_t uid)
-+{
-+ struct stat statbuf;
-+ char *tty;
-+ int rc;
-+
-+ if ((tty = compose_vc_name(vc)) == NULL)
-+ gpm_report(GPM_PR_OOPS,GPM_MESS_NO_MEM);
-+
-+ if ((rc = stat(tty, &statbuf)) == -1)
-+ gpm_report(GPM_PR_ERR, GPM_MESS_STAT_FAILS, tty);
-+
-+ free(tty);
-+
-+ return rc != -1 && uid == statbuf.st_uid;
-+}
-+
-+/*-------------------------------------------------------------------*/
-+/* octal digit */
-+static int isodigit(const unsigned char c)
-+{
-+ return ((c & ~7) == '0');
-+}
-+
-+/*-------------------------------------------------------------------*/
-+/* routine to convert digits from octal notation (Andries Brouwer) */
-+static int getsym(const unsigned char *p0, unsigned char *res)
-+{
-+ const unsigned char *p = p0;
-+ char c;
-+
-+ c = *p++;
-+ if (c == '\\' && *p) {
-+ c = *p++;
-+ if (isodigit(c)) {
-+ c -= '0';
-+ if (isodigit(*p)) c = 8*c + (*p++ - '0');
-+ if (isodigit(*p)) c = 8*c + (*p++ - '0');
-+ }
-+ }
-+ *res = c;
-+ return (p - p0);
-+}
-+
-+/*-------------------------------------------------------------------*/
-+/* description missing! FIXME */
-+void console_load_lut(void)
-+{
-+ extern int errno;
-+ int i, c, fd;
-+ unsigned char this, next;
-+ static __u32 long_array[9] = {
-+ 0x05050505, /* ugly, but preserves alignment */
-+ 0x00000000, /* control chars */
-+ 0x00000000, /* digits */
-+ 0x00000000, /* uppercase and '_' */
-+ 0x00000000, /* lowercase */
-+ 0x00000000, /* Latin-1 control */
-+ 0x00000000, /* Latin-1 misc */
-+ 0x00000000, /* Latin-1 uppercase */
-+ 0x00000000 /* Latin-1 lowercase */
-+ };
-+
-+#define inwordLut (long_array+1)
-+
-+ for (i = 0; console.charset[i]; ) {
-+ i += getsym(console.charset + i, &this);
-+ if (console.charset[i] == '-' && console.charset[i + 1] != '\0')
-+ i += getsym(console.charset + i + 1, &next) + 1;
-+ else
-+ next = this;
-+ for (c = this; c <= next; c++)
-+ inwordLut[c >> 5] |= 1 << (c & 0x1F);
-+ }
-+
-+ fd = open_console(O_WRONLY);
-+
-+ if (ioctl(fd, TIOCLINUX, &long_array) < 0) { /* fd <0 is checked */
-+ if (errno == EPERM && getuid())
-+ gpm_report(GPM_PR_WARN, GPM_MESS_ROOT); /* why do we still continue?*/
-+ else if (errno == EINVAL)
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_CSELECT);
-+ }
-+ close(fd);
-+}
-+
-+/*-------------------------------------------------------------------*/
-+/* Returns the name of the console (/dev/tty0 or /dev/vc/0) */
-+/* Also fills console.device */
-+char *get_console_name()
-+{
-+ struct stat buf;
-+
-+ /* first try the devfs device, because in the next time this will be
-+ * the preferred one. If that fails, take the old console */
-+
-+ /* Check for open new console */
-+ if (stat(GPM_DEVFS_CONSOLE, &buf) == 0)
-+ console.device = GPM_DEVFS_CONSOLE;
-+
-+ /* Failed, try OLD console */
-+ else if (stat(GPM_OLD_CONSOLE, &buf) == 0)
-+ console.device = GPM_OLD_CONSOLE;
-+ else
-+ gpm_report(GPM_PR_OOPS, "Can't determine console device");
-+
-+ return console.device;
-+}
-+
-diff -urN gpm-1.20.1/src/evdev.c gpm/src/evdev.c
---- gpm-1.20.1/src/evdev.c 1969-12-31 19:00:00.000000000 -0500
-+++ gpm/src/evdev.c 2003-10-02 01:22:42.000000000 -0500
-@@ -0,0 +1,851 @@
-+/*
-+ * evdev.c - support for event input devices in linux 2.4 & 2.6
-+ *
-+ * Copyright (C) 2003 Dmitry Torokhov <dtor@mail.ru>
-+ * Based on XFree86 driver by Stefan Gmeiner & Peter Osterlund
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-+ ********/
-+
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <string.h>
-+#include <time.h>
-+#include <sys/select.h>
-+#include <sys/time.h>
-+
-+#include <linux/input.h>
-+#include "headers/input-defines.h" /* misisng bits in case <linux/input.h> is old */
-+
-+#include "headers/gpm.h"
-+#include "headers/gpmInt.h"
-+#include "headers/console.h"
-+#include "headers/message.h"
-+#include "headers/optparser.h"
-+
-+enum evdev_type {
-+ EVDEV_UNKNOWN,
-+ EVDEV_RELATIVE,
-+ EVDEV_ABSOLUTE,
-+ EVDEV_TOUCHPAD,
-+ EVDEV_SYNAPTICS
-+};
-+
-+enum touch_type {
-+ TOUCH_NONE,
-+ TOUCH_FINGERS,
-+ TOUCH_PALM
-+};
-+
-+enum gesture_type {
-+ GESTURE_NONE,
-+ GESTURE_TAP_PENDING,
-+ GESTURE_TAP,
-+ GESTURE_DRAG_PENDING,
-+ GESTURE_DRAG,
-+ GESTURE_DOUBLE_TAP
-+};
-+
-+enum edge_type {
-+ BOTTOM_EDGE = 1,
-+ TOP_EDGE = 2,
-+ LEFT_EDGE = 4,
-+ RIGHT_EDGE = 8,
-+ LEFT_BOTTOM_EDGE = BOTTOM_EDGE | LEFT_EDGE,
-+ RIGHT_BOTTOM_EDGE = BOTTOM_EDGE | RIGHT_EDGE,
-+ RIGHT_TOP_EDGE = TOP_EDGE | RIGHT_EDGE,
-+ LEFT_TOP_EDGE = TOP_EDGE | LEFT_EDGE
-+};
-+
-+struct event_data {
-+ int dx, dy;
-+ int wdx, wdy;
-+ int abs_x, abs_y;
-+ int buttons;
-+ int touch; /* dumb touchpad report touch events, smart ones - pressure */
-+ int pressure;
-+ int w;
-+ int finger_count;
-+ int synced;
-+};
-+
-+struct touch_data {
-+ int touching;
-+ int x, y;
-+ int finger_count;
-+ int buttons;
-+ int clicks;
-+ struct timeval start;
-+ enum gesture_type gesture;
-+};
-+
-+struct event_device {
-+ enum evdev_type type;
-+ int dont_sync;
-+
-+ struct event_data pkt;
-+ int pkt_count;
-+
-+ int prev_x[4], prev_y[4];
-+ int prev_pressure, avg_w;
-+ struct touch_data touch;
-+
-+ int left_edge, right_edge;
-+ int top_edge, bottom_edge;
-+ int touch_high, touch_low;
-+ int tap_time, tap_move;
-+ int y_inverted;
-+
-+ enum touch_type (*detect_touch)(struct event_device *evdev);
-+ void (*update_finger_count)(struct event_device *evdev);
-+};
-+
-+struct evdev_capabilities {
-+ unsigned char evbits[EV_MAX/8 + 1];
-+ unsigned char keybits[KEY_MAX/8 + 1];
-+ unsigned char absbits[ABS_MAX/8 + 1];
-+ unsigned char mscbits[MSC_MAX/8 + 1];
-+};
-+
-+#ifndef max
-+#define max(a,b) ((a)>(b) ? (a) : (b))
-+#endif
-+
-+#define fx(i) (evdev->prev_x[(evdev->pkt_count - (i)) & 03])
-+#define fy(i) (evdev->prev_y[(evdev->pkt_count - (i)) & 03])
-+
-+#define toggle_btn(btn, val) do { if (val) data->buttons |= (btn);\
-+ else data->buttons &= ~(btn);\
-+ } while (0)
-+#define GET_TIME(tv) (gettimeofday(&tv, (struct timezone *)NULL))
-+#define DIF_TIME(t1,t2) ((t2.tv_sec - t1.tv_sec) * 1000 + (t2.tv_usec - t1.tv_usec) / 1000)
-+
-+#define test_bit(bit, array) (array[bit / 8] & (1 << (bit % 8)))
-+
-+/* ------------- evdev protocol handling routines ---------------------*/
-+
-+static void parse_input_event(struct input_event *event, struct event_data *data)
-+{
-+ switch (event->type) {
-+ case EV_REL:
-+ switch (event->code) {
-+ case REL_X:
-+ data->dx = (signed char)event->value;
-+ break;
-+ case REL_Y:
-+ data->dy = (signed char)event->value;
-+ break;
-+ case REL_WHEEL:
-+ data->wdy += event->value;
-+ break;
-+ case REL_HWHEEL:
-+ data->wdx += event->value;
-+ break;
-+ }
-+ break;
-+
-+ case EV_ABS:
-+ switch (event->code) {
-+ case ABS_X:
-+ data->abs_x = event->value;
-+ break;
-+
-+ case ABS_Y:
-+ data->abs_y = event->value;
-+ break;
-+
-+ case ABS_PRESSURE:
-+ data->pressure = event->value;
-+ break;
-+
-+ case ABS_TOOL_WIDTH:
-+ data->w = event->value;
-+ break;
-+ }
-+ break;
-+
-+ case EV_MSC:
-+ switch (event->code) {
-+ case MSC_GESTURE:
-+ data->w = event->value;
-+ break;
-+ }
-+ break;
-+
-+
-+ case EV_KEY:
-+ switch(event->code) {
-+ case BTN_0:
-+ case BTN_LEFT:
-+ toggle_btn(GPM_B_LEFT, event->value);
-+ break;
-+
-+ case BTN_2:
-+ case BTN_STYLUS2:
-+ case BTN_SIDE:
-+ case BTN_MIDDLE:
-+ toggle_btn(GPM_B_MIDDLE, event->value);
-+ break;
-+
-+ case BTN_STYLUS:
-+ case BTN_1:
-+ case BTN_RIGHT:
-+ toggle_btn(GPM_B_RIGHT, event->value);
-+ break;
-+
-+ case BTN_TOUCH:
-+ data->touch = event->value ? 1 : 0;
-+ break;
-+
-+ case BTN_TOOL_FINGER:
-+ if (event->value) data->finger_count = 1;
-+ break;
-+
-+ case BTN_TOOL_DOUBLETAP:
-+ if (event->value) data->finger_count = 2;
-+ break;
-+
-+ case BTN_TOOL_TRIPLETAP:
-+ if (event->value) data->finger_count = 3;
-+ break;
-+
-+ }
-+ break;
-+
-+ case EV_SYNC:
-+ switch(event->code) {
-+ case SYN_REPORT:
-+ data->synced = 1;
-+ break;
-+ }
-+ break;
-+ }
-+}
-+
-+static void tp_figure_deltas(struct event_device *evdev, struct Gpm_Event *state)
-+{
-+ struct event_data *pkt = &evdev->pkt;
-+
-+ state->dx = state->dy = 0;
-+ if (evdev->touch.touching) {
-+ fx(0) = pkt->abs_x;
-+ fy(0) = pkt->abs_y;
-+ if (evdev->pkt_count >= 2 &&
-+ evdev->touch.gesture != GESTURE_DRAG_PENDING) {
-+ state->dx = ((fx(0) - fx(1)) / 2 + (fx(1) - fx(2)) / 2) / 8; //SYN_REL_DECEL_FACTOR;
-+ state->dy = ((fy(0) - fy(1)) / 2 + (fy(1) - fy(2)) / 2) / 8; //SYN_REL_DECEL_FACTOR;
-+ }
-+ evdev->pkt_count++;
-+ } else {
-+ evdev->pkt_count = 0;
-+ }
-+}
-+
-+static enum touch_type dumb_tp_detect_touch(struct event_device *evdev)
-+{
-+ return evdev->pkt.touch ? TOUCH_FINGERS : TOUCH_NONE;
-+}
-+
-+static enum touch_type smart_tp_detect_touch(struct event_device *evdev)
-+{
-+ if (evdev->touch.touching)
-+ return evdev->pkt.pressure > evdev->touch_low ? TOUCH_FINGERS : TOUCH_NONE;
-+ else
-+ return evdev->pkt.pressure > evdev->touch_high ? TOUCH_FINGERS : TOUCH_NONE;
-+}
-+
-+static enum touch_type syn_detect_touch(struct event_device *evdev)
-+{
-+ struct event_data *pkt = &evdev->pkt;
-+ enum touch_type type = TOUCH_NONE;
-+
-+ if (pkt->pressure > 200 || pkt->w > 10)
-+ return TOUCH_PALM;
-+
-+ if (pkt->abs_x == 0)
-+ evdev->avg_w = 0;
-+ else
-+ evdev->avg_w = (pkt->w - evdev->avg_w + 1) / 2;
-+
-+ if (evdev->touch.touching) {
-+ type = pkt->pressure > evdev->touch_low ? TOUCH_FINGERS : TOUCH_NONE;
-+ } else if (pkt->pressure > evdev->touch_high) {
-+ int safe_w = max(pkt->w, evdev->avg_w);
-+
-+ if (pkt->finger_count > 1)
-+ type = TOUCH_FINGERS;
-+ else if (pkt->w < 2)
-+ type = TOUCH_FINGERS; /* more than one finger -> not a palm */
-+ else if (safe_w < 6 && evdev->prev_pressure < evdev->touch_high)
-+ type = TOUCH_FINGERS; /* thin finger, distinct touch -> not a palm */
-+ else if (safe_w < 7 && evdev->prev_pressure < evdev->touch_high / 2)
-+ type = TOUCH_FINGERS; /* thin finger, distinct touch -> not a palm */
-+ else if (pkt->pressure > evdev->prev_pressure + 1)
-+ type = TOUCH_NONE; /* pressure not stable, may be a palm */
-+ else if (pkt->pressure < evdev->prev_pressure - 5)
-+ type = TOUCH_NONE; /* pressure not stable, may be a palm */
-+ else
-+ type = TOUCH_FINGERS;
-+ }
-+
-+ evdev->prev_pressure = pkt->pressure;
-+ return type;
-+}
-+
-+static enum edge_type tp_detect_edges(struct event_device *evdev, int x, int y)
-+{
-+ enum edge_type edge = 0;
-+
-+ if (x > evdev->right_edge)
-+ edge |= RIGHT_EDGE;
-+ else if (x < evdev->left_edge)
-+ edge |= LEFT_EDGE;
-+
-+ if (y < evdev->top_edge)
-+ edge |= TOP_EDGE;
-+ else if (y > evdev->bottom_edge)
-+ edge |= BOTTOM_EDGE;
-+
-+ return edge;
-+}
-+
-+static int tp_touch_expired(struct event_device *evdev)
-+{
-+ struct timeval now;
-+
-+ GET_TIME(now);
-+ return DIF_TIME(evdev->touch.start, now) > evdev->tap_time;
-+}
-+
-+static int tp_detect_tap(struct event_device *evdev)
-+{
-+ return !tp_touch_expired(evdev) &&
-+ (evdev->touch.finger_count > 1 ||
-+ (abs(evdev->pkt.abs_x - evdev->touch.x) < evdev->tap_move &&
-+ abs(evdev->pkt.abs_y - evdev->touch.y) < evdev->tap_move));
-+}
-+
-+static int tp_tap_to_buttons(struct event_device *evdev)
-+{
-+ enum edge_type edge;
-+ if (evdev->touch.finger_count < 2) {
-+ edge = tp_detect_edges(evdev, evdev->pkt.abs_x, evdev->pkt.abs_y);
-+ switch (edge) {
-+ case RIGHT_TOP_EDGE:
-+ return GPM_B_MIDDLE;
-+ break;
-+ case RIGHT_BOTTOM_EDGE:
-+ return GPM_B_RIGHT;
-+ break;
-+ default:
-+ return GPM_B_LEFT;
-+ break;
-+ }
-+ } else {
-+ switch (evdev->touch.finger_count) {
-+ case 2:
-+ return GPM_B_MIDDLE;
-+ case 3:
-+ return GPM_B_RIGHT;
-+ default:
-+ return GPM_B_LEFT;
-+ }
-+ }
-+}
-+
-+static void tp_detect_gesture(struct event_device *evdev, int timed_out, enum touch_type touch_type)
-+{
-+ struct touch_data *touch = &evdev->touch;
-+ int was_touching = touch->touching;
-+
-+ touch->touching = touch_type == TOUCH_FINGERS;
-+
-+ if (touch->touching) {
-+ if (!was_touching) {
-+ GET_TIME(touch->start);
-+ touch->finger_count = 0;
-+ if (touch->gesture == GESTURE_TAP_PENDING) {
-+ touch->gesture = GESTURE_DRAG_PENDING;
-+ } else {
-+ touch->x = evdev->pkt.abs_x;
-+ touch->y = evdev->pkt.abs_y;
-+ touch->buttons = 0;
-+ }
-+ } else if (touch->gesture == GESTURE_DRAG_PENDING && tp_touch_expired(evdev)) {
-+ touch->gesture = GESTURE_DRAG;
-+ }
-+ } else {
-+ if (was_touching) {
-+ if (tp_detect_tap(evdev)) {
-+ if (touch->gesture == GESTURE_DRAG_PENDING) {
-+ touch->gesture = GESTURE_DOUBLE_TAP;
-+ touch->clicks = 4;
-+ } else {
-+ if ((touch->buttons = tp_tap_to_buttons(evdev)) == GPM_B_LEFT) {
-+ touch->gesture = GESTURE_TAP_PENDING;
-+ } else {
-+ touch->gesture = GESTURE_TAP;
-+ touch->clicks = 2;
-+ }
-+ }
-+ } else {
-+ touch->gesture = GESTURE_NONE;
-+ }
-+ } else {
-+ if (touch->gesture == GESTURE_TAP_PENDING && tp_touch_expired(evdev)) {
-+ touch->gesture = GESTURE_TAP;
-+ touch->clicks = 2;
-+ }
-+ }
-+ }
-+}
-+
-+static int tp_process_gesture(struct event_device *evdev, struct Gpm_Event *state)
-+{
-+ int next_timeout = -1;
-+
-+ switch(evdev->touch.gesture) {
-+ case GESTURE_DOUBLE_TAP:
-+ case GESTURE_TAP:
-+ if (--evdev->touch.clicks == 0)
-+ evdev->touch.gesture = GESTURE_NONE;
-+ else
-+ next_timeout = 0;
-+
-+ if (evdev->touch.clicks % 2)
-+ state->buttons |= evdev->touch.buttons;
-+ else
-+ state->buttons &= ~evdev->touch.buttons;
-+ break;
-+
-+ case GESTURE_DRAG:
-+ state->buttons |= evdev->touch.buttons;
-+ break;
-+
-+ case GESTURE_DRAG_PENDING:
-+ case GESTURE_TAP_PENDING:
-+ next_timeout = evdev->tap_time;
-+ break;
-+
-+ default:
-+ break;
-+ }
-+ return next_timeout;
-+}
-+
-+static void tp_update_finger_count(struct event_device *evdev)
-+{
-+ evdev->touch.finger_count = max(evdev->pkt.finger_count, evdev->touch.finger_count);
-+}
-+
-+static void syn_update_finger_count(struct event_device *evdev)
-+{
-+ if (evdev->pkt.w == 1)
-+ evdev->touch.finger_count = 3;
-+ else if (evdev->pkt.w == 0 && evdev->touch.finger_count != 3)
-+ evdev->touch.finger_count = 2;
-+ else
-+ evdev->touch.finger_count = 1;
-+}
-+
-+static int compose_gpm_event(struct event_device *evdev, int timed_out, Gpm_Event *state)
-+{
-+ struct event_data *pkt = &evdev->pkt;
-+ enum touch_type touch_type;
-+ int next_timeout = -1;
-+
-+ if (!timed_out) {
-+ state->buttons = pkt->buttons;
-+ state->wdx = pkt->wdx; state->wdy = pkt->wdy;
-+ }
-+
-+ switch (evdev->type) {
-+ case EVDEV_RELATIVE:
-+ if (!timed_out) {
-+ state->dx = pkt->dx; state->dy = pkt->dy;
-+ if (evdev->pkt.touch)
-+ state->buttons |= GPM_B_LEFT;
-+ else
-+ state->buttons &= ~GPM_B_LEFT;
-+ }
-+ break;
-+
-+ case EVDEV_ABSOLUTE:
-+ if (!timed_out) {
-+ if (pkt->abs_x < evdev->left_edge)
-+ pkt->abs_x = evdev->left_edge;
-+ else if (pkt->abs_x > evdev->right_edge)
-+ pkt->abs_x = evdev->right_edge;
-+
-+ if (pkt->abs_y > evdev->bottom_edge)
-+ pkt->abs_y = evdev->bottom_edge;
-+ else if (pkt->abs_y < evdev->top_edge)
-+ pkt->abs_y = evdev->top_edge;
-+
-+ state->x = (pkt->abs_x - evdev->left_edge) *
-+ console.max_x / (evdev->right_edge - evdev->left_edge);
-+ state->y = (pkt->abs_y - evdev->top_edge) *
-+ console.max_y / (evdev->bottom_edge - evdev->top_edge);
-+
-+ if (evdev->y_inverted) state->y = console.max_y - state->y;
-+
-+ if (evdev->pkt.touch)
-+ state->buttons |= GPM_B_LEFT;
-+ else
-+ state->buttons &= ~GPM_B_LEFT;
-+ }
-+ break;
-+
-+ case EVDEV_TOUCHPAD:
-+ case EVDEV_SYNAPTICS:
-+ touch_type = timed_out ? TOUCH_NONE : evdev->detect_touch(evdev);
-+
-+ if (touch_type != TOUCH_PALM) {
-+ tp_detect_gesture(evdev, timed_out, touch_type);
-+
-+ if (evdev->touch.touching && !tp_touch_expired(evdev))
-+ evdev->update_finger_count(evdev);
-+
-+ if (evdev->touch.finger_count < 2)
-+ tp_figure_deltas(evdev, state);
-+
-+ next_timeout = tp_process_gesture(evdev, state);
-+ }
-+ break;
-+
-+ default:
-+ /* should not happen */
-+ gpm_report(GPM_PR_OOPS, "Bad evdev type %d", evdev->type);
-+ break;
-+ }
-+
-+ if (evdev->y_inverted) state->dy = -state->dy;
-+
-+ return next_timeout;
-+}
-+
-+int M_evdev(struct micedev *dev, struct miceopt *opts,
-+ unsigned char *data, struct Gpm_Event *state)
-+{
-+ struct event_device *evdev = dev->private;
-+ struct input_event *event = (struct input_event *)data;
-+ int timed_out = data == NULL;
-+
-+ if (!timed_out)
-+ parse_input_event(event, &evdev->pkt);
-+
-+ if (timed_out || evdev->pkt.synced || evdev->dont_sync) {
-+ dev->timeout = compose_gpm_event(evdev, timed_out, state);
-+ evdev->pkt.dx = evdev->pkt.dy = 0;
-+ evdev->pkt.wdx = evdev->pkt.wdy = 0;
-+ evdev->pkt.finger_count = 0;
-+ evdev->pkt.synced = 0;
-+ return 0;
-+ }
-+
-+ dev->timeout = -1;
-+ return -1;
-+}
-+
-+/* ------------- evdev initialization routines ---------------------*/
-+
-+static int evdev_get_id(int fd, struct input_id *id)
-+{
-+ if (ioctl(fd, EVIOCGID, id) < 0) {
-+ gpm_report(GPM_PR_ERR, "evdev: cannot query device identification");
-+ return -1;
-+ }
-+ return 0;
-+}
-+
-+static int evdev_get_capabilities(int fd, struct evdev_capabilities *caps)
-+{
-+ memset(caps, 0, sizeof(*caps));
-+
-+ if (ioctl(fd, EVIOCGBIT(0, EV_MAX), caps->evbits) < 0) {
-+ gpm_report(GPM_PR_ERR, "evdev: cannot query device capabilities");
-+ return -1;
-+ }
-+
-+ if (test_bit(EV_ABS, caps->evbits) &&
-+ ioctl(fd, EVIOCGBIT(EV_ABS, sizeof(caps->absbits)), caps->absbits) < 0) {
-+ gpm_report(GPM_PR_ERR, "evdev: cannot query ABS device capabilities");
-+ return -1;
-+ }
-+
-+ if (test_bit(EV_KEY, caps->evbits) &&
-+ ioctl(fd, EVIOCGBIT(EV_KEY, sizeof(caps->keybits)), caps->keybits) < 0) {
-+ gpm_report(GPM_PR_ERR, "evdev: cannot query KEY device capabilities");
-+ return -1;
-+ }
-+
-+ if (test_bit(EV_MSC, caps->evbits) &&
-+ ioctl(fd, EVIOCGBIT(EV_MSC, sizeof(caps->mscbits)), caps->mscbits) < 0) {
-+ /* don't complain as 2.4 kernels didnt have it
-+ gpm_report(GPM_PR_ERR, "evdev: cannot query MSC device capabilities");
-+ return -1;
-+ */
-+ }
-+ return 0;
-+}
-+
-+static int evdev_query_axis(int fd, int axis, int *axis_min, int *axis_max)
-+{
-+ struct input_absinfo axis_info;
-+
-+ if (ioctl(fd, EVIOCGABS(axis), &axis_info) == -1) {
-+ gpm_report(GPM_PR_ERR, "evdev: could not query axis data");
-+ return -1;
-+ }
-+
-+ *axis_min = axis_info.minimum;
-+ *axis_max = axis_info.maximum;
-+ return 0;
-+}
-+
-+static int evdev_get_limits(int fd, struct event_device *evdev,
-+ struct evdev_capabilities *caps)
-+{
-+ if (test_bit(ABS_X, caps->absbits) &&
-+ evdev_query_axis(fd, ABS_X, &evdev->left_edge, &evdev->right_edge) < 0)
-+ return -1;
-+
-+ if (test_bit(ABS_Y, caps->absbits) &&
-+ evdev_query_axis(fd, ABS_Y, &evdev->top_edge, &evdev->bottom_edge) < 0)
-+ return -1;
-+
-+ return 0;
-+}
-+
-+static int is_synaptics(struct input_id *id)
-+{
-+ return id->bustype == BUS_I8042 && id->vendor == 0x0002 && id->product == PSMOUSE_SYNAPTICS;
-+}
-+
-+static enum evdev_type evdev_guess_type(struct input_id *id, struct evdev_capabilities *caps)
-+{
-+ if (test_bit(EV_ABS, caps->evbits)) {
-+ if (is_synaptics(id))
-+ return EVDEV_SYNAPTICS;
-+
-+ if (test_bit(BTN_TOUCH, caps->keybits) && caps->keybits[BTN_MOUSE / 8])
-+ return EVDEV_TOUCHPAD;
-+
-+ return EVDEV_ABSOLUTE;
-+ }
-+
-+ if (!test_bit(EV_REL, caps->evbits)) {
-+ gpm_report(GPM_PR_ERR,
-+ "evdev: device does not report neither absolute nor relative coordinates");
-+ return EVDEV_UNKNOWN;
-+ }
-+
-+ return EVDEV_RELATIVE;
-+}
-+
-+static enum evdev_type evdev_str_to_type(const char *type)
-+{
-+ if (!strcmp(type, "relative")) {
-+ return EVDEV_RELATIVE;
-+ } else if (!strcmp(type, "absolute")) {
-+ return EVDEV_ABSOLUTE;
-+ } else if (!strcmp(type, "touchpad")) {
-+ return EVDEV_TOUCHPAD;
-+ } else if (!strcmp(type, "synaptics")) {
-+ return EVDEV_SYNAPTICS;
-+ } else {
-+ gpm_report(GPM_PR_ERR, "evdev: unknown type '%s'", type);
-+ return EVDEV_UNKNOWN;
-+ }
-+}
-+
-+static void warn_if_present(struct option_helper *optinfo, const char *name, const char *type)
-+{
-+ if (is_option_present(optinfo, name))
-+ gpm_report(GPM_PR_WARN,
-+ "evdev: option '%s' is not valud for type '%s', ignored",
-+ name, type);
-+}
-+
-+// -o type=(auto|synaptics|touchpad|relative|absolute),y_inverse,
-+// left=1234,right=1234,top=1234,bottom=1234,
-+// touch_high=30,touch_low=25,tap_time=30,tap_move=100
-+static int evdev_apply_options(struct event_device *evdev, char *optstring)
-+{
-+ char *type = "auto";
-+ struct option_helper optinfo[] = {
-+ { "type", OPT_STRING, u: { sptr: &type } },
-+ { "y_inverted", OPT_BOOL, u: { iptr: &evdev->y_inverted }, value: 1 },
-+ { "left", OPT_INT, u: { iptr: &evdev->left_edge } },
-+ { "right", OPT_INT, u: { iptr: &evdev->right_edge } },
-+ { "top", OPT_INT, u: { iptr: &evdev->top_edge } },
-+ { "bottom", OPT_INT, u: { iptr: &evdev->bottom_edge } },
-+ { "touch_high", OPT_INT, u: { iptr: &evdev->touch_high } },
-+ { "touch_low", OPT_INT, u: { iptr: &evdev->touch_low } },
-+ { "tap_time", OPT_INT, u: { iptr: &evdev->tap_time } },
-+ { "tap_move", OPT_INT, u: { iptr: &evdev->tap_move } },
-+ { "", OPT_END }
-+ };
-+
-+ if (parse_options("evdev", optstring, ',', optinfo) < 0)
-+ return -1;
-+
-+ if (strcmp(type, "auto"))
-+ evdev->type = evdev_str_to_type(type);
-+
-+ switch (evdev->type) {
-+ case EVDEV_RELATIVE:
-+ warn_if_present(optinfo, "left", type);
-+ warn_if_present(optinfo, "right", type);
-+ warn_if_present(optinfo, "top", type);
-+ warn_if_present(optinfo, "bottom", type);
-+ warn_if_present(optinfo, "tap_move", type);
-+ warn_if_present(optinfo, "tap_time", type);
-+ warn_if_present(optinfo, "touch_high", type);
-+ warn_if_present(optinfo, "touch_low", type);
-+ break;
-+
-+ case EVDEV_ABSOLUTE:
-+ warn_if_present(optinfo, "tap_move", type);
-+ warn_if_present(optinfo, "tap_time", type);
-+ warn_if_present(optinfo, "touch_high", type);
-+ warn_if_present(optinfo, "touch_low", type);
-+ break;
-+
-+ case EVDEV_TOUCHPAD:
-+ break;
-+
-+ case EVDEV_SYNAPTICS:
-+ warn_if_present(optinfo, "y_inverted", type);
-+ break;
-+
-+ default:
-+ return -1;
-+ }
-+ return 0;
-+}
-+
-+int I_evdev(struct micedev *dev, struct miceopt *opts, Gpm_Type *type)
-+{
-+ struct input_id id;
-+ struct evdev_capabilities caps;
-+ struct event_device *evdev;
-+
-+ if (!dev->private) { /* called first time, not re-init */
-+ if (!(dev->private = evdev = malloc(sizeof(*evdev))))
-+ gpm_report(GPM_PR_OOPS, "Can't allocate memory for event device");
-+
-+ memset(evdev, 0, sizeof(*evdev));
-+
-+ if (evdev_get_id(dev->fd, &id))
-+ goto init_fail;
-+
-+ if (evdev_get_capabilities(dev->fd, &caps))
-+ goto init_fail;
-+
-+ evdev->type = evdev_guess_type(&id, &caps);
-+
-+ /* load default values - suitable for my synaptics ;P */
-+ evdev->left_edge = 1900;
-+ evdev->right_edge = 5300;
-+ evdev->top_edge = 2000;
-+ evdev->bottom_edge = 3900;
-+ evdev->tap_time = 180;
-+ evdev->tap_move = 220;
-+ evdev->touch_high = 30;
-+ evdev->touch_low = 25;
-+
-+ if (evdev->type == EVDEV_ABSOLUTE && evdev_get_limits(dev->fd, evdev, &caps) < 0)
-+ goto init_fail;
-+
-+ if (evdev_apply_options(evdev, opts->text) < 0)
-+ goto init_fail;
-+
-+ if (!test_bit(EV_SYNC, caps.evbits)) {
-+ evdev->dont_sync = 1;
-+ if (evdev->type == EVDEV_TOUCHPAD || evdev->type == EVDEV_SYNAPTICS) {
-+ gpm_report(GPM_PR_ERR,
-+ "evdev: The running kernel lacks EV_SYNC support which is required for touchpad/synaptics mode");
-+ goto init_fail;
-+ }
-+ }
-+
-+ switch (evdev->type) {
-+ case EVDEV_RELATIVE:
-+ gpm_report(GPM_PR_INFO, "evdev: selected Relative mode");
-+ if (!test_bit(EV_REL, caps.evbits))
-+ gpm_report(GPM_PR_WARN, "evdev: selected relative mode but device does not report any relative events");
-+ break;
-+
-+ case EVDEV_ABSOLUTE:
-+ gpm_report(GPM_PR_INFO, "evdev: selected Absolute mode");
-+ if (evdev->right_edge <= evdev->left_edge) {
-+ gpm_report(GPM_PR_ERR, "evdev: right edge value should be gerater than left");
-+ goto init_fail;
-+ }
-+ if (evdev->bottom_edge <= evdev->top_edge) {
-+ gpm_report(GPM_PR_ERR, "evdev: bottom edge value should be gerater than top");
-+ goto init_fail;
-+ }
-+ if (!test_bit(EV_ABS, caps.evbits))
-+ gpm_report(GPM_PR_WARN, "evdev: selected absolute mode but device does not report any absolute events");
-+ opts->absolute = 1;
-+ break;
-+
-+ case EVDEV_TOUCHPAD:
-+ gpm_report(GPM_PR_INFO, "evdev: selected Touchpad mode");
-+ if (!test_bit(EV_ABS, caps.evbits))
-+ gpm_report(GPM_PR_WARN, "evdev: selected touchpad mode but device does not report any absolute events");
-+ if (test_bit(ABS_PRESSURE, caps.absbits))
-+ evdev->detect_touch = smart_tp_detect_touch;
-+ else if (test_bit(BTN_TOUCH, caps.keybits))
-+ evdev->detect_touch = dumb_tp_detect_touch;
-+ else
-+ gpm_report(GPM_PR_WARN, "evdev: selected touchpad mode but device does not report pressure not touch events");
-+ evdev->update_finger_count = tp_update_finger_count;
-+ break;
-+
-+ case EVDEV_SYNAPTICS:
-+ gpm_report(GPM_PR_INFO, "evdev: selected Synaptics mode");
-+ if (!is_synaptics(&id))
-+ gpm_report(GPM_PR_WARN, "evdev: idevice isn't identified as Synaptics");
-+ if (!test_bit(EV_ABS, caps.evbits))
-+ gpm_report(GPM_PR_WARN, "evdev: selected synaptics mode but device does not report any absolute events");
-+ if (!test_bit(ABS_PRESSURE, caps.absbits))
-+ gpm_report(GPM_PR_WARN, "evdev: selected synaptics mode but device does not report pressure");
-+ if (test_bit(EV_MSC, caps.evbits) && test_bit(MSC_GESTURE, caps.mscbits)) {
-+ /* this is compatibility mode with pre 2.6-test6 kernels */
-+ evdev->update_finger_count = syn_update_finger_count;
-+ evdev->y_inverted = 1;
-+ } else {
-+ evdev->update_finger_count = tp_update_finger_count;
-+ }
-+ evdev->detect_touch = syn_detect_touch;
-+ break;
-+
-+ default:
-+ break;
-+ }
-+ }
-+
-+ return 0;
-+
-+init_fail:
-+ free(dev->private);
-+ return -1;
-+}
-+
-diff -urN gpm-1.20.1/src/gpm.c gpm/src/gpm.c
---- gpm-1.20.1/src/gpm.c 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/src/gpm.c 2003-10-02 01:22:42.000000000 -0500
-@@ -24,1108 +24,607 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h> /* strerror(); ?!? */
-+#include <limits.h>
- #include <errno.h>
- #include <unistd.h> /* select(); */
- #include <signal.h> /* SIGPIPE */
- #include <time.h> /* time() */
--#include <sys/param.h>
- #include <sys/fcntl.h> /* O_RDONLY */
- #include <sys/wait.h> /* wait() */
--#include <sys/stat.h> /* mkdir() */
- #include <sys/time.h> /* timeval */
--#include <sys/types.h> /* socket() */
--#include <sys/socket.h> /* socket() */
--#include <sys/un.h> /* struct sockaddr_un */
--
--#include <linux/vt.h> /* VT_GETSTATE */
--#include <sys/kd.h> /* KDGETMODE */
--#include <termios.h> /* winsize */
-
- #include "headers/gpmInt.h"
- #include "headers/message.h"
--
--/* who the f*** runs gpm without glibc? doesn't have dietlibc __socklent_t? */
--#if !defined(__GLIBC__)
-- typedef unsigned int __socklen_t;
--#endif /* __GLIBC__ */
-+#include "headers/console.h"
-+#include "headers/selection.h"
-+#include "headers/client.h"
-
- #ifndef max
- #define max(a,b) ((a)>(b) ? (a) : (b))
- #endif
-
--extern int errno;
--
--static void gpm_killed(int);
--
--/*
-- * all the values duplicated for dual-mouse operation are
-- * now in this structure (see gpmInt.h)
-- * mouse_table[0] is single mouse, mouse_table[1] and mouse_table[2]
-- * are copied data from mouse_table[0] for dual mouse operation.
-- */
--
--struct mouse_features mouse_table[3] = {
-- {
-- DEF_TYPE, DEF_DEV, DEF_SEQUENCE,
-- DEF_BAUD, DEF_SAMPLE, DEF_DELTA, DEF_ACCEL, DEF_SCALE, 0 /* scaley */,
-- DEF_TIME, DEF_CLUSTER, DEF_THREE, DEF_GLIDEPOINT_TAP,
-- (char *)NULL /* extra */,
-- (Gpm_Type *)NULL,
-- -1
-- }
--};
--struct mouse_features *which_mouse;
--
--/* These are only the 'global' options */
--
--char *opt_lut=DEF_LUT;
--int opt_test=DEF_TEST;
--int opt_ptrdrag=DEF_PTRDRAG;
--int opt_double=0;
--int opt_aged = 0;
--char *opt_special=NULL; /* special commands, like reboot or such */
--int opt_rawrep=0;
--Gpm_Type *repeated_type=0;
--
--static int opt_resize=0; /* not really an option */
--struct winsize win;
--int maxx, maxy;
--int fifofd=-1;
--
--int eventFlag=0;
--Gpm_Cinfo *cinfo[MAX_VC+1];
--fd_set selSet, readySet, connSet;
--
--time_t last_selection_time;
--time_t opt_age_limit = 0;
--
--/* BRAINDEAD..ok not really, but got to leave anyway... FIXME */
--/* argc and argv for mice initialization */
--static int mouse_argc[3]; /* 0 for default (unused) and two mice */
--static char **mouse_argv[3]; /* 0 for default (unused) and two mice */
--
--/*===================================================================*/
--/*
-- * first, all the stuff that used to be in gpn.c (i.e., not main-loop)
-- */
--/*-------------------------------------------------------------------*/
-+#ifndef min
-+#define min(a,b) ((a)<(b) ? (a) : (b))
-+#endif
-
--/* build_argv is used for mouse initialization routines */
--static char **build_argv(char *argv0, char *str, int *argcptr, char sep)
--{
-- int argc = 1;
-- char **argv;
-- char *s;
--
-- /* argv0 is never NULL, but the extra string may well be */
-- if (str)
-- for (s=str; sep && (s = strchr(s, sep)); argc++) s++;
--
-- argv = calloc(argc+2, sizeof(char **));
-- if (!argv) gpm_report(GPM_PR_OOPS,GPM_MESS_ALLOC_FAILED);
-- argv[0] = argv0;
--
-- if (!str) {
-- *argcptr = argc; /* 1 */
-- return argv;
-- }
-- /* else, add arguments */
-- s = argv[1] = strdup(str);
-- argc = 2; /* first to fill */
--
-- /* ok, now split: the first one is in place, and s is the whole string */
-- for ( ; sep && (s = strchr(s, sep)) ; argc++) {
-- *s = '\0';
-- s++;
-- argv[argc] = s;
-- }
-- *argcptr = argc;
-- return argv;
--}
-+#define NULL_SET ((fd_set *)NULL)
-+#define GET_TIME(tv) (gettimeofday(&tv, (struct timezone *)NULL))
-+#define DIF_TIME(t1,t2) ((t2.tv_sec - t1.tv_sec)*1000 + (t2.tv_usec - t1.tv_usec)/1000)
-
--/*-------------------------------------------------------------------*/
--/* The old console option is removed. We are taking stderr now
-- * In the next update there should also be support for syslog
-- ********************************************************************/
-
--static inline int open_console(const int mode)
--{
-- int fd;
-+enum mouse_rslt { MOUSE_NO_DATA, MOUSE_DATA_OK, MOUSE_MORE_DATA };
-
-- if ((fd=open(option.consolename, mode)) < 0)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_OPEN_CON);
-- return fd;
--}
-+extern int errno;
-
--/*-------------------------------------------------------------------*/
--static inline int wait_text(int *fdptr)
--{
-- int fd;
-- int kd_mode;
-+char *opt_special=NULL; /* special commands, like reboot or such */
-+struct repeater repeater;
-
-- close(*fdptr);
-- do
-- {
-- sleep(2);
-- fd = open_console(O_RDONLY);
-- if (ioctl(fd, KDGETMODE, &kd_mode)<0)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_IOCTL_KDGETMODE);
-- close(fd);
-- }
-- while (kd_mode != KD_TEXT) ;
--
-- /* reopen, reinit (the function is only used if we have one mouse device) */
-- if ((*fdptr=open(opt_dev,O_RDWR))<0)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_OPEN,opt_dev);
-- if (m_type->init)
-- m_type=(m_type->init)(*fdptr, m_type->flags, m_type, mouse_argc[1],
-- mouse_argv[1]);
-- return (1);
--}
-+static int console_resized; /* not really an option */
-
- /*-------------------------------------------------------------------*/
--static inline void selection_copy(int x1, int y1, int x2, int y2, int mode)
-+static void gpm_killed(int signo)
- {
--/*
-- * The approach in "selection" causes a bus error when run under SunOS 4.1
-- * due to alignment problems...
-- */
-- unsigned char buf[6*sizeof(short)];
-- unsigned short *arg = (unsigned short *)buf + 1;
-- int fd;
--
-- buf[sizeof(short)-1] = 2; /* set selection */
--
-- arg[0]=(unsigned short)x1;
-- arg[1]=(unsigned short)y1;
-- arg[2]=(unsigned short)x2;
-- arg[3]=(unsigned short)y2;
-- arg[4]=(unsigned short)mode;
--
-- if ((fd=open_console(O_WRONLY))<0)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_OPEN_CON);
-- /* FIXME: should be replaced with string constant (headers/message.h) */
-- gpm_report(GPM_PR_DEBUG,"ctl %i, mode %i",(int)*buf, arg[4]);
-- if (ioctl(fd, TIOCLINUX, buf+sizeof(short)-1) < 0)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_IOCTL_TIOCLINUX);
-- close(fd);
--
-- if (mode < 3) {
-- opt_aged = 0;
-- last_selection_time = time(0);
-+ if (signo == SIGWINCH) {
-+ gpm_report(GPM_PR_WARN, GPM_MESS_RESIZING, option.progname, getpid());
-+ console_resized = 1;
-+ } else {
-+ if (signo == SIGUSR1)
-+ gpm_report(GPM_PR_WARN, GPM_MESS_KILLED_BY, option.progname, getpid(), option.progname);
-+ exit(0);
- }
- }
-
--
--/*-------------------------------------------------------------------*/
--/* comment missing; FIXME */
--/*-------------------------------------------------------------------*/
--static inline void selection_paste(void)
--{
-- char c=3;
-- int fd;
--
-- if (!opt_aged && (0 != opt_age_limit) &&
-- (last_selection_time + opt_age_limit < time(0))) {
-- opt_aged = 1;
-- }
--
-- if (opt_aged) {
-- gpm_report(GPM_PR_DEBUG,GPM_MESS_SKIP_PASTE);
-- return;
-- }
--
-- fd=open_console(O_WRONLY);
-- if(ioctl(fd, TIOCLINUX, &c) < 0)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_IOCTL_TIOCLINUX);
-- close(fd);
--}
--
--/*-------------------------------------------------------------------*/
--static inline int do_selection(Gpm_Event *event) /* returns 0, always */
--{
-- static int x1=1, y1=1, x2, y2;
--#define UNPOINTER() 0
--
-- x2=event->x; y2=event->y;
-- switch(GPM_BARE_EVENTS(event->type)) {
-- case GPM_MOVE:
-- if (x2<1) x2++; else if (x2>maxx) x2--;
-- if (y2<1) y2++; else if (y2>maxy) y2--;
-- selection_copy(x2,y2,x2,y2,3); /* just highlight pointer */
-- return 0;
--
-- case GPM_DRAG:
-- if (event->buttons==GPM_B_LEFT) {
-- if (event->margin) /* fix margins */
-- switch(event->margin) {
-- case GPM_TOP: x2=1; y2++; break;
-- case GPM_BOT: x2=maxx; y2--; break;
-- case GPM_RGT: x2--; break;
-- case GPM_LFT: y2<=y1 ? x2++ : (x2=maxx, y2--); break;
-- }
-- selection_copy(x1,y1,x2,y2,event->clicks);
-- if (event->clicks>=opt_ptrdrag && !event->margin) /* pointer */
-- selection_copy(x2,y2,x2,y2,3);
-- } /* if */
-- return 0;
--
-- case GPM_DOWN:
-- switch (event->buttons) {
-- case GPM_B_LEFT:
-- x1=x2; y1=y2;
-- selection_copy(x1,y1,x2,y2,event->clicks); /* start selection */
-- return 0;
--
-- case GPM_B_MIDDLE:
-- selection_paste();
-- return 0;
--
-- case GPM_B_RIGHT:
-- if (opt_three==1)
-- selection_copy(x1,y1,x2,y2,event->clicks);
-- else
-- selection_paste();
-- return 0;
-- }
-- } /* switch above */
-- return 0;
--}
--
--/*-------------------------------------------------------------------*/
--/* returns 0 if the event has not been processed, and 1 if it has */
--static inline int do_client(Gpm_Cinfo *cinfo, Gpm_Event *event)
--{
-- Gpm_Connect info=cinfo->data;
-- int fd=cinfo->fd;
-- /* value to return if event is not used */
-- int res = !(info.defaultMask & event->type);
--
-- /* instead of returning 0, scan the stack of clients */
-- if ((info.minMod & event->modifiers) < info.minMod)
-- goto scan;
-- if ((info.maxMod & event->modifiers) < event->modifiers)
-- goto scan;
--
-- /* if not managed, use default mask */
-- if (!(info.eventMask & GPM_BARE_EVENTS(event->type))) {
-- if (res) return res;
-- else goto scan;
-- }
--
-- /* WARNING */ /* This can generate a SIGPIPE... I'd better catch it */
-- MAGIC_P((write(fd,&magic, sizeof(int))));
-- write(fd,event, sizeof(Gpm_Event));
--
-- return info.defaultMask & GPM_HARD ? res : 1; /* HARD forces pass-on */
--
-- scan:
-- if (cinfo->next != 0)
-- return do_client (cinfo->next, event); /* try the next */
-- return 0; /* no next, not used */
--}
--
- /*-------------------------------------------------------------------
- * fetch the actual device data from the mouse device, dependent on
- * what Gpm_Type is being passed.
- *-------------------------------------------------------------------*/
--static inline char *getMouseData(int fd, Gpm_Type *type, int kd_mode)
-+static char *getMouseData(int fd, Gpm_Type *type, int text_mode)
- {
- static unsigned char data[32]; /* quite a big margin :) */
-- char *edata=data+type->packetlen;
-- int howmany=type->howmany;
-- int i,j;
-+ unsigned char *pdata;
-+ int len, togo;
-
--/*....................................... read and identify one byte */
--
-- if (read(fd, data, howmany)!=howmany) {
-- if (opt_test) exit(0);
-+ /*....................................... read and identify one byte */
-+ if (read(fd, data, type->howmany) != type->howmany) {
- gpm_report(GPM_PR_ERR,GPM_MESS_READ_FIRST, strerror(errno));
- return NULL;
- }
-
-- if (kd_mode!=KD_TEXT && fifofd != -1 && opt_rawrep)
-- write(fifofd, data, howmany);
-+ if (!text_mode && repeater.fd != -1 && repeater.raw)
-+ write(repeater.fd, data, type->howmany);
-
-- if ((data[0]&(m_type->proto)[0]) != (m_type->proto)[1]) {
-- if (m_type->getextra == 1) {
-- data[1]=GPM_EXTRA_MAGIC_1; data[2]=GPM_EXTRA_MAGIC_2;
-- gpm_report(GPM_PR_DEBUG,GPM_EXTRA_DATA,data[0]);
-+ if ((data[0] & type->proto[0]) != type->proto[1]) {
-+ if (type->getextra == 1) {
-+ data[1] = GPM_EXTRA_MAGIC_1; data[2] = GPM_EXTRA_MAGIC_2;
-+ gpm_report(GPM_PR_DEBUG, GPM_EXTRA_DATA, data[0]);
- return data;
- }
-- gpm_report(GPM_PR_DEBUG,GPM_MESS_PROT_ERR);
-+ gpm_report(GPM_PR_DEBUG, GPM_MESS_PROT_ERR);
- return NULL;
- }
-
--/*....................................... read the rest */
-+ /*....................................... read the rest */
-
- /*
- * well, this seems to work almost right with ps2 mice. However, I've never
- * tried ps2 with the original selection package, which called usleep()
- */
--
-- if((i=m_type->packetlen-howmany)) /* still to get */
-+ if ((togo = type->packetlen - type->howmany)) { /* still to get */
-+ pdata = &data[type->howmany];
- do {
-- j = read(fd,edata-i,i); /* edata is pointer just after data */
-- if (kd_mode!=KD_TEXT && fifofd != -1 && opt_rawrep && j > 0)
-- write(fifofd, edata-i, j);
-- i -= j;
-- } while (i && j);
--
-- if (i) {
-- gpm_report(GPM_PR_ERR,GPM_MESS_READ_REST, strerror(errno));
-+ if ((len = read(fd, pdata, togo)) == 0)
-+ break;
-+ if (!text_mode && repeater.fd != -1 && repeater.raw && len > 0)
-+ write(repeater.fd, pdata, len);
-+ pdata += len;
-+ togo -= len;
-+ } while (togo);
-+ }
-+
-+ if (togo) {
-+ gpm_report(GPM_PR_ERR, GPM_MESS_READ_REST, strerror(errno));
- return NULL;
- }
-
-- if ((data[1]&(m_type->proto)[2]) != (m_type->proto)[3]) {
-- gpm_report(GPM_PR_INFO,GPM_MESS_SKIP_DATA);
-+ if ((data[1] & type->proto[2]) != type->proto[3]) {
-+ gpm_report(GPM_PR_INFO, GPM_MESS_SKIP_DATA);
- return NULL;
- }
-- gpm_report(GPM_PR_DEBUG,GPM_MESS_DATA_4,data[0],data[1],data[2],data[3]);
-+ gpm_report(GPM_PR_DEBUG, GPM_MESS_DATA_4, data[0], data[1], data[2], data[3]);
- return data;
- }
-
--
--static int statusX,statusY,statusB; /* to return info */
--static int statusC=0; /* clicks */
--void get_console_size(Gpm_Event *ePtr);
--
--/*-------------------------------------------------------------------
-- * call getMouseData to get hardware device data, call mouse device's fun()
-- * to retrieve the hardware independent event data, then optionally repeat
-- * the data via repeat_fun() to the repeater device
-- *-------------------------------------------------------------------*/
--static inline int processMouse(int fd, Gpm_Event *event, Gpm_Type *type,
-- int kd_mode)
-+/*-------------------------------------------------------------------*/
-+void handle_console_resize(Gpm_Event *event)
- {
-- char *data;
-- static int fine_dx, fine_dy;
-- static int i, j, m;
-- static Gpm_Event nEvent;
-- static struct vt_stat stat;
-- static struct timeval tv1={0,0}, tv2; /* tv1==0: first click is single */
-- static struct timeval timeout={0,0};
-- fd_set fdSet;
-- static int newB=0, oldB=0, oldT=0; /* old buttons and Type to chain events */
-- /* static int buttonlock, buttonlockflag; */
--
--#define GET_TIME(tv) (gettimeofday(&tv, (struct timezone *)NULL))
--#define DIF_TIME(t1,t2) ((t2.tv_sec -t1.tv_sec) *1000+ \
-- (t2.tv_usec-t1.tv_usec)/1000)
--
--
-- oldT=event->type;
--
-- if (eventFlag) {
-- eventFlag=0;
--
-- if (m_type->absolute) { /* a pen or other absolute device */
-- event->x=nEvent.x;
-- event->y=nEvent.y;
-- }
-- event->dx=nEvent.dx;
-- event->dy=nEvent.dy;
-- event->buttons=nEvent.buttons;
-- } else {
-- event->dx=event->dy=0;
-- event->wdx=event->wdy=0;
-- nEvent.modifiers = 0; /* some mice set them */
-- FD_ZERO(&fdSet); FD_SET(fd,&fdSet); i=0;
--
-- do { /* cluster loop */
-- if(((data=getMouseData(fd,m_type,kd_mode))==NULL)
-- || ((*(m_type->fun))(&nEvent,data)==-1) ) {
-- if (!i) return 0;
-- else break;
-- }
--
-- event->modifiers = nEvent.modifiers; /* propagate modifiers */
--
-- /* propagate buttons */
-- nEvent.buttons = (opt_sequence[nEvent.buttons&7]&7) |
-- (nEvent.buttons & ~7); /* change the order */
-- oldB=newB; newB=nEvent.buttons;
-- if (!i) event->buttons=nEvent.buttons;
--
-- if (oldB!=newB) {
-- eventFlag = (i!=0)*(which_mouse-mouse_table); /* 1 or 2 */
-- break;
-- }
--
-- /* propagate movement */
-- if (!(m_type->absolute)) { /* mouse */
-- if (abs(nEvent.dx)+abs(nEvent.dy) > opt_delta)
-- nEvent.dx*=opt_accel, nEvent.dy*=opt_accel;
--
-- /* increment the reported dx,dy */
-- event->dx+=nEvent.dx;
-- event->dy+=nEvent.dy;
-- } else { /* a pen */
-- /* get dx,dy to check if there has been movement */
-- event->dx = (nEvent.x) - (event->x);
-- event->dy = (nEvent.y) - (event->y);
-- }
--
-- /* propagate wheel */
-- event->wdx += nEvent.wdx;
-- event->wdy += nEvent.wdy;
--
-- select(fd+1,&fdSet,(fd_set *)NULL,(fd_set *)NULL,&timeout/* zero */);
--
-- } while (i++ <opt_cluster && nEvent.buttons==oldB && FD_ISSET(fd,&fdSet));
--
-- } /* if(eventFlag) */
--
--/*....................................... update the button number */
-+ int old_x, old_y;
-+ struct micetab *mouse;
-
-- if ((event->buttons&GPM_B_MIDDLE) && !opt_three) opt_three++;
-+ old_x = console.max_x; old_y = console.max_y;
-+ refresh_console_size();
-+ if (!old_x) { /* first invocation, place the pointer in the middle */
-+ event->x = console.max_x / 2;
-+ event->y = console.max_y / 2;
-+ } else { /* keep the pointer in the same position where it was */
-+ event->x = event->x * console.max_x / old_x;
-+ event->y = event->y * console.max_y / old_y;
-+ }
-
--/*....................................... we're a repeater, aren't we? */
-+ for (mouse = micelist; mouse; mouse = mouse->next) {
-+ /*
-+ * the following operation is based on the observation that 80x50
-+ * has square cells. (An author-centric observation ;-)
-+ */
-+ mouse->options.scaley = mouse->options.scalex * 50 * console.max_x / 80 / console.max_y;
-+ gpm_report(GPM_PR_DEBUG, GPM_MESS_X_Y_VAL,
-+ mouse->options.scalex, mouse->options.scaley);
-+ }
-+}
-
-- if (kd_mode!=KD_TEXT) {
-- if (fifofd != -1 && ! opt_rawrep) {
-- if (m_type->absolute) { /* hof Wed Feb 3 21:43:28 MET 1999 */
-- /* prepare the values from a absolute device for repeater mode */
-- static struct timeval rept1,rept2;
-- gettimeofday(&rept2, (struct timezone *)NULL);
-- if (((rept2.tv_sec -rept1.tv_sec)
-- *1000+(rept2.tv_usec-rept1.tv_usec)/1000)>250) {
-- event->dx=0;
-- event->dy=0;
-- }
-- rept1=rept2;
--
-- event->dy=event->dy*((win.ws_col/win.ws_row)+1);
-- event->x=nEvent.x;
-- event->y=nEvent.y;
-- }
-- repeated_type->repeat_fun(event, fifofd); /* itz Jan 11 1999 */
-+static void handle_repeater(int absolute_dev, Gpm_Event *new_event, Gpm_Event *event)
-+{
-+ static struct timeval last;
-+ struct timeval now;
-+
-+ if (absolute_dev) {
-+ /* prepare the values from a absolute device for repeater mode */
-+ GET_TIME(now);
-+ if (((now.tv_sec - last.tv_sec) * 1000 +
-+ (now.tv_usec - last.tv_usec) / 1000) > 250) {
-+ event->dx = 0;
-+ event->dy = 0;
- }
-- return 0; /* no events nor information for clients */
-- } /* first if of these three */
--
--/*....................................... no, we arent a repeater, go on */
-+ last = now;
-
-- /* use fine delta values now, if delta is the information */
-- if (!(m_type)->absolute) {
-- fine_dx+=event->dx; fine_dy+=event->dy;
-- event->dx=fine_dx/opt_scale; event->dy=fine_dy/opt_scaley;
-- fine_dx %= opt_scale; fine_dy %= opt_scaley;
-+ event->dy = event->dy * ((console.max_x / console.max_y) + 1);
-+ event->x = new_event->x;
-+ event->y = new_event->y;
- }
-+ repeater.type->repeat_fun(event, repeater.fd);
-+}
-
-- /* up and down, up and down, ... who does a do..while(0) loop ???
-- and then makes a break into it... argh ! */
--
-- if (!event->dx && !event->dy && (event->buttons==oldB))
-- do { /* so to break */
-- static long awaketime;
-- /*
-- * Ret information also if never happens, but enough time has elapsed.
-- * Note: return 1 will segfault due to missing event->vc; FIXME!
-- */
-- if (time(NULL)<=awaketime) return 0;
-- awaketime=time(NULL)+1;
-- break;
-- } while (0);
--
--/*....................................... fill missing fields */
--
-- event->x+=event->dx, event->y+=event->dy;
-- statusB=event->buttons;
--
-- i=open_console(O_RDONLY);
-- /* modifiers */
-- j = event->modifiers; /* save them */
-- event->modifiers=6; /* code for the ioctl */
-- if (ioctl(i,TIOCLINUX,&(event->modifiers))<0)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_GET_SHIFT_STATE);
-- event->modifiers |= j; /* add mouse-specific bits */
--
-- /* status */
-- j = stat.v_active;
-- if (ioctl(i,VT_GETSTATE,&stat)<0) gpm_report(GPM_PR_OOPS,GPM_MESS_GET_CONSOLE_STAT);
--
-- /*
-- * if we changed console, request the current console size,
-- * as different consoles can be of different size
-- */
-- if (stat.v_active != j)
-- get_console_size(event);
-- close(i);
--
-- event->vc = stat.v_active;
--
-- if (oldB==event->buttons)
-- event->type = (event->buttons ? GPM_DRAG : GPM_MOVE);
-- else
-- event->type = (event->buttons > oldB ? GPM_DOWN : GPM_UP);
--
-+static void calculate_clicks(Gpm_Event *event, int click_tmo)
-+{
-+ static struct timeval release;
-+ struct timeval now;
-+
- switch(event->type) { /* now provide the cooked bits */
- case GPM_DOWN:
-- GET_TIME(tv2);
-- if (tv1.tv_sec && (DIF_TIME(tv1,tv2)<opt_time)) /* check first click */
-- statusC++, statusC%=3; /* 0, 1 or 2 */
-+ GET_TIME(now);
-+ if (release.tv_sec && (DIF_TIME(release, now) < click_tmo)) /* check first click */
-+ event->clicks++, event->clicks %= 3; /* 0, 1 or 2 */
- else
-- statusC=0;
-- event->type|=(GPM_SINGLE<<statusC);
-+ event->clicks = 0;
-+ event->type |= GPM_SINGLE << event->clicks;
- break;
-
- case GPM_UP:
-- GET_TIME(tv1);
-- event->buttons^=oldB; /* for button-up, tell which one */
-- event->type|= (oldT&GPM_MFLAG);
-- event->type|=(GPM_SINGLE<<statusC);
-+ GET_TIME(release);
-+ event->type |= GPM_SINGLE << event->clicks;
- break;
-
- case GPM_DRAG:
-- event->type |= GPM_MFLAG;
-- event->type|=(GPM_SINGLE<<statusC);
-+ event->type |= GPM_SINGLE << event->clicks;
- break;
-
- case GPM_MOVE:
-- statusC=0;
-+ event->clicks = 0;
-+
- default:
- break;
- }
-- event->clicks=statusC;
-+}
-+
-+static void snap_to_screen_limits(Gpm_Event *event)
-+{
-+ int extent;
-
--/* UGLY - FIXME! */
--/* The current policy is to force the following behaviour:
-- * - At buttons up, must fit inside the screen, though flags are set.
-- * - At button down, allow going outside by one single step
-- */
-+ /* The current policy is to force the following behaviour:
-+ * - At buttons up, must fit inside the screen, though flags are set.
-+ * - At button down, allow going outside by one single step
-+ * DTOR: Midnight Commander seems to want the opposite...
-+ */
-
-+ extent = (event->type & (GPM_DRAG|GPM_UP)) ? 1 : 0;
-
- /* selection used 1-based coordinates, so do I */
--
- /*
- * 1.05: only one margin is current. Y takes priority over X.
-- * The i variable is how much margin is allowed. "m" is which one is there.
- */
-
-- m = 0;
-- i = ((event->type&(GPM_DRAG|GPM_UP))!=0); /* i is boolean */
--
-- if (event->y>win.ws_row) {event->y=win.ws_row+1-!i; i=0; m = GPM_BOT;}
-- else if (event->y<=0) {event->y=1-i; i=0; m = GPM_TOP;}
--
-- if (event->x>win.ws_col) {event->x=win.ws_col+1-!i; if (!m) m = GPM_RGT;}
-- else if (event->x<=0) {event->x=1-i; if (!m) m = GPM_LFT;}
-+ event->margin = 0;
-
-- event->margin=m;
-+ if (event->y > console.max_y) {
-+ event->y = console.max_y + extent;
-+ extent = 0;
-+ event->margin = GPM_BOT;
-+ } else if (event->y <= 0) {
-+ event->y = 1 - extent;
-+ extent = 0;
-+ event->margin = GPM_TOP;
-+ }
-
-- gpm_report(GPM_PR_DEBUG,"M: %3i %3i (%3i %3i) - butt=%i vc=%i cl=%i",
-- event->dx,event->dy,
-- event->x,event->y,
-- event->buttons, event->vc,
-- event->clicks);
-+ if (event->x > console.max_x) {
-+ event->x = console.max_x + extent;
-+ if (!event->margin) event->margin = GPM_RGT;
-+ } else if (event->x <= 0) {
-+ event->x = 1 - extent;
-+ if (!event->margin) event->margin = GPM_LFT;
-+ }
-+}
-
-- /* update the global state */
-- statusX=event->x; statusY=event->y;
-+static int more_data_waiting(int fd)
-+{
-+ static struct timeval timeout = {0, 0};
-+ fd_set fdSet;
-
-- if (opt_special && event->type & GPM_DOWN)
-- return processSpecial(event);
-+ FD_ZERO(&fdSet);
-+ FD_SET(fd, &fdSet);
-+ select(fd + 1, &fdSet, NULL_SET, NULL_SET, &timeout/* zero */);
-
-- return 1;
-+ return FD_ISSET(fd, &fdSet);
- }
-
--/*-------------------------------------------------------------------*
-- * This was inline, and incurred in a compiler bug (2.7.0)
-- *-------------------------------------------------------------------*/
--static int get_data(Gpm_Connect *where, int whence)
-+static int multiplex_buttons(struct micetab *mouse, int new_buttons)
- {
-- static int i;
-+ static int left_btn_clicks, mid_btn_clicks, right_btn_clicks;
-+ int mask;
-+ int muxed_buttons = 0;
-+
-+ new_buttons =
-+ (mouse->options.sequence[new_buttons & 7] & 7) | (new_buttons & ~7);
-+ mask = new_buttons ^ mouse->buttons;
-+ mouse->buttons = new_buttons;
-
--#ifdef GPM_USE_MAGIC
-- while ((i=read(whence,&check,sizeof(int)))==4 && check!=GPM_MAGIC)
-- gpm_report(GPM_PR_INFO,GPM_MESS_NO_MAGIC);
--
-- if (!i) return 0;
-- if (check!=GPM_MAGIC) {
-- gpm_report(GPM_PR_INFO,GPM_MESS_NOTHING_MORE);
-- return -1;
-+ if (mask & GPM_B_LEFT) {
-+ if (new_buttons & GPM_B_LEFT) left_btn_clicks++;
-+ else left_btn_clicks--;
- }
--#endif
-+ if (left_btn_clicks) muxed_buttons |= GPM_B_LEFT;
-
-- if ((i=read(whence, where, sizeof(Gpm_Connect)))!=sizeof(Gpm_Connect)) {
-- return i ? -1 : 0;
-+ if (mask & GPM_B_MIDDLE) {
-+ if (new_buttons & GPM_B_MIDDLE) mid_btn_clicks++;
-+ else mid_btn_clicks--;
- }
-+ if (mid_btn_clicks) muxed_buttons |= GPM_B_MIDDLE;
-
-- return 1;
--}
-+ if (mask & GPM_B_RIGHT) {
-+ if (new_buttons & GPM_B_RIGHT) right_btn_clicks++;
-+ else right_btn_clicks--;
-+ }
-+ if (right_btn_clicks) muxed_buttons |= GPM_B_RIGHT;
-
--static void disable_paste(int vc)
--{
-- opt_aged++;
-- gpm_report(GPM_PR_INFO,GPM_MESS_DISABLE_PASTE,vc);
-+ return muxed_buttons;
- }
-
--/*-------------------------------------------------------------------*/
-- /* returns -1 if closing connection */
--static inline int processRequest(Gpm_Cinfo *ci, int vc)
-+/*-------------------------------------------------------------------
-+ * call getMouseData to get hardware device data, call mouse device's fun()
-+ * to retrieve the hardware independent event data, then optionally repeat
-+ * the data via repeat_fun() to the repeater device
-+ *-------------------------------------------------------------------*/
-+static enum mouse_rslt processMouse(struct micetab *mouse, int timeout, int attempt,
-+ Gpm_Event *event, int text_mode)
- {
-+ static int last_active;
-+ static int fine_dx, fine_dy;
-+ static int oldB;
-+
-+ static Gpm_Event nEvent;
-+ struct Gpm_Type *type = mouse->type;
-+ struct miceopt *opt = &mouse->options;
-+ enum mouse_rslt rslt = MOUSE_DATA_OK;
-+ unsigned char shift_state;
-+ char *data = NULL;
- int i;
-- Gpm_Cinfo *cinfoPtr, *next;
-- Gpm_Connect conn;
-- static Gpm_Event event;
-- static struct vt_stat stat;
--
-- gpm_report(GPM_PR_INFO,GPM_MESS_CON_REQUEST, ci->fd, vc);
-- if (vc>MAX_VC) return -1;
--
-- /* itz 10-22-96 this shouldn't happen now */
-- if (vc==-1) gpm_report(GPM_PR_OOPS,GPM_MESS_UNKNOWN_FD);
--
-- i=get_data(&conn,ci->fd);
--
-- if (!i) { /* no data */
-- gpm_report(GPM_PR_INFO,GPM_MESS_CLOSE);
-- close(ci->fd);
-- FD_CLR(ci->fd,&connSet);
-- FD_CLR(ci->fd,&readySet);
-- if (cinfo[vc]->fd == ci->fd) { /* it was on top of the stack */
-- cinfoPtr = cinfo[vc];
-- cinfo[vc]=cinfo[vc]->next; /* pop the stack */
-- free(cinfoPtr);
-- return -1;
-- }
-- /* somewhere inside the stack, have to walk it */
-- cinfoPtr = cinfo[vc];
-- while (cinfoPtr && cinfoPtr->next) {
-- if (cinfoPtr->next->fd == ci->fd) {
-- next = cinfoPtr->next;
-- cinfoPtr->next = next->next;
-- free (next);
-+
-+ if (attempt > 1) { /* continue interrupted cluster loop */
-+ if (opt->absolute) {
-+ event->x = nEvent.x;
-+ event->y = nEvent.y;
-+ }
-+ event->dx = nEvent.dx;
-+ event->dy = nEvent.dy;
-+ event->buttons = nEvent.buttons;
-+ } else {
-+ event->dx = event->dy = 0;
-+ event->wdx = event->wdy = 0;
-+ nEvent.modifiers = 0; /* some mice set them */
-+ i = 0;
-+
-+ do { /* cluster loop */
-+ if (!timeout && (data = getMouseData(mouse->dev.fd, type, text_mode)) != NULL) {
-+ GET_TIME(mouse->timestamp);
-+ }
-+
-+ /* in case of timeout data passed to typr->fun() is NULL */
-+ if ((!timeout && data == NULL) ||
-+ type->fun(&mouse->dev, &mouse->options, data, &nEvent) == -1) {
-+ if (!i) return MOUSE_NO_DATA;
-+ else break;
-+ }
-+
-+ event->modifiers = nEvent.modifiers; /* propagate modifiers */
-+
-+ /* propagate buttons */
-+ nEvent.buttons = multiplex_buttons(mouse, nEvent.buttons);
-+
-+ if (!i) event->buttons = nEvent.buttons;
-+
-+ if (oldB != nEvent.buttons) {
-+ rslt = MOUSE_MORE_DATA;
- break;
- }
-- cinfoPtr = cinfoPtr->next;
-- }
-- return -1;
-- } /* not data */
--
-- if (i == -1) return -1; /* too few bytes */
-
-- if (conn.pid!=0) {
-- ci->data = conn;
-- return 0;
-- }
--
-- /* Aha, request for information (so-called snapshot) */
-- switch(conn.vc) {
-- case GPM_REQ_SNAPSHOT:
-- i=open_console(O_RDONLY);
-- ioctl(i,VT_GETSTATE,&stat);
-- event.modifiers=6; /* code for the ioctl */
-- if (ioctl(i,TIOCLINUX,&(event.modifiers))<0)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_GET_SHIFT_STATE);
-- close(i);
-- event.vc = stat.v_active;
-- event.x=statusX; event.y=statusY;
-- event.dx=maxx; event.dy=maxy;
-- event.buttons= statusB;
-- event.clicks=statusC;
-- /* fall through */
-- /* missing break or do you want this ??? */
--
-- case GPM_REQ_BUTTONS:
-- event.type= (opt_three==1 ? 3 : 2); /* buttons */
-- write(ci->fd,&event,sizeof(Gpm_Event));
-- break;
-+ /* propagate movement */
-+ if (!opt->absolute) { /* mouse */
-+ if (abs(nEvent.dx) + abs(nEvent.dy) > opt->delta)
-+ nEvent.dx *= opt->accel, nEvent.dy *= opt->accel;
-
-- case GPM_REQ_NOPASTE:
-- disable_paste(vc);
-- break;
-+ /* increment the reported dx,dy */
-+ event->dx += nEvent.dx;
-+ event->dy += nEvent.dy;
-+ } else { /* a pen */
-+ /* get dx,dy to check if there has been movement */
-+ event->dx = nEvent.x - event->x;
-+ event->dy = nEvent.y - event->y;
-+ }
-+
-+ /* propagate wheel */
-+ event->wdx += nEvent.wdx;
-+ event->wdy += nEvent.wdy;
-+
-+ } while (i++ < opt->cluster && more_data_waiting(mouse->dev.fd));
-+ } /* if(eventFlag) */
-+
-+ /*....................................... update the button number */
-+
-+ if ((event->buttons & GPM_B_MIDDLE) && !opt->three_button) opt->three_button++;
-+
-+ /*....................................... we're a repeater, aren't we? */
-+
-+ if (!text_mode) {
-+ if (repeater.fd != -1 && !repeater.raw)
-+ handle_repeater(opt->absolute, &nEvent, event);
-+ oldB = nEvent.buttons;
-+ return MOUSE_NO_DATA; /* no events nor information for clients */
- }
-
-- return 0;
--}
-+/*....................................... no, we arent a repeater, go on */
-
--/*-------------------------------------------------------------------*/
--static inline int processConn(int fd) /* returns newfd or -1 */
--{
-- Gpm_Cinfo *info;
-- Gpm_Connect *request;
-- Gpm_Cinfo *next;
-- int vc, newfd;
--#if !defined(__GLIBC__)
-- int len;
--#else /* __GLIBC__ */
-- size_t len; /* isn't that generally defined in C ??? -- nico */
--#endif /* __GLIBC__ */
-- struct sockaddr_un addr; /* reuse this each time */
-- struct stat statbuf;
-- uid_t uid;
-- char *tty = NULL;
--
--/*....................................... Accept */
--
-- bzero((char *)&addr,sizeof(addr));
-- addr.sun_family=AF_UNIX;
--
-- len=sizeof(addr);
-- if ((newfd=accept(fd,(struct sockaddr *)&addr, &len))<0) {
-- gpm_report(GPM_PR_ERR,GPM_MESS_ACCEPT_FAILED,strerror(errno));
-- return -1;
-- }
--
-- gpm_report(GPM_PR_INFO,GPM_MESS_CONECT_AT,newfd);
--
-- info=malloc(sizeof(Gpm_Cinfo));
-- if (!info) gpm_report(GPM_PR_OOPS,GPM_MESS_NO_MEM);
-- request=&(info->data);
--
-- if(get_data(request,newfd)==-1) {
-- free(info);
-- close(newfd);
-- return -1;
-- }
--
-- if ((vc=request->vc)>MAX_VC) {
-- gpm_report(GPM_PR_WARN,GPM_MESS_REQUEST_ON, vc, MAX_VC);
-- free(info);
-- close(newfd);
-- return -1;
-- }
--
--#ifndef SO_PEERCRED
-- if (stat (addr.sun_path, &statbuf) == -1 || !S_ISSOCK(statbuf.st_mode)) {
-- gpm_report(GPM_PR_ERR,GPM_MESS_ADDRES_NSOCKET,addr.sun_path);
-- free(info); /* itz 10-12-95 verify client's right */
-- close(newfd);
-- return -1; /* to read requested tty */
-+ /* use fine delta values now, if delta is the information */
-+ if (!opt->absolute) {
-+ fine_dx += event->dx;
-+ fine_dy += event->dy;
-+ event->dx = fine_dx / opt->scalex;
-+ event->dy = fine_dy / opt->scaley;
-+ fine_dx %= opt->scalex;
-+ fine_dy %= opt->scaley;
- }
--
-- unlink(addr.sun_path); /* delete socket */
-
-- staletime = time(0) - 30;
-- if (statbuf.st_atime < staletime
-- || statbuf.st_ctime < staletime
-- || statbuf.st_mtime < staletime) {
-- gpm_report(GPM_PR_ERR,GPM_MESS_SOCKET_OLD);
-- free (info);
-- close(newfd);
-- return -1; /* socket is ancient */
-+ /* up and down, up and down, ... who does a do..while(0) loop ???
-+ and then makes a break into it... argh ! */
-+
-+ if (!event->dx && !event->dy && event->buttons == oldB) {
-+ static time_t awaketime;
-+ /*
-+ * Ret information also if never happens, but enough time has elapsed.
-+ * Note: return 1 will segfault due to missing event->vc; FIXME!
-+ */
-+ if (time(NULL) <= awaketime) return MOUSE_NO_DATA;
-+ awaketime = time(NULL) + 1;
- }
-
-- uid = statbuf.st_uid; /* owner of socket */
--#else
-- {
-- struct ucred sucred;
-- socklen_t credlen = sizeof(struct ucred);
--
-- if(getsockopt(newfd, SOL_SOCKET, SO_PEERCRED, &sucred, &credlen) == -1) {
-- gpm_report(GPM_PR_ERR,GPM_MESS_GETSOCKOPT, strerror(errno));
-- free(info);
-- close(newfd);
-- return -1;
-- }
-- uid = sucred.uid;
-- gpm_report(GPM_PR_DEBUG,GPM_MESS_PEER_SCK_UID, uid);
-- }
--#endif
-- if (uid != 0) {
-- if(( tty =
-- malloc(strlen(option.consolename)+Gpm_cnt_digits(vc) + sizeof(char))) == NULL)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_NO_MEM);
--
-- strncpy(tty,option.consolename,strlen(option.consolename)-1);
-- sprintf(&tty[strlen(option.consolename)-1],"%d",vc);
-+ /*....................................... fill missing fields */
-+ event->x += event->dx; event->y += event->dy;
-
-- if(stat(tty, &statbuf) == -1) {
-- gpm_report(GPM_PR_ERR,GPM_MESS_STAT_FAILS,tty);
-- free(info);
-- free(tty);
-- close(newfd);
-- return -1;
-- }
-- if (uid != statbuf.st_uid) {
-- gpm_report(GPM_PR_WARN,GPM_MESS_FAILED_CONNECT, uid, tty); /*SUSPECT!*/
-- free(info);
-- free(tty);
-- close(newfd);
-- return -1;
-+ event->vc = get_console_state(&shift_state);
-+ if (event->vc != last_active) {
-+ handle_console_resize(event);
-+ last_active = event->vc;
-+ }
-+ event->modifiers |= shift_state;
-+
-+ if (oldB == event->buttons)
-+ event->type = (event->buttons ? (GPM_DRAG | GPM_MFLAG) : GPM_MOVE);
-+ else {
-+ if (event->buttons > oldB)
-+ event->type = GPM_DOWN;
-+ else {
-+ event->type &= GPM_MFLAG;
-+ event->type |= GPM_UP;
-+ event->buttons ^= oldB; /* for button-up, tell which one */
- }
-- free(tty); /* at least here it's not needed anymore */
- }
-+ calculate_clicks(event, opt->time);
-+ snap_to_screen_limits(event);
-+
-+ gpm_report(GPM_PR_DEBUG,"M: %3i %3i (%3i %3i) - butt=%i vc=%i cl=%i",
-+ event->dx, event->dy, event->x, event->y,
-+ event->buttons, event->vc, event->clicks);
-
-- /* register the connection information in the right place */
-- info->next=next=cinfo[vc];
-- info->fd=newfd;
-- cinfo[vc]=info;
-- gpm_report(GPM_PR_DEBUG,GPM_MESS_LONG_STATUS,
-- request->pid, request->vc, request->eventMask, request->defaultMask,
-- request->minMod, request->maxMod);
--
-- /* if the client gets motions, give it the current position */
-- if(request->eventMask & GPM_MOVE) {
-- Gpm_Event event={0,0,vc,0,0,statusX,statusY,GPM_MOVE,0,0};
-- do_client(info, &event);
-- }
-+ oldB = nEvent.buttons;
-
-- return newfd;
-+ if (opt_special && (event->type & GPM_DOWN) && !processSpecial(event))
-+ rslt = MOUSE_NO_DATA;
-+
-+ return rslt;
- }
-
--/*-------------------------------------------------------------------*/
--void get_console_size(Gpm_Event *ePtr)
-+static int wait_for_data(fd_set *connSet, int maxfd, fd_set *selSet)
- {
-- int i, prevmaxx, prevmaxy;
-- struct mouse_features *which_mouse; /* local */
-+ struct micetab *mouse;
-+ struct timeval now, timeout = { 0, 0 };
-+ int mouse_tmo, tmo = INT_MAX;
-
-- /* before asking the new console size, save the previous values */
-- prevmaxx = maxx; prevmaxy = maxy;
-+ GET_TIME(now);
-
-- i=open_console(O_RDONLY);
-- ioctl(i, TIOCGWINSZ, &win);
-- close(i);
-- if (!win.ws_col || !win.ws_row) {
-- gpm_report(GPM_PR_DEBUG,GPM_MESS_ZERO_SCREEN_DIM);
-- win.ws_col=80; win.ws_row=25;
-- }
-- maxx=win.ws_col; maxy=win.ws_row;
-- gpm_report(GPM_PR_DEBUG,GPM_MESS_SCREEN_SIZE,maxx,maxy);
--
-- if (!prevmaxx) { /* first invocation, place the pointer in the middle */
-- statusX = ePtr->x = maxx/2;
-- statusY = ePtr->y = maxy/2;
-- } else { /* keep the pointer in the same position where it was */
-- statusX = ePtr->x = ePtr->x * maxx / prevmaxx;
-- statusY = ePtr->y = ePtr->y * maxy / prevmaxy;
-- }
--
-- for (i=1; i <= 1+opt_double; i++) {
-- which_mouse=mouse_table+i; /* used to access options */
-- /*
-- * the following operation is based on the observation that 80x50
-- * has square cells. (An author-centric observation ;-)
-- */
-- opt_scaley=opt_scale*50*maxx/80/maxy;
-- gpm_report(GPM_PR_DEBUG,GPM_MESS_X_Y_VAL,opt_scale,opt_scaley);
-+ *selSet = *connSet;
-+ for (mouse = micelist; mouse; mouse = mouse->next) {
-+ FD_SET(mouse->dev.fd, selSet);
-+ maxfd = max(maxfd, mouse->dev.fd);
-+ if (mouse->dev.timeout >= 0) {
-+ mouse_tmo = mouse->dev.timeout - DIF_TIME(mouse->timestamp, now);
-+ tmo = min(tmo, mouse_tmo);
-+ }
- }
-+
-+ if (tmo == INT_MAX)
-+ timeout.tv_sec = SELECT_TIME;
-+ else if (tmo > 0) {
-+ timeout.tv_sec = tmo / 1000;
-+ timeout.tv_usec = (tmo % 1000) * 1000;
-+ }
-+
-+ return select(maxfd + 1, selSet, NULL_SET, NULL_SET, &timeout);
- }
-
--/*-------------------------------------------------------------------*/
--static void gpm_killed(int signo)
--{
-- if(signo==SIGWINCH) {
-- gpm_report(GPM_PR_WARN,GPM_MESS_RESIZING, option.progname, getpid());
-- opt_resize++;
-- return;
-- }
-- if (signo==SIGUSR1)
-- gpm_report(GPM_PR_WARN,GPM_MESS_KILLED_BY,option.progname, getpid(),option.progname);
-- exit(0);
--}
-+
-
- /*-------------------------------------------------------------------*/
- int old_main()
- {
-- int ctlfd, newfd;
-- struct sockaddr_un ctladdr;
-- int i, len, kd_mode, fd;
-- struct timeval timeout;
-- int maxfd=-1;
-- int pending;
-+ int ctlfd;
-+ int i, text_mode;
-+ struct timeval now;
-+ int maxfd = -1;
-+ int pending, attempt;
-+ int timed_out;
- Gpm_Event event;
-+ struct micetab *mouse;
-+ struct client_info *ci;
-+ fd_set selSet, connSet;
-+ enum mouse_rslt rslt;
-
-- for (i = 1; i <= 1+opt_double; i++) {
-- which_mouse=mouse_table+i; /* used to access options */
--
-- if (!opt_dev) gpm_report(GPM_PR_OOPS,GPM_MESS_NEED_MDEV);
--
-- if(!strcmp(opt_dev,"-")) fd=0; /* use stdin */
-- else if( (fd=open(opt_dev,O_RDWR | O_NDELAY)) < 0)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_OPEN,opt_dev);
--
-- /* and then reset the flag */
-- fcntl(fd,F_SETFL,fcntl(fd,F_GETFL) & ~O_NDELAY);
--
-- /* create argc and argv for this device */
-- mouse_argv[i] = build_argv(opt_type, opt_options, &mouse_argc[i], ',');
--
-- /* init the device, and use the return value as new mouse type */
-- if (m_type->init)
-- m_type=(m_type->init)(fd, m_type->flags, m_type, mouse_argc[i],
-- mouse_argv[i]);
-- if (!m_type) gpm_report(GPM_PR_OOPS,GPM_MESS_MOUSE_INIT);
--
-- which_mouse->fd=fd;
-- maxfd=max(fd, maxfd);
-- }
--
--/*....................................... catch interesting signals */
--
-+ /*....................................... catch interesting signals */
- signal(SIGTERM, gpm_killed);
- signal(SIGINT, gpm_killed);
- signal(SIGUSR1, gpm_killed); /* usr1 is used by a new gpm killing the old */
- signal(SIGWINCH,gpm_killed); /* winch can be sent if console is resized */
-+ signal(SIGPIPE, SIG_IGN); /* WARN */
-
--/*....................................... create your nodes */
--
-- /* control node */
--
-- if((ctlfd=socket(AF_UNIX,SOCK_STREAM,0))==-1) gpm_report(GPM_PR_OOPS,GPM_MESS_SOCKET_PROB);
-- bzero((char *)&ctladdr,sizeof(ctladdr));
-- ctladdr.sun_family=AF_UNIX;
-- strcpy(ctladdr.sun_path,GPM_NODE_CTL);
-- unlink(GPM_NODE_CTL);
--
-- len=sizeof(ctladdr.sun_family)+strlen(GPM_NODE_CTL);
-- if(bind(ctlfd,(struct sockaddr *)(&ctladdr),len) == -1)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_BIND_PROB,ctladdr.sun_path);
-- maxfd=max(maxfd,ctlfd);
--
-- /* needs to be 0777, so all users can _try_ to access gpm */
-- chmod(GPM_NODE_CTL,0777);
--
-- get_console_size(&event); /* get screen dimensions */
--
--/*....................................... wait for mouse and connections */
--
-- listen(ctlfd, 5); /* Queue up calls */
--
--#define NULL_SET ((fd_set *)NULL)
--#define resetTimeout() (timeout.tv_sec=SELECT_TIME,timeout.tv_usec=0)
-+ init_mice();
-+ handle_console_resize(&event); /* get screen dimensions */
-+ ctlfd = listen_for_clients();
-
-+ /*....................................... wait for mouse and connections */
- FD_ZERO(&connSet);
-- FD_SET(ctlfd,&connSet);
--
-- if (opt_double) FD_SET(mouse_table[2].fd,&connSet);
--
-- readySet=connSet;
-- FD_SET(mouse_table[1].fd,&readySet);
--
-- signal(SIGPIPE,SIG_IGN); /* WARN */
--
--/*--------------------------------------- main loop begins here */
-+ FD_SET(ctlfd, &connSet);
-+ maxfd = max(maxfd, ctlfd);
-+
-+ /*--------------------------------------- main loop begins here */
-
-- while(1) {
-- selSet=readySet;
-- resetTimeout();
-- if (opt_test) timeout.tv_sec=0;
-+ while (1) {
-
-- if (eventFlag) { /* an event left over by clustering */
-- pending=1;
-- FD_ZERO(&selSet);
-- FD_SET(mouse_table[eventFlag].fd,&selSet);
-- }
-- else
-- while((pending=select(maxfd+1,&selSet,NULL_SET,NULL_SET,&timeout))==0){
-- selSet=readySet;
-- resetTimeout();
-- } /* go on */
--
-- if(opt_resize) { /* did the console resize? */
-- get_console_size(&event);
-- opt_resize--;
-- signal(SIGWINCH,gpm_killed); /* reinstall handler */
--
-- /* and notify clients */
-- for(i=0; i<MAX_VC+1; i++) {
-- Gpm_Cinfo *ci;
-- for (ci = cinfo[i]; ci; ci = ci->next) kill(ci->data.pid,SIGWINCH);
-- }
-+ pending = wait_for_data(&connSet, maxfd, &selSet);
-+
-+ if (console_resized) { /* did the console resize? */
-+ handle_console_resize(&event);
-+ console_resized = 0;
-+ signal(SIGWINCH, gpm_killed); /* reinstall handler */
-+ notify_clients_resize();
- }
-
- if (pending < 0) {
-- if (errno==EBADF) gpm_report(GPM_PR_OOPS,GPM_MESS_SELECT_PROB);
-- gpm_report(GPM_PR_ERR,GPM_MESS_SELECT_STRING,strerror(errno));
-- selSet=readySet;
-- resetTimeout();
-+ if (errno == EBADF) gpm_report(GPM_PR_OOPS,GPM_MESS_SELECT_PROB);
-+ gpm_report(GPM_PR_ERR, GPM_MESS_SELECT_STRING, strerror(errno));
- continue;
- }
-
-- gpm_report(GPM_PR_DEBUG,GPM_MESS_SELECT_TIMES,pending);
-+ gpm_report(GPM_PR_DEBUG, GPM_MESS_SELECT_TIMES, pending);
-
--/*....................................... manage graphic mode */
-+ /*....................................... manage graphic mode */
-
-- /*
-- * Be sure to be in text mode. This used to be before select,
-- * but actually it only matters if you have events.
-- */
-- {
-- int fd = open_console(O_RDONLY);
-- if (ioctl(fd, KDGETMODE, &kd_mode) < 0)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_IOCTL_KDGETMODE);
-- close(fd);
-- if(kd_mode != KD_TEXT && !option.repeater) {
-- wait_text(&mouse_table[1].fd);
-- maxfd=max(maxfd,mouse_table[1].fd);
-- readySet=connSet;
-- FD_SET(mouse_table[1].fd,&readySet);
-+ /*
-+ * Be sure to be in text mode. This used to be before select,
-+ * but actually it only matters if you have events.
-+ */
-+ text_mode = is_text_console();
-+ if (!text_mode && !repeater.type && !repeater.raw) {
-+ /* if we don;t have repeater then there is only one mouse so
-+ * we can safely use micelist
-+ */
-+ close(micelist->dev.fd);
-+ wait_text_console();
-+ /* reopen, reinit (the function is only used if we have one mouse device) */
-+ if ((micelist->dev.fd = open(micelist->device, O_RDWR)) < 0)
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_OPEN, micelist->device);
-+ if (micelist->type->init)
-+ micelist->type->init(&micelist->dev, &micelist->options, micelist->type);
- continue; /* reselect */
- }
-- }
-
--/*....................................... got mouse, process event */
--/*
-- * Well, actually, run a loop to maintain inlining of functions without
-- * lenghtening the file. This is not too clean a code, but it works....
-- */
--
-- for (i=1; i <= 1+opt_double; i++) {
-- which_mouse=mouse_table+i; /* used to access options */
-- if (FD_ISSET(which_mouse->fd,&selSet)) {
-- FD_CLR(which_mouse->fd,&selSet); pending--;
-- if (processMouse(which_mouse->fd, &event, m_type, kd_mode))
-- /* pass it to the client, if any
-- * or to the default handler, if any
-- * or to the selection handler
-- */ /* FIXME -- check event.vc */
-- /* can't we please rewrite the following a bit nicer?*/
-- (cinfo[event.vc] && do_client(cinfo[event.vc], &event))
-- || (cinfo[0] && do_client(cinfo[0], &event))
-- || do_selection(&event);
-+ /*....................................... got mouse, process event */
-+ /*
-+ * Well, actually, run a loop to maintain inlining of functions without
-+ * lenghtening the file. This is not too clean a code, but it works....
-+ */
-+ GET_TIME(now);
-+ for (mouse = micelist; mouse; mouse = mouse->next) {
-+ timed_out = mouse->dev.timeout >= 0 &&
-+ DIF_TIME(mouse->timestamp, now) >= mouse->dev.timeout;
-+ if (timed_out || FD_ISSET(mouse->dev.fd, &selSet)) {
-+ if (FD_ISSET(mouse->dev.fd, &selSet)) {
-+ FD_CLR(mouse->dev.fd, &selSet);
-+ pending--;
- }
-+ attempt = 0;
-+ do {
-+ rslt = processMouse(mouse, timed_out, ++attempt, &event, text_mode);
-+ if (rslt != MOUSE_NO_DATA) {
-+ /* pass it to the client or to the default handler,
-+ * or to the selection handler
-+ */
-+ if (event.vc > MAX_VC) event.vc = 0;
-+ if (event.vc == 0 || !cinfo[event.vc] || !do_client(cinfo[event.vc], &event))
-+ if (!cinfo[0] || !do_client(cinfo[0], &event))
-+ do_selection(&event, mouse->options.three_button);
-+ }
-+ } while (rslt == MOUSE_MORE_DATA);
-+ }
- }
-
- /*..................... got connection, process it */
--
-- if (pending && FD_ISSET(ctlfd,&selSet)) {
-- FD_CLR(ctlfd,&selSet); pending--;
-- newfd=processConn(ctlfd);
-- if (newfd>=0) {
-- FD_SET(newfd,&connSet);
-- FD_SET(newfd,&readySet);
-- maxfd=max(maxfd,newfd);
-+ if (pending && FD_ISSET(ctlfd, &selSet)) {
-+ FD_CLR(ctlfd, &selSet);
-+ pending--;
-+ if ((ci = accept_client_connection(ctlfd))) {
-+ if (ci->data.eventMask & GPM_MOVE) {
-+ Gpm_Event e = { 0, 0, ci->data.vc, 0, 0,
-+ event.x, event.y, GPM_MOVE, 0, 0 };
-+ do_client(ci, &e);
-+ }
-+ FD_SET(ci->fd, &connSet);
-+ maxfd = max(maxfd, ci->fd);
- }
- }
-
- /*........................ got request */
--
-- /* itz 10-22-96 check _all_ clients, not just those on top! */
-- for (i=0; pending && (i<=MAX_VC); i++) {
-- Gpm_Cinfo* ci;
-+ /* itz 10-22-96 check _all_ clients, not just those on top! */
-+ for (i = 0; pending && i <= MAX_VC; i++) {
- for (ci = cinfo[i]; pending && ci; ci = ci->next) {
-- if (FD_ISSET(ci->fd,&selSet)) {
-- FD_CLR(ci->fd,&selSet); pending--;
-- /* itz Sat Sep 12 21:10:22 PDT 1998 */
-- /* this code is clearly incorrect; the next highest
-- descriptor after the one we're closing is not necessarily
-- being used. Fortunately, it doesn't hurt simply to leave this
-- out. */
--
--#ifdef NOTDEF
-- if ((processRequest(ci,i)==-1) && maxfd==ci->fd) maxfd--;
--#else
-- (void)processRequest(ci,i);
--#endif
-+ if (FD_ISSET(ci->fd, &selSet)) {
-+ FD_CLR(ci->fd, &selSet);
-+ pending--;
-+ if (!process_client_request(ci, i, event.x, event.y, event.clicks,
-+ event.buttons, micelist->options.three_button)) {
-+ FD_CLR(ci->fd, &connSet);
-+ remove_client(ci, i);
-+ }
- }
- }
- }
-
- /*.................. look for a spare fd */
--
- /* itz 10-22-96 this shouldn't happen now! */
-- for (i=0; pending && i<=maxfd; i++) {
-- if (FD_ISSET(i,&selSet)) {
-- FD_CLR(i,&selSet);
-+ for (i = 0; pending && i <= maxfd; i++) {
-+ if (FD_ISSET(i, &selSet)) {
-+ FD_CLR(i, &selSet);
- pending--;
-- gpm_report(GPM_PR_WARN,GPM_MESS_STRANGE_DATA,i);
-+ gpm_report(GPM_PR_WARN, GPM_MESS_STRANGE_DATA,i);
- }
- }
-
- /*................... all done. */
--
-- if(pending) gpm_report(GPM_PR_OOPS,GPM_MESS_SELECT_PROB);
-+ if (pending) gpm_report(GPM_PR_OOPS, GPM_MESS_SELECT_PROB);
- } /* while(1) */
- }
-diff -urN gpm-1.20.1/src/gpn.c gpm/src/gpn.c
---- gpm-1.20.1/src/gpn.c 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/src/gpn.c 2003-10-02 01:22:42.000000000 -0500
-@@ -28,201 +28,104 @@
- #include <stdlib.h>
- #include <string.h> /* strerror(); ?!? memcpy() */
- #include <ctype.h> /* isdigit */
--#include <signal.h>
--#include <stdarg.h> /* Log uses it */
--#include <errno.h>
- #include <unistd.h> /* getopt(),symlink() */
--#include <sys/stat.h> /* mkdir() */
--#include <sys/param.h>
--#include <sys/time.h> /* timeval */
--#include <sys/wait.h> /* wait() */
--#include <sys/types.h> /* socket() */
--#include <sys/socket.h> /* socket() */
--#include <sys/un.h> /* struct sockaddr_un */
--#include <asm/types.h> /* __u32 */
--
--#ifdef SIGTSTP /* true if BSD system */
--#include <sys/file.h>
--#include <sys/ioctl.h>
--#endif
--
--#ifndef HAVE___U32
--# ifndef _I386_TYPES_H /* /usr/include/asm/types.h */
--typedef unsigned int __u32;
--# endif
--#endif
-
- #include "headers/message.h"
- #include "headers/gpmInt.h"
- #include "headers/gpm.h"
-+#include "headers/console.h"
-+#include "headers/selection.h"
-
--extern int errno;
--
--/*===================================================================*/
--/* octal digit */
--static int isodigit(const unsigned char c)
-+/* usage: display for usage informations */
-+int usage(char *whofailed)
- {
-- return ((c & ~7) == '0');
-+ if (whofailed) {
-+ gpm_report(GPM_PR_ERR, GPM_MESS_SPEC_ERR, whofailed, option.progname);
-+ return 1;
-+ }
-+ printf(GPM_MESS_USAGE, option.progname, DEF_ACCEL, DEF_BAUD, DEF_SEQUENCE,
-+ DEF_DELTA, DEF_TIME, DEF_LUT, DEF_SCALE, DEF_SAMPLE, DEF_TYPE);
-+ return 1;
- }
-
--/* routine to convert digits from octal notation (Andries Brouwer) */
--static int getsym(const unsigned char *p0, unsigned char *res)
-+/*****************************************************************************
-+ * the function returns a valid type pointer or NULL if not found
-+ *****************************************************************************/
-+static struct Gpm_Type *find_mouse_by_name(char *name)
- {
-- const unsigned char *p = p0;
-- char c;
-+ Gpm_Type *type;
-+ char *s;
-+ int len = strlen(name);
-
-- c = *p++;
-- if (c == '\\' && *p) {
-- c = *p++;
-- if (isodigit(c)) {
-- c -= '0';
-- if (isodigit(*p)) c = 8*c + (*p++ - '0');
-- if (isodigit(*p)) c = 8*c + (*p++ - '0');
-+ for (type = mice; type->fun; type++) {
-+ if (!strcasecmp(name, type->name)) break;
-+ /* otherwise, look in the synonym list */
-+ for (s = type->synonyms; s; s = strchr(s, ' ')) {
-+ while (*s && isspace(*s)) s++; /* skip spaces */
-+ if (!strncasecmp(name, s, len) && !isprint(*(s + len))) break;/*found*/
- }
-+ if (s) break; /* found a synonym */
- }
-- *res = c;
-- return (p - p0);
-+ return type->fun ? type : NULL;
- }
-
--/* description missing! FIXME */
--int loadlut(char *charset)
-+static void init_button_sequence(struct miceopt *opt, char *arg)
- {
-- int i, c, fd;
-- unsigned char this, next;
-- static __u32 long_array[9]={
-- 0x05050505, /* ugly, but preserves alignment */
-- 0x00000000, /* control chars */
-- 0x00000000, /* digits */
-- 0x00000000, /* uppercase and '_' */
-- 0x00000000, /* lowercase */
-- 0x00000000, /* Latin-1 control */
-- 0x00000000, /* Latin-1 misc */
-- 0x00000000, /* Latin-1 uppercase */
-- 0x00000000 /* Latin-1 lowercase */
-+ int i;
-+ static struct {
-+ char *in;
-+ char *out;
-+ } seq[] = {
-+ {"123", "01234567"},
-+ {"132", "02134657"},
-+ {"213", "01452367"}, /* warning: these must be readable as integers... */
-+ {"231", "02461357"},
-+ {"312", "04152637"},
-+ {"321", "04261537"},
-+ {NULL, NULL}
- };
-
-+ if (strlen(arg) != 3 || atoi(arg) < 100)
-+ exit(usage("sequence"));
-
--#define inwordLut (long_array+1)
--
-- for (i=0; charset[i]; ) {
-- i += getsym(charset+i, &this);
-- if (charset[i] == '-' && charset[i + 1] != '\0')
-- i += getsym(charset+i+1, &next) + 1;
-- else
-- next = this;
-- for (c = this; c <= next; c++)
-- inwordLut[c>>5] |= 1 << (c&0x1F);
-- }
--
-- if ((fd=open(option.consolename, O_WRONLY)) < 0) {
-- /* try /dev/console, if /dev/tty0 failed -- is that really senseful ??? */
-- free(option.consolename); /* allocated by main */
-- if((option.consolename=malloc(strlen(GPM_SYS_CONSOLE)+1)) == NULL)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_NO_MEM);
-- strcpy(option.consolename,GPM_SYS_CONSOLE);
--
-- if ((fd=open(option.consolename, O_WRONLY)) < 0) gpm_report(GPM_PR_OOPS,GPM_MESS_OPEN_CON);
-- }
-- if (ioctl(fd, TIOCLINUX, &long_array) < 0) { /* fd <0 is checked */
-- if (errno==EPERM && getuid())
-- gpm_report(GPM_PR_WARN,GPM_MESS_ROOT); /* why do we still continue?*/
-- else if (errno==EINVAL)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_CSELECT);
-- }
-- close(fd);
--
-- return 0;
-+ for (i = 0; seq[i].in && strcmp(seq[i].in, arg); i++);
-+ if (!seq[i].in)
-+ exit(usage("button sequence"));
-+ opt->sequence = strdup(seq[i].out); /* I can rewrite on it */
- }
-
--/* usage: display for usage informations */
--int usage(char *whofailed)
-+static void validate_mouse(struct micetab *mouse, int mouse_no)
- {
-- if (whofailed) {
-- gpm_report(GPM_PR_ERR,GPM_MESS_SPEC_ERR,whofailed,option.progname);
-- return 1;
-- }
-- printf(GPM_MESS_USAGE,option.progname, DEF_ACCEL, DEF_BAUD, DEF_SEQUENCE,
-- DEF_DELTA, DEF_TIME, DEF_LUT,DEF_SCALE, DEF_SAMPLE, DEF_TYPE);
-- return 1;
--}
--
--/* itz Sat Sep 12 10:55:51 PDT 1998 Added this as replacement for the
-- unwanted functionality in check_uniqueness. */
--
--void check_kill(void)
--{
-- int old_pid;
-- FILE* fp = fopen(GPM_NODE_PID, "r");
--
-- /* if we cannot find the old pid file, leave */
-- if (fp == NULL) gpm_report(GPM_PR_OOPS,GPM_MESS_OPEN, GPM_NODE_PID);
--
-- /* else read the pid */
-- if (fscanf(fp,"%d",&old_pid) != 1)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_READ_PROB,GPM_NODE_PID);
-- fclose(fp);
--
-- gpm_report(GPM_PR_DEBUG,GPM_MESS_KILLING,old_pid);
--
-- /* first check if we run */
-- if (kill(old_pid,0) == -1) {
-- gpm_report(GPM_PR_INFO,GPM_MESS_STALE_PID, GPM_NODE_PID);
-- unlink(GPM_NODE_PID);
-+ if (!mouse->device) {
-+ if (!mouse->type && mouse_no > 1)
-+ gpm_report(GPM_PR_OOPS,
-+ "No device/protocol specified for mouse #%d, probably extra -M option?", mouse_no);
-+ else
-+ gpm_report(GPM_PR_OOPS, "No device specified for mouse #%d", mouse_no);
- }
-- /* then kill us (not directly, but the other instance ... ) */
-- if (kill(old_pid,SIGTERM) == -1)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_CANT_KILL, old_pid);
-
-- gpm_report(GPM_PR_INFO,GPM_MESS_KILLED,old_pid);
-- exit(0);
--}
-+ if (!mouse->type)
-+ mouse->type = find_mouse_by_name(DEF_TYPE);
-
--/* itz Sat Sep 12 10:30:05 PDT 1998 this function used to mix two
-- completely different things; opening a socket to a running daemon
-- and checking that a running daemon existed. Ugly. */
--/* rewritten mostly on 20th of February 2002 - nico */
--void check_uniqueness(void)
--{
-- FILE *fp = 0;
-- int old_pid = -1;
-+ mouse->options.absolute = mouse->type->absolute;
-
-- if((fp = fopen(GPM_NODE_PID, "r")) != NULL) {
-- fscanf(fp, "%d", &old_pid);
-- if (kill(old_pid,0) == -1) {
-- gpm_report(GPM_PR_INFO,GPM_MESS_STALE_PID, GPM_NODE_PID);
-- unlink(GPM_NODE_PID);
-- } else /* we are really running, exit asap! */
-- gpm_report(GPM_PR_OOPS,GPM_MESS_ALREADY_RUN, old_pid);
-- }
-- /* now try to sign ourself */
-- if ((fp = fopen(GPM_NODE_PID,"w")) != NULL) {
-- fprintf(fp,"%d\n",getpid());
-- fclose(fp);
-- } else {
-- gpm_report(GPM_PR_OOPS,GPM_MESS_NOTWRITE,GPM_NODE_PID);
-- }
-+ if (!mouse->options.sequence)
-+ init_button_sequence(&mouse->options, DEF_SEQUENCE);
- }
-
--/*****************************************************************************
-- * the function returns a valid type pointer or NULL if not found
-- *****************************************************************************/
--struct Gpm_Type *find_mouse_by_name(char *name)
-+static void validate_repeater(char *type)
- {
-- Gpm_Type *type;
-- char *s;
-- int len = strlen(name);
--
-- for (type=mice; type->fun; type++) {
-- if (!strcasecmp(name, type->name)) break;
-- /* otherwise, look in the synonym list */
-- for (s = type->synonyms; s; s = strchr(s, ' ')) {
-- while (*s && isspace(*s)) s++; /* skip spaces */
-- if(!strncasecmp(name, s, len) && !isprint(*(s + len))) break;/*found*/
-- }
-- if(s) break; /* found a synonym */
-+ if (strcmp(type, "raw") == 0)
-+ repeater.raw = 1;
-+ else {
-+ repeater.raw = 0;
-+
-+ if (!(repeater.type = find_mouse_by_name(type)))
-+ exit(M_listTypes()); /* not found */
-+
-+ if (!repeater.type->repeat_fun) /* unsupported translation */
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_NO_REPEAT, type);
- }
-- if (!type->fun) return NULL;
-- return type;
- }
-
- /*****************************************************************************
-@@ -230,60 +133,86 @@
- * Can't believe it, today cmdline() really does what the name tries to say
- *****************************************************************************/
- void cmdline(int argc, char **argv)
--{
-- extern struct options option;
-+{
-+ struct micetab *mouse;
-+ struct miceopt *opt;
- char options[]="a:A::b:B:d:Dg:hi:kl:m:Mo:pr:R::s:S:t:TuvV::23";
-- int opt;
-+ int opt_char, tmp;
-+ int mouse_no = 1;
-+
-+ mouse = add_mouse();
-+ opt = &mouse->options;
-
-- /* initialize for the dual mouse */
-- mouse_table[2]=mouse_table[1]=mouse_table[0]; /* copy defaults */
-- which_mouse=mouse_table+1; /* use the first */
--
-- while ((opt = getopt(argc, argv, options)) != -1) {
-- switch (opt) {
-- case 'a': opt_accel = atoi(optarg); break;
-- case 'A': opt_aged++;
-- if (optarg)
-- opt_age_limit = atoi(optarg); break;
-- case 'b': opt_baud = atoi(optarg); break;
-- case 'B': opt_sequence = optarg; break;
-- case 'd': opt_delta = atoi(optarg); break;
-- case 'D': option.run_status = GPM_RUN_DEBUG; break;
-- case 'g': opt_glidepoint_tap=atoi(optarg); break;
-- case 'h': exit(usage(NULL));
-- case 'i': opt_time=atoi(optarg); break;
-- case 'k': check_kill(); break;
-- case 'l': opt_lut = optarg; break;
-- case 'm': add_mouse(GPM_ADD_DEVICE,optarg);
-- opt_dev = optarg; break; /* GO AWAY!*/
-- case 'M': opt_double++; option.repeater++;
-- if (option.repeater_type == 0)
-- option.repeater_type = "msc";
-- which_mouse=mouse_table+2; break;
-- case 'o': add_mouse(GPM_ADD_OPTIONS,optarg);
-- gpm_report(GPM_PR_DEBUG,"options: %s",optarg);
-- opt_options = optarg; break; /* GO AWAY */
-- case 'p': opt_ptrdrag = 0; break;
-- case 'r':
-- /* being called responsiveness, I must take the inverse */
-- opt_scale=atoi(optarg);
-- if(!opt_scale || opt_scale > 100) opt_scale=100; /* the maximum */
-- else opt_scale=100/opt_scale; break;
-- case 'R':
-- option.repeater++;
-- if (optarg) option.repeater_type = optarg;
-- else option.repeater_type = "msc"; break;
-- case 's': opt_sample = atoi(optarg); break;
-- case 'S': if (optarg) opt_special = optarg;
-- else opt_special=""; break;
-- case 't': add_mouse(GPM_ADD_TYPE,optarg);
-- opt_type = optarg; break; /* GO AWAY */
-- case 'u': option.autodetect = 1; break;
-- case 'T': opt_test++; break;
-- case 'v': printf(GPM_MESS_VERSION "\n"); exit(0);
-- case '2': opt_three = -1; break;
-- case '3': opt_three = 1; break;
-- default: exit(usage("commandline"));
-+ while ((opt_char = getopt(argc, argv, options)) != -1) {
-+ switch (opt_char) {
-+ case 'a': if ((opt->accel = atoi(optarg)) < 1)
-+ exit(usage("acceleration"));
-+ break;
-+ case 'A': sel_opts.aged = 1;
-+ if (optarg)
-+ sel_opts.age_limit = atoi(optarg);
-+ break;
-+ case 'b': opt->baud = atoi(optarg);
-+ break;
-+ case 'B': init_button_sequence(opt, optarg);
-+ break;
-+ case 'd': if ((opt->delta = atoi(optarg)) < 2)
-+ exit(usage("delta"));
-+ break;
-+ case 'D': option.run_status = GPM_RUN_DEBUG;
-+ break;
-+ case 'g': if (atoi(optarg) > 3)
-+ exit(usage("glidepoint tap button"));
-+ opt->glidepoint_tap = GPM_B_LEFT >> (atoi(optarg) - 1);
-+ break;
-+ case 'h': exit(usage(NULL));
-+ case 'i': opt->time = atoi(optarg);
-+ break;
-+ case 'k': kill_gpm();
-+ break;
-+ case 'l': console.charset = optarg;
-+ break;
-+ case 'm': mouse->device = optarg;
-+ break;
-+ case 'M': validate_mouse(mouse, mouse_no);
-+ mouse = add_mouse();
-+ opt = &mouse->options;
-+ mouse_no++;
-+ if (!repeater.type && !repeater.raw)
-+ repeater.type = find_mouse_by_name(DEF_REP_TYPE);
-+ break;
-+ case 'o': gpm_report(GPM_PR_DEBUG,"options: %s", optarg);
-+ opt->text = optarg;
-+ break;
-+ case 'p': sel_opts.ptrdrag = 0;
-+ break;
-+ case 'r': /* being called responsiveness, I must take the inverse */
-+ tmp = atoi(optarg);
-+ if (!tmp || tmp > 100) tmp = 1;
-+ opt->scalex = 100 / tmp;
-+ break;
-+ case 'R': validate_repeater((optarg) ? optarg : DEF_REP_TYPE);
-+ break;
-+ case 's': opt->sample = atoi(optarg);
-+ break;
-+ case 'S': if (optarg) opt_special = optarg;
-+ else opt_special="";
-+ break;
-+ case 't': mouse->type = find_mouse_by_name(optarg);
-+ if (!mouse->type)
-+ exit(M_listTypes());
-+ break;
-+ case 'u': option.autodetect = 1;
-+ break;
-+ case 'v': printf(GPM_MESS_VERSION "\n");
-+ exit(0);
-+ case '2': opt->three_button = -1;
-+ break;
-+ case '3': opt->three_button = 1;
-+ break;
-+ default: exit(usage("commandline"));
- }
- }
-+
-+ validate_mouse(micelist, mouse_no);
- }
-diff -urN gpm-1.20.1/src/headers/client.h gpm/src/headers/client.h
---- gpm-1.20.1/src/headers/client.h 1969-12-31 19:00:00.000000000 -0500
-+++ gpm/src/headers/client.h 2003-10-02 01:22:42.000000000 -0500
-@@ -0,0 +1,57 @@
-+/* -*-mode:C;tab-width:3-*-
-+ * client.h - GPM client handling (server side)
-+ *
-+ * Copyright (C) 2003 Dmitry Torokhov <dtor@mail.ru>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-+ ********/
-+
-+#ifndef __GPM_CLIENT_H
-+#define __GPM_CLIENT_H_
-+
-+#ifdef HAVE_LINUX_TTY_H
-+#include <linux/tty.h>
-+#endif
-+
-+#include "headers/gpm.h"
-+
-+/* FIXME: still needed ?? */
-+/* How many virtual consoles are managed? */
-+#ifndef MAX_NR_CONSOLES
-+# define MAX_NR_CONSOLES 64 /* this is always sure */
-+#endif
-+
-+#define MAX_VC MAX_NR_CONSOLES /* doesn't work before 1.3.77 */
-+
-+struct client_info {
-+ Gpm_Connect data;
-+ int fd;
-+ struct client_info *next;
-+};
-+
-+struct Gpm_Event;
-+
-+extern struct client_info *cinfo[MAX_VC + 1];
-+
-+int listen_for_clients(void);
-+struct client_info *accept_client_connection(int fd);
-+void remove_client(struct client_info *ci, int vc);
-+void notify_clients_resize(void);
-+int do_client(struct client_info *cinfo, struct Gpm_Event *event);
-+int process_client_request(struct client_info *ci, int vc,
-+ int x, int y, int buttons, int clicks,
-+ int three_button_mouse);
-+
-+#endif /* __GPM_CLIENT_H_ */
-diff -urN gpm-1.20.1/src/headers/console.h gpm/src/headers/console.h
---- gpm-1.20.1/src/headers/console.h 1969-12-31 19:00:00.000000000 -0500
-+++ gpm/src/headers/console.h 2003-10-02 01:22:42.000000000 -0500
-@@ -0,0 +1,42 @@
-+/* -*-mode:C;tab-width:3-*-
-+ * console.h - GPM console and selection/paste handling
-+ *
-+ * Copyright (C) 2003 Dmitry Torokhov <dtor@mail.ru>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-+ ********/
-+
-+#ifndef __GPM_CONSOLE_H_
-+#define __GPM_CONSOLE_H_
-+
-+struct gpm_console {
-+ char *device;
-+ char *charset;
-+ int max_x, max_y;
-+};
-+
-+extern struct gpm_console console;
-+
-+int open_console(int mode);
-+char *get_console_name();
-+char *compose_vc_name(int vc);
-+int is_text_console(void);
-+void wait_text_console(void);
-+void refresh_console_size(void);
-+int is_console_owner(int vc, uid_t uid);
-+int get_console_state(unsigned char *shift_state);
-+void console_load_lut(void);
-+
-+#endif /* __GPM_CONSOLE_H_ */
-diff -urN gpm-1.20.1/src/headers/gpmInt.h gpm/src/headers/gpmInt.h
---- gpm-1.20.1/src/headers/gpmInt.h 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/src/headers/gpmInt.h 2003-10-02 01:22:42.000000000 -0500
-@@ -23,8 +23,7 @@
- #ifndef _GPMINT_INCLUDED
- #define _GPMINT_INCLUDED
-
--#include <sys/types.h> /* time_t */ /* for whom ???? FIXME */
--
-+#include <sys/time.h> /* timeval */
- #include "gpm.h"
-
- #if !defined(__GNUC__)
-@@ -35,23 +34,12 @@
- /* timeout for the select() syscall */
- #define SELECT_TIME 86400 /* one day */
-
--#ifdef HAVE_LINUX_TTY_H
--#include <linux/tty.h>
--#endif
--
--/* FIXME: still needed ?? */
--/* How many virtual consoles are managed? */
--#ifndef MAX_NR_CONSOLES
--# define MAX_NR_CONSOLES 64 /* this is always sure */
--#endif
--
--#define MAX_VC MAX_NR_CONSOLES /* doesn't work before 1.3.77 */
--
- /* How many buttons may the mouse have? */
- /* #define MAX_BUTTONS 3 ===> not used, it is hardwired :-( */
-
- /* all the default values */
- #define DEF_TYPE "ms"
-+#define DEF_REP_TYPE "msc"
- #define DEF_DEV NULL /* use the type-related one */
- #define DEF_LUT "-a-zA-Z0-9_./\300-\326\330-\366\370-\377"
- #define DEF_SEQUENCE "123" /* how buttons are reordered */
-@@ -62,12 +50,10 @@
- #define DEF_SCALE 10
- #define DEF_TIME 250 /* time interval (ms) for multiple clicks */
- #define DEF_THREE 0 /* have three buttons? */
--#define DEF_KERNEL 0 /* no kernel module, by default */
-
- /* 10 on old computers (<=386), 0 on current machines */
- #define DEF_CLUSTER 0 /* maximum number of clustered events */
-
--#define DEF_TEST 0
- #define DEF_PTRDRAG 1 /* double or triple click */
- #define DEF_GLIDEPOINT_TAP 0 /* tapping emulates no buttons by default */
-
-@@ -84,11 +70,6 @@
- #define GPM_DEVFS_CONSOLE "/dev/vc/0"
- #define GPM_OLD_CONSOLE "/dev/tty0"
-
--/* for adding a mouse; add_mouse */
--#define GPM_ADD_DEVICE 0
--#define GPM_ADD_TYPE 1
--#define GPM_ADD_OPTIONS 2
--
- /*** mouse commands ***/
-
- #define GPM_AUX_SEND_ID 0xF2
-@@ -117,126 +98,95 @@
-
- /*....................................... Structures */
-
-+struct micedev {
-+ int fd;
-+ int timeout; /* the protocol driver wants to be called
-+ after X msec even if there is no new data
-+ arrived (-1 to disable/default) */
-+ void *private; /* private data maintained by protocol driver */
-+};
-+
-+struct miceopt {
-+ char *sequence;
-+ int baud;
-+ int sample;
-+ int delta;
-+ int accel;
-+ int scalex, scaley;
-+ int time;
-+ int cluster;
-+ int three_button;
-+ int glidepoint_tap;
-+ int absolute; /* device reports absolute coordinates - initially copied
-+ from Gpm_Type; allows same protocol (type) control devices
-+ in absolute and relative mode */
-+ char *text; /* extra textual options supplied via '-o text' */
-+};
-+
- /*
- * and this is the entry in the mouse-type table
- */
- typedef struct Gpm_Type {
-- char *name;
-- char *desc; /* a descriptive line */
-- char *synonyms; /* extra names (the XFree name etc) as a list */
-- int (*fun)(Gpm_Event *state, unsigned char *data);
-- struct Gpm_Type *(*init)(int fd, unsigned short flags,
-- struct Gpm_Type *type, int argc, char **argv);
-- unsigned short flags;
-- unsigned char proto[4];
-- int packetlen;
-- int howmany; /* how many bytes to read at a time */
-- int getextra; /* does it get an extra byte? (only mouseman) */
-- int absolute; /* flag indicating absolute pointing device */
-+ char *name;
-+ char *desc; /* a descriptive line */
-+ char *synonyms; /* extra names (the XFree name etc) as a list */
-+ int (*fun)(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state);
-+ int (*init)(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type);
-+ unsigned short flags;
-+ unsigned char proto[4];
-+ int packetlen;
-+ int howmany; /* how many bytes to read at a time */
-+ int getextra; /* does it get an extra byte? (only mouseman) */
-+ int absolute; /* flag indicating absolute pointing device */
-
-- int (*repeat_fun)(Gpm_Event *state, int fd); /* repeat this event into fd */
-+ int (*repeat_fun)(Gpm_Event *state, int fd); /* repeat this event into fd */
- /* itz Mon Jan 11 23:27:54 PST 1999 */
- } Gpm_Type;
-
- #define GPM_EXTRA_MAGIC_1 0xAA
- #define GPM_EXTRA_MAGIC_2 0x55
-
--typedef struct Gpm_Cinfo {
-- Gpm_Connect data;
-- int fd;
-- struct Gpm_Cinfo *next;
--} Gpm_Cinfo;
--
--
--/*....................................... Global variables */
--
--/* this structure is used to hide the dual-mouse stuff */
--
--struct mouse_features {
-- char *opt_type, *opt_dev, *opt_sequence;
-- int opt_baud,opt_sample,opt_delta, opt_accel, opt_scale, opt_scaley;
-- int opt_time, opt_cluster, opt_three, opt_glidepoint_tap;
-- char *opt_options; /* extra textual configuration */
-- Gpm_Type *m_type;
-- int fd;
--};
--
--extern struct mouse_features mouse_table[3], *which_mouse; /*the current one*/
--
--// looks unused; delete
--//typedef struct Opt_struct_type {int a,B,d,i,p,r,V,A;} Opt_struct_type;
--
--/* this is not very clean, actually, but it works fine */
--#define opt_type (which_mouse->opt_type)
--#define opt_dev (which_mouse->opt_dev)
--#define opt_sequence (which_mouse->opt_sequence)
--#define opt_baud (which_mouse->opt_baud)
--#define opt_sample (which_mouse->opt_sample)
--#define opt_delta (which_mouse->opt_delta)
--#define opt_accel (which_mouse->opt_accel)
--#define opt_scale (which_mouse->opt_scale)
--#define opt_scaley (which_mouse->opt_scaley)
--#define opt_time (which_mouse->opt_time)
--#define opt_cluster (which_mouse->opt_cluster)
--#define opt_three (which_mouse->opt_three)
--#define opt_glidepoint_tap (which_mouse->opt_glidepoint_tap)
--#define opt_options (which_mouse->opt_options)
--
--#define m_type (which_mouse->m_type)
--
--/* the other variables */
--
--extern char *opt_lut;
--extern int opt_test, opt_ptrdrag;
--extern int opt_kill;
--extern int opt_kernel, opt_explicittype;
--extern int opt_aged;
--extern time_t opt_age_limit;
- extern char *opt_special;
--extern int opt_rawrep;
--extern int fifofd;
--extern int opt_double;
--
--extern Gpm_Type *repeated_type;
- extern Gpm_Type mice[]; /* where the hell are the descriptions...*/
--extern struct winsize win;
--extern int maxx, maxy;
--extern Gpm_Cinfo *cinfo[MAX_VC+1];
-
- /* new variables <CLEAN> */
-
- /* structure prototypes */
-+struct repeater {
-+ int fd;
-+ int raw;
-+ Gpm_Type *type;
-+};
-
- /* contains all mice */
- struct micetab {
- struct micetab *next;
-- char *device;
-- char *protocol;
-- char *options;
-+ struct micedev dev;
-+ struct miceopt options;
-+ Gpm_Type *type;
-+ char *device;
-+ int buttons; /* mouse's button state from last read */
-+ struct timeval timestamp; /* last time mouse data arrived */
- };
-
- struct options {
- int autodetect; /* -u [aUtodetect..'A' is not available] */
-- int no_mice; /* number of mice */
-- int repeater; /* repeat data */
-- char *repeater_type; /* repeat data as which mouse type */
- int run_status; /* startup/daemon/debug */
- char *progname; /* hopefully gpm ;) */
-- struct micetab *micelist; /* mice and their options */
-- char *consolename; /* /dev/tty0 || /dev/vc/0 */
- };
-
- /* global variables */
- struct options option; /* one should be enough for us */
-+extern struct repeater repeater; /* again, only one */
-+extern struct micetab *micelist;
-
- /* new variables </CLEAN> */
-
--
- /*....................................... Prototypes */
- /* server_tools.c */
--void add_mouse (int type, char *value);
--int init_mice (struct micetab *micelist);
--int reset_mice(struct micetab *micelist);
-+struct micetab *add_mouse(void);
-+void init_mice(void);
-+void cleanup_mice(void);
-
- /* startup.c */
- void startup(int argc, char **argv);
-@@ -246,17 +196,15 @@
-
- /* gpn.c */
- void cmdline(int argc, char **argv);
--int giveInfo(int request, int fd);
--int loadlut(char *charset);
--int usage(char *whofailed);
--struct Gpm_Type *find_mouse_by_name(char *name);
-+int giveInfo(int request, int fd);
-+int usage(char *whofailed);
- void check_uniqueness(void);
--void check_kill(void);
--
-+void kill_gpm(void);
-
- /* mice.c */
- extern int M_listTypes(void);
-- /* special.c */
-+
-+ /* special.c */
- int processSpecial(Gpm_Event *event);
- int twiddler_key(unsigned long message);
- int twiddler_key_init(void);
-diff -urN gpm-1.20.1/src/headers/input-defines.h gpm/src/headers/input-defines.h
---- gpm-1.20.1/src/headers/input-defines.h 1969-12-31 19:00:00.000000000 -0500
-+++ gpm/src/headers/input-defines.h 2003-10-02 01:22:42.000000000 -0500
-@@ -0,0 +1,81 @@
-+/*
-+ * input-defines.h - complements <linux/input.h> adding missing bits
-+ *
-+ * Copyright (C) 2003 Dmitry Torokhov <dtor@mail.ru>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-+ ********/
-+#ifndef __GPM_INPUT_DEFINES_H
-+#define __GPM_INPUT_DEFINES_H
-+
-+#include <linux/input.h>
-+#include "headers/config.h"
-+
-+#ifndef ABS_TOOL_WIDTH
-+#define ABS_TOOL_WIDTH 0x1c
-+#endif
-+
-+#ifndef BTN_TOOL_FINGER
-+#define BTN_TOOL_FINGER 0x145
-+#endif
-+
-+#ifndef BTN_TOUCH
-+#define BTN_TOUCH 0x14a
-+#endif
-+
-+#ifndef BTN_TOOL_DOUBLETAP
-+#define BTN_TOOL_DOUBLETAP 0x14d
-+#endif
-+
-+#ifndef BTN_TOOL_TRIPLETAP
-+#define BTN_TOOL_TRIPLETAP 0x14e
-+#endif
-+
-+#ifndef MSC_GESTURE
-+#define MSC_GESTURE 2
-+#endif
-+
-+#ifndef EV_SYNC
-+#define EV_SYNC 0
-+#endif
-+
-+#ifndef SYN_REPORT
-+#define SYN_REPORT 0
-+#endif
-+
-+#ifndef PSMOUSE_SYNAPTICS
-+#define PSMOUSE_SYNAPTICS 7
-+#endif
-+
-+#ifndef HAVE_INPUT_ID
-+struct input_id {
-+ unsigned short bustype;
-+ unsigned short vendor;
-+ unsigned short product;
-+ unsigned short version;
-+};
-+#endif
-+
-+#ifndef HAVE_INPUT_ABSINFO
-+struct input_absinfo {
-+ int value;
-+ int minimum;
-+ int maximum;
-+ int fuzz;
-+ int flat;
-+};
-+#endif
-+
-+#endif
-diff -urN gpm-1.20.1/src/headers/message.h gpm/src/headers/message.h
---- gpm-1.20.1/src/headers/message.h 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/src/headers/message.h 2003-10-02 01:22:42.000000000 -0500
-@@ -96,7 +96,6 @@
- " -S [commands] enable special commands (see man page)\n" \
- " -t mouse-type sets mouse type (default '%s')\n" \
- " Use a non-existent type (e.g. \"help\") to get a list\n" \
-- " -T test: read mouse, no clients\n" \
- " -v print version and exit\n" \
- " -V verbosity increase number of logged messages\n\n\n" \
- " Examples:\n\n" \
-@@ -168,7 +167,8 @@
- #define GPM_MESS_SELECT_TIMES "selected %i times"
-
- #define GPM_MESS_OPTION_NO_ARG "%s: Option \"%s\" takes no argument: ignoring \"%s\""
--#define GPM_MESS_INVALID_ARG "%s: Invalid arg. \"%s\" to \"%s\""
-+#define GPM_MESS_INVALID_ARG "%s: Invalid argument \"%s\" for option \"%s\""
-+#define GPM_MESS_MISSING_ARG "%s: Option \"%s\" requires an argument"
- #define GPM_MESS_CONT_WITH_ERR "%s: Continuing despite errors in option parsing"
- #define GPM_MESS_TOO_MANY_OPTS "%s: Too many options for \"-t %s\""
-
-@@ -196,7 +196,7 @@
-
- /* warnings */
- #define GPM_MESS_REQUEST_ON "Request on vc %i > %i"
--#define GPM_MESS_FAILED_CONNECT "Failed gpm connect attempt by uid %d for vc %s"
-+#define GPM_MESS_FAILED_CONNECT "Failed gpm connect attempt by uid %d for vc %d"
- #define GPM_MESS_ZERO_SCREEN_DIM "zero screen dimension, assuming 80x25"
- #define GPM_MESS_STRANGE_DATA "Data on strange file descriptor %d"
- #define GPM_MESS_RESIZING "%s pid %i is resizing :-)"
-diff -urN gpm-1.20.1/src/headers/optparser.h gpm/src/headers/optparser.h
---- gpm-1.20.1/src/headers/optparser.h 1969-12-31 19:00:00.000000000 -0500
-+++ gpm/src/headers/optparser.h 2003-10-02 01:22:42.000000000 -0500
-@@ -0,0 +1,50 @@
-+/*
-+ * optparser.h - GPM mouse options parser
-+ *
-+ * Copyright (C) 1993 Andrew Haylett <ajh@gec-mrc.co.uk>
-+ * Copyright (C) 1994-2000 Alessandro Rubini <rubini@linux.it>
-+ * Copyright (C) 1998,1999 Ian Zimmerman <itz@rahul.net>
-+ * Copyright (C) 2001,2002 Nico Schottelius <nicos@pcsystems.de>
-+ * Copyright (C) 2003 Dmitry Torokhov <dtor@mail.ru>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-+ ********/
-+#ifndef __GPM_OPTPARSER_H_
-+#define __GPM_OPTPARSER_H_
-+
-+enum option_type {
-+ OPT_BOOL = 1,
-+ OPT_INT, /* "%i" */
-+ OPT_DEC, /* "%d" */
-+ OPT_STRING,
-+ /* other types must be added */
-+ OPT_END = 0
-+};
-+
-+struct option_helper {
-+ char *name;
-+ enum option_type type;
-+ union u {
-+ int *iptr; /* used for int and bool arguments */
-+ char **sptr; /* used for string arguments, by strdup()ing the value */
-+ } u;
-+ int value; /* used for boolean arguments */
-+ int present;
-+};
-+
-+int parse_options(const char *who, const char *opt, char sep, struct option_helper *info);
-+int check_no_options(const char *proto, const char *opts, char sep);
-+int is_option_present(struct option_helper *info, const char *name);
-+#endif
-diff -urN gpm-1.20.1/src/headers/selection.h gpm/src/headers/selection.h
---- gpm-1.20.1/src/headers/selection.h 1969-12-31 19:00:00.000000000 -0500
-+++ gpm/src/headers/selection.h 2003-10-02 01:22:42.000000000 -0500
-@@ -0,0 +1,37 @@
-+/*
-+ * console.h - GPM selection/paste handling
-+ *
-+ * Copyright (C) 2003 Dmitry Torokhov <dtor@mail.ru>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-+ ********/
-+
-+#ifndef __GPM_SELECTION_H_
-+#define __GPM_SELECTION_H_
-+
-+struct sel_options {
-+ int aged;
-+ int age_limit;
-+ int ptrdrag;
-+};
-+
-+struct Gpm_Event;
-+
-+extern struct sel_options sel_opts; /* only one exists */
-+
-+void do_selection(struct Gpm_Event *event, int three_button_mode);
-+void selection_disable_paste(void);
-+
-+#endif /* __GPM_CONSOLE_H_ */
-diff -urN gpm-1.20.1/src/headers/synaptics.h gpm/src/headers/synaptics.h
---- gpm-1.20.1/src/headers/synaptics.h 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/src/headers/synaptics.h 2003-10-02 01:22:42.000000000 -0500
-@@ -62,7 +62,7 @@
- **
- ** Process the touchpad 6/7/8 byte data.
- */
--void syn_process_serial_data (Gpm_Event *state,
-+void syn_process_serial_data (int fd, Gpm_Event *state,
- unsigned char *data);
-
-
-@@ -72,7 +72,7 @@
- **
- ** Process the touchpad 6 byte data.
- */
--void syn_process_ps2_data (Gpm_Event *state,
-+void syn_process_ps2_data (int fd, Gpm_Event *state,
- unsigned char *data);
-
-
-diff -urN gpm-1.20.1/src/lib/liblow.c gpm/src/lib/liblow.c
---- gpm-1.20.1/src/lib/liblow.c 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/src/lib/liblow.c 2003-10-02 01:22:42.000000000 -0500
-@@ -80,6 +80,8 @@
- int gpm_consolefd=-1; /* used to invoke ioctl() */
- int gpm_morekeys=0;
-
-+static char *consolename;
-+
- int gpm_convert_event(unsigned char *mdata, Gpm_Event *ePtr);
-
- /*----------------------------------------------------------------------------*
-@@ -192,14 +194,13 @@
- char *tty = NULL;
- char *term = NULL;
- int i;
-- extern struct options option;
- static int checked_con = 0;
- struct sockaddr_un addr;
- struct winsize win;
- Gpm_Stst *new = NULL;
- char* sock_name = 0;
-
-- option.consolename = NULL;
-+ consolename = NULL;
-
- gpm_report(GPM_PR_DEBUG,"VC: %d",flag);
-
-@@ -216,7 +217,7 @@
-
- /* check whether we know what name the console is: what's with the lib??? */
- if(checked_con == 0) {
-- option.consolename = Gpm_get_console();
-+ consolename = Gpm_get_console();
- checked_con++;
- }
-
-@@ -245,10 +246,10 @@
- conn->vc=0; /* default handler */
- if (flag > 0) { /* forced vc number */
- conn->vc=flag;
-- if((tty = malloc(strlen(option.consolename)+Gpm_cnt_digits(flag))) == NULL)
-+ if((tty = malloc(strlen(consolename)+Gpm_cnt_digits(flag))) == NULL)
- gpm_report(GPM_PR_OOPS,GPM_MESS_NO_MEM);
-- memcpy(tty,option.consolename,strlen(option.consolename)-1);
-- sprintf(&tty[strlen(option.consolename)-1],"%i",flag);
-+ memcpy(tty,consolename,strlen(consolename)-1);
-+ sprintf(&tty[strlen(consolename)-1],"%i",flag);
- } else { /* use your current vc */
- if (isatty(0)) tty = ttyname(0); /* stdin */
- if (!tty && isatty(1)) tty = ttyname(1); /* stdout */
-@@ -258,13 +259,13 @@
- goto err;
- }
- /* do we really need this check ? */
-- if(strncmp(tty,option.consolename,strlen(option.consolename)-1)
-- || !isdigit(tty[strlen(option.consolename)-1])) {
-- gpm_report(GPM_PR_ERR,"strncmp/isdigit/option.consolename failed");
-+ if(strncmp(tty,consolename,strlen(consolename)-1)
-+ || !isdigit(tty[strlen(consolename)-1])) {
-+ gpm_report(GPM_PR_ERR,"strncmp/isdigit/consolename failed");
- goto err;
- }
-
-- conn->vc=atoi(&tty[strlen(option.consolename)-1]);
-+ conn->vc=atoi(&tty[strlen(consolename)-1]);
- }
-
- if (gpm_consolefd == -1)
-@@ -272,6 +273,8 @@
- gpm_report(GPM_PR_ERR,GPM_MESS_DOUBLE_S,tty,strerror(errno));
- goto err;
- }
-+
-+ if (flag > 0) free(tty);
- }
-
- new->info=*conn;
-diff -urN gpm-1.20.1/src/lib/tools.c gpm/src/lib/tools.c
---- gpm-1.20.1/src/lib/tools.c 1969-12-31 19:00:00.000000000 -0500
-+++ gpm/src/lib/tools.c 2003-10-02 01:22:42.000000000 -0500
-@@ -0,0 +1,93 @@
-+/*
-+ * tools.c - tools which are needed by client and server
-+ *
-+ * Copyright (c) 2001 Nico Schottelius <nico@schottelius.org>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-+ ********/
-+
-+#include <stdio.h> /* NULL */
-+#include <string.h>
-+#include <stdlib.h>
-+#include <sys/types.h> /* these three are */
-+#include <sys/stat.h> /* needed for */
-+#include <unistd.h> /* stat() */
-+
-+#include "headers/gpmInt.h" /* only used for some defines */
-+#include "headers/message.h"
-+
-+/*****************************************************************************
-+ * check, whether devfs is used or not.
-+ * See /usr/src/linux/Documentation/filesystems/devfs/ for details.
-+ * Returns: the name of the console (/dev/tty0 or /dev/vc/0)
-+ *****************************************************************************/
-+char *Gpm_get_console( void )
-+{
-+
-+ char *back = NULL, *tmp = NULL;
-+ struct stat buf;
-+
-+ /* first try the devfs device, because in the next time this will be
-+ * the preferred one. If that fails, take the old console */
-+
-+ /* Check for open new console */
-+ if (stat(GPM_DEVFS_CONSOLE,&buf) == 0)
-+ tmp = GPM_DEVFS_CONSOLE;
-+
-+ /* Failed, try OLD console */
-+ else if(stat(GPM_OLD_CONSOLE,&buf) == 0)
-+ tmp = GPM_OLD_CONSOLE;
-+
-+ if(tmp != NULL)
-+ if((back = malloc(strlen(tmp) + sizeof(char)) ) != NULL)
-+ strcpy(back,tmp);
-+
-+ return(back);
-+}
-+
-+/* what's the english name for potenz ? */
-+int Gpm_x_high_y(int base, int pot_y)
-+{
-+ int val = 1;
-+
-+ if(pot_y == 0) val = 1;
-+ else if(pot_y < 0) val = 0; /* ugly hack ;) */
-+ else while(pot_y > 0) {
-+ val = val * base;
-+ pot_y--;
-+ }
-+ return val;
-+}
-+
-+/* return characters needed to display int */
-+int Gpm_cnt_digits(int number)
-+{
-+ /* 0-9 = 1 10^0 <-> (10^1)-1
-+ * 10 - 99 = 2 10^1 <-> (10^2)-1
-+ * 100 - 999 = 3 10^2 <-> (10^3)-1
-+ * 1000 - 9999 = 4 ... */
-+
-+ int ret = 0, num = 0;
-+
-+ /* non negative, please */
-+ if(number < 0) number *= -1;
-+ else if(number == 0) ret = 1;
-+ else while(number > num) {
-+ ret++;
-+ num = (Gpm_x_high_y(10,ret) - 1);
-+ }
-+
-+ return(ret);
-+}
-diff -urN gpm-1.20.1/src/Makefile.in gpm/src/Makefile.in
---- gpm-1.20.1/src/Makefile.in 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/src/Makefile.in 2003-10-02 01:22:42.000000000 -0500
-@@ -12,15 +12,16 @@
- include $(top_builddir)/Makefile.include
-
- # Main portion: regular build rules
-+MICESRC = mice.c twiddler.c synaptics.c @EVDEV_SRCS@
-
--GSRC = main.c gpm.c gpn.c mice.c special.c twiddler.c synaptics.c \
-- startup.c server_tools.c
-+GSRC = main.c gpm.c gpn.c special.c startup.c server_tools.c console.c \
-+ selection.c client.c optparser.c $(MICESRC)
-
--GOBJ = $(GSRC:.c=.o) report.o tools.o
-+GOBJ = $(GSRC:.c=.o) report.o
-
--LSRC = lib/liblow.c lib/libhigh.c lib/libxtra.c lib/report-lib.c
-+LSRC = lib/liblow.c lib/libhigh.c lib/libxtra.c lib/report-lib.c lib/tools.c
-
--LOBJ = $(LSRC:.c=.o) tools.o @CURSES_OBJS@
-+LOBJ = $(LSRC:.c=.o) @CURSES_OBJS@
-
- PICS = $(LOBJ:.o=.lo)
-
-@@ -143,7 +144,7 @@
- $(CC) -I. @CPPFLAGS@ $(CPPFLAGS) @CFLAGS@ $(CFLAGS) -c -o $@.o $<
- $(CC) @LDFLAGS@ $(LDFLAGS) -o $@ $@.o @LIBS@ $(LIBS) lib/libgpm.a
-
--prog/mouse-test: mice.o twiddler.o synaptics.o
-+prog/mouse-test: $(MICESRC:.c=.o) console.o optparser.o
-
- $(PROG): lib/libgpm.so lib/@SHLIB@ lib/libgpm.a
-
-diff -urN gpm-1.20.1/src/mice.c gpm/src/mice.c
---- gpm-1.20.1/src/mice.c 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/src/mice.c 2003-10-02 01:22:42.000000000 -0500
-@@ -46,15 +46,11 @@
- #include <string.h>
- #include <stdlib.h>
- #include <termios.h>
--#include <fcntl.h>
--#include <termios.h>
- #include <errno.h>
- #include <unistd.h>
- #include <ctype.h>
-
--#include <sys/types.h>
- #include <sys/stat.h> /* stat() */
--#include <sys/time.h> /* select() */
-
- #include <linux/kdev_t.h> /* MAJOR */
- #include <linux/keyboard.h>
-@@ -72,135 +68,40 @@
-
-
- #include "headers/gpmInt.h"
-+#include "headers/console.h"
- #include "headers/twiddler.h"
- #include "headers/synaptics.h"
- #include "headers/message.h"
--
--/*========================================================================*/
--/* Parsing argv: helper dats struct function (should they get elsewhere?) */
--/*========================================================================*/
--
--enum argv_type {
-- ARGV_BOOL = 1,
-- ARGV_INT, /* "%i" */
-- ARGV_DEC, /* "%d" */
-- ARGV_STRING,
-- /* other types must be added */
-- ARGV_END = 0
--};
--
--typedef struct argv_helper {
-- char *name;
-- enum argv_type type;
-- union u {
-- int *iptr; /* used for int and bool arguments */
-- char **sptr; /* used for string arguments, by strdup()ing the value */
-- } u;
-- int value; /* used for boolean arguments */
--} argv_helper;
--
--static int parse_argv(argv_helper *info, int argc, char **argv)
--{
-- int i, j = 0, errors = 0;
-- long l;
-- argv_helper *p;
-- char *s, *t;
-- int base = 0; /* for strtol */
--
--
-- for (i=1; i<argc; i++) {
-- for (p = info; p->type != ARGV_END; p++) {
-- j = strlen(p->name);
-- if (strncmp(p->name, argv[i], j))
-- continue;
-- if (isalnum(argv[i][j]))
-- continue;
-- break;
-- }
-- if (p->type == ARGV_END) { /* not found */
-- fprintf(stderr, "%s: Uknown option \"%s\" for pointer \"%s\"\n",
-- option.progname, argv[i], argv[0]);
-- errors++;
-- continue;
-- }
-- /* Found. Look for trailing stuff, if any */
-- s = argv[i]+j;
-- while (*s && isspace(*s)) s++; /* skip spaces */
-- if (*s == '=') s++; /* skip equal */
-- while (*s && isspace(*s)) s++; /* skip other spaces */
--
-- /* Now parse what s is */
-- switch(p->type) {
-- case ARGV_BOOL:
-- if (*s) {
-- gpm_report(GPM_PR_ERR,GPM_MESS_OPTION_NO_ARG,option.progname,p->name,s);
-- errors++;
-- }
-- *(p->u.iptr) = p->value;
-- break;
--
-- case ARGV_DEC:
-- base = 10; /* and fall through */
-- case ARGV_INT:
-- l = strtol(s, &t, base);
-- if (*t) {
-- gpm_report(GPM_PR_ERR,GPM_MESS_INVALID_ARG, option.progname, s, p->name);
-- errors++;
-- break;
-- }
-- *(p->u.iptr) = (int)l;
-- break;
--
-- case ARGV_STRING:
-- *(p->u.sptr) = strdup(s);
-- break;
--
-- case ARGV_END: /* let's please "-Wall" */
-- break;
-- }
-- } /* for i in argc */
-- if (errors) gpm_report(GPM_PR_ERR,GPM_MESS_CONT_WITH_ERR, option.progname);
-- return errors;
--}
--
--/*========================================================================*/
--/* Provide a common error engine by parsing with an empty option-set */
--/*========================================================================*/
--static volatile int check_no_argv(int argc, char **argv)
--{
-- static argv_helper optioninfo[] = {
-- {"", ARGV_END}
-- };
-- return parse_argv(optioninfo, argc, argv);
--}
-+#include "headers/optparser.h"
-
- /*========================================================================*/
- /* Parse the "old" -o options */
- /*========================================================================*/
--static int option_modem_lines(int fd, int argc, char **argv)
-+static int option_modem_lines(int fd, char *proto, char *opts)
- {
-- static unsigned int err, lines, reallines;
-+ static unsigned int lines, reallines;
-+ static struct option_helper optioninfo[] = {
-+ {"dtr", OPT_BOOL, u: {iptr: &lines}, value: TIOCM_DTR},
-+ {"rts", OPT_BOOL, u: {iptr: &lines}, value: TIOCM_RTS},
-+ {"both", OPT_BOOL, u: {iptr: &lines}, value: TIOCM_DTR | TIOCM_RTS},
-+ {"", OPT_END}
-+ };
-
-- static argv_helper optioninfo[] = {
-- {"dtr", ARGV_BOOL, u: {iptr: &lines}, value: TIOCM_DTR},
-- {"rts", ARGV_BOOL, u: {iptr: &lines}, value: TIOCM_RTS},
-- {"both", ARGV_BOOL, u: {iptr: &lines}, value: TIOCM_DTR | TIOCM_RTS},
-- {"", ARGV_END}
-- };
-+ int rslt = parse_options(proto, opts, ',', optioninfo);
-
-- if (argc<2) return 0;
-- if (argc > 2) {
-- gpm_report(GPM_PR_ERR,GPM_MESS_TOO_MANY_OPTS,option.progname, argv[0]);
-+ if (rslt < 0) {
-+ errno = EINVAL;
-+ return -1;
-+ } else if (rslt > 1) {
-+ gpm_report(GPM_PR_ERR, GPM_MESS_TOO_MANY_OPTS, option.progname, proto);
- errno = EINVAL; /* used by gpm_oops(), if the caller reports failure */
- return -1;
-+ } else if (rslt == 1) {
-+ /* ok, move the lines */
-+ ioctl(fd, TIOCMGET, &reallines);
-+ reallines &= ~lines;
-+ ioctl(fd, TIOCMSET, &reallines);
- }
-- err = parse_argv(optioninfo, argc, argv);
-- if(err) return 0; /* a message has been printed, but go on as good */
--
-- /* ok, move the lines */
-- ioctl(fd, TIOCMGET, &reallines);
-- reallines &= ~lines;
-- ioctl(fd, TIOCMSET, &reallines);
- return 0;
- }
-
-@@ -233,28 +134,12 @@
- /*========================================================================*/
-
- #ifdef HAVE_LINUX_INPUT_H
--static int M_evdev (Gpm_Event * state, unsigned char *data)
--{
-- struct input_event thisevent;
-- (void) memcpy (&thisevent, data, sizeof (struct input_event));
-- if (thisevent.type == EV_REL) {
-- if (thisevent.code == REL_X)
-- state->dx = (signed char) thisevent.value;
-- else if (thisevent.code == REL_Y)
-- state->dy = (signed char) thisevent.value;
-- } else if (thisevent.type == EV_KEY) {
-- switch(thisevent.code) {
-- case BTN_LEFT: state->buttons ^= GPM_B_LEFT; break;
-- case BTN_MIDDLE: state->buttons ^= GPM_B_MIDDLE; break;
-- case BTN_RIGHT: state->buttons ^= GPM_B_RIGHT; break;
-- case BTN_SIDE: state->buttons ^= GPM_B_MIDDLE; break;
-- }
-- }
-- return 0;
--}
-+/* defined in evdev.c */
-+extern int M_evdev(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state);
-+extern int I_evdev(struct micedev *dev, struct miceopt *opt, Gpm_Type *type);
- #endif /* HAVE_LINUX_INPUT_H */
-
--static int M_ms(Gpm_Event *state, unsigned char *data)
-+static int M_ms(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- /*
- * some devices report a change of middle-button state by
-@@ -273,7 +158,7 @@
- return 0;
- }
-
--static int M_ms_plus(Gpm_Event *state, unsigned char *data)
-+static int M_ms_plus(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- static unsigned char prev=0;
-
-@@ -293,7 +178,7 @@
- return 0;
- }
-
--static int M_ms_plus_lr(Gpm_Event *state, unsigned char *data)
-+static int M_ms_plus_lr(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- /*
- * Same as M_ms_plus but with an addition by Edmund GRIMLEY EVANS
-@@ -329,19 +214,19 @@
- int SUMMA_BORDER=100;
- int summamaxx,summamaxy;
- char summaid=-1;
--static int M_summa(Gpm_Event *state, unsigned char *data)
-+static int M_summa(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- int x, y;
-
- x = ((data[2]<<7) | data[1])-SUMMA_BORDER;
- if (x<0) x=0;
- if (x>summamaxx) x=summamaxx;
-- state->x = (x * win.ws_col / summamaxx);
-+ state->x = (x * console.max_x / summamaxx);
- realposx = (x * 16383 / summamaxx);
-
- y = ((data[4]<<7) | data[3])-SUMMA_BORDER;
- if (y<0) y=0; if (y>summamaxy) y=summamaxy;
-- state->y = 1 + y * (win.ws_row-1)/summamaxy;
-+ state->y = 1 + y * (console.max_y-1)/summamaxy;
- realposy = y * 16383 / summamaxy;
-
- state->buttons=
-@@ -396,7 +281,7 @@
-
-
- /* 'Genitizer' (kw@dtek.chalmers.se 11/12/97) */
--static int M_geni(Gpm_Event *state, unsigned char *data)
-+static int M_geni(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- /* this is a little confusing. If we use the stylus, we
- * have three buttons (tip, lower, upper), and if
-@@ -419,7 +304,7 @@
-
-
- /* m$ 'Intellimouse' (steveb 20/7/97) */
--static int M_ms3(Gpm_Event *state, unsigned char *data)
-+static int M_ms3(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- state->wdx = state->wdy = 0;
- state->buttons= ((data[0] & 0x20) >> 3) /* left */
-@@ -470,7 +355,7 @@
- }
-
- /* M_brw is a variant of m$ 'Intellimouse' the middle button is different */
--static int M_brw(Gpm_Event *state, unsigned char *data)
-+static int M_brw(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- state->buttons= ((data[0] & 0x20) >> 3) /* left */
- | ((data[3] & 0x20) >> 4) /* middle */
-@@ -491,7 +376,7 @@
- return 0;
- }
-
--static int M_bare(Gpm_Event *state, unsigned char *data)
-+static int M_bare(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- /* a bare ms protocol */
- state->buttons= ((data[0] & 0x20) >> 3) | ((data[0] & 0x10) >> 4);
-@@ -500,7 +385,7 @@
- return 0;
- }
-
--static int M_sun(Gpm_Event *state, unsigned char *data)
-+static int M_sun(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- state->buttons= (~data[0]) & 0x07;
- state->dx= (signed char)(data[1]);
-@@ -508,7 +393,7 @@
- return 0;
- }
-
--static int M_msc(Gpm_Event *state, unsigned char *data)
-+static int M_msc(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- state->buttons= (~data[0]) & 0x07;
- state->dx= (signed char)(data[1]) + (signed char)(data[3]);
-@@ -558,7 +443,7 @@
-
- }
-
--static int M_logimsc(Gpm_Event *state, unsigned char *data) /* same as msc */
-+static int M_logimsc(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- state->buttons= (~data[0]) & 0x07;
- state->dx= (signed char)(data[1]) + (signed char)(data[3]);
-@@ -566,7 +451,7 @@
- return 0;
- }
-
--static int M_mm(Gpm_Event *state, unsigned char *data)
-+static int M_mm(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- state->buttons= data[0] & 0x07;
- state->dx= (data[0] & 0x10) ? data[1] : - data[1];
-@@ -574,7 +459,7 @@
- return 0;
- }
-
--static int M_logi(Gpm_Event *state, unsigned char *data) /* equal to mm */
-+static int M_logi(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- state->buttons= data[0] & 0x07;
- state->dx= (data[0] & 0x10) ? data[1] : - data[1];
-@@ -582,7 +467,7 @@
- return 0;
- }
-
--static int M_bm(Gpm_Event *state, unsigned char *data) /* equal to sun */
-+static int M_bm(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- state->buttons= (~data[0]) & 0x07;
- state->dx= (signed char)data[1];
-@@ -590,7 +475,7 @@
- return 0;
- }
-
--static int M_ps2(Gpm_Event *state, unsigned char *data)
-+static int M_ps2(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- static int tap_active=0; /* there exist glidepoint ps2 mice */
-
-@@ -599,8 +484,8 @@
- !!(data[0]&2) * GPM_B_RIGHT +
- !!(data[0]&4) * GPM_B_MIDDLE;
-
-- if (data[0]==0 && opt_glidepoint_tap) /* by default this is false */
-- state->buttons = tap_active = opt_glidepoint_tap;
-+ if (data[0]==0 && opt->glidepoint_tap) /* by default this is false */
-+ state->buttons = tap_active = opt->glidepoint_tap;
- else if (tap_active) {
- if (data[0]==8)
- state->buttons = tap_active = 0;
-@@ -623,10 +508,11 @@
- state->dy= -((data[0] & 0x20) ? data[2]-256 : data[2]);
- else
- state->dy = 0;
-+
- return 0;
- }
-
--static int M_imps2(Gpm_Event *state, unsigned char *data)
-+static int M_imps2(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
-
- static int tap_active=0; /* there exist glidepoint ps2 mice */
-@@ -636,8 +522,8 @@
- state->buttons= ((data[0] & 1) << 2) /* left */
- | ((data[0] & 6) >> 1); /* middle and right */
-
-- if (data[0]==0 && opt_glidepoint_tap) // by default this is false
-- state->buttons = tap_active = opt_glidepoint_tap;
-+ if (data[0]==0 && opt->glidepoint_tap) // by default this is false
-+ state->buttons = tap_active = opt->glidepoint_tap;
- else if (tap_active) {
- if (data[0]==8)
- state->buttons = tap_active = 0;
-@@ -667,7 +553,7 @@
-
- }
-
--static int M_netmouse(Gpm_Event *state, unsigned char *data)
-+static int M_netmouse(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- /* Avoid these beasts if you can. They connect to normal PS/2 port,
- * but their protocol is one byte longer... So if you have notebook
-@@ -706,47 +592,45 @@
- }
-
- /* standard ps2 */
--static Gpm_Type *I_ps2(int fd, unsigned short flags,
-- struct Gpm_Type *type, int argc, char **argv)
-+int I_ps2(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type)
- {
- static unsigned char s[] = { 246, 230, 244, 243, 100, 232, 3, };
-- write (fd, s, sizeof (s));
-+ write(dev->fd, s, sizeof (s));
- usleep (30000);
-- tcflush (fd, TCIFLUSH);
-- return type;
-+ tcflush (dev->fd, TCIFLUSH);
-+ return 0;
- }
-
--static Gpm_Type *I_netmouse(int fd, unsigned short flags,
-- struct Gpm_Type *type, int argc, char **argv)
-+static int I_netmouse(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type)
- {
- unsigned char magic[6] = { 0xe8, 0x03, 0xe6, 0xe6, 0xe6, 0xe9 };
- int i;
-
-- if (check_no_argv(argc, argv)) return NULL;
-+ if (!check_no_options(type->name, opt->text, ',')) return -1;
- for (i=0; i<6; i++) {
- unsigned char c = 0;
-- write( fd, magic+i, 1 );
-- read( fd, &c, 1 );
-+ write(dev->fd, magic+i, 1 );
-+ read(dev->fd, &c, 1 );
- if (c != 0xfa) {
- gpm_report(GPM_PR_ERR,GPM_MESS_NETM_NO_ACK,c);
-- return NULL;
-+ return -1;
- }
- }
- {
- unsigned char rep[3] = { 0, 0, 0 };
-- read( fd, rep, 1 );
-- read( fd, rep+1, 1 );
-- read( fd, rep+2, 1 );
-+ read( dev->fd, rep, 1 );
-+ read( dev->fd, rep+1, 1 );
-+ read( dev->fd, rep+2, 1 );
- if (rep[0] || (rep[1] != 0x33) || (rep[2] != 0x55)) {
- gpm_report(GPM_PR_ERR,GPM_MESS_NETM_INV_MAGIC, rep[0], rep[1], rep[2]);
-- return NULL;
-+ return -1;
- }
- }
-- return type;
-+ return 0;
- }
-
- #define GPM_B_BOTH (GPM_B_LEFT|GPM_B_RIGHT)
--static int M_mman(Gpm_Event *state, unsigned char *data)
-+static int M_mman(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- /*
- * the damned MouseMan has 3/4 bytes packets. The extra byte
-@@ -784,7 +668,7 @@
- mytype->getextra=1;
- } else {
- if (b & 0x2) prev |= GPM_B_MIDDLE;
-- if (b & 0x1) prev |= opt_glidepoint_tap;
-+ if (b & 0x1) prev |= opt->glidepoint_tap;
- }
- }
- state->buttons=prev;
-@@ -828,7 +712,7 @@
-
- #define IsA(m) ((WacomModell==(-1))? 0:!strcmp(#m,wcmodell[WacomModell].name))
-
--static int M_wacom(Gpm_Event *state, unsigned char *data)
-+static int M_wacom(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- static int ox=-1, oy;
- int x, y;
-@@ -878,8 +762,8 @@
- if (WacomAbsoluteWanted) { /* Absolute Mode */
- if (x>wmaxx) x=wmaxx; if (x<0) x=0;
- if (y>wmaxy) y=wmaxy; if (y<0) y=0;
-- state->x = (x * win.ws_col / wmaxx);
-- state->y = (y * win.ws_row / wmaxy);
-+ state->x = (x * console.max_x / wmaxx);
-+ state->y = (y * console.max_y / wmaxy);
-
- realposx = (x / wmaxx); /* this two lines come from the summa driver. */
- realposy = (y / wmaxy); /* they seem to be buggy (always give zero). */
-@@ -889,8 +773,8 @@
- if( abs(x-ox)>(wmaxx/wcmodell[WacomModell].treshold)
- || abs(y-oy)>(wmaxy/wcmodell[WacomModell].treshold) ) ox=x; oy=y;
-
-- state->dx= (x-ox) / (wmaxx / win.ws_col / wcmodell[WacomModell].treshold);
-- state->dy= (y-oy) / (wmaxy / win.ws_row / wcmodell[WacomModell].treshold);
-+ state->dx= (x-ox) / (wmaxx / console.max_x / wcmodell[WacomModell].treshold);
-+ state->dy= (y-oy) / (wmaxy / console.max_y / wcmodell[WacomModell].treshold);
- }
-
- ox=x; oy=y;
-@@ -918,7 +802,7 @@
- #define CAL_Y_MAX 0xF40
- #define CAL_Y_SIZE (CAL_Y_MAX - CAL_Y_MIN)
-
--static int M_calus(Gpm_Event *state, unsigned char *data)
-+static int M_calus(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- int x, y;
-
-@@ -932,12 +816,12 @@
- state->dx = 0; state->dy = 0;
-
- state->x = x < CAL_X_MIN ? 0
-- : x > CAL_X_MAX ? win.ws_col+1
-- : (long)(x-CAL_X_MIN) * (long)(win.ws_col-1) / CAL_X_SIZE+2;
-+ : x > CAL_X_MAX ? console.max_x+1
-+ : (long)(x-CAL_X_MIN) * (long)(console.max_x-1) / CAL_X_SIZE+2;
-
-- state->y = y < CAL_Y_MIN ? win.ws_row + 1
-+ state->y = y < CAL_Y_MIN ? console.max_y + 1
- : y > CAL_Y_MAX ? 0
-- : (long)(CAL_Y_MAX-y) * (long)win.ws_row / CAL_Y_SIZE + 1;
-+ : (long)(CAL_Y_MAX-y) * (long)console.max_y / CAL_Y_SIZE + 1;
-
- realposx = x < CAL_X_MIN ? 0
- : x > CAL_X_MAX ? 16384
-@@ -950,7 +834,7 @@
- return 0;
- }
-
--static int M_calus_rel(Gpm_Event *state, unsigned char *data)
-+static int M_calus_rel(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- static int ox=-1, oy;
- int x, y;
-@@ -984,7 +868,7 @@
- #define NCR_DELTA_X (NCR_RIGHT_X - NCR_LEFT_X)
- #define NCR_DELTA_Y (NCR_TOP_Y - NCR_BOTTOM_Y)
-
--static int M_ncr(Gpm_Event *state, unsigned char *data)
-+static int M_ncr(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- int x,y;
-
-@@ -1002,14 +886,14 @@
- state->x = x < NCR_LEFT_X
- ? 0
- : x > NCR_RIGHT_X
-- ? win.ws_col+1
-- : (long)(x-NCR_LEFT_X) * (long)(win.ws_col-1) / NCR_DELTA_X+2;
-+ ? console.max_x+1
-+ : (long)(x-NCR_LEFT_X) * (long)(console.max_x-1) / NCR_DELTA_X+2;
-
- state->y = y < NCR_BOTTOM_Y
-- ? win.ws_row + 1
-+ ? console.max_y + 1
- : y > NCR_TOP_Y
- ? 0
-- : (long)(NCR_TOP_Y-y) * (long)win.ws_row / NCR_DELTA_Y + 1;
-+ : (long)(NCR_TOP_Y-y) * (long)console.max_y / NCR_DELTA_Y + 1;
-
- realposx = x < NCR_LEFT_X
- ? 0
-@@ -1026,7 +910,7 @@
- return 0;
- }
-
--static int M_twid(Gpm_Event *state, unsigned char *data)
-+static int M_twid(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- unsigned long message=0UL; int i,h,v;
- static int lasth, lastv, lastkey, key, lock=0, autorepeat=0;
-@@ -1144,7 +1028,7 @@
- #ifdef HAVE_LINUX_JOYSTICK_H
- /* Joystick mouse emulation (David Given) */
-
--static int M_js(Gpm_Event *state, unsigned char *data)
-+static int M_js(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- struct JS_DATA_TYPE *jdata = (void*)data;
- static int centerx = 0;
-@@ -1193,21 +1077,21 @@
- #endif /* have joystick.h */
-
- /* Synaptics TouchPad mouse emulation (Henry Davies) */
--static int M_synaptics_serial(Gpm_Event *state, unsigned char *data)
-+static int M_synaptics_serial(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
-- syn_process_serial_data (state, data);
-+ syn_process_serial_data(dev->fd, state, data);
- return 0;
- }
-
-
- /* Synaptics TouchPad mouse emulation (Henry Davies) */
--static int M_synaptics_ps2(Gpm_Event *state, unsigned char *data)
-+static int M_synaptics_ps2(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
-- syn_process_ps2_data(state, data);
-+ syn_process_ps2_data(dev->fd, state, data);
- return 0;
- }
-
--static int M_mtouch(Gpm_Event *state, unsigned char *data)
-+static int M_mtouch(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- /*
- * This is a simple decoder for the MicroTouch touch screen
-@@ -1219,8 +1103,8 @@
- static int upx, upy; /* keep track of last finger-up place */
- static struct timeval uptv, tv; /* time of last up, and down events */
-
-- #define REAL_TO_XCELL(x) (x * win.ws_col / 0x3FFF)
-- #define REAL_TO_YCELL(y) (y * win.ws_row / 0x3FFF)
-+ #define REAL_TO_XCELL(x) (x * console.max_x / 0x3FFF)
-+ #define REAL_TO_YCELL(y) (y * console.max_y / 0x3FFF)
-
- #define GET_TIME(tv) (gettimeofday(&tv, (struct timezone *)NULL))
- #define DIF_TIME(t1,t2) ((t2.tv_sec -t1.tv_sec) *1000+ \
-@@ -1245,7 +1129,7 @@
-
- if (avgx < 0) { /* press event */
- GET_TIME(tv);
-- if (DIF_TIME(uptv, tv) < opt_time) {
-+ if (DIF_TIME(uptv, tv) < opt->time) {
- /* count as button press placed at finger-up pixel */
- state->buttons = GPM_B_LEFT;
- realposx = avgx = upx; state->x = REAL_TO_XCELL(realposx);
-@@ -1287,7 +1171,7 @@
- static int gunze_calib[4]; /* x0,y0 x1,y1 (measured at 1/8 and 7/8) */
- static int gunze_debounce = 100; /* milliseconds: ignore shorter taps */
-
--static int M_gunze(Gpm_Event *state, unsigned char *data)
-+static int M_gunze(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- /*
- * This generates button-1 events, by now.
-@@ -1300,8 +1184,8 @@
- static struct timeval uptv, tv; /* time of last up, and down events */
- int timediff;
-
-- #define REAL_TO_XCELL(x) (x * win.ws_col / 0x3FFF)
-- #define REAL_TO_YCELL(y) (y * win.ws_row / 0x3FFF)
-+ #define REAL_TO_XCELL(x) (x * console.max_x / 0x3FFF)
-+ #define REAL_TO_YCELL(y) (y * console.max_y / 0x3FFF)
-
- #define GET_TIME(tv) (gettimeofday(&tv, (struct timezone *)NULL))
- #define DIF_TIME(t1,t2) ((t2.tv_sec -t1.tv_sec) *1000+ \
-@@ -1350,7 +1234,7 @@
- GET_TIME(tv);
- timediff = DIF_TIME(uptv, tv);
- released = 0;
-- if (timediff > gunze_debounce && timediff < opt_time) {
-+ if (timediff > gunze_debounce && timediff < opt->time) {
- /* count as button press placed at finger-up pixel */
- dragging = 1;
- state->buttons = GPM_B_LEFT;
-@@ -1399,7 +1283,7 @@
- /* corresponding correction of the protocol identification */
- /* mask) 2001/07/12 by Maciej W. Rozycki (macro@ds2.pg.gda.pl) */
-
--static int M_vsxxx_aa(Gpm_Event *state, unsigned char *data)
-+static int M_vsxxx_aa(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
-
- /* The mouse protocol is as follows:
-@@ -1449,16 +1333,16 @@
- /* Genius Wizardpad tablet -- Matt Kimball (mkimball@xmission.com) */
- static int wizardpad_width = -1;
- static int wizardpad_height = -1;
--static int M_wp(Gpm_Event *state, unsigned char *data)
-+static int M_wp(struct micedev *dev, struct miceopt *opt, unsigned char *data, Gpm_Event *state)
- {
- int x, y, pressure;
-
- x = ((data[4] & 0x1f) << 12) | ((data[3] & 0x3f) << 6) | (data[2] & 0x3f);
-- state->x = x * win.ws_col / (wizardpad_width * 40);
-+ state->x = x * console.max_x / (wizardpad_width * 40);
- realposx = x * 16383 / (wizardpad_width * 40);
-
- y = ((data[7] & 0x1f) << 12) | ((data[6] & 0x3f) << 6) | (data[5] & 0x3f);
-- state->y = win.ws_row - y * win.ws_row / (wizardpad_height * 40) - 1;
-+ state->y = console.max_y - y * console.max_y / (wizardpad_height * 40) - 1;
- realposy = 16383 - y * 16383 / (wizardpad_height * 40) - 1;
-
- pressure = ((data[9] & 0x0f) << 4) | (data[8] & 0x0f);
-@@ -1475,11 +1359,9 @@
- /*========================================================================*/
- /* Then, mice should be initialized */
-
--static Gpm_Type* I_empty(int fd, unsigned short flags,
-- struct Gpm_Type *type, int argc, char **argv)
-+static int I_empty(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type)
- {
-- if (check_no_argv(argc, argv)) return NULL;
-- return type;
-+ return check_no_options(type->name, opt->text, ',') ? 0 : -1;
- }
-
- static int setspeed(int fd,int old,int new,int needtowrite,unsigned short flags)
-@@ -1536,28 +1418,27 @@
- {125,"Q"},
- {1E9,"N"}, };
-
--static Gpm_Type* I_serial(int fd, unsigned short flags,
-- struct Gpm_Type *type, int argc, char **argv)
-+static int I_serial(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type)
- {
- int i; unsigned char c;
- fd_set set; struct timeval timeout={0,0}; /* used when not debugging */
-
- /* accept "-o dtr", "-o rts" and "-o both" */
-- if (option_modem_lines(fd, argc, argv)) return NULL;
-+ if (option_modem_lines(dev->fd, type->name, opt->text)) return -1;
-
- #ifndef DEBUG
- /* flush any pending input (thanks, Miguel) */
- FD_ZERO(&set);
- for(i=0; /* always */ ; i++) {
-- FD_SET(fd,&set);
-- switch(select(fd+1,&set,(fd_set *)NULL,(fd_set *)NULL,&timeout/*zero*/)){
-- case 1: if (read(fd,&c,1)==0) break;
-+ FD_SET(dev->fd,&set);
-+ switch(select(dev->fd+1,&set,(fd_set *)NULL,(fd_set *)NULL,&timeout/*zero*/)){
-+ case 1: if (read(dev->fd,&c,1)==0) break;
- case -1: continue;
- }
- break;
- }
-
-- if (type->fun==M_logimsc) write(fd, "QU", 2 );
-+ if (type->fun==M_logimsc) write(dev->fd, "QU", 2 );
-
- #if 0 /* Did this ever work? -- I don't know, but should we not remove it,
- * if it doesn't work ??? -- Nico */
-@@ -1570,7 +1451,7 @@
-
- /* Non mman: change from any available speed to the chosen one */
- for (i=9600; i>=1200; i/=2)
-- setspeed(fd, i, opt_baud, (type->fun != M_mman) /* write */, flags);
-+ setspeed(dev->fd, i, opt->baud, (type->fun != M_mman) /* write */, type->flags);
-
- /*
- * reset the MouseMan/TrackMan to use the 3/4 byte protocol
-@@ -1578,51 +1459,50 @@
- * Changed after 1.14; why not having "I_mman" now?
- */
- if (type->fun==M_mman) {
-- setspeed(fd, 1200, 1200, 0, flags); /* no write */
-- write(fd, "*X", 2);
-- setspeed(fd, 1200, opt_baud, 0, flags); /* no write */
-- return type;
-+ setspeed(dev->fd, 1200, 1200, 0, type->flags); /* no write */
-+ write(dev->fd, "*X", 2);
-+ setspeed(dev->fd, 1200, opt->baud, 0, type->flags); /* no write */
-+ return 0;
- }
-
- if(type->fun==M_geni) {
- gpm_report(GPM_PR_INFO,GPM_MESS_INIT_GENI);
-- setspeed(fd, 1200, 9600, 1, flags); /* write */
-- write(fd, ":" ,1);
-- write(fd, "E" ,1); /* setup tablet. relative mode, resolution... */
-- write(fd, "@" ,1); /* setup tablet. relative mode, resolution... */
-+ setspeed(dev->fd, 1200, 9600, 1, type->flags); /* write */
-+ write(dev->fd, ":" ,1);
-+ write(dev->fd, "E" ,1); /* setup tablet. relative mode, resolution... */
-+ write(dev->fd, "@" ,1); /* setup tablet. relative mode, resolution... */
- }
-
- if (type->fun==M_synaptics_serial) {
- int packet_length;
-
-- setspeed (fd, 1200, 1200, 1, flags);
-- packet_length = syn_serial_init (fd);
-- setspeed (fd, 1200, 9600, 1, flags);
-+ setspeed (dev->fd, 1200, 1200, 1, type->flags);
-+ packet_length = syn_serial_init (dev->fd);
-+ setspeed (dev->fd, 1200, 9600, 1, type->flags);
-
- type->packetlen = packet_length;
- type->howmany = packet_length;
- }
-
- if (type->fun==M_vsxxx_aa) {
-- setspeed (fd, 4800, 4800, 0, flags); /* no write */
-- write(fd, "R", 1); /* initialize a mouse; without getting an "R" */
-+ setspeed (dev->fd, 4800, 4800, 0, type->flags); /* no write */
-+ write(dev->fd, "R", 1); /* initialize a mouse; without getting an "R" */
- /* a mouse does not send a bytestream */
- }
-
-- return type;
-+ return 0;
- }
-
--static Gpm_Type* I_logi(int fd, unsigned short flags,
-- struct Gpm_Type *type, int argc, char **argv)
-+static int I_logi(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type)
- {
- int i;
- struct stat buf;
- int busmouse;
-
-- if (check_no_argv(argc, argv)) return NULL;
-+ if (!check_no_options(type->name, opt->text, ',')) return -1;
-
- /* is this a serial- or a bus- mouse? */
-- if(fstat(fd,&buf)==-1) gpm_report(GPM_PR_OOPS,GPM_MESS_FSTAT);
-+ if(fstat(dev->fd,&buf)==-1) gpm_report(GPM_PR_OOPS,GPM_MESS_FSTAT);
- i=MAJOR(buf.st_rdev);
-
- /* I don't know why this is herein, but I remove it. I don't think a
-@@ -1635,21 +1515,20 @@
- type->howmany = busmouse ? 3 : 1;
-
- /* change from any available speed to the chosen one */
-- for (i=9600; i>=1200; i/=2) setspeed(fd, i, opt_baud, 1 /* write */, flags);
-+ for (i=9600; i>=1200; i/=2) setspeed(dev->fd, i, opt->baud, 1 /* write */, type->flags);
-
- /* this stuff is peculiar of logitech mice, also for the serial ones */
-- write(fd, "S", 1);
-- setspeed(fd, opt_baud, opt_baud, 1 /* write */,
-+ write(dev->fd, "S", 1);
-+ setspeed(dev->fd, opt->baud, opt->baud, 1 /* write */,
- CS8 |PARENB |PARODD |CREAD |CLOCAL |HUPCL);
-
- /* configure the sample rate */
-- for (i=0;opt_sample<=sampletab[i].sample;i++) ;
-- write(fd,sampletab[i].code,1);
-- return type;
-+ for (i=0;opt->sample<=sampletab[i].sample;i++) ;
-+ write(dev->fd,sampletab[i].code,1);
-+ return 0;
- }
-
--static Gpm_Type *I_wacom(int fd, unsigned short flags,
-- struct Gpm_Type *type, int argc, char **argv)
-+static int I_wacom(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type)
- {
- /* wacom graphire tablet */
- #define UD_RESETBAUD "\r$" /* reset baud rate to default (wacom V) */
-@@ -1664,19 +1543,19 @@
- {
- /* Init Wacom communication; this is modified from xf86Wacom.so module */
- /* Set speed to 19200 */
-- setspeed (fd, 1200, 19200, 0, B19200|CS8|CREAD|CLOCAL|HUPCL);
-+ setspeed (dev->fd, 1200, 19200, 0, B19200|CS8|CREAD|CLOCAL|HUPCL);
- /* Send Reset Baudrate Command */
-- write(fd, UD_RESETBAUD, strlen(UD_RESETBAUD));
-+ write(dev->fd, UD_RESETBAUD, strlen(UD_RESETBAUD));
- usleep(250000);
- /* Send Reset Command */
-- write(fd, UD_RESET, strlen(UD_RESET));
-+ write(dev->fd, UD_RESET, strlen(UD_RESET));
- usleep(75000);
- /* Set speed to 9600bps */
-- setspeed (fd, 1200, 9600, 0, B9600|CS8|CREAD|CLOCAL|HUPCL);
-+ setspeed (dev->fd, 1200, 9600, 0, B9600|CS8|CREAD|CLOCAL|HUPCL);
- /* Send Reset Command */
-- write(fd, UD_RESET, strlen(UD_RESET));
-+ write(dev->fd, UD_RESET, strlen(UD_RESET));
- usleep(250000);
-- write(fd, UD_STOP, strlen(UD_STOP));
-+ write(dev->fd, UD_STOP, strlen(UD_STOP));
- usleep(100000);
- }
-
-@@ -1690,7 +1569,7 @@
- struct timeval timeout;
- fd_set readfds;
- int err;
-- FD_ZERO(&readfds); FD_SET(fd, &readfds);
-+ FD_ZERO(&readfds); FD_SET(dev->fd, &readfds);
- timeout.tv_sec = 0; timeout.tv_usec = 200000;
- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout);
- return((err>0)?1:err);
-@@ -1706,11 +1585,11 @@
- * Get Data to buffer until full or timeout.
- * Give back 0 for timeout and !0 for buffer full
- */
-- if (cmd) write(fd,cmd,strlen(cmd));
-+ if (cmd) write(dev->fd,cmd,strlen(cmd));
- memset(buffer,0,sizeof(buffer)); p=buffer;
- err=wait_wacom();
- while (err != -1 && err && (p-buffer)<(sizeof(buffer)-1)) {
-- p+= read(fd,p,(sizeof(buffer)-1)-(p-buffer));
-+ p+= read(dev->fd,p,(sizeof(buffer)-1)-(p-buffer));
- err=wait_wacom();
- }
- /* return 1 for buffer full */
-@@ -1728,13 +1607,14 @@
- */
-
- /* accept boolean options absolute and relative */
-- static argv_helper optioninfo[] = {
-- {"absolute", ARGV_BOOL, u: {iptr: &WacomAbsoluteWanted}, value: !0},
-- {"relative", ARGV_BOOL, u: {iptr: &WacomAbsoluteWanted}, value: 0},
-- {"", ARGV_END}
-+ static struct option_helper optioninfo[] = {
-+ {"absolute", OPT_BOOL, u: {iptr: &WacomAbsoluteWanted}, value: !0},
-+ {"relative", OPT_BOOL, u: {iptr: &WacomAbsoluteWanted}, value: 0},
-+ {"", OPT_END}
- };
-- parse_argv(optioninfo, argc, argv);
-- type->absolute = WacomAbsoluteWanted;
-+
-+ parse_options(type->name, opt->text, ',', optioninfo);
-+ opt->absolute = WacomAbsoluteWanted;
- reset_wacom();
-
- /* "Flush" input queque */
-@@ -1756,7 +1636,7 @@
- }
- if(WacomModell >= (sizeof(wcmodell) / sizeof(struct WC_MODELL)))
- WacomModell=-1;
-- gpm_report(GPM_PR_INFO,GPM_MESS_WACOM_MOD, type->absolute? 'A':'R',
-+ gpm_report(GPM_PR_INFO,GPM_MESS_WACOM_MOD, opt->absolute? 'A':'R',
- (WacomModell==(-1))? "Unknown" : wcmodell[WacomModell].name,
- buffer+2);
-
-@@ -1767,24 +1647,23 @@
- wmaxx = (wmaxx-wcmodell[WacomModell].border);
- wmaxy = (wmaxy-wcmodell[WacomModell].border);
- }
-- write(fd,UD_SENDCOORDS,4);
-+ write(dev->fd,UD_SENDCOORDS,4);
-
-- return type;
-+ return 0;
- }
-
--static Gpm_Type *I_pnp(int fd, unsigned short flags,
-- struct Gpm_Type *type, int argc, char **argv)
-+static int I_pnp(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type)
- {
- struct termios tty;
-
- /* accept "-o dtr", "-o rts" and "-o both" */
-- if (option_modem_lines(fd, argc, argv)) return NULL;
-+ if (option_modem_lines(dev->fd, type->name, opt->text)) return -1;
-
- /*
- * Just put the device to 1200 baud. Thanks to Francois Chastrette
- * for his great help and debugging with his own pnp device.
- */
-- tcgetattr(fd, &tty);
-+ tcgetattr(dev->fd, &tty);
-
- tty.c_iflag = IGNBRK | IGNPAR;
- tty.c_oflag = 0;
-@@ -1792,15 +1671,15 @@
- tty.c_line = 0;
- tty.c_cc[VTIME] = 0;
- tty.c_cc[VMIN] = 1;
-- tty.c_cflag = flags | B1200;
-- tcsetattr(fd, TCSAFLUSH, &tty); /* set parameters */
-+ tty.c_cflag = type->flags | B1200;
-+ tcsetattr(dev->fd, TCSAFLUSH, &tty); /* set parameters */
-
- /*
- * Don't read the silly initialization string. I don't want to see
- * the vendor name: it is only propaganda, with no information.
- */
-
-- return type;
-+ return 0;
- }
-
- /*
-@@ -1848,8 +1727,7 @@
-
- /* intellimouse, ps2 version: Ben Pfaff and Colin Plumb */
- /* Autodetect: Steve Bennett */
--static Gpm_Type *I_imps2(int fd, unsigned short flags, struct Gpm_Type *type,
-- int argc, char **argv)
-+static int I_imps2(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type)
- {
- int id;
- static unsigned char basic_init[] = { GPM_AUX_ENABLE_DEV, GPM_AUX_SET_SAMPLE, 100 };
-@@ -1857,36 +1735,36 @@
- static unsigned char ps2_init[] = { GPM_AUX_SET_SCALE11, GPM_AUX_ENABLE_DEV, GPM_AUX_SET_SAMPLE, 100, GPM_AUX_SET_RES, 3, };
-
- /* Do a basic init in case the mouse is confused */
-- write_to_mouse(fd, basic_init, sizeof (basic_init));
-+ write_to_mouse(dev->fd, basic_init, sizeof (basic_init));
-
- /* Now try again and make sure we have a PS/2 mouse */
-- if (write_to_mouse(fd, basic_init, sizeof (basic_init)) != 0) {
-+ if (write_to_mouse(dev->fd, basic_init, sizeof (basic_init)) != 0) {
- gpm_report(GPM_PR_ERR,GPM_MESS_IMPS2_INIT);
-- return(NULL);
-+ return -1;
- }
-
- /* Try to switch to 3 button mode */
-- if (write_to_mouse(fd, imps2_init, sizeof (imps2_init)) != 0) {
-+ if (write_to_mouse(dev->fd, imps2_init, sizeof (imps2_init)) != 0) {
- gpm_report(GPM_PR_ERR,GPM_MESS_IMPS2_FAILED);
-- return(NULL);
-+ return -1;
- }
-
- /* Read the mouse id */
-- id = read_mouse_id(fd);
-+ id = read_mouse_id(dev->fd);
- if (id == GPM_AUX_ID_ERROR) {
- gpm_report(GPM_PR_ERR,GPM_MESS_IMPS2_MID_FAIL);
- id = GPM_AUX_ID_PS2;
- }
-
- /* And do the real initialisation */
-- if (write_to_mouse(fd, ps2_init, sizeof (ps2_init)) != 0) {
-+ if (write_to_mouse(dev->fd, ps2_init, sizeof (ps2_init)) != 0) {
- gpm_report(GPM_PR_ERR,GPM_MESS_IMPS2_SETUP_FAIL);
- }
-
- if (id == GPM_AUX_ID_IMPS2) {
- /* Really an intellipoint, so initialise 3 button mode (4 byte packets) */
- gpm_report(GPM_PR_INFO,GPM_MESS_IMPS2_AUTO);
-- return type;
-+ return 0;
- }
- if (id != GPM_AUX_ID_PS2) {
- gpm_report(GPM_PR_ERR,GPM_MESS_IMPS2_BAD_ID, id);
-@@ -1894,69 +1772,64 @@
- else gpm_report(GPM_PR_INFO,GPM_MESS_IMPS2_PS2);
-
- for (type=mice; type->fun; type++)
-- if (strcmp(type->name, "ps2") == 0) return(type);
-+ if (strcmp(type->name, "ps2") == 0) return 0;
-
- /* ps2 was not found!!! */
-- return(NULL);
-+ return -1;
- }
-
- /*
- * This works with Dexxa Optical Mouse, but because in X same initstring
- * is named ExplorerPS/2 so I named it in the same way.
- */
--static Gpm_Type *I_exps2(int fd, unsigned short flags,
-- struct Gpm_Type *type, int argc, char **argv)
-+static int I_exps2(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type)
- {
- static unsigned char s1[] = { 243, 200, 243, 200, 243, 80, };
-
-- if (check_no_argv(argc, argv)) return NULL;
-+ if (!check_no_options(type->name, opt->text, ',')) return -1;
-
-- write (fd, s1, sizeof (s1));
-+ write (dev->fd, s1, sizeof (s1));
- usleep (30000);
-- tcflush (fd, TCIFLUSH);
-- return type;
-+ tcflush (dev->fd, TCIFLUSH);
-+ return 0;
- }
-
--static Gpm_Type *I_twid(int fd, unsigned short flags,
-- struct Gpm_Type *type, int argc, char **argv)
-+static int I_twid(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type)
- {
-
-- if (check_no_argv(argc, argv)) return NULL;
-+ if (!check_no_options(type->name, opt->text, ',')) return -1;
-
-- if (twiddler_key_init() != 0) return NULL;
-+ if (twiddler_key_init() != 0) return -1;
- /*
- * the twiddler is a serial mouse: just drop dtr
- * and run at 2400 (unless specified differently)
- */
-- if(opt_baud==DEF_BAUD) opt_baud = 2400;
-- argv[1] = "dtr"; /* argv[1] is guaranteed to be NULL (this is dirty) */
-- return I_serial(fd, flags, type, argc, argv);
-+ if (opt->baud == DEF_BAUD) opt->baud = 2400;
-+ opt->text = "dtr";
-+ return I_serial(dev, opt, type);
- }
-
--static Gpm_Type *I_calus(int fd, unsigned short flags,
-- struct Gpm_Type *type, int argc, char **argv)
-+static int I_calus(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type)
- {
-- if (check_no_argv(argc, argv)) return NULL;
-+ if (!check_no_options(type->name, opt->text, ',')) return -1;
-
-- if (opt_baud == 1200) opt_baud=9600; /* default to 9600 */
-- return I_serial(fd, flags, type, argc, argv);
-+ if (opt->baud == 1200) opt->baud = 9600; /* default to 9600 */
-+ return I_serial(dev, opt, type);
- }
-
- /* synaptics touchpad, ps2 version: Henry Davies */
--static Gpm_Type *I_synps2(int fd, unsigned short flags,
-- struct Gpm_Type *type, int argc, char **argv)
-+static int I_synps2(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type)
- {
-- syn_ps2_init (fd);
-- return type;
-+ syn_ps2_init (dev->fd);
-+ return 0;
- }
-
-
--static Gpm_Type *I_summa(int fd, unsigned short flags,
-- struct Gpm_Type *type, int argc, char **argv)
-+static int I_summa(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type)
- {
- void resetsumma()
- {
-- write(fd,0,1); /* Reset */
-+ write(dev->fd,0,1); /* Reset */
- usleep(400000); /* wait */
- }
- int waitsumma()
-@@ -1964,7 +1837,7 @@
- struct timeval timeout;
- fd_set readfds;
- int err;
-- FD_ZERO(&readfds); FD_SET(fd, &readfds);
-+ FD_ZERO(&readfds); FD_SET(dev->fd, &readfds);
- timeout.tv_sec = 0; timeout.tv_usec = 200000;
- err = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout);
- return(err);
-@@ -1987,34 +1860,34 @@
- char GEN_MODELL=0x7f;
-
- /* Set speed to 9600bps */
-- setspeed (fd, 1200, 9600, 1, B9600|CS8|CREAD|CLOCAL|HUPCL|PARENB|PARODD);
-+ setspeed (dev->fd, 1200, 9600, 1, B9600|CS8|CREAD|CLOCAL|HUPCL|PARENB|PARODD);
- resetsumma();
-
-- write(fd, SS_PROMPT_MODE, strlen(SS_PROMPT_MODE));
-+ write(dev->fd, SS_PROMPT_MODE, strlen(SS_PROMPT_MODE));
-
- if (strstr(type->name,"acecad")!=NULL) summaid=11;
-
- if (summaid<0) { /* Summagraphics test */
- /* read the Summa Firm-ID */
-- write(fd, SS_FIRMID, strlen(SS_FIRMID));
-+ write(dev->fd, SS_FIRMID, strlen(SS_FIRMID));
- err=waitsumma();
- if (!((err == -1) || (!err))) {
- summaid=10; /* Original Summagraphics */
-- read(fd, buffer, 255); /* Read Firm-ID */
-+ read(dev->fd, buffer, 255); /* Read Firm-ID */
- }
- }
-
- if (summaid<0) { /* Genius-test */
- resetsumma();
-- write(fd,GEN_MMSERIES,1);
-- write(fd,&GEN_MODELL,1); /* Read modell */
-+ write(dev->fd,GEN_MMSERIES,1);
-+ write(dev->fd,&GEN_MODELL,1); /* Read modell */
- err=waitsumma();
- if (!((err == -1) || (!err))) { /* read Genius-ID */
- err=waitsumma();
- if (!((err == -1) || (!err))) {
- err=waitsumma();
- if (!((err == -1) || (!err))) {
-- read(fd,&config,1);
-+ read(dev->fd,&config,1);
- summaid=(config[0] & 224) >> 5; /* genius tablet-id (0-7)*/
- }
- }
-@@ -2024,30 +1897,29 @@
- /* unknown tablet ?*/
- if ((summaid<0) || (summaid==11)) {
- resetsumma();
-- write(fd, SS_BINARY_FMT SS_PROMPT_MODE, 3);
-+ write(dev->fd, SS_BINARY_FMT SS_PROMPT_MODE, 3);
- }
-
- /* read tablet size */
- err=waitsumma();
-- if (!((err == -1) || (!err))) read(fd,buffer,sizeof(buffer));
-- write(fd,SS_READCONFIG,1);
-- read(fd,&config,5);
-+ if (!((err == -1) || (!err))) read(dev->fd,buffer,sizeof(buffer));
-+ write(dev->fd,SS_READCONFIG,1);
-+ read(dev->fd,&config,5);
- summamaxx=(config[2]<<7 | config[1])-(SUMMA_BORDER*2);
- summamaxy=(config[4]<<7 | config[3])-(SUMMA_BORDER*2);
-
-- write(fd,SS_ABSOLUTE SS_STREAM_MODE SS_UPPER_ORIGIN,3);
-- if (summaid<0) write(fd,SS_500LPI SS_TABID0 SS_BINARY_FMT,4);
-+ write(dev->fd,SS_ABSOLUTE SS_STREAM_MODE SS_UPPER_ORIGIN,3);
-+ if (summaid<0) write(dev->fd,SS_500LPI SS_TABID0 SS_BINARY_FMT,4);
-
-- return type;
-+ return 0;
- }
-
--static Gpm_Type *I_mtouch(int fd, unsigned short flags,
-- struct Gpm_Type *type, int argc, char **argv)
-+static int I_mtouch(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type)
- {
- struct termios tty;
-
- /* Set speed to 9600bps (copied from I_summa, above :) */
-- tcgetattr(fd, &tty);
-+ tcgetattr(dev->fd, &tty);
- tty.c_iflag = IGNBRK | IGNPAR;
- tty.c_oflag = 0;
- tty.c_lflag = 0;
-@@ -2055,18 +1927,17 @@
- tty.c_cc[VTIME] = 0;
- tty.c_cc[VMIN] = 1;
- tty.c_cflag = B9600|CS8|CREAD|CLOCAL|HUPCL;
-- tcsetattr(fd, TCSAFLUSH, &tty);
-+ tcsetattr(dev->fd, TCSAFLUSH, &tty);
-
-
- /* Turn it to "format tablet" and "mode stream" */
-- write(fd,"\001MS\r\n\001FT\r\n",10);
-+ write(dev->fd,"\001MS\r\n\001FT\r\n",10);
-
-- return type;
-+ return 0;
- }
-
- /* simple initialization for the gunze touchscreen */
--static Gpm_Type *I_gunze(int fd, unsigned short flags,
-- struct Gpm_Type *type, int argc, char **argv)
-+static int I_gunze(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type)
- {
- struct termios tty;
- FILE *f;
-@@ -2075,29 +1946,29 @@
-
- #define GUNZE_CALIBRATION_FILE SYSCONFDIR "/gpm-calibration"
- /* accept a few options */
-- static argv_helper optioninfo[] = {
-- {"smooth", ARGV_INT, u: {iptr: &gunze_avg}},
-- {"debounce", ARGV_INT, u: {iptr: &gunze_debounce}},
-+ static struct option_helper optioninfo[] = {
-+ {"smooth", OPT_INT, u: {iptr: &gunze_avg}},
-+ {"debounce", OPT_INT, u: {iptr: &gunze_debounce}},
- /* FIXME: add corner tapping */
-- {"", ARGV_END}
-+ {"", OPT_END}
- };
-- parse_argv(optioninfo, argc, argv);
-+ parse_options(type->name, opt->text, ',', optioninfo);
-
- /* check that the baud rate is valid */
-- if (opt_baud == DEF_BAUD) opt_baud = 19200; /* force 19200 as default */
-- if (opt_baud != 9600 && opt_baud != 19200) {
-- gpm_report(GPM_PR_ERR,GPM_MESS_GUNZE_WRONG_BAUD,option.progname, argv[0]);
-- opt_baud = 19200;
-+ if (opt->baud == DEF_BAUD) opt->baud = 19200; /* force 19200 as default */
-+ if (opt->baud != 9600 && opt->baud != 19200) {
-+ gpm_report(GPM_PR_ERR, GPM_MESS_GUNZE_WRONG_BAUD, option.progname, type->name);
-+ opt->baud = 19200;
- }
-- tcgetattr(fd, &tty);
-+ tcgetattr(dev->fd, &tty);
- tty.c_iflag = IGNBRK | IGNPAR;
- tty.c_oflag = 0;
- tty.c_lflag = 0;
- tty.c_line = 0;
- tty.c_cc[VTIME] = 0;
- tty.c_cc[VMIN] = 1;
-- tty.c_cflag = (opt_baud == 9600 ? B9600 : B19200) |CS8|CREAD|CLOCAL|HUPCL;
-- tcsetattr(fd, TCSAFLUSH, &tty);
-+ tty.c_cflag = (opt->baud == 9600 ? B9600 : B19200) |CS8|CREAD|CLOCAL|HUPCL;
-+ tcsetattr(dev->fd, TCSAFLUSH, &tty);
-
- /* FIXME: try to find some information about the device */
-
-@@ -2120,19 +1991,18 @@
- gunze_calib[0] = gunze_calib[1] = 128; /* 1/8 */
- gunze_calib[2] = gunze_calib[3] = 896; /* 7/8 */
- }
-- return type;
-+ return 0;
- }
-
- /* Genius Wizardpad tablet -- Matt Kimball (mkimball@xmission.com) */
--static Gpm_Type *I_wp(int fd, unsigned short flags,
-- struct Gpm_Type *type, int argc, char **argv)
-+static int I_wp(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type)
- {
- struct termios tty;
- char tablet_info[256];
- int count, pos, size;
-
- /* Set speed to 9600bps (copied from I_summa, above :) */
-- tcgetattr(fd, &tty);
-+ tcgetattr(dev->fd, &tty);
- tty.c_iflag = IGNBRK | IGNPAR;
- tty.c_oflag = 0;
- tty.c_lflag = 0;
-@@ -2140,22 +2010,22 @@
- tty.c_cc[VTIME] = 0;
- tty.c_cc[VMIN] = 1;
- tty.c_cflag = B9600|CS8|CREAD|CLOCAL|HUPCL;
-- tcsetattr(fd, TCSAFLUSH, &tty);
-+ tcsetattr(dev->fd, TCSAFLUSH, &tty);
-
- /* Reset the tablet (':') and put it in remote mode ('S') so that
- it isn't sending anything to us. */
-- write(fd, ":S", 2);
-- tcsetattr(fd, TCSAFLUSH, &tty);
-+ write(dev->fd, ":S", 2);
-+ tcsetattr(dev->fd, TCSAFLUSH, &tty);
-
- /* Query the model of the tablet */
-- write(fd, "T", 1);
-+ write(dev->fd, "T", 1);
- sleep(1);
-- count = read(fd, tablet_info, 255);
-+ count = read(dev->fd, tablet_info, 255);
-
- /* The tablet information should start with "KW" followed by the rest of
- the model number. If it isn't there, it probably isn't a WizardPad. */
-- if(count < 2) return NULL;
-- if(tablet_info[0] != 'K' || tablet_info[1] != 'W') return NULL;
-+ if(count < 2) return -1;
-+ if(tablet_info[0] != 'K' || tablet_info[1] != 'W') return -1;
-
- /* Now, we want the width and height of the tablet. They should be
- of the form "X###" and "Y###" where ### is the number of units of
-@@ -2177,9 +2047,9 @@
- }
-
- /* Set the tablet to stream mode with 180 updates per sec. ('O') */
-- write(fd, "O", 1);
-+ write(dev->fd, "O", 1);
-
-- return type;
-+ return 0;
- }
-
- /*========================================================================*/
-@@ -2241,7 +2111,7 @@
- {0x80, 0x80, 0x80, 0x00}, 6, 6, 0, 0, 0},
- #ifdef HAVE_LINUX_INPUT_H
- {"evdev", "Linux Event Device",
-- "", M_evdev, I_empty, STD_FLG,
-+ "", M_evdev, I_evdev, STD_FLG,
- {0x00, 0x00, 0x00, 0x00} , 16, 16, 0, 0, NULL},
- #endif /* HAVE_LINUX_INPUT_H */
- {"exps2", "IntelliMouse Explorer (ps2) - 3 buttons, wheel unused",
-diff -urN gpm-1.20.1/src/optparser.c gpm/src/optparser.c
---- gpm-1.20.1/src/optparser.c 1969-12-31 19:00:00.000000000 -0500
-+++ gpm/src/optparser.c 2003-10-02 01:22:42.000000000 -0500
-@@ -0,0 +1,155 @@
-+/*
-+ * optparser.c - GPM mouse options parser
-+ *
-+ * Copyright (C) 1993 Andrew Haylett <ajh@gec-mrc.co.uk>
-+ * Copyright (C) 1994-2000 Alessandro Rubini <rubini@linux.it>
-+ * Copyright (C) 1998,1999 Ian Zimmerman <itz@rahul.net>
-+ * Copyright (C) 2001,2002 Nico Schottelius <nicos@pcsystems.de>
-+ * Copyright (C) 2003 Dmitry Torokhov <dtor@mail.ru>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-+ ********/
-+
-+#include <stdio.h>
-+#include <string.h>
-+#include <stdlib.h>
-+#include <ctype.h>
-+
-+#include "headers/gpmInt.h"
-+#include "headers/message.h"
-+#include "headers/optparser.h"
-+
-+int parse_options(const char *proto, const char *opts, char sep, struct option_helper *info)
-+{
-+ int len, n, n_opts = 0, errors = 0;
-+ long l;
-+ struct option_helper *p;
-+ char *s, *t, *str;
-+ int base; /* for strtol */
-+
-+ for (p = info; p->type != OPT_END; p++)
-+ p->present = 0;
-+
-+ if (!opts)
-+ return 0;
-+
-+ if (!(str = strdup(opts)))
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_ALLOC_FAILED);
-+
-+ /* split input string */
-+ for (s = str, n = 1; sep && (s = strchr(s, sep)); s++, n++)
-+ *s = '\0';
-+
-+ for (s = str; n; s += strlen(s) + 1, n--) {
-+ if (strlen(s) == 0)
-+ continue;
-+
-+ for (p = info; p->type != OPT_END; p++) {
-+ len = strlen(p->name);
-+ if (!strncmp(p->name, s, len) && !isalnum(s[len]))
-+ break;
-+ }
-+ if (p->type == OPT_END) { /* not found */
-+ gpm_report(GPM_PR_ERR, "%s: Uknown option \"%s\" for protocol \"%s\"\n",
-+ option.progname, s, proto);
-+ errors++;
-+ continue;
-+ }
-+ if (p->present) {
-+ gpm_report(GPM_PR_ERR, "%s: option \"%s\" has already been seen, ignored (\"%s\")\n",
-+ option.progname, s, proto);
-+ continue;
-+ }
-+ p->present = 1;
-+ n_opts++;
-+ /* Found. Look for trailing stuff, if any */
-+ s += len;
-+ while (*s && isspace(*s)) s++; /* skip spaces */
-+ if (*s == '=') s++; /* skip equal */
-+ while (*s && isspace(*s)) s++; /* skip other spaces */
-+
-+ /* Now parse what s is */
-+ base = 0;
-+ switch(p->type) {
-+ case OPT_BOOL:
-+ if (*s) {
-+ gpm_report(GPM_PR_ERR, GPM_MESS_OPTION_NO_ARG, option.progname, p->name, s);
-+ errors++;
-+ }
-+ *(p->u.iptr) = p->value;
-+ break;
-+
-+ case OPT_DEC:
-+ base = 10; /* and fall through */
-+
-+ case OPT_INT:
-+ if (*s == '\0') {
-+ gpm_report(GPM_PR_ERR, GPM_MESS_MISSING_ARG, option.progname, p->name);
-+ } else {
-+ l = strtol(s, &t, base);
-+ if (*t) {
-+ gpm_report(GPM_PR_ERR, GPM_MESS_INVALID_ARG, option.progname, s, p->name);
-+ errors++;
-+ break;
-+ }
-+ *(p->u.iptr) = (int)l;
-+ }
-+ break;
-+
-+ case OPT_STRING:
-+ if (*s == '\0')
-+ gpm_report(GPM_PR_ERR, GPM_MESS_MISSING_ARG, option.progname, p->name);
-+ else
-+ *(p->u.sptr) = strdup(s);
-+ break;
-+
-+ case OPT_END: /* let's please "-Wall" */
-+ break;
-+ }
-+ } /* for i in argc */
-+
-+ free(str);
-+
-+ if (errors) {
-+ gpm_report(GPM_PR_ERR,GPM_MESS_CONT_WITH_ERR, option.progname);
-+ return -errors;
-+ }
-+ return n_opts;
-+}
-+
-+int check_no_options(const char *proto, const char *opts, char sep)
-+{
-+ static struct option_helper info[] = {
-+ { "", OPT_END }
-+ };
-+
-+ return parse_options(proto, opts, sep, info) == 0;
-+}
-+
-+int is_option_present(struct option_helper *info, const char *name)
-+{
-+ struct option_helper *p;
-+ int len;
-+
-+ for (p = info; p->type != OPT_END; p++) {
-+ len = strlen(p->name);
-+ if (!strncmp(p->name, name, len) && !isalnum(name[len]))
-+ return p->present;
-+ }
-+
-+ gpm_report(GPM_PR_ERR, "%s: Uknown option \"%s\"\n", option.progname, name);
-+ return 0;
-+}
-+
-diff -urN gpm-1.20.1/src/prog/mouse-test.c gpm/src/prog/mouse-test.c
---- gpm-1.20.1/src/prog/mouse-test.c 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/src/prog/mouse-test.c 2003-10-02 01:22:42.000000000 -0500
-@@ -50,22 +50,9 @@
- #define max(a,b) ((a)>(b)?(a):(b))
- #endif
-
--
--/* this material is needed to pass options to mice.c */
--struct mouse_features mymouse = {
-- DEF_TYPE, DEF_DEV, DEF_SEQUENCE,
-- DEF_BAUD, DEF_SAMPLE, DEF_DELTA, DEF_ACCEL, DEF_SCALE, DEF_SCALE /*scaley*/,
-- DEF_TIME, DEF_CLUSTER, DEF_THREE, DEF_GLIDEPOINT_TAP,
-- (char *)NULL /* extra */,
-- (Gpm_Type *)NULL,
-- -1 /* fd */
--};
--
- /* and this is a workaroud */
- struct winsize win;
-
--struct mouse_features *which_mouse=&mymouse;
--
- char *progname;
- char *consolename;
- int devcount=0;
-@@ -78,9 +65,9 @@
-
- struct device {
- char *name;
-- int fd;
-+ struct micedev mdev;
- struct device *next;
--};
-+} *devlist;
-
- static int message(void)
- {
-@@ -148,47 +135,48 @@
- /*-----------------------------------------------------------------------------
- Place the description here.
- -----------------------------------------------------------------------------*/
--struct device **gpm_makedev(struct device **current, char *name)
-+void gpm_makedev(char *name)
- {
-- int fd; int modes;
-+ struct device *dev;
-+ int fd;
-+ int modes;
-+
- if ((fd=open(name,O_RDWR|O_NONBLOCK))==-1) {
- perror(name);
-- return current;
-- }
-- modes = fcntl(fd, F_GETFL);
-- if (0 > fcntl(fd, F_SETFL, modes & ~O_NONBLOCK)) {
-- close(fd);
-- perror(name);
-- return current;
-+ } else {
-+ modes = fcntl(fd, F_GETFL);
-+ if (0 > fcntl(fd, F_SETFL, modes & ~O_NONBLOCK)) {
-+ close(fd);
-+ perror(name);
-+ } else {
-+ dev = malloc(sizeof(struct device));
-+ if (!dev) gpm_report(GPM_PR_OOPS,"malloc()");
-+ dev->name=strdup(name);
-+ if (!dev->name) gpm_report(GPM_PR_OOPS,"malloc()");
-+ dev->mdev.fd=fd;
-+ dev->mdev.private = NULL;
-+ dev->next=devlist;
-+ devlist = dev;
-+ devcount++;
-+ }
- }
--
-- *current=malloc(sizeof(struct device));
-- if (!*current) gpm_report(GPM_PR_OOPS,"malloc()");
-- (*current)->name=strdup(name);
-- if (!(*current)->name) gpm_report(GPM_PR_OOPS,"malloc()");
-- (*current)->fd=fd;
-- (*current)->next=NULL;
-- devcount++;
-- return &((*current)->next);
- }
-
--Gpm_Type *(*I_serial)(int fd, unsigned short flags, struct Gpm_Type *type,
-- int argc, char **argv);
-+int (*I_serial)(struct micedev *dev, struct miceopt *opt, struct Gpm_Type *type);
-
-
- /*-----------------------------------------------------------------------------
- Place the description here.
- -----------------------------------------------------------------------------*/
--int mousereopen(int oldfd, char *name, Gpm_Type *type)
-+int mousereopen(struct micedev *dev, char *name, Gpm_Type *type, struct miceopt *opts)
- {
-- int fd;
- if (!type) type=mice+1; /* ms */
-- close(oldfd);
-+ close(dev->fd);
- usleep(100000);
-- fd=open(name,O_RDWR);
-- if (fd < 0) gpm_report(GPM_PR_OOPS,name);
-- (*I_serial)(fd,type->flags,type,1,&type->name); /* ms initialization */
-- return fd;
-+ dev->fd=open(name,O_RDWR);
-+ if (dev->fd < 0) gpm_report(GPM_PR_OOPS,name);
-+ I_serial(dev, opts, type); /* ms initialization */
-+ return dev->fd;
- }
-
- int noneofthem(void)
-@@ -281,10 +269,9 @@
- {
- struct item *list=NULL;
- struct item **nextitem;
-- struct device *devlist=NULL;
-- struct device **nextdev;
-+ struct device *nextdev;
- Gpm_Type *cursor;
-- int i, mousefd;
-+ int i;
- char *mousename;
- #define BUFLEN 512
- char buf[BUFLEN];
-@@ -294,6 +281,9 @@
- int trial, readamount,packetsize,got;
- int baudtab[4]={1200,9600,4800,2400};
- #define BAUD(i) (baudtab[(i)%4])
-+ struct miceopt opt = {0};
-+ struct micedev mdev = {0};
-+
- consolename = Gpm_get_console();
-
- if (!isatty(fileno(stdin))) {
-@@ -306,8 +296,8 @@
-
- /* init the list of possible devices */
-
-- for (nextdev=&devlist, i=1; i<argc; i++)
-- nextdev=gpm_makedev(nextdev,argv[i]);
-+ for (i=1; i<argc; i++)
-+ gpm_makedev(argv[i]);
-
- if (argc==1) { /* no cmdline, get all devices */
- FILE *f;
-@@ -320,7 +310,7 @@
- if (!f) gpm_report(GPM_PR_OOPS,"popen()");
- while (fgets(s,64,f)) {
- s[strlen(s)-1]='\0'; /* trim '\n' */
-- nextdev=gpm_makedev(nextdev,s);
-+ gpm_makedev(s);
- }
- pclose(f);
- }
-@@ -345,19 +335,18 @@
-
- /* BUG */ /* Logitech initialization is not performed */
-
-- opt_baud=BAUD(trial);
-- printf("\r\nTrying with %i baud\r\n",opt_baud);
-+ opt.baud=BAUD(trial);
-+ printf("\r\nTrying with %i baud\r\n",opt.baud);
- trial++;
-
- FD_ZERO(&devSet); FD_ZERO(&gotSet);
- FD_SET(fileno(stdin),&devSet); maxfd=fileno(stdin);
- printf("\r\n The possible device nodes are:\r\n");
-- for (nextdev=&devlist; *nextdev; nextdev=&((*nextdev)->next)) {
-- printf("\t%s\r\n", (*nextdev)->name);
-- FD_SET((*nextdev)->fd,&devSet);
-- maxfd=max((*nextdev)->fd,maxfd);
-- (*I_serial)((*nextdev)->fd,(mice+1)->flags,mice+1,
-- 1, &(mice+1)->name); /* try ms mode */
-+ for (nextdev=devlist; nextdev; nextdev=nextdev->next) {
-+ printf("\t%s\r\n", nextdev->name);
-+ FD_SET(nextdev->mdev.fd, &devSet);
-+ maxfd=max(nextdev->mdev.fd,maxfd);
-+ I_serial(&nextdev->mdev, &opt, mice+1); /* try ms mode */
- }
-
- savSet=devSet;
-@@ -379,43 +368,43 @@
- getchar();
- break;
- }
-- for (nextdev=&devlist; *nextdev; nextdev=&((*nextdev)->next))
-- if (FD_ISSET((*nextdev)->fd,&devSet)) {
-+ for (nextdev=devlist; nextdev; nextdev=nextdev->next)
-+ if (FD_ISSET(nextdev->mdev.fd,&devSet)) {
- gotthem++;
-- FD_CLR((*nextdev)->fd,&savSet);
-- FD_SET((*nextdev)->fd,&gotSet);
-+ FD_CLR(nextdev->mdev.fd,&savSet);
-+ FD_SET(nextdev->mdev.fd,&gotSet);
- }
- }
-- if (gotthem) for (nextdev=&devlist; *nextdev; /* nothing */ ) {
-- cur=*nextdev;
-- if (!FD_ISSET(cur->fd,&gotSet)) {
-+ if (gotthem) for (nextdev=devlist; nextdev; /* nothing */ ) {
-+ cur=nextdev;
-+ if (!FD_ISSET(cur->mdev.fd,&gotSet)) {
- printf("removing \"%s\" from the list\r\n",cur->name);
-- *nextdev=cur->next;
-- close(cur->fd);
-+ nextdev=cur->next;
-+ close(cur->mdev.fd);
- free(cur->name);
- free(cur);
- devcount--;
- } else {
-- read(cur->fd,buf,80); /* flush */
-- nextdev=&(cur->next); /* follow list */
-+ read(cur->mdev.fd,buf,80); /* flush */
-+ nextdev=cur->next; /* follow list */
- }
- }
-
- } /* devcount>1 */
-
-- mousefd=devlist->fd;
-+ mdev=devlist->mdev;
- mousename=devlist->name;
- free(devlist);
- printf("\r\nOk, so your mouse device is \"%s\"\r\n",mousename);
-
- /* now close and reopen it, complete with initialization */
-- opt_baud=BAUD(0);
-- mousefd=mousereopen(mousefd,mousename,NULL);
--
-+ opt.baud=BAUD(0);
-+ mousereopen(&mdev, mousename, NULL,&opt);
-+
- FD_ZERO(&checkSet);
-- FD_SET(mousefd,&checkSet);
-+ FD_SET(mdev.fd,&checkSet);
- FD_SET(fileno(stdin),&checkSet);
-- maxfd=max(mousefd,fileno(stdin));
-+ maxfd=max(mdev.fd, fileno(stdin));
-
- /*====================================== Identify mouse type */
-
-@@ -440,7 +429,7 @@
- printf("\r\nNow please press and release your left mouse button,\r\n"
- "one time only\r\n\r\n");
-
-- i=read(mousefd,buf,1);
-+ i=read(mdev.fd, buf, 1);
- if (i==-1 && errno==EINVAL)
- readamount=3;
- else
-@@ -466,7 +455,7 @@
- else
- nextitem=&(cur->next);
- }
-- read(mousefd,buf,BUFLEN); /* flush */
-+ read(mdev.fd, buf, BUFLEN); /* flush */
-
- /*====================================== Packet size - second step */
-
-@@ -484,12 +473,12 @@
- while (packetsize==1) {
- int success3=0,success5=0;
-
-- opt_baud=BAUD(trial);
-- printf("\tBaud rate is %i\r\n",opt_baud);
-- mousefd=mousereopen(mousefd,mousename,NULL);
-+ opt.baud=BAUD(trial);
-+ printf("\tBaud rate is %i\r\n",opt.baud);
-+ mousereopen(&mdev, mousename,NULL, &opt);
-
- printf("\r\n==> Detecting the packet size\r\n");
-- got=eventlist(mousefd,buf,BUFLEN,GPM_B_LEFT,readamount);
-+ got=eventlist(mdev.fd,buf,BUFLEN,GPM_B_LEFT,readamount);
-
- /* try three -- look at repeating arrays of 6 bytes */
- for (i=0;i<got-12;i++)
-@@ -512,8 +501,7 @@
- trial++;
- }
-
--/*====================================== Use that info to discard protocols */
--
-+/*====================================== Use that info to discard protocols */
- for (nextitem=&list; *nextitem; /* nothing */) {
- struct item *cur=*nextitem;
- int packetheads=0;
-@@ -530,7 +518,7 @@
- if ( ((buf[i] &(cur->this->proto)[0]) == (cur->this->proto)[1])
- && ((buf[i+1]&(cur->this->proto)[2]) == (cur->this->proto)[3]) ) {
- packetheads++;
-- if ((*(cur->this->fun))(&event,buf+i)==-1) {
-+ if ((*(cur->this->fun))(&mdev, &opt, buf+i, &event)==-1) {
- packetheads--;
- continue;
- }
-@@ -594,7 +582,7 @@
- * First trial: remove the "-t ms" extension if spurious buttons come in
- */
-
-- got=eventlist(mousefd,buf,BUFLEN,0,readamount);
-+ got=eventlist(mdev.fd,buf,BUFLEN,0,readamount);
- pending=0;
- for (nextitem=&list; *nextitem; /* nothing */) {
- struct item *cur=*nextitem;
-@@ -604,7 +592,7 @@
- for (i=0;i<got;i++) {
- if ( ((buf[i] &(cur->this->proto)[0]) == (cur->this->proto)[1])
- && ((buf[i+1]&(cur->this->proto)[2]) == (cur->this->proto)[3]) ) {
-- if ((*(cur->this->fun))(&event,buf+i)==-1) continue;
-+ if ((*(cur->this->fun))(&mdev, &opt, buf+i, &event)==-1) continue;
- i+=packetsize-1;
- if (event.buttons) pending--;
- }
-@@ -624,8 +612,8 @@
- */
-
- printf("\r\n==> Looking for '-t mman'and enhanced ms\r\n");
-- mousefd=mousereopen(mousefd,mousename, mice /* mman */);
-- got=eventlist(mousefd,buf,BUFLEN,GPM_B_MIDDLE,readamount);
-+ mousereopen(&mdev, mousename, mice /* mman */, &opt);
-+ got=eventlist(mdev.fd, buf, BUFLEN, GPM_B_MIDDLE, readamount);
-
- /* if it uses the 4-byte protocol, find it in a rude way */
- for (pending=0,i=0;i<got-16;i++)
-@@ -646,7 +634,7 @@
- for (i=0;i<got;i++) {
- if ( ((buf[i] &(cur->this->proto)[0]) == (cur->this->proto)[1])
- && ((buf[i+1]&(cur->this->proto)[2]) == (cur->this->proto)[3]) ) {
-- if ((*(cur->this->fun))(&event,buf+i)==-1) continue;
-+ if ((*(cur->this->fun))(&mdev,&opt,buf+i,&event)==-1) continue;
- i+=packetsize-1;
- if (event.buttons && event.buttons!=GPM_B_MIDDLE) pending--;
- if (event.buttons==GPM_B_MIDDLE) pending++;
-@@ -677,16 +665,16 @@
- char *Xtognames[3]={"'ClearDTR' and 'ClearRTS'","'ClearDTR'","'ClearRTS'"};
- int alllines,lines, index;
-
-- ioctl(mousefd, TIOCMGET, &alllines);
-+ ioctl(mdev.fd, TIOCMGET, &alllines);
-
- printf("\r\nSome mice change protocol to three-buttons-aware if some\r\n"
- "\r\ncontrol lines are toggled after opening\r\n");
- for (index=0;index<3;index++) {
-- mousereopen(mousefd,mousename,NULL);
-+ mousereopen(&mdev, mousename, NULL, &opt);
- lines = alllines & ~toggle[index];
-- ioctl(mousefd, TIOCMSET, &lines);
-+ ioctl(mdev.fd, TIOCMSET, &lines);
- printf("\r\n==> Trying with '-o %s'\r\n",tognames[index]);
-- got=eventlist(mousefd,buf,BUFLEN,GPM_B_MIDDLE,readamount);
-+ got=eventlist(mdev.fd, buf, BUFLEN, GPM_B_MIDDLE, readamount);
-
- /* if it uses the 5-byte protocol, find it in a rude way */
- for (pending=0,i=0;i<got-20;i++)
-@@ -717,7 +705,7 @@
-
- getchar();
-
-- got=eventlist(mousefd,buf,BUFLEN,GPM_B_MIDDLE,readamount);
-+ got=eventlist(mdev.fd,buf,BUFLEN,GPM_B_MIDDLE,readamount);
-
- /* if it uses the 5-byte protocol, find it in a rude way */
- for (pending=0,i=0;i<got-20;i++)
-diff -urN gpm-1.20.1/src/report.c gpm/src/report.c
---- gpm-1.20.1/src/report.c 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/src/report.c 2003-10-02 01:22:42.000000000 -0500
-@@ -31,6 +31,7 @@
-
- #include "headers/gpmInt.h"
- #include "headers/message.h"
-+#include "headers/console.h"
-
- /*
- * gpm_report
-@@ -70,7 +71,7 @@
-
- void gpm_report(int line, char *file, int stat, char *text, ... )
- {
-- FILE *console = NULL;
-+ FILE *f = NULL;
- va_list ap;
-
- va_start(ap,text);
-@@ -138,11 +139,11 @@
- syslog(LOG_DAEMON | LOG_WARNING, GPM_STRING_WARN);
- vsyslog(LOG_DAEMON | LOG_WARNING, text, ap);
- #endif
-- if((console = fopen(GPM_SYS_CONSOLE,"a")) != NULL) {
-- fprintf(console,GPM_STRING_WARN);
-- vfprintf(console,text,ap);
-- fprintf(console,"\n");
-- fclose(console);
-+ if ((f = fopen(GPM_SYS_CONSOLE, "a")) != NULL) {
-+ fprintf(f, GPM_STRING_WARN);
-+ vfprintf(f, text, ap);
-+ fprintf(f, "\n");
-+ fclose(f);
- }
- break;
-
-@@ -151,18 +152,18 @@
- syslog(LOG_DAEMON | LOG_ERR, GPM_STRING_ERR);
- vsyslog(LOG_DAEMON | LOG_ERR, text, ap);
- #endif
-- if((console = fopen(GPM_SYS_CONSOLE,"a")) != NULL) {
-- fprintf(console,GPM_STRING_ERR);
-- vfprintf(console,text,ap);
-- fprintf(console,"\n");
-- fclose(console);
-+ if ((f = fopen(GPM_SYS_CONSOLE, "a")) != NULL) {
-+ fprintf(f, GPM_STRING_ERR);
-+ vfprintf(f, text, ap);
-+ fprintf(f, "\n");
-+ fclose(f);
- }
-
-- if((console = fopen(option.consolename,"a")) != NULL) {
-- fprintf(console,GPM_STRING_ERR);
-- vfprintf(console,text,ap);
-- fprintf(console,"\n");
-- fclose(console);
-+ if ((f = fopen(console.device, "a")) != NULL) {
-+ fprintf(f, GPM_STRING_ERR);
-+ vfprintf(f, text, ap);
-+ fprintf(f, "\n");
-+ fclose(f);
- }
- break;
-
-@@ -184,24 +185,24 @@
- case GPM_RUN_DEBUG:
- switch(stat) {
- case GPM_STAT_INFO:
-- console = stdout;
-- fprintf(console,GPM_STRING_INFO); break;
-+ f = stdout;
-+ fprintf(f, GPM_STRING_INFO); break;
- case GPM_STAT_WARN:
-- console = stderr;
-- fprintf(console,GPM_STRING_WARN); break;
-+ f = stderr;
-+ fprintf(f, GPM_STRING_WARN); break;
- case GPM_STAT_ERR:
-- console = stderr;
-- fprintf(console,GPM_STRING_ERR); break;
-+ f = stderr;
-+ fprintf(f, GPM_STRING_ERR); break;
- case GPM_STAT_DEBUG:
-- console = stderr;
-- fprintf(console,GPM_STRING_DEBUG); break;
-+ f = stderr;
-+ fprintf(f, GPM_STRING_DEBUG); break;
- case GPM_STAT_OOPS:
-- console = stderr;
-- fprintf(console,GPM_STRING_OOPS); break;
-+ f = stderr;
-+ fprintf(f, GPM_STRING_OOPS); break;
- }
-
-- vfprintf(console,text,ap);
-- fprintf(console,"\n");
-+ vfprintf(f, text, ap);
-+ fprintf(f, "\n");
-
- if(stat == GPM_STAT_OOPS) exit(1);
-
-diff -urN gpm-1.20.1/src/selection.c gpm/src/selection.c
---- gpm-1.20.1/src/selection.c 1969-12-31 19:00:00.000000000 -0500
-+++ gpm/src/selection.c 2003-10-02 01:22:42.000000000 -0500
-@@ -0,0 +1,156 @@
-+/*
-+ * console.c - GPM console and selection/paste handling
-+ *
-+ * Copyright (C) 1993 Andreq Haylett <ajh@gec-mrc.co.uk>
-+ * Copyright (C) 1994-1999 Alessandro Rubini <rubini@linux.it>
-+ * Copyright (C) 1998 Ian Zimmerman <itz@rahul.net>
-+ * Copyright (c) 2001,2002 Nico Schottelius <nico@schottelius.org>
-+ * Copyright (c) 2003 Dmitry Torokhov <dtor@mail.ru>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-+ ********/
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h> /* strerror(); ?!? */
-+#include <errno.h>
-+#include <unistd.h> /* select(); */
-+#include <time.h> /* time() */
-+#include <sys/fcntl.h> /* O_RDONLY */
-+#include <sys/stat.h> /* mkdir() */
-+#include <asm/types.h> /* __u32 */
-+
-+#include <linux/vt.h> /* VT_GETSTATE */
-+#include <sys/kd.h> /* KDGETMODE */
-+#include <termios.h> /* winsize */
-+
-+#include "headers/gpmInt.h"
-+#include "headers/message.h"
-+#include "headers/console.h"
-+#include "headers/selection.h"
-+
-+struct sel_options sel_opts = { 0, 0, DEF_PTRDRAG };
-+static time_t last_selection_time;
-+
-+/*-------------------------------------------------------------------*/
-+static void selection_copy(int x1, int y1, int x2, int y2, int mode)
-+{
-+/*
-+ * The approach in "selection" causes a bus error when run under SunOS 4.1
-+ * due to alignment problems...
-+ */
-+ unsigned char buf[6 * sizeof(short)];
-+ unsigned short *arg = (unsigned short *)buf + 1;
-+ int fd;
-+
-+ buf[sizeof(short) - 1] = 2; /* set selection */
-+
-+ arg[0] = (unsigned short)x1;
-+ arg[1] = (unsigned short)y1;
-+ arg[2] = (unsigned short)x2;
-+ arg[3] = (unsigned short)y2;
-+ arg[4] = (unsigned short)mode;
-+
-+ if ((fd = open_console(O_WRONLY)) < 0)
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_OPEN_CON);
-+
-+ gpm_report(GPM_PR_DEBUG, "ctl %i, mode %i", (int)*buf, arg[4]);
-+ if (ioctl(fd, TIOCLINUX, buf + sizeof(short) - 1) < 0)
-+ gpm_report(GPM_PR_OOPS,GPM_MESS_IOCTL_TIOCLINUX);
-+ close(fd);
-+
-+ if (mode < 3) {
-+ sel_opts.aged = 0;
-+ last_selection_time = time(0);
-+ }
-+}
-+
-+/*-------------------------------------------------------------------*/
-+static void selection_paste(void)
-+{
-+ char c = 3;
-+ int fd;
-+
-+ if (!sel_opts.aged &&
-+ sel_opts.age_limit != 0 &&
-+ last_selection_time + sel_opts.age_limit < time(0)) {
-+ sel_opts.aged = 1;
-+ }
-+
-+ if (sel_opts.aged) {
-+ gpm_report(GPM_PR_DEBUG, GPM_MESS_SKIP_PASTE);
-+ } else {
-+ fd = open_console(O_WRONLY);
-+ if (ioctl(fd, TIOCLINUX, &c) < 0)
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_IOCTL_TIOCLINUX);
-+ close(fd);
-+ }
-+}
-+
-+/*-------------------------------------------------------------------*/
-+void do_selection(Gpm_Event *event, int three_button_mode)
-+{
-+ static int x1 = 1, y1 = 1;
-+ int x2, y2;
-+
-+ x2 = event->x; y2 = event->y;
-+ switch(GPM_BARE_EVENTS(event->type)) {
-+ case GPM_MOVE:
-+ if (x2 < 1) x2++; else if (x2 > console.max_x) x2--;
-+ if (y2 < 1) y2++; else if (y2 > console.max_y) y2--;
-+ selection_copy(x2, y2, x2, y2, 3); /* just highlight pointer */
-+ break;
-+
-+ case GPM_DRAG:
-+ if (event->buttons == GPM_B_LEFT) {
-+ switch(event->margin) { /* fix margins */
-+ case GPM_TOP: x2 = 1; y2++; break;
-+ case GPM_BOT: x2 = console.max_x; y2--; break;
-+ case GPM_RGT: x2--; break;
-+ case GPM_LFT: y2 <= y1 ? x2++ : (x2 = console.max_x, y2--); break;
-+ default: break;
-+ }
-+ selection_copy(x1, y1, x2, y2, event->clicks);
-+ if (event->clicks >= sel_opts.ptrdrag && !event->margin) /* pointer */
-+ selection_copy(x2, y2, x2, y2, 3);
-+ } /* if */
-+ break;
-+
-+ case GPM_DOWN:
-+ switch (event->buttons) {
-+ case GPM_B_LEFT:
-+ x1 = x2; y1 = y2;
-+ selection_copy(x1, y1, x2, y2, event->clicks); /* start selection */
-+ break;
-+
-+ case GPM_B_MIDDLE:
-+ selection_paste();
-+ break;
-+
-+ case GPM_B_RIGHT:
-+ if (three_button_mode == 1)
-+ selection_copy(x1, y1, x2, y2, event->clicks);
-+ else
-+ selection_paste();
-+ break;
-+ }
-+ } /* switch above */
-+}
-+
-+/*-------------------------------------------------------------------*/
-+void selection_disable_paste(void)
-+{
-+ sel_opts.aged = 1;
-+}
-diff -urN gpm-1.20.1/src/server_tools.c gpm/src/server_tools.c
---- gpm-1.20.1/src/server_tools.c 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/src/server_tools.c 2003-10-02 01:22:42.000000000 -0500
-@@ -21,151 +21,80 @@
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
- ********/
-
-+#include <string.h>
-+#include <stdlib.h> /* malloc() */
-+#include <sys/fcntl.h>
-+
- #include "headers/gpmInt.h"
- #include "headers/message.h"
-
--#include <stdlib.h> /* malloc() */
-+struct micetab *micelist;
-
--/* DESCR: add this to the list of mice. initialization follows later */
--/* RETURN: - */
-+/* DESCR: allocate a new mouse and to the list of mice. initialization follows later */
-+/* RETURN: new mouse structure */
- /* COMMENT: does error handling and exiting itself */
--void add_mouse(int type, char *value)
-+struct micetab *add_mouse(void)
- {
-- struct micetab *tmp = option.micelist;
-+ struct micetab *mouse;
-
-- /* PREAMBLE for all work: */
-- /* -m /dev/misc/psaux -t ps2 [ -o options ] */
-+ gpm_report(GPM_PR_DEBUG, "adding mouse device");
-+ if (!(mouse = malloc(sizeof(struct micetab))))
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_NO_MEM);
-+
-+ memset(mouse, 0, sizeof(struct micetab));
-+
-+ mouse->dev.timeout = -1;
-+
-+ mouse->options.sequence = NULL;
-+ mouse->options.sample = DEF_SAMPLE;
-+ mouse->options.delta = DEF_DELTA;
-+ mouse->options.accel = DEF_ACCEL;
-+ mouse->options.scalex = DEF_SCALE;
-+ mouse->options.scaley = DEF_SCALE;
-+ mouse->options.time = DEF_TIME;
-+ mouse->options.cluster = DEF_CLUSTER;
-+ mouse->options.three_button = DEF_THREE;
-+ mouse->options.glidepoint_tap = DEF_GLIDEPOINT_TAP;
-+ mouse->options.text = NULL;
-
-- switch(type) {
-+ mouse->next = micelist;
-+ micelist = mouse;
-
-- /*---------------------------------------------------------------------*/
-- /********************** -m mousedevice *********************************/
-- /*---------------------------------------------------------------------*/
--
-- case GPM_ADD_DEVICE:
--
-- /* first invocation */
-- if(option.micelist == NULL) {
-- gpm_report(GPM_PR_DEBUG,"adding mouse device: %s",value);
-- option.micelist = (struct micetab *) malloc(sizeof(struct micetab));
-- if(!option.micelist) gpm_report(GPM_PR_OOPS,GPM_MESS_NO_MEM);
-- option.micelist->next = NULL;
-- option.micelist->device = value;
-- option.micelist->protocol = NULL;
-- option.micelist->options = NULL;
-- return;
-- }
--
-- /* find actual mouse */
-- while(tmp->device != NULL && tmp->protocol != NULL && tmp->next !=NULL)
-- tmp = tmp->next;
--
-- gpm_report(GPM_PR_DEBUG,"finished searching");
--
-- /* found end of micelist, add new mouse */
-- if(tmp->next == NULL && tmp->protocol != NULL) {
-- gpm_report(GPM_PR_DEBUG,"next mouse making");
-- tmp->next = (struct micetab *) malloc(sizeof(struct micetab));
-- if(!tmp) gpm_report(GPM_PR_OOPS,GPM_MESS_NO_MEM);
-- tmp->next = NULL;
-- tmp->device = value;
-- tmp->protocol = NULL;
-- tmp->options = NULL;
-- return;
-- } else gpm_report(GPM_PR_OOPS,GPM_MESS_FIRST_DEV);
--
-- //} else if(tmp->device != NULL && tmp->protocol == NULL)
-- // gpm_report(GPM_PR_OOPS,GPM_MESS_FIRST_DEV); /* -m -m */
--
--
-- break;
--
-- /*---------------------------------------------------------------------*/
-- /************************* -t type / protocol **************************/
-- /*---------------------------------------------------------------------*/
--
-- case GPM_ADD_TYPE:
-- if(option.micelist == NULL) gpm_report(GPM_PR_OOPS,GPM_MESS_FIRST_DEV);
--
-- /* skip to next mouse, where either device or protocol is missing */
-- while(tmp->device != NULL && tmp->protocol != NULL && tmp->next !=NULL)
-- tmp = tmp->next;
--
-- /* check whether device (-m) is there, if so, write protocol */
-- if(tmp->device == NULL) gpm_report(GPM_PR_OOPS,GPM_MESS_FIRST_DEV);
-- else {
-- gpm_report(GPM_PR_DEBUG,"adding mouse type: %s",value);
-- tmp->protocol = value;
-- option.no_mice++; /* finally we got our mouse */
-- }
--
-- break;
--
-- /*---------------------------------------------------------------------*/
-- /*************************** -o options ********************************/
-- /*---------------------------------------------------------------------*/
--
-- case GPM_ADD_OPTIONS:
-- if(option.micelist == NULL) gpm_report(GPM_PR_OOPS,GPM_MESS_FIRST_DEV);
--
-- /* look for the last mouse */
-- tmp = option.micelist;
-- while(tmp->next != NULL) tmp = tmp->next;
--
-- /* if -m or -t are missing exit */
-- if(tmp->device == NULL || tmp->protocol == NULL)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_FIRST_DEV);
-- else {
-- gpm_report(GPM_PR_DEBUG,"adding mouse options: %s",value);
-- tmp->options = value;
-- }
-- break;
-- }
-+ return mouse;
- }
-
--/* DESCR: mice initialization. currently print mice. */
--/* RETURN: 0 - failed to init one or more devices
-- 1 - init was fine */
-+/* DESCR: mice initialization. calls appropriate init functions. */
- /* COMMENT: does error handling and exiting itself */
--int init_mice(struct micetab *micelist)
-+void init_mice(void)
- {
-- struct micetab *tmp = micelist;
-+ struct micetab *mouse;
-+
-+ for (mouse = micelist; mouse; mouse = mouse->next) {
-+ if (!strcmp(mouse->device, "-"))
-+ mouse->dev.fd = 0; /* use stdin */
-+ else if ((mouse->dev.fd = open(mouse->device, O_RDWR | O_NDELAY)) < 0)
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_OPEN, mouse->device);
-
-- while(tmp != NULL) { /* there are still mice to init */
-- gpm_report(GPM_PR_DEBUG,"initialize %s with proto %s",tmp->device,tmp->protocol);
-- if(tmp->options != NULL) {
-- gpm_report(GPM_PR_DEBUG,"and options %s",tmp->options);
-- }
-- tmp = tmp->next;
-+ /* and then reset the flag */
-+ fcntl(mouse->dev.fd, F_SETFL, fcntl(mouse->dev.fd, F_GETFL) & ~O_NDELAY);
-+
-+ /* init the device, and use the return value as new mouse type */
-+ if (mouse->type->init)
-+ if (mouse->type->init(&mouse->dev, &mouse->options, mouse->type))
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_MOUSE_INIT);
- }
--
-- gpm_report(GPM_PR_DEBUG,"finished initialization");
-- return 1;
- }
-
- /* DESCR: when leaving, we should reset mice to their normal state */
--/* RETURN: 0 - failed to reset one or more devices
-- 1 - reset was fine */
- /* COMMENT: does error handling and exiting itself */
--int reset_mice(struct micetab *micelist)
-+void cleanup_mice(void)
- {
-- struct micetab *tmp = micelist;
-- struct micetab *end = tmp;
--
-- while(tmp != NULL) { /* FIXME! I never get NULL, as free()d before */
-- end = tmp;
-- while(tmp->next != NULL) { /* set end to the last mouse */
-- end = tmp;
-- tmp = tmp->next;
-- }
--
-- gpm_report(GPM_PR_DEBUG,"reset: %s with proto %s",end->device,end->protocol);
-- if(tmp->options != NULL) {
-- gpm_report(GPM_PR_DEBUG,"and options %s",end->options);
-- }
-- free(end); /* be clean() */
-- tmp = micelist; /* reset to the first mice again */
-+ struct micetab *tmp;
-+
-+ while ((tmp = micelist)) {
-+ if (micelist->dev.private)
-+ free(micelist->dev.private);
-+ micelist = micelist->next;
-+ free(tmp);
- }
--
-- return 1;
- }
-diff -urN gpm-1.20.1/src/special.c gpm/src/special.c
---- gpm-1.20.1/src/special.c 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/src/special.c 2003-10-02 01:22:42.000000000 -0500
-@@ -37,6 +37,7 @@
- #include <sys/param.h>
-
- #include "headers/gpmInt.h"
-+#include "headers/console.h"
-
- /*
- * This function is only called at button press, to avoid unnecessary
-@@ -78,7 +79,7 @@
- return 1;
-
- /* devfs change */
-- consolef=fopen(option.consolename,"w");
-+ consolef = fopen(console.device, "w");
- if (!consolef) consolef=stderr;
- if (event->type & GPM_TRIPLE) /* just triggered: make noise and return */
- {
-@@ -153,7 +154,7 @@
- case 0: /* child */
- close(0); close(1); close(2);
- open(GPM_NULL_DEV,O_RDONLY); /* stdin */
-- open(option.consolename,O_WRONLY); /* stdout */
-+ open(console.device, O_WRONLY); /* stdout */
- dup(1); /* stderr */
- for (i=3;i<OPEN_MAX; i++) close(i);
- execl("/bin/sh","sh","-c",command,(char *)NULL);
-diff -urN gpm-1.20.1/src/startup.c gpm/src/startup.c
---- gpm-1.20.1/src/startup.c 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/src/startup.c 2003-10-02 01:22:42.000000000 -0500
-@@ -26,6 +26,7 @@
- #include <string.h> /* strlen() */
- #include <errno.h> /* errno */
- #include <unistd.h> /* unlink,geteuid */
-+#include <signal.h>
- #include <sys/types.h> /* geteuid, mknod */
- #include <sys/stat.h> /* mknod */
- #include <fcntl.h> /* mknod */
-@@ -34,11 +35,13 @@
-
- #include "headers/gpmInt.h"
- #include "headers/message.h"
-+#include "headers/console.h"
-+#include "headers/selection.h"
-
- /* what todo atexit */
- static void gpm_exited(void)
- {
-- gpm_report(GPM_PR_DEBUG,GPM_MESS_REMOVE_FILES, GPM_NODE_PID, GPM_NODE_CTL);
-+ gpm_report(GPM_PR_DEBUG, GPM_MESS_REMOVE_FILES, GPM_NODE_PID, GPM_NODE_CTL);
- unlink(GPM_NODE_PID);
- unlink(GPM_NODE_CTL);
- }
-@@ -48,34 +51,12 @@
- extern struct options option;
- extern int errno;
-
-- int i,opt;
--
-- static struct {
-- char *in;
-- char *out;
-- } seq[] = {
-- {"123","01234567"},
-- {"132","02134657"},
-- {"213","01452367"}, /* warning: these must be readable as integers... */
-- {"231","02461357"},
-- {"312","04152637"},
-- {"321","04261537"},
-- {NULL,NULL}
-- };
--
- /* basic settings */
- option.run_status = GPM_RUN_STARTUP; /* 10,9,8,... let's go */
- option.autodetect = 0; /* no mouse autodection */
- option.progname = argv[0]; /* who we are */
-- option.consolename = Gpm_get_console(); /* get consolename */
--
-- /* basic2: are not necessary for oops()ing, if not root */
-- option.no_mice = 0; /* counts -m + -t */
-- option.micelist = NULL; /* no mice found yet */
-- option.repeater = 0; /* repeat data */
-- option.repeater_type = NULL; /* type of */
--
-
-+ get_console_name();
- cmdline(argc, argv); /* parse command line */
-
- if (geteuid() != 0) gpm_report(GPM_PR_OOPS,GPM_MESS_ROOT); /* root or exit */
-@@ -87,54 +68,18 @@
- /****************** OLD CODE from gpn.c ***********************/
-
- openlog(option.progname, LOG_PID,
-- option.run_status != GPM_RUN_DEBUG ? LOG_DAEMON : LOG_USER);
-- loadlut(opt_lut);
--
-- if (option.repeater) {
-- if(mkfifo(GPM_NODE_FIFO,0666) && errno!=EEXIST)
-- gpm_report(GPM_PR_OOPS,GPM_MESS_CREATE_FIFO,GPM_NODE_FIFO);
-- if((fifofd=open(GPM_NODE_FIFO, O_RDWR|O_NONBLOCK)) < 0)
-- gpm_report(GPM_PR_OOPS, GPM_MESS_OPEN, GPM_NODE_FIFO);
-- }
--
-- /* duplicate initialization */
-- for (i=1; i <= 1+opt_double; i++) {
-- which_mouse=mouse_table+i; /* used to access options */
-- if (opt_accel < 1) exit(usage("acceleration"));
-- if (opt_delta < 2) exit(usage("delta"));
-- if (strlen(opt_sequence) != 3 || atoi(opt_sequence)<100)
-- exit(usage("sequence"));
-- if (opt_glidepoint_tap > 3) exit(usage("glidepoint tap button"));
-- if (opt_glidepoint_tap)
-- opt_glidepoint_tap=GPM_B_LEFT >> (opt_glidepoint_tap-1);
--
-- /* choose the sequence */
-- for (opt=0; seq[opt].in && strcmp(seq[opt].in,opt_sequence); opt++) ;
-- if(!seq[opt].in) exit(usage("button sequence"));
-- opt_sequence=strdup(seq[opt].out); /* I can rewrite on it */
--
-- /* look for the mouse type */
-- m_type = find_mouse_by_name(opt_type);
-- if (!m_type) /* not found */
-- exit(M_listTypes());
-- }
-+ option.run_status != GPM_RUN_DEBUG ? LOG_DAEMON : LOG_USER);
-
-- /* Check repeater status */
-- if (option.repeater) {
-- if (strcmp(option.repeater_type,"raw") == 0)
-- opt_rawrep = 1;
-- else {
-- /* look for the type */
-- repeated_type = find_mouse_by_name(option.repeater_type);
-+ console_load_lut();
-
-- if(!repeated_type) exit(M_listTypes()); /* not found */
--
-- if (!(repeated_type->repeat_fun)) /* unsupported translation */
-- gpm_report(GPM_PR_OOPS,GPM_MESS_NO_REPEAT,option.repeater_type);
-- }
-+ if (repeater.raw || repeater.type) {
-+ if (mkfifo(GPM_NODE_FIFO, 0666) && errno != EEXIST)
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_CREATE_FIFO, GPM_NODE_FIFO);
-+ if ((repeater.fd = open(GPM_NODE_FIFO, O_RDWR|O_NONBLOCK)) < 0)
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_OPEN, GPM_NODE_FIFO);
- }
-
-- if(option.run_status == GPM_RUN_STARTUP ) { /* else is debugging */
-+ if(option.run_status == GPM_RUN_STARTUP) { /* else is debugging */
- /* goto background and become a session leader (Stefan Giessler) */
- switch(fork()) {
- case -1: gpm_report(GPM_PR_OOPS,GPM_MESS_FORK_FAILED); /* error */
-@@ -152,13 +97,63 @@
- /* is changing to root needed, because of relative paths ? or can we just
- * remove and ignore it ?? FIXME */
- if (chdir("/") < 0) gpm_report(GPM_PR_OOPS,GPM_MESS_CHDIR_FAILED);
--
-
-- //return mouse_table[1].fd; /* the second is handled in the main() */
-+ atexit(gpm_exited); /* call gpm_exited at the end */
-+}
-
-- /****************** OLD CODE from gpn.c END ***********************/
-+/* itz Sat Sep 12 10:30:05 PDT 1998 this function used to mix two
-+ completely different things; opening a socket to a running daemon
-+ and checking that a running daemon existed. Ugly. */
-+/* rewritten mostly on 20th of February 2002 - nico */
-+void check_uniqueness(void)
-+{
-+ FILE *fp = 0;
-+ int old_pid = -1;
-
-- init_mice(option.micelist); /* reads option.micelist */
-- atexit(gpm_exited); /* call gpm_exited at the end */
-+ if ((fp = fopen(GPM_NODE_PID, "r")) != NULL) {
-+ fscanf(fp, "%d", &old_pid);
-+ if (kill(old_pid, 0) == -1) {
-+ gpm_report(GPM_PR_INFO,GPM_MESS_STALE_PID, GPM_NODE_PID);
-+ unlink(GPM_NODE_PID);
-+ } else /* we are really running, exit asap! */
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_ALREADY_RUN, old_pid);
-+ }
-+ /* now try to sign ourself */
-+ if ((fp = fopen(GPM_NODE_PID,"w")) != NULL) {
-+ fprintf(fp,"%d\n",getpid());
-+ fclose(fp);
-+ } else {
-+ gpm_report(GPM_PR_OOPS,GPM_MESS_NOTWRITE,GPM_NODE_PID);
-+ }
-+}
-
-+/* itz Sat Sep 12 10:55:51 PDT 1998 Added this as replacement for the
-+ unwanted functionality in check_uniqueness. */
-+void kill_gpm(void)
-+{
-+ int old_pid;
-+ FILE* fp = fopen(GPM_NODE_PID, "r");
-+
-+ /* if we cannot find the old pid file, leave */
-+ if (fp == NULL) gpm_report(GPM_PR_OOPS,GPM_MESS_OPEN, GPM_NODE_PID);
-+
-+ /* else read the pid */
-+ if (fscanf(fp, "%d", &old_pid) != 1)
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_READ_PROB, GPM_NODE_PID);
-+ fclose(fp);
-+
-+ gpm_report(GPM_PR_DEBUG, GPM_MESS_KILLING, old_pid);
-+
-+ /* first check if we run */
-+ if (kill(old_pid,0) == -1) {
-+ gpm_report(GPM_PR_INFO, GPM_MESS_STALE_PID, GPM_NODE_PID);
-+ unlink(GPM_NODE_PID);
-+ }
-+ /* then kill us (not directly, but the other instance ... ) */
-+ if (kill(old_pid, SIGTERM) == -1)
-+ gpm_report(GPM_PR_OOPS, GPM_MESS_CANT_KILL, old_pid);
-+
-+ gpm_report(GPM_PR_INFO, GPM_MESS_KILLED, old_pid);
-+ exit(0);
- }
-+
-diff -urN gpm-1.20.1/src/synaptics.c gpm/src/synaptics.c
---- gpm-1.20.1/src/synaptics.c 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/src/synaptics.c 2003-10-02 01:22:42.000000000 -0500
-@@ -865,7 +865,7 @@
- static int scrolling_speed_timer = 0;
- static int scrolling_amount_left = 0; /* Tells how much to scroll up or down */
-
--
-+static int mouse_fd;
-
-
-
-@@ -882,6 +882,7 @@
- ** which makes reading the debug data harder, only dump the report if it is different
- ** than the previously dumped.
- */
-+#if DEBUG_REPORTS
- static void tp_dump_report_data (report_type report,
- int edges,
- Gpm_Event* state)
-@@ -934,7 +935,7 @@
- (multi_finger_pressure>4500 && multi_finger_xy>50000? 'f':' '));
-
- }
--
-+#endif
-
- /* syn_dump_info
- **
-@@ -1158,8 +1159,8 @@
- status = GPM_B_NOT_SET;
- break;
- case Reset_Touchpad_Action:
-- syn_ps2_reset(which_mouse->fd);
-- syn_ps2_absolute_mode(which_mouse->fd);
-+ syn_ps2_reset(mouse_fd);
-+ syn_ps2_absolute_mode(mouse_fd);
- status = GPM_B_NOT_SET;
- break;
- case Toggle_Four_Way_Button_Action:
-@@ -2950,10 +2951,8 @@
- data [0],data [1],data [2],data [3],data [4],data [5]);
-
- if (reset_on_error_enabled) {
-- /* Hack to get the fd: which_mouse is the current mouse,
-- and as the synaptic code is called, it is the current mouse. */
-- syn_ps2_reset(which_mouse->fd);
-- syn_ps2_absolute_mode(which_mouse->fd);
-+ syn_ps2_reset(mouse_fd);
-+ syn_ps2_absolute_mode(mouse_fd);
- }
-
- report->left = 0;
-@@ -3108,7 +3107,7 @@
- **
- ** Process the touchpad 6 byte report.
- */
--void syn_process_serial_data (Gpm_Event *state,
-+void syn_process_serial_data (int fd, Gpm_Event *state,
- unsigned char *data)
- {
- /* initialize the state */
-@@ -3116,6 +3115,8 @@
- state->dx = 0;
- state->dy = 0;
-
-+ mouse_fd = fd; /* cheat */
-+
- syn_serial_translate_data (data, &cur_report);
- if (wmode_enabled){
- syn_process_wmode_report(&cur_report);
-@@ -3196,7 +3197,7 @@
- **
- ** Process the touchpad 6 byte report.
- */
--void syn_process_ps2_data (Gpm_Event *state,
-+void syn_process_ps2_data (int fd, Gpm_Event *state,
- unsigned char *data)
- {
- /* gpm_report(GPM_PR_DEBUG,"Data %02x %02x %02x %02x %02x %02x",data[0],data[1],data[2],data[3],data[4],data[5]); */
-@@ -3206,6 +3207,7 @@
- state->dx = 0;
- state->dy = 0;
-
-+ mouse_fd = fd; /* cheat */
-
- if (wmode_enabled) {
- syn_ps2_translate_wmode_data (data, &cur_report);
-diff -urN gpm-1.20.1/src/tools.c gpm/src/tools.c
---- gpm-1.20.1/src/tools.c 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/src/tools.c 1969-12-31 19:00:00.000000000 -0500
-@@ -1,93 +0,0 @@
--/*
-- * tools.c - tools which are needed by client and server
-- *
-- * Copyright (c) 2001 Nico Schottelius <nico@schottelius.org>
-- *
-- * This program is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License as published by
-- * the Free Software Foundation; either version 2 of the License, or
-- * (at your option) any later version.
-- *
-- * This program is distributed in the hope that it will be useful,
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- * GNU General Public License for more details.
-- *
-- * You should have received a copy of the GNU General Public License
-- * along with this program; if not, write to the Free Software
-- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-- ********/
--
--#include <stdio.h> /* NULL */
--#include <string.h>
--#include <stdlib.h>
--#include <sys/types.h> /* these three are */
--#include <sys/stat.h> /* needed for */
--#include <unistd.h> /* stat() */
--
--#include "headers/gpmInt.h" /* only used for some defines */
--#include "headers/message.h"
--
--/*****************************************************************************
-- * check, whether devfs is used or not.
-- * See /usr/src/linux/Documentation/filesystems/devfs/ for details.
-- * Returns: the name of the console (/dev/tty0 or /dev/vc/0)
-- *****************************************************************************/
--char *Gpm_get_console( void )
--{
--
-- char *back = NULL, *tmp = NULL;
-- struct stat buf;
--
-- /* first try the devfs device, because in the next time this will be
-- * the preferred one. If that fails, take the old console */
--
-- /* Check for open new console */
-- if (stat(GPM_DEVFS_CONSOLE,&buf) == 0)
-- tmp = GPM_DEVFS_CONSOLE;
--
-- /* Failed, try OLD console */
-- else if(stat(GPM_OLD_CONSOLE,&buf) == 0)
-- tmp = GPM_OLD_CONSOLE;
--
-- if(tmp != NULL)
-- if((back = malloc(strlen(tmp) + sizeof(char)) ) != NULL)
-- strcpy(back,tmp);
--
-- return(back);
--}
--
--/* what's the english name for potenz ? */
--int Gpm_x_high_y(int base, int pot_y)
--{
-- int val = 1;
--
-- if(pot_y == 0) val = 1;
-- else if(pot_y < 0) val = 0; /* ugly hack ;) */
-- else while(pot_y > 0) {
-- val = val * base;
-- pot_y--;
-- }
-- return val;
--}
--
--/* return characters needed to display int */
--int Gpm_cnt_digits(int number)
--{
-- /* 0-9 = 1 10^0 <-> (10^1)-1
-- * 10 - 99 = 2 10^1 <-> (10^2)-1
-- * 100 - 999 = 3 10^2 <-> (10^3)-1
-- * 1000 - 9999 = 4 ... */
--
-- int ret = 0, num = 0;
--
-- /* non negative, please */
-- if(number < 0) number *= -1;
-- else if(number == 0) ret = 1;
-- else while(number > num) {
-- ret++;
-- num = (Gpm_x_high_y(10,ret) - 1);
-- }
--
-- return(ret);
--}
-diff -urN gpm-1.20.1/src/twiddler.c gpm/src/twiddler.c
---- gpm-1.20.1/src/twiddler.c 2002-12-24 17:57:16.000000000 -0500
-+++ gpm/src/twiddler.c 2003-10-02 01:22:42.000000000 -0500
-@@ -54,6 +54,7 @@
- #include "headers/gpm.h"
- #include "headers/gpmInt.h"
- #include "headers/message.h"
-+#include "headers/console.h"
- #include "headers/twiddler.h"
-
-
-@@ -134,17 +135,6 @@
- int (*fun)(char *string);
- };
-
--
--/* The same silly function as in gpm.c */
--static inline int open_console(const int mode)
--{
-- int fd;
-- extern struct options option;
-- if ((fd=open(option.consolename, mode)) < 0) gpm_report(GPM_PR_OOPS,GPM_MESS_OPEN,option.consolename);
-- return fd;
--}
--
--
- /*===================================================================*/
- /* This part deals with pushing keys */
-
-@@ -175,7 +165,7 @@
- int twiddler_exec(char *s)
- {
- int pid;
-- extern struct options option;
-+
- switch(pid=fork()) {
- case -1: return -1;
- case 0:
-@@ -184,7 +174,7 @@
- close(2); /* very rude! */
-
- open(GPM_NULL_DEV,O_RDONLY);
-- open(option.consolename,O_WRONLY);
-+ open(console.device, O_WRONLY);
- dup(1);
- execl("/bin/sh", "sh", "-c", s, NULL);
- exit(1); /* shouldn't happen */
diff --git a/source/a/gpm/gpm.SlackBuild b/source/a/gpm/gpm.SlackBuild
index a79ce2b6c..25ac63b03 100755
--- a/source/a/gpm/gpm.SlackBuild
+++ b/source/a/gpm/gpm.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,8 @@
# by: volkerdi@slackware.com
-VERSION=1.20.1
-BUILD=${BUILD:-5}
+VERSION=1.20.7
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -54,10 +54,10 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf gpm-$VERSION
-tar xjvf $CWD/gpm-$VERSION.tar.bz2
-cd gpm-$VERSION
-sed -i -e "s/OPEN_MAX/NR_OPEN/" $(grep -lr OPEN_MAX *)
+rm -rf gpm-$VERSION || exit 1
+tar xvf $CWD/gpm-$VERSION.tar.xz || exit 1
+cd gpm-$VERSION || exit 1
+
chown -R root:root .
find . \
\( -perm 700 -o -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -65,90 +65,80 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/gpm-evdev-cumulative.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/gpm.evdevmakefile.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/gpm-1.20.1-math.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/gpm-1.20.1-weak-wgetch.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/gpm-1.20.1-nodebug.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/gpm-1.20.1-gpmopen.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/gpm-1.20.1-idie.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/gpm-1.20.1-subscript.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/gpm-1.20.1-input.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/gpm-1.20.1-consolename.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/gpm-1.20.1-multilib.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/gpm-1.20.1-no-console-error.patch.gz | patch -p1 --verbose || exit 1
zcat $CWD/gpm-1.20.1-lib-silent.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/gpm-1.20.1.send-noise-to-syslogs.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/gpm-1.20.1-input-defines.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gpm-1.20.5-close-fds.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/gpm-1.20.1-select-1.patch.gz | patch -p1 --verbose || exit 1
+
+sh autogen.sh
+
+# This is *supposed* to prevent linking libgpm.so with -lncurses,
+# but for some reason it doesn't have the desired effect here.
+# Any ideas? The patch is supposed to resolve a circular dependency
+# between libgpm.so and libncurses.so. I don't notice any ill effects
+# here, but perhaps the problem would occur if prelinking was used.
+# Also, ncurses has not shown an ldd link to libgpm for several releases,
+# so perhaps any problem that existed was fixed on their end.
+# NOTE: Since this isn't preventing gpm from linking to ncurses, I'm
+# commenting this patch out until we understand better if it's even
+# useful for anything. Half a patch seems worse than no patch.
+#zcat $CWD/gpm-1.20.1-weak-wgetch.patch.gz | patch -p1 --verbose || exit 1
+# Since we just patched configure.ac, run this again to carry the change
+# into configure:
autoconf
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
- $ARCH-slackware-linux
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --build=$ARCH-slackware-linux
make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rm -f $PKG/usr/share/emacs/site-lisp/*.elc
+
+chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/libgpm.so.*
+mkdir $PKG/lib${LIBDIRSUFFIX}
+mv $PKG/usr/lib${LIBDIRSUFFIX}/libgpm.so.* $PKG/lib${LIBDIRSUFFIX}
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libgpm.so
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ ln -sf ../../lib${LIBDIRSUFFIX}/libgpm.so.? libgpm.so )
+
zcat $CWD/inputattach.c.gz > inputattach.c
gcc $SLKCFLAGS -o inputattach inputattach.c || exit
-
-mkdir -p $PKG/usr/bin $PKG/etc/rc.d
cat inputattach > $PKG/usr/bin/inputattach
-( cd src
- mkdir -p $PKG/usr/sbin
- cat gpm > $PKG/usr/sbin/gpm
- cat prog/disable-paste > $PKG/usr/bin/disable-paste
- cat prog/gpm-root > $PKG/usr/bin/gpm-root
- cat prog/hltest > $PKG/usr/bin/hltest
- cat prog/mev > $PKG/usr/bin/mev
- cat prog/mouse-test > $PKG/usr/bin/mouse-test
- mkdir -p $PKG/usr/include
- cp headers/gpm.h $PKG/usr/include/gpm.h
- chmod 644 $PKG/usr/include/gpm.h
- mkdir -p $PKG/usr/lib${LIBDIRSUFFIX} $PKG/lib${LIBDIRSUFFIX}
- cat lib/libgpm.a > $PKG/usr/lib${LIBDIRSUFFIX}/libgpm.a
- cat lib/libgpm.so.1.19.0 > $PKG/lib${LIBDIRSUFFIX}/libgpm.so.1.19.0
- chmod 755 $PKG/lib${LIBDIRSUFFIX}/libgpm.so.1.19.0
-)
+
+mkdir -p $PKG/etc/rc.d
+
( cd conf
- mkdir -p $PKG/etc
cat gpm-root.conf > $PKG/etc/gpm-root.conf
cat gpm-syn.conf > $PKG/etc/gpm-syn.conf
cat gpm-twiddler.conf > $PKG/etc/gpm-twiddler.conf
)
-( cd contrib/emacs
- mkdir -p $PKG/usr/share/emacs/site-lisp
- cat t-mouse.el > $PKG/usr/share/emacs/site-lisp/t-mouse.el
-)
+
+mv $PKG/usr/share/{info,man} $PKG/usr
+gzip -9 $PKG/usr/man/man*/*.?
+gzip -9 $PKG/usr/info/*
+
mkdir -p $PKG/usr/doc/gpm-$VERSION
cp -a \
- BUGS COPYING Changelog Changes MANIFEST README TODO \
+ BUGS COPYING* Changelog Changes MANIFEST README* TODO \
+ doc/{Announce,FAQ,HACK_GPM,README*,changelog} \
$PKG/usr/doc/gpm-$VERSION
-( cd doc
- for page in *.1 *.7 *.8 ; do
- CHAPTER=`echo $page | cut -f 2 -d .`
- mkdir -p $PKG/usr/man/man$CHAPTER
- cat $page | gzip -9c > $PKG/usr/man/man${CHAPTER}/$page.gz
- done
- mkdir -p $PKG/usr/info
- cat gpm.info | gzip -9c > $PKG/usr/info/gpm.info.gz
- cp -a \
- Announce FAQ HACK_GPM README* \
- $PKG/usr/doc/gpm-$VERSION
-)
-( cd $PKG/usr/lib${LIBDIRSUFFIX}
- ln -sf ../../lib${LIBDIRSUFFIX}/libgpm.so.1 libgpm.so )
-( cd $PKG/lib${LIBDIRSUFFIX} ; ln -sf libgpm.so.1.19.0 libgpm.so.1 )
+
zcat $CWD/mouseconfig.gz > $PKG/usr/sbin/mouseconfig
chmod 755 $PKG/usr/bin/* $PKG/usr/sbin/*
mkdir -p $PKG/var/log/setup
zcat $CWD/setup.mouse.gz > $PKG/var/log/setup/setup.mouse
chmod 755 $PKG/var/log/setup/setup.mouse
+
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/source/a/gpm/gpm.evdevmakefile.patch b/source/a/gpm/gpm.evdevmakefile.patch
deleted file mode 100644
index bd56c3aab..000000000
--- a/source/a/gpm/gpm.evdevmakefile.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./src/Makefile.in.orig 2006-02-07 15:24:17.000000000 -0600
-+++ ./src/Makefile.in 2006-02-07 15:26:03.000000000 -0600
-@@ -12,7 +12,7 @@
- include $(top_builddir)/Makefile.include
-
- # Main portion: regular build rules
--MICESRC = mice.c twiddler.c synaptics.c @EVDEV_SRCS@
-+MICESRC = mice.c twiddler.c synaptics.c evdev.c
-
- GSRC = main.c gpm.c gpn.c special.c startup.c server_tools.c console.c \
- selection.c client.c optparser.c $(MICESRC)
diff --git a/source/a/gpm/slack-desc b/source/a/gpm/slack-desc
index 17774f10e..7d0bdc952 100644
--- a/source/a/gpm/slack-desc
+++ b/source/a/gpm/slack-desc
@@ -14,6 +14,6 @@ gpm: server for applications running on the Linux console, such as the
gpm: Midnight Commander file manager.
gpm:
gpm: NOTE: This program may cause problems when you start X on systems
-gpm: that do not use a serial mouse. If you get an 'unable to open mouse
-gpm: device' error from X, disable /etc/rc.d/rc.gpm.
+gpm: that use a bus mouse (not common). If you get an 'unable to open
+gpm: mouse device' error from X, disable /etc/rc.d/rc.gpm.
gpm:
diff --git a/source/a/gptfdisk/gptfdisk.SlackBuild b/source/a/gptfdisk/gptfdisk.SlackBuild
index 6c6f5fc94..c61556535 100755
--- a/source/a/gptfdisk/gptfdisk.SlackBuild
+++ b/source/a/gptfdisk/gptfdisk.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=gptfdisk
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/a/grub/doinst.sh b/source/a/grub/doinst.sh
new file mode 100644
index 000000000..20b6c34e2
--- /dev/null
+++ b/source/a/grub/doinst.sh
@@ -0,0 +1,16 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/grub.d/40_custom.new
+rm -f etc/grub.d/40_custom.new
+config etc/default/grub.new
diff --git a/source/a/grub/etc.default.grub b/source/a/grub/etc.default.grub
new file mode 100644
index 000000000..f612a35a7
--- /dev/null
+++ b/source/a/grub/etc.default.grub
@@ -0,0 +1,28 @@
+# If you change this file, run grub-mkconfig -o /boot/grub/grub.cfg
+# afterwards to update /boot/grub/grub.cfg.
+
+GRUB_DEFAULT=0
+#GRUB_HIDDEN_TIMEOUT=0
+GRUB_HIDDEN_TIMEOUT_QUIET=false
+GRUB_TIMEOUT=10
+GRUB_DISTRIBUTOR=$( sed 's/Slackware /Slackware-/' /etc/slackware-version )
+GRUB_CMDLINE_LINUX_DEFAULT=""
+GRUB_CMDLINE_LINUX=""
+
+# Uncomment to disable graphical terminal (grub-pc only)
+#GRUB_TERMINAL=console
+
+# The resolution used on graphical terminal
+# note that you can use only modes which your graphic card supports via VBE
+# you can see them in real GRUB with the command `vbeinfo'
+#GRUB_GFXMODE=640x480
+#GRUB_GFXMODE=1024x768x32
+
+# Font used on the graphical terminal:
+#GRUB_FONT=/usr/share/grub/dejavusansmono.pf2
+
+# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
+#GRUB_DISABLE_LINUX_UUID=true
+
+# Uncomment to disable generation of recovery mode menu entrys
+#GRUB_DISABLE_LINUX_RECOVERY="true"
diff --git a/source/a/grub/grub.SlackBuild b/source/a/grub/grub.SlackBuild
new file mode 100755
index 000000000..5a0c27e81
--- /dev/null
+++ b/source/a/grub/grub.SlackBuild
@@ -0,0 +1,192 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=grub
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2"
+ EFI_FLAGS=" --with-platform=efi --target=x86_64 --program-prefix= "
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Use /boot/initrd.gz as a valid initrd name:
+zcat $CWD/initrd_naming.patch | patch -p1 --verbose || exit 1
+
+# Patch for recent glibc:
+zcat $CWD/txtHRnXiHYUrM.txt.gz | patch -p0 --verbose || exit 1
+
+# Support DejaVuSansMono font (dejavusansmono.pf2) by default:
+zcat $CWD/grub.dejavusansmono.gfxterm.font.diff.gz | patch -p1 --verbose || exit 1
+
+# Terminate EFI several times. This is a workaround for broken UEFI firmware.
+zcat $CWD/grub.e75fdee420a7ad95e9a465c9699adc2e2e970440.terminate.efi.several.times.diff.gz | patch -p1 --verbose || exit 1
+
+for i in 1 2 ; do
+ # Skip to regular build if EFI support is not requested:
+ if [ i = 1 -a -z "$EFI_FLAGS" ]; then
+ continue;
+ fi
+
+ # Configure:
+ CFLAGS="$SLKCFLAGS" \
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --disable-werror \
+ $EFI_FLAGS
+
+ # Build and install:
+ make clean
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+
+ # Clear $EFI_FLAGS for a regular build:
+ unset EFI_FLAGS
+done
+
+# Preserve the contents of /etc/grub.d/40_custom:
+mv $PKG/etc/grub.d/40_custom $PKG/etc/grub.d/40_custom.new
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+mkdir -p $PKG/etc/default
+cat $CWD/etc.default.grub > $PKG/etc/default/grub.new
+
+# Add fonts, if found on the system:
+FONT_SIZE=${FONT_SIZE:-19}
+if [ -r /usr/share/fonts/TTF/unifont.ttf ]; then
+ $PKG/usr/bin/grub-mkfont -o $PKG/usr/share/grub/unifont.pf2 -abv \
+ -s $FONT_SIZE /usr/share/fonts/TTF/unifont.ttf
+fi
+if [ -r /usr/share/fonts/TTF/DejaVuSansMono.ttf ]; then
+ $PKG/usr/bin/grub-mkfont -o $PKG/usr/share/grub/dejavusansmono.pf2 -abv \
+ -s $FONT_SIZE /usr/share/fonts/TTF/DejaVuSansMono.ttf
+fi
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS BUGS COPYING* INSTALL NEWS README* THANKS TODO \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/a/grub/grub.dejavusansmono.gfxterm.font.diff b/source/a/grub/grub.dejavusansmono.gfxterm.font.diff
new file mode 100644
index 000000000..53c21ba8e
--- /dev/null
+++ b/source/a/grub/grub.dejavusansmono.gfxterm.font.diff
@@ -0,0 +1,43 @@
+--- ./util/grub.d/00_header.in.orig 2012-05-03 18:04:39.000000000 -0500
++++ ./util/grub.d/00_header.in 2013-09-17 01:43:37.870841064 -0500
+@@ -143,7 +143,7 @@
+ EOF
+ else
+ for dir in "${pkgdatadir}" "`echo '/@bootdirname@/@grubdirname@' | sed "s,//*,/,g"`" /usr/share/grub ; do
+- for basename in unicode unifont ascii; do
++ for basename in unicode unifont dejavusansmono ascii; do
+ path="${dir}/${basename}.pf2"
+ if is_path_readable_by_grub "${path}" > /dev/null ; then
+ font_path="${path}"
+@@ -156,7 +156,7 @@
+ if [ -n "${font_path}" ] ; then
+ cat << EOF
+ if [ x\$feature_default_font_path = xy ] ; then
+- font=unicode
++ font=dejavusansmono
+ else
+ EOF
+ # Make the font accessible
+@@ -169,7 +169,7 @@
+ EOF
+ else
+ cat << EOF
+-if loadfont unicode ; then
++if loadfont dejavusansmono ; then
+ EOF
+ fi
+ fi
+--- ./util/grub-install.in.orig 2012-06-26 16:31:03.000000000 -0500
++++ ./util/grub-install.in 2013-09-17 01:42:02.678834196 -0500
+@@ -552,6 +552,11 @@
+ cp "${pkgdatadir}"/themes/starfield/* "${grubdir}"/themes/starfield
+ fi
+
++if test -f "${pkgdatadir}"/dejavusansmono.pf2; then
++ mkdir -p "${grubdir}"/fonts
++ cp "${pkgdatadir}"/dejavusansmono.pf2 "${grubdir}"/fonts
++fi
++
+ if test -f "${pkgdatadir}"/unicode.pf2; then
+ mkdir -p "${grubdir}"/fonts
+ cp "${pkgdatadir}"/unicode.pf2 "${grubdir}"/fonts
diff --git a/source/a/grub/grub.e75fdee420a7ad95e9a465c9699adc2e2e970440.terminate.efi.several.times.diff b/source/a/grub/grub.e75fdee420a7ad95e9a465c9699adc2e2e970440.terminate.efi.several.times.diff
new file mode 100644
index 000000000..d45528488
--- /dev/null
+++ b/source/a/grub/grub.e75fdee420a7ad95e9a465c9699adc2e2e970440.terminate.efi.several.times.diff
@@ -0,0 +1,75 @@
+From e75fdee420a7ad95e9a465c9699adc2e2e970440 Mon Sep 17 00:00:00 2001
+From: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
+Date: Tue, 26 Mar 2013 10:34:56 +0000
+Subject: * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
+
+ Try terminating EFI services several times due to quirks in some
+ implementations.
+---
+(limited to 'grub-core/kern/efi/mm.c')
+
+diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c
+index 351317b..77c9384 100644
+--- a/grub-core/kern/efi/mm.c
++++ b/grub-core/kern/efi/mm.c
+@@ -160,27 +160,41 @@ grub_efi_finish_boot_services (grub_efi_uintn_t *outbuf_size, void *outbuf,
+ apple, sizeof (apple)) == 0);
+ #endif
+
+- if (grub_efi_get_memory_map (&finish_mmap_size, finish_mmap_buf, &finish_key,
+- &finish_desc_size, &finish_desc_version) < 0)
+- return grub_error (GRUB_ERR_IO, "couldn't retrieve memory map");
++ while (1)
++ {
++ if (grub_efi_get_memory_map (&finish_mmap_size, finish_mmap_buf, &finish_key,
++ &finish_desc_size, &finish_desc_version) < 0)
++ return grub_error (GRUB_ERR_IO, "couldn't retrieve memory map");
+
+- if (outbuf && *outbuf_size < finish_mmap_size)
+- return grub_error (GRUB_ERR_IO, "memory map buffer is too small");
++ if (outbuf && *outbuf_size < finish_mmap_size)
++ return grub_error (GRUB_ERR_IO, "memory map buffer is too small");
+
+- finish_mmap_buf = grub_malloc (finish_mmap_size);
+- if (!finish_mmap_buf)
+- return grub_errno;
++ finish_mmap_buf = grub_malloc (finish_mmap_size);
++ if (!finish_mmap_buf)
++ return grub_errno;
+
+- if (grub_efi_get_memory_map (&finish_mmap_size, finish_mmap_buf, &finish_key,
+- &finish_desc_size, &finish_desc_version) <= 0)
+- return grub_error (GRUB_ERR_IO, "couldn't retrieve memory map");
++ if (grub_efi_get_memory_map (&finish_mmap_size, finish_mmap_buf, &finish_key,
++ &finish_desc_size, &finish_desc_version) <= 0)
++ {
++ grub_free (finish_mmap_buf);
++ return grub_error (GRUB_ERR_IO, "couldn't retrieve memory map");
++ }
+
+- b = grub_efi_system_table->boot_services;
+- status = efi_call_2 (b->exit_boot_services, grub_efi_image_handle,
+- finish_key);
+- if (status != GRUB_EFI_SUCCESS)
+- return grub_error (GRUB_ERR_IO, "couldn't terminate EFI services");
++ b = grub_efi_system_table->boot_services;
++ status = efi_call_2 (b->exit_boot_services, grub_efi_image_handle,
++ finish_key);
++ if (status == GRUB_EFI_SUCCESS)
++ break;
+
++ if (status != GRUB_EFI_INVALID_PARAMETER)
++ {
++ grub_free (finish_mmap_buf);
++ return grub_error (GRUB_ERR_IO, "couldn't terminate EFI services");
++ }
++
++ grub_free (finish_mmap_buf);
++ grub_printf ("Trying to terminate EFI services again\n");
++ }
+ grub_efi_is_finished = 1;
+ if (outbuf_size)
+ *outbuf_size = finish_mmap_size;
+--
+cgit v0.9.0.2
+
diff --git a/source/a/grub/initrd_naming.patch b/source/a/grub/initrd_naming.patch
new file mode 100644
index 000000000..6b62778b0
--- /dev/null
+++ b/source/a/grub/initrd_naming.patch
@@ -0,0 +1,13 @@
+diff -Naur grub-2.00.orig/util/grub.d/10_linux.in grub-2.00/util/grub.d/10_linux.in
+--- grub-2.00.orig/util/grub.d/10_linux.in 2012-04-18 23:24:38.000000000 +0200
++++ grub-2.00/util/grub.d/10_linux.in 2012-06-30 07:53:03.765625589 +0200
+@@ -198,7 +198,8 @@
+ "initramfs-genkernel-${version}" \
+ "initramfs-genkernel-${alt_version}" \
+ "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
+- "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
++ "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" \
++ "initrd.gz"; do
+ if test -e "${dirname}/${i}" ; then
+ initrd="$i"
+ break
diff --git a/source/a/grub/slack-desc b/source/a/grub/slack-desc
new file mode 100644
index 000000000..a8159e64e
--- /dev/null
+++ b/source/a/grub/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+grub: GRUB (the GRand Unified Bootloader)
+grub:
+grub: GNU GRUB is a multiboot boot loader.
+grub:
+grub: Website: http://www.gnu.org/software/grub/
+grub:
+grub:
+grub:
+grub:
+grub:
+grub:
diff --git a/source/a/grub/txtHRnXiHYUrM.txt b/source/a/grub/txtHRnXiHYUrM.txt
new file mode 100644
index 000000000..b67251f1c
--- /dev/null
+++ b/source/a/grub/txtHRnXiHYUrM.txt
@@ -0,0 +1,49 @@
+# Bazaar merge directive format 2 (Bazaar 0.90)
+# revision_id: address@hidden
+# target_branch: http://bzr.savannah.gnu.org/r/grub/trunk/grub/
+# testament_sha1: 1c14caf607a0200c0f6c4357baa520d6d5a0297b
+# timestamp: 2012-07-04 17:30:47 +0200
+# base_revision_id: address@hidden
+#
+# Begin patch
+=== modified file 'grub-core/gnulib/stdio.in.h'
+--- grub-core/gnulib/stdio.in.h 2010-09-20 10:35:33 +0000
++++ grub-core/gnulib/stdio.in.h 2012-07-04 15:18:15 +0000
+@@ -140,8 +140,10 @@
+ /* It is very rare that the developer ever has full control of stdin,
+ so any use of gets warrants an unconditional warning. Assume it is
+ always declared, since it is required by C89. */
++#if defined gets
+ #undef gets
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
+
+# Begin bundle
+IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWaToPesAAfhfgAAQ2Pf/91s2
+2kq////wUAUNaebQdnLC2nS7GCUQQJiaT0xMVPAFPSHqeSPUekDT1DxIMkmp4CMjQKYIZTQaBkAA
+AAlCBJmmkGEGqP1QDQBkyeoyAAHMAmAmRgBGJiYTCYIaYmmAkhETaU2jKeiaaMo00ybTRAMhoAZE
+8tJd05M/VpkKqZr1UWlZidFLnZHIFGBpA6iFmCP+enOp6RDhNhWZylIRZ+P1Oc1VUs/HzCkLPAxt
+XwunBn7vOjjziSdUxqx9ub8/jEdn54odK76GXxknCKa3994J9cFbmU0TjYVx4PuSkX45S7lsu6fB
+11tpevByhSKUFgynati1fZO2qnwXbsOnRj3eSMVDcR01oxGDH70eZVV8eHKuG/16A8oZX4GRA3HY
+WkgOtgkaVTSP2e+4fqq+AdFSyaWzqIMSbODi0FMCs5i4tK754ns80FDKZDi7pJaux5hYGJNNqZJP
+zqB04nTwgmOMnWmSaSehwVSt8isXiDIhjFH3WwPkYZoYudtHD1+dli7GkDvrkbPDnlQzcO42UIST
+ZBHIlFlQKJxbulrJVwmiKz1E4kmKcvEYpUpWUIESBoc5sXKigHQ1wWB1DoXUYiExOCWCbUEDIz2X
+B0mZugsLQzU7eyo5iF2J3SEDscqwFBNGo+8Ls4birmk8x/MQ3O7kfHfekQWJbuJUC5O1osgKvlDY
+HaYcZFabX2SSVlVC06WUWBiM+xtOEiAk+vIHJhu4hU5zOaC7UMuUKogM8IIrIP2RuFu6UXzmu6CE
+b0KkW+dLcUWvCemnZbAq4967czYKS2OjhUyjmIskEaKwNQQvWngeNMePErVz/fXjStE+PWKVRVXn
+OefXfA5O8TDavj6OOyu79pepI9rcDfrmZdffAht1uGQNDMfM2MuwQon23kn00U6rilRZzBWI7an9
+r1YNKrA7PHvE0dMjOj49RZHkOLjYjhfgemY9+IYMMacxhAYnRVZBHcNG1jejWHLdmKD5e7Q/DwM+
+o8NN1T4cVciq3yGD/Yk4hXYQpFALHFoUHjMZUxk+rbkak6tSdY6Ukgasy2OCsE6LyS+GJiEZE5Y9
+9YC3sznc2z5s9SLjlLQkVO4EI39Hi177Ba51BYWkaaO3QuL1V+xn8M92bnq+oFjESvXvXs/LGspc
+ftjWvcipQN+TJtvzlXlJzZ58oLZxRLQrIJCRLY28qKLY9g4tKxzyI2rydlUlTbtztcOv6tS41I9p
+DZdILnAmv2yXiI8O0yJhUpubNtN6frcf0hLBMEzLZEc55HAGOONL0RzW3h1ostOibFK8hC4mg1Rd
+UzNgmFEbwqV/23fvbpnnCloMFq0is6wj8G67yyY0FgLQY6x+fRLWEicxF4UCjhmqJnXx7IRG6S3g
+bbqtsYeWBBaJBT4AhDyHMJvvLlSGr8Y5hrQoN11iyQm72Nmp1IQ1CjmeUNoHHBybqbKXo87gTSky
+xTqMvhw55hsy6lPPBngJJFQTZHr4yYWBHRwj1BZ4lhQdmR5PbUqECl+1EOivQsYqELAwpwFvcvug
+4CbjkVYIDKqMVFC1rY3A6yWDFaxCbY4ickntghlpplCdtpl/NKNQZwH1JMqLaTwaOmUVSDoLh1NJ
+toHJWULox5WMMVOgRQ5mpxVvixydLNaFbQaDtvYvvzSIJvsLLzgyaK3CqqMy02jpRbS4YDWsJtBo
+A2QEyiKmT5i9Z6YW9BV/giVaTrhSp1GNpiaC9jXVDSx2AHUDgCsYj04hhF59vBUI0Hq0eO+H/F3J
+FOFCQpOg96w=
diff --git a/source/a/gzip/gzip.SlackBuild b/source/a/gzip/gzip.SlackBuild
index 19ef42fba..333f8d333 100755
--- a/source/a/gzip/gzip.SlackBuild
+++ b/source/a/gzip/gzip.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006-2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006-2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=gzip
-VERSION=${VERSION:-1.5}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j6}
@@ -68,10 +68,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# The following command renames the internal implementation of futimens
-# to gl_futimens as newer versions of Glibc provide an incompatible version:
-sed -i -e "s/futimens/gl_&/" $(grep -lr futimens *)
-
# Configure:
CFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/a/infozip/infozip.SlackBuild b/source/a/infozip/infozip.SlackBuild
index 5ac456d10..9205fca60 100755
--- a/source/a/infozip/infozip.SlackBuild
+++ b/source/a/infozip/infozip.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=6.0
ZIP=3.0
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -65,12 +65,14 @@ cd $TMP
rm -rf unzip$(echo $VERSION | tr -d .)
tar xvf $CWD/unzip$(echo $VERSION | tr -d .).tar.?z* || exit 1
cd unzip$(echo $VERSION | tr -d .)
+zcat $CWD/unzip.use.system.libbz2.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/unzip.process.c.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
mkdir -p $PKG/usr/doc/unzip-$VERSION
cp -a BUGS COPYING* Contents History.* INSTALL LICENSE README ToDo WHERE \
$PKG/usr/doc/unzip-$VERSION
chmod 644 $PKG/usr/doc/unzip-$VERSION/*
-make -f unix/Makefile generic || exit 1
+make -f unix/Makefile generic LOCAL_UNZIP=-DIZ_HAVE_UXUIDGID || exit 1
cat unzip > $PKG/usr/bin/unzip
cat unzipsfx > $PKG/usr/bin/unzipsfx
cat funzip > $PKG/usr/bin/funzip
diff --git a/source/a/infozip/unzip.process.c.diff b/source/a/infozip/unzip.process.c.diff
new file mode 100644
index 000000000..5894f7b0e
--- /dev/null
+++ b/source/a/infozip/unzip.process.c.diff
@@ -0,0 +1,28 @@
+--- ./process.c.orig 2009-03-06 02:25:10.000000000 +0100
++++ ./process.c 2013-09-12 10:51:16.000000000 +0200
+@@ -2895,9 +2895,9 @@
+ */
+
+ #ifdef IZ_HAVE_UXUIDGID
+- if (eb_len >= EB_UX3_MINLEN
+- && z_uidgid != NULL
+- && (*((EB_HEADSIZE + 0) + ef_buf) == 1)
++ if ((eb_len >= EB_UX3_MINLEN)
++ && (z_uidgid != NULL)
++ && ((*((EB_HEADSIZE + 0) + ef_buf) == 1)))
+ /* only know about version 1 */
+ {
+ uch uid_size;
+@@ -2909,10 +2909,10 @@
+ flags &= ~0x0ff; /* ignore any previous UNIX field */
+
+ if ( read_ux3_value((EB_HEADSIZE + 2) + ef_buf,
+- uid_size, z_uidgid[0])
++ uid_size, &z_uidgid[0])
+ &&
+ read_ux3_value((EB_HEADSIZE + uid_size + 3) + ef_buf,
+- gid_size, z_uidgid[1]) )
++ gid_size, &z_uidgid[1]) )
+ {
+ flags |= EB_UX2_VALID; /* signal success */
+ }
diff --git a/source/a/infozip/unzip.use.system.libbz2.diff b/source/a/infozip/unzip.use.system.libbz2.diff
new file mode 100644
index 000000000..ab10997dc
--- /dev/null
+++ b/source/a/infozip/unzip.use.system.libbz2.diff
@@ -0,0 +1,28 @@
+--- ./unix/configure.orig 2009-04-16 14:25:12.000000000 -0500
++++ ./unix/configure 2013-09-12 13:32:24.274604436 -0500
+@@ -640,7 +640,24 @@
+ D_USE_BZ2="-DUSE_BZIP2"
+ L_BZ2="${BZLF} -lbz2"
+ else
+- echo "-- bzip2 sources not found - no bzip2 support"
++ echo " Check if OS already has bzip2 library installed"
++ cat > conftest.c << _EOF_
++#include "bzlib.h"
++int main()
++{
++ bz_stream strm;
++ BZ2_bzCompressEnd(&strm);
++ return 0;
++}
++_EOF_
++ $CC $CFLAGS -o conftest conftest.c -lbz2 > /dev/null 2>/dev/null
++ if test $? -eq 0; then
++ echo "-- OS supports bzip2 - linking in bzip2"
++ D_USE_BZ2="-DUSE_BZIP2"
++ L_BZ2="${BZLF} -lbz2"
++ else
++ echo "-- Either bzlib.h or libbz2.a not found - no bzip2"
++ fi
+ fi
+ fi
+
diff --git a/source/a/kernel-firmware/kernel-firmware.SlackBuild b/source/a/kernel-firmware/kernel-firmware.SlackBuild
index 66445ea83..c7b50a5ca 100755
--- a/source/a/kernel-firmware/kernel-firmware.SlackBuild
+++ b/source/a/kernel-firmware/kernel-firmware.SlackBuild
@@ -40,6 +40,15 @@ chown -R root:root .
mkdir -p lib
mv linux-firmware lib/firmware
+# Remove sources for carl9170fw:
+( cd $PKG/lib/firmware
+ if [ -d carl9170fw ]; then
+ mv carl9170fw/COPYRIGHT COPYRIGHT.carl9170fw
+ mv carl9170fw/GPL LICENSE.carl9170fw
+ rm -rf carl9170fw
+ fi
+)
+
# Install documentation link:
mkdir -p $PKG/usr/doc
( cd $PKG/usr/doc
diff --git a/source/a/kmod/kmod-15.tar.sign b/source/a/kmod/kmod-15.tar.sign
new file mode 100644
index 000000000..0e79dd5bc
--- /dev/null
+++ b/source/a/kmod/kmod-15.tar.sign
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.21 (GNU/Linux)
+
+iQIcBAABAgAGBQJSFhpaAAoJEJuipaYwy+pT55AP/jZK04iAzoyrGYXlFWo+ngBP
+f34CueSb3OJs+JQ6CJZNS5qg83XmOWhTSt2r41nH+N5kWmrF2NsDJ58zzqWy/Rwq
+VW4AmSImeJSAi4jtV5T3gjp25htqO1pW57dPwugX4F13PkxqD+l8lJ28X0FcY32k
+POR0uiYc0qLOssUASVdFJeRgrYA9V3/Se+fOr118GYWji5S+NlwYSCKb3Khu/j2U
+cUHeVrEhbRbYGZ5sQ2ylC0RoM+9G/fJz9cSCxeZh1F6KuCfgJDOzfzLwTQzcRjSA
+sBflTMWcw6KcLa5AvNYIrQHIDXHrVn0kR1yQb4glgYygPfU2LhAA20VGPyYsp4JS
+6C55VrkXmhX6IlwA0LTdVGkNBOWmuPxzxtMInPoOVapCRHl1KnLMa68T38VSDwS8
+8g6fKM7gUEM5wu3w1ica9yXy9panaom7HBrMFouOjk9YU1DqkIV+ItbBfE9HdW1X
+x5LqoOktiuVtJCNbj8Ll6OsjMfKROa+pnRxMT95wA5l2e5rZljR6Ie0deTaRDFX/
+IOMHQn/oK3CIfYcjM5SOn3AaFNHE9KleYSewV/XC/m4YOnaKmUoCrhMJSJQxPUue
+9qLh3fqqSQSD3cZmRPfBFaT2cGnehbmx5oPh8uZIxqV8z21y6oNF3CbKSij9ZaeO
+sigBwb3OIcf7K5jCrdJl
+=qu/t
+-----END PGP SIGNATURE-----
diff --git a/source/a/kmod/kmod.SlackBuild b/source/a/kmod/kmod.SlackBuild
index 0863d0e37..4eb58cfa2 100755
--- a/source/a/kmod/kmod.SlackBuild
+++ b/source/a/kmod/kmod.SlackBuild
@@ -2,7 +2,8 @@
# Slackware build script for kmod
-# Copyright 2011, 2012 Robby Workman, Northport, Alabama, USA
+# Copyright 2011,2012,2013 Robby Workman, Northport, Alabama, USA
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +24,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=kmod
-VERSION=${VERSION:-9}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-15}
+BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
diff --git a/source/a/libcgroup/libcgroup.SlackBuild b/source/a/libcgroup/libcgroup.SlackBuild
index 286a7fa2a..cc4cd4212 100755
--- a/source/a/libcgroup/libcgroup.SlackBuild
+++ b/source/a/libcgroup/libcgroup.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=libcgroup
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/a/libcgroup/libcgroup.init.diff b/source/a/libcgroup/libcgroup.init.diff
index 754912959..72dcaa31d 100644
--- a/source/a/libcgroup/libcgroup.init.diff
+++ b/source/a/libcgroup/libcgroup.init.diff
@@ -1,5 +1,5 @@
---- ./scripts/init.d/cgred.in.orig 2011-03-03 02:29:41.000000000 -0600
-+++ ./scripts/init.d/cgred.in 2011-03-03 14:23:03.000000000 -0600
+--- ./scripts/init.d/cgred.in.orig 2011-03-08 05:29:42.000000000 -0600
++++ ./scripts/init.d/cgred.in 2013-02-23 16:15:54.054745738 -0600
@@ -39,9 +39,8 @@
# Sanity checks
[ -x $CGRED_BIN ] || exit 1
@@ -60,8 +60,8 @@
fi
;;
*)
---- ./scripts/init.d/cgconfig.in.orig 2011-03-03 02:29:41.000000000 -0600
-+++ ./scripts/init.d/cgconfig.in 2011-03-03 14:21:27.000000000 -0600
+--- ./scripts/init.d/cgconfig.in.orig 2011-12-06 03:42:15.000000000 -0600
++++ ./scripts/init.d/cgconfig.in 2013-02-23 16:23:51.530775095 -0600
@@ -36,11 +36,6 @@
servicename=cgconfig
lockfile=/var/lock/subsys/$servicename
@@ -109,7 +109,7 @@
return 1
fi
fi
-@@ -123,10 +118,10 @@
+@@ -123,18 +118,18 @@
touch "$lockfile"
retval=$?
if [ $retval -ne 0 ]; then
@@ -122,9 +122,10 @@
return 0
}
-@@ -134,7 +129,7 @@
+ stop() {
echo -n "Stopping cgconfig service: "
- cgclear
+- cgclear
++ /usr/sbin/cgclear
rm -f "$lockfile"
- log_success_msg
+ #log_success_msg
diff --git a/source/a/lilo/lilo.SlackBuild b/source/a/lilo/lilo.SlackBuild
index 2df7618d1..c481b0159 100755
--- a/source/a/lilo/lilo.SlackBuild
+++ b/source/a/lilo/lilo.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,8 +21,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-23.2}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-24.0}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -47,12 +47,6 @@ tar xvf $CWD/lilo-$VERSION.tar.gz || exit 1
cd lilo-$VERSION
chown -R root:root .
-# Obsolete patch?
-## This is needed for LVM+udev+devtmpfs
-#( cd src
-# zcat $CWD/lilo.use_major_minor_instead_lvm_name.diff.gz | patch -p1 --verbose || exit 1
-#)
-
make || exit 1
make -i install DESTDIR=$PKG || exit 1
@@ -75,7 +69,7 @@ mkdir -p $PKG/sbin
cp -a $CWD/liloconfig $PKG/sbin/liloconfig
chmod 755 $PKG/sbin/liloconfig
# Hey, you're stomping on our name! Plus, it doesn't work.
-rm -f $PKG/usr/sbin/liloconfig
+rm -f $PKG/usr/sbin/liloconfig $PKG/usr/share/man/man8/liloconfig.8
mkdir -p $PKG/var/log/setup
cp -a $CWD/setup.liloconfig $PKG/var/log/setup/setup.liloconfig
cp -a $CWD/text.lilohelp $PKG/var/log/setup/text.lilohelp
diff --git a/source/a/lilo/lilo.use_major_minor_instead_lvm_name.diff b/source/a/lilo/lilo.use_major_minor_instead_lvm_name.diff
deleted file mode 100644
index 860347ebb..000000000
--- a/source/a/lilo/lilo.use_major_minor_instead_lvm_name.diff
+++ /dev/null
@@ -1,47 +0,0 @@
---- lilo-22.8/geometry.c 2006-12-17 01:46:17.000000000 -0200
-+++ lilo-22.8-new/geometry.c 2009-12-18 02:09:54.000000000 -0200
-@@ -903,24 +903,17 @@
- void *next = NULL;
- char dmdev[PATH_MAX+1];
- char buf[PATH_MAX+1];
-- char *slash;
- int result;
-
- dev_open(&dev, device, -1);
- strncpy(dmdev, dev.name, PATH_MAX);
- dmdev[PATH_MAX] = 0;
-+
- do {
- memset(buf, 0, PATH_MAX + 1);
- if ((result = readlink(dmdev, buf, PATH_MAX)) < 0 && errno != EINVAL)
- die("device-mapper: readlink(\"%s\") failed with: %s",buf,
- strerror(errno));
-- if (result >= 0) {
-- if (buf[0] != '/' && (slash = strrchr(dmdev, '/')) != NULL)
-- slash++;
-- else
-- slash = dmdev;
-- strncpy(slash, buf, PATH_MAX - (slash-dmdev));
-- }
- if (realpath(dmdev, buf) == NULL)
- die("device-mapper: realpath(\"%s\") failed with: %s",dmdev,
- strerror(errno));
-@@ -930,13 +923,11 @@
-
- if (!(dmt = dm_task_create(DM_DEVICE_TABLE)))
- die("device-mapper: dm_task_create(DM_DEVICE_TABLE) failed");
-- slash = strrchr(dmdev, '/');
-- if (slash)
-- slash++;
-- else
-- slash = dmdev;
-- if (!dm_task_set_name(dmt, slash))
-- die("device-mapper: dm_task_set_name(\"%s\") failed",dmdev);
-+ // Using device name is flawed. Better to use device major and minor
-+ if (!dm_task_set_major(dmt, MAJOR(device)))
-+ die("device-mapper: dm_task_set_major(DM_DEVICE_TABLE) failed");
-+ if (!dm_task_set_minor(dmt, MINOR(device)))
-+ die("device-mapper: dm_task_set_minor(DM_DEVICE_TABLE) failed");
- if (!dm_task_run(dmt))
- die("device-mapper: dm_task_run(DM_DEVICE_TABLE) failed");
-
diff --git a/source/a/lilo/liloconfig b/source/a/lilo/liloconfig
index d8bc02dd4..75e3b0eba 100644
--- a/source/a/lilo/liloconfig
+++ b/source/a/lilo/liloconfig
@@ -2,7 +2,7 @@
#
# Copyright 1994, 1998, 1999 Patrick Volkerding, Moorhead, Minnesota USA
# Copyright 2002, 2003 Slackware Linux, Inc, Concord, CA
-# Copyright 2007, 2008, 2011 Patrick Volkerding, Sebeka, Minnesota, USA
+# Copyright 2007, 2008, 2011, 2013 Patrick Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,6 +26,32 @@ TMP=/var/log/setup/tmp
CONSOLETYPE=standard
unset UTFVT
+# Most of the time LILO is not used on UEFI machines (in fact, it is useless
+# unless the machine is running in legacy BIOS mode). So, we'll detect if
+# this is a machine running UEFI and suggest skipping LILO installation.
+# We'll still allow it if the user wants it, though. It won't hurt anything,
+# and might be useful for booting in Legacy BIOS mode later.
+if [ -d /sys/firmware/efi ]; then
+ dialog --title "UEFI FIRMWARE DETECTED" \
+--backtitle "LILO (Linux Loader) installation" \
+--menu \
+"Since LILO (the traditional Linux Loader) does not work with machines \
+running UEFI firmware (except in Legacy BIOS mode), you probably do not \
+need to install it. Instead, you'll need ELILO, which is a version of \
+LILO designed to work with EFI/UEFI systems." \
+12 70 2 \
+"skip" "Skip installing LILO and proceed to ELILO installation" \
+"install" "Install LILO anyway" 2> $TMP/reply
+ if [ $? = 1 -o $? = 255 ]; then
+ exit
+ fi
+ REPLY="`cat $TMP/reply`"
+ rm -f $TMP/reply
+ if [ "$REPLY" = "skip" ]; then
+ exit
+ fi
+fi
+
# Set the OS root directory (called T_PX for some unknown reason).
# If an argument is given to this script and it is a directory, it
# is taken to be the root directory. First though, we check for a
@@ -52,6 +78,15 @@ if [ ! -d "$T_PX" ]; then
fi
fi
+# If os-prober is availible, we will use it to filter out unbootable
+# FAT/NTFS partitions. If it is not availble, we'll use /bin/true
+# instead to avoid filtering.
+if which os-prober > /dev/null ; then
+ OSPROBER=os-prober
+else
+ OSPROBER=true
+fi
+
# Determine LILO documentation directory:
LILODOCDIR="$(ls -d $T_PX/usr/doc/lilo-* 2> /dev/null | tail -n 1)"
if [ ! -d "$LILODOCDIR" ]; then
@@ -294,6 +329,7 @@ EOF
cat << EOF >> $T_PX/etc/lilo.conf
boot = $ROOT_DEVICE
#delay = 5
+#compact # faster, but won't work on all systems.
EOF
if [ $CONSOLETYPE = standard ]; then
cat << EOF >> $T_PX/etc/lilo.conf
@@ -396,6 +432,8 @@ EOF
cat << EOF >> $T_PX/etc/lilo.conf
boot = $LILO_TARGET
+#compact # faster, but won't work on all systems.
+
# Boot BMP Image.
# Bitmap in BMP format: 640x480x8
bitmap = /boot/slack.bmp
@@ -474,13 +512,18 @@ cat << EOF >> $T_PX/etc/lilo.conf
# End LILO global section
EOF
# OK, now let's look for Windows partitions:
- DOSP="`PROBE -l | grep "DOS
+ # If we have os-prober, use the Windows partition list from that:
+ if which os-prober > /dev/null ; then
+ DOSP="$(os-prober 2> /dev/null | grep Windows | cut -f 1 -d :)"
+ else # use PROBE output:
+ DOSP="$(PROBE -l | grep "DOS
Win
W95
FAT12
FAT16
-HPFS" | grep -v "Ext'd" | grep -v "Extend" | sort`"
- DOSP="`echo $DOSP | cut -f 1 -d ' '`"
+HPFS" | grep -v "Ext'd" | grep -v "Extend" | sort )"
+ DOSP="`echo $DOSP | cut -f 1 -d ' '`"
+ fi
if [ ! "$DOSP" = "" ]; then
TABLE="`echo $DOSP | cut -b1-8`"
cat << EOF >> $T_PX/etc/lilo.conf
@@ -896,7 +939,9 @@ default." 13 74 4 \
#
# Start LILO global section
boot = $LILO_TARGET
+
#compact # faster, but won't work on all systems.
+
EOF
# Boot splash
if [ "$PROMPT" = "prompt" ]; then
@@ -1096,7 +1141,7 @@ Win
W95
FAT12
FAT16
-HPFS" | grep -v "Ext'd" | grep -v "Extend" | sort >> $TMP/tmpmsg
+HPFS" | grep -v "Ext'd" | grep -v "Extend" | sort | grep "$($OSPROBER 2> /dev/null | grep Windows | cut -f 1 -d :)" >> $TMP/tmpmsg
echo >> $TMP/tmpmsg
echo "Which one would you like LILO to boot?" >> $TMP/tmpmsg
dialog --title "SELECT WINDOWS PARTITION" --no-collapse --inputbox \
diff --git a/source/a/logrotate/logrotate.SlackBuild b/source/a/logrotate/logrotate.SlackBuild
index e38f27152..63670a0a0 100755
--- a/source/a/logrotate/logrotate.SlackBuild
+++ b/source/a/logrotate/logrotate.SlackBuild
@@ -20,7 +20,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-3.8.2}
+VERSION=${VERSION:-3.8.6}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
diff --git a/source/a/logrotate/logrotate.slackware.diff b/source/a/logrotate/logrotate.slackware.diff
index 6fa0436dc..9e5160f33 100644
--- a/source/a/logrotate/logrotate.slackware.diff
+++ b/source/a/logrotate/logrotate.slackware.diff
@@ -11,15 +11,14 @@ diff -Nur logrotate-3.8.0.orig//config.c logrotate-3.8.0/config.c
};
static int defTabooCount = sizeof(defTabooExts) / sizeof(char *);
-diff -Nur logrotate-3.8.0.orig//logrotate.8 logrotate-3.8.0/logrotate.8
---- logrotate-3.8.0.orig//logrotate.8 2011-06-21 03:12:02.000000000 -0500
-+++ logrotate-3.8.0/logrotate.8 2011-08-22 15:56:12.247672243 -0500
-@@ -472,7 +472,7 @@
+--- logrotate-3.8.6/logrotate.8.orig 2013-08-02 16:28:41.591589317 +0700
++++ logrotate-3.8.6/logrotate.8 2013-08-02 16:29:09.280202548 +0700
+@@ -506,7 +506,7 @@
for information on the taboo extensions). If a + precedes the list of
extensions, the current taboo extension list is augmented, otherwise it
is replaced. At startup, the taboo extension list
--contains .rpmsave, .rpmorig, ~, .disabled, .dpkg-old, .dpkg-dist, .dpkg-new, .cfsaved, .ucf-old, .ucf-dist, .ucf-new, .rpmnew, .swp, .cfsaved, .rhn-cfg-tmp-*
-+contains .rpmsave, .rpmorig, ~, .disabled, .dpkg-old, .dpkg-dist, .dpkg-new, .cfsaved, .ucf-old, .ucf-dist, .ucf-new, .rpmnew, .swp, .cfsaved, .rhn-cfg-tmp-*, .new, .old, .orig, .bak
+-contains .rpmsave, .rpmorig, ~, .disabled, .dpkg\-old, .dpkg\-dist, .dpkg\-new, .cfsaved, .ucf\-old, .ucf\-dist, .ucf\-new, .rpmnew, .swp, .cfsaved, .rhn\-cfg\-tmp\-*
++contains .rpmsave, .rpmorig, ~, .disabled, .dpkg\-old, .dpkg\-dist, .dpkg\-new, .cfsaved, .ucf\-old, .ucf\-dist, .ucf\-new, .rpmnew, .swp, .cfsaved, .rhn\-cfg\-tmp\-*, .new, .old, .orig, .bak
.TP
\fBweekly\fR
diff --git a/source/a/lrzip/lrzip.SlackBuild b/source/a/lrzip/lrzip.SlackBuild
index b45a8a5a0..5cc09be64 100755
--- a/source/a/lrzip/lrzip.SlackBuild
+++ b/source/a/lrzip/lrzip.SlackBuild
@@ -82,6 +82,8 @@ CFLAGS="$SLKCFLAGS" \
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
if [ -r doc/lrzip.conf.example ]; then
mkdir -p $PKG/etc
cp -a doc/lrzip.conf.example $PKG/etc/lrzip.conf.new
@@ -89,8 +91,11 @@ if [ -r doc/lrzip.conf.example ]; then
chmod 644 $PKG/etc/lrzip.conf.new
fi
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
# Compress and link manpages, if any:
if [ -d $PKG/usr/man ]; then
diff --git a/source/a/lvm2/lvm2.SlackBuild b/source/a/lvm2/lvm2.SlackBuild
index 349d5486f..d662476c5 100755
--- a/source/a/lvm2/lvm2.SlackBuild
+++ b/source/a/lvm2/lvm2.SlackBuild
@@ -22,7 +22,7 @@
VERSION=$(echo LVM2.*.tar.xz | cut -f 2- -d . | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/a/minicom/minicom.SlackBuild b/source/a/minicom/minicom.SlackBuild
index 19ec515fa..3d38d2514 100755
--- a/source/a/minicom/minicom.SlackBuild
+++ b/source/a/minicom/minicom.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=2.6
+VERSION=2.6.2
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j6}
diff --git a/source/a/mkinitrd/fixes-1.20.1/busybox-1.20.1-ash.patch b/source/a/mkinitrd/fixes-1.20.1/busybox-1.20.1-ash.patch
deleted file mode 100644
index a012a7063..000000000
--- a/source/a/mkinitrd/fixes-1.20.1/busybox-1.20.1-ash.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- busybox-1.20.1/shell/ash.c
-+++ busybox-1.20.1-ash/shell/ash.c
-@@ -6846,8 +6846,7 @@ evalvar(char *p, int flags, struct strli
- patloc = expdest - (char *)stackblock();
- if (NULL == subevalvar(p, /* varname: */ NULL, patloc, subtype,
- startloc, varflags,
--//TODO: | EXP_REDIR too? All other such places do it too
-- /* quotes: */ flags & (EXP_FULL | EXP_CASE),
-+ /* quotes: */ flags & (EXP_FULL | EXP_CASE | EXP_REDIR),
- var_str_list)
- ) {
- int amount = expdest - (
diff --git a/source/a/mkinitrd/fixes-1.20.1/busybox-1.20.1-ifupdown.patch b/source/a/mkinitrd/fixes-1.20.1/busybox-1.20.1-ifupdown.patch
deleted file mode 100644
index b2a945614..000000000
--- a/source/a/mkinitrd/fixes-1.20.1/busybox-1.20.1-ifupdown.patch
+++ /dev/null
@@ -1,75 +0,0 @@
---- busybox-1.20.1/networking/ifupdown.c
-+++ busybox-1.20.1-ifupdown/networking/ifupdown.c
-@@ -140,8 +140,6 @@ static const char keywords_up_down[] ALI
- "up\0"
- "down\0"
- "pre-up\0"
-- "pre-down\0"
-- "post-up\0"
- "post-down\0"
- ;
-
-@@ -895,6 +893,11 @@ static struct interfaces_file_t *read_in
- if (rest_of_line[0] == '\0')
- bb_error_msg_and_die("option with empty value \"%s\"", buf);
-
-+ if (strcmp(first_word, "post-up") == 0)
-+ first_word += 5; /* "up" */
-+ else if (strcmp(first_word, "pre-down") == 0)
-+ first_word += 4; /* "down" */
-+
- /* If not one of "up", "down",... words... */
- if (index_in_strings(keywords_up_down, first_word) < 0) {
- int i;
-@@ -963,7 +966,7 @@ static char *setlocalenv(const char *for
- return result;
- }
-
--static void set_environ(struct interface_defn_t *iface, const char *mode)
-+static void set_environ(struct interface_defn_t *iface, const char *mode, const char *opt)
- {
- int i;
- char **pp;
-@@ -976,7 +979,7 @@ static void set_environ(struct interface
- }
-
- /* note: last element will stay NULL: */
-- G.my_environ = xzalloc(sizeof(char *) * (iface->n_options + 6));
-+ G.my_environ = xzalloc(sizeof(char *) * (iface->n_options + 7));
- pp = G.my_environ;
-
- for (i = 0; i < iface->n_options; i++) {
-@@ -990,6 +993,7 @@ static void set_environ(struct interface
- *pp++ = setlocalenv("%s=%s", "ADDRFAM", iface->address_family->name);
- *pp++ = setlocalenv("%s=%s", "METHOD", iface->method->name);
- *pp++ = setlocalenv("%s=%s", "MODE", mode);
-+ *pp++ = setlocalenv("%s=%s", "PHASE", opt);
- if (G.startup_PATH)
- *pp++ = setlocalenv("%s=%s", "PATH", G.startup_PATH);
- }
-@@ -1044,21 +1048,21 @@ static int check(char *str)
- static int iface_up(struct interface_defn_t *iface)
- {
- if (!iface->method->up(iface, check)) return -1;
-- set_environ(iface, "start");
-+ set_environ(iface, "start", "pre-up");
- if (!execute_all(iface, "pre-up")) return 0;
- if (!iface->method->up(iface, doit)) return 0;
-+ set_environ(iface, "start", "post-up");
- if (!execute_all(iface, "up")) return 0;
-- if (!execute_all(iface, "post-up")) return 0;
- return 1;
- }
-
- static int iface_down(struct interface_defn_t *iface)
- {
- if (!iface->method->down(iface,check)) return -1;
-- set_environ(iface, "stop");
-- if (!execute_all(iface, "pre-down")) return 0;
-+ set_environ(iface, "stop", "pre-down");
- if (!execute_all(iface, "down")) return 0;
- if (!iface->method->down(iface, doit)) return 0;
-+ set_environ(iface, "stop", "post-down");
- if (!execute_all(iface, "post-down")) return 0;
- return 1;
- }
diff --git a/source/a/mkinitrd/fixes-1.20.1/busybox-1.20.1-man.patch b/source/a/mkinitrd/fixes-1.20.1/busybox-1.20.1-man.patch
deleted file mode 100644
index f382e078f..000000000
--- a/source/a/mkinitrd/fixes-1.20.1/busybox-1.20.1-man.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- busybox-1.20.1/miscutils/man.c
-+++ busybox-1.20.1-man/miscutils/man.c
-@@ -129,27 +129,21 @@ static int show_manpage(const char *page
- #endif
- #if ENABLE_FEATURE_SEAMLESS_XZ
- strcpy(ext, "xz");
-- if (run_pipe(pager, man_filename, man, level))
-+ if (run_pipe(pager, filename_with_zext, man, level))
- return 1;
- #endif
- #if ENABLE_FEATURE_SEAMLESS_BZ2
- strcpy(ext, "bz2");
-- if (run_pipe(pager, man_filename, man, level))
-+ if (run_pipe(pager, filename_with_zext, man, level))
- return 1;
- #endif
- #if ENABLE_FEATURE_SEAMLESS_GZ
- strcpy(ext, "gz");
-- if (run_pipe(pager, man_filename, man, level))
-+ if (run_pipe(pager, filename_with_zext, man, level))
- return 1;
- #endif
-
--#if SEAMLESS_COMPRESSION
-- ext[-1] = '\0';
--#endif
-- if (run_pipe(pager, man_filename, man, level))
-- return 1;
--
-- return 0;
-+ return run_pipe(pager, man_filename, man, level);
- }
-
- int man_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
diff --git a/source/a/mkinitrd/fixes-1.20.1/busybox-1.20.1-tar.patch b/source/a/mkinitrd/fixes-1.20.1/busybox-1.20.1-tar.patch
deleted file mode 100644
index 4129b6517..000000000
--- a/source/a/mkinitrd/fixes-1.20.1/busybox-1.20.1-tar.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- busybox-1.20.1/archival/libarchive/get_header_tar.c
-+++ busybox-1.20.1-tar/archival/libarchive/get_header_tar.c
-@@ -84,7 +84,7 @@ static unsigned long long getOctal(char
- first >>= 1; /* now 7th bit = 6th bit */
- v = first; /* sign-extend 8 bits to 64 */
- while (--len != 0)
-- v = (v << 8) + (unsigned char) *str++;
-+ v = (v << 8) + (uint8_t) *++str;
- }
- return v;
- }
diff --git a/source/a/mkinitrd/fixes-1.20.2/busybox-1.20.2-kernel_ver.patch b/source/a/mkinitrd/fixes-1.20.2/busybox-1.20.2-kernel_ver.patch
new file mode 100644
index 000000000..456fb08e1
--- /dev/null
+++ b/source/a/mkinitrd/fixes-1.20.2/busybox-1.20.2-kernel_ver.patch
@@ -0,0 +1,25 @@
+--- busybox-1.20.2/libbb/kernel_version.c
++++ busybox-1.20.2-kernel_ver/libbb/kernel_version.c
+@@ -20,18 +20,15 @@
+ int FAST_FUNC get_linux_version_code(void)
+ {
+ struct utsname name;
+- char *s;
++ char *s, *t;
+ int i, r;
+
+- if (uname(&name) == -1) {
+- bb_perror_msg("can't get system information");
+- return 0;
+- }
+-
++ uname(&name); /* never fails */
+ s = name.release;
+ r = 0;
+ for (i = 0; i < 3; i++) {
+- r = r * 256 + atoi(strtok(s, "."));
++ t = strtok(s, ".");
++ r = r * 256 + (t ? atoi(t) : 0);
+ s = NULL;
+ }
+ return r;
diff --git a/source/a/mkinitrd/fixes-1.20.2/busybox-1.20.2-ntpd.patch b/source/a/mkinitrd/fixes-1.20.2/busybox-1.20.2-ntpd.patch
new file mode 100644
index 000000000..17fc0b1c4
--- /dev/null
+++ b/source/a/mkinitrd/fixes-1.20.2/busybox-1.20.2-ntpd.patch
@@ -0,0 +1,11 @@
+--- busybox-1.20.2/networking/ntpd.c
++++ busybox-1.20.2-ntpd/networking/ntpd.c
+@@ -1840,7 +1840,7 @@ recv_and_process_client_pkt(void /*int f
+
+ /* Build a reply packet */
+ memset(&msg, 0, sizeof(msg));
+- msg.m_status = G.stratum < MAXSTRAT ? G.ntp_status : LI_ALARM;
++ msg.m_status = G.stratum < MAXSTRAT ? (G.ntp_status & LI_MASK) : LI_ALARM;
+ msg.m_status |= (query_status & VERSION_MASK);
+ msg.m_status |= ((query_status & MODE_MASK) == MODE_CLIENT) ?
+ MODE_SERVER : MODE_SYM_PAS;
diff --git a/source/a/mkinitrd/fixes-1.20.2/busybox-1.20.2-pkg-config-selinux.patch b/source/a/mkinitrd/fixes-1.20.2/busybox-1.20.2-pkg-config-selinux.patch
new file mode 100644
index 000000000..f39250c85
--- /dev/null
+++ b/source/a/mkinitrd/fixes-1.20.2/busybox-1.20.2-pkg-config-selinux.patch
@@ -0,0 +1,67 @@
+From b1cec5003b73080a8aa7ea277621bf1c71c3e8d6 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 20 Oct 2012 15:01:26 -0400
+Subject: [PATCH] build system: use pkg-config to look up selinux libs
+
+Newer versions of libselinux has started linking against more libs.
+Rather than continuing hardcoding things, switch to using pkg-config
+to query for its dependencies.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ Makefile | 1 +
+ Makefile.flags | 12 +++++++++++-
+ 2 files changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index fccde4a..3a0a5e1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -297,6 +297,7 @@ NM = $(CROSS_COMPILE)nm
+ STRIP = $(CROSS_COMPILE)strip
+ OBJCOPY = $(CROSS_COMPILE)objcopy
+ OBJDUMP = $(CROSS_COMPILE)objdump
++PKG_CONFIG ?= $(CROSS_COMPILE)pkg-config
+ AWK = awk
+ GENKSYMS = scripts/genksyms/genksyms
+ DEPMOD = /sbin/depmod
+diff --git a/Makefile.flags b/Makefile.flags
+index c43c8dc..15dcc1f 100644
+--- a/Makefile.flags
++++ b/Makefile.flags
+@@ -74,6 +74,12 @@ ARCH_FPIC ?= -fpic
+ ARCH_FPIE ?= -fpie
+ ARCH_PIE ?= -pie
+
++# Usage: $(eval $(call pkg_check_modules,VARIABLE-PREFIX,MODULES))
++define pkg_check_modules
++$(1)_CFLAGS := $(shell $(PKG_CONFIG) $(PKG_CONFIG_FLAGS) --cflags $(2))
++$(1)_LIBS := $(shell $(PKG_CONFIG) $(PKG_CONFIG_FLAGS) --libs $(2))
++endef
++
+ ifeq ($(CONFIG_BUILD_LIBBUSYBOX),y)
+ # on i386: 14% smaller libbusybox.so
+ # (code itself is 9% bigger, we save on relocs/PLT/GOT)
+@@ -85,6 +91,7 @@ endif
+
+ ifeq ($(CONFIG_STATIC),y)
+ CFLAGS_busybox += -static
++PKG_CONFIG_FLAGS += --static
+ endif
+
+ ifeq ($(CONFIG_PIE),y)
+@@ -127,7 +134,10 @@ LDLIBS += pam pam_misc pthread
+ endif
+
+ ifeq ($(CONFIG_SELINUX),y)
+-LDLIBS += selinux sepol
++SELINUX_PC_MODULES = libselinux libsepol
++$(eval $(call pkg_check_modules,SELINUX,$(SELINUX_PC_MODULES)))
++CPPFLAGS += $(SELINUX_CFLAGS)
++LDLIBS += $(if $(SELINUX_LIBS),$(SELINUX_LIBS:-l%=%),$(SELINUX_PC_MODULES:lib%=%))
+ endif
+
+ ifeq ($(CONFIG_EFENCE),y)
+--
+1.7.12
+
diff --git a/source/a/mkinitrd/fixes-1.20.2/busybox-1.20.2-sys-resource.patch b/source/a/mkinitrd/fixes-1.20.2/busybox-1.20.2-sys-resource.patch
new file mode 100644
index 000000000..7b1850084
--- /dev/null
+++ b/source/a/mkinitrd/fixes-1.20.2/busybox-1.20.2-sys-resource.patch
@@ -0,0 +1,123 @@
+From 5a5dfcad6ba96d12d68bd7b39279215a8fee70d3 Mon Sep 17 00:00:00 2001
+From: Tias Guns <tias@ulyssis.org>
+Date: Sun, 10 Jun 2012 14:19:01 +0200
+Subject: [PATCH] inetd: fix build failure in Android
+
+Signed-off-by: Tias Guns <tias@ulyssis.org>
+Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
+(cherry picked from commit 64f763b42a43cbf36e401690ff6767c25575e520)
+---
+ networking/inetd.c | 1 +
+ 1 file changed, 1 insertion(+)
+--
+1.7.12
+
+From 246ea72843d5b7e9d4cd902dc5e9d71359196303 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Thu, 5 Jul 2012 23:19:09 -0400
+Subject: [PATCH] include sys/resource.h where needed
+
+We use functions from sys/resource.h in misc applets, but don't include
+the header. This breaks building with newer glibc versions, so add the
+include where needed.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+(cherry picked from commit c5fe9f7b723f949457263ef8e22ab807d5b549ce)
+---
+ loginutils/passwd.c | 1 +
+ miscutils/time.c | 1 +
+ networking/inetd.c | 1 +
+ networking/ntpd.c | 1 +
+ networking/ntpd_simple.c | 1 +
+ runit/chpst.c | 1 +
+ shell/shell_common.c | 1 +
+ 7 files changed, 7 insertions(+)
+
+diff --git a/loginutils/passwd.c b/loginutils/passwd.c
+index b83db00..a7006f0 100644
+--- a/loginutils/passwd.c
++++ b/loginutils/passwd.c
+@@ -15,6 +15,7 @@
+
+ #include "libbb.h"
+ #include <syslog.h>
++#include <sys/resource.h> /* setrlimit */
+
+ static void nuke_str(char *str)
+ {
+diff --git a/miscutils/time.c b/miscutils/time.c
+index 945f15f..ffed386 100644
+--- a/miscutils/time.c
++++ b/miscutils/time.c
+@@ -16,6 +16,7 @@
+ //usage: "\n -v Verbose"
+
+ #include "libbb.h"
++#include <sys/resource.h> /* getrusage */
+
+ /* Information on the resources used by a child process. */
+ typedef struct {
+diff --git a/networking/inetd.c b/networking/inetd.c
+index 1308d74..00baf69 100644
+--- a/networking/inetd.c
++++ b/networking/inetd.c
+@@ -165,6 +165,8 @@
+ //usage: "\n (default: 0 - disabled)"
+
+ #include <syslog.h>
++#include <sys/resource.h> /* setrlimit */
++#include <sys/socket.h> /* un.h may need this */
+ #include <sys/un.h>
+
+ #include "libbb.h"
+diff --git a/networking/ntpd.c b/networking/ntpd.c
+index 603801e..b885215 100644
+--- a/networking/ntpd.c
++++ b/networking/ntpd.c
+@@ -46,6 +46,7 @@
+ #include "libbb.h"
+ #include <math.h>
+ #include <netinet/ip.h> /* For IPTOS_LOWDELAY definition */
++#include <sys/resource.h> /* setpriority */
+ #include <sys/timex.h>
+ #ifndef IPTOS_LOWDELAY
+ # define IPTOS_LOWDELAY 0x10
+diff --git a/networking/ntpd_simple.c b/networking/ntpd_simple.c
+index 4ad44e4..1b7c66b 100644
+--- a/networking/ntpd_simple.c
++++ b/networking/ntpd_simple.c
+@@ -7,6 +7,7 @@
+ */
+ #include "libbb.h"
+ #include <netinet/ip.h> /* For IPTOS_LOWDELAY definition */
++#include <sys/resource.h> /* setpriority */
+ #ifndef IPTOS_LOWDELAY
+ # define IPTOS_LOWDELAY 0x10
+ #endif
+diff --git a/runit/chpst.c b/runit/chpst.c
+index ac296ba..ed72c8b 100644
+--- a/runit/chpst.c
++++ b/runit/chpst.c
+@@ -91,6 +91,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ //usage: "\n a SIGXCPU after N seconds"
+
+ #include "libbb.h"
++#include <sys/resource.h> /* getrlimit */
+
+ /*
+ Five applets here: chpst, envdir, envuidgid, setuidgid, softlimit.
+diff --git a/shell/shell_common.c b/shell/shell_common.c
+index 51c92d6..780e27e 100644
+--- a/shell/shell_common.c
++++ b/shell/shell_common.c
+@@ -18,6 +18,7 @@
+ */
+ #include "libbb.h"
+ #include "shell_common.h"
++#include <sys/resource.h> /* getrlimit */
+
+ const char defifsvar[] ALIGN1 = "IFS= \t\n";
+
+--
+1.7.12
+
diff --git a/source/a/mkinitrd/init b/source/a/mkinitrd/init
index ae475d890..b31eb0e4c 100755
--- a/source/a/mkinitrd/init
+++ b/source/a/mkinitrd/init
@@ -4,7 +4,7 @@
# This requires that your kernel supports initramfs!!!
#
# Copyright 2004 Slackware Linux, Inc., Concord, CA, USA
-# Copyright 2007, 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2007, 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,8 @@
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
+#
+##################################################################################
# With a generic kernel, you need to load the modules needed to mount the
# root partition. This might mean a SCSI, RAID, or other drive controller
# module, as well as the module to support the root filesystem. Once the
@@ -62,6 +62,13 @@
# need to make it executable:
#
# chmod 755 load_kernel_modules
+##################################################################################
+# Changelog
+# 10-Dec-2012 <mozes@slackware.com>
+# * Added support for the official Kernel parameters to select root filesystem
+# type ('rootfstype') and pause before attempting to mount the root filesystem
+# ('rootdelay'). The original parameters may continue to be used.
+##################################################################################
INITRD=$(cat /initrd-name)
ROOTDEV=$(cat /rootdev)
@@ -115,10 +122,10 @@ for ARG in $(cat /proc/cmdline); do
root=UUID=*)
ROOTDEV=$(echo $ARG | cut -f2- -d=)
;;
- rootfs=*)
+ rootfs=*|rootfstype=*)
ROOTFS=$(echo $ARG | cut -f2 -d=)
;;
- waitforroot=*)
+ waitforroot=*|rootdelay=*)
WAIT=$(echo $ARG | cut -f2 -d=)
;;
esac
@@ -163,11 +170,15 @@ fi
if [ "$RESCUE" = "" ]; then
# Initialize RAID:
if [ -x /sbin/mdadm ]; then
- /sbin/mdadm -E -s >/etc/mdadm.conf
- /sbin/mdadm -S -s
- /sbin/mdadm -A -s
- # This seems to make the kernel see partitions more reliably:
- fdisk -l /dev/md* 1> /dev/null 2> /dev/null
+ # If /etc/mdadm.conf is present, udev should DTRT on its own;
+ # If not, we'll make one and go from there:
+ if [ ! -r /etc/mdadm.conf ]; then
+ /sbin/mdadm -E -s >/etc/mdadm.conf
+ /sbin/mdadm -S -s
+ /sbin/mdadm -A -s
+ # This seems to make the kernel see partitions more reliably:
+ fdisk -l /dev/md* 1> /dev/null 2> /dev/null
+ fi
fi
# Unlock any encrypted partitions necessary to access the
diff --git a/source/a/mkinitrd/mkinitrd b/source/a/mkinitrd/mkinitrd
index c5e30218b..fdc269348 100644
--- a/source/a/mkinitrd/mkinitrd
+++ b/source/a/mkinitrd/mkinitrd
@@ -45,7 +45,7 @@
# Modified by Patrick Volkerding <volkerdi@slackware.com> 21 August 2012
# Add Btrfs multi-device filesystem support option (-B).
-MKINITRD_VERSION=1.4.7
+MKINITRD_VERSION=1.4.8
# Don't include these things from /lib/udev/ in the initrd image
LIBUDEV_BLACKLIST="\
@@ -101,7 +101,7 @@ initrd, and the script is easy to modify. Be creative. :-)
then you need to pass: -K LABEL=TRAVELSTICK:/keys/alien.luks
-B Add /sbin/btrfs to enable scanning for a root filesystem that is
part of a Btrfs multi-device filesystem.
- -M Add the files in /etc/modprobe.d/ to the initrd
+ -M Add the files in /etc/modprobe.d/ and /lib/modprobe.d/ to the initrd
-R Add support for RAID partitions
-V Display version number
@@ -422,6 +422,10 @@ fi
# (unless we find that value is already set in the initrd-tree):
if [ -z "$WAIT" -a -z "$(cat $SOURCE_TREE/wait-for-root)" ]; then
WAIT=1
+ # ARM devices need even more time:
+ case "$( uname -m )" in
+ arm*) WAIT=4;;
+ esac
fi
if [ ! -z "$WAIT" ]; then
echo $WAIT > $SOURCE_TREE/wait-for-root
@@ -479,6 +483,9 @@ if [ ! -z "$RAID" ]; then
mkdir -p $SOURCE_TREE/lib/udev/rules.d
echo 'KERNEL=="dm-[0-9]*", OPTIONS+="db_persist"' > \
$SOURCE_TREE/lib/udev/rules.d/95-dm-initrd.rules
+ if [ -r /etc/mdadm.conf ] ; then
+ cp /etc/mdadm.conf $SOURCE_TREE/etc
+ fi
else
echo "ERROR: mdadm and/or mdmon binary is missing, RAID support not installed"
fi
@@ -674,7 +681,7 @@ if [ ! -z "$MODULE_LIST" ]; then
# Pregenerate the module dependency information
depmod -a -b $SOURCE_TREE ${KERNEL_VERSION}
- # Copy /etc/modprobe.d/* if desired
+ # Copy /{etc,lib}/modprobe.d/* if desired
if [ ! -z $MODCONF ]; then
copy_modconf
fi
diff --git a/source/a/mkinitrd/mkinitrd.SlackBuild b/source/a/mkinitrd/mkinitrd.SlackBuild
index 322fa8c5d..4683a17f4 100755
--- a/source/a/mkinitrd/mkinitrd.SlackBuild
+++ b/source/a/mkinitrd/mkinitrd.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,9 +21,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-1.4.7}
-BB=1.20.1
-BUILD=${BUILD:-6}
+VERSION=${VERSION:-1.4.8}
+BB=1.20.2
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -83,6 +83,11 @@ chmod 644 $PKG/usr/share/mkinitrd/keymaps.tar.gz
( cd $PKG/usr/share/mkinitrd/initrd-tree
tar xf $CWD/_initrd-tree.tar.gz
cat $CWD/init > init
+
+ # These are useful for ARM:
+ mknod -m 644 dev/random c 1 8
+ mknod -m 644 dev/urandom c 1 9
+
tar czf ../initrd-tree.tar.gz .
)
rm -rf $PKG/usr/share/mkinitrd/initrd-tree
@@ -107,6 +112,11 @@ cat $CWD/mkinitrd.conf.5 | gzip -9c > $PKG/usr/man/man5/mkinitrd.conf.5.gz
mkdir -p $PKG/etc
cp -a $CWD/mkinitrd.conf.sample $PKG/etc/mkinitrd.conf.sample
+# ARM systems often need more time to find devices:
+case "$( uname -m )" in
+ arm*) sed -e 's@#WAIT="1"@#WAIT="4"@g' \
+ -i $PKG/etc/mkinitrd.conf.sample;;
+esac
chown root:root $PKG/etc/mkinitrd.conf.sample
chmod 644 $PKG/etc/mkinitrd.conf.sample
diff --git a/source/a/mkinitrd/mkinitrd_command_generator.sh b/source/a/mkinitrd/mkinitrd_command_generator.sh
index 04c0c2a03..16893b05b 100644
--- a/source/a/mkinitrd/mkinitrd_command_generator.sh
+++ b/source/a/mkinitrd/mkinitrd_command_generator.sh
@@ -1,5 +1,6 @@
#!/bin/sh
# $Id: mkinitrd_command_generator.sh,v 1.45 2011/02/17 09:27:05 eha Exp eha $
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# Copyright 2008, 2009, 2010, 2011 Eric Hameleers, Eindhoven, Netherlands
# Contact: <alien@slackware.com>
# Copyright 2008, 2009 PiterPUNK, Sao Paulo, SP, Brazil
@@ -50,7 +51,12 @@ SOURCE_TREE=${SOURCE_TREE:-"/boot/initrd-tree"}
CLEAR_TREE=${CLEAR_TREE:-1}
KEYMAP=${KEYMAP:-"us"}
UDEV=${UDEV:-1}
-WAIT=${WAIT:-1}
+# ARM devices need more time:
+case "$( uname -m )" in
+ arm*) WAIT_DEFAULT=4;;
+ *) WAIT_DEFAULT=1;;
+esac
+WAIT=${WAIT:-$WAIT_DEFAULT}
# A basic explanation of the commandline parameters:
basic_usage() {
@@ -108,7 +114,7 @@ extended_usage() {
the script determines, you can pass then to the script using the '-m'
parameter as follows:
- $(basename $0) -m "uhci-hcd:usbhid"
+ $(basename $0) -m "uhci-hcd:usbhid:hid_generic"
The above example adds support for USB keyboards to the initrd - you
may need that if you have encrypted your root partition and need to
@@ -219,7 +225,7 @@ function add_usb_keyboard() {
local USBMOD
if cat /proc/bus/input/devices | sed -e 's/^$/\$/g' | \
tr "\n$" " \n" | grep -q " Phys=.*usb.* .*Handlers=.*kbd.*B:"; then
- USBMOD="usbhid"
+ USBMOD="usbhid:hid_generic"
[ -n "$MLIST" ] && MLIST="$MLIST:$USBMOD" \
|| MLIST="$USBMOD"
fi
@@ -375,7 +381,7 @@ while [ ! -z "$1" ]; do
KFILE=$(basename $KFILE)
fi
KFILE=${KFILEPATH}/$KFILE
- if [ -z "$(file $KFILE | grep 'Linux kernel x86 boot')" ]; then
+ if [ -z "$(file $KFILE | grep -E 'Linux kernel x86 boot|x86 boot sector')" ]; then
echo "File '$KFILE' does not look like it is a kernel file!"
exit 1
fi
@@ -439,7 +445,8 @@ if echo $MLIST | grep -q "virtio"; then
MLIST="$MLIST:virtio:virtio_balloon:virtio_blk:virtio_ring:virtio_pci:virtio_net"
fi
-# Determine if a USB keyboard is in use and include usbhid to module list
+# Determine if a USB keyboard is in use and include usbhid and hid_generic
+# to module list
MLIST=$(add_usb_keyboard)
# If we use any USB module, try to determine the Host Controller
@@ -546,7 +553,7 @@ configurations are optional and you can stick to the defaults." 11 72 3 \
$([ $USING_LUKS = 1 ] && echo on || echo off) \
"RESUMEDEV" "Select device for 'suspend-to-disk' feature" off \
"UDEV" "Use UDEV in the initrd for device configuration" $(test $UDEV -eq 1 && echo on || echo off) \
-"WAIT" "Add delay to allow detection of slow disks at boot" $(test WAIT -gt 1 && echo on || echo off) )
+"WAIT" "Add delay to allow detection of slow disks at boot" $(test $WAIT -gt $WAIT_DEFAULT && echo on || echo off) )
if [ "$?" != "0" ]; then
exit 1
fi
@@ -794,7 +801,7 @@ if [ $UDEV -eq 1 ]; then
# Add UDEV support:
MKINIT="$MKINIT -u"
fi
-if [ -n "$WAIT" -a $WAIT -ne 1 ]; then
+if [ -n "$WAIT" -a $WAIT -ne $WAIT_DEFAULT ]; then
# Add non-default wait time:
MKINIT="$MKINIT -w $WAIT"
fi
diff --git a/source/a/ntfs-3g/ntfs-3g.SlackBuild b/source/a/ntfs-3g/ntfs-3g.SlackBuild
index 086cb3e87..ca5c46e50 100755
--- a/source/a/ntfs-3g/ntfs-3g.SlackBuild
+++ b/source/a/ntfs-3g/ntfs-3g.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for ntfs-3g
# Copyright 2008 Antonio Hernandez Blas <hba.nihilismus@gmail.com>
-# Copyright 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -27,8 +27,8 @@
# Modified by Eric Hameleers <alien@slackware.com>
PKGNAM=ntfs-3g
-VERSION=2012.1.15
-BUILD=${BUILD:-2}
+VERSION=2013.1.13
+BUILD=${BUILD:-1}
SRCNAM=ntfs-3g_ntfsprogs
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -97,11 +97,11 @@ make install DESTDIR=$PKG || exit 1
# any better ideas, I'd like to hear them.
chmod 4711 $PKG/bin/ntfs-3g
-# Add the HAL fdi file so that automount uses ntfs-3g for mounting
-# This should work with the "volume.fstype.alternative.*" in hal-0.5.12+
-mkdir -p $PKG/usr/share/hal/fdi/policy/10osvendor
-cat $CWD/10-ntfs-3g-policy.fdi \
- > $PKG/usr/share/hal/fdi/policy/10osvendor/10-ntfs-3g-policy.fdi
+## Add the HAL fdi file so that automount uses ntfs-3g for mounting
+## This should work with the "volume.fstype.alternative.*" in hal-0.5.12+
+#mkdir -p $PKG/usr/share/hal/fdi/policy/10osvendor
+#cat $CWD/10-ntfs-3g-policy.fdi \
+# > $PKG/usr/share/hal/fdi/policy/10osvendor/10-ntfs-3g-policy.fdi
# Create a mount.ntfs -> mount.ntfs-3g symlink.
# This causes ntfs-3g to always be used when mounting NTFS filesystems.
diff --git a/source/a/os-prober/os-prober.SlackBuild b/source/a/os-prober/os-prober.SlackBuild
new file mode 100755
index 000000000..4e443e68b
--- /dev/null
+++ b/source/a/os-prober/os-prober.SlackBuild
@@ -0,0 +1,141 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=os-prober
+VERSION=${VERSION:-$(echo $PKGNAM_*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d _ | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/${PKGNAM}_$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+# Don't drop support for reiserfs. It's still in the kernel (for now):
+zcat $CWD/os-prober.reiserfs.diff.gz | patch -p1 --verbose || exit 1
+
+# Edit the scripts to use $LIBDIRSUFFIX=64 if needed:
+if [ "$LIBDIRSUFFIX" = "64" ]; then
+ find -type f -exec sed -i -e 's|usr/lib|usr/lib64|g' {} \;
+fi
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+make || exit 1
+
+mkdir -p $PKG/usr/bin
+cp -a linux-boot-prober os-prober $PKG/usr/bin
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
+cp -a linux-boot-probes os-probes $PKG/usr/lib${LIBDIRSUFFIX}
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/linux-boot-probes
+ for probe in common/* ; do
+ ln -sf $probe .
+ done
+ cd mounted
+ for probe in common/* x86/* ; do
+ ln -sf $probe .
+ done
+)
+( cd $PKG/usr/lib${LIBDIRSUFFIX}/os-probes
+ for probe in common/* ; do
+ ln -sf $probe .
+ done
+ cd init
+ for probe in common/* ; do
+ ln -sf $probe .
+ done
+ cd ../mounted
+ for probe in common/* x86/* ; do
+ ln -sf $probe .
+ done
+)
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/os-prober
+cp -a newns $PKG/usr/lib${LIBDIRSUFFIX}/os-prober
+mkdir -p $PKG/usr/share/os-prober
+cp -a common.sh $PKG/usr/share/os-prober
+mkdir -p $PKG/var/lib/os-prober
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a README TODO $PKG/usr/doc/$PKGNAM-$VERSION
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+mkdir $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/a/os-prober/os-prober.reiserfs.diff b/source/a/os-prober/os-prober.reiserfs.diff
new file mode 100644
index 000000000..2daa89f54
--- /dev/null
+++ b/source/a/os-prober/os-prober.reiserfs.diff
@@ -0,0 +1,11 @@
+--- ./os-probes/init/common/10filesystems.orig 2013-07-23 02:38:08.000000000 -0500
++++ ./os-probes/init/common/10filesystems 2013-08-30 15:21:07.382157112 -0500
+@@ -2,7 +2,7 @@
+ # Make sure filesystems are available.
+ set +e # ignore errors from modprobe
+
+-FILESYSTEMS='ext2 ext3 ext4 xfs jfs msdos vfat ntfs minix hfs hfsplus qnx4 ufs btrfs'
++FILESYSTEMS='ext2 ext3 ext4 reiserfs xfs jfs msdos vfat ntfs minix hfs hfsplus qnx4 ufs btrfs'
+ # fuse is needed to make grub-mount work.
+ FILESYSTEMS="$FILESYSTEMS fuse"
+ # The Ubuntu kernel udebs put a number of filesystem modules in
diff --git a/source/a/os-prober/slack-desc b/source/a/os-prober/slack-desc
new file mode 100644
index 000000000..36c5ef2ce
--- /dev/null
+++ b/source/a/os-prober/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+os-prober: os-prober (an OS detector)
+os-prober:
+os-prober: os-prober detects OSes on other partitions than the current system
+os-prober: partition, and outputs the results in a generic machine-readable
+os-prober: format. This information can be used to add other OSes to the boot
+os-prober: loader.
+os-prober:
+os-prober: Homepage: http://packages.debian.org/unstable/utils/os-prober
+os-prober:
+os-prober:
+os-prober:
diff --git a/source/a/pciutils/pciutils-3.2.0.tar.sign b/source/a/pciutils/pciutils-3.2.0.tar.sign
new file mode 100644
index 000000000..5cc46614f
--- /dev/null
+++ b/source/a/pciutils/pciutils-3.2.0.tar.sign
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+
+iQIVAwUAUXFFN8KOeEftcPgtAQLG3w/8C2cNMhW3v4romdMzTFJ0StgayKsQhvNk
+BxG1FLexwswGWO91TPz52bwOcgN+8OZODsTLf2iMmnt5wVnskov/z73KHPEXKFW7
+Q7fpbSszaAWklDL0G4Pp6kdt7yxFKgqPDSIbKbmMNTzFdTF5QyqajAJ6/3ah1cEt
+z75Nb3II24Yaip7ibRjb8d1OS9EpN64J+pEbrGLPh7FFOfqfY6yQtFdajdLor31x
+/zs/VcI1gjlGaKym8zQkamH561NDQLUoWxSNjnNDLbSEn369r4pBBuQbr4iXrPDB
+dGV+g6FXLFGb7QRODrLsRO+xLswQG7Jpn7dyd7Uxf1HoYuy8USXMg5gZPjNctWA3
+ZRF4RAP4AgxLSIwQBZqDjjDIwf52cJsrKC37AFLqmWMn5zyPNcLdFlkYbN2DiwPE
+5Q2egQMB13xeURwOgEeQ3BA5AbAOx4JdlctyM+WUl5zhzheUqlmZRN6rg/cJt1HY
+NhsbA4Gkt2OZYXJdpPixBJENxV8RJftNMVd4WKhLktJ8uzLoG/sWfyI6NBOXC17x
+7+fZTFV9MeY9/JJsyY8WMYT94ut7wyR7nSFfe6ZsPSRV8DTZNlSITF9Qb3czTGOY
+te4jC/oH+yNzyWCLvRD0uuf/cxmZKQqfsfosU4w+0nONoe15CCWkx7laYwBx0hN3
+l7tsXYaGnbk=
+=fcLj
+-----END PGP SIGNATURE-----
diff --git a/source/a/pciutils/pciutils.SlackBuild b/source/a/pciutils/pciutils.SlackBuild
index 03268420e..c79361066 100755
--- a/source/a/pciutils/pciutils.SlackBuild
+++ b/source/a/pciutils/pciutils.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-$(echo pciutils-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo pciutils-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j3}
@@ -55,7 +55,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf pciutils-$VERSION
-tar xvf $CWD/pciutils-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/pciutils-$VERSION.tar.xz || exit 1
cd pciutils-$VERSION
chown -R root:root .
@@ -68,7 +68,6 @@ find . \
zcat $CWD/pciutils.dontcompress.diff.gz | patch -p1 || exit 1
zcat $CWD/pciutils.update.pci.ids.url.diff.gz | patch -p1 || exit 1
-# Make and install the shared library
make \
PREFIX=/usr \
SBINDIR=/sbin \
diff --git a/source/a/pkgtools/pkgtools.SlackBuild b/source/a/pkgtools/pkgtools.SlackBuild
index c5bc2d439..d29306380 100755
--- a/source/a/pkgtools/pkgtools.SlackBuild
+++ b/source/a/pkgtools/pkgtools.SlackBuild
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -27,7 +27,7 @@ fi
PKG=$TMP/package-pkgtools
# *** UPDATE THESE WITH EACH BUILD:
-VERSION=14.0
+VERSION=14.1
ARCH=${ARCH:-noarch}
BUILD=2
@@ -50,7 +50,9 @@ mkdir -p $PKG
( cd $CWD/scripts
# Install the core Slackware package tools:
mkdir -p $PKG/sbin
- for file in explodepkg installpkg makebootdisk makepkg pkgtool removepkg upgradepkg ; do
+ # Don't include makebootdisk... it's useless since a kernel won't fit on a
+ # floppy disk, and nobody uses floppies any more anyway.
+ for file in explodepkg installpkg makepkg pkgtool removepkg upgradepkg ; do
cp -a $CWD/scripts/$file $PKG/sbin
done
chown root:root $PKG/sbin/*
@@ -63,6 +65,8 @@ mkdir -p $PKG
done
chown root:root $PKG/var/log/setup/setup.*
chmod 755 $PKG/var/log/setup/setup.*
+ # Add a link for makebootstick:
+ ( cd $PKG/sbin ; ln -sf ../var/log/setup/setup.80.make-bootdisk makebootstick )
)
mkdir -p $PKG/install
diff --git a/source/a/pkgtools/scripts/pkgtool b/source/a/pkgtools/scripts/pkgtool
index ba8ecd0ad..dd9d6816f 100644
--- a/source/a/pkgtools/scripts/pkgtool
+++ b/source/a/pkgtools/scripts/pkgtool
@@ -4,7 +4,7 @@
# 1998, 1999 Patrick Volkerding, Moorhead, MN USA
# Copyright 2001, 2004 Slackware Linux, Inc., Concord, CA USA
# All rights reserved.
-# Copyright 2007, 2009, 2010, 2011 Patrick Volkerding, Sebeka, MN, USA
+# Copyright 2007, 2009, 2010, 2011, 2013 Patrick Volkerding, Sebeka, MN, USA
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
@@ -212,7 +212,7 @@ else # there were no arguments, so we'll get the needed information from the
CMD_START="true"
rm -f $TMP/SeT*
while [ 0 ]; do
- dialog --title "Slackware Package Tool (pkgtool version 14.0)" \
+ dialog --title "Slackware Package Tool (pkgtool version 14.1)" \
--menu "\nWelcome to the Slackware package tool.\n\
\nWhich option would you like?\n" 17 75 7 \
"Current" "Install packages from the current directory" \
diff --git a/source/a/pkgtools/scripts/setup.80.make-bootdisk b/source/a/pkgtools/scripts/setup.80.make-bootdisk
index d9b4012f2..a5d442354 100644
--- a/source/a/pkgtools/scripts/setup.80.make-bootdisk
+++ b/source/a/pkgtools/scripts/setup.80.make-bootdisk
@@ -1,14 +1,26 @@
#!/bin/sh
#BLURB="Create a USB Linux boot stick"
-RDIR=/dev/tty4
+if [ -r /usr/lib/setup/setup ]; then
+ RDIR=/dev/tty4
+else
+ RDIR=/dev/null
+fi
NDIR=/dev/null
TMP=/var/log/setup/tmp
if [ ! -d $TMP ]; then
mkdir -p $TMP
fi
-T_PX="$1"
-ROOT_DEVICE="$2"
+if [ -z "$T_PX" ]; then
+ T_PX=/
+else
+ T_PX="$1"
+fi
+if [ -z "$2" ]; then
+ ROOT_DEVICE=$(mount | head -n 1 | cut -f 1 -d ' ')
+else
+ ROOT_DEVICE="$2"
+fi
while [ 0 ]; do # the bootdisk menu loop
# Run "rescan-scsi-bus -l" to get an up to date overview of devices:
@@ -19,7 +31,12 @@ while [ 0 ]; do # the bootdisk menu loop
[ -r /sys/block/$BDEV/removable -a "$(cat /sys/block/$BDEV/removable)" == "1" ] \
&& echo $BDEV >> $TMP/remov_prior
done
- dialog --title "MAKE USB FLASH BOOT" --default-item "Skip" --menu \
+ if [ "$T_PX" = "/" ]; then
+ DEFAULTITEM="Create"
+ else
+ DEFAULTITEM="Skip"
+ fi
+ dialog --title "MAKE USB FLASH BOOT" --default-item "$DEFAULTITEM" --menu \
"If your computer supports booting from a USB device, it is recommended that you make \
a USB boot stick for your system at this time. It will boot your computer straight \
into the root filesystem on $ROOT_DEVICE. \n\
@@ -151,14 +168,53 @@ EOF
F2 returns to the previous page.
EOF
+ if [ "$(uname -m)" == "x86_64" ]; then # also install an EFI bootloader
+ mkdir -p $TMP/bootdisk/EFI/BOOT 1> /dev/null 2> /dev/null
+ cp $T_PX/boot/elilo-x86_64.efi $TMP/bootdisk/EFI/BOOT/BOOTX64.EFI 1> /dev/null 2> /dev/null
+ cat << EOF > $TMP/bootdisk/EFI/BOOT/message.txt 2> /dev/null
+
+Welcome to the Slackware Linux custom USB boot stick!
+
+By default, this stick boots a root Linux partition on $ROOT_DEVICE when you
+hit ENTER. If you'd like to boot some other partition, use a command like
+this on the prompt below:
+
+ huge.s root=/dev/sda1 ro
+
+Where "/dev/sda1" is the partition you want to boot, and "ro" specifies that
+the partition should be initially mounted as read-only. If you wish to mount
+the partition read-write, use "rw" instead. You may also add any other
+kernel parameters you might need depending on your hardware, and which
+drivers are included in your kernel.
+
+Hit ENTER to boot:
+
+EOF
+ cat << EOF > $TMP/bootdisk/EFI/BOOT/elilo.conf 2> /dev/null
+chooser=simple
+message=message.txt
+delay=300
+timeout=300
+#
+image=/vmlinuz
+ label=huge.s
+ read-only
+ append="root=$ROOT_DEVICE vga=normal ro"
+EOF
+ fi # end EFI installation
umount /dev/$STICK
rm -r $TMP/bootdisk
# Make the device bootable:
syslinux -s /dev/$STICK 1> /dev/null 2> /dev/null
+ if [ "$T_PX" = "/" ]; then
+ dialog --title "USB BOOT STICK CREATED" --msgbox \
+ "The USB boot stick has been successfully created on device /dev/$STICK." 6 60
+ exit
+ fi
dialog --title "USB BOOT STICK CREATED" --ok-label Continue --cancel-label Create --menu \
-"The USB boot stick has been successfully created in /dev/$STICK. If you would like to \
+"The USB boot stick has been successfully created on device /dev/$STICK. If you would like to \
create an additional boot stick, please select 'Create' and we'll go back and make another \
-one, otherwise select 'Continue' to continue configuring your system." 12 70 2 \
+one, otherwise select 'Continue' to continue configuring your system." 12 71 2 \
"Continue" "Continue the configuration (done making boot sticks)" \
"Create" "Make a spare Linux boot stick in /dev/$STICK" \
2> $TMP/return
diff --git a/source/a/procps/procps-3.2.8.makefile.diff b/source/a/procps/procps-3.2.8.makefile.diff
new file mode 100644
index 000000000..383d328cb
--- /dev/null
+++ b/source/a/procps/procps-3.2.8.makefile.diff
@@ -0,0 +1,11 @@
+--- ./Makefile.orig 2009-05-10 13:50:48.000000000 -0500
++++ ./Makefile 2013-06-25 16:19:06.058320108 -0500
+@@ -174,7 +174,7 @@
+ # want this rule first, use := on ALL, and ALL not filled in yet
+ all: do_all
+
+--include */module.mk
++-include proc/module.mk ps/module.mk
+
+ do_all: $(ALL)
+
diff --git a/source/a/procps/procps.SlackBuild b/source/a/procps/procps.SlackBuild
index e5e85ffc4..255ece40d 100755
--- a/source/a/procps/procps.SlackBuild
+++ b/source/a/procps/procps.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@ VERSION=3.2.8
# Sometimes this number lags behind...
SOVER=3.2.8
PSMISCVER=22.13
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -100,8 +100,11 @@ zcat $CWD/procps-3.2.8-ps-cgroup-suppress-root-group.patch.gz | patch -p1 --verb
# Init contructors in correct order to avoid "Unknown HZ value!":
zcat $CWD/procps-3.2.8.unknown.hz.value.diff.gz | patch -p1 --verbose || exit 1
+# Fix an ordering problem in the Makefile:
+zcat $CWD/procps-3.2.8.makefile.diff.gz | patch -p1 --verbose || exit 1
+
make OPT="$SLKCFLAGS" || make OPT="$SLKCFLAGS" || exit 1
-mkdir -p $PKG/lib${LIBDIRSUFFIX} $PKG/bin $PKG/sbin $PKG/usr/bin
+mkdir -p $PKG/lib${LIBDIRSUFFIX} $PKG/bin $PKG/sbin $PKG/usr/bin $PKG/usr/include/proc
cat free > $PKG/bin/free
cat ps/ps> $PKG/bin/ps
cat proc/libproc-${SOVER}.so > $PKG/lib${LIBDIRSUFFIX}/libproc-${SOVER}.so
@@ -123,6 +126,9 @@ cat watch > $PKG/usr/bin/watch
ln -sf /bin/free .
ln -sf /bin/ps .
)
+cp -a proc/*.h $PKG/usr/include/proc
+chown -R root:root $PKG/usr/include/proc
+chmod 644 $PKG/usr/include/proc/*
cp -a ps/ps.1 .
mkdir -p $PKG/usr/man/man1
for page in free.1 pgrep.1 pkill.1 ps.1 slabtop.1 skill.1 snice.1 tload.1 top.1 uptime.1 w.1 watch.1 ; do
diff --git a/source/a/reiserfsprogs/reiserfsprogs.SlackBuild b/source/a/reiserfsprogs/reiserfsprogs.SlackBuild
index fc38990da..83467e323 100755
--- a/source/a/reiserfsprogs/reiserfsprogs.SlackBuild
+++ b/source/a/reiserfsprogs/reiserfsprogs.SlackBuild
@@ -20,7 +20,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=3.6.21
+VERSION=${VERSION:-3.6.23}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -85,19 +85,13 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
ln -sf reiserfsck fsck.reiserfs
)
-# These were renamed, it seems
-# --> Deleting /usr/man/man8/debugreiserfs.8.gz
-# --> Deleting /usr/man/man8/mkreiserfs.8.gz
-# --> Deleting /usr/man/man8/reiserfsck.8.gz
-# --> Deleting /usr/man/man8/reiserfstune.8.gz
-# --> Deleting /usr/man/man8/resize_reiserfs.8.gz
-# Do we want symlinks for backwards compatibility? If so...
+# Do we want symlinks for compatibility? If so...
( cd $PKG/usr/man/man8
- ln -s mkfs.reiserfs.8 mkreiserfs.8
- ln -s debugfs.reiserfs.8 debugreiserfs.8
- ln -s fsck.reiserfs.8 reiserfsck.8
- ln -s tunefs.reiserfs.8 reiserfstune.8
- ln -s resizefs.reiserfs.8 resize_reiserfs.8
+ ln -s debugreiserfs.8 debugfs.reiserfs.8
+ ln -s mkreiserfs.8 mkfs.reiserfs.8
+ ln -s reiserfsck.8 fsck.reiserfs.8
+ ln -s reiserfstune.8 tunefs.reiserfs.8
+ ln -s resize_reiserfs.8 resizefs.reiserfs.8
)
# Compress the man pages
@@ -111,6 +105,7 @@ cp -a \
AUTHORS COPYING* CREDITS INSTALL NEWS README* \
$PKG/usr/doc/reiserfsprogs-$VERSION
chmod 644 $PKG/usr/doc/reiserfsprogs-$VERSION/*
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/source/a/reiserfsprogs/slack-desc b/source/a/reiserfsprogs/slack-desc
index 3358fdf77..a82a82b4e 100644
--- a/source/a/reiserfsprogs/slack-desc
+++ b/source/a/reiserfsprogs/slack-desc
@@ -9,11 +9,11 @@
reiserfsprogs: reiserfsprogs (Reiserfs filesystem utilities)
reiserfsprogs:
reiserfsprogs: These utilities are used for Reiserfs. Reiserfs is a file system
-reiserfsprogs: based on balanced tree algorithms. Learn more at the home site:
-reiserfsprogs: http://www.namesys.com
+reiserfsprogs: based on balanced tree algorithms.
reiserfsprogs:
reiserfsprogs: Reiserfs is the work of Hans Reiser and many others. See the file
reiserfsprogs: /usr/doc/reiserfs*/README for full credits.
reiserfsprogs:
reiserfsprogs:
reiserfsprogs:
+reiserfsprogs:
diff --git a/source/a/sed/sed.SlackBuild b/source/a/sed/sed.SlackBuild
index 7684a10dc..48b1cdcda 100755
--- a/source/a/sed/sed.SlackBuild
+++ b/source/a/sed/sed.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2009 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,7 +21,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=4.2.1
+PKGNAM=sed
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
CWD=$(pwd)
diff --git a/source/a/shadow/patches/r3054.diff b/source/a/shadow/patches/r3054.diff
deleted file mode 100644
index dc1eab13b..000000000
--- a/source/a/shadow/patches/r3054.diff
+++ /dev/null
@@ -1,27 +0,0 @@
-* src/useradd.c: Fixed wrong format string.
-* lib/gshadow.c: Removed declaration of unused variable.
-
-===================================================================
---- src/useradd.c (revision 3052)
-+++ src/useradd.c (revision 3054)
-@@ -684,7 +684,7 @@
- static void usage (void)
- {
- (void) fprintf (stderr,
-- _("Usage: useradd [options] LOGIN\n"
-+ _("Usage: %s [options] LOGIN\n"
- "\n"
- "Options:\n"),
- Prog);
-
-===================================================================
---- lib/gshadow.c (revision 3052)
-+++ lib/gshadow.c (revision 3054)
-@@ -216,7 +216,6 @@
- static char *buf = NULL;
-
- char *cp;
-- struct sgrp *ret;
-
- if (0 == buflen) {
- buf = (char *) malloc (BUFSIZ);
diff --git a/source/a/shadow/patches/r3055.diff b/source/a/shadow/patches/r3055.diff
deleted file mode 100644
index a2af6f39f..000000000
--- a/source/a/shadow/patches/r3055.diff
+++ /dev/null
@@ -1,1515 +0,0 @@
-===================================================================
---- src/userdel.c (revision 3054)
-+++ src/userdel.c (revision 3055)
-@@ -94,7 +94,7 @@
- static bool spw_locked = false;
-
- /* local function prototypes */
--static void usage (void);
-+static void usage (int status);
- static void update_groups (void);
- static void close_files (void);
- static void fail_exit (int);
-@@ -111,7 +111,7 @@
- /*
- * usage - display usage message and exit
- */
--static void usage (void)
-+static void usage (int status)
- {
- fputs (_("Usage: userdel [options] LOGIN\n"
- "\n"
-@@ -120,8 +120,8 @@
- " even if not owned by user\n"
- " -h, --help display this help message and exit\n"
- " -r, --remove remove home directory and mail spool\n"
-- "\n"), stderr);
-- exit (E_USAGE);
-+ "\n"), status ? stderr : stdout);
-+ exit (status);
- }
-
- /*
-@@ -774,17 +774,19 @@
- case 'f': /* force remove even if not owned by user */
- fflg = true;
- break;
-+ case 'h':
-+ usage (E_SUCCESS);
- case 'r': /* remove home dir and mailbox */
- rflg = true;
- break;
- default:
-- usage ();
-+ usage (E_USAGE);
- }
- }
- }
-
- if ((optind + 1) != argc) {
-- usage ();
-+ usage (E_USAGE);
- }
-
- OPENLOG ("userdel");
-Index: src/lastlog.c
-===================================================================
---- src/lastlog.c (revision 3054)
-+++ src/lastlog.c (revision 3055)
-@@ -71,7 +71,7 @@
-
- #define NOW (time ((time_t *) 0))
-
--static void usage (void)
-+static void usage (int status)
- {
- fputs (_("Usage: lastlog [options]\n"
- "\n"
-@@ -80,8 +80,8 @@
- " -h, --help display this help message and exit\n"
- " -t, --time DAYS print only lastlog records more recent than DAYS\n"
- " -u, --user LOGIN print lastlog record of the specified LOGIN\n"
-- "\n"), stderr);
-- exit (EXIT_FAILURE);
-+ "\n"), status ? stderr : stdout);
-+ exit (status);
- }
-
- static void print_one (/*@null@*/const struct passwd *pw)
-@@ -208,7 +208,7 @@
- NULL)) != -1) {
- switch (c) {
- case 'h':
-- usage ();
-+ usage (EXIT_SUCCESS);
- break;
- case 't':
- {
-@@ -267,7 +267,7 @@
- break;
- }
- default:
-- usage ();
-+ usage (EXIT_FAILURE);
- break;
- }
- }
-@@ -275,7 +275,7 @@
- fprintf (stderr,
- _("lastlog: unexpected argument: %s\n"),
- argv[optind]);
-- usage();
-+ usage (EXIT_FAILURE);
- }
- }
-
-Index: src/gpasswd.c
-===================================================================
---- src/gpasswd.c (revision 3054)
-+++ src/gpasswd.c (revision 3055)
-@@ -94,7 +94,7 @@
- #endif
-
- /* local function prototypes */
--static void usage (void);
-+static void usage (int status);
- static RETSIGTYPE catch_signals (int killed);
- static bool is_valid_user_list (const char *users);
- static void process_flags (int argc, char **argv);
-@@ -128,14 +128,15 @@
- /*
- * usage - display usage message
- */
--static void usage (void)
-+static void usage (int status)
- {
-- fprintf (stderr,
-+ fprintf (status ? stderr : stdout,
- _("Usage: %s [option] GROUP\n"
- "\n"
- "Options:\n"
- " -a, --add USER add USER to GROUP\n"
- " -d, --delete USER remove USER from GROUP\n"
-+ " -h, --help display this help message and exit\n"
- " -r, --remove-password remove the GROUP's password\n"
- " -R, --restrict restrict access to GROUP to its members\n"
- " -M, --members USER,... set the list of members of GROUP\n"
-@@ -150,7 +151,7 @@
- _("The options cannot be combined.\n")
- #endif
- );
-- exit (E_USAGE);
-+ exit (status);
- }
-
- /*
-@@ -235,6 +236,7 @@
- static struct option long_options[] = {
- {"add", required_argument, NULL, 'a'},
- {"delete", required_argument, NULL, 'd'},
-+ {"help", no_argument, NULL, 'h'},
- {"remove-password", no_argument, NULL, 'r'},
- {"restrict", no_argument, NULL, 'R'},
- {"administrators", required_argument, NULL, 'A'},
-@@ -242,7 +244,7 @@
- {NULL, 0, NULL, '\0'}
- };
-
-- while ((flag = getopt_long (argc, argv, "a:A:d:gM:rR", long_options, &option_index)) != -1) {
-+ while ((flag = getopt_long (argc, argv, "a:A:d:ghM:rR", long_options, &option_index)) != -1) {
- switch (flag) {
- case 'a': /* add a user */
- aflg = true;
-@@ -276,6 +278,8 @@
- break;
- case 'g': /* no-op from normal password */
- break;
-+ case 'h':
-+ usage (E_SUCCESS);
- case 'M': /* set the list of members */
- members = optarg;
- if (!is_valid_user_list (members)) {
-@@ -290,7 +294,7 @@
- Rflg = true;
- break;
- default:
-- usage ();
-+ usage (E_USAGE);
- }
- }
-
-@@ -325,14 +329,14 @@
- exclusive++;
- }
- if (exclusive > 1) {
-- usage ();
-+ usage (E_USAGE);
- }
-
- /*
- * Make sure one (and only one) group was provided
- */
- if ((argc != (opt_index+1)) || (NULL == group)) {
-- usage ();
-+ usage (E_USAGE);
- }
- }
-
-Index: src/newusers.c
-===================================================================
---- src/newusers.c (revision 3054)
-+++ src/newusers.c (revision 3055)
-@@ -92,7 +92,7 @@
- static bool spw_locked = false;
-
- /* local function prototypes */
--static void usage (void);
-+static void usage (int status);
- static void fail_exit (int);
- static int add_group (const char *, const char *, gid_t *, gid_t);
- static int get_user_id (const char *, uid_t *);
-@@ -110,15 +110,16 @@
- /*
- * usage - display usage message and exit
- */
--static void usage (void)
-+static void usage (int status)
- {
-- (void) fprintf (stderr,
-+ FILE *usageout = status ? stderr : stdout;
-+ (void) fprintf (usageout,
- _("Usage: %s [options]\n"
- "\n"
- "Options:\n"),
- Prog);
- #ifndef USE_PAM
-- (void) fprintf (stderr,
-+ (void) fprintf (usageout,
- _(" -c, --crypt-method the crypt method (one of %s)\n"),
- #ifndef USE_SHA_CRYPT
- "NONE DES MD5"
-@@ -127,18 +128,18 @@
- #endif /* USE_SHA_CRYPT */
- );
- #endif /* !USE_PAM */
-- (void) fputs (_(" -h, --help display this help message and exit\n"), stderr);
-- (void) fputs (_(" -r, --system create system accounts\n"), stderr);
-+ (void) fputs (_(" -h, --help display this help message and exit\n"), usageout);
-+ (void) fputs (_(" -r, --system create system accounts\n"), usageout);
- #ifndef USE_PAM
- #ifdef USE_SHA_CRYPT
- (void) fputs (_(" -s, --sha-rounds number of SHA rounds for the SHA*\n"
- " crypt algorithms\n"),
-- stderr);
-+ usageout);
- #endif /* USE_SHA_CRYPT */
- #endif /* !USE_PAM */
-- (void) fputs ("\n", stderr);
-+ (void) fputs ("\n", usageout);
-
-- exit (EXIT_FAILURE);
-+ exit (status);
- }
-
- /*
-@@ -548,7 +549,7 @@
- long_options, &option_index)) != -1) {
- switch (c) {
- case 'h':
-- usage ();
-+ usage (EXIT_SUCCESS);
- break;
- case 'r':
- rflg = true;
-@@ -565,13 +566,13 @@
- fprintf (stderr,
- _("%s: invalid numeric argument '%s'\n"),
- Prog, optarg);
-- usage ();
-+ usage (EXIT_FAILURE);
- }
- break;
- #endif /* USE_SHA_CRYPT */
- #endif /* !USE_PAM */
- default:
-- usage ();
-+ usage (EXIT_FAILURE);
- break;
- }
- }
-@@ -602,7 +603,7 @@
- fprintf (stderr,
- _("%s: %s flag is only allowed with the %s flag\n"),
- Prog, "-s", "-c");
-- usage ();
-+ usage (EXIT_FAILURE);
- }
- #endif /* USE_SHA_CRYPT */
-
-@@ -618,7 +619,7 @@
- fprintf (stderr,
- _("%s: unsupported crypt method: %s\n"),
- Prog, crypt_method);
-- usage ();
-+ usage (EXIT_FAILURE);
- }
- }
- #endif /* !USE_PAM */
-Index: src/chpasswd.c
-===================================================================
---- src/chpasswd.c (revision 3054)
-+++ src/chpasswd.c (revision 3055)
-@@ -74,7 +74,7 @@
-
- /* local function prototypes */
- static void fail_exit (int code);
--static void usage (void);
-+static void usage (int status);
- static void process_flags (int argc, char **argv);
- static void check_flags (void);
- static void check_perms (void);
-@@ -112,15 +112,16 @@
- /*
- * usage - display usage message and exit
- */
--static void usage (void)
-+static void usage (int status)
- {
-- (void) fprintf (stderr,
-+ FILE *usageout = status ? stderr : stdout;
-+ (void) fprintf (usageout,
- _("Usage: %s [options]\n"
- "\n"
- "Options:\n"),
- Prog);
- #ifndef USE_PAM
-- (void) fprintf (stderr,
-+ (void) fprintf (usageout,
- _(" -c, --crypt-method the crypt method (one of %s)\n"),
- #ifndef USE_SHA_CRYPT
- "NONE DES MD5"
-@@ -128,22 +129,22 @@
- "NONE DES MD5 SHA256 SHA512"
- #endif /* USE_SHA_CRYPT */
- );
-- (void) fputs (_(" -e, --encrypted supplied passwords are encrypted\n"), stderr);
-+ (void) fputs (_(" -e, --encrypted supplied passwords are encrypted\n"), usageout);
- #endif /* !USE_PAM */
-- (void) fputs (_(" -h, --help display this help message and exit\n"), stderr);
-+ (void) fputs (_(" -h, --help display this help message and exit\n"), usageout);
- #ifndef USE_PAM
- (void) fputs (_(" -m, --md5 encrypt the clear text password using\n"
- " the MD5 algorithm\n"),
-- stderr);
-+ usageout);
- #ifdef USE_SHA_CRYPT
- (void) fputs (_(" -s, --sha-rounds number of SHA rounds for the SHA*\n"
- " crypt algorithms\n"),
-- stderr);
-+ usageout);
- #endif /* USE_SHA_CRYPT */
- #endif /* !USE_PAM */
-- (void) fputs ("\n", stderr);
-+ (void) fputs ("\n", usageout);
-
-- exit (E_USAGE);
-+ exit (status);
- }
-
- /*
-@@ -181,7 +182,7 @@
- long_options, &option_index)) != -1) {
- switch (c) {
- case 'h':
-- usage ();
-+ usage (E_SUCCESS);
- break;
- #ifndef USE_PAM
- case 'c':
-@@ -201,13 +202,13 @@
- fprintf (stderr,
- _("%s: invalid numeric argument '%s'\n"),
- Prog, optarg);
-- usage ();
-+ usage (E_USAGE);
- }
- break;
- #endif /* USE_SHA_CRYPT */
- #endif /* !USE_PAM */
- default:
-- usage ();
-+ usage (E_USAGE);
- break;
- }
- }
-@@ -229,7 +230,7 @@
- fprintf (stderr,
- _("%s: %s flag is only allowed with the %s flag\n"),
- Prog, "-s", "-c");
-- usage ();
-+ usage (E_USAGE);
- }
- #endif
-
-@@ -238,7 +239,7 @@
- fprintf (stderr,
- _("%s: the -c, -e, and -m flags are exclusive\n"),
- Prog);
-- usage ();
-+ usage (E_USAGE);
- }
-
- if (cflg) {
-@@ -253,7 +254,7 @@
- fprintf (stderr,
- _("%s: unsupported crypt method: %s\n"),
- Prog, crypt_method);
-- usage ();
-+ usage (E_USAGE);
- }
- }
- #endif /* USE_PAM */
-Index: src/groupmems.c
-===================================================================
---- src/groupmems.c (revision 3054)
-+++ src/groupmems.c (revision 3055)
-@@ -88,7 +88,7 @@
- const struct group *grp);
- static void purge_members (const struct group *grp);
- static void display_members (const char *const *members);
--static void usage (void);
-+static void usage (int status);
- static void process_flags (int argc, char **argv);
- static void check_perms (void);
- static void fail_exit (int code);
-@@ -361,7 +361,7 @@
- }
- }
-
--static void usage (void)
-+static void usage (int status)
- {
- (void) fputs (_("Usage: groupmems [options] [action]\n"
- "\n"
-@@ -372,10 +372,11 @@
- "Actions:\n"
- " -a, --add username add username to the members of the group\n"
- " -d, --delete username remove username from the members of the group\n"
-+ " -h, --help display this help message and exit\n"
- " -p, --purge purge all members from the group\n"
- " -l, --list list the members of the group\n"
-- "\n"), stderr);
-- fail_exit (EXIT_USAGE);
-+ "\n"), status ? stderr : stdout);
-+ fail_exit (status);
- }
-
- /*
-@@ -389,12 +390,13 @@
- {"add", required_argument, NULL, 'a'},
- {"delete", required_argument, NULL, 'd'},
- {"group", required_argument, NULL, 'g'},
-+ {"help", no_argument, NULL, 'h'},
- {"list", no_argument, NULL, 'l'},
- {"purge", no_argument, NULL, 'p'},
- {NULL, 0, NULL, '\0'}
- };
-
-- while ((arg = getopt_long (argc, argv, "a:d:g:lp", long_options,
-+ while ((arg = getopt_long (argc, argv, "a:d:g:hlp", long_options,
- &option_index)) != EOF) {
- switch (arg) {
- case 'a':
-@@ -408,6 +410,8 @@
- case 'g':
- thisgroup = xstrdup (optarg);
- break;
-+ case 'h':
-+ usage (EXIT_SUCCESS);
- case 'l':
- list = true;
- ++exclusive;
-@@ -417,12 +421,12 @@
- ++exclusive;
- break;
- default:
-- usage ();
-+ usage (EXIT_USAGE);
- }
- }
-
- if ((exclusive > 1) || (optind < argc)) {
-- usage ();
-+ usage (EXIT_USAGE);
- }
-
- /* local, no need for xgetpwnam */
-Index: src/usermod.c
-===================================================================
---- src/usermod.c (revision 3054)
-+++ src/usermod.c (revision 3055)
-@@ -149,7 +149,7 @@
- static void date_to_str (char *buf, size_t maxsize,
- long int date, const char *negativ);
- static int get_groups (char *);
--static void usage (void);
-+static void usage (int status);
- static void new_pwent (struct passwd *);
- #ifdef WITH_SELINUX
- static void selinux_update_mapping (void);
-@@ -300,9 +300,9 @@
- /*
- * usage - display usage message and exit
- */
--static void usage (void)
-+static void usage (int status)
- {
-- fprintf (stderr,
-+ fprintf (status ? stderr : stdout,
- _("Usage: usermod [options] LOGIN\n"
- "\n"
- "Options:\n"
-@@ -334,7 +334,7 @@
- ""
- #endif
- );
-- exit (E_USAGE);
-+ exit (status);
- }
-
- /*
-@@ -815,7 +815,7 @@
- bool anyflag = false;
-
- if ((1 == argc) || ('-' == argv[argc - 1][0])) {
-- usage ();
-+ usage (E_USAGE);
- }
-
- {
-@@ -955,7 +955,7 @@
- fprintf (stderr,
- _("%s: invalid numeric argument '%s'\n"),
- Prog, optarg);
-- usage ();
-+ usage (E_USAGE);
- }
- fflg = true;
- break;
-@@ -976,6 +976,8 @@
- }
- Gflg = true;
- break;
-+ case 'h':
-+ usage (E_SUCCESS);
- case 'l':
- if (!is_valid_user_name (optarg)) {
- fprintf (stderr,
-@@ -1036,7 +1038,7 @@
- break;
- #endif
- default:
-- usage ();
-+ usage (E_USAGE);
- }
- anyflag = true;
- }
-@@ -1092,14 +1094,14 @@
- }
-
- if (optind != argc - 1) {
-- usage ();
-+ usage (E_USAGE);
- }
-
- if (aflg && (!Gflg)) {
- fprintf (stderr,
- _("%s: %s flag is only allowed with the %s flag\n"),
- Prog, "-a", "-G");
-- usage ();
-+ usage (E_USAGE);
- exit (E_USAGE);
- }
-
-@@ -1107,7 +1109,7 @@
- fprintf (stderr,
- _("%s: the -L, -p, and -U flags are exclusive\n"),
- Prog);
-- usage ();
-+ usage (E_USAGE);
- exit (E_USAGE);
- }
-
-@@ -1115,7 +1117,7 @@
- fprintf (stderr,
- _("%s: %s flag is only allowed with the %s flag\n"),
- Prog, "-o", "-u");
-- usage ();
-+ usage (E_USAGE);
- exit (E_USAGE);
- }
-
-@@ -1123,7 +1125,7 @@
- fprintf (stderr,
- _("%s: %s flag is only allowed with the %s flag\n"),
- Prog, "-m", "-d");
-- usage ();
-+ usage (E_USAGE);
- exit (E_USAGE);
- }
-
-Index: src/chgpasswd.c
-===================================================================
---- src/chgpasswd.c (revision 3054)
-+++ src/chgpasswd.c (revision 3055)
-@@ -78,7 +78,7 @@
-
- /* local function prototypes */
- static void fail_exit (int code);
--static void usage (void);
-+static void usage (int status);
- static void process_flags (int argc, char **argv);
- static void check_flags (void);
- static void check_perms (void);
-@@ -114,9 +114,10 @@
- /*
- * usage - display usage message and exit
- */
--static void usage (void)
-+static void usage (int status)
- {
-- fprintf (stderr, _("Usage: %s [options]\n"
-+ fprintf (status ? stderr : stdout,
-+ _("Usage: %s [options]\n"
- "\n"
- "Options:\n"
- " -c, --crypt-method the crypt method (one of %s)\n"
-@@ -135,7 +136,7 @@
- " crypt algorithms\n")
- #endif
- );
-- exit (E_USAGE);
-+ exit (status);
- }
-
- /*
-@@ -174,7 +175,7 @@
- eflg = true;
- break;
- case 'h':
-- usage ();
-+ usage (E_SUCCESS);
- break;
- case 'm':
- md5flg = true;
-@@ -186,12 +187,12 @@
- fprintf (stderr,
- _("%s: invalid numeric argument '%s'\n"),
- Prog, optarg);
-- usage ();
-+ usage (E_USAGE);
- }
- break;
- #endif
- default:
-- usage ();
-+ usage (E_USAGE);
- break;
- }
- }
-@@ -212,7 +213,7 @@
- fprintf (stderr,
- _("%s: %s flag is only allowed with the %s flag\n"),
- Prog, "-s", "-c");
-- usage ();
-+ usage (E_USAGE);
- }
- #endif
-
-@@ -221,7 +222,7 @@
- fprintf (stderr,
- _("%s: the -c, -e, and -m flags are exclusive\n"),
- Prog);
-- usage ();
-+ usage (E_USAGE);
- }
-
- if (cflg) {
-@@ -236,7 +237,7 @@
- fprintf (stderr,
- _("%s: unsupported crypt method: %s\n"),
- Prog, crypt_method);
-- usage ();
-+ usage (E_USAGE);
- }
- }
- }
-Index: src/vipw.c
-===================================================================
---- src/vipw.c (revision 3054)
-+++ src/vipw.c (revision 3055)
-@@ -1,7 +1,7 @@
- /*
- vipw, vigr edit the password or group file
- with -s will edit shadow or gshadow file
--
-+
- Copyright (c) 1997 , Guy Maor <maor@ece.utexas.edu>
- Copyright (c) 1999 - 2000, Marek Michałkiewicz
- Copyright (c) 2002 - 2006, Tomasz KÅ‚oczko
-@@ -29,8 +29,8 @@
-
- #include <errno.h>
- #include <getopt.h>
--#ifdef WITH_SELINUX
--#include <selinux/selinux.h>
-+#ifdef WITH_SELINUX
-+#include <selinux/selinux.h>
- #endif
- #include <signal.h>
- #include <stdio.h>
-@@ -64,7 +64,7 @@
- static bool quiet = false;
-
- /* local function prototypes */
--static void usage (void);
-+static void usage (int status);
- static int create_backup_file (FILE *, const char *, struct stat *);
- static void vipwexit (const char *msg, int syserr, int ret);
- static void vipwedit (const char *, int (*)(void), int (*)(void));
-@@ -72,9 +72,9 @@
- /*
- * usage - display usage message and exit
- */
--static void usage (void)
-+static void usage (int status)
- {
-- (void)
-+ (void)
- fputs (_("Usage: vipw [options]\n"
- "\n"
- "Options:\n"
-@@ -83,8 +83,8 @@
- " -p, --passwd edit passwd database\n"
- " -q, --quiet quiet mode\n"
- " -s, --shadow edit shadow or gshadow database\n"
-- "\n"), stderr);
-- exit (E_USAGE);
-+ "\n"), status ? stderr : stdout);
-+ exit (status);
- }
-
- /*
-@@ -285,8 +285,8 @@
- if (st1.st_mtime == st2.st_mtime) {
- vipwexit (0, 0, 0);
- }
--#ifdef WITH_SELINUX
-- /* unset the fscreatecon */
-+#ifdef WITH_SELINUX
-+ /* unset the fscreatecon */
- if (is_selinux_enabled ()) {
- if (setfscreatecon (NULL)) {
- vipwexit (_("setfscreatecon () failed"), errno, 1);
-@@ -353,7 +353,7 @@
- do_vipw = false;
- break;
- case 'h':
-- usage ();
-+ usage (E_SUCCESS);
- break;
- case 'p':
- do_vipw = true;
-@@ -365,7 +365,7 @@
- editshadow = true;
- break;
- default:
-- usage ();
-+ usage (E_USAGE);
- }
- }
- }
-Index: src/useradd.c
-===================================================================
---- src/useradd.c (revision 3054)
-+++ src/useradd.c (revision 3055)
-@@ -179,7 +179,7 @@
- static void show_defaults (void);
- static int set_defaults (void);
- static int get_groups (char *);
--static void usage (void);
-+static void usage (int status);
- static void new_pwent (struct passwd *);
- #ifdef WITH_SELINUX
- static void selinux_update_mapping (void);
-@@ -681,45 +681,46 @@
- /*
- * usage - display usage message and exit
- */
--static void usage (void)
-+static void usage (int status)
- {
-- (void) fprintf (stderr,
-+ FILE *usageout = status ? stderr : stdout;
-+ (void) fprintf (usageout,
- _("Usage: %s [options] LOGIN\n"
- "\n"
- "Options:\n"),
- Prog);
- (void) fputs (_(" -b, --base-dir BASE_DIR base directory for the home directory of the\n"
-- " new account\n"), stderr);
-- (void) fputs (_(" -c, --comment COMMENT GECOS field of the new account\n"), stderr);
-- (void) fputs (_(" -d, --home-dir HOME_DIR home directory of the new account\n"), stderr);
-- (void) fputs (_(" -D, --defaults print or change default useradd configuration\n"), stderr);
-- (void) fputs (_(" -e, --expiredate EXPIRE_DATE expiration date of the new account\n"), stderr);
-- (void) fputs (_(" -f, --inactive INACTIVE password inactivity period of the new account\n"), stderr);
-+ " new account\n"), usageout);
-+ (void) fputs (_(" -c, --comment COMMENT GECOS field of the new account\n"), usageout);
-+ (void) fputs (_(" -d, --home-dir HOME_DIR home directory of the new account\n"), usageout);
-+ (void) fputs (_(" -D, --defaults print or change default useradd configuration\n"), usageout);
-+ (void) fputs (_(" -e, --expiredate EXPIRE_DATE expiration date of the new account\n"), usageout);
-+ (void) fputs (_(" -f, --inactive INACTIVE password inactivity period of the new account\n"), usageout);
- (void) fputs (_(" -g, --gid GROUP name or ID of the primary group of the new\n"
-- " account\n"), stderr);
-+ " account\n"), usageout);
- (void) fputs (_(" -G, --groups GROUPS list of supplementary groups of the new\n"
-- " account\n"), stderr);
-- (void) fputs (_(" -h, --help display this help message and exit\n"), stderr);
-- (void) fputs (_(" -k, --skel SKEL_DIR use this alternative skeleton directory\n"), stderr);
-- (void) fputs (_(" -K, --key KEY=VALUE override /etc/login.defs defaults\n"), stderr);
-+ " account\n"), usageout);
-+ (void) fputs (_(" -h, --help display this help message and exit\n"), usageout);
-+ (void) fputs (_(" -k, --skel SKEL_DIR use this alternative skeleton directory\n"), usageout);
-+ (void) fputs (_(" -K, --key KEY=VALUE override /etc/login.defs defaults\n"), usageout);
- (void) fputs (_(" -l, --no-log-init do not add the user to the lastlog and\n"
-- " faillog databases\n"), stderr);
-- (void) fputs (_(" -m, --create-home create the user's home directory\n"), stderr);
-- (void) fputs (_(" -M, --no-create-home do not create the user's home directory\n"), stderr);
-+ " faillog databases\n"), usageout);
-+ (void) fputs (_(" -m, --create-home create the user's home directory\n"), usageout);
-+ (void) fputs (_(" -M, --no-create-home do not create the user's home directory\n"), usageout);
- (void) fputs (_(" -N, --no-user-group do not create a group with the same name as\n"
-- " the user\n"), stderr);
-+ " the user\n"), usageout);
- (void) fputs (_(" -o, --non-unique allow to create users with duplicate\n"
-- " (non-unique) UID\n"), stderr);
-- (void) fputs (_(" -p, --password PASSWORD encrypted password of the new account\n"), stderr);
-- (void) fputs (_(" -r, --system create a system account\n"), stderr);
-- (void) fputs (_(" -s, --shell SHELL login shell of the new account\n"), stderr);
-- (void) fputs (_(" -u, --uid UID user ID of the new account\n"), stderr);
-- (void) fputs (_(" -U, --user-group create a group with the same name as the user\n"), stderr);
-+ " (non-unique) UID\n"), usageout);
-+ (void) fputs (_(" -p, --password PASSWORD encrypted password of the new account\n"), usageout);
-+ (void) fputs (_(" -r, --system create a system account\n"), usageout);
-+ (void) fputs (_(" -s, --shell SHELL login shell of the new account\n"), usageout);
-+ (void) fputs (_(" -u, --uid UID user ID of the new account\n"), usageout);
-+ (void) fputs (_(" -U, --user-group create a group with the same name as the user\n"), usageout);
- #ifdef WITH_SELINUX
-- (void) fputs (_(" -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux user mapping\n"), stderr);
-+ (void) fputs (_(" -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux user mapping\n"), usageout);
- #endif
-- (void) fputs ("\n", stderr);
-- exit (E_USAGE);
-+ (void) fputs ("\n", usageout);
-+ exit (status);
- }
-
- /*
-@@ -989,9 +990,9 @@
- };
- while ((c = getopt_long (argc, argv,
- #ifdef WITH_SELINUX
-- "b:c:d:De:f:g:G:k:K:lmMNop:rs:u:UZ:",
-+ "b:c:d:De:f:g:G:hk:K:lmMNop:rs:u:UZ:",
- #else
-- "b:c:d:De:f:g:G:k:K:lmMNop:rs:u:U",
-+ "b:c:d:De:f:g:G:hk:K:lmMNop:rs:u:U",
- #endif
- long_options, NULL)) != -1) {
- switch (c) {
-@@ -1029,7 +1030,7 @@
- break;
- case 'D':
- if (anyflag) {
-- usage ();
-+ usage (E_USAGE);
- }
- Dflg = true;
- break;
-@@ -1066,7 +1067,7 @@
- fprintf (stderr,
- _("%s: invalid numeric argument '%s'\n"),
- Prog, optarg);
-- usage ();
-+ usage (E_USAGE);
- }
- /*
- * -f -1 is allowed
-@@ -1106,7 +1107,7 @@
- Gflg = true;
- break;
- case 'h':
-- usage ();
-+ usage (E_SUCCESS);
- break;
- case 'k':
- def_template = optarg;
-@@ -1201,7 +1202,7 @@
- break;
- #endif
- default:
-- usage ();
-+ usage (E_USAGE);
- }
- anyflag = true;
- }
-@@ -1220,31 +1221,31 @@
- fprintf (stderr,
- _("%s: %s flag is only allowed with the %s flag\n"),
- Prog, "-o", "-u");
-- usage ();
-+ usage (E_USAGE);
- }
- if (kflg && !mflg) {
- fprintf (stderr,
- _("%s: %s flag is only allowed with the %s flag\n"),
- Prog, "-k", "-m");
-- usage ();
-+ usage (E_USAGE);
- }
- if (Uflg && gflg) {
- fprintf (stderr,
- _("%s: options %s and %s conflict\n"),
- Prog, "-U", "-g");
-- usage ();
-+ usage (E_USAGE);
- }
- if (Uflg && Nflg) {
- fprintf (stderr,
- _("%s: options %s and %s conflict\n"),
- Prog, "-U", "-N");
-- usage ();
-+ usage (E_USAGE);
- }
- if (mflg && Mflg) {
- fprintf (stderr,
- _("%s: options %s and %s conflict\n"),
- Prog, "-m", "-M");
-- usage ();
-+ usage (E_USAGE);
- }
-
- /*
-@@ -1253,15 +1254,15 @@
- */
- if (Dflg) {
- if (optind != argc) {
-- usage ();
-+ usage (E_USAGE);
- }
-
- if (uflg || oflg || Gflg || dflg || cflg || mflg) {
-- usage ();
-+ usage (E_USAGE);
- }
- } else {
- if (optind != argc - 1) {
-- usage ();
-+ usage (E_USAGE);
- }
-
- user_name = argv[optind];
-Index: src/su.c
-===================================================================
---- src/su.c (revision 3054)
-+++ src/su.c (revision 3055)
-@@ -323,7 +323,7 @@
- /*
- * usage - print command line syntax and exit
- */
--static void usage (void)
-+static void usage (int status)
- {
- fputs (_("Usage: su [options] [LOGIN]\n"
- "\n"
-@@ -335,8 +335,8 @@
- " --preserve-environment do not reset environment variables, and\n"
- " keep the same shell\n"
- " -s, --shell SHELL use SHELL instead of the default in passwd\n"
-- "\n"), stderr);
-- exit (E_USAGE);
-+ "\n"), status ? stderr : stdout);
-+ exit (status);
- }
-
- /*
-@@ -421,7 +421,7 @@
- command = optarg;
- break;
- case 'h':
-- usage ();
-+ usage (E_SUCCESS);
- break;
- case 'l':
- fakelogin = true;
-@@ -438,7 +438,7 @@
- shellstr = optarg;
- break;
- default:
-- usage (); /* NOT REACHED */
-+ usage (E_USAGE); /* NOT REACHED */
- }
- }
-
-Index: src/groupmod.c
-===================================================================
---- src/groupmod.c (revision 3054)
-+++ src/groupmod.c (revision 3055)
-@@ -93,7 +93,7 @@
- pflg = false; /* new encrypted password */
-
- /* local function prototypes */
--static void usage (void);
-+static void usage (int status);
- static void new_grent (struct group *);
-
- #ifdef SHADOWGRP
-@@ -113,21 +113,22 @@
- * usage - display usage message and exit
- */
-
--static void usage (void)
-+static void usage (int status)
- {
-- (void) fprintf (stderr,
-+ FILE *usageout = status ? stderr : stdout;
-+ (void) fprintf (usageout,
- _("Usage: %s [options] GROUP\n"
- "\n"
- "Options:\n"),
- Prog);
-- (void) fputs (_(" -g, --gid GID change the group ID to GID\n"), stderr);
-- (void) fputs (_(" -h, --help display this help message and exit\n"), stderr);
-- (void) fputs (_(" -n, --new-name NEW_GROUP change the name to NEW_GROUP\n"), stderr);
-- (void) fputs (_(" -o, --non-unique allow to use a duplicate (non-unique) GID\n"), stderr);
-+ (void) fputs (_(" -g, --gid GID change the group ID to GID\n"), usageout);
-+ (void) fputs (_(" -h, --help display this help message and exit\n"), usageout);
-+ (void) fputs (_(" -n, --new-name NEW_GROUP change the name to NEW_GROUP\n"), usageout);
-+ (void) fputs (_(" -o, --non-unique allow to use a duplicate (non-unique) GID\n"), usageout);
- (void) fputs (_(" -p, --password PASSWORD change the password to this (encrypted)\n"
-- " PASSWORD\n"), stderr);
-- (void) fputs ("\n", stderr);
-- exit (E_USAGE);
-+ " PASSWORD\n"), usageout);
-+ (void) fputs ("\n", usageout);
-+ exit (status);
- }
-
- /*
-@@ -362,6 +363,8 @@
- exit (E_BAD_ARG);
- }
- break;
-+ case 'h':
-+ usage (E_SUCCESS);
- case 'n':
- nflg = true;
- group_newname = optarg;
-@@ -374,16 +377,16 @@
- pflg = true;
- break;
- default:
-- usage ();
-+ usage (E_USAGE);
- }
- }
-
- if (oflg && !gflg) {
-- usage ();
-+ usage (E_USAGE);
- }
-
- if (optind != (argc - 1)) {
-- usage ();
-+ usage (E_USAGE);
- }
-
- group_name = argv[argc - 1];
-Index: src/passwd.c
-===================================================================
---- src/passwd.c (revision 3054)
-+++ src/passwd.c (revision 3055)
-@@ -180,7 +180,7 @@
- " -w, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"
- " -x, --maxdays MAX_DAYS set maximum number of days before password\n"
- " change to MAX_DAYS\n"
-- "\n"), stderr);
-+ "\n"), status ? stderr : stdout);
- exit (status);
- }
-
-@@ -811,7 +811,7 @@
- {NULL, 0, NULL, '\0'}
- };
-
-- while ((c = getopt_long (argc, argv, "adei:kln:qr:Suw:x:",
-+ while ((c = getopt_long (argc, argv, "adehi:kln:qr:Suw:x:",
- long_options, &option_index)) != -1) {
- switch (c) {
- case 'a':
-@@ -897,6 +897,8 @@
- xflg = true;
- anyflag = true;
- break;
-+ case 'h':
-+ usage (E_SUCCESS);
- default:
- usage (E_BAD_ARG);
- }
-Index: src/groupadd.c
-===================================================================
---- src/groupadd.c (revision 3054)
-+++ src/groupadd.c (revision 3055)
-@@ -88,7 +88,7 @@
- #endif
-
- /* local function prototypes */
--static void usage (void);
-+static void usage (int status);
- static void new_grent (struct group *grent);
-
- #ifdef SHADOWGRP
-@@ -105,24 +105,25 @@
- /*
- * usage - display usage message and exit
- */
--static void usage (void)
-+static void usage (int status)
- {
-- (void) fprintf (stderr,
-+ FILE *usageout = status ? stderr : stdout;
-+ (void) fprintf (usageout,
- _("Usage: %s [options] GROUP\n"
- "\n"
- "Options:\n"),
- Prog);
- (void) fputs (_(" -f, --force exit successfully if the group already exists,\n"
-- " and cancel -g if the GID is already used\n"), stderr);
-- (void) fputs (_(" -g, --gid GID use GID for the new group\n"), stderr);
-- (void) fputs (_(" -h, --help display this help message and exit\n"), stderr);
-- (void) fputs (_(" -K, --key KEY=VALUE override /etc/login.defs defaults\n"), stderr);
-+ " and cancel -g if the GID is already used\n"), usageout);
-+ (void) fputs (_(" -g, --gid GID use GID for the new group\n"), usageout);
-+ (void) fputs (_(" -h, --help display this help message and exit\n"), usageout);
-+ (void) fputs (_(" -K, --key KEY=VALUE override /etc/login.defs defaults\n"), usageout);
- (void) fputs (_(" -o, --non-unique allow to create groups with duplicate\n"
-- " (non-unique) GID\n"), stderr);
-- (void) fputs (_(" -p, --password PASSWORD use this encrypted password for the new group\n"), stderr);
-- (void) fputs (_(" -r, --system create a system account\n"), stderr);
-- (void) fputs ("\n", stderr);
-- exit (E_USAGE);
-+ " (non-unique) GID\n"), usageout);
-+ (void) fputs (_(" -p, --password PASSWORD use this encrypted password for the new group\n"), usageout);
-+ (void) fputs (_(" -r, --system create a system account\n"), usageout);
-+ (void) fputs ("\n", usageout);
-+ exit (status);
- }
-
- /*
-@@ -412,7 +413,7 @@
- }
- break;
- case 'h':
-- usage ();
-+ usage (E_SUCCESS);
- break;
- case 'K':
- /*
-@@ -444,7 +445,7 @@
- rflg = true;
- break;
- default:
-- usage ();
-+ usage (E_USAGE);
- }
- }
-
-@@ -452,7 +453,7 @@
- * Check the flags consistency
- */
- if (optind != argc - 1) {
-- usage ();
-+ usage (E_USAGE);
- }
- group_name = argv[optind];
-
-@@ -468,7 +469,7 @@
- {
- /* -o does not make sense without -g */
- if (oflg && !gflg) {
-- usage ();
-+ usage (E_USAGE);
- }
-
- check_new_name ();
-Index: src/chage.c
-===================================================================
---- src/chage.c (revision 3054)
-+++ src/chage.c (revision 3055)
-@@ -91,7 +91,7 @@
-
- /* local function prototypes */
- static bool isnum (const char *s);
--static void usage (void);
-+static void usage (int status);
- static void date_to_str (char *buf, size_t maxsize, time_t date);
- static int new_fields (void);
- static void print_date (time_t date);
-@@ -152,7 +152,7 @@
- /*
- * usage - print command line syntax and exit
- */
--static void usage (void)
-+static void usage (int status)
- {
- fputs (_("Usage: chage [options] [LOGIN]\n"
- "\n"
-@@ -168,8 +168,8 @@
- " -M, --maxdays MAX_DAYS set maximim number of days before password\n"
- " change to MAX_DAYS\n"
- " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"
-- "\n"), stderr);
-- exit (E_USAGE);
-+ "\n"), status ? stderr : stdout);
-+ exit (status);
- }
-
- static void date_to_str (char *buf, size_t maxsize, time_t date)
-@@ -413,7 +413,7 @@
- fprintf (stderr,
- _("%s: invalid date '%s'\n"),
- Prog, optarg);
-- usage ();
-+ usage (E_USAGE);
- }
- break;
- case 'E':
-@@ -425,11 +425,11 @@
- fprintf (stderr,
- _("%s: invalid date '%s'\n"),
- Prog, optarg);
-- usage ();
-+ usage (E_USAGE);
- }
- break;
- case 'h':
-- usage ();
-+ usage (E_SUCCESS);
- break;
- case 'I':
- Iflg = true;
-@@ -438,7 +438,7 @@
- fprintf (stderr,
- _("%s: invalid numeric argument '%s'\n"),
- Prog, optarg);
-- usage ();
-+ usage (E_USAGE);
- }
- break;
- case 'l':
-@@ -451,7 +451,7 @@
- fprintf (stderr,
- _("%s: invalid numeric argument '%s'\n"),
- Prog, optarg);
-- usage ();
-+ usage (E_USAGE);
- }
- break;
- case 'M':
-@@ -461,7 +461,7 @@
- fprintf (stderr,
- _("%s: invalid numeric argument '%s'\n"),
- Prog, optarg);
-- usage ();
-+ usage (E_USAGE);
- }
- break;
- case 'W':
-@@ -471,11 +471,11 @@
- fprintf (stderr,
- _("%s: invalid numeric argument '%s'\n"),
- Prog, optarg);
-- usage ();
-+ usage (E_USAGE);
- }
- break;
- default:
-- usage ();
-+ usage (E_USAGE);
- }
- }
-
-@@ -495,14 +495,14 @@
- */
-
- if (argc != opt_index + 1) {
-- usage ();
-+ usage (E_USAGE);
- }
-
- if (lflg && (mflg || Mflg || dflg || Wflg || Iflg || Eflg)) {
- fprintf (stderr,
- _("%s: do not include \"l\" with other flags\n"),
- Prog);
-- usage ();
-+ usage (E_USAGE);
- }
- }
-
-Index: src/faillog.c
-===================================================================
---- src/faillog.c (revision 3054)
-+++ src/faillog.c (revision 3055)
-@@ -47,6 +47,17 @@
- /*@-exitarg@*/
- #include "exitcodes.h"
-
-+/* local function prototypes */
-+static void usage (int status);
-+static void print_one (/*@null@*/const struct passwd *pw, bool force);
-+static void set_locktime (long locktime);
-+static bool set_locktime_one (uid_t uid, long locktime);
-+static void setmax (int max);
-+static bool setmax_one (uid_t uid, int max);
-+static void print (void);
-+static bool reset_one (uid_t uid);
-+static void reset (void);
-+
- /*
- * Global variables
- */
-@@ -69,24 +80,25 @@
-
- #define NOW (time((time_t *) 0))
-
--static void usage (void)
-+static void usage (int status)
- {
-- (void) fprintf (stderr,
-+ FILE *usageout = status ? stderr : stdout;
-+ (void) fprintf (usageout,
- _("Usage: %s [options]\n"
- "\n"
- "Options:\n"),
- "faillog");
-- (void) fputs (_(" -a, --all display faillog records for all users\n"), stderr);
-- (void) fputs (_(" -h, --help display this help message and exit\n"), stderr);
-- (void) fputs (_(" -l, --lock-time SEC after failed login lock account for SEC seconds\n"), stderr);
-- (void) fputs (_(" -m, --maximum MAX set maximum failed login counters to MAX\n"), stderr);
-- (void) fputs (_(" -r, --reset reset the counters of login failures\n"), stderr);
-- (void) fputs (_(" -t, --time DAYS display faillog records more recent than DAYS\n"), stderr);
-+ (void) fputs (_(" -a, --all display faillog records for all users\n"), usageout);
-+ (void) fputs (_(" -h, --help display this help message and exit\n"), usageout);
-+ (void) fputs (_(" -l, --lock-time SEC after failed login lock account for SEC seconds\n"), usageout);
-+ (void) fputs (_(" -m, --maximum MAX set maximum failed login counters to MAX\n"), usageout);
-+ (void) fputs (_(" -r, --reset reset the counters of login failures\n"), usageout);
-+ (void) fputs (_(" -t, --time DAYS display faillog records more recent than DAYS\n"), usageout);
- (void) fputs (_(" -u, --user LOGIN/RANGE display faillog record or maintains failure\n"
- " counters and limits (if used with -r, -m,\n"
-- " or -l) only for the specified LOGIN(s)\n"), stderr);
-- (void) fputs ("\n", stderr);
-- exit (E_USAGE);
-+ " or -l) only for the specified LOGIN(s)\n"), usageout);
-+ (void) fputs ("\n", usageout);
-+ exit (status);
- }
-
- static void print_one (/*@null@*/const struct passwd *pw, bool force)
-@@ -495,7 +507,7 @@
- aflg = true;
- break;
- case 'h':
-- usage ();
-+ usage (E_SUCCESS);
- break;
- case 'l':
- if (getlong (optarg, &fail_locktime) == 0) {
-@@ -561,16 +573,16 @@
- break;
- }
- default:
-- usage ();
-+ usage (E_USAGE);
- }
- }
- }
-
- if (aflg && uflg) {
-- usage ();
-+ usage (E_USAGE);
- }
- if (tflg && (lflg || mflg || rflg)) {
-- usage ();
-+ usage (E_USAGE);
- }
-
- /* Open the faillog database */
-Index: src/chsh.c
-===================================================================
---- src/chsh.c (revision 3054)
-+++ src/chsh.c (revision 3055)
-@@ -72,7 +72,7 @@
-
- /* local function prototypes */
- static void fail_exit (int code);
--static void usage (void);
-+static void usage (int status);
- static void new_fields (void);
- static bool shell_is_listed (const char *);
- static bool is_restricted_shell (const char *);
-@@ -101,15 +101,15 @@
- /*
- * usage - print command line syntax and exit
- */
--static void usage (void)
-+static void usage (int status)
- {
- fputs (_("Usage: chsh [options] [LOGIN]\n"
- "\n"
- "Options:\n"
- " -h, --help display this help message and exit\n"
- " -s, --shell SHELL new login shell for the user account\n"
-- "\n"), stderr);
-- exit (E_USAGE);
-+ "\n"), status ? stderr : stdout);
-+ exit (status);
- }
-
- /*
-@@ -217,14 +217,14 @@
- &option_index)) != -1) {
- switch (c) {
- case 'h':
-- usage ();
-+ usage (E_SUCCESS);
- break;
- case 's':
- sflg = true;
- STRFCPY (loginsh, optarg);
- break;
- default:
-- usage ();
-+ usage (E_USAGE);
- }
- }
-
-@@ -233,7 +233,7 @@
- * be the user's name.
- */
- if (argc > (optind + 1)) {
-- usage ();
-+ usage (E_USAGE);
- }
- }
-
-Index: man/groupmems.8.xml
-===================================================================
---- man/groupmems.8.xml (revision 3054)
-+++ man/groupmems.8.xml (revision 3055)
-@@ -114,6 +114,12 @@
- </listitem>
- </varlistentry>
- <varlistentry>
-+ <term><option>-h</option>, <option>--help</option></term>
-+ <listitem>
-+ <para>Display help message and exit.</para>
-+ </listitem>
-+ </varlistentry>
-+ <varlistentry>
- <term><option>-l</option>, <option>--list</option></term>
- <listitem>
- <para>List the group membership list.</para>
-Index: man/gpasswd.1.xml
-===================================================================
---- man/gpasswd.1.xml (revision 3054)
-+++ man/gpasswd.1.xml (revision 3055)
-@@ -1,7 +1,7 @@
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Copyright (c) 1996 , Rafal Maszkowski
-- Copyright (c) 2007 - 2008, Nicolas François
-+ Copyright (c) 2007 - 2009, Nicolas François
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
-@@ -148,6 +148,14 @@
- </variablelist>
- <variablelist remap='IP'>
- <varlistentry>
-+ <term><option>-h</option>, <option>--help</option></term>
-+ <listitem>
-+ <para>Display help message and exit.</para>
-+ </listitem>
-+ </varlistentry>
-+ </variablelist>
-+ <variablelist remap='IP'>
-+ <varlistentry>
- <term>
- <option>-r</option>, <option>--remove-password</option>
- </term>
-Index: NEWS
-===================================================================
---- NEWS (revision 3054)
-+++ NEWS (revision 3055)
-@@ -1,5 +1,11 @@
- $Id$
-
-+shadow-4.1.4.1 -> shadow-4.1.4.2 UNRELEASED
-+
-+- general
-+ * report usage error to stderr, but report usage help to stdout (and return
-+ zero) when explicitly requested (e.g. with --help).
-+
- shadow-4.1.4.1 -> shadow-4.1.4.2 2009-07-24
-
- - general
diff --git a/source/a/shadow/patches/r3060.diff b/source/a/shadow/patches/r3060.diff
deleted file mode 100644
index 8ece64300..000000000
--- a/source/a/shadow/patches/r3060.diff
+++ /dev/null
@@ -1,116 +0,0 @@
-* libmisc/copydir.c, lib/shadowmem.c, lib/groupmem.c, lib/pwmem.c:
-Fix some memory leaks.
-
-Index: libmisc/copydir.c
-===================================================================
---- libmisc/copydir.c (revision 3059)
-+++ libmisc/copydir.c (revision 3060)
-@@ -443,6 +443,7 @@
- nchars = readlink (filename, buffer, size);
-
- if (nchars < 0) {
-+ free(buffer);
- return NULL;
- }
-
-
-Index: lib/shadowmem.c
-===================================================================
---- lib/shadowmem.c (revision 3059)
-+++ lib/shadowmem.c (revision 3060)
-@@ -52,10 +52,13 @@
- *sp = *spent;
- sp->sp_namp = strdup (spent->sp_namp);
- if (NULL == sp->sp_namp) {
-+ free(sp);
- return NULL;
- }
- sp->sp_pwdp = strdup (spent->sp_pwdp);
- if (NULL == sp->sp_pwdp) {
-+ free(sp->sp_namp);
-+ free(sp);
- return NULL;
- }
-
-Index: lib/groupmem.c
-===================================================================
---- lib/groupmem.c (revision 3059)
-+++ lib/groupmem.c (revision 3060)
-@@ -51,10 +51,13 @@
- *gr = *grent;
- gr->gr_name = strdup (grent->gr_name);
- if (NULL == gr->gr_name) {
-+ free(gr);
- return NULL;
- }
- gr->gr_passwd = strdup (grent->gr_passwd);
- if (NULL == gr->gr_passwd) {
-+ free(gr->gr_name);
-+ free(gr);
- return NULL;
- }
-
-@@ -62,11 +65,21 @@
-
- gr->gr_mem = (char **) malloc ((i + 1) * sizeof (char *));
- if (NULL == gr->gr_mem) {
-+ free(gr->gr_passwd);
-+ free(gr->gr_name);
-+ free(gr);
- return NULL;
- }
- for (i = 0; grent->gr_mem[i]; i++) {
- gr->gr_mem[i] = strdup (grent->gr_mem[i]);
- if (NULL == gr->gr_mem[i]) {
-+ int j;
-+ for (j=0; j<i; j++)
-+ free(gr->gr_mem[j]);
-+ free(gr->gr_mem);
-+ free(gr->gr_passwd);
-+ free(gr->gr_name);
-+ free(gr);
- return NULL;
- }
- }
-Index: lib/pwmem.c
-===================================================================
---- lib/pwmem.c (revision 3059)
-+++ lib/pwmem.c (revision 3060)
-@@ -51,22 +51,37 @@
- *pw = *pwent;
- pw->pw_name = strdup (pwent->pw_name);
- if (NULL == pw->pw_name) {
-+ free(pw);
- return NULL;
- }
- pw->pw_passwd = strdup (pwent->pw_passwd);
- if (NULL == pw->pw_passwd) {
-+ free(pw->pw_name);
-+ free(pw);
- return NULL;
- }
- pw->pw_gecos = strdup (pwent->pw_gecos);
- if (NULL == pw->pw_gecos) {
-+ free(pw->pw_passwd);
-+ free(pw->pw_name);
-+ free(pw);
- return NULL;
- }
- pw->pw_dir = strdup (pwent->pw_dir);
- if (NULL == pw->pw_dir) {
-+ free(pw->pw_gecos);
-+ free(pw->pw_passwd);
-+ free(pw->pw_name);
-+ free(pw);
- return NULL;
- }
- pw->pw_shell = strdup (pwent->pw_shell);
- if (NULL == pw->pw_shell) {
-+ free(pw->pw_dir);
-+ free(pw->pw_gecos);
-+ free(pw->pw_passwd);
-+ free(pw->pw_name);
-+ free(pw);
- return NULL;
- }
-
diff --git a/source/a/shadow/patches/r3062.diff b/source/a/shadow/patches/r3062.diff
deleted file mode 100644
index 00d9ba3af..000000000
--- a/source/a/shadow/patches/r3062.diff
+++ /dev/null
@@ -1,139 +0,0 @@
-Index: lib/shadowmem.c
-===================================================================
---- lib/shadowmem.c (revision 3061)
-+++ lib/shadowmem.c (revision 3062)
-@@ -49,8 +49,14 @@
- if (NULL == sp) {
- return NULL;
- }
-- *sp = *spent;
-- sp->sp_namp = strdup (spent->sp_namp);
-+ sp->sp_lstchg = spent->sp_lstchg;
-+ sp->sp_min = spent->sp_min;
-+ sp->sp_max = spent->sp_max;
-+ sp->sp_warn = spent->sp_warn;
-+ sp->sp_inact = spent->sp_inact;
-+ sp->sp_expire = spent->sp_expire;
-+ sp->sp_flag = spent->sp_flag;
-+ sp->sp_namp = strdup (spent->sp_namp);
- if (NULL == sp->sp_namp) {
- free(sp);
- return NULL;
-@@ -68,8 +74,10 @@
- void spw_free (/*@out@*/ /*@only@*/struct spwd *spent)
- {
- free (spent->sp_namp);
-- memzero (spent->sp_pwdp, strlen (spent->sp_pwdp));
-- free (spent->sp_pwdp);
-+ if (NULL != spent->sp_pwdp) {
-+ memzero (spent->sp_pwdp, strlen (spent->sp_pwdp));
-+ free (spent->sp_pwdp);
-+ }
- free (spent);
- }
-
-Index: lib/groupmem.c
-===================================================================
---- lib/groupmem.c (revision 3061)
-+++ lib/groupmem.c (revision 3062)
-@@ -48,7 +48,7 @@
- if (NULL == gr) {
- return NULL;
- }
-- *gr = *grent;
-+ gr->gr_gid = grent->gr_gid;
- gr->gr_name = strdup (grent->gr_name);
- if (NULL == gr->gr_name) {
- free(gr);
-@@ -90,13 +90,18 @@
-
- void gr_free (/*@out@*/ /*@only@*/struct group *grent)
- {
-+ size_t i;
- free (grent->gr_name);
-- memzero (grent->gr_passwd, strlen (grent->gr_passwd));
-- free (grent->gr_passwd);
-- while (*(grent->gr_mem)) {
-- free (*(grent->gr_mem));
-- grent->gr_mem++;
-+ if (NULL != grent->gr_passwd) {
-+ memzero (grent->gr_passwd, strlen (grent->gr_passwd));
-+ free (grent->gr_passwd);
- }
-+ if (NULL != grent->gr_mem) {
-+ for (i = 0; NULL != grent->gr_mem[i]; i++) {
-+ free (grent->gr_mem[i]);
-+ }
-+ free (grent->gr_mem);
-+ }
- free (grent);
- }
-
-Index: lib/sgroupio.c
-===================================================================
---- lib/sgroupio.c (revision 3061)
-+++ lib/sgroupio.c (revision 3062)
-@@ -51,7 +51,6 @@
- if (NULL == sg) {
- return NULL;
- }
-- *sg = *sgent;
- sg->sg_name = strdup (sgent->sg_name);
- if (NULL == sg->sg_name) {
- free (sg);
-@@ -137,17 +136,20 @@
-
- void sgr_free (/*@out@*/ /*@only@*/struct sgrp *sgent)
- {
-+ size_t i;
- free (sgent->sg_name);
-- memzero (sgent->sg_passwd, strlen (sgent->sg_passwd));
-- free (sgent->sg_passwd);
-- while (NULL != *(sgent->sg_adm)) {
-- free (*(sgent->sg_adm));
-- sgent->sg_adm++;
-+ if (NULL != sgent->sg_passwd) {
-+ memzero (sgent->sg_passwd, strlen (sgent->sg_passwd));
-+ free (sgent->sg_passwd);
- }
-- while (NULL != *(sgent->sg_mem)) {
-- free (*(sgent->sg_mem));
-- sgent->sg_mem++;
-+ for (i = 0; NULL != sgent->sg_adm[i]; i++) {
-+ free (sgent->sg_adm[i]);
- }
-+ free (sgent->sg_adm);
-+ for (i = 0; NULL != sgent->sg_mem[i]; i++) {
-+ free (sgent->sg_mem[i]);
-+ }
-+ free (sgent->sg_mem);
- free (sgent);
- }
-
-Index: lib/pwmem.c
-===================================================================
---- lib/pwmem.c (revision 3061)
-+++ lib/pwmem.c (revision 3062)
-@@ -48,7 +48,8 @@
- if (NULL == pw) {
- return NULL;
- }
-- *pw = *pwent;
-+ pw->pw_uid = pwent->pw_uid;
-+ pw->pw_gid = pwent->pw_gid;
- pw->pw_name = strdup (pwent->pw_name);
- if (NULL == pw->pw_name) {
- free(pw);
-@@ -91,8 +92,10 @@
- void pw_free (/*@out@*/ /*@only@*/struct passwd *pwent)
- {
- free (pwent->pw_name);
-- memzero (pwent->pw_passwd, strlen (pwent->pw_passwd));
-- free (pwent->pw_passwd);
-+ if (pwent->pw_passwd) {
-+ memzero (pwent->pw_passwd, strlen (pwent->pw_passwd));
-+ free (pwent->pw_passwd);
-+ }
- free (pwent->pw_gecos);
- free (pwent->pw_dir);
- free (pwent->pw_shell);
diff --git a/source/a/shadow/patches/r3090.diff b/source/a/shadow/patches/r3090.diff
deleted file mode 100644
index 46057673e..000000000
--- a/source/a/shadow/patches/r3090.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- libmisc/env.c.orig 2011-02-13 11:58:11.000000000 -0600
-+++ libmisc/env.c 2012-08-14 10:38:25.304917619 -0500
-@@ -251,7 +251,7 @@
- if (strncmp (*cur, *bad, strlen (*bad)) != 0) {
- continue;
- }
-- if (strchr (*cur, '/') != NULL) {
-+ if (strchr (*cur, '/') == NULL) {
- continue; /* OK */
- }
- for (move = cur; NULL != *move; move++) {
diff --git a/source/a/shadow/patches/r3096.diff b/source/a/shadow/patches/r3096.diff
deleted file mode 100644
index 0e77ce6fe..000000000
--- a/source/a/shadow/patches/r3096.diff
+++ /dev/null
@@ -1,27 +0,0 @@
-
-* lib/gshadow.c: Fix parsing of gshadow entries.
-
-Index: lib/gshadow.c
-===================================================================
---- lib/gshadow.c (revision 3095)
-+++ lib/gshadow.c (revision 3096)
-@@ -222,6 +222,7 @@
- if (NULL == buf) {
- return NULL;
- }
-+ buflen = BUFSIZ;
- }
-
- if (NULL == fp) {
-@@ -229,9 +230,9 @@
- }
-
- #ifdef USE_NIS
-- while (fgetsx (buf, (int) sizeof buf, fp) == buf)
-+ while (fgetsx (buf, (int) buflen, fp) == buf)
- #else
-- if (fgetsx (buf, (int) sizeof buf, fp) == buf)
-+ if (fgetsx (buf, (int) buflen, fp) == buf)
- #endif
- {
- while ( ((cp = strrchr (buf, '\n')) == NULL)
diff --git a/source/a/shadow/patches/r3160.diff b/source/a/shadow/patches/r3160.diff
deleted file mode 100644
index 5aabbaa9e..000000000
--- a/source/a/shadow/patches/r3160.diff
+++ /dev/null
@@ -1,239 +0,0 @@
-Index: libmisc/limits.c
-===================================================================
---- libmisc/limits.c (revision 3159)
-+++ libmisc/limits.c (revision 3160)
-@@ -33,6 +33,7 @@
- /*
- * Separated from setup.c. --marekm
- * Resource limits thanks to Cristian Gafton.
-+ * Enhancements of resource limit code by Thomas Orgis <thomas@orgis.org> ("thor").
- */
-
- #include <config.h>
-@@ -44,6 +45,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <stdio.h>
-+#include <ctype.h>
- #include "prototypes.h"
- #include "defines.h"
- #include <pwd.h>
-@@ -69,17 +71,37 @@
- unsigned int multiplier)
- {
- struct rlimit rlim;
-- long limit;
-+ rlim_t limit;
-
-- if (getlong (value, &limit) == 0) {
-- return 0;
-+ /* The "-" is special, not belonging to a strange negative limit.
-+ It is infinity, in a controlled way. --thor */
-+ if(value[0] == '-') {
-+ limit = RLIM_INFINITY;
- }
-- limit *= multiplier;
-- if (limit != (rlim_t) limit) {
-- return 0;
-+ else {
-+ /* We cannot use getlong here because it fails when there
-+ is more to the value than just this number!
-+ Also, we are limited to base 10 here (hex numbers will not
-+ work with the limit string parser as is anyway) --thor */
-+ char *endptr;
-+ long longlimit = strtol(value, &endptr, 10);
-+ if ((0 == longlimit) && (value == endptr)) {
-+ /* No argument at all. No-op.
-+ We could instead throw an error, though. --thor */
-+ return 0;
-+ }
-+ longlimit *= multiplier;
-+ limit = (rlim_t)longlimit;
-+ if(longlimit != limit)
-+ {
-+ /* Again, silent error handling... I left it that way.
-+ Wouldn't screaming make more sense? --thor */
-+ return 0;
-+ }
- }
-- rlim.rlim_cur = (rlim_t) limit;
-- rlim.rlim_max = (rlim_t) limit;
-+
-+ rlim.rlim_cur = limit;
-+ rlim.rlim_max = limit;
- if (setrlimit (resource, &rlim) != 0) {
- return LOGIN_ERROR_RLIMIT;
- }
-@@ -199,6 +221,9 @@
- * [Ii]: i = RLIMIT_NICE max nice value (0..39 translates to 20..-19)
- * [Oo]: o = RLIMIT_RTPRIO max real time priority (linux/sched.h 0..MAX_RT_PRIO)
- *
-+ * Remember to extend the "no-limits" string below when adding a new limit...
-+ * --thor
-+ *
- * Return value:
- * 0 = okay, of course
- * LOGIN_ERROR_RLIMIT = error setting some RLIMIT
-@@ -214,7 +239,20 @@
- bool reported = false;
-
- pp = buf;
-+ /* Skip leading whitespace. --thor */
-+ while(*pp == ' ' || *pp == '\t') ++pp;
-
-+ /* The special limit string "-" results in no limit for all known limits.
-+ We achieve that by parsing a full limit string, parts of it being ignored
-+ if a limit type is not known to the system.
-+ Though, there will be complaining for unknown limit types. --thor */
-+ if(strcmp(pp, "-") == 0) {
-+ /* Remember to extend this, too, when adding new limits!
-+ Oh... but "unlimited" does not make sense for umask, or does it?
-+ --thor */
-+ pp = "A- C- D- F- M- N- R- S- T- P- I- O-";
-+ }
-+
- while ('\0' != *pp) {
- switch (*pp++) {
- #ifdef RLIMIT_AS
-@@ -316,6 +354,10 @@
- break;
- default:
- /* Only report invalid strings once */
-+ /* Note: A string can be invalid just because a specific (theoretically
-+ valid) setting is not supported by this build.
-+ It is just a warning in syslog anyway. The line is still processed
-+ --thor */
- if (!reported) {
- SYSLOG ((LOG_WARN,
- "Invalid limit string: '%s'",
-@@ -324,13 +366,51 @@
- retval |= LOGIN_ERROR_RLIMIT;
- }
- }
-+ /* After parsing one limit setting (or just complaining about it),
-+ one still needs to skip its argument to prevent a bogus warning on
-+ trying to parse that as limit specification.
-+ So, let's skip all digits, "-" and our limited set of whitespace.
-+ --thor */
-+ while(isdigit(*pp) || *pp == '-' || *pp == ' ' || *pp == '\t') {
-+ ++pp;
-+ }
- }
- return retval;
- }
-
-+/* Check if user uname is in the group gname.
-+ * Can I be sure that gr_mem contains no UID as string?
-+ * Returns true when user is in the group, false when not.
-+ * Any error is treated as false. --thor
-+ */
-+static bool user_in_group (const char *uname, const char *gname)
-+{
-+ struct group *groupdata;
-+ char **member;
-+ if(uname == NULL || gname == NULL){
-+ return false;
-+ }
-+ /* We are not claiming to be re-entrant!
-+ * In case of paranoia or a multithreaded login program,
-+ * one needs to add some mess for getgrnam_r. */
-+ groupdata = getgrnam(gname);
-+ if(groupdata == NULL) {
-+ SYSLOG ((LOG_WARN, "Nonexisting group `%s' in limits file.", gname));
-+ return false;
-+ }
-+ /* Now look for our user in the list of members. */
-+ member = groupdata->gr_mem;
-+ while(*member != NULL) {
-+ if(strcmp(*member, uname) == 0) {
-+ return true;
-+ }
-+ ++member;
-+ }
-+ return false;
-+}
-+
- static int setup_user_limits (const char *uname)
- {
-- /* TODO: allow and use @group syntax --cristiang */
- FILE *fil;
- char buf[1024];
- char name[1024];
-@@ -352,7 +432,7 @@
- }
- /* The limits file have the following format:
- * - '#' (comment) chars only as first chars on a line;
-- * - username must start on first column
-+ * - username must start on first column (or *, or @group --thor)
- * A better (smarter) checking should be done --cristiang */
- while (fgets (buf, 1024, fil) != NULL) {
- if (('#' == buf[0]) || ('\n' == buf[0])) {
-@@ -367,6 +447,13 @@
- * Imposing a limit should be done with care, so a wrong
- * entry means no care anyway :-). A '-' as a limits
- * strings means no limits --cristiang */
-+ /* In addition to the handling of * as name which was alrady present,
-+ I added handling of the @group syntax.
-+ To clarify: The first entry with matching user name rules,
-+ everything after it is ignored. If there is no user entry,
-+ the last encountered entry for a matching group rules.
-+ If there is no matching group entry, the default limits rule.
-+ --thor. */
- if (sscanf (buf, "%s%[ACDFMNRSTULPIOacdfmnrstulpio0-9 \t-]",
- name, tempbuf) == 2) {
- if (strcmp (name, uname) == 0) {
-@@ -374,6 +461,12 @@
- break;
- } else if (strcmp (name, "*") == 0) {
- strcpy (deflimits, tempbuf);
-+ } else if (name[0] == '@') {
-+ /* If the user is in the group, the group limits apply unless
-+ later a line for the specific user is found. --thor */
-+ if(user_in_group(uname, name+1)) {
-+ strcpy (limits, tempbuf);
-+ }
- }
- }
- }
-Index: man/limits.5.xml
-===================================================================
---- man/limits.5.xml (revision 3159)
-+++ man/limits.5.xml (revision 3160)
-@@ -64,7 +64,13 @@
- <emphasis remap='I'>user LIMITS_STRING</emphasis>
- </para>
-
-+ <para>or in the form:</para>
-+
- <para>
-+ <emphasis remap='I'>@group LIMITS_STRING</emphasis>
-+ </para>
-+
-+ <para>
- The <emphasis>LIMITS_STRING</emphasis> is a string of a concatenated
- list of resource limits. Each limit consists of a letter identifier
- followed by a numerical limit.
-@@ -125,11 +131,23 @@
- </para>
-
- <para>
-+ The limits specified in the form "<replaceable>@group</replaceable>"
-+ apply to the members of the specified
-+ <replaceable>group</replaceable>.
-+ </para>
-+
-+ <para>
- To completely disable limits for a user, a single dash
- "<emphasis>-</emphasis>" will do.
- </para>
-
- <para>
-+ To disable a limit for a user, a single dash
-+ "<replaceable>-</replaceable>" can be used instead of the numerical
-+ value for this limit.
-+ </para>
-+
-+ <para>
- Also, please note that all limit settings are set PER LOGIN. They are
- not global, nor are they permanent. Perhaps global limits will come,
- but for now this will have to do ;)
diff --git a/source/a/shadow/patches/r3194.diff b/source/a/shadow/patches/r3194.diff
deleted file mode 100644
index 0eff631bb..000000000
--- a/source/a/shadow/patches/r3194.diff
+++ /dev/null
@@ -1,15 +0,0 @@
-* src/su.c: shell's name must be -su when a su fakes a login.
-
-===================================================================
---- src/su.c (revision 3193)
-+++ src/su.c (revision 3194)
-@@ -1021,7 +1021,7 @@
- * Use the shell and create an argv
- * with the rest of the command line included.
- */
-- argv[-1] = shellstr;
-+ argv[-1] = cp;
- #ifndef USE_PAM
- execve_shell (shellstr, &argv[-1], environ);
- err = errno;
-
diff --git a/source/a/shadow/shadow.SlackBuild b/source/a/shadow/shadow.SlackBuild
index 41e9353ba..8194930d6 100755
--- a/source/a/shadow/shadow.SlackBuild
+++ b/source/a/shadow/shadow.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=shadow
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-7}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -63,8 +63,8 @@ for patch in $CWD/patches/*.diff.gz ; do
zcat $patch | patch -p0 --verbose || exit 1
done
-# Don't duplicate Russian man page installations:
-zcat $CWD/shadow.man.nodups.diff.gz | patch -p1 --verbose || exit 1
+# Patch to handle newer crypt() that may return NULL:
+zcat $CWD/shadow.glibc217-crypt.diff.gz | patch -p1 --verbose || exit 1
# Re-run automake because of r3299 patch to man/ru/Makefile.am:
# (not used because it doesn't work... above patch does the intended fix)
diff --git a/source/a/shadow/shadow.glibc217-crypt.diff b/source/a/shadow/shadow.glibc217-crypt.diff
new file mode 100644
index 000000000..e26ca10bb
--- /dev/null
+++ b/source/a/shadow/shadow.glibc217-crypt.diff
@@ -0,0 +1,258 @@
+From a616a72160c17fa193ad6ad95eb2c869633f4fe9 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Fri, 4 Oct 2013 11:25:43
+Subject: [PATCH] Improve handling of NULL returns from crypt().
+
+Signed-off-by: mancha <mancha1@hush.com>
+---
+ ChangeLog | 15 +++++++++++++++
+ lib/encrypt.c | 7 +++----
+ lib/pwauth.c | 7 ++++++-
+ libmisc/valid.c | 1 +
+ src/chgpasswd.c | 4 ++++
+ src/chpasswd.c | 4 ++++
+ src/gpasswd.c | 4 ++++
+ src/newgrp.c | 3 ++-
+ src/newusers.c | 26 +++++++++++++++++++++-----
+ src/passwd.c | 15 +++++++++++++++
+ 10 files changed, 75 insertions(+), 11 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index aab00ae..1416a38 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,18 @@
++2013-05-06 mancha <mancha1@hush.com>
++
++ * lib/encrypt.c: crypt() in glibc/eglibc 2.17 now fails if passed
++ a salt that violates specs. On Linux, crypt() also fails with
++ DES/MD5 salts in FIPS140 mode. Rather than exit() on NULL returns
++ we send them back to the caller for appropriate handling.
++ * lib/pwauth.c: Handle NULL return from crypt().
++ * libmisc/valid.c: Likewise.
++ * src/chgpasswd.c: Likewise.
++ * src/chpasswd.c: Likewise.
++ * src/gpasswd.c: Likewise.
++ * src/newgrp.c: Likewise.
++ * src/newusers.c: Likewise.
++ * src/passwd.c: Likewise.
++
+ 2012-05-25 Nicolas François <nicolas.francois@centraliens.net>
+
+ * NEWS: Set release date.
+diff --git a/lib/encrypt.c b/lib/encrypt.c
+index 7daa8da..49cb691 100644
+--- a/lib/encrypt.c
++++ b/lib/encrypt.c
+@@ -49,11 +49,10 @@
+ if (!cp) {
+ /*
+ * Single Unix Spec: crypt() may return a null pointer,
+- * and set errno to indicate an error. The caller doesn't
+- * expect us to return NULL, so...
++ * and set errno to indicate an error. In this case return
++ * the NULL so the caller can handle appropriately.
+ */
+- perror ("crypt");
+- exit (EXIT_FAILURE);
++ return cp;
+ }
+
+ /* The GNU crypt does not return NULL if the algorithm is not
+diff --git a/lib/pwauth.c b/lib/pwauth.c
+index 4b26daa..086a72e 100644
+--- a/lib/pwauth.c
++++ b/lib/pwauth.c
+@@ -73,6 +73,7 @@ int pw_auth (const char *cipher,
+ char prompt[1024];
+ char *clear = NULL;
+ const char *cp;
++ const char *encrypted;
+ int retval;
+
+ #ifdef SKEY
+@@ -177,7 +178,11 @@ int pw_auth (const char *cipher,
+ * the results there as well.
+ */
+
+- retval = strcmp (pw_encrypt (input, cipher), cipher);
++ encrypted = pw_encrypt (input, cipher);
++ if (encrypted!=NULL)
++ retval = strcmp (encrypted, cipher);
++ else
++ retval = -1;
+
+ #ifdef SKEY
+ /*
+diff --git a/libmisc/valid.c b/libmisc/valid.c
+index aa0390a..4b85d67 100644
+--- a/libmisc/valid.c
++++ b/libmisc/valid.c
+@@ -95,6 +95,7 @@ bool valid (const char *password, const struct passwd *ent)
+ */
+
+ if ( (NULL != ent->pw_name)
++ && (NULL != encrypted)
+ && (strcmp (encrypted, ent->pw_passwd) == 0)) {
+ return true;
+ } else {
+diff --git a/src/chgpasswd.c b/src/chgpasswd.c
+index 0f41d0b..6c42a09 100644
+--- a/src/chgpasswd.c
++++ b/src/chgpasswd.c
+@@ -469,6 +469,10 @@ int main (int argc, char **argv)
+ #endif
+ cp = pw_encrypt (newpwd,
+ crypt_make_salt (crypt_method, arg));
++ if (cp == NULL) {
++ perror ("crypt");
++ exit (EXIT_FAILURE);
++ }
+ }
+
+ /*
+diff --git a/src/chpasswd.c b/src/chpasswd.c
+index 928e2d7..4968b0d 100644
+--- a/src/chpasswd.c
++++ b/src/chpasswd.c
+@@ -492,6 +492,10 @@ int main (int argc, char **argv)
+ #endif
+ cp = pw_encrypt (newpwd,
+ crypt_make_salt(crypt_method, arg));
++ if (cp == NULL) {
++ perror ("crypt");
++ exit (EXIT_FAILURE);
++ }
+ }
+
+ /*
+diff --git a/src/gpasswd.c b/src/gpasswd.c
+index df8d714..0043610 100644
+--- a/src/gpasswd.c
++++ b/src/gpasswd.c
+@@ -939,6 +939,10 @@ static void change_passwd (struct group *gr)
+ }
+
+ cp = pw_encrypt (pass, crypt_make_salt (NULL, NULL));
++ if (cp==NULL) {
++ perror ("crypt");
++ exit (EXIT_FAILURE);
++ }
+ memzero (pass, sizeof pass);
+ #ifdef SHADOWGRP
+ if (is_shadowgrp) {
+diff --git a/src/newgrp.c b/src/newgrp.c
+index 9330c72..6b87761 100644
+--- a/src/newgrp.c
++++ b/src/newgrp.c
+@@ -184,7 +184,8 @@ static void check_perms (const struct group *grp,
+ cpasswd = pw_encrypt (cp, grp->gr_passwd);
+ strzero (cp);
+
+- if (grp->gr_passwd[0] == '\0' ||
++ if (cpasswd == NULL ||
++ grp->gr_passwd[0] == '\0' ||
+ strcmp (cpasswd, grp->gr_passwd) != 0) {
+ #ifdef WITH_AUDIT
+ snprintf (audit_buf, sizeof(audit_buf),
+diff --git a/src/newusers.c b/src/newusers.c
+index 994898e..5f83a6a 100644
+--- a/src/newusers.c
++++ b/src/newusers.c
+@@ -387,6 +387,7 @@ static int add_user (const char *name, uid_t uid, gid_t gid)
+ static void update_passwd (struct passwd *pwd, const char *password)
+ {
+ void *crypt_arg = NULL;
++ char *cp;
+ if (crypt_method != NULL) {
+ #ifdef USE_SHA_CRYPT
+ if (sflg) {
+@@ -398,9 +399,13 @@ static void update_passwd (struct passwd *pwd, const char *password)
+ if ((crypt_method != NULL) && (0 == strcmp(crypt_method, "NONE"))) {
+ pwd->pw_passwd = (char *)password;
+ } else {
+- pwd->pw_passwd = pw_encrypt (password,
+- crypt_make_salt (crypt_method,
+- crypt_arg));
++ cp=pw_encrypt (password, crypt_make_salt (crypt_method,
++ crypt_arg));
++ if (cp == NULL) {
++ perror ("crypt");
++ exit (EXIT_FAILURE);
++ }
++ pwd->pw_passwd = cp;
+ }
+ }
+ #endif /* !USE_PAM */
+@@ -412,6 +417,7 @@ static int add_passwd (struct passwd *pwd, const char *password)
+ {
+ const struct spwd *sp;
+ struct spwd spent;
++ char *cp;
+
+ #ifndef USE_PAM
+ void *crypt_arg = NULL;
+@@ -448,7 +454,12 @@ static int add_passwd (struct passwd *pwd, const char *password)
+ } else {
+ const char *salt = crypt_make_salt (crypt_method,
+ crypt_arg);
+- spent.sp_pwdp = pw_encrypt (password, salt);
++ cp = pw_encrypt (password, salt);
++ if (cp == NULL) {
++ perror ("crypt");
++ exit (EXIT_FAILURE);
++ }
++ spent.sp_pwdp = cp;
+ }
+ spent.sp_lstchg = (long) time ((time_t *) 0) / SCALE;
+ if (0 == spent.sp_lstchg) {
+@@ -492,7 +503,12 @@ static int add_passwd (struct passwd *pwd, const char *password)
+ spent.sp_pwdp = (char *)password;
+ } else {
+ const char *salt = crypt_make_salt (crypt_method, crypt_arg);
+- spent.sp_pwdp = pw_encrypt (password, salt);
++ cp = pw_encrypt (password, salt);
++ if (cp == NULL) {
++ perror ("crypt");
++ exit (EXIT_FAILURE);
++ }
++ spent.sp_pwdp = cp;
+ }
+ #else
+ /*
+diff --git a/src/passwd.c b/src/passwd.c
+index ac90aa3..ae26666 100644
+--- a/src/passwd.c
++++ b/src/passwd.c
+@@ -242,6 +242,17 @@ static int new_password (const struct pa
+ }
+
+ cipher = pw_encrypt (clear, crypt_passwd);
++ if (cipher == NULL) {
++ strzero (clear);
++ (void) fprintf (stderr,
++ _("Failed to crypt password for %s.\n"),
++ pw->pw_name);
++ SYSLOG ((LOG_INFO,
++ "failed to crypt password for %s",
++ pw->pw_name));
++ return -1;
++ }
++
+ if (strcmp (cipher, crypt_passwd) != 0) {
+ strzero (clear);
+ strzero (cipher);
+@@ -349,6 +360,10 @@ static int new_password (const struct pa
+ * Encrypt the password, then wipe the cleartext password.
+ */
+ cp = pw_encrypt (pass, crypt_make_salt (NULL, NULL));
++ if (cp == NULL) {
++ perror ("crypt");
++ exit (EXIT_FAILURE);
++ }
+ memzero (pass, sizeof pass);
+
+ #ifdef HAVE_LIBCRACK_HIST
+--
+1.7.11.4
+
diff --git a/source/a/shadow/shadow.man.nodups.diff b/source/a/shadow/shadow.man.nodups.diff
deleted file mode 100644
index 425321b99..000000000
--- a/source/a/shadow/shadow.man.nodups.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./man/ru/Makefile.in.orig 2011-02-15 16:18:21.000000000 -0600
-+++ ./man/ru/Makefile.in 2012-06-26 23:21:34.866292111 -0500
-@@ -228,7 +228,7 @@
- grpunconv.8 gshadow.5 lastlog.8 login.1 login.defs.5 logoutd.8 \
- newgrp.1 newusers.8 nologin.8 passwd.1 passwd.5 pwck.8 \
- pwconv.8 pwunconv.8 sg.1 shadow.3 shadow.5 su.1 suauth.5 \
-- useradd.8 userdel.8 usermod.8 vigr.8 vipw.8 $(am__append_1)
-+ useradd.8 userdel.8 usermod.8 vigr.8 vipw.8
- man_nopam = \
- limits.5 \
- login.access.5 \
diff --git a/source/a/sharutils/sharutils.SlackBuild b/source/a/sharutils/sharutils.SlackBuild
index 5c1997ca2..cc4b5b136 100755
--- a/source/a/sharutils/sharutils.SlackBuild
+++ b/source/a/sharutils/sharutils.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=sharutils
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -55,7 +55,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf sharutils-$VERSION
-tar xvf $CWD/sharutils-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/sharutils-$VERSION.tar.?z || exit 1
cd sharutils-$VERSION || exit 1
chown -R root:root .
find . \
diff --git a/source/a/slocate/slocate.SlackBuild b/source/a/slocate/slocate.SlackBuild
index def08b8c8..83375a4d4 100755
--- a/source/a/slocate/slocate.SlackBuild
+++ b/source/a/slocate/slocate.SlackBuild
@@ -65,7 +65,7 @@ chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 2750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
cd src
diff --git a/source/a/sysklogd/sysklogd.SlackBuild b/source/a/sysklogd/sysklogd.SlackBuild
index a5cd75e26..8ff3de9d2 100755
--- a/source/a/sysklogd/sysklogd.SlackBuild
+++ b/source/a/sysklogd/sysklogd.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=1.5
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -79,8 +79,9 @@ cat $CWD/config/rc.syslog.new > $PKG/etc/rc.d/rc.syslog.new
chmod 0755 $PKG/etc/rc.d/rc.syslog.new
mkdir -p $PKG/var/log
-for i in cron debug maillog messages secure spooler syslog ;
- do touch $PKG/var/log/$i.new ;
+for i in cron debug maillog messages secure spooler syslog ; do
+ touch $PKG/var/log/$i.new
+ chmod 640 $PKG/var/log/$i.new
done
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/source/a/syslinux/syslinux-4.05.tar.sign b/source/a/syslinux/syslinux-4.05.tar.sign
deleted file mode 100644
index 892883aee..000000000
--- a/source/a/syslinux/syslinux-4.05.tar.sign
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.11 (GNU/Linux)
-
-iQIcBAABAgAGBQJO4mUDAAoJEIiuZH1Y96v+Dg8P/1Pn+22CIUHfgPtDse6U1+Wj
-A7/c5AdtezK/UQlhCh/Po7mRdCGzm/Tb6pCnHOWvpEFMeRQARGx5ElqDUmH1Y6SW
-NGrPxwj40eTdVrA6TE9/Jj1QkKnFZGTTzsSm5njt06cJM1s0kABlyS0MEx++YGyX
-hEnO5C6oyfh30KkTsUFLljFev1wz5FdQVHtL4e0//dh5KXgulPCIDEufIdvdIM1o
-4RB2vTwpcxm1Fuqd9Th73pD1u4V9mjCwKEazKpmmCkwebn6KAzyUlcKxXMUG+Q4C
-mbqRDlNCL8ia9LajJKj00wz0428M3eIT9kVxROYWdZnQGC0gDbcD8/6AAvt06bL+
-ZrlUGl02JASMk2lO9QVp74zTdlnTKQef3V9/SIPk2zLcYuVsKni87ZnEEhDke6vn
-DF4S2OySfZjBw7ohou7fkbiw/1uJTYLbh9gXXgEi+GKRkLEmEzrjalRc5I9X+D18
-kEg2rMZS4bpTKTk9IZEsCncyaO8tGrevLiMijoRnqDqzOPGjnYLBDrm+rNNn4cQ9
-biiF19uapF97goGzC315PKHKeMohFWhk3YGIUIwFzzShC0bKAYaZmMWC5Dcj1Udw
-XOo0/CL0uRuneS5z4TfN4mh0nVZTTgUeY3n2SbIEpTPGJdT+GGGGg06uq9PpY5WS
-Jx4uX40HrNIAw2qaR+fY
-=gTaU
------END PGP SIGNATURE-----
diff --git a/source/a/syslinux/syslinux-4.06.tar.sign b/source/a/syslinux/syslinux-4.06.tar.sign
new file mode 100644
index 000000000..64496074b
--- /dev/null
+++ b/source/a/syslinux/syslinux-4.06.tar.sign
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+
+iQIcBAABAgAGBQJQhnLhAAoJEC84WcCNIz1VmjsP/2hpcAmfvtC3fLqlHXs4z6sa
+2Bk5sQryOEdxAiXPzzrt+vgoXHJC/Vc7nOD6Zroj1CZrCkaW69HzeKpCtUlOWv2s
+bcj0ZUQQabBnTi3Pe2yDZeMdBfqOr1XE/0SLFqJfBfsmF9xfDVTrHJNKz9M/pPHY
+/NKny4jhOV5y6wnBCn+8jE/LZAfORh1C4faVZ1m/kDUJcnLAqvop0hCde4PIIUZc
+i9y8i1ZNXjghxtETxfBO7aqUt2rjndFd3kD9e0aGEfIZ/wMeQFlj5wsOjPEZFyBe
+rnAA7UVZcaNFc/J15FPlyFKIn8Lel8tvC4FjoX0zWA1/kSKY5AkjHnqzIZudWAHv
+ayq9wAAWzJUeBLsCSqruA2OYUdwFkL3kPURGB2rYM0O9LkijIJkqLoxRsnmA+lqd
+G78QTrcszsvkxXSn3xVxejtMv6DdckRVeO0ahx7f3PROavdg3QXCy9uG28HVVyop
+ABdSGMhgjdPXKhKpMHGzOx0XmUtvba+/4krqVTUeor2GnMe2gkXNh0lOjGoCJTTg
+rd56fF0lBauk9wBwBoSx2z8wNzBxVpXeXsMicaB7M2AxhNYSVnDwzoEytsxCX4Ib
+QNOJzxvPEqw8DIoKeR2EP8Tw1H/0DhsdMJyQXCgTPMnJjSVqY1OGrSj/p5Z7SWSF
+iPKkqqj+N2GgNbbli07o
+=5g4G
+-----END PGP SIGNATURE-----
diff --git a/source/a/syslinux/syslinux.SlackBuild b/source/a/syslinux/syslinux.SlackBuild
index e7ec5fbbb..e879b9910 100755
--- a/source/a/syslinux/syslinux.SlackBuild
+++ b/source/a/syslinux/syslinux.SlackBuild
@@ -22,8 +22,8 @@
PKGNAM=syslinux
-VERSION=${VERSION:-4.05}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-4.06}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -46,8 +46,6 @@ rm -rf ${PKGNAM}-${VERSION}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.xz || exit 1
cd ${PKGNAM}-$VERSION
-zcat $CWD/syslinux.altmbr.diff.gz | patch -p1 --verbose || exit 1
-
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
diff --git a/source/a/syslinux/syslinux.altmbr.diff b/source/a/syslinux/syslinux.altmbr.diff
deleted file mode 100644
index ee2dfbee1..000000000
--- a/source/a/syslinux/syslinux.altmbr.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./mbr/altmbr.S.orig 2011-12-09 12:28:17.000000000 -0600
-+++ ./mbr/altmbr.S 2012-08-17 17:10:33.903688084 -0500
-@@ -204,7 +204,7 @@
- 5:
- decb (partition)
- jz boot
-- addw $16, %bx
-+ addw $16, %si
- loopw 5b
-
- popw %cx /* %cx <- 4 */
diff --git a/source/a/sysvinit-scripts/scripts/rc.6 b/source/a/sysvinit-scripts/scripts/rc.6
index 465a0a4a7..8288128c7 100644
--- a/source/a/sysvinit-scripts/scripts/rc.6
+++ b/source/a/sysvinit-scripts/scripts/rc.6
@@ -189,9 +189,9 @@ fi
# Carry a random seed between reboots.
echo "Saving random seed from /dev/urandom in /etc/random-seed."
-# Use the pool size from /proc, or 512 bytes:
+# Use the pool size from /proc, or 4096 bits:
if [ -r /proc/sys/kernel/random/poolsize ]; then
- /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(cat /proc/sys/kernel/random/poolsize) 2> /dev/null
+ /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(expr $(cat /proc/sys/kernel/random/poolsize) / 8) 2> /dev/null
else
/bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null
fi
diff --git a/source/a/sysvinit-scripts/scripts/rc.M b/source/a/sysvinit-scripts/scripts/rc.M
index 63cb88015..d9b3fed3b 100644
--- a/source/a/sysvinit-scripts/scripts/rc.M
+++ b/source/a/sysvinit-scripts/scripts/rc.M
@@ -86,7 +86,7 @@ fi
# Run rc.udev again. This will start udev if it is not already running
# (for example, upon return from runlevel 1), otherwise it will trigger it
# to look for device changes and to generate persistent rules if needed.
-if grep -wq sysfs /proc/mounts && grep -q tmpfs /proc/filesystems ; then
+if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then
if ! grep -wq nohotplug /proc/cmdline ; then
if [ -x /etc/rc.d/rc.udev ]; then
/bin/sh /etc/rc.d/rc.udev start
@@ -124,6 +124,7 @@ fi
# Remove stale locks and junk files (must be done after mount -a!)
/bin/rm -f /var/lock/* /var/spool/uucp/LCK..* /tmp/.X*lock /tmp/core /core 2> /dev/null
+/bin/rm -rf /var/spool/cron/cron.?????? 2> /dev/null
# Remove stale hunt sockets so the game can start.
if [ -r /tmp/hunt -o -r /tmp/hunt.stats ]; then
@@ -206,6 +207,9 @@ fi
if [ -x /usr/bin/update-pango-querymodules ]; then
/usr/bin/update-pango-querymodules --verbose
fi
+if [ -x /usr/bin/glib-compile-schemas ]; then
+ /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas >/dev/null 2>&1
+fi
# Start dnsmasq, a simple DHCP/DNS server:
if [ -x /etc/rc.d/rc.dnsmasq ]; then
@@ -239,16 +243,6 @@ fi
# /usr/sbin/smartd
#fi
-# If we're using udev, make /dev/cdrom and any other optical drive symlinks
-# if some udev rule hasn't made them already:
-if grep -wq sysfs /proc/mounts && grep -q tmpfs /proc/filesystems; then
- if ! grep -wq nohotplug /proc/cmdline ; then
- if [ -x /lib/udev/rc.optical-symlinks -a -x /etc/rc.d/rc.udev ]; then
- /bin/sh /lib/udev/rc.optical-symlinks
- fi
- fi
-fi
-
# Monitor the UPS with genpowerd.
# To use this, uncomment this section and edit your settings in
# /etc/genpowerd.conf (serial device, UPS type, etc). For more information,
diff --git a/source/a/sysvinit-scripts/scripts/rc.S b/source/a/sysvinit-scripts/scripts/rc.S
index 97ff7be4c..7b152e90e 100644
--- a/source/a/sysvinit-scripts/scripts/rc.S
+++ b/source/a/sysvinit-scripts/scripts/rc.S
@@ -40,7 +40,7 @@ fi
# all of them), and make any additional device nodes that you need in the
# /dev directory. Even USB and IEEE1394 devices will need to have the
# modules loaded by hand if udev is not used. So use it. :-)
-if grep -wq sysfs /proc/mounts && grep -q tmpfs /proc/filesystems ; then
+if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then
if ! grep -wq nohotplug /proc/cmdline ; then
if [ -x /etc/rc.d/rc.udev ]; then
/bin/sh /etc/rc.d/rc.udev start
@@ -51,7 +51,22 @@ fi
# Mount Control Groups filesystem interface:
if grep -wq cgroup /proc/filesystems ; then
if [ -d /sys/fs/cgroup ]; then
- mount -t cgroup cgroup /sys/fs/cgroup
+ # See linux-*/Documentation/cgroups/cgroups.txt (section 1.6)
+ # Check if we have some tools to autodetect the available cgroup controllers
+ if [ -x /usr/bin/lssubsys -a -x /usr/bin/tr -a -x /usr/bin/sed ]; then
+ # Mount a tmpfs as the cgroup filesystem root
+ mount -t tmpfs -o mode=0755 cgroup_root /sys/fs/cgroup
+ # Autodetect available controllers and mount them in subfolders
+ controllers="$(lssubsys -a 2>/dev/null | tr '\n' ' ' | sed s/.$//)"
+ for i in $controllers; do
+ mkdir /sys/fs/cgroup/$i
+ mount -t cgroup -o $i $i /sys/fs/cgroup/$i
+ done
+ unset i controllers
+ else
+ # We can't use autodetection so fall back mounting them all together
+ mount -t cgroup cgroup /sys/fs/cgroup
+ fi
else
mkdir -p /dev/cgroup
mount -t cgroup cgroup /dev/cgroup
@@ -63,6 +78,8 @@ fi
# /etc/lvm/backup/ (LVM2). This is created by /sbin/vgscan, so to
# use LVM you must run /sbin/vgscan yourself the first time (and
# create some VGs and LVs).
+# Create LVM lock/run directories:
+mkdir -p -m 0700 /run/lvm /run/lock /run/lock/lvm
if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then
echo "Initializing LVM (Logical Volume Manager):"
# Check for device-mapper support.
@@ -385,9 +402,9 @@ if [ -f /etc/random-seed ]; then
echo "Using /etc/random-seed to initialize /dev/urandom."
cat /etc/random-seed > /dev/urandom
fi
-# Use the pool size from /proc, or 512 bytes:
+# Use the pool size from /proc, or 4096 bits:
if [ -r /proc/sys/kernel/random/poolsize ]; then
- dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(cat /proc/sys/kernel/random/poolsize) 2> /dev/null
+ dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(expr $(cat /proc/sys/kernel/random/poolsize) / 8) 2> /dev/null
else
dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null
fi
diff --git a/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild b/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild
index cbc120304..d59bbf4a1 100755
--- a/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild
+++ b/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
VERSION=${VERSION:-2.0}
ARCH=noarch
-BUILD=${BUILD:-13}
+BUILD=${BUILD:-17}
CWD=$(pwd)
TMP=${TMP:-/tmp}
diff --git a/source/a/sysvinit/sysvinit.SlackBuild b/source/a/sysvinit/sysvinit.SlackBuild
index 2a9459c2d..bb1f8ee6e 100755
--- a/source/a/sysvinit/sysvinit.SlackBuild
+++ b/source/a/sysvinit/sysvinit.SlackBuild
@@ -22,7 +22,7 @@
VERSION=${VERSION:-2.88dsf}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -70,7 +70,7 @@ for program in bootlogd halt init killall5 shutdown runlevel ; do
chown root:root $PKG/sbin/$program
done
mkdir -p $PKG/usr/bin
-for program in last mountpoint ; do
+for program in last ; do
strip --strip-unneeded $program
cat $program > $PKG/usr/bin/$program
chmod 755 $PKG/usr/bin/$program
@@ -91,7 +91,7 @@ cp initscript.sample $PKG/sbin/initscript.sample
cd ../man
mkdir -p $PKG/usr/man/man{1,5,8}
-for page in last.1 mountpoint.1 ; do
+for page in last.1 ; do
cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz
done
for page in inittab.5 initscript.5 ; do
diff --git a/source/a/tcsh/tcsh-6.18.01-crypt.diff b/source/a/tcsh/tcsh-6.18.01-crypt.diff
new file mode 100644
index 000000000..db7306e2b
--- /dev/null
+++ b/source/a/tcsh/tcsh-6.18.01-crypt.diff
@@ -0,0 +1,11 @@
+--- tc.func.c.orig 2013-05-16
++++ tc.func.c 2013-05-16
+@@ -733,7 +733,7 @@ auto_lock(void)
+ pp = xgetpass("Password:");
+
+ crpp = XCRYPT(pw, pp, srpp);
+- if ((strcmp(crpp, srpp) == 0)
++ if ((crpp && (strcmp(crpp, srpp) == 0))
+ #ifdef AFS
+ || (ka_UserAuthenticateGeneral(KA_USERAUTH_VERSION,
+ afsname, /* name */
diff --git a/source/a/tcsh/tcsh.SlackBuild b/source/a/tcsh/tcsh.SlackBuild
index c8134a80c..44e398c0a 100755
--- a/source/a/tcsh/tcsh.SlackBuild
+++ b/source/a/tcsh/tcsh.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=6.18.01
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -53,6 +53,8 @@ rm -rf tcsh-$VERSION
tar xvf $CWD/tcsh-$VERSION.tar.?z* || exit 1
cd tcsh-$VERSION
+zcat $CWD/tcsh-6.18.01-crypt.diff.gz | patch -p0 --verbose || exit 1
+
# The LS_COLORS variable shared by tcsh has new options in recent
# versions of coreutils that cause tcsh to exit, so disable the
# built-in color ls:
diff --git a/source/a/udev/60-cdrom_id.rules.diff b/source/a/udev/60-cdrom_id.rules.diff
new file mode 100644
index 000000000..6ac5e2275
--- /dev/null
+++ b/source/a/udev/60-cdrom_id.rules.diff
@@ -0,0 +1,28 @@
+--- ./src/cdrom_id/60-cdrom_id.rules.orig 2012-01-30 12:02:56.526251552 -0600
++++ ./src/cdrom_id/60-cdrom_id.rules 2013-01-17 21:11:20.821006629 -0600
+@@ -15,6 +15,24 @@
+ # enable the receiving of media eject button events
+ IMPORT{program}="cdrom_id --lock-media $devnode"
+
+-KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100"
++# create default links to the first detected device
++KERNEL=="sr0", ENV{ID_CDROM}=="1", SYMLINK+="cdrom", OPTIONS+="link_priority=-100"
++KERNEL=="sr0", ENV{ID_CDROM_CD_R}=="1", SYMLINK+="cdr", OPTIONS+="link_priority=-100"
++KERNEL=="sr0", ENV{ID_CDROM_CD_R}=="1", SYMLINK+="cdwriter", OPTIONS+="link_priority=-100"
++KERNEL=="sr0", ENV{ID_CDROM_CD_RW}=="1", SYMLINK+="cdrw", OPTIONS+="link_priority=-100"
++KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100"
++KERNEL=="sr0", ENV{ID_CDROM_DVD_R}=="1", SYMLINK+="dvdr", OPTIONS+="link_priority=-100"
++KERNEL=="sr0", ENV{ID_CDROM_DVD_R}=="1", SYMLINK+="dvdwriter", OPTIONS+="link_priority=-100"
++KERNEL=="sr0", ENV{ID_CDROM_DVD_RW}=="1", SYMLINK+="dvdrw", OPTIONS+="link_priority=-100"
++
++# create all other device links
++KERNEL=="sr[0-9]*", ENV{ID_CDROM}=="1", SYMLINK+="cdrom%n", OPTIONS+="link_priority=-100"
++KERNEL=="sr[0-9]*", ENV{ID_CDROM_CD_R}=="1", SYMLINK+="cdr%n", OPTIONS+="link_priority=-100"
++KERNEL=="sr[0-9]*", ENV{ID_CDROM_CD_R}=="1", SYMLINK+="cdwriter%n", OPTIONS+="link_priority=-100"
++KERNEL=="sr[0-9]*", ENV{ID_CDROM_CD_RW}=="1", SYMLINK+="cdrw%n", OPTIONS+="link_priority=-100"
++KERNEL=="sr[0-9]*", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd%n", OPTIONS+="link_priority=-100"
++KERNEL=="sr[0-9]*", ENV{ID_CDROM_DVD_R}=="1", SYMLINK+="dvdr%n", OPTIONS+="link_priority=-100"
++KERNEL=="sr[0-9]*", ENV{ID_CDROM_DVD_R}=="1", SYMLINK+="dvdwriter%n", OPTIONS+="link_priority=-100"
++KERNEL=="sr[0-9]*", ENV{ID_CDROM_DVD_RW}=="1", SYMLINK+="dvdrw%n", OPTIONS+="link_priority=-100"
+
+ LABEL="cdrom_end"
diff --git a/source/a/udev/config/rc.d/rc.udev.new b/source/a/udev/config/rc.d/rc.udev.new
index 2bbd9819c..f000e938e 100644
--- a/source/a/udev/config/rc.d/rc.udev.new
+++ b/source/a/udev/config/rc.d/rc.udev.new
@@ -112,7 +112,7 @@ case "$1" in
/sbin/udevadm trigger --type=devices --action=add
else # trigger changes for already running udevd
# If the persistent rules files do not exist, trigger an add event:
- if [ ! -r /etc/udev/rules.d/70-persistent-net.rules ]; then
+ if [ ! -r /etc/udev/rules.d/70-persistent-net.rules -o ! -r /etc/udev/rules.d/70-persistent-cd.rules ]; then
# Test that we can actually write to the directory first:
if touch /etc/udev/rules.d/testfile 2> /dev/null ; then
rm -f /etc/udev/rules.d/testfile
@@ -120,6 +120,13 @@ case "$1" in
echo "Triggering udev to write persistent rules to /etc/udev/rules.d/"
/sbin/udevadm trigger --type=devices --action=add
sleep 3
+ # Create the files if they don't exist at this point.
+ # If a machine does not have a network device or an optical
+ # device, we don't want to waste time trying to generate
+ # rules at every boot.
+ # To force another attempt, delete the file(s).
+ touch /etc/udev/rules.d/70-persistent-net.rules
+ touch /etc/udev/rules.d/70-persistent-cd.rules
fi
fi
# Since udevd is running, most of the time we only need change events:
diff --git a/source/a/udev/rule_generator.diff b/source/a/udev/rule_generator.diff
index 25c72b845..ff2acf808 100644
--- a/source/a/udev/rule_generator.diff
+++ b/source/a/udev/rule_generator.diff
@@ -1,17 +1,62 @@
-diff -Nur udev-182.orig/src/rule_generator/write_cd_rules udev-182/src/rule_generator/write_cd_rules
---- udev-182.orig/src/rule_generator/write_cd_rules 2012-03-24 22:47:53.138527732 -0500
-+++ udev-182/src/rule_generator/write_cd_rules 2012-03-24 22:59:42.595889830 -0500
+--- ./src/rule_generator/write_cd_rules.orig 2012-01-28 18:15:46.958827013 -0600
++++ ./src/rule_generator/write_cd_rules 2013-01-17 22:58:27.294859303 -0600
@@ -3,7 +3,8 @@
# This script is run if an optical drive lacks a rule for persistent naming.
#
# It adds symlinks for optical drives based on the device class determined
-# by cdrom_id and used ID_PATH to identify the device.
-+# by cdrom_id and uses ID_PATH or ID_SERIAL or ID_MODEL and ID_REVISION to
++# by cdrom_id and uses ID_SERIAL or ID_MODEL and ID_REVISION to
+# identify the device.
# (C) 2006 Marco d'Itri <md@Linux.IT>
#
-@@ -105,18 +106,57 @@
+@@ -66,37 +67,16 @@
+ exit 1
+ fi
+
+-if [ "$1" ]; then
+- METHOD="$1"
++# ID_PATH is gone from the ata subsystem used in recent kernels, so
++# always use the by-id method:
++if [ "$ID_SERIAL" ]; then
++ RULE="ENV{ID_SERIAL}==\"$ID_SERIAL\""
++elif [ "$ID_MODEL" -a "$ID_REVISION" ]; then
++ RULE="ENV{ID_MODEL}==\"$ID_MODEL\", ENV{ID_REVISION}==\"$ID_REVISION\""
+ else
+- METHOD='by-path'
+-fi
+-
+-case "$METHOD" in
+- by-path)
+- if [ -z "$ID_PATH" ]; then
+- echo "$DEVPATH not supported by path_id. by-id may work." >&2
+- exit 1
+- fi
+- RULE="ENV{ID_PATH}==\"$ID_PATH\""
+- ;;
+-
+- by-id)
+- if [ "$ID_SERIAL" ]; then
+- RULE="ENV{ID_SERIAL}==\"$ID_SERIAL\""
+- elif [ "$ID_MODEL" -a "$ID_REVISION" ]; then
+- RULE="ENV{ID_MODEL}==\"$ID_MODEL\", ENV{ID_REVISION}==\"$ID_REVISION\""
+- else
+- echo "$DEVPATH not supported by ata_id. by-path may work." >&2
+- exit 1
+- fi
+- ;;
+-
+- *)
+- echo "Invalid argument (must be either by-path or by-id)." >&2
++ echo "$DEVPATH not supported by ata_id. Unable to generate persistent rules." >&2
+ exit 1
+- ;;
+-esac
++fi
+
+ # Prevent concurrent processes from modifying the file at the same time.
+ lock_rules_file
+@@ -105,18 +85,62 @@
choose_rules_file
link_num=$(find_next_available 'cdrom[0-9]*')
@@ -19,8 +64,9 @@ diff -Nur udev-182.orig/src/rule_generator/write_cd_rules udev-182/src/rule_gene
match="SUBSYSTEM==\"block\", ENV{ID_CDROM}==\"?*\", $RULE"
- comment="$ID_MODEL ($ID_PATH)"
+-comment="$ID_MODEL ($ID_PATH)"
-
++comment="$ID_MODEL ($ID_SERIAL)"
write_rule "$match" "cdrom$link_num" "$comment"
-[ "$ID_CDROM_CD_R" -o "$ID_CDROM_CD_RW" ] && \
- write_rule "$match" "cdrw$link_num"
@@ -28,47 +74,52 @@ diff -Nur udev-182.orig/src/rule_generator/write_cd_rules udev-182/src/rule_gene
- write_rule "$match" "dvd$link_num"
-[ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ] && \
- write_rule "$match" "dvdrw$link_num"
-+ if [ "$(find_all_rules 'SYMLINK+=' cdrom)" = "" ]; then
++ if [ "$link_num" = "0" ]; then
+ write_rule "$match" "cdrom"
+ fi
+
+ if [ "$ID_CDROM_CD_R" ]; then
-+ write_rule "$match" "cdr$link_num"
-+ if [ "$(find_all_rules 'SYMLINK+=' cdr)" = "" ]; then
++ write_rule "$match" "cdr$link_num"
++ if [ "$link_num" = "0" ]; then
+ write_rule "$match" "cdr"
+ fi
+
+ write_rule "$match" "cdwriter$link_num"
-+ if [ "$(find_all_rules 'SYMLINK+=' cdwriter)" = "" ]; then
++ if [ "$link_num" = "0" ]; then
+ write_rule "$match" "cdwriter"
+ fi
+
+ if [ "$ID_CDROM_CD_RW" ]; then
+ write_rule "$match" "cdrw$link_num"
-+ if [ "$(find_all_rules 'SYMLINK+=' cdrw)" = "" ]; then
++ if [ "$link_num" = "0" ]; then
+ write_rule "$match" "cdrw"
+ fi
+ fi
+
-+ if [ "$(find_all_rules 'SYMLINK+=' writer)" = "" ]; then
++ if [ "$link_num" = "0" ]; then
+ write_rule "$match" "writer"
+ fi
+ fi
+
+ if [ "$ID_CDROM_DVD" ]; then
+ write_rule "$match" "dvd$link_num"
-+ if [ "$(find_all_rules 'SYMLINK+=' dvd)" = "" ]; then
++ if [ "$link_num" = "0" ]; then
+ write_rule "$match" "dvd"
+ fi
+
+ if [ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ]; then
++ write_rule "$match" "dvdr$link_num"
++ if [ "$link_num" = "0" ]; then
++ write_rule "$match" "dvdr"
++ fi
++
+ write_rule "$match" "dvdrw$link_num"
-+ if [ "$(find_all_rules 'SYMLINK+=' dvdrw)" = "" ]; then
++ if [ "$link_num" = "0" ]; then
+ write_rule "$match" "dvdrw"
+ fi
+
+ write_rule "$match" "dvdwriter$link_num"
-+ if [ "$(find_all_rules 'SYMLINK+=' dvdwriter)" = "" ]; then
++ if [ "$link_num" = "0" ]; then
+ write_rule "$match" "dvdwriter"
+ fi
+ fi
diff --git a/source/a/udev/udev.SlackBuild b/source/a/udev/udev.SlackBuild
index 183c6667e..d39da2629 100755
--- a/source/a/udev/udev.SlackBuild
+++ b/source/a/udev/udev.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
VERSION=${VERSION:-$(echo udev-*.tar.* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-5}
+BUILD=${BUILD:-7}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -67,10 +67,17 @@ zcat $CWD/fix-42-usb-hid-pm.rules.diff.gz | patch -p1 --verbose || exit 1
# Fixup the rule generator for our use
zcat $CWD/rule_generator.diff.gz | patch -p1 --verbose || exit 1
+# Patch 60-cdrom_id.rules to create a full set of symlinks.
+# This is needed for a hotplugged optical device since the generated
+# rules will not be used until the second time the device is plugged.
+zcat $CWD/60-cdrom_id.rules.diff.gz | patch -p1 --verbose || exit 1
+
# static libudev is needed for lvm2
# --enable-udev_acl was removed (will be part of future CK release)
# --enable-floppy support was also disabled by default in 173
# --enable-rule_generator was disabled by default in 175
+
+LDFLAGS="$LDFLAGS -lrt" \
./configure \
--prefix=/usr \
--with-rootprefix=/ \
diff --git a/source/a/udisks/udisks.SlackBuild b/source/a/udisks/udisks.SlackBuild
index 9d12e7837..86a90bdf4 100755
--- a/source/a/udisks/udisks.SlackBuild
+++ b/source/a/udisks/udisks.SlackBuild
@@ -27,7 +27,7 @@
PKGNAM=udisks
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:--j7}
diff --git a/source/a/usb_modeswitch/device_reference.txt b/source/a/usb_modeswitch/device_reference.txt
index db7ac8c05..1a21efb3b 100644
--- a/source/a/usb_modeswitch/device_reference.txt
+++ b/source/a/usb_modeswitch/device_reference.txt
@@ -1,7 +1,7 @@
#
# Device and Configuration Reference (UTF-8 encoding used)
#
-# Last modified: 2012-01-20
+# Last modified: 2013-10-16
#
# Collection of configurations for usb_modeswitch, a mode switching
# tool for controlling flip flop (multiple mode) USB devices
@@ -115,7 +115,10 @@
# * SequansMode <0/1> -N
# * MobileActionMode <0/1> -A
# * QisdaMode <0/1> -B
-# * CiscoMode <0/1> -B
+# * QuantaMode <0/1> -E
+# * PantechMode <0/1> -F
+# * BlackberryMode <0/1> -Z
+# * CiscoMode <0/1> -L
#
#
# Flags to support devices that need special control messages.
@@ -170,11 +173,17 @@
# Mostly useful for non-modem devices.
#
#
-# * WaitBefore <seconds> (no command line parameter)
+# * WaitBefore <seconds> (no command line parameter)
#
# Waiting time before taking any action. Helps with some sensitive setups.
#
#
+# * NoMBIMCheck <0|1> (no command line parameter)
+#
+# Disable the check for new MBIM standard devices, which is always done
+# by default.
+#
+#
#
# -> All other entries in config files are just ignored <-
@@ -228,7 +237,7 @@ MessageContent="55534243123456780000000000000601000000000000000000000000000000"
########################################################
# Option GlobeTrotter GT MAX 3.6 (aka "T-Mobile Web'n'walk Card Compact II")
#
-# Contributor: Bernd Holzmüller
+# Contributor: Bernd Holzmüller
DefaultVendor= 0x05c6
DefaultProduct= 0x1000
@@ -447,7 +456,7 @@ HuaweiMode=1
#
# Probably works with DetachStorageOnly too
#
-# Contributor: Flávio Moringa and others
+# Contributor: Flávio Moringa and others
DefaultVendor= 0x19d2
DefaultProduct= 0x2000
@@ -945,7 +954,7 @@ Configuration=2
#
# Recommended init command: ATE0V1&D2&C1S0=0
#
-# Contributor: Jérôme Oufella
+# Contributor: Jérôme Oufella
DefaultVendor= 0x1004
DefaultProduct= 0x1000
@@ -1504,7 +1513,7 @@ MessageContent="555342431234567824000000800006bc626563240000000000000000000000"
########################################################
# LG HDM-2100 (EVDO Rev.A USB modem)
#
-# Contributor: Jérôme Oufella
+# Contributor: Jérôme Oufella
DefaultVendor= 0x1004
DefaultProduct=0x607f
@@ -1809,7 +1818,7 @@ ResponseNeeded=1
########################################################
# Huawei U8110 / U8300 / Joy, Vodafone 845 (Android smartphone)
#
-# Contributor: David Erosa García
+# Contributor: David Erosa García
DefaultVendor= 0x12d1
DefaultProduct=0x1031
@@ -1826,7 +1835,7 @@ NoDriverLoading=1
########################################################
# Nokia CS-10
#
-# Contributor: Wacław Sierek
+# Contributor: Wacław Sierek
DefaultVendor= 0x0421
DefaultProduct=0x060c
@@ -1868,7 +1877,7 @@ MessageContent="55534243123456780000000000000606f50402527000000000000000000000"
#######################################################
# Samsung GT-B3730
#
-# Contributor: Per Øyvind Karlsen
+# Contributor: Per Øyvind Karlsen
DefaultVendor= 0x04e8
DefaultProduct=0x689a
@@ -1939,7 +1948,7 @@ NeedResponse=1
#######################################################
# Huawei EC168C (from Zantel)
#
-# Contributor: Ã…smund Hjulstad
+# Contributor: Ã…smund Hjulstad
DefaultVendor= 0x12d1
DefaultProduct=0x1446
@@ -2935,7 +2944,7 @@ NeedResponse=1
########################################################
# ZTE MF652
#
-# Contributor: Björn Andreas Höfer
+# Contributor: Björn Andreas Höfer
DefaultVendor= 0x19d2
DefaultProduct=0x1520
@@ -3260,7 +3269,7 @@ MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
########################################################
# ZTE MF821D
#
-# Contributor: Thomas Schäfer
+# Contributor: Thomas Schäfer
DefaultVendor= 0x19d2
DefaultProduct=0x0325
@@ -3306,7 +3315,7 @@ MessageContent="555342431234567800000000000010ff000000000000000000000000000000"
########################################################
# Vodafone K5006Z (MF821)
#
-# Contributor: Thomas Schäfer
+# Contributor: Thomas Schäfer
DefaultVendor= 0x19d2
DefaultProduct=0x1017
@@ -3419,3 +3428,573 @@ MessageContent="55534243123456780000000000000011062000000100000000000000000000"
#######################################################
+# ZTE MF190J
+#
+# Contributor: moma
+
+DefaultVendor= 0x19d2
+DefaultProduct=0x1542
+
+TargetVendor= 0x19d2
+TargetProduct= 0x1544
+
+MessageContent="5553424312345678000000000000061e000000000000000000000000000000"
+MessageContent2="5553424312345679000000000000061b000000020000000000000000000000"
+
+NeedResponse=1
+
+
+#######################################################
+# Huawei E171
+
+DefaultVendor= 0x12d1
+DefaultProduct=0x155b
+
+TargetVendor= 0x12d1
+TargetProduct= 0x1506
+
+MessageContent="55534243123456780000000000000011062000000100000000000000000000"
+
+
+#######################################################
+# Vodafone / Huawei K3772
+
+DefaultVendor= 0x12d1
+DefaultProduct=0x1526
+
+TargetVendor= 0x12d1
+TargetProduct= 0x14cf
+
+MessageContent="55534243123456780000000000000011062000000100000000000000000000"
+
+
+#######################################################
+# Vodafone / Huawei K3773
+#
+# Contributor: Allwyn Fernandes
+
+DefaultVendor= 0x12d1
+DefaultProduct=0x1f11
+
+TargetVendor= 0x12d1
+TargetProduct= 0x14bc
+
+MessageContent="55534243123456780000000000000011062000000100000000000000000000"
+
+
+#######################################################
+# Huawei E173u-2, E177
+#
+# Contributor: Rob Spanton
+
+DefaultVendor= 0x12d1
+DefaultProduct=0x14ba
+
+TargetVendor= 0x12d1
+TargetProduct= 0x14d2
+
+MessageContent="55534243123456780000000000000011062000000100000000000000000000"
+
+
+#######################################################
+# Option Beemo / Pantech P4200 LTE
+#
+# Contributor: Thomas Schäfer
+
+DefaultVendor= 0x106c
+DefaultProduct=0x3b14
+
+TargetVendor= 0x106c
+TargetProduct= 0x3721
+
+MessageContent="555342431234567824000000800008ff024445564348470000000000000000"
+
+# QMI device
+NoDriverLoading=1
+
+
+#######################################################
+# Huawei E355s-1
+#
+# Contributor: Mihail Zenkov
+
+DefaultVendor= 0x12d1
+DefaultProduct=0x1f01
+
+TargetVendor= 0x12d1
+TargetProduct= 0x14db
+
+MessageContent="55534243123456780000000000000011062000000100000000000000000000"
+
+
+#######################################################
+# Nokia CS-7M-01
+#
+# Contributor: Krzysztof Luczak
+
+DefaultVendor= 0x0421
+DefaultProduct=0x0632
+
+TargetVendor= 0x0421
+TargetProduct= 0x0632
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+
+
+#########################################################
+# LG L-03D LTE/3G
+#
+# Contributor: Kentaro Kazuhama
+
+DefaultVendor= 0x1004
+DefaultProduct=0x6327
+
+TargetVendor= 0x1004
+TargetProduct= 0x6326
+
+MessageContent=555342431234567800000000000005f1010100000000000000000000000000
+
+########################################################
+# Franklin Wireless U600
+
+DefaultVendor= 0x1fac
+DefaultProduct=0x0150
+
+TargetVendor= 0x1fac
+TargetProduct= 0x0151
+
+MessageContent="555342431234567824000000800108df200000000000000000000000000000"
+
+
+#######################################################
+# Huawei E353
+#
+# Contributor: koisoke
+
+DefaultVendor= 0x12d1
+DefaultProduct=0x151a
+
+TargetVendor= 0x12d1
+TargetProduct= 0x14ac
+
+MessageContent="55534243123456780000000000000011062000000100000000000000000000"
+
+
+#######################################################
+# Changhong CH690
+
+DefaultVendor= 0x2077
+DefaultProduct=0x1000
+
+TargetVendor= 0x2077
+TargetProduct= 0x7001
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+
+
+#######################################################
+# Alcatel-Lucent T930S
+#
+# Contributor: areslee
+
+DefaultVendor= 0x04cc
+DefaultProduct=0x225c
+
+Configuration=2
+
+
+#######################################################
+# Axesstel MU130
+#
+# Contributor: Jazb
+
+DefaultVendor= 0x1726
+DefaultProduct=0xf00e
+
+TargetVendor= 0x1726
+TargetProduct= 0xa000
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+
+
+#######################################################
+# Explay Slim
+#
+# Contributor: vdsdmitry
+
+DefaultVendor= 0x1c9e
+DefaultProduct=0x9e08
+
+TargetVendor= 0x1c9e
+TargetProduct= 0x9e18
+
+SierraMode=1
+NoDriverLoading=1
+
+
+#######################################################
+# Huawei GP02 (E587 Variant)
+#
+# Contributor: Genmei Mori
+
+DefaultVendor= 0x12d1
+DefaultProduct=0x1c1b
+
+TargetVendor= 0x12d1
+TargetProduct= 0x1506
+
+MessageContent="55534243123456780000000000000011062000000100000000000000000000"
+NoDriverLoading=1
+
+
+#######################################################
+# Huawei U2800 Phone
+#
+# Contributor: Peter Fedorow
+
+DefaultVendor= 0x12d1
+DefaultProduct=0x1805
+
+TargetClass=0xff
+
+MessageContent="55534243123456780600000080000601000000000000000000000000000000"
+
+
+###################################################
+# KDDI (Huawei) HWD12 LTE
+#
+# Contributor: nhe
+
+DefaultVendor= 0x12d1
+DefaultProduct=0x1f03
+
+TargetVendor= 0x12d1
+TargetProduct= 0x14db
+
+#MessageContent="55534243123456780000000000000011062000000100000000000000000000"
+MessageContent="55534243123456780000000000000a11062000000000000100000000000000"
+NoDriverLoading=1
+
+
+########################################################
+# D-Link DWM-156 (Variant)
+#
+# Contributor: Bjørn Mork
+
+DefaultVendor= 0x2001
+DefaultProduct=0xa706
+
+TargetVendor= 0x2001
+TargetProduct= 0x7d01
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+
+
+########################################################
+# D-Link DWM-156 (Variant)
+#
+# Contributor: Bjørn Mork
+
+DefaultVendor= 0x2001
+DefaultProduct=0xa707
+
+TargetVendor= 0x2001
+TargetProduct= 0x7d02
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+
+
+########################################################
+# D-Link DWM-156 (Variant)
+#
+# Contributor: Bjørn Mork
+
+DefaultVendor= 0x2001
+DefaultProduct=0xa708
+
+TargetVendor= 0x2001
+TargetProduct= 0x7d03
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+
+
+#######################################################
+# Onda TM201 14.4 (TIM Italy)
+#
+# Contributor: Cristian Astorino
+
+DefaultVendor= 0x1ee8
+DefaultProduct=0x0063
+
+TargetVendor= 0x1ee8
+TargetProduct= 0x0064
+
+MessageContent="555342431234567800000000000008FF000000000000030000000000000000"
+
+
+#######################################################
+# Onda WM301
+#
+# Contributor: Nicolas Carrier
+
+DefaultVendor= 0x1ee8
+DefaultProduct=0x0068
+
+TargetVendor= 0x1ee8
+TargetProduct= 0x0069
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+
+
+#######################################################
+# Nokia CS-12
+#
+# Contributor: John Zouck
+
+DefaultVendor= 0x0421
+DefaultProduct=0x0618
+
+TargetVendor= 0x0421
+TargetProduct= 0x0619
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+
+
+#######################################################
+# Axesstel Modems (w/ initial idProduct 0x0010)
+#
+# Contributor: LOM
+
+DefaultVendor= 0x05c6
+DefaultProduct=0x0010
+
+TargetVendor= 0x05c6
+TargetProduct= 0x00a0
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+
+
+#######################################################
+# Onda MT8205 LTE
+#
+# Contributor: Vincenzo Ingrosso
+
+DefaultVendor= 0x19d2
+DefaultProduct=0x0266
+
+TargetVendor= 0x19d2
+TargetProduct= 0x0265
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+
+
+#######################################################
+# Pantech UML290
+#
+# Contributor: Davis Ford
+
+DefaultVendor= 0x106c
+DefaultProduct=0x3b11
+
+TargetVendor= 0x106c
+TargetProduct= 0x3718
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+
+
+#######################################################
+# Novatel MC996D
+#
+# Contributor: David Caste
+
+DefaultVendor= 0x1410
+DefaultProduct=0x5023
+
+TargetVendor= 0x1410
+TargetProduct= 0x7030
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+
+
+#######################################################
+# D-Link DWR-510
+#
+# Contributor: Nicolas Carrier
+
+DefaultVendor= 0x2001
+DefaultProduct=0xa805
+
+TargetVendor= 0x2001
+TargetProduct= 0x7e12
+
+MessageContent="5553424308407086000000000000061b000000020000000000000000000000"
+
+
+#######################################################
+# Mediatek MT6229
+#
+# Contributor: Daniel Dongo
+
+DefaultVendor= 0x2020
+DefaultProduct=0x0002
+
+TargetVendor= 0x2020
+TargetProduct= 0x2000
+
+MessageContent="555342430820298900000000000003f0010100000000000000000000000000"
+
+
+#######################################################
+# ZTE MF196
+#
+# Contributor: David Caste
+
+DefaultVendor= 0x19d2
+DefaultProduct=0x1528
+
+TargetVendor= 0x19d2
+TargetProduct= 0x1527
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+NeedResponse=1
+
+
+#######################################################
+# ZTE MF656A, MF668A, MF669
+#
+# Contributor: David Caste
+
+DefaultVendor= 0x19d2
+DefaultProduct=0x0150
+
+TargetVendor= 0x19d2
+TargetProduct= 0x0124
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+NeedResponse=1
+
+
+#######################################################
+# ZTE MF680
+#
+# Contributor: David Caste
+
+DefaultVendor= 0x19d2
+DefaultProduct=0x1227
+
+TargetVendor= 0x19d2
+TargetProduct= 0x1252
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+NeedResponse=1
+
+
+#######################################################
+# WeTelecom WM-D200
+#
+# Contributor: Kirill Roskoliy
+
+DefaultVendor= 0x22de
+DefaultProduct=0x6801
+
+TargetClass=0xff
+
+MessageContent="5553424312345678000000000000061e000000000000000000000000000000"
+MessageContent2="5553424312345679000000000000061b000000020000000000000000000000"
+
+
+#######################################################
+# Quanta 1K3 LTE
+#
+# Contributor: Andrey Tikhomirov
+
+DefaultVendor= 0x0408
+DefaultProduct=0xea25
+
+TargetVendor= 0x0408
+TargetProduct= 0xea26
+
+QuantaMode=1
+
+
+#######################################################
+# TP-Link MA260
+#
+# Contributor: Bjørn Mork
+
+DefaultVendor= 0x2357
+DefaultProduct=0xf000
+
+TargetVendor= 0x2357
+TargetProduct= 0x9000
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+
+
+#######################################################
+# Teracom LW272
+#
+# Contributor: Dheeraj Khanna
+
+DefaultVendor= 0x230d
+DefaultProduct=0x0103
+
+Configuration=2
+
+
+#######################################################
+# Huawei E3276s-151 and E3251
+#
+# Contributor: Nicholas Carrier
+
+DefaultVendor= 0x12d1
+DefaultProduct=0x156a
+
+TargetVendor= 0x12d1
+TargetProductList="156b,156c"
+
+MessageContent="55534243123456780000000000000011062000000100000000000000000000"
+
+
+########################################################
+# Huawei K4305
+#
+# Contributor: Dario
+
+DefaultVendor= 0x12d1
+DefaultProduct=0x1f15
+
+TargetVendor= 0x12d1
+TargetProduct= 0x1400
+
+MessageContent="55534243123456780000000000000011062000000000000100000000000000"
+
+
+########################################################
+# BlackBerry Q10 and Z10
+#
+# Contributor: Daniel Mende
+
+DefaultVendor= 0x0fca
+DefaultProduct=0x8020
+
+TargetVendor= 0x0fca
+TargetProduct= 0x8012
+
+BlackberryMode=1
+
+
+########################################################
+# Pantech LTE Modem
+#
+# Contributor: Adam Goode
+
+DefaultVendor= 0x10a9
+DefaultProduct=0x6080
+
+TargetVendor= 0x10a9
+TargetProduct= 0x6085
+
+PantechMode=1
+
+########################################################
diff --git a/source/a/usb_modeswitch/usb_modeswitch.SlackBuild b/source/a/usb_modeswitch/usb_modeswitch.SlackBuild
index e71d68761..ac26ff4d6 100755
--- a/source/a/usb_modeswitch/usb_modeswitch.SlackBuild
+++ b/source/a/usb_modeswitch/usb_modeswitch.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for usb_modeswitch.
-# Copyright 2010, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# Copyright 2010 David Somero, Athens, TN, USA
# All rights reserved.
#
@@ -24,9 +24,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=usb_modeswitch
-VERSION=${VERSION:-1.2.4}
-DATAVER=${DATAVER:-20120812}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-2.0.1}
+DATAVER=${DATAVER:-20130807}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/a/usbutils/usbutils-007.tar.sign b/source/a/usbutils/usbutils-007.tar.sign
new file mode 100644
index 000000000..4c8ea414a
--- /dev/null
+++ b/source/a/usbutils/usbutils-007.tar.sign
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.19 (GNU/Linux)
+
+iQIcBAABAgAGBQJRsR1jAAoJEDjbvchgkmk+jFsQAIHKnkijXjdzij6VEBqfq0RO
+WrqhtR6EWOwo60/oYIzw0dLynZwBeA4OQ+QGAAA5XSfeSOEPcVRE06bN0Cv9omVj
+GYJz5mBguAo6IfRf+rRXd8p9nnC0mS3qTpIA0/T2vSPopImrx2RfbzzpsAeEwTpg
+K7qqcdwoApd3qvBCrmPWzSIvTEGnxZPpiy5cBVoZ9YhAx09PinbUGhz7Z3cc/VJZ
+nFa+YfCie2P5eJtsv9EXudJs6NhUP02bUHtoDvktDPvQnXOtEqUBF3LsECX16kL3
+nwfWvpyDDRNEhu9jj2QspXHzROO435WTWQB81q0x1Qf14tsGa3SFgGj1mQhweAul
+m9t4fo0T+/Kgl1P2kohwa/7ws6WDc1Sy7/sd7cOxDYNQZEH1lH4mja0Qm1ViZ0lR
+ydpjHFtcjT/FHSYUOOIdIAg5NXrWhH1moAKduW9byAgM2q68nTGzs93j3uiundZv
+knfhfO3WGUlXgLYznyUUTR5xAMLq0zQUV0sNiPLci/jU0dyPMmVhnPsfivK1xN4q
+RnpU7cc3/IYYiTdlMz4jOJSMvNF2CU2ebLHEAuelbz9/jte2E+kwc3VAu5bWlSGb
+REdcYVgyV+2nA/DU61+wCJC7QIFxC/zHYtQ6vdGIcTndST0fywmtyObuL7kTkmf7
+gDNrUyjKGdFMawPfSAcm
+=Ku5j
+-----END PGP SIGNATURE-----
diff --git a/source/a/usbutils/usbutils.SlackBuild b/source/a/usbutils/usbutils.SlackBuild
index 15694392b..0a9380258 100755
--- a/source/a/usbutils/usbutils.SlackBuild
+++ b/source/a/usbutils/usbutils.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/source/a/util-linux/partx.data.type.diff b/source/a/util-linux/partx.data.type.diff
new file mode 100644
index 000000000..9811c0bda
--- /dev/null
+++ b/source/a/util-linux/partx.data.type.diff
@@ -0,0 +1,11 @@
+--- ./partx/partx.h.orig 2012-05-25 04:44:58.994195443 -0500
++++ ./partx/partx.h 2013-08-07 21:06:30.899997659 -0500
+@@ -23,7 +23,7 @@
+ }
+
+ static inline int partx_add_partition(int fd, int partno,
+- unsigned long start, unsigned long size)
++ long long start, long long size)
+ {
+ struct blkpg_ioctl_arg a;
+ struct blkpg_partition p;
diff --git a/source/a/util-linux/util-linux.SlackBuild b/source/a/util-linux/util-linux.SlackBuild
index 1fa74c832..b348d83eb 100755
--- a/source/a/util-linux/util-linux.SlackBuild
+++ b/source/a/util-linux/util-linux.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# Slackware build script for util-linux
VERSION=${VERSION:-$(echo util-linux*.tar.?z* | cut -d - -f 3 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-5}
+BUILD=${BUILD:-6}
ADJTIMEXVERS=1.29
SETSERIALVERS=2.17
@@ -95,6 +95,10 @@ zcat $CWD/0002-fdisk-don-t-ignore-1MiB-granularity-on-512-byte-sect.patch.gz | p
# 20120814 bkw: fix "column --separator <anything>" segfault
zcat $CWD/column-fix_long_opts.diff.gz | patch -p1 --verbose || exit 1
+# Fix data type in partx to prevent silently truncating partition sizes and
+# offsets to 4GB on 32-bit platforms:
+zcat $CWD/partx.data.type.diff.gz | patch -p1 --verbose || exit 1
+
# Regenerate, since patch 0001 hits mount/Makefile.am:
./autogen.sh
diff --git a/source/a/xz/xz.SlackBuild b/source/a/xz/xz.SlackBuild
index 7c60ce6cf..75b4e5f4d 100755
--- a/source/a/xz/xz.SlackBuild
+++ b/source/a/xz/xz.SlackBuild
@@ -22,7 +22,7 @@
# SUCH DAMAGE.
PKGNAM=xz
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -72,7 +72,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
cd $PKGNAM-$VERSION
chown -R root:root .
find . \
diff --git a/source/ap/acct/581421-sa-hz-division.patch b/source/ap/acct/581421-sa-hz-division.patch
new file mode 100644
index 000000000..0c15c0171
--- /dev/null
+++ b/source/ap/acct/581421-sa-hz-division.patch
@@ -0,0 +1,66 @@
+From: Dominique Brazziel <dbrazziel@snet.net>
+Subject: Fix for sa reporting 'inf' or 'nan' instead of correct values
+ because of division by clock values.
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=581421
+Last-Updated: 2010-07-23
+
+--- acct-6.5.4.orig/sa.c 2010-02-11 20:55:14.000000000 -0500
++++ acct-6.5.4/sa.c 2010-07-22 14:08:26.000000000 -0400
+@@ -417,7 +417,6 @@
+ (void)printf("%s: GNU Accounting Utilities (release %s)\n",
+ program_name, VERSION_STRING);
+ exit(EXIT_SUCCESS);
+- case 4:
+ acct_file_name = optarg;
+ break;
+ case 'j':
+@@ -594,8 +593,11 @@
+ exit(EXIT_FAILURE);
+ }
+
++ /* Set HZ value from system */
++ hzval = sysconf(_SC_CLK_TCK);
++
+ /* Print out some debugging information. */
+-
++
+ if (debugging_enabled)
+ {
+ (void)fprintf (stddebug, "hzval -> %d\n", hzval);
+@@ -1162,31 +1164,30 @@
+ # define CURR_AHZ ((double)(ahz))
+ #endif
+
+-
+ if (debugging_enabled)
+ fprintf (stddebug, "\
+ ----------------------------------------------------------------------\n\
+ acct entries\n\
+ ----------------------------------------------------------------------\n\
+ ");
+-
++
+ /* loop while there are entries to be had */
+ while ((rec = pacct_get_entry ()) != NULL)
+ {
+ #ifdef HAVE_ACUTIME
+- double ut = comp_t_2_double (rec->ac_utime) / (double) hzval;
++ double ut = comp_t_2_double (rec->ac_utime) / CURR_AHZ;
+ #endif
+
+ #ifdef HAVE_ACSTIME
+- double st = comp_t_2_double (rec->ac_stime) / (double) hzval;
++ double st = comp_t_2_double (rec->ac_stime) / CURR_AHZ;
+ #endif
+
+ #ifdef HAVE_ACETIME
+- double et = comp_t_2_double (rec->ac_etime) / (double) hzval;
++ double et = ACETIME_2_DOUBLE (rec->ac_etime) / CURR_AHZ;
+ #endif
+
+ #ifdef HAVE_ACIO
+- double di = comp_t_2_double (rec->ac_io) / (double) hzval;
++ double di = comp_t_2_double (rec->ac_io) / CURR_AHZ;
+ #endif
+
+ #ifdef HAVE_ACMEM
diff --git a/source/ap/acct/acct.SlackBuild b/source/ap/acct/acct.SlackBuild
index bfdd46fd5..43cc97459 100755
--- a/source/ap/acct/acct.SlackBuild
+++ b/source/ap/acct/acct.SlackBuild
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright 2006, 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=acct
PKGVER=6.5.4
VERSION=6.5.4
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -66,6 +66,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+zcat $CWD/581421-sa-hz-division.patch.gz | patch -p1 || exit 1
+
zcat $CWD/acct.logdir.fhs.diff.gz | patch -p1 || exit 1
# Need this after patching configure.ac:
autoreconf
diff --git a/source/ap/alsa-utils/alsa-utils.SlackBuild b/source/ap/alsa-utils/alsa-utils.SlackBuild
index 3e642d084..2540cc685 100755
--- a/source/ap/alsa-utils/alsa-utils.SlackBuild
+++ b/source/ap/alsa-utils/alsa-utils.SlackBuild
@@ -85,8 +85,10 @@ make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG
mkdir -p $PKG/etc/rc.d
-zcat $CWD/rc.alsa.gz > $PKG/etc/rc.d/rc.alsa
-chmod 0755 $PKG/etc/rc.d/rc.alsa
+zcat $CWD/rc.alsa.gz > $PKG/etc/rc.d/rc.alsa.new
+chmod 0755 $PKG/etc/rc.d/rc.alsa.new
+zcat $CWD/rc.alsa-oss.gz > $PKG/etc/rc.d/rc.alsa-oss.new
+chmod 0644 $PKG/etc/rc.d/rc.alsa-oss.new
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
diff --git a/source/ap/alsa-utils/doinst.sh b/source/ap/alsa-utils/doinst.sh
index 0ee741506..8a9b28787 100644
--- a/source/ap/alsa-utils/doinst.sh
+++ b/source/ap/alsa-utils/doinst.sh
@@ -4,3 +4,24 @@ fi
# Better a dangling symlink than for nobody to know where this went:
rm -f etc/asound.state
( cd etc && ln -sf ../var/lib/alsa/asound.state . )
+
+# Duplicate permissions from any existing rc scripts:
+if [ -e etc/rc.d/rc.alsa ]; then
+ if [ -x etc/rc.d/rc.alsa ]; then
+ chmod 755 etc/rc.d/rc.alsa.new
+ else
+ chmod 644 etc/rc.d/rc.alsa.new
+ fi
+fi
+if [ -e etc/rc.d/rc.alsa-oss ]; then
+ if [ -x etc/rc.d/rc.alsa-oss ]; then
+ chmod 755 etc/rc.d/rc.alsa-oss.new
+ else
+ chmod 644 etc/rc.d/rc.alsa-oss.new
+ fi
+fi
+
+# Move the scripts into place:
+mv etc/rc.d/rc.alsa.new etc/rc.d/rc.alsa
+mv etc/rc.d/rc.alsa-oss.new etc/rc.d/rc.alsa-oss
+
diff --git a/source/ap/alsa-utils/rc.alsa b/source/ap/alsa-utils/rc.alsa
index 2a984a512..077966da1 100644
--- a/source/ap/alsa-utils/rc.alsa
+++ b/source/ap/alsa-utils/rc.alsa
@@ -1,5 +1,5 @@
#!/bin/sh
-# Load the mixer settings and OSS compatibility for ALSA.
+# Load the mixer settings and OSS compatibility (if enabled) for ALSA.
# (the Advanced Linux Sound Architecture)
# A function to load the ALSA mixer settings:
@@ -13,7 +13,7 @@ load_alsa_mixer() {
if [ ! -r /var/lib/alsa/no.asound.state ]; then
echo "Setting default ALSA mixer settings."
# set default mixer volumes for ALSA
- # Taken from the alsaconfig script.
+ # Taken from the alsaconf script.
amixer -s -q <<EOF
set Master 75% unmute
set Master -12dB
@@ -59,23 +59,13 @@ EOF
fi
}
-# A function to load the ALSA OSS compat modules:
-load_alsa_oss_modules() {
- if modprobe -c | tr _ - | grep -wq snd-pcm-oss ; then
- if ! cat /proc/modules | tr _ - | grep -wq snd-pcm-oss ; then
- echo "Loading OSS compatibility modules for ALSA."
- modprobe snd-pcm-oss
- modprobe snd-seq-oss
- modprobe snd-mixer-oss
- fi
- fi
-}
-
-# If hotplug or something else has loaded the ALSA modules, then
+# If udev or something else has loaded the ALSA modules, then
# simply load the mixer settings and make sure the OSS compat
-# modules are loaded:
+# modules are loaded (if enabled):
if [ -d /proc/asound ]; then
- load_alsa_oss_modules
+ if [ -x /etc/rc.d/rc.alsa-oss ]; then
+ sh /etc/rc.d/rc.alsa-oss
+ fi
load_alsa_mixer
else
# If there are ALSA modules defined in /etc/modprobe.d/*, but
@@ -87,9 +77,11 @@ else
modprobe $module
done
fi
- # If ALSA is now up, then load the mixer settings and OSS modules:
+ # If ALSA is now up, then load the mixer settings and OSS modules (if enabled):
if [ -d /proc/asound ]; then
- load_alsa_oss_modules
+ if [ -x /etc/rc.d/rc.alsa-oss ]; then
+ sh /etc/rc.d/rc.alsa-oss
+ fi
load_alsa_mixer
fi
fi
diff --git a/source/ap/alsa-utils/rc.alsa-oss b/source/ap/alsa-utils/rc.alsa-oss
new file mode 100644
index 000000000..cc27b7624
--- /dev/null
+++ b/source/ap/alsa-utils/rc.alsa-oss
@@ -0,0 +1,24 @@
+#!/bin/sh
+# Load the ALSA OSS kernel modules to support OSS applications.
+# To use this, set this script as executable (chmod 755 rc.alsa-oss)
+# and it will be run from the main rc.alsa script. Unless you know
+# that something requires OSS support, it is better to leave this
+# script disabled. Some applications will try OSS first even though
+# they also support ALSA, and will block other applications from
+# using audio I/O.
+#
+# Many programs that use OSS can be run using the aoss wrapper and
+# will then use ALSA in a non-blocking way (and will not require
+# loading these kernel modules). Consider trying that before enabling
+# these modules. (See "man aoss")
+
+if modprobe -c | tr _ - | grep -wq snd-pcm-oss ; then
+ if ! cat /proc/modules | tr _ - | grep -wq snd-pcm-oss ; then
+ echo "Loading OSS compatibility modules for ALSA."
+ # Use -b to enable blacklisting these modules:
+ modprobe -q -b snd-pcm-oss
+ modprobe -q -b snd-seq-oss
+ modprobe -q -b snd-mixer-oss
+ fi
+fi
+
diff --git a/source/ap/aumix/aumix.SlackBuild b/source/ap/aumix/aumix.SlackBuild
deleted file mode 100755
index e500c0531..000000000
--- a/source/ap/aumix/aumix.SlackBuild
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/bin/sh
-
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-PKGNAM=aumix
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
-fi
-
-if [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
-else
- SLKCFLAGS="-O2"
-fi
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-aumix
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-
-cd $TMP
-rm -rf aumix-$VERSION
-tar xvf $CWD/aumix-$VERSION.tar.?z* || exit 1
-cd aumix-$VERSION
-chown -R root:root .
-
-CFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --mandir=/usr/man \
- --without-gtk1 \
- --build=$ARCH-slackware-linux
-
-make || exit 1
-make install DESTDIR=$PKG
-strip $PKG/usr/bin/*
-mkdir -p $PKG/usr/doc/aumix-$VERSION
-cp -a \
- ABOUT-NLS AUTHORS BUGS COPYING* INSTALL NEWS README* TODO \
- $PKG/usr/doc/aumix-$VERSION
-# This is obsolete (besides being broken)
-rm -f $PKG/usr/bin/xaumix $PKG/usr/man/man1/xaumix.1
-
-# More fluff, doesn't deserve mainsteam placement
-mv $PKG/usr/bin/mute $PKG/usr/doc/aumix-$VERSION/mute.sh
-mv $PKG/usr/man/man1/mute* $PKG/usr/doc/aumix-$VERSION
-
-gzip -9 $PKG/usr/man/man1/*
-mkdir $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-makepkg -l y -c n $TMP/aumix-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/ap/aumix/slack-desc b/source/ap/aumix/slack-desc
deleted file mode 100644
index 70e780877..000000000
--- a/source/ap/aumix/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|' on
-# the right side marks the last column you can put a character in. You must make
-# exactly 11 lines for the formatting to be correct. It's also customary to
-# leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-aumix: aumix (GTK+/ncurses audio mixer)
-aumix:
-aumix: This is a program for adjusting audio mixers from the command line or
-aumix: scripts, or interactively at the console or a terminal with a
-aumix: full-screen, ncurses-based interface or a GTK-based X interface.
-aumix:
-aumix:
-aumix:
-aumix:
-aumix:
-aumix:
diff --git a/source/ap/dc3dd/slack-desc b/source/ap/dc3dd/slack-desc
index 1dfd5e024..91c44be45 100644
--- a/source/ap/dc3dd/slack-desc
+++ b/source/ap/dc3dd/slack-desc
@@ -14,6 +14,6 @@ dc3dd: dcfldd, but were rewritten for dc3dd. Added features include robust
dc3dd: error handling, logging, progress meter, image verification, split
dc3dd: output and more.
dc3dd:
-dc3dd: http://dc3dd.sourceforge.net/
+dc3dd: http://sourceforge.net/projects/dc3dd/
dc3dd:
dc3dd:
diff --git a/source/ap/diffutils/diffutils.SlackBuild b/source/ap/diffutils/diffutils.SlackBuild
index 2287abb2c..93847dcdc 100755
--- a/source/ap/diffutils/diffutils.SlackBuild
+++ b/source/ap/diffutils/diffutils.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=diffutils
-VERSION=${VERSION:-$(echo diffutils-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo diffutils-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -56,8 +56,8 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.xz
-cd $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
find . \
@@ -70,6 +70,9 @@ zcat $CWD/diffutils-sdiff-no-waitpid.patch.gz | patch -p1 || exit 1
# Prevent ruining sdiff.1 by touching it so it won't "regenerate":
touch man/sdiff.1
+# Fix installation of NLS files:
+zcat $CWD/diffutils.mkdir_p.diff.gz | patch -p1 || exit 1
+
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
@@ -110,7 +113,7 @@ fi
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
- AUTHORS COPYING NEWS README THANKS TODO \
+ AUTHORS COPYING* NEWS README* THANKS TODO \
$PKG/usr/doc/$PKGNAM-$VERSION
# If there's a ChangeLog, installing at least part of the recent history
# is useful, but don't let it get totally out of control:
diff --git a/source/ap/diffutils/diffutils.mkdir_p.diff b/source/ap/diffutils/diffutils.mkdir_p.diff
new file mode 100644
index 000000000..4ebaf69b7
--- /dev/null
+++ b/source/ap/diffutils/diffutils.mkdir_p.diff
@@ -0,0 +1,11 @@
+--- ./po/Makefile.in.in.orig 2013-03-23 09:51:10.000000000 -0500
++++ ./po/Makefile.in.in 2013-10-03 16:25:59.778992814 -0500
+@@ -42,7 +42,7 @@
+ mkinstalldirs = $(SHELL) @install_sh@ -d
+ install_sh = $(SHELL) @install_sh@
+ MKDIR_P = @MKDIR_P@
+-mkdir_p = @mkdir_p@
++mkdir_p = @MKDIR_P@
+
+ GMSGFMT_ = @GMSGFMT@
+ GMSGFMT_no = @GMSGFMT@
diff --git a/source/ap/dmapi/dmapi.SlackBuild b/source/ap/dmapi/dmapi.SlackBuild
index 6efdfa771..63de8c275 100755
--- a/source/ap/dmapi/dmapi.SlackBuild
+++ b/source/ap/dmapi/dmapi.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=2.2.10
+VERSION=2.2.12
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -59,9 +59,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Add DESTDIR support and improve docs install location:
-zcat $CWD/dmapi.destdir.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
-
# Make sure you have the same version of autoconf as the
# developers did... ;-)
autoconf
@@ -101,6 +98,7 @@ if [ -f $PKG/lib${LIBDIRSUFFIX}/libdm.so.0 ]; then
( cd $PKG/usr/lib${LIBDIRSUFFIX} ; rm -f libdm.so ; ln -sf /lib${LIBDIRSUFFIX}/libdm.so.0 libdm.so )
else
exit 1
+ echo "and fix yer script!!!"
# and fix yer script!!!
fi
# Fix shared library perms:
diff --git a/source/ap/dmapi/dmapi.destdir.diff b/source/ap/dmapi/dmapi.destdir.diff
deleted file mode 100644
index 829d14e7f..000000000
--- a/source/ap/dmapi/dmapi.destdir.diff
+++ /dev/null
@@ -1,36 +0,0 @@
---- ./include/buildmacros.orig 2007-01-22 23:56:41.000000000 -0600
-+++ ./include/buildmacros 2008-04-01 00:04:57.000000000 -0500
-@@ -26,7 +26,7 @@
- $(LFILES:.l=.o) \
- $(YFILES:%.y=%.tab.o)
-
--INSTALL = $(TOPDIR)/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
-+INSTALL = $(TOPDIR)/install-sh
-
- SHELL = /bin/sh
- IMAGES_DIR = $(TOPDIR)/all-images
---- ./include/builddefs.in.orig 2007-05-28 02:00:24.000000000 -0500
-+++ ./include/builddefs.in 2008-04-01 00:04:57.000000000 -0500
-@@ -23,14 +23,14 @@
- PKG_VERSION = @pkg_version@
- PKG_PLATFORM = @pkg_platform@
- PKG_DISTRIBUTION= @pkg_distribution@
--PKG_BIN_DIR = @bindir@
--PKG_SBIN_DIR = @sbindir@
--PKG_LIB_DIR = @libdir@@libdirsuffix@
--PKG_DEVLIB_DIR = @libexecdir@@libdirsuffix@
--PKG_INC_DIR = @includedir@/xfs
--PKG_MAN_DIR = @mandir@
--PKG_DOC_DIR = @datadir@/doc/@pkg_name@
--PKG_LOCALE_DIR = @datadir@/locale
-+PKG_BIN_DIR = $(DESTDIR)@bindir@
-+PKG_SBIN_DIR = $(DESTDIR)@sbindir@
-+PKG_LIB_DIR = $(DESTDIR)@libdir@@libdirsuffix@
-+PKG_DEVLIB_DIR = $(DESTDIR)@libexecdir@@libdirsuffix@
-+PKG_INC_DIR = $(DESTDIR)@includedir@/xfs
-+PKG_MAN_DIR = $(DESTDIR)@mandir@
-+PKG_DOC_DIR = $(DESTDIR)@datadir@/doc/@pkg_name@
-+PKG_LOCALE_DIR = $(DESTDIR)@datadir@/locale
-
- CC = @cc@
- AWK = @awk@
diff --git a/source/ap/ghostscript/cidfmap b/source/ap/ghostscript/cidfmap
index 0303f66f5..28d69ad88 100644
--- a/source/ap/ghostscript/cidfmap
+++ b/source/ap/ghostscript/cidfmap
@@ -29,17 +29,17 @@
%% cidfmap.zh_CN (simplified Chinese ; zh_CN)
-%% This font will produce better results than the wqy-zenhei.ttf that we use
+%% This font will produce better results than the wqy-zenhei.ttc that we use
%% to get out-of-the-box output.
%% If you install it, uncomment the line below and comment the one below that.
%/BousungEG-Light-GB << /FileType /TrueType /Path (uming.ttf) /CSI [(GB1) 4] >> ;
-/BousungEG-Light-GB << /FileType /TrueType /Path (wqy-zenhei.ttf) /CSI [(GB1) 4] >> ;
-%% This font will produce better results than the wqy-zenhei.ttf that we use
+/BousungEG-Light-GB << /FileType /TrueType /Path (wqy-zenhei.ttc) /CSI [(GB1) 4] >> ;
+%% This font will produce better results than the wqy-zenhei.ttc that we use
%% to get out-of-the-box output.
%% If you install it, uncomment the line below and comment the one below that.
%/GBZenKai-Medium << /FileType /TrueType /Path (ukai.ttf) /CSI [(GB1) 4] >> ;
-/GBZenKai-Medium << /FileType /TrueType /Path (wqy-zenhei.ttf) /CSI [(GB1) 4] >> ;
-/MSungGBK-Light << /FileType /TrueType /Path (wqy-zenhei.ttf) /CSI [(GB1) 4] >> ;
+/GBZenKai-Medium << /FileType /TrueType /Path (wqy-zenhei.ttc) /CSI [(GB1) 4] >> ;
+/MSungGBK-Light << /FileType /TrueType /Path (wqy-zenhei.ttc) /CSI [(GB1) 4] >> ;
/MSung-Light /MSungGBK-Light ;
/MSung-Medium /GBZenKai-Medium ;
/MHei-Medium /BousungEG-Light-GB ;
@@ -57,7 +57,7 @@
%% interference (or comment the whole block out).
%/BousungEG-Light-GB << /FileType /TrueType /Path (uming.ttf) /CSI [(CNS1) 4] >> ;
%/ZenKai-Medium << /FileType /TrueType /Path (ukai.ttf) /CSI [(CNS1) 4] >> ;
-%/ShanHeiSun-Light << /FileType /TrueType /Path (wqy-zenhei.ttf) /CSI [(CNS1) 4] >> ;
+%/ShanHeiSun-Light << /FileType /TrueType /Path (wqy-zenhei.ttc) /CSI [(CNS1) 4] >> ;
%/STSong-Light /BousungEG-Light-GB ;
%/STKaiti-Regular /ZenKai-Medium-GB ;
%/STFangsong-Light /BousungEG-Light ;
diff --git a/source/ap/ghostscript/ghostscript.SlackBuild b/source/ap/ghostscript/ghostscript.SlackBuild
index 4afef9648..4ce0d69e9 100755
--- a/source/ap/ghostscript/ghostscript.SlackBuild
+++ b/source/ap/ghostscript/ghostscript.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,11 @@
PKGNAM=ghostscript
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+if [ -r gnu-ghostscript-*.tar.xz ]; then
+ SRCPREFIX="gnu-"
+fi
+VERSION=${VERSION:-$(echo $SRCPREFIX$PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -56,12 +59,18 @@ else
fi
cd $TMP
-rm -rf ${PKGNAM}-${VERSION}
-tar xvf $CWD/${PKGNAM}-$VERSION.tar.xz || exit 1
-cd ${PKGNAM}-$VERSION
+rm -rf ${SRCPREFIX}${PKGNAM}-${VERSION}
+tar xvf $CWD/${SRCPREFIX}${PKGNAM}-$VERSION.tar.xz || exit 1
+cd ${SRCPREFIX}${PKGNAM}-$VERSION
+
+# Use sprintf from Trio library as gs_printf to fix problems with
+# documents using locales where commas are used as decimals:
+zcat $CWD/ghostscript.gs_sprintf.diff.gz | patch -p1 --verbose || exit 1
-## Regenerate ./configure (if patched):
-#sh autogen.sh
+# Regenerate ./configure. Needed if patched, or to prevent libtool mismatch.
+autoreconf --force --install
+( cd jbig2dec ; autoreconf --force --install )
+( cd ijs ; autoreconf --force --install )
# Make sure ownerships and permissions are sane:
chown -R root:root .
@@ -73,9 +82,6 @@ find . \
# Build/install IJS:
( cd ijs
- if [ ! -r configure ]; then
- sh autogen.sh
- fi
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
@@ -118,9 +124,10 @@ make soinstall DESTDIR=$PKG || exit 1
# Replace the default cidfmap with one containing additional
# support for CJK printing:
-if [ -r $PKG/usr/share/ghostscript/${VERSION}/Resource/Init/cidfmap ]; then
- mv $PKG/usr/share/ghostscript/${VERSION}/Resource/Init/cidfmap $PKG/usr/share/ghostscript/${VERSION}/Resource/Init/cidfmap.default.ghostscript-${VERSION}
- zcat $CWD/cidfmap.gz > $PKG/usr/share/ghostscript/${VERSION}/Resource/Init/cidfmap.new
+if [ -r $PKG/usr/share/ghostscript/*.*/Resource/Init/cidfmap ]; then
+ SHARE_VERSION=$(echo $PKG/usr/share/ghostscript/*.*/Resource/Init/cidfmap | rev | cut -f 4 -d / | rev)
+ mv $PKG/usr/share/ghostscript/${SHARE_VERSION}/Resource/Init/cidfmap $PKG/usr/share/ghostscript/${SHARE_VERSION}/Resource/Init/cidfmap.default.ghostscript-${VERSION}
+ zcat $CWD/cidfmap.gz > $PKG/usr/share/ghostscript/${SHARE_VERSION}/Resource/Init/cidfmap.new
fi
# Many programs expect to find this filter with the old name:
@@ -163,7 +170,7 @@ fi
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
( cd doc
cp -a \
- COPYING ../LICENSE README \
+ AUTHORS COPYING* ../LICENSE* README* \
$PKG/usr/doc/${PKGNAM}-$VERSION
)
( cd $PKG/usr/doc/${PKGNAM}-$VERSION
diff --git a/source/ap/ghostscript/ghostscript.gs_sprintf.diff b/source/ap/ghostscript/ghostscript.gs_sprintf.diff
new file mode 100644
index 000000000..5e123e13c
--- /dev/null
+++ b/source/ap/ghostscript/ghostscript.gs_sprintf.diff
@@ -0,0 +1,28431 @@
+diff -up ghostscript-9.07/base/fapiufst.c.gs_sprintf ghostscript-9.07/base/fapiufst.c
+--- ghostscript-9.07/base/fapiufst.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/fapiufst.c 2013-05-09 17:02:39.056447042 +0100
+@@ -699,7 +699,7 @@ pack_long(LPUB8 * p, UL32 v)
+ static inline void
+ pack_float(LPUB8 * p, float v)
+ {
+- sprintf((char *)(*p), "%f", v);
++ gs_sprintf((char *)(*p), "%f", v);
+ *p += strlen((const char *)*p) + 1;
+ }
+
+diff -up ghostscript-9.07/base/gdev3b1.c.gs_sprintf ghostscript-9.07/base/gdev3b1.c
+--- ghostscript-9.07/base/gdev3b1.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdev3b1.c 2013-05-09 17:02:39.057447046 +0100
+@@ -538,7 +538,7 @@ att3b1_do_output_page(gx_device *dev, in
+ }
+
+ ut.ut_num = WTXTSLK1;
+- sprintf(ut.ut_text,
++ gs_sprintf(ut.ut_text,
+ "%s %d, top right (%d,%d), size (%d,%d), press '?' for help.",
+ flush ? "Showpage" : "Copypage", att3b1dev->page_num, xorigin, yorigin,
+ att3b1dev->width, att3b1dev->height);
+diff -up ghostscript-9.07/base/gdev8510.c.gs_sprintf ghostscript-9.07/base/gdev8510.c
+--- ghostscript-9.07/base/gdev8510.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdev8510.c 2013-05-09 17:02:39.058447051 +0100
+@@ -129,7 +129,7 @@ m8510_output_run(gx_device_printer *pdev
+ /* Transfer the line of data. */
+ count = out_end - out;
+ if (count) {
+- sprintf(tmp, "\033g%03d", count/8);
++ gs_sprintf(tmp, "\033g%03d", count/8);
+ fwrite(tmp, 1, 5, prn_stream);
+ fwrite(out, 1, count, prn_stream);
+ fwrite("\r", 1, 1, prn_stream);
+diff -up ghostscript-9.07/base/gdevccr.c.gs_sprintf ghostscript-9.07/base/gdevccr.c
+--- ghostscript-9.07/base/gdevccr.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevccr.c 2013-05-09 17:02:39.059447055 +0100
+@@ -207,9 +207,9 @@ static int alloc_rb( gs_memory_t *mem, c
+ int r;
+ for(r=0; r<rows; r++)
+ {
+- sprintf((*rb)[r].cname, "C%02x", r);
+- sprintf((*rb)[r].mname, "M%02x", r);
+- sprintf((*rb)[r].yname, "Y%02x", r);
++ gs_sprintf((*rb)[r].cname, "C%02x", r);
++ gs_sprintf((*rb)[r].mname, "M%02x", r);
++ gs_sprintf((*rb)[r].yname, "Y%02x", r);
+ (*rb)[r].is_used=0;
+ }
+ return 0;
+diff -up ghostscript-9.07/base/gdevdevn.c.gs_sprintf ghostscript-9.07/base/gdevdevn.c
+--- ghostscript-9.07/base/gdevdevn.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevdevn.c 2013-05-09 17:02:39.060447059 +0100
+@@ -2078,7 +2078,7 @@ spotcmyk_print_page(gx_device_printer *
+
+ /* Open the output files for the spot colors */
+ for(i = 0; i < nspot; i++) {
+- sprintf(spotname, "%ss%d", pdevn->fname, i);
++ gs_sprintf(spotname, "%ss%d", pdevn->fname, i);
+ spot_file[i] = gp_fopen(spotname, "wb");
+ if (spot_file[i] == NULL) {
+ code = gs_error_VMerror;
+@@ -2117,7 +2117,7 @@ spotcmyk_print_page(gx_device_printer *
+ return code;
+ }
+ for(i = 0; i < nspot; i++) {
+- sprintf(spotname, "%ss%d", pdevn->fname, i);
++ gs_sprintf(spotname, "%ss%d", pdevn->fname, i);
+ code = devn_write_pcx_file(pdev, spotname, 1, bpc, linelength[i]);
+ if (code < 0)
+ return code;
+@@ -2451,7 +2451,7 @@ devn_write_pcx_file(gx_device_printer *
+ in = gp_fopen(filename, "rb");
+ if (!in)
+ return_error(gs_error_invalidfileaccess);
+- sprintf(outname, "%s.pcx", filename);
++ gs_sprintf(outname, "%s.pcx", filename);
+ out = gp_fopen(outname, "wb");
+ if (!out) {
+ fclose(in);
+diff -up ghostscript-9.07/base/gdevdjet.c.gs_sprintf ghostscript-9.07/base/gdevdjet.c
+--- ghostscript-9.07/base/gdevdjet.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevdjet.c 2013-05-09 17:02:39.061447064 +0100
+@@ -323,9 +323,9 @@ hpjet_make_init(gx_device_printer *pdev,
+ else if (dev->MediaPosition_set && dev->MediaPosition >= 0)
+ paper_source = dev->MediaPosition;
+ if (paper_source >= 0)
+- sprintf(buf, "%s\033&l%dH", str, paper_source);
++ gs_sprintf(buf, "%s\033&l%dH", str, paper_source);
+ else
+- sprintf(buf, "%s", str);
++ gs_sprintf(buf, "%s", str);
+ }
+
+ /* The DeskJet can compress (mode 2) */
+@@ -361,7 +361,7 @@ fs600_print_page_copies(gx_device_printe
+ char base_init[60];
+ char init[80];
+
+- sprintf(base_init, "\033*r0F\033&u%dD", dots_per_inch);
++ gs_sprintf(base_init, "\033*r0F\033&u%dD", dots_per_inch);
+ hpjet_make_init(pdev, init, base_init);
+ return dljet_mono_print_page_copies(pdev, prn_stream, num_copies,
+ dots_per_inch, PCL_FS600_FEATURES,
+@@ -425,7 +425,7 @@ ljet3d_print_page_copies(gx_device_print
+ bool tumble=dev->Tumble;
+
+ hpjet_make_init(pdev, init, "\033&l-180u36Z\033*r0F");
+- sprintf(even_init, "\033&l180u36Z\033*r0F");
++ gs_sprintf(even_init, "\033&l180u36Z\033*r0F");
+ return dljet_mono_print_page_copies(pdev, prn_stream, num_copies,
+ 300, PCL_LJ3D_FEATURES, init, even_init, tumble);
+ }
+@@ -440,7 +440,7 @@ ljet4_print_page_copies(gx_device_printe
+ char base_init[60];
+ char init[80];
+
+- sprintf(base_init, "\033&l-180u36Z\033*r0F\033&u%dD", dots_per_inch);
++ gs_sprintf(base_init, "\033&l-180u36Z\033*r0F\033&u%dD", dots_per_inch);
+ hpjet_make_init(pdev, init, base_init);
+
+ return dljet_mono_print_page_copies(pdev, prn_stream, num_copies,
+@@ -472,9 +472,9 @@ ljet4d_print_page_copies(gx_device_print
+ in duplex mode we set this parameters for each odd page
+ (paper tray is set by "hpjet_make_init")
+ */
+- sprintf(base_init, "\033&l-180u36Z\033*r0F\033&u%dD", dots_per_inch);
++ gs_sprintf(base_init, "\033&l-180u36Z\033*r0F\033&u%dD", dots_per_inch);
+ hpjet_make_init(pdev, init, base_init);
+- sprintf(even_init, "\033&l180u36Z\033*r0F\033&u%dD", dots_per_inch);
++ gs_sprintf(even_init, "\033&l180u36Z\033*r0F\033&u%dD", dots_per_inch);
+ return dljet_mono_print_page_copies(pdev, prn_stream, num_copies,
+ dots_per_inch, PCL_LJ4D_FEATURES,
+ init,even_init,tumble);
+@@ -489,7 +489,7 @@ ljet4pjl_print_page_copies(gx_device_pri
+ { int dots_per_inch = (int)pdev->y_pixels_per_inch;
+ char real_init[60];
+
+- sprintf(real_init, "\033&l-180u36Z\033*r0F\033&u%dD", dots_per_inch);
++ gs_sprintf(real_init, "\033&l-180u36Z\033*r0F\033&u%dD", dots_per_inch);
+ return dljet_mono_print_page_copies(pdev, prn_stream, num_copies,
+ dots_per_inch, PCL_LJ4PJL_FEATURES,
+ real_init, real_init, false);
+diff -up ghostscript-9.07/base/gdevijs.c.gs_sprintf ghostscript-9.07/base/gdevijs.c
+--- ghostscript-9.07/base/gdevijs.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevijs.c 2013-05-09 17:02:39.063447072 +0100
+@@ -674,7 +674,7 @@ gsijs_set_margin_params(gx_device_ijs *i
+ }
+
+ if (code == 0) {
+- sprintf (buf, "%gx%g", ijsdev->MediaSize[0] * (1.0 / 72),
++ gs_sprintf (buf, "%gx%g", ijsdev->MediaSize[0] * (1.0 / 72),
+ ijsdev->MediaSize[1] * (1.0 / 72));
+ code = ijs_client_set_param(ijsdev->ctx, 0, "PaperSize",
+ buf, strlen(buf));
+@@ -715,7 +715,7 @@ gsijs_set_margin_params(gx_device_ijs *i
+ m[1] = ijsdev->MediaSize[1] * (1.0 / 72) -
+ printable_top - printable_height;
+ gx_device_set_margins((gx_device *)ijsdev, m, true);
+- sprintf (buf, "%gx%g", printable_left, printable_top);
++ gs_sprintf (buf, "%gx%g", printable_left, printable_top);
+ code = ijs_client_set_param(ijsdev->ctx, 0, "TopLeft",
+ buf, strlen(buf));
+ }
+@@ -864,7 +864,7 @@ gsijs_open(gx_device *dev)
+ /* Note: dup() may not be portable to all interesting IJS
+ platforms. In that case, this branch should be #ifdef'ed out.
+ */
+- sprintf(buf, "%d", fd);
++ gs_sprintf(buf, "%d", fd);
+ ijs_client_set_param(ijsdev->ctx, 0, "OutputFD", buf, strlen(buf));
+ close(fd);
+ } else {
+@@ -1021,9 +1021,9 @@ gsijs_output_page(gx_device *dev, int nu
+ }
+
+ /* Required page parameters */
+- sprintf(buf, "%d", n_chan);
++ gs_sprintf(buf, "%d", n_chan);
+ gsijs_client_set_param(ijsdev, "NumChan", buf);
+- sprintf(buf, "%d", ijsdev->BitsPerSample);
++ gs_sprintf(buf, "%d", ijsdev->BitsPerSample);
+ gsijs_client_set_param(ijsdev, "BitsPerSample", buf);
+
+ /* This needs to become more sophisticated for DeviceN. */
+@@ -1031,12 +1031,12 @@ gsijs_output_page(gx_device *dev, int nu
+ ((n_chan == 3) ? (krgb_mode ? ((k_bits == 1) ? "KRGB" : "KxRGB") : "DeviceRGB") : "DeviceGray"));
+ gsijs_client_set_param(ijsdev, "ColorSpace", buf);
+
+- sprintf(buf, "%d", ijs_width);
++ gs_sprintf(buf, "%d", ijs_width);
+ gsijs_client_set_param(ijsdev, "Width", buf);
+- sprintf(buf, "%d", ijs_height);
++ gs_sprintf(buf, "%d", ijs_height);
+ gsijs_client_set_param(ijsdev, "Height", buf);
+
+- sprintf(buf, "%gx%g", xres, yres);
++ gs_sprintf(buf, "%gx%g", xres, yres);
+ gsijs_client_set_param(ijsdev, "Dpi", buf);
+
+ #ifdef KRGB_DEBUG
+diff -up ghostscript-9.07/base/gdevl31s.c.gs_sprintf ghostscript-9.07/base/gdevl31s.c
+--- ghostscript-9.07/base/gdevl31s.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevl31s.c 2013-05-09 17:02:39.063447072 +0100
+@@ -184,9 +184,9 @@ lj3100sw_print_page_copies(gx_device_pri
+ if (gdev_prn_file_is_new(pdev)) {
+ lj3100sw_output_section_header(prn_stream, 1, 0, 0);
+ lj3100sw_output_repeated_data_bytes(prn_stream, buffer, &ptr, 0x1b, 12);
+- ptr += sprintf(ptr, "\r\nBD");
++ ptr += gs_sprintf(ptr, "\r\nBD");
+ lj3100sw_output_repeated_data_bytes(prn_stream, buffer, &ptr, 0, 5520);
+- ptr += sprintf(ptr, "%s\r\n%s %d\r\n%s %d\r\n%s %d\r\n%s %d\r\n%s %d\r\n%s %d\r\n",
++ ptr += gs_sprintf(ptr, "%s\r\n%s %d\r\n%s %d\r\n%s %d\r\n%s %d\r\n%s %d\r\n%s %d\r\n",
+ "NJ",
+ "PQ", -1,
+ "RE", high_resolution ? 6 : 2,
+@@ -198,7 +198,7 @@ lj3100sw_print_page_copies(gx_device_pri
+ }
+
+ lj3100sw_output_section_header(prn_stream, 3, ppdev->NumCopies, 0);
+- ptr += sprintf(ptr, "%s %d\r\n%s\r\n",
++ ptr += gs_sprintf(ptr, "%s %d\r\n%s\r\n",
+ "CM", 1,
+ "PD");
+ *ptr++ = 0;
+diff -up ghostscript-9.07/base/gdevp14.c.gs_sprintf ghostscript-9.07/base/gdevp14.c
+--- ghostscript-9.07/base/gdevp14.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevp14.c 2013-05-09 17:02:39.065447081 +0100
+@@ -6427,7 +6427,7 @@ get_param_compressed_color_list_elem(pdf
+ pkeyname_list_elem->next = *pkeyname_list;
+ pkeyname_list_elem->key_name = keyname_buf;
+ *pkeyname_list = pkeyname_list_elem;
+- sprintf(keyname_buf, "%s_%d", keyname, i);
++ gs_sprintf(keyname_buf, "%s_%d", keyname, i);
+ get_param_compressed_color_list_elem(pdev, plist,
+ pcomp_list->u.sub_level_ptrs[i], keyname_buf,
+ pkeyname_list);
+@@ -6498,7 +6498,7 @@ put_param_compressed_color_list_elem(gx_
+ char buff[50];
+ compressed_color_list_t * sub_list_ptr;
+
+- sprintf(buff, "%s_%d", keyname, i);
++ gs_sprintf(buff, "%s_%d", keyname, i);
+ put_param_compressed_color_list_elem(pdev, plist,
+ &sub_list_ptr, buff, num_comps - 1);
+ pcomp_list->u.sub_level_ptrs[i] = sub_list_ptr;
+@@ -6560,7 +6560,7 @@ get_param_spot_color_names(pdf14_clist_d
+ pkeyname_list_elem->next = *pkeyname_list;
+ pkeyname_list_elem->key_name = keyname_buf;
+ *pkeyname_list = pkeyname_list_elem;
+- sprintf(keyname_buf, "PDF14SpotName_%d", i);
++ gs_sprintf(keyname_buf, "PDF14SpotName_%d", i);
+ str.size = separations->names[i].size;
+ str.data = separations->names[i].data;
+ str.persistent = false;
+@@ -6596,7 +6596,7 @@ put_param_pdf14_spot_names(gx_device * p
+ char buff[20];
+ byte * sep_name;
+
+- sprintf(buff, "PDF14SpotName_%d", i);
++ gs_sprintf(buff, "PDF14SpotName_%d", i);
+ code = param_read_string(plist, buff, &str);
+ switch (code) {
+ default:
+diff -up ghostscript-9.07/base/gdevpdfb.c.gs_sprintf ghostscript-9.07/base/gdevpdfb.c
+--- ghostscript-9.07/base/gdevpdfb.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdfb.c 2013-05-09 17:02:39.066447085 +0100
+@@ -588,7 +588,7 @@ gdev_pdf_strip_tile_rectangle(gx_device
+ if (image_id) {
+ char buf[MAX_REF_CHARS + 6 + 1]; /* +6 for /R# Do\n */
+
+- sprintf(buf, "/R%ld Do\n", image_id);
++ gs_sprintf(buf, "/R%ld Do\n", image_id);
+ pprintd1(s, "%d>>stream\n", strlen(buf));
+ if (pdev->PDFA != 0)
+ pprints1(s, "%s\nendstream\n", buf);
+diff -up ghostscript-9.07/base/gdevpdf.c.gs_sprintf ghostscript-9.07/base/gdevpdf.c
+--- ghostscript-9.07/base/gdevpdf.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdf.c 2013-05-09 17:02:39.067447089 +0100
+@@ -301,7 +301,7 @@ pdf_initialize_ids(gx_device_pdf * pdev)
+ timeoffset = any_abs(timeoffset) / 60;
+ tms = *localtime(&t);
+
+- sprintf(buf, "(D:%04d%02d%02d%02d%02d%02d%c%02d\'%02d\')",
++ gs_sprintf(buf, "(D:%04d%02d%02d%02d%02d%02d%c%02d\'%02d\')",
+ tms.tm_year + 1900, tms.tm_mon + 1, tms.tm_mday,
+ tms.tm_hour, tms.tm_min, tms.tm_sec,
+ timesign, timeoffset / 60, timeoffset % 60);
+@@ -1277,7 +1277,7 @@ static int write_xref_section(gx_device_
+ * chances of needing to write white space to pad the file out.
+ */
+ if (!pdev->Linearise) {
+- sprintf(str, "%010"PRId64" 00000 n \n", pos);
++ gs_sprintf(str, "%010"PRId64" 00000 n \n", pos);
+ stream_puts(pdev->strm, str);
+ }
+ if (Offsets)
+@@ -1310,7 +1310,7 @@ rewrite_object(gx_device_pdf *const pdev
+ code = fread(&c, 1, 1, linear_params->sfile);
+ read++;
+ } while (c != '\n' && code > 0);
+- sprintf(Scratch, "%d 0 obj\n", pdev->ResourceUsage[object].NewObjectNumber);
++ gs_sprintf(Scratch, "%d 0 obj\n", pdev->ResourceUsage[object].NewObjectNumber);
+ fwrite(Scratch, strlen(Scratch), 1, linear_params->Lin_File.file);
+
+ code = fread(&c, 1, 1, linear_params->sfile);
+@@ -1359,7 +1359,7 @@ rewrite_object(gx_device_pdf *const pdev
+ target++;
+ sscanf(target, "%d 0 R", &ID);
+ fwrite(source, target - source, 1, linear_params->Lin_File.file);
+- sprintf(Buf, "%d 0 R", pdev->ResourceUsage[ID].NewObjectNumber);
++ gs_sprintf(Buf, "%d 0 R", pdev->ResourceUsage[ID].NewObjectNumber);
+ fwrite(Buf, strlen(Buf), 1, linear_params->Lin_File.file);
+ source = next;
+ } else {
+@@ -1544,7 +1544,7 @@ static int pdf_linearise(gx_device_pdf *
+ }
+ #endif
+ /* Linearisation. Part 1, file header */
+- sprintf(Header, "%%PDF-%d.%d\n", level / 10, level % 10);
++ gs_sprintf(Header, "%%PDF-%d.%d\n", level / 10, level % 10);
+ fwrite(Header, strlen(Header), 1, linear_params->Lin_File.file);
+ if (pdev->binary_ok)
+ fwrite(Binary, strlen(Binary), 1, linear_params->Lin_File.file);
+@@ -1556,16 +1556,16 @@ static int pdf_linearise(gx_device_pdf *
+
+ /* Linearisation. Part 2, the Linearisation dictioanry */
+ linear_params->LDictOffset = gp_ftell_64(linear_params->Lin_File.file);
+- sprintf(LDict, "%d 0 obj\n<< \n",
++ gs_sprintf(LDict, "%d 0 obj\n<< \n",
+ LDictObj);
+ fwrite(LDict, strlen(LDict), 1, linear_params->Lin_File.file);
+
+ /* First page cross-reference table here (Part 3) */
+ linear_params->FirstxrefOffset = gp_ftell_64(linear_params->Lin_File.file);
+- sprintf(Header, "xref\n%d %d\n", LDictObj, Part1To6 - LDictObj + 1); /* +1 for the primary hint stream */
++ gs_sprintf(Header, "xref\n%d %d\n", LDictObj, Part1To6 - LDictObj + 1); /* +1 for the primary hint stream */
+ fwrite(Header, strlen(Header), 1, linear_params->Lin_File.file);
+
+- sprintf(Header, "0000000000 00000 n \n");
++ gs_sprintf(Header, "0000000000 00000 n \n");
+
+ for (i = LDictObj;i <= linear_params->LastResource + 2; i++) {
+ fwrite(Header, 20, 1, linear_params->Lin_File.file);
+@@ -1575,7 +1575,7 @@ static int pdf_linearise(gx_device_pdf *
+ * +1 for the linearisation dict and +1 for the primary hint stream.
+ */
+ linear_params->FirsttrailerOffset = gp_ftell_64(linear_params->Lin_File.file);
+- sprintf(LDict, "\ntrailer\n<</Size %ld/Info %d 0 R/Root %d 0 R/ID[%s%s]/Prev %d>>\nstartxref\r\n0\n%%%%EOF\n \n",
++ gs_sprintf(LDict, "\ntrailer\n<</Size %ld/Info %d 0 R/Root %d 0 R/ID[%s%s]/Prev %d>>\nstartxref\r\n0\n%%%%EOF\n \n",
+ linear_params->LastResource + 3, pdev->ResourceUsage[linear_params->Info_id].NewObjectNumber, pdev->ResourceUsage[linear_params->Catalog_id].NewObjectNumber, fileID, fileID, 0);
+ fwrite(LDict, strlen(LDict), 1, linear_params->Lin_File.file);
+
+@@ -1685,7 +1685,7 @@ static int pdf_linearise(gx_device_pdf *
+ }
+ }
+ /* insert the primary hint stream */
+- sprintf(LDict, "%d 0 obj\n<</Length \n/S >>\nstream\n", HintStreamObj);
++ gs_sprintf(LDict, "%d 0 obj\n<</Length \n/S >>\nstream\n", HintStreamObj);
+ fwrite(LDict, strlen(LDict), 1, linear_params->sfile);
+
+ HintStreamStart = gp_ftell_64(linear_params->sfile);
+@@ -1999,7 +1999,7 @@ static int pdf_linearise(gx_device_pdf *
+ flush_hint_stream(linear_params);
+ HintLength = gp_ftell_64(linear_params->sfile) - HintStreamStart;
+
+- sprintf(LDict, "\nendstream\nendobj\n");
++ gs_sprintf(LDict, "\nendstream\nendobj\n");
+ fwrite(LDict, strlen(LDict), 1, linear_params->sfile);
+ /* Calculate the length of the primary hint stream */
+ HintStreamLen = gp_ftell_64(linear_params->sfile) - pdev->ResourceUsage[HintStreamObj].LinearisedOffset;
+@@ -2032,23 +2032,23 @@ static int pdf_linearise(gx_device_pdf *
+
+ /* Now the file is long enough, write the xref */
+ mainxref = gp_ftell_64(linear_params->sfile);
+- sprintf(Header, "xref\n0 %d\n", LDictObj);
++ gs_sprintf(Header, "xref\n0 %d\n", LDictObj);
+ fwrite(Header, strlen(Header), 1, linear_params->sfile);
+
+ linear_params->T = gp_ftell_64(linear_params->sfile) - 1;
+- sprintf(Header, "0000000000 65535 f \n");
++ gs_sprintf(Header, "0000000000 65535 f \n");
+ fwrite(Header, strlen(Header), 1, linear_params->sfile);
+
+ for (i = 1;i < LDictObj; i++) {
+ for (j = 0; j < pdev->ResourceUsageSize;j++) {
+ if (pdev->ResourceUsage[j].NewObjectNumber == i) {
+- sprintf(Header, "%010ld 00000 n \n", pdev->ResourceUsage[j].LinearisedOffset + HintStreamLen);
++ gs_sprintf(Header, "%010ld 00000 n \n", pdev->ResourceUsage[j].LinearisedOffset + HintStreamLen);
+ fwrite(Header, 20, 1, linear_params->sfile);
+ }
+ }
+ }
+
+- sprintf(LDict, "trailer\n<</Size %d>>\nstartxref\n%ld\n%%%%EOF\n",
++ gs_sprintf(LDict, "trailer\n<</Size %d>>\nstartxref\n%ld\n%%%%EOF\n",
+ LDictObj, linear_params->FirstxrefOffset);
+ fwrite(LDict, strlen(LDict), 1, linear_params->sfile);
+
+@@ -2062,32 +2062,32 @@ static int pdf_linearise(gx_device_pdf *
+ * versions.
+ */
+ gp_fseek_64(linear_params->sfile, linear_params->LDictOffset, SEEK_SET);
+- sprintf(LDict, "%d 0 obj\n<</Linearized 1/L %ld/H[ ", LDictObj, linear_params->FileLength);
++ gs_sprintf(LDict, "%d 0 obj\n<</Linearized 1/L %ld/H[ ", LDictObj, linear_params->FileLength);
+ fwrite(LDict, strlen(LDict), 1, linear_params->sfile);
+
+- sprintf(LDict, "%ld", pdev->ResourceUsage[HintStreamObj].LinearisedOffset);
++ gs_sprintf(LDict, "%ld", pdev->ResourceUsage[HintStreamObj].LinearisedOffset);
+ fwrite(LDict, strlen(LDict), 1, linear_params->sfile);
+- sprintf(LDict, " %ld]", HintStreamLen);
++ gs_sprintf(LDict, " %ld]", HintStreamLen);
+ fwrite(LDict, strlen(LDict), 1, linear_params->sfile);
+ /* Implementation Note 180 in hte PDF Reference 1.7 says that Acrobat
+ * gets the 'E' value wrong. So its probably not important....
+ */
+- sprintf(LDict, "/O %d/E %ld",pdev->ResourceUsage[pdev->pages[0].Page->id].NewObjectNumber, linear_params->E);
++ gs_sprintf(LDict, "/O %d/E %ld",pdev->ResourceUsage[pdev->pages[0].Page->id].NewObjectNumber, linear_params->E);
+ fwrite(LDict, strlen(LDict), 1, linear_params->sfile);
+- sprintf(LDict, "/N %d/T %ld>>\nendobj\n", pdev->next_page, linear_params->T);
++ gs_sprintf(LDict, "/N %d/T %ld>>\nendobj\n", pdev->next_page, linear_params->T);
+ fwrite(LDict, strlen(LDict), 1, linear_params->sfile);
+
+ /* Return to the secondary xref and write it again filling
+ * in the missing offsets.
+ */
+ gp_fseek_64(linear_params->sfile, linear_params->FirstxrefOffset, SEEK_SET);
+- sprintf(Header, "xref\n%d %d\n", LDictObj, Part1To6 - LDictObj + 1); /* +1 for the primary hint stream */
++ gs_sprintf(Header, "xref\n%d %d\n", LDictObj, Part1To6 - LDictObj + 1); /* +1 for the primary hint stream */
+ fwrite(Header, strlen(Header), 1, linear_params->sfile);
+
+ for (i = LDictObj;i <= linear_params->LastResource + 2; i++) {
+ for (j = 0; j < pdev->ResourceUsageSize;j++) {
+ if (pdev->ResourceUsage[j].NewObjectNumber == i) {
+- sprintf(Header, "%010ld 00000 n \n", pdev->ResourceUsage[j].LinearisedOffset);
++ gs_sprintf(Header, "%010ld 00000 n \n", pdev->ResourceUsage[j].LinearisedOffset);
+ fwrite(Header, 20, 1, linear_params->sfile);
+ }
+ }
+@@ -2097,14 +2097,14 @@ static int pdf_linearise(gx_device_pdf *
+ * in the missing values.
+ */
+ code = gp_fseek_64(linear_params->sfile, linear_params->FirsttrailerOffset, SEEK_SET);
+- sprintf(LDict, "\ntrailer\n<</Size %ld/Info %d 0 R/Root %d 0 R/ID[%s%s]/Prev %ld>>\nstartxref\r\n0\n%%%%EOF\n",
++ gs_sprintf(LDict, "\ntrailer\n<</Size %ld/Info %d 0 R/Root %d 0 R/ID[%s%s]/Prev %ld>>\nstartxref\r\n0\n%%%%EOF\n",
+ linear_params->LastResource + 3, pdev->ResourceUsage[linear_params->Info_id].NewObjectNumber, pdev->ResourceUsage[linear_params->Catalog_id].NewObjectNumber, fileID, fileID, (unsigned long)mainxref);
+ fwrite(LDict, strlen(LDict), 1, linear_params->sfile);
+
+ code = gp_fseek_64(linear_params->sfile, pdev->ResourceUsage[HintStreamObj].LinearisedOffset, SEEK_SET);
+- sprintf(LDict, "%d 0 obj\n<</Length %10ld", HintStreamObj, HintLength);
++ gs_sprintf(LDict, "%d 0 obj\n<</Length %10ld", HintStreamObj, HintLength);
+ fwrite(LDict, strlen(LDict), 1, linear_params->sfile);
+- sprintf(LDict, "\n/S %10ld>>\nstream\n", SharedHintOffset);
++ gs_sprintf(LDict, "\n/S %10ld>>\nstream\n", SharedHintOffset);
+ fwrite(LDict, strlen(LDict), 1, linear_params->sfile);
+
+ error:
+@@ -2605,7 +2605,7 @@ pdf_close(gx_device * dev)
+ pprintld1(s, "/Encrypt %ld 0 R ", Encrypt_id);
+ }
+ stream_puts(s, ">>\n");
+- sprintf(xref_str, "startxref\n%"PRId64"\n%%%%EOF\n", xref);
++ gs_sprintf(xref_str, "startxref\n%"PRId64"\n%%%%EOF\n", xref);
+ stream_puts(s, xref_str);
+ }
+ }
+diff -up ghostscript-9.07/base/gdevpdfe.c.gs_sprintf ghostscript-9.07/base/gdevpdfe.c
+--- ghostscript-9.07/base/gdevpdfe.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdfe.c 2013-05-09 17:02:39.067447089 +0100
+@@ -205,7 +205,7 @@ pdf_xmp_time(char *buf, int buf_length)
+
+ time(&t);
+ tms = *localtime(&t);
+- sprintf(buf1,
++ gs_sprintf(buf1,
+ "%04d-%02d-%02d",
+ tms.tm_year + 1900, tms.tm_mon + 1, tms.tm_mday);
+ strncpy(buf, buf1, buf_length);
+@@ -860,7 +860,7 @@ pdf_document_metadata(gx_device_pdf *pde
+ code = COS_WRITE_OBJECT(pres->object, pdev, resourceNone);
+ if (code < 0)
+ return code;
+- sprintf(buf, "%ld 0 R", pres->object->id);
++ gs_sprintf(buf, "%ld 0 R", pres->object->id);
+ pdf_record_usage(pdev, pres->object->id, resource_usage_part9_structure);
+
+ code = cos_dict_put_c_key_object(pdev->Catalog, "/Metadata", pres->object);
+diff -up ghostscript-9.07/base/gdevpdfg.c.gs_sprintf ghostscript-9.07/base/gdevpdfg.c
+--- ghostscript-9.07/base/gdevpdfg.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdfg.c 2013-05-09 17:02:39.068447094 +0100
+@@ -674,7 +674,7 @@ pdf_write_transfer_map(gx_device_pdf *pd
+ gs_function_free(pfn, false, mem);
+ if (code < 0)
+ return code;
+- sprintf(ids, "%s%s%ld 0 R", key, (key[0] && key[0] != ' ' ? " " : ""), id);
++ gs_sprintf(ids, "%s%s%ld 0 R", key, (key[0] && key[0] != ' ' ? " " : ""), id);
+ return 0;
+ }
+ static int
+@@ -1255,7 +1255,7 @@ pdf_update_halftone(gx_device_pdf *pdev,
+ }
+ if (code < 0)
+ return code;
+- sprintf(hts, "%ld 0 R", id);
++ gs_sprintf(hts, "%ld 0 R", id);
+ pdev->halftone_id = pis->dev_ht->id;
+ return code;
+ }
+@@ -1392,7 +1392,7 @@ pdf_update_alpha(gx_device_pdf *pdev, co
+ if (pis->soft_mask_id == 0)
+ strcpy(buf, "/None");
+ else
+- sprintf(buf, "%ld 0 R", pis->soft_mask_id);
++ gs_sprintf(buf, "%ld 0 R", pis->soft_mask_id);
+ code = pdf_open_gstate(pdev, ppres);
+ if (code < 0)
+ return code;
+@@ -1548,7 +1548,7 @@ pdf_prepare_drawing(gx_device_pdf *pdev,
+ code = pdf_open_gstate(pdev, ppres);
+ if (code < 0)
+ return code;
+- sprintf(buf, "[%d %d]", phase.x, phase.y);
++ gs_sprintf(buf, "[%d %d]", phase.x, phase.y);
+ code = cos_dict_put_string_copy(resource_dict(*ppres), "/HTP", buf);
+ if (code < 0)
+ return code;
+diff -up ghostscript-9.07/base/gdevpdfi.c.gs_sprintf ghostscript-9.07/base/gdevpdfi.c
+--- ghostscript-9.07/base/gdevpdfi.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdfi.c 2013-05-09 17:02:39.068447094 +0100
+@@ -1122,7 +1122,7 @@ pdf_end_and_do_image(gx_device_pdf *pdev
+ if (pdev->image_mask_id != gs_no_id) {
+ char buf[20];
+
+- sprintf(buf, "%ld 0 R", pdev->image_mask_id);
++ gs_sprintf(buf, "%ld 0 R", pdev->image_mask_id);
+ code = cos_dict_put_string_copy((cos_dict_t *)pres->object,
+ pdev->image_mask_is_SMask ? "/SMask" : "/Mask", buf);
+ if (code < 0)
+diff -up ghostscript-9.07/base/gdevpdfm.c.gs_sprintf ghostscript-9.07/base/gdevpdfm.c
+--- ghostscript-9.07/base/gdevpdfm.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdfm.c 2013-05-09 17:02:39.069447098 +0100
+@@ -153,9 +153,9 @@ pdfmark_make_dest(char dstr[MAX_DEST_STR
+ else if (pdfmark_find_key("/Action", pairs, count, &action) &&
+ pdf_key_eq(&action, "/GoToR")
+ )
+- sprintf(dstr, "[%d ", page - 1);
++ gs_sprintf(dstr, "[%d ", page - 1);
+ else
+- sprintf(dstr, "[%ld 0 R ", pdf_page_id(pdev, page));
++ gs_sprintf(dstr, "[%ld 0 R ", pdf_page_id(pdev, page));
+ len = strlen(dstr);
+ if (len + view_string.size > MAX_DEST_STRING)
+ return_error(gs_error_limitcheck);
+@@ -697,7 +697,7 @@ pdfmark_put_ao_pairs(gx_device_pdf * pde
+ char dstr[1 + (sizeof(long) * 8 / 3 + 1) + 25 + 1];
+ long page_id = pdf_page_id(pdev, pdev->next_page + 1);
+
+- sprintf(dstr, "[%ld 0 R /XYZ null null null]", page_id);
++ gs_sprintf(dstr, "[%ld 0 R /XYZ null null null]", page_id);
+ cos_dict_put_c_key_string(pcd, "/Dest", (const unsigned char*) dstr,
+ strlen(dstr));
+ }
+@@ -1470,7 +1470,7 @@ pdfmark_PS(gx_device_pdf * pdev, gs_para
+ if (level1_id != gs_no_id) {
+ char r[MAX_DEST_STRING];
+
+- sprintf(r, "%ld 0 R", level1_id);
++ gs_sprintf(r, "%ld 0 R", level1_id);
+ code = cos_dict_put_c_key_string(cos_stream_dict(pcs), "/Level1",
+ (byte *)r, strlen(r));
+ if (code < 0)
+diff -up ghostscript-9.07/base/gdevpdfo.c.gs_sprintf ghostscript-9.07/base/gdevpdfo.c
+--- ghostscript-9.07/base/gdevpdfo.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdfo.c 2013-05-09 17:02:39.069447098 +0100
+@@ -700,7 +700,7 @@ cos_array_add_int(cos_array_t *pca, int
+ char str[sizeof(int) * 8 / 3 + 3]; /* sign, rounding, 0 terminator */
+ cos_value_t v;
+
+- sprintf(str, "%d", i);
++ gs_sprintf(str, "%d", i);
+ return cos_array_add(pca, cos_string_value(&v, (byte *)str, strlen(str)));
+ }
+ int
+@@ -1081,7 +1081,7 @@ cos_dict_put_c_key_int(cos_dict_t *pcd,
+ {
+ char str[sizeof(int) * 8 / 3 + 3]; /* sign, rounding, 0 terminator */
+
+- sprintf(str, "%d", value);
++ gs_sprintf(str, "%d", value);
+ return cos_dict_put_c_key_string(pcd, key, (byte *)str, strlen(str));
+ }
+ int
+diff -up ghostscript-9.07/base/gdevpdfr.c.gs_sprintf ghostscript-9.07/base/gdevpdfr.c
+--- ghostscript-9.07/base/gdevpdfr.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdfr.c 2013-05-09 17:02:39.070447102 +0100
+@@ -140,7 +140,7 @@ pdf_refer_named(gx_device_pdf * pdev, co
+ }
+ if (page_number <= 0)
+ return code;
+- sprintf(page_name_chars, "{Page%d}", page_number);
++ gs_sprintf(page_name_chars, "{Page%d}", page_number);
+ param_string_from_string(pnstr, page_name_chars);
+ pname = &pnstr;
+ code = pdf_find_named(pdev, pname, ppco);
+@@ -452,7 +452,7 @@ pdf_replace_names(gx_device_pdf * pdev,
+
+ size += sname - scan;
+ if (pco) {
+- sprintf(ref, " %ld 0 R ", pco->id);
++ gs_sprintf(ref, " %ld 0 R ", pco->id);
+ size += strlen(ref);
+ }
+ scan = next;
+@@ -480,7 +480,7 @@ pdf_replace_names(gx_device_pdf * pdev,
+ memcpy(sto, scan, copy);
+ sto += copy;
+ if (pco) {
+- sprintf(ref, " %ld 0 R ", pco->id);
++ gs_sprintf(ref, " %ld 0 R ", pco->id);
+ rlen = strlen(ref);
+ memcpy(sto, ref, rlen);
+ sto += rlen;
+diff -up ghostscript-9.07/base/gdevpdft.c.gs_sprintf ghostscript-9.07/base/gdevpdft.c
+--- ghostscript-9.07/base/gdevpdft.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdft.c 2013-05-09 17:02:39.070447102 +0100
+@@ -63,7 +63,7 @@ pdf_make_soft_mask_dict(gx_device_pdf *
+ code = pdf_write_function(pdev, pparams->transfer_function, &id);
+ if (code < 0)
+ return code;
+- sprintf(buf, " %ld 0 R", id);
++ gs_sprintf(buf, " %ld 0 R", id);
+ code = cos_dict_put_c_key_string(soft_mask_dict, "/TR", (const byte *)buf, strlen(buf));
+ if (code < 0)
+ return code;
+@@ -317,7 +317,7 @@ pdf_end_transparency_mask(gs_imager_stat
+ return 0;
+ /* We need to update the 'where_used' field, in case we substituted a resource */
+ pres->where_used |= pdev->used_mask;
+- sprintf(buf, "%ld 0 R", pdf_resource_id(pres));
++ gs_sprintf(buf, "%ld 0 R", pdf_resource_id(pres));
+ code = cos_dict_put_c_key_string((cos_dict_t *)pdev->pres_soft_mask_dict->object,
+ "/G", (const byte *)buf, strlen(buf));
+ if (code < 0)
+diff -up ghostscript-9.07/base/gdevpdfu.c.gs_sprintf ghostscript-9.07/base/gdevpdfu.c
+--- ghostscript-9.07/base/gdevpdfu.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdfu.c 2013-05-09 17:02:39.071447106 +0100
+@@ -341,14 +341,14 @@ static int write_tt_encodings(stream *s,
+ char Buffer[256];
+ single_glyph_list_t *entry = (single_glyph_list_t *)&SingleGlyphList;
+
+- sprintf(Buffer, "/AdobeGlyphList mark\n");
++ gs_sprintf(Buffer, "/AdobeGlyphList mark\n");
+ stream_write(s, Buffer, strlen(Buffer));
+ while (entry->Glyph) {
+- sprintf(Buffer, "/%s 16#%04x\n", entry->Glyph, entry->Unicode);
++ gs_sprintf(Buffer, "/%s 16#%04x\n", entry->Glyph, entry->Unicode);
+ stream_write(s, Buffer, strlen(Buffer));
+ entry++;
+ };
+- sprintf(Buffer, ".dicttomark readonly def\n");
++ gs_sprintf(Buffer, ".dicttomark readonly def\n");
+ stream_write(s, Buffer, strlen(Buffer));
+
+ index = 0;
+@@ -425,24 +425,24 @@ int ps2write_dsc_header(gx_device_pdf *
+ pagecount++;
+ }
+ }
+- sprintf(BBox, "%%%%BoundingBox: 0 0 %d %d\n", (int)urx, (int)ury);
++ gs_sprintf(BBox, "%%%%BoundingBox: 0 0 %d %d\n", (int)urx, (int)ury);
+ stream_write(s, (byte *)BBox, strlen(BBox));
+- sprintf(BBox, "%%%%HiResBoundingBox: 0 0 %.2f %.2f\n", urx, ury);
++ gs_sprintf(BBox, "%%%%HiResBoundingBox: 0 0 %.2f %.2f\n", urx, ury);
+ stream_write(s, (byte *)BBox, strlen(BBox));
+ }
+ cre_date_time_len = pdf_get_docinfo_item(pdev, "/CreationDate", cre_date_time, sizeof(cre_date_time) - 1);
+ cre_date_time[cre_date_time_len] = 0;
+- sprintf(BBox, "%%%%Creator: %s %d (%s)\n", gs_product, (int)gs_revision,
++ gs_sprintf(BBox, "%%%%Creator: %s %d (%s)\n", gs_product, (int)gs_revision,
+ pdev->dname);
+ stream_write(s, (byte *)BBox, strlen(BBox));
+ stream_puts(s, "%%LanguageLevel: 2\n");
+- sprintf(BBox, "%%%%CreationDate: %s\n", cre_date_time);
++ gs_sprintf(BBox, "%%%%CreationDate: %s\n", cre_date_time);
+ stream_write(s, (byte *)BBox, strlen(BBox));
+- sprintf(BBox, "%%%%Pages: %d\n", pages);
++ gs_sprintf(BBox, "%%%%Pages: %d\n", pages);
+ stream_write(s, (byte *)BBox, strlen(BBox));
+- sprintf(BBox, "%%%%EndComments\n");
++ gs_sprintf(BBox, "%%%%EndComments\n");
+ stream_write(s, (byte *)BBox, strlen(BBox));
+- sprintf(BBox, "%%%%BeginProlog\n");
++ gs_sprintf(BBox, "%%%%BeginProlog\n");
+ stream_write(s, (byte *)BBox, strlen(BBox));
+ if (pdev->params.CompressPages) {
+ /* When CompressEntireFile is true and ASCII85EncodePages is false,
+@@ -493,7 +493,7 @@ pdfwrite_pdf_open_document(gx_device_pdf
+ pdev->CompressEntireFile = 0;
+ else {
+ stream_write(s, (byte *)"%!\r", 3);
+- sprintf(BBox, "%%%%BoundingBox: 0 0 %d %d\n", width, height);
++ gs_sprintf(BBox, "%%%%BoundingBox: 0 0 %d %d\n", width, height);
+ stream_write(s, (byte *)BBox, strlen(BBox));
+ if (pdev->params.CompressPages || pdev->CompressEntireFile) {
+ /* When CompressEntireFile is true and ASCII85EncodePages is false,
+@@ -1340,7 +1340,7 @@ void
+ pdf_reserve_object_id(gx_device_pdf * pdev, pdf_resource_t *pres, long id)
+ {
+ pres->object->id = (id == 0 ? pdf_obj_ref(pdev) : id);
+- sprintf(pres->rname, "R%ld", pres->object->id);
++ gs_sprintf(pres->rname, "R%ld", pres->object->id);
+ }
+
+ /* Begin an aside (resource, annotation, ...). */
+@@ -1802,9 +1802,9 @@ void
+ pdf_store_default_Producer(char buf[PDF_MAX_PRODUCER])
+ {
+ if ((gs_revision % 100) == 0)
+- sprintf(buf, "(%s %1.1f)", gs_product, gs_revision / 100.0);
++ gs_sprintf(buf, "(%s %1.1f)", gs_product, gs_revision / 100.0);
+ else
+- sprintf(buf, "(%s %1.2f)", gs_product, gs_revision / 100.0);
++ gs_sprintf(buf, "(%s %1.2f)", gs_product, gs_revision / 100.0);
+ }
+
+ /* Write matrix values. */
+@@ -1851,7 +1851,7 @@ pdf_put_name_chars_1_2(stream *s, const
+ case '[': case ']':
+ case '{': case '}':
+ case '/':
+- sprintf(hex, "#%02x", c);
++ gs_sprintf(hex, "#%02x", c);
+ stream_puts(s, hex);
+ break;
+ case 0:
+diff -up ghostscript-9.07/base/gdevpdfv.c.gs_sprintf ghostscript-9.07/base/gdevpdfv.c
+--- ghostscript-9.07/base/gdevpdfv.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdfv.c 2013-05-09 17:02:39.071447106 +0100
+@@ -157,7 +157,7 @@ pdf_pattern(gx_device_pdf *pdev, const g
+
+ if (pcd_XObject == 0)
+ return_error(gs_error_VMerror);
+- sprintf(key, "/R%ld", pcs_image->id);
++ gs_sprintf(key, "/R%ld", pcs_image->id);
+ /* This is non-obvious code. Previously we would put the image object (pcs_image)
+ * into the Resources dit. When we come to write out the Resources dict
+ * that code writes a reference (index 0 R) using the ID from the object.
+@@ -201,7 +201,7 @@ pdf_pattern(gx_device_pdf *pdev, const g
+ {
+ char buf[MAX_REF_CHARS + 6 + 1]; /* +6 for /R# Do\n */
+
+- sprintf(buf, "/R%ld Do\n", pcs_image->id);
++ gs_sprintf(buf, "/R%ld Do\n", pcs_image->id);
+ cos_stream_add_bytes(pcos, (const byte *)buf, strlen(buf));
+ }
+
+@@ -596,7 +596,7 @@ pdf_put_linear_shading(cos_dict_t *pscd,
+ if (Extend[0] | Extend[1]) {
+ char extend_str[1 + 5 + 1 + 5 + 1 + 1]; /* [bool bool] */
+
+- sprintf(extend_str, "[%s %s]",
++ gs_sprintf(extend_str, "[%s %s]",
+ (Extend[0] ? "true" : "false"),
+ (Extend[1] ? "true" : "false"));
+ code = cos_dict_put_c_key_string(pscd, "/Extend",
+diff -up ghostscript-9.07/base/gdevpdtb.c.gs_sprintf ghostscript-9.07/base/gdevpdtb.c
+--- ghostscript-9.07/base/gdevpdtb.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdtb.c 2013-05-09 17:02:39.072447111 +0100
+@@ -345,7 +345,7 @@ pdf_base_font_alloc(gx_device_pdf *pdev,
+ font_name.size -= SUBSET_PREFIX_SIZE;
+ }
+ } else {
+- sprintf(fnbuf, ".F%lx", (ulong)copied);
++ gs_sprintf(fnbuf, ".F%lx", (ulong)copied);
+ font_name.data = (byte *)fnbuf;
+ font_name.size = strlen(fnbuf);
+ }
+@@ -530,7 +530,7 @@ pdf_adjust_font_name(gx_device_pdf *pdev
+ size = i + 1;
+ }
+ /* Create a unique name. */
+- sprintf(suffix, "%c%lx", SUFFIX_CHAR, id);
++ gs_sprintf(suffix, "%c%lx", SUFFIX_CHAR, id);
+ suffix_size = strlen(suffix);
+ data = gs_resize_string(pdev->pdf_memory, chars, size,
+ size + suffix_size,
+diff -up ghostscript-9.07/base/gdevpdtc.c.gs_sprintf ghostscript-9.07/base/gdevpdtc.c
+--- ghostscript-9.07/base/gdevpdtc.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdtc.c 2013-05-09 17:02:39.072447111 +0100
+@@ -338,7 +338,7 @@ attach_cmap_resource(gx_device_pdf *pdev
+ strcpy(pdfont->u.type0.Encoding_name,
+ (pcmap->WMode ? "/Identity-V" : "/Identity-H"));
+ else
+- sprintf(pdfont->u.type0.Encoding_name, "%ld 0 R",
++ gs_sprintf(pdfont->u.type0.Encoding_name, "%ld 0 R",
+ pdf_resource_id(pcmres));
+ pdfont->u.type0.CMapName.data = chars;
+ pdfont->u.type0.CMapName.size = size;
+@@ -349,7 +349,7 @@ attach_cmap_resource(gx_device_pdf *pdev
+ */
+ return_error(gs_error_invalidfont);
+
+- sprintf(pdfont->u.type0.Encoding_name, "/%s", *pcmn);
++ gs_sprintf(pdfont->u.type0.Encoding_name, "/%s", *pcmn);
+ pdfont->u.type0.CMapName.data = (const byte *)*pcmn;
+ pdfont->u.type0.CMapName.size = strlen(*pcmn);
+ pdfont->u.type0.cmap_is_standard = true;
+diff -up ghostscript-9.07/base/gdevpdtf.c.gs_sprintf ghostscript-9.07/base/gdevpdtf.c
+--- ghostscript-9.07/base/gdevpdtf.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdtf.c 2013-05-09 17:02:39.072447111 +0100
+@@ -1152,7 +1152,7 @@ pdf_convert_truetype_font(gx_device_pdf
+ if (code < 0)
+ return 0;
+ pdfont->u.cidfont.CIDSystemInfo_id = pdev->IdentityCIDSystemInfo_id;
+- sprintf(pdfont0->u.type0.Encoding_name, "%ld 0 R", pdf_resource_id(pdev->OneByteIdentityH));
++ gs_sprintf(pdfont0->u.type0.Encoding_name, "%ld 0 R", pdf_resource_id(pdev->OneByteIdentityH));
+ /* Move ToUnicode : */
+ pdfont0->res_ToUnicode = pdfont->res_ToUnicode; pdfont->res_ToUnicode = 0;
+ pdfont0->cmap_ToUnicode = pdfont->cmap_ToUnicode; pdfont->cmap_ToUnicode = 0;
+diff -up ghostscript-9.07/base/gdevpdti.c.gs_sprintf ghostscript-9.07/base/gdevpdti.c
+--- ghostscript-9.07/base/gdevpdti.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdti.c 2013-05-09 17:02:39.073447115 +0100
+@@ -1178,7 +1178,7 @@ pdf_add_resource(gx_device_pdf *pdev, co
+ if (code < 0)
+ return code;
+ }
+- sprintf(buf, "%ld 0 R\n", pres->object->id);
++ gs_sprintf(buf, "%ld 0 R\n", pres->object->id);
+ if (v != NULL) {
+ if (v->value_type != COS_VALUE_OBJECT &&
+ v->value_type != COS_VALUE_RESOURCE)
+diff -up ghostscript-9.07/base/gdevpdtt.c.gs_sprintf ghostscript-9.07/base/gdevpdtt.c
+--- ghostscript-9.07/base/gdevpdtt.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdtt.c 2013-05-09 17:02:39.074447119 +0100
+@@ -2752,7 +2752,7 @@ pdf_choose_output_glyph_hame(gx_device_p
+ p = (byte *)gs_alloc_string(pdev->pdf_memory, gnstr->size, "pdf_text_set_cache");
+ if (p == NULL)
+ return_error(gs_error_VMerror);
+- sprintf(buf, "g%04x", (unsigned int)(glyph & 0xFFFF));
++ gs_sprintf(buf, "g%04x", (unsigned int)(glyph & 0xFFFF));
+ memcpy(p, buf, 5);
+ gnstr->data = p;
+ }
+diff -up ghostscript-9.07/base/gdevpdtw.c.gs_sprintf ghostscript-9.07/base/gdevpdtw.c
+--- ghostscript-9.07/base/gdevpdtw.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpdtw.c 2013-05-09 17:02:39.074447119 +0100
+@@ -925,7 +925,7 @@ pdf_write_OneByteIdentityH(gx_device_pdf
+ code = cos_dict_put_string_copy(pcd, "/CMapName", "/OneByteIdentityH");
+ if (code < 0)
+ return code;
+- sprintf(buf, "%ld 0 R", pdev->IdentityCIDSystemInfo_id);
++ gs_sprintf(buf, "%ld 0 R", pdev->IdentityCIDSystemInfo_id);
+ code = cos_dict_put_string_copy(pcd, "/CIDSystemInfo", buf);
+ if (code < 0)
+ return code;
+diff -up ghostscript-9.07/base/gdevpng.c.gs_sprintf ghostscript-9.07/base/gdevpng.c
+--- ghostscript-9.07/base/gdevpng.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpng.c 2013-05-09 17:02:39.074447119 +0100
+@@ -564,7 +564,7 @@ do_png_print_page(gx_device_png * pdev,
+ }
+ /* add comment */
+ strncpy(software_key, "Software", sizeof(software_key));
+- sprintf(software_text, "%s %d.%02d", gs_product,
++ gs_sprintf(software_text, "%s %d.%02d", gs_product,
+ (int)(gs_revision / 100), (int)(gs_revision % 100));
+ text_png.compression = -1; /* uncompressed */
+ text_png.key = software_key;
+diff -up ghostscript-9.07/base/gdevps.c.gs_sprintf ghostscript-9.07/base/gdevps.c
+--- ghostscript-9.07/base/gdevps.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevps.c 2013-05-09 17:02:39.075447124 +0100
+@@ -526,7 +526,7 @@ psw_image_write(gx_device_pswrite * pdev
+ const char *op;
+
+ if (index >= 0) {
+- sprintf(str, "%d%c", index / 26, index % 26 + 'A');
++ gs_sprintf(str, "%d%c", index / 26, index % 26 + 'A');
+ pprintd2(s, "%d %d ", x, y);
+ pprints2(s, "%s %s\n", str, imagestr);
+ if (s->end_status == ERRC)
+@@ -556,12 +556,12 @@ psw_image_write(gx_device_pswrite * pdev
+ };
+
+ index = image_cache_lookup(pdev, id, width_bits, height, true);
+- sprintf(str, "/%d%c", index / 26, index % 26 + 'A');
++ gs_sprintf(str, "/%d%c", index / 26, index % 26 + 'A');
+ stream_puts(s, str);
+ if (depth != 1)
+ pprintld1(s, " %ld", ((width_bits + 7) >> 3) * (ulong) height);
+ op = cached[encode];
+- sprintf(endstr, "\n%s\n", imagestr);
++ gs_sprintf(endstr, "\n%s\n", imagestr);
+ }
+ if (s->end_status == ERRC)
+ return_error(gs_error_ioerror);
+@@ -1261,7 +1261,7 @@ psw_copy_color(gx_device * dev,
+ return (*dev_proc(dev, fill_rectangle))
+ (dev, x, y, w, h, (bits[0] << 16) + (bits[1] << 8) + bits[2]);
+ }
+- sprintf(op, "%d Ic", depth / 3); /* RGB */
++ gs_sprintf(op, "%d Ic", depth / 3); /* RGB */
+ code = gdev_vector_update_clip_path(vdev, NULL);
+ if (code < 0)
+ return code;
+diff -up ghostscript-9.07/base/gdevpsf1.c.gs_sprintf ghostscript-9.07/base/gdevpsf1.c
+--- ghostscript-9.07/base/gdevpsf1.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpsf1.c 2013-05-09 17:02:39.075447124 +0100
+@@ -646,12 +646,12 @@ write_Private(stream *s, gs_font_type1 *
+ gs_free_object(pfont->memory, SubrsWithMM, "free Subrs record");
+ return code;
+ }
+- sprintf(buf, "dup %d %u -| ", i, code);
++ gs_sprintf(buf, "dup %d %u -| ", i, code);
+ stream_puts(s, buf);
+ write_CharString(s, stripped, code);
+ gs_free_object(pfont->memory, stripped, "free Subrs copy for OtherSubrs");
+ } else {
+- sprintf(buf, "dup %d %u -| ", i, gdata.bits.size);
++ gs_sprintf(buf, "dup %d %u -| ", i, gdata.bits.size);
+ stream_puts(s, buf);
+ write_CharString(s, gdata.bits.data, gdata.bits.size);
+ }
+diff -up ghostscript-9.07/base/gdevpsf2.c.gs_sprintf ghostscript-9.07/base/gdevpsf2.c
+--- ghostscript-9.07/base/gdevpsf2.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevpsf2.c 2013-05-09 17:02:39.076447128 +0100
+@@ -274,7 +274,7 @@ cff_put_real(cff_writer_t *pcw, floatp f
+ byte b = 0xff;
+ const char *p;
+
+- sprintf(str, "%g", f);
++ gs_sprintf(str, "%g", f);
+ sputc(pcw->strm, CD_REAL);
+ for (p = str; ; ++p) {
+ int digit;
+diff -up ghostscript-9.07/base/gdevsppr.c.gs_sprintf ghostscript-9.07/base/gdevsppr.c
+--- ghostscript-9.07/base/gdevsppr.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevsppr.c 2013-05-09 17:02:39.076447128 +0100
+@@ -100,7 +100,7 @@ err_code_string(int err_code)
+ {
+ if ((err_code<EMOTOR)||(err_code>ESERIAL))
+ {
+- sprintf(err_buffer,"err_code out of range: %d",err_code);
++ gs_sprintf(err_buffer,"err_code out of range: %d",err_code);
+ return err_buffer;
+ }
+ return errmsg[err_code];
+diff -up ghostscript-9.07/base/gdevsun.c.gs_sprintf ghostscript-9.07/base/gdevsun.c
+--- ghostscript-9.07/base/gdevsun.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevsun.c 2013-05-09 17:02:39.076447128 +0100
+@@ -392,7 +392,7 @@ if ( gs_debug['X'] )
+ /*
+ * Install the colormap.
+ */
+- sprintf(xdev->cmsname, "%s-%d", CMSNAME, getpid());
++ gs_sprintf(xdev->cmsname, "%s-%d", CMSNAME, getpid());
+ pw_setcmsname(xdev->pw, xdev->cmsname);
+ pw_putcolormap(xdev->pw, 0, CMS_SIZE,
+ xdev->red, xdev->green, xdev->blue);
+diff -up ghostscript-9.07/base/gdevsvg.c.gs_sprintf ghostscript-9.07/base/gdevsvg.c
+--- ghostscript-9.07/base/gdevsvg.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevsvg.c 2013-05-09 17:02:39.076447128 +0100
+@@ -374,22 +374,22 @@ svg_write_header(gx_device_svg *svg)
+ return 1;
+
+ /* write the initial boilerplate */
+- sprintf(line, "%s\n", XML_DECL);
++ gs_sprintf(line, "%s\n", XML_DECL);
+ /* svg_write(svg, line); */
+ sputs(s, (byte *)line, strlen(line), &used);
+- sprintf(line, "%s\n", SVG_DOCTYPE);
++ gs_sprintf(line, "%s\n", SVG_DOCTYPE);
+ /* svg_write(svg, line); */
+ sputs(s, (byte *)line, strlen(line), &used);
+- sprintf(line, "<svg xmlns='%s' version='%s'",
++ gs_sprintf(line, "<svg xmlns='%s' version='%s'",
+ SVG_XMLNS, SVG_VERSION);
+ /* svg_write(svg, line); */
+ sputs(s, (byte *)line, strlen(line), &used);
+- sprintf(line, "\n\twidth='%dpt' height='%dpt'>\n",
++ gs_sprintf(line, "\n\twidth='%dpt' height='%dpt'>\n",
+ (int)svg->MediaSize[0], (int)svg->MediaSize[1]);
+ sputs(s, (byte *)line, strlen(line), &used);
+
+ /* Scale drawing so our coordinates are in pixels */
+- sprintf(line, "<g transform='scale(%lf,%lf)'>\n",
++ gs_sprintf(line, "<g transform='scale(%lf,%lf)'>\n",
+ 72.0 / svg->HWResolution[0],
+ 72.0 / svg->HWResolution[1]);
+ /* svg_write(svg, line); */
+@@ -430,19 +430,19 @@ svg_write_state(gx_device_svg *svg)
+ /* write out the new current state */
+ svg_write(svg, "<g ");
+ if (svg->strokecolor != gx_no_color_index) {
+- sprintf(line, " stroke='#%06x'", svg->strokecolor & 0xffffffL);
++ gs_sprintf(line, " stroke='#%06x'", svg->strokecolor & 0xffffffL);
+ svg_write(svg, line);
+ } else {
+ svg_write(svg, " stroke='none'");
+ }
+ if (svg->fillcolor != gx_no_color_index) {
+- sprintf(line, "#%06x", svg->fillcolor & 0xffffffL);
++ gs_sprintf(line, "#%06x", svg->fillcolor & 0xffffffL);
+ svg_write(svg, line);
+ } else {
+ svg_write(svg, " fill='none'");
+ }
+ if (svg->linewidth != 1.0) {
+- sprintf(line, " stroke-width='%lf'", svg->linewidth);
++ gs_sprintf(line, " stroke-width='%lf'", svg->linewidth);
+ svg_write(svg, line);
+ }
+ if (svg->linecap != SVG_DEFAULT_LINECAP) {
+@@ -476,7 +476,7 @@ svg_write_state(gx_device_svg *svg)
+ }
+ }
+ if (svg->miterlimit != SVG_DEFAULT_MITERLIMIT) {
+- sprintf(line, " stroke-miterlimit='%lf'", svg->miterlimit);
++ gs_sprintf(line, " stroke-miterlimit='%lf'", svg->miterlimit);
+ svg_write(svg, line);
+ }
+ svg_write(svg, ">\n");
+@@ -653,7 +653,7 @@ svg_dorect(gx_device_vector *vdev, fixed
+ svg_write(svg, "<clipPath>\n");
+ }
+
+- sprintf(line, "<rect x='%lf' y='%lf' width='%lf' height='%lf'",
++ gs_sprintf(line, "<rect x='%lf' y='%lf' width='%lf' height='%lf'",
+ fixed2float(x0), fixed2float(y0),
+ fixed2float(x1 - x0), fixed2float(y1 - y0));
+ svg_write(svg, line);
+@@ -714,7 +714,7 @@ svg_moveto(gx_device_vector *vdev, float
+ svg_print_path_type(svg, type);
+ if_debug0m('_', svg->memory, "\n");
+
+- sprintf(line, " M%lf,%lf", x, y);
++ gs_sprintf(line, " M%lf,%lf", x, y);
+ svg_write(svg, line);
+
+ return 0;
+@@ -739,7 +739,7 @@ svg_lineto(gx_device_vector *vdev, float
+ svg_print_path_type(svg, type);
+ if_debug0m('_', svg->memory, "\n");
+
+- sprintf(line, " L%lf,%lf", x, y);
++ gs_sprintf(line, " L%lf,%lf", x, y);
+ svg_write(svg, line);
+
+ return 0;
+@@ -766,7 +766,7 @@ svg_curveto(gx_device_vector *vdev, floa
+ svg_print_path_type(svg, type);
+ if_debug0m('_', svg->memory, "\n");
+
+- sprintf(line, " C%lf,%lf %lf,%lf %lf,%lf", x1,y1, x2,y2, x3,y3);
++ gs_sprintf(line, " C%lf,%lf %lf,%lf %lf,%lf", x1,y1, x2,y2, x3,y3);
+ svg_write(svg, line);
+
+ return 0;
+diff -up ghostscript-9.07/base/gdevtifs.c.gs_sprintf ghostscript-9.07/base/gdevtifs.c
+--- ghostscript-9.07/base/gdevtifs.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevtifs.c 2013-05-09 17:02:39.077447132 +0100
+@@ -500,7 +500,7 @@ int tiff_set_fields_for_printer(gx_devic
+
+ strncpy(softwareValue, gs_product, maxSoftware);
+ softwareValue[maxSoftware - 1] = 0;
+- sprintf(revs, " %1.2f", gs_revision / 100.0);
++ gs_sprintf(revs, " %1.2f", gs_revision / 100.0);
+ strncat(softwareValue, revs,
+ maxSoftware - strlen(softwareValue) - 1);
+
+@@ -513,7 +513,7 @@ int tiff_set_fields_for_printer(gx_devic
+
+ time(&t);
+ tms = *localtime(&t);
+- sprintf(dateTimeValue, "%04d:%02d:%02d %02d:%02d:%02d",
++ gs_sprintf(dateTimeValue, "%04d:%02d:%02d %02d:%02d:%02d",
+ tms.tm_year + 1900, tms.tm_mon + 1, tms.tm_mday,
+ tms.tm_hour, tms.tm_min, tms.tm_sec);
+
+diff -up ghostscript-9.07/base/gdevtsep.c.gs_sprintf ghostscript-9.07/base/gdevtsep.c
+--- ghostscript-9.07/base/gdevtsep.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevtsep.c 2013-05-09 17:02:39.077447132 +0100
+@@ -1182,9 +1182,9 @@ tiffsep1_prn_close(gx_device * pdev)
+ while (*fmt != 'l' && *fmt != '%')
+ --fmt;
+ if (*fmt == 'l')
+- sprintf(compname, parsed.fname, count1);
++ gs_sprintf(compname, parsed.fname, count1);
+ else
+- sprintf(compname, parsed.fname, (int)count1);
++ gs_sprintf(compname, parsed.fname, (int)count1);
+ parsed.iodev->procs.delete_file(parsed.iodev, compname);
+ } else {
+ parsed.iodev->procs.delete_file(parsed.iodev, tfdev->fname);
+@@ -1370,7 +1370,7 @@ create_separation_file_name(tiffsep_devi
+ /* Max of 10 chars in %d format */
+ if (max_size < base_filename_length + 11)
+ return_error(gs_error_rangecheck);
+- sprintf(buffer + base_filename_length, "s%d", sep_num);
++ gs_sprintf(buffer + base_filename_length, "s%d", sep_num);
+ }
+ }
+ if (use_sep_name)
+@@ -2385,9 +2385,9 @@ tiffsep1_print_page(gx_device_printer *
+ while (*fmt != 'l' && *fmt != '%')
+ --fmt;
+ if (*fmt == 'l')
+- sprintf(compname, parsed.fname, count1);
++ gs_sprintf(compname, parsed.fname, count1);
+ else
+- sprintf(compname, parsed.fname, (int)count1);
++ gs_sprintf(compname, parsed.fname, (int)count1);
+ parsed.iodev->procs.delete_file(parsed.iodev, compname);
+ /* we always need an open printer (it will get deleted in tiffsep1_prn_close */
+ if ((code = gdev_prn_open_printer((gx_device *)pdev, 1)) < 0)
+diff -up ghostscript-9.07/base/gdevtxtw.c.gs_sprintf ghostscript-9.07/base/gdevtxtw.c
+--- ghostscript-9.07/base/gdevtxtw.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevtxtw.c 2013-05-09 17:02:39.078447137 +0100
+@@ -633,16 +633,16 @@ static int escaped_Unicode (unsigned sho
+ {
+ switch (Unicode)
+ {
+- case 0x3C: sprintf(Buf, "&lt;"); break;
+- case 0x3E: sprintf(Buf, "&gt;"); break;
+- case 0x26: sprintf(Buf, "&amp;"); break;
+- case 0x22: sprintf(Buf, "&quot;"); break;
+- case 0x27: sprintf(Buf, "&apos;"); break;
++ case 0x3C: gs_sprintf(Buf, "&lt;"); break;
++ case 0x3E: gs_sprintf(Buf, "&gt;"); break;
++ case 0x26: gs_sprintf(Buf, "&amp;"); break;
++ case 0x22: gs_sprintf(Buf, "&quot;"); break;
++ case 0x27: gs_sprintf(Buf, "&apos;"); break;
+ default:
+ if (Unicode >= 32 && Unicode <= 127)
+- sprintf(Buf, "%c", Unicode);
++ gs_sprintf(Buf, "%c", Unicode);
+ else
+- sprintf(Buf, "&#x%x;", Unicode);
++ gs_sprintf(Buf, "&#x%x;", Unicode);
+ break;
+ }
+
+@@ -665,13 +665,13 @@ static int decorated_text_output(gx_devi
+ x_entry = tdev->PageData.unsorted_text_list;
+ while (x_entry) {
+ next_x = x_entry->next;
+- sprintf(TextBuffer, "<span bbox=\"%0.0f %0.0f %0.0f %0.0f\" font=\"%s\" size=\"%0.4f\">\n", x_entry->start.x, x_entry->start.y,
++ gs_sprintf(TextBuffer, "<span bbox=\"%0.0f %0.0f %0.0f %0.0f\" font=\"%s\" size=\"%0.4f\">\n", x_entry->start.x, x_entry->start.y,
+ x_entry->end.x, x_entry->end.y, x_entry->FontName,x_entry->size);
+ fwrite(TextBuffer, 1, strlen(TextBuffer), tdev->file);
+ xpos = x_entry->start.x;
+ for (i=0;i<x_entry->Unicode_Text_Size;i++) {
+ escaped_Unicode(x_entry->Unicode_Text[i], (char *)&Escaped);
+- sprintf(TextBuffer, "<char bbox=\"%0.0f %0.0f %0.0f %0.0f\" c=\"%s\">\n", xpos,
++ gs_sprintf(TextBuffer, "<char bbox=\"%0.0f %0.0f %0.0f %0.0f\" c=\"%s\">\n", xpos,
+ x_entry->start.y, xpos + x_entry->Widths[i], x_entry->end.y, Escaped);
+ fwrite(TextBuffer, 1, strlen(TextBuffer), tdev->file);
+ xpos += x_entry->Widths[i];
+@@ -788,13 +788,13 @@ static int decorated_text_output(gx_devi
+ fwrite("<line>\n", sizeof(unsigned char), 7, tdev->file);
+ x_entry = block_line->x_ordered_list;
+ while(x_entry) {
+- sprintf(TextBuffer, "<span bbox=\"%0.0f %0.0f %0.0f %0.0f\" font=\"%s\" size=\"%0.4f\">\n", x_entry->start.x, x_entry->start.y,
++ gs_sprintf(TextBuffer, "<span bbox=\"%0.0f %0.0f %0.0f %0.0f\" font=\"%s\" size=\"%0.4f\">\n", x_entry->start.x, x_entry->start.y,
+ x_entry->end.x, x_entry->end.y, x_entry->FontName,x_entry->size);
+ fwrite(TextBuffer, 1, strlen(TextBuffer), tdev->file);
+ xpos = x_entry->start.x;
+ for (i=0;i<x_entry->Unicode_Text_Size;i++) {
+ escaped_Unicode(x_entry->Unicode_Text[i], (char *)&Escaped);
+- sprintf(TextBuffer, "<char bbox=\"%0.0f %0.0f %0.0f %0.0f\" c=\"%s\">\n", xpos,
++ gs_sprintf(TextBuffer, "<char bbox=\"%0.0f %0.0f %0.0f %0.0f\" c=\"%s\">\n", xpos,
+ x_entry->start.y, xpos + x_entry->Widths[i], x_entry->end.y, Escaped);
+ fwrite(TextBuffer, 1, strlen(TextBuffer), tdev->file);
+ xpos += x_entry->Widths[i];
+diff -up ghostscript-9.07/base/gdevupd.c.gs_sprintf ghostscript-9.07/base/gdevupd.c
+--- ghostscript-9.07/base/gdevupd.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevupd.c 2013-05-09 17:02:39.079447141 +0100
+@@ -6476,7 +6476,7 @@ upd_open_wrtrtl(upd_device *udev)
+ if( (B_PAGEWIDTH & upd->flags) &&
+ ((c == 0x73) || (c == 0x53)) ) { /* esc * r # S */
+
+- sprintf(cv,"%d",upd->pwidth);
++ gs_sprintf(cv,"%d",upd->pwidth);
+ ncv = strlen(cv);
+
+ nbp = (j+1) + ncv + (upd->strings[S_BEGIN].size-i);
+@@ -6494,7 +6494,7 @@ upd_open_wrtrtl(upd_device *udev)
+ } else if((B_PAGELENGTH & upd->flags) &&
+ ((c == 0x74) || (c == 0x54)) ) { /* esc * r # T */
+
+- sprintf(cv,"%d",upd->pheight);
++ gs_sprintf(cv,"%d",upd->pheight);
+ ncv = strlen(cv);
+
+ nbp = (j+1) + ncv + (upd->strings[S_BEGIN].size-i);
+@@ -6523,7 +6523,7 @@ upd_open_wrtrtl(upd_device *udev)
+ if( (B_RESOLUTION & upd->flags) &&
+ ((c == 0x72) || (c == 0x52)) ) { /* esc * t # R */
+
+- sprintf(cv,"%d",(int)
++ gs_sprintf(cv,"%d",(int)
+ ((udev->y_pixels_per_inch < udev->x_pixels_per_inch ?
+ udev->x_pixels_per_inch : udev->y_pixels_per_inch)
+ +0.5));
+@@ -6730,7 +6730,7 @@ upd_open_wrtrtl(upd_device *udev)
+
+ if(B_PAGELENGTH & upd->flags) { /* insert new number */
+
+- sprintf(cv,"%d",(int)
++ gs_sprintf(cv,"%d",(int)
+ (720.0 * udev->height / udev->y_pixels_per_inch + 0.5));
+ ncv = strlen(cv);
+
+@@ -6795,7 +6795,7 @@ upd_open_wrtrtl(upd_device *udev)
+
+ if(B_PAGEWIDTH & upd->flags) { /* insert new number */
+
+- sprintf(cv,"%d",(int)
++ gs_sprintf(cv,"%d",(int)
+ (720.0 * udev->width / udev->x_pixels_per_inch + 0.5));
+ ncv = strlen(cv);
+
+@@ -6890,7 +6890,7 @@ upd_open_wrtrtl(upd_device *udev)
+
+ if(B_RESOLUTION & upd->flags) { /* insert new number */
+
+- sprintf(cv,"%d",(int)
++ gs_sprintf(cv,"%d",(int)
+ ((udev->y_pixels_per_inch < udev->x_pixels_per_inch ?
+ udev->x_pixels_per_inch : udev->y_pixels_per_inch)
+ +0.5));
+@@ -6945,7 +6945,7 @@ It must hold:
+ char tmp[16];
+
+ if(0 < upd->strings[S_YMOVE].size) {
+- sprintf(tmp,"%d",upd->pheight);
++ gs_sprintf(tmp,"%d",upd->pheight);
+ ny = upd->strings[S_YMOVE].size + strlen(tmp);
+ } else {
+ ny = 1 + upd->string_a[SA_WRITECOMP].data[upd->ocomp-1].size;
+@@ -7006,14 +7006,14 @@ upd_wrtrtl(upd_p upd, FILE *out)
+ */
+ if(upd->yscan != upd->yprinter) { /* Adjust Y-Position */
+ if(1 < upd->strings[S_YMOVE].size) {
+- sprintf((char *)upd->outbuf+ioutbuf,
++ gs_sprintf((char *)upd->outbuf+ioutbuf,
+ (const char *) upd->strings[S_YMOVE].data,
+ upd->yscan - upd->yprinter);
+ ioutbuf += strlen((char *)upd->outbuf+ioutbuf);
+ } else {
+ while(upd->yscan > upd->yprinter) {
+ for(icomp = 0; icomp < upd->ocomp; ++icomp) {
+- sprintf((char *)upd->outbuf+ioutbuf,
++ gs_sprintf((char *)upd->outbuf+ioutbuf,
+ (const char *) upd->string_a[SA_WRITECOMP].data[icomp].data,0);
+ ioutbuf += strlen((char *)upd->outbuf+ioutbuf);
+ }
+diff -up ghostscript-9.07/base/gdevwpr2.c.gs_sprintf ghostscript-9.07/base/gdevwpr2.c
+--- ghostscript-9.07/base/gdevwpr2.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevwpr2.c 2013-05-09 17:02:39.080447145 +0100
+@@ -548,7 +548,7 @@ win_pr2_print_page(gx_device_printer * p
+ }
+
+ if (!wdev->nocancel) {
+- sprintf(dlgtext, "Printing page %d", (int)(pdev->PageCount) + 1);
++ gs_sprintf(dlgtext, "Printing page %d", (int)(pdev->PageCount) + 1);
+ SetWindowText(GetDlgItem(wdev->hDlgModeless, CANCEL_PRINTING), dlgtext);
+ ShowWindow(wdev->hDlgModeless, SW_SHOW);
+ }
+@@ -577,7 +577,7 @@ win_pr2_print_page(gx_device_printer * p
+
+ if (!wdev->nocancel) {
+ /* inform user of progress */
+- sprintf(dlgtext, "%d%% done", (int)(y * 100L / scan_lines));
++ gs_sprintf(dlgtext, "%d%% done", (int)(y * 100L / scan_lines));
+ SetWindowText(GetDlgItem(wdev->hDlgModeless, CANCEL_PCDONE), dlgtext);
+ }
+ /* process message loop */
+@@ -1488,9 +1488,9 @@ win_pr2_print_setup_interaction(gx_devic
+
+ wdev->user_changed_settings = TRUE;
+ if (wdev->use_old_spool_name) {
+- sprintf(wdev->fname, "\\\\spool\\%s", (char*)(devnames)+(devnames->wDeviceOffset));
++ gs_sprintf(wdev->fname, "\\\\spool\\%s", (char*)(devnames)+(devnames->wDeviceOffset));
+ } else {
+- sprintf(wdev->fname, "%%printer%%%s", (char*)(devnames)+(devnames->wDeviceOffset));
++ gs_sprintf(wdev->fname, "%%printer%%%s", (char*)(devnames)+(devnames->wDeviceOffset));
+ }
+
+ if (mode == 3) {
+diff -up ghostscript-9.07/base/gdevxini.c.gs_sprintf ghostscript-9.07/base/gdevxini.c
+--- ghostscript-9.07/base/gdevxini.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gdevxini.c 2013-05-09 17:02:39.080447145 +0100
+@@ -377,7 +377,7 @@ gdev_x_open(gx_device_X * xdev)
+ char gstr[40];
+ int bitmask;
+
+- sprintf(gstr, "%dx%d+%d+%d", sizehints.width,
++ gs_sprintf(gstr, "%dx%d+%d+%d", sizehints.width,
+ sizehints.height, sizehints.x, sizehints.y);
+ bitmask = XWMGeometry(xdev->dpy, DefaultScreen(xdev->dpy),
+ xdev->geometry, gstr, xdev->borderWidth,
+diff -up ghostscript-9.07/base/gp_macio.c.gs_sprintf ghostscript-9.07/base/gp_macio.c
+--- ghostscript-9.07/base/gp_macio.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gp_macio.c 2013-05-09 17:02:39.080447145 +0100
+@@ -162,7 +162,7 @@ getenv(const char * env) {
+ convertSpecToPath(&pFile, fpath, 256);
+ // sprintf(fpath,"%s",fpath);
+ p = (char*)malloc((size_t) ( 4*strlen(fpath) + 40));
+- sprintf(p,"%s,%sGhostscript:lib,%sGhostscript:fonts",
++ gs_sprintf(p,"%s,%sGhostscript:lib,%sGhostscript:fonts",
+ (char *)&fpath[0],(char *)&fpath[0],
+ (char *)&fpath[0] );
+
+@@ -402,9 +402,9 @@ gp_open_scratch_file (const gs_memory_t
+ }
+ FSMakeFSSpec(foundVRefNum, foundDirID,thepfname, &fSpec);
+ convertSpecToPath(&fSpec, thefname, sizeof(thefname) - 1);
+- sprintf(fname,"%s",thefname);
++ gs_sprintf(fname,"%s",thefname);
+ } else {
+- sprintf((char*)&thefname[0],"%s\0",fname);
++ gs_sprintf((char*)&thefname[0],"%s\0",fname);
+ memmove((char*)&thepfname[1],(char *)&thefname[0],strlen(thefname));
+ thepfname[0]=strlen(thefname);
+ }
+@@ -535,9 +535,9 @@ gp_fopen (const char * fname, const char
+ //(*pgsdll_callback) (GSDLL_STDOUT, thefname, strlen(fname));
+ if ( strrchr(fname,':') == NULL )
+ // sprintf((char *)&thefname[0],"%s%s\0",g_homeDir,fname);
+- sprintf((char *)&thefname[0],"%s%s\0","",fname);
++ gs_sprintf((char *)&thefname[0],"%s%s\0","",fname);
+ else
+- sprintf((char*)&thefname[0],"%s\0",fname);
++ gs_sprintf((char*)&thefname[0],"%s\0",fname);
+
+ fid = fopen(thefname,mode);
+
+diff -up ghostscript-9.07/base/gp_mswin.c.gs_sprintf ghostscript-9.07/base/gp_mswin.c
+--- ghostscript-9.07/base/gp_mswin.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gp_mswin.c 2013-05-09 17:02:39.081447150 +0100
+@@ -316,7 +316,7 @@ get_queues(void)
+ char buf[256];
+
+ free(enumbuffer);
+- sprintf(buf, "EnumPrinters() failed, error code = %d", GetLastError());
++ gs_sprintf(buf, "EnumPrinters() failed, error code = %d", GetLastError());
+ MessageBox((HWND) NULL, buf, szAppName, MB_OK | MB_ICONSTOP);
+ return NULL;
+ }
+@@ -423,7 +423,7 @@ gp_printfile_win32(const char *filename,
+ if (!gp_OpenPrinter(port, &printer)) {
+ char buf[256];
+
+- sprintf(buf, "OpenPrinter() failed for \042%s\042, error code = %d", port, GetLastError());
++ gs_sprintf(buf, "OpenPrinter() failed for \042%s\042, error code = %d", port, GetLastError());
+ MessageBox((HWND) NULL, buf, szAppName, MB_OK | MB_ICONSTOP);
+ free(buffer);
+ return FALSE;
+@@ -436,7 +436,7 @@ gp_printfile_win32(const char *filename,
+ if (!StartDocPrinter(printer, 1, (LPBYTE) & di)) {
+ char buf[256];
+
+- sprintf(buf, "StartDocPrinter() failed, error code = %d", GetLastError());
++ gs_sprintf(buf, "StartDocPrinter() failed, error code = %d", GetLastError());
+ MessageBox((HWND) NULL, buf, szAppName, MB_OK | MB_ICONSTOP);
+ AbortPrinter(printer);
+ free(buffer);
+@@ -457,7 +457,7 @@ gp_printfile_win32(const char *filename,
+ if (!EndDocPrinter(printer)) {
+ char buf[256];
+
+- sprintf(buf, "EndDocPrinter() failed, error code = %d", GetLastError());
++ gs_sprintf(buf, "EndDocPrinter() failed, error code = %d", GetLastError());
+ MessageBox((HWND) NULL, buf, szAppName, MB_OK | MB_ICONSTOP);
+ AbortPrinter(printer);
+ return FALSE;
+@@ -465,7 +465,7 @@ gp_printfile_win32(const char *filename,
+ if (!ClosePrinter(printer)) {
+ char buf[256];
+
+- sprintf(buf, "ClosePrinter() failed, error code = %d", GetLastError());
++ gs_sprintf(buf, "ClosePrinter() failed, error code = %d", GetLastError());
+ MessageBox((HWND) NULL, buf, szAppName, MB_OK | MB_ICONSTOP);
+ return FALSE;
+ }
+diff -up ghostscript-9.07/base/gp_wgetv.c.gs_sprintf ghostscript-9.07/base/gp_wgetv.c
+--- ghostscript-9.07/base/gp_wgetv.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gp_wgetv.c 2013-05-09 17:02:39.081447150 +0100
+@@ -181,9 +181,9 @@ gp_getenv(const char *name, char *ptr, i
+ char key[256];
+ char dotversion[16];
+
+- sprintf(dotversion, "%d.%02d", (int)(gs_revision / 100),
++ gs_sprintf(dotversion, "%d.%02d", (int)(gs_revision / 100),
+ (int)(gs_revision % 100));
+- sprintf(key, "Software\\%s\\%s", gs_productfamily, dotversion);
++ gs_sprintf(key, "Software\\%s\\%s", gs_productfamily, dotversion);
+ #else
+ wchar_t key[256];
+ wchar_t dotversion[16];
+@@ -224,7 +224,7 @@ gp_serialnumber(void)
+ #ifdef WINDOWS_NO_UNICODE
+ char key[256];
+
+- sprintf(key, "Software\\Microsoft\\MSLicensing\\HardwareID");
++ gs_sprintf(key, "Software\\Microsoft\\MSLicensing\\HardwareID");
+ #else /* WINDOWS_NO_UNICODE */
+ wchar_t key[256];
+
+diff -up ghostscript-9.07/base/gsalloc.c.gs_sprintf ghostscript-9.07/base/gsalloc.c
+--- ghostscript-9.07/base/gsalloc.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gsalloc.c 2013-05-09 17:02:39.081447150 +0100
+@@ -2045,7 +2045,7 @@ debug_dump_contents(const gs_memory_t *m
+ }
+ continue;
+ }
+- sprintf(label, "0x%lx:", (ulong) block);
++ gs_sprintf(label, "0x%lx:", (ulong) block);
+ debug_indent(mem, indent);
+ dmputs(mem, label);
+ for (i = 0; i < block_size; ++i) {
+diff -up ghostscript-9.07/base/gsdevice.c.gs_sprintf ghostscript-9.07/base/gsdevice.c
+--- ghostscript-9.07/base/gsdevice.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gsdevice.c 2013-05-09 17:02:39.082447154 +0100
+@@ -1011,11 +1011,11 @@ gx_device_open_output_file(const gx_devi
+ while (*fmt != 'l' && *fmt != '%')
+ --fmt;
+ if (*fmt == 'l')
+- sprintf(pfname, parsed.fname, count1);
++ gs_sprintf(pfname, parsed.fname, count1);
+ else
+- sprintf(pfname, parsed.fname, (int)count1);
++ gs_sprintf(pfname, parsed.fname, (int)count1);
+ } else if (parsed.len && strchr(parsed.fname, '%')) /* filename with "%%" but no "%nnd" */
+- sprintf(pfname, parsed.fname);
++ gs_sprintf(pfname, parsed.fname);
+ else
+ pfname[0] = 0; /* 0 to use "fname", not "pfname" */
+ if (pfname[0]) {
+diff -up ghostscript-9.07/base/gsdparam.c.gs_sprintf ghostscript-9.07/base/gsdparam.c
+--- ghostscript-9.07/base/gsdparam.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gsdparam.c 2013-05-09 17:02:39.082447154 +0100
+@@ -377,7 +377,7 @@ gdev_write_input_media(int index, gs_par
+ int code;
+ gs_param_string as;
+
+- sprintf(key, "%d", index);
++ gs_sprintf(key, "%d", index);
+ mdict.size = 4;
+ code = param_begin_write_dict(pdict->list, key, &mdict, false);
+ if (code < 0)
+@@ -465,7 +465,7 @@ gdev_write_output_media(int index, gs_pa
+ gs_param_dict mdict;
+ int code;
+
+- sprintf(key, "%d", index);
++ gs_sprintf(key, "%d", index);
+ mdict.size = 4;
+ code = param_begin_write_dict(pdict->list, key, &mdict, false);
+ if (code < 0)
+diff -up ghostscript-9.07/base/gsfcmap.c.gs_sprintf ghostscript-9.07/base/gsfcmap.c
+--- ghostscript-9.07/base/gsfcmap.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gsfcmap.c 2013-05-09 17:02:39.082447154 +0100
+@@ -567,7 +567,7 @@ gs_cmap_ToUnicode_alloc(gs_memory_t *mem
+ char sid[10], *pref = "aux-";
+ int sid_len, pref_len = strlen(pref);
+
+- sprintf(sid, "%d", id);
++ gs_sprintf(sid, "%d", id);
+ sid_len = strlen(sid);
+ name_len = pref_len + sid_len;
+ cmap_name = gs_alloc_string(mem, name_len, "gs_cmap_ToUnicode_alloc");
+diff -up ghostscript-9.07/base/gsicc_create.c.gs_sprintf ghostscript-9.07/base/gsicc_create.c
+--- ghostscript-9.07/base/gsicc_create.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gsicc_create.c 2013-05-09 17:02:39.083447158 +0100
+@@ -451,7 +451,7 @@ save_profile(unsigned char *buffer, char
+ char full_file_name[50];
+ FILE *fid;
+
+- sprintf(full_file_name,"%d)Profile_%s.icc",icc_debug_index,filename);
++ gs_sprintf(full_file_name,"%d)Profile_%s.icc",icc_debug_index,filename);
+ fid = fopen(full_file_name,"wb");
+ fwrite(buffer,sizeof(unsigned char),buffer_size,fid);
+ fclose(fid);
+diff -up ghostscript-9.07/base/gsicc_manage.c.gs_sprintf ghostscript-9.07/base/gsicc_manage.c
+--- ghostscript-9.07/base/gsicc_manage.c.gs_sprintf 2013-05-09 17:02:39.043446986 +0100
++++ ghostscript-9.07/base/gsicc_manage.c 2013-05-09 17:02:39.083447158 +0100
+@@ -550,8 +550,8 @@ gsicc_set_srcgtag_struct(gsicc_manager_t
+ srcgtag = gsicc_new_srcgtag_profile(mem);
+ /* Now parse through the data opening the profiles that are needed */
+ /* First create the format that we should read for the key */
+- sprintf(str_format_key, "%%%ds", GSICC_SRCGTAG_MAX_KEY);
+- sprintf(str_format_file, "%%%ds", FILENAME_MAX);
++ gs_sprintf(str_format_key, "%%%ds", GSICC_SRCGTAG_MAX_KEY);
++ gs_sprintf(str_format_file, "%%%ds", FILENAME_MAX);
+ curr_ptr = buffer_ptr;
+ /* Initialize that we want color management. Then if profile is not
+ present we know we did not want anything special done with that
+@@ -1296,13 +1296,13 @@ gsicc_set_device_profile_colorants(gx_de
+ DEFAULT_ICC_PROCESS_LENGTH - 1; /* -1 due to no comma at end */
+ name_str = (char*) gs_alloc_bytes(dev->memory, total_len+1,
+ "gsicc_set_device_profile_colorants");
+- sprintf(name_str, DEFAULT_ICC_PROCESS);
++ gs_sprintf(name_str, DEFAULT_ICC_PROCESS);
+ for (kk = 0; kk < num_comps-5; kk++) {
+- sprintf(temp_str,"ICC_COLOR_%d,",kk);
++ gs_sprintf(temp_str,"ICC_COLOR_%d,",kk);
+ strcat(name_str,temp_str);
+ }
+ /* Last one no comma */
+- sprintf(temp_str,"ICC_COLOR_%d",kk);
++ gs_sprintf(temp_str,"ICC_COLOR_%d",kk);
+ strcat(name_str,temp_str);
+ }
+ str_len = strlen(name_str);
+@@ -2344,7 +2344,7 @@ dump_icc_buffer(int buffersize, char fil
+ char full_file_name[50];
+ FILE *fid;
+
+- sprintf(full_file_name,"%d)%s_debug.icc",global_icc_index,filename);
++ gs_sprintf(full_file_name,"%d)%s_debug.icc",global_icc_index,filename);
+ fid = fopen(full_file_name,"wb");
+ fwrite(Buffer,sizeof(unsigned char),buffersize,fid);
+ fclose(fid);
+diff -up ghostscript-9.07/base/gsiodisk.c.gs_sprintf ghostscript-9.07/base/gsiodisk.c
+--- ghostscript-9.07/base/gsiodisk.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gsiodisk.c 2013-05-09 17:02:39.084447162 +0100
+@@ -415,7 +415,7 @@ MapFileOpen(const char * rootpath, const
+
+ if (strlen(rootpath) + strlen(filename) >= BUFFER_LENGTH)
+ return NULL;
+- sprintf(fullname, "%s%s", rootpath, filename);
++ gs_sprintf(fullname, "%s%s", rootpath, filename);
+ return gp_fopen(fullname, attributes);
+ }
+
+@@ -516,7 +516,7 @@ MapFileUnlink(const char * rootpath, con
+
+ if (strlen(rootpath) + strlen(filename) >= BUFFER_LENGTH)
+ return;
+- sprintf(fullname, "%s%s", rootpath, filename);
++ gs_sprintf(fullname, "%s%s", rootpath, filename);
+ unlink(fullname);
+ }
+
+@@ -537,8 +537,8 @@ MapFileRename(const char * rootpath, con
+ return;
+ if (strlen(rootpath) + strlen(newfilename) >= BUFFER_LENGTH)
+ return;
+- sprintf(oldfullname, "%s%s", rootpath, oldfilename);
+- sprintf(newfullname, "%s%s", rootpath, newfilename);
++ gs_sprintf(oldfullname, "%s%s", rootpath, oldfilename);
++ gs_sprintf(newfullname, "%s%s", rootpath, newfilename);
+ rename(oldfullname, newfullname);
+ }
+
+@@ -711,7 +711,7 @@ map_file_name_get(const char * root_name
+ if (d != -1) {
+ /* 20 characters are enough for even a 64 bit integer */
+ if ((strlen(root_name) + 20) < BUFFER_LENGTH) {
+- sprintf(osname, "%s%d", root_name, d);
++ gs_sprintf(osname, "%s%d", root_name, d);
+ return true;
+ }
+ }
+diff -up ghostscript-9.07/base/gs.mak.gs_sprintf ghostscript-9.07/base/gs.mak
+--- ghostscript-9.07/base/gs.mak.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gs.mak 2013-05-09 17:02:39.084447162 +0100
+@@ -239,6 +239,8 @@ LCUPSGENDIR=$(GLGENDIR)
+ LCUPSOBJDIR=$(GLOBJDIR)
+ LCUPSIGENDIR=$(GLGENDIR)
+ LCUPSIOBJDIR=$(GLOBJDIR)
++
++TRIOOBJDIR=$(GLOBJDIR)
+ #**************** END PATCHES
+
+ GSGEN=$(GLGENDIR)$(D)
+diff -up ghostscript-9.07/base/gspmdrv.c.gs_sprintf ghostscript-9.07/base/gspmdrv.c
+--- ghostscript-9.07/base/gspmdrv.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gspmdrv.c 2013-05-09 17:02:39.084447162 +0100
+@@ -345,11 +345,11 @@ write_profile(void)
+ {
+ char profile[64];
+
+- sprintf(profile, "%d %d", option.img_origin.x, option.img_origin.y);
++ gs_sprintf(profile, "%d %d", option.img_origin.x, option.img_origin.y);
+ PrfWriteProfileString(HINI_USERPROFILE, section, "Origin", profile);
+- sprintf(profile, "%d %d", option.img_size.x, option.img_size.y);
++ gs_sprintf(profile, "%d %d", option.img_size.x, option.img_size.y);
+ PrfWriteProfileString(HINI_USERPROFILE, section, "Size", profile);
+- sprintf(profile, "%d", option.img_max);
++ gs_sprintf(profile, "%d", option.img_max);
+ PrfWriteProfileString(HINI_USERPROFILE, section, "Maximized", profile);
+ }
+
+@@ -489,26 +489,26 @@ init_display(int argc, char *argv[])
+ find_hwnd_gs(argv[2]);
+
+ if (!rc) {
+- sprintf(name, SHARED_NAME, argv[2]);
++ gs_sprintf(name, SHARED_NAME, argv[2]);
+ rc = DosGetNamedSharedMem((PVOID *) & bitmap.pbmi, name, PAG_READ | PAG_WRITE);
+ if (rc) {
+- sprintf(buf, "Failed to open: bmp shared memory \"%s\" rc = %d", argv[0], rc);
++ gs_sprintf(buf, "Failed to open: bmp shared memory \"%s\" rc = %d", argv[0], rc);
+ error_message(buf);
+ }
+ }
+ if (!rc) {
+- sprintf(name, SYNC_NAME, argv[2]);
++ gs_sprintf(name, SYNC_NAME, argv[2]);
+ rc = DosOpenEventSem(name, &update_event_sem);
+ if (rc) {
+- sprintf(buf, "Failed to open: update event semaphore \"%s\" rc = %d", argv[1], rc);
++ gs_sprintf(buf, "Failed to open: update event semaphore \"%s\" rc = %d", argv[1], rc);
+ error_message(buf);
+ }
+ }
+ if (!rc) {
+- sprintf(name, MUTEX_NAME, argv[2]);
++ gs_sprintf(name, MUTEX_NAME, argv[2]);
+ rc = DosOpenMutexSem(name, &bmp_mutex_sem);
+ if (rc) {
+- sprintf(buf, "Failed to open: bmp mutex semaphore \"%s\" rc = %d", argv[1], rc);
++ gs_sprintf(buf, "Failed to open: bmp mutex semaphore \"%s\" rc = %d", argv[1], rc);
+ error_message(buf);
+ }
+ }
+@@ -535,19 +535,19 @@ init_bitmap(int argc, char *argv[])
+ if ((rc = DosOpen(argv[2], &hf, &action, 0, FILE_NORMAL, FILE_OPEN,
+ OPEN_ACCESS_READONLY | OPEN_SHARE_DENYREADWRITE, 0))
+ != (APIRET) 0) {
+- sprintf(buf, "Error opening: %s", argv[2]);
++ gs_sprintf(buf, "Error opening: %s", argv[2]);
+ error_message(buf);
+ return rc;
+ }
+ rc = DosSetFilePtr(hf, 0, FILE_END, &length);
+ if (rc) {
+- sprintf(buf, "failed seeking to EOF: error = %d", rc);
++ gs_sprintf(buf, "failed seeking to EOF: error = %d", rc);
+ error_message(buf);
+ return rc;
+ }
+ rc = DosSetFilePtr(hf, 0, FILE_BEGIN, &count);
+ if (rc) {
+- sprintf(buf, "failed seeking to BOF: error = %d", rc);
++ gs_sprintf(buf, "failed seeking to BOF: error = %d", rc);
+ error_message(buf);
+ return rc;
+ };
+@@ -555,14 +555,14 @@ init_bitmap(int argc, char *argv[])
+ /* allocate memory for bitmap */
+ if ((rc = DosAllocMem((PPVOID) & bbuffer, length, PAG_READ | PAG_WRITE | PAG_COMMIT))
+ != (APIRET) 0) {
+- sprintf(buf, "failed allocating memory");
++ gs_sprintf(buf, "failed allocating memory");
+ error_message(buf);
+ return rc;
+ }
+ rc = DosRead(hf, bbuffer, length, &count);
+ DosClose(hf);
+ if (rc) {
+- sprintf(buf, "failed reading bitmap, error = %u, count = %u", rc, count);
++ gs_sprintf(buf, "failed reading bitmap, error = %u, count = %u", rc, count);
+ error_message(buf);
+ return rc;
+ }
+@@ -573,7 +573,7 @@ init_bitmap(int argc, char *argv[])
+ scan_bitmap(&bitmap);
+ bitmap.valid = TRUE;
+
+- sprintf(buf, "bitmap width = %d, height = %d", bitmap.width, bitmap.height);
++ gs_sprintf(buf, "bitmap width = %d, height = %d", bitmap.width, bitmap.height);
+ message_box(buf, 0);
+ return rc;
+ }
+@@ -805,7 +805,7 @@ make_bitmap(BMAP * pbm, ULONG left, ULON
+ char buf[256];
+
+ eid = WinGetLastError(hab);
+- sprintf(buf, "make_bitmap: GpiDrawBits rc = %08x, eid = %08x", rc, eid);
++ gs_sprintf(buf, "make_bitmap: GpiDrawBits rc = %08x, eid = %08x", rc, eid);
+ message_box(buf, 0);
+ }
+ }
+diff -up ghostscript-9.07/base/gssprintf.c.gs_sprintf ghostscript-9.07/base/gssprintf.c
+--- ghostscript-9.07/base/gssprintf.c.gs_sprintf 2013-05-09 17:02:39.085447167 +0100
++++ ghostscript-9.07/base/gssprintf.c 2013-05-09 17:02:39.084447162 +0100
+@@ -0,0 +1,60 @@
++/* Copyright (C) 2001-2012 Artifex Software, Inc.
++ All Rights Reserved.
++
++ This software is provided AS-IS with no warranty, either express or
++ implied.
++
++ This software is distributed under license and may not be copied,
++ modified or distributed except as expressly authorized under the terms
++ of the license contained in the file LICENSE in this distribution.
++
++ Refer to licensing information at http://www.artifex.com or contact
++ Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
++ CA 94903, U.S.A., +1(415)492-9861, for further information.
++*/
++
++
++/* Simple interface to a sprintf/sscanf without locale */
++#include "gssprintf.h"
++#include "trio.h"
++#include "triop.h"
++#include "triodef.h"
++#include "trionan.h"
++#include "triostr.h"
++
++int
++gs_vsnprintf(char *buf, int n, const char *format, va_list ap)
++{
++ return(trio_vsnprintf(buf, n, format, ap));
++}
++
++int
++gs_snprintf(char *buf, int n, const char *format, ...)
++{
++ int len;
++ va_list ap;
++
++ va_start(ap, format);
++ len = trio_vsnprintf(buf, n, format, ap);
++ va_end(ap);
++ return len;
++}
++
++int
++gs_vsprintf(char *buf, const char *format, va_list ap)
++{
++ return(trio_vsprintf(buf, format, ap));
++}
++
++int
++gs_sprintf(char *buf, const char *format, ...)
++{
++ int len;
++ va_list ap;
++
++ va_start(ap, format);
++ len = trio_vsprintf(buf, format, ap);
++ va_end(ap);
++
++ return(len);
++}
+diff -up ghostscript-9.07/base/gssprintf.h.gs_sprintf ghostscript-9.07/base/gssprintf.h
+--- ghostscript-9.07/base/gssprintf.h.gs_sprintf 2013-05-09 17:02:39.085447167 +0100
++++ ghostscript-9.07/base/gssprintf.h 2013-05-09 17:02:39.085447167 +0100
+@@ -0,0 +1,33 @@
++/* Copyright (C) 2001-2012 Artifex Software, Inc.
++ All Rights Reserved.
++
++ This software is provided AS-IS with no warranty, either express or
++ implied.
++
++ This software is distributed under license and may not be copied,
++ modified or distributed except as expressly authorized under the terms
++ of the license contained in the file LICENSE in this distribution.
++
++ Refer to licensing information at http://www.artifex.com or contact
++ Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
++ CA 94903, U.S.A., +1(415)492-9861, for further information.
++*/
++
++#ifndef gssprintf_INCLUDED
++# define gssprintf_INCLUDED
++
++#include <stdarg.h>
++
++int
++gs_vsnprintf(char *zBuf, int n, const char *zFormat, va_list ap);
++
++int
++gs_snprintf(char *zBuf, int n, const char *zFormat, ...);
++
++int
++gs_vsprintf(char *zBuf, const char *zFormat, va_list ap);
++
++int
++gs_sprintf(char *zBuf, const char *zFormat, ...);
++
++#endif
+diff -up ghostscript-9.07/base/gxblend1.c.gs_sprintf ghostscript-9.07/base/gxblend1.c
+--- ghostscript-9.07/base/gxblend1.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gxblend1.c 2013-05-09 17:02:39.085447167 +0100
+@@ -643,7 +643,7 @@ dump_planar_rgba(gs_memory_t *mem, const
+ info_ptr->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
+
+ /* add comment */
+- sprintf(software_text, "%s %d.%02d", gs_product,
++ gs_sprintf(software_text, "%s %d.%02d", gs_product,
+ (int)(gs_revision / 100), (int)(gs_revision % 100));
+ text_png.compression = -1; /* uncompressed */
+ text_png.key = (char *)software_key; /* not const, unfortunately */
+diff -up ghostscript-9.07/base/gxblend.c.gs_sprintf ghostscript-9.07/base/gxblend.c
+--- ghostscript-9.07/base/gxblend.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gxblend.c 2013-05-09 17:02:39.085447167 +0100
+@@ -1573,7 +1573,7 @@ dump_raw_buffer(int num_rows, int width,
+ /* FIXME: GRAY + ALPHA + SHAPE + TAGS will be interpreted as RGB + ALPHA */
+ if ((n_chan == 2) || (n_chan == 3)) {
+ int x;
+- sprintf(full_file_name,"%02d)%s.pam",global_index,filename);
++ gs_sprintf(full_file_name,"%02d)%s.pam",global_index,filename);
+ fid = fopen(full_file_name,"wb");
+ fprintf(fid, "P7\nWIDTH %d\nHEIGHT %d\nDEPTH 4\nMAXVAL 255\nTUPLTYPE GRAYSCALE_ALPHA\nENDHDR\n",
+ width, num_rows);
+@@ -1583,7 +1583,7 @@ dump_raw_buffer(int num_rows, int width,
+ fputc(Buffer[z*plane_stride + y*rowstride + x], fid);
+ fclose(fid);
+ if (n_chan == 3) {
+- sprintf(full_file_name,"%02d)%s_shape.pam",global_index,filename);
++ gs_sprintf(full_file_name,"%02d)%s_shape.pam",global_index,filename);
+ fid = fopen(full_file_name,"wb");
+ fprintf(fid, "P7\nWIDTH %d\nHEIGHT %d\nDEPTH 1\nMAXVAL 255\nTUPLTYPE GRAYSCALE\nENDHDR\n",
+ width, num_rows);
+@@ -1595,7 +1595,7 @@ dump_raw_buffer(int num_rows, int width,
+ }
+ if ((n_chan == 4) || (n_chan == 5) || (n_chan == 6)) {
+ int x;
+- sprintf(full_file_name,"%02d)%s.pam",global_index,filename);
++ gs_sprintf(full_file_name,"%02d)%s.pam",global_index,filename);
+ fid = fopen(full_file_name,"wb");
+ fprintf(fid, "P7\nWIDTH %d\nHEIGHT %d\nDEPTH 4\nMAXVAL 255\nTUPLTYPE RGB_ALPHA\nENDHDR\n",
+ width, num_rows);
+@@ -1605,7 +1605,7 @@ dump_raw_buffer(int num_rows, int width,
+ fputc(Buffer[z*plane_stride + y*rowstride + x], fid);
+ fclose(fid);
+ if (n_chan > 4) {
+- sprintf(full_file_name,"%02d)%s_shape.pam",global_index,filename);
++ gs_sprintf(full_file_name,"%02d)%s_shape.pam",global_index,filename);
+ fid = fopen(full_file_name,"wb");
+ fprintf(fid, "P7\nWIDTH %d\nHEIGHT %d\nDEPTH 1\nMAXVAL 255\nTUPLTYPE GRAYSCALE\nENDHDR\n",
+ width, num_rows);
+@@ -1615,7 +1615,7 @@ dump_raw_buffer(int num_rows, int width,
+ fclose(fid);
+ }
+ if (n_chan == 6) {
+- sprintf(full_file_name,"%02d)%s_tags.pam",global_index,filename);
++ gs_sprintf(full_file_name,"%02d)%s_tags.pam",global_index,filename);
+ fid = fopen(full_file_name,"wb");
+ fprintf(fid, "P7\nWIDTH %d\nHEIGHT %d\nDEPTH 1\nMAXVAL 255\nTUPLTYPE GRAYSCALE\nENDHDR\n",
+ width, num_rows);
+@@ -1628,7 +1628,7 @@ dump_raw_buffer(int num_rows, int width,
+ }
+ #endif
+ max_bands = ( n_chan < 57 ? n_chan : 56); /* Photoshop handles at most 56 bands */
+- sprintf(full_file_name,"%02d)%s_%dx%dx%d.raw",global_index,filename,width,num_rows,max_bands);
++ gs_sprintf(full_file_name,"%02d)%s_%dx%dx%d.raw",global_index,filename,width,num_rows,max_bands);
+ fid = fopen(full_file_name,"wb");
+
+ for (z = 0; z < max_bands; ++z) {
+diff -up ghostscript-9.07/base/gxclmem.c.gs_sprintf ghostscript-9.07/base/gxclmem.c
+--- ghostscript-9.07/base/gxclmem.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gxclmem.c 2013-05-09 17:02:39.086447171 +0100
+@@ -401,7 +401,7 @@ memfile_fopen(char fname[gp_file_name_si
+
+ /* Return the address of this memfile as a string for use in future clist_fopen calls */
+ fname[0] = 0xff; /* a flag that this is a memfile name */
+- sprintf(fname+1, "%p", f);
++ gs_sprintf(fname+1, "%p", f);
+
+ #ifdef DEBUG
+ tot_compressed = 0;
+diff -up ghostscript-9.07/base/gxhintn.c.gs_sprintf ghostscript-9.07/base/gxhintn.c
+--- ghostscript-9.07/base/gxhintn.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gxhintn.c 2013-05-09 17:02:39.086447171 +0100
+@@ -387,7 +387,7 @@ static void t1_hinter__paint_glyph(t1_hi
+
+ for(j = beg_pole; j <= end_pole; j++) {
+ vd_circle(X(j), Y(j), 3, RGB(0,0,255));
+- sprintf(buf, "%d", j);
++ gs_sprintf(buf, "%d", j);
+ vd_text(self->pole[j].gx, self->pole[j].gy, buf, RGB(0,0,0));
+ if (self->pole[j + 1].type == offcurve)
+ j+=2;
+diff -up ghostscript-9.07/base/gxpath.c.gs_sprintf ghostscript-9.07/base/gxpath.c
+--- ghostscript-9.07/base/gxpath.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gxpath.c 2013-05-09 17:02:39.086447171 +0100
+@@ -1035,7 +1035,7 @@ gx_print_segment(const gs_memory_t *mem,
+ double py = fixed2float(pseg->pt.y);
+ char out[80];
+
+- sprintf(out, "0x%lx<0x%lx,0x%lx>:%u",
++ gs_sprintf(out, "0x%lx<0x%lx,0x%lx>:%u",
+ (ulong) pseg, (ulong) pseg->prev, (ulong) pseg->next, pseg->notes);
+ switch (pseg->type) {
+ case s_start:{
+diff -up ghostscript-9.07/base/gxpcmap.c.gs_sprintf ghostscript-9.07/base/gxpcmap.c
+--- ghostscript-9.07/base/gxpcmap.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/gxpcmap.c 2013-05-09 17:02:39.087447175 +0100
+@@ -1147,10 +1147,10 @@ dump_raw_pattern(int height, int width,
+ is_planar = dev_proc(mdev, dev_spec_op)(mdev, gxdso_is_native_planar, NULL, 0) > 0;
+ max_bands = ( n_chan < 57 ? n_chan : 56); /* Photoshop handles at most 56 bands */
+ if (is_planar) {
+- sprintf(full_file_name,"%d)PATTERN_PLANE_%dx%dx%d.raw",global_pat_index,
++ gs_sprintf(full_file_name,"%d)PATTERN_PLANE_%dx%dx%d.raw",global_pat_index,
+ width,height,max_bands);
+ } else {
+- sprintf(full_file_name,"%d)PATTERN_CHUNK_%dx%dx%d.raw",global_pat_index,
++ gs_sprintf(full_file_name,"%d)PATTERN_CHUNK_%dx%dx%d.raw",global_pat_index,
+ width,height,max_bands);
+ }
+ fid = fopen(full_file_name,"wb");
+diff -up ghostscript-9.07/base/lib.mak.gs_sprintf ghostscript-9.07/base/lib.mak
+--- ghostscript-9.07/base/lib.mak.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/lib.mak 2013-05-09 17:02:39.088447180 +0100
+@@ -98,6 +98,9 @@ std_h=$(GLSRC)std.h $(arch_h) $(stdpre_h
+
+ vmsmath_h=$(GLSRC)vmsmath.h
+
++# declare here for use by string__h
++gssprintf_h=$(GLSRC)gssprintf.h
++
+ dos__h=$(GLSRC)dos_.h
+ ctype__h=$(GLSRC)ctype_.h $(std_h)
+ dirent__h=$(GLSRC)dirent_.h $(std_h) $(gconfig__h)
+@@ -110,7 +113,7 @@ math__h=$(GLSRC)math_.h $(std_h) $(vmsma
+ memory__h=$(GLSRC)memory_.h $(std_h)
+ setjmp__h=$(GLSRC)setjmp_.h
+ stat__h=$(GLSRC)stat_.h $(std_h)
+-stdio__h=$(GLSRC)stdio_.h $(std_h)
++stdio__h=$(GLSRC)stdio_.h $(std_h) $(gssprintf_h)
+ string__h=$(GLSRC)string_.h $(std_h)
+ time__h=$(GLSRC)time_.h $(std_h) $(gconfig__h)
+ unistd__h=$(GLSRC)unistd_.h $(std_h)
+@@ -151,6 +154,7 @@ gx_h=$(GLSRC)gx.h $(stdio__h) $(gdebug_h
+ $(gsio_h) $(gsmemory_h) $(gstypes_h) $(gserrors_h)
+ gxsync_h=$(GLSRC)gxsync.h $(gpsync_h) $(gsmemory_h)
+ gxclthrd_h=$(GLSRC)gxclthrd.h $(gxsync_h)
++
+ # Out of order
+ gsmemlok_h=$(GLSRC)gsmemlok.h $(gsmemory_h) $(gxsync_h)
+ gsnotify_h=$(GLSRC)gsnotify.h $(gsstype_h)
+@@ -320,6 +324,10 @@ $(AUX)gsutil.$(OBJ) : $(GLSRC)gsutil.c $
+ $(gsrect_h) $(gsuid_h) $(gsutil_h) $(gzstate_h) $(gxdcolor_h) $(MAKEDIRS)
+ $(GLCCAUX) $(AUXO_)gsutil.$(OBJ) $(C_) $(GLSRC)gsutil.c
+
++$(GLOBJ)gssprintf.$(OBJ) : $(GLSRC)gssprintf.c $(gssprintf_h) $(triodef_h) $(trio_h) \
++$(triop_h) $(triostr_h) $(trionan_h)
++ $(GLCC) $(I_)$(TRIOSRCDIR)$(_I) $(GLO_)gssprintf.$(OBJ) $(C_) $(GLSRC)gssprintf.c
++
+ # MD5 digest
+ md5_h=$(GLSRC)md5.h
+ # We have to use a slightly different compilation approach in order to
+@@ -1309,7 +1317,7 @@ LIB10s=$(GLOBJ)gsmalloc.$(OBJ) $(GLOBJ)m
+ LIB11s=$(GLOBJ)gsmemory.$(OBJ) $(GLOBJ)gsmemret.$(OBJ) $(GLOBJ)gsmisc.$(OBJ) $(GLOBJ)gsnotify.$(OBJ) $(GLOBJ)gslibctx.$(OBJ)
+ LIB12s=$(GLOBJ)gspaint.$(OBJ) $(GLOBJ)gsparam.$(OBJ) $(GLOBJ)gspath.$(OBJ)
+ LIB13s=$(GLOBJ)gsserial.$(OBJ) $(GLOBJ)gsstate.$(OBJ) $(GLOBJ)gstext.$(OBJ)\
+- $(GLOBJ)gsutil.$(OBJ)
++ $(GLOBJ)gsutil.$(OBJ) $(TRIOOBJS) $(GLOBJ)gssprintf.$(OBJ)
+ LIB1x=$(GLOBJ)gxacpath.$(OBJ) $(GLOBJ)gxbcache.$(OBJ) $(GLOBJ)gxccache.$(OBJ)
+ LIB2x=$(GLOBJ)gxccman.$(OBJ) $(GLOBJ)gxchar.$(OBJ) $(GLOBJ)gxcht.$(OBJ)
+ LIB3x=$(GLOBJ)gxclip.$(OBJ) $(GLOBJ)gxcmap.$(OBJ) $(GLOBJ)gxcpath.$(OBJ)
+diff -up ghostscript-9.07/base/md5main.c.gs_sprintf ghostscript-9.07/base/md5main.c
+--- ghostscript-9.07/base/md5main.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/md5main.c 2013-05-09 17:02:39.088447180 +0100
+@@ -87,7 +87,7 @@ do_test(void)
+ gs_md5_append(&state, (const gs_md5_byte_t *)test[i], strlen(test[i]));
+ gs_md5_finish(&state, digest);
+ for (di = 0; di < 16; ++di)
+- sprintf(hex_output + di * 2, "%02x", digest[di]);
++ gs_sprintf(hex_output + di * 2, "%02x", digest[di]);
+ if (strcmp(hex_output, test[i + 1])) {
+ printf("MD5 (\"%s\") = ", test[i]);
+ puts(hex_output);
+diff -up ghostscript-9.07/base/mkromfs.c.gs_sprintf ghostscript-9.07/base/mkromfs.c
+--- ghostscript-9.07/base/mkromfs.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/mkromfs.c 2013-05-09 17:02:39.088447180 +0100
+@@ -64,6 +64,8 @@
+ *
+ */
+
++/* prevent gp.h redefining sprintf */
++#define sprintf sprintf
+ #include "stdpre.h"
+ #include "stdint_.h"
+ #include "time_.h"
+diff -up ghostscript-9.07/base/sdcparam.c.gs_sprintf ghostscript-9.07/base/sdcparam.c
+--- ghostscript-9.07/base/sdcparam.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/sdcparam.c 2013-05-09 17:02:39.088447180 +0100
+@@ -200,7 +200,7 @@ s_DCT_get_quantization_tables(gs_param_l
+ gs_param_string str;
+ gs_param_float_array fa;
+
+- sprintf(key, "%d", i);
++ gs_sprintf(key, "%d", i);
+ if (QFactor == 1.0) {
+ code = quant_param_string(&str, DCTSIZE2,
+ table_ptrs[comp_info[i].quant_tbl_no]->quantval,
+@@ -474,7 +474,7 @@ s_DCT_put_quantization_tables(gs_param_l
+ char istr[5]; /* i converted to string key */
+ UINT16 values[DCTSIZE2];
+
+- sprintf(istr, "%d", i);
++ gs_sprintf(istr, "%d", i);
+ code = quant_params(quant_tables.list, istr, DCTSIZE2, values,
+ pdct->QFactor);
+ if (code < 0)
+@@ -566,7 +566,7 @@ s_DCT_put_huffman_tables(gs_param_list *
+ UINT8 counts[16], values[256];
+
+ /* Collect the Huffman parameters. */
+- sprintf(istr, "%d", i);
++ gs_sprintf(istr, "%d", i);
+ code = s_DCT_byte_params(huff_tables.list, istr, 0, 16, counts);
+ if (code < 0)
+ return code;
+diff -up ghostscript-9.07/base/sjbig2.c.gs_sprintf ghostscript-9.07/base/sjbig2.c
+--- ghostscript-9.07/base/sjbig2.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/sjbig2.c 2013-05-09 17:02:39.089447184 +0100
+@@ -65,7 +65,7 @@ s_jbig2decode_error(void *error_callback
+ default: type = "unknown message:"; break;;
+ }
+ if (seg_idx == -1) segment[0] = '\0';
+- else sprintf(segment, "(segment 0x%02x)", seg_idx);
++ else gs_sprintf(segment, "(segment 0x%02x)", seg_idx);
+
+ if (state)
+ {
+diff -up ghostscript-9.07/base/spprint.c.gs_sprintf ghostscript-9.07/base/spprint.c
+--- ghostscript-9.07/base/spprint.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/spprint.c 2013-05-09 17:02:39.089447184 +0100
+@@ -83,7 +83,7 @@ pprintd1(stream * s, const char *format,
+ if (*fp == 0 || fp[1] != 'd') /* shouldn't happen! */
+ lprintf1("Bad format in pprintd1: %s\n", format);
+ #endif
+- sprintf(str, "%d", v);
++ gs_sprintf(str, "%d", v);
+ pputs_short(s, str);
+ return pprintf_scan(s, fp + 2);
+ }
+@@ -115,12 +115,12 @@ pprintg1(stream * s, const char *format,
+ if (*fp == 0 || fp[1] != 'g') /* shouldn't happen! */
+ lprintf1("Bad format in pprintg: %s\n", format);
+ #endif
+- sprintf(str, "%f", 1.5);
++ gs_sprintf(str, "%f", 1.5);
+ dot = str[1]; /* locale-dependent */
+- sprintf(str, "%g", v);
++ gs_sprintf(str, "%g", v);
+ if (strchr(str, 'e')) {
+ /* Bad news. Try again using f-format. */
+- sprintf(str, (fabs(v) > 1 ? "%1.1f" : "%1.8f"), v);
++ gs_sprintf(str, (fabs(v) > 1 ? "%1.1f" : "%1.8f"), v);
+ }
+ /* Juggling locales isn't thread-safe. Posix me harder. */
+ if (dot != '.') {
+@@ -165,7 +165,7 @@ pprintld1(stream * s, const char *format
+ if (*fp == 0 || fp[1] != 'l' || fp[2] != 'd') /* shouldn't happen! */
+ lprintf1("Bad format in pprintld: %s\n", format);
+ #endif
+- sprintf(str, "%ld", v);
++ gs_sprintf(str, "%ld", v);
+ pputs_short(s, str);
+ return pprintf_scan(s, fp + 3);
+ }
+diff -up ghostscript-9.07/base/trio.mak.gs_sprintf ghostscript-9.07/base/trio.mak
+--- ghostscript-9.07/base/trio.mak.gs_sprintf 2013-05-09 17:02:39.089447184 +0100
++++ ghostscript-9.07/base/trio.mak 2013-05-09 17:02:39.089447184 +0100
+@@ -0,0 +1,57 @@
++# Copyright (C) 2001-2012 Artifex Software, Inc.
++# All Rights Reserved.
++#
++# This software is provided AS-IS with no warranty, either express or
++# implied.
++#
++# This software is distributed under license and may not be copied,
++# modified or distributed except as expressly authorized under the terms
++# of the license contained in the file LICENSE in this distribution.
++#
++# Refer to licensing information at http://www.artifex.com or contact
++# Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
++# CA 94903, U.S.A., +1(415)492-9861, for further information.
++#
++# makefile for trio - locale-less s(n)printf/s(n)canf
++#
++# Users of this makefile must define the following:
++# TRIO_CFLAGS - Compiler flags for building the source,
++# TRIOSRCDIR - the expat source top-level directory,
++# TIOOBJDIR - directory for object files.
++
++# Define the name of this makefile
++TRIO_MAK=$(GLSRCDIR)$(D)trio.mak
++
++# local aliases
++TRIOSRC=$(TRIOSRCDIR)$(D)
++TRIOOBJ=$(TRIOOBJDIR)$(D)
++TRIOO_=$(O_)$(TRIOOBJ)
++
++TRIOCFLAGS=$(CFLAGS) $(TRIO_CFLAGS) $(D_)TRIO_EMBED_STRING$(_D) $(D_)TRIO_FEATURE_CLOSURE=0$(_D) \
++$(D_)TRIO_FEATURE_DYNAMICSTRING=0$(_D) $(D_)TRIO_MINIMAL=0$(_D) \
++$(D_)TRIO_FEATURE_USER_DEFINED=0$(_D) $(D_)TRIO_EXTENSION=0$(_D)\
++$(D_)TRIO_FUNC_TO_FLOAT$(_D) $(I_)$(TRIOSRCDIR)$(_I) \
++$(D_)TRIO_MALLOC=no_malloc$(_D) $(D_)TRIO_REALLOC=no_realloc$(_D) $(D_)TRIO_FREE=no_free$(_D)
++
++
++# NB: we can't use the normal $(CC_) here because msvccmd.mak
++# adds /Za which conflicts with the trio source.
++TRIOCC=$(CC) $(TRIOCFLAGS)
++
++TRIOOBJS=$(TRIOOBJ)triostr.$(OBJ) $(TRIOOBJ)trio.$(OBJ) $(TRIOOBJ)trionan.$(OBJ)
++
++triodef_h=$(TRIOSRC)triodef.h
++trio_h=$(TRIOSRC)trio.h
++triop_h=$(TRIOSRC)triop.h
++triostr_h=$(TRIOSRC)triostr.h
++
++TRIOHDRS=$(triodef_h) $(trio_h) $(triop_h) $(triostr_h)
++
++$(TRIOOBJ)triostr.$(OBJ) : $(TRIOSRC)triostr.c $(TRIOHDRS) $(TRIO_MAK)
++ $(TRIOCC) $(TRIOO_)triostr.$(OBJ) $(C_) $(TRIOSRC)triostr.c
++
++$(TRIOOBJ)trio.$(OBJ) : $(TRIOSRC)trio.c $(TRIOHDRS) $(TRIO_MAK)
++ $(TRIOCC) $(TRIOO_)trio.$(OBJ) $(C_) $(TRIOSRC)trio.c
++
++$(TRIOOBJ)trionan.$(OBJ) : $(TRIOSRC)trionan.c $(TRIOHDRS) $(TRIO_MAK)
++ $(TRIOCC) $(TRIOO_)trionan.$(OBJ) $(C_) $(TRIOSRC)trionan.c
+diff -up ghostscript-9.07/base/unixansi.mak.gs_sprintf ghostscript-9.07/base/unixansi.mak
+--- ghostscript-9.07/base/unixansi.mak.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/unixansi.mak 2013-05-09 17:02:39.089447184 +0100
+@@ -152,6 +152,8 @@ TIFFPLATFORM=unix
+ TIFFCONFIG_SUFFIX=.unix
+ LIBTIFF_NAME=tiff
+
++TRIOSRCDIR=trio
++
+ # Define the directory where the zlib sources are stored.
+ # See zlib.mak for more information.
+
+@@ -392,6 +394,7 @@ CC_SHARED=$(CC_)
+
+ include $(GLSRCDIR)/unixhead.mak
+ include $(GLSRCDIR)/gs.mak
++include $(GLSRCDIR)/trio.mak
+ # psromfs.mak must precede lib.mak
+ include $(PSSRCDIR)/psromfs.mak
+ include $(GLSRCDIR)/lib.mak
+diff -up ghostscript-9.07/base/unix-gcc.mak.gs_sprintf ghostscript-9.07/base/unix-gcc.mak
+--- ghostscript-9.07/base/unix-gcc.mak.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/unix-gcc.mak 2013-05-09 17:02:39.089447184 +0100
+@@ -165,6 +165,8 @@ TIFFPLATFORM=unix
+ TIFFCONFIG_SUFFIX=.unix
+ LIBTIFF_NAME=tiff
+
++TRIOSRCDIR=trio
++
+ # Define the directory where the zlib sources are stored.
+ # See zlib.mak for more information.
+
+@@ -461,6 +463,7 @@ MAKEDIRSTOP=directories
+
+ include $(GLSRCDIR)/unixhead.mak
+ include $(GLSRCDIR)/gs.mak
++include $(GLSRCDIR)/trio.mak
+ # psromfs.mak must precede lib.mak
+ include $(PSSRCDIR)/psromfs.mak
+ include $(GLSRCDIR)/lib.mak
+diff -up ghostscript-9.07/base/winlib.mak.gs_sprintf ghostscript-9.07/base/winlib.mak
+--- ghostscript-9.07/base/winlib.mak.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/winlib.mak 2013-05-09 17:02:39.090447188 +0100
+@@ -133,6 +133,7 @@ BEGINFILES=$(GLGENDIR)\ccf32.tr\
+ #!include $(COMMONDIR)/pcdefs.mak
+ #!include $(COMMONDIR)/generic.mak
+ !include $(GLSRCDIR)\gs.mak
++!include $(GLSRCDIR)\trio.mak
+ !include $(GLSRCDIR)\lib.mak
+ !include $(GLSRCDIR)\freetype.mak
+ !if "$(UFST_BRIDGE)"=="1"
+diff -up ghostscript-9.07/base/wrfont.c.gs_sprintf ghostscript-9.07/base/wrfont.c
+--- ghostscript-9.07/base/wrfont.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/wrfont.c 2013-05-09 17:02:39.090447188 +0100
+@@ -72,7 +72,7 @@ WRF_wfloat(WRF_output * a_output, double
+ {
+ char buffer[32];
+
+- sprintf(buffer, "%f", a_float);
++ gs_sprintf(buffer, "%f", a_float);
+ WRF_wstring(a_output, buffer);
+ }
+
+@@ -81,6 +81,6 @@ WRF_wint(WRF_output * a_output, long a_i
+ {
+ char buffer[32];
+
+- sprintf(buffer, "%ld", a_int);
++ gs_sprintf(buffer, "%ld", a_int);
+ WRF_wstring(a_output, buffer);
+ }
+diff -up ghostscript-9.07/base/write_t1.c.gs_sprintf ghostscript-9.07/base/write_t1.c
+--- ghostscript-9.07/base/write_t1.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/write_t1.c 2013-05-09 17:02:39.090447188 +0100
+@@ -300,7 +300,7 @@ write_main_dictionary(gs_fapi_font * a_f
+ if (x)
+ entries++;
+
+- sprintf(Buffer, "/FontInfo %d dict dup begin\n", entries);
++ gs_sprintf(Buffer, "/FontInfo %d dict dup begin\n", entries);
+ WRF_wstring(a_output, Buffer);
+ x = a_fapi_font->get_word(a_fapi_font,
+ gs_fapi_font_feature_BlendAxisTypes_count,
+@@ -330,7 +330,7 @@ write_main_dictionary(gs_fapi_font * a_f
+ x1 = a_fapi_font->get_float(a_fapi_font,
+ gs_fapi_font_feature_BlendDesignPositionsArrayValue,
+ i * 8 + j);
+- sprintf(Buffer, "%f ", x1);
++ gs_sprintf(Buffer, "%f ", x1);
+ WRF_wstring(a_output, Buffer);
+ }
+ WRF_wstring(a_output, "]");
+@@ -352,12 +352,12 @@ write_main_dictionary(gs_fapi_font * a_f
+ x1 = a_fapi_font->get_float(a_fapi_font,
+ gs_fapi_font_feature_BlendDesignPositionsArrayValue,
+ i * 64 + j * 64);
+- sprintf(Buffer, "%f ", x1);
++ gs_sprintf(Buffer, "%f ", x1);
+ WRF_wstring(a_output, Buffer);
+ x1 = a_fapi_font->get_float(a_fapi_font,
+ gs_fapi_font_feature_BlendDesignPositionsArrayValue,
+ i * 64 + j * 64 + 1);
+- sprintf(Buffer, "%f ", x1);
++ gs_sprintf(Buffer, "%f ", x1);
+ WRF_wstring(a_output, Buffer);
+ WRF_wstring(a_output, "]");
+ }
+@@ -397,7 +397,7 @@ write_main_dictionary(gs_fapi_font * a_f
+ for (i = 0; i < x; i++) {
+ x1 = a_fapi_font->get_float(a_fapi_font,
+ gs_fapi_font_feature_WeightVector, i);
+- sprintf(Buffer, "%f ", x1);
++ gs_sprintf(Buffer, "%f ", x1);
+ WRF_wstring(a_output, Buffer);
+ }
+ WRF_wstring(a_output, "] def\n");
+diff -up ghostscript-9.07/base/write_t2.c.gs_sprintf ghostscript-9.07/base/write_t2.c
+--- ghostscript-9.07/base/write_t2.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/base/write_t2.c 2013-05-09 17:02:39.090447188 +0100
+@@ -70,7 +70,7 @@ write_type2_float(WRF_output * a_output,
+ int high = true;
+ char c = 0;
+
+- sprintf(buffer, "%f", a_float);
++ gs_sprintf(buffer, "%f", a_float);
+ WRF_wbyte(a_output, 30);
+ for (;;) {
+ char n = 0;
+diff -up ghostscript-9.07/contrib/eplaser/gdevescv.c.gs_sprintf ghostscript-9.07/contrib/eplaser/gdevescv.c
+--- ghostscript-9.07/contrib/eplaser/gdevescv.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/contrib/eplaser/gdevescv.c 2013-05-09 17:02:39.091447193 +0100
+@@ -545,7 +545,7 @@ escv_vector_dopath(gx_device_vector * vd
+ y = fixed2float(vs[1]) / scale.y;
+
+ /* ¥µ¥Ö¥Ñ¥¹³«»ÏÌ¿Îá p1 */
+- (void)sprintf(obuf, ESC_GS "0;%d;%dmvpG", (int)x, (int)y);
++ (void)gs_sprintf(obuf, ESC_GS "0;%d;%dmvpG", (int)x, (int)y);
+ lputs(s, obuf);
+
+ if (first)
+@@ -556,11 +556,11 @@ escv_vector_dopath(gx_device_vector * vd
+ cnt = 1;
+ for (pseg = cenum.pseg; pseg != 0 && pseg->type == s_line; cnt++, pseg = pseg->next);
+
+- (void)sprintf(obuf, ESC_GS "0;%d", cnt);
++ (void)gs_sprintf(obuf, ESC_GS "0;%d", cnt);
+ lputs(s, obuf);
+
+ do {
+- (void)sprintf(obuf, ";%d;%d",
++ (void)gs_sprintf(obuf, ";%d;%d",
+ (int)(fixed2float(vs[0]) / scale.x),
+ (int)(fixed2float(vs[1]) / scale.y));
+ lputs(s, obuf);
+@@ -577,11 +577,11 @@ escv_vector_dopath(gx_device_vector * vd
+ case gs_pe_curveto:
+ cnt = 1;
+ for (pseg = cenum.pseg; pseg != 0 && pseg->type == s_curve; cnt++, pseg = pseg->next);
+- (void)sprintf(obuf, ESC_GS "0;%d", cnt * 3);
++ (void)gs_sprintf(obuf, ESC_GS "0;%d", cnt * 3);
+ lputs(s, obuf);
+
+ do {
+- (void)sprintf(obuf, ";%d;%d;%d;%d;%d;%d",
++ (void)gs_sprintf(obuf, ";%d;%d;%d;%d;%d;%d",
+ (int)(fixed2float(vs[0]) / scale.x), (int)(fixed2float(vs[1]) / scale.y),
+ (int)(fixed2float(vs[2]) / scale.x), (int)(fixed2float(vs[3]) / scale.y),
+ (int)(fixed2float(vs[4]) / scale.x), (int)(fixed2float(vs[5]) / scale.y));
+@@ -637,7 +637,7 @@ escv_vector_dorect(gx_device_vector * vd
+
+ scale = vdev->scale;
+
+- (void)sprintf(obuf, ESC_GS "0;%d;%d;%d;%d;0;0rrpG",
++ (void)gs_sprintf(obuf, ESC_GS "0;%d;%d;%d;%d;0;0rrpG",
+ (int)(fixed2float(x0) / scale.x),
+ (int)(fixed2float(y0) / scale.y),
+ (int)(fixed2float(x1) / scale.x),
+@@ -1116,7 +1116,7 @@ escv_beginpage(gx_device_vector * vdev)
+ lputs(s, " PU=15");
+ }
+ } else if (pdev->cassetFeed) {
+- (void)sprintf(ebuf, " PU=%d", pdev->cassetFeed);
++ (void)gs_sprintf(ebuf, " PU=%d", pdev->cassetFeed);
+ lputs(s, ebuf);
+ } else {
+ lputs(s, " PU=AU");
+@@ -1146,14 +1146,14 @@ escv_beginpage(gx_device_vector * vdev)
+
+ /* lp8000c not have QT */
+ if (strcmp(pdev->dname, "lp8000c") == 0) {
+- (void)sprintf(ebuf, " QT=1 CO=%d", pdev->NumCopies);
++ (void)gs_sprintf(ebuf, " QT=1 CO=%d", pdev->NumCopies);
+ } else {
+ if (pdev->Collate) {
+ /* CO is 1, when set QT */
+- (void)sprintf(ebuf, " QT=%d CO=1", pdev->NumCopies);
++ (void)gs_sprintf(ebuf, " QT=%d CO=1", pdev->NumCopies);
+ } else {
+ /* QT is 1, when not specified QT */
+- (void)sprintf(ebuf, " QT=1 CO=%d", pdev->NumCopies);
++ (void)gs_sprintf(ebuf, " QT=1 CO=%d", pdev->NumCopies);
+ }
+ }
+ lputs(s, ebuf);
+@@ -1162,7 +1162,7 @@ escv_beginpage(gx_device_vector * vdev)
+ }
+
+ if (pdev->toner_density) {
+- (void)sprintf(ebuf, " DL=%d", pdev->toner_density);
++ (void)gs_sprintf(ebuf, " DL=%d", pdev->toner_density);
+ lputs(s, ebuf);
+ }
+
+@@ -1320,7 +1320,7 @@ escv_setlinewidth(gx_device_vector * vde
+ /* ESC/Page ¤Ç¤ÏÀþÉý¡¿½ªÃ¼¡¿ÀܹçÉô¤ÎÀßÄê¤Ï£±¤Ä¤Î¥³¥Þ¥ó¥É¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤¿¤áÊÝ»ý¤·¤Æ¤ª¤¯¡£ */
+ pdev -> lwidth = width;
+
+- (void)sprintf(obuf, ESC_GS "%d;%d;%dlwG",
++ (void)gs_sprintf(obuf, ESC_GS "%d;%d;%dlwG",
+ (int)(pdev -> lwidth),
+ (int)(pdev -> cap),
+ (int)(pdev -> join));
+@@ -1341,7 +1341,7 @@ escv_setlinecap(gx_device_vector * vdev,
+
+ if (pdev -> cap >= 3) return -1;
+
+- (void)sprintf(obuf, ESC_GS "%d;%d;%dlwG",
++ (void)gs_sprintf(obuf, ESC_GS "%d;%d;%dlwG",
+ (int)(pdev -> lwidth),
+ (int)(pdev -> cap),
+ (int)(pdev -> join));
+@@ -1372,7 +1372,7 @@ escv_setlinejoin(gx_device_vector * vdev
+ return -1;
+ }
+
+- (void)sprintf(obuf, ESC_GS "%d;%d;%dlwG",
++ (void)gs_sprintf(obuf, ESC_GS "%d;%d;%dlwG",
+ (int)(pdev -> lwidth),
+ (int)(pdev -> cap),
+ (int)(pdev -> join));
+@@ -1394,14 +1394,14 @@ escv_setmiterlimit(gx_device_vector * vd
+ if (pdev -> join != 3) {
+ /* ¶¯À©Åª¤ËÀܹçÉô»ØÄê¤ò¹Ô¤¦ */
+ pdev -> join = 3;
+- (void)sprintf(obuf, ESC_GS "%d;%d;%dlwG",
++ (void)gs_sprintf(obuf, ESC_GS "%d;%d;%dlwG",
+ (int)(pdev -> lwidth),
+ (int)(pdev -> cap),
+ (int)(pdev -> join));
+ lputs(s, obuf);
+ }
+
+- (void)sprintf(obuf, ESC_GS "1;%dmlG", (int)limit);
++ (void)gs_sprintf(obuf, ESC_GS "1;%dmlG", (int)limit);
+ lputs(s, obuf);
+
+ return 0;
+@@ -1433,7 +1433,7 @@ escv_setfillcolor(gx_device_vector * vde
+
+ if( 0 == pdev->colormode ) { /* ESC/Page (Monochrome) */
+
+- (void)sprintf(obuf, /*ESC_GS "1owE"*/ ESC_GS "0;0;100spE" ESC_GS "1;0;%ldccE" ,color);
++ (void)gs_sprintf(obuf, /*ESC_GS "1owE"*/ ESC_GS "0;0;100spE" ESC_GS "1;0;%ldccE" ,color);
+ lputs(s, obuf);
+
+ if (vdev->x_pixels_per_inch == 1200) {
+@@ -1447,7 +1447,7 @@ escv_setfillcolor(gx_device_vector * vde
+ } else { /* ESC/Page-Color */
+
+ /* ¥Ñ¥¿¡¼¥ó£Ï£Î»ØÄê¡¿¥½¥ê¥Ã¥É¥Ñ¥¿¡¼¥ó»ØÄê */
+- (void)sprintf(obuf, ESC_GS "1;2;3;%d;%d;%dfpE",
++ (void)gs_sprintf(obuf, ESC_GS "1;2;3;%d;%d;%dfpE",
+ (unsigned char)(color >> 16 & 0xff),
+ (unsigned char)(color >> 8 & 0xff),
+ (unsigned char)(color & 0xff));
+@@ -1477,7 +1477,7 @@ escv_setstrokecolor(gx_device_vector * v
+
+ pdev->current_color = color;
+
+- (void)sprintf(obuf, /*ESC_GS "1owE"*/ ESC_GS "0;0;100spE" ESC_GS "1;1;%ldccE" , color);
++ (void)gs_sprintf(obuf, /*ESC_GS "1owE"*/ ESC_GS "0;0;100spE" ESC_GS "1;1;%ldccE" , color);
+ lputs(s, obuf);
+
+ if (vdev->x_pixels_per_inch == 1200) {
+@@ -1494,7 +1494,7 @@ escv_setstrokecolor(gx_device_vector * v
+
+ pdev->current_color = color;
+ /* ¥Ñ¥¿¡¼¥ó£Ï£Î¿§»ØÄê¡¿¥½¥ê¥Ã¥É¥Ñ¥¿¡¼¥ó»ØÄê */
+- (void)sprintf(obuf, ESC_GS "1;2;3;%d;%d;%dfpE" ESC_GS "2;2;1;0;0cpE",
++ (void)gs_sprintf(obuf, ESC_GS "1;2;3;%d;%d;%dfpE" ESC_GS "2;2;1;0;0cpE",
+ (unsigned char)(color >> 16 & 0xff),
+ (unsigned char)(color >> 8 & 0xff),
+ (unsigned char)(color & 0xff));
+@@ -1538,11 +1538,11 @@ escv_setdash(gx_device_vector * vdev, co
+ if (count) {
+ if (count == 1) {
+ #if GS_VERSION_MAJOR == 5
+- (void)sprintf(obuf, ESC_GS "1;%d;%ddlG",
++ (void)gs_sprintf(obuf, ESC_GS "1;%d;%ddlG",
+ (int)(pattern[0] * scale / vdev->x_pixels_per_inch + 0.5),
+ (int)(pattern[0] * scale / vdev->x_pixels_per_inch + 0.5));
+ #else
+- (void)sprintf(obuf, ESC_GS "1;%d;%ddlG", (int) pattern[0], (int) pattern[0]);
++ (void)gs_sprintf(obuf, ESC_GS "1;%d;%ddlG", (int) pattern[0], (int) pattern[0]);
+ #endif
+ lputs(s, obuf);
+ } else {
+@@ -1554,10 +1554,10 @@ escv_setdash(gx_device_vector * vdev, co
+ lputs(s, ESC_GS "1");
+ for (i = 0; i < count; ++i) {
+ #if GS_VERSION_MAJOR == 5
+- (void)sprintf(obuf, ";%d", (int)(pattern[i] * scale / vdev->x_pixels_per_inch + 0.5));
++ (void)gs_sprintf(obuf, ";%d", (int)(pattern[i] * scale / vdev->x_pixels_per_inch + 0.5));
+
+ #else
+- (void)sprintf(obuf, ";%d", (int) pattern[i]);
++ (void)gs_sprintf(obuf, ";%d", (int) pattern[i]);
+ #endif
+ lputs(s, obuf);
+ }
+@@ -1608,7 +1608,7 @@ escv_moveto(gx_device_vector * vdev,
+ char obuf[64];
+
+ /* ¥µ¥Ö¥Ñ¥¹³«»ÏÌ¿Îá */
+- (void)sprintf(obuf, ESC_GS "0;%d;%dmvpG", (int)x1, (int)y1);
++ (void)gs_sprintf(obuf, ESC_GS "0;%d;%dmvpG", (int)x1, (int)y1);
+ lputs(s, obuf);
+
+ return 0;
+@@ -1622,7 +1622,7 @@ escv_lineto(gx_device_vector * vdev,
+ gx_device_escv *pdev = (gx_device_escv *) vdev;
+ char obuf[64];
+
+- (void)sprintf(obuf, ESC_GS "0;1;%d;%dlnpG", (int)x1, (int)y1);
++ (void)gs_sprintf(obuf, ESC_GS "0;1;%d;%dlnpG", (int)x1, (int)y1);
+ lputs(s, obuf);
+ pdev->ispath = 1;
+
+@@ -1639,7 +1639,7 @@ escv_curveto(gx_device_vector * vdev, fl
+ char obuf[128];
+
+ /* ¥Ù¥¸¥§¶ÊÀþ */
+- (void)sprintf(obuf, ESC_GS "0;3;%d;%d;%d;%d;%d;%dbzpG",
++ (void)gs_sprintf(obuf, ESC_GS "0;3;%d;%d;%d;%d;%d;%dbzpG",
+ (int)x1, (int)y1, (int)x2, (int)y2, (int)x3, (int)y3);
+ lputs(s, obuf);
+ pdev->ispath = 1;
+@@ -2176,7 +2176,7 @@ escv_copy_mono(gx_device * dev, const by
+ if( 0 == pdev->colormode ) { /* ESC/Page (Monochrome) */
+
+ /* lputs(s, ESC_GS "1owE");*/
+- (void)sprintf(obuf, ESC_GS "1;1;%ldccE", c_color);
++ (void)gs_sprintf(obuf, ESC_GS "1;1;%ldccE", c_color);
+ lputs(s, obuf);
+
+ if (vdev->x_pixels_per_inch == 1200) {
+@@ -2263,7 +2263,7 @@ escv_copy_mono(gx_device * dev, const by
+ } else { /* ESC/Page-Color */
+
+ /* ¥Ñ¥¿¡¼¥ó£Ï£Î»ØÄê¡¿¥½¥ê¥Ã¥É¥Ñ¥¿¡¼¥ó»ØÄê */
+- (void)sprintf(obuf, ESC_GS "1;2;3;%d;%d;%dfpE",
++ (void)gs_sprintf(obuf, ESC_GS "1;2;3;%d;%d;%dfpE",
+ (unsigned char)(c_color >> 16 & 0xff),
+ (unsigned char)(c_color >> 8 & 0xff),
+ (unsigned char)(c_color & 0xff));
+@@ -2388,7 +2388,7 @@ escv_fill_mask(gx_device * dev,
+ if (!gx_dc_is_pure(pdcolor)) return_error(gs_error_rangecheck);
+ pdev->current_color = color;
+
+- (void)sprintf(obuf, ESC_GS "0;0;100spE" ESC_GS "1;1;%ldccE" ,color);
++ (void)gs_sprintf(obuf, ESC_GS "0;0;100spE" ESC_GS "1;1;%ldccE" ,color);
+ lputs(s, obuf);
+
+ if (vdev->x_pixels_per_inch == 1200) {
+@@ -2428,7 +2428,7 @@ escv_fill_mask(gx_device * dev,
+ memcpy(buf + i * width_bytes, data + (data_x >> 3) + i * raster, width_bytes);
+ }
+
+- (void)sprintf(obuf, ESC_GS "%d;%d;%d;%d;0db{F", num_bytes, (int)(id & VCACHE), w, h);
++ (void)gs_sprintf(obuf, ESC_GS "%d;%d;%d;%d;0db{F", num_bytes, (int)(id & VCACHE), w, h);
+ lputs(s, obuf);
+ put_bytes(s, buf, num_bytes);
+
+@@ -2436,9 +2436,9 @@ escv_fill_mask(gx_device * dev,
+ pdev -> id_cache[id & VCACHE] = id;
+ }
+
+- (void)sprintf(obuf, ESC_GS "%dX" ESC_GS "%dY", x, y);
++ (void)gs_sprintf(obuf, ESC_GS "%dX" ESC_GS "%dY", x, y);
+ lputs(s, obuf);
+- (void)sprintf(obuf, ESC_GS "%lddbF", id & VCACHE);
++ (void)gs_sprintf(obuf, ESC_GS "%lddbF", id & VCACHE);
+ lputs(s, obuf);
+
+ return 0;
+@@ -2603,7 +2603,7 @@ escv_begin_image(gx_device * dev,
+ if( 0 == pdev->colormode ) { /* ESC/Page (Monochrome) */
+
+ /* lputs(s, ESC_GS "1owE");*/
+- (void)sprintf(obuf, ESC_GS "1;1;%ldccE", color);
++ (void)gs_sprintf(obuf, ESC_GS "1;1;%ldccE", color);
+ lputs(s, obuf);
+
+ if (vdev->x_pixels_per_inch == 1200) {
+@@ -2908,7 +2908,7 @@ static void escv_write_begin(gx_device *
+
+ if( 0 == pdev->colormode ) { /* ESC/Page (Monochrome) */
+
+- (void)sprintf(obuf, ESC_GS "%dX" ESC_GS "%dY", x, y);
++ (void)gs_sprintf(obuf, ESC_GS "%dX" ESC_GS "%dY", x, y);
+ lputs(s, obuf);
+
+ comp = 10;
+@@ -2916,34 +2916,34 @@ static void escv_write_begin(gx_device *
+ if (bits == 1) {
+ if (strcmp(pdev->dname, "lp1800") == 0 ||
+ strcmp(pdev->dname, "lp9600") == 0) {
+- (void)sprintf(obuf, ESC_GS "0bcI");
++ (void)gs_sprintf(obuf, ESC_GS "0bcI");
+ }else{
+- (void)sprintf(obuf, ESC_GS "5;%d;%d;%d;%d;%dsrI", sw, sh, dw, dh, roll);
++ (void)gs_sprintf(obuf, ESC_GS "5;%d;%d;%d;%d;%dsrI", sw, sh, dw, dh, roll);
+ }
+ } else if (bits == 4) {
+ if (pdev -> c4map) {
+ pdev -> c4map = FALSE;
+ }
+- (void)sprintf(obuf, ESC_GS "1;1;1;0;%d;%d;%d;%d;%d;%dscrI", comp, sw, sh, dw, dh, roll);
++ (void)gs_sprintf(obuf, ESC_GS "1;1;1;0;%d;%d;%d;%d;%d;%dscrI", comp, sw, sh, dw, dh, roll);
+ } else if (bits == 8) {
+ if (pdev -> c8map) {
+ pdev -> c8map = FALSE;
+ }
+- (void)sprintf(obuf, ESC_GS "1;1;1;0;%d;%d;%d;%d;%d;%dscrI", comp, sw, sh, dw, dh, roll);
++ (void)gs_sprintf(obuf, ESC_GS "1;1;1;0;%d;%d;%d;%d;%d;%dscrI", comp, sw, sh, dw, dh, roll);
+ } else {
+ /* 24 bit */
+- (void)sprintf(obuf, ESC_GS "1;1;1;0;%d;%d;%d;%d;%d;%dscrI", comp, sw, sh, dw, dh, roll);
++ (void)gs_sprintf(obuf, ESC_GS "1;1;1;0;%d;%d;%d;%d;%d;%dscrI", comp, sw, sh, dw, dh, roll);
+ }
+
+ } else { /* ESC/Page-Color */
+
+- (void)sprintf(obuf, ESC_GS "%dX" ESC_GS "%dY", x, y);
++ (void)gs_sprintf(obuf, ESC_GS "%dX" ESC_GS "%dY", x, y);
+ lputs(s, obuf);
+
+ comp = 0;
+
+ if (bits == 1) {
+- (void)sprintf(obuf, ESC_GS "2;201;1;%d;%d;%d;%d;%d;%dscrI", comp, sw, sh, dw, dh, roll);
++ (void)gs_sprintf(obuf, ESC_GS "2;201;1;%d;%d;%d;%d;%d;%dscrI", comp, sw, sh, dw, dh, roll);
+ } else if (bits == 4) {
+ if (pdev -> c4map) {
+ /* ¥«¥é¡¼¥Þ¥Ã¥×ÅÐÏ¿ */
+@@ -2959,7 +2959,7 @@ static void escv_write_begin(gx_device *
+ gs_free_object(vdev->memory, tmp, "escv_write_begin(tmp4)");
+ pdev -> c4map = FALSE;
+ }
+- (void)sprintf(obuf, ESC_GS "2;203;2;%d;%d;%d;%d;%d;%dscrI", comp, sw, sh, dw, dh, roll);
++ (void)gs_sprintf(obuf, ESC_GS "2;203;2;%d;%d;%d;%d;%d;%dscrI", comp, sw, sh, dw, dh, roll);
+ } else if (bits == 8) {
+ if (pdev -> c8map) {
+ /* ¥«¥é¡¼¥Þ¥Ã¥×ÅÐÏ¿ */
+@@ -2975,10 +2975,10 @@ static void escv_write_begin(gx_device *
+ gs_free_object(vdev->memory, tmp, "escv_write_begin(tmp)");
+ pdev -> c8map = FALSE;
+ }
+- (void)sprintf(obuf, ESC_GS "2;204;4;%d;%d;%d;%d;%d;%dscrI", comp, sw, sh, dw, dh, roll);
++ (void)gs_sprintf(obuf, ESC_GS "2;204;4;%d;%d;%d;%d;%d;%dscrI", comp, sw, sh, dw, dh, roll);
+ } else {
+ /* 24 bit */
+- (void)sprintf(obuf, ESC_GS "2;102;0;%d;%d;%d;%d;%d;%dscrI", comp, sw, sh, dw, dh, roll);
++ (void)gs_sprintf(obuf, ESC_GS "2;102;0;%d;%d;%d;%d;%d;%dscrI", comp, sw, sh, dw, dh, roll);
+ }
+
+ } /* ESC/Page-Color */
+@@ -3045,12 +3045,12 @@ static void escv_write_data(gx_device *d
+ if(bits == 1){
+ if (strcmp(pdev->dname, "lp1800") == 0 || \
+ strcmp(pdev->dname, "lp9600") == 0) {
+- (void)sprintf(obuf, ESC_GS "%d;1;%d;%d;0db{I", bsize, w, ras);
++ (void)gs_sprintf(obuf, ESC_GS "%d;1;%d;%d;0db{I", bsize, w, ras);
+ }else{
+- (void)sprintf(obuf, ESC_GS "%d;%du{I", bsize, ras);
++ (void)gs_sprintf(obuf, ESC_GS "%d;%du{I", bsize, ras);
+ }
+ }else{
+- (void)sprintf(obuf, ESC_GS "%d;%dcu{I", bsize, ras);
++ (void)gs_sprintf(obuf, ESC_GS "%d;%dcu{I", bsize, ras);
+ }
+ lputs(s, obuf);
+
+@@ -3077,7 +3077,7 @@ static void escv_write_data(gx_device *d
+ buf = tmps;
+ }
+
+- (void)sprintf(obuf, ESC_GS "%d;%dcu{I", bsize, ras);
++ (void)gs_sprintf(obuf, ESC_GS "%d;%dcu{I", bsize, ras);
+ lputs(s, obuf);
+ put_bytes(s, buf, bsize);
+
+diff -up ghostscript-9.07/contrib/gdevcd8.c.gs_sprintf ghostscript-9.07/contrib/gdevcd8.c
+--- ghostscript-9.07/contrib/gdevcd8.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/contrib/gdevcd8.c 2013-05-09 17:02:39.092447197 +0100
+@@ -2439,7 +2439,7 @@ do_gcr(int bytecount, byte * inbyte, con
+ #if 0
+ if ((*cyan > 0) && (*magenta > 0) && (*yellow > 0))
+ {
+- sprintf(output, "%3d %3d %3d %3d - ", *cyan, *magenta, *yellow, *black);
++ gs_sprintf(output, "%3d %3d %3d %3d - ", *cyan, *magenta, *yellow, *black);
+ debug_print_string(output, strlen(output));
+ }
+ #endif /* 0 */
+@@ -2486,7 +2486,7 @@ do_gcr(int bytecount, byte * inbyte, con
+ #if 0
+ if (ucr > 0)
+ {
+- sprintf(output, "%3d %3d %3d %3d - %5d\n", *cyan, *magenta, *yellow, *black, ucr);
++ gs_sprintf(output, "%3d %3d %3d %3d - %5d\n", *cyan, *magenta, *yellow, *black, ucr);
+ debug_print_string(output, strlen(output));
+ }
+ #endif /* 0 */
+diff -up ghostscript-9.07/contrib/gdevdj9.c.gs_sprintf ghostscript-9.07/contrib/gdevdj9.c
+--- ghostscript-9.07/contrib/gdevdj9.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/contrib/gdevdj9.c 2013-05-09 17:02:39.092447197 +0100
+@@ -2563,7 +2563,7 @@ static int cdj970_write_header (gx_devic
+
+ memset (startbuffer, 0, 1260);
+
+- sprintf (&(startbuffer[600]), "\033E\033%%-12345X@PJL JOB NAME = \"GHOST BY RENE HARSCH\"\n@PJL ENTER LANGUAGE=PCL3GUI\n");
++ gs_sprintf (&(startbuffer[600]), "\033E\033%%-12345X@PJL JOB NAME = \"GHOST BY RENE HARSCH\"\n@PJL ENTER LANGUAGE=PCL3GUI\n");
+
+ fwrite (startbuffer, sizeof(char), 678, prn_stream);
+
+diff -up ghostscript-9.07/contrib/gdevhl12.c.gs_sprintf ghostscript-9.07/contrib/gdevhl12.c
+--- ghostscript-9.07/contrib/gdevhl12.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/contrib/gdevhl12.c 2013-05-09 17:02:39.092447197 +0100
+@@ -662,7 +662,7 @@ hl1250_print_page_copies(gx_device_print
+ (-120, 0) compared to the one in the ljet4 driver (-180, 36)
+ (X, Y coordinates here are specified in 1/720-inch units). */
+
+- sprintf(page_init, "\033&l-120U\033*r0F\033&u%dD%s", y_dpi, tray_pcl);
++ gs_sprintf(page_init, "\033&l-120U\033*r0F\033&u%dD%s", y_dpi, tray_pcl);
+ return dljet_mono_print_page_copies(pdev, prn_stream, num_copies,
+ y_dpi, PCL_LJ4_FEATURES,
+ page_init, page_init, false);
+diff -up ghostscript-9.07/contrib/gdevxes.c.gs_sprintf ghostscript-9.07/contrib/gdevxes.c
+--- ghostscript-9.07/contrib/gdevxes.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/contrib/gdevxes.c 2013-05-09 17:02:39.092447197 +0100
+@@ -173,7 +173,7 @@ sixel_print_page(gx_device_printer *pdev
+ if ( tmp[l] == last ) {
+ count++;
+ if (count==32767) {
+- run[sprintf(run, "%d", count)]='\0';
++ run[gs_sprintf(run, "%d", count)]='\0';
+ for (t=run; *t; t++)fputc( *t, prn_stream );
+ fputc( last, prn_stream );
+ last = '\0';
+@@ -186,7 +186,7 @@ sixel_print_page(gx_device_printer *pdev
+ case 0: break;
+ case 1: fputc( last, prn_stream );
+ break;
+- default:run[sprintf(run, "%d", count)]='\0';
++ default:run[gs_sprintf(run, "%d", count)]='\0';
+ for (t=run; *t; t++) fputc( *t, prn_stream );
+ fputc( last, prn_stream );
+ break;
+@@ -203,7 +203,7 @@ sixel_print_page(gx_device_printer *pdev
+ case 0: break;
+ case 1: fputc( last, prn_stream );
+ break;
+- default:run[sprintf(run, "%d", count)]='\0';
++ default:run[gs_sprintf(run, "%d", count)]='\0';
+ for (t=run; *t; t++) fputc( *t, prn_stream );
+ fputc( last, prn_stream );
+ break;
+diff -up ghostscript-9.07/contrib/gomni.c.gs_sprintf ghostscript-9.07/contrib/gomni.c
+--- ghostscript-9.07/contrib/gomni.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/contrib/gomni.c 2013-05-09 17:02:39.093447201 +0100
+@@ -790,7 +790,7 @@ SetupDevice (gx_device *pgxdev, gs_param
+ "Devicestring");
+ if (pszDeviceLib)
+ {
+- sprintf (pszDeviceLib, "%s%s", apszLibraryPaths[i], cOmnilib);
++ gs_sprintf (pszDeviceLib, "%s%s", apszLibraryPaths[i], cOmnilib);
+
+ pDev->hmodOmni = g_module_open (pszDeviceLib, (GModuleFlags)0);
+
+@@ -817,7 +817,7 @@ SetupDevice (gx_device *pgxdev, gs_param
+ "Devicestring");
+ if (pszDeviceLib)
+ {
+- sprintf (pszDeviceLib, "%s%s", apszLibraryPaths[i], cOmnilib);
++ gs_sprintf (pszDeviceLib, "%s%s", apszLibraryPaths[i], cOmnilib);
+
+ pModule = g_module_open (pszDeviceLib, (GModuleFlags)0);
+
+@@ -1053,7 +1053,7 @@ SetupDevice (gx_device *pgxdev, gs_param
+
+ if (pszDeviceLib)
+ {
+- sprintf (pszDeviceLib, "%s%s", apszLibraryPaths[i], cDialogName);
++ gs_sprintf (pszDeviceLib, "%s%s", apszLibraryPaths[i], cDialogName);
+
+ if (fDebugOutput) dprintf1 ("attempting to load - %s\n", pszDeviceLib);
+
+@@ -1079,7 +1079,7 @@ SetupDevice (gx_device *pgxdev, gs_param
+
+ if (pszDeviceLib)
+ {
+- sprintf (pszDeviceLib, "%s%s", apszLibraryPaths[i], cDialogName);
++ gs_sprintf (pszDeviceLib, "%s%s", apszLibraryPaths[i], cDialogName);
+
+ pModule = g_module_open (pszDeviceLib, (GModuleFlags)0);
+
+diff -up ghostscript-9.07/contrib/japanese/dviprlib.c.gs_sprintf ghostscript-9.07/contrib/japanese/dviprlib.c
+--- ghostscript-9.07/contrib/japanese/dviprlib.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/contrib/japanese/dviprlib.c 2013-05-09 17:02:39.093447201 +0100
+@@ -106,7 +106,7 @@ dviprt_read_S_cfg(dviprt_cfg_t *pcfg,dvi
+ goto not_cfg;
+ pcfg->version = rbuf[2] | ((uint)rbuf[3] << 8);
+ if (pcfg->version > CFG_VERSION) {
+- sprintf(dviprt_message_buffer,
++ gs_sprintf(dviprt_message_buffer,
+ "This *.CFG file is too new version(ver.%u).\n",pcfg->version);
+ dviprt_printcfgerror(pinfo,dviprt_message_buffer,-1);
+ return CFG_ERROR_OTHER;
+@@ -129,7 +129,7 @@ dviprt_read_S_cfg(dviprt_cfg_t *pcfg,dvi
+ if (n >= CFG_INTEGER_TYPE_COUNT) {
+ ptype = "integer";
+ unknown_no:
+- sprintf(dviprt_message_buffer,
++ gs_sprintf(dviprt_message_buffer,
+ "Unknown %s type value No.%d is found.\n",ptype,n);
+ dviprt_printcfgerror(pinfo,dviprt_message_buffer,-1);
+ return CFG_ERROR_OTHER;
+@@ -346,7 +346,7 @@ dviprt_read_QR_cfg(dviprt_cfg_t *pcfg,dv
+ ptr++;
+ break;
+ default:
+- sprintf(dviprt_message_buffer,"Unknown format %02X",type);
++ gs_sprintf(dviprt_message_buffer,"Unknown format %02X",type);
+ dviprt_printcfgerror(pinfo,dviprt_message_buffer,-1);
+ goto ex_func;
+ }
+@@ -587,7 +587,7 @@ dviprt_readsrc(char *fname,dviprt_cfg_t
+ while (*pbuf && isspace(*pbuf)) pbuf++;
+ if (pitem->spec_f) {
+ dviprt_printcfgerror(&info,NULL,0);
+- sprintf(dviprt_message_buffer,
++ gs_sprintf(dviprt_message_buffer,
+ "Item `%s' is specified twice.\n",pitem->name);
+ dviprt_printmessage(dviprt_message_buffer,-1);
+ code = CFG_ERROR_SYNTAX;
+@@ -691,7 +691,7 @@ dviprt_readsrc(char *fname,dviprt_cfg_t
+ code = 0;
+ for (pitem = dviprt_items;pitem->name;pitem++) {
+ if (!pitem->spec_f && pitem->req_f) {
+- sprintf(dviprt_message_buffer,"%s not found.\n",pitem->name);
++ gs_sprintf(dviprt_message_buffer,"%s not found.\n",pitem->name);
+ dviprt_printcfgerror(&info,dviprt_message_buffer,-1);
+ code++;
+ }
+@@ -749,14 +749,14 @@ dviprt_readsrc(char *fname,dviprt_cfg_t
+
+ for (pitem = dviprt_items;pitem->type>=0;pitem++) {
+ if (pitem->spec_f == 0) {
+- sprintf(dviprt_message_buffer,": %s:",pitem->name);
++ gs_sprintf(dviprt_message_buffer,": %s:",pitem->name);
+ switch (pitem->type) {
+ case T_INTEGER:
+ if (pcfg->integer[pitem->no] >= 0) {
+ uint v = pcfg->integer[pitem->no];
+ dviprt_printmessage(fname,-1);
+ dviprt_printmessage(dviprt_message_buffer,-1);
+- sprintf(dviprt_message_buffer," %d\n",v);
++ gs_sprintf(dviprt_message_buffer," %d\n",v);
+ dviprt_printmessage(dviprt_message_buffer,-1);
+ }
+ break;
+@@ -802,7 +802,7 @@ dviprt_set_integer(dviprt_cfg_item_t *pi
+ out_of_range:
+ dviprt_printtokenerror(pinfo,buf,strlen(buf),ERROR_OUTOFRANGE);
+ dviprt_printcfgerror(pinfo,"",-1);
+- sprintf(dviprt_message_buffer,
++ gs_sprintf(dviprt_message_buffer,
+ "(%u <= value <= %u).\n",(uint)min,(uint)max);
+ dviprt_printmessage(dviprt_message_buffer,-1);
+ return CFG_ERROR_RANGE;
+@@ -1108,10 +1108,10 @@ dviprt_set_rpexpr(dviprt_cfg_item_t *pit
+ pitem->no != CFG_AFTER_BIT_IMAGE) {
+ unavailable_value:
+ dviprt_printcfgerror(pinfo,"",-1);
+- sprintf(dviprt_message_buffer,"Variable `%c' in ",(int)*pbuf);
++ gs_sprintf(dviprt_message_buffer,"Variable `%c' in ",(int)*pbuf);
+ dviprt_printmessage(dviprt_message_buffer,-1);
+ dviprt_printmessage(pbuf,(int)(pend-pbuf));
+- sprintf(dviprt_message_buffer," cannot be used in %s.\n",pitem->name);
++ gs_sprintf(dviprt_message_buffer," cannot be used in %s.\n",pitem->name);
+ dviprt_printmessage(dviprt_message_buffer,-1);
+ return CFG_ERROR_RANGE;
+ }
+@@ -1144,7 +1144,7 @@ dviprt_set_rpexpr(dviprt_cfg_item_t *pit
+ case '^': op = CFG_OP_XOR; break;
+ default:
+ dviprt_printcfgerror(pinfo,NULL,0);
+- sprintf(dviprt_message_buffer,"Unknown operator %c in ",(int)*pbuf);
++ gs_sprintf(dviprt_message_buffer,"Unknown operator %c in ",(int)*pbuf);
+ dviprt_printmessage(dviprt_message_buffer,-1);
+ dviprt_printmessage(pbuf,(int)(pend-pbuf));
+ dviprt_printmessage(".\n",-1);
+@@ -1520,7 +1520,7 @@ dviprt_printcfgerrorheader(dviprt_cfg_i
+ dviprt_printmessage(fn,-1);
+ dviprt_printmessage(": ",-1);
+ if (pinfo->line_no>0) {
+- sprintf(dviprt_message_buffer,"%d: ",pinfo->line_no);
++ gs_sprintf(dviprt_message_buffer,"%d: ",pinfo->line_no);
+ dviprt_printmessage(dviprt_message_buffer,-1);
+ }
+ }
+@@ -2210,9 +2210,9 @@ dviprt_output_expr(dviprt_print *pprint,
+ if (cols == 0)
+ strcpy(fmtbuf,"%");
+ else
+- sprintf(fmtbuf,"%%0%d",cols);
++ gs_sprintf(fmtbuf,"%%0%d",cols);
+ strcat(fmtbuf,f);
+- sprintf(valbuf,fmtbuf,stack[stack_p]);
++ gs_sprintf(valbuf,fmtbuf,stack[stack_p]);
+ cols = strlen(valbuf);
+ if (fmt & CFG_FMT_ISO_BIT)
+ valbuf[cols-1] |= 0x10;
+diff -up ghostscript-9.07/contrib/japanese/gdevfmlbp.c.gs_sprintf ghostscript-9.07/contrib/japanese/gdevfmlbp.c
+--- ghostscript-9.07/contrib/japanese/gdevfmlbp.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/contrib/japanese/gdevfmlbp.c 2013-05-09 17:02:39.094447206 +0100
+@@ -112,7 +112,7 @@ gdev_fmlbp_paper_size(gx_device_printer
+ height_inches = t;
+ landscape = 1;
+ }
+- sprintf(paper, "%s;%d",
++ gs_sprintf(paper, "%s;%d",
+ (height_inches >= 15.9 ? PAPER_SIZE_A3 :
+ height_inches >= 11.8 ?
+ (width_inches >= 9.2 ? PAPER_SIZE_B4 : PAPER_SIZE_LEGAL) :
+@@ -136,7 +136,7 @@ static void goto_xy(FILE *prn_stream,int
+
+ fputc(CEX,prn_stream);
+ fputc('"',prn_stream);
+- sprintf(buff,"%d",x);
++ gs_sprintf((char *)buff,"%d",x);
+ while (*p)
+ {
+ if (!*(p+1)) fputc((*p)+0x30,prn_stream);
+@@ -146,7 +146,7 @@ static void goto_xy(FILE *prn_stream,int
+ }
+
+ p=buff;
+- sprintf(buff,"%d",y);
++ gs_sprintf((char *)buff,"%d",y);
+ while (*p)
+ {
+ if (!*(p+1)) fputc((*p)+0x40,prn_stream);
+diff -up ghostscript-9.07/contrib/japanese/gdevfmpr.c.gs_sprintf ghostscript-9.07/contrib/japanese/gdevfmpr.c
+--- ghostscript-9.07/contrib/japanese/gdevfmpr.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/contrib/japanese/gdevfmpr.c 2013-05-09 17:02:39.094447206 +0100
+@@ -184,13 +184,13 @@ fmpr_print_page(gx_device_printer *pdev,
+ }
+ out_beg -= (out_beg - out) % bytes_per_column;
+
+- sprintf(prn_buf, "\033[%da",
++ gs_sprintf(prn_buf, "\033[%da",
+ (out_beg - out) / bytes_per_column);
+ prn_puts(pdev, prn_buf);
+
+ /* Dot graphics */
+ size = out_end - out_beg + 1;
+- sprintf(prn_buf, "\033Q%d W", size / bytes_per_column);
++ gs_sprintf(prn_buf, "\033Q%d W", size / bytes_per_column);
+ prn_puts(pdev, prn_buf);
+ prn_write(pdev, out_beg, size);
+
+diff -up ghostscript-9.07/contrib/japanese/gdevj100.c.gs_sprintf ghostscript-9.07/contrib/japanese/gdevj100.c
+--- ghostscript-9.07/contrib/japanese/gdevj100.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/contrib/japanese/gdevj100.c 2013-05-09 17:02:39.094447206 +0100
+@@ -128,12 +128,12 @@ jj100_print_page(gx_device_printer *pdev
+
+ /* Vertical tab to the appropriate position. */
+ while(skip > 15) {
+- sprintf(prn_buf, "\037%c", 16 + 15);
++ gs_sprintf(prn_buf, "\037%c", 16 + 15);
+ fputs(prn_buf, pdev->file);
+ skip -= 15;
+ }
+ if(skip > 0) {
+- sprintf(prn_buf, "\037%c", 16 + skip);
++ gs_sprintf(prn_buf, "\037%c", 16 + skip);
+ fputs(prn_buf, pdev->file);
+ }
+
+@@ -170,13 +170,13 @@ jj100_print_page(gx_device_printer *pdev
+ out_beg -= (out_beg - out) % (bytes_per_column * 2);
+
+ /* Dot addressing */
+- sprintf(prn_buf, "\033F%04d",
++ gs_sprintf(prn_buf, "\033F%04d",
+ (out_beg - out) / bytes_per_column / 2);
+ fputs(prn_buf, pdev->file);
+
+ /* Dot graphics */
+ size = out_end - out_beg + 1;
+- sprintf(prn_buf, "\034bP,48,%04d.", size / bytes_per_column);
++ gs_sprintf(prn_buf, "\034bP,48,%04d.", size / bytes_per_column);
+ fputs(prn_buf, pdev->file);
+ fwrite(out_beg, 1, size, pdev->file);
+
+diff -up ghostscript-9.07/contrib/japanese/gdevlbp3.c.gs_sprintf ghostscript-9.07/contrib/japanese/gdevlbp3.c
+--- ghostscript-9.07/contrib/japanese/gdevlbp3.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/contrib/japanese/gdevlbp3.c 2013-05-09 17:02:39.094447206 +0100
+@@ -81,7 +81,7 @@ lbp310PrintPage(gx_device_printer *pDev,
+ DataSize = CompressImage(pDev, &Box, fp, "\x1b[1;%d;%d;11;%d;.r");
+
+ /* ----==== Set size ====---- */
+- sprintf(Buf, "0%ld", DataSize);
++ gs_sprintf((char *)Buf, "0%ld", DataSize);
+ i = (DataSize+strlen(Buf)+1)&1;
+ /* ----==== escape to LIPS ====---- */
+ fprintf(fp, "\x80%s\x80\x80\x80\x80\x0c",Buf+i);
+@@ -110,7 +110,7 @@ lbp320PrintPage(gx_device_printer *pDev,
+ DataSize = CompressImage(pDev, &Box, fp, "\x1b[1;%d;%d;11;%d;.&r");
+
+ /* ----==== Set size ====---- */
+- sprintf(Buf, "000%ld", DataSize);
++ gs_sprintf((char *)Buf, "000%ld", DataSize);
+ i = (DataSize+strlen(Buf)+1)&3;
+ /* ----==== escape to LIPS ====---- */
+ fprintf(fp, "\x80%s\x80\x80\x80\x80\x0c",Buf+i);
+diff -up ghostscript-9.07/contrib/japanese/gdevmag.c.gs_sprintf ghostscript-9.07/contrib/japanese/gdevmag.c
+--- ghostscript-9.07/contrib/japanese/gdevmag.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/contrib/japanese/gdevmag.c 2013-05-09 17:02:39.094447206 +0100
+@@ -137,8 +137,8 @@ mag_print_page(gx_device_printer *pdev,
+
+ if (user == 0) user = "Unknown";
+ strcpy(check,magic);
+- sprintf(check+strlen(check),"%-18s",user);
+- sprintf(check+31," Ghostscript with %s driver\x1a", pdev->dname);
++ gs_sprintf(check+strlen(check),"%-18s",user);
++ gs_sprintf(check+31," Ghostscript with %s driver\x1a", pdev->dname);
+
+ /* check sizes of flag and pixel data. */
+ pixel_bytes = 0;
+diff -up ghostscript-9.07/contrib/japanese/gdevnpdl.c.gs_sprintf ghostscript-9.07/contrib/japanese/gdevnpdl.c
+--- ghostscript-9.07/contrib/japanese/gdevnpdl.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/contrib/japanese/gdevnpdl.c 2013-05-09 17:02:39.094447206 +0100
+@@ -592,31 +592,31 @@ npdl_print_page_copies(gx_device_printer
+ /* Check paper size */
+ switch (npdl_get_paper_size((gx_device *) pdev)) {
+ case PAPER_SIZE_POSTCARD:
+- sprintf(paper_command, "PC");
++ gs_sprintf(paper_command, "PC");
+ break;
+ case PAPER_SIZE_A5:
+- sprintf(paper_command, "A5");
++ gs_sprintf(paper_command, "A5");
+ break;
+ case PAPER_SIZE_A4:
+- sprintf(paper_command, "A4");
++ gs_sprintf(paper_command, "A4");
+ break;
+ case PAPER_SIZE_A3:
+- sprintf(paper_command, "A3");
++ gs_sprintf(paper_command, "A3");
+ break;
+ case PAPER_SIZE_B5:
+- sprintf(paper_command, "B5");
++ gs_sprintf(paper_command, "B5");
+ break;
+ case PAPER_SIZE_B4:
+- sprintf(paper_command, "B4");
++ gs_sprintf(paper_command, "B4");
+ break;
+ case PAPER_SIZE_LETTER:
+- sprintf(paper_command, "LT");
++ gs_sprintf(paper_command, "LT");
+ break;
+ case PAPER_SIZE_ENV4:
+- sprintf(paper_command, "ENV4");
++ gs_sprintf(paper_command, "ENV4");
+ break;
+ case PAPER_SIZE_BPOSTCARD:
+- sprintf(paper_command, "UPPC");
++ gs_sprintf(paper_command, "UPPC");
+ break;
+ }
+
+diff -up ghostscript-9.07/contrib/lips4/gdevl4r.c.gs_sprintf ghostscript-9.07/contrib/lips4/gdevl4r.c
+--- ghostscript-9.07/contrib/lips4/gdevl4r.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/contrib/lips4/gdevl4r.c 2013-05-09 17:02:39.095447210 +0100
+@@ -775,9 +775,9 @@ lips2p_image_out(gx_device_printer * pde
+ move_cap(pdev, prn_stream, x, y);
+
+ Len = lips_mode3format_encode(lprn->TmpBuf, lprn->CompBuf, width / 8 * height);
+- sprintf(raw_str, "%c%d;%d;%d.r", LIPS_CSI,
++ gs_sprintf(raw_str, "%c%d;%d;%d.r", LIPS_CSI,
+ width / 8 * height, width / 8, (int)pdev->x_pixels_per_inch);
+- sprintf(comp_str, "%c%d;%d;%d;9;%d.r", LIPS_CSI,
++ gs_sprintf(comp_str, "%c%d;%d;%d;9;%d.r", LIPS_CSI,
+ Len, width / 8, (int)pdev->x_pixels_per_inch, height);
+
+ if (Len < width / 8 * height - strlen(comp_str) + strlen(raw_str)) {
+@@ -806,11 +806,11 @@ lips4_image_out(gx_device_printer * pdev
+ Len = lips_packbits_encode(lprn->TmpBuf, lprn->CompBuf, width / 8 * height);
+ Len_rle = lips_rle_encode(lprn->TmpBuf, lprn->CompBuf2, width / 8 * height);
+
+- sprintf(raw_str, "%c%d;%d;%d.r", LIPS_CSI,
++ gs_sprintf(raw_str, "%c%d;%d;%d.r", LIPS_CSI,
+ width / 8 * height, width / 8, (int)pdev->x_pixels_per_inch);
+
+ if (Len < Len_rle) {
+- sprintf(comp_str, "%c%d;%d;%d;11;%d.r", LIPS_CSI,
++ gs_sprintf(comp_str, "%c%d;%d;%d;11;%d.r", LIPS_CSI,
+ Len, width / 8, (int)pdev->x_pixels_per_inch, height);
+ if (Len < width / 8 * height - strlen(comp_str) + strlen(raw_str)) {
+ fprintf(prn_stream, "%s", comp_str);
+@@ -821,7 +821,7 @@ lips4_image_out(gx_device_printer * pdev
+ fwrite(lprn->TmpBuf, 1, width / 8 * height, prn_stream);
+ }
+ } else {
+- sprintf(comp_str, "%c%d;%d;%d;10;%d.r", LIPS_CSI,
++ gs_sprintf(comp_str, "%c%d;%d;%d;10;%d.r", LIPS_CSI,
+ Len, width / 8, (int)pdev->x_pixels_per_inch, height);
+ if (Len_rle < width / 8 * height - strlen(comp_str) + strlen(raw_str)) {
+ fprintf(prn_stream, "%s", comp_str);
+diff -up ghostscript-9.07/contrib/lips4/gdevl4v.c.gs_sprintf ghostscript-9.07/contrib/lips4/gdevl4v.c
+--- ghostscript-9.07/contrib/lips4/gdevl4v.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/contrib/lips4/gdevl4v.c 2013-05-09 17:02:39.095447210 +0100
+@@ -459,17 +459,17 @@ lips4v_set_cap(gx_device * dev, int x, i
+ int dy = y - pdev->prev_y;
+
+ if (dx > 0) {
+- sprintf(cap, "%c%da", LIPS_CSI, dx);
++ gs_sprintf(cap, "%c%da", LIPS_CSI, dx);
+ lputs(s, cap);
+ } else if (dx < 0) {
+- sprintf(cap, "%c%dj", LIPS_CSI, -dx);
++ gs_sprintf(cap, "%c%dj", LIPS_CSI, -dx);
+ lputs(s, cap);
+ }
+ if (dy > 0) {
+- sprintf(cap, "%c%dk", LIPS_CSI, dy);
++ gs_sprintf(cap, "%c%dk", LIPS_CSI, dy);
+ lputs(s, cap);
+ } else if (dy < 0) {
+- sprintf(cap, "%c%de", LIPS_CSI, -dy);
++ gs_sprintf(cap, "%c%de", LIPS_CSI, -dy);
+ lputs(s, cap);
+ }
+ pdev->prev_x = x;
+@@ -544,10 +544,10 @@ lips4v_copy_text_char(gx_device * dev, c
+ if (download) {
+ if (ccode % 128 == 0 && ccode == pdev->count) {
+ /* ʸ»ú¥»¥Ã¥ÈÅÐÏ¿Êä½õÌ¿Îá */
+- sprintf(cset_sub, "%c%dx%c", LIPS_DCS, ccode / 128, LIPS_ST);
++ gs_sprintf(cset_sub, "%c%dx%c", LIPS_DCS, ccode / 128, LIPS_ST);
+ lputs(s, cset_sub);
+ /* ʸ»ú¥»¥Ã¥ÈÅÐÏ¿Ì¿Îá */
+- sprintf(cset,
++ gs_sprintf(cset,
+ "%c%d;1;0;0;3840;8;400;100;0;0;200;%d;%d;0;0;;;;;%d.p",
+ LIPS_CSI,
+ size + 9, cell_length, /* Cell Width */
+@@ -556,7 +556,7 @@ lips4v_copy_text_char(gx_device * dev, c
+ lputs(s, cset);
+ } else {
+ /* 1ʸ»úÅÐÏ¿Ì¿Îá */
+- sprintf(cset,
++ gs_sprintf(cset,
+ "%c%d;%d;8;%d.q", LIPS_CSI,
+ size + 9, ccode / 128, (int)dev->x_pixels_per_inch);
+ lputs(s, cset);
+@@ -575,13 +575,13 @@ lips4v_copy_text_char(gx_device * dev, c
+ /* ʸ»ú¥»¥Ã¥È¡¦¥¢¥µ¥¤¥óÈÖ¹æÁªÂòÌ¿Îá2 */
+ if (download) {
+ if (pdev->current_font != ccode / 128) {
+- sprintf(cset_number, "%c%d%%v", LIPS_CSI, ccode / 128);
++ gs_sprintf(cset_number, "%c%d%%v", LIPS_CSI, ccode / 128);
+ lputs(s, cset_number);
+ pdev->current_font = ccode / 128;
+ }
+ } else {
+ if (pdev->current_font != ccode / 128) {
+- sprintf(cset_number, "%c%d%%v", LIPS_CSI, ccode / 128);
++ gs_sprintf(cset_number, "%c%d%%v", LIPS_CSI, ccode / 128);
+ lputs(s, cset_number);
+ pdev->current_font = ccode / 128;
+ }
+@@ -592,7 +592,7 @@ lips4v_copy_text_char(gx_device * dev, c
+ if (pdev->color_info.depth == 8) {
+ sputc(s, LIPS_CSI);
+ lputs(s, "?10;2;");
+- sprintf(text_color, "%d",
++ gs_sprintf(text_color, "%d",
+ (int)(pdev->color_info.max_gray - pdev->current_color));
+ } else {
+ int r = (pdev->current_color >> 16) * 1000.0 / 255.0;
+@@ -601,7 +601,7 @@ lips4v_copy_text_char(gx_device * dev, c
+
+ sputc(s, LIPS_CSI);
+ lputs(s, "?10;;");
+- sprintf(text_color, "%d;%d;%d", r, g, b);
++ gs_sprintf(text_color, "%d;%d;%d", r, g, b);
+ }
+ lputs(s, text_color);
+ lputs(s, "%p");
+@@ -717,16 +717,16 @@ lips4v_beginpage(gx_device_vector * vdev
+ lputs(s, "@PJL SET RESOLUTION = QUICK\n");
+ lputs(s, l4v_file_header2);
+ if (pdev->toner_density) {
+- sprintf(toner_d, "@PJL SET TONER-DENSITY=%d\n",
++ gs_sprintf(toner_d, "@PJL SET TONER-DENSITY=%d\n",
+ pdev->toner_density);
+ lputs(s, toner_d);
+ }
+ if (pdev->toner_saving_set) {
+ lputs(s, "@PJL SET TONER-SAVING=");
+ if (pdev->toner_saving)
+- sprintf(toner_s, "ON\n");
++ gs_sprintf(toner_s, "ON\n");
+ else
+- sprintf(toner_s, "OFF\n");
++ gs_sprintf(toner_s, "OFF\n");
+ lputs(s, toner_s);
+ }
+ lputs(s, l4v_file_header3);
+@@ -737,7 +737,7 @@ lips4v_beginpage(gx_device_vector * vdev
+ return_error(gs_error_rangecheck);
+
+ /* set reaolution (dpi) */
+- sprintf(dpi_char, "%d", dpi);
++ gs_sprintf(dpi_char, "%d", dpi);
+ lputs(s, dpi_char);
+
+ if (pdev->color_info.depth == 8)
+@@ -746,7 +746,7 @@ lips4v_beginpage(gx_device_vector * vdev
+ lputs(s, l4vcolor_file_header);
+
+ /* username */
+- sprintf(username, "%c2y%s%c", LIPS_DCS, pdev->Username, LIPS_ST);
++ gs_sprintf(username, "%c2y%s%c", LIPS_DCS, pdev->Username, LIPS_ST);
+ lputs(s, username);
+ }
+ if (strcmp(pdev->mediaType, "PlainPaper") == 0) {
+@@ -773,13 +773,13 @@ lips4v_beginpage(gx_device_vector * vdev
+ && strcmp(pdev->mediaType, LIPS_MEDIATYPE_DEFAULT) != 0)) {
+ /* Use ManualFeed */
+ if (pdev->prev_feed_mode != 10) {
+- sprintf(feedmode, "%c10q", LIPS_CSI);
++ gs_sprintf(feedmode, "%c10q", LIPS_CSI);
+ lputs(s, feedmode);
+ pdev->prev_feed_mode = 10;
+ }
+ } else {
+ if (pdev->prev_feed_mode != pdev->cassetFeed) {
+- sprintf(feedmode, "%c%dq", LIPS_CSI, pdev->cassetFeed);
++ gs_sprintf(feedmode, "%c%dq", LIPS_CSI, pdev->cassetFeed);
+ lputs(s, feedmode);
+ pdev->prev_feed_mode = pdev->cassetFeed;
+ }
+@@ -791,10 +791,10 @@ lips4v_beginpage(gx_device_vector * vdev
+ if (pdev->prev_paper_size != paper_size) {
+ if (paper_size == USER_SIZE) {
+ /* modified by shige 06/27 2003
+- sprintf(paper, "%c80;%d;%dp", LIPS_CSI, width * 10, height * 10); */
++ gs_sprintf(paper, "%c80;%d;%dp", LIPS_CSI, width * 10, height * 10); */
+ /* modified by shige 11/09 2003
+- sprintf(paper, "%c80;%d;%dp", LIPS_CSI, height * 10, width * 10); */
+- sprintf(paper, "%c80;%d;%dp", LIPS_CSI,
++ gs_sprintf(paper, "%c80;%d;%dp", LIPS_CSI, height * 10, width * 10); */
++ gs_sprintf(paper, "%c80;%d;%dp", LIPS_CSI,
+ (height * 10 > LIPS_HEIGHT_MAX_720)?
+ LIPS_HEIGHT_MAX_720 : (height * 10),
+ (width * 10 > LIPS_WIDTH_MAX_720)?
+@@ -802,27 +802,27 @@ lips4v_beginpage(gx_device_vector * vdev
+ lputs(s, paper);
+ } else if (paper_size == USER_SIZE + LANDSCAPE) {
+ /* modified by shige 06/27 2003
+- sprintf(paper, "%c81;%d;%dp", LIPS_CSI, height * 10, width * 10); */
++ gs_sprintf(paper, "%c81;%d;%dp", LIPS_CSI, height * 10, width * 10); */
+ /* modified by shige 11/09 2003
+- sprintf(paper, "%c81;%d;%dp", LIPS_CSI, width * 10, height * 10); */
+- sprintf(paper, "%c80;%d;%dp", LIPS_CSI,
++ gs_sprintf(paper, "%c81;%d;%dp", LIPS_CSI, width * 10, height * 10); */
++ gs_sprintf(paper, "%c80;%d;%dp", LIPS_CSI,
+ (width * 10 > LIPS_HEIGHT_MAX_720)?
+ LIPS_HEIGHT_MAX_720 : (width * 10),
+ (height * 10 > LIPS_WIDTH_MAX_720)?
+ LIPS_WIDTH_MAX_720 : (height * 10));
+ lputs(s, paper);
+ } else {
+- sprintf(paper, "%c%dp", LIPS_CSI, paper_size);
++ gs_sprintf(paper, "%c%dp", LIPS_CSI, paper_size);
+ lputs(s, paper);
+ }
+ } else if (paper_size == USER_SIZE) {
+ if (pdev->prev_paper_width != width ||
+ pdev->prev_paper_height != height)
+ /* modified by shige 06/27 2003
+- sprintf(paper, "%c80;%d;%dp", LIPS_CSI, width * 10, height * 10); */
++ gs_sprintf(paper, "%c80;%d;%dp", LIPS_CSI, width * 10, height * 10); */
+ /* modified by shige 11/09 2003
+- sprintf(paper, "%c80;%d;%dp", LIPS_CSI, height * 10, width * 10); */
+- sprintf(paper, "%c80;%d;%dp", LIPS_CSI,
++ gs_sprintf(paper, "%c80;%d;%dp", LIPS_CSI, height * 10, width * 10); */
++ gs_sprintf(paper, "%c80;%d;%dp", LIPS_CSI,
+ (height * 10 > LIPS_HEIGHT_MAX_720)?
+ LIPS_HEIGHT_MAX_720 : (height * 10),
+ (width * 10 > LIPS_WIDTH_MAX_720)?
+@@ -832,10 +832,10 @@ lips4v_beginpage(gx_device_vector * vdev
+ if (pdev->prev_paper_width != width ||
+ pdev->prev_paper_height != height)
+ /* modified by shige 06/27 2003
+- sprintf(paper, "%c81;%d;%dp", LIPS_CSI, height * 10, width * 10); */
++ gs_sprintf(paper, "%c81;%d;%dp", LIPS_CSI, height * 10, width * 10); */
+ /* modified by shige 11/09 2003
+- sprintf(paper, "%c81;%d;%dp", LIPS_CSI, width * 10, height * 10); */
+- sprintf(paper, "%c80;%d;%dp", LIPS_CSI,
++ gs_sprintf(paper, "%c81;%d;%dp", LIPS_CSI, width * 10, height * 10); */
++ gs_sprintf(paper, "%c80;%d;%dp", LIPS_CSI,
+ (width * 10 > LIPS_HEIGHT_MAX_720)?
+ LIPS_HEIGHT_MAX_720 : (width * 10),
+ (height * 10 > LIPS_WIDTH_MAX_720)?
+@@ -847,32 +847,32 @@ lips4v_beginpage(gx_device_vector * vdev
+ pdev->prev_paper_height = height;
+
+ if (pdev->faceup) {
+- sprintf(faceup_char, "%c11;12;12~", LIPS_CSI);
++ gs_sprintf(faceup_char, "%c11;12;12~", LIPS_CSI);
+ lputs(s, faceup_char);
+ }
+ /* N-up Printing Setting */
+ if (pdev->first_page) {
+ if (pdev->nup != 1) {
+- sprintf(nup_char, "%c%d1;;%do", LIPS_CSI, pdev->nup, paper_size);
++ gs_sprintf(nup_char, "%c%d1;;%do", LIPS_CSI, pdev->nup, paper_size);
+ lputs(s, nup_char);
+ }
+ }
+ /* Duplex Setting */
+ if (dupset && dup) {
+ if (pdev->prev_duplex_mode == 0 || pdev->prev_duplex_mode == 1) {
+- sprintf(duplex_char, "%c2;#x", LIPS_CSI); /* duplex */
++ gs_sprintf(duplex_char, "%c2;#x", LIPS_CSI); /* duplex */
+ lputs(s, duplex_char);
+ if (!tum) {
+ /* long edge binding */
+ if (pdev->prev_duplex_mode != 2) {
+- sprintf(tumble_char, "%c0;#w", LIPS_CSI);
++ gs_sprintf(tumble_char, "%c0;#w", LIPS_CSI);
+ lputs(s, tumble_char);
+ }
+ pdev->prev_duplex_mode = 2;
+ } else {
+ /* short edge binding */
+ if (pdev->prev_duplex_mode != 3) {
+- sprintf(tumble_char, "%c2;#w", LIPS_CSI);
++ gs_sprintf(tumble_char, "%c2;#w", LIPS_CSI);
+ lputs(s, tumble_char);
+ }
+ pdev->prev_duplex_mode = 3;
+@@ -880,7 +880,7 @@ lips4v_beginpage(gx_device_vector * vdev
+ }
+ } else if (dupset && !dup) {
+ if (pdev->prev_duplex_mode != 1) {
+- sprintf(duplex_char, "%c0;#x", LIPS_CSI); /* simplex */
++ gs_sprintf(duplex_char, "%c0;#x", LIPS_CSI); /* simplex */
+ lputs(s, duplex_char);
+ }
+ pdev->prev_duplex_mode = 1;
+@@ -893,9 +893,9 @@ lips4v_beginpage(gx_device_vector * vdev
+ /* size unit (dpi) */
+ sputc(s, LIPS_CSI);
+ lputs(s, "11h");
+- sprintf(unit, "%c?7;%d I", LIPS_CSI, (int)pdev->x_pixels_per_inch);
++ gs_sprintf(unit, "%c?7;%d I", LIPS_CSI, (int)pdev->x_pixels_per_inch);
+ lputs(s, unit);
+- sprintf(page_header, "%c[0&}#%c", LIPS_ESC, LIPS_IS2);
++ gs_sprintf(page_header, "%c[0&}#%c", LIPS_ESC, LIPS_IS2);
+ lputs(s, page_header); /* vector mode */
+
+ lputs(s, "!0"); /* size unit (dpi) */
+@@ -904,10 +904,10 @@ lips4v_beginpage(gx_device_vector * vdev
+ sputc(s, LIPS_IS2);
+
+ if (pdev->color_info.depth == 8) {
+- sprintf(l4vmono_page_header, "!13%c$%c", LIPS_IS2, LIPS_IS2);
++ gs_sprintf(l4vmono_page_header, "!13%c$%c", LIPS_IS2, LIPS_IS2);
+ lputs(s, l4vmono_page_header);
+ } else {
+- sprintf(l4vcolor_page_header, "!11%c$%c", LIPS_IS2, LIPS_IS2);
++ gs_sprintf(l4vcolor_page_header, "!11%c$%c", LIPS_IS2, LIPS_IS2);
+ lputs(s, l4vcolor_page_header);
+ }
+
+@@ -1010,7 +1010,7 @@ lips4v_setlinecap(gx_device_vector * vde
+ break;
+ }
+ /* Àþü·Á¾õ»ØÄêÌ¿Îá */
+- sprintf(c, "}E%d%c", line_cap, LIPS_IS2);
++ gs_sprintf(c, "}E%d%c", line_cap, LIPS_IS2);
+ lputs(s, c);
+
+ pdev->linecap = cap;
+@@ -1050,7 +1050,7 @@ lips4v_setlinejoin(gx_device_vector * vd
+ break;
+ }
+
+- sprintf(c, "}F%d%c", lips_join, LIPS_IS2);
++ gs_sprintf(c, "}F%d%c", lips_join, LIPS_IS2);
+ lputs(s, c);
+
+ return 0;
+@@ -1486,7 +1486,7 @@ lips4v_output_page(gx_device * dev, int
+ if (num_copies > 255)
+ num_copies = 255;
+ if (pdev->prev_num_copies != num_copies) {
+- sprintf(str, "%c%dv", LIPS_CSI, num_copies);
++ gs_sprintf(str, "%c%dv", LIPS_CSI, num_copies);
+ lputs(s, str);
+ pdev->prev_num_copies = num_copies;
+ }
+diff -up ghostscript-9.07/contrib/pcl3/src/gdevpcl3.c.gs_sprintf ghostscript-9.07/contrib/pcl3/src/gdevpcl3.c
+--- ghostscript-9.07/contrib/pcl3/src/gdevpcl3.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/contrib/pcl3/src/gdevpcl3.c 2013-05-09 17:02:39.095447210 +0100
+@@ -302,7 +302,7 @@ static void get_string_for_int(int in_va
+ else {
+ static char buffer[22]; /* Must be sufficient for an 'int' */
+
+- sprintf(buffer, "%d", in_value);
++ gs_sprintf(buffer, "%d", in_value);
+ assert(strlen(buffer) < sizeof(buffer));
+ out_value->data = (const byte *)buffer;
+ out_value->size = strlen(buffer);
+diff -up ghostscript-9.07/cups/gdevcups.c.gs_sprintf ghostscript-9.07/cups/gdevcups.c
+--- ghostscript-9.07/cups/gdevcups.c.gs_sprintf 2013-05-09 17:02:39.048447008 +0100
++++ ghostscript-9.07/cups/gdevcups.c 2013-05-09 17:02:39.096447214 +0100
+@@ -60,6 +60,9 @@
+ * cups_print_planar() - Print a page of planar pixels.
+ */
+
++/* prevent gp.h redefining fopen */
++#define sprintf sprintf
++
+ /*
+ * Include necessary headers...
+ */
+diff -up ghostscript-9.07/base/Makefile.in.gs_sprintf ghostscript-9.07/base/Makefile.in
+--- ghostscript-9.07/base/Makefile.in.gs_sprintf 2013-05-09 17:02:46.190477741 +0100
++++ ghostscript-9.07/base/Makefile.in 2013-05-09 17:03:22.377633508 +0100
+@@ -302,6 +302,8 @@ LCUPSISRCDIR=cups
+ CUPS_CC=$(CC)
+
+
++TRIOSRCDIR=trio
++
+ # Define how to build the library archives. (These are not used in any
+ # standard configuration.)
+
+@@ -583,6 +585,7 @@ MAKEDIRSTOP=
+ INSTALL_CONTRIB=@INSTALL_CONTRIB@
+ include $(GLSRCDIR)/unixhead.mak
+ include $(GLSRCDIR)/gs.mak
++include $(GLSRCDIR)/trio.mak
+ # psromfs.mak must precede lib.mak
+ include $(PSSRCDIR)/psromfs.mak
+ include $(GLSRCDIR)/lib.mak
+diff -up ghostscript-9.07/psi/dmmain.c.gs_sprintf ghostscript-9.07/psi/dmmain.c
+--- ghostscript-9.07/psi/dmmain.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/psi/dmmain.c 2013-05-09 17:02:39.096447214 +0100
+@@ -644,8 +644,8 @@ void main(void)
+ argv[1] = ddevice;
+ argv[2] = dformat;
+
+- sprintf(ddevice, "-sDEVICE=display");
+- sprintf(dformat, "-dDisplayFormat=%d", display_format);
++ gs_sprintf(ddevice, "-sDEVICE=display");
++ gs_sprintf(dformat, "-dDisplayFormat=%d", display_format);
+
+ /* Run Ghostscript */
+ if (gsapi_new_instance(&instance, NULL) < 0)
+diff -up ghostscript-9.07/psi/dpmain.c.gs_sprintf ghostscript-9.07/psi/dpmain.c
+--- ghostscript-9.07/psi/dpmain.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/psi/dpmain.c 2013-05-09 17:02:39.097447219 +0100
+@@ -100,9 +100,9 @@ gs_free_dll(void)
+ return TRUE;
+ rc = DosFreeModule(gsdll.hmodule);
+ if (rc) {
+- sprintf(buf, "DosFreeModule returns %d\n", rc);
++ gs_sprintf(buf, "DosFreeModule returns %d\n", rc);
+ gs_addmess(buf);
+- sprintf(buf, "Unloaded GSDLL\n\n");
++ gs_sprintf(buf, "Unloaded GSDLL\n\n");
+ gs_addmess(buf);
+ }
+ return !rc;
+@@ -150,7 +150,7 @@ gs_load_dll(void)
+ dllname = szDllName;
+ #ifdef DEBUG
+ if (debug) {
+- sprintf(buf, "Trying to load %s\n", dllname);
++ gs_sprintf(buf, "Trying to load %s\n", dllname);
+ gs_addmess(buf);
+ }
+ #endif
+@@ -172,7 +172,7 @@ gs_load_dll(void)
+ dllname = fullname;
+ #ifdef DEBUG
+ if (debug) {
+- sprintf(buf, "Trying to load %s\n", dllname);
++ gs_sprintf(buf, "Trying to load %s\n", dllname);
+ gs_addmess(buf);
+ }
+ #endif
+@@ -183,7 +183,7 @@ gs_load_dll(void)
+ dllname = shortname;
+ #ifdef DEBUG
+ if (debug) {
+- sprintf(buf, "Trying to load %s\n", dllname);
++ gs_sprintf(buf, "Trying to load %s\n", dllname);
+ gs_addmess(buf);
+ }
+ #endif
+@@ -197,21 +197,21 @@ gs_load_dll(void)
+ #endif
+ if ((rc = DosQueryProcAddr(gsdll.hmodule, 0, "GSAPI_REVISION",
+ (PFN *) (&gsdll.revision))) != 0) {
+- sprintf(buf, "Can't find GSAPI_REVISION, rc = %d\n", rc);
++ gs_sprintf(buf, "Can't find GSAPI_REVISION, rc = %d\n", rc);
+ gs_addmess(buf);
+ gs_load_dll_cleanup();
+ return FALSE;
+ }
+ /* check DLL version */
+ if (gsdll.revision(&rv, sizeof(rv)) != 0) {
+- sprintf(buf, "Unable to identify Ghostscript DLL revision - it must be newer than needed.\n");
++ gs_sprintf(buf, "Unable to identify Ghostscript DLL revision - it must be newer than needed.\n");
+ gs_addmess(buf);
+ gs_load_dll_cleanup();
+ return FALSE;
+ }
+
+ if (rv.revision != GS_REVISION) {
+- sprintf(buf, "Wrong version of DLL found.\n Found version %ld\n Need version %ld\n", rv.revision, (long)GS_REVISION);
++ gs_sprintf(buf, "Wrong version of DLL found.\n Found version %ld\n Need version %ld\n", rv.revision, (long)GS_REVISION);
+ gs_addmess(buf);
+ gs_load_dll_cleanup();
+ return FALSE;
+@@ -219,35 +219,35 @@ gs_load_dll(void)
+
+ if ((rc = DosQueryProcAddr(gsdll.hmodule, 0, "GSAPI_NEW_INSTANCE",
+ (PFN *) (&gsdll.new_instance))) != 0) {
+- sprintf(buf, "Can't find GSAPI_NEW_INSTANCE, rc = %d\n", rc);
++ gs_sprintf(buf, "Can't find GSAPI_NEW_INSTANCE, rc = %d\n", rc);
+ gs_addmess(buf);
+ gs_load_dll_cleanup();
+ return FALSE;
+ }
+ if ((rc = DosQueryProcAddr(gsdll.hmodule, 0, "GSAPI_DELETE_INSTANCE",
+ (PFN *) (&gsdll.delete_instance))) != 0) {
+- sprintf(buf, "Can't find GSAPI_DELETE_INSTANCE, rc = %d\n", rc);
++ gs_sprintf(buf, "Can't find GSAPI_DELETE_INSTANCE, rc = %d\n", rc);
+ gs_addmess(buf);
+ gs_load_dll_cleanup();
+ return FALSE;
+ }
+ if ((rc = DosQueryProcAddr(gsdll.hmodule, 0, "GSAPI_SET_STDIO",
+ (PFN *) (&gsdll.set_stdio))) != 0) {
+- sprintf(buf, "Can't find GSAPI_SET_STDIO, rc = %d\n", rc);
++ gs_sprintf(buf, "Can't find GSAPI_SET_STDIO, rc = %d\n", rc);
+ gs_addmess(buf);
+ gs_load_dll_cleanup();
+ return FALSE;
+ }
+ if ((rc = DosQueryProcAddr(gsdll.hmodule, 0, "GSAPI_SET_DISPLAY_CALLBACK",
+ (PFN *) (&gsdll.set_display_callback))) != 0) {
+- sprintf(buf, "Can't find GSAPI_SET_DISPLAY_CALLBACK, rc = %d\n", rc);
++ gs_sprintf(buf, "Can't find GSAPI_SET_DISPLAY_CALLBACK, rc = %d\n", rc);
+ gs_addmess(buf);
+ gs_load_dll_cleanup();
+ return FALSE;
+ }
+ if ((rc = DosQueryProcAddr(gsdll.hmodule, 0, "GSAPI_SET_POLL",
+ (PFN *) (&gsdll.set_poll))) != 0) {
+- sprintf(buf, "Can't find GSAPI_SET_POLL, rc = %d\n", rc);
++ gs_sprintf(buf, "Can't find GSAPI_SET_POLL, rc = %d\n", rc);
+ gs_addmess(buf);
+ gs_load_dll_cleanup();
+ return FALSE;
+@@ -255,27 +255,27 @@ gs_load_dll(void)
+ if ((rc = DosQueryProcAddr(gsdll.hmodule, 0,
+ "GSAPI_INIT_WITH_ARGS",
+ (PFN *) (&gsdll.init_with_args))) != 0) {
+- sprintf(buf, "Can't find GSAPI_INIT_WITH_ARGS, rc = %d\n", rc);
++ gs_sprintf(buf, "Can't find GSAPI_INIT_WITH_ARGS, rc = %d\n", rc);
+ gs_addmess(buf);
+ gs_load_dll_cleanup();
+ return FALSE;
+ }
+ if ((rc = DosQueryProcAddr(gsdll.hmodule, 0, "GSAPI_RUN_STRING",
+ (PFN *) (&gsdll.run_string))) != 0) {
+- sprintf(buf, "Can't find GSAPI_RUN_STRING, rc = %d\n", rc);
++ gs_sprintf(buf, "Can't find GSAPI_RUN_STRING, rc = %d\n", rc);
+ gs_addmess(buf);
+ gs_load_dll_cleanup();
+ return FALSE;
+ }
+ if ((rc = DosQueryProcAddr(gsdll.hmodule, 0, "GSAPI_EXIT",
+ (PFN *) (&gsdll.exit))) != 0) {
+- sprintf(buf, "Can't find GSAPI_EXIT, rc = %d\n", rc);
++ gs_sprintf(buf, "Can't find GSAPI_EXIT, rc = %d\n", rc);
+ gs_addmess(buf);
+ gs_load_dll_cleanup();
+ return FALSE;
+ }
+ } else {
+- sprintf(buf, "Can't load Ghostscript DLL %s \nDosLoadModule rc = %d\n",
++ gs_sprintf(buf, "Can't load Ghostscript DLL %s \nDosLoadModule rc = %d\n",
+ szDllName, rc);
+ gs_addmess(buf);
+ gs_load_dll_cleanup();
+@@ -373,10 +373,10 @@ static int run_gspmdrv(IMAGE *img)
+ if (debug)
+ fprintf(stdout, "run_gspmdrv: starting\n");
+ #endif
+- sprintf(id, ID_NAME, img->pid, (ULONG)img->device);
++ gs_sprintf(id, ID_NAME, img->pid, (ULONG)img->device);
+
+ /* Create termination queue - used to find out when gspmdrv terminates */
+- sprintf(term_queue_name, "\\QUEUES\\TERMQ_%s", id);
++ gs_sprintf(term_queue_name, "\\QUEUES\\TERMQ_%s", id);
+ if (DosCreateQueue(&(img->term_queue), QUE_FIFO, term_queue_name)) {
+ fprintf(stdout, "run_gspmdrv: failed to create termination queue\n");
+ return e_limitcheck;
+@@ -404,7 +404,7 @@ static int run_gspmdrv(IMAGE *img)
+ /* arguments are: */
+ /* (1) -d (display) option */
+ /* (2) id string */
+- sprintf(arg, "-d %s", id);
++ gs_sprintf(arg, "-d %s", id);
+
+ /* because gspmdrv.exe is a different EXE type to gs.exe,
+ * we must use start session not DosExecPgm() */
+@@ -592,17 +592,17 @@ int display_open(void *handle, void *dev
+ return e_limitcheck;
+ }
+ img->pid = pppib->pib_ulppid; /* use parent (CMD.EXE) pid */
+- sprintf(id, ID_NAME, img->pid, (ULONG) img->device);
++ gs_sprintf(id, ID_NAME, img->pid, (ULONG) img->device);
+
+ /* Create update event semaphore */
+- sprintf(name, SYNC_NAME, id);
++ gs_sprintf(name, SYNC_NAME, id);
+ if (DosCreateEventSem(name, &(img->sync_event), 0, FALSE)) {
+ fprintf(stdout, "display_open: failed to create event semaphore %s\n", name);
+ return e_limitcheck;
+ }
+ /* Create mutex - used for preventing gspmdrv from accessing */
+ /* bitmap while we are changing the bitmap size. Initially unowned. */
+- sprintf(name, MUTEX_NAME, id);
++ gs_sprintf(name, MUTEX_NAME, id);
+ if (DosCreateMutexSem(name, &(img->bmp_mutex), 0, FALSE)) {
+ DosCloseEventSem(img->sync_event);
+ fprintf(stdout, "display_open: failed to create mutex semaphore %s\n", name);
+@@ -612,7 +612,7 @@ int display_open(void *handle, void *dev
+ /* Shared memory is common to all processes so we don't want to
+ * allocate too much.
+ */
+- sprintf(name, SHARED_NAME, id);
++ gs_sprintf(name, SHARED_NAME, id);
+ if (DosAllocSharedMem((PPVOID) & img->bitmap, name,
+ 13 * 1024 * 1024, PAG_READ | PAG_WRITE)) {
+ fprintf(stdout, "display_open: failed allocating shared BMP memory %s\n", name);
+@@ -1020,7 +1020,7 @@ main(int argc, char *argv[])
+ else if (depth >= 4)
+ format = DISPLAY_COLORS_NATIVE | DISPLAY_ALPHA_NONE |
+ DISPLAY_DEPTH_4 | DISPLAY_LITTLEENDIAN | DISPLAY_BOTTOMFIRST;
+- sprintf(dformat, "-dDisplayFormat=%d", format);
++ gs_sprintf(dformat, "-dDisplayFormat=%d", format);
+ }
+ nargc = argc + 1;
+
+diff -up ghostscript-9.07/psi/dscparse.c.gs_sprintf ghostscript-9.07/psi/dscparse.c
+--- ghostscript-9.07/psi/dscparse.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/psi/dscparse.c 2013-05-09 17:02:39.097447219 +0100
+@@ -38,7 +38,7 @@
+ % %%ViewingOrientation: xx xy yx yy
+ */
+
+-#include <stdio.h> /* for sprintf(), not file I/O */
++#include <stdio_.h> /* for sprintf(), not file I/O */
+ #include <stdlib.h>
+ #include <string.h>
+ #include <ctype.h>
+@@ -584,7 +584,7 @@ dsc_fixup(CDSC *dsc)
+ /* make sure all pages have a label */
+ for (i=0; i<dsc->page_count; i++) {
+ if (strlen(dsc->page[i].label) == 0) {
+- sprintf(buf, "%d", i+1);
++ gs_sprintf(buf, "%d", i+1);
+ if ((dsc->page[i].label = dsc_alloc_string(dsc, buf, (int)strlen(buf)))
+ == (char *)NULL)
+ return CDSC_ERROR; /* no memory */
+@@ -1178,7 +1178,7 @@ dsc_unknown(CDSC *dsc)
+ if (dsc->debug_print_fn) {
+ char line[DSC_LINE_LENGTH];
+ unsigned int length = min(DSC_LINE_LENGTH-1, dsc->line_length);
+- sprintf(line, "Unknown in %s section at line %d:\n ",
++ gs_sprintf(line, "Unknown in %s section at line %d:\n ",
+ dsc_scan_section_name[dsc->scan_section], dsc->line_count);
+ dsc_debug_print(dsc, line);
+ strncpy(line, dsc->line, length);
+@@ -2669,7 +2669,7 @@ dsc_check_match_prompt(CDSC *dsc, const
+ strncpy(buf, dsc->line, dsc->line_length);
+ buf[dsc->line_length] = '\0';
+ }
+- sprintf(buf+strlen(buf), "\n%%%%Begin%.40s: / %%%%End%.40s\n", str, str);
++ gs_sprintf(buf+strlen(buf), "\n%%%%Begin%.40s: / %%%%End%.40s\n", str, str);
+ return dsc_error(dsc, CDSC_MESSAGE_BEGIN_END, buf, (int)strlen(buf));
+ }
+ return CDSC_RESPONSE_CANCEL;
+diff -up ghostscript-9.07/psi/dwimg.c.gs_sprintf ghostscript-9.07/psi/dwimg.c
+--- ghostscript-9.07/psi/dwimg.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/psi/dwimg.c 2013-05-09 17:02:39.098447223 +0100
+@@ -36,6 +36,11 @@
+
+ #define STRICT
+ #include <windows.h>
++
++
++/* prevent gp.h redefining sprintf */
++#define sprintf sprintf
++
+ #include "stdio_.h"
+
+ #include "dwres.h"
+diff -up ghostscript-9.07/psi/dwmainc.c.gs_sprintf ghostscript-9.07/psi/dwmainc.c
+--- ghostscript-9.07/psi/dwmainc.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/psi/dwmainc.c 2013-05-09 17:02:39.098447223 +0100
+@@ -13,6 +13,8 @@
+ CA 94903, U.S.A., +1(415)492-9861, for further information.
+ */
+
++/* prevent gp.h redefining sprintf */
++#define sprintf sprintf
+
+ /* dwmainc.c */
+
+diff -up ghostscript-9.07/psi/dxmain.c.gs_sprintf ghostscript-9.07/psi/dxmain.c
+--- ghostscript-9.07/psi/dxmain.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/psi/dxmain.c 2013-05-09 17:02:39.098447223 +0100
+@@ -1160,7 +1160,7 @@ int main(int argc, char *argv[])
+ use_gui = gtk_init_check(&argc, &argv);
+
+ /* insert display device parameters as first arguments */
+- sprintf(dformat, "-dDisplayFormat=%d",
++ gs_sprintf(dformat, "-dDisplayFormat=%d",
+ DISPLAY_COLORS_RGB | DISPLAY_ALPHA_NONE | DISPLAY_DEPTH_8 |
+ DISPLAY_BIGENDIAN | DISPLAY_TOPFIRST);
+ nargc = argc + 1;
+diff -up ghostscript-9.07/psi/int.mak.gs_sprintf ghostscript-9.07/psi/int.mak
+--- ghostscript-9.07/psi/int.mak.gs_sprintf 2013-05-09 17:02:39.018446879 +0100
++++ ghostscript-9.07/psi/int.mak 2013-05-09 17:02:39.098447223 +0100
+@@ -651,7 +651,7 @@ $(PSOBJ)zdscpars.$(OBJ) : $(PSSRC)zdscpa
+ $(gsstruct_h)
+ $(PSCC) $(PSO_)zdscpars.$(OBJ) $(C_) $(PSSRC)zdscpars.c
+
+-$(PSOBJ)dscparse.$(OBJ) : $(PSSRC)dscparse.c $(dscparse_h)
++$(PSOBJ)dscparse.$(OBJ) : $(PSSRC)dscparse.c $(dscparse_h) $(stdio__h)
+ $(PSCC) $(PSO_)dscparse.$(OBJ) $(C_) $(PSSRC)dscparse.c
+
+ dscparse_=$(PSOBJ)zdscpars.$(OBJ) $(PSOBJ)dscparse.$(OBJ)
+diff -up ghostscript-9.07/psi/iparam.c.gs_sprintf ghostscript-9.07/psi/iparam.c
+--- ghostscript-9.07/psi/iparam.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/psi/iparam.c 2013-05-09 17:02:39.099447227 +0100
+@@ -65,7 +65,7 @@ ref_to_key(const ref * pref, gs_param_ke
+ int len;
+ byte *buf;
+
+- sprintf(istr, "%"PRIpsint, pref->value.intval);
++ gs_sprintf(istr, "%"PRIpsint, pref->value.intval);
+ len = strlen(istr);
+ /* GC will take care of freeing this: */
+ buf = gs_alloc_string(plist->memory, len, "ref_to_key");
+diff -up ghostscript-9.07/psi/iutil2.c.gs_sprintf ghostscript-9.07/psi/iutil2.c
+--- ghostscript-9.07/psi/iutil2.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/psi/iutil2.c 2013-05-09 17:02:39.099447227 +0100
+@@ -56,7 +56,7 @@ param_read_password(gs_param_list * plis
+ code = param_read_long(plist, kstr, &ipass);
+ if (code != 0) /* error or missing */
+ return code;
+- sprintf((char *)ppass->data, "%ld", ipass);
++ gs_sprintf((char *)ppass->data, "%ld", ipass);
+ ppass->size = strlen((char *)ppass->data);
+ return 0;
+ }
+diff -up ghostscript-9.07/psi/iutil.c.gs_sprintf ghostscript-9.07/psi/iutil.c
+--- ghostscript-9.07/psi/iutil.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/psi/iutil.c 2013-05-09 17:02:39.099447227 +0100
+@@ -340,10 +340,10 @@ obj_cvp(const ref * op, byte * str, uint
+ float value = op->value.realval;
+ float scanned;
+
+- sprintf(buf, "%g", value);
++ gs_sprintf(buf, "%g", value);
+ sscanf(buf, "%f", &scanned);
+ if (scanned != value)
+- sprintf(buf, "%.9g", value);
++ gs_sprintf(buf, "%.9g", value);
+ ensure_dot(buf);
+ goto rs;
+ }
+@@ -494,7 +494,7 @@ other:
+ data = (const byte *)(op->value.boolval ? "true" : "false");
+ break;
+ case t_integer:
+- sprintf(buf, "%"PRIpsint, op->value.intval);
++ gs_sprintf(buf, "%"PRIpsint, op->value.intval);
+ break;
+ case t_string:
+ check_read(*op);
+@@ -529,7 +529,7 @@ other:
+ break;
+ }
+ /* Internal operator, no name. */
+- sprintf(buf, "@0x%lx", (ulong) op->value.opproc);
++ gs_sprintf(buf, "@0x%lx", (ulong) op->value.opproc);
+ break;
+ }
+ case t_real:
+@@ -542,7 +542,7 @@ other:
+ if (op->value.realval == (float)0.0001) {
+ strcpy(buf, "0.0001");
+ } else {
+- sprintf(buf, "%g", op->value.realval);
++ gs_sprintf(buf, "%g", op->value.realval);
+ }
+ ensure_dot(buf);
+ break;
+@@ -573,9 +573,9 @@ ensure_dot(char *buf)
+ sscanf(pe + 1, "%d", &i);
+ /* MSVC .net 2005 express doesn't support "%+02d" */
+ if (i >= 0)
+- sprintf(pe + 1, "+%02d", i);
++ gs_sprintf(pe + 1, "+%02d", i);
+ else
+- sprintf(pe + 1, "-%02d", -i);
++ gs_sprintf(pe + 1, "-%02d", -i);
+ } else if (strchr(buf, '.') == NULL) {
+ strcat(buf, ".0");
+ }
+diff -up ghostscript-9.07/psi/msvc.mak.gs_sprintf ghostscript-9.07/psi/msvc.mak
+--- ghostscript-9.07/psi/msvc.mak.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/psi/msvc.mak 2013-05-09 17:02:39.099447227 +0100
+@@ -332,6 +332,10 @@ TIFFCONFIG_SUFFIX=.vc
+ TIFFPLATFORM=win32
+ !endif
+
++!ifndef TRIOSRCDIR
++TRIOSRCDIR=trio
++!endif
++
+ # Define the directory where the zlib sources are stored.
+ # See zlib.mak for more information.
+
+diff -up ghostscript-9.07/psi/zbfont.c.gs_sprintf ghostscript-9.07/psi/zbfont.c
+--- ghostscript-9.07/psi/zbfont.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/psi/zbfont.c 2013-05-09 17:02:39.099447227 +0100
+@@ -109,7 +109,7 @@ zfont_encode_char(gs_font *pfont, gs_cha
+
+ if (gspace == GLYPH_SPACE_NOGEN)
+ return gs_no_glyph;
+- sprintf(buf, "j%ld", chr); /* 'j' is arbutrary. */
++ gs_sprintf(buf, "j%ld", chr); /* 'j' is arbutrary. */
+ code = name_ref(pfont->memory, (const byte *)buf, strlen(buf), &tname, 1);
+ if (code < 0) {
+ /* Can't propagate the error due to interface limitation,
+@@ -131,7 +131,7 @@ zfont_glyph_name(gs_font *font, gs_glyph
+ char cid_name[sizeof(gs_glyph) * 3 + 1];
+ int code;
+
+- sprintf(cid_name, "%lu", (ulong) index);
++ gs_sprintf(cid_name, "%lu", (ulong) index);
+ code = name_ref(font->memory, (const byte *)cid_name, strlen(cid_name),
+ &nref, 1);
+ if (code < 0)
+diff -up ghostscript-9.07/psi/zdouble.c.gs_sprintf ghostscript-9.07/psi/zdouble.c
+--- ghostscript-9.07/psi/zdouble.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/psi/zdouble.c 2013-05-09 17:02:39.100447231 +0100
+@@ -323,7 +323,7 @@ zcvsd(i_ctx_t *i_ctx_p)
+ len = r_size(op - 1);
+ if (len > MAX_CHARS)
+ return_error(e_limitcheck);
+- sprintf(buf, "%f", 1.5);
++ gs_sprintf(buf, "%f", 1.5);
+ dot = buf[1]; /* locale-dependent */
+ memcpy(str, op[-1].value.bytes, len);
+ /*
+@@ -406,7 +406,7 @@ zdcvs(i_ctx_t *i_ctx_p)
+ if (code < 0)
+ return code;
+ check_write_type(*op, t_string);
+- sprintf(str, "%f", 1.5);
++ gs_sprintf(str, "%f", 1.5);
+ dot = str[1]; /* locale-dependent */
+ /*
+ * To get fully accurate output results for IEEE double-
+@@ -420,10 +420,10 @@ zdcvs(i_ctx_t *i_ctx_p)
+ {
+ double scanned;
+
+- sprintf(str, "%g", num);
++ gs_sprintf(str, "%g", num);
+ sscanf(str, "%lf", &scanned);
+ if (scanned != num)
+- sprintf(str, "%.16g", num);
++ gs_sprintf(str, "%.16g", num);
+ }
+ len = strlen(str);
+ if (len > r_size(op))
+diff -up ghostscript-9.07/psi/zfapi.c.gs_sprintf ghostscript-9.07/psi/zfapi.c
+--- ghostscript-9.07/psi/zfapi.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/psi/zfapi.c 2013-05-09 17:02:39.100447231 +0100
+@@ -583,11 +583,11 @@ FAPI_FF_get_word(gs_fapi_font *ff, gs_fa
+ length += r_size(&string) + 1;
+ break;
+ case t_real:
+- sprintf(Buffer, "%f", Element.value.realval);
++ gs_sprintf(Buffer, "%f", Element.value.realval);
+ length += strlen(Buffer) + 1;
+ break;
+ case t_integer:
+- sprintf(Buffer, "%"PRIpsint, Element.value.intval);
++ gs_sprintf(Buffer, "%"PRIpsint, Element.value.intval);
+ length += strlen(Buffer) + 1;
+ break;
+ case t_operator:
+@@ -823,12 +823,12 @@ FAPI_FF_get_proc(gs_fapi_font *ff, gs_fa
+ ptr += r_size(&string);
+ break;
+ case t_real:
+- sprintf(Buf, "%f", Element.value.realval);
++ gs_sprintf(Buf, "%f", Element.value.realval);
+ strcpy(ptr, Buf);
+ ptr += strlen(Buf);
+ break;
+ case t_integer:
+- sprintf(Buf, "%"PRIpsint, Element.value.intval);
++ gs_sprintf(Buf, "%"PRIpsint, Element.value.intval);
+ strcpy(ptr, Buf);
+ ptr += strlen(Buf);
+ break;
+diff -up ghostscript-9.07/psi/zfont2.c.gs_sprintf ghostscript-9.07/psi/zfont2.c
+--- ghostscript-9.07/psi/zfont2.c.gs_sprintf 2013-02-14 07:58:13.000000000 +0000
++++ ghostscript-9.07/psi/zfont2.c 2013-05-09 17:02:39.101447236 +0100
+@@ -2666,7 +2666,7 @@ parse_font(i_ctx_t *i_ctx_p, ref *topdi
+ return sid;
+ if ((code = make_name_from_sid(i_ctx_p, &name, strings, data, sid)) < 0) {
+ char buf[40];
+- int len = sprintf(buf, "sid-%d", sid);
++ int len = gs_sprintf(buf, "sid-%d", sid);
+
+ if ((code = name_ref(imemory, (unsigned char *)buf, len, &name, 1)) < 0)
+ return code;
+diff -up ghostscript-9.07/trio/autogen.sh.gs_sprintf ghostscript-9.07/trio/autogen.sh
+--- ghostscript-9.07/trio/autogen.sh.gs_sprintf 2013-05-09 17:02:39.101447236 +0100
++++ ghostscript-9.07/trio/autogen.sh 2013-05-09 17:02:39.101447236 +0100
+@@ -0,0 +1,3 @@
++#!/bin/sh
++autoconf
++rm -rf autom4te.cache
+diff -up ghostscript-9.07/trio/CHANGES.gs_sprintf ghostscript-9.07/trio/CHANGES
+--- ghostscript-9.07/trio/CHANGES.gs_sprintf 2013-05-09 17:02:39.101447236 +0100
++++ ghostscript-9.07/trio/CHANGES 2013-05-09 17:02:39.101447236 +0100
+@@ -0,0 +1,785 @@
++CHANGES -- trio
++
++
++The changes listed without a name attributed to them were most likely done by
++Bjorn Reese and/or Daniel Stenberg.
++
++Version 1.14 - 2010/01/26
++-------------------------
++* David Byron
++ Added trio_xstring_append_max.
++
++* Fixed compilation problem on Cygwin due to lack of long double math
++ (reported by Matthias Andree).
++
++* David Boyce
++ Added #undef of standard stdio function names before assigning trio functions
++ to them.
++
++* Matthias Andree
++ Upgraded configure.in to use new macros instead of obsoleted macros.
++
++* Matthias Andree
++ Added VPATH to Makefile.in
++
++* Tom Honermann
++ Fixed problem with subnormal numbers which caused an infinite loop outputting
++ leading spaces.
++
++* Adam McLaurin
++ Improved parsing performance by avoiding memset() and memcpy() on character
++ arrays.
++
++* Gideon Smeding
++ Fixed %u scanning of signed numbers.
++
++* Gideon Smeding
++ Fixed group scanning for non-matching input.
++
++* Fixed missing undo of look-ahead reading for scanf functions. This does only
++ work for the scanf* and fscanf* functions, not dscanf* and cscanf* functions
++ (reported by Gideon Smeding).
++
++* If the format string is empty, scanf does not attempt to read any input.
++
++* Ralf Junker
++ Fixed Borland compilation for user-defined specifiers.
++
++
++Version 1.13 - 2008/11/09
++-------------------------
++* Ives Aerts
++ Added the $<format|skip> format for user-defined specifiers, which is
++ compatible with compiler warnings about mismatches between specifiers and
++ arguments.
++
++* Added TRIO_DEPRECATED flag (reported by David Boyce)
++
++* Fixed rounding adjustment for long double (reported as bug item #2136686).
++
++* Added Makefile dependency for test target (reported as bug item #2136636).
++
++* David Boyce
++ Fixed long long support for MSVC.
++
++* Fixed potential problem with read after buffer end for non-zero terminated
++ strings (reported as bug item #1828465).
++
++* Andreas Stricker
++ Added WinCE support.
++
++* Fixed number of significant digits for %g.
++
++
++Version 1.12 - 2006/10/22
++-------------------------
++* Fixed scanning of floats (reported by Bernd Ahlers).
++
++* Fixed configure.in for GCC on Tru64 and MIPSpro on IRIX (reported by Andreas
++ Maus).
++
++* Olli Savia
++ Added support for LynxOS.
++
++
++Version 1.11 - 2006/04/08
++-------------------------
++* Mark Pickelmann
++ Fixed trio_unregister. If the first element was removed, the remaining
++ list would be removed as well.
++
++* Fixed unintended formatting of %e that would result in non-zero numbers
++ starting with zero (reported by Mark Pickelmann and Gisli Ottarsson).
++
++* Fixed compilation with Sun Workshop 6 (reported by Matthias Andree).
++
++* Fixed accuracy for denormalized numbers (bug item #758327).
++
++* Glen Davidson
++ Fixed scanning of floating-point numbers without a decimal-point (bug item
++ #1370427).
++
++* David Byron
++ Fixed more compiler warnings.
++
++* Fixed compilation of trio_to_long_double and TRIO_FEATURE_FLOAT (reported by
++ David Byron).
++
++* Fixed precision of large floating-point numbers (bug item #1314524).
++
++* Karl Bochert
++ Fixed trio_fpclassify_and_signbit to only restore the floating-point
++ precision.
++
++* Fixed detection of need for ieee option on FreeBSD/Alpha.
++
++* Added TRIO_SNPRINTF_ONLY compilation.
++
++* Fixed trio_to_double by not using strtod() on Tru64/DECC because it does not
++ support hex-floats.
++
++* Fixed crash on 64 bits machines related to a previous workaround in version
++ 1.9 for uninitialized va_list (reported by Nicolai Tufar, suggestion by
++ Douglas Gwyn).
++
++* Patrick Jessee
++ Fixed width calculation for %g.
++
++* Added macros for internal features.
++
++* Jon Foster
++ Added macros for conditional compilation of many features. Documented all
++ the features.
++
++* Karl Bochert
++ Fixed problem with Borland C++, which changes the floating-point precision
++ for certain math functions (log10() and _fpclass()).
++
++* Karl Bochert
++ Fixed compilation warnings on Borland C++.
++
++* Removed any occurrence of #elif because Borland C++ reports wrong line
++ numbers when they are present (reported by Karl Bochert).
++
++* David Byron
++ Added trio_asprintfv.
++
++* Brian Chapman
++ Fixed Mac OS X compilation.
++
++* David Byron
++ Fixed several compiler warnings.
++
++* Fixed printing of out-of-range arguments for %hhd and %hd. These arguments
++ can be out of range because of default integer promotion.
++
++* Bob Friesenhahn
++ Fixed installation of header files.
++
++* Joe Orton
++ Added SHELL to Makefile.in to avoid problems with CShells.
++
++* Shaun Tancheff
++ Fixed regresion tests for MSVC.
++
++* Craig Berry
++ Fixed the VMS C99 workaround.
++
++
++Version 1.10 - 2003/03/06
++-------------------------
++* Rearranged some include files to accommodate large file support (reported by
++ Albert Chin-A-Young).
++
++* Added support for SunOS 4.1.x lack of strerror, tolower, and toupper
++ (reported by Peter McCluskey).
++
++* Fixed pedantic compilation with TRIO_MINIMAL.
++
++* Jose Kahan
++ Moved <limits.h> to avoid redefinition problems.
++
++* Fixed hex-float exponents (reported by Matthias Clasen).
++
++* Fixed handling of negative width and precision via paramters (reported by
++ Jacob Navia).
++
++* Nigel Hall
++ Fixed TRIO_VA_START for VMS.
++
++* Rune Enggaard Lausen
++ Fixed compilation for Borland C++ Builder.
++
++* Fixed precision of hex-float numbers (reported by James Antill).
++
++* Fixed plus sign only to be added for signed numbers.
++
++* Fixed printing of integers with value and precision of zero (reported by
++ James Antill).
++
++* Fixed %#.o to only print one zero if the value is zero (reported by James
++ Antill).
++
++* Rewrote check for IEEE compilation option to remove dependency on additional
++ scripts.
++
++* Mehdi Lavasani
++ Makefile install target fixed to work with older install programs.
++
++* Collapsed the DECC, MSVC, HP-UX, and AIX code for trio_fpclassify_and_sign()
++ with further preprocessing.
++
++
++Version 1.9 - 2002/10/13
++------------------------
++* Fixed trio_fpclassify_and_signbit on AIX 3.2
++
++* Added configure check for -ieee/-mieee compilation option for Alpha machines.
++
++* Craig Berry
++ Fixed compilation on VMS.
++
++* Albert Chin-A-Young
++ Fixed incorrect conditional expression in trio_isinf.
++
++* Fixed the warnings about uninitialized va_list in the printfv and scanfv
++ family without the use of compiler specific pragmas (suggested by Ian
++ Pilcher).
++
++* Fixed space flag for floating-point numbers (reported by Ian Main).
++
++
++Version 1.8 - 2002/07/10
++------------------------
++* Fixed infinite loop in multibyte handling (reported by Gisli Ottarsson).
++
++* Added the customizable cprintf/cscanf family which enables to user to specify
++ input and output stream functions (suggested by Florian Schulze).
++
++* Fixed trio_isinf by removing the HP-UX workaround, and instead making sure
++ that the C99 macro will adhere to the trio return values (reported by Luke
++ Dunstan).
++
++* Alexander Lukyanov
++ Fixed boundary case for scanning and EOF.
++
++* Jacob Navia
++ Enabled the L modifier for formatting.
++
++* Added TRIO_MINIMAL to build trio without the string functions.
++
++* Added the R modifier to print rounded floating-point numbers.
++
++* Added trio_to_long_double and long double scanning (the L modifier).
++
++* Added trio_locale_decimal_point, trio_locale_thousand_separator,
++ trio_locale_grouping to overwrite locale settings.
++
++* Rewrote TrioWriteDouble to avoid temporary buffers and thus the danger of
++ buffer overflows (for instance %.5000f).
++
++* Improved floating-point formatting accuracy.
++
++* Fixed formatting of non-decimal exponents.
++
++* Fixed thousand separator checking.
++
++* Fixed %f scanning to get a float and %lf to get a double.
++
++* Fixed WIN32 compilation (reported by Emmanuel Mogenet)
++
++* Fixed regression test cases to exclude disabled features.
++
++
++Version 1.7 - 2002/05/07
++------------------------
++* Fixed trio_to_double to handle hex-floats properly.
++
++* Fixed printing of %a-format to be like %e, not like %g.
++
++* Fixed floating-point printing of values beyond the machine accuracy.
++
++* Fixed %f for printing with large precision.
++
++* Fixed the usage of C99 nan(), which caused a crash on OSF/1 (reported by
++ Georg Bolz)
++
++* Joe Orton
++ Fixed %p on 64-bit platforms.
++
++* Made trio compile with K&R compilers.
++
++* Emmanuel Mogenet
++ Fixed bug in trio_asprintf.
++
++* Emmanuel Mogenet
++ Various WIN32 fixes.
++
++* Joe Orton
++ Fixed trio_isinf() on HP-UX, and added test cases.
++
++* Joe Orton
++ Fixed non-portable use of $^ in Makefile.
++
++* Joe Orton
++ Added autoconf.
++
++* Alexander Lukyanov
++ Fixed a number of bugs in the scanning of EOF and the count specifier.
++
++* Richard Jinks
++ Added trio_nzero
++
++* Fixed incorrect handling of return code from TrioReadChar (reported by
++ Henrik Löf)
++
++* Fixed parsing of character class expressions.
++
++* Fixed trio_to_double which did not work with long fractions.
++
++* Fixed %f for printing of large numbers.
++
++* Fixed %#s to handle whitespaces as non-printable characters.
++
++* Added trio_isfinite, trio_signbit, and trio_fpclassify.
++
++* Added new test cases.
++
++
++Version 1.6 - 2002/01/13
++------------------------
++* Added dynamic string functions.
++
++* Rewrote and extended documentation in JavaDoc (using Doxygen).
++
++* Moved and renamed strio functions to triostr.
++
++* Robert Collins
++ Added definition for Cygwin.
++
++* Markus Henke
++ Added long double workaround for the HP C/iX compiler.
++
++* Marc Verwerft
++ Improved error handling for dynamically allocated strings.
++
++* John Fotheringham
++ Made trionan compile on OpenVMS.
++
++* Added 'd' and 'D' as exponent letters when using TRIO_MICROSOFT.
++
++* Fixed uninitial memory read for the parameter modifiers.
++
++
++Version 1.5 - 2001/09/08
++------------------------
++* Merged with libxml changes.
++
++* Moved NaN and Inf handling to separate file to enable reuse in other
++ projects.
++
++* Igor Zlatkovic
++ Fixed TrioGenerateNan for MSVC.
++
++* Fixed lots of preprocessor macros and internal data structure names.
++
++
++Version 1.4 - 2001/06/03
++------------------------
++* Added hex-float (%a and %A) for scanning.
++
++* Added wide character arguments (%ls, %ws, %S, %lc, %wc, and %C) for both
++ printf and scanf.
++
++* Added mutex callbacks for user-specified specifiers to enable applications to
++ add thread-safety. These are registered with trio_register, where the
++ namespace is set to either ":enter" to lock a mutex, or ":leave" to unlock a
++ mutex.
++
++* Added equivalence class expressions for scanning. For example, %[[=a=]] scans
++ for all letters in the same equivalence class as the letter 'a' as defined
++ by the locale.
++
++* Changed character class expressions for scanning. The expressions must now
++ be embedded withing an extra set of brackets, e.g. %[[:alpha:]]. This was
++ done to adhere to the syntax of UNIX98 regular expressions.
++
++* Added the possibility to specify standard support (TRIO_C99 etc.) as compiler
++ options.
++
++* Fixed conversion of hex-float in StrToDouble.
++
++* Fixed formatting of hex-float numbers.
++
++* Stan Boehm
++ Fixed crash on QNX, which happend because some buffers on the stack were too
++ big.
++
++* Fixed default precision for %f and %g (reported by Jose Ortiz)
++
++* Howard Kapustein
++ Added the I8, I16, I32, and I64 modifiers.
++
++* Jose Ortiz
++ Fixed rounding problem for %e.
++
++* Jose Ortiz
++ Fixed various problems with the xlC and Sun C++ compilers.
++
++
++Version 1.3 - 2001/05/16
++------------------------
++* trio's treatment of the field width when the %e code was used was not
++ correct (reported by Gisli Ottarsson). It turns out the fraction part should
++ be zero-padded by default and the exponent part should be zero-prefixed if
++ it is only one digit. At least that's how the GNU and Sun libc's work. The
++ trio floating point output looks identical to them now.
++
++* Fixed group scanning with modifiers.
++
++* Fixed compilation for 64-bit Digital Unix.
++
++* Igor Zlatkovic
++ Fixed compilation of dprintf, which uses read/write, for MSVC.
++
++* Fixed various compilation problems on Digital Unix (mainly associated with
++ va_list).
++
++
++Version 1.2 - 2001/04/11
++------------------------
++* Added autoconf integration. If compiled with HAVE_CONFIG_H the following
++ happens. Firstly, <config.h> is included. Secondly, trio will only be
++ compiled if WITH_TRIO is defined herein. Thirdly, if TRIO_REPLACE_STDIO is
++ defined, only stdio functions that have not been detected by autoconf, i.e.
++ those not defined by HAVE_PRINTF or similar, will be replaced by trio
++ functions (suggested by Daniel Veillard).
++
++* Fixed '%m.nf' output. Previously trio did not treat the width properly
++ in all cases (reported by Gisli Ottarsson).
++
++* Added explicit promotion for the scanfv family.
++
++* Fixed more C++ compilation warnings.
++
++
++Version 1.1 - 2001/02/25
++------------------------
++* Added explicit promotion for the printfv familiy. A float must be specified
++ by %hf.
++
++* Fixed positionals for printfv (reported by Gisli Ottarsson).
++
++* Fixed an integer to pointer conversion problem on the SGI MIPS C compiler
++ (reported by Gisli Ottarsson).
++
++* Fixed ANSI C++ warnings (type casting, and namespace is a reserved keyword).
++
++* Added \n to all examples in the documentation to prevent confusion.
++
++* Fixed StrSubstringMax
++
++
++Version 1.0 - 2000/12/10
++------------------------
++* Bumped Version number.
++
++
++Version 0.25 - 2000/12/09
++-------------------------
++* Wrote more documentation.
++
++* Improved NaN support and added NaN to regression test.
++
++* Fixed C99 support.
++
++* Added missing getter/setter functions.
++
++
++Version 0.24 - 2000/12/02
++-------------------------
++* Added callback functionality for the user-defined specifier (<>). All
++ the necessary functions are defined in triop.h header file. See the
++ documentation for trio_register for further detail.
++
++* Wrote initial documentation on the callback functionality.
++
++* Added the printfv and scanfv family of functions, which takes a pointer
++ array rather than variadic arguments. Each pointer in the array must point
++ to the associated data (requested by Bruce Korb).
++
++* As indicated in version 0.21 the extension modifiers (<>) have now been
++ completely removed.
++
++* Added skipping of thousand-separators in floating-point number scanning.
++
++
++Version 0.23 - 2000/10/21
++-------------------------
++* Added width to scanning of floating-point numbers.
++
++* Wrote more documentation on trio_printf.
++
++* Fixed problem with trailing zeroes after decimal-point.
++
++
++Version 0.22 - 2000/08/06
++-------------------------
++* Added LC_CTYPE locale dependent character class expressions to scan lists.
++ Included are [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:],
++ [:lower:], [:print:], [:punct:], [:space:], [:upper:], [:xdigit:]
++
++* Added C escapes to alternative string formatting and scanning.
++
++* Added StrSubstringMax.
++
++* Wrote a little more documentation.
++
++* Fixed scanf return values.
++
++* Fixed a sign error for non-ascii characters.
++
++
++Version 0.21 - 2000/07/19
++-------------------------
++* Converted the documentation to TeX. With latex2man the documentation can
++ automatically be converted into man pages.
++
++* Added trio_scanf, trio_vscanf, trio_fscanf, and trio_vfscanf.
++
++* Added trio_dprintf, trio_vdprintf, trio_dscanf, and trio_vdscanf. These
++ functions can be used to write and read directly to pipes and sockets (the
++ assume blocking sockets). Stdio buffering is surpassed, so the functions are
++ async-safe. However, reading from stdin (STDIN_FILENO) or writing to stdout
++ (STDOUT_FILENO) reintroduces the buffering.
++
++* Paul Janzen
++ Added trio_asprintf and trio_vasprintf, which are compatible with the GNU
++ and BSD interfaces.
++
++* Added scanlist ranges for group scanning (%[]).
++
++* Added width for scanning (missing for floating-point numbers though).
++
++* Added variable size modifier (&) to handle system defined types of unknown
++ size. This modifier makes certain assumptions about the integer sizes, which
++ may not be valid on any machine. Consequently, the modifier will remain
++ undocumented, as it may be removed later.
++
++* Added \777 and \xFF to alternative string scanning (%#s)
++
++* Added the TRIO_REPLACE_STDIO check in the header.
++
++* Improved performance of the multibyte character parsing.
++
++* Fixed positionals (%n$) which had stopped working.
++
++* Fixed hh and ll modifiers to allow exactly two letters and no more.
++
++* Fixed ANSI C++ warnings. Also fixed the compiler warning about casting
++ between integer and pointer (this has been annoying me for ages).
++
++* Fixed snprintf and vsnprintf with zero buffer size.
++
++* Fixed NAN problems (reported by Keith Briggs).
++
++* Fixed parsing of multibyte characters. The format string was not correctly
++ advanced in case of a multibyte character.
++
++* Renamed many of the internal functions to have more consistant names.
++
++* Removed the <quote=c> and <fill=c> modifiers. They are not really worth
++ including. The other <> modifiers may disappear as well.
++
++
++Version 0.20 - 2000/06/05
++-------------------------
++* Added intmax_t and ptrdiff_t support.
++
++* Added support for LC_NUMERIC grouping.
++
++* Added double-dot notation for the conversion base. The style is now
++ %width.precision.base, where any argument can be a number, an asterix
++ indicating a parameter, or be omitted entirely. For example, %*..2i is
++ to specify binary numbers without precision, and with width as a parameter
++ on the va_list.
++
++* Added sticky modifier (!), which makes subsequent specifiers of the same
++ type reuse the current modifiers. Inspired by a suggestion from Gary Porter.
++
++* Added group scanning (%[]). Scanlist ranges and multibyte sequences are not
++ supported yet.
++
++* Added count scanning (%n).
++
++* Changed the number scanning to accept thousand separators and any base.
++
++* Fixed positional for parameters. It is possible to write something like
++ %3$*1$.*2$d (which happens to be the same as %*.*d).
++
++* Fixed precision of integers.
++
++* Fixed parameter flags. Before trio could only handle one parameter flag per
++ specifier, although two (three with double-dot base) were possible.
++
++* Fixed isinf() for those platforms where it is unimplemented.
++
++
++Version 0.18 - 2000/05/27
++-------------------------
++* Rewrote the entire floating-point formatting function (Danny Dulai had
++ reported several errors and even supplied some patches, which unfortunately
++ were lost due to the refactoring).
++
++* Removed the use of strlen() in the declaration of a stack array. This
++ caused problems on some compilers (besides it isn't really ANSI C compliant
++ anyways). Using some arbitrarily chosen maximum value; should examine if
++ some standard defines an upper limit on the length of decimal-point and
++ thousands-separator (sizeof(wchar_t) perhaps?)
++
++* Changed the parsing of the format string to be multibyte aware.
++
++
++Version 0.17 - 2000/05/19
++-------------------------
++* Added INF, -INF, and NAN for floating-point numbers.
++
++* Fixed %#.9g -- alternative with precision.
++
++* Ken Gibson
++ Fixed printing of negative hex numbers
++
++* Joerg (last name unknown)
++ Fixed convertion of non-ASCII characters
++
++
++Version 0.16 - 1999/08/06
++-------------------------
++* Changed the constness of the second argument of StrFloat and StrDouble. The
++ lack of parameter overloading in C is the reason for the strange use of
++ constness in strtof and strtod.
++
++* Cleaned up constness.
++
++
++Version 0.15 - 1999/07/23
++-------------------------
++* Fixed the internal representation of numbers from signed to unsigned. Signed
++ numbers posed a problem for large unsigned numbers (reported by Tero)
++
++* Fixed a tiny bug in trio_vsprintfcat
++
++* Changed the meaning of the max argument of StrAppendMax to be consistant
++ with StrFormatAppendMax. Now it is the maximal size of the entire target
++ buffer, not just the appended size. This makes it easier to avoid buffer
++ overflows (requested by Tero)
++
++
++Version 0.14 - 1999/05/16
++-------------------------
++* Added size_t support (just waiting for a C99 compliant compiler to add
++ ptrdiff_t and intmax_t)
++
++* Rewrote TrioOutStreamDouble so it does not use the libc sprintf to emulate
++ floating-point anylonger.
++
++* Fixed width, precision, and adjustment for numbers and doubles.
++
++
++Version 0.13 - 1999/05/06
++-------------------------
++* Fixed zero padding for %d. Now %d will only zero pad if explicitly requested
++ to do so with the 0 flag (reported by Tero).
++
++* Fixed an incorrect while() condition in TrioGetString (reported by Tero).
++
++
++Version 0.12 - 1999/04/19
++-------------------------
++* Fixed incorrect zero padding of pointers
++
++* Added StrHash with STRIO_HASH_PLAIN
++
++* Added StrFormatDateMax
++
++
++Version 0.11 - 1999/03/25
++-------------------------
++* Made it compile under cygwin
++
++* Fixed a bug were TrioPreprocess would return an error if no formatting chars
++ were found (reported by Tero).
++
++
++Version - 1999/03/19
++--------------------
++* Added trio_strerror and TRIO_ERROR_NAME.
++
++* Changed the error codes to be positive (as errno)
++
++* Fixed two reads of uninitialized memory reported by Purify
++
++* Added binary specifiers 'b' and 'B' (like SCO.) ThousandSeparator can be
++ used to separate nibbles (4 bit)
++
++* Renamed all Internal* functions to Trio*, which seems like a better
++ namespace (even though it is of no practical interest because these
++ functions are not visible beyond the scope of this file.)
++
++
++Version - 1999/03/12
++--------------------
++* Added hex-float format for StrToDouble
++
++* Double references and gaps in the arguments are not allowed (for the %n$
++ format) and in both cases an error code is returned.
++
++* Added StrToDouble (and StrToFloat)
++
++
++Version - 1999/03/08
++--------------------
++* Added InStream and OutStream to the trio_T structure.
++
++* Started work on TrioScan.
++
++* Return values for errors changed. Two macros to unpack the error code has
++ been added to the header.
++
++* Shortshort (hh) flag added.
++
++* %#s also quotes the quote-char now.
++
++* Removed the 'errorInFormat' boolean, which isn't used anymore after the
++ functions bail out with an error instead.
++
++
++Version - 1999/03/04
++--------------------
++* More than MAX_PARAMETERS parametes will now cause the TrioPreprocess()
++ function to return error.
++
++* Unknown flags and/or specifiers cause errors too.
++
++* Added trio_snprintfcat and trio_vsnprintfcat and the defined name
++ StrFormatAppendMax. They append a formatted string to the end of a string.
++
++* Define MAX_PARAMETERS to 128 at all times instead of using NL_ARGMAX when
++ that exists.
++
++* Added platform fixes for Amiga as suggested by Tero Jänkä <tesaja@utu.fi>
++
++
++Version - 1999/01/31
++--------------------
++* vaprintf did add a zero byte even when it had failed.
++
++* Cleaned up the code for locale handling and thousand separator
++
++* Added trio_aprintf() and trio_vaprintf(). They return an allocated string.
++
++* Added thousands separator for numbers
++
++* Added floating point support for *printf
++
++
++Version - 1998/10/20
++--------------------
++* StrMatchCase() called StrMatch() instead of itself recursively
++
++* Rewrote the implementation of *printf and *scanf and put all the code in
++ this file. Extended qualifiers and qualifiers from other standards were
++ added.
++
++* Added StrSpanFunction, StrToLong, and StrToUnsignedLong
++
++
++Version - 1998/05/23
++--------------------
++* Made the StrEqual* functions resistant to NULL pointers
++
++* Turns out strdup() is no standard at all, and some platforms (I seem to
++ recall HP-UX) has problems with it. Made our own StrDuplicate() instead.
++
++* Added StrFormat() and StrFormatMax() to serve as sprintf() and snprintf()
++ respectively.
+diff -up ghostscript-9.07/trio/compare.c.gs_sprintf ghostscript-9.07/trio/compare.c
+--- ghostscript-9.07/trio/compare.c.gs_sprintf 2013-05-09 17:02:39.101447236 +0100
++++ ghostscript-9.07/trio/compare.c 2013-05-09 17:02:39.101447236 +0100
+@@ -0,0 +1,53 @@
++#include "trio.h"
++
++#define compare(format, value) printf("FORMAT: %s\n", format); printf("TRIO: "); trio_printf(format,value); printf("\nLIBC: "); \
++printf(format,value); printf("\n\n");
++
++int main()
++{
++ compare("\"%e\"",2.342E+02);
++ compare("\"%10.4e\"",-2.342E-02);
++ compare("\"%11.4e\"",-2.342E-02);
++ compare("\"%12.4e\"",-2.342E-02);
++ compare("\"%13.4e\"",-2.342E-02);
++ compare("\"%14.4e\"",-2.342E-02);
++ compare("\"%15.4e\"",-2.342E-02);
++ compare("\"%16.4e\"",-2.342E-02);
++ compare("\"%16.4e\"",-2.342E-22);
++ compare("\"%G\"",-2.342E-02);
++ compare("\"%G\"",3.1415e-6);
++ compare("%016e", 3141.5);
++ compare("%16e", 3141.5);
++ compare("%-16e", 3141.5);
++ compare("%010.3e", 3141.5);
++
++ compare("*%5f*", 3.3);
++ compare("*%5f*", 3.0);
++ compare("*%5f*", .999999E-4);
++ compare("*%5f*", .99E-3);
++ compare("*%5f*", 3333.0);
++
++ compare("*%5g*", 3.3);
++ compare("*%5g*", 3.0);
++ compare("*%5g*", .999999E-4);
++ compare("*%5g*", .99E-3);
++ compare("*%5g*", 3333.0);
++ compare("*%5g*", 0.01);
++
++ compare("*%5.g*", 3.3);
++ compare("*%5.g*", 3.0);
++ compare("*%5.g*", .999999E-4);
++ compare("*%5.g*", 1.0E-4);
++ compare("*%5.g*", .99E-3);
++ compare("*%5.g*", 3333.0);
++ compare("*%5.g*", 0.01);
++
++ compare("*%5.2g*", 3.3);
++ compare("*%5.2g*", 3.0);
++ compare("*%5.2g*", .999999E-4);
++ compare("*%5.2g*", .99E-3);
++ compare("*%5.2g*", 3333.0);
++ compare("*%5.2g*", 0.01);
++
++ return 0;
++}
+diff -up ghostscript-9.07/trio/configure.in.gs_sprintf ghostscript-9.07/trio/configure.in
+--- ghostscript-9.07/trio/configure.in.gs_sprintf 2013-05-09 17:02:39.101447236 +0100
++++ ghostscript-9.07/trio/configure.in 2013-05-09 17:02:39.101447236 +0100
+@@ -0,0 +1,54 @@
++dnl
++dnl Configuration for trio
++dnl
++
++AC_INIT
++AC_CONFIG_SRCDIR([triodef.h])
++AC_PREREQ(2.55) dnl autoconf 2.55 was released in 2002
++
++AC_PROG_CC
++ifdef([AC_PROG_CC_STDC], [AC_PROG_CC_STDC])
++AC_LANG([C])
++
++AC_PROG_INSTALL
++AC_PROG_RANLIB
++
++dnl
++dnl Alpha floating-point compiler option.
++dnl
++
++AC_MSG_CHECKING(for IEEE compilation options)
++AC_CACHE_VAL(ac_cv_ieee_option, [
++ AC_COMPILE_IFELSE(AC_LANG_PROGRAM(,[[[
++ #if !(defined(__alpha) && (defined(__DECC) || defined(__DECCXX) || (defined(__osf__) && defined(__LANGUAGE_C__))) && (defined(VMS) || defined(__VMS)))
++ # error "Option needed"
++ typedef int option_needed[-1];
++ #endif
++ ]]]),
++ ac_cv_ieee_option="/IEEE_MODE=UNDERFLOW_TO_ZERO/FLOAT=IEEE",
++ AC_COMPILE_IFELSE(AC_LANG_PROGRAM(,[[[
++ #if !(defined(__alpha) && (defined(__DECC) || defined(__DECCXX) || (defined(__osf__) && defined(__LANGUAGE_C__) && !defined(__GNUC__))) && !(defined(VMS) || defined(__VMS)) && !defined(_CFE))
++ # error "Option needed"
++ typedef int option_needed[-1];
++ #endif
++ ]]]),
++ ac_cv_ieee_option="-ieee",
++ AC_COMPILE_IFELSE(AC_LANG_PROGRAM(,[[[
++ #if !(defined(__alpha) && (defined(__GNUC__) && (defined(__osf__) || defined(__linux__))))
++ # error "Option needed"
++ typedef int option_needed[-1];
++ #endif
++ ]]]),
++ ac_cv_ieee_option="-mieee",
++ ac_cv_ieee_option="none"
++ )
++ )
++ )
++])
++AC_MSG_RESULT($ac_cv_ieee_option)
++if test $ac_cv_ieee_option != none; then
++ CFLAGS="${CFLAGS} ${ac_cv_ieee_option}"
++fi
++
++AC_CONFIG_FILES([Makefile])
++AC_OUTPUT
+diff -up ghostscript-9.07/trio/doc/doc_dynamic.h.gs_sprintf ghostscript-9.07/trio/doc/doc_dynamic.h
+--- ghostscript-9.07/trio/doc/doc_dynamic.h.gs_sprintf 2013-05-09 17:02:39.102447240 +0100
++++ ghostscript-9.07/trio/doc/doc_dynamic.h 2013-05-09 17:02:39.102447240 +0100
+@@ -0,0 +1,31 @@
++/*************************************************************************
++ *
++ * $Id: doc_dynamic.h,v 1.1 2001/12/27 17:29:20 breese Exp $
++ *
++ * Copyright (C) 2001 Bjorn Reese and Daniel Stenberg.
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++ * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
++ *
++ ************************************************************************/
++
++/** @addtogroup DynamicStrings Dynamic String Functions.
++Dynamic string functions.
++
++@b SYNOPSIS
++
++@verbatim
++cc ... -ltrio -lm
++
++#include <triostr.h>
++@endverbatim
++
++@b DESCRIPTION
++
++*/
+diff -up ghostscript-9.07/trio/doc/doc.h.gs_sprintf ghostscript-9.07/trio/doc/doc.h
+--- ghostscript-9.07/trio/doc/doc.h.gs_sprintf 2013-05-09 17:02:39.102447240 +0100
++++ ghostscript-9.07/trio/doc/doc.h 2013-05-09 17:02:39.102447240 +0100
+@@ -0,0 +1,172 @@
++/*************************************************************************
++ *
++ * $Id: doc.h,v 1.20 2006/08/18 11:32:08 breese Exp $
++ *
++ * Copyright (C) 2001 Bjorn Reese and Daniel Stenberg.
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++ * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
++ *
++ ************************************************************************/
++
++/**
++@mainpage
++
++@author Bjørn Reese
++@author Daniel Stenberg
++
++@section intro Introduction
++
++Trio is a fully matured and stable set of printf and string functions
++designed be used by applications with focus on portability or with the
++need for additional features that are not supported by standard stdio
++implementation.
++
++There are several cases where you may want to consider using trio:
++
++@li Portability across heterogeneous platforms.
++@li Embedded systems without stdio support.
++@li Extendability of unsupported features.
++@li Your native version does not do everything you need.
++
++When you write applications that must be portable to a wide range of
++platforms you often have to deal with inadequate implementations of the
++stdio library functions. Most notably is the lack of secure formatting
++functions, such as snprintf, or the lack of parameter reordering commonly
++used for the internationalization of applications, such as the <num>$
++modifier. Sometimes the feature you need is simply not present in stdio.
++So you end up spending much effort on determining which platforms supports
++what, and to write your own versions of various features. This is where
++trio can help you. Trio is a platform-independent implementation of the
++stdio printf and scanf functions and the string library functions.
++
++The functionality described in the stdio standards is a compromise, and
++does unfortunately not include a mechanism to extend the functionality for
++an individual application. Oftentimes an application has the need for an
++extra feature, and the application code can become much more clear and
++readable by using an extension mechanism. Trio supports a range of useful
++extensions such as user-defined specifiers, passing of arguments in arrays,
++localized string scanning, thousand-separators, and arbitrary integer bases.
++
++Trio fully implements the C99 (ISO/IEC 9899:1999) and UNIX98 (the Single
++Unix Specification, Version 2) standards, as well as many features from
++other implemenations, e.g. the GNU libc and BSD4.
++
++@section examples Examples
++
++@subsection ex1 Binary Numbers
++Output an integer as a binary number using a trio extension.
++@verbatim
++ trio_printf("%..2i\n", number);
++@endverbatim
++
++@subsection ex2 Thousand-separator
++Output a number with thousand-separator using a trio extension.
++@verbatim
++ trio_printf("%'f\n", 12345.6);
++@endverbatim
++The thousand-separator described by the locale is used.
++
++@subsection ex3 Fixed Length Array and Sticky Modifier
++Output an fixed length array of floating-point numbers.
++@verbatim
++ double array[] = {1.0, 2.0, 3.0};
++ printf("%.2f %.2f %.2f\n", array[0], array[1], array[2]);
++@endverbatim
++The same with two trio extensions (arguments are passed in an array, and
++the first formatting specifier sets the sticky option so we do not have
++to type all the formatting modifiers for the remaining formatting specifiers)
++@verbatim
++ trio_printfv("%!.2f %f %f\n", array);
++@endverbatim
++Another, and more powerful, application of being able to pass arguments in
++an array is the creation of the printf/scanf statement at run-time, where
++the formatting string, and thus the argument list, is based on an external
++configuration file.
++
++@subsection ex4 Localized scanning
++Parse a string consisting of one or more upper-case alphabetic characters
++followed by one or more numeric characters.
++@verbatim
++ sscanf(buffer, "%[A-Z]%[0-9]", alphabetic, numeric);
++@endverbatim
++The same but with locale using a trio extension.
++@verbatim
++ trio_sscanf(buffer, "%[[:upper:]]%[[:digit:]]", alphabetic, numeric);
++@endverbatim
++
++@section legal Legal Issues
++Trio is distributed under the following license, which allows practically
++anybody to use it in almost any kind of software, including proprietary
++software, without difficulty.
++
++"Copyright (C) 1998-2001 Bjorn Reese and Daniel Stenberg.
++
++Permission to use, copy, modify, and distribute this software for any
++purpose with or without fee is hereby granted, provided that the above
++copyright notice and this permission notice appear in all copies.
++
++THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER."
++
++@section contribution Contribution
++
++@subsection contribute Contribute
++We appreciate any type of contribution, from ideas over improvements to
++error corrections.
++
++The project space contains references to bug and feature tracking,
++mailing-list, and the CVS repository. We prefer communication via the
++mailing-list, but do not require you to be subscribed, because trio is a
++small project.
++
++The project space is located at http://sourceforge.net/projects/ctrio/
++
++@subsection contributors Contributors
++We have received contributions from the following persons (in alphabetic
++order sorted by surname)
++
++@li Craig Berry
++@li Karl Bochert
++@li Stan Boehm
++@li David Byron
++@li Brian Chapman
++@li Robert Collins
++@li Danny Dulai
++@li Bob Friesenhahn
++@li Jon Foster
++@li John Fotheringham
++@li Markus Henke
++@li Ken Gibson
++@li Paul Janzen
++@li Patrick Jessee
++@li Richard Jinks
++@li Tero Jänkä
++@li Howard Kapustein
++@li Rune Enggaard Lausen
++@li Mehdi Lavasani
++@li Alexander Lukyanov
++@li Andreas Maus
++@li Mikey Menezes
++@li Emmanuel Mogenet
++@li Jacob Navia
++@li Jose Ortiz
++@li Joe Orton
++@li Gisli Ottarsson
++@li Mark Pickelmann
++@li Olli Savia
++@li Shaun Tancheff
++@li Marc Werwerft
++@li Igor Zlatkovic
++
++Please let us know, and accept our apology, if we have omitted anybody.
++
++*/
+diff -up ghostscript-9.07/trio/doc/doc_printf.h.gs_sprintf ghostscript-9.07/trio/doc/doc_printf.h
+--- ghostscript-9.07/trio/doc/doc_printf.h.gs_sprintf 2013-05-09 17:02:39.102447240 +0100
++++ ghostscript-9.07/trio/doc/doc_printf.h 2013-05-09 17:02:39.102447240 +0100
+@@ -0,0 +1,532 @@
++/*************************************************************************
++ *
++ * $Id: doc_printf.h,v 1.5 2008/10/12 12:09:51 breese Exp $
++ *
++ * Copyright (C) 2001 Bjorn Reese and Daniel Stenberg.
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++ * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
++ *
++ ************************************************************************/
++
++/** @addtogroup Printf Formatted Printing Functions.
++Variations of formatted printing functions.
++
++@b SYNOPSIS
++
++@verbatim
++cc ... -ltrio -lm
++
++#include <trio.h>
++@endverbatim
++
++@b DESCRIPTION
++
++This documentation is incomplete.
++The documentation of the printf family in [C99] and [UNIX98] also applies
++to the trio counterparts.
++
++All these functions outputs a string which is formatted according to the
++@p format string and the consecutive arguments. The @p format string is
++described in the Formatting section below.
++
++@ref trio_printf, @ref trio_vprintf, and @ref trio_printfv writes the
++output to the standard output stream (stdout).
++
++@ref trio_fprintf, @ref trio_vfprintf, and @ref trio_fprintfv writes the
++output to a given output stream.
++
++@ref trio_dprintf, @ref trio_vdprintf, and @ref trio_dprintfv writes the
++output to a file descriptor (this includes, for example, sockets).
++
++@ref trio_sprintf, @ref trio_vsprintf, and @ref trio_sprintfv writes the
++output into @p buffer.
++
++@ref trio_snprintf, @ref trio_vsnprintf, and @ref trio_snprintfv writes @p
++max - 1 characters into @p buffer followed by a terminating zero character.
++If @p max is 1, then @p buffer will be an empty string. If @p max is 0,
++then @p buffer is left untouched, and can consequently be NULL. The number
++of characters that would have been written to @p buffer, had there been
++sufficient space, is returned.
++
++@ref trio_snprintfcat appends the formatted text at the end of @p buffer.
++
++@ref trio_asprintf, @ref trio_vasprintf, and @ref trio_asprintfv allocates
++and returns an allocated string in @p buffer containing the formatted text.
++
++@b FORMATTING
++
++The @p format string can contain normal text and conversion indicators.
++The normal text can be any character except the nil character (\000 =
++'\0') and the percent character (\045 = '%'). Conversion indicators
++consists of an indication character (%), followed by zero or more conversion
++modifiers, and exactly one conversion specifier.
++
++@b Modifiers
++
++Some modifiers exhibit the same behaviour for all specifiers, other modifiers
++indicate different behaviours for different specifiers, and other modifiers
++are only applicable to certain specifiers. The relationship is described for
++each modifier. The number 9 is used to denotes an arbitrary integer.
++
++@em Positional ( @c 9$ ) [UNIX98]
++
++Normally the arguments supplied to these functions are interpreted
++incrementially from left to right. Arguments can be referenced specifically in
++the format string. The modifier n$ selects the nth argument. The first
++argument is referred as 1$. If this modifier is used, it must be the first
++modifier after the indication character. n$ can also be used for argument
++width, precision, and base.
++
++The performance penalty of using positionals is almost neglible (contrary to
++most other printf implementations).
++
++@li @em Reference @em Mix.
++Mixing normal and positional specifiers is allowed [TRIO]. For example,
++@verbatim
++ trio_printf("%d %3$d %2$d\n", 1, 2, 3);
++@endverbatim
++results in
++@verbatim
++ 1 3 2
++@endverbatim
++Arguments for the printf family are passed on the stack. On most platforms it
++is not possible to determine the size of individual stack elements, so it is
++essential that the format string corresponds exactly to the passed arguments.
++If this is not the case, incorrect values may be put into the result.
++
++@li @em Reference @em Gap.
++For the same reason it is also essential that the format string does not
++contain any &quot;gaps&quot; in the positional arguments. For example,
++@verbatim
++ trio_printf("%1$d %3$d\n", 1, 2, 3);
++@endverbatim
++is NOT allowed. The format string parser has no knowledge about whether the
++second argument is, say, an integer or a long double (which have different
++sizes).
++@verbatim
++@endverbatim
++[UNIX98] describes this as unspecified behaviour. [TRIO] will detect reference
++gaps and return an error.
++
++@li @em Double @em Reference.
++It is also not allowed to reference an argument twice or more. For example,
++@verbatim
++ trio_printf("%1$d %1$lf\n", 1);
++@endverbatim
++is NOT allowed, because it references the first argument as two differently
++sized objects.
++@verbatim
++@endverbatim
++[UNIX98] describes this as unspecified behaviour. [TRIO] will detect double
++references and return an error.
++
++The following two statements are equivalent
++@verbatim
++ trio_printf("|%d %s\n|", 42, "meanings");
++ |42 meanings|
++
++ trio_printf("|%1$d %2$s|\n", 42, "meanings");
++ |42 meanings|
++@endverbatim
++
++@em Width ( @c 9 )
++
++Specifies the minimum width of a field. If the fields has less characters than
++specified by the width, the field will be left adjusted and padded by spaces.
++The adjustment and padding can be changed by the Alignment ( @c - ) and
++Padding ( @c 0 ) modifiers.
++
++The width is specified as a number. If an asterix ( @c * ) is used instead, the
++width will be read from the argument list.
++
++Prefixes, such as 0x for hexadecimal integers, are part of width.
++@verbatim
++ trio_printf("|%10i|\n", 42);
++ | 42|
++@endverbatim
++
++@em Precision ( @c .9 )
++
++The precision has different semantics for the various data types.
++The precision specifies the maximum number of printed characters for strings,
++the number of digits after the decimal-point for floating-point numbers,
++the number of significant digits for the @c g (and @c G) representation of
++floating-point numbers, the minimum number of printed digits for integers.
++@verbatim
++ trio_printf("|%10.8i|%.8i|\n", 42, 42);
++ | 00000042|00000042|
++@endverbatim
++
++@em Base ( @c ..9 ) [TRIO]
++
++Sets the base that the associated integer must be converted to. The base can
++be between 2 and 36 (both included).
++@verbatim
++ trio_printf("|%10.8.2i|%10..2i|%..2i|\n", 42, 42, 42);
++ | 00101010| 101010|101010|
++
++ trio_printf("|%*.8.*i|\n", 10, 2, 42);
++ | 00101010|
++@endverbatim
++
++@em Padding ( @c 0 )
++
++Integer and floating point numbers are prepended by zeros. The number of
++leading zeros are determined by the precision. If precision is not present,
++width is used instead.
++
++@em Short ( @c h )
++
++Integer arguments are read as an ( @c unsigned ) @c short @c int. String
++and character arguments are read as @c char @c * and @c char respectively.
++
++@em Short @em short ( @c hh ) [C99, GNU]
++
++The argument is read as an ( @c unsigned ) @c char.
++
++@em Fixed @em Size ( @c I ) [MSVC]
++
++The argument is read as a fixed sized integer. The modifier is followed by
++a number, which specifies the number of bits in the integer, and can be one
++of the following
++
++@li @c I8
++@li @c I16
++@li @c I32
++@li @c I64 (if 64-bits integers are supported)
++
++Works only for integers (i, u, d, o, x, X)
++
++@em Largest ( @c j ) [C99]
++
++The argument is read as an @c intmax_t / @c uintmax_t, which is defined to
++be the largest signed/unsigned integer.
++
++@em Long ( @c l )
++
++An integral argument is read as an ( @c unsigned ) @c long @c int. A string
++argument is read as a @c wchar_t @c *, and output as a multi-byte character
++sequence.
++
++@em Long @em long ( @c ll ) [C99, UNIX98, GNU]
++
++The argument is read as an ( @c unsigned ) @c long @c long @c int.
++
++@em Long @em double ( @c L ) [C99, UNIX98, GNU]
++
++The argument is read as a @c long @c double.
++
++@em ptrdiff_t ( @c t ) [C99]
++
++The argument is read as a @c ptrdiff_t, which is defined to be the signed
++integer type of the result of subtracting two pointers.
++
++@em Quad ( @c q ) [BSD, GNU]
++
++Corresponds to the long long modifier ( @c ll ).
++
++@em Wide ( @c w ) [MISC]
++
++For a string argument this is equivalent to using the long modifier ( @c l ).
++
++@em size_t ( @c z ) [C99]
++
++The argument is read as a @c size_t, which is defined to be the type
++returned by the @c sizeof operator.
++
++@em size_t ( @c Z ) [GNU]
++
++Corresponds to the size_t modifier ( @c z ).
++
++@em Alternative ( @c # )
++
++Prepend radix indicator for hexadecimal, octal, and binary integer numbers
++and for pointers.
++Always add a decimal-point for floating-point numbers.
++Escape non-printable characters for strings.
++
++@em Spacing ( )
++
++Prepend leading spaces when necessary.
++
++@em Sign ( @c + )
++
++Always prepend a sign to numbers. Normally only the negative sign is prepended
++to a number. With this modifier the positive sign may also be prepended.
++
++@em Alignment ( @c - )
++
++The output will be left-justified in the field specified by the width.
++
++@em Argument ( @c * )
++
++Width, precision, or base is read from the argument list, rather than from
++the formatting string.
++
++@em Quote / @em Grouping ( @c ' ) [MISC]
++
++Groups integers and the integer-part of floating-point numbers according to
++the locale. Quote strings and characters.
++
++@em Sticky ( @c ! ) [TRIO]
++
++The modifiers listed for the current specifier will be reused by subsequent
++specifiers of the same group.
++The following specifier groups exists
++@li Integer ( @c i, @c u, @c d, @c o, @c x, @c X )
++@li Floating-point ( @c f, @c F, @c e, @c E, @c g, @c G, @c a, @c A )
++@li Character ( @c c )
++@li String ( @c s )
++@li Pointer ( @c p )
++@li Count ( @c n )
++@li Errno ( @c m )
++@li Group ( @c [] )
++
++The sticky modifiers are active until superseeded by other sticky modifiers,
++or the end of the format string is reached.
++Local modifiers overrides sticky modifiers for the given specifier only.
++@verbatim
++ trio_printf("|%!08#x|%04x|%x|\n", 42, 42, 42);
++ |0x00002a|0x2a|0x00002a|
++@endverbatim
++
++@b Specifiers
++
++@em Percent ( @c % )
++
++Produce a percent ( @c % ) character. This is used to quote the indication
++character. No modifiers are allowed.
++The full syntax is @c %%.
++@verbatim
++ trio_printf("Percent is %%\n");
++ Percent is %
++@endverbatim
++
++@em Hex @em floats ( @c a, @c A ) [C99]
++
++Output a hexadecimal (base 16) representation of a floating point number. The
++number is automatically preceeded by @c 0x ( or @c 0X ). The exponent is
++@c p ( or @c P ).
++@verbatim
++ trio_printf("|%a|%A|\n", 3.1415, 3.1415e20);
++ |0x3.228bc|0X3.228BCP+14|
++@endverbatim
++
++@em Binary @em numbers ( @c b, @c B ) [MISC - SCO UnixWare 7]
++
++DEPRECATED: Use Base modifier @c %..2i instead.
++
++@em Character ( @c c )
++
++Output a single character.
++
++@li Quote ( @c ' ) [TRIO].
++Quote the character.
++
++@em Decimal ( @c d )
++
++Output a decimal (base 10) representation of a number.
++
++@li Grouping ( @c ' ) [TRIO].
++The number is separated by the locale thousand separator.
++@verbatim
++ trio_printf("|%'ld|\n", 1234567);
++ |1,234,567|
++@endverbatim
++
++@em Floating-point ( @c e, @c E)
++
++Output a decimal floating-point number.
++The style is @c [-]9.99e[-]9, where
++@li @c [-]9.99 is the mantissa (as described for the @c f, @c F specifier), and
++@li @c e[-]9 is the exponent indicator (either @c e or @c E, depending on the
++floating-point specifier), followed by an optional sign and the exponent
++
++If the precision is wider than the maximum number of digits that can be
++represented by the floating-point unit, then the number will be adequately
++rounded. For example, assuming DBL_DIG is 15
++@verbatim
++ trio_printf("|%.18e|\n", (1.0 / 3.0));
++ |3.333333333333333000e-01|
++@endverbatim
++
++@em Floating-point ( @c f, @c F )
++
++Output a decimal floating-point number.
++The style is @c [-]9.99, where
++@li @c [-] is an optional sign (either @c + or @c -),
++@li @c 9 is the integer-part (possibly interspersed with thousand-separators),
++@li @c . is the decimal-point (depending on the locale), and
++@li @c 99 is the fractional-part.
++
++If more digits are needed to output the number, than can be represented with
++the accuracy of the floating-point unit, then the number will be adequately
++rounded. For example, assuming that DBL_DIG is 15
++@verbatim
++ trio_printf("|%f|\n", (2.0 / 3.0) * 1E18);
++ |666666666666666700.000000|
++@endverbatim
++
++The following modifiers holds a special meaning for this specifier
++@li Alternative ( @c # ) [C99].
++Add decimal point.
++@li Grouping ( @c ' ) [TRIO].
++Group integer part of number into thousands (according to locale).
++
++@em Floating-point ( @c g, @c G)
++
++Output a decimal floating-point representation of a number. The format of
++either the @c f, @c F specifier or the @c e, @c E specifier is used, whatever
++produces the shortest result.
++
++@em Integer ( @c i )
++
++Output a signed integer. Default base is 10.
++
++@em Errno ( @c m ) [GNU]
++
++@em Count ( @c n )
++
++Insert into the location pointed to by the argument, the number of octets
++written to the output so far.
++
++@em Octal ( @c o )
++
++Output an octal (base 8) representation of a number.
++
++@em Pointer ( @c p )
++
++Ouput the address of the argument. The address is printed as a hexadecimal
++number. If the argument is the NULL pointer the text @c (nil) will be used
++instead.
++@li Alternative ( @c # ) [TRIO].
++Prepend 0x
++
++@em String ( @c s, @c S )
++
++Output a string. The argument must point to a zero terminated string. If the
++argument is the NULL pointer the text @c (nil) will be used instead.
++@c S is equivalent to @c ls.
++@li Alternative ( @c # ) [TRIO].
++Escape non-printable characters.
++
++Non-printable characters are converted into C escapes, or hexadecimal numbers
++where no C escapes exists for the character. The C escapes, the hexadecimal
++number, and all backslashes are prepended by a backslash ( @c \ ).
++The supported C escapes are
++@li @c \a (\007) = alert
++@li @c \b (\010) = backspace
++@li @c \f (\014) = formfeed
++@li @c \n (\012) = newline
++@li @c \r (\015) = carriage return
++@li @c \t (\011) = horizontal tab
++@li @c \v (\013) = vertical tab
++
++@verbatim
++ trio_printf("|One %s Three|One %'s Three|\n", "Two", "Two");
++ |One Two Three|One "Two" Three|
++
++ trio_printf("|Argument missing %s|\n", NULL);
++ |Argument missing (nil)|
++
++ trio_printf("|%#s|\n", "\007 \a.");
++ |\a \a.|
++@endverbatim
++
++@em Unsigned ( @c u )
++
++Output an unsigned integer. Default base is 10.
++
++@em Hex ( @c x, @c X )
++
++Output a hexadecimal (base 16) representation of a number.
++
++@li Alternative ( @c # ).
++Preceed the number by @c 0x ( or @c 0X ). The two characters are counted
++as part of the width.
++
++@em User-defined ( @c <> )
++
++Invoke user-defined formatting.
++See @ref trio_register for further information.
++
++@b RETURN @b VALUES
++
++All functions returns the number of outputted characters. If an error occured
++then a negative error code is returned [TRIO]. Note that this is a deviation
++from the standard, which simply returns -1 (or EOF) and errno set
++appropriately.
++The error condition can be detected by checking whether the function returns
++a negative number or not, and the number can be parsed with the following
++macros. The error codes are primarily intended as debugging aide for the
++developer.
++
++@li TRIO_EINVAL: Invalid argument.
++@li TRIO_ETOOMANY: Too many arguments.
++@li TRIO_EDBLREF: Double argument reference.
++@li TRIO_EGAP: Argument reference gap.
++@li TRIO_ENOMEM: Out of memory.
++@li TRIO_ERANGE: Invalid range.
++@li TRIO_ERRNO: The error is specified by the errno variable.
++
++Example:
++@verbatim
++ int rc;
++
++ rc = trio_printf("%r\n", 42);
++ if (rc < 0) {
++ if (TRIO_ERROR_CODE(rc) != TRIO_EOF) {
++ trio_printf("Error: %s at position %d\n",
++ TRIO_ERROR_NAME(rc),
++ TRIO_ERROR_POSITION(rc));
++ }
++ }
++@endverbatim
++
++@b SEE @b ALSO
++
++@e trio_scanf, @e trio_register.
++
++@b NOTES
++
++The printfv family uses an array rather than the stack to pass arguments.
++This means that @c short @c int and @c float values will not be handled by
++the default argument promotion in C. Instead, these values must be explicitly
++converted with the Short (h) modifier in both cases.
++
++Example:
++@verbatim
++ void *array[2];
++ float float_number = 42.0;
++ short short_number = 42;
++
++ array[0] = &float_number;
++ array[1] = &short_number;
++
++ trio_printfv("%hf %hd\n", array); /* CORRECT */
++ trio_printfv("%f %d\n", array); /* WRONG */
++@endverbatim
++
++@b CONFORMING @b TO
++
++Throughout this document the following abbreviations have been used to
++indicate what standard a feature conforms to. If nothing else is indicated
++ANSI C (C89) is assumed.
++
++@li [C89] ANSI X3.159-1989
++@li [C99] ISO/IEC 9899:1999
++@li [UNIX98] The Single UNIX Specification, Version 2
++@li [BSD] 4.4BSD
++@li [GNU] GNU libc
++@li [MSVC] Microsoft Visual C
++@li [MISC] Other non-standard sources
++@li [TRIO] Extensions specific for this package
++
++*/
+diff -up ghostscript-9.07/trio/doc/doc_register.h.gs_sprintf ghostscript-9.07/trio/doc/doc_register.h
+--- ghostscript-9.07/trio/doc/doc_register.h.gs_sprintf 2013-05-09 17:02:39.102447240 +0100
++++ ghostscript-9.07/trio/doc/doc_register.h 2013-05-09 17:02:39.102447240 +0100
+@@ -0,0 +1,384 @@
++/*************************************************************************
++ *
++ * $Id: doc_register.h,v 1.3 2008/10/12 12:09:51 breese Exp $
++ *
++ * Copyright (C) 2001 Bjorn Reese and Daniel Stenberg.
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++ * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
++ *
++ ************************************************************************/
++
++/** @addtogroup UserDefined User-defined Formatted Printing Functions.
++Functions for using customized formatting specifiers.
++
++@b SYNOPSIS
++
++@verbatim
++cc ... -ltrio -lm
++
++#include <trio.h>
++#include <triop.h>
++@endverbatim
++
++@b DESCRIPTION
++
++This documentation is incomplete.
++
++@b User-defined @b Specifier
++
++The user-defined specifier consists of a start character (\074 = '<'), an
++optional namespace string followed by a namespace separator (\072 = ':'),
++a format string, an optional skipping separator (\174 = '|'), and an end
++character (\076 = '>').
++
++The namespace string can consist of alphanumeric characters, and is used to
++define a named reference (see below). The namespace is case-sensitive. If no
++namespace is specified, then we use an unnamed reference (see below).
++
++The format can consist of any character except the end character ('>'), the
++namespace separator (':'), the skipping separator ('|'), and the nil character
++(\000).
++
++Any modifier can be used together with the user-defined specifier.
++
++There are two formats for invoking a user-defined specifier. The first format
++is an extension of the normal printf/scanf formatting. It uses the percent
++character (\045 = '%') followed by optional qualifiers and a specifier. For
++example:
++
++@verbatim
++ trio_printf("%<format>\n", my_handle, my_data);
++@endverbatim
++
++Some C compilers can issue a warning if there is a mismatch between specifiers
++and arguments. Unfortunately, these warnings does not work with the first
++format for user-defined specifiers. Therefore the second format has been
++introduced. The second format can only be applied to user-defined specifiers.
++
++The second format starts with a dollar character (\044 = '$') instead of the
++percent character, and is followed by optional qualifiers and the user-defined
++specifier. If the specifier contains a pipe character (\174 = '|'), then
++everything between the pipe character and the end character ('>') is ignored.
++The ignored part can be used to list the normal specifiers that the C compiler
++uses to determine mismatches. For example:
++
++@verbatim
++ trio_printf("$<format|%p%p>\n", my_handle, my_data);
++@endverbatim
++
++@b Registering
++
++A user-defined specifier must be registered before it can be used.
++Unregistered user-defined specifiers are ignored. The @ref trio_register
++function is used to register a user-defined specifier. It takes two argument,
++a callback function and a namespace, and it returns a handle. The handle must
++be used to unregister the specifier later.
++
++The following example registers a user-define specifier with the "my_namespace"
++namespace:
++
++@verbatim
++ my_handle = trio_register(my_callback, "my_namespace");
++@endverbatim
++
++There can only be one user-defined specifier with a given namespace. There
++can be an unlimited number (subject to maximum length of the namespace) of
++different user-defined specifiers.
++
++Passing NULL as the namespace argument results in an anonymous reference.
++There can be an unlimited number of anonymous references.
++
++@b REFERENCES
++
++There are two ways that a registered callback can be called. Either the
++user-defined specifier must contain the registered namespace in the format
++string, or the handle is passed as an argument to the formatted printing
++function.
++
++If the namespace is used, then a user-defined pointer must be passed as an
++argument:
++
++@verbatim
++ trio_printf("%<my_namespace:format>\n", my_data);
++@endverbatim
++
++If the handle is used, then the user-defined specifier must not contain a
++namespace. Instead the handle must be passed as an argument, followed by a
++user-defined pointer:
++
++@verbatim
++ trio_printf("%<format>\n", my_handle, my_data);
++@endverbatim
++
++The two examples above are equivalent.
++
++There must be exactly one user-defined pointer per user-defined specifier.
++This pointer can be used within the callback function with the
++@ref trio_get_argument getter function (see below).
++
++The format string is optional. It can be used within the callback function
++with the @ref trio_get_format getter function.
++
++@b Anonymous @b References
++Anonymous references are specified by passing NULL as the namespace.
++
++The handle must be passed as an argument followed by a user-defined pointer.
++No namespace can be specified.
++
++@verbatim
++ anon_handle = trio_register(callback, NULL);
++ trio_printf("%<format>\n", anon_handle, my_data);
++@endverbatim
++
++@b Restrictions
++
++@li The length of the namespace string cannot exceed 63 characters.
++@li The length of the user-defined format string cannot exceed 255 characters.
++@li User-defined formatting cannot re-define existing specifiers.
++This restriction was imposed because the existing formatting specifiers have
++a well-defined behaviour, and any re-definition would apply globally to an
++application (imagine a third-party library changing the behaviour of a
++specifier that is crusial to your application).
++
++@b CALLBACK @b FUNCTION
++
++The callback function will be called if a matching user-defined specifier
++is found within the formatting string. The callback function takes one input
++parameter, an opaque reference which is needed by the private functions. It
++returns an @c int, which is currently ignored. The prototype is
++
++@verbatim
++ int (*trio_callback_t)(void *ref);
++@endverbatim
++
++See the Example section for full examples.
++
++@b PRINTING @b FUNCTIONS
++
++The following printing functions must only be used inside a callback function.
++These functions will print to the same output medium as the printf function
++which invoked the callback function. For example, if the user-defined
++specifier is used in an sprintf function, then these print functions will
++output their result to the same string.
++
++@b Elementary @b Printing
++
++There are a number of function to print elementary data types.
++
++@li @ref trio_print_int Print a signed integer. For example:
++@verbatim
++ trio_print_int(42);
++@endverbatim
++@li @ref trio_print_uint Print an unsigned integer.
++@li @ref trio_print_double Print a floating-point number.
++@li @ref trio_print_string Print a string. For example:
++@verbatim
++ trio_print_string("Hello World");
++ trio_print_string(trio_get_format());
++@endverbatim
++@li @ref trio_print_pointer Print a pointer.
++
++@b Formatted @b Printing
++
++The functions @ref trio_print_ref, @ref trio_vprint_ref, and
++@ref trio_printv_ref outputs a formatted string just like its printf
++equivalents.
++
++@verbatim
++ trio_print_ref(ref, "There are %d towels\n", 42);
++ trio_print_ref(ref, "%<recursive>\n", recursive_writer, trio_get_argument(ref));
++@endverbatim
++
++@b GETTER @b AND @b SETTER @b FUNCTIONS
++
++The following getter and setter functions must only be used inside a callback
++function. They can either operate on the modifiers or on special data.
++
++@b Modifiers
++
++The value of a modifier, or a boolean indication of its presence or absence,
++can be found or set with the getter and setter functions.
++The generic prototypes of the these getter and setter functions are
++
++@verbatim
++ int trio_get_???(void *ref);
++ void trio_set_???(void *ref, int);
++@endverbatim
++
++where @c ??? refers to a modifier. For example, to get the width of the
++user-defined specifier use
++
++@verbatim
++ int width = trio_get_width(ref);
++@endverbatim
++
++@b Special @b Data
++
++Consider the following user-defined specifier, in its two possible referencing
++presentations.
++
++@verbatim
++ trio_printf("%<format>\n", namespace_writer, argument);
++ trio_printf("%<namespace:format>\n", argument);
++@endverbatim
++
++@ref trio_get_format will get the @p format string, and
++@ref trio_get_argument} will get the @p argument parameter.
++There are no associated setter functions.
++
++@b EXAMPLES
++
++The following examples show various types of user-defined specifiers. Although
++each specifier is demonstrated in isolation, they can all co-exist within the
++same application.
++
++@b Time @b Example
++
++Print the time in the format "HOUR:MINUTE:SECOND" if "time" is specified inside
++the user-defined specifier.
++
++@verbatim
++ static int time_print(void *ref)
++ {
++ const char *format;
++ time_t *data;
++ char buffer[256];
++
++ format = trio_get_format(ref);
++ if ((format) && (strcmp(format, "time") == 0)) {
++ data = trio_get_argument(ref);
++ if (data == NULL)
++ return -1;
++ strftime(buffer, sizeof(buffer), "%H:%M:%S", localtime(data));
++ trio_print_string(ref, buffer);
++ }
++ return 0;
++ }
++@endverbatim
++
++@verbatim
++ int main(void)
++ {
++ void *handle;
++ time_t now = time(NULL);
++
++ handle = trio_register(time_print, "my_time");
++
++ trio_printf("%<time>\n", handle, &now);
++ trio_printf("%<my_time:time>\n", &now);
++
++ trio_unregister(handle);
++ return 0;
++ }
++@endverbatim
++
++@b Complex @b Numbers @b Example
++
++Consider a complex number consisting of a real part, re, and an imaginary part,
++im.
++
++@verbatim
++ struct Complex {
++ double re;
++ double im;
++ };
++@endverbatim
++
++This example can print such a complex number in one of two formats.
++The default format is "re + i im". If the alternative modifier is used, then
++the format is "r exp(i theta)", where r is the length of the complex vector
++(re, im) and theta is its angle.
++
++@verbatim
++ static int complex_print(void *ref)
++ {
++ struct Complex *data;
++ const char *format;
++
++ data = (struct Complex *)trio_get_argument(ref);
++ if (data) {
++ format = trio_get_format(ref);
++
++ if (trio_get_alternative(ref)) {
++ double r, theta;
++
++ r = sqrt(pow(data->re, 2) + pow(data->im, 2));
++ theta = acos(data->re / r);
++ trio_print_ref(ref, "%#f exp(i %#f)", r, theta);
++
++ } else {
++ trio_print_ref(ref, "%#f + i %#f", data->re, data->im);
++ }
++ }
++ return 0;
++ }
++@endverbatim
++
++@verbatim
++ int main(void)
++ {
++ void *handle;
++
++ handle = trio_register(complex_print, "complex");
++
++ /* Normal format. With handle and the with namespace */
++ trio_printf("%<>\n", handle, &complex);
++ trio_printf("%<complex:>\n", &complex);
++ /* In exponential notation */
++ trio_printf("%#<>\n", handle, &complex);
++ trio_printf("%#<complex:unused data>\n", &complex);
++
++ trio_unregister(handle);
++ return 0;
++ }
++@endverbatim
++
++@b RETURN @b VALUES
++
++@ref trio_register returns a handle, or NULL if an error occured.
++
++@b SEE @b ALSO
++
++@ref trio_printf
++
++@b NOTES
++
++User-defined specifiers, @ref trio_register, and @ref trio_unregister are
++not thread-safe. In multi-threaded applications they must be guarded by
++mutexes. Trio provides two special callback functions, called ":enter" and
++":leave", which are invoked every time a thread-unsafe operation is attempted.
++As the thread model is determined by the application, these callback functions
++must be implemented by the application.
++
++The following callback functions are for demonstration-purposes only.
++Replace their bodies with locking and unlocking of a mutex to achieve
++thread-safety.
++@verbatim
++ static int enter_region(void *ref)
++ {
++ fprintf(stderr, "Enter Region\n");
++ return 1;
++ }
++
++ static int leave_region(void *ref)
++ {
++ fprintf(stderr, "Leave Region\n");
++ return 1;
++ }
++@endverbatim
++These two callbacks must be registered before other callbacks are registered.
++@verbatim
++ trio_register(enter_region, ":enter");
++ trio_register(leave_region, ":leave");
++
++ another_handle = trio_register(another_callback, NULL);
++@endverbatim
++
++*/
+diff -up ghostscript-9.07/trio/doc/doc_scanf.h.gs_sprintf ghostscript-9.07/trio/doc/doc_scanf.h
+--- ghostscript-9.07/trio/doc/doc_scanf.h.gs_sprintf 2013-05-09 17:02:39.102447240 +0100
++++ ghostscript-9.07/trio/doc/doc_scanf.h 2013-05-09 17:02:39.102447240 +0100
+@@ -0,0 +1,120 @@
++/*************************************************************************
++ *
++ * $Id: doc_scanf.h,v 1.1 2001/12/27 17:29:20 breese Exp $
++ *
++ * Copyright (C) 2001 Bjorn Reese and Daniel Stenberg.
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++ * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
++ *
++ ************************************************************************/
++
++/** @addtogroup Scanf Formatted Scanning Functions.
++Variations of formatted scanning functions.
++
++@b SYNOPSIS
++
++@verbatim
++cc ... -ltrio -lm
++
++#include <trio.h>
++@endverbatim
++
++@b DESCRIPTION
++
++This documentation is incomplete.
++The documentation of the scanf family in [C99] and [UNIX98] also applies
++to the trio counterparts.
++
++@b SCANNING
++
++The scanning is controlled by the format string.
++The format string can contain normal text and conversion indicators.
++The normal text can be any character except the nil character
++(\000) and the percent character (\045 = '\%').
++Conversion indicators consists of an indication character (%), followed by
++zero or more conversion modifiers, and exactly one conversion specifier.
++
++@b Modifiers
++
++@em Positional ( @c 9$ ) [UNIX98]
++
++See @ref trio_printf.
++
++@b Specifiers
++
++@em Percent ( @c % )
++
++@em Character ( @c c )
++
++@em Decimal ( @c d )
++
++@em Floating-point ( @c a, @c A, @c e, @c E, @c f, @c F, @c g, @c G )
++
++@em Integer ( @c i )
++
++@em Count ( @c n )
++
++@em Octal ( @c o )
++
++@em Pointer ( @c p )
++
++@em String ( @c s )
++
++@em Unsigned ( @c u )
++
++@em Hex ( @c x, @c X )
++
++@em Scanlist ( @c [] )
++
++Scanlist Exclusion (@c ^ )
++
++Scanlist Range ( @c - ) [TRIO]
++
++@li Only increasing ranges, i.e. @c [a-b], but not @c [b-a].
++@li Transitive ranges, ie. @c [a-b-c] equals @c [a-c].
++@li Trailing minus, ie. @c [a-] is interpreted as an @c a and a @c -.
++@li Duplicates are ignored.
++
++Scanlist Equivalence Class Expression ( @c [= @c =] ) [TRIO]
++
++Locale dependent (LC_COLLATE).
++Only one expression can appear inside the delimiters.
++@li @c [=a=] All letters in the same equivalence class as the letter @c a.
++@verbatim
++ trio_scanf("%[[=a=]b]\n", buffer);
++ trio_scanf("%[[=a=][=b=]]\n", buffer);
++@endverbatim
++
++Scanlist Character Class Expression ( @c [: @c :]) [TRIO]
++Locale dependent (LC_CTYPE).
++Only one expression can appear inside the delimiters.
++@li @c [:alnum:] Same as @c [:alpha:] and @c [:digit:]
++@li @c [:alpha:] Same as @c [:lower:] and @c [:upper:]
++@li @c [:cntrl:] Control characters
++@li @c [:digit:] Decimal digits
++@li @c [:graph:] Printable characters except space
++@li @c [:lower:] Lower case alphabetic letters
++@li @c [:print:] Printable characters
++@li @c [:punct:] Punctuation
++@li @c [:space:] Whitespace characters
++@li @c [:upper:] Upper case alphabetic letters
++@li @c [:xdigit:] Hexadecimal digits
++@verbatim
++ trio_scanf("%[[:alnum:]]\n", buffer);
++ trio_scanf("%[[:alpha:][:digit:]]\n", buffer);
++@endverbatim
++
++@b RETURN @b VALUES
++
++@b SEE @b ALSO
++
++@ref trio_printf
++
++*/
+diff -up ghostscript-9.07/trio/doc/doc_static.h.gs_sprintf ghostscript-9.07/trio/doc/doc_static.h
+--- ghostscript-9.07/trio/doc/doc_static.h.gs_sprintf 2013-05-09 17:02:39.103447244 +0100
++++ ghostscript-9.07/trio/doc/doc_static.h 2013-05-09 17:02:39.103447244 +0100
+@@ -0,0 +1,61 @@
++/*************************************************************************
++ *
++ * $Id: doc_static.h,v 1.1 2001/12/27 17:29:20 breese Exp $
++ *
++ * Copyright (C) 2001 Bjorn Reese and Daniel Stenberg.
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++ * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
++ *
++ ************************************************************************/
++
++/** @addtogroup StaticStrings Static String Functions.
++Replacements for the standard C string functions.
++
++@b SYNOPSIS
++
++@verbatim
++cc ... -ltrio -lm
++
++#include <triostr.h>
++@endverbatim
++
++@b DESCRIPTION
++
++This package renames, fixes, and extends the standard C string handling
++functions.
++
++@b Naming
++
++Renaming is done to provide more clear names, to provide a consistant naming
++and argument policy, and to hide portability issues.
++
++@li All functions starts with "trio_".
++@li Target is always the first argument, if present, except where the target
++is optional, such as @ref trio_to_double.
++@li Functions requiring a size for target includes "_max" in its name, and
++the size is always the second argument.
++@li Functions performing case-sensitive operations includes "_case" in its
++name.
++
++@b Fixing
++
++Fixing is done to avoid subtle error conditions.
++For example, @c strncpy does not terminate the result with a zero if the
++source string is bigger than the maximal length, so technically the result
++is not a C string anymore. @ref trio_copy_max makes sure that the result
++is zero terminated.
++
++@b Extending
++
++Extending is done to provide a richer set of fundamental functions.
++This includes functionality such as wildcard matching ( @c trio_match )
++and calculation of hash values ( @c trio_hash ).
++
++*/
+diff -up ghostscript-9.07/trio/doc/footer.html.gs_sprintf ghostscript-9.07/trio/doc/footer.html
+--- ghostscript-9.07/trio/doc/footer.html.gs_sprintf 2013-05-09 17:02:39.103447244 +0100
++++ ghostscript-9.07/trio/doc/footer.html 2013-05-09 17:02:39.103447244 +0100
+@@ -0,0 +1,4 @@
++<HR>
++<center class="copyright">Copyright (C) 2001 - 2006 Bj&oslash;rn Reese and Daniel Stenberg.</center>
++</body>
++</html>
+diff -up ghostscript-9.07/trio/doc/header.html.gs_sprintf ghostscript-9.07/trio/doc/header.html
+--- ghostscript-9.07/trio/doc/header.html.gs_sprintf 2013-05-09 17:02:39.103447244 +0100
++++ ghostscript-9.07/trio/doc/header.html 2013-05-09 17:02:39.103447244 +0100
+@@ -0,0 +1,8 @@
++<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
++<html>
++<head>
++ <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
++ <title>TRIO</title>
++ <link href="trio.css" rel="stylesheet" type="text/css">
++</head>
++<body>
+diff -up ghostscript-9.07/trio/doc/trio.cfg.gs_sprintf ghostscript-9.07/trio/doc/trio.cfg
+--- ghostscript-9.07/trio/doc/trio.cfg.gs_sprintf 2013-05-09 17:02:39.103447244 +0100
++++ ghostscript-9.07/trio/doc/trio.cfg 2013-05-09 17:02:39.103447244 +0100
+@@ -0,0 +1,873 @@
++# Doxyfile 1.2.12
++
++# This file describes the settings to be used by the documentation system
++# doxygen (www.doxygen.org) for a project
++#
++# All text after a hash (#) is considered a comment and will be ignored
++# The format is:
++# TAG = value [value, ...]
++# For lists items can also be appended using:
++# TAG += value [value, ...]
++# Values that contain spaces should be placed between quotes (" ")
++
++#---------------------------------------------------------------------------
++# General configuration options
++#---------------------------------------------------------------------------
++
++# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
++# by quotes) that should identify the project.
++
++PROJECT_NAME = TRIO
++
++# The PROJECT_NUMBER tag can be used to enter a project or revision number.
++# This could be handy for archiving the generated documentation or
++# if some version control system is used.
++
++PROJECT_NUMBER =
++
++# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
++# base path where the generated documentation will be put.
++# If a relative path is entered, it will be relative to the location
++# where doxygen was started. If left blank the current directory will be used.
++
++OUTPUT_DIRECTORY =
++
++# The OUTPUT_LANGUAGE tag is used to specify the language in which all
++# documentation generated by doxygen is written. Doxygen will use this
++# information to generate all constant output in the proper language.
++# The default language is English, other supported languages are:
++# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French,
++# German, Hungarian, Italian, Japanese, Korean, Norwegian, Polish,
++# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish.
++
++OUTPUT_LANGUAGE = English
++
++# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
++# documentation are documented, even if no documentation was available.
++# Private class members and static file members will be hidden unless
++# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
++
++EXTRACT_ALL = NO
++
++# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
++# will be included in the documentation.
++
++EXTRACT_PRIVATE = NO
++
++# If the EXTRACT_STATIC tag is set to YES all static members of a file
++# will be included in the documentation.
++
++EXTRACT_STATIC = NO
++
++# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
++# undocumented members of documented classes, files or namespaces.
++# If set to NO (the default) these members will be included in the
++# various overviews, but no documentation section is generated.
++# This option has no effect if EXTRACT_ALL is enabled.
++
++HIDE_UNDOC_MEMBERS = YES
++
++# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
++# undocumented classes that are normally visible in the class hierarchy.
++# If set to NO (the default) these class will be included in the various
++# overviews. This option has no effect if EXTRACT_ALL is enabled.
++
++HIDE_UNDOC_CLASSES = YES
++
++# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
++# include brief member descriptions after the members that are listed in
++# the file and class documentation (similar to JavaDoc).
++# Set to NO to disable this.
++
++BRIEF_MEMBER_DESC = YES
++
++# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
++# the brief description of a member or function before the detailed description.
++# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
++# brief descriptions will be completely suppressed.
++
++REPEAT_BRIEF = YES
++
++# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
++# Doxygen will generate a detailed section even if there is only a brief
++# description.
++
++ALWAYS_DETAILED_SEC = NO
++
++# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
++# path before files name in the file list and in the header files. If set
++# to NO the shortest path that makes the file name unique will be used.
++
++FULL_PATH_NAMES = NO
++
++# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
++# can be used to strip a user defined part of the path. Stripping is
++# only done if one of the specified strings matches the left-hand part of
++# the path. It is allowed to use relative paths in the argument list.
++
++STRIP_FROM_PATH =
++
++# The INTERNAL_DOCS tag determines if documentation
++# that is typed after a \internal command is included. If the tag is set
++# to NO (the default) then the documentation will be excluded.
++# Set it to YES to include the internal documentation.
++
++INTERNAL_DOCS = NO
++
++# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
++# doxygen to hide any special comment blocks from generated source code
++# fragments. Normal C and C++ comments will always remain visible.
++
++STRIP_CODE_COMMENTS = YES
++
++# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
++# file names in lower case letters. If set to YES upper case letters are also
++# allowed. This is useful if you have classes or files whose names only differ
++# in case and if your file system supports case sensitive file names. Windows
++# users are adviced to set this option to NO.
++
++CASE_SENSE_NAMES = NO
++
++# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
++# (but less readable) file names. This can be useful is your file systems
++# doesn't support long names like on DOS, Mac, or CD-ROM.
++
++SHORT_NAMES = NO
++
++# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
++# will show members with their full class and namespace scopes in the
++# documentation. If set to YES the scope will be hidden.
++
++HIDE_SCOPE_NAMES = NO
++
++# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
++# will generate a verbatim copy of the header file for each class for
++# which an include is specified. Set to NO to disable this.
++
++VERBATIM_HEADERS = NO
++
++# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
++# will put list of the files that are included by a file in the documentation
++# of that file.
++
++SHOW_INCLUDE_FILES = NO
++
++# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
++# will interpret the first line (until the first dot) of a JavaDoc-style
++# comment as the brief description. If set to NO, the JavaDoc
++# comments will behave just like the Qt-style comments (thus requiring an
++# explict @brief command for a brief description.
++
++JAVADOC_AUTOBRIEF = YES
++
++# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
++# member inherits the documentation from any documented member that it
++# reimplements.
++
++INHERIT_DOCS = YES
++
++# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
++# is inserted in the documentation for inline members.
++
++INLINE_INFO = YES
++
++# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
++# will sort the (detailed) documentation of file and class members
++# alphabetically by member name. If set to NO the members will appear in
++# declaration order.
++
++SORT_MEMBER_DOCS = YES
++
++# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
++# tag is set to YES, then doxygen will reuse the documentation of the first
++# member in the group (if any) for the other members of the group. By default
++# all members of a group must be documented explicitly.
++
++DISTRIBUTE_GROUP_DOC = NO
++
++# The TAB_SIZE tag can be used to set the number of spaces in a tab.
++# Doxygen uses this value to replace tabs by spaces in code fragments.
++
++TAB_SIZE = 8
++
++# The GENERATE_TODOLIST tag can be used to enable (YES) or
++# disable (NO) the todo list. This list is created by putting \todo
++# commands in the documentation.
++
++GENERATE_TODOLIST = YES
++
++# The GENERATE_TESTLIST tag can be used to enable (YES) or
++# disable (NO) the test list. This list is created by putting \test
++# commands in the documentation.
++
++GENERATE_TESTLIST = YES
++
++# The GENERATE_BUGLIST tag can be used to enable (YES) or
++# disable (NO) the bug list. This list is created by putting \bug
++# commands in the documentation.
++
++GENERATE_BUGLIST = YES
++
++# This tag can be used to specify a number of aliases that acts
++# as commands in the documentation. An alias has the form "name=value".
++# For example adding "sideeffect=\par Side Effects:\n" will allow you to
++# put the command \sideeffect (or @sideeffect) in the documentation, which
++# will result in a user defined paragraph with heading "Side Effects:".
++# You can put \n's in the value part of an alias to insert newlines.
++
++ALIASES =
++
++# The ENABLED_SECTIONS tag can be used to enable conditional
++# documentation sections, marked by \if sectionname ... \endif.
++
++ENABLED_SECTIONS =
++
++# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
++# the initial value of a variable or define consist of for it to appear in
++# the documentation. If the initializer consists of more lines than specified
++# here it will be hidden. Use a value of 0 to hide initializers completely.
++# The appearance of the initializer of individual variables and defines in the
++# documentation can be controlled using \showinitializer or \hideinitializer
++# command in the documentation regardless of this setting.
++
++MAX_INITIALIZER_LINES = 30
++
++# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
++# only. Doxygen will then generate output that is more tailored for C.
++# For instance some of the names that are used will be different. The list
++# of all members will be omitted, etc.
++
++OPTIMIZE_OUTPUT_FOR_C = YES
++
++# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
++# at the bottom of the documentation of classes and structs. If set to YES the
++# list will mention the files that were used to generate the documentation.
++
++SHOW_USED_FILES = YES
++
++#---------------------------------------------------------------------------
++# configuration options related to warning and progress messages
++#---------------------------------------------------------------------------
++
++# The QUIET tag can be used to turn on/off the messages that are generated
++# by doxygen. Possible values are YES and NO. If left blank NO is used.
++
++QUIET = NO
++
++# The WARNINGS tag can be used to turn on/off the warning messages that are
++# generated by doxygen. Possible values are YES and NO. If left blank
++# NO is used.
++
++WARNINGS = YES
++
++# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
++# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
++# automatically be disabled.
++
++WARN_IF_UNDOCUMENTED = YES
++
++# The WARN_FORMAT tag determines the format of the warning messages that
++# doxygen can produce. The string should contain the $file, $line, and $text
++# tags, which will be replaced by the file and line number from which the
++# warning originated and the warning text.
++
++WARN_FORMAT =
++
++# The WARN_LOGFILE tag can be used to specify a file to which warning
++# and error messages should be written. If left blank the output is written
++# to stderr.
++
++WARN_LOGFILE =
++
++#---------------------------------------------------------------------------
++# configuration options related to the input files
++#---------------------------------------------------------------------------
++
++# The INPUT tag can be used to specify the files and/or directories that contain
++# documented source files. You may enter file names like "myfile.cpp" or
++# directories like "/usr/src/myproject". Separate the files or directories
++# with spaces.
++
++INPUT = . doc
++
++# If the value of the INPUT tag contains directories, you can use the
++# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
++# and *.h) to filter out the source-files in the directories. If left
++# blank file matching one of the following patterns are included:
++# *.c *.cc *.cxx *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
++# *.h++ *.idl
++
++FILE_PATTERNS = *.h *.c
++
++# The RECURSIVE tag can be used to turn specify whether or not subdirectories
++# should be searched for input files as well. Possible values are YES and NO.
++# If left blank NO is used.
++
++RECURSIVE = NO
++
++# The EXCLUDE tag can be used to specify files and/or directories that should
++# excluded from the INPUT source files. This way you can easily exclude a
++# subdirectory from a directory tree whose root is specified with the INPUT tag.
++
++EXCLUDE =
++
++# If the value of the INPUT tag contains directories, you can use the
++# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
++# certain files from those directories.
++
++EXCLUDE_PATTERNS =
++
++# The EXAMPLE_PATH tag can be used to specify one or more files or
++# directories that contain example code fragments that are included (see
++# the \include command).
++
++EXAMPLE_PATH = doc
++
++# If the value of the EXAMPLE_PATH tag contains directories, you can use the
++# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
++# and *.h) to filter out the source-files in the directories. If left
++# blank all files are included.
++
++EXAMPLE_PATTERNS =
++
++# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
++# searched for input files to be used with the \include or \dontinclude
++# commands irrespective of the value of the RECURSIVE tag.
++# Possible values are YES and NO. If left blank NO is used.
++
++EXAMPLE_RECURSIVE = NO
++
++# The IMAGE_PATH tag can be used to specify one or more files or
++# directories that contain image that are included in the documentation (see
++# the \image command).
++
++IMAGE_PATH =
++
++# The INPUT_FILTER tag can be used to specify a program that doxygen should
++# invoke to filter for each input file. Doxygen will invoke the filter program
++# by executing (via popen()) the command <filter> <input-file>, where <filter>
++# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
++# input file. Doxygen will then use the output that the filter program writes
++# to standard output.
++
++INPUT_FILTER =
++
++# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
++# INPUT_FILTER) will be used to filter the input files when producing source
++# files to browse.
++
++FILTER_SOURCE_FILES = NO
++
++#---------------------------------------------------------------------------
++# configuration options related to source browsing
++#---------------------------------------------------------------------------
++
++# If the SOURCE_BROWSER tag is set to YES then a list of source files will
++# be generated. Documented entities will be cross-referenced with these sources.
++
++SOURCE_BROWSER = NO
++
++# Setting the INLINE_SOURCES tag to YES will include the body
++# of functions and classes directly in the documentation.
++
++INLINE_SOURCES = NO
++
++# If the REFERENCED_BY_RELATION tag is set to YES (the default)
++# then for each documented function all documented
++# functions referencing it will be listed.
++
++REFERENCED_BY_RELATION = YES
++
++# If the REFERENCES_RELATION tag is set to YES (the default)
++# then for each documented function all documented entities
++# called/used by that function will be listed.
++
++REFERENCES_RELATION = YES
++
++#---------------------------------------------------------------------------
++# configuration options related to the alphabetical class index
++#---------------------------------------------------------------------------
++
++# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
++# of all compounds will be generated. Enable this if the project
++# contains a lot of classes, structs, unions or interfaces.
++
++ALPHABETICAL_INDEX = NO
++
++# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
++# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
++# in which this list will be split (can be a number in the range [1..20])
++
++COLS_IN_ALPHA_INDEX = 5
++
++# In case all classes in a project start with a common prefix, all
++# classes will be put under the same header in the alphabetical index.
++# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
++# should be ignored while generating the index headers.
++
++IGNORE_PREFIX =
++
++#---------------------------------------------------------------------------
++# configuration options related to the HTML output
++#---------------------------------------------------------------------------
++
++# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
++# generate HTML output.
++
++GENERATE_HTML = YES
++
++# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
++# If a relative path is entered the value of OUTPUT_DIRECTORY will be
++# put in front of it. If left blank `html' will be used as the default path.
++
++HTML_OUTPUT =
++
++# The HTML_HEADER tag can be used to specify a personal HTML header for
++# each generated HTML page. If it is left blank doxygen will generate a
++# standard header.
++
++HTML_HEADER = doc/header.html
++
++# The HTML_FOOTER tag can be used to specify a personal HTML footer for
++# each generated HTML page. If it is left blank doxygen will generate a
++# standard footer.
++
++HTML_FOOTER = doc/footer.html
++
++# The HTML_STYLESHEET tag can be used to specify a user defined cascading
++# style sheet that is used by each HTML page. It can be used to
++# fine-tune the look of the HTML output. If the tag is left blank doxygen
++# will generate a default style sheet
++
++HTML_STYLESHEET = doc/trio.css
++
++# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
++# files or namespaces will be aligned in HTML using tables. If set to
++# NO a bullet list will be used.
++
++HTML_ALIGN_MEMBERS = YES
++
++# If the GENERATE_HTMLHELP tag is set to YES, additional index files
++# will be generated that can be used as input for tools like the
++# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
++# of the generated HTML documentation.
++
++GENERATE_HTMLHELP = NO
++
++# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
++# controls if a separate .chi index file is generated (YES) or that
++# it should be included in the master .chm file (NO).
++
++GENERATE_CHI = NO
++
++# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
++# controls whether a binary table of contents is generated (YES) or a
++# normal table of contents (NO) in the .chm file.
++
++BINARY_TOC = NO
++
++# The TOC_EXPAND flag can be set to YES to add extra items for group members
++# to the contents of the Html help documentation and to the tree view.
++
++TOC_EXPAND = NO
++
++# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
++# top of each HTML page. The value NO (the default) enables the index and
++# the value YES disables it.
++
++DISABLE_INDEX = NO
++
++# This tag can be used to set the number of enum values (range [1..20])
++# that doxygen will group on one line in the generated HTML documentation.
++
++ENUM_VALUES_PER_LINE = 4
++
++# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
++# generated containing a tree-like index structure (just like the one that
++# is generated for HTML Help). For this to work a browser that supports
++# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+,
++# or Internet explorer 4.0+). Note that for large projects the tree generation
++# can take a very long time. In such cases it is better to disable this feature.
++# Windows users are probably better off using the HTML help feature.
++
++GENERATE_TREEVIEW = NO
++
++# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
++# used to set the initial width (in pixels) of the frame in which the tree
++# is shown.
++
++TREEVIEW_WIDTH = 250
++
++#---------------------------------------------------------------------------
++# configuration options related to the LaTeX output
++#---------------------------------------------------------------------------
++
++# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
++# generate Latex output.
++
++GENERATE_LATEX = NO
++
++# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
++# If a relative path is entered the value of OUTPUT_DIRECTORY will be
++# put in front of it. If left blank `latex' will be used as the default path.
++
++LATEX_OUTPUT =
++
++# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
++# LaTeX documents. This may be useful for small projects and may help to
++# save some trees in general.
++
++COMPACT_LATEX = NO
++
++# The PAPER_TYPE tag can be used to set the paper type that is used
++# by the printer. Possible values are: a4, a4wide, letter, legal and
++# executive. If left blank a4wide will be used.
++
++PAPER_TYPE = a4wide
++
++# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
++# packages that should be included in the LaTeX output.
++
++EXTRA_PACKAGES =
++
++# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
++# the generated latex document. The header should contain everything until
++# the first chapter. If it is left blank doxygen will generate a
++# standard header. Notice: only use this tag if you know what you are doing!
++
++LATEX_HEADER =
++
++# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
++# is prepared for conversion to pdf (using ps2pdf). The pdf file will
++# contain links (just like the HTML output) instead of page references
++# This makes the output suitable for online browsing using a pdf viewer.
++
++PDF_HYPERLINKS = NO
++
++# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
++# plain latex in the generated Makefile. Set this option to YES to get a
++# higher quality PDF documentation.
++
++USE_PDFLATEX = NO
++
++# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
++# command to the generated LaTeX files. This will instruct LaTeX to keep
++# running if errors occur, instead of asking the user for help.
++# This option is also used when generating formulas in HTML.
++
++LATEX_BATCHMODE = NO
++
++#---------------------------------------------------------------------------
++# configuration options related to the RTF output
++#---------------------------------------------------------------------------
++
++# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
++# The RTF output is optimised for Word 97 and may not look very pretty with
++# other RTF readers or editors.
++
++GENERATE_RTF = NO
++
++# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
++# If a relative path is entered the value of OUTPUT_DIRECTORY will be
++# put in front of it. If left blank `rtf' will be used as the default path.
++
++RTF_OUTPUT =
++
++# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
++# RTF documents. This may be useful for small projects and may help to
++# save some trees in general.
++
++COMPACT_RTF = NO
++
++# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
++# will contain hyperlink fields. The RTF file will
++# contain links (just like the HTML output) instead of page references.
++# This makes the output suitable for online browsing using WORD or other
++# programs which support those fields.
++# Note: wordpad (write) and others do not support links.
++
++RTF_HYPERLINKS = NO
++
++# Load stylesheet definitions from file. Syntax is similar to doxygen's
++# config file, i.e. a series of assigments. You only have to provide
++# replacements, missing definitions are set to their default value.
++
++RTF_STYLESHEET_FILE =
++
++# Set optional variables used in the generation of an rtf document.
++# Syntax is similar to doxygen's config file.
++
++RTF_EXTENSIONS_FILE =
++
++#---------------------------------------------------------------------------
++# configuration options related to the man page output
++#---------------------------------------------------------------------------
++
++# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
++# generate man pages
++
++GENERATE_MAN = NO
++
++# The MAN_OUTPUT tag is used to specify where the man pages will be put.
++# If a relative path is entered the value of OUTPUT_DIRECTORY will be
++# put in front of it. If left blank `man' will be used as the default path.
++
++MAN_OUTPUT =
++
++# The MAN_EXTENSION tag determines the extension that is added to
++# the generated man pages (default is the subroutine's section .3)
++
++MAN_EXTENSION =
++
++# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
++# then it will generate one additional man file for each entity
++# documented in the real man page(s). These additional files
++# only source the real man page, but without them the man command
++# would be unable to find the correct page. The default is NO.
++
++MAN_LINKS = NO
++
++#---------------------------------------------------------------------------
++# configuration options related to the XML output
++#---------------------------------------------------------------------------
++
++# If the GENERATE_XML tag is set to YES Doxygen will
++# generate an XML file that captures the structure of
++# the code including all documentation. Note that this
++# feature is still experimental and incomplete at the
++# moment.
++
++GENERATE_XML = NO
++
++#---------------------------------------------------------------------------
++# Configuration options related to the preprocessor
++#---------------------------------------------------------------------------
++
++# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
++# evaluate all C-preprocessor directives found in the sources and include
++# files.
++
++ENABLE_PREPROCESSING = YES
++
++# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
++# names in the source code. If set to NO (the default) only conditional
++# compilation will be performed. Macro expansion can be done in a controlled
++# way by setting EXPAND_ONLY_PREDEF to YES.
++
++MACRO_EXPANSION = YES
++
++# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
++# then the macro expansion is limited to the macros specified with the
++# PREDEFINED and EXPAND_AS_PREDEFINED tags.
++
++EXPAND_ONLY_PREDEF = YES
++
++# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
++# in the INCLUDE_PATH (see below) will be search if a #include is found.
++
++SEARCH_INCLUDES = YES
++
++# The INCLUDE_PATH tag can be used to specify one or more directories that
++# contain include files that are not input files but should be processed by
++# the preprocessor.
++
++INCLUDE_PATH =
++
++# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
++# patterns (like *.h and *.hpp) to filter out the header-files in the
++# directories. If left blank, the patterns specified with FILE_PATTERNS will
++# be used.
++
++INCLUDE_FILE_PATTERNS =
++
++# The PREDEFINED tag can be used to specify one or more macro names that
++# are defined before the preprocessor is started (similar to the -D option of
++# gcc). The argument of the tag is a list of macros of the form: name
++# or name=definition (no spaces). If the definition and the = are
++# omitted =1 is assumed.
++
++PREDEFINED = __STDC__=1 TRIO_DOCUMENTATION= TRIO_PUBLIC= TRIO_PRIVATE=static TRIO_CONST=const TRIO_VOLATILE=volatile TRIO_SIGNED=signed TRIO_INLINE=inline TRIO_NOARGS=void TRIO_ARGS1(z,a)=(a) TRIO_ARGS2(z,a,b)=(a,b) TRIO_ARGS3(z,a,b,c)=(a,b,c) TRIO_ARGS4(z,a,b,c,d)=(a,b,c,d) TRIO_ARGS5(z,a,b,c,d,e)=(a,b,c,d,e) TRIO_ARGS6(z,a,b,c,d,e,f)=(a,b,c,d,e,f) TRIO_VARGS2(z,a,b)=(a,b) TRIO_VARGS3(z,a,b,c)=(a,b,c) TRIO_VARGS4(z,a,b,c,d)=(a,b,c,d) TRIO_VARGS5(z,a,b,c,d,e)=(a,b,c,d,e)
++
++# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
++# this tag can be used to specify a list of macro names that should be expanded.
++# The macro definition that is found in the sources will be used.
++# Use the PREDEFINED tag if you want to use a different macro definition.
++
++EXPAND_AS_DEFINED =
++
++# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
++# doxygen's preprocessor will remove all function-like macros that are alone
++# on a line and do not end with a semicolon. Such function macros are typically
++# used for boiler-plate code, and will confuse the parser if not removed.
++
++SKIP_FUNCTION_MACROS = YES
++
++#---------------------------------------------------------------------------
++# Configuration::addtions related to external references
++#---------------------------------------------------------------------------
++
++# The TAGFILES tag can be used to specify one or more tagfiles.
++
++TAGFILES =
++
++# When a file name is specified after GENERATE_TAGFILE, doxygen will create
++# a tag file that is based on the input files it reads.
++
++GENERATE_TAGFILE =
++
++# If the ALLEXTERNALS tag is set to YES all external classes will be listed
++# in the class index. If set to NO only the inherited external classes
++# will be listed.
++
++ALLEXTERNALS = NO
++
++# The PERL_PATH should be the absolute path and name of the perl script
++# interpreter (i.e. the result of `which perl').
++
++PERL_PATH =
++
++#---------------------------------------------------------------------------
++# Configuration options related to the dot tool
++#---------------------------------------------------------------------------
++
++# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
++# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or
++# super classes. Setting the tag to NO turns the diagrams off. Note that this
++# option is superceded by the HAVE_DOT option below. This is only a fallback. It is
++# recommended to install and use dot, since it yield more powerful graphs.
++
++CLASS_DIAGRAMS = YES
++
++# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
++# available from the path. This tool is part of Graphviz, a graph visualization
++# toolkit from AT&T and Lucent Bell Labs. The other options in this section
++# have no effect if this option is set to NO (the default)
++
++HAVE_DOT = NO
++
++# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
++# will generate a graph for each documented class showing the direct and
++# indirect inheritance relations. Setting this tag to YES will force the
++# the CLASS_DIAGRAMS tag to NO.
++
++CLASS_GRAPH = YES
++
++# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
++# will generate a graph for each documented class showing the direct and
++# indirect implementation dependencies (inheritance, containment, and
++# class references variables) of the class with other documented classes.
++
++COLLABORATION_GRAPH = YES
++
++# If set to YES, the inheritance and collaboration graphs will show the
++# relations between templates and their instances.
++
++TEMPLATE_RELATIONS = YES
++
++# If set to YES, the inheritance and collaboration graphs will hide
++# inheritance and usage relations if the target is undocumented
++# or is not a class.
++
++HIDE_UNDOC_RELATIONS = YES
++
++# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
++# tags are set to YES then doxygen will generate a graph for each documented
++# file showing the direct and indirect include dependencies of the file with
++# other documented files.
++
++INCLUDE_GRAPH = YES
++
++# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
++# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
++# documented header file showing the documented files that directly or
++# indirectly include this file.
++
++INCLUDED_BY_GRAPH = YES
++
++# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
++# will graphical hierarchy of all classes instead of a textual one.
++
++GRAPHICAL_HIERARCHY = YES
++
++# The tag DOT_PATH can be used to specify the path where the dot tool can be
++# found. If left blank, it is assumed the dot tool can be found on the path.
++
++DOT_PATH =
++
++# The DOTFILE_DIRS tag can be used to specify one or more directories that
++# contain dot files that are included in the documentation (see the
++# \dotfile command).
++
++DOTFILE_DIRS =
++
++# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
++# (in pixels) of the graphs generated by dot. If a graph becomes larger than
++# this value, doxygen will try to truncate the graph, so that it fits within
++# the specified constraint. Beware that most browsers cannot cope with very
++# large images.
++
++MAX_DOT_GRAPH_WIDTH = 1024
++
++# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
++# (in pixels) of the graphs generated by dot. If a graph becomes larger than
++# this value, doxygen will try to truncate the graph, so that it fits within
++# the specified constraint. Beware that most browsers cannot cope with very
++# large images.
++
++MAX_DOT_GRAPH_HEIGHT = 1024
++
++# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
++# generate a legend page explaining the meaning of the various boxes and
++# arrows in the dot generated graphs.
++
++GENERATE_LEGEND = YES
++
++# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
++# remove the intermedate dot files that are used to generate
++# the various graphs.
++
++DOT_CLEANUP = YES
++
++#---------------------------------------------------------------------------
++# Configuration::addtions related to the search engine
++#---------------------------------------------------------------------------
++
++# The SEARCHENGINE tag specifies whether or not a search engine should be
++# used. If set to NO the values of all tags below this one will be ignored.
++
++SEARCHENGINE = NO
++
++# The CGI_NAME tag should be the name of the CGI script that
++# starts the search engine (doxysearch) with the correct parameters.
++# A script with this name will be generated by doxygen.
++
++CGI_NAME =
++
++# The CGI_URL tag should be the absolute URL to the directory where the
++# cgi binaries are located. See the documentation of your http daemon for
++# details.
++
++CGI_URL =
++
++# The DOC_URL tag should be the absolute URL to the directory where the
++# documentation is located. If left blank the absolute path to the
++# documentation, with file:// prepended to it, will be used.
++
++DOC_URL =
++
++# The DOC_ABSPATH tag should be the absolute path to the directory where the
++# documentation is located. If left blank the directory on the local machine
++# will be used.
++
++DOC_ABSPATH =
++
++# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
++# is installed.
++
++BIN_ABSPATH =
++
++# The EXT_DOC_PATHS tag can be used to specify one or more paths to
++# documentation generated for other projects. This allows doxysearch to search
++# the documentation for these projects as well.
++
++EXT_DOC_PATHS =
+diff -up ghostscript-9.07/trio/doc/trio.css.gs_sprintf ghostscript-9.07/trio/doc/trio.css
+--- ghostscript-9.07/trio/doc/trio.css.gs_sprintf 2013-05-09 17:02:39.103447244 +0100
++++ ghostscript-9.07/trio/doc/trio.css 2013-05-09 17:02:39.103447244 +0100
+@@ -0,0 +1,35 @@
++/* HTML tags */
++
++BODY {
++ background-color: white;
++ color: darkblue;
++}
++
++TD { color: darkblue; }
++
++H1 { text-align: center; }
++
++H3 { font-style: italic; }
++
++HR {
++ width: 85%;
++ align: center;
++}
++
++.copyright { color: darkblue; }
++
++/* Links */
++
++:link { color: blue; }
++
++:visited { color: purple; }
++
++:active { color: red; }
++
++.el:link { font-style: italic; }
++
++/* Examples */
++
++DIV.fragment {
++ color: maroon;
++}
+diff -up ghostscript-9.07/trio/example.c.gs_sprintf ghostscript-9.07/trio/example.c
+--- ghostscript-9.07/trio/example.c.gs_sprintf 2013-05-09 17:02:39.104447249 +0100
++++ ghostscript-9.07/trio/example.c 2013-05-09 17:02:39.104447249 +0100
+@@ -0,0 +1,543 @@
++/*************************************************************************
++ * For testing purposes
++ */
++
++#include <stdarg.h>
++#include <limits.h>
++#include <math.h>
++#include <unistd.h>
++/* #include <nan.h> */
++#include <wchar.h>
++#include "strio.h"
++#include "trio.h"
++#undef printf
++
++#if !defined(USE_LONGLONG)
++# if defined(__GNUC__) && !defined(__STRICT_ANSI__)
++# define USE_LONGLONG
++# elif defined(__SUNPRO_C)
++# define USE_LONGLONG
++# endif
++#endif
++
++#if defined(USE_LONGLONG)
++# define LONGLONG long long
++#else
++# define LONGLONG long
++#endif
++
++#if defined(TRIO_C99)
++# define LONGEST intmax_t
++#else
++# define LONGEST LONGLONG
++#endif
++
++static const char rcsid[] = "@(#)$Id: example.c,v 1.9 2001/11/25 13:47:38 breese Exp $";
++
++/*************************************************************************
++ *
++ */
++void Dump(char *buffer, int rc)
++{
++ if (rc < 0)
++ {
++ printf("Err = %d (%s), Pos = %d\n",
++ TRIO_ERROR_CODE(rc),
++ TRIO_ERROR_NAME(rc),
++ TRIO_ERROR_POSITION(rc));
++ }
++ else
++ printf("buffer[% 3d] = \"%s\"\n", rc, buffer);
++}
++
++/*************************************************************************
++ *
++ */
++int main(void)
++{
++ char buffer[512];
++ int rc;
++ LONGLONG int dummy;
++ char *fool;
++ int num;
++ int num2;
++ int count;
++ double dnum;
++ char *end;
++ char text[256];
++ char ch;
++ int nerrors = 0;
++ void *p1;
++ char *p2;
++
++ printf("%s\n", rcsid);
++
++/* printf("%d %u %d %u\n", */
++/* INT_MAX, INT_MAX, UINT_MAX, UINT_MAX); */
++/* trio_printf("%d %u %d %u\n", */
++/* INT_MAX, INT_MAX, UINT_MAX, UINT_MAX); */
++/* printf("%d %u\n", INT_MIN, INT_MIN); */
++/* trio_printf("%d %u\n", INT_MIN, INT_MIN); */
++
++/* printf("%ld %lu %ld %lu\n", */
++/* INT_MAX, INT_MAX, UINT_MAX, UINT_MAX); */
++/* trio_printf("%ld %lu %ld %lu\n", */
++/* INT_MAX, INT_MAX, UINT_MAX, UINT_MAX); */
++/* printf("%ld %lu\n", INT_MIN, INT_MIN); */
++/* trio_printf("%ld %lu\n", INT_MIN, INT_MIN); */
++
++/* printf("%lld %llu %lld %llu\n", */
++/* INT_MAX, INT_MAX, UINT_MAX, UINT_MAX); */
++/* trio_printf("%lld %llu %lld %llu\n", */
++/* INT_MAX, INT_MAX, UINT_MAX, UINT_MAX); */
++/* printf("%lld %llu\n", INT_MIN, INT_MIN); */
++/* trio_printf("%lld %llu\n", INT_MIN, INT_MIN); */
++
++/* return 0; */
++
++
++/* dnum = StrToDouble("3.14e+44", (const char **)&end); */
++/* printf("double = %e (%s)\n", dnum, end); */
++/* dnum = StrToDouble("0xA3.14p44", (const char **)&end); */
++/* printf("double = %e (%s)\n", dnum, end); */
++
++ /* trio_printf("%.*stext\n", 0, "-----"); */ /* fails */
++
++/* trio_printf("%Zd\n", (size_t)sizeof(char)); */
++
++/* rc = StrFormat(buffer, "%a", 3.14e+44); */
++/* Dump(buffer, rc); */
++
++ /* rc = StrFormat(buffer, "Filled string: %-16<fill=_>s", "test"); */
++
++/* errno = EINTR; */
++/* rc = StrFormat(buffer, "Error: %m"); */
++
++/* rc = StrFormat(buffer, "Count %lln", &dummy); */
++/* printf("dummy = %lld\n", dummy); */
++
++/* rc = StrFormat(buffer, "Char %<quote='>c", 'X'); */
++
++/* rc = StrFormatMax(buffer, 20, "Here goes %-20<adjust=_>s", "test"); */
++
++/* rc = StrFormat(buffer, "Hex-float %a", 3.1415); */
++/* Dump(buffer, rc); */
++/* rc = StrFormat(buffer, "Hex-float %A", 3.1415e20); */
++/* Dump(buffer, rc); */
++/* rc = StrFormat(buffer, "Double %#g", 3.1415e20); */
++/* Dump(buffer, rc); */
++/* rc = StrFormat(buffer, "Double %.3f", 3.1415); */
++/* Dump(buffer, rc); */
++/* rc = StrFormat(buffer, "Double %+e", 3.1415); */
++/* Dump(buffer, rc); */
++
++/* printf("'%.2f'\n", 99.99999); */
++/* trio_printf("'%.2f'\n", 99.99999); */
++/* printf("'%f'\n", 0.0); */
++/* trio_printf("'%f'\n", 0.0); */
++/* printf("'%f'\n", 3141.0); */
++/* trio_printf("'%f'\n", 3141.0); */
++/* printf("'%#f'\n", 3141.0); */
++/* trio_printf("'%#f'\n", 3141.0); */
++/* printf("'%'f'\n", 31415.2); */
++/* trio_printf("'%'f'\n", 31415.2); */
++/* printf("'%-16e'\n", 3141.5); */
++/* trio_printf("'%-16e'\n", 3141.5); */
++/* printf("'%#f'\n", 3141.0); */
++/* trio_printf("'%#f'\n", 3141.0); */
++/* printf("'%f'\n", 3141.5); */
++/* trio_printf("'%f'\n", 3141.5); */
++/* printf("'%#.6g'\n", 3141.5); */
++/* trio_printf("'%#.6g'\n", 3141.5); */
++
++/* printf("'%20e'\n", 314.5); */
++/* trio_printf("'%20e'\n", 314.5); */
++
++/* printf("'%-16e'\n", 3141.5); */
++/* trio_printf("'%-16e'\n", 3141.5); */
++
++/* printf("'%#.4g'\n", 314151.5); */
++/* trio_printf("'%#.4g'\n", 314151.5); */
++
++/* printf("'%#.4g'\n", 0.0); */
++/* trio_printf("'%#.4g'\n", 0.0); */
++
++/* printf("'%#.4g'\n", 11.0); */
++/* trio_printf("'%#.4g'\n", 11.0); */
++
++/* printf("%f\n", HUGE_VAL); */
++/* trio_printf("%f\n", HUGE_VAL); */
++/* printf("%f\n", -HUGE_VAL); */
++/* trio_printf("%f\n", -HUGE_VAL); */
++/* #define NAN (cos(HUGE_VAL)) */
++/* printf("%f\n", NAN); */
++/* trio_printf("%f\n", NAN); */
++
++/* printf("'%+06d'\n", 1234); */
++/* trio_printf("'%+06d'\n", 1234); */
++/* printf("'%-#6.3x'\n", 12); */
++/* trio_printf("'%-#06.3x'\n", 12); */
++/* printf("'%+6d'\n", 1234); */
++/* trio_printf("'%+6d'\n", 1234); */
++/* printf("'%-08d'\n", 12); */
++/* trio_printf("'%-08d'\n", 12); */
++/* printf("'%08.6d'\n", 12); */
++/* trio_printf("'%08.6d'\n", 12); */
++/* printf("'%4d'\n", 123456); */
++/* trio_printf("'%4d'\n", 123456); */
++/* printf("'%.4d'\n", 12); */
++/* trio_printf("'%.4d'\n", 12); */
++
++/* trio_printf("%!#08x %04x %..10x\n", 42, 42, 42); */
++/* trio_printf("%*.*.*i\n", 8, 4, 2, 23); */
++/* trio_printf("%8.4.2i %<base=2>08i %.8.2i %..2i\n", 23, 23, 23, 23); */
++
++/* trio_printf("%8i\n", 42); */
++/* trio_printf("%.7i\n", 42); */
++/* trio_printf("%..2i\n", 42); */
++/* trio_printf("%8.7i\n", 42); */
++/* trio_printf("%8..2i\n", 42); */
++/* trio_printf("%8.7.2i\n", 42); */
++/* trio_printf("%*.*.*i\n", 8, 7, 2, 42); */
++
++/* { */
++/* LONGLONG ll = 1234567890; */
++/* rc = trio_printf("%&i %d\n", sizeof(ll), ll, 42); */
++/* Dump(buffer, rc); */
++/* } */
++/* { */
++/* char ch = 12; */
++/* rc = trio_printf("%&i %d\n", sizeof(ch), ch, 42); */
++/* Dump(buffer, rc); */
++/* } */
++/* { */
++/* pid_t pid = 99; */
++/* rc = trio_printf("%&i %d\n", sizeof(pid), pid, 42); */
++/* Dump(buffer, rc); */
++/* } */
++
++/* rc = trio_printf("%*.*.*i\n", 6, 4, 10, 12); */
++/* Dump(buffer, rc); */
++/* rc = trio_printf("%1$0*3$.*2$d\n", 3141, 6, 10); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_asprintf(&end, "%s%n", "0123456789", &num); */
++/* printf("%d %d '%s'\n", rc, num, end); */
++/* if (end) */
++/* free(end); */
++
++/* trio_printf("%016e\n", 3141.5); */
++/* trio_printf("%'f\n", 424242.42); */
++/* trio_printf("%#.4f\n", 0.0); */
++/* trio_printf("%'d\n", 424242); */
++
++/* rc = trio_sprintf(buffer, "%4$d %3$*8$d %2$.*7$d %1$*6$.*5$d\n", */
++/* 123, */
++/* 1234, */
++/* 12345, */
++/* 123456, */
++/* 5, 6, 7, 8 */
++/* ); */
++/* Dump(buffer, rc); */
++/* rc = trio_sprintf(buffer, "%2$s %1$#s", "111", "222"); */
++/* Dump(buffer, rc); */
++
++/* trio_printf(" %x %!#x %g %09x %x\n", 123456, 123456, 123456.0, 123456, 123456); */
++/* trio_printf("%!'i %f %i\n", 12345, 12345.0, 12345); */
++/* trio_printf("%!<base=2>i %i\n", 23, 23); */
++
++/* rc = trio_sprintf(buffer, "%I32d", 12345); */
++/* Dump(buffer, rc); */
++/* rc = trio_sprintf(buffer, "%I32I8d", 12345); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "*%5f*", 3.3); */
++/* Dump(buffer, rc); */
++
++/* { */
++/* wchar_t *wstring = L"some data"; */
++/* wchar_t wbuffer[512]; */
++
++/* rc = trio_sprintf(buffer, "%ls", wstring); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sscanf(buffer, "%ls", wbuffer); */
++/* Dump(buffer, rc); */
++/* rc = trio_sprintf(buffer, "%ls", wbuffer); */
++/* Dump(buffer, rc); */
++/* } */
++
++ /* rc = StrFormat(buffer, "\040-\040\040-\n"); */
++
++/* rc = StrFormat(buffer, "%.*s@%s", 3, "Daniel", "Fool"); */
++/* rc = StrFormatAppendMax(buffer, 512, " %s is a doh", "Simpson"); */
++
++/* rc = StrFormat(buffer, "hello %1$d %1$d", 31, 32); */
++/* Dump(buffer, rc); */
++/* rc = StrFormat(buffer, "%2$d %3$d", 31, 32, 33); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "%d say %g hey %s", 42, 3.14, "text"); */
++/* Dump(buffer, rc); */
++/* trio_sscanf(buffer, "%d %*s %e hey %s", &num, &dnum, text); */
++/* printf("num = %d, dnum = %e, text = \"%s\"\n", num, dnum, text); */
++
++/* rc = trio_sprintf(buffer, "%g", HUGE_VAL); */
++/* Dump(buffer, rc); */
++/* trio_sscanf(buffer, "%f", &dnum); */
++/* printf("dnum = %e\n", dnum); */
++
++/* rc = trio_sprintf(buffer, "%g", -HUGE_VAL); */
++/* Dump(buffer, rc); */
++/* trio_sscanf(buffer, "%f", &dnum); */
++/* printf("dnum = %e\n", dnum); */
++
++/* #if defined(NAN) */
++/* rc = trio_sprintf(buffer, "%g", NAN); */
++/* Dump(buffer, rc); */
++/* if ((rc = trio_sscanf(buffer, "%f", &dnum)) < 0) */
++/* Dump(buffer, rc); */
++/* else */
++/* printf("dnum = %e\n", dnum); */
++/* #endif */
++
++/* rc = trio_sprintf(buffer, "%*d", 6, 1234); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "'%!08.6d' '%!d' '%d'", 4, 6, 8); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "%0g", 0.123); */
++/* Dump(buffer, rc); */
++
++/* { */
++/* void *argarray[4]; */
++/* int value = 42; */
++/* double number = 123.456; */
++/* float small_number = 123.456; */
++
++/* argarray[0] = &value; */
++/* argarray[1] = "my string"; */
++/* rc = trio_sprintfv(buffer, "%d %s", argarray); */
++/* Dump(buffer, rc); */
++/* rc = trio_snprintfv(buffer, 8, "%d %s", argarray); */
++/* Dump(buffer, rc); */
++
++/* argarray[0] = &num; */
++/* argarray[1] = text; */
++/* rc = trio_sscanfv(buffer, "%d %s", argarray); */
++/* Dump(buffer, rc); */
++/* printf("num = %d text = \"%s\"\n", num, text); */
++
++/* argarray[0] = &number; */
++/* argarray[1] = &small_number; */
++/* rc = trio_sprintfv(buffer, "%f %hf", argarray); */
++/* Dump(buffer, rc); */
++/* printf("number = %f small_number = \"%f\"\n", number, small_number); */
++/* } */
++
++#if 0
++ rc = trio_sprintf(buffer, "abcba");
++ Dump(buffer, rc);
++ trio_sscanf(buffer, "%[ab]", text);
++ printf("text = \"%s\"\n", text);
++ trio_sscanf(buffer, "%*[ab]c%[^\n]", text);
++ printf("text = \"%s\"\n", text);
++
++ trio_sprintf(buffer, "aabcdba aaa");
++ rc = trio_sscanf(buffer, "%s", text);
++ Dump(buffer, rc);
++ printf("text = \"%s\"\n", text);
++ rc = trio_sscanf(buffer, "%*1[aA]%[a-c]", text);
++ Dump(buffer, rc);
++ printf("text = \"%s\"\n", text);
++
++ rc = trio_sprintf(buffer, "10021");
++ rc = trio_sscanf(buffer, "%b%n%d", &num, &count, &num2);
++ Dump(buffer, rc);
++ printf("num = %d %d %d\n", num, num2, count);
++#endif
++
++/* rc = trio_sprintf(buffer, "%'d", 10000); */
++/* rc = trio_sscanf(buffer, "%'d", &num); */
++/* Dump(buffer, rc); */
++/* printf("num = %d\n", num); */
++
++/* rc = trio_dprintf(STDOUT_FILENO, "%s\n", "hello there"); */
++/* Dump(buffer, rc); */
++/* rc = trio_dscanf(STDIN_FILENO, "%s", buffer); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_scanf("%s", buffer); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "Ttext"); */
++/* Dump(buffer, rc); */
++/* trio_sscanf(buffer, "%*[Tt]e%c", &ch); */
++/* printf("ch = %c\n", ch); */
++
++/* printf("%p\n", &main); */
++/* rc = trio_sprintf(buffer, "%p %p", &main, NULL); */
++/* Dump(buffer, rc); */
++/* trio_sscanf(buffer, "%p %p", &p1, &p2); */
++/* printf("pointer = %p %p\n", p1, p2); */
++
++/* rc = trio_sprintf(buffer, "%@.@.@i", 8, 7, 2, 42); */
++/* Dump(buffer, rc); */
++/* trio_sprintf(buffer, "abcdefghijklmnopqrstuvwxyz"); */
++/* rc = trio_sscanf(buffer, "%100s", text); */
++/* Dump(text, rc); */
++/* rc = trio_sscanf(buffer, "%@s", 100, text); */
++/* Dump(text, rc); */
++
++/* rc = trio_sprintf(buffer, "%..2i", 42); */
++/* Dump(buffer, rc); */
++/* rc = trio_sscanf(buffer, "%..2i", &num); */
++/* printf("%d\n", num); */
++/* rc = trio_sscanf(buffer, "%..@i", 2, &num); */
++/* printf("%d\n", num); */
++
++/* { */
++/* int num1, num2, num3, num4; */
++
++/* rc = trio_sprintf(buffer, "123_456 [12%%-34%%]"); */
++/* Dump(buffer, rc); */
++/* rc = trio_sscanf(buffer, "%5i%*1s%5i%*1s%5i%*2s%5i", */
++/* &num1, &num2, &num3, &num4); */
++/* Dump(buffer, rc); */
++/* printf("%d %d %d %d %d\n", rc, num1, num2, num3, num4); */
++/* rc = trio_sscanf(buffer, "%d_%d [%d%%-%d%%]", */
++/* &num1, &num2, &num3, &num4); */
++/* Dump(buffer, rc); */
++/* printf("%d %d %d %d %d\n", rc, num1, num2, num3, num4); */
++/* } */
++
++/* rc = trio_sprintf(buffer, "01 3456789"); */
++/* Dump(buffer, rc); */
++/* memset(&text, 0, sizeof(text)); */
++/* rc = trio_sscanf(buffer, "%4c", &text); */
++/* Dump(text, rc); */
++/* memset(&text, 0, sizeof(text)); */
++/* rc = sscanf(buffer, "%4c", &text); */
++/* Dump(text, rc); */
++
++/* rc = trio_sprintf(buffer, "12345 6"); */
++/* Dump(buffer, rc); */
++/* rc = trio_sscanf(buffer, "%2d", &num); */
++/* Dump(buffer, rc); */
++/* printf("%d\n", num); */
++/* rc = sscanf(buffer, "%2d", &num); */
++/* Dump(buffer, rc); */
++/* printf("%d\n", num); */
++
++/* rc = trio_sprintf(buffer, "aa\\x0abb"); */
++/* Dump(buffer, rc); */
++/* rc = trio_sscanf(buffer, "aa%#sbb", &text); */
++/* Dump(text, rc); */
++
++/* rc = trio_sscanf("0 ", "%f", &dnum, text); */
++/* printf("%d %f\n", rc, dnum); */
++/* rc = sscanf("0 ", "%f %s", &dnum, text); */
++/* printf("%d %f\n", rc, dnum); */
++
++/* rc = trio_sscanf("lære", "%[:alpha:]", text); */
++/* Dump(text, rc); */
++
++/* rc = trio_sscanf("-0.123e3", "%8e", &dnum); */
++/* printf("%d %f\n", rc, dnum); */
++
++/* rc = trio_sscanf("123,456.78", "%'f", &dnum); */
++/* printf("%d %f\n", rc, dnum); */
++
++/* rc = trio_sscanf("1.e-6","%g", &dnum); */
++/* printf("%d %g\n", rc, dnum); */
++/* rc = trio_sscanf("1e-6","%g", &dnum); */
++/* printf("%d %g\n", rc, dnum); */
++
++/* rc = trio_sprintf(buffer, "%0.40e\n", 14.0); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "%010.3e\n", 3141.5); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "%e", 0.6); */
++/* Dump(buffer, rc); */
++/* rc = trio_sprintf(buffer, "%e", 0.5); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "%#11.5g", 1e5); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "%010.3e", 3141.5); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "%11.5g", 1e-5); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "%g", 1.79769e+308); */
++/* printf("%d \"%s\"\n", rc, buffer); */
++/* trio_sscanf(buffer, "%g", &dnum); */
++/* printf("%d %g\n", rc, dnum); */
++
++/* rc = trio_snprintf(0, 0, "text"); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "%.16.2f", (float)41.8713); */
++/* Dump(buffer, rc); */
++/* rc = trio_sprintf(buffer, "%.16.2f", (float)41.8687); */
++/* Dump(buffer, rc); */
++/* rc = trio_sprintf(buffer, "%.16.2f", (float)41.8684); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "%#.4g", 1e-3); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "%#.2g", (double)0.01); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "%#11.5g", (double)1.0); */
++/* Dump(buffer, rc); */
++/* rc = trio_sprintf(buffer, "%#11.5g", (double)0.9999999999999999); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "%#11.5g", (double)0.1); */
++/* Dump(buffer, rc); */
++/* rc = trio_sprintf(buffer, "%#11.5g", (double)0.0999999999999999); */
++/* Dump(buffer, rc); */
++
++/* rc = trio_sprintf(buffer, "%#11.5g", (double)0.01); */
++/* Dump(buffer, rc); */
++/* rc = trio_sprintf(buffer, "%#11.5g", (double)0.0099999999999999); */
++/* Dump(buffer, rc); */
++
++/* char * buf = "aaaaaaaaaaaaaaaaaaaaaaaaa"; */
++/* int buf_len = 4; */
++/* rc = trio_sprintf(buffer, ">%.*s\n", buf_len, buf); */
++
++/* rc = trio_sprintf(buffer, "$d", 1); */
++/* Dump(buffer, rc); */
++
++/* trio_sprintf(buffer, "%lld.%ld%s", 0LL, 0L, ","); */
++/* Dump(buffer, rc); */
++
++/* trio_sprintf(buffer, "%+.14e", (double)1.27299014704543e-313); */
++/* Dump(buffer, rc); */
++
++/* rc = scanf(""); */
++/* rc = trio_scanf(""); */
++
++/* trio_sprintf(buffer, "abcd"); */
++/* rc = trio_sscanf(buffer, "%c", &ch); */
++/* printf("%d %c\n", rc, ch); */
++
++/* for(unsigned int i = 0U ; i < 100000U ; ++i) */
++/* { */
++/* trio_sprintf(buffer, "The next value of '%s' is %d (ln: %d) ('%s')\n", */
++/* "i", i+1, __LINE__, "foo bar"); */
++/* } */
++
++ rc = trio_snprintf(NULL, 0, "%s", "not used");
++ Dump(buffer, rc);
++
++ return 0;
++}
+diff -up ghostscript-9.07/trio/FILES.gs_sprintf ghostscript-9.07/trio/FILES
+--- ghostscript-9.07/trio/FILES.gs_sprintf 2013-05-09 17:02:39.104447249 +0100
++++ ghostscript-9.07/trio/FILES 2013-05-09 17:02:39.104447249 +0100
+@@ -0,0 +1,33 @@
++FILES
++README
++CHANGES
++Makefile.in
++maketgz
++strio.h
++trio.c
++trio.h
++triodef.h
++trionan.c
++trionan.h
++triop.h
++triostr.c
++triostr.h
++compare.c
++example.c
++regression.c
++configure
++configure.in
++install-sh
++autogen.sh
++doc/doc.h
++doc/doc_dynamic.h
++doc/doc_printf.h
++doc/doc_register.h
++doc/doc_scanf.h
++doc/doc_static.h
++doc/footer.html
++doc/header.html
++doc/trio.cfg
++doc/trio.css
++html/trio.css
++html/*.html
+diff -up ghostscript-9.07/trio/html/group___dynamic_strings.html.gs_sprintf ghostscript-9.07/trio/html/group___dynamic_strings.html
+--- ghostscript-9.07/trio/html/group___dynamic_strings.html.gs_sprintf 2013-05-09 17:02:39.104447249 +0100
++++ ghostscript-9.07/trio/html/group___dynamic_strings.html 2013-05-09 17:02:39.104447249 +0100
+@@ -0,0 +1,300 @@
++<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
++<html>
++<head>
++ <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
++ <title>TRIO</title>
++ <link href="trio.css" rel="stylesheet" type="text/css">
++</head>
++<body>
++<!-- Generated by Doxygen 1.2.18 -->
++<center>
++<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; </center>
++<hr><h1>Dynamic String Functions.</h1>Dynamic string functions.
++<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
++<tr><td></td></tr>
++<tr><td colspan=2><br><h2>Functions</h2></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING trio_string_t *&nbsp;</td><td valign=bottom><a class="el" href="group___dynamic_strings.html#a0">trio_string_create</a> (int initial_size)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Create a new dynamic string.</em> <a href="#a0"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING void&nbsp;</td><td valign=bottom><a class="el" href="group___dynamic_strings.html#a1">trio_string_destroy</a> (trio_string_t *self)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Deallocate the dynamic string and its contents.</em> <a href="#a1"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING char *&nbsp;</td><td valign=bottom><a class="el" href="group___dynamic_strings.html#a2">trio_string_extract</a> (trio_string_t *self)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Extract the content.</em> <a href="#a2"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING void&nbsp;</td><td valign=bottom><a class="el" href="group___dynamic_strings.html#a3">trio_xstring_set</a> (trio_string_t *self, char *buffer)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Set the content of the dynamic string.</em> <a href="#a3"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___dynamic_strings.html#a6">trio_string_append</a> (trio_string_t *self, trio_string_t *other)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Append the second string to the first.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___dynamic_strings.html#a9">trio_string_contains</a> (trio_string_t *self, trio_string_t *other)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Search for the first occurrence of second parameter in the first.</em> <a href="#a9"></a><em></em></font><br><br></td></tr>
++</table>
++<hr><a name="_details"></a><h2>Detailed Description</h2>
++Dynamic string functions.
++<p>
++<b>SYNOPSIS</b>
++<p>
++<div class="fragment"><pre>
++cc ... -ltrio -lm
++
++#include &lt;triostr.h&gt;
++</pre></div>
++<p>
++<b>DESCRIPTION</b> <hr><h2>Function Documentation</h2>
++<a name="a6" doxytag="triostr-macro.c::trio_string_append"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_string_append </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">trio_string_t *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>self</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>trio_string_t *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>other</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Append the second string to the first.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>self</em>&nbsp;</td><td>
++Dynamic string to be modified. </td></tr>
++<tr><td valign=top><em>other</em>&nbsp;</td><td>
++Dynamic string to copy from. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean value indicating success or failure. </dl> </td>
++ </tr>
++</table>
++<a name="a9" doxytag="triostr-macro.c::trio_string_contains"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_string_contains </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">trio_string_t *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>self</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>trio_string_t *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>other</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Search for the first occurrence of second parameter in the first.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>self</em>&nbsp;</td><td>
++Dynamic string to be modified. </td></tr>
++<tr><td valign=top><em>other</em>&nbsp;</td><td>
++Dynamic string to copy from. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean value indicating success or failure. </dl> </td>
++ </tr>
++</table>
++<a name="a0" doxytag="triostr-macro.c::trio_string_create"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING trio_string_t* trio_string_create </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">int&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>initial_size</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Create a new dynamic string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>initial_size</em>&nbsp;</td><td>
++Initial size of the buffer. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Newly allocated dynamic string, or NULL if memory allocation failed. </dl> </td>
++ </tr>
++</table>
++<a name="a1" doxytag="triostr-macro.c::trio_string_destroy"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING void trio_string_destroy </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">trio_string_t *&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>self</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Deallocate the dynamic string and its contents.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>self</em>&nbsp;</td><td>
++Dynamic string </td></tr>
++</table>
++</dl> </td>
++ </tr>
++</table>
++<a name="a2" doxytag="triostr-macro.c::trio_string_extract"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING char* trio_string_extract </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">trio_string_t *&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>self</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Extract the content.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>self</em>&nbsp;</td><td>
++Dynamic String </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Content of dynamic string.</dl>The content is removed from the dynamic string. This enables destruction of the dynamic string without deallocation of the content. </td>
++ </tr>
++</table>
++<a name="a3" doxytag="triostr-macro.c::trio_xstring_set"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING void trio_xstring_set </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">trio_string_t *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>self</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>buffer</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Set the content of the dynamic string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>self</em>&nbsp;</td><td>
++Dynamic String </td></tr>
++<tr><td valign=top><em>buffer</em>&nbsp;</td><td>
++The new content.</td></tr>
++</table>
++</dl>Sets the content of the dynamic string to a copy <code>buffer</code>. An existing content will be deallocated first, if necessary.
++<p>
++<dl compact><dt><b>Remarks: </b></dt><dd>
++ This function will make a copy of <code>buffer</code>. You are responsible for deallocating <code>buffer</code> yourself. </dl> </td>
++ </tr>
++</table>
++<HR>
++<center class="copyright">Copyright (C) 2001 - 2006 Bj&oslash;rn Reese and Daniel Stenberg.</center>
++</body>
++</html>
+diff -up ghostscript-9.07/trio/html/group___printf.html.gs_sprintf ghostscript-9.07/trio/html/group___printf.html
+--- ghostscript-9.07/trio/html/group___printf.html.gs_sprintf 2013-05-09 17:02:39.105447253 +0100
++++ ghostscript-9.07/trio/html/group___printf.html 2013-05-09 17:02:39.105447253 +0100
+@@ -0,0 +1,1404 @@
++<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
++<html>
++<head>
++ <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
++ <title>TRIO</title>
++ <link href="trio.css" rel="stylesheet" type="text/css">
++</head>
++<body>
++<!-- Generated by Doxygen 1.2.18 -->
++<center>
++<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; </center>
++<hr><h1>Formatted Printing Functions.</h1>Variations of formatted printing functions.
++<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
++<tr><td></td></tr>
++<tr><td colspan=2><br><h2>Functions</h2></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a0">trio_printf</a> (const char *format,...)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Print to standard output stream.</em> <a href="#a0"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a1">trio_vprintf</a> (const char *format, va_list args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Print to standard output stream.</em> <a href="#a1"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a2">trio_printfv</a> (const char *format, trio_pointer_t *args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Print to standard output stream.</em> <a href="#a2"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a3">trio_fprintf</a> (FILE *file, const char *format,...)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Print to file.</em> <a href="#a3"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a4">trio_vfprintf</a> (FILE *file, const char *format, va_list args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Print to file.</em> <a href="#a4"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a5">trio_fprintfv</a> (FILE *file, const char *format, trio_pointer_t *args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Print to file.</em> <a href="#a5"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a6">trio_dprintf</a> (int fd, const char *format,...)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Print to file descriptor.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a7">trio_vdprintf</a> (int fd, const char *format, va_list args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Print to file descriptor.</em> <a href="#a7"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a8">trio_dprintfv</a> (int fd, const char *format, trio_pointer_t *args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Print to file descriptor.</em> <a href="#a8"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a12">trio_sprintf</a> (char *buffer, const char *format,...)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Print to string.</em> <a href="#a12"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a13">trio_vsprintf</a> (char *buffer, const char *format, va_list args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Print to string.</em> <a href="#a13"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a14">trio_sprintfv</a> (char *buffer, const char *format, trio_pointer_t *args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Print to string.</em> <a href="#a14"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a15">trio_snprintf</a> (char *buffer, size_t max, const char *format,...)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Print at most <code>max</code> characters to string.</em> <a href="#a15"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a16">trio_vsnprintf</a> (char *buffer, size_t max, const char *format, va_list args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Print at most <code>max</code> characters to string.</em> <a href="#a16"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a17">trio_snprintfv</a> (char *buffer, size_t max, const char *format, trio_pointer_t *args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Print at most <code>max</code> characters to string.</em> <a href="#a17"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a22">trio_asprintf</a> (char **result, const char *format,...)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Allocate and print to string.</em> <a href="#a22"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a23">trio_vasprintf</a> (char **result, const char *format, va_list args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Allocate and print to string.</em> <a href="#a23"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___printf.html#a24">trio_asprintfv</a> (char **result, const char *format, trio_pointer_t *args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Allocate and print to string.</em> <a href="#a24"></a><em></em></font><br><br></td></tr>
++</table>
++<hr><a name="_details"></a><h2>Detailed Description</h2>
++Variations of formatted printing functions.
++<p>
++<b>SYNOPSIS</b>
++<p>
++<div class="fragment"><pre>
++cc ... -ltrio -lm
++
++#include &lt;trio.h&gt;
++</pre></div>
++<p>
++<b>DESCRIPTION</b>
++<p>
++This documentation is incomplete. The documentation of the printf family in [C99] and [UNIX98] also applies to the trio counterparts.
++<p>
++All these functions outputs a string which is formatted according to the <code>format</code> string and the consecutive arguments. The <code>format</code> string is described in the Formatting section below.
++<p>
++<a class="el" href="group___printf.html#a218">Formatted Printing Functions.</a>, <a class="el" href="group___printf.html#a219">Formatted Printing Functions.</a>, and <a class="el" href="group___printf.html#a220">Formatted Printing Functions.</a> writes the output to the standard output stream (stdout).
++<p>
++<a class="el" href="group___printf.html#a221">Formatted Printing Functions.</a>, <a class="el" href="group___printf.html#a222">Formatted Printing Functions.</a>, and <a class="el" href="group___printf.html#a223">Formatted Printing Functions.</a> writes the output to a given output stream.
++<p>
++<a class="el" href="group___printf.html#a224">Formatted Printing Functions.</a>, <a class="el" href="group___printf.html#a225">Formatted Printing Functions.</a>, and <a class="el" href="group___printf.html#a226">Formatted Printing Functions.</a> writes the output to a file descriptor (this includes, for example, sockets).
++<p>
++<a class="el" href="group___printf.html#a230">Formatted Printing Functions.</a>, <a class="el" href="group___printf.html#a231">Formatted Printing Functions.</a>, and <a class="el" href="group___printf.html#a232">Formatted Printing Functions.</a> writes the output into <code>buffer</code>.
++<p>
++<a class="el" href="group___printf.html#a233">Formatted Printing Functions.</a>, <a class="el" href="group___printf.html#a234">Formatted Printing Functions.</a>, and <a class="el" href="group___printf.html#a235">Formatted Printing Functions.</a> writes <code>max</code> - 1 characters into <code>buffer</code> followed by a terminating zero character. If <code>max</code> is 1, then <code>buffer</code> will be an empty string. If <code>max</code> is 0, then <code>buffer</code> is left untouched, and can consequently be NULL. The number of characters that would have been written to <code>buffer</code>, had there been sufficient space, is returned.
++<p>
++trio_snprintfcat appends the formatted text at the end of <code>buffer</code>.
++<p>
++<a class="el" href="group___printf.html#a240">Formatted Printing Functions.</a>, <a class="el" href="group___printf.html#a241">Formatted Printing Functions.</a>, and <a class="el" href="group___printf.html#a242">Formatted Printing Functions.</a> allocates and returns an allocated string in <code>buffer</code> containing the formatted text.
++<p>
++<b>FORMATTING</b>
++<p>
++The <code>format</code> string can contain normal text and conversion indicators. The normal text can be any character except the nil character (\000 = '\0') and the percent character (\045 = '%'). Conversion indicators consists of an indication character (%), followed by zero or more conversion modifiers, and exactly one conversion specifier.
++<p>
++<b>Modifiers</b>
++<p>
++Some modifiers exhibit the same behaviour for all specifiers, other modifiers indicate different behaviours for different specifiers, and other modifiers are only applicable to certain specifiers. The relationship is described for each modifier. The number 9 is used to denotes an arbitrary integer.
++<p>
++<em>Positional</em> ( <code>9$</code> ) [UNIX98]
++<p>
++Normally the arguments supplied to these functions are interpreted incrementially from left to right. Arguments can be referenced specifically in the format string. The modifier n$ selects the nth argument. The first argument is referred as 1$. If this modifier is used, it must be the first modifier after the indication character. n$ can also be used for argument width, precision, and base.
++<p>
++The performance penalty of using positionals is almost neglible (contrary to most other printf implementations).
++<p>
++<ul>
++<li> <em>Reference</em> <em>Mix</em>. Mixing normal and positional specifiers is allowed [TRIO]. For example, <div class="fragment"><pre>
++ trio_printf("%d %3$d %2$d\n", 1, 2, 3);
++</pre></div> results in <div class="fragment"><pre>
++ 1 3 2
++</pre></div> Arguments for the printf family are passed on the stack. On most platforms it is not possible to determine the size of individual stack elements, so it is essential that the format string corresponds exactly to the passed arguments. If this is not the case, incorrect values may be put into the result.</ul>
++<ul>
++<li> <em>Reference</em> <em>Gap</em>. For the same reason it is also essential that the format string does not contain any "gaps" in the positional arguments. For example, <div class="fragment"><pre>
++ trio_printf("%1$d %3$d\n", 1, 2, 3);
++</pre></div> is NOT allowed. The format string parser has no knowledge about whether the second argument is, say, an integer or a long double (which have different sizes). <div class="fragment"><pre>
++</pre></div> [UNIX98] describes this as unspecified behaviour. [TRIO] will detect reference gaps and return an error.</ul>
++<ul>
++<li> <em>Double</em> <em>Reference</em>. It is also not allowed to reference an argument twice or more. For example, <div class="fragment"><pre>
++ trio_printf("%1$d %1$lf\n", 1);
++</pre></div> is NOT allowed, because it references the first argument as two differently sized objects. <div class="fragment"><pre>
++</pre></div> [UNIX98] describes this as unspecified behaviour. [TRIO] will detect double references and return an error.</ul>
++The following two statements are equivalent <div class="fragment"><pre>
++ trio_printf("|%d %s\n|", 42, "meanings");
++ |42 meanings|
++
++ trio_printf("|%1$d %2$s|\n", 42, "meanings");
++ |42 meanings|
++</pre></div>
++<p>
++<em>Width</em> ( <code>9</code> )
++<p>
++Specifies the minimum width of a field. If the fields has less characters than specified by the width, the field will be left adjusted and padded by spaces. The adjustment and padding can be changed by the Alignment ( <code>-</code> ) and Padding ( <code>0</code> ) modifiers.
++<p>
++The width is specified as a number. If an asterix ( <code>*</code> ) is used instead, the width will be read from the argument list.
++<p>
++Prefixes, such as 0x for hexadecimal integers, are part of width. <div class="fragment"><pre>
++ trio_printf("|%10i|\n", 42);
++ | 42|
++</pre></div>
++<p>
++<em>Precision</em> ( .<code>9</code> )
++<p>
++The precision has different semantics for the various data types. The precision specifies the maximum number of printed characters for strings, the number of digits after the decimal-point for floating-point numbers, the number of significant digits for the <code>g</code> (and <code>G)</code> representation of floating-point numbers, the minimum number of printed digits for integers. <div class="fragment"><pre>
++ trio_printf("|%10.8i|%.8i|\n", 42, 42);
++ | 00000042|00000042|
++</pre></div>
++<p>
++<em>Base</em> ( ..<code>9</code> ) [TRIO]
++<p>
++Sets the base that the associated integer must be converted to. The base can be between 2 and 36 (both included). <div class="fragment"><pre>
++ trio_printf("|%10.8.2i|%10..2i|%..2i|\n", 42, 42, 42);
++ | 00101010| 101010|101010|
++
++ trio_printf("|%*.8.*i|\n", 10, 2, 42);
++ | 00101010|
++</pre></div>
++<p>
++<em>Padding</em> ( <code>0</code> )
++<p>
++Integer and floating point numbers are prepended by zeros. The number of leading zeros are determined by the precision. If precision is not present, width is used instead.
++<p>
++<em>Short</em> ( <code>h</code> )
++<p>
++Integer arguments are read as an ( <code>unsigned</code> ) <code>short</code> <code>int</code>. String and character arguments are read as <code>char</code> <code>*</code> and <code>char</code> respectively.
++<p>
++<em>Short</em> <em>short</em> ( <code>hh</code> ) [C99, GNU]
++<p>
++The argument is read as an ( <code>unsigned</code> ) <code>char</code>.
++<p>
++<em>Fixed</em> <em>Size</em> ( <code>I</code> ) [MSVC]
++<p>
++The argument is read as a fixed sized integer. The modifier is followed by a number, which specifies the number of bits in the integer, and can be one of the following
++<p>
++<ul>
++<li> <code>I8</code> <li> <code>I16</code> <li> <code>I32</code> <li> <code>I64</code> (if 64-bits integers are supported)</ul>
++Works only for integers (i, u, d, o, x, X)
++<p>
++<em>Largest</em> ( <code>j</code> ) [C99]
++<p>
++The argument is read as an <code>intmax_t</code> / <code>uintmax_t</code>, which is defined to be the largest signed/unsigned integer.
++<p>
++<em>Long</em> ( <code>l</code> )
++<p>
++An integral argument is read as an ( <code>unsigned</code> ) <code>long</code> <code>int</code>. A string argument is read as a <code>wchar_t</code> <code>*</code>, and output as a multi-byte character sequence.
++<p>
++<em>Long</em> <em>long</em> ( <code>ll</code> ) [C99, UNIX98, GNU]
++<p>
++The argument is read as an ( <code>unsigned</code> ) <code>long</code> <code>long</code> <code>int</code>.
++<p>
++<em>Long</em> <em>double</em> ( <code>L</code> ) [C99, UNIX98, GNU]
++<p>
++The argument is read as a <code>long</code> <code>double</code>.
++<p>
++<em>ptrdiff_t</em> ( <code>t</code> ) [C99]
++<p>
++The argument is read as a <code>ptrdiff_t</code>, which is defined to be the signed integer type of the result of subtracting two pointers.
++<p>
++<em>Quad</em> ( <code>q</code> ) [BSD, GNU]
++<p>
++Corresponds to the long long modifier ( <code>ll</code> ).
++<p>
++<em>Wide</em> ( <code>w</code> ) [MISC]
++<p>
++For a string argument this is equivalent to using the long modifier ( <code>l</code> ).
++<p>
++<em>size_t</em> ( <code>z</code> ) [C99]
++<p>
++The argument is read as a <code>size_t</code>, which is defined to be the type returned by the <code>sizeof</code> operator.
++<p>
++<em>size_t</em> ( <code>Z</code> ) [GNU]
++<p>
++Corresponds to the size_t modifier ( <code>z</code> ).
++<p>
++<em>Alternative</em> ( <code>#</code> )
++<p>
++Prepend radix indicator for hexadecimal, octal, and binary integer numbers and for pointers. Always add a decimal-point for floating-point numbers. Escape non-printable characters for strings.
++<p>
++<em>Spacing</em> ( )
++<p>
++Prepend leading spaces when necessary.
++<p>
++<em>Sign</em> ( <code>+</code> )
++<p>
++Always prepend a sign to numbers. Normally only the negative sign is prepended to a number. With this modifier the positive sign may also be prepended.
++<p>
++<em>Alignment</em> ( <code>-</code> )
++<p>
++The output will be left-justified in the field specified by the width.
++<p>
++<em>Argument</em> ( <code>*</code> )
++<p>
++Width, precision, or base is read from the argument list, rather than from the formatting string.
++<p>
++<em>Quote</em> / <em>Grouping</em> ( ' <code>)</code> [MISC]
++<p>
++Groups integers and the integer-part of floating-point numbers according to the locale. Quote strings and characters.
++<p>
++<em>Sticky</em> ( <code>!</code> ) [TRIO]
++<p>
++The modifiers listed for the current specifier will be reused by subsequent specifiers of the same group. The following specifier groups exists <ul>
++<li> Integer ( <code>i</code>, <code>u</code>, <code>d</code>, <code>o</code>, <code>x</code>, <code>X</code> ) <li> Floating-point ( <code>f</code>, <code>F</code>, <code>e</code>, <code>E</code>, <code>g</code>, <code>G</code>, <code>a</code>, <code>A</code> ) <li> Character ( <code>c</code> ) <li> String ( <code>s</code> ) <li> Pointer ( <code>p</code> ) <li> Count ( <code>n</code> ) <li> Errno ( <code>m</code> ) <li> Group ( <code>[]</code> )</ul>
++The sticky modifiers are active until superseeded by other sticky modifiers, or the end of the format string is reached. Local modifiers overrides sticky modifiers for the given specifier only. <div class="fragment"><pre>
++ trio_printf("|%!08#x|%04x|%x|\n", 42, 42, 42);
++ |0x00002a|0x2a|0x00002a|
++</pre></div>
++<p>
++<b>Specifiers</b>
++<p>
++<em>Percent</em> ( <code>%</code> )
++<p>
++Produce a percent ( <code>%</code> ) character. This is used to quote the indication character. No modifiers are allowed. The full syntax is <code>%%</code>. <div class="fragment"><pre>
++ trio_printf("Percent is %%\n");
++ Percent is %
++</pre></div>
++<p>
++<em>Hex</em> <em>floats</em> ( <code>a</code>, <code>A</code> ) [C99]
++<p>
++Output a hexadecimal (base 16) representation of a floating point number. The number is automatically preceeded by <code>0x</code> ( or <code>0X</code> ). The exponent is <code>p</code> ( or <code>P</code> ). <div class="fragment"><pre>
++ trio_printf("|%a|%A|\n", 3.1415, 3.1415e20);
++ |0x3.228bc|0X3.228BCP+14|
++</pre></div>
++<p>
++<em>Binary</em> <em>numbers</em> ( <code>b</code>, <code>B</code> ) [MISC - SCO UnixWare 7]
++<p>
++DEPRECATED: Use Base modifier <code>%..2i</code> instead.
++<p>
++<em>Character</em> ( <code>c</code> )
++<p>
++Output a single character.
++<p>
++<ul>
++<li> Quote ( ' <code>)</code> [TRIO]. Quote the character.</ul>
++<em>Decimal</em> ( <code>d</code> )
++<p>
++Output a decimal (base 10) representation of a number.
++<p>
++<ul>
++<li> Grouping ( ' <code>)</code> [TRIO]. The number is separated by the locale thousand separator. <div class="fragment"><pre>
++ trio_printf("|%'ld|\n", 1234567);
++ |1,234,567|
++</pre></div></ul>
++<em>Floating-point</em> ( <code>e</code>, <code>E)</code>
++<p>
++Output a decimal floating-point number. The style is <code>[-]9.99e[-]9</code>, where <ul>
++<li> <code>[-]9.99</code> is the mantissa (as described for the <code>f</code>, <code>F</code> specifier), and <li> <code>e[-]9</code> is the exponent indicator (either <code>e</code> or <code>E</code>, depending on the floating-point specifier), followed by an optional sign and the exponent</ul>
++If the precision is wider than the maximum number of digits that can be represented by the floating-point unit, then the number will be adequately rounded. For example, assuming DBL_DIG is 15 <div class="fragment"><pre>
++ trio_printf("|%.18e|\n", (1.0 / 3.0));
++ |3.333333333333333000e-01|
++</pre></div>
++<p>
++<em>Floating-point</em> ( <code>f</code>, <code>F</code> )
++<p>
++Output a decimal floating-point number. The style is <code>[-]9.99</code>, where <ul>
++<li> <code>[-]</code> is an optional sign (either <code>+</code> or <code>-)</code>, <li> <code>9</code> is the integer-part (possibly interspersed with thousand-separators), <li> . <code>is</code> the decimal-point (depending on the locale), and <li> <code>99</code> is the fractional-part.</ul>
++If more digits are needed to output the number, than can be represented with the accuracy of the floating-point unit, then the number will be adequately rounded. For example, assuming that DBL_DIG is 15 <div class="fragment"><pre>
++ trio_printf("|%f|\n", (2.0 / 3.0) * 1E18);
++ |666666666666666700.000000|
++</pre></div>
++<p>
++The following modifiers holds a special meaning for this specifier <ul>
++<li> Alternative ( <code>#</code> ) [C99]. Add decimal point. <li> Grouping ( ' <code>)</code> [TRIO]. Group integer part of number into thousands (according to locale).</ul>
++<em>Floating-point</em> ( <code>g</code>, <code>G)</code>
++<p>
++Output a decimal floating-point representation of a number. The format of either the <code>f</code>, <code>F</code> specifier or the <code>e</code>, <code>E</code> specifier is used, whatever produces the shortest result.
++<p>
++<em>Integer</em> ( <code>i</code> )
++<p>
++Output a signed integer. Default base is 10.
++<p>
++<em>Errno</em> ( <code>m</code> ) [GNU]
++<p>
++<em>Count</em> ( <code>n</code> )
++<p>
++Insert into the location pointed to by the argument, the number of octets written to the output so far.
++<p>
++<em>Octal</em> ( <code>o</code> )
++<p>
++Output an octal (base 8) representation of a number.
++<p>
++<em>Pointer</em> ( <code>p</code> )
++<p>
++Ouput the address of the argument. The address is printed as a hexadecimal number. If the argument is the NULL pointer the text <code>(nil)</code> will be used instead. <ul>
++<li> Alternative ( <code>#</code> ) [TRIO]. Prepend 0x</ul>
++<em>String</em> ( <code>s</code>, <code>S</code> )
++<p>
++Output a string. The argument must point to a zero terminated string. If the argument is the NULL pointer the text <code>(nil)</code> will be used instead. <code>S</code> is equivalent to <code>ls</code>. <ul>
++<li> Alternative ( <code>#</code> ) [TRIO]. Escape non-printable characters.</ul>
++Non-printable characters are converted into C escapes, or hexadecimal numbers where no C escapes exists for the character. The C escapes, the hexadecimal number, and all backslashes are prepended by a backslash ( <code>\</code> ). The supported C escapes are <ul>
++<li> <code>\a</code> (\007) = alert <li> <code>\b</code> (\010) = backspace <li> <code>\f</code> (\014) = formfeed <li> <code>\n</code> (\012) = newline <li> <code>\r</code> (\015) = carriage return <li> <code>\t</code> (\011) = horizontal tab <li> <code>\v</code> (\013) = vertical tab</ul>
++<div class="fragment"><pre>
++ trio_printf("|One %s Three|One %'s Three|\n", "Two", "Two");
++ |One Two Three|One "Two" Three|
++
++ trio_printf("|Argument missing %s|\n", NULL);
++ |Argument missing (nil)|
++
++ trio_printf("|%#s|\n", "\007 \a.");
++ |\a \a.|
++</pre></div>
++<p>
++<em>Unsigned</em> ( <code>u</code> )
++<p>
++Output an unsigned integer. Default base is 10.
++<p>
++<em>Hex</em> ( <code>x</code>, <code>X</code> )
++<p>
++Output a hexadecimal (base 16) representation of a number.
++<p>
++<ul>
++<li> Alternative ( <code>#</code> ). Preceed the number by <code>0x</code> ( or <code>0X</code> ). The two characters are counted as part of the width.</ul>
++<em>User-defined</em> ( <code>&lt;&gt;</code> )
++<p>
++Invoke user-defined formatting. See <a class="el" href="group___user_defined.html#a243">User-defined Formatted Printing Functions.</a> for further information.
++<p>
++<b>RETURN</b> <b>VALUES</b>
++<p>
++All functions returns the number of outputted characters. If an error occured then a negative error code is returned [TRIO]. Note that this is a deviation from the standard, which simply returns -1 (or EOF) and errno set appropriately. The error condition can be detected by checking whether the function returns a negative number or not, and the number can be parsed with the following macros. The error codes are primarily intended as debugging aide for the developer.
++<p>
++<ul>
++<li> TRIO_EINVAL: Invalid argument. <li> TRIO_ETOOMANY: Too many arguments. <li> TRIO_EDBLREF: Double argument reference. <li> TRIO_EGAP: Argument reference gap. <li> TRIO_ENOMEM: Out of memory. <li> TRIO_ERANGE: Invalid range. <li> TRIO_ERRNO: The error is specified by the errno variable.</ul>
++Example: <div class="fragment"><pre>
++ int rc;
++
++ rc = trio_printf("%r\n", 42);
++ if (rc &lt; 0) {
++ if (TRIO_ERROR_CODE(rc) != TRIO_EOF) {
++ trio_printf("Error: %s at position %d\n",
++ TRIO_ERROR_NAME(rc),
++ TRIO_ERROR_POSITION(rc));
++ }
++ }
++</pre></div>
++<p>
++<b>SEE</b> <b>ALSO</b>
++<p>
++<em>trio_scanf</em>, <em>trio_register</em>.
++<p>
++<b>NOTES</b>
++<p>
++The printfv family uses an array rather than the stack to pass arguments. This means that <code>short</code> <code>int</code> and <code>float</code> values will not be handled by the default argument promotion in C. Instead, these values must be explicitly converted with the Short (h) modifier in both cases.
++<p>
++Example: <div class="fragment"><pre>
++ void *array[2];
++ float float_number = 42.0;
++ short short_number = 42;
++
++ array[0] = &amp;float_number;
++ array[1] = &amp;short_number;
++
++ trio_printfv("%hf %hd\n", array); /* CORRECT
++ trio_printfv("%f %d\n", array); /* WRONG
++</pre></div>
++<p>
++<b>CONFORMING</b> <b>TO</b>
++<p>
++Throughout this document the following abbreviations have been used to indicate what standard a feature conforms to. If nothing else is indicated ANSI C (C89) is assumed.
++<p>
++<ul>
++<li> [C89] ANSI X3.159-1989 <li> [C99] ISO/IEC 9899:1999 <li> [UNIX98] The Single UNIX Specification, Version 2 <li> [BSD] 4.4BSD <li> [GNU] GNU libc <li> [MSVC] Microsoft Visual C <li> [MISC] Other non-standard sources <li> [TRIO] Extensions specific for this package </ul>
++<hr><h2>Function Documentation</h2>
++<a name="a22" doxytag="trio-cdetect.c::trio_asprintf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_asprintf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char **&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>result</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>...&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp;</td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Allocate and print to string.
++<p>
++The memory allocated and returned by <code>result</code> must be freed by the calling application.<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>result</em>&nbsp;</td><td>
++Output string. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>...</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a24" doxytag="trio-cdetect.c::trio_asprintfv"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_asprintfv </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char **&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>result</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>trio_pointer_t *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Allocate and print to string.
++<p>
++The memory allocated and returned by <code>result</code> must be freed by the calling application.<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>result</em>&nbsp;</td><td>
++Output string. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a6" doxytag="trio-cdetect.c::trio_dprintf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_dprintf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">int&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>fd</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>...&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp;</td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Print to file descriptor.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>fd</em>&nbsp;</td><td>
++File descriptor. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>...</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a8" doxytag="trio-cdetect.c::trio_dprintfv"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_dprintfv </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">int&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>fd</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>trio_pointer_t *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Print to file descriptor.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>fd</em>&nbsp;</td><td>
++File descriptor. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a3" doxytag="trio-cdetect.c::trio_fprintf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_fprintf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">FILE *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>file</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>...&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp;</td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Print to file.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>file</em>&nbsp;</td><td>
++File pointer. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>...</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a5" doxytag="trio-cdetect.c::trio_fprintfv"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_fprintfv </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">FILE *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>file</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>trio_pointer_t *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Print to file.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>file</em>&nbsp;</td><td>
++File pointer. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a0" doxytag="trio-cdetect.c::trio_printf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_printf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>...&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp;</td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Print to standard output stream.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>...</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a2" doxytag="trio-cdetect.c::trio_printfv"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_printfv </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>trio_pointer_t *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Print to standard output stream.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a15" doxytag="trio-cdetect.c::trio_snprintf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_snprintf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>size_t&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>max</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>...&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp;</td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Print at most <code>max</code> characters to string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>buffer</em>&nbsp;</td><td>
++Output string. </td></tr>
++<tr><td valign=top><em>max</em>&nbsp;</td><td>
++Maximum number of characters to print. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>...</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a17" doxytag="trio-cdetect.c::trio_snprintfv"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_snprintfv </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>size_t&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>max</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>trio_pointer_t *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Print at most <code>max</code> characters to string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>buffer</em>&nbsp;</td><td>
++Output string. </td></tr>
++<tr><td valign=top><em>max</em>&nbsp;</td><td>
++Maximum number of characters to print. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a12" doxytag="trio-cdetect.c::trio_sprintf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_sprintf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>...&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp;</td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Print to string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>buffer</em>&nbsp;</td><td>
++Output string. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>...</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a14" doxytag="trio-cdetect.c::trio_sprintfv"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_sprintfv </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>trio_pointer_t *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Print to string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>buffer</em>&nbsp;</td><td>
++Output string. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a23" doxytag="trio-cdetect.c::trio_vasprintf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_vasprintf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char **&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>result</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>va_list&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Allocate and print to string.
++<p>
++The memory allocated and returned by <code>result</code> must be freed by the calling application.<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>result</em>&nbsp;</td><td>
++Output string. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a7" doxytag="trio-cdetect.c::trio_vdprintf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_vdprintf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">int&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>fd</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>va_list&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Print to file descriptor.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>fd</em>&nbsp;</td><td>
++File descriptor. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a4" doxytag="trio-cdetect.c::trio_vfprintf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_vfprintf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">FILE *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>file</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>va_list&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Print to file.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>file</em>&nbsp;</td><td>
++File pointer. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a1" doxytag="trio-cdetect.c::trio_vprintf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_vprintf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>va_list&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Print to standard output stream.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a16" doxytag="trio-cdetect.c::trio_vsnprintf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_vsnprintf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>size_t&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>max</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>va_list&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Print at most <code>max</code> characters to string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>buffer</em>&nbsp;</td><td>
++Output string. </td></tr>
++<tr><td valign=top><em>max</em>&nbsp;</td><td>
++Maximum number of characters to print. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a13" doxytag="trio-cdetect.c::trio_vsprintf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_vsprintf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>va_list&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Print to string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>buffer</em>&nbsp;</td><td>
++Output string. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of printed characters. </dl> </td>
++ </tr>
++</table>
++<HR>
++<center class="copyright">Copyright (C) 2001 - 2006 Bj&oslash;rn Reese and Daniel Stenberg.</center>
++</body>
++</html>
+diff -up ghostscript-9.07/trio/html/group___scanf.html.gs_sprintf ghostscript-9.07/trio/html/group___scanf.html
+--- ghostscript-9.07/trio/html/group___scanf.html.gs_sprintf 2013-05-09 17:02:39.105447253 +0100
++++ ghostscript-9.07/trio/html/group___scanf.html 2013-05-09 17:02:39.105447253 +0100
+@@ -0,0 +1,766 @@
++<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
++<html>
++<head>
++ <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
++ <title>TRIO</title>
++ <link href="trio.css" rel="stylesheet" type="text/css">
++</head>
++<body>
++<!-- Generated by Doxygen 1.2.18 -->
++<center>
++<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; </center>
++<hr><h1>Formatted Scanning Functions.</h1>Variations of formatted scanning functions.
++<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
++<tr><td></td></tr>
++<tr><td colspan=2><br><h2>Functions</h2></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___scanf.html#a0">trio_scanf</a> (const char *format,...)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Scan characters from standard input stream.</em> <a href="#a0"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___scanf.html#a1">trio_vscanf</a> (const char *format, va_list args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Scan characters from standard input stream.</em> <a href="#a1"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___scanf.html#a2">trio_scanfv</a> (const char *format, trio_pointer_t *args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Scan characters from standard input stream.</em> <a href="#a2"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___scanf.html#a3">trio_fscanf</a> (FILE *file, const char *format,...)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Scan characters from file.</em> <a href="#a3"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___scanf.html#a4">trio_vfscanf</a> (FILE *file, const char *format, va_list args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Scan characters from file.</em> <a href="#a4"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___scanf.html#a5">trio_fscanfv</a> (FILE *file, const char *format, trio_pointer_t *args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Scan characters from file.</em> <a href="#a5"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___scanf.html#a6">trio_dscanf</a> (int fd, const char *format,...)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Scan characters from file descriptor.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___scanf.html#a7">trio_vdscanf</a> (int fd, const char *format, va_list args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Scan characters from file descriptor.</em> <a href="#a7"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___scanf.html#a8">trio_dscanfv</a> (int fd, const char *format, trio_pointer_t *args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Scan characters from file descriptor.</em> <a href="#a8"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___scanf.html#a12">trio_sscanf</a> (const char *buffer, const char *format,...)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Scan characters from string.</em> <a href="#a12"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___scanf.html#a13">trio_vsscanf</a> (const char *buffer, const char *format, va_list args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Scan characters from string.</em> <a href="#a13"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___scanf.html#a14">trio_sscanfv</a> (const char *buffer, const char *format, trio_pointer_t *args)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Scan characters from string.</em> <a href="#a14"></a><em></em></font><br><br></td></tr>
++</table>
++<hr><a name="_details"></a><h2>Detailed Description</h2>
++Variations of formatted scanning functions.
++<p>
++<b>SYNOPSIS</b>
++<p>
++<div class="fragment"><pre>
++cc ... -ltrio -lm
++
++#include &lt;trio.h&gt;
++</pre></div>
++<p>
++<b>DESCRIPTION</b>
++<p>
++This documentation is incomplete. The documentation of the scanf family in [C99] and [UNIX98] also applies to the trio counterparts.
++<p>
++<b>SCANNING</b>
++<p>
++The scanning is controlled by the format string. The format string can contain normal text and conversion indicators. The normal text can be any character except the nil character (\000) and the percent character (\045 = '%'). Conversion indicators consists of an indication character (%), followed by zero or more conversion modifiers, and exactly one conversion specifier.
++<p>
++<b>Modifiers</b>
++<p>
++<em>Positional</em> ( <code>9$</code> ) [UNIX98]
++<p>
++See <a class="el" href="group___printf.html#a218">Formatted Printing Functions.</a>.
++<p>
++<b>Specifiers</b>
++<p>
++<em>Percent</em> ( <code>%</code> )
++<p>
++<em>Character</em> ( <code>c</code> )
++<p>
++<em>Decimal</em> ( <code>d</code> )
++<p>
++<em>Floating-point</em> ( <code>a</code>, <code>A</code>, <code>e</code>, <code>E</code>, <code>f</code>, <code>F</code>, <code>g</code>, <code>G</code> )
++<p>
++<em>Integer</em> ( <code>i</code> )
++<p>
++<em>Count</em> ( <code>n</code> )
++<p>
++<em>Octal</em> ( <code>o</code> )
++<p>
++<em>Pointer</em> ( <code>p</code> )
++<p>
++<em>String</em> ( <code>s</code> )
++<p>
++<em>Unsigned</em> ( <code>u</code> )
++<p>
++<em>Hex</em> ( <code>x</code>, <code>X</code> )
++<p>
++<em>Scanlist</em> ( <code>[]</code> )
++<p>
++Scanlist Exclusion (<code>^</code> )
++<p>
++Scanlist Range ( <code>-</code> ) [TRIO]
++<p>
++<ul>
++<li> Only increasing ranges, i.e. <code>[a-b]</code>, but not <code>[b-a]</code>. <li> Transitive ranges, ie. <code>[a-b-c]</code> equals <code>[a-c]</code>. <li> Trailing minus, ie. <code>[a-]</code> is interpreted as an <code>a</code> and a <code>-</code>. <li> Duplicates are ignored.</ul>
++Scanlist Equivalence Class Expression ( <code>[</code>= =<code>]</code> ) [TRIO]
++<p>
++Locale dependent (LC_COLLATE). Only one expression can appear inside the delimiters. <ul>
++<li> <code>[=a=]</code> All letters in the same equivalence class as the letter <code>a</code>. <div class="fragment"><pre>
++ trio_scanf("%[[=a=]b]\n", buffer);
++ trio_scanf("%[[=a=][=b=]]\n", buffer);
++</pre></div></ul>
++Scanlist Character Class Expression ( <code>[</code>: :<code>])</code> [TRIO] Locale dependent (LC_CTYPE). Only one expression can appear inside the delimiters. <ul>
++<li> <code>[:alnum:]</code> Same as <code>[:alpha:]</code> and <code>[:digit:]</code> <li> <code>[:alpha:]</code> Same as <code>[:lower:]</code> and <code>[:upper:]</code> <li> <code>[:cntrl:]</code> Control characters <li> <code>[:digit:]</code> Decimal digits <li> <code>[:graph:]</code> Printable characters except space <li> <code>[:lower:]</code> Lower case alphabetic letters <li> <code>[:print:]</code> Printable characters <li> <code>[:punct:]</code> Punctuation <li> <code>[:space:]</code> Whitespace characters <li> <code>[:upper:]</code> Upper case alphabetic letters <li> <code>[:xdigit:]</code> Hexadecimal digits <div class="fragment"><pre>
++ trio_scanf("%[[:alnum:]]\n", buffer);
++ trio_scanf("%[[:alpha:][:digit:]]\n", buffer);
++</pre></div></ul>
++<b>RETURN</b> <b>VALUES</b>
++<p>
++<b>SEE</b> <b>ALSO</b>
++<p>
++<a class="el" href="group___printf.html#a218">Formatted Printing Functions.</a> <hr><h2>Function Documentation</h2>
++<a name="a6" doxytag="trio-cdetect.c::trio_dscanf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_dscanf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">int&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>fd</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>...&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp;</td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Scan characters from file descriptor.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>fd</em>&nbsp;</td><td>
++File descriptor. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>...</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of scanned characters. </dl> </td>
++ </tr>
++</table>
++<a name="a8" doxytag="trio-cdetect.c::trio_dscanfv"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_dscanfv </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">int&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>fd</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>trio_pointer_t *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Scan characters from file descriptor.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>fd</em>&nbsp;</td><td>
++File descriptor. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of scanned characters. </dl> </td>
++ </tr>
++</table>
++<a name="a3" doxytag="trio-cdetect.c::trio_fscanf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_fscanf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">FILE *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>file</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>...&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp;</td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Scan characters from file.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>file</em>&nbsp;</td><td>
++File pointer. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>...</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of scanned characters. </dl> </td>
++ </tr>
++</table>
++<a name="a5" doxytag="trio-cdetect.c::trio_fscanfv"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_fscanfv </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">FILE *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>file</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>trio_pointer_t *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Scan characters from file.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>file</em>&nbsp;</td><td>
++File pointer. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of scanned characters. </dl> </td>
++ </tr>
++</table>
++<a name="a0" doxytag="trio-cdetect.c::trio_scanf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_scanf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>...&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp;</td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Scan characters from standard input stream.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>...</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of scanned characters. </dl> </td>
++ </tr>
++</table>
++<a name="a2" doxytag="trio-cdetect.c::trio_scanfv"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_scanfv </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>trio_pointer_t *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Scan characters from standard input stream.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of scanned characters. </dl> </td>
++ </tr>
++</table>
++<a name="a12" doxytag="trio-cdetect.c::trio_sscanf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_sscanf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>...&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp;</td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Scan characters from string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>buffer</em>&nbsp;</td><td>
++Input string. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>...</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of scanned characters. </dl> </td>
++ </tr>
++</table>
++<a name="a14" doxytag="trio-cdetect.c::trio_sscanfv"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_sscanfv </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>trio_pointer_t *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Scan characters from string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>buffer</em>&nbsp;</td><td>
++Input string. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of scanned characters. </dl> </td>
++ </tr>
++</table>
++<a name="a7" doxytag="trio-cdetect.c::trio_vdscanf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_vdscanf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">int&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>fd</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>va_list&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Scan characters from file descriptor.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>fd</em>&nbsp;</td><td>
++File descriptor. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of scanned characters. </dl> </td>
++ </tr>
++</table>
++<a name="a4" doxytag="trio-cdetect.c::trio_vfscanf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_vfscanf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">FILE *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>file</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>va_list&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Scan characters from file.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>file</em>&nbsp;</td><td>
++File pointer. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of scanned characters. </dl> </td>
++ </tr>
++</table>
++<a name="a1" doxytag="trio-cdetect.c::trio_vscanf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_vscanf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>va_list&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Scan characters from standard input stream.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of scanned characters. </dl> </td>
++ </tr>
++</table>
++<a name="a13" doxytag="trio-cdetect.c::trio_vsscanf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> int trio_vsscanf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>va_list&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>args</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Scan characters from string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>buffer</em>&nbsp;</td><td>
++Input string. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>args</em>&nbsp;</td><td>
++Arguments. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of scanned characters. </dl> </td>
++ </tr>
++</table>
++<HR>
++<center class="copyright">Copyright (C) 2001 - 2006 Bj&oslash;rn Reese and Daniel Stenberg.</center>
++</body>
++</html>
+diff -up ghostscript-9.07/trio/html/group___special_quantities.html.gs_sprintf ghostscript-9.07/trio/html/group___special_quantities.html
+--- ghostscript-9.07/trio/html/group___special_quantities.html.gs_sprintf 2013-05-09 17:02:39.106447257 +0100
++++ ghostscript-9.07/trio/html/group___special_quantities.html 2013-05-09 17:02:39.106447257 +0100
+@@ -0,0 +1,377 @@
++<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
++<html>
++<head>
++ <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
++ <title>TRIO</title>
++ <link href="trio.css" rel="stylesheet" type="text/css">
++</head>
++<body>
++<!-- Generated by Doxygen 1.2.18 -->
++<center>
++<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; </center>
++<hr><h1>Special Quantifies.</h1>Functions to detect and fabricate special quantities in floating-point numbers.
++<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
++<tr><td></td></tr>
++<tr><td colspan=2><br><h2>Functions</h2></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_NAN int&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a4">trio_isnan</a> (double number)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Check for NaN.</em> <a href="#a4"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_NAN int&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a5">trio_isinf</a> (double number)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Check for infinity.</em> <a href="#a5"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_NAN int&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a6">trio_isfinite</a> (double number)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Check for finity.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_NAN int&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a7">trio_signbit</a> (double number)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Examine the sign of a number.</em> <a href="#a7"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_NAN int&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a8">trio_fpclassify</a> (double number)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Examine the class of a number.</em> <a href="#a8"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_NAN double&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a9">trio_nzero</a> (void)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Generate negative zero.</em> <a href="#a9"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_NAN double&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a10">trio_pinf</a> (void)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Generate positive infinity.</em> <a href="#a10"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_NAN double&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a11">trio_ninf</a> (void)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Generate negative infinity.</em> <a href="#a11"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_NAN double&nbsp;</td><td valign=bottom><a class="el" href="group___special_quantities.html#a12">trio_nan</a> (void)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Generate NaN.</em> <a href="#a12"></a><em></em></font><br><br></td></tr>
++</table>
++<hr><a name="_details"></a><h2>Detailed Description</h2>
++Functions to detect and fabricate special quantities in floating-point numbers.
++<p>
++<b>SYNOPSIS</b>
++<p>
++<div class="fragment"><pre>
++cc ... -ltrio -lm
++
++#include &lt;trionan.h&gt;
++</pre></div>
++<p>
++<b>DESCRIPTION</b>
++<p>
++Certain arithmetical operations does not result in normal numbers. Instead they result in special quantities that must be handled differently by the floating-point hardware. These includes Infinity and Not-A-Number (NaN).
++<p>
++For example, 0/0 (zero divided by zero) yields NaN. Any operation which involves a NaN will result in NaN. Any comparison involving NaN will be unsuccessful, even if NaN is compared to NaN.
++<p>
++These special quantities are represented with special bit patterns by the floating-point hardware, and this bit patterns depend on the hardware. There may even be hardware that does not support special quantities, so the functions in this module are not guaranteed to work on all platforms.
++<p>
++The approach used in this module is to (in decreasing order of importance) <ul>
++<li> Use C99 functionality when available. <li> Use IEEE 754-1985 bit patterns if possible. <li> Use platform-specific techniques.</ul>
++<b>NOTES</b>
++<p>
++This module does not depend on the rest of trio, and can thus be reused separately. The following files are necessary: <ul>
++<li> <code>triodef.h</code> <li> <code>trionan.h</code> <li> <code>trionan.c</code> </ul>
++<hr><h2>Function Documentation</h2>
++<a name="a8" doxytag="trionan-macro.c::trio_fpclassify"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_NAN int trio_fpclassify </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">double&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>number</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Examine the class of a number.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>number</em>&nbsp;</td><td>
++An arbitrary floating-point number. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Enumerable value indicating the class of <code>number</code> </dl> </td>
++ </tr>
++</table>
++<a name="a6" doxytag="trionan-macro.c::trio_isfinite"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_NAN int trio_isfinite </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">double&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>number</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Check for finity.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>number</em>&nbsp;</td><td>
++An arbitrary floating-point number. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean value indicating whether or not the number is a finite. </dl> </td>
++ </tr>
++</table>
++<a name="a5" doxytag="trionan-macro.c::trio_isinf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_NAN int trio_isinf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">double&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>number</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Check for infinity.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>number</em>&nbsp;</td><td>
++An arbitrary floating-point number. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++1 if positive infinity, -1 if negative infinity, 0 otherwise. </dl> </td>
++ </tr>
++</table>
++<a name="a4" doxytag="trionan-macro.c::trio_isnan"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_NAN int trio_isnan </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">double&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>number</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Check for NaN.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>number</em>&nbsp;</td><td>
++An arbitrary floating-point number. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean value indicating whether or not the number is a NaN. </dl> </td>
++ </tr>
++</table>
++<a name="a12" doxytag="trionan-macro.c::trio_nan"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_NAN double trio_nan </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">void&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Generate NaN.
++<p>
++<dl compact><dt><b>Returns: </b></dt><dd>
++Floating-point representation of NaN. </dl> </td>
++ </tr>
++</table>
++<a name="a11" doxytag="trionan-macro.c::trio_ninf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_NAN double trio_ninf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">void&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Generate negative infinity.
++<p>
++<dl compact><dt><b>Returns: </b></dt><dd>
++Floating-point value of negative infinity. </dl> </td>
++ </tr>
++</table>
++<a name="a9" doxytag="trionan-macro.c::trio_nzero"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_NAN double trio_nzero </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">void&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Generate negative zero.
++<p>
++<dl compact><dt><b>Returns: </b></dt><dd>
++Floating-point representation of negative zero. </dl> </td>
++ </tr>
++</table>
++<a name="a10" doxytag="trionan-macro.c::trio_pinf"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_NAN double trio_pinf </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">void&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Generate positive infinity.
++<p>
++<dl compact><dt><b>Returns: </b></dt><dd>
++Floating-point representation of positive infinity. </dl> </td>
++ </tr>
++</table>
++<a name="a7" doxytag="trionan-macro.c::trio_signbit"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_NAN int trio_signbit </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">double&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>number</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Examine the sign of a number.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>number</em>&nbsp;</td><td>
++An arbitrary floating-point number. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean value indicating whether or not the number has the sign bit set (i.e. is negative). </dl> </td>
++ </tr>
++</table>
++<HR>
++<center class="copyright">Copyright (C) 2001 - 2006 Bj&oslash;rn Reese and Daniel Stenberg.</center>
++</body>
++</html>
+diff -up ghostscript-9.07/trio/html/group___static_strings.html.gs_sprintf ghostscript-9.07/trio/html/group___static_strings.html
+--- ghostscript-9.07/trio/html/group___static_strings.html.gs_sprintf 2013-05-09 17:02:39.107447262 +0100
++++ ghostscript-9.07/trio/html/group___static_strings.html 2013-05-09 17:02:39.107447262 +0100
+@@ -0,0 +1,1864 @@
++<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
++<html>
++<head>
++ <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
++ <title>TRIO</title>
++ <link href="trio.css" rel="stylesheet" type="text/css">
++</head>
++<body>
++<!-- Generated by Doxygen 1.2.18 -->
++<center>
++<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; </center>
++<hr><h1>Static String Functions.</h1>Replacements for the standard C string functions.
++<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
++<tr><td></td></tr>
++<tr><td colspan=2><br><h2>Functions</h2></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING char *&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a5">trio_create</a> (size_t size)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Create new string.</em> <a href="#a5"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING void&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a6">trio_destroy</a> (char *string)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Destroy string.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING size_t&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a7">trio_length</a> (const char *string)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Count the number of characters in a string.</em> <a href="#a7"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a8">trio_append</a> (char *target, const char *source)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Append <code>source</code> at the end of <code>target</code>.</em> <a href="#a8"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a9">trio_append_max</a> (char *target, size_t max, const char *source)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Append at most <code>max</code> characters from <code>source</code> to <code>target</code>.</em> <a href="#a9"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a10">trio_contains</a> (const char *string, const char *substring)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Determine if a string contains a substring.</em> <a href="#a10"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a11">trio_copy</a> (char *target, const char *source)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Copy <code>source</code> to <code>target</code>.</em> <a href="#a11"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a12">trio_copy_max</a> (char *target, size_t max, const char *source)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Copy at most <code>max</code> characters from <code>source</code> to <code>target</code>.</em> <a href="#a12"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING char *&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a13">trio_duplicate</a> (const char *source)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Duplicate <code>source</code>.</em> <a href="#a13"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING char *&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a14">trio_duplicate_max</a> (const char *source, size_t max)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Duplicate at most <code>max</code> characters of <code>source</code>.</em> <a href="#a14"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a15">trio_equal</a> (const char *first, const char *second)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Compare if two strings are equal.</em> <a href="#a15"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a16">trio_equal_case</a> (const char *first, const char *second)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Compare if two strings are equal.</em> <a href="#a16"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a17">trio_equal_case_max</a> (const char *first, size_t max, const char *second)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Compare if two strings up until the first <code>max</code> characters are equal.</em> <a href="#a17"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a18">trio_equal_locale</a> (const char *first, const char *second)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Compare if two strings are equal.</em> <a href="#a18"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a19">trio_equal_max</a> (const char *first, size_t max, const char *second)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Compare if two strings up until the first <code>max</code> characters are equal.</em> <a href="#a19"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING const char *&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a20">trio_error</a> (int error_number)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Provide a textual description of an error code (errno).</em> <a href="#a20"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING size_t&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a21">trio_format_date_max</a> (char *target, size_t max, const char *format, const struct tm *datetime)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Format the date/time according to <code>format</code>.</em> <a href="#a21"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING unsigned <br>
++long&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a22">trio_hash</a> (const char *string, int type)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Calculate a hash value for a string.</em> <a href="#a22"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING char *&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a23">trio_index</a> (const char *string, int character)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Find first occurrence of a character in a string.</em> <a href="#a23"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING char *&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a24">trio_index_last</a> (const char *string, int character)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Find last occurrence of a character in a string.</em> <a href="#a24"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a25">trio_lower</a> (char *target)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Convert the alphabetic letters in the string to lower-case.</em> <a href="#a25"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a26">trio_match</a> (const char *string, const char *pattern)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Compare two strings using wildcards.</em> <a href="#a26"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a27">trio_match_case</a> (const char *string, const char *pattern)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Compare two strings using wildcards.</em> <a href="#a27"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING size_t&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a28">trio_span_function</a> (char *target, const char *source, int(*Function)(int))</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Execute a function on each character in string.</em> <a href="#a28"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING char *&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a29">trio_substring</a> (const char *string, const char *substring)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Search for a substring in a string.</em> <a href="#a29"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING char *&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a30">trio_substring_max</a> (const char *string, size_t max, const char *substring)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Search for a substring in the first <code>max</code> characters of a string.</em> <a href="#a30"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING char *&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a31">trio_tokenize</a> (char *string, const char *delimiters)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Tokenize string.</em> <a href="#a31"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING trio_long_double_t&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a32">trio_to_long_double</a> (const char *source, char **endp)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Convert string to floating-point number.</em> <a href="#a32"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING double&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a33">trio_to_double</a> (const char *source, char **endp)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Convert string to floating-point number.</em> <a href="#a33"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING float&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a34">trio_to_float</a> (const char *source, char **endp)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Convert string to floating-point number.</em> <a href="#a34"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING long&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a35">trio_to_long</a> (const char *string, char **endp, int base)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Convert string to signed integer.</em> <a href="#a35"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a36">trio_to_lower</a> (int source)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Convert one alphabetic letter to lower-case.</em> <a href="#a36"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING unsigned <br>
++long&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a37">trio_to_unsigned_long</a> (const char *string, char **endp, int base)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Convert string to unsigned integer.</em> <a href="#a37"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a38">trio_to_upper</a> (int source)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Convert one alphabetic letter to upper-case.</em> <a href="#a38"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING int&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a39">trio_upper</a> (char *target)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Convert the alphabetic letters in the string to upper-case.</em> <a href="#a39"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>TRIO_PUBLIC_STRING size_t&nbsp;</td><td valign=bottom><a class="el" href="group___static_strings.html#a40">trio_length_max</a> (const char *string, size_t max)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Count at most <code>max</code> characters in a string.</em> <a href="#a40"></a><em></em></font><br><br></td></tr>
++</table>
++<hr><a name="_details"></a><h2>Detailed Description</h2>
++Replacements for the standard C string functions.
++<p>
++<b>SYNOPSIS</b>
++<p>
++<div class="fragment"><pre>
++cc ... -ltrio -lm
++
++#include &lt;triostr.h&gt;
++</pre></div>
++<p>
++<b>DESCRIPTION</b>
++<p>
++This package renames, fixes, and extends the standard C string handling functions.
++<p>
++<b>Naming</b>
++<p>
++Renaming is done to provide more clear names, to provide a consistant naming and argument policy, and to hide portability issues.
++<p>
++<ul>
++<li> All functions starts with "trio_". <li> Target is always the first argument, if present, except where the target is optional, such as <a class="el" href="group___static_strings.html#a33">Static String Functions.</a>. <li> Functions requiring a size for target includes "_max" in its name, and the size is always the second argument. <li> Functions performing case-sensitive operations includes "_case" in its name.</ul>
++<b>Fixing</b>
++<p>
++Fixing is done to avoid subtle error conditions. For example, <code>strncpy</code> does not terminate the result with a zero if the source string is bigger than the maximal length, so technically the result is not a C string anymore. <a class="el" href="group___static_strings.html#a12">Static String Functions.</a> makes sure that the result is zero terminated.
++<p>
++<b>Extending</b>
++<p>
++Extending is done to provide a richer set of fundamental functions. This includes functionality such as wildcard matching ( <code>trio_match</code> ) and calculation of hash values ( <code>trio_hash</code> ). <hr><h2>Function Documentation</h2>
++<a name="a8" doxytag="triostr-macro.c::trio_append"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_append </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>target</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>source</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Append <code>source</code> at the end of <code>target</code>.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>target</em>&nbsp;</td><td>
++Target string. </td></tr>
++<tr><td valign=top><em>source</em>&nbsp;</td><td>
++Source string. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean value indicating success or failure.</dl><dl compact><dt><b>Precondition: </b></dt><dd>
++<code>target</code> must point to a memory chunk with sufficient room to contain the <code>target</code> string and <code>source</code> string. <dd>
++No boundary checking is performed, so insufficient memory will result in a buffer overrun. </dl><dl compact><dt><b>Postcondition: </b></dt><dd>
++<code>target</code> will be zero terminated. </dl> </td>
++ </tr>
++</table>
++<a name="a9" doxytag="triostr-macro.c::trio_append_max"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_append_max </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>target</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>size_t&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>max</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>source</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Append at most <code>max</code> characters from <code>source</code> to <code>target</code>.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>target</em>&nbsp;</td><td>
++Target string. </td></tr>
++<tr><td valign=top><em>max</em>&nbsp;</td><td>
++Maximum number of characters to append. </td></tr>
++<tr><td valign=top><em>source</em>&nbsp;</td><td>
++Source string. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean value indicating success or failure.</dl><dl compact><dt><b>Precondition: </b></dt><dd>
++<code>target</code> must point to a memory chuck with sufficient room to contain the <code>target</code> string and the <code>source</code> string (at most <code>max</code> characters). <dd>
++No boundary checking is performed, so insufficient memory will result in a buffer overrun. </dl><dl compact><dt><b>Postcondition: </b></dt><dd>
++<code>target</code> will be zero terminated. </dl> </td>
++ </tr>
++</table>
++<a name="a10" doxytag="triostr-macro.c::trio_contains"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_contains </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>string</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>substring</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Determine if a string contains a substring.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>string</em>&nbsp;</td><td>
++String to be searched. </td></tr>
++<tr><td valign=top><em>substring</em>&nbsp;</td><td>
++String to be found. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean value indicating success or failure. </dl> </td>
++ </tr>
++</table>
++<a name="a11" doxytag="triostr-macro.c::trio_copy"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_copy </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>target</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>source</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Copy <code>source</code> to <code>target</code>.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>target</em>&nbsp;</td><td>
++Target string. </td></tr>
++<tr><td valign=top><em>source</em>&nbsp;</td><td>
++Source string. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean value indicating success or failure.</dl><dl compact><dt><b>Precondition: </b></dt><dd>
++<code>target</code> must point to a memory chunk with sufficient room to contain the <code>source</code> string. <dd>
++No boundary checking is performed, so insufficient memory will result in a buffer overrun. </dl><dl compact><dt><b>Postcondition: </b></dt><dd>
++<code>target</code> will be zero terminated. </dl> </td>
++ </tr>
++</table>
++<a name="a12" doxytag="triostr-macro.c::trio_copy_max"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_copy_max </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>target</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>size_t&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>max</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>source</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Copy at most <code>max</code> characters from <code>source</code> to <code>target</code>.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>target</em>&nbsp;</td><td>
++Target string. </td></tr>
++<tr><td valign=top><em>max</em>&nbsp;</td><td>
++Maximum number of characters to append. </td></tr>
++<tr><td valign=top><em>source</em>&nbsp;</td><td>
++Source string. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean value indicating success or failure.</dl><dl compact><dt><b>Precondition: </b></dt><dd>
++<code>target</code> must point to a memory chunk with sufficient room to contain the <code>source</code> string (at most <code>max</code> characters). <dd>
++No boundary checking is performed, so insufficient memory will result in a buffer overrun. </dl><dl compact><dt><b>Postcondition: </b></dt><dd>
++<code>target</code> will be zero terminated. </dl> </td>
++ </tr>
++</table>
++<a name="a5" doxytag="triostr-macro.c::trio_create"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING char* trio_create </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">size_t&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>size</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Create new string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>size</em>&nbsp;</td><td>
++Size of new string. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Pointer to string, or NULL if allocation failed. </dl> </td>
++ </tr>
++</table>
++<a name="a6" doxytag="triostr-macro.c::trio_destroy"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING void trio_destroy </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char *&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>string</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Destroy string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>string</em>&nbsp;</td><td>
++String to be freed. </td></tr>
++</table>
++</dl> </td>
++ </tr>
++</table>
++<a name="a13" doxytag="triostr-macro.c::trio_duplicate"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING char* trio_duplicate </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>source</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Duplicate <code>source</code>.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>source</em>&nbsp;</td><td>
++Source string. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++A copy of the <code>source</code> string.</dl><dl compact><dt><b>Postcondition: </b></dt><dd>
++<code>target</code> will be zero terminated. </dl> </td>
++ </tr>
++</table>
++<a name="a14" doxytag="triostr-macro.c::trio_duplicate_max"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING char* trio_duplicate_max </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>source</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>size_t&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>max</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Duplicate at most <code>max</code> characters of <code>source</code>.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>source</em>&nbsp;</td><td>
++Source string. </td></tr>
++<tr><td valign=top><em>max</em>&nbsp;</td><td>
++Maximum number of characters to duplicate. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++A copy of the <code>source</code> string.</dl><dl compact><dt><b>Postcondition: </b></dt><dd>
++<code>target</code> will be zero terminated. </dl> </td>
++ </tr>
++</table>
++<a name="a15" doxytag="triostr-macro.c::trio_equal"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_equal </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>first</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>second</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Compare if two strings are equal.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>first</em>&nbsp;</td><td>
++First string. </td></tr>
++<tr><td valign=top><em>second</em>&nbsp;</td><td>
++Second string. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean indicating whether the two strings are equal or not.</dl>Case-insensitive comparison. </td>
++ </tr>
++</table>
++<a name="a16" doxytag="triostr-macro.c::trio_equal_case"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_equal_case </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>first</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>second</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Compare if two strings are equal.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>first</em>&nbsp;</td><td>
++First string. </td></tr>
++<tr><td valign=top><em>second</em>&nbsp;</td><td>
++Second string. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean indicating whether the two strings are equal or not.</dl>Case-sensitive comparison. </td>
++ </tr>
++</table>
++<a name="a17" doxytag="triostr-macro.c::trio_equal_case_max"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_equal_case_max </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>first</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>size_t&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>max</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>second</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Compare if two strings up until the first <code>max</code> characters are equal.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>first</em>&nbsp;</td><td>
++First string. </td></tr>
++<tr><td valign=top><em>max</em>&nbsp;</td><td>
++Maximum number of characters to compare. </td></tr>
++<tr><td valign=top><em>second</em>&nbsp;</td><td>
++Second string. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean indicating whether the two strings are equal or not.</dl>Case-sensitive comparison. </td>
++ </tr>
++</table>
++<a name="a18" doxytag="triostr-macro.c::trio_equal_locale"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_equal_locale </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>first</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>second</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Compare if two strings are equal.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>first</em>&nbsp;</td><td>
++First string. </td></tr>
++<tr><td valign=top><em>second</em>&nbsp;</td><td>
++Second string. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean indicating whether the two strings are equal or not.</dl>Collating characters are considered equal. </td>
++ </tr>
++</table>
++<a name="a19" doxytag="triostr-macro.c::trio_equal_max"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_equal_max </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>first</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>size_t&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>max</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>second</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Compare if two strings up until the first <code>max</code> characters are equal.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>first</em>&nbsp;</td><td>
++First string. </td></tr>
++<tr><td valign=top><em>max</em>&nbsp;</td><td>
++Maximum number of characters to compare. </td></tr>
++<tr><td valign=top><em>second</em>&nbsp;</td><td>
++Second string. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean indicating whether the two strings are equal or not.</dl>Case-insensitive comparison. </td>
++ </tr>
++</table>
++<a name="a20" doxytag="triostr-macro.c::trio_error"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING const char* trio_error </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">int&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>error_number</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Provide a textual description of an error code (errno).
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>error_number</em>&nbsp;</td><td>
++Error number. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Textual description of <code>error_number</code>. </dl> </td>
++ </tr>
++</table>
++<a name="a21" doxytag="triostr-macro.c::trio_format_date_max"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING size_t trio_format_date_max </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>target</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>size_t&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>max</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>format</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const struct tm *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>datetime</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Format the date/time according to <code>format</code>.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>target</em>&nbsp;</td><td>
++Target string. </td></tr>
++<tr><td valign=top><em>max</em>&nbsp;</td><td>
++Maximum number of characters to format. </td></tr>
++<tr><td valign=top><em>format</em>&nbsp;</td><td>
++Formatting string. </td></tr>
++<tr><td valign=top><em>datetime</em>&nbsp;</td><td>
++Date/time structure. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of formatted characters.</dl>The formatting string accepts the same specifiers as the standard C function strftime. </td>
++ </tr>
++</table>
++<a name="a22" doxytag="triostr-macro.c::trio_hash"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING unsigned long trio_hash </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>string</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>int&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>type</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Calculate a hash value for a string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>string</em>&nbsp;</td><td>
++String to be calculated on. </td></tr>
++<tr><td valign=top><em>type</em>&nbsp;</td><td>
++Hash function. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Calculated hash value.</dl><code>type</code> can be one of the following <ul>
++<li> <code>TRIO_HASH_PLAIN</code> Plain hash function. </ul>
++ </td>
++ </tr>
++</table>
++<a name="a23" doxytag="triostr-macro.c::trio_index"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING char* trio_index </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>string</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>int&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>character</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Find first occurrence of a character in a string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>string</em>&nbsp;</td><td>
++String to be searched. </td></tr>
++<tr><td valign=top><em>character</em>&nbsp;</td><td>
++Character to be found. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++A pointer to the found character, or NULL if character was not found. </dl> </td>
++ </tr>
++</table>
++<a name="a24" doxytag="triostr-macro.c::trio_index_last"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING char* trio_index_last </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>string</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>int&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>character</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Find last occurrence of a character in a string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>string</em>&nbsp;</td><td>
++String to be searched. </td></tr>
++<tr><td valign=top><em>character</em>&nbsp;</td><td>
++Character to be found. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++A pointer to the found character, or NULL if character was not found. </dl> </td>
++ </tr>
++</table>
++<a name="a7" doxytag="triostr-macro.c::trio_length"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING size_t trio_length </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>string</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Count the number of characters in a string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>string</em>&nbsp;</td><td>
++String to measure. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of characters in <code>string</code>. </dl> </td>
++ </tr>
++</table>
++<a name="a40" doxytag="triostr.c::trio_length_max"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING size_t trio_length_max </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>string</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>size_t&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>max</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Count at most <code>max</code> characters in a string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>string</em>&nbsp;</td><td>
++String to measure. </td></tr>
++<tr><td valign=top><em>max</em>&nbsp;</td><td>
++Maximum number of characters to count. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++The maximum value of <code>max</code> and number of characters in <code>string</code>. </dl> </td>
++ </tr>
++</table>
++<a name="a25" doxytag="triostr-macro.c::trio_lower"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_lower </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char *&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>target</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Convert the alphabetic letters in the string to lower-case.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>target</em>&nbsp;</td><td>
++String to be converted. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of processed characters (converted or not). </dl> </td>
++ </tr>
++</table>
++<a name="a26" doxytag="triostr-macro.c::trio_match"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_match </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>string</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>pattern</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Compare two strings using wildcards.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>string</em>&nbsp;</td><td>
++String to be searched. </td></tr>
++<tr><td valign=top><em>pattern</em>&nbsp;</td><td>
++Pattern, including wildcards, to search for. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean value indicating success or failure.</dl>Case-insensitive comparison.
++<p>
++The following wildcards can be used <ul>
++<li> <code>*</code> Match any number of characters. <li> ? <code>Match</code> a single character. </ul>
++ </td>
++ </tr>
++</table>
++<a name="a27" doxytag="triostr-macro.c::trio_match_case"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_match_case </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>string</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>pattern</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Compare two strings using wildcards.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>string</em>&nbsp;</td><td>
++String to be searched. </td></tr>
++<tr><td valign=top><em>pattern</em>&nbsp;</td><td>
++Pattern, including wildcards, to search for. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Boolean value indicating success or failure.</dl>Case-sensitive comparison.
++<p>
++The following wildcards can be used <ul>
++<li> <code>*</code> Match any number of characters. <li> ? <code>Match</code> a single character. </ul>
++ </td>
++ </tr>
++</table>
++<a name="a28" doxytag="triostr-macro.c::trio_span_function"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING size_t trio_span_function </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>target</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>source</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>int(*&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>Function</em>)(int)</td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Execute a function on each character in string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>target</em>&nbsp;</td><td>
++Target string. </td></tr>
++<tr><td valign=top><em>source</em>&nbsp;</td><td>
++Source string. </td></tr>
++<tr><td valign=top><em>Function</em>&nbsp;</td><td>
++Function to be executed. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Number of processed characters. </dl> </td>
++ </tr>
++</table>
++<a name="a29" doxytag="triostr-macro.c::trio_substring"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING char* trio_substring </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>string</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>substring</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Search for a substring in a string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>string</em>&nbsp;</td><td>
++String to be searched. </td></tr>
++<tr><td valign=top><em>substring</em>&nbsp;</td><td>
++String to be found. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Pointer to first occurrence of <code>substring</code> in <code>string</code>, or NULL if no match was found. </dl> </td>
++ </tr>
++</table>
++<a name="a30" doxytag="triostr-macro.c::trio_substring_max"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING char* trio_substring_max </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>string</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>size_t&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>max</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>substring</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Search for a substring in the first <code>max</code> characters of a string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>string</em>&nbsp;</td><td>
++String to be searched. </td></tr>
++<tr><td valign=top><em>max</em>&nbsp;</td><td>
++Maximum characters to be searched. </td></tr>
++<tr><td valign=top><em>substring</em>&nbsp;</td><td>
++String to be found. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Pointer to first occurrence of <code>substring</code> in <code>string</code>, or NULL if no match was found. </dl> </td>
++ </tr>
++</table>
++<a name="a33" doxytag="triostr-macro.c::trio_to_double"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING double trio_to_double </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>source</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>char **&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>endp</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Convert string to floating-point number.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>source</em>&nbsp;</td><td>
++String to be converted. </td></tr>
++<tr><td valign=top><em>endp</em>&nbsp;</td><td>
++Pointer to end of the converted string. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++A floating-point number.</dl>See <a class="el" href="group___static_strings.html#a32">Static String Functions.</a>. </td>
++ </tr>
++</table>
++<a name="a34" doxytag="triostr-macro.c::trio_to_float"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING float trio_to_float </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>source</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>char **&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>endp</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Convert string to floating-point number.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>source</em>&nbsp;</td><td>
++String to be converted. </td></tr>
++<tr><td valign=top><em>endp</em>&nbsp;</td><td>
++Pointer to end of the converted string. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++A floating-point number.</dl>See <a class="el" href="group___static_strings.html#a32">Static String Functions.</a>. </td>
++ </tr>
++</table>
++<a name="a35" doxytag="triostr-macro.c::trio_to_long"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING long trio_to_long </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>string</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>char **&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>endp</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>int&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>base</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Convert string to signed integer.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>string</em>&nbsp;</td><td>
++String to be converted. </td></tr>
++<tr><td valign=top><em>endp</em>&nbsp;</td><td>
++Pointer to end of converted string. </td></tr>
++<tr><td valign=top><em>base</em>&nbsp;</td><td>
++Radix number of number. </td></tr>
++</table>
++</dl> </td>
++ </tr>
++</table>
++<a name="a32" doxytag="triostr-macro.c::trio_to_long_double"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING trio_long_double_t trio_to_long_double </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>source</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>char **&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>endp</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Convert string to floating-point number.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>source</em>&nbsp;</td><td>
++String to be converted. </td></tr>
++<tr><td valign=top><em>endp</em>&nbsp;</td><td>
++Pointer to end of the converted string. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++A floating-point number.</dl>The following Extended Backus-Naur form is used <div class="fragment"><pre>
++ double ::= [ &lt;sign&gt; ]
++ ( &lt;number&gt; |
++ &lt;number&gt; &lt;decimal_point&gt; &lt;number&gt; |
++ &lt;decimal_point&gt; &lt;number&gt; )
++ [ &lt;exponential&gt; [ &lt;sign&gt; ] &lt;number&gt; ]
++ number ::= 1*( &lt;digit&gt; )
++ digit ::= ( '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' )
++ exponential ::= ( 'e' | 'E' )
++ sign ::= ( '-' | '+' )
++ decimal_point ::= '.'
++ </pre></div> </td>
++ </tr>
++</table>
++<a name="a36" doxytag="triostr-macro.c::trio_to_lower"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_to_lower </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">int&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>source</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Convert one alphabetic letter to lower-case.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>source</em>&nbsp;</td><td>
++The letter to be converted. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++The converted letter. </dl> </td>
++ </tr>
++</table>
++<a name="a37" doxytag="triostr-macro.c::trio_to_unsigned_long"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING unsigned long trio_to_unsigned_long </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>string</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>char **&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>endp</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>int&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>base</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Convert string to unsigned integer.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>string</em>&nbsp;</td><td>
++String to be converted. </td></tr>
++<tr><td valign=top><em>endp</em>&nbsp;</td><td>
++Pointer to end of converted string. </td></tr>
++<tr><td valign=top><em>base</em>&nbsp;</td><td>
++Radix number of number. </td></tr>
++</table>
++</dl> </td>
++ </tr>
++</table>
++<a name="a38" doxytag="triostr-macro.c::trio_to_upper"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_to_upper </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">int&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>source</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Convert one alphabetic letter to upper-case.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>source</em>&nbsp;</td><td>
++The letter to be converted. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++The converted letter. </dl> </td>
++ </tr>
++</table>
++<a name="a31" doxytag="triostr-macro.c::trio_tokenize"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING char* trio_tokenize </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>string</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>delimiters</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Tokenize string.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>string</em>&nbsp;</td><td>
++String to be tokenized. </td></tr>
++<tr><td valign=top><em>delimiters</em>&nbsp;</td><td>
++String containing list of delimiting characters. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Start of new token.</dl><dl compact><dt><b>Warning: </b></dt><dd>
++<code>string</code> will be destroyed. </dl> </td>
++ </tr>
++</table>
++<a name="a39" doxytag="triostr-macro.c::trio_upper"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> TRIO_PUBLIC_STRING int trio_upper </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">char *&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>target</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Convert the alphabetic letters in the string to upper-case.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>target</em>&nbsp;</td><td>
++The string to be converted. </td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++The number of processed characters (converted or not). </dl> </td>
++ </tr>
++</table>
++<HR>
++<center class="copyright">Copyright (C) 2001 - 2006 Bj&oslash;rn Reese and Daniel Stenberg.</center>
++</body>
++</html>
+diff -up ghostscript-9.07/trio/html/group___user_defined.html.gs_sprintf ghostscript-9.07/trio/html/group___user_defined.html
+--- ghostscript-9.07/trio/html/group___user_defined.html.gs_sprintf 2013-05-09 17:02:39.107447262 +0100
++++ ghostscript-9.07/trio/html/group___user_defined.html 2013-05-09 17:02:39.107447262 +0100
+@@ -0,0 +1,391 @@
++<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
++<html>
++<head>
++ <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
++ <title>TRIO</title>
++ <link href="trio.css" rel="stylesheet" type="text/css">
++</head>
++<body>
++<!-- Generated by Doxygen 1.2.18 -->
++<center>
++<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; </center>
++<hr><h1>User-defined Formatted Printing Functions.</h1>Functions for using customized formatting specifiers.
++<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
++<tr><td></td></tr>
++<tr><td colspan=2><br><h2>Functions</h2></td></tr>
++<tr><td nowrap align=right valign=top>trio_pointer_t&nbsp;</td><td valign=bottom><a class="el" href="group___user_defined.html#a0">trio_register</a> (trio_callback_t callback, const char *name)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Register new user-defined specifier.</em> <a href="#a0"></a><em></em></font><br><br></td></tr>
++<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___user_defined.html#a1">trio_unregister</a> (trio_pointer_t handle)</td></tr>
++<tr><td>&nbsp;</td><td><font size=-1><em>Unregister an existing user-defined specifier.</em> <a href="#a1"></a><em></em></font><br><br></td></tr>
++</table>
++<hr><a name="_details"></a><h2>Detailed Description</h2>
++Functions for using customized formatting specifiers.
++<p>
++<b>SYNOPSIS</b>
++<p>
++<div class="fragment"><pre>
++cc ... -ltrio -lm
++
++#include &lt;trio.h&gt;
++#include &lt;triop.h&gt;
++</pre></div>
++<p>
++<b>DESCRIPTION</b>
++<p>
++This documentation is incomplete.
++<p>
++<b>User-defined</b> <b>Specifier</b>
++<p>
++The user-defined specifier consists of a start character (\074 = '&lt;'), an optional namespace string followed by a namespace separator (\072 = ':'), a format string, an optional skipping separator (\174 = '|'), and an end character (\076 = '&gt;').
++<p>
++The namespace string can consist of alphanumeric characters, and is used to define a named reference (see below). The namespace is case-sensitive. If no namespace is specified, then we use an unnamed reference (see below).
++<p>
++The format can consist of any character except the end character ('&gt;'), the namespace separator (':'), the skipping separator ('|'), and the nil character (\000).
++<p>
++Any modifier can be used together with the user-defined specifier.
++<p>
++There are two formats for invoking a user-defined specifier. The first format is an extension of the normal printf/scanf formatting. It uses the percent character (\045 = '%') followed by optional qualifiers and a specifier. For example:
++<p>
++<div class="fragment"><pre>
++ trio_printf("%&lt;format&gt;\n", my_handle, my_data);
++</pre></div>
++<p>
++Some C compilers can issue a warning if there is a mismatch between specifiers and arguments. Unfortunately, these warnings does not work with the first format for user-defined specifiers. Therefore the second format has been introduced. The second format can only be applied to user-defined specifiers.
++<p>
++The second format starts with a dollar character (\044 = '$') instead of the percent character, and is followed by optional qualifiers and the user-defined specifier. If the specifier contains a pipe character (\174 = '|'), then everything between the pipe character and the end character ('&gt;') is ignored. The ignored part can be used to list the normal specifiers that the C compiler uses to determine mismatches. For example:
++<p>
++<div class="fragment"><pre>
++ trio_printf("$&lt;format|%p%p&gt;\n", my_handle, my_data);
++</pre></div>
++<p>
++<b>Registering</b>
++<p>
++A user-defined specifier must be registered before it can be used. Unregistered user-defined specifiers are ignored. The <a class="el" href="group___user_defined.html#a243">User-defined Formatted Printing Functions.</a> function is used to register a user-defined specifier. It takes two argument, a callback function and a namespace, and it returns a handle. The handle must be used to unregister the specifier later.
++<p>
++The following example registers a user-define specifier with the "my_namespace" namespace:
++<p>
++<div class="fragment"><pre>
++ my_handle = trio_register(my_callback, "my_namespace");
++</pre></div>
++<p>
++There can only be one user-defined specifier with a given namespace. There can be an unlimited number (subject to maximum length of the namespace) of different user-defined specifiers.
++<p>
++Passing NULL as the namespace argument results in an anonymous reference. There can be an unlimited number of anonymous references.
++<p>
++<b>REFERENCES</b>
++<p>
++There are two ways that a registered callback can be called. Either the user-defined specifier must contain the registered namespace in the format string, or the handle is passed as an argument to the formatted printing function.
++<p>
++If the namespace is used, then a user-defined pointer must be passed as an argument:
++<p>
++<div class="fragment"><pre>
++ trio_printf("%&lt;my_namespace:format&gt;\n", my_data);
++</pre></div>
++<p>
++If the handle is used, then the user-defined specifier must not contain a namespace. Instead the handle must be passed as an argument, followed by a user-defined pointer:
++<p>
++<div class="fragment"><pre>
++ trio_printf("%&lt;format&gt;\n", my_handle, my_data);
++</pre></div>
++<p>
++The two examples above are equivalent.
++<p>
++There must be exactly one user-defined pointer per user-defined specifier. This pointer can be used within the callback function with the trio_get_argument getter function (see below).
++<p>
++The format string is optional. It can be used within the callback function with the trio_get_format getter function.
++<p>
++<b>Anonymous</b> <b>References</b> Anonymous references are specified by passing NULL as the namespace.
++<p>
++The handle must be passed as an argument followed by a user-defined pointer. No namespace can be specified.
++<p>
++<div class="fragment"><pre>
++ anon_handle = trio_register(callback, NULL);
++ trio_printf("%&lt;format&gt;\n", anon_handle, my_data);
++</pre></div>
++<p>
++<b>Restrictions</b>
++<p>
++<ul>
++<li> The length of the namespace string cannot exceed 63 characters. <li> The length of the user-defined format string cannot exceed 255 characters. <li> User-defined formatting cannot re-define existing specifiers. This restriction was imposed because the existing formatting specifiers have a well-defined behaviour, and any re-definition would apply globally to an application (imagine a third-party library changing the behaviour of a specifier that is crusial to your application).</ul>
++<b>CALLBACK</b> <b>FUNCTION</b>
++<p>
++The callback function will be called if a matching user-defined specifier is found within the formatting string. The callback function takes one input parameter, an opaque reference which is needed by the private functions. It returns an <code>int</code>, which is currently ignored. The prototype is
++<p>
++<div class="fragment"><pre>
++ int (*trio_callback_t)(void *ref);
++</pre></div>
++<p>
++See the Example section for full examples.
++<p>
++<b>PRINTING</b> <b>FUNCTIONS</b>
++<p>
++The following printing functions must only be used inside a callback function. These functions will print to the same output medium as the printf function which invoked the callback function. For example, if the user-defined specifier is used in an sprintf function, then these print functions will output their result to the same string.
++<p>
++<b>Elementary</b> <b>Printing</b>
++<p>
++There are a number of function to print elementary data types.
++<p>
++<ul>
++<li> trio_print_int Print a signed integer. For example: <div class="fragment"><pre>
++ trio_print_int(42);
++</pre></div> <li> trio_print_uint Print an unsigned integer. <li> trio_print_double Print a floating-point number. <li> trio_print_string Print a string. For example: <div class="fragment"><pre>
++ trio_print_string("Hello World");
++ trio_print_string(trio_get_format());
++</pre></div> <li> trio_print_pointer Print a pointer.</ul>
++<b>Formatted</b> <b>Printing</b>
++<p>
++The functions trio_print_ref, trio_vprint_ref, and trio_printv_ref outputs a formatted string just like its printf equivalents.
++<p>
++<div class="fragment"><pre>
++ trio_print_ref(ref, "There are %d towels\n", 42);
++ trio_print_ref(ref, "%&lt;recursive&gt;\n", recursive_writer, trio_get_argument(ref));
++</pre></div>
++<p>
++<b>GETTER</b> <b>AND</b> <b>SETTER</b> <b>FUNCTIONS</b>
++<p>
++The following getter and setter functions must only be used inside a callback function. They can either operate on the modifiers or on special data.
++<p>
++<b>Modifiers</b>
++<p>
++The value of a modifier, or a boolean indication of its presence or absence, can be found or set with the getter and setter functions. The generic prototypes of the these getter and setter functions are
++<p>
++<div class="fragment"><pre>
++ int trio_get_???(void *ref);
++ void trio_set_???(void *ref, int);
++</pre></div>
++<p>
++where ??? <code>refers</code> to a modifier. For example, to get the width of the user-defined specifier use
++<p>
++<div class="fragment"><pre>
++ int width = trio_get_width(ref);
++</pre></div>
++<p>
++<b>Special</b> <b>Data</b>
++<p>
++Consider the following user-defined specifier, in its two possible referencing presentations.
++<p>
++<div class="fragment"><pre>
++ trio_printf("%&lt;format&gt;\n", namespace_writer, argument);
++ trio_printf("%&lt;namespace:format&gt;\n", argument);
++</pre></div>
++<p>
++trio_get_format will get the <code>format</code> string, and trio_get_argument} will get the <code>argument</code> parameter. There are no associated setter functions.
++<p>
++<b>EXAMPLES</b>
++<p>
++The following examples show various types of user-defined specifiers. Although each specifier is demonstrated in isolation, they can all co-exist within the same application.
++<p>
++<b>Time</b> <b>Example</b>
++<p>
++Print the time in the format "HOUR:MINUTE:SECOND" if "time" is specified inside the user-defined specifier.
++<p>
++<div class="fragment"><pre>
++ static int time_print(void *ref)
++ {
++ const char *format;
++ time_t *data;
++ char buffer[256];
++
++ format = trio_get_format(ref);
++ if ((format) &amp;&amp; (strcmp(format, "time") == 0)) {
++ data = trio_get_argument(ref);
++ if (data == NULL)
++ return -1;
++ strftime(buffer, sizeof(buffer), "%H:%M:%S", localtime(data));
++ trio_print_string(ref, buffer);
++ }
++ return 0;
++ }
++</pre></div>
++<p>
++<div class="fragment"><pre>
++ int main(void)
++ {
++ void *handle;
++ time_t now = time(NULL);
++
++ handle = trio_register(time_print, "my_time");
++
++ trio_printf("%&lt;time&gt;\n", handle, &amp;now);
++ trio_printf("%&lt;my_time:time&gt;\n", &amp;now);
++
++ trio_unregister(handle);
++ return 0;
++ }
++</pre></div>
++<p>
++<b>Complex</b> <b>Numbers</b> <b>Example</b>
++<p>
++Consider a complex number consisting of a real part, re, and an imaginary part, im.
++<p>
++<div class="fragment"><pre>
++ struct Complex {
++ double re;
++ double im;
++ };
++</pre></div>
++<p>
++This example can print such a complex number in one of two formats. The default format is "re + i im". If the alternative modifier is used, then the format is "r exp(i theta)", where r is the length of the complex vector (re, im) and theta is its angle.
++<p>
++<div class="fragment"><pre>
++ static int complex_print(void *ref)
++ {
++ struct Complex *data;
++ const char *format;
++
++ data = (struct Complex *)trio_get_argument(ref);
++ if (data) {
++ format = trio_get_format(ref);
++
++ if (trio_get_alternative(ref)) {
++ double r, theta;
++
++ r = sqrt(pow(data-&gt;re, 2) + pow(data-&gt;im, 2));
++ theta = acos(data-&gt;re / r);
++ trio_print_ref(ref, "%#f exp(i %#f)", r, theta);
++
++ } else {
++ trio_print_ref(ref, "%#f + i %#f", data-&gt;re, data-&gt;im);
++ }
++ }
++ return 0;
++ }
++</pre></div>
++<p>
++<div class="fragment"><pre>
++ int main(void)
++ {
++ void *handle;
++
++ handle = trio_register(complex_print, "complex");
++
++ /* Normal format. With handle and the with namespace
++ trio_printf("%&lt;&gt;\n", handle, &amp;complex);
++ trio_printf("%&lt;complex:&gt;\n", &amp;complex);
++ /* In exponential notation
++ trio_printf("%#&lt;&gt;\n", handle, &amp;complex);
++ trio_printf("%#&lt;complex:unused data&gt;\n", &amp;complex);
++
++ trio_unregister(handle);
++ return 0;
++ }
++</pre></div>
++<p>
++<b>RETURN</b> <b>VALUES</b>
++<p>
++<a class="el" href="group___user_defined.html#a243">User-defined Formatted Printing Functions.</a> returns a handle, or NULL if an error occured.
++<p>
++<b>SEE</b> <b>ALSO</b>
++<p>
++<a class="el" href="group___printf.html#a218">Formatted Printing Functions.</a>
++<p>
++<b>NOTES</b>
++<p>
++User-defined specifiers, <a class="el" href="group___user_defined.html#a243">User-defined Formatted Printing Functions.</a>, and <a class="el" href="group___user_defined.html#a244">User-defined Formatted Printing Functions.</a> are not thread-safe. In multi-threaded applications they must be guarded by mutexes. Trio provides two special callback functions, called ":enter" and ":leave", which are invoked every time a thread-unsafe operation is attempted. As the thread model is determined by the application, these callback functions must be implemented by the application.
++<p>
++The following callback functions are for demonstration-purposes only. Replace their bodies with locking and unlocking of a mutex to achieve thread-safety. <div class="fragment"><pre>
++ static int enter_region(void *ref)
++ {
++ fprintf(stderr, "Enter Region\n");
++ return 1;
++ }
++
++ static int leave_region(void *ref)
++ {
++ fprintf(stderr, "Leave Region\n");
++ return 1;
++ }
++</pre></div> These two callbacks must be registered before other callbacks are registered. <div class="fragment"><pre>
++ trio_register(enter_region, ":enter");
++ trio_register(leave_region, ":leave");
++
++ another_handle = trio_register(another_callback, NULL);
++</pre></div> <hr><h2>Function Documentation</h2>
++<a name="a0" doxytag="trio-cdetect.c::trio_register"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> trio_pointer_t trio_register </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">trio_callback_t&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>callback</em>, </td>
++ </tr>
++ <tr>
++ <td></td>
++ <td></td>
++ <td class="md" nowrap>const char *&nbsp;</td>
++ <td class="mdname" nowrap>&nbsp; <em>name</em></td>
++ </tr>
++ <tr>
++ <td></td>
++ <td class="md">)&nbsp;</td>
++ <td class="md" colspan="2"></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Register new user-defined specifier.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>callback</em>&nbsp;</td><td>
++</td></tr>
++<tr><td valign=top><em>name</em>&nbsp;</td><td>
++</td></tr>
++</table>
++</dl><dl compact><dt><b>Returns: </b></dt><dd>
++Handle. </dl> </td>
++ </tr>
++</table>
++<a name="a1" doxytag="trio-cdetect.c::trio_unregister"></a><p>
++<table width="100%" cellpadding="2" cellspacing="0" border="0">
++ <tr>
++ <td class="md">
++ <table cellpadding="0" cellspacing="0" border="0">
++ <tr>
++ <td class="md" nowrap valign="top"> void trio_unregister </td>
++ <td class="md" valign="top">(&nbsp;</td>
++ <td class="md" nowrap valign="top">trio_pointer_t&nbsp;</td>
++ <td class="mdname1" valign="top" nowrap>&nbsp; <em>handle</em> </td>
++ <td class="md" valign="top">)&nbsp;</td>
++ <td class="md" nowrap></td>
++ </tr>
++
++ </table>
++ </td>
++ </tr>
++</table>
++<table cellspacing=5 cellpadding=0 border=0>
++ <tr>
++ <td>
++ &nbsp;
++ </td>
++ <td>
++
++<p>
++Unregister an existing user-defined specifier.
++<p>
++<dl compact><dt><b>Parameters: </b></dt><dd>
++<table border=0 cellspacing=2 cellpadding=0>
++<tr><td valign=top><em>handle</em>&nbsp;</td><td>
++</td></tr>
++</table>
++</dl> </td>
++ </tr>
++</table>
++<HR>
++<center class="copyright">Copyright (C) 2001 - 2006 Bj&oslash;rn Reese and Daniel Stenberg.</center>
++</body>
++</html>
+diff -up ghostscript-9.07/trio/html/index.html.gs_sprintf ghostscript-9.07/trio/html/index.html
+--- ghostscript-9.07/trio/html/index.html.gs_sprintf 2013-05-09 17:02:39.107447262 +0100
++++ ghostscript-9.07/trio/html/index.html 2013-05-09 17:02:39.107447262 +0100
+@@ -0,0 +1,89 @@
++<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
++<html>
++<head>
++ <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
++ <title>TRIO</title>
++ <link href="trio.css" rel="stylesheet" type="text/css">
++</head>
++<body>
++<!-- Generated by Doxygen 1.2.18 -->
++<center>
++<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; </center>
++<hr><h1>TRIO Documentation</h1>
++<p>
++
++<p>
++<dl compact><dt><b>Author: </b></dt><dd>
++Bjørn Reese , Daniel Stenberg</dl><h2><a name="intro">Introduction</a>
++</h2>
++<p>
++Trio is a fully matured and stable set of printf and string functions designed be used by applications with focus on portability or with the need for additional features that are not supported by standard stdio implementation.
++<p>
++There are several cases where you may want to consider using trio:
++<p>
++<ul>
++<li> Portability across heterogeneous platforms. <li> Embedded systems without stdio support. <li> Extendability of unsupported features. <li> Your native version does not do everything you need.</ul>
++When you write applications that must be portable to a wide range of platforms you often have to deal with inadequate implementations of the stdio library functions. Most notably is the lack of secure formatting functions, such as snprintf, or the lack of parameter reordering commonly used for the internationalization of applications, such as the &lt;num&gt;$ modifier. Sometimes the feature you need is simply not present in stdio. So you end up spending much effort on determining which platforms supports what, and to write your own versions of various features. This is where trio can help you. Trio is a platform-independent implementation of the stdio printf and scanf functions and the string library functions.
++<p>
++The functionality described in the stdio standards is a compromise, and does unfortunately not include a mechanism to extend the functionality for an individual application. Oftentimes an application has the need for an extra feature, and the application code can become much more clear and readable by using an extension mechanism. Trio supports a range of useful extensions such as user-defined specifiers, passing of arguments in arrays, localized string scanning, thousand-separators, and arbitrary integer bases.
++<p>
++Trio fully implements the C99 (ISO/IEC 9899:1999) and UNIX98 (the Single Unix Specification, Version 2) standards, as well as many features from other implemenations, e.g. the GNU libc and BSD4.
++<p>
++<h2><a name="examples">Examples</a>
++</h2>
++<p>
++<h3><a name="ex1">Binary Numbers</a>
++</h3> Output an integer as a binary number using a trio extension. <div class="fragment"><pre>
++ trio_printf("%..2i\n", number);
++</pre></div>
++<p>
++<h3><a name="ex2">Thousand-separator</a>
++</h3> Output a number with thousand-separator using a trio extension. <div class="fragment"><pre>
++ trio_printf("%'f\n", 12345.6);
++</pre></div> The thousand-separator described by the locale is used.
++<p>
++<h3><a name="ex3">Fixed Length Array and Sticky Modifier</a>
++</h3> Output an fixed length array of floating-point numbers. <div class="fragment"><pre>
++ double array[] = {1.0, 2.0, 3.0};
++ printf("%.2f %.2f %.2f\n", array[0], array[1], array[2]);
++</pre></div> The same with two trio extensions (arguments are passed in an array, and the first formatting specifier sets the sticky option so we do not have to type all the formatting modifiers for the remaining formatting specifiers) <div class="fragment"><pre>
++ trio_printfv("%!.2f %f %f\n", array);
++</pre></div> Another, and more powerful, application of being able to pass arguments in an array is the creation of the printf/scanf statement at run-time, where the formatting string, and thus the argument list, is based on an external configuration file.
++<p>
++<h3><a name="ex4">Localized scanning</a>
++</h3> Parse a string consisting of one or more upper-case alphabetic characters followed by one or more numeric characters. <div class="fragment"><pre>
++ sscanf(buffer, "%[A-Z]%[0-9]", alphabetic, numeric);
++</pre></div> The same but with locale using a trio extension. <div class="fragment"><pre>
++ trio_sscanf(buffer, "%[[:upper:]]%[[:digit:]]", alphabetic, numeric);
++</pre></div>
++<p>
++<h2><a name="legal">Legal Issues</a>
++</h2> Trio is distributed under the following license, which allows practically anybody to use it in almost any kind of software, including proprietary software, without difficulty.
++<p>
++"Copyright (C) 1998-2001 Bjorn Reese and Daniel Stenberg.
++<p>
++Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
++<p>
++THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER."
++<p>
++<h2><a name="contribution">Contribution</a>
++</h2>
++<p>
++<h3><a name="contribute">Contribute</a>
++</h3> We appreciate any type of contribution, from ideas over improvements to error corrections.
++<p>
++The project space contains references to bug and feature tracking, mailing-list, and the CVS repository. We prefer communication via the mailing-list, but do not require you to be subscribed, because trio is a small project.
++<p>
++The project space is located at <a href="http://sourceforge.net/projects/ctrio/">http://sourceforge.net/projects/ctrio/</a>
++<p>
++<h3><a name="contributors">Contributors</a>
++</h3> We have received contributions from the following persons (in alphabetic order sorted by surname)
++<p>
++<ul>
++<li> Craig Berry <li> Karl Bochert <li> Stan Boehm <li> David Byron <li> Brian Chapman <li> Robert Collins <li> Danny Dulai <li> Bob Friesenhahn <li> Jon Foster <li> John Fotheringham <li> Markus Henke <li> Ken Gibson <li> Paul Janzen <li> Patrick Jessee <li> Richard Jinks <li> Tero Jänkä <li> Howard Kapustein <li> Rune Enggaard Lausen <li> Mehdi Lavasani <li> Alexander Lukyanov <li> Andreas Maus <li> Mikey Menezes <li> Emmanuel Mogenet <li> Jacob Navia <li> Jose Ortiz <li> Joe Orton <li> Gisli Ottarsson <li> Mark Pickelmann <li> Olli Savia <li> Shaun Tancheff <li> Marc Werwerft <li> Igor Zlatkovic</ul>
++Please let us know, and accept our apology, if we have omitted anybody.
++<p>
++<HR>
++<center class="copyright">Copyright (C) 2001 - 2006 Bj&oslash;rn Reese and Daniel Stenberg.</center>
++</body>
++</html>
+diff -up ghostscript-9.07/trio/html/modules.html.gs_sprintf ghostscript-9.07/trio/html/modules.html
+--- ghostscript-9.07/trio/html/modules.html.gs_sprintf 2013-05-09 17:02:39.107447262 +0100
++++ ghostscript-9.07/trio/html/modules.html 2013-05-09 17:02:39.107447262 +0100
+@@ -0,0 +1,23 @@
++<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
++<html>
++<head>
++ <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
++ <title>TRIO</title>
++ <link href="trio.css" rel="stylesheet" type="text/css">
++</head>
++<body>
++<!-- Generated by Doxygen 1.2.18 -->
++<center>
++<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; </center>
++<hr><h1>TRIO Modules</h1>Here is a list of all modules:<ul>
++<li><a class="el" href="group___printf.html">Formatted Printing Functions.</a>
++<li><a class="el" href="group___user_defined.html">User-defined Formatted Printing Functions.</a>
++<li><a class="el" href="group___scanf.html">Formatted Scanning Functions.</a>
++<li><a class="el" href="group___special_quantities.html">Special Quantifies.</a>
++<li><a class="el" href="group___static_strings.html">Static String Functions.</a>
++<li><a class="el" href="group___dynamic_strings.html">Dynamic String Functions.</a>
++</ul>
++<HR>
++<center class="copyright">Copyright (C) 2001 - 2006 Bj&oslash;rn Reese and Daniel Stenberg.</center>
++</body>
++</html>
+diff -up ghostscript-9.07/trio/html/trio.css.gs_sprintf ghostscript-9.07/trio/html/trio.css
+--- ghostscript-9.07/trio/html/trio.css.gs_sprintf 2013-05-09 17:02:39.107447262 +0100
++++ ghostscript-9.07/trio/html/trio.css 2013-05-09 17:02:39.107447262 +0100
+@@ -0,0 +1,35 @@
++/* HTML tags */
++
++BODY {
++ background-color: white;
++ color: darkblue;
++}
++
++TD { color: darkblue; }
++
++H1 { text-align: center; }
++
++H3 { font-style: italic; }
++
++HR {
++ width: 85%;
++ align: center;
++}
++
++.copyright { color: darkblue; }
++
++/* Links */
++
++:link { color: blue; }
++
++:visited { color: purple; }
++
++:active { color: red; }
++
++.el:link { font-style: italic; }
++
++/* Examples */
++
++DIV.fragment {
++ color: maroon;
++}
+diff -up ghostscript-9.07/trio/install-sh.gs_sprintf ghostscript-9.07/trio/install-sh
+--- ghostscript-9.07/trio/install-sh.gs_sprintf 2013-05-09 17:02:39.108447266 +0100
++++ ghostscript-9.07/trio/install-sh 2013-05-09 17:02:39.108447266 +0100
+@@ -0,0 +1,250 @@
++#!/bin/sh
++#
++# install - install a program, script, or datafile
++# This comes from X11R5 (mit/util/scripts/install.sh).
++#
++# Copyright 1991 by the Massachusetts Institute of Technology
++#
++# Permission to use, copy, modify, distribute, and sell this software and its
++# documentation for any purpose is hereby granted without fee, provided that
++# the above copyright notice appear in all copies and that both that
++# copyright notice and this permission notice appear in supporting
++# documentation, and that the name of M.I.T. not be used in advertising or
++# publicity pertaining to distribution of the software without specific,
++# written prior permission. M.I.T. makes no representations about the
++# suitability of this software for any purpose. It is provided "as is"
++# without express or implied warranty.
++#
++# Calling this script install-sh is preferred over install.sh, to prevent
++# `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
++# from scratch. It can only install one file at a time, a restriction
++# shared with many OS's install programs.
++
++
++# set DOITPROG to echo to test this script
++
++# Don't use :- since 4.3BSD and earlier shells don't like it.
++doit="${DOITPROG-}"
++
++
++# put in absolute paths if you don't have them in your path; or use env. vars.
++
++mvprog="${MVPROG-mv}"
++cpprog="${CPPROG-cp}"
++chmodprog="${CHMODPROG-chmod}"
++chownprog="${CHOWNPROG-chown}"
++chgrpprog="${CHGRPPROG-chgrp}"
++stripprog="${STRIPPROG-strip}"
++rmprog="${RMPROG-rm}"
++mkdirprog="${MKDIRPROG-mkdir}"
++
++transformbasename=""
++transform_arg=""
++instcmd="$mvprog"
++chmodcmd="$chmodprog 0755"
++chowncmd=""
++chgrpcmd=""
++stripcmd=""
++rmcmd="$rmprog -f"
++mvcmd="$mvprog"
++src=""
++dst=""
++dir_arg=""
++
++while [ x"$1" != x ]; do
++ case $1 in
++ -c) instcmd="$cpprog"
++ shift
++ continue;;
++
++ -d) dir_arg=true
++ shift
++ continue;;
++
++ -m) chmodcmd="$chmodprog $2"
++ shift
++ shift
++ continue;;
++
++ -o) chowncmd="$chownprog $2"
++ shift
++ shift
++ continue;;
++
++ -g) chgrpcmd="$chgrpprog $2"
++ shift
++ shift
++ continue;;
++
++ -s) stripcmd="$stripprog"
++ shift
++ continue;;
++
++ -t=*) transformarg=`echo $1 | sed 's/-t=//'`
++ shift
++ continue;;
++
++ -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
++ shift
++ continue;;
++
++ *) if [ x"$src" = x ]
++ then
++ src=$1
++ else
++ # this colon is to work around a 386BSD /bin/sh bug
++ :
++ dst=$1
++ fi
++ shift
++ continue;;
++ esac
++done
++
++if [ x"$src" = x ]
++then
++ echo "install: no input file specified"
++ exit 1
++else
++ true
++fi
++
++if [ x"$dir_arg" != x ]; then
++ dst=$src
++ src=""
++
++ if [ -d $dst ]; then
++ instcmd=:
++ else
++ instcmd=mkdir
++ fi
++else
++
++# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
++# might cause directories to be created, which would be especially bad
++# if $src (and thus $dsttmp) contains '*'.
++
++ if [ -f $src -o -d $src ]
++ then
++ true
++ else
++ echo "install: $src does not exist"
++ exit 1
++ fi
++
++ if [ x"$dst" = x ]
++ then
++ echo "install: no destination specified"
++ exit 1
++ else
++ true
++ fi
++
++# If destination is a directory, append the input filename; if your system
++# does not like double slashes in filenames, you may need to add some logic
++
++ if [ -d $dst ]
++ then
++ dst="$dst"/`basename $src`
++ else
++ true
++ fi
++fi
++
++## this sed command emulates the dirname command
++dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
++
++# Make sure that the destination directory exists.
++# this part is taken from Noah Friedman's mkinstalldirs script
++
++# Skip lots of stat calls in the usual case.
++if [ ! -d "$dstdir" ]; then
++defaultIFS='
++'
++IFS="${IFS-${defaultIFS}}"
++
++oIFS="${IFS}"
++# Some sh's can't handle IFS=/ for some reason.
++IFS='%'
++set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
++IFS="${oIFS}"
++
++pathcomp=''
++
++while [ $# -ne 0 ] ; do
++ pathcomp="${pathcomp}${1}"
++ shift
++
++ if [ ! -d "${pathcomp}" ] ;
++ then
++ $mkdirprog "${pathcomp}"
++ else
++ true
++ fi
++
++ pathcomp="${pathcomp}/"
++done
++fi
++
++if [ x"$dir_arg" != x ]
++then
++ $doit $instcmd $dst &&
++
++ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
++ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
++ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
++ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
++else
++
++# If we're going to rename the final executable, determine the name now.
++
++ if [ x"$transformarg" = x ]
++ then
++ dstfile=`basename $dst`
++ else
++ dstfile=`basename $dst $transformbasename |
++ sed $transformarg`$transformbasename
++ fi
++
++# don't allow the sed command to completely eliminate the filename
++
++ if [ x"$dstfile" = x ]
++ then
++ dstfile=`basename $dst`
++ else
++ true
++ fi
++
++# Make a temp file name in the proper directory.
++
++ dsttmp=$dstdir/#inst.$$#
++
++# Move or copy the file name to the temp name
++
++ $doit $instcmd $src $dsttmp &&
++
++ trap "rm -f ${dsttmp}" 0 &&
++
++# and set any options; do chmod last to preserve setuid bits
++
++# If any of these fail, we abort the whole thing. If we want to
++# ignore errors from any of these, just make sure not to ignore
++# errors from the above "$doit $instcmd $src $dsttmp" command.
++
++ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
++ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
++ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
++ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
++
++# Now rename the file to the real destination.
++
++ $doit $rmcmd -f $dstdir/$dstfile &&
++ $doit $mvcmd $dsttmp $dstdir/$dstfile
++
++fi &&
++
++
++exit 0
+diff -up ghostscript-9.07/trio/Makefile.in.gs_sprintf ghostscript-9.07/trio/Makefile.in
+--- ghostscript-9.07/trio/Makefile.in.gs_sprintf 2013-05-09 17:02:39.108447266 +0100
++++ ghostscript-9.07/trio/Makefile.in 2013-05-09 17:02:39.108447266 +0100
+@@ -0,0 +1,73 @@
++SHELL = @SHELL@
++CC = @CC@
++CFLAGS = @CFLAGS@ -I. -DDEBUG
++OBJS = triostr.o trio.o trionan.o
++TARGETLIB = libtrio.a
++TARGETINCS = trio.h triop.h triodef.h trionan.h triostr.h
++LDFLAGS = -L. -ltrio -lm
++AR = ar
++RANLIB = @RANLIB@
++ERASE = rm -f
++MKDIR = mkdir -p
++GENDOC = doxygen
++srcdir = @srcdir@
++# VPATH doesn't seem to work with /usr/xpg4/bin/make on Solaris
++# (use /usr/ccs/bin/make), and doesn't work on older Solaris make
++# such as Solaris 2.6.
++VPATH = @srcdir@
++
++# Installation settings
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++prefix = @prefix@
++exec_prefix = @exec_prefix@
++includedir = @includedir@
++libdir = @libdir@
++
++all: $(TARGETLIB) $(TARGET)
++
++.PHONY: all check test install doc clean
++
++$(srcdir)/configure: configure.in
++ cd $(srcdir) && autoconf
++
++Makefile: Makefile.in config.status
++ CONFIG_COMMANDS= CONFIG_LINKS= CONFIG_HEADERS= \
++ CONFIG_FILES=Makefile ./config.status
++
++config.status: configure
++ ./config.status --recheck
++
++check: test
++test: regression
++ ./regression
++
++install: $(TARGETLIB)
++ $(MKDIR) $(libdir)
++ $(MKDIR) $(includedir)
++ $(INSTALL_DATA) $(TARGETLIB) $(libdir)/$(TARGETLIB)
++ for i in $(TARGETINCS);do \
++ (set -x;$(INSTALL_DATA) $(srcdir)/$$i $(includedir)); \
++ done
++
++regression: regression.o $(TARGETLIB)
++ $(CC) $(CFLAGS) regression.o $(LDFLAGS) -o $@
++
++example: example.o $(TARGETLIB)
++ $(CC) $(CFLAGS) example.o $(LDFLAGS) -o $@
++
++compare: compare.o $(TARGETLIB)
++ $(CC) $(CFLAGS) compare.o $(LDFLAGS) -o $@
++
++userdef: userdef.o $(TARGETLIB)
++ $(CC) $(CFLAGS) userdef.o $(LDFLAGS) -o $@
++
++$(TARGETLIB): $(OBJS)
++ $(AR) ruv $(TARGETLIB) $(OBJS)
++ $(RANLIB) $(TARGETLIB)
++
++doc::
++ (cd $(srcdir) && $(GENDOC) doc/trio.cfg)
++
++clean:
++ $(ERASE) *~ core core.* regression example $(TOBJS) $(OBJS) $(TARGET) $(TARGETLIB) example.o regression.o
+diff -up ghostscript-9.07/trio/maketgz.gs_sprintf ghostscript-9.07/trio/maketgz
+--- ghostscript-9.07/trio/maketgz.gs_sprintf 2013-05-09 17:02:39.108447266 +0100
++++ ghostscript-9.07/trio/maketgz 2013-05-09 17:02:39.108447266 +0100
+@@ -0,0 +1,46 @@
++#! /bin/sh
++# Script to build archives with
++#
++
++echo "Version number?"
++read version
++
++# get current dir
++dir=`pwd`
++
++# Get basename
++orig=`basename $dir`
++
++# Get the left part of the dash (-)
++new=`echo $orig | cut -d- -f1`
++
++# Build new directory name
++n=$new-$version;
++
++# Tell the world what we're doing
++echo "creates $n.tar.gz";
++
++if [ -r $n ]; then
++ echo "Directory already exists!"
++ exit
++fi
++
++# Create the new dir
++mkdir $n
++
++# Copy all relevant files, with path and permissions!
++tar -cf - `cat FILES` | (cd $n; tar -xBpf -) || exit 1
++
++(cd $n && sh autogen.sh) || exit 1
++
++# Make a tar archive of it all
++tar -cvf $n.tar $n
++
++# gzip the archive
++gzip $n.tar
++
++# Make it world readable
++chmod a+r $n.tar.gz ;
++
++# Delete the temp dir
++rm -rf $n
+diff -up ghostscript-9.07/trio/README.gs_sprintf ghostscript-9.07/trio/README
+--- ghostscript-9.07/trio/README.gs_sprintf 2013-05-09 17:02:39.108447266 +0100
++++ ghostscript-9.07/trio/README 2013-05-09 17:02:39.108447266 +0100
+@@ -0,0 +1,38 @@
++README -- trio
++
++Trio is a package with portable string functions. Including printf() clones
++and others.
++
++ Copyright (C) 1998-2001 by Bjorn Reese and Daniel Stenberg.
++
++ Permission to use, copy, modify, and distribute this software for any
++ purpose with or without fee is hereby granted, provided that the above
++ copyright notice and this permission notice appear in all copies.
++
++ THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++ WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++ MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++ CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
++
++Trio is intended to be an integral part of another application, so we
++have not done anything to create a proper installation.
++
++Compile with 'make' (edit the Makefile if you want a release build)
++
++Test the package with 'make test'
++
++Install by copying trio.h, triop.h, and libtrio.a (and man/man?/* if
++you want documentation) to the appropriate directories.
++
++Catch some usage examples in example.c
++
++Send feedback and patches to the mailing list, subscription and other
++information is found here:
++
++ http://lists.sourceforge.net/lists/listinfo/ctrio-talk
++
++Enjoy!
++
++Trio web page
++
++ http://daniel.haxx.se/trio/
+diff -up ghostscript-9.07/trio/regression.c.gs_sprintf ghostscript-9.07/trio/regression.c
+--- ghostscript-9.07/trio/regression.c.gs_sprintf 2013-05-09 17:02:39.109447270 +0100
++++ ghostscript-9.07/trio/regression.c 2013-05-09 17:02:39.109447270 +0100
+@@ -0,0 +1,1640 @@
++/*************************************************************************
++ * Regression test
++ */
++
++#include "triodef.h"
++#if defined(TRIO_COMPILER_ANCIENT)
++# include <varargs.h>
++#else
++# include <stdarg.h>
++#endif
++#include <math.h>
++#include <limits.h>
++#include <float.h>
++#include <errno.h>
++
++#include "trio.h"
++#include "triop.h"
++#if defined(TRIO_EMBED_NAN)
++# define TRIO_PUBLIC_NAN static
++# define TRIO_FUNC_NINF
++# define TRIO_FUNC_PINF
++# define TRIO_FUNC_NAN
++# define TRIO_FUNC_ISINF
++# define TRIO_FUNC_ISNAN
++# if TRIO_FEATURE_FLOAT
++# define TRIO_FUNC_NZERO
++# endif
++#endif
++#include "trionan.h"
++#if defined(TRIO_EMBED_STRING)
++# define TRIO_PUBLIC_STRING static
++# define TRIO_FUNC_EQUAL_CASE
++#endif
++#include "triostr.h"
++#undef printf
++
++#if TRIO_FEATURE_WIDECHAR
++# include <wchar.h>
++#endif
++
++#define QUOTE(x) #x
++
++#define DOUBLE_EQUAL(x,y) (((x)>(y)-DBL_EPSILON) && ((x)<(y)+DBL_EPSILON))
++#define FLOAT_EQUAL(x,y) (((x)>(y)-FLT_EPSILON) && ((x)<(y)+FLT_EPSILON))
++
++static TRIO_CONST char rcsid[] = "@(#)$Id: regression.c,v 1.67 2010/01/26 13:02:02 breese Exp $";
++
++#if defined(TRIO_EMBED_NAN)
++# include "trionan.c"
++#endif
++#if defined(TRIO_EMBED_STRING)
++# include "triostr.c"
++#endif
++
++/*************************************************************************
++ *
++ */
++static void
++Dump
++TRIO_ARGS2((buffer, rc),
++ char *buffer,
++ int rc)
++{
++ if (rc < 0)
++ {
++ printf("Err = %d (%s), Pos = %d\n",
++ TRIO_ERROR_CODE(rc),
++ TRIO_ERROR_NAME(rc),
++ TRIO_ERROR_POSITION(rc));
++ }
++ else if (buffer)
++ printf("buffer[% 3d] = \"%s\"\n", rc, buffer);
++}
++
++/*************************************************************************
++ *
++ */
++static void
++Report0
++TRIO_ARGS2((file, line),
++ TRIO_CONST char *file,
++ int line)
++{
++ printf("Verification failed in %s:%d.\n", file, line);
++}
++
++/*************************************************************************
++ *
++ */
++static void
++Report
++TRIO_ARGS4((file, line, expected, got),
++ TRIO_CONST char *file,
++ int line,
++ TRIO_CONST char *expected,
++ TRIO_CONST char *got)
++{
++ Report0(file, line);
++ printf(" Expected \"%s\"\n", expected);
++ printf(" Got \"%s\"\n", got);
++}
++
++/*************************************************************************
++ *
++ */
++int
++Verify
++TRIO_VARGS5((file, line, result, fmt, va_alist),
++ TRIO_CONST char *file,
++ int line,
++ TRIO_CONST char *result,
++ TRIO_CONST char *fmt,
++ TRIO_VA_DECL)
++{
++ int rc;
++ va_list args;
++ char buffer[4096];
++
++ TRIO_VA_START(args, fmt);
++ rc = trio_vsnprintf(buffer, sizeof(buffer), fmt, args);
++ if (rc < 0)
++ Dump(buffer, rc);
++ TRIO_VA_END(args);
++
++ if (!trio_equal_case(result, buffer))
++ {
++ Report(file, line, result, buffer);
++ return 1;
++ }
++ return 0;
++}
++
++/*************************************************************************
++ *
++ */
++int
++VerifyReturnValues(TRIO_NOARGS)
++{
++ int nerrors = 0;
++ int rc;
++ int count;
++ char *expected;
++ char buffer[4096];
++ char result[4096];
++
++ rc = trio_sprintf(buffer, "%s%n", "0123456789", &count);
++ trio_sprintf(result, "%d %d %s", rc, count, buffer);
++ expected = "10 10 0123456789";
++ if (!trio_equal_case(result, expected))
++ {
++ nerrors++;
++ Report(__FILE__, __LINE__, expected, result);
++ }
++
++ rc = trio_snprintf(buffer, sizeof(buffer), "%s%n", "0123456789", &count);
++ trio_sprintf(result, "%d %d %s", rc, count, buffer);
++ expected = "10 10 0123456789";
++ if (!trio_equal_case(result, expected))
++ {
++ nerrors++;
++ Report(__FILE__, __LINE__, expected, result);
++ }
++
++ rc = trio_snprintf(buffer, 4, "%s%n", "0123456789", &count);
++ trio_sprintf(result, "%d %d %s", rc, count, buffer);
++ expected = "10 3 012";
++ if (!trio_equal_case(result, expected))
++ {
++ nerrors++;
++ Report(__FILE__, __LINE__, expected, result);
++ }
++
++ /* The output buffer contains the empty string */
++ rc = trio_snprintf(buffer, 1, "%s%n", "0123456789", &count);
++ trio_sprintf(result, "%d %d %s", rc, count, buffer);
++ expected = "10 0 ";
++ if (!trio_equal_case(result, expected))
++ {
++ nerrors++;
++ Report(__FILE__, __LINE__, expected, result);
++ }
++
++ /* The output buffer should be left untouched when max size is 0 */
++ trio_sprintf(buffer, "DO NOT TOUCH");
++ rc = trio_snprintf(buffer, 0, "%s%n", "0123456789", &count);
++ trio_sprintf(result, "%d %d %s", rc, count, buffer);
++ expected = "10 0 DO NOT TOUCH";
++ if (!trio_equal_case(result, expected))
++ {
++ nerrors++;
++ Report(__FILE__, __LINE__, expected, result);
++ }
++
++ return nerrors;
++}
++
++/*************************************************************************
++ *
++ */
++#define TEST_STRING "0123456789"
++
++int
++VerifyAllocate(TRIO_NOARGS)
++{
++ int nerrors = 0;
++#if TRIO_FEATURE_DYNAMICSTRING
++ int rc;
++ char *string;
++ int count;
++ int test_size = sizeof(TEST_STRING) - 1;
++
++ /* Allocate a string with the result */
++ rc = trio_asprintf(&string, "%s%n", TEST_STRING, &count);
++ if (rc < 0)
++ {
++ nerrors++;
++ Dump(string, rc);
++ }
++ else if (count != test_size)
++ {
++ nerrors++;
++ printf("Validation failed in %s:%d\n", __FILE__, __LINE__);
++ printf(" Expected %%n = %d\n", test_size);
++ printf(" Got %%n = %d\n", count);
++ }
++ else if (!trio_equal_case(string, TEST_STRING))
++ {
++ nerrors++;
++ Report(__FILE__, __LINE__, TEST_STRING, string);
++ }
++ if (string)
++ free(string);
++#endif
++
++ return nerrors;
++}
++
++
++/*************************************************************************
++ *
++ */
++int
++VerifyFormattingStrings(TRIO_NOARGS)
++{
++ int nerrors = 0;
++
++ /* Normal text */
++ nerrors += Verify(__FILE__, __LINE__, "Hello world",
++ "Hello world");
++ /* String */
++ nerrors += Verify(__FILE__, __LINE__, "Hello world",
++ "%s", "Hello world");
++
++ return nerrors;
++}
++
++/*************************************************************************
++ *
++ */
++int
++VerifyFormattingIntegers(TRIO_NOARGS)
++{
++ int nerrors = 0;
++ char buffer[256];
++
++ /* Integer */
++ nerrors += Verify(__FILE__, __LINE__, "Number 42",
++ "Number %d", 42);
++ nerrors += Verify(__FILE__, __LINE__, "Number -42",
++ "Number %d", -42);
++ nerrors += Verify(__FILE__, __LINE__, "Number 42",
++ "Number %ld", 42L);
++ nerrors += Verify(__FILE__, __LINE__, "Number -42",
++ "Number %ld", -42L);
++ /* Integer width */
++ nerrors += Verify(__FILE__, __LINE__, " 1234",
++ "%6d", 1234);
++ nerrors += Verify(__FILE__, __LINE__, " 1234",
++ "%*d", 6, 1234);
++ /* Integer width overrun */
++ nerrors += Verify(__FILE__, __LINE__, "123456",
++ "%4d", 123456);
++ /* Integer precision */
++ nerrors += Verify(__FILE__, __LINE__, "0012",
++ "%.4d", 12);
++ nerrors += Verify(__FILE__, __LINE__, "0012",
++ "%.*d", 4, 12);
++ nerrors += Verify(__FILE__, __LINE__, " 0012",
++ "%6.*d", 4, 12);
++ nerrors += Verify(__FILE__, __LINE__, " 0012",
++ "%*.*d", 6, 4, 12);
++ nerrors += Verify(__FILE__, __LINE__, " 0012",
++ "%*.*.*d", 6, 4, 2, 12);
++ nerrors += Verify(__FILE__, __LINE__, " 0012",
++ "%*.*.*i", 6, 4, 10, 12);
++ /* Integer sign, zero-padding, and width */
++ nerrors += Verify(__FILE__, __LINE__, "+01234",
++ "%+06d", 1234);
++ nerrors += Verify(__FILE__, __LINE__, " 01234",
++ "% 06d", 1234);
++ nerrors += Verify(__FILE__, __LINE__, "+01234",
++ "% +06d", 1234);
++ /* Integer adjust, zero-padding, and width */
++ nerrors += Verify(__FILE__, __LINE__, "12 ",
++ "%-08d", 12);
++ /* Integer zero-padding, width, and precision */
++ nerrors += Verify(__FILE__, __LINE__, " 000012",
++ "%08.6d", 12);
++ /* Integer base */
++ nerrors += Verify(__FILE__, __LINE__, "42",
++ "%u", 42);
++ nerrors += Verify(__FILE__, __LINE__, "-1",
++ "%d", -1);
++ nerrors += Verify(__FILE__, __LINE__, "52",
++ "%o", 42);
++ nerrors += Verify(__FILE__, __LINE__, "052",
++ "%#o", 42);
++ nerrors += Verify(__FILE__, __LINE__, "0",
++ "%#o", 0);
++ nerrors += Verify(__FILE__, __LINE__, "2a",
++ "%x", 42);
++ nerrors += Verify(__FILE__, __LINE__, "2A",
++ "%X", 42);
++ nerrors += Verify(__FILE__, __LINE__, "0x2a",
++ "%#x", 42);
++ nerrors += Verify(__FILE__, __LINE__, "0X2A",
++ "%#X", 42);
++ nerrors += Verify(__FILE__, __LINE__, "0x00c ",
++ "%-#6.3x", 12);
++ nerrors += Verify(__FILE__, __LINE__, "",
++ "%.d", 0);
++ nerrors += Verify(__FILE__, __LINE__, "",
++ "%#.d", 0);
++ nerrors += Verify(__FILE__, __LINE__, "42",
++ "%.d", 42);
++ nerrors += Verify(__FILE__, __LINE__, "",
++ "%.o", 0);
++ nerrors += Verify(__FILE__, __LINE__, " 0000",
++ "%8.4o", 0);
++ nerrors += Verify(__FILE__, __LINE__, " 0",
++ "%8o", 0);
++ nerrors += Verify(__FILE__, __LINE__, "00000000",
++ "%08o", 0);
++ nerrors += Verify(__FILE__, __LINE__, "0",
++ "%#.o", 0);
++ nerrors += Verify(__FILE__, __LINE__, "52",
++ "%.o", 42);
++ nerrors += Verify(__FILE__, __LINE__, "",
++ "%.x", 0);
++ nerrors += Verify(__FILE__, __LINE__, "",
++ "%#.x", 0);
++ nerrors += Verify(__FILE__, __LINE__, "2a",
++ "%.x", 42);
++ sprintf(buffer, "%u", UINT_MAX);
++ nerrors += Verify(__FILE__, __LINE__, buffer,
++ "%u", -1);
++ sprintf(buffer, "%x", UINT_MAX);
++ nerrors += Verify(__FILE__, __LINE__, buffer,
++ "%x", -1);
++
++ return nerrors;
++}
++
++/*************************************************************************
++ *
++ */
++int
++VerifyFormattingFloats(TRIO_NOARGS)
++{
++ int nerrors = 0;
++
++#if TRIO_FEATURE_FLOAT
++ /* Double */
++ nerrors += Verify(__FILE__, __LINE__, "3141.000000",
++ "%f", 3141.0);
++ nerrors += Verify(__FILE__, __LINE__, "3141.500000",
++ "%f", 3141.5);
++ nerrors += Verify(__FILE__, __LINE__, "3.141000e+03",
++ "%e", 3141.0);
++ nerrors += Verify(__FILE__, __LINE__, " -2.3420e-02",
++ "%16.4e", -2.342E-02);
++ nerrors += Verify(__FILE__, __LINE__, " -2.3420e-22",
++ "%16.4e", -2.342E-22);
++ nerrors += Verify(__FILE__, __LINE__, " 2.3420e-02",
++ "% 16.4e", 2.342E-02);
++ nerrors += Verify(__FILE__, __LINE__, " 2.3420e-02",
++ "% 1.4e", 2.342E-02);
++ nerrors += Verify(__FILE__, __LINE__, "3.141000E-44",
++ "%E", 3.141e-44);
++ nerrors += Verify(__FILE__, __LINE__, "0",
++ "%g", 0.0);
++ nerrors += Verify(__FILE__, __LINE__, "-0",
++ "%g", trio_nzero());
++ nerrors += Verify(__FILE__, __LINE__, "3141.5",
++ "%g", 3141.5);
++ nerrors += Verify(__FILE__, __LINE__, "3.1415E-06",
++ "%G", 3.1415e-6);
++ nerrors += Verify(__FILE__, __LINE__, "+3141.000000",
++ "%+f", 3141.0);
++ nerrors += Verify(__FILE__, __LINE__, "-3141.000000",
++ "%+f", -3141.0);
++ nerrors += Verify(__FILE__, __LINE__, "0.333333",
++ "%f", 1.0/3.0);
++ nerrors += Verify(__FILE__, __LINE__, "0.666667",
++ "%f", 2.0/3.0);
++ /* Beyond accuracy */
++ nerrors += Verify(__FILE__, __LINE__, "0.000000",
++ "%f", 1.234567890123456789e-20);
++# if defined(TRIO_BREESE)
++ nerrors += Verify(__FILE__, __LINE__, "1.3999999999999999111821580299875",
++ "%.32g", 1.4);
++ nerrors += Verify(__FILE__, __LINE__, "1.39999999999999991118215802998748",
++ "%.32f", 1.4);
++ nerrors += Verify(__FILE__, __LINE__, "1.3999999999999999111821580300",
++ "%.28f", 1.4);
++ nerrors += Verify(__FILE__, __LINE__, "1.399999999999999911182158",
++ "%.24f", 1.4);
++ nerrors += Verify(__FILE__, __LINE__, "1.39999999999999991",
++ "%.17f", 1.4);
++ nerrors += Verify(__FILE__, __LINE__, "1.40000000000000",
++ "%.14f", 1.4);
++ nerrors += Verify(__FILE__, __LINE__, "39413.800000000002910383045673370361",
++ "%.30f", 39413.80);
++# endif
++ /* 2^-1 + 2^-15 */
++ nerrors += Verify(__FILE__, __LINE__, "0.500030517578125",
++ "%.*g", DBL_DIG + 10, 0.500030517578125);
++ /* Double decimal point */
++ nerrors += Verify(__FILE__, __LINE__, "3141",
++ "%.0f", 3141.0);
++ nerrors += Verify(__FILE__, __LINE__, "3142",
++ "%.0f", 3141.5);
++ nerrors += Verify(__FILE__, __LINE__, "3141",
++ "%.f", 3141.0);
++ nerrors += Verify(__FILE__, __LINE__, "12",
++ "%.f", 12.34);
++ nerrors += Verify(__FILE__, __LINE__, "3141.000",
++ "%.3f", 3141.0);
++ nerrors += Verify(__FILE__, __LINE__, "3141.000000",
++ "%#f", 3141.0);
++ nerrors += Verify(__FILE__, __LINE__, "0.0000",
++ "%#.4f", 0.0);
++ nerrors += Verify(__FILE__, __LINE__, "0.000",
++ "%#.4g", 0.0);
++ nerrors += Verify(__FILE__, __LINE__, "0.001000",
++ "%#.4g", 1e-3);
++ nerrors += Verify(__FILE__, __LINE__, "3141.0000",
++ "%#.4f", 3141.0);
++ nerrors += Verify(__FILE__, __LINE__, "3141.",
++ "%#.0f", 3141.0);
++ nerrors += Verify(__FILE__, __LINE__, "3141.",
++ "%#.f", 3141.0);
++ nerrors += Verify(__FILE__, __LINE__, "11.0000",
++ "%#.4f", 11.0);
++ nerrors += Verify(__FILE__, __LINE__, "100.00",
++ "%.2f", 99.9999);
++ nerrors += Verify(__FILE__, __LINE__, "3e+03",
++ "%.e", 3141.0);
++ nerrors += Verify(__FILE__, __LINE__, "3.e+03",
++ "%#.e", 3141.0);
++ nerrors += Verify(__FILE__, __LINE__, "1.23457e+06",
++ "%g", 1234567.0);
++ nerrors += Verify(__FILE__, __LINE__, "1e+02",
++ "%.2g", 99.9999);
++ nerrors += Verify(__FILE__, __LINE__, "1.0e+02",
++ "%#.2g", 99.9999);
++ nerrors += Verify(__FILE__, __LINE__, "0.123",
++ "%0g", 0.123);
++ nerrors += Verify(__FILE__, __LINE__, "1.00e+00",
++ "%.2e", 0.9999);
++ nerrors += Verify(__FILE__, __LINE__, "1",
++ "%.2g", 0.9999);
++ nerrors += Verify(__FILE__, __LINE__, "2",
++ "%.0g", 1.5);
++ nerrors += Verify(__FILE__, __LINE__, "2",
++ "%.g", 1.5);
++ nerrors += Verify(__FILE__, __LINE__, "0.01",
++ "%.2g", 0.01);
++ nerrors += Verify(__FILE__, __LINE__, "0.010",
++ "%#.2g", 0.01);
++ nerrors += Verify(__FILE__, __LINE__, "1e-04",
++ "%5.g", 0.999999e-4);
++ /* Double width and precision */
++ nerrors += Verify(__FILE__, __LINE__, " 1e-05",
++ "%11.5g", 1e-5);
++ nerrors += Verify(__FILE__, __LINE__, " 0.0001",
++ "%11.5g", 1e-4);
++ nerrors += Verify(__FILE__, __LINE__, " 0.001",
++ "%11.5g", 1e-3);
++ nerrors += Verify(__FILE__, __LINE__, " 0.01",
++ "%11.5g", 1e-2);
++ nerrors += Verify(__FILE__, __LINE__, " 0.1",
++ "%11.5g", 1e-1);
++ nerrors += Verify(__FILE__, __LINE__, " 1",
++ "%11.5g", 1e0);
++ nerrors += Verify(__FILE__, __LINE__, " 10",
++ "%11.5g", 1e1);
++ nerrors += Verify(__FILE__, __LINE__, " 100",
++ "%11.5g", 1e2);
++ nerrors += Verify(__FILE__, __LINE__, " 1000",
++ "%11.5g", 1e3);
++ nerrors += Verify(__FILE__, __LINE__, " 10000",
++ "%11.5g", 1e4);
++ nerrors += Verify(__FILE__, __LINE__, " 1e+05",
++ "%11.5g", 1e5);
++ nerrors += Verify(__FILE__, __LINE__, " 9.9e-05",
++ "%11.2g", 0.99e-4);
++ nerrors += Verify(__FILE__, __LINE__, " 0.00099",
++ "%11.2g", 0.99e-3);
++ nerrors += Verify(__FILE__, __LINE__, " 0.0099",
++ "%11.2g", 0.99e-2);
++ nerrors += Verify(__FILE__, __LINE__, " 0.099",
++ "%11.2g", 0.99e-1);
++ nerrors += Verify(__FILE__, __LINE__, " 0.99",
++ "%11.2g", 0.99e0);
++ nerrors += Verify(__FILE__, __LINE__, " 9.9",
++ "%11.2g", 0.99e1);
++ nerrors += Verify(__FILE__, __LINE__, " 99",
++ "%11.2g", 0.99e2);
++ nerrors += Verify(__FILE__, __LINE__, " 9.9e+02",
++ "%11.2g", 0.99e3);
++ nerrors += Verify(__FILE__, __LINE__, " 9.9e+03",
++ "%11.2g", 0.99e4);
++ nerrors += Verify(__FILE__, __LINE__, " 9.9e+04",
++ "%11.2g", 0.99e5);
++ /* Double width, precision, and alternative */
++ nerrors += Verify(__FILE__, __LINE__, " 1.0000e-05",
++ "%#11.5g", 1e-5);
++ nerrors += Verify(__FILE__, __LINE__, " 0.00010000",
++ "%#11.5g", 1e-4);
++ nerrors += Verify(__FILE__, __LINE__, " 0.0010000",
++ "%#11.5g", 1e-3);
++ nerrors += Verify(__FILE__, __LINE__, " 0.0010000",
++ "%#11.5g", 0.999999e-3);
++ nerrors += Verify(__FILE__, __LINE__, " 0.010000",
++ "%#11.5g", 1e-2);
++ nerrors += Verify(__FILE__, __LINE__, " 0.010000",
++ "%#11.5g", 0.999999e-2);
++ nerrors += Verify(__FILE__, __LINE__, " 0.10000",
++ "%#11.5g", 1e-1);
++ nerrors += Verify(__FILE__, __LINE__, " 0.10000",
++ "%#11.5g", 0.999999e-1);
++ nerrors += Verify(__FILE__, __LINE__, " 1.0000",
++ "%#11.5g", 1e0);
++ nerrors += Verify(__FILE__, __LINE__, " 1.0000",
++ "%#11.5g", 0.999999e0);
++ nerrors += Verify(__FILE__, __LINE__, " 10.000",
++ "%#11.5g", 1e1);
++ nerrors += Verify(__FILE__, __LINE__, " 100.00",
++ "%#11.5g", 1e2);
++ nerrors += Verify(__FILE__, __LINE__, " 1000.0",
++ "%#11.5g", 1e3);
++ nerrors += Verify(__FILE__, __LINE__, " 10000.",
++ "%#11.5g", 1e4);
++ nerrors += Verify(__FILE__, __LINE__, " 1.0000e+05",
++ "%#11.5g", 1e5);
++ nerrors += Verify(__FILE__, __LINE__, " 9.9e-05",
++ "%#11.2g", 0.99e-4);
++ nerrors += Verify(__FILE__, __LINE__, " 0.00099",
++ "%#11.2g", 0.99e-3);
++ nerrors += Verify(__FILE__, __LINE__, " 0.0099",
++ "%#11.2g", 0.99e-2);
++ nerrors += Verify(__FILE__, __LINE__, " 0.099",
++ "%#11.2g", 0.99e-1);
++ nerrors += Verify(__FILE__, __LINE__, " 0.99",
++ "%#11.2g", 0.99e0);
++ nerrors += Verify(__FILE__, __LINE__, " 9.9",
++ "%#11.2g", 0.99e1);
++ nerrors += Verify(__FILE__, __LINE__, " 99.",
++ "%#11.2g", 0.99e2);
++ nerrors += Verify(__FILE__, __LINE__, " 9.9e+02",
++ "%#11.2g", 0.99e3);
++ nerrors += Verify(__FILE__, __LINE__, " 9.9e+03",
++ "%#11.2g", 0.99e4);
++ nerrors += Verify(__FILE__, __LINE__, " 9.9e+04",
++ "%#11.2g", 0.99e5);
++ /* Double width, precision, and zero padding */
++ nerrors += Verify(__FILE__, __LINE__, "00003.141500e+03",
++ "%016e", 3141.5);
++ nerrors += Verify(__FILE__, __LINE__, " 3.141500e+03",
++ "%16e", 3141.5);
++ nerrors += Verify(__FILE__, __LINE__, "3.141500e+03 ",
++ "%-16e", 3141.5);
++ nerrors += Verify(__FILE__, __LINE__, "03.142e+03",
++ "%010.3e", 3141.5);
++#if !defined(TRIO_COMPILER_ANCIENT)
++ /* Long double */
++ nerrors += Verify(__FILE__, __LINE__, "1.400000",
++ "%Lf", 1.4L);
++#endif
++
++ /* Special cases */
++ nerrors += Verify(__FILE__, __LINE__, "1.00",
++ "%.2f", 0.999);
++ nerrors += Verify(__FILE__, __LINE__, "100",
++ "%.0f", 99.9);
++ nerrors += Verify(__FILE__, __LINE__, "inf",
++ "%f", trio_pinf());
++ nerrors += Verify(__FILE__, __LINE__, "-inf",
++ "%f", trio_ninf());
++ nerrors += Verify(__FILE__, __LINE__, "INF",
++ "%F", trio_pinf());
++ nerrors += Verify(__FILE__, __LINE__, "-INF",
++ "%F", trio_ninf());
++ /* May fail if NaN is unsupported */
++ nerrors += Verify(__FILE__, __LINE__, "nan",
++ "%f", trio_nan());
++ nerrors += Verify(__FILE__, __LINE__, "NAN",
++ "%F", trio_nan());
++
++# if TRIO_FEATURE_HEXFLOAT
++ nerrors += Verify(__FILE__, __LINE__, "0x2.ap+4",
++ "%a", 42.0);
++ nerrors += Verify(__FILE__, __LINE__, "-0x2.ap+4",
++ "%a", -42.0);
++ nerrors += Verify(__FILE__, __LINE__, "0x1.8p+0",
++ "%a", 1.5);
++ nerrors += Verify(__FILE__, __LINE__, "0x1.6666666666666p+0",
++ "%a", 1.4);
++ nerrors += Verify(__FILE__, __LINE__, "0xc.45p+8",
++ "%a", 3141.0);
++ nerrors += Verify(__FILE__, __LINE__, "0XC.45P+8",
++ "%A", 3141.0);
++ nerrors += Verify(__FILE__, __LINE__, "0xb.351c434a98fa8p-148",
++ "%a", 3.141e-44);
++# endif
++
++#endif /* TRIO_FEATURE_FLOAT */
++
++ return nerrors;
++}
++
++/*************************************************************************
++ *
++ */
++#if TRIO_EXTENSION
++int number_writer(void *ref)
++{
++ const char *format;
++ int *data;
++
++ format = trio_get_format(ref);
++ if ((format) && trio_equal(format, "integer"))
++ {
++ data = trio_get_argument(ref);
++ if (data)
++ {
++ trio_print_int(ref, *data);
++ }
++ }
++ return 0;
++}
++
++#endif
++
++int
++VerifyFormattingUserDefined(TRIO_NOARGS)
++{
++ int nerrors = 0;
++#if TRIO_EXTENSION
++ void *number_handle;
++ int integer = 123;
++
++ number_handle = trio_register(number_writer, "number");
++
++ /* Old style */
++ nerrors += Verify(__FILE__, __LINE__, "123",
++ "%<number:integer>", &integer);
++
++ /* New style */
++ nerrors += Verify(__FILE__, __LINE__, "123",
++ "$<number:integer|%p>", &integer);
++ nerrors += Verify(__FILE__, __LINE__, "123",
++ "$<integer|%p%p>", number_handle, &integer);
++ nerrors += Verify(__FILE__, __LINE__, "$<integer|123",
++ "$<integer|%d", 123);
++ nerrors += Verify(__FILE__, __LINE__, "$integer|123>",
++ "$integer|%d>", 123);
++
++ trio_unregister(number_handle);
++#endif
++
++ return nerrors;
++}
++
++/*************************************************************************
++ *
++ */
++int
++VerifyFormattingRegression(TRIO_NOARGS)
++{
++ int nerrors = 0;
++
++#if TRIO_FEATURE_FLOAT
++ /* 0.6 was formatted as 0.600000e+00 */
++ nerrors += Verify(__FILE__, __LINE__, "5.000000e-01",
++ "%e", 0.5);
++ nerrors += Verify(__FILE__, __LINE__, "6.000000e-01",
++ "%e", 0.6);
++#endif
++
++ return nerrors;
++}
++
++/*************************************************************************
++ *
++ */
++int
++VerifyFormatting(TRIO_NOARGS)
++{
++ int nerrors = 0;
++#if TRIO_FEATURE_SIZE_T || TRIO_FEATURE_SIZE_T_UPPER
++ char buffer[256];
++#endif
++
++ nerrors += VerifyFormattingStrings();
++ nerrors += VerifyFormattingIntegers();
++ nerrors += VerifyFormattingFloats();
++ nerrors += VerifyFormattingRegression();
++ nerrors += VerifyFormattingUserDefined();
++
++ /* Pointer */
++ if (sizeof(void *) == 4)
++ {
++ nerrors += Verify(__FILE__, __LINE__, "Pointer 0x01234567",
++ "Pointer %p", 0x1234567);
++ }
++#if defined(TRIO_COMPILER_SUPPORTS_LL)
++ else if (sizeof(void *) == 8)
++ {
++ nerrors += Verify(__FILE__, __LINE__, "Pointer 0x0123456789012345",
++ "Pointer %p", 0x123456789012345LL);
++ }
++#endif
++ /* Nil pointer */
++ nerrors += Verify(__FILE__, __LINE__, "Pointer (nil)",
++ "Pointer %p", NULL);
++
++ /* Char width alignment */
++ nerrors += Verify(__FILE__, __LINE__, "Char X .",
++ "Char %-4c.", 'X');
++ /* String width / precision */
++ nerrors += Verify(__FILE__, __LINE__, " testing",
++ "%8s", "testing");
++ nerrors += Verify(__FILE__, __LINE__, "testing ",
++ "%-8s", "testing");
++ nerrors += Verify(__FILE__, __LINE__, " testing",
++ "%*s", 8, "testing");
++ nerrors += Verify(__FILE__, __LINE__, "testing ",
++ "%*s", -8, "testing");
++ nerrors += Verify(__FILE__, __LINE__, "test",
++ "%.4s", "testing");
++ nerrors += Verify(__FILE__, __LINE__, "test",
++ "%.*s", 4, "testing");
++ nerrors += Verify(__FILE__, __LINE__, "testing",
++ "%.*s", -4, "testing");
++#if TRIO_FEATURE_POSITIONAL
++ /* Positional */
++ nerrors += Verify(__FILE__, __LINE__, "222 111",
++ "%2$s %1$s", "111", "222");
++ nerrors += Verify(__FILE__, __LINE__, "123456 12345 0001234 00123",
++ "%4$d %3$*8$d %2$.*7$d %1$*6$.*5$d",
++ 123, 1234, 12345, 123456, 5, 6, 7, 8);
++#endif
++
++#if TRIO_FEATURE_SIZE_T_UPPER
++ nerrors += Verify(__FILE__, __LINE__, "256",
++ "%Zd", sizeof(buffer));
++#endif
++
++#if TRIO_FEATURE_ERRNO
++ errno = EINTR;
++# if defined(TRIO_PLATFORM_LYNX)
++# if defined(PREDEF_STANDARD_POSIX_1996)
++ nerrors += Verify(__FILE__, __LINE__, "Interrupted system call ",
++ "%m");
++# else
++ nerrors += Verify(__FILE__, __LINE__, "System call interrupted",
++ "%m");
++# endif
++# else
++ nerrors += Verify(__FILE__, __LINE__, "Interrupted system call",
++ "%m");
++# endif
++#endif
++
++#if TRIO_FEATURE_QUAD
++# if defined(TRIO_COMPILER_SUPPORTS_LL)
++ /* This may fail if the preprocessor does not recognize LL */
++ nerrors += Verify(__FILE__, __LINE__, "42",
++ "%qd", 42LL);
++# endif
++#endif
++
++#if TRIO_FEATURE_SIZE_T
++ nerrors += Verify(__FILE__, __LINE__, "256",
++ "%zd", sizeof(buffer));
++#endif
++#if TRIO_FEATURE_PTRDIFF_T
++ nerrors += Verify(__FILE__, __LINE__, "42",
++ "%td", 42);
++#endif
++#if TRIO_FEATURE_INTMAX_T
++# if defined(TRIO_COMPILER_SUPPORTS_LL)
++ /* Some compilers may not handle the LL suffix correctly */
++ nerrors += Verify(__FILE__, __LINE__, "42",
++ "%jd", 42LL);
++# endif
++#endif
++
++#if TRIO_FEATURE_WIDECHAR
++ nerrors += Verify(__FILE__, __LINE__, "Hello World",
++ "%ls", L"Hello World");
++ nerrors += Verify(__FILE__, __LINE__, "\\aHello World",
++ "%#ls", L"\aHello World");
++ nerrors += Verify(__FILE__, __LINE__, "A",
++ "%lc", L'A');
++ nerrors += Verify(__FILE__, __LINE__, "\\a",
++ "%#lc", L'\a');
++#endif
++
++#if TRIO_FEATURE_FIXED_SIZE
++ nerrors += Verify(__FILE__, __LINE__, "42",
++ "%I8d", 42);
++ nerrors += Verify(__FILE__, __LINE__, "ffffffff",
++ "%I16x", -1);
++#endif
++
++#if TRIO_EXTENSION
++ nerrors += Verify(__FILE__, __LINE__, " 42 86",
++ "%!4d %d", 42, 86);
++ nerrors += Verify(__FILE__, __LINE__, "0042 0086",
++ "%!04d %d", 42, 86);
++ nerrors += Verify(__FILE__, __LINE__, "42",
++ "%&d", sizeof(long), 42L);
++ /* Non-printable string */
++ nerrors += Verify(__FILE__, __LINE__, "NonPrintable \\x01 \\a \\\\",
++ "NonPrintable %#s", "\01 \07 \\");
++ nerrors += Verify(__FILE__, __LINE__, "\\a \\b \\t \\n \\v \\f \\r",
++ "%#s", "\007 \010 \011 \012 \013 \014 \015");
++ /* Quote flag */
++ nerrors += Verify(__FILE__, __LINE__, "Another \"quoted\" string",
++ "Another %'s string", "quoted");
++ /* Integer base */
++ nerrors += Verify(__FILE__, __LINE__, "Number 42 == 1120 (base 3)",
++ "Number %d == %..3i (base 3)", 42, 42);
++ /* Integer base (specifier base must be used instead of base modifier) */
++ nerrors += Verify(__FILE__, __LINE__, "42",
++ "%..3d", 42);
++ nerrors += Verify(__FILE__, __LINE__, "52",
++ "%..3o", 42);
++ nerrors += Verify(__FILE__, __LINE__, "2a",
++ "%..3x", 42);
++ /* Integer thousand separator */
++ nerrors += Verify(__FILE__, __LINE__, "Number 100",
++ "Number %'d", 100);
++ nerrors += Verify(__FILE__, __LINE__, "Number 1,000,000",
++ "Number %'d", 1000000);
++# if TRIO_FEATURE_FLOAT
++ /* Float thousand separator */
++ nerrors += Verify(__FILE__, __LINE__, "31,415.200000",
++ "%'f", 31415.2);
++ nerrors += Verify(__FILE__, __LINE__, "1,000,000.000000",
++ "%'f", 1000000.0);
++ /* Rounding modifier */
++ nerrors += Verify(__FILE__, __LINE__, "1.4",
++ "%.32Rf", 1.4);
++ nerrors += Verify(__FILE__, __LINE__, "1.4",
++ "%.17Rf", 1.4);
++ nerrors += Verify(__FILE__, __LINE__, "39413.8",
++ "%.30Rf", 39413.80);
++# if !defined(TRIO_COMPILER_ANCIENT)
++ /* Long double */
++ nerrors += Verify(__FILE__, __LINE__, "1.4",
++ "%RLf", 1.4L);
++ nerrors += Verify(__FILE__, __LINE__, "1.4",
++ "%.30RLf", 1.4L);
++# endif
++# endif
++#endif
++
++#if defined(TRIO_BREESE)
++ /*
++ * These results depends on issues beyond our control. For example,
++ * the accuracy of floating-point numbers depends on the underlying
++ * floating-point hardware (e.g. whether IEEE 754 double or extended-
++ * double format is used).
++ *
++ * These tests are therefore not part of the normal regression test,
++ * but we keep them here for development purposes.
++ */
++ nerrors += Verify(__FILE__, __LINE__, "123456789012345680868.000000",
++ "%f", 1.234567890123456789e20);
++ nerrors += Verify(__FILE__, __LINE__, "1.23456789012345677901e-20",
++ "%.20e", 1.2345678901234567e-20);
++ nerrors += Verify(__FILE__, __LINE__, "0.666666666666666629659233",
++ "%.*g", DBL_DIG + 10, 2.0/3.0);
++ nerrors += Verify(__FILE__, __LINE__, "123456789012345700000",
++ "%Rf", 1.234567890123456789e20);
++# if !defined(TRIO_COMPILER_ANCIENT)
++ nerrors += Verify(__FILE__, __LINE__, "0.666666666666666667",
++ "%RLf", (2.0L/3.0L));
++ nerrors += Verify(__FILE__, __LINE__, "0.666666666666666667",
++ "%.30RLf", (2.0L/3.0L));
++# endif
++#endif
++
++ return nerrors;
++}
++
++/*************************************************************************
++ *
++ */
++int
++VerifyErrors(TRIO_NOARGS)
++{
++ char buffer[512];
++ int rc;
++ int nerrors = 0;
++
++ /* Error: Invalid argument 1 */
++ rc = trio_snprintf(buffer, sizeof(buffer), "%d %r", 42, "text");
++#if TRIO_FEATURE_ERRORCODE
++# if TRIO_FEATURE_STRERR
++ trio_snprintf(buffer, sizeof(buffer), "Err = %d (%s), Pos = %d",
++ TRIO_ERROR_CODE(rc),
++ TRIO_ERROR_NAME(rc),
++ TRIO_ERROR_POSITION(rc));
++ nerrors += Verify(__FILE__, __LINE__, "Err = 2 (Invalid argument), Pos = 5",
++ "%s", buffer);
++# else
++ trio_snprintf(buffer, sizeof(buffer), "Err = %d, Pos = %d",
++ TRIO_ERROR_CODE(rc),
++ TRIO_ERROR_POSITION(rc));
++ nerrors += Verify(__FILE__, __LINE__, "Err = 2, Pos = 5",
++ "%s", buffer);
++# endif
++#else
++ nerrors += (rc != -1);
++#endif
++
++ /* Error: Invalid argument 2 */
++ rc = trio_snprintf(buffer, sizeof(buffer), "%#");
++#if TRIO_FEATURE_ERRORCODE
++# if TRIO_FEATURE_STRERR
++ trio_snprintf(buffer, sizeof(buffer), "Err = %d (%s), Pos = %d",
++ TRIO_ERROR_CODE(rc),
++ TRIO_ERROR_NAME(rc),
++ TRIO_ERROR_POSITION(rc));
++ nerrors += Verify(__FILE__, __LINE__, "Err = 2 (Invalid argument), Pos = 3",
++ "%s", buffer);
++# else
++ trio_snprintf(buffer, sizeof(buffer), "Err = %d, Pos = %d",
++ TRIO_ERROR_CODE(rc),
++ TRIO_ERROR_POSITION(rc));
++ nerrors += Verify(__FILE__, __LINE__, "Err = 2, Pos = 3",
++ "%s", buffer);
++# endif
++#else
++ nerrors += (rc != -1);
++#endif
++
++ /* Error: Invalid argument 3 */
++ rc = trio_snprintf(buffer, sizeof(buffer), "%hhhd", 42);
++#if TRIO_FEATURE_ERRORCODE
++# if TRIO_FEATURE_STRERR
++ trio_snprintf(buffer, sizeof(buffer), "Err = %d (%s), Pos = %d",
++ TRIO_ERROR_CODE(rc),
++ TRIO_ERROR_NAME(rc),
++ TRIO_ERROR_POSITION(rc));
++ nerrors += Verify(__FILE__, __LINE__, "Err = 2 (Invalid argument), Pos = 4",
++ "%s", buffer);
++# else
++ trio_snprintf(buffer, sizeof(buffer), "Err = %d, Pos = %d",
++ TRIO_ERROR_CODE(rc),
++ TRIO_ERROR_POSITION(rc));
++ nerrors += Verify(__FILE__, __LINE__, "Err = 2, Pos = 4",
++ "%s", buffer);
++# endif
++#else
++ nerrors += (rc != -1);
++#endif
++
++ /* Error: Double reference */
++ rc = trio_snprintf(buffer, sizeof(buffer), "hello %1$d %1$d", 31, 32);
++#if TRIO_FEATURE_ERRORCODE
++# if TRIO_FEATURE_STRERR
++ trio_snprintf(buffer, sizeof(buffer), "Err = %d (%s), Pos = %d",
++ TRIO_ERROR_CODE(rc),
++ TRIO_ERROR_NAME(rc),
++ TRIO_ERROR_POSITION(rc));
++# if TRIO_UNIX98
++ nerrors += Verify(__FILE__, __LINE__, "Err = 4 (Double reference), Pos = 0",
++ "%s", buffer);
++# else
++ nerrors += Verify(__FILE__, __LINE__, "Err = 2 (Invalid argument), Pos = 9",
++ "%s", buffer);
++# endif
++# else
++ trio_snprintf(buffer, sizeof(buffer), "Err = %d, Pos = %d",
++ TRIO_ERROR_CODE(rc),
++ TRIO_ERROR_POSITION(rc));
++# if TRIO_UNIX98
++ nerrors += Verify(__FILE__, __LINE__, "Err = 4, Pos = 0",
++ "%s", buffer);
++# else
++ nerrors += Verify(__FILE__, __LINE__, "Err = 2, Pos = 9",
++ "%s", buffer);
++# endif
++# endif
++#else
++ nerrors += (rc != -1);
++#endif
++
++ /* Error: Reference gap */
++ rc = trio_snprintf(buffer, sizeof(buffer), "%3$d %1$d", 31, 32, 33);
++#if TRIO_FEATURE_ERRORCODE
++# if TRIO_FEATURE_STRERR
++ trio_snprintf(buffer, sizeof(buffer), "Err = %d (%s), Pos = %d",
++ TRIO_ERROR_CODE(rc),
++ TRIO_ERROR_NAME(rc),
++ TRIO_ERROR_POSITION(rc));
++# if TRIO_UNIX98
++ nerrors += Verify(__FILE__, __LINE__, "Err = 5 (Reference gap), Pos = 1",
++ "%s", buffer);
++# else
++ nerrors += Verify(__FILE__, __LINE__, "Err = 2 (Invalid argument), Pos = 3",
++ "%s", buffer);
++# endif
++# else
++ trio_snprintf(buffer, sizeof(buffer), "Err = %d, Pos = %d",
++ TRIO_ERROR_CODE(rc),
++ TRIO_ERROR_POSITION(rc));
++# if TRIO_UNIX98
++ nerrors += Verify(__FILE__, __LINE__, "Err = 5, Pos = 1",
++ "%s", buffer);
++# else
++ nerrors += Verify(__FILE__, __LINE__, "Err = 2, Pos = 3",
++ "%s", buffer);
++# endif
++# endif
++#else
++ nerrors += (rc != -1);
++#endif
++
++ return nerrors;
++}
++
++/*************************************************************************
++ *
++ */
++#if TRIO_FEATURE_SCANF
++int
++VerifyScanningOneInteger
++TRIO_ARGS5((file, line, expected, format, original),
++ TRIO_CONST char *file,
++ int line,
++ TRIO_CONST char *expected,
++ TRIO_CONST char *format,
++ int original)
++{
++ int number;
++ char data[512];
++
++ trio_snprintf(data, sizeof(data), format, original);
++ trio_sscanf(data, format, &number);
++ return Verify(file, line, expected, format, number);
++}
++
++int
++VerifyScanningIntegers(TRIO_NOARGS)
++{
++ int nerrors = 0;
++
++ nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "42",
++ "%i", 42);
++ nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "42",
++ "%d", 42);
++ nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "-42",
++ "%d", -42);
++ nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "2147483647",
++ "%d", 2147483647);
++ nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "42",
++ "%u", 42);
++ nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "2a",
++ "%x", 42);
++ nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "52",
++ "%o", 42);
++ nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "101010",
++ "%..2i", 42);
++ nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "0x2a",
++ "%#x", 42);
++ nerrors += VerifyScanningOneInteger(__FILE__, __LINE__, "052",
++ "%#o", 42);
++
++ return nerrors;
++}
++#endif
++
++/*************************************************************************
++ *
++ */
++#if TRIO_FEATURE_SCANF
++int
++VerifyScanningOneFloat
++TRIO_ARGS5((file, line, expected, format, original),
++ TRIO_CONST char *file,
++ int line,
++ TRIO_CONST char *expected,
++ TRIO_CONST char *format,
++ double original)
++{
++ float number;
++ char data[512];
++
++ trio_snprintf(data, sizeof(data), format, original);
++ trio_sscanf(data, format, &number);
++ return Verify(file, line, expected, format, number);
++}
++
++int
++VerifyScanningOneDouble
++TRIO_ARGS5((file, line, expected, format, original),
++ TRIO_CONST char *file,
++ int line,
++ TRIO_CONST char *expected,
++ TRIO_CONST char *format,
++ double original)
++{
++ double number;
++ char data[512];
++
++ trio_snprintf(data, sizeof(data), format, original);
++ trio_sscanf(data, format, &number);
++ return Verify(file, line, expected, format, number);
++}
++
++int
++VerifyScanningFloats(TRIO_NOARGS)
++{
++ int nerrors = 0;
++
++#if TRIO_FEATURE_FLOAT
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "42.000000",
++ "%f", 42.0);
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "-42.000000",
++ "%f", -42.0);
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "4.200000e+01",
++ "%e", 42.0);
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "4.200000E+01",
++ "%E", 42.0);
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "42",
++ "%g", 42.0);
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "1.23457e+06",
++ "%g", 1234567.0);
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "1.23457e-06",
++ "%g", 1.234567e-6);
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "1.23457E+06",
++ "%G", 1234567.0);
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "1.234567e+06",
++ "%12e", 1234567.0);
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "1.234500e+00",
++ "%6e", 1234567.0);
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "1.234567e+06",
++ "%.6e", 1234567.0);
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "1.2345670000e+06",
++ "%.10e", 1234567.0);
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "1.23457e+06",
++ "%.6g", 1234567.0);
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "1234567",
++ "%.10g", 1234567.0);
++# if TRIO_FEATURE_HEXFLOAT
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "0x2.ap+4",
++ "%a", 42.0);
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "0x1.2d687p+20",
++ "%a", 1234567.0);
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "0X1.2D687P+20",
++ "%A", 1234567.0);
++# endif
++ nerrors += VerifyScanningOneDouble(__FILE__, __LINE__, "1.79769e+308",
++ "%lg", 1.79769e+308);
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "nan",
++ "%f", trio_nan());
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "NAN",
++ "%F", trio_nan());
++ nerrors += VerifyScanningOneFloat(__FILE__, __LINE__, "-inf",
++ "%f", trio_ninf());
++#endif
++
++ return nerrors;
++}
++#endif
++
++/*************************************************************************
++ *
++ */
++#if TRIO_FEATURE_SCANF
++int
++VerifyScanningOneString
++TRIO_ARGS5((file, line, expected, format, original),
++ TRIO_CONST char *file,
++ int line,
++ TRIO_CONST char *expected,
++ TRIO_CONST char *format,
++ char *original)
++{
++ char string[512];
++ char data[512];
++
++ trio_snprintf(data, sizeof(data), "%s", original);
++ string[0] = 0;
++ trio_sscanf(data, format, string);
++ return Verify(file, line, expected, "%s", string);
++}
++
++int
++VerifyScanningStrings(TRIO_NOARGS)
++{
++ int nerrors = 0;
++
++ nerrors += VerifyScanningOneString(__FILE__, __LINE__, "",
++ "hello", "hello");
++ nerrors += VerifyScanningOneString(__FILE__, __LINE__, "",
++ "", "");
++ nerrors += VerifyScanningOneString(__FILE__, __LINE__, "hello",
++ "%s", "hello");
++ nerrors += VerifyScanningOneString(__FILE__, __LINE__, "hello",
++ "%s", "hello world");
++ nerrors += VerifyScanningOneString(__FILE__, __LINE__, "hello world",
++ "%[^\n]", "hello world");
++ nerrors += VerifyScanningOneString(__FILE__, __LINE__, "(nil)",
++ "%s", NULL);
++ nerrors += VerifyScanningOneString(__FILE__, __LINE__, "hello",
++ "%20s", "hello");
++ nerrors += VerifyScanningOneString(__FILE__, __LINE__, "he",
++ "%2s", "hello");
++ nerrors += VerifyScanningOneString(__FILE__, __LINE__, "ab",
++ "%[ab]", "abcba");
++ nerrors += VerifyScanningOneString(__FILE__, __LINE__, "abcba",
++ "%[abc]", "abcba");
++ nerrors += VerifyScanningOneString(__FILE__, __LINE__, "abcba",
++ "%[a-c]", "abcba");
++#if TRIO_EXTENSION
++ nerrors += VerifyScanningOneString(__FILE__, __LINE__, "abcba",
++ "%[[:alpha:]]", "abcba");
++#endif
++ nerrors += VerifyScanningOneString(__FILE__, __LINE__, "ba",
++ "%*[ab]c%[^\n]", "abcba");
++
++ return nerrors;
++}
++#endif
++
++/*************************************************************************
++ *
++ */
++#if TRIO_FEATURE_SCANF
++int
++VerifyScanningRegression(TRIO_NOARGS)
++{
++ int nerrors = 0;
++ int rc;
++#if TRIO_FEATURE_FLOAT
++ int offset;
++ double dnumber;
++# if defined(TRIO_BREESE)
++ trio_long_double_t ldnumber;
++# endif
++#endif
++ long lnumber;
++ int number;
++ char ch;
++ char buffer[4096];
++ FILE *stream;
++
++#if TRIO_FEATURE_FLOAT
++ rc = trio_sscanf("1.5", "%lf%n", &dnumber, &offset);
++ nerrors += Verify(__FILE__, __LINE__, "1 3 1.500000",
++ "%d %d %f", rc, offset, dnumber);
++#endif
++ rc = trio_sscanf("q 123", "%c%ld", &ch, &lnumber);
++ nerrors += Verify(__FILE__, __LINE__, "q 123",
++ "%c %ld", ch, lnumber);
++ rc = trio_sscanf("abc", "%*s%n", &number);
++ nerrors += Verify(__FILE__, __LINE__, "0 3",
++ "%d %d", rc, number);
++ rc = trio_sscanf("abc def", "%*s%n", &number);
++ nerrors += Verify(__FILE__, __LINE__, "0 3",
++ "%d %d", rc, number);
++#if TRIO_FEATURE_FLOAT
++ rc = trio_sscanf("0.141882295971771490", "%lf", &dnumber);
++ /* FIXME: Verify */
++#endif
++ number = 33;
++ rc = trio_sscanf("total 1", "total %d", &number);
++ nerrors += Verify(__FILE__, __LINE__, "1 1",
++ "%d %d", rc, number);
++#if defined(TRIO_BREESE)
++# if TRIO_FEATURE_FLOAT
++ nerrors += Verify(__FILE__, __LINE__, "1 0.141882295971771488",
++ "%d %.18f", rc, dnumber);
++ rc = trio_sscanf("0.141882295971771490", "%Lf", &ldnumber);
++ nerrors += Verify(__FILE__, __LINE__, "1 0.141882295971771490",
++ "%d %.18Lf", rc, ldnumber);
++# endif
++#endif
++#if TRIO_FEATURE_FLOAT
++ rc = trio_sscanf("1.e-6", "%lg", &dnumber);
++ nerrors += Verify(__FILE__, __LINE__, "1e-06",
++ "%g", dnumber);
++ rc = trio_sscanf("1e-6", "%lg", &dnumber);
++ nerrors += Verify(__FILE__, __LINE__, "1e-06",
++ "%g", dnumber);
++#endif
++
++ /* Do not overwrite result on matching error */
++ ch = 'a';
++ rc = trio_sscanf("0123456789", "%1[c]", &ch);
++ nerrors += Verify(__FILE__, __LINE__, "a",
++ "%c", ch);
++
++ /* Scan plus prefix for unsigned integer */
++ rc = trio_sscanf("+42", "%u", &number);
++ nerrors += Verify(__FILE__, __LINE__, "1 42",
++ "%d %u", rc, number);
++
++ /* Scan minus prefix even for unsigned integer */
++ rc = trio_sscanf("-42", "%u", &number);
++ sprintf(buffer, "1 %u", -42U);
++ nerrors += Verify(__FILE__, __LINE__, buffer,
++ "%d %u", rc, number);
++
++ /* A scangroup match failure should not bind its argument,
++ * i.e., it shouldn't match the empty string. */
++ sprintf(buffer, "SPQR");
++ rc = trio_sscanf("asdf", "%[c]", buffer);
++ nerrors += Verify(__FILE__, __LINE__, "0 SPQR",
++ "%d %s", rc, buffer);
++
++ /* Even whitespace scanning shouldn't try to read past EOF */
++ stream = tmpfile();
++ trio_fprintf(stream, "");
++ rewind(stream);
++ rc = trio_fscanf(stream, " ");
++ nerrors += Verify(__FILE__, __LINE__, "0",
++ "%d", rc);
++ fclose(stream);
++
++ /* Idem, after a succesfull read */
++ stream = tmpfile();
++ trio_fprintf(stream, "123");
++ rewind(stream);
++ rc = trio_fscanf(stream, "%i ", &number);
++ nerrors += Verify(__FILE__, __LINE__, "1 123",
++ "%d %i", rc, number);
++ fclose(stream);
++
++ /* The scanner should unget its read-ahead char */
++ stream = tmpfile();
++ trio_fprintf(stream, "123");
++ rewind(stream);
++ trio_fscanf(stream, "%*c");
++ trio_fscanf(stream, "%c", &ch);
++ nerrors += Verify(__FILE__, __LINE__, "2",
++ "%c", ch);
++ fclose(stream);
++
++ return nerrors;
++}
++#endif
++
++/*************************************************************************
++ *
++ */
++int
++VerifyScanning(TRIO_NOARGS)
++{
++ int nerrors = 0;
++#if TRIO_FEATURE_SCANF
++ nerrors += VerifyScanningIntegers();
++ nerrors += VerifyScanningFloats();
++ nerrors += VerifyScanningStrings();
++ nerrors += VerifyScanningRegression();
++#endif
++ return nerrors;
++}
++
++/*************************************************************************
++ *
++ */
++int
++VerifyStrings(TRIO_NOARGS)
++{
++ int nerrors = 0;
++#if !defined(TRIO_MINIMAL)
++ char buffer[512];
++#if TRIO_FEATURE_FLOAT
++ double dnumber;
++ float fnumber;
++#endif
++ char *end;
++
++ /* Comparison */
++ trio_copy(buffer, "Find me now");
++ if (trio_length(buffer) != sizeof("Find me now") - 1) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (!trio_equal(buffer, "Find me now")) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (!trio_equal_case(buffer, "Find me now")) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (trio_equal_case(buffer, "FIND ME NOW")) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (!trio_equal_max(buffer, sizeof("Find me") - 1, "Find ME")) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (!trio_contains(buffer, "me")) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (trio_contains(buffer, "and me")) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (trio_substring(buffer, "me") == NULL) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (trio_substring_max(buffer, 4, "me") != NULL) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (!trio_match(buffer, "* me *")) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (trio_match_case(buffer, "* ME *")) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (trio_index(buffer, 'n') == NULL) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (trio_index(buffer, '_') != NULL) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (trio_index_last(buffer, 'n') == NULL) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++
++ /* Append */
++ trio_copy(buffer, "Find me now");
++ if (!trio_append(buffer, " and again")) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (!trio_equal(buffer, "Find me now and again")) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (!trio_append_max(buffer, 0, "should not appear")) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (!trio_equal(buffer, "Find me now and again")) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++
++ /* To upper/lower */
++ trio_copy(buffer, "Find me now");
++ trio_upper(buffer);
++ if (!trio_equal_case(buffer, "FIND ME NOW")) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ trio_lower(buffer);
++ if (!trio_equal_case(buffer, "find me now")) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++
++#if TRIO_FEATURE_FLOAT
++ /* Double conversion */
++ trio_copy(buffer, "3.1415");
++ dnumber = trio_to_double(buffer, NULL);
++ if (!DOUBLE_EQUAL(dnumber, 3.1415)) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ fnumber = trio_to_float(buffer, NULL);
++ if (!FLOAT_EQUAL(fnumber, 3.1415)) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++#endif
++
++ /* Long conversion */
++ trio_copy(buffer, "3.1415");
++ if (trio_to_long(buffer, NULL, 10) != 3L) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ if (trio_to_long(buffer, NULL, 4) != 3L) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++ trio_to_long(buffer, &end, 2);
++ if (end != buffer) {
++ nerrors++;
++ Report0(__FILE__, __LINE__);
++ }
++
++#endif /* !defined(TRIO_MINIMAL) */
++ return nerrors;
++}
++
++/*************************************************************************
++ *
++ */
++int
++VerifyDynamicStrings(TRIO_NOARGS)
++{
++ int nerrors = 0;
++#if !defined(TRIO_MINIMAL)
++ trio_string_t *string;
++ const char no_terminate[5] = { 'h', 'e', 'l', 'l', 'o' };
++
++ string = trio_xstring_duplicate("Find me now");
++ if (string == NULL) {
++ nerrors++;
++ goto error;
++ }
++ if (!trio_xstring_equal(string, "FIND ME NOW"))
++ nerrors++;
++ if (!trio_xstring_append(string, " and again") ||
++ !trio_xstring_equal(string, "FIND ME NOW AND AGAIN"))
++ nerrors++;
++ if (!trio_xstring_contains(string, "me"))
++ nerrors++;
++ if (trio_xstring_contains(string, "ME"))
++ nerrors++;
++ if (!trio_xstring_match(string, "* me *"))
++ nerrors++;
++ if (trio_xstring_match_case(string, "* ME *"))
++ nerrors++;
++ if (!trio_xstring_append_max(string, no_terminate, 5) ||
++ !trio_xstring_equal(string, "FIND ME NOW AND AGAINhello"))
++ nerrors++;
++
++ error:
++ if (string)
++ trio_string_destroy(string);
++
++#endif /* !defined(TRIO_MINIMAL) */
++ return nerrors;
++}
++
++/*************************************************************************
++ *
++ */
++int
++VerifyNaN(TRIO_NOARGS)
++{
++ double ninf_number = trio_ninf();
++ double pinf_number = trio_pinf();
++ double nan_number = trio_nan();
++ int nerrors = 0;
++
++ nerrors += Verify(__FILE__, __LINE__, "-1",
++ "%d", trio_isinf(ninf_number));
++ nerrors += Verify(__FILE__, __LINE__, "0",
++ "%d", trio_isinf(42.0));
++ nerrors += Verify(__FILE__, __LINE__, "1",
++ "%d", trio_isinf(pinf_number));
++ nerrors += Verify(__FILE__, __LINE__, "1",
++ "%d", trio_isnan(nan_number));
++ nerrors += Verify(__FILE__, __LINE__, "0",
++ "%d", trio_isnan(42.0));
++
++ return nerrors;
++}
++
++/*************************************************************************
++ *
++ */
++int
++main(TRIO_NOARGS)
++{
++ int nerrors = 0;
++
++ printf("%s\n", rcsid);
++
++#if TRIO_EXTENSION
++ /* Override system locale settings */
++ trio_locale_set_decimal_point(".");
++ trio_locale_set_thousand_separator(",");
++ trio_locale_set_grouping("\3");
++#endif
++
++ printf("Verifying strings\n");
++ nerrors += VerifyStrings();
++
++ printf("Verifying dynamic strings\n");
++ nerrors += VerifyDynamicStrings();
++
++ printf("Verifying special quantities\n");
++ nerrors += VerifyNaN();
++
++ printf("Verifying formatting\n");
++ nerrors += VerifyFormatting();
++
++ printf("Verifying scanning\n");
++ nerrors += VerifyScanning();
++
++ printf("Verifying return values\n");
++ nerrors += VerifyErrors();
++ nerrors += VerifyReturnValues();
++
++ printf("Verifying allocation\n");
++ nerrors += VerifyAllocate();
++
++ if (nerrors == 0)
++ printf("Regression test succeeded\n");
++ else
++ printf("Regression test failed in %d instance(s)\n", nerrors);
++
++ return nerrors ? 1 : 0;
++}
+diff -up ghostscript-9.07/trio/strio.h.gs_sprintf ghostscript-9.07/trio/strio.h
+--- ghostscript-9.07/trio/strio.h.gs_sprintf 2013-05-09 17:02:39.109447270 +0100
++++ ghostscript-9.07/trio/strio.h 2013-05-09 17:02:39.109447270 +0100
+@@ -0,0 +1,73 @@
++/*************************************************************************
++ *
++ * $Id: strio.h,v 1.11 2001/12/27 17:29:20 breese Exp $
++ *
++ * Copyright (C) 1998 Bjorn Reese and Daniel Stenberg.
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++ * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
++ *
++ ************************************************************************
++ *
++ * This maintains backwards compatibility with the strio functions.
++ *
++ ************************************************************************/
++
++#ifndef TRIO_STRIO_H
++#define TRIO_STRIO_H
++
++#if !(defined(DEBUG) || defined(NDEBUG))
++# define NDEBUG
++#endif
++#include "triostr.h"
++
++enum {
++ STRIO_HASH_NONE = TRIO_HASH_NONE,
++ STRIO_HASH_PLAIN = TRIO_HASH_PLAIN,
++ STRIO_HASH_TWOSIGNED = TRIO_HASH_TWOSIGNED
++};
++
++#define StrAlloc(n) trio_create(n)
++#define StrAppend(x,y) ((void)trio_append((x),(y)),(x))
++#define StrAppendMax(x,n,y) ((void)trio_append_max((x),(n),(y)),(x))
++#define StrContains(x,y) trio_contains((x),(y))
++#define StrCopy(x,y) ((void)trio_copy((x),(y)),(x))
++#define StrCopyMax(x,n,y) ((void)trio_copy_max((x),(n),(y)),(x))
++#define StrDuplicate(x) trio_duplicate(x)
++#define StrDuplicateMax(x,n) trio_duplicate((x),(n))
++#define StrEqual(x,y) trio_equal((x),(y))
++#define StrEqualCase(x,y) trio_equal_case((x),(y))
++#define StrEqualCaseMax(x,n,y) trio_equal_case_max((x),(n),(y))
++#define StrEqualLocale(x,y) trio_equal_locale((x),(y))
++#define StrEqualMax(x,n,y) trio_equal_max((x),(n),(y))
++#define StrError(n) trio_error(n)
++#define StrFree(x) trio_destroy(x)
++#define StrFormat trio_sprintf
++#define StrFormatAlloc trio_aprintf
++#define StrFormatAppendMax trio_snprintfcat
++#define StrFormatDateMax(x,n,y,t) trio_format_date_max((x),(n),(y),(t))
++#define StrFormatMax trio_snprintf
++#define StrHash(x,n) trio_hash((x),(n))
++#define StrIndex(x,y) trio_index((x),(y))
++#define StrIndexLast(x,y) trio_index_last((x),(y))
++#define StrLength(x) trio_length((x))
++#define StrMatch(x,y) trio_match((x),(y))
++#define StrMatchCase(x,y) trio_match_case((x),(y))
++#define StrScan trio_sscanf
++#define StrSpanFunction(x,f) trio_span_function((x),(f))
++#define StrSubstring(x,y) trio_substring((x),(y))
++#define StrSubstringMax(x,n,y) trio_substring_max((x),(n),(y))
++#define StrToDouble(x,y) trio_to_double((x),(y))
++#define StrToFloat(x,y) trio_to_float((x),(y))
++#define StrTokenize(x,y) trio_tokenize((x),(y))
++#define StrToLong(x,y,n) trio_to_long((x),(y),(n))
++#define StrToUnsignedLong(x,y,n) trio_to_unsigned_long((x),(n),(y))
++#define StrToUpper(x) trio_upper(x)
++
++#endif /* TRIO_STRIO_H */
+diff -up ghostscript-9.07/trio/trio.c.gs_sprintf ghostscript-9.07/trio/trio.c
+--- ghostscript-9.07/trio/trio.c.gs_sprintf 2013-05-09 17:02:39.111447279 +0100
++++ ghostscript-9.07/trio/trio.c 2013-05-09 17:02:39.111447279 +0100
+@@ -0,0 +1,7771 @@
++/*************************************************************************
++ *
++ * $Id: trio.c,v 1.129 2009/09/20 11:37:15 breese Exp $
++ *
++ * Copyright (C) 1998, 2009 Bjorn Reese and Daniel Stenberg.
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++ * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
++ *
++ *************************************************************************
++ *
++ * A note to trio contributors:
++ *
++ * Avoid heap allocation at all costs to ensure that the trio functions
++ * are async-safe. The exceptions are the printf/fprintf functions, which
++ * uses fputc, and the asprintf functions and the <alloc> modifier, which
++ * by design are required to allocate form the heap.
++ *
++ ************************************************************************/
++
++/*
++ * TODO:
++ * - Scan is probably too permissive about its modifiers.
++ * - C escapes in %#[] ?
++ * - Multibyte characters (done for format parsing, except scan groups)
++ * - Complex numbers? (C99 _Complex)
++ * - Boolean values? (C99 _Bool)
++ * - C99 NaN(n-char-sequence) missing. The n-char-sequence can be used
++ * to print the mantissa, e.g. NaN(0xc000000000000000)
++ * - Should we support the GNU %a alloc modifier? GNU has an ugly hack
++ * for %a, because C99 used %a for other purposes. If specified as
++ * %as or %a[ it is interpreted as the alloc modifier, otherwise as
++ * the C99 hex-float. This means that you cannot scan %as as a hex-float
++ * immediately followed by an 's'.
++ * - Scanning of collating symbols.
++ */
++
++/*************************************************************************
++ * Trio include files
++ */
++#include "triodef.h"
++#include "trio.h"
++#include "triop.h"
++
++#if defined(TRIO_EMBED_NAN)
++# define TRIO_PUBLIC_NAN static
++# if TRIO_FEATURE_FLOAT
++# define TRIO_FUNC_NAN
++# define TRIO_FUNC_NINF
++# define TRIO_FUNC_PINF
++# define TRIO_FUNC_FPCLASSIFY_AND_SIGNBIT
++# define TRIO_FUNC_ISINF
++# endif
++#endif
++#include "trionan.h"
++
++#if defined(TRIO_EMBED_STRING)
++# define TRIO_PUBLIC_STRING static
++# define TRIO_FUNC_LENGTH
++# define TRIO_FUNC_LENGTH_MAX
++# define TRIO_FUNC_TO_LONG
++# if TRIO_FEATURE_LOCALE
++# define TRIO_FUNC_COPY_MAX
++# endif
++# if TRIO_FEATURE_DYNAMICSTRING
++# define TRIO_FUNC_XSTRING_DUPLICATE
++# endif
++# if TRIO_EXTENSION && TRIO_FEATURE_SCANF
++# define TRIO_FUNC_EQUAL_LOCALE
++# endif
++# if TRIO_FEATURE_ERRNO
++# define TRIO_FUNC_ERROR
++# endif
++# if TRIO_FEATURE_FLOAT && TRIO_FEATURE_SCANF
++# define TRIO_FUNC_TO_DOUBLE
++# endif
++# if TRIO_FEATURE_DYNAMICSTRING
++# define TRIO_FUNC_STRING_EXTRACT
++# endif
++# if TRIO_FEATURE_DYNAMICSTRING
++# define TRIO_FUNC_STRING_TERMINATE
++# endif
++# if TRIO_FEATURE_USER_DEFINED
++# define TRIO_FUNC_DUPLICATE
++# endif
++# if TRIO_FEATURE_DYNAMICSTRING
++# define TRIO_FUNC_STRING_DESTROY
++# endif
++# if TRIO_FEATURE_USER_DEFINED
++# define TRIO_FUNC_DESTROY
++# endif
++# if TRIO_FEATURE_USER_DEFINED || (TRIO_FEATURE_FLOAT && TRIO_FEATURE_SCANF)
++# define TRIO_FUNC_EQUAL
++# endif
++# if TRIO_FEATURE_USER_DEFINED || TRIO_FEATURE_SCANF
++# define TRIO_FUNC_EQUAL_CASE
++# endif
++# if (TRIO_EXTENSION && TRIO_FEATURE_SCANF)
++# define TRIO_FUNC_EQUAL_MAX
++# endif
++# if TRIO_FEATURE_SCANF
++# define TRIO_FUNC_TO_UPPER
++# endif
++# if TRIO_FEATURE_DYNAMICSTRING
++# define TRIO_FUNC_XSTRING_APPEND_CHAR
++# endif
++#endif
++#include "triostr.h"
++
++/**************************************************************************
++ *
++ * Definitions
++ *
++ *************************************************************************/
++
++#include <limits.h>
++#if TRIO_FEATURE_FLOAT
++# include <math.h>
++# include <float.h>
++#endif
++
++#if defined(__STDC_ISO_10646__) || defined(MB_LEN_MAX) || defined(USE_MULTIBYTE) || TRIO_FEATURE_WIDECHAR
++# if !defined(TRIO_PLATFORM_WINCE)
++# define TRIO_COMPILER_SUPPORTS_MULTIBYTE
++# if !defined(MB_LEN_MAX)
++# define MB_LEN_MAX 6
++# endif
++# endif
++#endif
++
++#if (defined(TRIO_COMPILER_VISUALC) && (TRIO_COMPILER_VISUALC - 0 >= 1100)) || defined(TRIO_COMPILER_BORLAND)
++# define TRIO_COMPILER_SUPPORTS_VISUALC_INT
++#endif
++
++#if TRIO_FEATURE_FLOAT
++# if defined(PREDEF_STANDARD_C99) \
++ || defined(PREDEF_STANDARD_UNIX03)
++# if !defined(HAVE_FLOORL) && !defined(TRIO_NO_FLOORL)
++# define HAVE_FLOORL
++# endif
++# if !defined(HAVE_CEILL) && !defined(TRIO_NO_CEILL)
++# define HAVE_CEILL
++# endif
++# if !defined(HAVE_POWL) && !defined(TRIO_NO_POWL)
++# define HAVE_POWL
++# endif
++# if !defined(HAVE_FMODL) && !defined(TRIO_NO_FMODL)
++# define HAVE_FMODL
++# endif
++# if !defined(HAVE_LOG10L) && !defined(TRIO_NO_LOG10L)
++# define HAVE_LOG10L
++# endif
++# endif
++# if defined(TRIO_COMPILER_VISUALC)
++# if defined(floorl)
++# define HAVE_FLOORL
++# endif
++# if defined(ceill)
++# define HAVE_CEILL
++# endif
++# if defined(powl)
++# define HAVE_POWL
++# endif
++# if defined(fmodl)
++# define HAVE_FMODL
++# endif
++# if defined(log10l)
++# define HAVE_LOG10L
++# endif
++# endif
++#endif
++
++/*************************************************************************
++ * Generic definitions
++ */
++
++#if !(defined(DEBUG) || defined(NDEBUG))
++# define NDEBUG
++#endif
++
++#include <assert.h>
++#include <ctype.h>
++#if defined(PREDEF_STANDARD_C99) && !defined(isascii)
++# define isascii(x) ((x) & 0x7F)
++#endif
++#if defined(TRIO_COMPILER_ANCIENT)
++# include <varargs.h>
++#else
++# include <stdarg.h>
++#endif
++#include <stddef.h>
++#if defined(TRIO_PLATFORM_WINCE)
++extern int errno;
++#else
++# include <errno.h>
++#endif
++
++#ifndef NULL
++# define NULL 0
++#endif
++#define NIL ((char)0)
++#ifndef FALSE
++# define FALSE (1 == 0)
++# define TRUE (! FALSE)
++#endif
++#define BOOLEAN_T int
++
++/* mincore() can be used for debugging purposes */
++#define VALID(x) (NULL != (x))
++
++#if TRIO_FEATURE_ERRORCODE
++ /*
++ * Encode the error code and the position. This is decoded
++ * with TRIO_ERROR_CODE and TRIO_ERROR_POSITION.
++ */
++# define TRIO_ERROR_RETURN(x,y) (- ((x) + ((y) << 8)))
++#else
++# define TRIO_ERROR_RETURN(x,y) (-1)
++#endif
++
++typedef unsigned long trio_flags_t;
++
++
++/*************************************************************************
++ * Platform specific definitions
++ */
++#if defined(TRIO_PLATFORM_UNIX)
++# include <unistd.h>
++# include <signal.h>
++# include <locale.h>
++# if !defined(TRIO_FEATURE_LOCALE)
++# define USE_LOCALE
++# endif
++#endif /* TRIO_PLATFORM_UNIX */
++#if defined(TRIO_PLATFORM_VMS)
++# include <unistd.h>
++#endif
++#if defined(TRIO_PLATFORM_WIN32)
++# if defined(TRIO_PLATFORM_WINCE)
++int read(int handle, char *buffer, unsigned int length);
++int write(int handle, const char *buffer, unsigned int length);
++# else
++# include <io.h>
++# define read _read
++# define write _write
++# endif
++#endif /* TRIO_PLATFORM_WIN32 */
++
++#if TRIO_FEATURE_WIDECHAR
++# if defined(PREDEF_STANDARD_C94)
++# include <wchar.h>
++# include <wctype.h>
++typedef wchar_t trio_wchar_t;
++typedef wint_t trio_wint_t;
++# else
++typedef char trio_wchar_t;
++typedef int trio_wint_t;
++# define WCONST(x) L ## x
++# define WEOF EOF
++# define iswalnum(x) isalnum(x)
++# define iswalpha(x) isalpha(x)
++# define iswcntrl(x) iscntrl(x)
++# define iswdigit(x) isdigit(x)
++# define iswgraph(x) isgraph(x)
++# define iswlower(x) islower(x)
++# define iswprint(x) isprint(x)
++# define iswpunct(x) ispunct(x)
++# define iswspace(x) isspace(x)
++# define iswupper(x) isupper(x)
++# define iswxdigit(x) isxdigit(x)
++# endif
++#endif
++
++
++/*************************************************************************
++ * Compiler dependent definitions
++ */
++
++/* Support for long long */
++#ifndef __cplusplus
++# if !defined(USE_LONGLONG)
++# if defined(TRIO_COMPILER_GCC) && !defined(__STRICT_ANSI__)
++# define USE_LONGLONG
++# else
++# if defined(TRIO_COMPILER_SUNPRO)
++# define USE_LONGLONG
++# else
++# if defined(TRIO_COMPILER_MSVC) && (_MSC_VER >= 1400)
++# define USE_LONGLONG
++# else
++# if defined(_LONG_LONG) || defined(_LONGLONG)
++# define USE_LONGLONG
++# endif
++# endif
++# endif
++# endif
++# endif
++#endif
++
++/* The extra long numbers */
++#if defined(USE_LONGLONG)
++typedef signed long long int trio_longlong_t;
++typedef unsigned long long int trio_ulonglong_t;
++#else
++# if defined(TRIO_COMPILER_SUPPORTS_VISUALC_INT)
++typedef signed __int64 trio_longlong_t;
++typedef unsigned __int64 trio_ulonglong_t;
++# else
++typedef TRIO_SIGNED long int trio_longlong_t;
++typedef unsigned long int trio_ulonglong_t;
++# endif
++#endif
++
++/* Maximal and fixed integer types */
++#if defined(PREDEF_STANDARD_C99)
++# include <stdint.h>
++typedef intmax_t trio_intmax_t;
++typedef uintmax_t trio_uintmax_t;
++typedef int8_t trio_int8_t;
++typedef int16_t trio_int16_t;
++typedef int32_t trio_int32_t;
++typedef int64_t trio_int64_t;
++#else
++# if defined(PREDEF_STANDARD_UNIX98)
++# include <inttypes.h>
++typedef intmax_t trio_intmax_t;
++typedef uintmax_t trio_uintmax_t;
++typedef int8_t trio_int8_t;
++typedef int16_t trio_int16_t;
++typedef int32_t trio_int32_t;
++typedef int64_t trio_int64_t;
++# else
++# if defined(TRIO_COMPILER_SUPPORTS_VISUALC_INT)
++typedef trio_longlong_t trio_intmax_t;
++typedef trio_ulonglong_t trio_uintmax_t;
++typedef __int8 trio_int8_t;
++typedef __int16 trio_int16_t;
++typedef __int32 trio_int32_t;
++typedef __int64 trio_int64_t;
++# else
++typedef trio_longlong_t trio_intmax_t;
++typedef trio_ulonglong_t trio_uintmax_t;
++# if defined(TRIO_INT8_T)
++typedef TRIO_INT8_T trio_int8_t;
++# else
++typedef TRIO_SIGNED char trio_int8_t;
++# endif
++# if defined(TRIO_INT16_T)
++typedef TRIO_INT16_T trio_int16_t;
++# else
++typedef TRIO_SIGNED short trio_int16_t;
++# endif
++# if defined(TRIO_INT32_T)
++typedef TRIO_INT32_T trio_int32_t;
++# else
++typedef TRIO_SIGNED int trio_int32_t;
++# endif
++# if defined(TRIO_INT64_T)
++typedef TRIO_INT64_T trio_int64_t;
++# else
++typedef trio_longlong_t trio_int64_t;
++# endif
++# endif
++# endif
++#endif
++
++#if defined(HAVE_FLOORL)
++# define trio_floor(x) floorl((x))
++#else
++# define trio_floor(x) floor((double)(x))
++#endif
++
++#if defined(HAVE_CEILL)
++# define trio_ceil(x) ceill((x))
++#else
++# define trio_ceil(x) ceil((double)(x))
++#endif
++
++#if defined(HAVE_FMODL)
++# define trio_fmod(x,y) fmodl((x),(y))
++#else
++# define trio_fmod(x,y) fmod((double)(x),(double)(y))
++#endif
++
++#if defined(HAVE_POWL)
++# define trio_pow(x,y) powl((x),(y))
++#else
++# define trio_pow(x,y) pow((double)(x),(double)(y))
++#endif
++
++#if defined(HAVE_LOG10L)
++# define trio_log10(x) log10l((x))
++#else
++# define trio_log10(x) log10((double)(x))
++#endif
++
++#if TRIO_FEATURE_FLOAT
++# define TRIO_FABS(x) (((x) < 0.0) ? -(x) : (x))
++#endif
++
++/*************************************************************************
++ * Internal Definitions
++ */
++
++#if TRIO_FEATURE_FLOAT
++
++# if !defined(DECIMAL_DIG)
++# define DECIMAL_DIG DBL_DIG
++# endif
++
++/* Long double sizes */
++# ifdef LDBL_DIG
++# define MAX_MANTISSA_DIGITS LDBL_DIG
++# define MAX_EXPONENT_DIGITS 4
++# define MAX_DOUBLE_DIGITS LDBL_MAX_10_EXP
++# else
++# define MAX_MANTISSA_DIGITS DECIMAL_DIG
++# define MAX_EXPONENT_DIGITS 3
++# define MAX_DOUBLE_DIGITS DBL_MAX_10_EXP
++# endif
++
++# if defined(TRIO_COMPILER_ANCIENT) || !defined(LDBL_DIG)
++# undef LDBL_DIG
++# undef LDBL_MANT_DIG
++# undef LDBL_EPSILON
++# define LDBL_DIG DBL_DIG
++# define LDBL_MANT_DIG DBL_MANT_DIG
++# define LDBL_EPSILON DBL_EPSILON
++# endif
++
++#endif /* TRIO_FEATURE_FLOAT */
++
++/* The maximal number of digits is for base 2 */
++#define MAX_CHARS_IN(x) (sizeof(x) * CHAR_BIT)
++/* The width of a pointer. The number of bits in a hex digit is 4 */
++#define POINTER_WIDTH ((sizeof("0x") - 1) + sizeof(trio_pointer_t) * CHAR_BIT / 4)
++
++#if TRIO_FEATURE_FLOAT
++/* Infinite and Not-A-Number for floating-point */
++# define INFINITE_LOWER "inf"
++# define INFINITE_UPPER "INF"
++# define LONG_INFINITE_LOWER "infinite"
++# define LONG_INFINITE_UPPER "INFINITE"
++# define NAN_LOWER "nan"
++# define NAN_UPPER "NAN"
++#endif
++
++/* Various constants */
++enum {
++ TYPE_PRINT = 1,
++#if TRIO_FEATURE_SCANF
++ TYPE_SCAN = 2,
++#endif
++
++ /* Flags. FLAGS_LAST must be less than ULONG_MAX */
++ FLAGS_NEW = 0,
++ FLAGS_STICKY = 1,
++ FLAGS_SPACE = 2 * FLAGS_STICKY,
++ FLAGS_SHOWSIGN = 2 * FLAGS_SPACE,
++ FLAGS_LEFTADJUST = 2 * FLAGS_SHOWSIGN,
++ FLAGS_ALTERNATIVE = 2 * FLAGS_LEFTADJUST,
++ FLAGS_SHORT = 2 * FLAGS_ALTERNATIVE,
++ FLAGS_SHORTSHORT = 2 * FLAGS_SHORT,
++ FLAGS_LONG = 2 * FLAGS_SHORTSHORT,
++ FLAGS_QUAD = 2 * FLAGS_LONG,
++ FLAGS_LONGDOUBLE = 2 * FLAGS_QUAD,
++ FLAGS_SIZE_T = 2 * FLAGS_LONGDOUBLE,
++ FLAGS_PTRDIFF_T = 2 * FLAGS_SIZE_T,
++ FLAGS_INTMAX_T = 2 * FLAGS_PTRDIFF_T,
++ FLAGS_NILPADDING = 2 * FLAGS_INTMAX_T,
++ FLAGS_UNSIGNED = 2 * FLAGS_NILPADDING,
++ FLAGS_UPPER = 2 * FLAGS_UNSIGNED,
++ FLAGS_WIDTH = 2 * FLAGS_UPPER,
++ FLAGS_WIDTH_PARAMETER = 2 * FLAGS_WIDTH,
++ FLAGS_PRECISION = 2 * FLAGS_WIDTH_PARAMETER,
++ FLAGS_PRECISION_PARAMETER = 2 * FLAGS_PRECISION,
++ FLAGS_BASE = 2 * FLAGS_PRECISION_PARAMETER,
++ FLAGS_BASE_PARAMETER = 2 * FLAGS_BASE,
++ FLAGS_FLOAT_E = 2 * FLAGS_BASE_PARAMETER,
++ FLAGS_FLOAT_G = 2 * FLAGS_FLOAT_E,
++ FLAGS_QUOTE = 2 * FLAGS_FLOAT_G,
++ FLAGS_WIDECHAR = 2 * FLAGS_QUOTE,
++ FLAGS_IGNORE = 2 * FLAGS_WIDECHAR,
++ FLAGS_IGNORE_PARAMETER = 2 * FLAGS_IGNORE,
++ FLAGS_VARSIZE_PARAMETER = 2 * FLAGS_IGNORE_PARAMETER,
++ FLAGS_FIXED_SIZE = 2 * FLAGS_VARSIZE_PARAMETER,
++ FLAGS_LAST = FLAGS_FIXED_SIZE,
++ /* Reused flags */
++ FLAGS_EXCLUDE = FLAGS_SHORT,
++ FLAGS_USER_DEFINED = FLAGS_IGNORE,
++ FLAGS_USER_DEFINED_PARAMETER = FLAGS_IGNORE_PARAMETER,
++ FLAGS_ROUNDING = FLAGS_INTMAX_T,
++ /* Compounded flags */
++ FLAGS_ALL_VARSIZES = FLAGS_LONG | FLAGS_QUAD | FLAGS_INTMAX_T | FLAGS_PTRDIFF_T | FLAGS_SIZE_T,
++ FLAGS_ALL_SIZES = FLAGS_ALL_VARSIZES | FLAGS_SHORTSHORT | FLAGS_SHORT,
++
++ NO_POSITION = -1,
++ NO_WIDTH = 0,
++ NO_PRECISION = -1,
++ NO_SIZE = -1,
++
++ /* Do not change these */
++ NO_BASE = -1,
++ MIN_BASE = 2,
++ MAX_BASE = 36,
++ BASE_BINARY = 2,
++ BASE_OCTAL = 8,
++ BASE_DECIMAL = 10,
++ BASE_HEX = 16,
++
++ /* Maximal number of allowed parameters */
++ MAX_PARAMETERS = 64,
++ /* Maximal number of characters in class */
++ MAX_CHARACTER_CLASS = UCHAR_MAX + 1,
++
++#if TRIO_FEATURE_USER_DEFINED
++ /* Maximal string lengths for user-defined specifiers */
++ MAX_USER_NAME = 64,
++ MAX_USER_DATA = 256,
++#endif
++
++ /* Maximal length of locale separator strings */
++ MAX_LOCALE_SEPARATOR_LENGTH = MB_LEN_MAX,
++ /* Maximal number of integers in grouping */
++ MAX_LOCALE_GROUPS = 64
++};
++
++#define NO_GROUPING ((int)CHAR_MAX)
++
++/* Fundamental formatting parameter types */
++#define FORMAT_SENTINEL -1 /* marks end of parameters array */
++#define FORMAT_UNKNOWN 0
++#define FORMAT_INT 1
++#define FORMAT_DOUBLE 2
++#define FORMAT_CHAR 3
++#define FORMAT_STRING 4
++#define FORMAT_POINTER 5
++#define FORMAT_COUNT 6
++#define FORMAT_PARAMETER 7
++#define FORMAT_GROUP 8
++#define FORMAT_ERRNO 9
++#define FORMAT_USER_DEFINED 10
++
++/* Character constants */
++#define CHAR_IDENTIFIER '%'
++#define CHAR_ALT_IDENTIFIER '$'
++#define CHAR_BACKSLASH '\\'
++#define CHAR_QUOTE '\"'
++#define CHAR_ADJUST ' '
++
++#if TRIO_EXTENSION
++/* Character class expressions */
++# define CLASS_ALNUM "[:alnum:]"
++# define CLASS_ALPHA "[:alpha:]"
++# define CLASS_BLANK "[:blank:]"
++# define CLASS_CNTRL "[:cntrl:]"
++# define CLASS_DIGIT "[:digit:]"
++# define CLASS_GRAPH "[:graph:]"
++# define CLASS_LOWER "[:lower:]"
++# define CLASS_PRINT "[:print:]"
++# define CLASS_PUNCT "[:punct:]"
++# define CLASS_SPACE "[:space:]"
++# define CLASS_UPPER "[:upper:]"
++# define CLASS_XDIGIT "[:xdigit:]"
++#endif
++
++/*
++ * SPECIFIERS:
++ *
++ *
++ * a Hex-float
++ * A Hex-float
++ * c Character
++ * C Widechar character (wint_t)
++ * d Decimal
++ * e Float
++ * E Float
++ * F Float
++ * F Float
++ * g Float
++ * G Float
++ * i Integer
++ * m Error message
++ * n Count
++ * o Octal
++ * p Pointer
++ * s String
++ * S Widechar string (wchar_t *)
++ * u Unsigned
++ * x Hex
++ * X Hex
++ * [] Group
++ * <> User-defined
++ *
++ * Reserved:
++ *
++ * D Binary Coded Decimal %D(length,precision) (OS/390)
++ */
++#define SPECIFIER_CHAR 'c'
++#define SPECIFIER_STRING 's'
++#define SPECIFIER_DECIMAL 'd'
++#define SPECIFIER_INTEGER 'i'
++#define SPECIFIER_UNSIGNED 'u'
++#define SPECIFIER_OCTAL 'o'
++#define SPECIFIER_HEX 'x'
++#define SPECIFIER_HEX_UPPER 'X'
++#if TRIO_FEATURE_FLOAT
++# define SPECIFIER_FLOAT_E 'e'
++# define SPECIFIER_FLOAT_E_UPPER 'E'
++# define SPECIFIER_FLOAT_F 'f'
++# define SPECIFIER_FLOAT_F_UPPER 'F'
++# define SPECIFIER_FLOAT_G 'g'
++# define SPECIFIER_FLOAT_G_UPPER 'G'
++#endif
++#define SPECIFIER_POINTER 'p'
++#if TRIO_FEATURE_SCANF
++# define SPECIFIER_GROUP '['
++# define SPECIFIER_UNGROUP ']'
++#endif
++#define SPECIFIER_COUNT 'n'
++#if TRIO_UNIX98
++# define SPECIFIER_CHAR_UPPER 'C'
++# define SPECIFIER_STRING_UPPER 'S'
++#endif
++#define SPECIFIER_HEXFLOAT 'a'
++#define SPECIFIER_HEXFLOAT_UPPER 'A'
++#define SPECIFIER_ERRNO 'm'
++#if TRIO_FEATURE_BINARY
++# define SPECIFIER_BINARY 'b'
++# define SPECIFIER_BINARY_UPPER 'B'
++#endif
++#if TRIO_FEATURE_USER_DEFINED
++# define SPECIFIER_USER_DEFINED_BEGIN '<'
++# define SPECIFIER_USER_DEFINED_END '>'
++# define SPECIFIER_USER_DEFINED_SEPARATOR ':'
++# define SPECIFIER_USER_DEFINED_EXTRA '|'
++#endif
++
++/*
++ * QUALIFIERS:
++ *
++ *
++ * Numbers = d,i,o,u,x,X
++ * Float = a,A,e,E,f,F,g,G
++ * String = s
++ * Char = c
++ *
++ *
++ * 9$ Position
++ * Use the 9th parameter. 9 can be any number between 1 and
++ * the maximal argument
++ *
++ * 9 Width
++ * Set width to 9. 9 can be any number, but must not be postfixed
++ * by '$'
++ *
++ * h Short
++ * Numbers:
++ * (unsigned) short int
++ *
++ * hh Short short
++ * Numbers:
++ * (unsigned) char
++ *
++ * l Long
++ * Numbers:
++ * (unsigned) long int
++ * String:
++ * as the S specifier
++ * Char:
++ * as the C specifier
++ *
++ * ll Long Long
++ * Numbers:
++ * (unsigned) long long int
++ *
++ * L Long Double
++ * Float
++ * long double
++ *
++ * # Alternative
++ * Float:
++ * Decimal-point is always present
++ * String:
++ * non-printable characters are handled as \number
++ *
++ * Spacing
++ *
++ * + Sign
++ *
++ * - Alignment
++ *
++ * . Precision
++ *
++ * * Parameter
++ * print: use parameter
++ * scan: no parameter (ignore)
++ *
++ * q Quad
++ *
++ * Z size_t
++ *
++ * w Widechar
++ *
++ * ' Thousands/quote
++ * Numbers:
++ * Integer part grouped in thousands
++ * Binary numbers:
++ * Number grouped in nibbles (4 bits)
++ * String:
++ * Quoted string
++ *
++ * j intmax_t
++ * t prtdiff_t
++ * z size_t
++ *
++ * ! Sticky
++ * @ Parameter (for both print and scan)
++ *
++ * I n-bit Integer
++ * Numbers:
++ * The following options exists
++ * I8 = 8-bit integer
++ * I16 = 16-bit integer
++ * I32 = 32-bit integer
++ * I64 = 64-bit integer
++ */
++#define QUALIFIER_POSITION '$'
++#define QUALIFIER_SHORT 'h'
++#define QUALIFIER_LONG 'l'
++#define QUALIFIER_LONG_UPPER 'L'
++#define QUALIFIER_ALTERNATIVE '#'
++#define QUALIFIER_SPACE ' '
++#define QUALIFIER_PLUS '+'
++#define QUALIFIER_MINUS '-'
++#define QUALIFIER_DOT '.'
++#define QUALIFIER_STAR '*'
++#define QUALIFIER_CIRCUMFLEX '^' /* For scanlists */
++#define QUALIFIER_SIZE_T 'z'
++#define QUALIFIER_PTRDIFF_T 't'
++#define QUALIFIER_INTMAX_T 'j'
++#define QUALIFIER_QUAD 'q'
++#define QUALIFIER_SIZE_T_UPPER 'Z'
++#if TRIO_MISC
++# define QUALIFIER_WIDECHAR 'w'
++#endif
++#define QUALIFIER_FIXED_SIZE 'I'
++#define QUALIFIER_QUOTE '\''
++#define QUALIFIER_STICKY '!'
++#define QUALIFIER_VARSIZE '&' /* This should remain undocumented */
++#define QUALIFIER_ROUNDING_UPPER 'R'
++#if TRIO_EXTENSION
++# define QUALIFIER_PARAM '@' /* Experimental */
++# define QUALIFIER_COLON ':' /* For scanlists */
++# define QUALIFIER_EQUAL '=' /* For scanlists */
++#endif
++
++
++/*************************************************************************
++ *
++ * Internal Structures
++ *
++ *************************************************************************/
++
++/* Parameters */
++typedef struct {
++ /* An indication of which entry in the data union is used */
++ int type;
++ /* The flags */
++ trio_flags_t flags;
++ /* The width qualifier */
++ int width;
++ /* The precision qualifier */
++ int precision;
++ /* The base qualifier */
++ int base;
++ /* Base from specifier */
++ int baseSpecifier;
++ /* The size for the variable size qualifier */
++ int varsize;
++ /* Offset of the first character of the specifier */
++ int beginOffset;
++ /* Offset of the first character after the specifier */
++ int endOffset;
++ /* Position in the argument list that this parameter refers to */
++ int position;
++ /* The data from the argument list */
++ union {
++ char *string;
++#if TRIO_FEATURE_WIDECHAR
++ trio_wchar_t *wstring;
++#endif
++ trio_pointer_t pointer;
++ union {
++ trio_intmax_t as_signed;
++ trio_uintmax_t as_unsigned;
++ } number;
++#if TRIO_FEATURE_FLOAT
++ double doubleNumber;
++ double *doublePointer;
++ trio_long_double_t longdoubleNumber;
++ trio_long_double_t *longdoublePointer;
++#endif
++ int errorNumber;
++ } data;
++#if TRIO_FEATURE_USER_DEFINED
++ /* For the user-defined specifier */
++ union {
++ char namespace[MAX_USER_NAME];
++ int handler; /* if flags & FLAGS_USER_DEFINED_PARAMETER */
++ } user_defined;
++ char user_data[MAX_USER_DATA];
++#endif
++} trio_parameter_t;
++
++/* Container for customized functions */
++typedef struct {
++ union {
++ trio_outstream_t out;
++ trio_instream_t in;
++ } stream;
++ trio_pointer_t closure;
++} trio_custom_t;
++
++/* General trio "class" */
++typedef struct _trio_class_t {
++ /*
++ * The function to write characters to a stream.
++ */
++ void (*OutStream) TRIO_PROTO((struct _trio_class_t *, int));
++ /*
++ * The function to read characters from a stream.
++ */
++ void (*InStream) TRIO_PROTO((struct _trio_class_t *, int *));
++ /*
++ * The function to undo read characters from a stream.
++ */
++ void (*UndoStream) TRIO_PROTO((struct _trio_class_t *));
++ /*
++ * The current location in the stream.
++ */
++ trio_pointer_t location;
++ /*
++ * The character currently being processed.
++ */
++ int current;
++ /*
++ * The number of characters that would have been written/read
++ * if there had been sufficient space.
++ */
++ int processed;
++ union {
++ /*
++ * The number of characters that are actually written. Processed and
++ * committed will only differ for the *nprintf functions.
++ */
++ int committed;
++ /*
++ * The number of look-ahead characters read.
++ */
++ int cached;
++ } actually;
++ /*
++ * The upper limit of characters that may be written/read.
++ */
++ int max;
++ /*
++ * The last output error that was detected.
++ */
++ int error;
++} trio_class_t;
++
++/* References (for user-defined callbacks) */
++typedef struct _trio_reference_t {
++ trio_class_t *data;
++ trio_parameter_t *parameter;
++} trio_reference_t;
++
++#if TRIO_FEATURE_USER_DEFINED
++/* Registered entries (for user-defined callbacks) */
++typedef struct _trio_userdef_t {
++ struct _trio_userdef_t *next;
++ trio_callback_t callback;
++ char *name;
++} trio_userdef_t;
++#endif
++
++/*************************************************************************
++ *
++ * Internal Variables
++ *
++ *************************************************************************/
++
++static TRIO_CONST char rcsid[] = "@(#)$Id: trio.c,v 1.129 2009/09/20 11:37:15 breese Exp $";
++
++#if TRIO_FEATURE_FLOAT
++/*
++ * Need this to workaround a parser bug in HP C/iX compiler that fails
++ * to resolves macro definitions that includes type 'long double',
++ * e.g: va_arg(arg_ptr, long double)
++ */
++# if defined(TRIO_PLATFORM_MPEIX)
++static TRIO_CONST trio_long_double_t ___dummy_long_double = 0;
++# endif
++#endif
++
++static TRIO_CONST char internalNullString[] = "(nil)";
++
++#if defined(USE_LOCALE)
++static struct lconv *internalLocaleValues = NULL;
++#endif
++
++/*
++ * UNIX98 says "in a locale where the radix character is not defined,
++ * the radix character defaults to a period (.)"
++ */
++#if TRIO_FEATURE_FLOAT || TRIO_FEATURE_LOCALE || defined(USE_LOCALE)
++static int internalDecimalPointLength = 1;
++static char internalDecimalPoint = '.';
++static char internalDecimalPointString[MAX_LOCALE_SEPARATOR_LENGTH + 1] = ".";
++#endif
++#if TRIO_FEATURE_QUOTE || TRIO_FEATURE_LOCALE || TRIO_EXTENSION
++static int internalThousandSeparatorLength = 1;
++static char internalThousandSeparator[MAX_LOCALE_SEPARATOR_LENGTH + 1] = ",";
++static char internalGrouping[MAX_LOCALE_GROUPS] = { (char)NO_GROUPING };
++#endif
++
++static TRIO_CONST char internalDigitsLower[] = "0123456789abcdefghijklmnopqrstuvwxyz";
++static TRIO_CONST char internalDigitsUpper[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
++#if TRIO_FEATURE_SCANF
++static BOOLEAN_T internalDigitsUnconverted = TRUE;
++static int internalDigitArray[128];
++# if TRIO_EXTENSION
++static BOOLEAN_T internalCollationUnconverted = TRUE;
++static char internalCollationArray[MAX_CHARACTER_CLASS][MAX_CHARACTER_CLASS];
++# endif
++#endif
++
++#if TRIO_FEATURE_USER_DEFINED
++static TRIO_VOLATILE trio_callback_t internalEnterCriticalRegion = NULL;
++static TRIO_VOLATILE trio_callback_t internalLeaveCriticalRegion = NULL;
++static trio_userdef_t *internalUserDef = NULL;
++#endif
++
++
++/*************************************************************************
++ *
++ * Internal Functions
++ *
++ ************************************************************************/
++
++#if defined(TRIO_EMBED_NAN)
++# include "trionan.c"
++#endif
++
++#if defined(TRIO_EMBED_STRING)
++# include "triostr.c"
++#endif
++
++/*************************************************************************
++ * TrioInitializeParameter
++ *
++ * Description:
++ * Initialize a trio_parameter_t struct.
++ */
++TRIO_PRIVATE void
++TrioInitializeParameter
++TRIO_ARGS1((parameter),
++ trio_parameter_t *parameter)
++{
++ parameter->type = FORMAT_UNKNOWN;
++ parameter->flags = 0;
++ parameter->width = 0;
++ parameter->precision = 0;
++ parameter->base = 0;
++ parameter->baseSpecifier = 0;
++ parameter->varsize = 0;
++ parameter->beginOffset = 0;
++ parameter->endOffset = 0;
++ parameter->position = 0;
++ parameter->data.pointer = 0;
++#if TRIO_FEATURE_USER_DEFINED
++ parameter->user_defined.handler = 0;
++ parameter->user_data[0] = 0;
++#endif
++}
++
++/*************************************************************************
++ * TrioCopyParameter
++ *
++ * Description:
++ * Copies one trio_parameter_t struct to another.
++ */
++TRIO_PRIVATE void
++TrioCopyParameter
++TRIO_ARGS2((target, source),
++ trio_parameter_t *target,
++ TRIO_CONST trio_parameter_t *source)
++{
++#if TRIO_FEATURE_USER_DEFINED
++ size_t i;
++#endif
++
++ target->type = source->type;
++ target->flags = source->flags;
++ target->width = source->width;
++ target->precision = source->precision;
++ target->base = source->base;
++ target->baseSpecifier = source->baseSpecifier;
++ target->varsize = source->varsize;
++ target->beginOffset = source->beginOffset;
++ target->endOffset = source->endOffset;
++ target->position = source->position;
++ target->data = source->data;
++
++#if TRIO_FEATURE_USER_DEFINED
++ target->user_defined = source->user_defined;
++
++ for (i = 0U; i < sizeof(target->user_data); ++i)
++ {
++ if ((target->user_data[i] = source->user_data[i]) == NIL)
++ break;
++ }
++#endif
++}
++
++/*************************************************************************
++ * TrioIsQualifier
++ *
++ * Description:
++ * Remember to add all new qualifiers to this function.
++ * QUALIFIER_POSITION must not be added.
++ */
++TRIO_PRIVATE BOOLEAN_T
++TrioIsQualifier
++TRIO_ARGS1((character),
++ TRIO_CONST char character)
++{
++ /* QUALIFIER_POSITION is not included */
++ switch (character)
++ {
++ case '0': case '1': case '2': case '3': case '4':
++ case '5': case '6': case '7': case '8': case '9':
++ case QUALIFIER_PLUS:
++ case QUALIFIER_MINUS:
++ case QUALIFIER_SPACE:
++ case QUALIFIER_DOT:
++ case QUALIFIER_STAR:
++ case QUALIFIER_ALTERNATIVE:
++ case QUALIFIER_SHORT:
++ case QUALIFIER_LONG:
++ case QUALIFIER_CIRCUMFLEX:
++ case QUALIFIER_LONG_UPPER:
++ case QUALIFIER_SIZE_T:
++ case QUALIFIER_PTRDIFF_T:
++ case QUALIFIER_INTMAX_T:
++ case QUALIFIER_QUAD:
++ case QUALIFIER_SIZE_T_UPPER:
++#if defined(QUALIFIER_WIDECHAR)
++ case QUALIFIER_WIDECHAR:
++#endif
++ case QUALIFIER_QUOTE:
++ case QUALIFIER_STICKY:
++ case QUALIFIER_VARSIZE:
++#if defined(QUALIFIER_PARAM)
++ case QUALIFIER_PARAM:
++#endif
++ case QUALIFIER_FIXED_SIZE:
++ case QUALIFIER_ROUNDING_UPPER:
++ return TRUE;
++ default:
++ return FALSE;
++ }
++}
++
++/*************************************************************************
++ * TrioSetLocale
++ */
++#if defined(USE_LOCALE)
++TRIO_PRIVATE void
++TrioSetLocale(TRIO_NOARGS)
++{
++ internalLocaleValues = (struct lconv *)localeconv();
++ if (internalLocaleValues)
++ {
++ if ((internalLocaleValues->decimal_point) &&
++ (internalLocaleValues->decimal_point[0] != NIL))
++ {
++ internalDecimalPointLength = trio_length(internalLocaleValues->decimal_point);
++ if (internalDecimalPointLength == 1)
++ {
++ internalDecimalPoint = internalLocaleValues->decimal_point[0];
++ }
++ else
++ {
++ internalDecimalPoint = NIL;
++ trio_copy_max(internalDecimalPointString,
++ sizeof(internalDecimalPointString),
++ internalLocaleValues->decimal_point);
++ }
++ }
++# if TRIO_EXTENSION
++ if ((internalLocaleValues->thousands_sep) &&
++ (internalLocaleValues->thousands_sep[0] != NIL))
++ {
++ trio_copy_max(internalThousandSeparator,
++ sizeof(internalThousandSeparator),
++ internalLocaleValues->thousands_sep);
++ internalThousandSeparatorLength = trio_length(internalThousandSeparator);
++ }
++# endif
++# if TRIO_EXTENSION
++ if ((internalLocaleValues->grouping) &&
++ (internalLocaleValues->grouping[0] != NIL))
++ {
++ trio_copy_max(internalGrouping,
++ sizeof(internalGrouping),
++ internalLocaleValues->grouping);
++ }
++# endif
++ }
++}
++#endif /* defined(USE_LOCALE) */
++
++#if TRIO_FEATURE_FLOAT && TRIO_FEATURE_QUOTE
++TRIO_PRIVATE int
++TrioCalcThousandSeparatorLength
++TRIO_ARGS1((digits),
++ int digits)
++{
++ int count = 0;
++ int step = NO_GROUPING;
++ char *groupingPointer = internalGrouping;
++
++ while (digits > 0)
++ {
++ if (*groupingPointer == CHAR_MAX)
++ {
++ /* Disable grouping */
++ break; /* while */
++ }
++ else if (*groupingPointer == 0)
++ {
++ /* Repeat last group */
++ if (step == NO_GROUPING)
++ {
++ /* Error in locale */
++ break; /* while */
++ }
++ }
++ else
++ {
++ step = *groupingPointer++;
++ }
++ if (digits > step)
++ count += internalThousandSeparatorLength;
++ digits -= step;
++ }
++ return count;
++}
++#endif /* TRIO_FEATURE_FLOAT && TRIO_FEATURE_QUOTE */
++
++#if TRIO_FEATURE_QUOTE
++TRIO_PRIVATE BOOLEAN_T
++TrioFollowedBySeparator
++TRIO_ARGS1((position),
++ int position)
++{
++ int step = 0;
++ char *groupingPointer = internalGrouping;
++
++ position--;
++ if (position == 0)
++ return FALSE;
++ while (position > 0)
++ {
++ if (*groupingPointer == CHAR_MAX)
++ {
++ /* Disable grouping */
++ break; /* while */
++ }
++ else if (*groupingPointer != 0)
++ {
++ step = *groupingPointer++;
++ }
++ if (step == 0)
++ break;
++ position -= step;
++ }
++ return (position == 0);
++}
++#endif /* TRIO_FEATURE_QUOTE */
++
++/*************************************************************************
++ * TrioGetPosition
++ *
++ * Get the %n$ position.
++ */
++TRIO_PRIVATE int
++TrioGetPosition
++TRIO_ARGS2((format, offsetPointer),
++ TRIO_CONST char *format,
++ int *offsetPointer)
++{
++#if TRIO_FEATURE_POSITIONAL
++ char *tmpformat;
++ int number = 0;
++ int offset = *offsetPointer;
++
++ number = (int)trio_to_long(&format[offset], &tmpformat, BASE_DECIMAL);
++ offset = (int)(tmpformat - format);
++ if ((number != 0) && (QUALIFIER_POSITION == format[offset++]))
++ {
++ *offsetPointer = offset;
++ /*
++ * number is decreased by 1, because n$ starts from 1, whereas
++ * the array it is indexing starts from 0.
++ */
++ return number - 1;
++ }
++#endif
++ return NO_POSITION;
++}
++
++/*************************************************************************
++ * TrioFindNamespace
++ *
++ * Find registered user-defined specifier.
++ * The prev argument is used for optimization only.
++ */
++#if TRIO_FEATURE_USER_DEFINED
++TRIO_PRIVATE trio_userdef_t *
++TrioFindNamespace
++TRIO_ARGS2((name, prev),
++ TRIO_CONST char *name,
++ trio_userdef_t **prev)
++{
++ trio_userdef_t *def;
++
++ if (internalEnterCriticalRegion)
++ (void)internalEnterCriticalRegion(NULL);
++
++ for (def = internalUserDef; def; def = def->next)
++ {
++ /* Case-sensitive string comparison */
++ if (trio_equal_case(def->name, name))
++ break;
++
++ if (prev)
++ *prev = def;
++ }
++
++ if (internalLeaveCriticalRegion)
++ (void)internalLeaveCriticalRegion(NULL);
++
++ return def;
++}
++#endif
++
++/*************************************************************************
++ * TrioPower
++ *
++ * Description:
++ * Calculate pow(base, exponent), where number and exponent are integers.
++ */
++#if TRIO_FEATURE_FLOAT
++TRIO_PRIVATE trio_long_double_t
++TrioPower
++TRIO_ARGS2((number, exponent),
++ int number,
++ int exponent)
++{
++ trio_long_double_t result;
++
++ if (number == 10)
++ {
++ switch (exponent)
++ {
++ /* Speed up calculation of common cases */
++ case 0:
++ result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E-1);
++ break;
++ case 1:
++ result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+0);
++ break;
++ case 2:
++ result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+1);
++ break;
++ case 3:
++ result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+2);
++ break;
++ case 4:
++ result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+3);
++ break;
++ case 5:
++ result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+4);
++ break;
++ case 6:
++ result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+5);
++ break;
++ case 7:
++ result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+6);
++ break;
++ case 8:
++ result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+7);
++ break;
++ case 9:
++ result = (trio_long_double_t)number * TRIO_SUFFIX_LONG(1E+8);
++ break;
++ default:
++ result = trio_pow((trio_long_double_t)number,
++ (trio_long_double_t)exponent);
++ break;
++ }
++ }
++ else
++ {
++ return trio_pow((trio_long_double_t)number,
++ (trio_long_double_t)exponent);
++ }
++ return result;
++}
++#endif /* TRIO_FEATURE_FLOAT */
++
++/*************************************************************************
++ * TrioLogarithm
++ */
++#if TRIO_FEATURE_FLOAT
++TRIO_PRIVATE trio_long_double_t
++TrioLogarithm
++TRIO_ARGS2((number, base),
++ trio_long_double_t number,
++ int base)
++{
++ trio_long_double_t result;
++
++ if (number <= 0.0)
++ {
++ /* xlC crashes on log(0) */
++ result = (number == 0.0) ? trio_ninf() : trio_nan();
++ }
++ else
++ {
++ if (base == 10)
++ {
++ result = trio_log10(number);
++ }
++ else
++ {
++ result = trio_log10(number) / trio_log10((double)base);
++ }
++ }
++ return result;
++}
++#endif /* TRIO_FEATURE_FLOAT */
++
++/*************************************************************************
++ * TrioLogarithmBase
++ */
++#if TRIO_FEATURE_FLOAT
++TRIO_PRIVATE double
++TrioLogarithmBase
++TRIO_ARGS1((base),
++ int base)
++{
++ switch (base)
++ {
++ case BASE_BINARY : return 1.0;
++ case BASE_OCTAL : return 3.0;
++ case BASE_DECIMAL: return 3.321928094887362345;
++ case BASE_HEX : return 4.0;
++ default : return TrioLogarithm((double)base, 2);
++ }
++}
++#endif /* TRIO_FEATURE_FLOAT */
++
++/*************************************************************************
++ * TrioParseQualifiers
++ *
++ * Description:
++ * Parse the qualifiers of a potential conversion specifier
++ */
++TRIO_PRIVATE int
++TrioParseQualifiers
++TRIO_ARGS4((type, format, offset, parameter),
++ int type,
++ TRIO_CONST char *format,
++ int offset,
++ trio_parameter_t *parameter)
++{
++ char ch;
++ int dots = 0; /* Count number of dots in modifier part */
++ char *tmpformat;
++
++ parameter->beginOffset = offset - 1;
++ parameter->flags = FLAGS_NEW;
++ parameter->position = TrioGetPosition(format, &offset);
++
++ /* Default values */
++ parameter->width = NO_WIDTH;
++ parameter->precision = NO_PRECISION;
++ parameter->base = NO_BASE;
++ parameter->varsize = NO_SIZE;
++
++ while (TrioIsQualifier(format[offset]))
++ {
++ ch = format[offset++];
++
++ switch (ch)
++ {
++ case QUALIFIER_SPACE:
++ parameter->flags |= FLAGS_SPACE;
++ break;
++
++ case QUALIFIER_PLUS:
++ parameter->flags |= FLAGS_SHOWSIGN;
++ break;
++
++ case QUALIFIER_MINUS:
++ parameter->flags |= FLAGS_LEFTADJUST;
++ parameter->flags &= ~FLAGS_NILPADDING;
++ break;
++
++ case QUALIFIER_ALTERNATIVE:
++ parameter->flags |= FLAGS_ALTERNATIVE;
++ break;
++
++ case QUALIFIER_DOT:
++ if (dots == 0) /* Precision */
++ {
++ dots++;
++
++ /* Skip if no precision */
++ if (QUALIFIER_DOT == format[offset])
++ break;
++
++ /* After the first dot we have the precision */
++ parameter->flags |= FLAGS_PRECISION;
++ if ((QUALIFIER_STAR == format[offset])
++#if defined(QUALIFIER_PARAM)
++ || (QUALIFIER_PARAM == format[offset])
++#endif
++ )
++ {
++ offset++;
++ parameter->flags |= FLAGS_PRECISION_PARAMETER;
++ parameter->precision = TrioGetPosition(format, &offset);
++ }
++ else
++ {
++ parameter->precision = trio_to_long(&format[offset],
++ &tmpformat,
++ BASE_DECIMAL);
++ offset = (int)(tmpformat - format);
++ }
++ }
++ else if (dots == 1) /* Base */
++ {
++ dots++;
++
++ /* After the second dot we have the base */
++ parameter->flags |= FLAGS_BASE;
++ if ((QUALIFIER_STAR == format[offset])
++#if defined(QUALIFIER_PARAM)
++ || (QUALIFIER_PARAM == format[offset])
++#endif
++ )
++ {
++ offset++;
++ parameter->flags |= FLAGS_BASE_PARAMETER;
++ parameter->base = TrioGetPosition(format, &offset);
++ }
++ else
++ {
++ parameter->base = trio_to_long(&format[offset],
++ &tmpformat,
++ BASE_DECIMAL);
++ if (parameter->base > MAX_BASE)
++ return TRIO_ERROR_RETURN(TRIO_EINVAL, offset);
++ offset = (int)(tmpformat - format);
++ }
++ }
++ else
++ {
++ return TRIO_ERROR_RETURN(TRIO_EINVAL, offset);
++ }
++ break; /* QUALIFIER_DOT */
++
++#if defined(QUALIFIER_PARAM)
++ case QUALIFIER_PARAM:
++ parameter->type = TYPE_PRINT;
++ /* FALLTHROUGH */
++#endif
++ case QUALIFIER_STAR:
++ /* This has different meanings for print and scan */
++ if (TYPE_PRINT == type)
++ {
++ /* Read with from parameter */
++ int width = TrioGetPosition(format, &offset);
++ parameter->flags |= (FLAGS_WIDTH | FLAGS_WIDTH_PARAMETER);
++ if (NO_POSITION != width)
++ parameter->width = width;
++ /* else keep parameter->width = NO_WIDTH which != NO_POSITION */
++ }
++#if TRIO_FEATURE_SCANF
++ else
++ {
++ /* Scan, but do not store result */
++ parameter->flags |= FLAGS_IGNORE;
++ }
++#endif
++ break; /* QUALIFIER_STAR */
++
++ case '0':
++ if (! (parameter->flags & FLAGS_LEFTADJUST))
++ parameter->flags |= FLAGS_NILPADDING;
++ /* FALLTHROUGH */
++ case '1': case '2': case '3': case '4':
++ case '5': case '6': case '7': case '8': case '9':
++ parameter->flags |= FLAGS_WIDTH;
++ /*
++ * &format[offset - 1] is used to "rewind" the read
++ * character from format
++ */
++ parameter->width = trio_to_long(&format[offset - 1],
++ &tmpformat,
++ BASE_DECIMAL);
++ offset = (int)(tmpformat - format);
++ break;
++
++ case QUALIFIER_SHORT:
++ if (parameter->flags & FLAGS_SHORTSHORT)
++ return TRIO_ERROR_RETURN(TRIO_EINVAL, offset);
++ else if (parameter->flags & FLAGS_SHORT)
++ parameter->flags |= FLAGS_SHORTSHORT;
++ else
++ parameter->flags |= FLAGS_SHORT;
++ break;
++
++ case QUALIFIER_LONG:
++ if (parameter->flags & FLAGS_QUAD)
++ return TRIO_ERROR_RETURN(TRIO_EINVAL, offset);
++ else if (parameter->flags & FLAGS_LONG)
++ parameter->flags |= FLAGS_QUAD;
++ else
++ parameter->flags |= FLAGS_LONG;
++ break;
++
++#if TRIO_FEATURE_LONGDOUBLE
++ case QUALIFIER_LONG_UPPER:
++ parameter->flags |= FLAGS_LONGDOUBLE;
++ break;
++#endif
++
++#if TRIO_FEATURE_SIZE_T
++ case QUALIFIER_SIZE_T:
++ parameter->flags |= FLAGS_SIZE_T;
++ /* Modify flags for later truncation of number */
++ if (sizeof(size_t) == sizeof(trio_ulonglong_t))
++ parameter->flags |= FLAGS_QUAD;
++ else if (sizeof(size_t) == sizeof(long))
++ parameter->flags |= FLAGS_LONG;
++ break;
++#endif
++
++#if TRIO_FEATURE_PTRDIFF_T
++ case QUALIFIER_PTRDIFF_T:
++ parameter->flags |= FLAGS_PTRDIFF_T;
++ if (sizeof(ptrdiff_t) == sizeof(trio_ulonglong_t))
++ parameter->flags |= FLAGS_QUAD;
++ else if (sizeof(ptrdiff_t) == sizeof(long))
++ parameter->flags |= FLAGS_LONG;
++ break;
++#endif
++
++#if TRIO_FEATURE_INTMAX_T
++ case QUALIFIER_INTMAX_T:
++ parameter->flags |= FLAGS_INTMAX_T;
++ if (sizeof(trio_intmax_t) == sizeof(trio_ulonglong_t))
++ parameter->flags |= FLAGS_QUAD;
++ else if (sizeof(trio_intmax_t) == sizeof(long))
++ parameter->flags |= FLAGS_LONG;
++ break;
++#endif
++
++#if TRIO_FEATURE_QUAD
++ case QUALIFIER_QUAD:
++ parameter->flags |= FLAGS_QUAD;
++ break;
++#endif
++
++#if TRIO_FEATURE_FIXED_SIZE
++ case QUALIFIER_FIXED_SIZE:
++ if (parameter->flags & FLAGS_FIXED_SIZE)
++ return TRIO_ERROR_RETURN(TRIO_EINVAL, offset);
++
++ if (parameter->flags & (FLAGS_ALL_SIZES |
++ FLAGS_LONGDOUBLE |
++ FLAGS_WIDECHAR |
++ FLAGS_VARSIZE_PARAMETER))
++ return TRIO_ERROR_RETURN(TRIO_EINVAL, offset);
++
++ if ((format[offset] == '6') &&
++ (format[offset + 1] == '4'))
++ {
++ parameter->varsize = sizeof(trio_int64_t);
++ offset += 2;
++ }
++ else if ((format[offset] == '3') &&
++ (format[offset + 1] == '2'))
++ {
++ parameter->varsize = sizeof(trio_int32_t);
++ offset += 2;
++ }
++ else if ((format[offset] == '1') &&
++ (format[offset + 1] == '6'))
++ {
++ parameter->varsize = sizeof(trio_int16_t);
++ offset += 2;
++ }
++ else if (format[offset] == '8')
++ {
++ parameter->varsize = sizeof(trio_int8_t);
++ offset++;
++ }
++ else
++ return TRIO_ERROR_RETURN(TRIO_EINVAL, offset);
++
++ parameter->flags |= FLAGS_FIXED_SIZE;
++ break;
++#endif /* TRIO_FEATURE_FIXED_SIZE */
++
++#if defined(QUALIFIER_WIDECHAR)
++ case QUALIFIER_WIDECHAR:
++ parameter->flags |= FLAGS_WIDECHAR;
++ break;
++#endif
++
++#if TRIO_FEATURE_SIZE_T_UPPER
++ case QUALIFIER_SIZE_T_UPPER:
++ break;
++#endif
++
++#if TRIO_FEATURE_QUOTE
++ case QUALIFIER_QUOTE:
++ parameter->flags |= FLAGS_QUOTE;
++ break;
++#endif
++
++#if TRIO_FEATURE_STICKY
++ case QUALIFIER_STICKY:
++ parameter->flags |= FLAGS_STICKY;
++ break;
++#endif
++
++#if TRIO_FEATURE_VARSIZE
++ case QUALIFIER_VARSIZE:
++ parameter->flags |= FLAGS_VARSIZE_PARAMETER;
++ break;
++#endif
++
++#if TRIO_FEATURE_ROUNDING
++ case QUALIFIER_ROUNDING_UPPER:
++ parameter->flags |= FLAGS_ROUNDING;
++ break;
++#endif
++
++ default:
++ /* Bail out completely to make the error more obvious */
++ return TRIO_ERROR_RETURN(TRIO_EINVAL, offset);
++ }
++ } /* while qualifier */
++
++ parameter->endOffset = offset;
++
++ return 0;
++}
++
++/*************************************************************************
++ * TrioParseSpecifier
++ *
++ * Description:
++ * Parse the specifier part of a potential conversion specifier
++ */
++TRIO_PRIVATE int
++TrioParseSpecifier
++TRIO_ARGS4((type, format, offset, parameter),
++ int type,
++ TRIO_CONST char *format,
++ int offset,
++ trio_parameter_t *parameter)
++{
++ parameter->baseSpecifier = NO_BASE;
++
++ switch (format[offset++])
++ {
++#if defined(SPECIFIER_CHAR_UPPER)
++ case SPECIFIER_CHAR_UPPER:
++ parameter->flags |= FLAGS_WIDECHAR;
++ /* FALLTHROUGH */
++#endif
++ case SPECIFIER_CHAR:
++ if (parameter->flags & FLAGS_LONG)
++ parameter->flags |= FLAGS_WIDECHAR;
++ else if (parameter->flags & FLAGS_SHORT)
++ parameter->flags &= ~FLAGS_WIDECHAR;
++ parameter->type = FORMAT_CHAR;
++ break;
++
++#if defined(SPECIFIER_STRING_UPPER)
++ case SPECIFIER_STRING_UPPER:
++ parameter->flags |= FLAGS_WIDECHAR;
++ /* FALLTHROUGH */
++#endif
++ case SPECIFIER_STRING:
++ if (parameter->flags & FLAGS_LONG)
++ parameter->flags |= FLAGS_WIDECHAR;
++ else if (parameter->flags & FLAGS_SHORT)
++ parameter->flags &= ~FLAGS_WIDECHAR;
++ parameter->type = FORMAT_STRING;
++ break;
++
++#if defined(SPECIFIER_GROUP)
++ case SPECIFIER_GROUP:
++ if (TYPE_SCAN == type)
++ {
++ int depth = 1;
++ parameter->type = FORMAT_GROUP;
++ if (format[offset] == QUALIFIER_CIRCUMFLEX)
++ offset++;
++ if (format[offset] == SPECIFIER_UNGROUP)
++ offset++;
++ if (format[offset] == QUALIFIER_MINUS)
++ offset++;
++ /* Skip nested brackets */
++ while (format[offset] != NIL)
++ {
++ if (format[offset] == SPECIFIER_GROUP)
++ {
++ depth++;
++ }
++ else if (format[offset] == SPECIFIER_UNGROUP)
++ {
++ if (--depth <= 0)
++ {
++ offset++;
++ break;
++ }
++ }
++ offset++;
++ }
++ }
++ break;
++#endif /* defined(SPECIFIER_GROUP) */
++
++ case SPECIFIER_INTEGER:
++ parameter->type = FORMAT_INT;
++ break;
++
++ case SPECIFIER_UNSIGNED:
++ parameter->flags |= FLAGS_UNSIGNED;
++ parameter->type = FORMAT_INT;
++ break;
++
++ case SPECIFIER_DECIMAL:
++ parameter->baseSpecifier = BASE_DECIMAL;
++ parameter->type = FORMAT_INT;
++ break;
++
++ case SPECIFIER_OCTAL:
++ parameter->flags |= FLAGS_UNSIGNED;
++ parameter->baseSpecifier = BASE_OCTAL;
++ parameter->type = FORMAT_INT;
++ break;
++
++#if TRIO_FEATURE_BINARY
++ case SPECIFIER_BINARY_UPPER:
++ parameter->flags |= FLAGS_UPPER;
++ /* FALLTHROUGH */
++ case SPECIFIER_BINARY:
++ parameter->flags |= FLAGS_NILPADDING;
++ parameter->baseSpecifier = BASE_BINARY;
++ parameter->type = FORMAT_INT;
++ break;
++#endif
++
++ case SPECIFIER_HEX_UPPER:
++ parameter->flags |= FLAGS_UPPER;
++ /* FALLTHROUGH */
++ case SPECIFIER_HEX:
++ parameter->flags |= FLAGS_UNSIGNED;
++ parameter->baseSpecifier = BASE_HEX;
++ parameter->type = FORMAT_INT;
++ break;
++
++#if defined(SPECIFIER_FLOAT_E)
++# if defined(SPECIFIER_FLOAT_E_UPPER)
++ case SPECIFIER_FLOAT_E_UPPER:
++ parameter->flags |= FLAGS_UPPER;
++ /* FALLTHROUGH */
++# endif
++ case SPECIFIER_FLOAT_E:
++ parameter->flags |= FLAGS_FLOAT_E;
++ parameter->type = FORMAT_DOUBLE;
++ break;
++#endif
++
++#if defined(SPECIFIER_FLOAT_G)
++# if defined(SPECIFIER_FLOAT_G_UPPER)
++ case SPECIFIER_FLOAT_G_UPPER:
++ parameter->flags |= FLAGS_UPPER;
++ /* FALLTHROUGH */
++# endif
++ case SPECIFIER_FLOAT_G:
++ parameter->flags |= FLAGS_FLOAT_G;
++ parameter->type = FORMAT_DOUBLE;
++ break;
++#endif
++
++#if defined(SPECIFIER_FLOAT_F)
++# if defined(SPECIFIER_FLOAT_F_UPPER)
++ case SPECIFIER_FLOAT_F_UPPER:
++ parameter->flags |= FLAGS_UPPER;
++ /* FALLTHROUGH */
++# endif
++ case SPECIFIER_FLOAT_F:
++ parameter->type = FORMAT_DOUBLE;
++ break;
++#endif
++
++#if defined(TRIO_COMPILER_VISUALC)
++# pragma warning( push )
++# pragma warning( disable : 4127 ) /* Conditional expression is constant */
++#endif
++ case SPECIFIER_POINTER:
++ if (sizeof(trio_pointer_t) == sizeof(trio_ulonglong_t))
++ parameter->flags |= FLAGS_QUAD;
++ else if (sizeof(trio_pointer_t) == sizeof(long))
++ parameter->flags |= FLAGS_LONG;
++ parameter->type = FORMAT_POINTER;
++ break;
++#if defined(TRIO_COMPILER_VISUALC)
++# pragma warning( pop )
++#endif
++
++ case SPECIFIER_COUNT:
++ parameter->type = FORMAT_COUNT;
++ break;
++
++#if TRIO_FEATURE_HEXFLOAT
++ case SPECIFIER_HEXFLOAT_UPPER:
++ parameter->flags |= FLAGS_UPPER;
++ /* FALLTHROUGH */
++ case SPECIFIER_HEXFLOAT:
++ parameter->baseSpecifier = BASE_HEX;
++ parameter->type = FORMAT_DOUBLE;
++ break;
++#endif
++
++#if TRIO_FEATURE_ERRNO
++ case SPECIFIER_ERRNO:
++ parameter->type = FORMAT_ERRNO;
++ break;
++#endif
++
++#if TRIO_FEATURE_USER_DEFINED
++ case SPECIFIER_USER_DEFINED_BEGIN:
++ {
++ unsigned int max;
++ int without_namespace = TRUE;
++ char* tmpformat = (char *)&format[offset];
++ int ch;
++
++ parameter->type = FORMAT_USER_DEFINED;
++ parameter->user_defined.namespace[0] = NIL;
++
++ while ((ch = format[offset]) != NIL)
++ {
++ offset++;
++ if ((ch == SPECIFIER_USER_DEFINED_END) || (ch == SPECIFIER_USER_DEFINED_EXTRA))
++ {
++ if (without_namespace)
++ /* No namespace, handler will be passed as an argument */
++ parameter->flags |= FLAGS_USER_DEFINED_PARAMETER;
++
++ /* Copy the user data */
++ max = (unsigned int)(&format[offset] - tmpformat);
++ if (max > MAX_USER_DATA)
++ max = MAX_USER_DATA;
++ trio_copy_max(parameter->user_data, max, tmpformat);
++
++ /* Skip extra data (which is only there to keep the compiler happy) */
++ while ((ch != NIL) && (ch != SPECIFIER_USER_DEFINED_END))
++ ch = format[offset++];
++
++ break; /* while */
++ }
++
++ if (ch == SPECIFIER_USER_DEFINED_SEPARATOR)
++ {
++ without_namespace = FALSE;
++ /* Copy the namespace for later looking-up */
++ max = (int)(&format[offset] - tmpformat);
++ if (max > MAX_USER_NAME)
++ max = MAX_USER_NAME;
++ trio_copy_max(parameter->user_defined.namespace, max, tmpformat);
++ tmpformat = (char *)&format[offset];
++ }
++ }
++
++ if (ch != SPECIFIER_USER_DEFINED_END)
++ return TRIO_ERROR_RETURN(TRIO_EINVAL, offset);
++ }
++ break;
++#endif /* TRIO_FEATURE_USER_DEFINED */
++
++ default:
++ /* Bail out completely to make the error more obvious */
++ return TRIO_ERROR_RETURN(TRIO_EINVAL, offset);
++ }
++
++ parameter->endOffset = offset;
++
++ return 0;
++}
++
++/*************************************************************************
++ * TrioParse
++ *
++ * Description:
++ * Parse the format string
++ */
++TRIO_PRIVATE int
++TrioParse
++TRIO_ARGS5((type, format, parameters, arglist, argarray),
++ int type,
++ TRIO_CONST char *format,
++ trio_parameter_t *parameters,
++ va_list arglist,
++ trio_pointer_t *argarray)
++{
++ /* Count the number of times a parameter is referenced */
++ unsigned short usedEntries[MAX_PARAMETERS];
++ /* Parameter counters */
++ int parameterPosition;
++ int maxParam = -1;
++ /* Utility variables */
++ int offset; /* Offset into formatting string */
++ BOOLEAN_T positional; /* Does the specifier have a positional? */
++#if TRIO_FEATURE_STICKY
++ BOOLEAN_T gotSticky = FALSE; /* Are there any sticky modifiers at all? */
++#endif
++ /*
++ * indices specifies the order in which the parameters must be
++ * read from the va_args (this is necessary to handle positionals)
++ */
++ int indices[MAX_PARAMETERS];
++ int pos = 0;
++ /* Various variables */
++#if defined(TRIO_COMPILER_SUPPORTS_MULTIBYTE)
++ int charlen;
++#endif
++ int save_errno;
++ int i = -1;
++ int num;
++ trio_parameter_t workParameter;
++ int status;
++
++ /*
++ * The 'parameters' array is not initialized, but we need to
++ * know which entries we have used.
++ */
++ memset(usedEntries, 0, sizeof(usedEntries));
++
++ save_errno = errno;
++ offset = 0;
++ parameterPosition = 0;
++#if defined(TRIO_COMPILER_SUPPORTS_MULTIBYTE)
++ charlen = mblen(NULL, 0);
++#endif
++
++ while (format[offset])
++ {
++ TrioInitializeParameter(&workParameter);
++
++#if defined(TRIO_COMPILER_SUPPORTS_MULTIBYTE)
++ if (! isascii(format[offset]))
++ {
++ /*
++ * Multibyte characters cannot be legal specifiers or
++ * modifiers, so we skip over them.
++ */
++ charlen = mblen(&format[offset], MB_LEN_MAX);
++ offset += (charlen > 0) ? charlen : 1;
++ continue; /* while */
++ }
++#endif /* TRIO_COMPILER_SUPPORTS_MULTIBYTE */
++
++ switch(format[offset++]) {
++
++ case CHAR_IDENTIFIER:
++ {
++ if (CHAR_IDENTIFIER == format[offset])
++ {
++ /* skip double "%" */
++ offset++;
++ continue; /* while */
++ }
++
++ status = TrioParseQualifiers(type, format, offset, &workParameter);
++ if (status < 0)
++ return status; /* Return qualifier syntax error */
++
++ status = TrioParseSpecifier(type, format, workParameter.endOffset, &workParameter);
++ if (status < 0)
++ return status; /* Return specifier syntax error */
++ }
++ break;
++
++#if TRIO_EXTENSION
++ case CHAR_ALT_IDENTIFIER:
++ {
++ status = TrioParseQualifiers(type, format, offset, &workParameter);
++ if (status < 0)
++ continue; /* False alert, not a user defined specifier */
++
++ status = TrioParseSpecifier(type, format, workParameter.endOffset, &workParameter);
++ if ((status < 0) || (FORMAT_USER_DEFINED != workParameter.type))
++ continue; /* False alert, not a user defined specifier */
++ }
++ break;
++#endif
++
++ default:
++ continue; /* while */
++ }
++
++ /* now handle the parsed conversion specification */
++ positional = (NO_POSITION != workParameter.position);
++
++ /*
++ * Parameters only need the type and value. The value is
++ * read later.
++ */
++ if (workParameter.flags & FLAGS_WIDTH_PARAMETER)
++ {
++ if (workParameter.width == NO_WIDTH)
++ {
++ workParameter.width = parameterPosition++;
++ }
++ else
++ {
++ if (! positional)
++ workParameter.position = workParameter.width + 1;
++ }
++
++ usedEntries[workParameter.width] += 1;
++ if (workParameter.width > maxParam)
++ maxParam = workParameter.width;
++ parameters[pos].type = FORMAT_PARAMETER;
++ parameters[pos].flags = 0;
++ indices[workParameter.width] = pos;
++ workParameter.width = pos++;
++ }
++ if (workParameter.flags & FLAGS_PRECISION_PARAMETER)
++ {
++ if (workParameter.precision == NO_PRECISION)
++ {
++ workParameter.precision = parameterPosition++;
++ }
++ else
++ {
++ if (! positional)
++ workParameter.position = workParameter.precision + 1;
++ }
++
++ usedEntries[workParameter.precision] += 1;
++ if (workParameter.precision > maxParam)
++ maxParam = workParameter.precision;
++ parameters[pos].type = FORMAT_PARAMETER;
++ parameters[pos].flags = 0;
++ indices[workParameter.precision] = pos;
++ workParameter.precision = pos++;
++ }
++ if (workParameter.flags & FLAGS_BASE_PARAMETER)
++ {
++ if (workParameter.base == NO_BASE)
++ {
++ workParameter.base = parameterPosition++;
++ }
++ else
++ {
++ if (! positional)
++ workParameter.position = workParameter.base + 1;
++ }
++
++ usedEntries[workParameter.base] += 1;
++ if (workParameter.base > maxParam)
++ maxParam = workParameter.base;
++ parameters[pos].type = FORMAT_PARAMETER;
++ parameters[pos].flags = 0;
++ indices[workParameter.base] = pos;
++ workParameter.base = pos++;
++ }
++#if TRIO_FEATURE_VARSIZE
++ if (workParameter.flags & FLAGS_VARSIZE_PARAMETER)
++ {
++ workParameter.varsize = parameterPosition++;
++
++ usedEntries[workParameter.varsize] += 1;
++ if (workParameter.varsize > maxParam)
++ maxParam = workParameter.varsize;
++ parameters[pos].type = FORMAT_PARAMETER;
++ parameters[pos].flags = 0;
++ indices[workParameter.varsize] = pos;
++ workParameter.varsize = pos++;
++ }
++#endif
++#if TRIO_FEATURE_USER_DEFINED
++ if (workParameter.flags & FLAGS_USER_DEFINED_PARAMETER)
++ {
++ workParameter.user_defined.handler = parameterPosition++;
++
++ usedEntries[workParameter.user_defined.handler] += 1;
++ if (workParameter.user_defined.handler > maxParam)
++ maxParam = workParameter.user_defined.handler;
++ parameters[pos].type = FORMAT_PARAMETER;
++ parameters[pos].flags = FLAGS_USER_DEFINED;
++ indices[workParameter.user_defined.handler] = pos;
++ workParameter.user_defined.handler = pos++;
++ }
++#endif
++
++ if (NO_POSITION == workParameter.position)
++ {
++ workParameter.position = parameterPosition++;
++ }
++
++ if (workParameter.position > maxParam)
++ maxParam = workParameter.position;
++
++ if (workParameter.position >= MAX_PARAMETERS)
++ {
++ /* Bail out completely to make the error more obvious */
++ return TRIO_ERROR_RETURN(TRIO_ETOOMANY, offset);
++ }
++
++ indices[workParameter.position] = pos;
++
++ /* Count the number of times this entry has been used */
++ usedEntries[workParameter.position] += 1;
++
++ /* Find last sticky parameters */
++#if TRIO_FEATURE_STICKY
++ if (workParameter.flags & FLAGS_STICKY)
++ {
++ gotSticky = TRUE;
++ }
++ else if (gotSticky)
++ {
++ for (i = pos - 1; i >= 0; i--)
++ {
++ if (parameters[i].type == FORMAT_PARAMETER)
++ continue;
++ if ((parameters[i].flags & FLAGS_STICKY) &&
++ (parameters[i].type == workParameter.type))
++ {
++ /* Do not overwrite current qualifiers */
++ workParameter.flags |= (parameters[i].flags & (unsigned long)~FLAGS_STICKY);
++ if (workParameter.width == NO_WIDTH)
++ workParameter.width = parameters[i].width;
++ if (workParameter.precision == NO_PRECISION)
++ workParameter.precision = parameters[i].precision;
++ if (workParameter.base == NO_BASE)
++ workParameter.base = parameters[i].base;
++ break;
++ }
++ }
++ }
++#endif
++
++ if (workParameter.base == NO_BASE)
++ workParameter.base = BASE_DECIMAL;
++
++ offset = workParameter.endOffset;
++
++ TrioCopyParameter(&parameters[pos++], &workParameter);
++ } /* while format characters left */
++
++ parameters[pos].type = FORMAT_SENTINEL; /* end parameter array with sentinel */
++ parameters[pos].beginOffset = offset;
++
++ for (num = 0; num <= maxParam; num++)
++ {
++ if (usedEntries[num] != 1)
++ {
++ if (usedEntries[num] == 0) /* gap detected */
++ return TRIO_ERROR_RETURN(TRIO_EGAP, num);
++ else /* double references detected */
++ return TRIO_ERROR_RETURN(TRIO_EDBLREF, num);
++ }
++
++ i = indices[num];
++
++ /*
++ * FORMAT_PARAMETERS are only present if they must be read,
++ * so it makes no sense to check the ignore flag (besides,
++ * the flags variable is not set for that particular type)
++ */
++ if ((parameters[i].type != FORMAT_PARAMETER) &&
++ (parameters[i].flags & FLAGS_IGNORE))
++ continue; /* for all arguments */
++
++ /*
++ * The stack arguments are read according to ANSI C89
++ * default argument promotions:
++ *
++ * char = int
++ * short = int
++ * unsigned char = unsigned int
++ * unsigned short = unsigned int
++ * float = double
++ *
++ * In addition to the ANSI C89 these types are read (the
++ * default argument promotions of C99 has not been
++ * considered yet)
++ *
++ * long long
++ * long double
++ * size_t
++ * ptrdiff_t
++ * intmax_t
++ */
++ switch (parameters[i].type)
++ {
++ case FORMAT_GROUP:
++ case FORMAT_STRING:
++#if TRIO_FEATURE_WIDECHAR
++ if (parameters[i].flags & FLAGS_WIDECHAR)
++ {
++ parameters[i].data.wstring = (argarray == NULL)
++ ? va_arg(arglist, trio_wchar_t *)
++ : (trio_wchar_t *)(argarray[num]);
++ }
++ else
++#endif
++ {
++ parameters[i].data.string = (argarray == NULL)
++ ? va_arg(arglist, char *)
++ : (char *)(argarray[num]);
++ }
++ break;
++
++#if TRIO_FEATURE_USER_DEFINED
++ case FORMAT_USER_DEFINED:
++#endif
++ case FORMAT_POINTER:
++ case FORMAT_COUNT:
++ case FORMAT_UNKNOWN:
++ parameters[i].data.pointer = (argarray == NULL)
++ ? va_arg(arglist, trio_pointer_t )
++ : argarray[num];
++ break;
++
++ case FORMAT_CHAR:
++ case FORMAT_INT:
++#if TRIO_FEATURE_SCANF
++ if (TYPE_SCAN == type)
++ {
++ if (argarray == NULL)
++ parameters[i].data.pointer =
++ (trio_pointer_t)va_arg(arglist, trio_pointer_t);
++ else
++ {
++ if (parameters[i].type == FORMAT_CHAR)
++ parameters[i].data.pointer =
++ (trio_pointer_t)((char *)argarray[num]);
++ else if (parameters[i].flags & FLAGS_SHORT)
++ parameters[i].data.pointer =
++ (trio_pointer_t)((short *)argarray[num]);
++ else
++ parameters[i].data.pointer =
++ (trio_pointer_t)((int *)argarray[num]);
++ }
++ }
++ else
++#endif /* TRIO_FEATURE_SCANF */
++ {
++#if TRIO_FEATURE_VARSIZE || TRIO_FEATURE_FIXED_SIZE
++ if (parameters[i].flags
++ & (FLAGS_VARSIZE_PARAMETER | FLAGS_FIXED_SIZE))
++ {
++ int varsize;
++ if (parameters[i].flags & FLAGS_VARSIZE_PARAMETER)
++ {
++ /*
++ * Variable sizes are mapped onto the fixed sizes, in
++ * accordance with integer promotion.
++ *
++ * Please note that this may not be portable, as we
++ * only guess the size, not the layout of the numbers.
++ * For example, if int is little-endian, and long is
++ * big-endian, then this will fail.
++ */
++ varsize = (int)parameters[parameters[i].varsize].data.number.as_unsigned;
++ }
++ else
++ {
++ /* Used for the I<bits> modifiers */
++ varsize = parameters[i].varsize;
++ }
++ parameters[i].flags &= ~FLAGS_ALL_VARSIZES;
++
++ if (varsize <= (int)sizeof(int))
++ ;
++ else if (varsize <= (int)sizeof(long))
++ parameters[i].flags |= FLAGS_LONG;
++#if TRIO_FEATURE_INTMAX_T
++ else if (varsize <= (int)sizeof(trio_longlong_t))
++ parameters[i].flags |= FLAGS_QUAD;
++ else
++ parameters[i].flags |= FLAGS_INTMAX_T;
++#else
++ else
++ parameters[i].flags |= FLAGS_QUAD;
++#endif
++ }
++#endif /* TRIO_FEATURE_VARSIZE */
++#if TRIO_FEATURE_SIZE_T || TRIO_FEATURE_SIZE_T_UPPER
++ if (parameters[i].flags & FLAGS_SIZE_T)
++ parameters[i].data.number.as_unsigned = (argarray == NULL)
++ ? (trio_uintmax_t)va_arg(arglist, size_t)
++ : (trio_uintmax_t)(*((size_t *)argarray[num]));
++ else
++#endif
++#if TRIO_FEATURE_PTRDIFF_T
++ if (parameters[i].flags & FLAGS_PTRDIFF_T)
++ parameters[i].data.number.as_unsigned = (argarray == NULL)
++ ? (trio_uintmax_t)va_arg(arglist, ptrdiff_t)
++ : (trio_uintmax_t)(*((ptrdiff_t *)argarray[num]));
++ else
++#endif
++#if TRIO_FEATURE_INTMAX_T
++ if (parameters[i].flags & FLAGS_INTMAX_T)
++ parameters[i].data.number.as_unsigned = (argarray == NULL)
++ ? (trio_uintmax_t)va_arg(arglist, trio_intmax_t)
++ : (trio_uintmax_t)(*((trio_intmax_t *)argarray[num]));
++ else
++#endif
++ if (parameters[i].flags & FLAGS_QUAD)
++ parameters[i].data.number.as_unsigned = (argarray == NULL)
++ ? (trio_uintmax_t)va_arg(arglist, trio_ulonglong_t)
++ : (trio_uintmax_t)(*((trio_ulonglong_t *)argarray[num]));
++ else if (parameters[i].flags & FLAGS_LONG)
++ parameters[i].data.number.as_unsigned = (argarray == NULL)
++ ? (trio_uintmax_t)va_arg(arglist, long)
++ : (trio_uintmax_t)(*((long *)argarray[num]));
++ else
++ {
++ if (argarray == NULL)
++ parameters[i].data.number.as_unsigned = (trio_uintmax_t)va_arg(arglist, int);
++ else
++ {
++ if (parameters[i].type == FORMAT_CHAR)
++ parameters[i].data.number.as_unsigned = (trio_uintmax_t)(*((char *)argarray[num]));
++ else if (parameters[i].flags & FLAGS_SHORT)
++ parameters[i].data.number.as_unsigned = (trio_uintmax_t)(*((short *)argarray[num]));
++ else
++ parameters[i].data.number.as_unsigned = (trio_uintmax_t)(*((int *)argarray[num]));
++ }
++ }
++ }
++ break;
++
++ case FORMAT_PARAMETER:
++ /*
++ * The parameter for the user-defined specifier is a pointer,
++ * whereas the rest (width, precision, base) uses an integer.
++ */
++ if (parameters[i].flags & FLAGS_USER_DEFINED)
++ parameters[i].data.pointer = (argarray == NULL)
++ ? va_arg(arglist, trio_pointer_t )
++ : argarray[num];
++ else
++ parameters[i].data.number.as_unsigned = (argarray == NULL)
++ ? (trio_uintmax_t)va_arg(arglist, int)
++ : (trio_uintmax_t)(*((int *)argarray[num]));
++ break;
++
++#if TRIO_FEATURE_FLOAT
++ case FORMAT_DOUBLE:
++# if TRIO_FEATURE_SCANF
++ if (TYPE_SCAN == type)
++ {
++ if (parameters[i].flags & FLAGS_LONGDOUBLE)
++ parameters[i].data.longdoublePointer = (argarray == NULL)
++ ? va_arg(arglist, trio_long_double_t *)
++ : (trio_long_double_t *)argarray[num];
++ else
++ {
++ if (parameters[i].flags & FLAGS_LONG)
++ parameters[i].data.doublePointer = (argarray == NULL)
++ ? va_arg(arglist, double *)
++ : (double *)argarray[num];
++ else
++ parameters[i].data.doublePointer = (argarray == NULL)
++ ? (double *)va_arg(arglist, float *)
++ : (double *)((float *)argarray[num]);
++ }
++ }
++ else
++# endif /* TRIO_FEATURE_SCANF */
++ {
++ if (parameters[i].flags & FLAGS_LONGDOUBLE)
++ parameters[i].data.longdoubleNumber = (argarray == NULL)
++ ? va_arg(arglist, trio_long_double_t)
++ : (trio_long_double_t)(*((trio_long_double_t *)argarray[num]));
++ else
++ {
++ if (argarray == NULL)
++ parameters[i].data.longdoubleNumber =
++ (trio_long_double_t)va_arg(arglist, double);
++ else
++ {
++ if (parameters[i].flags & FLAGS_SHORT)
++ parameters[i].data.longdoubleNumber =
++ (trio_long_double_t)(*((float *)argarray[num]));
++ else
++ parameters[i].data.longdoubleNumber =
++ (trio_long_double_t)(*((double *)argarray[num]));
++ }
++ }
++ }
++ break;
++#endif /* TRIO_FEATURE_FLOAT */
++
++#if TRIO_FEATURE_ERRNO
++ case FORMAT_ERRNO:
++ parameters[i].data.errorNumber = save_errno;
++ break;
++#endif
++
++ default:
++ break;
++ }
++ } /* for all specifiers */
++ return num;
++}
++
++
++/*************************************************************************
++ *
++ * FORMATTING
++ *
++ ************************************************************************/
++
++
++/*************************************************************************
++ * TrioWriteNumber
++ *
++ * Description:
++ * Output a number.
++ * The complexity of this function is a result of the complexity
++ * of the dependencies of the flags.
++ */
++TRIO_PRIVATE void
++TrioWriteNumber
++TRIO_ARGS6((self, number, flags, width, precision, base),
++ trio_class_t *self,
++ trio_uintmax_t number,
++ trio_flags_t flags,
++ int width,
++ int precision,
++ int base)
++{
++ BOOLEAN_T isNegative;
++ BOOLEAN_T isNumberZero;
++ BOOLEAN_T isPrecisionZero;
++ BOOLEAN_T ignoreNumber;
++ char buffer[MAX_CHARS_IN(trio_uintmax_t) * (1 + MAX_LOCALE_SEPARATOR_LENGTH) + 1];
++ char *bufferend;
++ char *pointer;
++ TRIO_CONST char *digits;
++ int i;
++#if TRIO_FEATURE_QUOTE
++ int length;
++ char *p;
++#endif
++ int count;
++ int digitOffset;
++
++ assert(VALID(self));
++ assert(VALID(self->OutStream));
++ assert(((base >= MIN_BASE) && (base <= MAX_BASE)) || (base == NO_BASE));
++
++ digits = (flags & FLAGS_UPPER) ? internalDigitsUpper : internalDigitsLower;
++ if (base == NO_BASE)
++ base = BASE_DECIMAL;
++
++ isNumberZero = (number == 0);
++ isPrecisionZero = (precision == 0);
++ ignoreNumber = (isNumberZero
++ && isPrecisionZero
++ && !((flags & FLAGS_ALTERNATIVE) && (base == BASE_OCTAL)));
++
++ if (flags & FLAGS_UNSIGNED)
++ {
++ isNegative = FALSE;
++ flags &= ~FLAGS_SHOWSIGN;
++ }
++ else
++ {
++ isNegative = ((trio_intmax_t)number < 0);
++ if (isNegative)
++ number = -((trio_intmax_t)number);
++ }
++
++ if (flags & FLAGS_QUAD)
++ number &= (trio_ulonglong_t)-1;
++ else if (flags & FLAGS_LONG)
++ number &= (unsigned long)-1;
++ else
++ number &= (unsigned int)-1;
++
++ /* Build number */
++ pointer = bufferend = &buffer[sizeof(buffer) - 1];
++ *pointer-- = NIL;
++ for (i = 1; i < (int)sizeof(buffer); i++)
++ {
++ digitOffset = number % base;
++ *pointer-- = digits[digitOffset];
++ number /= base;
++ if (number == 0)
++ break;
++
++#if TRIO_FEATURE_QUOTE
++ if ((flags & FLAGS_QUOTE) && TrioFollowedBySeparator(i + 1))
++ {
++ /*
++ * We are building the number from the least significant
++ * to the most significant digit, so we have to copy the
++ * thousand separator backwards
++ */
++ length = internalThousandSeparatorLength;
++ if (((int)(pointer - buffer) - length) > 0)
++ {
++ p = &internalThousandSeparator[length - 1];
++ while (length-- > 0)
++ *pointer-- = *p--;
++ }
++ }
++#endif
++ }
++
++ if (! ignoreNumber)
++ {
++ /* Adjust width */
++ width -= (bufferend - pointer) - 1;
++ }
++
++ /* Adjust precision */
++ if (NO_PRECISION != precision)
++ {
++ precision -= (bufferend - pointer) - 1;
++ if (precision < 0)
++ precision = 0;
++ flags |= FLAGS_NILPADDING;
++ }
++
++ /* Calculate padding */
++ count = (! ((flags & FLAGS_LEFTADJUST) || (precision == NO_PRECISION)))
++ ? precision
++ : 0;
++
++ /* Adjust width further */
++ if (isNegative || (flags & FLAGS_SHOWSIGN) || (flags & FLAGS_SPACE))
++ width--;
++ if ((flags & FLAGS_ALTERNATIVE) && !isNumberZero)
++ {
++ switch (base)
++ {
++ case BASE_BINARY:
++ case BASE_HEX:
++ width -= 2;
++ break;
++ case BASE_OCTAL:
++ if (!(flags & FLAGS_NILPADDING) || (count == 0))
++ width--;
++ break;
++ default:
++ break;
++ }
++ }
++
++ /* Output prefixes spaces if needed */
++ if (! ((flags & FLAGS_LEFTADJUST) ||
++ ((flags & FLAGS_NILPADDING) && (precision == NO_PRECISION))))
++ {
++ while (width-- > count)
++ self->OutStream(self, CHAR_ADJUST);
++ }
++
++ /* width has been adjusted for signs and alternatives */
++ if (isNegative)
++ self->OutStream(self, '-');
++ else if (flags & FLAGS_SHOWSIGN)
++ self->OutStream(self, '+');
++ else if (flags & FLAGS_SPACE)
++ self->OutStream(self, ' ');
++
++ /* Prefix is not written when the value is zero */
++ if ((flags & FLAGS_ALTERNATIVE) && !isNumberZero)
++ {
++ switch (base)
++ {
++ case BASE_BINARY:
++ self->OutStream(self, '0');
++ self->OutStream(self, (flags & FLAGS_UPPER) ? 'B' : 'b');
++ break;
++
++ case BASE_OCTAL:
++ if (!(flags & FLAGS_NILPADDING) || (count == 0))
++ self->OutStream(self, '0');
++ break;
++
++ case BASE_HEX:
++ self->OutStream(self, '0');
++ self->OutStream(self, (flags & FLAGS_UPPER) ? 'X' : 'x');
++ break;
++
++ default:
++ break;
++ } /* switch base */
++ }
++
++ /* Output prefixed zero padding if needed */
++ if (flags & FLAGS_NILPADDING)
++ {
++ if (precision == NO_PRECISION)
++ precision = width;
++ while (precision-- > 0)
++ {
++ self->OutStream(self, '0');
++ width--;
++ }
++ }
++
++ if (! ignoreNumber)
++ {
++ /* Output the number itself */
++ while (*(++pointer))
++ {
++ self->OutStream(self, *pointer);
++ }
++ }
++
++ /* Output trailing spaces if needed */
++ if (flags & FLAGS_LEFTADJUST)
++ {
++ while (width-- > 0)
++ self->OutStream(self, CHAR_ADJUST);
++ }
++}
++
++/*************************************************************************
++ * TrioWriteStringCharacter
++ *
++ * Description:
++ * Output a single character of a string
++ */
++TRIO_PRIVATE void
++TrioWriteStringCharacter
++TRIO_ARGS3((self, ch, flags),
++ trio_class_t *self,
++ int ch,
++ trio_flags_t flags)
++{
++ if (flags & FLAGS_ALTERNATIVE)
++ {
++ if (! isprint(ch))
++ {
++ /*
++ * Non-printable characters are converted to C escapes or
++ * \number, if no C escape exists.
++ */
++ self->OutStream(self, CHAR_BACKSLASH);
++ switch (ch)
++ {
++ case '\007': self->OutStream(self, 'a'); break;
++ case '\b': self->OutStream(self, 'b'); break;
++ case '\f': self->OutStream(self, 'f'); break;
++ case '\n': self->OutStream(self, 'n'); break;
++ case '\r': self->OutStream(self, 'r'); break;
++ case '\t': self->OutStream(self, 't'); break;
++ case '\v': self->OutStream(self, 'v'); break;
++ case '\\': self->OutStream(self, '\\'); break;
++ default:
++ self->OutStream(self, 'x');
++ TrioWriteNumber(self, (trio_uintmax_t)ch,
++ FLAGS_UNSIGNED | FLAGS_NILPADDING,
++ 2, 2, BASE_HEX);
++ break;
++ }
++ }
++ else if (ch == CHAR_BACKSLASH)
++ {
++ self->OutStream(self, CHAR_BACKSLASH);
++ self->OutStream(self, CHAR_BACKSLASH);
++ }
++ else
++ {
++ self->OutStream(self, ch);
++ }
++ }
++ else
++ {
++ self->OutStream(self, ch);
++ }
++}
++
++/*************************************************************************
++ * TrioWriteString
++ *
++ * Description:
++ * Output a string
++ */
++TRIO_PRIVATE void
++TrioWriteString
++TRIO_ARGS5((self, string, flags, width, precision),
++ trio_class_t *self,
++ TRIO_CONST char *string,
++ trio_flags_t flags,
++ int width,
++ int precision)
++{
++ int length;
++ int ch;
++
++ assert(VALID(self));
++ assert(VALID(self->OutStream));
++
++ if (string == NULL)
++ {
++ string = internalNullString;
++ length = sizeof(internalNullString) - 1;
++#if TRIO_FEATURE_QUOTE
++ /* Disable quoting for the null pointer */
++ flags &= (~FLAGS_QUOTE);
++#endif
++ width = 0;
++ }
++ else
++ {
++ if (precision == 0)
++ {
++ length = trio_length(string);
++ }
++ else
++ {
++ length = trio_length_max(string, precision);
++ }
++ }
++ if ((NO_PRECISION != precision) &&
++ (precision < length))
++ {
++ length = precision;
++ }
++ width -= length;
++
++#if TRIO_FEATURE_QUOTE
++ if (flags & FLAGS_QUOTE)
++ self->OutStream(self, CHAR_QUOTE);
++#endif
++
++ if (! (flags & FLAGS_LEFTADJUST))
++ {
++ while (width-- > 0)
++ self->OutStream(self, CHAR_ADJUST);
++ }
++
++ while (length-- > 0)
++ {
++ /* The ctype parameters must be an unsigned char (or EOF) */
++ ch = (int)((unsigned char)(*string++));
++ TrioWriteStringCharacter(self, ch, flags);
++ }
++
++ if (flags & FLAGS_LEFTADJUST)
++ {
++ while (width-- > 0)
++ self->OutStream(self, CHAR_ADJUST);
++ }
++#if TRIO_FEATURE_QUOTE
++ if (flags & FLAGS_QUOTE)
++ self->OutStream(self, CHAR_QUOTE);
++#endif
++}
++
++/*************************************************************************
++ * TrioWriteWideStringCharacter
++ *
++ * Description:
++ * Output a wide string as a multi-byte sequence
++ */
++#if TRIO_FEATURE_WIDECHAR
++TRIO_PRIVATE int
++TrioWriteWideStringCharacter
++TRIO_ARGS4((self, wch, flags, width),
++ trio_class_t *self,
++ trio_wchar_t wch,
++ trio_flags_t flags,
++ int width)
++{
++ int size;
++ int i;
++ int ch;
++ char *string;
++ char buffer[MB_LEN_MAX + 1];
++
++ if (width == NO_WIDTH)
++ width = sizeof(buffer);
++
++ size = wctomb(buffer, wch);
++ if ((size <= 0) || (size > width) || (buffer[0] == NIL))
++ return 0;
++
++ string = buffer;
++ i = size;
++ while ((width >= i) && (width-- > 0) && (i-- > 0))
++ {
++ /* The ctype parameters must be an unsigned char (or EOF) */
++ ch = (int)((unsigned char)(*string++));
++ TrioWriteStringCharacter(self, ch, flags);
++ }
++ return size;
++}
++#endif /* TRIO_FEATURE_WIDECHAR */
++
++/*************************************************************************
++ * TrioWriteWideString
++ *
++ * Description:
++ * Output a wide character string as a multi-byte string
++ */
++#if TRIO_FEATURE_WIDECHAR
++TRIO_PRIVATE void
++TrioWriteWideString
++TRIO_ARGS5((self, wstring, flags, width, precision),
++ trio_class_t *self,
++ TRIO_CONST trio_wchar_t *wstring,
++ trio_flags_t flags,
++ int width,
++ int precision)
++{
++ int length;
++ int size;
++
++ assert(VALID(self));
++ assert(VALID(self->OutStream));
++
++#if defined(TRIO_COMPILER_SUPPORTS_MULTIBYTE)
++ /* Required by TrioWriteWideStringCharacter */
++ length = mblen(NULL, 0);
++#endif
++
++ if (wstring == NULL)
++ {
++ TrioWriteString(self, NULL, flags, width, precision);
++ return;
++ }
++
++ if (NO_PRECISION == precision)
++ {
++ length = INT_MAX;
++ }
++ else
++ {
++ length = precision;
++ width -= length;
++ }
++
++#if TRIO_FEATURE_QUOTE
++ if (flags & FLAGS_QUOTE)
++ self->OutStream(self, CHAR_QUOTE);
++#endif
++
++ if (! (flags & FLAGS_LEFTADJUST))
++ {
++ while (width-- > 0)
++ self->OutStream(self, CHAR_ADJUST);
++ }
++
++ while (length > 0)
++ {
++ size = TrioWriteWideStringCharacter(self, *wstring++, flags, length);
++ if (size == 0)
++ break; /* while */
++ length -= size;
++ }
++
++ if (flags & FLAGS_LEFTADJUST)
++ {
++ while (width-- > 0)
++ self->OutStream(self, CHAR_ADJUST);
++ }
++#if TRIO_FEATURE_QUOTE
++ if (flags & FLAGS_QUOTE)
++ self->OutStream(self, CHAR_QUOTE);
++#endif
++}
++#endif /* TRIO_FEATURE_WIDECHAR */
++
++/*************************************************************************
++ * TrioWriteDouble
++ *
++ * http://wwwold.dkuug.dk/JTC1/SC22/WG14/www/docs/dr_211.htm
++ *
++ * "5.2.4.2.2 paragraph #4
++ *
++ * The accuracy [...] is implementation defined, as is the accuracy
++ * of the conversion between floating-point internal representations
++ * and string representations performed by the libray routine in
++ * <stdio.h>"
++ */
++/* FIXME: handle all instances of constant long-double number (L)
++ * and *l() math functions.
++ */
++#if TRIO_FEATURE_FLOAT
++TRIO_PRIVATE void
++TrioWriteDouble
++TRIO_ARGS6((self, number, flags, width, precision, base),
++ trio_class_t *self,
++ trio_long_double_t number,
++ trio_flags_t flags,
++ int width,
++ int precision,
++ int base)
++{
++ trio_long_double_t integerNumber;
++ trio_long_double_t fractionNumber;
++ trio_long_double_t workNumber;
++ int integerDigits;
++ int fractionDigits;
++ int exponentDigits;
++ int workDigits;
++ int baseDigits;
++ int integerThreshold;
++ int fractionThreshold;
++ int expectedWidth;
++ int exponent = 0;
++ unsigned int uExponent = 0;
++ int exponentBase;
++ trio_long_double_t dblBase;
++ trio_long_double_t dblFractionBase;
++ trio_long_double_t integerAdjust;
++ trio_long_double_t fractionAdjust;
++ trio_long_double_t workFractionNumber;
++ trio_long_double_t workFractionAdjust;
++ int fractionDigitsInspect;
++ BOOLEAN_T isNegative;
++ BOOLEAN_T isExponentNegative = FALSE;
++ BOOLEAN_T requireTwoDigitExponent;
++ BOOLEAN_T isHex;
++ TRIO_CONST char *digits;
++# if TRIO_FEATURE_QUOTE
++ char *groupingPointer;
++# endif
++ int i;
++ int offset;
++ BOOLEAN_T hasOnlyZeroes;
++ int leadingFractionZeroes = -1;
++ register int trailingZeroes;
++ BOOLEAN_T keepTrailingZeroes;
++ BOOLEAN_T keepDecimalPoint;
++ trio_long_double_t epsilon;
++ BOOLEAN_T adjustNumber = FALSE;
++
++ assert(VALID(self));
++ assert(VALID(self->OutStream));
++ assert(((base >= MIN_BASE) && (base <= MAX_BASE)) || (base == NO_BASE));
++
++ /* Determine sign and look for special quantities */
++ switch (trio_fpclassify_and_signbit(number, &isNegative))
++ {
++ case TRIO_FP_NAN:
++ TrioWriteString(self,
++ (flags & FLAGS_UPPER)
++ ? NAN_UPPER
++ : NAN_LOWER,
++ flags, width, precision);
++ return;
++
++ case TRIO_FP_INFINITE:
++ if (isNegative)
++ {
++ /* Negative infinity */
++ TrioWriteString(self,
++ (flags & FLAGS_UPPER)
++ ? "-" INFINITE_UPPER
++ : "-" INFINITE_LOWER,
++ flags, width, precision);
++ return;
++ }
++ else
++ {
++ /* Positive infinity */
++ TrioWriteString(self,
++ (flags & FLAGS_UPPER)
++ ? INFINITE_UPPER
++ : INFINITE_LOWER,
++ flags, width, precision);
++ return;
++ }
++
++ default:
++ /* Finitude */
++ break;
++ }
++
++ /* Normal numbers */
++ if (flags & FLAGS_LONGDOUBLE)
++ {
++ baseDigits = (base == 10)
++ ? LDBL_DIG
++ : (int)trio_floor(LDBL_MANT_DIG / TrioLogarithmBase(base));
++ epsilon = LDBL_EPSILON;
++ }
++ else if (flags & FLAGS_SHORT)
++ {
++ baseDigits = (base == BASE_DECIMAL)
++ ? FLT_DIG
++ : (int)trio_floor(FLT_MANT_DIG / TrioLogarithmBase(base));
++ epsilon = FLT_EPSILON;
++ }
++ else
++ {
++ baseDigits = (base == BASE_DECIMAL)
++ ? DBL_DIG
++ : (int)trio_floor(DBL_MANT_DIG / TrioLogarithmBase(base));
++ epsilon = DBL_EPSILON;
++ }
++
++ digits = (flags & FLAGS_UPPER) ? internalDigitsUpper : internalDigitsLower;
++ isHex = (base == BASE_HEX);
++ if (base == NO_BASE)
++ base = BASE_DECIMAL;
++ dblBase = (trio_long_double_t)base;
++ keepTrailingZeroes = !( (flags & FLAGS_ROUNDING) ||
++ ( (flags & FLAGS_FLOAT_G) &&
++ !(flags & FLAGS_ALTERNATIVE) ) );
++
++# if TRIO_FEATURE_ROUNDING
++ if (flags & FLAGS_ROUNDING)
++ {
++ precision = baseDigits;
++ }
++# endif
++
++ if (precision == NO_PRECISION)
++ {
++ if (isHex)
++ {
++ keepTrailingZeroes = FALSE;
++ precision = FLT_MANT_DIG;
++ }
++ else
++ {
++ precision = FLT_DIG;
++ }
++ }
++
++ if (isNegative)
++ {
++ number = -number;
++ }
++
++ if (isHex)
++ {
++ flags |= FLAGS_FLOAT_E;
++ }
++
++ reprocess:
++
++ if (flags & FLAGS_FLOAT_G)
++ {
++ if (precision == 0)
++ precision = 1;
++
++#if 0 /* GS Modification */
++ if ( (number < TRIO_SUFFIX_LONG(1.0E-4)) ||
++ (number >= TrioPower(base, (trio_long_double_t)precision)) )
++#else /* GS Modification */
++ /* This gives us a better match to the trip over point that we want */
++ if ( (number < TRIO_SUFFIX_LONG(9.9999989999999991e-05)) ||
++ (number >= TrioPower(base, (trio_long_double_t)precision)) )
++#endif /* GS Modification */
++ {
++ /* Use scientific notation */
++ flags |= FLAGS_FLOAT_E;
++ }
++ else if (number < 1.0)
++ {
++ /*
++ * Use normal notation. If the integer part of the number is
++ * zero, then adjust the precision to include leading fractional
++ * zeros.
++ */
++ workNumber = TrioLogarithm(number, base);
++ workNumber = TRIO_FABS(workNumber);
++ if (workNumber - trio_floor(workNumber) < epsilon)
++ workNumber--;
++ leadingFractionZeroes = (int)trio_floor(workNumber);
++ }
++ }
++
++ if (flags & FLAGS_FLOAT_E)
++ {
++ /* Scale the number */
++ workNumber = TrioLogarithm(number, base);
++ if (trio_isinf(workNumber) == -1)
++ {
++ exponent = 0;
++ /* Undo setting */
++ if (flags & FLAGS_FLOAT_G)
++ flags &= ~FLAGS_FLOAT_E;
++ }
++ else
++ {
++ exponent = (int)trio_floor(workNumber);
++ workNumber = number;
++ /*
++ * The expression A * 10^-B is equivalent to A / 10^B but the former
++ * usually gives better accuracy.
++ */
++ workNumber *= TrioPower(dblBase, (trio_long_double_t)-exponent);
++ if (trio_isinf(workNumber)) {
++ /*
++ * Scaling is done it two steps to avoid problems with subnormal
++ * numbers.
++ */
++ workNumber /= TrioPower(dblBase, (trio_long_double_t)(exponent / 2));
++ workNumber /= TrioPower(dblBase, (trio_long_double_t)(exponent - (exponent / 2)));
++ }
++ number = workNumber;
++ isExponentNegative = (exponent < 0);
++ uExponent = (isExponentNegative) ? -exponent : exponent;
++ if (isHex)
++ uExponent *= 4; /* log16(2) */
++#if TRIO_FEATURE_QUOTE
++ /* No thousand separators */
++ flags &= ~FLAGS_QUOTE;
++#endif
++ }
++ }
++
++ integerNumber = trio_floor(number);
++ fractionNumber = number - integerNumber;
++
++ /*
++ * Truncated number.
++ *
++ * Precision is number of significant digits for FLOAT_G and number of
++ * fractional digits for others.
++ */
++ integerDigits = 1;
++ if (integerNumber > epsilon)
++ {
++ integerDigits += (int)TrioLogarithm(integerNumber, base);
++ }
++
++ fractionDigits = precision;
++ if (flags & FLAGS_FLOAT_G)
++ {
++ if (leadingFractionZeroes > 0)
++ {
++ fractionDigits += leadingFractionZeroes;
++ }
++ if ((integerNumber > epsilon) || (number <= epsilon))
++ {
++ fractionDigits -= integerDigits;
++ }
++ }
++
++ dblFractionBase = TrioPower(base, fractionDigits);
++
++ if (integerNumber < 1.0)
++ {
++ workNumber = number * dblFractionBase + TRIO_SUFFIX_LONG(0.5);
++ if (trio_floor(number * dblFractionBase) != trio_floor(workNumber))
++ {
++ adjustNumber = TRUE;
++ /* Remove a leading fraction zero if fraction is rounded up */
++ if ((int)TrioLogarithm(number * dblFractionBase, base) != (int)TrioLogarithm(workNumber, base))
++ {
++ --leadingFractionZeroes;
++ }
++ }
++ workNumber /= dblFractionBase;
++ }
++ else
++ {
++ workNumber = number + TRIO_SUFFIX_LONG(0.5) / dblFractionBase;
++ adjustNumber = (trio_floor(number) != trio_floor(workNumber));
++ }
++ if (adjustNumber)
++ {
++ if ((flags & FLAGS_FLOAT_G) && !(flags & FLAGS_FLOAT_E))
++ {
++ /* The adjustment may require a change to scientific notation */
++ if ( (workNumber < TRIO_SUFFIX_LONG(1.0E-4)) ||
++ (workNumber >= TrioPower(base, (trio_long_double_t)precision)) )
++ {
++ /* Use scientific notation */
++ flags |= FLAGS_FLOAT_E;
++ goto reprocess;
++ }
++ }
++
++ if (flags & FLAGS_FLOAT_E)
++ {
++ workDigits = 1 + TrioLogarithm(trio_floor(workNumber), base);
++ if (integerDigits == workDigits)
++ {
++ /* Adjust if the same number of digits are used */
++ number += TRIO_SUFFIX_LONG(0.5) / dblFractionBase;
++ integerNumber = trio_floor(number);
++ fractionNumber = number - integerNumber;
++ }
++ else
++ {
++ /* Adjust if number was rounded up one digit (ie. 0.99 to 1.00) */
++ exponent++;
++ isExponentNegative = (exponent < 0);
++ uExponent = (isExponentNegative) ? -exponent : exponent;
++ if (isHex)
++ uExponent *= 4; /* log16(2) */
++ workNumber = (number + TRIO_SUFFIX_LONG(0.5) / dblFractionBase) / dblBase;
++ integerNumber = trio_floor(workNumber);
++ fractionNumber = workNumber - integerNumber;
++ }
++ }
++ else
++ {
++ if (workNumber > 1.0)
++ {
++ /* Adjust if number was rounded up one digit (ie. 99 to 100) */
++ integerNumber = trio_floor(workNumber);
++ fractionNumber = 0.0;
++ integerDigits = (integerNumber > epsilon)
++ ? 1 + (int)TrioLogarithm(integerNumber, base)
++ : 1;
++ if (flags & FLAGS_FLOAT_G)
++ {
++ if (flags & FLAGS_ALTERNATIVE)
++ {
++ if ((integerNumber > epsilon) || (number <= epsilon))
++ {
++ fractionDigits -= integerDigits;
++ }
++ }
++ else
++ {
++ fractionDigits = 0;
++ }
++ }
++ }
++ else
++ {
++ integerNumber = trio_floor(workNumber);
++ fractionNumber = workNumber - integerNumber;
++ if (flags & FLAGS_FLOAT_G)
++ {
++ if (flags & FLAGS_ALTERNATIVE)
++ {
++ fractionDigits = precision;
++ if (leadingFractionZeroes > 0)
++ {
++ fractionDigits += leadingFractionZeroes;
++ }
++ if ((integerNumber > epsilon) || (number <= epsilon))
++ {
++ fractionDigits -= integerDigits;
++ }
++ }
++ }
++ }
++ }
++ }
++
++ /* Estimate accuracy */
++ integerAdjust = fractionAdjust = TRIO_SUFFIX_LONG(0.5);
++# if TRIO_FEATURE_ROUNDING
++ if (flags & FLAGS_ROUNDING)
++ {
++ if (integerDigits > baseDigits)
++ {
++ integerThreshold = baseDigits;
++ fractionDigits = 0;
++ dblFractionBase = 1.0;
++ fractionThreshold = 0;
++ precision = 0; /* Disable decimal-point */
++ integerAdjust = TrioPower(base, integerDigits - integerThreshold - 1);
++ fractionAdjust = 0.0;
++ }
++ else
++ {
++ integerThreshold = integerDigits;
++ fractionThreshold = fractionDigits - integerThreshold;
++ fractionAdjust = 1.0;
++ }
++ }
++ else
++# endif
++ {
++ integerThreshold = INT_MAX;
++ fractionThreshold = INT_MAX;
++ }
++
++ /*
++ * Calculate expected width.
++ * sign + integer part + thousands separators + decimal point
++ * + fraction + exponent
++ */
++ fractionAdjust /= dblFractionBase;
++ hasOnlyZeroes = (trio_floor((fractionNumber + fractionAdjust) *
++ dblFractionBase) < epsilon);
++ keepDecimalPoint = ( (flags & FLAGS_ALTERNATIVE) ||
++ !((precision == 0) ||
++ (!keepTrailingZeroes && hasOnlyZeroes)) );
++
++ expectedWidth = integerDigits + fractionDigits;
++
++ if (!keepTrailingZeroes)
++ {
++ trailingZeroes = 0;
++ workFractionNumber = fractionNumber;
++ workFractionAdjust = fractionAdjust;
++ fractionDigitsInspect = fractionDigits;
++
++ if (integerDigits > integerThreshold)
++ {
++ fractionDigitsInspect = 0;
++ }
++ else if (fractionThreshold <= fractionDigits)
++ {
++ fractionDigitsInspect = fractionThreshold + 1;
++ }
++
++ trailingZeroes = fractionDigits - fractionDigitsInspect;
++ for (i = 0; i < fractionDigitsInspect; i++)
++ {
++ workFractionNumber *= dblBase;
++ workFractionAdjust *= dblBase;
++ workNumber = trio_floor(workFractionNumber + workFractionAdjust);
++ workFractionNumber -= workNumber;
++ offset = (int)trio_fmod(workNumber, dblBase);
++ if (offset == 0)
++ {
++ trailingZeroes++;
++ }
++ else
++ {
++ trailingZeroes = 0;
++ }
++ }
++ expectedWidth -= trailingZeroes;
++ }
++
++ if (keepDecimalPoint)
++ {
++ expectedWidth += internalDecimalPointLength;
++ }
++
++#if TRIO_FEATURE_QUOTE
++ if (flags & FLAGS_QUOTE)
++ {
++ expectedWidth += TrioCalcThousandSeparatorLength(integerDigits);
++ }
++#endif
++
++ if (isNegative || (flags & FLAGS_SHOWSIGN) || (flags & FLAGS_SPACE))
++ {
++ expectedWidth += sizeof("-") - 1;
++ }
++
++ exponentDigits = 0;
++ if (flags & FLAGS_FLOAT_E)
++ {
++ exponentDigits = (uExponent == 0)
++ ? 1
++ : (int)trio_ceil(TrioLogarithm((double)(uExponent + 1),
++ (isHex) ? 10 : base));
++ }
++ requireTwoDigitExponent = ((base == BASE_DECIMAL) && (exponentDigits == 1));
++ if (exponentDigits > 0)
++ {
++ expectedWidth += exponentDigits;
++ expectedWidth += (requireTwoDigitExponent
++ ? sizeof("E+0") - 1
++ : sizeof("E+") - 1);
++ }
++
++ if (isHex)
++ {
++ expectedWidth += sizeof("0X") - 1;
++ }
++
++ /* Output prefixing */
++ if (flags & FLAGS_NILPADDING)
++ {
++ /* Leading zeros must be after sign */
++ if (isNegative)
++ self->OutStream(self, '-');
++ else if (flags & FLAGS_SHOWSIGN)
++ self->OutStream(self, '+');
++ else if (flags & FLAGS_SPACE)
++ self->OutStream(self, ' ');
++ if (isHex)
++ {
++ self->OutStream(self, '0');
++ self->OutStream(self, (flags & FLAGS_UPPER) ? 'X' : 'x');
++ }
++ if (!(flags & FLAGS_LEFTADJUST))
++ {
++ for (i = expectedWidth; i < width; i++)
++ {
++ self->OutStream(self, '0');
++ }
++ }
++ }
++ else
++ {
++ /* Leading spaces must be before sign */
++ if (!(flags & FLAGS_LEFTADJUST))
++ {
++ for (i = expectedWidth; i < width; i++)
++ {
++ self->OutStream(self, CHAR_ADJUST);
++ }
++ }
++ if (isNegative)
++ self->OutStream(self, '-');
++ else if (flags & FLAGS_SHOWSIGN)
++ self->OutStream(self, '+');
++ else if (flags & FLAGS_SPACE)
++ self->OutStream(self, ' ');
++ if (isHex)
++ {
++ self->OutStream(self, '0');
++ self->OutStream(self, (flags & FLAGS_UPPER) ? 'X' : 'x');
++ }
++ }
++
++ /* Output the integer part and thousand separators */
++ for (i = 0; i < integerDigits; i++)
++ {
++ workNumber = trio_floor(((integerNumber + integerAdjust)
++ / TrioPower(base, integerDigits - i - 1)));
++ if (i > integerThreshold)
++ {
++ /* Beyond accuracy */
++ self->OutStream(self, digits[0]);
++ }
++ else
++ {
++ self->OutStream(self, digits[(int)trio_fmod(workNumber, dblBase)]);
++ }
++
++#if TRIO_FEATURE_QUOTE
++ if (((flags & (FLAGS_FLOAT_E | FLAGS_QUOTE)) == FLAGS_QUOTE)
++ && TrioFollowedBySeparator(integerDigits - i))
++ {
++ for (groupingPointer = internalThousandSeparator;
++ *groupingPointer != NIL;
++ groupingPointer++)
++ {
++ self->OutStream(self, *groupingPointer);
++ }
++ }
++#endif
++ }
++
++ /* Insert decimal point and build the fraction part */
++ trailingZeroes = 0;
++
++ if (keepDecimalPoint)
++ {
++ if (internalDecimalPoint)
++ {
++ self->OutStream(self, internalDecimalPoint);
++ }
++ else
++ {
++ for (i = 0; i < internalDecimalPointLength; i++)
++ {
++ self->OutStream(self, internalDecimalPointString[i]);
++ }
++ }
++ }
++
++ for (i = 0; i < fractionDigits; i++)
++ {
++ if ((integerDigits > integerThreshold) || (i > fractionThreshold))
++ {
++ /* Beyond accuracy */
++ trailingZeroes++;
++ }
++ else
++ {
++ fractionNumber *= dblBase;
++ fractionAdjust *= dblBase;
++ workNumber = trio_floor(fractionNumber + fractionAdjust);
++ if (workNumber > fractionNumber)
++ {
++ /* fractionNumber should never become negative */
++ fractionNumber = 0.0;
++ fractionAdjust = 0.0;
++ }
++ else
++ {
++ fractionNumber -= workNumber;
++ }
++ offset = (int)trio_fmod(workNumber, dblBase);
++ if (offset == 0)
++ {
++ trailingZeroes++;
++ }
++ else
++ {
++ while (trailingZeroes > 0)
++ {
++ /* Not trailing zeroes after all */
++ self->OutStream(self, digits[0]);
++ trailingZeroes--;
++ }
++ self->OutStream(self, digits[offset]);
++ }
++ }
++ }
++
++ if (keepTrailingZeroes)
++ {
++ while (trailingZeroes > 0)
++ {
++ self->OutStream(self, digits[0]);
++ trailingZeroes--;
++ }
++ }
++
++ /* Output exponent */
++ if (exponentDigits > 0)
++ {
++ self->OutStream(self,
++ isHex
++ ? ((flags & FLAGS_UPPER) ? 'P' : 'p')
++ : ((flags & FLAGS_UPPER) ? 'E' : 'e'));
++ self->OutStream(self, (isExponentNegative) ? '-' : '+');
++
++ /* The exponent must contain at least two digits */
++ if (requireTwoDigitExponent)
++ self->OutStream(self, '0');
++
++ if (isHex)
++ base = 10;
++ exponentBase = (int)TrioPower(base, exponentDigits - 1);
++ for (i = 0; i < exponentDigits; i++)
++ {
++ self->OutStream(self, digits[(uExponent / exponentBase) % base]);
++ exponentBase /= base;
++ }
++ }
++ /* Output trailing spaces */
++ if (flags & FLAGS_LEFTADJUST)
++ {
++ for (i = expectedWidth; i < width; i++)
++ {
++ self->OutStream(self, CHAR_ADJUST);
++ }
++ }
++}
++#endif /* TRIO_FEATURE_FLOAT */
++
++/*************************************************************************
++ * TrioFormatProcess
++ *
++ * Description:
++ * This is the main engine for formatting output
++ */
++TRIO_PRIVATE int
++TrioFormatProcess
++TRIO_ARGS3((data, format, parameters),
++ trio_class_t *data,
++ TRIO_CONST char *format,
++ trio_parameter_t *parameters)
++{
++ int i;
++#if TRIO_FEATURE_ERRNO
++ TRIO_CONST char *string;
++#endif
++ trio_pointer_t pointer;
++ trio_flags_t flags;
++ int width;
++ int precision;
++ int base;
++ int offset;
++
++ offset = 0;
++ i = 0;
++
++ for (;;)
++ {
++ /* Skip the parameter entries */
++ while (parameters[i].type == FORMAT_PARAMETER)
++ i++;
++
++ /* Copy non conversion-specifier part of format string */
++ while (offset < parameters[i].beginOffset)
++ {
++ if (CHAR_IDENTIFIER == format[offset] && CHAR_IDENTIFIER == format[offset + 1])
++ {
++ data->OutStream(data, CHAR_IDENTIFIER);
++ offset += 2;
++ }
++ else
++ {
++ data->OutStream(data, format[offset++]);
++ }
++ }
++
++ /* Abort if we reached end of format string */
++ if (parameters[i].type == FORMAT_SENTINEL)
++ break;
++
++ /* Ouput parameter */
++ flags = parameters[i].flags;
++
++ /* Find width */
++ width = parameters[i].width;
++ if (flags & FLAGS_WIDTH_PARAMETER)
++ {
++ /* Get width from parameter list */
++ width = (int)parameters[width].data.number.as_signed;
++ if (width < 0)
++ {
++ /*
++ * A negative width is the same as the - flag and
++ * a positive width.
++ */
++ flags |= FLAGS_LEFTADJUST;
++ flags &= ~FLAGS_NILPADDING;
++ width = -width;
++ }
++ }
++
++ /* Find precision */
++ if (flags & FLAGS_PRECISION)
++ {
++ precision = parameters[i].precision;
++ if (flags & FLAGS_PRECISION_PARAMETER)
++ {
++ /* Get precision from parameter list */
++ precision = (int)parameters[precision].data.number.as_signed;
++ if (precision < 0)
++ {
++ /*
++ * A negative precision is the same as no
++ * precision
++ */
++ precision = NO_PRECISION;
++ }
++ }
++ }
++ else
++ {
++ precision = NO_PRECISION;
++ }
++
++ /* Find base */
++ if (NO_BASE != parameters[i].baseSpecifier)
++ {
++ /* Base from specifier has priority */
++ base = parameters[i].baseSpecifier;
++ }
++ else if (flags & FLAGS_BASE_PARAMETER)
++ {
++ /* Get base from parameter list */
++ base = parameters[i].base;
++ base = (int)parameters[base].data.number.as_signed;
++ }
++ else
++ {
++ /* Use base from format string */
++ base = parameters[i].base;
++ }
++
++ switch (parameters[i].type)
++ {
++ case FORMAT_CHAR:
++#if TRIO_FEATURE_QUOTE
++ if (flags & FLAGS_QUOTE)
++ data->OutStream(data, CHAR_QUOTE);
++#endif
++ if (! (flags & FLAGS_LEFTADJUST))
++ {
++ while (--width > 0)
++ data->OutStream(data, CHAR_ADJUST);
++ }
++#if TRIO_FEATURE_WIDECHAR
++ if (flags & FLAGS_WIDECHAR)
++ {
++ TrioWriteWideStringCharacter(data,
++ (trio_wchar_t)parameters[i].data.number.as_signed,
++ flags,
++ NO_WIDTH);
++ }
++ else
++#endif
++ {
++ TrioWriteStringCharacter(data,
++ (int)parameters[i].data.number.as_signed,
++ flags);
++ }
++
++ if (flags & FLAGS_LEFTADJUST)
++ {
++ while(--width > 0)
++ data->OutStream(data, CHAR_ADJUST);
++ }
++#if TRIO_FEATURE_QUOTE
++ if (flags & FLAGS_QUOTE)
++ data->OutStream(data, CHAR_QUOTE);
++#endif
++
++ break; /* FORMAT_CHAR */
++
++ case FORMAT_INT:
++ TrioWriteNumber(data,
++ parameters[i].data.number.as_unsigned,
++ flags,
++ width,
++ precision,
++ base);
++
++ break; /* FORMAT_INT */
++
++#if TRIO_FEATURE_FLOAT
++ case FORMAT_DOUBLE:
++ TrioWriteDouble(data,
++ parameters[i].data.longdoubleNumber,
++ flags,
++ width,
++ precision,
++ base);
++ break; /* FORMAT_DOUBLE */
++#endif
++
++ case FORMAT_STRING:
++#if TRIO_FEATURE_WIDECHAR
++ if (flags & FLAGS_WIDECHAR)
++ {
++ TrioWriteWideString(data,
++ parameters[i].data.wstring,
++ flags,
++ width,
++ precision);
++ }
++ else
++#endif
++ {
++ TrioWriteString(data,
++ parameters[i].data.string,
++ flags,
++ width,
++ precision);
++ }
++ break; /* FORMAT_STRING */
++
++ case FORMAT_POINTER:
++ {
++ trio_reference_t reference;
++
++ reference.data = data;
++ reference.parameter = &parameters[i];
++ trio_print_pointer(&reference, parameters[i].data.pointer);
++ }
++ break; /* FORMAT_POINTER */
++
++ case FORMAT_COUNT:
++ pointer = parameters[i].data.pointer;
++ if (NULL != pointer)
++ {
++ /*
++ * C99 paragraph 7.19.6.1.8 says "the number of
++ * characters written to the output stream so far by
++ * this call", which is data->actually.committed
++ */
++#if TRIO_FEATURE_SIZE_T || TRIO_FEATURE_SIZE_T_UPPER
++ if (flags & FLAGS_SIZE_T)
++ *(size_t *)pointer = (size_t)data->actually.committed;
++ else
++#endif
++#if TRIO_FEATURE_PTRDIFF_T
++ if (flags & FLAGS_PTRDIFF_T)
++ *(ptrdiff_t *)pointer = (ptrdiff_t)data->actually.committed;
++ else
++#endif
++#if TRIO_FEATURE_INTMAX_T
++ if (flags & FLAGS_INTMAX_T)
++ *(trio_intmax_t *)pointer = (trio_intmax_t)data->actually.committed;
++ else
++#endif
++ if (flags & FLAGS_QUAD)
++ {
++ *(trio_ulonglong_t *)pointer = (trio_ulonglong_t)data->actually.committed;
++ }
++ else if (flags & FLAGS_LONG)
++ {
++ *(long int *)pointer = (long int)data->actually.committed;
++ }
++ else if (flags & FLAGS_SHORT)
++ {
++ *(short int *)pointer = (short int)data->actually.committed;
++ }
++ else
++ {
++ *(int *)pointer = (int)data->actually.committed;
++ }
++ }
++ break; /* FORMAT_COUNT */
++
++ case FORMAT_PARAMETER:
++ break; /* FORMAT_PARAMETER */
++
++#if TRIO_FEATURE_ERRNO
++ case FORMAT_ERRNO:
++ string = trio_error(parameters[i].data.errorNumber);
++ if (string)
++ {
++ TrioWriteString(data,
++ string,
++ flags,
++ width,
++ precision);
++ }
++ else
++ {
++ data->OutStream(data, '#');
++ TrioWriteNumber(data,
++ (trio_uintmax_t)parameters[i].data.errorNumber,
++ flags,
++ width,
++ precision,
++ BASE_DECIMAL);
++ }
++ break; /* FORMAT_ERRNO */
++#endif /* TRIO_FEATURE_ERRNO */
++
++#if TRIO_FEATURE_USER_DEFINED
++ case FORMAT_USER_DEFINED:
++ {
++ trio_reference_t reference;
++ trio_userdef_t *def = NULL;
++
++ if (parameters[i].flags & FLAGS_USER_DEFINED_PARAMETER)
++ {
++ /* Use handle */
++ if ((i > 0) ||
++ (parameters[i - 1].type == FORMAT_PARAMETER))
++ def = (trio_userdef_t *)parameters[i - 1].data.pointer;
++ }
++ else
++ {
++ /* Look up namespace */
++ def = TrioFindNamespace(parameters[i].user_defined.namespace, NULL);
++ }
++ if (def)
++ {
++ reference.data = data;
++ reference.parameter = &parameters[i];
++ def->callback(&reference);
++ }
++ }
++ break;
++#endif /* TRIO_FEATURE_USER_DEFINED */
++
++ default:
++ break;
++ } /* switch parameter type */
++
++ /* Prepare for next */
++ offset = parameters[i].endOffset;
++ i++;
++ }
++
++ return data->processed;
++}
++
++/*************************************************************************
++ * TrioFormatRef
++ */
++#if TRIO_EXTENSION
++TRIO_PRIVATE int
++TrioFormatRef
++TRIO_ARGS4((reference, format, arglist, argarray),
++ trio_reference_t *reference,
++ TRIO_CONST char *format,
++ va_list arglist,
++ trio_pointer_t *argarray)
++{
++ int status;
++ trio_parameter_t parameters[MAX_PARAMETERS];
++
++ status = TrioParse(TYPE_PRINT, format, parameters, arglist, argarray);
++ if (status < 0)
++ return status;
++
++ status = TrioFormatProcess(reference->data, format, parameters);
++ if (reference->data->error != 0)
++ {
++ status = reference->data->error;
++ }
++ return status;
++}
++#endif /* TRIO_EXTENSION */
++
++/*************************************************************************
++ * TrioFormat
++ */
++TRIO_PRIVATE int
++TrioFormat
++TRIO_ARGS6((destination, destinationSize, OutStream, format, arglist, argarray),
++ trio_pointer_t destination,
++ size_t destinationSize,
++ void (*OutStream) TRIO_PROTO((trio_class_t *, int)),
++ TRIO_CONST char *format,
++ va_list arglist,
++ trio_pointer_t *argarray)
++{
++ int status;
++ trio_class_t data;
++ trio_parameter_t parameters[MAX_PARAMETERS];
++
++ assert(VALID(OutStream));
++ assert(VALID(format));
++
++ memset(&data, 0, sizeof(data));
++ data.OutStream = OutStream;
++ data.location = destination;
++ data.max = destinationSize;
++ data.error = 0;
++
++#if defined(USE_LOCALE)
++ if (NULL == internalLocaleValues)
++ {
++ TrioSetLocale();
++ }
++#endif
++
++ status = TrioParse(TYPE_PRINT, format, parameters, arglist, argarray);
++ if (status < 0)
++ return status;
++
++ status = TrioFormatProcess(&data, format, parameters);
++ if (data.error != 0)
++ {
++ status = data.error;
++ }
++ return status;
++}
++
++/*************************************************************************
++ * TrioOutStreamFile
++ */
++#if TRIO_FEATURE_FILE || TRIO_FEATURE_STDIO
++TRIO_PRIVATE void
++TrioOutStreamFile
++TRIO_ARGS2((self, output),
++ trio_class_t *self,
++ int output)
++{
++ FILE *file;
++
++ assert(VALID(self));
++ assert(VALID(self->location));
++
++ file = (FILE *)self->location;
++ self->processed++;
++ if (fputc(output, file) == EOF)
++ {
++ self->error = TRIO_ERROR_RETURN(TRIO_EOF, 0);
++ }
++ else
++ {
++ self->actually.committed++;
++ }
++}
++#endif /* TRIO_FEATURE_FILE || TRIO_FEATURE_STDIO */
++
++/*************************************************************************
++ * TrioOutStreamFileDescriptor
++ */
++#if TRIO_FEATURE_FD
++TRIO_PRIVATE void
++TrioOutStreamFileDescriptor
++TRIO_ARGS2((self, output),
++ trio_class_t *self,
++ int output)
++{
++ int fd;
++ char ch;
++
++ assert(VALID(self));
++
++ fd = *((int *)self->location);
++ ch = (char)output;
++ self->processed++;
++ if (write(fd, &ch, sizeof(char)) == -1)
++ {
++ self->error = TRIO_ERROR_RETURN(TRIO_ERRNO, 0);
++ }
++ else
++ {
++ self->actually.committed++;
++ }
++}
++#endif /* TRIO_FEATURE_FD */
++
++/*************************************************************************
++ * TrioOutStreamCustom
++ */
++#if TRIO_FEATURE_CLOSURE
++TRIO_PRIVATE void
++TrioOutStreamCustom
++TRIO_ARGS2((self, output),
++ trio_class_t *self,
++ int output)
++{
++ int status;
++ trio_custom_t *data;
++
++ assert(VALID(self));
++ assert(VALID(self->location));
++
++ data = (trio_custom_t *)self->location;
++ if (data->stream.out)
++ {
++ status = (data->stream.out)(data->closure, output);
++ if (status >= 0)
++ {
++ self->actually.committed++;
++ }
++ else
++ {
++ if (self->error == 0)
++ {
++ self->error = TRIO_ERROR_RETURN(TRIO_ECUSTOM, -status);
++ }
++ }
++ }
++ self->processed++;
++}
++#endif /* TRIO_FEATURE_CLOSURE */
++
++/*************************************************************************
++ * TrioOutStreamString
++ */
++TRIO_PRIVATE void
++TrioOutStreamString
++TRIO_ARGS2((self, output),
++ trio_class_t *self,
++ int output)
++{
++ char **buffer;
++
++ assert(VALID(self));
++ assert(VALID(self->location));
++
++ buffer = (char **)self->location;
++ **buffer = (char)output;
++ (*buffer)++;
++ self->processed++;
++ self->actually.committed++;
++}
++
++/*************************************************************************
++ * TrioOutStreamStringMax
++ */
++TRIO_PRIVATE void
++TrioOutStreamStringMax
++TRIO_ARGS2((self, output),
++ trio_class_t *self,
++ int output)
++{
++ char **buffer;
++
++ assert(VALID(self));
++ assert(VALID(self->location));
++
++ buffer = (char **)self->location;
++
++ if (self->processed < self->max)
++ {
++ **buffer = (char)output;
++ (*buffer)++;
++ self->actually.committed++;
++ }
++ self->processed++;
++}
++
++/*************************************************************************
++ * TrioOutStreamStringDynamic
++ */
++#if TRIO_FEATURE_DYNAMICSTRING
++TRIO_PRIVATE void
++TrioOutStreamStringDynamic
++TRIO_ARGS2((self, output),
++ trio_class_t *self,
++ int output)
++{
++ assert(VALID(self));
++ assert(VALID(self->location));
++
++ if (self->error == 0)
++ {
++ trio_xstring_append_char((trio_string_t *)self->location,
++ (char)output);
++ self->actually.committed++;
++ }
++ /* The processed variable must always be increased */
++ self->processed++;
++}
++#endif /* TRIO_FEATURE_DYNAMICSTRING */
++
++/*************************************************************************
++ *
++ * Formatted printing functions
++ *
++ ************************************************************************/
++
++#if defined(TRIO_DOCUMENTATION)
++# include "doc/doc_printf.h"
++#endif
++/** @addtogroup Printf
++ @{
++*/
++
++/*************************************************************************
++ * printf
++ */
++
++/**
++ Print to standard output stream.
++
++ @param format Formatting string.
++ @param ... Arguments.
++ @return Number of printed characters.
++ */
++#if TRIO_FEATURE_STDIO
++TRIO_PUBLIC int
++trio_printf
++TRIO_VARGS2((format, va_alist),
++ TRIO_CONST char *format,
++ TRIO_VA_DECL)
++{
++ int status;
++ va_list args;
++
++ assert(VALID(format));
++
++ TRIO_VA_START(args, format);
++ status = TrioFormat(stdout, 0, TrioOutStreamFile, format, args, NULL);
++ TRIO_VA_END(args);
++ return status;
++}
++#endif /* TRIO_FEATURE_STDIO */
++
++/**
++ Print to standard output stream.
++
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of printed characters.
++ */
++#if TRIO_FEATURE_STDIO
++TRIO_PUBLIC int
++trio_vprintf
++TRIO_ARGS2((format, args),
++ TRIO_CONST char *format,
++ va_list args)
++{
++ assert(VALID(format));
++
++ return TrioFormat(stdout, 0, TrioOutStreamFile, format, args, NULL);
++}
++#endif /* TRIO_FEATURE_STDIO */
++
++/**
++ Print to standard output stream.
++
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of printed characters.
++ */
++#if TRIO_FEATURE_STDIO
++TRIO_PUBLIC int
++trio_printfv
++TRIO_ARGS2((format, args),
++ TRIO_CONST char *format,
++ trio_pointer_t * args)
++{
++ static va_list unused;
++
++ assert(VALID(format));
++
++ return TrioFormat(stdout, 0, TrioOutStreamFile, format, unused, args);
++}
++#endif /* TRIO_FEATURE_STDIO */
++
++/*************************************************************************
++ * fprintf
++ */
++
++/**
++ Print to file.
++
++ @param file File pointer.
++ @param format Formatting string.
++ @param ... Arguments.
++ @return Number of printed characters.
++ */
++#if TRIO_FEATURE_FILE
++TRIO_PUBLIC int
++trio_fprintf
++TRIO_VARGS3((file, format, va_alist),
++ FILE *file,
++ TRIO_CONST char *format,
++ TRIO_VA_DECL)
++{
++ int status;
++ va_list args;
++
++ assert(VALID(file));
++ assert(VALID(format));
++
++ TRIO_VA_START(args, format);
++ status = TrioFormat(file, 0, TrioOutStreamFile, format, args, NULL);
++ TRIO_VA_END(args);
++ return status;
++}
++#endif /* TRIO_FEATURE_FILE */
++
++/**
++ Print to file.
++
++ @param file File pointer.
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of printed characters.
++ */
++#if TRIO_FEATURE_FILE
++TRIO_PUBLIC int
++trio_vfprintf
++TRIO_ARGS3((file, format, args),
++ FILE *file,
++ TRIO_CONST char *format,
++ va_list args)
++{
++ assert(VALID(file));
++ assert(VALID(format));
++
++ return TrioFormat(file, 0, TrioOutStreamFile, format, args, NULL);
++}
++#endif /* TRIO_FEATURE_FILE */
++
++/**
++ Print to file.
++
++ @param file File pointer.
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of printed characters.
++ */
++#if TRIO_FEATURE_FILE
++TRIO_PUBLIC int
++trio_fprintfv
++TRIO_ARGS3((file, format, args),
++ FILE *file,
++ TRIO_CONST char *format,
++ trio_pointer_t * args)
++{
++ static va_list unused;
++
++ assert(VALID(file));
++ assert(VALID(format));
++
++ return TrioFormat(file, 0, TrioOutStreamFile, format, unused, args);
++}
++#endif /* TRIO_FEATURE_FILE */
++
++/*************************************************************************
++ * dprintf
++ */
++
++/**
++ Print to file descriptor.
++
++ @param fd File descriptor.
++ @param format Formatting string.
++ @param ... Arguments.
++ @return Number of printed characters.
++ */
++#if TRIO_FEATURE_FD
++TRIO_PUBLIC int
++trio_dprintf
++TRIO_VARGS3((fd, format, va_alist),
++ int fd,
++ TRIO_CONST char *format,
++ TRIO_VA_DECL)
++{
++ int status;
++ va_list args;
++
++ assert(VALID(format));
++
++ TRIO_VA_START(args, format);
++ status = TrioFormat(&fd, 0, TrioOutStreamFileDescriptor, format, args, NULL);
++ TRIO_VA_END(args);
++ return status;
++}
++#endif /* TRIO_FEATURE_FD */
++
++/**
++ Print to file descriptor.
++
++ @param fd File descriptor.
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of printed characters.
++ */
++#if TRIO_FEATURE_FD
++TRIO_PUBLIC int
++trio_vdprintf
++TRIO_ARGS3((fd, format, args),
++ int fd,
++ TRIO_CONST char *format,
++ va_list args)
++{
++ assert(VALID(format));
++
++ return TrioFormat(&fd, 0, TrioOutStreamFileDescriptor, format, args, NULL);
++}
++#endif /* TRIO_FEATURE_FD */
++
++/**
++ Print to file descriptor.
++
++ @param fd File descriptor.
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of printed characters.
++ */
++#if TRIO_FEATURE_FD
++TRIO_PUBLIC int
++trio_dprintfv
++TRIO_ARGS3((fd, format, args),
++ int fd,
++ TRIO_CONST char *format,
++ trio_pointer_t *args)
++{
++ static va_list unused;
++
++ assert(VALID(format));
++
++ return TrioFormat(&fd, 0, TrioOutStreamFileDescriptor, format, unused, args);
++}
++#endif /* TRIO_FEATURE_FD */
++
++/*************************************************************************
++ * cprintf
++ */
++#if TRIO_FEATURE_CLOSURE
++TRIO_PUBLIC int
++trio_cprintf
++TRIO_VARGS4((stream, closure, format, va_alist),
++ trio_outstream_t stream,
++ trio_pointer_t closure,
++ TRIO_CONST char *format,
++ TRIO_VA_DECL)
++{
++ int status;
++ va_list args;
++ trio_custom_t data;
++
++ assert(VALID(stream));
++ assert(VALID(format));
++
++ TRIO_VA_START(args, format);
++ data.stream.out = stream;
++ data.closure = closure;
++ status = TrioFormat(&data, 0, TrioOutStreamCustom, format, args, NULL);
++ TRIO_VA_END(args);
++ return status;
++}
++#endif /* TRIO_FEATURE_CLOSURE */
++
++#if TRIO_FEATURE_CLOSURE
++TRIO_PUBLIC int
++trio_vcprintf
++TRIO_ARGS4((stream, closure, format, args),
++ trio_outstream_t stream,
++ trio_pointer_t closure,
++ TRIO_CONST char *format,
++ va_list args)
++{
++ trio_custom_t data;
++
++ assert(VALID(stream));
++ assert(VALID(format));
++
++ data.stream.out = stream;
++ data.closure = closure;
++ return TrioFormat(&data, 0, TrioOutStreamCustom, format, args, NULL);
++}
++#endif /* TRIO_FEATURE_CLOSURE */
++
++#if TRIO_FEATURE_CLOSURE
++TRIO_PUBLIC int
++trio_cprintfv
++TRIO_ARGS4((stream, closure, format, args),
++ trio_outstream_t stream,
++ trio_pointer_t closure,
++ TRIO_CONST char *format,
++ void **args)
++{
++ static va_list unused;
++ trio_custom_t data;
++
++ assert(VALID(stream));
++ assert(VALID(format));
++
++ data.stream.out = stream;
++ data.closure = closure;
++ return TrioFormat(&data, 0, TrioOutStreamCustom, format, unused, args);
++}
++#endif /* TRIO_FEATURE_CLOSURE */
++
++/*************************************************************************
++ * sprintf
++ */
++
++/**
++ Print to string.
++
++ @param buffer Output string.
++ @param format Formatting string.
++ @param ... Arguments.
++ @return Number of printed characters.
++ */
++TRIO_PUBLIC int
++trio_sprintf
++TRIO_VARGS3((buffer, format, va_alist),
++ char *buffer,
++ TRIO_CONST char *format,
++ TRIO_VA_DECL)
++{
++ int status;
++ va_list args;
++
++ assert(VALID(buffer));
++ assert(VALID(format));
++
++ TRIO_VA_START(args, format);
++ status = TrioFormat(&buffer, 0, TrioOutStreamString, format, args, NULL);
++ *buffer = NIL; /* Terminate with NIL character */
++ TRIO_VA_END(args);
++ return status;
++}
++
++/**
++ Print to string.
++
++ @param buffer Output string.
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of printed characters.
++ */
++TRIO_PUBLIC int
++trio_vsprintf
++TRIO_ARGS3((buffer, format, args),
++ char *buffer,
++ TRIO_CONST char *format,
++ va_list args)
++{
++ int status;
++
++ assert(VALID(buffer));
++ assert(VALID(format));
++
++ status = TrioFormat(&buffer, 0, TrioOutStreamString, format, args, NULL);
++ *buffer = NIL;
++ return status;
++}
++
++/**
++ Print to string.
++
++ @param buffer Output string.
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of printed characters.
++ */
++TRIO_PUBLIC int
++trio_sprintfv
++TRIO_ARGS3((buffer, format, args),
++ char *buffer,
++ TRIO_CONST char *format,
++ trio_pointer_t *args)
++{
++ static va_list unused;
++ int status;
++
++ assert(VALID(buffer));
++ assert(VALID(format));
++
++ status = TrioFormat(&buffer, 0, TrioOutStreamString, format, unused, args);
++ *buffer = NIL;
++ return status;
++}
++
++/*************************************************************************
++ * snprintf
++ */
++
++/**
++ Print at most @p max characters to string.
++
++ @param buffer Output string.
++ @param max Maximum number of characters to print.
++ @param format Formatting string.
++ @param ... Arguments.
++ @return Number of printed characters.
++ */
++TRIO_PUBLIC int
++trio_snprintf
++TRIO_VARGS4((buffer, max, format, va_alist),
++ char *buffer,
++ size_t max,
++ TRIO_CONST char *format,
++ TRIO_VA_DECL)
++{
++ int status;
++ va_list args;
++
++ assert(VALID(buffer) || (max == 0));
++ assert(VALID(format));
++
++ TRIO_VA_START(args, format);
++ status = TrioFormat(&buffer, max > 0 ? max - 1 : 0,
++ TrioOutStreamStringMax, format, args, NULL);
++ if (max > 0)
++ *buffer = NIL;
++ TRIO_VA_END(args);
++ return status;
++}
++
++/**
++ Print at most @p max characters to string.
++
++ @param buffer Output string.
++ @param max Maximum number of characters to print.
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of printed characters.
++ */
++TRIO_PUBLIC int
++trio_vsnprintf
++TRIO_ARGS4((buffer, max, format, args),
++ char *buffer,
++ size_t max,
++ TRIO_CONST char *format,
++ va_list args)
++{
++ int status;
++
++ assert(VALID(buffer) || (max == 0));
++ assert(VALID(format));
++
++ status = TrioFormat(&buffer, max > 0 ? max - 1 : 0,
++ TrioOutStreamStringMax, format, args, NULL);
++ if (max > 0)
++ *buffer = NIL;
++ return status;
++}
++
++/**
++ Print at most @p max characters to string.
++
++ @param buffer Output string.
++ @param max Maximum number of characters to print.
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of printed characters.
++ */
++TRIO_PUBLIC int
++trio_snprintfv
++TRIO_ARGS4((buffer, max, format, args),
++ char *buffer,
++ size_t max,
++ TRIO_CONST char *format,
++ trio_pointer_t *args)
++{
++ static va_list unused;
++ int status;
++
++ assert(VALID(buffer) || (max == 0));
++ assert(VALID(format));
++
++ status = TrioFormat(&buffer, max > 0 ? max - 1 : 0,
++ TrioOutStreamStringMax, format, unused, args);
++ if (max > 0)
++ *buffer = NIL;
++ return status;
++}
++
++/*************************************************************************
++ * snprintfcat
++ * Appends the new string to the buffer string overwriting the '\0'
++ * character at the end of buffer.
++ */
++#if TRIO_EXTENSION
++TRIO_PUBLIC int
++trio_snprintfcat
++TRIO_VARGS4((buffer, max, format, va_alist),
++ char *buffer,
++ size_t max,
++ TRIO_CONST char *format,
++ TRIO_VA_DECL)
++{
++ int status;
++ va_list args;
++ size_t buf_len;
++
++ TRIO_VA_START(args, format);
++
++ assert(VALID(buffer));
++ assert(VALID(format));
++
++ buf_len = trio_length(buffer);
++ buffer = &buffer[buf_len];
++
++ status = TrioFormat(&buffer, max - 1 - buf_len,
++ TrioOutStreamStringMax, format, args, NULL);
++ TRIO_VA_END(args);
++ *buffer = NIL;
++ return status;
++}
++#endif
++
++#if TRIO_EXTENSION
++TRIO_PUBLIC int
++trio_vsnprintfcat
++TRIO_ARGS4((buffer, max, format, args),
++ char *buffer,
++ size_t max,
++ TRIO_CONST char *format,
++ va_list args)
++{
++ int status;
++ size_t buf_len;
++
++ assert(VALID(buffer));
++ assert(VALID(format));
++
++ buf_len = trio_length(buffer);
++ buffer = &buffer[buf_len];
++ status = TrioFormat(&buffer, max - 1 - buf_len,
++ TrioOutStreamStringMax, format, args, NULL);
++ *buffer = NIL;
++ return status;
++}
++#endif
++
++/*************************************************************************
++ * trio_aprintf
++ */
++
++#if TRIO_DEPRECATED && TRIO_FEATURE_DYNAMICSTRING
++TRIO_PUBLIC char *
++trio_aprintf
++TRIO_VARGS2((format, va_alist),
++ TRIO_CONST char *format,
++ TRIO_VA_DECL)
++{
++ va_list args;
++ trio_string_t *info;
++ char *result = NULL;
++
++ assert(VALID(format));
++
++ info = trio_xstring_duplicate("");
++ if (info)
++ {
++ TRIO_VA_START(args, format);
++ (void)TrioFormat(info, 0, TrioOutStreamStringDynamic,
++ format, args, NULL);
++ TRIO_VA_END(args);
++
++ trio_string_terminate(info);
++ result = trio_string_extract(info);
++ trio_string_destroy(info);
++ }
++ return result;
++}
++#endif /* TRIO_DEPRECATED && TRIO_FEATURE_DYNAMICSTRING */
++
++#if TRIO_DEPRECATED && TRIO_FEATURE_DYNAMICSTRING
++TRIO_PUBLIC char *
++trio_vaprintf
++TRIO_ARGS2((format, args),
++ TRIO_CONST char *format,
++ va_list args)
++{
++ trio_string_t *info;
++ char *result = NULL;
++
++ assert(VALID(format));
++
++ info = trio_xstring_duplicate("");
++ if (info)
++ {
++ (void)TrioFormat(info, 0, TrioOutStreamStringDynamic,
++ format, args, NULL);
++ trio_string_terminate(info);
++ result = trio_string_extract(info);
++ trio_string_destroy(info);
++ }
++ return result;
++}
++#endif /* TRIO_DEPRECATED && TRIO_FEATURE_DYNAMICSTRING */
++
++/**
++ Allocate and print to string.
++ The memory allocated and returned by @p result must be freed by the
++ calling application.
++
++ @param result Output string.
++ @param format Formatting string.
++ @param ... Arguments.
++ @return Number of printed characters.
++ */
++#if TRIO_FEATURE_DYNAMICSTRING
++TRIO_PUBLIC int
++trio_asprintf
++TRIO_VARGS3((result, format, va_alist),
++ char **result,
++ TRIO_CONST char *format,
++ TRIO_VA_DECL)
++{
++ va_list args;
++ int status;
++ trio_string_t *info;
++
++ assert(VALID(format));
++
++ *result = NULL;
++
++ info = trio_xstring_duplicate("");
++ if (info == NULL)
++ {
++ status = TRIO_ERROR_RETURN(TRIO_ENOMEM, 0);
++ }
++ else
++ {
++ TRIO_VA_START(args, format);
++ status = TrioFormat(info, 0, TrioOutStreamStringDynamic,
++ format, args, NULL);
++ TRIO_VA_END(args);
++ if (status >= 0)
++ {
++ trio_string_terminate(info);
++ *result = trio_string_extract(info);
++ }
++ trio_string_destroy(info);
++ }
++ return status;
++}
++#endif /* TRIO_FEATURE_DYNAMICSTRING */
++
++/**
++ Allocate and print to string.
++ The memory allocated and returned by @p result must be freed by the
++ calling application.
++
++ @param result Output string.
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of printed characters.
++ */
++#if TRIO_FEATURE_DYNAMICSTRING
++TRIO_PUBLIC int
++trio_vasprintf
++TRIO_ARGS3((result, format, args),
++ char **result,
++ TRIO_CONST char *format,
++ va_list args)
++{
++ int status;
++ trio_string_t *info;
++
++ assert(VALID(format));
++
++ *result = NULL;
++
++ info = trio_xstring_duplicate("");
++ if (info == NULL)
++ {
++ status = TRIO_ERROR_RETURN(TRIO_ENOMEM, 0);
++ }
++ else
++ {
++ status = TrioFormat(info, 0, TrioOutStreamStringDynamic,
++ format, args, NULL);
++ if (status >= 0)
++ {
++ trio_string_terminate(info);
++ *result = trio_string_extract(info);
++ }
++ trio_string_destroy(info);
++ }
++ return status;
++}
++#endif /* TRIO_FEATURE_DYNAMICSTRING */
++
++/**
++ Allocate and print to string.
++ The memory allocated and returned by @p result must be freed by the
++ calling application.
++
++ @param result Output string.
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of printed characters.
++ */
++#if TRIO_FEATURE_DYNAMICSTRING
++TRIO_PUBLIC int
++trio_asprintfv
++TRIO_ARGS3((result, format, args),
++ char **result,
++ TRIO_CONST char *format,
++ trio_pointer_t * args)
++{
++ static va_list unused;
++ int status;
++ trio_string_t *info;
++
++ assert(VALID(format));
++
++ *result = NULL;
++
++ info = trio_xstring_duplicate("");
++ if (info == NULL)
++ {
++ status = TRIO_ERROR_RETURN(TRIO_ENOMEM, 0);
++ }
++ else
++ {
++ status = TrioFormat(info, 0, TrioOutStreamStringDynamic,
++ format, unused, args);
++ if (status >= 0)
++ {
++ trio_string_terminate(info);
++ *result = trio_string_extract(info);
++ }
++ trio_string_destroy(info);
++ }
++ return status;
++}
++#endif /* TRIO_FEATURE_DYNAMICSTRING */
++
++/** @} End of Printf documentation module */
++
++/*************************************************************************
++ *
++ * CALLBACK
++ *
++ ************************************************************************/
++
++#if defined(TRIO_DOCUMENTATION)
++# include "doc/doc_register.h"
++#endif
++/**
++ @addtogroup UserDefined
++ @{
++*/
++
++#if TRIO_FEATURE_USER_DEFINED
++
++/*************************************************************************
++ * trio_register
++ */
++
++/**
++ Register new user-defined specifier.
++
++ @param callback
++ @param name
++ @return Handle.
++ */
++TRIO_PUBLIC trio_pointer_t
++trio_register
++TRIO_ARGS2((callback, name),
++ trio_callback_t callback,
++ TRIO_CONST char *name)
++{
++ trio_userdef_t *def;
++ trio_userdef_t *prev = NULL;
++
++ if (callback == NULL)
++ return NULL;
++
++ if (name)
++ {
++ /* Handle built-in namespaces */
++ if (name[0] == ':')
++ {
++ if (trio_equal(name, ":enter"))
++ {
++ internalEnterCriticalRegion = callback;
++ }
++ else if (trio_equal(name, ":leave"))
++ {
++ internalLeaveCriticalRegion = callback;
++ }
++ return NULL;
++ }
++
++ /* Bail out if namespace is too long */
++ if (trio_length(name) >= MAX_USER_NAME)
++ return NULL;
++
++ /* Bail out if namespace already is registered */
++ def = TrioFindNamespace(name, &prev);
++ if (def)
++ return NULL;
++ }
++
++ def = (trio_userdef_t *)TRIO_MALLOC(sizeof(trio_userdef_t));
++ if (def)
++ {
++ if (internalEnterCriticalRegion)
++ (void)internalEnterCriticalRegion(NULL);
++
++ if (name)
++ {
++ /* Link into internal list */
++ if (prev == NULL)
++ internalUserDef = def;
++ else
++ prev->next = def;
++ }
++ /* Initialize */
++ def->callback = callback;
++ def->name = (name == NULL)
++ ? NULL
++ : trio_duplicate(name);
++ def->next = NULL;
++
++ if (internalLeaveCriticalRegion)
++ (void)internalLeaveCriticalRegion(NULL);
++ }
++ return (trio_pointer_t)def;
++}
++
++/**
++ Unregister an existing user-defined specifier.
++
++ @param handle
++ */
++void
++trio_unregister
++TRIO_ARGS1((handle),
++ trio_pointer_t handle)
++{
++ trio_userdef_t *self = (trio_userdef_t *)handle;
++ trio_userdef_t *def;
++ trio_userdef_t *prev = NULL;
++
++ assert(VALID(self));
++
++ if (self->name)
++ {
++ def = TrioFindNamespace(self->name, &prev);
++ if (def)
++ {
++ if (internalEnterCriticalRegion)
++ (void)internalEnterCriticalRegion(NULL);
++
++ if (prev == NULL)
++ internalUserDef = internalUserDef->next;
++ else
++ prev->next = def->next;
++
++ if (internalLeaveCriticalRegion)
++ (void)internalLeaveCriticalRegion(NULL);
++ }
++ trio_destroy(self->name);
++ }
++ TRIO_FREE(self);
++}
++
++/*************************************************************************
++ * trio_get_format [public]
++ */
++TRIO_CONST char *
++trio_get_format
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++#if TRIO_FEATURE_USER_DEFINED
++ assert(((trio_reference_t *)ref)->parameter->type == FORMAT_USER_DEFINED);
++#endif
++
++ return (((trio_reference_t *)ref)->parameter->user_data);
++}
++
++/*************************************************************************
++ * trio_get_argument [public]
++ */
++TRIO_CONST trio_pointer_t
++trio_get_argument
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++#if TRIO_FEATURE_USER_DEFINED
++ assert(((trio_reference_t *)ref)->parameter->type == FORMAT_USER_DEFINED);
++#endif
++
++ return ((trio_reference_t *)ref)->parameter->data.pointer;
++}
++
++/*************************************************************************
++ * trio_get_width / trio_set_width [public]
++ */
++int
++trio_get_width
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return ((trio_reference_t *)ref)->parameter->width;
++}
++
++void
++trio_set_width
++TRIO_ARGS2((ref, width),
++ trio_pointer_t ref,
++ int width)
++{
++ ((trio_reference_t *)ref)->parameter->width = width;
++}
++
++/*************************************************************************
++ * trio_get_precision / trio_set_precision [public]
++ */
++int
++trio_get_precision
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->precision);
++}
++
++void
++trio_set_precision
++TRIO_ARGS2((ref, precision),
++ trio_pointer_t ref,
++ int precision)
++{
++ ((trio_reference_t *)ref)->parameter->precision = precision;
++}
++
++/*************************************************************************
++ * trio_get_base / trio_set_base [public]
++ */
++int
++trio_get_base
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->base);
++}
++
++void
++trio_set_base
++TRIO_ARGS2((ref, base),
++ trio_pointer_t ref,
++ int base)
++{
++ ((trio_reference_t *)ref)->parameter->base = base;
++}
++
++/*************************************************************************
++ * trio_get_long / trio_set_long [public]
++ */
++int
++trio_get_long
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->flags & FLAGS_LONG)
++ ? TRUE
++ : FALSE;
++}
++
++void
++trio_set_long
++TRIO_ARGS2((ref, is_long),
++ trio_pointer_t ref,
++ int is_long)
++{
++ if (is_long)
++ ((trio_reference_t *)ref)->parameter->flags |= FLAGS_LONG;
++ else
++ ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_LONG;
++}
++
++/*************************************************************************
++ * trio_get_longlong / trio_set_longlong [public]
++ */
++int
++trio_get_longlong
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->flags & FLAGS_QUAD)
++ ? TRUE
++ : FALSE;
++}
++
++void
++trio_set_longlong
++TRIO_ARGS2((ref, is_longlong),
++ trio_pointer_t ref,
++ int is_longlong)
++{
++ if (is_longlong)
++ ((trio_reference_t *)ref)->parameter->flags |= FLAGS_QUAD;
++ else
++ ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_QUAD;
++}
++
++/*************************************************************************
++ * trio_get_longdouble / trio_set_longdouble [public]
++ */
++# if TRIO_FEATURE_FLOAT
++int
++trio_get_longdouble
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->flags & FLAGS_LONGDOUBLE)
++ ? TRUE
++ : FALSE;
++}
++
++void
++trio_set_longdouble
++TRIO_ARGS2((ref, is_longdouble),
++ trio_pointer_t ref,
++ int is_longdouble)
++{
++ if (is_longdouble)
++ ((trio_reference_t *)ref)->parameter->flags |= FLAGS_LONGDOUBLE;
++ else
++ ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_LONGDOUBLE;
++}
++# endif /* TRIO_FEATURE_FLOAT */
++
++/*************************************************************************
++ * trio_get_short / trio_set_short [public]
++ */
++int
++trio_get_short
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->flags & FLAGS_SHORT)
++ ? TRUE
++ : FALSE;
++}
++
++void
++trio_set_short
++TRIO_ARGS2((ref, is_short),
++ trio_pointer_t ref,
++ int is_short)
++{
++ if (is_short)
++ ((trio_reference_t *)ref)->parameter->flags |= FLAGS_SHORT;
++ else
++ ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_SHORT;
++}
++
++/*************************************************************************
++ * trio_get_shortshort / trio_set_shortshort [public]
++ */
++int
++trio_get_shortshort
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->flags & FLAGS_SHORTSHORT)
++ ? TRUE
++ : FALSE;
++}
++
++void
++trio_set_shortshort
++TRIO_ARGS2((ref, is_shortshort),
++ trio_pointer_t ref,
++ int is_shortshort)
++{
++ if (is_shortshort)
++ ((trio_reference_t *)ref)->parameter->flags |= FLAGS_SHORTSHORT;
++ else
++ ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_SHORTSHORT;
++}
++
++/*************************************************************************
++ * trio_get_alternative / trio_set_alternative [public]
++ */
++int
++trio_get_alternative
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->flags & FLAGS_ALTERNATIVE)
++ ? TRUE
++ : FALSE;
++}
++
++void
++trio_set_alternative
++TRIO_ARGS2((ref, is_alternative),
++ trio_pointer_t ref,
++ int is_alternative)
++{
++ if (is_alternative)
++ ((trio_reference_t *)ref)->parameter->flags |= FLAGS_ALTERNATIVE;
++ else
++ ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_ALTERNATIVE;
++}
++
++/*************************************************************************
++ * trio_get_alignment / trio_set_alignment [public]
++ */
++int
++trio_get_alignment
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->flags & FLAGS_LEFTADJUST)
++ ? TRUE
++ : FALSE;
++}
++
++void
++trio_set_alignment
++TRIO_ARGS2((ref, is_leftaligned),
++ trio_pointer_t ref,
++ int is_leftaligned)
++{
++ if (is_leftaligned)
++ ((trio_reference_t *)ref)->parameter->flags |= FLAGS_LEFTADJUST;
++ else
++ ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_LEFTADJUST;
++}
++
++/*************************************************************************
++ * trio_get_spacing /trio_set_spacing [public]
++ */
++int
++trio_get_spacing
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->flags & FLAGS_SPACE)
++ ? TRUE
++ : FALSE;
++}
++
++void
++trio_set_spacing
++TRIO_ARGS2((ref, is_space),
++ trio_pointer_t ref,
++ int is_space)
++{
++ if (is_space)
++ ((trio_reference_t *)ref)->parameter->flags |= FLAGS_SPACE;
++ else
++ ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_SPACE;
++}
++
++/*************************************************************************
++ * trio_get_sign / trio_set_sign [public]
++ */
++int
++trio_get_sign
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->flags & FLAGS_SHOWSIGN)
++ ? TRUE
++ : FALSE;
++}
++
++void
++trio_set_sign
++TRIO_ARGS2((ref, is_sign),
++ trio_pointer_t ref,
++ int is_sign)
++{
++ if (is_sign)
++ ((trio_reference_t *)ref)->parameter->flags |= FLAGS_SHOWSIGN;
++ else
++ ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_SHOWSIGN;
++}
++
++/*************************************************************************
++ * trio_get_padding / trio_set_padding [public]
++ */
++int
++trio_get_padding
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->flags & FLAGS_NILPADDING)
++ ? TRUE
++ : FALSE;
++}
++
++void
++trio_set_padding
++TRIO_ARGS2((ref, is_padding),
++ trio_pointer_t ref,
++ int is_padding)
++{
++ if (is_padding)
++ ((trio_reference_t *)ref)->parameter->flags |= FLAGS_NILPADDING;
++ else
++ ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_NILPADDING;
++}
++
++/*************************************************************************
++ * trio_get_quote / trio_set_quote [public]
++ */
++# if TRIO_FEATURE_QUOTE
++int
++trio_get_quote
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->flags & FLAGS_QUOTE)
++ ? TRUE
++ : FALSE;
++}
++
++void
++trio_set_quote
++TRIO_ARGS2((ref, is_quote),
++ trio_pointer_t ref,
++ int is_quote)
++{
++ if (is_quote)
++ ((trio_reference_t *)ref)->parameter->flags |= FLAGS_QUOTE;
++ else
++ ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_QUOTE;
++}
++#endif /* TRIO_FEATURE_QUOTE */
++
++/*************************************************************************
++ * trio_get_upper / trio_set_upper [public]
++ */
++int
++trio_get_upper
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->flags & FLAGS_UPPER)
++ ? TRUE
++ : FALSE;
++}
++
++void
++trio_set_upper
++TRIO_ARGS2((ref, is_upper),
++ trio_pointer_t ref,
++ int is_upper)
++{
++ if (is_upper)
++ ((trio_reference_t *)ref)->parameter->flags |= FLAGS_UPPER;
++ else
++ ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_UPPER;
++}
++
++/*************************************************************************
++ * trio_get_largest / trio_set_largest [public]
++ */
++#if TRIO_FEATURE_INTMAX_T
++int
++trio_get_largest
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->flags & FLAGS_INTMAX_T)
++ ? TRUE
++ : FALSE;
++}
++
++void
++trio_set_largest
++TRIO_ARGS2((ref, is_largest),
++ trio_pointer_t ref,
++ int is_largest)
++{
++ if (is_largest)
++ ((trio_reference_t *)ref)->parameter->flags |= FLAGS_INTMAX_T;
++ else
++ ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_INTMAX_T;
++}
++#endif /* TRIO_FEATURE_INTMAX_T */
++
++/*************************************************************************
++ * trio_get_ptrdiff / trio_set_ptrdiff [public]
++ */
++#if TRIO_FEATURE_PTRDIFF_T
++int
++trio_get_ptrdiff
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->flags & FLAGS_PTRDIFF_T)
++ ? TRUE
++ : FALSE;
++}
++
++void
++trio_set_ptrdiff
++TRIO_ARGS2((ref, is_ptrdiff),
++ trio_pointer_t ref,
++ int is_ptrdiff)
++{
++ if (is_ptrdiff)
++ ((trio_reference_t *)ref)->parameter->flags |= FLAGS_PTRDIFF_T;
++ else
++ ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_PTRDIFF_T;
++}
++#endif /* TRIO_FEATURE_PTRDIFF_T */
++
++/*************************************************************************
++ * trio_get_size / trio_set_size [public]
++ */
++#if TRIO_FEATURE_SIZE_T
++int
++trio_get_size
++TRIO_ARGS1((ref),
++ trio_pointer_t ref)
++{
++ return (((trio_reference_t *)ref)->parameter->flags & FLAGS_SIZE_T)
++ ? TRUE
++ : FALSE;
++}
++
++void
++trio_set_size
++TRIO_ARGS2((ref, is_size),
++ trio_pointer_t ref,
++ int is_size)
++{
++ if (is_size)
++ ((trio_reference_t *)ref)->parameter->flags |= FLAGS_SIZE_T;
++ else
++ ((trio_reference_t *)ref)->parameter->flags &= ~FLAGS_SIZE_T;
++}
++#endif /* TRIO_FEATURE_SIZE_T */
++
++/*************************************************************************
++ * trio_print_int [public]
++ */
++void
++trio_print_int
++TRIO_ARGS2((ref, number),
++ trio_pointer_t ref,
++ int number)
++{
++ trio_reference_t *self = (trio_reference_t *)ref;
++
++ TrioWriteNumber(self->data,
++ (trio_uintmax_t)number,
++ self->parameter->flags,
++ self->parameter->width,
++ self->parameter->precision,
++ self->parameter->base);
++}
++
++/*************************************************************************
++ * trio_print_uint [public]
++ */
++void
++trio_print_uint
++TRIO_ARGS2((ref, number),
++ trio_pointer_t ref,
++ unsigned int number)
++{
++ trio_reference_t *self = (trio_reference_t *)ref;
++
++ TrioWriteNumber(self->data,
++ (trio_uintmax_t)number,
++ self->parameter->flags | FLAGS_UNSIGNED,
++ self->parameter->width,
++ self->parameter->precision,
++ self->parameter->base);
++}
++
++/*************************************************************************
++ * trio_print_double [public]
++ */
++#if TRIO_FEATURE_FLOAT
++void
++trio_print_double
++TRIO_ARGS2((ref, number),
++ trio_pointer_t ref,
++ double number)
++{
++ trio_reference_t *self = (trio_reference_t *)ref;
++
++ TrioWriteDouble(self->data,
++ number,
++ self->parameter->flags,
++ self->parameter->width,
++ self->parameter->precision,
++ self->parameter->base);
++}
++#endif /* TRIO_FEATURE_FLOAT */
++
++/*************************************************************************
++ * trio_print_string [public]
++ */
++void
++trio_print_string
++TRIO_ARGS2((ref, string),
++ trio_pointer_t ref,
++ TRIO_CONST char *string)
++{
++ trio_reference_t *self = (trio_reference_t *)ref;
++
++ TrioWriteString(self->data,
++ string,
++ self->parameter->flags,
++ self->parameter->width,
++ self->parameter->precision);
++}
++
++/*************************************************************************
++ * trio_print_ref [public]
++ */
++int
++trio_print_ref
++TRIO_VARGS3((ref, format, va_alist),
++ trio_pointer_t ref,
++ TRIO_CONST char *format,
++ TRIO_VA_DECL)
++{
++ int status;
++ va_list arglist;
++
++ assert(VALID(format));
++
++ TRIO_VA_START(arglist, format);
++ status = TrioFormatRef((trio_reference_t *)ref, format, arglist, NULL);
++ TRIO_VA_END(arglist);
++ return status;
++}
++
++/*************************************************************************
++ * trio_vprint_ref [public]
++ */
++int
++trio_vprint_ref
++TRIO_ARGS3((ref, format, arglist),
++ trio_pointer_t ref,
++ TRIO_CONST char *format,
++ va_list arglist)
++{
++ assert(VALID(format));
++
++ return TrioFormatRef((trio_reference_t *)ref, format, arglist, NULL);
++}
++
++/*************************************************************************
++ * trio_printv_ref [public]
++ */
++int
++trio_printv_ref
++TRIO_ARGS3((ref, format, argarray),
++ trio_pointer_t ref,
++ TRIO_CONST char *format,
++ trio_pointer_t *argarray)
++{
++ static va_list unused;
++
++ assert(VALID(format));
++
++ return TrioFormatRef((trio_reference_t *)ref, format, unused, argarray);
++}
++
++#endif
++
++/*************************************************************************
++ * trio_print_pointer [public]
++ */
++void
++trio_print_pointer
++TRIO_ARGS2((ref, pointer),
++ trio_pointer_t ref,
++ trio_pointer_t pointer)
++{
++ trio_reference_t *self = (trio_reference_t *)ref;
++ trio_flags_t flags;
++ trio_uintmax_t number;
++
++ if (NULL == pointer)
++ {
++ TRIO_CONST char *string = internalNullString;
++ while (*string)
++ self->data->OutStream(self->data, *string++);
++ }
++ else
++ {
++ /*
++ * The subtraction of the null pointer is a workaround
++ * to avoid a compiler warning. The performance overhead
++ * is negligible (and likely to be removed by an
++ * optimizing compiler). The (char *) casting is done
++ * to please ANSI C++.
++ */
++ number = (trio_uintmax_t)((char *)pointer - (char *)0);
++ /* Shrink to size of pointer */
++ number &= (trio_uintmax_t)-1;
++ flags = self->parameter->flags;
++ flags |= (FLAGS_UNSIGNED | FLAGS_ALTERNATIVE |
++ FLAGS_NILPADDING);
++ TrioWriteNumber(self->data,
++ number,
++ flags,
++ POINTER_WIDTH,
++ NO_PRECISION,
++ BASE_HEX);
++ }
++}
++
++/** @} End of UserDefined documentation module */
++
++/*************************************************************************
++ *
++ * LOCALES
++ *
++ ************************************************************************/
++
++/*************************************************************************
++ * trio_locale_set_decimal_point
++ *
++ * Decimal point can only be one character. The input argument is a
++ * string to enable multibyte characters. At most MB_LEN_MAX characters
++ * will be used.
++ */
++#if TRIO_FEATURE_LOCALE
++TRIO_PUBLIC void
++trio_locale_set_decimal_point
++TRIO_ARGS1((decimalPoint),
++ char *decimalPoint)
++{
++#if defined(USE_LOCALE)
++ if (NULL == internalLocaleValues)
++ {
++ TrioSetLocale();
++ }
++#endif
++ internalDecimalPointLength = trio_length(decimalPoint);
++ if (internalDecimalPointLength == 1)
++ {
++ internalDecimalPoint = *decimalPoint;
++ }
++ else
++ {
++ internalDecimalPoint = NIL;
++ trio_copy_max(internalDecimalPointString,
++ sizeof(internalDecimalPointString),
++ decimalPoint);
++ }
++}
++#endif
++
++/*************************************************************************
++ * trio_locale_set_thousand_separator
++ *
++ * See trio_locale_set_decimal_point
++ */
++#if TRIO_FEATURE_LOCALE || TRIO_EXTENSION
++TRIO_PUBLIC void
++trio_locale_set_thousand_separator
++TRIO_ARGS1((thousandSeparator),
++ char *thousandSeparator)
++{
++# if defined(USE_LOCALE)
++ if (NULL == internalLocaleValues)
++ {
++ TrioSetLocale();
++ }
++# endif
++ trio_copy_max(internalThousandSeparator,
++ sizeof(internalThousandSeparator),
++ thousandSeparator);
++ internalThousandSeparatorLength = trio_length(internalThousandSeparator);
++}
++#endif
++
++/*************************************************************************
++ * trio_locale_set_grouping
++ *
++ * Array of bytes. Reversed order.
++ *
++ * CHAR_MAX : No further grouping
++ * 0 : Repeat last group for the remaining digits (not necessary
++ * as C strings are zero-terminated)
++ * n : Set current group to n
++ *
++ * Same order as the grouping attribute in LC_NUMERIC.
++ */
++#if TRIO_FEATURE_LOCALE || TRIO_EXTENSION
++TRIO_PUBLIC void
++trio_locale_set_grouping
++TRIO_ARGS1((grouping),
++ char *grouping)
++{
++# if defined(USE_LOCALE)
++ if (NULL == internalLocaleValues)
++ {
++ TrioSetLocale();
++ }
++# endif
++ trio_copy_max(internalGrouping,
++ sizeof(internalGrouping),
++ grouping);
++}
++#endif
++
++
++/*************************************************************************
++ *
++ * SCANNING
++ *
++ ************************************************************************/
++
++#if TRIO_FEATURE_SCANF
++
++/*************************************************************************
++ * TrioSkipWhitespaces
++ */
++TRIO_PRIVATE int
++TrioSkipWhitespaces
++TRIO_ARGS1((self),
++ trio_class_t *self)
++{
++ int ch;
++
++ ch = self->current;
++ while (isspace(ch))
++ {
++ self->InStream(self, &ch);
++ }
++ return ch;
++}
++
++/*************************************************************************
++ * TrioGetCollation
++ */
++#if TRIO_EXTENSION
++TRIO_PRIVATE void
++TrioGetCollation(TRIO_NOARGS)
++{
++ int i;
++ int j;
++ int k;
++ char first[2];
++ char second[2];
++
++ /* This is computationally expensive */
++ first[1] = NIL;
++ second[1] = NIL;
++ for (i = 0; i < MAX_CHARACTER_CLASS; i++)
++ {
++ k = 0;
++ first[0] = (char)i;
++ for (j = 0; j < MAX_CHARACTER_CLASS; j++)
++ {
++ second[0] = (char)j;
++ if (trio_equal_locale(first, second))
++ internalCollationArray[i][k++] = (char)j;
++ }
++ internalCollationArray[i][k] = NIL;
++ }
++}
++#endif
++
++/*************************************************************************
++ * TrioGetCharacterClass
++ *
++ * FIXME:
++ * multibyte
++ */
++TRIO_PRIVATE int
++TrioGetCharacterClass
++TRIO_ARGS4((format, offsetPointer, flagsPointer, characterclass),
++ TRIO_CONST char *format,
++ int *offsetPointer,
++ trio_flags_t *flagsPointer,
++ int *characterclass)
++{
++ int offset = *offsetPointer;
++ int i;
++ char ch;
++ char range_begin;
++ char range_end;
++
++ *flagsPointer &= ~FLAGS_EXCLUDE;
++
++ if (format[offset] == QUALIFIER_CIRCUMFLEX)
++ {
++ *flagsPointer |= FLAGS_EXCLUDE;
++ offset++;
++ }
++ /*
++ * If the ungroup character is at the beginning of the scanlist,
++ * it will be part of the class, and a second ungroup character
++ * must follow to end the group.
++ */
++ if (format[offset] == SPECIFIER_UNGROUP)
++ {
++ characterclass[(int)SPECIFIER_UNGROUP]++;
++ offset++;
++ }
++ /*
++ * Minus is used to specify ranges. To include minus in the class,
++ * it must be at the beginning of the list
++ */
++ if (format[offset] == QUALIFIER_MINUS)
++ {
++ characterclass[(int)QUALIFIER_MINUS]++;
++ offset++;
++ }
++ /* Collect characters */
++ for (ch = format[offset];
++ (ch != SPECIFIER_UNGROUP) && (ch != NIL);
++ ch = format[++offset])
++ {
++ switch (ch)
++ {
++ case QUALIFIER_MINUS: /* Scanlist ranges */
++
++ /*
++ * Both C99 and UNIX98 describes ranges as implementation-
++ * defined.
++ *
++ * We support the following behaviour (although this may
++ * change as we become wiser)
++ * - only increasing ranges, ie. [a-b] but not [b-a]
++ * - transitive ranges, ie. [a-b-c] == [a-c]
++ * - trailing minus, ie. [a-] is interpreted as an 'a'
++ * and a '-'
++ * - duplicates (although we can easily convert these
++ * into errors)
++ */
++ range_begin = format[offset - 1];
++ range_end = format[++offset];
++ if (range_end == SPECIFIER_UNGROUP)
++ {
++ /* Trailing minus is included */
++ characterclass[(int)ch]++;
++ ch = range_end;
++ break; /* for */
++ }
++ if (range_end == NIL)
++ return TRIO_ERROR_RETURN(TRIO_EINVAL, offset);
++ if (range_begin > range_end)
++ return TRIO_ERROR_RETURN(TRIO_ERANGE, offset);
++
++ for (i = (int)range_begin; i <= (int)range_end; i++)
++ characterclass[i]++;
++
++ ch = range_end;
++ break;
++
++#if TRIO_EXTENSION
++
++ case SPECIFIER_GROUP:
++
++ switch (format[offset + 1])
++ {
++ case QUALIFIER_DOT: /* Collating symbol */
++ /*
++ * FIXME: This will be easier to implement when multibyte
++ * characters have been implemented. Until now, we ignore
++ * this feature.
++ */
++ for (i = offset + 2; ; i++)
++ {
++ if (format[i] == NIL)
++ /* Error in syntax */
++ return -1;
++ else if (format[i] == QUALIFIER_DOT)
++ break; /* for */
++ }
++ if (format[++i] != SPECIFIER_UNGROUP)
++ return -1;
++
++ offset = i;
++ break;
++
++ case QUALIFIER_EQUAL: /* Equivalence class expressions */
++ {
++ unsigned int j;
++ unsigned int k;
++
++ if (internalCollationUnconverted)
++ {
++ /* Lazy evaluation of collation array */
++ TrioGetCollation();
++ internalCollationUnconverted = FALSE;
++ }
++ for (i = offset + 2; ; i++)
++ {
++ if (format[i] == NIL)
++ /* Error in syntax */
++ return -1;
++ else if (format[i] == QUALIFIER_EQUAL)
++ break; /* for */
++ else
++ {
++ /* Mark any equivalent character */
++ k = (unsigned int)format[i];
++ for (j = 0; internalCollationArray[k][j] != NIL; j++)
++ characterclass[(int)internalCollationArray[k][j]]++;
++ }
++ }
++ if (format[++i] != SPECIFIER_UNGROUP)
++ return -1;
++
++ offset = i;
++ }
++ break;
++
++ case QUALIFIER_COLON: /* Character class expressions */
++
++ if (trio_equal_max(CLASS_ALNUM, sizeof(CLASS_ALNUM) - 1,
++ &format[offset]))
++ {
++ for (i = 0; i < MAX_CHARACTER_CLASS; i++)
++ if (isalnum(i))
++ characterclass[i]++;
++ offset += sizeof(CLASS_ALNUM) - 1;
++ }
++ else if (trio_equal_max(CLASS_ALPHA, sizeof(CLASS_ALPHA) - 1,
++ &format[offset]))
++ {
++ for (i = 0; i < MAX_CHARACTER_CLASS; i++)
++ if (isalpha(i))
++ characterclass[i]++;
++ offset += sizeof(CLASS_ALPHA) - 1;
++ }
++ else if (trio_equal_max(CLASS_CNTRL, sizeof(CLASS_CNTRL) - 1,
++ &format[offset]))
++ {
++ for (i = 0; i < MAX_CHARACTER_CLASS; i++)
++ if (iscntrl(i))
++ characterclass[i]++;
++ offset += sizeof(CLASS_CNTRL) - 1;
++ }
++ else if (trio_equal_max(CLASS_DIGIT, sizeof(CLASS_DIGIT) - 1,
++ &format[offset]))
++ {
++ for (i = 0; i < MAX_CHARACTER_CLASS; i++)
++ if (isdigit(i))
++ characterclass[i]++;
++ offset += sizeof(CLASS_DIGIT) - 1;
++ }
++ else if (trio_equal_max(CLASS_GRAPH, sizeof(CLASS_GRAPH) - 1,
++ &format[offset]))
++ {
++ for (i = 0; i < MAX_CHARACTER_CLASS; i++)
++ if (isgraph(i))
++ characterclass[i]++;
++ offset += sizeof(CLASS_GRAPH) - 1;
++ }
++ else if (trio_equal_max(CLASS_LOWER, sizeof(CLASS_LOWER) - 1,
++ &format[offset]))
++ {
++ for (i = 0; i < MAX_CHARACTER_CLASS; i++)
++ if (islower(i))
++ characterclass[i]++;
++ offset += sizeof(CLASS_LOWER) - 1;
++ }
++ else if (trio_equal_max(CLASS_PRINT, sizeof(CLASS_PRINT) - 1,
++ &format[offset]))
++ {
++ for (i = 0; i < MAX_CHARACTER_CLASS; i++)
++ if (isprint(i))
++ characterclass[i]++;
++ offset += sizeof(CLASS_PRINT) - 1;
++ }
++ else if (trio_equal_max(CLASS_PUNCT, sizeof(CLASS_PUNCT) - 1,
++ &format[offset]))
++ {
++ for (i = 0; i < MAX_CHARACTER_CLASS; i++)
++ if (ispunct(i))
++ characterclass[i]++;
++ offset += sizeof(CLASS_PUNCT) - 1;
++ }
++ else if (trio_equal_max(CLASS_SPACE, sizeof(CLASS_SPACE) - 1,
++ &format[offset]))
++ {
++ for (i = 0; i < MAX_CHARACTER_CLASS; i++)
++ if (isspace(i))
++ characterclass[i]++;
++ offset += sizeof(CLASS_SPACE) - 1;
++ }
++ else if (trio_equal_max(CLASS_UPPER, sizeof(CLASS_UPPER) - 1,
++ &format[offset]))
++ {
++ for (i = 0; i < MAX_CHARACTER_CLASS; i++)
++ if (isupper(i))
++ characterclass[i]++;
++ offset += sizeof(CLASS_UPPER) - 1;
++ }
++ else if (trio_equal_max(CLASS_XDIGIT, sizeof(CLASS_XDIGIT) - 1,
++ &format[offset]))
++ {
++ for (i = 0; i < MAX_CHARACTER_CLASS; i++)
++ if (isxdigit(i))
++ characterclass[i]++;
++ offset += sizeof(CLASS_XDIGIT) - 1;
++ }
++ else
++ {
++ characterclass[(int)ch]++;
++ }
++ break;
++
++ default:
++ characterclass[(int)ch]++;
++ break;
++ }
++ break;
++
++#endif /* TRIO_EXTENSION */
++
++ default:
++ characterclass[(int)ch]++;
++ break;
++ }
++ }
++ return 0;
++}
++
++/*************************************************************************
++ * TrioReadNumber
++ *
++ * We implement our own number conversion in preference of strtol and
++ * strtoul, because we must handle 'long long' and thousand separators.
++ */
++TRIO_PRIVATE BOOLEAN_T
++TrioReadNumber
++TRIO_ARGS5((self, target, flags, width, base),
++ trio_class_t *self,
++ trio_uintmax_t *target,
++ trio_flags_t flags,
++ int width,
++ int base)
++{
++ trio_uintmax_t number = 0;
++ int digit;
++ int count;
++ BOOLEAN_T isNegative = FALSE;
++ BOOLEAN_T gotNumber = FALSE;
++ int j;
++
++ assert(VALID(self));
++ assert(VALID(self->InStream));
++ assert((base >= MIN_BASE && base <= MAX_BASE) || (base == NO_BASE));
++
++ if (internalDigitsUnconverted)
++ {
++ /* Lazy evaluation of digits array */
++ memset(internalDigitArray, -1, sizeof(internalDigitArray));
++ for (j = 0; j < (int)sizeof(internalDigitsLower) - 1; j++)
++ {
++ internalDigitArray[(int)internalDigitsLower[j]] = j;
++ internalDigitArray[(int)internalDigitsUpper[j]] = j;
++ }
++ internalDigitsUnconverted = FALSE;
++ }
++
++ TrioSkipWhitespaces(self);
++
++ /* Leading sign */
++ if (self->current == '+')
++ {
++ self->InStream(self, NULL);
++ }
++ else if (self->current == '-')
++ {
++ self->InStream(self, NULL);
++ isNegative = TRUE;
++ }
++
++ count = self->processed;
++
++ if (flags & FLAGS_ALTERNATIVE)
++ {
++ switch (base)
++ {
++ case NO_BASE:
++ case BASE_OCTAL:
++ case BASE_HEX:
++ case BASE_BINARY:
++ if (self->current == '0')
++ {
++ self->InStream(self, NULL);
++ if (self->current)
++ {
++ if ((base == BASE_HEX) &&
++ (trio_to_upper(self->current) == 'X'))
++ {
++ self->InStream(self, NULL);
++ }
++ else if ((base == BASE_BINARY) &&
++ (trio_to_upper(self->current) == 'B'))
++ {
++ self->InStream(self, NULL);
++ }
++ }
++ }
++ else
++ return FALSE;
++ break;
++ default:
++ break;
++ }
++ }
++
++ while (((width == NO_WIDTH) || (self->processed - count < width)) &&
++ (! ((self->current == EOF) || isspace(self->current))))
++ {
++ if (isascii(self->current))
++ {
++ digit = internalDigitArray[self->current];
++ /* Abort if digit is not allowed in the specified base */
++ if ((digit == -1) || (digit >= base))
++ break;
++ }
++#if TRIO_FEATURE_QUOTE
++ else if (flags & FLAGS_QUOTE)
++ {
++ /* Compare with thousands separator */
++ for (j = 0; internalThousandSeparator[j] && self->current; j++)
++ {
++ if (internalThousandSeparator[j] != self->current)
++ break;
++
++ self->InStream(self, NULL);
++ }
++ if (internalThousandSeparator[j])
++ break; /* Mismatch */
++ else
++ continue; /* Match */
++ }
++#endif
++ else
++ break;
++
++ number *= base;
++ number += digit;
++ gotNumber = TRUE; /* we need at least one digit */
++
++ self->InStream(self, NULL);
++ }
++
++ /* Was anything read at all? */
++ if (!gotNumber)
++ return FALSE;
++
++ if (target)
++ *target = (isNegative) ? (trio_uintmax_t)(-((trio_intmax_t)number)) : number;
++ return TRUE;
++}
++
++/*************************************************************************
++ * TrioReadChar
++ */
++TRIO_PRIVATE int
++TrioReadChar
++TRIO_ARGS4((self, target, flags, width),
++ trio_class_t *self,
++ char *target,
++ trio_flags_t flags,
++ int width)
++{
++ int i;
++ char ch;
++ trio_uintmax_t number;
++
++ assert(VALID(self));
++ assert(VALID(self->InStream));
++
++ for (i = 0;
++ (self->current != EOF) && (i < width);
++ i++)
++ {
++ ch = (char)self->current;
++ self->InStream(self, NULL);
++ if ((flags & FLAGS_ALTERNATIVE) && (ch == CHAR_BACKSLASH))
++ {
++ switch (self->current)
++ {
++ case '\\': ch = '\\'; break;
++ case 'a': ch = '\007'; break;
++ case 'b': ch = '\b'; break;
++ case 'f': ch = '\f'; break;
++ case 'n': ch = '\n'; break;
++ case 'r': ch = '\r'; break;
++ case 't': ch = '\t'; break;
++ case 'v': ch = '\v'; break;
++ default:
++ if (isdigit(self->current))
++ {
++ /* Read octal number */
++ if (!TrioReadNumber(self, &number, 0, 3, BASE_OCTAL))
++ return 0;
++ ch = (char)number;
++ }
++ else if (trio_to_upper(self->current) == 'X')
++ {
++ /* Read hexadecimal number */
++ self->InStream(self, NULL);
++ if (!TrioReadNumber(self, &number, 0, 2, BASE_HEX))
++ return 0;
++ ch = (char)number;
++ }
++ else
++ {
++ ch = (char)self->current;
++ }
++ break;
++ }
++ }
++
++ if (target)
++ target[i] = ch;
++ }
++ return i + 1;
++}
++
++/*************************************************************************
++ * TrioReadString
++ */
++TRIO_PRIVATE BOOLEAN_T
++TrioReadString
++TRIO_ARGS4((self, target, flags, width),
++ trio_class_t *self,
++ char *target,
++ trio_flags_t flags,
++ int width)
++{
++ int i;
++
++ assert(VALID(self));
++ assert(VALID(self->InStream));
++
++ TrioSkipWhitespaces(self);
++
++ /*
++ * Continue until end of string is reached, a whitespace is encountered,
++ * or width is exceeded
++ */
++ for (i = 0;
++ ((width == NO_WIDTH) || (i < width)) &&
++ (! ((self->current == EOF) || isspace(self->current)));
++ i++)
++ {
++ if (TrioReadChar(self, (target ? &target[i] : 0), flags, 1) == 0)
++ break; /* for */
++ }
++ if (target)
++ target[i] = NIL;
++ return TRUE;
++}
++
++/*************************************************************************
++ * TrioReadWideChar
++ */
++#if TRIO_FEATURE_WIDECHAR
++TRIO_PRIVATE int
++TrioReadWideChar
++TRIO_ARGS4((self, target, flags, width),
++ trio_class_t *self,
++ trio_wchar_t *target,
++ trio_flags_t flags,
++ int width)
++{
++ int i;
++ int j;
++ int size;
++ int amount = 0;
++ trio_wchar_t wch;
++ char buffer[MB_LEN_MAX + 1];
++
++ assert(VALID(self));
++ assert(VALID(self->InStream));
++
++ for (i = 0;
++ (self->current != EOF) && (i < width);
++ i++)
++ {
++ if (isascii(self->current))
++ {
++ if (TrioReadChar(self, buffer, flags, 1) == 0)
++ return 0;
++ buffer[1] = NIL;
++ }
++ else
++ {
++ /*
++ * Collect a multibyte character, by enlarging buffer until
++ * it contains a fully legal multibyte character, or the
++ * buffer is full.
++ */
++ j = 0;
++ do
++ {
++ buffer[j++] = (char)self->current;
++ buffer[j] = NIL;
++ self->InStream(self, NULL);
++ }
++ while ((j < (int)sizeof(buffer)) && (mblen(buffer, (size_t)j) != j));
++ }
++ if (target)
++ {
++ size = mbtowc(&wch, buffer, sizeof(buffer));
++ if (size > 0)
++ target[i] = wch;
++ }
++ amount += size;
++ self->InStream(self, NULL);
++ }
++ return amount;
++}
++#endif /* TRIO_FEATURE_WIDECHAR */
++
++/*************************************************************************
++ * TrioReadWideString
++ */
++#if TRIO_FEATURE_WIDECHAR
++TRIO_PRIVATE BOOLEAN_T
++TrioReadWideString
++TRIO_ARGS4((self, target, flags, width),
++ trio_class_t *self,
++ trio_wchar_t *target,
++ trio_flags_t flags,
++ int width)
++{
++ int i;
++ int size;
++
++ assert(VALID(self));
++ assert(VALID(self->InStream));
++
++ TrioSkipWhitespaces(self);
++
++#if defined(TRIO_COMPILER_SUPPORTS_MULTIBYTE)
++ /* Required by TrioReadWideChar */
++ size = mblen(NULL, 0);
++#endif
++
++ /*
++ * Continue until end of string is reached, a whitespace is encountered,
++ * or width is exceeded
++ */
++ for (i = 0;
++ ((width == NO_WIDTH) || (i < width)) &&
++ (! ((self->current == EOF) || isspace(self->current)));
++ )
++ {
++ size = TrioReadWideChar(self, &target[i], flags, 1);
++ if (size == 0)
++ break; /* for */
++
++ i += size;
++ }
++ if (target)
++ target[i] = WCONST('\0');
++ return TRUE;
++}
++#endif /* TRIO_FEATURE_WIDECHAR */
++
++/*************************************************************************
++ * TrioReadGroup
++ *
++ * Reads non-empty character groups.
++ *
++ * FIXME: characterclass does not work with multibyte characters
++ */
++TRIO_PRIVATE BOOLEAN_T
++TrioReadGroup
++TRIO_ARGS5((self, target, characterclass, flags, width),
++ trio_class_t *self,
++ char *target,
++ int *characterclass,
++ trio_flags_t flags,
++ int width)
++{
++ int ch;
++ int i;
++
++ assert(VALID(self));
++ assert(VALID(self->InStream));
++
++ ch = self->current;
++ for (i = 0;
++ ((width == NO_WIDTH) || (i < width)) &&
++ (! ((ch == EOF) ||
++ (((flags & FLAGS_EXCLUDE) != 0) ^ (characterclass[ch] == 0))));
++ i++)
++ {
++ if (target)
++ target[i] = (char)ch;
++ self->InStream(self, &ch);
++ }
++
++ if (i == 0)
++ return FALSE;
++
++ /* Terminate the string if input saved */
++ if (target)
++ target[i] = NIL;
++ return TRUE;
++}
++
++/*************************************************************************
++ * TrioReadDouble
++ *
++ * FIXME:
++ * add long double
++ * handle base
++ */
++#if TRIO_FEATURE_FLOAT
++TRIO_PRIVATE BOOLEAN_T
++TrioReadDouble
++TRIO_ARGS4((self, target, flags, width),
++ trio_class_t *self,
++ trio_pointer_t target,
++ trio_flags_t flags,
++ int width)
++{
++ int ch;
++ char doubleString[512];
++ int offset = 0;
++ int start;
++# if TRIO_FEATURE_QUOTE
++ int j;
++# endif
++ BOOLEAN_T isHex = FALSE;
++ trio_long_double_t infinity;
++
++ doubleString[0] = 0;
++
++ if ((width == NO_WIDTH) || (width > (int)sizeof(doubleString) - 1))
++ width = sizeof(doubleString) - 1;
++
++ TrioSkipWhitespaces(self);
++
++ /*
++ * Read entire double number from stream. trio_to_double requires
++ * a string as input, but InStream can be anything, so we have to
++ * collect all characters.
++ */
++ ch = self->current;
++ if ((ch == '+') || (ch == '-'))
++ {
++ doubleString[offset++] = (char)ch;
++ self->InStream(self, &ch);
++ width--;
++ }
++
++ start = offset;
++ switch (ch)
++ {
++ case 'n':
++ case 'N':
++ /* Not-a-number */
++ if (offset != 0)
++ break;
++ /* FALLTHROUGH */
++ case 'i':
++ case 'I':
++ /* Infinity */
++ while (isalpha(ch) && (offset - start < width))
++ {
++ doubleString[offset++] = (char)ch;
++ self->InStream(self, &ch);
++ }
++ doubleString[offset] = NIL;
++
++ /* Case insensitive string comparison */
++ if (trio_equal(&doubleString[start], INFINITE_UPPER) ||
++ trio_equal(&doubleString[start], LONG_INFINITE_UPPER))
++ {
++ infinity = ((start == 1) && (doubleString[0] == '-'))
++ ? trio_ninf()
++ : trio_pinf();
++ if (flags & FLAGS_LONGDOUBLE)
++ {
++ *((trio_long_double_t *)target) = infinity;
++ }
++ else if (flags & FLAGS_LONG)
++ {
++ *((double *)target) = infinity;
++ }
++ else
++ {
++ *((float *)target) = infinity;
++ }
++ return TRUE;
++ }
++ if (trio_equal(doubleString, NAN_UPPER))
++ {
++ /* NaN must not have a preceeding + nor - */
++ if (flags & FLAGS_LONGDOUBLE)
++ {
++ *((trio_long_double_t *)target) = trio_nan();
++ }
++ else if (flags & FLAGS_LONG)
++ {
++ *((double *)target) = trio_nan();
++ }
++ else
++ {
++ *((float *)target) = trio_nan();
++ }
++ return TRUE;
++ }
++ return FALSE;
++
++ case '0':
++ doubleString[offset++] = (char)ch;
++ self->InStream(self, &ch);
++ if (trio_to_upper(ch) == 'X')
++ {
++ isHex = TRUE;
++ doubleString[offset++] = (char)ch;
++ self->InStream(self, &ch);
++ }
++ break;
++
++ default:
++ break;
++ }
++
++ while ((ch != EOF) && (offset - start < width))
++ {
++ /* Integer part */
++ if (isHex ? isxdigit(ch) : isdigit(ch))
++ {
++ doubleString[offset++] = (char)ch;
++ self->InStream(self, &ch);
++ }
++# if TRIO_FEATURE_QUOTE
++ else if (flags & FLAGS_QUOTE)
++ {
++ /* Compare with thousands separator */
++ for (j = 0; internalThousandSeparator[j] && self->current; j++)
++ {
++ if (internalThousandSeparator[j] != self->current)
++ break;
++
++ self->InStream(self, &ch);
++ }
++ if (internalThousandSeparator[j])
++ break; /* Mismatch */
++ else
++ continue; /* Match */
++ }
++# endif
++ else
++ break; /* while */
++ }
++ if (ch == '.')
++ {
++ /* Decimal part */
++ doubleString[offset++] = (char)ch;
++ self->InStream(self, &ch);
++ while ((isHex ? isxdigit(ch) : isdigit(ch)) &&
++ (offset - start < width))
++ {
++ doubleString[offset++] = (char)ch;
++ self->InStream(self, &ch);
++ }
++ }
++ if (isHex ? (trio_to_upper(ch) == 'P') : (trio_to_upper(ch) == 'E'))
++ {
++ /* Exponent */
++ doubleString[offset++] = (char)ch;
++ self->InStream(self, &ch);
++ if ((ch == '+') || (ch == '-'))
++ {
++ doubleString[offset++] = (char)ch;
++ self->InStream(self, &ch);
++ }
++ while (isdigit(ch) && (offset - start < width))
++ {
++ doubleString[offset++] = (char)ch;
++ self->InStream(self, &ch);
++ }
++ }
++
++ if ((offset == start) || (*doubleString == NIL))
++ return FALSE;
++
++ doubleString[offset] = 0;
++
++ if (flags & FLAGS_LONGDOUBLE)
++ {
++ *((trio_long_double_t *)target) = trio_to_long_double(doubleString, NULL);
++ }
++ else if (flags & FLAGS_LONG)
++ {
++ *((double *)target) = trio_to_double(doubleString, NULL);
++ }
++ else
++ {
++ *((float *)target) = trio_to_float(doubleString, NULL);
++ }
++ return TRUE;
++}
++#endif /* TRIO_FEATURE_FLOAT */
++
++/*************************************************************************
++ * TrioReadPointer
++ */
++TRIO_PRIVATE BOOLEAN_T
++TrioReadPointer
++TRIO_ARGS3((self, target, flags),
++ trio_class_t *self,
++ trio_pointer_t *target,
++ trio_flags_t flags)
++{
++ trio_uintmax_t number;
++ char buffer[sizeof(internalNullString)];
++
++ flags |= (FLAGS_UNSIGNED | FLAGS_ALTERNATIVE | FLAGS_NILPADDING);
++
++ if (TrioReadNumber(self,
++ &number,
++ flags,
++ POINTER_WIDTH,
++ BASE_HEX))
++ {
++ if (target)
++ {
++#if defined(TRIO_COMPILER_GCC) || defined(TRIO_COMPILER_MIPSPRO)
++ /*
++ * The strange assignment of number is a workaround for a compiler
++ * warning
++ */
++ *target = &((char *)0)[number];
++#else
++ *target = (trio_pointer_t)number;
++#endif
++ }
++ return TRUE;
++ }
++ else if (TrioReadString(self,
++ (flags & FLAGS_IGNORE)
++ ? NULL
++ : buffer,
++ 0,
++ sizeof(internalNullString) - 1))
++ {
++ if (trio_equal_case(buffer, internalNullString))
++ {
++ if (target)
++ *target = NULL;
++ return TRUE;
++ }
++ }
++ return FALSE;
++}
++
++/*************************************************************************
++ * TrioScanProcess
++ */
++TRIO_PRIVATE int
++TrioScanProcess
++TRIO_ARGS3((data, format, parameters),
++ trio_class_t *data,
++ TRIO_CONST char *format,
++ trio_parameter_t *parameters)
++{
++ int status;
++ int assignment;
++ int ch;
++ int offset; /* Offset of format string */
++ int i; /* Offset of current parameter */
++ trio_flags_t flags;
++ int width;
++ int base;
++ trio_pointer_t pointer;
++
++ /* Return on empty format string */
++ if (format[0] == NIL)
++ return 0;
++
++ status = 0;
++ assignment = 0;
++ i = 0;
++ offset = 0;
++ data->InStream(data, &ch);
++
++ for (;;)
++ {
++ /* Skip the parameter entries */
++ while (parameters[i].type == FORMAT_PARAMETER)
++ {
++ assert(i <= MAX_PARAMETERS);
++ i++;
++ }
++
++ /* Compare non conversion-specifier part of format string */
++ while (offset < parameters[i].beginOffset)
++ {
++ if ((CHAR_IDENTIFIER == format[offset]) &&
++ (CHAR_IDENTIFIER == format[offset + 1]))
++ {
++ /* Two % in format matches one % in input stream */
++ if (CHAR_IDENTIFIER == ch)
++ {
++ data->InStream(data, &ch);
++ offset += 2;
++ continue; /* while format chars left */
++ }
++ else
++ {
++ status = TRIO_ERROR_RETURN(TRIO_EINVAL, offset);
++ goto end;
++ }
++ }
++ else /* Not an % identifier */
++ {
++ if (isspace((int)format[offset]))
++ {
++ /* Whitespaces may match any amount of whitespaces */
++ ch = TrioSkipWhitespaces(data);
++ }
++ else if (ch == format[offset])
++ {
++ data->InStream(data, &ch);
++ }
++ else
++ {
++ status = assignment;
++ goto end;
++ }
++
++ offset++;
++ }
++ }
++
++ if (parameters[i].type == FORMAT_SENTINEL)
++ break;
++
++ if ((EOF == ch) && (parameters[i].type != FORMAT_COUNT))
++ {
++ status = (assignment > 0) ? assignment : EOF;
++ goto end;
++ }
++
++ flags = parameters[i].flags;
++
++ /* Find width */
++ width = parameters[i].width;
++ if (flags & FLAGS_WIDTH_PARAMETER)
++ {
++ /* Get width from parameter list */
++ width = (int)parameters[width].data.number.as_signed;
++ }
++
++ /* Find base */
++ if (NO_BASE != parameters[i].baseSpecifier)
++ {
++ /* Base from specifier has priority */
++ base = parameters[i].baseSpecifier;
++ }
++ else if (flags & FLAGS_BASE_PARAMETER)
++ {
++ /* Get base from parameter list */
++ base = parameters[i].base;
++ base = (int)parameters[base].data.number.as_signed;
++ }
++ else
++ {
++ /* Use base from format string */
++ base = parameters[i].base;
++ }
++
++ switch (parameters[i].type)
++ {
++ case FORMAT_INT:
++ {
++ trio_uintmax_t number;
++
++ if (0 == base)
++ base = BASE_DECIMAL;
++
++ if (!TrioReadNumber(data,
++ &number,
++ flags,
++ width,
++ base))
++ {
++ status = assignment;
++ goto end;
++ }
++
++ if (!(flags & FLAGS_IGNORE))
++ {
++ assignment++;
++
++ pointer = parameters[i].data.pointer;
++#if TRIO_FEATURE_SIZE_T || TRIO_FEATURE_SIZE_T_UPPER
++ if (flags & FLAGS_SIZE_T)
++ *(size_t *)pointer = (size_t)number;
++ else
++#endif
++#if TRIO_FEATURE_PTRDIFF_T
++ if (flags & FLAGS_PTRDIFF_T)
++ *(ptrdiff_t *)pointer = (ptrdiff_t)number;
++ else
++#endif
++#if TRIO_FEATURE_INTMAX_T
++ if (flags & FLAGS_INTMAX_T)
++ *(trio_intmax_t *)pointer = (trio_intmax_t)number;
++ else
++#endif
++ if (flags & FLAGS_QUAD)
++ *(trio_ulonglong_t *)pointer = (trio_ulonglong_t)number;
++ else if (flags & FLAGS_LONG)
++ *(long int *)pointer = (long int)number;
++ else if (flags & FLAGS_SHORT)
++ *(short int *)pointer = (short int)number;
++ else
++ *(int *)pointer = (int)number;
++ }
++ }
++ break; /* FORMAT_INT */
++
++ case FORMAT_STRING:
++#if TRIO_FEATURE_WIDECHAR
++ if (flags & FLAGS_WIDECHAR)
++ {
++ if (!TrioReadWideString(data,
++ (flags & FLAGS_IGNORE)
++ ? NULL
++ : parameters[i].data.wstring,
++ flags,
++ width))
++ {
++ status = assignment;
++ goto end;
++ }
++ }
++ else
++#endif
++ {
++ if (!TrioReadString(data,
++ (flags & FLAGS_IGNORE)
++ ? NULL
++ : parameters[i].data.string,
++ flags,
++ width))
++ {
++ status = assignment;
++ goto end;
++ }
++ }
++ if (!(flags & FLAGS_IGNORE))
++ assignment++;
++ break; /* FORMAT_STRING */
++
++#if TRIO_FEATURE_FLOAT
++ case FORMAT_DOUBLE:
++ {
++ if (flags & FLAGS_IGNORE)
++ {
++ pointer = NULL;
++ }
++ else
++ {
++ pointer = (flags & FLAGS_LONGDOUBLE)
++ ? (trio_pointer_t)parameters[i].data.longdoublePointer
++ : (trio_pointer_t)parameters[i].data.doublePointer;
++ }
++ if (!TrioReadDouble(data, pointer, flags, width))
++ {
++ status = assignment;
++ goto end;
++ }
++ if (!(flags & FLAGS_IGNORE))
++ {
++ assignment++;
++ }
++ break; /* FORMAT_DOUBLE */
++ }
++#endif
++
++ case FORMAT_GROUP:
++ {
++ int characterclass[MAX_CHARACTER_CLASS + 1];
++
++ /* Skip over modifiers */
++ while (format[offset] != SPECIFIER_GROUP)
++ {
++ offset++;
++ }
++ /* Skip over group specifier */
++ offset++;
++
++ memset(characterclass, 0, sizeof(characterclass));
++ status = TrioGetCharacterClass(format,
++ &offset,
++ &flags,
++ characterclass);
++ if (status < 0)
++ goto end;
++
++ if (!TrioReadGroup(data,
++ (flags & FLAGS_IGNORE)
++ ? NULL
++ : parameters[i].data.string,
++ characterclass,
++ flags,
++ parameters[i].width))
++ {
++ status = assignment;
++ goto end;
++ }
++ if (!(flags & FLAGS_IGNORE))
++ assignment++;
++ }
++ break; /* FORMAT_GROUP */
++
++ case FORMAT_COUNT:
++ pointer = parameters[i].data.pointer;
++ if (NULL != pointer)
++ {
++ int count = data->processed;
++ if (ch != EOF)
++ count--; /* a character is read, but is not consumed yet */
++#if TRIO_FEATURE_SIZE_T || TRIO_FEATURE_SIZE_T_UPPER
++ if (flags & FLAGS_SIZE_T)
++ *(size_t *)pointer = (size_t)count;
++ else
++#endif
++#if TRIO_FEATURE_PTRDIFF_T
++ if (flags & FLAGS_PTRDIFF_T)
++ *(ptrdiff_t *)pointer = (ptrdiff_t)count;
++ else
++#endif
++#if TRIO_FEATURE_INTMAX_T
++ if (flags & FLAGS_INTMAX_T)
++ *(trio_intmax_t *)pointer = (trio_intmax_t)count;
++ else
++#endif
++ if (flags & FLAGS_QUAD)
++ {
++ *(trio_ulonglong_t *)pointer = (trio_ulonglong_t)count;
++ }
++ else if (flags & FLAGS_LONG)
++ {
++ *(long int *)pointer = (long int)count;
++ }
++ else if (flags & FLAGS_SHORT)
++ {
++ *(short int *)pointer = (short int)count;
++ }
++ else
++ {
++ *(int *)pointer = (int)count;
++ }
++ }
++ break; /* FORMAT_COUNT */
++
++ case FORMAT_CHAR:
++#if TRIO_FEATURE_WIDECHAR
++ if (flags & FLAGS_WIDECHAR)
++ {
++ if (TrioReadWideChar(data,
++ (flags & FLAGS_IGNORE)
++ ? NULL
++ : parameters[i].data.wstring,
++ flags,
++ (width == NO_WIDTH) ? 1 : width) == 0)
++ {
++ status = assignment;
++ goto end;
++ }
++ }
++ else
++#endif
++ {
++ if (TrioReadChar(data,
++ (flags & FLAGS_IGNORE)
++ ? NULL
++ : parameters[i].data.string,
++ flags,
++ (width == NO_WIDTH) ? 1 : width) == 0)
++ {
++ status = assignment;
++ goto end;
++ }
++ }
++ if (!(flags & FLAGS_IGNORE))
++ assignment++;
++ break; /* FORMAT_CHAR */
++
++ case FORMAT_POINTER:
++ if (!TrioReadPointer(data,
++ (flags & FLAGS_IGNORE)
++ ? NULL
++ : (trio_pointer_t *)parameters[i].data.pointer,
++ flags))
++ {
++ status = assignment;
++ goto end;
++ }
++ if (!(flags & FLAGS_IGNORE))
++ assignment++;
++ break; /* FORMAT_POINTER */
++
++ case FORMAT_PARAMETER:
++ break; /* FORMAT_PARAMETER */
++
++ default:
++ status = TRIO_ERROR_RETURN(TRIO_EINVAL, offset);
++ goto end;
++ }
++
++ ch = data->current;
++ offset = parameters[i].endOffset;
++ i++;
++ }
++
++ status = assignment;
++ end:
++ if (data->UndoStream)
++ data->UndoStream(data);
++ return status;
++}
++
++/*************************************************************************
++ * TrioScan
++ */
++TRIO_PRIVATE int
++TrioScan
++TRIO_ARGS7((source, sourceSize, InStream, UndoStream, format, arglist, argarray),
++ trio_pointer_t source,
++ size_t sourceSize,
++ void (*InStream) TRIO_PROTO((trio_class_t *, int *)),
++ void (*UndoStream) TRIO_PROTO((trio_class_t *)),
++ TRIO_CONST char *format,
++ va_list arglist,
++ trio_pointer_t *argarray)
++{
++ int status;
++ trio_parameter_t parameters[MAX_PARAMETERS];
++ trio_class_t data;
++
++ assert(VALID(InStream));
++ assert(VALID(format));
++
++ memset(&data, 0, sizeof(data));
++ data.InStream = InStream;
++ data.UndoStream = UndoStream;
++ data.location = (trio_pointer_t)source;
++ data.max = sourceSize;
++ data.error = 0;
++
++#if defined(USE_LOCALE)
++ if (NULL == internalLocaleValues)
++ {
++ TrioSetLocale();
++ }
++#endif
++
++ status = TrioParse(TYPE_SCAN, format, parameters, arglist, argarray);
++ if (status < 0)
++ return status;
++
++ status = TrioScanProcess(&data, format, parameters);
++ if (data.error != 0)
++ {
++ status = data.error;
++ }
++ return status;
++}
++
++/*************************************************************************
++ * TrioInStreamFile
++ */
++#if TRIO_FEATURE_FILE || TRIO_FEATURE_STDIO
++TRIO_PRIVATE void
++TrioInStreamFile
++TRIO_ARGS2((self, intPointer),
++ trio_class_t *self,
++ int *intPointer)
++{
++ FILE *file = (FILE *)self->location;
++
++ assert(VALID(self));
++ assert(VALID(file));
++
++ self->actually.cached = 0;
++
++ /* The initial value of self->current is zero */
++ if (self->current == EOF)
++ {
++ self->error = (ferror(file))
++ ? TRIO_ERROR_RETURN(TRIO_ERRNO, 0)
++ : TRIO_ERROR_RETURN(TRIO_EOF, 0);
++ }
++ else
++ {
++ self->processed++;
++ self->actually.cached++;
++ }
++
++ self->current = fgetc(file);
++
++ if (VALID(intPointer))
++ {
++ *intPointer = self->current;
++ }
++}
++#endif /* TRIO_FEATURE_FILE || TRIO_FEATURE_STDIO */
++
++/*************************************************************************
++ * TrioUndoStreamFile
++ */
++#if TRIO_FEATURE_FILE || TRIO_FEATURE_STDIO
++TRIO_PRIVATE void
++TrioUndoStreamFile
++TRIO_ARGS1((self),
++ trio_class_t *self)
++{
++ FILE *file = (FILE *)self->location;
++
++ assert(VALID(self));
++ assert(VALID(file));
++
++ if (self->actually.cached > 0)
++ {
++ assert(self->actually.cached == 1);
++
++ self->current = ungetc(self->current, file);
++ self->actually.cached = 0;
++ }
++}
++#endif /* TRIO_FEATURE_FILE || TRIO_FEATURE_STDIO */
++
++/*************************************************************************
++ * TrioInStreamFileDescriptor
++ */
++#if TRIO_FEATURE_FD
++TRIO_PRIVATE void
++TrioInStreamFileDescriptor
++TRIO_ARGS2((self, intPointer),
++ trio_class_t *self,
++ int *intPointer)
++{
++ int fd = *((int *)self->location);
++ int size;
++ unsigned char input;
++
++ assert(VALID(self));
++
++ self->actually.cached = 0;
++
++ size = read(fd, &input, sizeof(char));
++ if (size == -1)
++ {
++ self->error = TRIO_ERROR_RETURN(TRIO_ERRNO, 0);
++ self->current = EOF;
++ }
++ else
++ {
++ self->current = (size == 0) ? EOF : input;
++ }
++ if (self->current != EOF)
++ {
++ self->actually.cached++;
++ self->processed++;
++ }
++
++ if (VALID(intPointer))
++ {
++ *intPointer = self->current;
++ }
++}
++#endif /* TRIO_FEATURE_FD */
++
++/*************************************************************************
++ * TrioInStreamCustom
++ */
++#if TRIO_FEATURE_CLOSURE
++TRIO_PRIVATE void
++TrioInStreamCustom
++TRIO_ARGS2((self, intPointer),
++ trio_class_t *self,
++ int *intPointer)
++{
++ trio_custom_t *data;
++
++ assert(VALID(self));
++ assert(VALID(self->location));
++
++ self->actually.cached = 0;
++
++ data = (trio_custom_t *)self->location;
++
++ self->current = (data->stream.in == NULL)
++ ? NIL
++ : (data->stream.in)(data->closure);
++
++ if (self->current == NIL)
++ {
++ self->current = EOF;
++ }
++ else
++ {
++ self->processed++;
++ self->actually.cached++;
++ }
++
++ if (VALID(intPointer))
++ {
++ *intPointer = self->current;
++ }
++}
++#endif /* TRIO_FEATURE_CLOSURE */
++
++/*************************************************************************
++ * TrioInStreamString
++ */
++TRIO_PRIVATE void
++TrioInStreamString
++TRIO_ARGS2((self, intPointer),
++ trio_class_t *self,
++ int *intPointer)
++{
++ unsigned char **buffer;
++
++ assert(VALID(self));
++ assert(VALID(self->location));
++
++ self->actually.cached = 0;
++
++ buffer = (unsigned char **)self->location;
++ self->current = (*buffer)[0];
++ if (self->current == NIL)
++ {
++ self->current = EOF;
++ }
++ else
++ {
++ (*buffer)++;
++ self->processed++;
++ self->actually.cached++;
++ }
++
++ if (VALID(intPointer))
++ {
++ *intPointer = self->current;
++ }
++}
++
++/*************************************************************************
++ *
++ * Formatted scanning functions
++ *
++ ************************************************************************/
++
++#if defined(TRIO_DOCUMENTATION)
++# include "doc/doc_scanf.h"
++#endif
++/** @addtogroup Scanf
++ @{
++*/
++
++/*************************************************************************
++ * scanf
++ */
++
++/**
++ Scan characters from standard input stream.
++
++ @param format Formatting string.
++ @param ... Arguments.
++ @return Number of scanned characters.
++ */
++#if TRIO_FEATURE_STDIO
++TRIO_PUBLIC int
++trio_scanf
++TRIO_VARGS2((format, va_alist),
++ TRIO_CONST char *format,
++ TRIO_VA_DECL)
++{
++ int status;
++ va_list args;
++
++ assert(VALID(format));
++
++ TRIO_VA_START(args, format);
++ status = TrioScan((trio_pointer_t)stdin, 0,
++ TrioInStreamFile,
++ TrioUndoStreamFile,
++ format, args, NULL);
++ TRIO_VA_END(args);
++ return status;
++}
++#endif /* TRIO_FEATURE_STDIO */
++
++/**
++ Scan characters from standard input stream.
++
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of scanned characters.
++ */
++#if TRIO_FEATURE_STDIO
++TRIO_PUBLIC int
++trio_vscanf
++TRIO_ARGS2((format, args),
++ TRIO_CONST char *format,
++ va_list args)
++{
++ assert(VALID(format));
++
++ return TrioScan((trio_pointer_t)stdin, 0,
++ TrioInStreamFile,
++ TrioUndoStreamFile,
++ format, args, NULL);
++}
++#endif /* TRIO_FEATURE_STDIO */
++
++/**
++ Scan characters from standard input stream.
++
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of scanned characters.
++ */
++#if TRIO_FEATURE_STDIO
++TRIO_PUBLIC int
++trio_scanfv
++TRIO_ARGS2((format, args),
++ TRIO_CONST char *format,
++ trio_pointer_t *args)
++{
++ static va_list unused;
++
++ assert(VALID(format));
++
++ return TrioScan((trio_pointer_t)stdin, 0,
++ TrioInStreamFile,
++ TrioUndoStreamFile,
++ format, unused, args);
++}
++#endif /* TRIO_FEATURE_STDIO */
++
++/*************************************************************************
++ * fscanf
++ */
++
++/**
++ Scan characters from file.
++
++ @param file File pointer.
++ @param format Formatting string.
++ @param ... Arguments.
++ @return Number of scanned characters.
++ */
++#if TRIO_FEATURE_FILE
++TRIO_PUBLIC int
++trio_fscanf
++TRIO_VARGS3((file, format, va_alist),
++ FILE *file,
++ TRIO_CONST char *format,
++ TRIO_VA_DECL)
++{
++ int status;
++ va_list args;
++
++ assert(VALID(file));
++ assert(VALID(format));
++
++ TRIO_VA_START(args, format);
++ status = TrioScan((trio_pointer_t)file, 0,
++ TrioInStreamFile,
++ TrioUndoStreamFile,
++ format, args, NULL);
++ TRIO_VA_END(args);
++ return status;
++}
++#endif /* TRIO_FEATURE_FILE */
++
++/**
++ Scan characters from file.
++
++ @param file File pointer.
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of scanned characters.
++ */
++#if TRIO_FEATURE_FILE
++TRIO_PUBLIC int
++trio_vfscanf
++TRIO_ARGS3((file, format, args),
++ FILE *file,
++ TRIO_CONST char *format,
++ va_list args)
++{
++ assert(VALID(file));
++ assert(VALID(format));
++
++ return TrioScan((trio_pointer_t)file, 0,
++ TrioInStreamFile,
++ TrioUndoStreamFile,
++ format, args, NULL);
++}
++#endif /* TRIO_FEATURE_FILE */
++
++/**
++ Scan characters from file.
++
++ @param file File pointer.
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of scanned characters.
++ */
++#if TRIO_FEATURE_FILE
++TRIO_PUBLIC int
++trio_fscanfv
++TRIO_ARGS3((file, format, args),
++ FILE *file,
++ TRIO_CONST char *format,
++ trio_pointer_t *args)
++{
++ static va_list unused;
++
++ assert(VALID(file));
++ assert(VALID(format));
++
++ return TrioScan((trio_pointer_t)file, 0,
++ TrioInStreamFile,
++ TrioUndoStreamFile,
++ format, unused, args);
++}
++#endif /* TRIO_FEATURE_FILE */
++
++/*************************************************************************
++ * dscanf
++ */
++
++/**
++ Scan characters from file descriptor.
++
++ @param fd File descriptor.
++ @param format Formatting string.
++ @param ... Arguments.
++ @return Number of scanned characters.
++ */
++#if TRIO_FEATURE_FD
++TRIO_PUBLIC int
++trio_dscanf
++TRIO_VARGS3((fd, format, va_alist),
++ int fd,
++ TRIO_CONST char *format,
++ TRIO_VA_DECL)
++{
++ int status;
++ va_list args;
++
++ assert(VALID(format));
++
++ TRIO_VA_START(args, format);
++ status = TrioScan((trio_pointer_t)&fd, 0,
++ TrioInStreamFileDescriptor,
++ NULL,
++ format, args, NULL);
++ TRIO_VA_END(args);
++ return status;
++}
++#endif /* TRIO_FEATURE_FD */
++
++/**
++ Scan characters from file descriptor.
++
++ @param fd File descriptor.
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of scanned characters.
++ */
++#if TRIO_FEATURE_FD
++TRIO_PUBLIC int
++trio_vdscanf
++TRIO_ARGS3((fd, format, args),
++ int fd,
++ TRIO_CONST char *format,
++ va_list args)
++{
++ assert(VALID(format));
++
++ return TrioScan((trio_pointer_t)&fd, 0,
++ TrioInStreamFileDescriptor,
++ NULL,
++ format, args, NULL);
++}
++#endif /* TRIO_FEATURE_FD */
++
++/**
++ Scan characters from file descriptor.
++
++ @param fd File descriptor.
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of scanned characters.
++ */
++#if TRIO_FEATURE_FD
++TRIO_PUBLIC int
++trio_dscanfv
++TRIO_ARGS3((fd, format, args),
++ int fd,
++ TRIO_CONST char *format,
++ trio_pointer_t *args)
++{
++ static va_list unused;
++
++ assert(VALID(format));
++
++ return TrioScan((trio_pointer_t)&fd, 0,
++ TrioInStreamFileDescriptor,
++ NULL,
++ format, unused, args);
++}
++#endif /* TRIO_FEATURE_FD */
++
++/*************************************************************************
++ * cscanf
++ */
++#if TRIO_FEATURE_CLOSURE
++TRIO_PUBLIC int
++trio_cscanf
++TRIO_VARGS4((stream, closure, format, va_alist),
++ trio_instream_t stream,
++ trio_pointer_t closure,
++ TRIO_CONST char *format,
++ TRIO_VA_DECL)
++{
++ int status;
++ va_list args;
++ trio_custom_t data;
++
++ assert(VALID(stream));
++ assert(VALID(format));
++
++ TRIO_VA_START(args, format);
++ data.stream.in = stream;
++ data.closure = closure;
++ status = TrioScan(&data, 0, TrioInStreamCustom, NULL, format, args, NULL);
++ TRIO_VA_END(args);
++ return status;
++}
++#endif /* TRIO_FEATURE_CLOSURE */
++
++#if TRIO_FEATURE_CLOSURE
++TRIO_PUBLIC int
++trio_vcscanf
++TRIO_ARGS4((stream, closure, format, args),
++ trio_instream_t stream,
++ trio_pointer_t closure,
++ TRIO_CONST char *format,
++ va_list args)
++{
++ trio_custom_t data;
++
++ assert(VALID(stream));
++ assert(VALID(format));
++
++ data.stream.in = stream;
++ data.closure = closure;
++ return TrioScan(&data, 0, TrioInStreamCustom, NULL, format, args, NULL);
++}
++#endif /* TRIO_FEATURE_CLOSURE */
++
++#if TRIO_FEATURE_CLOSURE
++TRIO_PUBLIC int
++trio_cscanfv
++TRIO_ARGS4((stream, closure, format, args),
++ trio_instream_t stream,
++ trio_pointer_t closure,
++ TRIO_CONST char *format,
++ trio_pointer_t *args)
++{
++ static va_list unused;
++ trio_custom_t data;
++
++ assert(VALID(stream));
++ assert(VALID(format));
++
++ data.stream.in = stream;
++ data.closure = closure;
++ return TrioScan(&data, 0, TrioInStreamCustom, NULL, format, unused, args);
++}
++#endif /* TRIO_FEATURE_CLOSURE */
++
++/*************************************************************************
++ * sscanf
++ */
++
++/**
++ Scan characters from string.
++
++ @param buffer Input string.
++ @param format Formatting string.
++ @param ... Arguments.
++ @return Number of scanned characters.
++ */
++TRIO_PUBLIC int
++trio_sscanf
++TRIO_VARGS3((buffer, format, va_alist),
++ TRIO_CONST char *buffer,
++ TRIO_CONST char *format,
++ TRIO_VA_DECL)
++{
++ int status;
++ va_list args;
++
++ assert(VALID(buffer));
++ assert(VALID(format));
++
++ TRIO_VA_START(args, format);
++ status = TrioScan((trio_pointer_t)&buffer, 0,
++ TrioInStreamString,
++ NULL,
++ format, args, NULL);
++ TRIO_VA_END(args);
++ return status;
++}
++
++/**
++ Scan characters from string.
++
++ @param buffer Input string.
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of scanned characters.
++ */
++TRIO_PUBLIC int
++trio_vsscanf
++TRIO_ARGS3((buffer, format, args),
++ TRIO_CONST char *buffer,
++ TRIO_CONST char *format,
++ va_list args)
++{
++ assert(VALID(buffer));
++ assert(VALID(format));
++
++ return TrioScan((trio_pointer_t)&buffer, 0,
++ TrioInStreamString,
++ NULL,
++ format, args, NULL);
++}
++
++/**
++ Scan characters from string.
++
++ @param buffer Input string.
++ @param format Formatting string.
++ @param args Arguments.
++ @return Number of scanned characters.
++ */
++TRIO_PUBLIC int
++trio_sscanfv
++TRIO_ARGS3((buffer, format, args),
++ TRIO_CONST char *buffer,
++ TRIO_CONST char *format,
++ trio_pointer_t *args)
++{
++ static va_list unused;
++
++ assert(VALID(buffer));
++ assert(VALID(format));
++
++ return TrioScan((trio_pointer_t)&buffer, 0,
++ TrioInStreamString,
++ NULL,
++ format, unused, args);
++}
++
++#endif /* TRIO_FEATURE_SCANF */
++
++/** @} End of Scanf documentation module */
++
++/*************************************************************************
++ * trio_strerror
++ */
++TRIO_PUBLIC TRIO_CONST char *
++trio_strerror
++TRIO_ARGS1((errorcode),
++ int errorcode)
++{
++#if TRIO_FEATURE_STRERR
++ /* Textual versions of the error codes */
++ switch (TRIO_ERROR_CODE(errorcode))
++ {
++ case TRIO_EOF:
++ return "End of file";
++ case TRIO_EINVAL:
++ return "Invalid argument";
++ case TRIO_ETOOMANY:
++ return "Too many arguments";
++ case TRIO_EDBLREF:
++ return "Double reference";
++ case TRIO_EGAP:
++ return "Reference gap";
++ case TRIO_ENOMEM:
++ return "Out of memory";
++ case TRIO_ERANGE:
++ return "Invalid range";
++ case TRIO_ECUSTOM:
++ return "Custom error";
++ default:
++ return "Unknown";
++ }
++#else
++ return "Unknown";
++#endif
++}
+diff -up ghostscript-9.07/trio/triodef.h.gs_sprintf ghostscript-9.07/trio/triodef.h
+--- ghostscript-9.07/trio/triodef.h.gs_sprintf 2013-05-09 17:02:39.112447283 +0100
++++ ghostscript-9.07/trio/triodef.h 2013-05-09 17:02:39.111447279 +0100
+@@ -0,0 +1,336 @@
++/*************************************************************************
++ *
++ * $Id: triodef.h,v 1.35 2009/09/20 11:37:14 breese Exp $
++ *
++ * Copyright (C) 2001 Bjorn Reese <breese@users.sourceforge.net>
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++ * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
++ *
++ ************************************************************************/
++
++#ifndef TRIO_TRIODEF_H
++#define TRIO_TRIODEF_H
++
++/*************************************************************************
++ * Compiler support detection
++ */
++
++#if defined(__GNUC__)
++# define TRIO_COMPILER_GCC
++#endif
++
++#if defined(__SUNPRO_CC)
++# define TRIO_COMPILER_SUNPRO __SUNPRO_CC
++#else
++# if defined(__SUNPRO_C)
++# define TRIO_COMPILER_SUNPRO __SUNPRO_C
++# endif
++#endif
++
++#if defined(__xlC__) || defined(__IBMC__) || defined(__IBMCPP__)
++# define TRIO_COMPILER_XLC
++#else
++# if defined(_AIX) && !defined(__GNUC__)
++# define TRIO_COMPILER_XLC /* Workaround for old xlc */
++# endif
++#endif
++
++#if defined(__DECC) || defined(__DECCXX)
++# define TRIO_COMPILER_DECC
++#else
++# if defined(__osf__) && defined(__LANGUAGE_C__) && !defined(__GNUC__)
++# define TRIO_COMPILER_DECC /* Workaround for old DEC C compilers */
++# endif
++#endif
++
++#if defined(__HP_aCC) || defined(__HP_cc)
++# define TRIO_COMPILER_HP
++#endif
++
++#if defined(sgi) || defined(__sgi)
++# define TRIO_COMPILER_MIPSPRO
++#endif
++
++#if defined(_MSC_VER)
++# define TRIO_COMPILER_MSVC
++#endif
++
++#if defined(__BORLANDC__)
++# define TRIO_COMPILER_BCB
++#endif
++
++/*************************************************************************
++ * Platform support detection
++ */
++
++#if defined(VMS) || defined(__VMS)
++# define TRIO_PLATFORM_VMS
++#endif
++
++#if defined(unix) || defined(__unix) || defined(__unix__)
++# define TRIO_PLATFORM_UNIX
++#endif
++
++#if defined(TRIO_COMPILER_XLC) || defined(_AIX)
++# define TRIO_PLATFORM_UNIX
++#endif
++
++#if defined(TRIO_COMPILER_DECC) || defined(__osf___)
++# if !defined(TRIO_PLATFORM_VMS)
++# define TRIO_PLATFORM_UNIX
++# endif
++#endif
++
++#if defined(__NetBSD__)
++# define TRIO_PLATFORM_UNIX
++#endif
++
++#if defined(__Lynx__)
++# define TRIO_PLATFORM_UNIX
++# define TRIO_PLATFORM_LYNX
++#endif
++
++#if defined(__APPLE__) && defined(__MACH__)
++# define TRIO_PLATFORM_UNIX
++#endif
++
++#if defined(__QNX__)
++# define TRIO_PLATFORM_UNIX
++# define TRIO_PLATFORM_QNX
++#endif
++
++#if defined(__CYGWIN__)
++# define TRIO_PLATFORM_UNIX
++#endif
++
++#if defined(AMIGA) && defined(TRIO_COMPILER_GCC)
++# define TRIO_PLATFORM_UNIX
++#endif
++
++#if defined(TRIO_COMPILER_MSVC) || defined(WIN32) || defined(_WIN32)
++# define TRIO_PLATFORM_WIN32
++#endif
++
++#if defined(_WIN32_WCE)
++# define TRIO_PLATFORM_WINCE
++#endif
++
++#if defined(mpeix) || defined(__mpexl)
++# define TRIO_PLATFORM_MPEIX
++#endif
++
++#if defined(_AIX)
++# define TRIO_PLATFORM_AIX
++#endif
++
++#if defined(__hpux)
++# define TRIO_PLATFORM_HPUX
++#endif
++
++#if defined(sun) || defined(__sun__)
++# if defined(__SVR4) || defined(__svr4__)
++# define TRIO_PLATFORM_SOLARIS
++# else
++# define TRIO_PLATFORM_SUNOS
++# endif
++#endif
++
++/*************************************************************************
++ * Standards support detection
++ */
++
++#if defined(__STDC__) \
++ || defined(_MSC_EXTENSIONS) \
++ || defined(TRIO_COMPILER_BCB)
++# define PREDEF_STANDARD_C89
++#endif
++#if defined(__STDC_VERSION__)
++# define PREDEF_STANDARD_C90
++#endif
++#if defined (__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199409L)
++# define PREDEF_STANDARD_C94
++#endif
++#if defined (__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L)
++# define PREDEF_STANDARD_C99
++#endif
++
++#if defined(TRIO_COMPILER_SUNPRO) && (TRIO_COMPILER_SUNPRO >= 0x420)
++# if !defined(PREDEF_STANDARD_C94)
++# define PREDEF_STANDARD_C94
++# endif
++#endif
++
++#if defined(__cplusplus)
++# define PREDEF_STANDARD_CXX
++#endif
++#if defined(__cplusplus) && __cplusplus - 0 >= 199711L
++# define PREDEF_STANDARD_CXX89
++#endif
++
++#if defined(TRIO_PLATFORM_UNIX)
++# include <unistd.h>
++#endif
++
++#if defined(_POSIX_VERSION)
++# define PREDEF_STANDARD_POSIX _POSIX_VERSION
++# if (_POSIX_VERSION >= 199506L)
++# define PREDEF_STANDARD_POSIX_1996
++# endif
++#endif
++
++#if (_XOPEN_VERSION - 0 >= 3) || defined(_XOPEN_XPG3)
++# define PREDEF_STANDARD_XPG3
++#endif
++#if (_XOPEN_VERSION - 0 >= 4) || defined(_XOPEN_XPG4)
++# define PREDEF_STANDARD_XPG4
++#endif
++#if (_XOPEN_VERSION - 0 > 4) \
++ || (defined(_XOPEN_UNIX) && (_XOPEN_VERSION - 0 == 4))
++# define PREDEF_STANDARD_UNIX95
++#endif
++#if (_XOPEN_VERSION - 0 >= 500)
++# define PREDEF_STANDARD_UNIX98
++#endif
++#if (_XOPEN_VERSION - 0 >= 600)
++# define PREDEF_STANDARD_UNIX03
++#endif
++
++/*************************************************************************
++ * Generic defines
++ */
++
++#if !defined(TRIO_PUBLIC)
++# define TRIO_PUBLIC
++#endif
++#if !defined(TRIO_PRIVATE)
++# define TRIO_PRIVATE static
++#endif
++
++#if !(defined(PREDEF_STANDARD_C89) || defined(PREDEF_STANDARD_CXX))
++# define TRIO_COMPILER_ANCIENT
++#endif
++
++#if defined(TRIO_COMPILER_ANCIENT)
++# define TRIO_CONST
++# define TRIO_VOLATILE
++# define TRIO_SIGNED
++typedef double trio_long_double_t;
++typedef char * trio_pointer_t;
++# define TRIO_SUFFIX_LONG(x) x
++# define TRIO_PROTO(x) ()
++# define TRIO_NOARGS
++# define TRIO_ARGS1(list,a1) list a1;
++# define TRIO_ARGS2(list,a1,a2) list a1; a2;
++# define TRIO_ARGS3(list,a1,a2,a3) list a1; a2; a3;
++# define TRIO_ARGS4(list,a1,a2,a3,a4) list a1; a2; a3; a4;
++# define TRIO_ARGS5(list,a1,a2,a3,a4,a5) list a1; a2; a3; a4; a5;
++# define TRIO_ARGS6(list,a1,a2,a3,a4,a5,a6) list a1; a2; a3; a4; a5; a6;
++# define TRIO_ARGS7(list,a1,a2,a3,a4,a5,a6,a7) list a1; a2; a3; a4; a5; a6; a7;
++# define TRIO_VARGS2(list,a1,a2) list a1; a2
++# define TRIO_VARGS3(list,a1,a2,a3) list a1; a2; a3
++# define TRIO_VARGS4(list,a1,a2,a3,a4) list a1; a2; a3; a4
++# define TRIO_VARGS5(list,a1,a2,a3,a4,a5) list a1; a2; a3; a4; a5
++# define TRIO_VA_DECL va_dcl
++# define TRIO_VA_START(x,y) va_start(x)
++# define TRIO_VA_END(x) va_end(x)
++#else /* ANSI C */
++# define TRIO_CONST const
++# define TRIO_VOLATILE volatile
++# define TRIO_SIGNED signed
++typedef long double trio_long_double_t;
++typedef void * trio_pointer_t;
++# define TRIO_SUFFIX_LONG(x) x ## L
++# define TRIO_PROTO(x) x
++# define TRIO_NOARGS void
++# define TRIO_ARGS1(list,a1) (a1)
++# define TRIO_ARGS2(list,a1,a2) (a1,a2)
++# define TRIO_ARGS3(list,a1,a2,a3) (a1,a2,a3)
++# define TRIO_ARGS4(list,a1,a2,a3,a4) (a1,a2,a3,a4)
++# define TRIO_ARGS5(list,a1,a2,a3,a4,a5) (a1,a2,a3,a4,a5)
++# define TRIO_ARGS6(list,a1,a2,a3,a4,a5,a6) (a1,a2,a3,a4,a5,a6)
++# define TRIO_ARGS7(list,a1,a2,a3,a4,a5,a6,a7) (a1,a2,a3,a4,a5,a6,a7)
++# define TRIO_VARGS2 TRIO_ARGS2
++# define TRIO_VARGS3 TRIO_ARGS3
++# define TRIO_VARGS4 TRIO_ARGS4
++# define TRIO_VARGS5 TRIO_ARGS5
++# define TRIO_VA_DECL ...
++# define TRIO_VA_START(x,y) va_start(x,y)
++# define TRIO_VA_END(x) va_end(x)
++#endif
++
++#if defined(PREDEF_STANDARD_C99) || defined(PREDEF_STANDARD_CXX)
++# define TRIO_INLINE inline
++#else
++# if defined(TRIO_COMPILER_GCC)
++# define TRIO_INLINE __inline__
++# endif
++# if defined(TRIO_COMPILER_MSVC)
++# define TRIO_INLINE _inline
++# endif
++# if defined(TRIO_COMPILER_BCB)
++# define TRIO_INLINE __inline
++# endif
++#endif
++#if !defined(TRIO_INLINE)
++# define TRIO_INLINE
++#endif
++
++/*************************************************************************
++ * Workarounds
++ */
++
++#if defined(TRIO_PLATFORM_VMS)
++/*
++ * Computations done with constants at compile time can trigger these
++ * even when compiling with IEEE enabled.
++ */
++# pragma message disable (UNDERFLOW, FLOATOVERFL)
++
++# if (__CRTL_VER < 80210001)
++/*
++ * Although the compiler supports C99 language constructs, the C
++ * run-time library does not contain all C99 functions.
++ */
++# if defined(PREDEF_STANDARD_C99)
++# undef PREDEF_STANDARD_C99
++# endif
++# endif
++#endif
++
++/*
++ * Not all preprocessors supports the LL token.
++ */
++#if defined(TRIO_COMPILER_MSVC) || defined(TRIO_COMPILER_BCB)
++#else
++# define TRIO_COMPILER_SUPPORTS_LL
++#endif
++
++#if defined(__CYGWIN__)
++/*
++ * Cygwin defines the macros for hosted C99, but does not support certain
++ * long double math functions.
++ */
++# include <cygwin/version.h>
++# define TRIO_CYGWIN_VERSION_API CYGWIN_VERSION_API_MAJOR * 1000 + \
++ CYGWIN_VERSION_API_MINOR
++/*
++ * Please change the version number below when the Cygwin API supports
++ * long double math functions (powl, fmodl, etc.)
++ */
++# if TRIO_CYGWIN_VERSION_API < 99999999
++# define TRIO_NO_FLOORL 1
++# define TRIO_NO_CEILL 1
++# define TRIO_NO_POWL 1
++# define TRIO_NO_FMODL 1
++# define TRIO_NO_LOG10L 1
++# endif
++#endif
++
++#endif /* TRIO_TRIODEF_H */
+diff -up ghostscript-9.07/trio/trio.h.gs_sprintf ghostscript-9.07/trio/trio.h
+--- ghostscript-9.07/trio/trio.h.gs_sprintf 2013-05-09 17:02:39.112447283 +0100
++++ ghostscript-9.07/trio/trio.h 2013-05-09 17:02:39.112447283 +0100
+@@ -0,0 +1,235 @@
++/*************************************************************************
++ *
++ * $Id: trio.h,v 1.19 2009/09/13 10:12:22 breese Exp $
++ *
++ * Copyright (C) 1998 Bjorn Reese and Daniel Stenberg.
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++ * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
++ *
++ *************************************************************************
++ *
++ * http://ctrio.sourceforge.net/
++ *
++ ************************************************************************/
++
++#ifndef TRIO_TRIO_H
++#define TRIO_TRIO_H
++
++#if !defined(WITHOUT_TRIO)
++
++/*
++ * Use autoconf defines if present. Packages using trio must define
++ * HAVE_CONFIG_H as a compiler option themselves.
++ */
++#if defined(HAVE_CONFIG_H)
++# include <config.h>
++#endif
++
++#include "triop.h"
++
++#include <stdio.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/*
++ * Error codes.
++ *
++ * Remember to add a textual description to trio_strerror.
++ */
++enum {
++ TRIO_EOF = 1,
++ TRIO_EINVAL = 2,
++ TRIO_ETOOMANY = 3,
++ TRIO_EDBLREF = 4,
++ TRIO_EGAP = 5,
++ TRIO_ENOMEM = 6,
++ TRIO_ERANGE = 7,
++ TRIO_ERRNO = 8,
++ TRIO_ECUSTOM = 9
++};
++
++/* Error macros */
++#define TRIO_ERROR_CODE(x) ((-(x)) & 0x00FF)
++#define TRIO_ERROR_POSITION(x) ((-(x)) >> 8)
++#define TRIO_ERROR_NAME(x) trio_strerror(x)
++
++typedef int (*trio_outstream_t) TRIO_PROTO((trio_pointer_t, int));
++typedef int (*trio_instream_t) TRIO_PROTO((trio_pointer_t));
++
++TRIO_CONST char *trio_strerror TRIO_PROTO((int));
++
++/*************************************************************************
++ * Print Functions
++ */
++
++int trio_printf TRIO_PROTO((TRIO_CONST char *format, ...));
++int trio_vprintf TRIO_PROTO((TRIO_CONST char *format, va_list args));
++int trio_printfv TRIO_PROTO((TRIO_CONST char *format, void **args));
++
++int trio_fprintf TRIO_PROTO((FILE *file, TRIO_CONST char *format, ...));
++int trio_vfprintf TRIO_PROTO((FILE *file, TRIO_CONST char *format, va_list args));
++int trio_fprintfv TRIO_PROTO((FILE *file, TRIO_CONST char *format, void **args));
++
++int trio_dprintf TRIO_PROTO((int fd, TRIO_CONST char *format, ...));
++int trio_vdprintf TRIO_PROTO((int fd, TRIO_CONST char *format, va_list args));
++int trio_dprintfv TRIO_PROTO((int fd, TRIO_CONST char *format, void **args));
++
++int trio_cprintf TRIO_PROTO((trio_outstream_t stream, trio_pointer_t closure,
++ TRIO_CONST char *format, ...));
++int trio_vcprintf TRIO_PROTO((trio_outstream_t stream, trio_pointer_t closure,
++ TRIO_CONST char *format, va_list args));
++int trio_cprintfv TRIO_PROTO((trio_outstream_t stream, trio_pointer_t closure,
++ TRIO_CONST char *format, void **args));
++
++int trio_sprintf TRIO_PROTO((char *buffer, TRIO_CONST char *format, ...));
++int trio_vsprintf TRIO_PROTO((char *buffer, TRIO_CONST char *format, va_list args));
++int trio_sprintfv TRIO_PROTO((char *buffer, TRIO_CONST char *format, void **args));
++
++int trio_snprintf TRIO_PROTO((char *buffer, size_t max, TRIO_CONST char *format, ...));
++int trio_vsnprintf TRIO_PROTO((char *buffer, size_t bufferSize, TRIO_CONST char *format,
++ va_list args));
++int trio_snprintfv TRIO_PROTO((char *buffer, size_t bufferSize, TRIO_CONST char *format,
++ void **args));
++
++int trio_snprintfcat TRIO_PROTO((char *buffer, size_t max, TRIO_CONST char *format, ...));
++int trio_vsnprintfcat TRIO_PROTO((char *buffer, size_t bufferSize, TRIO_CONST char *format,
++ va_list args));
++
++#if defined(TRIO_DEPRECATED)
++char *trio_aprintf TRIO_PROTO((TRIO_CONST char *format, ...));
++char *trio_vaprintf TRIO_PROTO((TRIO_CONST char *format, va_list args));
++#endif
++
++int trio_asprintf TRIO_PROTO((char **ret, TRIO_CONST char *format, ...));
++int trio_vasprintf TRIO_PROTO((char **ret, TRIO_CONST char *format, va_list args));
++int trio_asprintfv TRIO_PROTO((char **result, TRIO_CONST char *format, trio_pointer_t * args));
++
++/*************************************************************************
++ * Scan Functions
++ */
++int trio_scanf TRIO_PROTO((TRIO_CONST char *format, ...));
++int trio_vscanf TRIO_PROTO((TRIO_CONST char *format, va_list args));
++int trio_scanfv TRIO_PROTO((TRIO_CONST char *format, void **args));
++
++int trio_fscanf TRIO_PROTO((FILE *file, TRIO_CONST char *format, ...));
++int trio_vfscanf TRIO_PROTO((FILE *file, TRIO_CONST char *format, va_list args));
++int trio_fscanfv TRIO_PROTO((FILE *file, TRIO_CONST char *format, void **args));
++
++int trio_dscanf TRIO_PROTO((int fd, TRIO_CONST char *format, ...));
++int trio_vdscanf TRIO_PROTO((int fd, TRIO_CONST char *format, va_list args));
++int trio_dscanfv TRIO_PROTO((int fd, TRIO_CONST char *format, void **args));
++
++int trio_cscanf TRIO_PROTO((trio_instream_t stream, trio_pointer_t closure,
++ TRIO_CONST char *format, ...));
++int trio_vcscanf TRIO_PROTO((trio_instream_t stream, trio_pointer_t closure,
++ TRIO_CONST char *format, va_list args));
++int trio_cscanfv TRIO_PROTO((trio_instream_t stream, trio_pointer_t closure,
++ TRIO_CONST char *format, void **args));
++
++int trio_sscanf TRIO_PROTO((TRIO_CONST char *buffer, TRIO_CONST char *format, ...));
++int trio_vsscanf TRIO_PROTO((TRIO_CONST char *buffer, TRIO_CONST char *format, va_list args));
++int trio_sscanfv TRIO_PROTO((TRIO_CONST char *buffer, TRIO_CONST char *format, void **args));
++
++/*************************************************************************
++ * Locale Functions
++ */
++void trio_locale_set_decimal_point TRIO_PROTO((char *decimalPoint));
++void trio_locale_set_thousand_separator TRIO_PROTO((char *thousandSeparator));
++void trio_locale_set_grouping TRIO_PROTO((char *grouping));
++
++/*************************************************************************
++ * Renaming
++ */
++#ifdef TRIO_REPLACE_STDIO
++/* Replace the <stdio.h> functions */
++#ifndef HAVE_PRINTF
++# undef printf
++# define printf trio_printf
++#endif
++#ifndef HAVE_VPRINTF
++# undef vprintf
++# define vprintf trio_vprintf
++#endif
++#ifndef HAVE_FPRINTF
++# undef fprintf
++# define fprintf trio_fprintf
++#endif
++#ifndef HAVE_VFPRINTF
++# undef vfprintf
++# define vfprintf trio_vfprintf
++#endif
++#ifndef HAVE_SPRINTF
++# undef sprintf
++# define sprintf trio_sprintf
++#endif
++#ifndef HAVE_VSPRINTF
++# undef vsprintf
++# define vsprintf trio_vsprintf
++#endif
++#ifndef HAVE_SNPRINTF
++# undef snprintf
++# define snprintf trio_snprintf
++#endif
++#ifndef HAVE_VSNPRINTF
++# undef vsnprintf
++# define vsnprintf trio_vsnprintf
++#endif
++#ifndef HAVE_SCANF
++# undef scanf
++# define scanf trio_scanf
++#endif
++#ifndef HAVE_VSCANF
++# undef vscanf
++# define vscanf trio_vscanf
++#endif
++#ifndef HAVE_FSCANF
++# undef fscanf
++# define fscanf trio_fscanf
++#endif
++#ifndef HAVE_VFSCANF
++# undef vfscanf
++# define vfscanf trio_vfscanf
++#endif
++#ifndef HAVE_SSCANF
++# undef sscanf
++# define sscanf trio_sscanf
++#endif
++#ifndef HAVE_VSSCANF
++# undef vsscanf
++# define vsscanf trio_vsscanf
++#endif
++/* These aren't stdio functions, but we make them look similar */
++#undef dprintf
++#define dprintf trio_dprintf
++#undef vdprintf
++#define vdprintf trio_vdprintf
++#undef aprintf
++#define aprintf trio_aprintf
++#undef vaprintf
++#define vaprintf trio_vaprintf
++#undef asprintf
++#define asprintf trio_asprintf
++#undef vasprintf
++#define vasprintf trio_vasprintf
++#undef dscanf
++#define dscanf trio_dscanf
++#undef vdscanf
++#define vdscanf trio_vdscanf
++#endif
++
++#ifdef __cplusplus
++} /* extern "C" */
++#endif
++
++#endif /* WITHOUT_TRIO */
++
++#endif /* TRIO_TRIO_H */
+diff -up ghostscript-9.07/trio/trionan.c.gs_sprintf ghostscript-9.07/trio/trionan.c
+--- ghostscript-9.07/trio/trionan.c.gs_sprintf 2013-05-09 17:02:39.112447283 +0100
++++ ghostscript-9.07/trio/trionan.c 2013-05-09 17:02:39.112447283 +0100
+@@ -0,0 +1,1257 @@
++/*************************************************************************
++ *
++ * $Id: trionan.c,v 1.33 2005/05/29 11:57:25 breese Exp $
++ *
++ * Copyright (C) 2001 Bjorn Reese <breese@users.sourceforge.net>
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++ * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
++ *
++ ************************************************************************
++ *
++ * Functions to handle special quantities in floating-point numbers
++ * (that is, NaNs and infinity). They provide the capability to detect
++ * and fabricate special quantities.
++ *
++ * Although written to be as portable as possible, it can never be
++ * guaranteed to work on all platforms, as not all hardware supports
++ * special quantities.
++ *
++ * The approach used here (approximately) is to:
++ *
++ * 1. Use C99 functionality when available.
++ * 2. Use IEEE 754 bit-patterns if possible.
++ * 3. Use platform-specific techniques.
++ *
++ ************************************************************************/
++
++/*************************************************************************
++ * Include files
++ */
++#include "triodef.h"
++#include "trionan.h"
++
++#include <math.h>
++#include <string.h>
++#include <limits.h>
++#if !defined(TRIO_PLATFORM_SYMBIAN)
++# include <float.h>
++#endif
++#if defined(TRIO_PLATFORM_UNIX)
++# include <signal.h>
++#endif
++#if defined(TRIO_COMPILER_DECC)
++# include <fp_class.h>
++#endif
++#include <assert.h>
++
++#if defined(TRIO_DOCUMENTATION)
++# include "doc/doc_nan.h"
++#endif
++/** @addtogroup SpecialQuantities
++ @{
++*/
++
++/*************************************************************************
++ * Definitions
++ */
++
++#if !defined(TRIO_PUBLIC_NAN)
++# define TRIO_PUBLIC_NAN TRIO_PUBLIC
++#endif
++#if !defined(TRIO_PRIVATE_NAN)
++# define TRIO_PRIVATE_NAN TRIO_PRIVATE
++#endif
++
++#define TRIO_TRUE (1 == 1)
++#define TRIO_FALSE (0 == 1)
++
++/*
++ * We must enable IEEE floating-point on Alpha
++ */
++#if defined(__alpha) && !defined(_IEEE_FP)
++# if defined(TRIO_COMPILER_DECC)
++# if defined(TRIO_PLATFORM_VMS)
++# error "Must be compiled with option /IEEE_MODE=UNDERFLOW_TO_ZERO/FLOAT=IEEE"
++# else
++# if !defined(_CFE)
++# error "Must be compiled with option -ieee"
++# endif
++# endif
++# else
++# if defined(TRIO_COMPILER_GCC)
++# error "Must be compiled with option -mieee"
++# endif
++# endif
++#endif /* __alpha && ! _IEEE_FP */
++
++/*
++ * In ANSI/IEEE 754-1985 64-bits double format numbers have the
++ * following properties (amoungst others)
++ *
++ * o FLT_RADIX == 2: binary encoding
++ * o DBL_MAX_EXP == 1024: 11 bits exponent, where one bit is used
++ * to indicate special numbers (e.g. NaN and Infinity), so the
++ * maximum exponent is 10 bits wide (2^10 == 1024).
++ * o DBL_MANT_DIG == 53: The mantissa is 52 bits wide, but because
++ * numbers are normalized the initial binary 1 is represented
++ * implicitly (the so-called "hidden bit"), which leaves us with
++ * the ability to represent 53 bits wide mantissa.
++ */
++#if defined(__STDC_IEC_559__)
++# define TRIO_IEEE_754
++#else
++# if (FLT_RADIX - 0 == 2) && (DBL_MAX_EXP - 0 == 1024) && (DBL_MANT_DIG - 0 == 53)
++# define TRIO_IEEE_754
++# endif
++#endif
++
++/*
++ * Determine which fpclassify_and_sign() function to use.
++ */
++#if defined(TRIO_FUNC_FPCLASSIFY_AND_SIGNBIT)
++# if defined(PREDEF_STANDARD_C99) && defined(fpclassify)
++# define TRIO_FUNC_C99_FPCLASSIFY_AND_SIGNBIT
++# else
++# if defined(TRIO_COMPILER_DECC)
++# define TRIO_FUNC_DECC_FPCLASSIFY_AND_SIGNBIT
++# else
++# if defined(TRIO_COMPILER_VISUALC) || defined(TRIO_COMPILER_BORLAND)
++# define TRIO_FUNC_MS_FPCLASSIFY_AND_SIGNBIT
++# else
++# if defined(TRIO_COMPILER_HP) && defined(FP_PLUS_NORM)
++# define TRIO_FUNC_HP_FPCLASSIFY_AND_SIGNBIT
++# else
++# if defined(TRIO_COMPILER_XLC) && defined(FP_PLUS_NORM)
++# define TRIO_FUNC_XLC_FPCLASSIFY_AND_SIGNBIT
++# else
++# define TRIO_FUNC_INTERNAL_FPCLASSIFY_AND_SIGNBIT
++# endif
++# endif
++# endif
++# endif
++# endif
++#endif
++
++/*
++ * Determine how to generate negative zero.
++ */
++#if defined(TRIO_FUNC_NZERO)
++# if defined(TRIO_IEEE_754)
++# define TRIO_NZERO_IEEE_754
++# else
++# define TRIO_NZERO_FALLBACK
++# endif
++#endif
++
++/*
++ * Determine how to generate positive infinity.
++ */
++#if defined(TRIO_FUNC_PINF)
++# if defined(INFINITY) && defined(__STDC_IEC_559__)
++# define TRIO_PINF_C99_MACRO
++# else
++# if defined(TRIO_IEEE_754)
++# define TRIO_PINF_IEEE_754
++# else
++# define TRIO_PINF_FALLBACK
++# endif
++# endif
++#endif
++
++/*
++ * Determine how to generate NaN.
++ */
++#if defined(TRIO_FUNC_NAN)
++# if defined(PREDEF_STANDARD_C99) && !defined(TRIO_COMPILER_DECC)
++# define TRIO_NAN_C99_FUNCTION
++# else
++# if defined(NAN) && defined(__STDC_IEC_559__)
++# define TRIO_NAN_C99_MACRO
++# else
++# if defined(TRIO_IEEE_754)
++# define TRIO_NAN_IEEE_754
++# else
++# define TRIO_NAN_FALLBACK
++# endif
++# endif
++# endif
++#endif
++
++/*
++ * Resolve internal dependencies.
++ */
++#if defined(TRIO_FUNC_INTERNAL_FPCLASSIFY_AND_SIGNBIT)
++# define TRIO_FUNC_INTERNAL_ISNAN
++# define TRIO_FUNC_INTERNAL_ISINF
++# if defined(TRIO_IEEE_754)
++# define TRIO_FUNC_INTERNAL_IS_SPECIAL_QUANTITY
++# define TRIO_FUNC_INTERNAL_IS_NEGATIVE
++# endif
++#endif
++
++#if defined(TRIO_NZERO_IEEE_754) \
++ || defined(TRIO_PINF_IEEE_754) \
++ || defined(TRIO_NAN_IEEE_754)
++# define TRIO_FUNC_INTERNAL_MAKE_DOUBLE
++#endif
++
++#if defined(TRIO_FUNC_INTERNAL_ISNAN)
++# if defined(PREDEF_STANDARD_XPG3)
++# define TRIO_INTERNAL_ISNAN_XPG3
++# else
++# if defined(TRIO_IEEE_754)
++# define TRIO_INTERNAL_ISNAN_IEEE_754
++# else
++# define TRIO_INTERNAL_ISNAN_FALLBACK
++# endif
++# endif
++#endif
++
++#if defined(TRIO_FUNC_INTERNAL_ISINF)
++# if defined(TRIO_IEEE_754)
++# define TRIO_INTERNAL_ISINF_IEEE_754
++# else
++# define TRIO_INTERNAL_ISINF_FALLBACK
++# endif
++#endif
++
++/*************************************************************************
++ * Constants
++ */
++
++#if !defined(TRIO_EMBED_NAN)
++static TRIO_CONST char rcsid[] = "@(#)$Id: trionan.c,v 1.33 2005/05/29 11:57:25 breese Exp $";
++#endif
++
++#if defined(TRIO_FUNC_INTERNAL_MAKE_DOUBLE) \
++ || defined(TRIO_FUNC_INTERNAL_IS_SPECIAL_QUANTITY) \
++ || defined(TRIO_FUNC_INTERNAL_IS_NEGATIVE)
++/*
++ * Endian-agnostic indexing macro.
++ *
++ * The value of internalEndianMagic, when converted into a 64-bit
++ * integer, becomes 0x0706050403020100 (we could have used a 64-bit
++ * integer value instead of a double, but not all platforms supports
++ * that type). The value is automatically encoded with the correct
++ * endianess by the compiler, which means that we can support any
++ * kind of endianess. The individual bytes are then used as an index
++ * for the IEEE 754 bit-patterns and masks.
++ */
++#define TRIO_DOUBLE_INDEX(x) (((unsigned char *)&internalEndianMagic)[7-(x)])
++static TRIO_CONST double internalEndianMagic = 7.949928895127363e-275;
++#endif
++
++#if defined(TRIO_FUNC_INTERNAL_IS_SPECIAL_QUANTITY)
++/* Mask for the exponent */
++static TRIO_CONST unsigned char ieee_754_exponent_mask[] = {
++ 0x7F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
++};
++
++/* Mask for the mantissa */
++static TRIO_CONST unsigned char ieee_754_mantissa_mask[] = {
++ 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
++};
++#endif
++
++#if defined(TRIO_FUNC_INTERNAL_IS_NEGATIVE)
++/* Mask for the sign bit */
++static TRIO_CONST unsigned char ieee_754_sign_mask[] = {
++ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
++};
++#endif
++
++#if defined(TRIO_NZERO_IEEE_754)
++/* Bit-pattern for negative zero */
++static TRIO_CONST unsigned char ieee_754_negzero_array[] = {
++ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
++};
++#endif
++
++#if defined(TRIO_PINF_IEEE_754)
++/* Bit-pattern for infinity */
++static TRIO_CONST unsigned char ieee_754_infinity_array[] = {
++ 0x7F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
++};
++#endif
++
++#if defined(TRIO_NAN_IEEE_754)
++/* Bit-pattern for quiet NaN */
++static TRIO_CONST unsigned char ieee_754_qnan_array[] = {
++ 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
++};
++#endif
++
++
++/*************************************************************************
++ * Internal functions
++ */
++
++/*
++ * internal_make_double
++ */
++#if defined(TRIO_FUNC_INTERNAL_MAKE_DOUBLE)
++
++TRIO_PRIVATE_NAN double
++internal_make_double
++TRIO_ARGS1((values),
++ TRIO_CONST unsigned char *values)
++{
++ TRIO_VOLATILE double result;
++ int i;
++
++ for (i = 0; i < (int)sizeof(double); i++) {
++ ((TRIO_VOLATILE unsigned char *)&result)[TRIO_DOUBLE_INDEX(i)] = values[i];
++ }
++ return result;
++}
++
++#endif
++
++/*
++ * internal_is_special_quantity
++ */
++#if defined(TRIO_FUNC_INTERNAL_IS_SPECIAL_QUANTITY)
++
++TRIO_PRIVATE_NAN int
++internal_is_special_quantity
++TRIO_ARGS2((number, has_mantissa),
++ double number,
++ int *has_mantissa)
++{
++ unsigned int i;
++ unsigned char current;
++ int is_special_quantity = TRIO_TRUE;
++
++ *has_mantissa = 0;
++
++ for (i = 0; i < (unsigned int)sizeof(double); i++) {
++ current = ((unsigned char *)&number)[TRIO_DOUBLE_INDEX(i)];
++ is_special_quantity
++ &= ((current & ieee_754_exponent_mask[i]) == ieee_754_exponent_mask[i]);
++ *has_mantissa |= (current & ieee_754_mantissa_mask[i]);
++ }
++ return is_special_quantity;
++}
++
++#endif
++
++/*
++ * internal_is_negative
++ */
++#if defined(TRIO_FUNC_INTERNAL_IS_NEGATIVE)
++
++TRIO_PRIVATE_NAN int
++internal_is_negative
++TRIO_ARGS1((number),
++ double number)
++{
++ unsigned int i;
++ int is_negative = TRIO_FALSE;
++
++ for (i = 0; i < (unsigned int)sizeof(double); i++) {
++ is_negative |= (((unsigned char *)&number)[TRIO_DOUBLE_INDEX(i)]
++ & ieee_754_sign_mask[i]);
++ }
++ return is_negative;
++}
++
++#endif
++
++#if defined(TRIO_FUNC_C99_FPCLASSIFY_AND_SIGNBIT)
++
++TRIO_PRIVATE_NAN TRIO_INLINE int
++c99_fpclassify_and_signbit
++TRIO_ARGS2((number, is_negative),
++ double number,
++ int *is_negative)
++{
++ *is_negative = signbit(number);
++ switch (fpclassify(number)) {
++ case FP_NAN:
++ return TRIO_FP_NAN;
++ case FP_INFINITE:
++ return TRIO_FP_INFINITE;
++ case FP_SUBNORMAL:
++ return TRIO_FP_SUBNORMAL;
++ case FP_ZERO:
++ return TRIO_FP_ZERO;
++ default:
++ return TRIO_FP_NORMAL;
++ }
++}
++
++#endif /* TRIO_FUNC_C99_FPCLASSIFY_AND_SIGNBIT */
++
++#if defined(TRIO_FUNC_DECC_FPCLASSIFY_AND_SIGNBIT)
++
++TRIO_PRIVATE_NAN TRIO_INLINE int
++decc_fpclassify_and_signbit
++TRIO_ARGS2((number, is_negative),
++ double number,
++ int *is_negative)
++{
++ switch (fp_class(number)) {
++ case FP_QNAN:
++ case FP_SNAN:
++ *is_negative = TRIO_FALSE; /* NaN has no sign */
++ return TRIO_FP_NAN;
++ case FP_POS_INF:
++ *is_negative = TRIO_FALSE;
++ return TRIO_FP_INFINITE;
++ case FP_NEG_INF:
++ *is_negative = TRIO_TRUE;
++ return TRIO_FP_INFINITE;
++ case FP_POS_DENORM:
++ *is_negative = TRIO_FALSE;
++ return TRIO_FP_SUBNORMAL;
++ case FP_NEG_DENORM:
++ *is_negative = TRIO_TRUE;
++ return TRIO_FP_SUBNORMAL;
++ case FP_POS_ZERO:
++ *is_negative = TRIO_FALSE;
++ return TRIO_FP_ZERO;
++ case FP_NEG_ZERO:
++ *is_negative = TRIO_TRUE;
++ return TRIO_FP_ZERO;
++ case FP_POS_NORM:
++ *is_negative = TRIO_FALSE;
++ return TRIO_FP_NORMAL;
++ case FP_NEG_NORM:
++ *is_negative = TRIO_TRUE;
++ return TRIO_FP_NORMAL;
++ default:
++ *is_negative = (number < 0.0);
++ return TRIO_FP_NORMAL;
++ }
++}
++
++#endif /* TRIO_FUNC_DECC_FPCLASSIFY_AND_SIGNBIT */
++
++#if defined(TRIO_FUNC_MS_FPCLASSIFY_AND_SIGNBIT)
++
++TRIO_PRIVATE_NAN int
++ms_fpclassify_and_signbit
++TRIO_ARGS2((number, is_negative),
++ double number,
++ int *is_negative)
++{
++ int result;
++# if defined(TRIO_COMPILER_BORLAND)
++ /*
++ * The floating-point precision may be changed by the Borland _fpclass()
++ * function, so we have to save and restore the floating-point control mask.
++ */
++ unsigned int mask;
++ /* Remember the old mask */
++ mask = _control87(0, 0);
++# endif
++
++ switch (_fpclass(number)) {
++ case _FPCLASS_QNAN:
++ case _FPCLASS_SNAN:
++ *is_negative = TRIO_FALSE; /* NaN has no sign */
++ result = TRIO_FP_NAN;
++ break;
++ case _FPCLASS_PINF:
++ *is_negative = TRIO_FALSE;
++ result = TRIO_FP_INFINITE;
++ break;
++ case _FPCLASS_NINF:
++ *is_negative = TRIO_TRUE;
++ result = TRIO_FP_INFINITE;
++ break;
++ case _FPCLASS_PD:
++ *is_negative = TRIO_FALSE;
++ result = TRIO_FP_SUBNORMAL;
++ break;
++ case _FPCLASS_ND:
++ *is_negative = TRIO_TRUE;
++ result = TRIO_FP_SUBNORMAL;
++ break;
++ case _FPCLASS_PZ:
++ *is_negative = TRIO_FALSE;
++ result = TRIO_FP_ZERO;
++ break;
++ case _FPCLASS_NZ:
++ *is_negative = TRIO_TRUE;
++ result = TRIO_FP_ZERO;
++ break;
++ case _FPCLASS_PN:
++ *is_negative = TRIO_FALSE;
++ result = TRIO_FP_NORMAL;
++ break;
++ case _FPCLASS_NN:
++ *is_negative = TRIO_TRUE;
++ result = TRIO_FP_NORMAL;
++ break;
++ default:
++ *is_negative = (number < 0.0);
++ result = TRIO_FP_NORMAL;
++ break;
++ }
++
++# if defined(TRIO_COMPILER_BORLAND)
++ /* Restore the old precision */
++ (void)_control87(mask, MCW_PC);
++# endif
++
++ return result;
++}
++
++#endif /* TRIO_FUNC_MS_FPCLASSIFY_AND_SIGNBIT */
++
++#if defined(TRIO_FUNC_HP_FPCLASSIFY_AND_SIGNBIT)
++
++TRIO_PRIVATE_NAN TRIO_INLINE int
++hp_fpclassify_and_signbit
++TRIO_ARGS2((number, is_negative),
++ double number,
++ int *is_negative)
++{
++ /*
++ * HP-UX 9.x and 10.x have an fpclassify() function, that is different
++ * from the C99 fpclassify() macro supported on HP-UX 11.x.
++ */
++ switch (fpclassify(number)) {
++ case FP_QNAN:
++ case FP_SNAN:
++ *is_negative = TRIO_FALSE; /* NaN has no sign */
++ return TRIO_FP_NAN;
++ case FP_PLUS_INF:
++ *is_negative = TRIO_FALSE;
++ return TRIO_FP_INFINITE;
++ case FP_MINUS_INF:
++ *is_negative = TRIO_TRUE;
++ return TRIO_FP_INFINITE;
++ case FP_PLUS_DENORM:
++ *is_negative = TRIO_FALSE;
++ return TRIO_FP_SUBNORMAL;
++ case FP_MINUS_DENORM:
++ *is_negative = TRIO_TRUE;
++ return TRIO_FP_SUBNORMAL;
++ case FP_PLUS_ZERO:
++ *is_negative = TRIO_FALSE;
++ return TRIO_FP_ZERO;
++ case FP_MINUS_ZERO:
++ *is_negative = TRIO_TRUE;
++ return TRIO_FP_ZERO;
++ case FP_PLUS_NORM:
++ *is_negative = TRIO_FALSE;
++ return TRIO_FP_NORMAL;
++ case FP_MINUS_NORM:
++ *is_negative = TRIO_TRUE;
++ return TRIO_FP_NORMAL;
++ default:
++ *is_negative = (number < 0.0);
++ return TRIO_FP_NORMAL;
++ }
++}
++
++#endif /* TRIO_FUNC_HP_FPCLASSIFY_AND_SIGNBIT */
++
++#if defined(TRIO_FUNC_XLC_FPCLASSIFY_AND_SIGNBIT)
++
++TRIO_PRIVATE_NAN TRIO_INLINE int
++xlc_fpclassify_and_signbit
++TRIO_ARGS2((number, is_negative),
++ double number,
++ int *is_negative)
++{
++ /*
++ * AIX has class() for C, and _class() for C++
++ */
++# if defined(__cplusplus)
++# define AIX_CLASS(n) _class(n)
++# else
++# define AIX_CLASS(n) class(n)
++# endif
++
++ switch (AIX_CLASS(number)) {
++ case FP_QNAN:
++ case FP_SNAN:
++ *is_negative = TRIO_FALSE; /* NaN has no sign */
++ return TRIO_FP_NAN;
++ case FP_PLUS_INF:
++ *is_negative = TRIO_FALSE;
++ return TRIO_FP_INFINITE;
++ case FP_MINUS_INF:
++ *is_negative = TRIO_TRUE;
++ return TRIO_FP_INFINITE;
++ case FP_PLUS_DENORM:
++ *is_negative = TRIO_FALSE;
++ return TRIO_FP_SUBNORMAL;
++ case FP_MINUS_DENORM:
++ *is_negative = TRIO_TRUE;
++ return TRIO_FP_SUBNORMAL;
++ case FP_PLUS_ZERO:
++ *is_negative = TRIO_FALSE;
++ return TRIO_FP_ZERO;
++ case FP_MINUS_ZERO:
++ *is_negative = TRIO_TRUE;
++ return TRIO_FP_ZERO;
++ case FP_PLUS_NORM:
++ *is_negative = TRIO_FALSE;
++ return TRIO_FP_NORMAL;
++ case FP_MINUS_NORM:
++ *is_negative = TRIO_TRUE;
++ return TRIO_FP_NORMAL;
++ default:
++ *is_negative = (number < 0.0);
++ return TRIO_FP_NORMAL;
++ }
++}
++
++#endif /* TRIO_FUNC_XLC_FPCLASSIFY_AND_SIGNBIT */
++
++#if defined(TRIO_FUNC_INTERNAL_ISNAN)
++
++TRIO_PRIVATE_NAN TRIO_INLINE int
++internal_isnan
++TRIO_ARGS1((number),
++ double number)
++{
++# if defined(TRIO_INTERNAL_ISNAN_XPG3) || defined(TRIO_PLATFORM_SYMBIAN)
++ /*
++ * XPG3 defines isnan() as a function.
++ */
++ return isnan(number);
++
++# endif
++
++# if defined(TRIO_INTERNAL_ISNAN_IEEE_754)
++
++ /*
++ * Examine IEEE 754 bit-pattern. A NaN must have a special exponent
++ * pattern, and a non-empty mantissa.
++ */
++ int has_mantissa;
++ int is_special_quantity;
++
++ is_special_quantity = internal_is_special_quantity(number, &has_mantissa);
++
++ return (is_special_quantity && has_mantissa);
++
++# endif
++
++# if defined(TRIO_INTERNAL_ISNAN_FALLBACK)
++
++ /*
++ * Fallback solution
++ */
++ int status;
++ double integral, fraction;
++
++# if defined(TRIO_PLATFORM_UNIX)
++ void (*signal_handler)(int) = signal(SIGFPE, SIG_IGN);
++# endif
++
++ status = (/*
++ * NaN is the only number which does not compare to itself
++ */
++ ((TRIO_VOLATILE double)number != (TRIO_VOLATILE double)number) ||
++ /*
++ * Fallback solution if NaN compares to NaN
++ */
++ ((number != 0.0) &&
++ (fraction = modf(number, &integral),
++ integral == fraction)));
++
++# if defined(TRIO_PLATFORM_UNIX)
++ signal(SIGFPE, signal_handler);
++# endif
++
++ return status;
++
++# endif
++}
++
++#endif /* TRIO_FUNC_INTERNAL_ISNAN */
++
++#if defined(TRIO_FUNC_INTERNAL_ISINF)
++
++TRIO_PRIVATE_NAN TRIO_INLINE int
++internal_isinf
++TRIO_ARGS1((number),
++ double number)
++{
++# if defined(TRIO_PLATFORM_SYMBIAN)
++
++ return isinf(number);
++
++# endif
++
++# if defined(TRIO_INTERNAL_ISINF_IEEE_754)
++ /*
++ * Examine IEEE 754 bit-pattern. Infinity must have a special exponent
++ * pattern, and an empty mantissa.
++ */
++ int has_mantissa;
++ int is_special_quantity;
++
++ is_special_quantity = internal_is_special_quantity(number, &has_mantissa);
++
++ return (is_special_quantity && !has_mantissa)
++ ? ((number < 0.0) ? -1 : 1)
++ : 0;
++
++# endif
++
++# if defined(TRIO_INTERNAL_ISINF_FALLBACK)
++
++ /*
++ * Fallback solution.
++ */
++ int status;
++
++# if defined(TRIO_PLATFORM_UNIX)
++ void (*signal_handler)(int) = signal(SIGFPE, SIG_IGN);
++# endif
++
++ double infinity = trio_pinf();
++
++ status = ((number == infinity)
++ ? 1
++ : ((number == -infinity) ? -1 : 0));
++
++# if defined(TRIO_PLATFORM_UNIX)
++ signal(SIGFPE, signal_handler);
++# endif
++
++ return status;
++
++# endif
++}
++
++#endif /* TRIO_FUNC_INTERNAL_ISINF */
++
++/*************************************************************************
++ * Public functions
++ */
++
++#if defined(TRIO_FUNC_FPCLASSIFY_AND_SIGNBIT)
++
++TRIO_PUBLIC_NAN int
++trio_fpclassify_and_signbit
++TRIO_ARGS2((number, is_negative),
++ double number,
++ int *is_negative)
++{
++ /* The TRIO_FUNC_xxx_FPCLASSIFY_AND_SIGNBIT macros are mutually exclusive */
++
++#if defined(TRIO_FUNC_C99_FPCLASSIFY_AND_SIGNBIT)
++
++ return c99_fpclassify_and_signbit(number, is_negative);
++
++#endif
++
++#if defined(TRIO_FUNC_DECC_FPCLASSIFY_AND_SIGNBIT)
++
++ return decc_fpclassify_and_signbit(number, is_negative);
++
++#endif
++
++#if defined(TRIO_FUNC_MS_FPCLASSIFY_AND_SIGNBIT)
++
++ return ms_fpclassify_and_signbit(number, is_negative);
++
++#endif
++
++#if defined(TRIO_FUNC_HP_FPCLASSIFY_AND_SIGNBIT)
++
++ return hp_fpclassify_and_signbit(number, is_negative);
++
++#endif
++
++#if defined(TRIO_FUNC_XLC_FPCLASSIFY_AND_SIGNBIT)
++
++ return xlc_fpclassify_and_signbit(number, is_negative);
++
++#endif
++
++#if defined(TRIO_FUNC_INTERNAL_FPCLASSIFY_AND_SIGNBIT)
++
++ /*
++ * Fallback solution.
++ */
++ int rc;
++
++ if (number == 0.0) {
++ /*
++ * In IEEE 754 the sign of zero is ignored in comparisons, so we
++ * have to handle this as a special case by examining the sign bit
++ * directly.
++ */
++# if defined(TRIO_IEEE_754)
++ *is_negative = internal_is_negative(number);
++# else
++ *is_negative = TRIO_FALSE; /* FIXME */
++# endif
++ return TRIO_FP_ZERO;
++ }
++ if (internal_isnan(number)) {
++ *is_negative = TRIO_FALSE;
++ return TRIO_FP_NAN;
++ }
++ rc = internal_isinf(number);
++ if (rc != 0) {
++ *is_negative = (rc == -1);
++ return TRIO_FP_INFINITE;
++ }
++ if ((number > 0.0) && (number < DBL_MIN)) {
++ *is_negative = TRIO_FALSE;
++ return TRIO_FP_SUBNORMAL;
++ }
++ if ((number < 0.0) && (number > -DBL_MIN)) {
++ *is_negative = TRIO_TRUE;
++ return TRIO_FP_SUBNORMAL;
++ }
++ *is_negative = (number < 0.0);
++ return TRIO_FP_NORMAL;
++
++#endif
++}
++
++#endif
++
++/**
++ Check for NaN.
++
++ @param number An arbitrary floating-point number.
++ @return Boolean value indicating whether or not the number is a NaN.
++*/
++#if defined(TRIO_FUNC_ISNAN)
++
++TRIO_PUBLIC_NAN int
++trio_isnan
++TRIO_ARGS1((number),
++ double number)
++{
++ int dummy;
++
++ return (trio_fpclassify_and_signbit(number, &dummy) == TRIO_FP_NAN);
++}
++
++#endif
++
++/**
++ Check for infinity.
++
++ @param number An arbitrary floating-point number.
++ @return 1 if positive infinity, -1 if negative infinity, 0 otherwise.
++*/
++#if defined(TRIO_FUNC_ISINF)
++
++TRIO_PUBLIC_NAN int
++trio_isinf
++TRIO_ARGS1((number),
++ double number)
++{
++ int is_negative;
++
++ if (trio_fpclassify_and_signbit(number, &is_negative) == TRIO_FP_INFINITE)
++ {
++ return (is_negative) ? -1 : 1;
++ }
++ else
++ {
++ return 0;
++ }
++}
++
++#endif
++
++/**
++ Check for finity.
++
++ @param number An arbitrary floating-point number.
++ @return Boolean value indicating whether or not the number is a finite.
++*/
++#if defined(TRIO_FUNC_ISFINITE)
++
++TRIO_PUBLIC_NAN int
++trio_isfinite
++TRIO_ARGS1((number),
++ double number)
++{
++ int dummy;
++
++ switch (trio_fpclassify_and_signbit(number, &dummy))
++ {
++ case TRIO_FP_INFINITE:
++ case TRIO_FP_NAN:
++ return 0;
++ default:
++ return 1;
++ }
++}
++
++#endif
++
++/**
++ Examine the sign of a number.
++
++ @param number An arbitrary floating-point number.
++ @return Boolean value indicating whether or not the number has the
++ sign bit set (i.e. is negative).
++*/
++#if defined(TRIO_FUNC_SIGNBIT)
++
++TRIO_PUBLIC_NAN int
++trio_signbit
++TRIO_ARGS1((number),
++ double number)
++{
++ int is_negative;
++
++ (void)trio_fpclassify_and_signbit(number, &is_negative);
++ return is_negative;
++}
++
++#endif
++
++/**
++ Examine the class of a number.
++
++ @param number An arbitrary floating-point number.
++ @return Enumerable value indicating the class of @p number
++*/
++#if defined(TRIO_FUNC_FPCLASSIFY)
++
++TRIO_PUBLIC_NAN int
++trio_fpclassify
++TRIO_ARGS1((number),
++ double number)
++{
++ int dummy;
++
++ return trio_fpclassify_and_signbit(number, &dummy);
++}
++
++#endif
++
++/**
++ Generate negative zero.
++
++ @return Floating-point representation of negative zero.
++*/
++#if defined(TRIO_FUNC_NZERO)
++
++TRIO_PUBLIC_NAN double
++trio_nzero(TRIO_NOARGS)
++{
++# if defined(TRIO_NZERO_IEEE_754)
++
++ return internal_make_double(ieee_754_negzero_array);
++
++# endif
++
++# if defined(TRIO_NZERO_FALLBACK)
++
++ TRIO_VOLATILE double zero = 0.0;
++
++ return -zero;
++
++# endif
++}
++
++#endif
++
++/**
++ Generate positive infinity.
++
++ @return Floating-point representation of positive infinity.
++*/
++#if defined(TRIO_FUNC_PINF)
++
++TRIO_PUBLIC_NAN double
++trio_pinf(TRIO_NOARGS)
++{
++ /* Cache the result */
++ static double pinf_value = 0.0;
++
++ if (pinf_value == 0.0) {
++
++# if defined(TRIO_PINF_C99_MACRO)
++
++ pinf_value = (double)INFINITY;
++
++# endif
++
++# if defined(TRIO_PINF_IEEE_754)
++
++ pinf_value = internal_make_double(ieee_754_infinity_array);
++
++# endif
++
++# if defined(TRIO_PINF_FALLBACK)
++ /*
++ * If HUGE_VAL is different from DBL_MAX, then HUGE_VAL is used
++ * as infinity. Otherwise we have to resort to an overflow
++ * operation to generate infinity.
++ */
++# if defined(TRIO_PLATFORM_UNIX)
++ void (*signal_handler)(int) = signal(SIGFPE, SIG_IGN);
++# endif
++
++ pinf_value = HUGE_VAL;
++ if (HUGE_VAL == DBL_MAX) {
++ /* Force overflow */
++ pinf_value += HUGE_VAL;
++ }
++
++# if defined(TRIO_PLATFORM_UNIX)
++ signal(SIGFPE, signal_handler);
++# endif
++
++# endif
++ }
++ return pinf_value;
++}
++
++#endif
++
++/**
++ Generate negative infinity.
++
++ @return Floating-point value of negative infinity.
++*/
++#if defined(TRIO_FUNC_NINF)
++
++TRIO_PUBLIC_NAN double
++trio_ninf(TRIO_NOARGS)
++{
++ static double ninf_value = 0.0;
++
++ if (ninf_value == 0.0) {
++ /*
++ * Negative infinity is calculated by negating positive infinity,
++ * which can be done because it is legal to do calculations on
++ * infinity (for example, 1 / infinity == 0).
++ */
++ ninf_value = -trio_pinf();
++ }
++ return ninf_value;
++}
++
++#endif
++
++/**
++ Generate NaN.
++
++ @return Floating-point representation of NaN.
++*/
++#if defined(TRIO_FUNC_NAN)
++
++TRIO_PUBLIC_NAN double
++trio_nan(TRIO_NOARGS)
++{
++ /* Cache the result */
++ static double nan_value = 0.0;
++
++ if (nan_value == 0.0) {
++
++# if defined(TRIO_NAN_C99_FUNCTION) || defined(TRIO_PLATFORM_SYMBIAN)
++
++ nan_value = nan("");
++
++# endif
++
++# if defined(TRIO_NAN_C99_MACRO)
++
++ nan_value = (double)NAN;
++
++# endif
++
++# if defined(TRIO_NAN_IEEE_754)
++
++ nan_value = internal_make_double(ieee_754_qnan_array);
++
++# endif
++
++# if defined(TRIO_NAN_FALLBACK)
++ /*
++ * There are several ways to generate NaN. The one used here is
++ * to divide infinity by infinity. I would have preferred to add
++ * negative infinity to positive infinity, but that yields wrong
++ * result (infinity) on FreeBSD.
++ *
++ * This may fail if the hardware does not support NaN, or if
++ * the Invalid Operation floating-point exception is unmasked.
++ */
++# if defined(TRIO_PLATFORM_UNIX)
++ void (*signal_handler)(int) = signal(SIGFPE, SIG_IGN);
++# endif
++
++ nan_value = trio_pinf() / trio_pinf();
++
++# if defined(TRIO_PLATFORM_UNIX)
++ signal(SIGFPE, signal_handler);
++# endif
++
++# endif
++ }
++ return nan_value;
++}
++
++#endif
++
++/** @} SpecialQuantities */
++
++/*************************************************************************
++ * For test purposes.
++ *
++ * Add the following compiler option to include this test code.
++ *
++ * Unix : -DSTANDALONE
++ * VMS : /DEFINE=(STANDALONE)
++ */
++#if defined(STANDALONE)
++# include <stdio.h>
++
++static TRIO_CONST char *
++getClassification
++TRIO_ARGS1((type),
++ int type)
++{
++ switch (type) {
++ case TRIO_FP_INFINITE:
++ return "FP_INFINITE";
++ case TRIO_FP_NAN:
++ return "FP_NAN";
++ case TRIO_FP_NORMAL:
++ return "FP_NORMAL";
++ case TRIO_FP_SUBNORMAL:
++ return "FP_SUBNORMAL";
++ case TRIO_FP_ZERO:
++ return "FP_ZERO";
++ default:
++ return "FP_UNKNOWN";
++ }
++}
++
++static void
++print_class
++TRIO_ARGS2((prefix, number),
++ TRIO_CONST char *prefix,
++ double number)
++{
++ printf("%-6s: %s %-15s %g\n",
++ prefix,
++ trio_signbit(number) ? "-" : "+",
++ getClassification(trio_fpclassify(number)),
++ number);
++}
++
++int main(TRIO_NOARGS)
++{
++ double my_nan;
++ double my_pinf;
++ double my_ninf;
++# if defined(TRIO_PLATFORM_UNIX)
++ void (*signal_handler) TRIO_PROTO((int));
++# endif
++
++ my_nan = trio_nan();
++ my_pinf = trio_pinf();
++ my_ninf = trio_ninf();
++
++ print_class("Nan", my_nan);
++ print_class("PInf", my_pinf);
++ print_class("NInf", my_ninf);
++ print_class("PZero", 0.0);
++ print_class("NZero", -0.0);
++ print_class("PNorm", 1.0);
++ print_class("NNorm", -1.0);
++ print_class("PSub", 1.01e-307 - 1.00e-307);
++ print_class("NSub", 1.00e-307 - 1.01e-307);
++
++ printf("NaN : %4g 0x%02x%02x%02x%02x%02x%02x%02x%02x (%2d, %2d, %2d)\n",
++ my_nan,
++ ((unsigned char *)&my_nan)[0],
++ ((unsigned char *)&my_nan)[1],
++ ((unsigned char *)&my_nan)[2],
++ ((unsigned char *)&my_nan)[3],
++ ((unsigned char *)&my_nan)[4],
++ ((unsigned char *)&my_nan)[5],
++ ((unsigned char *)&my_nan)[6],
++ ((unsigned char *)&my_nan)[7],
++ trio_isnan(my_nan), trio_isinf(my_nan), trio_isfinite(my_nan));
++ printf("PInf: %4g 0x%02x%02x%02x%02x%02x%02x%02x%02x (%2d, %2d, %2d)\n",
++ my_pinf,
++ ((unsigned char *)&my_pinf)[0],
++ ((unsigned char *)&my_pinf)[1],
++ ((unsigned char *)&my_pinf)[2],
++ ((unsigned char *)&my_pinf)[3],
++ ((unsigned char *)&my_pinf)[4],
++ ((unsigned char *)&my_pinf)[5],
++ ((unsigned char *)&my_pinf)[6],
++ ((unsigned char *)&my_pinf)[7],
++ trio_isnan(my_pinf), trio_isinf(my_pinf), trio_isfinite(my_pinf));
++ printf("NInf: %4g 0x%02x%02x%02x%02x%02x%02x%02x%02x (%2d, %2d, %2d)\n",
++ my_ninf,
++ ((unsigned char *)&my_ninf)[0],
++ ((unsigned char *)&my_ninf)[1],
++ ((unsigned char *)&my_ninf)[2],
++ ((unsigned char *)&my_ninf)[3],
++ ((unsigned char *)&my_ninf)[4],
++ ((unsigned char *)&my_ninf)[5],
++ ((unsigned char *)&my_ninf)[6],
++ ((unsigned char *)&my_ninf)[7],
++ trio_isnan(my_ninf), trio_isinf(my_ninf), trio_isfinite(my_ninf));
++
++# if defined(TRIO_PLATFORM_UNIX)
++ signal_handler = signal(SIGFPE, SIG_IGN);
++# endif
++
++ my_pinf = DBL_MAX + DBL_MAX;
++ my_ninf = -my_pinf;
++ my_nan = my_pinf / my_pinf;
++
++# if defined(TRIO_PLATFORM_UNIX)
++ signal(SIGFPE, signal_handler);
++# endif
++
++ printf("NaN : %4g 0x%02x%02x%02x%02x%02x%02x%02x%02x (%2d, %2d, %2d)\n",
++ my_nan,
++ ((unsigned char *)&my_nan)[0],
++ ((unsigned char *)&my_nan)[1],
++ ((unsigned char *)&my_nan)[2],
++ ((unsigned char *)&my_nan)[3],
++ ((unsigned char *)&my_nan)[4],
++ ((unsigned char *)&my_nan)[5],
++ ((unsigned char *)&my_nan)[6],
++ ((unsigned char *)&my_nan)[7],
++ trio_isnan(my_nan), trio_isinf(my_nan), trio_isfinite(my_nan));
++ printf("PInf: %4g 0x%02x%02x%02x%02x%02x%02x%02x%02x (%2d, %2d, %2d)\n",
++ my_pinf,
++ ((unsigned char *)&my_pinf)[0],
++ ((unsigned char *)&my_pinf)[1],
++ ((unsigned char *)&my_pinf)[2],
++ ((unsigned char *)&my_pinf)[3],
++ ((unsigned char *)&my_pinf)[4],
++ ((unsigned char *)&my_pinf)[5],
++ ((unsigned char *)&my_pinf)[6],
++ ((unsigned char *)&my_pinf)[7],
++ trio_isnan(my_pinf), trio_isinf(my_pinf), trio_isfinite(my_pinf));
++ printf("NInf: %4g 0x%02x%02x%02x%02x%02x%02x%02x%02x (%2d, %2d, %2d)\n",
++ my_ninf,
++ ((unsigned char *)&my_ninf)[0],
++ ((unsigned char *)&my_ninf)[1],
++ ((unsigned char *)&my_ninf)[2],
++ ((unsigned char *)&my_ninf)[3],
++ ((unsigned char *)&my_ninf)[4],
++ ((unsigned char *)&my_ninf)[5],
++ ((unsigned char *)&my_ninf)[6],
++ ((unsigned char *)&my_ninf)[7],
++ trio_isnan(my_ninf), trio_isinf(my_ninf), trio_isfinite(my_ninf));
++
++ return 0;
++}
++#endif
+diff -up ghostscript-9.07/trio/trionan.h.gs_sprintf ghostscript-9.07/trio/trionan.h
+--- ghostscript-9.07/trio/trionan.h.gs_sprintf 2013-05-09 17:02:39.112447283 +0100
++++ ghostscript-9.07/trio/trionan.h 2013-05-09 17:02:39.112447283 +0100
+@@ -0,0 +1,183 @@
++/*************************************************************************
++ *
++ * $Id: trionan.h,v 1.9 2005/03/27 18:52:45 breese Exp $
++ *
++ * Copyright (C) 2001 Bjorn Reese <breese@users.sourceforge.net>
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++ * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
++ *
++ ************************************************************************/
++
++#ifndef TRIO_TRIONAN_H
++#define TRIO_TRIONAN_H
++
++#include "triodef.h"
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#if !defined(TRIO_PUBLIC_NAN)
++# if !defined(TRIO_PUBLIC)
++# define TRIO_PUBLIC
++# endif
++# define TRIO_PUBLIC_NAN TRIO_PUBLIC
++#endif
++
++enum {
++ TRIO_FP_INFINITE,
++ TRIO_FP_NAN,
++ TRIO_FP_NORMAL,
++ TRIO_FP_SUBNORMAL,
++ TRIO_FP_ZERO
++};
++
++/*************************************************************************
++ * Dependencies
++ */
++
++#if defined(TRIO_EMBED_NAN)
++
++/*
++ * The application that trionan is embedded in must define which functions
++ * it uses.
++ *
++ * The following resolves internal dependencies.
++ */
++
++# if defined(TRIO_FUNC_ISNAN) \
++ || defined(TRIO_FUNC_ISINF)
++# if !defined(TRIO_FUNC_FPCLASSIFY_AND_SIGNBIT)
++# define TRIO_FUNC_FPCLASSIFY_AND_SIGNBIT
++# endif
++# endif
++
++# if defined(TRIO_FUNC_NAN)
++# if !defined(TRIO_FUNC_PINF)
++# define TRIO_FUNC_PINF
++# endif
++# endif
++
++# if defined(TRIO_FUNC_NINF)
++# if !defined(TRIO_FUNC_PINF)
++# define TRIO_FUNC_PINF
++# endif
++# endif
++
++#else
++
++/*
++ * When trionan is not embedded all all functions are defined.
++ */
++
++# define TRIO_FUNC_NAN
++# define TRIO_FUNC_PINF
++# define TRIO_FUNC_NINF
++# define TRIO_FUNC_NZERO
++# define TRIO_FUNC_ISNAN
++# define TRIO_FUNC_ISINF
++# define TRIO_FUNC_ISFINITE
++# define TRIO_FUNC_SIGNBIT
++# define TRIO_FUNC_FPCLASSIFY
++# define TRIO_FUNC_FPCLASSIFY_AND_SIGNBIT
++
++#endif
++
++/*************************************************************************
++ * Functions
++ */
++
++/*
++ * Return NaN (Not-a-Number).
++ */
++#if defined(TRIO_FUNC_NAN)
++TRIO_PUBLIC_NAN double
++trio_nan
++TRIO_PROTO((void));
++#endif
++
++/*
++ * Return positive infinity.
++ */
++#if defined(TRIO_FUNC_PINF)
++TRIO_PUBLIC_NAN double
++trio_pinf
++TRIO_PROTO((void));
++#endif
++
++/*
++ * Return negative infinity.
++ */
++#if defined(TRIO_FUNC_NINF)
++TRIO_PUBLIC_NAN double
++trio_ninf
++TRIO_PROTO((void));
++#endif
++
++/*
++ * Return negative zero.
++ */
++#if defined(TRIO_FUNC_NZERO)
++TRIO_PUBLIC_NAN double
++trio_nzero
++TRIO_PROTO((TRIO_NOARGS));
++#endif
++
++/*
++ * If number is a NaN return non-zero, otherwise return zero.
++ */
++#if defined(TRIO_FUNC_ISNAN)
++TRIO_PUBLIC_NAN int
++trio_isnan
++TRIO_PROTO((double number));
++#endif
++
++/*
++ * If number is positive infinity return 1, if number is negative
++ * infinity return -1, otherwise return 0.
++ */
++#if defined(TRIO_FUNC_ISINF)
++TRIO_PUBLIC_NAN int
++trio_isinf
++TRIO_PROTO((double number));
++#endif
++
++/*
++ * If number is finite return non-zero, otherwise return zero.
++ */
++#if defined(TRIO_FUNC_ISFINITE)
++TRIO_PUBLIC_NAN int
++trio_isfinite
++TRIO_PROTO((double number));
++#endif
++
++#if defined(TRIO_FUNC_SIGNBIT)
++TRIO_PUBLIC_NAN int
++trio_signbit
++TRIO_PROTO((double number));
++#endif
++
++#if defined(TRIO_FUNC_FPCLASSIFY)
++TRIO_PUBLIC_NAN int
++trio_fpclassify
++TRIO_PROTO((double number));
++#endif
++
++#if defined(TRIO_FUNC_FPCLASSIFY_AND_SIGNBIT)
++TRIO_PUBLIC_NAN int
++trio_fpclassify_and_signbit
++TRIO_PROTO((double number, int *is_negative));
++#endif
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* TRIO_TRIONAN_H */
+diff -up ghostscript-9.07/trio/triop.h.gs_sprintf ghostscript-9.07/trio/triop.h
+--- ghostscript-9.07/trio/triop.h.gs_sprintf 2013-05-09 17:02:39.113447287 +0100
++++ ghostscript-9.07/trio/triop.h 2013-05-09 17:02:39.113447287 +0100
+@@ -0,0 +1,472 @@
++/*************************************************************************
++ *
++ * $Id: triop.h,v 1.18 2009/07/05 10:14:07 breese Exp $
++ *
++ * Copyright (C) 2000 Bjorn Reese and Daniel Stenberg.
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++ * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
++ *
++ ************************************************************************
++ *
++ * Private functions, types, etc. used for callback functions.
++ *
++ * The ref pointer is an opaque type and should remain as such.
++ * Private data must only be accessible through the getter and
++ * setter functions.
++ *
++ ************************************************************************/
++
++#ifndef TRIO_TRIOP_H
++#define TRIO_TRIOP_H
++
++#include "triodef.h"
++
++#include <stdlib.h>
++#if defined(TRIO_COMPILER_ANCIENT)
++# include <varargs.h>
++#else
++# include <stdarg.h>
++#endif
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/*************************************************************************
++ * Supported standards
++ */
++
++/*
++ * TRIO_C99 (=0 or =1)
++ *
++ * Define this to 0 to disable C99 format specifier extensions, or
++ * define to 1 to enable them. The format specifiers that are
++ * disabled by this switch are labelled with [C99] in the format
++ * specifier documentation.
++ */
++#if !defined(TRIO_C99)
++# define TRIO_C99 1
++#endif
++
++/*
++ * TRIO_BSD (=0 or =1)
++ *
++ * Define this to 0 to disable BSD format specifier extensions, or
++ * define to 1 to enable them. The format specifiers that are
++ * disabled by this switch are labelled with [BSD] in the format
++ * specifier documentation.
++ */
++#if !defined(TRIO_BSD)
++# define TRIO_BSD 1
++#endif
++
++/*
++ * TRIO_GNU (=0 or =1)
++ *
++ * Define this to 0 to disable GNU format specifier extensions, or
++ * define to 1 to enable them. The format specifiers that are
++ * disabled by this switch are labelled with [GNU] in the format
++ * specifier documentation.
++ */
++#if !defined(TRIO_GNU)
++# define TRIO_GNU 1
++#endif
++
++/*
++ * TRIO_MISC (=0 or =1)
++ *
++ * Define this to 0 to disable miscellaneous format specifier
++ * extensions, or define to 1 to enable them. The format specifiers
++ * that are disabled by this switch are labelled with [MISC] in the
++ * format specifier documentation.
++ */
++#if !defined(TRIO_MISC)
++# define TRIO_MISC 1
++#endif
++
++/*
++ * TRIO_UNIX98 (=0 or =1)
++ *
++ * Define this to 0 to disable UNIX98 format specifier extensions,
++ * or define to 1 to enable them. The format specifiers that are
++ * disabled by this switch are labelled with [UNIX98] in the format
++ * specifier documentation.
++ */
++#if !defined(TRIO_UNIX98)
++# define TRIO_UNIX98 1
++#endif
++
++/*
++ * TRIO_MICROSOFT (=0 or =1)
++ *
++ * Define this to 0 to disable Microsoft Visual C format specifier
++ * extensions, or define to 1 to enable them. The format specifiers
++ * that are disabled by this switch are labelled with [MSVC] in the
++ * format specifier documentation.
++ */
++#if !defined(TRIO_MICROSOFT)
++# define TRIO_MICROSOFT 1
++#endif
++
++/*
++ * TRIO_EXTENSION (=0 or =1)
++ *
++ * Define this to 0 to disable Trio-specific extensions, or define
++ * to 1 to enable them. This has two effects: it controls whether
++ * or not the Trio user-defined formating mechanism
++ * (trio_register() etc) is supported, and it enables or disables
++ * Trio's own format specifier extensions. The format specifiers
++ * that are disabled by this switch are labelled with [TRIO] in
++ * the format specifier documentation.
++ */
++#if !defined(TRIO_EXTENSION)
++# define TRIO_EXTENSION 1
++#endif
++
++/*
++ * TRIO_DEPRECATED (=0 or =1)
++ *
++ * Define this to 0 to disable deprecated functionality, or define
++ * to 1 to enable them.
++ */
++#if !defined(TRIO_DEPRECATED)
++# define TRIO_DEPRECATED 1
++#endif
++
++/*************************************************************************
++ * Features
++ */
++
++#if defined(TRIO_SNPRINTF_ONLY)
++# define TRIO_FEATURE_SCANF 0
++# define TRIO_FEATURE_FILE 0
++# define TRIO_FEATURE_STDIO 0
++# define TRIO_FEATURE_FD 0
++# define TRIO_FEATURE_DYNAMICSTRING 0
++# define TRIO_FEATURE_CLOSURE 0
++# define TRIO_FEATURE_STRERR 0
++# define TRIO_FEATURE_LOCALE 0
++# define TRIO_EMBED_NAN 1
++# define TRIO_EMBED_STRING 1
++#endif
++
++/*
++ * TRIO_FEATURE_SCANF (=0 or =1)
++ *
++ * Define this to 0 to disable all the scanf() variants, or define to 1
++ * to enable them.
++ */
++#if !defined(TRIO_FEATURE_SCANF)
++# define TRIO_FEATURE_SCANF 1
++#endif
++
++/*
++ * TRIO_FEATURE_FILE (=0 or =1)
++ *
++ * Define this to 0 to disable compilation of the trio_fprintf() and
++ * trio_fscanf() family of functions, or define to 1 to enable them.
++ *
++ * This may be useful on an embedded platform with no filesystem.
++ * Note that trio_printf() uses fwrite to write to stdout, so if you
++ * do not have an implementation of fwrite() at all then you must also
++ * define TRIO_FEATURE_STDIO to 0.
++ */
++#if !defined(TRIO_FEATURE_FILE)
++# define TRIO_FEATURE_FILE 1
++#endif
++
++/*
++ * TRIO_FEATURE_STDIO (=0 or =1)
++ *
++ * Define this to 0 to disable compilation of the trio_printf() and
++ * trio_scanf() family of functions, or define to 1 to enable them.
++ *
++ * This may be useful on an embedded platform with no standard I/O.
++ */
++#if !defined(TRIO_FEATURE_STDIO)
++# define TRIO_FEATURE_STDIO 1
++#endif
++
++/*
++ * TRIO_FEATURE_FD (=0 or =1)
++ *
++ * Define this to 0 to disable compilation of the trio_dprintf() and
++ * trio_dscanf() family of functions, or define to 1 to enable them.
++ *
++ * This may be useful on an embedded platform with no filesystem, or on
++ * a platform that supports file I/O using FILE* but not using raw file
++ * descriptors.
++ */
++#if !defined(TRIO_FEATURE_FD)
++# define TRIO_FEATURE_FD 1
++#endif
++
++/*
++ * TRIO_FEATURE_DYNAMICSTRING (=0 or =1)
++ *
++ * Define this to 0 to disable compilation of the trio_aprintf()
++ * family of functions, or define to 1 to enable them.
++ *
++ * If you define both this and TRIO_MINIMAL to 0, then Trio will never
++ * call malloc or free.
++ */
++#if !defined(TRIO_FEATURE_DYNAMICSTRING)
++# define TRIO_FEATURE_DYNAMICSTRING 1
++#endif
++
++/*
++ * TRIO_FEATURE_CLOSURE (=0 or =1)
++ *
++ * Define this to 0 to disable compilation of the trio_cprintf() and
++ * trio_cscanf() family of functions, or define to 1 to enable them.
++ *
++ * These functions are rarely needed. This saves a (small) amount of code.
++ */
++#if !defined(TRIO_FEATURE_CLOSURE)
++# define TRIO_FEATURE_CLOSURE 1
++#endif
++
++/*
++ * TRIO_FEATURE_ERRORCODE (=0 or =1)
++ *
++ * Define this to 0 to return -1 from the print and scan function on
++ * error, or define to 1 to return a negative number with debugging
++ * information as part of the return code.
++ *
++ * If enabled, the return code will be a negative number, which encodes
++ * an error code and an error location. These can be decoded with the
++ * TRIO_ERROR_CODE and TRIO_ERROR_POSITION macros.
++ */
++#if defined(TRIO_ERRORS)
++# define TRIO_FEATURE_ERRORCODE TRIO_ERRORS
++#endif
++#if !defined(TRIO_FEATURE_ERRORCODE)
++# define TRIO_FEATURE_ERRORCODE 1
++#endif
++
++/*
++ * TRIO_FEATURE_STRERR (=0 or =1)
++ *
++ * Define this to 0 if you do not use trio_strerror(), or define to 1 if
++ * you do use it.
++ *
++ * This saves a (small) amount of code.
++ */
++#if !defined(TRIO_FEATURE_STRERR)
++# define TRIO_FEATURE_STRERR 1
++#endif
++
++/*
++ * TRIO_FEATURE_FLOAT (=0 or =1)
++ *
++ * Define this to 0 to disable all floating-point support, or define
++ * to 1 to enable it.
++ *
++ * This is useful in restricted embedded platforms that do not support
++ * floating-point. Obviously you cannot use floating-point format
++ * specifiers if you define this.
++ *
++ * Do not compile trionan.c if you disable this.
++ */
++#if !defined(TRIO_FEATURE_FLOAT)
++# define TRIO_FEATURE_FLOAT 1
++#endif
++
++/*
++ * TRIO_FEATURE_LOCALE (=0 or =1)
++ *
++ * Define this to 0 to disable customized locale support, or define
++ * to 1 to enable it.
++ *
++ * This saves a (small) amount of code.
++ */
++#if !defined(TRIO_FEATURE_LOCALE)
++# define TRIO_FEATURE_LOCALE 1
++#endif
++
++/*
++ * TRIO_MINIMAL
++ *
++ * Define this to disable building the public trionan.h and triostr.h.
++ * If you define this, then you must not compile trionan.c and triostr.c
++ * separately.
++ */
++#if defined(TRIO_MINIMAL)
++# if !defined(TRIO_EMBED_NAN)
++# define TRIO_EMBED_NAN
++# endif
++# if !defined(TRIO_EMBED_STRING)
++# define TRIO_EMBED_STRING
++# endif
++#endif
++
++/* Does not work yet. Do not enable */
++#ifndef TRIO_FEATURE_WIDECHAR
++# define TRIO_FEATURE_WIDECHAR 0
++#endif
++
++/*************************************************************************
++ * Mapping standards to internal features
++ */
++
++#if !defined(TRIO_FEATURE_HEXFLOAT)
++# define TRIO_FEATURE_HEXFLOAT (TRIO_C99 && TRIO_FEATURE_FLOAT)
++#endif
++
++#if !defined(TRIO_FEATURE_LONGDOUBLE)
++# define TRIO_FEATURE_LONGDOUBLE TRIO_FEATURE_FLOAT
++#endif
++
++#if !defined(TRIO_FEATURE_ERRNO)
++# define TRIO_FEATURE_ERRNO TRIO_GNU
++#endif
++
++#if !defined(TRIO_FEATURE_QUAD)
++# define TRIO_FEATURE_QUAD (TRIO_BSD || TRIO_GNU)
++#endif
++
++#if !defined(TRIO_FEATURE_SIZE_T)
++# define TRIO_FEATURE_SIZE_T TRIO_C99
++#endif
++
++#if !defined(TRIO_FEATURE_SIZE_T_UPPER)
++# define TRIO_FEATURE_SIZE_T_UPPER TRIO_GNU
++#endif
++
++#if !defined(TRIO_FEATURE_PTRDIFF_T)
++# define TRIO_FEATURE_PTRDIFF_T TRIO_C99
++#endif
++
++#if !defined(TRIO_FEATURE_INTMAX_T)
++# define TRIO_FEATURE_INTMAX_T TRIO_C99
++#endif
++
++#if !defined(TRIO_FEATURE_FIXED_SIZE)
++# define TRIO_FEATURE_FIXED_SIZE TRIO_MICROSOFT
++#endif
++
++#if !defined(TRIO_FEATURE_POSITIONAL)
++# define TRIO_FEATURE_POSITIONAL TRIO_UNIX98
++#endif
++
++#if !defined(TRIO_FEATURE_USER_DEFINED)
++# define TRIO_FEATURE_USER_DEFINED TRIO_EXTENSION
++#endif
++
++#if !defined(TRIO_FEATURE_BINARY)
++# define TRIO_FEATURE_BINARY TRIO_EXTENSION
++#endif
++
++#if !defined(TRIO_FEATURE_QUOTE)
++# define TRIO_FEATURE_QUOTE TRIO_EXTENSION
++#endif
++
++#if !defined(TRIO_FEATURE_STICKY)
++# define TRIO_FEATURE_STICKY TRIO_EXTENSION
++#endif
++
++#if !defined(TRIO_FEATURE_VARSIZE)
++# define TRIO_FEATURE_VARSIZE TRIO_EXTENSION
++#endif
++
++#if !defined(TRIO_FEATURE_ROUNDING)
++# define TRIO_FEATURE_ROUNDING TRIO_EXTENSION
++#endif
++
++/*************************************************************************
++ * Memory handling
++ */
++#ifndef TRIO_MALLOC
++# define TRIO_MALLOC(n) malloc(n)
++#endif
++#ifndef TRIO_REALLOC
++# define TRIO_REALLOC(x,n) realloc((x),(n))
++#endif
++#ifndef TRIO_FREE
++# define TRIO_FREE(x) free(x)
++#endif
++
++
++/*************************************************************************
++ * User-defined specifiers
++ */
++
++typedef int (*trio_callback_t) TRIO_PROTO((trio_pointer_t));
++
++trio_pointer_t trio_register TRIO_PROTO((trio_callback_t callback, const char *name));
++void trio_unregister TRIO_PROTO((trio_pointer_t handle));
++
++TRIO_CONST char *trio_get_format TRIO_PROTO((trio_pointer_t ref));
++TRIO_CONST trio_pointer_t trio_get_argument TRIO_PROTO((trio_pointer_t ref));
++
++/* Modifiers */
++int trio_get_width TRIO_PROTO((trio_pointer_t ref));
++void trio_set_width TRIO_PROTO((trio_pointer_t ref, int width));
++int trio_get_precision TRIO_PROTO((trio_pointer_t ref));
++void trio_set_precision TRIO_PROTO((trio_pointer_t ref, int precision));
++int trio_get_base TRIO_PROTO((trio_pointer_t ref));
++void trio_set_base TRIO_PROTO((trio_pointer_t ref, int base));
++int trio_get_padding TRIO_PROTO((trio_pointer_t ref));
++void trio_set_padding TRIO_PROTO((trio_pointer_t ref, int is_padding));
++int trio_get_short TRIO_PROTO((trio_pointer_t ref)); /* h */
++void trio_set_shortshort TRIO_PROTO((trio_pointer_t ref, int is_shortshort));
++int trio_get_shortshort TRIO_PROTO((trio_pointer_t ref)); /* hh */
++void trio_set_short TRIO_PROTO((trio_pointer_t ref, int is_short));
++int trio_get_long TRIO_PROTO((trio_pointer_t ref)); /* l */
++void trio_set_long TRIO_PROTO((trio_pointer_t ref, int is_long));
++int trio_get_longlong TRIO_PROTO((trio_pointer_t ref)); /* ll */
++void trio_set_longlong TRIO_PROTO((trio_pointer_t ref, int is_longlong));
++int trio_get_longdouble TRIO_PROTO((trio_pointer_t ref)); /* L */
++void trio_set_longdouble TRIO_PROTO((trio_pointer_t ref, int is_longdouble));
++int trio_get_alternative TRIO_PROTO((trio_pointer_t ref)); /* # */
++void trio_set_alternative TRIO_PROTO((trio_pointer_t ref, int is_alternative));
++int trio_get_alignment TRIO_PROTO((trio_pointer_t ref)); /* - */
++void trio_set_alignment TRIO_PROTO((trio_pointer_t ref, int is_leftaligned));
++int trio_get_spacing TRIO_PROTO((trio_pointer_t ref)); /* (space) */
++void trio_set_spacing TRIO_PROTO((trio_pointer_t ref, int is_space));
++int trio_get_sign TRIO_PROTO((trio_pointer_t ref)); /* + */
++void trio_set_sign TRIO_PROTO((trio_pointer_t ref, int is_showsign));
++#if TRIO_FEATURE_QUOTE
++int trio_get_quote TRIO_PROTO((trio_pointer_t ref)); /* ' */
++void trio_set_quote TRIO_PROTO((trio_pointer_t ref, int is_quote));
++#endif
++int trio_get_upper TRIO_PROTO((trio_pointer_t ref));
++void trio_set_upper TRIO_PROTO((trio_pointer_t ref, int is_upper));
++#if TRIO_FEATURE_INTMAX_T
++int trio_get_largest TRIO_PROTO((trio_pointer_t ref)); /* j */
++void trio_set_largest TRIO_PROTO((trio_pointer_t ref, int is_largest));
++#endif
++#if TRIO_FEATURE_PTRDIFF_T
++int trio_get_ptrdiff TRIO_PROTO((trio_pointer_t ref)); /* t */
++void trio_set_ptrdiff TRIO_PROTO((trio_pointer_t ref, int is_ptrdiff));
++#endif
++#if TRIO_FEATURE_SIZE_T
++int trio_get_size TRIO_PROTO((trio_pointer_t ref)); /* z / Z */
++void trio_set_size TRIO_PROTO((trio_pointer_t ref, int is_size));
++#endif
++
++/* Printing */
++int trio_print_ref TRIO_PROTO((trio_pointer_t ref, const char *format, ...));
++int trio_vprint_ref TRIO_PROTO((trio_pointer_t ref, const char *format, va_list args));
++int trio_printv_ref TRIO_PROTO((trio_pointer_t ref, const char *format, trio_pointer_t *args));
++
++void trio_print_int TRIO_PROTO((trio_pointer_t ref, int number));
++void trio_print_uint TRIO_PROTO((trio_pointer_t ref, unsigned int number));
++/* void trio_print_long TRIO_PROTO((trio_pointer_t ref, long number)); */
++/* void trio_print_ulong TRIO_PROTO((trio_pointer_t ref, unsigned long number)); */
++void trio_print_double TRIO_PROTO((trio_pointer_t ref, double number));
++void trio_print_string TRIO_PROTO((trio_pointer_t ref, TRIO_CONST char *string));
++void trio_print_pointer TRIO_PROTO((trio_pointer_t ref, trio_pointer_t pointer));
++
++#ifdef __cplusplus
++} /* extern "C" */
++#endif
++
++#endif /* TRIO_TRIOP_H */
+diff -up ghostscript-9.07/trio/triostr.c.gs_sprintf ghostscript-9.07/trio/triostr.c
+--- ghostscript-9.07/trio/triostr.c.gs_sprintf 2013-05-09 17:02:39.113447287 +0100
++++ ghostscript-9.07/trio/triostr.c 2013-05-09 17:02:39.113447287 +0100
+@@ -0,0 +1,2385 @@
++/*************************************************************************
++ *
++ * $Id: triostr.c,v 1.36 2010/01/26 13:02:02 breese Exp $
++ *
++ * Copyright (C) 2001 Bjorn Reese and Daniel Stenberg.
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++ * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
++ *
++ ************************************************************************/
++
++/*************************************************************************
++ * Include files
++ */
++
++#if defined(HAVE_CONFIG_H)
++# include <config.h>
++#endif
++#include <assert.h>
++#include <stdlib.h>
++#include <string.h>
++#include <ctype.h>
++#include "triodef.h"
++#include "triostr.h"
++#if defined(TRIO_FUNC_TO_LONG_DOUBLE)
++# define USE_MATH
++#endif
++#if defined(USE_MATH)
++# include <math.h>
++#endif
++
++/*************************************************************************
++ * Definitions
++ */
++
++#if !defined(TRIO_PUBLIC_STRING)
++# define TRIO_PUBLIC_STRING TRIO_PUBLIC
++#endif
++#if !defined(TRIO_PRIVATE_STRING)
++# define TRIO_PRIVATE_STRING TRIO_PRIVATE
++#endif
++
++#if !defined(NULL)
++# define NULL 0
++#endif
++#if !defined(NIL)
++# define NIL ((char)0)
++#endif
++#if !defined(FALSE)
++# define FALSE (1 == 0)
++# define TRUE (! FALSE)
++#endif
++#if !defined(BOOLEAN_T)
++# define BOOLEAN_T int
++#endif
++
++#if defined(USE_MATH)
++# if defined(PREDEF_STANDARD_C99)
++# if defined(TRIO_COMPILER_DECC)
++# if (TRIO_COMPILER_DECC - 0 > 80000000)
++/*
++ * The OSF/1 runtime that comes with the DECC compiler does not support
++ * hexfloats conversion.
++ */
++# define USE_STRTOD
++# define USE_STRTOF
++# endif
++# else
++# define USE_STRTOD
++# define USE_STRTOF
++# endif
++# else
++# if defined(TRIO_COMPILER_VISUALC)
++# define USE_STRTOD
++# endif
++#endif
++#endif
++
++#if defined(TRIO_PLATFORM_UNIX)
++# if defined(PREDEF_STANDARD_UNIX95)
++# define USE_STRCASECMP
++# define USE_STRNCASECMP
++# endif
++# if defined(TRIO_PLATFORM_SUNOS)
++# define USE_SYS_ERRLIST
++# else
++# define USE_STRERROR
++# endif
++# if defined(TRIO_PLATFORM_QNX)
++# define strcasecmp(x,y) stricmp(x,y)
++# define strncasecmp(x,y,n) strnicmp(x,y,n)
++# endif
++#endif
++
++#if defined(TRIO_PLATFORM_WIN32)
++# define USE_STRCASECMP
++# if defined(TRIO_PLATFORM_WINCE)
++# define strcasecmp(x,y) _stricmp(x,y)
++# else
++# define strcasecmp(x,y) strcmpi(x,y)
++# endif
++#endif
++
++#if !defined(HAVE_CONFIG_H)
++# if !(defined(TRIO_PLATFORM_SUNOS))
++# define HAVE_TOLOWER
++# define HAVE_TOUPPER
++# endif
++#endif
++
++#if defined(USE_MATH) && !defined(TRIO_NO_POWL)
++# if !defined(HAVE_POWL)
++# if defined(PREDEF_STANDARD_C99) \
++ || defined(PREDEF_STANDARD_UNIX03)
++# define HAVE_POWL
++# else
++# if defined(TRIO_COMPILER_VISUALC)
++# if defined(powl)
++# define HAVE_POWL
++# endif
++# endif
++# endif
++# endif
++#endif
++
++#if defined(HAVE_POWL)
++# define trio_powl(x,y) powl((x),(y))
++#else
++# define trio_powl(x,y) pow((double)(x),(double)(y))
++#endif
++
++#if defined(TRIO_FUNC_TO_UPPER) \
++ || (defined(TRIO_FUNC_EQUAL) && !defined(USE_STRCASECMP)) \
++ || (defined(TRIO_FUNC_EQUAL_MAX) && !defined(USE_STRNCASECMP)) \
++ || defined(TRIO_FUNC_MATCH) \
++ || defined(TRIO_FUNC_TO_LONG_DOUBLE) \
++ || defined(TRIO_FUNC_UPPER)
++# define TRIO_FUNC_INTERNAL_TO_UPPER
++#endif
++
++/*************************************************************************
++ * Structures
++ */
++
++struct _trio_string_t
++{
++ char *content;
++ size_t length;
++ size_t allocated;
++};
++
++/*************************************************************************
++ * Constants
++ */
++
++#if !defined(TRIO_EMBED_STRING)
++static TRIO_CONST char rcsid[] = "@(#)$Id: triostr.c,v 1.36 2010/01/26 13:02:02 breese Exp $";
++#endif
++
++/*************************************************************************
++ * Static String Functions
++ */
++
++#if defined(TRIO_DOCUMENTATION)
++# include "doc/doc_static.h"
++#endif
++/** @addtogroup StaticStrings
++ @{
++*/
++
++/*
++ * internal_duplicate_max
++ */
++#if defined(TRIO_FUNC_DUPLICATE) \
++ || defined(TRIO_FUNC_DUPLICATE_MAX) \
++ || defined(TRIO_FUNC_STRING_DUPLICATE) \
++ || defined(TRIO_FUNC_XSTRING_DUPLICATE)
++
++TRIO_PRIVATE_STRING char *
++internal_duplicate_max
++TRIO_ARGS2((source, size),
++ TRIO_CONST char *source,
++ size_t size)
++{
++ char *target;
++
++ assert(source);
++
++ /* Make room for string plus a terminating zero */
++ size++;
++ target = trio_create(size);
++ if (target)
++ {
++ trio_copy_max(target, size, source);
++ }
++ return target;
++}
++
++#endif
++
++/*
++ * internal_string_alloc
++ */
++#if defined(TRIO_FUNC_STRING_CREATE) \
++ || defined(TRIO_FUNC_STRING_DUPLICATE) \
++ || defined(TRIO_FUNC_XSTRING_DUPLICATE)
++
++TRIO_PRIVATE_STRING trio_string_t *
++internal_string_alloc(TRIO_NOARGS)
++{
++ trio_string_t *self;
++
++ self = (trio_string_t *)TRIO_MALLOC(sizeof(trio_string_t));
++ if (self)
++ {
++ self->content = NULL;
++ self->length = 0;
++ self->allocated = 0;
++ }
++ return self;
++}
++
++#endif
++
++/*
++ * internal_string_grow
++ *
++ * The size of the string will be increased by 'delta' characters. If
++ * 'delta' is zero, the size will be doubled.
++ */
++#if defined(TRIO_FUNC_STRING_CREATE) \
++ || defined(TRIO_FUNC_STRING_APPEND) \
++ || defined(TRIO_FUNC_XSTRING_APPEND) \
++ || defined(TRIO_FUNC_XSTRING_APPEND_CHAR)
++
++TRIO_PRIVATE_STRING BOOLEAN_T
++internal_string_grow
++TRIO_ARGS2((self, delta),
++ trio_string_t *self,
++ size_t delta)
++{
++ BOOLEAN_T status = FALSE;
++ char *new_content;
++ size_t new_size;
++
++ new_size = (delta == 0)
++ ? ( (self->allocated == 0) ? 1 : self->allocated * 2 )
++ : self->allocated + delta;
++
++ new_content = (char *)TRIO_REALLOC(self->content, new_size);
++ if (new_content)
++ {
++ self->content = new_content;
++ self->allocated = new_size;
++ status = TRUE;
++ }
++ return status;
++}
++
++#endif
++
++/*
++ * internal_string_grow_to
++ *
++ * The size of the string will be increased to 'length' plus one characters.
++ * If 'length' is less than the original size, the original size will be
++ * used (that is, the size of the string is never decreased).
++ */
++#if defined(TRIO_FUNC_STRING_APPEND) \
++ || defined(TRIO_FUNC_XSTRING_APPEND) \
++ || defined(TRIO_FUNC_XSTRING_APPEND_MAX)
++
++TRIO_PRIVATE_STRING BOOLEAN_T
++internal_string_grow_to
++TRIO_ARGS2((self, length),
++ trio_string_t *self,
++ size_t length)
++{
++ length++; /* Room for terminating zero */
++ return (self->allocated < length)
++ ? internal_string_grow(self, length - self->allocated)
++ : TRUE;
++}
++
++#endif
++
++#if defined(TRIO_FUNC_INTERNAL_TO_UPPER)
++
++TRIO_PRIVATE_STRING TRIO_INLINE int
++internal_to_upper
++TRIO_ARGS1((source),
++ int source)
++{
++# if defined(HAVE_TOUPPER)
++
++ return toupper(source);
++
++# else
++
++ /* Does not handle locales or non-contiguous alphabetic characters */
++ return ((source >= (int)'a') && (source <= (int)'z'))
++ ? source - 'a' + 'A'
++ : source;
++
++# endif
++}
++
++#endif
++
++
++/**
++ Create new string.
++
++ @param size Size of new string.
++ @return Pointer to string, or NULL if allocation failed.
++*/
++#if defined(TRIO_FUNC_CREATE)
++
++TRIO_PUBLIC_STRING char *
++trio_create
++TRIO_ARGS1((size),
++ size_t size)
++{
++ return (char *)TRIO_MALLOC(size);
++}
++
++#endif
++
++/**
++ Destroy string.
++
++ @param string String to be freed.
++*/
++#if defined(TRIO_FUNC_DESTROY)
++
++TRIO_PUBLIC_STRING void
++trio_destroy
++TRIO_ARGS1((string),
++ char *string)
++{
++ if (string)
++ {
++ TRIO_FREE(string);
++ }
++}
++
++#endif
++
++/**
++ Count the number of characters in a string.
++
++ @param string String to measure.
++ @return Number of characters in @p string.
++*/
++#if defined(TRIO_FUNC_LENGTH)
++
++TRIO_PUBLIC_STRING size_t
++trio_length
++TRIO_ARGS1((string),
++ TRIO_CONST char *string)
++{
++ return strlen(string);
++}
++
++#endif
++
++/**
++ Count at most @p max characters in a string.
++
++ @param string String to measure.
++ @param max Maximum number of characters to count.
++ @return The maximum value of @p max and number of characters in @p string.
++*/
++#if defined(TRIO_FUNC_LENGTH_MAX)
++
++TRIO_PUBLIC_STRING size_t
++trio_length_max
++TRIO_ARGS2((string, max),
++ TRIO_CONST char *string,
++ size_t max)
++{
++ size_t i;
++
++ for (i = 0; i < max; ++i)
++ {
++ if (string[i] == 0)
++ break;
++ }
++ return i;
++}
++
++#endif
++
++/**
++ Append @p source at the end of @p target.
++
++ @param target Target string.
++ @param source Source string.
++ @return Boolean value indicating success or failure.
++
++ @pre @p target must point to a memory chunk with sufficient room to
++ contain the @p target string and @p source string.
++ @pre No boundary checking is performed, so insufficient memory will
++ result in a buffer overrun.
++ @post @p target will be zero terminated.
++*/
++#if defined(TRIO_FUNC_APPEND)
++
++TRIO_PUBLIC_STRING int
++trio_append
++TRIO_ARGS2((target, source),
++ char *target,
++ TRIO_CONST char *source)
++{
++ assert(target);
++ assert(source);
++
++ return (strcat(target, source) != NULL);
++}
++
++#endif
++
++/**
++ Append at most @p max characters from @p source to @p target.
++
++ @param target Target string.
++ @param max Maximum number of characters to append.
++ @param source Source string.
++ @return Boolean value indicating success or failure.
++
++ @pre @p target must point to a memory chuck with sufficient room to
++ contain the @p target string and the @p source string (at most @p max
++ characters).
++ @pre No boundary checking is performed, so insufficient memory will
++ result in a buffer overrun.
++ @post @p target will be zero terminated.
++*/
++#if defined(TRIO_FUNC_APPEND_MAX)
++
++TRIO_PUBLIC_STRING int
++trio_append_max
++TRIO_ARGS3((target, max, source),
++ char *target,
++ size_t max,
++ TRIO_CONST char *source)
++{
++ size_t length;
++
++ assert(target);
++ assert(source);
++
++ length = trio_length(target);
++
++ if (max > length)
++ {
++ strncat(target, source, max - length - 1);
++ }
++ return TRUE;
++}
++
++#endif
++
++/**
++ Determine if a string contains a substring.
++
++ @param string String to be searched.
++ @param substring String to be found.
++ @return Boolean value indicating success or failure.
++*/
++#if defined(TRIO_FUNC_CONTAINS)
++
++TRIO_PUBLIC_STRING int
++trio_contains
++TRIO_ARGS2((string, substring),
++ TRIO_CONST char *string,
++ TRIO_CONST char *substring)
++{
++ assert(string);
++ assert(substring);
++
++ return (0 != strstr(string, substring));
++}
++
++#endif
++
++/**
++ Copy @p source to @p target.
++
++ @param target Target string.
++ @param source Source string.
++ @return Boolean value indicating success or failure.
++
++ @pre @p target must point to a memory chunk with sufficient room to
++ contain the @p source string.
++ @pre No boundary checking is performed, so insufficient memory will
++ result in a buffer overrun.
++ @post @p target will be zero terminated.
++*/
++#if defined(TRIO_FUNC_COPY)
++
++TRIO_PUBLIC_STRING int
++trio_copy
++TRIO_ARGS2((target, source),
++ char *target,
++ TRIO_CONST char *source)
++{
++ assert(target);
++ assert(source);
++
++ (void)strcpy(target, source);
++ return TRUE;
++}
++
++#endif
++
++/**
++ Copy at most @p max - 1 characters from @p source to @p target.
++
++ @param target Target string.
++ @param max Maximum number of characters to append (one of which is
++ a NUL terminator). In other words @p source must point to at least
++ @p max - 1 bytes, but @p target must point to at least @p max
++ bytes.
++ @param source Source string.
++ @return Boolean value indicating success or failure.
++
++ @pre @p target must point to a memory chunk with sufficient room to
++ contain the @p source string and a NUL terminator (at most @p max
++ bytes total).
++ @pre No boundary checking is performed, so insufficient memory will
++ result in a buffer overrun.
++ @post @p target will be zero terminated.
++*/
++#if defined(TRIO_FUNC_COPY_MAX)
++
++TRIO_PUBLIC_STRING int
++trio_copy_max
++TRIO_ARGS3((target, max, source),
++ char *target,
++ size_t max,
++ TRIO_CONST char *source)
++{
++ assert(target);
++ assert(source);
++ assert(max > 0); /* Includes != 0 */
++
++ (void)strncpy(target, source, max - 1);
++ target[max - 1] = (char)0;
++ return TRUE;
++}
++
++#endif
++
++/**
++ Duplicate @p source.
++
++ @param source Source string.
++ @return A copy of the @p source string.
++
++ @post @p target will be zero terminated.
++*/
++#if defined(TRIO_FUNC_DUPLICATE)
++
++TRIO_PUBLIC_STRING char *
++trio_duplicate
++TRIO_ARGS1((source),
++ TRIO_CONST char *source)
++{
++ return internal_duplicate_max(source, trio_length(source));
++}
++
++#endif
++
++/**
++ Duplicate at most @p max characters of @p source.
++
++ @param source Source string.
++ @param max Maximum number of characters to duplicate.
++ @return A copy of the @p source string.
++
++ @post @p target will be zero terminated.
++*/
++#if defined(TRIO_FUNC_DUPLICATE_MAX)
++
++TRIO_PUBLIC_STRING char *
++trio_duplicate_max
++TRIO_ARGS2((source, max),
++ TRIO_CONST char *source,
++ size_t max)
++{
++ size_t length;
++
++ assert(source);
++ assert(max > 0);
++
++ length = trio_length(source);
++ if (length > max)
++ {
++ length = max;
++ }
++ return internal_duplicate_max(source, length);
++}
++
++#endif
++
++/**
++ Compare if two strings are equal.
++
++ @param first First string.
++ @param second Second string.
++ @return Boolean indicating whether the two strings are equal or not.
++
++ Case-insensitive comparison.
++*/
++#if defined(TRIO_FUNC_EQUAL)
++
++TRIO_PUBLIC_STRING int
++trio_equal
++TRIO_ARGS2((first, second),
++ TRIO_CONST char *first,
++ TRIO_CONST char *second)
++{
++ assert(first);
++ assert(second);
++
++ if ((first != NULL) && (second != NULL))
++ {
++# if defined(USE_STRCASECMP)
++ return (0 == strcasecmp(first, second));
++# else
++ while ((*first != NIL) && (*second != NIL))
++ {
++ if (internal_to_upper(*first) != internal_to_upper(*second))
++ {
++ break;
++ }
++ first++;
++ second++;
++ }
++ return ((*first == NIL) && (*second == NIL));
++# endif
++ }
++ return FALSE;
++}
++
++#endif
++
++/**
++ Compare if two strings are equal.
++
++ @param first First string.
++ @param second Second string.
++ @return Boolean indicating whether the two strings are equal or not.
++
++ Case-sensitive comparison.
++*/
++#if defined(TRIO_FUNC_EQUAL_CASE)
++
++TRIO_PUBLIC_STRING int
++trio_equal_case
++TRIO_ARGS2((first, second),
++ TRIO_CONST char *first,
++ TRIO_CONST char *second)
++{
++ assert(first);
++ assert(second);
++
++ if ((first != NULL) && (second != NULL))
++ {
++ return (0 == strcmp(first, second));
++ }
++ return FALSE;
++}
++
++#endif
++
++/**
++ Compare if two strings up until the first @p max characters are equal.
++
++ @param first First string.
++ @param max Maximum number of characters to compare.
++ @param second Second string.
++ @return Boolean indicating whether the two strings are equal or not.
++
++ Case-sensitive comparison.
++*/
++#if defined(TRIO_FUNC_EQUAL_CASE_MAX)
++
++TRIO_PUBLIC_STRING int
++trio_equal_case_max
++TRIO_ARGS3((first, max, second),
++ TRIO_CONST char *first,
++ size_t max,
++ TRIO_CONST char *second)
++{
++ assert(first);
++ assert(second);
++
++ if ((first != NULL) && (second != NULL))
++ {
++ return (0 == strncmp(first, second, max));
++ }
++ return FALSE;
++}
++
++#endif
++
++/**
++ Compare if two strings are equal.
++
++ @param first First string.
++ @param second Second string.
++ @return Boolean indicating whether the two strings are equal or not.
++
++ Collating characters are considered equal.
++*/
++#if defined(TRIO_FUNC_EQUAL_LOCALE)
++
++TRIO_PUBLIC_STRING int
++trio_equal_locale
++TRIO_ARGS2((first, second),
++ TRIO_CONST char *first,
++ TRIO_CONST char *second)
++{
++ assert(first);
++ assert(second);
++
++# if defined(LC_COLLATE)
++ return (strcoll(first, second) == 0);
++# else
++ return trio_equal(first, second);
++# endif
++}
++
++#endif
++
++/**
++ Compare if two strings up until the first @p max characters are equal.
++
++ @param first First string.
++ @param max Maximum number of characters to compare.
++ @param second Second string.
++ @return Boolean indicating whether the two strings are equal or not.
++
++ Case-insensitive comparison.
++*/
++#if defined(TRIO_FUNC_EQUAL_MAX)
++
++TRIO_PUBLIC_STRING int
++trio_equal_max
++TRIO_ARGS3((first, max, second),
++ TRIO_CONST char *first,
++ size_t max,
++ TRIO_CONST char *second)
++{
++ assert(first);
++ assert(second);
++
++ if ((first != NULL) && (second != NULL))
++ {
++# if defined(USE_STRNCASECMP)
++ return (0 == strncasecmp(first, second, max));
++# else
++ /* Not adequately tested yet */
++ size_t cnt = 0;
++ while ((*first != NIL) && (*second != NIL) && (cnt <= max))
++ {
++ if (internal_to_upper(*first) != internal_to_upper(*second))
++ {
++ break;
++ }
++ first++;
++ second++;
++ cnt++;
++ }
++ return ((cnt == max) || ((*first == NIL) && (*second == NIL)));
++# endif
++ }
++ return FALSE;
++}
++
++#endif
++
++/**
++ Provide a textual description of an error code (errno).
++
++ @param error_number Error number.
++ @return Textual description of @p error_number.
++*/
++#if defined(TRIO_FUNC_ERROR)
++
++TRIO_PUBLIC_STRING TRIO_CONST char *
++trio_error
++TRIO_ARGS1((error_number),
++ int error_number)
++{
++# if defined(USE_STRERROR)
++
++ return strerror(error_number);
++
++# else
++# if defined(USE_SYS_ERRLIST)
++
++ extern char *sys_errlist[];
++ extern int sys_nerr;
++
++ return ((error_number < 0) || (error_number >= sys_nerr))
++ ? "unknown"
++ : sys_errlist[error_number];
++
++# else
++
++ return "unknown";
++
++# endif
++# endif
++}
++
++#endif
++
++/**
++ Format the date/time according to @p format.
++
++ @param target Target string.
++ @param max Maximum number of characters to format.
++ @param format Formatting string.
++ @param datetime Date/time structure.
++ @return Number of formatted characters.
++
++ The formatting string accepts the same specifiers as the standard C
++ function strftime.
++*/
++#if defined(TRIO_FUNC_FORMAT_DATE_MAX)
++
++TRIO_PUBLIC_STRING size_t
++trio_format_date_max
++TRIO_ARGS4((target, max, format, datetime),
++ char *target,
++ size_t max,
++ TRIO_CONST char *format,
++ TRIO_CONST struct tm *datetime)
++{
++ assert(target);
++ assert(format);
++ assert(datetime);
++ assert(max > 0);
++
++ return strftime(target, max, format, datetime);
++}
++
++#endif
++
++/**
++ Calculate a hash value for a string.
++
++ @param string String to be calculated on.
++ @param type Hash function.
++ @return Calculated hash value.
++
++ @p type can be one of the following
++ @li @c TRIO_HASH_PLAIN Plain hash function.
++*/
++#if defined(TRIO_FUNC_HASH)
++
++TRIO_PUBLIC_STRING unsigned long
++trio_hash
++TRIO_ARGS2((string, type),
++ TRIO_CONST char *string,
++ int type)
++{
++ unsigned long value = 0L;
++ char ch;
++
++ assert(string);
++
++ switch (type)
++ {
++ case TRIO_HASH_PLAIN:
++ while ( (ch = *string++) != NIL )
++ {
++ value *= 31;
++ value += (unsigned long)ch;
++ }
++ break;
++ default:
++ assert(FALSE);
++ break;
++ }
++ return value;
++}
++
++#endif
++
++/**
++ Find first occurrence of a character in a string.
++
++ @param string String to be searched.
++ @param character Character to be found.
++ @return A pointer to the found character, or NULL if character was not found.
++ */
++#if defined(TRIO_FUNC_INDEX)
++
++TRIO_PUBLIC_STRING char *
++trio_index
++TRIO_ARGS2((string, character),
++ TRIO_CONST char *string,
++ int character)
++{
++ assert(string);
++
++ return strchr(string, character);
++}
++
++#endif
++
++/**
++ Find last occurrence of a character in a string.
++
++ @param string String to be searched.
++ @param character Character to be found.
++ @return A pointer to the found character, or NULL if character was not found.
++ */
++#if defined(TRIO_FUNC_INDEX_LAST)
++
++TRIO_PUBLIC_STRING char *
++trio_index_last
++TRIO_ARGS2((string, character),
++ TRIO_CONST char *string,
++ int character)
++{
++ assert(string);
++
++ return strchr(string, character);
++}
++
++#endif
++
++/**
++ Convert the alphabetic letters in the string to lower-case.
++
++ @param target String to be converted.
++ @return Number of processed characters (converted or not).
++*/
++#if defined(TRIO_FUNC_LOWER)
++
++TRIO_PUBLIC_STRING int
++trio_lower
++TRIO_ARGS1((target),
++ char *target)
++{
++ assert(target);
++
++ return trio_span_function(target, target, trio_to_lower);
++}
++
++#endif
++
++/**
++ Compare two strings using wildcards.
++
++ @param string String to be searched.
++ @param pattern Pattern, including wildcards, to search for.
++ @return Boolean value indicating success or failure.
++
++ Case-insensitive comparison.
++
++ The following wildcards can be used
++ @li @c * Match any number of characters.
++ @li @c ? Match a single character.
++*/
++#if defined(TRIO_FUNC_MATCH)
++
++TRIO_PUBLIC_STRING int
++trio_match
++TRIO_ARGS2((string, pattern),
++ TRIO_CONST char *string,
++ TRIO_CONST char *pattern)
++{
++ assert(string);
++ assert(pattern);
++
++ for (; ('*' != *pattern); ++pattern, ++string)
++ {
++ if (NIL == *string)
++ {
++ return (NIL == *pattern);
++ }
++ if ((internal_to_upper((int)*string) != internal_to_upper((int)*pattern))
++ && ('?' != *pattern))
++ {
++ return FALSE;
++ }
++ }
++ /* two-line patch to prevent *too* much recursiveness: */
++ while ('*' == pattern[1])
++ pattern++;
++
++ do
++ {
++ if ( trio_match(string, &pattern[1]) )
++ {
++ return TRUE;
++ }
++ }
++ while (*string++);
++
++ return FALSE;
++}
++
++#endif
++
++/**
++ Compare two strings using wildcards.
++
++ @param string String to be searched.
++ @param pattern Pattern, including wildcards, to search for.
++ @return Boolean value indicating success or failure.
++
++ Case-sensitive comparison.
++
++ The following wildcards can be used
++ @li @c * Match any number of characters.
++ @li @c ? Match a single character.
++*/
++#if defined(TRIO_FUNC_MATCH_CASE)
++
++TRIO_PUBLIC_STRING int
++trio_match_case
++TRIO_ARGS2((string, pattern),
++ TRIO_CONST char *string,
++ TRIO_CONST char *pattern)
++{
++ assert(string);
++ assert(pattern);
++
++ for (; ('*' != *pattern); ++pattern, ++string)
++ {
++ if (NIL == *string)
++ {
++ return (NIL == *pattern);
++ }
++ if ((*string != *pattern)
++ && ('?' != *pattern))
++ {
++ return FALSE;
++ }
++ }
++ /* two-line patch to prevent *too* much recursiveness: */
++ while ('*' == pattern[1])
++ pattern++;
++
++ do
++ {
++ if ( trio_match_case(string, &pattern[1]) )
++ {
++ return TRUE;
++ }
++ }
++ while (*string++);
++
++ return FALSE;
++}
++
++#endif
++
++/**
++ Execute a function on each character in string.
++
++ @param target Target string.
++ @param source Source string.
++ @param Function Function to be executed.
++ @return Number of processed characters.
++*/
++#if defined(TRIO_FUNC_SPAN_FUNCTION)
++
++TRIO_PUBLIC_STRING size_t
++trio_span_function
++TRIO_ARGS3((target, source, Function),
++ char *target,
++ TRIO_CONST char *source,
++ int (*Function) TRIO_PROTO((int)))
++{
++ size_t count = 0;
++
++ assert(target);
++ assert(source);
++ assert(Function);
++
++ while (*source != NIL)
++ {
++ *target++ = Function(*source++);
++ count++;
++ }
++ return count;
++}
++
++#endif
++
++/**
++ Search for a substring in a string.
++
++ @param string String to be searched.
++ @param substring String to be found.
++ @return Pointer to first occurrence of @p substring in @p string, or NULL
++ if no match was found.
++*/
++#if defined(TRIO_FUNC_SUBSTRING)
++
++TRIO_PUBLIC_STRING char *
++trio_substring
++TRIO_ARGS2((string, substring),
++ TRIO_CONST char *string,
++ TRIO_CONST char *substring)
++{
++ assert(string);
++ assert(substring);
++
++ return strstr(string, substring);
++}
++
++#endif
++
++/**
++ Search for a substring in the first @p max characters of a string.
++
++ @param string String to be searched.
++ @param max Maximum characters to be searched.
++ @param substring String to be found.
++ @return Pointer to first occurrence of @p substring in @p string, or NULL
++ if no match was found.
++*/
++#if defined(TRIO_FUNC_SUBSTRING_MAX)
++
++TRIO_PUBLIC_STRING char *
++trio_substring_max
++TRIO_ARGS3((string, max, substring),
++ TRIO_CONST char *string,
++ size_t max,
++ TRIO_CONST char *substring)
++{
++ size_t count;
++ size_t size;
++ char *result = NULL;
++
++ assert(string);
++ assert(substring);
++
++ size = trio_length(substring);
++ if (size <= max)
++ {
++ for (count = 0; count <= max - size; count++)
++ {
++ if (trio_equal_max(substring, size, &string[count]))
++ {
++ result = (char *)&string[count];
++ break;
++ }
++ }
++ }
++ return result;
++}
++
++#endif
++
++/**
++ Tokenize string.
++
++ @param string String to be tokenized.
++ @param delimiters String containing list of delimiting characters.
++ @return Start of new token.
++
++ @warning @p string will be destroyed.
++*/
++#if defined(TRIO_FUNC_TOKENIZE)
++
++TRIO_PUBLIC_STRING char *
++trio_tokenize
++TRIO_ARGS2((string, delimiters),
++ char *string,
++ TRIO_CONST char *delimiters)
++{
++ assert(delimiters);
++
++ return strtok(string, delimiters);
++}
++
++#endif
++
++/**
++ Convert string to floating-point number.
++
++ @param source String to be converted.
++ @param endp Pointer to end of the converted string.
++ @return A floating-point number.
++
++ The following Extended Backus-Naur form is used
++ @verbatim
++ double ::= [ <sign> ]
++ ( <number> |
++ <number> <decimal_point> <number> |
++ <decimal_point> <number> )
++ [ <exponential> [ <sign> ] <number> ]
++ number ::= 1*( <digit> )
++ digit ::= ( '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' )
++ exponential ::= ( 'e' | 'E' )
++ sign ::= ( '-' | '+' )
++ decimal_point ::= '.'
++ @endverbatim
++*/
++#if defined(TRIO_FUNC_TO_LONG_DOUBLE)
++
++/* FIXME: Add EBNF for hex-floats */
++TRIO_PUBLIC_STRING trio_long_double_t
++trio_to_long_double
++TRIO_ARGS2((source, endp),
++ TRIO_CONST char *source,
++ char **endp)
++{
++# if defined(USE_STRTOLD)
++ return strtold(source, endp);
++# else
++ int isNegative = FALSE;
++ int isExponentNegative = FALSE;
++ trio_long_double_t integer = 0.0;
++ trio_long_double_t fraction = 0.0;
++ unsigned long exponent = 0;
++ trio_long_double_t base;
++ trio_long_double_t fracdiv = 1.0;
++ trio_long_double_t value = 0.0;
++
++ /* First try hex-floats */
++ if ((source[0] == '0') && ((source[1] == 'x') || (source[1] == 'X')))
++ {
++ base = 16.0;
++ source += 2;
++ while (isxdigit((int)*source))
++ {
++ integer *= base;
++ integer += (isdigit((int)*source)
++ ? (*source - '0')
++ : 10 + (internal_to_upper((int)*source) - 'A'));
++ source++;
++ }
++ if (*source == '.')
++ {
++ source++;
++ while (isxdigit((int)*source))
++ {
++ fracdiv /= base;
++ fraction += fracdiv * (isdigit((int)*source)
++ ? (*source - '0')
++ : 10 + (internal_to_upper((int)*source) - 'A'));
++ source++;
++ }
++ if ((*source == 'p') || (*source == 'P'))
++ {
++ source++;
++ if ((*source == '+') || (*source == '-'))
++ {
++ isExponentNegative = (*source == '-');
++ source++;
++ }
++ while (isdigit((int)*source))
++ {
++ exponent *= 10;
++ exponent += (*source - '0');
++ source++;
++ }
++ }
++ }
++ /* For later use with exponent */
++ base = 2.0;
++ }
++ else /* Then try normal decimal floats */
++ {
++ base = 10.0;
++ isNegative = (*source == '-');
++ /* Skip sign */
++ if ((*source == '+') || (*source == '-'))
++ source++;
++
++ /* Integer part */
++ while (isdigit((int)*source))
++ {
++ integer *= base;
++ integer += (*source - '0');
++ source++;
++ }
++
++ if (*source == '.')
++ {
++ source++; /* skip decimal point */
++ while (isdigit((int)*source))
++ {
++ fracdiv /= base;
++ fraction += (*source - '0') * fracdiv;
++ source++;
++ }
++ }
++ if ((*source == 'e')
++ || (*source == 'E')
++# if TRIO_MICROSOFT
++ || (*source == 'd')
++ || (*source == 'D')
++# endif
++ )
++ {
++ source++; /* Skip exponential indicator */
++ isExponentNegative = (*source == '-');
++ if ((*source == '+') || (*source == '-'))
++ source++;
++ while (isdigit((int)*source))
++ {
++ exponent *= (int)base;
++ exponent += (*source - '0');
++ source++;
++ }
++ }
++ }
++
++ value = integer + fraction;
++ if (exponent != 0)
++ {
++ if (isExponentNegative)
++ value /= trio_powl(base, (trio_long_double_t)exponent);
++ else
++ value *= trio_powl(base, (trio_long_double_t)exponent);
++ }
++ if (isNegative)
++ value = -value;
++
++ if (endp)
++ *endp = (char *)source;
++ return value;
++# endif
++}
++
++#endif
++
++/**
++ Convert string to floating-point number.
++
++ @param source String to be converted.
++ @param endp Pointer to end of the converted string.
++ @return A floating-point number.
++
++ See @ref trio_to_long_double.
++*/
++#if defined(TRIO_FUNC_TO_DOUBLE)
++
++TRIO_PUBLIC_STRING double
++trio_to_double
++TRIO_ARGS2((source, endp),
++ TRIO_CONST char *source,
++ char **endp)
++{
++#if defined(USE_STRTOD)
++ return strtod(source, endp);
++#else
++ return (double)trio_to_long_double(source, endp);
++#endif
++}
++
++#endif
++
++/**
++ Convert string to floating-point number.
++
++ @param source String to be converted.
++ @param endp Pointer to end of the converted string.
++ @return A floating-point number.
++
++ See @ref trio_to_long_double.
++*/
++#if defined(TRIO_FUNC_TO_FLOAT)
++
++TRIO_PUBLIC_STRING float
++trio_to_float
++TRIO_ARGS2((source, endp),
++ TRIO_CONST char *source,
++ char **endp)
++{
++# if defined(USE_STRTOF)
++ return strtof(source, endp);
++# else
++ return (float)trio_to_long_double(source, endp);
++# endif
++}
++
++#endif
++
++/**
++ Convert string to signed integer.
++
++ @param string String to be converted.
++ @param endp Pointer to end of converted string.
++ @param base Radix number of number.
++*/
++#if defined(TRIO_FUNC_TO_LONG)
++
++TRIO_PUBLIC_STRING long
++trio_to_long
++TRIO_ARGS3((string, endp, base),
++ TRIO_CONST char *string,
++ char **endp,
++ int base)
++{
++ assert(string);
++ assert((base >= 2) && (base <= 36));
++
++ return strtol(string, endp, base);
++}
++
++#endif
++
++/**
++ Convert one alphabetic letter to lower-case.
++
++ @param source The letter to be converted.
++ @return The converted letter.
++*/
++#if defined(TRIO_FUNC_TO_LOWER)
++
++TRIO_PUBLIC_STRING int
++trio_to_lower
++TRIO_ARGS1((source),
++ int source)
++{
++# if defined(HAVE_TOLOWER)
++
++ return tolower(source);
++
++# else
++
++ /* Does not handle locales or non-contiguous alphabetic characters */
++ return ((source >= (int)'A') && (source <= (int)'Z'))
++ ? source - 'A' + 'a'
++ : source;
++
++# endif
++}
++
++#endif
++
++/**
++ Convert string to unsigned integer.
++
++ @param string String to be converted.
++ @param endp Pointer to end of converted string.
++ @param base Radix number of number.
++*/
++#if defined(TRIO_FUNC_TO_UNSIGNED_LONG)
++
++TRIO_PUBLIC_STRING unsigned long
++trio_to_unsigned_long
++TRIO_ARGS3((string, endp, base),
++ TRIO_CONST char *string,
++ char **endp,
++ int base)
++{
++ assert(string);
++ assert((base >= 2) && (base <= 36));
++
++ return strtoul(string, endp, base);
++}
++
++#endif
++
++/**
++ Convert one alphabetic letter to upper-case.
++
++ @param source The letter to be converted.
++ @return The converted letter.
++*/
++#if defined(TRIO_FUNC_TO_UPPER)
++
++TRIO_PUBLIC_STRING int
++trio_to_upper
++TRIO_ARGS1((source),
++ int source)
++{
++ return internal_to_upper(source);
++}
++
++#endif
++
++/**
++ Convert the alphabetic letters in the string to upper-case.
++
++ @param target The string to be converted.
++ @return The number of processed characters (converted or not).
++*/
++#if defined(TRIO_FUNC_UPPER)
++
++TRIO_PUBLIC_STRING int
++trio_upper
++TRIO_ARGS1((target),
++ char *target)
++{
++ assert(target);
++
++ return trio_span_function(target, target, internal_to_upper);
++}
++
++#endif
++
++/** @} End of StaticStrings */
++
++
++/*************************************************************************
++ * Dynamic String Functions
++ */
++
++#if defined(TRIO_DOCUMENTATION)
++# include "doc/doc_dynamic.h"
++#endif
++/** @addtogroup DynamicStrings
++ @{
++*/
++
++/**
++ Create a new dynamic string.
++
++ @param initial_size Initial size of the buffer.
++ @return Newly allocated dynamic string, or NULL if memory allocation failed.
++*/
++#if defined(TRIO_FUNC_STRING_CREATE)
++
++TRIO_PUBLIC_STRING trio_string_t *
++trio_string_create
++TRIO_ARGS1((initial_size),
++ int initial_size)
++{
++ trio_string_t *self;
++
++ self = internal_string_alloc();
++ if (self)
++ {
++ if (internal_string_grow(self,
++ (size_t)((initial_size > 0) ? initial_size : 1)))
++ {
++ self->content[0] = (char)0;
++ self->allocated = initial_size;
++ }
++ else
++ {
++ trio_string_destroy(self);
++ self = NULL;
++ }
++ }
++ return self;
++}
++
++#endif
++
++/**
++ Deallocate the dynamic string and its contents.
++
++ @param self Dynamic string
++*/
++#if defined(TRIO_FUNC_STRING_DESTROY)
++
++TRIO_PUBLIC_STRING void
++trio_string_destroy
++TRIO_ARGS1((self),
++ trio_string_t *self)
++{
++ assert(self);
++
++ if (self)
++ {
++ trio_destroy(self->content);
++ TRIO_FREE(self);
++ }
++}
++
++#endif
++
++/**
++ Get a pointer to the content.
++
++ @param self Dynamic string.
++ @param offset Offset into content.
++ @return Pointer to the content.
++
++ @p Offset can be zero, positive, or negative. If @p offset is zero,
++ then the start of the content will be returned. If @p offset is positive,
++ then a pointer to @p offset number of characters from the beginning of the
++ content is returned. If @p offset is negative, then a pointer to @p offset
++ number of characters from the ending of the string, starting at the
++ terminating zero, is returned.
++*/
++#if defined(TRIO_FUNC_STRING_GET)
++
++TRIO_PUBLIC_STRING char *
++trio_string_get
++TRIO_ARGS2((self, offset),
++ trio_string_t *self,
++ int offset)
++{
++ char *result = NULL;
++
++ assert(self);
++
++ if (self->content != NULL)
++ {
++ if (self->length == 0)
++ {
++ (void)trio_string_length(self);
++ }
++ if (offset >= 0)
++ {
++ if (offset > (int)self->length)
++ {
++ offset = self->length;
++ }
++ }
++ else
++ {
++ offset += self->length + 1;
++ if (offset < 0)
++ {
++ offset = 0;
++ }
++ }
++ result = &(self->content[offset]);
++ }
++ return result;
++}
++
++#endif
++
++/**
++ Extract the content.
++
++ @param self Dynamic String
++ @return Content of dynamic string.
++
++ The content is removed from the dynamic string. This enables destruction
++ of the dynamic string without deallocation of the content.
++*/
++#if defined(TRIO_FUNC_STRING_EXTRACT)
++
++TRIO_PUBLIC_STRING char *
++trio_string_extract
++TRIO_ARGS1((self),
++ trio_string_t *self)
++{
++ char *result;
++
++ assert(self);
++
++ result = self->content;
++ /* FIXME: Allocate new empty buffer? */
++ self->content = NULL;
++ self->length = self->allocated = 0;
++ return result;
++}
++
++#endif
++
++/**
++ Set the content of the dynamic string.
++
++ @param self Dynamic String
++ @param buffer The new content.
++
++ Sets the content of the dynamic string to a copy @p buffer.
++ An existing content will be deallocated first, if necessary.
++
++ @remark
++ This function will make a copy of @p buffer.
++ You are responsible for deallocating @p buffer yourself.
++*/
++#if defined(TRIO_FUNC_XSTRING_SET)
++
++TRIO_PUBLIC_STRING void
++trio_xstring_set
++TRIO_ARGS2((self, buffer),
++ trio_string_t *self,
++ char *buffer)
++{
++ assert(self);
++
++ trio_destroy(self->content);
++ self->content = trio_duplicate(buffer);
++}
++
++#endif
++
++/*
++ * trio_string_size
++ */
++#if defined(TRIO_FUNC_STRING_SIZE)
++
++TRIO_PUBLIC_STRING int
++trio_string_size
++TRIO_ARGS1((self),
++ trio_string_t *self)
++{
++ assert(self);
++
++ return self->allocated;
++}
++
++#endif
++
++/*
++ * trio_string_terminate
++ */
++#if defined(TRIO_FUNC_STRING_TERMINATE)
++
++TRIO_PUBLIC_STRING void
++trio_string_terminate
++TRIO_ARGS1((self),
++ trio_string_t *self)
++{
++ trio_xstring_append_char(self, 0);
++}
++
++#endif
++
++/**
++ Append the second string to the first.
++
++ @param self Dynamic string to be modified.
++ @param other Dynamic string to copy from.
++ @return Boolean value indicating success or failure.
++*/
++#if defined(TRIO_FUNC_STRING_APPEND)
++
++TRIO_PUBLIC_STRING int
++trio_string_append
++TRIO_ARGS2((self, other),
++ trio_string_t *self,
++ trio_string_t *other)
++{
++ size_t length;
++
++ assert(self);
++ assert(other);
++
++ length = self->length + other->length;
++ if (!internal_string_grow_to(self, length))
++ goto error;
++ trio_copy(&self->content[self->length], other->content);
++ self->length = length;
++ return TRUE;
++
++ error:
++ return FALSE;
++}
++
++#endif
++
++
++/*
++ * trio_xstring_append
++ */
++#if defined(TRIO_FUNC_XSTRING_APPEND)
++
++TRIO_PUBLIC_STRING int
++trio_xstring_append
++TRIO_ARGS2((self, other),
++ trio_string_t *self,
++ TRIO_CONST char *other)
++{
++ size_t length;
++
++ assert(self);
++ assert(other);
++
++ length = self->length + trio_length(other);
++ if (!internal_string_grow_to(self, length))
++ goto error;
++ trio_copy(&self->content[self->length], other);
++ self->length = length;
++ return TRUE;
++
++ error:
++ return FALSE;
++}
++
++#endif
++
++/*
++ * trio_xstring_append_char
++ */
++#if defined(TRIO_FUNC_XSTRING_APPEND_CHAR)
++
++TRIO_PUBLIC_STRING int
++trio_xstring_append_char
++TRIO_ARGS2((self, character),
++ trio_string_t *self,
++ char character)
++{
++ assert(self);
++
++ if ((int)self->length >= trio_string_size(self))
++ {
++ if (!internal_string_grow(self, 0))
++ goto error;
++ }
++ self->content[self->length] = character;
++ self->length++;
++ return TRUE;
++
++ error:
++ return FALSE;
++}
++
++#endif
++
++/*
++ * trio_xstring_append_max
++ */
++#if defined(TRIO_FUNC_XSTRING_APPEND_MAX)
++
++TRIO_PUBLIC_STRING int
++trio_xstring_append_max
++TRIO_ARGS3((self, other, max),
++ trio_string_t *self,
++ TRIO_CONST char *other,
++ size_t max)
++{
++ size_t length;
++
++ assert(self);
++ assert(other);
++
++ length = self->length + trio_length_max(other, max);
++ if (!internal_string_grow_to(self, length))
++ goto error;
++
++ /*
++ * Pass max + 1 since trio_copy_max copies one character less than
++ * this from the source to make room for a terminating zero.
++ */
++ trio_copy_max(&self->content[self->length], max + 1, other);
++ self->length = length;
++ return TRUE;
++
++ error:
++ return FALSE;
++}
++
++#endif
++
++/**
++ Search for the first occurrence of second parameter in the first.
++
++ @param self Dynamic string to be modified.
++ @param other Dynamic string to copy from.
++ @return Boolean value indicating success or failure.
++*/
++#if defined(TRIO_FUNC_STRING_CONTAINS)
++
++TRIO_PUBLIC_STRING int
++trio_string_contains
++TRIO_ARGS2((self, other),
++ trio_string_t *self,
++ trio_string_t *other)
++{
++ assert(self);
++ assert(other);
++
++ return trio_contains(self->content, other->content);
++}
++
++#endif
++
++/*
++ * trio_xstring_contains
++ */
++#if defined(TRIO_FUNC_XSTRING_CONTAINS)
++
++TRIO_PUBLIC_STRING int
++trio_xstring_contains
++TRIO_ARGS2((self, other),
++ trio_string_t *self,
++ TRIO_CONST char *other)
++{
++ assert(self);
++ assert(other);
++
++ return trio_contains(self->content, other);
++}
++
++#endif
++
++/*
++ * trio_string_copy
++ */
++#if defined(TRIO_FUNC_STRING_COPY)
++
++TRIO_PUBLIC_STRING int
++trio_string_copy
++TRIO_ARGS2((self, other),
++ trio_string_t *self,
++ trio_string_t *other)
++{
++ assert(self);
++ assert(other);
++
++ self->length = 0;
++ return trio_string_append(self, other);
++}
++
++#endif
++
++
++/*
++ * trio_xstring_copy
++ */
++#if defined(TRIO_FUNC_XSTRING_COPY)
++
++TRIO_PUBLIC_STRING int
++trio_xstring_copy
++TRIO_ARGS2((self, other),
++ trio_string_t *self,
++ TRIO_CONST char *other)
++{
++ assert(self);
++ assert(other);
++
++ self->length = 0;
++ return trio_xstring_append(self, other);
++}
++
++#endif
++
++/*
++ * trio_string_duplicate
++ */
++#if defined(TRIO_FUNC_STRING_DUPLICATE)
++
++TRIO_PUBLIC_STRING trio_string_t *
++trio_string_duplicate
++TRIO_ARGS1((other),
++ trio_string_t *other)
++{
++ trio_string_t *self;
++
++ assert(other);
++
++ self = internal_string_alloc();
++ if (self)
++ {
++ self->content = internal_duplicate_max(other->content, other->length);
++ if (self->content)
++ {
++ self->length = other->length;
++ self->allocated = self->length + 1;
++ }
++ else
++ {
++ self->length = self->allocated = 0;
++ }
++ }
++ return self;
++}
++
++#endif
++
++/*
++ * trio_xstring_duplicate
++ */
++#if defined(TRIO_FUNC_XSTRING_DUPLICATE)
++
++TRIO_PUBLIC_STRING trio_string_t *
++trio_xstring_duplicate
++TRIO_ARGS1((other),
++ TRIO_CONST char *other)
++{
++ trio_string_t *self;
++
++ assert(other);
++
++ self = internal_string_alloc();
++ if (self)
++ {
++ self->content = internal_duplicate_max(other, trio_length(other));
++ if (self->content)
++ {
++ self->length = trio_length(self->content);
++ self->allocated = self->length + 1;
++ }
++ else
++ {
++ self->length = self->allocated = 0;
++ }
++ }
++ return self;
++}
++
++#endif
++
++/*
++ * trio_string_equal
++ */
++#if defined(TRIO_FUNC_STRING_EQUAL)
++
++TRIO_PUBLIC_STRING int
++trio_string_equal
++TRIO_ARGS2((self, other),
++ trio_string_t *self,
++ trio_string_t *other)
++{
++ assert(self);
++ assert(other);
++
++ return trio_equal(self->content, other->content);
++}
++
++#endif
++
++
++/*
++ * trio_xstring_equal
++ */
++#if defined(TRIO_FUNC_XSTRING_EQUAL)
++
++TRIO_PUBLIC_STRING int
++trio_xstring_equal
++TRIO_ARGS2((self, other),
++ trio_string_t *self,
++ TRIO_CONST char *other)
++{
++ assert(self);
++ assert(other);
++
++ return trio_equal(self->content, other);
++}
++
++#endif
++
++/*
++ * trio_string_equal_max
++ */
++#if defined(TRIO_FUNC_STRING_EQUAL_MAX)
++
++TRIO_PUBLIC_STRING int
++trio_string_equal_max
++TRIO_ARGS3((self, max, other),
++ trio_string_t *self,
++ size_t max,
++ trio_string_t *other)
++{
++ assert(self);
++ assert(other);
++
++ return trio_equal_max(self->content, max, other->content);
++}
++#endif
++
++/*
++ * trio_xstring_equal_max
++ */
++#if defined(TRIO_FUNC_XSTRING_EQUAL_MAX)
++
++TRIO_PUBLIC_STRING int
++trio_xstring_equal_max
++TRIO_ARGS3((self, max, other),
++ trio_string_t *self,
++ size_t max,
++ TRIO_CONST char *other)
++{
++ assert(self);
++ assert(other);
++
++ return trio_equal_max(self->content, max, other);
++}
++
++#endif
++
++/*
++ * trio_string_equal_case
++ */
++#if defined(TRIO_FUNC_STRING_EQUAL_CASE)
++
++TRIO_PUBLIC_STRING int
++trio_string_equal_case
++TRIO_ARGS2((self, other),
++ trio_string_t *self,
++ trio_string_t *other)
++{
++ assert(self);
++ assert(other);
++
++ return trio_equal_case(self->content, other->content);
++}
++
++#endif
++
++/*
++ * trio_xstring_equal_case
++ */
++#if defined(TRIO_FUNC_XSTRING_EQUAL_CASE)
++
++TRIO_PUBLIC_STRING int
++trio_xstring_equal_case
++TRIO_ARGS2((self, other),
++ trio_string_t *self,
++ TRIO_CONST char *other)
++{
++ assert(self);
++ assert(other);
++
++ return trio_equal_case(self->content, other);
++}
++
++#endif
++
++/*
++ * trio_string_equal_case_max
++ */
++#if defined(TRIO_FUNC_STRING_EQUAL_CASE_MAX)
++
++TRIO_PUBLIC_STRING int
++trio_string_equal_case_max
++TRIO_ARGS3((self, max, other),
++ trio_string_t *self,
++ size_t max,
++ trio_string_t *other)
++{
++ assert(self);
++ assert(other);
++
++ return trio_equal_case_max(self->content, max, other->content);
++}
++
++#endif
++
++/*
++ * trio_xstring_equal_case_max
++ */
++#if defined(TRIO_FUNC_XSTRING_EQUAL_CASE_MAX)
++
++TRIO_PUBLIC_STRING int
++trio_xstring_equal_case_max
++TRIO_ARGS3((self, max, other),
++ trio_string_t *self,
++ size_t max,
++ TRIO_CONST char *other)
++{
++ assert(self);
++ assert(other);
++
++ return trio_equal_case_max(self->content, max, other);
++}
++
++#endif
++
++/*
++ * trio_string_format_data_max
++ */
++#if defined(TRIO_FUNC_STRING_FORMAT_DATE_MAX)
++
++TRIO_PUBLIC_STRING size_t
++trio_string_format_date_max
++TRIO_ARGS4((self, max, format, datetime),
++ trio_string_t *self,
++ size_t max,
++ TRIO_CONST char *format,
++ TRIO_CONST struct tm *datetime)
++{
++ assert(self);
++
++ return trio_format_date_max(self->content, max, format, datetime);
++}
++
++#endif
++
++/*
++ * trio_string_index
++ */
++#if defined(TRIO_FUNC_STRING_INDEX)
++
++TRIO_PUBLIC_STRING char *
++trio_string_index
++TRIO_ARGS2((self, character),
++ trio_string_t *self,
++ int character)
++{
++ assert(self);
++
++ return trio_index(self->content, character);
++}
++
++#endif
++
++/*
++ * trio_string_index_last
++ */
++#if defined(TRIO_FUNC_STRING_INDEX_LAST)
++
++TRIO_PUBLIC_STRING char *
++trio_string_index_last
++TRIO_ARGS2((self, character),
++ trio_string_t *self,
++ int character)
++{
++ assert(self);
++
++ return trio_index_last(self->content, character);
++}
++
++#endif
++
++/*
++ * trio_string_length
++ */
++#if defined(TRIO_FUNC_STRING_LENGTH)
++
++TRIO_PUBLIC_STRING int
++trio_string_length
++TRIO_ARGS1((self),
++ trio_string_t *self)
++{
++ assert(self);
++
++ if (self->length == 0)
++ {
++ self->length = trio_length(self->content);
++ }
++ return self->length;
++}
++
++#endif
++
++/*
++ * trio_string_lower
++ */
++#if defined(TRIO_FUNC_STRING_LOWER)
++
++TRIO_PUBLIC_STRING int
++trio_string_lower
++TRIO_ARGS1((self),
++ trio_string_t *self)
++{
++ assert(self);
++
++ return trio_lower(self->content);
++}
++
++#endif
++
++/*
++ * trio_string_match
++ */
++#if defined(TRIO_FUNC_STRING_MATCH)
++
++TRIO_PUBLIC_STRING int
++trio_string_match
++TRIO_ARGS2((self, other),
++ trio_string_t *self,
++ trio_string_t *other)
++{
++ assert(self);
++ assert(other);
++
++ return trio_match(self->content, other->content);
++}
++
++#endif
++
++/*
++ * trio_xstring_match
++ */
++#if defined(TRIO_FUNC_XSTRING_MATCH)
++
++TRIO_PUBLIC_STRING int
++trio_xstring_match
++TRIO_ARGS2((self, other),
++ trio_string_t *self,
++ TRIO_CONST char *other)
++{
++ assert(self);
++ assert(other);
++
++ return trio_match(self->content, other);
++}
++
++#endif
++
++/*
++ * trio_string_match_case
++ */
++#if defined(TRIO_FUNC_STRING_MATCH_CASE)
++
++TRIO_PUBLIC_STRING int
++trio_string_match_case
++TRIO_ARGS2((self, other),
++ trio_string_t *self,
++ trio_string_t *other)
++{
++ assert(self);
++ assert(other);
++
++ return trio_match_case(self->content, other->content);
++}
++
++#endif
++
++/*
++ * trio_xstring_match_case
++ */
++#if defined(TRIO_FUNC_XSTRING_MATCH_CASE)
++
++TRIO_PUBLIC_STRING int
++trio_xstring_match_case
++TRIO_ARGS2((self, other),
++ trio_string_t *self,
++ TRIO_CONST char *other)
++{
++ assert(self);
++ assert(other);
++
++ return trio_match_case(self->content, other);
++}
++
++#endif
++
++/*
++ * trio_string_substring
++ */
++#if defined(TRIO_FUNC_STRING_SUBSTRING)
++
++TRIO_PUBLIC_STRING char *
++trio_string_substring
++TRIO_ARGS2((self, other),
++ trio_string_t *self,
++ trio_string_t *other)
++{
++ assert(self);
++ assert(other);
++
++ return trio_substring(self->content, other->content);
++}
++
++#endif
++
++/*
++ * trio_xstring_substring
++ */
++#if defined(TRIO_FUNC_XSTRING_SUBSTRING)
++
++TRIO_PUBLIC_STRING char *
++trio_xstring_substring
++TRIO_ARGS2((self, other),
++ trio_string_t *self,
++ TRIO_CONST char *other)
++{
++ assert(self);
++ assert(other);
++
++ return trio_substring(self->content, other);
++}
++
++#endif
++
++/*
++ * trio_string_upper
++ */
++#if defined(TRIO_FUNC_STRING_UPPER)
++
++TRIO_PUBLIC_STRING int
++trio_string_upper
++TRIO_ARGS1((self),
++ trio_string_t *self)
++{
++ assert(self);
++
++ return trio_upper(self->content);
++}
++
++#endif
++
++/** @} End of DynamicStrings */
+diff -up ghostscript-9.07/trio/triostr.h.gs_sprintf ghostscript-9.07/trio/triostr.h
+--- ghostscript-9.07/trio/triostr.h.gs_sprintf 2013-05-09 17:02:39.114447292 +0100
++++ ghostscript-9.07/trio/triostr.h 2013-05-09 17:02:39.114447292 +0100
+@@ -0,0 +1,681 @@
++/*************************************************************************
++ *
++ * $Id: triostr.h,v 1.18 2010/01/26 13:02:02 breese Exp $
++ *
++ * Copyright (C) 2001 Bjorn Reese and Daniel Stenberg.
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
++ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
++ * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
++ * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
++ *
++ ************************************************************************/
++
++#ifndef TRIO_TRIOSTR_H
++#define TRIO_TRIOSTR_H
++
++/*
++ * Documentation is located in triostr.c
++ */
++
++#include <assert.h>
++#include <stdlib.h>
++#include <string.h>
++#include <time.h>
++#include "triodef.h"
++#include "triop.h"
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++enum {
++ TRIO_HASH_NONE = 0,
++ TRIO_HASH_PLAIN,
++ TRIO_HASH_TWOSIGNED
++};
++
++#if !defined(TRIO_PUBLIC_STRING)
++# if !defined(TRIO_PUBLIC)
++# define TRIO_PUBLIC
++# endif
++# define TRIO_PUBLIC_STRING TRIO_PUBLIC
++#endif
++
++/*************************************************************************
++ * Dependencies
++ */
++
++#if defined(TRIO_EMBED_STRING)
++
++/*
++ * The application that triostr is embedded in must define which functions
++ * it uses.
++ *
++ * The following resolves internal dependencies.
++ */
++
++# if defined(TRIO_FUNC_XSTRING_SET)
++# if !defined(TRIO_FUNC_DUPLICATE)
++# define TRIO_FUNC_DUPLICATE
++# endif
++# endif
++
++# if defined(TRIO_FUNC_DUPLICATE) \
++ || defined(TRIO_FUNC_DUPLICATE_MAX) \
++ || defined(TRIO_FUNC_STRING_DUPLICATE) \
++ || defined(TRIO_FUNC_XSTRING_DUPLICATE)
++# if !defined(TRIO_FUNC_CREATE)
++# define TRIO_FUNC_CREATE
++# endif
++# if !defined(TRIO_FUNC_COPY_MAX)
++# define TRIO_FUNC_COPY_MAX
++# endif
++# endif
++
++# if defined(TRIO_FUNC_STRING_CREATE)
++# if !defined(TRIO_FUNC_STRING_DESTROY)
++# define TRIO_FUNC_STRING_DESTROY
++# endif
++# endif
++
++# if defined(TRIO_FUNC_STRING_DESTROY) \
++ || defined(TRIO_FUNC_XSTRING_SET)
++# if !defined(TRIO_FUNC_DESTROY)
++# define TRIO_FUNC_DESTROY
++# endif
++# endif
++
++# if defined(TRIO_FUNC_EQUAL_LOCALE) \
++ || defined(TRIO_FUNC_STRING_EQUAL) \
++ || defined(TRIO_FUNC_XSTRING_EQUAL)
++# if !defined(TRIO_FUNC_EQUAL)
++# define TRIO_FUNC_EQUAL
++# endif
++# endif
++
++# if defined(TRIO_FUNC_EQUAL_CASE) \
++ || defined(TRIO_FUNC_STRING_EQUAL_CASE) \
++ || defined(TRIO_FUNC_XSTRING_EQUAL_CASE)
++# if !defined(TRIO_FUNC_EQUAL_CASE)
++# define TRIO_FUNC_EQUAL_CASE
++# endif
++# endif
++
++# if defined(TRIO_FUNC_SUBSTRING_MAX) \
++ || defined(TRIO_FUNC_STRING_EQUAL_MAX) \
++ || defined(TRIO_FUNC_XSTRING_EQUAL_MAX)
++# if !defined(TRIO_FUNC_EQUAL_MAX)
++# define TRIO_FUNC_EQUAL_MAX
++# endif
++# endif
++
++# if defined(TRIO_FUNC_TO_DOUBLE) \
++ || defined(TRIO_FUNC_TO_FLOAT)
++# if !defined(TRIO_FUNC_TO_LONG_DOUBLE)
++# define TRIO_FUNC_TO_LONG_DOUBLE
++# endif
++# endif
++
++# if defined(TRIO_FUNC_STRING_TERMINATE)
++# if !defined(TRIO_FUNC_XSTRING_APPEND_CHAR)
++# define TRIO_FUNC_XSTRING_APPEND_CHAR
++# endif
++# endif
++
++# if defined(TRIO_FUNC_XSTRING_APPEND_CHAR)
++# if !defined(TRIO_FUNC_STRING_SIZE)
++# define TRIO_FUNC_STRING_SIZE
++# endif
++# endif
++
++#else
++
++/*
++ * When triostr is not embedded all functions are defined.
++ */
++
++# define TRIO_FUNC_APPEND
++# define TRIO_FUNC_APPEND_MAX
++# define TRIO_FUNC_CONTAINS
++# define TRIO_FUNC_COPY
++# define TRIO_FUNC_COPY_MAX
++# define TRIO_FUNC_CREATE
++# define TRIO_FUNC_DESTROY
++# define TRIO_FUNC_DUPLICATE
++# define TRIO_FUNC_DUPLICATE_MAX
++# define TRIO_FUNC_EQUAL
++# define TRIO_FUNC_EQUAL_CASE
++# define TRIO_FUNC_EQUAL_CASE_MAX
++# define TRIO_FUNC_EQUAL_LOCALE
++# define TRIO_FUNC_EQUAL_MAX
++# define TRIO_FUNC_ERROR
++# if !defined(TRIO_PLATFORM_WINCE)
++# define TRIO_FUNC_FORMAT_DATE_MAX
++# endif
++# define TRIO_FUNC_HASH
++# define TRIO_FUNC_INDEX
++# define TRIO_FUNC_INDEX_LAST
++# define TRIO_FUNC_LENGTH
++# define TRIO_FUNC_LENGTH_MAX
++# define TRIO_FUNC_LOWER
++# define TRIO_FUNC_MATCH
++# define TRIO_FUNC_MATCH_CASE
++# define TRIO_FUNC_SPAN_FUNCTION
++# define TRIO_FUNC_SUBSTRING
++# define TRIO_FUNC_SUBSTRING_MAX
++# define TRIO_FUNC_TO_DOUBLE
++# define TRIO_FUNC_TO_FLOAT
++# define TRIO_FUNC_TO_LONG
++# define TRIO_FUNC_TO_LONG_DOUBLE
++# define TRIO_FUNC_TO_LOWER
++# define TRIO_FUNC_TO_UNSIGNED_LONG
++# define TRIO_FUNC_TO_UPPER
++# define TRIO_FUNC_TOKENIZE
++# define TRIO_FUNC_UPPER
++
++# define TRIO_FUNC_STRING_APPEND
++# define TRIO_FUNC_STRING_CONTAINS
++# define TRIO_FUNC_STRING_COPY
++# define TRIO_FUNC_STRING_CREATE
++# define TRIO_FUNC_STRING_DESTROY
++# define TRIO_FUNC_STRING_DUPLICATE
++# define TRIO_FUNC_STRING_EQUAL
++# define TRIO_FUNC_STRING_EQUAL_CASE
++# define TRIO_FUNC_STRING_EQUAL_CASE_MAX
++# define TRIO_FUNC_STRING_EQUAL_MAX
++# define TRIO_FUNC_STRING_EXTRACT
++# if !defined(TRIO_PLATFORM_WINCE)
++# define TRIO_FUNC_STRING_FORMAT_DATE_MAX
++# endif
++# define TRIO_FUNC_STRING_GET
++# define TRIO_FUNC_STRING_INDEX
++# define TRIO_FUNC_STRING_INDEX_LAST
++# define TRIO_FUNC_STRING_LENGTH
++# define TRIO_FUNC_STRING_LOWER
++# define TRIO_FUNC_STRING_MATCH
++# define TRIO_FUNC_STRING_MATCH_CASE
++# define TRIO_FUNC_STRING_SIZE
++# define TRIO_FUNC_STRING_SUBSTRING
++# define TRIO_FUNC_STRING_TERMINATE
++# define TRIO_FUNC_STRING_UPPER
++
++# define TRIO_FUNC_XSTRING_APPEND
++# define TRIO_FUNC_XSTRING_APPEND_CHAR
++# define TRIO_FUNC_XSTRING_APPEND_MAX
++# define TRIO_FUNC_XSTRING_CONTAINS
++# define TRIO_FUNC_XSTRING_COPY
++# define TRIO_FUNC_XSTRING_DUPLICATE
++# define TRIO_FUNC_XSTRING_EQUAL
++# define TRIO_FUNC_XSTRING_EQUAL_CASE
++# define TRIO_FUNC_XSTRING_EQUAL_CASE_MAX
++# define TRIO_FUNC_XSTRING_EQUAL_MAX
++# define TRIO_FUNC_XSTRING_MATCH
++# define TRIO_FUNC_XSTRING_MATCH_CASE
++# define TRIO_FUNC_XSTRING_SET
++# define TRIO_FUNC_XSTRING_SUBSTRING
++
++#endif
++
++
++/*************************************************************************
++ * String functions
++ */
++
++#if defined(TRIO_FUNC_APPEND)
++TRIO_PUBLIC_STRING int
++trio_append
++TRIO_PROTO((char *target, TRIO_CONST char *source));
++#endif
++
++#if defined(TRIO_FUNC_APPEND_MAX)
++TRIO_PUBLIC_STRING int
++trio_append_max
++TRIO_PROTO((char *target, size_t max, TRIO_CONST char *source));
++#endif
++
++#if defined(TRIO_FUNC_CONTAINS)
++TRIO_PUBLIC_STRING int
++trio_contains
++TRIO_PROTO((TRIO_CONST char *string, TRIO_CONST char *substring));
++#endif
++
++#if defined(TRIO_FUNC_COPY)
++TRIO_PUBLIC_STRING int
++trio_copy
++TRIO_PROTO((char *target, TRIO_CONST char *source));
++#endif
++
++#if defined(TRIO_FUNC_COPY_MAX)
++TRIO_PUBLIC_STRING int
++trio_copy_max
++TRIO_PROTO((char *target, size_t max, TRIO_CONST char *source));
++#endif
++
++#if defined(TRIO_FUNC_CREATE)
++TRIO_PUBLIC_STRING char *
++trio_create
++TRIO_PROTO((size_t size));
++#endif
++
++#if defined(TRIO_FUNC_DESTROY)
++TRIO_PUBLIC_STRING void
++trio_destroy
++TRIO_PROTO((char *string));
++#endif
++
++#if defined(TRIO_FUNC_DUPLICATE)
++TRIO_PUBLIC_STRING char *
++trio_duplicate
++TRIO_PROTO((TRIO_CONST char *source));
++#endif
++
++#if defined(TRIO_FUNC_DUPLICATE_MAX)
++TRIO_PUBLIC_STRING char *
++trio_duplicate_max
++TRIO_PROTO((TRIO_CONST char *source, size_t max));
++#endif
++
++#if defined(TRIO_FUNC_EQUAL)
++TRIO_PUBLIC_STRING int
++trio_equal
++TRIO_PROTO((TRIO_CONST char *first, TRIO_CONST char *second));
++#endif
++
++#if defined(TRIO_FUNC_EQUAL_CASE)
++TRIO_PUBLIC_STRING int
++trio_equal_case
++TRIO_PROTO((TRIO_CONST char *first, TRIO_CONST char *second));
++#endif
++
++#if defined(TRIO_FUNC_EQUAL_CASE_MAX)
++TRIO_PUBLIC_STRING int
++trio_equal_case_max
++TRIO_PROTO((TRIO_CONST char *first, size_t max, TRIO_CONST char *second));
++#endif
++
++#if defined(TRIO_FUNC_EQUAL_LOCALE)
++TRIO_PUBLIC_STRING int
++trio_equal_locale
++TRIO_PROTO((TRIO_CONST char *first, TRIO_CONST char *second));
++#endif
++
++#if defined(TRIO_FUNC_EQUAL_MAX)
++TRIO_PUBLIC_STRING int
++trio_equal_max
++TRIO_PROTO((TRIO_CONST char *first, size_t max, TRIO_CONST char *second));
++#endif
++
++#if defined(TRIO_FUNC_ERROR)
++TRIO_PUBLIC_STRING TRIO_CONST char *
++trio_error
++TRIO_PROTO((int));
++#endif
++
++#if defined(TRIO_FUNC_FORMAT_DATE_MAX)
++TRIO_PUBLIC_STRING size_t
++trio_format_date_max
++TRIO_PROTO((char *target, size_t max, TRIO_CONST char *format, TRIO_CONST struct tm *datetime));
++#endif
++
++#if defined(TRIO_FUNC_HASH)
++TRIO_PUBLIC_STRING unsigned long
++trio_hash
++TRIO_PROTO((TRIO_CONST char *string, int type));
++#endif
++
++#if defined(TRIO_FUNC_INDEX)
++TRIO_PUBLIC_STRING char *
++trio_index
++TRIO_PROTO((TRIO_CONST char *string, int character));
++#endif
++
++#if defined(TRIO_FUNC_INDEX_LAST)
++TRIO_PUBLIC_STRING char *
++trio_index_last
++TRIO_PROTO((TRIO_CONST char *string, int character));
++#endif
++
++#if defined(TRIO_FUNC_LENGTH)
++TRIO_PUBLIC_STRING size_t
++trio_length
++TRIO_PROTO((TRIO_CONST char *string));
++#endif
++
++#if defined(TRIO_FUNC_LENGTH_MAX)
++TRIO_PUBLIC_STRING size_t
++trio_length_max
++TRIO_PROTO((TRIO_CONST char *string, size_t max));
++#endif
++
++#if defined(TRIO_FUNC_LOWER)
++TRIO_PUBLIC_STRING int
++trio_lower
++TRIO_PROTO((char *target));
++#endif
++
++#if defined(TRIO_FUNC_MATCH)
++TRIO_PUBLIC_STRING int
++trio_match
++TRIO_PROTO((TRIO_CONST char *string, TRIO_CONST char *pattern));
++#endif
++
++#if defined(TRIO_FUNC_MATCH_CASE)
++TRIO_PUBLIC_STRING int
++trio_match_case
++TRIO_PROTO((TRIO_CONST char *string, TRIO_CONST char *pattern));
++#endif
++
++#if defined(TRIO_FUNC_SPAN_FUNCTION)
++TRIO_PUBLIC_STRING size_t
++trio_span_function
++TRIO_PROTO((char *target, TRIO_CONST char *source, int (*Function) TRIO_PROTO((int))));
++#endif
++
++#if defined(TRIO_FUNC_SUBSTRING)
++TRIO_PUBLIC_STRING char *
++trio_substring
++TRIO_PROTO((TRIO_CONST char *string, TRIO_CONST char *substring));
++#endif
++
++#if defined(TRIO_FUNC_SUBSTRING_MAX)
++TRIO_PUBLIC_STRING char *
++trio_substring_max
++TRIO_PROTO((TRIO_CONST char *string, size_t max, TRIO_CONST char *substring));
++#endif
++
++#if defined(TRIO_FUNC_TO_DOUBLE)
++TRIO_PUBLIC_STRING double
++trio_to_double
++TRIO_PROTO((TRIO_CONST char *source, char **endp));
++#endif
++
++#if defined(TRIO_FUNC_TO_FLOAT)
++TRIO_PUBLIC_STRING float
++trio_to_float
++TRIO_PROTO((TRIO_CONST char *source, char **endp));
++#endif
++
++#if defined(TRIO_FUNC_TO_LONG)
++TRIO_PUBLIC_STRING long
++trio_to_long
++TRIO_PROTO((TRIO_CONST char *source, char **endp, int base));
++#endif
++
++#if defined(TRIO_FUNC_TO_LOWER)
++TRIO_PUBLIC_STRING int
++trio_to_lower
++TRIO_PROTO((int source));
++#endif
++
++#if defined(TRIO_FUNC_TO_LONG_DOUBLE)
++TRIO_PUBLIC_STRING trio_long_double_t
++trio_to_long_double
++TRIO_PROTO((TRIO_CONST char *source, char **endp));
++#endif
++
++#if defined(TRIO_FUNC_TO_UNSIGNED_LONG)
++TRIO_PUBLIC_STRING unsigned long
++trio_to_unsigned_long
++TRIO_PROTO((TRIO_CONST char *source, char **endp, int base));
++#endif
++
++#if defined(TRIO_FUNC_TO_UPPER)
++TRIO_PUBLIC_STRING int
++trio_to_upper
++TRIO_PROTO((int source));
++#endif
++
++#if defined(TRIO_FUNC_TOKENIZE)
++TRIO_PUBLIC_STRING char *
++trio_tokenize
++TRIO_PROTO((char *string, TRIO_CONST char *delimiters));
++#endif
++
++#if defined(TRIO_FUNC_UPPER)
++TRIO_PUBLIC_STRING int
++trio_upper
++TRIO_PROTO((char *target));
++#endif
++
++/*************************************************************************
++ * Dynamic string functions
++ */
++
++/*
++ * Opaque type for dynamic strings
++ */
++
++typedef struct _trio_string_t trio_string_t;
++
++#if defined(TRIO_FUNC_STRING_APPEND)
++TRIO_PUBLIC_STRING int
++trio_string_append
++TRIO_PROTO((trio_string_t *self, trio_string_t *other));
++#endif
++
++#if defined(TRIO_FUNC_STRING_CONTAINS)
++TRIO_PUBLIC_STRING int
++trio_string_contains
++TRIO_PROTO((trio_string_t *self, trio_string_t *other));
++#endif
++
++#if defined(TRIO_FUNC_STRING_COPY)
++TRIO_PUBLIC_STRING int
++trio_string_copy
++TRIO_PROTO((trio_string_t *self, trio_string_t *other));
++#endif
++
++#if defined(TRIO_FUNC_STRING_CREATE)
++TRIO_PUBLIC_STRING trio_string_t *
++trio_string_create
++TRIO_PROTO((int initial_size));
++#endif
++
++#if defined(TRIO_FUNC_STRING_DESTROY)
++TRIO_PUBLIC_STRING void
++trio_string_destroy
++TRIO_PROTO((trio_string_t *self));
++#endif
++
++#if defined(TRIO_FUNC_STRING_DUPLICATE)
++TRIO_PUBLIC_STRING trio_string_t *
++trio_string_duplicate
++TRIO_PROTO((trio_string_t *other));
++#endif
++
++#if defined(TRIO_FUNC_STRING_EQUAL)
++TRIO_PUBLIC_STRING int
++trio_string_equal
++TRIO_PROTO((trio_string_t *self, trio_string_t *other));
++#endif
++
++#if defined(TRIO_FUNC_STRING_EQUAL_MAX)
++TRIO_PUBLIC_STRING int
++trio_string_equal_max
++TRIO_PROTO((trio_string_t *self, size_t max, trio_string_t *second));
++#endif
++
++#if defined(TRIO_FUNC_STRING_EQUAL_CASE)
++TRIO_PUBLIC_STRING int
++trio_string_equal_case
++TRIO_PROTO((trio_string_t *self, trio_string_t *other));
++#endif
++
++#if defined(TRIO_FUNC_STRING_EQUAL_CASE_MAX)
++TRIO_PUBLIC_STRING int
++trio_string_equal_case_max
++TRIO_PROTO((trio_string_t *self, size_t max, trio_string_t *other));
++#endif
++
++#if defined(TRIO_FUNC_STRING_EXTRACT)
++TRIO_PUBLIC_STRING char *
++trio_string_extract
++TRIO_PROTO((trio_string_t *self));
++#endif
++
++#if defined(TRIO_FUNC_STRING_FORMAT_DATE_MAX)
++TRIO_PUBLIC_STRING size_t
++trio_string_format_date_max
++TRIO_PROTO((trio_string_t *self, size_t max, TRIO_CONST char *format, TRIO_CONST struct tm *datetime));
++#endif
++
++#if defined(TRIO_FUNC_STRING_GET)
++TRIO_PUBLIC_STRING char *
++trio_string_get
++TRIO_PROTO((trio_string_t *self, int offset));
++#endif
++
++#if defined(TRIO_FUNC_STRING_INDEX)
++TRIO_PUBLIC_STRING char *
++trio_string_index
++TRIO_PROTO((trio_string_t *self, int character));
++#endif
++
++#if defined(TRIO_FUNC_STRING_INDEX_LAST)
++TRIO_PUBLIC_STRING char *
++trio_string_index_last
++TRIO_PROTO((trio_string_t *self, int character));
++#endif
++
++#if defined(TRIO_FUNC_STRING_LENGTH)
++TRIO_PUBLIC_STRING int
++trio_string_length
++TRIO_PROTO((trio_string_t *self));
++#endif
++
++#if defined(TRIO_FUNC_STRING_LOWER)
++TRIO_PUBLIC_STRING int
++trio_string_lower
++TRIO_PROTO((trio_string_t *self));
++#endif
++
++#if defined(TRIO_FUNC_STRING_MATCH)
++TRIO_PUBLIC_STRING int
++trio_string_match
++TRIO_PROTO((trio_string_t *self, trio_string_t *other));
++#endif
++
++#if defined(TRIO_FUNC_STRING_MATCH_CASE)
++TRIO_PUBLIC_STRING int
++trio_string_match_case
++TRIO_PROTO((trio_string_t *self, trio_string_t *other));
++#endif
++
++#if defined(TRIO_FUNC_STRING_SIZE)
++TRIO_PUBLIC_STRING int
++trio_string_size
++TRIO_PROTO((trio_string_t *self));
++#endif
++
++#if defined(TRIO_FUNC_STRING_SUBSTRING)
++TRIO_PUBLIC_STRING char *
++trio_string_substring
++TRIO_PROTO((trio_string_t *self, trio_string_t *other));
++#endif
++
++#if defined(TRIO_FUNC_STRING_TERMINATE)
++TRIO_PUBLIC_STRING void
++trio_string_terminate
++TRIO_PROTO((trio_string_t *self));
++#endif
++
++#if defined(TRIO_FUNC_STRING_UPPER)
++TRIO_PUBLIC_STRING int
++trio_string_upper
++TRIO_PROTO((trio_string_t *self));
++#endif
++
++#if defined(TRIO_FUNC_XSTRING_APPEND)
++TRIO_PUBLIC_STRING int
++trio_xstring_append
++TRIO_PROTO((trio_string_t *self, TRIO_CONST char *other));
++#endif
++
++#if defined(TRIO_FUNC_XSTRING_APPEND_CHAR)
++TRIO_PUBLIC_STRING int
++trio_xstring_append_char
++TRIO_PROTO((trio_string_t *self, char character));
++#endif
++
++#if defined(TRIO_FUNC_XSTRING_APPEND_MAX)
++TRIO_PUBLIC_STRING int
++trio_xstring_append_max
++TRIO_PROTO((trio_string_t *self, TRIO_CONST char *other, size_t max));
++#endif
++
++#if defined(TRIO_FUNC_XSTRING_CONTAINS)
++TRIO_PUBLIC_STRING int
++trio_xstring_contains
++TRIO_PROTO((trio_string_t *self, TRIO_CONST char *other));
++#endif
++
++#if defined(TRIO_FUNC_XSTRING_COPY)
++TRIO_PUBLIC_STRING int
++trio_xstring_copy
++TRIO_PROTO((trio_string_t *self, TRIO_CONST char *other));
++#endif
++
++#if defined(TRIO_FUNC_XSTRING_DUPLICATE)
++TRIO_PUBLIC_STRING trio_string_t *
++trio_xstring_duplicate
++TRIO_PROTO((TRIO_CONST char *other));
++#endif
++
++#if defined(TRIO_FUNC_XSTRING_EQUAL)
++TRIO_PUBLIC_STRING int
++trio_xstring_equal
++TRIO_PROTO((trio_string_t *self, TRIO_CONST char *other));
++#endif
++
++#if defined(TRIO_FUNC_XSTRING_EQUAL_MAX)
++TRIO_PUBLIC_STRING int
++trio_xstring_equal_max
++TRIO_PROTO((trio_string_t *self, size_t max, TRIO_CONST char *other));
++#endif
++
++#if defined(TRIO_FUNC_XSTRING_EQUAL_CASE)
++TRIO_PUBLIC_STRING int
++trio_xstring_equal_case
++TRIO_PROTO((trio_string_t *self, TRIO_CONST char *other));
++#endif
++
++#if defined(TRIO_FUNC_XSTRING_EQUAL_CASE_MAX)
++TRIO_PUBLIC_STRING int
++trio_xstring_equal_case_max
++TRIO_PROTO((trio_string_t *self, size_t max, TRIO_CONST char *other));
++#endif
++
++#if defined(TRIO_FUNC_XSTRING_MATCH)
++TRIO_PUBLIC_STRING int
++trio_xstring_match
++TRIO_PROTO((trio_string_t *self, TRIO_CONST char *other));
++#endif
++
++#if defined(TRIO_FUNC_XSTRING_MATCH_CASE)
++TRIO_PUBLIC_STRING int
++trio_xstring_match_case
++TRIO_PROTO((trio_string_t *self, TRIO_CONST char *other));
++#endif
++
++#if defined(TRIO_FUNC_XSTRING_SET)
++TRIO_PUBLIC_STRING void
++trio_xstring_set
++TRIO_PROTO((trio_string_t *self, char *buffer));
++#endif
++
++#if defined(TRIO_FUNC_XSTRING_SUBSTRING)
++TRIO_PUBLIC_STRING char *
++trio_xstring_substring
++TRIO_PROTO((trio_string_t *self, TRIO_CONST char *other));
++#endif
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* TRIO_TRIOSTR_H */
diff --git a/source/ap/ghostscript/slack-desc b/source/ap/ghostscript/slack-desc
index 1ac40827a..41ffbcbe4 100644
--- a/source/ap/ghostscript/slack-desc
+++ b/source/ap/ghostscript/slack-desc
@@ -6,9 +6,9 @@
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
-ghostscript: ghostscript (GPL Ghostscript)
+ghostscript: ghostscript (Postscript and PDF interpreter)
ghostscript:
-ghostscript: GPL Ghostscript is an interpreter of Adobe Systems' PostScript(tm)
+ghostscript: Ghostscript is an interpreter of Adobe Systems' PostScript(tm)
ghostscript: and Portable Document Format (PDF) languages. Ghostscript is an
ghostscript: essential part of the printing subsystem, taking PostScript output
ghostscript: from applications and converting it into an appropriate printer or
diff --git a/source/ap/hplip/hplip.56-hpmud.background.diff b/source/ap/hplip/hplip.56-hpmud.background.diff
new file mode 100644
index 000000000..5684687b6
--- /dev/null
+++ b/source/ap/hplip/hplip.56-hpmud.background.diff
@@ -0,0 +1,11 @@
+--- ./data/rules/56-hpmud.rules.orig 2013-08-07 01:02:33.000000000 -0500
++++ ./data/rules/56-hpmud.rules 2013-08-25 14:46:44.223976578 -0500
+@@ -12,7 +12,7 @@
+
+
+ # This rule will add the printer and install plugin
+-ENV{hp_test}=="yes", PROGRAM="/bin/sh -c 'logger -p user.info loading HP Device $env{BUSNUM} $env{DEVNUM}'", RUN+="/bin/sh -c 'if [ -f /usr/bin/systemctl ]; then /usr/bin/systemctl --no-block start hplip-printer@$env{BUSNUM}:$env{DEVNUM}.service; else /usr/bin/nohup /usr/bin/hp-config_usb_printer $env{BUSNUM}:$env{DEVNUM} ; fi'"
++ENV{hp_test}=="yes", PROGRAM="/bin/sh -c 'logger -p user.info loading HP Device $env{BUSNUM} $env{DEVNUM}'", RUN+="/bin/sh -c 'if [ -f /usr/bin/systemctl ]; then /usr/bin/systemctl --no-block start hplip-printer@$env{BUSNUM}:$env{DEVNUM}.service; else /usr/bin/nohup /usr/bin/hp-config_usb_printer $env{BUSNUM}:$env{DEVNUM} & ; fi'"
+
+ # If sane-bankends is installed add hpaio backend support to dll.conf if needed.
+ ENV{sane_hpaio}=="yes", RUN+="/bin/sh -c 'grep -q ^#hpaio /etc/sane.d/dll.conf;if [ $$? -eq 0 ];then sed -i -e s/^#hpaio/hpaio/ /etc/sane.d/dll.conf;else grep -q ^hpaio /etc/sane.d/dll.conf;if [ $$? -ne 0 ];then echo hpaio >>/etc/sane.d/dll.conf;fi;fi'"
diff --git a/source/ap/hplip/hplip.SlackBuild b/source/ap/hplip/hplip.SlackBuild
index b85e79146..08a62d885 100755
--- a/source/ap/hplip/hplip.SlackBuild
+++ b/source/ap/hplip/hplip.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for hplip
# Copyright 2006-2010 Robby Workman, Northport, Alabama, USA
-# Copyright 2006-2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006-2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -65,6 +65,11 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION || exit 1
+zcat $CWD/hplip.no.upgrade.diff.gz | patch -p1 --verbose || exit 1
+# Upstream added nohup to the rule, but didn't background with '&'.
+# Fix this to prevent a startup delay:
+zcat $CWD/hplip.56-hpmud.background.diff.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -101,6 +106,7 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-network-build=yes \
--enable-qt4 \
--enable-policykit \
+ --enable-cups-ppd-install \
--build=$ARCH-slackware-linux \
--host=$ARCH-slackware-linux \
|| exit 1
diff --git a/source/ap/hplip/hplip.no.upgrade.diff b/source/ap/hplip/hplip.no.upgrade.diff
new file mode 100644
index 000000000..ebb1743c6
--- /dev/null
+++ b/source/ap/hplip/hplip.no.upgrade.diff
@@ -0,0 +1,16 @@
+--- ./upgrade.py.orig 2013-03-08 01:15:32.000000000 -0600
++++ ./upgrade.py 2013-03-19 23:41:06.360870795 -0500
+@@ -214,6 +214,13 @@
+ try:
+ change_spinner_state(False)
+ core = CoreInstall(MODE_CHECK)
++
++ # To reenable upgrade in Slackware (although it probably won't work),
++ # delete the following 3 lines:
++ log.info("HPLIP upgrade function is disabled in Slackware.")
++ log.info("Not attempting to download upgrades.")
++ clean_exit(0)
++
+ if not utils.check_network_connection():
+ log.error("Either Internet is not working or Wget is not installed.")
+ clean_exit(0)
diff --git a/source/ap/itstool/itstool.SlackBuild b/source/ap/itstool/itstool.SlackBuild
new file mode 100755
index 000000000..b55789368
--- /dev/null
+++ b/source/ap/itstool/itstool.SlackBuild
@@ -0,0 +1,110 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=itstool
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a AUTHORS COPYING* INSTALL NEWS README $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/ap/itstool/slack-desc b/source/ap/itstool/slack-desc
new file mode 100644
index 000000000..3a2bec749
--- /dev/null
+++ b/source/ap/itstool/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+itstool: itstool (Translate XML documents with PO files)
+itstool:
+itstool: ITS Tool allows you to translate your XML documents with PO
+itstool: files, using rules from the W3C Internationalization Tag Set
+itstool: (ITS) to determine what to translate and how to separate it
+itstool: into PO file messages.
+itstool:
+itstool: Homepage: http://itstool.org/
+itstool:
+itstool:
+itstool:
diff --git a/source/ap/jed/jed.SlackBuild b/source/ap/jed/jed.SlackBuild
index d6da7b486..99c0dbbed 100755
--- a/source/ap/jed/jed.SlackBuild
+++ b/source/ap/jed/jed.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=0.99-19
PKGVER=0.99_19
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/ap/ksh93/EPL-1.0 b/source/ap/ksh93/EPL-1.0
new file mode 100644
index 000000000..76abcb3dc
--- /dev/null
+++ b/source/ap/ksh93/EPL-1.0
@@ -0,0 +1,213 @@
+
+ Eclipse Public License, Version 1.0 (EPL-1.0)
+
+
+ THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+ PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE
+ PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+ 1. DEFINITIONS
+
+ "Contribution" means:
+
+ a) in the case of the initial Contributor, the initial code and
+ documentation distributed under this Agreement, and
+ b) in the case of each subsequent Contributor:
+ i) changes to the Program, and
+ ii) additions to the Program;
+
+ where such changes and/or additions to the Program originate from and are
+ distributed by that particular Contributor. A Contribution 'originates'
+ from a Contributor if it was added to the Program by such Contributor
+ itself or anyone acting on such Contributor's behalf. Contributions do not
+ include additions to the Program which: (i) are separate modules of
+ software distributed in conjunction with the Program under their own
+ license agreement, and (ii) are not derivative works of the Program.
+
+ "Contributor" means any person or entity that distributes the Program.
+
+ "Licensed Patents " mean patent claims licensable by a Contributor which
+ are necessarily infringed by the use or sale of its Contribution alone or
+ when combined with the Program.
+
+ "Program" means the Contributions distributed in accordance with this
+ Agreement.
+
+ "Recipient" means anyone who receives the Program under this Agreement,
+ including all Contributors.
+
+ 2. GRANT OF RIGHTS
+
+ a) Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free copyright
+ license to reproduce, prepare derivative works of, publicly display,
+ publicly perform, distribute and sublicense the Contribution of such
+ Contributor, if any, and such derivative works, in source code and
+ object code form.
+ b) Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free patent license
+ under Licensed Patents to make, use, sell, offer to sell, import and
+ otherwise transfer the Contribution of such Contributor, if any, in
+ source code and object code form. This patent license shall apply to the
+ combination of the Contribution and the Program if, at the time the
+ Contribution is added by the Contributor, such addition of the
+ Contribution causes such combination to be covered by the Licensed
+ Patents. The patent license shall not apply to any other combinations
+ which include the Contribution. No hardware per se is licensed
+ hereunder.
+ c) Recipient understands that although each Contributor grants the
+ licenses to its Contributions set forth herein, no assurances are
+ provided by any Contributor that the Program does not infringe the
+ patent or other intellectual property rights of any other entity. Each
+ Contributor disclaims any liability to Recipient for claims brought by
+ any other entity based on infringement of intellectual property rights
+ or otherwise. As a condition to exercising the rights and licenses
+ granted hereunder, each Recipient hereby assumes sole responsibility to
+ secure any other intellectual property rights needed, if any. For
+ example, if a third party patent license is required to allow Recipient
+ to distribute the Program, it is Recipient's responsibility to acquire
+ that license before distributing the Program.
+ d) Each Contributor represents that to its knowledge it has sufficient
+ copyright rights in its Contribution, if any, to grant the copyright
+ license set forth in this Agreement.
+
+ 3. REQUIREMENTS
+
+ A Contributor may choose to distribute the Program in object code form
+ under its own license agreement, provided that:
+
+ a) it complies with the terms and conditions of this Agreement; and
+ b) its license agreement:
+ i) effectively disclaims on behalf of all Contributors all warranties
+ and conditions, express and implied, including warranties or conditions
+ of title and non-infringement, and implied warranties or conditions of
+ merchantability and fitness for a particular purpose;
+ ii) effectively excludes on behalf of all Contributors all liability for
+ damages, including direct, indirect, special, incidental and
+ consequential damages, such as lost profits;
+ iii) states that any provisions which differ from this Agreement are
+ offered by that Contributor alone and not by any other party; and
+ iv) states that source code for the Program is available from such
+ Contributor, and informs licensees how to obtain it in a reasonable
+ manner on or through a medium customarily used for software exchange.
+
+ When the Program is made available in source code form:
+
+ a) it must be made available under this Agreement; and
+ b) a copy of this Agreement must be included with each copy of the
+ Program.
+
+ Contributors may not remove or alter any copyright notices contained
+ within the Program.
+
+ Each Contributor must identify itself as the originator of its
+ Contribution, if any, in a manner that reasonably allows subsequent
+ Recipients to identify the originator of the Contribution.
+
+ 4. COMMERCIAL DISTRIBUTION
+
+ Commercial distributors of software may accept certain responsibilities
+ with respect to end users, business partners and the like. While this
+ license is intended to facilitate the commercial use of the Program, the
+ Contributor who includes the Program in a commercial product offering
+ should do so in a manner which does not create potential liability for
+ other Contributors. Therefore, if a Contributor includes the Program in a
+ commercial product offering, such Contributor ("Commercial Contributor")
+ hereby agrees to defend and indemnify every other Contributor
+ ("Indemnified Contributor") against any losses, damages and costs
+ (collectively "Losses") arising from claims, lawsuits and other legal
+ actions brought by a third party against the Indemnified Contributor to
+ the extent caused by the acts or omissions of such Commercial Contributor
+ in connection with its distribution of the Program in a commercial product
+ offering. The obligations in this section do not apply to any claims or
+ Losses relating to any actual or alleged intellectual property
+ infringement. In order to qualify, an Indemnified Contributor must: a)
+ promptly notify the Commercial Contributor in writing of such claim, and
+ b) allow the Commercial Contributor to control, and cooperate with the
+ Commercial Contributor in, the defense and any related settlement
+ negotiations. The Indemnified Contributor may participate in any such
+ claim at its own expense.
+
+ For example, a Contributor might include the Program in a commercial
+ product offering, Product X. That Contributor is then a Commercial
+ Contributor. If that Commercial Contributor then makes performance claims,
+ or offers warranties related to Product X, those performance claims and
+ warranties are such Commercial Contributor's responsibility alone. Under
+ this section, the Commercial Contributor would have to defend claims
+ against the other Contributors related to those performance claims and
+ warranties, and if a court requires any other Contributor to pay any
+ damages as a result, the Commercial Contributor must pay those damages.
+
+ 5. NO WARRANTY
+
+ EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED
+ ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
+ EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
+ CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
+ PARTICULAR PURPOSE. Each Recipient is solely responsible for determining
+ the appropriateness of using and distributing the Program and assumes all
+ risks associated with its exercise of rights under this Agreement ,
+ including but not limited to the risks and costs of program errors,
+ compliance with applicable laws, damage to or loss of data, programs or
+ equipment, and unavailability or interruption of operations.
+
+ 6. DISCLAIMER OF LIABILITY
+
+ EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+ CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+ WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION
+ OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+ 7. GENERAL
+
+ If any provision of this Agreement is invalid or unenforceable under
+ applicable law, it shall not affect the validity or enforceability of the
+ remainder of the terms of this Agreement, and without further action by
+ the parties hereto, such provision shall be reformed to the minimum extent
+ necessary to make such provision valid and enforceable.
+
+ If Recipient institutes patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+ (excluding combinations of the Program with other software or hardware)
+ infringes such Recipient's patent(s), then such Recipient's rights granted
+ under Section 2(b) shall terminate as of the date such litigation is
+ filed.
+
+ All Recipient's rights under this Agreement shall terminate if it fails to
+ comply with any of the material terms or conditions of this Agreement and
+ does not cure such failure in a reasonable period of time after becoming
+ aware of such noncompliance. If all Recipient's rights under this
+ Agreement terminate, Recipient agrees to cease use and distribution of the
+ Program as soon as reasonably practicable. However, Recipient's
+ obligations under this Agreement and any licenses granted by Recipient
+ relating to the Program shall continue and survive.
+
+ Everyone is permitted to copy and distribute copies of this Agreement, but
+ in order to avoid inconsistency the Agreement is copyrighted and may only
+ be modified in the following manner. The Agreement Steward reserves the
+ right to publish new versions (including revisions) of this Agreement from
+ time to time. No one other than the Agreement Steward has the right to
+ modify this Agreement. The Eclipse Foundation is the initial Agreement
+ Steward. The Eclipse Foundation may assign the responsibility to serve as
+ the Agreement Steward to a suitable separate entity. Each new version of
+ the Agreement will be given a distinguishing version number. The Program
+ (including Contributions) may always be distributed subject to the version
+ of the Agreement under which it was received. In addition, after a new
+ version of the Agreement is published, Contributor may elect to distribute
+ the Program (including its Contributions) under the new version. Except as
+ expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+ rights or licenses to the intellectual property of any Contributor under
+ this Agreement, whether expressly, by implication, estoppel or otherwise.
+ All rights in the Program not expressly granted under this Agreement are
+ reserved.
+
+ This Agreement is governed by the laws of the State of New York and the
+ intellectual property laws of the United States of America. No party to
+ this Agreement will bring a legal action under this Agreement more than
+ one year after the cause of action arose. Each party waives its rights to
+ a jury trial in any resulting litigation.
+
diff --git a/source/ap/ksh93/ksh93.SlackBuild b/source/ap/ksh93/ksh93.SlackBuild
index 43023ae6c..5eacc82af 100755
--- a/source/ap/ksh93/ksh93.SlackBuild
+++ b/source/ap/ksh93/ksh93.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2001 BSDi, Inc. Concord, CA, USA
# Copyright 2004 Slackware Linux, Inc. Concord, CA, USA
-# Copyright 2007, 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2007, 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=2010-06-21
-PKGVER=2010_06_21
+VERSION=2012-08-01
+PKGVER=2012_08_01
# Not packaged?
#KSHLOCALE=2010-02-02
BUILD=${BUILD:-1}
@@ -68,6 +68,15 @@ find . \
-exec chmod 644 {} \;
/bin/ksh bin/package read || exit 1
+
+zcat $CWD/patches/ksh-20070328-builtins.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/ksh-20100826-fixregr.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/rmdirfix.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/ksh-20120801-cdfix.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/ksh-20120801-tabfix.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/ksh-20120801-cdfix2.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/ksh-20130214-fixkill.patch.gz | patch -p1 --verbose || exit 1
+
/bin/ksh bin/package make || exit 1
mkdir -p $PKG/bin
@@ -115,16 +124,20 @@ chown -R root:root $PKG/usr/share
mkdir -p $PKG/usr/doc/ksh93-$VERSION
( cd src/cmd/ksh93
- cp -a COMPATIBILITY DESIGN OBSOLETE PROMO.mm README RELEASE* \
+ cp -a COMPATIBILITY DESIGN OBSOLETE PROMO.mm README RELEASE* TYPES \
$PKG/usr/doc/ksh93-$VERSION
)
( cd /tmp/build-ksh93/ast-base
mkdir -p $PKG/usr/doc/ksh93-$VERSION/LICENSE
cp -a README $PKG/usr/doc/ksh93-$VERSION/LICENSE
+ cp -a $CWD/EPL-1.0 $PKG/usr/doc/ksh93-$VERSION
+ chmod 644 $PKG/usr/doc/ksh93-$VERSION/EPL-1.0
+ # ast-ksh-locale is still covered by the CPL:
cp -a $CWD/CPL $PKG/usr/doc/ksh93-$VERSION
chmod 644 $PKG/usr/doc/ksh93-$VERSION/CPL
chown root:root $PKG/usr/doc/ksh93-$VERSION/CPL
- cp -a lib/package/LICENSES/ast $PKG/usr/doc/ksh93-$VERSION/LICENSE/LICENSE.ast )
+ #cp -a lib/package/LICENSES/ast $PKG/usr/doc/ksh93-$VERSION/LICENSE/LICENSE.ast
+ cp -a lib/package/*.lic $PKG/usr/doc/ksh93-$VERSION/LICENSE/LICENSE.ast )
chown -R root:root $PKG/usr/doc/ksh93-$VERSION
find $PKG/usr/doc/ksh93-$VERSION -type f -exec chmod 644 "{}" \;
diff --git a/source/ap/ksh93/patches/ksh-20070328-builtins.patch b/source/ap/ksh93/patches/ksh-20070328-builtins.patch
new file mode 100644
index 000000000..5c6b21c2f
--- /dev/null
+++ b/source/ap/ksh93/patches/ksh-20070328-builtins.patch
@@ -0,0 +1,32 @@
+diff -up ksh-20120620/src/cmd/ksh93/data/builtins.c.builtins ksh-20120620/src/cmd/ksh93/data/builtins.c
+--- ksh-20120620/src/cmd/ksh93/data/builtins.c.builtins 2012-06-19 10:02:12.000000000 +0200
++++ ksh-20120620/src/cmd/ksh93/data/builtins.c 2012-06-22 12:35:05.587717588 +0200
+@@ -131,20 +131,28 @@ const struct shtable3 shtab_builtins[] =
+ #undef mktemp /* undo possible map-libc mktemp => _ast_mktemp */
+ #include SHOPT_CMDLIB_HDR
+ #else
++#if 1
+ CMDLIST(basename)
+ CMDLIST(chmod)
+ CMDLIST(dirname)
+ CMDLIST(getconf)
+ CMDLIST(head)
++#if 0
++does not work when ACLs are used
+ CMDLIST(mkdir)
++#endif
+ CMDLIST(logname)
++#if 1
++//does not work in chrooted environments, because /dev/fd/? is missing
+ CMDLIST(cat)
++#endif
+ CMDLIST(cmp)
+ CMDLIST(cut)
+ CMDLIST(uname)
+ CMDLIST(wc)
+ CMDLIST(sync)
+ #endif
++#endif
+ #if SHOPT_REGRESS
+ "__regress__", NV_BLTIN|BLT_ENV, bltin(__regress__),
+ #endif
diff --git a/source/ap/ksh93/patches/ksh-20100826-fixregr.patch b/source/ap/ksh93/patches/ksh-20100826-fixregr.patch
new file mode 100644
index 000000000..87cb13c6e
--- /dev/null
+++ b/source/ap/ksh93/patches/ksh-20100826-fixregr.patch
@@ -0,0 +1,68 @@
+diff -up ksh-20120801/src/cmd/ksh93/tests/builtins.sh.fixregr ksh-20120801/src/cmd/ksh93/tests/builtins.sh
+--- ksh-20120801/src/cmd/ksh93/tests/builtins.sh.fixregr 2012-07-16 17:23:56.000000000 +0200
++++ ksh-20120801/src/cmd/ksh93/tests/builtins.sh 2012-08-08 12:29:00.733243019 +0200
+@@ -303,9 +303,9 @@ then err_exit "printf '%..*s' not workin
+ fi
+ [[ $(printf '%q\n') == '' ]] || err_exit 'printf "%q" with missing arguments'
+ # we won't get hit by the one second boundary twice, right?
+-[[ $(printf '%T\n' now) == "$(date)" ]] ||
+-[[ $(printf '%T\n' now) == "$(date)" ]] ||
+-err_exit 'printf "%T" now'
++[[ $(printf '%T\n' now | sed 's/GMT/UTC/') == "$(date)" ]] ||
++[[ $(printf '%T\n' now | sed 's/GMT/UTC/') == "$(date)" ]] ||
++err_exit 'printf "%T" now = '"$(printf '%T\n' now) != $(date)"
+ behead()
+ {
+ read line
+diff -up ksh-20120801/src/cmd/ksh93/tests/locale.sh.fixregr ksh-20120801/src/cmd/ksh93/tests/locale.sh
+--- ksh-20120801/src/cmd/ksh93/tests/locale.sh.fixregr 2012-06-26 21:57:46.000000000 +0200
++++ ksh-20120801/src/cmd/ksh93/tests/locale.sh 2012-08-08 12:29:20.039405240 +0200
+@@ -104,6 +104,7 @@ if (( $($SHELL -c $'export LC_ALL='$loca
+ then LC_ALL=$locale $SHELL -c b1=$'"\342\202\254\342\202\254\342\202\254\342\202\254w\342\202\254\342\202\254\342\202\254\342\202\254"; [[ ${b1:4:1} == w ]]' || err_exit 'multibyte ${var:offset:len} not working correctly'
+ fi
+
++locale=en_US.UTF-8
+ #$SHELL -c 'export LANG='$locale'; printf "\u[20ac]\u[20ac]" > $tmp/two_euro_chars.txt'
+ printf $'\342\202\254\342\202\254' > $tmp/two_euro_chars.txt
+ exp="6 2 6"
+@@ -111,11 +112,11 @@ set -- $($SHELL -c "
+ unset LC_CTYPE
+ export LANG=$locale
+ export LC_ALL=C
+- command wc -C < $tmp/two_euro_chars.txt
++ command wc -m < $tmp/two_euro_chars.txt
+ unset LC_ALL
+- command wc -C < $tmp/two_euro_chars.txt
++ command wc -m < $tmp/two_euro_chars.txt
+ export LC_ALL=C
+- command wc -C < $tmp/two_euro_chars.txt
++ command wc -m < $tmp/two_euro_chars.txt
+ ")
+ got=$*
+ [[ $got == $exp ]] || err_exit "command wc LC_ALL default failed -- expected '$exp', got '$got'"
+@@ -134,6 +135,8 @@ set -- $($SHELL -c "
+ got=$*
+ [[ $got == $exp ]] || err_exit "builtin wc LC_ALL default failed -- expected '$exp', got '$got'"
+
++locale=C_EU.UTF-8
++
+ # multibyte char straddling buffer boundary
+
+ {
+@@ -190,6 +193,7 @@ do exp=$1
+ done
+
+ # setocale(LC_ALL,"") after setlocale() initialization
++locale=en_US.UTF-8
+
+ printf 'f1\357\274\240f2\n' > input1
+ printf 't2\357\274\240f1\n' > input2
+@@ -336,7 +340,7 @@ then LC_ALL=en_US.UTF-8
+ [[ $(print -r -- "$x") == $'hello\u[20ac]\xee world' ]] || err_exit '%q with unicode and non-unicode not working'
+ if [[ $(whence od) ]]
+ then got='68 65 6c 6c 6f e2 82 ac ee 20 77 6f 72 6c 64 0a'
+- [[ $(print -r -- "$x" | od -An -tx1) == "$got" ]] || err_exit "incorrect string from printf %q"
++ [[ $(print -r -- "$x" | od -An -tx1) =~ $got ]] || err_exit "incorrect string from printf %q"
+ fi
+
+ fi
diff --git a/source/ap/ksh93/patches/ksh-20120801-cdfix.patch b/source/ap/ksh93/patches/ksh-20120801-cdfix.patch
new file mode 100644
index 000000000..59265dda5
--- /dev/null
+++ b/source/ap/ksh93/patches/ksh-20120801-cdfix.patch
@@ -0,0 +1,14 @@
+diff -up ksh-20120801/src/cmd/ksh93/bltins/cd_pwd.c.cdfix ksh-20120801/src/cmd/ksh93/bltins/cd_pwd.c
+--- ksh-20120801/src/cmd/ksh93/bltins/cd_pwd.c.cdfix 2013-02-01 16:04:55.507150242 +0100
++++ ksh-20120801/src/cmd/ksh93/bltins/cd_pwd.c 2013-02-01 16:06:39.361007641 +0100
+@@ -214,7 +214,10 @@ int b_cd(int argc, char *argv[],Shbltin_
+ if(*++dp=='.' && (*++dp=='/' || *dp==0))
+ n++;
+ else if(*dp && *dp!='/')
++ {
++ dp--;
+ break;
++ }
+ if(*dp==0)
+ break;
+ }
diff --git a/source/ap/ksh93/patches/ksh-20120801-cdfix2.patch b/source/ap/ksh93/patches/ksh-20120801-cdfix2.patch
new file mode 100644
index 000000000..84bb49125
--- /dev/null
+++ b/source/ap/ksh93/patches/ksh-20120801-cdfix2.patch
@@ -0,0 +1,25 @@
+diff -up ksh-20120801/src/cmd/ksh93/bltins/cd_pwd.c.cdfix2 ksh-20120801/src/cmd/ksh93/bltins/cd_pwd.c
+--- ksh-20120801/src/cmd/ksh93/bltins/cd_pwd.c.cdfix2 2013-02-01 16:46:50.441771371 +0100
++++ ksh-20120801/src/cmd/ksh93/bltins/cd_pwd.c 2013-02-01 16:57:43.241784024 +0100
+@@ -61,6 +61,7 @@ int sh_diropenat(Shell_t *shp, int dir,
+ {
+ int fd,shfd;
+ int savederrno=errno;
++ struct stat fs;
+ #ifndef AT_FDCWD
+ NOT_USED(dir);
+ #endif
+@@ -133,6 +134,13 @@ int sh_diropenat(Shell_t *shp, int dir,
+
+ if(fd < 0)
+ return fd;
++
++ if (!fstat(fd, &fs) && !S_ISDIR(fs.st_mode))
++ {
++ close(fd);
++ errno = ENOTDIR;
++ return -1;
++ }
+
+ /* Move fd to a number > 10 and *register* the fd number with the shell */
+ shfd = sh_fcntl(fd, F_dupfd_cloexec, 10);
diff --git a/source/ap/ksh93/patches/ksh-20120801-tabfix.patch b/source/ap/ksh93/patches/ksh-20120801-tabfix.patch
new file mode 100644
index 000000000..962763ed6
--- /dev/null
+++ b/source/ap/ksh93/patches/ksh-20120801-tabfix.patch
@@ -0,0 +1,18 @@
+diff -up ksh-20120801/src/cmd/ksh93/edit/emacs.c.tabfix ksh-20120801/src/cmd/ksh93/edit/emacs.c
+--- ksh-20120801/src/cmd/ksh93/edit/emacs.c.tabfix 2012-07-17 22:44:44.000000000 +0200
++++ ksh-20120801/src/cmd/ksh93/edit/emacs.c 2013-03-07 15:58:59.902161711 +0100
+@@ -1011,10 +1011,13 @@ static int escape(register Emacs_t* ep,r
+ ep->ed->e_tabcount=0;
+ else
+ {
++ int oldi = i;
+ i=ed_getchar(ep->ed,0);
+ ed_ungetchar(ep->ed,i);
+- if(isdigit(i))
++ if(isdigit(i) && oldi=='=')
+ ed_ungetchar(ep->ed,ESC);
++ else if (isdigit(i) || i=='\t')
++ ep->ed->e_tabcount=0;
+ }
+ }
+ else
diff --git a/source/ap/ksh93/patches/ksh-20130214-fixkill.patch b/source/ap/ksh93/patches/ksh-20130214-fixkill.patch
new file mode 100644
index 000000000..0862880dd
--- /dev/null
+++ b/source/ap/ksh93/patches/ksh-20130214-fixkill.patch
@@ -0,0 +1,21 @@
+diff -up ksh-20130214/src/cmd/ksh93/sh/jobs.c.fixkill ksh-20130214/src/cmd/ksh93/sh/jobs.c
+--- ksh-20130214/src/cmd/ksh93/sh/jobs.c.fixkill 2012-09-26 17:43:04.000000000 +0200
++++ ksh-20130214/src/cmd/ksh93/sh/jobs.c 2013-02-22 16:38:05.080161740 +0100
+@@ -1104,6 +1104,8 @@ static struct process *job_bystring(regi
+
+ int job_kill(register struct process *pw,register int sig)
+ {
++ if(pw==0)
++ goto error;
+ Shell_t *shp = pw->p_shp;
+ register pid_t pid;
+ register int r;
+@@ -1127,8 +1129,6 @@ int job_kill(register struct process *pw
+ #endif /* SIGTSTP */
+ job_lock();
+ errno = ECHILD;
+- if(pw==0)
+- goto error;
+ pid = pw->p_pid;
+ #if SHOPT_COSHELL
+ if(pw->p_cojob)
diff --git a/source/ap/ksh93/patches/rmdirfix.patch b/source/ap/ksh93/patches/rmdirfix.patch
new file mode 100644
index 000000000..132de7dba
--- /dev/null
+++ b/source/ap/ksh93/patches/rmdirfix.patch
@@ -0,0 +1,505 @@
+diff -up ksh20120801/src/cmd/ksh93/sh/subshell.c.orig ksh20120801/src/cmd/ksh93/sh/subshell.c
+--- ksh20120801/src/cmd/ksh93/sh/subshell.c.orig 2012-07-17 23:54:21.000000000 +0200
++++ ksh20120801/src/cmd/ksh93/sh/subshell.c 2012-10-24 15:03:44.436870792 +0200
+@@ -40,14 +40,6 @@
+ # define PIPE_BUF 512
+ #endif
+
+-#ifndef O_SEARCH
+-# ifdef O_PATH
+-# define O_SEARCH O_PATH
+-# else
+-# define O_SEARCH 0
+-# endif
+-#endif
+-
+ /*
+ * Note that the following structure must be the same
+ * size as the Dtlink_t structure
+@@ -84,7 +76,7 @@ static struct subshell
+ char *pwd; /* present working directory */
+ const char *shpwd; /* saved pointer to sh.pwd */
+ void *jobs; /* save job info */
+- int pwdfd; /* file descritor for pwd */
++ int shpwdfd;/* fd for present working directory */
+ mode_t mask; /* saved umask */
+ short tmpfd; /* saved tmp file descriptor */
+ short pipefd; /* read fd if pipe is created */
+@@ -101,7 +93,6 @@ static struct subshell
+ int subdup;
+ char subshare;
+ char comsub;
+- char pwdclose;
+ #if SHOPT_COSHELL
+ void *coshell;
+ #endif /* SHOPT_COSHELL */
+@@ -518,7 +509,6 @@ Sfio_t *sh_subshell(Shell_t *shp,Shnode_
+ shp->pathinit = 0;
+ }
+ sp->pathlist = path_dup((Pathcomp_t*)shp->pathlist);
+- sp->pwdfd = -1;
+ if(!shp->pwd)
+ path_pwd(shp,0);
+ sp->bckpid = shp->bckpid;
+@@ -531,39 +521,14 @@ Sfio_t *sh_subshell(Shell_t *shp,Shnode_
+ shp->subshare = comsub==2 || (comsub==1 && sh_isoption(SH_SUBSHARE));
+ if(comsub)
+ shp->comsub = comsub;
++ sp->shpwdfd=-1;
+ if(!comsub || !shp->subshare)
+ {
+- struct subshell *xp;
+ sp->shpwd = shp->pwd;
+-#ifdef _lib_fchdir
+- for(xp=sp->prev; xp; xp=xp->prev)
+- {
+- if(xp->pwdfd>0 && strcmp(xp->pwd,shp->pwd)==0)
+- {
+- sp->pwdfd = xp->pwdfd;
+- break;
+- }
+- }
+- if(sp->pwdfd<0)
+- {
+- int n = open(".",O_RDONLY);
+- if(O_SEARCH && errno==EACCES)
+- n = open(".",O_RDONLY);
+- if(n>=0)
+- {
+- sp->pwdfd = n;
+- if(n<10)
+- {
+- sp->pwdfd = fcntl(n,F_DUPFD,10);
+- close(n);
+- }
+- if(sp->pwdfd>0)
+- {
+- fcntl(sp->pwdfd,F_SETFD,FD_CLOEXEC);
+- sp->pwdclose = 1;
+- }
+- }
+- }
++ sp->shpwdfd=((shp->pwdfd >= 0))?sh_fcntl(shp->pwdfd, F_dupfd_cloexec, 10):-1;
++#ifdef O_SEARCH
++ if(sp->shpwdfd<0)
++ errormsg(SH_DICT,ERROR_system(1), "Can't obtain directory fd.");
+ #endif
+ sp->pwd = (shp->pwd?strdup(shp->pwd):0);
+ sp->mask = shp->mask;
+@@ -741,14 +706,11 @@ Sfio_t *sh_subshell(Shell_t *shp,Shnode_
+ Namval_t *pwdnod = sh_scoped(shp,PWDNOD);
+ if(shp->pwd)
+ {
+- if(sp->pwdfd >=0)
+- {
+- if(fchdir(sp->pwdfd)<0)
+- chdir(sp->pwd);
+- }
+- else
+- chdir(sp->pwd);
+ shp->pwd=sp->pwd;
++#ifndef O_SEARCH
++ if (sp->shpwdfd < 0)
++ chdir(shp->pwd);
++#endif
+ path_newdir(shp,shp->pathlist);
+ }
+ if(nv_isattr(pwdnod,NV_NOFREE))
+@@ -762,8 +724,6 @@ Sfio_t *sh_subshell(Shell_t *shp,Shnode_
+ }
+ else
+ free((void*)sp->pwd);
+- if(sp->pwdclose)
+- close(sp->pwdfd);
+ if(sp->mask!=shp->mask)
+ umask(shp->mask=sp->mask);
+ if(shp->coutpipe!=sp->coutpipe)
+@@ -775,6 +735,13 @@ Sfio_t *sh_subshell(Shell_t *shp,Shnode_
+ shp->cpipe[1] = sp->cpipe;
+ shp->coutpipe = sp->coutpipe;
+ }
++ if(sp->shpwdfd >=0)
++ {
++ if(shp->pwdfd >=0)
++ sh_close(shp->pwdfd);
++ shp->pwdfd=sp->shpwdfd;
++ fchdir(shp->pwdfd);
++ }
+ shp->subshare = sp->subshare;
+ shp->comsub = sp->comsub;
+ shp->subdup = sp->subdup;
+diff -up ksh-20120801/src/cmd/ksh93/bltins/cd_pwd.c.orig ksh-20120801/src/cmd/ksh93/bltins/cd_pwd.c
+--- ksh-20120801/src/cmd/ksh93/bltins/cd_pwd.c.orig 2012-08-02 16:50:40.000000000 +0200
++++ ksh-20120801/src/cmd/ksh93/bltins/cd_pwd.c 2012-10-24 15:37:46.814469045 +0200
+@@ -38,6 +38,10 @@
+ #include "builtins.h"
+ #include <ls.h>
+
++#ifndef EINTR_REPEAT
++# define EINTR_REPEAT(expr) while((expr) && (errno == EINTR)) errno=0;
++#endif
++
+ /*
+ * Invalidate path name bindings to relative paths
+ */
+@@ -49,6 +53,95 @@ static void rehash(register Namval_t *np
+ _nv_unset(np,0);
+ }
+
++/*
++ * Obtain a file handle to the directory "path" relative to directory
++ * "dir", or open a NFSv4 xattr directory handle for file dir/path.
++ */
++int sh_diropenat(Shell_t *shp, int dir, const char *path, bool xattr)
++{
++ int fd,shfd;
++ int savederrno=errno;
++#ifndef AT_FDCWD
++ NOT_USED(dir);
++#endif
++#ifndef O_XATTR
++ NOT_USED(xattr);
++#endif
++
++#ifdef O_XATTR
++ if(xattr)
++ {
++ int apfd; /* attribute parent fd */
++ /* open parent node... */
++ EINTR_REPEAT((apfd = openat(dir, path, O_RDONLY|O_NONBLOCK|O_cloexec)) < 0);
++ if(apfd < 0)
++ return -1;
++
++ /* ... and then open a fd to the attribute directory */
++ EINTR_REPEAT((fd = openat(apfd, e_dot, O_XATTR|O_cloexec)) < 0);
++
++ savederrno = errno;
++ EINTR_REPEAT(close(apfd) < 0);
++ errno = savederrno;
++ }
++ else
++#endif
++ {
++#ifdef AT_FDCWD
++ /*
++ * Open directory. First we try without |O_SEARCH| and
++ * if this fails with EACCESS we try with |O_SEARCH|
++ * again.
++ * This is required ...
++ * - ... because some platforms may require that it can
++ * only be used for directories while some filesystems
++ * (e.g. Reiser4 or HSM systems) allow a |fchdir()| into
++ * files, too)
++ * - ... to preserve the semantics of "cd", e.g.
++ * otherwise "cd" would return [No access] instead of
++ * [Not a directory] for files on filesystems which do
++ * not allow a "cd" into files.
++ * - ... to allow that a
++ * $ redirect {n}</etc ; cd /dev/fd/$n # works on most
++ * platforms.
++ */
++ EINTR_REPEAT((fd = openat(dir, path, O_RDONLY|O_NONBLOCK|O_cloexec)) < 0);
++# ifdef O_SEARCH
++ if((fd < 0) && (errno == EACCES))
++ {
++ EINTR_REPEAT((fd = openat(dir, path, O_SEARCH|O_cloexec)) < 0)
++ }
++# endif
++#else
++ /*
++ * Version of openat() call above for systems without
++ * openat API. This only works because we basically
++ * gurantee that |dir| is always the same place as
++ * |cwd| on such machines (but this won't be the case
++ * in the future).
++ */
++ /*
++ * This |fchdir()| call is not needed (yet) since
++ * all consumers do not use |dir| when |AT_FDCWD|
++ * is not available.
++ *
++ * fchdir(dir);
++ */
++ EINTR_REPEAT((fd = open(path, O_cloexec)) < 0);
++#endif
++ }
++
++ if(fd < 0)
++ return fd;
++
++ /* Move fd to a number > 10 and *register* the fd number with the shell */
++ shfd = sh_fcntl(fd, F_dupfd_cloexec, 10);
++ savederrno=errno;
++ sh_close(fd);
++ errno=savederrno;
++ return(shfd);
++}
++
+ int b_cd(int argc, char *argv[],Shbltin_t *context)
+ {
+ register char *dir;
+@@ -56,18 +149,20 @@ int b_cd(int argc, char *argv[],Shbltin_
+ register const char *dp;
+ register Shell_t *shp = context->shp;
+ int saverrno=0;
+- int rval,flag=0;
++ int rval;
++ bool flag=false,xattr=false;
+ char *oldpwd;
++ int newdirfd;
+ Namval_t *opwdnod, *pwdnod;
+ if(sh_isoption(SH_RESTRICTED))
+ errormsg(SH_DICT,ERROR_exit(1),e_restricted+4);
+ while((rval = optget(argv,sh_optcd))) switch(rval)
+ {
+ case 'L':
+- flag = 0;
++ flag = false;
+ break;
+ case 'P':
+- flag = 1;
++ flag = true;
+ break;
+ case ':':
+ errormsg(SH_DICT,2, "%s", opt_info.arg);
+@@ -179,14 +274,72 @@ int b_cd(int argc, char *argv[],Shbltin_
+ continue;
+ #endif /* SHOPT_FS_3D */
+ }
++ rval = newdirfd = sh_diropenat(shp, shp->pwdfd,
++ path_relative(shp,stakptr(PATH_OFFSET)), xattr);
++ if(newdirfd >=0)
++ {
++ /* chdir for directories on HSM/tapeworms may take minutes */
++ if(fchdir(newdirfd) >= 0)
++ {
++ if(shp->pwdfd >= 0)
++ sh_close(shp->pwdfd);
++ shp->pwdfd=newdirfd;
++ goto success;
++ }
++ }
++#ifndef O_SEARCH
++ else
++ {
+ if((rval=chdir(path_relative(shp,stakptr(PATH_OFFSET)))) >= 0)
+- goto success;
+- if(errno!=ENOENT && saverrno==0)
++ {
++ if(shp->pwdfd >= 0)
++ {
++ sh_close(shp->pwdfd);
++#ifdef AT_FDCWD
++ shp->pwdfd = AT_FDCWD;
++#else
++ shp->pwdfd = -1;
++#endif
++ }
++ }
++ }
++#endif
++ if(saverrno==0)
+ saverrno=errno;
++ if(newdirfd >=0)
++ sh_close(newdirfd);
+ }
+ while(cdpath);
+ if(rval<0 && *dir=='/' && *(path_relative(shp,stakptr(PATH_OFFSET)))!='/')
+- rval = chdir(dir);
++ {
++ rval = newdirfd = sh_diropenat(shp,
++ shp->pwdfd,
++ dir, xattr);
++ if(newdirfd >=0)
++ {
++ /* chdir for directories on HSM/tapeworms may take minutes */
++ if(fchdir(newdirfd) >= 0)
++ {
++ if(shp->pwdfd >= 0)
++ sh_close(shp->pwdfd);
++ shp->pwdfd=newdirfd;
++ goto success;
++ }
++ }
++#ifndef O_SEARCH
++ else
++ {
++ if(chdir(dir) >=0)
++ {
++ if(shp->pwdfd >= 0)
++ {
++ sh_close(shp->pwdfd);
++ shp->pwdfd=-1;
++ }
++ }
++ }
++#endif
++ }
+ /* use absolute chdir() if relative chdir() fails */
+ if(rval<0)
+ {
+@@ -213,7 +366,7 @@ success:
+ if(*dir != '/')
+ return(0);
+ nv_putval(opwdnod,oldpwd,NV_RDONLY);
+- flag = strlen(dir);
++ flag = (strlen(dir)>0)?true:false;
+ /* delete trailing '/' */
+ while(--flag>0 && dir[flag]=='/')
+ dir[flag] = 0;
+diff -up ksh-20120801/src/cmd/ksh93/include/shell.h.orig ksh-20120801/src/cmd/ksh93/include/shell.h
+--- ksh-20120801/src/cmd/ksh93/include/shell.h.orig 2012-07-17 22:07:40.000000000 +0200
++++ ksh-20120801/src/cmd/ksh93/include/shell.h 2012-10-24 15:42:10.756987230 +0200
+@@ -145,6 +145,7 @@ struct Shell_s
+ unsigned char trapnote; /* set when trap/signal is pending */
+ char shcomp; /* set when runing shcomp */
+ short subshell; /* set for virtual subshell */
++ int pwdfd; /* file descriptor for pwd */
+ #ifdef _SH_PRIVATE
+ _SH_PRIVATE
+ #endif /* _SH_PRIVATE */
+diff -up ksh-20120801/src/cmd/ksh93/sh/init.c.orig ksh-20120801/src/cmd/ksh93/sh/init.c
+--- ksh-20120801/src/cmd/ksh93/sh/init.c.orig 2012-05-11 19:19:10.000000000 +0200
++++ ksh-20120801/src/cmd/ksh93/sh/init.c 2012-10-24 15:31:59.659485151 +0200
+@@ -1365,6 +1365,18 @@ Shell_t *sh_init(register int argc,regis
+ }
+ }
+ sh_ioinit(shp);
++#ifdef AT_FDCWD
++ shp->pwdfd = sh_diropenat(shp, AT_FDCWD, e_dot, false);
++#else
++ /* Systems without AT_FDCWD/openat() do not use the |dir| argument */
++ shp->pwdfd = sh_diropenat(shp, -1, e_dot, false);
++#endif
++#ifdef O_SEARCH
++ /* This should _never_ happen, guranteed by design and goat sacrifice */
++ if(shp->pwdfd < 0)
++ errormsg(SH_DICT,ERROR_system(1), "Can't obtain directory fd.");
++#endif
++
+ /* initialize signal handling */
+ sh_siginit(shp);
+ stakinstall(NIL(Stak_t*),nospace);
+diff -up ksh-20120801/src/cmd/ksh93/sh/xec.c.orig ksh-20120801/src/cmd/ksh93/sh/xec.c
+--- ksh-20120801/src/cmd/ksh93/sh/xec.c.orig 2012-07-23 16:49:32.000000000 +0200
++++ ksh-20120801/src/cmd/ksh93/sh/xec.c 2012-10-24 15:35:02.209539671 +0200
+@@ -1348,8 +1348,12 @@ int sh_exec(register const Shnode_t *t,
+ {
+ if(!shp->pwd)
+ path_pwd(shp,0);
+- if(shp->pwd)
+- stat(".",&statb);
++#ifndef O_SEARCH
++ else if (shp->pwdfd>=0)
++ fstat(shp->pwdfd,&statb);
++ else if (shp->pwd)
++ stat(e_dot,&statb);
++#endif
+ sfsync(NULL);
+ share = sfset(sfstdin,SF_SHARE,0);
+ sh_onstate(SH_STOPOK);
+@@ -1428,14 +1432,32 @@ int sh_exec(register const Shnode_t *t,
+ sh_offstate(SH_NOFORK);
+ if(!(nv_isattr(np,BLT_ENV)))
+ {
+- if(shp->pwd)
++#ifdef O_SEARCH
++ while((fchdir(shp->pwdfd) < 0) && errno==EINTR)
++ errno = 0;
++#else
++ if(shp->pwd || (shp->pwdfd >= 0))
+ {
+ struct stat stata;
+ stat(".",&stata);
+ /* restore directory changed */
+ if(statb.st_ino!=stata.st_ino || statb.st_dev!=stata.st_dev)
+- chdir(shp->pwd);
++ {
++ /* chdir for directories on HSM/tapeworms may take minutes */
++ int err=errno;
++ if(shp->pwdfd >= 0)
++ {
++ while((fchdir(shp->pwdfd) < 0) && errno==EINTR)
++ errno = err;
++ }
++ else
++ {
++ while((chdir(shp->pwd) < 0) && errno==EINTR)
++ errno = err;
++ }
++ }
+ }
++#endif /* O_SEARCH */
+ sh_offstate(SH_STOPOK);
+ if(share&SF_SHARE)
+ sfset(sfstdin,SF_PUBLIC|SF_SHARE,1);
+diff -up ksh-20120801/src/lib/libast/features/common.orig ksh-20120801/src/lib/libast/features/common
+--- ksh-20120801/src/lib/libast/features/common.orig 2011-12-12 20:55:33.000000000 +0100
++++ ksh-20120801/src/lib/libast/features/common 2012-10-24 15:54:35.433885131 +0200
+@@ -463,6 +463,66 @@ typ uintptr_t stdint.h inttypes.h no{
+ typedef unsigned _ast_int4_t uintptr_t;
+ #endif
+ }end
++typ _Bool = uint8_t
++cat{
++ #if defined(_STDC_C99) || __STDC_VERSION__ >= 199901L
++ #include <stdbool.h>
++ #else
++ #define bool _Bool
++ #define false 0
++ #define true 1
++ #endif
++}end
++tst key __thread -lpthread note{ __thread keyword exists and works with -lpthread }end execute{
++ #include <pthread.h>
++
++ #define INITIAL 1
++ #define LOOP 100
++
++ static __thread int specific = INITIAL;
++ static int global = 0;
++
++ static void* worker(void* arg)
++ {
++ int k;
++ int v;
++ v = (int)(arg - 0);
++ for (k = 0; k < LOOP; ++k)
++ {
++ specific += v;
++ usleep(1);
++ }
++ if (specific != (INITIAL + LOOP * v))
++ global = 1;
++ return 0;
++ }
++ int main()
++ {
++ pthread_t th[2];
++
++ if (pthread_create(&th[0], 0, worker, (void*)0 + 5) ||
++ pthread_create(&th[1], 0, worker, (void*)0 + 7))
++ {
++ NOTE("pthread_create failed");
++ return 1;
++ }
++ pthread_join(th[0], 0);
++ pthread_join(th[1], 0);
++ if (global)
++ {
++ NOTE("__thread variable not thread specific");
++ return 1;
++ }
++ if (specific != INITIAL)
++ {
++ NOTE("main __thread variable changed by another thread");
++ return 1;
++ }
++ return 0;
++ }
++}end no{
++ #define __thread /* __thread keyword does not exist or does not work with -lpthread */
++}end
+
+ tst - -DTRY=1 - -DTRY=1 -Dvoid=char - -DTRY=2 - -DTRY=3 - -DTRY=4 output{
+ #if _STD_ && _hdr_stdarg
diff --git a/source/ap/linuxdoc-tools/ChangeLog.txt b/source/ap/linuxdoc-tools/ChangeLog.txt
index 0c971b356..cf2cf9a20 100644
--- a/source/ap/linuxdoc-tools/ChangeLog.txt
+++ b/source/ap/linuxdoc-tools/ChangeLog.txt
@@ -1,3 +1,31 @@
+Sun Jun 23 20:56:24 BST 2013
+ Stuart Winter <mozes@slackware.com>
+ linuxdoc-tools 0.9.68, build 4.
+ * Added docbook2X-0.8.8
+ * Added dependencies for docbook2X:
+ perl-XML-SAX-0.99
+ perl-XML-NamespaceSupport-1.11
+ perl-XML-SAX-Base-1.08
+ * Upgraded to gtk-doc-1.19
+
+Fri Jun 5 21:51:02 UTC 2013
+ Patrick Volkerding <volkerdi@slackware.com>
+ linuxdoc-tools 0.9.68, build 3.
+ Rebuild for perl-5.18.0.
+
+Fri Apr 5 21:51:02 UTC 2013
+ Patrick Volkerding <volkerdi@slackware.com>
+ linuxdoc-tools 0.9.68, build 2.
+ * Create a symlink VERSION.xsl -> VERSION
+
+Tue Apr 2 19:54:49 BST 2013
+ Stuart Winter <mozes@slackware.com>
+ linuxdoc-tools 0.9.68, build 1.
+ * Upgraded to linuxdoc-tools 0.9.68
+ * Upgraded to AsciiDoc-8.6.8
+ * Upgraded to DocBook XSL Stylesheets 1.78.1
+ * Removed dangling symlinks from /usr/doc.
+
Fri Jun 29 17:34:25 BST 2012
Stuart Winter <mozes@slackware.com>
linuxdoc-tools 0.9.67, build 2.
diff --git a/source/ap/linuxdoc-tools/arm/build b/source/ap/linuxdoc-tools/arm/build
index f5a418d96..f217b40f9 100755
--- a/source/ap/linuxdoc-tools/arm/build
+++ b/source/ap/linuxdoc-tools/arm/build
@@ -9,9 +9,9 @@ source /usr/share/slackdev/buildkit.sh
# Package metadata:
export PKGNAM=linuxdoc-tools
-export VERSION=${VERSION:-0.9.67}
+export VERSION=${VERSION:-0.9.68}
export PKGARCH=${PKGARCH:-arm}
-export BUILD=${BUILD:-2}
+export BUILD=${BUILD:-4}
export PKGSERIES=${PKGSERIES:-ap}
export SLACKPACKAGE=$PKGNAM-$VERSION-$PKGARCH-$BUILD.tgz
export PKGEXT=${PKGEXT:-tgz}
diff --git a/source/ap/linuxdoc-tools/linuxdoc-tools.build b/source/ap/linuxdoc-tools/linuxdoc-tools.build
index 27f3a53ca..520e8a2a5 100755
--- a/source/ap/linuxdoc-tools/linuxdoc-tools.build
+++ b/source/ap/linuxdoc-tools/linuxdoc-tools.build
@@ -17,20 +17,21 @@
LINUXDOCTOOLSVER=$PKGVERSION
# Bundled package versions:
+ASCIIDOCVER=8.6.8
+DSSSLSTYLESHEETSVER=1.79
+XSLSTYLESHEETSVER=1.78.1
+DOCBOOKUTILSVER=0.6.14
SGMLDTD3VER=3.1
SGMLDTD4VER=4.5
XMLDTDVER=4.5
-XSLSTYLESHEETSVER=1.76.1
-DSSSLSTYLESHEETSVER=1.79
-SGMLCOMMONVER=0.6.3
-OPENJADEVER=1.3.3-pre1
-OPENSPVER=1.5.2
GNOMEDOCUTILSVER=0.20.10
-GTKDOCVER=1.18
+GTKDOCVER=1.19
SGMLSPLVER=1.03ii
+OPENJADEVER=1.3.3-pre1
+OPENSPVER=1.5.2
+SGMLCOMMONVER=0.6.3
XMLTOVER=0.0.25
-ASCIIDOCVER=8.6.7
-DOCBOOKUTILSVER=0.6.14
+DOCBOOK2XVER=0.8.8
# Determine the general CFLAGS for the known architectures:
case $ARCH in
@@ -38,6 +39,10 @@ case $ARCH in
export LIBDIRSUFFIX=""
export HOSTTARGET="-gnueabi"
;;
+ armv7hl) export SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ export LIBDIRSUFFIX=""
+ export HOSTTARGET="-gnueabi"
+ ;;
i486) export SLKCFLAGS="-O2 -march=i486 -mtune=i686"
export LIBDIRSUFFIX=""
export HOSTTARGET=""
@@ -483,11 +488,15 @@ for i in \
docbook-utils-sgmlinclude.patch \
docbook-utils-rtfmanpage.patch \
docbook-utils-papersize.patch \
- docbook-utils-nofinalecho.patch ; do
+ docbook-utils-nofinalecho.patch \
+ docbook-utils-newgrep.patch ; do
patch --verbose -p1 < ../$i
done || exit 1
# Configure:
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+CPPFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
@@ -698,12 +707,12 @@ find . \
# Apply patches:
for i in \
- docbook-xsl-mandir.patch \
- docbook-xsl-list-item-body.patch \
+ docbook-xsl-pagesetup.patch \
docbook-xsl-marginleft.patch \
docbook-xsl-newmethods.patch \
docbook-xsl-non-constant-expressions.patch \
- docbook-xsl-pagesetup.patch ; do
+ docbook-xsl-list-item-body.patch \
+ docbook-xsl-mandir.patch ; do
patch --verbose -p1 < ../$i
done || exit 1
@@ -721,6 +730,12 @@ mkdir -vpm755 /usr/share/xml/docbook/stylesheet
rm -fv docbook-xsl
ln -vfs ../xsl-stylesheets-$XSLSTYLESHEETSVER docbook-xsl )
+# Some stylesheets will look for VERSION.xsl rather than VERSION.
+# They are the same in the sources, so make a compatibility symlink:
+if [ ! -r /usr/share/xml/docbook/stylesheet/docbook-xsl/VERSION.xsl ]; then
+ ( cd /usr/share/xml/docbook/stylesheet/docbook-xsl ; ln -sf VERSION VERSION.xsl )
+fi
+
# Create config files:
if [ ! -d /etc/xml ]; then install -v -m755 -d /etc/xml; fi
if [ ! -f /etc/xml/catalog ]; then
@@ -758,9 +773,9 @@ cp -fav doc/* README* RELEASE-NOTES* NEWS* \
# Extract source:
cd $TMP
mkdir xmlto && cd xmlto
-tar xvf $CWD/sources/xmlto-$XMLTOVER.tar.*z*
-#rpm2cpio $CWD/sources/xmlto-${XMLTOVER}*.src.rpm | cpio -div || exit 1
-#tar xvvf xmlto-$XMLTOVER.tar.*z*
+#tar xvf $CWD/sources/xmlto-$XMLTOVER.tar.*z*
+rpm2cpio $CWD/sources/xmlto-${XMLTOVER}*.src.rpm | cpio -div || exit 1
+tar xvvf xmlto-$XMLTOVER.tar.*z*
cd xmlto-$XMLTOVER || exit 1
chown -R root:root .
find . \
@@ -769,6 +784,9 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Apply patches:
+patch -p1 < ../xmlto-noextensions.patch || exit 1
+
# Configure:
./configure \
--prefix=/usr \
@@ -847,8 +865,9 @@ export PATH=$( echo $PATH | sed -e 's?:/usr/share/texmf/bin??g' -e 's?/usr/share
# Apply patches (these are included in the source rpm):
for i in \
linuxdoc-tools-0.9.13-letter.patch \
+ linuxdoc-tools-0.9.68-flex.patch \
linuxdoc-tools-0.9.20-lib64.patch ; do
- patch --verbose -p1 < ../$i
+ patch --verbose -p1 < ../$i
done || exit 1
# Find out what our Vendor perl directory is:
@@ -856,6 +875,9 @@ eval $(perl '-V:installvendorlib')
mkdir -p $PKG/$installvendorlib
# Configure:
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+CPPFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--with-perllibdir=$installvendorlib \
@@ -920,6 +942,8 @@ find . \
# Configure:
CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+CPPFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@@ -956,10 +980,11 @@ find . \
-exec chmod 644 {} \;
# Configure:
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+CPPFLAGS="$SLKCFLAGS" \
./configure \
- --prefix=/usr \
- --disable-scrollkeeper \
- || exit 1
+ --prefix=/usr || exit 1
# Build:
make || exit 1
@@ -973,6 +998,99 @@ cp -fav \
AUTHORS COPYING INSTALL MAINTAINERS NEWS README TODO \
/usr/doc/gtk-doc-$GTKDOCVER
+####################### Build docbook2X ###############################
+
+cd $TMP
+
+# Build supporting PERL libraries first:
+( mkdir XML-NamespaceSupport && cd XML-NamespaceSupport
+ rpm2cpio $CWD/sources/perl-XML-NamespaceSupport-*.src.rpm | cpio -di
+ tar xvf XML-NamespaceSupport-*.tar.gz
+ cd XML-NamespaceSupport* || exit 1
+ perl Makefile.PL INSTALLDIRS=vendor
+ # Make sure the man pages go where we want them:
+ fgrep -lr -- '/share/man/' . | xargs sed -i 's?/share/man/?/man/?g'
+ make || exit 1
+ make test || exit 1
+ make pure_install || exit 1 || exit 1 ) || exit 1
+
+( mkdir perl-XML-SAX-Base && cd perl-XML-SAX-Base
+ rpm2cpio $CWD/sources/perl-XML-SAX-Base-*.src.rpm | cpio -di
+ tar xvf XML-SAX-Base-*z
+ cd XML-SAX-Base-* || exit 1
+ perl Makefile.PL INSTALLDIRS=vendor
+ fgrep -lr -- '/share/man/' . | xargs sed -i 's?/share/man/?/man/?g'
+ make || exit 1
+ make test || exit 1
+ make pure_install || exit 1 ) || exit 1
+
+( mkdir XML-SAX && cd XML-SAX
+ rpm2cpio $CWD/sources/perl-XML-SAX-[0-9]*.src.rpm | cpio -di
+ tar xvf XML-SAX-*nopatents.tar*
+ cd XML-SAX-* || exit 1
+ patch -p1 < ../perl-XML-SAX-0.99-rt20126.patch || exit 1
+ # Answer Y to updating ParserDetails.ini:
+ yes | perl Makefile.PL INSTALLDIRS=vendor
+ fgrep -lr -- '/share/man/' . | xargs sed -i 's?/share/man/?/man/?g'
+ make || exit 1
+ make test || exit 1
+ make pure_install || exit 1
+ # We need to make a ParserDetails.ini file, as suggested here:
+ # http://perl-xml.sourceforge.net/faq/#parserdetails.ini
+ perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()" ) || exit 1
+
+# Build docbook2X:
+# Extract source:
+tar xvf $CWD/sources/docbook2x*.orig.tar.xz
+cd docbook2X-* || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Apply patches:
+xz -dc $CWD/sources/docbook2x*diff* | patch -p1 || exit 1
+for i in \
+ 01_fix_static_datadir_evaluation.dpatch \
+ 02_fix_418703_dont_use_abbreviated_sfnet_address.dpatch \
+ 03_fix_420153_filename_whitespace_handling \
+ 04_fix_442782_preprocessor_declaration_syntax.dpatch \
+ 05_fix_439214_error_on_missing_refentry.dpatch ; do
+ patch --verbose -p1 < debian/patches/$i || exit 1
+done
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+CPPFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/docbook2X-$DOCBOOK2XVER \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-maintainer-mode \
+ --disable-dependency-tracking \
+ --program-transform-name="s/^docbook2/docbook2x-/" \
+ --with-html-xsl \
+ --build=$ARCH-slackware-linux$HOSTTARGET || exit 1
+
+# Build:
+make || exit 1
+
+# Install:
+make install || exit 1
+mv -fv /usr/share/doc/docbook2X /usr/doc/docbook2X-$DOCBOOK2XVER
+
+# Copy docs:
+mkdir -vpm755 /usr/doc/docbook2X-$DOCBOOK2XVER
+cp -fav \
+ AUTHORS COPYING ChangeLog NEWS README THANKS TODO \
+ /usr/doc/docbook2X-$DOCBOOK2XVER
+
#######################################################################
# Install the package description:
diff --git a/source/ap/linuxdoc-tools/postbuildfixes.sh b/source/ap/linuxdoc-tools/postbuildfixes.sh
index 8781faf7d..c3d99e0ed 100755
--- a/source/ap/linuxdoc-tools/postbuildfixes.sh
+++ b/source/ap/linuxdoc-tools/postbuildfixes.sh
@@ -32,6 +32,9 @@ find . -name perllocal.pod -print0 | xargs -0 rm -f
# We don't need setuid for anything in this package:
chmod -R a-s .
+# Remove dangling symlinks from /usr/doc. asciidoc-8.6.7 was a culprit.
+find usr/doc -xtype l -print0 | xargs -0 rm -fv
+
# Ensure some permissions.
# I don't know why but these dirs are installed chmod 1755:
#drwxr-xr-t root/root 0 2006-05-27 15:42:44 var/lib/texmf/
diff --git a/source/ap/linuxdoc-tools/sources/docbook2x_0.8.8-8.diff b/source/ap/linuxdoc-tools/sources/docbook2x_0.8.8-8.diff
new file mode 100644
index 000000000..90188b436
--- /dev/null
+++ b/source/ap/linuxdoc-tools/sources/docbook2x_0.8.8-8.diff
@@ -0,0 +1,886 @@
+--- docbook2x-0.8.8.orig/debian/changelog
++++ docbook2x-0.8.8/debian/changelog
+@@ -0,0 +1,219 @@
++docbook2x (0.8.8-8) unstable; urgency=low
++
++ * debian/rules (binary-post-install): Fix manpages to talk about the renamed
++ commands.
++
++ -- Daniel Leidert (dale) <daniel.leidert@wgdd.de> Sat, 06 Sep 2008 10:59:50 +0200
++
++docbook2x (0.8.8-7) unstable; urgency=low
++
++ * debian/docbook2x.doc-base (Section): Fixed accordingly to version 0.8.10
++ of the doc-base manual.
++ * debian/watch: Fixed.
++
++ -- Daniel Leidert (dale) <daniel.leidert@wgdd.de> Tue, 08 Jul 2008 14:53:08 +0200
++
++docbook2x (0.8.8-6) unstable; urgency=low
++
++ * debian/compat: Raised to v5.
++ * debian/control: Added DM-Upload-Allowed for DM status.
++ (Build-Depends): Raised debhelper to v5.
++ (Standards-Version): Raised to 3.7.3.
++ * debian/copyright: Fixed typo. Thanks to lintian.
++ * debian/docbook2x.doc-base (Document): Fixed uppercase letter. Thanks to
++ lintian.
++ * debian/patches/05_fix_439214_error_on_missing_refentry.dpatch: Added.
++ - xslt/man/docbook.xsl: Print a warning if no refentry element can be
++ found (closes: #439214).
++ * debian/patches/00list: Adjusted.
++
++ -- Daniel Leidert (dale) <daniel.leidert@wgdd.de> Wed, 13 Feb 2008 18:08:08 +0100
++
++docbook2x (0.8.8-5) unstable; urgency=low
++
++ * debian/control: Homepage field transition.
++ * debian/rules (DEB_CONFIGURE_EXTRA_FLAGS): Added --with-html-xsl configure
++ option to prevent docbook2X FTBFS building twice in a row. Thanks to
++ Steven Cheng, Patrick Winnertz and Lucas Nussbaum (closes: #441700).
++ * debian/watch: Added.
++ * debian/patches/01_fix_static_datadir_evaluation.dpatch: Adjusted.
++ - Removed change in configure.ac to avoid rerunning all the autotools.
++ * debian/patches/04_fix_442782_preprocessor_declaration_syntax.dpatch: Added.
++ - Fixes preprocessor declaration syntax to be '\" (closes: #442782).
++ Thanks to Colin Watson for the report and the patch.
++ * debian/patches/00list: Adjusted.
++
++ -- Daniel Leidert (dale) <daniel.leidert@wgdd.de> Sun, 25 Nov 2007 03:40:18 +0000
++
++docbook2x (0.8.8-4) unstable; urgency=high
++
++ [ Daniel Leidert ]
++ * debian/control (Depends): Added xsltproc. Thanks to Peter Eisentraut and
++ Adeodato Simó for the hint (closes: #420345). Further added the necessary
++ sp | opensp and texinfo dependencies.
++ * debian/patches/03_fix_420153_filename_whitespace_handling.dpatch: Added.
++ - First normalize the refentrytitle content and then replace spaces with
++ underlines to create the manpage filename (closes: #420153). Thanks to
++ Peter Eisentraut for reporting this issue.
++ * debian/patches/00list: Adjusted.
++ - Added 03_fix_420153_filename_whitespace_handling.dpatch.
++
++ -- Daniel Leidert (dale) <daniel.leidert@wgdd.de> Sat, 21 Apr 2007 21:05:46 +0200
++
++docbook2x (0.8.8-3) unstable; urgency=high
++
++ [ Daniel Leidert ]
++ * debian/control (Depends): Added ${misc:Depends} variable to fix missing
++ dependency on xml-core (closes: #419419). Thanks to Kurt Roeckx for the
++ report.
++
++ -- Daniel Leidert (dale) <daniel.leidert@wgdd.de> Sun, 15 Apr 2007 19:10:50 +0200
++
++docbook2x (0.8.8-2) unstable; urgency=high
++
++ [ Daniel Leidert ]
++ * debian/control (Build-Depends): Added xml-core and re-added dpatch..
++ * debian/docbook2x.xmlcatalogs: Added to register XML catalogs.
++ * debian/rules: Re-added dpatch ruleset.
++ (binary-install/docbook2x): Register the XML catalogs shipped with the
++ package source (closes: #418703).
++ * debian/patches/01_fix_static_datadir_evaluation.dpatch: Added. Fixes the
++ broken ${datadir} evaluation in configure(.ac) that leads to an unusable
++ package.
++ * debian/patches/02_fix_418703_dont_use_abbreviated_sfnet_address.dpatch:
++ Added. Don't use the short sf.net URLs. This with the above issue probably
++ caused bug #418703. However, having the catalogs registered was already in
++ TODO.
++ * debian/patches/00list: Adjusted.
++
++ -- Daniel Leidert (dale) <daniel.leidert@wgdd.de> Thu, 12 Apr 2007 16:27:10 +0200
++
++docbook2x (0.8.8-1) unstable; urgency=low
++
++ * New upstream version 0.8.8.
++ * Upload to unstable (closes: #409524).
++
++ [ Daniel Leidert ]
++ * debian/control: Added XS-Vcs-Browser and XS-Vcs-Svn fields.
++ (Build-Depends): Removed dpatch dependency.
++ * debian/rules: Removed dpatch ruleset inclusion.
++ (binary-install/docbook2x): Added the upstream changelog as well.
++ * debian/patches/00list:
++ * debian/patches/01_add_missing_documentation.dpatch: Removed. Fixed
++ upstream.
++
++ -- Daniel Leidert (dale) <daniel.leidert@wgdd.de> Tue, 10 Apr 2007 22:54:42 +0200
++
++docbook2x (0.8.7-1) experimental; urgency=low
++
++ * New upstream release 0.8.7 (closes: #292046).
++ - This release also doesn't fail to build any longer with the latest
++ libxml-sax-perl (closes: #409524).
++
++ [ Daniel Leidert ]
++ * debian/control (Uploaders): Added myself.
++ (Build-Depends): Added dpatch, opensp, sp and xsltproc and removed
++ libxslt1-dev.
++ (Build-Conflicts): Added tidy to avoid further tests.
++ * debian/copyright: Small update.
++ * debian/docbook2x.doc-base: Added for registering the docbook2X HTML docs
++ with doc-base.
++ * debian/rules: Removed simple-patchsys.mk inclusion and made the makefile
++ smaller. Added the dpatch ruleset to apply changes.
++ (common-install-prehook-arch, binary-install): Fixed. The info files come
++ with a INFO-DIR-SECTION entry. Further there is also info documentation
++ for the xslt stylesheets.
++ (binary-post-install): Removed a lot of obsolete stuff. The Perl stuff is
++ not longer installed. No CVS content is installed.
++ (binary-post-install, DEB_CONFIGURE_EXTRA_FLAGS): Replaced the manual
++ program/man-page renaming with adding --program-transform-name to
++ configure flags.
++ (clean): Removed unused stuff and improved the rest a bit.
++ * debian/patches/01_add_missing_documentation.dpatch: Added.
++ - This patch adds the missing docbook2{man,texi}.html files to the
++ documentation.
++ * debian/patches/00list: Added. Apply patch(es).
++
++ -- Daniel Leidert (dale) <daniel.leidert@wgdd.de> Sun, 25 Feb 2007 22:28:34 +0100
++
++docbook2x (0.8.3-1) unstable; urgency=low
++
++ * New upstream release. Removed all the patches that used to be in
++ debian/patches, since they have been applied upstream.
++ * debian/control:
++ - In Build-Depends, dropped libxml-perl and added libxml-sax-perl.
++ - Added Build-Conflicts on libxml2-utils, because the presence of
++ /usr/bin/xmllint triggers unecessary buildings in the doc
++ directory.
++ * debian/rules: Added an extra clean target for files left after building
++ the upstream package that are not removed by make clean. Also, make
++ sure that debian/examples is clean.
++
++ -- Rafael Laboissiere <rafael@debian.org> Sun, 18 Jul 2004 22:24:57 +0200
++
++docbook2x (0.8.2-6) unstable; urgency=low
++
++ * debian/control: Added dependencies on ${perl:Depends}, libxml-perl,
++ and libtext-wrapi18n-perl. The variable ${perl:Depends} is set by
++ dh_perl.
++
++ -- Rafael Laboissiere <rafael@debian.org> Thu, 29 Apr 2004 14:32:06 +0200
++
++docbook2x (0.8.2-5) unstable; urgency=low
++
++ * debian/patches/50-malocc-return.patch: Added this patch to fix a
++ serious upstream bug which was preventing the package of being built
++ by the ia64, hppa, sparc, and powerpc build daemons.
++
++ -- Rafael Laboissiere <rafael@debian.org> Thu, 29 Apr 2004 12:12:12 +0200
++
++docbook2x (0.8.2-4) unstable; urgency=low
++
++ * debian/control: Added build-dependency on texinfo, since the makeinfo
++ program is needed for building the package.
++
++ -- Rafael Laboissiere <rafael@debian.org> Sun, 25 Apr 2004 21:29:15 +0200
++
++docbook2x (0.8.2-3) unstable; urgency=low
++
++ * debian/control: Added build-dependency on libxml-perl.
++
++ -- Rafael Laboissiere <rafael@debian.org> Sun, 25 Apr 2004 17:09:09 +0200
++
++docbook2x (0.8.2-2) unstable; urgency=low
++
++ * debian/patches/50-gentext-dingbat-template.patch: Patch for
++ xslt/common/gentext.xsl, defining the lacking gentext-dingbat template
++ (closes: #245340).
++ * debian/patches/50-i-element.patch: Patch for xslt/texi/biblio.xsl,
++ fixing wrong <I> elements (closes: #245343).
++ * debian/patches/50-xml-fixes.patch: Patch for fixing XML problems in
++ the upstream files doc/docbook2X.xml and doc/faq.xml.
++ * debian/rules:
++ - Include cdbs' simple-patchsys.mk for coping with the patches above.
++ - Removed hard-coded Perl version from some installation directories
++ names. There is now a PERL_INSTALLPRIVLIB variable, properly
++ initialized through the Perl Config module (closes: #245291).
++ - Install Perl module in standard place, complying with the Debian
++ Perl Policy (closes: #245305).
++ - Run make clean in perl/XML/Handler directory to avoid inclusion of
++ extraneous patches in the Debian diff.gz file. Remove also
++ Makefile.old.
++ * debian/control:
++ - Added versioned build-dependency on libxslt1-dev. Also, changed
++ Build-Depends-Indep to Build-Depends, since the package is
++ Architecture: any (closes: #245285).
++ - Cite upstream URL homepage in debian/control in accordance with the
++ Debian Best Packaging Practices manual (closes: #245447)
++ - Added Uploaders field with Ardo, Wolfgang, and Rafael.
++
++ -- Rafael Laboissiere <rafael@debian.org> Sun, 25 Apr 2004 14:45:14 +0200
++
++docbook2x (0.8.2-1) unstable; urgency=low
++
++ * Initial package. Closes: #185295.
++ * The file install.xml is missing from the upstream archive, but is
++ available at the web site.
++ * Beware: <qandaset> can only be handled with defaultlabel attribute.
++
++ -- W. Borgert <debacle@debian.org> Sat, 13 Mar 2004 09:41:07 +0000
+--- docbook2x-0.8.8.orig/debian/control
++++ docbook2x-0.8.8/debian/control
+@@ -0,0 +1,23 @@
++Source: docbook2x
++Section: text
++Priority: optional
++Maintainer: Debian XML/SGML Group <debian-xml-sgml-pkgs@lists.alioth.debian.org>
++Uploaders: Ardo van Rangelrooij <ardo@debian.org>, W. Borgert <debacle@debian.org>, Rafael Laboissiere <rafael@debian.org>, Daniel Leidert (dale) <daniel.leidert@wgdd.de>
++Build-Depends: debhelper (>= 5), cdbs (>= 0.4.21), dpatch, libxml-sax-perl, opensp, sp, texinfo, xml-core, xsltproc
++Build-Conflicts: libxml2-utils, tidy
++Standards-Version: 3.7.3
++Homepage: http://docbook2x.sourceforge.net
++Vcs-Browser: http://svn.debian.org/wsvn/debian-xml-sgml/packages/docbook2x/trunk/
++Vcs-Svn: svn://svn.debian.org/svn/debian-xml-sgml/packages/docbook2x/
++DM-Upload-Allowed: yes
++
++Package: docbook2x
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, libxml-sax-expat-perl, libtext-wrapi18n-perl, opensp | sp, texinfo, xsltproc
++Recommends: docbook-xml, docbook-xsl
++Description: Converts DocBook/XML documents into man pages and TeXinfo
++ The main tools are:
++ * docbook2x-man: converts a DocBook/XML refentry into a manual page,
++ with table support
++ * docbook2x-texi: converts a DocBook/XML refentry into an info page,
++ most usable for Emacs users
+--- docbook2x-0.8.8.orig/debian/compat
++++ docbook2x-0.8.8/debian/compat
+@@ -0,0 +1 @@
++5
+--- docbook2x-0.8.8.orig/debian/TODO
++++ docbook2x-0.8.8/debian/TODO
+@@ -0,0 +1,22 @@
++Things that should (IMHO definitely) be done in the near future:
++
++ * make the package XML policy compliant.
++
++ - move the stylesheets and DTDs into /usr/share/xml
++
++ * solve the conflict with the docbook-utils package binaries
++ (including: man-pages and docs currently use the names chosen by upstream,
++ not "our" tranformed binary names)
++
++ * the man-pages contain references to files in /usr/share
++ [.. citing Steve Cheng ..] So you have two choices:
++
++ 1. You can either use a sed script afterwards to fix the paths in the
++ installed man pages (and HTML, Texinfo documentation).
++
++ 2. Or, force the rebuild of the documentation at your end.
++ After running the configure --with-html-xsl, touch doc/docbook2X.xml and
++ then make. (Note: don't use VPATH builds in this situation; it breaks.)
++ Of course you will need the xsltproc and the DocBook XSL stylesheets for
++ this procedure. [..]
++
+--- docbook2x-0.8.8.orig/debian/watch
++++ docbook2x-0.8.8/debian/watch
+@@ -0,0 +1,4 @@
++# See uscan(1) for format
++
++version=3
++http://sf.net/docbook2x/docbook2X-([\d\.]+)\.tar\.gz
+--- docbook2x-0.8.8.orig/debian/docbook2x.doc-base
++++ docbook2x-0.8.8/debian/docbook2x.doc-base
+@@ -0,0 +1,13 @@
++Document: docbook2x
++Title: docbook2X user documentation
++Author: Steve Cheng <stevecheng@users.sourceforge.net>
++Abstract: docbook2X converts DocBook documents into man pages and
++ Texinfo documents. This documentation contains the man-pages, a
++ quick start guide, the FAQ and some information about the
++ project (history).
++Section: Text
++
++Format: HTML
++Index: /usr/share/doc/docbook2x/docbook2X/docbook2X.html
++Files: /usr/share/doc/docbook2x/docbook2X/*.html
++
+--- docbook2x-0.8.8.orig/debian/docbook2x.xmlcatalogs
++++ docbook2x-0.8.8/debian/docbook2x.xmlcatalogs
+@@ -0,0 +1,19 @@
++root;public;-//Steve Cheng//DTD
++root;public;-//Steve Cheng//DOCUMENT DocBook
++
++root;system;http://docbook2x.sf.net/latest/
++root;system;http://docbook2x.sourceforge.net/latest/
++
++local;dtd/catalog.xml;/usr/share/docbook2X/dtd/catalog.xml
++local;xslt/catalog.xml;/usr/share/docbook2X/xslt/catalog.xml
++
++package;public;-//Steve Cheng//DTD Man-XML V0.8.6//EN;/usr/share/docbook2X/dtd/catalog.xml
++package;public;-//Steve Cheng//DTD Texi-XML V0.8.6//EN;/usr/share/docbook2X/dtd/catalog.xml
++package;system;http://docbook2x.sourceforge.net/latest/dtd/;/usr/share/docbook2X/dtd/catalog.xml
++package;system;http://docbook2x.sf.net/latest/dtd/;/usr/share/docbook2X/dtd/catalog.xml
++
++package;public;-//Steve Cheng//DOCUMENT DocBook Texinfo Stylesheet//EN;/usr/share/docbook2X/xslt/catalog.xml
++package;public;-//Steve Cheng//DOCUMENT DocBook Man-page Stylesheet//EN;/usr/share/docbook2X/xslt/catalog.xml
++package;system;http://docbook2x.sourceforge.net/latest/xslt/;/usr/share/docbook2X/xslt/catalog.xml
++package;system;http://docbook2x.sf.net/latest/xslt/;/usr/share/docbook2X/xslt/catalog.xml
++
+--- docbook2x-0.8.8.orig/debian/docbook2x.examples
++++ docbook2x-0.8.8/debian/docbook2x.examples
+@@ -0,0 +1 @@
++debian/examples/*
+--- docbook2x-0.8.8.orig/debian/copyright
++++ docbook2x-0.8.8/debian/copyright
+@@ -0,0 +1,67 @@
++This package was debianized by W. Borgert <debacle@debian.org> on
++Sat, 2004-03-13 17:04:55 GMT 2004.
++
++It was downloaded from Sourceforge:
++
++ <URL:http://docbook2x.sourceforge.net/>
++
++Upstream Author:
++
++ Steve Cheng <stevecheng@users.sourceforge.net>
++
++Copyright:
++
++ Copyright (C) 2000-2006 Steve Cheng <stevecheng@users.sourceforge.net>.
++
++ Parts have been derived from the docbook-xsl stylesheet distribution, that
++ is:
++
++ Copyright (C) 1999, 2000, 2001, 2002 Norman Walsh.
++
++License and Warranty for docbook2X:
++
++ Permission is hereby granted, free of charge, to any person obtaining
++ a copy of this software and associated documentation files (the
++ "Software"), to deal in the Software without restriction, including
++ without limitation the rights to use, copy, modify, merge, publish,
++ distribute, sublicense, and/or sell copies of the Software, and to
++ permit persons to whom the Software is furnished to do so, subject to
++ the following conditions:
++
++ The above copyright notice and this permission notice shall be included
++ in all copies or substantial portions of the Software.
++
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++ IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
++ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
++ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ OTHER DEALNGS IN THE SOFTWARE.
++
++License and Warranty for derived parts:
++
++ Permission is hereby granted, free of charge, to any person
++ obtaining a copy of this software and associated documentation
++ files (the ``Software''), to deal in the Software without
++ restriction, including without limitation the rights to use,
++ copy, modify, merge, publish, distribute, sublicense, and/or
++ sell copies of the Software, and to permit persons to whom the
++ Software is furnished to do so, subject to the following
++ conditions:
++
++ The above copyright notice and this permission notice shall be
++ included in al copies or substantial portions of the Software.
++
++ Except as contained in this notice, the names of individuals
++ credited with contribution to this software shall not be used in
++ advertising or otherwise to promote the sale, use or other
++ dealings in this Software without prior written authorization
++ from the individuals in question.
++
++ Any stylesheet derived from this Software that is publicly
++ distributed will be identified with a different name and the
++ version strings in any derived Software will be changed s that
++ no possibility of confusion between the derived package and this
++ Software will exist.
++
+--- docbook2x-0.8.8.orig/debian/rules
++++ docbook2x-0.8.8/debian/rules
+@@ -0,0 +1,38 @@
++#!/usr/bin/make -f
++
++include /usr/share/cdbs/1/rules/debhelper.mk
++include /usr/share/cdbs/1/rules/dpatch.mk
++include /usr/share/cdbs/1/class/autotools.mk
++
++
++PACKAGE := docbook2x
++
++DEB_CONFIGURE_EXTRA_FLAGS := --program-transform-name="s/^docbook2/docbook2x-/" --with-html-xsl
++
++
++common-install-prehook-arch::
++ sed "s/^INFO-DIR-SECTION Document Preparation/INFO-DIR-SECTION Text/" \
++ doc/docbook2X.info > debian/docbook2X.info
++ sed "s/^INFO-DIR-SECTION Document Preparation/INFO-DIR-SECTION Text/" \
++ xslt/documentation/docbook2man-xslt.info > debian/docbook2man-xslt.info
++ sed "s/^INFO-DIR-SECTION Document Preparation/INFO-DIR-SECTION Text/" \
++ xslt/documentation/docbook2texi-xslt.info > debian/docbook2texi-xslt.info
++
++binary-install/docbook2x::
++ dh_installinfo -pdocbook2x debian/docbook2X.info \
++ debian/docbook2man-xslt.info \
++ debian/docbook2texi-xslt.info
++ dh_installchangelogs doc/changes.html
++ dh_installxmlcatalogs
++
++binary-post-install/docbook2x::
++ mv $(CURDIR)/debian/$(PACKAGE)/usr/share/doc/docbook2X \
++ $(CURDIR)/debian/$(PACKAGE)/usr/share/doc/docbook2x
++ sed -i -e 's/docbook2man/docbook2x\\-man/g' \
++ $(CURDIR)/debian/$(PACKAGE)/usr/share/man/man1/docbook2x-man.1
++ sed -i -e 's/docbook2texi/docbook2x\\-texi/g' \
++ $(CURDIR)/debian/$(PACKAGE)/usr/share/man/man1/docbook2x-texi.1
++
++clean::
++ make -C debian/examples clean
++ rm -f debian/docbook2X.info
+--- docbook2x-0.8.8.orig/debian/patches/00list
++++ docbook2x-0.8.8/debian/patches/00list
+@@ -0,0 +1,5 @@
++01_fix_static_datadir_evaluation
++02_fix_418703_dont_use_abbreviated_sfnet_address
++03_fix_420153_filename_whitespace_handling
++04_fix_442782_preprocessor_declaration_syntax
++05_fix_439214_error_on_missing_refentry
+--- docbook2x-0.8.8.orig/debian/patches/03_fix_420153_filename_whitespace_handling
++++ docbook2x-0.8.8/debian/patches/03_fix_420153_filename_whitespace_handling
+@@ -0,0 +1,43 @@
++#! /bin/sh /usr/share/dpatch/dpatch-run
++## 03_fix_420153_filename_whitespace_handling.dpatch by
++## Daniel Leidert (dale) <daniel.leidert@wgdd.de>
++##
++## All lines beginning with `## DP:' are a description of the patch.
++## DP: Peter Eisentraut reported a regression in the whitespace handling of
++## DP: refentrytitle content during filename creation:
++## DP: http://bugs.debian.org/420153. The problem is, that upstream first
++## DP: replaces all spaces (but not linebreaks btw) with underlines and then
++## DP: it tries to normalize the result. This means, that a linebreak with
++## DP: additional whitespaces results in manpage names like 'foo_ ____bar.9'.
++## DP: So what we basically do in this patch is, that we first normalize the
++## DP: refentrytitle and then replace any spaces left with underlines.
++
++@DPATCH@
++diff -urNad docbook2x-0.8.8~/xslt/man/manpage.xsl docbook2x-0.8.8/xslt/man/manpage.xsl
++--- docbook2x-0.8.8~/xslt/man/manpage.xsl 2006-04-20 15:45:55.000000000 +0200
+++++ docbook2x-0.8.8/xslt/man/manpage.xsl 2007-04-20 16:19:28.000000000 +0200
++@@ -30,7 +30,7 @@
++
++ <xsl:template name="manpage-filename">
++ <xsl:param name="filename" />
++- <xsl:value-of select="normalize-space(translate($filename, &quot; /&quot;, &quot;__&quot;))" />
+++ <xsl:value-of select="translate(normalize-space($filename), ' /', '__')" />
++ </xsl:template>
++
++
++diff -urNad docbook2x-0.8.8~/xslt/man/refentry.xsl docbook2x-0.8.8/xslt/man/refentry.xsl
++--- docbook2x-0.8.8~/xslt/man/refentry.xsl 2006-04-21 04:39:55.000000000 +0200
+++++ docbook2x-0.8.8/xslt/man/refentry.xsl 2007-04-20 16:21:53.000000000 +0200
++@@ -38,7 +38,11 @@
++ <xsl:template name="refentry-filename">
++ <xsl:param name="title" />
++
++- <xsl:variable name="title2" select="translate($title, &quot; /&quot;, &quot;__&quot;)" />
+++ <xsl:variable name="title2">
+++ <xsl:call-template name="manpage-filename">
+++ <xsl:with-param name="filename" select="$title" />
+++ </xsl:call-template>
+++ </xsl:variable>
++
++ <!-- not using gentext here since man page names tend not to have
++ accented chars / non-Latin chars ...
+--- docbook2x-0.8.8.orig/debian/patches/02_fix_418703_dont_use_abbreviated_sfnet_address.dpatch
++++ docbook2x-0.8.8/debian/patches/02_fix_418703_dont_use_abbreviated_sfnet_address.dpatch
+@@ -0,0 +1,27 @@
++#! /bin/sh /usr/share/dpatch/dpatch-run
++## 02_fix_418703_dont_use_abbreviated_sfnet_address.dpatch by Daniel Leidert (dale) <daniel.leidert@wgdd.de>
++##
++## All lines beginning with `## DP:' are a description of the patch.
++## DP: Ondrej Certik reported a resolver issue: http://bugs.debian.org/418703.
++## DP: The error seems to be caused by using the abbreviated sf.net URLs. But
++## DP: it is possible, that this issue only occurs together with the issue
++## DP: described in 01_fix_static_datadir_evaluation.dpatch, because the path
++## DP: to the catalog also suffers from this issue.
++
++@DPATCH@
++diff -urNad docbook2x-0.8.8~/perl/db2x_xsltproc.pl docbook2x-0.8.8/perl/db2x_xsltproc.pl
++--- docbook2x-0.8.8~/perl/db2x_xsltproc.pl 2004-08-18 16:21:52.000000000 +0200
+++++ docbook2x-0.8.8/perl/db2x_xsltproc.pl 2007-04-12 16:07:20.000000000 +0200
++@@ -110,10 +110,10 @@
++
++ if($options->{'stylesheet'} eq 'texi') {
++ $options->{'stylesheet'} =
++- "http://docbook2x.sf.net/latest/xslt/texi/docbook.xsl";
+++ "http://docbook2x.sourceforge.net/latest/xslt/texi/docbook.xsl";
++ } elsif($options->{'stylesheet'} eq 'man') {
++ $options->{'stylesheet'} =
++- "http://docbook2x.sf.net/latest/xslt/man/docbook.xsl";
+++ "http://docbook2x.sourceforge.net/latest/xslt/man/docbook.xsl";
++ }
++
++ if(scalar(@argv) != 1) {
+--- docbook2x-0.8.8.orig/debian/patches/04_fix_442782_preprocessor_declaration_syntax.dpatch
++++ docbook2x-0.8.8/debian/patches/04_fix_442782_preprocessor_declaration_syntax.dpatch
+@@ -0,0 +1,90 @@
++#! /bin/sh /usr/share/dpatch/dpatch-run
++## 04_fix_442782_preprocessor_declaration_syntax.dpatch by Colin Watson <cjwatson@debian.org>.
++##
++## All lines beginning with `## DP:' are a description of the patch.
++## DP: Conventionally, preprocessor declarations should start with
++## DP: '\"
++## DP: rather than
++## DP: .\"
++## DP: Current man-db only supports the first (and recommended) syntax. So
++## DP: Colin Watson provided this patch to fix docbook2x.
++## DP:
++## DP: <URL:http://bugs.debian.org/442782>
++## DP: <URL:http://lists.gnu.org/archive/html/groff/2007-11/msg00023.html>
++
++@DPATCH@
++diff -urNad trunk~/perl/db2x_manxml.pl trunk/perl/db2x_manxml.pl
++--- trunk~/perl/db2x_manxml.pl 2006-04-22 17:21:32.000000000 +0200
+++++ trunk/perl/db2x_manxml.pl 2007-11-24 01:27:37.000000000 +0100
++@@ -342,6 +342,25 @@
++ $self->{line_start} = 1;
++ }
++
+++#
+++# Print a comment in the output, without causing a break.
+++# Params: comment - the comment text.
+++# May use any characters; they need not be escaped.
+++#
+++sub comment_nobreak
+++{
+++ my ($self, $comment) = @_;
+++ $self->write("\n") unless $self->{line_start};
+++
+++ foreach my $line (split(/\n/, $comment)) {
+++ $self->write('\'\" ');
+++ $self->write($line);
+++ $self->write("\n");
+++ }
+++
+++ $self->{line_start} = 1;
+++}
+++
++
++ #
++ # Use a roff "escape" i.e. commands embedded in text starting with \
++@@ -510,16 +529,20 @@
++
++ $self->{'adjust-stack'} = [ 'b' ];
++
++- $self->{rw}->comment($elem->attr('preprocessors'))
++- if($elem->attr('preprocessors') ne '');
++-
+++ my $preprocessors = $elem->attr('preprocessors');
++ # I've dug through the Internet to see if there was any
++ # standard way to specify encoding with man pages.
++ # The following seems to be a reasonable proposal:
++ # <URL:http://mail.nl.linux.org/linux-utf8/2001-04/msg00168.html>
++ my $encoding = $self->{options}->{'encoding'};
++ $encoding =~ s#//TRANSLIT$##i;
++- $self->{rw}->comment("-*- coding: $encoding -*-");
+++ $encoding = "-*- coding: $encoding -*-";
+++ if ($preprocessors eq '') {
+++ $preprocessors = $encoding;
+++ } else {
+++ $preprocessors = "$preprocessors $encoding";
+++ }
+++ $self->{rw}->comment_nobreak($preprocessors);
++
++ # Define escapes for switching to and from monospace fonts (groff only)
++ $self->{rw}->request(qw{ .if \n(.g .ds T< \\\\FC});
++diff -urNad trunk~/xslt/backend/db2x_manxml.xsl trunk/xslt/backend/db2x_manxml.xsl
++--- trunk~/xslt/backend/db2x_manxml.xsl 2006-04-23 16:44:52.000000000 +0200
+++++ trunk/xslt/backend/db2x_manxml.xsl 2007-11-24 01:27:37.000000000 +0100
++@@ -528,7 +528,7 @@
++ <exslt:document method="text"
++ encoding="{$encoding}"
++ href="{$path}">
++- <xsl:text>.\" -*- coding: </xsl:text>
+++ <xsl:text>'\" -*- coding: </xsl:text>
++ <xsl:value-of select="$encoding" />
++ <xsl:text> -*-&#10;</xsl:text>
++ <xsl:copy-of select="$content" />
++@@ -538,7 +538,7 @@
++ <saxon:output method="text"
++ encoding="{$encoding}"
++ href="{$path}">
++- <xsl:text>.\" -*- coding: </xsl:text>
+++ <xsl:text>'\" -*- coding: </xsl:text>
++ <xsl:value-of select="$encoding" />
++ <xsl:text> -*-&#10;</xsl:text>
++ <xsl:copy-of select="$content" />
+--- docbook2x-0.8.8.orig/debian/patches/01_fix_static_datadir_evaluation.dpatch
++++ docbook2x-0.8.8/debian/patches/01_fix_static_datadir_evaluation.dpatch
+@@ -0,0 +1,20 @@
++#! /bin/sh /usr/share/dpatch/dpatch-run
++## 01_fix_static_datadir_evaluation.dpatch by Daniel Leidert (dale) <daniel.leidert@wgdd.de>
++##
++## All lines beginning with `## DP:' are a description of the patch.
++## DP: The evaluation of datadir results in "${prefix}/share" without
++## DP: evaluation of the ${prefix} variable with autoconf 2.60.
++
++@DPATCH@
++diff -urNad docbook2x-0.8.8~/configure docbook2x-0.8.8/configure
++--- docbook2x-0.8.8~/configure 2007-04-12 15:16:48.000000000 +0200
+++++ docbook2x-0.8.8/configure 2007-04-12 16:04:16.000000000 +0200
++@@ -5265,7 +5265,7 @@
++ test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
++
++
++-eval static_datadir="$datadir"
+++eval eval static_datadir="$datadir"
++
++ eval static_bindir="$bindir"
++ old_val=""
+--- docbook2x-0.8.8.orig/debian/patches/05_fix_439214_error_on_missing_refentry.dpatch
++++ docbook2x-0.8.8/debian/patches/05_fix_439214_error_on_missing_refentry.dpatch
+@@ -0,0 +1,33 @@
++#! /bin/sh /usr/share/dpatch/dpatch-run
++## 05_fix_439214_error_on_missing_refentry.dpatch by Daniel Leidert <daniel.leidert@wgdd.de>
++##
++## All lines beginning with `## DP:' are a description of the patch.
++## DP: If there is no refentry element, the manpage stylesheets silently
++## DP: "ignores" this. It has been requested to print at least a
++## DP: warning.
++## DP:
++## DP: <URL:http://bugs.debian.org/439214>
++## DP: <URL:http://lists.gnu.org/archive/html/groff/2007-11/msg00023.html>
++
++@DPATCH@
++diff -urNad trunk~/xslt/man/docbook.xsl trunk/xslt/man/docbook.xsl
++--- trunk~/xslt/man/docbook.xsl 2006-04-11 21:00:19.000000000 +0200
+++++ trunk/xslt/man/docbook.xsl 2008-02-05 03:31:48.000000000 +0100
++@@ -111,11 +111,15 @@
++ <xsl:when test="child::refentry">
++ <xsl:apply-templates />
++ </xsl:when>
++-
++- <xsl:otherwise>
+++ <xsl:when test="descendant-or-self::refentry">
++ <manpageset>
++ <xsl:apply-templates select="descendant-or-self::refentry" />
++ </manpageset>
+++ </xsl:when>
+++ <xsl:otherwise>
+++ <xsl:message terminate="no">
+++ <xsl:text>WARNING: Sorry, but I cannot find a refentry element in your source!</xsl:text>
+++ </xsl:message>
++ </xsl:otherwise>
++ </xsl:choose>
++ </xsl:template>
+--- docbook2x-0.8.8.orig/debian/examples/ttcn-el.dbk
++++ docbook2x-0.8.8/debian/examples/ttcn-el.dbk
+@@ -0,0 +1,178 @@
++<?xml version="1.0" encoding="utf-8"?>
++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
++"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
++ <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
++ <!ENTITY emacs "<abbrev>GNU Emacs</abbrev>">
++ <!ENTITY ttcn3 "<acronym>TTCN-3</acronym>">
++ <!ENTITY ttcnmp "<acronym>TTCN.MP</acronym>">
++]>
++
++<!-- Manual page for ttcn-el, DocBook source file (C) 2000 W. Borgert
++ debacle@debian.org
++
++ $Id: ttcn-el.dbk,v 1.1 2007/02/24 06:33:26 dleidert-guest Exp $ -->
++
++<refentry>
++ <refentryinfo>
++ <title>&emacs; modes for protocol testing languages</title>
++ <titleabbrev>TTCN-3 mode</titleabbrev>
++ <address>
++ <email>debacle@debian.org</email>
++ </address>
++ <author>
++ <firstname>W.</firstname>
++ <surname>Borgert</surname>
++ </author>
++ <copyright>
++ <year>2000</year>
++ <holder>W. Borgert</holder>
++ </copyright>
++ <date>2000-07-28</date>
++ </refentryinfo>
++ <refmeta>
++ <refentrytitle>ttcn-el</refentrytitle>
++
++ <manvolnum>7</manvolnum>
++ <refmiscinfo role="infodirsection">Development</refmiscinfo>
++ </refmeta>
++ <refnamediv>
++ <refname>ttcn-el</refname>
++
++ <refpurpose>&emacs; modes for protocol testing languages.</refpurpose>
++ </refnamediv>
++ <refsynopsisdiv>
++ <cmdsynopsis>
++ <command>ttcn-3-mode</command>
++ </cmdsynopsis>
++ <cmdsynopsis>
++ <command>ttcn-mode</command>
++ </cmdsynopsis>
++ <cmdsynopsis>
++ <command>tm-functions</command>
++ </cmdsynopsis>
++ </refsynopsisdiv>
++ <refsect1>
++ <title>Description</title>
++
++ <para>The programming modes <command>ttcn-3-mode</command>,
++ <command>ttcn-mode</command>, and
++ <command>tm-functions</command> for &emacs; are for programming
++ in the &ttcn3;, core language (Testing and Test Control Notation
++ - 3), &ttcnmp; format (Tree and Tabulart Combined Notation), or
++ the Test Manager scripts, an enhancement to the Forth
++ programming language, used in the Tektronix
++ <productname>K1297</productname> protocol tester.</para>
++
++ <para>The &ttcn3; programming mode
++ (<command>ttcn-3-mode</command>, file
++ <filename>ttcn3.el</filename>) does indentation, code
++ colourisation (so-called font-locking) and gives you an index of
++ test cases and other important definitions via the
++ <guimenu>Module-Index</guimenu>. With the command
++ <command>ttcn3-parse</command> you can run an external
++ TTCN3Parser or ttthreeparser, if available. The keywords are
++ according to the TTCN-3 BNF of 2001-10. To switch off the logo
++ splash screen, set the variable
++ <varname>ttcn3-show-logo</varname> to <constant>nil</constant>
++ in your <filename>~/.emacs</filename> file. The logo is by
++ Patrick Andrieu, the ASCII art version by W. Borgert. This mode
++ is based on <productname>CC Mode</productname>, please look in
++ the <productname>CC Mode</productname> documentation for further
++ information.</para>
++
++ <para>The &ttcnmp; programming mode (<command>ttcn-mode</command>,
++ file <filename>ttcn.el</filename>) is not for writing test
++ suites from scratch, but for fixing small errors or doing little
++ changes or just looking at the MP format. No indentation is
++ done, but some code colourisation, an index, and a menu with
++ some navigation functions are given. Note: For large test
++ suites startup might become very slow.</para>
++
++ <para>If one want that &emacs; treats files with the
++ <filename>.mp</filename> extension automatically as
++ &ttcnmp; files instead of MetaPost files, add the following
++ lines to your <filename>~/.emacs</filename> file:
++ <programlisting>(setq auto-mode-alist
++ (cons '("\\.mp\\'" . ttcn-mode) auto-mode-alist))</programlisting>
++ </para>
++
++ <para>The Test Manager programming functions
++ (<command>tm-functions</command>, file <filename>tm.el</filename>)is
++ an addition to the Forth programming mode
++ (<command>forth-mode</command>, file
++ <filename>forth.el</filename>). It includes only minor
++ additions to the regular Forth mode, i.e. font-locking, index
++ menu, and support of the Test Manager specific words.</para>
++
++ <para>To enable the <command>tm-functions</command> by default,
++ add the following line to your
++ <filename>~/.emacs</filename>:
++ <programlisting>(add-hook 'forth-mode-hook 'tm-functions)
++ </programlisting></para>
++
++ </refsect1>
++ <refsect1>
++ <title>Files</title>
++
++ <para>All lisp source files are in
++ <filename>/usr/share/emacs/site-lisp/ttcn-el/</filename>.</para>
++ </refsect1>
++ <refsect1>
++ <title>Author</title>
++
++ <para>These programmes are made by <author><firstname>W.</firstname>
++ <surname>Borgert</surname></author>
++ &lt;<email>debacle@debian.org</email>&gt;, as well as this
++ documentation.</para>
++
++ </refsect1>
++ <refsect1>
++ <title>Thanks</title>
++
++ <para>All important ideas and some code are taken from other
++ &emacs; modes, and adapted to work with TTCN-3, &ttcnmp; and
++ Test Manager files. Thanks to Csaba Koppany and Theofanis
++ Vassiliou-Gioles for valuable hints on current TTCN-3 keywords
++ and regular expressions.</para>
++
++ </refsect1>
++ <refsect1>
++ <title>Copyright</title>
++
++ <para>Copyright 2000 W. Borgert and released under the
++ <acronym>GNU</acronym> General Public License
++ (<abbrev>GPL</abbrev>). Permission is granted to copy,
++ distribute and/or modify this document under the terms of the
++ <acronym>GNU</acronym> Free Documentation License, Version 1.1;
++ with no Invariant Sections, no Front-Cover Texts and no
++ Back-Cover Texts.</para>
++ </refsect1>
++ <refsect1>
++ <title>Bugs</title>
++
++ <para>The indentation is not correct in many cases.</para>
++ </refsect1>
++ <refsect1>
++ <title>History</title>
++
++ <para>Version 0.6 released on 2001-10-10. Updated
++ keywords.</para>
++
++ <para>Version 0.5 released on 2001-05-05. Updated
++ keywords.</para>
++
++ <para>Version 0.4 released on 2001-02-02. Calls external
++ parser.</para>
++
++ <para>Version 0.3 released on 2001-01-31.
++ <filename>ttcn3.el</filename> should now work with GNU Emacs
++ 21.0 and XEmacs 21.1, too.</para>
++
++ <para>Version 0.2 released on 2000-07-28. Includes updates for
++ &ttcn3; keywords in <filename>ttcn3.el</filename> and makes
++ <filename>tm.el</filename> a function library instead of a major
++ mode.</para>
++
++ <para>Version 0.1 released on 2000-03-31. Initial release.</para>
++ </refsect1>
++</refentry>
+--- docbook2x-0.8.8.orig/debian/examples/Makefile
++++ docbook2x-0.8.8/debian/examples/Makefile
+@@ -0,0 +1,29 @@
++# -*- makefile -*-
++
++# Notes:
++# 1. you must have package libxml2-python2.3 installed
++# 2. your document must have a titleabbrev in the refentryinfo
++# 3. your document must have a refmiscinfo with role=infodirsection
++
++XTR=python -c 'import sys, libxml2; \
++print libxml2.parseFile(sys.argv[1]).xpathEval(sys.argv[2])[0].content'
++
++all: $(patsubst %.dbk,%.info,$(wildcard *.dbk))
++
++%.info: %.dbk
++ docbook2x-texi --info --to-stdout $< | \
++ awk -v base=`basename $< .dbk` \
++ -v sect="`${XTR} $< '//refmiscinfo[@role="infodirsection"]'`" \
++ -v title="`${XTR} $< '/refentry/refentryinfo/titleabbrev'`" \
++ 'BEGIN { p=1 } \
++ /^START-INFO-DIR-ENTRY/ { print \
++ "INFO-DIR-SECTION " sect "\n" $$0; p=0 } \
++ /^END-INFO-DIR-ENTRY/ { p=1 } \
++ /^\* / { if (p==0) { gsub(/.*\./, ""); \
++ print "* " title ": (" base ")." $$0 } } \
++ /^File: stdout,/ { if (p==1) { \
++ gsub(/File: stdout/, "File: " base ".info"); p=2 } } \
++ { if (p) { print } }' > $@
++
++clean::
++ rm -f *.info *~
diff --git a/source/ap/linuxdoc-tools/sources/source.download b/source/ap/linuxdoc-tools/sources/source.download
index c9608b2b2..e82436972 100755
--- a/source/ap/linuxdoc-tools/sources/source.download
+++ b/source/ap/linuxdoc-tools/sources/source.download
@@ -7,13 +7,13 @@
# linuxdoc-tools:
# This provides things such as sgml2txt.
-wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/l/linuxdoc-tools-0.9.67-1.fc18.src.rpm
+wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/l/linuxdoc-tools-0.9.68-3.fc19.src.rpm
# OpenSP:
# http://openjade.sourceforge.net/download.html
# wget -c http://kent.dl.sourceforge.net/sourceforge/openjade/OpenSP-1.5.2.tar.gz
#
-wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/o/opensp-1.5.2-14.fc17.src.rpm
+wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/o/opensp-1.5.2-16.fc19.src.rpm
# OpenJade:
# http://openjade.sourceforge.net/
@@ -27,7 +27,7 @@ wget -c http://downloads.sourceforge.net/openjade/openjade-1.3.3-pre1.tar.gz
# sgmltools-common.
# It's broken and needs patching so we'll use Fedora's.
#wget -c ftp://sources.redhat.com/pub/docbook-tools/new-trials/SOURCES/sgml-common-0.6.3.tgz
-wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/s/sgml-common-0.6.3-36.fc17.src.rpm
+wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/s/sgml-common-0.6.3-39.fc19.src.rpm
# DocBook docs:
@@ -45,12 +45,12 @@ wget -c ftp://ftp.linux.ee/pub/gentoo/distfiles/distfiles/docbook-dsssl-1.79.tar
wget -c http://switch.dl.sourceforge.net/sourceforge/docbook/docbook-dsssl-doc-1.79.tar.bz2
# Why don't they put the patches into the distributed source...???
#wget -c ftp://sources.redhat.com/pub/docbook-tools/new-trials/SOURCES/docbook-utils-0.6.14.tar.gz
-wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/d/docbook-utils-0.6.14-30.fc17.src.rpm
+wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/d/docbook-utils-0.6.14-35.fc19.src.rpm
#
#
wget -c http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip
# https://sourceforge.net/project/showfiles.php?group_id=21935&package_id=16608
-wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/d/docbook-style-xsl-1.76.1-5.fc17.src.rpm
+wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/d/docbook-style-xsl-1.78.1-1.fc20.src.rpm
#
# We use the Fedora "docbook-style-xsl" SRPM for this rather than the original source which is why
# these "docbook-xsl*" files aren't in our sources directory.
@@ -63,17 +63,18 @@ wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/
# I guess this mirror is out of date now. It's easier to just look at Fedora's development
# directory anyway :-)
# wget -c http://ftp.acc.umu.se/pub/GNOME/sources/gnome-doc-utils/0.20/gnome-doc-utils-0.20.0.tar.bz2
-wget ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/g/gnome-doc-utils-0.20.10-2.fc18.src.rpm
+wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/g/gnome-doc-utils-0.20.10-4.fc19.src.rpm
# gtk-doc:
# When upgrading this, it's worth checking the Fedora SRPM. For version 1.13
# we're carrying a fix for gtk-doc-fixref. Make sure newer versions don't need
# any patches!
-wget -c http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/1.18/gtk-doc-1.18.tar.bz2
+wget -c http://ftp.acc.umu.se/pub/GNOME/sources/gtk-doc/1.19/gtk-doc-1.19.tar.xz
# http://git.gnome.org/browse/gtk-doc/commit/?id=2bffebcf9c125f5610b8fb660d42c3c5b9dfd4f0
# sgmlspl
# http://www.cs.indiana.edu/~asengupt/sgml/SGMLSpm/DOC/HTML/sgmlspl/sgmlspl.html
+# http://packages.debian.org/search?keywords=sgmlspl&searchon=names&suite=all&section=all
# There's nothing in the FTP download site at this time, so I'll take it from Debian.
wget -c http://ftp.debian.org/debian/pool/main/libs/libsgmls-perl/libsgmls-perl_1.03ii.orig.tar.gz
wget -c http://ftp.de.debian.org/debian/pool/main/libs/libsgmls-perl/libsgmls-perl_1.03ii-32.diff.gz
@@ -82,8 +83,21 @@ wget -c http://ftp.de.debian.org/debian/pool/main/libs/libsgmls-perl/libsgmls-pe
# https://fedorahosted.org/releases/x/m/xmlto
# wget -c --no-check-certificate https://fedorahosted.org/releases/x/m/xmlto/xmlto-0.0.23.tar.bz2
# Fedora includes a patch, so we'll take it:
-wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/x/xmlto-0.0.25-2.fc17.src.rpm
+wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/x/xmlto-0.0.25-6.fc20.src.rpm
# AsciiDoc
# http://www.methods.co.nz/asciidoc/
-wget -c "http://sourceforge.net/projects/asciidoc/files/asciidoc/8.6.7/asciidoc-8.6.7.tar.gz/download"
+wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/a/asciidoc-8.6.8-1.fc19.src.rpm
+
+# docbook2X:
+#
+# Pre-requisite PERL modules for docbook2X:
+wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/p/perl-XML-NamespaceSupport-1.11-10.fc19.src.rpm
+wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/p/perl-XML-SAX-Base-1.08-7.fc19.src.rpm
+wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/p/perl-XML-SAX-0.99-9.fc19.src.rpm
+#
+#http://packages.debian.org/sid/docbook2x
+# Fedora keep it here, but Debian have a couple of (what look to be useful) patches.
+#wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/d/docbook2X-0.8.8-14.fc19.src.rpm
+wget -c http://ftp.de.debian.org/debian/pool/main/d/docbook2x/docbook2x_0.8.8.orig.tar.gz
+wget -c http://ftp.de.debian.org/debian/pool/main/d/docbook2x/docbook2x_0.8.8-8.diff.gz
diff --git a/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools b/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools
index 3ed08998d..4e3b2b3cf 100755
--- a/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools
+++ b/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools
@@ -25,14 +25,15 @@ PKGNAM=linuxdoc-tools
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) export ARCH=i486 ;;
+ armv7hl) export ARCH=armv7hl ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
esac
fi
-export PKGVERSION=0.9.67 # use the version of linuxdoc-tools as the package version.
-BUILD=${BUILD:-2}
+export PKGVERSION=0.9.68 # use the version of linuxdoc-tools as the package version.
+BUILD=${BUILD:-4}
PKGEXT=${PKGEXT:-txz}
export CWD=$PWD
diff --git a/source/ap/lm_sensors/lm_sensors.SlackBuild b/source/ap/lm_sensors/lm_sensors.SlackBuild
index cb1b26ccc..b3a41b69a 100755
--- a/source/ap/lm_sensors/lm_sensors.SlackBuild
+++ b/source/ap/lm_sensors/lm_sensors.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=lm_sensors
-VERSION=${VERSION:-3.3.2}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
diff --git a/source/ap/lsscsi/lsscsi.SlackBuild b/source/ap/lsscsi/lsscsi.SlackBuild
index 3c034b824..605f4defc 100755
--- a/source/ap/lsscsi/lsscsi.SlackBuild
+++ b/source/ap/lsscsi/lsscsi.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/source/ap/lxc/lxc.SlackBuild b/source/ap/lxc/lxc.SlackBuild
index 7b82f89ee..2ae036b6a 100755
--- a/source/ap/lxc/lxc.SlackBuild
+++ b/source/ap/lxc/lxc.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=lxc
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | rev | cut -f 2- -d -)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -105,6 +105,10 @@ cp -a \
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION/examples
cp -a doc/examples/*.conf $PKG/usr/doc/${PKGNAM}-$VERSION/examples
+# Fix up man pages to stop 'man' from barfing a warning:
+( cd $PKG/usr/man
+ fgrep -lr -- '-*- coding: us-ascii -*-' . | xargs sed -i '/-*- coding: us-ascii -*-/d' )
+
# Compress and if needed symlink the man pages:
if [ -d $PKG/usr/man ]; then
( cd $PKG/usr/man
diff --git a/source/ap/madplay/madplay.SlackBuild b/source/ap/madplay/madplay.SlackBuild
index 34d32340b..545e9cbe3 100755
--- a/source/ap/madplay/madplay.SlackBuild
+++ b/source/ap/madplay/madplay.SlackBuild
@@ -22,7 +22,7 @@
VERSION=0.15.2b
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/ap/man-pages/man-pages-3.53.tar.sign b/source/ap/man-pages/man-pages-3.53.tar.sign
new file mode 100644
index 000000000..d7c42c0af
--- /dev/null
+++ b/source/ap/man-pages/man-pages-3.53.tar.sign
Binary files differ
diff --git a/source/ap/man-pages/man-pages.SlackBuild b/source/ap/man-pages/man-pages.SlackBuild
index 85cfc0d27..ff779f110 100755
--- a/source/ap/man-pages/man-pages.SlackBuild
+++ b/source/ap/man-pages/man-pages.SlackBuild
@@ -20,7 +20,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-$(echo man-pages-3.*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo man-pages-3.*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
ARCH=noarch
BUILD=${BUILD:-1}
@@ -34,7 +34,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf man-pages-$VERSION
tar xf $CWD/man-pages-$VERSION.tar.xz
-tar xf $CWD/man-pages-posix-2003-a.tar.bz2
+tar xf $CWD/man-pages-posix-2003-a.tar.xz
chown -R root:root man-pages-$VERSION man-pages-posix-2003-a
chmod -R a-s,u+rw,go+r-w man-pages-$VERSION man-pages-posix-2003-a
find man-pages-$VERSION \
diff --git a/source/ap/mariadb/doinst.sh b/source/ap/mariadb/doinst.sh
new file mode 100644
index 000000000..0defd2fe1
--- /dev/null
+++ b/source/ap/mariadb/doinst.sh
@@ -0,0 +1,28 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+# Keep same perms on rc.mysqld.new:
+if [ -e etc/rc.d/rc.mysqld ]; then
+ cp -a etc/rc.d/rc.mysqld etc/rc.d/rc.mysqld.new.incoming
+ cat etc/rc.d/rc.mysqld.new > etc/rc.d/rc.mysqld.new.incoming
+ mv etc/rc.d/rc.mysqld.new.incoming etc/rc.d/rc.mysqld.new
+fi
+
+config etc/rc.d/rc.mysqld.new
+config etc/mysqlaccess.conf.new
+config etc/my.cnf.new
+config etc/my.cnf.d/client.cnf.new
+config etc/my.cnf.d/mysql-clients.cnf.new
+config etc/my.cnf.d/server.cnf.new
+config etc/logrotate.d/mysql.new
+
diff --git a/source/ap/mariadb/mariadb.SlackBuild b/source/ap/mariadb/mariadb.SlackBuild
new file mode 100755
index 000000000..7ba019593
--- /dev/null
+++ b/source/ap/mariadb/mariadb.SlackBuild
@@ -0,0 +1,189 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2011, 2012, 2013 Heinz Wiesinger, Amsterdam, The Netherlands
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Build and install MySQL on Slackware
+# by: David Cantrell <david@slackware.com>
+# MariaDB conversion by: Heinz Wiesinger <pprkut@liwjatan.at>
+# Also maintained by: Patrick Volkerding <volkerdi@slackware.com>
+
+PKGNAM=mariadb
+VERSION=${VERSION:-$(echo ${PKGNAM}-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# To reduce the package size, the embedded server my be omitted. Currently
+# only amarok uses this. To build without embedded support, set this to NO.
+EMBEDDED=${EMBEDDED:-YES}
+
+# Add a description tag to the $BUILD. This is used by
+# "build_embedded_package.sh" to mark packages containing the embedded server,
+# but can optionally be used with any kind of custom tag desired.
+TAG=${TAG:-}
+
+# Don't keep the large static libraries by default:
+KEEPSTATIC=${KEEPSTATIC:-NO}
+
+# Don't keep the test suite by default:
+KEEPTESTS=${KEEPTESTS:-NO}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-${PKGNAM}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf ${PKGNAM}-$VERSION
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.xz || exit 1
+cd ${PKGNAM}-$VERSION
+
+if ls $CWD/*.diff.gz 1> /dev/null 2> /dev/null ; then
+ for patch in $CWD/*.diff.gz ; do
+ zcat $patch | patch -p1 --verbose || exit 1
+ done
+fi
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+mkdir build
+cd build
+cmake \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS="$SLKCFLAGS -felide-constructors -fno-exceptions -fno-rtti" \
+ -DBUILD_CONFIG=mysql_release \
+ -DFEATURE_SET="community" \
+ -DINSTALL_LAYOUT="RPM" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DINSTALL_LIBDIR="lib${LIBDIRSUFFIX}" \
+ -DINSTALL_SBINDIR=libexec \
+ -DINSTALL_INCLUDEDIR=include/mysql \
+ -DINSTALL_MYSQLSHAREDIR=share/mysql \
+ -DINSTALL_SQLBENCHDIR= \
+ -DINSTALL_MYSQLTESTDIR=mysql-test \
+ -DINSTALL_MANDIR=man \
+ -DINSTALL_PLUGINDIR="lib${LIBDIRSUFFIX}/mysql/plugin" \
+ -DINSTALL_SCRIPTDIR=bin \
+ -DINSTALL_SUPPORTFILESDIR=share/mysql \
+ -DINSTALL_MYSQLDATADIR="/var/lib/mysql" \
+ -DINSTALL_DOCREADMEDIR="doc/${PKGNAM}-$VERSION" \
+ -DINSTALL_DOCDIR="doc/${PKGNAM}-$VERSION" \
+ -DMYSQL_DATADIR="/var/lib/mysql" \
+ -DMYSQL_UNIX_ADDR="/var/run/mysql/mysql.sock" \
+ -DWITH_EXTRA_CHARSETS=complex \
+ -DWITH_INNOBASE_STORAGE_ENGINE=1 \
+ -DENABLED_LOCAL_INFILE=ON \
+ -DWITH_EMBEDDED_SERVER=${EMBEDDED} \
+ -DWITH_READLINE=ON \
+ -DWITH_SSL=system \
+ -DWITH_ZLIB=system \
+ -DUSE_ARIA_FOR_TMP_TABLES=ON \
+ -DMANUFACTURER="Slackware" \
+ ..
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG
+
+# Leave build directory:
+cd ..
+
+if [ "$KEEPSTATIC" = "NO" ]; then
+ # Remove large static libraries:
+ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient.a
+ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient_r.a
+ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqld.a
+fi
+
+if [ "$KEEPTESTS" = "NO" ]; then
+ # Do not include the test suite:
+ rm -rf $PKG/usr/mysql-test
+fi
+
+# The ./configure option to omit this has gone away, so we'll omit it
+# the old-fashioned way. It's all in the source tarball if you need it.
+rm -rf $PKG/usr/sql-bench
+
+# This is the directory where databases are stored
+mkdir -p $PKG/var/lib/mysql
+chown mysql.mysql $PKG/var/lib/mysql
+chmod 0750 $PKG/var/lib/mysql
+
+# This is where the socket is stored
+mkdir -p $PKG/var/run/mysql
+chown mysql.mysql $PKG/var/run/mysql
+chmod 0755 $PKG/var/run/mysql
+
+# Add init script:
+mkdir -p $PKG/etc/rc.d
+# This is installed chmod 644 so that the server does not run by default.
+zcat $CWD/rc.mysqld.gz > $PKG/etc/rc.d/rc.mysqld.new
+rm -rf $PKG/etc/init.d
+
+# Install mysqlaccess.conf
+install -m 644 scripts/mysqlaccess.conf $PKG/etc/mysqlaccess.conf.new
+
+# Mark config files under /etc as .new
+mv $PKG/etc/my.cnf $PKG/etc/my.cnf.new
+mv $PKG/etc/logrotate.d/mysql $PKG/etc/logrotate.d/mysql.new
+for i in client mysql-clients server; do
+ mv $PKG/etc/my.cnf.d/$i.cnf $PKG/etc/my.cnf.d/$i.cnf.new
+done
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-${BUILD}${TAG}.txz
+
diff --git a/source/ap/mariadb/mirror.url b/source/ap/mariadb/mirror.url
new file mode 100644
index 000000000..675f23368
--- /dev/null
+++ b/source/ap/mariadb/mirror.url
@@ -0,0 +1 @@
+ftp://ftp.osuosl.org:/pub/mariadb/mariadb-5.5.32/kvm-tarbake-jaunty-x86/mariadb-5.5.32.tar.gz
diff --git a/source/ap/mariadb/rc.mysqld b/source/ap/mariadb/rc.mysqld
new file mode 100644
index 000000000..7c42d03cc
--- /dev/null
+++ b/source/ap/mariadb/rc.mysqld
@@ -0,0 +1,89 @@
+#!/bin/sh
+# Start/stop/restart mysqld.
+#
+# Copyright 2003 Patrick J. Volkerding, Concord, CA
+# Copyright 2003 Slackware Linux, Inc., Concord, CA
+# Copyright 2008, 2013 Patrick J. Volkerding, Sebeka, MN, USA
+#
+# This program comes with NO WARRANTY, to the extent permitted by law.
+# You may redistribute copies of this program under the terms of the
+# GNU General Public License.
+
+# To start MariaDB automatically at boot, be sure this script is executable:
+# chmod 755 /etc/rc.d/rc.mysqld
+
+# Before you can run MariaDB, you must have a database. To install an initial
+# database, do this as root:
+#
+# mysql_install_db --user=mysql
+#
+# Note that the mysql user must exist in /etc/passwd, and the created files
+# will be owned by this dedicated user. This is important, or else mysql
+# (which runs as user "mysql") will not be able to write to the database
+# later (this can be fixed with 'chown -R mysql.mysql /var/lib/mysql').
+#
+# To increase system security, consider using "mysql_secure_installation"
+# as well. For more information on this tool, please read:
+# man mysql_secure_installation
+
+# To allow outside connections to the database comment out the next line.
+# If you don't need incoming network connections, then leave the line
+# uncommented to improve system security.
+SKIP="--skip-networking"
+
+# Uncomment the next line to use Oracle's InnoDB plugin instead of the included XtraDB
+#INNODB="--ignore-builtin-innodb --plugin-load=innodb=ha_innodb.so"
+
+# Start mysqld:
+mysqld_start() {
+ if [ -x /usr/bin/mysqld_safe ]; then
+ # If there is an old PID file (no mysqld running), clean it up:
+ if [ -r /var/run/mysql/mysql.pid ]; then
+ if ! ps axc | grep mysqld 1> /dev/null 2> /dev/null ; then
+ echo "Cleaning up old /var/run/mysql/mysql.pid."
+ rm -f /var/run/mysql/mysql.pid
+ fi
+ fi
+ /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/run/mysql/mysql.pid $SKIP $INNODB &
+ fi
+}
+
+# Stop mysqld:
+mysqld_stop() {
+ # If there is no PID file, ignore this request...
+ if [ -r /var/run/mysql/mysql.pid ]; then
+ killall mysqld
+ # Wait at least one minute for it to exit, as we don't know how big the DB is...
+ for second in 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 \
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 60 ; do
+ if [ ! -r /var/run/mysql/mysql.pid ]; then
+ break;
+ fi
+ sleep 1
+ done
+ if [ "$second" = "60" ]; then
+ echo "WARNING: Gave up waiting for mysqld to exit!"
+ sleep 15
+ fi
+ fi
+}
+
+# Restart mysqld:
+mysqld_restart() {
+ mysqld_stop
+ mysqld_start
+}
+
+case "$1" in
+'start')
+ mysqld_start
+ ;;
+'stop')
+ mysqld_stop
+ ;;
+'restart')
+ mysqld_restart
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+esac
diff --git a/source/ap/mariadb/slack-desc b/source/ap/mariadb/slack-desc
new file mode 100644
index 000000000..867765fa4
--- /dev/null
+++ b/source/ap/mariadb/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+mariadb: mariadb (Drop-in replacement for the MySQL Database Server)
+mariadb:
+mariadb: MariaDB is a backward compatible, drop-in replacement branch of the
+mariadb: MySQL(R) Database Server. It includes all major open source storage
+mariadb: engines, including the Aria storage engine.
+mariadb:
+mariadb: Homepage: http://mariadb.org/
+mariadb:
+mariadb:
+mariadb:
+mariadb:
diff --git a/source/ap/mc/changeset_446748619b5cb77ea63360a81bb16cd2dd2caff7.diff b/source/ap/mc/changeset_446748619b5cb77ea63360a81bb16cd2dd2caff7.diff
new file mode 100644
index 000000000..080d6276f
--- /dev/null
+++ b/source/ap/mc/changeset_446748619b5cb77ea63360a81bb16cd2dd2caff7.diff
@@ -0,0 +1,87 @@
+Index: doc/man/mc.1.in
+===================================================================
+--- doc/man/mc.1.in (revision 6da546bcf3a09b7710bc3b69d38e736e3273c34b)
++++ doc/man/mc.1.in (revision 446748619b5cb77ea63360a81bb16cd2dd2caff7)
+@@ -173,9 +173,10 @@
+ .PP
+ If both paths are specified, the first path name is the directory to show
+-in the left panel; the second path name is the directory to be shown in
+-the right panel.
++in the active panel; the second path name is the directory to be shown in
++the other panel.
+ .PP
+ If one path is specified, the path name is the directory to show
+-in the active panel; current directory is shown in the passive panel.
++in the active panel; value of "other_dir" from panels.ini is the directory
++to be shown in the passive panel.
+ .PP
+ If no paths are specified, current directory is shown in the active panel;
+Index: doc/man/ru/mc.1.in
+===================================================================
+--- doc/man/ru/mc.1.in (revision 6da546bcf3a09b7710bc3b69d38e736e3273c34b)
++++ doc/man/ru/mc.1.in (revision 446748619b5cb77ea63360a81bb16cd2dd2caff7)
+@@ -150,11 +150,12 @@
+ .PP
+ ЕÑли в командной Ñтроке указаны два каталога, первый будет отображатьÑÑ
+-в левой панели, второй \- в правой.
++в активной панели, второй \- в другой панели.
+ .PP
+ ЕÑли указан только один каталог, он будет отображён в активной панели,
+-во второй панели будет отображён текущий каталог.
++во второй панели будет отображён каталог, указанный в параметре "other_dir"
++в файле panels.ini.
+ .PP
+ ЕÑли каталоги не указаны, в активной панели будет отображён текущий каталог,
+-а во второй панели \- каталог, указанный в параметре "other_dir" в файла panels.ini.
++а во второй панели \- каталог, указанный в параметре "other_dir" в файле panels.ini.
+ .\"NODE "Overview"
+ .SH "Главное окно программы"
+Index: src/filemanager/midnight.c
+===================================================================
+--- src/filemanager/midnight.c (revision b451e8d13ddf89f1b1a00b1c2f240e4deaf8abe7)
++++ src/filemanager/midnight.c (revision 446748619b5cb77ea63360a81bb16cd2dd2caff7)
+@@ -585,13 +585,13 @@
+ * 'mc' (no arguments): mc_run_param0 == NULL, mc_run_param1 == NULL
+ * active panel uses current directory
+- * passive panel uses "other_dir" from ini
++ * passive panel uses "other_dir" from panels.ini
+ *
+ * 'mc dir1 dir2' (two arguments): mc_run_param0 != NULL, mc_run_param1 != NULL
+- * left panel uses mc_run_param0
+- * right panel uses mc_run_param1
++ * active panel uses mc_run_param0
++ * passive panel uses mc_run_param1
+ *
+ * 'mc dir1' (single argument): mc_run_param0 != NULL, mc_run_param1 == NULL
+- * active panel uses current directory
+- * passive panel uses mc_run_param0
++ * active panel uses mc_run_param0
++ * passive panel uses "other_dir" from panels.ini
+ */
+
+@@ -620,6 +620,6 @@
+ {
+ /* one argument */
+- current_dir = NULL; /* assume current dir */
+- other_dir = (char *) mc_run_param0;
++ current_dir = (char *) mc_run_param0;
++ other_dir = saved_other_dir; /* from ini */
+ }
+ }
+@@ -641,12 +641,12 @@
+ {
+ /* two arguments */
+- current_dir = mc_run_param1;
+- other_dir = (char *) mc_run_param0;
++ current_dir = (char *) mc_run_param0;
++ other_dir = mc_run_param1;
+ }
+ else /* mc_run_param0 != NULL && mc_run_param1 == NULL */
+ {
+ /* one argument */
+- current_dir = NULL; /* assume current dir */ ;
+- other_dir = (char *) mc_run_param0;
++ current_dir = (char *) mc_run_param0;
++ other_dir = saved_other_dir; /* from ini */
+ }
+ }
diff --git a/source/ap/mc/changeset_54a5139eec69438f8771ffddcff96a2e72a197ff.diff b/source/ap/mc/changeset_54a5139eec69438f8771ffddcff96a2e72a197ff.diff
new file mode 100644
index 000000000..bfb33b5c1
--- /dev/null
+++ b/source/ap/mc/changeset_54a5139eec69438f8771ffddcff96a2e72a197ff.diff
@@ -0,0 +1,66 @@
+Index: src/filemanager/file.c
+===================================================================
+--- src/filemanager/file.c (revision 0fe4734fd6efb169a4057b84a44c223108b957cb)
++++ src/filemanager/file.c (revision 54a5139eec69438f8771ffddcff96a2e72a197ff)
+@@ -1273,6 +1273,6 @@
+ /** Initialize variables for progress bars */
+ static FileProgressStatus
+-panel_operate_init_totals (FileOperation operation, const WPanel * panel, const char *source,
+- FileOpContext * ctx, filegui_dialog_type_t dialog_type)
++panel_operate_init_totals (const WPanel * panel, const char *source, FileOpContext * ctx,
++ filegui_dialog_type_t dialog_type)
+ {
+ FileProgressStatus status;
+@@ -1283,5 +1283,5 @@
+ #endif
+
+- if (operation != OP_MOVE && verbose && file_op_compute_totals)
++ if (verbose && file_op_compute_totals)
+ {
+ ComputeDirSizeUI *ui;
+@@ -2379,11 +2379,4 @@
+ if (ctx->erase_at_end)
+ {
+- /* remove files after move */
+- if (erase_list != NULL)
+- {
+- file_op_context_destroy_ui (ctx);
+- file_op_context_create_ui (ctx, FALSE, FILEGUI_DIALOG_DELETE_ITEM);
+- }
+-
+ while (erase_list != NULL && return_status != FILE_ABORT)
+ {
+@@ -2793,12 +2786,10 @@
+ if (operation == OP_DELETE)
+ dialog_type = FILEGUI_DIALOG_DELETE_ITEM;
++ else if (single_entry && S_ISDIR (selection (panel)->st.st_mode))
++ dialog_type = FILEGUI_DIALOG_MULTI_ITEM;
++ else if (single_entry || force_single)
++ dialog_type = FILEGUI_DIALOG_ONE_ITEM;
+ else
+- {
+- dialog_type = ((operation != OP_COPY) || single_entry || force_single)
+- ? FILEGUI_DIALOG_ONE_ITEM : FILEGUI_DIALOG_MULTI_ITEM;
+-
+- if (single_entry && (operation == OP_COPY) && S_ISDIR (selection (panel)->st.st_mode))
+- dialog_type = FILEGUI_DIALOG_MULTI_ITEM;
+- }
++ dialog_type = FILEGUI_DIALOG_MULTI_ITEM;
+ }
+
+@@ -2845,6 +2836,6 @@
+ source_with_vpath = vfs_path_append_new (panel->cwd_vpath, source, (char *) NULL);
+ #endif /* WITH_FULL_PATHS */
+- if (panel_operate_init_totals
+- (operation, panel, vfs_path_as_str (source_with_vpath), ctx, dialog_type) == FILE_CONT)
++ if (panel_operate_init_totals (panel, vfs_path_as_str (source_with_vpath), ctx, dialog_type)
++ == FILE_CONT)
+ {
+ if (operation == OP_DELETE)
+@@ -2937,5 +2928,5 @@
+ }
+
+- if (panel_operate_init_totals (operation, panel, NULL, ctx, dialog_type) == FILE_CONT)
++ if (panel_operate_init_totals (panel, NULL, ctx, dialog_type) == FILE_CONT)
+ {
+ /* Loop for every file, perform the actual copy operation */
diff --git a/source/ap/mc/mc.SlackBuild b/source/ap/mc/mc.SlackBuild
index 21d997db6..bb78ba596 100755
--- a/source/ap/mc/mc.SlackBuild
+++ b/source/ap/mc/mc.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -64,12 +64,15 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Fix tmp path for saving files:
-zcat $CWD/mc.save.file.diff.gz | patch -p1 --verbose || exit 1
-
# Use geeqie instead of gqview as an external image viewer:
zcat $CWD/mc.image.sh.geeqie.diff.gz | patch -p1 --verbose || exit 1
+# Upstream bugfix for crash moving directories:
+zcat $CWD/changeset_54a5139eec69438f8771ffddcff96a2e72a197ff.diff.gz | patch -p0 --verbose || exit 1
+
+# Upstream fix for cmdline directory handling:
+zcat $CWD/changeset_446748619b5cb77ea63360a81bb16cd2dd2caff7.diff.gz | patch -p0 --verbose || exit 1
+
if [ ! -x ./configure ]; then
./autogen.sh
fi
diff --git a/source/ap/mc/mc.image.sh.geeqie.diff b/source/ap/mc/mc.image.sh.geeqie.diff
index 413807e92..8a7fe1c56 100644
--- a/source/ap/mc/mc.image.sh.geeqie.diff
+++ b/source/ap/mc/mc.image.sh.geeqie.diff
@@ -1,11 +1,11 @@
---- ./misc/ext.d/image.sh.orig 2012-07-18 04:30:23.000000000 -0500
-+++ ./misc/ext.d/image.sh 2012-09-08 14:39:11.998159169 -0500
-@@ -36,7 +36,7 @@
- if [ "$DISPLAY" = "" ]; then
- zgv "${MC_EXT_FILENAME}"
- else
+--- ./misc/ext.d/image.sh.orig 2013-05-29 01:53:42.379848005 -0500
++++ ./misc/ext.d/image.sh 2013-05-29 01:54:54.639853218 -0500
+@@ -39,7 +39,7 @@
+ ;;
+ *)
+ if [ -n "$DISPLAY" ]; then
- (gqview "${MC_EXT_FILENAME}" &)
+ (geeqie "${MC_EXT_FILENAME}" &)
- fi
- ;;
- esac
+ elif see >/dev/null 2>&1; then
+ (see "${MC_EXT_FILENAME}" &)
+ else
diff --git a/source/ap/mc/mc.save.file.diff b/source/ap/mc/mc.save.file.diff
deleted file mode 100644
index f54748c1b..000000000
--- a/source/ap/mc/mc.save.file.diff
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/src/editor/editcmd.c b/src/editor/editcmd.c
-index 2261aaa..536ac7e 100644
---- a/src/editor/editcmd.c
-+++ b/src/editor/editcmd.c
-@@ -222,7 +222,8 @@ edit_save_file (WEdit * edit, const vfs_path_t * filename_vpath)
- if (savedir == NULL)
- savedir = g_strdup (".");
-
-- saveprefix = mc_build_filename (savedir, "cooledit", NULL);
-+ /* Token-related function never return leading slash, so we need add it manually */
-+ saveprefix = mc_build_filename ("/", savedir, "cooledit", NULL);
- g_free (savedir);
- fd = mc_mkstemps (&savename_vpath, saveprefix, NULL);
- g_free (saveprefix);
-@@ -365,13 +366,21 @@ edit_save_file (WEdit * edit, const vfs_path_t * filename_vpath)
-
- if (this_save_mode == EDIT_DO_BACKUP)
- {
-+ char *tmp_store_filename;
-+ vfs_path_element_t *last_vpath_element;
- vfs_path_t *tmp_vpath;
- gboolean ok;
-
- #ifdef HAVE_ASSERT_H
- assert (option_backup_ext != NULL);
- #endif
-- tmp_vpath = vfs_path_append_new (real_filename_vpath, option_backup_ext, (char *) NULL);
-+ /* add backup extention to the path */
-+ tmp_vpath = vfs_path_clone (real_filename_vpath);
-+ last_vpath_element = (vfs_path_element_t *) vfs_path_get_by_index (tmp_vpath, -1);
-+ tmp_store_filename = last_vpath_element->path;
-+ last_vpath_element->path = g_strdup_printf ("%s%s", tmp_store_filename, option_backup_ext);
-+ g_free (tmp_store_filename);
-+
- ok = (mc_rename (real_filename_vpath, tmp_vpath) != -1);
- vfs_path_free (tmp_vpath);
- if (!ok)
diff --git a/source/ap/moc/moc.SlackBuild b/source/ap/moc/moc.SlackBuild
index 35f6fc5f8..ffd131ea6 100755
--- a/source/ap/moc/moc.SlackBuild
+++ b/source/ap/moc/moc.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=moc
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | rev | cut -f 2- -d -)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/ap/mysql/README.mysql-embedded b/source/ap/mysql/README.mysql-embedded
deleted file mode 100644
index 21b519e91..000000000
--- a/source/ap/mysql/README.mysql-embedded
+++ /dev/null
@@ -1,7 +0,0 @@
-The mysql-embedded.SlackBuild produces a package containing
-a static libmysqld.a library (and some support files) that
-is required in order to build applications that embed a
-mysql server (such as amarok). If you need to build such
-applications, first you'll need to use this SlackBuild to
-prepare a mysql package that contains embedded support and
-install it on your system.
diff --git a/source/ap/mysql/doinst.sh b/source/ap/mysql/doinst.sh
deleted file mode 100644
index a5d835faf..000000000
--- a/source/ap/mysql/doinst.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-config() {
- NEW="$1"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- # If there's no config file by that name, mv it over:
- if [ ! -r $OLD ]; then
- mv $NEW $OLD
- elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
- # toss the redundant copy
- rm $NEW
- fi
- # Otherwise, we leave the .new copy for the admin to consider...
-}
-
-# Keep same perms on rc.mysqld.new:
-if [ -e etc/rc.d/rc.mysqld ]; then
- cp -a etc/rc.d/rc.mysqld etc/rc.d/rc.mysqld.new.incoming
- cat etc/rc.d/rc.mysqld.new > etc/rc.d/rc.mysqld.new.incoming
- mv etc/rc.d/rc.mysqld.new.incoming etc/rc.d/rc.mysqld.new
-fi
-
-config etc/rc.d/rc.mysqld.new
-config etc/mysqlaccess.conf.new
-
diff --git a/source/ap/mysql/mirror-url b/source/ap/mysql/mirror-url
deleted file mode 100644
index 33ff56b03..000000000
--- a/source/ap/mysql/mirror-url
+++ /dev/null
@@ -1 +0,0 @@
-http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.25a.tar.gz
diff --git a/source/ap/mysql/mysql-embedded.SlackBuild b/source/ap/mysql/mysql-embedded.SlackBuild
deleted file mode 100755
index f5f178a9b..000000000
--- a/source/ap/mysql/mysql-embedded.SlackBuild
+++ /dev/null
@@ -1,221 +0,0 @@
-#!/bin/sh
-
-# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Build and install MySQL on Slackware
-# by: David Cantrell <david@slackware.com>
-# Currently maintained by: Patrick Volkerding <volkerdi@slackware.com>
-
-
-VERSION=${VERSION:-$(echo mysql-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
-fi
-
-NUMJOBS=${NUMJOBS:-" -j7 "}
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-mysql
-
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf mysql-$VERSION
-tar xvf $CWD/mysql-$VERSION.tar.?z* || exit 1
-cd mysql-$VERSION
-
-if ls $CWD/*.diff.gz 1> /dev/null 2> /dev/null ; then
- for patch in $CWD/*.diff.gz ; do
- zcat $patch | patch -p1 --verbose || exit 1
- done
-fi
-
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
-mkdir build
-cd build
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS -felide-constructors -fno-exceptions -fno-rtti" \
-CXX=gcc \
-cmake \
- -DBUILD_CONFIG=mysql_release \
- -DFEATURE_SET="community" \
- -DINSTALL_LAYOUT="RPM" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DINSTALL_LIBDIR="lib${LIBDIRSUFFIX}" \
- -DINSTALL_SBINDIR=libexec \
- -DINSTALL_INCLUDEDIR=include/mysql \
- -DINSTALL_MYSQLSHAREDIR=share/mysql \
- -DINSTALL_SQLBENCHDIR= \
- -DINSTALL_MYSQLTESTDIR=mysql-test \
- -DINSTALL_INFODIR=info \
- -DINSTALL_MANDIR=man \
- -DINSTALL_PLUGINDIR="lib${LIBDIRSUFFIX}/mysql/plugin" \
- -DINSTALL_SCRIPTDIR=bin \
- -DINSTALL_SUPPORTFILESDIR=share/mysql \
- -DINSTALL_MYSQLDATADIR="/var/lib/mysql" \
- -DMYSQL_DATADIR="/var/lib/mysql" \
- -DMYSQL_UNIX_ADDR="/var/run/mysql/mysql.sock" \
- -DWITH_EXTRA_CHARSETS=complex \
- -DWITH_INNOBASE_STORAGE_ENGINE=1 \
- -DENABLED_LOCAL_INFILE=ON \
- -DWITH_EMBEDDED_SERVER=ON \
- -DWITH_READLINE=ON \
- -DWITH_SSL=system \
- -DWITH_ZLIB=system \
- ..
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG
-
-# Install sample configuration files:
-mkdir -p $PKG/etc/mysql
-cp support-files/my-*.cnf $PKG/etc/mysql
-
-# Move mysqlaccess.conf to a more proper place
-mv $PKG/usr/bin/mysqlaccess.conf $PKG/etc/mysqlaccess.conf.new
-chmod 644 $PKG/etc/mysqlaccess.conf.new
-
-# Leave build directory:
-cd ..
-
-# install additional headers needed for building external engine plugins:
-mkdir -p $PKG/usr/include/mysql/private/atomic
-
-install -m 644 regex/my_regex.h $PKG/usr/include/mysql/private/
-
-for i in sql include; do
- for j in $i/*.h; do
- install -m 644 $j $PKG/usr/include/mysql/private/
- done
-done
-
-for i in include/atomic/*.h; do
- install -m 644 $i $PKG/usr/include/mysql/private/atomic/
-done
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-# Install docs
-mkdir -p $PKG/usr/doc/mysql-$VERSION/Docs
-cp -a \
- BUILD* COPYING* EXCEPTIONS* INSTALL-SOURCE README* VERSION \
- $PKG/usr/doc/mysql-$VERSION
-( cd Docs
- # Seems most of the Docs/* are gone, but we'll leave the cp stuff
- # in case it returns.
- cp -a INFO_SRC INSTALL-BINARY *.html *.txt Flags \
- $PKG/usr/doc/mysql-$VERSION/Docs )
-## Too large to justify since the .html version is right there:
-#rm $PKG/usr/doc/mysql-$VERSION/Docs/manual.txt
-find $PKG/usr/doc/mysql-$VERSION -type f -exec chmod 0644 {} \;
-
-# This is the directory where databases are stored:
-mkdir -p $PKG/var/lib/mysql
-chown mysql.mysql $PKG/var/lib/mysql
-chmod 0750 $PKG/var/lib/mysql
-
-# This is where the socket is stored:
-mkdir -p $PKG/var/run/mysql
-chown mysql.mysql $PKG/var/run/mysql
-chmod 0755 $PKG/var/run/mysql
-
-# Do not package the test suite:
-rm -rf $PKG/usr/mysql-test
-
-# More unpackaged things:
-rm -f $PKG/usr/info/dir
-rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient.a
-rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient_r.*
-( cd $PKG/usr/lib${LIBDIRSUFFIX} ; ln -sf libmysqlclient.so libmysqlclient_r.so )
-
-# Add init script:
-mkdir -p $PKG/etc/rc.d
-# This is intentionally chmod 644.
-zcat $CWD/rc.mysqld.gz > $PKG/etc/rc.d/rc.mysqld.new
-
-# Install script:
-mkdir -p $PKG/install
-zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-# Compress and link manpages, if any:
-if [ -d $PKG/usr/man ]; then
- ( cd $PKG/usr/man
- for manpagedir in $(find . -type d -name "man*") ; do
- ( cd $manpagedir
- for eachpage in $( find . -type l -maxdepth 1) ; do
- ln -s $( readlink $eachpage ).gz $eachpage.gz
- rm $eachpage
- done
- gzip -9 *.?
- )
- done
- )
-fi
-
-# Compress info files, if any:
-if [ -d $PKG/usr/info ]; then
- ( cd $PKG/usr/info
- rm -f dir
- gzip -9 *
- )
-fi
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
-fi
-
-# Build package:
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/mysql-$VERSION-$ARCH-${BUILD}_withembedded.txz
diff --git a/source/ap/mysql/mysql.SlackBuild b/source/ap/mysql/mysql.SlackBuild
deleted file mode 100755
index 6690c0f5e..000000000
--- a/source/ap/mysql/mysql.SlackBuild
+++ /dev/null
@@ -1,221 +0,0 @@
-#!/bin/sh
-
-# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Build and install MySQL on Slackware
-# by: David Cantrell <david@slackware.com>
-# Currently maintained by: Patrick Volkerding <volkerdi@slackware.com>
-
-
-VERSION=${VERSION:-$(echo mysql-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
-fi
-
-NUMJOBS=${NUMJOBS:-" -j7 "}
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-mysql
-
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf mysql-$VERSION
-tar xvf $CWD/mysql-$VERSION.tar.?z* || exit 1
-cd mysql-$VERSION
-
-if ls $CWD/*.diff.gz 1> /dev/null 2> /dev/null ; then
- for patch in $CWD/*.diff.gz ; do
- zcat $patch | patch -p1 --verbose || exit 1
- done
-fi
-
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
-mkdir build
-cd build
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS -felide-constructors -fno-exceptions -fno-rtti" \
-CXX=gcc \
-cmake \
- -DBUILD_CONFIG=mysql_release \
- -DFEATURE_SET="community" \
- -DINSTALL_LAYOUT="RPM" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DINSTALL_LIBDIR="lib${LIBDIRSUFFIX}" \
- -DINSTALL_SBINDIR=libexec \
- -DINSTALL_INCLUDEDIR=include/mysql \
- -DINSTALL_MYSQLSHAREDIR=share/mysql \
- -DINSTALL_SQLBENCHDIR= \
- -DINSTALL_MYSQLTESTDIR=mysql-test \
- -DINSTALL_INFODIR=info \
- -DINSTALL_MANDIR=man \
- -DINSTALL_PLUGINDIR="lib${LIBDIRSUFFIX}/mysql/plugin" \
- -DINSTALL_SCRIPTDIR=bin \
- -DINSTALL_SUPPORTFILESDIR=share/mysql \
- -DINSTALL_MYSQLDATADIR="/var/lib/mysql" \
- -DMYSQL_DATADIR="/var/lib/mysql" \
- -DMYSQL_UNIX_ADDR="/var/run/mysql/mysql.sock" \
- -DWITH_EXTRA_CHARSETS=complex \
- -DWITH_INNOBASE_STORAGE_ENGINE=1 \
- -DENABLED_LOCAL_INFILE=ON \
- -DWITH_EMBEDDED_SERVER=OFF \
- -DWITH_READLINE=ON \
- -DWITH_SSL=system \
- -DWITH_ZLIB=system \
- ..
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG
-
-# Install sample configuration files:
-mkdir -p $PKG/etc/mysql
-cp support-files/my-*.cnf $PKG/etc/mysql
-
-# Move mysqlaccess.conf to a more proper place
-mv $PKG/usr/bin/mysqlaccess.conf $PKG/etc/mysqlaccess.conf.new
-chmod 644 $PKG/etc/mysqlaccess.conf.new
-
-# Leave build directory:
-cd ..
-
-# install additional headers needed for building external engine plugins:
-mkdir -p $PKG/usr/include/mysql/private/atomic
-
-install -m 644 regex/my_regex.h $PKG/usr/include/mysql/private/
-
-for i in sql include; do
- for j in $i/*.h; do
- install -m 644 $j $PKG/usr/include/mysql/private/
- done
-done
-
-for i in include/atomic/*.h; do
- install -m 644 $i $PKG/usr/include/mysql/private/atomic/
-done
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-# Install docs
-mkdir -p $PKG/usr/doc/mysql-$VERSION/Docs
-cp -a \
- BUILD* COPYING* EXCEPTIONS* INSTALL-SOURCE README* VERSION \
- $PKG/usr/doc/mysql-$VERSION
-( cd Docs
- # Seems most of the Docs/* are gone, but we'll leave the cp stuff
- # in case it returns.
- cp -a INFO_SRC INSTALL-BINARY *.html *.txt Flags \
- $PKG/usr/doc/mysql-$VERSION/Docs )
-## Too large to justify since the .html version is right there:
-#rm $PKG/usr/doc/mysql-$VERSION/Docs/manual.txt
-find $PKG/usr/doc/mysql-$VERSION -type f -exec chmod 0644 {} \;
-
-# This is the directory where databases are stored:
-mkdir -p $PKG/var/lib/mysql
-chown mysql.mysql $PKG/var/lib/mysql
-chmod 0750 $PKG/var/lib/mysql
-
-# This is where the socket is stored:
-mkdir -p $PKG/var/run/mysql
-chown mysql.mysql $PKG/var/run/mysql
-chmod 0755 $PKG/var/run/mysql
-
-# Do not package the test suite:
-rm -rf $PKG/usr/mysql-test
-
-# More unpackaged things:
-rm -f $PKG/usr/info/dir
-rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient.a
-rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient_r.*
-( cd $PKG/usr/lib${LIBDIRSUFFIX} ; ln -sf libmysqlclient.so libmysqlclient_r.so )
-
-# Add init script:
-mkdir -p $PKG/etc/rc.d
-# This is intentionally chmod 644.
-zcat $CWD/rc.mysqld.gz > $PKG/etc/rc.d/rc.mysqld.new
-
-# Install script:
-mkdir -p $PKG/install
-zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-# Compress and link manpages, if any:
-if [ -d $PKG/usr/man ]; then
- ( cd $PKG/usr/man
- for manpagedir in $(find . -type d -name "man*") ; do
- ( cd $manpagedir
- for eachpage in $( find . -type l -maxdepth 1) ; do
- ln -s $( readlink $eachpage ).gz $eachpage.gz
- rm $eachpage
- done
- gzip -9 *.?
- )
- done
- )
-fi
-
-# Compress info files, if any:
-if [ -d $PKG/usr/info ]; then
- ( cd $PKG/usr/info
- rm -f dir
- gzip -9 *
- )
-fi
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
-fi
-
-# Build package:
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/mysql-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/ap/mysql/rc.mysqld b/source/ap/mysql/rc.mysqld
deleted file mode 100644
index 300e6eb2d..000000000
--- a/source/ap/mysql/rc.mysqld
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/sh
-# Start/stop/restart mysqld.
-#
-# Copyright 2003 Patrick J. Volkerding, Concord, CA
-# Copyright 2003 Slackware Linux, Inc., Concord, CA
-# Copyright 2008 Patrick J. Volkerding, Sebeka, MN
-#
-# This program comes with NO WARRANTY, to the extent permitted by law.
-# You may redistribute copies of this program under the terms of the
-# GNU General Public License.
-
-# To start MySQL automatically at boot, be sure this script is executable:
-# chmod 755 /etc/rc.d/rc.mysqld
-
-# Before you can run MySQL, you must have a database. To install an initial
-# database, do this as root:
-#
-# mysql_install_db --user=mysql
-#
-# Note that the mysql user must exist in /etc/passwd, and the created files
-# will be owned by this dedicated user. This is important, or else mysql
-# (which runs as user "mysql") will not be able to write to the database
-# later (this can be fixed with 'chown -R mysql.mysql /var/lib/mysql').
-#
-# To increase system security, consider using "mysql_secure_installation"
-# as well. For more information on this tool, please read:
-# man mysql_secure_installation
-
-# To allow outside connections to the database comment out the next line.
-# If you don't need incoming network connections, then leave the line
-# uncommented to improve system security.
-SKIP="--skip-networking"
-
-# Start mysqld:
-mysqld_start() {
- if [ -x /usr/bin/mysqld_safe ]; then
- # If there is an old PID file (no mysqld running), clean it up:
- if [ -r /var/run/mysql/mysql.pid ]; then
- if ! ps axc | grep mysqld 1> /dev/null 2> /dev/null ; then
- echo "Cleaning up old /var/run/mysql/mysql.pid."
- rm -f /var/run/mysql/mysql.pid
- fi
- fi
- /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/run/mysql/mysql.pid $SKIP &
- fi
-}
-
-# Stop mysqld:
-mysqld_stop() {
- # If there is no PID file, ignore this request...
- if [ -r /var/run/mysql/mysql.pid ]; then
- killall mysqld
- # Wait at least one minute for it to exit, as we don't know how big the DB is...
- for second in 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 \
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 60 ; do
- if [ ! -r /var/run/mysql/mysql.pid ]; then
- break;
- fi
- sleep 1
- done
- if [ "$second" = "60" ]; then
- echo "WARNING: Gave up waiting for mysqld to exit!"
- sleep 15
- fi
- fi
-}
-
-# Restart mysqld:
-mysqld_restart() {
- mysqld_stop
- mysqld_start
-}
-
-case "$1" in
-'start')
- mysqld_start
- ;;
-'stop')
- mysqld_stop
- ;;
-'restart')
- mysqld_restart
- ;;
-*)
- echo "usage $0 start|stop|restart"
-esac
diff --git a/source/ap/mysql/slack-desc b/source/ap/mysql/slack-desc
deleted file mode 100644
index 29e1b8be4..000000000
--- a/source/ap/mysql/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-mysql: mysql (SQL-based relational database server)
-mysql:
-mysql: MySQL is a fast, multi-threaded, multi-user, and robust SQL
-mysql: (Structured Query Language) database server. It comes with a nice API
-mysql: which makes it easy to integrate into other applications.
-mysql:
-mysql: The home page for MySQL is http://www.mysql.com/
-mysql:
-mysql:
-mysql:
-mysql:
diff --git a/source/ap/nano/nano.SlackBuild b/source/ap/nano/nano.SlackBuild
index 0f9e114c6..b1833597b 100755
--- a/source/ap/nano/nano.SlackBuild
+++ b/source/ap/nano/nano.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=nano
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/ap/normalize/normalize.SlackBuild b/source/ap/normalize/normalize.SlackBuild
index 8fe6ff13e..54fbe5f40 100755
--- a/source/ap/normalize/normalize.SlackBuild
+++ b/source/ap/normalize/normalize.SlackBuild
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
VERSION=0.7.7
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/ap/pm-utils/49bluetooth-generic b/source/ap/pm-utils/49bluetooth-generic
index e62790e77..1c88f198d 100644
--- a/source/ap/pm-utils/49bluetooth-generic
+++ b/source/ap/pm-utils/49bluetooth-generic
@@ -4,10 +4,14 @@
case "$1" in
hibernate|suspend)
- rfkill block bluetooth
+ if [ -d /sys/devices/virtual/misc/rfkill -a -x /usr/sbin/rfkill -a -x /etc/rc.d/rc.bluetooth ]; then
+ rfkill block bluetooth
+ fi
;;
thaw|resume)
- rfkill unblock bluetooth
+ if [ -d /sys/devices/virtual/misc/rfkill -a -x /usr/sbin/rfkill -a -x /etc/rc.d/rc.bluetooth ]; then
+ rfkill unblock bluetooth
+ fi
;;
*)
;;
diff --git a/source/ap/pm-utils/README.SLACKWARE b/source/ap/pm-utils/README.SLACKWARE
index 7f91f2282..1bbfbfe81 100644
--- a/source/ap/pm-utils/README.SLACKWARE
+++ b/source/ap/pm-utils/README.SLACKWARE
@@ -1,5 +1,5 @@
README.SLACKWARE
-20101229 - rworkman@slackware.com
+20130512 - rworkman@slackware.com
===============================================================================
PLEASE READ THIS ENTIRE FILE BEFORE REPORTING PROBLEMS OR ASKING FOR HELP!
@@ -29,7 +29,7 @@ it works at all.
Here's the short version of using suspend to disk:
Stanza in /etc/lilo.conf should look something like this:
- image = /boot/vmlinuz-generic-smp-2.6.35.10-smp
+ image = /boot/vmlinuz-generic-smp-3.8.13-smp
initrd = /boot/initrd.gz
append = "resume=/dev/sda2"
root = /dev/sda1
@@ -43,7 +43,7 @@ Stanza in /etc/lilo.conf should look something like this:
RESUMEDEV="/dev/sda2"
mkinitrd command invocation would be this:
- mkinitrd -c -k 2.6.35.10-smp -F
+ mkinitrd -c -k 3.8.13-smp -F
All of the above assumes at least a cursory understanding of what those
commands and parameters do. If it's not clear, don't attempt it on a
@@ -60,7 +60,11 @@ kde and xfce have one).
/* TODO: these links are now dead. That's mostly okay, because the vast
majority of the hardware out there these days doesn't require any quirks
- at all any more. Hopefully you won't be in the minority :-) */
+ at all any more. Hopefully you won't be in the minority :-)
+ Addendum: it's now been about three years since the above text was
+ written, and I've had zero reports of hardware requiring additional
+ quirks. Just FYI. :-)
+*/
If it doesn't work by default for you, consider having a look at
http://people.freedesktop.org/~hughsient/quirk/quirk-suspend-index.html
@@ -97,11 +101,10 @@ also available; none of these will cause the suspend to fail:
The default powersave hooks are in /usr/lib(64)/pm-utils/power.d/ -- if you
need to override any parameters set in those, you can do so with same-named
-files in /etc/pm/power.d/ (populated with only the parameters you wish to
-change). As an example, if you wanted to change the hdparm setting for
-your hard drive's power management setting: rather than copying the entire
-contents of /usr/lib(64)/pm-utils/power.d/harddrive to /etc/pm/power.d/ and
-editing the copy, you could place only these two lines:
+files in /etc/pm/power.d/ As an example, if you wanted to change the hdparm
+setting for your hard drive's power management setting, you would copy the
+entire file at /usr/lib(64)/pm-utils/power.d/harddrive to /etc/pm/power.d/
+and edit the copy to reflect your needs, e.g.:
DRIVE_POWER_MGMT_BAT=128 # edit value as desired
DRIVE_POWER_MGMT_AC=128 # edit value as desired
@@ -111,20 +114,8 @@ chmod +x) in order to be used by pm-utils; otherwise, they will be ignored.
==============================================================================
-One way to contribute to pm-utils indirectly is by writing and sending any
-needed hooks scripts to upstream projects; as an example, the hook that
-ships with wicd was contributed by me. Ideally, the pm-utils package should
-have a very minimum number of hooks shipped with it, as they should ship with
-the package to which the hook pertains; for example, the grub package would
-ship its own hook.
-
-==============================================================================
-
KNOWN ISSUES
-/* TODO: remove? I've gotten *zero* mails about either of these since
- we've been shipping pm-utils */
-
**** If you encounter either of these, mail rworkman@slackware.com ****
If your alsa drivers don't correctly save and restore state across a sleep /
diff --git a/source/ap/pm-utils/patches/add-in-kernel-suspend-to-both.patch b/source/ap/pm-utils/patches/add-in-kernel-suspend-to-both.patch
new file mode 100644
index 000000000..e09d07669
--- /dev/null
+++ b/source/ap/pm-utils/patches/add-in-kernel-suspend-to-both.patch
@@ -0,0 +1,32 @@
+diff --git a/pm/pm-functions.in b/pm/pm-functions.in
+--- a/pm/pm-functions.in
++++ b/pm/pm-functions.in
+@@ -316,8 +316,28 @@ if [ -z "$HIBERNATE_MODULE" ] && \
+ {
+ [ -n "${HIBERNATE_MODE}" ] && \
+ grep -qw "${HIBERNATE_MODE}" /sys/power/disk && \
++ HIBERNATE_MODE_SAVE=$(cat /sys/power/disk) && \
++ HIBERNATE_MODE_SAVE="${HIBERNATE_MODE_SAVE##*[}" && \
++ HIBERNATE_MODE_SAVE="${HIBERNATE_MODE_SAVE%%]*}" && \
+ echo -n "${HIBERNATE_MODE}" > /sys/power/disk
+ echo -n "disk" > /sys/power/state
++ RET=$?
++ echo -n "$HIBERNATE_MODE_SAVE" > /sys/power/disk
++ return "$RET"
++ }
++fi
++
++# for kernels that support suspend to both (i.e. hybrid suspend)
++# since kernel 3.6
++if [ -z "$SUSPEND_HYBRID_MODULE" ] && \
++ [ -f /sys/power/disk ] && \
++ grep -q disk /sys/power/state && \
++ grep -q suspend /sys/power/disk; then
++ SUSPEND_HYBRID_MODULE="kernel"
++ do_suspend_hybrid()
++ {
++ HIBERNATE_MODE="suspend"
++ do_hibernate
+ }
+ fi
+
diff --git a/source/ap/pm-utils/fix-wrong-path-in-intel-audio-powersave.patch b/source/ap/pm-utils/patches/fix-wrong-path-in-intel-audio-powersave.patch
index 900397106..900397106 100644
--- a/source/ap/pm-utils/fix-wrong-path-in-intel-audio-powersave.patch
+++ b/source/ap/pm-utils/patches/fix-wrong-path-in-intel-audio-powersave.patch
diff --git a/source/ap/pm-utils/patches/hook-exit-code-log.patch b/source/ap/pm-utils/patches/hook-exit-code-log.patch
new file mode 100644
index 000000000..7eccd83b0
--- /dev/null
+++ b/source/ap/pm-utils/patches/hook-exit-code-log.patch
@@ -0,0 +1,19 @@
+diff -up pm-utils-1.4.1/pm/pm-functions.in.orig pm-utils-1.4.1/pm/pm-functions.in
+--- pm-utils-1.4.1/pm/pm-functions.in.orig 2011-08-22 14:52:58.976213050 +0200
++++ pm-utils-1.4.1/pm/pm-functions.in 2011-08-22 14:57:26.000000000 +0200
+@@ -195,11 +195,13 @@ hook_ok()
+ _run_hook() {
+ # $1 = hook to run
+ # rest of args passed to hook unchanged.
++ local hook_status
+ log "Running hook $*:"
+ hook_ok "$1" && "$@"
++ hook_status=$?
+ log ""
+- log -n "$*: "
+- hook_exit_status $? && LAST_HOOK="${1##*/}" || inhibit
++ log -n "$*: "
++ hook_exit_status $hook_status && LAST_HOOK="${1##*/}" || inhibit
+ }
+
+ if profiling; then
diff --git a/source/ap/pm-utils/patches/init-logfile-append.patch b/source/ap/pm-utils/patches/init-logfile-append.patch
new file mode 100644
index 000000000..079782630
--- /dev/null
+++ b/source/ap/pm-utils/patches/init-logfile-append.patch
@@ -0,0 +1,13 @@
+--- pm-utils-1.4.1/pm/pm-functions.in.old 2010-07-04 16:50:13.000000000 +0200
++++ pm-utils-1.4.1/pm/pm-functions.in 2010-12-07 16:48:39.555074652 +0100
+@@ -271,7 +271,9 @@
+ return 1
+ fi
+ export LOGGING=true
+- exec > "$1" 2>&1
++ rm -f "$1"
++ touch "$1"
++ exec >> "$1" 2>&1
+ }
+
+ check_suspend() { [ -n "$SUSPEND_MODULE" ]; }
diff --git a/source/ap/pm-utils/patches/log-line-spacing-fix.patch b/source/ap/pm-utils/patches/log-line-spacing-fix.patch
new file mode 100644
index 000000000..cf4fbe382
--- /dev/null
+++ b/source/ap/pm-utils/patches/log-line-spacing-fix.patch
@@ -0,0 +1,14 @@
+diff -up pm-utils-1.4.1/pm/pm-functions.in.orig pm-utils-1.4.1/pm/pm-functions.in
+--- pm-utils-1.4.1/pm/pm-functions.in.orig 2011-11-02 11:43:24.000000000 +0100
++++ pm-utils-1.4.1/pm/pm-functions.in 2011-11-02 11:43:49.987116603 +0100
+@@ -199,9 +199,9 @@ _run_hook() {
+ log "Running hook $*:"
+ hook_ok "$1" && "$@"
+ hook_status=$?
+- log ""
+ log -n "$*: "
+ hook_exit_status $hook_status && LAST_HOOK="${1##*/}" || inhibit
++ log ""
+ }
+
+ if profiling; then
diff --git a/source/ap/pm-utils/use_more_sane_harddrive_defaults.patch b/source/ap/pm-utils/patches/use_more_sane_harddrive_defaults.patch
index 3dcc81566..3dcc81566 100644
--- a/source/ap/pm-utils/use_more_sane_harddrive_defaults.patch
+++ b/source/ap/pm-utils/patches/use_more_sane_harddrive_defaults.patch
diff --git a/source/ap/pm-utils/pm-utils.SlackBuild b/source/ap/pm-utils/pm-utils.SlackBuild
index 1ae12666d..b8c82a8c8 100755
--- a/source/ap/pm-utils/pm-utils.SlackBuild
+++ b/source/ap/pm-utils/pm-utils.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for pm-utils
# Copyright 2008, 2009, 2010 Robby Workman, Northport, Alabama, USA
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
PKGNAM=pm-utils
VERSION=$(echo ${PKGNAM}-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-5}
QUIRKS=20100619 # Version of the quirks database
@@ -72,8 +72,18 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/use_more_sane_harddrive_defaults.patch.gz | patch -p1 || exit 1
-zcat $CWD/fix-wrong-path-in-intel-audio-powersave.patch.gz | patch -p1 || exit 1
+zcat $CWD/patches/use_more_sane_harddrive_defaults.patch.gz | patch -p1 || exit 1
+zcat $CWD/patches/fix-wrong-path-in-intel-audio-powersave.patch.gz | patch -p1 || exit 1
+
+# Thanks to Fedora for these:
+# Use append instead of write for init_logfile
+zcat $CWD/patches/init-logfile-append.patch.gz | patch -p1 || exit 1
+# Fix hooks exit code logging
+zcat $CWD/patches/hook-exit-code-log.patch.gz | patch -p1 || exit 1
+# Fix line spacing in logs to be easier to read
+zcat $CWD/patches/log-line-spacing-fix.patch.gz | patch -p1 || exit 1
+# Add support for in-kernel (from kernel 3.6) suspend to both
+zcat $CWD/patches/add-in-kernel-suspend-to-both.patch.gz | patch -p1 || exit 1
CFLAGS="$SLKCFLAGS" \
./configure \
@@ -101,26 +111,29 @@ chown -R root:root $PKG/$PM_UTILS_LIBDIR/video-quirks
chmod 0755 49bluetooth-generic
)
-# Remove the NetworkManager hook since we don't ship it;
-# it should be included with NetworkManager
-rm -f $PKG/usr/lib64/pm-utils/sleep.d/55NetworkManager
+# Remove the NetworkManager hook - recent NM listens to upower events
+# directly to know when the system is suspending/waking
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/sleep.d/55NetworkManager
+
+# Remove hooks which have shown to not reduce, or even increase power
+# usage (thanks to Debian for this, and to Marin Glibic for the referral)
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/power.d/journal-commit
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/power.d/readahead
+
+# HAL is gone, so this should be too:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/power.d/hal-cd-polling
+
+# Actually, it is a bad thing(tm) for pm-utils to go messing around with all
+# of the user's settings with the hooks in the power.d directory. Anything
+# that wasn't already taken out back behind the shed should be disabled by
+# default:
+chmod 644 $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/power.d/*
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-if [ -d $PKG/usr/man ]; then
- ( cd $PKG/usr/man
- for manpagedir in $(find . -type d -name "man*") ; do
- ( cd $manpagedir
- for eachpage in $( find . -type l -maxdepth 1) ; do
- ln -s $( readlink $eachpage ).gz $eachpage.gz
- rm $eachpage
- done
- gzip -9 *.*
- )
- done
- )
-fi
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
diff --git a/source/ap/powertop/powertop.SlackBuild b/source/ap/powertop/powertop.SlackBuild
index f4f4beaed..e51a09d32 100755
--- a/source/ap/powertop/powertop.SlackBuild
+++ b/source/ap/powertop/powertop.SlackBuild
@@ -27,7 +27,7 @@
PKGNAM=powertop
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/ap/powertop/slack-desc b/source/ap/powertop/slack-desc
index 3bf3aa5da..be30b4781 100644
--- a/source/ap/powertop/slack-desc
+++ b/source/ap/powertop/slack-desc
@@ -15,5 +15,5 @@ powertop: slurping up your battery time. PowerTOP updates its display
powertop: frequently so that you can directly see the impact of any changes you
powertop: are making.
powertop:
-powertop: Homepage: http://www.linuxpowertop.org
+powertop: Homepage: http://01.org/powertop/
powertop:
diff --git a/source/ap/rexima/rexima.SlackBuild b/source/ap/rexima/rexima.SlackBuild
deleted file mode 100755
index 05133e7cd..000000000
--- a/source/ap/rexima/rexima.SlackBuild
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/sh
-
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-VERSION=1.4
-BUILD=${BUILD:-2}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
-fi
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-rexima
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-
-cd $TMP
-rm -rf rexima-$VERSION
-tar xvf $CWD/rexima-$VERSION.tar.gz || exit 1
-cd rexima-$VERSION || exit 1
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
-make || exit 1
-
-strip rexima
-mkdir -p $PKG/usr/bin
-cat rexima > $PKG/usr/bin/rexima
-chmod 755 $PKG/usr/bin/rexima
-
-mkdir -p $PKG/usr/man/man1
-cat rexima.1 | gzip -9c > $PKG/usr/man/man1/rexima.1.gz
-
-mkdir -p $PKG/usr/doc/rexima-$VERSION
-cp -a \
- COPYING README ChangeLog NEWS \
- $PKG/usr/doc/rexima-$VERSION
-chmod 644 $PKG/usr/doc/rexima-$VERSION/*
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-# Build the package:
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/rexima-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/ap/rexima/slack-desc b/source/ap/rexima/slack-desc
deleted file mode 100644
index 8a8adabcc..000000000
--- a/source/ap/rexima/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-rexima: rexima (console audio mixer)
-rexima:
-rexima: Rexima is a curses-based interactive audio mixer. It can also be used
-rexima: from the command-line. It's designed to be small, fast, and
-rexima: straightforward. It also offers a command line mode so you can script
-rexima: mixer settings.
-rexima:
-rexima: Rexima was written by Russell Marks.
-rexima:
-rexima:
-rexima:
diff --git a/source/ap/screen/screen.SlackBuild b/source/ap/screen/screen.SlackBuild
index 29ad8c694..b182233c3 100755
--- a/source/ap/screen/screen.SlackBuild
+++ b/source/ap/screen/screen.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
VERSION=${VERSION:-4.0.3}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -58,6 +58,9 @@ cd screen-$VERSION || exit 1
# Increase the size of the termname buffer from 20 to 63:
zcat $CWD/screen.d_termname.envterm.buffersizeincrease.diff.gz | patch -p1 --verbose || exit 1
+# Patch for newer glibc that might return NULL from crypt():
+zcat $CWD/screen.crypt.diff.gz | patch -p2 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/ap/screen/screen.crypt.diff b/source/ap/screen/screen.crypt.diff
new file mode 100644
index 000000000..2c80efbbc
--- /dev/null
+++ b/source/ap/screen/screen.crypt.diff
@@ -0,0 +1,126 @@
+From cbaa666d4f21988164068a38ac915f8b4f3c4da3 Mon Sep 17 00:00:00 2001
+From: Sadrul Habib Chowdhury <sadrul@users.sourceforge.net>
+Date: Sat, 15 Sep 2012 03:40:23 +0000
+Subject: Guard against NULL returns from crypt().
+
+crypt() can return NULL on an error. Make sure these nulls are
+handled properly instead of crashing. The fix is thanks to a patch
+from Lukás Nykrýn <lnykryn@redhat.com>.
+---
+diff --git a/src/acls.c b/src/acls.c
+index e728bb8..2f8c809 100644
+--- a/src/acls.c
++++ b/src/acls.c
+@@ -455,6 +455,16 @@ int recursive;
+ return gp; /* *gp is NULL */
+ }
+
++static int
++PasswordMatches(pw, password)
++const char *pw, *password;
++{
++ if (!*password)
++ return 0;
++ char *buf = crypt(pw, password);
++ return (buf && !strcmp(buf, password));
++}
++
+ /*
+ * Returns nonzero if failed or already linked.
+ * Both users are created on demand.
+@@ -544,8 +554,7 @@ char *name, *pw1, *pw2;
+
+ if (pw2 && *pw2 && *pw2 != '\377') /* provided a system password */
+ {
+- if (!*pass || /* but needed none */
+- strcmp(crypt(pw2, pass), pass))
++ if (!PasswordMatches(pw2, pass))
+ {
+ debug("System password mismatch\n");
+ sorry++;
+@@ -554,11 +563,10 @@ char *name, *pw1, *pw2;
+ else /* no pasword provided */
+ if (*pass) /* but need one */
+ sorry++;
+-#endif
++#endif /* CHECKLOGIN */
+ if (pw1 && *pw1 && *pw1 != '\377') /* provided a screen password */
+ {
+- if (!*u->u_password || /* but needed none */
+- strcmp(crypt(pw1, u->u_password), u->u_password))
++ if (!PasswordMatches(pw1, u->u_password))
+ {
+ debug("screen password mismatch\n");
+ sorry++;
+diff --git a/src/attacher.c b/src/attacher.c
+index 370d594..4e496be 100644
+--- a/src/attacher.c
++++ b/src/attacher.c
+@@ -882,6 +882,12 @@ screen_builtin_lck()
+ salt[1] = 'A' + (int)((time(0) >> 6) % 26);
+ salt[2] = 0;
+ pass = crypt(mypass, salt);
++ if (!pass)
++ {
++ fprintf(stderr, "crypt() error.\007\n");
++ sleep(2);
++ return;
++ }
+ pass = ppp->pw_passwd = SaveStr(pass);
+ }
+ #endif
+@@ -924,7 +930,8 @@ screen_builtin_lck()
+ if (pam_error == PAM_SUCCESS)
+ break;
+ #else
+- if (!strncmp(crypt(cp1, pass), pass, strlen(pass)))
++ char *buf = crypt(cp1, pass);
++ if (buf && !strncmp(buf, pass, strlen(pass)))
+ break;
+ #endif
+ debug("screen_builtin_lck: NO!!!!!\n");
+diff --git a/src/process.c b/src/process.c
+index bdf9355..30497a3 100644
+--- a/src/process.c
++++ b/src/process.c
+@@ -6360,6 +6360,12 @@ char *data;
+ buf = crypt(u->u_password, salt);
+ bzero(u->u_password, strlen(u->u_password));
+ free((char *)u->u_password);
++ if (!buf)
++ {
++ Msg(0, "[ crypt() error - no secure ]");
++ u->u_password = NullStr;
++ return;
++ }
+ u->u_password = SaveStr(buf);
+ bzero(buf, strlen(buf));
+ #ifdef COPY_PASTE
+diff --git a/src/socket.c b/src/socket.c
+index 8f9a315..a7755a4 100644
+--- a/src/socket.c
++++ b/src/socket.c
+@@ -1565,13 +1565,18 @@ int ilen;
+ c = *(unsigned char *)ibuf++;
+ if (c == '\r' || c == '\n')
+ {
++ char *buf = NULL;
+ up = D_user->u_password;
+ pwdata->buf[l] = 0;
+- if (strncmp(crypt(pwdata->buf, up), up, strlen(up)))
++ buf = crypt(pwdata->buf, up);
++ if (!buf || strncmp(buf, up, strlen(up)))
+ {
+ /* uh oh, user failed */
+ bzero(pwdata->buf, sizeof(pwdata->buf));
+- AddStr("\r\nPassword incorrect.\r\n");
++ if (!buf)
++ AddStr("\r\ncrypt() failed.\r\n");
++ else
++ AddStr("\r\nPassword incorrect.\r\n");
+ D_processinputdata = 0; /* otherwise freed by FreeDis */
+ FreeDisplay();
+ Msg(0, "Illegal reattach attempt from terminal %s.", pwdata->m.m_tty);
+--
+cgit v0.9.0.2
+
diff --git a/source/ap/sqlite/sqlite.SlackBuild b/source/ap/sqlite/sqlite.SlackBuild
index bbb03bd39..e32844448 100755
--- a/source/ap/sqlite/sqlite.SlackBuild
+++ b/source/ap/sqlite/sqlite.SlackBuild
@@ -26,6 +26,10 @@
PKGNAM=sqlite
VERSION=${VERSION:-$(echo $PKGNAM-src-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
OLD_STYLE=$(printf %d $(echo $VERSION | cut -b 1)).$(printf %d $(echo $VERSION | cut -b 2,3)).$(printf %d $(echo $VERSION | cut -b 4,5))
+PATCHLEVEL=$(printf %d $(echo $VERSION | cut -b 6,7))
+if [ ! "$PATCHLEVEL" = "0" ]; then
+ OLD_STYLE=${OLD_STYLE}.${PATCHLEVEL}
+fi
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -64,7 +68,7 @@ SLKCFLAGS="$SLKCFLAGS -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -D
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf $PKGNAM-$VERSION
+rm -rf $PKGNAM-src-$VERSION
tar xvf $CWD/$PKGNAM-src-$VERSION.tar.?z* || exit 1
cd $PKGNAM-src-$VERSION || exit 1
chown -R root.root .
diff --git a/source/ap/terminus-font/doinst.sh b/source/ap/terminus-font/doinst.sh
new file mode 100644
index 000000000..18d125130
--- /dev/null
+++ b/source/ap/terminus-font/doinst.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+# Update the X font indexes:
+if [ -x /usr/bin/mkfontdir -o -x /usr/X11R6/bin/mkfontdir ]; then
+ ( cd /usr/share/fonts/misc
+ mkfontdir .
+ )
+fi
+if [ -x /usr/bin/fc-cache ]; then
+ /usr/bin/fc-cache -f
+fi
diff --git a/source/ap/terminus-font/slack-desc b/source/ap/terminus-font/slack-desc
new file mode 100644
index 000000000..c168bf532
--- /dev/null
+++ b/source/ap/terminus-font/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+terminus-font: terminus-font (a clean fixed width font)
+terminus-font:
+terminus-font: Terminus Font is designed for long (8 and more hours per day)
+terminus-font: work with computers. It is a good choice if you run a Unicode-enabled
+terminus-font: console but the package also contains a non-scalable Unicode-enabled
+terminus-font: font for use in X terminal applications.
+terminus-font:
+terminus-font:
+terminus-font:
+terminus-font: terminus-font home: http://terminus-font.sourceforge.net
+terminus-font:
diff --git a/source/ap/terminus-font/terminus-font.Makefile.paths.diff b/source/ap/terminus-font/terminus-font.Makefile.paths.diff
new file mode 100644
index 000000000..aeee814ef
--- /dev/null
+++ b/source/ap/terminus-font/terminus-font.Makefile.paths.diff
@@ -0,0 +1,15 @@
+--- ./Makefile.orig 2011-07-12 11:13:12.000000000 -0500
++++ ./Makefile 2013-02-19 14:37:14.604914231 -0600
+@@ -81,9 +81,9 @@
+ n12: $(PCF_N12)
+
+ DESTDIR =
+-prefix = /usr/local
+-psfdir = $(prefix)/share/consolefonts
+-x11dir = $(prefix)/share/fonts/terminus
++prefix = /usr
++psfdir = $(prefix)/share/kbd/consolefonts
++x11dir = $(prefix)/share/fonts/misc
+
+ install: $(PSF) $(PCF)
+ mkdir -p $(DESTDIR)$(psfdir)
diff --git a/source/ap/terminus-font/terminus-font.SlackBuild b/source/ap/terminus-font/terminus-font.SlackBuild
new file mode 100755
index 000000000..10498b59a
--- /dev/null
+++ b/source/ap/terminus-font/terminus-font.SlackBuild
@@ -0,0 +1,86 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=terminus-font
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
+
+zcat $CWD/terminus-font.Makefile.paths.diff.gz | patch -p1 --verbose || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+make || exit 1
+make install install-uni install-ref DESTDIR=$PKG || exit 1
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS CHANGES COPYING* INSTALL NEWS OFL.TXT README* \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-noarch-$BUILD.txz
+
diff --git a/source/ap/tmux/slack-desc b/source/ap/tmux/slack-desc
new file mode 100644
index 000000000..f04df6c20
--- /dev/null
+++ b/source/ap/tmux/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+tmux: tmux (terminal multiplexer)
+tmux:
+tmux: tmux is a terminal multiplexer. It enables a number of terminals
+tmux: (or windows) to be accessed and controlled from a single terminal.
+tmux: tmux is intended to be a simple, modern, BSD-licensed alternative to
+tmux: programs such as GNU screen.
+tmux:
+tmux: Homepage: http://tmux.sourceforge.net
+tmux:
+tmux:
+tmux:
diff --git a/source/ap/tmux/tmux.SlackBuild b/source/ap/tmux/tmux.SlackBuild
new file mode 100755
index 000000000..81974f5da
--- /dev/null
+++ b/source/ap/tmux/tmux.SlackBuild
@@ -0,0 +1,149 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=tmux
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ FAQ README TODO examples \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# If there's a CHANGES file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGES ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat CHANGES | head -n 1000 > $DOCSDIR/CHANGES
+ touch -r CHANGES $DOCSDIR/CHANGES
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/ap/vim/patches/7.3.001 b/source/ap/vim/patches/7.3.001
deleted file mode 100644
index 470fec6bb..000000000
--- a/source/ap/vim/patches/7.3.001
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.001
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.001
-Problem: When editing "src/main.c" and 'path' set to "./proto",
- ":find e<C-D" shows ./proto/eval.pro instead of eval.pro.
-Solution: Check for path separator when comparing names. (Nazri Ramliy)
-Files: src/misc1.c
-
-
-*** ../vim-7.3.000/src/misc1.c 2010-08-15 21:57:27.000000000 +0200
---- src/misc1.c 2010-08-16 20:43:25.000000000 +0200
-***************
-*** 9317,9323 ****
- continue; /* it's different when it's shorter */
-
- rival = other_paths[j] + other_path_len - candidate_len;
-! if (fnamecmp(maybe_unique, rival) == 0)
- return FALSE; /* match */
- }
-
---- 9317,9324 ----
- continue; /* it's different when it's shorter */
-
- rival = other_paths[j] + other_path_len - candidate_len;
-! if (fnamecmp(maybe_unique, rival) == 0
-! && (rival == other_paths[j] || vim_ispathsep(*(rival - 1))))
- return FALSE; /* match */
- }
-
-*** ../vim-7.3.000/src/version.c 2010-08-15 21:57:25.000000000 +0200
---- src/version.c 2010-08-16 20:53:09.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 1,
- /**/
-
-
---
-From "know your smileys":
- (:-# Said something he shouldn't have
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.002 b/source/ap/vim/patches/7.3.002
deleted file mode 100644
index 012fed2f9..000000000
--- a/source/ap/vim/patches/7.3.002
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.002
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.002
-Problem: ":find" completion doesn't work when halfway an environment
- variable. (Dominique Pelle)
-Solution: Only use in-path completion when expanding file names. (Nazri
- Ramliy)
-Files: src/ex_docmd.c
-
-
-*** ../vim-7.3.001/src/ex_docmd.c 2010-08-15 21:57:27.000000000 +0200
---- src/ex_docmd.c 2010-08-16 20:51:22.000000000 +0200
-***************
-*** 3465,3471 ****
- case CMD_find:
- case CMD_sfind:
- case CMD_tabfind:
-! xp->xp_context = EXPAND_FILES_IN_PATH;
- break;
- case CMD_cd:
- case CMD_chdir:
---- 3465,3472 ----
- case CMD_find:
- case CMD_sfind:
- case CMD_tabfind:
-! if (xp->xp_context == EXPAND_FILES)
-! xp->xp_context = EXPAND_FILES_IN_PATH;
- break;
- case CMD_cd:
- case CMD_chdir:
-*** ../vim-7.3.001/src/version.c 2010-08-16 21:46:12.000000000 +0200
---- src/version.c 2010-08-16 22:33:13.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 2,
- /**/
-
---
-Warning label on a superhero Halloween costume:
-"Caution: Cape does not enable user to fly."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.003 b/source/ap/vim/patches/7.3.003
deleted file mode 100644
index 8bc9f4710..000000000
--- a/source/ap/vim/patches/7.3.003
+++ /dev/null
@@ -1,45 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.003
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.1.003
-Problem: Crash with specific BufWritePost autocmd. (Peter Odding)
-Solution: Don't free the quickfix title twice. (Lech Lorens)
-Files: src/quickfix.c
-
-
-*** ../vim-7.3.002/src/quickfix.c 2010-08-15 21:57:26.000000000 +0200
---- src/quickfix.c 2010-08-16 21:15:44.000000000 +0200
-***************
-*** 2125,2130 ****
---- 2125,2131 ----
- --qi->qf_lists[idx].qf_count;
- }
- vim_free(qi->qf_lists[idx].qf_title);
-+ qi->qf_lists[idx].qf_title = NULL;
- }
-
- /*
-*** ../vim-7.3.002/src/version.c 2010-08-16 22:33:55.000000000 +0200
---- src/version.c 2010-08-17 20:23:05.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 3,
- /**/
-
---
-From "know your smileys":
- :-X My lips are sealed
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.004 b/source/ap/vim/patches/7.3.004
deleted file mode 100644
index 9c6318a04..000000000
--- a/source/ap/vim/patches/7.3.004
+++ /dev/null
@@ -1,44 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.004
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.004
-Problem: Crash when using very long regexp. (Peter Odding)
-Solution: Reset reg_toolong. (Carlo Teubner)
-Files: src/regexp.c
-
-
-*** ../vim-7.3.003/src/regexp.c 2010-08-15 21:57:29.000000000 +0200
---- src/regexp.c 2010-09-14 10:51:22.000000000 +0200
-***************
-*** 3538,3543 ****
---- 3538,3544 ----
-
- regline = line;
- reglnum = 0;
-+ reg_toolong = FALSE;
-
- /* Simplest case: Anchored match need be tried only once. */
- if (prog->reganch)
-*** ../vim-7.3.003/src/version.c 2010-08-17 20:23:18.000000000 +0200
---- src/version.c 2010-09-14 10:52:09.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 4,
- /**/
-
---
-I have a watch cat! Just break in and she'll watch.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.005 b/source/ap/vim/patches/7.3.005
deleted file mode 100644
index df2026d2b..000000000
--- a/source/ap/vim/patches/7.3.005
+++ /dev/null
@@ -1,96 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.005
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.005
-Problem: Crash when using undotree(). (Christian Brabandt)
-Solution: Increase the list reference count. Add a test for undotree()
- (Lech Lorens)
-Files: src/eval.c, src/testdir/Makefile, src/testdir/test61.in
-
-
-*** ../vim-7.3.004/src/eval.c 2010-08-15 21:57:26.000000000 +0200
---- src/eval.c 2010-09-14 12:43:04.000000000 +0200
-***************
-*** 7075,7081 ****
- }
-
- /*
-! * Add a list entry to dictionary "d".
- * Returns FAIL when out of memory and when key already exists.
- */
- int
---- 7075,7081 ----
- }
-
- /*
-! * Add a list entry to dictionary "d".
- * Returns FAIL when out of memory and when key already exists.
- */
- int
-***************
-*** 7097,7102 ****
---- 7097,7103 ----
- dictitem_free(item);
- return FAIL;
- }
-+ ++list->lv_refcount;
- return OK;
- }
-
-*** ../vim-7.3.004/src/testdir/Makefile 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/Makefile 2010-09-14 12:38:56.000000000 +0200
-***************
-*** 44,50 ****
- $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
-
- clean:
-! -rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* valgrind.pid* viminfo
-
- test1.out: test1.in
- -rm -f $*.failed tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* viminfo
---- 44,50 ----
- $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
-
- clean:
-! -rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* valgrind.* viminfo
-
- test1.out: test1.in
- -rm -f $*.failed tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* viminfo
-*** ../vim-7.3.004/src/testdir/test61.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test61.in 2010-09-14 12:38:56.000000000 +0200
-***************
-*** 4,9 ****
---- 4,13 ----
- Also tests :earlier and :later.
-
- STARTTEST
-+ :echo undotree().entries
-+ ENDTEST
-+
-+ STARTTEST
- :" Delete three characters and undo
- Gx:set ul=100
- x:set ul=100
-*** ../vim-7.3.004/src/version.c 2010-09-14 10:55:24.000000000 +0200
---- src/version.c 2010-09-14 12:39:59.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 5,
- /**/
-
---
-I'm writing a book. I've got the page numbers done.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.006 b/source/ap/vim/patches/7.3.006
deleted file mode 100644
index 41eb75671..000000000
--- a/source/ap/vim/patches/7.3.006
+++ /dev/null
@@ -1,117 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.006
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.006
-Problem: Can't build some multi-byte code with C89.
-Solution: Move code to after declarations. (Joachim Schmitz)
-Files: src/mbyte.c, src/spell.c
-
-
-*** ../vim-7.3.005/src/mbyte.c 2010-08-15 21:57:28.000000000 +0200
---- src/mbyte.c 2010-09-18 13:32:40.000000000 +0200
-***************
-*** 5167,5182 ****
- void
- xim_set_preedit()
- {
-- if (xic == NULL)
-- return;
--
-- xim_set_focus(TRUE);
--
- XVaNestedList attr_list;
- XRectangle spot_area;
- XPoint over_spot;
- int line_space;
-
- if (!xim_has_focus)
- {
- /* hide XIM cursor */
---- 5167,5182 ----
- void
- xim_set_preedit()
- {
- XVaNestedList attr_list;
- XRectangle spot_area;
- XPoint over_spot;
- int line_space;
-
-+ if (xic == NULL)
-+ return;
-+
-+ xim_set_focus(TRUE);
-+
- if (!xim_has_focus)
- {
- /* hide XIM cursor */
-***************
-*** 5554,5565 ****
- void
- xim_set_status_area()
- {
-- if (xic == NULL)
-- return;
--
- XVaNestedList preedit_list = 0, status_list = 0, list = 0;
- XRectangle pre_area, status_area;
-
- if (input_style & XIMStatusArea)
- {
- if (input_style & XIMPreeditArea)
---- 5554,5565 ----
- void
- xim_set_status_area()
- {
- XVaNestedList preedit_list = 0, status_list = 0, list = 0;
- XRectangle pre_area, status_area;
-
-+ if (xic == NULL)
-+ return;
-+
- if (input_style & XIMStatusArea)
- {
- if (input_style & XIMPreeditArea)
-*** ../vim-7.3.005/src/spell.c 2010-08-15 21:57:32.000000000 +0200
---- src/spell.c 2010-09-18 13:34:11.000000000 +0200
-***************
-*** 4679,4685 ****
- buf_T *buf;
- char_u fname[MAXPATHL];
-
-! /* Go through all buffers and handle 'spelllang'. */ //<VN>
- for (buf = firstbuf; buf != NULL; buf = buf->b_next)
- ga_clear(&buf->b_s.b_langp);
-
---- 4679,4685 ----
- buf_T *buf;
- char_u fname[MAXPATHL];
-
-! /* Go through all buffers and handle 'spelllang'. <VN> */
- for (buf = firstbuf; buf != NULL; buf = buf->b_next)
- ga_clear(&buf->b_s.b_langp);
-
-*** ../vim-7.3.005/src/version.c 2010-09-14 12:47:30.000000000 +0200
---- src/version.c 2010-09-18 13:34:23.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 6,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-163. You go outside for the fresh air (at -30 degrees) but open the
- window first to hear new mail arrive.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.007 b/source/ap/vim/patches/7.3.007
deleted file mode 100644
index 30b3745ca..000000000
--- a/source/ap/vim/patches/7.3.007
+++ /dev/null
@@ -1,187 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.007
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.007
-Problem: Python code defines global "buffer". Re-implements a grow-array.
-Solution: Use a grow-array instead of coding the same functionality. Handle
- out-of-memory situation properly.
-Files: src/if_py_both.h
-
-
-*** ../vim-7.3.006/src/if_py_both.h 2010-08-15 21:57:27.000000000 +0200
---- src/if_py_both.h 2010-09-21 16:00:54.000000000 +0200
-***************
-*** 34,39 ****
---- 34,40 ----
- static PyObject *OutputWrite(PyObject *, PyObject *);
- static PyObject *OutputWritelines(PyObject *, PyObject *);
-
-+ /* Function to write a line, points to either msg() or emsg(). */
- typedef void (*writefn)(char_u *);
- static void writer(writefn fn, char_u *str, PyInt n);
-
-***************
-*** 122,173 ****
- return Py_None;
- }
-
-! static char_u *buffer = NULL;
-! static PyInt buffer_len = 0;
-! static PyInt buffer_size = 0;
-!
- static writefn old_fn = NULL;
-
- static void
-- buffer_ensure(PyInt n)
-- {
-- PyInt new_size;
-- char_u *new_buffer;
--
-- if (n < buffer_size)
-- return;
--
-- new_size = buffer_size;
-- while (new_size < n)
-- new_size += 80;
--
-- if (new_size != buffer_size)
-- {
-- new_buffer = alloc((unsigned)new_size);
-- if (new_buffer == NULL)
-- return;
--
-- if (buffer)
-- {
-- memcpy(new_buffer, buffer, buffer_len);
-- vim_free(buffer);
-- }
--
-- buffer = new_buffer;
-- buffer_size = new_size;
-- }
-- }
--
-- static void
- PythonIO_Flush(void)
- {
-! if (old_fn && buffer_len)
- {
-! buffer[buffer_len] = 0;
-! old_fn(buffer);
- }
-!
-! buffer_len = 0;
- }
-
- static void
---- 123,141 ----
- return Py_None;
- }
-
-! /* Buffer IO, we write one whole line at a time. */
-! static garray_T io_ga = {0, 0, 1, 80, NULL};
- static writefn old_fn = NULL;
-
- static void
- PythonIO_Flush(void)
- {
-! if (old_fn != NULL && io_ga.ga_len > 0)
- {
-! ((char_u *)io_ga.ga_data)[io_ga.ga_len] = NUL;
-! old_fn((char_u *)io_ga.ga_data);
- }
-! io_ga.ga_len = 0;
- }
-
- static void
-***************
-*** 175,204 ****
- {
- char_u *ptr;
-
-! if (fn != old_fn && old_fn != NULL)
- PythonIO_Flush();
--
- old_fn = fn;
-
- while (n > 0 && (ptr = memchr(str, '\n', n)) != NULL)
- {
- PyInt len = ptr - str;
-
-! buffer_ensure(buffer_len + len + 1);
-
-! memcpy(buffer + buffer_len, str, len);
-! buffer_len += len;
-! buffer[buffer_len] = 0;
-! fn(buffer);
- str = ptr + 1;
- n -= len + 1;
-! buffer_len = 0;
- }
-
-! /* Put the remaining text into the buffer for later printing */
-! buffer_ensure(buffer_len + n + 1);
-! memcpy(buffer + buffer_len, str, n);
-! buffer_len += n;
- }
-
- /***************/
---- 143,176 ----
- {
- char_u *ptr;
-
-! /* Flush when switching output function. */
-! if (fn != old_fn)
- PythonIO_Flush();
- old_fn = fn;
-
-+ /* Write each NL separated line. Text after the last NL is kept for
-+ * writing later. */
- while (n > 0 && (ptr = memchr(str, '\n', n)) != NULL)
- {
- PyInt len = ptr - str;
-
-! if (ga_grow(&io_ga, len + 1) == FAIL)
-! break;
-
-! mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)len);
-! ((char *)io_ga.ga_data)[io_ga.ga_len + len] = NUL;
-! fn((char_u *)io_ga.ga_data);
- str = ptr + 1;
- n -= len + 1;
-! io_ga.ga_len = 0;
- }
-
-! /* Put the remaining text into io_ga for later printing. */
-! if (n > 0 && ga_grow(&io_ga, n + 1) == OK)
-! {
-! mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)n);
-! io_ga.ga_len += n;
-! }
- }
-
- /***************/
-*** ../vim-7.3.006/src/version.c 2010-09-18 13:36:41.000000000 +0200
---- src/version.c 2010-09-21 16:49:13.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 7,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-180. You maintain more than six e-mail addresses.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.008 b/source/ap/vim/patches/7.3.008
deleted file mode 100644
index 5df7daa8e..000000000
--- a/source/ap/vim/patches/7.3.008
+++ /dev/null
@@ -1,439 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.008
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.008
-Problem: 'cursorbind' is kept in places where 'scrollbind' is reset.
-Solution: Reset 'cursorbind'.
-Files: src/buffer.c, src/diff.c, src/ex_cmds.c, src/ex_cmds2.c,
- src/ex_docmd.c, src/ex_getln.c, src/if_cscope.c, src/macros.h,
- src/quickfix.c, src/search.c, src/tag.c, src/window.c
-
-
-*** ../vim-7.3.007/src/buffer.c 2010-08-15 21:57:32.000000000 +0200
---- src/buffer.c 2010-09-21 16:54:19.000000000 +0200
-***************
-*** 1288,1296 ****
- /* Go to the other buffer. */
- set_curbuf(buf, action);
-
-! #if defined(FEAT_LISTCMDS) && defined(FEAT_SCROLLBIND)
- if (action == DOBUF_SPLIT)
-! curwin->w_p_scb = FALSE; /* reset 'scrollbind' */
- #endif
-
- #if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
---- 1288,1299 ----
- /* Go to the other buffer. */
- set_curbuf(buf, action);
-
-! #if defined(FEAT_LISTCMDS) \
-! && (defined(FEAT_SCROLLBIND) || defined(FEAT_CURSORBIND))
- if (action == DOBUF_SPLIT)
-! {
-! RESET_BINDING(curwin); /* reset 'scrollbind' and 'cursorbind' */
-! }
- #endif
-
- #if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
-***************
-*** 1917,1925 ****
- tabpage_new();
- else if (win_split(0, 0) == FAIL) /* Open in a new window */
- return FAIL;
-! # ifdef FEAT_SCROLLBIND
-! curwin->w_p_scb = FALSE;
-! # endif
- }
- }
- #endif
---- 1920,1926 ----
- tabpage_new();
- else if (win_split(0, 0) == FAIL) /* Open in a new window */
- return FAIL;
-! RESET_BINDING(curwin);
- }
- }
- #endif
-*** ../vim-7.3.007/src/diff.c 2010-08-15 21:57:32.000000000 +0200
---- src/diff.c 2010-09-21 16:14:07.000000000 +0200
-***************
-*** 1127,1137 ****
- # endif
-
- wp->w_p_diff = TRUE;
- #ifdef FEAT_CURSORBIND
-- /* Use cursorbind if it's available */
- wp->w_p_crb = TRUE;
- #endif
-- wp->w_p_scb = TRUE;
- wp->w_p_wrap = FALSE;
- # ifdef FEAT_FOLDING
- curwin = wp;
---- 1127,1139 ----
- # endif
-
- wp->w_p_diff = TRUE;
-+ /* Use 'scrollbind' and 'cursorbind' when available */
-+ #ifdef FEAT_SCROLLBIND
-+ wp->w_p_scb = TRUE;
-+ #endif
- #ifdef FEAT_CURSORBIND
- wp->w_p_crb = TRUE;
- #endif
- wp->w_p_wrap = FALSE;
- # ifdef FEAT_FOLDING
- curwin = wp;
-***************
-*** 1177,1186 ****
- {
- /* Set 'diff', 'scrollbind' off and 'wrap' on. */
- wp->w_p_diff = FALSE;
-! #ifdef FEAT_CURSORBIND
-! wp->w_p_crb = FALSE;
-! #endif
-! wp->w_p_scb = FALSE;
- wp->w_p_wrap = TRUE;
- #ifdef FEAT_FOLDING
- curwin = wp;
---- 1179,1185 ----
- {
- /* Set 'diff', 'scrollbind' off and 'wrap' on. */
- wp->w_p_diff = FALSE;
-! RESET_BINDING(wp);
- wp->w_p_wrap = TRUE;
- #ifdef FEAT_FOLDING
- curwin = wp;
-*** ../vim-7.3.007/src/ex_cmds.c 2010-08-15 21:57:26.000000000 +0200
---- src/ex_cmds.c 2010-09-21 16:15:07.000000000 +0200
-***************
-*** 3498,3506 ****
- curbuf->b_p_bin = FALSE; /* reset 'bin' before reading file */
- curwin->w_p_nu = 0; /* no line numbers */
- curwin->w_p_rnu = 0; /* no relative line numbers */
-! #ifdef FEAT_SCROLLBIND
-! curwin->w_p_scb = FALSE; /* no scroll binding */
-! #endif
- #ifdef FEAT_ARABIC
- curwin->w_p_arab = FALSE; /* no arabic mode */
- #endif
---- 3498,3504 ----
- curbuf->b_p_bin = FALSE; /* reset 'bin' before reading file */
- curwin->w_p_nu = 0; /* no line numbers */
- curwin->w_p_rnu = 0; /* no relative line numbers */
-! RESET_BINDING(curwin); /* no scroll or cursor binding */
- #ifdef FEAT_ARABIC
- curwin->w_p_arab = FALSE; /* no arabic mode */
- #endif
-***************
-*** 5471,5479 ****
- return FALSE;
- curwin->w_p_pvw = TRUE;
- curwin->w_p_wfh = TRUE;
-! # ifdef FEAT_SCROLLBIND
-! curwin->w_p_scb = FALSE; /* don't take over 'scrollbind' */
-! # endif
- # ifdef FEAT_DIFF
- curwin->w_p_diff = FALSE; /* no 'diff' */
- # endif
---- 5469,5476 ----
- return FALSE;
- curwin->w_p_pvw = TRUE;
- curwin->w_p_wfh = TRUE;
-! RESET_BINDING(curwin); /* don't take over 'scrollbind'
-! and 'cursorbind' */
- # ifdef FEAT_DIFF
- curwin->w_p_diff = FALSE; /* no 'diff' */
- # endif
-*** ../vim-7.3.007/src/ex_cmds2.c 2010-08-15 21:57:31.000000000 +0200
---- src/ex_cmds2.c 2010-09-21 16:15:17.000000000 +0200
-***************
-*** 2165,2173 ****
- {
- if (win_split(0, 0) == FAIL)
- return;
-! # ifdef FEAT_SCROLLBIND
-! curwin->w_p_scb = FALSE;
-! # endif
- }
- else
- #endif
---- 2165,2171 ----
- {
- if (win_split(0, 0) == FAIL)
- return;
-! RESET_BINDING(curwin);
- }
- else
- #endif
-*** ../vim-7.3.007/src/ex_docmd.c 2010-08-16 22:33:55.000000000 +0200
---- src/ex_docmd.c 2010-09-21 16:15:39.000000000 +0200
-***************
-*** 6898,6906 ****
- # ifdef FEAT_WINDOWS
- if (win_split(0, 0) == FAIL)
- return;
-! # ifdef FEAT_SCROLLBIND
-! curwin->w_p_scb = FALSE;
-! # endif
-
- /* When splitting the window, create a new alist. Otherwise the
- * existing one is overwritten. */
---- 6898,6904 ----
- # ifdef FEAT_WINDOWS
- if (win_split(0, 0) == FAIL)
- return;
-! RESET_BINDING(curwin);
-
- /* When splitting the window, create a new alist. Otherwise the
- * existing one is overwritten. */
-***************
-*** 7300,7306 ****
- || cmdmod.browse
- # endif
- )
-! curwin->w_p_scb = FALSE;
- else
- do_check_scrollbind(FALSE);
- # endif
---- 7298,7306 ----
- || cmdmod.browse
- # endif
- )
-! {
-! RESET_BINDING(curwin);
-! }
- else
- do_check_scrollbind(FALSE);
- # endif
-*** ../vim-7.3.007/src/ex_getln.c 2010-08-15 21:57:28.000000000 +0200
---- src/ex_getln.c 2010-09-21 16:15:55.000000000 +0200
-***************
-*** 6147,6155 ****
- curwin->w_p_rl = cmdmsg_rl;
- cmdmsg_rl = FALSE;
- # endif
-! # ifdef FEAT_SCROLLBIND
-! curwin->w_p_scb = FALSE;
-! # endif
-
- # ifdef FEAT_AUTOCMD
- /* Do execute autocommands for setting the filetype (load syntax). */
---- 6147,6153 ----
- curwin->w_p_rl = cmdmsg_rl;
- cmdmsg_rl = FALSE;
- # endif
-! RESET_BINDING(curwin);
-
- # ifdef FEAT_AUTOCMD
- /* Do execute autocommands for setting the filetype (load syntax). */
-*** ../vim-7.3.007/src/if_cscope.c 2010-08-15 21:57:32.000000000 +0200
---- src/if_cscope.c 2010-09-21 16:16:26.000000000 +0200
-***************
-*** 1274,1282 ****
- {
- win_split(postponed_split > 0 ? postponed_split : 0,
- postponed_split_flags);
-! # ifdef FEAT_SCROLLBIND
-! curwin->w_p_scb = FALSE;
-! # endif
- postponed_split = 0;
- }
- # endif
---- 1274,1280 ----
- {
- win_split(postponed_split > 0 ? postponed_split : 0,
- postponed_split_flags);
-! RESET_BINDING(curwin);
- postponed_split = 0;
- }
- # endif
-*** ../vim-7.3.007/src/macros.h 2010-08-15 21:57:28.000000000 +0200
---- src/macros.h 2010-09-21 16:13:10.000000000 +0200
-***************
-*** 285,287 ****
---- 285,301 ----
- #else
- # define DO_AUTOCHDIR
- #endif
-+
-+ #if defined(FEAT_SCROLLBIND) && defined(FEAT_CURSORBIND)
-+ # define RESET_BINDING(wp) (wp)->w_p_scb = FALSE; (wp)->w_p_crb = FALSE
-+ #else
-+ # if defined(FEAT_SCROLLBIND)
-+ # define RESET_BINDING(wp) (wp)->w_p_scb = FALSE
-+ # else
-+ # if defined(FEAT_CURSORBIND)
-+ # define RESET_BINDING(wp) (wp)->w_p_crb = FALSE
-+ # else
-+ # define RESET_BINDING(wp)
-+ # endif
-+ # endif
-+ #endif
-*** ../vim-7.3.007/src/quickfix.c 2010-08-17 20:23:18.000000000 +0200
---- src/quickfix.c 2010-09-21 16:17:17.000000000 +0200
-***************
-*** 1656,1664 ****
- opened_window = TRUE; /* close it when fail */
- p_swb = empty_option; /* don't split again */
- swb_flags = 0;
-! # ifdef FEAT_SCROLLBIND
-! curwin->w_p_scb = FALSE;
-! # endif
- if (ll_ref != NULL)
- {
- /* The new window should use the location list from the
---- 1656,1662 ----
- opened_window = TRUE; /* close it when fail */
- p_swb = empty_option; /* don't split again */
- swb_flags = 0;
-! RESET_BINDING(curwin);
- if (ll_ref != NULL)
- {
- /* The new window should use the location list from the
-***************
-*** 2334,2342 ****
- win_goto(lastwin);
- if (win_split(height, WSP_BELOW | WSP_NEWLOC) == FAIL)
- return; /* not enough room for window */
-! #ifdef FEAT_SCROLLBIND
-! curwin->w_p_scb = FALSE;
-! #endif
-
- if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow)
- {
---- 2332,2338 ----
- win_goto(lastwin);
- if (win_split(height, WSP_BELOW | WSP_NEWLOC) == FAIL)
- return; /* not enough room for window */
-! RESET_BINDING(curwin);
-
- if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow)
- {
-*** ../vim-7.3.007/src/search.c 2010-08-15 21:57:32.000000000 +0200
---- src/search.c 2010-09-21 16:17:28.000000000 +0200
-***************
-*** 5075,5083 ****
- if (win_split(0, 0) == FAIL)
- #endif
- break;
-! #ifdef FEAT_SCROLLBIND
-! curwin->w_p_scb = FALSE;
-! #endif
- }
- if (depth == -1)
- {
---- 5075,5081 ----
- if (win_split(0, 0) == FAIL)
- #endif
- break;
-! RESET_BINDING(curwin);
- }
- if (depth == -1)
- {
-*** ../vim-7.3.007/src/tag.c 2010-08-15 21:57:25.000000000 +0200
---- src/tag.c 2010-09-21 16:17:51.000000000 +0200
-***************
-*** 3143,3151 ****
- {
- win_split(postponed_split > 0 ? postponed_split : 0,
- postponed_split_flags);
-! # ifdef FEAT_SCROLLBIND
-! curwin->w_p_scb = FALSE;
-! # endif
- }
- #endif
-
---- 3143,3149 ----
- {
- win_split(postponed_split > 0 ? postponed_split : 0,
- postponed_split_flags);
-! RESET_BINDING(curwin);
- }
- #endif
-
-*** ../vim-7.3.007/src/window.c 2010-08-15 21:57:32.000000000 +0200
---- src/window.c 2010-09-21 16:18:44.000000000 +0200
-***************
-*** 525,533 ****
- setpcmark();
- if (win_split(0, 0) == OK)
- {
-! # ifdef FEAT_SCROLLBIND
-! curwin->w_p_scb = FALSE;
-! # endif
- (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL,
- ECMD_HIDE, NULL);
- if (nchar == 'F' && lnum >= 0)
---- 525,531 ----
- setpcmark();
- if (win_split(0, 0) == OK)
- {
-! RESET_BINDING(curwin);
- (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL,
- ECMD_HIDE, NULL);
- if (nchar == 'F' && lnum >= 0)
-***************
-*** 3277,3285 ****
- if (aucmd_win != NULL)
- {
- win_init_some(aucmd_win, curwin);
-! # ifdef FEAT_SCROLLBIND
-! aucmd_win->w_p_scb = FALSE;
-! # endif
- new_frame(aucmd_win);
- }
- }
---- 3275,3281 ----
- if (aucmd_win != NULL)
- {
- win_init_some(aucmd_win, curwin);
-! RESET_BINDING(aucmd_win);
- new_frame(aucmd_win);
- }
- }
-***************
-*** 3320,3329 ****
- /* First window in new tab page, initialize it from "oldwin". */
- win_init(curwin, oldwin, 0);
-
-! # ifdef FEAT_SCROLLBIND
-! /* We don't want scroll-binding in the first window. */
-! curwin->w_p_scb = FALSE;
-! # endif
- }
- #endif
-
---- 3316,3323 ----
- /* First window in new tab page, initialize it from "oldwin". */
- win_init(curwin, oldwin, 0);
-
-! /* We don't want cursor- and scroll-binding in the first window. */
-! RESET_BINDING(curwin);
- }
- #endif
-
-*** ../vim-7.3.007/src/version.c 2010-09-21 16:49:29.000000000 +0200
---- src/version.c 2010-09-21 16:53:16.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 8,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-181. You make up words that go with the "happy tune" your modem makes
- while dialing your ISP.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.009 b/source/ap/vim/patches/7.3.009
deleted file mode 100644
index 317677d02..000000000
--- a/source/ap/vim/patches/7.3.009
+++ /dev/null
@@ -1,99 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.009
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.009
-Problem: Win32: Crash on Windows when using a bad argument for strftime().
- (Christian Brabandt)
-Solution: Use the bad_param_handler(). (Mike Williams)
-Files: src/os_win32.c
-
-
-*** ../vim-7.3.008/src/os_win32.c 2010-08-15 21:57:27.000000000 +0200
---- src/os_win32.c 2010-09-21 17:02:54.000000000 +0200
-***************
-*** 1615,1620 ****
---- 1615,1649 ----
- return TRUE;
- }
-
-+ #if ((defined(__MINGW32__) || defined (__CYGWIN32__)) && \
-+ __MSVCRT_VERSION__ >= 0x800) || (defined(_MSC_VER) && _MSC_VER >= 1400)
-+ /*
-+ * Bad parameter handler.
-+ *
-+ * Certain MS CRT functions will intentionally crash when passed invalid
-+ * parameters to highlight possible security holes. Setting this function as
-+ * the bad parameter handler will prevent the crash.
-+ *
-+ * In debug builds the parameters contain CRT information that might help track
-+ * down the source of a problem, but in non-debug builds the arguments are all
-+ * NULL/0. Debug builds will also produce assert dialogs from the CRT, it is
-+ * worth allowing these to make debugging of issues easier.
-+ */
-+ static void
-+ bad_param_handler(const wchar_t *expression,
-+ const wchar_t *function,
-+ const wchar_t *file,
-+ unsigned int line,
-+ uintptr_t pReserved)
-+ {
-+ }
-+
-+ # define SET_INVALID_PARAM_HANDLER \
-+ ((void)_set_invalid_parameter_handler(bad_param_handler))
-+ #else
-+ # define SET_INVALID_PARAM_HANDLER
-+ #endif
-+
- #ifdef FEAT_GUI_W32
-
- /*
-***************
-*** 1627,1632 ****
---- 1656,1664 ----
- extern int _fmode;
- #endif
-
-+ /* Silently handle invalid parameters to CRT functions */
-+ SET_INVALID_PARAM_HANDLER;
-+
- /* Let critical errors result in a failure, not in a dialog box. Required
- * for the timestamp test to work on removed floppies. */
- SetErrorMode(SEM_FAILCRITICALERRORS);
-***************
-*** 2103,2108 ****
---- 2135,2143 ----
- extern int _fmode;
- #endif
-
-+ /* Silently handle invalid parameters to CRT functions */
-+ SET_INVALID_PARAM_HANDLER;
-+
- /* Let critical errors result in a failure, not in a dialog box. Required
- * for the timestamp test to work on removed floppies. */
- SetErrorMode(SEM_FAILCRITICALERRORS);
-*** ../vim-7.3.008/src/version.c 2010-09-21 16:56:29.000000000 +0200
---- src/version.c 2010-09-21 17:27:36.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 9,
- /**/
-
---
-Wizards had always known that the act of observation changed the thing that
-was observed, and sometimes forgot that it also changed the observer too.
- Terry Pratchett - Interesting times
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.010 b/source/ap/vim/patches/7.3.010
deleted file mode 100644
index be0167ae0..000000000
--- a/source/ap/vim/patches/7.3.010
+++ /dev/null
@@ -1,167 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.010
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.010
-Problem: Mac GUI: Missing break statements.
-Solution: Add the break statements. (Dominique Pelle)
-Files: src/gui_mac.c
-
-
-*** ../vim-7.3.009/src/gui_mac.c 2010-08-15 21:57:28.000000000 +0200
---- src/gui_mac.c 2010-09-21 17:33:13.000000000 +0200
-***************
-*** 1480,1486 ****
- *
- * Returns the index inside the menu wher
- */
-! short /* Shoulde we return MenuItemIndex? */
- gui_mac_get_menu_item_index(vimmenu_T *pMenu)
- {
- short index;
---- 1480,1486 ----
- *
- * Returns the index inside the menu wher
- */
-! short /* Should we return MenuItemIndex? */
- gui_mac_get_menu_item_index(vimmenu_T *pMenu)
- {
- short index;
-***************
-*** 1823,1829 ****
- p.h += gui.scrollbar_width;
- if (gui.which_scrollbars[SBAR_RIGHT])
- p.h += gui.scrollbar_width;
-! /* ideal height is as heigh as we can get */
- p.v = 15 * 1024;
-
- thePart = IsWindowInStandardState(whichWindow, &p, &r)
---- 1823,1829 ----
- p.h += gui.scrollbar_width;
- if (gui.which_scrollbars[SBAR_RIGHT])
- p.h += gui.scrollbar_width;
-! /* ideal height is as high as we can get */
- p.v = 15 * 1024;
-
- thePart = IsWindowInStandardState(whichWindow, &p, &r)
-***************
-*** 4481,4487 ****
- * event arrives. No need to check for input_buf_full because we are
- * returning as soon as it contains a single char.
- */
-! /* TODO: reduce wtime accordinly??? */
- if (wtime > -1)
- sleeppyTick = 60 * wtime / 1000;
- else
---- 4481,4487 ----
- * event arrives. No need to check for input_buf_full because we are
- * returning as soon as it contains a single char.
- */
-! /* TODO: reduce wtime accordingly??? */
- if (wtime > -1)
- sleeppyTick = 60 * wtime / 1000;
- else
-***************
-*** 5723,5735 ****
- iconDITL = GetResource('DITL', 131);
- switch (type)
- {
-! case VIM_GENERIC: useIcon = kNoteIcon;
-! case VIM_ERROR: useIcon = kStopIcon;
-! case VIM_WARNING: useIcon = kCautionIcon;
-! case VIM_INFO: useIcon = kNoteIcon;
-! case VIM_QUESTION: useIcon = kNoteIcon;
-! default: useIcon = kStopIcon;
-! };
- AppendDITL(theDialog, iconDITL, overlayDITL);
- ReleaseResource(iconDITL);
- GetDialogItem(theDialog, iconItm.idx, &itemType, &itemHandle, &box);
---- 5723,5735 ----
- iconDITL = GetResource('DITL', 131);
- switch (type)
- {
-! case VIM_GENERIC:
-! case VIM_INFO:
-! case VIM_QUESTION: useIcon = kNoteIcon; break;
-! case VIM_WARNING: useIcon = kCautionIcon; break;
-! case VIM_ERROR: useIcon = kStopIcon; break;
-! default: useIcon = kStopIcon;
-! }
- AppendDITL(theDialog, iconDITL, overlayDITL);
- ReleaseResource(iconDITL);
- GetDialogItem(theDialog, iconItm.idx, &itemType, &itemHandle, &box);
-***************
-*** 5892,5898 ****
-
- return itemHit;
- /*
-! * Usefull thing which could be used
- * SetDialogTimeout(): Auto click a button after timeout
- * SetDialogTracksCursor() : Get the I-beam cursor over input box
- * MoveDialogItem(): Probably better than SetDialogItem
---- 5892,5898 ----
-
- return itemHit;
- /*
-! * Useful thing which could be used
- * SetDialogTimeout(): Auto click a button after timeout
- * SetDialogTracksCursor() : Get the I-beam cursor over input box
- * MoveDialogItem(): Probably better than SetDialogItem
-***************
-*** 6100,6106 ****
- #endif
-
- /*
-! * Transfered from os_mac.c for MacOS X using os_unix.c prep work
- */
-
- int
---- 6100,6106 ----
- #endif
-
- /*
-! * Transferred from os_mac.c for MacOS X using os_unix.c prep work
- */
-
- int
-***************
-*** 6543,6549 ****
- static ControlRef dataBrowser = NULL;
-
- // when the tabline is hidden, vim doesn't call update_tabline(). When
-! // the tabline is shown again, show_tabline() is called before upate_tabline(),
- // and because of this, the tab labels and vims internal tabs are out of sync
- // for a very short time. to prevent inconsistent state, we store the labels
- // of the tabs, not pointers to the tabs (which are invalid for a short time).
---- 6543,6549 ----
- static ControlRef dataBrowser = NULL;
-
- // when the tabline is hidden, vim doesn't call update_tabline(). When
-! // the tabline is shown again, show_tabline() is called before update_tabline(),
- // and because of this, the tab labels and vims internal tabs are out of sync
- // for a very short time. to prevent inconsistent state, we store the labels
- // of the tabs, not pointers to the tabs (which are invalid for a short time).
-*** ../vim-7.3.009/src/version.c 2010-09-21 17:29:19.000000000 +0200
---- src/version.c 2010-09-21 17:33:22.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 10,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-182. You may not know what is happening in the world, but you know
- every bit of net-gossip there is.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.011 b/source/ap/vim/patches/7.3.011
deleted file mode 100644
index 0f40a3f2b..000000000
--- a/source/ap/vim/patches/7.3.011
+++ /dev/null
@@ -1,290 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.011
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.011
-Problem: X11 clipboard doesn't work in Athena/Motif GUI. First selection
- after a shell command doesn't work.
-Solution: When using the GUI use XtLastTimestampProcessed() instead of
- changing a property. (partly by Toni Ronkko)
- When executing a shell command disown the selection.
-Files: src/ui.c, src/os_unix.c
-
-
-*** ../vim-7.3.010/src/ui.c 2010-08-15 21:57:31.000000000 +0200
---- src/ui.c 2010-09-21 22:08:22.000000000 +0200
-***************
-*** 469,475 ****
- */
- #ifdef FEAT_X11
- /* Always own the selection, we might have lost it without being
-! * notified. */
- if (cbd->available)
- {
- int was_owned = cbd->owned;
---- 469,475 ----
- */
- #ifdef FEAT_X11
- /* Always own the selection, we might have lost it without being
-! * notified, e.g. during a ":sh" command. */
- if (cbd->available)
- {
- int was_owned = cbd->owned;
-***************
-*** 1944,1953 ****
- */
-
- static Boolean clip_x11_convert_selection_cb __ARGS((Widget, Atom *, Atom *, Atom *, XtPointer *, long_u *, int *));
--
- static void clip_x11_lose_ownership_cb __ARGS((Widget, Atom *));
--
- static void clip_x11_timestamp_cb __ARGS((Widget w, XtPointer n, XEvent *event, Boolean *cont));
-
- /*
- * Property callback to get a timestamp for XtOwnSelection.
---- 1944,1952 ----
- */
-
- static Boolean clip_x11_convert_selection_cb __ARGS((Widget, Atom *, Atom *, Atom *, XtPointer *, long_u *, int *));
- static void clip_x11_lose_ownership_cb __ARGS((Widget, Atom *));
- static void clip_x11_timestamp_cb __ARGS((Widget w, XtPointer n, XEvent *event, Boolean *cont));
-+ static void clip_x11_request_selection_cb __ARGS((Widget, XtPointer, Atom *, Atom *, XtPointer, long_u *, int *));
-
- /*
- * Property callback to get a timestamp for XtOwnSelection.
-***************
-*** 1985,1992 ****
- return;
-
- /* Get the selection, using the event timestamp. */
-! XtOwnSelection(w, xproperty->atom, xproperty->time,
-! clip_x11_convert_selection_cb, clip_x11_lose_ownership_cb, NULL);
- }
-
- void
---- 1984,2000 ----
- return;
-
- /* Get the selection, using the event timestamp. */
-! if (XtOwnSelection(w, xproperty->atom, xproperty->time,
-! clip_x11_convert_selection_cb, clip_x11_lose_ownership_cb,
-! NULL) == OK)
-! {
-! /* Set the "owned" flag now, there may have been a call to
-! * lose_ownership_cb in between. */
-! if (xproperty->atom == clip_plus.sel_atom)
-! clip_plus.owned = TRUE;
-! else
-! clip_star.owned = TRUE;
-! }
- }
-
- void
-***************
-*** 1997,2004 ****
- /*(XtEventHandler)*/clip_x11_timestamp_cb, (XtPointer)NULL);
- }
-
-- static void clip_x11_request_selection_cb __ARGS((Widget, XtPointer, Atom *, Atom *, XtPointer, long_u *, int *));
--
- static void
- clip_x11_request_selection_cb(w, success, sel_atom, type, value, length,
- format)
---- 2005,2010 ----
-***************
-*** 2336,2342 ****
-
- void
- clip_x11_lose_selection(myShell, cbd)
-! Widget myShell;
- VimClipboard *cbd;
- {
- XtDisownSelection(myShell, cbd->sel_atom, CurrentTime);
---- 2342,2348 ----
-
- void
- clip_x11_lose_selection(myShell, cbd)
-! Widget myShell;
- VimClipboard *cbd;
- {
- XtDisownSelection(myShell, cbd->sel_atom, CurrentTime);
-***************
-*** 2344,2357 ****
-
- int
- clip_x11_own_selection(myShell, cbd)
-! Widget myShell;
- VimClipboard *cbd;
- {
-! /* Get the time by a zero-length append, clip_x11_timestamp_cb will be
-! * called with the current timestamp. */
-! if (!XChangeProperty(XtDisplay(myShell), XtWindow(myShell), cbd->sel_atom,
-! timestamp_atom, 32, PropModeAppend, NULL, 0))
- return FAIL;
- /* Flush is required in a terminal as nothing else is doing it. */
- XFlush(XtDisplay(myShell));
- return OK;
---- 2350,2378 ----
-
- int
- clip_x11_own_selection(myShell, cbd)
-! Widget myShell;
- VimClipboard *cbd;
- {
-! /* When using the GUI we have proper timestamps, use the one of the last
-! * event. When in the console we don't get events (the terminal gets
-! * them), Get the time by a zero-length append, clip_x11_timestamp_cb will
-! * be called with the current timestamp. */
-! #ifdef FEAT_GUI
-! if (gui.in_use)
-! {
-! if (XtOwnSelection(myShell, cbd->sel_atom,
-! XtLastTimestampProcessed(XtDisplay(myShell)),
-! clip_x11_convert_selection_cb, clip_x11_lose_ownership_cb,
-! NULL) == False)
- return FAIL;
-+ }
-+ else
-+ #endif
-+ {
-+ if (!XChangeProperty(XtDisplay(myShell), XtWindow(myShell),
-+ cbd->sel_atom, timestamp_atom, 32, PropModeAppend, NULL, 0))
-+ return FAIL;
-+ }
- /* Flush is required in a terminal as nothing else is doing it. */
- XFlush(XtDisplay(myShell));
- return OK;
-*** ../vim-7.3.010/src/os_unix.c 2010-08-15 21:57:30.000000000 +0200
---- src/os_unix.c 2010-09-21 21:59:25.000000000 +0200
-***************
-*** 1123,1128 ****
---- 1123,1152 ----
- }
- #endif
-
-+ # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
-+ static void loose_clipboard __ARGS((void));
-+
-+ /*
-+ * Called when Vim is going to sleep or execute a shell command.
-+ * We can't respond to requests for the X selections. Lose them, otherwise
-+ * other applications will hang. But first copy the text to cut buffer 0.
-+ */
-+ static void
-+ loose_clipboard()
-+ {
-+ if (clip_star.owned || clip_plus.owned)
-+ {
-+ x11_export_final_selection();
-+ if (clip_star.owned)
-+ clip_lose_selection(&clip_star);
-+ if (clip_plus.owned)
-+ clip_lose_selection(&clip_plus);
-+ if (x11_display != NULL)
-+ XFlush(x11_display);
-+ }
-+ }
-+ #endif
-+
- /*
- * If the machine has job control, use it to suspend the program,
- * otherwise fake it by starting a new shell.
-***************
-*** 1137,1155 ****
- out_flush(); /* needed to disable mouse on some systems */
-
- # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
-! /* Since we are going to sleep, we can't respond to requests for the X
-! * selections. Lose them, otherwise other applications will hang. But
-! * first copy the text to cut buffer 0. */
-! if (clip_star.owned || clip_plus.owned)
-! {
-! x11_export_final_selection();
-! if (clip_star.owned)
-! clip_lose_selection(&clip_star);
-! if (clip_plus.owned)
-! clip_lose_selection(&clip_plus);
-! if (x11_display != NULL)
-! XFlush(x11_display);
-! }
- # endif
-
- # if defined(_REENTRANT) && defined(SIGCONT)
---- 1161,1167 ----
- out_flush(); /* needed to disable mouse on some systems */
-
- # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
-! loose_clipboard();
- # endif
-
- # if defined(_REENTRANT) && defined(SIGCONT)
-***************
-*** 3706,3711 ****
---- 3718,3727 ----
- if (options & SHELL_COOKED)
- settmode(TMODE_COOK); /* set to normal mode */
-
-+ # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
-+ loose_clipboard();
-+ # endif
-+
- # ifdef __EMX__
- if (cmd == NULL)
- x = system(""); /* this starts an interactive shell in emx */
-***************
-*** 3814,3826 ****
- # endif
- int did_settmode = FALSE; /* settmode(TMODE_RAW) called */
-
- out_flush();
- if (options & SHELL_COOKED)
- settmode(TMODE_COOK); /* set to normal mode */
-
-! newcmd = vim_strsave(p_sh);
-! if (newcmd == NULL) /* out of memory */
-! goto error;
-
- /*
- * Do this loop twice:
---- 3830,3846 ----
- # endif
- int did_settmode = FALSE; /* settmode(TMODE_RAW) called */
-
-+ newcmd = vim_strsave(p_sh);
-+ if (newcmd == NULL) /* out of memory */
-+ goto error;
-+
- out_flush();
- if (options & SHELL_COOKED)
- settmode(TMODE_COOK); /* set to normal mode */
-
-! # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
-! loose_clipboard();
-! # endif
-
- /*
- * Do this loop twice:
-*** ../vim-7.3.010/src/version.c 2010-09-21 17:34:26.000000000 +0200
---- src/version.c 2010-09-21 20:45:02.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 11,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-184. You no longer ask prospective dates what their sign is, instead
- your line is "Hi, what's your URL?"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.012 b/source/ap/vim/patches/7.3.012
deleted file mode 100644
index b0b13ffd9..000000000
--- a/source/ap/vim/patches/7.3.012
+++ /dev/null
@@ -1,71 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.012
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.012
-Problem: Problems building with MingW.
-Solution: Adjust the MingW makefiles. (Jon)
-Files: src/Make_ming.mak, src/GvimExt/Make_ming.mak
-
-
-*** ../vim-7.3.011/src/Make_ming.mak 2010-08-15 21:57:32.000000000 +0200
---- src/Make_ming.mak 2010-09-29 12:32:13.000000000 +0200
-***************
-*** 303,309 ****
- endif
- endif
- CC := $(CROSS_COMPILE)gcc
-! WINDRES := $(CROSS_COMPILE)windres
-
- #>>>>> end of choices
- ###########################################################################
---- 303,309 ----
- endif
- endif
- CC := $(CROSS_COMPILE)gcc
-! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" -
-
- #>>>>> end of choices
- ###########################################################################
-*** ../vim-7.3.011/src/GvimExt/Make_ming.mak 2010-08-15 21:57:29.000000000 +0200
---- src/GvimExt/Make_ming.mak 2010-09-29 12:31:07.000000000 +0200
-***************
-*** 33,39 ****
- endif
- endif
- CXX := $(CROSS_COMPILE)g++
-! WINDRES := $(CROSS_COMPILE)windres
- LIBS := -luuid
- RES := gvimext.res
- DEFFILE = gvimext_ming.def
---- 33,39 ----
- endif
- endif
- CXX := $(CROSS_COMPILE)g++
-! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" -
- LIBS := -luuid
- RES := gvimext.res
- DEFFILE = gvimext_ming.def
-*** ../vim-7.3.011/src/version.c 2010-09-21 22:09:28.000000000 +0200
---- src/version.c 2010-09-29 12:36:42.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 12,
- /**/
-
---
-If evolution theories are correct, humans will soon grow a third
-hand for operating the mouse.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.013 b/source/ap/vim/patches/7.3.013
deleted file mode 100644
index 489aa0eec..000000000
--- a/source/ap/vim/patches/7.3.013
+++ /dev/null
@@ -1,208 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.013
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.013
-Problem: Dynamic loading with Ruby doesn't work for 1.9.2.
-Solution: Handle rb_str2cstr differently. Also support dynamic loading on
- Unix. (Jon Maken)
-Files: src/if_ruby.c
-
-
-*** ../vim-7.3.012/src/if_ruby.c 2010-08-15 21:57:25.000000000 +0200
---- src/if_ruby.c 2010-09-29 12:49:50.000000000 +0200
-***************
-*** 4,9 ****
---- 4,10 ----
- *
- * Ruby interface by Shugo Maeda
- * with improvements by SegPhault (Ryan Paul)
-+ * with improvements by Jon Maken
- *
- * Do ":help uganda" in Vim to read copying and usage conditions.
- * Do ":help credits" in Vim to see a list of people who contributed.
-***************
-*** 26,37 ****
- # define RUBYEXTERN extern
- #endif
-
- /*
- * This is tricky. In ruby.h there is (inline) function rb_class_of()
- * definition. This function use these variables. But we want function to
- * use dll_* variables.
- */
-- #ifdef DYNAMIC_RUBY
- # define rb_cFalseClass (*dll_rb_cFalseClass)
- # define rb_cFixnum (*dll_rb_cFixnum)
- # define rb_cNilClass (*dll_rb_cNilClass)
---- 27,38 ----
- # define RUBYEXTERN extern
- #endif
-
-+ #ifdef DYNAMIC_RUBY
- /*
- * This is tricky. In ruby.h there is (inline) function rb_class_of()
- * definition. This function use these variables. But we want function to
- * use dll_* variables.
- */
- # define rb_cFalseClass (*dll_rb_cFalseClass)
- # define rb_cFixnum (*dll_rb_cFixnum)
- # define rb_cNilClass (*dll_rb_cNilClass)
-***************
-*** 46,53 ****
---- 47,67 ----
- */
- # define RUBY_EXPORT
- # endif
-+
-+ #if !(defined(WIN32) || defined(_WIN64))
-+ # include <dlfcn.h>
-+ # define HANDLE void*
-+ # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
-+ # define symbol_from_dll dlsym
-+ # define close_dll dlclose
-+ #else
-+ # define load_dll LoadLibrary
-+ # define symbol_from_dll GetProcAddress
-+ # define close_dll FreeLibrary
- #endif
-
-+ #endif /* ifdef DYNAMIC_RUBY */
-+
- /* suggested by Ariya Mizutani */
- #if (_MSC_VER == 1200)
- # undef _WIN32_WINNT
-***************
-*** 166,172 ****
- #define rb_obj_as_string dll_rb_obj_as_string
- #define rb_obj_id dll_rb_obj_id
- #define rb_raise dll_rb_raise
-- #define rb_str2cstr dll_rb_str2cstr
- #define rb_str_cat dll_rb_str_cat
- #define rb_str_concat dll_rb_str_concat
- #define rb_str_new dll_rb_str_new
---- 180,185 ----
-***************
-*** 178,187 ****
---- 191,203 ----
- # define rb_str_new2 dll_rb_str_new2
- #endif
- #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
-+ # define rb_string_value dll_rb_string_value
- # define rb_string_value_ptr dll_rb_string_value_ptr
- # define rb_float_new dll_rb_float_new
- # define rb_ary_new dll_rb_ary_new
- # define rb_ary_push dll_rb_ary_push
-+ #else
-+ # define rb_str2cstr dll_rb_str2cstr
- #endif
- #ifdef RUBY19_OR_LATER
- # define rb_errinfo dll_rb_errinfo
-***************
-*** 246,252 ****
---- 262,272 ----
- static VALUE (*dll_rb_obj_as_string) (VALUE);
- static VALUE (*dll_rb_obj_id) (VALUE);
- static void (*dll_rb_raise) (VALUE, const char*, ...);
-+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
-+ static VALUE (*dll_rb_string_value) (volatile VALUE*);
-+ #else
- static char *(*dll_rb_str2cstr) (VALUE,int*);
-+ #endif
- static VALUE (*dll_rb_str_cat) (VALUE, const char*, long);
- static VALUE (*dll_rb_str_concat) (VALUE, VALUE);
- static VALUE (*dll_rb_str_new) (const char*, long);
-***************
-*** 347,353 ****
---- 367,377 ----
- {"rb_obj_as_string", (RUBY_PROC*)&dll_rb_obj_as_string},
- {"rb_obj_id", (RUBY_PROC*)&dll_rb_obj_id},
- {"rb_raise", (RUBY_PROC*)&dll_rb_raise},
-+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
-+ {"rb_string_value", (RUBY_PROC*)&dll_rb_string_value},
-+ #else
- {"rb_str2cstr", (RUBY_PROC*)&dll_rb_str2cstr},
-+ #endif
- {"rb_str_cat", (RUBY_PROC*)&dll_rb_str_cat},
- {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat},
- {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new},
-***************
-*** 399,405 ****
- {
- if (hinstRuby)
- {
-! FreeLibrary(hinstRuby);
- hinstRuby = 0;
- }
- }
---- 423,429 ----
- {
- if (hinstRuby)
- {
-! close_dll(hinstRuby);
- hinstRuby = 0;
- }
- }
-***************
-*** 416,422 ****
-
- if (hinstRuby)
- return OK;
-! hinstRuby = LoadLibrary(libname);
- if (!hinstRuby)
- {
- if (verbose)
---- 440,446 ----
-
- if (hinstRuby)
- return OK;
-! hinstRuby = load_dll(libname);
- if (!hinstRuby)
- {
- if (verbose)
-***************
-*** 426,435 ****
-
- for (i = 0; ruby_funcname_table[i].ptr; ++i)
- {
-! if (!(*ruby_funcname_table[i].ptr = GetProcAddress(hinstRuby,
- ruby_funcname_table[i].name)))
- {
-! FreeLibrary(hinstRuby);
- hinstRuby = 0;
- if (verbose)
- EMSG2(_(e_loadfunc), ruby_funcname_table[i].name);
---- 450,459 ----
-
- for (i = 0; ruby_funcname_table[i].ptr; ++i)
- {
-! if (!(*ruby_funcname_table[i].ptr = symbol_from_dll(hinstRuby,
- ruby_funcname_table[i].name)))
- {
-! close_dll(hinstRuby);
- hinstRuby = 0;
- if (verbose)
- EMSG2(_(e_loadfunc), ruby_funcname_table[i].name);
-*** ../vim-7.3.012/src/version.c 2010-09-29 12:37:53.000000000 +0200
---- src/version.c 2010-09-29 13:00:42.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 13,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-223. You set up a web-cam as your home's security system.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.014 b/source/ap/vim/patches/7.3.014
deleted file mode 100644
index a60d4769e..000000000
--- a/source/ap/vim/patches/7.3.014
+++ /dev/null
@@ -1,87 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.014
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.014
-Problem: Ending a line in a backslash inside an ":append" or ":insert"
- command in Ex mode doesn't work properly. (Ray Frush)
-Solution: Halve the number of backslashes, only insert a NUL after an odd
- number of backslashes.
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.013/src/ex_getln.c 2010-09-21 16:56:29.000000000 +0200
---- src/ex_getln.c 2010-09-29 15:47:56.000000000 +0200
-***************
-*** 2342,2356 ****
- windgoto(msg_row, msg_col);
- pend = (char_u *)(line_ga.ga_data) + line_ga.ga_len;
-
-! /* we are done when a NL is entered, but not when it comes after a
-! * backslash */
-! if (line_ga.ga_len > 0 && pend[-1] == '\n'
-! && (line_ga.ga_len <= 1 || pend[-2] != '\\'))
-! {
-! --line_ga.ga_len;
-! --pend;
-! *pend = NUL;
-! break;
- }
- }
-
---- 2342,2372 ----
- windgoto(msg_row, msg_col);
- pend = (char_u *)(line_ga.ga_data) + line_ga.ga_len;
-
-! /* We are done when a NL is entered, but not when it comes after an
-! * odd number of backslashes, that results in a NUL. */
-! if (line_ga.ga_len > 0 && pend[-1] == '\n')
-! {
-! int bcount = 0;
-!
-! while (line_ga.ga_len - 2 >= bcount && pend[-2 - bcount] == '\\')
-! ++bcount;
-!
-! if (bcount > 0)
-! {
-! /* Halve the number of backslashes: "\NL" -> "NUL", "\\NL" ->
-! * "\NL", etc. */
-! line_ga.ga_len -= (bcount + 1) / 2;
-! pend -= (bcount + 1) / 2;
-! pend[-1] = '\n';
-! }
-!
-! if ((bcount & 1) == 0)
-! {
-! --line_ga.ga_len;
-! --pend;
-! *pend = NUL;
-! break;
-! }
- }
- }
-
-*** ../vim-7.3.013/src/version.c 2010-09-29 13:02:48.000000000 +0200
---- src/version.c 2010-09-29 15:45:57.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 14,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-224. You set up your own Web page. You set up a Web page for each
- of your kids... and your pets.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.015 b/source/ap/vim/patches/7.3.015
deleted file mode 100644
index 0b5f66060..000000000
--- a/source/ap/vim/patches/7.3.015
+++ /dev/null
@@ -1,68 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.015
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.015
-Problem: Test is using error message that no longer exists.
-Solution: Change E106 to E121. (Dominique Pelle)
-Files: src/testdir/test49.vim
-
-
-*** ../vim-7.3.014/src/testdir/test49.vim 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test49.vim 2010-09-29 16:52:06.000000000 +0200
-***************
-*** 1,6 ****
- " Vim script language tests
- " Author: Servatius Brandt <Servatius.Brandt@fujitsu-siemens.com>
-! " Last Change: 2006 Apr 28
-
- "-------------------------------------------------------------------------------
- " Test environment {{{1
---- 1,6 ----
- " Vim script language tests
- " Author: Servatius Brandt <Servatius.Brandt@fujitsu-siemens.com>
-! " Last Change: 2010 Sep 29
-
- "-------------------------------------------------------------------------------
- " Test environment {{{1
-***************
-*** 8711,8717 ****
- endif
- else
- if cmd == "let"
-! let match = MATCH(0, thrmsg, 'E106', "Unknown variable")
- elseif cmd == "unlet"
- let match = MATCH(0, thrmsg, 'E108', "No such variable")
- endif
---- 8711,8717 ----
- endif
- else
- if cmd == "let"
-! let match = MATCH(0, thrmsg, 'E121', "Undefined variable")
- elseif cmd == "unlet"
- let match = MATCH(0, thrmsg, 'E108', "No such variable")
- endif
-*** ../vim-7.3.014/src/version.c 2010-09-29 15:50:14.000000000 +0200
---- src/version.c 2010-09-29 16:55:03.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 15,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-228. You spend Saturday night making the counter on your home page
- pass that 2000 mark.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.016 b/source/ap/vim/patches/7.3.016
deleted file mode 100644
index 1d087d5ad..000000000
--- a/source/ap/vim/patches/7.3.016
+++ /dev/null
@@ -1,240 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.016
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.016
-Problem: Netbeans doesn't work under Athena.
-Solution: Support Athena, just like Motif. (Xavier de Gaye)
-Files: runtime/doc/netbeans.txt, src/gui.c, src/main.c, src/netbeans.c
-
-
-*** ../vim-7.3.015/runtime/doc/netbeans.txt 2010-08-15 21:57:13.000000000 +0200
---- runtime/doc/netbeans.txt 2010-09-29 17:13:43.000000000 +0200
-***************
-*** 1,4 ****
-! *netbeans.txt* For Vim version 7.3. Last change: 2010 Jul 20
-
-
- VIM REFERENCE MANUAL by Gordon Prieur et al.
---- 1,4 ----
-! *netbeans.txt* For Vim version 7.3. Last change: 2010 Aug 20
-
-
- VIM REFERENCE MANUAL by Gordon Prieur et al.
-***************
-*** 118,124 ****
- uncommenting a line with "--disable-netbeans" in the Makefile.
-
- Currently the NetBeans interface is supported by Vim running in a terminal and
-! by GVim when it is run with one of the following GUIs: GTK, GNOME, and Motif.
-
- If Motif support is required the user must supply XPM libraries. See
- |workshop-xpm| for details on obtaining the latest version of XPM.
---- 118,125 ----
- uncommenting a line with "--disable-netbeans" in the Makefile.
-
- Currently the NetBeans interface is supported by Vim running in a terminal and
-! by GVim when it is run with one of the following GUIs: GTK, GNOME, Windows,
-! Athena and Motif.
-
- If Motif support is required the user must supply XPM libraries. See
- |workshop-xpm| for details on obtaining the latest version of XPM.
-*** ../vim-7.3.015/src/gui.c 2010-08-15 21:57:28.000000000 +0200
---- src/gui.c 2010-09-29 17:13:43.000000000 +0200
-***************
-*** 2352,2358 ****
- if (draw_sign)
- /* Draw the sign on top of the spaces. */
- gui_mch_drawsign(gui.row, col, gui.highlight_mask);
-! # if defined(FEAT_NETBEANS_INTG) && (defined(FEAT_GUI_MOTIF) \
- || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32))
- if (multi_sign)
- netbeans_draw_multisign_indicator(gui.row);
---- 2352,2358 ----
- if (draw_sign)
- /* Draw the sign on top of the spaces. */
- gui_mch_drawsign(gui.row, col, gui.highlight_mask);
-! # if defined(FEAT_NETBEANS_INTG) && (defined(FEAT_GUI_X11) \
- || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32))
- if (multi_sign)
- netbeans_draw_multisign_indicator(gui.row);
-*** ../vim-7.3.015/src/main.c 2010-08-15 21:57:28.000000000 +0200
---- src/main.c 2010-09-29 17:13:43.000000000 +0200
-***************
-*** 940,946 ****
- if (netbeansArg != NULL && strncmp("-nb", netbeansArg, 3) == 0)
- {
- # ifdef FEAT_GUI
-! # if !defined(FEAT_GUI_MOTIF) && !defined(FEAT_GUI_GTK) \
- && !defined(FEAT_GUI_W32)
- if (gui.in_use)
- {
---- 940,946 ----
- if (netbeansArg != NULL && strncmp("-nb", netbeansArg, 3) == 0)
- {
- # ifdef FEAT_GUI
-! # if !defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK) \
- && !defined(FEAT_GUI_W32)
- if (gui.in_use)
- {
-*** ../vim-7.3.015/src/netbeans.c 2010-08-15 21:57:26.000000000 +0200
---- src/netbeans.c 2010-09-29 17:13:43.000000000 +0200
-***************
-*** 87,93 ****
- static void nb_init_graphics __ARGS((void));
- static void coloncmd __ARGS((char *cmd, ...));
- static void nb_set_curbuf __ARGS((buf_T *buf));
-! #ifdef FEAT_GUI_MOTIF
- static void messageFromNetbeans __ARGS((XtPointer, int *, XtInputId *));
- #endif
- #ifdef FEAT_GUI_GTK
---- 87,93 ----
- static void nb_init_graphics __ARGS((void));
- static void coloncmd __ARGS((char *cmd, ...));
- static void nb_set_curbuf __ARGS((buf_T *buf));
-! #ifdef FEAT_GUI_X11
- static void messageFromNetbeans __ARGS((XtPointer, int *, XtInputId *));
- #endif
- #ifdef FEAT_GUI_GTK
-***************
-*** 112,118 ****
- static NBSOCK nbsock = -1; /* socket fd for Netbeans connection */
- #define NETBEANS_OPEN (nbsock != -1)
-
-! #ifdef FEAT_GUI_MOTIF
- static XtInputId inputHandler = (XtInputId)NULL; /* Cookie for input */
- #endif
- #ifdef FEAT_GUI_GTK
---- 112,118 ----
- static NBSOCK nbsock = -1; /* socket fd for Netbeans connection */
- #define NETBEANS_OPEN (nbsock != -1)
-
-! #ifdef FEAT_GUI_X11
- static XtInputId inputHandler = (XtInputId)NULL; /* Cookie for input */
- #endif
- #ifdef FEAT_GUI_GTK
-***************
-*** 143,149 ****
-
- netbeans_send_disconnect();
-
-! #ifdef FEAT_GUI_MOTIF
- if (inputHandler != (XtInputId)NULL)
- {
- XtRemoveInput(inputHandler);
---- 143,149 ----
-
- netbeans_send_disconnect();
-
-! #ifdef FEAT_GUI_X11
- if (inputHandler != (XtInputId)NULL)
- {
- XtRemoveInput(inputHandler);
-***************
-*** 700,706 ****
- /*
- * Read a command from netbeans.
- */
-! #ifdef FEAT_GUI_MOTIF
- static void
- messageFromNetbeans(XtPointer clientData UNUSED,
- int *unused1 UNUSED,
---- 700,706 ----
- /*
- * Read a command from netbeans.
- */
-! #ifdef FEAT_GUI_X11
- static void
- messageFromNetbeans(XtPointer clientData UNUSED,
- int *unused1 UNUSED,
-***************
-*** 2937,2943 ****
- if (!NB_HAS_GUI || !NETBEANS_OPEN)
- return;
-
-! # ifdef FEAT_GUI_MOTIF
- /* tell notifier we are interested in being called
- * when there is input on the editor connection socket
- */
---- 2937,2943 ----
- if (!NB_HAS_GUI || !NETBEANS_OPEN)
- return;
-
-! # ifdef FEAT_GUI_X11
- /* tell notifier we are interested in being called
- * when there is input on the editor connection socket
- */
-***************
-*** 3027,3033 ****
- }
- }
-
-! #if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_W32) || defined(PROTO)
- /*
- * Tell netbeans that the window was moved or resized.
- */
---- 3027,3033 ----
- }
- }
-
-! #if defined(FEAT_GUI_X11) || defined(FEAT_GUI_W32) || defined(PROTO)
- /*
- * Tell netbeans that the window was moved or resized.
- */
-***************
-*** 3458,3464 ****
- return FALSE;
- }
-
-! #if defined(FEAT_GUI_MOTIF) || defined(PROTO)
- /*
- * We have multiple signs to draw at the same location. Draw the
- * multi-sign indicator instead. This is the Motif version.
---- 3458,3464 ----
- return FALSE;
- }
-
-! #if defined(FEAT_GUI_X11) || defined(PROTO)
- /*
- * We have multiple signs to draw at the same location. Draw the
- * multi-sign indicator instead. This is the Motif version.
-***************
-*** 3487,3493 ****
- XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+3, y++);
- XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+2, y);
- }
-! #endif /* FEAT_GUI_MOTIF */
-
- #if defined(FEAT_GUI_GTK) && !defined(PROTO)
- /*
---- 3487,3493 ----
- XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+3, y++);
- XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+2, y);
- }
-! #endif /* FEAT_GUI_X11 */
-
- #if defined(FEAT_GUI_GTK) && !defined(PROTO)
- /*
-*** ../vim-7.3.015/src/version.c 2010-09-29 16:55:45.000000000 +0200
---- src/version.c 2010-09-29 17:14:47.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 16,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-229. You spend so much time thinking what to add on this list.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.017 b/source/ap/vim/patches/7.3.017
deleted file mode 100644
index 4434ae1d4..000000000
--- a/source/ap/vim/patches/7.3.017
+++ /dev/null
@@ -1,124 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.017
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.017
-Problem: smatch reports errors.
-Solution: Fix the reported errors. (Dominique Pelle)
-Files: src/spell.c, src/syntax.c
-
-
-*** ../vim-7.3.016/src/spell.c 2010-09-18 13:36:41.000000000 +0200
---- src/spell.c 2010-09-29 18:25:09.000000000 +0200
-***************
-*** 4951,4957 ****
- char_u *si_info; /* info text chars or NULL */
- int si_region_count; /* number of regions supported (1 when there
- are no regions) */
-! char_u si_region_name[16]; /* region names; used only if
- * si_region_count > 1) */
-
- garray_T si_rep; /* list of fromto_T entries from REP lines */
---- 4951,4957 ----
- char_u *si_info; /* info text chars or NULL */
- int si_region_count; /* number of regions supported (1 when there
- are no regions) */
-! char_u si_region_name[17]; /* region names; used only if
- * si_region_count > 1) */
-
- garray_T si_rep; /* list of fromto_T entries from REP lines */
-***************
-*** 9530,9536 ****
- if (aspath)
- /* Use directory of an entry with path, e.g., for
- * "/dir/lg.utf-8.spl" use "/dir". */
-! vim_strncpy(buf, curbuf->b_s.b_p_spl, lstart - curbuf->b_s.b_p_spl - 1);
- else
- /* Copy the path from 'runtimepath' to buf[]. */
- copy_option_part(&rtp, buf, MAXPATHL, ",");
---- 9530,9537 ----
- if (aspath)
- /* Use directory of an entry with path, e.g., for
- * "/dir/lg.utf-8.spl" use "/dir". */
-! vim_strncpy(buf, curbuf->b_s.b_p_spl,
-! lstart - curbuf->b_s.b_p_spl - 1);
- else
- /* Copy the path from 'runtimepath' to buf[]. */
- copy_option_part(&rtp, buf, MAXPATHL, ",");
-***************
-*** 9539,9551 ****
- /* Use the first language name from 'spelllang' and the
- * encoding used in the first loaded .spl file. */
- if (aspath)
-! vim_strncpy(buf, curbuf->b_s.b_p_spl, lend - curbuf->b_s.b_p_spl);
- else
- {
- /* Create the "spell" directory if it doesn't exist yet. */
- l = (int)STRLEN(buf);
- vim_snprintf((char *)buf + l, MAXPATHL - l, "/spell");
-! if (!filewritable(buf) != 2)
- vim_mkdir(buf, 0755);
-
- l = (int)STRLEN(buf);
---- 9540,9553 ----
- /* Use the first language name from 'spelllang' and the
- * encoding used in the first loaded .spl file. */
- if (aspath)
-! vim_strncpy(buf, curbuf->b_s.b_p_spl,
-! lend - curbuf->b_s.b_p_spl);
- else
- {
- /* Create the "spell" directory if it doesn't exist yet. */
- l = (int)STRLEN(buf);
- vim_snprintf((char *)buf + l, MAXPATHL - l, "/spell");
-! if (filewritable(buf) != 2)
- vim_mkdir(buf, 0755);
-
- l = (int)STRLEN(buf);
-*** ../vim-7.3.016/src/syntax.c 2010-08-15 21:57:32.000000000 +0200
---- src/syntax.c 2010-09-29 18:28:26.000000000 +0200
-***************
-*** 7600,7609 ****
- /*
- * Copy characters from arg[] to buf[], translating <> codes.
- */
-! for (p = arg, off = 0; off < 100 && *p; )
- {
- len = trans_special(&p, buf + off, FALSE);
-! if (len) /* recognized special char */
- off += len;
- else /* copy as normal char */
- buf[off++] = *p++;
---- 7600,7609 ----
- /*
- * Copy characters from arg[] to buf[], translating <> codes.
- */
-! for (p = arg, off = 0; off < 100 - 6 && *p; )
- {
- len = trans_special(&p, buf + off, FALSE);
-! if (len > 0) /* recognized special char */
- off += len;
- else /* copy as normal char */
- buf[off++] = *p++;
-*** ../vim-7.3.016/src/version.c 2010-09-29 17:26:57.000000000 +0200
---- src/version.c 2010-09-29 17:47:27.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 17,
- /**/
-
---
-A computer without Windows is like a fish without a bicycle.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.018 b/source/ap/vim/patches/7.3.018
deleted file mode 100644
index 5079e821f..000000000
--- a/source/ap/vim/patches/7.3.018
+++ /dev/null
@@ -1,74 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.018
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.018 (after 7.3.012)
-Problem: Missing argument to windres in MingW makefiles.
-Solution: Add the argument that was wrapped in the patch. (Jon Maken)
-Files: src/Make_ming.mak, src/GvimExt/Make_ming.mak
-
-
-*** ../vim-7.3.017/src/Make_ming.mak 2010-09-29 12:37:53.000000000 +0200
---- src/Make_ming.mak 2010-09-29 18:37:08.000000000 +0200
-***************
-*** 303,309 ****
- endif
- endif
- CC := $(CROSS_COMPILE)gcc
-! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" -
-
- #>>>>> end of choices
- ###########################################################################
---- 303,309 ----
- endif
- endif
- CC := $(CROSS_COMPILE)gcc
-! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" -DRC_INVOKED
-
- #>>>>> end of choices
- ###########################################################################
-*** ../vim-7.3.017/src/GvimExt/Make_ming.mak 2010-09-29 12:37:53.000000000 +0200
---- src/GvimExt/Make_ming.mak 2010-09-29 18:36:39.000000000 +0200
-***************
-*** 33,39 ****
- endif
- endif
- CXX := $(CROSS_COMPILE)g++
-! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" -
- LIBS := -luuid
- RES := gvimext.res
- DEFFILE = gvimext_ming.def
---- 33,39 ----
- endif
- endif
- CXX := $(CROSS_COMPILE)g++
-! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" -DRC_INVOKED
- LIBS := -luuid
- RES := gvimext.res
- DEFFILE = gvimext_ming.def
-*** ../vim-7.3.017/src/version.c 2010-09-29 18:32:47.000000000 +0200
---- src/version.c 2010-09-29 18:41:53.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 18,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-231. You sprinkle Carpet Fresh on the rugs and put your vacuum cleaner
- in the front doorway permanently so it always looks like you are
- actually attempting to do something about that mess that has amassed
- since you discovered the Internet.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.019 b/source/ap/vim/patches/7.3.019
deleted file mode 100644
index 6a26d6a21..000000000
--- a/source/ap/vim/patches/7.3.019
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.019
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.019
-Problem: ":nbstart" can fail silently.
-Solution: Give an error when netbeans is not supported by the GUI. (Xavier
- de Gaye)
-Files: src/netbeans.c
-
-
-*** ../vim-7.3.018/src/netbeans.c 2010-09-29 17:26:57.000000000 +0200
---- src/netbeans.c 2010-09-29 17:35:37.000000000 +0200
-***************
-*** 2773,2778 ****
---- 2773,2788 ----
- ex_nbstart(eap)
- exarg_T *eap;
- {
-+ #ifdef FEAT_GUI
-+ # if !defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK) \
-+ && !defined(FEAT_GUI_W32)
-+ if (gui.in_use)
-+ {
-+ EMSG(_("E838: netbeans is not supported with this GUI"));
-+ return;
-+ }
-+ # endif
-+ #endif
- netbeans_open((char *)eap->arg, FALSE);
- }
-
-*** ../vim-7.3.018/src/version.c 2010-09-29 18:42:25.000000000 +0200
---- src/version.c 2010-09-30 21:02:03.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 19,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-233. You start dreaming about web pages...in html.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.020 b/source/ap/vim/patches/7.3.020
deleted file mode 100644
index 7c6de549d..000000000
--- a/source/ap/vim/patches/7.3.020
+++ /dev/null
@@ -1,131 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.020
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.020
-Problem: Cursor position wrong when joining multiple lines and
- 'formatoptions' contains "a". (Moshe Kamensky)
-Solution: Adjust cursor position for skipped indent. (Carlo Teubner)
-Files: src/ops.c, src/testdir/test68.in, src/testdir/test68.ok
-
-
-*** ../vim-7.3.019/src/ops.c 2010-08-15 21:57:28.000000000 +0200
---- src/ops.c 2010-10-09 17:00:35.000000000 +0200
-***************
-*** 4153,4161 ****
- int save_undo;
- {
- char_u *curr = NULL;
- char_u *cend;
- char_u *newp;
-! char_u *spaces; /* number of spaces inserte before a line */
- int endcurr1 = NUL;
- int endcurr2 = NUL;
- int currsize = 0; /* size of the current line */
---- 4153,4162 ----
- int save_undo;
- {
- char_u *curr = NULL;
-+ char_u *curr_start = NULL;
- char_u *cend;
- char_u *newp;
-! char_u *spaces; /* number of spaces inserted before a line */
- int endcurr1 = NUL;
- int endcurr2 = NUL;
- int currsize = 0; /* size of the current line */
-***************
-*** 4181,4187 ****
- */
- for (t = 0; t < count; ++t)
- {
-! curr = ml_get((linenr_T)(curwin->w_cursor.lnum + t));
- if (insert_space && t > 0)
- {
- curr = skipwhite(curr);
---- 4182,4188 ----
- */
- for (t = 0; t < count; ++t)
- {
-! curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t));
- if (insert_space && t > 0)
- {
- curr = skipwhite(curr);
-***************
-*** 4265,4274 ****
- copy_spaces(cend, (size_t)(spaces[t]));
- }
- mark_col_adjust(curwin->w_cursor.lnum + t, (colnr_T)0, (linenr_T)-t,
-! (long)(cend - newp + spaces[t]));
- if (t == 0)
- break;
-! curr = ml_get((linenr_T)(curwin->w_cursor.lnum + t - 1));
- if (insert_space && t > 1)
- curr = skipwhite(curr);
- currsize = (int)STRLEN(curr);
---- 4266,4275 ----
- copy_spaces(cend, (size_t)(spaces[t]));
- }
- mark_col_adjust(curwin->w_cursor.lnum + t, (colnr_T)0, (linenr_T)-t,
-! (long)(cend - newp + spaces[t] - (curr - curr_start)));
- if (t == 0)
- break;
-! curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t - 1));
- if (insert_space && t > 1)
- curr = skipwhite(curr);
- currsize = (int)STRLEN(curr);
-*** ../vim-7.3.019/src/testdir/test68.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test68.in 2010-10-09 16:53:02.000000000 +0200
-***************
-*** 51,56 ****
---- 51,67 ----
- }
-
- STARTTEST
-+ /^{/+2
-+ :set tw& fo=a
-+ I^^
-+ ENDTEST
-+
-+ {
-+ 1aa
-+ 2bb
-+ }
-+
-+ STARTTEST
- :g/^STARTTEST/.,/^ENDTEST/d
- :1;/^Results/,$wq! test.out
- ENDTEST
-*** ../vim-7.3.019/src/testdir/test68.ok 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test68.ok 2010-10-09 16:53:02.000000000 +0200
-***************
-*** 33,35 ****
---- 33,38 ----
- #a b
- }
-
-+
-+ { 1aa ^^2bb }
-+
-*** ../vim-7.3.019/src/version.c 2010-09-30 21:03:13.000000000 +0200
---- src/version.c 2010-10-09 17:05:31.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 20,
- /**/
-
---
-Did you hear about the new 3 million dollar West Virginia State Lottery?
-The winner gets 3 dollars a year for a million years.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.021 b/source/ap/vim/patches/7.3.021
deleted file mode 100644
index 479c9e68e..000000000
--- a/source/ap/vim/patches/7.3.021
+++ /dev/null
@@ -1,70 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.021
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.021
-Problem: Conflict for defining Boolean in Mac header files.
-Solution: Define NO_X11_INCLUDES. (Rainer Muller)
-Files: src/os_macosx.m, src/vim.h
-
-
-*** ../vim-7.3.020/src/os_macosx.m 2010-08-15 21:57:29.000000000 +0200
---- src/os_macosx.m 2010-10-10 17:01:55.000000000 +0200
-***************
-*** 15,20 ****
---- 15,24 ----
- Error: MACOS 9 is no longer supported in Vim 7
- #endif
-
-+ /* Avoid a conflict for the definition of Boolean between Mac header files and
-+ * X11 header files. */
-+ #define NO_X11_INCLUDES
-+
- #include "vim.h"
- #import <Cocoa/Cocoa.h>
-
-*** ../vim-7.3.020/src/vim.h 2010-08-15 21:57:29.000000000 +0200
---- src/vim.h 2010-10-10 17:02:56.000000000 +0200
-***************
-*** 192,199 ****
- #endif
-
- #ifdef NO_X11_INCLUDES
-! /* In os_mac_conv.c NO_X11_INCLUDES is defined to avoid X11 headers.
-! * Disable all X11 related things to avoid conflicts. */
- # ifdef FEAT_X11
- # undef FEAT_X11
- # endif
---- 192,199 ----
- #endif
-
- #ifdef NO_X11_INCLUDES
-! /* In os_mac_conv.c and os_macosx.m NO_X11_INCLUDES is defined to avoid
-! * X11 headers. Disable all X11 related things to avoid conflicts. */
- # ifdef FEAT_X11
- # undef FEAT_X11
- # endif
-*** ../vim-7.3.020/src/version.c 2010-10-09 17:21:42.000000000 +0200
---- src/version.c 2010-10-10 17:05:19.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 21,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-259. When you enter your name in the AltaVista search engine, the top ten
- matches do indeed refer to you.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.022 b/source/ap/vim/patches/7.3.022
deleted file mode 100644
index aefdf1c29..000000000
--- a/source/ap/vim/patches/7.3.022
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.022
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.022
-Problem: When opening a new window the 'spellcapcheck' option is cleared.
-Solution: Copy the correct option value. (Christian Brabandt)
-Files: src/option.c
-
-
-*** ../vim-7.3.021/src/option.c 2010-08-15 21:57:28.000000000 +0200
---- src/option.c 2010-10-13 13:48:46.000000000 +0200
-***************
-*** 10011,10017 ****
- buf->b_p_smc = p_smc;
- #endif
- #ifdef FEAT_SPELL
-! buf->b_s.b_p_spc = vim_strsave(p_spf);
- (void)compile_cap_prog(&buf->b_s);
- buf->b_s.b_p_spf = vim_strsave(p_spf);
- buf->b_s.b_p_spl = vim_strsave(p_spl);
---- 10011,10017 ----
- buf->b_p_smc = p_smc;
- #endif
- #ifdef FEAT_SPELL
-! buf->b_s.b_p_spc = vim_strsave(p_spc);
- (void)compile_cap_prog(&buf->b_s);
- buf->b_s.b_p_spf = vim_strsave(p_spf);
- buf->b_s.b_p_spl = vim_strsave(p_spl);
-*** ../vim-7.3.021/src/version.c 2010-10-10 17:08:28.000000000 +0200
---- src/version.c 2010-10-13 14:02:08.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 22,
- /**/
-
---
-GALAHAD: Camelot ...
-LAUNCELOT: Camelot ...
-GAWAIN: It's only a model.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.023 b/source/ap/vim/patches/7.3.023
deleted file mode 100644
index e26d1b8f7..000000000
--- a/source/ap/vim/patches/7.3.023
+++ /dev/null
@@ -1,69 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.023
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.023
-Problem: External program may hang when it tries to write to the tty.
-Solution: Don't close the slave tty until after the child exits. (Nikola
- Knezevic)
-Files: src/os_unix.c
-
-
-*** ../vim-7.3.022/src/os_unix.c 2010-09-21 22:09:28.000000000 +0200
---- src/os_unix.c 2010-10-13 16:17:33.000000000 +0200
-***************
-*** 4168,4174 ****
- # ifdef FEAT_GUI
- if (pty_master_fd >= 0)
- {
-- close(pty_slave_fd); /* close slave side of pty */
- fromshell_fd = pty_master_fd;
- toshell_fd = dup(pty_master_fd);
- }
---- 4168,4173 ----
-***************
-*** 4637,4642 ****
---- 4636,4649 ----
- break;
- }
-
-+ # ifdef FEAT_GUI
-+ /* Close slave side of pty. Only do this after the child has
-+ * exited, otherwise the child may hang when it tries to write on
-+ * the pty. */
-+ if (pty_master_fd >= 0)
-+ close(pty_slave_fd);
-+ # endif
-+
- /* Make sure the child that writes to the external program is
- * dead. */
- if (wpid > 0)
-*** ../vim-7.3.022/src/version.c 2010-10-13 14:05:29.000000000 +0200
---- src/version.c 2010-10-13 16:20:48.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 23,
- /**/
-
---
- We're knights of the Round Table
- Our shows are formidable
- But many times
- We're given rhymes
- That are quite unsingable
- We're opera mad in Camelot
- We sing from the diaphragm a lot.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.024 b/source/ap/vim/patches/7.3.024
deleted file mode 100644
index 60ae64ea3..000000000
--- a/source/ap/vim/patches/7.3.024
+++ /dev/null
@@ -1,115 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.024
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.024
-Problem: Named signs do not use a negative number as intended.
-Solution: Fix the numbering of named signs. (Xavier de Gaye)
-Files: src/ex_cmds.c
-
-
-*** ../vim-7.3.023/src/ex_cmds.c 2010-09-21 16:56:29.000000000 +0200
---- src/ex_cmds.c 2010-10-13 16:37:18.000000000 +0200
-***************
-*** 6670,6680 ****
- sp = (sign_T *)alloc_clear((unsigned)sizeof(sign_T));
- if (sp == NULL)
- return;
-- if (sp_prev == NULL)
-- first_sign = sp;
-- else
-- sp_prev->sn_next = sp;
-- sp->sn_name = vim_strnsave(arg, (int)(p - arg));
-
- /* If the name is a number use that for the typenr,
- * otherwise use a negative number. */
---- 6670,6675 ----
-***************
-*** 6687,6699 ****
-
- for (lp = first_sign; lp != NULL; lp = lp->sn_next)
- {
-! if (lp->sn_typenr == last_sign_typenr)
- {
- --last_sign_typenr;
- if (last_sign_typenr == 0)
- last_sign_typenr = MAX_TYPENR;
- if (last_sign_typenr == start)
- {
- EMSG(_("E612: Too many signs defined"));
- return;
- }
---- 6682,6695 ----
-
- for (lp = first_sign; lp != NULL; lp = lp->sn_next)
- {
-! if (lp->sn_typenr == -last_sign_typenr)
- {
- --last_sign_typenr;
- if (last_sign_typenr == 0)
- last_sign_typenr = MAX_TYPENR;
- if (last_sign_typenr == start)
- {
-+ vim_free(sp);
- EMSG(_("E612: Too many signs defined"));
- return;
- }
-***************
-*** 6702,6711 ****
- }
- }
-
-! sp->sn_typenr = last_sign_typenr--;
-! if (last_sign_typenr == 0)
- last_sign_typenr = MAX_TYPENR; /* wrap around */
- }
- }
-
- /* set values for a defined sign. */
---- 6698,6714 ----
- }
- }
-
-! sp->sn_typenr = -last_sign_typenr;
-! if (--last_sign_typenr == 0)
- last_sign_typenr = MAX_TYPENR; /* wrap around */
- }
-+
-+ /* add the new sign to the list of signs */
-+ if (sp_prev == NULL)
-+ first_sign = sp;
-+ else
-+ sp_prev->sn_next = sp;
-+ sp->sn_name = vim_strnsave(arg, (int)(p - arg));
- }
-
- /* set values for a defined sign. */
-*** ../vim-7.3.023/src/version.c 2010-10-13 16:22:05.000000000 +0200
---- src/version.c 2010-10-13 16:42:14.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 24,
- /**/
-
---
- In war we're tough and able.
- Quite indefatigable
- Between our quests
- We sequin vests
- And impersonate Clark Gable
- It's a busy life in Camelot.
- I have to push the pram a lot.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.025 b/source/ap/vim/patches/7.3.025
deleted file mode 100644
index 0fb3bee65..000000000
--- a/source/ap/vim/patches/7.3.025
+++ /dev/null
@@ -1,136 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.025
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.025
-Problem: ":mksession" does not square brackets escape file name properly.
-Solution: Improve escapging of file names. (partly by Peter Odding)
-Files: src/ex_docmd.c
-
-
-*** ../vim-7.3.024/src/ex_docmd.c 2010-09-21 16:56:29.000000000 +0200
---- src/ex_docmd.c 2010-10-13 17:39:17.000000000 +0200
-***************
-*** 10708,10714 ****
- * Write a file name to the session file.
- * Takes care of the "slash" option in 'sessionoptions' and escapes special
- * characters.
-! * Returns FAIL if writing fails.
- */
- static int
- ses_put_fname(fd, name, flagp)
---- 10708,10714 ----
- * Write a file name to the session file.
- * Takes care of the "slash" option in 'sessionoptions' and escapes special
- * characters.
-! * Returns FAIL if writing fails or out of memory.
- */
- static int
- ses_put_fname(fd, name, flagp)
-***************
-*** 10717,10765 ****
- unsigned *flagp;
- {
- char_u *sname;
- int retval = OK;
-- int c;
-
- sname = home_replace_save(NULL, name);
-! if (sname != NULL)
-! name = sname;
-! while (*name != NUL)
-! {
-! #ifdef FEAT_MBYTE
-! {
-! int l;
-
-! if (has_mbyte && (l = (*mb_ptr2len)(name)) > 1)
-! {
-! /* copy a multibyte char */
-! while (--l >= 0)
-! {
-! if (putc(*name, fd) != *name)
-! retval = FAIL;
-! ++name;
-! }
-! continue;
-! }
-! }
-! #endif
-! c = *name++;
-! if (c == '\\' && (*flagp & SSOP_SLASH))
-! /* change a backslash to a forward slash */
-! c = '/';
-! else if ((vim_strchr(escape_chars, c) != NULL
-! #ifdef BACKSLASH_IN_FILENAME
-! && c != '\\'
-! #endif
-! ) || c == '#' || c == '%')
-! {
-! /* escape a special character with a backslash */
-! if (putc('\\', fd) != '\\')
-! retval = FAIL;
-! }
-! if (putc(c, fd) != c)
-! retval = FAIL;
- }
- vim_free(sname);
- return retval;
- }
-
---- 10717,10748 ----
- unsigned *flagp;
- {
- char_u *sname;
-+ char_u *p;
- int retval = OK;
-
- sname = home_replace_save(NULL, name);
-! if (sname == NULL)
-! return FAIL;
-
-! if (*flagp & SSOP_SLASH)
-! {
-! /* change all backslashes to forward slashes */
-! for (p = sname; *p != NUL; mb_ptr_adv(p))
-! if (*p == '\\')
-! *p = '/';
- }
-+
-+ /* escapse special characters */
-+ p = vim_strsave_fnameescape(sname, FALSE);
- vim_free(sname);
-+ if (p == NULL)
-+ return FAIL;
-+
-+ /* write the result */
-+ if (fputs((char *)p, fd) < 0)
-+ retval = FAIL;
-+
-+ vim_free(p);
- return retval;
- }
-
-*** ../vim-7.3.024/src/version.c 2010-10-13 16:44:17.000000000 +0200
---- src/version.c 2010-10-13 17:49:15.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 25,
- /**/
-
---
-"Time flies like an arrow". So I put an arrow on my desk, now
-awaiting one of these time flies showing up.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.026 b/source/ap/vim/patches/7.3.026
deleted file mode 100644
index b47198c5d..000000000
--- a/source/ap/vim/patches/7.3.026
+++ /dev/null
@@ -1,61 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.026
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.026
-Problem: CTRL-] in a help file doesn't always work. (Tony Mechelynck)
-Solution: Don't escape special characters. (Carlo Teubner)
-Files: src/normal.c
-
-
-*** ../vim-7.3.025/src/normal.c 2010-08-15 21:57:28.000000000 +0200
---- src/normal.c 2010-10-13 18:01:03.000000000 +0200
-***************
-*** 5666,5673 ****
- else if (cmdchar == '#')
- aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\");
- else if (tag_cmd)
-! /* Don't escape spaces and Tabs in a tag with a backslash */
-! aux_ptr = (char_u *)"\\|\"\n[";
- else
- aux_ptr = (char_u *)"\\|\"\n*?[";
-
---- 5666,5678 ----
- else if (cmdchar == '#')
- aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\");
- else if (tag_cmd)
-! {
-! if (curbuf->b_help)
-! /* ":help" handles unescaped argument */
-! aux_ptr = (char_u *)"";
-! else
-! aux_ptr = (char_u *)"\\|\"\n[";
-! }
- else
- aux_ptr = (char_u *)"\\|\"\n*?[";
-
-*** ../vim-7.3.025/src/version.c 2010-10-13 17:50:02.000000000 +0200
---- src/version.c 2010-10-13 18:04:54.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 26,
- /**/
-
---
-MAN: Fetchez la vache!
-GUARD: Quoi?
-MAN: Fetchez la vache!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.027 b/source/ap/vim/patches/7.3.027
deleted file mode 100644
index 3d2538d27..000000000
--- a/source/ap/vim/patches/7.3.027
+++ /dev/null
@@ -1,88 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.027
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.027
-Problem: Opening a file on a network share is very slow.
-Solution: When fixing file name case append "\*" to directory, server and
- network share names. (David Anderson, John Beckett)
-Files: src/os_win32.c
-
-
-*** ../vim-7.3.026/src/os_win32.c 2010-09-21 17:29:19.000000000 +0200
---- src/os_win32.c 2010-10-13 20:31:32.000000000 +0200
-***************
-*** 2308,2319 ****
---- 2308,2321 ----
- int len)
- {
- char szTrueName[_MAX_PATH + 2];
-+ char szTrueNameTemp[_MAX_PATH + 2];
- char *ptrue, *ptruePrev;
- char *porig, *porigPrev;
- int flen;
- WIN32_FIND_DATA fb;
- HANDLE hFind;
- int c;
-+ int slen;
-
- flen = (int)STRLEN(name);
- if (flen == 0 || flen > _MAX_PATH)
-***************
-*** 2358,2369 ****
- }
- *ptrue = NUL;
-
- /* Skip "", "." and "..". */
- if (ptrue > ptruePrev
- && (ptruePrev[0] != '.'
- || (ptruePrev[1] != NUL
- && (ptruePrev[1] != '.' || ptruePrev[2] != NUL)))
-! && (hFind = FindFirstFile(szTrueName, &fb))
- != INVALID_HANDLE_VALUE)
- {
- c = *porig;
---- 2360,2378 ----
- }
- *ptrue = NUL;
-
-+ /* To avoid a slow failure append "\*" when searching a directory,
-+ * server or network share. */
-+ STRCPY(szTrueNameTemp, szTrueName);
-+ slen = strlen(szTrueNameTemp);
-+ if (*porig == psepc && slen + 2 < _MAX_PATH)
-+ STRCPY(szTrueNameTemp + slen, "\\*");
-+
- /* Skip "", "." and "..". */
- if (ptrue > ptruePrev
- && (ptruePrev[0] != '.'
- || (ptruePrev[1] != NUL
- && (ptruePrev[1] != '.' || ptruePrev[2] != NUL)))
-! && (hFind = FindFirstFile(szTrueNameTemp, &fb))
- != INVALID_HANDLE_VALUE)
- {
- c = *porig;
-*** ../vim-7.3.026/src/version.c 2010-10-13 18:06:42.000000000 +0200
---- src/version.c 2010-10-13 20:37:00.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 27,
- /**/
-
---
- A cow comes flying over the battlements, lowing aggressively. The cow
- lands on GALAHAD'S PAGE, squashing him completely.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.028 b/source/ap/vim/patches/7.3.028
deleted file mode 100644
index a4f987c63..000000000
--- a/source/ap/vim/patches/7.3.028
+++ /dev/null
@@ -1,179 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.028
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.028 (after 7.3.024)
-Problem: Signs don't show up. (Charles Campbell)
-Solution: Don't use negative numbers. Also assign a number to signs that
- have a name of all digits to avoid using a sign number twice.
-Files: src/ex_cmds.c
-
-
-*** ../vim-7.3.027/src/ex_cmds.c 2010-10-13 16:44:17.000000000 +0200
---- src/ex_cmds.c 2010-10-14 20:59:04.000000000 +0200
-***************
-*** 6569,6575 ****
- };
-
- static sign_T *first_sign = NULL;
-! static int last_sign_typenr = MAX_TYPENR; /* is decremented */
-
- static int sign_cmd_idx __ARGS((char_u *begin_cmd, char_u *end_cmd));
- static void sign_list_defined __ARGS((sign_T *sp));
---- 6569,6575 ----
- };
-
- static sign_T *first_sign = NULL;
-! static int next_sign_typenr = 1;
-
- static int sign_cmd_idx __ARGS((char_u *begin_cmd, char_u *end_cmd));
- static void sign_list_defined __ARGS((sign_T *sp));
-***************
-*** 6651,6659 ****
---- 6651,6664 ----
- EMSG(_("E156: Missing sign name"));
- else
- {
-+ /* Isolate the sign name. If it's a number skip leading zeroes,
-+ * so that "099" and "99" are the same sign. But keep "0". */
- p = skiptowhite(arg);
- if (*p != NUL)
- *p++ = NUL;
-+ while (arg[0] == '0' && arg[1] != NUL)
-+ ++arg;
-+
- sp_prev = NULL;
- for (sp = first_sign; sp != NULL; sp = sp->sn_next)
- {
-***************
-*** 6666,6706 ****
- /* ":sign define {name} ...": define a sign */
- if (sp == NULL)
- {
- /* Allocate a new sign. */
- sp = (sign_T *)alloc_clear((unsigned)sizeof(sign_T));
- if (sp == NULL)
- return;
-
-! /* If the name is a number use that for the typenr,
-! * otherwise use a negative number. */
-! if (VIM_ISDIGIT(*arg))
-! sp->sn_typenr = atoi((char *)arg);
-! else
- {
-! sign_T *lp;
-! int start = last_sign_typenr;
-!
-! for (lp = first_sign; lp != NULL; lp = lp->sn_next)
- {
-! if (lp->sn_typenr == -last_sign_typenr)
- {
-! --last_sign_typenr;
-! if (last_sign_typenr == 0)
-! last_sign_typenr = MAX_TYPENR;
-! if (last_sign_typenr == start)
-! {
-! vim_free(sp);
-! EMSG(_("E612: Too many signs defined"));
-! return;
-! }
-! lp = first_sign;
-! continue;
- }
- }
-
-! sp->sn_typenr = -last_sign_typenr;
-! if (--last_sign_typenr == 0)
-! last_sign_typenr = MAX_TYPENR; /* wrap around */
- }
-
- /* add the new sign to the list of signs */
---- 6671,6715 ----
- /* ":sign define {name} ...": define a sign */
- if (sp == NULL)
- {
-+ sign_T *lp;
-+ int start = next_sign_typenr;
-+
- /* Allocate a new sign. */
- sp = (sign_T *)alloc_clear((unsigned)sizeof(sign_T));
- if (sp == NULL)
- return;
-
-! /* Check that next_sign_typenr is not already being used.
-! * This only happens after wrapping around. Hopefully
-! * another one got deleted and we can use its number. */
-! for (lp = first_sign; lp != NULL; )
- {
-! if (lp->sn_typenr == next_sign_typenr)
- {
-! ++next_sign_typenr;
-! if (next_sign_typenr == MAX_TYPENR)
-! next_sign_typenr = 1;
-! if (next_sign_typenr == start)
- {
-! vim_free(sp);
-! EMSG(_("E612: Too many signs defined"));
-! return;
- }
-+ lp = first_sign; /* start all over */
-+ continue;
- }
-+ lp = lp->sn_next;
-+ }
-+
-+ sp->sn_typenr = next_sign_typenr;
-+ if (++next_sign_typenr == MAX_TYPENR)
-+ next_sign_typenr = 1; /* wrap around */
-
-! sp->sn_name = vim_strsave(arg);
-! if (sp->sn_name == NULL) /* out of memory */
-! {
-! vim_free(sp);
-! return;
- }
-
- /* add the new sign to the list of signs */
-***************
-*** 6708,6714 ****
- first_sign = sp;
- else
- sp_prev->sn_next = sp;
-- sp->sn_name = vim_strnsave(arg, (int)(p - arg));
- }
-
- /* set values for a defined sign. */
---- 6717,6722 ----
-***************
-*** 6886,6891 ****
---- 6894,6901 ----
- arg = skiptowhite(arg);
- if (*arg != NUL)
- *arg++ = NUL;
-+ while (sign_name[0] == '0' && sign_name[1] != NUL)
-+ ++sign_name;
- }
- else if (STRNCMP(arg, "file=", 5) == 0)
- {
-*** ../vim-7.3.027/src/version.c 2010-10-13 20:37:37.000000000 +0200
---- src/version.c 2010-10-14 20:50:54.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 28,
- /**/
-
---
-This is an airconditioned room, do not open Windows.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.029 b/source/ap/vim/patches/7.3.029
deleted file mode 100644
index 702c7cce4..000000000
--- a/source/ap/vim/patches/7.3.029
+++ /dev/null
@@ -1,177 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.029
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.029
-Problem: ":sort n" sorts lines without a number as number zero. (Beeyawned)
-Solution: Make lines without a number sort before lines with a number. Also
- fix sorting negative numbers.
-Files: src/ex_cmds.c, src/testdir/test57.in, src/testdir/test57.ok
-
-
-*** ../vim-7.3.028/src/ex_cmds.c 2010-10-14 21:29:31.000000000 +0200
---- src/ex_cmds.c 2010-10-15 20:04:25.000000000 +0200
-***************
-*** 323,329 ****
- /* When sorting numbers "start_col_nr" is the number, not the column
- * number. */
- if (sort_nr)
-! result = l1.start_col_nr - l2.start_col_nr;
- else
- {
- /* We need to copy one line into "sortbuf1", because there is no
---- 323,330 ----
- /* When sorting numbers "start_col_nr" is the number, not the column
- * number. */
- if (sort_nr)
-! result = l1.start_col_nr == l2.start_col_nr ? 0
-! : l1.start_col_nr > l2.start_col_nr ? 1 : -1;
- else
- {
- /* We need to copy one line into "sortbuf1", because there is no
-***************
-*** 482,488 ****
- * of the match, by temporarily terminating the string there */
- s2 = s + end_col;
- c = *s2;
-! (*s2) = 0;
- /* Sorting on number: Store the number itself. */
- p = s + start_col;
- if (sort_hex)
---- 483,489 ----
- * of the match, by temporarily terminating the string there */
- s2 = s + end_col;
- c = *s2;
-! *s2 = NUL;
- /* Sorting on number: Store the number itself. */
- p = s + start_col;
- if (sort_hex)
-***************
-*** 491,499 ****
- s = skiptodigit(p);
- if (s > p && s[-1] == '-')
- --s; /* include preceding negative sign */
-! vim_str2nr(s, NULL, NULL, sort_oct, sort_hex,
-! &nrs[lnum - eap->line1].start_col_nr, NULL);
-! (*s2) = c;
- }
- else
- {
---- 492,504 ----
- s = skiptodigit(p);
- if (s > p && s[-1] == '-')
- --s; /* include preceding negative sign */
-! if (*s == NUL)
-! /* empty line should sort before any number */
-! nrs[lnum - eap->line1].start_col_nr = -MAXLNUM;
-! else
-! vim_str2nr(s, NULL, NULL, sort_oct, sort_hex,
-! &nrs[lnum - eap->line1].start_col_nr, NULL);
-! *s2 = c;
- }
- else
- {
-***************
-*** 6556,6563 ****
- struct sign
- {
- sign_T *sn_next; /* next sign in list */
-! int sn_typenr; /* type number of sign (negative if not equal
-! to name) */
- char_u *sn_name; /* name of sign */
- char_u *sn_icon; /* name of pixmap */
- #ifdef FEAT_SIGN_ICONS
---- 6561,6567 ----
- struct sign
- {
- sign_T *sn_next; /* next sign in list */
-! int sn_typenr; /* type number of sign */
- char_u *sn_name; /* name of sign */
- char_u *sn_icon; /* name of pixmap */
- #ifdef FEAT_SIGN_ICONS
-*** ../vim-7.3.028/src/testdir/test57.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test57.in 2010-10-15 20:12:23.000000000 +0200
-***************
-*** 53,67 ****
- t02: numeric
- abc
- ab
-- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
---- 53,71 ----
- t02: numeric
- abc
- ab
- a321
- a123
- a122
-+ a
-+ x-22
- b321
- b123
-+
- c123d
-+ -24
- 123b
- c321d
-+ 0
- b322b
- b321
- b321b
-*** ../vim-7.3.028/src/testdir/test57.ok 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test57.ok 2010-10-15 20:11:42.000000000 +0200
-***************
-*** 21,26 ****
---- 21,30 ----
- a
-
-
-+
-+ -24
-+ x-22
-+ 0
- a122
- a123
- b123
-*** ../vim-7.3.028/src/version.c 2010-10-14 21:29:31.000000000 +0200
---- src/version.c 2010-10-15 20:13:52.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 29,
- /**/
-
---
- When danger reared its ugly head,
- He bravely turned his tail and fled
- Yes, Brave Sir Robin turned about
- And gallantly he chickened out
- Bravely taking to his feet
- He beat a very brave retreat
- Bravest of the brave Sir Robin
- Petrified of being dead
- Soiled his pants then brave Sir Robin
- Turned away and fled.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.030 b/source/ap/vim/patches/7.3.030
deleted file mode 100644
index 8d6a5f1bd..000000000
--- a/source/ap/vim/patches/7.3.030
+++ /dev/null
@@ -1,366 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.030
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.030
-Problem: Cannot store Dict and List in viminfo file.
-Solution: Add support for this. (Christian Brabandt)
-Files: runtime/doc/options.txt, src/eval.c, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
- src/testdir/Makefile, src/testdir/main.aap, src/testdir/test74.in,
- src/testdir/test74.ok
-
-
-*** ../vim-7.3.029/runtime/doc/options.txt 2010-08-15 21:57:17.000000000 +0200
---- runtime/doc/options.txt 2010-10-20 17:41:18.000000000 +0200
-***************
-*** 7530,7537 ****
- ! When included, save and restore global variables that start
- with an uppercase letter, and don't contain a lowercase
- letter. Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis"
-! and "_K_L_M" are not. Only String and Number types are
-! stored.
- " Maximum number of lines saved for each register. Old name of
- the '<' item, with the disadvantage that you need to put a
- backslash before the ", otherwise it will be recognized as the
---- 7530,7538 ----
- ! When included, save and restore global variables that start
- with an uppercase letter, and don't contain a lowercase
- letter. Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis"
-! and "_K_L_M" are not. Nested List and Dict items may not be
-! read back correctly, you end up with a string representation
-! instead.
- " Maximum number of lines saved for each register. Old name of
- the '<' item, with the disadvantage that you need to put a
- backslash before the ", otherwise it will be recognized as the
-*** ../vim-7.3.029/src/eval.c 2010-09-14 12:47:30.000000000 +0200
---- src/eval.c 2010-10-20 16:25:54.000000000 +0200
-***************
-*** 22520,22537 ****
- if (tab != NULL)
- {
- *tab++ = '\0'; /* isolate the variable name */
-! if (*tab == 'S') /* string var */
-! type = VAR_STRING;
- #ifdef FEAT_FLOAT
-! else if (*tab == 'F')
-! type = VAR_FLOAT;
- #endif
-
- tab = vim_strchr(tab, '\t');
- if (tab != NULL)
- {
- tv.v_type = type;
-! if (type == VAR_STRING)
- tv.vval.v_string = viminfo_readstring(virp,
- (int)(tab - virp->vir_line + 1), TRUE);
- #ifdef FEAT_FLOAT
---- 22520,22540 ----
- if (tab != NULL)
- {
- *tab++ = '\0'; /* isolate the variable name */
-! switch (*tab)
-! {
-! case 'S': type = VAR_STRING; break;
- #ifdef FEAT_FLOAT
-! case 'F': type = VAR_FLOAT; break;
- #endif
-+ case 'D': type = VAR_DICT; break;
-+ case 'L': type = VAR_LIST; break;
-+ }
-
- tab = vim_strchr(tab, '\t');
- if (tab != NULL)
- {
- tv.v_type = type;
-! if (type == VAR_STRING || type == VAR_DICT || type == VAR_LIST)
- tv.vval.v_string = viminfo_readstring(virp,
- (int)(tab - virp->vir_line + 1), TRUE);
- #ifdef FEAT_FLOAT
-***************
-*** 22540,22548 ****
- #endif
- else
- tv.vval.v_number = atol((char *)tab + 1);
- set_var(virp->vir_line + 1, &tv, FALSE);
-! if (type == VAR_STRING)
- vim_free(tv.vval.v_string);
- }
- }
- }
---- 22543,22569 ----
- #endif
- else
- tv.vval.v_number = atol((char *)tab + 1);
-+ if (type == VAR_DICT || type == VAR_LIST)
-+ {
-+ typval_T *etv = eval_expr(tv.vval.v_string, NULL);
-+
-+ if (etv == NULL)
-+ /* Failed to parse back the dict or list, use it as a
-+ * string. */
-+ tv.v_type = VAR_STRING;
-+ else
-+ {
-+ vim_free(tv.vval.v_string);
-+ tv = *etv;
-+ }
-+ }
-+
- set_var(virp->vir_line + 1, &tv, FALSE);
-!
-! if (tv.v_type == VAR_STRING)
- vim_free(tv.vval.v_string);
-+ else if (tv.v_type == VAR_DICT || tv.v_type == VAR_LIST)
-+ clear_tv(&tv);
- }
- }
- }
-***************
-*** 22584,22591 ****
- case VAR_STRING: s = "STR"; break;
- case VAR_NUMBER: s = "NUM"; break;
- #ifdef FEAT_FLOAT
-! case VAR_FLOAT: s = "FLO"; break;
- #endif
- default: continue;
- }
- fprintf(fp, "!%s\t%s\t", this_var->di_key, s);
---- 22605,22614 ----
- case VAR_STRING: s = "STR"; break;
- case VAR_NUMBER: s = "NUM"; break;
- #ifdef FEAT_FLOAT
-! case VAR_FLOAT: s = "FLO"; break;
- #endif
-+ case VAR_DICT: s = "DIC"; break;
-+ case VAR_LIST: s = "LIS"; break;
- default: continue;
- }
- fprintf(fp, "!%s\t%s\t", this_var->di_key, s);
-*** ../vim-7.3.029/src/testdir/Make_amiga.mak 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/Make_amiga.mak 2010-10-20 16:27:19.000000000 +0200
-***************
-*** 27,33 ****
- test56.out test57.out test58.out test59.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
-! test71.out test72.out test73.out
-
- .SUFFIXES: .in .out
-
---- 27,33 ----
- test56.out test57.out test58.out test59.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
-! test71.out test72.out test73.out test74.out
-
- .SUFFIXES: .in .out
-
-***************
-*** 120,122 ****
---- 120,123 ----
- test71.out: test71.in
- test72.out: test72.in
- test73.out: test73.in
-+ test74.out: test74.in
-*** ../vim-7.3.029/src/testdir/Make_dos.mak 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/Make_dos.mak 2010-10-20 16:13:35.000000000 +0200
-***************
-*** 27,33 ****
- test30.out test31.out test32.out test33.out test34.out \
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
-! test68.out test69.out test71.out test72.out test73.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 27,34 ----
- test30.out test31.out test32.out test33.out test34.out \
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
-! test68.out test69.out test71.out test72.out test73.out \
-! test74.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.029/src/testdir/Make_ming.mak 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/Make_ming.mak 2010-10-20 16:26:54.000000000 +0200
-***************
-*** 47,53 ****
- test30.out test31.out test32.out test33.out test34.out \
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
-! test68.out test69.out test71.out test72.out test72.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 47,54 ----
- test30.out test31.out test32.out test33.out test34.out \
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
-! test68.out test69.out test71.out test72.out test73.out \
-! test74.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.029/src/testdir/Make_os2.mak 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/Make_os2.mak 2010-10-20 16:13:35.000000000 +0200
-***************
-*** 27,33 ****
- test56.out test57.out test58.out test59.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
-! test71.out test72.out test73.out
-
- .SUFFIXES: .in .out
-
---- 27,33 ----
- test56.out test57.out test58.out test59.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
-! test71.out test72.out test73.out test74.out
-
- .SUFFIXES: .in .out
-
-*** ../vim-7.3.029/src/testdir/Make_vms.mms 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/Make_vms.mms 2010-10-20 16:13:35.000000000 +0200
-***************
-*** 74,80 ****
- test56.out test57.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out \
-! test71.out test72.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
---- 74,80 ----
- test56.out test57.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out \
-! test71.out test72.out test74.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
-*** ../vim-7.3.029/src/testdir/Makefile 2010-09-14 12:47:30.000000000 +0200
---- src/testdir/Makefile 2010-10-20 16:13:35.000000000 +0200
-***************
-*** 10,15 ****
---- 10,16 ----
- # This will make testing about 10 times as slow.
- # VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=15 --log-file=valgrind.$*
-
-+
- SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
- test7.out test8.out test9.out test10.out test11.out \
- test12.out test13.out test14.out test15.out test17.out \
-***************
-*** 23,29 ****
- test54.out test55.out test56.out test57.out test58.out \
- test59.out test60.out test61.out test62.out test63.out \
- test64.out test65.out test66.out test67.out test68.out \
-! test69.out test70.out test71.out test72.out test73.out
-
- SCRIPTS_GUI = test16.out
-
---- 24,31 ----
- test54.out test55.out test56.out test57.out test58.out \
- test59.out test60.out test61.out test62.out test63.out \
- test64.out test65.out test66.out test67.out test68.out \
-! test69.out test70.out test71.out test72.out test73.out \
-! test74.out
-
- SCRIPTS_GUI = test16.out
-
-*** ../vim-7.3.029/src/testdir/main.aap 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/main.aap 2010-10-20 16:13:35.000000000 +0200
-***************
-*** 13,19 ****
- test33.out test34.out test35.out test36.out test37.out
- test38.out test39.out test40.out test41.out test42.out
- test43.out test44.out test45.out test46.out test47.out
-! test48.out test49.out
-
- ScriptsGUI = test16.out
-
---- 13,19 ----
- test33.out test34.out test35.out test36.out test37.out
- test38.out test39.out test40.out test41.out test42.out
- test43.out test44.out test45.out test46.out test47.out
-! test48.out test49.out test74.out
-
- ScriptsGUI = test16.out
-
-*** ../vim-7.3.029/src/testdir/test74.in 2010-10-20 17:41:30.000000000 +0200
---- src/testdir/test74.in 2010-10-20 17:37:52.000000000 +0200
-***************
-*** 0 ****
---- 1,36 ----
-+ " Tests for storing global variables in the .viminfo file vim: set ft=vim:
-+
-+ STARTTEST
-+ :so small.vim
-+ :" Do all test in a separate window to avoid E211 when we recursively
-+ :" delete the Xfind directory during cleanup
-+ :"
-+ :" This will cause a few errors, do it silently.
-+ :set visualbell
-+ :set nocp viminfo+=!,nviminfo
-+ :let MY_GLOBAL_DICT={'foo': 1, 'bar': 0, 'longvarible': 1000}
-+ :" store a really long list, so line wrapping will occur in viminfo file
-+ :let MY_GLOBAL_LIST=range(1,100)
-+ :wv! Xviminfo
-+ :unlet MY_GLOBAL_DICT
-+ :unlet MY_GLOBAL_LIST
-+ :rv! Xviminfo
-+ :call delete('Xviminfo')
-+ :if exists("MY_GLOBAL_DICT")
-+ :redir >> test.out
-+ :echo MY_GLOBAL_DICT
-+ :redir end
-+ :endif
-+ :if exists("MY_GLOBAL_LIST")
-+ :redir >> test.out
-+ :echo MY_GLOBAL_LIST
-+ :redir end
-+ :endif
-+ :redir >> test.out
-+ :echo "foobar"
-+ :redir end
-+ :endif
-+ :qa!
-+ ENDTEST
-+
-+ eof
-*** ../vim-7.3.029/src/testdir/test74.ok 2010-10-20 17:41:30.000000000 +0200
---- src/testdir/test74.ok 2010-10-20 17:36:57.000000000 +0200
-***************
-*** 0 ****
---- 1,5 ----
-+
-+ {'foo': 1, 'longvarible': 1000, 'bar': 0}
-+ [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
-+
-+ foobar
-*** ../vim-7.3.029/src/version.c 2010-10-15 20:20:00.000000000 +0200
---- src/version.c 2010-10-20 17:23:54.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 30,
- /**/
-
---
-Not too long ago, cut and paste was done with scissors and glue...
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.031 b/source/ap/vim/patches/7.3.031
deleted file mode 100644
index abe994643..000000000
--- a/source/ap/vim/patches/7.3.031
+++ /dev/null
@@ -1,121 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.031
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.031
-Problem: Can't pass the X window ID to another application.
-Solution: Add v:windowid. (Christian J. Robinson, Lech Lorens)
-Files: runtime/doc/eval.txt, src/eval.c, src/gui.c, src/vim.h,
- src/os_unix.c
-
-
-*** ../vim-7.3.030/runtime/doc/eval.txt 2010-08-15 21:57:15.000000000 +0200
---- runtime/doc/eval.txt 2010-10-20 19:11:03.000000000 +0200
-***************
-*** 1657,1662 ****
---- 1657,1667 ----
- *v:warningmsg* *warningmsg-variable*
- v:warningmsg Last given warning message. It's allowed to set this variable.
-
-+ *v:windowid* *windowid-variable*
-+ v:windowid When any X11 based GUI is running or when running in a
-+ terminal and Vim connects to the X server (|-X|) this will be
-+ set to the window ID. Otherwise the value is zero.
-+
- ==============================================================================
- 4. Builtin Functions *functions*
-
-*** ../vim-7.3.030/src/eval.c 2010-10-20 17:44:01.000000000 +0200
---- src/eval.c 2010-10-20 18:48:40.000000000 +0200
-***************
-*** 362,367 ****
---- 362,368 ----
- {VV_NAME("operator", VAR_STRING), VV_RO},
- {VV_NAME("searchforward", VAR_NUMBER), 0},
- {VV_NAME("oldfiles", VAR_LIST), 0},
-+ {VV_NAME("windowid", VAR_NUMBER), VV_RO},
- };
-
- /* shorthand */
-*** ../vim-7.3.030/src/gui.c 2010-09-29 17:26:57.000000000 +0200
---- src/gui.c 2010-10-20 19:15:56.000000000 +0200
-***************
-*** 105,112 ****
---- 105,122 ----
-
- #if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
- if (gui.in_use)
-+ {
-+ # ifdef FEAT_EVAL
-+ Window x11_window;
-+ Display *x11_display;
-+
-+ if (gui_get_x11_windis(&x11_window, &x11_display) == OK)
-+ set_vim_var_nr(VV_WINDOWID, (long)x11_window);
-+ # endif
-+
- /* Display error messages in a dialog now. */
- display_errors();
-+ }
- #endif
-
- #if defined(MAY_FORK) && !defined(__QNXNTO__)
-*** ../vim-7.3.030/src/vim.h 2010-10-10 17:08:28.000000000 +0200
---- src/vim.h 2010-10-20 18:48:40.000000000 +0200
-***************
-*** 1842,1848 ****
- #define VV_OP 52
- #define VV_SEARCHFORWARD 53
- #define VV_OLDFILES 54
-! #define VV_LEN 55 /* number of v: vars */
-
- #ifdef FEAT_CLIPBOARD
-
---- 1842,1849 ----
- #define VV_OP 52
- #define VV_SEARCHFORWARD 53
- #define VV_OLDFILES 54
-! #define VV_WINDOWID 55
-! #define VV_LEN 56 /* number of v: vars */
-
- #ifdef FEAT_CLIPBOARD
-
-*** ../vim-7.3.030/src/os_unix.c 2010-10-13 16:22:05.000000000 +0200
---- src/os_unix.c 2010-10-20 19:15:46.000000000 +0200
-***************
-*** 1738,1743 ****
---- 1738,1748 ----
- }
- if (x11_window == 0 || x11_display == NULL)
- return (result = FAIL);
-+
-+ # ifdef FEAT_EVAL
-+ set_vim_var_nr(VV_WINDOWID, (long)x11_window);
-+ # endif
-+
- return (result = OK);
- }
-
-*** ../vim-7.3.030/src/version.c 2010-10-20 17:44:01.000000000 +0200
---- src/version.c 2010-10-20 19:11:31.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 31,
- /**/
-
---
-What the word 'politics' means: 'Poli' in Latin meaning 'many' and 'tics'
-meaning 'bloodsucking creatures'.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.032 b/source/ap/vim/patches/7.3.032
deleted file mode 100644
index 74647989f..000000000
--- a/source/ap/vim/patches/7.3.032
+++ /dev/null
@@ -1,704 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.032
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.032
-Problem: maparg() doesn't return the flags, such as <buffer>, <script>,
- <silent>. These are needed to save and restore a mapping.
-Solution: Improve maparg(). (also by Christian Brabandt)
-Files: runtime/doc/eval.txt, src/eval.c, src/getchar.c, src/gui_w48.c, src/message.c, src/proto/getchar.pro, src/proto/message.pro, src/structs.h src/testdir/test75.in, src/testdir/test75.ok
-
-
-*** ../vim-7.3.031/runtime/doc/eval.txt 2010-10-20 19:17:43.000000000 +0200
---- runtime/doc/eval.txt 2010-10-20 19:44:41.000000000 +0200
-***************
-*** 1827,1833 ****
- log( {expr}) Float natural logarithm (base e) of {expr}
- log10( {expr}) Float logarithm of Float {expr} to base 10
- map( {expr}, {string}) List/Dict change each item in {expr} to {expr}
-! maparg( {name}[, {mode} [, {abbr}]])
- String rhs of mapping {name} in mode {mode}
- mapcheck( {name}[, {mode} [, {abbr}]])
- String check for mappings matching {name}
---- 1827,1833 ----
- log( {expr}) Float natural logarithm (base e) of {expr}
- log10( {expr}) Float logarithm of Float {expr} to base 10
- map( {expr}, {string}) List/Dict change each item in {expr} to {expr}
-! maparg( {name}[, {mode} [, {abbr} [, {dict}]]])
- String rhs of mapping {name} in mode {mode}
- mapcheck( {name}[, {mode} [, {abbr}]])
- String check for mappings matching {name}
-***************
-*** 3971,3993 ****
- further items in {expr} are processed.
-
-
-! maparg({name}[, {mode} [, {abbr}]]) *maparg()*
-! Return the rhs of mapping {name} in mode {mode}. When there
-! is no mapping for {name}, an empty String is returned.
- {mode} can be one of these strings:
- "n" Normal
-! "v" Visual
- "o" Operator-pending
- "i" Insert
- "c" Cmd-line
- "l" langmap |language-mapping|
- "" Normal, Visual and Operator-pending
- When {mode} is omitted, the modes for "" are used.
- When {abbr} is there and it is non-zero use abbreviations
- instead of mappings.
-! The {name} can have special key names, like in the ":map"
-! command. The returned String has special characters
-! translated like in the output of the ":map" command listing.
- The mappings local to the current buffer are checked first,
- then the global mappings.
- This function can be used to map a key even when it's already
---- 3972,4022 ----
- further items in {expr} are processed.
-
-
-! maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()*
-! When {dict} is omitted or zero: Return the rhs of mapping
-! {name} in mode {mode}. The returned String has special
-! characters translated like in the output of the ":map" command
-! listing.
-!
-! When there is no mapping for {name}, an empty String is
-! returned.
-!
-! The {name} can have special key names, like in the ":map"
-! command.
-!
- {mode} can be one of these strings:
- "n" Normal
-! "v" Visual (including Select)
- "o" Operator-pending
- "i" Insert
- "c" Cmd-line
-+ "s" Select
-+ "x" Visual
- "l" langmap |language-mapping|
- "" Normal, Visual and Operator-pending
- When {mode} is omitted, the modes for "" are used.
-+
- When {abbr} is there and it is non-zero use abbreviations
- instead of mappings.
-!
-! When {dict} is there and it is non-zero return a dictionary
-! containing all the information of the mapping with the
-! following items:
-! "lhs" The {lhs} of the mapping.
-! "rhs" The {rhs} of the mapping as typed.
-! "silent" 1 for a |:map-silent| mapping, else 0.
-! "noremap" 1 if the {rhs} of the mapping is remappable.
-! "expr" 1 for an expression mapping (|:map-<expr>|).
-! "buffer" 1 for a buffer local mapping (|:map-local|).
-! "mode" Modes for which the mapping is defined. In
-! addition to the modes mentioned above, these
-! characters will be used:
-! " " Normal, Visual and Operator-pending
-! "!" Insert and Commandline mode
-! (|mapmpde-ic|)
-! "sid" the Script local ID, used for <sid> mappings
-! (|<SID>|)
-!
- The mappings local to the current buffer are checked first,
- then the global mappings.
- This function can be used to map a key even when it's already
-*** ../vim-7.3.031/src/eval.c 2010-10-20 19:17:43.000000000 +0200
---- src/eval.c 2010-10-20 21:15:55.000000000 +0200
-***************
-*** 7804,7810 ****
- {"log10", 1, 1, f_log10},
- #endif
- {"map", 2, 2, f_map},
-! {"maparg", 1, 3, f_maparg},
- {"mapcheck", 1, 3, f_mapcheck},
- {"match", 2, 4, f_match},
- {"matchadd", 2, 4, f_matchadd},
---- 7804,7810 ----
- {"log10", 1, 1, f_log10},
- #endif
- {"map", 2, 2, f_map},
-! {"maparg", 1, 4, f_maparg},
- {"mapcheck", 1, 3, f_mapcheck},
- {"match", 2, 4, f_match},
- {"matchadd", 2, 4, f_matchadd},
-***************
-*** 13292,13299 ****
- char_u *keys_buf = NULL;
- char_u *rhs;
- int mode;
-- garray_T ga;
- int abbr = FALSE;
-
- /* return empty string for failure */
- rettv->v_type = VAR_STRING;
---- 13292,13301 ----
- char_u *keys_buf = NULL;
- char_u *rhs;
- int mode;
- int abbr = FALSE;
-+ int get_dict = FALSE;
-+ mapblock_T *mp;
-+ int buffer_local;
-
- /* return empty string for failure */
- rettv->v_type = VAR_STRING;
-***************
-*** 13307,13313 ****
---- 13309,13319 ----
- {
- which = get_tv_string_buf_chk(&argvars[1], buf);
- if (argvars[2].v_type != VAR_UNKNOWN)
-+ {
- abbr = get_tv_number(&argvars[2]);
-+ if (argvars[3].v_type != VAR_UNKNOWN)
-+ get_dict = get_tv_number(&argvars[3]);
-+ }
- }
- else
- which = (char_u *)"";
-***************
-*** 13317,13335 ****
- mode = get_map_mode(&which, 0);
-
- keys = replace_termcodes(keys, &keys_buf, TRUE, TRUE, FALSE);
-! rhs = check_map(keys, mode, exact, FALSE, abbr);
- vim_free(keys_buf);
-- if (rhs != NULL)
-- {
-- ga_init(&ga);
-- ga.ga_itemsize = 1;
-- ga.ga_growsize = 40;
-
-! while (*rhs != NUL)
-! ga_concat(&ga, str2special(&rhs, FALSE));
-
-! ga_append(&ga, NUL);
-! rettv->vval.v_string = (char_u *)ga.ga_data;
- }
- }
-
---- 13323,13356 ----
- mode = get_map_mode(&which, 0);
-
- keys = replace_termcodes(keys, &keys_buf, TRUE, TRUE, FALSE);
-! rhs = check_map(keys, mode, exact, FALSE, abbr, &mp, &buffer_local);
- vim_free(keys_buf);
-
-! if (!get_dict)
-! {
-! /* Return a string. */
-! if (rhs != NULL)
-! rettv->vval.v_string = str2special_save(rhs, FALSE);
-!
-! }
-! else if (rettv_dict_alloc(rettv) != FAIL && rhs != NULL)
-! {
-! /* Return a dictionary. */
-! char_u *lhs = str2special_save(mp->m_keys, TRUE);
-! char_u *mapmode = map_mode_to_chars(mp->m_mode);
-! dict_T *dict = rettv->vval.v_dict;
-!
-! dict_add_nr_str(dict, "lhs", 0L, lhs);
-! dict_add_nr_str(dict, "rhs", 0L, mp->m_orig_str);
-! dict_add_nr_str(dict, "noremap", mp->m_noremap ? 1L : 0L , NULL);
-! dict_add_nr_str(dict, "expr", mp->m_expr ? 1L : 0L, NULL);
-! dict_add_nr_str(dict, "silent", mp->m_silent ? 1L : 0L, NULL);
-! dict_add_nr_str(dict, "sid", (long)mp->m_script_ID, NULL);
-! dict_add_nr_str(dict, "buffer", (long)buffer_local, NULL);
-! dict_add_nr_str(dict, "mode", 0L, mapmode);
-
-! vim_free(lhs);
-! vim_free(mapmode);
- }
- }
-
-*** ../vim-7.3.031/src/getchar.c 2010-08-15 21:57:25.000000000 +0200
---- src/getchar.c 2010-10-20 21:16:24.000000000 +0200
-***************
-*** 3168,3173 ****
---- 3168,3174 ----
- int expr = FALSE;
- #endif
- int noremap;
-+ char_u *orig_rhs;
-
- keys = arg;
- map_table = maphash;
-***************
-*** 3266,3271 ****
---- 3267,3273 ----
- }
- if (*p != NUL)
- *p++ = NUL;
-+
- p = skipwhite(p);
- rhs = p;
- hasarg = (*rhs != NUL);
-***************
-*** 3290,3295 ****
---- 3292,3298 ----
- keys = replace_termcodes(keys, &keys_buf, TRUE, TRUE, special);
- if (hasarg)
- {
-+ orig_rhs = rhs;
- if (STRICMP(rhs, "<nop>") == 0) /* "<Nop>" means nothing */
- rhs = (char_u *)"";
- else
-***************
-*** 3298,3304 ****
-
- #ifdef FEAT_FKMAP
- /*
-! * when in right-to-left mode and alternate keymap option set,
- * reverse the character flow in the rhs in Farsi.
- */
- if (p_altkeymap && curwin->w_p_rl)
---- 3301,3307 ----
-
- #ifdef FEAT_FKMAP
- /*
-! * When in right-to-left mode and alternate keymap option set,
- * reverse the character flow in the rhs in Farsi.
- */
- if (p_altkeymap && curwin->w_p_rl)
-***************
-*** 3556,3561 ****
---- 3559,3566 ----
- }
- vim_free(mp->m_str);
- mp->m_str = newstr;
-+ vim_free(mp->m_orig_str);
-+ mp->m_orig_str = vim_strsave(orig_rhs);
- mp->m_noremap = noremap;
- mp->m_silent = silent;
- mp->m_mode = mode;
-***************
-*** 3633,3642 ****
---- 3638,3649 ----
-
- mp->m_keys = vim_strsave(keys);
- mp->m_str = vim_strsave(rhs);
-+ mp->m_orig_str = vim_strsave(orig_rhs);
- if (mp->m_keys == NULL || mp->m_str == NULL)
- {
- vim_free(mp->m_keys);
- vim_free(mp->m_str);
-+ vim_free(mp->m_orig_str);
- vim_free(mp);
- retval = 4; /* no mem */
- goto theend;
-***************
-*** 3682,3687 ****
---- 3689,3695 ----
- mp = *mpp;
- vim_free(mp->m_keys);
- vim_free(mp->m_str);
-+ vim_free(mp->m_orig_str);
- *mpp = mp->m_next;
- vim_free(mp);
- }
-***************
-*** 3851,3862 ****
- }
- }
-
- static void
- showmap(mp, local)
- mapblock_T *mp;
- int local; /* TRUE for buffer-local map */
- {
-! int len = 1;
-
- if (msg_didout || msg_silent != 0)
- {
---- 3859,3915 ----
- }
- }
-
-+ /*
-+ * Return characters to represent the map mode in an allocated string.
-+ * Returns NULL when out of memory.
-+ */
-+ char_u *
-+ map_mode_to_chars(mode)
-+ int mode;
-+ {
-+ garray_T mapmode;
-+
-+ ga_init2(&mapmode, 1, 7);
-+
-+ if ((mode & (INSERT + CMDLINE)) == INSERT + CMDLINE)
-+ ga_append(&mapmode, '!'); /* :map! */
-+ else if (mode & INSERT)
-+ ga_append(&mapmode, 'i'); /* :imap */
-+ else if (mode & LANGMAP)
-+ ga_append(&mapmode, 'l'); /* :lmap */
-+ else if (mode & CMDLINE)
-+ ga_append(&mapmode, 'c'); /* :cmap */
-+ else if ((mode & (NORMAL + VISUAL + SELECTMODE + OP_PENDING))
-+ == NORMAL + VISUAL + SELECTMODE + OP_PENDING)
-+ ga_append(&mapmode, ' '); /* :map */
-+ else
-+ {
-+ if (mode & NORMAL)
-+ ga_append(&mapmode, 'n'); /* :nmap */
-+ if (mode & OP_PENDING)
-+ ga_append(&mapmode, 'o'); /* :omap */
-+ if ((mode & (VISUAL + SELECTMODE)) == VISUAL + SELECTMODE)
-+ ga_append(&mapmode, 'v'); /* :vmap */
-+ else
-+ {
-+ if (mode & VISUAL)
-+ ga_append(&mapmode, 'x'); /* :xmap */
-+ if (mode & SELECTMODE)
-+ ga_append(&mapmode, 's'); /* :smap */
-+ }
-+ }
-+
-+ ga_append(&mapmode, NUL);
-+ return (char_u *)mapmode.ga_data;
-+ }
-+
- static void
- showmap(mp, local)
- mapblock_T *mp;
- int local; /* TRUE for buffer-local map */
- {
-! int len = 1;
-! char_u *mapchars;
-
- if (msg_didout || msg_silent != 0)
- {
-***************
-*** 3864,3912 ****
- if (got_int) /* 'q' typed at MORE prompt */
- return;
- }
-! if ((mp->m_mode & (INSERT + CMDLINE)) == INSERT + CMDLINE)
-! msg_putchar('!'); /* :map! */
-! else if (mp->m_mode & INSERT)
-! msg_putchar('i'); /* :imap */
-! else if (mp->m_mode & LANGMAP)
-! msg_putchar('l'); /* :lmap */
-! else if (mp->m_mode & CMDLINE)
-! msg_putchar('c'); /* :cmap */
-! else if ((mp->m_mode & (NORMAL + VISUAL + SELECTMODE + OP_PENDING))
-! == NORMAL + VISUAL + SELECTMODE + OP_PENDING)
-! msg_putchar(' '); /* :map */
-! else
- {
-! len = 0;
-! if (mp->m_mode & NORMAL)
-! {
-! msg_putchar('n'); /* :nmap */
-! ++len;
-! }
-! if (mp->m_mode & OP_PENDING)
-! {
-! msg_putchar('o'); /* :omap */
-! ++len;
-! }
-! if ((mp->m_mode & (VISUAL + SELECTMODE)) == VISUAL + SELECTMODE)
-! {
-! msg_putchar('v'); /* :vmap */
-! ++len;
-! }
-! else
-! {
-! if (mp->m_mode & VISUAL)
-! {
-! msg_putchar('x'); /* :xmap */
-! ++len;
-! }
-! if (mp->m_mode & SELECTMODE)
-! {
-! msg_putchar('s'); /* :smap */
-! ++len;
-! }
-! }
- }
- while (++len <= 3)
- msg_putchar(' ');
-
---- 3917,3931 ----
- if (got_int) /* 'q' typed at MORE prompt */
- return;
- }
-!
-! mapchars = map_mode_to_chars(mp->m_mode);
-! if (mapchars != NULL)
- {
-! msg_puts(mapchars);
-! len = STRLEN(mapchars);
-! vim_free(mapchars);
- }
-+
- while (++len <= 3)
- msg_putchar(' ');
-
-***************
-*** 3931,3938 ****
- msg_putchar(' ');
-
- /* Use FALSE below if we only want things like <Up> to show up as such on
-! * the rhs, and not M-x etc, TRUE gets both -- webb
-! */
- if (*mp->m_str == NUL)
- msg_puts_attr((char_u *)"<Nop>", hl_attr(HLF_8));
- else
---- 3950,3956 ----
- msg_putchar(' ');
-
- /* Use FALSE below if we only want things like <Up> to show up as such on
-! * the rhs, and not M-x etc, TRUE gets both -- webb */
- if (*mp->m_str == NUL)
- msg_puts_attr((char_u *)"<Nop>", hl_attr(HLF_8));
- else
-***************
-*** 4995,5013 ****
- sourcing_name = save_name;
- }
-
-! #ifdef FEAT_EVAL
- /*
-! * Check the string "keys" against the lhs of all mappings
-! * Return pointer to rhs of mapping (mapblock->m_str)
-! * NULL otherwise
- */
- char_u *
-! check_map(keys, mode, exact, ign_mod, abbr)
- char_u *keys;
- int mode;
- int exact; /* require exact match */
- int ign_mod; /* ignore preceding modifier */
- int abbr; /* do abbreviations */
- {
- int hash;
- int len, minlen;
---- 5013,5033 ----
- sourcing_name = save_name;
- }
-
-! #if defined(FEAT_EVAL) || defined(PROTO)
- /*
-! * Check the string "keys" against the lhs of all mappings.
-! * Return pointer to rhs of mapping (mapblock->m_str).
-! * NULL when no mapping found.
- */
- char_u *
-! check_map(keys, mode, exact, ign_mod, abbr, mp_ptr, local_ptr)
- char_u *keys;
- int mode;
- int exact; /* require exact match */
- int ign_mod; /* ignore preceding modifier */
- int abbr; /* do abbreviations */
-+ mapblock_T **mp_ptr; /* return: pointer to mapblock or NULL */
-+ int *local_ptr; /* return: buffer-local mapping or NULL */
- {
- int hash;
- int len, minlen;
-***************
-*** 5062,5068 ****
---- 5082,5094 ----
- minlen = mp->m_keylen - 3;
- }
- if (STRNCMP(s, keys, minlen) == 0)
-+ {
-+ if (mp_ptr != NULL)
-+ *mp_ptr = mp;
-+ if (local_ptr != NULL)
-+ *local_ptr = local;
- return mp->m_str;
-+ }
- }
- }
- }
-*** ../vim-7.3.031/src/gui_w48.c 2010-08-15 21:57:29.000000000 +0200
---- src/gui_w48.c 2010-10-20 20:29:20.000000000 +0200
-***************
-*** 1810,1816 ****
- * mapped we want to use the mapping instead. */
- if (vk == VK_F10
- && gui.menu_is_active
-! && check_map(k10, State, FALSE, TRUE, FALSE) == NULL)
- break;
- #endif
- if (GetKeyState(VK_SHIFT) & 0x8000)
---- 1810,1817 ----
- * mapped we want to use the mapping instead. */
- if (vk == VK_F10
- && gui.menu_is_active
-! && check_map(k10, State, FALSE, TRUE, FALSE,
-! NULL, NULL) == NULL)
- break;
- #endif
- if (GetKeyState(VK_SHIFT) & 0x8000)
-***************
-*** 1924,1930 ****
- /* Check for <F10>: Default effect is to select the menu. When <F10> is
- * mapped we need to stop it here to avoid strange effects (e.g., for the
- * key-up event) */
-! if (vk != VK_F10 || check_map(k10, State, FALSE, TRUE, FALSE) == NULL)
- #endif
- DispatchMessage(&msg);
- }
---- 1925,1932 ----
- /* Check for <F10>: Default effect is to select the menu. When <F10> is
- * mapped we need to stop it here to avoid strange effects (e.g., for the
- * key-up event) */
-! if (vk != VK_F10 || check_map(k10, State, FALSE, TRUE, FALSE,
-! NULL, NULL) == NULL)
- #endif
- DispatchMessage(&msg);
- }
-*** ../vim-7.3.031/src/message.c 2010-08-15 21:57:29.000000000 +0200
---- src/message.c 2010-10-20 20:31:33.000000000 +0200
-***************
-*** 1477,1482 ****
---- 1477,1503 ----
- return retval;
- }
-
-+ #if defined(FEAT_EVAL) || defined(PROTO)
-+ /*
-+ * Return the lhs or rhs of a mapping, with the key codes turned into printable
-+ * strings, in an allocated string.
-+ */
-+ char_u *
-+ str2special_save(str, is_lhs)
-+ char_u *str;
-+ int is_lhs; /* TRUE for lhs, FALSE for rhs */
-+ {
-+ garray_T ga;
-+ char_u *p = str;
-+
-+ ga_init2(&ga, 1, 40);
-+ while (*p != NUL)
-+ ga_concat(&ga, str2special(&p, is_lhs));
-+ ga_append(&ga, NUL);
-+ return (char_u *)ga.ga_data;
-+ }
-+ #endif
-+
- /*
- * Return the printable string for the key codes at "*sp".
- * Used for translating the lhs or rhs of a mapping to printable chars.
-*** ../vim-7.3.031/src/proto/getchar.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/getchar.pro 2010-10-20 21:06:01.000000000 +0200
-***************
-*** 51,56 ****
---- 51,57 ----
- int get_map_mode __ARGS((char_u **cmdp, int forceit));
- void map_clear __ARGS((char_u *cmdp, char_u *arg, int forceit, int abbr));
- void map_clear_int __ARGS((buf_T *buf, int mode, int local, int abbr));
-+ char_u *map_mode_to_chars __ARGS((int mode));
- int map_to_exists __ARGS((char_u *str, char_u *modechars, int abbr));
- int map_to_exists_mode __ARGS((char_u *rhs, int mode, int abbr));
- char_u *set_context_in_map_cmd __ARGS((expand_T *xp, char_u *cmd, char_u *arg, int forceit, int isabbrev, int isunmap, cmdidx_T cmdidx));
-***************
-*** 61,67 ****
- int makemap __ARGS((FILE *fd, buf_T *buf));
- int put_escstr __ARGS((FILE *fd, char_u *strstart, int what));
- void check_map_keycodes __ARGS((void));
-! char_u *check_map __ARGS((char_u *keys, int mode, int exact, int ign_mod, int abbr));
- void init_mappings __ARGS((void));
- void add_map __ARGS((char_u *map, int mode));
- /* vim: set ft=c : */
---- 62,68 ----
- int makemap __ARGS((FILE *fd, buf_T *buf));
- int put_escstr __ARGS((FILE *fd, char_u *strstart, int what));
- void check_map_keycodes __ARGS((void));
-! char_u *check_map __ARGS((char_u *keys, int mode, int exact, int ign_mod, int abbr, mapblock_T **mp_ptr, int *local_ptr));
- void init_mappings __ARGS((void));
- void add_map __ARGS((char_u *map, int mode));
- /* vim: set ft=c : */
-*** ../vim-7.3.031/src/proto/message.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/message.pro 2010-10-20 20:31:25.000000000 +0200
-***************
-*** 33,38 ****
---- 33,39 ----
- int msg_outtrans_len_attr __ARGS((char_u *msgstr, int len, int attr));
- void msg_make __ARGS((char_u *arg));
- int msg_outtrans_special __ARGS((char_u *strstart, int from));
-+ char_u *str2special_save __ARGS((char_u *str, int is_lhs));
- char_u *str2special __ARGS((char_u **sp, int from));
- void str2specialbuf __ARGS((char_u *sp, char_u *buf, int len));
- void msg_prt_line __ARGS((char_u *s, int list));
-*** ../vim-7.3.031/src/structs.h 2010-08-15 21:57:28.000000000 +0200
---- src/structs.h 2010-10-20 20:23:38.000000000 +0200
-***************
-*** 979,987 ****
- struct mapblock
- {
- mapblock_T *m_next; /* next mapblock in list */
-! char_u *m_keys; /* mapped from */
- int m_keylen; /* strlen(m_keys) */
-! char_u *m_str; /* mapped to */
- int m_mode; /* valid mode */
- int m_noremap; /* if non-zero no re-mapping for m_str */
- char m_silent; /* <silent> used, don't echo commands */
---- 979,988 ----
- struct mapblock
- {
- mapblock_T *m_next; /* next mapblock in list */
-! char_u *m_keys; /* mapped from, lhs */
- int m_keylen; /* strlen(m_keys) */
-! char_u *m_str; /* mapped to, rhs */
-! char_u *m_orig_str; /* rhs as entered by the user */
- int m_mode; /* valid mode */
- int m_noremap; /* if non-zero no re-mapping for m_str */
- char m_silent; /* <silent> used, don't echo commands */
-*** ../vim-7.3.031/src/testdir/test75.in 2010-10-20 21:13:30.000000000 +0200
---- src/testdir/test75.in 2010-10-20 20:54:04.000000000 +0200
-***************
-*** 0 ****
---- 1,16 ----
-+ " Tests for functions.
-+
-+ STARTTEST
-+ :so small.vim
-+ :" Test maparg() with a string result
-+ :map foo<C-V> is<F4>foo
-+ :vnoremap <script> <buffer> <expr> <silent> bar isbar
-+ :call append('$', maparg('foo<C-V>'))
-+ :call append('$', string(maparg('foo<C-V>', '', 0, 1)))
-+ :call append('$', string(maparg('bar', '', 0, 1)))
-+ :"
-+ :/^eof/+1,$w! test.out
-+ :qa!
-+ ENDTEST
-+
-+ eof
-*** ../vim-7.3.031/src/testdir/test75.ok 2010-10-20 21:13:30.000000000 +0200
---- src/testdir/test75.ok 2010-10-20 20:54:08.000000000 +0200
-***************
-*** 0 ****
---- 1,3 ----
-+ is<F4>foo
-+ {'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>', 'mode': ' ', 'expr': 0, 'sid': 0, 'rhs': 'is<F4>foo', 'buffer': 0}
-+ {'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v', 'expr': 1, 'sid': 0, 'rhs': 'isbar', 'buffer': 1}
-*** ../vim-7.3.031/src/version.c 2010-10-20 19:17:43.000000000 +0200
---- src/version.c 2010-10-20 21:13:18.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 32,
- /**/
-
---
-Not too long ago, compress was something you did to garbage...
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.033 b/source/ap/vim/patches/7.3.033
deleted file mode 100644
index cffbb45d3..000000000
--- a/source/ap/vim/patches/7.3.033
+++ /dev/null
@@ -1,49 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.033
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.033 (after 7.3.032)
-Problem: Can't build without FEAT_LOCALMAP.
-Solution: Add an #ifdef. (John Marriott)
-Files: src/getchar.c
-
-
-*** ../vim-7.3.032/src/getchar.c 2010-10-20 21:22:17.000000000 +0200
---- src/getchar.c 2010-10-22 22:09:40.000000000 +0200
-***************
-*** 5086,5092 ****
---- 5086,5096 ----
- if (mp_ptr != NULL)
- *mp_ptr = mp;
- if (local_ptr != NULL)
-+ #ifdef FEAT_LOCALMAP
- *local_ptr = local;
-+ #else
-+ *local_ptr = 0;
-+ #endif
- return mp->m_str;
- }
- }
-*** ../vim-7.3.032/src/version.c 2010-10-20 21:22:17.000000000 +0200
---- src/version.c 2010-10-22 21:18:30.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 33,
- /**/
-
---
-Futility Factor: No experiment is ever a complete failure - it can always
-serve as a negative example.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.034 b/source/ap/vim/patches/7.3.034
deleted file mode 100644
index c81890e10..000000000
--- a/source/ap/vim/patches/7.3.034
+++ /dev/null
@@ -1,431 +0,0 @@
-To: vim-dev@vim.org
-Subject: Patch 7.3.034
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.034
-Problem: Win32: may be loading .dll from the wrong directory.
-Solution: Go to the Vim executable directory when opening a library.
-Files: src/gui_w32.c, src/if_lua.c, src/if_mzsch.c, src/if_perl.xs,
- src/if_python.c, src/if_python3.c, src/if_ruby.c, src/mbyte.c,
- src/os_mswin.c, src/os_win32.c, src/proto/os_win32.pro
-
-
-*** ../vim-7.3.033/src/gui_w32.c 2010-08-15 21:57:25.000000000 +0200
---- src/gui_w32.c 2010-10-22 21:49:27.000000000 +0200
-***************
-*** 1260,1266 ****
-
- /* try and load the user32.dll library and get the entry points for
- * multi-monitor-support. */
-! if ((user32_lib = LoadLibrary("User32.dll")) != NULL)
- {
- pMonitorFromWindow = (TMonitorFromWindow)GetProcAddress(user32_lib,
- "MonitorFromWindow");
---- 1260,1266 ----
-
- /* try and load the user32.dll library and get the entry points for
- * multi-monitor-support. */
-! if ((user32_lib = vimLoadLib("User32.dll")) != NULL)
- {
- pMonitorFromWindow = (TMonitorFromWindow)GetProcAddress(user32_lib,
- "MonitorFromWindow");
-***************
-*** 4188,4194 ****
- static void
- dyn_imm_load(void)
- {
-! hLibImm = LoadLibrary("imm32.dll");
- if (hLibImm == NULL)
- return;
-
---- 4188,4194 ----
- static void
- dyn_imm_load(void)
- {
-! hLibImm = vimLoadLib("imm32.dll");
- if (hLibImm == NULL)
- return;
-
-*** ../vim-7.3.033/src/if_lua.c 2010-08-15 21:57:28.000000000 +0200
---- src/if_lua.c 2010-10-22 21:49:39.000000000 +0200
-***************
-*** 49,55 ****
- # define symbol_from_dll dlsym
- # define close_dll dlclose
- #else
-! # define load_dll LoadLibrary
- # define symbol_from_dll GetProcAddress
- # define close_dll FreeLibrary
- #endif
---- 49,55 ----
- # define symbol_from_dll dlsym
- # define close_dll dlclose
- #else
-! # define load_dll vimLoadLib
- # define symbol_from_dll GetProcAddress
- # define close_dll FreeLibrary
- #endif
-*** ../vim-7.3.033/src/if_mzsch.c 2010-08-15 21:57:32.000000000 +0200
---- src/if_mzsch.c 2010-10-22 21:49:53.000000000 +0200
-***************
-*** 556,563 ****
-
- if (hMzGC && hMzSch)
- return OK;
-! hMzSch = LoadLibrary(sch_dll);
-! hMzGC = LoadLibrary(gc_dll);
-
- if (!hMzSch)
- {
---- 556,563 ----
-
- if (hMzGC && hMzSch)
- return OK;
-! hMzSch = vimLoadLib(sch_dll);
-! hMzGC = vimLoadLib(gc_dll);
-
- if (!hMzSch)
- {
-*** ../vim-7.3.033/src/if_perl.xs 2010-08-15 21:57:30.000000000 +0200
---- src/if_perl.xs 2010-10-22 21:53:06.000000000 +0200
-***************
-*** 106,112 ****
- #define close_dll dlclose
- #else
- #define PERL_PROC FARPROC
-! #define load_dll LoadLibrary
- #define symbol_from_dll GetProcAddress
- #define close_dll FreeLibrary
- #endif
---- 106,112 ----
- #define close_dll dlclose
- #else
- #define PERL_PROC FARPROC
-! #define load_dll vimLoadLib
- #define symbol_from_dll GetProcAddress
- #define close_dll FreeLibrary
- #endif
-*** ../vim-7.3.033/src/if_python.c 2010-08-15 21:57:28.000000000 +0200
---- src/if_python.c 2010-10-22 21:49:57.000000000 +0200
-***************
-*** 110,116 ****
- # define close_dll dlclose
- # define symbol_from_dll dlsym
- # else
-! # define load_dll LoadLibrary
- # define close_dll FreeLibrary
- # define symbol_from_dll GetProcAddress
- # endif
---- 110,116 ----
- # define close_dll dlclose
- # define symbol_from_dll dlsym
- # else
-! # define load_dll vimLoadLib
- # define close_dll FreeLibrary
- # define symbol_from_dll GetProcAddress
- # endif
-*** ../vim-7.3.033/src/if_python3.c 2010-08-15 21:57:28.000000000 +0200
---- src/if_python3.c 2010-10-22 21:50:01.000000000 +0200
-***************
-*** 88,94 ****
- # define close_dll dlclose
- # define symbol_from_dll dlsym
- # else
-! # define load_dll LoadLibrary
- # define close_dll FreeLibrary
- # define symbol_from_dll GetProcAddress
- # endif
---- 88,94 ----
- # define close_dll dlclose
- # define symbol_from_dll dlsym
- # else
-! # define load_dll vimLoadLib
- # define close_dll FreeLibrary
- # define symbol_from_dll GetProcAddress
- # endif
-*** ../vim-7.3.033/src/if_ruby.c 2010-09-29 13:02:48.000000000 +0200
---- src/if_ruby.c 2010-10-22 21:50:04.000000000 +0200
-***************
-*** 55,61 ****
- # define symbol_from_dll dlsym
- # define close_dll dlclose
- #else
-! # define load_dll LoadLibrary
- # define symbol_from_dll GetProcAddress
- # define close_dll FreeLibrary
- #endif
---- 55,61 ----
- # define symbol_from_dll dlsym
- # define close_dll dlclose
- #else
-! # define load_dll vimLoadLib
- # define symbol_from_dll GetProcAddress
- # define close_dll FreeLibrary
- #endif
-*** ../vim-7.3.033/src/mbyte.c 2010-09-18 13:36:41.000000000 +0200
---- src/mbyte.c 2010-10-22 21:50:09.000000000 +0200
-***************
-*** 4159,4169 ****
- {
- if (hIconvDLL != 0 && hMsvcrtDLL != 0)
- return TRUE;
-! hIconvDLL = LoadLibrary(DYNAMIC_ICONV_DLL);
- if (hIconvDLL == 0) /* sometimes it's called libiconv.dll */
-! hIconvDLL = LoadLibrary(DYNAMIC_ICONV_DLL_ALT);
- if (hIconvDLL != 0)
-! hMsvcrtDLL = LoadLibrary(DYNAMIC_MSVCRT_DLL);
- if (hIconvDLL == 0 || hMsvcrtDLL == 0)
- {
- /* Only give the message when 'verbose' is set, otherwise it might be
---- 4159,4169 ----
- {
- if (hIconvDLL != 0 && hMsvcrtDLL != 0)
- return TRUE;
-! hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL);
- if (hIconvDLL == 0) /* sometimes it's called libiconv.dll */
-! hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL_ALT);
- if (hIconvDLL != 0)
-! hMsvcrtDLL = vimLoadLib(DYNAMIC_MSVCRT_DLL);
- if (hIconvDLL == 0 || hMsvcrtDLL == 0)
- {
- /* Only give the message when 'verbose' is set, otherwise it might be
-*** ../vim-7.3.033/src/os_mswin.c 2010-08-15 21:57:29.000000000 +0200
---- src/os_mswin.c 2010-10-22 22:03:26.000000000 +0200
-***************
-*** 817,823 ****
---- 817,827 ----
- BOOL fRunTimeLinkSuccess = FALSE;
-
- // Get a handle to the DLL module.
-+ # ifdef WIN16
- hinstLib = LoadLibrary(libname);
-+ # else
-+ hinstLib = vimLoadLib(libname);
-+ # endif
-
- // If the handle is valid, try to get the function address.
- if (hinstLib != NULL)
-*** ../vim-7.3.033/src/os_win32.c 2010-10-13 20:37:37.000000000 +0200
---- src/os_win32.c 2010-10-23 13:16:55.000000000 +0200
-***************
-*** 206,247 ****
- static int suppress_winsize = 1; /* don't fiddle with console */
- #endif
-
- static void
- get_exe_name(void)
- {
-! char temp[256];
-! static int did_set_PATH = FALSE;
-
- if (exe_name == NULL)
- {
- /* store the name of the executable, may be used for $VIM */
-! GetModuleFileName(NULL, temp, 255);
- if (*temp != NUL)
- exe_name = FullName_save((char_u *)temp, FALSE);
- }
-
-! if (!did_set_PATH && exe_name != NULL)
- {
-! char_u *p;
-! char_u *newpath;
-!
-! /* Append our starting directory to $PATH, so that when doing "!xxd"
-! * it's found in our starting directory. Needed because SearchPath()
-! * also looks there. */
-! p = mch_getenv("PATH");
-! newpath = alloc((unsigned)(STRLEN(p) + STRLEN(exe_name) + 2));
-! if (newpath != NULL)
-! {
-! STRCPY(newpath, p);
-! STRCAT(newpath, ";");
-! vim_strncpy(newpath + STRLEN(newpath), exe_name,
-! gettail_sep(exe_name) - exe_name);
-! vim_setenv((char_u *)"PATH", newpath);
-! vim_free(newpath);
- }
-
-! did_set_PATH = TRUE;
- }
- }
-
- #if defined(DYNAMIC_GETTEXT) || defined(PROTO)
---- 206,268 ----
- static int suppress_winsize = 1; /* don't fiddle with console */
- #endif
-
-+ static char_u *exe_path = NULL;
-+
- static void
- get_exe_name(void)
- {
-! char temp[MAXPATHL];
-! char_u *p;
-
- if (exe_name == NULL)
- {
- /* store the name of the executable, may be used for $VIM */
-! GetModuleFileName(NULL, temp, MAXPATHL - 1);
- if (*temp != NUL)
- exe_name = FullName_save((char_u *)temp, FALSE);
- }
-
-! if (exe_path == NULL && exe_name != NULL)
- {
-! exe_path = vim_strnsave(exe_name, gettail_sep(exe_name) - exe_name);
-! if (exe_path != NULL)
-! {
-! /* Append our starting directory to $PATH, so that when doing
-! * "!xxd" it's found in our starting directory. Needed because
-! * SearchPath() also looks there. */
-! p = mch_getenv("PATH");
-! if (STRLEN(p) + STRLEN(exe_path) + 2 < MAXPATHL);
-! {
-! STRCPY(temp, p);
-! STRCAT(temp, ";");
-! STRCAT(temp, exe_path);
-! vim_setenv((char_u *)"PATH", temp);
-! }
- }
-+ }
-+ }
-+
-+ /*
-+ * Load library "name".
-+ */
-+ HINSTANCE
-+ vimLoadLib(char *name)
-+ {
-+ HINSTANCE dll = NULL;
-+ char old_dir[MAXPATHL];
-
-! if (exe_path == NULL)
-! get_exe_name();
-! if (exe_path != NULL && mch_dirname(old_dir, MAXPATHL) == OK)
-! {
-! /* Change directory to where the executable is, both to make sure we
-! * find a .dll there and to avoid looking for a .dll in the current
-! * directory. */
-! mch_chdir(exe_path);
-! dll = LoadLibrary(name);
-! mch_chdir(old_dir);
- }
-+ return dll;
- }
-
- #if defined(DYNAMIC_GETTEXT) || defined(PROTO)
-***************
-*** 254,260 ****
- static char *null_libintl_bindtextdomain(const char *, const char *);
- static char *null_libintl_bind_textdomain_codeset(const char *, const char *);
-
-! static HINSTANCE hLibintlDLL = 0;
- char *(*dyn_libintl_gettext)(const char *) = null_libintl_gettext;
- char *(*dyn_libintl_textdomain)(const char *) = null_libintl_textdomain;
- char *(*dyn_libintl_bindtextdomain)(const char *, const char *)
---- 275,281 ----
- static char *null_libintl_bindtextdomain(const char *, const char *);
- static char *null_libintl_bind_textdomain_codeset(const char *, const char *);
-
-! static HINSTANCE hLibintlDLL = NULL;
- char *(*dyn_libintl_gettext)(const char *) = null_libintl_gettext;
- char *(*dyn_libintl_textdomain)(const char *) = null_libintl_textdomain;
- char *(*dyn_libintl_bindtextdomain)(const char *, const char *)
-***************
-*** 282,307 ****
- if (hLibintlDLL)
- return 1;
- /* Load gettext library (libintl.dll) */
-! hLibintlDLL = LoadLibrary(libname != NULL ? libname : GETTEXT_DLL);
- if (!hLibintlDLL)
- {
-! char_u dirname[_MAX_PATH];
-!
-! /* Try using the path from gvim.exe to find the .dll there. */
-! get_exe_name();
-! STRCPY(dirname, exe_name);
-! STRCPY(gettail(dirname), GETTEXT_DLL);
-! hLibintlDLL = LoadLibrary((char *)dirname);
-! if (!hLibintlDLL)
- {
-! if (p_verbose > 0)
-! {
-! verbose_enter();
-! EMSG2(_(e_loadlib), GETTEXT_DLL);
-! verbose_leave();
-! }
-! return 0;
- }
- }
- for (i = 0; libintl_entry[i].name != NULL
- && libintl_entry[i].ptr != NULL; ++i)
---- 303,318 ----
- if (hLibintlDLL)
- return 1;
- /* Load gettext library (libintl.dll) */
-! hLibintlDLL = vimLoadLib(libname != NULL ? libname : GETTEXT_DLL);
- if (!hLibintlDLL)
- {
-! if (p_verbose > 0)
- {
-! verbose_enter();
-! EMSG2(_(e_loadlib), GETTEXT_DLL);
-! verbose_leave();
- }
-+ return 0;
- }
- for (i = 0; libintl_entry[i].name != NULL
- && libintl_entry[i].ptr != NULL; ++i)
-***************
-*** 430,436 ****
- * Seems like a lot of overhead to load/unload ADVAPI32.DLL each
- * time we verify security...
- */
-! advapi_lib = LoadLibrary("ADVAPI32.DLL");
- if (advapi_lib != NULL)
- {
- pSetNamedSecurityInfo = (PSNSECINFO)GetProcAddress(advapi_lib,
---- 441,447 ----
- * Seems like a lot of overhead to load/unload ADVAPI32.DLL each
- * time we verify security...
- */
-! advapi_lib = vimLoadLib("ADVAPI32.DLL");
- if (advapi_lib != NULL)
- {
- pSetNamedSecurityInfo = (PSNSECINFO)GetProcAddress(advapi_lib,
-*** ../vim-7.3.033/src/proto/os_win32.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/os_win32.pro 2010-10-22 22:05:35.000000000 +0200
-***************
-*** 1,4 ****
---- 1,5 ----
- /* os_win32.c */
-+ HINSTANCE vimLoadLib __ARGS((char *name));
- int dyn_libintl_init __ARGS((char *libname));
- void dyn_libintl_end __ARGS((void));
- void PlatformId __ARGS((void));
-*** ../vim-7.3.033/src/version.c 2010-10-22 22:13:47.000000000 +0200
---- src/version.c 2010-10-23 13:55:21.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 34,
- /**/
-
---
-This is the polymorph virus! Follow these instructions carefully:
-1. Send this message to everybody you know.
-2. Format your harddisk.
-Thank you for your cooperation in spreading the most powerful virus ever!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.035 b/source/ap/vim/patches/7.3.035
deleted file mode 100644
index 00f0cc545..000000000
--- a/source/ap/vim/patches/7.3.035
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.035
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.035 (after 7.3.034)
-Problem: Stray semicolon after if statement. (Hari G)
-Solution: Remove the semicolon.
-Files: src/os_win32.c
-
-
-*** ../vim-7.3.034/src/os_win32.c 2010-10-23 14:02:48.000000000 +0200
---- src/os_win32.c 2010-10-24 14:31:04.000000000 +0200
-***************
-*** 231,237 ****
- * "!xxd" it's found in our starting directory. Needed because
- * SearchPath() also looks there. */
- p = mch_getenv("PATH");
-! if (STRLEN(p) + STRLEN(exe_path) + 2 < MAXPATHL);
- {
- STRCPY(temp, p);
- STRCAT(temp, ";");
---- 231,237 ----
- * "!xxd" it's found in our starting directory. Needed because
- * SearchPath() also looks there. */
- p = mch_getenv("PATH");
-! if (STRLEN(p) + STRLEN(exe_path) + 2 < MAXPATHL)
- {
- STRCPY(temp, p);
- STRCAT(temp, ";");
-*** ../vim-7.3.034/src/version.c 2010-10-23 14:02:48.000000000 +0200
---- src/version.c 2010-10-24 14:32:04.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 35,
- /**/
-
---
- [clop clop]
-ARTHUR: Old woman!
-DENNIS: Man!
-ARTHUR: Man, sorry. What knight lives in that castle over there?
-DENNIS: I'm thirty seven.
-ARTHUR: What?
-DENNIS: I'm thirty seven -- I'm not old!
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.036 b/source/ap/vim/patches/7.3.036
deleted file mode 100644
index 21ab47a1a..000000000
--- a/source/ap/vim/patches/7.3.036
+++ /dev/null
@@ -1,68 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.036
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.036
-Problem: Win32 GUI: When building without menus, the font for dialogs and
- tab page headers also changes.
-Solution: Define USE_SYSMENU_FONT always. (Harig G.)
-Files: src/gui_w32.c
-
-
-*** ../vim-7.3.035/src/gui_w32.c 2010-10-23 14:02:48.000000000 +0200
---- src/gui_w32.c 2010-10-25 20:29:15.000000000 +0200
-***************
-*** 289,301 ****
-
- #ifdef FEAT_MENU
- static UINT s_menu_id = 100;
-
- /*
- * Use the system font for dialogs and tear-off menus. Remove this line to
- * use DLG_FONT_NAME.
- */
-! # define USE_SYSMENU_FONT
-! #endif
-
- #define VIM_NAME "vim"
- #define VIM_CLASS "Vim"
---- 289,301 ----
-
- #ifdef FEAT_MENU
- static UINT s_menu_id = 100;
-+ #endif
-
- /*
- * Use the system font for dialogs and tear-off menus. Remove this line to
- * use DLG_FONT_NAME.
- */
-! #define USE_SYSMENU_FONT
-
- #define VIM_NAME "vim"
- #define VIM_CLASS "Vim"
-*** ../vim-7.3.035/src/version.c 2010-10-24 14:33:38.000000000 +0200
---- src/version.c 2010-10-27 12:14:39.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 36,
- /**/
-
---
-ARTHUR: Bloody peasant!
-DENNIS: Oh, what a give away. Did you hear that, did you hear that, eh?
- That's what I'm on about -- did you see him repressing me, you saw it
- didn't you?
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.037 b/source/ap/vim/patches/7.3.037
deleted file mode 100644
index 488934efd..000000000
--- a/source/ap/vim/patches/7.3.037
+++ /dev/null
@@ -1,137 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.037
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.037
-Problem: Compiler warnings for loss of data. (Mike Williams)
-Solution: Add type casts.
-Files: src/if_py_both.h, src/getchar.c, src/os_win32.c
-
-
-*** ../vim-7.3.036/src/if_py_both.h 2010-09-21 16:49:29.000000000 +0200
---- src/if_py_both.h 2010-10-25 20:37:07.000000000 +0200
-***************
-*** 154,160 ****
- {
- PyInt len = ptr - str;
-
-! if (ga_grow(&io_ga, len + 1) == FAIL)
- break;
-
- mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)len);
---- 154,160 ----
- {
- PyInt len = ptr - str;
-
-! if (ga_grow(&io_ga, (int)(len + 1)) == FAIL)
- break;
-
- mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)len);
-***************
-*** 166,175 ****
- }
-
- /* Put the remaining text into io_ga for later printing. */
-! if (n > 0 && ga_grow(&io_ga, n + 1) == OK)
- {
- mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)n);
-! io_ga.ga_len += n;
- }
- }
-
---- 166,175 ----
- }
-
- /* Put the remaining text into io_ga for later printing. */
-! if (n > 0 && ga_grow(&io_ga, (int)(n + 1)) == OK)
- {
- mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)n);
-! io_ga.ga_len += (int)n;
- }
- }
-
-*** ../vim-7.3.036/src/getchar.c 2010-10-22 22:13:47.000000000 +0200
---- src/getchar.c 2010-10-25 20:39:31.000000000 +0200
-***************
-*** 3922,3928 ****
- if (mapchars != NULL)
- {
- msg_puts(mapchars);
-! len = STRLEN(mapchars);
- vim_free(mapchars);
- }
-
---- 3922,3928 ----
- if (mapchars != NULL)
- {
- msg_puts(mapchars);
-! len = (int)STRLEN(mapchars);
- vim_free(mapchars);
- }
-
-*** ../vim-7.3.036/src/os_win32.c 2010-10-24 14:33:38.000000000 +0200
---- src/os_win32.c 2010-10-25 20:38:49.000000000 +0200
-***************
-*** 224,230 ****
-
- if (exe_path == NULL && exe_name != NULL)
- {
-! exe_path = vim_strnsave(exe_name, gettail_sep(exe_name) - exe_name);
- if (exe_path != NULL)
- {
- /* Append our starting directory to $PATH, so that when doing
---- 224,231 ----
-
- if (exe_path == NULL && exe_name != NULL)
- {
-! exe_path = vim_strnsave(exe_name,
-! (int)(gettail_sep(exe_name) - exe_name));
- if (exe_path != NULL)
- {
- /* Append our starting directory to $PATH, so that when doing
-***************
-*** 2374,2380 ****
- /* To avoid a slow failure append "\*" when searching a directory,
- * server or network share. */
- STRCPY(szTrueNameTemp, szTrueName);
-! slen = strlen(szTrueNameTemp);
- if (*porig == psepc && slen + 2 < _MAX_PATH)
- STRCPY(szTrueNameTemp + slen, "\\*");
-
---- 2375,2381 ----
- /* To avoid a slow failure append "\*" when searching a directory,
- * server or network share. */
- STRCPY(szTrueNameTemp, szTrueName);
-! slen = (int)strlen(szTrueNameTemp);
- if (*porig == psepc && slen + 2 < _MAX_PATH)
- STRCPY(szTrueNameTemp + slen, "\\*");
-
-*** ../vim-7.3.036/src/version.c 2010-10-27 12:15:28.000000000 +0200
---- src/version.c 2010-10-27 12:16:53.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 37,
- /**/
-
---
-ARTHUR: You fight with the strength of many men, Sir knight.
- I am Arthur, King of the Britons. [pause]
- I seek the finest and the bravest knights in the land to join me
- in my Court of Camelot. [pause]
- You have proved yourself worthy; will you join me? [pause]
- You make me sad. So be it. Come, Patsy.
-BLACK KNIGHT: None shall pass.
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.038 b/source/ap/vim/patches/7.3.038
deleted file mode 100644
index cea2cf9ee..000000000
--- a/source/ap/vim/patches/7.3.038
+++ /dev/null
@@ -1,76 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.038
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.038
-Problem: v:windowid isn't set on MS-Windows.
-Solution: Set it to the window handle. (Chris Sutcliffe)
-Files: runtime/doc/eval.txt, src/gui_w32.c
-
-
-*** ../vim-7.3.037/runtime/doc/eval.txt 2010-10-20 21:22:17.000000000 +0200
---- runtime/doc/eval.txt 2010-10-27 12:23:37.000000000 +0200
-***************
-*** 1660,1666 ****
- *v:windowid* *windowid-variable*
- v:windowid When any X11 based GUI is running or when running in a
- terminal and Vim connects to the X server (|-X|) this will be
-! set to the window ID. Otherwise the value is zero.
-
- ==============================================================================
- 4. Builtin Functions *functions*
---- 1660,1670 ----
- *v:windowid* *windowid-variable*
- v:windowid When any X11 based GUI is running or when running in a
- terminal and Vim connects to the X server (|-X|) this will be
-! set to the window ID.
-! When an MS-Windows GUI is running this will be set to the
-! window handle.
-! Otherwise the value is zero.
-! Note: for windows inside Vim use |winnr()|.
-
- ==============================================================================
- 4. Builtin Functions *functions*
-*** ../vim-7.3.037/src/gui_w32.c 2010-10-27 12:15:28.000000000 +0200
---- src/gui_w32.c 2010-10-27 12:21:22.000000000 +0200
-***************
-*** 1573,1578 ****
---- 1573,1583 ----
- # endif
- #endif
-
-+ #ifdef FEAT_EVAL
-+ /* set the v:windowid variable */
-+ set_vim_var_nr(VV_WINDOWID, (long)s_hwnd);
-+ #endif
-+
- theend:
- /* Display any pending error messages */
- display_errors();
-*** ../vim-7.3.037/src/version.c 2010-10-27 12:17:54.000000000 +0200
---- src/version.c 2010-10-27 12:24:38.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 38,
- /**/
-
---
-ARTHUR: What?
-BLACK KNIGHT: None shall pass.
-ARTHUR: I have no quarrel with you, good Sir knight, but I must cross
- this bridge.
-BLACK KNIGHT: Then you shall die.
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.039 b/source/ap/vim/patches/7.3.039
deleted file mode 100644
index 2414fc7b6..000000000
--- a/source/ap/vim/patches/7.3.039
+++ /dev/null
@@ -1,90 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.039
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.039
-Problem: Crash when using skk.vim plugin.
-Solution: Get length of expression evaluation result only after checking for
- NULL. (Noriaki Yagi, Dominique Pelle)
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.038/src/ex_getln.c 2010-09-29 15:50:14.000000000 +0200
---- src/ex_getln.c 2010-10-27 12:42:00.000000000 +0200
-***************
-*** 688,711 ****
- p = get_expr_line();
- --textlock;
- restore_cmdline(&save_ccline);
-- len = (int)STRLEN(p);
-
-! if (p != NULL && realloc_cmdbuff(len + 1) == OK)
- {
-! ccline.cmdlen = len;
-! STRCPY(ccline.cmdbuff, p);
-! vim_free(p);
-!
-! /* Restore the cursor or use the position set with
-! * set_cmdline_pos(). */
-! if (new_cmdpos > ccline.cmdlen)
-! ccline.cmdpos = ccline.cmdlen;
-! else
-! ccline.cmdpos = new_cmdpos;
-!
-! KeyTyped = FALSE; /* Don't do p_wc completion. */
-! redrawcmd();
-! goto cmdline_changed;
- }
- }
- beep_flush();
---- 688,714 ----
- p = get_expr_line();
- --textlock;
- restore_cmdline(&save_ccline);
-
-! if (p != NULL)
- {
-! len = (int)STRLEN(p);
-! if (realloc_cmdbuff(len + 1) == OK)
-! {
-! ccline.cmdlen = len;
-! STRCPY(ccline.cmdbuff, p);
-! vim_free(p);
-!
-! /* Restore the cursor or use the position set with
-! * set_cmdline_pos(). */
-! if (new_cmdpos > ccline.cmdlen)
-! ccline.cmdpos = ccline.cmdlen;
-! else
-! ccline.cmdpos = new_cmdpos;
-!
-! KeyTyped = FALSE; /* Don't do p_wc completion. */
-! redrawcmd();
-! goto cmdline_changed;
-! }
- }
- }
- beep_flush();
-*** ../vim-7.3.038/src/version.c 2010-10-27 12:33:12.000000000 +0200
---- src/version.c 2010-10-27 12:43:40.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 39,
- /**/
-
---
-"Hegel was right when he said that we learn from history that man can
-never learn anything from history." (George Bernard Shaw)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.040 b/source/ap/vim/patches/7.3.040
deleted file mode 100644
index 6174cbd90..000000000
--- a/source/ap/vim/patches/7.3.040
+++ /dev/null
@@ -1,48 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.040
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.040
-Problem: Comparing strings while ignoring case goes beyond end of the
- string when there are illegal bytes. (Dominique Pelle)
-Solution: Explicitly check for illegal bytes.
-Files: src/mbyte.c
-
-
-*** ../vim-7.3.039/src/mbyte.c 2010-10-23 14:02:48.000000000 +0200
---- src/mbyte.c 2010-10-27 13:34:16.000000000 +0200
-***************
-*** 3124,3129 ****
---- 3124,3132 ----
- /* If one of the two characters is incomplete return -1. */
- if (incomplete || i + utf_byte2len(s2[i]) > n)
- return -1;
-+ /* Don't case-fold illegal bytes or truncated characters. */
-+ if (utf_ptr2len(s1 + i) < l || utf_ptr2len(s2 + i) < l)
-+ return -1;
- cdiff = utf_fold(utf_ptr2char(s1 + i))
- - utf_fold(utf_ptr2char(s2 + i));
- if (cdiff != 0)
-*** ../vim-7.3.039/src/version.c 2010-10-27 12:58:19.000000000 +0200
---- src/version.c 2010-10-27 13:25:16.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 40,
- /**/
-
---
- With sufficient thrust, pigs fly just fine.
- -- RFC 1925
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.041 b/source/ap/vim/patches/7.3.041
deleted file mode 100644
index 60a987d99..000000000
--- a/source/ap/vim/patches/7.3.041
+++ /dev/null
@@ -1,57 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.041
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.041
-Problem: Compiler warning for accessing mediumVersion. (Tony Mechelynck)
-Solution: Use the pointer instead of the array itself. (Dominique Pelle)
-Files: src/version.c
-
-
-*** ../vim-7.3.040/src/version.c 2010-10-27 13:37:39.000000000 +0200
---- src/version.c 2010-10-27 15:58:26.000000000 +0200
-***************
-*** 1342,1350 ****
- if (highest_patch())
- {
- /* Check for 9.9x or 9.9xx, alpha/beta version */
-! if (isalpha((int)mediumVersion[3]))
- {
-! if (isalpha((int)mediumVersion[4]))
- sprintf((char *)vers + 5, ".%d%s", highest_patch(),
- mediumVersion + 5);
- else
---- 1344,1352 ----
- if (highest_patch())
- {
- /* Check for 9.9x or 9.9xx, alpha/beta version */
-! if (isalpha((int)vers[3]))
- {
-! if (isalpha((int)vers[4]))
- sprintf((char *)vers + 5, ".%d%s", highest_patch(),
- mediumVersion + 5);
- else
-*** ../vim-7.3.040/src/version.c 2010-10-27 13:37:39.000000000 +0200
---- src/version.c 2010-10-27 15:58:26.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 41,
- /**/
-
---
-ARTHUR: I command you as King of the Britons to stand aside!
-BLACK KNIGHT: I move for no man.
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.042 b/source/ap/vim/patches/7.3.042
deleted file mode 100644
index 6f8ab3751..000000000
--- a/source/ap/vim/patches/7.3.042
+++ /dev/null
@@ -1,65 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.042
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.042
-Problem: No spell highlighting when re-using an empty buffer.
-Solution: Clear the spell checking info only when clearing the options for a
- buffer. (James Vega)
-Files: src/buffer.c
-
-
-*** ../vim-7.3.041/src/buffer.c 2010-09-21 16:56:29.000000000 +0200
---- src/buffer.c 2010-10-27 16:09:26.000000000 +0200
-***************
-*** 639,644 ****
---- 639,647 ----
- {
- clear_wininfo(buf); /* including window-local options */
- free_buf_options(buf, TRUE);
-+ #ifdef FEAT_SPELL
-+ ga_clear(&buf->b_s.b_langp);
-+ #endif
- }
- #ifdef FEAT_EVAL
- vars_clear(&buf->b_vars.dv_hashtab); /* free all internal variables */
-***************
-*** 661,669 ****
- vim_free(buf->b_start_fenc);
- buf->b_start_fenc = NULL;
- #endif
-- #ifdef FEAT_SPELL
-- ga_clear(&buf->b_s.b_langp);
-- #endif
- }
-
- /*
---- 664,669 ----
-*** ../vim-7.3.041/src/version.c 2010-10-27 16:01:17.000000000 +0200
---- src/version.c 2010-10-27 16:10:33.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 42,
- /**/
-
---
-BLACK KNIGHT: I move for no man.
-ARTHUR: So be it!
- [hah] [parry thrust]
- [ARTHUR chops the BLACK KNIGHT's left arm off]
-ARTHUR: Now stand aside, worthy adversary.
-BLACK KNIGHT: 'Tis but a scratch.
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.043 b/source/ap/vim/patches/7.3.043
deleted file mode 100644
index 0bdbec56b..000000000
--- a/source/ap/vim/patches/7.3.043
+++ /dev/null
@@ -1,460 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.043
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.043
-Problem: Can't load Ruby dynamically on Unix.
-Solution: Adjust the configure script. (James Vega)
-Files: src/Makefile, src/config.h.in, src/configure.in,
- src/auto/configure, src/if_ruby.c
-
-
-*** ../vim-7.3.042/src/Makefile 2010-08-16 21:59:00.000000000 +0200
---- src/Makefile 2010-10-27 16:46:41.000000000 +0200
-***************
-*** 414,425 ****
---- 414,429 ----
- # However, this may still cause problems, such as "import termios" failing.
- # Build two separate versions of Vim in that case.
- #CONF_OPT_PYTHON = --enable-pythoninterp
-+ #CONF_OPT_PYTHON = --enable-pythoninterp=dynamic
- #CONF_OPT_PYTHON3 = --enable-python3interp
-+ #CONF_OPT_PYTHON3 = --enable-python3interp=dynamic
-
- # RUBY
- # Uncomment this when you want to include the Ruby interface.
-+ # First one for static linking, second one for loading when used.
- # Note: you need the development package (e.g., ruby1.9.1-dev on Ubuntu).
- #CONF_OPT_RUBY = --enable-rubyinterp
-+ #CONF_OPT_RUBY = --enable-rubyinterp=dynamic
- #CONF_OPT_RUBY = --enable-rubyinterp --with-ruby-command=ruby1.9.1
-
- # TCL
-***************
-*** 1047,1054 ****
- INSTALL_DATA = cp
- INSTALL_DATA_R = cp -r
-
-! ### Program to run on installed binary
- #STRIP = strip
-
- ### Permissions for binaries {{{1
- BINMOD = 755
---- 1051,1059 ----
- INSTALL_DATA = cp
- INSTALL_DATA_R = cp -r
-
-! ### Program to run on installed binary. Use the second one to disable strip.
- #STRIP = strip
-+ #STRIP = /bin/true
-
- ### Permissions for binaries {{{1
- BINMOD = 755
-***************
-*** 1321,1327 ****
- .SUFFIXES: .c .o .pro
-
- PRE_DEFS = -Iproto $(DEFS) $(GUI_DEFS) $(GUI_IPATH) $(CPPFLAGS) $(EXTRA_IPATHS)
-! POST_DEFS = $(X_CFLAGS) $(MZSCHEME_CFLAGS) $(TCL_CFLAGS) $(RUBY_CFLAGS) $(EXTRA_DEFS)
-
- ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(POST_DEFS)
-
---- 1326,1332 ----
- .SUFFIXES: .c .o .pro
-
- PRE_DEFS = -Iproto $(DEFS) $(GUI_DEFS) $(GUI_IPATH) $(CPPFLAGS) $(EXTRA_IPATHS)
-! POST_DEFS = $(X_CFLAGS) $(MZSCHEME_CFLAGS) $(TCL_CFLAGS) $(EXTRA_DEFS)
-
- ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(POST_DEFS)
-
-***************
-*** 1329,1335 ****
- # with "-E".
- OSDEF_CFLAGS = $(PRE_DEFS) $(POST_DEFS)
-
-! LINT_CFLAGS = -DLINT -I. $(PRE_DEFS) $(POST_DEFS) $(LUA_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) -Dinline= -D__extension__= -Dalloca=alloca
-
- LINT_EXTRA = -DUSE_SNIFF -DHANGUL_INPUT -D"__attribute__(x)="
-
---- 1334,1340 ----
- # with "-E".
- OSDEF_CFLAGS = $(PRE_DEFS) $(POST_DEFS)
-
-! LINT_CFLAGS = -DLINT -I. $(PRE_DEFS) $(POST_DEFS) $(RUBY_CFLAGS) $(LUA_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) -Dinline= -D__extension__= -Dalloca=alloca
-
- LINT_EXTRA = -DUSE_SNIFF -DHANGUL_INPUT -D"__attribute__(x)="
-
-***************
-*** 2532,2538 ****
- $(CCC) $(PYTHON3_CFLAGS) $(PYTHON3_CFLAGS_EXTRA) -o $@ if_python3.c
-
- objects/if_ruby.o: if_ruby.c
-! $(CCC) -o $@ if_ruby.c
-
- objects/if_sniff.o: if_sniff.c
- $(CCC) -o $@ if_sniff.c
---- 2537,2543 ----
- $(CCC) $(PYTHON3_CFLAGS) $(PYTHON3_CFLAGS_EXTRA) -o $@ if_python3.c
-
- objects/if_ruby.o: if_ruby.c
-! $(CCC) $(RUBY_CFLAGS) -o $@ if_ruby.c
-
- objects/if_sniff.o: if_sniff.c
- $(CCC) -o $@ if_sniff.c
-*** ../vim-7.3.042/src/config.h.in 2010-08-15 21:57:32.000000000 +0200
---- src/config.h.in 2010-10-27 16:21:24.000000000 +0200
-***************
-*** 349,354 ****
---- 349,357 ----
- /* Define if you want to include the Ruby interpreter. */
- #undef FEAT_RUBY
-
-+ /* Define for linking via dlopen() or LoadLibrary() */
-+ #undef DYNAMIC_RUBY
-+
- /* Define if you want to include the Tcl interpreter. */
- #undef FEAT_TCL
-
-*** ../vim-7.3.042/src/configure.in 2010-08-15 21:57:28.000000000 +0200
---- src/configure.in 2010-10-27 16:20:53.000000000 +0200
-***************
-*** 1299,1308 ****
-
- AC_MSG_CHECKING(--enable-rubyinterp argument)
- AC_ARG_ENABLE(rubyinterp,
-! [ --enable-rubyinterp Include Ruby interpreter.], ,
- [enable_rubyinterp="no"])
- AC_MSG_RESULT($enable_rubyinterp)
-! if test "$enable_rubyinterp" = "yes"; then
- AC_MSG_CHECKING(--with-ruby-command argument)
- AC_ARG_WITH(ruby-command, [ --with-ruby-command=RUBY name of the Ruby command (default: ruby)],
- RUBY_CMD="$withval"; AC_MSG_RESULT($RUBY_CMD),
---- 1299,1308 ----
-
- AC_MSG_CHECKING(--enable-rubyinterp argument)
- AC_ARG_ENABLE(rubyinterp,
-! [ --enable-rubyinterp[=OPTS] Include Ruby interpreter. [default=no] [OPTS=no/yes/dynamic]], ,
- [enable_rubyinterp="no"])
- AC_MSG_RESULT($enable_rubyinterp)
-! if test "$enable_rubyinterp" = "yes" -o "$enable_rubyinterp" = "dynamic"; then
- AC_MSG_CHECKING(--with-ruby-command argument)
- AC_ARG_WITH(ruby-command, [ --with-ruby-command=RUBY name of the Ruby command (default: ruby)],
- RUBY_CMD="$withval"; AC_MSG_RESULT($RUBY_CMD),
-***************
-*** 1360,1365 ****
---- 1360,1371 ----
- RUBY_OBJ="objects/if_ruby.o"
- RUBY_PRO="if_ruby.pro"
- AC_DEFINE(FEAT_RUBY)
-+ if test "$enable_rubyinterp" = "dynamic"; then
-+ libruby=`$vi_cv_path_ruby -r rbconfig -e 'printf "lib%s.%s\n", Config::CONFIG[["RUBY_SO_NAME"]], Config::CONFIG[["DLEXT"]]'`
-+ AC_DEFINE(DYNAMIC_RUBY)
-+ RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\\\"$libruby\\\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS"
-+ RUBY_LIBS=
-+ fi
- else
- AC_MSG_RESULT(not found; disabling Ruby)
- fi
-*** ../vim-7.3.042/src/auto/configure 2010-08-15 21:57:27.000000000 +0200
---- src/auto/configure 2010-10-27 16:28:10.000000000 +0200
-***************
-*** 1427,1433 ****
- --enable-pythoninterp=OPTS Include Python interpreter. default=no OPTS=no/yes/dynamic
- --enable-python3interp=OPTS Include Python3 interpreter. default=no OPTS=no/yes/dynamic
- --enable-tclinterp Include Tcl interpreter.
-! --enable-rubyinterp Include Ruby interpreter.
- --enable-cscope Include cscope interface.
- --enable-workshop Include Sun Visual Workshop support.
- --disable-netbeans Disable NetBeans integration support.
---- 1427,1433 ----
- --enable-pythoninterp=OPTS Include Python interpreter. default=no OPTS=no/yes/dynamic
- --enable-python3interp=OPTS Include Python3 interpreter. default=no OPTS=no/yes/dynamic
- --enable-tclinterp Include Tcl interpreter.
-! --enable-rubyinterp=OPTS Include Ruby interpreter. default=no OPTS=no/yes/dynamic
- --enable-cscope Include cscope interface.
- --enable-workshop Include Sun Visual Workshop support.
- --disable-netbeans Disable NetBeans integration support.
-***************
-*** 6103,6109 ****
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_rubyinterp" >&5
- $as_echo "$enable_rubyinterp" >&6; }
-! if test "$enable_rubyinterp" = "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking --with-ruby-command argument" >&5
- $as_echo_n "checking --with-ruby-command argument... " >&6; }
-
---- 6103,6109 ----
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_rubyinterp" >&5
- $as_echo "$enable_rubyinterp" >&6; }
-! if test "$enable_rubyinterp" = "yes" -o "$enable_rubyinterp" = "dynamic"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking --with-ruby-command argument" >&5
- $as_echo_n "checking --with-ruby-command argument... " >&6; }
-
-***************
-*** 6209,6214 ****
---- 6209,6221 ----
- RUBY_PRO="if_ruby.pro"
- $as_echo "#define FEAT_RUBY 1" >>confdefs.h
-
-+ if test "$enable_rubyinterp" = "dynamic"; then
-+ libruby=`$vi_cv_path_ruby -r rbconfig -e 'printf "lib%s.%s\n", Config::CONFIG["RUBY_SO_NAME"], Config::CONFIG["DLEXT"]'`
-+ $as_echo "#define DYNAMIC_RUBY 1" >>confdefs.h
-+
-+ RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\\\"$libruby\\\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS"
-+ RUBY_LIBS=
-+ fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found; disabling Ruby" >&5
- $as_echo "not found; disabling Ruby" >&6; }
-*** ../vim-7.3.042/src/if_ruby.c 2010-10-23 14:02:48.000000000 +0200
---- src/if_ruby.c 2010-10-27 16:40:27.000000000 +0200
-***************
-*** 14,19 ****
---- 14,21 ----
- #include <stdio.h>
- #include <string.h>
-
-+ #include "auto/config.h"
-+
- #ifdef _WIN32
- # if !defined(DYNAMIC_RUBY_VER) || (DYNAMIC_RUBY_VER < 18)
- # define NT
-***************
-*** 48,60 ****
- # define RUBY_EXPORT
- # endif
-
-! #if !(defined(WIN32) || defined(_WIN64))
- # include <dlfcn.h>
-! # define HANDLE void*
- # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
- # define symbol_from_dll dlsym
- # define close_dll dlclose
- #else
- # define load_dll vimLoadLib
- # define symbol_from_dll GetProcAddress
- # define close_dll FreeLibrary
---- 50,64 ----
- # define RUBY_EXPORT
- # endif
-
-! #ifndef WIN3264
- # include <dlfcn.h>
-! # define HINSTANCE void*
-! # define RUBY_PROC void*
- # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
- # define symbol_from_dll dlsym
- # define close_dll dlclose
- #else
-+ # define RUBY_PROC FARPROC
- # define load_dll vimLoadLib
- # define symbol_from_dll GetProcAddress
- # define close_dll FreeLibrary
-***************
-*** 174,180 ****
---- 178,186 ----
- #define rb_lastline_get dll_rb_lastline_get
- #define rb_lastline_set dll_rb_lastline_set
- #define rb_load_protect dll_rb_load_protect
-+ #ifndef RUBY19_OR_LATER
- #define rb_num2long dll_rb_num2long
-+ #endif
- #define rb_num2ulong dll_rb_num2ulong
- #define rb_obj_alloc dll_rb_obj_alloc
- #define rb_obj_as_string dll_rb_obj_as_string
-***************
-*** 186,191 ****
---- 192,200 ----
- #ifdef rb_str_new2
- /* Ruby may #define rb_str_new2 to use rb_str_new_cstr. */
- # define need_rb_str_new_cstr 1
-+ /* Ruby's headers #define rb_str_new_cstr to make use of GCC's
-+ * __builtin_constant_p extension. */
-+ # undef rb_str_new_cstr
- # define rb_str_new_cstr dll_rb_str_new_cstr
- #else
- # define rb_str_new2 dll_rb_str_new2
-***************
-*** 206,214 ****
- #endif
- #define ruby_init dll_ruby_init
- #define ruby_init_loadpath dll_ruby_init_loadpath
-! #define NtInitialize dll_NtInitialize
-! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
-! # define rb_w32_snprintf dll_rb_w32_snprintf
- #endif
-
- #ifdef RUBY19_OR_LATER
---- 215,225 ----
- #endif
- #define ruby_init dll_ruby_init
- #define ruby_init_loadpath dll_ruby_init_loadpath
-! #ifdef WIN3264
-! # define NtInitialize dll_NtInitialize
-! # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
-! # define rb_w32_snprintf dll_rb_w32_snprintf
-! # endif
- #endif
-
- #ifdef RUBY19_OR_LATER
-***************
-*** 283,289 ****
---- 294,305 ----
- #endif
- static void (*dll_ruby_init) (void);
- static void (*dll_ruby_init_loadpath) (void);
-+ #ifdef WIN3264
- static void (*dll_NtInitialize) (int*, char***);
-+ # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
-+ static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...);
-+ # endif
-+ #endif
- #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
- static char * (*dll_rb_string_value_ptr) (volatile VALUE*);
- static VALUE (*dll_rb_float_new) (double);
-***************
-*** 293,301 ****
- #ifdef RUBY19_OR_LATER
- static VALUE (*dll_rb_int2big)(SIGNED_VALUE);
- #endif
-- #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
-- static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...);
-- #endif
-
- #ifdef RUBY19_OR_LATER
- static void (*dll_ruby_script) (const char*);
---- 309,314 ----
-***************
-*** 317,328 ****
- }
- #endif
-
-! static HINSTANCE hinstRuby = 0; /* Instance of ruby.dll */
-
- /*
- * Table of name to function pointer of ruby.
- */
-- #define RUBY_PROC FARPROC
- static struct
- {
- char *name;
---- 330,340 ----
- }
- #endif
-
-! static HINSTANCE hinstRuby = NULL; /* Instance of ruby.dll */
-
- /*
- * Table of name to function pointer of ruby.
- */
- static struct
- {
- char *name;
-***************
-*** 387,401 ****
- #endif
- {"ruby_init", (RUBY_PROC*)&dll_ruby_init},
- {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath},
- {
-! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER < 19
- "NtInitialize",
-! #else
- "ruby_sysinit",
-! #endif
- (RUBY_PROC*)&dll_NtInitialize},
-! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
- {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf},
- #endif
- #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
- {"rb_string_value_ptr", (RUBY_PROC*)&dll_rb_string_value_ptr},
---- 399,415 ----
- #endif
- {"ruby_init", (RUBY_PROC*)&dll_ruby_init},
- {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath},
-+ #ifdef WIN3264
- {
-! # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER < 19
- "NtInitialize",
-! # else
- "ruby_sysinit",
-! # endif
- (RUBY_PROC*)&dll_NtInitialize},
-! # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
- {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf},
-+ # endif
- #endif
- #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
- {"rb_string_value_ptr", (RUBY_PROC*)&dll_rb_string_value_ptr},
-***************
-*** 424,430 ****
- if (hinstRuby)
- {
- close_dll(hinstRuby);
-! hinstRuby = 0;
- }
- }
-
---- 438,444 ----
- if (hinstRuby)
- {
- close_dll(hinstRuby);
-! hinstRuby = NULL;
- }
- }
-
-***************
-*** 454,460 ****
- ruby_funcname_table[i].name)))
- {
- close_dll(hinstRuby);
-! hinstRuby = 0;
- if (verbose)
- EMSG2(_(e_loadfunc), ruby_funcname_table[i].name);
- return FAIL;
---- 468,474 ----
- ruby_funcname_table[i].name)))
- {
- close_dll(hinstRuby);
-! hinstRuby = NULL;
- if (verbose)
- EMSG2(_(e_loadfunc), ruby_funcname_table[i].name);
- return FAIL;
-***************
-*** 936,944 ****
- return line ? vim_str2rb_enc_str(line) : Qnil;
- }
- rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
-- #ifndef __GNUC__
- return Qnil; /* For stop warning */
-- #endif
- }
-
- static VALUE buffer_aref(VALUE self, VALUE num)
---- 950,956 ----
-*** ../vim-7.3.042/src/version.c 2010-10-27 16:17:56.000000000 +0200
---- src/version.c 2010-10-27 16:45:28.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 43,
- /**/
-
---
-ARTHUR: A scratch? Your arm's off!
-BLACK KNIGHT: No, it isn't.
-ARTHUR: Well, what's that then?
-BLACK KNIGHT: I've had worse.
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.044 b/source/ap/vim/patches/7.3.044
deleted file mode 100644
index 6a66763db..000000000
--- a/source/ap/vim/patches/7.3.044
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.044
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.044
-Problem: The preview window opened by the popup menu is larger than
- specified with 'previewheight'. (Benjamin Haskell)
-Solution: Use 'previewheight' if it's set and smaller.
-Files: src/popupmnu.c
-
-
-*** ../vim-7.3.043/src/popupmnu.c 2010-08-15 21:57:25.000000000 +0200
---- src/popupmnu.c 2010-10-27 17:04:31.000000000 +0200
-***************
-*** 558,565 ****
- win_T *curwin_save = curwin;
- int res = OK;
-
-! /* Open a preview window. 3 lines by default. */
- g_do_tagpreview = 3;
- resized = prepare_tagpreview(FALSE);
- g_do_tagpreview = 0;
-
---- 558,568 ----
- win_T *curwin_save = curwin;
- int res = OK;
-
-! /* Open a preview window. 3 lines by default. Prefer
-! * 'previewheight' if set and smaller. */
- g_do_tagpreview = 3;
-+ if (p_pvh > 0 && p_pvh < g_do_tagpreview)
-+ g_do_tagpreview = p_pvh;
- resized = prepare_tagpreview(FALSE);
- g_do_tagpreview = 0;
-
-*** ../vim-7.3.043/src/version.c 2010-10-27 16:49:41.000000000 +0200
---- src/version.c 2010-10-27 17:08:37.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 44,
- /**/
-
---
-"It's so simple to be wise. Just think of something stupid to say
-and then don't say it." -- Sam Levenson
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.045 b/source/ap/vim/patches/7.3.045
deleted file mode 100644
index e8112b97b..000000000
--- a/source/ap/vim/patches/7.3.045
+++ /dev/null
@@ -1,57 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.045
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.045
-Problem: Compiler warning for uninitialized variable.
-Solution: Initialize the variable always.
-Files: src/getchar.c
-
-
-*** ../vim-7.3.044/src/getchar.c 2010-10-27 12:17:54.000000000 +0200
---- src/getchar.c 2010-10-27 17:28:45.000000000 +0200
-***************
-*** 3290,3298 ****
- */
- if (haskey)
- keys = replace_termcodes(keys, &keys_buf, TRUE, TRUE, special);
- if (hasarg)
- {
-- orig_rhs = rhs;
- if (STRICMP(rhs, "<nop>") == 0) /* "<Nop>" means nothing */
- rhs = (char_u *)"";
- else
---- 3290,3298 ----
- */
- if (haskey)
- keys = replace_termcodes(keys, &keys_buf, TRUE, TRUE, special);
-+ orig_rhs = rhs;
- if (hasarg)
- {
- if (STRICMP(rhs, "<nop>") == 0) /* "<Nop>" means nothing */
- rhs = (char_u *)"";
- else
-*** ../vim-7.3.044/src/version.c 2010-10-27 17:11:11.000000000 +0200
---- src/version.c 2010-10-27 17:30:11.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 45,
- /**/
-
---
-MARTHA'S WAY: Don't throw out all that leftover wine. Freeze into ice cubes
- for future use in casseroles and sauces.
-MY WAY: What leftover wine?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.046 b/source/ap/vim/patches/7.3.046
deleted file mode 100644
index 41d4f66e7..000000000
--- a/source/ap/vim/patches/7.3.046
+++ /dev/null
@@ -1,76 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.046
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.046 (after 7.3.043)
-Problem: Can't build Ruby on MS-Windows.
-Solution: Add #ifdef, don't use WIN3264 before including vim.h.
-Files: src/if_ruby.c
-
-
-*** ../vim-7.3.045/src/if_ruby.c 2010-10-27 16:49:41.000000000 +0200
---- src/if_ruby.c 2010-10-27 17:37:05.000000000 +0200
-***************
-*** 14,20 ****
- #include <stdio.h>
- #include <string.h>
-
-! #include "auto/config.h"
-
- #ifdef _WIN32
- # if !defined(DYNAMIC_RUBY_VER) || (DYNAMIC_RUBY_VER < 18)
---- 14,22 ----
- #include <stdio.h>
- #include <string.h>
-
-! #ifdef HAVE_CONFIG_H
-! # include "auto/config.h"
-! #endif
-
- #ifdef _WIN32
- # if !defined(DYNAMIC_RUBY_VER) || (DYNAMIC_RUBY_VER < 18)
-***************
-*** 50,56 ****
- # define RUBY_EXPORT
- # endif
-
-! #ifndef WIN3264
- # include <dlfcn.h>
- # define HINSTANCE void*
- # define RUBY_PROC void*
---- 52,58 ----
- # define RUBY_EXPORT
- # endif
-
-! #if !(defined(WIN32) || defined(_WIN64))
- # include <dlfcn.h>
- # define HINSTANCE void*
- # define RUBY_PROC void*
-*** ../vim-7.3.045/src/version.c 2010-10-27 17:39:00.000000000 +0200
---- src/version.c 2010-10-27 17:39:59.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 46,
- /**/
-
---
-BLACK KNIGHT: Come on you pansy!
- [hah] [parry thrust]
- [ARTHUR chops the BLACK KNIGHT's right arm off]
-ARTHUR: Victory is mine! [kneeling]
- We thank thee Lord, that in thy merc-
- [Black Knight kicks Arthur in the head while he is praying]
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.047 b/source/ap/vim/patches/7.3.047
deleted file mode 100644
index 6f6e32d42..000000000
--- a/source/ap/vim/patches/7.3.047
+++ /dev/null
@@ -1,172 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.047
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.047 (after 7.3.032)
-Problem: Missing makefile updates for test 75.
-Solution: Update the makefiles.
-Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Makefile, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
-
-
-*** ../vim-7.3.046/src/testdir/Make_amiga.mak 2010-10-20 17:44:01.000000000 +0200
---- src/testdir/Make_amiga.mak 2010-10-20 20:43:25.000000000 +0200
-***************
-*** 27,33 ****
- test56.out test57.out test58.out test59.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
-! test71.out test72.out test73.out test74.out
-
- .SUFFIXES: .in .out
-
---- 27,33 ----
- test56.out test57.out test58.out test59.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
-! test71.out test72.out test73.out test74.out test75.out
-
- .SUFFIXES: .in .out
-
-***************
-*** 121,123 ****
---- 121,124 ----
- test72.out: test72.in
- test73.out: test73.in
- test74.out: test74.in
-+ test75.out: test75.in
-*** ../vim-7.3.046/src/testdir/Make_dos.mak 2010-10-20 17:44:01.000000000 +0200
---- src/testdir/Make_dos.mak 2010-10-20 20:43:48.000000000 +0200
-***************
-*** 28,34 ****
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
-! test74.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 28,34 ----
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
-! test74.out test75.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.046/src/testdir/Makefile 2010-10-20 17:44:01.000000000 +0200
---- src/testdir/Makefile 2010-10-20 20:44:10.000000000 +0200
-***************
-*** 25,31 ****
- test59.out test60.out test61.out test62.out test63.out \
- test64.out test65.out test66.out test67.out test68.out \
- test69.out test70.out test71.out test72.out test73.out \
-! test74.out
-
- SCRIPTS_GUI = test16.out
-
---- 25,31 ----
- test59.out test60.out test61.out test62.out test63.out \
- test64.out test65.out test66.out test67.out test68.out \
- test69.out test70.out test71.out test72.out test73.out \
-! test74.out test75.out
-
- SCRIPTS_GUI = test16.out
-
-*** ../vim-7.3.046/src/testdir/Make_ming.mak 2010-10-20 17:44:01.000000000 +0200
---- src/testdir/Make_ming.mak 2010-10-20 20:43:53.000000000 +0200
-***************
-*** 48,54 ****
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
-! test74.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 48,54 ----
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
-! test74.out test75.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.046/src/testdir/Make_os2.mak 2010-10-20 17:44:01.000000000 +0200
---- src/testdir/Make_os2.mak 2010-10-20 20:44:00.000000000 +0200
-***************
-*** 27,33 ****
- test56.out test57.out test58.out test59.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
-! test71.out test72.out test73.out test74.out
-
- .SUFFIXES: .in .out
-
---- 27,33 ----
- test56.out test57.out test58.out test59.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
-! test71.out test72.out test73.out test74.out test75.out
-
- .SUFFIXES: .in .out
-
-*** ../vim-7.3.046/src/testdir/Make_vms.mms 2010-10-20 17:44:01.000000000 +0200
---- src/testdir/Make_vms.mms 2010-10-20 20:44:05.000000000 +0200
-***************
-*** 4,10 ****
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
-! # Last change: 2010 Aug 04
- #
- # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
- # Edit the lines in the Configuration section below to select.
---- 4,10 ----
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
-! # Last change: 2010 Oct 20
- #
- # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
- # Edit the lines in the Configuration section below to select.
-***************
-*** 74,80 ****
- test56.out test57.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out \
-! test71.out test72.out test74.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
---- 74,80 ----
- test56.out test57.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out \
-! test71.out test72.out test74.out test75.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
-*** ../vim-7.3.046/src/version.c 2010-10-27 17:40:53.000000000 +0200
---- src/version.c 2010-10-27 18:34:20.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 47,
- /**/
-
---
-5 out of 4 people have trouble with fractions.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.048 b/source/ap/vim/patches/7.3.048
deleted file mode 100644
index db84480f1..000000000
--- a/source/ap/vim/patches/7.3.048
+++ /dev/null
@@ -1,109 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.048
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.048
-Problem: ":earlier 1f" doesn't work after loading undo file.
-Solution: Set b_u_save_nr_cur when loading an undo file. (Christian
- Brabandt)
- Fix only showing time in ":undolist"
-Files: src/undo.c
-
-
-*** ../vim-7.3.047/src/undo.c 2010-08-15 21:57:28.000000000 +0200
---- src/undo.c 2010-11-03 19:26:38.000000000 +0100
-***************
-*** 1861,1866 ****
---- 1861,1867 ----
- curbuf->b_u_seq_cur = seq_cur;
- curbuf->b_u_time_cur = seq_time;
- curbuf->b_u_save_nr_last = last_save_nr;
-+ curbuf->b_u_save_nr_cur = last_save_nr;
-
- curbuf->b_u_synced = TRUE;
- vim_free(uhp_table);
-***************
-*** 2794,2800 ****
- uhp->uh_time);
- if (uhp->uh_save_nr > 0)
- {
-! while (STRLEN(IObuff) < 32)
- STRCAT(IObuff, " ");
- vim_snprintf_add((char *)IObuff, IOSIZE,
- " %3ld", uhp->uh_save_nr);
---- 2795,2801 ----
- uhp->uh_time);
- if (uhp->uh_save_nr > 0)
- {
-! while (STRLEN(IObuff) < 33)
- STRCAT(IObuff, " ");
- vim_snprintf_add((char *)IObuff, IOSIZE,
- " %3ld", uhp->uh_save_nr);
-***************
-*** 2849,2855 ****
- sort_strings((char_u **)ga.ga_data, ga.ga_len);
-
- msg_start();
-! msg_puts_attr((char_u *)_("number changes time saved"),
- hl_attr(HLF_T));
- for (i = 0; i < ga.ga_len && !got_int; ++i)
- {
---- 2850,2856 ----
- sort_strings((char_u **)ga.ga_data, ga.ga_len);
-
- msg_start();
-! msg_puts_attr((char_u *)_("number changes when saved"),
- hl_attr(HLF_T));
- for (i = 0; i < ga.ga_len && !got_int; ++i)
- {
-***************
-*** 2879,2885 ****
- if (time(NULL) - tt >= 100)
- {
- curtime = localtime(&tt);
-! (void)strftime((char *)buf, buflen, "%H:%M:%S", curtime);
- }
- else
- #endif
---- 2880,2894 ----
- if (time(NULL) - tt >= 100)
- {
- curtime = localtime(&tt);
-! if (time(NULL) - tt < (60L * 60L * 12L))
-! /* within 12 hours */
-! (void)strftime((char *)buf, buflen, "%H:%M:%S", curtime);
-! else if (time(NULL) - tt < (60L * 60L * 24L * 180L))
-! /* within 6 months */
-! (void)strftime((char *)buf, buflen, "%m/%d %H:%M:%S", curtime);
-! else
-! /* long ago */
-! (void)strftime((char *)buf, buflen, "%y/%m/%d %H:%M:%S", curtime);
- }
- else
- #endif
-*** ../vim-7.3.047/src/version.c 2010-10-27 18:36:32.000000000 +0200
---- src/version.c 2010-11-03 19:27:07.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 48,
- /**/
-
---
-TIM: To the north there lies a cave, the cave of Caerbannog, wherein, carved
- in mystic runes, upon the very living rock, the last words of Olfin
- Bedwere of Rheged make plain the last resting place of the most Holy
- Grail.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.049 b/source/ap/vim/patches/7.3.049
deleted file mode 100644
index 365aeaba4..000000000
--- a/source/ap/vim/patches/7.3.049
+++ /dev/null
@@ -1,495 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.049
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.049
-Problem: PLT has rebranded their Scheme to Racket.
-Solution: Add support for Racket 5.x. (Sergey Khorev)
-Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak,
- src/auto/configure, src/configure.in, src/if_mzsch.c
-
-
-*** ../vim-7.3.048/src/Make_cyg.mak 2010-08-15 21:57:27.000000000 +0200
---- src/Make_cyg.mak 2010-11-03 21:50:42.000000000 +0100
-***************
-*** 1,6 ****
- #
- # Makefile for VIM on Win32, using Cygnus gcc
-! # Last updated by Dan Sharp. Last Change: 2010 Feb 24
- #
- # Also read INSTALLpc.txt!
- #
---- 1,6 ----
- #
- # Makefile for VIM on Win32, using Cygnus gcc
-! # Last updated by Dan Sharp. Last Change: 2010 Nov 03
- #
- # Also read INSTALLpc.txt!
- #
-***************
-*** 27,32 ****
---- 27,33 ----
- # MZSCHEME_VER define to version of MzScheme being used (209_000)
- # DYNAMIC_MZSCHEME no or yes: use yes to load the MzScheme DLLs dynamically (yes)
- # MZSCHEME_DLLS path to MzScheme DLLs (libmzgc and libmzsch), for "static" build.
-+ # MZSCHEME_USE_RACKET define to use "racket" instead of "mzsch".
- # LUA define to path to Lua dir to get Lua support (not defined)
- # LUA_VER define to version of Lua being used (51)
- # DYNAMIC_LUA no or yes: use yes to load the Lua DLL dynamically (yes)
-***************
-*** 254,269 ****
- MZSCHEME_GENERATE_BASE=no
- endif
-
- ifeq (yes, $(DYNAMIC_MZSCHEME))
-! DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
- else
- ifndef MZSCHEME_DLLS
- MZSCHEME_DLLS = $(MZSCHEME)
- endif
- ifeq (yes,$(MZSCHEME_PRECISE_GC))
-! MZSCHEME_LIB=-lmzsch$(MZSCHEME_VER)
- else
-! MZSCHEME_LIB = -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
- endif
- EXTRA_LIBS += -L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)/lib $(MZSCHEME_LIB)
- endif
---- 255,276 ----
- MZSCHEME_GENERATE_BASE=no
- endif
-
-+ ifndef MZSCHEME_USE_RACKET
-+ MZSCHEME_MAIN_LIB=mzsch
-+ else
-+ MZSCHEME_MAIN_LIB=racket
-+ endif
-+
- ifeq (yes, $(DYNAMIC_MZSCHEME))
-! DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
- else
- ifndef MZSCHEME_DLLS
- MZSCHEME_DLLS = $(MZSCHEME)
- endif
- ifeq (yes,$(MZSCHEME_PRECISE_GC))
-! MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER)
- else
-! MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
- endif
- EXTRA_LIBS += -L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)/lib $(MZSCHEME_LIB)
- endif
-*** ../vim-7.3.048/src/Make_ming.mak 2010-09-29 18:42:25.000000000 +0200
---- src/Make_ming.mak 2010-11-03 21:48:14.000000000 +0100
-***************
-*** 141,151 ****
- MZSCHEME_GENERATE_BASE=no
- endif
-
- ifeq (no,$(DYNAMIC_MZSCHEME))
- ifeq (yes,$(MZSCHEME_PRECISE_GC))
-! MZSCHEME_LIB=-lmzsch$(MZSCHEME_VER)
- else
-! MZSCHEME_LIB = -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
- endif
- # the modern MinGW can dynamically link to dlls directly.
- # point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll
---- 141,157 ----
- MZSCHEME_GENERATE_BASE=no
- endif
-
-+ ifndef MZSCHEME_USE_RACKET
-+ MZSCHEME_MAIN_LIB=mzsch
-+ else
-+ MZSCHEME_MAIN_LIB=racket
-+ endif
-+
- ifeq (no,$(DYNAMIC_MZSCHEME))
- ifeq (yes,$(MZSCHEME_PRECISE_GC))
-! MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER)
- else
-! MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
- endif
- # the modern MinGW can dynamically link to dlls directly.
- # point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll
-***************
-*** 343,349 ****
- ifdef MZSCHEME
- CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME)/collects\"
- ifeq (yes, $(DYNAMIC_MZSCHEME))
-! CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
- endif
- endif
-
---- 349,355 ----
- ifdef MZSCHEME
- CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME)/collects\"
- ifeq (yes, $(DYNAMIC_MZSCHEME))
-! CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
- endif
- endif
-
-*** ../vim-7.3.048/src/Make_mvc.mak 2010-08-15 21:57:27.000000000 +0200
---- src/Make_mvc.mak 2010-11-03 21:48:14.000000000 +0100
-***************
-*** 705,716 ****
- MZSCHEME_VER = 205_000
- !endif
- CFLAGS = $(CFLAGS) -DFEAT_MZSCHEME -I $(MZSCHEME)\include
-! !if EXIST("$(MZSCHEME)\collects\scheme\base.ss")
-! # for MzScheme 4.x we need to include byte code for basic Scheme stuff
- MZSCHEME_EXTRA_DEP = mzscheme_base.c
- CFLAGS = $(CFLAGS) -DINCLUDE_MZSCHEME_BASE
- !endif
-! !if EXIST("$(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib") \
- && !EXIST("$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib")
- !message Building with Precise GC
- MZSCHEME_PRECISE_GC = yes
---- 705,722 ----
- MZSCHEME_VER = 205_000
- !endif
- CFLAGS = $(CFLAGS) -DFEAT_MZSCHEME -I $(MZSCHEME)\include
-! !if EXIST("$(MZSCHEME)\collects\scheme\base.ss") \
-! || EXIST("$(MZSCHEME)\collects\scheme\base.rkt")
-! # for MzScheme >= 4 we need to include byte code for basic Scheme stuff
- MZSCHEME_EXTRA_DEP = mzscheme_base.c
- CFLAGS = $(CFLAGS) -DINCLUDE_MZSCHEME_BASE
- !endif
-! !if EXIST("$(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib")
-! MZSCHEME_MAIN_LIB=mzsch
-! !else
-! MZSCHEME_MAIN_LIB=racket
-! !endif
-! !if EXIST("$(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib") \
- && !EXIST("$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib")
- !message Building with Precise GC
- MZSCHEME_PRECISE_GC = yes
-***************
-*** 722,728 ****
- !endif
- !message MzScheme DLLs will be loaded dynamically
- CFLAGS = $(CFLAGS) -DDYNAMIC_MZSCHEME \
-! -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" \
- -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
- !else
- !if "$(MZSCHEME_DEBUG)" == "yes"
---- 728,734 ----
- !endif
- !message MzScheme DLLs will be loaded dynamically
- CFLAGS = $(CFLAGS) -DDYNAMIC_MZSCHEME \
-! -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" \
- -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
- !else
- !if "$(MZSCHEME_DEBUG)" == "yes"
-***************
-*** 730,739 ****
- !endif
- !if "$(MZSCHEME_PRECISE_GC)" == "yes"
- # Precise GC does not use separate dll
-! MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib
- !else
- MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib \
-! $(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib
- !endif
- !endif
- MZSCHEME_OBJ = $(OUTDIR)\if_mzsch.obj
---- 736,745 ----
- !endif
- !if "$(MZSCHEME_PRECISE_GC)" == "yes"
- # Precise GC does not use separate dll
-! MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib
- !else
- MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib \
-! $(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib
- !endif
- !endif
- MZSCHEME_OBJ = $(OUTDIR)\if_mzsch.obj
-*** ../vim-7.3.048/src/auto/configure 2010-10-27 16:49:41.000000000 +0200
---- src/auto/configure 2010-11-03 21:53:09.000000000 +0100
-***************
-*** 4862,4877 ****
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- $as_echo "no" >&6; }
-! { $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in /usr/include/plt/" >&5
-! $as_echo_n "checking if scheme.h can be found in /usr/include/plt/... " >&6; }
-! if test -f /usr/include/plt/scheme.h; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
-! SCHEME_INC=/usr/include/plt
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- $as_echo "no" >&6; }
-! vi_cv_path_mzscheme_pfx=
- fi
- fi
- fi
---- 4862,4897 ----
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- $as_echo "no" >&6; }
-! { $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket" >&5
-! $as_echo_n "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket... " >&6; }
-! if test -f $vi_cv_path_mzscheme_pfx/include/racket/scheme.h; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
-! SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/racket
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- $as_echo "no" >&6; }
-! { $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in /usr/include/plt/" >&5
-! $as_echo_n "checking if scheme.h can be found in /usr/include/plt/... " >&6; }
-! if test -f /usr/include/plt/scheme.h; then
-! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-! $as_echo "yes" >&6; }
-! SCHEME_INC=/usr/include/plt
-! else
-! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-! $as_echo "no" >&6; }
-! { $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in /usr/include/racket/" >&5
-! $as_echo_n "checking if scheme.h can be found in /usr/include/racket/... " >&6; }
-! if test -f /usr/include/racket/scheme.h; then
-! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-! $as_echo "yes" >&6; }
-! SCHEME_INC=/usr/include/racket
-! else
-! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-! $as_echo "no" >&6; }
-! vi_cv_path_mzscheme_pfx=
-! fi
-! fi
- fi
- fi
- fi
-***************
-*** 4883,4894 ****
- elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
- MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
- MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
-! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"; then
- MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
- else
- if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then
- MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m"
- MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
- else
- MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
- fi
---- 4903,4924 ----
- elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
- MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
- MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
-! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"; then
-! MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"
-! MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
-! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.a"; then
-! MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
-! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a"; then
- MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
- else
- if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then
- MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m"
- MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
-+ elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.so"; then
-+ MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket3m"
-+ MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
-+ elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.so"; then
-+ MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket -lmzgc"
- else
- MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
- fi
-***************
-*** 4901,4910 ****
- fi
- if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
- SCHEME_COLLECTS=lib/plt/
- fi
- if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
-! MZSCHEME_EXTRA="mzscheme_base.c"
-! MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
- MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
- fi
- MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \
---- 4931,4950 ----
- fi
- if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
- SCHEME_COLLECTS=lib/plt/
-+ else
-+ if test -d $vi_cv_path_mzscheme_pfx/lib/racket/collects; then
-+ SCHEME_COLLECTS=lib/racket/
-+ fi
- fi
- if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
-! MZSCHEME_EXTRA="mzscheme_base.c"
-! else
-! if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
-! MZSCHEME_EXTRA="mzscheme_base.c"
-! fi
-! fi
-! if test "X$MZSCHEME_EXTRA" != "X" ; then
-! MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
- MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
- fi
- MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \
-*** ../vim-7.3.048/src/configure.in 2010-10-27 16:49:41.000000000 +0200
---- src/configure.in 2010-11-03 21:48:14.000000000 +0100
-***************
-*** 568,580 ****
- SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/plt
- else
- AC_MSG_RESULT(no)
-! AC_MSG_CHECKING(if scheme.h can be found in /usr/include/plt/)
-! if test -f /usr/include/plt/scheme.h; then
- AC_MSG_RESULT(yes)
-! SCHEME_INC=/usr/include/plt
- else
- AC_MSG_RESULT(no)
-! vi_cv_path_mzscheme_pfx=
- fi
- fi
- fi
---- 568,594 ----
- SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/plt
- else
- AC_MSG_RESULT(no)
-! AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket)
-! if test -f $vi_cv_path_mzscheme_pfx/include/racket/scheme.h; then
- AC_MSG_RESULT(yes)
-! SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/racket
- else
- AC_MSG_RESULT(no)
-! AC_MSG_CHECKING(if scheme.h can be found in /usr/include/plt/)
-! if test -f /usr/include/plt/scheme.h; then
-! AC_MSG_RESULT(yes)
-! SCHEME_INC=/usr/include/plt
-! else
-! AC_MSG_RESULT(no)
-! AC_MSG_CHECKING(if scheme.h can be found in /usr/include/racket/)
-! if test -f /usr/include/racket/scheme.h; then
-! AC_MSG_RESULT(yes)
-! SCHEME_INC=/usr/include/racket
-! else
-! AC_MSG_RESULT(no)
-! vi_cv_path_mzscheme_pfx=
-! fi
-! fi
- fi
- fi
- fi
-***************
-*** 586,598 ****
- elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
- MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
- MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
-! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"; then
- MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
- else
- dnl Using shared objects
- if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then
- MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m"
- MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
- else
- MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
- fi
---- 600,622 ----
- elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
- MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
- MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
-! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"; then
-! MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"
-! MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
-! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.a"; then
-! MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
-! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a"; then
- MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
- else
- dnl Using shared objects
- if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then
- MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m"
- MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
-+ elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.so"; then
-+ MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket3m"
-+ MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
-+ elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.so"; then
-+ MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket -lmzgc"
- else
- MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
- fi
-***************
-*** 607,616 ****
- fi
- if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
- SCHEME_COLLECTS=lib/plt/
- fi
- if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
-- dnl need to generate bytecode for MzScheme base
- MZSCHEME_EXTRA="mzscheme_base.c"
- MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
- MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
- fi
---- 631,650 ----
- fi
- if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
- SCHEME_COLLECTS=lib/plt/
-+ else
-+ if test -d $vi_cv_path_mzscheme_pfx/lib/racket/collects; then
-+ SCHEME_COLLECTS=lib/racket/
-+ fi
- fi
- if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
- MZSCHEME_EXTRA="mzscheme_base.c"
-+ else
-+ if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
-+ MZSCHEME_EXTRA="mzscheme_base.c"
-+ fi
-+ fi
-+ if test "X$MZSCHEME_EXTRA" != "X" ; then
-+ dnl need to generate bytecode for MzScheme base
- MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
- MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
- fi
-*** ../vim-7.3.048/src/if_mzsch.c 2010-10-23 14:02:48.000000000 +0200
---- src/if_mzsch.c 2010-11-03 21:48:14.000000000 +0100
-***************
-*** 794,802 ****
---- 794,809 ----
- #endif
- }
-
-+ #if MZSCHEME_VERSION_MAJOR >= 500 && defined(WIN32) && defined(USE_THREAD_LOCAL)
-+ static __declspec(thread) void *tls_space;
-+ #endif
-+
- void
- mzscheme_main(void)
- {
-+ #if MZSCHEME_VERSION_MAJOR >= 500 && defined(WIN32) && defined(USE_THREAD_LOCAL)
-+ scheme_register_tls_space(&tls_space, 0);
-+ #endif
- #if defined(MZ_PRECISE_GC) && MZSCHEME_VERSION_MAJOR >= 400
- /* use trampoline for precise GC in MzScheme >= 4.x */
- scheme_main_setup(TRUE, mzscheme_env_main, 0, NULL);
-*** ../vim-7.3.048/src/version.c 2010-11-03 19:32:36.000000000 +0100
---- src/version.c 2010-11-03 21:57:04.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 49,
- /**/
-
---
-TIM: But follow only if you are men of valour. For the entrance to this cave
- is guarded by a monster, a creature so foul and cruel that no man yet has
- fought with it and lived. Bones of full fifty men lie strewn about its
- lair ...
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.050 b/source/ap/vim/patches/7.3.050
deleted file mode 100644
index cccb836ce..000000000
--- a/source/ap/vim/patches/7.3.050
+++ /dev/null
@@ -1,199 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.050
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.050
-Problem: The link script is clumsy.
-Solution: Use the --as-needed linker option if available. (Kirill A.
- Shutemov)
-Files: src/Makefile, src/auto/configure, src/config.mk.in,
- src/configure.in, src/link.sh
-
-
-*** ../vim-7.3.049/src/Makefile 2010-10-27 16:49:41.000000000 +0200
---- src/Makefile 2010-11-03 22:26:45.000000000 +0100
-***************
-*** 1700,1706 ****
- $(CCC) version.c -o objects/version.o
- @LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \
- -o $(VIMTARGET) $(OBJ) objects/version.o $(ALL_LIBS)" \
-! MAKE="$(MAKE)" sh $(srcdir)/link.sh
-
- xxd/xxd$(EXEEXT): xxd/xxd.c
- cd xxd; CC="$(CC)" CFLAGS="$(CPPFLAGS) $(CFLAGS)" \
---- 1700,1707 ----
- $(CCC) version.c -o objects/version.o
- @LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \
- -o $(VIMTARGET) $(OBJ) objects/version.o $(ALL_LIBS)" \
-! MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \
-! sh $(srcdir)/link.sh
-
- xxd/xxd$(EXEEXT): xxd/xxd.c
- cd xxd; CC="$(CC)" CFLAGS="$(CPPFLAGS) $(CFLAGS)" \
-*** ../vim-7.3.049/src/auto/configure 2010-11-03 21:59:23.000000000 +0100
---- src/auto/configure 2010-11-03 22:28:03.000000000 +0100
-***************
-*** 593,598 ****
---- 593,599 ----
-
- ac_subst_vars='LTLIBOBJS
- LIBOBJS
-+ LINK_AS_NEEDED
- DEPEND_CFLAGS_FILTER
- MAKEMO
- MSGFMT
-***************
-*** 12404,12409 ****
---- 12405,12427 ----
- fi
-
-
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker --as-needed support" >&5
-+ $as_echo_n "checking linker --as-needed support... " >&6; }
-+ LINK_AS_NEEDED=
-+ # Check if linker supports --as-needed and --no-as-needed options
-+ if $CC -Wl,--help 2>/dev/null | grep as-needed > /dev/null; then
-+ LDFLAGS="$LDFLAGS -Wl,--as-needed"
-+ LINK_AS_NEEDED=yes
-+ fi
-+ if test "$LINK_AS_NEEDED" = yes; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-+ $as_echo "yes" >&6; }
-+ else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+ $as_echo "no" >&6; }
-+ fi
-+
-+
- ac_config_files="$ac_config_files auto/config.mk:config.mk.in"
-
- cat >confcache <<\_ACEOF
-*** ../vim-7.3.049/src/config.mk.in 2010-08-15 21:57:28.000000000 +0200
---- src/config.mk.in 2010-11-03 22:26:24.000000000 +0100
-***************
-*** 30,35 ****
---- 30,36 ----
- CPP = @CPP@
- CPP_MM = @CPP_MM@
- DEPEND_CFLAGS_FILTER = @DEPEND_CFLAGS_FILTER@
-+ LINK_AS_NEEDED = @LINK_AS_NEEDED@
- X_CFLAGS = @X_CFLAGS@
- X_LIBS_DIR = @X_LIBS@
- X_PRE_LIBS = @X_PRE_LIBS@
-*** ../vim-7.3.049/src/configure.in 2010-11-03 21:59:23.000000000 +0100
---- src/configure.in 2010-11-03 22:26:16.000000000 +0100
-***************
-*** 3527,3532 ****
---- 3527,3549 ----
- fi
- AC_SUBST(DEPEND_CFLAGS_FILTER)
-
-+ dnl link.sh tries to avoid overlinking in a hackish way.
-+ dnl At least GNU ld supports --as-needed which provides the same functionality
-+ dnl at linker level. Let's use it.
-+ AC_MSG_CHECKING(linker --as-needed support)
-+ LINK_AS_NEEDED=
-+ # Check if linker supports --as-needed and --no-as-needed options
-+ if $CC -Wl,--help 2>/dev/null | grep as-needed > /dev/null; then
-+ LDFLAGS="$LDFLAGS -Wl,--as-needed"
-+ LINK_AS_NEEDED=yes
-+ fi
-+ if test "$LINK_AS_NEEDED" = yes; then
-+ AC_MSG_RESULT(yes)
-+ else
-+ AC_MSG_RESULT(no)
-+ fi
-+ AC_SUBST(LINK_AS_NEEDED)
-+
- dnl write output files
- AC_OUTPUT(auto/config.mk:config.mk.in)
-
-*** ../vim-7.3.049/src/link.sh 2010-08-15 21:57:25.000000000 +0200
---- src/link.sh 2010-11-03 22:26:08.000000000 +0100
-***************
-*** 5,11 ****
- # libraries when they exist, but this doesn't mean they are needed for Vim.
- #
- # Author: Bram Moolenaar
-! # Last change: 2006 Sep 26
- # License: Public domain
- #
- # Warning: This fails miserably if the linker doesn't return an error code!
---- 5,11 ----
- # libraries when they exist, but this doesn't mean they are needed for Vim.
- #
- # Author: Bram Moolenaar
-! # Last change: 2010 Nov 03
- # License: Public domain
- #
- # Warning: This fails miserably if the linker doesn't return an error code!
-***************
-*** 16,26 ****
- echo "$LINK " >link.cmd
- exit_value=0
-
- #
- # If auto/link.sed already exists, use it. We assume a previous run of
- # link.sh has found the correct set of libraries.
- #
-- if test -f auto/link.sed; then
- echo "link.sh: The file 'auto/link.sed' exists, which is going to be used now."
- echo "link.sh: If linking fails, try deleting the auto/link.sed file."
- echo "link.sh: If this fails too, try creating an empty auto/link.sed file."
---- 16,38 ----
- echo "$LINK " >link.cmd
- exit_value=0
-
-+ if test "$LINK_AS_NEEDED" = yes; then
-+ echo "link.sh: \$LINK_AS_NEEDED set to 'yes': invoking linker directly."
-+ cat link.cmd
-+ if sh link.cmd; then
-+ exit_value=0
-+ echo "link.sh: Linked fine"
-+ else
-+ exit_value=$?
-+ echo "link.sh: Linking failed"
-+ fi
-+ else
-+ if test -f auto/link.sed; then
-+
- #
- # If auto/link.sed already exists, use it. We assume a previous run of
- # link.sh has found the correct set of libraries.
- #
- echo "link.sh: The file 'auto/link.sed' exists, which is going to be used now."
- echo "link.sh: If linking fails, try deleting the auto/link.sed file."
- echo "link.sh: If this fails too, try creating an empty auto/link.sed file."
-***************
-*** 124,129 ****
---- 136,143 ----
- fi
- fi
-
-+ fi
-+
- #
- # cleanup
- #
-*** ../vim-7.3.049/src/version.c 2010-11-03 21:59:23.000000000 +0100
---- src/version.c 2010-11-03 22:30:17.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 50,
- /**/
-
---
-Save the plankton - eat a whale.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.051 b/source/ap/vim/patches/7.3.051
deleted file mode 100644
index ebf3680b0..000000000
--- a/source/ap/vim/patches/7.3.051
+++ /dev/null
@@ -1,111 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.051
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.051
-Problem: Crash when $PATH is empty.
-Solution: Check for vim_getenv() returning NULL. (Yasuhiro Matsumoto)
-Files: src/ex_getln.c, src/os_win32.c
-
-
-*** ../vim-7.3.050/src/ex_getln.c 2010-10-27 12:58:19.000000000 +0200
---- src/ex_getln.c 2010-11-10 15:31:33.000000000 +0100
-***************
-*** 4747,4753 ****
---- 4747,4757 ----
- || (pat[1] == '.' && vim_ispathsep(pat[2])))))
- path = (char_u *)".";
- else
-+ {
- path = vim_getenv((char_u *)"PATH", &mustfree);
-+ if (path == NULL)
-+ path = (char_u *)"";
-+ }
-
- /*
- * Go over all directories in $PATH. Expand matches in that directory and
-*** ../vim-7.3.050/src/os_win32.c 2010-10-27 12:17:54.000000000 +0200
---- src/os_win32.c 2010-11-10 15:30:36.000000000 +0100
-***************
-*** 211,223 ****
- static void
- get_exe_name(void)
- {
-! char temp[MAXPATHL];
- char_u *p;
-
- if (exe_name == NULL)
- {
- /* store the name of the executable, may be used for $VIM */
-! GetModuleFileName(NULL, temp, MAXPATHL - 1);
- if (*temp != NUL)
- exe_name = FullName_save((char_u *)temp, FALSE);
- }
---- 211,226 ----
- static void
- get_exe_name(void)
- {
-! /* Maximum length of $PATH is more than MAXPATHL. 8191 is often mentioned
-! * as the maximum length that works (plus a NUL byte). */
-! #define MAX_ENV_PATH_LEN 8192
-! char temp[MAX_ENV_PATH_LEN];
- char_u *p;
-
- if (exe_name == NULL)
- {
- /* store the name of the executable, may be used for $VIM */
-! GetModuleFileName(NULL, temp, MAX_ENV_PATH_LEN - 1);
- if (*temp != NUL)
- exe_name = FullName_save((char_u *)temp, FALSE);
- }
-***************
-*** 232,241 ****
- * "!xxd" it's found in our starting directory. Needed because
- * SearchPath() also looks there. */
- p = mch_getenv("PATH");
-! if (STRLEN(p) + STRLEN(exe_path) + 2 < MAXPATHL)
- {
-! STRCPY(temp, p);
-! STRCAT(temp, ";");
- STRCAT(temp, exe_path);
- vim_setenv((char_u *)"PATH", temp);
- }
---- 235,250 ----
- * "!xxd" it's found in our starting directory. Needed because
- * SearchPath() also looks there. */
- p = mch_getenv("PATH");
-! if (p == NULL
-! || STRLEN(p) + STRLEN(exe_path) + 2 < MAX_ENV_PATH_LEN)
- {
-! if (p == NULL || *p == NUL)
-! temp[0] = NUL;
-! else
-! {
-! STRCPY(temp, p);
-! STRCAT(temp, ";");
-! }
- STRCAT(temp, exe_path);
- vim_setenv((char_u *)"PATH", temp);
- }
-*** ../vim-7.3.050/src/version.c 2010-11-03 22:32:18.000000000 +0100
---- src/version.c 2010-11-10 15:34:43.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 51,
- /**/
-
---
-SIGFUN -- signature too funny (core dumped)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.052 b/source/ap/vim/patches/7.3.052
deleted file mode 100644
index be0691fa4..000000000
--- a/source/ap/vim/patches/7.3.052
+++ /dev/null
@@ -1,345 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.052
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.052
-Problem: When 'completefunc' opens a new window all kinds of errors follow.
- (Xavier Deguillard)
-Solution: When 'completefunc' goes to another window or buffer and when it
- deletes text abort completion. Add a test for 'completefunc'.
-Files: src/edit.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
- src/testdir/Make_vms.mms, src/testdir/Makefile,
- src/testdir/test76.in, src/testdir/test76.ok
-
-
-*** ../vim-7.3.051/src/edit.c 2010-08-15 21:57:25.000000000 +0200
---- src/edit.c 2010-11-10 16:50:12.000000000 +0100
-***************
-*** 58,63 ****
---- 58,67 ----
- };
-
- static char e_hitend[] = N_("Hit end of paragraph");
-+ #ifdef FEAT_COMPL_FUNC
-+ static char e_complwin[] = N_("E839: Completion function changed window");
-+ static char e_compldel[] = N_("E840: Completion function deleted text");
-+ #endif
-
- /*
- * Structure used to store one match for insert completion.
-***************
-*** 3833,3838 ****
---- 3837,3844 ----
- char_u *args[2];
- char_u *funcname;
- pos_T pos;
-+ win_T *curwin_save;
-+ buf_T *curbuf_save;
-
- funcname = (type == CTRL_X_FUNCTION) ? curbuf->b_p_cfu : curbuf->b_p_ofu;
- if (*funcname == NUL)
-***************
-*** 3843,3855 ****
- args[1] = base;
-
- pos = curwin->w_cursor;
- matchlist = call_func_retlist(funcname, 2, args, FALSE);
- curwin->w_cursor = pos; /* restore the cursor position */
-! if (matchlist == NULL)
-! return;
-
-! ins_compl_add_list(matchlist);
-! list_unref(matchlist);
- }
- #endif /* FEAT_COMPL_FUNC */
-
---- 3849,3875 ----
- args[1] = base;
-
- pos = curwin->w_cursor;
-+ curwin_save = curwin;
-+ curbuf_save = curbuf;
- matchlist = call_func_retlist(funcname, 2, args, FALSE);
-+ if (curwin_save != curwin || curbuf_save != curbuf)
-+ {
-+ EMSG(_(e_complwin));
-+ goto theend;
-+ }
- curwin->w_cursor = pos; /* restore the cursor position */
-! check_cursor();
-! if (!equalpos(curwin->w_cursor, pos))
-! {
-! EMSG(_(e_compldel));
-! goto theend;
-! }
-! if (matchlist != NULL)
-! ins_compl_add_list(matchlist);
-
-! theend:
-! if (matchlist != NULL)
-! list_unref(matchlist);
- }
- #endif /* FEAT_COMPL_FUNC */
-
-***************
-*** 4994,4999 ****
---- 5014,5021 ----
- int col;
- char_u *funcname;
- pos_T pos;
-+ win_T *curwin_save;
-+ buf_T *curbuf_save;
-
- /* Call 'completefunc' or 'omnifunc' and get pattern length as a
- * string */
-***************
-*** 5009,5016 ****
---- 5031,5051 ----
- args[0] = (char_u *)"1";
- args[1] = NULL;
- pos = curwin->w_cursor;
-+ curwin_save = curwin;
-+ curbuf_save = curbuf;
- col = call_func_retnr(funcname, 2, args, FALSE);
-+ if (curwin_save != curwin || curbuf_save != curbuf)
-+ {
-+ EMSG(_(e_complwin));
-+ return FAIL;
-+ }
- curwin->w_cursor = pos; /* restore the cursor position */
-+ check_cursor();
-+ if (!equalpos(curwin->w_cursor, pos))
-+ {
-+ EMSG(_(e_compldel));
-+ return FAIL;
-+ }
-
- if (col < 0)
- col = curs_col;
-*** ../vim-7.3.051/src/testdir/Make_amiga.mak 2010-10-27 18:36:32.000000000 +0200
---- src/testdir/Make_amiga.mak 2010-11-10 15:48:30.000000000 +0100
-***************
-*** 27,33 ****
- test56.out test57.out test58.out test59.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
-! test71.out test72.out test73.out test74.out test75.out
-
- .SUFFIXES: .in .out
-
---- 27,34 ----
- test56.out test57.out test58.out test59.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
-! test71.out test72.out test73.out test74.out test75.out \
-! test76.out
-
- .SUFFIXES: .in .out
-
-***************
-*** 122,124 ****
---- 123,126 ----
- test73.out: test73.in
- test74.out: test74.in
- test75.out: test75.in
-+ test76.out: test76.in
-*** ../vim-7.3.051/src/testdir/Make_dos.mak 2010-10-27 18:36:32.000000000 +0200
---- src/testdir/Make_dos.mak 2010-11-10 15:48:38.000000000 +0100
-***************
-*** 28,34 ****
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
-! test74.out test75.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 28,34 ----
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
-! test74.out test75.out test76.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.051/src/testdir/Make_ming.mak 2010-10-27 18:36:32.000000000 +0200
---- src/testdir/Make_ming.mak 2010-11-10 15:48:53.000000000 +0100
-***************
-*** 48,54 ****
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
-! test74.out test75.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 48,54 ----
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
-! test74.out test75.out test76.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.051/src/testdir/Make_os2.mak 2010-10-27 18:36:32.000000000 +0200
---- src/testdir/Make_os2.mak 2010-11-10 15:49:10.000000000 +0100
-***************
-*** 27,33 ****
- test56.out test57.out test58.out test59.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
-! test71.out test72.out test73.out test74.out test75.out
-
- .SUFFIXES: .in .out
-
---- 27,34 ----
- test56.out test57.out test58.out test59.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
-! test71.out test72.out test73.out test74.out test75.out \
-! test76.out
-
- .SUFFIXES: .in .out
-
-*** ../vim-7.3.051/src/testdir/Make_vms.mms 2010-10-27 18:36:32.000000000 +0200
---- src/testdir/Make_vms.mms 2010-11-10 15:49:32.000000000 +0100
-***************
-*** 4,10 ****
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
-! # Last change: 2010 Oct 20
- #
- # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
- # Edit the lines in the Configuration section below to select.
---- 4,10 ----
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
-! # Last change: 2010 Nov 10
- #
- # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
- # Edit the lines in the Configuration section below to select.
-***************
-*** 74,80 ****
- test56.out test57.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out \
-! test71.out test72.out test74.out test75.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
---- 74,80 ----
- test56.out test57.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out \
-! test71.out test72.out test74.out test75.out test76.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
-*** ../vim-7.3.051/src/testdir/Makefile 2010-10-27 18:36:32.000000000 +0200
---- src/testdir/Makefile 2010-11-10 15:47:32.000000000 +0100
-***************
-*** 25,31 ****
- test59.out test60.out test61.out test62.out test63.out \
- test64.out test65.out test66.out test67.out test68.out \
- test69.out test70.out test71.out test72.out test73.out \
-! test74.out test75.out
-
- SCRIPTS_GUI = test16.out
-
---- 25,31 ----
- test59.out test60.out test61.out test62.out test63.out \
- test64.out test65.out test66.out test67.out test68.out \
- test69.out test70.out test71.out test72.out test73.out \
-! test74.out test75.out test76.out
-
- SCRIPTS_GUI = test16.out
-
-*** ../vim-7.3.051/src/testdir/test76.in 2010-11-10 16:51:45.000000000 +0100
---- src/testdir/test76.in 2010-11-10 16:38:45.000000000 +0100
-***************
-*** 0 ****
---- 1,46 ----
-+ Tests for completefunc/omnifunc. vim: set ft=vim :
-+
-+ STARTTEST
-+ :"Test that nothing happens if the 'completefunc' opens
-+ :"a new window (no completion, no crash)
-+ :so small.vim
-+ :function! DummyCompleteOne(findstart, base)
-+ : if a:findstart
-+ : return 0
-+ : else
-+ : wincmd n
-+ : return ['onedef', 'oneDEF']
-+ : endif
-+ :endfunction
-+ :setlocal completefunc=DummyCompleteOne
-+ /^one
-+ A:q!
-+ :function! DummyCompleteTwo(findstart, base)
-+ : if a:findstart
-+ : wincmd n
-+ : return 0
-+ : else
-+ : return ['twodef', 'twoDEF']
-+ : endif
-+ :endfunction
-+ :setlocal completefunc=DummyCompleteTwo
-+ /^two
-+ A:q!
-+ :"Test that 'completefunc' works when it's OK.
-+ :function! DummyCompleteThree(findstart, base)
-+ : if a:findstart
-+ : return 0
-+ : else
-+ : return ['threedef', 'threeDEF']
-+ : endif
-+ :endfunction
-+ :setlocal completefunc=DummyCompleteThree
-+ /^three
-+ A:/^+++/,/^three/w! test.out
-+ :qa!
-+ ENDTEST
-+
-+ +++
-+ one
-+ two
-+ three
-*** ../vim-7.3.051/src/testdir/test76.ok 2010-11-10 16:51:45.000000000 +0100
---- src/testdir/test76.ok 2010-11-10 16:38:58.000000000 +0100
-***************
-*** 0 ****
---- 1,4 ----
-+ +++
-+
-+ two
-+ threeDEF
-*** ../vim-7.3.051/src/version.c 2010-11-10 15:37:00.000000000 +0100
---- src/version.c 2010-11-10 16:40:29.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 52,
- /**/
-
---
-BRIDGEKEEPER: What is the air-speed velocity of an unladen swallow?
-ARTHUR: What do you mean? An African or European swallow?
-BRIDGEKEEPER: Er ... I don't know that ... Aaaaarrrrrrggghhh!
- BRIDGEKEEPER is cast into the gorge.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.053 b/source/ap/vim/patches/7.3.053
deleted file mode 100644
index 687b39d2b..000000000
--- a/source/ap/vim/patches/7.3.053
+++ /dev/null
@@ -1,89 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.053
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.053
-Problem: complete() function doesn't reset complete direction. Can't use
- an empty string in the list of matches.
-Solution: Set compl_direction to FORWARD. Add "empty" key to allow empty
- words. (Kikuchan)
-Files: src/edit.c
-
-
-*** ../vim-7.3.052/src/edit.c 2010-11-10 16:54:16.000000000 +0100
---- src/edit.c 2010-11-10 17:03:23.000000000 +0100
-***************
-*** 2662,2667 ****
---- 2662,2668 ----
- if (stop_arrow() == FAIL)
- return;
-
-+ compl_direction = FORWARD;
- if (startcol > curwin->w_cursor.col)
- startcol = curwin->w_cursor.col;
- compl_col = startcol;
-***************
-*** 3909,3914 ****
---- 3910,3916 ----
- char_u *word;
- int icase = FALSE;
- int adup = FALSE;
-+ int aempty = FALSE;
- char_u *(cptext[CPT_COUNT]);
-
- if (tv->v_type == VAR_DICT && tv->vval.v_dict != NULL)
-***************
-*** 3926,3938 ****
- icase = get_dict_number(tv->vval.v_dict, (char_u *)"icase");
- if (get_dict_string(tv->vval.v_dict, (char_u *)"dup", FALSE) != NULL)
- adup = get_dict_number(tv->vval.v_dict, (char_u *)"dup");
- }
- else
- {
- word = get_tv_string_chk(tv);
- vim_memset(cptext, 0, sizeof(cptext));
- }
-! if (word == NULL || *word == NUL)
- return FAIL;
- return ins_compl_add(word, -1, icase, NULL, cptext, dir, 0, adup);
- }
---- 3928,3942 ----
- icase = get_dict_number(tv->vval.v_dict, (char_u *)"icase");
- if (get_dict_string(tv->vval.v_dict, (char_u *)"dup", FALSE) != NULL)
- adup = get_dict_number(tv->vval.v_dict, (char_u *)"dup");
-+ if (get_dict_string(tv->vval.v_dict, (char_u *)"empty", FALSE) != NULL)
-+ aempty = get_dict_number(tv->vval.v_dict, (char_u *)"empty");
- }
- else
- {
- word = get_tv_string_chk(tv);
- vim_memset(cptext, 0, sizeof(cptext));
- }
-! if (word == NULL || (!aempty && *word == NUL))
- return FAIL;
- return ins_compl_add(word, -1, icase, NULL, cptext, dir, 0, adup);
- }
-*** ../vim-7.3.052/src/version.c 2010-11-10 16:54:16.000000000 +0100
---- src/version.c 2010-11-10 17:10:39.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 53,
- /**/
-
---
-BEDEVERE: How do you know so much about swallows?
-ARTHUR: Well you have to know these things when you're a king, you know.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.054 b/source/ap/vim/patches/7.3.054
deleted file mode 100644
index 2fd7236af..000000000
--- a/source/ap/vim/patches/7.3.054
+++ /dev/null
@@ -1,112 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.054
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.054
-Problem: Can define a user command for :Print, but it doesn't work. (Aaron
- Thoma)
-Solution: Let user command :Print overrule the builtin command (Christian
- Brabandt) Disallow :X and :Next as a user defined command.
-Files: src/ex_docmd.c
-
-
-*** ../vim-7.3.053/src/ex_docmd.c 2010-10-13 17:50:02.000000000 +0200
---- src/ex_docmd.c 2010-11-10 18:33:18.000000000 +0100
-***************
-*** 2871,2878 ****
- }
-
- #ifdef FEAT_USR_CMDS
-! /* Look for a user defined command as a last resort */
-! if (eap->cmdidx == CMD_SIZE && *eap->cmd >= 'A' && *eap->cmd <= 'Z')
- {
- /* User defined commands may contain digits. */
- while (ASCII_ISALNUM(*p))
---- 2871,2880 ----
- }
-
- #ifdef FEAT_USR_CMDS
-! /* Look for a user defined command as a last resort. Let ":Print" be
-! * overruled by a user defined command. */
-! if ((eap->cmdidx == CMD_SIZE || eap->cmdidx == CMD_Print)
-! && *eap->cmd >= 'A' && *eap->cmd <= 'Z')
- {
- /* User defined commands may contain digits. */
- while (ASCII_ISALNUM(*p))
-***************
-*** 5588,5593 ****
---- 5590,5596 ----
- int compl = EXPAND_NOTHING;
- char_u *compl_arg = NULL;
- int has_attr = (eap->arg[0] == '-');
-+ int name_len;
-
- p = eap->arg;
-
-***************
-*** 5613,5618 ****
---- 5616,5622 ----
- return;
- }
- end = p;
-+ name_len = (int)(end - name);
-
- /* If there is nothing after the name, and no attributes were specified,
- * we are listing commands
-***************
-*** 5627,5632 ****
---- 5631,5643 ----
- EMSG(_("E183: User defined commands must start with an uppercase letter"));
- return;
- }
-+ else if ((name_len == 1 && *name == 'X')
-+ || (name_len <= 4
-+ && STRNCMP(name, "Next", name_len > 4 ? 4 : name_len) == 0))
-+ {
-+ EMSG(_("E841: Reserved name, cannot be used for user defined command"));
-+ return;
-+ }
- else
- uc_add_command(name, end - name, p, argt, def, flags, compl, compl_arg,
- eap->forceit);
-***************
-*** 9394,9400 ****
- ex_ptag(eap)
- exarg_T *eap;
- {
-! g_do_tagpreview = p_pvh;
- ex_tag_cmd(eap, cmdnames[eap->cmdidx].cmd_name + 1);
- }
-
---- 9405,9411 ----
- ex_ptag(eap)
- exarg_T *eap;
- {
-! g_do_tagpreview = p_pvh; /* will be reset to 0 in ex_tag_cmd() */
- ex_tag_cmd(eap, cmdnames[eap->cmdidx].cmd_name + 1);
- }
-
-*** ../vim-7.3.053/src/version.c 2010-11-10 17:11:29.000000000 +0100
---- src/version.c 2010-11-10 18:58:28.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 54,
- /**/
-
---
-You can be stopped by the police for biking over 65 miles per hour.
-You are not allowed to walk across a street on your hands.
- [real standing laws in Connecticut, United States of America]
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.055 b/source/ap/vim/patches/7.3.055
deleted file mode 100644
index 5e6ca16c9..000000000
--- a/source/ap/vim/patches/7.3.055
+++ /dev/null
@@ -1,359 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.055
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.055
-Problem: Recursively nested lists and dictionaries cause a near-endless
- loop when comparing them with a copy. (ZyX)
-Solution: Limit recursiveness in a way that non-recursive structures can
- still be nested very deep.
-Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok
-
-
-*** ../vim-7.3.054/src/eval.c 2010-10-20 21:22:17.000000000 +0200
---- src/eval.c 2010-11-10 20:02:57.000000000 +0100
-***************
-*** 434,442 ****
- static void listitem_free __ARGS((listitem_T *item));
- static void listitem_remove __ARGS((list_T *l, listitem_T *item));
- static long list_len __ARGS((list_T *l));
-! static int list_equal __ARGS((list_T *l1, list_T *l2, int ic));
-! static int dict_equal __ARGS((dict_T *d1, dict_T *d2, int ic));
-! static int tv_equal __ARGS((typval_T *tv1, typval_T *tv2, int ic));
- static listitem_T *list_find __ARGS((list_T *l, long n));
- static long list_find_nr __ARGS((list_T *l, long idx, int *errorp));
- static long list_idx_of_item __ARGS((list_T *l, listitem_T *item));
---- 434,442 ----
- static void listitem_free __ARGS((listitem_T *item));
- static void listitem_remove __ARGS((list_T *l, listitem_T *item));
- static long list_len __ARGS((list_T *l));
-! static int list_equal __ARGS((list_T *l1, list_T *l2, int ic, int recursive));
-! static int dict_equal __ARGS((dict_T *d1, dict_T *d2, int ic, int recursive));
-! static int tv_equal __ARGS((typval_T *tv1, typval_T *tv2, int ic, int recursive));
- static listitem_T *list_find __ARGS((list_T *l, long n));
- static long list_find_nr __ARGS((list_T *l, long idx, int *errorp));
- static long list_idx_of_item __ARGS((list_T *l, listitem_T *item));
-***************
-*** 4350,4356 ****
- else
- {
- /* Compare two Lists for being equal or unequal. */
-! n1 = list_equal(rettv->vval.v_list, var2.vval.v_list, ic);
- if (type == TYPE_NEQUAL)
- n1 = !n1;
- }
---- 4350,4357 ----
- else
- {
- /* Compare two Lists for being equal or unequal. */
-! n1 = list_equal(rettv->vval.v_list, var2.vval.v_list,
-! ic, FALSE);
- if (type == TYPE_NEQUAL)
- n1 = !n1;
- }
-***************
-*** 4379,4385 ****
- else
- {
- /* Compare two Dictionaries for being equal or unequal. */
-! n1 = dict_equal(rettv->vval.v_dict, var2.vval.v_dict, ic);
- if (type == TYPE_NEQUAL)
- n1 = !n1;
- }
---- 4380,4387 ----
- else
- {
- /* Compare two Dictionaries for being equal or unequal. */
-! n1 = dict_equal(rettv->vval.v_dict, var2.vval.v_dict,
-! ic, FALSE);
- if (type == TYPE_NEQUAL)
- n1 = !n1;
- }
-***************
-*** 5914,5923 ****
- * Return TRUE when two lists have exactly the same values.
- */
- static int
-! list_equal(l1, l2, ic)
- list_T *l1;
- list_T *l2;
- int ic; /* ignore case for strings */
- {
- listitem_T *item1, *item2;
-
---- 5916,5926 ----
- * Return TRUE when two lists have exactly the same values.
- */
- static int
-! list_equal(l1, l2, ic, recursive)
- list_T *l1;
- list_T *l2;
- int ic; /* ignore case for strings */
-+ int recursive; /* TRUE when used recursively */
- {
- listitem_T *item1, *item2;
-
-***************
-*** 5931,5937 ****
- for (item1 = l1->lv_first, item2 = l2->lv_first;
- item1 != NULL && item2 != NULL;
- item1 = item1->li_next, item2 = item2->li_next)
-! if (!tv_equal(&item1->li_tv, &item2->li_tv, ic))
- return FALSE;
- return item1 == NULL && item2 == NULL;
- }
---- 5934,5940 ----
- for (item1 = l1->lv_first, item2 = l2->lv_first;
- item1 != NULL && item2 != NULL;
- item1 = item1->li_next, item2 = item2->li_next)
-! if (!tv_equal(&item1->li_tv, &item2->li_tv, ic, recursive))
- return FALSE;
- return item1 == NULL && item2 == NULL;
- }
-***************
-*** 5953,5962 ****
- * Return TRUE when two dictionaries have exactly the same key/values.
- */
- static int
-! dict_equal(d1, d2, ic)
- dict_T *d1;
- dict_T *d2;
- int ic; /* ignore case for strings */
- {
- hashitem_T *hi;
- dictitem_T *item2;
---- 5956,5966 ----
- * Return TRUE when two dictionaries have exactly the same key/values.
- */
- static int
-! dict_equal(d1, d2, ic, recursive)
- dict_T *d1;
- dict_T *d2;
- int ic; /* ignore case for strings */
-+ int recursive; /* TRUE when used recursively */
- {
- hashitem_T *hi;
- dictitem_T *item2;
-***************
-*** 5977,5983 ****
- item2 = dict_find(d2, hi->hi_key, -1);
- if (item2 == NULL)
- return FALSE;
-! if (!tv_equal(&HI2DI(hi)->di_tv, &item2->di_tv, ic))
- return FALSE;
- --todo;
- }
---- 5981,5987 ----
- item2 = dict_find(d2, hi->hi_key, -1);
- if (item2 == NULL)
- return FALSE;
-! if (!tv_equal(&HI2DI(hi)->di_tv, &item2->di_tv, ic, recursive))
- return FALSE;
- --todo;
- }
-***************
-*** 5985,6025 ****
- return TRUE;
- }
-
- /*
- * Return TRUE if "tv1" and "tv2" have the same value.
- * Compares the items just like "==" would compare them, but strings and
- * numbers are different. Floats and numbers are also different.
- */
- static int
-! tv_equal(tv1, tv2, ic)
- typval_T *tv1;
- typval_T *tv2;
-! int ic; /* ignore case */
- {
- char_u buf1[NUMBUFLEN], buf2[NUMBUFLEN];
- char_u *s1, *s2;
-! static int recursive = 0; /* cach recursive loops */
- int r;
-
- if (tv1->v_type != tv2->v_type)
- return FALSE;
- /* Catch lists and dicts that have an endless loop by limiting
-! * recursiveness to 1000. We guess they are equal then. */
-! if (recursive >= 1000)
- return TRUE;
-
- switch (tv1->v_type)
- {
- case VAR_LIST:
-! ++recursive;
-! r = list_equal(tv1->vval.v_list, tv2->vval.v_list, ic);
-! --recursive;
- return r;
-
- case VAR_DICT:
-! ++recursive;
-! r = dict_equal(tv1->vval.v_dict, tv2->vval.v_dict, ic);
-! --recursive;
- return r;
-
- case VAR_FUNC:
---- 5989,6042 ----
- return TRUE;
- }
-
-+ static int tv_equal_recurse_limit;
-+
- /*
- * Return TRUE if "tv1" and "tv2" have the same value.
- * Compares the items just like "==" would compare them, but strings and
- * numbers are different. Floats and numbers are also different.
- */
- static int
-! tv_equal(tv1, tv2, ic, recursive)
- typval_T *tv1;
- typval_T *tv2;
-! int ic; /* ignore case */
-! int recursive; /* TRUE when used recursively */
- {
- char_u buf1[NUMBUFLEN], buf2[NUMBUFLEN];
- char_u *s1, *s2;
-! static int recursive_cnt = 0; /* catch recursive loops */
- int r;
-
- if (tv1->v_type != tv2->v_type)
- return FALSE;
-+
- /* Catch lists and dicts that have an endless loop by limiting
-! * recursiveness to a limit. We guess they are equal then.
-! * A fixed limit has the problem of still taking an awful long time.
-! * Reduce the limit every time running into it. That should work fine for
-! * deeply linked structures that are not recursively linked and catch
-! * recursiveness quickly. */
-! if (!recursive)
-! tv_equal_recurse_limit = 1000;
-! if (recursive_cnt >= tv_equal_recurse_limit)
-! {
-! --tv_equal_recurse_limit;
- return TRUE;
-+ }
-
- switch (tv1->v_type)
- {
- case VAR_LIST:
-! ++recursive_cnt;
-! r = list_equal(tv1->vval.v_list, tv2->vval.v_list, ic, TRUE);
-! --recursive_cnt;
- return r;
-
- case VAR_DICT:
-! ++recursive_cnt;
-! r = dict_equal(tv1->vval.v_dict, tv2->vval.v_dict, ic, TRUE);
-! --recursive_cnt;
- return r;
-
- case VAR_FUNC:
-***************
-*** 9391,9397 ****
- }
-
- for ( ; li != NULL; li = li->li_next)
-! if (tv_equal(&li->li_tv, &argvars[1], ic))
- ++n;
- }
- }
---- 9408,9414 ----
- }
-
- for ( ; li != NULL; li = li->li_next)
-! if (tv_equal(&li->li_tv, &argvars[1], ic, FALSE))
- ++n;
- }
- }
-***************
-*** 9418,9424 ****
- if (!HASHITEM_EMPTY(hi))
- {
- --todo;
-! if (tv_equal(&HI2DI(hi)->di_tv, &argvars[1], ic))
- ++n;
- }
- }
---- 9435,9441 ----
- if (!HASHITEM_EMPTY(hi))
- {
- --todo;
-! if (tv_equal(&HI2DI(hi)->di_tv, &argvars[1], ic, FALSE))
- ++n;
- }
- }
-***************
-*** 12574,12580 ****
- }
-
- for ( ; item != NULL; item = item->li_next, ++idx)
-! if (tv_equal(&item->li_tv, &argvars[1], ic))
- {
- rettv->vval.v_number = idx;
- break;
---- 12591,12597 ----
- }
-
- for ( ; item != NULL; item = item->li_next, ++idx)
-! if (tv_equal(&item->li_tv, &argvars[1], ic, FALSE))
- {
- rettv->vval.v_number = idx;
- break;
-*** ../vim-7.3.054/src/testdir/test55.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test55.in 2010-11-10 20:15:27.000000000 +0100
-***************
-*** 342,348 ****
---- 342,359 ----
- :$put =(d == d)
- :$put =(l != deepcopy(l))
- :$put =(d != deepcopy(d))
-+ :"
-+ :" compare complex recursively linked list and dict
-+ :let l = []
-+ :call add(l, l)
-+ :let dict4 = {"l": l}
-+ :call add(dict4.l, dict4)
-+ :let lcopy = deepcopy(l)
-+ :let dict4copy = deepcopy(dict4)
-+ :$put =(l == lcopy)
-+ :$put =(dict4 == dict4copy)
- :endfun
-+ :"
- :call Test(1, 2, [3, 4], {5: 6}) " This may take a while
- :"
- :delfunc Test
-*** ../vim-7.3.054/src/testdir/test55.ok 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test55.ok 2010-11-10 20:16:37.000000000 +0100
-***************
-*** 109,111 ****
---- 109,113 ----
- 1
- 0
- 0
-+ 1
-+ 1
-*** ../vim-7.3.054/src/version.c 2010-11-10 18:59:50.000000000 +0100
---- src/version.c 2010-11-10 20:10:51.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 55,
- /**/
-
---
-A special law prohibits unmarried women from parachuting on Sunday or she
-shall risk arrest, fine, and/or jailing.
- [real standing law in Florida, United States of America]
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ download, build and distribute -- http://www.A-A-P.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.056 b/source/ap/vim/patches/7.3.056
deleted file mode 100644
index 49c91b625..000000000
--- a/source/ap/vim/patches/7.3.056
+++ /dev/null
@@ -1,542 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.056
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.056
-Problem: "getline" argument in do_cmdline() shadows global.
-Solution: Rename the argument.
-Files: src/ex_docmd.c
-
-
-*** ../vim-7.3.055/src/ex_docmd.c 2010-11-10 18:59:50.000000000 +0100
---- src/ex_docmd.c 2010-11-16 11:24:40.000000000 +0100
-***************
-*** 733,739 ****
- * do_cmdline(): execute one Ex command line
- *
- * 1. Execute "cmdline" when it is not NULL.
-! * If "cmdline" is NULL, or more lines are needed, getline() is used.
- * 2. Split up in parts separated with '|'.
- *
- * This function can be called recursively!
---- 733,739 ----
- * do_cmdline(): execute one Ex command line
- *
- * 1. Execute "cmdline" when it is not NULL.
-! * If "cmdline" is NULL, or more lines are needed, fgetline() is used.
- * 2. Split up in parts separated with '|'.
- *
- * This function can be called recursively!
-***************
-*** 741,747 ****
- * flags:
- * DOCMD_VERBOSE - The command will be included in the error message.
- * DOCMD_NOWAIT - Don't call wait_return() and friends.
-! * DOCMD_REPEAT - Repeat execution until getline() returns NULL.
- * DOCMD_KEYTYPED - Don't reset KeyTyped.
- * DOCMD_EXCRESET - Reset the exception environment (used for debugging).
- * DOCMD_KEEPLINE - Store first typed line (for repeating with ".").
---- 741,747 ----
- * flags:
- * DOCMD_VERBOSE - The command will be included in the error message.
- * DOCMD_NOWAIT - Don't call wait_return() and friends.
-! * DOCMD_REPEAT - Repeat execution until fgetline() returns NULL.
- * DOCMD_KEYTYPED - Don't reset KeyTyped.
- * DOCMD_EXCRESET - Reset the exception environment (used for debugging).
- * DOCMD_KEEPLINE - Store first typed line (for repeating with ".").
-***************
-*** 749,763 ****
- * return FAIL if cmdline could not be executed, OK otherwise
- */
- int
-! do_cmdline(cmdline, getline, cookie, flags)
- char_u *cmdline;
-! char_u *(*getline) __ARGS((int, void *, int));
-! void *cookie; /* argument for getline() */
- int flags;
- {
- char_u *next_cmdline; /* next cmd to execute */
- char_u *cmdline_copy = NULL; /* copy of cmd line */
-! int used_getline = FALSE; /* used "getline" to obtain command */
- static int recursive = 0; /* recursive depth */
- int msg_didout_before_start = 0;
- int count = 0; /* line number count */
---- 749,763 ----
- * return FAIL if cmdline could not be executed, OK otherwise
- */
- int
-! do_cmdline(cmdline, fgetline, cookie, flags)
- char_u *cmdline;
-! char_u *(*fgetline) __ARGS((int, void *, int));
-! void *cookie; /* argument for fgetline() */
- int flags;
- {
- char_u *next_cmdline; /* next cmd to execute */
- char_u *cmdline_copy = NULL; /* copy of cmd line */
-! int used_getline = FALSE; /* used "fgetline" to obtain command */
- static int recursive = 0; /* recursive depth */
- int msg_didout_before_start = 0;
- int count = 0; /* line number count */
-***************
-*** 775,788 ****
- struct msglist **saved_msg_list = NULL;
- struct msglist *private_msg_list;
-
-! /* "getline" and "cookie" passed to do_one_cmd() */
- char_u *(*cmd_getline) __ARGS((int, void *, int));
- void *cmd_cookie;
- struct loop_cookie cmd_loop_cookie;
- void *real_cookie;
- int getline_is_func;
- #else
-! # define cmd_getline getline
- # define cmd_cookie cookie
- #endif
- static int call_depth = 0; /* recursiveness */
---- 775,788 ----
- struct msglist **saved_msg_list = NULL;
- struct msglist *private_msg_list;
-
-! /* "fgetline" and "cookie" passed to do_one_cmd() */
- char_u *(*cmd_getline) __ARGS((int, void *, int));
- void *cmd_cookie;
- struct loop_cookie cmd_loop_cookie;
- void *real_cookie;
- int getline_is_func;
- #else
-! # define cmd_getline fgetline
- # define cmd_cookie cookie
- #endif
- static int call_depth = 0; /* recursiveness */
-***************
-*** 822,831 ****
- cstack.cs_lflags = 0;
- ga_init2(&lines_ga, (int)sizeof(wcmd_T), 10);
-
-! real_cookie = getline_cookie(getline, cookie);
-
- /* Inside a function use a higher nesting level. */
-! getline_is_func = getline_equal(getline, cookie, get_func_line);
- if (getline_is_func && ex_nesting_level == func_level(real_cookie))
- ++ex_nesting_level;
-
---- 822,831 ----
- cstack.cs_lflags = 0;
- ga_init2(&lines_ga, (int)sizeof(wcmd_T), 10);
-
-! real_cookie = getline_cookie(fgetline, cookie);
-
- /* Inside a function use a higher nesting level. */
-! getline_is_func = getline_equal(fgetline, cookie, get_func_line);
- if (getline_is_func && ex_nesting_level == func_level(real_cookie))
- ++ex_nesting_level;
-
-***************
-*** 837,843 ****
- breakpoint = func_breakpoint(real_cookie);
- dbg_tick = func_dbg_tick(real_cookie);
- }
-! else if (getline_equal(getline, cookie, getsourceline))
- {
- fname = sourcing_name;
- breakpoint = source_breakpoint(real_cookie);
---- 837,843 ----
- breakpoint = func_breakpoint(real_cookie);
- dbg_tick = func_dbg_tick(real_cookie);
- }
-! else if (getline_equal(fgetline, cookie, getsourceline))
- {
- fname = sourcing_name;
- breakpoint = source_breakpoint(real_cookie);
-***************
-*** 881,887 ****
- * KeyTyped is only set when calling vgetc(). Reset it here when not
- * calling vgetc() (sourced command lines).
- */
-! if (!(flags & DOCMD_KEYTYPED) && !getline_equal(getline, cookie, getexline))
- KeyTyped = FALSE;
-
- /*
---- 881,888 ----
- * KeyTyped is only set when calling vgetc(). Reset it here when not
- * calling vgetc() (sourced command lines).
- */
-! if (!(flags & DOCMD_KEYTYPED)
-! && !getline_equal(fgetline, cookie, getexline))
- KeyTyped = FALSE;
-
- /*
-***************
-*** 894,900 ****
- do
- {
- #ifdef FEAT_EVAL
-! getline_is_func = getline_equal(getline, cookie, get_func_line);
- #endif
-
- /* stop skipping cmds for an error msg after all endif/while/for */
---- 895,901 ----
- do
- {
- #ifdef FEAT_EVAL
-! getline_is_func = getline_equal(fgetline, cookie, get_func_line);
- #endif
-
- /* stop skipping cmds for an error msg after all endif/while/for */
-***************
-*** 909,915 ****
-
- /*
- * 1. If repeating a line in a loop, get a line from lines_ga.
-! * 2. If no line given: Get an allocated line with getline().
- * 3. If a line is given: Make a copy, so we can mess with it.
- */
-
---- 910,916 ----
-
- /*
- * 1. If repeating a line in a loop, get a line from lines_ga.
-! * 2. If no line given: Get an allocated line with fgetline().
- * 3. If a line is given: Make a copy, so we can mess with it.
- */
-
-***************
-*** 938,949 ****
- }
- #ifdef FEAT_PROFILE
- else if (do_profiling == PROF_YES
-! && getline_equal(getline, cookie, getsourceline))
- script_line_end();
- #endif
-
- /* Check if a sourced file hit a ":finish" command. */
-! if (source_finished(getline, cookie))
- {
- retval = FAIL;
- break;
---- 939,950 ----
- }
- #ifdef FEAT_PROFILE
- else if (do_profiling == PROF_YES
-! && getline_equal(fgetline, cookie, getsourceline))
- script_line_end();
- #endif
-
- /* Check if a sourced file hit a ":finish" command. */
-! if (source_finished(fgetline, cookie))
- {
- retval = FAIL;
- break;
-***************
-*** 954,960 ****
- && *dbg_tick != debug_tick)
- {
- *breakpoint = dbg_find_breakpoint(
-! getline_equal(getline, cookie, getsourceline),
- fname, sourcing_lnum);
- *dbg_tick = debug_tick;
- }
---- 955,961 ----
- && *dbg_tick != debug_tick)
- {
- *breakpoint = dbg_find_breakpoint(
-! getline_equal(fgetline, cookie, getsourceline),
- fname, sourcing_lnum);
- *dbg_tick = debug_tick;
- }
-***************
-*** 969,975 ****
- dbg_breakpoint(fname, sourcing_lnum);
- /* Find next breakpoint. */
- *breakpoint = dbg_find_breakpoint(
-! getline_equal(getline, cookie, getsourceline),
- fname, sourcing_lnum);
- *dbg_tick = debug_tick;
- }
---- 970,976 ----
- dbg_breakpoint(fname, sourcing_lnum);
- /* Find next breakpoint. */
- *breakpoint = dbg_find_breakpoint(
-! getline_equal(fgetline, cookie, getsourceline),
- fname, sourcing_lnum);
- *dbg_tick = debug_tick;
- }
-***************
-*** 978,984 ****
- {
- if (getline_is_func)
- func_line_start(real_cookie);
-! else if (getline_equal(getline, cookie, getsourceline))
- script_line_start();
- }
- # endif
---- 979,985 ----
- {
- if (getline_is_func)
- func_line_start(real_cookie);
-! else if (getline_equal(fgetline, cookie, getsourceline))
- script_line_start();
- }
- # endif
-***************
-*** 987,993 ****
- if (cstack.cs_looplevel > 0)
- {
- /* Inside a while/for loop we need to store the lines and use them
-! * again. Pass a different "getline" function to do_one_cmd()
- * below, so that it stores lines in or reads them from
- * "lines_ga". Makes it possible to define a function inside a
- * while/for loop. */
---- 988,994 ----
- if (cstack.cs_looplevel > 0)
- {
- /* Inside a while/for loop we need to store the lines and use them
-! * again. Pass a different "fgetline" function to do_one_cmd()
- * below, so that it stores lines in or reads them from
- * "lines_ga". Makes it possible to define a function inside a
- * while/for loop. */
-***************
-*** 995,1021 ****
- cmd_cookie = (void *)&cmd_loop_cookie;
- cmd_loop_cookie.lines_gap = &lines_ga;
- cmd_loop_cookie.current_line = current_line;
-! cmd_loop_cookie.getline = getline;
- cmd_loop_cookie.cookie = cookie;
- cmd_loop_cookie.repeating = (current_line < lines_ga.ga_len);
- }
- else
- {
-! cmd_getline = getline;
- cmd_cookie = cookie;
- }
- #endif
-
-! /* 2. If no line given, get an allocated line with getline(). */
- if (next_cmdline == NULL)
- {
- /*
- * Need to set msg_didout for the first line after an ":if",
- * otherwise the ":if" will be overwritten.
- */
-! if (count == 1 && getline_equal(getline, cookie, getexline))
- msg_didout = TRUE;
-! if (getline == NULL || (next_cmdline = getline(':', cookie,
- #ifdef FEAT_EVAL
- cstack.cs_idx < 0 ? 0 : (cstack.cs_idx + 1) * 2
- #else
---- 996,1022 ----
- cmd_cookie = (void *)&cmd_loop_cookie;
- cmd_loop_cookie.lines_gap = &lines_ga;
- cmd_loop_cookie.current_line = current_line;
-! cmd_loop_cookie.getline = fgetline;
- cmd_loop_cookie.cookie = cookie;
- cmd_loop_cookie.repeating = (current_line < lines_ga.ga_len);
- }
- else
- {
-! cmd_getline = fgetline;
- cmd_cookie = cookie;
- }
- #endif
-
-! /* 2. If no line given, get an allocated line with fgetline(). */
- if (next_cmdline == NULL)
- {
- /*
- * Need to set msg_didout for the first line after an ":if",
- * otherwise the ":if" will be overwritten.
- */
-! if (count == 1 && getline_equal(fgetline, cookie, getexline))
- msg_didout = TRUE;
-! if (fgetline == NULL || (next_cmdline = fgetline(':', cookie,
- #ifdef FEAT_EVAL
- cstack.cs_idx < 0 ? 0 : (cstack.cs_idx + 1) * 2
- #else
-***************
-*** 1142,1148 ****
- * If the command was typed, remember it for the ':' register.
- * Do this AFTER executing the command to make :@: work.
- */
-! if (getline_equal(getline, cookie, getexline)
- && new_last_cmdline != NULL)
- {
- vim_free(last_cmdline);
---- 1143,1149 ----
- * If the command was typed, remember it for the ':' register.
- * Do this AFTER executing the command to make :@: work.
- */
-! if (getline_equal(fgetline, cookie, getexline)
- && new_last_cmdline != NULL)
- {
- vim_free(last_cmdline);
-***************
-*** 1163,1169 ****
- #ifdef FEAT_EVAL
- /* reset did_emsg for a function that is not aborted by an error */
- if (did_emsg && !force_abort
-! && getline_equal(getline, cookie, get_func_line)
- && !func_has_abort(real_cookie))
- did_emsg = FALSE;
-
---- 1164,1170 ----
- #ifdef FEAT_EVAL
- /* reset did_emsg for a function that is not aborted by an error */
- if (did_emsg && !force_abort
-! && getline_equal(fgetline, cookie, get_func_line)
- && !func_has_abort(real_cookie))
- did_emsg = FALSE;
-
-***************
-*** 1202,1208 ****
- if (breakpoint != NULL)
- {
- *breakpoint = dbg_find_breakpoint(
-! getline_equal(getline, cookie, getsourceline),
- fname,
- ((wcmd_T *)lines_ga.ga_data)[current_line].lnum-1);
- *dbg_tick = debug_tick;
---- 1203,1209 ----
- if (breakpoint != NULL)
- {
- *breakpoint = dbg_find_breakpoint(
-! getline_equal(fgetline, cookie, getsourceline),
- fname,
- ((wcmd_T *)lines_ga.ga_data)[current_line].lnum-1);
- *dbg_tick = debug_tick;
-***************
-*** 1296,1303 ****
- #endif
- )
- && !(did_emsg && used_getline
-! && (getline_equal(getline, cookie, getexmodeline)
-! || getline_equal(getline, cookie, getexline)))
- && (next_cmdline != NULL
- #ifdef FEAT_EVAL
- || cstack.cs_idx >= 0
---- 1297,1304 ----
- #endif
- )
- && !(did_emsg && used_getline
-! && (getline_equal(fgetline, cookie, getexmodeline)
-! || getline_equal(fgetline, cookie, getexline)))
- && (next_cmdline != NULL
- #ifdef FEAT_EVAL
- || cstack.cs_idx >= 0
-***************
-*** 1316,1324 ****
- * unclosed conditional.
- */
- if (!got_int && !did_throw
-! && ((getline_equal(getline, cookie, getsourceline)
-! && !source_finished(getline, cookie))
-! || (getline_equal(getline, cookie, get_func_line)
- && !func_has_ended(real_cookie))))
- {
- if (cstack.cs_flags[cstack.cs_idx] & CSF_TRY)
---- 1317,1325 ----
- * unclosed conditional.
- */
- if (!got_int && !did_throw
-! && ((getline_equal(fgetline, cookie, getsourceline)
-! && !source_finished(fgetline, cookie))
-! || (getline_equal(fgetline, cookie, get_func_line)
- && !func_has_ended(real_cookie))))
- {
- if (cstack.cs_flags[cstack.cs_idx] & CSF_TRY)
-***************
-*** 1354,1360 ****
- /* If a missing ":endtry", ":endwhile", ":endfor", or ":endif" or a memory
- * lack was reported above and the error message is to be converted to an
- * exception, do this now after rewinding the cstack. */
-! do_errthrow(&cstack, getline_equal(getline, cookie, get_func_line)
- ? (char_u *)"endfunction" : (char_u *)NULL);
-
- if (trylevel == 0)
---- 1355,1361 ----
- /* If a missing ":endtry", ":endwhile", ":endfor", or ":endif" or a memory
- * lack was reported above and the error message is to be converted to an
- * exception, do this now after rewinding the cstack. */
-! do_errthrow(&cstack, getline_equal(fgetline, cookie, get_func_line)
- ? (char_u *)"endfunction" : (char_u *)NULL);
-
- if (trylevel == 0)
-***************
-*** 1449,1457 ****
- */
- if (did_throw)
- need_rethrow = TRUE;
-! if ((getline_equal(getline, cookie, getsourceline)
- && ex_nesting_level > source_level(real_cookie))
-! || (getline_equal(getline, cookie, get_func_line)
- && ex_nesting_level > func_level(real_cookie) + 1))
- {
- if (!did_throw)
---- 1450,1458 ----
- */
- if (did_throw)
- need_rethrow = TRUE;
-! if ((getline_equal(fgetline, cookie, getsourceline)
- && ex_nesting_level > source_level(real_cookie))
-! || (getline_equal(fgetline, cookie, get_func_line)
- && ex_nesting_level > func_level(real_cookie) + 1))
- {
- if (!did_throw)
-***************
-*** 1460,1475 ****
- else
- {
- /* When leaving a function, reduce nesting level. */
-! if (getline_equal(getline, cookie, get_func_line))
- --ex_nesting_level;
- /*
- * Go to debug mode when returning from a function in which we are
- * single-stepping.
- */
-! if ((getline_equal(getline, cookie, getsourceline)
-! || getline_equal(getline, cookie, get_func_line))
- && ex_nesting_level + 1 <= debug_break_level)
-! do_debug(getline_equal(getline, cookie, getsourceline)
- ? (char_u *)_("End of sourced file")
- : (char_u *)_("End of function"));
- }
---- 1461,1476 ----
- else
- {
- /* When leaving a function, reduce nesting level. */
-! if (getline_equal(fgetline, cookie, get_func_line))
- --ex_nesting_level;
- /*
- * Go to debug mode when returning from a function in which we are
- * single-stepping.
- */
-! if ((getline_equal(fgetline, cookie, getsourceline)
-! || getline_equal(fgetline, cookie, get_func_line))
- && ex_nesting_level + 1 <= debug_break_level)
-! do_debug(getline_equal(fgetline, cookie, getsourceline)
- ? (char_u *)_("End of sourced file")
- : (char_u *)_("End of function"));
- }
-*** ../vim-7.3.055/src/version.c 2010-11-16 11:28:33.000000000 +0100
---- src/version.c 2010-11-16 11:27:09.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 56,
- /**/
-
---
-Lawmakers made it obligatory for everybody to take at least one bath
-each week -- on Saturday night.
- [real standing law in Vermont, United States of America]
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.057 b/source/ap/vim/patches/7.3.057
deleted file mode 100644
index d4ea2bc04..000000000
--- a/source/ap/vim/patches/7.3.057
+++ /dev/null
@@ -1,62 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.057
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.057
-Problem: Segfault with command line abbreviation. (Randy Morris)
-Solution: Don't retrigger the abbreviation when abandoning the command line.
- Continue editing the command line after the error.
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.056/src/ex_getln.c 2010-11-10 15:37:00.000000000 +0100
---- src/ex_getln.c 2010-11-16 14:03:09.000000000 +0100
-***************
-*** 712,718 ****
- }
- }
- beep_flush();
-! c = ESC;
- }
- #endif
- else
---- 712,722 ----
- }
- }
- beep_flush();
-! got_int = FALSE; /* don't abandon the command line */
-! did_emsg = FALSE;
-! emsg_on_display = FALSE;
-! redrawcmd();
-! goto cmdline_not_changed;
- }
- #endif
- else
-*** ../vim-7.3.056/src/version.c 2010-11-16 11:29:30.000000000 +0100
---- src/version.c 2010-11-16 14:04:25.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 57,
- /**/
-
---
-FROG: How you English say: I one more time, mac, I unclog my nose towards
- you, sons of a window-dresser, so, you think you could out-clever us
- French fellows with your silly knees-bent creeping about advancing
- behaviour. (blows a raspberry) I wave my private parts at your aunties,
- you brightly-coloured, mealy-templed, cranberry-smelling, electric
- donkey-bottom biters.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.058 b/source/ap/vim/patches/7.3.058
deleted file mode 100644
index b1ede3317..000000000
--- a/source/ap/vim/patches/7.3.058
+++ /dev/null
@@ -1,158 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.058
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.058
-Problem: Error "code converter not found" when loading Ruby script.
-Solution: Load Gem module. (Yasuhiro Matsumoto)
-Files: src/if_ruby.c
-
-
-*** ../vim-7.3.057/src/if_ruby.c 2010-10-27 17:40:53.000000000 +0200
---- src/if_ruby.c 2010-11-16 14:37:48.000000000 +0100
-***************
-*** 229,234 ****
---- 229,237 ----
- # define rb_enc_find_index dll_rb_enc_find_index
- # define rb_enc_find dll_rb_enc_find
- # define rb_enc_str_new dll_rb_enc_str_new
-+ # define rb_intern2 dll_rb_intern2
-+ # define rb_const_remove dll_rb_const_remove
-+ # define Init_prelude dll_Init_prelude
- # define rb_sprintf dll_rb_sprintf
- # define ruby_init_stack dll_ruby_init_stack
- #endif
-***************
-*** 317,322 ****
---- 320,328 ----
- static int (*dll_rb_enc_find_index) (const char*);
- static rb_encoding* (*dll_rb_enc_find) (const char*);
- static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*);
-+ static ID (*dll_rb_intern2) (const char*, long);
-+ static void (*dll_Init_prelude) (void);
-+ static VALUE (*dll_rb_const_remove) (VALUE, ID);
- static VALUE (*dll_rb_sprintf) (const char*, ...);
- static void (*ruby_init_stack)(VALUE*);
- #endif
-***************
-*** 425,430 ****
---- 431,439 ----
- {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index},
- {"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find},
- {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
-+ {"rb_intern2", (RUBY_PROC*)&dll_rb_intern2},
-+ {"rb_const_remove", (RUBY_PROC*)&dll_rb_const_remove},
-+ {"Init_prelude", (RUBY_PROC*)&dll_Init_prelude},
- {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
- {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
- #endif
-***************
-*** 662,667 ****
---- 671,682 ----
- ruby_io_init();
- #ifdef RUBY19_OR_LATER
- rb_enc_find_index("encdb");
-+
-+ /* This avoids the error "Encoding::ConverterNotFoundError: code
-+ * converter not found (UTF-16LE to ASCII-8BIT)". */
-+ rb_define_module("Gem");
-+ Init_prelude();
-+ rb_const_remove(rb_cObject, rb_intern2("TMP_RUBY_PREFIX", 15));
- #endif
- ruby_vim_init();
- ruby_initialized = 1;
-***************
-*** 946,958 ****
-
- static VALUE get_buffer_line(buf_T *buf, linenr_T n)
- {
-! if (n > 0 && n <= buf->b_ml.ml_line_count)
-! {
-! char *line = (char *)ml_get_buf(buf, n, FALSE);
-! return line ? vim_str2rb_enc_str(line) : Qnil;
-! }
-! rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
-! return Qnil; /* For stop warning */
- }
-
- static VALUE buffer_aref(VALUE self, VALUE num)
---- 961,969 ----
-
- static VALUE get_buffer_line(buf_T *buf, linenr_T n)
- {
-! if (n <= 0 || n > buf->b_ml.ml_line_count)
-! rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
-! return vim_str2rb_enc_str((char *)ml_get_buf(buf, n, FALSE));
- }
-
- static VALUE buffer_aref(VALUE self, VALUE num)
-***************
-*** 991,999 ****
- else
- {
- rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
-- #ifndef __GNUC__
-- return Qnil; /* For stop warning */
-- #endif
- }
- return str;
- }
---- 1002,1007 ----
-***************
-*** 1048,1054 ****
- long n = NUM2LONG(num);
- aco_save_T aco;
-
-! if (line == NULL) {
- rb_raise(rb_eIndexError, "NULL line");
- }
- else if (n >= 0 && n <= buf->b_ml.ml_line_count)
---- 1056,1063 ----
- long n = NUM2LONG(num);
- aco_save_T aco;
-
-! if (line == NULL)
-! {
- rb_raise(rb_eIndexError, "NULL line");
- }
- else if (n >= 0 && n <= buf->b_ml.ml_line_count)
-***************
-*** 1072,1078 ****
-
- update_curbuf(NOT_VALID);
- }
-! else {
- rb_raise(rb_eIndexError, "line number %ld out of range", n);
- }
- return str;
---- 1081,1088 ----
-
- update_curbuf(NOT_VALID);
- }
-! else
-! {
- rb_raise(rb_eIndexError, "line number %ld out of range", n);
- }
- return str;
-*** ../vim-7.3.057/src/version.c 2010-11-16 14:05:48.000000000 +0100
---- src/version.c 2010-11-16 14:44:42.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 58,
- /**/
-
---
-SIGIRO -- irony detected (iron core dumped)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.059 b/source/ap/vim/patches/7.3.059
deleted file mode 100644
index 6e99f876a..000000000
--- a/source/ap/vim/patches/7.3.059
+++ /dev/null
@@ -1,116 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.059
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.059
-Problem: Netbeans: Problem with recursively handling messages for Athena
- and Motif.
-Solution: Call netbeans_parse_messages() in the main loop, like it's done
- for GTK. (Xavier de Gaye)
-Files: src/gui_x11.c, src/netbeans.c
-
-
-*** ../vim-7.3.058/src/gui_x11.c 2010-08-15 21:57:25.000000000 +0200
---- src/gui_x11.c 2010-11-16 14:53:18.000000000 +0100
-***************
-*** 2895,2900 ****
---- 2895,2905 ----
- focus = gui.in_focus;
- }
-
-+ #if defined(FEAT_NETBEANS_INTG)
-+ /* Process any queued netbeans messages. */
-+ netbeans_parse_messages();
-+ #endif
-+
- /*
- * Don't use gui_mch_update() because then we will spin-lock until a
- * char arrives, instead we use XtAppProcessEvent() to hang until an
-*** ../vim-7.3.058/src/netbeans.c 2010-09-30 21:03:13.000000000 +0200
---- src/netbeans.c 2010-11-16 14:52:55.000000000 +0100
-***************
-*** 726,734 ****
- static char_u *buf = NULL;
- int len = 0;
- int readlen = 0;
-- #if defined(NB_HAS_GUI) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)
-- static int level = 0;
-- #endif
- #ifdef HAVE_SELECT
- struct timeval tval;
- fd_set rfds;
---- 726,731 ----
-***************
-*** 744,756 ****
- return;
- }
-
-- #if defined(NB_HAS_GUI) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)
-- /* recursion guard; this will be called from the X event loop at unknown
-- * moments */
-- if (NB_HAS_GUI)
-- ++level;
-- #endif
--
- /* Allocate a buffer to read into. */
- if (buf == NULL)
- {
---- 741,746 ----
-***************
-*** 803,823 ****
- return; /* don't try to parse it */
- }
-
-! #if defined(NB_HAS_GUI) && !defined(FEAT_GUI_W32)
-! /* Let the main loop handle messages. */
-! if (NB_HAS_GUI)
-! {
-! # ifdef FEAT_GUI_GTK
-! if (gtk_main_level() > 0)
-! gtk_main_quit();
-! # else
-! /* Parse the messages now, but avoid recursion. */
-! if (level == 1)
-! netbeans_parse_messages();
-!
-! --level;
-! # endif
-! }
- #endif
- }
-
---- 793,801 ----
- return; /* don't try to parse it */
- }
-
-! #if defined(NB_HAS_GUI) && defined(FEAT_GUI_GTK)
-! if (NB_HAS_GUI && gtk_main_level() > 0)
-! gtk_main_quit();
- #endif
- }
-
-*** ../vim-7.3.058/src/version.c 2010-11-16 14:46:14.000000000 +0100
---- src/version.c 2010-11-16 14:50:57.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 59,
- /**/
-
-
---
-ARTHUR: If you do not open these doors, we will take this castle by force ...
- [A bucket of slops land on ARTHUR. He tries to retain his dignity.]
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.060 b/source/ap/vim/patches/7.3.060
deleted file mode 100644
index 0edf20ce7..000000000
--- a/source/ap/vim/patches/7.3.060
+++ /dev/null
@@ -1,227 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.060
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.060
-Problem: Netbeans: crash when socket is disconnected unexpectedly.
-Solution: Don't cleanup when a read fails, put a message in the queue and
- disconnect later. (Xavier de Gaye)
-Files: src/netbeans.c
-
-
-*** ../vim-7.3.059/src/netbeans.c 2010-11-16 15:04:51.000000000 +0100
---- src/netbeans.c 2010-11-16 15:48:36.000000000 +0100
-***************
-*** 135,148 ****
- static int needupdate = 0;
- static int inAtomic = 0;
-
- static void
-! netbeans_close(void)
- {
-- if (!NETBEANS_OPEN)
-- return;
--
-- netbeans_send_disconnect();
--
- #ifdef FEAT_GUI_X11
- if (inputHandler != (XtInputId)NULL)
- {
---- 135,146 ----
- static int needupdate = 0;
- static int inAtomic = 0;
-
-+ /*
-+ * Close the socket and remove the input handlers.
-+ */
- static void
-! nb_close_socket(void)
- {
- #ifdef FEAT_GUI_X11
- if (inputHandler != (XtInputId)NULL)
- {
-***************
-*** 167,179 ****
- # endif
- #endif
-
- #ifdef FEAT_BEVAL
- bevalServers &= ~BEVAL_NETBEANS;
- #endif
-
-- sock_close(nbsock);
-- nbsock = -1;
--
- needupdate = 0;
- inAtomic = 0;
- nb_free();
---- 165,191 ----
- # endif
- #endif
-
-+ sock_close(nbsock);
-+ nbsock = -1;
-+ }
-+
-+ /*
-+ * Close the connection and cleanup.
-+ * May be called when nb_close_socket() was called earlier.
-+ */
-+ static void
-+ netbeans_close(void)
-+ {
-+ if (NETBEANS_OPEN)
-+ {
-+ netbeans_send_disconnect();
-+ nb_close_socket();
-+ }
-+
- #ifdef FEAT_BEVAL
- bevalServers &= ~BEVAL_NETBEANS;
- #endif
-
- needupdate = 0;
- inAtomic = 0;
- nb_free();
-***************
-*** 632,640 ****
- char_u *p;
- queue_T *node;
-
-- if (!NETBEANS_OPEN)
-- return;
--
- while (head.next != NULL && head.next != &head)
- {
- node = head.next;
---- 644,649 ----
-***************
-*** 720,725 ****
---- 729,736 ----
- }
- #endif
-
-+ #define DETACH_MSG "DETACH\n"
-+
- void
- netbeans_read()
- {
-***************
-*** 780,801 ****
- break; /* did read everything that's available */
- }
-
- if (readlen <= 0)
- {
-! /* read error or didn't read anything */
-! netbeans_close();
-! nbdebug(("messageFromNetbeans: Error in read() from socket\n"));
- if (len < 0)
- {
- nbdebug(("read from Netbeans socket\n"));
- PERROR(_("read from Netbeans socket"));
- }
-- return; /* don't try to parse it */
- }
-
- #if defined(NB_HAS_GUI) && defined(FEAT_GUI_GTK)
- if (NB_HAS_GUI && gtk_main_level() > 0)
-! gtk_main_quit();
- #endif
- }
-
---- 791,822 ----
- break; /* did read everything that's available */
- }
-
-+ /* Reading a socket disconnection (readlen == 0), or a socket error. */
- if (readlen <= 0)
- {
-! /* Queue a "DETACH" netbeans message in the command queue in order to
-! * terminate the netbeans session later. Do not end the session here
-! * directly as we may be running in the context of a call to
-! * netbeans_parse_messages():
-! * netbeans_parse_messages
-! * -> autocmd triggered while processing the netbeans cmd
-! * -> ui_breakcheck
-! * -> gui event loop or select loop
-! * -> netbeans_read()
-! */
-! save((char_u *)DETACH_MSG, strlen(DETACH_MSG));
-! nb_close_socket();
-!
- if (len < 0)
- {
- nbdebug(("read from Netbeans socket\n"));
- PERROR(_("read from Netbeans socket"));
- }
- }
-
- #if defined(NB_HAS_GUI) && defined(FEAT_GUI_GTK)
- if (NB_HAS_GUI && gtk_main_level() > 0)
-! gtk_main_quit();
- #endif
- }
-
-***************
-*** 1164,1169 ****
---- 1185,1194 ----
-
- nbdebug(("REP %d: <none>\n", cmdno));
-
-+ /* Avoid printing an annoying error message. */
-+ if (!NETBEANS_OPEN)
-+ return;
-+
- sprintf(reply, "%d\n", cmdno);
- nb_send(reply, "nb_reply_nil");
- }
-***************
-*** 2753,2763 ****
- {
- #ifdef FEAT_GUI
- # if !defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK) \
-! && !defined(FEAT_GUI_W32)
- if (gui.in_use)
- {
-! EMSG(_("E838: netbeans is not supported with this GUI"));
-! return;
- }
- # endif
- #endif
---- 2778,2788 ----
- {
- #ifdef FEAT_GUI
- # if !defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK) \
-! && !defined(FEAT_GUI_W32)
- if (gui.in_use)
- {
-! EMSG(_("E838: netbeans is not supported with this GUI"));
-! return;
- }
- # endif
- #endif
-*** ../vim-7.3.059/src/version.c 2010-11-16 15:04:51.000000000 +0100
---- src/version.c 2010-11-16 15:22:39.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 60,
- /**/
-
---
- Another bucket of what can only be described as human ordure hits ARTHUR.
-ARTHUR: ... Right! (to the KNIGHTS) That settles it!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.061 b/source/ap/vim/patches/7.3.061
deleted file mode 100644
index 2b0bdacfc..000000000
--- a/source/ap/vim/patches/7.3.061
+++ /dev/null
@@ -1,89 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.061
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.061
-Problem: Remote ":drop" does not respect 'autochdir'. (Peter Odding)
-Solution: Don't restore the directory when 'autochdir' is set. (Benjamin
- Fritz)
-Files: src/main.c
-
-
-*** ../vim-7.3.060/src/main.c 2010-09-29 17:26:57.000000000 +0200
---- src/main.c 2010-11-16 16:16:11.000000000 +0100
-***************
-*** 3817,3822 ****
---- 3817,3824 ----
- /* Check if we have at least one argument. */
- if (filec <= 0)
- mainerr_arg_missing((char_u *)filev[-1]);
-+
-+ /* Temporarily cd to the current directory to handle relative file names. */
- if (mch_dirname(cwd, MAXPATHL) != OK)
- return NULL;
- if ((p = vim_strsave_escaped_ext(cwd,
-***************
-*** 3858,3870 ****
- ga_concat(&ga, p);
- vim_free(p);
- }
- /* The :drop commands goes to Insert mode when 'insertmode' is set, use
- * CTRL-\ CTRL-N again. */
-! ga_concat(&ga, (char_u *)"|if exists('*inputrestore')|call inputrestore()|endif<CR>");
-! ga_concat(&ga, (char_u *)"<C-\\><C-N>:cd -");
- if (sendReply)
-! ga_concat(&ga, (char_u *)"<CR>:call SetupRemoteReplies()");
-! ga_concat(&ga, (char_u *)"<CR>:");
- if (inicmd != NULL)
- {
- /* Can't use <CR> after "inicmd", because an "startinsert" would cause
---- 3860,3879 ----
- ga_concat(&ga, p);
- vim_free(p);
- }
-+ ga_concat(&ga, (char_u *)"|if exists('*inputrestore')|call inputrestore()|endif<CR>");
-+
- /* The :drop commands goes to Insert mode when 'insertmode' is set, use
- * CTRL-\ CTRL-N again. */
-! ga_concat(&ga, (char_u *)"<C-\\><C-N>");
-!
-! /* Switch back to the correct current directory (prior to temporary path
-! * switch) unless 'autochdir' is set, in which case it will already be
-! * correct after the :drop command. */
-! ga_concat(&ga, (char_u *)":if !exists('+acd')||!&acd|cd -|endif<CR>");
-!
- if (sendReply)
-! ga_concat(&ga, (char_u *)":call SetupRemoteReplies()<CR>");
-! ga_concat(&ga, (char_u *)":");
- if (inicmd != NULL)
- {
- /* Can't use <CR> after "inicmd", because an "startinsert" would cause
-*** ../vim-7.3.060/src/version.c 2010-11-16 15:48:57.000000000 +0100
---- src/version.c 2010-11-16 16:19:58.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 61,
- /**/
-
---
-BEDEVERE: Stand by for attack!!
- [CUT TO enormous army forming up. Trebuchets, rows of PIKEMEN, siege
- towers, pennants flying, shouts of "Stand by for attack!" Traditional
- army build-up shots. The shouts echo across the ranks of the army.
- We see various groups reacting, and stirring themselves in readiness.]
-ARTHUR: Who are they?
-BEDEVERE: Oh, just some friends!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.062 b/source/ap/vim/patches/7.3.062
deleted file mode 100644
index ee69b3ae6..000000000
--- a/source/ap/vim/patches/7.3.062
+++ /dev/null
@@ -1,609 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.062
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.062
-Problem: Python doesn't work properly when installed in another directory
- than expected.
-Solution: Figure out home directory in configure and use Py_SetPythonHome()
- at runtime. (Roland Puntaier)
-Files: src/configure.in, src/auto/configure, src/if_python.c,
- src/if_python3.c
-
-
-*** ../vim-7.3.061/src/configure.in 2010-11-03 22:32:18.000000000 +0100
---- src/configure.in 2010-11-16 17:47:36.000000000 +0100
-***************
-*** 891,899 ****
-
- PYTHON_LIBS="${vi_cv_path_python_plibs}"
- if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
-! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version}"
- else
-! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version}"
- fi
- PYTHON_SRC="if_python.c"
- dnl For Mac OSX 10.2 config.o is included in the Python library.
---- 891,899 ----
-
- PYTHON_LIBS="${vi_cv_path_python_plibs}"
- if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
-! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
- else
-! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
- fi
- PYTHON_SRC="if_python.c"
- dnl For Mac OSX 10.2 config.o is included in the Python library.
-***************
-*** 905,911 ****
- if test "${vi_cv_var_python_version}" = "1.4"; then
- PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
- fi
-! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
-
- dnl On FreeBSD linking with "-pthread" is required to use threads.
- dnl _THREAD_SAFE must be used for compiling then.
---- 905,911 ----
- if test "${vi_cv_var_python_version}" = "1.4"; then
- PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
- fi
-! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
-
- dnl On FreeBSD linking with "-pthread" is required to use threads.
- dnl _THREAD_SAFE must be used for compiling then.
-***************
-*** 1063,1071 ****
-
- PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
- if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}"
- else
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}"
- fi
- PYTHON3_SRC="if_python3.c"
- dnl For Mac OSX 10.2 config.o is included in the Python library.
---- 1063,1071 ----
-
- PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
- if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- else
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- fi
- PYTHON3_SRC="if_python3.c"
- dnl For Mac OSX 10.2 config.o is included in the Python library.
-***************
-*** 1143,1151 ****
- if test "$python_ok" = yes && test "$python3_ok" = yes; then
- AC_DEFINE(DYNAMIC_PYTHON)
- AC_DEFINE(DYNAMIC_PYTHON3)
-! AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL)
- cflags_save=$CFLAGS
-! CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
- ldflags_save=$LDFLAGS
- LDFLAGS="$LDFLAGS -ldl"
- AC_RUN_IFELSE([
---- 1143,1151 ----
- if test "$python_ok" = yes && test "$python3_ok" = yes; then
- AC_DEFINE(DYNAMIC_PYTHON)
- AC_DEFINE(DYNAMIC_PYTHON3)
-! AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL for Python)
- cflags_save=$CFLAGS
-! CFLAGS="$CFLAGS $PYTHON_CFLAGS"
- ldflags_save=$LDFLAGS
- LDFLAGS="$LDFLAGS -ldl"
- AC_RUN_IFELSE([
-***************
-*** 1156,1170 ****
- * Only the first pyhton version used will be switched on.
- */
-
-! int no_rtl_global_needed_for(char *python_instsoname)
- {
- int needed = 0;
- void* pylib = dlopen(python_instsoname, RTLD_LAZY);
- if (pylib != 0)
- {
- void (*init)(void) = dlsym(pylib, "Py_Initialize");
- int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
- void (*final)(void) = dlsym(pylib, "Py_Finalize");
- (*init)();
- needed = (*simple)("import termios") == -1;
- (*final)();
---- 1156,1172 ----
- * Only the first pyhton version used will be switched on.
- */
-
-! int no_rtl_global_needed_for(char *python_instsoname, char *prefix)
- {
- int needed = 0;
- void* pylib = dlopen(python_instsoname, RTLD_LAZY);
- if (pylib != 0)
- {
-+ void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome");
- void (*init)(void) = dlsym(pylib, "Py_Initialize");
- int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
- void (*final)(void) = dlsym(pylib, "Py_Finalize");
-+ (*pfx)(prefix);
- (*init)();
- needed = (*simple)("import termios") == -1;
- (*final)();
-***************
-*** 1176,1188 ****
- int main(int argc, char** argv)
- {
- int not_needed = 0;
-! if (no_rtl_global_needed_for("libpython2.7.so.1.0") && no_rtl_global_needed_for("libpython3.1.so.1.0"))
- not_needed = 1;
- return !not_needed;
- }],
- [AC_MSG_RESULT(yes);AC_DEFINE(PY_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
- CFLAGS=$cflags_save
- LDFLAGS=$ldflags_save
- PYTHON_SRC="if_python.c"
- PYTHON_OBJ="objects/if_python.o"
- PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
---- 1178,1237 ----
- int main(int argc, char** argv)
- {
- int not_needed = 0;
-! if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}"))
- not_needed = 1;
- return !not_needed;
- }],
- [AC_MSG_RESULT(yes);AC_DEFINE(PY_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
-+
- CFLAGS=$cflags_save
- LDFLAGS=$ldflags_save
-+
-+ AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL for Python3)
-+ cflags_save=$CFLAGS
-+ CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
-+ ldflags_save=$LDFLAGS
-+ LDFLAGS="$LDFLAGS -ldl"
-+ AC_RUN_IFELSE([
-+ #include <dlfcn.h>
-+ #include <wchar.h>
-+ /* If this program fails, then RTLD_GLOBAL is needed.
-+ * RTLD_GLOBAL will be used and then it is not possible to
-+ * have both python versions enabled in the same vim instance.
-+ * Only the first pyhton version used will be switched on.
-+ */
-+
-+ int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix)
-+ {
-+ int needed = 0;
-+ void* pylib = dlopen(python_instsoname, RTLD_LAZY);
-+ if (pylib != 0)
-+ {
-+ void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome");
-+ void (*init)(void) = dlsym(pylib, "Py_Initialize");
-+ int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
-+ void (*final)(void) = dlsym(pylib, "Py_Finalize");
-+ (*pfx)(prefix);
-+ (*init)();
-+ needed = (*simple)("import termios") == -1;
-+ (*final)();
-+ dlclose(pylib);
-+ }
-+ return !needed;
-+ }
-+
-+ int main(int argc, char** argv)
-+ {
-+ int not_needed = 0;
-+ if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}"))
-+ not_needed = 1;
-+ return !not_needed;
-+ }],
-+ [AC_MSG_RESULT(yes);AC_DEFINE(PY3_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
-+
-+ CFLAGS=$cflags_save
-+ LDFLAGS=$ldflags_save
-+
- PYTHON_SRC="if_python.c"
- PYTHON_OBJ="objects/if_python.o"
- PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
-*** ../vim-7.3.061/src/auto/configure 2010-11-03 22:32:18.000000000 +0100
---- src/auto/configure 2010-11-16 17:47:42.000000000 +0100
-***************
-*** 5326,5334 ****
-
- PYTHON_LIBS="${vi_cv_path_python_plibs}"
- if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
-! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version}"
- else
-! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version}"
- fi
- PYTHON_SRC="if_python.c"
- if test "x$MACOSX" = "xyes"; then
---- 5326,5334 ----
-
- PYTHON_LIBS="${vi_cv_path_python_plibs}"
- if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
-! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
- else
-! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
- fi
- PYTHON_SRC="if_python.c"
- if test "x$MACOSX" = "xyes"; then
-***************
-*** 5339,5345 ****
- if test "${vi_cv_var_python_version}" = "1.4"; then
- PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
- fi
-! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread should be used" >&5
- $as_echo_n "checking if -pthread should be used... " >&6; }
---- 5339,5345 ----
- if test "${vi_cv_var_python_version}" = "1.4"; then
- PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
- fi
-! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread should be used" >&5
- $as_echo_n "checking if -pthread should be used... " >&6; }
-***************
-*** 5601,5609 ****
-
- PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
- if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}"
- else
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}"
- fi
- PYTHON3_SRC="if_python3.c"
- if test "x$MACOSX" = "xyes"; then
---- 5601,5609 ----
-
- PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
- if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- else
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- fi
- PYTHON3_SRC="if_python3.c"
- if test "x$MACOSX" = "xyes"; then
-***************
-*** 5708,5717 ****
-
- $as_echo "#define DYNAMIC_PYTHON3 1" >>confdefs.h
-
-! { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can do without RTLD_GLOBAL" >&5
-! $as_echo_n "checking whether we can do without RTLD_GLOBAL... " >&6; }
- cflags_save=$CFLAGS
-! CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
- ldflags_save=$LDFLAGS
- LDFLAGS="$LDFLAGS -ldl"
- if test "$cross_compiling" = yes; then :
---- 5708,5717 ----
-
- $as_echo "#define DYNAMIC_PYTHON3 1" >>confdefs.h
-
-! { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can do without RTLD_GLOBAL for Python" >&5
-! $as_echo_n "checking whether we can do without RTLD_GLOBAL for Python... " >&6; }
- cflags_save=$CFLAGS
-! CFLAGS="$CFLAGS $PYTHON_CFLAGS"
- ldflags_save=$LDFLAGS
- LDFLAGS="$LDFLAGS -ldl"
- if test "$cross_compiling" = yes; then :
-***************
-*** 5730,5744 ****
- * Only the first pyhton version used will be switched on.
- */
-
-! int no_rtl_global_needed_for(char *python_instsoname)
- {
- int needed = 0;
- void* pylib = dlopen(python_instsoname, RTLD_LAZY);
- if (pylib != 0)
- {
- void (*init)(void) = dlsym(pylib, "Py_Initialize");
- int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
- void (*final)(void) = dlsym(pylib, "Py_Finalize");
- (*init)();
- needed = (*simple)("import termios") == -1;
- (*final)();
---- 5730,5746 ----
- * Only the first pyhton version used will be switched on.
- */
-
-! int no_rtl_global_needed_for(char *python_instsoname, char *prefix)
- {
- int needed = 0;
- void* pylib = dlopen(python_instsoname, RTLD_LAZY);
- if (pylib != 0)
- {
-+ void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome");
- void (*init)(void) = dlsym(pylib, "Py_Initialize");
- int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
- void (*final)(void) = dlsym(pylib, "Py_Finalize");
-+ (*pfx)(prefix);
- (*init)();
- needed = (*simple)("import termios") == -1;
- (*final)();
-***************
-*** 5750,5756 ****
- int main(int argc, char** argv)
- {
- int not_needed = 0;
-! if (no_rtl_global_needed_for("libpython2.7.so.1.0") && no_rtl_global_needed_for("libpython3.1.so.1.0"))
- not_needed = 1;
- return !not_needed;
- }
---- 5752,5758 ----
- int main(int argc, char** argv)
- {
- int not_needed = 0;
-! if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}"))
- not_needed = 1;
- return !not_needed;
- }
-***************
-*** 5767,5774 ****
---- 5769,5844 ----
- conftest.$ac_objext conftest.beam conftest.$ac_ext
- fi
-
-+
- CFLAGS=$cflags_save
- LDFLAGS=$ldflags_save
-+
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can do without RTLD_GLOBAL for Python3" >&5
-+ $as_echo_n "checking whether we can do without RTLD_GLOBAL for Python3... " >&6; }
-+ cflags_save=$CFLAGS
-+ CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
-+ ldflags_save=$LDFLAGS
-+ LDFLAGS="$LDFLAGS -ldl"
-+ if test "$cross_compiling" = yes; then :
-+ { { $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 test program while cross compiling
-+ See \`config.log' for more details." "$LINENO" 5; }
-+ else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+ /* end confdefs.h. */
-+
-+ #include <dlfcn.h>
-+ #include <wchar.h>
-+ /* If this program fails, then RTLD_GLOBAL is needed.
-+ * RTLD_GLOBAL will be used and then it is not possible to
-+ * have both python versions enabled in the same vim instance.
-+ * Only the first pyhton version used will be switched on.
-+ */
-+
-+ int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix)
-+ {
-+ int needed = 0;
-+ void* pylib = dlopen(python_instsoname, RTLD_LAZY);
-+ if (pylib != 0)
-+ {
-+ void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome");
-+ void (*init)(void) = dlsym(pylib, "Py_Initialize");
-+ int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
-+ void (*final)(void) = dlsym(pylib, "Py_Finalize");
-+ (*pfx)(prefix);
-+ (*init)();
-+ needed = (*simple)("import termios") == -1;
-+ (*final)();
-+ dlclose(pylib);
-+ }
-+ return !needed;
-+ }
-+
-+ int main(int argc, char** argv)
-+ {
-+ int not_needed = 0;
-+ if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}"))
-+ not_needed = 1;
-+ return !not_needed;
-+ }
-+ _ACEOF
-+ if ac_fn_c_try_run "$LINENO"; then :
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-+ $as_echo "yes" >&6; };$as_echo "#define PY3_NO_RTLD_GLOBAL 1" >>confdefs.h
-+
-+ else
-+ { $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.beam conftest.$ac_ext
-+ fi
-+
-+
-+ CFLAGS=$cflags_save
-+ LDFLAGS=$ldflags_save
-+
- PYTHON_SRC="if_python.c"
- PYTHON_OBJ="objects/if_python.o"
- PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
-*** ../vim-7.3.061/src/if_python.c 2010-10-23 14:02:48.000000000 +0200
---- src/if_python.c 2010-11-16 17:07:00.000000000 +0100
-***************
-*** 102,108 ****
- # include <dlfcn.h>
- # define FARPROC void*
- # define HINSTANCE void*
-! # ifdef PY_NO_RTLD_GLOBAL
- # define load_dll(n) dlopen((n), RTLD_LAZY)
- # else
- # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
---- 102,108 ----
- # include <dlfcn.h>
- # define FARPROC void*
- # define HINSTANCE void*
-! # if defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)
- # define load_dll(n) dlopen((n), RTLD_LAZY)
- # else
- # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
-***************
-*** 168,173 ****
---- 168,174 ----
- # define Py_BuildValue dll_Py_BuildValue
- # define Py_FindMethod dll_Py_FindMethod
- # define Py_InitModule4 dll_Py_InitModule4
-+ # define Py_SetPythonHome dll_Py_SetPythonHome
- # define Py_Initialize dll_Py_Initialize
- # define Py_Finalize dll_Py_Finalize
- # define Py_IsInitialized dll_Py_IsInitialized
-***************
-*** 226,231 ****
---- 227,233 ----
- static PyObject*(*dll_Py_BuildValue)(char *, ...);
- static PyObject*(*dll_Py_FindMethod)(struct PyMethodDef[], PyObject *, char *);
- static PyObject*(*dll_Py_InitModule4)(char *, struct PyMethodDef *, char *, PyObject *, int);
-+ static void(*dll_Py_SetPythonHome)(char *home);
- static void(*dll_Py_Initialize)(void);
- static void(*dll_Py_Finalize)(void);
- static int(*dll_Py_IsInitialized)(void);
-***************
-*** 310,315 ****
---- 312,318 ----
- # else
- {"Py_InitModule4", (PYTHON_PROC*)&dll_Py_InitModule4},
- # endif
-+ {"Py_SetPythonHome", (PYTHON_PROC*)&dll_Py_SetPythonHome},
- {"Py_Initialize", (PYTHON_PROC*)&dll_Py_Initialize},
- {"Py_Finalize", (PYTHON_PROC*)&dll_Py_Finalize},
- {"Py_IsInitialized", (PYTHON_PROC*)&dll_Py_IsInitialized},
-***************
-*** 349,355 ****
- {
- int i;
-
-! #if !defined(PY_NO_RTLD_GLOBAL) && defined(UNIX) && defined(FEAT_PYTHON3)
- /* Can't have Python and Python3 loaded at the same time.
- * It cause a crash, because RTLD_GLOBAL is needed for
- * standard C extension libraries of one or both python versions. */
---- 352,358 ----
- {
- int i;
-
-! #if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON3)
- /* Can't have Python and Python3 loaded at the same time.
- * It cause a crash, because RTLD_GLOBAL is needed for
- * standard C extension libraries of one or both python versions. */
-***************
-*** 543,548 ****
---- 546,555 ----
- }
- #endif
-
-+ #ifdef PYTHON_HOME
-+ Py_SetPythonHome(PYTHON_HOME);
-+ #endif
-+
- init_structs();
-
- #if !defined(MACOS) || defined(MACOS_X_UNIX)
-*** ../vim-7.3.061/src/if_python3.c 2010-10-23 14:02:48.000000000 +0200
---- src/if_python3.c 2010-11-16 17:07:26.000000000 +0100
-***************
-*** 80,86 ****
- # include <dlfcn.h>
- # define FARPROC void*
- # define HINSTANCE void*
-! # ifdef PY_NO_RTLD_GLOBAL
- # define load_dll(n) dlopen((n), RTLD_LAZY)
- # else
- # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
---- 80,86 ----
- # include <dlfcn.h>
- # define FARPROC void*
- # define HINSTANCE void*
-! # if defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)
- # define load_dll(n) dlopen((n), RTLD_LAZY)
- # else
- # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
-***************
-*** 132,137 ****
---- 132,138 ----
- # define PyType_Ready py3_PyType_Ready
- #undef Py_BuildValue
- # define Py_BuildValue py3_Py_BuildValue
-+ # define Py_SetPythonHome py3_Py_SetPythonHome
- # define Py_Initialize py3_Py_Initialize
- # define Py_Finalize py3_Py_Finalize
- # define Py_IsInitialized py3_Py_IsInitialized
-***************
-*** 170,175 ****
---- 171,177 ----
- * Pointers for dynamic link
- */
- static int (*py3_PySys_SetArgv)(int, wchar_t **);
-+ static void (*py3_Py_SetPythonHome)(wchar_t *home);
- static void (*py3_Py_Initialize)(void);
- static PyObject* (*py3_PyList_New)(Py_ssize_t size);
- static PyGILState_STATE (*py3_PyGILState_Ensure)(void);
-***************
-*** 254,259 ****
---- 256,262 ----
- } py3_funcname_table[] =
- {
- {"PySys_SetArgv", (PYTHON_PROC*)&py3_PySys_SetArgv},
-+ {"Py_SetPythonHome", (PYTHON_PROC*)&py3_Py_SetPythonHome},
- {"Py_Initialize", (PYTHON_PROC*)&py3_Py_Initialize},
- {"PyArg_ParseTuple", (PYTHON_PROC*)&py3_PyArg_ParseTuple},
- {"PyList_New", (PYTHON_PROC*)&py3_PyList_New},
-***************
-*** 336,342 ****
- int i;
- void *ucs_from_string, *ucs_from_string_and_size;
-
-! # if !defined(PY_NO_RTLD_GLOBAL) && defined(UNIX) && defined(FEAT_PYTHON)
- /* Can't have Python and Python3 loaded at the same time.
- * It cause a crash, because RTLD_GLOBAL is needed for
- * standard C extension libraries of one or both python versions. */
---- 339,345 ----
- int i;
- void *ucs_from_string, *ucs_from_string_and_size;
-
-! # if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON)
- /* Can't have Python and Python3 loaded at the same time.
- * It cause a crash, because RTLD_GLOBAL is needed for
- * standard C extension libraries of one or both python versions. */
-***************
-*** 539,544 ****
---- 542,552 ----
-
- init_structs();
-
-+
-+ #ifdef PYTHON3_HOME
-+ Py_SetPythonHome(PYTHON3_HOME);
-+ #endif
-+
- /* initialise threads */
- PyEval_InitThreads();
-
-*** ../vim-7.3.061/src/version.c 2010-11-16 16:25:46.000000000 +0100
---- src/version.c 2010-11-16 17:12:40.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 62,
- /**/
-
---
-ARTHUR: CHARGE!
- [The mighty ARMY charges. Thundering noise of feet. Clatter of coconuts.
- Shouts etc. Suddenly there is a wail of a siren and a couple of police
- cars roar round in front of the charging ARMY and the POLICE leap out and
- stop them. TWO POLICEMAN and the HISTORIAN'S WIFE. Black Marias skid up
- behind them.]
-HISTORIAN'S WIFE: They're the ones, I'm sure.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.063 b/source/ap/vim/patches/7.3.063
deleted file mode 100644
index 27516ff22..000000000
--- a/source/ap/vim/patches/7.3.063
+++ /dev/null
@@ -1,59 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.063
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.063
-Problem: Win32: Running a filter command makes Vim lose focus.
-Solution: Use SW_SHOWMINNOACTIVE instead of SW_SHOWMINIMIZED. (Hong Xu)
-Files: src/os_win32.c
-
-
-*** ../vim-7.3.062/src/os_win32.c 2010-11-10 15:37:00.000000000 +0100
---- src/os_win32.c 2010-11-24 12:31:46.000000000 +0100
-***************
-*** 3185,3193 ****
- * It's nicer to run a filter command in a minimized window, but in
- * Windows 95 this makes the command MUCH slower. We can't do it under
- * Win32s either as it stops the synchronous spawn workaround working.
- */
- if ((options & SHELL_DOOUT) && !mch_windows95() && !gui_is_win32s())
-! si.wShowWindow = SW_SHOWMINIMIZED;
- else
- si.wShowWindow = SW_SHOWNORMAL;
- si.cbReserved2 = 0;
---- 3185,3194 ----
- * It's nicer to run a filter command in a minimized window, but in
- * Windows 95 this makes the command MUCH slower. We can't do it under
- * Win32s either as it stops the synchronous spawn workaround working.
-+ * Don't activate the window to keep focus on Vim.
- */
- if ((options & SHELL_DOOUT) && !mch_windows95() && !gui_is_win32s())
-! si.wShowWindow = SW_SHOWMINNOACTIVE;
- else
- si.wShowWindow = SW_SHOWNORMAL;
- si.cbReserved2 = 0;
-*** ../vim-7.3.062/src/version.c 2010-11-16 19:25:56.000000000 +0100
---- src/version.c 2010-11-24 12:32:52.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 63,
- /**/
-
---
-SOLDIER: Where did you get the coconuts?
-ARTHUR: Through ... We found them.
-SOLDIER: Found them? In Mercea. The coconut's tropical!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.064 b/source/ap/vim/patches/7.3.064
deleted file mode 100644
index cbd49ad9c..000000000
--- a/source/ap/vim/patches/7.3.064
+++ /dev/null
@@ -1,72 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.064
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.064
-Problem: Win32: ":dis +" shows nothing, but "+p does insert text.
-Solution: Display the * register, since that's what will be inserted.
- (Christian Brabandt)
-Files: src/globals.h, src/ops.c
-
-
-*** ../vim-7.3.063/src/globals.h 2010-08-15 21:57:27.000000000 +0200
---- src/globals.h 2010-11-24 14:06:47.000000000 +0100
-***************
-*** 510,515 ****
---- 510,516 ----
- EXTERN VimClipboard clip_plus; /* CLIPBOARD selection in X11 */
- # else
- # define clip_plus clip_star /* there is only one clipboard */
-+ # define ONE_CLIPBOARD
- # endif
- EXTERN int clip_unnamed INIT(= FALSE);
- EXTERN int clip_autoselect INIT(= FALSE);
-*** ../vim-7.3.063/src/ops.c 2010-10-09 17:21:42.000000000 +0200
---- src/ops.c 2010-11-24 14:26:25.000000000 +0100
-***************
-*** 3979,3985 ****
- for (i = -1; i < NUM_REGISTERS && !got_int; ++i)
- {
- name = get_register_name(i);
-! if (arg != NULL && vim_strchr(arg, name) == NULL)
- continue; /* did not ask for this register */
-
- #ifdef FEAT_CLIPBOARD
---- 3979,3990 ----
- for (i = -1; i < NUM_REGISTERS && !got_int; ++i)
- {
- name = get_register_name(i);
-! if (arg != NULL && vim_strchr(arg, name) == NULL
-! #ifdef ONE_CLIPBOARD
-! /* Star register and plus register contain the same thing. */
-! && (name != '*' || vim_strchr(arg, '+') == NULL)
-! #endif
-! )
- continue; /* did not ask for this register */
-
- #ifdef FEAT_CLIPBOARD
-*** ../vim-7.3.063/src/version.c 2010-11-24 12:35:14.000000000 +0100
---- src/version.c 2010-11-24 14:24:03.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 64,
- /**/
-
---
-FIRST SOLDIER: So they wouldn't be able to bring a coconut back anyway.
-SECOND SOLDIER: Wait a minute! Suppose two swallows carried it together?
-FIRST SOLDIER: No, they'd have to have it on a line.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.065 b/source/ap/vim/patches/7.3.065
deleted file mode 100644
index cd9b2a754..000000000
--- a/source/ap/vim/patches/7.3.065
+++ /dev/null
@@ -1,120 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.065
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.065
-Problem: Can't get current line number in a source file.
-Solution: Add the <slnum> item, similar to <sfile>.
-Files: src/ex_docmd.c
-
-
-*** ../vim-7.3.064/src/ex_docmd.c 2010-11-16 11:29:30.000000000 +0100
---- src/ex_docmd.c 2010-11-24 15:41:51.000000000 +0100
-***************
-*** 9538,9554 ****
- #define SPEC_CFILE 4
- "<sfile>", /* ":so" file name */
- #define SPEC_SFILE 5
- #ifdef FEAT_AUTOCMD
- "<afile>", /* autocommand file name */
-! # define SPEC_AFILE 6
- "<abuf>", /* autocommand buffer number */
-! # define SPEC_ABUF 7
- "<amatch>", /* autocommand match name */
-! # define SPEC_AMATCH 8
- #endif
- #ifdef FEAT_CLIENTSERVER
- "<client>"
-! # define SPEC_CLIENT 9
- #endif
- };
-
---- 9538,9560 ----
- #define SPEC_CFILE 4
- "<sfile>", /* ":so" file name */
- #define SPEC_SFILE 5
-+ "<slnum>", /* ":so" file line number */
-+ #define SPEC_SLNUM 6
- #ifdef FEAT_AUTOCMD
- "<afile>", /* autocommand file name */
-! # define SPEC_AFILE 7
- "<abuf>", /* autocommand buffer number */
-! # define SPEC_ABUF 8
- "<amatch>", /* autocommand match name */
-! # define SPEC_AMATCH 9
- #endif
- #ifdef FEAT_CLIENTSERVER
- "<client>"
-! # ifdef FEAT_AUTOCMD
-! # define SPEC_CLIENT 10
-! # else
-! # define SPEC_CLIENT 7
-! # endif
- #endif
- };
-
-***************
-*** 9573,9578 ****
---- 9579,9585 ----
- * '<cWORD>' to WORD under the cursor
- * '<cfile>' to path name under the cursor
- * '<sfile>' to sourced file name
-+ * '<slnum>' to sourced file line number
- * '<afile>' to file name for autocommand
- * '<abuf>' to buffer number for autocommand
- * '<amatch>' to matching name for autocommand
-***************
-*** 9604,9613 ****
- #ifdef FEAT_MODIFY_FNAME
- int skip_mod = FALSE;
- #endif
--
-- #if defined(FEAT_AUTOCMD) || defined(FEAT_CLIENTSERVER)
- char_u strbuf[30];
-- #endif
-
- *errormsg = NULL;
- if (escaped != NULL)
---- 9611,9617 ----
-***************
-*** 9796,9801 ****
---- 9800,9814 ----
- return NULL;
- }
- break;
-+ case SPEC_SLNUM: /* line in file for ":so" command */
-+ if (sourcing_name == NULL || sourcing_lnum == 0)
-+ {
-+ *errormsg = (char_u *)_("E842: no line number to use for \"<slnum>\"");
-+ return NULL;
-+ }
-+ sprintf((char *)strbuf, "%ld", (long)sourcing_lnum);
-+ result = strbuf;
-+ break;
- #if defined(FEAT_CLIENTSERVER)
- case SPEC_CLIENT: /* Source of last submitted input */
- sprintf((char *)strbuf, PRINTF_HEX_LONG_U,
-*** ../vim-7.3.064/src/version.c 2010-11-24 14:28:53.000000000 +0100
---- src/version.c 2010-11-24 15:49:57.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 65,
- /**/
-
-
---
-If you don't get everything you want, think of
-everything you didn't get and don't want.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.066 b/source/ap/vim/patches/7.3.066
deleted file mode 100644
index f4a6fd0bb..000000000
--- a/source/ap/vim/patches/7.3.066
+++ /dev/null
@@ -1,90 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.066
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.066
-Problem: Crash when changing to another window while in a :vimgrep command.
- (Christian Brabandt)
-Solution: When wiping out the dummy before, remove it from aucmd_win.
-Files: src/quickfix.c
-
-
-*** ../vim-7.3.065/src/quickfix.c 2010-09-21 16:56:29.000000000 +0200
---- src/quickfix.c 2010-11-24 16:27:40.000000000 +0100
-***************
-*** 3432,3437 ****
---- 3432,3438 ----
- char_u *fname;
- {
- buf_T *newbuf;
-+ buf_T *newbuf_to_wipe = NULL;
- int failed = TRUE;
- aco_save_T aco;
-
-***************
-*** 3468,3482 ****
- failed = FALSE;
- if (curbuf != newbuf)
- {
-! /* Bloody autocommands changed the buffer! */
-! if (buf_valid(newbuf))
-! wipe_buffer(newbuf, FALSE);
- newbuf = curbuf;
- }
- }
-
- /* restore curwin/curbuf and a few other things */
- aucmd_restbuf(&aco);
- }
-
- if (!buf_valid(newbuf))
---- 3469,3487 ----
- failed = FALSE;
- if (curbuf != newbuf)
- {
-! /* Bloody autocommands changed the buffer! Can happen when
-! * using netrw and editing a remote file. Use the current
-! * buffer instead, delete the dummy one after restoring the
-! * window stuff. */
-! newbuf_to_wipe = newbuf;
- newbuf = curbuf;
- }
- }
-
- /* restore curwin/curbuf and a few other things */
- aucmd_restbuf(&aco);
-+ if (newbuf_to_wipe != NULL && buf_valid(newbuf_to_wipe))
-+ wipe_buffer(newbuf_to_wipe, FALSE);
- }
-
- if (!buf_valid(newbuf))
-*** ../vim-7.3.065/src/version.c 2010-11-24 15:50:54.000000000 +0100
---- src/version.c 2010-11-24 16:30:44.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 66,
- /**/
-
---
-CART DRIVER: Bring out your dead!
- We follow the cart through a wretched, impoverished plague-ridden village.
- A few starved mongrels run about in the mud scavenging. In the open
- doorway of one house perhaps we jug glimpse a pair of legs dangling from
- the ceiling. In another doorway an OLD WOMAN is beating a cat against a
- wall rather like one does with a mat. The cart passes round a dead donkey
- or cow in the mud. And a MAN tied to a cart is being hammered to death by
- four NUNS with huge mallets.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.067 b/source/ap/vim/patches/7.3.067
deleted file mode 100644
index c32c645a8..000000000
--- a/source/ap/vim/patches/7.3.067
+++ /dev/null
@@ -1,68 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.067
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.067 (after 7.3.058)
-Problem: Ruby: Init_prelude is not always available.
-Solution: Remove use of Init_prelude. (Yasuhiro Matsumoto)
-Files: src/if_ruby.c
-
-
-*** ../vim-7.3.066/src/if_ruby.c 2010-11-16 14:46:14.000000000 +0100
---- src/if_ruby.c 2010-11-24 16:53:06.000000000 +0100
-***************
-*** 231,237 ****
- # define rb_enc_str_new dll_rb_enc_str_new
- # define rb_intern2 dll_rb_intern2
- # define rb_const_remove dll_rb_const_remove
-- # define Init_prelude dll_Init_prelude
- # define rb_sprintf dll_rb_sprintf
- # define ruby_init_stack dll_ruby_init_stack
- #endif
---- 231,236 ----
-***************
-*** 433,439 ****
- {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
- {"rb_intern2", (RUBY_PROC*)&dll_rb_intern2},
- {"rb_const_remove", (RUBY_PROC*)&dll_rb_const_remove},
-- {"Init_prelude", (RUBY_PROC*)&dll_Init_prelude},
- {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
- {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
- #endif
---- 432,437 ----
-***************
-*** 675,681 ****
- /* This avoids the error "Encoding::ConverterNotFoundError: code
- * converter not found (UTF-16LE to ASCII-8BIT)". */
- rb_define_module("Gem");
-- Init_prelude();
- rb_const_remove(rb_cObject, rb_intern2("TMP_RUBY_PREFIX", 15));
- #endif
- ruby_vim_init();
---- 673,678 ----
-*** ../vim-7.3.066/src/version.c 2010-11-24 16:31:55.000000000 +0100
---- src/version.c 2010-11-24 16:53:35.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 67,
- /**/
-
---
-CART DRIVER: Bring out your dead!
-LARGE MAN: Here's one!
-CART DRIVER: Ninepence.
-BODY: I'm not dead!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.068 b/source/ap/vim/patches/7.3.068
deleted file mode 100644
index 8acbcab9d..000000000
--- a/source/ap/vim/patches/7.3.068
+++ /dev/null
@@ -1,50 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.068
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.068
-Problem: Using freed memory when doing ":saveas" and an autocommand sets
- 'autochdir'. (Kevin Klement)
-Solution: Get the value of fname again after executing autocommands.
-Files: src/ex_cmds.c
-
-
-*** ../vim-7.3.067/src/ex_cmds.c 2010-10-15 20:20:00.000000000 +0200
---- src/ex_cmds.c 2010-11-24 17:53:07.000000000 +0100
-***************
-*** 2705,2710 ****
---- 2705,2714 ----
- TRUE);
- do_modelines(0);
- }
-+
-+ /* Autocommands may have changed buffer names, esp. when
-+ * 'autochdir' is set. */
-+ fname = curbuf->b_sfname;
- #endif
- }
-
-*** ../vim-7.3.067/src/version.c 2010-11-24 17:03:34.000000000 +0100
---- src/version.c 2010-11-24 17:55:11.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 68,
- /**/
-
---
-I used to wonder about the meaning of life. But I looked it
-up in the dictionary under "L" and there it was - the meaning
-of life. It was less than I expected. - Dogbert
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.069 b/source/ap/vim/patches/7.3.069
deleted file mode 100644
index d77612906..000000000
--- a/source/ap/vim/patches/7.3.069
+++ /dev/null
@@ -1,49 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.069
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.069
-Problem: GTK: pressing Enter in inputdialog() doesn't work like clicking OK
- as documented.
-Solution: call gtk_entry_set_activates_default(). (Britton Kerin)
-Files: src/gui_gtk.c
-
-
-*** ../vim-7.3.068/src/gui_gtk.c 2010-08-15 21:57:32.000000000 +0200
---- src/gui_gtk.c 2010-11-24 18:44:21.000000000 +0100
-***************
-*** 1287,1292 ****
---- 1287,1295 ----
- entry = gtk_entry_new();
- gtk_widget_show(entry);
-
-+ /* Make Enter work like pressing OK. */
-+ gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE);
-+
- text = CONVERT_TO_UTF8(textfield);
- gtk_entry_set_text(GTK_ENTRY(entry), (const char *)text);
- CONVERT_TO_UTF8_FREE(text);
-*** ../vim-7.3.068/src/version.c 2010-11-24 17:59:27.000000000 +0100
---- src/version.c 2010-11-24 18:46:39.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 69,
- /**/
-
---
-Why I like vim:
-> I like VIM because, when I ask a question in this newsgroup, I get a
-> one-line answer. With xemacs, I get a 1Kb lisp script with bugs in it ;-)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.070 b/source/ap/vim/patches/7.3.070
deleted file mode 100644
index 0da893f9c..000000000
--- a/source/ap/vim/patches/7.3.070
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.070
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.070
-Problem: Can set environment variables in the sandbox, could be abused.
-Solution: Disallow it.
-Files: src/eval.c
-
-
-*** ../vim-7.3.069/src/eval.c 2010-11-10 20:31:24.000000000 +0100
---- src/eval.c 2010-12-02 14:42:31.000000000 +0100
-***************
-*** 2326,2332 ****
- else if (endchars != NULL
- && vim_strchr(endchars, *skipwhite(arg)) == NULL)
- EMSG(_(e_letunexp));
-! else
- {
- c1 = name[len];
- name[len] = NUL;
---- 2326,2332 ----
- else if (endchars != NULL
- && vim_strchr(endchars, *skipwhite(arg)) == NULL)
- EMSG(_(e_letunexp));
-! else if (!check_secure())
- {
- c1 = name[len];
- name[len] = NUL;
-*** ../vim-7.3.069/src/version.c 2010-11-24 18:48:08.000000000 +0100
---- src/version.c 2010-12-02 14:46:44.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 70,
- /**/
-
---
-The only way the average employee can speak to an executive is by taking a
-second job as a golf caddie.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.071 b/source/ap/vim/patches/7.3.071
deleted file mode 100644
index 75b6979f3..000000000
--- a/source/ap/vim/patches/7.3.071
+++ /dev/null
@@ -1,65 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.071
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.071
-Problem: Editing a file in a window that's in diff mode resets 'diff'
- but not cursor binding.
-Solution: Reset cursor binding in two more places.
-Files: src/quickfix.c, src/option.c
-
-
-*** ../vim-7.3.070/src/quickfix.c 2010-11-24 16:31:55.000000000 +0100
---- src/quickfix.c 2010-12-02 15:02:00.000000000 +0100
-***************
-*** 2359,2364 ****
---- 2359,2365 ----
- set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix",
- OPT_LOCAL);
- set_option_value((char_u *)"bh", 0L, (char_u *)"wipe", OPT_LOCAL);
-+ RESET_BINDING(curwin);
- #ifdef FEAT_DIFF
- curwin->w_p_diff = FALSE;
- #endif
-*** ../vim-7.3.070/src/option.c 2010-10-13 14:05:29.000000000 +0200
---- src/option.c 2010-12-02 15:12:02.000000000 +0100
-***************
-*** 9756,9761 ****
---- 9759,9767 ----
- #ifdef FEAT_SCROLLBIND
- to->wo_scb = from->wo_scb;
- #endif
-+ #ifdef FEAT_CURSORBIND
-+ to->wo_crb = from->wo_crb;
-+ #endif
- #ifdef FEAT_SPELL
- to->wo_spell = from->wo_spell;
- #endif
-*** ../vim-7.3.070/src/version.c 2010-12-02 14:47:56.000000000 +0100
---- src/version.c 2010-12-02 15:31:12.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 71,
- /**/
-
---
-A salesperson says: Translation:
-"backward compatible" Old technology
-"Premium" Overpriced
-"Can't keep it on the shelf" Unavailable
-"Stands alone" Piece of shit
-"Proprietary" Incompatible
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.072 b/source/ap/vim/patches/7.3.072
deleted file mode 100644
index 88e54f9e1..000000000
--- a/source/ap/vim/patches/7.3.072
+++ /dev/null
@@ -1,295 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.072
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.072
-Problem: Can't complete file names while ignoring case.
-Solution: Add 'wildignorecase'.
-Files: src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/option.c,
- src/option.h, src/vim.h, runtime/doc/options.txt
-
-
-*** ../vim-7.3.071/src/ex_docmd.c 2010-11-24 15:50:54.000000000 +0100
---- src/ex_docmd.c 2010-12-02 15:58:10.000000000 +0100
-***************
-*** 4524,4535 ****
- else /* n == 2 */
- {
- expand_T xpc;
-
- ExpandInit(&xpc);
- xpc.xp_context = EXPAND_FILES;
- p = ExpandOne(&xpc, eap->arg, NULL,
-! WILD_LIST_NOTFOUND|WILD_ADD_SLASH,
-! WILD_EXPAND_FREE);
- if (p == NULL)
- return FAIL;
- }
---- 4524,4537 ----
- else /* n == 2 */
- {
- expand_T xpc;
-+ int options = WILD_LIST_NOTFOUND|WILD_ADD_SLASH;
-
- ExpandInit(&xpc);
- xpc.xp_context = EXPAND_FILES;
-+ if (p_wic)
-+ options += WILD_ICASE;
- p = ExpandOne(&xpc, eap->arg, NULL,
-! options, WILD_EXPAND_FREE);
- if (p == NULL)
- return FAIL;
- }
-*** ../vim-7.3.071/src/ex_getln.c 2010-11-16 14:05:48.000000000 +0100
---- src/ex_getln.c 2010-11-28 15:07:49.000000000 +0100
-***************
-*** 3339,3348 ****
- p2 = NULL;
- else
- {
- p2 = ExpandOne(xp, p1,
- vim_strnsave(&ccline.cmdbuff[i], xp->xp_pattern_len),
-! WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE
-! |options, type);
- vim_free(p1);
- /* longest match: make sure it is not shorter, happens with :help */
- if (p2 != NULL && type == WILD_LONGEST)
---- 3339,3352 ----
- p2 = NULL;
- else
- {
-+ int use_options = options |
-+ WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE;
-+
-+ if (p_wic)
-+ use_options += WILD_ICASE;
- p2 = ExpandOne(xp, p1,
- vim_strnsave(&ccline.cmdbuff[i], xp->xp_pattern_len),
-! use_options, type);
- vim_free(p1);
- /* longest match: make sure it is not shorter, happens with :help */
- if (p2 != NULL && type == WILD_LONGEST)
-***************
-*** 3428,3433 ****
---- 3432,3438 ----
- * options = WILD_KEEP_ALL: don't remove 'wildignore' entries
- * options = WILD_SILENT: don't print warning messages
- * options = WILD_ESCAPE: put backslash before special chars
-+ * options = WILD_ICASE: ignore case for files
- *
- * The variables xp->xp_context and xp->xp_backslash must have been set!
- */
-***************
-*** 4361,4366 ****
---- 4366,4372 ----
- char_u ***matches; /* return: array of pointers to matches */
- {
- char_u *file_str = NULL;
-+ int options = WILD_ADD_SLASH|WILD_SILENT;
-
- if (xp->xp_context == EXPAND_UNSUCCESSFUL)
- {
-***************
-*** 4379,4387 ****
- if (file_str == NULL)
- return EXPAND_UNSUCCESSFUL;
-
- /* find all files that match the description */
-! if (ExpandFromContext(xp, file_str, matchcount, matches,
-! WILD_ADD_SLASH|WILD_SILENT) == FAIL)
- {
- *matchcount = 0;
- *matches = NULL;
---- 4385,4395 ----
- if (file_str == NULL)
- return EXPAND_UNSUCCESSFUL;
-
-+ if (p_wic)
-+ options += WILD_ICASE;
-+
- /* find all files that match the description */
-! if (ExpandFromContext(xp, file_str, matchcount, matches, options) == FAIL)
- {
- *matchcount = 0;
- *matches = NULL;
-***************
-*** 4433,4439 ****
- char_u *pat;
- int *num_file;
- char_u ***file;
-! int options;
- {
- #ifdef FEAT_CMDL_COMPL
- regmatch_T regmatch;
---- 4441,4447 ----
- char_u *pat;
- int *num_file;
- char_u ***file;
-! int options; /* EW_ flags */
- {
- #ifdef FEAT_CMDL_COMPL
- regmatch_T regmatch;
-***************
-*** 4487,4492 ****
---- 4495,4503 ----
- flags |= (EW_FILE | EW_PATH);
- else
- flags = (flags | EW_DIR) & ~EW_FILE;
-+ if (options & WILD_ICASE)
-+ flags |= EW_ICASE;
-+
- /* Expand wildcards, supporting %:h and the like. */
- ret = expand_wildcards_eval(&pat, num_file, file, flags);
- if (free_pat)
-*** ../vim-7.3.071/src/misc1.c 2010-08-16 21:46:12.000000000 +0200
---- src/misc1.c 2010-11-28 15:02:57.000000000 +0100
-***************
-*** 9161,9167 ****
- #ifdef CASE_INSENSITIVE_FILENAME
- regmatch.rm_ic = TRUE; /* Behave like Terminal.app */
- #else
-! regmatch.rm_ic = FALSE; /* Don't ever ignore case */
- #endif
- regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
- vim_free(pat);
---- 9161,9170 ----
- #ifdef CASE_INSENSITIVE_FILENAME
- regmatch.rm_ic = TRUE; /* Behave like Terminal.app */
- #else
-! if (flags & EW_ICASE)
-! regmatch.rm_ic = TRUE; /* 'wildignorecase' set */
-! else
-! regmatch.rm_ic = FALSE; /* Don't ignore case */
- #endif
- regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
- vim_free(pat);
-***************
-*** 9643,9649 ****
- if (paths == NULL)
- return 0;
-
-! files = globpath(paths, pattern, 0);
- vim_free(paths);
- if (files == NULL)
- return 0;
---- 9646,9652 ----
- if (paths == NULL)
- return 0;
-
-! files = globpath(paths, pattern, (flags & EW_ICASE) ? WILD_ICASE : 0);
- vim_free(paths);
- if (files == NULL)
- return 0;
-*** ../vim-7.3.071/src/option.c 2010-12-02 15:33:10.000000000 +0100
---- src/option.c 2010-12-02 15:12:02.000000000 +0100
-***************
-*** 2740,2746 ****
- (char_u *)&p_wc, PV_NONE,
- {(char_u *)(long)Ctrl_E, (char_u *)(long)TAB}
- SCRIPTID_INIT},
-! {"wildcharm", "wcm", P_NUM|P_VI_DEF,
- (char_u *)&p_wcm, PV_NONE,
- {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
- {"wildignore", "wig", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
---- 2740,2746 ----
- (char_u *)&p_wc, PV_NONE,
- {(char_u *)(long)Ctrl_E, (char_u *)(long)TAB}
- SCRIPTID_INIT},
-! {"wildcharm", "wcm", P_NUM|P_VI_DEF,
- (char_u *)&p_wcm, PV_NONE,
- {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
- {"wildignore", "wig", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
-***************
-*** 2750,2755 ****
---- 2750,2758 ----
- (char_u *)NULL, PV_NONE,
- #endif
- {(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
-+ {"wildignorecase", "wic", P_BOOL|P_VI_DEF,
-+ (char_u *)&p_wic, PV_NONE,
-+ {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
- {"wildmenu", "wmnu", P_BOOL|P_VI_DEF,
- #ifdef FEAT_WILDMENU
- (char_u *)&p_wmnu, PV_NONE,
-*** ../vim-7.3.071/src/option.h 2010-08-15 21:57:28.000000000 +0200
---- src/option.h 2010-11-28 14:29:18.000000000 +0100
-***************
-*** 872,877 ****
---- 872,878 ----
- EXTERN char_u *p_ww; /* 'whichwrap' */
- EXTERN long p_wc; /* 'wildchar' */
- EXTERN long p_wcm; /* 'wildcharm' */
-+ EXTERN long p_wic; /* 'wildignorecase' */
- EXTERN char_u *p_wim; /* 'wildmode' */
- #ifdef FEAT_WILDMENU
- EXTERN int p_wmnu; /* 'wildmenu' */
-*** ../vim-7.3.071/src/vim.h 2010-10-20 19:17:43.000000000 +0200
---- src/vim.h 2010-11-28 14:49:02.000000000 +0100
-***************
-*** 798,803 ****
---- 798,804 ----
- #define WILD_KEEP_ALL 32
- #define WILD_SILENT 64
- #define WILD_ESCAPE 128
-+ #define WILD_ICASE 256
-
- /* Flags for expand_wildcards() */
- #define EW_DIR 0x01 /* include directory names */
-***************
-*** 808,813 ****
---- 809,815 ----
- #define EW_SILENT 0x20 /* don't print "1 returned" from shell */
- #define EW_EXEC 0x40 /* executable files */
- #define EW_PATH 0x80 /* search in 'path' too */
-+ #define EW_ICASE 0x100 /* ignore case */
- /* Note: mostly EW_NOTFOUND and EW_SILENT are mutually exclusive: EW_NOTFOUND
- * is used when executing commands and EW_SILENT for interactive expanding. */
-
-*** ../vim-7.3.071/runtime/doc/options.txt 2010-10-20 17:44:01.000000000 +0200
---- runtime/doc/options.txt 2010-12-02 11:15:01.000000000 +0100
-***************
-*** 7748,7753 ****
---- 7756,7772 ----
- a pattern from the list. This avoids problems when a future version
- uses another default.
-
-+
-+ *'wildignorecase* *'wic'* *'nowildignorecase* *'nowic'*
-+ 'wildignorecase' 'wic' boolean (default off)
-+ global
-+ {not in Vi}
-+ When set case is ignored when completing file names and directories.
-+ Has no effect on systems where file name case is generally ignored.
-+ Does not apply when the shell is used to expand wildcards, which
-+ happens when there are special characters.
-+
-+
- *'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'*
- 'wildmenu' 'wmnu' boolean (default off)
- global
-*** ../vim-7.3.071/src/version.c 2010-12-02 15:33:10.000000000 +0100
---- src/version.c 2010-12-02 15:57:14.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 72,
- /**/
-
---
-I recommend ordering large cargo containers of paper towels to make up
-whatever budget underruns you have. Paper products are always useful and they
-have the advantage of being completely flushable if you need to make room in
-the storage area later.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.073 b/source/ap/vim/patches/7.3.073
deleted file mode 100644
index 4a79e20b2..000000000
--- a/source/ap/vim/patches/7.3.073
+++ /dev/null
@@ -1,92 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.073
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.073
-Problem: Double free memory when netbeans command follows DETACH.
-Solution: Only free the node when owned. (Xavier de Gaye)
-Files: src/netbeans.c
-
-
-*** ../vim-7.3.072/src/netbeans.c 2010-11-16 15:48:57.000000000 +0100
---- src/netbeans.c 2010-12-02 16:59:11.000000000 +0100
-***************
-*** 643,648 ****
---- 643,649 ----
- {
- char_u *p;
- queue_T *node;
-+ int own_node;
-
- while (head.next != NULL && head.next != &head)
- {
-***************
-*** 681,700 ****
- *p++ = NUL;
- if (*p == NUL)
- {
- head.next = node->next;
- node->next->prev = node->prev;
- }
-
- /* now, parse and execute the commands */
- nb_parse_cmd(node->buffer);
-
-! if (*p == NUL)
- {
- /* buffer finished, dispose of the node and buffer */
- vim_free(node->buffer);
- vim_free(node);
- }
-! else
- {
- /* more follows, move to the start */
- STRMOVE(node->buffer, p);
---- 682,706 ----
- *p++ = NUL;
- if (*p == NUL)
- {
-+ own_node = TRUE;
- head.next = node->next;
- node->next->prev = node->prev;
- }
-+ else
-+ own_node = FALSE;
-
- /* now, parse and execute the commands */
- nb_parse_cmd(node->buffer);
-
-! if (own_node)
- {
- /* buffer finished, dispose of the node and buffer */
- vim_free(node->buffer);
- vim_free(node);
- }
-! /* Check that "head" wasn't changed under our fingers, e.g. when a
-! * DETACH command was handled. */
-! else if (head.next == node)
- {
- /* more follows, move to the start */
- STRMOVE(node->buffer, p);
-*** ../vim-7.3.072/src/version.c 2010-12-02 16:01:23.000000000 +0100
---- src/version.c 2010-12-02 17:00:29.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 73,
- /**/
-
---
-If the Universe is constantly expanding, why can't I ever find a parking space?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.074 b/source/ap/vim/patches/7.3.074
deleted file mode 100644
index 1223d6dce..000000000
--- a/source/ap/vim/patches/7.3.074
+++ /dev/null
@@ -1,235 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.074
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.074
-Problem: Can't use the "+ register like "* for yank and put.
-Solution: Add "unnamedplus" to the 'clipboard' option. (Ivan Krasilnikov)
-Files: runtime/doc/options.txt, src/eval.c, src/globals.h, src/ops.c,
- src/option.c
-
-
-*** ../vim-7.3.073/runtime/doc/options.txt 2010-12-02 16:01:23.000000000 +0100
---- runtime/doc/options.txt 2010-12-02 21:22:48.000000000 +0100
-***************
-*** 1434,1439 ****
---- 1434,1448 ----
- explicitly accessed using the "* notation. Also see
- |gui-clipboard|.
-
-+ unnamedplus A variant of "unnamed" flag which uses the clipboard
-+ register '+' (|quoteplus|) instead of register '*' for
-+ all operations except yank. Yank shall copy the text
-+ into register '+' and also into '*' when "unnamed" is
-+ included.
-+ Only available with the |+x11| feature.
-+ Availability can be checked with: >
-+ if has('unnamedplus')
-+ <
- autoselect Works like the 'a' flag in 'guioptions': If present,
- then whenever Visual mode is started, or the Visual
- area extended, Vim tries to become the owner of the
-*** ../vim-7.3.073/src/eval.c 2010-12-02 14:47:56.000000000 +0100
---- src/eval.c 2010-12-02 17:30:23.000000000 +0100
-***************
-*** 12135,12140 ****
---- 12139,12147 ----
- #ifdef FEAT_TOOLBAR
- "toolbar",
- #endif
-+ #if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
-+ "unnamedplus",
-+ #endif
- #ifdef FEAT_USR_CMDS
- "user-commands", /* was accidentally included in 5.4 */
- "user_commands",
-*** ../vim-7.3.073/src/globals.h 2010-11-24 14:28:53.000000000 +0100
---- src/globals.h 2010-12-02 20:07:42.000000000 +0100
-***************
-*** 512,518 ****
- # define clip_plus clip_star /* there is only one clipboard */
- # define ONE_CLIPBOARD
- # endif
-! EXTERN int clip_unnamed INIT(= FALSE);
- EXTERN int clip_autoselect INIT(= FALSE);
- EXTERN int clip_autoselectml INIT(= FALSE);
- EXTERN int clip_html INIT(= FALSE);
---- 512,522 ----
- # define clip_plus clip_star /* there is only one clipboard */
- # define ONE_CLIPBOARD
- # endif
-!
-! #define CLIP_UNNAMED 1
-! #define CLIP_UNNAMED_PLUS 2
-! EXTERN int clip_unnamed INIT(= 0); /* above two values or'ed */
-!
- EXTERN int clip_autoselect INIT(= FALSE);
- EXTERN int clip_autoselectml INIT(= FALSE);
- EXTERN int clip_html INIT(= FALSE);
-*** ../vim-7.3.073/src/ops.c 2010-11-24 14:28:53.000000000 +0100
---- src/ops.c 2010-12-02 21:33:04.000000000 +0100
-***************
-*** 1584,1592 ****
- adjust_clip_reg(rp)
- int *rp;
- {
-! /* If no reg. specified, and "unnamed" is in 'clipboard', use '*' reg. */
-! if (*rp == 0 && clip_unnamed)
-! *rp = '*';
- if (!clip_star.available && *rp == '*')
- *rp = 0;
- if (!clip_plus.available && *rp == '+')
---- 1584,1594 ----
- adjust_clip_reg(rp)
- int *rp;
- {
-! /* If no reg. specified, and "unnamed" or "unnamedplus" is in 'clipboard',
-! * use '*' or '+' reg, respectively. "unnamedplus" prevails. */
-! if (*rp == 0 && clip_unnamed != 0)
-! *rp = ((clip_unnamed & CLIP_UNNAMED_PLUS) && clip_plus.available)
-! ? '+' : '*';
- if (!clip_star.available && *rp == '*')
- *rp = 0;
- if (!clip_plus.available && *rp == '+')
-***************
-*** 2842,2847 ****
---- 2844,2850 ----
- char_u *p;
- char_u *pnew;
- struct block_def bd;
-+ int did_star = FALSE;
-
- /* check for read-only register */
- if (oap->regname != 0 && !valid_yank_reg(oap->regname, TRUE))
-***************
-*** 3115,3121 ****
- */
- if (clip_star.available
- && (curr == &(y_regs[STAR_REGISTER])
-! || (!deleting && oap->regname == 0 && clip_unnamed)))
- {
- if (curr != &(y_regs[STAR_REGISTER]))
- /* Copy the text from register 0 to the clipboard register. */
---- 3118,3125 ----
- */
- if (clip_star.available
- && (curr == &(y_regs[STAR_REGISTER])
-! || (!deleting && oap->regname == 0
-! && (clip_unnamed & CLIP_UNNAMED))))
- {
- if (curr != &(y_regs[STAR_REGISTER]))
- /* Copy the text from register 0 to the clipboard register. */
-***************
-*** 3123,3128 ****
---- 3127,3133 ----
-
- clip_own_selection(&clip_star);
- clip_gen_set_selection(&clip_star);
-+ did_star = TRUE;
- }
-
- # ifdef FEAT_X11
-***************
-*** 3130,3141 ****
- * If we were yanking to the '+' register, send result to selection.
- * Also copy to the '*' register, in case auto-select is off.
- */
-! else if (clip_plus.available && curr == &(y_regs[PLUS_REGISTER]))
- {
- /* No need to copy to * register upon 'unnamed' now - see below */
- clip_own_selection(&clip_plus);
- clip_gen_set_selection(&clip_plus);
-! if (!clip_isautosel())
- {
- copy_yank_reg(&(y_regs[STAR_REGISTER]));
- clip_own_selection(&clip_star);
---- 3135,3153 ----
- * If we were yanking to the '+' register, send result to selection.
- * Also copy to the '*' register, in case auto-select is off.
- */
-! if (clip_plus.available
-! && (curr == &(y_regs[PLUS_REGISTER])
-! || (!deleting && oap->regname == 0
-! && (clip_unnamed & CLIP_UNNAMED_PLUS))))
- {
-+ if (curr != &(y_regs[PLUS_REGISTER]))
-+ /* Copy the text from register 0 to the clipboard register. */
-+ copy_yank_reg(&(y_regs[PLUS_REGISTER]));
-+
- /* No need to copy to * register upon 'unnamed' now - see below */
- clip_own_selection(&clip_plus);
- clip_gen_set_selection(&clip_plus);
-! if (!clip_isautosel() && !did_star)
- {
- copy_yank_reg(&(y_regs[STAR_REGISTER]));
- clip_own_selection(&clip_star);
-*** ../vim-7.3.073/src/option.c 2010-12-02 16:01:23.000000000 +0100
---- src/option.c 2010-12-02 21:41:32.000000000 +0100
-***************
-*** 7307,7313 ****
- static char_u *
- check_clipboard_option()
- {
-! int new_unnamed = FALSE;
- int new_autoselect = FALSE;
- int new_autoselectml = FALSE;
- int new_html = FALSE;
---- 7307,7313 ----
- static char_u *
- check_clipboard_option()
- {
-! int new_unnamed = 0;
- int new_autoselect = FALSE;
- int new_autoselectml = FALSE;
- int new_html = FALSE;
-***************
-*** 7319,7327 ****
- {
- if (STRNCMP(p, "unnamed", 7) == 0 && (p[7] == ',' || p[7] == NUL))
- {
-! new_unnamed = TRUE;
- p += 7;
- }
- else if (STRNCMP(p, "autoselect", 10) == 0
- && (p[10] == ',' || p[10] == NUL))
- {
---- 7319,7333 ----
- {
- if (STRNCMP(p, "unnamed", 7) == 0 && (p[7] == ',' || p[7] == NUL))
- {
-! new_unnamed |= CLIP_UNNAMED;
- p += 7;
- }
-+ else if (STRNCMP(p, "unnamedplus", 11) == 0
-+ && (p[11] == ',' || p[11] == NUL))
-+ {
-+ new_unnamed |= CLIP_UNNAMED_PLUS;
-+ p += 11;
-+ }
- else if (STRNCMP(p, "autoselect", 10) == 0
- && (p[10] == ',' || p[10] == NUL))
- {
-*** ../vim-7.3.073/src/version.c 2010-12-02 17:09:48.000000000 +0100
---- src/version.c 2010-12-02 21:34:40.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 74,
- /**/
-
---
-The budget process was invented by an alien race of sadistic beings who
-resemble large cats.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.075 b/source/ap/vim/patches/7.3.075
deleted file mode 100644
index 91cbb5161..000000000
--- a/source/ap/vim/patches/7.3.075
+++ /dev/null
@@ -1,132 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.075
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.075 (after 7.3.072)
-Problem: Missing part of 'wildignorecase'
-Solution: Also adjust expand()
-Files: src/eval.c
-
-
-*** ../vim-7.3.074/src/eval.c 2010-12-02 21:43:10.000000000 +0100
---- src/eval.c 2010-12-02 17:30:23.000000000 +0100
-***************
-*** 9876,9882 ****
- char_u *s;
- int len;
- char_u *errormsg;
-! int flags = WILD_SILENT|WILD_USE_NL|WILD_LIST_NOTFOUND;
- expand_T xpc;
- int error = FALSE;
-
---- 9876,9882 ----
- char_u *s;
- int len;
- char_u *errormsg;
-! int options = WILD_SILENT|WILD_USE_NL|WILD_LIST_NOTFOUND;
- expand_T xpc;
- int error = FALSE;
-
-***************
-*** 9894,9905 ****
- * for 'wildignore' and don't put matches for 'suffixes' at the end. */
- if (argvars[1].v_type != VAR_UNKNOWN
- && get_tv_number_chk(&argvars[1], &error))
-! flags |= WILD_KEEP_ALL;
- if (!error)
- {
- ExpandInit(&xpc);
- xpc.xp_context = EXPAND_FILES;
-! rettv->vval.v_string = ExpandOne(&xpc, s, NULL, flags, WILD_ALL);
- }
- else
- rettv->vval.v_string = NULL;
---- 9894,9907 ----
- * for 'wildignore' and don't put matches for 'suffixes' at the end. */
- if (argvars[1].v_type != VAR_UNKNOWN
- && get_tv_number_chk(&argvars[1], &error))
-! options |= WILD_KEEP_ALL;
- if (!error)
- {
- ExpandInit(&xpc);
- xpc.xp_context = EXPAND_FILES;
-! if (p_wic)
-! options += WILD_ICASE;
-! rettv->vval.v_string = ExpandOne(&xpc, s, NULL, options, WILD_ALL);
- }
- else
- rettv->vval.v_string = NULL;
-***************
-*** 11672,11678 ****
- typval_T *argvars;
- typval_T *rettv;
- {
-! int flags = WILD_SILENT|WILD_USE_NL;
- expand_T xpc;
- int error = FALSE;
-
---- 11674,11680 ----
- typval_T *argvars;
- typval_T *rettv;
- {
-! int options = WILD_SILENT|WILD_USE_NL;
- expand_T xpc;
- int error = FALSE;
-
-***************
-*** 11680,11693 ****
- * for 'wildignore' and don't put matches for 'suffixes' at the end. */
- if (argvars[1].v_type != VAR_UNKNOWN
- && get_tv_number_chk(&argvars[1], &error))
-! flags |= WILD_KEEP_ALL;
- rettv->v_type = VAR_STRING;
- if (!error)
- {
- ExpandInit(&xpc);
- xpc.xp_context = EXPAND_FILES;
- rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
-! NULL, flags, WILD_ALL);
- }
- else
- rettv->vval.v_string = NULL;
---- 11682,11697 ----
- * for 'wildignore' and don't put matches for 'suffixes' at the end. */
- if (argvars[1].v_type != VAR_UNKNOWN
- && get_tv_number_chk(&argvars[1], &error))
-! options |= WILD_KEEP_ALL;
- rettv->v_type = VAR_STRING;
- if (!error)
- {
- ExpandInit(&xpc);
- xpc.xp_context = EXPAND_FILES;
-+ if (p_wic)
-+ options += WILD_ICASE;
- rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
-! NULL, options, WILD_ALL);
- }
- else
- rettv->vval.v_string = NULL;
-*** ../vim-7.3.074/src/version.c 2010-12-02 21:43:10.000000000 +0100
---- src/version.c 2010-12-02 21:43:59.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 75,
- /**/
-
---
-Engineers will go without food and hygiene for days to solve a problem.
-(Other times just because they forgot.)
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.076 b/source/ap/vim/patches/7.3.076
deleted file mode 100644
index 9ec7db428..000000000
--- a/source/ap/vim/patches/7.3.076
+++ /dev/null
@@ -1,203 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.076
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.076
-Problem: Clang warnings for dead code.
-Solution: Remove it. (Carlo Teubner)
-Files: src/gui_gtk.c, src/if_ruby.c, src/misc2.c, src/netbeans.c,
- src/spell.c
-
-
-*** ../vim-7.3.075/src/gui_gtk.c 2010-11-24 18:48:08.000000000 +0100
---- src/gui_gtk.c 2010-12-08 12:25:17.000000000 +0100
-***************
-*** 1798,1804 ****
- char_u *repl_text;
- gboolean direction_down;
- SharedFindReplace *sfr;
-- int rc;
-
- flags = (int)(long)data; /* avoid a lint warning here */
-
---- 1798,1803 ----
-***************
-*** 1824,1830 ****
-
- repl_text = CONVERT_FROM_UTF8(repl_text);
- find_text = CONVERT_FROM_UTF8(find_text);
-! rc = gui_do_findrepl(flags, find_text, repl_text, direction_down);
- CONVERT_FROM_UTF8_FREE(repl_text);
- CONVERT_FROM_UTF8_FREE(find_text);
- }
---- 1823,1829 ----
-
- repl_text = CONVERT_FROM_UTF8(repl_text);
- find_text = CONVERT_FROM_UTF8(find_text);
-! gui_do_findrepl(flags, find_text, repl_text, direction_down);
- CONVERT_FROM_UTF8_FREE(repl_text);
- CONVERT_FROM_UTF8_FREE(find_text);
- }
-*** ../vim-7.3.075/src/if_ruby.c 2010-11-24 17:03:34.000000000 +0100
---- src/if_ruby.c 2010-12-08 12:30:38.000000000 +0100
-***************
-*** 586,594 ****
- if (u_save(eap->line1 - 1, eap->line2 + 1) != OK)
- return;
- for (i = eap->line1; i <= eap->line2; i++) {
-! VALUE line, oldline;
-
-! line = oldline = vim_str2rb_enc_str((char *)ml_get(i));
- rb_lastline_set(line);
- eval_enc_string_protect((char *) eap->arg, &state);
- if (state) {
---- 586,594 ----
- if (u_save(eap->line1 - 1, eap->line2 + 1) != OK)
- return;
- for (i = eap->line1; i <= eap->line2; i++) {
-! VALUE line;
-
-! line = vim_str2rb_enc_str((char *)ml_get(i));
- rb_lastline_set(line);
- eval_enc_string_protect((char *) eap->arg, &state);
- if (state) {
-*** ../vim-7.3.075/src/misc2.c 2010-08-15 21:57:32.000000000 +0200
---- src/misc2.c 2010-12-08 12:42:44.000000000 +0100
-***************
-*** 200,206 ****
- }
- #endif
-
-- idx = -1;
- ptr = line;
- while (col <= wcol && *ptr != NUL)
- {
---- 200,205 ----
-***************
-*** 1223,1229 ****
- #endif
-
- /*
-! * copy a string into newly allocated memory
- */
- char_u *
- vim_strsave(string)
---- 1222,1228 ----
- #endif
-
- /*
-! * Copy "string" into newly allocated memory.
- */
- char_u *
- vim_strsave(string)
-***************
-*** 1239,1244 ****
---- 1238,1249 ----
- return p;
- }
-
-+ /*
-+ * Copy up to "len" bytes of "string" into newly allocated memory and
-+ * terminate with a NUL.
-+ * The allocated memory always has size "len + 1", also when "string" is
-+ * shorter.
-+ */
- char_u *
- vim_strnsave(string, len)
- char_u *string;
-*** ../vim-7.3.075/src/netbeans.c 2010-12-02 17:09:48.000000000 +0100
---- src/netbeans.c 2010-12-08 12:43:57.000000000 +0100
-***************
-*** 960,966 ****
- keyQ_T *key_node = keyHead.next;
- queue_T *cmd_node = head.next;
- nbbuf_T buf;
-- buf_T *bufp;
- int i;
-
- /* free the netbeans buffer list */
---- 960,965 ----
-***************
-*** 969,975 ****
- buf = buf_list[i];
- vim_free(buf.displayname);
- vim_free(buf.signmap);
-! if ((bufp=buf.bufp) != NULL)
- {
- buf.bufp->b_netbeans_file = FALSE;
- buf.bufp->b_was_netbeans_file = FALSE;
---- 968,974 ----
- buf = buf_list[i];
- vim_free(buf.displayname);
- vim_free(buf.signmap);
-! if (buf.bufp != NULL)
- {
- buf.bufp->b_netbeans_file = FALSE;
- buf.bufp->b_was_netbeans_file = FALSE;
-*** ../vim-7.3.075/src/spell.c 2010-09-29 18:32:47.000000000 +0200
---- src/spell.c 2010-12-08 12:47:13.000000000 +0100
-***************
-*** 9839,9848 ****
- {
- /* be quick for ASCII */
- if (wp->w_s->b_spell_ismw[*p])
-- {
- s = p + 1; /* skip a mid-word character */
-- l = MB_BYTE2LEN(*s);
-- }
- }
- else
- {
---- 9839,9845 ----
-***************
-*** 9850,9859 ****
- if (c < 256 ? wp->w_s->b_spell_ismw[c]
- : (wp->w_s->b_spell_ismw_mb != NULL
- && vim_strchr(wp->w_s->b_spell_ismw_mb, c) != NULL))
-- {
- s = p + l;
-- l = MB_BYTE2LEN(*s);
-- }
- }
-
- c = mb_ptr2char(s);
---- 9847,9853 ----
-***************
-*** 13813,13823 ****
- su->su_sfmaxscore = cleanup_suggestions(gap,
- su->su_sfmaxscore, SUG_CLEAN_COUNT(su));
- else
-- {
-- i = su->su_maxscore;
- su->su_maxscore = cleanup_suggestions(gap,
- su->su_maxscore, SUG_CLEAN_COUNT(su));
-- }
- }
- }
- }
---- 13807,13814 ----
-*** ../vim-7.3.075/src/version.c 2010-12-02 21:44:35.000000000 +0100
---- src/version.c 2010-12-08 13:10:00.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 76,
- /**/
-
---
-Never enter the boss's office unless it's absolutely necessary. Every boss
-saves one corner of the desk for useless assignments that are doled out like
-Halloween candy to each visitor.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.077 b/source/ap/vim/patches/7.3.077
deleted file mode 100644
index c0af4b960..000000000
--- a/source/ap/vim/patches/7.3.077
+++ /dev/null
@@ -1,134 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.077
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.077
-Problem: When updating crypt of swapfile fails there is no error message.
- (Carlo Teubner)
-Solution: Add the error message.
-Files: src/memline.c
-
-
-*** ../vim-7.3.076/src/memline.c 2010-08-15 21:57:31.000000000 +0200
---- src/memline.c 2010-12-08 12:39:10.000000000 +0100
-***************
-*** 582,587 ****
---- 582,590 ----
- idx = ip->ip_index + 1; /* go to next index */
- page_count = 1;
- }
-+
-+ if (error > 0)
-+ EMSG(_("E843: Error while updating swap file crypt"));
- }
-
- mfp->mf_old_key = NULL;
-***************
-*** 2384,2390 ****
- * Make a copy of the line if necessary.
- */
- /*
-! * get a pointer to a (read-only copy of a) line
- *
- * On failure an error message is given and IObuff is returned (to avoid
- * having to check for error everywhere).
---- 2387,2393 ----
- * Make a copy of the line if necessary.
- */
- /*
-! * Return a pointer to a (read-only copy of a) line.
- *
- * On failure an error message is given and IObuff is returned (to avoid
- * having to check for error everywhere).
-***************
-*** 2397,2403 ****
- }
-
- /*
-! * ml_get_pos: get pointer to position 'pos'
- */
- char_u *
- ml_get_pos(pos)
---- 2400,2406 ----
- }
-
- /*
-! * Return pointer to position "pos".
- */
- char_u *
- ml_get_pos(pos)
-***************
-*** 2407,2413 ****
- }
-
- /*
-! * ml_get_curline: get pointer to cursor line.
- */
- char_u *
- ml_get_curline()
---- 2410,2416 ----
- }
-
- /*
-! * Return pointer to cursor line.
- */
- char_u *
- ml_get_curline()
-***************
-*** 2416,2422 ****
- }
-
- /*
-! * ml_get_cursor: get pointer to cursor position
- */
- char_u *
- ml_get_cursor()
---- 2419,2425 ----
- }
-
- /*
-! * Return pointer to cursor position.
- */
- char_u *
- ml_get_cursor()
-***************
-*** 2426,2432 ****
- }
-
- /*
-! * get a pointer to a line in a specific buffer
- *
- * "will_change": if TRUE mark the buffer dirty (chars in the line will be
- * changed)
---- 2429,2435 ----
- }
-
- /*
-! * Return a pointer to a line in a specific buffer
- *
- * "will_change": if TRUE mark the buffer dirty (chars in the line will be
- * changed)
-*** ../vim-7.3.076/src/version.c 2010-12-08 13:11:15.000000000 +0100
---- src/version.c 2010-12-08 13:15:44.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 77,
- /**/
-
---
-An operatingsystem is just a name you give to the rest of bloating
-idiosyncratic machine-based-features you left out of your editor.
- (author unknown)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.078 b/source/ap/vim/patches/7.3.078
deleted file mode 100644
index ae8a9dad6..000000000
--- a/source/ap/vim/patches/7.3.078
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.078
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.078
-Problem: Warning for unused variable.
-Solution: Adjuste #ifdefs.
-Files: src/ops.c
-
-
-*** ../vim-7.3.077/src/ops.c 2010-12-02 21:43:10.000000000 +0100
---- src/ops.c 2010-12-08 14:21:48.000000000 +0100
-***************
-*** 2844,2850 ****
---- 2844,2852 ----
- char_u *p;
- char_u *pnew;
- struct block_def bd;
-+ #if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
- int did_star = FALSE;
-+ #endif
-
- /* check for read-only register */
- if (oap->regname != 0 && !valid_yank_reg(oap->regname, TRUE))
-***************
-*** 3127,3133 ****
---- 3129,3137 ----
-
- clip_own_selection(&clip_star);
- clip_gen_set_selection(&clip_star);
-+ # ifdef FEAT_X11
- did_star = TRUE;
-+ # endif
- }
-
- # ifdef FEAT_X11
-*** ../vim-7.3.077/src/version.c 2010-12-08 13:16:58.000000000 +0100
---- src/version.c 2010-12-08 14:22:42.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 78,
- /**/
-
---
-A)bort, R)etry, D)o it right this time
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.079 b/source/ap/vim/patches/7.3.079
deleted file mode 100644
index 493d52f3f..000000000
--- a/source/ap/vim/patches/7.3.079
+++ /dev/null
@@ -1,50 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.079
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.079
-Problem: Duplicate lines in makefile.
-Solution: Remove the lines. (Hong Xu)
-Files: src/Make_mvc.mak
-
-
-*** ../vim-7.3.078/src/Make_mvc.mak 2010-11-03 21:59:23.000000000 +0100
---- src/Make_mvc.mak 2010-12-08 14:53:16.000000000 +0100
-***************
-*** 380,388 ****
- !if "$(_NMAKE_VER)" == "10.00.30319.01"
- MSVCVER = 10.0
- !endif
-- !if "$(_NMAKE_VER)" == "9.00.30729.01"
-- MSVCVER = 9.0
-- !endif
- !endif
-
- # Abort bulding VIM if version of VC is unrecognised.
---- 380,385 ----
-*** ../vim-7.3.078/src/version.c 2010-12-08 14:23:08.000000000 +0100
---- src/version.c 2010-12-08 14:54:02.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 79,
- /**/
-
---
-login: yes
-password: I don't know, please tell me
-password is incorrect
-login: yes
-password: incorrect
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.080 b/source/ap/vim/patches/7.3.080
deleted file mode 100644
index 6cf9f6d70..000000000
--- a/source/ap/vim/patches/7.3.080
+++ /dev/null
@@ -1,205 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.080
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.080
-Problem: Spell doesn't work on VMS.
-Solution: Use different file names. (Zoltan Bartos, Zoltan Arpadffy)
-Files: src/spell.c
-
-
-*** ../vim-7.3.079/src/spell.c 2010-12-08 13:11:15.000000000 +0100
---- src/spell.c 2010-12-08 17:01:13.000000000 +0100
-***************
-*** 327,332 ****
---- 327,342 ----
- typedef long idx_T;
- #endif
-
-+ #ifdef VMS
-+ # define SPL_FNAME_TMPL "%s_%s.spl"
-+ # define SPL_FNAME_ADD "_add."
-+ # define SPL_FNAME_ASCII "_ascii."
-+ #else
-+ # define SPL_FNAME_TMPL "%s.%s.spl"
-+ # define SPL_FNAME_ADD ".add."
-+ # define SPL_FNAME_ASCII ".ascii."
-+ #endif
-+
- /* Flags used for a word. Only the lowest byte can be used, the region byte
- * comes above it. */
- #define WF_REGION 0x01 /* region byte follows */
-***************
-*** 2471,2484 ****
- * Find the first spell file for "lang" in 'runtimepath' and load it.
- */
- vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
-! "spell/%s.%s.spl", lang, spell_enc());
- r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl);
-
- if (r == FAIL && *sl.sl_lang != NUL)
- {
- /* Try loading the ASCII version. */
- vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
-! "spell/%s.ascii.spl", lang);
- r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl);
-
- #ifdef FEAT_AUTOCMD
---- 2481,2504 ----
- * Find the first spell file for "lang" in 'runtimepath' and load it.
- */
- vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
-! #ifdef VMS
-! "spell/%s_%s.spl",
-! #else
-! "spell/%s.%s.spl",
-! #endif
-! lang, spell_enc());
- r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl);
-
- if (r == FAIL && *sl.sl_lang != NUL)
- {
- /* Try loading the ASCII version. */
- vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
-! #ifdef VMS
-! "spell/%s_ascii.spl",
-! #else
-! "spell/%s.ascii.spl",
-! #endif
-! lang);
- r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl);
-
- #ifdef FEAT_AUTOCMD
-***************
-*** 2496,2502 ****
-
- if (r == FAIL)
- {
-! smsg((char_u *)_("Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""),
- lang, spell_enc(), lang);
- }
- else if (sl.sl_slang != NULL)
---- 2516,2527 ----
-
- if (r == FAIL)
- {
-! smsg((char_u *)
-! #ifdef VMS
-! _("Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\""),
-! #else
-! _("Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""),
-! #endif
- lang, spell_enc(), lang);
- }
- else if (sl.sl_slang != NULL)
-***************
-*** 2530,2536 ****
- int_wordlist_spl(fname)
- char_u *fname;
- {
-! vim_snprintf((char *)fname, MAXPATHL, "%s.%s.spl",
- int_wordlist, spell_enc());
- }
-
---- 2555,2561 ----
- int_wordlist_spl(fname)
- char_u *fname;
- {
-! vim_snprintf((char *)fname, MAXPATHL, SPL_FNAME_TMPL,
- int_wordlist, spell_enc());
- }
-
-***************
-*** 2785,2792 ****
- if (lp->sl_fname == NULL)
- goto endFAIL;
-
-! /* Check for .add.spl. */
-! lp->sl_add = strstr((char *)gettail(fname), ".add.") != NULL;
- }
- else
- lp = old_lp;
---- 2810,2817 ----
- if (lp->sl_fname == NULL)
- goto endFAIL;
-
-! /* Check for .add.spl (_add.spl for VMS). */
-! lp->sl_add = strstr((char *)gettail(fname), SPL_FNAME_ADD) != NULL;
- }
- else
- lp = old_lp;
-***************
-*** 9109,9116 ****
- /* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */
- innames = &fnames[0];
- incount = 1;
-! vim_snprintf((char *)wfname, sizeof(wfname), "%s.%s.spl", fnames[0],
-! spin.si_ascii ? (char_u *)"ascii" : spell_enc());
- }
- else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0)
- {
---- 9134,9141 ----
- /* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */
- innames = &fnames[0];
- incount = 1;
-! vim_snprintf((char *)wfname, sizeof(wfname), SPL_FNAME_TMPL,
-! fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc());
- }
- else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0)
- {
-***************
-*** 9119,9133 ****
- }
- else
- /* Name should be language, make the file name from it. */
-! vim_snprintf((char *)wfname, sizeof(wfname), "%s.%s.spl", fnames[0],
-! spin.si_ascii ? (char_u *)"ascii" : spell_enc());
-
- /* Check for .ascii.spl. */
-! if (strstr((char *)gettail(wfname), ".ascii.") != NULL)
- spin.si_ascii = TRUE;
-
- /* Check for .add.spl. */
-! if (strstr((char *)gettail(wfname), ".add.") != NULL)
- spin.si_add = TRUE;
- }
-
---- 9144,9158 ----
- }
- else
- /* Name should be language, make the file name from it. */
-! vim_snprintf((char *)wfname, sizeof(wfname), SPL_FNAME_TMPL,
-! fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc());
-
- /* Check for .ascii.spl. */
-! if (strstr((char *)gettail(wfname), SPL_FNAME_ASCII) != NULL)
- spin.si_ascii = TRUE;
-
- /* Check for .add.spl. */
-! if (strstr((char *)gettail(wfname), SPL_FNAME_ADD) != NULL)
- spin.si_add = TRUE;
- }
-
-*** ../vim-7.3.079/src/version.c 2010-12-08 14:54:58.000000000 +0100
---- src/version.c 2010-12-08 16:58:03.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 80,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-5. You find yourself brainstorming for new subjects to search.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.081 b/source/ap/vim/patches/7.3.081
deleted file mode 100644
index 635b9b505..000000000
--- a/source/ap/vim/patches/7.3.081
+++ /dev/null
@@ -1,84 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.081
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.081
-Problem: Non-printable characters in 'statusline' cause trouble. (ZyX)
-Solution: Use transstr(). (partly by Caio Ariede)
-Files: src/screen.c
-
-
-*** ../vim-7.3.080/src/screen.c 2010-08-15 21:57:32.000000000 +0200
---- src/screen.c 2010-12-08 19:27:20.000000000 +0100
-***************
-*** 3405,3413 ****
- # endif
- )
- {
-! int_u text_sign;
- # ifdef FEAT_SIGN_ICONS
-! int_u icon_sign;
- # endif
-
- /* Draw two cells with the sign value or blank. */
---- 3405,3413 ----
- # endif
- )
- {
-! int text_sign;
- # ifdef FEAT_SIGN_ICONS
-! int icon_sign;
- # endif
-
- /* Draw two cells with the sign value or blank. */
-***************
-*** 6522,6529 ****
- stl, use_sandbox,
- fillchar, maxwidth, hltab, tabtab);
- vim_free(stl);
-- len = (int)STRLEN(buf);
-
- while (width < maxwidth && len < (int)sizeof(buf) - 1)
- {
- #ifdef FEAT_MBYTE
---- 6522,6538 ----
- stl, use_sandbox,
- fillchar, maxwidth, hltab, tabtab);
- vim_free(stl);
-
-+ /* Make all characters printable. */
-+ p = transstr(buf);
-+ if (p != NULL)
-+ {
-+ vim_strncpy(buf, p, sizeof(buf) - 1);
-+ vim_free(p);
-+ }
-+
-+ /* fill up with "fillchar" */
-+ len = (int)STRLEN(buf);
- while (width < maxwidth && len < (int)sizeof(buf) - 1)
- {
- #ifdef FEAT_MBYTE
-*** ../vim-7.3.080/src/version.c 2010-12-08 17:09:27.000000000 +0100
---- src/version.c 2010-12-08 19:31:40.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 81,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-6. You refuse to go to a vacation spot with no electricity and no phone lines.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.082 b/source/ap/vim/patches/7.3.082
deleted file mode 100644
index 5753c05e8..000000000
--- a/source/ap/vim/patches/7.3.082
+++ /dev/null
@@ -1,51 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.082
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.082
-Problem: Leaking file descriptor when hostname doesn't exist.
-Solution: Remove old debugging lines.
-Files: src/netbeans.c
-
-
-*** ../vim-7.3.081/src/netbeans.c 2010-12-08 13:11:15.000000000 +0100
---- src/netbeans.c 2010-12-17 12:13:32.000000000 +0100
-***************
-*** 323,334 ****
- server.sin_port = htons(port);
- if ((host = gethostbyname(hostname)) == NULL)
- {
-- if (mch_access(hostname, R_OK) >= 0)
-- {
-- /* DEBUG: input file */
-- sd = mch_open(hostname, O_RDONLY, 0);
-- goto theend;
-- }
- nbdebug(("error in gethostbyname() in netbeans_connect()\n"));
- PERROR("gethostbyname() in netbeans_connect()");
- goto theend;
---- 323,328 ----
-*** ../vim-7.3.081/src/version.c 2010-12-08 19:56:52.000000000 +0100
---- src/version.c 2010-12-17 12:17:11.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 82,
- /**/
-
---
-How To Keep A Healthy Level Of Insanity:
-1. At lunch time, sit in your parked car with sunglasses on and point
- a hair dryer at passing cars. See if they slow down.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.083 b/source/ap/vim/patches/7.3.083
deleted file mode 100644
index f337d2109..000000000
--- a/source/ap/vim/patches/7.3.083
+++ /dev/null
@@ -1,362 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.083
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.083
-Problem: When a read() or write() is interrupted by a signal it fails.
-Solution: Add read_eintr() and write_eintr().
-Files: src/fileio.c, src/proto/fileio.pro, src/memfile.c, src/memline.c,
- src/os_unix.c, src/undo.c, src/vim.h
-
-
-*** ../vim-7.3.082/src/fileio.c 2010-08-15 21:57:26.000000000 +0200
---- src/fileio.c 2010-12-17 16:04:30.000000000 +0100
-***************
-*** 918,924 ****
- {
- /* Read the first line (and a bit more). Immediately rewind to
- * the start of the file. If the read() fails "len" is -1. */
-! len = vim_read(fd, firstline, 80);
- lseek(fd, (off_t)0L, SEEK_SET);
- for (p = firstline; p < firstline + len; ++p)
- if (*p >= 0x80)
---- 918,924 ----
- {
- /* Read the first line (and a bit more). Immediately rewind to
- * the start of the file. If the read() fails "len" is -1. */
-! len = read_eintr(fd, firstline, 80);
- lseek(fd, (off_t)0L, SEEK_SET);
- for (p = firstline; p < firstline + len; ++p)
- if (*p >= 0x80)
-***************
-*** 1373,1379 ****
- /*
- * Read bytes from the file.
- */
-! size = vim_read(fd, ptr, size);
- }
-
- if (size <= 0)
---- 1373,1379 ----
- /*
- * Read bytes from the file.
- */
-! size = read_eintr(fd, ptr, size);
- }
-
- if (size <= 0)
-***************
-*** 4000,4006 ****
- #ifdef HAS_BW_FLAGS
- write_info.bw_flags = FIO_NOCONVERT;
- #endif
-! while ((write_info.bw_len = vim_read(fd, copybuf,
- BUFSIZE)) > 0)
- {
- if (buf_write_bytes(&write_info) == FAIL)
---- 4000,4006 ----
- #ifdef HAS_BW_FLAGS
- write_info.bw_flags = FIO_NOCONVERT;
- #endif
-! while ((write_info.bw_len = read_eintr(fd, copybuf,
- BUFSIZE)) > 0)
- {
- if (buf_write_bytes(&write_info) == FAIL)
-***************
-*** 4813,4819 ****
- #ifdef HAS_BW_FLAGS
- write_info.bw_flags = FIO_NOCONVERT;
- #endif
-! while ((write_info.bw_len = vim_read(fd, smallbuf,
- SMBUFSIZE)) > 0)
- if (buf_write_bytes(&write_info) == FAIL)
- break;
---- 4813,4819 ----
- #ifdef HAS_BW_FLAGS
- write_info.bw_flags = FIO_NOCONVERT;
- #endif
-! while ((write_info.bw_len = read_eintr(fd, smallbuf,
- SMBUFSIZE)) > 0)
- if (buf_write_bytes(&write_info) == FAIL)
- break;
-***************
-*** 5330,5336 ****
-
- /*
- * Call write() to write a number of bytes to the file.
-! * Also handles encryption and 'encoding' conversion.
- *
- * Return FAIL for failure, OK otherwise.
- */
---- 5330,5336 ----
-
- /*
- * Call write() to write a number of bytes to the file.
-! * Handles encryption and 'encoding' conversion.
- *
- * Return FAIL for failure, OK otherwise.
- */
-***************
-*** 5702,5717 ****
- crypt_encode(buf, len, buf);
- #endif
-
-! /* Repeat the write(), it may be interrupted by a signal. */
-! while (len > 0)
-! {
-! wlen = vim_write(ip->bw_fd, buf, len);
-! if (wlen <= 0) /* error! */
-! return FAIL;
-! len -= wlen;
-! buf += wlen;
-! }
-! return OK;
- }
-
- #ifdef FEAT_MBYTE
---- 5702,5709 ----
- crypt_encode(buf, len, buf);
- #endif
-
-! wlen = write_eintr(ip->bw_fd, buf, len);
-! return (wlen < len) ? FAIL : OK;
- }
-
- #ifdef FEAT_MBYTE
-***************
-*** 6662,6669 ****
- return -1;
- }
-
-! while ((n = vim_read(fd_in, buffer, BUFSIZE)) > 0)
-! if (vim_write(fd_out, buffer, n) != n)
- {
- errmsg = _("E208: Error writing to \"%s\"");
- break;
---- 6654,6661 ----
- return -1;
- }
-
-! while ((n = read_eintr(fd_in, buffer, BUFSIZE)) > 0)
-! if (write_eintr(fd_out, buffer, n) != n)
- {
- errmsg = _("E208: Error writing to \"%s\"");
- break;
-***************
-*** 10304,10306 ****
---- 10296,10350 ----
- }
- return reg_pat;
- }
-+
-+ #if defined(EINTR) || defined(PROTO)
-+ /*
-+ * Version of read() that retries when interrupted by EINTR (possibly
-+ * by a SIGWINCH).
-+ */
-+ long
-+ read_eintr(fd, buf, bufsize)
-+ int fd;
-+ void *buf;
-+ size_t bufsize;
-+ {
-+ long ret;
-+
-+ for (;;)
-+ {
-+ ret = vim_read(fd, buf, bufsize);
-+ if (ret >= 0 || errno != EINTR)
-+ break;
-+ }
-+ return ret;
-+ }
-+
-+ /*
-+ * Version of write() that retries when interrupted by EINTR (possibly
-+ * by a SIGWINCH).
-+ */
-+ long
-+ write_eintr(fd, buf, bufsize)
-+ int fd;
-+ void *buf;
-+ size_t bufsize;
-+ {
-+ long ret = 0;
-+ long wlen;
-+
-+ /* Repeat the write() so long it didn't fail, other than being interrupted
-+ * by a signal. */
-+ while (ret < (long)bufsize)
-+ {
-+ wlen = vim_write(fd, buf + ret, bufsize - ret);
-+ if (wlen < 0)
-+ {
-+ if (errno != EINTR)
-+ break;
-+ }
-+ else
-+ ret += wlen;
-+ }
-+ return ret;
-+ }
-+ #endif
-*** ../vim-7.3.082/src/proto/fileio.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/fileio.pro 2010-12-17 15:01:26.000000000 +0100
-***************
-*** 54,57 ****
---- 54,59 ----
- int match_file_pat __ARGS((char_u *pattern, regprog_T *prog, char_u *fname, char_u *sfname, char_u *tail, int allow_dirs));
- int match_file_list __ARGS((char_u *list, char_u *sfname, char_u *ffname));
- char_u *file_pat_to_reg_pat __ARGS((char_u *pat, char_u *pat_end, char *allow_dirs, int no_bslash));
-+ long read_eintr __ARGS((int fd, void *buf, size_t bufsize));
-+ long write_eintr __ARGS((int fd, void *buf, size_t bufsize));
- /* vim: set ft=c : */
-*** ../vim-7.3.082/src/memfile.c 2010-08-15 21:57:25.000000000 +0200
---- src/memfile.c 2010-12-17 16:02:54.000000000 +0100
-***************
-*** 1049,1055 ****
- PERROR(_("E294: Seek error in swap file read"));
- return FAIL;
- }
-! if ((unsigned)vim_read(mfp->mf_fd, hp->bh_data, size) != size)
- {
- PERROR(_("E295: Read error in swap file"));
- return FAIL;
---- 1049,1055 ----
- PERROR(_("E294: Seek error in swap file read"));
- return FAIL;
- }
-! if ((unsigned)read_eintr(mfp->mf_fd, hp->bh_data, size) != size)
- {
- PERROR(_("E295: Read error in swap file"));
- return FAIL;
-***************
-*** 1168,1174 ****
- }
- #endif
-
-! if ((unsigned)vim_write(mfp->mf_fd, data, size) != size)
- result = FAIL;
-
- #ifdef FEAT_CRYPT
---- 1168,1174 ----
- }
- #endif
-
-! if ((unsigned)write_eintr(mfp->mf_fd, data, size) != size)
- result = FAIL;
-
- #ifdef FEAT_CRYPT
-*** ../vim-7.3.082/src/memline.c 2010-12-08 13:16:58.000000000 +0100
---- src/memline.c 2010-12-17 15:46:49.000000000 +0100
-***************
-*** 2062,2068 ****
- fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0);
- if (fd >= 0)
- {
-! if (read(fd, (char *)&b0, sizeof(b0)) == sizeof(b0))
- {
- if (STRNCMP(b0.b0_version, "VIM 3.0", 7) == 0)
- {
---- 2062,2068 ----
- fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0);
- if (fd >= 0)
- {
-! if (read_eintr(fd, &b0, sizeof(b0)) == sizeof(b0))
- {
- if (STRNCMP(b0.b0_version, "VIM 3.0", 7) == 0)
- {
-***************
-*** 4392,4398 ****
- fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0);
- if (fd >= 0)
- {
-! if (read(fd, (char *)&b0, sizeof(b0)) == sizeof(b0))
- {
- /*
- * If the swapfile has the same directory as the
---- 4392,4398 ----
- fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0);
- if (fd >= 0)
- {
-! if (read_eintr(fd, &b0, sizeof(b0)) == sizeof(b0))
- {
- /*
- * If the swapfile has the same directory as the
-*** ../vim-7.3.082/src/os_unix.c 2010-10-20 19:17:43.000000000 +0200
---- src/os_unix.c 2010-12-17 16:17:43.000000000 +0100
-***************
-*** 4454,4460 ****
- ++noread_cnt;
- while (RealWaitForChar(fromshell_fd, 10L, NULL))
- {
-! len = read(fromshell_fd, (char *)buffer
- # ifdef FEAT_MBYTE
- + buffer_off, (size_t)(BUFLEN - buffer_off)
- # else
---- 4454,4460 ----
- ++noread_cnt;
- while (RealWaitForChar(fromshell_fd, 10L, NULL))
- {
-! len = read_eintr(fromshell_fd, buffer
- # ifdef FEAT_MBYTE
- + buffer_off, (size_t)(BUFLEN - buffer_off)
- # else
-*** ../vim-7.3.082/src/undo.c 2010-11-03 19:32:36.000000000 +0100
---- src/undo.c 2010-12-17 15:39:24.000000000 +0100
-***************
-*** 1386,1392 ****
- char_u mbuf[UF_START_MAGIC_LEN];
- int len;
-
-! len = vim_read(fd, mbuf, UF_START_MAGIC_LEN);
- close(fd);
- if (len < UF_START_MAGIC_LEN
- || memcmp(mbuf, UF_START_MAGIC, UF_START_MAGIC_LEN) != 0)
---- 1386,1392 ----
- char_u mbuf[UF_START_MAGIC_LEN];
- int len;
-
-! len = read_eintr(fd, mbuf, UF_START_MAGIC_LEN);
- close(fd);
- if (len < UF_START_MAGIC_LEN
- || memcmp(mbuf, UF_START_MAGIC, UF_START_MAGIC_LEN) != 0)
-*** ../vim-7.3.082/src/vim.h 2010-12-02 16:01:23.000000000 +0100
---- src/vim.h 2010-12-17 14:55:04.000000000 +0100
-***************
-*** 1642,1647 ****
---- 1642,1652 ----
- # define USE_INPUT_BUF
- #endif
-
-+ #ifndef EINTR
-+ # define read_eintr(fd, buf, count) vim_read((fd), (buf), (count))
-+ # define write_eintr(fd, buf, count) vim_write((fd), (buf), (count))
-+ #endif
-+
- #ifdef MSWIN
- /* On MS-Windows the third argument isn't size_t. This matters for Win64,
- * where sizeof(size_t)==8, not 4 */
-*** ../vim-7.3.082/src/version.c 2010-12-17 12:19:14.000000000 +0100
---- src/version.c 2010-12-17 16:10:58.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 83,
- /**/
-
---
-How To Keep A Healthy Level Of Insanity:
-9. As often as possible, skip rather than walk.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.084 b/source/ap/vim/patches/7.3.084
deleted file mode 100644
index a46892e39..000000000
--- a/source/ap/vim/patches/7.3.084
+++ /dev/null
@@ -1,123 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.084
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.084
-Problem: When splitting the window, the new one scrolls with the cursor at
- the top.
-Solution: Compute w_fraction before setting the new height.
-Files: src/window.c
-
-
-*** ../vim-7.3.083/src/window.c 2010-09-21 16:56:29.000000000 +0200
---- src/window.c 2010-12-17 17:09:51.000000000 +0100
-***************
-*** 70,76 ****
- #endif /* FEAT_WINDOWS */
-
- static win_T *win_alloc __ARGS((win_T *after, int hidden));
-! static void win_new_height __ARGS((win_T *, int));
-
- #define URL_SLASH 1 /* path_is_url() has found "://" */
- #define URL_BACKSLASH 2 /* path_is_url() has found ":\\" */
---- 70,77 ----
- #endif /* FEAT_WINDOWS */
-
- static win_T *win_alloc __ARGS((win_T *after, int hidden));
-! static void set_fraction __ARGS((win_T *wp));
-! static void win_new_height __ARGS((win_T *wp, int height));
-
- #define URL_SLASH 1 /* path_is_url() has found "://" */
- #define URL_BACKSLASH 2 /* path_is_url() has found ":\\" */
-***************
-*** 983,992 ****
---- 984,999 ----
- else
- frame_append(curfrp, frp);
-
-+ /* Set w_fraction now so that the cursor keeps the same relative
-+ * vertical position. */
-+ set_fraction(oldwin);
-+ wp->w_fraction = oldwin->w_fraction;
-+
- #ifdef FEAT_VERTSPLIT
- if (flags & WSP_VERT)
- {
- wp->w_p_scr = curwin->w_p_scr;
-+
- if (need_status)
- {
- win_new_height(oldwin, oldwin->w_height - 1);
-***************
-*** 5453,5458 ****
---- 5460,5478 ----
-
- #endif /* FEAT_WINDOWS */
-
-+ #define FRACTION_MULT 16384L
-+
-+ /*
-+ * Set wp->w_fraction for the current w_wrow and w_height.
-+ */
-+ static void
-+ set_fraction(wp)
-+ win_T *wp;
-+ {
-+ wp->w_fraction = ((long)wp->w_wrow * FRACTION_MULT
-+ + FRACTION_MULT / 2) / (long)wp->w_height;
-+ }
-+
- /*
- * Set the height of a window.
- * This takes care of the things inside the window, not what happens to the
-***************
-*** 5465,5471 ****
- {
- linenr_T lnum;
- int sline, line_size;
-- #define FRACTION_MULT 16384L
-
- /* Don't want a negative height. Happens when splitting a tiny window.
- * Will equalize heights soon to fix it. */
---- 5485,5490 ----
-***************
-*** 5475,5482 ****
- return; /* nothing to do */
-
- if (wp->w_wrow != wp->w_prev_fraction_row && wp->w_height > 0)
-! wp->w_fraction = ((long)wp->w_wrow * FRACTION_MULT
-! + FRACTION_MULT / 2) / (long)wp->w_height;
-
- wp->w_height = height;
- wp->w_skipcol = 0;
---- 5494,5500 ----
- return; /* nothing to do */
-
- if (wp->w_wrow != wp->w_prev_fraction_row && wp->w_height > 0)
-! set_fraction(wp);
-
- wp->w_height = height;
- wp->w_skipcol = 0;
-*** ../vim-7.3.083/src/version.c 2010-12-17 16:27:10.000000000 +0100
---- src/version.c 2010-12-17 17:14:19.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 84,
- /**/
-
---
-How To Keep A Healthy Level Of Insanity:
-12. Sing along at the opera.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.085 b/source/ap/vim/patches/7.3.085
deleted file mode 100644
index 15fb87ff8..000000000
--- a/source/ap/vim/patches/7.3.085
+++ /dev/null
@@ -1,313 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.085
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.085 (after 7.3.083)
-Problem: Inconsistency with preproc symbols. void * computation.
-Solution: Include vimio.h from vim.h. Add type cast.
-Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/fileio.c,
- src/if_cscope.c, src/if_sniff.c, src/main.c, src/memfile.c,
- src/memline.c, src/netbeans.c, src/os_msdos.c, src/os_mswin.c,
- src/os_win16.c, src/os_win32.c, src/spell.c, src/tag.c,
- src/undo.c, src/vim.h
-
-
-*** ../vim-7.3.084/src/eval.c 2010-12-02 21:44:35.000000000 +0100
---- src/eval.c 2010-12-17 17:45:37.000000000 +0100
-***************
-*** 10,18 ****
- /*
- * eval.c: Expression evaluation.
- */
-- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
-- # include "vimio.h" /* for mch_open(), must be before vim.h */
-- #endif
-
- #include "vim.h"
-
---- 10,15 ----
-*** ../vim-7.3.084/src/ex_cmds.c 2010-11-24 17:59:27.000000000 +0100
---- src/ex_cmds.c 2010-12-17 17:46:09.000000000 +0100
-***************
-*** 11,20 ****
- * ex_cmds.c: some functions for command line commands
- */
-
-- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
-- # include "vimio.h" /* for mch_open(), must be before vim.h */
-- #endif
--
- #include "vim.h"
- #include "version.h"
-
---- 11,16 ----
-*** ../vim-7.3.084/src/ex_cmds2.c 2010-09-21 16:56:29.000000000 +0200
---- src/ex_cmds2.c 2010-12-17 17:46:26.000000000 +0100
-***************
-*** 11,20 ****
- * ex_cmds2.c: some more functions for command line commands
- */
-
-- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
-- # include "vimio.h" /* for mch_open(), must be before vim.h */
-- #endif
--
- #include "vim.h"
- #include "version.h"
-
---- 11,16 ----
-*** ../vim-7.3.084/src/fileio.c 2010-12-17 16:27:09.000000000 +0100
---- src/fileio.c 2010-12-17 17:52:42.000000000 +0100
-***************
-*** 11,24 ****
- * fileio.c: read from and write to a file
- */
-
-- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
-- # include "vimio.h" /* for lseek(), must be before vim.h */
-- #endif
--
-- #if defined __EMX__
-- # include "vimio.h" /* for mktemp(), CJW 1997-12-03 */
-- #endif
--
- #include "vim.h"
-
- #if defined(__TANDEM) || defined(__MINT__)
---- 11,16 ----
-***************
-*** 10336,10342 ****
- * by a signal. */
- while (ret < (long)bufsize)
- {
-! wlen = vim_write(fd, buf + ret, bufsize - ret);
- if (wlen < 0)
- {
- if (errno != EINTR)
---- 10328,10334 ----
- * by a signal. */
- while (ret < (long)bufsize)
- {
-! wlen = vim_write(fd, (char *)buf + ret, bufsize - ret);
- if (wlen < 0)
- {
- if (errno != EINTR)
-*** ../vim-7.3.084/src/if_cscope.c 2010-09-21 16:56:29.000000000 +0200
---- src/if_cscope.c 2010-12-17 17:47:02.000000000 +0100
-***************
-*** 20,28 ****
- #include <sys/stat.h>
- #if defined(UNIX)
- # include <sys/wait.h>
-- #else
-- /* not UNIX, must be WIN32 */
-- # include "vimio.h"
- #endif
- #include "if_cscope.h"
-
---- 20,25 ----
-*** ../vim-7.3.084/src/if_sniff.c 2010-08-15 21:57:25.000000000 +0200
---- src/if_sniff.c 2010-12-17 17:47:20.000000000 +0100
-***************
-*** 9,15 ****
-
- #ifdef WIN32
- # include <stdio.h>
-- # include "vimio.h"
- # include <process.h>
- # include <string.h>
- # include <assert.h>
---- 9,14 ----
-*** ../vim-7.3.084/src/main.c 2010-11-16 16:25:46.000000000 +0100
---- src/main.c 2010-12-17 17:47:41.000000000 +0100
-***************
-*** 7,16 ****
- * See README.txt for an overview of the Vim source code.
- */
-
-- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
-- # include "vimio.h" /* for close() and dup() */
-- #endif
--
- #define EXTERN
- #include "vim.h"
-
---- 7,12 ----
-*** ../vim-7.3.084/src/memfile.c 2010-12-17 16:27:10.000000000 +0100
---- src/memfile.c 2010-12-17 17:47:54.000000000 +0100
-***************
-*** 32,41 ****
- * file is opened.
- */
-
-- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
-- # include "vimio.h" /* for lseek(), must be before vim.h */
-- #endif
--
- #include "vim.h"
-
- /*
---- 32,37 ----
-*** ../vim-7.3.084/src/memline.c 2010-12-17 16:27:10.000000000 +0100
---- src/memline.c 2010-12-17 17:48:06.000000000 +0100
-***************
-*** 42,51 ****
- * mf_get().
- */
-
-- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
-- # include "vimio.h" /* for mch_open(), must be before vim.h */
-- #endif
--
- #include "vim.h"
-
- #ifndef UNIX /* it's in os_unix.h for Unix */
---- 42,47 ----
-*** ../vim-7.3.084/src/netbeans.c 2010-12-17 12:19:14.000000000 +0100
---- src/netbeans.c 2010-12-17 17:48:19.000000000 +0100
-***************
-*** 16,25 ****
- * See ":help netbeans-protocol" for explanation.
- */
-
-- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
-- # include "vimio.h" /* for mch_open(), must be before vim.h */
-- #endif
--
- #include "vim.h"
-
- #if defined(FEAT_NETBEANS_INTG) || defined(PROTO)
---- 16,21 ----
-*** ../vim-7.3.084/src/os_msdos.c 2010-08-15 21:57:25.000000000 +0200
---- src/os_msdos.c 2010-12-17 17:48:40.000000000 +0100
-***************
-*** 21,27 ****
- * Some functions are also used for Win16 (MS-Windows 3.1).
- */
-
-- #include "vimio.h"
- #include "vim.h"
-
- #include <conio.h>
---- 21,26 ----
-*** ../vim-7.3.084/src/os_mswin.c 2010-10-23 14:02:48.000000000 +0200
---- src/os_mswin.c 2010-12-17 17:48:51.000000000 +0100
-***************
-*** 22,28 ****
- # endif
- #endif
-
-- #include "vimio.h"
- #include "vim.h"
-
- #ifdef WIN16
---- 22,27 ----
-*** ../vim-7.3.084/src/os_win16.c 2010-08-15 21:57:32.000000000 +0200
---- src/os_win16.c 2010-12-17 17:49:02.000000000 +0100
-***************
-*** 20,26 ****
- # pragma warn -obs
- #endif
-
-- #include "vimio.h"
- #include "vim.h"
-
- #include <dos.h>
---- 20,25 ----
-*** ../vim-7.3.084/src/os_win32.c 2010-11-24 12:35:14.000000000 +0100
---- src/os_win32.c 2010-12-17 17:49:11.000000000 +0100
-***************
-*** 20,26 ****
- * Roger Knobbe <rogerk@wonderware.com> did the initial port of Vim 3.0.
- */
-
-- #include "vimio.h"
- #include "vim.h"
-
- #ifdef FEAT_MZSCHEME
---- 20,25 ----
-*** ../vim-7.3.084/src/spell.c 2010-12-08 17:09:27.000000000 +0100
---- src/spell.c 2010-12-17 17:49:24.000000000 +0100
-***************
-*** 303,312 ****
- * few bytes as possible, see offset2bytes())
- */
-
-- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
-- # include "vimio.h" /* for lseek(), must be before vim.h */
-- #endif
--
- #include "vim.h"
-
- #if defined(FEAT_SPELL) || defined(PROTO)
---- 303,308 ----
-*** ../vim-7.3.084/src/tag.c 2010-09-21 16:56:29.000000000 +0200
---- src/tag.c 2010-12-17 17:49:35.000000000 +0100
-***************
-*** 11,20 ****
- * Code to handle tags and the tag stack
- */
-
-- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
-- # include "vimio.h" /* for lseek(), must be before vim.h */
-- #endif
--
- #include "vim.h"
-
- /*
---- 11,16 ----
-*** ../vim-7.3.084/src/undo.c 2010-12-17 16:27:10.000000000 +0100
---- src/undo.c 2010-12-17 17:49:59.000000000 +0100
-***************
-*** 81,90 ****
- #define UH_MAGIC 0x18dade /* value for uh_magic when in use */
- #define UE_MAGIC 0xabc123 /* value for ue_magic when in use */
-
-- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
-- # include "vimio.h" /* for vim_read(), must be before vim.h */
-- #endif
--
- #include "vim.h"
-
- static void u_unch_branch __ARGS((u_header_T *uhp));
---- 81,86 ----
-*** ../vim-7.3.084/src/vim.h 2010-12-17 16:27:10.000000000 +0100
---- src/vim.h 2010-12-17 17:51:43.000000000 +0100
-***************
-*** 27,32 ****
---- 27,37 ----
- # endif
- #endif
-
-+ #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64) \
-+ || defined(__EMX__)
-+ # include "vimio.h"
-+ #endif
-+
- /* ============ the header file puzzle (ca. 50-100 pieces) ========= */
-
- #ifdef HAVE_CONFIG_H /* GNU autoconf (or something else) was here */
-*** ../vim-7.3.084/src/version.c 2010-12-17 17:35:05.000000000 +0100
---- src/version.c 2010-12-17 17:55:39.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 85,
- /**/
-
---
-How To Keep A Healthy Level Of Insanity:
-14. Put mosquito netting around your work area. Play a tape of jungle
- sounds all day.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.086 b/source/ap/vim/patches/7.3.086
deleted file mode 100644
index cf494e004..000000000
--- a/source/ap/vim/patches/7.3.086
+++ /dev/null
@@ -1,138 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.086
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.086
-Problem: When using a mapping with an expression and there was no count,
- v:count has the value of the previous command. (ZyX)
-Solution: Also set v:count and v:count1 before getting the character that
- could be a command or a count.
-Files: src/normal.c
-
-
-*** ../vim-7.3.085/src/normal.c 2010-10-13 18:06:42.000000000 +0200
---- src/normal.c 2010-12-17 18:46:56.000000000 +0100
-***************
-*** 25,30 ****
---- 25,33 ----
- static int restart_VIsual_select = 0;
- #endif
-
-+ #ifdef FEAT_EVAL
-+ static void set_vcount_ca __ARGS((cmdarg_T *cap, int *set_prevcount));
-+ #endif
- static int
- # ifdef __BORLANDC__
- _RTLENTRYF
-***************
-*** 648,653 ****
---- 651,664 ----
- dont_scroll = FALSE; /* allow scrolling here */
- #endif
-
-+ #ifdef FEAT_EVAL
-+ /* Set v:count here, when called from main() and not a stuffed
-+ * command, so that v:count can be used in an expression mapping
-+ * when there is no count. */
-+ if (toplevel && stuff_empty())
-+ set_vcount_ca(&ca, &set_prevcount);
-+ #endif
-+
- /*
- * Get the command character from the user.
- */
-***************
-*** 725,739 ****
- * command, so that v:count can be used in an expression mapping
- * right after the count. */
- if (toplevel && stuff_empty())
-! {
-! long count = ca.count0;
-!
-! /* multiply with ca.opcount the same way as below */
-! if (ca.opcount != 0)
-! count = ca.opcount * (count == 0 ? 1 : count);
-! set_vcount(count, count == 0 ? 1 : count, set_prevcount);
-! set_prevcount = FALSE; /* only set v:prevcount once */
-! }
- #endif
- if (ctrl_w)
- {
---- 736,742 ----
- * command, so that v:count can be used in an expression mapping
- * right after the count. */
- if (toplevel && stuff_empty())
-! set_vcount_ca(&ca, &set_prevcount);
- #endif
- if (ctrl_w)
- {
-***************
-*** 1386,1391 ****
---- 1389,1414 ----
- opcount = ca.opcount;
- }
-
-+ #ifdef FEAT_EVAL
-+ /*
-+ * Set v:count and v:count1 according to "cap".
-+ * Set v:prevcount only when "set_prevcount" is TRUE.
-+ */
-+ static void
-+ set_vcount_ca(cap, set_prevcount)
-+ cmdarg_T *cap;
-+ int *set_prevcount;
-+ {
-+ long count = cap->count0;
-+
-+ /* multiply with cap->opcount the same way as above */
-+ if (cap->opcount != 0)
-+ count = cap->opcount * (count == 0 ? 1 : count);
-+ set_vcount(count, count == 0 ? 1 : count, *set_prevcount);
-+ *set_prevcount = FALSE; /* only set v:prevcount once */
-+ }
-+ #endif
-+
- /*
- * Handle an operator after visual mode or when the movement is finished
- */
-***************
-*** 8529,8535 ****
- else
- curwin->w_curswant = 0;
- /* keep curswant at the column where we wanted to go, not where
-! we ended; differs if line is too short */
- curwin->w_set_curswant = FALSE;
- }
-
---- 8552,8558 ----
- else
- curwin->w_curswant = 0;
- /* keep curswant at the column where we wanted to go, not where
-! * we ended; differs if line is too short */
- curwin->w_set_curswant = FALSE;
- }
-
-*** ../vim-7.3.085/src/version.c 2010-12-17 18:06:00.000000000 +0100
---- src/version.c 2010-12-17 18:51:20.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 86,
- /**/
-
---
-How To Keep A Healthy Level Of Insanity:
-15. Five days in advance, tell your friends you can't attend their
- party because you're not in the mood.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.087 b/source/ap/vim/patches/7.3.087
deleted file mode 100644
index e0497dbdd..000000000
--- a/source/ap/vim/patches/7.3.087
+++ /dev/null
@@ -1,152 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.087
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.087
-Problem: EINTR is not always defined.
-Solution: Include errno.h in vim.h.
-Files: src/if_cscope.c, src/if_tcl.c, src/integration.c, src/memline.c,
- src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h,
- src/workshop.c
-
-
-*** ../vim-7.3.086/src/if_cscope.c 2010-12-17 18:06:00.000000000 +0100
---- src/if_cscope.c 2010-12-17 20:06:01.000000000 +0100
-***************
-*** 13,20 ****
-
- #if defined(FEAT_CSCOPE) || defined(PROTO)
-
-- #include <string.h>
-- #include <errno.h>
- #include <assert.h>
- #include <sys/types.h>
- #include <sys/stat.h>
---- 13,18 ----
-*** ../vim-7.3.086/src/if_tcl.c 2010-08-15 21:57:27.000000000 +0200
---- src/if_tcl.c 2010-12-17 20:06:56.000000000 +0100
-***************
-*** 74,80 ****
- #endif
-
- #include <tcl.h>
-- #include <errno.h>
- #include <string.h>
-
- typedef struct
---- 74,79 ----
-*** ../vim-7.3.086/src/integration.c 2010-08-15 21:57:29.000000000 +0200
---- src/integration.c 2010-12-17 20:07:12.000000000 +0100
-***************
-*** 33,39 ****
- #include <sys/un.h>
- #endif
-
-- #include <errno.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <sys/param.h>
---- 33,38 ----
-*** ../vim-7.3.086/src/memline.c 2010-12-17 18:06:00.000000000 +0100
---- src/memline.c 2010-12-17 20:07:31.000000000 +0100
-***************
-*** 52,61 ****
- # include <proto/dos.h> /* for Open() and Close() */
- #endif
-
-- #ifdef HAVE_ERRNO_H
-- # include <errno.h>
-- #endif
--
- typedef struct block0 ZERO_BL; /* contents of the first block */
- typedef struct pointer_block PTR_BL; /* contents of a pointer block */
- typedef struct data_block DATA_BL; /* contents of a data block */
---- 52,57 ----
-*** ../vim-7.3.086/src/os_mswin.c 2010-12-17 18:06:00.000000000 +0100
---- src/os_mswin.c 2010-12-17 20:08:14.000000000 +0100
-***************
-*** 30,36 ****
- # include <string.h>
- #endif
- #include <sys/types.h>
-- #include <errno.h>
- #include <signal.h>
- #include <limits.h>
- #include <process.h>
---- 30,35 ----
-*** ../vim-7.3.086/src/os_win16.c 2010-12-17 18:06:00.000000000 +0100
---- src/os_win16.c 2010-12-17 20:08:53.000000000 +0100
-***************
-*** 25,31 ****
- #include <dos.h>
- #include <string.h>
- #include <sys/types.h>
-- #include <errno.h>
- #include <signal.h>
- #include <limits.h>
- #include <process.h>
---- 25,30 ----
-*** ../vim-7.3.086/src/os_win32.c 2010-12-17 18:06:00.000000000 +0100
---- src/os_win32.c 2010-12-17 20:09:18.000000000 +0100
-***************
-*** 27,33 ****
- #endif
-
- #include <sys/types.h>
-- #include <errno.h>
- #include <signal.h>
- #include <limits.h>
- #include <process.h>
---- 27,32 ----
-*** ../vim-7.3.086/src/vim.h 2010-12-17 18:06:00.000000000 +0100
---- src/vim.h 2010-12-17 20:09:56.000000000 +0100
-***************
-*** 480,485 ****
---- 480,490 ----
- # include <sys/stat.h>
- #endif
-
-+ #if defined(HAVE_ERRNO_H) || defined(DJGPP) || defined(WIN16) \
-+ || defined(WIN32) || defined(_WIN64) || defined(__EMX__)
-+ # include <errno.h>
-+ #endif
-+
- /*
- * Allow other (non-unix) systems to configure themselves now
- * These are also in os_unix.h, because osdef.sh needs them there.
-*** ../vim-7.3.086/src/workshop.c 2010-08-15 21:57:26.000000000 +0200
---- src/workshop.c 2010-12-17 20:09:31.000000000 +0100
-***************
-*** 16,22 ****
- #include <sys/types.h>
- #include <netdb.h>
- #include <netinet/in.h>
-- #include <errno.h>
- #include <sys/socket.h>
- #ifdef HAVE_LIBGEN_H
- # include <libgen.h>
---- 16,21 ----
-*** ../vim-7.3.086/src/version.c 2010-12-17 18:52:56.000000000 +0100
---- src/version.c 2010-12-17 20:14:49.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 87,
- /**/
-
---
-How To Keep A Healthy Level Of Insanity:
-17. When the money comes out the ATM, scream "I won!, I won! 3rd
- time this week!!!!!"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.088 b/source/ap/vim/patches/7.3.088
deleted file mode 100644
index 98acc7c10..000000000
--- a/source/ap/vim/patches/7.3.088
+++ /dev/null
@@ -1,152 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.088
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.088
-Problem: Ruby can't load Gems sometimes, may cause a crash.
-Solution: Undefine off_t. Use ruby_process_options(). (Yasuhiro Matsumoto)
-Files: src/if_ruby.c
-
-
-*** ../vim-7.3.087/src/if_ruby.c 2010-12-08 13:11:15.000000000 +0100
---- src/if_ruby.c 2010-12-24 12:18:31.000000000 +0100
-***************
-*** 90,95 ****
---- 90,96 ----
- # include <ruby/encoding.h>
- #endif
-
-+ #undef off_t /* ruby defines off_t as _int64, Mingw uses long */
- #undef EXTERN
- #undef _
-
-***************
-*** 229,238 ****
- # define rb_enc_find_index dll_rb_enc_find_index
- # define rb_enc_find dll_rb_enc_find
- # define rb_enc_str_new dll_rb_enc_str_new
-- # define rb_intern2 dll_rb_intern2
-- # define rb_const_remove dll_rb_const_remove
- # define rb_sprintf dll_rb_sprintf
- # define ruby_init_stack dll_ruby_init_stack
- #endif
-
- /*
---- 230,239 ----
- # define rb_enc_find_index dll_rb_enc_find_index
- # define rb_enc_find dll_rb_enc_find
- # define rb_enc_str_new dll_rb_enc_str_new
- # define rb_sprintf dll_rb_sprintf
-+ # define rb_require dll_rb_require
- # define ruby_init_stack dll_ruby_init_stack
-+ # define ruby_process_options dll_ruby_process_options
- #endif
-
- /*
-***************
-*** 319,329 ****
- static int (*dll_rb_enc_find_index) (const char*);
- static rb_encoding* (*dll_rb_enc_find) (const char*);
- static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*);
-- static ID (*dll_rb_intern2) (const char*, long);
-- static void (*dll_Init_prelude) (void);
-- static VALUE (*dll_rb_const_remove) (VALUE, ID);
- static VALUE (*dll_rb_sprintf) (const char*, ...);
- static void (*ruby_init_stack)(VALUE*);
- #endif
-
- #ifdef RUBY19_OR_LATER
---- 320,329 ----
- static int (*dll_rb_enc_find_index) (const char*);
- static rb_encoding* (*dll_rb_enc_find) (const char*);
- static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*);
- static VALUE (*dll_rb_sprintf) (const char*, ...);
-+ static VALUE (*dll_rb_require) (const char*);
- static void (*ruby_init_stack)(VALUE*);
-+ static void* (*ruby_process_options)(int, char**);
- #endif
-
- #ifdef RUBY19_OR_LATER
-***************
-*** 430,439 ****
- {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index},
- {"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find},
- {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
-- {"rb_intern2", (RUBY_PROC*)&dll_rb_intern2},
-- {"rb_const_remove", (RUBY_PROC*)&dll_rb_const_remove},
- {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
- {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
- #endif
- {"", NULL},
- };
---- 430,439 ----
- {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index},
- {"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find},
- {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
- {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
-+ {"rb_require", (RUBY_PROC*)&dll_rb_require},
- {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
-+ {"ruby_process_options", (RUBY_PROC*)&dll_ruby_process_options},
- #endif
- {"", NULL},
- };
-***************
-*** 663,680 ****
- ruby_init();
- }
- #ifdef RUBY19_OR_LATER
- ruby_script("vim-ruby");
-! #endif
- ruby_init_loadpath();
-- ruby_io_init();
-- #ifdef RUBY19_OR_LATER
-- rb_enc_find_index("encdb");
--
-- /* This avoids the error "Encoding::ConverterNotFoundError: code
-- * converter not found (UTF-16LE to ASCII-8BIT)". */
-- rb_define_module("Gem");
-- rb_const_remove(rb_cObject, rb_intern2("TMP_RUBY_PREFIX", 15));
- #endif
- ruby_vim_init();
- ruby_initialized = 1;
- #ifdef DYNAMIC_RUBY
---- 663,678 ----
- ruby_init();
- }
- #ifdef RUBY19_OR_LATER
-+ {
-+ int dummy_argc = 2;
-+ char *dummy_argv[] = {"vim-ruby", "-e0"};
-+ ruby_process_options(dummy_argc, dummy_argv);
-+ }
- ruby_script("vim-ruby");
-! #else
- ruby_init_loadpath();
- #endif
-+ ruby_io_init();
- ruby_vim_init();
- ruby_initialized = 1;
- #ifdef DYNAMIC_RUBY
-*** ../vim-7.3.087/src/version.c 2010-12-17 20:23:56.000000000 +0100
---- src/version.c 2010-12-24 13:38:51.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 88,
- /**/
-
---
-It is hard to understand how a cemetery raised its burial
-cost and blamed it on the cost of living.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.089 b/source/ap/vim/patches/7.3.089
deleted file mode 100644
index 47b894af9..000000000
--- a/source/ap/vim/patches/7.3.089
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.089
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.089
-Problem: Compiler warning on 64 bit MS-Windows.
-Solution: Add type cast. (Mike Williams)
-Files: src/netbeans.c
-
-
-*** ../vim-7.3.088/src/netbeans.c 2010-12-17 18:06:00.000000000 +0100
---- src/netbeans.c 2010-12-17 20:21:05.000000000 +0100
-***************
-*** 800,806 ****
- * -> gui event loop or select loop
- * -> netbeans_read()
- */
-! save((char_u *)DETACH_MSG, strlen(DETACH_MSG));
- nb_close_socket();
-
- if (len < 0)
---- 800,806 ----
- * -> gui event loop or select loop
- * -> netbeans_read()
- */
-! save((char_u *)DETACH_MSG, (int)strlen(DETACH_MSG));
- nb_close_socket();
-
- if (len < 0)
-*** ../vim-7.3.088/src/version.c 2010-12-24 13:39:29.000000000 +0100
---- src/version.c 2010-12-24 13:59:03.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 89,
- /**/
-
---
-The 50-50-90 rule: Anytime you have a 50-50 chance of getting
-something right, there's a 90% probability you'll get it wrong.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.090 b/source/ap/vim/patches/7.3.090
deleted file mode 100644
index cf68d620a..000000000
--- a/source/ap/vim/patches/7.3.090
+++ /dev/null
@@ -1,68 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.090
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.090
-Problem: Wrong help text for Cscope.
-Solution: Adjust the help text for "t". (Dominique Pelle)
-Files: src/if_cscope.c
-
-
-*** ../vim-7.3.089/src/if_cscope.c 2010-12-17 20:23:56.000000000 +0100
---- src/if_cscope.c 2010-12-30 11:35:37.000000000 +0100
-***************
-*** 1346,1352 ****
- " g: Find this definition\n"
- " i: Find files #including this file\n"
- " s: Find this C symbol\n"
-! " t: Find assignments to\n"));
-
- cmdp++;
- }
---- 1346,1352 ----
- " g: Find this definition\n"
- " i: Find files #including this file\n"
- " s: Find this C symbol\n"
-! " t: Find this text string\n"));
-
- cmdp++;
- }
-***************
-*** 1657,1663 ****
- /*
- * PRIVATE: cs_make_vim_style_matches
- *
-! * convert the cscope output into into a ctags style entry (as might be found
- * in a ctags tags file). there's one catch though: cscope doesn't tell you
- * the type of the tag you are looking for. for example, in Darren Hiebert's
- * ctags (the one that comes with vim), #define's use a line number to find the
---- 1657,1663 ----
- /*
- * PRIVATE: cs_make_vim_style_matches
- *
-! * convert the cscope output into a ctags style entry (as might be found
- * in a ctags tags file). there's one catch though: cscope doesn't tell you
- * the type of the tag you are looking for. for example, in Darren Hiebert's
- * ctags (the one that comes with vim), #define's use a line number to find the
-*** ../vim-7.3.089/src/version.c 2010-12-24 14:00:09.000000000 +0100
---- src/version.c 2010-12-30 11:36:33.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 90,
- /**/
-
---
-ERROR 047: Keyboard not found. Press RETURN to continue.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.091 b/source/ap/vim/patches/7.3.091
deleted file mode 100644
index f0aac0d9d..000000000
--- a/source/ap/vim/patches/7.3.091
+++ /dev/null
@@ -1,321 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.091
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.091
-Problem: "vim -w foo" writes special key codes for removed escape
- sequences. (Josh Triplett)
-Solution: Don't write K_IGNORE codes.
-Files: src/getchar.c, src/misc1.c, src/term.c, src/vim.h
-
-
-*** ../vim-7.3.090/src/getchar.c 2010-10-27 17:39:00.000000000 +0200
---- src/getchar.c 2010-12-30 12:16:36.000000000 +0100
-***************
-*** 1506,1514 ****
- }
- }
-
-- #define KL_PART_KEY -1 /* keylen value for incomplete key-code */
-- #define KL_PART_MAP -2 /* keylen value for incomplete mapping */
--
- /*
- * Get the next input character.
- * Can return a special key or a multi-byte character.
---- 1506,1511 ----
-***************
-*** 2171,2177 ****
- if (!timedout)
- {
- /* break at a partly match */
-! keylen = KL_PART_MAP;
- break;
- }
- }
---- 2168,2174 ----
- if (!timedout)
- {
- /* break at a partly match */
-! keylen = KEYLEN_PART_MAP;
- break;
- }
- }
-***************
-*** 2192,2198 ****
-
- /* If no partly match found, use the longest full
- * match. */
-! if (keylen != KL_PART_MAP)
- {
- mp = mp_match;
- keylen = mp_match_len;
---- 2189,2195 ----
-
- /* If no partly match found, use the longest full
- * match. */
-! if (keylen != KEYLEN_PART_MAP)
- {
- mp = mp_match;
- keylen = mp_match_len;
-***************
-*** 2230,2236 ****
- }
- /* Need more chars for partly match. */
- if (mlen == typebuf.tb_len)
-! keylen = KL_PART_KEY;
- else if (max_mlen < mlen)
- /* no match, may have to check for termcode at
- * next character */
---- 2227,2233 ----
- }
- /* Need more chars for partly match. */
- if (mlen == typebuf.tb_len)
-! keylen = KEYLEN_PART_KEY;
- else if (max_mlen < mlen)
- /* no match, may have to check for termcode at
- * next character */
-***************
-*** 2238,2244 ****
- }
-
- if ((mp == NULL || max_mlen >= mp_match_len)
-! && keylen != KL_PART_MAP)
- {
- int save_keylen = keylen;
-
---- 2235,2241 ----
- }
-
- if ((mp == NULL || max_mlen >= mp_match_len)
-! && keylen != KEYLEN_PART_MAP)
- {
- int save_keylen = keylen;
-
-***************
-*** 2264,2271 ****
- /* If no termcode matched but 'pastetoggle'
- * matched partially it's like an incomplete key
- * sequence. */
-! if (keylen == 0 && save_keylen == KL_PART_KEY)
-! keylen = KL_PART_KEY;
-
- /*
- * When getting a partial match, but the last
---- 2261,2268 ----
- /* If no termcode matched but 'pastetoggle'
- * matched partially it's like an incomplete key
- * sequence. */
-! if (keylen == 0 && save_keylen == KEYLEN_PART_KEY)
-! keylen = KEYLEN_PART_KEY;
-
- /*
- * When getting a partial match, but the last
-***************
-*** 2302,2308 ****
- continue;
- }
- if (*s == NUL) /* need more characters */
-! keylen = KL_PART_KEY;
- }
- if (keylen >= 0)
- #endif
---- 2299,2305 ----
- continue;
- }
- if (*s == NUL) /* need more characters */
-! keylen = KEYLEN_PART_KEY;
- }
- if (keylen >= 0)
- #endif
-***************
-*** 2339,2345 ****
- if (keylen > 0) /* full matching terminal code */
- {
- #if defined(FEAT_GUI) && defined(FEAT_MENU)
-! if (typebuf.tb_buf[typebuf.tb_off] == K_SPECIAL
- && typebuf.tb_buf[typebuf.tb_off + 1]
- == KS_MENU)
- {
---- 2336,2343 ----
- if (keylen > 0) /* full matching terminal code */
- {
- #if defined(FEAT_GUI) && defined(FEAT_MENU)
-! if (typebuf.tb_len >= 2
-! && typebuf.tb_buf[typebuf.tb_off] == K_SPECIAL
- && typebuf.tb_buf[typebuf.tb_off + 1]
- == KS_MENU)
- {
-***************
-*** 2381,2387 ****
- /* Partial match: get some more characters. When a
- * matching mapping was found use that one. */
- if (mp == NULL || keylen < 0)
-! keylen = KL_PART_KEY;
- else
- keylen = mp_match_len;
- }
---- 2379,2385 ----
- /* Partial match: get some more characters. When a
- * matching mapping was found use that one. */
- if (mp == NULL || keylen < 0)
-! keylen = KEYLEN_PART_KEY;
- else
- keylen = mp_match_len;
- }
-***************
-*** 2553,2559 ****
- #endif
- && typebuf.tb_maplen == 0
- && (State & INSERT)
-! && (p_timeout || (keylen == KL_PART_KEY && p_ttimeout))
- && (c = inchar(typebuf.tb_buf + typebuf.tb_off
- + typebuf.tb_len, 3, 25L,
- typebuf.tb_change_cnt)) == 0)
---- 2551,2558 ----
- #endif
- && typebuf.tb_maplen == 0
- && (State & INSERT)
-! && (p_timeout
-! || (keylen == KEYLEN_PART_KEY && p_ttimeout))
- && (c = inchar(typebuf.tb_buf + typebuf.tb_off
- + typebuf.tb_len, 3, 25L,
- typebuf.tb_change_cnt)) == 0)
-***************
-*** 2783,2791 ****
- ? 0
- : ((typebuf.tb_len == 0
- || !(p_timeout || (p_ttimeout
-! && keylen == KL_PART_KEY)))
- ? -1L
-! : ((keylen == KL_PART_KEY && p_ttm >= 0)
- ? p_ttm
- : p_tm)), typebuf.tb_change_cnt);
-
---- 2782,2790 ----
- ? 0
- : ((typebuf.tb_len == 0
- || !(p_timeout || (p_ttimeout
-! && keylen == KEYLEN_PART_KEY)))
- ? -1L
-! : ((keylen == KEYLEN_PART_KEY && p_ttm >= 0)
- ? p_ttm
- : p_tm)), typebuf.tb_change_cnt);
-
-*** ../vim-7.3.090/src/misc1.c 2010-12-02 16:01:23.000000000 +0100
---- src/misc1.c 2010-12-30 12:28:59.000000000 +0100
-***************
-*** 3114,3123 ****
- && (!p_ttimeout || waited * 100L < (p_ttm < 0 ? p_tm : p_ttm)))
- continue;
-
-! /* found a termcode: adjust length */
-! if (n > 0)
- len = n;
-! if (len == 0) /* nothing typed yet */
- continue;
-
- /* Handle modifier and/or special key code. */
---- 3114,3124 ----
- && (!p_ttimeout || waited * 100L < (p_ttm < 0 ? p_tm : p_ttm)))
- continue;
-
-! if (n == KEYLEN_REMOVED) /* key code removed */
-! continue;
-! if (n > 0) /* found a termcode: adjust length */
- len = n;
-! if (len == 0) /* nothing typed yet */
- continue;
-
- /* Handle modifier and/or special key code. */
-*** ../vim-7.3.090/src/term.c 2010-08-15 21:57:32.000000000 +0200
---- src/term.c 2010-12-30 12:14:48.000000000 +0100
-***************
-*** 3828,3833 ****
---- 3831,3837 ----
- * Check from typebuf.tb_buf[typebuf.tb_off] to typebuf.tb_buf[typebuf.tb_off
- * + max_offset].
- * Return 0 for no match, -1 for partial match, > 0 for full match.
-+ * Return KEYLEN_REMOVED when a key code was deleted.
- * With a match, the match is removed, the replacement code is inserted in
- * typebuf.tb_buf[] and the number of characters in typebuf.tb_buf[] is
- * returned.
-***************
-*** 3845,3850 ****
---- 3849,3855 ----
- int slen = 0; /* init for GCC */
- int modslen;
- int len;
-+ int retval = 0;
- int offset;
- char_u key_name[2];
- int modifiers;
-***************
-*** 4940,4945 ****
---- 4945,4957 ----
- #endif
- string[new_slen++] = key_name[1];
- }
-+ else if (new_slen == 0 && key_name[0] == KS_EXTRA
-+ && key_name[1] == KE_IGNORE)
-+ {
-+ /* Do not put K_IGNORE into the buffer, do return KEYLEN_REMOVED
-+ * to indicate what happened. */
-+ retval = KEYLEN_REMOVED;
-+ }
- else
- {
- string[new_slen++] = K_SPECIAL;
-***************
-*** 4976,4982 ****
- (size_t)(buflen - offset));
- mch_memmove(buf + offset, string, (size_t)new_slen);
- }
-! return (len + extra + offset);
- }
-
- return 0; /* no match found */
---- 4988,4994 ----
- (size_t)(buflen - offset));
- mch_memmove(buf + offset, string, (size_t)new_slen);
- }
-! return retval == 0 ? (len + extra + offset) : retval;
- }
-
- return 0; /* no match found */
-*** ../vim-7.3.090/src/vim.h 2010-12-17 20:23:56.000000000 +0100
---- src/vim.h 2010-12-30 12:06:45.000000000 +0100
-***************
-*** 2211,2214 ****
---- 2211,2218 ----
- #define MSCR_LEFT -1
- #define MSCR_RIGHT -2
-
-+ #define KEYLEN_PART_KEY -1 /* keylen value for incomplete key-code */
-+ #define KEYLEN_PART_MAP -2 /* keylen value for incomplete mapping */
-+ #define KEYLEN_REMOVED 9999 /* keylen value for removed sequence */
-+
- #endif /* VIM__H */
-*** ../vim-7.3.090/src/version.c 2010-12-30 11:41:05.000000000 +0100
---- src/version.c 2010-12-30 12:24:56.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 91,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-56. You leave the modem speaker on after connecting because you think it
- sounds like the ocean wind...the perfect soundtrack for "surfing the net".
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.092 b/source/ap/vim/patches/7.3.092
deleted file mode 100644
index d100b00b5..000000000
--- a/source/ap/vim/patches/7.3.092
+++ /dev/null
@@ -1,62 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.092
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.092
-Problem: Resizing the window when exiting.
-Solution: Don't resize when exiting.
-Files: src/term.c
-
-
-*** ../vim-7.3.091/src/term.c 2010-12-30 12:30:26.000000000 +0100
---- src/term.c 2010-12-30 12:14:48.000000000 +0100
-***************
-*** 3053,3062 ****
- int old_Rows = Rows;
- int old_Columns = Columns;
-
-! (void)ui_get_shellsize();
-! check_shellsize();
-! if (old_Rows != Rows || old_Columns != Columns)
-! shell_resized();
- }
-
- /*
---- 3053,3065 ----
- int old_Rows = Rows;
- int old_Columns = Columns;
-
-! if (!exiting)
-! {
-! (void)ui_get_shellsize();
-! check_shellsize();
-! if (old_Rows != Rows || old_Columns != Columns)
-! shell_resized();
-! }
- }
-
- /*
-*** ../vim-7.3.091/src/version.c 2010-12-30 12:30:26.000000000 +0100
---- src/version.c 2010-12-30 14:47:04.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 92,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-57. You begin to wonder how on earth your service provider is allowed to call
- 200 hours per month "unlimited."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.093 b/source/ap/vim/patches/7.3.093
deleted file mode 100644
index 9bf0fe8a4..000000000
--- a/source/ap/vim/patches/7.3.093
+++ /dev/null
@@ -1,201 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.093
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.093
-Problem: New DLL dependencies in MingW with gcc 4.5.0.
-Solution: Add STATIC_STDCPLUS, LDFLAGS and split up WINDRES. (Guopeng Wen)
-Files: src/GvimExt/Make_ming.mak, src/Make_ming.mak
-
-
-*** ../vim-7.3.092/src/GvimExt/Make_ming.mak 2010-09-29 18:42:25.000000000 +0200
---- src/GvimExt/Make_ming.mak 2010-12-30 14:42:51.000000000 +0100
-***************
-*** 17,22 ****
---- 17,33 ----
- # check also the executables
- MINGWOLD = no
-
-+ # Link against the shared versions of libgcc/libstdc++ by default. Set
-+ # STATIC_STDCPLUS to "yes" to link against static versions instead.
-+ STATIC_STDCPLUS=no
-+ #STATIC_STDCPLUS=yes
-+
-+ # Note: -static-libstdc++ is not available until gcc 4.5.x.
-+ LDFLAGS += -shared
-+ ifeq (yes, $(STATIC_STDCPLUS))
-+ LDFLAGS += -static-libgcc -static-libstdc++
-+ endif
-+
- ifeq ($(CROSS),yes)
- DEL = rm
- ifeq ($(MINGWOLD),yes)
-***************
-*** 33,39 ****
- endif
- endif
- CXX := $(CROSS_COMPILE)g++
-! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" -DRC_INVOKED
- LIBS := -luuid
- RES := gvimext.res
- DEFFILE = gvimext_ming.def
---- 44,52 ----
- endif
- endif
- CXX := $(CROSS_COMPILE)g++
-! WINDRES := $(CROSS_COMPILE)windres
-! WINDRES_CXX = $(CXX)
-! WINDRES_FLAGS = --preprocessor="$(WINDRES_CXX) -E -xc" -DRC_INVOKED
- LIBS := -luuid
- RES := gvimext.res
- DEFFILE = gvimext_ming.def
-***************
-*** 46,52 ****
- all: all-before $(DLL) all-after
-
- $(DLL): $(OBJ) $(RES) $(DEFFILE)
-! $(CXX) -shared $(CXXFLAGS) -s -o $@ \
- -Wl,--enable-auto-image-base \
- -Wl,--enable-auto-import \
- -Wl,--whole-archive \
---- 59,65 ----
- all: all-before $(DLL) all-after
-
- $(DLL): $(OBJ) $(RES) $(DEFFILE)
-! $(CXX) $(LDFLAGS) $(CXXFLAGS) -s -o $@ \
- -Wl,--enable-auto-image-base \
- -Wl,--enable-auto-import \
- -Wl,--whole-archive \
-***************
-*** 58,64 ****
- $(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@
-
- $(RES): gvimext_ming.rc
-! $(WINDRES) --input-format=rc --output-format=coff -DMING $? -o $@
-
- clean: clean-custom
- -$(DEL) $(OBJ) $(RES) $(DLL)
---- 71,77 ----
- $(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@
-
- $(RES): gvimext_ming.rc
-! $(WINDRES) $(WINDRES_FLAGS) --input-format=rc --output-format=coff -DMING $? -o $@
-
- clean: clean-custom
- -$(DEL) $(OBJ) $(RES) $(DLL)
-*** ../vim-7.3.092/src/Make_ming.mak 2010-11-03 21:59:23.000000000 +0100
---- src/Make_ming.mak 2010-12-30 14:42:51.000000000 +0100
-***************
-*** 56,61 ****
---- 56,67 ----
- NETBEANS=$(GUI)
-
-
-+ # Link against the shared version of libstdc++ by default. Set
-+ # STATIC_STDCPLUS to "yes" to link against static version instead.
-+ ifndef STATIC_STDCPLUS
-+ STATIC_STDCPLUS=no
-+ endif
-+
- # If the user doesn't want gettext, undefine it.
- ifeq (no, $(GETTEXT))
- GETTEXT=
-***************
-*** 309,320 ****
- endif
- endif
- CC := $(CROSS_COMPILE)gcc
-! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" -DRC_INVOKED
-
- #>>>>> end of choices
- ###########################################################################
-
- CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall
-
- ifdef GETTEXT
- DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H
---- 315,328 ----
- endif
- endif
- CC := $(CROSS_COMPILE)gcc
-! WINDRES := $(CROSS_COMPILE)windres
-! WINDRES_CC = $(CC)
-
- #>>>>> end of choices
- ###########################################################################
-
- CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall
-+ WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED
-
- ifdef GETTEXT
- DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H
-***************
-*** 577,584 ****
- endif
-
- ifeq (yes, $(OLE))
-! LIB += -loleaut32 -lstdc++
- OBJ += $(OUTDIR)/if_ole.o
- endif
-
- ifeq (yes, $(MBYTE))
---- 585,597 ----
- endif
-
- ifeq (yes, $(OLE))
-! LIB += -loleaut32
- OBJ += $(OUTDIR)/if_ole.o
-+ ifeq (yes, $(STATIC_STDCPLUS))
-+ LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
-+ else
-+ LIB += -lstdc++
-+ endif
- endif
-
- ifeq (yes, $(MBYTE))
-***************
-*** 656,665 ****
- $(CC) -c $(CFLAGS) $< -o $@
-
- $(OUTDIR)/vimres.res: vim.rc version.h gui_w32_rc.h
-! $(WINDRES) $(DEFINES) vim.rc $(OUTDIR)/vimres.res
-
- $(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res
-! $(WINDRES) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o
-
- $(OUTDIR):
- $(MKDIR) $(OUTDIR)
---- 669,678 ----
- $(CC) -c $(CFLAGS) $< -o $@
-
- $(OUTDIR)/vimres.res: vim.rc version.h gui_w32_rc.h
-! $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) vim.rc $(OUTDIR)/vimres.res
-
- $(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res
-! $(WINDRES) $(WINDRES_FLAGS) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o
-
- $(OUTDIR):
- $(MKDIR) $(OUTDIR)
-*** ../vim-7.3.092/src/version.c 2010-12-30 14:47:32.000000000 +0100
---- src/version.c 2010-12-30 14:48:34.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 93,
- /**/
-
---
-Creating the world with Emacs: M-x let-there-be-light
-Creating the world with Vim: :make world
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.094 b/source/ap/vim/patches/7.3.094
deleted file mode 100644
index e95122bb4..000000000
--- a/source/ap/vim/patches/7.3.094
+++ /dev/null
@@ -1,70 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.094
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.094
-Problem: Using abs() requires type cast to int.
-Solution: Use labs() so that the value remains long. (Hong Xu)
-Files: src/screen.c
-
-
-*** ../vim-7.3.093/src/screen.c 2010-12-08 19:56:52.000000000 +0100
---- src/screen.c 2010-12-30 14:54:08.000000000 +0100
-***************
-*** 2317,2323 ****
- num = (long)lnum;
- else
- /* 'relativenumber', don't use negative numbers */
-! num = (long)abs((int)get_cursor_rel_lnum(wp, lnum));
-
- sprintf((char *)buf, "%*ld ", w, num);
- #ifdef FEAT_RIGHTLEFT
---- 2317,2323 ----
- num = (long)lnum;
- else
- /* 'relativenumber', don't use negative numbers */
-! num = labs((long)get_cursor_rel_lnum(wp, lnum));
-
- sprintf((char *)buf, "%*ld ", w, num);
- #ifdef FEAT_RIGHTLEFT
-***************
-*** 3475,3482 ****
- num = (long)lnum;
- else
- /* 'relativenumber', don't use negative numbers */
-! num = (long)abs((int)get_cursor_rel_lnum(wp,
-! lnum));
-
- sprintf((char *)extra, "%*ld ",
- number_width(wp), num);
---- 3475,3481 ----
- num = (long)lnum;
- else
- /* 'relativenumber', don't use negative numbers */
-! num = labs((long)get_cursor_rel_lnum(wp, lnum));
-
- sprintf((char *)extra, "%*ld ",
- number_width(wp), num);
-*** ../vim-7.3.093/src/version.c 2010-12-30 14:50:46.000000000 +0100
---- src/version.c 2010-12-30 14:56:32.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 94,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-58. You turn on your computer and turn off your wife.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.095 b/source/ap/vim/patches/7.3.095
deleted file mode 100644
index 2ea349241..000000000
--- a/source/ap/vim/patches/7.3.095
+++ /dev/null
@@ -1,70 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.095
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.095
-Problem: Win32: In Chinese tear-off menu doesn't work. (Weasley)
-Solution: Use menu_name_equal(). (Alex Jakushev)
-Files: src/menu.c
-
-
-*** ../vim-7.3.094/src/menu.c 2010-08-15 21:57:25.000000000 +0200
---- src/menu.c 2011-01-04 17:41:38.000000000 +0100
-***************
-*** 1512,1519 ****
- {
- #ifdef FEAT_MULTI_LANG
- if (menu->en_name != NULL
-! && (menu_namecmp(name,menu->en_name)
-! || menu_namecmp(name,menu->en_dname)))
- return TRUE;
- #endif
- return menu_namecmp(name, menu->name) || menu_namecmp(name, menu->dname);
---- 1512,1519 ----
- {
- #ifdef FEAT_MULTI_LANG
- if (menu->en_name != NULL
-! && (menu_namecmp(name, menu->en_name)
-! || menu_namecmp(name, menu->en_dname)))
- return TRUE;
- #endif
- return menu_namecmp(name, menu->name) || menu_namecmp(name, menu->dname);
-***************
-*** 2342,2348 ****
-
- while (menu != NULL)
- {
-! if (STRCMP(name, menu->name) == 0 || STRCMP(name, menu->dname) == 0)
- {
- if (menu->children == NULL)
- {
---- 2342,2348 ----
-
- while (menu != NULL)
- {
-! if (menu_name_equal(name, menu))
- {
- if (menu->children == NULL)
- {
-*** ../vim-7.3.094/src/version.c 2010-12-30 14:57:03.000000000 +0100
---- src/version.c 2011-01-04 17:43:41.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 95,
- /**/
-
---
-If your nose runs, and your feet smell, you might be upside down.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.096 b/source/ap/vim/patches/7.3.096
deleted file mode 100644
index b8b541b7e..000000000
--- a/source/ap/vim/patches/7.3.096
+++ /dev/null
@@ -1,97 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.096
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.096
-Problem: "gvim -nb" is not interruptable. Leaking file descriptor on
- netbeans connection error.
-Solution: Check for CTRL-C typed. Free file descriptor. (Xavier de Gaye)
-Files: src/netbeans.c
-
-
-*** ../vim-7.3.095/src/netbeans.c 2010-12-24 14:00:09.000000000 +0100
---- src/netbeans.c 2011-01-04 18:00:35.000000000 +0100
-***************
-*** 321,326 ****
---- 321,327 ----
- {
- nbdebug(("error in gethostbyname() in netbeans_connect()\n"));
- PERROR("gethostbyname() in netbeans_connect()");
-+ sock_close(sd);
- goto theend;
- }
- memcpy((char *)&server.sin_addr, host->h_addr, host->h_length);
-***************
-*** 370,384 ****
- || (errno == EINTR)))
- {
- nbdebug(("retrying...\n"));
-! sleep(5);
-! if (!doabort)
- {
-! ui_breakcheck();
-! if (got_int)
-! {
-! errno = EINTR;
-! break;
-! }
- }
- if (connect(sd, (struct sockaddr *)&server,
- sizeof(server)) == 0)
---- 371,382 ----
- || (errno == EINTR)))
- {
- nbdebug(("retrying...\n"));
-! mch_delay(3000L, TRUE);
-! ui_breakcheck();
-! if (got_int)
- {
-! errno = EINTR;
-! break;
- }
- if (connect(sd, (struct sockaddr *)&server,
- sizeof(server)) == 0)
-***************
-*** 393,398 ****
---- 391,397 ----
- /* Get here when the server can't be found. */
- nbdebug(("Cannot connect to Netbeans #2\n"));
- PERROR(_("Cannot connect to Netbeans #2"));
-+ sock_close(sd);
- if (doabort)
- getout(1);
- goto theend;
-***************
-*** 403,408 ****
---- 402,408 ----
- {
- nbdebug(("Cannot connect to Netbeans\n"));
- PERROR(_("Cannot connect to Netbeans"));
-+ sock_close(sd);
- if (doabort)
- getout(1);
- goto theend;
-*** ../vim-7.3.095/src/version.c 2011-01-04 17:49:25.000000000 +0100
---- src/version.c 2011-01-04 18:09:46.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 96,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-85. Choice between paying Compuserve bill and paying for kids education
- is a no brainer -- although a bit painful for your kids.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.097 b/source/ap/vim/patches/7.3.097
deleted file mode 100644
index 2ee20a32f..000000000
--- a/source/ap/vim/patches/7.3.097
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.097
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.097
-Problem: Using ":call" inside "if 0" does not see that a function returns a
- Dict and gives error for "." as string concatenation.
-Solution: Use eval0() to skip over the expression. (Yasuhiro Matsumoto)
-Files: src/eval.c
-
-
-*** ../vim-7.3.096/src/eval.c 2010-12-17 18:06:00.000000000 +0100
---- src/eval.c 2011-01-04 18:54:27.000000000 +0100
-***************
-*** 3335,3340 ****
---- 3335,3349 ----
- int failed = FALSE;
- funcdict_T fudi;
-
-+ if (eap->skip)
-+ {
-+ /* trans_function_name() doesn't work well when skipping, use eval0()
-+ * instead to skip to any following command, e.g. for:
-+ * :if 0 | call dict.foo().bar() | endif */
-+ eval0(eap->arg, &rettv, &eap->nextcmd, FALSE);
-+ return;
-+ }
-+
- tofree = trans_function_name(&arg, eap->skip, TFN_INT, &fudi);
- if (fudi.fd_newkey != NULL)
- {
-*** ../vim-7.3.096/src/version.c 2011-01-04 18:11:39.000000000 +0100
---- src/version.c 2011-01-04 19:00:21.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 97,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-86. E-mail Deficiency Depression (EDD) forces you to e-mail yourself.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.098 b/source/ap/vim/patches/7.3.098
deleted file mode 100644
index 9e6435ebf..000000000
--- a/source/ap/vim/patches/7.3.098
+++ /dev/null
@@ -1,61 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.098
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.098
-Problem: Function that ignores error still causes called_emsg to be set.
- E.g. when expand() fails the status line is disabled.
-Solution: Move check for emsg_not_now() up. (James Vega)
-Files: src/message.c
-
-
-*** ../vim-7.3.097/src/message.c 2010-10-20 21:22:17.000000000 +0200
---- src/message.c 2011-01-04 19:19:04.000000000 +0100
-***************
-*** 569,574 ****
---- 569,578 ----
- int severe;
- #endif
-
-+ /* Skip this if not giving error messages at the moment. */
-+ if (emsg_not_now())
-+ return TRUE;
-+
- called_emsg = TRUE;
- ex_exitval = 1;
-
-***************
-*** 581,590 ****
- emsg_severe = FALSE;
- #endif
-
-- /* Skip this if not giving error messages at the moment. */
-- if (emsg_not_now())
-- return TRUE;
--
- if (!emsg_off || vim_strchr(p_debug, 't') != NULL)
- {
- #ifdef FEAT_EVAL
---- 585,590 ----
-*** ../vim-7.3.097/src/version.c 2011-01-04 19:03:22.000000000 +0100
---- src/version.c 2011-01-04 19:24:30.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 98,
- /**/
-
---
-Ed's Radiator Shop: The Best Place in Town to Take a Leak.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.099 b/source/ap/vim/patches/7.3.099
deleted file mode 100644
index 84aa2a3f9..000000000
--- a/source/ap/vim/patches/7.3.099
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.099
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.099
-Problem: Crash when splitting a window with zero height. (Yukihiro
- Nakadaira)
-Solution: Don't set the fraction in a window with zero height.
-Files: src/window.c
-
-
-*** ../vim-7.3.098/src/window.c 2010-12-17 17:35:05.000000000 +0100
---- src/window.c 2011-01-08 14:41:32.000000000 +0100
-***************
-*** 986,992 ****
-
- /* Set w_fraction now so that the cursor keeps the same relative
- * vertical position. */
-! set_fraction(oldwin);
- wp->w_fraction = oldwin->w_fraction;
-
- #ifdef FEAT_VERTSPLIT
---- 986,993 ----
-
- /* Set w_fraction now so that the cursor keeps the same relative
- * vertical position. */
-! if (oldwin->w_height > 0)
-! set_fraction(oldwin);
- wp->w_fraction = oldwin->w_fraction;
-
- #ifdef FEAT_VERTSPLIT
-*** ../vim-7.3.098/src/version.c 2011-01-04 19:25:46.000000000 +0100
---- src/version.c 2011-01-08 14:44:02.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 99,
- /**/
-
---
-From "know your smileys":
- 8-O "Omigod!!" (done "rm -rf *" ?)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.100 b/source/ap/vim/patches/7.3.100
deleted file mode 100644
index 2b6e8b04e..000000000
--- a/source/ap/vim/patches/7.3.100
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.100
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.100
-Problem: When using :normal v:count isn't set.
-Solution: Call normal_cmd() with toplevel set to TRUE.
-Files: src/ex_docmd.c
-
-
-*** ../vim-7.3.099/src/ex_docmd.c 2010-12-02 16:01:23.000000000 +0100
---- src/ex_docmd.c 2011-01-06 17:23:43.000000000 +0100
-***************
-*** 9310,9316 ****
- && !got_int)
- {
- update_topline_cursor();
-! normal_cmd(&oa, FALSE); /* execute a Normal mode cmd */
- }
- }
- #endif
---- 9310,9316 ----
- && !got_int)
- {
- update_topline_cursor();
-! normal_cmd(&oa, TRUE); /* execute a Normal mode cmd */
- }
- }
- #endif
-*** ../vim-7.3.099/src/version.c 2011-01-08 14:45:57.000000000 +0100
---- src/version.c 2011-01-17 19:49:07.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 100,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-109. You actually read -- and enjoy -- lists like this.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.101 b/source/ap/vim/patches/7.3.101
deleted file mode 100644
index 8869baf1a..000000000
--- a/source/ap/vim/patches/7.3.101
+++ /dev/null
@@ -1,92 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.1
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.101
-Problem: ino_t defined with wrong size.
-Solution: Move including auto/config.h before other includes. (Marius
- Geminas)
-Files: src/if_ruby.c, src/if_lua.c
-
-
-*** ../vim-7.3.100/src/if_ruby.c 2010-12-24 13:39:29.000000000 +0100
---- src/if_ruby.c 2011-01-09 14:43:14.000000000 +0100
-***************
-*** 11,23 ****
- * See README.txt for an overview of the Vim source code.
- */
-
-- #include <stdio.h>
-- #include <string.h>
--
- #ifdef HAVE_CONFIG_H
- # include "auto/config.h"
- #endif
-
- #ifdef _WIN32
- # if !defined(DYNAMIC_RUBY_VER) || (DYNAMIC_RUBY_VER < 18)
- # define NT
---- 11,23 ----
- * See README.txt for an overview of the Vim source code.
- */
-
- #ifdef HAVE_CONFIG_H
- # include "auto/config.h"
- #endif
-
-+ #include <stdio.h>
-+ #include <string.h>
-+
- #ifdef _WIN32
- # if !defined(DYNAMIC_RUBY_VER) || (DYNAMIC_RUBY_VER < 18)
- # define NT
-*** ../vim-7.3.100/src/if_lua.c 2010-10-23 14:02:48.000000000 +0200
---- src/if_lua.c 2011-01-09 14:46:46.000000000 +0100
-***************
-*** 9,20 ****
- * See README.txt for an overview of the Vim source code.
- */
-
-! #include <stdio.h>
-! #include <string.h>
- #include <lua.h>
- #include <lualib.h>
- #include <lauxlib.h>
-- #include "vim.h"
-
- /* Only do the following when the feature is enabled. Needed for "make
- * depend". */
---- 9,19 ----
- * See README.txt for an overview of the Vim source code.
- */
-
-! #include "vim.h"
-!
- #include <lua.h>
- #include <lualib.h>
- #include <lauxlib.h>
-
- /* Only do the following when the feature is enabled. Needed for "make
- * depend". */
-*** ../vim-7.3.100/src/version.c 2011-01-17 19:50:01.000000000 +0100
---- src/version.c 2011-01-17 19:51:40.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 101,
- /**/
-
---
-In a world without walls and borders, who needs windows and gates?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.102 b/source/ap/vim/patches/7.3.102
deleted file mode 100644
index 785e597b2..000000000
--- a/source/ap/vim/patches/7.3.102
+++ /dev/null
@@ -1,615 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.102
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.102
-Problem: When using ":make", typing the next command and then getting the
- "reload" prompt the next command is (partly) eaten by the reload
- prompt.
-Solution: Accept ':' as a special character at the reload prompt to accept
- the default choice and execute the command.
-Files: src/eval.c, src/fileio.c, src/gui.c, src/gui_xmdlg.c,
- src/memline.c, src/message.c, src/proto/message.pro,
- src/gui_athena.c, src/gui_gtk.c, src/gui_mac.c, src/gui_motif.c,
- src/gui_photon.c, src/gui_w16.c, src/gui_w32.c, src/os_mswin.c
- src/proto/gui_athena.pro, src/proto/gui_gtk.pro,
- src/proto/gui_mac.pro, src/proto/gui_motif.pro,
- src/proto/gui_photon.pro, src/proto/gui_w16.pro,
- src/proto/gui_w32.pro
-
-
-*** ../vim-7.3.101/src/eval.c 2011-01-04 19:03:22.000000000 +0100
---- src/eval.c 2011-01-16 00:14:21.000000000 +0100
-***************
-*** 9323,9329 ****
-
- if (!error)
- rettv->vval.v_number = do_dialog(type, NULL, message, buttons,
-! def, NULL);
- #endif
- }
-
---- 9323,9329 ----
-
- if (!error)
- rettv->vval.v_number = do_dialog(type, NULL, message, buttons,
-! def, NULL, FALSE);
- #endif
- }
-
-***************
-*** 12744,12750 ****
- IObuff[0] = NUL;
- if (message != NULL && defstr != NULL
- && do_dialog(VIM_QUESTION, NULL, message,
-! (char_u *)_("&OK\n&Cancel"), 1, IObuff) == 1)
- rettv->vval.v_string = vim_strsave(IObuff);
- else
- {
---- 12744,12750 ----
- IObuff[0] = NUL;
- if (message != NULL && defstr != NULL
- && do_dialog(VIM_QUESTION, NULL, message,
-! (char_u *)_("&OK\n&Cancel"), 1, IObuff, FALSE) == 1)
- rettv->vval.v_string = vim_strsave(IObuff);
- else
- {
-*** ../vim-7.3.101/src/fileio.c 2010-12-17 18:06:00.000000000 +0100
---- src/fileio.c 2011-01-16 00:14:37.000000000 +0100
-***************
-*** 7008,7014 ****
- STRCAT(tbuf, mesg2);
- }
- if (do_dialog(VIM_WARNING, (char_u *)_("Warning"), tbuf,
-! (char_u *)_("&OK\n&Load File"), 1, NULL) == 2)
- reload = TRUE;
- }
- else
---- 7008,7014 ----
- STRCAT(tbuf, mesg2);
- }
- if (do_dialog(VIM_WARNING, (char_u *)_("Warning"), tbuf,
-! (char_u *)_("&OK\n&Load File"), 1, NULL, TRUE) == 2)
- reload = TRUE;
- }
- else
-*** ../vim-7.3.101/src/gui.c 2010-10-20 19:17:43.000000000 +0200
---- src/gui.c 2011-01-16 00:14:56.000000000 +0100
-***************
-*** 4903,4909 ****
- if (STRLEN(p) > 2000)
- STRCPY(p + 2000 - 14, "...(truncated)");
- (void)do_dialog(VIM_ERROR, (char_u *)_("Error"),
-! p, (char_u *)_("&Ok"), 1, NULL);
- break;
- }
- ga_clear(&error_ga);
---- 4903,4909 ----
- if (STRLEN(p) > 2000)
- STRCPY(p + 2000 - 14, "...(truncated)");
- (void)do_dialog(VIM_ERROR, (char_u *)_("Error"),
-! p, (char_u *)_("&Ok"), 1, NULL, FALSE);
- break;
- }
- ga_clear(&error_ga);
-*** ../vim-7.3.101/src/gui_xmdlg.c 2010-08-15 21:57:32.000000000 +0200
---- src/gui_xmdlg.c 2011-01-16 00:15:33.000000000 +0100
-***************
-*** 688,694 ****
- do_dialog(VIM_ERROR,
- (char_u *)_("Error"),
- (char_u *)_("Invalid font specification"),
-! (char_u *)_("&Dismiss"), 1, NULL);
-
- return True;
- }
---- 688,694 ----
- do_dialog(VIM_ERROR,
- (char_u *)_("Error"),
- (char_u *)_("Invalid font specification"),
-! (char_u *)_("&Dismiss"), 1, NULL, FALSE);
-
- return True;
- }
-***************
-*** 807,813 ****
- do_dialog(VIM_ERROR,
- (char_u *)_("Error"),
- (char_u *)_("Invalid font specification"),
-! (char_u *)_("&Dismiss"), 1, NULL);
- XFreeFontNames(name);
- }
- else
---- 807,813 ----
- do_dialog(VIM_ERROR,
- (char_u *)_("Error"),
- (char_u *)_("Invalid font specification"),
-! (char_u *)_("&Dismiss"), 1, NULL, FALSE);
- XFreeFontNames(name);
- }
- else
-*** ../vim-7.3.101/src/memline.c 2010-12-17 20:23:56.000000000 +0100
---- src/memline.c 2011-01-16 00:15:47.000000000 +0100
-***************
-*** 4516,4522 ****
- process_still_running
- ? (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Quit\n&Abort") :
- # endif
-! (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Delete it\n&Quit\n&Abort"), 1, NULL);
-
- # if defined(UNIX) || defined(__EMX__) || defined(VMS)
- if (process_still_running && choice >= 4)
---- 4516,4522 ----
- process_still_running
- ? (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Quit\n&Abort") :
- # endif
-! (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Delete it\n&Quit\n&Abort"), 1, NULL, FALSE);
-
- # if defined(UNIX) || defined(__EMX__) || defined(VMS)
- if (process_still_running && choice >= 4)
-*** ../vim-7.3.101/src/message.c 2011-01-04 19:25:46.000000000 +0100
---- src/message.c 2011-01-17 19:57:30.000000000 +0100
-***************
-*** 3315,3321 ****
- * different letter.
- */
- int
-! do_dialog(type, title, message, buttons, dfltbutton, textfield)
- int type UNUSED;
- char_u *title UNUSED;
- char_u *message;
---- 3315,3321 ----
- * different letter.
- */
- int
-! do_dialog(type, title, message, buttons, dfltbutton, textfield, ex_cmd)
- int type UNUSED;
- char_u *title UNUSED;
- char_u *message;
-***************
-*** 3323,3328 ****
---- 3323,3330 ----
- int dfltbutton;
- char_u *textfield UNUSED; /* IObuff for inputdialog(), NULL
- otherwise */
-+ int ex_cmd; /* when TRUE pressing : accepts default and starts
-+ Ex command */
- {
- int oldState;
- int retval = 0;
-***************
-*** 3341,3347 ****
- if (gui.in_use && vim_strchr(p_go, GO_CONDIALOG) == NULL)
- {
- c = gui_mch_dialog(type, title, message, buttons, dfltbutton,
-! textfield);
- /* avoid a hit-enter prompt without clearing the cmdline */
- need_wait_return = FALSE;
- emsg_on_display = FALSE;
---- 3343,3349 ----
- if (gui.in_use && vim_strchr(p_go, GO_CONDIALOG) == NULL)
- {
- c = gui_mch_dialog(type, title, message, buttons, dfltbutton,
-! textfield, ex_cmd);
- /* avoid a hit-enter prompt without clearing the cmdline */
- need_wait_return = FALSE;
- emsg_on_display = FALSE;
-***************
-*** 3388,3393 ****
---- 3390,3402 ----
- default: /* Could be a hotkey? */
- if (c < 0) /* special keys are ignored here */
- continue;
-+ if (c == ':' && ex_cmd)
-+ {
-+ retval = dfltbutton;
-+ ins_char_typebuf(':');
-+ break;
-+ }
-+
- /* Make the character lowercase, as chars in "hotkeys" are. */
- c = MB_TOLOWER(c);
- retval = 1;
-***************
-*** 3661,3667 ****
- if (do_dialog(type,
- title == NULL ? (char_u *)_("Question") : title,
- message,
-! (char_u *)_("&Yes\n&No"), dflt, NULL) == 1)
- return VIM_YES;
- return VIM_NO;
- }
---- 3670,3676 ----
- if (do_dialog(type,
- title == NULL ? (char_u *)_("Question") : title,
- message,
-! (char_u *)_("&Yes\n&No"), dflt, NULL, FALSE) == 1)
- return VIM_YES;
- return VIM_NO;
- }
-***************
-*** 3676,3682 ****
- switch (do_dialog(type,
- title == NULL ? (char_u *)_("Question") : title,
- message,
-! (char_u *)_("&Yes\n&No\n&Cancel"), dflt, NULL))
- {
- case 1: return VIM_YES;
- case 2: return VIM_NO;
---- 3685,3691 ----
- switch (do_dialog(type,
- title == NULL ? (char_u *)_("Question") : title,
- message,
-! (char_u *)_("&Yes\n&No\n&Cancel"), dflt, NULL, FALSE))
- {
- case 1: return VIM_YES;
- case 2: return VIM_NO;
-***************
-*** 3695,3701 ****
- title == NULL ? (char_u *)"Question" : title,
- message,
- (char_u *)_("&Yes\n&No\nSave &All\n&Discard All\n&Cancel"),
-! dflt, NULL))
- {
- case 1: return VIM_YES;
- case 2: return VIM_NO;
---- 3704,3710 ----
- title == NULL ? (char_u *)"Question" : title,
- message,
- (char_u *)_("&Yes\n&No\nSave &All\n&Discard All\n&Cancel"),
-! dflt, NULL, FALSE))
- {
- case 1: return VIM_YES;
- case 2: return VIM_NO;
-*** ../vim-7.3.101/src/proto/message.pro 2010-10-20 21:22:17.000000000 +0200
---- src/proto/message.pro 2011-01-16 00:22:36.000000000 +0100
-***************
-*** 64,70 ****
- int verbose_open __ARGS((void));
- void give_warning __ARGS((char_u *message, int hl));
- void msg_advance __ARGS((int col));
-! int do_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
- void display_confirm_msg __ARGS((void));
- int vim_dialog_yesno __ARGS((int type, char_u *title, char_u *message, int dflt));
- int vim_dialog_yesnocancel __ARGS((int type, char_u *title, char_u *message, int dflt));
---- 64,70 ----
- int verbose_open __ARGS((void));
- void give_warning __ARGS((char_u *message, int hl));
- void msg_advance __ARGS((int col));
-! int do_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
- void display_confirm_msg __ARGS((void));
- int vim_dialog_yesno __ARGS((int type, char_u *title, char_u *message, int dflt));
- int vim_dialog_yesnocancel __ARGS((int type, char_u *title, char_u *message, int dflt));
-*** ../vim-7.3.101/src/gui_athena.c 2010-08-15 21:57:25.000000000 +0200
---- src/gui_athena.c 2011-01-16 00:18:47.000000000 +0100
-***************
-*** 2117,2129 ****
- }
-
- int
-! gui_mch_dialog(type, title, message, buttons, dfltbutton, textfield)
- int type UNUSED;
- char_u *title;
- char_u *message;
- char_u *buttons;
- int dfltbutton UNUSED;
- char_u *textfield;
- {
- char_u *buts;
- char_u *p, *next;
---- 2117,2130 ----
- }
-
- int
-! gui_mch_dialog(type, title, message, buttons, dfltbutton, textfield, ex_cmd)
- int type UNUSED;
- char_u *title;
- char_u *message;
- char_u *buttons;
- int dfltbutton UNUSED;
- char_u *textfield;
-+ int ex_cmd UNUSED;
- {
- char_u *buts;
- char_u *p, *next;
-*** ../vim-7.3.101/src/gui_gtk.c 2010-12-08 13:11:15.000000000 +0100
---- src/gui_gtk.c 2011-01-16 00:24:44.000000000 +0100
-***************
-*** 1268,1274 ****
- char_u *message, /* message text */
- char_u *buttons, /* names of buttons */
- int def_but, /* default button */
-! char_u *textfield) /* text for textfield or NULL */
- {
- GtkWidget *dialog;
- GtkWidget *entry = NULL;
---- 1268,1275 ----
- char_u *message, /* message text */
- char_u *buttons, /* names of buttons */
- int def_but, /* default button */
-! char_u *textfield, /* text for textfield or NULL */
-! int ex_cmd UNUSED)
- {
- GtkWidget *dialog;
- GtkWidget *entry = NULL;
-*** ../vim-7.3.101/src/gui_mac.c 2010-09-21 17:34:26.000000000 +0200
---- src/gui_mac.c 2011-01-16 00:19:52.000000000 +0100
-***************
-*** 5583,5589 ****
- char_u *message,
- char_u *buttons,
- int dfltbutton,
-! char_u *textfield)
- {
- Handle buttonDITL;
- Handle iconDITL;
---- 5583,5590 ----
- char_u *message,
- char_u *buttons,
- int dfltbutton,
-! char_u *textfield,
-! int ex_cmd)
- {
- Handle buttonDITL;
- Handle iconDITL;
-*** ../vim-7.3.101/src/gui_motif.c 2010-08-15 21:57:28.000000000 +0200
---- src/gui_motif.c 2011-01-16 00:20:14.000000000 +0100
-***************
-*** 2549,2561 ****
- #endif
-
- int
-! gui_mch_dialog(type, title, message, button_names, dfltbutton, textfield)
- int type UNUSED;
- char_u *title;
- char_u *message;
- char_u *button_names;
- int dfltbutton;
- char_u *textfield; /* buffer of size IOSIZE */
- {
- char_u *buts;
- char_u *p, *next;
---- 2549,2562 ----
- #endif
-
- int
-! gui_mch_dialog(type, title, message, button_names, dfltbutton, textfield, ex_cmd)
- int type UNUSED;
- char_u *title;
- char_u *message;
- char_u *button_names;
- int dfltbutton;
- char_u *textfield; /* buffer of size IOSIZE */
-+ int ex_cmd UNUSED;
- {
- char_u *buts;
- char_u *p, *next;
-*** ../vim-7.3.101/src/gui_photon.c 2010-08-15 21:57:27.000000000 +0200
---- src/gui_photon.c 2011-01-16 00:20:28.000000000 +0100
-***************
-*** 1502,1508 ****
- char_u *message,
- char_u *buttons,
- int default_button,
-! char_u *textfield)
- {
- char_u *str;
- char_u **button_array;
---- 1502,1509 ----
- char_u *message,
- char_u *buttons,
- int default_button,
-! char_u *textfield,
-! int ex_cmd)
- {
- char_u *str;
- char_u **button_array;
-*** ../vim-7.3.101/src/gui_w16.c 2010-08-15 21:57:28.000000000 +0200
---- src/gui_w16.c 2011-01-16 00:20:48.000000000 +0100
-***************
-*** 1098,1104 ****
- char_u *message,
- char_u *buttons,
- int dfltbutton,
-! char_u *textfield)
- {
- FARPROC dp;
- LPWORD p, pnumitems;
---- 1098,1105 ----
- char_u *message,
- char_u *buttons,
- int dfltbutton,
-! char_u *textfield,
-! int ex_cmd)
- {
- FARPROC dp;
- LPWORD p, pnumitems;
-*** ../vim-7.3.101/src/gui_w32.c 2010-10-27 12:33:12.000000000 +0200
---- src/gui_w32.c 2011-01-16 00:21:08.000000000 +0100
-***************
-*** 3005,3011 ****
- char_u *message,
- char_u *buttons,
- int dfltbutton,
-! char_u *textfield)
- {
- WORD *p, *pdlgtemplate, *pnumitems;
- DWORD *dwp;
---- 3005,3012 ----
- char_u *message,
- char_u *buttons,
- int dfltbutton,
-! char_u *textfield,
-! int ex_cmd)
- {
- WORD *p, *pdlgtemplate, *pnumitems;
- DWORD *dwp;
-*** ../vim-7.3.101/src/os_mswin.c 2010-12-17 20:23:56.000000000 +0100
---- src/os_mswin.c 2011-01-16 00:21:41.000000000 +0100
-***************
-*** 593,599 ****
- gui.starting ? (char_u *)_("Message") :
- #endif
- (char_u *)_("Error"),
-! p, (char_u *)_("&Ok"), 1, NULL);
- break;
- }
- ga_clear(&error_ga);
---- 593,599 ----
- gui.starting ? (char_u *)_("Message") :
- #endif
- (char_u *)_("Error"),
-! p, (char_u *)_("&Ok"), 1, NULL, FALSE);
- break;
- }
- ga_clear(&error_ga);
-*** ../vim-7.3.101/src/proto/gui_athena.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/gui_athena.pro 2011-01-16 00:23:00.000000000 +0100
-***************
-*** 27,31 ****
- void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
- Window gui_x11_get_wid __ARGS((void));
- char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
-! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
- /* vim: set ft=c : */
---- 27,31 ----
- void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
- Window gui_x11_get_wid __ARGS((void));
- char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
-! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
- /* vim: set ft=c : */
-*** ../vim-7.3.101/src/proto/gui_gtk.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/gui_gtk.pro 2011-01-16 00:22:57.000000000 +0100
-***************
-*** 13,19 ****
- void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
- char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
- char_u *gui_mch_browsedir __ARGS((char_u *title, char_u *initdir));
-! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int def_but, char_u *textfield));
- void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
- void gui_make_popup __ARGS((char_u *path_name, int mouse_pos));
- void gui_mch_find_dialog __ARGS((exarg_T *eap));
---- 13,19 ----
- void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
- char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
- char_u *gui_mch_browsedir __ARGS((char_u *title, char_u *initdir));
-! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int def_but, char_u *textfield, int ex_cmd));
- void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
- void gui_make_popup __ARGS((char_u *path_name, int mouse_pos));
- void gui_mch_find_dialog __ARGS((exarg_T *eap));
-*** ../vim-7.3.101/src/proto/gui_mac.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/gui_mac.pro 2011-01-16 00:31:46.000000000 +0100
-***************
-*** 81,87 ****
- int gui_mch_get_mouse_y __ARGS((void));
- void gui_mch_setmouse __ARGS((int x, int y));
- void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
-! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
- char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
- void gui_mch_set_foreground __ARGS((void));
- void gui_mch_show_tabline __ARGS((int showit));
---- 81,87 ----
- int gui_mch_get_mouse_y __ARGS((void));
- void gui_mch_setmouse __ARGS((int x, int y));
- void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
-! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
- char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
- void gui_mch_set_foreground __ARGS((void));
- void gui_mch_show_tabline __ARGS((int showit));
-*** ../vim-7.3.101/src/proto/gui_motif.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/gui_motif.pro 2011-01-16 00:22:58.000000000 +0100
-***************
-*** 29,35 ****
- void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
- Window gui_x11_get_wid __ARGS((void));
- char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
-! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *button_names, int dfltbutton, char_u *textfield));
- void gui_mch_enable_footer __ARGS((int showit));
- void gui_mch_set_footer __ARGS((char_u *s));
- void gui_mch_show_toolbar __ARGS((int showit));
---- 29,35 ----
- void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
- Window gui_x11_get_wid __ARGS((void));
- char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
-! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *button_names, int dfltbutton, char_u *textfield, int ex_cmd));
- void gui_mch_enable_footer __ARGS((int showit));
- void gui_mch_set_footer __ARGS((char_u *s));
- void gui_mch_show_toolbar __ARGS((int showit));
-*** ../vim-7.3.101/src/proto/gui_photon.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/gui_photon.pro 2011-01-16 00:32:33.000000000 +0100
-***************
-*** 8,14 ****
- void gui_mch_update __ARGS((void));
- int gui_mch_wait_for_chars __ARGS((int wtime));
- char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *default_name, char_u *ext, char_u *initdir, char_u *filter));
-! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int default_button, char_u *textfield));
- int gui_mch_get_winpos __ARGS((int *x, int *y));
- void gui_mch_set_winpos __ARGS((int x, int y));
- void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height, int direction));
---- 8,14 ----
- void gui_mch_update __ARGS((void));
- int gui_mch_wait_for_chars __ARGS((int wtime));
- char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *default_name, char_u *ext, char_u *initdir, char_u *filter));
-! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int default_button, char_u *textfield, int ex_cmd));
- int gui_mch_get_winpos __ARGS((int *x, int *y));
- void gui_mch_set_winpos __ARGS((int x, int y));
- void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height, int direction));
-*** ../vim-7.3.101/src/proto/gui_w16.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/gui_w16.pro 2011-01-16 00:34:36.000000000 +0100
-***************
-*** 74,79 ****
- void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
- void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
- void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
-! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
- void gui_mch_set_foreground __ARGS((void));
- /* vim: set ft=c : */
---- 74,79 ----
- void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
- void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
- void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
-! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
- void gui_mch_set_foreground __ARGS((void));
- /* vim: set ft=c : */
-*** ../vim-7.3.101/src/proto/gui_w32.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/gui_w32.pro 2011-01-16 00:33:12.000000000 +0100
-***************
-*** 81,87 ****
- void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
- void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
- void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
-! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
- void gui_mch_set_foreground __ARGS((void));
- void gui_mch_drawsign __ARGS((int row, int col, int typenr));
- void *gui_mch_register_sign __ARGS((char_u *signfile));
---- 81,87 ----
- void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
- void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
- void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
-! int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
- void gui_mch_set_foreground __ARGS((void));
- void gui_mch_drawsign __ARGS((int row, int col, int typenr));
- void *gui_mch_register_sign __ARGS((char_u *signfile));
-*** ../vim-7.3.101/src/version.c 2011-01-17 19:53:20.000000000 +0100
---- src/version.c 2011-01-17 20:05:02.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 102,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-110. You actually volunteer to become your employer's webmaster.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.103 b/source/ap/vim/patches/7.3.103
deleted file mode 100644
index f9e086fa8..000000000
--- a/source/ap/vim/patches/7.3.103
+++ /dev/null
@@ -1,145 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.103
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.103
-Problem: Changing 'fileformat' and then using ":w" in an empty file sets
- the 'modified' option.
-Solution: In unchanged() don't ignore 'ff' for an empty file.
-Files: src/misc1.c, src/option.c, src/proto/option.pro, src/undo.c
-
-
-*** ../vim-7.3.102/src/misc1.c 2010-12-30 12:30:26.000000000 +0100
---- src/misc1.c 2011-01-22 00:00:24.000000000 +0100
-***************
-*** 2919,2925 ****
- buf_T *buf;
- int ff; /* also reset 'fileformat' */
- {
-! if (buf->b_changed || (ff && file_ff_differs(buf)))
- {
- buf->b_changed = 0;
- ml_setflags(buf);
---- 2919,2925 ----
- buf_T *buf;
- int ff; /* also reset 'fileformat' */
- {
-! if (buf->b_changed || (ff && file_ff_differs(buf, FALSE)))
- {
- buf->b_changed = 0;
- ml_setflags(buf);
-*** ../vim-7.3.102/src/option.c 2010-12-02 21:43:10.000000000 +0100
---- src/option.c 2011-01-22 00:03:40.000000000 +0100
-***************
-*** 11296,11311 ****
- * from when editing started (save_file_ff() called).
- * Also when 'endofline' was changed and 'binary' is set, or when 'bomb' was
- * changed and 'binary' is not set.
-! * Don't consider a new, empty buffer to be changed.
- */
- int
-! file_ff_differs(buf)
- buf_T *buf;
- {
- /* In a buffer that was never loaded the options are not valid. */
- if (buf->b_flags & BF_NEVERLOADED)
- return FALSE;
-! if ((buf->b_flags & BF_NEW)
- && buf->b_ml.ml_line_count == 1
- && *ml_get_buf(buf, (linenr_T)1, FALSE) == NUL)
- return FALSE;
---- 11296,11314 ----
- * from when editing started (save_file_ff() called).
- * Also when 'endofline' was changed and 'binary' is set, or when 'bomb' was
- * changed and 'binary' is not set.
-! * When "ignore_empty" is true don't consider a new, empty buffer to be
-! * changed.
- */
- int
-! file_ff_differs(buf, ignore_empty)
- buf_T *buf;
-+ int ignore_empty;
- {
- /* In a buffer that was never loaded the options are not valid. */
- if (buf->b_flags & BF_NEVERLOADED)
- return FALSE;
-! if (ignore_empty
-! && (buf->b_flags & BF_NEW)
- && buf->b_ml.ml_line_count == 1
- && *ml_get_buf(buf, (linenr_T)1, FALSE) == NUL)
- return FALSE;
-*** ../vim-7.3.102/src/proto/option.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/option.pro 2011-01-22 00:04:35.000000000 +0100
-***************
-*** 54,59 ****
- int option_was_set __ARGS((char_u *name));
- int can_bs __ARGS((int what));
- void save_file_ff __ARGS((buf_T *buf));
-! int file_ff_differs __ARGS((buf_T *buf));
- int check_ff_value __ARGS((char_u *p));
- /* vim: set ft=c : */
---- 54,59 ----
- int option_was_set __ARGS((char_u *name));
- int can_bs __ARGS((int what));
- void save_file_ff __ARGS((buf_T *buf));
-! int file_ff_differs __ARGS((buf_T *buf, int ignore_empty));
- int check_ff_value __ARGS((char_u *p));
- /* vim: set ft=c : */
-*** ../vim-7.3.102/src/undo.c 2010-12-17 18:06:00.000000000 +0100
---- src/undo.c 2011-01-22 00:03:58.000000000 +0100
-***************
-*** 3304,3310 ****
- #ifdef FEAT_QUICKFIX
- !bt_dontwrite(buf) &&
- #endif
-! (buf->b_changed || file_ff_differs(buf));
- }
-
- int
---- 3304,3310 ----
- #ifdef FEAT_QUICKFIX
- !bt_dontwrite(buf) &&
- #endif
-! (buf->b_changed || file_ff_differs(buf, TRUE));
- }
-
- int
-***************
-*** 3314,3320 ****
- #ifdef FEAT_QUICKFIX
- !bt_dontwrite(curbuf) &&
- #endif
-! (curbuf->b_changed || file_ff_differs(curbuf));
- }
-
- #if defined(FEAT_EVAL) || defined(PROTO)
---- 3314,3320 ----
- #ifdef FEAT_QUICKFIX
- !bt_dontwrite(curbuf) &&
- #endif
-! (curbuf->b_changed || file_ff_differs(curbuf, TRUE));
- }
-
- #if defined(FEAT_EVAL) || defined(PROTO)
-*** ../vim-7.3.102/src/version.c 2011-01-17 20:08:03.000000000 +0100
---- src/version.c 2011-01-22 00:07:56.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 103,
- /**/
-
---
-In a world without fences, who needs Gates and Windows?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.104 b/source/ap/vim/patches/7.3.104
deleted file mode 100644
index 1e719bd7b..000000000
--- a/source/ap/vim/patches/7.3.104
+++ /dev/null
@@ -1,50 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.104
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Problem: Conceal: using Tab for cchar causes problems. (ZyX)
-Solution: Do not accept a control character for cchar.
-Files: src/syntax.c
-
-
-*** ../vim-7.3.103/src/syntax.c 2010-09-29 18:32:47.000000000 +0200
---- src/syntax.c 2011-01-22 00:50:20.000000000 +0100
-***************
-*** 4537,4542 ****
---- 4537,4549 ----
- ;
- #endif
- }
-+ #ifdef FEAT_CONCEAL
-+ if (!vim_isprintc_strict(*conceal_char))
-+ {
-+ EMSG(_("E844: invalid cchar value"));
-+ return NULL;
-+ }
-+ #endif
- arg = skipwhite(arg + 7);
- }
- else
-*** ../vim-7.3.103/src/version.c 2011-01-22 00:11:42.000000000 +0100
---- src/version.c 2011-01-22 00:54:56.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 104,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-132. You come back and check this list every half-hour.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.105 b/source/ap/vim/patches/7.3.105
deleted file mode 100644
index abf69ac5f..000000000
--- a/source/ap/vim/patches/7.3.105
+++ /dev/null
@@ -1,50 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.105
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.105
-Problem: Can't get the value of "b:changedtick" with getbufvar().
-Solution: Make it work. (Christian Brabandt)
-Files: src/eval.c
-
-
-*** ../vim-7.3.104/src/eval.c 2011-01-17 20:08:03.000000000 +0100
---- src/eval.c 2011-01-22 01:10:42.000000000 +0100
-***************
-*** 10866,10871 ****
---- 10866,10876 ----
-
- if (*varname == '&') /* buffer-local-option */
- get_option_tv(&varname, rettv, TRUE);
-+ else if (STRCMP(varname, "changedtick") == 0)
-+ {
-+ rettv->v_type = VAR_NUMBER;
-+ rettv->vval.v_number = curbuf->b_changedtick;
-+ }
- else
- {
- if (*varname == NUL)
-*** ../vim-7.3.104/src/version.c 2011-01-22 00:58:15.000000000 +0100
---- src/version.c 2011-01-22 01:13:19.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 105,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-133. You communicate with people on other continents more than you
- do with your own neighbors.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.106 b/source/ap/vim/patches/7.3.106
deleted file mode 100644
index f98df3077..000000000
--- a/source/ap/vim/patches/7.3.106
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.106
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.106
-Problem: When 'cursorbind' is set another window may scroll unexpectedly
- when 'scrollbind' is also set. (Xavier Wang)
-Solution: Don't call update_topline() if 'scrollbind' is set.
-Files: src/move.c
-
-
-*** ../vim-7.3.105/src/move.c 2010-08-15 21:57:29.000000000 +0200
---- src/move.c 2011-01-22 20:58:50.000000000 +0100
-***************
-*** 2882,2890 ****
- if (has_mbyte)
- mb_adjust_cursor();
- # endif
--
- redraw_later(VALID);
-! update_topline();
- # ifdef FEAT_WINDOWS
- curwin->w_redr_status = TRUE;
- # endif
---- 2882,2892 ----
- if (has_mbyte)
- mb_adjust_cursor();
- # endif
- redraw_later(VALID);
-!
-! /* Only scroll when 'scrollbind' hasn't done this. */
-! if (!curwin->w_p_scb)
-! update_topline();
- # ifdef FEAT_WINDOWS
- curwin->w_redr_status = TRUE;
- # endif
-*** ../vim-7.3.105/src/version.c 2011-01-22 01:13:33.000000000 +0100
---- src/version.c 2011-01-22 21:03:21.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 106,
- /**/
-
---
-Never eat yellow snow.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.107 b/source/ap/vim/patches/7.3.107
deleted file mode 100644
index 1256b8179..000000000
--- a/source/ap/vim/patches/7.3.107
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.107
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.107
-Problem: Year number for :undolist can be confused with month or day.
-Solution: Change "%y" to "%Y".
-Files: src/undo.c
-
-
-*** ../vim-7.3.106/src/undo.c 2011-01-22 00:11:42.000000000 +0100
---- src/undo.c 2011-01-22 00:03:58.000000000 +0100
-***************
-*** 2884,2890 ****
- (void)strftime((char *)buf, buflen, "%m/%d %H:%M:%S", curtime);
- else
- /* long ago */
-! (void)strftime((char *)buf, buflen, "%y/%m/%d %H:%M:%S", curtime);
- }
- else
- #endif
---- 2884,2890 ----
- (void)strftime((char *)buf, buflen, "%m/%d %H:%M:%S", curtime);
- else
- /* long ago */
-! (void)strftime((char *)buf, buflen, "%Y/%m/%d %H:%M:%S", curtime);
- }
- else
- #endif
-*** ../vim-7.3.106/src/version.c 2011-01-22 21:05:02.000000000 +0100
---- src/version.c 2011-01-22 21:24:07.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 107,
- /**/
-
---
-"The sun oozed over the horizon, shoved aside darkness, crept along the
-greensward, and, with sickly fingers, pushed through the castle window,
-revealing the pillaged princess, hand at throat, crown asunder, gaping
-in frenzied horror at the sated, sodden amphibian lying beside her,
-disbelieving the magnitude of the frog's deception, screaming madly,
-"You lied!"
- - Winner of the Bulwer-Lytton contest (San Jose State University),
- wherein one writes only the first line of a bad novel
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.108 b/source/ap/vim/patches/7.3.108
deleted file mode 100644
index 91f3ceb97..000000000
--- a/source/ap/vim/patches/7.3.108
+++ /dev/null
@@ -1,111 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.108
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.108
-Problem: Useless check for NULL when calling vim_free().
-Solution: Remove the check. (Dominique Pelle)
-Files: src/eval.c, src/ex_cmds.c, src/os_win32.c
-
-
-*** ../vim-7.3.107/src/eval.c 2011-01-22 01:13:33.000000000 +0100
---- src/eval.c 2011-01-30 21:37:53.000000000 +0100
-***************
-*** 5106,5114 ****
- else
- ret = OK;
- }
-!
-! if (alias != NULL)
-! vim_free(alias);
- }
-
- *arg = skipwhite(*arg);
---- 5106,5112 ----
- else
- ret = OK;
- }
-! vim_free(alias);
- }
-
- *arg = skipwhite(*arg);
-***************
-*** 19807,19813 ****
- EMSG2(_("E704: Funcref variable name must start with a capital: %s"), name);
- return;
- }
-! /* Don't allow hiding a function. When "v" is not NULL we migth be
- * assigning another function to the same var, the type is checked
- * below. */
- if (v == NULL && function_exists(name))
---- 19805,19811 ----
- EMSG2(_("E704: Funcref variable name must start with a capital: %s"), name);
- return;
- }
-! /* Don't allow hiding a function. When "v" is not NULL we might be
- * assigning another function to the same var, the type is checked
- * below. */
- if (v == NULL && function_exists(name))
-*** ../vim-7.3.107/src/ex_cmds.c 2010-12-17 18:06:00.000000000 +0100
---- src/ex_cmds.c 2011-01-30 21:37:53.000000000 +0100
-***************
-*** 5412,5418 ****
- vir_T *virp;
- int force;
- {
-! if (old_sub != NULL && force)
- vim_free(old_sub);
- if (force || old_sub == NULL)
- old_sub = viminfo_readstring(virp, 1, TRUE);
---- 5412,5418 ----
- vir_T *virp;
- int force;
- {
-! if (force)
- vim_free(old_sub);
- if (force || old_sub == NULL)
- old_sub = viminfo_readstring(virp, 1, TRUE);
-*** ../vim-7.3.107/src/os_win32.c 2010-12-17 20:23:56.000000000 +0100
---- src/os_win32.c 2011-01-30 21:37:53.000000000 +0100
-***************
-*** 1886,1893 ****
- cb->BufferSize.X = cb->Info.dwSize.X;
- cb->BufferSize.Y = cb->Info.dwSize.Y;
- NumCells = cb->BufferSize.X * cb->BufferSize.Y;
-! if (cb->Buffer != NULL)
-! vim_free(cb->Buffer);
- cb->Buffer = (PCHAR_INFO)alloc(NumCells * sizeof(CHAR_INFO));
- if (cb->Buffer == NULL)
- return FALSE;
---- 1886,1892 ----
- cb->BufferSize.X = cb->Info.dwSize.X;
- cb->BufferSize.Y = cb->Info.dwSize.Y;
- NumCells = cb->BufferSize.X * cb->BufferSize.Y;
-! vim_free(cb->Buffer);
- cb->Buffer = (PCHAR_INFO)alloc(NumCells * sizeof(CHAR_INFO));
- if (cb->Buffer == NULL)
- return FALSE;
-*** ../vim-7.3.107/src/version.c 2011-01-22 21:25:07.000000000 +0100
---- src/version.c 2011-02-01 13:47:07.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 108,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-173. You keep tracking down the email addresses of all your friends
- (even childhood friends).
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.109 b/source/ap/vim/patches/7.3.109
deleted file mode 100644
index ce35fb0ad..000000000
--- a/source/ap/vim/patches/7.3.109
+++ /dev/null
@@ -1,266 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.109
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.109
-Problem: Processing new Esperanto spell file fails and crashes Vim.
- (Dominique Pelle)
-Solution: When running out of memory give an error. Handle '?' in
- COMPOUNDRULE properly.
-Files: src/spell.c
-
-
-*** ../vim-7.3.108/src/spell.c 2010-12-17 18:06:00.000000000 +0100
---- src/spell.c 2011-02-01 13:43:52.000000000 +0100
-***************
-*** 3634,3640 ****
- }
-
- /* Add all flags to "sl_compallflags". */
-! if (vim_strchr((char_u *)"+*[]/", c) == NULL
- && !byte_in_str(slang->sl_compallflags, c))
- {
- *ap++ = c;
---- 3634,3640 ----
- }
-
- /* Add all flags to "sl_compallflags". */
-! if (vim_strchr((char_u *)"?*+[]/", c) == NULL
- && !byte_in_str(slang->sl_compallflags, c))
- {
- *ap++ = c;
-***************
-*** 3664,3670 ****
- /* Copy flag to "sl_comprules", unless we run into a wildcard. */
- if (crp != NULL)
- {
-! if (c == '+' || c == '*')
- {
- vim_free(slang->sl_comprules);
- slang->sl_comprules = NULL;
---- 3664,3670 ----
- /* Copy flag to "sl_comprules", unless we run into a wildcard. */
- if (crp != NULL)
- {
-! if (c == '?' || c == '+' || c == '*')
- {
- vim_free(slang->sl_comprules);
- slang->sl_comprules = NULL;
-***************
-*** 3682,3689 ****
- }
- else /* normal char, "[abc]" and '*' are copied as-is */
- {
-! if (c == '+' || c == '~')
-! *pp++ = '\\'; /* "a+" becomes "a\+" */
- #ifdef FEAT_MBYTE
- if (enc_utf8)
- pp += mb_char2bytes(c, pp);
---- 3682,3689 ----
- }
- else /* normal char, "[abc]" and '*' are copied as-is */
- {
-! if (c == '?' || c == '+' || c == '~')
-! *pp++ = '\\'; /* "a?" becomes "a\?", "a+" becomes "a\+" */
- #ifdef FEAT_MBYTE
- if (enc_utf8)
- pp += mb_char2bytes(c, pp);
-***************
-*** 4951,4956 ****
---- 4951,4958 ----
-
- sblock_T *si_blocks; /* memory blocks used */
- long si_blocks_cnt; /* memory blocks allocated */
-+ int si_did_emsg; /* TRUE when ran out of memory */
-+
- long si_compress_cnt; /* words to add before lowering
- compression limit */
- wordnode_T *si_first_free; /* List of nodes that have been freed during
-***************
-*** 5477,5497 ****
- }
- else if (is_aff_rule(items, itemcnt, "COMPOUNDRULE", 2))
- {
-! /* Concatenate this string to previously defined ones, using a
-! * slash to separate them. */
-! l = (int)STRLEN(items[1]) + 1;
-! if (compflags != NULL)
-! l += (int)STRLEN(compflags) + 1;
-! p = getroom(spin, l, FALSE);
-! if (p != NULL)
- {
- if (compflags != NULL)
- {
-! STRCPY(p, compflags);
-! STRCAT(p, "/");
- }
-- STRCAT(p, items[1]);
-- compflags = p;
- }
- }
- else if (is_aff_rule(items, itemcnt, "COMPOUNDWORDMAX", 2)
---- 5479,5503 ----
- }
- else if (is_aff_rule(items, itemcnt, "COMPOUNDRULE", 2))
- {
-! /* Don't use the first rule if it is a number. */
-! if (compflags != NULL || *skipdigits(items[1]) != NUL)
- {
-+ /* Concatenate this string to previously defined ones,
-+ * using a slash to separate them. */
-+ l = (int)STRLEN(items[1]) + 1;
- if (compflags != NULL)
-+ l += (int)STRLEN(compflags) + 1;
-+ p = getroom(spin, l, FALSE);
-+ if (p != NULL)
- {
-! if (compflags != NULL)
-! {
-! STRCPY(p, compflags);
-! STRCAT(p, "/");
-! }
-! STRCAT(p, items[1]);
-! compflags = p;
- }
- }
- }
- else if (is_aff_rule(items, itemcnt, "COMPOUNDWORDMAX", 2)
-***************
-*** 6291,6297 ****
-
- for (p = compflags; *p != NUL; )
- {
-! if (vim_strchr((char_u *)"/*+[]", *p) != NULL)
- /* Copy non-flag characters directly. */
- *tp++ = *p++;
- else
---- 6297,6303 ----
-
- for (p = compflags; *p != NUL; )
- {
-! if (vim_strchr((char_u *)"/?*+[]", *p) != NULL)
- /* Copy non-flag characters directly. */
- *tp++ = *p++;
- else
-***************
-*** 6320,6326 ****
- {
- check_renumber(spin);
- id = spin->si_newcompID--;
-! } while (vim_strchr((char_u *)"/+*[]\\-^", id) != NULL);
- ci->ci_newID = id;
- hash_add(&aff->af_comp, ci->ci_key);
- }
---- 6326,6332 ----
- {
- check_renumber(spin);
- id = spin->si_newcompID--;
-! } while (vim_strchr((char_u *)"/?*+[]\\-^", id) != NULL);
- ci->ci_newID = id;
- hash_add(&aff->af_comp, ci->ci_key);
- }
-***************
-*** 7364,7373 ****
-
- if (bl == NULL || bl->sb_used + len > SBLOCKSIZE)
- {
-! /* Allocate a block of memory. This is not freed until much later. */
-! bl = (sblock_T *)alloc_clear((unsigned)(sizeof(sblock_T) + SBLOCKSIZE));
- if (bl == NULL)
- return NULL;
- bl->sb_next = spin->si_blocks;
- spin->si_blocks = bl;
- bl->sb_used = 0;
---- 7370,7390 ----
-
- if (bl == NULL || bl->sb_used + len > SBLOCKSIZE)
- {
-! if (len >= SBLOCKSIZE)
-! bl = NULL;
-! else
-! /* Allocate a block of memory. It is not freed until much later. */
-! bl = (sblock_T *)alloc_clear(
-! (unsigned)(sizeof(sblock_T) + SBLOCKSIZE));
- if (bl == NULL)
-+ {
-+ if (!spin->si_did_emsg)
-+ {
-+ EMSG(_("E845: Insufficient memory, word list will be incomplete"));
-+ spin->si_did_emsg = TRUE;
-+ }
- return NULL;
-+ }
- bl->sb_next = spin->si_blocks;
- spin->si_blocks = bl;
- bl->sb_used = 0;
-***************
-*** 7382,7387 ****
---- 7399,7405 ----
-
- /*
- * Make a copy of a string into memory allocated with getroom().
-+ * Returns NULL when out of memory.
- */
- static char_u *
- getroom_save(spin, s)
-***************
-*** 7416,7421 ****
---- 7434,7440 ----
-
- /*
- * Allocate the root of a word tree.
-+ * Returns NULL when out of memory.
- */
- static wordnode_T *
- wordtree_alloc(spin)
-***************
-*** 7700,7705 ****
---- 7719,7725 ----
- /*
- * Get a wordnode_T, either from the list of previously freed nodes or
- * allocate a new one.
-+ * Returns NULL when out of memory.
- */
- static wordnode_T *
- get_wordnode(spin)
-***************
-*** 7717,7723 ****
- --spin->si_free_count;
- }
- #ifdef SPELL_PRINTTREE
-! n->wn_nr = ++spin->si_wordnode_nr;
- #endif
- return n;
- }
---- 7737,7744 ----
- --spin->si_free_count;
- }
- #ifdef SPELL_PRINTTREE
-! if (n != NULL)
-! n->wn_nr = ++spin->si_wordnode_nr;
- #endif
- return n;
- }
-*** ../vim-7.3.108/src/version.c 2011-02-01 13:48:47.000000000 +0100
---- src/version.c 2011-02-01 13:56:38.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 109,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-174. You know what a listserv is.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.110 b/source/ap/vim/patches/7.3.110
deleted file mode 100644
index 3ffc7f2c8..000000000
--- a/source/ap/vim/patches/7.3.110
+++ /dev/null
@@ -1,76 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.110
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.110
-Problem: The "nbsp" item in 'listchars' isn't used for ":list".
-Solution: Make it work. (Christian Brabandt)
-Files: src/message.c
-
-
-*** ../vim-7.3.109/src/message.c 2011-01-17 20:08:03.000000000 +0100
---- src/message.c 2011-02-01 17:06:21.000000000 +0100
-***************
-*** 1637,1644 ****
- else if (has_mbyte && (l = (*mb_ptr2len)(s)) > 1)
- {
- col += (*mb_ptr2cells)(s);
-! mch_memmove(buf, s, (size_t)l);
-! buf[l] = NUL;
- msg_puts(buf);
- s += l;
- continue;
---- 1637,1652 ----
- else if (has_mbyte && (l = (*mb_ptr2len)(s)) > 1)
- {
- col += (*mb_ptr2cells)(s);
-! if (lcs_nbsp != NUL && list && mb_ptr2char(s) == 160)
-! {
-! mb_char2bytes(lcs_nbsp, buf);
-! buf[(*mb_ptr2len)(buf)] = NUL;
-! }
-! else
-! {
-! mch_memmove(buf, s, (size_t)l);
-! buf[l] = NUL;
-! }
- msg_puts(buf);
- s += l;
- continue;
-***************
-*** 1664,1669 ****
---- 1672,1682 ----
- attr = hl_attr(HLF_8);
- }
- }
-+ else if (c == 160 && list && lcs_nbsp != NUL)
-+ {
-+ c = lcs_nbsp;
-+ attr = hl_attr(HLF_8);
-+ }
- else if (c == NUL && list && lcs_eol != NUL)
- {
- p_extra = (char_u *)"";
-*** ../vim-7.3.109/src/version.c 2011-02-01 13:59:44.000000000 +0100
---- src/version.c 2011-02-01 17:08:31.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 110,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-176. You lie, even to user-friends, about how long you were online yesterday.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.111 b/source/ap/vim/patches/7.3.111
deleted file mode 100644
index e3cf717c3..000000000
--- a/source/ap/vim/patches/7.3.111
+++ /dev/null
@@ -1,121 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.111
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.111 (after 7.3.100)
-Problem: Executing a :normal command in 'statusline' evaluation causes the
- cursor to move. (Dominique Pelle)
-Solution: When updating the cursor for 'cursorbind' allow the cursor beyond
- the end of the line. When evaluating 'statusline' temporarily
- reset 'cursorbind'.
-Files: src/move.c, src/screen.c
-
-
-*** ../vim-7.3.110/src/move.c 2011-01-22 21:05:02.000000000 +0100
---- src/move.c 2011-02-01 17:36:10.000000000 +0100
-***************
-*** 2846,2851 ****
---- 2846,2852 ----
- colnr_T col = curwin->w_cursor.col;
- win_T *old_curwin = curwin;
- buf_T *old_curbuf = curbuf;
-+ int restart_edit_save;
- # ifdef FEAT_VISUAL
- int old_VIsual_select = VIsual_select;
- int old_VIsual_active = VIsual_active;
-***************
-*** 2875,2882 ****
- curwin->w_cursor.lnum = line;
- curwin->w_cursor.col = col;
-
-! /* Make sure the cursor is in a valid position. */
- check_cursor();
- # ifdef FEAT_MBYTE
- /* Correct cursor for multi-byte character. */
- if (has_mbyte)
---- 2876,2887 ----
- curwin->w_cursor.lnum = line;
- curwin->w_cursor.col = col;
-
-! /* Make sure the cursor is in a valid position. Temporarily set
-! * "restart_edit" to allow the cursor to be beyond the EOL. */
-! restart_edit_save = restart_edit;
-! restart_edit = TRUE;
- check_cursor();
-+ restart_edit = restart_edit_save;
- # ifdef FEAT_MBYTE
- /* Correct cursor for multi-byte character. */
- if (has_mbyte)
-*** ../vim-7.3.110/src/screen.c 2010-12-30 14:57:03.000000000 +0100
---- src/screen.c 2011-02-01 17:45:45.000000000 +0100
-***************
-*** 6435,6440 ****
---- 6435,6442 ----
- struct stl_hlrec hltab[STL_MAX_ITEM];
- struct stl_hlrec tabtab[STL_MAX_ITEM];
- int use_sandbox = FALSE;
-+ win_T *ewp;
-+ int p_crb_save;
-
- /* setup environment for the task at hand */
- if (wp == NULL)
-***************
-*** 6513,6526 ****
- if (maxwidth <= 0)
- return;
-
- /* Make a copy, because the statusline may include a function call that
- * might change the option value and free the memory. */
- stl = vim_strsave(stl);
-! width = build_stl_str_hl(wp == NULL ? curwin : wp,
-! buf, sizeof(buf),
- stl, use_sandbox,
- fillchar, maxwidth, hltab, tabtab);
- vim_free(stl);
-
- /* Make all characters printable. */
- p = transstr(buf);
---- 6515,6534 ----
- if (maxwidth <= 0)
- return;
-
-+ /* Temporarily reset 'cursorbind', we don't want a side effect from moving
-+ * the cursor away and back. */
-+ ewp = wp == NULL ? curwin : wp;
-+ p_crb_save = ewp->w_p_crb;
-+ ewp->w_p_crb = FALSE;
-+
- /* Make a copy, because the statusline may include a function call that
- * might change the option value and free the memory. */
- stl = vim_strsave(stl);
-! width = build_stl_str_hl(ewp, buf, sizeof(buf),
- stl, use_sandbox,
- fillchar, maxwidth, hltab, tabtab);
- vim_free(stl);
-+ ewp->w_p_crb = p_crb_save;
-
- /* Make all characters printable. */
- p = transstr(buf);
-*** ../vim-7.3.110/src/version.c 2011-02-01 17:12:20.000000000 +0100
---- src/version.c 2011-02-01 18:00:14.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 111,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-177. You log off of your system because it's time to go to work.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.112 b/source/ap/vim/patches/7.3.112
deleted file mode 100644
index af9b88180..000000000
--- a/source/ap/vim/patches/7.3.112
+++ /dev/null
@@ -1,63 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.112
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.112
-Problem: Setting 'statusline' to "%!'asdf%' reads uninitialized memory.
-Solution: Check for NUL after %.
-Files: src/buffer.c
-
-
-*** ../vim-7.3.111/src/buffer.c 2010-10-27 16:17:56.000000000 +0200
---- src/buffer.c 2011-02-01 21:40:17.000000000 +0100
-***************
-*** 3364,3370 ****
- * or truncated if too long, fillchar is used for all whitespace.
- */
- int
-! build_stl_str_hl(wp, out, outlen, fmt, use_sandbox, fillchar, maxwidth, hltab, tabtab)
- win_T *wp;
- char_u *out; /* buffer to write into != NameBuff */
- size_t outlen; /* length of out[] */
---- 3364,3371 ----
- * or truncated if too long, fillchar is used for all whitespace.
- */
- int
-! build_stl_str_hl(wp, out, outlen, fmt, use_sandbox, fillchar,
-! maxwidth, hltab, tabtab)
- win_T *wp;
- char_u *out; /* buffer to write into != NameBuff */
- size_t outlen; /* length of out[] */
-***************
-*** 3474,3479 ****
---- 3475,3482 ----
- * Handle one '%' item.
- */
- s++;
-+ if (*s == NUL) /* ignore trailing % */
-+ break;
- if (*s == '%')
- {
- if (p + 1 >= out + outlen)
-*** ../vim-7.3.111/src/version.c 2011-02-01 18:01:06.000000000 +0100
---- src/version.c 2011-02-01 21:54:01.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 112,
- /**/
-
---
-Rule #1: Don't give somebody a tool that he's going to hurt himself with.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.113 b/source/ap/vim/patches/7.3.113
deleted file mode 100644
index a4383ad92..000000000
--- a/source/ap/vim/patches/7.3.113
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.113
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.113
-Problem: Windows: Fall back directory for creating temp file is wrong.
-Solution: Use "." instead of empty string. (Hong Xu)
-Files: src/fileio.c
-
-
-*** ../vim-7.3.112/src/fileio.c 2011-01-17 20:08:03.000000000 +0100
---- src/fileio.c 2011-02-06 13:14:25.000000000 +0100
-***************
-*** 7459,7465 ****
-
- STRCPY(itmp, "");
- if (GetTempPath(_MAX_PATH, szTempFile) == 0)
-! szTempFile[0] = NUL; /* GetTempPath() failed, use current dir */
- strcpy(buf4, "VIM");
- buf4[2] = extra_char; /* make it "VIa", "VIb", etc. */
- if (GetTempFileName(szTempFile, buf4, 0, itmp) == 0)
---- 7459,7468 ----
-
- STRCPY(itmp, "");
- if (GetTempPath(_MAX_PATH, szTempFile) == 0)
-! {
-! szTempFile[0] = '.'; /* GetTempPath() failed, use current dir */
-! szTempFile[1] = NUL;
-! }
- strcpy(buf4, "VIM");
- buf4[2] = extra_char; /* make it "VIa", "VIb", etc. */
- if (GetTempFileName(szTempFile, buf4, 0, itmp) == 0)
-*** ../vim-7.3.112/src/version.c 2011-02-01 21:54:56.000000000 +0100
---- src/version.c 2011-02-09 14:46:12.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 113,
- /**/
-
---
-'Psychologist' -- Someone who looks at everyone else when
-an attractive woman enters the room.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.114 b/source/ap/vim/patches/7.3.114
deleted file mode 100644
index 34bdd364e..000000000
--- a/source/ap/vim/patches/7.3.114
+++ /dev/null
@@ -1,50 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.114
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.114
-Problem: Potential problem in initialization when giving an error message
- early.
-Solution: Initialize 'verbosefile' empty. (Ben Schmidt)
-Files: src/option.h
-
-
-*** ../vim-7.3.113/src/option.h 2010-12-02 16:01:23.000000000 +0100
---- src/option.h 2011-02-09 15:37:36.000000000 +0100
-***************
-*** 854,860 ****
---- 854,864 ----
- # define VE_ONEMORE 8
- #endif
- EXTERN long p_verbose; /* 'verbose' */
-+ #ifdef IN_OPTION_C
-+ char_u *p_vfile = (char_u *)""; /* used before options are initialized */
-+ #else
- EXTERN char_u *p_vfile; /* 'verbosefile' */
-+ #endif
- EXTERN int p_warn; /* 'warn' */
- #ifdef FEAT_CMDL_COMPL
- EXTERN char_u *p_wop; /* 'wildoptions' */
-*** ../vim-7.3.113/src/version.c 2011-02-09 14:46:58.000000000 +0100
---- src/version.c 2011-02-09 15:46:17.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 114,
- /**/
-
---
-From the classified section of a city newspaper:
-Dog for sale: eats anything and is fond of children.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.115 b/source/ap/vim/patches/7.3.115
deleted file mode 100644
index dd36df300..000000000
--- a/source/ap/vim/patches/7.3.115
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.115
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.115
-Problem: Vim can crash when tmpnam() returns NULL.
-Solution: Check for NULL. (Hong Xu)
-Files: src/fileio.c
-
-
-*** ../vim-7.3.114/src/fileio.c 2011-02-09 14:46:58.000000000 +0100
---- src/fileio.c 2011-02-09 16:14:35.000000000 +0100
-***************
-*** 7483,7490 ****
- # else /* WIN3264 */
-
- # ifdef USE_TMPNAM
- /* tmpnam() will make its own name */
-! if (*tmpnam((char *)itmp) == NUL)
- return NULL;
- # else
- char_u *p;
---- 7483,7493 ----
- # else /* WIN3264 */
-
- # ifdef USE_TMPNAM
-+ char_u *p;
-+
- /* tmpnam() will make its own name */
-! p = tmpnam((char *)itmp);
-! if (p == NULL || *p == NUL)
- return NULL;
- # else
- char_u *p;
-*** ../vim-7.3.114/src/version.c 2011-02-09 15:59:32.000000000 +0100
---- src/version.c 2011-02-09 16:44:11.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 115,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-218. Your spouse hands you a gift wrapped magnet with your PC's name
- on it and you accuse him or her of genocide.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.116 b/source/ap/vim/patches/7.3.116
deleted file mode 100644
index ee9543afb..000000000
--- a/source/ap/vim/patches/7.3.116
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.116
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.116
-Problem: 'cursorline' is displayed too short when there are concealed
- characters and 'list' is set. (Dennis Preiser)
-Solution: Check for 'cursorline' when 'list' is set. (Christian Brabandt)
-Files: src/screen.c
-
-
-*** ../vim-7.3.115/src/screen.c 2011-02-01 18:01:06.000000000 +0100
---- src/screen.c 2011-02-09 16:59:28.000000000 +0100
-***************
-*** 5099,5105 ****
- #ifdef FEAT_DIFF
- || filler_todo > 0
- #endif
-! || (wp->w_p_list && lcs_eol != NUL && p_extra != at_end_str)
- || (n_extra != 0 && (c_extra != NUL || *p_extra != NUL)))
- )
- {
---- 5099,5109 ----
- #ifdef FEAT_DIFF
- || filler_todo > 0
- #endif
-! || (wp->w_p_list && lcs_eol != NUL && p_extra != at_end_str
-! #ifdef FEAT_SYN_HL
-! && !wp->w_p_cul
-! #endif
-! )
- || (n_extra != 0 && (c_extra != NUL || *p_extra != NUL)))
- )
- {
-*** ../vim-7.3.115/src/version.c 2011-02-09 16:44:45.000000000 +0100
---- src/version.c 2011-02-09 17:08:58.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 116,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-219. Your spouse has his or her lawyer deliver the divorce papers...
- via e-mail.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.117 b/source/ap/vim/patches/7.3.117
deleted file mode 100644
index 19fcf7398..000000000
--- a/source/ap/vim/patches/7.3.117
+++ /dev/null
@@ -1,89 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.117
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.117
-Problem: On some systems --as-needed does not work, because the "tinfo"
- library is included indirectly from "ncurses". (Charles Campbell)
-Solution: In configure prefer using "tinfo" instead of "ncurses".
-Files: src/configure.in, src/auto/configure
-
-
-*** ../vim-7.3.116/src/configure.in 2010-11-16 19:25:56.000000000 +0100
---- src/configure.in 2011-02-09 17:28:16.000000000 +0100
-***************
-*** 2618,2630 ****
- AC_MSG_RESULT([empty: automatic terminal library selection])
- dnl On HP-UX 10.10 termcap or termlib should be used instead of
- dnl curses, because curses is much slower.
-! dnl Newer versions of ncurses are preferred over anything.
- dnl Older versions of ncurses have bugs, get a new one!
- dnl Digital Unix (OSF1) should use curses (Ronald Schild).
- dnl On SCO Openserver should prefer termlib (Roger Cornelius).
- case "`uname -s 2>/dev/null`" in
-! OSF1|SCO_SV) tlibs="ncurses curses termlib termcap";;
-! *) tlibs="ncurses termlib termcap curses";;
- esac
- for libname in $tlibs; do
- AC_CHECK_LIB(${libname}, tgetent,,)
---- 2618,2631 ----
- AC_MSG_RESULT([empty: automatic terminal library selection])
- dnl On HP-UX 10.10 termcap or termlib should be used instead of
- dnl curses, because curses is much slower.
-! dnl Newer versions of ncurses are preferred over anything, except
-! dnl when tinfo has been split off, it conains all we need.
- dnl Older versions of ncurses have bugs, get a new one!
- dnl Digital Unix (OSF1) should use curses (Ronald Schild).
- dnl On SCO Openserver should prefer termlib (Roger Cornelius).
- case "`uname -s 2>/dev/null`" in
-! OSF1|SCO_SV) tlibs="tinfo ncurses curses termlib termcap";;
-! *) tlibs="tinfo ncurses termlib termcap curses";;
- esac
- for libname in $tlibs; do
- AC_CHECK_LIB(${libname}, tgetent,,)
-*** ../vim-7.3.116/src/auto/configure 2010-11-16 19:25:56.000000000 +0100
---- src/auto/configure 2011-02-09 17:29:13.000000000 +0100
-***************
-*** 9886,9894 ****
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: empty: automatic terminal library selection" >&5
- $as_echo "empty: automatic terminal library selection" >&6; }
-! case "`uname -s 2>/dev/null`" in
-! OSF1|SCO_SV) tlibs="ncurses curses termlib termcap";;
-! *) tlibs="ncurses termlib termcap curses";;
- esac
- for libname in $tlibs; do
- as_ac_Lib=`$as_echo "ac_cv_lib_${libname}''_tgetent" | $as_tr_sh`
---- 9886,9894 ----
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: empty: automatic terminal library selection" >&5
- $as_echo "empty: automatic terminal library selection" >&6; }
-! case "`uname -s 2>/dev/null`" in
-! OSF1|SCO_SV) tlibs="tinfo ncurses curses termlib termcap";;
-! *) tlibs="tinfo ncurses termlib termcap curses";;
- esac
- for libname in $tlibs; do
- as_ac_Lib=`$as_echo "ac_cv_lib_${libname}''_tgetent" | $as_tr_sh`
-*** ../vim-7.3.116/src/version.c 2011-02-09 17:09:26.000000000 +0100
---- src/version.c 2011-02-09 17:41:37.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 117,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-220. Your wife asks for sex and you tell her where to find you on IRC.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.118 b/source/ap/vim/patches/7.3.118
deleted file mode 100644
index fecb948b3..000000000
--- a/source/ap/vim/patches/7.3.118
+++ /dev/null
@@ -1,69 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.118
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.118
-Problem: Ruby uses SIGVTALARM which makes Vim exit. (Alec Tica)
-Solution: Ignore SIGVTALARM. (Dominique Pelle)
-Files: src/os_unix.c
-
-
-*** ../vim-7.3.117/src/os_unix.c 2010-12-17 16:27:10.000000000 +0100
---- src/os_unix.c 2011-02-09 18:19:57.000000000 +0100
-***************
-*** 283,289 ****
- #ifdef SIGTERM
- {SIGTERM, "TERM", TRUE},
- #endif
-! #ifdef SIGVTALRM
- {SIGVTALRM, "VTALRM", TRUE},
- #endif
- #if defined(SIGPROF) && !defined(FEAT_MZSCHEME) && !defined(WE_ARE_PROFILING)
---- 283,289 ----
- #ifdef SIGTERM
- {SIGTERM, "TERM", TRUE},
- #endif
-! #if defined(SIGVTALRM) && !defined(FEAT_RUBY)
- {SIGVTALRM, "VTALRM", TRUE},
- #endif
- #if defined(SIGPROF) && !defined(FEAT_MZSCHEME) && !defined(WE_ARE_PROFILING)
-***************
-*** 1107,1113 ****
- * On Linux, signal is not always handled immediately either.
- * See https://bugs.launchpad.net/bugs/291373
- *
-! * volatile because it is used in in signal handler sigcont_handler().
- */
- static volatile int sigcont_received;
- static RETSIGTYPE sigcont_handler __ARGS(SIGPROTOARG);
---- 1107,1113 ----
- * On Linux, signal is not always handled immediately either.
- * See https://bugs.launchpad.net/bugs/291373
- *
-! * volatile because it is used in signal handler sigcont_handler().
- */
- static volatile int sigcont_received;
- static RETSIGTYPE sigcont_handler __ARGS(SIGPROTOARG);
-*** ../vim-7.3.117/src/version.c 2011-02-09 17:42:53.000000000 +0100
---- src/version.c 2011-02-09 18:46:53.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 118,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-221. Your wife melts your keyboard in the oven.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.119 b/source/ap/vim/patches/7.3.119
deleted file mode 100644
index 1547625d3..000000000
--- a/source/ap/vim/patches/7.3.119
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.1
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.119
-Problem: Build problem on Mac. (Nicholas Stallard)
-Solution: Use "extern" instead of "EXTERN" for p_vfile.
-Files: src/option.h
-
-
-*** ../vim-7.3.118/src/option.h 2011-02-09 15:59:32.000000000 +0100
---- src/option.h 2011-02-12 13:56:50.000000000 +0100
-***************
-*** 857,863 ****
- #ifdef IN_OPTION_C
- char_u *p_vfile = (char_u *)""; /* used before options are initialized */
- #else
-! EXTERN char_u *p_vfile; /* 'verbosefile' */
- #endif
- EXTERN int p_warn; /* 'warn' */
- #ifdef FEAT_CMDL_COMPL
---- 857,863 ----
- #ifdef IN_OPTION_C
- char_u *p_vfile = (char_u *)""; /* used before options are initialized */
- #else
-! extern char_u *p_vfile; /* 'verbosefile' */
- #endif
- EXTERN int p_warn; /* 'warn' */
- #ifdef FEAT_CMDL_COMPL
-*** ../vim-7.3.118/src/version.c 2011-02-09 18:47:36.000000000 +0100
---- src/version.c 2011-02-12 13:59:41.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 119,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-237. You tattoo your email address on your forehead.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.120 b/source/ap/vim/patches/7.3.120
deleted file mode 100644
index 04e2f633c..000000000
--- a/source/ap/vim/patches/7.3.120
+++ /dev/null
@@ -1,59 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.120
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.120
-Problem: The message for an existing swap file is too long to fit in a 25
- line terminal.
-Solution: Make the message shorter. (Chad Miller)
-Files: src/memline.c
-
-
-*** ../vim-7.3.119/src/memline.c 2011-01-17 20:08:03.000000000 +0100
---- src/memline.c 2011-02-13 14:18:08.000000000 +0100
-***************
-*** 4071,4079 ****
- }
- /* Some of these messages are long to allow translation to
- * other languages. */
-! MSG_PUTS(_("\n(1) Another program may be editing the same file.\n If this is the case, be careful not to end up with two\n different instances of the same file when making changes.\n"));
-! MSG_PUTS(_(" Quit, or continue with caution.\n"));
-! MSG_PUTS(_("\n(2) An edit session for this file crashed.\n"));
- MSG_PUTS(_(" If this is the case, use \":recover\" or \"vim -r "));
- msg_outtrans(buf->b_fname);
- MSG_PUTS(_("\"\n to recover the changes (see \":help recovery\").\n"));
---- 4071,4079 ----
- }
- /* Some of these messages are long to allow translation to
- * other languages. */
-! MSG_PUTS(_("\n(1) Another program may be editing the same file. If this is the case,\n be careful not to end up with two different instances of the same\n file when making changes."));
-! MSG_PUTS(_(" Quit, or continue with caution.\n"));
-! MSG_PUTS(_("(2) An edit session for this file crashed.\n"));
- MSG_PUTS(_(" If this is the case, use \":recover\" or \"vim -r "));
- msg_outtrans(buf->b_fname);
- MSG_PUTS(_("\"\n to recover the changes (see \":help recovery\").\n"));
-*** ../vim-7.3.119/src/version.c 2011-02-12 13:59:55.000000000 +0100
---- src/version.c 2011-02-15 11:56:14.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 120,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-257. Your "hundred-and-one" lists include well over 101 items, since you
- automatically interpret all numbers in hexadecimal notation.
- (hex 101 = decimal 257)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.121 b/source/ap/vim/patches/7.3.121
deleted file mode 100644
index f51a77470..000000000
--- a/source/ap/vim/patches/7.3.121
+++ /dev/null
@@ -1,57 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.121
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.121
-Problem: Complicated 'statusline' causes a crash. (Christian Brabandt)
-Solution: Check that the number of items is not too big.
-Files: src/buffer.c
-
-
-*** ../vim-7.3.120/src/buffer.c 2011-02-01 21:54:56.000000000 +0100
---- src/buffer.c 2011-02-15 14:00:51.000000000 +0100
-***************
-*** 3460,3465 ****
---- 3461,3478 ----
- prevchar_isitem = FALSE;
- for (s = usefmt; *s; )
- {
-+ if (curitem == STL_MAX_ITEM)
-+ {
-+ /* There are too many items. Add the error code to the statusline
-+ * to give the user a hint about what went wrong. */
-+ if (p + 6 < out + outlen)
-+ {
-+ mch_memmove(p, " E541", (size_t)5);
-+ p += 5;
-+ }
-+ break;
-+ }
-+
- if (*s != NUL && *s != '%')
- prevchar_isflag = prevchar_isitem = FALSE;
-
-*** ../vim-7.3.120/src/version.c 2011-02-15 11:56:56.000000000 +0100
---- src/version.c 2011-02-15 14:23:39.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 121,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-265. Your reason for not staying in touch with family is that
- they do not have e-mail addresses.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.122 b/source/ap/vim/patches/7.3.122
deleted file mode 100644
index 02e9759b5..000000000
--- a/source/ap/vim/patches/7.3.122
+++ /dev/null
@@ -1,100 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.122
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.122
-Problem: Having auto/config.mk in the repository causes problems.
-Solution: Remove auto/config.mk from the distribution. In the toplevel
- Makefile copy it from the "dist" file.
-Files: Makefile, src/Makefile, src/auto/config.mk
-
-
-*** ../vim-7.3.121/Makefile 2010-08-15 21:57:20.000000000 +0200
---- Makefile 2011-02-12 14:28:09.000000000 +0100
-***************
-*** 23,28 ****
---- 23,31 ----
- # has run can result in compiling with $(CC) empty.
-
- first:
-+ @if test ! -f src/auto/config.mk; then \
-+ cp src/config.mk.dist src/auto/config.mk; \
-+ fi
- @echo "Starting make in the src directory."
- @echo "If there are problems, cd to the src directory and run make there"
- cd src && $(MAKE) $@
-***************
-*** 30,35 ****
---- 33,41 ----
- # Some make programs use the last target for the $@ default; put the other
- # targets separately to always let $@ expand to "first" by default.
- all install uninstall tools config configure reconfig proto depend lint tags types test testclean clean distclean:
-+ @if test ! -f src/auto/config.mk; then \
-+ cp src/config.mk.dist src/auto/config.mk; \
-+ fi
- @echo "Starting make in the src directory."
- @echo "If there are problems, cd to the src directory and run make there"
- cd src && $(MAKE) $@
-*** ../vim-7.3.121/src/Makefile 2010-11-03 22:32:18.000000000 +0100
---- src/Makefile 2011-02-15 15:21:37.000000000 +0100
-***************
-*** 283,294 ****
-
- ######################## auto/config.mk ######################## {{{1
- # At this position auto/config.mk is included. When starting from the
-! # distribution it is almost empty. After running auto/configure it contains
-! # settings that have been discovered for your system. Settings below this
-! # include override settings in auto/config.mk!
-!
-! # Note: if auto/config.mk is lost somehow (e.g., because configure was
-! # interrupted), create an empty auto/config.mk file and do "make config".
-
- # (X) How to include auto/config.mk depends on the version of "make" you have,
- # if the current choice doesn't work, try the other one.
---- 283,295 ----
-
- ######################## auto/config.mk ######################## {{{1
- # At this position auto/config.mk is included. When starting from the
-! # toplevel Makefile it is almost empty. After running auto/configure it
-! # contains settings that have been discovered for your system. Settings below
-! # this include override settings in auto/config.mk!
-!
-! # Note: If make fails because auto/config.mk does not exist (it is not
-! # included in the repository), do:
-! # cp config.mk.dist auto/config.mk
-
- # (X) How to include auto/config.mk depends on the version of "make" you have,
- # if the current choice doesn't work, try the other one.
-*** ../vim-7.3.121/src/auto/config.mk 2010-08-16 21:59:00.000000000 +0200
---- src/auto/config.mk 1970-01-01 01:00:00.000000000 +0100
-***************
-*** 1,5 ****
-- the first targets to make vim are: scratch config myself
-- srcdir = .
-- VIMNAME = vim
-- EXNAME = ex
-- VIEWNAME = view
---- 0 ----
-*** ../vim-7.3.121/src/version.c 2011-02-15 14:24:42.000000000 +0100
---- src/version.c 2011-02-15 15:25:07.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 122,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-267. You get an extra phone line so you can get phone calls.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.123 b/source/ap/vim/patches/7.3.123
deleted file mode 100644
index 0bca41b8e..000000000
--- a/source/ap/vim/patches/7.3.123
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.123
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.123
-Problem: ml_get error when executing register being recorded into, deleting
- lines and 'conceallevel' is set. (ZyX)
-Solution: Don't redraw a line for concealing when it doesn't exist.
-Files: src/main.c
-
-
-*** ../vim-7.3.122/src/main.c 2010-12-17 18:06:00.000000000 +0100
---- src/main.c 2011-02-15 16:09:41.000000000 +0100
-***************
-*** 1198,1204 ****
- || conceal_cursor_line(curwin)
- || need_cursor_line_redraw))
- {
-! if (conceal_old_cursor_line != conceal_new_cursor_line)
- update_single_line(curwin, conceal_old_cursor_line);
- update_single_line(curwin, conceal_new_cursor_line);
- curwin->w_valid &= ~VALID_CROW;
---- 1198,1206 ----
- || conceal_cursor_line(curwin)
- || need_cursor_line_redraw))
- {
-! if (conceal_old_cursor_line != conceal_new_cursor_line
-! && conceal_old_cursor_line
-! <= curbuf->b_ml.ml_line_count)
- update_single_line(curwin, conceal_old_cursor_line);
- update_single_line(curwin, conceal_new_cursor_line);
- curwin->w_valid &= ~VALID_CROW;
-*** ../vim-7.3.122/src/version.c 2011-02-15 15:27:00.000000000 +0100
---- src/version.c 2011-02-15 16:15:28.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 123,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-268. You get up in the morning and go online before getting your coffee.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.124 b/source/ap/vim/patches/7.3.124
deleted file mode 100644
index 738c2a16c..000000000
--- a/source/ap/vim/patches/7.3.124
+++ /dev/null
@@ -1,229 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.124
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.124
-Problem: When writing a file in binary mode it may be missing the final EOL
- if a file previously read was missing the EOL. (Kevin Goodsell)
-Solution: Move the write_no_eol_lnum into the buffer struct.
-Files: src/structs.h, src/fileio.c, src/globals.h, src/os_unix.c
-
-
-*** ../vim-7.3.123/src/structs.h 2010-10-20 21:22:17.000000000 +0200
---- src/structs.h 2011-02-15 17:06:34.000000000 +0100
-***************
-*** 1564,1569 ****
---- 1564,1572 ----
-
- /* end of buffer options */
-
-+ linenr_T b_no_eol_lnum; /* non-zero lnum when last line of next binary
-+ * write should not have an end-of-line */
-+
- int b_start_eol; /* last line had eol when it was read */
- int b_start_ffc; /* first char of 'ff' when edit started */
- #ifdef FEAT_MBYTE
-*** ../vim-7.3.123/src/fileio.c 2011-02-09 16:44:45.000000000 +0100
---- src/fileio.c 2011-02-15 17:30:54.000000000 +0100
-***************
-*** 317,323 ****
- int using_b_fname;
- #endif
-
-! write_no_eol_lnum = 0; /* in case it was set by the previous read */
-
- /*
- * If there is no file name yet, use the one for the read file.
---- 317,323 ----
- int using_b_fname;
- #endif
-
-! curbuf->b_no_eol_lnum = 0; /* in case it was set by the previous read */
-
- /*
- * If there is no file name yet, use the one for the read file.
-***************
-*** 2599,2608 ****
-
- /*
- * Trick: We remember if the last line of the read didn't have
-! * an eol for when writing it again. This is required for
- * ":autocmd FileReadPost *.gz set bin|'[,']!gunzip" to work.
- */
-! write_no_eol_lnum = read_no_eol_lnum;
-
- /* When reloading a buffer put the cursor at the first line that is
- * different. */
---- 2599,2609 ----
-
- /*
- * Trick: We remember if the last line of the read didn't have
-! * an eol even when 'binary' is off, for when writing it again with
-! * 'binary' on. This is required for
- * ":autocmd FileReadPost *.gz set bin|'[,']!gunzip" to work.
- */
-! curbuf->b_no_eol_lnum = read_no_eol_lnum;
-
- /* When reloading a buffer put the cursor at the first line that is
- * different. */
-***************
-*** 2650,2662 ****
- FALSE, NULL, eap);
- if (msg_scrolled == n)
- msg_scroll = m;
-! #ifdef FEAT_EVAL
- if (aborting()) /* autocmds may abort script processing */
- return FAIL;
-! #endif
- }
- #endif
-
- if (recoverymode && error)
- return FAIL;
- return OK;
---- 2651,2667 ----
- FALSE, NULL, eap);
- if (msg_scrolled == n)
- msg_scroll = m;
-! # ifdef FEAT_EVAL
- if (aborting()) /* autocmds may abort script processing */
- return FAIL;
-! # endif
- }
- #endif
-
-+ /* Reset now, following writes should not omit the EOL. Also, the line
-+ * number will become invalid because of edits. */
-+ curbuf->b_no_eol_lnum = 0;
-+
- if (recoverymode && error)
- return FAIL;
- return OK;
-***************
-*** 4560,4566 ****
- if (end == 0
- || (lnum == end
- && write_bin
-! && (lnum == write_no_eol_lnum
- || (lnum == buf->b_ml.ml_line_count && !buf->b_p_eol))))
- {
- ++lnum; /* written the line, count it */
---- 4565,4571 ----
- if (end == 0
- || (lnum == end
- && write_bin
-! && (lnum == buf->b_no_eol_lnum
- || (lnum == buf->b_ml.ml_line_count && !buf->b_p_eol))))
- {
- ++lnum; /* written the line, count it */
-***************
-*** 5086,5093 ****
- {
- aco_save_T aco;
-
-- write_no_eol_lnum = 0; /* in case it was set by the previous read */
--
- /*
- * Apply POST autocommands.
- * Careful: The autocommands may call buf_write() recursively!
---- 5091,5096 ----
-***************
-*** 7256,7263 ****
- write_lnum_adjust(offset)
- linenr_T offset;
- {
-! if (write_no_eol_lnum != 0) /* only if there is a missing eol */
-! write_no_eol_lnum += offset;
- }
-
- #if defined(TEMPDIRNAMES) || defined(PROTO)
---- 7259,7266 ----
- write_lnum_adjust(offset)
- linenr_T offset;
- {
-! if (curbuf->b_no_eol_lnum != 0) /* only if there is a missing eol */
-! curbuf->b_no_eol_lnum += offset;
- }
-
- #if defined(TEMPDIRNAMES) || defined(PROTO)
-*** ../vim-7.3.123/src/globals.h 2010-12-02 21:43:10.000000000 +0100
---- src/globals.h 2011-02-15 17:06:06.000000000 +0100
-***************
-*** 1057,1066 ****
- ;
- #endif
-
-- EXTERN linenr_T write_no_eol_lnum INIT(= 0); /* non-zero lnum when last line
-- of next binary write should
-- not have an end-of-line */
--
- #ifdef FEAT_WINDOWS
- EXTERN int postponed_split INIT(= 0); /* for CTRL-W CTRL-] command */
- EXTERN int postponed_split_flags INIT(= 0); /* args for win_split() */
---- 1057,1062 ----
-*** ../vim-7.3.123/src/os_unix.c 2011-02-09 18:47:36.000000000 +0100
---- src/os_unix.c 2011-02-15 17:07:22.000000000 +0100
-***************
-*** 4245,4251 ****
- * should not have one. */
- if (lnum != curbuf->b_op_end.lnum
- || !curbuf->b_p_bin
-! || (lnum != write_no_eol_lnum
- && (lnum !=
- curbuf->b_ml.ml_line_count
- || curbuf->b_p_eol)))
---- 4245,4251 ----
- * should not have one. */
- if (lnum != curbuf->b_op_end.lnum
- || !curbuf->b_p_bin
-! || (lnum != curbuf->b_no_eol_lnum
- && (lnum !=
- curbuf->b_ml.ml_line_count
- || curbuf->b_p_eol)))
-***************
-*** 4588,4597 ****
- {
- append_ga_line(&ga);
- /* remember that the NL was missing */
-! write_no_eol_lnum = curwin->w_cursor.lnum;
- }
- else
-! write_no_eol_lnum = 0;
- ga_clear(&ga);
- }
-
---- 4588,4597 ----
- {
- append_ga_line(&ga);
- /* remember that the NL was missing */
-! curbuf->b_no_eol_lnum = curwin->w_cursor.lnum;
- }
- else
-! curbuf->b_no_eol_lnum = 0;
- ga_clear(&ga);
- }
-
-*** ../vim-7.3.123/src/version.c 2011-02-15 16:29:54.000000000 +0100
---- src/version.c 2011-02-15 17:37:38.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 124,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-270. You are subscribed to a mailing list for every piece of software
- you use.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.125 b/source/ap/vim/patches/7.3.125
deleted file mode 100644
index 719fc95e3..000000000
--- a/source/ap/vim/patches/7.3.125
+++ /dev/null
@@ -1,66 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.125
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.125
-Problem: MSVC: Problem with quotes in link argument.
-Solution: Escape backslashes and quotes. (Weasley)
-Files: src/Make_mvc.mak
-
-
-*** ../vim-7.3.124/src/Make_mvc.mak 2010-12-08 14:54:58.000000000 +0100
---- src/Make_mvc.mak 2011-02-15 17:55:24.000000000 +0100
-***************
-*** 1159,1164 ****
---- 1159,1168 ----
- E0_CFLAGS = $(CFLAGS:\=\\)
- E_CFLAGS = $(E0_CFLAGS:"=\")
- # ") stop the string
-+ # $LINKARGS2 may contain backslashes and double quotes, escape them both.
-+ E0_LINKARGS2 = $(LINKARGS2:\=\\)
-+ E_LINKARGS2 = $(E0_LINKARGS2:"=\")
-+ # ") stop the string
-
- $(PATHDEF_SRC): auto
- @echo creating $(PATHDEF_SRC)
-***************
-*** 1167,1173 ****
- @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC:\=\\)"; >> $(PATHDEF_SRC)
- @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR:\=\\)"; >> $(PATHDEF_SRC)
- @echo char_u *all_cflags = (char_u *)"$(CC:\=\\) $(E_CFLAGS)"; >> $(PATHDEF_SRC)
-! @echo char_u *all_lflags = (char_u *)"$(link:\=\\) $(LINKARGS1:\=\\) $(LINKARGS2:\=\\)"; >> $(PATHDEF_SRC)
- @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> $(PATHDEF_SRC)
- @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> $(PATHDEF_SRC)
-
---- 1171,1177 ----
- @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC:\=\\)"; >> $(PATHDEF_SRC)
- @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR:\=\\)"; >> $(PATHDEF_SRC)
- @echo char_u *all_cflags = (char_u *)"$(CC:\=\\) $(E_CFLAGS)"; >> $(PATHDEF_SRC)
-! @echo char_u *all_lflags = (char_u *)"$(link:\=\\) $(LINKARGS1:\=\\) $(E_LINKARGS2)"; >> $(PATHDEF_SRC)
- @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> $(PATHDEF_SRC)
- @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> $(PATHDEF_SRC)
-
-*** ../vim-7.3.124/src/version.c 2011-02-15 17:39:14.000000000 +0100
---- src/version.c 2011-02-15 17:55:49.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 125,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-271. You collect hilarious signatures from all 250 mailing lists you
- are subscribed to.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.126 b/source/ap/vim/patches/7.3.126
deleted file mode 100644
index 89d9684f5..000000000
--- a/source/ap/vim/patches/7.3.126
+++ /dev/null
@@ -1,63 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.126
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.126
-Problem: Compiler warning for signed pointer.
-Solution: Use unsigned int argument for sscanf().
-Files: src/blowfish.c
-
-
-*** ../vim-7.3.125/src/blowfish.c 2010-08-15 21:57:28.000000000 +0200
---- src/blowfish.c 2010-12-17 19:58:18.000000000 +0100
-***************
-*** 413,418 ****
---- 413,419 ----
- int salt_len;
- {
- int i, j, keypos = 0;
-+ unsigned u;
- UINT32_T val, data_l, data_r;
- char_u *key;
- int keylen;
-***************
-*** 432,439 ****
- }
- for (i = 0; i < keylen; i++)
- {
-! sscanf((char *)&key[i * 2], "%2x", &j);
-! key[i] = j;
- }
-
- mch_memmove(sbx, sbi, 4 * 4 * 256);
---- 433,440 ----
- }
- for (i = 0; i < keylen; i++)
- {
-! sscanf((char *)&key[i * 2], "%2x", &u);
-! key[i] = u;
- }
-
- mch_memmove(sbx, sbi, 4 * 4 * 256);
-*** ../vim-7.3.125/src/version.c 2011-02-15 18:06:11.000000000 +0100
---- src/version.c 2011-02-25 14:40:22.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 126,
- /**/
-
---
-Why doesn't Tarzan have a beard?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.127 b/source/ap/vim/patches/7.3.127
deleted file mode 100644
index 518d2f7cb..000000000
--- a/source/ap/vim/patches/7.3.127
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.127
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.127
-Problem: Compiler complains about comma.
-Solution: Remove comma after last enum element.
-Files: src/ex_cmds2.c
-
-
-*** ../vim-7.3.126/src/ex_cmds2.c 2010-12-17 18:06:00.000000000 +0100
---- src/ex_cmds2.c 2010-12-17 19:58:37.000000000 +0100
-***************
-*** 1115,1121 ****
- static enum
- {
- PEXP_SUBCMD, /* expand :profile sub-commands */
-! PEXP_FUNC, /* expand :profile func {funcname} */
- } pexpand_what;
-
- static char *pexpand_cmds[] = {
---- 1115,1121 ----
- static enum
- {
- PEXP_SUBCMD, /* expand :profile sub-commands */
-! PEXP_FUNC /* expand :profile func {funcname} */
- } pexpand_what;
-
- static char *pexpand_cmds[] = {
-*** ../vim-7.3.126/src/version.c 2011-02-25 14:40:51.000000000 +0100
---- src/version.c 2011-02-25 14:45:19.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 127,
- /**/
-
---
- LAUNCELOT leaps into SHOT with a mighty cry and runs the GUARD through and
- hacks him to the floor. Blood. Swashbuckling music (perhaps).
- LAUNCELOT races through into the castle screaming.
-SECOND SENTRY: Hey!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.128 b/source/ap/vim/patches/7.3.128
deleted file mode 100644
index d44386882..000000000
--- a/source/ap/vim/patches/7.3.128
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.128
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.128
-Problem: Another compiler warning for signed pointer.
-Solution: Use unsigned int argument for sscanf().
-Files: src/mark.c
-
-
-*** ../vim-7.3.127/src/mark.c 2010-08-15 21:57:25.000000000 +0200
---- src/mark.c 2010-12-17 20:00:05.000000000 +0100
-***************
-*** 1750,1756 ****
- {
- if (line[1] != NUL)
- {
-! sscanf((char *)line + 2, "%ld %u", &pos.lnum, &pos.col);
- switch (line[1])
- {
- case '"': curbuf->b_last_cursor = pos; break;
---- 1750,1759 ----
- {
- if (line[1] != NUL)
- {
-! unsigned u;
-!
-! sscanf((char *)line + 2, "%ld %u", &pos.lnum, &u);
-! pos.col = u;
- switch (line[1])
- {
- case '"': curbuf->b_last_cursor = pos; break;
-*** ../vim-7.3.127/src/version.c 2011-02-25 14:46:06.000000000 +0100
---- src/version.c 2011-02-25 15:10:34.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 128,
- /**/
-
---
-FATHER: Who are you?
-PRINCE: I'm ... your son ...
-FATHER: Not you.
-LAUNCELOT: I'm ... er ... Sir Launcelot, sir.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.129 b/source/ap/vim/patches/7.3.129
deleted file mode 100644
index 10f11d61c..000000000
--- a/source/ap/vim/patches/7.3.129
+++ /dev/null
@@ -1,241 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.129
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.129
-Problem: Using integer like a boolean.
-Solution: Nicer check for integer being non-zero.
-Files: src/tag.c
-
-
-*** ../vim-7.3.128/src/tag.c 2010-12-17 18:06:00.000000000 +0100
---- src/tag.c 2010-12-17 17:49:35.000000000 +0100
-***************
-*** 204,210 ****
- else
- {
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! if (g_do_tagpreview)
- use_tagstack = FALSE;
- else
- #endif
---- 204,210 ----
- else
- {
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! if (g_do_tagpreview != 0)
- use_tagstack = FALSE;
- else
- #endif
-***************
-*** 222,228 ****
- ))
- {
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! if (g_do_tagpreview)
- {
- if (ptag_entry.tagname != NULL
- && STRCMP(ptag_entry.tagname, tag) == 0)
---- 222,228 ----
- ))
- {
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! if (g_do_tagpreview != 0)
- {
- if (ptag_entry.tagname != NULL
- && STRCMP(ptag_entry.tagname, tag) == 0)
-***************
-*** 278,284 ****
- {
- if (
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! g_do_tagpreview ? ptag_entry.tagname == NULL :
- #endif
- tagstacklen == 0)
- {
---- 278,284 ----
- {
- if (
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! g_do_tagpreview != 0 ? ptag_entry.tagname == NULL :
- #endif
- tagstacklen == 0)
- {
-***************
-*** 361,367 ****
- )
- {
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! if (g_do_tagpreview)
- {
- cur_match = ptag_entry.cur_match;
- cur_fnum = ptag_entry.cur_fnum;
---- 361,367 ----
- )
- {
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! if (g_do_tagpreview != 0)
- {
- cur_match = ptag_entry.cur_match;
- cur_fnum = ptag_entry.cur_fnum;
-***************
-*** 399,405 ****
- prevtagstackidx = tagstackidx;
-
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! if (g_do_tagpreview)
- {
- cur_match = ptag_entry.cur_match;
- cur_fnum = ptag_entry.cur_fnum;
---- 399,405 ----
- prevtagstackidx = tagstackidx;
-
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! if (g_do_tagpreview != 0)
- {
- cur_match = ptag_entry.cur_match;
- cur_fnum = ptag_entry.cur_fnum;
-***************
-*** 437,443 ****
- }
-
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! if (g_do_tagpreview)
- {
- if (type != DT_SELECT && type != DT_JUMP)
- {
---- 437,443 ----
- }
-
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! if (g_do_tagpreview != 0)
- {
- if (type != DT_SELECT && type != DT_JUMP)
- {
-***************
-*** 492,498 ****
- if (use_tagstack)
- name = tagstack[tagstackidx].tagname;
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! else if (g_do_tagpreview)
- name = ptag_entry.tagname;
- #endif
- else
---- 492,498 ----
- if (use_tagstack)
- name = tagstack[tagstackidx].tagname;
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! else if (g_do_tagpreview != 0)
- name = ptag_entry.tagname;
- #endif
- else
-***************
-*** 620,626 ****
- parse_match(matches[i], &tagp);
- if (!new_tag && (
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! (g_do_tagpreview
- && i == ptag_entry.cur_match) ||
- #endif
- (use_tagstack
---- 620,626 ----
- parse_match(matches[i], &tagp);
- if (!new_tag && (
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! (g_do_tagpreview != 0
- && i == ptag_entry.cur_match) ||
- #endif
- (use_tagstack
-***************
-*** 962,968 ****
- ++tagstackidx;
- }
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! else if (g_do_tagpreview)
- {
- ptag_entry.cur_match = cur_match;
- ptag_entry.cur_fnum = cur_fnum;
---- 962,968 ----
- ++tagstackidx;
- }
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! else if (g_do_tagpreview != 0)
- {
- ptag_entry.cur_match = cur_match;
- ptag_entry.cur_fnum = cur_fnum;
-***************
-*** 3110,3116 ****
- #endif
-
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! if (g_do_tagpreview)
- {
- postponed_split = 0; /* don't split again below */
- curwin_save = curwin; /* Save current window */
---- 3110,3116 ----
- #endif
-
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! if (g_do_tagpreview != 0)
- {
- postponed_split = 0; /* don't split again below */
- curwin_save = curwin; /* Save current window */
-***************
-*** 3148,3154 ****
- /* A :ta from a help file will keep the b_help flag set. For ":ptag"
- * we need to use the flag from the window where we came from. */
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! if (g_do_tagpreview)
- keep_help_flag = curwin_save->w_buffer->b_help;
- else
- #endif
---- 3148,3154 ----
- /* A :ta from a help file will keep the b_help flag set. For ":ptag"
- * we need to use the flag from the window where we came from. */
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! if (g_do_tagpreview != 0)
- keep_help_flag = curwin_save->w_buffer->b_help;
- else
- #endif
-***************
-*** 3322,3328 ****
- }
-
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! if (g_do_tagpreview && curwin != curwin_save && win_valid(curwin_save))
- {
- /* Return cursor to where we were */
- validate_cursor();
---- 3322,3329 ----
- }
-
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
-! if (g_do_tagpreview != 0
-! && curwin != curwin_save && win_valid(curwin_save))
- {
- /* Return cursor to where we were */
- validate_cursor();
-*** ../vim-7.3.128/src/version.c 2011-02-25 15:11:17.000000000 +0100
---- src/version.c 2011-02-25 15:12:25.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 129,
- /**/
-
---
-PRINCE: He's come to rescue me, father.
-LAUNCELOT: (embarrassed) Well, let's not jump to conclusions ...
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.130 b/source/ap/vim/patches/7.3.130
deleted file mode 100644
index 3f7db7653..000000000
--- a/source/ap/vim/patches/7.3.130
+++ /dev/null
@@ -1,74 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.130
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.130
-Problem: Variable misplaced in #ifdef.
-Solution: Move clipboard_event_time outside of #ifdef.
-Files: src/gui_gtk_x11.c
-
-
-*** ../vim-7.3.129/src/gui_gtk_x11.c 2010-08-15 21:57:31.000000000 +0200
---- src/gui_gtk_x11.c 2010-12-04 15:26:41.000000000 +0100
-***************
-*** 86,94 ****
-
- #ifdef HAVE_X11_SUNKEYSYM_H
- # include <X11/Sunkeysym.h>
-- static guint32 clipboard_event_time = CurrentTime;
- #endif
-
- /*
- * Easy-to-use macro for multihead support.
- */
---- 86,95 ----
-
- #ifdef HAVE_X11_SUNKEYSYM_H
- # include <X11/Sunkeysym.h>
- #endif
-
-+ static guint32 clipboard_event_time = CurrentTime;
-+
- /*
- * Easy-to-use macro for multihead support.
- */
-***************
-*** 5419,5425 ****
- }
-
- #if defined(FEAT_NETBEANS_INTG)
-! /* Process the queued netbeans messages. */
- netbeans_parse_messages();
- #endif
-
---- 5420,5426 ----
- }
-
- #if defined(FEAT_NETBEANS_INTG)
-! /* Process any queued netbeans messages. */
- netbeans_parse_messages();
- #endif
-
-*** ../vim-7.3.129/src/version.c 2011-02-25 15:13:43.000000000 +0100
---- src/version.c 2011-02-25 15:15:02.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 130,
- /**/
-
---
-A vacation is a period of travel during which you find that you
-took twice as many clothes and half as much money as you needed.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.131 b/source/ap/vim/patches/7.3.131
deleted file mode 100644
index e142059f0..000000000
--- a/source/ap/vim/patches/7.3.131
+++ /dev/null
@@ -1,47 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.131
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.131
-Problem: Including errno.h too often.
-Solution: Don't include errno.h in Unix header file.
-Files: src/os_unix.h
-
-
-*** ../vim-7.3.130/src/os_unix.h 2010-08-15 21:57:28.000000000 +0200
---- src/os_unix.h 2010-12-17 20:05:34.000000000 +0100
-***************
-*** 184,193 ****
-
- #define BASENAMELEN (MAXNAMLEN - 5)
-
-- #ifdef HAVE_ERRNO_H
-- # include <errno.h>
-- #endif
--
- #ifdef HAVE_PWD_H
- # include <pwd.h>
- #endif
---- 184,189 ----
-*** ../vim-7.3.130/src/version.c 2011-02-25 15:15:43.000000000 +0100
---- src/version.c 2011-02-25 15:16:49.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 131,
- /**/
-
---
-Overflow on /dev/null, please empty the bit bucket.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.132 b/source/ap/vim/patches/7.3.132
deleted file mode 100644
index 2f0753dff..000000000
--- a/source/ap/vim/patches/7.3.132
+++ /dev/null
@@ -1,82 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.132
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.132
-Problem: C++ style comments.
-Solution: Change to C comments.
-Files: src/if_python3.c
-
-
-*** ../vim-7.3.131/src/if_python3.c 2010-11-16 19:25:56.000000000 +0100
---- src/if_python3.c 2011-01-16 01:28:35.000000000 +0100
-***************
-*** 22,29 ****
- * Adaptations to support both python3.x and python2.x
- */
-
-! // uncomment this if used with the debug version of python
-! // #define Py_DEBUG
-
- #include "vim.h"
-
---- 22,29 ----
- * Adaptations to support both python3.x and python2.x
- */
-
-! /* uncomment this if used with the debug version of python */
-! /* #define Py_DEBUG */
-
- #include "vim.h"
-
-***************
-*** 74,80 ****
- #define PyString_Size(obj) PyUnicode_GET_SIZE(obj)
- #define PyString_FromString(repr) PyUnicode_FromString(repr)
-
-! #if defined(DYNAMIC_PYTHON3)
-
- # ifndef WIN3264
- # include <dlfcn.h>
---- 74,80 ----
- #define PyString_Size(obj) PyUnicode_GET_SIZE(obj)
- #define PyString_FromString(repr) PyUnicode_FromString(repr)
-
-! #if defined(DYNAMIC_PYTHON3) || defined(PROTO)
-
- # ifndef WIN3264
- # include <dlfcn.h>
-*** ../vim-7.3.131/src/version.c 2011-02-25 15:17:14.000000000 +0100
---- src/version.c 2011-02-25 15:18:18.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 132,
- /**/
-
---
- ** Hello and Welcome to the Psychiatric Hotline **
-If you are obsessive-compulsive, please press 1 repeatedly.
-If you are co-dependent, please ask someone to press 2.
-If you have multiple personalities, please press 3, 4, 5 and 6.
-If you are paranoid-delusional, we know who you are and what you want
- - just stay on the line so we can trace the call.
-If you are schizophrenic, listen carefully and a little voice will
- tell you which number to press next.
-If you are manic-depressive, it doesn't matter which number you press
- - no one will answer.
-If you suffer from panic attacks, push every button you can find.
-If you are sane, please hold on - we have the rest of humanity on the
- other line and they desparately want to ask you a few questions.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.133 b/source/ap/vim/patches/7.3.133
deleted file mode 100644
index d7d995181..000000000
--- a/source/ap/vim/patches/7.3.133
+++ /dev/null
@@ -1,122 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.133
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.133
-Problem: When using encryption it's not clear what method was used.
-Solution: In the file message show "blowfish" when using blowfish.
-Files: src/fileio.c
-
-
-*** ../vim-7.3.132/src/fileio.c 2011-02-15 17:39:14.000000000 +0100
---- src/fileio.c 2011-02-25 16:30:19.000000000 +0100
-***************
-*** 250,255 ****
---- 250,256 ----
- #ifdef FEAT_CRYPT
- char_u *cryptkey = NULL;
- int did_ask_for_key = FALSE;
-+ int crypt_method_used;
- #endif
- #ifdef FEAT_PERSISTENT_UNDO
- context_sha256_T sha_ctx;
-***************
-*** 2289,2294 ****
---- 2290,2296 ----
- save_file_ff(curbuf); /* remember the current file format */
-
- #ifdef FEAT_CRYPT
-+ crypt_method_used = use_crypt_method;
- if (cryptkey != NULL)
- {
- crypt_pop_state();
-***************
-*** 2483,2489 ****
- #ifdef FEAT_CRYPT
- if (cryptkey != NULL)
- {
-! STRCAT(IObuff, _("[crypted]"));
- c = TRUE;
- }
- #endif
---- 2485,2494 ----
- #ifdef FEAT_CRYPT
- if (cryptkey != NULL)
- {
-! if (crypt_method_used == 1)
-! STRCAT(IObuff, _("[blowfish]"));
-! else
-! STRCAT(IObuff, _("[crypted]"));
- c = TRUE;
- }
- #endif
-***************
-*** 3199,3204 ****
---- 3204,3212 ----
- int write_undo_file = FALSE;
- context_sha256_T sha_ctx;
- #endif
-+ #ifdef FEAT_CRYPT
-+ int crypt_method_used;
-+ #endif
-
- if (fname == NULL || *fname == NUL) /* safety check */
- return FAIL;
-***************
-*** 4728,4733 ****
---- 4736,4742 ----
- mch_set_acl(wfname, acl);
- #endif
- #ifdef FEAT_CRYPT
-+ crypt_method_used = use_crypt_method;
- if (wb_flags & FIO_ENCRYPTED)
- crypt_pop_state();
- #endif
-***************
-*** 4882,4888 ****
- #ifdef FEAT_CRYPT
- if (wb_flags & FIO_ENCRYPTED)
- {
-! STRCAT(IObuff, _("[crypted]"));
- c = TRUE;
- }
- #endif
---- 4891,4900 ----
- #ifdef FEAT_CRYPT
- if (wb_flags & FIO_ENCRYPTED)
- {
-! if (crypt_method_used == 1)
-! STRCAT(IObuff, _("[blowfish]"));
-! else
-! STRCAT(IObuff, _("[crypted]"));
- c = TRUE;
- }
- #endif
-*** ../vim-7.3.132/src/version.c 2011-02-25 15:18:46.000000000 +0100
---- src/version.c 2011-02-25 16:42:58.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 133,
- /**/
-
---
- [clop clop]
-GUARD #1: Halt! Who goes there?
-ARTHUR: It is I, Arthur, son of Uther Pendragon, from the castle of
- Camelot. King of the Britons, defeator of the Saxons, sovereign of
- all England!
-GUARD #1: Pull the other one!
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.134 b/source/ap/vim/patches/7.3.134
deleted file mode 100644
index cb20ce43a..000000000
--- a/source/ap/vim/patches/7.3.134
+++ /dev/null
@@ -1,51 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.134
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.134
-Problem: Drag-n-drop doesn't work in KDE Dolphin.
-Solution: Add GDK_ACTION_MOVE flag. (Florian Degner)
-Files: src/gui_gtk_x11.c
-
-
-*** ../vim-7.3.133/src/gui_gtk_x11.c 2011-02-25 15:15:43.000000000 +0100
---- src/gui_gtk_x11.c 2011-02-25 17:07:36.000000000 +0100
-***************
-*** 3094,3100 ****
- gtk_drag_dest_set(gui.drawarea,
- GTK_DEST_DEFAULT_ALL,
- targets, n_targets,
-! GDK_ACTION_COPY);
- }
-
- /*
---- 3094,3100 ----
- gtk_drag_dest_set(gui.drawarea,
- GTK_DEST_DEFAULT_ALL,
- targets, n_targets,
-! GDK_ACTION_COPY | GDK_ACTION_MOVE);
- }
-
- /*
-*** ../vim-7.3.133/src/version.c 2011-02-25 16:52:13.000000000 +0100
---- src/version.c 2011-02-25 17:08:35.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 134,
- /**/
-
---
-Proverb: A nightingale that forgets the lyrics is a hummingbird.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.135 b/source/ap/vim/patches/7.3.135
deleted file mode 100644
index ca1ebd68d..000000000
--- a/source/ap/vim/patches/7.3.135
+++ /dev/null
@@ -1,90 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.135
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.135
-Problem: When there is no previous substitute pattern, the previous search
- pattern is used. The other way around doesn't work.
-Solution: When there is no previous search pattern, use the previous
- substitute pattern if possible. (Christian Brabandt)
-Files: src/search.c
-
-
-*** ../vim-7.3.134/src/search.c 2010-09-21 16:56:29.000000000 +0200
---- src/search.c 2011-02-25 18:36:56.000000000 +0100
-***************
-*** 1161,1172 ****
- {
- if (spats[RE_SEARCH].pat == NULL) /* no previous pattern */
- {
-! EMSG(_(e_noprevre));
-! retval = 0;
-! goto end_do_search;
- }
-- /* make search_regcomp() use spats[RE_SEARCH].pat */
-- searchstr = (char_u *)"";
- }
-
- if (pat != NULL && *pat != NUL) /* look for (new) offset */
---- 1161,1180 ----
- {
- if (spats[RE_SEARCH].pat == NULL) /* no previous pattern */
- {
-! pat = spats[RE_SUBST].pat;
-! if (pat == NULL)
-! {
-! EMSG(_(e_noprevre));
-! retval = 0;
-! goto end_do_search;
-! }
-! searchstr = pat;
-! }
-! else
-! {
-! /* make search_regcomp() use spats[RE_SEARCH].pat */
-! searchstr = (char_u *)"";
- }
- }
-
- if (pat != NULL && *pat != NUL) /* look for (new) offset */
-***************
-*** 4527,4533 ****
- #if defined(FEAT_FIND_ID) || defined(PROTO)
- /*
- * Find identifiers or defines in included files.
-! * if p_ic && (compl_cont_status & CONT_SOL) then ptr must be in lowercase.
- */
- void
- find_pattern_in_path(ptr, dir, len, whole, skip_comments,
---- 4535,4541 ----
- #if defined(FEAT_FIND_ID) || defined(PROTO)
- /*
- * Find identifiers or defines in included files.
-! * If p_ic && (compl_cont_status & CONT_SOL) then ptr must be in lowercase.
- */
- void
- find_pattern_in_path(ptr, dir, len, whole, skip_comments,
-*** ../vim-7.3.134/src/version.c 2011-02-25 17:10:22.000000000 +0100
---- src/version.c 2011-02-25 18:35:30.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 135,
- /**/
-
---
-A real patriot is the fellow who gets a parking ticket and rejoices
-that the system works.
-
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.136 b/source/ap/vim/patches/7.3.136
deleted file mode 100644
index 87acecb63..000000000
--- a/source/ap/vim/patches/7.3.136
+++ /dev/null
@@ -1,51 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.136
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.136
-Problem: Duplicate include of assert.h.
-Solution: Remove it.
-Files: src/if_cscope.c
-
-
-*** ../vim-7.3.135/src/if_cscope.c 2010-12-30 11:41:05.000000000 +0100
---- src/if_cscope.c 2011-03-03 15:01:15.000000000 +0100
-***************
-*** 13,19 ****
-
- #if defined(FEAT_CSCOPE) || defined(PROTO)
-
-- #include <assert.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #if defined(UNIX)
---- 13,18 ----
-*** ../vim-7.3.135/src/version.c 2011-02-25 18:38:29.000000000 +0100
---- src/version.c 2011-03-03 14:59:32.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 136,
- /**/
-
---
-ARTHUR: You fight with the strength of many men, Sir knight.
- I am Arthur, King of the Britons. [pause]
- I seek the finest and the bravest knights in the land to join me
- in my Court of Camelot. [pause]
- You have proved yourself worthy; will you join me? [pause]
- You make me sad. So be it. Come, Patsy.
-BLACK KNIGHT: None shall pass.
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.137 b/source/ap/vim/patches/7.3.137
deleted file mode 100644
index 91f68ed35..000000000
--- a/source/ap/vim/patches/7.3.137
+++ /dev/null
@@ -1,81 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.137
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.137 (after 7.3.091)
-Problem: When 'lazyredraw' is set the screen may not be updated. (Ivan
- Krasilnikov)
-Solution: Call update_screen() before waiting for input.
-Files: src/misc1.c, src/getchar.c
-
-
-*** ../vim-7.3.136/src/misc1.c 2011-01-22 00:11:42.000000000 +0100
---- src/misc1.c 2011-03-03 14:02:02.000000000 +0100
-***************
-*** 3115,3121 ****
---- 3115,3129 ----
- continue;
-
- if (n == KEYLEN_REMOVED) /* key code removed */
-+ {
-+ if (must_redraw)
-+ {
-+ /* Redrawing was postponed, do it now. */
-+ update_screen(0);
-+ setcursor(); /* put cursor back where it belongs */
-+ }
- continue;
-+ }
- if (n > 0) /* found a termcode: adjust length */
- len = n;
- if (len == 0) /* nothing typed yet */
-*** ../vim-7.3.136/src/getchar.c 2010-12-30 12:30:26.000000000 +0100
---- src/getchar.c 2011-03-03 14:01:26.000000000 +0100
-***************
-*** 2710,2717 ****
- * are still available. But when those available characters
- * are part of a mapping, and we are going to do a blocking
- * wait here. Need to update the screen to display the
-! * changed text so far. */
-! if ((State & INSERT) && advance && must_redraw != 0)
- {
- update_screen(0);
- setcursor(); /* put cursor back where it belongs */
---- 2710,2719 ----
- * are still available. But when those available characters
- * are part of a mapping, and we are going to do a blocking
- * wait here. Need to update the screen to display the
-! * changed text so far. Also for when 'lazyredraw' is set and
-! * redrawing was postponed because there was something in the
-! * input buffer (e.g., termresponse). */
-! if (((State & INSERT) || p_lz) && advance && must_redraw != 0)
- {
- update_screen(0);
- setcursor(); /* put cursor back where it belongs */
-*** ../vim-7.3.136/src/version.c 2011-03-03 15:01:25.000000000 +0100
---- src/version.c 2011-03-03 15:02:45.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 137,
- /**/
-
---
-ARTHUR: What?
-BLACK KNIGHT: None shall pass.
-ARTHUR: I have no quarrel with you, good Sir knight, but I must cross
- this bridge.
-BLACK KNIGHT: Then you shall die.
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.138 b/source/ap/vim/patches/7.3.138
deleted file mode 100644
index e045e7904..000000000
--- a/source/ap/vim/patches/7.3.138
+++ /dev/null
@@ -1,69 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.138
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.138
-Problem: ":com" changes the multi-byte text of :echo. (Dimitar Dimitrov)
-Solution: Search for K_SPECIAL as a byte, not a character. (Ben Schmidt)
-Files: src/ex_docmd.c
-
-
-*** ../vim-7.3.137/src/ex_docmd.c 2011-01-17 19:50:01.000000000 +0100
---- src/ex_docmd.c 2011-03-03 15:47:00.000000000 +0100
-***************
-*** 6054,6068 ****
- end = vim_strchr(start + 1, '>');
- if (buf != NULL)
- {
-! ksp = vim_strchr(p, K_SPECIAL);
-! if (ksp != NULL && (start == NULL || ksp < start || end == NULL)
- && ((ksp[1] == KS_SPECIAL && ksp[2] == KE_FILLER)
- # ifdef FEAT_GUI
- || (ksp[1] == KS_EXTRA && ksp[2] == (int)KE_CSI)
- # endif
- ))
- {
-! /* K_SPECIAL han been put in the buffer as K_SPECIAL
- * KS_SPECIAL KE_FILLER, like for mappings, but
- * do_cmdline() doesn't handle that, so convert it back.
- * Also change K_SPECIAL KS_EXTRA KE_CSI into CSI. */
---- 6054,6070 ----
- end = vim_strchr(start + 1, '>');
- if (buf != NULL)
- {
-! for (ksp = p; *ksp != NUL && *ksp != K_SPECIAL; ++ksp)
-! ;
-! if (*ksp == K_SPECIAL
-! && (start == NULL || ksp < start || end == NULL)
- && ((ksp[1] == KS_SPECIAL && ksp[2] == KE_FILLER)
- # ifdef FEAT_GUI
- || (ksp[1] == KS_EXTRA && ksp[2] == (int)KE_CSI)
- # endif
- ))
- {
-! /* K_SPECIAL has been put in the buffer as K_SPECIAL
- * KS_SPECIAL KE_FILLER, like for mappings, but
- * do_cmdline() doesn't handle that, so convert it back.
- * Also change K_SPECIAL KS_EXTRA KE_CSI into CSI. */
-*** ../vim-7.3.137/src/version.c 2011-03-03 15:04:01.000000000 +0100
---- src/version.c 2011-03-03 15:53:41.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 138,
- /**/
-
---
- f y cn rd ths thn y cn hv grt jb n cmptr prgrmmng
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.139 b/source/ap/vim/patches/7.3.139
deleted file mode 100644
index 057bf655e..000000000
--- a/source/ap/vim/patches/7.3.139
+++ /dev/null
@@ -1,111 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.139
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.139 (after 7.3.137)
-Problem: When 'lazyredraw' is set ":ver" output can't be read.
-Solution: Don't redraw the screen when at a prompt or command line.
-Files: src/getchar.c, src/message.c, src/misc1.c
-
-
-*** ../vim-7.3.138/src/getchar.c 2011-03-03 15:04:01.000000000 +0100
---- src/getchar.c 2011-03-22 12:16:23.000000000 +0100
-***************
-*** 2713,2719 ****
- * changed text so far. Also for when 'lazyredraw' is set and
- * redrawing was postponed because there was something in the
- * input buffer (e.g., termresponse). */
-! if (((State & INSERT) || p_lz) && advance && must_redraw != 0)
- {
- update_screen(0);
- setcursor(); /* put cursor back where it belongs */
---- 2713,2720 ----
- * changed text so far. Also for when 'lazyredraw' is set and
- * redrawing was postponed because there was something in the
- * input buffer (e.g., termresponse). */
-! if (((State & INSERT) != 0 || p_lz) && (State & CMDLINE) == 0
-! && advance && must_redraw != 0 && !need_wait_return)
- {
- update_screen(0);
- setcursor(); /* put cursor back where it belongs */
-*** ../vim-7.3.138/src/message.c 2011-02-01 17:12:20.000000000 +0100
---- src/message.c 2011-03-22 13:06:24.000000000 +0100
-***************
-*** 879,894 ****
- if (msg_silent != 0)
- return;
-
-! /*
-! * With the global command (and some others) we only need one return at the
-! * end. Adjust cmdline_row to avoid the next message overwriting the last one.
-! * When inside vgetc(), we can't wait for a typed character at all.
-! */
- if (vgetc_busy > 0)
- return;
- if (no_wait_return)
- {
-- need_wait_return = TRUE;
- if (!exmode_active)
- cmdline_row = msg_row;
- return;
---- 879,895 ----
- if (msg_silent != 0)
- return;
-
-! /*
-! * When inside vgetc(), we can't wait for a typed character at all.
-! * With the global command (and some others) we only need one return at
-! * the end. Adjust cmdline_row to avoid the next message overwriting the
-! * last one.
-! */
- if (vgetc_busy > 0)
- return;
-+ need_wait_return = TRUE;
- if (no_wait_return)
- {
- if (!exmode_active)
- cmdline_row = msg_row;
- return;
-*** ../vim-7.3.138/src/misc1.c 2011-03-03 15:04:01.000000000 +0100
---- src/misc1.c 2011-03-22 12:15:26.000000000 +0100
-***************
-*** 3116,3122 ****
-
- if (n == KEYLEN_REMOVED) /* key code removed */
- {
-! if (must_redraw)
- {
- /* Redrawing was postponed, do it now. */
- update_screen(0);
---- 3116,3122 ----
-
- if (n == KEYLEN_REMOVED) /* key code removed */
- {
-! if (must_redraw != 0 && !need_wait_return && (State & CMDLINE) == 0)
- {
- /* Redrawing was postponed, do it now. */
- update_screen(0);
-*** ../vim-7.3.138/src/version.c 2011-03-03 15:54:45.000000000 +0100
---- src/version.c 2011-03-22 13:06:33.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 139,
- /**/
-
---
-"Software is like sex... it's better when it's free."
- -- Linus Torvalds, initiator of the free Linux OS
-Makes me wonder what FSF stands for...?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.140 b/source/ap/vim/patches/7.3.140
deleted file mode 100644
index 53c3aafb0..000000000
--- a/source/ap/vim/patches/7.3.140
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.140
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.140
-Problem: Crash when drawing the "$" at end-of-line for list mode just after
- the window border and 'cursorline' is set.
-Solution: Don't check for 'cursorline'. (Quentin Carbonneaux)
-Files: src/screen.c
-
-
-*** ../vim-7.3.139/src/screen.c 2011-02-09 17:09:26.000000000 +0100
---- src/screen.c 2011-03-22 13:29:04.000000000 +0100
-***************
-*** 5099,5109 ****
- #ifdef FEAT_DIFF
- || filler_todo > 0
- #endif
-! || (wp->w_p_list && lcs_eol != NUL && p_extra != at_end_str
-! #ifdef FEAT_SYN_HL
-! && !wp->w_p_cul
-! #endif
-! )
- || (n_extra != 0 && (c_extra != NUL || *p_extra != NUL)))
- )
- {
---- 5099,5105 ----
- #ifdef FEAT_DIFF
- || filler_todo > 0
- #endif
-! || (wp->w_p_list && lcs_eol != NUL && p_extra != at_end_str)
- || (n_extra != 0 && (c_extra != NUL || *p_extra != NUL)))
- )
- {
-*** ../vim-7.3.139/src/version.c 2011-03-22 13:07:19.000000000 +0100
---- src/version.c 2011-03-22 13:27:26.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 140,
- /**/
-
---
-Lawmakers made it obligatory for everybody to take at least one bath
-each week -- on Saturday night.
- [real standing law in Vermont, United States of America]
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.141 b/source/ap/vim/patches/7.3.141
deleted file mode 100644
index deb001b70..000000000
--- a/source/ap/vim/patches/7.3.141
+++ /dev/null
@@ -1,94 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.141
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.141
-Problem: When a key code is not set get a confusing error message.
-Solution: Change the error message to say the key code is not set.
-Files: src/option.c, runtime/doc/options.txt
-
-
-*** ../vim-7.3.140/src/option.c 2011-01-22 00:11:42.000000000 +0100
---- src/option.c 2011-03-22 14:25:52.000000000 +0100
-***************
-*** 4352,4358 ****
- p = find_termcode(key_name);
- if (p == NULL)
- {
-! errmsg = (char_u *)N_("E518: Unknown option");
- goto skip;
- }
- else
---- 4352,4358 ----
- p = find_termcode(key_name);
- if (p == NULL)
- {
-! errmsg = (char_u *)N_("E846: Key code not set");
- goto skip;
- }
- else
-***************
-*** 4700,4707 ****
- || s[i] == ','
- || s[i] == NUL))
- break;
-! /* Count backspaces. Only a comma with an
-! * even number of backspaces before it is
- * recognized as a separator */
- if (s > origval && s[-1] == '\\')
- ++bs;
---- 4700,4707 ----
- || s[i] == ','
- || s[i] == NUL))
- break;
-! /* Count backslashes. Only a comma with an
-! * even number of backslashes before it is
- * recognized as a separator */
- if (s > origval && s[-1] == '\\')
- ++bs;
-*** ../vim-7.3.140/runtime/doc/options.txt 2010-12-02 21:43:10.000000000 +0100
---- runtime/doc/options.txt 2011-03-22 14:32:14.000000000 +0100
-***************
-*** 150,155 ****
---- 150,167 ----
- (the ^[ is a real <Esc> here, use CTRL-V <Esc> to enter it)
- The advantage over a mapping is that it works in all situations.
-
-+ You can define any key codes, e.g.: >
-+ :set t_xy=^[foo;
-+ There is no warning for using a name that isn't recognized. You can map these
-+ codes as you like: >
-+ :map <t_xy> something
-+ < *E846*
-+ When a key code is not set, it's like it does not exist. Trying to get its
-+ value will result in an error: >
-+ :set t_kb=
-+ :set t_kb
-+ E846: Key code not set: t_kb
-+
- The t_xx options cannot be set from a |modeline| or in the |sandbox|, for
- security reasons.
-
-*** ../vim-7.3.140/src/version.c 2011-03-22 13:29:20.000000000 +0100
---- src/version.c 2011-03-22 14:32:59.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 141,
- /**/
-
---
-"I know that there are people who don't love their fellow man,
-and I hate those people!" - Tom Lehrer
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.142 b/source/ap/vim/patches/7.3.142
deleted file mode 100644
index 6574f71f1..000000000
--- a/source/ap/vim/patches/7.3.142
+++ /dev/null
@@ -1,85 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.142
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.142
-Problem: Python stdout doesn't have a flush() method, causing an import to
- fail.
-Solution: Add a dummy flush() method. (Tobias Columbus)
-Files: src/if_py_both.h
-
-
-*** ../vim-7.3.141/src/if_py_both.h 2010-10-27 12:17:54.000000000 +0200
---- src/if_py_both.h 2011-03-22 15:37:43.000000000 +0100
-***************
-*** 33,38 ****
---- 33,39 ----
-
- static PyObject *OutputWrite(PyObject *, PyObject *);
- static PyObject *OutputWritelines(PyObject *, PyObject *);
-+ static PyObject *OutputFlush(PyObject *, PyObject *);
-
- /* Function to write a line, points to either msg() or emsg(). */
- typedef void (*writefn)(char_u *);
-***************
-*** 47,55 ****
-
- static struct PyMethodDef OutputMethods[] = {
- /* name, function, calling, documentation */
-! {"write", OutputWrite, 1, "" },
-! {"writelines", OutputWritelines, 1, "" },
-! { NULL, NULL, 0, NULL }
- };
-
- #define PyErr_SetVim(str) PyErr_SetString(VimError, str)
---- 48,57 ----
-
- static struct PyMethodDef OutputMethods[] = {
- /* name, function, calling, documentation */
-! {"write", OutputWrite, 1, ""},
-! {"writelines", OutputWritelines, 1, ""},
-! {"flush", OutputFlush, 1, ""},
-! { NULL, NULL, 0, NULL}
- };
-
- #define PyErr_SetVim(str) PyErr_SetString(VimError, str)
-***************
-*** 123,128 ****
---- 125,139 ----
- return Py_None;
- }
-
-+ static PyObject *
-+ OutputFlush(PyObject *self UNUSED, PyObject *args UNUSED)
-+ {
-+ /* do nothing */
-+ Py_INCREF(Py_None);
-+ return Py_None;
-+ }
-+
-+
- /* Buffer IO, we write one whole line at a time. */
- static garray_T io_ga = {0, 0, 1, 80, NULL};
- static writefn old_fn = NULL;
-*** ../vim-7.3.141/src/version.c 2011-03-22 14:35:01.000000000 +0100
---- src/version.c 2011-03-22 15:45:38.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 142,
- /**/
-
---
-Living on Earth includes an annual free trip around the Sun.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.143 b/source/ap/vim/patches/7.3.143
deleted file mode 100644
index 82585b0ee..000000000
--- a/source/ap/vim/patches/7.3.143
+++ /dev/null
@@ -1,1520 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.143
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.143
-Problem: Memfile is not tested sufficiently. Looking up blocks in a
- memfile is slow when there are many blocks.
-Solution: Add high level test and unittest. Adjust the number of hash
- buckets to the number of blocks. (Ivan Krasilnikov)
-Files: Filelist, src/Makefile, src/main.c, src/memfile.c,
- src/memfile_test.c src/structs.h src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mak,
- src/testdir/Makefile, src/testdir/test77.in, src/testdir/test77.ok
-
-
-*** ../vim-7.3.142/Filelist 2010-08-15 21:57:20.000000000 +0200
---- Filelist 2011-03-22 17:39:22.000000000 +0100
-***************
-*** 39,44 ****
---- 39,45 ----
- src/mark.c \
- src/mbyte.c \
- src/memfile.c \
-+ src/memfile_test.c \
- src/memline.c \
- src/menu.c \
- src/message.c \
-***************
-*** 686,691 ****
---- 687,694 ----
- runtime/tutor/tutor.utf-8 \
- runtime/tutor/tutor.?? \
- runtime/tutor/tutor.??.* \
-+ runtime/tutor/tutor.bar \
-+ runtime/tutor/tutor.bar.* \
- runtime/spell/README.txt \
- runtime/spell/??/*.diff \
- runtime/spell/??/main.aap \
-*** ../vim-7.3.142/src/Makefile 2011-02-15 15:27:00.000000000 +0100
---- src/Makefile 2011-03-22 18:07:25.000000000 +0100
-***************
-*** 561,567 ****
- #CFLAGS = -g -O2 '-DSTARTUPTIME="vimstartup"' -fno-strength-reduce -Wall -Wmissing-prototypes
-
- # Use this with GCC to check for mistakes, unused arguments, etc.
-! #CFLAGS = -g -Wall -Wextra -Wmissing-prototypes -Wunreachable-code -D_FORTIFY_SOURCE=1 -DU_DEBUG
- #CFLAGS = -g -O2 -Wall -Wextra -Wmissing-prototypes -D_FORTIFY_SOURCE=1 -DU_DEBUG
- #PYTHON_CFLAGS_EXTRA = -Wno-missing-field-initializers
- #MZSCHEME_CFLAGS_EXTRA = -Wno-unreachable-code -Wno-unused-parameter
---- 561,567 ----
- #CFLAGS = -g -O2 '-DSTARTUPTIME="vimstartup"' -fno-strength-reduce -Wall -Wmissing-prototypes
-
- # Use this with GCC to check for mistakes, unused arguments, etc.
-! #CFLAGS = -g -Wall -Wextra -Wmissing-prototypes -Wunreachable-code -D_FORTIFY_SOURCE=1
- #CFLAGS = -g -O2 -Wall -Wextra -Wmissing-prototypes -D_FORTIFY_SOURCE=1 -DU_DEBUG
- #PYTHON_CFLAGS_EXTRA = -Wno-missing-field-initializers
- #MZSCHEME_CFLAGS_EXTRA = -Wno-unreachable-code -Wno-unused-parameter
-***************
-*** 594,601 ****
-
- # PROFILING - Uncomment the next two lines to do profiling with gcc and gprof.
- # Might not work with GUI or Perl.
-! # For unknown reasons adding "-lc" fixes a linking problem with GCC. That's
-! # probably a bug in the "-pg" implementation.
- # Need to recompile everything after changing this: "make clean" "make".
- #PROFILE_CFLAGS = -pg -g -DWE_ARE_PROFILING
- #PROFILE_LIBS = -pg
---- 594,602 ----
-
- # PROFILING - Uncomment the next two lines to do profiling with gcc and gprof.
- # Might not work with GUI or Perl.
-! # For unknown reasons adding "-lc" fixes a linking problem with some versions
-! # of GCC. That's probably a bug in the "-pg" implementation.
-! # After running Vim see the profile result with: gmon vim gmon.out | vim -
- # Need to recompile everything after changing this: "make clean" "make".
- #PROFILE_CFLAGS = -pg -g -DWE_ARE_PROFILING
- #PROFILE_LIBS = -pg
-***************
-*** 606,613 ****
- # Configuration is in the .ccmalloc or ~/.ccmalloc file.
- # Doesn't work very well, since memory linked to from global variables
- # (in libraries) is also marked as leaked memory.
-! #PROFILE_CFLAGS = -DEXITFREE
-! #PROFILE_LIBS = -lccmalloc
-
- #####################################################
- ### Specific systems, check if yours is listed! ### {{{
---- 607,614 ----
- # Configuration is in the .ccmalloc or ~/.ccmalloc file.
- # Doesn't work very well, since memory linked to from global variables
- # (in libraries) is also marked as leaked memory.
-! #LEAK_CFLAGS = -DEXITFREE
-! #LEAK_LIBS = -lccmalloc
-
- #####################################################
- ### Specific systems, check if yours is listed! ### {{{
-***************
-*** 1329,1335 ****
- PRE_DEFS = -Iproto $(DEFS) $(GUI_DEFS) $(GUI_IPATH) $(CPPFLAGS) $(EXTRA_IPATHS)
- POST_DEFS = $(X_CFLAGS) $(MZSCHEME_CFLAGS) $(TCL_CFLAGS) $(EXTRA_DEFS)
-
-! ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(POST_DEFS)
-
- # Exclude $CFLAGS for osdef.sh, for Mac 10.4 some flags don't work together
- # with "-E".
---- 1330,1336 ----
- PRE_DEFS = -Iproto $(DEFS) $(GUI_DEFS) $(GUI_IPATH) $(CPPFLAGS) $(EXTRA_IPATHS)
- POST_DEFS = $(X_CFLAGS) $(MZSCHEME_CFLAGS) $(TCL_CFLAGS) $(EXTRA_DEFS)
-
-! ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(LEAK_CFLAGS) $(POST_DEFS)
-
- # Exclude $CFLAGS for osdef.sh, for Mac 10.4 some flags don't work together
- # with "-E".
-***************
-*** 1358,1364 ****
- $(PYTHON3_LIBS) \
- $(TCL_LIBS) \
- $(RUBY_LIBS) \
-! $(PROFILE_LIBS)
-
- # abbreviations
- DEST_BIN = $(DESTDIR)$(BINDIR)
---- 1359,1366 ----
- $(PYTHON3_LIBS) \
- $(TCL_LIBS) \
- $(RUBY_LIBS) \
-! $(PROFILE_LIBS) \
-! $(LEAK_LIBS)
-
- # abbreviations
- DEST_BIN = $(DESTDIR)$(BINDIR)
-***************
-*** 1480,1487 ****
- if_python.c if_python3.c if_tcl.c if_ruby.c if_sniff.c \
- gui_beval.c workshop.c wsdebug.c integration.c netbeans.c
-
- # All sources, also the ones that are not configured
-! ALL_SRC = $(BASIC_SRC) $(ALL_GUI_SRC) $(EXTRA_SRC)
-
- # Which files to check with lint. Select one of these three lines. ALL_SRC
- # checks more, but may not work well for checking a GUI that wasn't configured.
---- 1482,1496 ----
- if_python.c if_python3.c if_tcl.c if_ruby.c if_sniff.c \
- gui_beval.c workshop.c wsdebug.c integration.c netbeans.c
-
-+ # Unittest files
-+ MEMFILE_TEST_SRC = memfile_test.c
-+ MEMFILE_TEST_TARGET = memfile_test$(EXEEXT)
-+
-+ UNITTEST_SRC = $(MEMFILE_TEST_SRC)
-+ UNITTEST_TARGETS = $(MEMFILE_TEST_TARGET)
-+
- # All sources, also the ones that are not configured
-! ALL_SRC = $(BASIC_SRC) $(ALL_GUI_SRC) $(UNITTEST_SRC) $(EXTRA_SRC)
-
- # Which files to check with lint. Select one of these three lines. ALL_SRC
- # checks more, but may not work well for checking a GUI that wasn't configured.
-***************
-*** 1492,1498 ****
- #LINT_SRC = $(ALL_SRC)
- #LINT_SRC = $(BASIC_SRC)
-
-! OBJ = \
- objects/buffer.o \
- objects/blowfish.o \
- objects/charset.o \
---- 1501,1507 ----
- #LINT_SRC = $(ALL_SRC)
- #LINT_SRC = $(BASIC_SRC)
-
-! OBJ_COMMON = \
- objects/buffer.o \
- objects/blowfish.o \
- objects/charset.o \
-***************
-*** 1513,1522 ****
- $(HANGULIN_OBJ) \
- objects/if_cscope.o \
- objects/if_xcmdsrv.o \
-- objects/main.o \
- objects/mark.o \
-! objects/memfile.o \
-! objects/memline.o \
- objects/menu.o \
- objects/message.o \
- objects/misc1.o \
---- 1522,1529 ----
- $(HANGULIN_OBJ) \
- objects/if_cscope.o \
- objects/if_xcmdsrv.o \
- objects/mark.o \
-! objects/memline.o \
- objects/menu.o \
- objects/message.o \
- objects/misc1.o \
-***************
-*** 1541,1546 ****
---- 1548,1554 ----
- objects/term.o \
- objects/ui.o \
- objects/undo.o \
-+ objects/version.o \
- objects/window.o \
- $(GUI_OBJ) \
- $(LUA_OBJ) \
-***************
-*** 1555,1560 ****
---- 1563,1575 ----
- $(NETBEANS_OBJ) \
- $(WSDEBUG_OBJ)
-
-+ OBJ = $(OBJ_COMMON) \
-+ objects/main.o \
-+ objects/memfile.o \
-+
-+ MEMFILE_TEST_OBJ = $(OBJ_COMMON) \
-+ objects/memfile_test.o
-+
- PRO_AUTO = \
- blowfish.pro \
- buffer.pro \
-***************
-*** 1700,1706 ****
- $(VIMTARGET): auto/config.mk objects $(OBJ) version.c version.h
- $(CCC) version.c -o objects/version.o
- @LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \
-! -o $(VIMTARGET) $(OBJ) objects/version.o $(ALL_LIBS)" \
- MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \
- sh $(srcdir)/link.sh
-
---- 1715,1721 ----
- $(VIMTARGET): auto/config.mk objects $(OBJ) version.c version.h
- $(CCC) version.c -o objects/version.o
- @LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \
-! -o $(VIMTARGET) $(OBJ) $(ALL_LIBS)" \
- MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \
- sh $(srcdir)/link.sh
-
-***************
-*** 1825,1830 ****
---- 1840,1854 ----
- ln -s $(VIMTARGET) vim; \
- fi
- cd testdir; $(MAKE) -f Makefile $(GUI_TESTTARGET) VIMPROG=../$(VIMTARGET) $(GUI_TESTARG)
-+ $(MAKE) -f Makefile unittest
-+
-+ unittesttargets:
-+ $(MAKE) -f Makefile $(UNITTEST_TARGETS)
-+
-+ unittest unittests: $(UNITTEST_TARGETS)
-+ @for t in $(UNITTEST_TARGETS); do \
-+ ./$$t || exit 1; echo $$t passed; \
-+ done
-
- testclean:
- cd testdir; $(MAKE) -f Makefile clean
-***************
-*** 1832,1837 ****
---- 1856,1872 ----
- cd $(PODIR); $(MAKE) checkclean; \
- fi
-
-+ # Unittests
-+ # It's build just like Vim to satisfy all dependencies.
-+ $(MEMFILE_TEST_TARGET): auto/config.mk objects $(MEMFILE_TEST_OBJ)
-+ $(CCC) version.c -o objects/version.o
-+ @LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \
-+ -o $(MEMFILE_TEST_TARGET) $(MEMFILE_TEST_OBJ) $(ALL_LIBS)" \
-+ MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \
-+ sh $(srcdir)/link.sh
-+
-+ # install targets
-+
- install: $(GUI_INSTALL)
-
- install_normal: installvim installtools $(INSTALL_LANGS) install-icons
-***************
-*** 2265,2270 ****
---- 2300,2306 ----
- -rm -f *.o objects/* core $(VIMTARGET).core $(VIMTARGET) vim xxd/*.o
- -rm -f $(TOOLS) auto/osdef.h auto/pathdef.c auto/if_perl.c
- -rm -f conftest* *~ auto/link.sed
-+ -rm -f $(UNITTEST_TARGETS)
- -rm -f runtime pixmaps
- -rm -rf $(APPDIR)
- -rm -rf mzscheme_base.c
-***************
-*** 2559,2564 ****
---- 2595,2603 ----
- objects/memfile.o: memfile.c
- $(CCC) -o $@ memfile.c
-
-+ objects/memfile_test.o: memfile_test.c
-+ $(CCC) -o $@ memfile_test.c
-+
- objects/memline.o: memline.c
- $(CCC) -o $@ memline.c
-
-***************
-*** 2877,2883 ****
- objects/os_unix.o: os_unix.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
- ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
- gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
-! arabic.h if_mzsch.h os_unixx.h
- objects/pathdef.o: auto/pathdef.c vim.h auto/config.h feature.h os_unix.h \
- auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
- regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
---- 2916,2922 ----
- objects/os_unix.o: os_unix.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
- ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
- gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
-! arabic.h os_unixx.h
- objects/pathdef.o: auto/pathdef.c vim.h auto/config.h feature.h os_unix.h \
- auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
- regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
-***************
-*** 3016,3021 ****
---- 3055,3064 ----
- objects/pty.o: pty.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
- keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
- proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h arabic.h
-+ objects/memfile_test.o: memfile_test.c main.c vim.h auto/config.h feature.h \
-+ os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \
-+ structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h \
-+ proto.h globals.h farsi.h arabic.h farsi.c arabic.c memfile.c
- objects/hangulin.o: hangulin.c vim.h auto/config.h feature.h os_unix.h \
- auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
- regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
-***************
-*** 3027,3033 ****
- objects/if_mzsch.o: if_mzsch.c vim.h auto/config.h feature.h os_unix.h \
- auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
- regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
-! globals.h farsi.h arabic.h if_mzsch.h mzscheme_base.c
- objects/if_perl.o: auto/if_perl.c vim.h auto/config.h feature.h os_unix.h \
- auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
- regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
---- 3070,3076 ----
- objects/if_mzsch.o: if_mzsch.c vim.h auto/config.h feature.h os_unix.h \
- auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
- regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
-! globals.h farsi.h arabic.h if_mzsch.h
- objects/if_perl.o: auto/if_perl.c vim.h auto/config.h feature.h os_unix.h \
- auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
- regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
-***************
-*** 3048,3054 ****
- ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
- gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
- arabic.h
-! objects/if_ruby.o: if_ruby.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
- ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
- gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
- arabic.h version.h
---- 3091,3097 ----
- ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
- gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
- arabic.h
-! objects/if_ruby.o: if_ruby.c auto/config.h vim.h feature.h os_unix.h auto/osdef.h \
- ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
- gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
- arabic.h version.h
-*** ../vim-7.3.142/src/main.c 2011-02-15 16:29:54.000000000 +0100
---- src/main.c 2011-03-18 13:19:48.000000000 +0100
-***************
-*** 92,128 ****
- #define EDIT_TAG 3 /* tag name argument given, use tagname */
- #define EDIT_QF 4 /* start in quickfix mode */
-
-! #if defined(UNIX) || defined(VMS)
- static int file_owned __ARGS((char *fname));
- #endif
- static void mainerr __ARGS((int, char_u *));
- static void main_msg __ARGS((char *s));
- static void usage __ARGS((void));
- static int get_number_arg __ARGS((char_u *p, int *idx, int def));
-! #if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
- static void init_locale __ARGS((void));
-! #endif
- static void parse_command_name __ARGS((mparm_T *parmp));
- static void early_arg_scan __ARGS((mparm_T *parmp));
- static void command_line_scan __ARGS((mparm_T *parmp));
- static void check_tty __ARGS((mparm_T *parmp));
- static void read_stdin __ARGS((void));
- static void create_windows __ARGS((mparm_T *parmp));
-! #ifdef FEAT_WINDOWS
- static void edit_buffers __ARGS((mparm_T *parmp));
-! #endif
- static void exe_pre_commands __ARGS((mparm_T *parmp));
- static void exe_commands __ARGS((mparm_T *parmp));
- static void source_startup_scripts __ARGS((mparm_T *parmp));
- static void main_start_gui __ARGS((void));
-! #if defined(HAS_SWAP_EXISTS_ACTION)
- static void check_swap_exists_action __ARGS((void));
-! #endif
-! #ifdef FEAT_CLIENTSERVER
- static void exec_on_server __ARGS((mparm_T *parmp));
- static void prepare_server __ARGS((mparm_T *parmp));
- static void cmdsrv_main __ARGS((int *argc, char **argv, char_u *serverName_arg, char_u **serverStr));
- static char_u *serverMakeName __ARGS((char_u *arg, char *cmd));
- #endif
-
-
---- 92,130 ----
- #define EDIT_TAG 3 /* tag name argument given, use tagname */
- #define EDIT_QF 4 /* start in quickfix mode */
-
-! #if (defined(UNIX) || defined(VMS)) && !defined(NO_VIM_MAIN)
- static int file_owned __ARGS((char *fname));
- #endif
- static void mainerr __ARGS((int, char_u *));
-+ #ifndef NO_VIM_MAIN
- static void main_msg __ARGS((char *s));
- static void usage __ARGS((void));
- static int get_number_arg __ARGS((char_u *p, int *idx, int def));
-! # if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
- static void init_locale __ARGS((void));
-! # endif
- static void parse_command_name __ARGS((mparm_T *parmp));
- static void early_arg_scan __ARGS((mparm_T *parmp));
- static void command_line_scan __ARGS((mparm_T *parmp));
- static void check_tty __ARGS((mparm_T *parmp));
- static void read_stdin __ARGS((void));
- static void create_windows __ARGS((mparm_T *parmp));
-! # ifdef FEAT_WINDOWS
- static void edit_buffers __ARGS((mparm_T *parmp));
-! # endif
- static void exe_pre_commands __ARGS((mparm_T *parmp));
- static void exe_commands __ARGS((mparm_T *parmp));
- static void source_startup_scripts __ARGS((mparm_T *parmp));
- static void main_start_gui __ARGS((void));
-! # if defined(HAS_SWAP_EXISTS_ACTION)
- static void check_swap_exists_action __ARGS((void));
-! # endif
-! # if defined(FEAT_CLIENTSERVER) || defined(PROTO)
- static void exec_on_server __ARGS((mparm_T *parmp));
- static void prepare_server __ARGS((mparm_T *parmp));
- static void cmdsrv_main __ARGS((int *argc, char **argv, char_u *serverName_arg, char_u **serverStr));
- static char_u *serverMakeName __ARGS((char_u *arg, char *cmd));
-+ # endif
- #endif
-
-
-***************
-*** 145,151 ****
- #define ME_INVALID_ARG 5
- };
-
-! #ifndef PROTO /* don't want a prototype for main() */
- int
- # ifdef VIMDLL
- _export
---- 147,154 ----
- #define ME_INVALID_ARG 5
- };
-
-! #ifndef NO_VIM_MAIN /* skip this for unittests */
-! #ifndef PROTO /* don't want a prototype for main() */
- int
- # ifdef VIMDLL
- _export
-***************
-*** 966,971 ****
---- 969,975 ----
- return 0;
- }
- #endif /* PROTO */
-+ #endif /* NO_VIM_MAIN */
-
- /*
- * Main loop: Execute Normal mode commands until exiting Vim.
-***************
-*** 1430,1435 ****
---- 1434,1440 ----
- mch_exit(exitval);
- }
-
-+ #ifndef NO_VIM_MAIN
- /*
- * Get a (optional) count for a Vim argument.
- */
-***************
-*** 2994,2999 ****
---- 2999,3006 ----
- #endif
- }
-
-+ #endif /* NO_VIM_MAIN */
-+
- /*
- * Get an environment variable, and execute it as Ex commands.
- * Returns FAIL if the environment variable was not executed, OK otherwise.
-***************
-*** 3033,3039 ****
- return FAIL;
- }
-
-! #if defined(UNIX) || defined(VMS)
- /*
- * Return TRUE if we are certain the user owns the file "fname".
- * Used for ".vimrc" and ".exrc".
---- 3040,3046 ----
- return FAIL;
- }
-
-! #if (defined(UNIX) || defined(VMS)) && !defined(NO_VIM_MAIN)
- /*
- * Return TRUE if we are certain the user owns the file "fname".
- * Used for ".vimrc" and ".exrc".
-***************
-*** 3091,3096 ****
---- 3098,3104 ----
- mainerr(ME_ARG_MISSING, str);
- }
-
-+ #ifndef NO_VIM_MAIN
- /*
- * print a message with three spaces prepended and '\n' appended.
- */
-***************
-*** 3311,3316 ****
---- 3319,3326 ----
- }
- #endif
-
-+ #endif
-+
- #if defined(STARTUPTIME) || defined(PROTO)
- static void time_diff __ARGS((struct timeval *then, struct timeval *now));
-
-***************
-*** 3420,3426 ****
-
- #endif
-
-! #if defined(FEAT_CLIENTSERVER) || defined(PROTO)
-
- /*
- * Common code for the X command server and the Win32 command server.
---- 3430,3436 ----
-
- #endif
-
-! #if (defined(FEAT_CLIENTSERVER) && !defined(NO_VIM_MAIN)) || defined(PROTO)
-
- /*
- * Common code for the X command server and the Win32 command server.
-***************
-*** 3888,3893 ****
---- 3898,3929 ----
- }
-
- /*
-+ * Make our basic server name: use the specified "arg" if given, otherwise use
-+ * the tail of the command "cmd" we were started with.
-+ * Return the name in allocated memory. This doesn't include a serial number.
-+ */
-+ static char_u *
-+ serverMakeName(arg, cmd)
-+ char_u *arg;
-+ char *cmd;
-+ {
-+ char_u *p;
-+
-+ if (arg != NULL && *arg != NUL)
-+ p = vim_strsave_up(arg);
-+ else
-+ {
-+ p = vim_strsave_up(gettail((char_u *)cmd));
-+ /* Remove .exe or .bat from the name. */
-+ if (p != NULL && vim_strchr(p, '.') != NULL)
-+ *vim_strchr(p, '.') = NUL;
-+ }
-+ return p;
-+ }
-+ #endif /* FEAT_CLIENTSERVER */
-+
-+ #if defined(FEAT_CLIENTSERVER) || defined(PROTO)
-+ /*
- * Replace termcodes such as <CR> and insert as key presses if there is room.
- */
- void
-***************
-*** 3998,4029 ****
- # endif
- return res;
- }
-!
-!
-! /*
-! * Make our basic server name: use the specified "arg" if given, otherwise use
-! * the tail of the command "cmd" we were started with.
-! * Return the name in allocated memory. This doesn't include a serial number.
-! */
-! static char_u *
-! serverMakeName(arg, cmd)
-! char_u *arg;
-! char *cmd;
-! {
-! char_u *p;
-!
-! if (arg != NULL && *arg != NUL)
-! p = vim_strsave_up(arg);
-! else
-! {
-! p = vim_strsave_up(gettail((char_u *)cmd));
-! /* Remove .exe or .bat from the name. */
-! if (p != NULL && vim_strchr(p, '.') != NULL)
-! *vim_strchr(p, '.') = NUL;
-! }
-! return p;
-! }
-! #endif /* FEAT_CLIENTSERVER */
-
- /*
- * When FEAT_FKMAP is defined, also compile the Farsi source code.
---- 4034,4040 ----
- # endif
- return res;
- }
-! #endif
-
- /*
- * When FEAT_FKMAP is defined, also compile the Farsi source code.
-*** ../vim-7.3.142/src/memfile.c 2010-12-17 18:06:00.000000000 +0100
---- src/memfile.c 2011-03-03 18:47:39.000000000 +0100
-***************
-*** 84,89 ****
---- 84,96 ----
- static int mf_write_block __ARGS((memfile_T *mfp, bhdr_T *hp, off_t offset, unsigned size));
- static int mf_trans_add __ARGS((memfile_T *, bhdr_T *));
- static void mf_do_open __ARGS((memfile_T *, char_u *, int));
-+ static void mf_hash_init __ARGS((mf_hashtab_T *));
-+ static void mf_hash_free __ARGS((mf_hashtab_T *));
-+ static void mf_hash_free_all __ARGS((mf_hashtab_T *));
-+ static mf_hashitem_T *mf_hash_find __ARGS((mf_hashtab_T *, blocknr_T));
-+ static void mf_hash_add_item __ARGS((mf_hashtab_T *, mf_hashitem_T *));
-+ static void mf_hash_rem_item __ARGS((mf_hashtab_T *, mf_hashitem_T *));
-+ static int mf_hash_grow __ARGS((mf_hashtab_T *));
-
- /*
- * The functions for using a memfile:
-***************
-*** 119,125 ****
- int flags;
- {
- memfile_T *mfp;
-- int i;
- off_t size;
- #if defined(STATFS) && defined(UNIX) && !defined(__QNX__)
- # define USE_FSTATFS
---- 126,131 ----
-***************
-*** 152,162 ****
- mfp->mf_used_last = NULL;
- mfp->mf_dirty = FALSE;
- mfp->mf_used_count = 0;
-! for (i = 0; i < MEMHASHSIZE; ++i)
-! {
-! mfp->mf_hash[i] = NULL; /* hash lists are empty */
-! mfp->mf_trans[i] = NULL; /* trans lists are empty */
-! }
- mfp->mf_page_size = MEMFILE_PAGE_SIZE;
- #ifdef FEAT_CRYPT
- mfp->mf_old_key = NULL;
---- 158,165 ----
- mfp->mf_used_last = NULL;
- mfp->mf_dirty = FALSE;
- mfp->mf_used_count = 0;
-! mf_hash_init(&mfp->mf_hash);
-! mf_hash_init(&mfp->mf_trans);
- mfp->mf_page_size = MEMFILE_PAGE_SIZE;
- #ifdef FEAT_CRYPT
- mfp->mf_old_key = NULL;
-***************
-*** 242,249 ****
- int del_file;
- {
- bhdr_T *hp, *nextp;
-- NR_TRANS *tp, *tpnext;
-- int i;
-
- if (mfp == NULL) /* safety check */
- return;
---- 245,250 ----
-***************
-*** 263,274 ****
- }
- while (mfp->mf_free_first != NULL) /* free entries in free list */
- vim_free(mf_rem_free(mfp));
-! for (i = 0; i < MEMHASHSIZE; ++i) /* free entries in trans lists */
-! for (tp = mfp->mf_trans[i]; tp != NULL; tp = tpnext)
-! {
-! tpnext = tp->nt_next;
-! vim_free(tp);
-! }
- vim_free(mfp->mf_fname);
- vim_free(mfp->mf_ffname);
- vim_free(mfp);
---- 264,271 ----
- }
- while (mfp->mf_free_first != NULL) /* free entries in free list */
- vim_free(mf_rem_free(mfp));
-! mf_hash_free(&mfp->mf_hash);
-! mf_hash_free_all(&mfp->mf_trans); /* free hashtable and its items */
- vim_free(mfp->mf_fname);
- vim_free(mfp->mf_ffname);
- vim_free(mfp);
-***************
-*** 743,758 ****
- memfile_T *mfp;
- bhdr_T *hp;
- {
-! bhdr_T *hhp;
-! int hash;
-!
-! hash = MEMHASH(hp->bh_bnum);
-! hhp = mfp->mf_hash[hash];
-! hp->bh_hash_next = hhp;
-! hp->bh_hash_prev = NULL;
-! if (hhp != NULL)
-! hhp->bh_hash_prev = hp;
-! mfp->mf_hash[hash] = hp;
- }
-
- /*
---- 740,746 ----
- memfile_T *mfp;
- bhdr_T *hp;
- {
-! mf_hash_add_item(&mfp->mf_hash, (mf_hashitem_T *)hp);
- }
-
- /*
-***************
-*** 763,775 ****
- memfile_T *mfp;
- bhdr_T *hp;
- {
-! if (hp->bh_hash_prev == NULL)
-! mfp->mf_hash[MEMHASH(hp->bh_bnum)] = hp->bh_hash_next;
-! else
-! hp->bh_hash_prev->bh_hash_next = hp->bh_hash_next;
-!
-! if (hp->bh_hash_next)
-! hp->bh_hash_next->bh_hash_prev = hp->bh_hash_prev;
- }
-
- /*
---- 751,757 ----
- memfile_T *mfp;
- bhdr_T *hp;
- {
-! mf_hash_rem_item(&mfp->mf_hash, (mf_hashitem_T *)hp);
- }
-
- /*
-***************
-*** 780,791 ****
- memfile_T *mfp;
- blocknr_T nr;
- {
-! bhdr_T *hp;
-!
-! for (hp = mfp->mf_hash[MEMHASH(nr)]; hp != NULL; hp = hp->bh_hash_next)
-! if (hp->bh_bnum == nr)
-! break;
-! return hp;
- }
-
- /*
---- 762,768 ----
- memfile_T *mfp;
- blocknr_T nr;
- {
-! return (bhdr_T *)mf_hash_find(&mfp->mf_hash, nr);
- }
-
- /*
-***************
-*** 1187,1193 ****
- {
- bhdr_T *freep;
- blocknr_T new_bnum;
-- int hash;
- NR_TRANS *np;
- int page_count;
-
---- 1164,1169 ----
-***************
-*** 1235,1246 ****
- hp->bh_bnum = new_bnum;
- mf_ins_hash(mfp, hp); /* insert in new hash list */
-
-! hash = MEMHASH(np->nt_old_bnum); /* insert in trans list */
-! np->nt_next = mfp->mf_trans[hash];
-! mfp->mf_trans[hash] = np;
-! if (np->nt_next != NULL)
-! np->nt_next->nt_prev = np;
-! np->nt_prev = NULL;
-
- return OK;
- }
---- 1211,1218 ----
- hp->bh_bnum = new_bnum;
- mf_ins_hash(mfp, hp); /* insert in new hash list */
-
-! /* Insert "np" into "mf_trans" hashtable with key "np->nt_old_bnum" */
-! mf_hash_add_item(&mfp->mf_trans, (mf_hashitem_T *)np);
-
- return OK;
- }
-***************
-*** 1255,1279 ****
- memfile_T *mfp;
- blocknr_T old_nr;
- {
-- int hash;
- NR_TRANS *np;
- blocknr_T new_bnum;
-
-! hash = MEMHASH(old_nr);
-! for (np = mfp->mf_trans[hash]; np != NULL; np = np->nt_next)
-! if (np->nt_old_bnum == old_nr)
-! break;
- if (np == NULL) /* not found */
- return old_nr;
-
- mfp->mf_neg_count--;
- new_bnum = np->nt_new_bnum;
-! if (np->nt_prev != NULL) /* remove entry from the trans list */
-! np->nt_prev->nt_next = np->nt_next;
-! else
-! mfp->mf_trans[hash] = np->nt_next;
-! if (np->nt_next != NULL)
-! np->nt_next->nt_prev = np->nt_prev;
- vim_free(np);
-
- return new_bnum;
---- 1227,1246 ----
- memfile_T *mfp;
- blocknr_T old_nr;
- {
- NR_TRANS *np;
- blocknr_T new_bnum;
-
-! np = (NR_TRANS *)mf_hash_find(&mfp->mf_trans, old_nr);
-!
- if (np == NULL) /* not found */
- return old_nr;
-
- mfp->mf_neg_count--;
- new_bnum = np->nt_new_bnum;
-!
-! /* remove entry from the trans list */
-! mf_hash_rem_item(&mfp->mf_trans, (mf_hashitem_T *)np);
-!
- vim_free(np);
-
- return new_bnum;
-***************
-*** 1397,1399 ****
---- 1364,1570 ----
- mch_hide(mfp->mf_fname); /* try setting the 'hidden' flag */
- }
- }
-+
-+ /*
-+ * Implementation of mf_hashtab_T follows.
-+ */
-+
-+ /*
-+ * The number of buckets in the hashtable is increased by a factor of
-+ * MHT_GROWTH_FACTOR when the average number of items per bucket
-+ * exceeds 2 ^ MHT_LOG_LOAD_FACTOR.
-+ */
-+ #define MHT_LOG_LOAD_FACTOR 6
-+ #define MHT_GROWTH_FACTOR 2 /* must be a power of two */
-+
-+ /*
-+ * Initialize an empty hash table.
-+ */
-+ static void
-+ mf_hash_init(mht)
-+ mf_hashtab_T *mht;
-+ {
-+ vim_memset(mht, 0, sizeof(mf_hashtab_T));
-+ mht->mht_buckets = mht->mht_small_buckets;
-+ mht->mht_mask = MHT_INIT_SIZE - 1;
-+ }
-+
-+ /*
-+ * Free the array of a hash table. Does not free the items it contains!
-+ * The hash table must not be used again without another mf_hash_init() call.
-+ */
-+ static void
-+ mf_hash_free(mht)
-+ mf_hashtab_T *mht;
-+ {
-+ if (mht->mht_buckets != mht->mht_small_buckets)
-+ vim_free(mht->mht_buckets);
-+ }
-+
-+ /*
-+ * Free the array of a hash table and all the items it contains.
-+ */
-+ static void
-+ mf_hash_free_all(mht)
-+ mf_hashtab_T *mht;
-+ {
-+ long_u idx;
-+ mf_hashitem_T *mhi;
-+ mf_hashitem_T *next;
-+
-+ for (idx = 0; idx <= mht->mht_mask; idx++)
-+ for (mhi = mht->mht_buckets[idx]; mhi != NULL; mhi = next)
-+ {
-+ next = mhi->mhi_next;
-+ vim_free(mhi);
-+ }
-+
-+ mf_hash_free(mht);
-+ }
-+
-+ /*
-+ * Find "key" in hashtable "mht".
-+ * Returns a pointer to a mf_hashitem_T or NULL if the item was not found.
-+ */
-+ static mf_hashitem_T *
-+ mf_hash_find(mht, key)
-+ mf_hashtab_T *mht;
-+ blocknr_T key;
-+ {
-+ mf_hashitem_T *mhi;
-+
-+ mhi = mht->mht_buckets[key & mht->mht_mask];
-+ while (mhi != NULL && mhi->mhi_key != key)
-+ mhi = mhi->mhi_next;
-+
-+ return mhi;
-+ }
-+
-+ /*
-+ * Add item "mhi" to hashtable "mht".
-+ * "mhi" must not be NULL.
-+ */
-+ static void
-+ mf_hash_add_item(mht, mhi)
-+ mf_hashtab_T *mht;
-+ mf_hashitem_T *mhi;
-+ {
-+ long_u idx;
-+
-+ idx = mhi->mhi_key & mht->mht_mask;
-+ mhi->mhi_next = mht->mht_buckets[idx];
-+ mhi->mhi_prev = NULL;
-+ if (mhi->mhi_next != NULL)
-+ mhi->mhi_next->mhi_prev = mhi;
-+ mht->mht_buckets[idx] = mhi;
-+
-+ mht->mht_count++;
-+
-+ /*
-+ * Grow hashtable when we have more thank 2^MHT_LOG_LOAD_FACTOR
-+ * items per bucket on average
-+ */
-+ if (mht->mht_fixed == 0
-+ && (mht->mht_count >> MHT_LOG_LOAD_FACTOR) > mht->mht_mask)
-+ {
-+ if (mf_hash_grow(mht) == FAIL)
-+ {
-+ /* stop trying to grow after first failure to allocate memory */
-+ mht->mht_fixed = 1;
-+ }
-+ }
-+ }
-+
-+ /*
-+ * Remove item "mhi" from hashtable "mht".
-+ * "mhi" must not be NULL and must have been inserted into "mht".
-+ */
-+ static void
-+ mf_hash_rem_item(mht, mhi)
-+ mf_hashtab_T *mht;
-+ mf_hashitem_T *mhi;
-+ {
-+ if (mhi->mhi_prev == NULL)
-+ mht->mht_buckets[mhi->mhi_key & mht->mht_mask] = mhi->mhi_next;
-+ else
-+ mhi->mhi_prev->mhi_next = mhi->mhi_next;
-+
-+ if (mhi->mhi_next != NULL)
-+ mhi->mhi_next->mhi_prev = mhi->mhi_prev;
-+
-+ mht->mht_count--;
-+
-+ /* We could shrink the table here, but it typically takes little memory,
-+ * so why bother? */
-+ }
-+
-+ /*
-+ * Increase number of buckets in the hashtable by MHT_GROWTH_FACTOR and
-+ * rehash items.
-+ * Returns FAIL when out of memory.
-+ */
-+ static int
-+ mf_hash_grow(mht)
-+ mf_hashtab_T *mht;
-+ {
-+ long_u i, j;
-+ int shift;
-+ mf_hashitem_T *mhi;
-+ mf_hashitem_T *tails[MHT_GROWTH_FACTOR];
-+ mf_hashitem_T **buckets;
-+ size_t size;
-+
-+ size = (mht->mht_mask + 1) * MHT_GROWTH_FACTOR * sizeof(void *);
-+ buckets = (mf_hashitem_T **)lalloc_clear(size, FALSE);
-+ if (buckets == NULL)
-+ return FAIL;
-+
-+ shift = 0;
-+ while ((mht->mht_mask >> shift) != 0)
-+ shift++;
-+
-+ for (i = 0; i <= mht->mht_mask; i++)
-+ {
-+ /*
-+ * Traverse the items in the i-th original bucket and move them into
-+ * MHT_GROWTH_FACTOR new buckets, preserving their relative order
-+ * within each new bucket. Preserving the order is important because
-+ * mf_get() tries to keep most recently used items at the front of
-+ * each bucket.
-+ *
-+ * Here we strongly rely on the fact the hashes are computed modulo
-+ * a power of two.
-+ */
-+
-+ vim_memset(tails, 0, sizeof(tails));
-+
-+ for (mhi = mht->mht_buckets[i]; mhi != NULL; mhi = mhi->mhi_next)
-+ {
-+ j = (mhi->mhi_key >> shift) & (MHT_GROWTH_FACTOR - 1);
-+ if (tails[j] == NULL)
-+ {
-+ buckets[i + (j << shift)] = mhi;
-+ tails[j] = mhi;
-+ mhi->mhi_prev = NULL;
-+ }
-+ else
-+ {
-+ tails[j]->mhi_next = mhi;
-+ mhi->mhi_prev = tails[j];
-+ tails[j] = mhi;
-+ }
-+ }
-+
-+ for (j = 0; j < MHT_GROWTH_FACTOR; j++)
-+ if (tails[j] != NULL)
-+ tails[j]->mhi_next = NULL;
-+ }
-+
-+ if (mht->mht_buckets != mht->mht_small_buckets)
-+ vim_free(mht->mht_buckets);
-+
-+ mht->mht_buckets = buckets;
-+ mht->mht_mask = (mht->mht_mask + 1) * MHT_GROWTH_FACTOR - 1;
-+
-+ return OK;
-+ }
-*** ../vim-7.3.142/src/memfile_test.c 2011-03-03 21:58:14.000000000 +0100
---- src/memfile_test.c 2011-03-03 20:40:29.000000000 +0100
-***************
-*** 0 ****
---- 1,145 ----
-+ /* vi:set ts=8 sts=4 sw=4:
-+ *
-+ * VIM - Vi IMproved by Bram Moolenaar
-+ *
-+ * Do ":help uganda" in Vim to read copying and usage conditions.
-+ * Do ":help credits" in Vim to see a list of people who contributed.
-+ * See README.txt for an overview of the Vim source code.
-+ */
-+
-+ /*
-+ * memfile_test.c: Unittests for memfile.c
-+ * Mostly by Ivan Krasilnikov.
-+ */
-+
-+ #undef NDEBUG
-+ #include <assert.h>
-+
-+ /* Must include main.c because it contains much more than just main() */
-+ #define NO_VIM_MAIN
-+ #include "main.c"
-+
-+ /* This file has to be included because the tested functions are static */
-+ #include "memfile.c"
-+
-+ #define index_to_key(i) ((i) ^ 15167)
-+ #define TEST_COUNT 50000
-+
-+ static void test_mf_hash __ARGS((void));
-+
-+ /*
-+ * Test mf_hash_*() functions.
-+ */
-+ static void
-+ test_mf_hash()
-+ {
-+ mf_hashtab_T ht;
-+ mf_hashitem_T *item;
-+ blocknr_T key;
-+ long_u i;
-+ long_u num_buckets;
-+
-+ mf_hash_init(&ht);
-+
-+ /* insert some items and check invariants */
-+ for (i = 0; i < TEST_COUNT; i++)
-+ {
-+ assert(ht.mht_count == i);
-+
-+ /* check that number of buckets is a power of 2 */
-+ num_buckets = ht.mht_mask + 1;
-+ assert(num_buckets > 0 && (num_buckets & (num_buckets - 1)) == 0);
-+
-+ /* check load factor */
-+ assert(ht.mht_count <= (num_buckets << MHT_LOG_LOAD_FACTOR));
-+
-+ if (i < (MHT_INIT_SIZE << MHT_LOG_LOAD_FACTOR))
-+ {
-+ /* first expansion shouldn't have occurred yet */
-+ assert(num_buckets == MHT_INIT_SIZE);
-+ assert(ht.mht_buckets == ht.mht_small_buckets);
-+ }
-+ else
-+ {
-+ assert(num_buckets > MHT_INIT_SIZE);
-+ assert(ht.mht_buckets != ht.mht_small_buckets);
-+ }
-+
-+ key = index_to_key(i);
-+ assert(mf_hash_find(&ht, key) == NULL);
-+
-+ /* allocate and add new item */
-+ item = (mf_hashitem_T *)lalloc_clear(sizeof(mf_hashtab_T), FALSE);
-+ assert(item != NULL);
-+ item->mhi_key = key;
-+ mf_hash_add_item(&ht, item);
-+
-+ assert(mf_hash_find(&ht, key) == item);
-+
-+ if (ht.mht_mask + 1 != num_buckets)
-+ {
-+ /* hash table was expanded */
-+ assert(ht.mht_mask + 1 == num_buckets * MHT_GROWTH_FACTOR);
-+ assert(i + 1 == (num_buckets << MHT_LOG_LOAD_FACTOR));
-+ }
-+ }
-+
-+ /* check presence of inserted items */
-+ for (i = 0; i < TEST_COUNT; i++)
-+ {
-+ key = index_to_key(i);
-+ item = mf_hash_find(&ht, key);
-+ assert(item != NULL);
-+ assert(item->mhi_key == key);
-+ }
-+
-+ /* delete some items */
-+ for (i = 0; i < TEST_COUNT; i++)
-+ {
-+ if (i % 100 < 70)
-+ {
-+ key = index_to_key(i);
-+ item = mf_hash_find(&ht, key);
-+ assert(item != NULL);
-+ assert(item->mhi_key == key);
-+
-+ mf_hash_rem_item(&ht, item);
-+ assert(mf_hash_find(&ht, key) == NULL);
-+
-+ mf_hash_add_item(&ht, item);
-+ assert(mf_hash_find(&ht, key) == item);
-+
-+ mf_hash_rem_item(&ht, item);
-+ assert(mf_hash_find(&ht, key) == NULL);
-+
-+ vim_free(item);
-+ }
-+ }
-+
-+ /* check again */
-+ for (i = 0; i < TEST_COUNT; i++)
-+ {
-+ key = index_to_key(i);
-+ item = mf_hash_find(&ht, key);
-+
-+ if (i % 100 < 70)
-+ {
-+ assert(item == NULL);
-+ }
-+ else
-+ {
-+ assert(item != NULL);
-+ assert(item->mhi_key == key);
-+ }
-+ }
-+
-+ /* free hash table and all remaining items */
-+ mf_hash_free_all(&ht);
-+ }
-+
-+ int
-+ main()
-+ {
-+ test_mf_hash();
-+ return 0;
-+ }
-*** ../vim-7.3.142/src/structs.h 2011-02-15 17:39:14.000000000 +0100
---- src/structs.h 2011-03-03 18:49:01.000000000 +0100
-***************
-*** 378,383 ****
---- 378,412 ----
- typedef long blocknr_T;
-
- /*
-+ * mf_hashtab_T is a chained hashtable with blocknr_T key and arbitrary
-+ * structures as items. This is an intrusive data structure: we require
-+ * that items begin with mf_hashitem_T which contains the key and linked
-+ * list pointers. List of items in each bucket is doubly-linked.
-+ */
-+
-+ typedef struct mf_hashitem_S mf_hashitem_T;
-+
-+ struct mf_hashitem_S
-+ {
-+ mf_hashitem_T *mhi_next;
-+ mf_hashitem_T *mhi_prev;
-+ blocknr_T mhi_key;
-+ };
-+
-+ #define MHT_INIT_SIZE 64
-+
-+ typedef struct mf_hashtab_S
-+ {
-+ long_u mht_mask; /* mask used for hash value (nr of items
-+ * in array is "mht_mask" + 1) */
-+ long_u mht_count; /* nr of items inserted into hashtable */
-+ mf_hashitem_T **mht_buckets; /* points to mht_small_buckets or
-+ *dynamically allocated array */
-+ mf_hashitem_T *mht_small_buckets[MHT_INIT_SIZE]; /* initial buckets */
-+ char mht_fixed; /* non-zero value forbids growth */
-+ } mf_hashtab_T;
-+
-+ /*
- * for each (previously) used block in the memfile there is one block header.
- *
- * The block may be linked in the used list OR in the free list.
-***************
-*** 394,404 ****
-
- struct block_hdr
- {
- bhdr_T *bh_next; /* next block_hdr in free or used list */
- bhdr_T *bh_prev; /* previous block_hdr in used list */
-- bhdr_T *bh_hash_next; /* next block_hdr in hash list */
-- bhdr_T *bh_hash_prev; /* previous block_hdr in hash list */
-- blocknr_T bh_bnum; /* block number */
- char_u *bh_data; /* pointer to memory (for used block) */
- int bh_page_count; /* number of pages in this block */
-
---- 423,433 ----
-
- struct block_hdr
- {
-+ mf_hashitem_T bh_hashitem; /* header for hash table and key */
-+ #define bh_bnum bh_hashitem.mhi_key /* block number, part of bh_hashitem */
-+
- bhdr_T *bh_next; /* next block_hdr in free or used list */
- bhdr_T *bh_prev; /* previous block_hdr in used list */
- char_u *bh_data; /* pointer to memory (for used block) */
- int bh_page_count; /* number of pages in this block */
-
-***************
-*** 417,425 ****
-
- struct nr_trans
- {
-! NR_TRANS *nt_next; /* next nr_trans in hash list */
-! NR_TRANS *nt_prev; /* previous nr_trans in hash list */
-! blocknr_T nt_old_bnum; /* old, negative, number */
- blocknr_T nt_new_bnum; /* new, positive, number */
- };
-
---- 446,454 ----
-
- struct nr_trans
- {
-! mf_hashitem_T nt_hashitem; /* header for hash table and key */
-! #define nt_old_bnum nt_hashitem.mhi_key /* old, negative, number */
-!
- blocknr_T nt_new_bnum; /* new, positive, number */
- };
-
-***************
-*** 499,510 ****
-
- typedef struct file_buffer buf_T; /* forward declaration */
-
-- /*
-- * Simplistic hashing scheme to quickly locate the blocks in the used list.
-- * 64 blocks are found directly (64 * 4K = 256K, most files are smaller).
-- */
-- #define MEMHASHSIZE 64
-- #define MEMHASH(nr) ((nr) & (MEMHASHSIZE - 1))
- #define MF_SEED_LEN 8
-
- struct memfile
---- 528,533 ----
-***************
-*** 517,524 ****
- bhdr_T *mf_used_last; /* lru block_hdr in used list */
- unsigned mf_used_count; /* number of pages in used list */
- unsigned mf_used_count_max; /* maximum number of pages in memory */
-! bhdr_T *mf_hash[MEMHASHSIZE]; /* array of hash lists */
-! NR_TRANS *mf_trans[MEMHASHSIZE]; /* array of trans lists */
- blocknr_T mf_blocknr_max; /* highest positive block number + 1*/
- blocknr_T mf_blocknr_min; /* lowest negative block number - 1 */
- blocknr_T mf_neg_count; /* number of negative blocks numbers */
---- 540,547 ----
- bhdr_T *mf_used_last; /* lru block_hdr in used list */
- unsigned mf_used_count; /* number of pages in used list */
- unsigned mf_used_count_max; /* maximum number of pages in memory */
-! mf_hashtab_T mf_hash; /* hash lists */
-! mf_hashtab_T mf_trans; /* trans lists */
- blocknr_T mf_blocknr_max; /* highest positive block number + 1*/
- blocknr_T mf_blocknr_min; /* lowest negative block number - 1 */
- blocknr_T mf_neg_count; /* number of negative blocks numbers */
-*** ../vim-7.3.142/src/testdir/Make_amiga.mak 2010-11-10 16:54:16.000000000 +0100
---- src/testdir/Make_amiga.mak 2011-03-03 17:04:14.000000000 +0100
-***************
-*** 28,34 ****
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
-! test76.out
-
- .SUFFIXES: .in .out
-
---- 28,34 ----
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
-! test76.out test77.out
-
- .SUFFIXES: .in .out
-
-***************
-*** 124,126 ****
---- 124,127 ----
- test74.out: test74.in
- test75.out: test75.in
- test76.out: test76.in
-+ test77.out: test77.in
-*** ../vim-7.3.142/src/testdir/Make_dos.mak 2010-11-10 16:54:16.000000000 +0100
---- src/testdir/Make_dos.mak 2011-03-03 17:04:20.000000000 +0100
-***************
-*** 28,34 ****
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
-! test74.out test75.out test76.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 28,34 ----
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
-! test74.out test75.out test76.out test77.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.142/src/testdir/Make_ming.mak 2010-11-10 16:54:16.000000000 +0100
---- src/testdir/Make_ming.mak 2011-03-03 17:04:32.000000000 +0100
-***************
-*** 48,54 ****
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
-! test74.out test75.out test76.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 48,54 ----
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
-! test74.out test75.out test76.out test77.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.142/src/testdir/Make_os2.mak 2010-11-10 16:54:16.000000000 +0100
---- src/testdir/Make_os2.mak 2011-03-03 17:04:48.000000000 +0100
-***************
-*** 28,34 ****
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
-! test76.out
-
- .SUFFIXES: .in .out
-
---- 28,34 ----
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
-! test76.out test77.out
-
- .SUFFIXES: .in .out
-
-*** ../vim-7.3.142/src/testdir/Makefile 2010-11-10 16:54:16.000000000 +0100
---- src/testdir/Makefile 2011-03-22 17:03:25.000000000 +0100
-***************
-*** 25,31 ****
- test59.out test60.out test61.out test62.out test63.out \
- test64.out test65.out test66.out test67.out test68.out \
- test69.out test70.out test71.out test72.out test73.out \
-! test74.out test75.out test76.out
-
- SCRIPTS_GUI = test16.out
-
---- 25,31 ----
- test59.out test60.out test61.out test62.out test63.out \
- test64.out test65.out test66.out test67.out test68.out \
- test69.out test70.out test71.out test72.out test73.out \
-! test74.out test75.out test76.out test77.out
-
- SCRIPTS_GUI = test16.out
-
-***************
-*** 71,77 ****
- fi \
- else echo $* NO OUTPUT >>test.log; \
- fi"
-! -rm -rf X* test.ok viminfo
-
- test49.out: test49.vim
-
---- 71,77 ----
- fi \
- else echo $* NO OUTPUT >>test.log; \
- fi"
-! # -rm -rf X* test.ok viminfo
-
- test49.out: test49.vim
-
-*** ../vim-7.3.142/src/testdir/test77.in 2011-03-03 21:59:10.000000000 +0100
---- src/testdir/test77.in 2011-03-22 17:12:38.000000000 +0100
-***************
-*** 0 ****
---- 1,27 ----
-+ Inserts 2 million lines with consecutive integers starting from 1
-+ (essentially, the output of GNU's seq 1 2000000), writes them to Xtest
-+ and writes its cksum to test.out.
-+
-+ We need 2 million lines to trigger a call to mf_hash_grow(). If it would mess
-+ up the lines the checksum would differ.
-+
-+ cksum is part of POSIX and so should be available on most Unixes.
-+ If it isn't available then the test will be skipped.
-+
-+ STARTTEST
-+ :so small.vim
-+ :if !executable("cksum")
-+ : e! test.ok
-+ : w! test.out
-+ : qa!
-+ :endif
-+ :set fileformat=unix undolevels=-1
-+ ggdG
-+ :let i = 1
-+ :while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhile
-+ ggdd
-+ :w! Xtest
-+ :!cksum Xtest > test.out
-+ :qa!
-+ ENDTEST
-+
-*** ../vim-7.3.142/src/testdir/test77.ok 2011-03-03 21:59:10.000000000 +0100
---- src/testdir/test77.ok 2011-03-22 17:10:14.000000000 +0100
-***************
-*** 0 ****
---- 1 ----
-+ 3678979763 14888896 Xtest
-*** ../vim-7.3.142/src/version.c 2011-03-22 15:47:18.000000000 +0100
---- src/version.c 2011-03-22 18:01:48.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 143,
- /**/
-
---
-SIGIRO -- irony detected (iron core dumped)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.144 b/source/ap/vim/patches/7.3.144
deleted file mode 100644
index 3bdea8dad..000000000
--- a/source/ap/vim/patches/7.3.144
+++ /dev/null
@@ -1,80 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.144
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.144
-Problem: Crash with ":python help(dir)". (Kearn Holliday)
-Solution: Fix the way the type is set on objects. (Tobias Columbus)
-Files: src/if_python.c
-
-
-*** ../vim-7.3.143/src/if_python.c 2010-11-16 19:25:56.000000000 +0100
---- src/if_python.c 2011-03-26 13:54:22.000000000 +0100
-***************
-*** 780,786 ****
- PythonIO_Init(void)
- {
- /* Fixups... */
-! OutputType.ob_type = &PyType_Type;
-
- return PythonIO_Init_io();
- }
---- 780,786 ----
- PythonIO_Init(void)
- {
- /* Fixups... */
-! PyType_Ready(&OutputType);
-
- return PythonIO_Init_io();
- }
-***************
-*** 1402,1413 ****
- static char *(argv[2]) = {"/must>not&exist/foo", NULL};
-
- /* Fixups... */
-! BufferType.ob_type = &PyType_Type;
-! RangeType.ob_type = &PyType_Type;
-! WindowType.ob_type = &PyType_Type;
-! BufListType.ob_type = &PyType_Type;
-! WinListType.ob_type = &PyType_Type;
-! CurrentType.ob_type = &PyType_Type;
-
- /* Set sys.argv[] to avoid a crash in warn(). */
- PySys_SetArgv(1, argv);
---- 1402,1413 ----
- static char *(argv[2]) = {"/must>not&exist/foo", NULL};
-
- /* Fixups... */
-! PyType_Ready(&BufferType);
-! PyType_Ready(&RangeType);
-! PyType_Ready(&WindowType);
-! PyType_Ready(&BufListType);
-! PyType_Ready(&WinListType);
-! PyType_Ready(&CurrentType);
-
- /* Set sys.argv[] to avoid a crash in warn(). */
- PySys_SetArgv(1, argv);
-*** ../vim-7.3.143/src/version.c 2011-03-22 18:10:34.000000000 +0100
---- src/version.c 2011-03-26 13:56:15.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 144,
- /**/
-
---
-The chat program is in public domain. This is not the GNU public license.
-If it breaks then you get to keep both pieces.
- -- Copyright notice for the chat program
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.145 b/source/ap/vim/patches/7.3.145
deleted file mode 100644
index a435fc287..000000000
--- a/source/ap/vim/patches/7.3.145
+++ /dev/null
@@ -1,64 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.145
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.145 (after 7.3.144)
-Problem: Can't build with Python dynamically loading.
-Solution: Add dll_PyType_Ready.
-Files: src/if_python.c
-
-
-*** ../vim-7.3.144/src/if_python.c 2011-03-26 13:56:41.000000000 +0100
---- src/if_python.c 2011-03-26 18:10:00.000000000 +0100
-***************
-*** 165,170 ****
---- 165,171 ----
- # define PySys_SetObject dll_PySys_SetObject
- # define PySys_SetArgv dll_PySys_SetArgv
- # define PyType_Type (*dll_PyType_Type)
-+ # define PyType_Ready (*dll_PyType_Ready)
- # define Py_BuildValue dll_Py_BuildValue
- # define Py_FindMethod dll_Py_FindMethod
- # define Py_InitModule4 dll_Py_InitModule4
-***************
-*** 224,229 ****
---- 225,231 ----
- static int(*dll_PySys_SetObject)(char *, PyObject *);
- static int(*dll_PySys_SetArgv)(int, char **);
- static PyTypeObject* dll_PyType_Type;
-+ static int (*dll_PyType_Ready)(PyTypeObject *type);
- static PyObject*(*dll_Py_BuildValue)(char *, ...);
- static PyObject*(*dll_Py_FindMethod)(struct PyMethodDef[], PyObject *, char *);
- static PyObject*(*dll_Py_InitModule4)(char *, struct PyMethodDef *, char *, PyObject *, int);
-***************
-*** 305,310 ****
---- 307,313 ----
- {"PySys_SetObject", (PYTHON_PROC*)&dll_PySys_SetObject},
- {"PySys_SetArgv", (PYTHON_PROC*)&dll_PySys_SetArgv},
- {"PyType_Type", (PYTHON_PROC*)&dll_PyType_Type},
-+ {"PyType_Ready", (PYTHON_PROC*)&dll_PyType_Ready},
- {"Py_BuildValue", (PYTHON_PROC*)&dll_Py_BuildValue},
- {"Py_FindMethod", (PYTHON_PROC*)&dll_Py_FindMethod},
- # if (PY_VERSION_HEX >= 0x02050000) && SIZEOF_SIZE_T != SIZEOF_INT
-*** ../vim-7.3.144/src/version.c 2011-03-26 13:56:41.000000000 +0100
---- src/version.c 2011-03-26 18:11:19.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 145,
- /**/
-
---
-This message contains 78% recycled characters.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.146 b/source/ap/vim/patches/7.3.146
deleted file mode 100644
index 0a7390ce1..000000000
--- a/source/ap/vim/patches/7.3.146
+++ /dev/null
@@ -1,224 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.146
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.146
-Problem: It's possible to assign to a read-only member of a dict.
- It's possible to create a global variable "0". (ZyX)
- It's possible to add a v: variable with ":let v:.name = 1".
-Solution: Add check for dict item being read-only.
- Check the name of g: variables.
- Disallow adding v: variables.
-Files: src/eval.c
-
-
-*** ../vim-7.3.145/src/eval.c 2011-02-01 13:48:47.000000000 +0100
---- src/eval.c 2011-03-27 15:56:44.000000000 +0200
-***************
-*** 789,794 ****
---- 789,796 ----
- static void set_var __ARGS((char_u *name, typval_T *varp, int copy));
- static int var_check_ro __ARGS((int flags, char_u *name));
- static int var_check_fixed __ARGS((int flags, char_u *name));
-+ static int var_check_func_name __ARGS((char_u *name, int new_var));
-+ static int valid_varname __ARGS((char_u *varname));
- static int tv_check_lock __ARGS((int lock, char_u *name));
- static int item_copy __ARGS((typval_T *from, typval_T *to, int deep, int copyID));
- static char_u *find_option_end __ARGS((char_u **arg, int *opt_flags));
-***************
-*** 2716,2723 ****
---- 2718,2744 ----
- lp->ll_list = NULL;
- lp->ll_dict = lp->ll_tv->vval.v_dict;
- lp->ll_di = dict_find(lp->ll_dict, key, len);
-+
-+ /* When assigning to g: check that a function and variable name is
-+ * valid. */
-+ if (rettv != NULL && lp->ll_dict == &globvardict)
-+ {
-+ if (rettv->v_type == VAR_FUNC
-+ && var_check_func_name(key, lp->ll_di == NULL))
-+ return NULL;
-+ if (!valid_varname(key))
-+ return NULL;
-+ }
-+
- if (lp->ll_di == NULL)
- {
-+ /* Can't add "v:" variable. */
-+ if (lp->ll_dict == &vimvardict)
-+ {
-+ EMSG2(_(e_illvar), name);
-+ return NULL;
-+ }
-+
- /* Key does not exist in dict: may need to add it. */
- if (*p == '[' || *p == '.' || unlet)
- {
-***************
-*** 2737,2742 ****
---- 2758,2767 ----
- p = NULL;
- break;
- }
-+ /* existing variable, need to check if it can be changed */
-+ else if (var_check_ro(lp->ll_di->di_flags, name))
-+ return NULL;
-+
- if (len == -1)
- clear_tv(&var1);
- lp->ll_tv = &lp->ll_di->di_tv;
-***************
-*** 19786,19792 ****
- dictitem_T *v;
- char_u *varname;
- hashtab_T *ht;
-- char_u *p;
-
- ht = find_var_ht(name, &varname);
- if (ht == NULL || *varname == NUL)
---- 19811,19816 ----
-***************
-*** 19796,19820 ****
- }
- v = find_var_in_ht(ht, varname, TRUE);
-
-! if (tv->v_type == VAR_FUNC)
-! {
-! if (!(vim_strchr((char_u *)"wbs", name[0]) != NULL && name[1] == ':')
-! && !ASCII_ISUPPER((name[0] != NUL && name[1] == ':')
-! ? name[2] : name[0]))
-! {
-! EMSG2(_("E704: Funcref variable name must start with a capital: %s"), name);
-! return;
-! }
-! /* Don't allow hiding a function. When "v" is not NULL we might be
-! * assigning another function to the same var, the type is checked
-! * below. */
-! if (v == NULL && function_exists(name))
-! {
-! EMSG2(_("E705: Variable name conflicts with existing function: %s"),
-! name);
-! return;
-! }
-! }
-
- if (v != NULL)
- {
---- 19820,19827 ----
- }
- v = find_var_in_ht(ht, varname, TRUE);
-
-! if (tv->v_type == VAR_FUNC && var_check_func_name(name, v == NULL))
-! return;
-
- if (v != NULL)
- {
-***************
-*** 19880,19892 ****
- }
-
- /* Make sure the variable name is valid. */
-! for (p = varname; *p != NUL; ++p)
-! if (!eval_isnamec1(*p) && (p == varname || !VIM_ISDIGIT(*p))
-! && *p != AUTOLOAD_CHAR)
-! {
-! EMSG2(_(e_illvar), varname);
-! return;
-! }
-
- v = (dictitem_T *)alloc((unsigned)(sizeof(dictitem_T)
- + STRLEN(varname)));
---- 19887,19894 ----
- }
-
- /* Make sure the variable name is valid. */
-! if (!valid_varname(varname))
-! return;
-
- v = (dictitem_T *)alloc((unsigned)(sizeof(dictitem_T)
- + STRLEN(varname)));
-***************
-*** 19951,19956 ****
---- 19953,20007 ----
- }
-
- /*
-+ * Check if a funcref is assigned to a valid variable name.
-+ * Return TRUE and give an error if not.
-+ */
-+ static int
-+ var_check_func_name(name, new_var)
-+ char_u *name; /* points to start of variable name */
-+ int new_var; /* TRUE when creating the variable */
-+ {
-+ if (!(vim_strchr((char_u *)"wbs", name[0]) != NULL && name[1] == ':')
-+ && !ASCII_ISUPPER((name[0] != NUL && name[1] == ':')
-+ ? name[2] : name[0]))
-+ {
-+ EMSG2(_("E704: Funcref variable name must start with a capital: %s"),
-+ name);
-+ return TRUE;
-+ }
-+ /* Don't allow hiding a function. When "v" is not NULL we might be
-+ * assigning another function to the same var, the type is checked
-+ * below. */
-+ if (new_var && function_exists(name))
-+ {
-+ EMSG2(_("E705: Variable name conflicts with existing function: %s"),
-+ name);
-+ return TRUE;
-+ }
-+ return FALSE;
-+ }
-+
-+ /*
-+ * Check if a variable name is valid.
-+ * Return FALSE and give an error if not.
-+ */
-+ static int
-+ valid_varname(varname)
-+ char_u *varname;
-+ {
-+ char_u *p;
-+
-+ for (p = varname; *p != NUL; ++p)
-+ if (!eval_isnamec1(*p) && (p == varname || !VIM_ISDIGIT(*p))
-+ && *p != AUTOLOAD_CHAR)
-+ {
-+ EMSG2(_(e_illvar), varname);
-+ return FALSE;
-+ }
-+ return TRUE;
-+ }
-+
-+ /*
- * Return TRUE if typeval "tv" is set to be locked (immutable).
- * Also give an error message, using "name".
- */
-*** ../vim-7.3.145/src/version.c 2011-03-26 18:32:00.000000000 +0100
---- src/version.c 2011-03-27 16:01:03.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 146,
- /**/
-
---
-ARTHUR: It is I, Arthur, son of Uther Pendragon, from the castle of Camelot.
- King of all Britons, defeator of the Saxons, sovereign of all England!
- [Pause]
-SOLDIER: Get away!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.147 b/source/ap/vim/patches/7.3.147
deleted file mode 100644
index b6fd756a9..000000000
--- a/source/ap/vim/patches/7.3.147
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.147
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.147 (after 7.3.143)
-Problem: Can't build on HP-UX.
-Solution: Remove an unnecessary backslash. (John Marriott)
-Files: src/Makefile
-
-
-*** ../vim-7.3.146/src/Makefile 2011-03-22 18:10:34.000000000 +0100
---- src/Makefile 2011-04-01 13:00:58.000000000 +0200
-***************
-*** 1565,1571 ****
-
- OBJ = $(OBJ_COMMON) \
- objects/main.o \
-! objects/memfile.o \
-
- MEMFILE_TEST_OBJ = $(OBJ_COMMON) \
- objects/memfile_test.o
---- 1565,1571 ----
-
- OBJ = $(OBJ_COMMON) \
- objects/main.o \
-! objects/memfile.o
-
- MEMFILE_TEST_OBJ = $(OBJ_COMMON) \
- objects/memfile_test.o
-*** ../vim-7.3.146/src/version.c 2011-03-27 16:03:09.000000000 +0200
---- src/version.c 2011-04-01 13:05:18.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 147,
- /**/
-
---
-DENNIS: You can't expect to wield supreme executive power just 'cause some
- watery tart threw a sword at you!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.148 b/source/ap/vim/patches/7.3.148
deleted file mode 100644
index 30492c0b5..000000000
--- a/source/ap/vim/patches/7.3.148
+++ /dev/null
@@ -1,252 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.148
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.148
-Problem: A syntax file with a huge number of items or clusters causes weird
- behavior, a hang or a crash. (Yukihiro Nakadaira)
-Solution: Check running out of IDs. (partly by Ben Schmidt)
-Files: src/syntax.c
-
-
-*** ../vim-7.3.147/src/syntax.c 2011-01-22 00:58:15.000000000 +0100
---- src/syntax.c 2011-04-01 14:25:39.000000000 +0200
-***************
-*** 219,234 ****
-
- /*
- * Syntax group IDs have different types:
-! * 0 - 9999 normal syntax groups
-! * 10000 - 14999 ALLBUT indicator (current_syn_inc_tag added)
-! * 15000 - 19999 TOP indicator (current_syn_inc_tag added)
-! * 20000 - 24999 CONTAINED indicator (current_syn_inc_tag added)
-! * >= 25000 cluster IDs (subtract SYNID_CLUSTER for the cluster ID)
-! */
-! #define SYNID_ALLBUT 10000 /* syntax group ID for contains=ALLBUT */
-! #define SYNID_TOP 15000 /* syntax group ID for contains=TOP */
-! #define SYNID_CONTAINED 20000 /* syntax group ID for contains=CONTAINED */
-! #define SYNID_CLUSTER 25000 /* first syntax group ID for clusters */
-
- /*
- * Annoying Hack(TM): ":syn include" needs this pointer to pass to
---- 219,238 ----
-
- /*
- * Syntax group IDs have different types:
-! * 0 - 19999 normal syntax groups
-! * 20000 - 20999 ALLBUT indicator (current_syn_inc_tag added)
-! * 21000 - 21999 TOP indicator (current_syn_inc_tag added)
-! * 22000 - 22999 CONTAINED indicator (current_syn_inc_tag added)
-! * 23000 - 32767 cluster IDs (subtract SYNID_CLUSTER for the cluster ID)
-! */
-! #define SYNID_ALLBUT 20000 /* syntax group ID for contains=ALLBUT */
-! #define SYNID_TOP 21000 /* syntax group ID for contains=TOP */
-! #define SYNID_CONTAINED 22000 /* syntax group ID for contains=CONTAINED */
-! #define SYNID_CLUSTER 23000 /* first syntax group ID for clusters */
-!
-! #define MAX_SYNID SYNID_ALLBUT
-! #define MAX_SYN_INC_TAG 999 /* maximum before the above overflow */
-! #define MAX_CLUSTER_ID (32767 - SYNID_CLUSTER)
-
- /*
- * Annoying Hack(TM): ":syn include" needs this pointer to pass to
-***************
-*** 3442,3447 ****
---- 3446,3454 ----
- /* free the stored states */
- syn_stack_free_all(block);
- invalidate_current_state();
-+
-+ /* Reset the counter for ":syn include" */
-+ running_syn_inc_tag = 0;
- }
-
- /*
-***************
-*** 4661,4666 ****
---- 4668,4675 ----
- return;
- }
- sgl_id = syn_check_cluster(arg, (int)(group_name_end - arg));
-+ if (sgl_id == 0)
-+ return;
- /* separate_nextcmd() and expand_filename() depend on this */
- eap->arg = rest;
- }
-***************
-*** 4689,4694 ****
---- 4698,4708 ----
- * Save and restore the existing top-level grouplist id and ":syn
- * include" tag around the actual inclusion.
- */
-+ if (running_syn_inc_tag >= MAX_SYN_INC_TAG)
-+ {
-+ EMSG((char_u *)_("E847: Too many syntax includes"));
-+ return;
-+ }
- prev_syn_inc_tag = current_syn_inc_tag;
- current_syn_inc_tag = ++running_syn_inc_tag;
- prev_toplvl_grp = curwin->w_s->b_syn_topgrp;
-***************
-*** 4712,4718 ****
- char_u *group_name_end;
- int syn_id;
- char_u *rest;
-! char_u *keyword_copy;
- char_u *p;
- char_u *kw;
- syn_opt_arg_T syn_opt_arg;
---- 4726,4732 ----
- char_u *group_name_end;
- int syn_id;
- char_u *rest;
-! char_u *keyword_copy = NULL;
- char_u *p;
- char_u *kw;
- syn_opt_arg_T syn_opt_arg;
-***************
-*** 4724,4732 ****
- if (rest != NULL)
- {
- syn_id = syn_check_group(arg, (int)(group_name_end - arg));
-!
-! /* allocate a buffer, for removing the backslashes in the keyword */
-! keyword_copy = alloc((unsigned)STRLEN(rest) + 1);
- if (keyword_copy != NULL)
- {
- syn_opt_arg.flags = 0;
---- 4738,4746 ----
- if (rest != NULL)
- {
- syn_id = syn_check_group(arg, (int)(group_name_end - arg));
-! if (syn_id != 0)
-! /* allocate a buffer, for removing backslashes in the keyword */
-! keyword_copy = alloc((unsigned)STRLEN(rest) + 1);
- if (keyword_copy != NULL)
- {
- syn_opt_arg.flags = 0;
-***************
-*** 5133,5139 ****
- (item == ITEM_SKIP) ? SPTYPE_SKIP : SPTYPE_END;
- SYN_ITEMS(curwin->w_s)[idx].sp_flags |= syn_opt_arg.flags;
- SYN_ITEMS(curwin->w_s)[idx].sp_syn.id = syn_id;
-! SYN_ITEMS(curwin->w_s)[idx].sp_syn.inc_tag = current_syn_inc_tag;
- SYN_ITEMS(curwin->w_s)[idx].sp_syn_match_id =
- ppp->pp_matchgroup_id;
- #ifdef FEAT_CONCEAL
---- 5147,5154 ----
- (item == ITEM_SKIP) ? SPTYPE_SKIP : SPTYPE_END;
- SYN_ITEMS(curwin->w_s)[idx].sp_flags |= syn_opt_arg.flags;
- SYN_ITEMS(curwin->w_s)[idx].sp_syn.id = syn_id;
-! SYN_ITEMS(curwin->w_s)[idx].sp_syn.inc_tag =
-! current_syn_inc_tag;
- SYN_ITEMS(curwin->w_s)[idx].sp_syn_match_id =
- ppp->pp_matchgroup_id;
- #ifdef FEAT_CONCEAL
-***************
-*** 5426,5431 ****
---- 5441,5454 ----
- curwin->w_s->b_syn_clusters.ga_growsize = 10;
- }
-
-+ len = curwin->w_s->b_syn_clusters.ga_len;
-+ if (len >= MAX_CLUSTER_ID)
-+ {
-+ EMSG((char_u *)_("E848: Too many syntax clusters"));
-+ vim_free(name);
-+ return 0;
-+ }
-+
- /*
- * Make room for at least one other cluster entry.
- */
-***************
-*** 5434,5440 ****
- vim_free(name);
- return 0;
- }
-- len = curwin->w_s->b_syn_clusters.ga_len;
-
- vim_memset(&(SYN_CLSTR(curwin->w_s)[len]), 0, sizeof(syn_cluster_T));
- SYN_CLSTR(curwin->w_s)[len].scl_name = name;
---- 5457,5462 ----
-***************
-*** 5476,5483 ****
-
- if (rest != NULL)
- {
-! scl_id = syn_check_cluster(arg, (int)(group_name_end - arg))
-! - SYNID_CLUSTER;
-
- for (;;)
- {
---- 5498,5507 ----
-
- if (rest != NULL)
- {
-! scl_id = syn_check_cluster(arg, (int)(group_name_end - arg));
-! if (scl_id == 0)
-! return;
-! scl_id -= SYNID_CLUSTER;
-
- for (;;)
- {
-***************
-*** 5516,5522 ****
- if (got_clstr)
- {
- redraw_curbuf_later(SOME_VALID);
-! syn_stack_free_all(curwin->w_s); /* Need to recompute all syntax. */
- }
- }
-
---- 5540,5546 ----
- if (got_clstr)
- {
- redraw_curbuf_later(SOME_VALID);
-! syn_stack_free_all(curwin->w_s); /* Need to recompute all. */
- }
- }
-
-***************
-*** 8972,8977 ****
---- 8996,9008 ----
- highlight_ga.ga_growsize = 10;
- }
-
-+ if (highlight_ga.ga_len >= MAX_SYNID)
-+ {
-+ EMSG(_("E849: Too many syntax groups"));
-+ vim_free(name);
-+ return 0;
-+ }
-+
- /*
- * Make room for at least one other syntax_highlight entry.
- */
-*** ../vim-7.3.147/src/version.c 2011-04-01 13:05:37.000000000 +0200
---- src/version.c 2011-04-01 14:26:44.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 148,
- /**/
-
---
-BLACK KNIGHT: None shall pass.
-ARTHUR: I have no quarrel with you, brave Sir knight, but I must cross
- this bridge.
-BLACK KNIGHT: Then you shall die.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.149 b/source/ap/vim/patches/7.3.149
deleted file mode 100644
index 1901a74f4..000000000
--- a/source/ap/vim/patches/7.3.149
+++ /dev/null
@@ -1,78 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.149
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.149
-Problem: The cursor disappears after the processing of the 'setDot'
- netbeans command when vim runs in a terminal.
-Solution: Show the cursor after a screen update. (Xavier de Gaye, 2011
-Files: src/netbeans.c
-
-
-*** ../vim-7.3.148/src/netbeans.c 2011-01-04 18:11:39.000000000 +0100
---- src/netbeans.c 2011-04-01 15:33:49.000000000 +0200
-***************
-*** 191,196 ****
---- 191,197 ----
- changed_window_setting();
- update_screen(CLEAR);
- setcursor();
-+ cursor_on();
- out_flush();
- #ifdef FEAT_GUI
- if (gui.in_use)
-***************
-*** 2248,2253 ****
---- 2249,2255 ----
- update_topline(); /* scroll to show the line */
- update_screen(VALID);
- setcursor();
-+ cursor_on();
- out_flush();
- #ifdef FEAT_GUI
- if (gui.in_use)
-***************
-*** 2642,2647 ****
---- 2644,2650 ----
- {
- update_screen(NOT_VALID);
- setcursor();
-+ cursor_on();
- out_flush();
- #ifdef FEAT_GUI
- if (gui.in_use)
-***************
-*** 3008,3013 ****
---- 3011,3017 ----
- changed_window_setting();
- update_screen(CLEAR);
- setcursor();
-+ cursor_on();
- out_flush();
- #ifdef FEAT_GUI
- if (gui.in_use)
-*** ../vim-7.3.148/src/version.c 2011-04-01 14:44:54.000000000 +0200
---- src/version.c 2011-04-01 15:33:21.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 149,
- /**/
-
---
-ARTHUR: You are indeed brave Sir knight, but the fight is mine.
-BLACK KNIGHT: Had enough?
-ARTHUR: You stupid bastard. You havn't got any arms left.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.150 b/source/ap/vim/patches/7.3.150
deleted file mode 100644
index 83a8bf282..000000000
--- a/source/ap/vim/patches/7.3.150
+++ /dev/null
@@ -1,113 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.150
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.150
-Problem: readline() does not return the last line when the NL is missing.
- (Hong Xu)
-Solution: When at the end of the file Also check for a previous line.
-Files: src/eval.c
-
-
-*** ../vim-7.3.149/src/eval.c 2011-03-27 16:03:09.000000000 +0200
---- src/eval.c 2011-04-01 16:06:04.000000000 +0200
-***************
-*** 14305,14313 ****
- {
- if (buf[filtd] == '\n' || readlen <= 0)
- {
-! /* Only when in binary mode add an empty list item when the
-! * last line ends in a '\n'. */
-! if (!binary && readlen == 0 && filtd == 0)
- break;
-
- /* Found end-of-line or end-of-file: add a text line to the
---- 14305,14313 ----
- {
- if (buf[filtd] == '\n' || readlen <= 0)
- {
-! /* In binary mode add an empty list item when the last
-! * non-empty line ends in a '\n'. */
-! if (!binary && readlen == 0 && filtd == 0 && prev == NULL)
- break;
-
- /* Found end-of-line or end-of-file: add a text line to the
-***************
-*** 14372,14396 ****
-
- if (tolist == 0)
- {
-! /* "buf" is full, need to move text to an allocated buffer */
-! if (prev == NULL)
- {
-! prev = vim_strnsave(buf, buflen);
-! prevlen = buflen;
-! }
-! else
-! {
-! s = alloc((unsigned)(prevlen + buflen));
-! if (s != NULL)
- {
-! mch_memmove(s, prev, prevlen);
-! mch_memmove(s + prevlen, buf, buflen);
-! vim_free(prev);
-! prev = s;
-! prevlen += buflen;
- }
- }
-- filtd = 0;
- }
- else
- {
---- 14372,14399 ----
-
- if (tolist == 0)
- {
-! if (buflen >= FREAD_SIZE / 2)
- {
-! /* "buf" is full, need to move text to an allocated buffer */
-! if (prev == NULL)
-! {
-! prev = vim_strnsave(buf, buflen);
-! prevlen = buflen;
-! }
-! else
- {
-! s = alloc((unsigned)(prevlen + buflen));
-! if (s != NULL)
-! {
-! mch_memmove(s, prev, prevlen);
-! mch_memmove(s + prevlen, buf, buflen);
-! vim_free(prev);
-! prev = s;
-! prevlen += buflen;
-! }
- }
-+ filtd = 0;
- }
- }
- else
- {
-*** ../vim-7.3.149/src/version.c 2011-04-01 15:33:54.000000000 +0200
---- src/version.c 2011-04-01 16:04:42.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 150,
- /**/
-
---
-ARTHUR: What are you going to do. bleed on me?
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.151 b/source/ap/vim/patches/7.3.151
deleted file mode 100644
index 20f510516..000000000
--- a/source/ap/vim/patches/7.3.151
+++ /dev/null
@@ -1,59 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.151
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.151 (after 7.3.074)
-Problem: When "unnamedplus" is in 'clipboard' the selection is sometimes
- also copied to the star register.
-Solution: Avoid copy to the star register when undesired. (James Vega)
-Files: src/ops.c
-
-
-*** ../vim-7.3.150/src/ops.c 2010-12-08 14:23:08.000000000 +0100
---- src/ops.c 2011-04-01 16:23:10.000000000 +0200
-***************
-*** 3148,3157 ****
- /* Copy the text from register 0 to the clipboard register. */
- copy_yank_reg(&(y_regs[PLUS_REGISTER]));
-
-- /* No need to copy to * register upon 'unnamed' now - see below */
- clip_own_selection(&clip_plus);
- clip_gen_set_selection(&clip_plus);
-! if (!clip_isautosel() && !did_star)
- {
- copy_yank_reg(&(y_regs[STAR_REGISTER]));
- clip_own_selection(&clip_star);
---- 3148,3156 ----
- /* Copy the text from register 0 to the clipboard register. */
- copy_yank_reg(&(y_regs[PLUS_REGISTER]));
-
- clip_own_selection(&clip_plus);
- clip_gen_set_selection(&clip_plus);
-! if (!clip_isautosel() && !did_star && curr == &(y_regs[PLUS_REGISTER]))
- {
- copy_yank_reg(&(y_regs[STAR_REGISTER]));
- clip_own_selection(&clip_star);
-*** ../vim-7.3.150/src/version.c 2011-04-01 16:07:41.000000000 +0200
---- src/version.c 2011-04-01 16:25:40.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 151,
- /**/
-
---
-BLACK KNIGHT: I'm invincible!
-ARTHUR: You're a looney.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.152 b/source/ap/vim/patches/7.3.152
deleted file mode 100644
index fdc58a089..000000000
--- a/source/ap/vim/patches/7.3.152
+++ /dev/null
@@ -1,643 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.152
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.152
-Problem: Xxd does not check for errors from library functions.
-Solution: Add error checks. (Florian Zumbiehl)
-Files: src/xxd/xxd.c
-
-
-*** ../vim-7.3.151/src/xxd/xxd.c 2010-08-15 21:57:25.000000000 +0200
---- src/xxd/xxd.c 2011-04-01 18:56:11.000000000 +0200
-***************
-*** 49,54 ****
---- 49,56 ----
- * option -b added: 01000101 binary output in normal format.
- * 16.05.00 Added VAXC changes by Stephen P. Wall
- * 16.05.00 Improved MMS file and merge for VMS by Zoltan Arpadffy
-+ * 2011 March Better error handling by Florian Zumbiehl.
-+ * 2011 April Formatting by Bram Moolenaar
- *
- * (c) 1990-1998 by Juergen Weigert (jnweiger@informatik.uni-erlangen.de)
- *
-***************
-*** 207,214 ****
-
- /* Let's collect some prototypes */
- /* CodeWarrior is really picky about missing prototypes */
-! static void exit_with_usage __P((char *));
-! static int huntype __P((FILE *, FILE *, FILE *, char *, int, int, long));
- static void xxdline __P((FILE *, char *, int));
-
- #define TRY_SEEK /* attempt to use lseek, or skip forward by reading */
---- 209,216 ----
-
- /* Let's collect some prototypes */
- /* CodeWarrior is really picky about missing prototypes */
-! static void exit_with_usage __P((void));
-! static int huntype __P((FILE *, FILE *, FILE *, int, int, long));
- static void xxdline __P((FILE *, char *, int));
-
- #define TRY_SEEK /* attempt to use lseek, or skip forward by reading */
-***************
-*** 223,231 ****
- #define HEX_CINCLUDE 2
- #define HEX_BITS 3 /* not hex a dump, but bits: 01111001 */
-
-! static void
-! exit_with_usage(pname)
-! char *pname;
- {
- fprintf(stderr, "Usage:\n %s [options] [infile [outfile]]\n", pname);
- fprintf(stderr, " or\n %s -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]\n", pname);
---- 225,234 ----
- #define HEX_CINCLUDE 2
- #define HEX_BITS 3 /* not hex a dump, but bits: 01111001 */
-
-! static char *pname;
-!
-! static void
-! exit_with_usage()
- {
- fprintf(stderr, "Usage:\n %s [options] [infile [outfile]]\n", pname);
- fprintf(stderr, " or\n %s -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]\n", pname);
-***************
-*** 252,257 ****
---- 255,269 ----
- exit(1);
- }
-
-+ static void
-+ die(ret)
-+ int ret;
-+ {
-+ fprintf(stderr, "%s: ", pname);
-+ perror(NULL);
-+ exit(ret);
-+ }
-+
- /*
- * Max. cols binary characters are decoded from the input stream per line.
- * Two adjacent garbage characters after evaluated data delimit valid data.
-***************
-*** 259,270 ****
- *
- * The name is historic and came from 'undo type opt h'.
- */
-! static int
-! huntype(fpi, fpo, fperr, pname, cols, hextype, base_off)
-! FILE *fpi, *fpo, *fperr;
-! char *pname;
-! int cols, hextype;
-! long base_off;
- {
- int c, ign_garb = 1, n1 = -1, n2 = 0, n3, p = cols;
- long have_off = 0, want_off = 0;
---- 271,281 ----
- *
- * The name is historic and came from 'undo type opt h'.
- */
-! static int
-! huntype(fpi, fpo, fperr, cols, hextype, base_off)
-! FILE *fpi, *fpo, *fperr;
-! int cols, hextype;
-! long base_off;
- {
- int c, ign_garb = 1, n1 = -1, n2 = 0, n3, p = cols;
- long have_off = 0, want_off = 0;
-***************
-*** 318,324 ****
-
- if (base_off + want_off != have_off)
- {
-! fflush(fpo);
- #ifdef TRY_SEEK
- c = fseek(fpo, base_off + want_off - have_off, 1);
- if (c >= 0)
---- 329,336 ----
-
- if (base_off + want_off != have_off)
- {
-! if (fflush(fpo) != 0)
-! die(3);
- #ifdef TRY_SEEK
- c = fseek(fpo, base_off + want_off - have_off, 1);
- if (c >= 0)
-***************
-*** 330,341 ****
- return 5;
- }
- for (; have_off < base_off + want_off; have_off++)
-! putc(0, fpo);
- }
-
- if (n2 >= 0 && n1 >= 0)
- {
-! putc((n2 << 4) | n1, fpo);
- have_off++;
- want_off++;
- n1 = -1;
---- 342,355 ----
- return 5;
- }
- for (; have_off < base_off + want_off; have_off++)
-! if (putc(0, fpo) == EOF)
-! die(3);
- }
-
- if (n2 >= 0 && n1 >= 0)
- {
-! if (putc((n2 << 4) | n1, fpo) == EOF)
-! die(3);
- have_off++;
- want_off++;
- n1 = -1;
-***************
-*** 345,350 ****
---- 359,366 ----
- want_off = 0;
- while ((c = getc(fpi)) != '\n' && c != EOF)
- ;
-+ if (c == EOF && ferror(fpi))
-+ die(2);
- ign_garb = 1;
- }
- }
-***************
-*** 355,369 ****
- want_off = 0;
- while ((c = getc(fpi)) != '\n' && c != EOF)
- ;
- ign_garb = 1;
- }
- }
-! fflush(fpo);
- #ifdef TRY_SEEK
- fseek(fpo, 0L, 2);
- #endif
-! fclose(fpo);
-! fclose(fpi);
- return 0;
- }
-
---- 371,390 ----
- want_off = 0;
- while ((c = getc(fpi)) != '\n' && c != EOF)
- ;
-+ if (c == EOF && ferror(fpi))
-+ die(2);
- ign_garb = 1;
- }
- }
-! if (fflush(fpo) != 0)
-! die(3);
- #ifdef TRY_SEEK
- fseek(fpo, 0L, 2);
- #endif
-! if (fclose(fpo) != 0)
-! die(3);
-! if (fclose(fpi) != 0)
-! die(2);
- return 0;
- }
-
-***************
-*** 379,389 ****
- *
- * If nz is always positive, lines are never suppressed.
- */
-! static void
- xxdline(fp, l, nz)
-! FILE *fp;
-! char *l;
-! int nz;
- {
- static char z[LLEN+1];
- static int zero_seen = 0;
---- 400,410 ----
- *
- * If nz is always positive, lines are never suppressed.
- */
-! static void
- xxdline(fp, l, nz)
-! FILE *fp;
-! char *l;
-! int nz;
- {
- static char z[LLEN+1];
- static int zero_seen = 0;
-***************
-*** 398,409 ****
- if (nz < 0)
- zero_seen--;
- if (zero_seen == 2)
-! fputs(z, fp);
- if (zero_seen > 2)
-! fputs("*\n", fp);
- }
- if (nz >= 0 || zero_seen > 0)
-! fputs(l, fp);
- if (nz)
- zero_seen = 0;
- }
---- 419,433 ----
- if (nz < 0)
- zero_seen--;
- if (zero_seen == 2)
-! if (fputs(z, fp) == EOF)
-! die(3);
- if (zero_seen > 2)
-! if (fputs("*\n", fp) == EOF)
-! die(3);
- }
- if (nz >= 0 || zero_seen > 0)
-! if (fputs(l, fp) == EOF)
-! die(3);
- if (nz)
- zero_seen = 0;
- }
-***************
-*** 439,448 ****
- 0070,0071,0372,0373,0374,0375,0376,0377
- };
-
-! int
- main(argc, argv)
-! int argc;
-! char *argv[];
- {
- FILE *fp, *fpo;
- int c, e, p = 0, relseek = 1, negseek = 0, revert = 0;
---- 463,472 ----
- 0070,0071,0372,0373,0374,0375,0376,0377
- };
-
-! int
- main(argc, argv)
-! int argc;
-! char *argv[];
- {
- FILE *fp, *fpo;
- int c, e, p = 0, relseek = 1, negseek = 0, revert = 0;
-***************
-*** 452,458 ****
- int grplen; /* total chars per octet group */
- long length = -1, n = 0, seekoff = 0;
- char l[LLEN+1];
-! char *pname, *pp;
-
- #ifdef AMIGA
- /* This program doesn't work when started from the Workbench */
---- 476,482 ----
- int grplen; /* total chars per octet group */
- long length = -1, n = 0, seekoff = 0;
- char l[LLEN+1];
-! char *pp;
-
- #ifdef AMIGA
- /* This program doesn't work when started from the Workbench */
-***************
-*** 495,501 ****
- else
- {
- if (!argv[2])
-! exit_with_usage(pname);
- cols = (int)strtol(argv[2], NULL, 0);
- argv++;
- argc--;
---- 519,525 ----
- else
- {
- if (!argv[2])
-! exit_with_usage();
- cols = (int)strtol(argv[2], NULL, 0);
- argv++;
- argc--;
-***************
-*** 508,514 ****
- else
- {
- if (!argv[2])
-! exit_with_usage(pname);
- octspergrp = (int)strtol(argv[2], NULL, 0);
- argv++;
- argc--;
---- 532,538 ----
- else
- {
- if (!argv[2])
-! exit_with_usage();
- octspergrp = (int)strtol(argv[2], NULL, 0);
- argv++;
- argc--;
-***************
-*** 531,537 ****
- else
- {
- if (!argv[2])
-! exit_with_usage(pname);
- #ifdef TRY_SEEK
- if (argv[2][0] == '+')
- relseek++;
---- 555,561 ----
- else
- {
- if (!argv[2])
-! exit_with_usage();
- #ifdef TRY_SEEK
- if (argv[2][0] == '+')
- relseek++;
-***************
-*** 550,556 ****
- else
- {
- if (!argv[2])
-! exit_with_usage(pname);
- length = strtol(argv[2], (char **)NULL, 0);
- argv++;
- argc--;
---- 574,580 ----
- else
- {
- if (!argv[2])
-! exit_with_usage();
- length = strtol(argv[2], (char **)NULL, 0);
- argv++;
- argc--;
-***************
-*** 563,569 ****
- break;
- }
- else if (pp[0] == '-' && pp[1]) /* unknown option */
-! exit_with_usage(pname);
- else
- break; /* not an option */
-
---- 587,593 ----
- break;
- }
- else if (pp[0] == '-' && pp[1]) /* unknown option */
-! exit_with_usage();
- else
- break; /* not an option */
-
-***************
-*** 602,608 ****
- octspergrp = cols;
-
- if (argc > 3)
-! exit_with_usage(pname);
-
- if (argc == 1 || (argv[1][0] == '-' && !argv[1][1]))
- BIN_ASSIGN(fp = stdin, !revert);
---- 626,632 ----
- octspergrp = cols;
-
- if (argc > 3)
-! exit_with_usage();
-
- if (argc == 1 || (argv[1][0] == '-' && !argv[1][1]))
- BIN_ASSIGN(fp = stdin, !revert);
-***************
-*** 640,646 ****
- fprintf(stderr, "%s: sorry, cannot revert this type of hexdump\n", pname);
- return -1;
- }
-! return huntype(fp, fpo, stderr, pname, cols, hextype,
- negseek ? -seekoff : seekoff);
- }
-
---- 664,670 ----
- fprintf(stderr, "%s: sorry, cannot revert this type of hexdump\n", pname);
- return -1;
- }
-! return huntype(fp, fpo, stderr, cols, hextype,
- negseek ? -seekoff : seekoff);
- }
-
-***************
-*** 664,670 ****
- long s = seekoff;
-
- while (s--)
-! (void)getc(fp);
- }
- }
-
---- 688,703 ----
- long s = seekoff;
-
- while (s--)
-! if (getc(fp) == EOF)
-! if (ferror(fp))
-! {
-! die(2);
-! }
-! else
-! {
-! fprintf(stderr, "%s: sorry cannot seek.\n", pname);
-! return 4;
-! }
- }
- }
-
-***************
-*** 672,725 ****
- {
- if (fp != stdin)
- {
-! fprintf(fpo, "unsigned char %s", isdigit((int)argv[1][0]) ? "__" : "");
- for (e = 0; (c = argv[1][e]) != 0; e++)
-! putc(isalnum(c) ? c : '_', fpo);
-! fputs("[] = {\n", fpo);
- }
-
- p = 0;
- while ((length < 0 || p < length) && (c = getc(fp)) != EOF)
- {
-! fprintf(fpo, (hexx == hexxa) ? "%s0x%02x" : "%s0X%02X",
-! (p % cols) ? ", " : ",\n "+2*!p, c);
- p++;
- }
-
- if (p)
-! fputs("\n};\n"+3*(fp == stdin), fpo);
-
- if (fp != stdin)
- {
-! fprintf(fpo, "unsigned int %s", isdigit((int)argv[1][0]) ? "__" : "");
- for (e = 0; (c = argv[1][e]) != 0; e++)
-! putc(isalnum(c) ? c : '_', fpo);
-! fprintf(fpo, "_len = %d;\n", p);
- }
-
-! fclose(fp);
-! fclose(fpo);
- return 0;
- }
-
- if (hextype == HEX_POSTSCRIPT)
- {
- p = cols;
- while ((length < 0 || n < length) && (e = getc(fp)) != EOF)
- {
-! putchar(hexx[(e >> 4) & 0xf]);
-! putchar(hexx[(e ) & 0xf]);
- n++;
- if (!--p)
- {
-! putchar('\n');
- p = cols;
- }
- }
- if (p < cols)
-! putchar('\n');
-! fclose(fp);
-! fclose(fpo);
- return 0;
- }
-
---- 705,779 ----
- {
- if (fp != stdin)
- {
-! if (fprintf(fpo, "unsigned char %s", isdigit((int)argv[1][0]) ? "__" : "") < 0)
-! die(3);
- for (e = 0; (c = argv[1][e]) != 0; e++)
-! if (putc(isalnum(c) ? c : '_', fpo) == EOF)
-! die(3);
-! if (fputs("[] = {\n", fpo) == EOF)
-! die(3);
- }
-
- p = 0;
-+ c = 0;
- while ((length < 0 || p < length) && (c = getc(fp)) != EOF)
- {
-! if (fprintf(fpo, (hexx == hexxa) ? "%s0x%02x" : "%s0X%02X",
-! (p % cols) ? ", " : ",\n "+2*!p, c) < 0)
-! die(3);
- p++;
- }
-+ if (c == EOF && ferror(fp))
-+ die(2);
-
- if (p)
-! if (fputs("\n};\n" + 3 * (fp == stdin), fpo) == EOF)
-! die(3);
-
- if (fp != stdin)
- {
-! if (fprintf(fpo, "unsigned int %s", isdigit((int)argv[1][0]) ? "__" : "") < 0)
-! die(3);
- for (e = 0; (c = argv[1][e]) != 0; e++)
-! if (putc(isalnum(c) ? c : '_', fpo) == EOF)
-! die(3);
-! if (fprintf(fpo, "_len = %d;\n", p) < 0)
-! die(3);
- }
-
-! if (fclose(fp))
-! die(2);
-! if (fclose(fpo))
-! die(3);
- return 0;
- }
-
- if (hextype == HEX_POSTSCRIPT)
- {
- p = cols;
-+ e = 0;
- while ((length < 0 || n < length) && (e = getc(fp)) != EOF)
- {
-! if (putc(hexx[(e >> 4) & 0xf], fpo) == EOF
-! || putc(hexx[e & 0xf], fpo) == EOF)
-! die(3);
- n++;
- if (!--p)
- {
-! if (putc('\n', fpo) == EOF)
-! die(3);
- p = cols;
- }
- }
-+ if (e == EOF && ferror(fp))
-+ die(2);
- if (p < cols)
-! if (putc('\n', fpo) == EOF)
-! die(3);
-! if (fclose(fp))
-! die(2);
-! if (fclose(fpo))
-! die(3);
- return 0;
- }
-
-***************
-*** 730,735 ****
---- 784,790 ----
- else /* hextype == HEX_BITS */
- grplen = 8 * octspergrp + 1;
-
-+ e = 0;
- while ((length < 0 || n < length) && (e = getc(fp)) != EOF)
- {
- if (p == 0)
-***************
-*** 771,776 ****
---- 826,833 ----
- p = 0;
- }
- }
-+ if (e == EOF && ferror(fp))
-+ die(2);
- if (p)
- {
- l[c = (11 + (grplen * cols - 1)/octspergrp + p)] = '\n'; l[++c] = '\0';
-***************
-*** 779,785 ****
- else if (autoskip)
- xxdline(fpo, l, -1); /* last chance to flush out suppressed lines */
-
-! fclose(fp);
-! fclose(fpo);
- return 0;
- }
---- 836,846 ----
- else if (autoskip)
- xxdline(fpo, l, -1); /* last chance to flush out suppressed lines */
-
-! if (fclose(fp))
-! die(2);
-! if (fclose(fpo))
-! die(3);
- return 0;
- }
-+
-+ /* vi:set ts=8 sw=4 sts=2 cino+={2 cino+=n-2 : */
-*** ../vim-7.3.151/src/version.c 2011-04-01 16:28:33.000000000 +0200
---- src/version.c 2011-04-01 19:00:26.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 152,
- /**/
-
---
-Eye have a spelling checker, it came with my PC;
-It plainly marks four my revue mistakes I cannot sea.
-I've run this poem threw it, I'm sure your please to no,
-It's letter perfect in it's weigh, my checker tolled me sew!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.153 b/source/ap/vim/patches/7.3.153
deleted file mode 100644
index 9f76b5183..000000000
--- a/source/ap/vim/patches/7.3.153
+++ /dev/null
@@ -1,66 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.153
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.153 (after 7.3.152)
-Problem: Compiler warning for ambiguous else, missing prototype.
-Solution: Add braces. (Dominique Pelle) Add prototype for die().
-Files: src/xxd/xxd.c
-
-
-*** ../vim-7.3.152/src/xxd/xxd.c 2011-04-01 19:14:35.000000000 +0200
---- src/xxd/xxd.c 2011-04-02 14:42:54.000000000 +0200
-***************
-*** 210,215 ****
---- 210,216 ----
- /* Let's collect some prototypes */
- /* CodeWarrior is really picky about missing prototypes */
- static void exit_with_usage __P((void));
-+ static void die __P((int));
- static int huntype __P((FILE *, FILE *, FILE *, int, int, long));
- static void xxdline __P((FILE *, char *, int));
-
-***************
-*** 689,694 ****
---- 690,696 ----
-
- while (s--)
- if (getc(fp) == EOF)
-+ {
- if (ferror(fp))
- {
- die(2);
-***************
-*** 698,703 ****
---- 700,706 ----
- fprintf(stderr, "%s: sorry cannot seek.\n", pname);
- return 4;
- }
-+ }
- }
- }
-
-*** ../vim-7.3.152/src/version.c 2011-04-01 19:14:35.000000000 +0200
---- src/version.c 2011-04-02 14:41:12.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 153,
- /**/
-
---
- |
-
-Ceci n'est pas une pipe.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.154 b/source/ap/vim/patches/7.3.154
deleted file mode 100644
index e7c886200..000000000
--- a/source/ap/vim/patches/7.3.154
+++ /dev/null
@@ -1,106 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.154
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.154 (after 7.3.148)
-Problem: Can't compile with tiny features. (Tony Mechelynck)
-Solution: Move #define outside of #ifdef.
-Files: src/syntax.c
-
-
-*** ../vim-7.3.153/src/syntax.c 2011-04-01 14:44:54.000000000 +0200
---- src/syntax.c 2011-04-02 15:11:47.000000000 +0200
-***************
-*** 68,73 ****
---- 68,75 ----
-
- #define HL_TABLE() ((struct hl_group *)((highlight_ga.ga_data)))
-
-+ #define MAX_HL_ID 20000 /* maximum value for a highlight ID. */
-+
- #ifdef FEAT_CMDL_COMPL
- /* Flags to indicate an additional string for highlight name completion. */
- static int include_none = 0; /* when 1 include "None" */
-***************
-*** 225,236 ****
- * 22000 - 22999 CONTAINED indicator (current_syn_inc_tag added)
- * 23000 - 32767 cluster IDs (subtract SYNID_CLUSTER for the cluster ID)
- */
-! #define SYNID_ALLBUT 20000 /* syntax group ID for contains=ALLBUT */
- #define SYNID_TOP 21000 /* syntax group ID for contains=TOP */
- #define SYNID_CONTAINED 22000 /* syntax group ID for contains=CONTAINED */
- #define SYNID_CLUSTER 23000 /* first syntax group ID for clusters */
-
-- #define MAX_SYNID SYNID_ALLBUT
- #define MAX_SYN_INC_TAG 999 /* maximum before the above overflow */
- #define MAX_CLUSTER_ID (32767 - SYNID_CLUSTER)
-
---- 227,237 ----
- * 22000 - 22999 CONTAINED indicator (current_syn_inc_tag added)
- * 23000 - 32767 cluster IDs (subtract SYNID_CLUSTER for the cluster ID)
- */
-! #define SYNID_ALLBUT MAX_HL_ID /* syntax group ID for contains=ALLBUT */
- #define SYNID_TOP 21000 /* syntax group ID for contains=TOP */
- #define SYNID_CONTAINED 22000 /* syntax group ID for contains=CONTAINED */
- #define SYNID_CLUSTER 23000 /* first syntax group ID for clusters */
-
- #define MAX_SYN_INC_TAG 999 /* maximum before the above overflow */
- #define MAX_CLUSTER_ID (32767 - SYNID_CLUSTER)
-
-***************
-*** 6462,6468 ****
-
- #endif /* FEAT_SYN_HL */
-
--
- /**************************************
- * Highlighting stuff *
- **************************************/
---- 6463,6468 ----
-***************
-*** 8996,9004 ****
- highlight_ga.ga_growsize = 10;
- }
-
-! if (highlight_ga.ga_len >= MAX_SYNID)
- {
-! EMSG(_("E849: Too many syntax groups"));
- vim_free(name);
- return 0;
- }
---- 8996,9004 ----
- highlight_ga.ga_growsize = 10;
- }
-
-! if (highlight_ga.ga_len >= MAX_HL_ID)
- {
-! EMSG(_("E849: Too many highlight and syntax groups"));
- vim_free(name);
- return 0;
- }
-*** ../vim-7.3.153/src/version.c 2011-04-02 14:44:50.000000000 +0200
---- src/version.c 2011-04-02 14:52:33.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 154,
- /**/
-
---
-BEDEVERE: Why do you think she is a witch?
-SECOND VILLAGER: She turned me into a newt.
-BEDEVERE: A newt?
-SECOND VILLAGER: (After looking at himself for some time) I got better.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.155 b/source/ap/vim/patches/7.3.155
deleted file mode 100644
index 806efca2b..000000000
--- a/source/ap/vim/patches/7.3.155
+++ /dev/null
@@ -1,286 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.155
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.155
-Problem: Crash when using map(), filter() and remove() on v:. (ZyX)
- Also for extend(). (Yukihiro Nakadaira)
-Solution: Mark v: as locked. Also correct locking error messages.
-Files: src/eval.c
-
-
-*** ../vim-7.3.154/src/eval.c 2011-04-01 16:07:41.000000000 +0200
---- src/eval.c 2011-04-11 13:28:34.000000000 +0200
-***************
-*** 853,858 ****
---- 853,859 ----
-
- init_var_dict(&globvardict, &globvars_var);
- init_var_dict(&vimvardict, &vimvars_var);
-+ vimvardict.dv_lock = VAR_FIXED;
- hash_init(&compat_hashtab);
- hash_init(&func_hashtab);
-
-***************
-*** 8545,8551 ****
- if (argvars[0].v_type == VAR_LIST)
- {
- if ((l = argvars[0].vval.v_list) != NULL
-! && !tv_check_lock(l->lv_lock, (char_u *)"add()")
- && list_append_tv(l, &argvars[1]) == OK)
- copy_tv(&argvars[0], rettv);
- }
---- 8546,8552 ----
- if (argvars[0].v_type == VAR_LIST)
- {
- if ((l = argvars[0].vval.v_list) != NULL
-! && !tv_check_lock(l->lv_lock, (char_u *)_("add() argument"))
- && list_append_tv(l, &argvars[1]) == OK)
- copy_tv(&argvars[0], rettv);
- }
-***************
-*** 9946,9951 ****
---- 9947,9954 ----
- typval_T *argvars;
- typval_T *rettv;
- {
-+ char *arg_errmsg = N_("extend() argument");
-+
- if (argvars[0].v_type == VAR_LIST && argvars[1].v_type == VAR_LIST)
- {
- list_T *l1, *l2;
-***************
-*** 9955,9961 ****
-
- l1 = argvars[0].vval.v_list;
- l2 = argvars[1].vval.v_list;
-! if (l1 != NULL && !tv_check_lock(l1->lv_lock, (char_u *)"extend()")
- && l2 != NULL)
- {
- if (argvars[2].v_type != VAR_UNKNOWN)
---- 9958,9964 ----
-
- l1 = argvars[0].vval.v_list;
- l2 = argvars[1].vval.v_list;
-! if (l1 != NULL && !tv_check_lock(l1->lv_lock, (char_u *)_(arg_errmsg))
- && l2 != NULL)
- {
- if (argvars[2].v_type != VAR_UNKNOWN)
-***************
-*** 9994,10000 ****
-
- d1 = argvars[0].vval.v_dict;
- d2 = argvars[1].vval.v_dict;
-! if (d1 != NULL && !tv_check_lock(d1->dv_lock, (char_u *)"extend()")
- && d2 != NULL)
- {
- /* Check the third argument. */
---- 9997,10003 ----
-
- d1 = argvars[0].vval.v_dict;
- d2 = argvars[1].vval.v_dict;
-! if (d1 != NULL && !tv_check_lock(d1->dv_lock, (char_u *)_(arg_errmsg))
- && d2 != NULL)
- {
- /* Check the third argument. */
-***************
-*** 10236,10255 ****
- typval_T save_key;
- int rem;
- int todo;
-! char_u *ermsg = map ? (char_u *)"map()" : (char_u *)"filter()";
- int save_did_emsg;
- int idx = 0;
-
- if (argvars[0].v_type == VAR_LIST)
- {
- if ((l = argvars[0].vval.v_list) == NULL
-! || (map && tv_check_lock(l->lv_lock, ermsg)))
- return;
- }
- else if (argvars[0].v_type == VAR_DICT)
- {
- if ((d = argvars[0].vval.v_dict) == NULL
-! || (map && tv_check_lock(d->dv_lock, ermsg)))
- return;
- }
- else
---- 10239,10260 ----
- typval_T save_key;
- int rem;
- int todo;
-! char_u *ermsg = (char_u *)(map ? "map()" : "filter()");
-! char *arg_errmsg = (map ? N_("map() argument")
-! : N_("filter() argument"));
- int save_did_emsg;
- int idx = 0;
-
- if (argvars[0].v_type == VAR_LIST)
- {
- if ((l = argvars[0].vval.v_list) == NULL
-! || tv_check_lock(l->lv_lock, (char_u *)_(arg_errmsg)))
- return;
- }
- else if (argvars[0].v_type == VAR_DICT)
- {
- if ((d = argvars[0].vval.v_dict) == NULL
-! || tv_check_lock(d->dv_lock, (char_u *)_(arg_errmsg)))
- return;
- }
- else
-***************
-*** 10286,10292 ****
- {
- --todo;
- di = HI2DI(hi);
-! if (tv_check_lock(di->di_tv.v_lock, ermsg))
- break;
- vimvars[VV_KEY].vv_str = vim_strsave(di->di_key);
- if (filter_map_one(&di->di_tv, expr, map, &rem) == FAIL
---- 10291,10298 ----
- {
- --todo;
- di = HI2DI(hi);
-! if (tv_check_lock(di->di_tv.v_lock,
-! (char_u *)_(arg_errmsg)))
- break;
- vimvars[VV_KEY].vv_str = vim_strsave(di->di_key);
- if (filter_map_one(&di->di_tv, expr, map, &rem) == FAIL
-***************
-*** 10305,10311 ****
-
- for (li = l->lv_first; li != NULL; li = nli)
- {
-! if (tv_check_lock(li->li_tv.v_lock, ermsg))
- break;
- nli = li->li_next;
- vimvars[VV_KEY].vv_nr = idx;
---- 10311,10317 ----
-
- for (li = l->lv_first; li != NULL; li = nli)
- {
-! if (tv_check_lock(li->li_tv.v_lock, (char_u *)_(arg_errmsg)))
- break;
- nli = li->li_next;
- vimvars[VV_KEY].vv_nr = idx;
-***************
-*** 12910,12916 ****
- if (argvars[0].v_type != VAR_LIST)
- EMSG2(_(e_listarg), "insert()");
- else if ((l = argvars[0].vval.v_list) != NULL
-! && !tv_check_lock(l->lv_lock, (char_u *)"insert()"))
- {
- if (argvars[2].v_type != VAR_UNKNOWN)
- before = get_tv_number_chk(&argvars[2], &error);
---- 12916,12922 ----
- if (argvars[0].v_type != VAR_LIST)
- EMSG2(_(e_listarg), "insert()");
- else if ((l = argvars[0].vval.v_list) != NULL
-! && !tv_check_lock(l->lv_lock, (char_u *)_("insert() argument")))
- {
- if (argvars[2].v_type != VAR_UNKNOWN)
- before = get_tv_number_chk(&argvars[2], &error);
-***************
-*** 14775,14787 ****
- char_u *key;
- dict_T *d;
- dictitem_T *di;
-
- if (argvars[0].v_type == VAR_DICT)
- {
- if (argvars[2].v_type != VAR_UNKNOWN)
- EMSG2(_(e_toomanyarg), "remove()");
- else if ((d = argvars[0].vval.v_dict) != NULL
-! && !tv_check_lock(d->dv_lock, (char_u *)"remove() argument"))
- {
- key = get_tv_string_chk(&argvars[1]);
- if (key != NULL)
---- 14781,14794 ----
- char_u *key;
- dict_T *d;
- dictitem_T *di;
-+ char *arg_errmsg = N_("remove() argument");
-
- if (argvars[0].v_type == VAR_DICT)
- {
- if (argvars[2].v_type != VAR_UNKNOWN)
- EMSG2(_(e_toomanyarg), "remove()");
- else if ((d = argvars[0].vval.v_dict) != NULL
-! && !tv_check_lock(d->dv_lock, (char_u *)_(arg_errmsg)))
- {
- key = get_tv_string_chk(&argvars[1]);
- if (key != NULL)
-***************
-*** 14801,14807 ****
- else if (argvars[0].v_type != VAR_LIST)
- EMSG2(_(e_listdictarg), "remove()");
- else if ((l = argvars[0].vval.v_list) != NULL
-! && !tv_check_lock(l->lv_lock, (char_u *)"remove() argument"))
- {
- int error = FALSE;
-
---- 14808,14814 ----
- else if (argvars[0].v_type != VAR_LIST)
- EMSG2(_(e_listdictarg), "remove()");
- else if ((l = argvars[0].vval.v_list) != NULL
-! && !tv_check_lock(l->lv_lock, (char_u *)_(arg_errmsg)))
- {
- int error = FALSE;
-
-***************
-*** 15135,15141 ****
- if (argvars[0].v_type != VAR_LIST)
- EMSG2(_(e_listarg), "reverse()");
- else if ((l = argvars[0].vval.v_list) != NULL
-! && !tv_check_lock(l->lv_lock, (char_u *)"reverse()"))
- {
- li = l->lv_last;
- l->lv_first = l->lv_last = NULL;
---- 15142,15148 ----
- if (argvars[0].v_type != VAR_LIST)
- EMSG2(_(e_listarg), "reverse()");
- else if ((l = argvars[0].vval.v_list) != NULL
-! && !tv_check_lock(l->lv_lock, (char_u *)_("reverse() argument")))
- {
- li = l->lv_last;
- l->lv_first = l->lv_last = NULL;
-***************
-*** 16432,16438 ****
- else
- {
- l = argvars[0].vval.v_list;
-! if (l == NULL || tv_check_lock(l->lv_lock, (char_u *)"sort()"))
- return;
- rettv->vval.v_list = l;
- rettv->v_type = VAR_LIST;
---- 16439,16446 ----
- else
- {
- l = argvars[0].vval.v_list;
-! if (l == NULL || tv_check_lock(l->lv_lock,
-! (char_u *)_("sort() argument")))
- return;
- rettv->vval.v_list = l;
- rettv->v_type = VAR_LIST;
-*** ../vim-7.3.154/src/version.c 2011-04-02 15:12:45.000000000 +0200
---- src/version.c 2011-04-11 13:13:38.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 155,
- /**/
-
---
-I used to be indecisive, now I'm not sure.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.156 b/source/ap/vim/patches/7.3.156
deleted file mode 100644
index ec873242e..000000000
--- a/source/ap/vim/patches/7.3.156
+++ /dev/null
@@ -1,89 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.156
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.156
-Problem: Tty names possibly left unterminated.
-Solution: Use vim_strncpy() instead of strncpy().
-Files: src/pty.c
-
-
-*** ../vim-7.3.155/src/pty.c 2010-08-15 21:57:28.000000000 +0200
---- src/pty.c 2011-04-11 14:02:49.000000000 +0200
-***************
-*** 209,216 ****
- #ifdef _SEQUENT_
- fvhangup(s);
- #endif
-! strncpy(PtyName, m, sizeof(PtyName));
-! strncpy(TtyName, s, sizeof(TtyName));
- initmaster(f);
- *ttyn = TtyName;
- return f;
---- 209,216 ----
- #ifdef _SEQUENT_
- fvhangup(s);
- #endif
-! vim_strncpy((char_u *)PtyName, (char_u *)m, sizeof(PtyName) - 1);
-! vim_strncpy((char_u *)TtyName, (char_u *)s, sizeof(TtyName) - 1);
- initmaster(f);
- *ttyn = TtyName;
- return f;
-***************
-*** 301,307 ****
- return -1;
- }
- signal(SIGCHLD, sigcld);
-! strncpy(TtyName, m, sizeof(TtyName));
- initmaster(f);
- *ttyn = TtyName;
- return f;
---- 301,307 ----
- return -1;
- }
- signal(SIGCHLD, sigcld);
-! vim_strncpy((char_u *)TtyName, (char_u *)m, sizeof(TtyName) - 1);
- initmaster(f);
- *ttyn = TtyName;
- return f;
-***************
-*** 326,332 ****
- /* a dumb looking loop replaced by mycrofts code: */
- if ((f = open("/dev/ptc", O_RDWR | O_NOCTTY | O_EXTRA)) < 0)
- return -1;
-! strncpy(TtyName, ttyname(f), sizeof(TtyName));
- if (geteuid() != ROOT_UID && mch_access(TtyName, R_OK | W_OK))
- {
- close(f);
---- 326,332 ----
- /* a dumb looking loop replaced by mycrofts code: */
- if ((f = open("/dev/ptc", O_RDWR | O_NOCTTY | O_EXTRA)) < 0)
- return -1;
-! vim_strncpy((char_u *)TtyName, (char_u *)ttyname(f), sizeof(TtyName) - 1);
- if (geteuid() != ROOT_UID && mch_access(TtyName, R_OK | W_OK))
- {
- close(f);
-*** ../vim-7.3.155/src/version.c 2011-04-11 13:46:07.000000000 +0200
---- src/version.c 2011-04-11 14:23:38.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 156,
- /**/
-
---
-I think that you'll agree that engineers are very effective in their social
-interactions. It's the "normal" people who are nuts.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.157 b/source/ap/vim/patches/7.3.157
deleted file mode 100644
index 403c94865..000000000
--- a/source/ap/vim/patches/7.3.157
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.157
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.157
-Problem: Superfluous assignment.
-Solution: Remove assignment.
-Files: src/misc1.c
-
-
-*** ../vim-7.3.156/src/misc1.c 2011-03-22 13:07:19.000000000 +0100
---- src/misc1.c 2011-04-11 14:11:17.000000000 +0200
-***************
-*** 6773,6780 ****
- {
- curwin->w_cursor.lnum = our_paren_pos.lnum;
- curwin->w_cursor.col = col;
-! if ((trypos = find_match_paren(ind_maxparen,
-! ind_maxcomment)) != NULL)
- amount += ind_unclosed2;
- else
- amount += ind_unclosed;
---- 6775,6781 ----
- {
- curwin->w_cursor.lnum = our_paren_pos.lnum;
- curwin->w_cursor.col = col;
-! if (find_match_paren(ind_maxparen, ind_maxcomment) != NULL)
- amount += ind_unclosed2;
- else
- amount += ind_unclosed;
-*** ../vim-7.3.156/src/version.c 2011-04-11 14:24:33.000000000 +0200
---- src/version.c 2011-04-11 14:25:36.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 157,
- /**/
-
---
-A radioactive cat has eighteen half-lives.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.158 b/source/ap/vim/patches/7.3.158
deleted file mode 100644
index 8fba3508b..000000000
--- a/source/ap/vim/patches/7.3.158
+++ /dev/null
@@ -1,48 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.158
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.158
-Problem: Might use uninitialized memory in C indenting.
-Solution: Init arrays to empty.
-Files: src/misc1.c
-
-
-*** ../vim-7.3.157/src/misc1.c 2011-04-11 14:26:15.000000000 +0200
---- src/misc1.c 2011-04-11 14:11:17.000000000 +0200
-***************
-*** 6433,6438 ****
---- 6433,6440 ----
- /* find how indented the line beginning the comment is */
- getvcol(curwin, trypos, &col, NULL, NULL);
- amount = col;
-+ *lead_start = NUL;
-+ *lead_middle = NUL;
-
- p = curbuf->b_p_com;
- while (*p != NUL)
-*** ../vim-7.3.157/src/version.c 2011-04-11 14:26:15.000000000 +0200
---- src/version.c 2011-04-11 14:27:05.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 158,
- /**/
-
---
-It's totally unfair to suggest - as many have - that engineers are socially
-inept. Engineers simply have different objectives when it comes to social
-interaction.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.159 b/source/ap/vim/patches/7.3.159
deleted file mode 100644
index 7029ac86c..000000000
--- a/source/ap/vim/patches/7.3.159
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.159
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.159
-Problem: Using uninitialized pointer when out of memory.
-Solution: Check for NULL return value.
-Files: src/mbyte.c
-
-
-*** ../vim-7.3.158/src/mbyte.c 2010-10-27 13:37:39.000000000 +0200
---- src/mbyte.c 2011-04-11 14:17:39.000000000 +0200
-***************
-*** 4129,4135 ****
- done = to - (char *)result;
- }
-
-! if (resultlenp != NULL)
- *resultlenp = (int)(to - (char *)result);
- return result;
- }
---- 4129,4135 ----
- done = to - (char *)result;
- }
-
-! if (resultlenp != NULL && result != NULL)
- *resultlenp = (int)(to - (char *)result);
- return result;
- }
-*** ../vim-7.3.158/src/version.c 2011-04-11 14:27:34.000000000 +0200
---- src/version.c 2011-04-11 14:28:08.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 159,
- /**/
-
---
-I learned the customs and mannerisms of engineers by observing them, much the
-way Jane Goodall learned about the great apes, but without the hassle of
-grooming.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.160 b/source/ap/vim/patches/7.3.160
deleted file mode 100644
index bf3a069ff..000000000
--- a/source/ap/vim/patches/7.3.160
+++ /dev/null
@@ -1,482 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.160
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.160
-Problem: Unsafe string copying.
-Solution: Use vim_strncpy() instead of strcpy(). Use vim_strcat() instead
- of strcat().
-Files: src/buffer.c, src/ex_docmd.c, src/hardcopy.c, src/menu.c,
- src/misc1.c, src/misc2.c, src/proto/misc2.pro, src/netbeans.c,
- src/os_unix.c, src/spell.c, src/syntax.c, src/tag.c
-
-*** ../vim-7.3.159/src/buffer.c 2011-02-15 14:24:42.000000000 +0100
---- src/buffer.c 2011-04-11 16:08:38.000000000 +0200
-***************
-*** 3176,3182 ****
- /* format: "fname + (path) (1 of 2) - VIM" */
-
- if (curbuf->b_fname == NULL)
-! STRCPY(buf, _("[No Name]"));
- else
- {
- p = transstr(gettail(curbuf->b_fname));
---- 3176,3182 ----
- /* format: "fname + (path) (1 of 2) - VIM" */
-
- if (curbuf->b_fname == NULL)
-! vim_strncpy(buf, (char_u *)_("[No Name]"), IOSIZE - 100);
- else
- {
- p = transstr(gettail(curbuf->b_fname));
-***************
-*** 3232,3238 ****
- if (serverName != NULL)
- {
- STRCAT(buf, " - ");
-! STRCAT(buf, serverName);
- }
- else
- #endif
---- 3232,3238 ----
- if (serverName != NULL)
- {
- STRCAT(buf, " - ");
-! vim_strcat(buf, serverName, IOSIZE);
- }
- else
- #endif
-*** ../vim-7.3.159/src/ex_docmd.c 2011-03-03 15:54:45.000000000 +0100
---- src/ex_docmd.c 2011-04-11 15:43:48.000000000 +0200
-***************
-*** 5096,5102 ****
- char_u buff[IOSIZE];
-
- if (n == 1)
-! STRCPY(buff, _("1 more file to edit. Quit anyway?"));
- else
- vim_snprintf((char *)buff, IOSIZE,
- _("%d more files to edit. Quit anyway?"), n);
---- 5096,5104 ----
- char_u buff[IOSIZE];
-
- if (n == 1)
-! vim_strncpy(buff,
-! (char_u *)_("1 more file to edit. Quit anyway?"),
-! IOSIZE - 1);
- else
- vim_snprintf((char *)buff, IOSIZE,
- _("%d more files to edit. Quit anyway?"), n);
-*** ../vim-7.3.159/src/hardcopy.c 2010-08-15 21:57:25.000000000 +0200
---- src/hardcopy.c 2011-04-11 15:30:09.000000000 +0200
-***************
-*** 1761,1772 ****
- {
- char_u buffer[MAXPATHL + 1];
-
-! STRCPY(resource->name, name);
- /* Look for named resource file in runtimepath */
- STRCPY(buffer, "print");
- add_pathsep(buffer);
-! STRCAT(buffer, name);
-! STRCAT(buffer, ".ps");
- resource->filename[0] = NUL;
- return (do_in_runtimepath(buffer, FALSE, prt_resource_name,
- resource->filename)
---- 1761,1772 ----
- {
- char_u buffer[MAXPATHL + 1];
-
-! vim_strncpy(resource->name, (char_u *)name, 63);
- /* Look for named resource file in runtimepath */
- STRCPY(buffer, "print");
- add_pathsep(buffer);
-! vim_strcat(buffer, (char_u *)name, MAXPATHL);
-! vim_strcat(buffer, (char_u *)".ps", MAXPATHL);
- resource->filename[0] = NUL;
- return (do_in_runtimepath(buffer, FALSE, prt_resource_name,
- resource->filename)
-*** ../vim-7.3.159/src/menu.c 2011-01-04 17:49:25.000000000 +0100
---- src/menu.c 2011-04-11 15:17:21.000000000 +0200
-***************
-*** 1394,1400 ****
- int idx;
- {
- static vimmenu_T *menu = NULL;
-! static char_u tbuffer[256]; /*hack*/
- char_u *str;
- #ifdef FEAT_MULTI_LANG
- static int should_advance = FALSE;
---- 1394,1401 ----
- int idx;
- {
- static vimmenu_T *menu = NULL;
-! #define TBUFFER_LEN 256
-! static char_u tbuffer[TBUFFER_LEN]; /*hack*/
- char_u *str;
- #ifdef FEAT_MULTI_LANG
- static int should_advance = FALSE;
-***************
-*** 1428,1438 ****
- {
- #ifdef FEAT_MULTI_LANG
- if (should_advance)
-! STRCPY(tbuffer, menu->en_dname);
- else
- {
- #endif
-! STRCPY(tbuffer, menu->dname);
- #ifdef FEAT_MULTI_LANG
- if (menu->en_dname == NULL)
- should_advance = TRUE;
---- 1429,1439 ----
- {
- #ifdef FEAT_MULTI_LANG
- if (should_advance)
-! vim_strncpy(tbuffer, menu->en_dname, TBUFFER_LEN - 2);
- else
- {
- #endif
-! vim_strncpy(tbuffer, menu->dname, TBUFFER_LEN - 2);
- #ifdef FEAT_MULTI_LANG
- if (menu->en_dname == NULL)
- should_advance = TRUE;
-*** ../vim-7.3.159/src/misc1.c 2011-04-11 14:27:34.000000000 +0200
---- src/misc1.c 2011-04-11 16:03:22.000000000 +0200
-***************
-*** 3332,3350 ****
- if (pn == 1)
- {
- if (n > 0)
-! STRCPY(msg_buf, _("1 more line"));
- else
-! STRCPY(msg_buf, _("1 line less"));
- }
- else
- {
- if (n > 0)
-! sprintf((char *)msg_buf, _("%ld more lines"), pn);
- else
-! sprintf((char *)msg_buf, _("%ld fewer lines"), pn);
- }
- if (got_int)
-! STRCAT(msg_buf, _(" (Interrupted)"));
- if (msg(msg_buf))
- {
- set_keep_msg(msg_buf, 0);
---- 3332,3354 ----
- if (pn == 1)
- {
- if (n > 0)
-! vim_strncpy(msg_buf, (char_u *)_("1 more line"),
-! MSG_BUF_LEN - 1);
- else
-! vim_strncpy(msg_buf, (char_u *)_("1 line less"),
-! MSG_BUF_LEN - 1);
- }
- else
- {
- if (n > 0)
-! vim_snprintf((char *)msg_buf, MSG_BUF_LEN,
-! _("%ld more lines"), pn);
- else
-! vim_snprintf((char *)msg_buf, MSG_BUF_LEN,
-! _("%ld fewer lines"), pn);
- }
- if (got_int)
-! vim_strcat(msg_buf, (char_u *)_(" (Interrupted)"), MSG_BUF_LEN);
- if (msg(msg_buf))
- {
- set_keep_msg(msg_buf, 0);
-*** ../vim-7.3.159/src/misc2.c 2010-12-08 13:11:15.000000000 +0100
---- src/misc2.c 2011-04-11 15:30:20.000000000 +0200
-***************
-*** 1647,1652 ****
---- 1647,1674 ----
- }
-
- /*
-+ * Like strcat(), but make sure the result fits in "tosize" bytes and is
-+ * always NUL terminated.
-+ */
-+ void
-+ vim_strcat(to, from, tosize)
-+ char_u *to;
-+ char_u *from;
-+ size_t tosize;
-+ {
-+ size_t tolen = STRLEN(to);
-+ size_t fromlen = STRLEN(from);
-+
-+ if (tolen + fromlen + 1 > tosize)
-+ {
-+ mch_memmove(to + tolen, from, tosize - tolen - 1);
-+ to[tosize - 1] = NUL;
-+ }
-+ else
-+ STRCPY(to + tolen, from);
-+ }
-+
-+ /*
- * Isolate one part of a string option where parts are separated with
- * "sep_chars".
- * The part is copied into "buf[maxlen]".
-*** ../vim-7.3.159/src/proto/misc2.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/misc2.pro 2011-04-11 15:29:55.000000000 +0200
-***************
-*** 40,45 ****
---- 40,46 ----
- void copy_chars __ARGS((char_u *ptr, size_t count, int c));
- void del_trailing_spaces __ARGS((char_u *ptr));
- void vim_strncpy __ARGS((char_u *to, char_u *from, size_t len));
-+ void vim_strcat __ARGS((char_u *to, char_u *from, size_t tosize));
- int copy_option_part __ARGS((char_u **option, char_u *buf, int maxlen, char *sep_chars));
- void vim_free __ARGS((void *x));
- int vim_stricmp __ARGS((char *s1, char *s2));
-*** ../vim-7.3.159/src/netbeans.c 2011-04-01 15:33:54.000000000 +0200
---- src/netbeans.c 2011-04-11 16:02:51.000000000 +0200
-***************
-*** 3914,3927 ****
- }
- else
- {
-! char_u ebuf[BUFSIZ];
-
-! STRCPY(ebuf, (char_u *)_("E505: "));
-! STRCAT(ebuf, IObuff);
-! STRCAT(ebuf, (char_u *)_("is read-only (add ! to override)"));
-! STRCPY(IObuff, ebuf);
-! nbdebug((" %s\n", ebuf ));
-! emsg(IObuff);
- }
- }
-
---- 3914,3925 ----
- }
- else
- {
-! char_u msgbuf[IOSIZE];
-
-! vim_snprintf((char *)msgbuf, IOSIZE,
-! _("E505: %s is read-only (add ! to override)"), IObuff);
-! nbdebug((" %s\n", msgbuf));
-! emsg(msgbuf);
- }
- }
-
-*** ../vim-7.3.159/src/os_unix.c 2011-02-15 17:39:14.000000000 +0100
---- src/os_unix.c 2011-04-11 16:39:11.000000000 +0200
-***************
-*** 5725,5730 ****
---- 5725,5731 ----
- if (shell_style == STYLE_PRINT && !did_find_nul)
- {
- /* If there is a NUL, set did_find_nul, else set check_spaces */
-+ buffer[len] = NUL;
- if (len && (int)STRLEN(buffer) < (int)len - 1)
- did_find_nul = TRUE;
- else
-***************
-*** 6594,6600 ****
- xterm_hints.x = 2;
- return TRUE;
- }
-! if (mouse_code == NULL)
- {
- xterm_trace = 0;
- return FALSE;
---- 6595,6601 ----
- xterm_hints.x = 2;
- return TRUE;
- }
-! if (mouse_code == NULL || STRLEN(mouse_code) > 45)
- {
- xterm_trace = 0;
- return FALSE;
-*** ../vim-7.3.159/src/spell.c 2011-02-01 13:59:44.000000000 +0100
---- src/spell.c 2011-04-11 15:50:40.000000000 +0200
-***************
-*** 6957,6963 ****
- if (ae->ae_add == NULL)
- *newword = NUL;
- else
-! STRCPY(newword, ae->ae_add);
- p = word;
- if (ae->ae_chop != NULL)
- {
---- 6957,6963 ----
- if (ae->ae_add == NULL)
- *newword = NUL;
- else
-! vim_strncpy(newword, ae->ae_add, MAXWLEN - 1);
- p = word;
- if (ae->ae_chop != NULL)
- {
-***************
-*** 6978,6984 ****
- else
- {
- /* suffix: chop/add at the end of the word */
-! STRCPY(newword, word);
- if (ae->ae_chop != NULL)
- {
- /* Remove chop string. */
---- 6978,6984 ----
- else
- {
- /* suffix: chop/add at the end of the word */
-! vim_strncpy(newword, word, MAXWLEN - 1);
- if (ae->ae_chop != NULL)
- {
- /* Remove chop string. */
-***************
-*** 8654,8660 ****
- * Write the .sug file.
- * Make the file name by changing ".spl" to ".sug".
- */
-! STRCPY(fname, wfname);
- len = (int)STRLEN(fname);
- fname[len - 2] = 'u';
- fname[len - 1] = 'g';
---- 8654,8660 ----
- * Write the .sug file.
- * Make the file name by changing ".spl" to ".sug".
- */
-! vim_strncpy(fname, wfname, MAXPATHL - 1);
- len = (int)STRLEN(fname);
- fname[len - 2] = 'u';
- fname[len - 1] = 'g';
-***************
-*** 10261,10267 ****
-
- /* The suggested word may replace only part of the bad word, add
- * the not replaced part. */
-! STRCPY(wcopy, stp->st_word);
- if (sug.su_badlen > stp->st_orglen)
- vim_strncpy(wcopy + stp->st_wordlen,
- sug.su_badptr + stp->st_orglen,
---- 10261,10267 ----
-
- /* The suggested word may replace only part of the bad word, add
- * the not replaced part. */
-! vim_strncpy(wcopy, stp->st_word, MAXWLEN);
- if (sug.su_badlen > stp->st_orglen)
- vim_strncpy(wcopy + stp->st_wordlen,
- sug.su_badptr + stp->st_orglen,
-***************
-*** 13162,13168 ****
- pbad = badsound2;
- }
-
-! if (lendiff > 0)
- {
- /* Add part of the bad word to the good word, so that we soundfold
- * what replaces the bad word. */
---- 13162,13168 ----
- pbad = badsound2;
- }
-
-! if (lendiff > 0 && stp->st_wordlen + lendiff < MAXWLEN)
- {
- /* Add part of the bad word to the good word, so that we soundfold
- * what replaces the bad word. */
-***************
-*** 13875,13881 ****
- for (i = gap->ga_len - 1; i >= 0; --i)
- {
- /* Need to append what follows to check for "the the". */
-! STRCPY(longword, stp[i].st_word);
- len = stp[i].st_wordlen;
- vim_strncpy(longword + len, su->su_badptr + stp[i].st_orglen,
- MAXWLEN - len);
---- 13875,13881 ----
- for (i = gap->ga_len - 1; i >= 0; --i)
- {
- /* Need to append what follows to check for "the the". */
-! vim_strncpy(longword, stp[i].st_word, MAXWLEN);
- len = stp[i].st_wordlen;
- vim_strncpy(longword + len, su->su_badptr + stp[i].st_orglen,
- MAXWLEN - len);
-***************
-*** 14221,14227 ****
- *t = NUL;
- }
- else
-! STRCPY(word, s);
-
- smp = (salitem_T *)slang->sl_sal.ga_data;
-
---- 14221,14227 ----
- *t = NUL;
- }
- else
-! vim_strncpy(word, s, MAXWLEN - 1);
-
- smp = (salitem_T *)slang->sl_sal.ga_data;
-
-*** ../vim-7.3.159/src/syntax.c 2011-04-02 15:12:45.000000000 +0200
---- src/syntax.c 2011-04-11 15:44:30.000000000 +0200
-***************
-*** 8576,8583 ****
- if (iarg & hl_attr_table[i])
- {
- if (buf[0] != NUL)
-! STRCAT(buf, ",");
-! STRCAT(buf, hl_name_table[i]);
- iarg &= ~hl_attr_table[i]; /* don't want "inverse" */
- }
- }
---- 8576,8583 ----
- if (iarg & hl_attr_table[i])
- {
- if (buf[0] != NUL)
-! vim_strcat(buf, (char_u *)",", 100);
-! vim_strcat(buf, (char_u *)hl_name_table[i], 100);
- iarg &= ~hl_attr_table[i]; /* don't want "inverse" */
- }
- }
-*** ../vim-7.3.159/src/tag.c 2011-02-25 15:13:43.000000000 +0100
---- src/tag.c 2011-04-11 15:34:59.000000000 +0200
-***************
-*** 806,812 ****
- p = tag_full_fname(&tagp);
- if (p == NULL)
- continue;
-! STRCPY(fname, p);
- vim_free(p);
-
- /*
---- 806,812 ----
- p = tag_full_fname(&tagp);
- if (p == NULL)
- continue;
-! vim_strncpy(fname, p, MAXPATHL);
- vim_free(p);
-
- /*
-*** ../vim-7.3.159/src/version.c 2011-04-11 14:29:13.000000000 +0200
---- src/version.c 2011-04-11 16:50:53.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 160,
- /**/
-
---
-If someone questions your market projections, simply point out that your
-target market is "People who are nuts" and "People who will buy any damn
-thing". Nobody is going to tell you there aren't enough of those people
-to go around.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.161 b/source/ap/vim/patches/7.3.161
deleted file mode 100644
index 61223ec2b..000000000
--- a/source/ap/vim/patches/7.3.161
+++ /dev/null
@@ -1,1645 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.161
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.161
-Problem: Items on the stack may be too big.
-Solution: Make items static or allocate them.
-Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c,
- src/fileio.c, src/hardcopy.c, src/quickfix.c, src/main.c,
- src/netbeans.c, src/spell.c, src/tag.c, src/vim.h, src/xxd/xxd.c
-
-
-*** ../vim-7.3.160/src/eval.c 2011-04-11 13:46:07.000000000 +0200
---- src/eval.c 2011-04-11 21:05:50.000000000 +0200
-***************
-*** 11100,11117 ****
- typval_T *argvars UNUSED;
- typval_T *rettv;
- {
-! char_u cwd[MAXPATHL];
-
- rettv->v_type = VAR_STRING;
-! if (mch_dirname(cwd, MAXPATHL) == FAIL)
-! rettv->vval.v_string = NULL;
-! else
- {
-! rettv->vval.v_string = vim_strsave(cwd);
- #ifdef BACKSLASH_IN_FILENAME
-! if (rettv->vval.v_string != NULL)
-! slash_adjust(rettv->vval.v_string);
- #endif
- }
- }
-
---- 11100,11121 ----
- typval_T *argvars UNUSED;
- typval_T *rettv;
- {
-! char_u *cwd;
-
- rettv->v_type = VAR_STRING;
-! rettv->vval.v_string = NULL;
-! cwd = alloc(MAXPATHL);
-! if (cwd != NULL)
- {
-! if (mch_dirname(cwd, MAXPATHL) != FAIL)
-! {
-! rettv->vval.v_string = vim_strsave(cwd);
- #ifdef BACKSLASH_IN_FILENAME
-! if (rettv->vval.v_string != NULL)
-! slash_adjust(rettv->vval.v_string);
- #endif
-+ }
-+ vim_free(cwd);
- }
- }
-
-***************
-*** 14938,14943 ****
---- 14942,14950 ----
- typval_T *rettv;
- {
- char_u *p;
-+ #ifdef HAVE_READLINK
-+ char_u *buf = NULL;
-+ #endif
-
- p = get_tv_string(&argvars[0]);
- #ifdef FEAT_SHORTCUT
-***************
-*** 14953,14959 ****
- #else
- # ifdef HAVE_READLINK
- {
-- char_u buf[MAXPATHL + 1];
- char_u *cpy;
- int len;
- char_u *remain = NULL;
---- 14960,14965 ----
-***************
-*** 14981,14986 ****
---- 14987,14996 ----
- q[-1] = NUL;
- }
-
-+ buf = alloc(MAXPATHL + 1);
-+ if (buf == NULL)
-+ goto fail;
-+
- for (;;)
- {
- for (;;)
-***************
-*** 15124,15129 ****
---- 15134,15140 ----
-
- #ifdef HAVE_READLINK
- fail:
-+ vim_free(buf);
- #endif
- rettv->v_type = VAR_STRING;
- }
-***************
-*** 17604,17621 ****
- typval_T *argvars UNUSED;
- typval_T *rettv;
- {
-! char_u fname[MAXPATHL + 1];
- tagname_T tn;
- int first;
-
- if (rettv_list_alloc(rettv) == FAIL)
- return;
-
- for (first = TRUE; ; first = FALSE)
- if (get_tagfname(&tn, first, fname) == FAIL
- || list_append_string(rettv->vval.v_list, fname, -1) == FAIL)
- break;
- tagname_free(&tn);
- }
-
- /*
---- 17615,17636 ----
- typval_T *argvars UNUSED;
- typval_T *rettv;
- {
-! char_u *fname;
- tagname_T tn;
- int first;
-
- if (rettv_list_alloc(rettv) == FAIL)
- return;
-+ fname = alloc(MAXPATHL);
-+ if (fname == NULL)
-+ return;
-
- for (first = TRUE; ; first = FALSE)
- if (get_tagfname(&tn, first, fname) == FAIL
- || list_append_string(rettv->vval.v_list, fname, -1) == FAIL)
- break;
- tagname_free(&tn);
-+ vim_free(fname);
- }
-
- /*
-*** ../vim-7.3.160/src/ex_cmds.c 2011-02-01 13:48:47.000000000 +0100
---- src/ex_cmds.c 2011-04-11 20:51:34.000000000 +0200
-***************
-*** 2777,2783 ****
- #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
- if (p_confirm || cmdmod.confirm)
- {
-! char_u buff[IOSIZE];
-
- dialog_msg(buff, _("Overwrite existing file \"%s\"?"), fname);
- if (vim_dialog_yesno(VIM_QUESTION, NULL, buff, 2) != VIM_YES)
---- 2777,2783 ----
- #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
- if (p_confirm || cmdmod.confirm)
- {
-! char_u buff[DIALOG_MSG_SIZE];
-
- dialog_msg(buff, _("Overwrite existing file \"%s\"?"), fname);
- if (vim_dialog_yesno(VIM_QUESTION, NULL, buff, 2) != VIM_YES)
-***************
-*** 2795,2801 ****
- /* For ":w! filename" check that no swap file exists for "filename". */
- if (other && !emsg_silent)
- {
-! char_u dir[MAXPATHL];
- char_u *p;
- int r;
- char_u *swapname;
---- 2795,2801 ----
- /* For ":w! filename" check that no swap file exists for "filename". */
- if (other && !emsg_silent)
- {
-! char_u *dir;
- char_u *p;
- int r;
- char_u *swapname;
-***************
-*** 2806,2825 ****
- * Use 'shortname' of the current buffer, since there is no buffer
- * for the written file. */
- if (*p_dir == NUL)
- STRCPY(dir, ".");
- else
- {
- p = p_dir;
- copy_option_part(&p, dir, MAXPATHL, ",");
- }
- swapname = makeswapname(fname, ffname, curbuf, dir);
- r = vim_fexists(swapname);
- if (r)
- {
- #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
- if (p_confirm || cmdmod.confirm)
- {
-! char_u buff[IOSIZE];
-
- dialog_msg(buff,
- _("Swap file \"%s\" exists, overwrite anyway?"),
---- 2806,2834 ----
- * Use 'shortname' of the current buffer, since there is no buffer
- * for the written file. */
- if (*p_dir == NUL)
-+ {
-+ dir = alloc(5);
-+ if (dir == NULL)
-+ return FAIL;
- STRCPY(dir, ".");
-+ }
- else
- {
-+ dir = alloc(MAXPATHL);
-+ if (dir == NULL)
-+ return FAIL;
- p = p_dir;
- copy_option_part(&p, dir, MAXPATHL, ",");
- }
- swapname = makeswapname(fname, ffname, curbuf, dir);
-+ vim_free(dir);
- r = vim_fexists(swapname);
- if (r)
- {
- #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
- if (p_confirm || cmdmod.confirm)
- {
-! char_u buff[DIALOG_MSG_SIZE];
-
- dialog_msg(buff,
- _("Swap file \"%s\" exists, overwrite anyway?"),
-***************
-*** 2969,2975 ****
- #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
- if ((p_confirm || cmdmod.confirm) && buf->b_fname != NULL)
- {
-! char_u buff[IOSIZE];
-
- if (buf->b_p_ro)
- dialog_msg(buff, _("'readonly' option is set for \"%s\".\nDo you wish to write anyway?"),
---- 2978,2984 ----
- #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
- if ((p_confirm || cmdmod.confirm) && buf->b_fname != NULL)
- {
-! char_u buff[DIALOG_MSG_SIZE];
-
- if (buf->b_p_ro)
- dialog_msg(buff, _("'readonly' option is set for \"%s\".\nDo you wish to write anyway?"),
-*** ../vim-7.3.160/src/ex_cmds2.c 2011-02-25 14:46:06.000000000 +0100
---- src/ex_cmds2.c 2011-04-11 20:51:40.000000000 +0200
-***************
-*** 1492,1498 ****
- buf_T *buf;
- int checkall; /* may abandon all changed buffers */
- {
-! char_u buff[IOSIZE];
- int ret;
- buf_T *buf2;
-
---- 1492,1498 ----
- buf_T *buf;
- int checkall; /* may abandon all changed buffers */
- {
-! char_u buff[DIALOG_MSG_SIZE];
- int ret;
- buf_T *buf2;
-
-*** ../vim-7.3.160/src/ex_docmd.c 2011-04-11 16:56:29.000000000 +0200
---- src/ex_docmd.c 2011-04-11 21:20:35.000000000 +0200
-***************
-*** 5093,5106 ****
- #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
- if ((p_confirm || cmdmod.confirm) && curbuf->b_fname != NULL)
- {
-! char_u buff[IOSIZE];
-
- if (n == 1)
- vim_strncpy(buff,
- (char_u *)_("1 more file to edit. Quit anyway?"),
-! IOSIZE - 1);
- else
-! vim_snprintf((char *)buff, IOSIZE,
- _("%d more files to edit. Quit anyway?"), n);
- if (vim_dialog_yesno(VIM_QUESTION, NULL, buff, 1) == VIM_YES)
- return OK;
---- 5093,5106 ----
- #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
- if ((p_confirm || cmdmod.confirm) && curbuf->b_fname != NULL)
- {
-! char_u buff[DIALOG_MSG_SIZE];
-
- if (n == 1)
- vim_strncpy(buff,
- (char_u *)_("1 more file to edit. Quit anyway?"),
-! DIALOG_MSG_SIZE - 1);
- else
-! vim_snprintf((char *)buff, DIALOG_MSG_SIZE,
- _("%d more files to edit. Quit anyway?"), n);
- if (vim_dialog_yesno(VIM_QUESTION, NULL, buff, 1) == VIM_YES)
- return OK;
-***************
-*** 8926,8960 ****
- failed = TRUE;
- if (eap->cmdidx == CMD_mksession)
- {
-! char_u dirnow[MAXPATHL]; /* current directory */
-
-! /*
-! * Change to session file's dir.
-! */
-! if (mch_dirname(dirnow, MAXPATHL) == FAIL
-! || mch_chdir((char *)dirnow) != 0)
-! *dirnow = NUL;
-! if (*dirnow != NUL && (ssop_flags & SSOP_SESDIR))
-! {
-! if (vim_chdirfile(fname) == OK)
-! shorten_fnames(TRUE);
-! }
-! else if (*dirnow != NUL
-! && (ssop_flags & SSOP_CURDIR) && globaldir != NULL)
- {
-! if (mch_chdir((char *)globaldir) == 0)
-! shorten_fnames(TRUE);
-! }
-
-! failed |= (makeopens(fd, dirnow) == FAIL);
-
-! /* restore original dir */
-! if (*dirnow != NUL && ((ssop_flags & SSOP_SESDIR)
- || ((ssop_flags & SSOP_CURDIR) && globaldir != NULL)))
-! {
-! if (mch_chdir((char *)dirnow) != 0)
-! EMSG(_(e_prev_dir));
-! shorten_fnames(TRUE);
- }
- }
- else
---- 8926,8967 ----
- failed = TRUE;
- if (eap->cmdidx == CMD_mksession)
- {
-! char_u *dirnow; /* current directory */
-
-! dirnow = alloc(MAXPATHL);
-! if (dirnow == NULL)
-! failed = TRUE;
-! else
- {
-! /*
-! * Change to session file's dir.
-! */
-! if (mch_dirname(dirnow, MAXPATHL) == FAIL
-! || mch_chdir((char *)dirnow) != 0)
-! *dirnow = NUL;
-! if (*dirnow != NUL && (ssop_flags & SSOP_SESDIR))
-! {
-! if (vim_chdirfile(fname) == OK)
-! shorten_fnames(TRUE);
-! }
-! else if (*dirnow != NUL
-! && (ssop_flags & SSOP_CURDIR) && globaldir != NULL)
-! {
-! if (mch_chdir((char *)globaldir) == 0)
-! shorten_fnames(TRUE);
-! }
-
-! failed |= (makeopens(fd, dirnow) == FAIL);
-
-! /* restore original dir */
-! if (*dirnow != NUL && ((ssop_flags & SSOP_SESDIR)
- || ((ssop_flags & SSOP_CURDIR) && globaldir != NULL)))
-! {
-! if (mch_chdir((char *)dirnow) != 0)
-! EMSG(_(e_prev_dir));
-! shorten_fnames(TRUE);
-! }
-! vim_free(dirnow);
- }
- }
- else
-***************
-*** 8985,8994 ****
- else if (eap->cmdidx == CMD_mksession)
- {
- /* successful session write - set this_session var */
-! char_u tbuf[MAXPATHL];
-
-! if (vim_FullName(fname, tbuf, MAXPATHL, FALSE) == OK)
-! set_vim_var_string(VV_THIS_SESSION, tbuf, -1);
- }
- #endif
- #ifdef MKSESSION_NL
---- 8992,9006 ----
- else if (eap->cmdidx == CMD_mksession)
- {
- /* successful session write - set this_session var */
-! char_u *tbuf;
-
-! tbuf = alloc(MAXPATHL);
-! if (tbuf != NULL)
-! {
-! if (vim_FullName(fname, tbuf, MAXPATHL, FALSE) == OK)
-! set_vim_var_string(VV_THIS_SESSION, tbuf, -1);
-! vim_free(tbuf);
-! }
- }
- #endif
- #ifdef MKSESSION_NL
-***************
-*** 10677,10683 ****
- unsigned *flagp;
- {
- int i;
-! char_u buf[MAXPATHL];
- char_u *s;
-
- if (gap->ga_len == 0)
---- 10689,10695 ----
- unsigned *flagp;
- {
- int i;
-! char_u *buf = NULL;
- char_u *s;
-
- if (gap->ga_len == 0)
-***************
-*** 10692,10702 ****
- {
- if (fullname)
- {
-! (void)vim_FullName(s, buf, MAXPATHL, FALSE);
-! s = buf;
- }
- if (fputs(" ", fd) < 0 || ses_put_fname(fd, s, flagp) == FAIL)
- return FAIL;
- }
- }
- return put_eol(fd);
---- 10704,10722 ----
- {
- if (fullname)
- {
-! buf = alloc(MAXPATHL);
-! if (buf != NULL)
-! {
-! (void)vim_FullName(s, buf, MAXPATHL, FALSE);
-! s = buf;
-! }
- }
- if (fputs(" ", fd) < 0 || ses_put_fname(fd, s, flagp) == FAIL)
-+ {
-+ vim_free(buf);
- return FAIL;
-+ }
-+ vim_free(buf);
- }
- }
- return put_eol(fd);
-***************
-*** 10925,10931 ****
-
- #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) || defined(PROTO)
- /*
-! * Make a dialog message in "buff[IOSIZE]".
- * "format" must contain "%s".
- */
- void
---- 10945,10951 ----
-
- #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) || defined(PROTO)
- /*
-! * Make a dialog message in "buff[DIALOG_MSG_SIZE]".
- * "format" must contain "%s".
- */
- void
-***************
-*** 10936,10942 ****
- {
- if (fname == NULL)
- fname = (char_u *)_("Untitled");
-! vim_snprintf((char *)buff, IOSIZE, format, fname);
- }
- #endif
-
---- 10956,10962 ----
- {
- if (fname == NULL)
- fname = (char_u *)_("Untitled");
-! vim_snprintf((char *)buff, DIALOG_MSG_SIZE, format, fname);
- }
- #endif
-
-*** ../vim-7.3.160/src/fileio.c 2011-02-25 16:52:13.000000000 +0100
---- src/fileio.c 2011-04-11 18:35:10.000000000 +0200
-***************
-*** 6023,6037 ****
- shorten_fname1(full_path)
- char_u *full_path;
- {
-! char_u dirname[MAXPATHL];
- char_u *p = full_path;
-
- if (mch_dirname(dirname, MAXPATHL) == OK)
- {
- p = shorten_fname(full_path, dirname);
- if (p == NULL || *p == NUL)
- p = full_path;
- }
- return p;
- }
- #endif
---- 6023,6041 ----
- shorten_fname1(full_path)
- char_u *full_path;
- {
-! char_u *dirname;
- char_u *p = full_path;
-
-+ dirname = alloc(MAXPATHL);
-+ if (dirname == NULL)
-+ return full_path;
- if (mch_dirname(dirname, MAXPATHL) == OK)
- {
- p = shorten_fname(full_path, dirname);
- if (p == NULL || *p == NUL)
- p = full_path;
- }
-+ vim_free(dirname);
- return p;
- }
- #endif
-*** ../vim-7.3.160/src/hardcopy.c 2011-04-11 16:56:29.000000000 +0200
---- src/hardcopy.c 2011-04-11 18:23:38.000000000 +0200
-***************
-*** 1759,1765 ****
- char *name;
- struct prt_ps_resource_S *resource;
- {
-! char_u buffer[MAXPATHL + 1];
-
- vim_strncpy(resource->name, (char_u *)name, 63);
- /* Look for named resource file in runtimepath */
---- 1759,1770 ----
- char *name;
- struct prt_ps_resource_S *resource;
- {
-! char_u *buffer;
-! int retval;
-!
-! buffer = alloc(MAXPATHL + 1);
-! if (buffer == NULL)
-! return FALSE;
-
- vim_strncpy(resource->name, (char_u *)name, 63);
- /* Look for named resource file in runtimepath */
-***************
-*** 1768,1776 ****
- vim_strcat(buffer, (char_u *)name, MAXPATHL);
- vim_strcat(buffer, (char_u *)".ps", MAXPATHL);
- resource->filename[0] = NUL;
-! return (do_in_runtimepath(buffer, FALSE, prt_resource_name,
- resource->filename)
- && resource->filename[0] != NUL);
- }
-
- /* PS CR and LF characters have platform independent values */
---- 1773,1783 ----
- vim_strcat(buffer, (char_u *)name, MAXPATHL);
- vim_strcat(buffer, (char_u *)".ps", MAXPATHL);
- resource->filename[0] = NUL;
-! retval = (do_in_runtimepath(buffer, FALSE, prt_resource_name,
- resource->filename)
- && resource->filename[0] != NUL);
-+ vim_free(buffer);
-+ return retval;
- }
-
- /* PS CR and LF characters have platform independent values */
-***************
-*** 2848,2862 ****
- double right;
- double top;
- double bottom;
-! struct prt_ps_resource_S res_prolog;
-! struct prt_ps_resource_S res_encoding;
- char buffer[256];
- char_u *p_encoding;
- char_u *p;
- #ifdef FEAT_MBYTE
-! struct prt_ps_resource_S res_cidfont;
-! struct prt_ps_resource_S res_cmap;
- #endif
-
- /*
- * PS DSC Header comments - no PS code!
---- 2855,2887 ----
- double right;
- double top;
- double bottom;
-! struct prt_ps_resource_S *res_prolog;
-! struct prt_ps_resource_S *res_encoding;
- char buffer[256];
- char_u *p_encoding;
- char_u *p;
- #ifdef FEAT_MBYTE
-! struct prt_ps_resource_S *res_cidfont;
-! struct prt_ps_resource_S *res_cmap;
- #endif
-+ int retval = FALSE;
-+
-+ res_prolog = (struct prt_ps_resource_S *)
-+ alloc(sizeof(struct prt_ps_resource_S));
-+ res_encoding = (struct prt_ps_resource_S *)
-+ alloc(sizeof(struct prt_ps_resource_S));
-+ #ifdef FEAT_MBYTE
-+ res_cidfont = (struct prt_ps_resource_S *)
-+ alloc(sizeof(struct prt_ps_resource_S));
-+ res_cmap = (struct prt_ps_resource_S *)
-+ alloc(sizeof(struct prt_ps_resource_S));
-+ #endif
-+ if (res_prolog == NULL || res_encoding == NULL
-+ #ifdef FEAT_MBYTE
-+ || res_cidfont == NULL || res_cmap == NULL
-+ #endif
-+ )
-+ goto theend;
-
- /*
- * PS DSC Header comments - no PS code!
-***************
-*** 2932,2958 ****
- #endif
-
- /* Search for external resources VIM supplies */
-! if (!prt_find_resource("prolog", &res_prolog))
- {
- EMSG(_("E456: Can't find PostScript resource file \"prolog.ps\""));
- return FALSE;
- }
-! if (!prt_open_resource(&res_prolog))
- return FALSE;
-! if (!prt_check_resource(&res_prolog, PRT_PROLOG_VERSION))
- return FALSE;
- #ifdef FEAT_MBYTE
- if (prt_out_mbyte)
- {
- /* Look for required version of multi-byte printing procset */
-! if (!prt_find_resource("cidfont", &res_cidfont))
- {
- EMSG(_("E456: Can't find PostScript resource file \"cidfont.ps\""));
- return FALSE;
- }
-! if (!prt_open_resource(&res_cidfont))
- return FALSE;
-! if (!prt_check_resource(&res_cidfont, PRT_CID_PROLOG_VERSION))
- return FALSE;
- }
- #endif
---- 2957,2983 ----
- #endif
-
- /* Search for external resources VIM supplies */
-! if (!prt_find_resource("prolog", res_prolog))
- {
- EMSG(_("E456: Can't find PostScript resource file \"prolog.ps\""));
- return FALSE;
- }
-! if (!prt_open_resource(res_prolog))
- return FALSE;
-! if (!prt_check_resource(res_prolog, PRT_PROLOG_VERSION))
- return FALSE;
- #ifdef FEAT_MBYTE
- if (prt_out_mbyte)
- {
- /* Look for required version of multi-byte printing procset */
-! if (!prt_find_resource("cidfont", res_cidfont))
- {
- EMSG(_("E456: Can't find PostScript resource file \"cidfont.ps\""));
- return FALSE;
- }
-! if (!prt_open_resource(res_cidfont))
- return FALSE;
-! if (!prt_check_resource(res_cidfont, PRT_CID_PROLOG_VERSION))
- return FALSE;
- }
- #endif
-***************
-*** 2968,2974 ****
- #endif
- p_encoding = enc_skip(p_penc);
- if (*p_encoding == NUL
-! || !prt_find_resource((char *)p_encoding, &res_encoding))
- {
- /* 'printencoding' not set or not supported - find alternate */
- #ifdef FEAT_MBYTE
---- 2993,2999 ----
- #endif
- p_encoding = enc_skip(p_penc);
- if (*p_encoding == NUL
-! || !prt_find_resource((char *)p_encoding, res_encoding))
- {
- /* 'printencoding' not set or not supported - find alternate */
- #ifdef FEAT_MBYTE
-***************
-*** 2977,2989 ****
- p_encoding = enc_skip(p_enc);
- props = enc_canon_props(p_encoding);
- if (!(props & ENC_8BIT)
-! || !prt_find_resource((char *)p_encoding, &res_encoding))
- /* 8-bit 'encoding' is not supported */
- #endif
- {
- /* Use latin1 as default printing encoding */
- p_encoding = (char_u *)"latin1";
-! if (!prt_find_resource((char *)p_encoding, &res_encoding))
- {
- EMSG2(_("E456: Can't find PostScript resource file \"%s.ps\""),
- p_encoding);
---- 3002,3014 ----
- p_encoding = enc_skip(p_enc);
- props = enc_canon_props(p_encoding);
- if (!(props & ENC_8BIT)
-! || !prt_find_resource((char *)p_encoding, res_encoding))
- /* 8-bit 'encoding' is not supported */
- #endif
- {
- /* Use latin1 as default printing encoding */
- p_encoding = (char_u *)"latin1";
-! if (!prt_find_resource((char *)p_encoding, res_encoding))
- {
- EMSG2(_("E456: Can't find PostScript resource file \"%s.ps\""),
- p_encoding);
-***************
-*** 2991,2997 ****
- }
- }
- }
-! if (!prt_open_resource(&res_encoding))
- return FALSE;
- /* For the moment there are no checks on encoding resource files to
- * perform */
---- 3016,3022 ----
- }
- }
- }
-! if (!prt_open_resource(res_encoding))
- return FALSE;
- /* For the moment there are no checks on encoding resource files to
- * perform */
-***************
-*** 3005,3017 ****
- if (prt_use_courier)
- {
- /* Include ASCII range encoding vector */
-! if (!prt_find_resource(prt_ascii_encoding, &res_encoding))
- {
- EMSG2(_("E456: Can't find PostScript resource file \"%s.ps\""),
- prt_ascii_encoding);
- return FALSE;
- }
-! if (!prt_open_resource(&res_encoding))
- return FALSE;
- /* For the moment there are no checks on encoding resource files to
- * perform */
---- 3030,3042 ----
- if (prt_use_courier)
- {
- /* Include ASCII range encoding vector */
-! if (!prt_find_resource(prt_ascii_encoding, res_encoding))
- {
- EMSG2(_("E456: Can't find PostScript resource file \"%s.ps\""),
- prt_ascii_encoding);
- return FALSE;
- }
-! if (!prt_open_resource(res_encoding))
- return FALSE;
- /* For the moment there are no checks on encoding resource files to
- * perform */
-***************
-*** 3034,3077 ****
- if (prt_out_mbyte && prt_custom_cmap)
- {
- /* Find user supplied CMap */
-! if (!prt_find_resource(prt_cmap, &res_cmap))
- {
- EMSG2(_("E456: Can't find PostScript resource file \"%s.ps\""),
- prt_cmap);
- return FALSE;
- }
-! if (!prt_open_resource(&res_cmap))
- return FALSE;
- }
- #endif
-
- /* List resources supplied */
-! STRCPY(buffer, res_prolog.title);
- STRCAT(buffer, " ");
-! STRCAT(buffer, res_prolog.version);
- prt_dsc_resources("DocumentSuppliedResources", "procset", buffer);
- #ifdef FEAT_MBYTE
- if (prt_out_mbyte)
- {
-! STRCPY(buffer, res_cidfont.title);
- STRCAT(buffer, " ");
-! STRCAT(buffer, res_cidfont.version);
- prt_dsc_resources(NULL, "procset", buffer);
-
- if (prt_custom_cmap)
- {
-! STRCPY(buffer, res_cmap.title);
- STRCAT(buffer, " ");
-! STRCAT(buffer, res_cmap.version);
- prt_dsc_resources(NULL, "cmap", buffer);
- }
- }
- if (!prt_out_mbyte || prt_use_courier)
- #endif
- {
-! STRCPY(buffer, res_encoding.title);
- STRCAT(buffer, " ");
-! STRCAT(buffer, res_encoding.version);
- prt_dsc_resources(NULL, "encoding", buffer);
- }
- prt_dsc_requirements(prt_duplex, prt_tumble, prt_collate,
---- 3059,3102 ----
- if (prt_out_mbyte && prt_custom_cmap)
- {
- /* Find user supplied CMap */
-! if (!prt_find_resource(prt_cmap, res_cmap))
- {
- EMSG2(_("E456: Can't find PostScript resource file \"%s.ps\""),
- prt_cmap);
- return FALSE;
- }
-! if (!prt_open_resource(res_cmap))
- return FALSE;
- }
- #endif
-
- /* List resources supplied */
-! STRCPY(buffer, res_prolog->title);
- STRCAT(buffer, " ");
-! STRCAT(buffer, res_prolog->version);
- prt_dsc_resources("DocumentSuppliedResources", "procset", buffer);
- #ifdef FEAT_MBYTE
- if (prt_out_mbyte)
- {
-! STRCPY(buffer, res_cidfont->title);
- STRCAT(buffer, " ");
-! STRCAT(buffer, res_cidfont->version);
- prt_dsc_resources(NULL, "procset", buffer);
-
- if (prt_custom_cmap)
- {
-! STRCPY(buffer, res_cmap->title);
- STRCAT(buffer, " ");
-! STRCAT(buffer, res_cmap->version);
- prt_dsc_resources(NULL, "cmap", buffer);
- }
- }
- if (!prt_out_mbyte || prt_use_courier)
- #endif
- {
-! STRCPY(buffer, res_encoding->title);
- STRCAT(buffer, " ");
-! STRCAT(buffer, res_encoding->version);
- prt_dsc_resources(NULL, "encoding", buffer);
- }
- prt_dsc_requirements(prt_duplex, prt_tumble, prt_collate,
-***************
-*** 3114,3128 ****
- prt_dsc_noarg("BeginProlog");
-
- /* Add required procsets - NOTE: order is important! */
-! if (!prt_add_resource(&res_prolog))
- return FALSE;
- #ifdef FEAT_MBYTE
- if (prt_out_mbyte)
- {
- /* Add CID font procset, and any user supplied CMap */
-! if (!prt_add_resource(&res_cidfont))
- return FALSE;
-! if (prt_custom_cmap && !prt_add_resource(&res_cmap))
- return FALSE;
- }
- #endif
---- 3139,3153 ----
- prt_dsc_noarg("BeginProlog");
-
- /* Add required procsets - NOTE: order is important! */
-! if (!prt_add_resource(res_prolog))
- return FALSE;
- #ifdef FEAT_MBYTE
- if (prt_out_mbyte)
- {
- /* Add CID font procset, and any user supplied CMap */
-! if (!prt_add_resource(res_cidfont))
- return FALSE;
-! if (prt_custom_cmap && !prt_add_resource(res_cmap))
- return FALSE;
- }
- #endif
-***************
-*** 3132,3138 ****
- #endif
- /* There will be only one Roman font encoding to be included in the PS
- * file. */
-! if (!prt_add_resource(&res_encoding))
- return FALSE;
-
- prt_dsc_noarg("EndProlog");
---- 3157,3163 ----
- #endif
- /* There will be only one Roman font encoding to be included in the PS
- * file. */
-! if (!prt_add_resource(res_encoding))
- return FALSE;
-
- prt_dsc_noarg("EndProlog");
-***************
-*** 3248,3254 ****
- prt_dsc_noarg("EndSetup");
-
- /* Fail if any problems writing out to the PS file */
-! return !prt_file_error;
- }
-
- void
---- 3273,3289 ----
- prt_dsc_noarg("EndSetup");
-
- /* Fail if any problems writing out to the PS file */
-! retval = !prt_file_error;
-!
-! theend:
-! vim_free(res_prolog);
-! vim_free(res_encoding);
-! #ifdef FEAT_MBYTE
-! vim_free(res_cidfont);
-! vim_free(res_cmap);
-! #endif
-!
-! return retval;
- }
-
- void
-*** ../vim-7.3.160/src/quickfix.c 2010-12-02 15:33:10.000000000 +0100
---- src/quickfix.c 2011-04-11 17:54:07.000000000 +0200
-***************
-*** 3049,3056 ****
- int flags = 0;
- colnr_T col;
- long tomatch;
-! char_u dirname_start[MAXPATHL];
-! char_u dirname_now[MAXPATHL];
- char_u *target_dir = NULL;
- #ifdef FEAT_AUTOCMD
- char_u *au_name = NULL;
---- 3049,3056 ----
- int flags = 0;
- colnr_T col;
- long tomatch;
-! char_u *dirname_start = NULL;
-! char_u *dirname_now = NULL;
- char_u *target_dir = NULL;
- #ifdef FEAT_AUTOCMD
- char_u *au_name = NULL;
-***************
-*** 3128,3133 ****
---- 3128,3138 ----
- goto theend;
- }
-
-+ dirname_start = alloc(MAXPATHL);
-+ dirname_now = alloc(MAXPATHL);
-+ if (dirname_start == NULL || dirname_now == NULL)
-+ goto theend;
-+
- /* Remember the current directory, because a BufRead autocommand that does
- * ":lcd %:p:h" changes the meaning of short path names. */
- mch_dirname(dirname_start, MAXPATHL);
-***************
-*** 3364,3369 ****
---- 3369,3376 ----
- }
-
- theend:
-+ vim_free(dirname_now);
-+ vim_free(dirname_start);
- vim_free(target_dir);
- vim_free(regmatch.regprog);
- }
-*** ../vim-7.3.160/src/main.c 2011-03-22 18:10:34.000000000 +0100
---- src/main.c 2011-04-11 18:06:06.000000000 +0200
-***************
-*** 3814,3820 ****
- int i;
- char_u *inicmd = NULL;
- char_u *p;
-! char_u cwd[MAXPATHL];
-
- if (filec > 0 && filev[0][0] == '+')
- {
---- 3814,3820 ----
- int i;
- char_u *inicmd = NULL;
- char_u *p;
-! char_u *cwd;
-
- if (filec > 0 && filev[0][0] == '+')
- {
-***************
-*** 3827,3841 ****
- mainerr_arg_missing((char_u *)filev[-1]);
-
- /* Temporarily cd to the current directory to handle relative file names. */
- if (mch_dirname(cwd, MAXPATHL) != OK)
- return NULL;
-! if ((p = vim_strsave_escaped_ext(cwd,
- #ifdef BACKSLASH_IN_FILENAME
- "", /* rem_backslash() will tell what chars to escape */
- #else
- PATH_ESC_CHARS,
- #endif
-! '\\', TRUE)) == NULL)
- return NULL;
- ga_init2(&ga, 1, 100);
- ga_concat(&ga, (char_u *)"<C-\\><C-N>:cd ");
---- 3827,3849 ----
- mainerr_arg_missing((char_u *)filev[-1]);
-
- /* Temporarily cd to the current directory to handle relative file names. */
-+ cwd = alloc(MAXPATHL);
-+ if (cwd == NULL)
-+ return NULL;
- if (mch_dirname(cwd, MAXPATHL) != OK)
-+ {
-+ vim_free(cwd);
- return NULL;
-! }
-! p = vim_strsave_escaped_ext(cwd,
- #ifdef BACKSLASH_IN_FILENAME
- "", /* rem_backslash() will tell what chars to escape */
- #else
- PATH_ESC_CHARS,
- #endif
-! '\\', TRUE);
-! vim_free(cwd);
-! if (p == NULL)
- return NULL;
- ga_init2(&ga, 1, 100);
- ga_concat(&ga, (char_u *)"<C-\\><C-N>:cd ");
-*** ../vim-7.3.160/src/netbeans.c 2011-04-11 16:56:29.000000000 +0200
---- src/netbeans.c 2011-04-11 18:27:08.000000000 +0200
-***************
-*** 2891,2897 ****
- char_u *text;
- linenr_T lnum;
- int col;
-! char buf[MAXPATHL * 2 + 25];
- char_u *p;
-
- /* Don't do anything when 'ballooneval' is off, messages scrolled the
---- 2891,2897 ----
- char_u *text;
- linenr_T lnum;
- int col;
-! char *buf;
- char_u *p;
-
- /* Don't do anything when 'ballooneval' is off, messages scrolled the
-***************
-*** 2905,2919 ****
- * length. */
- if (text != NULL && text[0] != NUL && STRLEN(text) < MAXPATHL)
- {
-! p = nb_quote(text);
-! if (p != NULL)
- {
-! vim_snprintf(buf, sizeof(buf),
-! "0:balloonText=%d \"%s\"\n", r_cmdno, p);
-! vim_free(p);
- }
-- nbdebug(("EVT: %s", buf));
-- nb_send(buf, "netbeans_beval_cb");
- }
- vim_free(text);
- }
---- 2905,2924 ----
- * length. */
- if (text != NULL && text[0] != NUL && STRLEN(text) < MAXPATHL)
- {
-! buf = (char *)alloc(MAXPATHL * 2 + 25);
-! if (buf != NULL)
- {
-! p = nb_quote(text);
-! if (p != NULL)
-! {
-! vim_snprintf(buf, MAXPATHL * 2 + 25,
-! "0:balloonText=%d \"%s\"\n", r_cmdno, p);
-! vim_free(p);
-! }
-! nbdebug(("EVT: %s", buf));
-! nb_send(buf, "netbeans_beval_cb");
-! vim_free(buf);
- }
- }
- vim_free(text);
- }
-*** ../vim-7.3.160/src/spell.c 2011-04-11 16:56:29.000000000 +0200
---- src/spell.c 2011-04-11 18:00:49.000000000 +0200
-***************
-*** 8590,8596 ****
- spellinfo_T *spin;
- char_u *wfname;
- {
-! char_u fname[MAXPATHL];
- int len;
- slang_T *slang;
- int free_slang = FALSE;
---- 8590,8596 ----
- spellinfo_T *spin;
- char_u *wfname;
- {
-! char_u *fname = NULL;
- int len;
- slang_T *slang;
- int free_slang = FALSE;
-***************
-*** 8654,8659 ****
---- 8654,8662 ----
- * Write the .sug file.
- * Make the file name by changing ".spl" to ".sug".
- */
-+ fname = alloc(MAXPATHL);
-+ if (fname == NULL)
-+ goto theend;
- vim_strncpy(fname, wfname, MAXPATHL - 1);
- len = (int)STRLEN(fname);
- fname[len - 2] = 'u';
-***************
-*** 8661,8666 ****
---- 8664,8670 ----
- sug_write(spin, fname);
-
- theend:
-+ vim_free(fname);
- if (free_slang)
- slang_free(slang);
- free_blocks(spin->si_blocks);
-***************
-*** 9106,9113 ****
- int overwrite; /* overwrite existing output file */
- int added_word; /* invoked through "zg" */
- {
-! char_u fname[MAXPATHL];
-! char_u wfname[MAXPATHL];
- char_u **innames;
- int incount;
- afffile_T *(afile[8]);
---- 9110,9117 ----
- int overwrite; /* overwrite existing output file */
- int added_word; /* invoked through "zg" */
- {
-! char_u *fname = NULL;
-! char_u *wfname;
- char_u **innames;
- int incount;
- afffile_T *(afile[8]);
-***************
-*** 9135,9140 ****
---- 9139,9148 ----
- innames = &fnames[1];
- incount = fcount - 1;
-
-+ wfname = alloc(MAXPATHL);
-+ if (wfname == NULL)
-+ return;
-+
- if (fcount >= 1)
- {
- len = (int)STRLEN(fnames[0]);
-***************
-*** 9144,9167 ****
- * "path/en.latin1.add.spl". */
- innames = &fnames[0];
- incount = 1;
-! vim_snprintf((char *)wfname, sizeof(wfname), "%s.spl", fnames[0]);
- }
- else if (fcount == 1)
- {
- /* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */
- innames = &fnames[0];
- incount = 1;
-! vim_snprintf((char *)wfname, sizeof(wfname), SPL_FNAME_TMPL,
- fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc());
- }
- else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0)
- {
- /* Name ends in ".spl", use as the file name. */
-! vim_strncpy(wfname, fnames[0], sizeof(wfname) - 1);
- }
- else
- /* Name should be language, make the file name from it. */
-! vim_snprintf((char *)wfname, sizeof(wfname), SPL_FNAME_TMPL,
- fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc());
-
- /* Check for .ascii.spl. */
---- 9152,9175 ----
- * "path/en.latin1.add.spl". */
- innames = &fnames[0];
- incount = 1;
-! vim_snprintf((char *)wfname, MAXPATHL, "%s.spl", fnames[0]);
- }
- else if (fcount == 1)
- {
- /* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */
- innames = &fnames[0];
- incount = 1;
-! vim_snprintf((char *)wfname, MAXPATHL, SPL_FNAME_TMPL,
- fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc());
- }
- else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0)
- {
- /* Name ends in ".spl", use as the file name. */
-! vim_strncpy(wfname, fnames[0], MAXPATHL - 1);
- }
- else
- /* Name should be language, make the file name from it. */
-! vim_snprintf((char *)wfname, MAXPATHL, SPL_FNAME_TMPL,
- fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc());
-
- /* Check for .ascii.spl. */
-***************
-*** 9186,9199 ****
- if (!overwrite && mch_stat((char *)wfname, &st) >= 0)
- {
- EMSG(_(e_exists));
-! return;
- }
- if (mch_isdir(wfname))
- {
- EMSG2(_(e_isadir2), wfname);
-! return;
- }
-
- /*
- * Init the aff and dic pointers.
- * Get the region names if there are more than 2 arguments.
---- 9194,9211 ----
- if (!overwrite && mch_stat((char *)wfname, &st) >= 0)
- {
- EMSG(_(e_exists));
-! goto theend;
- }
- if (mch_isdir(wfname))
- {
- EMSG2(_(e_isadir2), wfname);
-! goto theend;
- }
-
-+ fname = alloc(MAXPATHL);
-+ if (fname == NULL)
-+ goto theend;
-+
- /*
- * Init the aff and dic pointers.
- * Get the region names if there are more than 2 arguments.
-***************
-*** 9209,9215 ****
- || innames[i][len - 3] != '_')
- {
- EMSG2(_("E755: Invalid region in %s"), innames[i]);
-! return;
- }
- spin.si_region_name[i * 2] = TOLOWER_ASC(innames[i][len - 2]);
- spin.si_region_name[i * 2 + 1] =
---- 9221,9227 ----
- || innames[i][len - 3] != '_')
- {
- EMSG2(_("E755: Invalid region in %s"), innames[i]);
-! goto theend;
- }
- spin.si_region_name[i * 2] = TOLOWER_ASC(innames[i][len - 2]);
- spin.si_region_name[i * 2 + 1] =
-***************
-*** 9226,9232 ****
- || spin.si_prefroot == NULL)
- {
- free_blocks(spin.si_blocks);
-! return;
- }
-
- /* When not producing a .add.spl file clear the character table when
---- 9238,9244 ----
- || spin.si_prefroot == NULL)
- {
- free_blocks(spin.si_blocks);
-! goto theend;
- }
-
- /* When not producing a .add.spl file clear the character table when
-***************
-*** 9247,9253 ****
- spin.si_conv.vc_type = CONV_NONE;
- spin.si_region = 1 << i;
-
-! vim_snprintf((char *)fname, sizeof(fname), "%s.aff", innames[i]);
- if (mch_stat((char *)fname, &st) >= 0)
- {
- /* Read the .aff file. Will init "spin->si_conv" based on the
---- 9259,9265 ----
- spin.si_conv.vc_type = CONV_NONE;
- spin.si_region = 1 << i;
-
-! vim_snprintf((char *)fname, MAXPATHL, "%s.aff", innames[i]);
- if (mch_stat((char *)fname, &st) >= 0)
- {
- /* Read the .aff file. Will init "spin->si_conv" based on the
-***************
-*** 9258,9264 ****
- else
- {
- /* Read the .dic file and store the words in the trees. */
-! vim_snprintf((char *)fname, sizeof(fname), "%s.dic",
- innames[i]);
- if (spell_read_dic(&spin, fname, afile[i]) == FAIL)
- error = TRUE;
---- 9270,9276 ----
- else
- {
- /* Read the .dic file and store the words in the trees. */
-! vim_snprintf((char *)fname, MAXPATHL, "%s.dic",
- innames[i]);
- if (spell_read_dic(&spin, fname, afile[i]) == FAIL)
- error = TRUE;
-***************
-*** 9340,9345 ****
---- 9352,9361 ----
- spell_make_sugfile(&spin, wfname);
-
- }
-+
-+ theend:
-+ vim_free(fname);
-+ vim_free(wfname);
- }
-
- /*
-***************
-*** 9392,9398 ****
- buf_T *buf = NULL;
- int new_spf = FALSE;
- char_u *fname;
-! char_u fnamebuf[MAXPATHL];
- char_u line[MAXWLEN * 2];
- long fpos, fpos_next = 0;
- int i;
---- 9408,9414 ----
- buf_T *buf = NULL;
- int new_spf = FALSE;
- char_u *fname;
-! char_u *fnamebuf = NULL;
- char_u line[MAXWLEN * 2];
- long fpos, fpos_next = 0;
- int i;
-***************
-*** 9422,9427 ****
---- 9438,9446 ----
- EMSG2(_(e_notset), "spellfile");
- return;
- }
-+ fnamebuf = alloc(MAXPATHL);
-+ if (fnamebuf == NULL)
-+ return;
-
- for (spf = curwin->w_s->b_p_spf, i = 1; *spf != NUL; ++i)
- {
-***************
-*** 9431,9436 ****
---- 9450,9456 ----
- if (*spf == NUL)
- {
- EMSGN(_("E765: 'spellfile' does not have %ld entries"), idx);
-+ vim_free(fnamebuf);
- return;
- }
- }
-***************
-*** 9442,9447 ****
---- 9462,9468 ----
- if (buf != NULL && bufIsChanged(buf))
- {
- EMSG(_(e_bufloaded));
-+ vim_free(fnamebuf);
- return;
- }
-
-***************
-*** 9536,9541 ****
---- 9557,9563 ----
-
- redraw_all_later(SOME_VALID);
- }
-+ vim_free(fnamebuf);
- }
-
- /*
-***************
-*** 9544,9550 ****
- static void
- init_spellfile()
- {
-! char_u buf[MAXPATHL];
- int l;
- char_u *fname;
- char_u *rtp;
---- 9566,9572 ----
- static void
- init_spellfile()
- {
-! char_u *buf;
- int l;
- char_u *fname;
- char_u *rtp;
-***************
-*** 9554,9559 ****
---- 9576,9585 ----
-
- if (*curwin->w_s->b_p_spl != NUL && curwin->w_s->b_langp.ga_len > 0)
- {
-+ buf = alloc(MAXPATHL);
-+ if (buf == NULL)
-+ return;
-+
- /* Find the end of the language name. Exclude the region. If there
- * is a path separator remember the start of the tail. */
- for (lend = curwin->w_s->b_p_spl; *lend != NUL
-***************
-*** 9597,9603 ****
- "/%.*s", (int)(lend - lstart), lstart);
- }
- l = (int)STRLEN(buf);
-! fname = LANGP_ENTRY(curwin->w_s->b_langp, 0)->lp_slang->sl_fname;
- vim_snprintf((char *)buf + l, MAXPATHL - l, ".%s.add",
- fname != NULL
- && strstr((char *)gettail(fname), ".ascii.") != NULL
---- 9623,9630 ----
- "/%.*s", (int)(lend - lstart), lstart);
- }
- l = (int)STRLEN(buf);
-! fname = LANGP_ENTRY(curwin->w_s->b_langp, 0)
-! ->lp_slang->sl_fname;
- vim_snprintf((char *)buf + l, MAXPATHL - l, ".%s.add",
- fname != NULL
- && strstr((char *)gettail(fname), ".ascii.") != NULL
-***************
-*** 9607,9612 ****
---- 9634,9641 ----
- }
- aspath = FALSE;
- }
-+
-+ vim_free(buf);
- }
- }
-
-*** ../vim-7.3.160/src/tag.c 2011-04-11 16:56:29.000000000 +0200
---- src/tag.c 2011-04-11 20:54:36.000000000 +0200
-***************
-*** 775,791 ****
- {
- list_T *list;
- char_u tag_name[128 + 1];
-! char_u fname[MAXPATHL + 1];
-! char_u cmd[CMDBUFFSIZE + 1];
-
- /*
- * Add the matching tags to the location list for the current
- * window.
- */
-
- list = list_alloc();
-! if (list == NULL)
- goto end_do_tag;
-
- for (i = 0; i < num_matches; ++i)
- {
---- 775,799 ----
- {
- list_T *list;
- char_u tag_name[128 + 1];
-! char_u *fname;
-! char_u *cmd;
-
- /*
- * Add the matching tags to the location list for the current
- * window.
- */
-
-+ fname = alloc(MAXPATHL + 1);
-+ cmd = alloc(CMDBUFFSIZE + 1);
- list = list_alloc();
-! if (list == NULL || fname == NULL || cmd == NULL)
-! {
-! vim_free(cmd);
-! vim_free(fname);
-! if (list != NULL)
-! list_free(list, TRUE);
- goto end_do_tag;
-+ }
-
- for (i = 0; i < num_matches; ++i)
- {
-***************
-*** 911,916 ****
---- 919,926 ----
- set_errorlist(curwin, list, ' ', IObuff);
-
- list_free(list, TRUE);
-+ vim_free(fname);
-+ vim_free(cmd);
-
- cur_match = 0; /* Jump to the first tag */
- }
-***************
-*** 3777,3784 ****
- char_u *start; /* start of the value */
- char_u *end; /* after the value; can be NULL */
- {
-! char_u buf[MAXPATHL];
- int len = 0;
-
- /* check that the field name doesn't exist yet */
- if (dict_find(dict, (char_u *)field_name, -1) != NULL)
---- 3787,3795 ----
- char_u *start; /* start of the value */
- char_u *end; /* after the value; can be NULL */
- {
-! char_u *buf;
- int len = 0;
-+ int retval;
-
- /* check that the field name doesn't exist yet */
- if (dict_find(dict, (char_u *)field_name, -1) != NULL)
-***************
-*** 3791,3796 ****
---- 3802,3810 ----
- }
- return FAIL;
- }
-+ buf = alloc(MAXPATHL);
-+ if (buf == NULL)
-+ return FAIL;
- if (start != NULL)
- {
- if (end == NULL)
-***************
-*** 3800,3811 ****
- --end;
- }
- len = (int)(end - start);
-! if (len > (int)sizeof(buf) - 1)
-! len = sizeof(buf) - 1;
- vim_strncpy(buf, start, len);
- }
- buf[len] = NUL;
-! return dict_add_nr_str(dict, field_name, 0L, buf);
- }
-
- /*
---- 3814,3827 ----
- --end;
- }
- len = (int)(end - start);
-! if (len > MAXPATHL - 1)
-! len = MAXPATHL - 1;
- vim_strncpy(buf, start, len);
- }
- buf[len] = NUL;
-! retval = dict_add_nr_str(dict, field_name, 0L, buf);
-! vim_free(buf);
-! return retval;
- }
-
- /*
-*** ../vim-7.3.160/src/vim.h 2010-12-30 12:30:26.000000000 +0100
---- src/vim.h 2011-04-11 20:50:54.000000000 +0200
-***************
-*** 1435,1440 ****
---- 1435,1442 ----
-
- #define IOSIZE (1024+1) /* file i/o and sprintf buffer size */
-
-+ #define DIALOG_MSG_SIZE 1000 /* buffer size for dialog_msg() */
-+
- #ifdef FEAT_MBYTE
- # define MSG_BUF_LEN 480 /* length of buffer for small messages */
- # define MSG_BUF_CLEN (MSG_BUF_LEN / 6) /* cell length (worst case: utf-8
-*** ../vim-7.3.160/src/xxd/xxd.c 2011-04-02 14:44:50.000000000 +0200
---- src/xxd/xxd.c 2011-04-11 16:40:48.000000000 +0200
-***************
-*** 476,482 ****
- int octspergrp = -1; /* number of octets grouped in output */
- int grplen; /* total chars per octet group */
- long length = -1, n = 0, seekoff = 0;
-! char l[LLEN+1];
- char *pp;
-
- #ifdef AMIGA
---- 476,482 ----
- int octspergrp = -1; /* number of octets grouped in output */
- int grplen; /* total chars per octet group */
- long length = -1, n = 0, seekoff = 0;
-! static char l[LLEN+1]; /* static because it may be too big for stack */
- char *pp;
-
- #ifdef AMIGA
-*** ../vim-7.3.160/src/version.c 2011-04-11 16:56:29.000000000 +0200
---- src/version.c 2011-04-11 21:15:33.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 161,
- /**/
-
---
-The process for understanding customers primarily involves sitting around with
-other marketing people and talking about what you would to if you were dumb
-enough to be a customer.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.162 b/source/ap/vim/patches/7.3.162
deleted file mode 100644
index 3f0173afb..000000000
--- a/source/ap/vim/patches/7.3.162
+++ /dev/null
@@ -1,83 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.162
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.162
-Problem: No error message when assigning to a list with an index out of
- range. (Yukihiro Nakadaira)
-Solution: Add the error message.
-Files: src/eval.c
-
-
-*** ../vim-7.3.161/src/eval.c 2011-04-11 21:35:03.000000000 +0200
---- src/eval.c 2011-04-21 13:40:38.000000000 +0200
-***************
-*** 2794,2799 ****
---- 2794,2801 ----
- {
- if (lp->ll_range && !lp->ll_empty2)
- clear_tv(&var2);
-+ if (!quiet)
-+ EMSGN(_(e_listidx), lp->ll_n1);
- return NULL;
- }
-
-***************
-*** 2811,2817 ****
---- 2813,2823 ----
- {
- ni = list_find(lp->ll_list, lp->ll_n2);
- if (ni == NULL)
-+ {
-+ if (!quiet)
-+ EMSGN(_(e_listidx), lp->ll_n2);
- return NULL;
-+ }
- lp->ll_n2 = list_idx_of_item(lp->ll_list, ni);
- }
-
-***************
-*** 2819,2825 ****
---- 2825,2835 ----
- if (lp->ll_n1 < 0)
- lp->ll_n1 = list_idx_of_item(lp->ll_list, lp->ll_li);
- if (lp->ll_n2 < lp->ll_n1)
-+ {
-+ if (!quiet)
-+ EMSGN(_(e_listidx), lp->ll_n2);
- return NULL;
-+ }
- }
-
- lp->ll_tv = &lp->ll_li->li_tv;
-*** ../vim-7.3.161/src/version.c 2011-04-11 21:35:03.000000000 +0200
---- src/version.c 2011-04-21 13:44:46.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 162,
- /**/
-
---
-Far back in the mists of ancient time, in the great and glorious days of the
-former Galactic Empire, life was wild, rich and largely tax free.
-Mighty starships plied their way between exotic suns, seeking adventure and
-reward among the furthest reaches of Galactic space. In those days, spirits
-were brave, the stakes were high, men were real men, women were real women
-and small furry creatures from Alpha Centauri were real small furry creatures
-from Alpha Centauri. And all dared to brave unknown terrors, to do mighty
-deeds, to boldly split infinitives that no man had split before -- and thus
-was the Empire forged.
- -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.163 b/source/ap/vim/patches/7.3.163
deleted file mode 100644
index b5f1cb4ad..000000000
--- a/source/ap/vim/patches/7.3.163
+++ /dev/null
@@ -1,59 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.163
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.163
-Problem: For the default of 'shellpipe' "mksh" and "pdksh" are not
- recognized.
-Solution: Recognize these shell names.
-Files: src/option.c
-
-
-*** ../vim-7.3.162/src/option.c 2011-03-22 14:35:01.000000000 +0100
---- src/option.c 2011-04-15 20:49:54.000000000 +0200
-***************
-*** 3846,3851 ****
---- 3846,3853 ----
- # ifndef OS2 /* Always use bourne shell style redirection if we reach this */
- if ( fnamecmp(p, "sh") == 0
- || fnamecmp(p, "ksh") == 0
-+ || fnamecmp(p, "mksh") == 0
-+ || fnamecmp(p, "pdksh") == 0
- || fnamecmp(p, "zsh") == 0
- || fnamecmp(p, "zsh-beta") == 0
- || fnamecmp(p, "bash") == 0
-***************
-*** 3853,3858 ****
---- 3855,3862 ----
- || fnamecmp(p, "cmd") == 0
- || fnamecmp(p, "sh.exe") == 0
- || fnamecmp(p, "ksh.exe") == 0
-+ || fnamecmp(p, "mksh.exe") == 0
-+ || fnamecmp(p, "pdksh.exe") == 0
- || fnamecmp(p, "zsh.exe") == 0
- || fnamecmp(p, "zsh-beta.exe") == 0
- || fnamecmp(p, "bash.exe") == 0
-*** ../vim-7.3.162/src/version.c 2011-04-21 14:27:21.000000000 +0200
---- src/version.c 2011-04-28 12:56:03.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 163,
- /**/
-
---
-If you put 7 of the most talented OSS developers in a room for a week
-and asked them to fix a bug in a spreadsheet program, in 1 week
-you'd have 2 new mail readers and a text-based web browser.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.164 b/source/ap/vim/patches/7.3.164
deleted file mode 100644
index 9049f1b58..000000000
--- a/source/ap/vim/patches/7.3.164
+++ /dev/null
@@ -1,181 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.164
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.164
-Problem: C-indenting: a preprocessor statement confuses detection of a
- function delcaration.
-Solution: Ignore preprocessor lines. (Lech Lorens) Also recognize the style
- to put a comma before the argument name.
-Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
-
-
-*** ../vim-7.3.163/src/misc1.c 2011-04-11 16:56:29.000000000 +0200
---- src/misc1.c 2011-04-28 12:49:55.000000000 +0200
-***************
-*** 5396,5403 ****
- cin_ispreproc(s)
- char_u *s;
- {
-! s = skipwhite(s);
-! if (*s == '#')
- return TRUE;
- return FALSE;
- }
---- 5396,5402 ----
- cin_ispreproc(s)
- char_u *s;
- {
-! if (*skipwhite(s) == '#')
- return TRUE;
- return FALSE;
- }
-***************
-*** 5513,5518 ****
---- 5512,5521 ----
- else
- s = *sp;
-
-+ /* Ignore line starting with #. */
-+ if (cin_ispreproc(s))
-+ return FALSE;
-+
- while (*s && *s != '(' && *s != ';' && *s != '\'' && *s != '"')
- {
- if (cin_iscomment(s)) /* ignore comments */
-***************
-*** 5538,5550 ****
- retval = TRUE;
- goto done;
- }
-! if (*s == ',' && cin_nocode(s + 1))
- {
-! /* ',' at the end: continue looking in the next line */
- if (lnum >= curbuf->b_ml.ml_line_count)
- break;
-!
-! s = ml_get(++lnum);
- }
- else if (cin_iscomment(s)) /* ignore comments */
- s = cin_skipcomment(s);
---- 5541,5569 ----
- retval = TRUE;
- goto done;
- }
-! if ((*s == ',' && cin_nocode(s + 1)) || s[1] == NUL || cin_nocode(s))
- {
-! int comma = (*s == ',');
-!
-! /* ',' at the end: continue looking in the next line.
-! * At the end: check for ',' in the next line, for this style:
-! * func(arg1
-! * , arg2) */
-! for (;;)
-! {
-! if (lnum >= curbuf->b_ml.ml_line_count)
-! break;
-! s = ml_get(++lnum);
-! if (!cin_ispreproc(s))
-! break;
-! }
- if (lnum >= curbuf->b_ml.ml_line_count)
- break;
-! /* Require a comma at end of the line or a comma or ')' at the
-! * start of next line. */
-! s = skipwhite(s);
-! if (!comma && *s != ',' && *s != ')')
-! break;
- }
- else if (cin_iscomment(s)) /* ignore comments */
- s = cin_skipcomment(s);
-*** ../vim-7.3.163/src/testdir/test3.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test3.in 2011-04-28 12:15:12.000000000 +0200
-***************
-*** 1315,1320 ****
---- 1315,1349 ----
- }
-
- STARTTEST
-+ :set cino=(0,ts
-+ 2kdd=][
-+ ENDTEST
-+
-+ void func(int a
-+ #if defined(FOO)
-+ , int b
-+ , int c
-+ #endif
-+ )
-+ {
-+ }
-+
-+ STARTTEST
-+ :set cino=(0
-+ 2kdd=][
-+ ENDTEST
-+
-+ void
-+ func(int a
-+ #if defined(FOO)
-+ , int b
-+ , int c
-+ #endif
-+ )
-+ {
-+ }
-+
-+ STARTTEST
- :g/^STARTTEST/.,/^ENDTEST/d
- :1;/start of AUTO/,$wq! test.out
- ENDTEST
-*** ../vim-7.3.163/src/testdir/test3.ok 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test3.ok 2011-04-28 12:54:04.000000000 +0200
-***************
-*** 1183,1185 ****
---- 1183,1206 ----
- foo;
- }
-
-+
-+ void func(int a
-+ #if defined(FOO)
-+ , int b
-+ , int c
-+ #endif
-+ )
-+ {
-+ }
-+
-+
-+ void
-+ func(int a
-+ #if defined(FOO)
-+ , int b
-+ , int c
-+ #endif
-+ )
-+ {
-+ }
-+
-*** ../vim-7.3.163/src/version.c 2011-04-28 12:56:57.000000000 +0200
---- src/version.c 2011-04-28 12:59:55.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 164,
- /**/
-
---
-Due knot trussed yore spell chequer two fined awl miss steaks.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.165 b/source/ap/vim/patches/7.3.165
deleted file mode 100644
index 2725259e3..000000000
--- a/source/ap/vim/patches/7.3.165
+++ /dev/null
@@ -1,47 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.165
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.165
-Problem: ":find" completion does not escape spaces in a directory name.
- (Isz)
-Solution: Add backslashes for EXPAND_FILES_IN_PATH. (Carlo Teubner)
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.164/src/ex_getln.c 2010-12-02 16:01:23.000000000 +0100
---- src/ex_getln.c 2011-04-28 12:52:12.000000000 +0200
-***************
-*** 3702,3707 ****
---- 3702,3708 ----
- if (options & WILD_ESCAPE)
- {
- if (xp->xp_context == EXPAND_FILES
-+ || xp->xp_context == EXPAND_FILES_IN_PATH
- || xp->xp_context == EXPAND_SHELLCMD
- || xp->xp_context == EXPAND_BUFFERS
- || xp->xp_context == EXPAND_DIRECTORIES)
-*** ../vim-7.3.164/src/version.c 2011-04-28 13:01:59.000000000 +0200
---- src/version.c 2011-04-28 17:17:53.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 165,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-38. You wake up at 3 a.m. to go to the bathroom and stop and check your e-mail
- on the way back to bed.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.166 b/source/ap/vim/patches/7.3.166
deleted file mode 100644
index 93c6ed353..000000000
--- a/source/ap/vim/patches/7.3.166
+++ /dev/null
@@ -1,70 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.166
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.166
-Problem: Buffer on the stack may be too big
-Solution: Allocate the space.
-Files: src/option.c
-
-
-*** ../vim-7.3.165/src/option.c 2011-04-28 12:56:57.000000000 +0200
---- src/option.c 2011-04-15 20:49:54.000000000 +0200
-***************
-*** 9185,9191 ****
- int expand;
- {
- char_u *s;
-! char_u buf[MAXPATHL];
-
- if (fprintf(fd, "%s %s=", cmd, name) < 0)
- return FAIL;
---- 9185,9191 ----
- int expand;
- {
- char_u *s;
-! char_u *buf;
-
- if (fprintf(fd, "%s %s=", cmd, name) < 0)
- return FAIL;
-***************
-*** 9203,9211 ****
---- 9203,9218 ----
- }
- else if (expand)
- {
-+ buf = alloc(MAXPATHL);
-+ if (buf == NULL)
-+ return FAIL;
- home_replace(NULL, *valuep, buf, MAXPATHL, FALSE);
- if (put_escstr(fd, buf, 2) == FAIL)
-+ {
-+ vim_free(buf);
- return FAIL;
-+ }
-+ vim_free(buf);
- }
- else if (put_escstr(fd, *valuep, 2) == FAIL)
- return FAIL;
-*** ../vim-7.3.165/src/version.c 2011-04-28 17:21:49.000000000 +0200
---- src/version.c 2011-04-28 17:23:24.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 166,
- /**/
-
---
-He who laughs last, thinks slowest.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.167 b/source/ap/vim/patches/7.3.167
deleted file mode 100644
index 4a6de89fb..000000000
--- a/source/ap/vim/patches/7.3.167
+++ /dev/null
@@ -1,96 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.167
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.167
-Problem: When using the internal grep QuickFixCmdPost is not triggered.
- (Yukihiro Nakadaira)
-Solution: Change the place where autocommands are triggered.
-Files: src/quickfix.c
-
-
-*** ../vim-7.3.166/src/quickfix.c 2011-04-11 21:35:03.000000000 +0200
---- src/quickfix.c 2011-04-28 13:28:03.000000000 +0200
-***************
-*** 2742,2747 ****
---- 2742,2754 ----
- #ifdef FEAT_AUTOCMD
- char_u *au_name = NULL;
-
-+ /* Redirect ":grep" to ":vimgrep" if 'grepprg' is "internal". */
-+ if (grep_internal(eap->cmdidx))
-+ {
-+ ex_vimgrep(eap);
-+ return;
-+ }
-+
- switch (eap->cmdidx)
- {
- case CMD_make: au_name = (char_u *)"make"; break;
-***************
-*** 2763,2775 ****
- }
- #endif
-
-- /* Redirect ":grep" to ":vimgrep" if 'grepprg' is "internal". */
-- if (grep_internal(eap->cmdidx))
-- {
-- ex_vimgrep(eap);
-- return;
-- }
--
- if (eap->cmdidx == CMD_lmake || eap->cmdidx == CMD_lgrep
- || eap->cmdidx == CMD_lgrepadd)
- wp = curwin;
---- 2770,2775 ----
-***************
-*** 3057,3066 ****
-
- switch (eap->cmdidx)
- {
-! case CMD_vimgrep: au_name = (char_u *)"vimgrep"; break;
-! case CMD_lvimgrep: au_name = (char_u *)"lvimgrep"; break;
-! case CMD_vimgrepadd: au_name = (char_u *)"vimgrepadd"; break;
- case CMD_lvimgrepadd: au_name = (char_u *)"lvimgrepadd"; break;
- default: break;
- }
- if (au_name != NULL)
---- 3057,3070 ----
-
- switch (eap->cmdidx)
- {
-! case CMD_vimgrep: au_name = (char_u *)"vimgrep"; break;
-! case CMD_lvimgrep: au_name = (char_u *)"lvimgrep"; break;
-! case CMD_vimgrepadd: au_name = (char_u *)"vimgrepadd"; break;
- case CMD_lvimgrepadd: au_name = (char_u *)"lvimgrepadd"; break;
-+ case CMD_grep: au_name = (char_u *)"grep"; break;
-+ case CMD_lgrep: au_name = (char_u *)"lgrep"; break;
-+ case CMD_grepadd: au_name = (char_u *)"grepadd"; break;
-+ case CMD_lgrepadd: au_name = (char_u *)"lgrepadd"; break;
- default: break;
- }
- if (au_name != NULL)
-*** ../vim-7.3.166/src/version.c 2011-04-28 17:24:54.000000000 +0200
---- src/version.c 2011-04-28 17:26:17.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 167,
- /**/
-
---
-Micro$oft: where do you want to go today?
- Linux: where do you want to go tomorrow?
- FreeBSD: are you guys coming, or what?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.168 b/source/ap/vim/patches/7.3.168
deleted file mode 100644
index 3d6fe9472..000000000
--- a/source/ap/vim/patches/7.3.168
+++ /dev/null
@@ -1,82 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.168
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.168
-Problem: When the second argument of input() contains a CR the text up to
- that is used without asking the user. (Yasuhiro Matsumoto)
-Solution: Change CR, NL and ESC in the text to a space.
-Files: src/getchar.c
-
-
-*** ../vim-7.3.167/src/getchar.c 2011-03-22 13:07:19.000000000 +0100
---- src/getchar.c 2011-04-28 14:50:26.000000000 +0200
-***************
-*** 635,645 ****
---- 635,648 ----
- /*
- * Stuff "s" into the stuff buffer, leaving special key codes unmodified and
- * escaping other K_SPECIAL and CSI bytes.
-+ * Change CR, LF and ESC into a space.
- */
- void
- stuffReadbuffSpec(s)
- char_u *s;
- {
-+ int c;
-+
- while (*s != NUL)
- {
- if (*s == K_SPECIAL && s[1] != NUL && s[2] != NUL)
-***************
-*** 649,659 ****
- s += 3;
- }
- else
- #ifdef FEAT_MBYTE
-! stuffcharReadbuff(mb_ptr2char_adv(&s));
- #else
-! stuffcharReadbuff(*s++);
- #endif
- }
- }
- #endif
---- 652,667 ----
- s += 3;
- }
- else
-+ {
- #ifdef FEAT_MBYTE
-! c = mb_ptr2char_adv(&s);
- #else
-! c = *s++;
- #endif
-+ if (c == CAR || c == NL || c == ESC)
-+ c = ' ';
-+ stuffcharReadbuff(c);
-+ }
- }
- }
- #endif
-*** ../vim-7.3.167/src/version.c 2011-04-28 17:27:05.000000000 +0200
---- src/version.c 2011-04-28 17:28:36.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 168,
- /**/
-
---
-Everyone has a photographic memory. Some don't have film.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.169 b/source/ap/vim/patches/7.3.169
deleted file mode 100644
index 056ca99f6..000000000
--- a/source/ap/vim/patches/7.3.169
+++ /dev/null
@@ -1,130 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.169
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.169
-Problem: Freeing memory already freed, warning from static code analyzer.
-Solution: Initialize pointers to NULL, correct use of "mustfree". (partly by
- Dominique Pelle)
-Files: src/mis1.c
-
-
-*** ../vim-7.3.168/src/misc1.c 2011-04-28 13:01:59.000000000 +0200
---- src/misc1.c 2011-04-28 17:42:00.000000000 +0200
-***************
-*** 3505,3511 ****
- if (enc_utf8 && var != NULL)
- {
- int len;
-! char_u *pp;
-
- /* Convert from active codepage to UTF-8. Other conversions are
- * not done, because they would fail for non-ASCII characters. */
---- 3505,3511 ----
- if (enc_utf8 && var != NULL)
- {
- int len;
-! char_u *pp = NULL;
-
- /* Convert from active codepage to UTF-8. Other conversions are
- * not done, because they would fail for non-ASCII characters. */
-***************
-*** 3872,3882 ****
- * Vim's version of getenv().
- * Special handling of $HOME, $VIM and $VIMRUNTIME.
- * Also does ACP to 'enc' conversion for Win32.
- */
- char_u *
- vim_getenv(name, mustfree)
- char_u *name;
-! int *mustfree; /* set to TRUE when returned is allocated */
- {
- char_u *p;
- char_u *pend;
---- 3872,3884 ----
- * Vim's version of getenv().
- * Special handling of $HOME, $VIM and $VIMRUNTIME.
- * Also does ACP to 'enc' conversion for Win32.
-+ * "mustfree" is set to TRUE when returned is allocated, it must be
-+ * initialized to FALSE by the caller.
- */
- char_u *
- vim_getenv(name, mustfree)
- char_u *name;
-! int *mustfree;
- {
- char_u *p;
- char_u *pend;
-***************
-*** 3898,3904 ****
- if (enc_utf8)
- {
- int len;
-! char_u *pp;
-
- /* Convert from active codepage to UTF-8. Other conversions are
- * not done, because they would fail for non-ASCII characters. */
---- 3900,3906 ----
- if (enc_utf8)
- {
- int len;
-! char_u *pp = NULL;
-
- /* Convert from active codepage to UTF-8. Other conversions are
- * not done, because they would fail for non-ASCII characters. */
-***************
-*** 3942,3948 ****
- if (enc_utf8)
- {
- int len;
-! char_u *pp;
-
- /* Convert from active codepage to UTF-8. Other conversions
- * are not done, because they would fail for non-ASCII
---- 3944,3950 ----
- if (enc_utf8)
- {
- int len;
-! char_u *pp = NULL;
-
- /* Convert from active codepage to UTF-8. Other conversions
- * are not done, because they would fail for non-ASCII
-***************
-*** 3950,3956 ****
- acp_to_enc(p, (int)STRLEN(p), &pp, &len);
- if (pp != NULL)
- {
-! if (mustfree)
- vim_free(p);
- p = pp;
- *mustfree = TRUE;
---- 3952,3958 ----
- acp_to_enc(p, (int)STRLEN(p), &pp, &len);
- if (pp != NULL)
- {
-! if (*mustfree)
- vim_free(p);
- p = pp;
- *mustfree = TRUE;
-*** ../vim-7.3.168/src/version.c 2011-04-28 17:30:05.000000000 +0200
---- src/version.c 2011-04-28 17:48:04.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 169,
- /**/
-
---
-A day without sunshine is like, well, night.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.170 b/source/ap/vim/patches/7.3.170
deleted file mode 100644
index 933173ea8..000000000
--- a/source/ap/vim/patches/7.3.170
+++ /dev/null
@@ -1,70 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.170
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.170
-Problem: VMS Makefile for testing was not updated for test77.
-Solution: Add test77 to the Makefile.
-Files: src/testdir/Make_vms.mms
-
-
-*** ../vim-7.3.169/src/testdir/Make_vms.mms 2010-11-10 16:54:16.000000000 +0100
---- src/testdir/Make_vms.mms 2011-03-03 17:04:56.000000000 +0100
-***************
-*** 4,10 ****
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
-! # Last change: 2010 Nov 10
- #
- # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
- # Edit the lines in the Configuration section below to select.
---- 4,10 ----
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
-! # Last change: 2011 Mar 03
- #
- # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
- # Edit the lines in the Configuration section below to select.
-***************
-*** 74,80 ****
- test56.out test57.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out \
-! test71.out test72.out test74.out test75.out test76.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
---- 74,81 ----
- test56.out test57.out test60.out \
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out \
-! test71.out test72.out test74.out test75.out test76.out \
-! test77.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
-*** ../vim-7.3.169/src/version.c 2011-04-28 17:48:39.000000000 +0200
---- src/version.c 2011-04-28 19:04:33.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 170,
- /**/
-
---
-The users that I support would double-click on a landmine to find out
-what happens. -- A system administrator
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.171 b/source/ap/vim/patches/7.3.171
deleted file mode 100644
index f965e0a20..000000000
--- a/source/ap/vim/patches/7.3.171
+++ /dev/null
@@ -1,142 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.171
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.171
-Problem: When the clipboard isn't supported: ":yank*" gives a confusing
- error message.
-Solution: Specifically mention that the register name is invalid.
- (Jean-Rene David)
-Files: runtime/doc/change.txt, src/ex_docmd.c, src/globals.h
-
-
-*** ../vim-7.3.170/runtime/doc/change.txt 2010-08-15 21:57:18.000000000 +0200
---- runtime/doc/change.txt 2011-05-05 13:48:00.000000000 +0200
-***************
-*** 916,923 ****
- {Visual}["x]Y Yank the highlighted lines [into register x] (for
- {Visual} see |Visual-mode|). {not in Vi}
-
-! *:y* *:yank*
-! :[range]y[ank] [x] Yank [range] lines [into register x].
-
- :[range]y[ank] [x] {count}
- Yank {count} lines, starting with last line number
---- 917,926 ----
- {Visual}["x]Y Yank the highlighted lines [into register x] (for
- {Visual} see |Visual-mode|). {not in Vi}
-
-! *:y* *:yank* *E850*
-! :[range]y[ank] [x] Yank [range] lines [into register x]. Yanking to the
-! "* or "+ registers is possible only in GUI versions or
-! when the |+xterm_clipboard| feature is included.
-
- :[range]y[ank] [x] {count}
- Yank {count} lines, starting with last line number
-*** ../vim-7.3.170/src/ex_docmd.c 2011-04-11 21:35:03.000000000 +0200
---- src/ex_docmd.c 2011-05-05 13:48:57.000000000 +0200
-***************
-*** 2424,2448 ****
- if ( (ea.argt & REGSTR)
- && *ea.arg != NUL
- #ifdef FEAT_USR_CMDS
-- && valid_yank_reg(*ea.arg, (ea.cmdidx != CMD_put
-- && USER_CMDIDX(ea.cmdidx)))
- /* Do not allow register = for user commands */
- && (!USER_CMDIDX(ea.cmdidx) || *ea.arg != '=')
-- #else
-- && valid_yank_reg(*ea.arg, ea.cmdidx != CMD_put)
- #endif
- && !((ea.argt & COUNT) && VIM_ISDIGIT(*ea.arg)))
- {
-! ea.regname = *ea.arg++;
-! #ifdef FEAT_EVAL
-! /* for '=' register: accept the rest of the line as an expression */
-! if (ea.arg[-1] == '=' && ea.arg[0] != NUL)
- {
-! set_expr_line(vim_strsave(ea.arg));
-! ea.arg += STRLEN(ea.arg);
- }
- #endif
-! ea.arg = skipwhite(ea.arg);
- }
-
- /*
---- 2424,2462 ----
- if ( (ea.argt & REGSTR)
- && *ea.arg != NUL
- #ifdef FEAT_USR_CMDS
- /* Do not allow register = for user commands */
- && (!USER_CMDIDX(ea.cmdidx) || *ea.arg != '=')
- #endif
- && !((ea.argt & COUNT) && VIM_ISDIGIT(*ea.arg)))
- {
-! #ifndef FEAT_CLIPBOARD
-! /* check these explicitly for a more specific error message */
-! if (*ea.arg == '*' || *ea.arg == '+')
- {
-! errormsg = (char_u *)_(e_invalidreg);
-! goto doend;
- }
- #endif
-! if (
-! #ifdef FEAT_USR_CMDS
-! valid_yank_reg(*ea.arg, (ea.cmdidx != CMD_put
-! && USER_CMDIDX(ea.cmdidx)))
-! #else
-! valid_yank_reg(*ea.arg, ea.cmdidx != CMD_put)
-! #endif
-! )
-! {
-! ea.regname = *ea.arg++;
-! #ifdef FEAT_EVAL
-! /* for '=' register: accept the rest of the line as an expression */
-! if (ea.arg[-1] == '=' && ea.arg[0] != NUL)
-! {
-! set_expr_line(vim_strsave(ea.arg));
-! ea.arg += STRLEN(ea.arg);
-! }
-! #endif
-! ea.arg = skipwhite(ea.arg);
-! }
- }
-
- /*
-*** ../vim-7.3.170/src/globals.h 2011-02-15 17:39:14.000000000 +0100
---- src/globals.h 2011-05-05 13:47:44.000000000 +0200
-***************
-*** 1561,1566 ****
---- 1561,1569 ----
- (defined(FEAT_INS_EXPAND) && defined(FEAT_COMPL_FUNC))
- EXTERN char_u e_notset[] INIT(= N_("E764: Option '%s' is not set"));
- #endif
-+ #ifndef FEAT_CLIPBOARD
-+ EXTERN char_u e_invalidreg[] INIT(= N_("E850: Invalid register name"));
-+ #endif
-
- #ifdef MACOS_X_UNIX
- EXTERN short disallow_gui INIT(= FALSE);
-*** ../vim-7.3.170/src/version.c 2011-04-28 19:05:01.000000000 +0200
---- src/version.c 2011-05-05 14:24:39.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 171,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-53. To find out what time it is, you send yourself an e-mail and check the
- "Date:" field.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.172 b/source/ap/vim/patches/7.3.172
deleted file mode 100644
index 66a785217..000000000
--- a/source/ap/vim/patches/7.3.172
+++ /dev/null
@@ -1,268 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.172
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.172
-Problem: MS-Windows: rename() might delete the file if the name differs but
- it's actually the same file.
-Solution: Use the file handle to check if it's the same file. (Yukihiro
- Nakadaira)
-Files: src/if_cscope.c, src/fileio.c, src/os_win32.c,
- src/proto/os_win32.pro, src/vim.h
-
-
-*** ../vim-7.3.171/src/if_cscope.c 2011-03-03 15:01:25.000000000 +0100
---- src/if_cscope.c 2011-05-05 16:16:38.000000000 +0200
-***************
-*** 1412,1428 ****
- {
- short i, j;
- #ifndef UNIX
-- HANDLE hFile;
- BY_HANDLE_FILE_INFORMATION bhfi;
-
-- vim_memset(&bhfi, 0, sizeof(bhfi));
- /* On windows 9x GetFileInformationByHandle doesn't work, so skip it */
- if (!mch_windows95())
- {
-! hFile = CreateFile(fname, FILE_READ_ATTRIBUTES, 0, NULL, OPEN_EXISTING,
-! FILE_ATTRIBUTE_NORMAL, NULL);
-! if (hFile == INVALID_HANDLE_VALUE)
- {
- if (p_csverbose)
- {
- char *cant_msg = _("E625: cannot open cscope database: %s");
---- 1412,1426 ----
- {
- short i, j;
- #ifndef UNIX
- BY_HANDLE_FILE_INFORMATION bhfi;
-
- /* On windows 9x GetFileInformationByHandle doesn't work, so skip it */
- if (!mch_windows95())
- {
-! switch (win32_fileinfo(fname, &bhfi))
- {
-+ case FILEINFO_ENC_FAIL: /* enc_to_utf16() failed */
-+ case FILEINFO_READ_FAIL: /* CreateFile() failed */
- if (p_csverbose)
- {
- char *cant_msg = _("E625: cannot open cscope database: %s");
-***************
-*** 1438,1452 ****
- (void)EMSG2(cant_msg, fname);
- }
- return -1;
-! }
-! if (!GetFileInformationByHandle(hFile, &bhfi))
-! {
-! CloseHandle(hFile);
- if (p_csverbose)
- (void)EMSG(_("E626: cannot get cscope database information"));
- return -1;
- }
-- CloseHandle(hFile);
- }
- #endif
-
---- 1436,1447 ----
- (void)EMSG2(cant_msg, fname);
- }
- return -1;
-!
-! case FILEINFO_INFO_FAIL: /* GetFileInformationByHandle() failed */
- if (p_csverbose)
- (void)EMSG(_("E626: cannot get cscope database information"));
- return -1;
- }
- }
- #endif
-
-*** ../vim-7.3.171/src/fileio.c 2011-04-11 21:35:03.000000000 +0200
---- src/fileio.c 2011-05-05 16:22:22.000000000 +0200
-***************
-*** 6555,6560 ****
---- 6555,6575 ----
- use_tmp_file = TRUE;
- }
- #endif
-+ #ifdef WIN3264
-+ {
-+ BY_HANDLE_FILE_INFORMATION info1, info2;
-+
-+ /* It's possible for the source and destination to be the same file.
-+ * In that case go through a temp file name. This makes rename("foo",
-+ * "./foo") a no-op (in a complicated way). */
-+ if (win32_fileinfo(from, &info1) == FILEINFO_OK
-+ && win32_fileinfo(to, &info2) == FILEINFO_OK
-+ && info1.dwVolumeSerialNumber == info2.dwVolumeSerialNumber
-+ && info1.nFileIndexHigh == info2.nFileIndexHigh
-+ && info1.nFileIndexLow == info2.nFileIndexLow)
-+ use_tmp_file = TRUE;
-+ }
-+ #endif
-
- #if defined(UNIX) || defined(CASE_INSENSITIVE_FILENAME)
- if (use_tmp_file)
-*** ../vim-7.3.171/src/os_win32.c 2011-02-01 13:48:47.000000000 +0100
---- src/os_win32.c 2011-05-05 16:24:17.000000000 +0200
-***************
-*** 2645,2669 ****
- int
- mch_is_linked(char_u *fname)
- {
- HANDLE hFile;
-! int res = 0;
-! BY_HANDLE_FILE_INFORMATION inf;
- #ifdef FEAT_MBYTE
- WCHAR *wn = NULL;
-
- if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
- wn = enc_to_utf16(fname, NULL);
- if (wn != NULL)
- {
- hFile = CreateFileW(wn, /* file name */
- GENERIC_READ, /* access mode */
-! 0, /* share mode */
- NULL, /* security descriptor */
- OPEN_EXISTING, /* creation disposition */
-! 0, /* file attributes */
- NULL); /* handle to template file */
- if (hFile == INVALID_HANDLE_VALUE
-! && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
- {
- /* Retry with non-wide function (for Windows 98). */
- vim_free(wn);
---- 2645,2688 ----
- int
- mch_is_linked(char_u *fname)
- {
-+ BY_HANDLE_FILE_INFORMATION info;
-+
-+ return win32_fileinfo(fname, &info) == FILEINFO_OK
-+ && info.nNumberOfLinks > 1;
-+ }
-+
-+ /*
-+ * Get the by-handle-file-information for "fname".
-+ * Returns FILEINFO_OK when OK.
-+ * returns FILEINFO_ENC_FAIL when enc_to_utf16() failed.
-+ * Returns FILEINFO_READ_FAIL when CreateFile() failed.
-+ * Returns FILEINFO_INFO_FAIL when GetFileInformationByHandle() failed.
-+ */
-+ int
-+ win32_fileinfo(char_u *fname, BY_HANDLE_FILE_INFORMATION *info)
-+ {
- HANDLE hFile;
-! int res = FILEINFO_READ_FAIL;
- #ifdef FEAT_MBYTE
- WCHAR *wn = NULL;
-
- if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-+ {
- wn = enc_to_utf16(fname, NULL);
-+ if (wn == NULL)
-+ res = FILEINFO_ENC_FAIL;
-+ }
- if (wn != NULL)
- {
- hFile = CreateFileW(wn, /* file name */
- GENERIC_READ, /* access mode */
-! FILE_SHARE_READ | FILE_SHARE_WRITE, /* share mode */
- NULL, /* security descriptor */
- OPEN_EXISTING, /* creation disposition */
-! FILE_FLAG_BACKUP_SEMANTICS, /* file attributes */
- NULL); /* handle to template file */
- if (hFile == INVALID_HANDLE_VALUE
-! && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
- {
- /* Retry with non-wide function (for Windows 98). */
- vim_free(wn);
-***************
-*** 2674,2690 ****
- #endif
- hFile = CreateFile(fname, /* file name */
- GENERIC_READ, /* access mode */
-! 0, /* share mode */
- NULL, /* security descriptor */
- OPEN_EXISTING, /* creation disposition */
-! 0, /* file attributes */
- NULL); /* handle to template file */
-
- if (hFile != INVALID_HANDLE_VALUE)
- {
-! if (GetFileInformationByHandle(hFile, &inf) != 0
-! && inf.nNumberOfLinks > 1)
-! res = 1;
- CloseHandle(hFile);
- }
-
---- 2693,2710 ----
- #endif
- hFile = CreateFile(fname, /* file name */
- GENERIC_READ, /* access mode */
-! FILE_SHARE_READ | FILE_SHARE_WRITE, /* share mode */
- NULL, /* security descriptor */
- OPEN_EXISTING, /* creation disposition */
-! FILE_FLAG_BACKUP_SEMANTICS, /* file attributes */
- NULL); /* handle to template file */
-
- if (hFile != INVALID_HANDLE_VALUE)
- {
-! if (GetFileInformationByHandle(hFile, info) != 0)
-! res = FILEINFO_OK;
-! else
-! res = FILEINFO_INFO_FAIL;
- CloseHandle(hFile);
- }
-
-*** ../vim-7.3.171/src/proto/os_win32.pro 2010-10-23 14:02:48.000000000 +0200
---- src/proto/os_win32.pro 2011-05-05 16:17:42.000000000 +0200
-***************
-*** 21,26 ****
---- 21,27 ----
- void mch_hide __ARGS((char_u *name));
- int mch_isdir __ARGS((char_u *name));
- int mch_is_linked __ARGS((char_u *fname));
-+ int win32_fileinfo __ARGS((char_u *name, BY_HANDLE_FILE_INFORMATION *lpFileInfo));
- int mch_writable __ARGS((char_u *name));
- int mch_can_exe __ARGS((char_u *name));
- int mch_nodetype __ARGS((char_u *name));
-*** ../vim-7.3.171/src/vim.h 2011-04-11 21:35:03.000000000 +0200
---- src/vim.h 2011-05-05 16:16:57.000000000 +0200
-***************
-*** 2217,2220 ****
---- 2217,2226 ----
- #define KEYLEN_PART_MAP -2 /* keylen value for incomplete mapping */
- #define KEYLEN_REMOVED 9999 /* keylen value for removed sequence */
-
-+ /* Return values from win32_fileinfo(). */
-+ #define FILEINFO_OK 0
-+ #define FILEINFO_ENC_FAIL 1 /* enc_to_utf16() failed */
-+ #define FILEINFO_READ_FAIL 2 /* CreateFile() failed */
-+ #define FILEINFO_INFO_FAIL 3 /* GetFileInformationByHandle() failed */
-+
- #endif /* VIM__H */
-*** ../vim-7.3.171/src/version.c 2011-05-05 14:26:37.000000000 +0200
---- src/version.c 2011-05-05 16:39:35.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 172,
- /**/
-
---
-Q: What is a patch 22?
-A: A patch you need to include to make it possible to include patches.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.173 b/source/ap/vim/patches/7.3.173
deleted file mode 100644
index ac8cffb93..000000000
--- a/source/ap/vim/patches/7.3.173
+++ /dev/null
@@ -1,79 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.173
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.173
-Problem: After using setqflist() to make the quickfix list empty ":cwindow"
- may open the window anyway. Also after ":vimgrep".
-Solution: Correctly check whether the list is empty. (Ingo Karkat)
-Files: src/quickfix.c
-
-
-*** ../vim-7.3.172/src/quickfix.c 2011-04-28 17:27:05.000000000 +0200
---- src/quickfix.c 2011-05-05 16:55:47.000000000 +0200
-***************
-*** 1164,1170 ****
-
- /* When no valid entries are present in the list, qf_ptr points to
- * the first item in the list */
-! if (to_qfl->qf_nonevalid == TRUE)
- to_qfl->qf_ptr = to_qfl->qf_start;
- }
-
---- 1164,1170 ----
-
- /* When no valid entries are present in the list, qf_ptr points to
- * the first item in the list */
-! if (to_qfl->qf_nonevalid)
- to_qfl->qf_ptr = to_qfl->qf_start;
- }
-
-***************
-*** 2243,2248 ****
---- 2243,2249 ----
- * it if we have errors; otherwise, leave it closed.
- */
- if (qi->qf_lists[qi->qf_curlist].qf_nonevalid
-+ || qi->qf_lists[qi->qf_curlist].qf_count == 0
- || qi->qf_curlist >= qi->qf_listcount)
- {
- if (win != NULL)
-***************
-*** 3711,3717 ****
- }
-
- if (qi->qf_lists[qi->qf_curlist].qf_index == 0)
-! /* empty list or no valid entry */
- qi->qf_lists[qi->qf_curlist].qf_nonevalid = TRUE;
- else
- qi->qf_lists[qi->qf_curlist].qf_nonevalid = FALSE;
---- 3712,3718 ----
- }
-
- if (qi->qf_lists[qi->qf_curlist].qf_index == 0)
-! /* no valid entry */
- qi->qf_lists[qi->qf_curlist].qf_nonevalid = TRUE;
- else
- qi->qf_lists[qi->qf_curlist].qf_nonevalid = FALSE;
-*** ../vim-7.3.172/src/version.c 2011-05-05 16:41:19.000000000 +0200
---- src/version.c 2011-05-05 17:11:57.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 173,
- /**/
-
---
-"I can't complain, but sometimes I still do." (Joe Walsh)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.174 b/source/ap/vim/patches/7.3.174
deleted file mode 100644
index 33d600350..000000000
--- a/source/ap/vim/patches/7.3.174
+++ /dev/null
@@ -1,109 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.174
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.174
-Problem: When Exuberant ctags binary is exctags it's not found.
-Solution: Add configure check for exctags. (Hong Xu)
-Files: src/configure.in, src/auto/configure
-
-
-*** ../vim-7.3.173/src/configure.in 2011-02-09 17:42:53.000000000 +0100
---- src/configure.in 2011-05-05 17:18:21.000000000 +0200
-***************
-*** 2619,2625 ****
- dnl On HP-UX 10.10 termcap or termlib should be used instead of
- dnl curses, because curses is much slower.
- dnl Newer versions of ncurses are preferred over anything, except
-! dnl when tinfo has been split off, it conains all we need.
- dnl Older versions of ncurses have bugs, get a new one!
- dnl Digital Unix (OSF1) should use curses (Ronald Schild).
- dnl On SCO Openserver should prefer termlib (Roger Cornelius).
---- 2619,2625 ----
- dnl On HP-UX 10.10 termcap or termlib should be used instead of
- dnl curses, because curses is much slower.
- dnl Newer versions of ncurses are preferred over anything, except
-! dnl when tinfo has been split off, it contains all we need.
- dnl Older versions of ncurses have bugs, get a new one!
- dnl Digital Unix (OSF1) should use curses (Ronald Schild).
- dnl On SCO Openserver should prefer termlib (Roger Cornelius).
-***************
-*** 3370,3376 ****
- AC_CHECK_LIB(xpg4, _xpg4_setrunelocale, [LIBS="$LIBS -lxpg4"],,)
-
- dnl Check how we can run ctags. Default to "ctags" when nothing works.
-! dnl --version for Exuberant ctags (preferred)
- dnl Add --fields=+S to get function signatures for omni completion.
- dnl -t for typedefs (many ctags have this)
- dnl -s for static functions (Elvis ctags only?)
---- 3370,3376 ----
- AC_CHECK_LIB(xpg4, _xpg4_setrunelocale, [LIBS="$LIBS -lxpg4"],,)
-
- dnl Check how we can run ctags. Default to "ctags" when nothing works.
-! dnl Use --version to detect Exuberant ctags (preferred)
- dnl Add --fields=+S to get function signatures for omni completion.
- dnl -t for typedefs (many ctags have this)
- dnl -s for static functions (Elvis ctags only?)
-***************
-*** 3378,3384 ****
- dnl -i+m to test for older Exuberant ctags
- AC_MSG_CHECKING(how to create tags)
- test -f tags && mv tags tags.save
-! if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
- TAGPRG="ctags -I INIT+ --fields=+S"
- else
- TAGPRG="ctags"
---- 3378,3386 ----
- dnl -i+m to test for older Exuberant ctags
- AC_MSG_CHECKING(how to create tags)
- test -f tags && mv tags tags.save
-! if (eval exctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
-! TAGPRG="exctags -I INIT+ --fields=+S"
-! elif (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
- TAGPRG="ctags -I INIT+ --fields=+S"
- else
- TAGPRG="ctags"
-*** ../vim-7.3.173/src/auto/configure 2011-02-09 17:42:53.000000000 +0100
---- src/auto/configure 2011-05-05 17:19:26.000000000 +0200
-***************
-*** 12031,12037 ****
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create tags" >&5
- $as_echo_n "checking how to create tags... " >&6; }
- test -f tags && mv tags tags.save
-! if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
- TAGPRG="ctags -I INIT+ --fields=+S"
- else
- TAGPRG="ctags"
---- 12031,12039 ----
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create tags" >&5
- $as_echo_n "checking how to create tags... " >&6; }
- test -f tags && mv tags tags.save
-! if (eval exctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
-! TAGPRG="exctags -I INIT+ --fields=+S"
-! elif (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
- TAGPRG="ctags -I INIT+ --fields=+S"
- else
- TAGPRG="ctags"
-*** ../vim-7.3.173/src/version.c 2011-05-05 17:14:07.000000000 +0200
---- src/version.c 2011-05-05 17:19:37.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 174,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-54. You start tilting your head sideways to smile. :-)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.175 b/source/ap/vim/patches/7.3.175
deleted file mode 100644
index 57fbc4a79..000000000
--- a/source/ap/vim/patches/7.3.175
+++ /dev/null
@@ -1,50 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.175
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.175
-Problem: When 'colorcolumn' is set locally to a window, ":new" opens a
- window with the same highlighting but 'colorcolumn' is empty.
- (Tyru)
-Solution: Call check_colorcolumn() after clearing and copying options.
- (Christian Brabandt)
-Files: src/buffer.c
-
-
-*** ../vim-7.3.174/src/buffer.c 2011-04-11 16:56:29.000000000 +0200
---- src/buffer.c 2011-05-05 17:28:24.000000000 +0200
-***************
-*** 2527,2532 ****
---- 2527,2535 ----
- if (p_fdls >= 0)
- curwin->w_p_fdl = p_fdls;
- #endif
-+ #ifdef FEAT_SYN_HL
-+ check_colorcolumn(curwin);
-+ #endif
- }
-
- /*
-*** ../vim-7.3.174/src/version.c 2011-05-05 17:23:58.000000000 +0200
---- src/version.c 2011-05-05 17:30:32.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 175,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-55. You ask your doctor to implant a gig in your brain.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.176 b/source/ap/vim/patches/7.3.176
deleted file mode 100644
index fcf4880d2..000000000
--- a/source/ap/vim/patches/7.3.176
+++ /dev/null
@@ -1,165 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.176
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.176
-Problem: Ruby linking doesn't work properly on Mac OS X.
-Solution: Fix the configure check for Ruby. (Bjorn Winckler)
-Files: src/configure.in, src/auto/configure
-
-
-*** ../vim-7.3.175/src/configure.in 2011-05-05 17:23:58.000000000 +0200
---- src/configure.in 2011-05-05 18:03:38.000000000 +0200
-***************
-*** 1387,1396 ****
- AC_MSG_RESULT($enable_rubyinterp)
- if test "$enable_rubyinterp" = "yes" -o "$enable_rubyinterp" = "dynamic"; then
- AC_MSG_CHECKING(--with-ruby-command argument)
- AC_ARG_WITH(ruby-command, [ --with-ruby-command=RUBY name of the Ruby command (default: ruby)],
-! RUBY_CMD="$withval"; AC_MSG_RESULT($RUBY_CMD),
- RUBY_CMD="ruby"; AC_MSG_RESULT(defaulting to $RUBY_CMD))
-- AC_SUBST(vi_cv_path_ruby)
- AC_PATH_PROG(vi_cv_path_ruby, $RUBY_CMD)
- if test "X$vi_cv_path_ruby" != "X"; then
- AC_MSG_CHECKING(Ruby version)
---- 1387,1396 ----
- AC_MSG_RESULT($enable_rubyinterp)
- if test "$enable_rubyinterp" = "yes" -o "$enable_rubyinterp" = "dynamic"; then
- AC_MSG_CHECKING(--with-ruby-command argument)
-+ AC_SUBST(vi_cv_path_ruby)
- AC_ARG_WITH(ruby-command, [ --with-ruby-command=RUBY name of the Ruby command (default: ruby)],
-! RUBY_CMD="$withval"; vi_cv_path_ruby="$withval"; AC_MSG_RESULT($RUBY_CMD),
- RUBY_CMD="ruby"; AC_MSG_RESULT(defaulting to $RUBY_CMD))
- AC_PATH_PROG(vi_cv_path_ruby, $RUBY_CMD)
- if test "X$vi_cv_path_ruby" != "X"; then
- AC_MSG_CHECKING(Ruby version)
-***************
-*** 1412,1429 ****
- RUBY_LIBS="$rubylibs"
- fi
- librubyarg=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["LIBRUBYARG"]])'`
-! if test -f "$rubyhdrdir/$librubyarg"; then
-! librubyarg="$rubyhdrdir/$librubyarg"
-! else
-! rubylibdir=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["libdir"]])'`
-! if test -f "$rubylibdir/$librubyarg"; then
-! librubyarg="$rubylibdir/$librubyarg"
-! elif test "$librubyarg" = "libruby.a"; then
-! dnl required on Mac OS 10.3 where libruby.a doesn't exist
-! librubyarg="-lruby"
-! else
-! librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, %'-L#{Config.expand(Config::CONFIG[\"libdir\"])}')"`
-! fi
- fi
-
- if test "X$librubyarg" != "X"; then
---- 1412,1426 ----
- RUBY_LIBS="$rubylibs"
- fi
- librubyarg=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["LIBRUBYARG"]])'`
-! librubya=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["LIBRUBY_A"]])'`
-! rubylibdir=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["libdir"]])'`
-! if test -f "$rubylibdir/$librubya"; then
-! librubyarg="$librubyarg"
-! RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
-! elif test "$librubyarg" = "libruby.a"; then
-! dnl required on Mac OS 10.3 where libruby.a doesn't exist
-! librubyarg="-lruby"
-! RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
- fi
-
- if test "X$librubyarg" != "X"; then
-*** ../vim-7.3.175/src/auto/configure 2011-05-05 17:23:58.000000000 +0200
---- src/auto/configure 2011-05-05 18:06:47.000000000 +0200
-***************
-*** 6218,6233 ****
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking --with-ruby-command argument" >&5
- $as_echo_n "checking --with-ruby-command argument... " >&6; }
-
- # Check whether --with-ruby-command was given.
- if test "${with_ruby_command+set}" = set; then :
-! withval=$with_ruby_command; RUBY_CMD="$withval"; { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RUBY_CMD" >&5
- $as_echo "$RUBY_CMD" >&6; }
- else
- RUBY_CMD="ruby"; { $as_echo "$as_me:${as_lineno-$LINENO}: result: defaulting to $RUBY_CMD" >&5
- $as_echo "defaulting to $RUBY_CMD" >&6; }
- fi
-
--
- # Extract the first word of "$RUBY_CMD", so it can be a program name with args.
- set dummy $RUBY_CMD; ac_word=$2
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
---- 6218,6233 ----
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking --with-ruby-command argument" >&5
- $as_echo_n "checking --with-ruby-command argument... " >&6; }
-
-+
- # Check whether --with-ruby-command was given.
- if test "${with_ruby_command+set}" = set; then :
-! withval=$with_ruby_command; RUBY_CMD="$withval"; vi_cv_path_ruby="$withval"; { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RUBY_CMD" >&5
- $as_echo "$RUBY_CMD" >&6; }
- else
- RUBY_CMD="ruby"; { $as_echo "$as_me:${as_lineno-$LINENO}: result: defaulting to $RUBY_CMD" >&5
- $as_echo "defaulting to $RUBY_CMD" >&6; }
- fi
-
- # Extract the first word of "$RUBY_CMD", so it can be a program name with args.
- set dummy $RUBY_CMD; ac_word=$2
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-***************
-*** 6292,6308 ****
- RUBY_LIBS="$rubylibs"
- fi
- librubyarg=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG["LIBRUBYARG"])'`
-! if test -f "$rubyhdrdir/$librubyarg"; then
-! librubyarg="$rubyhdrdir/$librubyarg"
-! else
-! rubylibdir=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG["libdir"])'`
-! if test -f "$rubylibdir/$librubyarg"; then
-! librubyarg="$rubylibdir/$librubyarg"
-! elif test "$librubyarg" = "libruby.a"; then
-! librubyarg="-lruby"
-! else
-! librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, %'-L#{Config.expand(Config::CONFIG[\"libdir\"])}')"`
-! fi
- fi
-
- if test "X$librubyarg" != "X"; then
---- 6292,6305 ----
- RUBY_LIBS="$rubylibs"
- fi
- librubyarg=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG["LIBRUBYARG"])'`
-! librubya=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG["LIBRUBY_A"])'`
-! rubylibdir=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG["libdir"])'`
-! if test -f "$rubylibdir/$librubya"; then
-! librubyarg="$librubyarg"
-! RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
-! elif test "$librubyarg" = "libruby.a"; then
-! librubyarg="-lruby"
-! RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
- fi
-
- if test "X$librubyarg" != "X"; then
-*** ../vim-7.3.175/src/version.c 2011-05-05 17:32:40.000000000 +0200
---- src/version.c 2011-05-05 18:08:52.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 176,
- /**/
-
---
-"I simultaneously try to keep my head in the clouds and my feet on the
-ground. Sometimes it's a stretch, though." -- Larry Wall
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.177 b/source/ap/vim/patches/7.3.177
deleted file mode 100644
index 895b3b134..000000000
--- a/source/ap/vim/patches/7.3.177
+++ /dev/null
@@ -1,97 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.177
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.177
-Problem: MS-Windows: mkdir() doesn't work properly when 'encoding' is
- "utf-8".
-Solution: Convert to utf-16. (Yukihiro Nakadaira)
-Files: src/os_win32.c, src/os_win32.h, src/proto/os_win32.pro
-
-
-*** ../vim-7.3.176/src/os_win32.c 2011-05-05 16:41:19.000000000 +0200
---- src/os_win32.c 2011-05-05 18:24:36.000000000 +0200
-***************
-*** 2640,2645 ****
---- 2640,2669 ----
- }
-
- /*
-+ * Create directory "name".
-+ * Return 0 on success, -1 on error.
-+ */
-+ int
-+ mch_mkdir(char_u *name)
-+ {
-+ #ifdef FEAT_MBYTE
-+ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
-+ {
-+ WCHAR *p;
-+ int retval;
-+
-+ p = enc_to_utf16(name, NULL);
-+ if (p == NULL)
-+ return -1;
-+ retval = _wmkdir(p);
-+ vim_free(p);
-+ return retval;
-+ }
-+ #endif
-+ return _mkdir(name);
-+ }
-+
-+ /*
- * Return TRUE if file "fname" has more than one link.
- */
- int
-*** ../vim-7.3.176/src/os_win32.h 2010-08-15 21:57:30.000000000 +0200
---- src/os_win32.h 2011-05-05 18:25:44.000000000 +0200
-***************
-*** 191,195 ****
- #ifdef __BORLANDC__
- # define vim_mkdir(x, y) mkdir(x)
- #else
-! # define vim_mkdir(x, y) _mkdir(x)
- #endif
---- 191,195 ----
- #ifdef __BORLANDC__
- # define vim_mkdir(x, y) mkdir(x)
- #else
-! # define vim_mkdir(x, y) mch_mkdir(x)
- #endif
-*** ../vim-7.3.176/src/proto/os_win32.pro 2011-05-05 16:41:19.000000000 +0200
---- src/proto/os_win32.pro 2011-05-05 18:26:20.000000000 +0200
-***************
-*** 20,25 ****
---- 20,26 ----
- int mch_setperm __ARGS((char_u *name, long perm));
- void mch_hide __ARGS((char_u *name));
- int mch_isdir __ARGS((char_u *name));
-+ int mch_mkdir __ARGS((char_u *name));
- int mch_is_linked __ARGS((char_u *fname));
- int win32_fileinfo __ARGS((char_u *name, BY_HANDLE_FILE_INFORMATION *lpFileInfo));
- int mch_writable __ARGS((char_u *name));
-*** ../vim-7.3.176/src/version.c 2011-05-05 18:10:11.000000000 +0200
---- src/version.c 2011-05-05 18:27:56.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 177,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-56. You leave the modem speaker on after connecting because you think it
- sounds like the ocean wind...the perfect soundtrack for "surfing the net".
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.178 b/source/ap/vim/patches/7.3.178
deleted file mode 100644
index 9b6ca7c3a..000000000
--- a/source/ap/vim/patches/7.3.178
+++ /dev/null
@@ -1,163 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.178
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.178
-Problem: C-indent doesn't handle code right after { correctly.
-Solution: Fix detecting unterminated line. (Lech Lorens)
-Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
-
-
-*** ../vim-7.3.177/src/misc1.c 2011-04-28 17:48:39.000000000 +0200
---- src/misc1.c 2011-05-10 11:35:09.000000000 +0200
-***************
-*** 4983,4989 ****
- }
-
- /*
-! * Return TRUE if there there is no code at *s. White space and comments are
- * not considered code.
- */
- static int
---- 4983,4989 ----
- }
-
- /*
-! * Return TRUE if there is no code at *s. White space and comments are
- * not considered code.
- */
- static int
-***************
-*** 5458,5465 ****
- }
-
- /*
-! * Recognize a line that starts with '{' or '}', or ends with ';', '{' or '}'.
- * Don't consider "} else" a terminated line.
- * Return the character terminating the line (ending char's have precedence if
- * both apply in order to determine initializations).
- */
---- 5458,5468 ----
- }
-
- /*
-! * Recognize a line that starts with '{' or '}', or ends with ';', ',', '{' or
-! * '}'.
- * Don't consider "} else" a terminated line.
-+ * Don't consider a line where there are unmatched opening braces before '}',
-+ * ';' or ',' a terminated line.
- * Return the character terminating the line (ending char's have precedence if
- * both apply in order to determine initializations).
- */
-***************
-*** 5470,5475 ****
---- 5473,5479 ----
- int incl_comma; /* recognize a trailing comma */
- {
- char_u found_start = 0;
-+ unsigned n_open = 0;
-
- s = cin_skipcomment(s);
-
-***************
-*** 5480,5489 ****
- {
- /* skip over comments, "" strings and 'c'haracters */
- s = skip_string(cin_skipcomment(s));
-! if ((*s == ';' || (incl_open && *s == '{') || *s == '}'
-! || (incl_comma && *s == ','))
- && cin_nocode(s + 1))
- return *s;
-
- if (*s)
- s++;
---- 5484,5502 ----
- {
- /* skip over comments, "" strings and 'c'haracters */
- s = skip_string(cin_skipcomment(s));
-! if (*s == '}' && n_open > 0)
-! --n_open;
-! if (n_open == 0
-! && (*s == ';' || *s == '}' || (incl_comma && *s == ','))
- && cin_nocode(s + 1))
- return *s;
-+ else if (*s == '{')
-+ {
-+ if (incl_open && cin_nocode(s + 1))
-+ return *s;
-+ else
-+ ++n_open;
-+ }
-
- if (*s)
- s++;
-*** ../vim-7.3.177/src/testdir/test3.in 2011-04-28 13:01:59.000000000 +0200
---- src/testdir/test3.in 2011-05-10 11:34:13.000000000 +0200
-***************
-*** 1344,1349 ****
---- 1344,1365 ----
- }
-
- STARTTEST
-+ :set cino&
-+ 2kdd=][
-+ ENDTEST
-+
-+ void func(void)
-+ {
-+ if(x==y)
-+ if(y==z)
-+ foo=1;
-+ else { bar=1;
-+ baz=2;
-+ }
-+ printf("Foo!\n");
-+ }
-+
-+ STARTTEST
- :g/^STARTTEST/.,/^ENDTEST/d
- :1;/start of AUTO/,$wq! test.out
- ENDTEST
-*** ../vim-7.3.177/src/testdir/test3.ok 2011-04-28 13:01:59.000000000 +0200
---- src/testdir/test3.ok 2011-05-10 11:34:13.000000000 +0200
-***************
-*** 1204,1206 ****
---- 1204,1218 ----
- {
- }
-
-+
-+ void func(void)
-+ {
-+ if(x==y)
-+ if(y==z)
-+ foo=1;
-+ else { bar=1;
-+ baz=2;
-+ }
-+ printf("Foo!\n");
-+ }
-+
-*** ../vim-7.3.177/src/version.c 2011-05-05 18:31:54.000000000 +0200
---- src/version.c 2011-05-10 11:37:43.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 178,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-69. Yahoo welcomes you with your own start page
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.179 b/source/ap/vim/patches/7.3.179
deleted file mode 100644
index f175b264e..000000000
--- a/source/ap/vim/patches/7.3.179
+++ /dev/null
@@ -1,95 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.179
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.179
-Problem: C-indent doesn't handle colon in string correctly.
-Solution: Skip the string. (Lech Lorens)
-Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
-
-
-*** ../vim-7.3.178/src/misc1.c 2011-05-10 11:39:13.000000000 +0200
---- src/misc1.c 2011-05-10 11:50:14.000000000 +0200
-***************
-*** 5801,5807 ****
- continue;
- }
-
-! if (s[0] == ':')
- {
- if (s[1] == ':')
- {
---- 5801,5809 ----
- continue;
- }
-
-! if (s[0] == '"')
-! s = skip_string(s) + 1;
-! else if (s[0] == ':')
- {
- if (s[1] == ':')
- {
-*** ../vim-7.3.178/src/testdir/test3.in 2011-05-10 11:39:13.000000000 +0200
---- src/testdir/test3.in 2011-05-10 11:53:02.000000000 +0200
-***************
-*** 1360,1365 ****
---- 1360,1378 ----
- }
-
- STARTTEST
-+ :set cino&
-+ 2kdd=][
-+ ENDTEST
-+
-+ void func(void)
-+ {
-+ cout << "a"
-+ << "b"
-+ << ") :"
-+ << "c";
-+ }
-+
-+ STARTTEST
- :g/^STARTTEST/.,/^ENDTEST/d
- :1;/start of AUTO/,$wq! test.out
- ENDTEST
-*** ../vim-7.3.178/src/testdir/test3.ok 2011-05-10 11:39:13.000000000 +0200
---- src/testdir/test3.ok 2011-05-10 11:50:14.000000000 +0200
-***************
-*** 1216,1218 ****
---- 1216,1227 ----
- printf("Foo!\n");
- }
-
-+
-+ void func(void)
-+ {
-+ cout << "a"
-+ << "b"
-+ << ") :"
-+ << "c";
-+ }
-+
-*** ../vim-7.3.178/src/version.c 2011-05-10 11:39:13.000000000 +0200
---- src/version.c 2011-05-10 11:53:36.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 179,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-71. You wonder how people walk
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.180 b/source/ap/vim/patches/7.3.180
deleted file mode 100644
index 5997bfbe8..000000000
--- a/source/ap/vim/patches/7.3.180
+++ /dev/null
@@ -1,295 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.180
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.180
-Problem: When both a middle part of 'comments' matches and an end part, the
- middle part was used errornously.
-Solution: After finding the middle part match continue looking for a better
- end part match. (partly by Lech Lorens)
-Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
-
-
-*** ../vim-7.3.179/src/misc1.c 2011-05-10 11:56:26.000000000 +0200
---- src/misc1.c 2011-05-10 13:24:38.000000000 +0200
-***************
-*** 1561,1566 ****
---- 1561,1569 ----
- char_u part_buf[COM_MAX_LEN]; /* buffer for one option part */
- char_u *string; /* pointer to comment string */
- char_u *list;
-+ int middle_match_len = 0;
-+ char_u *prev_list;
-+ char_u *saved_flags;
-
- i = 0;
- while (vim_iswhite(line[i])) /* leading white space is ignored */
-***************
-*** 1569,1575 ****
- /*
- * Repeat to match several nested comment strings.
- */
-! while (line[i])
- {
- /*
- * scan through the 'comments' option for a match
---- 1572,1578 ----
- /*
- * Repeat to match several nested comment strings.
- */
-! while (line[i] != NUL)
- {
- /*
- * scan through the 'comments' option for a match
-***************
-*** 1577,1658 ****
- found_one = FALSE;
- for (list = curbuf->b_p_com; *list; )
- {
-! /*
-! * Get one option part into part_buf[]. Advance list to next one.
-! * put string at start of string.
-! */
-! if (!got_com && flags != NULL) /* remember where flags started */
-! *flags = list;
- (void)copy_option_part(&list, part_buf, COM_MAX_LEN, ",");
- string = vim_strchr(part_buf, ':');
- if (string == NULL) /* missing ':', ignore this part */
- continue;
- *string++ = NUL; /* isolate flags from string */
-
-! /*
-! * When already found a nested comment, only accept further
-! * nested comments.
-! */
- if (got_com && vim_strchr(part_buf, COM_NEST) == NULL)
- continue;
-
-! /* When 'O' flag used don't use for "O" command */
- if (backward && vim_strchr(part_buf, COM_NOBACK) != NULL)
- continue;
-
-! /*
-! * Line contents and string must match.
- * When string starts with white space, must have some white space
- * (but the amount does not need to match, there might be a mix of
-! * TABs and spaces).
-! */
- if (vim_iswhite(string[0]))
- {
- if (i == 0 || !vim_iswhite(line[i - 1]))
-! continue;
- while (vim_iswhite(string[0]))
- ++string;
- }
- for (j = 0; string[j] != NUL && string[j] == line[i + j]; ++j)
- ;
- if (string[j] != NUL)
-! continue;
-
-! /*
-! * When 'b' flag used, there must be white space or an
-! * end-of-line after the string in the line.
-! */
- if (vim_strchr(part_buf, COM_BLANK) != NULL
- && !vim_iswhite(line[i + j]) && line[i + j] != NUL)
- continue;
-
-! /*
-! * We have found a match, stop searching.
-! */
-! i += j;
-! got_com = TRUE;
- found_one = TRUE;
- break;
- }
-
-! /*
-! * No match found, stop scanning.
-! */
- if (!found_one)
- break;
-
-! /*
-! * Include any trailing white space.
-! */
- while (vim_iswhite(line[i]))
- ++i;
-
-! /*
-! * If this comment doesn't nest, stop here.
-! */
- if (vim_strchr(part_buf, COM_NEST) == NULL)
- break;
- }
- return (got_com ? i : 0);
- }
- #endif
---- 1580,1683 ----
- found_one = FALSE;
- for (list = curbuf->b_p_com; *list; )
- {
-! /* Get one option part into part_buf[]. Advance "list" to next
-! * one. Put "string" at start of string. */
-! if (!got_com && flags != NULL)
-! *flags = list; /* remember where flags started */
-! prev_list = list;
- (void)copy_option_part(&list, part_buf, COM_MAX_LEN, ",");
- string = vim_strchr(part_buf, ':');
- if (string == NULL) /* missing ':', ignore this part */
- continue;
- *string++ = NUL; /* isolate flags from string */
-
-! /* If we found a middle match previously, use that match when this
-! * is not a middle or end. */
-! if (middle_match_len != 0
-! && vim_strchr(part_buf, COM_MIDDLE) == NULL
-! && vim_strchr(part_buf, COM_END) == NULL)
-! break;
-!
-! /* When we already found a nested comment, only accept further
-! * nested comments. */
- if (got_com && vim_strchr(part_buf, COM_NEST) == NULL)
- continue;
-
-! /* When 'O' flag present and using "O" command skip this one. */
- if (backward && vim_strchr(part_buf, COM_NOBACK) != NULL)
- continue;
-
-! /* Line contents and string must match.
- * When string starts with white space, must have some white space
- * (but the amount does not need to match, there might be a mix of
-! * TABs and spaces). */
- if (vim_iswhite(string[0]))
- {
- if (i == 0 || !vim_iswhite(line[i - 1]))
-! continue; /* missing shite space */
- while (vim_iswhite(string[0]))
- ++string;
- }
- for (j = 0; string[j] != NUL && string[j] == line[i + j]; ++j)
- ;
- if (string[j] != NUL)
-! continue; /* string doesn't match */
-
-! /* When 'b' flag used, there must be white space or an
-! * end-of-line after the string in the line. */
- if (vim_strchr(part_buf, COM_BLANK) != NULL
- && !vim_iswhite(line[i + j]) && line[i + j] != NUL)
- continue;
-
-! /* We have found a match, stop searching unless this is a middle
-! * comment. The middle comment can be a substring of the end
-! * comment in which case it's better to return the length of the
-! * end comment and its flags. Thus we keep searching with middle
-! * and end matches and use an end match if it matches better. */
-! if (vim_strchr(part_buf, COM_MIDDLE) != NULL)
-! {
-! if (middle_match_len == 0)
-! {
-! middle_match_len = j;
-! saved_flags = prev_list;
-! }
-! continue;
-! }
-! if (middle_match_len != 0 && j > middle_match_len)
-! /* Use this match instead of the middle match, since it's a
-! * longer thus better match. */
-! middle_match_len = 0;
-!
-! if (middle_match_len == 0)
-! i += j;
- found_one = TRUE;
- break;
- }
-
-! if (middle_match_len != 0)
-! {
-! /* Use the previously found middle match after failing to find a
-! * match with an end. */
-! if (!got_com && flags != NULL)
-! *flags = saved_flags;
-! i += middle_match_len;
-! found_one = TRUE;
-! }
-!
-! /* No match found, stop scanning. */
- if (!found_one)
- break;
-
-! /* Include any trailing white space. */
- while (vim_iswhite(line[i]))
- ++i;
-
-! /* If this comment doesn't nest, stop here. */
-! got_com = TRUE;
- if (vim_strchr(part_buf, COM_NEST) == NULL)
- break;
- }
-+
- return (got_com ? i : 0);
- }
- #endif
-*** ../vim-7.3.179/src/testdir/test3.in 2011-05-10 11:56:26.000000000 +0200
---- src/testdir/test3.in 2011-05-10 12:05:50.000000000 +0200
-***************
-*** 1373,1378 ****
---- 1373,1390 ----
- }
-
- STARTTEST
-+ :set com=s1:/*,m:*,ex:*/
-+ ]]3jofoo();
-+ ENDTEST
-+
-+ void func(void)
-+ {
-+ /*
-+ * This is a comment.
-+ */
-+ }
-+
-+ STARTTEST
- :g/^STARTTEST/.,/^ENDTEST/d
- :1;/start of AUTO/,$wq! test.out
- ENDTEST
-*** ../vim-7.3.179/src/testdir/test3.ok 2011-05-10 11:56:26.000000000 +0200
---- src/testdir/test3.ok 2011-05-10 12:05:50.000000000 +0200
-***************
-*** 1225,1227 ****
---- 1225,1236 ----
- << "c";
- }
-
-+
-+ void func(void)
-+ {
-+ /*
-+ * This is a comment.
-+ */
-+ foo();
-+ }
-+
-*** ../vim-7.3.179/src/version.c 2011-05-10 11:56:26.000000000 +0200
---- src/version.c 2011-05-10 13:37:28.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 180,
- /**/
-
---
-"Thou shalt not follow the Null Pointer, for at its end Chaos and
-Madness lie."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.181 b/source/ap/vim/patches/7.3.181
deleted file mode 100644
index 3151d4455..000000000
--- a/source/ap/vim/patches/7.3.181
+++ /dev/null
@@ -1,171 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.181
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.181
-Problem: When repeating the insert of CTRL-V or a digraph the display may
- not be updated correctly.
-Solution: Only call edit_unputchar() after edit_putchar(). (Lech Lorens)
-Files: src/edit.c
-
-
-*** ../vim-7.3.180/src/edit.c 2010-11-10 17:11:29.000000000 +0100
---- src/edit.c 2011-05-10 14:16:41.000000000 +0200
-***************
-*** 1553,1564 ****
---- 1553,1568 ----
- ins_ctrl_v()
- {
- int c;
-+ int did_putchar = FALSE;
-
- /* may need to redraw when no more chars available now */
- ins_redraw(FALSE);
-
- if (redrawing() && !char_avail())
-+ {
- edit_putchar('^', TRUE);
-+ did_putchar = TRUE;
-+ }
- AppendToRedobuff((char_u *)CTRL_V_STR); /* CTRL-V */
-
- #ifdef FEAT_CMDL_INFO
-***************
-*** 1566,1573 ****
- #endif
-
- c = get_literal();
-! edit_unputchar(); /* when line fits in 'columns' the '^' is at the start
-! of the next line and will not be redrawn */
- #ifdef FEAT_CMDL_INFO
- clear_showcmd();
- #endif
---- 1570,1579 ----
- #endif
-
- c = get_literal();
-! if (did_putchar)
-! /* when the line fits in 'columns' the '^' is at the start of the next
-! * line and will not removed by the redraw */
-! edit_unputchar();
- #ifdef FEAT_CMDL_INFO
- clear_showcmd();
- #endif
-***************
-*** 9637,9642 ****
---- 9643,9649 ----
- {
- int c;
- int cc;
-+ int did_putchar = FALSE;
-
- pc_status = PC_STATUS_UNSET;
- if (redrawing() && !char_avail())
-***************
-*** 9645,9650 ****
---- 9652,9658 ----
- ins_redraw(FALSE);
-
- edit_putchar('?', TRUE);
-+ did_putchar = TRUE;
- #ifdef FEAT_CMDL_INFO
- add_to_showcmd_c(Ctrl_K);
- #endif
-***************
-*** 9661,9668 ****
- c = plain_vgetc();
- --no_mapping;
- --allow_keys;
-! edit_unputchar(); /* when line fits in 'columns' the '?' is at the start
-! of the next line and will not be redrawn */
-
- if (IS_SPECIAL(c) || mod_mask) /* special key */
- {
---- 9669,9678 ----
- c = plain_vgetc();
- --no_mapping;
- --allow_keys;
-! if (did_putchar)
-! /* when the line fits in 'columns' the '?' is at the start of the next
-! * line and will not be removed by the redraw */
-! edit_unputchar();
-
- if (IS_SPECIAL(c) || mod_mask) /* special key */
- {
-***************
-*** 9674,9679 ****
---- 9684,9690 ----
- }
- if (c != ESC)
- {
-+ did_putchar = FALSE;
- if (redrawing() && !char_avail())
- {
- /* may need to redraw when no more chars available now */
-***************
-*** 9681,9691 ****
-
- if (char2cells(c) == 1)
- {
-- /* first remove the '?', otherwise it's restored when typing
-- * an ESC next */
-- edit_unputchar();
- ins_redraw(FALSE);
- edit_putchar(c, TRUE);
- }
- #ifdef FEAT_CMDL_INFO
- add_to_showcmd_c(c);
---- 9692,9700 ----
-
- if (char2cells(c) == 1)
- {
- ins_redraw(FALSE);
- edit_putchar(c, TRUE);
-+ did_putchar = TRUE;
- }
- #ifdef FEAT_CMDL_INFO
- add_to_showcmd_c(c);
-***************
-*** 9696,9703 ****
- cc = plain_vgetc();
- --no_mapping;
- --allow_keys;
-! edit_unputchar(); /* when line fits in 'columns' the '?' is at the
-! start of the next line and will not be redrawn */
- if (cc != ESC)
- {
- AppendToRedobuff((char_u *)CTRL_V_STR);
---- 9705,9714 ----
- cc = plain_vgetc();
- --no_mapping;
- --allow_keys;
-! if (did_putchar)
-! /* when the line fits in 'columns' the '?' is at the start of the
-! * next line and will not be removed by a redraw */
-! edit_unputchar();
- if (cc != ESC)
- {
- AppendToRedobuff((char_u *)CTRL_V_STR);
-*** ../vim-7.3.180/src/version.c 2011-05-10 13:38:23.000000000 +0200
---- src/version.c 2011-05-10 14:20:40.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 181,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-74. Your most erotic dreams are about cybersex
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.182 b/source/ap/vim/patches/7.3.182
deleted file mode 100644
index 509b68b54..000000000
--- a/source/ap/vim/patches/7.3.182
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.182
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.182 (after 7.3.180)
-Problem: Compiler warning for uninitialized variable.
-Solution: Add dummy initializer.
-Files: src/misc1.c
-
-
-*** ../vim-7.3.181/src/misc1.c 2011-05-10 13:38:23.000000000 +0200
---- src/misc1.c 2011-05-10 14:37:39.000000000 +0200
-***************
-*** 1563,1569 ****
- char_u *list;
- int middle_match_len = 0;
- char_u *prev_list;
-! char_u *saved_flags;
-
- i = 0;
- while (vim_iswhite(line[i])) /* leading white space is ignored */
---- 1563,1569 ----
- char_u *list;
- int middle_match_len = 0;
- char_u *prev_list;
-! char_u *saved_flags = NULL;
-
- i = 0;
- while (vim_iswhite(line[i])) /* leading white space is ignored */
-*** ../vim-7.3.181/src/version.c 2011-05-10 14:22:10.000000000 +0200
---- src/version.c 2011-05-10 14:38:39.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 182,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-75. You start wondering whether you could actually upgrade your brain
- with a Pentium Pro microprocessor 80. The upgrade works just fine.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.183 b/source/ap/vim/patches/7.3.183
deleted file mode 100644
index 23178c0b5..000000000
--- a/source/ap/vim/patches/7.3.183
+++ /dev/null
@@ -1,87 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.183
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.183 (after 7.3.174)
-Problem: When Exuberant ctags binary is exuberant-ctags it's not found.
-Solution: Add configure check for exuberant-ctags.
-Files: src/configure.in, src/auto/configure
-
-
-*** ../vim-7.3.182/src/configure.in 2011-05-05 18:10:11.000000000 +0200
---- src/configure.in 2011-05-10 15:39:38.000000000 +0200
-***************
-*** 3375,3384 ****
- dnl -i+m to test for older Exuberant ctags
- AC_MSG_CHECKING(how to create tags)
- test -f tags && mv tags tags.save
-! if (eval exctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
-! TAGPRG="exctags -I INIT+ --fields=+S"
-! elif (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
- TAGPRG="ctags -I INIT+ --fields=+S"
- else
- TAGPRG="ctags"
- (eval etags /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags"
---- 3375,3386 ----
- dnl -i+m to test for older Exuberant ctags
- AC_MSG_CHECKING(how to create tags)
- test -f tags && mv tags tags.save
-! if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
- TAGPRG="ctags -I INIT+ --fields=+S"
-+ elif (eval exctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
-+ TAGPRG="exctags -I INIT+ --fields=+S"
-+ elif (eval exuberant-ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
-+ TAGPRG="exuberant-ctags -I INIT+ --fields=+S"
- else
- TAGPRG="ctags"
- (eval etags /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags"
-*** ../vim-7.3.182/src/auto/configure 2011-05-05 18:10:11.000000000 +0200
---- src/auto/configure 2011-05-10 15:39:41.000000000 +0200
-***************
-*** 12028,12037 ****
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create tags" >&5
- $as_echo_n "checking how to create tags... " >&6; }
- test -f tags && mv tags tags.save
-! if (eval exctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
-! TAGPRG="exctags -I INIT+ --fields=+S"
-! elif (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
- TAGPRG="ctags -I INIT+ --fields=+S"
- else
- TAGPRG="ctags"
- (eval etags /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="etags"
---- 12028,12039 ----
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create tags" >&5
- $as_echo_n "checking how to create tags... " >&6; }
- test -f tags && mv tags tags.save
-! if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
- TAGPRG="ctags -I INIT+ --fields=+S"
-+ elif (eval exctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
-+ TAGPRG="exctags -I INIT+ --fields=+S"
-+ elif (eval exuberant-ctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
-+ TAGPRG="exuberant-ctags -I INIT+ --fields=+S"
- else
- TAGPRG="ctags"
- (eval etags /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="etags"
-*** ../vim-7.3.182/src/version.c 2011-05-10 14:44:07.000000000 +0200
---- src/version.c 2011-05-10 15:40:48.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 183,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-78. You find yourself dialing IP numbers on the phone.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.184 b/source/ap/vim/patches/7.3.184
deleted file mode 100644
index 3b0cfc692..000000000
--- a/source/ap/vim/patches/7.3.184
+++ /dev/null
@@ -1,86 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.184
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.184
-Problem: Static code analysis errors in riscOS.
-Solution: Make buffer size bigger. (Dominique Pelle)
-Files: src/gui_riscos.c
-
-
-*** ../vim-7.3.183/src/gui_riscos.c 2010-08-15 21:57:28.000000000 +0200
---- src/gui_riscos.c 2011-05-10 15:49:56.000000000 +0200
-***************
-*** 1756,1762 ****
-
- if (button & 0x444)
- {
-! int front_block[10];
- /* Dragging with Select - bring window to front first */
- front_block[0] = gui.window_handle;
- swi(Wimp_GetWindowState, 0, front_block);
---- 1756,1762 ----
-
- if (button & 0x444)
- {
-! int front_block[64];
- /* Dragging with Select - bring window to front first */
- front_block[0] = gui.window_handle;
- swi(Wimp_GetWindowState, 0, front_block);
-***************
-*** 1874,1880 ****
-
- if (ro_dragging == DRAG_RESIZE_WINDOW)
- {
-! /* Resizeing the main window. */
- block[2] = y;
- block[3] = x;
- ro_open_main(block);
---- 1874,1880 ----
-
- if (ro_dragging == DRAG_RESIZE_WINDOW)
- {
-! /* Resizing the main window. */
- block[2] = y;
- block[3] = x;
- ro_open_main(block);
-***************
-*** 2651,2657 ****
- long_u length;
-
- block[0] = 48; /* Size of block. */
-! block[3] = 0; /* Orinial message. */
- block[4] = 0x10; /* Data request. */
- block[5] = gui.window_handle;
- block[6] = RO_LOAD_CLIPBOARD; /* Internal handle. */
---- 2651,2657 ----
- long_u length;
-
- block[0] = 48; /* Size of block. */
-! block[3] = 0; /* Original message. */
- block[4] = 0x10; /* Data request. */
- block[5] = gui.window_handle;
- block[6] = RO_LOAD_CLIPBOARD; /* Internal handle. */
-*** ../vim-7.3.183/src/version.c 2011-05-10 15:41:59.000000000 +0200
---- src/version.c 2011-05-10 15:51:29.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 184,
- /**/
-
---
-If bankers can count, how come they have eight windows and
-only four tellers?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.185 b/source/ap/vim/patches/7.3.185
deleted file mode 100644
index 7b3ed1899..000000000
--- a/source/ap/vim/patches/7.3.185
+++ /dev/null
@@ -1,77 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.185
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.185
-Problem: ":windo g/pattern/q" closes windows and reports "N more lines".
- (Tim Chase)
-Solution: Remember what buffer ":global" started in. (Jean-Rene David)
-Files: src/ex_cmds.c
-
-
-*** ../vim-7.3.184/src/ex_cmds.c 2011-04-11 21:35:03.000000000 +0200
---- src/ex_cmds.c 2011-05-10 15:58:48.000000000 +0200
-***************
-*** 5365,5372 ****
- global_exe(cmd)
- char_u *cmd;
- {
-! linenr_T old_lcount; /* b_ml.ml_line_count before the command */
-! linenr_T lnum; /* line number according to old situation */
-
- /*
- * Set current position only once for a global command.
---- 5365,5373 ----
- global_exe(cmd)
- char_u *cmd;
- {
-! linenr_T old_lcount; /* b_ml.ml_line_count before the command */
-! buf_T *old_buf = curbuf; /* remember what buffer we started in */
-! linenr_T lnum; /* line number according to old situation */
-
- /*
- * Set current position only once for a global command.
-***************
-*** 5410,5417 ****
- msg_didout = FALSE;
-
- /* If substitutes done, report number of substitutes, otherwise report
-! * number of extra or deleted lines. */
-! if (!do_sub_msg(FALSE))
- msgmore(curbuf->b_ml.ml_line_count - old_lcount);
- }
-
---- 5411,5420 ----
- msg_didout = FALSE;
-
- /* If substitutes done, report number of substitutes, otherwise report
-! * number of extra or deleted lines.
-! * Don't report extra or deleted lines in the edge case where the buffer
-! * we are in after execution is different from the buffer we started in. */
-! if (!do_sub_msg(FALSE) && curbuf == old_buf)
- msgmore(curbuf->b_ml.ml_line_count - old_lcount);
- }
-
-*** ../vim-7.3.184/src/version.c 2011-05-10 15:52:10.000000000 +0200
---- src/version.c 2011-05-10 15:57:40.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 185,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-79. All of your most erotic dreams have a scrollbar at the right side.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.186 b/source/ap/vim/patches/7.3.186
deleted file mode 100644
index d834c370d..000000000
--- a/source/ap/vim/patches/7.3.186
+++ /dev/null
@@ -1,59 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.186
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.186
-Problem: When 'clipboard' contains "unnamed" or "unnamedplus" the value of
- v:register is wrong for operators without a specific register.
-Solution: Adjust the register according to 'clipboard'. (Ingo Karkat)
-Files: src/normal.c
-
-
-*** ../vim-7.3.185/src/normal.c 2010-12-17 18:52:56.000000000 +0100
---- src/normal.c 2011-05-10 16:07:49.000000000 +0200
-***************
-*** 1202,1208 ****
- {
- clearop(oap);
- #ifdef FEAT_EVAL
-! set_reg_var('"');
- #endif
- }
-
---- 1202,1214 ----
- {
- clearop(oap);
- #ifdef FEAT_EVAL
-! {
-! int regname = 0;
-! /* Adjust the register according to 'clipboard', so that when
-! * "unnamed" is present it becomes '*' or '+' instead of '"'. */
-! adjust_clip_reg(&regname);
-! set_reg_var(regname);
-! }
- #endif
- }
-
-*** ../vim-7.3.185/src/version.c 2011-05-10 16:00:43.000000000 +0200
---- src/version.c 2011-05-10 16:10:10.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 186,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-80. At parties, you introduce your spouse as your "service provider."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.187 b/source/ap/vim/patches/7.3.187
deleted file mode 100644
index 7bf82ce4d..000000000
--- a/source/ap/vim/patches/7.3.187
+++ /dev/null
@@ -1,6621 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.187
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.187
-Problem: The RISC OS port has obvious errors and is not being maintained.
-Solution: Remove the RISC OS files and code.
-Files: src/ascii.h, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c,
- src/ex_docmd.c, src/fileio.c, src/globals.h, src/gui.c, src/gui.h,
- src/main.c, src/memfile.c, src/memline.c, src/misc1.c,
- src/proto.h, src/quickfix.c, src/search.c, src/structs.h,
- src/term.c, src/termlib.c, src/version.c, src/vim.h,
- src/gui_riscos.h, src/os_riscos.h, src/gui_riscos.c,
- src/os_riscos.c, runtime/doc/os_risc.txt
-
-
-*** ../vim-7.3.186/src/ascii.h 2010-08-15 21:57:25.000000000 +0200
---- src/ascii.h 2011-05-10 16:22:08.000000000 +0200
-***************
-*** 183,193 ****
- # define PATHSEP psepc
- # define PATHSEPSTR pseps
- #else
-! # ifdef RISCOS
-! # define PATHSEP '.'
-! # define PATHSEPSTR "."
-! # else
-! # define PATHSEP '/'
-! # define PATHSEPSTR "/"
-! # endif
- #endif
---- 183,188 ----
- # define PATHSEP psepc
- # define PATHSEPSTR pseps
- #else
-! # define PATHSEP '/'
-! # define PATHSEPSTR "/"
- #endif
-*** ../vim-7.3.186/src/eval.c 2011-04-21 14:27:21.000000000 +0200
---- src/eval.c 2011-05-10 16:22:21.000000000 +0200
-***************
-*** 11818,11826 ****
- #ifdef __QNX__
- "qnx",
- #endif
-- #ifdef RISCOS
-- "riscos",
-- #endif
- #ifdef UNIX
- "unix",
- #endif
---- 11818,11823 ----
-*** ../vim-7.3.186/src/ex_cmds.c 2011-05-10 16:00:43.000000000 +0200
---- src/ex_cmds.c 2011-05-10 16:23:22.000000000 +0200
-***************
-*** 899,907 ****
- * Handle the ":!cmd" command. Also for ":r !cmd" and ":w !cmd"
- * Bangs in the argument are replaced with the previously entered command.
- * Remember the argument.
-- *
-- * RISCOS: Bangs only replaced when followed by a space, since many
-- * pathnames contain one.
- */
- void
- do_bang(addr_count, eap, forceit, do_in, do_out)
---- 899,904 ----
-***************
-*** 980,990 ****
- trailarg = NULL;
- while (*p)
- {
-! if (*p == '!'
-! #ifdef RISCOS
-! && (p[1] == ' ' || p[1] == NUL)
-! #endif
-! )
- {
- if (p > newcmd && p[-1] == '\\')
- STRMOVE(p - 1, p);
---- 977,983 ----
- trailarg = NULL;
- while (*p)
- {
-! if (*p == '!')
- {
- if (p > newcmd && p[-1] == '\\')
- STRMOVE(p - 1, p);
-***************
-*** 1578,1591 ****
- if (p != NULL)
- *p = NUL;
- }
-- # ifdef RISCOS
-- STRCAT(buf, " { < "); /* Use RISC OS notation for input. */
-- STRCAT(buf, itmp);
-- STRCAT(buf, " } ");
-- # else
- STRCAT(buf, " <"); /* " < " causes problems on Amiga */
- STRCAT(buf, itmp);
-- # endif
- if (*p_shq == NUL)
- {
- p = vim_strchr(cmd, '|');
---- 1571,1578 ----
-***************
-*** 1634,1649 ****
- else
- vim_snprintf((char *)end, (size_t)(buflen - (end - buf)),
- #ifdef FEAT_QUICKFIX
-- # ifndef RISCOS
-- opt != p_sp ? " %s%s" :
-- # endif
- " %s %s",
- #else
-- # ifndef RISCOS
- " %s%s", /* " > %s" causes problems on Amiga */
-- # else
-- " %s %s", /* But is needed for 'shellpipe' and RISC OS */
-- # endif
- #endif
- (char *)opt, (char *)fname);
- }
---- 1621,1629 ----
-***************
-*** 1844,1854 ****
- #ifdef VMS
- (char_u *)"-tmp",
- #else
-- # ifdef RISCOS
-- (char_u *)"/tmp",
-- # else
- (char_u *)".tmp",
-- # endif
- #endif
- FALSE);
- if (tempname == NULL) /* out of memory */
---- 1824,1830 ----
-*** ../vim-7.3.186/src/ex_cmds2.c 2011-04-11 21:35:03.000000000 +0200
---- src/ex_cmds2.c 2011-05-10 16:23:47.000000000 +0200
-***************
-*** 500,517 ****
- /* Expand the file name in the same way as do_source(). This means
- * doing it twice, so that $DIR/file gets expanded when $DIR is
- * "~/dir". */
-- #ifdef RISCOS
-- q = mch_munge_fname(p);
-- #else
- q = expand_env_save(p);
-- #endif
- if (q == NULL)
- return FAIL;
-- #ifdef RISCOS
-- p = mch_munge_fname(q);
-- #else
- p = expand_env_save(q);
-- #endif
- vim_free(q);
- if (p == NULL)
- return FAIL;
---- 500,509 ----
-***************
-*** 2940,2950 ****
- proftime_T wait_start;
- #endif
-
-- #ifdef RISCOS
-- p = mch_munge_fname(fname);
-- #else
- p = expand_env_save(fname);
-- #endif
- if (p == NULL)
- return retval;
- fname_exp = fix_fname(p);
---- 2932,2938 ----
-*** ../vim-7.3.186/src/ex_docmd.c 2011-05-05 14:26:37.000000000 +0200
---- src/ex_docmd.c 2011-05-10 16:24:18.000000000 +0200
-***************
-*** 9702,9715 ****
- valid = 0; /* Must have ":p:h" to be valid */
- }
- else
-- #ifdef RISCOS
-- /* Always use the full path for RISC OS if possible. */
-- result = curbuf->b_ffname;
-- if (result == NULL)
-- result = curbuf->b_fname;
-- #else
- result = curbuf->b_fname;
-- #endif
- break;
-
- case SPEC_HASH: /* '#' or "#99": alternate file */
---- 9702,9708 ----
-***************
-*** 9854,9864 ****
- if (src[*usedlen] == '<') /* remove the file name extension */
- {
- ++*usedlen;
-- #ifdef RISCOS
-- if ((s = vim_strrchr(result, '/')) != NULL && s >= gettail(result))
-- #else
- if ((s = vim_strrchr(result, '.')) != NULL && s >= gettail(result))
-- #endif
- resultlen = (int)(s - result);
- }
- #ifdef FEAT_MODIFY_FNAME
---- 9847,9853 ----
-***************
-*** 10875,10882 ****
- else if (vim_ispathsep(*p))
- {
- *s++ = '=';
-! #if defined(BACKSLASH_IN_FILENAME) || defined(AMIGA) || defined(RISCOS) \
-! || defined(VMS)
- if (*p == ':')
- *s++ = '-';
- else
---- 10864,10870 ----
- else if (vim_ispathsep(*p))
- {
- *s++ = '=';
-! #if defined(BACKSLASH_IN_FILENAME) || defined(AMIGA) || defined(VMS)
- if (*p == ':')
- *s++ = '-';
- else
-*** ../vim-7.3.186/src/fileio.c 2011-05-05 16:41:19.000000000 +0200
---- src/fileio.c 2011-05-10 16:26:06.000000000 +0200
-***************
-*** 504,521 ****
-
- if (newfile && !read_stdin && !read_buffer)
- {
-! /* Remember time of file.
-! * For RISCOS, also remember the filetype.
-! */
- if (mch_stat((char *)fname, &st) >= 0)
- {
- buf_store_time(curbuf, &st, fname);
- curbuf->b_mtime_read = curbuf->b_mtime;
--
-- #if defined(RISCOS) && defined(FEAT_OSFILETYPE)
-- /* Read the filetype into the buffer local filetype option. */
-- mch_read_filetype(fname);
-- #endif
- #ifdef UNIX
- /*
- * Use the protection bits of the original file for the swap file.
---- 504,514 ----
-
- if (newfile && !read_stdin && !read_buffer)
- {
-! /* Remember time of file. */
- if (mch_stat((char *)fname, &st) >= 0)
- {
- buf_store_time(curbuf, &st, fname);
- curbuf->b_mtime_read = curbuf->b_mtime;
- #ifdef UNIX
- /*
- * Use the protection bits of the original file for the swap file.
-***************
-*** 557,563 ****
-
- /*
- * for UNIX: check readonly with perm and mch_access()
-- * for RISCOS: same as Unix, otherwise file gets re-datestamped!
- * for MSDOS and Amiga: check readonly by trying to open the file for writing
- */
- file_readonly = FALSE;
---- 550,555 ----
-***************
-*** 3804,3816 ****
-
- /* make sure we have a valid backup extension to use */
- if (*p_bex == NUL)
-- {
-- #ifdef RISCOS
-- backup_ext = (char_u *)"/bak";
-- #else
- backup_ext = (char_u *)".bak";
-- #endif
-- }
- else
- backup_ext = p_bex;
-
---- 3796,3802 ----
-***************
-*** 4724,4734 ****
- #endif
- if (perm >= 0) /* set perm. of new file same as old file */
- (void)mch_setperm(wfname, perm);
-- #ifdef RISCOS
-- if (!append && !filtering)
-- /* Set the filetype after writing the file. */
-- mch_set_filetype(wfname, buf->b_p_oft);
-- #endif
- #ifdef HAVE_ACL
- /* Probably need to set the ACL before changing the user (can't set the
- * ACL on a file the user doesn't own). */
---- 4710,4715 ----
-***************
-*** 6262,6280 ****
- */
- for (ptr = retval + fnamelen; ptr > retval; mb_ptr_back(retval, ptr))
- {
-- #ifndef RISCOS
- if (*ext == '.'
-! # ifdef USE_LONG_FNAME
- && (!USE_LONG_FNAME || shortname)
-! # else
-! # ifndef SHORT_FNAME
- && shortname
-- # endif
- # endif
- )
- if (*ptr == '.') /* replace '.' by '_' */
- *ptr = '_';
-- #endif
- if (vim_ispathsep(*ptr))
- {
- ++ptr;
---- 6243,6259 ----
- */
- for (ptr = retval + fnamelen; ptr > retval; mb_ptr_back(retval, ptr))
- {
- if (*ext == '.'
-! #ifdef USE_LONG_FNAME
- && (!USE_LONG_FNAME || shortname)
-! #else
-! # ifndef SHORT_FNAME
- && shortname
- # endif
-+ #endif
- )
- if (*ptr == '.') /* replace '.' by '_' */
- *ptr = '_';
- if (vim_ispathsep(*ptr))
- {
- ++ptr;
-***************
-*** 6309,6331 ****
- if (fname == NULL || *fname == NUL
- || vim_ispathsep(fname[STRLEN(fname) - 1]))
- {
-- #ifdef RISCOS
-- if (*ext == '/')
-- #else
- if (*ext == '.')
-- #endif
- *s++ = '_';
- }
- /*
- * If the extension starts with '.', truncate the base name at 8
- * characters
- */
-- #ifdef RISCOS
-- /* We normally use '/', but swap files are '_' */
-- else if (*ext == '/' || *ext == '_')
-- #else
- else if (*ext == '.')
-- #endif
- {
- if ((size_t)(s - ptr) > (size_t)8)
- {
---- 6288,6301 ----
-***************
-*** 6337,6349 ****
- * If the extension doesn't start with '.', and the file name
- * doesn't have an extension yet, append a '.'
- */
-- #ifdef RISCOS
-- else if ((e = vim_strchr(ptr, '/')) == NULL)
-- *s++ = '/';
-- #else
- else if ((e = vim_strchr(ptr, '.')) == NULL)
- *s++ = '.';
-- #endif
- /*
- * If the extension doesn't start with '.', and there already is an
- * extension, it may need to be truncated
---- 6307,6314 ----
-***************
-*** 6371,6393 ****
- /*
- * Prepend the dot.
- */
-! if (prepend_dot && !shortname && *(e = gettail(retval)) !=
-! #ifdef RISCOS
-! '/'
-! #else
-! '.'
-! #endif
- #ifdef USE_LONG_FNAME
- && USE_LONG_FNAME
- #endif
- )
- {
- STRMOVE(e + 1, e);
-- #ifdef RISCOS
-- *e = '/';
-- #else
- *e = '.';
-- #endif
- }
- #endif
-
---- 6336,6349 ----
- /*
- * Prepend the dot.
- */
-! if (prepend_dot && !shortname && *(e = gettail(retval)) != '.'
- #ifdef USE_LONG_FNAME
- && USE_LONG_FNAME
- #endif
- )
- {
- STRMOVE(e + 1, e);
- *e = '.';
- }
- #endif
-
-***************
-*** 10205,10223 ****
- ++p;
- break;
- case '.':
-- #ifdef RISCOS
-- if (allow_dirs != NULL)
-- *allow_dirs = TRUE;
-- /* FALLTHROUGH */
-- #endif
- case '~':
- reg_pat[i++] = '\\';
- reg_pat[i++] = *p;
- break;
- case '?':
-- #ifdef RISCOS
-- case '#':
-- #endif
- reg_pat[i++] = '.';
- break;
- case '\\':
---- 10161,10171 ----
-*** ../vim-7.3.186/src/globals.h 2011-05-05 14:26:37.000000000 +0200
---- src/globals.h 2011-05-10 16:26:13.000000000 +0200
-***************
-*** 1513,1519 ****
- EXTERN char_u e_sandbox[] INIT(= N_("E48: Not allowed in sandbox"));
- #endif
- EXTERN char_u e_secure[] INIT(= N_("E523: Not allowed here"));
-! #if defined(AMIGA) || defined(MACOS) || defined(MSWIN) || defined(RISCOS) \
- || defined(UNIX) || defined(VMS) || defined(OS2)
- EXTERN char_u e_screenmode[] INIT(= N_("E359: Screen mode setting not supported"));
- #endif
---- 1513,1519 ----
- EXTERN char_u e_sandbox[] INIT(= N_("E48: Not allowed in sandbox"));
- #endif
- EXTERN char_u e_secure[] INIT(= N_("E523: Not allowed here"));
-! #if defined(AMIGA) || defined(MACOS) || defined(MSWIN) \
- || defined(UNIX) || defined(VMS) || defined(OS2)
- EXTERN char_u e_screenmode[] INIT(= N_("E359: Screen mode setting not supported"));
- #endif
-*** ../vim-7.3.186/src/gui.c 2011-01-17 20:08:03.000000000 +0100
---- src/gui.c 2011-05-10 16:26:53.000000000 +0200
-***************
-*** 2156,2162 ****
-
- if (highlight_mask & (HL_INVERSE | HL_STANDOUT))
- {
-! #if defined(AMIGA) || defined(RISCOS)
- gui_mch_set_colors(bg_color, fg_color);
- #else
- gui_mch_set_fg_color(bg_color);
---- 2156,2162 ----
-
- if (highlight_mask & (HL_INVERSE | HL_STANDOUT))
- {
-! #if defined(AMIGA)
- gui_mch_set_colors(bg_color, fg_color);
- #else
- gui_mch_set_fg_color(bg_color);
-***************
-*** 2165,2171 ****
- }
- else
- {
-! #if defined(AMIGA) || defined(RISCOS)
- gui_mch_set_colors(fg_color, bg_color);
- #else
- gui_mch_set_fg_color(fg_color);
---- 2165,2171 ----
- }
- else
- {
-! #if defined(AMIGA)
- gui_mch_set_colors(fg_color, bg_color);
- #else
- gui_mch_set_fg_color(fg_color);
-***************
-*** 2193,2199 ****
- if (back != 0 && ((draw_flags & DRAW_BOLD) || (highlight_mask & HL_ITALIC)))
- return FAIL;
-
-! #if defined(RISCOS) || defined(FEAT_GUI_GTK)
- /* If there's no italic font, then fake it.
- * For GTK2, we don't need a different font for italic style. */
- if (hl_mask_todo & HL_ITALIC)
---- 2193,2199 ----
- if (back != 0 && ((draw_flags & DRAW_BOLD) || (highlight_mask & HL_ITALIC)))
- return FAIL;
-
-! #if defined(FEAT_GUI_GTK)
- /* If there's no italic font, then fake it.
- * For GTK2, we don't need a different font for italic style. */
- if (hl_mask_todo & HL_ITALIC)
-***************
-*** 2985,3010 ****
- did_clip = TRUE;
- }
- /* Allow the left button to start the selection */
-- else if (button ==
-- # ifdef RISCOS
-- /* Only start a drag on a drag event. Otherwise
-- * we don't get a release event. */
-- MOUSE_DRAG
-- # else
-- MOUSE_LEFT
-- # endif
-- )
-- {
-- clip_start_selection(X_2_COL(x), Y_2_ROW(y), repeated_click);
-- did_clip = TRUE;
-- }
-- # ifdef RISCOS
- else if (button == MOUSE_LEFT)
- {
-! clip_clear_selection();
- did_clip = TRUE;
- }
-- # endif
-
- /* Always allow pasting */
- if (button != MOUSE_MIDDLE)
---- 2985,2995 ----
- did_clip = TRUE;
- }
- /* Allow the left button to start the selection */
- else if (button == MOUSE_LEFT)
- {
-! clip_start_selection(X_2_COL(x), Y_2_ROW(y), repeated_click);
- did_clip = TRUE;
- }
-
- /* Always allow pasting */
- if (button != MOUSE_MIDDLE)
-*** ../vim-7.3.186/src/gui.h 2010-08-15 21:57:25.000000000 +0200
---- src/gui.h 2011-05-10 16:27:19.000000000 +0200
-***************
-*** 52,61 ****
- # include <SegLoad.h>*/
- #endif
-
-- #ifdef RISCOS
-- # include "gui_riscos.h"
-- #endif
--
- #ifdef FEAT_GUI_PHOTON
- # include <Ph.h>
- # include <Pt.h>
---- 52,57 ----
-***************
-*** 151,157 ****
- #define DRAW_BOLD 0x02 /* draw bold text */
- #define DRAW_UNDERL 0x04 /* draw underline text */
- #define DRAW_UNDERC 0x08 /* draw undercurl text */
-! #if defined(RISCOS) || defined(FEAT_GUI_GTK)
- # define DRAW_ITALIC 0x10 /* draw italic text */
- #endif
- #define DRAW_CURSOR 0x20 /* drawing block cursor (win32) */
---- 147,153 ----
- #define DRAW_BOLD 0x02 /* draw bold text */
- #define DRAW_UNDERL 0x04 /* draw underline text */
- #define DRAW_UNDERC 0x08 /* draw undercurl text */
-! #if defined(FEAT_GUI_GTK)
- # define DRAW_ITALIC 0x10 /* draw italic text */
- #endif
- #define DRAW_CURSOR 0x20 /* drawing block cursor (win32) */
-***************
-*** 219,227 ****
- #ifdef FEAT_GUI_MAC
- ControlHandle id; /* A handle to the scrollbar */
- #endif
-- #ifdef RISCOS
-- int id; /* Window handle of scrollbar window */
-- #endif
- #ifdef FEAT_GUI_PHOTON
- PtWidget_t *id;
- #endif
---- 215,220 ----
-***************
-*** 450,463 ****
- int visibility; /* Is window partially/fully obscured? */
- #endif
-
-- #ifdef RISCOS
-- int window_handle;
-- char_u *window_title;
-- int window_title_size;
-- int fg_colour; /* in 0xBBGGRR format */
-- int bg_colour;
-- #endif
--
- #ifdef FEAT_GUI_PHOTON
- PtWidget_t *vimWindow; /* PtWindow */
- PtWidget_t *vimTextArea; /* PtRaw */
---- 443,448 ----
-*** ../vim-7.3.186/src/main.c 2011-04-11 21:35:03.000000000 +0200
---- src/main.c 2011-05-10 16:27:33.000000000 +0200
-***************
-*** 3276,3286 ****
- main_msg(_("+reverse\t\tDon't use reverse video (also: +rv)"));
- main_msg(_("-xrm <resource>\tSet the specified resource"));
- #endif /* FEAT_GUI_X11 */
-- #if defined(FEAT_GUI) && defined(RISCOS)
-- mch_msg(_("\nArguments recognised by gvim (RISC OS version):\n"));
-- main_msg(_("--columns <number>\tInitial width of window in columns"));
-- main_msg(_("--rows <number>\tInitial height of window in rows"));
-- #endif
- #ifdef FEAT_GUI_GTK
- mch_msg(_("\nArguments recognised by gvim (GTK+ version):\n"));
- main_msg(_("-font <font>\t\tUse <font> for normal text (also: -fn)"));
---- 3276,3281 ----
-*** ../vim-7.3.186/src/memfile.c 2011-03-22 18:10:34.000000000 +0100
---- src/memfile.c 2011-05-10 16:27:38.000000000 +0200
-***************
-*** 1307,1313 ****
- * fname cannot be NameBuff, because it must have been allocated.
- */
- mf_set_ffname(mfp);
-! #if defined(MSDOS) || defined(MSWIN) || defined(RISCOS)
- /*
- * A ":!cd e:xxx" may change the directory without us knowning, use the
- * full pathname always. Careful: This frees fname!
---- 1307,1313 ----
- * fname cannot be NameBuff, because it must have been allocated.
- */
- mf_set_ffname(mfp);
-! #if defined(MSDOS) || defined(MSWIN)
- /*
- * A ":!cd e:xxx" may change the directory without us knowning, use the
- * full pathname always. Careful: This frees fname!
-*** ../vim-7.3.186/src/memline.c 2011-02-15 11:56:56.000000000 +0100
---- src/memline.c 2011-05-10 16:28:40.000000000 +0200
-***************
-*** 748,754 ****
- continue;
- if (mf_open_file(mfp, fname) == OK) /* consumes fname! */
- {
-! #if defined(MSDOS) || defined(MSWIN) || defined(RISCOS)
- /*
- * set full pathname for swap file now, because a ":!cd dir" may
- * change directory without us knowing it.
---- 748,754 ----
- continue;
- if (mf_open_file(mfp, fname) == OK) /* consumes fname! */
- {
-! #if defined(MSDOS) || defined(MSWIN)
- /*
- * set full pathname for swap file now, because a ":!cd dir" may
- * change directory without us knowing it.
-***************
-*** 933,939 ****
- b0p->b0_fname[0] = NUL;
- else
- {
-! #if defined(MSDOS) || defined(MSWIN) || defined(AMIGA) || defined(RISCOS)
- /* Systems that cannot translate "~user" back into a path: copy the
- * file name unmodified. Do use slashes instead of backslashes for
- * portability. */
---- 933,939 ----
- b0p->b0_fname[0] = NUL;
- else
- {
-! #if defined(MSDOS) || defined(MSWIN) || defined(AMIGA)
- /* Systems that cannot translate "~user" back into a path: copy the
- * file name unmodified. Do use slashes instead of backslashes for
- * portability. */
-***************
-*** 1103,1109 ****
- fname = (char_u *)"";
- len = (int)STRLEN(fname);
- if (len >= 4 &&
-! #if defined(VMS) || defined(RISCOS)
- STRNICMP(fname + len - 4, "_s" , 2)
- #else
- STRNICMP(fname + len - 4, ".s" , 2)
---- 1103,1109 ----
- fname = (char_u *)"";
- len = (int)STRLEN(fname);
- if (len >= 4 &&
-! #if defined(VMS)
- STRNICMP(fname + len - 4, "_s" , 2)
- #else
- STRNICMP(fname + len - 4, ".s" , 2)
-***************
-*** 1773,1783 ****
- #ifdef VMS
- names[0] = vim_strsave((char_u *)"*_sw%");
- #else
-- # ifdef RISCOS
-- names[0] = vim_strsave((char_u *)"*_sw#");
-- # else
- names[0] = vim_strsave((char_u *)"*.sw?");
-- # endif
- #endif
- #if defined(UNIX) || defined(WIN3264)
- /* For Unix names starting with a dot are special. MS-Windows
---- 1773,1779 ----
-***************
-*** 1804,1814 ****
- #ifdef VMS
- names[0] = concat_fnames(dir_name, (char_u *)"*_sw%", TRUE);
- #else
-- # ifdef RISCOS
-- names[0] = concat_fnames(dir_name, (char_u *)"*_sw#", TRUE);
-- # else
- names[0] = concat_fnames(dir_name, (char_u *)"*.sw?", TRUE);
-- # endif
- #endif
- #if defined(UNIX) || defined(WIN3264)
- /* For Unix names starting with a dot are special. MS-Windows
---- 1800,1806 ----
-***************
-*** 1877,1883 ****
- char_u *swapname;
-
- swapname = modname(fname_res,
-! #if defined(VMS) || defined(RISCOS)
- (char_u *)"_swp", FALSE
- #else
- (char_u *)".swp", TRUE
---- 1869,1875 ----
- char_u *swapname;
-
- swapname = modname(fname_res,
-! #if defined(VMS)
- (char_u *)"_swp", FALSE
- #else
- (char_u *)".swp", TRUE
-***************
-*** 2176,2186 ****
- #ifdef VMS
- names[num_names] = concat_fnames(path, (char_u *)"_sw%", FALSE);
- #else
-- # ifdef RISCOS
-- names[num_names] = concat_fnames(path, (char_u *)"_sw#", FALSE);
-- # else
- names[num_names] = concat_fnames(path, (char_u *)".sw?", FALSE);
-- # endif
- #endif
- if (names[num_names] == NULL)
- goto end;
---- 2168,2174 ----
-***************
-*** 2207,2217 ****
- #ifdef VMS
- names[num_names] = modname(path, (char_u *)"_sw%", FALSE);
- #else
-- # ifdef RISCOS
-- names[num_names] = modname(path, (char_u *)"_sw#", FALSE);
-- # else
- names[num_names] = modname(path, (char_u *)".sw?", FALSE);
-- # endif
- #endif
- if (names[num_names] == NULL)
- goto end;
---- 2195,2201 ----
-***************
-*** 3205,3211 ****
- mf_free(mfp, hp); /* free the data block */
- buf->b_ml.ml_locked = NULL;
-
-! for (stack_idx = buf->b_ml.ml_stack_top - 1; stack_idx >= 0; --stack_idx)
- {
- buf->b_ml.ml_stack_top = 0; /* stack is invalid when failing */
- ip = &(buf->b_ml.ml_stack[stack_idx]);
---- 3189,3196 ----
- mf_free(mfp, hp); /* free the data block */
- buf->b_ml.ml_locked = NULL;
-
-! for (stack_idx = buf->b_ml.ml_stack_top - 1; stack_idx >= 0;
-! --stack_idx)
- {
- buf->b_ml.ml_stack_top = 0; /* stack is invalid when failing */
- ip = &(buf->b_ml.ml_stack[stack_idx]);
-***************
-*** 3956,3969 ****
- #else
- (buf->b_p_sn || buf->b_shortname),
- #endif
-- #ifdef RISCOS
-- /* Avoid problems if fname has special chars, eg <Wimp$Scrap> */
-- ffname,
-- #else
- fname_res,
-- #endif
- (char_u *)
-! #if defined(VMS) || defined(RISCOS)
- "_swp",
- #else
- ".swp",
---- 3941,3949 ----
- #else
- (buf->b_p_sn || buf->b_shortname),
- #endif
- fname_res,
- (char_u *)
-! #if defined(VMS)
- "_swp",
- #else
- ".swp",
-***************
-*** 4427,4440 ****
- }
- close(fd);
- }
-- #ifdef RISCOS
-- else
-- /* Can't open swap file, though it does exist.
-- * Assume that the user is editing two files with
-- * the same name in different directories. No error.
-- */
-- differ = TRUE;
-- #endif
-
- /* give the ATTENTION message when there is an old swap file
- * for the current file, and the buffer was not recovered. */
---- 4407,4412 ----
-*** ../vim-7.3.186/src/misc1.c 2011-05-10 14:44:07.000000000 +0200
---- src/misc1.c 2011-05-10 16:29:29.000000000 +0200
-***************
-*** 4589,4613 ****
- vim_ispathsep(c)
- int c;
- {
-! #ifdef RISCOS
-! return (c == '.' || c == ':');
-! #else
-! # ifdef UNIX
- return (c == '/'); /* UNIX has ':' inside file names */
-! # else
-! # ifdef BACKSLASH_IN_FILENAME
- return (c == ':' || c == '/' || c == '\\');
-! # else
-! # ifdef VMS
- /* server"user passwd"::device:[full.path.name]fname.extension;version" */
- return (c == ':' || c == '[' || c == ']' || c == '/'
- || c == '<' || c == '>' || c == '"' );
-! # else /* Amiga */
- return (c == ':' || c == '/');
-! # endif /* VMS */
-! # endif
- # endif
-! #endif /* RISC OS */
- }
-
- #if defined(FEAT_SEARCHPATH) || defined(PROTO)
---- 4589,4609 ----
- vim_ispathsep(c)
- int c;
- {
-! #ifdef UNIX
- return (c == '/'); /* UNIX has ':' inside file names */
-! #else
-! # ifdef BACKSLASH_IN_FILENAME
- return (c == ':' || c == '/' || c == '\\');
-! # else
-! # ifdef VMS
- /* server"user passwd"::device:[full.path.name]fname.extension;version" */
- return (c == ':' || c == '[' || c == ']' || c == '/'
- || c == '<' || c == '>' || c == '"' );
-! # else
- return (c == ':' || c == '/');
-! # endif /* VMS */
- # endif
-! #endif
- }
-
- #if defined(FEAT_SEARCHPATH) || defined(PROTO)
-*** ../vim-7.3.186/src/proto.h 2010-08-15 21:57:29.000000000 +0200
---- src/proto.h 2011-05-10 16:29:45.000000000 +0200
-***************
-*** 62,70 ****
- # ifdef __BEOS__
- # include "os_beos.pro"
- # endif
-- # ifdef RISCOS
-- # include "os_riscos.pro"
-- # endif
- # ifdef __QNX__
- # include "os_qnx.pro"
- # endif
---- 62,67 ----
-***************
-*** 245,253 ****
- # ifdef FEAT_GUI_X11
- # include "gui_x11.pro"
- # endif
-- # ifdef RISCOS
-- # include "gui_riscos.pro"
-- # endif
- # ifdef FEAT_GUI_PHOTON
- # include "gui_photon.pro"
- # endif
---- 242,247 ----
-*** ../vim-7.3.186/src/quickfix.c 2011-05-05 17:14:07.000000000 +0200
---- src/quickfix.c 2011-05-10 16:30:18.000000000 +0200
-***************
-*** 1182,1202 ****
- if (fname == NULL || *fname == NUL) /* no file name */
- return 0;
- {
-- #ifdef RISCOS
-- /* Name is reported as `main.c', but file is `c.main' */
-- return ro_buflist_add(fname);
-- #else
- char_u *ptr;
- int fnum;
-
-! # ifdef VMS
- vms_remove_version(fname);
-! # endif
-! # ifdef BACKSLASH_IN_FILENAME
- if (directory != NULL)
- slash_adjust(directory);
- slash_adjust(fname);
-! # endif
- if (directory != NULL && !vim_isAbsName(fname)
- && (ptr = concat_fnames(directory, fname, TRUE)) != NULL)
- {
---- 1182,1198 ----
- if (fname == NULL || *fname == NUL) /* no file name */
- return 0;
- {
- char_u *ptr;
- int fnum;
-
-! #ifdef VMS
- vms_remove_version(fname);
-! #endif
-! #ifdef BACKSLASH_IN_FILENAME
- if (directory != NULL)
- slash_adjust(directory);
- slash_adjust(fname);
-! #endif
- if (directory != NULL && !vim_isAbsName(fname)
- && (ptr = concat_fnames(directory, fname, TRUE)) != NULL)
- {
-***************
-*** 1221,1227 ****
- return fnum;
- }
- return buflist_add(fname, 0);
-- #endif
- }
- }
-
---- 1217,1222 ----
-*** ../vim-7.3.186/src/search.c 2011-02-25 18:38:29.000000000 +0100
---- src/search.c 2011-05-10 16:30:38.000000000 +0200
-***************
-*** 4581,4589 ****
- char_u *already = NULL;
- char_u *startp = NULL;
- char_u *inc_opt = NULL;
-- #ifdef RISCOS
-- int previous_munging = __riscosify_control;
-- #endif
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
- win_T *curwin_save = NULL;
- #endif
---- 4581,4586 ----
-***************
-*** 4596,4606 ****
- if (file_line == NULL)
- return;
-
-- #ifdef RISCOS
-- /* UnixLib knows best how to munge c file names - turn munging back on. */
-- int __riscosify_control = 0;
-- #endif
--
- if (type != CHECK_PATH && type != FIND_DEFINE
- #ifdef FEAT_INS_EXPAND
- /* when CONT_SOL is set compare "ptr" with the beginning of the line
---- 4593,4598 ----
-***************
-*** 5228,5238 ****
- vim_free(regmatch.regprog);
- vim_free(incl_regmatch.regprog);
- vim_free(def_regmatch.regprog);
--
-- #ifdef RISCOS
-- /* Restore previous file munging state. */
-- __riscosify_control = previous_munging;
-- #endif
- }
-
- static void
---- 5220,5225 ----
-*** ../vim-7.3.186/src/structs.h 2011-03-22 18:10:34.000000000 +0100
---- src/structs.h 2011-05-10 16:30:49.000000000 +0200
-***************
-*** 2366,2376 ****
- MenuHandle menu_handle;
- MenuHandle submenu_handle;
- #endif
-- #ifdef RISCOS
-- int *id; /* Not used, but gui.c needs it */
-- int greyed_out; /* Flag */
-- int hidden;
-- #endif
- #ifdef FEAT_GUI_PHOTON
- PtWidget_t *id;
- PtWidget_t *submenu_id;
---- 2366,2371 ----
-*** ../vim-7.3.186/src/term.c 2010-12-30 14:47:32.000000000 +0100
---- src/term.c 2011-05-10 16:31:41.000000000 +0200
-***************
-*** 52,58 ****
-
- /*
- * Here are the builtin termcap entries. They are not stored as complete
-! * Tcarr structures, as such a structure is too big.
- *
- * The entries are compact, therefore they normally are included even when
- * HAVE_TGETENT is defined. When HAVE_TGETENT is defined, the builtin entries
---- 52,58 ----
-
- /*
- * Here are the builtin termcap entries. They are not stored as complete
-! * structures with all entries, as such a structure is too big.
- *
- * The entries are compact, therefore they normally are included even when
- * HAVE_TGETENT is defined. When HAVE_TGETENT is defined, the builtin entries
-***************
-*** 199,269 ****
- #endif
-
- #ifndef NO_BUILTIN_TCAPS
-- # if defined(RISCOS) || defined(ALL_BUILTIN_TCAPS)
-- /*
-- * Default for the Acorn.
-- */
-- {(int)KS_NAME, "riscos"},
-- {(int)KS_CL, "\014"}, /* Cls and Home Cursor */
-- {(int)KS_CM, "\001%d\001%d\002"}, /* Position cursor */
--
-- {(int)KS_CCO, "16"}, /* Allow 16 colors */
--
-- {(int)KS_CAF, "\001%d\021"}, /* Set foreground colour */
-- {(int)KS_CAB, "\001%d\022"}, /* Set background colour */
--
--
-- {(int)KS_ME, "\004"}, /* Normal mode */
-- {(int)KS_MR, "\005"}, /* Reverse */
--
-- {(int)KS_VI, "\016"}, /* Cursor invisible */
-- {(int)KS_VE, "\017"}, /* Cursor visible */
-- {(int)KS_VS, "\020"}, /* Cursor very visible */
--
-- {(int)KS_CS, "\001%d\001%d\003"}, /* Set scroll region */
-- {(int)KS_SR, "\023"}, /* Scroll text down */
-- {K_UP, "\217"},
-- {K_DOWN, "\216"},
-- {K_LEFT, "\214"},
-- {K_RIGHT, "\215"},
-- {K_S_UP, "\237"},
-- {K_S_DOWN, "\236"},
-- {K_S_LEFT, "\234"},
-- {K_S_RIGHT, "\235"},
--
-- {K_F1, "\201"},
-- {K_F2, "\202"},
-- {K_F3, "\203"},
-- {K_F4, "\204"},
-- {K_F5, "\205"},
-- {K_F6, "\206"},
-- {K_F7, "\207"},
-- {K_F8, "\210"},
-- {K_F9, "\211"},
-- {K_F10, "\312"},
-- {K_F11, "\313"},
-- {K_F12, "\314"},
-- {K_S_F1, "\221"},
-- {K_S_F2, "\222"},
-- {K_S_F3, "\223"},
-- {K_S_F4, "\224"},
-- {K_S_F5, "\225"},
-- {K_S_F6, "\226"},
-- {K_S_F7, "\227"},
-- {K_S_F8, "\230"},
-- {K_S_F9, "\231"},
-- {K_S_F10, "\332"},
-- {K_S_F11, "\333"},
-- {K_S_F12, "\334"},
-- {K_BS, "\010"},
-- {K_INS, "\315"},
-- {K_DEL, "\177"},
-- {K_HOME, "\036"},
-- {K_END, "\213"},
-- {K_PAGEUP, "\237"},
-- {K_PAGEDOWN, "\236"},
-- # endif /* Acorn terminal */
--
-
- # if defined(AMIGA) || defined(ALL_BUILTIN_TCAPS)
- /*
---- 199,204 ----
-***************
-*** 1399,1408 ****
- /*
- * DEFAULT_TERM is used, when no terminal is specified with -T option or $TERM.
- */
-- #ifdef RISCOS
-- # define DEFAULT_TERM (char_u *)"riscos"
-- #endif
--
- #ifdef AMIGA
- # define DEFAULT_TERM (char_u *)"amiga"
- #endif
---- 1334,1339 ----
-*** ../vim-7.3.186/src/termlib.c 2010-08-15 21:57:30.000000000 +0200
---- src/termlib.c 2011-05-10 16:31:58.000000000 +0200
-***************
-*** 13,19 ****
- #include "vim.h"
- #include "termlib.pro"
-
-! #if !defined(AMIGA) && !defined(VMS) && !defined(MACOS) && !defined(RISCOS)
- # include <sgtty.h>
- #endif
-
---- 13,19 ----
- #include "vim.h"
- #include "termlib.pro"
-
-! #if !defined(AMIGA) && !defined(VMS) && !defined(MACOS)
- # include <sgtty.h>
- #endif
-
-*** ../vim-7.3.186/src/version.c 2011-05-10 16:12:40.000000000 +0200
---- src/version.c 2011-05-10 16:37:20.000000000 +0200
-***************
-*** 1205,1213 ****
- # endif
- #endif
-
-- #ifdef RISCOS
-- MSG_PUTS(_("\nRISC OS version"));
-- #endif
- #ifdef VMS
- MSG_PUTS(_("\nOpenVMS version"));
- # ifdef HAVE_PATHDEF
---- 1207,1212 ----
-*** ../vim-7.3.186/src/vim.h 2011-05-05 16:41:19.000000000 +0200
---- src/vim.h 2011-05-10 16:32:40.000000000 +0200
-***************
-*** 184,192 ****
- # define SIZEOF_INT 2
- # endif
- #endif
-- #ifdef RISCOS
-- # define SIZEOF_INT 4
-- #endif
-
-
- #include "feature.h" /* #defines for optionals and features */
---- 184,189 ----
-***************
-*** 340,349 ****
- # include "os_mac.h"
- #endif
-
-- #ifdef RISCOS
-- # include "os_riscos.h"
-- #endif
--
- #ifdef __QNX__
- # include "os_qnx.h"
- #endif
---- 337,342 ----
-*** ../vim-7.3.186/src/gui_riscos.h 2010-08-15 21:57:28.000000000 +0200
---- src/gui_riscos.h 1970-01-01 01:00:00.000000000 +0100
-***************
-*** 1,32 ****
-- /* vi:set ts=8 sts=4 sw=4:
-- *
-- * VIM - Vi IMproved by Bram Moolenaar
-- *
-- * Do ":help uganda" in Vim to read copying and usage conditions.
-- * Do ":help credits" in Vim to see a list of people who contributed.
-- */
--
-- #define FEAT_BROWSE
--
-- #define TASK 0x4b534154
--
-- /* Nested wimp flags: */
-- #define CHILD_FIX_TO_WORKAREA 0
-- #define CHILD_FIX_TO_LEFT 1
-- #define CHILD_FIX_TO_BOTTOM 1
-- #define CHILD_FIX_TO_RIGHT 2
-- #define CHILD_FIX_TO_TOP 2
--
-- #define CHILD_SELF_SCROLL 0
-- #define CHILD_PARENT_SCROLL 1
--
-- #define CHILD_LEFT 16
-- #define CHILD_BOTTOM 18
-- #define CHILD_RIGHT 20
-- #define CHILD_TOP 22
-- #define CHILD_SCROLL_X 24
-- #define CHILD_SCROLL_Y 26
--
-- int wimp_poll(int mask, int *block);
-- int wimp_poll_idle(int mask, int *block, int end_time);
-- void ro_open_main(int *block);
---- 0 ----
-*** ../vim-7.3.186/src/os_riscos.h 2010-08-15 21:57:30.000000000 +0200
---- src/os_riscos.h 1970-01-01 01:00:00.000000000 +0100
-***************
-*** 1,166 ****
-- /* vi:set ts=8 sts=4 sw=4:
-- *
-- * VIM - Vi IMproved by Bram Moolenaar
-- *
-- * Do ":help uganda" in Vim to read copying and usage conditions.
-- * Do ":help credits" in Vim to see a list of people who contributed.
-- */
--
-- #include <sys/types.h>
-- #include <sys/stat.h>
-- #include <sys/ioctl.h>
-- #include <termios.h>
-- #include <stdlib.h>
-- #include <unixlib/local.h>
-- #include <errno.h>
-- #include <fcntl.h>
--
-- #define CASE_INSENSITIVE_FILENAME
-- #define FEAT_MODIFY_FNAME
-- #define FEAT_OSFILETYPE
-- #define DFLT_OFT "Text"
-- #define USE_TERM_CONSOLE
-- #define HAVE_AVAIL_MEM
--
-- /* Longer filenames now accessible to all */
-- #ifndef BASENAMELEN
-- # define BASENAMELEN 64 /* Same length as unzip */
-- #endif
--
-- #ifndef TEMNAME
-- # define TEMPNAME "<Wimp$ScrapDir>.v?XXXXXX"
-- # define TEMPNAMELEN 25
-- #endif
--
-- #ifndef DFLT_HELPFILE
-- # define DFLT_HELPFILE "Vim:doc.help"
-- #endif
--
-- #ifndef DFLT_BDIR
-- # define DFLT_BDIR ".,<Wimp$ScrapDir>." /* default for 'backupdir' */
-- #endif
--
-- /* Paths to try putting swap file in. */
-- #ifndef DFLT_DIR
-- # define DFLT_DIR "<Wimp$ScrapDir>.,." /* default for 'directory' */
-- #endif
--
-- #ifndef DFLT_VDIR
-- # define DFLT_VDIR "Choices:Vim.view" /* default for 'viewdir' */
-- #endif
--
-- #ifndef TERMCAPFILE
-- # define TERMCAPFILE "Vim:TermCap"
-- #endif
-- #define HAVE_TGETENT
--
-- #ifndef SYNTAX_FNAME
-- # define SYNTAX_FNAME "Vim:Syntax.%s"
-- #endif
--
-- #ifndef EVIM_FILE
-- # define EVIM_FILE "Vim:Evim"
-- #endif
--
-- #define FEAT_VIMINFO
--
-- #ifndef VIMINFO_FILE
-- # define VIMINFO_FILE "<Choices$Write>.Vim.VimInfo"
-- #endif
-- #ifndef VIMINFO_FILE2
-- # define VIMINFO_FILE2 "Choices:Vim.VimInfo"
-- #endif
--
-- #ifndef VIMRC_FILE
-- # define VIMRC_FILE "/vimrc"
-- #endif
-- #ifndef EXRC_FILE
-- # define EXRC_FILE "/exrc"
-- #endif
-- #ifndef GVIMRC_FILE
-- # define GVIMRC_FILE "/gvimrc"
-- #endif
-- #ifndef USR_VIMRC_FILE
-- # define USR_VIMRC_FILE "Vim:Evim"
-- #endif
-- #ifndef SESSION_FILE
-- # define SESSION_FILE "/Session.vim"
-- #endif
-- #ifndef USR_VIMRC_FILE
-- # define USR_VIMRC_FILE "Choices:Vim.VimRC"
-- #endif
-- #ifndef USR_GVIMRC_FILE
-- # define USR_GVIMRC_FILE "Choices:Vim.GVimRC"
-- #endif
-- #ifndef USR_EXRC_FILE
-- # define USR_EXRC_FILE "Choices:Vim.ExRC"
-- #endif
-- #ifndef SYS_VIMRC_FILE
-- # define SYS_VIMRC_FILE "Vim:VimRC"
-- #endif
-- #ifndef SYS_GVIMRC_FILE
-- # define SYS_GVIMRC_FILE "Vim:GVimRC"
-- #endif
-- #ifndef SYS_MENU_FILE
-- # define SYS_MENU_FILE "Vim:Menu"
-- #endif
-- #ifndef SYS_OPTWIN_FILE
-- # define SYS_OPTWIN_FILE "Vim:Optwin"
-- #endif
-- #ifndef FILETYPE_FILE
-- # define FILETYPE_FILE "Vim:Filetype"
-- #endif
-- #ifndef FTPLUGIN_FILE
-- # define FTPLUGIN_FILE "Vim:Ftplugin/vim"
-- #endif
-- #ifndef INDENT_FILE
-- # define INDENT_FILE "Vim:Indent/vim"
-- #endif
-- #ifndef FTOFF_FILE
-- # define FTOFF_FILE "Vim:Ftoff"
-- #endif
-- #ifndef FTPLUGOF_FILE
-- # define FTPLUGOF_FILE "Vim:Ftplugof"
-- #endif
-- #ifndef INDOFF_FILE
-- # define INDOFF_FILE "Vim:Indoff"
-- #endif
--
-- #define DFLT_ERRORFILE "errors/vim"
-- #define DFLT_RUNTIMEPATH "Choices:Vim,Vim:,Choices:Vim.after"
--
-- /*
-- * RISC PCs have plenty of memory, use large buffers
-- */
-- #define CMDBUFFSIZE 1024 /* size of the command processing buffer */
-- #define MAXPATHL 256 /* paths are always quite short though */
--
-- #ifndef DFLT_MAXMEM
-- # define DFLT_MAXMEM (5*1024) /* use up to 5 Mbyte for a buffer */
-- #endif
--
-- #ifndef DFLT_MAXMEMTOT
-- # define DFLT_MAXMEMTOT (10*1024) /* use up to 10 Mbyte for Vim */
-- #endif
--
-- #ifdef HAVE_SIGSET
-- # define signal sigset
-- #endif
--
-- #define n_flag (1<<31)
-- #define z_flag (1<<30)
-- #define c_flag (1<<29)
-- #define v_flag (1<<28)
--
-- /* These take r0-r7 as inputs, returns r0-r7 in global variables. */
-- void swi(int swinum, ...); /* Handles errors itself */
-- int xswi(int swinum, ...); /* Returns errors using v flag */
-- extern int r0, r1, r2, r3, r4, r5, r6, r7; /* For return values */
--
-- #include <kernel.h>
-- #include <swis.h>
--
-- #define mch_memmove(to, from, len) memmove((char *)(to), (char *)(from), len)
-- #define mch_rename(src, dst) rename(src, dst)
-- #define mch_getenv(x) (char_u *)getenv((char *)x)
-- #define mch_setenv(name, val, x) setenv(name, val, x)
---- 0 ----
-*** ../vim-7.3.186/src/gui_riscos.c 2011-05-10 15:52:10.000000000 +0200
---- src/gui_riscos.c 1970-01-01 01:00:00.000000000 +0100
-***************
-*** 1,3558 ****
-- /* vi:set ts=8 sts=4 sw=4:
-- *
-- * VIM - Vi IMproved by Bram Moolenaar
-- *
-- * Do ":help uganda" in Vim to read copying and usage conditions.
-- * Do ":help credits" in Vim to see a list of people who contributed.
-- * See README.txt for an overview of the Vim source code.
-- */
--
-- #include "vim.h"
-- #include <string.h>
--
-- /*
-- * gui_riscos.c
-- *
-- * Thomas Leonard <tal197@ecs.soton.ac.uk>
-- * Updated by Andy Wingate <andy@sparse.net>
-- */
--
-- extern int time_of_last_poll;
--
-- int task_handle = 0; /* Zero means we are not yet a Wimp task */
-- int child_handle = 0; /* Task handle of our child process (zero if none). */
-- int *wimp_menu = (int *) -1; /* Pointer to a Wimp menu structure (or -1) */
-- int save_window = -1; /* Save As window handle */
--
-- int *redraw_block = NULL; /* NULL means not in a redraw loop. */
-- int ro_return_early = FALSE; /* Break out of gui_mch_wait_for_chars() */
--
-- int leaf_ref = 0; /* Wimp message number - send via Wimp$Scrap */
-- char_u *leaf_name = NULL; /* Leaf name from DataSave */
--
-- int default_columns = 120; /* These values are used if the --rows and --columns */
-- int default_rows = 32; /* options aren't used on startup. */
--
-- #define DRAG_FALSE 0
-- #define DRAG_SELECTION 1
-- #define DRAG_RESIZE_WINDOW 2
-- int ro_dragging = DRAG_FALSE;
-- int drag_button;
-- int drag_modifiers;
-- int drag_x_offset;
-- int drag_y_offset;
--
-- int nested_wimp = FALSE; /* Bool - can we use the new wimp? */
--
-- int changed_mode = FALSE;
-- int x_eigen_factor;
-- int y_eigen_factor;
--
-- /* If ro_current_font is non-zero then use the outline font with that handle,
-- * otherwise, if zap_redraw is TRUE then use ZapRedraw, otherwise use the
-- * system font.
-- *
-- * If zap_redraw is TRUE then zap_file[] contains valid Zap font file
-- * pointers (or NULLs).
-- */
-- int ro_current_font = 0; /* 0 is system font, or ZapRedraw */
-- int font_x_offset = 0; /* Where to position each char in its box */
-- int font_y_offset = 0;
--
-- int zap_redraw = FALSE;
-- int double_height = FALSE; /* Plot each line twice? */
--
-- #define grgb(r,g,b) ((b<<16) + (g<<8) + (r))
-- #define UNUSED_COLOUR (gui.back_pixel)
--
-- #define RO_LOAD_CLIPBOARD -2 /* Internal handle for DataSave message. */
--
-- /* Changes by John Kortink, 22-23 July 1998
-- *
-- * Stuff to make redraw a lot faster. Almost all of it is right here below,
-- * elsewhere changes are marked with 'JK230798'. Apart from a small change in
-- * 'gui.c' all changes are limited to this file, 'gui_riscos.c'. The change in
-- * 'gui.c' is to make Vim stop being 'smart' not redrawing characters that are
-- * 'already there' (i.e. from the previous line, by coincidence). This caused a
-- * lot more calls to the redraw code, which we want to avoid because a few nice
-- * big strings at a time is a lot faster than a truckload of small ones. ('Dear
-- * Bram ...').
-- */
--
-- /* The ZapRedraw structure */
--
-- static struct
-- {
-- int r_flags;
-- int r_minx;
-- int r_miny;
-- int r_maxx;
-- int r_maxy;
-- int r_screen;
-- int r_bpl;
-- int r_bpp;
-- int r_charw;
-- int r_charh;
-- char *r_caddr;
-- int r_cbpl;
-- int r_cbpc;
-- int r_linesp;
-- int r_data;
-- int r_scrollx;
-- int r_scrolly;
-- int *r_palette;
-- int r_for;
-- int r_bac;
-- char *r_workarea;
-- int r_magx;
-- int r_magy;
-- int r_xsize;
-- int r_ysize;
-- int r_mode;
-- }
-- zap_redraw_block;
--
-- /* Other globals */
--
-- static int zap_redraw_initialised = FALSE;
-- static int zap_redraw_update_colours;
-- static int zap_redraw_colours[2];
-- static int zap_redraw_palette[16];
--
-- /* Holds the current Zap font file(s).
-- * The font is recreated from this block on a mode change.
-- * When using zap, element ZAP_NORMAL is always valid, but
-- * the others can be NULL.
-- */
--
-- #define ZAP_NORMAL 0
-- #define ZAP_BOLD 1
-- #define ZAP_ITALIC 2
-- #define ZAP_BITALIC 3
-- #define ZAP_STYLES 4
--
-- /* Zap font file format data */
-- static char *zap_file[ZAP_STYLES] = {NULL, NULL, NULL, NULL};
--
-- /* r_caddr format for current mode */
-- static char *zap_caddr[ZAP_STYLES] = {NULL, NULL, NULL, NULL};
--
-- static void ro_remove_menu(int *menu);
--
-- /*
-- * Initialise all the ZapRedraw stuff.
-- * Call this when changing font and after each mode change.
-- * zap_redraw_bitmap must contain a valid Zap font file (possibly
-- * created from the system font).
-- *
-- * Return FAIL to revert to system font (if we can't use ZapRedraw).
-- */
-- int
-- ro_zap_redraw_initialise()
-- {
-- int bytes_per_bitmap_char;
-- int first, last;
-- int i;
--
-- /* Can't have initialisers for struct members :-(, ok, this way then ... */
-- if (!zap_redraw_initialised)
-- {
-- zap_redraw_block.r_workarea = NULL;
-- zap_redraw_initialised = TRUE;
-- }
--
-- /* We redraw in DSA mode */
-- zap_redraw_block.r_flags = 0x0;
--
-- /* Let ZapRedraw get the screen address for us */
-- zap_redraw_block.r_screen = 0;
--
-- /* Read the font width and height from the font file header.
-- * Assume that all styles are the same size.
-- * ZAP_NORMAL is always present.
-- */
-- zap_redraw_block.r_charw = ((int *) zap_file[ZAP_NORMAL])[2];
-- zap_redraw_block.r_charh = ((int *) zap_file[ZAP_NORMAL])[3];
--
-- /* We have no linespacing */
-- zap_redraw_block.r_linesp = 0;
--
-- /* Fix foreground = colour 1 */
-- zap_redraw_block.r_for = 1;
--
-- /* Fix background = colour 0 */
-- zap_redraw_block.r_bac = 0;
--
-- /* Colour mask buffer */
-- zap_redraw_block.r_palette = zap_redraw_palette;
--
-- /* Allocate local workspace (for the few calls following here) */
-- if (zap_redraw_block.r_workarea != NULL)
-- free(zap_redraw_block.r_workarea);
-- zap_redraw_block.r_workarea = (char*) malloc(128);
-- if (!zap_redraw_block.r_workarea)
-- return FAIL; /* Out of memory */
--
-- /* Fill in VDU variables */
-- if (xswi(ZapRedraw_ReadVduVars, 0, &zap_redraw_block) & v_flag)
-- return FAIL; /* Can't find ZapRedraw module - use VDU instead */
--
-- /* Determine cbpl and cbpc */
-- swi(ZapRedraw_CachedCharSize, zap_redraw_block.r_bpp, 0,
-- zap_redraw_block.r_charw, zap_redraw_block.r_charh);
-- zap_redraw_block.r_cbpl = r2;
-- zap_redraw_block.r_cbpc = r3;
--
-- /* Allocate general workspace (for the calls outside) */
-- if (zap_redraw_block.r_workarea != NULL)
-- free(zap_redraw_block.r_workarea);
-- zap_redraw_block.r_workarea = (char*) malloc(128 + zap_redraw_block.r_cbpl);
-- if (!zap_redraw_block.r_workarea)
-- return FAIL; /* Out of memory */
--
-- /* Now convert the 1 bpp character data ready for the current mode */
--
-- bytes_per_bitmap_char = (zap_redraw_block.r_charw * zap_redraw_block.r_charh + 7) / 8;
--
-- /* Convert the fonts from 1bpp to a format suitable for the
-- * current mode.
-- */
-- for (i = 0; i < ZAP_STYLES; i++)
-- {
-- first = ((int *) zap_file[i])[4];
-- last = ((int *) zap_file[i])[5];
--
-- if (last > 255)
-- last = 255; /* Don't convert cursors (overwrites memory!) */
--
-- /* Allocate the font cache */
-- vim_free(zap_caddr[i]);
-- if (zap_file[i])
-- zap_caddr[i] = (char*) malloc(zap_redraw_block.r_cbpc * 256);
-- else
-- zap_caddr[i] = NULL; /* No file for this style */
--
-- if (zap_caddr[i])
-- {
-- zap_redraw_block.r_caddr = zap_caddr[i];
--
-- swi(ZapRedraw_ConvertBitmap, 0, &zap_redraw_block,
-- first, last, /* Range of characters to convert */
-- zap_file[i] + 0x20 /* Addr of first char provided by font */
-- - first * bytes_per_bitmap_char);
-- }
-- }
--
-- if (!zap_caddr[ZAP_NORMAL])
-- {
-- zap_redraw = FALSE; /* Out of memory */
-- return FAIL;
-- }
--
-- /* Next time we need them, we have to update the colour masks */
-- zap_redraw_update_colours = TRUE;
--
-- return OK;
-- }
--
-- /*
-- * Redraw a string at OS coordinates <x,y> (top-left, x inclusive, y exclusive).
-- * Graphics clip window is window[0..3] as in R1+28..40 of Wimp_RedrawWindow.
-- * Returns (possibly modified) flags.
-- */
-- int
-- ro_zap_redraw_draw_string(x, y, string, length, flags, clip)
-- int x;
-- int y;
-- char *string;
-- int length;
-- int flags; /* DRAW_TRANSP, DRAW_BOLD, DRAW_UNDERL, DRAW_ITALIC */
-- int *clip;
-- {
-- char redraw_data[1024];
-- int clip_minx;
-- int clip_miny;
-- int clip_maxx;
-- int clip_maxy;
-- int os_xshift = zap_redraw_block.r_magx;
-- int os_yshift = zap_redraw_block.r_magy;
--
-- if (flags & DRAW_TRANSP)
-- return flags; /* We don't do transparent plotting yet. */
--
-- if (flags & DRAW_BOLD)
-- {
-- if (flags & DRAW_ITALIC && zap_caddr[ZAP_BITALIC])
-- zap_redraw_block.r_caddr = zap_caddr[ZAP_BITALIC];
-- else
-- zap_redraw_block.r_caddr = zap_caddr[ZAP_BOLD];
-- }
-- else
-- {
-- if (flags & DRAW_ITALIC)
-- zap_redraw_block.r_caddr = zap_caddr[ZAP_ITALIC];
-- else
-- zap_redraw_block.r_caddr = zap_caddr[ZAP_NORMAL];
-- }
-- if (!zap_redraw_block.r_caddr)
-- {
-- zap_redraw_block.r_caddr = zap_caddr[ZAP_NORMAL];
-- flags |= DRAW_UNDERL; /* Style missing - we can always underline */
-- }
--
-- /* Set the vertical scaling flag */
-- if (double_height)
-- zap_redraw_block.r_flags = 1 << 1;
-- else
-- zap_redraw_block.r_flags = 0;
--
-- /* Update the colour masks (if needed) */
-- if (zap_redraw_update_colours)
-- {
-- swi(ZapRedraw_CreatePalette, 2,
-- &zap_redraw_block,
-- zap_redraw_colours,
-- zap_redraw_block.r_palette, 2);
-- zap_redraw_update_colours = FALSE;
-- }
--
-- /* Target rectangle in ZapRedraw rectangle coordinates (pixels, Y-min/max reversed !!!) */
-- zap_redraw_block.r_minx = x >> os_xshift; /* inclusive */
-- zap_redraw_block.r_miny = zap_redraw_block.r_ysize - (y >> os_yshift); /* inclusive */
-- zap_redraw_block.r_maxx = (x + length * gui.char_width) >> os_xshift; /* exclusive */
-- zap_redraw_block.r_maxy = zap_redraw_block.r_ysize - ((y - gui.char_height) >> os_yshift);
-- /* exclusive */
--
-- /* Clip rectangle in ZapRedraw rectangle coordinates (pixels, Y-min/max reversed !!!) */
-- clip_minx = clip[0] >> os_xshift; /* inclusive */
-- clip_miny = zap_redraw_block.r_ysize - (clip[3] >> os_yshift); /* inclusive */
-- clip_maxx = clip[2] >> os_xshift; /* exclusive */
-- clip_maxy = zap_redraw_block.r_ysize - (clip[1] >> os_yshift); /* exclusive */
--
-- /* Clip target rectangle against the current graphics window */
-- if (zap_redraw_block.r_minx < clip_minx)
-- {
-- zap_redraw_block.r_scrollx = clip_minx - zap_redraw_block.r_minx;
-- zap_redraw_block.r_minx = clip_minx;
-- }
-- else
-- zap_redraw_block.r_scrollx = 0;
-- if (zap_redraw_block.r_miny < clip_miny)
-- {
-- zap_redraw_block.r_scrolly = clip_miny - zap_redraw_block.r_miny;
-- zap_redraw_block.r_miny = clip_miny;
-- }
-- else
-- zap_redraw_block.r_scrolly = 0;
-- if (zap_redraw_block.r_maxx > clip_maxx)
-- zap_redraw_block.r_maxx = clip_maxx;
-- if (zap_redraw_block.r_maxy > clip_maxy)
-- zap_redraw_block.r_maxy = clip_maxy;
--
-- /* Fill in the character data structure */
-- if (length > (sizeof(redraw_data) - 2 * 4 - 2))
-- length = sizeof(redraw_data) - 2 * 4 - 2;
-- ((int*) redraw_data)[0] = 2 * 4;
-- ((int*) redraw_data)[1] = 0;
-- strncpy(redraw_data + 2 * 4, string, length);
-- redraw_data[2 * 4 + length + 0] = '\0';
-- redraw_data[2 * 4 + length + 1] = '\x2';
-- zap_redraw_block.r_data = (int) redraw_data;
--
-- /* Perform the draw */
-- swi(ZapRedraw_RedrawArea, 0, &zap_redraw_block);
--
-- return flags;
-- }
--
-- /*
-- * Okay that was it from me, back to Thomas ...
-- */
--
-- /*
-- * Parse the GUI related command-line arguments. Any arguments used are
-- * deleted from argv, and *argc is decremented accordingly. This is called
-- * when vim is started, whether or not the GUI has been started.
-- */
-- void
-- gui_mch_prepare(int *argc, char **argv)
-- {
-- int arg = 1;
--
-- while (arg < *argc - 1)
-- {
-- if (strcmp(argv[arg], "--rows") == 0 || strcmp(argv[arg], "--columns") == 0)
-- {
-- int value;
--
-- value = atoi(argv[arg + 1]);
--
-- if (argv[arg][2] == 'r')
-- default_rows = value;
-- else
-- default_columns = value;
--
-- /* Delete argument from argv[]. (hope this is read/write!) */
--
-- *argc -= 2;
-- if (*argc > arg)
-- mch_memmove(&argv[arg], &argv[arg + 2], (*argc - arg)
-- * sizeof(char *));
-- }
-- else
-- arg++;
-- }
-- }
--
-- /* Fatal error on initialisation - report it and die. */
-- void
-- ro_die(error)
-- char_u *error; /* RISC OS error block */
-- {
-- swi(Wimp_ReportError, error, 5, "GVim");
-- exit(EXIT_FAILURE);
-- }
--
-- /* Find the sizes of the window tools:
-- *
-- * Create a test window.
-- * Find inner and outer sizes.
-- * Find the difference.
-- * Delete window.
-- *
-- * While we're here, find the eigen values too.
-- */
-- void
-- ro_measure_tools()
-- {
-- int block[10];
-- int vdu[] = { 4, 5, -1};
-- int test_window[] =
-- {
-- -100, -100, /* Visible area : min X,Y */
-- -50, -50, /* max X,Y */
-- 0, 0, /* Scroll offsets */
-- -1, /* Window in front */
-- 0xd0800150, /* Window flags */
-- 0xff070207, /* Colours */
-- 0x000c0103, /* More colours */
-- 0, -0x4000, /* Workarea extent */
-- 0x4000, 0, /* max X,Y */
-- 0x00000000, /* No title */
-- 0 << 12, /* No workarea button type */
-- 1, /* Wimp sprite area */
-- 0x00010001, /* Minimum width, height */
-- 0, 0, 0, /* Title data (none) */
-- 0 /* No icons */
-- };
-- int inner_max_x, inner_min_y;
--
-- swi(Wimp_CreateWindow, 0, test_window);
--
-- block[0] = r0;
-- /* Open the window (and read state).
-- * GetWindowOutline needs it too if the wimp isn't nested.
-- */
-- swi(Wimp_OpenWindow, 0, block);
-- inner_max_x = block[3];
-- inner_min_y = block[2];
--
-- swi(Wimp_GetWindowOutline, 0, block);
--
-- gui.scrollbar_width = block[3] - inner_max_x;
-- gui.scrollbar_height = inner_min_y - block[2];
--
-- swi(Wimp_DeleteWindow, 0, block);
--
-- /* Read the size of one pixel. */
-- swi(OS_ReadVduVariables, vdu, vdu);
-- x_eigen_factor = vdu[0];
-- y_eigen_factor = vdu[1];
-- }
--
-- /* Load a template from the current templates file.
-- * Create the window and return its handle.
-- */
-- int
-- ro_load_template(str_name, title, title_size)
-- char_u *str_name; /* Identifier of window in file (max 12 chars) */
-- char_u **title; /* If not NULL then return pointer to title here */
-- int *title_size; /* If not NULL then return the title length here */
-- {
-- int *window;
-- char *data;
-- int name[4];
--
-- strcpy( (char *) name, str_name);
--
-- /* Find how big we must make the buffers */
--
-- if (xswi(Wimp_LoadTemplate, 0, 0, 0, 0, -1, name, 0) & v_flag)
-- ro_die( (char *) r0);
--
-- window = malloc(r1); /* Don't print text messages from alloc() */
-- data = malloc(r2);
-- if (window == NULL || data == NULL)
-- ro_die("\0\0\0\0Out of memory - Can't load templates");
--
-- /* Load the template into the buffers */
--
-- swi(Wimp_LoadTemplate, 0,
-- window, /* Temp block */
-- data, /* Icon data */
-- data + r2 + 1, /* End of icon data */
-- -1, /* No fonts */
-- name, 0); /* First match */
-- if (r6 == 0)
-- ro_die("\0\0\0\0Can't find window in Templates file");
--
-- /* Create the window */
--
-- if (xswi(Wimp_CreateWindow, 0, window) & v_flag)
-- ro_die( (char *) r0);
--
-- if (title)
-- *title = (char_u *) window[18];
-- if (title_size)
-- *title_size = window[20];
--
-- free(window); /* Free temp block */
-- return r0; /* Return the window handle */
-- }
--
-- /*
-- * Check if the GUI can be started. Called before gvimrc is sourced.
-- * Return OK or FAIL.
-- */
-- int
-- gui_mch_init_check()
-- {
-- return OK; /* TODO: GUI can always be started? */
-- }
--
-- /*
-- * Initialise the RISC OS GUI.
-- * Create all the windows.
-- * Returns OK for success, FAIL when the GUI can't be started.
-- */
-- int
-- gui_mch_init()
-- {
-- int messages[] = {
-- 1, 2, 3, 4, /* DataSave, DataSaveAck, DataLoad, DataLoadAck */
-- 8, /* PreQuit */
-- 0xf, /* ClaimEntity (for clipboard) */
-- 0x10, /* DataRequest (for clipboard) */
-- 0x400c1, /* Mode change */
-- 0x400c3, /* TaskCloseDown */
-- 0x400c9, /* MenusDeleted */
-- 0x808c1, /* TW_Output */
-- 0x808c2, /* TW_Ego */
-- 0x808c3, /* TW_Morio */
-- 0x808c4, /* TW_Morite */
-- 0}; /* End-of-list. */
--
--
-- /* There may have been some errors reported in the
-- * command window before we get here. Wait if so.
-- */
-- swi(Wimp_ReadSysInfo, 3);
-- if (r0 == 0)
-- swi(Wimp_CommandWindow, 0); /* Window opened - close with prompt */
--
-- if (xswi(Wimp_Initialise, 310, 0x4b534154, "GVim", messages) & v_flag)
-- return FAIL;
-- nested_wimp = r0 >= 397;
-- task_handle = r1;
--
-- /* Load the templates. */
--
-- if (xswi(Wimp_OpenTemplate, 0, "Vim:Templates") & v_flag)
-- ro_die( (char *) r0);
--
-- gui.window_handle = ro_load_template("editor",
-- &gui.window_title,
-- &gui.window_title_size);
--
-- save_window = ro_load_template("save", NULL, NULL);
--
-- swi(Wimp_CloseTemplate);
--
-- /* Set default foreground and background colours. */
--
-- gui.norm_pixel = gui.def_norm_pixel;
-- gui.back_pixel = gui.def_back_pixel;
--
-- /* Get the colours from the "Normal" and "Menu" group (set in syntax.c or
-- * in a vimrc file) */
--
-- set_normal_colors();
--
-- /*
-- * Check that none of the colors are the same as the background color
-- */
--
-- gui_check_colors();
--
-- /* Get the colours for the highlight groups (gui_check_colors() might have
-- * changed them) */
--
-- highlight_gui_started(); /* re-init colours and fonts */
--
-- /* Set geometry based on values read on initialisation. */
--
-- gui.num_cols = Columns = default_columns;
-- gui.num_rows = Rows = default_rows;
--
-- /* Get some information about our environment. */
--
-- ro_measure_tools();
--
-- return OK;
-- }
--
-- /*
-- * Called when the foreground or background colour has been changed.
-- */
-- void
-- gui_mch_new_colors()
-- {
-- }
--
-- /*
-- * Open the GUI window which was created by a call to gui_mch_init().
-- */
-- int
-- gui_mch_open(void)
-- {
-- int block[10];
--
-- block[0] = gui.window_handle;
-- swi(Wimp_GetWindowState, 0, block);
-- block[7] = -1; /* Open at the top of the stack */
-- swi(Wimp_OpenWindow, 0, block);
--
-- /* Give the new window the input focus */
-- swi(Wimp_SetCaretPosition, gui.window_handle, -1, 0, 0, -1, -1);
--
-- if (gui_win_x != -1 && gui_win_y != -1)
-- gui_mch_set_winpos(gui_win_x, gui_win_y);
--
-- return OK;
-- }
--
-- void
-- gui_mch_exit(int rc)
-- {
-- int block[64];
--
-- /* Close window. Stops us from getting troublesome events
-- * if we take a while to die.
-- */
-- block[0] = gui.window_handle;
-- swi(Wimp_CloseWindow, 0, block);
--
-- if (child_handle)
-- {
-- /* We still have a sub-task running - kill it */
-- block[0] = 20;
-- block[3] = 0;
-- block[4] = 0; /* Quit */
-- if ((xswi(Wimp_SendMessage, 17, block, child_handle) & v_flag) == 0)
-- {
-- /* Idle until child dies. */
-- while (child_handle)
-- {
-- process_event(wimp_poll(1, block), block);
-- }
-- }
-- }
--
-- exit(rc);
-- }
--
-- /*
-- * Get the position of the top left corner of the window.
-- */
-- int
-- gui_mch_get_winpos(int *x, int *y)
-- {
-- /* TODO */
-- return FAIL;
-- }
--
-- /*
-- * Set the position of the top left corner of the window to the given
-- * coordinates.
-- */
-- void
-- gui_mch_set_winpos(int x, int y)
-- {
-- /* TODO */
-- }
--
-- void
-- gui_mch_set_shellsize(width, height, min_width, min_height, base_width, base_height, direction)
-- int width; /* In OS units */
-- int height;
-- int min_width; /* Smallest permissible window size (ignored) */
-- int min_height;
-- int base_width; /* Space for scroll bars, etc */
-- int base_height;
-- int direction;
-- {
-- int s_width, s_height;
-- int block[] = {
-- gui.window_handle,
-- 0,
-- -height + 1,
-- width,
-- 1};
--
-- gui_mch_get_screen_dimensions(&s_width, &s_height);
-- s_width -= base_width;
-- s_height -= base_height; /* Underestimate - ignores titlebar */
--
-- swi(Wimp_GetWindowState, 0, block);
-- block[3] = block[1] + width;
-- block[2] = block[4] - height;
-- if (block[3] > s_width)
-- {
-- block[3] = s_width;
-- block[1] = block[3] - width;
-- }
-- if (block[2] < gui.scrollbar_height)
-- {
-- block[2] = gui.scrollbar_height;
-- block[4] = block[2] + height;
-- }
-- swi(Wimp_OpenWindow, 0, block);
-- swi(Wimp_ForceRedraw, gui.window_handle, 0, -height, width, 0);
-- }
--
-- void
-- gui_mch_get_screen_dimensions(int *screen_w, int *screen_h)
-- {
-- int block[] = {4, 5, 11, 12, -1};
--
-- swi(OS_ReadVduVariables, block, block);
-- *screen_w = (block[2] + 1) << block[0];
-- *screen_h = (block[3] + 1) << block[1];
-- }
--
-- /* Take a font name with options and return a font handle, or
-- * zero for failure.
-- * Replace extension with 'Bold' or 'Italic' depending on modifiers.
-- */
-- int
-- ro_get_font(fullname, weight)
-- char_u *fullname;
-- int weight; /* Initial weights:
-- * BIT MEANING
-- * 0 bold
-- * 1 italic
-- */
-- {
-- char_u *arg;
-- char_u font[41];
-- int width = -1;
-- int height = -1;
-- int name_len;
-- int i;
-- char_u c;
--
-- for (i = 0; i < 39;)
-- {
-- c = fullname[i];
-- if (c == ':' || c == NUL || c == '.')
-- break;
-- font[i++] = c;
-- }
--
-- /* find the first modifier, NULL if none */
-- arg = strchr(fullname + i, ':');
--
-- while (arg)
-- {
-- switch (*++arg)
-- {
-- case 'h':
-- height = strtol(arg + 1, (char **) &arg, 10);
-- break;
-- case 'w':
-- width = strtol(arg + 1, (char **) &arg, 10);
-- break;
-- case 'b':
-- weight |= 1;
-- break;
-- case 'i':
-- weight |= 2;
-- break;
-- default:
-- return 0;
-- }
-- arg = strchr(arg, ':');
-- }
--
-- if ((weight & 1) && i < 35)
-- {
-- /* Bold goes instead of given suffix */
-- strncpy(font + i, ".Bold", 5);
-- i += 5;
-- }
-- else
-- {
-- /* Copy rest of name unless we are using Bold */
-- while (i < 39)
-- {
-- c = fullname[i];
-- if (c == ':' || c == NUL)
-- break;
-- font[i++] = c;
-- }
-- }
-- if ((weight & 2) && i < 32)
-- {
-- strncpy(font + i, ".Oblique", 8);
-- i += 8;
-- }
--
-- font[i] = 0;
--
-- if (height < 1 && width < 1)
-- height = width = 10; /* Default to 10pt */
-- else if (height < 1)
-- height = width;
-- else if (width < 1)
-- width = height;
--
-- if (xswi(Font_FindFont, 0, font, width << 4, height << 4, 0, 0) & v_flag)
-- return NOFONT; /* Can't find font */
--
-- return r0;
-- }
--
-- /* Load a file into allocated memory and check it is valid.
-- * Return a pointer to the allocated block on success.
-- */
-- char *
-- zap_load_file(name, style)
-- char_u *name; /* Name of directory containing styles */
-- char_u *style; /* Name of style within directory */
-- {
-- char_u fname[256];
-- char_u *file;
--
-- if (strlen(name) + strlen(style) > 254)
-- return NULL; /* Names too long */
--
-- sprintf(fname, "%s.%s", name, style);
--
-- /* Load the named font in 1bpp format. */
-- if (xswi(OS_File, 13, fname, 0, 0, "VimFonts:") & v_flag || r0 != 1)
-- return NULL; /* Error reading file info, or not a file */
--
-- /* Allocate enough memory to load the whole file */
-- file = (char *) alloc(r4);
-- if (!file)
-- return NULL; /* Out of memory */
--
-- if (xswi(OS_File, 12, fname, file, 0, "VimFonts:") & v_flag)
-- return NULL; /* Unable to load file */
--
-- if (strncmp(file, "ZapFont\015", 8) == 0)
-- return file; /* Loaded OK! */
--
-- vim_free(file);
-- return NULL; /* Not a valid font file */
-- }
--
-- /* Load and convert the named font.
-- * If name is NULL or a null string then convert the system font.
-- * Return OK on success; FAIL and we revert to using the VDU drivers.
-- *
-- * 'name' is the name of a directory.
-- * Tries to load 'name.0', 'name.B', 'name.I' and 'name.IB'.
-- */
-- int
-- zap_load_font(name)
-- char_u *name;
-- {
-- int i;
--
-- /* Free the existing font files, if any */
-- for (i = 0; i < ZAP_STYLES; i++)
-- {
-- vim_free(zap_file[i]);
-- zap_file[i] = NULL;
-- }
--
-- if (name && *name == '!')
-- {
-- name++;
-- double_height = TRUE;
-- }
-- else
-- double_height = FALSE;
--
-- if (name && *name)
-- {
-- zap_file[ZAP_NORMAL] = zap_load_file(name, "0");
-- if (!zap_file[ZAP_NORMAL])
-- return FAIL; /* Can't load the 'normal' style - error */
--
-- zap_file[ZAP_BOLD] = zap_load_file(name, "B");
-- zap_file[ZAP_ITALIC] = zap_load_file(name, "I");
-- zap_file[ZAP_BITALIC] = zap_load_file(name, "IB");
-- }
-- else
-- {
-- int *header;
-- char workarea[16];
-- char *old_wa;
--
-- /* Allocate memory for system font (8 x 8 x 256 bits, plus header) */
-- header = (int *) alloc(0x20 + 8 * 256);
-- if (header == NULL)
-- return FAIL;
-- zap_file[ZAP_NORMAL] = (char *) header;
--
-- /* Store details about the system font */
-- header[2] = 8; /* Width */
-- header[3] = 8; /* Height */
-- header[4] = 0; /* First char */
-- header[5] = 255; /* Last char */
-- header[6] = header[7] = 0; /* Reserved */
--
-- /* Get system font bitmap */
-- old_wa = zap_redraw_block.r_workarea;
-- zap_redraw_block.r_workarea = workarea;
-- swi(ZapRedraw_ReadSystemChars, zap_file[ZAP_NORMAL] + 0x20, &zap_redraw_block);
-- zap_redraw_block.r_workarea = old_wa;
-- }
--
-- return ro_zap_redraw_initialise();
-- }
--
-- /*
-- * Initialise vim to use the font with the given name.
-- * Return FAIL if the font could not be loaded, OK otherwise.
-- */
-- int
-- gui_mch_init_font(char_u *font_name, int fontset)
-- {
-- int new_handle = 0; /* Use the system font by default */
--
-- if (font_name[0] == '!')
-- {
-- /* Select a ZapRedraw font */
-- if (zap_load_font(font_name + 1))
-- zap_redraw = TRUE;
-- else
-- {
-- EMSG2(_("E610: Can't load Zap font '%s'"), font_name);
-- font_name = "System"; /* Error - use system font */
-- zap_redraw = FALSE;
-- }
-- }
-- else
-- {
-- zap_redraw = FALSE;
--
-- if (font_name)
-- {
-- /* Extract any extra details about the font */
-- new_handle = ro_get_font(font_name, 0);
-- if (!new_handle)
-- return FAIL;
-- }
-- else
-- font_name = "System";
-- }
--
-- /* Free the previous font, if any */
-- gui_mch_free_font(gui.norm_font);
-- gui.norm_font = new_handle;
-- gui.char_ascent = 0;
--
-- if (new_handle)
-- {
-- /* Read details about the chosen font */
-- swi(Font_ReadInfo, new_handle);
--
-- gui.char_width = r3 - r1;
-- gui.char_height = r4 - r2;
--
-- font_x_offset = -r1; /* Where to position each char in its box */
-- font_y_offset = -r4;
--
-- /* Try to load other fonts for bold, italic, and bold-italic */
-- gui_mch_free_font(gui.bold_font);
-- gui.bold_font = ro_get_font(font_name, 1);
-- gui_mch_free_font(gui.ital_font);
-- gui.ital_font = ro_get_font(font_name, 2);
-- gui_mch_free_font(gui.boldital_font);
-- gui.boldital_font = ro_get_font(font_name, 3);
-- }
-- else
-- {
-- /* Use the system font or ZapRedraw. */
-- if (zap_redraw)
-- {
-- gui.char_width = zap_redraw_block.r_charw << zap_redraw_block.r_magx;
-- gui.char_height = zap_redraw_block.r_charh << zap_redraw_block.r_magy;
-- if (double_height)
-- gui.char_height <<= 1;
-- }
-- else
-- {
-- gui.char_width = 16;
-- gui.char_height = 32;
-- }
--
-- gui_mch_free_font(gui.bold_font);
-- gui.bold_font = 0;
-- gui_mch_free_font(gui.ital_font);
-- gui.ital_font = 0;
-- gui_mch_free_font(gui.boldital_font);
-- gui.boldital_font = 0;
-- }
-- hl_set_font_name(font_name);
--
-- must_redraw = CLEAR;
-- return OK;
-- }
--
-- /*
-- * Adjust gui.char_height (after 'linespace' was changed).
-- */
-- int
-- gui_mch_adjust_charheight()
-- {
-- return FAIL;
-- }
--
-- /*
-- * Get a font structure for highlighting.
-- */
-- GuiFont
-- gui_mch_get_font(name, giveErrorIfMissing)
-- char_u *name;
-- int giveErrorIfMissing;
-- {
-- int handle;
--
-- if (!name)
-- return NOFONT; /* System font if no name */
--
-- handle = ro_get_font(name, 0);
-- if (!handle)
-- {
-- if (giveErrorIfMissing)
-- EMSG2(_("E611: Can't use font %s"), name);
-- return NOFONT;
-- }
--
-- return handle;
-- }
--
-- #if defined(FEAT_EVAL) || defined(PROTO)
-- /*
-- * Return the name of font "font" in allocated memory.
-- * Don't know how to get the actual name, thus use the provided name.
-- */
-- char_u *
-- gui_mch_get_fontname(font, name)
-- GuiFont font;
-- char_u *name;
-- {
-- if (name == NULL)
-- return NULL;
-- return vim_strsave(name);
-- }
-- #endif
--
-- /*
-- * Set the current text font.
-- */
-- void
-- gui_mch_set_font(GuiFont font)
-- {
-- ro_current_font = font;
--
-- if (font)
-- {
-- /* Not the system font or ZapRedraw font - select it */
-- swi(Font_SetFont, font);
-- }
-- }
--
-- /*
-- * If a font is not going to be used, free its structure.
-- */
-- void
-- gui_mch_free_font(GuiFont font)
-- {
-- if (font)
-- swi(Font_LoseFont, font);
-- }
--
-- /*
-- * Return the Pixel value (colour) for the given colour name.
-- * Return INVALCOLOR for error.
-- * NB: I've changed Green for now, since it looked really sick
-- */
-- guicolor_T
-- gui_mch_get_color(char_u *name)
-- {
-- int i;
-- struct colour
-- {
-- char_u *name;
-- guicolor_T value;
-- } colours[] =
-- {
-- { "Red", grgb(255, 0, 0) },
-- { "LightRed", grgb(255, 0, 0) },
-- { "DarkRed", grgb(139, 0, 0) },
--
-- { "Green", grgb(50, 200, 50) },
-- { "LightGreen", grgb(144, 238, 144) },
-- { "DarkGreen", grgb(0, 100, 0) },
-- { "SeaGreen", grgb(46, 139, 87) },
--
-- { "Blue", grgb(0, 0, 255) },
-- { "LightBlue", grgb(173, 216, 230) },
-- { "DarkBlue", grgb(0, 0, 139) },
-- { "SlateBlue", grgb(160, 90, 205) },
--
-- { "Cyan", grgb(0, 255, 255) },
-- { "LightCyan", grgb(224, 255, 255) },
-- { "DarkCyan", grgb(0, 139, 139) },
--
-- { "Magenta", grgb(255, 0, 255) },
-- { "LightMagenta", grgb(255, 224, 255) },
-- { "DarkMagenta", grgb(139, 0, 139) },
--
-- { "Yellow", grgb(255, 255, 0) },
-- { "LightYellow", grgb(255, 255, 224) },
-- { "DarkYellow", grgb(139, 139, 0) },
-- { "Brown", grgb(165, 42, 42) },
--
-- { "Gray", grgb(190, 190, 190) },
-- { "Grey", grgb(190, 190, 190) },
-- { "LightGray", grgb(211, 211, 211) },
-- { "LightGrey", grgb(211, 211, 211) },
-- { "DarkGray", grgb(169, 169, 169) },
-- { "DarkGrey", grgb(169, 169, 169) },
-- { "Gray10", grgb(26, 26, 26) },
-- { "Grey10", grgb(26, 26, 26) },
-- { "Gray20", grgb(51, 51, 51) },
-- { "Grey20", grgb(51, 51, 51) },
-- { "Gray30", grgb(77, 77, 77) },
-- { "Grey30", grgb(77, 77, 77) },
-- { "Gray40", grgb(102, 102, 102) },
-- { "Grey40", grgb(102, 102, 102) },
-- { "Gray50", grgb(127, 127, 127) },
-- { "Grey50", grgb(127, 127, 127) },
-- { "Gray60", grgb(153, 153, 153) },
-- { "Grey60", grgb(153, 153, 153) },
-- { "Gray70", grgb(179, 179, 179) },
-- { "Grey70", grgb(179, 179, 179) },
-- { "Gray80", grgb(204, 204, 204) },
-- { "Grey80", grgb(204, 204, 204) },
-- { "Gray90", grgb(229, 229, 229) },
-- { "Grey90", grgb(229, 229, 229) },
--
-- { "Black", grgb(0, 0, 0) },
-- { "White", grgb(255, 255, 255) },
--
-- { "Orange", grgb(255, 165, 0) },
-- { "Purple", grgb(160, 32, 240) },
-- { "Violet", grgb(238, 130, 238) },
-- {NULL, 0}
-- };
--
-- if (name[0] == '#')
-- {
-- char *end;
-- int c;
--
-- c = strtol(name + 1, &end, 16);
-- return (guicolor_T) ((c >> 16) & 0xff) | (c & 0xff00) | ((c & 0xff) << 16);
-- }
--
-- for (i = 0; colours[i].name != NULL; i++)
-- {
-- if (STRICMP(name, colours[i].name) == 0)
-- return colours[i].value;
-- }
-- if (strnicmp(name, "grey", 4) == 0 || strnicmp(name, "gray", 4) == 0)
-- {
-- int level = (255 * atoi(name + 4)) / 100;
-- return (guicolor_T) grgb(level, level, level);
-- }
-- return INVALCOLOR;
-- }
--
-- /*
-- * Set the current text colours.
-- * If we are using fonts then set the antialiasing colours too.
-- */
-- void
-- gui_mch_set_colors(guicolor_T fg, guicolor_T bg)
-- {
-- zap_redraw_colours[0] = bg << 8; /* JK230798, register new background colour */
-- zap_redraw_colours[1] = fg << 8; /* JK230798, register new foreground colour */
-- zap_redraw_update_colours = TRUE; /* JK230798, need update of colour masks */
--
-- swi(ColourTrans_ReturnGCOL, fg << 8);
-- gui.fg_colour = r0;
-- swi(ColourTrans_ReturnGCOL, bg << 8);
-- gui.bg_colour = r0;
--
-- if (ro_current_font)
-- swi(ColourTrans_SetFontColours, 0, bg << 8, fg << 8, 14);
-- }
--
-- void
-- ro_draw_string(x, y, s, len, flags, clip)
-- int x; /* Top-left coord to plot at (x incl, y excl) */
-- int y; /* (screen coords) */
-- char_u *s; /* String to plot */
-- int len; /* Length of string */
-- int flags; /* DRAW_TRANSP, DRAW_BOLD, DRAW_UNDERL */
-- int* clip; /* JK230798, added clip window */
-- {
-- if (ro_current_font)
-- {
-- int fx;
-- int flen = len; /* Preserve for underline */
--
-- /* Use the Font manager to paint the string.
-- * Must do one char at a time to get monospacing.
-- */
--
-- if (flags & DRAW_ITALIC && !gui.ital_font)
-- flags |= DRAW_UNDERL; /* No italic - underline instead */
--
-- if ((flags & DRAW_TRANSP) == 0)
-- {
-- swi(ColourTrans_SetColour, gui.bg_colour, 0, 0, 0, 0);
-- swi(OS_Plot, 4, x, y - gui.char_height);
-- swi(OS_Plot, 96 + 5, x + len * gui.char_width - 1, y - 1);
-- }
--
-- fx = x + font_x_offset;
-- while (flen--)
-- {
-- swi(Font_Paint, 0, s++, 0x90, fx, y + font_y_offset, 0, 0, 1);
-- fx += gui.char_width;
-- }
-- }
-- else
-- {
-- if (zap_redraw)
-- {
-- /* Using fast Zap redraw. */
-- flags = ro_zap_redraw_draw_string(x, y, s, len, flags, clip);
-- }
-- else
-- {
-- /* Using the system font */
-- if (flags & DRAW_ITALIC)
-- flags |= DRAW_UNDERL;
--
-- if ((flags & DRAW_TRANSP) == 0)
-- {
-- swi(ColourTrans_SetColour, gui.bg_colour, 0, 0, 0, 0);
-- swi(OS_Plot, 4, x, y - gui.char_height);
-- swi(OS_Plot, 96 + 5, x + len * gui.char_width - 1, y - 1);
-- }
-- swi(OS_Plot, 4, /* Move the drawing cursor */
-- x,
-- y - 1);
-- swi(ColourTrans_SetColour, gui.fg_colour, 0, 0, 0, 0);
-- swi(OS_WriteN, s, len);
--
-- if (flags & DRAW_BOLD)
-- {
-- swi(OS_Plot, 4, x + (1 << x_eigen_factor), y - 1);
-- swi(OS_WriteN, s, len);
-- }
-- }
-- }
--
-- if (flags & DRAW_UNDERL)
-- {
-- if (ro_current_font || zap_redraw)
-- swi(ColourTrans_SetColour, gui.fg_colour, 0, 0, 0, 0);
-- /* Underlined is the same with all plotting methods */
-- swi(OS_Plot, 4, x, y - gui.char_height);
-- swi(OS_Plot, 1, gui.char_width * len, 0);
-- }
-- }
--
-- void
-- gui_mch_draw_string(int row, int col, char_u *s, int len, int flags)
-- {
-- int x, y; /* Workarea x,y */
-- x = col * gui.char_width;
-- y = -row * gui.char_height;
--
-- if (redraw_block)
-- {
-- ro_draw_string(x + redraw_block[1], y + redraw_block[4],
-- s, len, flags, &redraw_block[7]); /* JK230798, added clip window */
-- }
-- else
-- {
-- int block[44];
-- block[0] = gui.window_handle;
-- block[1] = x;
-- block[2] = y - gui.char_height;
-- block[3] = (col + len) * gui.char_width;
-- block[4] = y;
-- swi(Wimp_UpdateWindow, 0, block);
-- while (r0)
-- {
-- ro_draw_string(x + block[1], y + block[4],
-- s, len, flags, &block[7]); /* JK230798, added clip window */
-- swi(Wimp_GetRectangle, 0, block);
-- }
-- }
-- }
--
-- /*
-- * Return OK if the key with the termcap name "name" is supported.
-- */
-- int
-- gui_mch_haskey(char_u *name)
-- {
-- return FAIL;
-- }
--
-- void
-- gui_mch_beep(void)
-- {
-- swi(OS_WriteI + 7);
-- }
--
-- /*
-- * Visual bell.
-- */
-- void
-- gui_mch_flash(int msec)
-- {
-- /* TODO */
-- }
--
--
-- /*
-- * Plot a solid rectangle using the given plot action and colour.
-- * Coordinates are inclusive and window-relative.
-- */
-- void
-- plot_rectangle(plot, colour, minx, miny, maxx, maxy)
-- int plot; /* OS_Plot action */
-- int colour;
-- int minx;
-- int miny;
-- int maxx;
-- int maxy;
-- {
-- if (redraw_block)
-- {
-- swi(ColourTrans_SetColour, colour, 0, 0, 0, 0);
-- swi(OS_Plot, 4, minx + redraw_block[1], miny + redraw_block[4]);
-- swi(OS_Plot, plot, maxx + redraw_block[1], maxy + redraw_block[4]);
-- }
-- else
-- {
-- int block[44];
-- block[0] = gui.window_handle;
-- block[1] = minx;
-- block[2] = miny;
-- block[3] = maxx + 1;
-- block[4] = maxy + 1;
-- swi(Wimp_UpdateWindow, 0, block);
-- while (r0)
-- {
-- swi(ColourTrans_SetColour, colour, 0, 0, 0, 0);
-- swi(OS_Plot, 4, minx + block[1], miny + block[4]);
-- swi(OS_Plot, plot, maxx + block[1], maxy + block[4]);
-- swi(Wimp_GetRectangle, 0, block);
-- }
-- }
-- }
--
-- /*
-- * Invert a rectangle from row r, column c, for nr rows and nc columns.
-- */
-- void
-- gui_mch_invert_rectangle(int r, int c, int nr, int nc)
-- {
-- plot_rectangle(96 + 6, 0, FILL_X(c), -FILL_Y(r + nr), FILL_X(c + nc), -FILL_Y(r));
-- }
--
-- /*
-- * Iconify the GUI window.
-- */
-- void
-- gui_mch_iconify(void)
-- {
-- }
--
-- #if defined(FEAT_EVAL) || defined(PROTO)
-- /*
-- * Bring the Vim window to the foreground.
-- */
-- void
-- gui_mch_set_foreground()
-- {
-- /* TODO */
-- }
-- #endif
--
-- /* Draw a hollow rectangle relative to the current
-- * graphics cursor position, with the given width
-- * and height. Start position is top-left.
-- */
-- void
-- draw_hollow(w, h)
-- int w;
-- int h;
-- {
-- swi(OS_Plot, 1, w - 1, 0);
-- swi(OS_Plot, 1, 0, 1 - h);
-- swi(OS_Plot, 1, 1 - w, 0);
-- swi(OS_Plot, 1, 0, h - 1);
-- }
--
-- /*
-- * Draw a cursor without focus.
-- */
-- void
-- gui_mch_draw_hollow_cursor(guicolor_T colour)
-- {
-- int x = FILL_X(gui.cursor_col); /* Window relative, top-left */
-- int y = -FILL_Y(gui.cursor_row);
-- if (redraw_block == NULL)
-- {
-- int block[11];
--
-- block[0] = gui.window_handle;
-- block[1] = x;
-- block[2] = y - gui.char_height;
-- block[3] = x + gui.char_width;
-- block[4] = y;
-- swi(Wimp_UpdateWindow, 0, block);
-- while (r0)
-- {
-- swi(ColourTrans_SetGCOL, colour << 8, 0, 0, 0, 0);
--
-- swi(OS_Plot, 4, x + block[1], y + block[4] - 1);
-- draw_hollow(gui.char_width, gui.char_height);
--
-- swi(Wimp_GetRectangle, 0, block);
-- }
-- }
-- else
-- {
-- swi(ColourTrans_SetGCOL, colour << 8, 0, 0, 0, 0);
--
-- swi(OS_Plot, 4, x + redraw_block[1], y + redraw_block[4] - 1);
-- draw_hollow(gui.char_width, gui.char_height);
-- }
-- }
--
-- /*
-- * Draw part of a cursor, "w" pixels wide, and "h" pixels high, using
-- * color "color".
-- */
-- void
-- gui_mch_draw_part_cursor(w, h, colour)
-- int w;
-- int h;
-- guicolor_T colour;
-- {
-- int x = FILL_X(gui.cursor_col);
-- int y = -FILL_Y(gui.cursor_row);
-- swi(ColourTrans_ReturnGCOL, colour << 8);
-- plot_rectangle(96 + 5, r0, x, y - h, x + w - 1, y - 1);
-- }
--
-- /*
-- * Catch up with any queued events. This may put keyboard input into the
-- * input buffer, call resize call-backs, trigger timers etc.
-- * If there is nothing in the event queue(& no timers pending), then we return
-- * immediately (well, after a Wimp_Poll).
-- */
-- void
-- gui_mch_update(void)
-- {
-- int block[64];
-- int reason;
--
-- swi(OS_ReadMonotonicTime);
-- if ((r0 - time_of_last_poll) < 50)
-- return; /* Don't return too often */
--
-- reason = wimp_poll(0, block);
-- if (reason)
-- process_event(reason, block);
-- ro_return_early = FALSE; /* We're returning anyway. */
-- }
--
-- void
-- redraw_window(block)
-- int *block;
-- {
-- int x, y; /* Vim workarea coords */
-- int width, height;
-- int blank_col;
--
-- swi(ColourTrans_ReturnGCOL, UNUSED_COLOUR << 8, 0, 0, 1<<7, 0);
-- blank_col = r0;
--
-- swi(Wimp_RedrawWindow, 0, block);
-- redraw_block = block;
-- while (r0)
-- {
-- x = block[7] - block[1];
-- y = block[4] - block[10];
-- width = block[9] - block[7];
-- height = block[10] - block[8];
--
-- if (height + y > Rows * gui.char_height)
-- {
-- /* Blank everything off the bottom. */
-- plot_rectangle(96 + 5, blank_col,
-- 0, block[8] - block[4],
-- block[9] - block[1], -FILL_Y(Rows) - 1);
-- height = Rows * gui.char_height;
-- }
-- if (width + x> Columns * gui.char_width)
-- {
-- /* Blank everything off to the right. */
-- plot_rectangle(96 + 5, blank_col,
-- FILL_X(Columns), block[8] - block[4],
-- block[9] - block[1], 0);
-- width = Columns * gui.char_width;
-- }
-- gui_redraw(x , y, width, height);
-- swi(Wimp_GetRectangle, 0, block);
-- }
-- redraw_block = NULL;
-- }
--
-- /* Check if we have modified data.
-- * If we do then ack the message to stop the shutdown.
-- * Otherwise, ignore the message.
-- */
-- void
-- ro_prequit(block)
-- int *block;
-- {
-- if (!ro_ok_to_quit())
-- {
-- /* Not OK to quit - stop shutdown */
-- block[3] = block[2];
-- swi(Wimp_SendMessage, 19, block, block[1]);
-- }
-- /* Do nothing. We may get a Message_Quit later. */
-- }
--
-- /* If there is unsaved data then ask the user if they mind losing it.
-- * Return TRUE if we can quit without saving, FALSE to halt the
-- * shutdown.
-- */
-- int
-- ro_ok_to_quit()
-- {
-- int old_confirm = cmdmod.confirm;
--
-- cmdmod.confirm = FALSE; /* Use our own, single tasking, box */
--
-- if (check_changed_any(FALSE))
-- {
-- swi(Wimp_ReportError,
-- "\0\0\0\0Vim contains unsaved data - quit anyway?",
-- 0x17,
-- "Vim");
-- cmdmod.confirm = old_confirm;
-- if (r1 != 1)
-- return FALSE;
-- }
-- cmdmod.confirm = old_confirm;
-- return TRUE;
-- }
--
-- /* Quit without checking for unsaved data. */
-- void
-- ro_quit()
-- {
-- exiting = TRUE;
-- getout(0);
--
-- exiting = FALSE; /* probably can't get here */
-- setcursor(); /* position cursor */
-- out_flush();
-- }
--
-- /* Insent the given vim special code into the input buffer */
-- void
-- ro_press(a, b, modifier)
-- char a;
-- char b;
-- int modifier; /* %<Ctrl><Shift> 0000 0000 */
-- {
-- char_u buf[6];
-- int vim_mod;
-- int key;
--
--
-- /* Convert RISC OS modifier to Vim modifier. */
-- vim_mod = ((modifier & 0x10) ? MOD_MASK_SHIFT : 0)
-- | ((modifier & 0x20) ? MOD_MASK_CTRL : 0);
-- key = simplify_key(TERMCAP2KEY(a, b), &vim_mod);
--
-- buf[3] = CSI;
-- buf[4] = KEY2TERMCAP0(key);
-- buf[5] = KEY2TERMCAP1(key);
-- if (vim_mod)
-- {
-- buf[0] = CSI;
-- buf[1] = KS_MODIFIER;
-- buf[2] = vim_mod;
-- add_to_input_buf(buf, 6);
-- }
-- else
-- add_to_input_buf(buf + 3, 3);
-- }
--
-- /* Take a wimp key code and insert the vim equivalent
-- * into vim's input buffer.
-- * CTRL-C also sets got_int.
-- */
-- void
-- ro_insert_key(code)
-- char_u *code; /* Wimp_ProcessKey code (4 bytes) */
-- {
-- char a = code[0];
-- char b = code[1];
-- int base, modifier;
--
-- if (a == 3 && ctrl_c_interrupts)
-- got_int = TRUE;
--
-- /* Is it a normal key? */
-- if (a > 31 && a < 127)
-- {
-- add_to_input_buf(code, 1);
-- return;
-- }
--
-- /* We should pass any unrecognised keys on, but
-- * for now just pass on F12 combinations.
-- */
-- switch (b)
-- {
-- case 0:
-- /* Home and Delete are the only special cases */
-- switch (a)
-- {
-- case 0x1e:
-- ro_press('k','h', 0); /* Home */
-- return;
-- case 0x7f:
-- ro_press('k','D', 0); /* Delete */
-- return;
-- case CSI:
-- {
-- /* Turn CSI into K_CSI. Untested! */
-- char_u string[3] = {CSI, KS_EXTRA, KE_CSI};
--
-- add_to_input_buf(string, 3);
-- return;
-- }
-- default:
-- add_to_input_buf(code, 1);
-- return;
-- }
-- case 1:
-- if ((a & 0xcf) == 0xcc)
-- {
-- /* F12 pressed - pass it on (quick hack) */
-- swi(Wimp_ProcessKey, a | 0x100);
-- return;
-- }
-- base = a & 0xcf;
-- modifier = a & 0x30;
-- switch (base)
-- {
-- case 0x8a: /* Tab */
-- add_to_input_buf("\011", 1);
-- return;
-- case 0x8b: /* Copy (End) */
-- return ro_press('@', '7', modifier);
-- case 0x8c: /* Left */
-- return ro_press('k', 'l', modifier);
-- case 0x8d: /* Right */
-- return ro_press('k', 'r', modifier);
-- case 0x8e: /* Down */
-- if (modifier & 0x10)
-- return ro_press('k', 'N', modifier ^ 0x10);
-- else
-- return ro_press('k', 'd', modifier);
-- case 0x8f: /* Up */
-- if (modifier & 0x10)
-- return ro_press('k', 'P', modifier ^ 0x10);
-- else
-- return ro_press('k', 'u', modifier);
-- case 0xca: /* F10 */
-- return ro_press('k', ';', modifier);
-- case 0xcb: /* F11 */
-- return ro_press('F', '1', modifier);
-- case 0xcd: /* Insert */
-- return ro_press('k', 'I', modifier);
-- default:
-- if (base > 0x80 && base < 0x18a)
-- {
-- /* One of the other function keys */
-- return ro_press('k', '0' + (base & 15), modifier);
-- }
-- }
-- }
-- }
--
-- /* Process a mouse event. */
-- void
-- ro_mouse(block)
-- int *block;
-- {
-- int x, y, button, vim_button;
-- int modifiers = 0;
-- int min_x, min_y; /* Visible area of editor window */
-- int max_x, max_y;
--
-- if (block[3] != gui.window_handle || ro_dragging)
-- return; /* Not our window or ignoring clicks*/
--
-- x = block[0]; /* Click position - screen coords */
-- y = block[1];
-- button = block[2];
--
-- block[0] = gui.window_handle;
-- swi(Wimp_GetWindowState, 0, block);
-- min_x = block[1];
-- min_y = block[2];
-- max_x = block[3];
-- max_y = block[4];
--
-- if (block[3] - x < gui.scrollbar_width)
-- {
-- /* Click in that blank area under the scrollbars */
--
-- if (button & 0x444)
-- {
-- int front_block[64];
-- /* Dragging with Select - bring window to front first */
-- front_block[0] = gui.window_handle;
-- swi(Wimp_GetWindowState, 0, front_block);
-- front_block[7] = -1;
-- ro_open_main(front_block);
-- }
--
-- block[0] = gui.window_handle;
-- block[1] = 7; /* Drag point */
-- block[2] = block[4] = 0; /* Coords of point. */
-- block[3] = block[5] = 0;
-- drag_x_offset = max_x - x;
-- drag_y_offset = min_y - y;
--
-- /* Parent box. */
-- block[6] = min_x +
-- gui.scrollbar_width * 2 +
-- MIN_COLUMNS * gui.char_width;
-- block[7] = 0;
-- gui_mch_get_screen_dimensions(&block[8], &block[9]);
-- block[9] = max_y -
-- 4 * gui.char_height -
-- gui.scrollbar_height;
--
-- swi(Wimp_DragBox, 0, block);
-- ro_dragging = DRAG_RESIZE_WINDOW;
-- drag_button = vim_button;
-- drag_modifiers = modifiers;
-- return;
-- }
--
-- if (button & 0x111)
-- vim_button = MOUSE_RIGHT;
-- else if (button & 0x222)
-- vim_button = MOUSE_MIDDLE;
-- else
-- vim_button = MOUSE_LEFT;
--
-- swi(OS_Byte, 121, 0x80);
-- if (r1 == 0xff)
-- modifiers |= MOUSE_SHIFT;
-- swi(OS_Byte, 121, 0x81);
-- if (r1 == 0xff)
-- modifiers |= MOUSE_CTRL;
-- swi(OS_Byte, 121, 0x82);
-- if (r1 == 0xff)
-- modifiers |= MOUSE_ALT;
--
-- if (button == 2)
-- {
-- /* Menu click:
-- * If shift was pressed then do the paste action.
-- * If not, then open the pop-up menu.
-- */
-- modifiers ^= MOUSE_SHIFT;
-- if (modifiers && MOUSE_SHIFT)
-- {
-- vimmenu_T main;
-- /* Shift was NOT pressed - show menu */
-- main.dname = (char_u *) "Vim";
-- main.children = root_menu;
-- gui_mch_show_popupmenu(&main);
-- return;
-- }
-- }
--
-- /* Gain the input focus */
-- swi(Wimp_SetCaretPosition, gui.window_handle, -1, 0, 0, -1, -1);
--
-- if (button & 0xf0)
-- {
-- /* Drag operation:
-- *
-- * Tell the Wimp to start a drag.
-- * Monitor null events.
-- */
-- block[1] = 7; /* Drag a point. */
-- block[2] = block[4] = x; /* Coords of point. */
-- block[3] = block[5] = y;
-- block[6] = 0; /* Coords of bounding box. */
-- block[7] = 0;
-- gui_mch_get_screen_dimensions(&block[8], &block[9]);
--
-- drag_x_offset = drag_y_offset = 0;
--
-- swi(Wimp_DragBox, 0, block);
-- ro_dragging = DRAG_SELECTION;
-- drag_button = vim_button;
-- drag_modifiers = modifiers;
--
-- vim_button |= MOUSE_DRAG;
-- }
--
-- gui_send_mouse_event(
-- vim_button,
-- x - min_x,
-- max_y - y,
-- button & 0xf ? TRUE : FALSE, /* dclick */
-- modifiers);
-- }
--
-- void
-- ro_continue_drag(block)
-- int *block; /* Just used as scrap. */
-- {
-- int x, y;
--
-- /* Get screen coords of pointer. */
-- swi(Wimp_GetPointerInfo, 0, block);
-- x = block[0] + drag_x_offset;
-- y = block[1] + drag_y_offset;
--
-- block[0] = gui.window_handle;
-- swi(Wimp_GetWindowState, 0, block);
--
-- if (ro_dragging == DRAG_RESIZE_WINDOW)
-- {
-- /* Resizing the main window. */
-- block[2] = y;
-- block[3] = x;
-- ro_open_main(block);
-- }
-- else
-- {
-- /* Selecting some text. */
-- gui_send_mouse_event(
-- drag_button | MOUSE_DRAG, /* Always report the same button */
-- x - block[1],
-- block[4] - y,
-- FALSE, /* Not a double click. */
-- drag_modifiers);
-- }
-- }
--
-- /* User has released all mouse buttons, marking the end of a drag. */
-- void
-- ro_drag_finished(block)
-- int *block;
-- {
-- int x;
-- int y;
-- int width, height;
--
-- /* I don't trust the box returned by Wimp_Poll; look at the pointer
-- * ourselves.
-- */
-- swi(Wimp_GetPointerInfo, 0, block);
-- x = block[0] + drag_x_offset;
-- y = block[1] + drag_y_offset;
--
-- if (ro_dragging == DRAG_RESIZE_WINDOW)
-- {
-- block[0] = gui.window_handle;
-- swi(Wimp_GetWindowState, 0, block);
-- block[2] = y;
-- block[3] = x;
-- ro_open_main(block);
--
-- width = (block[3] - block[1]);
-- height = (block[4] - block[2]);
--
-- swi(Wimp_ForceRedraw, gui.window_handle, 0, -height, width, 0);
-- gui_resize_shell(width, height);
-- }
-- else
-- {
-- block[0] = gui.window_handle;
-- swi(Wimp_GetWindowState, 0, block);
-- gui_send_mouse_event(
-- MOUSE_RELEASE,
-- x - block[1],
-- block[4] - y,
-- FALSE, /* not a double click */
-- drag_modifiers);
-- }
-- ro_dragging = DRAG_FALSE;
-- }
--
-- /* Load the file/pathname given in block into a [new] buffer.
-- *
-- * Modifier Action
-- *
-- * None :confirm e <file>
-- * Ctrl :sp <file>
-- * Shift <file>
-- *
-- * Insert into typebuf, at the start.
-- * If loading from !Scrap then use saved leafname instead, and
-- * delete the scrap file. Also, ignore shift key.
-- *
-- * NB: Doesn't send DataLoadAck (other app might delete temp file?).
-- */
-- void
-- ro_dataload(block)
-- int *block;
-- {
-- char_u new_path[MAXPATHL];
-- char_u *path = ((char_u *) block) + 44;
-- int scrap = FALSE;
--
-- if (block[3] == leaf_ref && leaf_name)
-- scrap = TRUE;
--
-- switch (get_real_state() & 0xff)
-- {
-- case INSERT:
-- case CMDLINE:
-- case CMDLINE+LANGMAP:
-- /* For insert mode we can only insert the pathname (currently)
-- * Make sure Shift is pressed.
-- */
-- swi(OS_Byte, 121, 0x80); /* Is Shift pressed? */
-- if (r1 == 0xff)
-- {
-- ins_typebuf(" ", REMAP_NONE, 0, TRUE, FALSE);
-- ins_typebuf(path, REMAP_NONE, 0, TRUE, FALSE);
-- ro_return_early = TRUE; /* Return even though nothing was typed. */
-- }
-- else
-- swi(Wimp_ReportError,
-- "\0\0\0\0Sorry, you can only load text in normal mode", 5, "Vim");
-- break;
--
-- case NORMAL:
-- ro_return_early = TRUE; /* Return even though nothing was typed. */
--
-- if (scrap) /* Remove <Wimp$Scrap>. Later. */
-- ins_typebuf(":!~remove <Wimp$Scrap>\r", REMAP_NONE, 0, TRUE, FALSE);
--
-- /* Insert {:sp ,:confirm e }[+f\ <leaf> ]<file><CR> */
-- ins_typebuf("\r", REMAP_NONE, 0, TRUE, FALSE);
-- ins_typebuf(path, REMAP_NONE, 0, TRUE, FALSE);
-- ins_typebuf(" ", REMAP_NONE, 0, TRUE, FALSE);
--
-- if (scrap)
-- {
-- /* Loading via !Scrap - change pathname to stored leafname */
-- ins_typebuf(leaf_name, REMAP_NONE, 0, TRUE, FALSE);
-- ins_typebuf(" +f\\ ", REMAP_NONE, 0, TRUE, FALSE);
-- leaf_ref = 0;
-- vim_free(leaf_name);
-- leaf_name = NULL;
-- }
--
-- swi(OS_Byte, 121, 0x81); /* Is Ctrl pressed? */
-- if (r1 == 0xff)
-- /* Yes, split window */
-- ins_typebuf(":sp", REMAP_NONE, 0, TRUE, FALSE);
-- else
-- ins_typebuf(":confirm e", REMAP_NONE, 0, TRUE, FALSE);
-- break;
--
-- default:
-- swi(Wimp_ReportError, "\0\0\0\0You can only load text in normal mode.", 5, "Vim");
-- }
-- /* Send DataSaveAck so other program doesn't think we died
-- * and delete <Wimp$Scrap>.
-- */
-- block[3] = block[2];
-- block[4] = 4;
-- swi(Wimp_SendMessage, 17, block, block[1]);
-- }
--
-- void
-- ro_datasave(block)
-- int *block;
-- {
-- char_u *path = ((char_u *) block) + 44;
--
-- /* Preserve the name given so we can use it, not <Wimp$Scrap> */
-- if (leaf_name)
-- vim_free(leaf_name);
-- leaf_name = vim_strsave(path);
--
-- block[9] = -1; /* File is unsafe. */
-- strcpy(path, "<Wimp$Scrap>");
-- block[0] = 60;
-- block[3] = block[2];
-- block[4] = 2;
-- swi(Wimp_SendMessage, 17, block, block[1]);
--
-- leaf_ref = block[2];
-- }
--
-- void
-- ro_message(block)
-- int *block;
-- {
-- char_u *buffer;
-- long_u len;
--
-- if (block[1] == task_handle)
-- return; /* Don't talk to ourself! */
-- switch (block[4])
-- {
-- case 0: /* Quit. */
-- if (block[4] == 0)
-- ro_quit();
-- break;
-- case 1: /* DataSave */
-- ro_datasave(block);
-- break;
-- case 2: /* DataSaveAck. */
-- if (clip_convert_selection(&buffer, &len, &clip_star) == -1)
-- return;
--
-- /* Save the clipboard contents to a file. */
-- swi(OS_File, 10, ((char_u *) block) + 44, 0xfff, 0, buffer, buffer + len);
--
-- /* Ack with DataLoad message. */
-- block[3] = block[2];
-- block[4] = 3;
-- block[9] = len;
-- swi(Wimp_SendMessage, 17, block, block[1]);
--
-- vim_free(buffer);
-- break;
-- case 3: /* DataLoad */
-- ro_dataload(block);
-- break;
-- case 8: /* PreQuit */
-- ro_prequit(block);
-- break;
-- case 0xf: /* Lose clipboard. */
-- if (block[5] & 4)
-- {
-- clip_free_selection(&clip_star);
-- clip_star.owned = FALSE;
-- }
-- break;
-- case 0x10: /* DataRequest (clip_star) */
-- if (clip_star.owned)
-- {
-- int rows;
--
-- /* Tell other program that we have the clipboard. */
-- block[0] = 52;
-- block[3] = block[2]; /* Copy myref to yourref. */
-- block[4] = 1; /* DataSave message. */
-- /* Create an estimate for the size (larger or same as true
-- * value) */
-- rows = clip_star.end.lnum - clip_star.start.lnum;
-- if (rows < 0)
-- rows = -rows;
-- block[9] = (rows + 1) * Columns + 1; /* Add one for possible
-- final newline. */
-- block[10] = 0xfff; /* Clipboard is text. */
-- strcpy( ((char_u *) block) + 44, "VimClip");
-- swi(Wimp_SendMessage, 17, block, block[1]);
-- }
-- break;
-- case 0x400c1: /* Mode change */
-- changed_mode = TRUE; /* Flag - update on next OpenWindow */
-- if (zap_redraw)
-- {
-- /* JK230798, re-initialise ZapRedraw stuff */
-- if (ro_zap_redraw_initialise() == FAIL)
-- zap_redraw = FALSE;
-- }
-- break;
-- case 0x400c3: /* TaskCloseDown */
-- if (block[1] == child_handle)
-- child_handle = 0;
-- break;
-- }
-- }
--
-- /*
-- * Converts a scrollbar's window handle into a scrollbar pointer.
-- * NULL on failure.
-- */
-- scrollbar_T *
-- ro_find_sbar(id)
-- int id;
-- {
-- win_T *wp;
--
-- if (gui.bottom_sbar.id == id)
-- return &gui.bottom_sbar;
-- FOR_ALL_WINDOWS(wp)
-- {
-- if (wp->w_scrollbars[SBAR_LEFT].id == id)
-- return &wp->w_scrollbars[SBAR_LEFT];
-- if (wp->w_scrollbars[SBAR_RIGHT].id == id)
-- return &wp->w_scrollbars[SBAR_RIGHT];
-- }
-- return NULL;
-- }
--
-- void
-- scroll_to(line, sb)
-- int sb; /* Scrollbar number */
-- int line;
-- {
-- char_u code[8];
--
-- /* Don't put events in the input queue now. */
-- if (hold_gui_events)
-- return;
--
-- /* Send a scroll event:
-- *
-- * A scrollbar event is CSI (NOT K_SPECIAL), KS_VER_SCROLLBAR,
-- * KE_FILLER followed by:
-- * one byte representing the scrollbar number, and then four bytes
-- * representing a long_u which is the new value of the scrollbar.
-- */
-- code[0] = CSI;
-- code[1] = KS_VER_SCROLLBAR;
-- code[2] = KE_FILLER;
-- code[3] = sb;
-- code[4] = line >> 24;
-- code[5] = line >> 16;
-- code[6] = line >> 8;
-- code[7] = line;
-- add_to_input_buf(code, 8);
-- }
--
-- void
-- h_scroll_to(col)
-- int col;
-- {
-- char_u code[8];
--
-- /* Don't put events in the input queue now. */
-- if (hold_gui_events)
-- return;
--
-- /* Send a scroll event:
-- *
-- * A scrollbar event is CSI (NOT K_SPECIAL)
-- *
-- * A horizontal scrollbar event is K_SPECIAL, KS_HOR_SCROLLBAR,
-- * KE_FILLER followed by four bytes representing a long_u which is the
-- * new value of the scrollbar.
-- */
-- code[0] = CSI;
-- code[1] = KS_HOR_SCROLLBAR;
-- code[2] = KE_FILLER;
-- code[4] = col >> 24;
-- code[5] = col >> 16;
-- code[6] = col >> 8;
-- code[7] = col;
-- add_to_input_buf(code, 8);
-- }
--
-- void
-- ro_scroll(block)
-- int *block;
-- {
-- scrollbar_T *sb;
-- int offset;
-- win_T *wp;
--
-- /* Block is ready for Wimp_OpenWindow, and also contains:
-- *
-- * +32 = scroll X direction (-2 .. +2)
-- * +36 = scroll Y direction (-2 .. +2)
-- */
--
-- sb = ro_find_sbar(block[0]);
-- if (!sb)
-- return; /* Window not found (error). */
--
-- wp = sb-> wp;
--
-- if (wp == NULL)
-- {
-- /* Horizontal bar. */
-- offset = block[8];
-- if (offset == -2)
-- offset = (block[1] - block[3]) / gui.char_width;
-- else if (offset == 2)
-- offset = (block[3] - block[1]) / gui.char_width;
--
-- block[5] += offset * gui.char_width;
--
-- gui_drag_scrollbar(sb, block[5] / gui.char_width, FALSE);
--
-- swi(Wimp_OpenWindow, 0, block);
-- }
-- else
-- {
-- offset = -block[9];
-- if (offset == -2)
-- offset = -(wp -> w_height - 1);
-- else if (offset == 2)
-- offset = wp -> w_height - 1;
--
-- /* Possibly we should reposition the scrollbar?
-- * Vim seems to update the bar anyway...
-- */
-- gui_drag_scrollbar(sb, offset - (block[6] / gui.char_height), FALSE);
-- }
-- }
--
-- /* Move a window by a given offset. Used to simulate the function of the
-- * nested wimp.
-- */
-- void
-- ro_move_child(window, x, y, pos_wanted, pos_got)
-- int window;
-- int x,y; /* offset to move by */
-- int pos_wanted, pos_got;
-- {
-- int block[10];
--
-- block[0] = window;
-- swi(Wimp_GetWindowState, 0, block);
-- block[1] += x;
-- block[2] += y;
-- block[3] += x;
-- block[4] += y;
-- if (pos_wanted == -1)
-- block[7] = -1;
-- else if (pos_wanted == -2)
-- block[7] = pos_got;
-- swi(Wimp_OpenWindow, 0, block);
-- }
--
-- /* Open the main window. Also updates scrollbars if we are not
-- * using the nested Wimp.
-- * If we have just changed mode then re-read all values.
-- */
-- void
-- ro_open_main(block)
-- int *block;
-- {
-- int toggle_size;
--
-- /* Find out if the user clicked on the toggle size icon. */
-- block[20] = block[0];
-- swi(Wimp_GetWindowState, 0, block + 20);
-- toggle_size = block[28] & (1 << 19);
--
-- if (nested_wimp)
-- {
-- swi(Wimp_OpenWindow, 0, block);
-- }
-- else
-- {
-- int old[10];
-- int x_offset, y_offset; /* Move children same as parent. */
-- int pos_wanted, pos_got;
-- int left_bar = gui.which_scrollbars[SBAR_LEFT];
-- int right_bar = gui.which_scrollbars[SBAR_RIGHT];
-- win_T *wp;
--
-- /* Three cases to think about:
-- * 1) Move to top. Open each window at the top.
-- * 2) Same stack position. Open each with same position.
-- * 3) Open at bottom. Open children with parent's new position.
-- */
--
-- old[0] = block[0];
-- swi(Wimp_GetWindowState, 0, old);
-- pos_wanted = block[7];
-- swi(Wimp_OpenWindow, 0, block);
-- /* Block updated by OpenWindow? I don't think so! */
-- swi(Wimp_GetWindowState, 0, block);
-- pos_got = block[7];
--
-- x_offset = block[1] - old[1];
-- y_offset = block[4] - old[4];
-- if (x_offset || y_offset || pos_wanted == -1 || pos_wanted == -2)
-- {
-- /* If parent has moved, re-open all the child windows. */
-- FOR_ALL_WINDOWS(wp)
-- {
-- /* Reopen scrollbars for this window. */
-- if (left_bar)
-- ro_move_child(wp -> w_scrollbars[SBAR_LEFT].id,
-- x_offset, y_offset,
-- pos_wanted, pos_got);
-- if (right_bar)
-- ro_move_child(wp -> w_scrollbars[SBAR_RIGHT].id,
-- x_offset, y_offset,
-- pos_wanted, pos_got);
-- }
-- }
-- }
-- if (changed_mode || toggle_size)
-- {
-- int width, height;
--
-- if (changed_mode)
-- ro_measure_tools();
-- block[0] = gui.window_handle;
-- swi(Wimp_GetWindowState, 0, block);
--
-- width = block[3] - block[1];
-- height = block[4] - block[2];
-- swi(Wimp_ForceRedraw, gui.window_handle, 0, -height, width, 0);
-- gui_resize_shell(width, height);
-- changed_mode = FALSE;
-- }
-- }
--
-- void
-- ro_open_window(block)
-- int *block;
-- {
-- int pos;
-- scrollbar_T *sb;
--
-- if (block[0] == gui.window_handle)
-- ro_open_main(block);
-- else
-- {
-- swi(Wimp_OpenWindow, 0, block);
-- if (block[0] != gui.window_handle)
-- {
-- sb = ro_find_sbar(block[0]);
-- if (sb)
-- {
-- if (sb-> wp != NULL)
-- gui_drag_scrollbar(sb, -block[6] / gui.char_height, FALSE);
-- else
-- gui_drag_scrollbar(sb, block[5] / gui.char_width, FALSE);
-- }
-- }
-- }
-- }
--
-- void
-- ro_menu_selection(block)
-- int *block;
-- {
-- int *item = wimp_menu + 7;
-- vimmenu_T *menu;
-- /* wimp_menu points to a wimp menu structure */
--
-- for (;;)
-- {
-- while (block[0]--)
-- item += 6;
-- if (block[1] == -1)
-- break;
-- item = ((int *) item[1]) + 7;
-- block++;
-- }
-- /* item points to the wimp menu item structure chosen */
-- menu = (vimmenu_T *) item[5];
--
-- swi(Wimp_GetPointerInfo, 0, block);
-- if (block[2] == 1)
-- /* Adjust used - keep menu open */
-- swi(Wimp_CreateMenu, 0, wimp_menu);
--
-- if (menu-> cb)
-- menu-> cb(menu);
-- }
--
-- void
-- ro_open_parent()
-- {
-- int head;
-- char_u *i = curbuf-> b_ffname;
-- char_u buffer[256];
--
-- head = 0;
-- for (; *i; i++)
-- {
-- if (*i == '.')
-- head = i - curbuf-> b_ffname;
-- }
--
-- /* Append head chars to buffer */
-- if (head < 240 && curbuf-> b_ffname && head)
-- {
-- strcpy(buffer, "%filer_opendir ");
-- strncpy(buffer + 15, curbuf-> b_ffname, head);
-- buffer[15 + head] = '\0';
-- swi(OS_CLI, buffer);
-- }
-- }
--
-- void
-- process_event(event, block)
-- int event;
-- int *block;
-- {
-- switch (event)
-- {
-- case 0: /* Nothing - update drag state. */
-- if (ro_dragging)
-- ro_continue_drag(block);
-- break;
-- case 1: /* Redraw window. */
-- redraw_window(block);
-- break;
-- case 2: /* Open window. */
-- ro_open_window(block);
-- break;
-- case 3: /* Close window. */
-- swi(Wimp_GetPointerInfo, 0, block + 1);
-- if (block[3] == 1)
-- ro_open_parent();
-- else
-- if (ro_ok_to_quit())
-- ro_quit();
-- break;
-- case 6: /* Mouse click. */
-- ro_mouse(block);
-- break;
-- case 7: /* Finished drag. */
-- ro_drag_finished(block);
-- break;
-- case 8: /* Key pressed. */
-- ro_insert_key((char_u *) &block[6]);
-- break;
-- case 9:
-- ro_menu_selection(block);
-- break;
-- case 10: /* Scroll request. */
-- ro_scroll(block);
-- break;
-- case 11: /* Lose caret. */
-- if (block[0] == gui.window_handle)
-- gui_focus_change(FALSE);
-- break;
-- case 12: /* Gain caret. */
-- if (block[0] == gui.window_handle)
-- gui_focus_change(TRUE);
-- break;
-- case 17: /* User message. */
-- case 18: /* User message recorded. */
-- ro_message(block);
-- break;
-- }
-- }
--
-- /*
-- * GUI input routine called by gui_wait_for_chars(). Waits for a character
-- * from the keyboard.
-- * wtime == -1 Wait forever.
-- * wtime == 0 This should never happen.
-- * wtime > 0 Wait wtime milliseconds for a character.
-- * Returns OK if a character was found to be available within the given time,
-- * or FAIL otherwise.
-- */
-- int
-- gui_mch_wait_for_chars(long wtime)
-- {
-- int block[64];
-- int reason;
-- int start_time = -1;
-- int ctime = wtime / 10; /* delay in cs */
--
-- if (wtime != -1)
-- {
-- swi(OS_ReadMonotonicTime);
-- start_time = r0;
-- }
--
-- for (;;)
-- {
-- if (ro_dragging)
-- reason = wimp_poll(0, block); /* Always return immediately */
-- else if (wtime == -1)
-- reason = wimp_poll(1, block);
-- else
-- reason = wimp_pollidle(0, block, start_time + ctime);
--
-- process_event(reason, block);
--
-- if (input_available() || ro_return_early)
-- {
-- ro_return_early = FALSE;
-- return OK; /* There is something to process (key / menu event) */
-- }
--
-- if (wtime != -1)
-- {
-- swi(OS_ReadMonotonicTime);
-- if (r0 - start_time > ctime)
-- return FAIL; /* We've been waiting too long - return failure */
-- }
-- }
-- }
--
-- /* Flush any output to the screen */
-- void
-- gui_mch_flush(void)
-- {
-- }
--
-- /*
-- * Clear a rectangular region of the screen from text pos(row1, col1) to
-- * (row2, col2) inclusive.
-- */
-- void
-- gui_mch_clear_block(int row1, int col1, int row2, int col2)
-- {
-- swi(ColourTrans_ReturnGCOL, gui.back_pixel << 8, 0, 0, 1<<7, 0);
-- plot_rectangle(96 + 5, r0,
-- FILL_X(col1), -FILL_Y(row2 + 1),
-- FILL_X(col2 + 1), -FILL_Y(row1));
-- }
--
-- void
-- gui_mch_clear_all(void)
-- {
-- if (redraw_block)
-- {
-- swi(ColourTrans_SetGCOL, gui.back_pixel << 8, 0, 0, 1<<7, 0);
-- swi(OS_WriteI + 16);
-- }
-- else
-- {
-- int block[44];
-- block[0] = gui.window_handle;
-- block[1] = 0;
-- block[2] = -gui.num_rows * gui.char_height;
-- block[3] = gui.num_cols * gui.char_width;
-- block[4] = 0;
-- swi(Wimp_UpdateWindow, 0, block);
-- while (r0)
-- {
-- swi(ColourTrans_SetGCOL, gui.back_pixel << 8, 0, 0, 1<<7, 0);
-- swi(OS_WriteI + 16);
-- swi(Wimp_GetRectangle, 0, block);
-- }
-- }
-- }
--
-- /*
-- * Delete the given number of lines from the given row, scrolling up any
-- * text further down within the scroll region.
-- */
-- void
-- gui_mch_delete_lines(int row, int num_lines)
-- {
-- int top_from = -row - num_lines;
-- int bot_from = -gui.scroll_region_bot - 1;
-- int bot_to = bot_from + num_lines;
--
-- swi(ColourTrans_SetGCOL, gui.back_pixel << 8, 0, 0, 0x80, 0);
--
-- /* Changed without checking! */
-- swi(Wimp_BlockCopy, gui.window_handle,
-- gui.scroll_region_left * gui.char_width,
-- bot_from * gui.char_height,
-- (gui.scroll_region_right - gui.scroll_region_left
-- + 1) * gui.char_width,
-- top_from * gui.char_height,
--
-- gui.scroll_region_left * gui.char_width,
-- bot_to * gui.char_height);
--
-- gui_clear_block(gui.scroll_region_bot - num_lines + 1,
-- gui.scroll_region_left,
-- gui.scroll_region_bot, gui.scroll_region_right);
-- }
--
-- /*
-- * Insert the given number of lines before the given row, scrolling down any
-- * following text within the scroll region.
-- */
-- void
-- gui_mch_insert_lines(int row, int num_lines)
-- {
-- int top_from = -row;
-- int bot_to = -gui.scroll_region_bot - 1;
-- int bot_from = bot_to + num_lines;
--
-- swi(ColourTrans_SetGCOL, gui.back_pixel << 8, 0, 0, 0x80, 0);
--
-- swi(Wimp_BlockCopy, gui.window_handle,
-- gui.scroll_region_left * gui.char_width,
-- bot_from * gui.char_height,
-- (gui.scroll_region_right - gui.scroll_region_left
-- + 1) * gui.char_width,
-- top_from * gui.char_height,
--
-- gui.scroll_region_left * gui.char_width,
-- bot_to * gui.char_height);
--
-- gui_clear_block(row, gui.scroll_region_left,
-- row + num_lines - 1, gui.scroll_region_right);
-- }
--
-- /* Put selection in clipboard buffer.
-- * Should we become the new owner?
-- */
-- void
-- clip_mch_request_selection(VimClipboard *cbd)
-- {
-- int block[64]; /* Will be used in Wimp_Poll. */
-- int reason;
-- char_u *buffer;
-- long_u length;
--
-- block[0] = 48; /* Size of block. */
-- block[3] = 0; /* Original message. */
-- block[4] = 0x10; /* Data request. */
-- block[5] = gui.window_handle;
-- block[6] = RO_LOAD_CLIPBOARD; /* Internal handle. */
-- block[7] = block[8] = 0; /* (x,y) not used. */
-- block[9] = 4;
-- block[10] = 0xfff; /* We want text files if possible, I think. */
-- block[11] = -1; /* End of list. */
-- swi(Wimp_SendMessage, 17, block, 0); /* Broadcast request. */
--
-- /* OK, we've sent the request. Poll until we get a null poll (failure) or
-- * we load the clipboard.
-- * If we receive a DataSave event with icon handle = -2 then put it on the
-- * clipboard. RISC OS should ensure that key events will not be delivered
-- * until the clipboard operation completes (unless the owner starts idling
-- * - we can't wait forever!).
-- */
-- for (;;)
-- {
-- reason = wimp_poll(0, block);
-- if (reason == 0)
-- return; /* Failed to get clipboard. */
-- if ((reason == 17 || reason == 18) &&
-- block[4] == 1 && block[6] == RO_LOAD_CLIPBOARD)
-- break; /* Got it - stop waiting. */
-- process_event(reason, block);
-- if (ro_return_early)
-- return;
-- }
-- /* Tell owner to save data in <Wimp$Scrap>. */
-- block[0] = 60;
-- block[3] = block[2]; /* Copy myref -> yourref */
-- block[4] = 2; /* DataSaveAck. */
-- block[9] = -1; /* Data is unsafe. */
-- strcpy( ((char_u *) block) + 44, "<Wimp$Scrap>");
-- swi(Wimp_SendMessage, 17, block, block[1]);
--
-- /* Wait again for reply. */
-- for (;;)
-- {
-- reason = wimp_poll(0, block);
-- if (reason == 0)
-- return; /* Other program has given up! */
-- if ((reason == 17 || reason == 18) && block[4] == 3 && block[6] == RO_LOAD_CLIPBOARD)
-- break; /* Clipboard data saved to <Wimp$Scrap> */
-- process_event(reason, block);
-- if (ro_return_early)
-- return;
-- }
--
-- /* <Wimp$Scrap> contains clipboard - load it. */
-- if (xswi(OS_File, 17, "<Wimp$Scrap>") & v_flag)
-- return; /* Error! */
-- if (r0 != 1 && r0 != 3)
-- return;
-- length = r4;
--
-- buffer = lalloc(length, TRUE); /* Claim memory (and report errors). */
-- if (buffer == NULL)
-- return;
--
-- if (xswi(OS_File, 16, "<Wimp$Scrap>", buffer, 0) & v_flag)
-- return;
--
-- clip_yank_selection(MCHAR, buffer, length, cbd);
--
-- vim_free(buffer);
--
-- swi(OS_FSControl, 27, "<Wimp$Scrap>", 0, 0); /* Delete temp file. */
--
-- block[4] = 4; /* Send DataLoadAck. */
-- block[3] = block[2]; /* Copy myref -> yourref. */
-- swi(Wimp_SendMessage, 17, block, block[1]);
-- }
--
-- /* Not sure what this means under RISC OS. */
-- void
-- clip_mch_lose_selection(VimClipboard *cbd)
-- {
-- }
--
-- /* Tell everyone that we now own the clipboard.
-- * Return OK if our claim is accepted (always, under RISC OS)
-- */
-- int
-- clip_mch_own_selection(VimClipboard *cbd)
-- {
-- int block[6];
-- block[0] = 24; /* Length of block. */
-- block[3] = 0; /* Original message. */
-- block[4] = 0xf; /* ClaimEntity. */
-- block[5] = 0x4; /* Claim clipboard only. */
-- swi(Wimp_SendMessage, 17, block, 0);
-- return OK;
-- }
--
-- /*
-- * Send the current selection to the clipboard. Do nothing for X because we
-- * will fill in the selection only when requested by another app. Sounds good
-- * for RISC OS too.
-- */
-- void
-- clip_mch_set_selection(VimClipboard *cbd)
-- {
-- clip_get_selection(cbd);
-- }
--
-- /*
-- * Make a menu either grey or not grey.
-- */
-- void
-- gui_mch_menu_grey(vimmenu_T *menu, int grey)
-- {
-- menu-> greyed_out = grey;
-- }
--
-- /*
-- * Make menu item hidden or not hidden
-- */
-- void
-- gui_mch_menu_hidden(vimmenu_T *menu, int hidden)
-- {
-- menu-> hidden = hidden;
-- }
--
-- /*
-- * This is called after setting all the menus to grey/hidden or not.
-- */
-- void
-- gui_mch_draw_menubar(void)
-- {
-- swi(Wimp_CreateMenu, 0, -1);
-- if (wimp_menu != (int *) -1)
-- {
-- ro_remove_menu(wimp_menu);
-- wimp_menu = (int *) -1;
-- }
-- }
--
-- /* Add or remove a scrollbar. Note that this is only called when
-- * the scrollbar state is changing.
-- * The scroll bar window has already been created.
-- * We can't do anything except remove the scroll bar
-- * until we know what size to use.
-- */
-- void
-- gui_mch_enable_scrollbar(sb, flag)
-- scrollbar_T *sb;
-- int flag;
-- {
-- if (!flag)
-- swi(Wimp_CloseWindow, 0, & (sb->id) );
-- return;
-- }
--
-- void
-- gui_mch_set_blinking(long waittime, long on, long off)
-- {
-- }
--
-- /*
-- * Stop the cursor blinking. Show the cursor if it wasn't shown.
-- */
-- void
-- gui_mch_stop_blink(void)
-- {
-- }
--
-- /*
-- * Start the cursor blinking. If it was already blinking, this restarts the
-- * waiting time and shows the cursor.
-- */
-- void
-- gui_mch_start_blink(void)
-- {
-- }
--
-- /*
-- * Return the RGB value of a pixel as a long.
-- */
-- long_u
-- gui_mch_get_rgb(guicolor_T pixel)
-- {
-- return (long_u)pixel;
-- }
--
-- void
-- gui_mch_set_text_area_pos(int x, int y, int w, int h)
-- {
-- }
--
-- void
-- gui_mch_enable_menu(int flag)
-- {
-- }
--
-- void
-- gui_mch_set_menu_pos(int x, int y, int w, int h)
-- {
-- }
--
-- void
-- gui_mch_add_menu(vimmenu_T *menu, int idx)
-- {
-- }
--
-- void
-- gui_mch_add_menu_item(vimmenu_T *menu, int idx)
-- {
-- }
--
-- void
-- gui_mch_new_menu_colors(void)
-- {
-- }
--
-- void
-- gui_mch_destroy_menu(vimmenu_T *menu)
-- {
-- }
--
-- /* Size of buffer has changed.
-- * Add one to max since gui.c subtracts one more than it should!
-- */
-- void
-- gui_mch_set_scrollbar_thumb(sb, val, size, max)
-- scrollbar_T *sb;
-- long val;
-- long size;
-- long max;
-- {
-- int block[10], width, height;
--
-- width = (max + 1) * gui.char_width;
-- height = (max + 1 + W_STATUS_HEIGHT(sb->wp)) * gui.char_height;
--
-- block[0] = block[3] = 0;
-- block[1] = -height + (1 << y_eigen_factor);
-- block[2] = width;
--
-- swi(Wimp_SetExtent, sb -> id, block);
--
-- block[0] = sb -> id;
-- swi(Wimp_GetWindowState, 0, block);
-- block[5] = val * gui.char_width;
-- block[6] = -val * gui.char_height;
-- swi(Wimp_OpenWindow, 0, block, 0x4b534154,
-- gui.window_handle, /* Parent window handle. */
-- (CHILD_FIX_TO_RIGHT << CHILD_LEFT ) |
-- (CHILD_FIX_TO_RIGHT << CHILD_RIGHT ) |
-- (CHILD_FIX_TO_BOTTOM << CHILD_TOP ) |
-- (CHILD_FIX_TO_BOTTOM << CHILD_BOTTOM) |
-- (CHILD_SELF_SCROLL << CHILD_SCROLL_X) |
-- (CHILD_SELF_SCROLL << CHILD_SCROLL_Y)
-- );
-- }
--
-- /* Set the position of the scrollbar within the editor
-- * window. Note that, for vertical scrollbars, x and w
-- * are ignored. For horizontal bars y and h are ignored.
-- */
-- void
-- gui_mch_set_scrollbar_pos(sb, x, y, w, h)
-- scrollbar_T *sb;
-- int x; /* Horizontal sb position */
-- int y; /* Top of scroll bar */
-- int w; /* Width */
-- int h; /* Height */
-- {
-- int block[24];
-- int px1, py1; /* Parent window min coords */
-- int px2, py2; /* Parent window max coords */
--
-- /* Find where the parent window is. */
-- block[0] = gui.window_handle;
-- swi(Wimp_GetWindowState, 0, block);
-- px1 = block[1];
-- py1 = block[2];
-- px2 = block[3];
-- py2 = block[4];
--
-- block[0] = sb -> id;
--
-- /* Find out how big the scroll window is at the moment. */
-- swi(Wimp_GetWindowInfo, 0, ((char_u *)block) + 1);
--
-- if (block[13] < w || block[12] > -h)
-- {
-- /* Current window is too small! */
-- if (block[12] > -h)
-- block[12] = -h;
-- if (block[13] < w)
-- block[13] = w;
-- swi(Wimp_SetExtent, block[0], block + 11);
-- }
--
-- /* This works better on the nested_wimp. */
-- if (sb-> wp)
-- {
-- /* This is a vertical scrollbar. */
-- block[1] = block[3] = px2 - gui.scrollbar_width + (1 << x_eigen_factor);
-- block[2] = 1 + py2 - (y + h) + (1 << y_eigen_factor);
-- block[4] = 1 + py2 - y;
-- }
-- else
-- {
-- /* This is a horizontal scrollbar. */
-- block[2] = block[4] = py1 + gui.scrollbar_height;
-- block[1] = px1;
-- block[3] = px2 - gui.scrollbar_width;
-- }
--
-- block[5] = 0;
-- block[6] = 0;
-- block[7] = -1;
--
-- swi(Wimp_OpenWindow, 0, block, 0x4b534154,
-- gui.window_handle, /* Parent window handle. */
-- (CHILD_FIX_TO_RIGHT << CHILD_LEFT ) |
-- (CHILD_FIX_TO_RIGHT << CHILD_RIGHT ) |
-- (CHILD_FIX_TO_BOTTOM << CHILD_TOP ) |
-- (CHILD_FIX_TO_BOTTOM << CHILD_BOTTOM) |
-- (CHILD_SELF_SCROLL << CHILD_SCROLL_X) |
-- (CHILD_SELF_SCROLL << CHILD_SCROLL_Y)
-- );
-- }
--
-- /* Create a window with no workarea to place inside editor window.
-- * (what happens without the nested wimp?)
-- * Data for scrollbar is invalid.
-- */
-- void
-- gui_mch_create_scrollbar(sb, orient)
-- scrollbar_T *sb;
-- int orient; /* orient is SBAR_HORIZ or SBAR_VERT */
-- {
-- int bar[] =
-- {
-- 0, 0, /* Visible area : min X,Y */
-- 100, 100, /* max X,Y */
-- 0, 0, /* Scroll offsets */
-- -1, /* Window in front */
-- 0x80800150 | (orient == SBAR_HORIZ ? (1 << 30) : (1 << 28)),
-- 0xff070207, /* Colours */
-- 0x000c0103, /* More colours */
-- 0, -0x4000, /* Workarea extent */
-- 0x4000, 0, /* max X,Y */
-- 0x00000000, /* No title */
-- 0 << 12, /* No workarea button type */
-- 1, /* Wimp sprite area */
-- 0x00010001, /* Minimum width, height */
-- 0, 0, 0, /* Title data (none) */
-- 0 /* No icons */
-- };
-- swi(Wimp_CreateWindow, 0, bar);
-- sb -> id = r0;
-- }
--
-- #if defined(FEAT_WINDOWS) || defined(PROTO)
-- void
-- gui_mch_destroy_scrollbar(scrollbar_T *sb)
-- {
-- swi(Wimp_DeleteWindow, 0, & (sb->id));
-- sb -> id = -1;
-- }
-- #endif
--
-- void
-- gui_mch_set_scrollbar_colors(scrollbar_T *sb)
-- {
-- /* Always use default RO colour scheme. */
-- }
--
-- /*
-- * Get current mouse coordinates in text window.
-- * Note: (0,0) is the bottom left corner, positive y is UP.
-- */
-- void
-- gui_mch_getmouse(x, y)
-- int *x;
-- int *y;
-- {
-- int left;
-- int top;
-- int block[10];
--
-- block[0] = gui.window_handle;
-- swi(Wimp_GetWindowState, 0, block);
-- left = block[1];
-- top = block[4];
--
-- swi(Wimp_GetPointerInfo, 0, block);
-- *x = block[0] - left;
-- *y = top - block[1];
-- }
--
-- /* MouseTo(x, y) */
-- void
-- gui_mch_setmouse(x, y)
-- int x;
-- int y;
-- {
-- }
--
-- void
-- gui_mch_toggle_tearoffs(enable)
-- int enable;
-- {
-- /* no tearoff menus */
-- }
--
-- /* Redraw a window's title.
-- * For the nested wimp we use the new 'redraw-title-bar' reason code.
-- * For older wimps we mark the area of the screen where the title bar
-- * is as invalid.
-- */
-- void
-- ro_redraw_title(window)
-- int window;
-- {
-- if (nested_wimp)
-- {
-- swi(Wimp_ForceRedraw, window, 0x4b534154, 3);
-- }
-- else
-- {
-- int block[10];
-- int miny;
--
-- block[0] = window;
-- swi(Wimp_GetWindowState, 0, block);
-- miny = block[4];
-- swi(Wimp_GetWindowOutline, 0, block);
-- swi(Wimp_ForceRedraw, -1,
-- block[1], miny,
-- block[3], block[4]);
-- }
-- }
--
-- /* Turn a vimmenu_T structure into a wimp menu structure.
-- * -1 if resulting menu is empty.
-- * Only the children and dname items in the root menu are used.
-- */
-- int *
-- ro_build_menu(menu)
-- vimmenu_T *menu;
-- {
-- int *wimp_menu;
-- int width = 4;
-- int w;
-- int size = 28;
-- vimmenu_T *item;
-- int *wimp_item;
--
-- /* Find out how big the menu is so we can allocate memory for it */
-- for (item = menu-> children; item; item = item-> next)
-- {
-- if (item-> hidden == FALSE && !menu_is_separator(item->name))
-- size += 24;
-- }
--
-- if (size <= 28)
-- return (int *) -1; /* No children - shouldn't happen */
--
-- wimp_menu = (int *) alloc(size);
--
-- wimp_menu[0] = (int) menu-> dname;
-- wimp_menu[1] = -1;
-- wimp_menu[2] = 0;
-- wimp_menu[3] = 0x00070207;
-- wimp_menu[5] = 44;
-- wimp_menu[6] = 0;
--
-- wimp_item = wimp_menu + 7;
--
-- for (item = menu-> children; item; item = item-> next)
-- {
-- if (menu_is_separator(item-> name))
-- {
-- /* This menu entry is actually a separator. If it is not the first
-- * menu entry then mark the previous menu item as needing a dotted
-- * line after it.
-- */
-- if (wimp_item > wimp_menu + 7)
-- wimp_item[-6] |= 0x2;
-- }
-- else if (item-> hidden == FALSE)
-- {
-- wimp_item[0] = 0;
-- wimp_item[1] = item-> children ? (int) ro_build_menu(item) : -1;
-- wimp_item[2] = 0x07009131 | (item-> greyed_out << 22);
-- wimp_item[3] = (int) item-> dname;
-- wimp_item[4] = -1;
-- wimp_item[5] = (int) item; /* Stuff the menu address in this unused space */
--
-- w = strlen(item-> dname) + 1;
-- if (w > width)
-- width = w;
-- wimp_item += 6;
-- }
-- }
--
-- wimp_menu[4] = (width + 2) * 16;
-- wimp_menu[7] |= 0x100; /* Menu title is indirected */
-- wimp_item[-6] |= 0x080; /* Last entry in menu */
-- return wimp_menu;
-- }
--
-- static void
-- ro_remove_menu(menu)
-- int *menu;
-- {
-- int *item = menu + 7;
--
-- if (menu == NULL || menu == (int *) -1)
-- return;
--
-- for (;;)
-- {
-- if (item[1] != -1)
-- ro_remove_menu((int *) item[1]); /* Remove sub-menu */
-- if (item[0] & 0x80)
-- break; /* This was the last entry */
-- item += 6;
-- }
-- vim_free(menu);
-- }
--
-- void
-- gui_mch_show_popupmenu(menu)
-- vimmenu_T *menu;
-- {
-- int block[10];
--
-- /* Remove the existing menu, if any */
-- if (wimp_menu != (int *) -1)
-- {
-- swi(Wimp_CreateMenu, 0, -1);
-- ro_remove_menu(wimp_menu);
-- wimp_menu = (int *) -1;
-- }
--
-- wimp_menu = ro_build_menu(menu);
-- if (wimp_menu != (int *) -1)
-- {
-- swi(Wimp_GetPointerInfo, 0, block);
-- swi(Wimp_CreateMenu, 0, wimp_menu, block[0] - 64, block[1] + 64);
-- }
-- }
--
-- /* Run a command using the TaskWindow module.
-- * If SHELL_FILTER is set then output is not echoed to the screen,
-- * If it is not set, then \r is not sent to the output file.
-- */
-- int
-- gui_mch_call_shell(cmd, options)
-- char_u *cmd;
-- int options; /* SHELL_FILTER if called by do_filter() */
-- /* SHELL_COOKED if term needs cooked mode */
-- {
-- char_u task_cmd[256]; /* Contains *TaskWindow command. */
-- int block[64];
-- int reason;
-- char_u *out;
-- char_u c;
-- int old_msg_col;
-- char_u *out_redir;
-- int length;
-- FILE *out_file = NULL;
--
-- out_redir = strstr(cmd, " > ");
-- if (out_redir == NULL)
-- length = strlen(cmd); /* No redirection. */
-- else
-- {
-- length = out_redir - cmd;
-- out_file = fopen(out_redir + 3, "wb");
-- if (out_file == NULL)
-- smsg("WARNING : Can't open file %s for writing\n", out_redir + 3);
-- }
--
-- if (length > 180)
-- {
-- if (out_file)
-- fclose(out_file);
-- return FAIL; /* Command too long. */
-- }
--
-- strcpy(task_cmd, "TaskWindow \"");
-- strncpy(task_cmd + 12, cmd, length);
-- sprintf(task_cmd + 12 + length,
-- "\" -task &%08x -ctrl -quit -name \"Vim command\"",
-- task_handle);
--
-- if (options & SHELL_COOKED)
-- settmode(TMODE_COOK);
--
-- if (xswi(Wimp_StartTask, task_cmd) & v_flag)
-- {
-- /* Failed to even start a new task (out of memory?) */
-- settmode(TMODE_RAW);
-- if (out_file)
-- fclose(out_file);
-- return FAIL;
-- }
--
-- /* Wait for the child process to initialise. */
-- child_handle = 0;
-- while (!child_handle)
-- {
-- reason = wimp_poll(0, block);
-- if ((reason == 17 || reason == 18) && block[4] == 0x808c2)
-- child_handle = block[1];
-- else
-- process_event(reason, block);
-- }
--
-- /* Block until finished */
-- while (child_handle)
-- {
-- reason = wimp_poll(1, block);
-- if (reason == 3 || (reason == 8 && block[6] == 3))
-- {
-- /* Close window request or CTRL-C - kill child task. */
-- block[0] = 20;
-- block[3] = 0;
-- block[4] = 0x808c4; /* Morite */
-- swi(Wimp_SendMessage, 17, block, child_handle);
-- MSG_PUTS(_("\nSending message to terminate child process.\n"));
-- continue;
-- }
-- else if (reason == 8)
-- {
-- block[0] = 28;
-- block[3] = 0;
-- block[4] = 0x808c0; /* Input */
-- block[5] = 1;
-- /* Block[6] is OK as it is! */
-- swi(Wimp_SendMessage, 17, block, child_handle);
-- continue;
-- }
-- else if (reason == 17 || reason == 18)
-- {
-- if (block[4] == 0x808c1)
-- {
-- /* Ack message. */
-- block[3] = block[2];
-- swi(Wimp_SendMessage, 19, block, block[1]);
-- out = (char_u *)block + 24;
-- old_msg_col = msg_col;
-- while (block[5]--)
-- {
-- c = *out++;
-- if (out_file && (c != '\r' || (options & SHELL_FILTER)))
-- fputc(c, out_file);
-- if ((options & SHELL_FILTER) == 0)
-- {
-- if (c == 127)
-- msg_puts("\b \b");
-- else if (c > 31)
-- msg_putchar(c);
-- else if (c == 10)
-- {
-- lines_left = 8; /* Don't do More prompt! */
-- msg_putchar(10);
-- }
-- }
-- }
-- /* Flush output to the screen. */
-- windgoto(msg_row, msg_col);
-- out_flush();
-- continue;
-- }
-- }
-- process_event(reason, block);
-- }
-- msg_putchar('\n');
-- settmode(TMODE_RAW);
-- if (out_file)
-- fclose(out_file);
-- return OK;
-- }
--
-- /* Like strsave(), but stops at any control char */
-- char_u *
-- wimp_strsave(str)
-- char *str;
-- {
-- int strlen = 0;
-- char_u *retval;
-- while (str[strlen] > 31)
-- strlen++;
-- retval = alloc(strlen + 1);
-- if (retval)
-- {
-- memcpy(retval, str, strlen);
-- retval[strlen] = '\0';
-- }
-- return retval;
-- }
--
-- /* If we are saving then pop up a standard RISC OS save box.
-- * Otherwise, open a directory viewer on the given directory (and return NULL)
-- * The string we return will be freed later.
-- */
-- char_u *
-- gui_mch_browse(saving, title, dflt, ext, initdir, filter)
-- int saving; /* write action */
-- char_u *title; /* title for the window */
-- char_u *dflt; /* default file name */
-- char_u *ext; /* extension added */
-- char_u *initdir; /* initial directory, NULL for current dir */
-- char_u *filter; /* file name filter */
-- {
-- char command[256];
-- int length;
--
-- if (saving)
-- {
-- int block[64];
-- int reason;
-- int done_save = FALSE;
-- char_u *retval = NULL;
-- char_u *sprname;
-- char_u *fname;
-- int dragging_icon = FALSE;
-- int filetype;
--
-- if (!dflt)
-- dflt = "TextFile";
--
-- block[0] = save_window;
-- block[1] = 0;
-- swi(Wimp_GetIconState, 0, block);
-- sprname = ((char_u *) block[7]);
-- block[1] = 1;
-- swi(Wimp_GetIconState, 0, block);
-- fname = ((char *) block[7]);
-- strncpy(fname, dflt, 255);
--
-- if (xswi(OS_FSControl, 31, curbuf->b_p_oft) & v_flag)
-- {
-- filetype = 0xfff;
-- strcpy(sprname + 5, "xxx");
-- }
-- else
-- {
-- filetype = r2;
-- sprintf(sprname + 5, "%03x", filetype);
-- }
--
-- /* Open the save box */
--
-- swi(Wimp_GetPointerInfo, 0, block);
-- swi(Wimp_CreateMenu, 0, save_window, block[0] - 64, block[1] + 64);
-- swi(Wimp_SetCaretPosition, save_window, 1, 0, 0, -1, -1);
--
-- while (!done_save)
-- {
-- reason = wimp_poll(1, block);
-- switch (reason)
-- {
-- case 1:
-- redraw_window(block);
-- break;
-- case 2:
-- if (block[0] == save_window)
-- swi(Wimp_OpenWindow, 0, block);
-- else
-- ro_open_window(block);
-- break;
-- case 3:
-- done_save = TRUE;
-- break;
-- case 6:
-- if (block[3] != save_window)
-- done_save = TRUE;
-- else
-- {
-- int drag_box[4];
-- int min_x, max_y;
--
-- switch (block[4])
-- {
-- case 0: /* Start drag */
-- block[0] = save_window;
-- swi(Wimp_GetWindowState, 0, block);
-- min_x = block[1];
-- max_y = block[4];
-- block[1] = 0;
-- swi(Wimp_GetIconState, 0, block);
-- drag_box[0] = block[2] + min_x;
-- drag_box[1] = block[3] + max_y;
-- drag_box[2] = block[4] + min_x;
-- drag_box[3] = block[5] + max_y;
--
-- swi(DragASprite_Start,
-- 0x45,
-- 1,
-- sprname,
-- drag_box);
-- dragging_icon = TRUE;
-- break;
-- case 2: /* OK */
-- retval = wimp_strsave(fname);
-- done_save = TRUE;
-- break;
-- case 3: /* Cancel */
-- done_save = TRUE;
-- break;
-- }
-- }
-- break;
-- case 7:
-- if (dragging_icon)
-- {
-- int len = 0;
--
-- dragging_icon = FALSE;
-- swi(Wimp_GetPointerInfo, 0, block);
-- block[5] = block[3];
-- block[6] = block[4];
-- block[7] = block[0];
-- block[8] = block[1];
-- block[9] = 0; /* Don't know the size */
-- block[10] = filetype;
--
-- while (fname[len] > 31)
-- {
-- if (fname[len] == '.')
-- {
-- fname += len + 1;
-- len = 0;
-- }
-- else
-- len++;
-- }
-- if (len > 211)
-- len = 211;
--
-- memcpy(((char_u *) block) + 44, fname, len);
-- ((char_u *)block)[44 + len] = '\0';
--
-- block[0] = (len + 48) & 0xfc;
-- block[3] = 0;
-- block[4] = 1; /* DataSave */
--
-- swi(Wimp_SendMessage, 17, block, block[5], block[6]);
-- }
-- else
-- ro_drag_finished(block);
-- break;
-- case 8:
-- if (block[6] == 13)
-- {
-- retval = wimp_strsave(fname);
-- done_save = TRUE;
-- }
-- else if (block[6] == 0x1b)
-- done_save = TRUE;
-- else
-- swi(Wimp_ProcessKey, block[6]);
-- break;
-- case 17:
-- case 18:
-- if (block[4] == 2 && block[9] != -1)
-- {
-- /* DataSaveAck from dragging icon. */
-- retval = wimp_strsave(((char_u *) block) + 44);
-- done_save = TRUE;
-- }
-- else if (block[4] == 0x400c9)
-- {
-- /* MenusDeleted */
-- done_save = TRUE;
-- }
-- else
-- ro_message(block);
-- break;
-- }
-- }
-- block[0] = save_window;
-- swi(Wimp_CloseWindow, 0, block);
-- swi(Wimp_GetCaretPosition, 0, block);
-- if (block[0] == -1)
-- swi(Wimp_SetCaretPosition, gui.window_handle, -1, 0, 0, -1, -1);
--
-- return retval;
-- }
-- else if (initdir)
-- {
-- /* Open a directory viewer */
-- length = strlen(initdir);
--
-- if (length > 240)
-- return NULL; /* Path too long! */
--
-- length = sprintf(command, "Filer_OpenDir %s", initdir);
-- while (command[length - 1] == '.')
-- length--;
-- command[length] = '\0';
-- swi(OS_CLI, command);
-- }
-- return NULL;
-- }
---- 0 ----
-*** ../vim-7.3.186/src/os_riscos.c 2010-08-15 21:57:27.000000000 +0200
---- src/os_riscos.c 1970-01-01 01:00:00.000000000 +0100
-***************
-*** 1,1292 ****
-- /* vi:set ts=8 sts=4 sw=4:
-- *
-- * VIM - Vi IMproved by Bram Moolenaar
-- *
-- * Do ":help uganda" in Vim to read copying and usage conditions.
-- * Do ":help credits" in Vim to see a list of people who contributed.
-- * See README.txt for an overview of the Vim source code.
-- */
--
-- #include "vim.h"
--
-- /*
-- * os_riscos.c
-- *
-- * Thomas Leonard <tal197@ecs.soton.ac.uk>
-- */
--
-- const char *__dynamic_da_name = "Vim heap"; /* Enable and name our dynamic area */
-- int ro_line_mode = TRUE; /* For Ex mode we much echo chars to the screen ourselves */
-- int windowed; /* Flag - are we running inside a text window? */
-- int WinLeft, WinTop; /* We might be started inside a text window */
-- int ScrollTop; /* Make cursor movements relative to ScrollTop. */
--
-- int old_escape_state = -1;
-- int old_cursor_state = -1;
--
-- #define rgb(r,g,b) ((b<<24) + (g<<16) + (r<<8))
-- #define NORMAL_FG 0x00000000
-- #define NORMAL_BG 0xffffffff
--
-- /* Convert a DOS colour number to an RGB palette entry.
-- * Mappings from X11 rgb/txt file.
-- */
-- static int
-- map_colour(dos)
-- int dos; /* Standard DOS colour number. */
-- {
-- switch (dos)
-- {
-- case 0: return 0; /* Black */
-- case 1: return rgb(0,0,139); /* DarkBlue */
-- case 2: return rgb(0,100,0); /* DarkGreen */
-- case 3: return rgb(0,139,139); /* DarkCyan */
-- case 4: return rgb(139,0,0); /* DarkRed */
-- case 5: return rgb(139,0,139); /* DarkMagenta */
-- case 6: return rgb(165,42,42); /* Brown, DarkYellow */
-- case 7: return rgb(211,211,211); /* LightGray, LightGrey, Gray, Grey */
-- case 8: return rgb(169,169,169); /* DarkGray, DarkGrey */
-- case 9: return rgb(173,216,230); /* Blue, LightBlue */
-- case 10: return rgb(144,238,144); /* Green, LightGreen */
-- case 11: return rgb(224,255,255); /* Cyan, LightCyan */
-- case 12: return rgb(255,0,0); /* Red, LightRed */
-- case 13: return rgb(255,0,255); /* Magenta, LightMagenta */
-- case 14: return rgb(255,255,0); /* Yellow, LightYellow */
-- case 15: return rgb(255,255,255); /* White */
-- }
-- return rgb(100,100,100);
-- }
--
-- static void
-- text_fg(fg)
-- int fg; /* Foregound colour in the form &BBGGRR00 */
-- {
-- xswi(ColourTrans_SetTextColour, fg, 0, 0, 0);
-- }
--
-- static void
-- text_bg(bg)
-- int bg; /* Backgound colour in the form &BBGGRR00 */
-- {
-- xswi(ColourTrans_SetTextColour, bg, 0, 0, 1 << 7);
-- }
--
-- #define OUT_NORMAL 0
-- #define OUT_NUMBER 1 /* Reading in a number */
--
-- void
-- mch_write(s, len)
-- char_u *s;
-- int len;
-- {
-- static int mode = OUT_NORMAL;
-- static int x, y; /* For reading numbers in. */
--
-- if (!term_console)
-- {
-- /* Maybe we are running Vim remotely - don't interpret chars */
-- while (len--)
-- {
-- char_u c = *s++;
-- swi(OS_WriteC, c);
-- /* We might need to send a CR too. This shouldn't
-- * hurt if we don't need it, should it?
-- */
-- if (c == 10)
-- swi(OS_WriteI + 13);
-- }
-- return;
-- }
--
-- while (len--)
-- {
-- char_u c = *s++;
-- switch (mode)
-- {
-- case OUT_NUMBER:
-- if (c < '0' || c > '9')
-- {
-- mode = OUT_NORMAL;
-- }
-- else
-- {
-- x = (x * 10) + c - '0';
-- continue;
-- }
-- /* note: no break here! */
--
-- case OUT_NORMAL:
-- switch (c)
-- {
-- case 1:
-- /* Number (in decimal) follows. */
-- mode = OUT_NUMBER;
-- y = x;
-- x = 0;
-- break;
-- case 2:
-- /* Position cursor. */
-- swi(OS_WriteI + 31);
-- swi(OS_WriteC, x);
-- swi(OS_WriteC, y - ScrollTop);
-- break;
-- case 3:
-- /* Set scroll region. */
-- if (x == Rows -1 && y == 0 && !windowed)
-- {
-- /* Whole screen - remove text window.
-- * This is MUCH faster.
-- */
-- swi(OS_WriteI + 26);
-- }
-- else
-- {
-- /* Create a text window. */
-- swi(OS_WriteI + 28);
-- swi(OS_WriteC, WinLeft);
-- swi(OS_WriteC, WinTop + x);
-- swi(OS_WriteC, WinLeft + Columns - 1);
-- swi(OS_WriteC, WinTop + y);
-- }
-- ScrollTop = y;
-- break;
-- case 4:
-- /* Normal mode. */
-- text_fg(NORMAL_FG);
-- text_bg(NORMAL_BG);
-- break;
-- case 5:
-- /* Reverse mode. */
-- text_fg(NORMAL_BG);
-- text_bg(NORMAL_FG);
-- break;
-- case 10:
-- swi(OS_NewLine);
-- break;
-- case 14:
-- /* Cursor invisible. */
-- swi(OS_WriteN,
-- "\027\001\000\000\000\000\000\000\000\000",
-- 10);
-- break;
-- case 15:
-- /* Cursor visible. */
-- swi(OS_WriteN,
-- "\027\001\002\000\000\000\000\000\000\000",
-- 10);
-- break;
-- case 16:
-- /* Cursor very visible (flash) */
-- swi(OS_WriteN,
-- "\027\001\003\000\000\000\000\000\000\000",
-- 10);
-- case 17:
-- /* Set foreground colour. */
-- text_fg(map_colour(x));
-- break;
-- case 18:
-- /* Set background colour. */
-- text_bg(map_colour(x));
-- break;
-- case 19:
-- /* Scroll text down. */
-- swi(OS_WriteN,
-- "\027\007\000\002\000\000\000\000\000\000",
-- 10);
-- break;
-- default:
-- swi(OS_WriteC, c);
-- }
-- continue;
--
-- default:
-- printf("[output error]");
-- mode = OUT_NORMAL;
-- }
-- }
-- }
--
-- /*
-- * mch_inchar(): low level input funcion.
-- * Get a characters from the keyboard.
-- * Return the number of characters that are available.
-- * If wtime == 0 do not wait for characters.
-- * If wtime == n wait n msecs for characters.
-- * If wtime == -1 wait forever for characters.
-- *
-- * TODO: call convert_input() for 'fileencoding' to 'encoding' conversion.
-- */
-- int
-- mch_inchar(buf, maxlen, wtime, tb_change_cnt)
-- char_u *buf;
-- int maxlen;
-- long wtime;
-- int tb_change_cnt;
-- {
-- int got=0;
-- unsigned int start_time = clock();
--
-- if (ro_line_mode)
-- {
-- /* We're probably in Ex mode - get whole lines at a time. */
--
-- static char_u line_buffer[256];
-- static int remaining_chars = 0;
-- static int buf_pos = 0;
--
-- /* Do we need to fetch another line? */
-- if (remaining_chars == 0)
-- {
-- int old_esc_state;
-- swi(OS_Byte, 200, 1, 0xfe);
-- old_esc_state = r1;
--
-- buf_pos = 0;
-- if (xswi(OS_ReadLine, line_buffer, 255, 0, 255) & (c_flag | v_flag))
-- {
-- got_int = TRUE; /* ESC pressed */
-- r1 = 0;
-- }
-- line_buffer[r1] = 13;
-- remaining_chars = r1 + 1; /* Count CR as part of input */
--
-- swi(OS_Byte, 200, old_esc_state, 0);
-- }
--
-- /* Can we send the rest of the buffer back in one go? */
-- if (remaining_chars <= maxlen)
-- {
-- int got = remaining_chars;
--
-- memcpy(buf, line_buffer + buf_pos, got);
-- remaining_chars = 0;
-- return got;
-- }
--
-- /* Send as much as we can */
-- memcpy(buf, line_buffer + buf_pos, maxlen);
-- buf_pos += maxlen;
-- remaining_chars -= maxlen;
--
-- return maxlen;
-- }
--
-- if (!term_console)
-- {
-- /* Use OS_ReadC for all input.
-- * Avoids problems with remote access getting interference from
-- * the keyboard.
-- */
-- if (wtime == 0)
-- return 0; /* Ignore quick key checks */
--
-- if (xswi(OS_ReadC) & c_flag)
-- {
-- got_int = TRUE; /* ESC pressed - can this happen? */
-- swi(OS_Byte, 124); /* Clear Escape state */
-- r0 = 0x1b; /* It *might* not have been Escape! */
-- }
-- buf[0] = r0;
-- return 1;
-- }
--
-- /*
-- * OK, here's the plan:
-- *
-- * 1) Wait until wtime expires or we get a key
-- * 2) Get keys until the keyboard buffer is empty or buf is full
-- */
--
-- while (xswi(OS_Byte,145,0) & c_flag)
-- {
-- /* Nothing at all in the keyboard buffer.
-- * Has our time expired yet?
-- */
-- if ( (wtime != -1) && (clock() - start_time) >= wtime )
-- return 0; /* Nothing read - giving up */
-- }
--
-- /* We've got one char (in r2) - are there any more? */
--
-- while (got < maxlen)
-- {
-- buf[got++] = r2;
--
-- if (xswi(OS_Byte,145,0) & c_flag)
-- return got; /* Keyboard buffer empty */
-- }
-- return got; /* buf is full */
-- }
--
-- /*
-- * return non-zero if a character is available
-- */
-- int
-- mch_char_avail()
-- {
-- if (!term_console)
-- return 0; /* Can't tell */
-- if (xswi(OS_Byte, 152, 0) & c_flag)
-- return 0;
-- return 1;
-- }
--
-- /* Find out how much free memory we have.
-- * I don't know how to work this out exactly but, since we can claim
-- * more memory from the OS, let's just report the free pool size.
-- * Dynamic area 6 doesn't exist pre 3.6 according to StrongHelp, so
-- * we'll use Wimp_SlotSize. If that fails (outside the desktop?)
-- * then just return a big number and hope.
-- */
-- long_u
-- mch_avail_mem(special)
-- int special;
-- {
-- if (xswi(Wimp_SlotSize, -1, -1) & v_flag)
-- return 0x7fffffff;
-- return r2;
-- }
--
-- void
-- mch_delay(msec, ignoreinput)
-- long msec;
-- int ignoreinput;
-- {
-- int start_time, time_now;
-- int csec = msec / 10;
--
-- swi(OS_ReadMonotonicTime);
-- start_time = r0;
--
-- for (;;)
-- {
-- swi(OS_ReadMonotonicTime);
-- time_now = r0;
-- if (time_now - start_time > csec)
-- return;
-- #ifdef FEAT_GUI
-- /* In the GUI, allow other programs to run while waiting. */
-- if (gui.in_use)
-- gui_mch_wait_for_chars(start_time + csec);
-- #endif
-- }
-- }
--
-- /*
-- * If the machine has job control, use it to suspend the program,
-- * otherwise fake it by starting a new shell.
-- */
-- void
-- mch_suspend()
-- {
-- suspend_shell();
-- }
--
-- void
-- mch_init()
-- {
-- /*
-- * Read window size first. Calls to mch_get_shellsize() will
-- * simply return these values in future so that setting the
-- * text window (used for scrolling) won't give strange results.
-- */
--
-- int buf[7] = {132, 135, 256, 257, 1, 2, -1};
--
-- /* Command windows are no longer forced open, since if we are
-- * in the desktop then we'll use the GUI version.
-- * Opening a command window here messes up the GUI version startup
-- */
-- #ifndef FEAT_GUI
-- swi(OS_WriteI);
-- #endif
-- swi(OS_ReadVduVariables, buf, buf);
-- WinLeft = buf[0];
-- WinTop = buf[1];
-- Columns = buf[2];
-- Rows = buf[3] + 1; /* Seems to be one off (VduVars wrong?) */
-- ScrollTop = 0;
--
-- /* Are we running in a textwindow? */
-- if (Rows == buf[5] + 1 && Columns == buf[4] + 1)
-- windowed = 0;
-- else
-- windowed = 1;
--
-- /* Choose a nice colour scheme. */
-- text_fg(NORMAL_FG);
-- text_bg(NORMAL_BG);
-- }
--
-- /*
-- * Check_win checks whether we have an interactive stdout.
-- */
-- /* ARGSUSED */
-- int
-- mch_check_win(argc, argv)
-- int argc;
-- char **argv;
-- {
-- return OK;
-- }
--
-- /*
-- * Return TRUE if the input comes from a terminal, FALSE otherwise.
-- */
-- int
-- mch_input_isatty()
-- {
-- if (xswi(OS_ChangeRedirection, -1, -1) & v_flag)
-- return TRUE; /* Error - TRUE is probably correct though */
-- if (r0 == 0)
-- return TRUE;
-- return FALSE;
-- }
--
-- #ifdef FEAT_TITLE
-- int
-- mch_can_restore_title()
-- {
-- return FALSE;
-- }
--
-- int
-- mch_can_restore_icon()
-- {
-- return FALSE;
-- }
--
--
-- /*
-- * Set the window title and icon.
-- */
-- void
-- mch_settitle(title, icon)
-- char_u *title;
-- char_u *icon;
-- {
-- if (title == NULL)
-- title = (char_u *) "<untitled>";
-- #ifdef FEAT_GUI
-- if (gui.in_use && strcmp(title, gui.window_title))
-- {
-- int length;
-- length = strlen(title);
-- if (length >= gui.window_title_size)
-- length = gui.window_title_size - 1;
-- strncpy(gui.window_title, title, length);
-- gui.window_title[length] = 0;
-- ro_redraw_title(gui.window_handle);
-- }
-- #endif
-- return;
-- }
--
-- /*
-- * Restore the window/icon title.
-- * "which" is one of:
-- * 1 only restore title
-- * 2 only restore icon
-- * 3 restore title and icon
-- */
-- void
-- mch_restore_title(which)
-- int which;
-- {
-- return;
-- }
-- #endif
--
-- /*
-- * Insert user name in s[len].
-- * Return OK if a name found.
-- */
-- int
-- mch_get_user_name(s, len)
-- char_u *s;
-- int len;
-- {
-- /* RISC OS doesn't support user names. */
-- *s = NUL;
-- return FAIL;
-- }
--
-- /*
-- * Insert host name in s[len].
-- */
--
-- void
-- mch_get_host_name(s, len)
-- char_u *s;
-- int len;
-- {
-- if (xswi(OS_ReadVarVal, "Machine$Name", s, len, 0, 3) & v_flag)
-- {
-- /* Variable does not exist (normal operation) */
-- vim_strncpy(s, "(unknown)", len - 1);
-- }
-- }
--
-- /*
-- * return process ID
-- */
-- long
-- mch_get_pid()
-- {
-- if (xswi(Wimp_ReadSysInfo, 5) & v_flag)
-- return 0;
-- return r0;
-- }
--
-- /*
-- * Get name of current directory into buffer 'buf' of length 'len' bytes.
-- * Return OK for success, FAIL for failure.
-- */
-- int
-- mch_dirname(buf, len)
-- char_u *buf;
-- int len;
-- {
-- if (xswi(OS_FSControl, 37, "@", buf, 0, 0, len) & v_flag)
-- return FAIL;
-- return OK;
-- }
--
-- /*
-- * Get absolute file name into buffer 'buf' of length 'len' bytes.
-- *
-- * return FAIL for failure, OK for success
-- */
-- int
-- mch_FullName(fname, buf, len, force)
-- char_u *fname, *buf;
-- int len;
-- int force; /* Also expand when already absolute path name.
-- * Not used under RISC OS.
-- */
-- {
-- if (xswi(OS_FSControl, 37, fname, buf, 0, 0, len) & v_flag)
-- return FAIL;
-- return OK;
-- }
--
-- /*
-- * Return TRUE if "fname" does not depend on the current directory.
-- */
-- int
-- mch_isFullName(fname)
-- char_u *fname;
-- {
-- if (strstr(fname, "::") && strstr(fname,".$."))
-- return TRUE;
-- return FALSE;
-- }
--
-- /*
-- * Get file permissions for 'name'.
-- * Returns -1 when it doesn't exist.
-- */
-- long
-- mch_getperm(name)
-- char_u *name;
-- {
-- struct stat statb;
--
-- if (stat((char *)name, &statb))
-- return -1;
-- return statb.st_mode;
-- }
--
-- /*
-- * set file permission for 'name' to 'perm'
-- *
-- * return FAIL for failure, OK otherwise
-- */
-- int
-- mch_setperm(name, perm)
-- char_u *name;
-- long perm;
-- {
-- return (chmod((char *)name, (mode_t)perm) == 0 ? OK : FAIL);
-- }
--
-- /*
-- * Set hidden flag for "name".
-- */
-- /* ARGSUSED */
-- void
-- mch_hide(name)
-- char_u *name;
-- {
-- /* can't hide a file */
-- }
--
-- /*
-- * return TRUE if "name" is a directory
-- * return FALSE if "name" is not a directory
-- * return FALSE for error
-- */
-- int
-- mch_isdir(name)
-- char_u *name;
-- {
-- if (xswi(OS_File, 17, name) & v_flag)
-- return FALSE;
-- if (r0 == 2 || r0 == 3)
-- return TRUE; /* Count image files as directories. */
-- return FALSE;
-- }
--
-- /*
-- * Return 1 if "name" can be executed, 0 if not.
-- * Return -1 if unknown. Requires which to work.
-- */
-- int
-- mch_can_exe(name)
-- char_u *name;
-- {
-- char_u *buf;
-- char_u *p;
-- int retval;
--
-- buf = alloc((unsigned)STRLEN(name) + 7);
-- if (buf == NULL)
-- return -1;
-- sprintf((char *)buf, "which %s", name);
-- p = get_cmd_output(buf, NULL, SHELL_SILENT);
-- vim_free(buf);
-- if (p == NULL)
-- return -1;
-- /* result can be: "name: Command not found" */
-- retval = (*p != NUL && strstr((char *)p, "not found") == NULL);
-- vim_free(p);
-- return retval;
-- }
--
-- /*
-- * Check what "name" is:
-- * NODE_NORMAL: file or directory (or doesn't exist)
-- * NODE_WRITABLE: writable device, socket, fifo, etc.
-- * NODE_OTHER: non-writable things
-- */
-- int
-- mch_nodetype(name)
-- char_u *name;
-- {
-- /* TODO */
-- return NODE_NORMAL;
-- }
--
-- void
-- mch_early_init()
-- {
-- /* Turn off all the horrible filename munging in UnixLib. */
-- int __riscosify_control = __RISCOSIFY_NO_PROCESS;
-- }
--
-- void
-- mch_exit(r)
-- int r;
-- {
-- settmode(TMODE_COOK);
-- exiting = TRUE;
-- out_flush();
-- ml_close_all(TRUE); /* remove all memfiles */
--
-- #ifdef FEAT_GUI
-- if (gui.in_use)
-- gui_exit(r);
-- #endif
-- swi(OS_NewLine);
-- if (old_escape_state != -1)
-- swi(OS_Byte, 229, old_escape_state, 0);
-- if (old_cursor_state != -1)
-- swi(OS_Byte, 4, old_cursor_state);
-- exit(r);
-- }
--
-- void
-- mch_settmode(tmode)
-- int tmode; /* TMODE_RAW or TMODE_COOK */
-- {
-- if (tmode == TMODE_COOK)
-- {
-- ro_line_mode = TRUE;
-- return;
-- }
--
-- ro_line_mode = FALSE;
--
-- if (term_console)
-- {
-- /* Block cursor. */
-- swi(OS_WriteN,
-- "\027\000\012\000\000\000\000\000\000\000",
-- 10);
--
-- /* Disable the standard cursor key actions. */
-- swi(OS_Byte, 4, 1);
-- if (old_cursor_state == -1)
-- old_cursor_state = r1;
-- }
--
-- /* Stop Escape from quitting Vim! */
-- swi(OS_Byte, 229, 1, 0);
-- if (old_escape_state == -1)
-- old_escape_state = r1;
-- }
--
-- /*
-- * set mouse clicks on or off (only works for xterms)
-- */
-- void
-- mch_setmouse(on)
-- int on;
-- {
-- }
--
-- /*
-- * set screen mode, always fails.
-- */
-- /* ARGSUSED */
-- int
-- mch_screenmode(arg)
-- char_u *arg;
-- {
-- EMSG(_(e_screenmode));
-- return FAIL;
-- }
--
-- /*
-- * Try to get the current window size.
-- * Return OK when size could be determined, FAIL otherwise.
-- * Simply return results stored by mch_init() if we are the
-- * machine's console. If not, we don't know how big the screen is.
-- */
-- int
-- mch_get_shellsize()
-- {
-- /* if size changed: screenalloc will allocate new screen buffers */
-- return term_console ? OK : FAIL;
-- }
--
-- /*
-- * Can't change the size.
-- * Assume the user knows what he's doing and use the new values.
-- */
-- void
-- mch_set_shellsize()
-- {
-- /* Assume the user knows what he's doing and use the new values. */
-- }
--
-- /*
-- * Rows and/or Columns has changed.
-- */
-- void
-- mch_new_shellsize()
-- {
-- /* Nothing to do. */
-- }
--
-- int
-- mch_call_shell(cmd, options)
-- char_u *cmd;
-- int options; /* SHELL_*, see vim.h */
-- {
-- int retval;
-- int tmode = cur_tmode;
--
-- if (cmd == NULL)
-- cmd = (char_u *) "GOS";
--
-- #ifdef FEAT_GUI
-- if (gui.in_use)
-- return gui_mch_call_shell(cmd, options);
-- #endif
-- if (options & SHELL_COOKED)
-- settmode(TMODE_COOK); /* set to normal mode */
-- MSG_PUTS("\n");
--
-- /* I don't even want to think about what UnixLib must
-- * be doing to allow this to work...
-- */
-- retval = system(cmd);
-- if (retval && !(options & SHELL_SILENT))
-- EMSG(strerror(EOPSYS)); /* Doesn't seem to set errno? */
--
-- swi(OS_Byte, 229, 1, 0); /* Re-disable escape */
-- if (tmode == TMODE_RAW)
-- settmode(TMODE_RAW); /* set to raw mode */
-- return retval ? FAIL : OK;
-- }
--
-- /*
-- * Check for Escape being pressed right now.
-- * [ different if !term_console? ]
-- */
-- void
-- mch_breakcheck()
-- {
-- if (xswi(OS_Byte, 121, 0xf0) & v_flag)
-- return;
-- if (r1 == 0xff)
-- {
-- got_int = TRUE;
-- swi(OS_Byte, 15, 1); /* Flush input buffer */
-- }
-- }
--
-- /*
-- * Recursively expand one path component into all matching files and/or
-- * directories.
-- * "path" has backslashes before chars that are not to be expanded.
-- * Return the number of matches found.
-- */
-- int
-- mch_expandpath(gap, path, flags)
-- garray_T *gap; /* Grow array for results. */
-- char_u *path;
-- int flags; /* EW_* flags */
-- {
-- int got; /* Number of matches. */
-- char_u *pattern;
--
-- /* Plan:
-- *
-- * 1) Get first part of path - no wildcards
-- * 2) Get next path element (wildcarded)
-- * 3) Get rest of path
-- *
-- * If (3) is nothing then only the leaf is wildcarded - add to gap
-- * Otherwise call recursively for each path in (2), passing (3)
-- *
-- * This is just the header function.
-- */
--
-- /* We must be able to modifiy path, so make a copy */
-- pattern = vim_strsave(path);
-- if (pattern == NULL)
-- return 0;
-- got = expand_section(gap, (char_u *)"", pattern, flags);
-- vim_free(pattern);
-- return got;
-- }
--
-- /*
-- * expand_section(gap, "$.Dir1.Dir2", "ABBA*.myleaf##")
-- *
-- * calls expand_section(gap, "$.Dir1.Dir2.ABBA_Gold", "myleaf##")
-- * and expand_section(gap, "$.Dir1.Dir2.ABBA_Live", "myleaf##")
-- *
-- * If rest is just a leaf then all matches are added to gap.
-- *
-- * Returns number of items added to gap.
-- */
-- int
-- expand_section(gap, root, rest, flags)
-- garray_T *gap;
-- char_u *root; /* Non-wildcarded path to search */
-- char_u *rest; /* Wildcarded remainder of path */
-- int flags; /* Add dirs/files/missing objects. */
-- {
-- static char_u buf[MAXPATHL]; /* Temporary buffer. */
-- char_u dir[MAXPATHL];
-- int start_element = -1; /* Start of wildcarded element */
-- char_u c;
-- int i;
-- int got, dir_pos;
-- int buflen; /* Chars used in buf[] */
-- int colon = 0; /* Dir ends in ':' */
--
-- buflen = strlen(root);
-- STRNCPY(buf, root, buflen); /* Copy root into buffer. */
--
-- /*
-- * Find end of nonwildcarded section.
-- * Count ':' as a path sep since Vim:Bug* is a valid pathname.
-- */
--
-- for (i = 0; c = rest[i]; i++)
-- {
-- if (c == PATHSEP)
-- {
-- start_element = i;
-- colon = 0;
-- }
-- if (c == ':')
-- {
-- start_element = i + 1;
-- colon = 1;
-- }
-- if (c == '#' || c == '*')
-- break;
-- }
-- if (c == 0)
-- start_element = i;
--
-- /*
-- * start_element +> terminator for non-wildcarded section.
-- * Transfer this bit into buf.
-- */
-- if (buflen + start_element + 4 >= MAXPATHL)
-- return 0; /* Buffer full */
-- if (start_element >= 0)
-- {
-- if (*root && !colon)
-- buf[buflen++] = PATHSEP;
-- strncpy(buf + buflen, rest, start_element);
-- buflen += start_element;
-- }
-- buf[buflen] = 0;
--
-- /*
-- * Did we reach the end of the string without hitting any wildcards?
-- */
-- if (c == 0)
-- {
-- /* Yes - add combined path to grow array and return. */
-- addfile(gap, buf, flags);
-- return 1;
-- }
--
-- if (start_element < 0 || !colon)
-- start_element++;
-- rest += start_element;
--
-- /*
-- * rest does contain wildcards if we get here.
-- *
-- * Now : have we reached the leaf names part yet?
-- * If so, add all matches (files and dirs) to gap.
-- * If not, get next path element and scan all matching directories.
-- */
--
-- start_element = -1;
-- for (i = 0; rest[i]; i++)
-- {
-- if (rest[i] == '.')
-- {
-- start_element = i;
-- rest[i] = 0; /* Break string here. */
-- break;
-- }
-- }
--
-- /* If start_element is -1 then we are matching leaf names */
--
-- r3 = 0; /* Number of objs read. */
-- dir_pos = 0; /* Position through directory. */
-- got = 0; /* Files added so far. */
-- while (dir_pos != -1)
-- {
-- buf[buflen] = 0;
-- if (xswi(OS_GBPB, 9,
-- buf, /* Directory to scan. */
-- buf + buflen + (1 - colon), /* Buffer for result. */
-- 1, /* Number of objects to read. */
-- dir_pos, /* Search position. */
-- MAXPATHL - 2 - buflen, /* Size of result buffer. */
-- rest) /* Wildcarded leafname. */
-- & v_flag)
-- {
-- EMSG(r0 + 4);
-- r4 = -1;
-- }
-- dir_pos = r4; /* r4 corrupted by addfile() */
-- if (r3 > 0)
-- {
-- char_u *path = buf;
-- if (buflen == 0)
-- path++; /* Don't do '.File' */
-- else if (!colon)
-- buf[buflen] = '.'; /* Join path and leaf */
--
-- /* Path -> full path of object found */
-- if (start_element == -1)
-- {
-- addfile(gap, path, flags);
-- got++;
-- }
-- else
-- {
-- /* Scan into subdirectories and images; ignore files */
-- swi(OS_File, 17, path);
-- if (r0 == 2 || r0 == 3)
-- got += expand_section(gap,
-- path,
-- rest + start_element + 1,
-- flags);
-- }
-- }
-- }
--
-- /* Restore the dot if we removed it. */
-- if (start_element >= 0)
-- rest[start_element] = '.';
-- return got;
-- }
--
-- /*
-- * mch_expand_wildcards() - this code does wild-card pattern matching using
-- * the shell. It isn't used under RISC OS.
-- *
-- * return OK for success, FAIL for error (you may lose some memory) and put
-- * an error message in *file.
-- *
-- * num_pat is number of input patterns
-- * pat is array of pointers to input patterns
-- * num_file is pointer to number of matched file names
-- * file is pointer to array of pointers to matched file names
-- */
-- int
-- mch_expand_wildcards(num_pat, pat, num_file, file, flags)
-- int num_pat;
-- char_u **pat;
-- int *num_file;
-- char_u ***file;
-- int flags; /* EW_* flags */
-- {
-- /* This doesn't get called unless SPECIAL_WILDCHAR is defined. */
-- return FAIL;
-- }
--
-- /*
-- * Return TRUE if "p" contains wildcards which can be expanded by
-- * mch_expandpath().
-- */
-- int
-- mch_has_exp_wildcard(p)
-- char_u *p;
-- {
-- if (vim_strpbrk((char_u *)"*#", p))
-- return TRUE;
-- return FALSE;
-- }
--
-- /* Return TRUE if "p" contains wildcards. */
-- int
-- mch_has_wildcard(p)
-- char_u *p;
-- {
-- if (vim_strpbrk((char_u *)"*#`", p))
-- return TRUE;
-- return FALSE;
-- }
--
-- int /* see Unix unlink(2) */
-- mch_remove(file)
-- char_u *file; /* Name of file to delete. */
-- {
-- if (xswi(OS_FSControl, 27, file, 0, 0) & v_flag)
-- return EXIT_FAILURE;
-- return EXIT_SUCCESS;
-- }
--
-- /* Try to make existing scripts work without modification.
-- * Return a pointer to the new string (freed by caller), or NULL
-- *
-- * Two main cases:
-- * - Absolute : $VIM/syntax/help.vim
-- * - Relative : Adfs::4.$.!Vim.Resources.Syntax/help.vim
-- */
-- char_u *
-- mch_munge_fname(fname)
-- char_u *fname;
-- {
-- char_u c;
-- int len;
-- char_u *retval;
--
-- retval = fname = vim_strsave(fname);
-- if (fname == NULL)
-- return NULL;
--
-- if (strncmp(fname, "$VIM/", 5) == 0)
-- {
-- strncpy(fname, "Vim:", 4);
-- for (fname += 5; c = *fname; fname++)
-- {
-- if (c == '.')
-- break;
-- if (c == '/')
-- fname[-1] = '.';
-- else
-- fname[-1] = c;
-- }
-- fname[-1] = '\0';
-- }
-- else
-- {
-- /* Check to see if the file exists without modification. */
-- if (xswi(OS_File, 17, fname) & v_flag)
-- r0 == 0; /* Invalid filename? */
-- if (r0)
-- return retval;
--
-- len = strlen(fname);
-- if (strcmp(fname + len - 4, ".vim") == 0)
-- {
-- fname[len - 4] = '\0';
-- for (; c = *fname; fname++)
-- {
-- if (c == '/')
-- *fname = '.';
-- }
-- }
-- }
-- return retval;
-- }
--
-- /* QuickFix reads munged names from the error file.
-- * Correct them.
-- */
-- int
-- ro_buflist_add(old_name)
-- char_u *old_name; /* Name of file found by quickfix */
-- {
-- char_u *fname;
-- char_u *leaf; /* Pointer to start of leaf in old_name */
-- char_u *ptr;
-- char_u c;
-- int retval;
--
-- if (old_name == NULL)
-- return buflist_add(NULL, 0);
--
-- /* Copy the name so we can mess around with it. */
-- fname = vim_strsave(old_name);
-- if (fname == NULL)
-- /* Out of memory - can't modify name */
-- return buflist_add(old_name, 0);
--
-- /* Change `dir/main.c' into `dir.c.main' */
-- leaf = fname;
-- for (ptr = fname; c = *ptr; ptr++)
-- {
-- if (c == '/')
-- {
-- leaf = ptr + 1;
-- *ptr = '.';
-- }
-- else if (c == '.')
-- break;
-- }
-- if (c == '.')
-- {
-- /* Change `main.c' into `c.main'
-- * | |
-- * leaf ptr
-- */
-- ptr += old_name - fname;
-- *ptr = '\0';
-- sprintf(leaf,
-- "%s.%s",
-- ptr + 1,
-- leaf - fname + old_name);
-- }
--
-- retval = buflist_add(fname, 0);
-- free(fname);
-- return retval;
-- }
--
-- /* Change the current directory.
-- * Strip trailing dots to make it easier to use with filename completion.
-- * Return 0 for success, -1 for failure.
-- */
-- int
-- mch_chdir(dir)
-- char_u *dir;
-- {
-- int length;
-- int retval;
-- char_u *new_dir;
--
-- if (p_verbose >= 5)
-- {
-- verbose_enter();
-- smsg((char_u *)"chdir(%s)", dir);
-- verbose_leave();
-- }
-- length = strlen(dir);
-- if (dir[length - 1] != '.')
-- return chdir(dir); /* No trailing dots - nothing to do. */
-- new_dir = vim_strsave(dir);
-- if (new_dir == NULL)
-- return chdir(dir); /* Can't allocate memory. */
--
-- while (new_dir[--length] == '.')
-- new_dir[length] = '\0';
--
-- retval = chdir(new_dir);
-- vim_free(new_dir);
-- return retval;
-- }
--
-- /* Examine the named file, and set the 'osfiletype' option
-- * (in curbuf) to the file's type.
-- */
-- void
-- mch_read_filetype(file)
-- char_u *file;
-- {
-- int type;
-- char_u type_string[9];
-- int i;
--
-- if (xswi(OS_File, 23, file) & v_flag)
-- type = 0xfff; /* Default to Text */
-- else
-- type = r6;
--
-- /* Type is the numerical value - see if we have a textual equivalent */
-- swi(OS_FSControl, 18, 0, type);
-- ((int *) type_string)[0] = r2;
-- ((int *) type_string)[1] = r3;
-- type_string[8] = 0;
-- for (i = 0; type_string[i] > ' '; i++)
-- ;
-- type_string[i] = 0;
--
-- set_string_option_direct("osfiletype", -1, type_string, OPT_FREE, 0);
-- return;
-- }
--
-- void
-- mch_set_filetype(file, type)
-- char_u *file;
-- char_u *type;
-- {
-- if (xswi(OS_FSControl, 31, type) & v_flag)
-- {
-- EMSG(_("E366: Invalid 'osfiletype' option - using Text"));
-- r2 = 0xfff;
-- }
--
-- swi(OS_File, 18, file, r2);
-- }
--
-- /* Return TRUE if the file's type matches 'type'
-- * RISC OS types always start with '&'
-- */
-- int
-- mch_check_filetype(fname, type)
-- char_u *fname;
-- char_u *type;
-- {
-- int value;
-- char *end;
--
-- if (*type != '&')
-- return FALSE;
--
-- value = strtol(type + 1, &end, 16);
-- if (*end)
-- return FALSE; /* Invalid type (report error?) */
--
-- if (xswi(OS_File, 23, fname) & v_flag)
-- return FALSE; /* Invalid filename? */
--
-- return (r0 && r6 == value);
-- }
---- 0 ----
-*** ../vim-7.3.186/runtime/doc/os_risc.txt 2010-08-15 21:57:16.000000000 +0200
---- runtime/doc/os_risc.txt 2011-05-10 16:19:25.000000000 +0200
-***************
-*** 1,322 ****
-! *os_risc.txt* For Vim version 7.3. Last change: 2010 Aug 07
-
-
- VIM REFERENCE MANUAL by Thomas Leonard
-
-
- *riscos* *RISCOS* *RISC-OS*
-! This file contains the particularities for the RISC OS version of Vim.
-
-- The RISC OS port is a completely new port and is not based on the old "archi"
-- port.
-
-- 1. File locations |riscos-locations|
-- 2. Filename munging |riscos-munging|
-- 3. Command-line use |riscos-commandline|
-- 4. Desktop (GUI) use |riscos-gui|
-- 5. Remote use (telnet) |riscos-remote|
-- 6. Temporary files |riscos-temp-files|
-- 7. Interrupting |riscos-interrupt|
-- 8. Memory usage |riscos-memory|
-- 9. Filetypes |riscos-filetypes|
-- 10. The shell |riscos-shell|
-- 11. Porting new releases |riscos-porting|
--
-- If I've missed anything, email me and I'll try to fix it. In fact, even if I
-- haven't missed anything then email me anyway to give me some confidence that it
-- actually works!
--
-- Thomas Leonard <tal197@ecs.soton.ac.uk>
--
-- [these URLs no longer work...]
-- Port homepage: http://www.ecs.soton.ac.uk/~tal197/
-- or try: http://www.soton.ac.uk/~tal197/
--
-- ==============================================================================
-- *riscos-locations*
-- 1. File locations
--
-- The Vim executable and shared resource files are all stored inside the !Vim
-- application directory.
--
-- When !Vim is first seen by the filer, it aliases the *vi and *ex commands to
-- run the command-line versions of Vim (see |riscos-commandline|).
--
-- !Vim.Resources and !Vim.Resources2 contain the files from the standard Vim
-- distribution, but modified slightly to work within the limits of ADFS, plus
-- some extra files such as the window templates.
--
-- User choices are read from "Choices:*" and are saved to "<Choices$Write>.*".
-- If you have the new !Boot structure then these should be set up already. If
-- not, set Choices$Path to a list of directories to search when looking for
-- user configuration files. Set Choices$Write to the directory you want files
-- to be saved into (so your search patterns and marks can be remembered between
-- sessions).
--
-- ==============================================================================
-- *riscos-munging*
-- 2. Filename munging
--
-- All pathname munging is disabled by default, so Vim should behave like a
-- normal RISC OS application now. So, if you want to edit "doc/html" then you
-- actually type "*vi doc/html".
--
-- The only times munging is done is when:
--
-- - Searching included files from C programs, since these are always munged.
-- See |[I|.
-- Note: make sure you are in the right directory when you use this
-- command (i.e. the one with subdirectories "c" and "h").
--
-- - Sourcing files using |:so|.
-- Paths starting "$VIM/" are munged like this:
--
-- $VIM/syntax/help.vim -> Vim:syntax.help
--
-- Also, files ending in ".vim" have their extensions removed, and slashes
-- replaced with dots.
--
-- Some tag files and script files may have to be edited to work under this port.
--
-- ==============================================================================
-- *riscos-commandline*
-- 3. Command-line use
--
-- To use Vim from the command-line use the "*vi" command (or "*ex" for
-- |Ex-mode|).
--
-- Type "*vi -h" for a list of options.
--
-- Running the command-line version of Vim in a large high-color mode may cause
-- the scrolling to be very slow. Either change to a mode with fewer colors or
-- use the GUI version.
--
-- Also, holding down Ctrl will slow it down even more, and Ctrl-Shift will
-- freeze it, as usual for text programs.
--
-- ==============================================================================
-- *riscos-gui*
-- 4. Desktop use
--
-- Limitations:
--
-- - Left scrollbars don't work properly (right and bottom are fine).
-- - Doesn't increase scroll speed if it gets behind.
--
-- You can resize the window by dragging the lower-right corner, even though
-- there is no icon shown there.
--
-- You can use the --rows and --columns arguments to specify the initial size of
-- the Vim window, like this: >
--
-- *Vi -g --rows 20 --columns 80
--
-- The global clipboard is supported, so you can select some text and then
-- paste it directly into another application (provided it supports the
-- clipboard too).
--
-- Clicking Menu now opens a menu like a normal RISC OS program. Hold down Shift
-- when clicking Menu to paste (from the global clipboard).
--
-- Dragging a file to the window replaces the CURRENT buffer (the one with the
-- cursor, NOT the one you dragged to) with the file.
--
-- Dragging with Ctrl held down causes a new Vim window to be opened for the
-- file (see |:sp|).
--
-- Dragging a file in with Shift held down in insert mode inserts the pathname of
-- the file.
--
-- :browse :w opens a standard RISC OS save box.
-- :browse :e opens a directory viewer.
--
-- For fonts, you have the choice of the system font, an outline font, the system
-- font via ZapRedraw and any of the Zap fonts via ZapRedraw: >
--
-- :set guifont=
-- < To use the system font via the VDU drivers. Supports
-- bold and underline.
-- >
-- :set guifont=Corpus.Medium
-- < Use the named outline font. You can use any font, but
-- only monospaced ones like Corpus look right.
-- >
-- :set guifont=Corpus.Medium:w8:h12:b:i
-- < As before, but with size of 8 point by 12 point, and
-- in bold italic.
-- If only one of width and height is given then that
-- value is used for both. If neither is given then 10
-- point is used.
--
-- Thanks to John Kortink, Vim can use the ZapRedraw module. Start the font name
-- with "!" (or "!!" for double height), like this: >
--
-- :set guifont=!!
-- < Use the system font, but via ZapRedraw. This gives a
-- faster redraw on StrongARM processors, but you can't
-- get bold or italic text. Double height.
-- >
-- :set guifont=!script
-- < Uses the named Zap font (a directory in VimFont$Path).
-- The redraw is the same speed as for "!!", but you get
-- a nicer looking font.
-- Only the "man+" and "script" fonts are supplied
-- currently, but you can use any of the Zap fonts if
-- they are in VimFont$Path.
-- Vim will try to load font files "0", "B", "I" and "IB"
-- from the named directory. Only "0" (normal style) MUST
-- be present. Link files are not currently supported.
--
-- Note that when using ZapRedraw the edit bar is drawn in front of the character
-- you are on rather than behind it. Also redraw is incorrect for screen modes
-- with eigen values of 0. If the font includes control characters then you can
-- get Vim to display them by changing the 'isprint' option.
--
-- If you find the scrolling is too slow on your machine, try experimenting
-- with the 'scrolljump' and 'ttyscroll' options.
--
-- In particular, StrongARM users may find that: >
--
-- :set ttyscroll=0
--
-- makes scrolling faster in high-color modes.
--
-- =============================================================================
-- *riscos-remote*
-- 5. Remote use (telnet)
--
-- I have included a built-in termcap entry, but you can edit the termcap file to
-- allow other codes to be used if you want to use Vim from a remote terminal.
--
-- Although I do not have an internet connection to my Acorn, I have managed to
-- run Vim in a FreeTerm window using the loopback connection.
--
-- It seems to work pretty well now, using "*vi -T ansi".
--
-- ==============================================================================
-- *riscos-temp-files*
-- 6. Temporary files
--
-- If Vim crashes then the swap and backup files (if any) will be in the
-- directories set with the 'directory' and 'bdir' options. By default the swap
-- files are in <Wimp$ScrapDir> (i.e. inside !Scrap) and backups are in the
-- directory you were saving to. Vim will allow you to try and recover the file
-- when you next try to edit it.
--
-- To see a list of swap files, press <F12> and type "*vi -r".
--
-- Vim no longer brings up ATTENTION warnings if you try to edit two files with
-- the same name in different directories.
--
-- However, it also no longer warns if you try to edit the same file twice (with
-- two copies of Vim), though you will still be warned when you save that the
-- datestamp has changed.
--
-- ==============================================================================
-- *riscos-interrupt*
-- 7. Interrupting
--
-- To break out of a looping macro, or similar, hold down Escape in the
-- command-line version, or press CTRL-C in the GUI version.
--
-- ==============================================================================
-- *riscos-memory*
-- 8. Memory usage
--
-- Vim will use dynamic areas on RISC OS 3.5 or later. If you can use them on
-- older machines then edit the !RunTxt and GVim files. I don't know what UnixLib
-- does by default on these machines so I'm playing safe.
--
-- It doesn't work at all well without dynamic areas, since it can't change its
-- memory allocation once running. Hence you should edit "!Vim.GVim" and
-- "!Vim.!RunTxt" to choose the best size for you. You probably need at least
-- about 1400K.
--
-- ==============================================================================
-- *riscos-filetypes*
-- 9. Filetypes
--
-- You can now specify that autocommands are only executed for files of certain
-- types. The filetype is given in the form &xxx, when xxx is the filetype.
--
-- Filetypes must be specified by number (e.g. &fff for Text).
--
-- The system has changed from version 5.3. The new sequence of events is:
--
-- - A file is loaded. |'osfiletype'| is set to the RISC OS filetype.
-- - Based on the filetype and pathname, Vim will try to set |'filetype'| to the
-- Vim-type of the file.
-- - Setting this option may load syntax files and perform other actions.
-- - Saving the file will give it a filetype of |'osfiletype'|.
--
-- Some examples may make this clearer:
--
-- Kind of file loaded osfiletype filetype ~
-- C code "c.hellow" Text (&fff) C
-- LaTeX document LaTeX (&2a8) TeX
-- Draw document DrawFile (&aff) (not changed)
--
-- ==============================================================================
-- *riscos-shell*
-- 10. The shell
--
-- - Bangs (!s) are only replaced if they are followed by a space or end-of-line,
-- since many pathnames contain them.
--
-- - You can prefix the command with "~", which stops any output from being
-- displayed. This also means that you don't have to press <Enter> afterwards,
-- and stops the screen from being redrawn. {only in the GUI version}
--
-- ==============================================================================
-- *riscos-porting*
-- 11. Porting new releases to RISC OS
--
-- Downloading everything you need:
--
-- - Get the latest source distribution (see www.vim.org)
-- - Get the runtime environment files (e.g. these help files)
-- - Get the RISC OS binary distribution (if possible)
--
--
-- Unarchiving:
--
-- - Create a raFS disk and put the archives on it
-- - Un-gzip them
-- - Un-tar them (*tar xELf 50 archive/tar)
--
--
-- Recompiling the sources:
--
-- - Create c, s, and h directories.
-- - Put all the header files in "h". \
-- - Put all the C files in "c". | And lose the extensions
-- - Put the assembler file ("swis/s") in "s". /
-- - Rename all the files in "proto" to "h", like this:
-- raFS::VimSrc.source.proto.file/pro
-- becomes
-- raFS::VimSrc.source.h.file_pro
-- - In the files "h.proto" and "c.termlib", search and replace
-- .pro"
-- with
-- _pro.h"
-- - Create a simple Makefile if desired and do "*make -k".
-- Use "CC = gcc -DRISCOS -DUSE_GUI -O2 -x c" in the Makefile.
-- - Save the binary as !Vim.Vim in the binary distribution.
--
--
-- Updating the run-time environment:
--
-- - Replace old or missing files inside !Vim.Resources with the
-- new files.
-- - Remove files in "doc" not ending in "/txt", except for "tags".
-- - Lose the extensions from the files in "doc".
-- - Edit the "doc.tags" file. Remove extensions from the second column: >
-- :%s/^\(.[^\t]*\t.*\)\.txt\t/\1\t/
-- - Remove extensions from the syntax files. Split them into two directories
-- to avoid the 77 entry limit on old ADFS filesystems.
-- - Edit "Vim:FileType" to match "*.c.*" as well as "*/c" and so on.
-- Add filetype checking too.
-- - Edit "Vim:Menu" and remove all the keys from the menus: >
-- :%s/<Tab>[^ \t]*//
-- <
- vim:tw=78:ts=8:ft=help:norl:
---- 1,12 ----
-! *os_risc.txt* For Vim version 7.3. Last change: 2011 May 10
-
-
- VIM REFERENCE MANUAL by Thomas Leonard
-
-
- *riscos* *RISCOS* *RISC-OS*
-! The RISC OS support has been removed from Vim with patch 7.3.187.
-! If you would like to use Vim on RISC OS get the files from before that patch.
-
-
- vim:tw=78:ts=8:ft=help:norl:
-*** ../vim-7.3.186/src/version.c 2011-05-10 16:12:40.000000000 +0200
---- src/version.c 2011-05-10 16:37:20.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 187,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-81. At social functions you introduce your husband as "my domain server."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.188 b/source/ap/vim/patches/7.3.188
deleted file mode 100644
index f58454304..000000000
--- a/source/ap/vim/patches/7.3.188
+++ /dev/null
@@ -1,184 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.188
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.188
-Problem: More RISC OS files to remove.
-Solution: Remove them. Update the file list.
-Files: src/proto/gui_riscos.pro, src/proto/os_riscos.pro, Filelist
-
-
-*** ../vim-7.3.187/src/proto/gui_riscos.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/gui_riscos.pro 1970-01-01 01:00:00.000000000 +0100
-***************
-*** 1,66 ****
-- /* Prototypes for gui_riscos.c
-- * Based on gui_x11_pro.h (10 March 2002 version)
-- */
-- void gui_mch_prepare __ARGS((int *argc, char **argv));
-- int gui_mch_init_check __ARGS((void));
-- int gui_mch_init __ARGS((void));
-- void gui_mch_uninit __ARGS((void));
-- void gui_mch_new_colors __ARGS((void));
-- int gui_mch_open __ARGS((void));
-- void gui_init_tooltip_font __ARGS((void));
-- void gui_init_menu_font __ARGS((void));void gui_mch_exit __ARGS((int rc));
-- int gui_mch_get_winpos __ARGS((int *x, int *y));
-- void gui_mch_set_winpos __ARGS((int x, int y));
-- void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height));
-- void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
-- int gui_mch_init_font __ARGS((char_u *font_name, int do_fontset));
-- GuiFont gui_mch_get_font __ARGS((char_u *name, int giveErrorIfMissing));
-- int gui_mch_adjust_charheight __ARGS((void));
-- void gui_mch_set_font __ARGS((GuiFont font));
-- void gui_mch_set_fontset __ARGS((GuiFontset fontset));
-- void gui_mch_free_font __ARGS((GuiFont font));
-- void gui_mch_free_fontset __ARGS((GuiFontset fontset));
-- GuiFontset gui_mch_get_fontset __ARGS((char_u *name, int giveErrorIfMissing, int fixed_width));
-- guicolor_T gui_mch_get_color __ARGS((char_u *reqname));
-- void gui_mch_set_fg_color __ARGS((guicolor_T color));
-- void gui_mch_set_bg_color __ARGS((guicolor_T color));
-- void gui_mch_draw_string __ARGS((int row, int col, char_u *s, int len, int flags));
-- int gui_mch_haskey __ARGS((char_u *name));
-- void gui_mch_beep __ARGS((void));
-- void gui_mch_flash __ARGS((int msec));
-- void gui_mch_invert_rectangle __ARGS((int r, int c, int nr, int nc));
-- void gui_mch_iconify __ARGS((void));
-- void gui_mch_set_foreground __ARGS((void));
-- void gui_mch_draw_hollow_cursor __ARGS((guicolor_T color));
-- void gui_mch_draw_part_cursor __ARGS((int w, int h, guicolor_T color));
-- void gui_mch_update __ARGS((void));
-- int gui_mch_wait_for_chars __ARGS((long wtime));
-- void gui_mch_flush __ARGS((void));
-- void gui_mch_clear_block __ARGS((int row1, int col1, int row2, int col2));
-- void gui_mch_clear_all __ARGS((void));
-- void gui_mch_delete_lines __ARGS((int row, int num_lines));
-- void gui_mch_insert_lines __ARGS((int row, int num_lines));
-- void clip_mch_lose_selection __ARGS((VimClipboard *cbd));
-- int clip_mch_own_selection __ARGS((VimClipboard *cbd));
-- void clip_mch_request_selection __ARGS((VimClipboard *cbd));
-- void clip_mch_set_selection __ARGS((VimClipboard *cbd));
-- void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
-- void gui_mch_menu_hidden __ARGS((vimmenu_T *menu, int hidden));
-- void gui_mch_draw_menubar __ARGS((void));
-- void gui_mch_set_blinking __ARGS((long waittime, long on, long off));
-- void gui_mch_stop_blink __ARGS((void));
-- void gui_mch_start_blink __ARGS((void));
-- void process_event __ARGS((int event, int *block));
-- void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
-- long_u gui_mch_get_rgb __ARGS((guicolor_T pixel));
-- void gui_mch_getmouse __ARGS((int *x, int *y));
-- void gui_mch_setmouse __ARGS((int x, int y));
-- void gui_mch_drawsign __ARGS((int row, int col, int typenr));
-- void gui_mch_destroy_sign __ARGS((XImage *sign));
-- void gui_mch_mousehide __ARGS((int hide));
-- void mch_set_mouse_shape __ARGS((int shape));
-- void gui_mch_menu_set_tip __ARGS((vimmenu_T *menu));
--
-- void ro_redraw_title __ARGS((int window));
-- int ro_ok_to_quit __ARGS((void));
-- /* vim: set ft=c : */
---- 0 ----
-*** ../vim-7.3.187/src/proto/os_riscos.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/os_riscos.pro 1970-01-01 01:00:00.000000000 +0100
-***************
-*** 1,49 ****
-- /* os_riscos.c */
-- void mch_write __ARGS((char_u *s, int len));
-- int mch_inchar __ARGS((char_u *buf, int maxlen, long wtime, int tb_change_cnt));
-- int mch_char_avail __ARGS((void));
-- long_u mch_avail_mem __ARGS((int special));
-- void mch_delay __ARGS((long msec, int ignoreinput));
-- void mch_suspend __ARGS((void));
-- void mch_init __ARGS((void));
-- int mch_check_win __ARGS((int argc, char **argv));
-- int mch_input_isatty __ARGS((void));
-- int mch_can_restore_title __ARGS((void));
-- int mch_can_restore_icon __ARGS((void));
-- void mch_settitle __ARGS((char_u *title, char_u *icon));
-- void mch_restore_title __ARGS((int which));
-- int mch_get_user_name __ARGS((char_u *s, int len));
-- void mch_get_host_name __ARGS((char_u *s, int len));
-- long mch_get_pid __ARGS((void));
-- int mch_dirname __ARGS((char_u *buf, int len));
-- int mch_FullName __ARGS((char_u *fname, char_u *buf, int len, int force));
-- int mch_isFullName __ARGS((char_u *fname));
-- long mch_getperm __ARGS((char_u *name));
-- int mch_setperm __ARGS((char_u *name, long perm));
-- void mch_hide __ARGS((char_u *name));
-- int mch_isdir __ARGS((char_u *name));
-- int mch_can_exe __ARGS((char_u *name));
-- int mch_nodetype __ARGS((char_u *name));
-- void mch_early_init __ARGS((void));
-- void mch_exit __ARGS((int r));
-- void mch_settmode __ARGS((int tmode));
-- void mch_setmouse __ARGS((int on));
-- int mch_screenmode __ARGS((char_u *arg));
-- int mch_get_shellsize __ARGS((void));
-- void mch_set_shellsize __ARGS((void));
-- void mch_new_shellsize __ARGS((void));
-- int mch_call_shell __ARGS((char_u *cmd, int options));
-- void mch_breakcheck __ARGS((void));
-- int mch_expandpath __ARGS((garray_T *gap, char_u *path, int flags));
-- int expand_section __ARGS((garray_T *gap, char_u *root, char_u *rest, int flags));
-- int mch_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
-- int mch_has_exp_wildcard __ARGS((char_u *p));
-- int mch_has_wildcard __ARGS((char_u *p));
-- int mch_remove __ARGS((char_u *file));
-- char_u *mch_munge_fname __ARGS((char_u *fname));
-- int ro_buflist_add __ARGS((char_u *old_name));
-- int mch_chdir __ARGS((char_u *dir));
-- void mch_read_filetype __ARGS((char_u *file));
-- void mch_set_filetype __ARGS((char_u *file, char_u *type));
-- int mch_check_filetype __ARGS((char_u *fname, char_u *type));
-- /* vim: set ft=c : */
---- 0 ----
-*** ../vim-7.3.187/Filelist 2011-03-22 18:10:34.000000000 +0100
---- Filelist 2011-05-10 17:19:21.000000000 +0200
-***************
-*** 428,435 ****
- README_os390.txt \
- src/Make_mint.mak \
- src/Make_ro.mak \
-- src/gui_riscos.c \
-- src/gui_riscos.h \
- src/if_sniff.c \
- src/infplist.xml \
- src/link.390 \
---- 428,433 ----
-***************
-*** 437,446 ****
- src/os_beos.h \
- src/os_beos.rsrc \
- src/os_mint.h \
-- src/os_riscos.c \
-- src/os_riscos.h \
-- src/proto/gui_riscos.pro \
-- src/proto/os_riscos.pro \
- src/os_vms_fix.com \
- src/toolbar.phi \
-
---- 435,440 ----
-*** ../vim-7.3.187/src/version.c 2011-05-10 16:41:13.000000000 +0200
---- src/version.c 2011-05-10 17:20:50.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 188,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-83. Batteries in the TV remote now last for months.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.189 b/source/ap/vim/patches/7.3.189
deleted file mode 100644
index f7a9667c7..000000000
--- a/source/ap/vim/patches/7.3.189
+++ /dev/null
@@ -1,49 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.189
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.189 (after 7.3.186)
-Problem: Can't build without +clipboard feature. (Christian Ebert)
-Solution: Add the missing #ifdef.
-Files: src/normal.c
-
-
-*** ../vim-7.3.188/src/normal.c 2011-05-10 16:12:40.000000000 +0200
---- src/normal.c 2011-05-10 17:25:26.000000000 +0200
-***************
-*** 1204,1212 ****
---- 1204,1215 ----
- #ifdef FEAT_EVAL
- {
- int regname = 0;
-+
- /* Adjust the register according to 'clipboard', so that when
- * "unnamed" is present it becomes '*' or '+' instead of '"'. */
-+ # ifdef FEAT_CLIPBOARD
- adjust_clip_reg(&regname);
-+ # endif
- set_reg_var(regname);
- }
- #endif
-*** ../vim-7.3.188/src/version.c 2011-05-10 17:21:34.000000000 +0200
---- src/version.c 2011-05-10 17:29:21.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 189,
- /**/
-
---
-If your nose runs, and your feet smell, you might be upside down.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.190 b/source/ap/vim/patches/7.3.190
deleted file mode 100644
index 4adef8ab0..000000000
--- a/source/ap/vim/patches/7.3.190
+++ /dev/null
@@ -1,48 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.190
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.190
-Problem: When there is a "containedin" syntax argument highlighting may be
- wrong. (Radek)
-Solution: Reset current_next_list. (Ben Schmidt)
-Files: src/syntax.c
-
-
-*** ../vim-7.3.189/src/syntax.c 2011-04-11 16:56:29.000000000 +0200
---- src/syntax.c 2011-05-19 12:02:43.000000000 +0200
-***************
-*** 2566,2571 ****
---- 2566,2574 ----
- #endif
- update_si_attr(current_state.ga_len - 1);
-
-+ /* nextgroup= should not match in the end pattern */
-+ current_next_list = NULL;
-+
- /* what matches next may be different now, clear it */
- next_match_idx = 0;
- next_match_col = MAXCOL;
-*** ../vim-7.3.189/src/version.c 2011-05-10 17:29:28.000000000 +0200
---- src/version.c 2011-05-19 12:13:28.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 190,
- /**/
-
---
-From "know your smileys":
- :'-D Laughing so much that they're crying
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.191 b/source/ap/vim/patches/7.3.191
deleted file mode 100644
index 14b63cea0..000000000
--- a/source/ap/vim/patches/7.3.191
+++ /dev/null
@@ -1,526 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.191
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.191
-Problem: Still some RISC OS stuff to remove.
-Solution: Remove files and lines. (Hong Xu)
- Remove the 'osfiletype' option code.
-Files: README_extra.txt, src/Make_ro.mak, src/INSTALL, src/Makefile,
- src/buffer.c, src/eval.c, src/feature.h, src/option.c,
- src/option.h, src/structs.h, src/version.c, src/pty.c, Filelist
-
-
-*** ../vim-7.3.190/README_extra.txt 2010-08-15 21:57:32.000000000 +0200
---- README_extra.txt 2011-05-19 12:35:16.000000000 +0200
-***************
-*** 13,21 ****
-
- src/os_amiga.* Files for the Amiga port.
-
-- src/gui_riscos.*
-- src/os_riscos.* Files for the RISC OS port.
--
- src/gui_beos.*
- src/os_beos.* Files for the BeOS port.
-
---- 13,18 ----
-*** ../vim-7.3.190/src/Make_ro.mak 2010-08-15 21:57:27.000000000 +0200
---- src/Make_ro.mak 1970-01-01 01:00:00.000000000 +0100
-***************
-*** 1,135 ****
-- #
-- # Makefile for Vim on RISC OS - Andy Wingate
-- #
--
-- GCC = gcc -mthrowback
-- CFLAGS = -DRISCOS -DFEAT_GUI
-- CC = $(GCC) $(CFLAGS) -O2
-- # -DUP_BC_PC_EXTERN for term.c needed as BC defined in termlib.c and term.c
--
-- TERMFLAG = -DUP_BC_PC_EXTERN
--
-- ASMFLAGS = -throwback -objasm -gcc
--
-- OBJS = o.buffer o.charset o.diff o.digraph o.edit o.eval o.ex_cmds o.ex_cmds2 \
-- o.ex_docmd o.ex_eval o.ex_getln o.fileio o.fold o.getchar \
-- o.hardcopy o.hashtab o.main o.mark o.mbyte \
-- o.memfile o.memline o.menu o.message o.misc1 o.misc2 o.move \
-- o.normal o.ops o.option o.popupmnu o.quickfix o.regexp o.screen \
-- o.search \
-- o.spell o.syntax o.tag o.term o.termlib o.ui o.undo o.version \
-- o.window o.os_riscos o.swis o.gui o.gui_riscos
--
-- Vim: $(OBJS)
-- $(GCC) -o Vim $(OBJS)
--
-- install: Vim
-- squeeze -v Vim @.!Vim.Vim
--
-- clean:
-- create o.!fake! 0
-- wipe o.* ~cf
-- remove Vim
--
-- o.swis: s.swis
-- as $(ASMFLAGS) -o o.swis s.swis
--
-- # Rules for object files
--
-- o.%: c.%
-- $(CC) -c $< -o $@
--
-- o.buffer: c.buffer
--
-- o.charset: c.charset
--
-- o.digraph: c.digraph
--
-- o.diff: c.diff
--
-- o.edit: c.edit
--
-- o.eval: c.eval
--
-- o.ex_cmds: c.ex_cmds
--
-- o.ex_cmds2: c.ex_cmds2
--
-- o.ex_docmd: c.ex_docmd
--
-- o.ex_eval: c.ex_eval
--
-- o.ex_getln: c.ex_getln
--
-- o.fileio: c.fileio
--
-- o.fold: c.fold
--
-- o.getchar: c.getchar
--
-- o.hardcopy: c.hardcopy
--
-- o.hashtab: c.hashtab
--
-- o.gui: c.gui
--
-- o.gui_riscos: c.gui_riscos
--
-- o.main: c.main
--
-- o.mark: c.mark
--
-- o.mbyte: c.mbyte
--
-- o.memfile: c.memfile
--
-- o.memline: c.memline
--
-- o.menu: c.menu
--
-- o.message: c.message
--
-- o.misc1: c.misc1
--
-- o.misc2: c.misc2
--
-- o.move: c.move
--
-- o.normal: c.normal
--
-- o.ops: c.ops
--
-- o.option: c.option
--
-- o.os_riscos: c.os_riscos
--
-- o.pty: c.pty
--
-- o.popupmnu: c.popupmnu
--
-- o.quickfix: c.quickfix
--
-- o.regexp: c.regexp
--
-- o.screen: c.screen
--
-- o.search: c.search
--
-- o.spell: c.spell
--
-- o.syntax: c.syntax
--
-- o.tag: c.tag
--
-- o.term: c.term
-- $(CC) $(TERMFLAG) -c c.term -o o.term
--
-- o.termlib: c.termlib
--
-- o.ui: c.ui
--
-- o.undo: c.undo
--
-- o.version: c.version
--
-- o.window: c.window
---- 0 ----
-*** ../vim-7.3.190/src/INSTALL 2010-08-15 21:57:28.000000000 +0200
---- src/INSTALL 2011-05-19 12:36:17.000000000 +0200
-***************
-*** 6,14 ****
- Contents:
- 1. Generic
- 2. Unix
-! 3. RISC OS
-! 4. OS/2 (with EMX 0.9b)
-! 5. Atari MiNT
-
- See INSTALLami.txt for Amiga
- See INSTALLmac.txt for Macintosh
---- 6,13 ----
- Contents:
- 1. Generic
- 2. Unix
-! 3. OS/2 (with EMX 0.9b)
-! 4. Atari MiNT
-
- See INSTALLami.txt for Amiga
- See INSTALLmac.txt for Macintosh
-***************
-*** 174,198 ****
- ./configure --without-local-dir
-
-
-! 3. RISC OS
-! =============
-!
-! Much file renaming is needed before you can compile anything.
-! You'll need UnixLib to link against, GCC and GNU make.
-!
-! I suggest you get the RISC OS binary distribution, which includes the
-! Templates file and the loader.
-!
-! Try here: http://www.ecs.soton.ac.uk/~tal197
-!
-! Do
-! :help riscos
-!
-! within the editor for more information, or read the
-! ../runtime/doc/os_risc.txt help file.
-!
-!
-! 4. OS/2
- =======
-
- Summary:
---- 173,179 ----
- ./configure --without-local-dir
-
-
-! 3. OS/2
- =======
-
- Summary:
-***************
-*** 237,243 ****
- Check ../runtime/doc/os_os2.txt for additional info on running Vim.
-
-
-! 5. Atari MiNT
- =============
-
- [NOTE: this is quite old, it might not work anymore]
---- 218,224 ----
- Check ../runtime/doc/os_os2.txt for additional info on running Vim.
-
-
-! 4. Atari MiNT
- =============
-
- [NOTE: this is quite old, it might not work anymore]
-*** ../vim-7.3.190/src/Makefile 2011-04-01 13:05:37.000000000 +0200
---- src/Makefile 2011-05-19 12:37:52.000000000 +0200
-***************
-*** 29,35 ****
- # - Uncomment the line "CONF_OPT_X = --without-x" if you have X11 but
- # want to disable using X11 libraries. This speeds up starting Vim,
- # but the window title will not be set and the X11 selection can not
-! # used.
- # - Uncomment the line "CONF_OPT_XSMP = --disable-xsmp" if you have the
- # X11 Session Management Protocol (XSMP) library (libSM) but do not
- # want to use it.
---- 29,35 ----
- # - Uncomment the line "CONF_OPT_X = --without-x" if you have X11 but
- # want to disable using X11 libraries. This speeds up starting Vim,
- # but the window title will not be set and the X11 selection can not
-! # be used.
- # - Uncomment the line "CONF_OPT_XSMP = --disable-xsmp" if you have the
- # X11 Session Management Protocol (XSMP) library (libSM) but do not
- # want to use it.
-***************
-*** 730,741 ****
- ### USL for Unix Systems Laboratories (SYSV 4.2)
- #EXTRA_DEFS = -DUSL
-
-- ### RISCos on MIPS without X11
-- #EXTRA_DEFS = -DMIPS
--
-- ### RISCos on MIPS with X11
-- #EXTRA_LIBS = -lsun
--
- ### (6) A/UX 3.1.1 with gcc (Jim Jagielski)
- #CC= gcc -D_POSIX_SOURCE
- #CFLAGS= -O2
---- 730,735 ----
-***************
-*** 1633,1639 ****
- RSRC_DIR = os_mac_rsrc
-
- PRO_MANUAL = os_amiga.pro os_msdos.pro os_win16.pro os_win32.pro \
-! os_mswin.pro os_beos.pro os_vms.pro os_riscos.pro $(PERL_PRO)
-
- # Default target is making the executable and tools
- all: $(VIMTARGET) $(TOOLS) languages $(GUI_BUNDLE)
---- 1627,1633 ----
- RSRC_DIR = os_mac_rsrc
-
- PRO_MANUAL = os_amiga.pro os_msdos.pro os_win16.pro os_win32.pro \
-! os_mswin.pro os_beos.pro os_vms.pro $(PERL_PRO)
-
- # Default target is making the executable and tools
- all: $(VIMTARGET) $(TOOLS) languages $(GUI_BUNDLE)
-*** ../vim-7.3.190/src/buffer.c 2011-05-05 17:32:40.000000000 +0200
---- src/buffer.c 2011-05-19 13:09:25.000000000 +0200
-***************
-*** 1808,1816 ****
- #ifdef FEAT_AUTOCMD
- clear_string_option(&buf->b_p_ft);
- #endif
-- #ifdef FEAT_OSFILETYPE
-- clear_string_option(&buf->b_p_oft);
-- #endif
- #ifdef FEAT_CINDENT
- clear_string_option(&buf->b_p_cink);
- clear_string_option(&buf->b_p_cino);
---- 1808,1813 ----
-*** ../vim-7.3.190/src/eval.c 2011-05-10 16:41:13.000000000 +0200
---- src/eval.c 2011-05-19 13:09:43.000000000 +0200
-***************
-*** 12076,12084 ****
- #ifdef FEAT_OLE
- "ole",
- #endif
-- #ifdef FEAT_OSFILETYPE
-- "osfiletype",
-- #endif
- #ifdef FEAT_PATH_EXTRA
- "path_extra",
- #endif
---- 12076,12081 ----
-*** ../vim-7.3.190/src/feature.h 2010-08-15 21:57:31.000000000 +0200
---- src/feature.h 2011-05-19 13:09:56.000000000 +0200
-***************
-*** 506,520 ****
- #endif
-
- /*
-- * +osfiletype filetype checking in autocommand patterns.
-- * Only on systems that support filetypes (RISC OS).
-- */
-- #if 0
-- # define FEAT_OSFILETYPE
-- # define DFLT_OFT "Text"
-- #endif
--
-- /*
- * +viminfo reading/writing the viminfo file. Takes about 8Kbyte
- * of code.
- * VIMINFO_FILE Location of user .viminfo file (should start with $).
---- 506,511 ----
-*** ../vim-7.3.190/src/option.c 2011-04-28 17:24:54.000000000 +0200
---- src/option.c 2011-05-19 13:11:42.000000000 +0200
-***************
-*** 140,148 ****
- #define PV_MOD OPT_BUF(BV_MOD)
- #define PV_MPS OPT_BUF(BV_MPS)
- #define PV_NF OPT_BUF(BV_NF)
-- #ifdef FEAT_OSFILETYPE
-- # define PV_OFT OPT_BUF(BV_OFT)
-- #endif
- #ifdef FEAT_COMPL_FUNC
- # define PV_OFU OPT_BUF(BV_OFU)
- #endif
---- 140,145 ----
-***************
-*** 337,345 ****
- static int p_mod;
- static char_u *p_mps;
- static char_u *p_nf;
-- #ifdef FEAT_OSFILETYPE
-- static char_u *p_oft;
-- #endif
- static int p_pi;
- #ifdef FEAT_TEXTOBJ
- static char_u *p_qe;
---- 334,339 ----
-***************
-*** 1901,1914 ****
- (char_u *)NULL, PV_NONE,
- {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
- {"osfiletype", "oft", P_STRING|P_ALLOCED|P_VI_DEF,
-- #ifdef FEAT_OSFILETYPE
-- (char_u *)&p_oft, PV_OFT,
-- {(char_u *)DFLT_OFT, (char_u *)0L}
-- #else
- (char_u *)NULL, PV_NONE,
-! {(char_u *)0L, (char_u *)0L}
-! #endif
-! SCRIPTID_INIT},
- {"paragraphs", "para", P_STRING|P_VI_DEF,
- (char_u *)&p_para, PV_NONE,
- {(char_u *)"IPLPPPQPP TPHPLIPpLpItpplpipbp",
---- 1895,1902 ----
- (char_u *)NULL, PV_NONE,
- {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
- {"osfiletype", "oft", P_STRING|P_ALLOCED|P_VI_DEF,
- (char_u *)NULL, PV_NONE,
-! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
- {"paragraphs", "para", P_STRING|P_VI_DEF,
- (char_u *)&p_para, PV_NONE,
- {(char_u *)"IPLPPPQPP TPHPLIPpLpItpplpipbp",
-***************
-*** 5282,5290 ****
- #ifdef FEAT_AUTOCMD
- check_string_option(&buf->b_p_ft);
- #endif
-- #ifdef FEAT_OSFILETYPE
-- check_string_option(&buf->b_p_oft);
-- #endif
- #if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
- check_string_option(&buf->b_p_cinw);
- #endif
---- 5270,5275 ----
-***************
-*** 9665,9673 ****
- case PV_MA: return (char_u *)&(curbuf->b_p_ma);
- case PV_MOD: return (char_u *)&(curbuf->b_changed);
- case PV_NF: return (char_u *)&(curbuf->b_p_nf);
-- #ifdef FEAT_OSFILETYPE
-- case PV_OFT: return (char_u *)&(curbuf->b_p_oft);
-- #endif
- case PV_PI: return (char_u *)&(curbuf->b_p_pi);
- #ifdef FEAT_TEXTOBJ
- case PV_QE: return (char_u *)&(curbuf->b_p_qe);
---- 9650,9655 ----
-***************
-*** 10018,10026 ****
- /* Don't copy 'filetype', it must be detected */
- buf->b_p_ft = empty_option;
- #endif
-- #ifdef FEAT_OSFILETYPE
-- buf->b_p_oft = vim_strsave(p_oft);
-- #endif
- buf->b_p_pi = p_pi;
- #if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
- buf->b_p_cinw = vim_strsave(p_cinw);
---- 10000,10005 ----
-*** ../vim-7.3.190/src/option.h 2011-02-12 13:59:55.000000000 +0100
---- src/option.h 2011-05-19 13:11:46.000000000 +0200
-***************
-*** 984,992 ****
- , BV_MOD
- , BV_MPS
- , BV_NF
-- #ifdef FEAT_OSFILETYPE
-- , BV_OFT
-- #endif
- #ifdef FEAT_COMPL_FUNC
- , BV_OFU
- #endif
---- 984,989 ----
-*** ../vim-7.3.190/src/structs.h 2011-05-10 16:41:13.000000000 +0200
---- src/structs.h 2011-05-19 13:11:58.000000000 +0200
-***************
-*** 1530,1538 ****
- int b_p_ml_nobin; /* b_p_ml saved for binary mode */
- int b_p_ma; /* 'modifiable' */
- char_u *b_p_nf; /* 'nrformats' */
-- #ifdef FEAT_OSFILETYPE
-- char_u *b_p_oft; /* 'osfiletype' */
-- #endif
- int b_p_pi; /* 'preserveindent' */
- #ifdef FEAT_TEXTOBJ
- char_u *b_p_qe; /* 'quoteescape' */
---- 1530,1535 ----
-*** ../vim-7.3.190/src/version.c 2011-05-19 12:14:03.000000000 +0200
---- src/version.c 2011-05-19 13:26:42.000000000 +0200
-***************
-*** 426,436 ****
- "-ole",
- # endif
- #endif
-- #ifdef FEAT_OSFILETYPE
-- "+osfiletype",
-- #else
-- "-osfiletype",
-- #endif
- #ifdef FEAT_PATH_EXTRA
- "+path_extra",
- #else
---- 426,431 ----
-*** ../vim-7.3.190/src/pty.c 2011-04-11 14:24:33.000000000 +0200
---- src/pty.c 2011-05-19 12:43:26.000000000 +0200
-***************
-*** 123,130 ****
- static void initmaster __ARGS((int));
-
- /*
-! * Open all ptys with O_NOCTTY, just to be on the safe side
-! * (RISCos mips breaks otherwise)
- */
- #ifndef O_NOCTTY
- # define O_NOCTTY 0
---- 123,129 ----
- static void initmaster __ARGS((int));
-
- /*
-! * Open all ptys with O_NOCTTY, just to be on the safe side.
- */
- #ifndef O_NOCTTY
- # define O_NOCTTY 0
-*** ../vim-7.3.190/Filelist 2011-05-10 17:21:34.000000000 +0200
---- Filelist 2011-05-19 13:37:25.000000000 +0200
-***************
-*** 427,433 ****
- $(SRC_VMS) \
- README_os390.txt \
- src/Make_mint.mak \
-- src/Make_ro.mak \
- src/if_sniff.c \
- src/infplist.xml \
- src/link.390 \
---- 427,432 ----
-*** ../vim-7.3.190/src/version.c 2011-05-19 12:14:03.000000000 +0200
---- src/version.c 2011-05-19 13:26:42.000000000 +0200
-***************
-*** 716,717 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 191,
- /**/
-
---
-From "know your smileys":
- :-& Eating spaghetti
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.192 b/source/ap/vim/patches/7.3.192
deleted file mode 100644
index 5dab19b49..000000000
--- a/source/ap/vim/patches/7.3.192
+++ /dev/null
@@ -1,61 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.192
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.192
-Problem: Ex command ":s/ \?/ /g" splits multi-byte characters into bytes.
- (Dominique Pelle)
-Solution: Advance over whole character instead of one byte.
-Files: src/ex_cmds.c
-
-
-*** ../vim-7.3.191/src/ex_cmds.c 2011-05-10 16:41:13.000000000 +0200
---- src/ex_cmds.c 2011-05-19 14:23:33.000000000 +0200
-***************
-*** 4625,4631 ****
- * for a match in this line again. */
- skip_match = TRUE;
- else
-! ++matchcol; /* search for a match at next column */
- goto skip;
- }
-
---- 4625,4639 ----
- * for a match in this line again. */
- skip_match = TRUE;
- else
-! {
-! /* search for a match at next column */
-! #ifdef FEAT_MBYTE
-! if (has_mbyte)
-! matchcol += mb_ptr2len(sub_firstline + matchcol);
-! else
-! #endif
-! ++matchcol;
-! }
- goto skip;
- }
-
-*** ../vim-7.3.191/src/version.c 2011-05-19 13:40:47.000000000 +0200
---- src/version.c 2011-05-19 14:28:44.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 192,
- /**/
-
---
-From "know your smileys":
- :-F Bucktoothed vampire with one tooth missing
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.193 b/source/ap/vim/patches/7.3.193
deleted file mode 100644
index acee9ec0e..000000000
--- a/source/ap/vim/patches/7.3.193
+++ /dev/null
@@ -1,70 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.193
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.193
-Problem: In the command line window ":close" doesn't work properly. (Tony
- Mechelynck)
-Solution: Use Ctrl_C instead of K_IGNORE for cmdwin_result. (Jean-Rene
- David)
-Files: src/ex_docmd.c, src/ex_getln.c
-
-
-*** ../vim-7.3.192/src/ex_docmd.c 2011-05-10 16:41:13.000000000 +0200
---- src/ex_docmd.c 2011-05-19 14:42:56.000000000 +0200
-***************
-*** 6472,6478 ****
- {
- # ifdef FEAT_CMDWIN
- if (cmdwin_type != 0)
-! cmdwin_result = K_IGNORE;
- else
- # endif
- if (!text_locked()
---- 6472,6478 ----
- {
- # ifdef FEAT_CMDWIN
- if (cmdwin_type != 0)
-! cmdwin_result = Ctrl_C;
- else
- # endif
- if (!text_locked()
-*** ../vim-7.3.192/src/ex_getln.c 2011-04-28 17:21:49.000000000 +0200
---- src/ex_getln.c 2011-05-19 14:42:56.000000000 +0200
-***************
-*** 6324,6329 ****
---- 6324,6335 ----
- ccline.cmdbuff = vim_strsave((char_u *)"qa");
- cmdwin_result = CAR;
- }
-+ else if (cmdwin_result == Ctrl_C)
-+ {
-+ /* :q or :close, don't execute any command
-+ * and don't modify the cmd window. */
-+ ccline.cmdbuff = NULL;
-+ }
- else
- ccline.cmdbuff = vim_strsave(ml_get_curline());
- if (ccline.cmdbuff == NULL)
-*** ../vim-7.3.192/src/version.c 2011-05-19 14:30:07.000000000 +0200
---- src/version.c 2011-05-19 14:48:12.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 193,
- /**/
-
---
-There's no place like $(HOME)!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.194 b/source/ap/vim/patches/7.3.194
deleted file mode 100644
index 5a73c0098..000000000
--- a/source/ap/vim/patches/7.3.194
+++ /dev/null
@@ -1,48 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.194
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.194
-Problem: When "b" is a symlink to directory "a", resolve("b/") doesn't
- result in "a/". (ZyX)
-Solution: Remove the trailing slash. (Jean-Rene David)
-Files: src/eval.c
-
-
-*** ../vim-7.3.193/src/eval.c 2011-05-19 13:40:47.000000000 +0200
---- src/eval.c 2011-05-19 14:55:27.000000000 +0200
-***************
-*** 14980,14986 ****
---- 14980,14989 ----
-
- len = STRLEN(p);
- if (len > 0 && after_pathsep(p, p + len))
-+ {
- has_trailing_pathsep = TRUE;
-+ p[len - 1] = NUL; /* the trailing slash breaks readlink() */
-+ }
-
- q = getnextcomp(p);
- if (*q != NUL)
-*** ../vim-7.3.193/src/version.c 2011-05-19 14:50:49.000000000 +0200
---- src/version.c 2011-05-19 14:54:40.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 194,
- /**/
-
---
-Momento mori, ergo carpe diem
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.195 b/source/ap/vim/patches/7.3.195
deleted file mode 100644
index ba1fc2192..000000000
--- a/source/ap/vim/patches/7.3.195
+++ /dev/null
@@ -1,199 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.195
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.195
-Problem: "} else" causes following lines to be indented too much. (Rouben
- Rostamian)
-Solution: Better detection for the "else". (Lech Lorens)
-Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
-
-
-*** ../vim-7.3.194/src/misc1.c 2011-05-10 16:41:13.000000000 +0200
---- src/misc1.c 2011-05-19 16:30:28.000000000 +0200
-***************
-*** 5482,5489 ****
- * Recognize a line that starts with '{' or '}', or ends with ';', ',', '{' or
- * '}'.
- * Don't consider "} else" a terminated line.
-! * Don't consider a line where there are unmatched opening braces before '}',
-! * ';' or ',' a terminated line.
- * Return the character terminating the line (ending char's have precedence if
- * both apply in order to determine initializations).
- */
---- 5482,5489 ----
- * Recognize a line that starts with '{' or '}', or ends with ';', ',', '{' or
- * '}'.
- * Don't consider "} else" a terminated line.
-! * If a line begins with an "else", only consider it terminated if no unmatched
-! * opening braces follow (handle "else { foo();" correctly).
- * Return the character terminating the line (ending char's have precedence if
- * both apply in order to determine initializations).
- */
-***************
-*** 5493,5513 ****
- int incl_open; /* include '{' at the end as terminator */
- int incl_comma; /* recognize a trailing comma */
- {
-! char_u found_start = 0;
-! unsigned n_open = 0;
-
- s = cin_skipcomment(s);
-
- if (*s == '{' || (*s == '}' && !cin_iselse(s)))
- found_start = *s;
-
- while (*s)
- {
- /* skip over comments, "" strings and 'c'haracters */
- s = skip_string(cin_skipcomment(s));
- if (*s == '}' && n_open > 0)
- --n_open;
-! if (n_open == 0
- && (*s == ';' || *s == '}' || (incl_comma && *s == ','))
- && cin_nocode(s + 1))
- return *s;
---- 5493,5517 ----
- int incl_open; /* include '{' at the end as terminator */
- int incl_comma; /* recognize a trailing comma */
- {
-! char_u found_start = 0;
-! unsigned n_open = 0;
-! int is_else = FALSE;
-
- s = cin_skipcomment(s);
-
- if (*s == '{' || (*s == '}' && !cin_iselse(s)))
- found_start = *s;
-
-+ if (!found_start)
-+ is_else = cin_iselse(s);
-+
- while (*s)
- {
- /* skip over comments, "" strings and 'c'haracters */
- s = skip_string(cin_skipcomment(s));
- if (*s == '}' && n_open > 0)
- --n_open;
-! if ((!is_else || n_open == 0)
- && (*s == ';' || *s == '}' || (incl_comma && *s == ','))
- && cin_nocode(s + 1))
- return *s;
-*** ../vim-7.3.194/src/testdir/test3.in 2011-05-10 13:38:23.000000000 +0200
---- src/testdir/test3.in 2011-05-19 16:29:01.000000000 +0200
-***************
-*** 1345,1351 ****
-
- STARTTEST
- :set cino&
-! 2kdd=][
- ENDTEST
-
- void func(void)
---- 1345,1351 ----
-
- STARTTEST
- :set cino&
-! 2kdd=4][
- ENDTEST
-
- void func(void)
-***************
-*** 1359,1364 ****
---- 1359,1392 ----
- printf("Foo!\n");
- }
-
-+ void func1(void)
-+ {
-+ char* tab[] = {"foo", "bar",
-+ "baz", "quux",
-+ "this line used", "to be indented incorrectly"};
-+ foo();
-+ }
-+
-+ void func2(void)
-+ {
-+ int tab[] =
-+ {1, 2,
-+ 3, 4,
-+ 5, 6};
-+
-+ printf("This line used to be indented incorrectly.\n");
-+ }
-+
-+ void func3(void)
-+ {
-+ int tab[] = {
-+ 1, 2,
-+ 3, 4,
-+ 5, 6};
-+
-+ printf("Don't you dare indent this line incorrectly!\n);
-+ }
-+
- STARTTEST
- :set cino&
- 2kdd=][
-*** ../vim-7.3.194/src/testdir/test3.ok 2011-05-10 13:38:23.000000000 +0200
---- src/testdir/test3.ok 2011-05-19 16:29:01.000000000 +0200
-***************
-*** 1216,1221 ****
---- 1216,1249 ----
- printf("Foo!\n");
- }
-
-+ void func1(void)
-+ {
-+ char* tab[] = {"foo", "bar",
-+ "baz", "quux",
-+ "this line used", "to be indented incorrectly"};
-+ foo();
-+ }
-+
-+ void func2(void)
-+ {
-+ int tab[] =
-+ {1, 2,
-+ 3, 4,
-+ 5, 6};
-+
-+ printf("This line used to be indented incorrectly.\n");
-+ }
-+
-+ void func3(void)
-+ {
-+ int tab[] = {
-+ 1, 2,
-+ 3, 4,
-+ 5, 6};
-+
-+ printf("Don't you dare indent this line incorrectly!\n);
-+ }
-+
-
- void func(void)
- {
-*** ../vim-7.3.194/src/version.c 2011-05-19 14:59:07.000000000 +0200
---- src/version.c 2011-05-19 16:34:16.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 195,
- /**/
-
---
-I AM THANKFUL...
-...for the taxes that I pay because it means that I am employed.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.196 b/source/ap/vim/patches/7.3.196
deleted file mode 100644
index 0d6be8c9f..000000000
--- a/source/ap/vim/patches/7.3.196
+++ /dev/null
@@ -1,224 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.196
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.196
-Problem: Can't intercept a character that is going to be inserted.
-Solution: Add the InsertCharPre autocommand event. (Jakson A. Aquino)
-Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt,
- runtime/doc/map.txt, src/edit.c, src/eval.c, src/fileio.c,
- src/vim.h
-
-
-*** ../mercurial/vim73/runtime/doc/autocmd.txt 2011-04-28 19:01:26.000000000 +0200
---- runtime/doc/autocmd.txt 2011-05-19 17:12:17.000000000 +0200
-***************
-*** 299,304 ****
---- 299,306 ----
- |InsertEnter| starting Insert mode
- |InsertChange| when typing <Insert> while in Insert or Replace mode
- |InsertLeave| when leaving Insert mode
-+ |InsertCharPre| when a character was typed in Insert mode, before
-+ inserting it
-
- |ColorScheme| after loading a color scheme
-
-***************
-*** 657,662 ****
---- 659,675 ----
- indicates the new mode.
- Be careful not to move the cursor or do
- anything else that the user does not expect.
-+ *InsertCharPre*
-+ InsertCharPre When a character is typed in Insert mode,
-+ before inserting the char.
-+ The |v:char| variable indicates the char typed
-+ and can be changed during the event to insert
-+ a different character. When |v:char| is set
-+ to more than one character this text is
-+ inserted literally.
-+ It is not allowed to change the text |textlock|.
-+ The event is not triggered when 'paste' is
-+ set.
- *InsertEnter*
- InsertEnter Just before starting Insert mode. Also for
- Replace mode and Virtual Replace mode. The
-*** ../mercurial/vim73/runtime/doc/eval.txt 2011-05-19 12:22:41.000000000 +0200
---- runtime/doc/eval.txt 2011-05-19 16:55:58.000000000 +0200
-***************
-*** 1293,1298 ****
---- 1293,1299 ----
- *v:char* *char-variable*
- v:char Argument for evaluating 'formatexpr' and used for the typed
- character when using <expr> in an abbreviation |:map-<expr>|.
-+ It is also used by the |InsertPreChar| event.
-
- *v:charconvert_from* *charconvert_from-variable*
- v:charconvert_from
-*** ../mercurial/vim73/runtime/doc/map.txt 2011-05-10 17:17:38.000000000 +0200
---- runtime/doc/map.txt 2011-05-19 16:40:34.000000000 +0200
-***************
-*** 226,232 ****
-
- For abbreviations |v:char| is set to the character that was typed to trigger
- the abbreviation. You can use this to decide how to expand the {lhs}. You
-! can't change v:char and you should not insert it.
-
- Be very careful about side effects! The expression is evaluated while
- obtaining characters, you may very well make the command dysfunctional.
---- 226,232 ----
-
- For abbreviations |v:char| is set to the character that was typed to trigger
- the abbreviation. You can use this to decide how to expand the {lhs}. You
-! you should not either insert or change the v:char.
-
- Be very careful about side effects! The expression is evaluated while
- obtaining characters, you may very well make the command dysfunctional.
-*** ../mercurial/vim73/src/edit.c 2011-05-10 14:22:10.000000000 +0200
---- src/edit.c 2011-05-19 17:20:53.000000000 +0200
-***************
-*** 1381,1390 ****
- goto do_intr;
- #endif
-
- /*
- * Insert a nomal character.
- */
-! normalchar:
- #ifdef FEAT_SMARTINDENT
- /* Try to perform smart-indenting. */
- ins_try_si(c);
---- 1381,1425 ----
- goto do_intr;
- #endif
-
-+ normalchar:
- /*
- * Insert a nomal character.
- */
-! #ifdef FEAT_AUTOCMD
-! if (!p_paste)
-! {
-! /* Trigger the InsertCharPre event. Lock the text to avoid
-! * weird things from happening. */
-! set_vim_var_char(c);
-! ++textlock;
-! if (apply_autocmds(EVENT_INSERTCHARPRE, NULL, NULL,
-! FALSE, curbuf))
-! {
-! /* Get the new value of v:char. If it is more than one
-! * character insert it literally. */
-! char_u *s = get_vim_var_str(VV_CHAR);
-! if (MB_CHARLEN(s) > 1)
-! {
-! if (stop_arrow() != FAIL)
-! {
-! ins_str(s);
-! AppendToRedobuffLit(s, -1);
-! }
-! c = NUL;
-! }
-! else
-! c = PTR2CHAR(s);
-! }
-!
-! set_vim_var_string(VV_CHAR, NULL, -1);
-! --textlock;
-!
-! /* If the new value is an empty string then don't insert a
-! * char. */
-! if (c == NUL)
-! break;
-! }
-! #endif
- #ifdef FEAT_SMARTINDENT
- /* Try to perform smart-indenting. */
- ins_try_si(c);
-***************
-*** 3491,3501 ****
- return;
- }
- p += len;
-! #ifdef FEAT_MBYTE
-! c = mb_ptr2char(p);
-! #else
-! c = *p;
-! #endif
- ins_compl_addleader(c);
- }
-
---- 3526,3532 ----
- return;
- }
- p += len;
-! c = PTR2CHAR(p);
- ins_compl_addleader(c);
- }
-
-*** ../mercurial/vim73/src/eval.c 2011-05-19 14:59:07.000000000 +0200
---- src/eval.c 2011-05-19 16:40:39.000000000 +0200
-***************
-*** 352,358 ****
- {VV_NAME("swapname", VAR_STRING), VV_RO},
- {VV_NAME("swapchoice", VAR_STRING), 0},
- {VV_NAME("swapcommand", VAR_STRING), VV_RO},
-! {VV_NAME("char", VAR_STRING), VV_RO},
- {VV_NAME("mouse_win", VAR_NUMBER), 0},
- {VV_NAME("mouse_lnum", VAR_NUMBER), 0},
- {VV_NAME("mouse_col", VAR_NUMBER), 0},
---- 352,358 ----
- {VV_NAME("swapname", VAR_STRING), VV_RO},
- {VV_NAME("swapchoice", VAR_STRING), 0},
- {VV_NAME("swapcommand", VAR_STRING), VV_RO},
-! {VV_NAME("char", VAR_STRING), 0},
- {VV_NAME("mouse_win", VAR_NUMBER), 0},
- {VV_NAME("mouse_lnum", VAR_NUMBER), 0},
- {VV_NAME("mouse_col", VAR_NUMBER), 0},
-*** ../mercurial/vim73/src/fileio.c 2011-05-10 16:41:13.000000000 +0200
---- src/fileio.c 2011-05-19 16:40:39.000000000 +0200
-***************
-*** 7662,7667 ****
---- 7662,7668 ----
- {"InsertChange", EVENT_INSERTCHANGE},
- {"InsertEnter", EVENT_INSERTENTER},
- {"InsertLeave", EVENT_INSERTLEAVE},
-+ {"InsertCharPre", EVENT_INSERTCHARPRE},
- {"MenuPopup", EVENT_MENUPOPUP},
- {"QuickFixCmdPost", EVENT_QUICKFIXCMDPOST},
- {"QuickFixCmdPre", EVENT_QUICKFIXCMDPRE},
-*** ../mercurial/vim73/src/vim.h 2011-05-10 16:41:13.000000000 +0200
---- src/vim.h 2011-05-19 16:40:39.000000000 +0200
-***************
-*** 1274,1279 ****
---- 1274,1280 ----
- EVENT_WINENTER, /* after entering a window */
- EVENT_WINLEAVE, /* before leaving a window */
- EVENT_ENCODINGCHANGED, /* after changing the 'encoding' option */
-+ EVENT_INSERTCHARPRE, /* before inserting a char */
- EVENT_CURSORHOLD, /* cursor in same position for a while */
- EVENT_CURSORHOLDI, /* idem, in Insert mode */
- EVENT_FUNCUNDEFINED, /* if calling a function which doesn't exist */
-*** ../vim-7.3.195/src/version.c 2011-05-19 16:35:05.000000000 +0200
---- src/version.c 2011-05-19 17:15:41.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 196,
- /**/
-
---
-I AM THANKFUL...
-...for the mess to clean after a party because it means I have
-been surrounded by friends.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.197 b/source/ap/vim/patches/7.3.197
deleted file mode 100644
index c33a2cb29..000000000
--- a/source/ap/vim/patches/7.3.197
+++ /dev/null
@@ -1,78 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.197
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.197
-Problem: When a QuickfixCmdPost event removes all errors, Vim still tries
- to jump to the first error, resulting in E42.
-Solution: Get the number of error after the autocmd event. (Mike Lundy)
-Files: src/quickfix.c
-
-
-*** ../mercurial/vim73/src/quickfix.c 2011-05-10 16:41:13.000000000 +0200
---- src/quickfix.c 2011-05-19 17:34:11.000000000 +0200
-***************
-*** 2813,2829 ****
- (eap->cmdidx != CMD_grepadd
- && eap->cmdidx != CMD_lgrepadd),
- *eap->cmdlinep);
- #ifdef FEAT_AUTOCMD
- if (au_name != NULL)
- apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
- curbuf->b_fname, TRUE, curbuf);
- #endif
- if (res > 0 && !eap->forceit)
-- {
-- if (wp != NULL)
-- qi = GET_LOC_LIST(wp);
- qf_jump(qi, 0, 0, FALSE); /* display first error */
-- }
-
- mch_remove(fname);
- vim_free(fname);
---- 2813,2833 ----
- (eap->cmdidx != CMD_grepadd
- && eap->cmdidx != CMD_lgrepadd),
- *eap->cmdlinep);
-+ if (wp != NULL)
-+ qi = GET_LOC_LIST(wp);
- #ifdef FEAT_AUTOCMD
- if (au_name != NULL)
-+ {
- apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
- curbuf->b_fname, TRUE, curbuf);
-+ if (qi->qf_curlist < qi->qf_listcount)
-+ res = qi->qf_lists[qi->qf_curlist].qf_count;
-+ else
-+ res = 0;
-+ }
- #endif
- if (res > 0 && !eap->forceit)
- qf_jump(qi, 0, 0, FALSE); /* display first error */
-
- mch_remove(fname);
- vim_free(fname);
-*** ../vim-7.3.196/src/version.c 2011-05-19 17:25:36.000000000 +0200
---- src/version.c 2011-05-19 17:41:50.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 197,
- /**/
-
---
-I AM THANKFUL...
-...for the clothes that fit a little too snug because it
-means I have more than enough to eat.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.198 b/source/ap/vim/patches/7.3.198
deleted file mode 100644
index 5ef4a8aad..000000000
--- a/source/ap/vim/patches/7.3.198
+++ /dev/null
@@ -1,403 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.198
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.198
-Problem: No completion for ":lang".
-Solution: Get locales to complete from. (Dominique Pelle)
-Files: src/eval.c, src/ex_cmds2.c, src/ex_getln.c,
- src/proto/ex_cmds2.pro, src/proto/ex_getln.pro, src/vim.h
-
-
-*** ../mercurial/vim73/src/eval.c 2011-05-19 17:25:36.000000000 +0200
---- src/eval.c 2011-05-19 17:52:02.000000000 +0200
-***************
-*** 911,916 ****
---- 911,917 ----
- hash_clear(&compat_hashtab);
-
- free_scriptnames();
-+ free_locales();
-
- /* global variables */
- vars_clear(&globvarht);
-*** ../mercurial/vim73/src/ex_cmds2.c 2011-05-10 16:41:13.000000000 +0200
---- src/ex_cmds2.c 2011-05-19 18:16:54.000000000 +0200
-***************
-*** 1476,1482 ****
- #endif
-
- /*
-! * Ask the user what to do when abondoning a changed buffer.
- * Must check 'write' option first!
- */
- void
---- 1476,1482 ----
- #endif
-
- /*
-! * Ask the user what to do when abandoning a changed buffer.
- * Must check 'write' option first!
- */
- void
-***************
-*** 4153,4158 ****
---- 4153,4234 ----
- }
-
- # if defined(FEAT_CMDL_COMPL) || defined(PROTO)
-+
-+ static char_u **locales = NULL; /* Array of all available locales */
-+ static int did_init_locales = FALSE;
-+
-+ static void init_locales __ARGS((void));
-+ static char_u **find_locales __ARGS((void));
-+
-+ /*
-+ * Lazy initialization of all available locales.
-+ */
-+ static void
-+ init_locales()
-+ {
-+ if (!did_init_locales)
-+ {
-+ did_init_locales = TRUE;
-+ locales = find_locales();
-+ }
-+ }
-+
-+ /* Return an array of strings for all available locales + NULL for the
-+ * last element. Return NULL in case of error. */
-+ static char_u **
-+ find_locales()
-+ {
-+ garray_T locales_ga;
-+ char_u *loc;
-+
-+ /* Find all available locales by running command "locale -a". If this
-+ * doesn't work we won't have completion. */
-+ char_u *locale_a = get_cmd_output((char_u *)"locale -a",
-+ NULL, SHELL_SILENT);
-+ if (locale_a == NULL)
-+ return NULL;
-+ ga_init2(&locales_ga, sizeof(char_u *), 20);
-+
-+ /* Transform locale_a string where each locale is separated by "\n"
-+ * into an array of locale strings. */
-+ loc = (char_u *)strtok((char *)locale_a, "\n");
-+
-+ while (loc != NULL)
-+ {
-+ if (ga_grow(&locales_ga, 1) == FAIL)
-+ break;
-+ loc = vim_strsave(loc);
-+ if (loc == NULL)
-+ break;
-+
-+ ((char_u **)locales_ga.ga_data)[locales_ga.ga_len++] = loc;
-+ loc = (char_u *)strtok(NULL, "\n");
-+ }
-+ vim_free(locale_a);
-+ if (ga_grow(&locales_ga, 1) == FAIL)
-+ {
-+ ga_clear(&locales_ga);
-+ return NULL;
-+ }
-+ ((char_u **)locales_ga.ga_data)[locales_ga.ga_len] = NULL;
-+ return (char_u **)locales_ga.ga_data;
-+ }
-+
-+ # if defined(EXITFREE) || defined(PROTO)
-+ void
-+ free_locales()
-+ {
-+ int i;
-+ if (locales != NULL)
-+ {
-+ for (i = 0; locales[i] != NULL; i++)
-+ vim_free(locales[i]);
-+ vim_free(locales);
-+ locales = NULL;
-+ }
-+ }
-+ # endif
-+
- /*
- * Function given to ExpandGeneric() to obtain the possible arguments of the
- * ":language" command.
-***************
-*** 4168,4174 ****
- return (char_u *)"ctype";
- if (idx == 2)
- return (char_u *)"time";
-! return NULL;
- }
- # endif
-
---- 4244,4268 ----
- return (char_u *)"ctype";
- if (idx == 2)
- return (char_u *)"time";
-!
-! init_locales();
-! if (locales == NULL)
-! return NULL;
-! return locales[idx - 3];
-! }
-!
-! /*
-! * Function given to ExpandGeneric() to obtain the available locales.
-! */
-! char_u *
-! get_locales(xp, idx)
-! expand_T *xp UNUSED;
-! int idx;
-! {
-! init_locales();
-! if (locales == NULL)
-! return NULL;
-! return locales[idx];
- }
- # endif
-
-*** ../mercurial/vim73/src/ex_getln.c 2011-05-19 14:50:49.000000000 +0200
---- src/ex_getln.c 2011-05-19 18:18:49.000000000 +0200
-***************
-*** 4571,4618 ****
- int context;
- char_u *((*func)__ARGS((expand_T *, int)));
- int ic;
- } tab[] =
- {
-! {EXPAND_COMMANDS, get_command_name, FALSE},
-! {EXPAND_BEHAVE, get_behave_arg, TRUE},
- #ifdef FEAT_USR_CMDS
-! {EXPAND_USER_COMMANDS, get_user_commands, FALSE},
-! {EXPAND_USER_CMD_FLAGS, get_user_cmd_flags, FALSE},
-! {EXPAND_USER_NARGS, get_user_cmd_nargs, FALSE},
-! {EXPAND_USER_COMPLETE, get_user_cmd_complete, FALSE},
- #endif
- #ifdef FEAT_EVAL
-! {EXPAND_USER_VARS, get_user_var_name, FALSE},
-! {EXPAND_FUNCTIONS, get_function_name, FALSE},
-! {EXPAND_USER_FUNC, get_user_func_name, FALSE},
-! {EXPAND_EXPRESSION, get_expr_name, FALSE},
- #endif
- #ifdef FEAT_MENU
-! {EXPAND_MENUS, get_menu_name, FALSE},
-! {EXPAND_MENUNAMES, get_menu_names, FALSE},
- #endif
- #ifdef FEAT_SYN_HL
-! {EXPAND_SYNTAX, get_syntax_name, TRUE},
- #endif
-! {EXPAND_HIGHLIGHT, get_highlight_name, TRUE},
- #ifdef FEAT_AUTOCMD
-! {EXPAND_EVENTS, get_event_name, TRUE},
-! {EXPAND_AUGROUP, get_augroup_name, TRUE},
- #endif
- #ifdef FEAT_CSCOPE
-! {EXPAND_CSCOPE, get_cscope_name, TRUE},
- #endif
- #ifdef FEAT_SIGNS
-! {EXPAND_SIGN, get_sign_name, TRUE},
- #endif
- #ifdef FEAT_PROFILE
-! {EXPAND_PROFILE, get_profile_name, TRUE},
- #endif
- #if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \
- && (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE))
-! {EXPAND_LANGUAGE, get_lang_arg, TRUE},
- #endif
-! {EXPAND_ENV_VARS, get_env_name, TRUE},
- };
- int i;
-
---- 4571,4620 ----
- int context;
- char_u *((*func)__ARGS((expand_T *, int)));
- int ic;
-+ int escaped;
- } tab[] =
- {
-! {EXPAND_COMMANDS, get_command_name, FALSE, TRUE},
-! {EXPAND_BEHAVE, get_behave_arg, TRUE, TRUE},
- #ifdef FEAT_USR_CMDS
-! {EXPAND_USER_COMMANDS, get_user_commands, FALSE, TRUE},
-! {EXPAND_USER_CMD_FLAGS, get_user_cmd_flags, FALSE, TRUE},
-! {EXPAND_USER_NARGS, get_user_cmd_nargs, FALSE, TRUE},
-! {EXPAND_USER_COMPLETE, get_user_cmd_complete, FALSE, TRUE},
- #endif
- #ifdef FEAT_EVAL
-! {EXPAND_USER_VARS, get_user_var_name, FALSE, TRUE},
-! {EXPAND_FUNCTIONS, get_function_name, FALSE, TRUE},
-! {EXPAND_USER_FUNC, get_user_func_name, FALSE, TRUE},
-! {EXPAND_EXPRESSION, get_expr_name, FALSE, TRUE},
- #endif
- #ifdef FEAT_MENU
-! {EXPAND_MENUS, get_menu_name, FALSE, TRUE},
-! {EXPAND_MENUNAMES, get_menu_names, FALSE, TRUE},
- #endif
- #ifdef FEAT_SYN_HL
-! {EXPAND_SYNTAX, get_syntax_name, TRUE, TRUE},
- #endif
-! {EXPAND_HIGHLIGHT, get_highlight_name, TRUE, TRUE},
- #ifdef FEAT_AUTOCMD
-! {EXPAND_EVENTS, get_event_name, TRUE, TRUE},
-! {EXPAND_AUGROUP, get_augroup_name, TRUE, TRUE},
- #endif
- #ifdef FEAT_CSCOPE
-! {EXPAND_CSCOPE, get_cscope_name, TRUE, TRUE},
- #endif
- #ifdef FEAT_SIGNS
-! {EXPAND_SIGN, get_sign_name, TRUE, TRUE},
- #endif
- #ifdef FEAT_PROFILE
-! {EXPAND_PROFILE, get_profile_name, TRUE, TRUE},
- #endif
- #if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \
- && (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE))
-! {EXPAND_LANGUAGE, get_lang_arg, TRUE, FALSE},
-! {EXPAND_LOCALES, get_locales, TRUE, FALSE},
- #endif
-! {EXPAND_ENV_VARS, get_env_name, TRUE, TRUE},
- };
- int i;
-
-***************
-*** 4626,4632 ****
- {
- if (tab[i].ic)
- regmatch.rm_ic = TRUE;
-! ret = ExpandGeneric(xp, &regmatch, num_file, file, tab[i].func);
- break;
- }
- }
---- 4628,4635 ----
- {
- if (tab[i].ic)
- regmatch.rm_ic = TRUE;
-! ret = ExpandGeneric(xp, &regmatch, num_file, file,
-! tab[i].func, tab[i].escaped);
- break;
- }
- }
-***************
-*** 4648,4660 ****
- * Returns OK when no problems encountered, FAIL for error (out of memory).
- */
- int
-! ExpandGeneric(xp, regmatch, num_file, file, func)
- expand_T *xp;
- regmatch_T *regmatch;
- int *num_file;
- char_u ***file;
- char_u *((*func)__ARGS((expand_T *, int)));
- /* returns a string from the list */
- {
- int i;
- int count = 0;
---- 4651,4664 ----
- * Returns OK when no problems encountered, FAIL for error (out of memory).
- */
- int
-! ExpandGeneric(xp, regmatch, num_file, file, func, escaped)
- expand_T *xp;
- regmatch_T *regmatch;
- int *num_file;
- char_u ***file;
- char_u *((*func)__ARGS((expand_T *, int)));
- /* returns a string from the list */
-+ int escaped;
- {
- int i;
- int count = 0;
-***************
-*** 4679,4685 ****
- {
- if (round)
- {
-! str = vim_strsave_escaped(str, (char_u *)" \t\\.");
- (*file)[count] = str;
- #ifdef FEAT_MENU
- if (func == get_menu_names && str != NULL)
---- 4683,4692 ----
- {
- if (round)
- {
-! if (escaped)
-! str = vim_strsave_escaped(str, (char_u *)" \t\\.");
-! else
-! str = vim_strsave(str);
- (*file)[count] = str;
- #ifdef FEAT_MENU
- if (func == get_menu_names && str != NULL)
-*** ../mercurial/vim73/src/proto/ex_cmds2.pro 2010-05-15 21:22:11.000000000 +0200
---- src/proto/ex_cmds2.pro 2011-05-19 17:53:52.000000000 +0200
-***************
-*** 83,87 ****
---- 83,89 ----
- char_u *get_mess_lang __ARGS((void));
- void set_lang_var __ARGS((void));
- void ex_language __ARGS((exarg_T *eap));
-+ void free_locales __ARGS((void));
- char_u *get_lang_arg __ARGS((expand_T *xp, int idx));
-+ char_u *get_locales __ARGS((expand_T *xp, int idx));
- /* vim: set ft=c : */
-*** ../mercurial/vim73/src/proto/ex_getln.pro 2010-08-16 21:23:30.000000000 +0200
---- src/proto/ex_getln.pro 2011-05-19 17:54:00.000000000 +0200
-***************
-*** 31,37 ****
- char_u *addstar __ARGS((char_u *fname, int len, int context));
- void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col));
- int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches));
-! int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int))));
- char_u *globpath __ARGS((char_u *path, char_u *file, int expand_options));
- void init_history __ARGS((void));
- int get_histtype __ARGS((char_u *name));
---- 31,37 ----
- char_u *addstar __ARGS((char_u *fname, int len, int context));
- void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col));
- int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches));
-! int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int)), int escaped));
- char_u *globpath __ARGS((char_u *path, char_u *file, int expand_options));
- void init_history __ARGS((void));
- int get_histtype __ARGS((char_u *name));
-*** ../mercurial/vim73/src/vim.h 2011-05-19 17:25:36.000000000 +0200
---- src/vim.h 2011-05-19 17:52:02.000000000 +0200
-***************
-*** 779,784 ****
---- 779,785 ----
- #define EXPAND_FILETYPE 37
- #define EXPAND_FILES_IN_PATH 38
- #define EXPAND_OWNSYNTAX 39
-+ #define EXPAND_LOCALES 40
-
- /* Values for exmode_active (0 is no exmode) */
- #define EXMODE_NORMAL 1
-*** ../vim-7.3.197/src/version.c 2011-05-19 17:42:54.000000000 +0200
---- src/version.c 2011-05-19 18:24:58.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 198,
- /**/
-
---
-The primary purpose of the DATA statement is to give names to constants;
-instead of referring to pi as 3.141592653589793 at every appearance, the
-variable PI can be given that value with a DATA statement and used instead
-of the longer form of the constant. This also simplifies modifying the
-program, should the value of pi change.
- -- FORTRAN manual for Xerox Computers
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.199 b/source/ap/vim/patches/7.3.199
deleted file mode 100644
index 8bdd97ab1..000000000
--- a/source/ap/vim/patches/7.3.199
+++ /dev/null
@@ -1,57 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.199
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.199
-Problem: MS-Windows: Compilation problem of OLE with MingW compiler.
-Solution: Put #ifdef around declarations. (Guopeng Wen)
-Files: src/if_ole.h
-
-
-*** ../mercurial/vim73/src/if_ole.h 2010-05-15 21:22:11.000000000 +0200
---- src/if_ole.h 2011-05-25 12:05:50.000000000 +0200
-***************
-*** 46,53 ****
- /* header files for imported files */
- #include "oaidl.h"
-
-! void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
-! void __RPC_USER MIDL_user_free( void __RPC_FAR * );
-
- #ifndef __IVim_INTERFACE_DEFINED__
- #define __IVim_INTERFACE_DEFINED__
---- 46,56 ----
- /* header files for imported files */
- #include "oaidl.h"
-
-! #ifndef __MIDL_user_allocate_free_DEFINED__
-! #define __MIDL_user_allocate_free_DEFINED__
-! void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
-! void __RPC_USER MIDL_user_free( void __RPC_FAR * );
-! #endif
-
- #ifndef __IVim_INTERFACE_DEFINED__
- #define __IVim_INTERFACE_DEFINED__
-*** ../vim-7.3.198/src/version.c 2011-05-19 18:26:34.000000000 +0200
---- src/version.c 2011-05-25 12:08:54.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 199,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-104. When people ask about the Presidential Election you ask "Which country?"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.200 b/source/ap/vim/patches/7.3.200
deleted file mode 100644
index 601947119..000000000
--- a/source/ap/vim/patches/7.3.200
+++ /dev/null
@@ -1,75 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.200
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.200 (after 7.3.198)
-Problem: CTRL-D doesn't complete :lang.
-Solution: Add the missing part of the change. (Dominique Pelle)
-Files: src/ex_docmd.c
-
-
-*** ../mercurial/vim73/src/ex_docmd.c 2011-05-19 14:50:49.000000000 +0200
---- src/ex_docmd.c 2011-05-25 12:45:02.000000000 +0200
-***************
-*** 3861,3873 ****
- #if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \
- && (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE))
- case CMD_language:
-! if (*skiptowhite(arg) == NUL)
- {
- xp->xp_context = EXPAND_LANGUAGE;
- xp->xp_pattern = arg;
- }
- else
-! xp->xp_context = EXPAND_NOTHING;
- break;
- #endif
- #if defined(FEAT_PROFILE)
---- 3861,3884 ----
- #if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \
- && (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE))
- case CMD_language:
-! p = skiptowhite(arg);
-! if (*p == NUL)
- {
- xp->xp_context = EXPAND_LANGUAGE;
- xp->xp_pattern = arg;
- }
- else
-! {
-! if ( STRNCMP(arg, "messages", p - arg) == 0
-! || STRNCMP(arg, "ctype", p - arg) == 0
-! || STRNCMP(arg, "time", p - arg) == 0)
-! {
-! xp->xp_context = EXPAND_LOCALES;
-! xp->xp_pattern = skipwhite(p);
-! }
-! else
-! xp->xp_context = EXPAND_NOTHING;
-! }
- break;
- #endif
- #if defined(FEAT_PROFILE)
-*** ../vim-7.3.199/src/version.c 2011-05-25 12:09:46.000000000 +0200
---- src/version.c 2011-05-25 12:49:49.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 200,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-105. When someone asks you for your address, you tell them your URL.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.201 b/source/ap/vim/patches/7.3.201
deleted file mode 100644
index 0481afd85..000000000
--- a/source/ap/vim/patches/7.3.201
+++ /dev/null
@@ -1,124 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.201
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.201 (after 7.3.195)
-Problem: "} else" still causes following lines to be indented too much.
-Solution: Better detection for the "else" block. (Lech Lorens)
-Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
-
-
-*** ../mercurial/vim73/src/misc1.c 2011-05-19 16:35:05.000000000 +0200
---- src/misc1.c 2011-05-25 13:29:45.000000000 +0200
-***************
-*** 7541,7557 ****
-
- /*
- * When searching for a terminated line, don't use the
-! * one between the "if" and the "else".
- * Need to use the scope of this "else". XXX
- * If whilelevel != 0 continue looking for a "do {".
- */
-! if (cin_iselse(l)
-! && whilelevel == 0
-! && ((trypos = find_start_brace(ind_maxcomment))
-! == NULL
- || find_match(LOOKFOR_IF, trypos->lnum,
-! ind_maxparen, ind_maxcomment) == FAIL))
-! break;
- }
-
- /*
---- 7541,7565 ----
-
- /*
- * When searching for a terminated line, don't use the
-! * one between the "if" and the matching "else".
- * Need to use the scope of this "else". XXX
- * If whilelevel != 0 continue looking for a "do {".
- */
-! if (cin_iselse(l) && whilelevel == 0)
-! {
-! /* If we're looking at "} else", let's make sure we
-! * find the opening brace of the enclosing scope,
-! * not the one from "if () {". */
-! if (*l == '}')
-! curwin->w_cursor.col =
-! (l - ml_get_curline()) + 1;
-!
-! if ((trypos = find_start_brace(ind_maxcomment))
-! == NULL
- || find_match(LOOKFOR_IF, trypos->lnum,
-! ind_maxparen, ind_maxcomment) == FAIL)
-! break;
-! }
- }
-
- /*
-*** ../mercurial/vim73/src/testdir/test3.in 2011-05-19 16:35:05.000000000 +0200
---- src/testdir/test3.in 2011-05-25 13:23:51.000000000 +0200
-***************
-*** 1413,1418 ****
---- 1413,1433 ----
- }
-
- STARTTEST
-+ :set cino&
-+ 2kdd=][
-+ ENDTEST
-+
-+ void func(void)
-+ {
-+ for (int i = 0; i < 10; ++i)
-+ if (i & 1) {
-+ foo(1);
-+ } else
-+ foo(0);
-+ baz();
-+ }
-+
-+ STARTTEST
- :g/^STARTTEST/.,/^ENDTEST/d
- :1;/start of AUTO/,$wq! test.out
- ENDTEST
-*** ../mercurial/vim73/src/testdir/test3.ok 2011-05-19 16:35:05.000000000 +0200
---- src/testdir/test3.ok 2011-05-25 13:23:51.000000000 +0200
-***************
-*** 1262,1264 ****
---- 1262,1275 ----
- foo();
- }
-
-+
-+ void func(void)
-+ {
-+ for (int i = 0; i < 10; ++i)
-+ if (i & 1) {
-+ foo(1);
-+ } else
-+ foo(0);
-+ baz();
-+ }
-+
-*** ../vim-7.3.200/src/version.c 2011-05-25 12:51:17.000000000 +0200
---- src/version.c 2011-05-25 13:33:16.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 201,
- /**/
-
---
-Laughing helps. It's like jogging on the inside.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.202 b/source/ap/vim/patches/7.3.202
deleted file mode 100644
index 1289e0851..000000000
--- a/source/ap/vim/patches/7.3.202
+++ /dev/null
@@ -1,868 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.202
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.202
-Problem: Cannot influence the indent inside a namespace.
-Solution: Add the "N" 'cino' parameter. (Konstantin Lepa)
-Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in,
- src/testdir/test3.ok
-
-
-*** ../mercurial/vim73/runtime/doc/indent.txt 2011-04-28 19:01:26.000000000 +0200
---- runtime/doc/indent.txt 2011-05-25 14:35:37.000000000 +0200
-***************
-*** 128,140 ****
- used CTRL-T or CTRL-D.
-
- *cinoptions-values*
-! The 'cinoptions' option sets how Vim performs indentation. In the list below,
- "N" represents a number of your choice (the number can be negative). When
- there is an 's' after the number, Vim multiplies the number by 'shiftwidth':
- "1s" is 'shiftwidth', "2s" is two times 'shiftwidth', etc. You can use a
-! decimal point, too: "-0.5s" is minus half a 'shiftwidth'. The examples below
-! assume a 'shiftwidth' of 4.
-!
- >N Amount added for "normal" indent. Used after a line that should
- increase the indent (lines starting with "if", an opening brace,
- etc.). (default 'shiftwidth').
---- 128,147 ----
- used CTRL-T or CTRL-D.
-
- *cinoptions-values*
-! The 'cinoptions' option sets how Vim performs indentation. The value after
-! the option character can be one of these (N is any number):
-! N indent N spaces
-! -N indent N spaces to the left
-! Ns N times 'shiftwidth spaces
-! -Ns N times 'shiftwidth spaces to the left
-!
-! In the list below,
- "N" represents a number of your choice (the number can be negative). When
- there is an 's' after the number, Vim multiplies the number by 'shiftwidth':
- "1s" is 'shiftwidth', "2s" is two times 'shiftwidth', etc. You can use a
-! decimal point, too: "-0.5s" is minus half a 'shiftwidth'.
-! The examples below assume a 'shiftwidth' of 4.
-! *cino->*
- >N Amount added for "normal" indent. Used after a line that should
- increase the indent (lines starting with "if", an opening brace,
- etc.). (default 'shiftwidth').
-***************
-*** 145,150 ****
---- 152,158 ----
- foo; foo; foo;
- } } }
- <
-+ *cino-e*
- eN Add N to the prevailing indent inside a set of braces if the
- opening brace at the End of the line (more precise: is not the
- first character in a line). This is useful if you want a
-***************
-*** 160,165 ****
---- 168,174 ----
- bar; bar; bar;
- } } }
- <
-+ *cino-n*
- nN Add N to the prevailing indent for a statement after an "if",
- "while", etc., if it is NOT inside a set of braces. This is
- useful if you want a different indent when there is no '{'
-***************
-*** 174,179 ****
---- 183,189 ----
- bar; bar; bar;
- } } }
- <
-+ *cino-f*
- fN Place the first opening brace of a function or other block in
- column N. This applies only for an opening brace that is not
- inside other braces and is at the start of the line. What comes
-***************
-*** 184,189 ****
---- 194,200 ----
- { { {
- int foo; int foo; int foo;
- <
-+ *cino-{*
- {N Place opening braces N characters from the prevailing indent.
- This applies only for opening braces that are inside other
- braces. (default 0).
-***************
-*** 193,198 ****
---- 204,210 ----
- { { {
- foo; foo; foo;
- <
-+ *cino-}*
- }N Place closing braces N characters from the matching opening
- brace. (default 0).
-
-***************
-*** 202,207 ****
---- 214,220 ----
- foo; foo; foo;
- } } }
- <
-+ *cino-^*
- ^N Add N to the prevailing indent inside a set of braces if the
- opening brace is in column 0. This can specify a different
- indent for whole of a function (some may like to set it to a
-***************
-*** 216,221 ****
---- 229,235 ----
- } } }
- } } }
- <
-+ *cino-L*
- LN Controls placement of jump labels. If N is negative, the label
- will be placed at column 1. If N is non-negative, the indent of
- the label will be the prevailing indent minus N. (default -1).
-***************
-*** 229,234 ****
---- 243,249 ----
- } } }
- } } }
- <
-+ *cino-:*
- :N Place case labels N characters from the indent of the switch().
- (default 'shiftwidth').
-
-***************
-*** 240,245 ****
---- 255,261 ----
- default: default:
- } }
- <
-+ *cino-=*
- =N Place statements occurring after a case label N characters from
- the indent of the label. (default 'shiftwidth').
-
-***************
-*** 247,252 ****
---- 263,269 ----
- case 11: case 11: a = a + 1;
- a = a + 1; b = b + 1;
- <
-+ *cino-l*
- lN If N != 0 Vim will align with a case label instead of the
- statement after it in the same line.
-
-***************
-*** 256,261 ****
---- 273,279 ----
- break; break;
- } }
- <
-+ *cino-b*
- bN If N != 0 Vim will align a final "break" with the case label,
- so that case..break looks like a sort of block. (default: 0).
- When using 1, consider adding "0=break" to 'cinkeys'.
-***************
-*** 272,277 ****
---- 290,296 ----
- break; break;
- } }
- <
-+ *cino-g*
- gN Place C++ scope declarations N characters from the indent of the
- block they are in. (default 'shiftwidth'). A scope declaration
- can be "public:", "protected:" or "private:".
-***************
-*** 283,288 ****
---- 302,308 ----
- private: private:
- } }
- <
-+ *cino-h*
- hN Place statements occurring after a C++ scope declaration N
- characters from the indent of the label. (default
- 'shiftwidth').
-***************
-*** 291,296 ****
---- 311,331 ----
- public: public: a = a + 1;
- a = a + 1; b = b + 1;
- <
-+ *cino-N*
-+ NN Indent inside C++ namespace N characters extra compared to a
-+ normal block. (default 0).
-+
-+ cino= cino=N-s >
-+ namespace { namespace {
-+ void function(); void function();
-+ } }
-+
-+ namespace my namespace my
-+ { {
-+ void function(); void function();
-+ } }
-+ <
-+ *cino-p*
- pN Parameter declarations for K&R-style function declarations will
- be indented N characters from the margin. (default
- 'shiftwidth').
-***************
-*** 300,305 ****
---- 335,341 ----
- int a; int a; int a;
- char b; char b; char b;
- <
-+ *cino-t*
- tN Indent a function return type declaration N characters from the
- margin. (default 'shiftwidth').
-
-***************
-*** 307,312 ****
---- 343,349 ----
- int int int
- func() func() func()
- <
-+ *cino-i*
- iN Indent C++ base class declarations and constructor
- initializations, if they start in a new line (otherwise they
- are aligned at the right side of the ':').
-***************
-*** 330,335 ****
---- 368,374 ----
- a = b + 9 * a = b + 9 *
- c; c;
- <
-+ *cino-c*
- cN Indent comment lines after the comment opener, when there is no
- other text with which to align, N characters from the comment
- opener. (default 3). See also |format-comments|.
-***************
-*** 339,344 ****
---- 378,384 ----
- text. text.
- */ */
- <
-+ *cino-C*
- CN When N is non-zero, indent comment lines by the amount specified
- with the c flag above even if there is other text behind the
- comment opener. (default 0).
-***************
-*** 349,360 ****
---- 389,402 ----
- ********/ ********/
- < (Example uses ":set comments& comments-=s1:/* comments^=s0:/*")
-
-+ *cino-/*
- /N Indent comment lines N characters extra. (default 0).
- cino= cino=/4 >
- a = b; a = b;
- /* comment */ /* comment */
- c = d; c = d;
- <
-+ *cino-(*
- (N When in unclosed parentheses, indent N characters from the line
- with the unclosed parentheses. Add a 'shiftwidth' for every
- unclosed parentheses. When N is 0 or the unclosed parentheses
-***************
-*** 370,375 ****
---- 412,418 ----
- (c2 || c3)) (c2 || c3))
- { {
- <
-+ *cino-u*
- uN Same as (N, but for one level deeper. (default 'shiftwidth').
-
- cino= cino=u2 >
-***************
-*** 377,382 ****
---- 420,426 ----
- && (c22345 && (c22345
- || c3)) || c3))
- <
-+ *cino-U*
- UN When N is non-zero, do not ignore the indenting specified by
- ( or u in case that the unclosed parentheses is the first
- non-white character in its line. (default 0).
-***************
-*** 388,393 ****
---- 432,438 ----
- c3 c3
- ) && c4; ) && c4;
- <
-+ *cino-2*
- wN When in unclosed parentheses and N is non-zero and either
- using "(0" or "u0", respectively, or using "U0" and the unclosed
- parentheses is the first non-white character in its line, line
-***************
-*** 400,405 ****
---- 445,451 ----
- || c3)) || c3))
- foo; foo;
- <
-+ *cino-W*
- WN When in unclosed parentheses and N is non-zero and either
- using "(0" or "u0", respectively and the unclosed parentheses is
- the last non-white character in its line and it is not the
-***************
-*** 414,419 ****
---- 460,466 ----
- a_short_line(argument, a_short_line(argument,
- argument); argument);
- <
-+ *cino-m*
- mN When N is non-zero, line up a line starting with a closing
- parentheses with the first character of the line with the
- matching opening parentheses. (default 0).
-***************
-*** 428,433 ****
---- 475,481 ----
- ) )
- foo; foo;
- <
-+ *cino-M*
- MN When N is non-zero, line up a line starting with a closing
- parentheses with the first character of the previous line.
- (default 0).
-***************
-*** 437,443 ****
- cond2 cond2
- ) )
- <
-! *java-cinoptions* *java-indenting*
- jN Indent java anonymous classes correctly. The value 'N' is
- currently unused but must be non-zero (e.g. 'j1'). 'j1' will
- indent for example the following code snippet correctly: >
---- 485,491 ----
- cond2 cond2
- ) )
- <
-! *java-cinoptions* *java-indenting* *cino-j*
- jN Indent java anonymous classes correctly. The value 'N' is
- currently unused but must be non-zero (e.g. 'j1'). 'j1' will
- indent for example the following code snippet correctly: >
-***************
-*** 448,454 ****
- }
- });
- <
-! *javascript-cinoptions* *javascript-indenting*
- JN Indent JavaScript object declarations correctly by not confusing
- them with labels. The value 'N' is currently unused but must be
- non-zero (e.g. 'J1'). >
---- 496,502 ----
- }
- });
- <
-! *javascript-cinoptions* *javascript-indenting* *cino-J*
- JN Indent JavaScript object declarations correctly by not confusing
- them with labels. The value 'N' is currently unused but must be
- non-zero (e.g. 'J1'). >
-***************
-*** 483,489 ****
-
-
- The defaults, spelled out in full, are:
-! cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,ps,ts,is,+s,
- c3,C0,/0,(2s,us,U0,w0,W0,m0,j0,J0,)20,*70,#0
-
- Vim puts a line in column 1 if:
---- 534,540 ----
-
-
- The defaults, spelled out in full, are:
-! cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,N0,ps,ts,is,+s,
- c3,C0,/0,(2s,us,U0,w0,W0,m0,j0,J0,)20,*70,#0
-
- Vim puts a line in column 1 if:
-*** ../mercurial/vim73/src/misc1.c 2011-05-25 13:33:59.000000000 +0200
---- src/misc1.c 2011-05-25 14:57:31.000000000 +0200
-***************
-*** 4959,4964 ****
---- 4959,4965 ----
- static int corr_ind_maxparen __ARGS((int ind_maxparen, pos_T *startpos));
- static int find_last_paren __ARGS((char_u *l, int start, int end));
- static int find_match __ARGS((int lookfor, linenr_T ourscope, int ind_maxparen, int ind_maxcomment));
-+ static int cin_is_cpp_namespace __ARGS((char_u *));
-
- static int ind_hash_comment = 0; /* # starts a comment */
-
-***************
-*** 5221,5226 ****
---- 5222,5271 ----
- return (*(s = cin_skipcomment(s + i)) == ':' && s[1] != ':');
- }
-
-+ /* Maximum number of lines to search back for a "namespace" line. */
-+ #define FIND_NAMESPACE_LIM 20
-+
-+ /*
-+ * Recognize a "namespace" scope declaration.
-+ */
-+ static int
-+ cin_is_cpp_namespace(s)
-+ char_u *s;
-+ {
-+ char_u *p;
-+ int has_name = FALSE;
-+
-+ s = cin_skipcomment(s);
-+ if (STRNCMP(s, "namespace", 9) == 0 && (s[9] == NUL || !vim_iswordc(s[9])))
-+ {
-+ p = cin_skipcomment(skipwhite(s + 9));
-+ while (*p != NUL)
-+ {
-+ if (vim_iswhite(*p))
-+ {
-+ has_name = TRUE; /* found end of a name */
-+ p = cin_skipcomment(skipwhite(p));
-+ }
-+ else if (*p == '{')
-+ {
-+ break;
-+ }
-+ else if (vim_iswordc(*p))
-+ {
-+ if (has_name)
-+ return FALSE; /* word character after skipping past name */
-+ ++p;
-+ }
-+ else
-+ {
-+ return FALSE;
-+ }
-+ }
-+ return TRUE;
-+ }
-+ return FALSE;
-+ }
-+
- /*
- * Return a pointer to the first non-empty non-comment character after a ':'.
- * Return NULL if not found.
-***************
-*** 6296,6301 ****
---- 6341,6351 ----
- */
- int ind_keep_case_label = 0;
-
-+ /*
-+ * handle C++ namespace
-+ */
-+ int ind_cpp_namespace = 0;
-+
- pos_T cur_curpos;
- int amount;
- int scope_amount;
-***************
-*** 6336,6341 ****
---- 6386,6392 ----
- int n;
- int iscase;
- int lookfor_break;
-+ int lookfor_cpp_namespace = FALSE;
- int cont_amount = 0; /* amount for continuation line */
- int original_line_islabel;
-
-***************
-*** 6409,6414 ****
---- 6460,6466 ----
- case 'J': ind_js = n; break;
- case 'l': ind_keep_case_label = n; break;
- case '#': ind_hash_comment = n; break;
-+ case 'N': ind_cpp_namespace = n; break;
- }
- if (*options == ',')
- ++options;
-***************
-*** 6976,6986 ****
---- 7028,7051 ----
- if (start_brace == BRACE_IN_COL0) /* '{' is in column 0 */
- {
- amount = ind_open_left_imag;
-+ lookfor_cpp_namespace = TRUE;
-+ }
-+ else if (start_brace == BRACE_AT_START &&
-+ lookfor_cpp_namespace) /* '{' is at start */
-+ {
-+
-+ lookfor_cpp_namespace = TRUE;
- }
- else
- {
- if (start_brace == BRACE_AT_END) /* '{' is at end of line */
-+ {
- amount += ind_open_imag;
-+
-+ l = skipwhite(ml_get_curline());
-+ if (cin_is_cpp_namespace(l))
-+ amount += ind_cpp_namespace;
-+ }
- else
- {
- /* Compensate for adding ind_open_extra later. */
-***************
-*** 7151,7156 ****
---- 7216,7261 ----
- else
- amount += ind_continuation;
- }
-+ else if (lookfor_cpp_namespace)
-+ {
-+ if (curwin->w_cursor.lnum == ourscope)
-+ continue;
-+
-+ if (curwin->w_cursor.lnum == 0
-+ || curwin->w_cursor.lnum
-+ < ourscope - FIND_NAMESPACE_LIM)
-+ break;
-+
-+ l = ml_get_curline();
-+
-+ /*
-+ * If we're in a comment now, skip to the start of the
-+ * comment.
-+ */
-+ trypos = find_start_comment(ind_maxcomment);
-+ if (trypos != NULL)
-+ {
-+ curwin->w_cursor.lnum = trypos->lnum + 1;
-+ curwin->w_cursor.col = 0;
-+ continue;
-+ }
-+
-+ /*
-+ * Skip preprocessor directives and blank lines.
-+ */
-+ if (cin_ispreproc_cont(&l, &curwin->w_cursor.lnum))
-+ continue;
-+
-+ if (cin_is_cpp_namespace(l))
-+ {
-+ amount += ind_cpp_namespace;
-+ break;
-+ }
-+
-+ if (cin_nocode(l))
-+ continue;
-+
-+ }
- else if (lookfor != LOOKFOR_TERM
- && lookfor != LOOKFOR_CPP_BASECLASS)
- {
-*** ../mercurial/vim73/src/testdir/test3.in 2011-05-25 13:33:59.000000000 +0200
---- src/testdir/test3.in 2011-05-25 14:47:31.000000000 +0200
-***************
-*** 799,804 ****
---- 799,867 ----
- df */
- hello
- }
-+
-+ /* valid namespaces with normal indent */
-+ namespace
-+ {
-+ {
-+ 111111111111;
-+ }
-+ }
-+ namespace /* test */
-+ {
-+ 11111111111111111;
-+ }
-+ namespace // test
-+ {
-+ 111111111111111111;
-+ }
-+ namespace
-+ {
-+ 111111111111111111;
-+ }
-+ namespace test
-+ {
-+ 111111111111111111;
-+ }
-+ namespace{
-+ 111111111111111111;
-+ }
-+ namespace test{
-+ 111111111111111111;
-+ }
-+ namespace {
-+ 111111111111111111;
-+ }
-+ namespace test {
-+ 111111111111111111;
-+ namespace test2 {
-+ 22222222222222222;
-+ }
-+ }
-+
-+ /* invalid namespaces use block indent */
-+ namespace test test2 {
-+ 111111111111111111111;
-+ }
-+ namespace11111111111 {
-+ 111111111111;
-+ }
-+ namespace() {
-+ 1111111111111;
-+ }
-+ namespace()
-+ {
-+ 111111111111111111;
-+ }
-+ namespace test test2
-+ {
-+ 1111111111111111111;
-+ }
-+ namespace111111111
-+ {
-+ 111111111111111111;
-+ }
-+
- /* end of AUTO */
-
- STARTTEST
-***************
-*** 1428,1433 ****
---- 1491,1566 ----
- }
-
- STARTTEST
-+ :set cino=N-s
-+ /namespaces
-+ =/^NAMESPACEEND
-+ ENDTEST
-+
-+ /* valid namespaces with normal indent */
-+ namespace
-+ {
-+ {
-+ 111111111111;
-+ }
-+ }
-+ namespace /* test */
-+ {
-+ 11111111111111111;
-+ }
-+ namespace // test
-+ {
-+ 111111111111111111;
-+ }
-+ namespace
-+ {
-+ 111111111111111111;
-+ }
-+ namespace test
-+ {
-+ 111111111111111111;
-+ }
-+ namespace{
-+ 111111111111111111;
-+ }
-+ namespace test{
-+ 111111111111111111;
-+ }
-+ namespace {
-+ 111111111111111111;
-+ }
-+ namespace test {
-+ 111111111111111111;
-+ namespace test2 {
-+ 22222222222222222;
-+ }
-+ }
-+
-+ /* invalid namespaces use block indent */
-+ namespace test test2 {
-+ 111111111111111111111;
-+ }
-+ namespace11111111111 {
-+ 111111111111;
-+ }
-+ namespace() {
-+ 1111111111111;
-+ }
-+ namespace()
-+ {
-+ 111111111111111111;
-+ }
-+ namespace test test2
-+ {
-+ 1111111111111111111;
-+ }
-+ namespace111111111
-+ {
-+ 111111111111111111;
-+ }
-+ NAMESPACEEND
-+
-+
-+ STARTTEST
- :g/^STARTTEST/.,/^ENDTEST/d
- :1;/start of AUTO/,$wq! test.out
- ENDTEST
-*** ../mercurial/vim73/src/testdir/test3.ok 2011-05-25 13:33:59.000000000 +0200
---- src/testdir/test3.ok 2011-05-25 14:48:02.000000000 +0200
-***************
-*** 787,792 ****
---- 787,855 ----
- df */
- hello
- }
-+
-+ /* valid namespaces with normal indent */
-+ namespace
-+ {
-+ {
-+ 111111111111;
-+ }
-+ }
-+ namespace /* test */
-+ {
-+ 11111111111111111;
-+ }
-+ namespace // test
-+ {
-+ 111111111111111111;
-+ }
-+ namespace
-+ {
-+ 111111111111111111;
-+ }
-+ namespace test
-+ {
-+ 111111111111111111;
-+ }
-+ namespace{
-+ 111111111111111111;
-+ }
-+ namespace test{
-+ 111111111111111111;
-+ }
-+ namespace {
-+ 111111111111111111;
-+ }
-+ namespace test {
-+ 111111111111111111;
-+ namespace test2 {
-+ 22222222222222222;
-+ }
-+ }
-+
-+ /* invalid namespaces use block indent */
-+ namespace test test2 {
-+ 111111111111111111111;
-+ }
-+ namespace11111111111 {
-+ 111111111111;
-+ }
-+ namespace() {
-+ 1111111111111;
-+ }
-+ namespace()
-+ {
-+ 111111111111111111;
-+ }
-+ namespace test test2
-+ {
-+ 1111111111111111111;
-+ }
-+ namespace111111111
-+ {
-+ 111111111111111111;
-+ }
-+
- /* end of AUTO */
-
-
-***************
-*** 1273,1275 ****
---- 1336,1403 ----
- baz();
- }
-
-+
-+ /* valid namespaces with normal indent */
-+ namespace
-+ {
-+ {
-+ 111111111111;
-+ }
-+ }
-+ namespace /* test */
-+ {
-+ 11111111111111111;
-+ }
-+ namespace // test
-+ {
-+ 111111111111111111;
-+ }
-+ namespace
-+ {
-+ 111111111111111111;
-+ }
-+ namespace test
-+ {
-+ 111111111111111111;
-+ }
-+ namespace{
-+ 111111111111111111;
-+ }
-+ namespace test{
-+ 111111111111111111;
-+ }
-+ namespace {
-+ 111111111111111111;
-+ }
-+ namespace test {
-+ 111111111111111111;
-+ namespace test2 {
-+ 22222222222222222;
-+ }
-+ }
-+
-+ /* invalid namespaces use block indent */
-+ namespace test test2 {
-+ 111111111111111111111;
-+ }
-+ namespace11111111111 {
-+ 111111111111;
-+ }
-+ namespace() {
-+ 1111111111111;
-+ }
-+ namespace()
-+ {
-+ 111111111111111111;
-+ }
-+ namespace test test2
-+ {
-+ 1111111111111111111;
-+ }
-+ namespace111111111
-+ {
-+ 111111111111111111;
-+ }
-+ NAMESPACEEND
-+
-+
-*** ../vim-7.3.201/src/version.c 2011-05-25 13:33:59.000000000 +0200
---- src/version.c 2011-05-25 15:14:20.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 202,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-107. When using your phone you forget that you don't have to use your
- keyboard.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.203 b/source/ap/vim/patches/7.3.203
deleted file mode 100644
index 62c298972..000000000
--- a/source/ap/vim/patches/7.3.203
+++ /dev/null
@@ -1,102 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.203
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.203
-Problem: MS-Windows: Can't run an external command without a console window.
-Solution: Support ":!start /b cmd". (Xaizek)
-Files: runtime/doc/os_win32.txt, src/os_win32.c
-
-
-*** ../mercurial/vim73/src/os_win32.c 2011-05-05 18:31:54.000000000 +0200
---- src/os_win32.c 2011-05-25 16:45:31.000000000 +0200
-***************
-*** 3401,3406 ****
---- 3401,3407 ----
- {
- STARTUPINFO si;
- PROCESS_INFORMATION pi;
-+ DWORD flags = CREATE_NEW_CONSOLE;
-
- si.cb = sizeof(si);
- si.lpReserved = NULL;
-***************
-*** 3418,3423 ****
---- 3419,3440 ----
- si.dwFlags = STARTF_USESHOWWINDOW;
- si.wShowWindow = SW_SHOWMINNOACTIVE;
- }
-+ else if ((STRNICMP(cmdbase, "/b", 2) == 0)
-+ && vim_iswhite(cmdbase[2]))
-+ {
-+ cmdbase = skipwhite(cmdbase + 2);
-+ flags = CREATE_NO_WINDOW;
-+ si.dwFlags = STARTF_USESTDHANDLES;
-+ si.hStdInput = CreateFile("\\\\.\\NUL", // File name
-+ GENERIC_READ, // Access flags
-+ 0, // Share flags
-+ NULL, // Security att.
-+ OPEN_EXISTING, // Open flags
-+ FILE_ATTRIBUTE_NORMAL, // File att.
-+ NULL); // Temp file
-+ si.hStdOutput = si.hStdInput;
-+ si.hStdError = si.hStdInput;
-+ }
-
- /* When the command is in double quotes, but 'shellxquote' is
- * empty, keep the double quotes around the command.
-***************
-*** 3445,3451 ****
- NULL, // Process security attributes
- NULL, // Thread security attributes
- FALSE, // Inherit handles
-! CREATE_NEW_CONSOLE, // Creation flags
- NULL, // Environment
- NULL, // Current directory
- &si, // Startup information
---- 3462,3468 ----
- NULL, // Process security attributes
- NULL, // Thread security attributes
- FALSE, // Inherit handles
-! flags, // Creation flags
- NULL, // Environment
- NULL, // Current directory
- &si, // Startup information
-***************
-*** 3458,3463 ****
---- 3475,3485 ----
- EMSG(_("E371: Command not found"));
- #endif
- }
-+ if (si.hStdInput != NULL)
-+ {
-+ /* Close the handle to \\.\NUL */
-+ CloseHandle(si.hStdInput);
-+ }
- /* Close the handles to the subprocess, so that it goes away */
- CloseHandle(pi.hThread);
- CloseHandle(pi.hProcess);
-*** ../vim-7.3.202/src/version.c 2011-05-25 15:16:06.000000000 +0200
---- src/version.c 2011-05-25 17:05:59.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 203,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-108. While reading a magazine, you look for the Zoom icon for a better
- look at a photograph.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.204 b/source/ap/vim/patches/7.3.204
deleted file mode 100644
index b2b63602e..000000000
--- a/source/ap/vim/patches/7.3.204
+++ /dev/null
@@ -1,51 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.204
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.204 (after 7.3.201)
-Problem: Compiler warning.
-Solution: Add type cast. (Mike Williams)
-Files: src/misc1.c
-
-
-*** ../mercurial/vim73/src/misc1.c 2011-05-25 15:16:06.000000000 +0200
---- src/misc1.c 2011-05-25 17:25:10.000000000 +0200
-***************
-*** 7657,7663 ****
- * not the one from "if () {". */
- if (*l == '}')
- curwin->w_cursor.col =
-! (l - ml_get_curline()) + 1;
-
- if ((trypos = find_start_brace(ind_maxcomment))
- == NULL
---- 7657,7663 ----
- * not the one from "if () {". */
- if (*l == '}')
- curwin->w_cursor.col =
-! (colnr_T)(l - ml_get_curline()) + 1;
-
- if ((trypos = find_start_brace(ind_maxcomment))
- == NULL
-*** ../vim-7.3.203/src/version.c 2011-05-25 17:06:16.000000000 +0200
---- src/version.c 2011-05-25 17:29:32.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 204,
- /**/
-
---
-In a world without walls and borders, who needs windows and gates?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.205 b/source/ap/vim/patches/7.3.205
deleted file mode 100644
index b49a040e4..000000000
--- a/source/ap/vim/patches/7.3.205
+++ /dev/null
@@ -1,93 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.205
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.205
-Problem: Syntax "extend" doesn't work correctly.
-Solution: Avoid calling check_state_ends() recursively (Ben Schmidt)
-Files: src/syntax.c
-
-
-*** ../mercurial/vim73/src/syntax.c 2011-05-19 12:14:03.000000000 +0200
---- src/syntax.c 2011-05-25 17:47:46.000000000 +0200
-***************
-*** 990,996 ****
---- 990,999 ----
- * previous line and regions that have "keepend".
- */
- if (current_state.ga_len > 0)
-+ {
- syn_update_ends(TRUE);
-+ check_state_ends();
-+ }
-
- next_match_idx = -1;
- ++current_line_id;
-***************
-*** 1064,1070 ****
- }
- }
- check_keepend();
-- check_state_ends();
- }
-
- /****************************************
---- 1067,1072 ----
-***************
-*** 2533,2539 ****
- check_state_ends()
- {
- stateitem_T *cur_si;
-! int had_extend = FALSE;
-
- cur_si = &CUR_STATE(current_state.ga_len - 1);
- for (;;)
---- 2535,2541 ----
- check_state_ends()
- {
- stateitem_T *cur_si;
-! int had_extend;
-
- cur_si = &CUR_STATE(current_state.ga_len - 1);
- for (;;)
-***************
-*** 2586,2593 ****
-
- /* When the ended item has "extend", another item with
- * "keepend" now needs to check for its end. */
-! if (cur_si->si_flags & HL_EXTEND)
-! had_extend = TRUE;
-
- pop_current_state();
-
---- 2588,2594 ----
-
- /* When the ended item has "extend", another item with
- * "keepend" now needs to check for its end. */
-! had_extend = (cur_si->si_flags & HL_EXTEND);
-
- pop_current_state();
-
-*** ../vim-7.3.204/src/version.c 2011-05-25 17:29:40.000000000 +0200
---- src/version.c 2011-05-25 17:52:57.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 205,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-110. You actually volunteer to become your employer's webmaster.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.206 b/source/ap/vim/patches/7.3.206
deleted file mode 100644
index 8a91f0ae2..000000000
--- a/source/ap/vim/patches/7.3.206
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.206
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.206
-Problem: 64bit MS-Windows compiler warning.
-Solution: Use HandleToLong() instead of type cast. (Mike Williams)
-Files: src/gui_w32.c
-
-
-*** ../mercurial/vim73/src/gui_w32.c 2011-01-17 20:08:04.000000000 +0100
---- src/gui_w32.c 2011-05-25 21:14:10.000000000 +0200
-***************
-*** 1575,1581 ****
-
- #ifdef FEAT_EVAL
- /* set the v:windowid variable */
-! set_vim_var_nr(VV_WINDOWID, (long)s_hwnd);
- #endif
-
- theend:
---- 1575,1581 ----
-
- #ifdef FEAT_EVAL
- /* set the v:windowid variable */
-! set_vim_var_nr(VV_WINDOWID, HandleToLong(s_hwnd));
- #endif
-
- theend:
-*** ../vim-7.3.205/src/version.c 2011-05-25 17:56:23.000000000 +0200
---- src/version.c 2011-05-25 21:16:17.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 206,
- /**/
-
---
-FIXME and XXX are two common keywords used to mark broken or incomplete code
-not only since XXX as a sex reference would grab everybody's attention but
-simply due to the fact that Vim would highlight these words.
- -- Hendrik Scholz
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.207 b/source/ap/vim/patches/7.3.207
deleted file mode 100644
index 95b335ecc..000000000
--- a/source/ap/vim/patches/7.3.207
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.207
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.207
-Problem: Can't compile with MSVC with pentium4 and 64 bit.
-Solution: Only use SSE2 for 32 bit. (Mike Williams)
-Files: src/Make_mvc.mak
-
-
-*** ../mercurial/vim73/src/Make_mvc.mak 2011-02-15 18:06:11.000000000 +0100
---- src/Make_mvc.mak 2011-06-04 11:59:38.000000000 +0200
-***************
-*** 409,416 ****
- CPUARG =
- !endif
- !else
-! # VC8/9 only allows specifying SSE architecture
-! !if "$(CPUNR)" == "pentium4"
- CPUARG = /arch:SSE2
- !endif
- !endif
---- 409,416 ----
- CPUARG =
- !endif
- !else
-! # VC8/9/10 only allows specifying SSE architecture but only for 32bit
-! !if "$(ASSEMBLY_ARCHITECTURE)" == "x86" && "$(CPUNR)" == "pentium4"
- CPUARG = /arch:SSE2
- !endif
- !endif
-*** ../vim-7.3.206/src/version.c 2011-05-25 21:18:02.000000000 +0200
---- src/version.c 2011-06-12 20:30:30.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 207,
- /**/
-
---
-"The question of whether computers can think is just like the question
-of whether submarines can swim." -- Edsger W. Dijkstra
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.208 b/source/ap/vim/patches/7.3.208
deleted file mode 100644
index c5a792957..000000000
--- a/source/ap/vim/patches/7.3.208
+++ /dev/null
@@ -1,51 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.208
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.208
-Problem: Early terminated if statement.
-Solution: Remove the semicolon. (Lech Lorens)
-Files: src/gui_mac.c
-
-
-*** ../mercurial/vim73/src/gui_mac.c 2011-01-17 20:08:04.000000000 +0100
---- src/gui_mac.c 2011-06-06 05:35:46.000000000 +0200
-***************
-*** 1840,1846 ****
- p.v -= gui.scrollbar_height;
- p.v -= p.v % gui.char_height;
- p.v += 2 * gui.border_width;
-! if (gui.which_scrollbars[SBAR_BOTTOM]);
- p.v += gui.scrollbar_height;
-
- ZoomWindowIdeal(whichWindow, thePart, &p);
---- 1840,1846 ----
- p.v -= gui.scrollbar_height;
- p.v -= p.v % gui.char_height;
- p.v += 2 * gui.border_width;
-! if (gui.which_scrollbars[SBAR_BOTTOM])
- p.v += gui.scrollbar_height;
-
- ZoomWindowIdeal(whichWindow, thePart, &p);
-*** ../vim-7.3.207/src/version.c 2011-06-12 20:31:25.000000000 +0200
---- src/version.c 2011-06-12 20:33:00.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 208,
- /**/
-
---
-Keep America beautiful. Swallow your beer cans.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.209 b/source/ap/vim/patches/7.3.209
deleted file mode 100644
index afd4ab825..000000000
--- a/source/ap/vim/patches/7.3.209
+++ /dev/null
@@ -1,95 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.209
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.209
-Problem: MSVC Install instructions point to wrong batch file.
-Solution: Add a batch file for use with MSVC 10.
-Files: src/msvc2010.bat, src/INSTALLpc.txt, Filelist
-
-
-*** ../mercurial/vim73/src/msvc2010.bat 2011-06-12 20:35:31.000000000 +0200
---- src/msvc2010.bat 2011-06-09 05:08:35.000000000 +0200
-***************
-*** 0 ****
---- 1,7 ----
-+ @echo off
-+ rem To be used on MS-Windows for Visual C++ 2010 Express Edition
-+ rem aka Microsoft Visual Studio 10.0.
-+ rem See INSTALLpc.txt for information.
-+ @echo on
-+
-+ call "%VS100COMNTOOLS%%vsvars32.bat"
-*** ../mercurial/vim73/src/INSTALLpc.txt 2010-08-16 21:23:30.000000000 +0200
---- src/INSTALLpc.txt 2011-06-08 06:47:46.000000000 +0200
-***************
-*** 28,35 ****
- 9. MS-DOS
-
- The currently preferred method is using the free Visual C++ Toolkit 2008
-! |msvc-2008-express|. If you need the executable to run on Windows 98 or ME,
-! use the 2003 one |msvc-2003-toolkit|.
-
-
- 1. Microsoft Visual C++
---- 28,36 ----
- 9. MS-DOS
-
- The currently preferred method is using the free Visual C++ Toolkit 2008
-! |msvc-2008-express|, the produced binary runs on most MS-Windows systems. If
-! you need the executable to run on Windows 98 or ME, use the 2003 one
-! |msvc-2003-toolkit|.
-
-
- 1. Microsoft Visual C++
-***************
-*** 176,182 ****
- http://www.microsoft.com/express/vc/Default.aspx
- This includes the IDE and the debugger.
-
-! To set the environment execute the msvc2008.bat script. You can then build
- Vim with Make_mvc.mak.
-
-
---- 177,183 ----
- http://www.microsoft.com/express/vc/Default.aspx
- This includes the IDE and the debugger.
-
-! To set the environment execute the msvc2010.bat script. You can then build
- Vim with Make_mvc.mak.
-
-
-*** ../mercurial/vim73/Filelist 2011-05-19 13:40:47.000000000 +0200
---- Filelist 2011-06-09 05:17:25.000000000 +0200
-***************
-*** 262,267 ****
---- 262,268 ----
- src/bigvim.bat \
- src/msvcsetup.bat \
- src/msvc2008.bat \
-+ src/msvc2010.bat \
- src/dimm.idl \
- src/dlldata.c \
- src/dosinst.c \
-*** ../vim-7.3.208/src/version.c 2011-06-12 20:33:30.000000000 +0200
---- src/version.c 2011-06-12 20:34:44.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 209,
- /**/
-
---
-"Hit any key to continue" is a lie.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.210 b/source/ap/vim/patches/7.3.210
deleted file mode 100644
index f02fe6fe6..000000000
--- a/source/ap/vim/patches/7.3.210
+++ /dev/null
@@ -1,182 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.210
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.210
-Problem: Can't always find the file when using cscope.
-Solution: Add the 'cscoperelative' option. (Raghavendra D Prabhu)
-Files: runtime/doc/if_cscop.txt, runtime/doc/options.txt,
- src/if_cscope.c, src/options.c, src/options.h
-
-
-*** ../mercurial/vim73/runtime/doc/if_cscop.txt 2010-09-30 21:38:08.000000000 +0200
---- runtime/doc/if_cscop.txt 2011-06-12 19:54:26.000000000 +0200
-***************
-*** 271,276 ****
---- 271,285 ----
- :set cst
- :set nocst
- <
-+ *cscoperelative* *csre*
-+ If 'cscoperelative' set, then in absence of a prefix given to cscope (prefx
-+ is the argument to -P option of cscope), basename of cscope.out location
-+ (usually the project root directory) will be used as the prefix to construt
-+ absolute path.The default is off. Note: This option is only effective when
-+ cscope (cscopeprg) is initialized without a prefix path (-P). Examples: >
-+ :set csre
-+ :set nocsre
-+ <
- *cscopetagorder* *csto*
- The value of 'csto' determines the order in which |:cstag| performs a search.
- If 'csto' is set to zero, cscope database(s) are searched first, followed
-*** ../mercurial/vim73/runtime/doc/options.txt 2011-05-19 12:22:41.000000000 +0200
---- runtime/doc/options.txt 2011-06-12 20:00:10.000000000 +0200
-***************
-*** 2209,2214 ****
---- 2209,2224 ----
- Specifies whether to use quickfix window to show cscope results.
- See |cscopequickfix|.
-
-+ *'cscoperelative'* *'csre'*
-+ 'cscoperelative' 'csre' boolean (default off)
-+ global
-+ {not available when compiled without the |+cscope|
-+ feature}
-+ {not in Vi}
-+ In the absence of a prefix (-P) for cscope. setting this option enables
-+ to use the basename of cscope.out path as the prefix.
-+ See |cscoperelative|.
-+
- *'cscopetag'* *'cst'* *'nocscopetag'* *'nocst'*
- 'cscopetag' 'cst' boolean (default off)
- global
-*** ../mercurial/vim73/src/if_cscope.c 2011-05-05 16:41:19.000000000 +0200
---- src/if_cscope.c 2011-06-12 20:25:17.000000000 +0200
-***************
-*** 2471,2512 ****
- */
- static char *
- cs_resolve_file(i, name)
-! int i;
- char *name;
- {
-! char *fullname;
-! int len;
-
- /*
-! * ppath is freed when we destroy the cscope connection.
-! * fullname is freed after cs_make_vim_style_matches, after it's been
-! * copied into the tag buffer used by vim
- */
- len = (int)(strlen(name) + 2);
- if (csinfo[i].ppath != NULL)
- len += (int)strlen(csinfo[i].ppath);
-
- if ((fullname = (char *)alloc(len)) == NULL)
- return NULL;
-
-! /*
-! * note/example: this won't work if the cscope output already starts
- * "../.." and the prefix path is also "../..". if something like this
-! * happens, you are screwed up and need to fix how you're using cscope.
-! */
-! if (csinfo[i].ppath != NULL &&
-! (strncmp(name, csinfo[i].ppath, strlen(csinfo[i].ppath)) != 0) &&
-! (name[0] != '/')
- #ifdef WIN32
-! && name[0] != '\\' && name[1] != ':'
- #endif
-! )
- (void)sprintf(fullname, "%s/%s", csinfo[i].ppath, name);
- else
- (void)sprintf(fullname, "%s", name);
-
- return fullname;
-! } /* cs_resolve_file */
-
-
- /*
---- 2471,2531 ----
- */
- static char *
- cs_resolve_file(i, name)
-! int i;
- char *name;
- {
-! char *fullname;
-! int len;
-! char_u *csdir = NULL;
-
- /*
-! * Ppath is freed when we destroy the cscope connection.
-! * Fullname is freed after cs_make_vim_style_matches, after it's been
-! * copied into the tag buffer used by Vim.
- */
- len = (int)(strlen(name) + 2);
- if (csinfo[i].ppath != NULL)
- len += (int)strlen(csinfo[i].ppath);
-+ else if (p_csre && csinfo[i].fname != NULL)
-+ {
-+ /* If 'cscoperelative' is set and ppath is not set, use cscope.out
-+ * path in path resolution. */
-+ csdir = alloc(MAXPATHL);
-+ if (csdir != NULL)
-+ {
-+ vim_strncpy(csdir, (char_u *)csinfo[i].fname,
-+ gettail((char_u *)csinfo[i].fname) - 1 - (char_u *)csinfo[i].fname);
-+ len += (int)STRLEN(csdir);
-+ }
-+ }
-
- if ((fullname = (char *)alloc(len)) == NULL)
- return NULL;
-
-! /* Note/example: this won't work if the cscope output already starts
- * "../.." and the prefix path is also "../..". if something like this
-! * happens, you are screwed up and need to fix how you're using cscope. */
-! if (csinfo[i].ppath != NULL
-! && (strncmp(name, csinfo[i].ppath, strlen(csinfo[i].ppath)) != 0)
-! && (name[0] != '/')
- #ifdef WIN32
-! && name[0] != '\\' && name[1] != ':'
- #endif
-! )
- (void)sprintf(fullname, "%s/%s", csinfo[i].ppath, name);
-+ else if (csdir != NULL && csinfo[i].fname != NULL && STRLEN(csdir) > 0)
-+ {
-+ /* Check for csdir to be non empty to avoid empty path concatenated to
-+ * cscope output. TODO: avoid the unnecessary alloc/free of fullname. */
-+ vim_free(fullname);
-+ fullname = concat_fnames(csdir, (char_u *)name, TRUE);
-+ }
- else
- (void)sprintf(fullname, "%s", name);
-
-+ vim_free(csdir);
- return fullname;
-! }
-
-
- /*
-*** ../vim-7.3.209/src/version.c 2011-06-12 20:36:00.000000000 +0200
---- src/version.c 2011-06-12 20:37:48.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 210,
- /**/
-
---
-Apathy Error: Don't bother striking any key.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.211 b/source/ap/vim/patches/7.3.211
deleted file mode 100644
index 4760c106c..000000000
--- a/source/ap/vim/patches/7.3.211
+++ /dev/null
@@ -1,51 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.211
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.211 (after 7.3.210)
-Problem: Compiler warning.
-Solution: Add type cast.
-Files: src/if_cscope.c
-
-
-*** ../mercurial/vim73/src/if_cscope.c 2011-06-12 20:42:17.000000000 +0200
---- src/if_cscope.c 2011-06-12 21:22:53.000000000 +0200
-***************
-*** 2518,2524 ****
- /* Check for csdir to be non empty to avoid empty path concatenated to
- * cscope output. TODO: avoid the unnecessary alloc/free of fullname. */
- vim_free(fullname);
-! fullname = concat_fnames(csdir, (char_u *)name, TRUE);
- }
- else
- (void)sprintf(fullname, "%s", name);
---- 2518,2524 ----
- /* Check for csdir to be non empty to avoid empty path concatenated to
- * cscope output. TODO: avoid the unnecessary alloc/free of fullname. */
- vim_free(fullname);
-! fullname = (char *)concat_fnames(csdir, (char_u *)name, TRUE);
- }
- else
- (void)sprintf(fullname, "%s", name);
-*** ../vim-7.3.210/src/version.c 2011-06-12 20:42:17.000000000 +0200
---- src/version.c 2011-06-12 21:24:03.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 211,
- /**/
-
---
-Did you ever see a "Hit any key to continue" message in a music piece?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.212 b/source/ap/vim/patches/7.3.212
deleted file mode 100644
index d5086db0a..000000000
--- a/source/ap/vim/patches/7.3.212
+++ /dev/null
@@ -1,243 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.212
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.212
-Problem: With Python 3.2 ":py3" fails.
-Solution: Move PyEval_InitThreads() to after Py_Initialize(). (Roland
- Puntaier) Check abiflags in configure. (Andreas Behr)
-Files: src/if_python3.c, src/auto/configure, src/configure.in
-
-
-*** ../mercurial/vim73/src/if_python3.c 2011-02-25 15:18:46.000000000 +0100
---- src/if_python3.c 2011-06-11 04:24:49.000000000 +0200
-***************
-*** 547,560 ****
- Py_SetPythonHome(PYTHON3_HOME);
- #endif
-
-- /* initialise threads */
-- PyEval_InitThreads();
--
- #if !defined(MACOS) || defined(MACOS_X_UNIX)
- Py_Initialize();
- #else
- PyMac_Initialize();
- #endif
-
- #ifdef DYNAMIC_PYTHON3
- get_py3_exceptions();
---- 547,559 ----
- Py_SetPythonHome(PYTHON3_HOME);
- #endif
-
- #if !defined(MACOS) || defined(MACOS_X_UNIX)
- Py_Initialize();
- #else
- PyMac_Initialize();
- #endif
-+ /* initialise threads, must be after Py_Initialize() */
-+ PyEval_InitThreads();
-
- #ifdef DYNAMIC_PYTHON3
- get_py3_exceptions();
-*** ../mercurial/vim73/src/auto/configure 2011-05-10 15:41:59.000000000 +0200
---- src/auto/configure 2011-06-12 21:33:16.000000000 +0200
-***************
-*** 5505,5510 ****
---- 5505,5527 ----
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_var_python3_version" >&5
- $as_echo "$vi_cv_var_python3_version" >&6; }
-
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's abiflags" >&5
-+ $as_echo_n "checking Python's abiflags... " >&6; }
-+ if test "${vi_cv_var_python3_abiflags+set}" = set; then :
-+ $as_echo_n "(cached) " >&6
-+ else
-+
-+ vi_cv_var_python3_abiflags=
-+ if ${vi_cv_path_python3} -c \
-+ "import sys; sys.exit(${vi_cv_var_python3_version} < 3.2)"
-+ then
-+ vi_cv_var_python3_abiflags=`${vi_cv_path_python3} -c \
-+ "import sys; print(sys.abiflags)"`
-+ fi
-+ fi
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_var_python3_abiflags" >&5
-+ $as_echo "$vi_cv_var_python3_abiflags" >&6; }
-+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5
- $as_echo_n "checking Python's install prefix... " >&6; }
- if test "${vi_cv_path_python3_pfx+set}" = set; then :
-***************
-*** 5555,5563 ****
- else
-
- vi_cv_path_python3_conf=
- for path in "${vi_cv_path_python3_pfx}" "${vi_cv_path_python3_epfx}"; do
- for subdir in lib64 lib share; do
-! d="${path}/${subdir}/python${vi_cv_var_python3_version}/config"
- if test -d "$d" && test -f "$d/config.c"; then
- vi_cv_path_python3_conf="$d"
- fi
---- 5572,5584 ----
- else
-
- vi_cv_path_python3_conf=
-+ config_dir="config"
-+ if test "${vi_cv_var_python3_abiflags}" != ""; then
-+ config_dir="${config_dir}-${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
-+ fi
- for path in "${vi_cv_path_python3_pfx}" "${vi_cv_path_python3_epfx}"; do
- for subdir in lib64 lib share; do
-! d="${path}/${subdir}/python${vi_cv_var_python3_version}/${config_dir}"
- if test -d "$d" && test -f "$d/config.c"; then
- vi_cv_path_python3_conf="$d"
- fi
-***************
-*** 5592,5598 ****
- eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
- rm -f -- "${tmp_mkf}"
- vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}"
-! vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS} ${python3_LINKFORSHARED}"
- vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
- vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
-
---- 5613,5619 ----
- eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
- rm -f -- "${tmp_mkf}"
- vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}"
-! vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}"
- vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
- vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
-
-***************
-*** 5601,5609 ****
-
- PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
- if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- else
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- fi
- PYTHON3_SRC="if_python3.c"
- if test "x$MACOSX" = "xyes"; then
---- 5622,5630 ----
-
- PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
- if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- else
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- fi
- PYTHON3_SRC="if_python3.c"
- if test "x$MACOSX" = "xyes"; then
-*** ../mercurial/vim73/src/configure.in 2011-05-10 15:41:59.000000000 +0200
---- src/configure.in 2011-06-12 21:31:18.000000000 +0200
-***************
-*** 992,997 ****
---- 992,1008 ----
- ${vi_cv_path_python3} -c 'import sys; print(sys.version[:3])'`
- ]])
-
-+ dnl -- get abiflags for python 3.2 or higher (PEP 3149)
-+ AC_CACHE_CHECK(Python's abiflags,vi_cv_var_python3_abiflags,
-+ [
-+ vi_cv_var_python3_abiflags=
-+ if ${vi_cv_path_python3} -c \
-+ "import sys; sys.exit(${vi_cv_var_python3_version} < 3.2)"
-+ then
-+ vi_cv_var_python3_abiflags=`${vi_cv_path_python3} -c \
-+ "import sys; print(sys.abiflags)"`
-+ fi ])
-+
- dnl -- find where python3 thinks it was installed
- AC_CACHE_CHECK(Python's install prefix,vi_cv_path_python3_pfx,
- [ vi_cv_path_python3_pfx=`
-***************
-*** 1021,1029 ****
- AC_CACHE_CHECK(Python's configuration directory,vi_cv_path_python3_conf,
- [
- vi_cv_path_python3_conf=
- for path in "${vi_cv_path_python3_pfx}" "${vi_cv_path_python3_epfx}"; do
- for subdir in lib64 lib share; do
-! d="${path}/${subdir}/python${vi_cv_var_python3_version}/config"
- if test -d "$d" && test -f "$d/config.c"; then
- vi_cv_path_python3_conf="$d"
- fi
---- 1032,1044 ----
- AC_CACHE_CHECK(Python's configuration directory,vi_cv_path_python3_conf,
- [
- vi_cv_path_python3_conf=
-+ config_dir="config"
-+ if test "${vi_cv_var_python3_abiflags}" != ""; then
-+ config_dir="${config_dir}-${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
-+ fi
- for path in "${vi_cv_path_python3_pfx}" "${vi_cv_path_python3_epfx}"; do
- for subdir in lib64 lib share; do
-! d="${path}/${subdir}/python${vi_cv_var_python3_version}/${config_dir}"
- if test -d "$d" && test -f "$d/config.c"; then
- vi_cv_path_python3_conf="$d"
- fi
-***************
-*** 1055,1061 ****
- eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
- rm -f -- "${tmp_mkf}"
- vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}"
-! vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS} ${python3_LINKFORSHARED}"
- dnl remove -ltermcap, it can conflict with an earlier -lncurses
- vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
- vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
---- 1070,1076 ----
- eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
- rm -f -- "${tmp_mkf}"
- vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}"
-! vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}"
- dnl remove -ltermcap, it can conflict with an earlier -lncurses
- vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
- vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
-***************
-*** 1063,1071 ****
-
- PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
- if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- else
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- fi
- PYTHON3_SRC="if_python3.c"
- dnl For Mac OSX 10.2 config.o is included in the Python library.
---- 1078,1086 ----
-
- PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
- if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- else
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- fi
- PYTHON3_SRC="if_python3.c"
- dnl For Mac OSX 10.2 config.o is included in the Python library.
-*** ../vim-7.3.211/src/version.c 2011-06-12 21:24:56.000000000 +0200
---- src/version.c 2011-06-12 21:35:31.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 212,
- /**/
-
---
-In Joseph Heller's novel "Catch-22", the main character tries to get out of a
-war by proving he is crazy. But the mere fact he wants to get out of the war
-only shows he isn't crazy -- creating the original "Catch-22".
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.213 b/source/ap/vim/patches/7.3.213
deleted file mode 100644
index d3ef325e1..000000000
--- a/source/ap/vim/patches/7.3.213
+++ /dev/null
@@ -1,142 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.213
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.213
-Problem: Javascript object literal is not indented correctly.
-Solution: Make a special case for when "J1" is in 'cino'. (Luc Deschenaux)
-Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
-
-
-*** ../mercurial/vim73/src/misc1.c 2011-05-25 17:29:40.000000000 +0200
---- src/misc1.c 2011-06-10 04:58:10.000000000 +0200
-***************
-*** 6965,6971 ****
- * ldfd) {
- * }
- */
-! if ((ind_keep_case_label
- && cin_iscase(skipwhite(ml_get_curline()), FALSE)))
- amount = get_indent();
- else
---- 6965,6971 ----
- * ldfd) {
- * }
- */
-! if (ind_js || (ind_keep_case_label
- && cin_iscase(skipwhite(ml_get_curline()), FALSE)))
- amount = get_indent();
- else
-*** ../mercurial/vim73/src/testdir/test3.in 2011-05-25 15:16:06.000000000 +0200
---- src/testdir/test3.in 2011-06-12 21:44:12.000000000 +0200
-***************
-*** 1492,1501 ****
-
- STARTTEST
- :set cino=N-s
-! /namespaces
- =/^NAMESPACEEND
- ENDTEST
-
- /* valid namespaces with normal indent */
- namespace
- {
---- 1492,1502 ----
-
- STARTTEST
- :set cino=N-s
-! /^NAMESPACESTART
- =/^NAMESPACEEND
- ENDTEST
-
-+ NAMESPACESTART
- /* valid namespaces with normal indent */
- namespace
- {
-***************
-*** 1561,1566 ****
---- 1562,1588 ----
-
-
- STARTTEST
-+ :set cino=J1
-+ /^JSSTART
-+ =/^JSEND
-+ ENDTEST
-+
-+ JSSTART
-+ var bar = {
-+ foo: {
-+ that: this,
-+ some: ok,
-+ },
-+ "bar":{
-+ a : 2,
-+ b: "123abc",
-+ x: 4,
-+ "y": 5
-+ }
-+ }
-+ JSEND
-+
-+ STARTTEST
- :g/^STARTTEST/.,/^ENDTEST/d
- :1;/start of AUTO/,$wq! test.out
- ENDTEST
-*** ../mercurial/vim73/src/testdir/test3.ok 2011-05-25 15:16:06.000000000 +0200
---- src/testdir/test3.ok 2011-06-12 21:44:26.000000000 +0200
-***************
-*** 1337,1342 ****
---- 1337,1343 ----
- }
-
-
-+ NAMESPACESTART
- /* valid namespaces with normal indent */
- namespace
- {
-***************
-*** 1401,1403 ****
---- 1402,1420 ----
- NAMESPACEEND
-
-
-+
-+ JSSTART
-+ var bar = {
-+ foo: {
-+ that: this,
-+ some: ok,
-+ },
-+ "bar":{
-+ a : 2,
-+ b: "123abc",
-+ x: 4,
-+ "y": 5
-+ }
-+ }
-+ JSEND
-+
-*** ../vim-7.3.212/src/version.c 2011-06-12 21:37:06.000000000 +0200
---- src/version.c 2011-06-12 21:48:34.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 213,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-169. You hire a housekeeper for your home page.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.214 b/source/ap/vim/patches/7.3.214
deleted file mode 100644
index a095bbc43..000000000
--- a/source/ap/vim/patches/7.3.214
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.214
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.214
-Problem: The text displayed by ":z-" isn't exactly like old Vi.
-Solution: Add one to the start line number. (ChangZhuo Chen)
-Files: src/ex_cmds.c
-
-
-*** ../mercurial/vim73/src/ex_cmds.c 2011-05-19 14:30:07.000000000 +0200
---- src/ex_cmds.c 2011-05-19 14:23:33.000000000 +0200
-***************
-*** 4097,4104 ****
- switch (*kind)
- {
- case '-':
-! start = lnum - bigness * (linenr_T)(x - kind);
-! end = start + bigness;
- curs = end;
- break;
-
---- 4097,4104 ----
- switch (*kind)
- {
- case '-':
-! start = lnum - bigness * (linenr_T)(x - kind) + 1;
-! end = start + bigness - 1;
- curs = end;
- break;
-
-*** ../vim-7.3.213/src/version.c 2011-06-12 21:51:01.000000000 +0200
---- src/version.c 2011-06-12 22:02:20.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 214,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-170. You introduce your wife as "my_lady@home.wife" and refer to your
- children as "forked processes."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.215 b/source/ap/vim/patches/7.3.215
deleted file mode 100644
index 24d37fbfe..000000000
--- a/source/ap/vim/patches/7.3.215
+++ /dev/null
@@ -1,63 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.215
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.215 (after 7.3.210)
-Problem: Wrong file names in previous patch. (Toothpik)
-Solution: Include the option changes.
-Files: src/option.c, src/option.h
-
-
-*** ../mercurial/vim73/src/option.c 2011-05-19 13:40:47.000000000 +0200
---- src/option.c 2011-06-12 19:58:17.000000000 +0200
-***************
-*** 901,906 ****
---- 901,913 ----
- {(char_u *)0L, (char_u *)0L}
- #endif
- SCRIPTID_INIT},
-+ {"cscoperelative", "csre", P_BOOL|P_VI_DEF|P_VIM,
-+ #ifdef FEAT_CSCOPE
-+ (char_u *)&p_csre, PV_NONE,
-+ #else
-+ (char_u *)NULL, PV_NONE,
-+ #endif
-+ {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
- {"cscopetag", "cst", P_BOOL|P_VI_DEF|P_VIM,
- #ifdef FEAT_CSCOPE
- (char_u *)&p_cst, PV_NONE,
-*** ../mercurial/vim73/src/option.h 2011-05-19 13:40:47.000000000 +0200
---- src/option.h 2011-06-12 19:58:49.000000000 +0200
-***************
-*** 391,396 ****
---- 391,397 ----
- EXTERN char_u *p_cpo; /* 'cpoptions' */
- #ifdef FEAT_CSCOPE
- EXTERN char_u *p_csprg; /* 'cscopeprg' */
-+ EXTERN int p_csre; /* 'cscoperelative' */
- # ifdef FEAT_QUICKFIX
- EXTERN char_u *p_csqf; /* 'cscopequickfix' */
- # define CSQF_CMDS "sgdctefi"
-*** ../vim-7.3.214/src/version.c 2011-06-12 22:03:15.000000000 +0200
---- src/version.c 2011-06-12 22:12:34.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 215,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-171. You invent another person and chat with yourself in empty chat rooms.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.216 b/source/ap/vim/patches/7.3.216
deleted file mode 100644
index a52bc936b..000000000
--- a/source/ap/vim/patches/7.3.216
+++ /dev/null
@@ -1,263 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.216
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.216
-Problem: When recovering a file a range of lines is missing. (Charles Jie)
-Solution: Reset the index when advancing to the next pointer block. Add a
- test to verify recovery works.
-Files: src/memline.c, src/testdir/test78.in, src/testdir/test78.ok,
- src/testdir/Makefile, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
-
-
-*** ../mercurial/vim73/src/memline.c 2011-05-10 16:41:13.000000000 +0200
---- src/memline.c 2011-06-13 00:56:09.000000000 +0200
-***************
-*** 1507,1512 ****
---- 1507,1513 ----
- bnum = pp->pb_pointer[idx].pe_bnum;
- line_count = pp->pb_pointer[idx].pe_line_count;
- page_count = pp->pb_pointer[idx].pe_page_count;
-+ idx = 0;
- continue;
- }
- }
-*** ../mercurial/vim73/src/testdir/test78.in 2011-06-13 01:05:54.000000000 +0200
---- src/testdir/test78.in 2011-06-13 00:54:48.000000000 +0200
-***************
-*** 0 ****
---- 1,46 ----
-+ Inserts 10000 lines with text to fill the swap file with two levels of pointer
-+ blocks. Then recovers from the swap file and checks all text is restored.
-+
-+ We need about 10000 lines of 100 characters to get two levels of pointer
-+ blocks.
-+
-+ STARTTEST
-+ :so small.vim
-+ :set nocp fileformat=unix undolevels=-1
-+ :e! Xtest
-+ ggdG
-+ :let text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnoparstuvwxyz0123456789"
-+ :let i = 1
-+ :let linecount = 10000
-+ :while i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile
-+ :preserve
-+ :" get the name of the swap file
-+ :redir => swapname
-+ :swapname
-+ :redir END
-+ :let swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][:cntrl:]]*$', '\1', '')
-+ :" make a copy of the swap file in Xswap
-+ :set bin
-+ :exe 'sp ' . swapname
-+ :w! Xswap
-+ :echo swapname
-+ :set nobin
-+ :new
-+ :only!
-+ :bwipe! Xtest
-+ :call rename('Xswap', swapname)
-+ :recover Xtest
-+ :call delete(swapname)
-+ :new
-+ :call append(0, 'recovery start')
-+ :wincmd w
-+ :let linedollar = line('$')
-+ :if linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected " . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let linecount = linedollar | endif
-+ :let i = 1
-+ :while i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call append(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile
-+ :q!
-+ :call append(line('$'), 'recovery end')
-+ :w! test.out
-+ :qa!
-+ ENDTEST
-+
-*** ../mercurial/vim73/src/testdir/test78.ok 2011-06-13 01:05:54.000000000 +0200
---- src/testdir/test78.ok 2011-06-13 00:25:05.000000000 +0200
-***************
-*** 0 ****
---- 1,3 ----
-+ recovery start
-+
-+ recovery end
-*** ../mercurial/vim73/src/testdir/Makefile 2011-03-22 18:10:34.000000000 +0100
---- src/testdir/Makefile 2011-06-13 00:35:46.000000000 +0200
-***************
-*** 25,31 ****
- test59.out test60.out test61.out test62.out test63.out \
- test64.out test65.out test66.out test67.out test68.out \
- test69.out test70.out test71.out test72.out test73.out \
-! test74.out test75.out test76.out test77.out
-
- SCRIPTS_GUI = test16.out
-
---- 25,31 ----
- test59.out test60.out test61.out test62.out test63.out \
- test64.out test65.out test66.out test67.out test68.out \
- test69.out test70.out test71.out test72.out test73.out \
-! test74.out test75.out test76.out test77.out test78.out
-
- SCRIPTS_GUI = test16.out
-
-***************
-*** 71,77 ****
- fi \
- else echo $* NO OUTPUT >>test.log; \
- fi"
-! # -rm -rf X* test.ok viminfo
-
- test49.out: test49.vim
-
---- 71,77 ----
- fi \
- else echo $* NO OUTPUT >>test.log; \
- fi"
-! -rm -rf X* test.ok viminfo
-
- test49.out: test49.vim
-
-*** ../mercurial/vim73/src/testdir/Make_amiga.mak 2011-03-22 18:10:34.000000000 +0100
---- src/testdir/Make_amiga.mak 2011-06-13 01:00:42.000000000 +0200
-***************
-*** 28,34 ****
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
-! test76.out test77.out
-
- .SUFFIXES: .in .out
-
---- 28,34 ----
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
-! test76.out test77.out test78.out
-
- .SUFFIXES: .in .out
-
-***************
-*** 125,127 ****
---- 125,128 ----
- test75.out: test75.in
- test76.out: test76.in
- test77.out: test77.in
-+ test78.out: test78.in
-*** ../mercurial/vim73/src/testdir/Make_dos.mak 2011-03-22 18:10:34.000000000 +0100
---- src/testdir/Make_dos.mak 2011-06-13 01:00:55.000000000 +0200
-***************
-*** 28,34 ****
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
-! test74.out test75.out test76.out test77.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 28,34 ----
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
-! test74.out test75.out test76.out test77.out test78.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../mercurial/vim73/src/testdir/Make_ming.mak 2011-03-22 18:10:34.000000000 +0100
---- src/testdir/Make_ming.mak 2011-06-13 01:01:02.000000000 +0200
-***************
-*** 48,54 ****
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
-! test74.out test75.out test76.out test77.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 48,54 ----
- test37.out test38.out test39.out test40.out test41.out \
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
-! test74.out test75.out test76.out test77.out test78.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../mercurial/vim73/src/testdir/Make_os2.mak 2011-03-22 18:10:34.000000000 +0100
---- src/testdir/Make_os2.mak 2011-06-13 01:01:08.000000000 +0200
-***************
-*** 28,34 ****
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
-! test76.out test77.out
-
- .SUFFIXES: .in .out
-
---- 28,34 ----
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
-! test76.out test77.out test78.out
-
- .SUFFIXES: .in .out
-
-*** ../mercurial/vim73/src/testdir/Make_vms.mms 2011-04-28 19:05:01.000000000 +0200
---- src/testdir/Make_vms.mms 2011-06-13 01:01:29.000000000 +0200
-***************
-*** 4,10 ****
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
-! # Last change: 2011 Mar 03
- #
- # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
- # Edit the lines in the Configuration section below to select.
---- 4,10 ----
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
-! # Last change: 2011 Jun 13
- #
- # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
- # Edit the lines in the Configuration section below to select.
-***************
-*** 75,81 ****
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out \
- test71.out test72.out test74.out test75.out test76.out \
-! test77.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
---- 75,81 ----
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out \
- test71.out test72.out test74.out test75.out test76.out \
-! test77.out test78.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
-*** ../vim-7.3.215/src/version.c 2011-06-12 22:13:37.000000000 +0200
---- src/version.c 2011-06-13 00:59:02.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 216,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-172. You join listservers just for the extra e-mail.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.217 b/source/ap/vim/patches/7.3.217
deleted file mode 100644
index be04b8634..000000000
--- a/source/ap/vim/patches/7.3.217
+++ /dev/null
@@ -1,63 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.217
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.217
-Problem: Inside an "if" a ":wincmd" causes problems.
-Solution: When skipping commands let ":wincmd" skip over its argument.
-Files: src/ex_docmd.c
-
-
-*** ../mercurial/vim73/src/ex_docmd.c 2011-05-25 12:51:17.000000000 +0200
---- src/ex_docmd.c 2011-06-13 01:15:17.000000000 +0200
-***************
-*** 2595,2600 ****
---- 2595,2601 ----
- case CMD_unlet:
- case CMD_verbose:
- case CMD_vertical:
-+ case CMD_wincmd:
- break;
-
- default: goto doend;
-***************
-*** 8237,8243 ****
- p = skipwhite(p);
- if (*p != NUL && *p != '"' && eap->nextcmd == NULL)
- EMSG(_(e_invarg));
-! else
- {
- /* Pass flags on for ":vertical wincmd ]". */
- postponed_split_flags = cmdmod.split;
---- 8238,8244 ----
- p = skipwhite(p);
- if (*p != NUL && *p != '"' && eap->nextcmd == NULL)
- EMSG(_(e_invarg));
-! else if (!eap->skip)
- {
- /* Pass flags on for ":vertical wincmd ]". */
- postponed_split_flags = cmdmod.split;
-*** ../vim-7.3.216/src/version.c 2011-06-13 01:07:22.000000000 +0200
---- src/version.c 2011-06-13 01:18:48.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 217,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-173. You keep tracking down the email addresses of all your friends
- (even childhood friends).
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.218 b/source/ap/vim/patches/7.3.218
deleted file mode 100644
index 1da18d810..000000000
--- a/source/ap/vim/patches/7.3.218
+++ /dev/null
@@ -1,91 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.218
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.218 (after 7.3.212)
-Problem: Tiny configuration problem with Python 3.
-Solution: Add abiflags in one more place. (Andreas Behr)
-Files: src/auto/configure, src/configure.in
-
-
-*** ../mercurial/vim73/src/auto/configure 2011-06-12 21:37:06.000000000 +0200
---- src/auto/configure 2011-06-13 01:26:50.000000000 +0200
-***************
-*** 5607,5613 ****
- @echo "python3_BASEMODLIBS='$(BASEMODLIBS)'"
- @echo "python3_LIBS='$(LIBS)'"
- @echo "python3_SYSLIBS='$(SYSLIBS)'"
-- @echo "python3_LINKFORSHARED='$(LINKFORSHARED)'"
- @echo "python3_INSTSONAME='$(INSTSONAME)'"
- eof
- eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
---- 5607,5612 ----
-***************
-*** 5624,5630 ****
- if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
- PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- else
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- fi
- PYTHON3_SRC="if_python3.c"
- if test "x$MACOSX" = "xyes"; then
---- 5623,5629 ----
- if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
- PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- else
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- fi
- PYTHON3_SRC="if_python3.c"
- if test "x$MACOSX" = "xyes"; then
-*** ../mercurial/vim73/src/configure.in 2011-06-12 21:37:06.000000000 +0200
---- src/configure.in 2011-06-13 01:26:35.000000000 +0200
-***************
-*** 1063,1069 ****
- @echo "python3_BASEMODLIBS='$(BASEMODLIBS)'"
- @echo "python3_LIBS='$(LIBS)'"
- @echo "python3_SYSLIBS='$(SYSLIBS)'"
-- @echo "python3_LINKFORSHARED='$(LINKFORSHARED)'"
- @echo "python3_INSTSONAME='$(INSTSONAME)'"
- eof
- dnl -- delete the lines from make about Entering/Leaving directory
---- 1063,1068 ----
-***************
-*** 1080,1086 ****
- if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
- PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- else
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- fi
- PYTHON3_SRC="if_python3.c"
- dnl For Mac OSX 10.2 config.o is included in the Python library.
---- 1079,1085 ----
- if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
- PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- else
-! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- fi
- PYTHON3_SRC="if_python3.c"
- dnl For Mac OSX 10.2 config.o is included in the Python library.
-*** ../vim-7.3.217/src/version.c 2011-06-13 01:19:48.000000000 +0200
---- src/version.c 2011-06-13 01:29:42.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 218,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-174. You know what a listserv is.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.219 b/source/ap/vim/patches/7.3.219
deleted file mode 100644
index 2ec111799..000000000
--- a/source/ap/vim/patches/7.3.219
+++ /dev/null
@@ -1,92 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.219
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.219
-Problem: Can't compile with GTK on Mac.
-Solution: Add some #ifdef trickery. (Ben Schmidt)
-Files: src/os_mac_conv.c, src/os_macosx.m, src/vim.h
-
-
-*** ../mercurial/vim73/src/os_mac_conv.c 2010-08-16 21:23:30.000000000 +0200
---- src/os_mac_conv.c 2011-06-13 01:55:17.000000000 +0200
-***************
-*** 14,19 ****
---- 14,21 ----
- */
-
- #define NO_X11_INCLUDES
-+ #define BalloonEval int /* used in header files */
-+
- #include "vim.h"
- #ifndef FEAT_GUI_MAC
- # include <CoreServices/CoreServices.h>
-*** ../mercurial/vim73/src/os_macosx.m 2010-10-10 17:08:28.000000000 +0200
---- src/os_macosx.m 2011-06-13 01:58:47.000000000 +0200
-***************
-*** 18,23 ****
---- 18,24 ----
- /* Avoid a conflict for the definition of Boolean between Mac header files and
- * X11 header files. */
- #define NO_X11_INCLUDES
-+ #define BalloonEval int /* used in header files */
-
- #include "vim.h"
- #import <Cocoa/Cocoa.h>
-***************
-*** 27,35 ****
- * Clipboard support for the console.
- * Don't include this when building the GUI version, the functions in
- * gui_mac.c are used then. TODO: remove those instead?
-! * But for MacVim we need these ones.
- */
-! #if defined(FEAT_CLIPBOARD) && (!defined(FEAT_GUI) || defined(FEAT_GUI_MACVIM))
-
- /* Used to identify clipboard data copied from Vim. */
-
---- 28,36 ----
- * Clipboard support for the console.
- * Don't include this when building the GUI version, the functions in
- * gui_mac.c are used then. TODO: remove those instead?
-! * But for MacVim we do need these ones.
- */
-! #if defined(FEAT_CLIPBOARD) && (!defined(FEAT_GUI_ENABLED) || defined(FEAT_GUI_MACVIM))
-
- /* Used to identify clipboard data copied from Vim. */
-
-*** ../mercurial/vim73/src/vim.h 2011-05-19 18:26:34.000000000 +0200
---- src/vim.h 2011-06-13 01:57:17.000000000 +0200
-***************
-*** 121,126 ****
---- 121,127 ----
- || defined(FEAT_GUI_W32) \
- || defined(FEAT_GUI_W16) \
- || defined(FEAT_GUI_PHOTON)
-+ # define FEAT_GUI_ENABLED /* also defined with NO_X11_INCLUDES */
- # if !defined(FEAT_GUI) && !defined(NO_X11_INCLUDES)
- # define FEAT_GUI
- # endif
-*** ../vim-7.3.218/src/version.c 2011-06-13 01:32:42.000000000 +0200
---- src/version.c 2011-06-13 02:03:02.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 219,
- /**/
-
---
-If Microsoft would build a car...
-... the oil, water temperature, and alternator warning lights would
-all be replaced by a single "General Protection Fault" warning light.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.220 b/source/ap/vim/patches/7.3.220
deleted file mode 100644
index 0122e7fce..000000000
--- a/source/ap/vim/patches/7.3.220
+++ /dev/null
@@ -1,1230 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.220
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.220
-Problem: Python 3: vim.error is a 'str' instead of an 'Exception' object,
- so 'except' or 'raise' it causes a 'SystemError' exception.
- Buffer objects do not support slice assignment.
- When exchanging text between Vim and Python, multibyte texts become
- gabage or cause Unicode Expceptions, etc.
- 'py3file' tries to read in the file as Unicode, sometimes causes
- UnicodeDecodeException
-Solution: Fix the problems. (lilydjwg)
-Files: src/if_py_both.h, src/if_python.c, src/if_python3.c
-
-
-*** ../mercurial/vim73/src/if_py_both.h 2011-03-22 15:47:18.000000000 +0100
---- src/if_py_both.h 2011-06-18 23:54:25.000000000 +0200
-***************
-*** 65,74 ****
- OutputWrite(PyObject *self, PyObject *args)
- {
- int len;
-! char *str;
- int error = ((OutputObject *)(self))->error;
-
-! if (!PyArg_ParseTuple(args, "s#", &str, &len))
- return NULL;
-
- Py_BEGIN_ALLOW_THREADS
---- 65,74 ----
- OutputWrite(PyObject *self, PyObject *args)
- {
- int len;
-! char *str = NULL;
- int error = ((OutputObject *)(self))->error;
-
-! if (!PyArg_ParseTuple(args, "es#", p_enc, &str, &len))
- return NULL;
-
- Py_BEGIN_ALLOW_THREADS
-***************
-*** 76,81 ****
---- 76,82 ----
- writer((writefn)(error ? emsg : msg), (char_u *)str, len);
- Python_Release_Vim();
- Py_END_ALLOW_THREADS
-+ PyMem_Free(str);
-
- Py_INCREF(Py_None);
- return Py_None;
-***************
-*** 104,113 ****
- for (i = 0; i < n; ++i)
- {
- PyObject *line = PyList_GetItem(list, i);
-! char *str;
- PyInt len;
-
-! if (!PyArg_Parse(line, "s#", &str, &len)) {
- PyErr_SetString(PyExc_TypeError, _("writelines() requires list of strings"));
- Py_DECREF(list);
- return NULL;
---- 105,114 ----
- for (i = 0; i < n; ++i)
- {
- PyObject *line = PyList_GetItem(list, i);
-! char *str = NULL;
- PyInt len;
-
-! if (!PyArg_Parse(line, "es#", p_enc, &str, &len)) {
- PyErr_SetString(PyExc_TypeError, _("writelines() requires list of strings"));
- Py_DECREF(list);
- return NULL;
-***************
-*** 118,123 ****
---- 119,125 ----
- writer((writefn)(error ? emsg : msg), (char_u *)str, len);
- Python_Release_Vim();
- Py_END_ALLOW_THREADS
-+ PyMem_Free(str);
- }
-
- Py_DECREF(list);
-***************
-*** 681,686 ****
---- 683,689 ----
- {
- const char *str;
- char *save;
-+ PyObject *bytes;
- PyInt len;
- PyInt i;
- char *p;
-***************
-*** 691,698 ****
- return NULL;
- }
-
-! str = PyString_AsString(obj);
-! len = PyString_Size(obj);
-
- /*
- * Error checking: String must not contain newlines, as we
---- 694,702 ----
- return NULL;
- }
-
-! bytes = PyString_AsBytes(obj); /* for Python 2 this does nothing */
-! str = PyString_AsString(bytes);
-! len = PyString_Size(bytes);
-
- /*
- * Error checking: String must not contain newlines, as we
-***************
-*** 731,736 ****
---- 735,741 ----
- }
-
- save[i] = '\0';
-+ PyString_FreeBytes(bytes); /* Python 2 does nothing here */
-
- return save;
- }
-***************
-*** 817,823 ****
- invalidate_botline();
- }
-
-! /* Replace a line in the specified buffer. The line number is
- * in Vim format (1-based). The replacement line is given as
- * a Python string object. The object is checked for validity
- * and correct format. Errors are returned as a value of FAIL.
---- 822,829 ----
- invalidate_botline();
- }
-
-! /*
-! * Replace a line in the specified buffer. The line number is
- * in Vim format (1-based). The replacement line is given as
- * a Python string object. The object is checked for validity
- * and correct format. Errors are returned as a value of FAIL.
-***************
-*** 908,913 ****
---- 914,1106 ----
- }
- }
-
-+ /* Replace a range of lines in the specified buffer. The line numbers are in
-+ * Vim format (1-based). The range is from lo up to, but not including, hi.
-+ * The replacement lines are given as a Python list of string objects. The
-+ * list is checked for validity and correct format. Errors are returned as a
-+ * value of FAIL. The return value is OK on success.
-+ * If OK is returned and len_change is not NULL, *len_change
-+ * is set to the change in the buffer length.
-+ */
-+ static int
-+ SetBufferLineList(buf_T *buf, PyInt lo, PyInt hi, PyObject *list, PyInt *len_change)
-+ {
-+ /* First of all, we check the thpe of the supplied Python object.
-+ * There are three cases:
-+ * 1. NULL, or None - this is a deletion.
-+ * 2. A list - this is a replacement.
-+ * 3. Anything else - this is an error.
-+ */
-+ if (list == Py_None || list == NULL)
-+ {
-+ PyInt i;
-+ PyInt n = (int)(hi - lo);
-+ buf_T *savebuf = curbuf;
-+
-+ PyErr_Clear();
-+ curbuf = buf;
-+
-+ if (u_savedel((linenr_T)lo, (long)n) == FAIL)
-+ PyErr_SetVim(_("cannot save undo information"));
-+ else
-+ {
-+ for (i = 0; i < n; ++i)
-+ {
-+ if (ml_delete((linenr_T)lo, FALSE) == FAIL)
-+ {
-+ PyErr_SetVim(_("cannot delete line"));
-+ break;
-+ }
-+ }
-+ if (buf == curwin->w_buffer)
-+ py_fix_cursor((linenr_T)lo, (linenr_T)hi, (linenr_T)-n);
-+ deleted_lines_mark((linenr_T)lo, (long)i);
-+ }
-+
-+ curbuf = savebuf;
-+
-+ if (PyErr_Occurred() || VimErrorCheck())
-+ return FAIL;
-+
-+ if (len_change)
-+ *len_change = -n;
-+
-+ return OK;
-+ }
-+ else if (PyList_Check(list))
-+ {
-+ PyInt i;
-+ PyInt new_len = PyList_Size(list);
-+ PyInt old_len = hi - lo;
-+ PyInt extra = 0; /* lines added to text, can be negative */
-+ char **array;
-+ buf_T *savebuf;
-+
-+ if (new_len == 0) /* avoid allocating zero bytes */
-+ array = NULL;
-+ else
-+ {
-+ array = (char **)alloc((unsigned)(new_len * sizeof(char *)));
-+ if (array == NULL)
-+ {
-+ PyErr_NoMemory();
-+ return FAIL;
-+ }
-+ }
-+
-+ for (i = 0; i < new_len; ++i)
-+ {
-+ PyObject *line = PyList_GetItem(list, i);
-+
-+ array[i] = StringToLine(line);
-+ if (array[i] == NULL)
-+ {
-+ while (i)
-+ vim_free(array[--i]);
-+ vim_free(array);
-+ return FAIL;
-+ }
-+ }
-+
-+ savebuf = curbuf;
-+
-+ PyErr_Clear();
-+ curbuf = buf;
-+
-+ if (u_save((linenr_T)(lo-1), (linenr_T)hi) == FAIL)
-+ PyErr_SetVim(_("cannot save undo information"));
-+
-+ /* If the size of the range is reducing (ie, new_len < old_len) we
-+ * need to delete some old_len. We do this at the start, by
-+ * repeatedly deleting line "lo".
-+ */
-+ if (!PyErr_Occurred())
-+ {
-+ for (i = 0; i < old_len - new_len; ++i)
-+ if (ml_delete((linenr_T)lo, FALSE) == FAIL)
-+ {
-+ PyErr_SetVim(_("cannot delete line"));
-+ break;
-+ }
-+ extra -= i;
-+ }
-+
-+ /* For as long as possible, replace the existing old_len with the
-+ * new old_len. This is a more efficient operation, as it requires
-+ * less memory allocation and freeing.
-+ */
-+ if (!PyErr_Occurred())
-+ {
-+ for (i = 0; i < old_len && i < new_len; ++i)
-+ if (ml_replace((linenr_T)(lo+i), (char_u *)array[i], FALSE)
-+ == FAIL)
-+ {
-+ PyErr_SetVim(_("cannot replace line"));
-+ break;
-+ }
-+ }
-+ else
-+ i = 0;
-+
-+ /* Now we may need to insert the remaining new old_len. If we do, we
-+ * must free the strings as we finish with them (we can't pass the
-+ * responsibility to vim in this case).
-+ */
-+ if (!PyErr_Occurred())
-+ {
-+ while (i < new_len)
-+ {
-+ if (ml_append((linenr_T)(lo + i - 1),
-+ (char_u *)array[i], 0, FALSE) == FAIL)
-+ {
-+ PyErr_SetVim(_("cannot insert line"));
-+ break;
-+ }
-+ vim_free(array[i]);
-+ ++i;
-+ ++extra;
-+ }
-+ }
-+
-+ /* Free any left-over old_len, as a result of an error */
-+ while (i < new_len)
-+ {
-+ vim_free(array[i]);
-+ ++i;
-+ }
-+
-+ /* Free the array of old_len. All of its contents have now
-+ * been dealt with (either freed, or the responsibility passed
-+ * to vim.
-+ */
-+ vim_free(array);
-+
-+ /* Adjust marks. Invalidate any which lie in the
-+ * changed range, and move any in the remainder of the buffer.
-+ */
-+ mark_adjust((linenr_T)lo, (linenr_T)(hi - 1),
-+ (long)MAXLNUM, (long)extra);
-+ changed_lines((linenr_T)lo, 0, (linenr_T)hi, (long)extra);
-+
-+ if (buf == curwin->w_buffer)
-+ py_fix_cursor((linenr_T)lo, (linenr_T)hi, (linenr_T)extra);
-+
-+ curbuf = savebuf;
-+
-+ if (PyErr_Occurred() || VimErrorCheck())
-+ return FAIL;
-+
-+ if (len_change)
-+ *len_change = new_len - old_len;
-+
-+ return OK;
-+ }
-+ else
-+ {
-+ PyErr_BadArgument();
-+ return FAIL;
-+ }
-+ }
-
- /* Insert a number of lines into the specified buffer after the specifed line.
- * The line number is in Vim format (1-based). The lines to be inserted are
-***************
-*** 1108,1113 ****
---- 1301,1340 ----
- return -1;
-
- if (new_end)
-+ *new_end = end + len_change;
-+
-+ return 0;
-+ }
-+
-+ static PyInt
-+ RBAsSlice(BufferObject *self, PyInt lo, PyInt hi, PyObject *val, PyInt start, PyInt end, PyInt *new_end)
-+ {
-+ PyInt size;
-+ PyInt len_change;
-+
-+ /* Self must be a valid buffer */
-+ if (CheckBuffer(self))
-+ return -1;
-+
-+ /* Sort out the slice range */
-+ size = end - start + 1;
-+
-+ if (lo < 0)
-+ lo = 0;
-+ else if (lo > size)
-+ lo = size;
-+ if (hi < 0)
-+ hi = 0;
-+ if (hi < lo)
-+ hi = lo;
-+ else if (hi > size)
-+ hi = size;
-+
-+ if (SetBufferLineList(self->buf, lo + start, hi + start,
-+ val, &len_change) == FAIL)
-+ return -1;
-+
-+ if (new_end)
- *new_end = end + len_change;
-
- return 0;
-*** ../mercurial/vim73/src/if_python.c 2011-03-26 18:32:00.000000000 +0100
---- src/if_python.c 2011-06-19 00:02:15.000000000 +0200
-***************
-*** 56,61 ****
---- 56,65 ----
-
- static void init_structs(void);
-
-+ /* No-op conversion functions, use with care! */
-+ #define PyString_AsBytes(obj) (obj)
-+ #define PyString_FreeBytes(obj)
-+
- #if !defined(FEAT_PYTHON) && defined(PROTO)
- /* Use this to be able to generate prototypes without python being used. */
- # define PyObject Py_ssize_t
-***************
-*** 129,134 ****
---- 133,139 ----
- */
- # define PyArg_Parse dll_PyArg_Parse
- # define PyArg_ParseTuple dll_PyArg_ParseTuple
-+ # define PyMem_Free dll_PyMem_Free
- # define PyDict_SetItemString dll_PyDict_SetItemString
- # define PyErr_BadArgument dll_PyErr_BadArgument
- # define PyErr_Clear dll_PyErr_Clear
-***************
-*** 189,194 ****
---- 194,200 ----
- */
- static int(*dll_PyArg_Parse)(PyObject *, char *, ...);
- static int(*dll_PyArg_ParseTuple)(PyObject *, char *, ...);
-+ static int(*dll_PyMem_Free)(void *);
- static int(*dll_PyDict_SetItemString)(PyObject *dp, char *key, PyObject *item);
- static int(*dll_PyErr_BadArgument)(void);
- static void(*dll_PyErr_Clear)(void);
-***************
-*** 271,276 ****
---- 277,283 ----
- {
- {"PyArg_Parse", (PYTHON_PROC*)&dll_PyArg_Parse},
- {"PyArg_ParseTuple", (PYTHON_PROC*)&dll_PyArg_ParseTuple},
-+ {"PyMem_Free", (PYTHON_PROC*)&dll_PyMem_Free},
- {"PyDict_SetItemString", (PYTHON_PROC*)&dll_PyDict_SetItemString},
- {"PyErr_BadArgument", (PYTHON_PROC*)&dll_PyErr_BadArgument},
- {"PyErr_Clear", (PYTHON_PROC*)&dll_PyErr_Clear},
-***************
-*** 833,876 ****
- static PyObject *CurrentGetattr(PyObject *, char *);
- static int CurrentSetattr(PyObject *, char *, PyObject *);
-
-- /* Common routines for buffers and line ranges
-- * -------------------------------------------
-- */
--
-- static PyInt
-- RBAssSlice(BufferObject *self, PyInt lo, PyInt hi, PyObject *val, PyInt start, PyInt end, PyInt *new_end)
-- {
-- PyInt size;
-- PyInt len_change;
--
-- /* Self must be a valid buffer */
-- if (CheckBuffer(self))
-- return -1;
--
-- /* Sort out the slice range */
-- size = end - start + 1;
--
-- if (lo < 0)
-- lo = 0;
-- else if (lo > size)
-- lo = size;
-- if (hi < 0)
-- hi = 0;
-- if (hi < lo)
-- hi = lo;
-- else if (hi > size)
-- hi = size;
--
-- if (SetBufferLineList(self->buf, lo + start, hi + start,
-- val, &len_change) == FAIL)
-- return -1;
--
-- if (new_end)
-- *new_end = end + len_change;
--
-- return 0;
-- }
--
- static PySequenceMethods BufferAsSeq = {
- (PyInquiry) BufferLength, /* sq_length, len(x) */
- (binaryfunc) 0, /* BufferConcat, */ /* sq_concat, x+y */
---- 840,845 ----
-***************
-*** 1038,1044 ****
- static PyInt
- BufferAssSlice(PyObject *self, PyInt lo, PyInt hi, PyObject *val)
- {
-! return RBAssSlice((BufferObject *)(self), lo, hi, val, 1,
- (PyInt)((BufferObject *)(self))->buf->b_ml.ml_line_count,
- NULL);
- }
---- 1007,1013 ----
- static PyInt
- BufferAssSlice(PyObject *self, PyInt lo, PyInt hi, PyObject *val)
- {
-! return RBAsSlice((BufferObject *)(self), lo, hi, val, 1,
- (PyInt)((BufferObject *)(self))->buf->b_ml.ml_line_count,
- NULL);
- }
-***************
-*** 1088,1094 ****
- static PyInt
- RangeAssSlice(PyObject *self, PyInt lo, PyInt hi, PyObject *val)
- {
-! return RBAssSlice(((RangeObject *)(self))->buf, lo, hi, val,
- ((RangeObject *)(self))->start,
- ((RangeObject *)(self))->end,
- &((RangeObject *)(self))->end);
---- 1057,1063 ----
- static PyInt
- RangeAssSlice(PyObject *self, PyInt lo, PyInt hi, PyObject *val)
- {
-! return RBAsSlice(((RangeObject *)(self))->buf, lo, hi, val,
- ((RangeObject *)(self))->start,
- ((RangeObject *)(self))->end,
- &((RangeObject *)(self))->end);
-***************
-*** 1435,1628 ****
- * 4. Utility functions for handling the interface between Vim and Python.
- */
-
-- /* Replace a range of lines in the specified buffer. The line numbers are in
-- * Vim format (1-based). The range is from lo up to, but not including, hi.
-- * The replacement lines are given as a Python list of string objects. The
-- * list is checked for validity and correct format. Errors are returned as a
-- * value of FAIL. The return value is OK on success.
-- * If OK is returned and len_change is not NULL, *len_change
-- * is set to the change in the buffer length.
-- */
-- static int
-- SetBufferLineList(buf_T *buf, PyInt lo, PyInt hi, PyObject *list, PyInt *len_change)
-- {
-- /* First of all, we check the thpe of the supplied Python object.
-- * There are three cases:
-- * 1. NULL, or None - this is a deletion.
-- * 2. A list - this is a replacement.
-- * 3. Anything else - this is an error.
-- */
-- if (list == Py_None || list == NULL)
-- {
-- PyInt i;
-- PyInt n = (int)(hi - lo);
-- buf_T *savebuf = curbuf;
--
-- PyErr_Clear();
-- curbuf = buf;
--
-- if (u_savedel((linenr_T)lo, (long)n) == FAIL)
-- PyErr_SetVim(_("cannot save undo information"));
-- else
-- {
-- for (i = 0; i < n; ++i)
-- {
-- if (ml_delete((linenr_T)lo, FALSE) == FAIL)
-- {
-- PyErr_SetVim(_("cannot delete line"));
-- break;
-- }
-- }
-- if (buf == curwin->w_buffer)
-- py_fix_cursor((linenr_T)lo, (linenr_T)hi, (linenr_T)-n);
-- deleted_lines_mark((linenr_T)lo, (long)i);
-- }
--
-- curbuf = savebuf;
--
-- if (PyErr_Occurred() || VimErrorCheck())
-- return FAIL;
--
-- if (len_change)
-- *len_change = -n;
--
-- return OK;
-- }
-- else if (PyList_Check(list))
-- {
-- PyInt i;
-- PyInt new_len = PyList_Size(list);
-- PyInt old_len = hi - lo;
-- PyInt extra = 0; /* lines added to text, can be negative */
-- char **array;
-- buf_T *savebuf;
--
-- if (new_len == 0) /* avoid allocating zero bytes */
-- array = NULL;
-- else
-- {
-- array = (char **)alloc((unsigned)(new_len * sizeof(char *)));
-- if (array == NULL)
-- {
-- PyErr_NoMemory();
-- return FAIL;
-- }
-- }
--
-- for (i = 0; i < new_len; ++i)
-- {
-- PyObject *line = PyList_GetItem(list, i);
--
-- array[i] = StringToLine(line);
-- if (array[i] == NULL)
-- {
-- while (i)
-- vim_free(array[--i]);
-- vim_free(array);
-- return FAIL;
-- }
-- }
--
-- savebuf = curbuf;
--
-- PyErr_Clear();
-- curbuf = buf;
--
-- if (u_save((linenr_T)(lo-1), (linenr_T)hi) == FAIL)
-- PyErr_SetVim(_("cannot save undo information"));
--
-- /* If the size of the range is reducing (ie, new_len < old_len) we
-- * need to delete some old_len. We do this at the start, by
-- * repeatedly deleting line "lo".
-- */
-- if (!PyErr_Occurred())
-- {
-- for (i = 0; i < old_len - new_len; ++i)
-- if (ml_delete((linenr_T)lo, FALSE) == FAIL)
-- {
-- PyErr_SetVim(_("cannot delete line"));
-- break;
-- }
-- extra -= i;
-- }
--
-- /* For as long as possible, replace the existing old_len with the
-- * new old_len. This is a more efficient operation, as it requires
-- * less memory allocation and freeing.
-- */
-- if (!PyErr_Occurred())
-- {
-- for (i = 0; i < old_len && i < new_len; ++i)
-- if (ml_replace((linenr_T)(lo+i), (char_u *)array[i], FALSE)
-- == FAIL)
-- {
-- PyErr_SetVim(_("cannot replace line"));
-- break;
-- }
-- }
-- else
-- i = 0;
--
-- /* Now we may need to insert the remaining new old_len. If we do, we
-- * must free the strings as we finish with them (we can't pass the
-- * responsibility to vim in this case).
-- */
-- if (!PyErr_Occurred())
-- {
-- while (i < new_len)
-- {
-- if (ml_append((linenr_T)(lo + i - 1),
-- (char_u *)array[i], 0, FALSE) == FAIL)
-- {
-- PyErr_SetVim(_("cannot insert line"));
-- break;
-- }
-- vim_free(array[i]);
-- ++i;
-- ++extra;
-- }
-- }
--
-- /* Free any left-over old_len, as a result of an error */
-- while (i < new_len)
-- {
-- vim_free(array[i]);
-- ++i;
-- }
--
-- /* Free the array of old_len. All of its contents have now
-- * been dealt with (either freed, or the responsibility passed
-- * to vim.
-- */
-- vim_free(array);
--
-- /* Adjust marks. Invalidate any which lie in the
-- * changed range, and move any in the remainder of the buffer.
-- */
-- mark_adjust((linenr_T)lo, (linenr_T)(hi - 1),
-- (long)MAXLNUM, (long)extra);
-- changed_lines((linenr_T)lo, 0, (linenr_T)hi, (long)extra);
--
-- if (buf == curwin->w_buffer)
-- py_fix_cursor((linenr_T)lo, (linenr_T)hi, (linenr_T)extra);
--
-- curbuf = savebuf;
--
-- if (PyErr_Occurred() || VimErrorCheck())
-- return FAIL;
--
-- if (len_change)
-- *len_change = new_len - old_len;
--
-- return OK;
-- }
-- else
-- {
-- PyErr_BadArgument();
-- return FAIL;
-- }
-- }
--
- /* Convert a Vim line into a Python string.
- * All internal newlines are replaced by null characters.
- *
---- 1404,1409 ----
-*** ../mercurial/vim73/src/if_python3.c 2011-06-12 21:37:06.000000000 +0200
---- src/if_python3.c 2011-06-19 00:10:42.000000000 +0200
-***************
-*** 70,77 ****
-
- #define PyInt Py_ssize_t
- #define PyString_Check(obj) PyUnicode_Check(obj)
-! #define PyString_AsString(obj) _PyUnicode_AsString(obj)
-! #define PyString_Size(obj) PyUnicode_GET_SIZE(obj)
- #define PyString_FromString(repr) PyUnicode_FromString(repr)
-
- #if defined(DYNAMIC_PYTHON3) || defined(PROTO)
---- 70,79 ----
-
- #define PyInt Py_ssize_t
- #define PyString_Check(obj) PyUnicode_Check(obj)
-! #define PyString_AsBytes(obj) PyUnicode_AsEncodedString(obj, (char *)p_enc, NULL);
-! #define PyString_FreeBytes(obj) Py_XDECREF(bytes)
-! #define PyString_AsString(obj) PyBytes_AsString(obj)
-! #define PyString_Size(obj) PyBytes_GET_SIZE(bytes)
- #define PyString_FromString(repr) PyUnicode_FromString(repr)
-
- #if defined(DYNAMIC_PYTHON3) || defined(PROTO)
-***************
-*** 99,104 ****
---- 101,107 ----
- # define PyArg_Parse py3_PyArg_Parse
- # undef PyArg_ParseTuple
- # define PyArg_ParseTuple py3_PyArg_ParseTuple
-+ # define PyMem_Free py3_PyMem_Free
- # define PyDict_SetItemString py3_PyDict_SetItemString
- # define PyErr_BadArgument py3_PyErr_BadArgument
- # define PyErr_Clear py3_PyErr_Clear
-***************
-*** 140,147 ****
---- 143,155 ----
- # define PyModule_AddObject py3_PyModule_AddObject
- # define PyImport_AppendInittab py3_PyImport_AppendInittab
- # define _PyUnicode_AsString py3__PyUnicode_AsString
-+ # undef PyUnicode_AsEncodedString
-+ # define PyUnicode_AsEncodedString py3_PyUnicode_AsEncodedString
-+ # undef PyBytes_AsString
-+ # define PyBytes_AsString py3_PyBytes_AsString
- # define PyObject_GenericGetAttr py3_PyObject_GenericGetAttr
- # define PySlice_Type (*py3_PySlice_Type)
-+ # define PyErr_NewException py3_PyErr_NewException
- # ifdef Py_DEBUG
- # define _Py_NegativeRefcount py3__Py_NegativeRefcount
- # define _Py_RefTotal (*py3__Py_RefTotal)
-***************
-*** 157,164 ****
- # define PyModule_Create2 py3_PyModule_Create2
- # undef PyUnicode_FromString
- # define PyUnicode_FromString py3_PyUnicode_FromString
-! # undef PyUnicode_FromStringAndSize
-! # define PyUnicode_FromStringAndSize py3_PyUnicode_FromStringAndSize
-
- # ifdef Py_DEBUG
- # undef PyObject_NEW
---- 165,172 ----
- # define PyModule_Create2 py3_PyModule_Create2
- # undef PyUnicode_FromString
- # define PyUnicode_FromString py3_PyUnicode_FromString
-! # undef PyUnicode_Decode
-! # define PyUnicode_Decode py3_PyUnicode_Decode
-
- # ifdef Py_DEBUG
- # undef PyObject_NEW
-***************
-*** 199,205 ****
- static int (*py3_PyType_Ready)(PyTypeObject *type);
- static int (*py3_PyDict_SetItemString)(PyObject *dp, char *key, PyObject *item);
- static PyObject* (*py3_PyUnicode_FromString)(const char *u);
-! static PyObject* (*py3_PyUnicode_FromStringAndSize)(const char *u, Py_ssize_t size);
- static long (*py3_PyLong_AsLong)(PyObject *);
- static void (*py3_PyErr_SetNone)(PyObject *);
- static void (*py3_PyEval_InitThreads)(void);
---- 207,214 ----
- static int (*py3_PyType_Ready)(PyTypeObject *type);
- static int (*py3_PyDict_SetItemString)(PyObject *dp, char *key, PyObject *item);
- static PyObject* (*py3_PyUnicode_FromString)(const char *u);
-! static PyObject* (*py3_PyUnicode_Decode)(const char *u, Py_ssize_t size,
-! const char *encoding, const char *errors);
- static long (*py3_PyLong_AsLong)(PyObject *);
- static void (*py3_PyErr_SetNone)(PyObject *);
- static void (*py3_PyEval_InitThreads)(void);
-***************
-*** 207,212 ****
---- 216,222 ----
- static PyThreadState*(*py3_PyEval_SaveThread)(void);
- static int (*py3_PyArg_Parse)(PyObject *, char *, ...);
- static int (*py3_PyArg_ParseTuple)(PyObject *, char *, ...);
-+ static int (*py3_PyMem_Free)(void *);
- static int (*py3_Py_IsInitialized)(void);
- static void (*py3_PyErr_Clear)(void);
- static PyObject*(*py3__PyObject_Init)(PyObject *, PyTypeObject *);
-***************
-*** 214,224 ****
---- 224,237 ----
- static int (*py3_PyModule_AddObject)(PyObject *m, const char *name, PyObject *o);
- static int (*py3_PyImport_AppendInittab)(const char *name, PyObject* (*initfunc)(void));
- static char* (*py3__PyUnicode_AsString)(PyObject *unicode);
-+ static PyObject* (*py3_PyUnicode_AsEncodedString)(PyObject *unicode, const char* encoding, const char* errors);
-+ static char* (*py3_PyBytes_AsString)(PyObject *bytes);
- static PyObject* (*py3_PyObject_GenericGetAttr)(PyObject *obj, PyObject *name);
- static PyObject* (*py3_PyModule_Create2)(struct PyModuleDef* module, int module_api_version);
- static PyObject* (*py3_PyType_GenericAlloc)(PyTypeObject *type, Py_ssize_t nitems);
- static PyObject* (*py3_PyType_GenericNew)(PyTypeObject *type, PyObject *args, PyObject *kwds);
- static PyTypeObject* py3_PySlice_Type;
-+ static PyObject* (*py3_PyErr_NewException)(char *name, PyObject *base, PyObject *dict);
- # ifdef Py_DEBUG
- static void (*py3__Py_NegativeRefcount)(const char *fname, int lineno, PyObject *op);
- static Py_ssize_t* py3__Py_RefTotal;
-***************
-*** 259,264 ****
---- 272,278 ----
- {"Py_SetPythonHome", (PYTHON_PROC*)&py3_Py_SetPythonHome},
- {"Py_Initialize", (PYTHON_PROC*)&py3_Py_Initialize},
- {"PyArg_ParseTuple", (PYTHON_PROC*)&py3_PyArg_ParseTuple},
-+ {"PyMem_Free", (PYTHON_PROC*)&py3_PyMem_Free},
- {"PyList_New", (PYTHON_PROC*)&py3_PyList_New},
- {"PyGILState_Ensure", (PYTHON_PROC*)&py3_PyGILState_Ensure},
- {"PyGILState_Release", (PYTHON_PROC*)&py3_PyGILState_Release},
-***************
-*** 289,295 ****
- {"PyEval_RestoreThread", (PYTHON_PROC*)&py3_PyEval_RestoreThread},
- {"PyEval_SaveThread", (PYTHON_PROC*)&py3_PyEval_SaveThread},
- {"PyArg_Parse", (PYTHON_PROC*)&py3_PyArg_Parse},
-- {"PyArg_ParseTuple", (PYTHON_PROC*)&py3_PyArg_ParseTuple},
- {"Py_IsInitialized", (PYTHON_PROC*)&py3_Py_IsInitialized},
- {"_Py_NoneStruct", (PYTHON_PROC*)&py3__Py_NoneStruct},
- {"PyErr_Clear", (PYTHON_PROC*)&py3_PyErr_Clear},
---- 303,308 ----
-***************
-*** 297,307 ****
---- 310,322 ----
- {"PyModule_AddObject", (PYTHON_PROC*)&py3_PyModule_AddObject},
- {"PyImport_AppendInittab", (PYTHON_PROC*)&py3_PyImport_AppendInittab},
- {"_PyUnicode_AsString", (PYTHON_PROC*)&py3__PyUnicode_AsString},
-+ {"PyBytes_AsString", (PYTHON_PROC*)&py3_PyBytes_AsString},
- {"PyObject_GenericGetAttr", (PYTHON_PROC*)&py3_PyObject_GenericGetAttr},
- {"PyModule_Create2", (PYTHON_PROC*)&py3_PyModule_Create2},
- {"PyType_GenericAlloc", (PYTHON_PROC*)&py3_PyType_GenericAlloc},
- {"PyType_GenericNew", (PYTHON_PROC*)&py3_PyType_GenericNew},
- {"PySlice_Type", (PYTHON_PROC*)&py3_PySlice_Type},
-+ {"PyErr_NewException", (PYTHON_PROC*)&py3_PyErr_NewException},
- # ifdef Py_DEBUG
- {"_Py_NegativeRefcount", (PYTHON_PROC*)&py3__Py_NegativeRefcount},
- {"_Py_RefTotal", (PYTHON_PROC*)&py3__Py_RefTotal},
-***************
-*** 337,343 ****
- py3_runtime_link_init(char *libname, int verbose)
- {
- int i;
-! void *ucs_from_string, *ucs_from_string_and_size;
-
- # if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON)
- /* Can't have Python and Python3 loaded at the same time.
---- 352,358 ----
- py3_runtime_link_init(char *libname, int verbose)
- {
- int i;
-! void *ucs_from_string, *ucs_decode, *ucs_as_encoded_string;
-
- # if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON)
- /* Can't have Python and Python3 loaded at the same time.
-***************
-*** 377,395 ****
- /* Load unicode functions separately as only the ucs2 or the ucs4 functions
- * will be present in the library. */
- ucs_from_string = symbol_from_dll(hinstPy3, "PyUnicodeUCS2_FromString");
-! ucs_from_string_and_size = symbol_from_dll(hinstPy3,
-! "PyUnicodeUCS2_FromStringAndSize");
-! if (!ucs_from_string || !ucs_from_string_and_size)
- {
- ucs_from_string = symbol_from_dll(hinstPy3,
- "PyUnicodeUCS4_FromString");
-! ucs_from_string_and_size = symbol_from_dll(hinstPy3,
-! "PyUnicodeUCS4_FromStringAndSize");
- }
-! if (ucs_from_string && ucs_from_string_and_size)
- {
- py3_PyUnicode_FromString = ucs_from_string;
-! py3_PyUnicode_FromStringAndSize = ucs_from_string_and_size;
- }
- else
- {
---- 392,415 ----
- /* Load unicode functions separately as only the ucs2 or the ucs4 functions
- * will be present in the library. */
- ucs_from_string = symbol_from_dll(hinstPy3, "PyUnicodeUCS2_FromString");
-! ucs_decode = symbol_from_dll(hinstPy3,
-! "PyUnicodeUCS2_Decode");
-! ucs_as_encoded_string = symbol_from_dll(hinstPy3,
-! "PyUnicodeUCS2_AsEncodedString");
-! if (!ucs_from_string || !ucs_decode || !ucs_as_encoded_string)
- {
- ucs_from_string = symbol_from_dll(hinstPy3,
- "PyUnicodeUCS4_FromString");
-! ucs_decode = symbol_from_dll(hinstPy3,
-! "PyUnicodeUCS4_Decode");
-! ucs_as_encoded_string = symbol_from_dll(hinstPy3,
-! "PyUnicodeUCS4_AsEncodedString");
- }
-! if (ucs_from_string && ucs_decode && ucs_as_encoded_string)
- {
- py3_PyUnicode_FromString = ucs_from_string;
-! py3_PyUnicode_Decode = ucs_decode;
-! py3_PyUnicode_AsEncodedString = ucs_as_encoded_string;
- }
- else
- {
-***************
-*** 567,574 ****
- /* Remove the element from sys.path that was added because of our
- * argv[0] value in Py3Init_vim(). Previously we used an empty
- * string, but dependinding on the OS we then get an empty entry or
-! * the current directory in sys.path. */
-! PyRun_SimpleString("import sys; sys.path = list(filter(lambda x: x != '/must>not&exist', sys.path))");
-
- // lock is created and acquired in PyEval_InitThreads() and thread
- // state is created in Py_Initialize()
---- 587,597 ----
- /* Remove the element from sys.path that was added because of our
- * argv[0] value in Py3Init_vim(). Previously we used an empty
- * string, but dependinding on the OS we then get an empty entry or
-! * the current directory in sys.path.
-! * Only after vim has been imported, the element does exist in
-! * sys.path.
-! */
-! PyRun_SimpleString("import vim; import sys; sys.path = list(filter(lambda x: not x.endswith('must>not&exist'), sys.path))");
-
- // lock is created and acquired in PyEval_InitThreads() and thread
- // state is created in Py_Initialize()
-***************
-*** 605,610 ****
---- 628,635 ----
- #if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
- char *saved_locale;
- #endif
-+ PyObject *cmdstr;
-+ PyObject *cmdbytes;
-
- #if defined(MACOS) && !defined(MACOS_X_UNIX)
- GetPort(&oldPort);
-***************
-*** 634,640 ****
-
- pygilstate = PyGILState_Ensure();
-
-! PyRun_SimpleString((char *)(cmd));
-
- PyGILState_Release(pygilstate);
-
---- 659,671 ----
-
- pygilstate = PyGILState_Ensure();
-
-! /* PyRun_SimpleString expects a UTF-8 string. Wrong encoding may cause
-! * SyntaxError (unicode error). */
-! cmdstr = PyUnicode_Decode(cmd, strlen(cmd), (char *)p_enc, NULL);
-! cmdbytes = PyUnicode_AsEncodedString(cmdstr, "utf-8", NULL);
-! Py_XDECREF(cmdstr);
-! PyRun_SimpleString(PyBytes_AsString(cmdbytes));
-! Py_XDECREF(cmdbytes);
-
- PyGILState_Release(pygilstate);
-
-***************
-*** 693,699 ****
- * different options under Windows, meaning that stdio pointers aren't
- * compatible between the two. Yuk.
- *
-! * construct: exec(compile(open('a_filename').read(), 'a_filename', 'exec'))
- *
- * We need to escape any backslashes or single quotes in the file name, so that
- * Python won't mangle the file name.
---- 724,733 ----
- * different options under Windows, meaning that stdio pointers aren't
- * compatible between the two. Yuk.
- *
-! * construct: exec(compile(open('a_filename', 'rb').read(), 'a_filename', 'exec'))
-! *
-! * Using bytes so that Python can detect the source encoding as it normally
-! * does. The doc does not say "compile" accept bytes, though.
- *
- * We need to escape any backslashes or single quotes in the file name, so that
- * Python won't mangle the file name.
-***************
-*** 716,723 ****
- return;
- if (i==0)
- {
-! strcpy(p,"').read(),'");
-! p += 11;
- }
- else
- {
---- 750,757 ----
- return;
- if (i==0)
- {
-! strcpy(p,"','rb').read(),'");
-! p += 16;
- }
- else
- {
-***************
-*** 812,819 ****
-
- static Py_ssize_t BufferLength(PyObject *);
- static PyObject *BufferItem(PyObject *, Py_ssize_t);
-- static Py_ssize_t BufferAsItem(PyObject *, Py_ssize_t, PyObject *);
- static PyObject* BufferSubscript(PyObject *self, PyObject* idx);
-
-
- /* Line range type - Implementation functions
---- 846,853 ----
-
- static Py_ssize_t BufferLength(PyObject *);
- static PyObject *BufferItem(PyObject *, Py_ssize_t);
- static PyObject* BufferSubscript(PyObject *self, PyObject* idx);
-+ static Py_ssize_t BufferAsSubscript(PyObject *self, PyObject* idx, PyObject* val);
-
-
- /* Line range type - Implementation functions
-***************
-*** 835,841 ****
- (ssizeargfunc) 0, /* sq_repeat, x*n */
- (ssizeargfunc) BufferItem, /* sq_item, x[i] */
- 0, /* was_sq_slice, x[i:j] */
-! (ssizeobjargproc) BufferAsItem, /* sq_ass_item, x[i]=v */
- 0, /* sq_ass_slice, x[i:j]=v */
- 0, /* sq_contains */
- 0, /* sq_inplace_concat */
---- 869,875 ----
- (ssizeargfunc) 0, /* sq_repeat, x*n */
- (ssizeargfunc) BufferItem, /* sq_item, x[i] */
- 0, /* was_sq_slice, x[i:j] */
-! 0, /* sq_ass_item, x[i]=v */
- 0, /* sq_ass_slice, x[i:j]=v */
- 0, /* sq_contains */
- 0, /* sq_inplace_concat */
-***************
-*** 845,851 ****
- PyMappingMethods BufferAsMapping = {
- /* mp_length */ (lenfunc)BufferLength,
- /* mp_subscript */ (binaryfunc)BufferSubscript,
-! /* mp_ass_subscript */ (objobjargproc)0,
- };
-
-
---- 879,885 ----
- PyMappingMethods BufferAsMapping = {
- /* mp_length */ (lenfunc)BufferLength,
- /* mp_subscript */ (binaryfunc)BufferSubscript,
-! /* mp_ass_subscript */ (objobjargproc)BufferAsSubscript,
- };
-
-
-***************
-*** 897,902 ****
---- 931,938 ----
-
- if (this->buf && this->buf != INVALID_BUFFER_VALUE)
- this->buf->b_python3_ref = NULL;
-+
-+ Py_TYPE(self)->tp_free((PyObject*)self);
- }
-
- static PyObject *
-***************
-*** 975,989 ****
- (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count);
- }
-
-- static Py_ssize_t
-- BufferAsItem(PyObject *self, Py_ssize_t n, PyObject *val)
-- {
-- return RBAsItem((BufferObject *)(self), n, val, 1,
-- (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
-- NULL);
-- }
--
--
- static PyObject *
- BufferSubscript(PyObject *self, PyObject* idx)
- {
---- 1011,1016 ----
-***************
-*** 999,1011 ****
- &step, &slicelen) < 0) {
- return NULL;
- }
-! return BufferSlice(self,start,stop+1);
- } else {
- PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
- return NULL;
- }
- }
-
- static PySequenceMethods RangeAsSeq = {
- (lenfunc) RangeLength, /* sq_length, len(x) */
- (binaryfunc) 0, /* RangeConcat, sq_concat, x+y */
---- 1026,1064 ----
- &step, &slicelen) < 0) {
- return NULL;
- }
-! return BufferSlice(self,start,stop);
- } else {
- PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
- return NULL;
- }
- }
-
-+ static Py_ssize_t
-+ BufferAsSubscript(PyObject *self, PyObject* idx, PyObject* val)
-+ {
-+ if (PyLong_Check(idx)) {
-+ long n = PyLong_AsLong(idx);
-+ return RBAsItem((BufferObject *)(self), n, val, 1,
-+ (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
-+ NULL);
-+ } else if (PySlice_Check(idx)) {
-+ Py_ssize_t start, stop, step, slicelen;
-+
-+ if (PySlice_GetIndicesEx((PySliceObject *)idx,
-+ (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count+1,
-+ &start, &stop,
-+ &step, &slicelen) < 0) {
-+ return -1;
-+ }
-+ return RBAsSlice((BufferObject *)(self), start, stop, val, 1,
-+ (PyInt)((BufferObject *)(self))->buf->b_ml.ml_line_count,
-+ NULL);
-+ } else {
-+ PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
-+ return -1;
-+ }
-+ }
-+
- static PySequenceMethods RangeAsSeq = {
- (lenfunc) RangeLength, /* sq_length, len(x) */
- (binaryfunc) 0, /* RangeConcat, sq_concat, x+y */
-***************
-*** 1032,1037 ****
---- 1085,1091 ----
- RangeDestructor(PyObject *self)
- {
- Py_DECREF(((RangeObject *)(self))->buf);
-+ Py_TYPE(self)->tp_free((PyObject*)self);
- }
-
- static PyObject *
-***************
-*** 1159,1164 ****
---- 1213,1220 ----
-
- if (this->win && this->win != INVALID_WINDOW_VALUE)
- this->win->w_python3_ref = NULL;
-+
-+ Py_TYPE(self)->tp_free((PyObject*)self);
- }
-
- static PyObject *
-***************
-*** 1350,1357 ****
- PySys_SetArgv(1, argv);
-
- mod = PyModule_Create(&vimmodule);
-
-! VimError = Py_BuildValue("s", "vim.error");
-
- PyModule_AddObject(mod, "error", VimError);
- Py_INCREF((PyObject *)(void *)&TheBufferList);
---- 1406,1416 ----
- PySys_SetArgv(1, argv);
-
- mod = PyModule_Create(&vimmodule);
-+ if (mod == NULL)
-+ return NULL;
-
-! VimError = PyErr_NewException("vim.error", NULL, NULL);
-! Py_INCREF(VimError);
-
- PyModule_AddObject(mod, "error", VimError);
- Py_INCREF((PyObject *)(void *)&TheBufferList);
-***************
-*** 1404,1410 ****
- }
- *p = '\0';
-
-! result = PyUnicode_FromStringAndSize(tmp, len);
-
- vim_free(tmp);
- return result;
---- 1463,1469 ----
- }
- *p = '\0';
-
-! result = PyUnicode_Decode(tmp, len, (char *)p_enc, NULL);
-
- vim_free(tmp);
- return result;
-*** ../vim-7.3.219/src/version.c 2011-06-13 02:03:55.000000000 +0200
---- src/version.c 2011-06-19 00:25:38.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 220,
- /**/
-
---
-I'm in shape. Round IS a shape.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.221 b/source/ap/vim/patches/7.3.221
deleted file mode 100644
index 7211a4a66..000000000
--- a/source/ap/vim/patches/7.3.221
+++ /dev/null
@@ -1,287 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.221
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.221
-Problem: Text from the clipboard is sometimes handled as linewise, but not
- consistently.
-Solution: Assume the text is linewise when it ends in a CR or NL.
-Files: src/gui_gtk_x11.c, src/gui_mac.c, src/ops.c, src/os_msdos.c,
- src/os_mswin.c, src/os_qnx.c, src/ui.c
-
-
-*** ../mercurial/vim73/src/gui_gtk_x11.c 2011-02-25 17:10:22.000000000 +0100
---- src/gui_gtk_x11.c 2011-06-19 00:58:31.000000000 +0200
-***************
-*** 1173,1179 ****
- char_u *tmpbuf = NULL;
- guchar *tmpbuf_utf8 = NULL;
- int len;
-! int motion_type;
-
- if (data->selection == clip_plus.gtk_sel_atom)
- cbd = &clip_plus;
---- 1173,1179 ----
- char_u *tmpbuf = NULL;
- guchar *tmpbuf_utf8 = NULL;
- int len;
-! int motion_type = MAUTO;
-
- if (data->selection == clip_plus.gtk_sel_atom)
- cbd = &clip_plus;
-***************
-*** 1182,1188 ****
-
- text = (char_u *)data->data;
- len = data->length;
-- motion_type = MCHAR;
-
- if (text == NULL || len <= 0)
- {
---- 1182,1187 ----
-*** ../mercurial/vim73/src/gui_mac.c 2011-06-12 20:33:30.000000000 +0200
---- src/gui_mac.c 2011-06-19 00:59:07.000000000 +0200
-***************
-*** 4671,4677 ****
- if (flavor)
- type = **textOfClip;
- else
-! type = (strchr(*textOfClip, '\r') != NULL) ? MLINE : MCHAR;
-
- tempclip = lalloc(scrapSize + 1, TRUE);
- mch_memmove(tempclip, *textOfClip + flavor, scrapSize);
---- 4671,4677 ----
- if (flavor)
- type = **textOfClip;
- else
-! type = MAUTO;
-
- tempclip = lalloc(scrapSize + 1, TRUE);
- mch_memmove(tempclip, *textOfClip + flavor, scrapSize);
-*** ../mercurial/vim73/src/ops.c 2011-04-01 16:28:33.000000000 +0200
---- src/ops.c 2011-06-19 00:59:39.000000000 +0200
-***************
-*** 5733,5739 ****
- }
- }
-
-! /* Convert from the GUI selection string into the '*'/'+' register */
- void
- clip_yank_selection(type, str, len, cbd)
- int type;
---- 5733,5741 ----
- }
- }
-
-! /*
-! * Convert from the GUI selection string into the '*'/'+' register.
-! */
- void
- clip_yank_selection(type, str, len, cbd)
- int type;
-***************
-*** 6090,6098 ****
- if (yank_type == MBLOCK)
- yank_type = MAUTO;
- #endif
-- if (yank_type == MAUTO)
-- yank_type = ((len > 0 && (str[len - 1] == '\n' || str[len - 1] == '\r'))
-- ? MLINE : MCHAR);
- str_to_reg(y_current, yank_type, str, len, block_len);
-
- # ifdef FEAT_CLIPBOARD
---- 6092,6097 ----
-***************
-*** 6113,6125 ****
- * is appended.
- */
- static void
-! str_to_reg(y_ptr, type, str, len, blocklen)
- struct yankreg *y_ptr; /* pointer to yank register */
-! int type; /* MCHAR, MLINE or MBLOCK */
- char_u *str; /* string to put in register */
- long len; /* length of string */
- long blocklen; /* width of Visual block */
- {
- int lnum;
- long start;
- long i;
---- 6112,6125 ----
- * is appended.
- */
- static void
-! str_to_reg(y_ptr, yank_type, str, len, blocklen)
- struct yankreg *y_ptr; /* pointer to yank register */
-! int yank_type; /* MCHAR, MLINE, MBLOCK, MAUTO */
- char_u *str; /* string to put in register */
- long len; /* length of string */
- long blocklen; /* width of Visual block */
- {
-+ int type; /* MCHAR, MLINE or MBLOCK */
- int lnum;
- long start;
- long i;
-***************
-*** 6136,6141 ****
---- 6136,6147 ----
- if (y_ptr->y_array == NULL) /* NULL means empty register */
- y_ptr->y_size = 0;
-
-+ if (yank_type == MAUTO)
-+ type = ((len > 0 && (str[len - 1] == NL || str[len - 1] == CAR))
-+ ? MLINE : MCHAR);
-+ else
-+ type = yank_type;
-+
- /*
- * Count the number of lines within the string
- */
-*** ../mercurial/vim73/src/os_msdos.c 2010-12-17 18:06:00.000000000 +0100
---- src/os_msdos.c 2011-06-19 01:00:56.000000000 +0200
-***************
-*** 2232,2238 ****
- void
- clip_mch_request_selection(VimClipboard *cbd)
- {
-! int type = MCHAR;
- char_u *pAllocated = NULL;
- char_u *pClipText = NULL;
- int clip_data_format = 0;
---- 2232,2238 ----
- void
- clip_mch_request_selection(VimClipboard *cbd)
- {
-! int type = MAUTO;
- char_u *pAllocated = NULL;
- char_u *pClipText = NULL;
- int clip_data_format = 0;
-***************
-*** 2280,2293 ****
- {
- clip_data_format = CF_TEXT;
- pClipText = pAllocated;
-- type = (vim_strchr((char*)pClipText, '\r') != NULL) ? MLINE : MCHAR;
- }
-
- else if ((pAllocated = Win16GetClipboardData(CF_OEMTEXT)) != NULL)
- {
- clip_data_format = CF_OEMTEXT;
- pClipText = pAllocated;
-- type = (vim_strchr((char*)pClipText, '\r') != NULL) ? MLINE : MCHAR;
- }
-
- /* Did we get anything? */
---- 2280,2291 ----
-*** ../mercurial/vim73/src/os_mswin.c 2011-01-17 20:08:04.000000000 +0100
---- src/os_mswin.c 2011-06-19 01:01:51.000000000 +0200
-***************
-*** 1410,1418 ****
- {
- char_u *temp_clipboard;
-
-! /* If the type is not known guess it. */
- if (metadata.type == -1)
-! metadata.type = (vim_strchr(str, '\n') == NULL) ? MCHAR : MLINE;
-
- /* Translate <CR><NL> into <NL>. */
- temp_clipboard = crnl_to_nl(str, &str_size);
---- 1410,1418 ----
- {
- char_u *temp_clipboard;
-
-! /* If the type is not known detect it. */
- if (metadata.type == -1)
-! metadata.type = MAUTO;
-
- /* Translate <CR><NL> into <NL>. */
- temp_clipboard = crnl_to_nl(str, &str_size);
-*** ../mercurial/vim73/src/os_qnx.c 2010-05-15 21:22:11.000000000 +0200
---- src/os_qnx.c 2011-06-19 01:02:26.000000000 +0200
-***************
-*** 93,99 ****
- clip_length = clip_header->length - 1;
-
- if( clip_text != NULL && is_type_set == FALSE )
-! type = (strchr( clip_text, '\r' ) != NULL) ? MLINE : MCHAR;
- }
-
- if( (clip_text != NULL) && (clip_length > 0) )
---- 93,99 ----
- clip_length = clip_header->length - 1;
-
- if( clip_text != NULL && is_type_set == FALSE )
-! type = MAUTO;
- }
-
- if( (clip_text != NULL) && (clip_length > 0) )
-*** ../mercurial/vim73/src/ui.c 2010-09-21 22:09:28.000000000 +0200
---- src/ui.c 2011-06-19 01:03:31.000000000 +0200
-***************
-*** 1609,1615 ****
-
- #if defined(FEAT_HANGULIN) || defined(PROTO)
- void
-! push_raw_key (s, len)
- char_u *s;
- int len;
- {
---- 1609,1615 ----
-
- #if defined(FEAT_HANGULIN) || defined(PROTO)
- void
-! push_raw_key(s, len)
- char_u *s;
- int len;
- {
-***************
-*** 2016,2022 ****
- long_u *length;
- int *format;
- {
-! int motion_type;
- long_u len;
- char_u *p;
- char **text_list = NULL;
---- 2016,2022 ----
- long_u *length;
- int *format;
- {
-! int motion_type = MAUTO;
- long_u len;
- char_u *p;
- char **text_list = NULL;
-***************
-*** 2036,2042 ****
- *(int *)success = FALSE;
- return;
- }
-- motion_type = MCHAR;
- p = (char_u *)value;
- len = *length;
- if (*type == vim_atom)
---- 2036,2041 ----
-*** ../vim-7.3.220/src/version.c 2011-06-19 00:27:46.000000000 +0200
---- src/version.c 2011-06-19 01:03:59.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 221,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-190. You quickly hand over your wallet, leather jacket, and car keys
- during a mugging, then proceed to beat the crap out of your
- assailant when he asks for your laptop.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.222 b/source/ap/vim/patches/7.3.222
deleted file mode 100644
index 87151b5ab..000000000
--- a/source/ap/vim/patches/7.3.222
+++ /dev/null
@@ -1,71 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.22
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.222
-Problem: Warning for building GvimExt.
-Solution: Comment-out the DESCRIPTION line. (Mike Williams)
-Files: src/GvimExt/gvimext.def, src/GvimExt/gvimext_ming.def
-
-
-*** ../mercurial/vim73/src/GvimExt/gvimext.def 2010-05-15 21:22:11.000000000 +0200
---- src/GvimExt/gvimext.def 2011-06-15 03:50:55.000000000 +0200
-***************
-*** 1,7 ****
- ;gvimdef.def : Declares the module parameters for the DLL.
-
- LIBRARY gvimext
-! DESCRIPTION 'Vim Shell Extension'
-
- EXPORTS
- DllCanUnloadNow private
---- 1,7 ----
- ;gvimdef.def : Declares the module parameters for the DLL.
-
- LIBRARY gvimext
-! ; DESCRIPTION 'Vim Shell Extension'
-
- EXPORTS
- DllCanUnloadNow private
-*** ../mercurial/vim73/src/GvimExt/gvimext_ming.def 2010-05-15 21:22:11.000000000 +0200
---- src/GvimExt/gvimext_ming.def 2011-06-15 03:51:05.000000000 +0200
-***************
-*** 3,9 ****
- ;Hence this is the same file as gvimext.def with private removed
-
- LIBRARY gvimext
-! DESCRIPTION 'Vim Shell Extension build with MinGW'
-
- EXPORTS
- DllCanUnloadNow = DllCanUnloadNow@0
---- 3,9 ----
- ;Hence this is the same file as gvimext.def with private removed
-
- LIBRARY gvimext
-! ; DESCRIPTION 'Vim Shell Extension build with MinGW'
-
- EXPORTS
- DllCanUnloadNow = DllCanUnloadNow@0
-*** ../vim-7.3.221/src/version.c 2011-06-19 01:14:23.000000000 +0200
---- src/version.c 2011-06-19 01:26:57.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 222,
- /**/
-
---
-What is the difference between a professional and an amateur?
-The ark was built by an amateur; professionals gave us the Titanic.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.223 b/source/ap/vim/patches/7.3.223
deleted file mode 100644
index e151c5b74..000000000
--- a/source/ap/vim/patches/7.3.223
+++ /dev/null
@@ -1,387 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.223
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.223
-Problem: MingW cross compilation doesn't work with tiny features.
-Solution: Move acp_to_enc(), enc_to_utf16() and utf16_to_enc() outside of
- "#ifdef CLIPBOARD". Fix typo in makefile.
-Files: src/Make_ming.mak, src/os_mswin.c
-
-
-*** ../mercurial/vim73/src/Make_ming.mak 2010-12-30 14:50:46.000000000 +0100
---- src/Make_ming.mak 2011-06-19 01:20:16.000000000 +0200
-***************
-*** 87,93 ****
-
- # If you are using gettext-0.10.35 from http://sourceforge.net/projects/gettext
- # or gettext-0.10.37 from http://sourceforge.net/projects/mingwrep/
-! # uncomment the following, but I can't build a static versión with them, ?-(|
- #GETTEXT=c:/gettext-0.10.37-20010430
- #STATIC_GETTEXT=USE_STATIC_GETTEXT
- #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT
---- 87,93 ----
-
- # If you are using gettext-0.10.35 from http://sourceforge.net/projects/gettext
- # or gettext-0.10.37 from http://sourceforge.net/projects/mingwrep/
-! # uncomment the following, but I can't build a static version with them, ?-(|
- #GETTEXT=c:/gettext-0.10.37-20010430
- #STATIC_GETTEXT=USE_STATIC_GETTEXT
- #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT
-*** ../mercurial/vim73/src/os_mswin.c 2011-06-19 01:14:23.000000000 +0200
---- src/os_mswin.c 2011-06-19 01:25:23.000000000 +0200
-***************
-*** 1105,1236 ****
- return ret;
- }
-
-- #if defined(FEAT_MBYTE) || defined(PROTO)
-- /*
-- * Note: the following two functions are only guaranteed to work when using
-- * valid MS-Windows codepages or when iconv() is available.
-- */
--
-- /*
-- * Convert "str" from 'encoding' to UTF-16.
-- * Input in "str" with length "*lenp". When "lenp" is NULL, use strlen().
-- * Output is returned as an allocated string. "*lenp" is set to the length of
-- * the result. A trailing NUL is always added.
-- * Returns NULL when out of memory.
-- */
-- short_u *
-- enc_to_utf16(char_u *str, int *lenp)
-- {
-- vimconv_T conv;
-- WCHAR *ret;
-- char_u *allocbuf = NULL;
-- int len_loc;
-- int length;
--
-- if (lenp == NULL)
-- {
-- len_loc = (int)STRLEN(str) + 1;
-- lenp = &len_loc;
-- }
--
-- if (enc_codepage > 0)
-- {
-- /* We can do any CP### -> UTF-16 in one pass, and we can do it
-- * without iconv() (convert_* may need iconv). */
-- MultiByteToWideChar_alloc(enc_codepage, 0, str, *lenp, &ret, &length);
-- }
-- else
-- {
-- /* Use "latin1" by default, we might be called before we have p_enc
-- * set up. Convert to utf-8 first, works better with iconv(). Does
-- * nothing if 'encoding' is "utf-8". */
-- conv.vc_type = CONV_NONE;
-- if (convert_setup(&conv, p_enc ? p_enc : (char_u *)"latin1",
-- (char_u *)"utf-8") == FAIL)
-- return NULL;
-- if (conv.vc_type != CONV_NONE)
-- {
-- str = allocbuf = string_convert(&conv, str, lenp);
-- if (str == NULL)
-- return NULL;
-- }
-- convert_setup(&conv, NULL, NULL);
--
-- length = utf8_to_utf16(str, *lenp, NULL, NULL);
-- ret = (WCHAR *)alloc((unsigned)((length + 1) * sizeof(WCHAR)));
-- if (ret != NULL)
-- {
-- utf8_to_utf16(str, *lenp, (short_u *)ret, NULL);
-- ret[length] = 0;
-- }
--
-- vim_free(allocbuf);
-- }
--
-- *lenp = length;
-- return (short_u *)ret;
-- }
--
-- /*
-- * Convert an UTF-16 string to 'encoding'.
-- * Input in "str" with length (counted in wide characters) "*lenp". When
-- * "lenp" is NULL, use wcslen().
-- * Output is returned as an allocated string. If "*lenp" is not NULL it is
-- * set to the length of the result.
-- * Returns NULL when out of memory.
-- */
-- char_u *
-- utf16_to_enc(short_u *str, int *lenp)
-- {
-- vimconv_T conv;
-- char_u *utf8_str = NULL, *enc_str = NULL;
-- int len_loc;
--
-- if (lenp == NULL)
-- {
-- len_loc = (int)wcslen(str) + 1;
-- lenp = &len_loc;
-- }
--
-- if (enc_codepage > 0)
-- {
-- /* We can do any UTF-16 -> CP### in one pass. */
-- int length;
--
-- WideCharToMultiByte_alloc(enc_codepage, 0, str, *lenp,
-- (LPSTR *)&enc_str, &length, 0, 0);
-- *lenp = length;
-- return enc_str;
-- }
--
-- /* Avoid allocating zero bytes, it generates an error message. */
-- utf8_str = alloc(utf16_to_utf8(str, *lenp == 0 ? 1 : *lenp, NULL));
-- if (utf8_str != NULL)
-- {
-- *lenp = utf16_to_utf8(str, *lenp, utf8_str);
--
-- /* We might be called before we have p_enc set up. */
-- conv.vc_type = CONV_NONE;
-- convert_setup(&conv, (char_u *)"utf-8",
-- p_enc? p_enc: (char_u *)"latin1");
-- if (conv.vc_type == CONV_NONE)
-- {
-- /* p_enc is utf-8, so we're done. */
-- enc_str = utf8_str;
-- }
-- else
-- {
-- enc_str = string_convert(&conv, utf8_str, lenp);
-- vim_free(utf8_str);
-- }
--
-- convert_setup(&conv, NULL, NULL);
-- }
--
-- return enc_str;
-- }
-- #endif /* FEAT_MBYTE */
--
- /*
- * Wait for another process to Close the Clipboard.
- * Returns TRUE for success.
---- 1105,1110 ----
-***************
-*** 1436,1467 ****
- #endif
- }
-
-- #if (defined(FEAT_MBYTE) && defined(WIN3264)) || defined(PROTO)
-- /*
-- * Convert from the active codepage to 'encoding'.
-- * Input is "str[str_size]".
-- * The result is in allocated memory: "out[outlen]". With terminating NUL.
-- */
-- void
-- acp_to_enc(str, str_size, out, outlen)
-- char_u *str;
-- int str_size;
-- char_u **out;
-- int *outlen;
--
-- {
-- LPWSTR widestr;
--
-- MultiByteToWideChar_alloc(GetACP(), 0, str, str_size, &widestr, outlen);
-- if (widestr != NULL)
-- {
-- ++*outlen; /* Include the 0 after the string */
-- *out = utf16_to_enc((short_u *)widestr, outlen);
-- vim_free(widestr);
-- }
-- }
-- #endif
--
- /*
- * Send the current selection to the clipboard.
- */
---- 1310,1315 ----
-***************
-*** 1626,1631 ****
---- 1474,1631 ----
-
- #endif /* FEAT_CLIPBOARD */
-
-+ #if defined(FEAT_MBYTE) || defined(PROTO)
-+ /*
-+ * Note: the following two functions are only guaranteed to work when using
-+ * valid MS-Windows codepages or when iconv() is available.
-+ */
-+
-+ /*
-+ * Convert "str" from 'encoding' to UTF-16.
-+ * Input in "str" with length "*lenp". When "lenp" is NULL, use strlen().
-+ * Output is returned as an allocated string. "*lenp" is set to the length of
-+ * the result. A trailing NUL is always added.
-+ * Returns NULL when out of memory.
-+ */
-+ short_u *
-+ enc_to_utf16(char_u *str, int *lenp)
-+ {
-+ vimconv_T conv;
-+ WCHAR *ret;
-+ char_u *allocbuf = NULL;
-+ int len_loc;
-+ int length;
-+
-+ if (lenp == NULL)
-+ {
-+ len_loc = (int)STRLEN(str) + 1;
-+ lenp = &len_loc;
-+ }
-+
-+ if (enc_codepage > 0)
-+ {
-+ /* We can do any CP### -> UTF-16 in one pass, and we can do it
-+ * without iconv() (convert_* may need iconv). */
-+ MultiByteToWideChar_alloc(enc_codepage, 0, str, *lenp, &ret, &length);
-+ }
-+ else
-+ {
-+ /* Use "latin1" by default, we might be called before we have p_enc
-+ * set up. Convert to utf-8 first, works better with iconv(). Does
-+ * nothing if 'encoding' is "utf-8". */
-+ conv.vc_type = CONV_NONE;
-+ if (convert_setup(&conv, p_enc ? p_enc : (char_u *)"latin1",
-+ (char_u *)"utf-8") == FAIL)
-+ return NULL;
-+ if (conv.vc_type != CONV_NONE)
-+ {
-+ str = allocbuf = string_convert(&conv, str, lenp);
-+ if (str == NULL)
-+ return NULL;
-+ }
-+ convert_setup(&conv, NULL, NULL);
-+
-+ length = utf8_to_utf16(str, *lenp, NULL, NULL);
-+ ret = (WCHAR *)alloc((unsigned)((length + 1) * sizeof(WCHAR)));
-+ if (ret != NULL)
-+ {
-+ utf8_to_utf16(str, *lenp, (short_u *)ret, NULL);
-+ ret[length] = 0;
-+ }
-+
-+ vim_free(allocbuf);
-+ }
-+
-+ *lenp = length;
-+ return (short_u *)ret;
-+ }
-+
-+ /*
-+ * Convert an UTF-16 string to 'encoding'.
-+ * Input in "str" with length (counted in wide characters) "*lenp". When
-+ * "lenp" is NULL, use wcslen().
-+ * Output is returned as an allocated string. If "*lenp" is not NULL it is
-+ * set to the length of the result.
-+ * Returns NULL when out of memory.
-+ */
-+ char_u *
-+ utf16_to_enc(short_u *str, int *lenp)
-+ {
-+ vimconv_T conv;
-+ char_u *utf8_str = NULL, *enc_str = NULL;
-+ int len_loc;
-+
-+ if (lenp == NULL)
-+ {
-+ len_loc = (int)wcslen(str) + 1;
-+ lenp = &len_loc;
-+ }
-+
-+ if (enc_codepage > 0)
-+ {
-+ /* We can do any UTF-16 -> CP### in one pass. */
-+ int length;
-+
-+ WideCharToMultiByte_alloc(enc_codepage, 0, str, *lenp,
-+ (LPSTR *)&enc_str, &length, 0, 0);
-+ *lenp = length;
-+ return enc_str;
-+ }
-+
-+ /* Avoid allocating zero bytes, it generates an error message. */
-+ utf8_str = alloc(utf16_to_utf8(str, *lenp == 0 ? 1 : *lenp, NULL));
-+ if (utf8_str != NULL)
-+ {
-+ *lenp = utf16_to_utf8(str, *lenp, utf8_str);
-+
-+ /* We might be called before we have p_enc set up. */
-+ conv.vc_type = CONV_NONE;
-+ convert_setup(&conv, (char_u *)"utf-8",
-+ p_enc? p_enc: (char_u *)"latin1");
-+ if (conv.vc_type == CONV_NONE)
-+ {
-+ /* p_enc is utf-8, so we're done. */
-+ enc_str = utf8_str;
-+ }
-+ else
-+ {
-+ enc_str = string_convert(&conv, utf8_str, lenp);
-+ vim_free(utf8_str);
-+ }
-+
-+ convert_setup(&conv, NULL, NULL);
-+ }
-+
-+ return enc_str;
-+ }
-+ #endif /* FEAT_MBYTE */
-+
-+ #if (defined(FEAT_MBYTE) && defined(WIN3264)) || defined(PROTO)
-+ /*
-+ * Convert from the active codepage to 'encoding'.
-+ * Input is "str[str_size]".
-+ * The result is in allocated memory: "out[outlen]". With terminating NUL.
-+ */
-+ void
-+ acp_to_enc(str, str_size, out, outlen)
-+ char_u *str;
-+ int str_size;
-+ char_u **out;
-+ int *outlen;
-+
-+ {
-+ LPWSTR widestr;
-+
-+ MultiByteToWideChar_alloc(GetACP(), 0, str, str_size, &widestr, outlen);
-+ if (widestr != NULL)
-+ {
-+ ++*outlen; /* Include the 0 after the string */
-+ *out = utf16_to_enc((short_u *)widestr, outlen);
-+ vim_free(widestr);
-+ }
-+ }
-+ #endif
-+
-
- /*
- * Debugging helper: expose the MCH_WRITE_DUMP stuff to other modules
-*** ../vim-7.3.222/src/version.c 2011-06-19 01:27:29.000000000 +0200
---- src/version.c 2011-06-19 01:28:41.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 223,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-191. You rate eating establishments not by the quality of the food,
- but by the availability of electrical outlets for your PowerBook.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.224 b/source/ap/vim/patches/7.3.224
deleted file mode 100644
index 1673f4768..000000000
--- a/source/ap/vim/patches/7.3.224
+++ /dev/null
@@ -1,162 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.224
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.224
-Problem: Can't pass dict to sort function.
-Solution: Add the optional {dict} argument to sort(). (ZyX)
-Files: runtime/doc/eval.txt, src/eval.c
-
-
-*** ../mercurial/vim73/runtime/doc/eval.txt 2011-05-19 17:25:36.000000000 +0200
---- runtime/doc/eval.txt 2011-06-19 02:42:52.000000000 +0200
-***************
-*** 1919,1925 ****
- simplify( {filename}) String simplify filename as much as possible
- sin( {expr}) Float sine of {expr}
- sinh( {expr}) Float hyperbolic sine of {expr}
-! sort( {list} [, {func}]) List sort {list}, using {func} to compare
- soundfold( {word}) String sound-fold {word}
- spellbadword() String badly spelled word at cursor
- spellsuggest( {word} [, {max} [, {capital}]])
---- 1922,1929 ----
- simplify( {filename}) String simplify filename as much as possible
- sin( {expr}) Float sine of {expr}
- sinh( {expr}) Float hyperbolic sine of {expr}
-! sort( {list} [, {func} [, {dict}]])
-! List sort {list}, using {func} to compare
- soundfold( {word}) String sound-fold {word}
- spellbadword() String badly spelled word at cursor
- spellsuggest( {word} [, {max} [, {capital}]])
-***************
-*** 5275,5281 ****
- {only available when compiled with the |+float| feature}
-
-
-! sort({list} [, {func}]) *sort()* *E702*
- Sort the items in {list} in-place. Returns {list}. If you
- want a list to remain unmodified make a copy first: >
- :let sortedlist = sort(copy(mylist))
---- 5279,5285 ----
- {only available when compiled with the |+float| feature}
-
-
-! sort({list} [, {func} [, {dict}]]) *sort()* *E702*
- Sort the items in {list} in-place. Returns {list}. If you
- want a list to remain unmodified make a copy first: >
- :let sortedlist = sort(copy(mylist))
-***************
-*** 5283,5288 ****
---- 5287,5294 ----
- Numbers sort after Strings, |Lists| after Numbers.
- For sorting text in the current buffer use |:sort|.
- When {func} is given and it is one then case is ignored.
-+ {dict} is for functions with the "dict" attribute. It will be
-+ used to set the local variable "self". |Dictionary-function|
- When {func} is a |Funcref| or a function name, this function
- is called to compare items. The function is invoked with two
- items as argument and must return zero if they are equal, 1 or
-*** ../mercurial/vim73/src/eval.c 2011-05-19 18:26:34.000000000 +0200
---- src/eval.c 2011-06-19 02:51:13.000000000 +0200
-***************
-*** 7930,7936 ****
- {"sin", 1, 1, f_sin},
- {"sinh", 1, 1, f_sinh},
- #endif
-! {"sort", 1, 2, f_sort},
- {"soundfold", 1, 1, f_soundfold},
- {"spellbadword", 0, 1, f_spellbadword},
- {"spellsuggest", 1, 3, f_spellsuggest},
---- 7930,7936 ----
- {"sin", 1, 1, f_sin},
- {"sinh", 1, 1, f_sinh},
- #endif
-! {"sort", 1, 3, f_sort},
- {"soundfold", 1, 1, f_soundfold},
- {"spellbadword", 0, 1, f_spellbadword},
- {"spellsuggest", 1, 3, f_spellsuggest},
-***************
-*** 16366,16371 ****
---- 16366,16372 ----
-
- static int item_compare_ic;
- static char_u *item_compare_func;
-+ static dict_T *item_compare_selfdict;
- static int item_compare_func_err;
- #define ITEM_COMPARE_FAIL 999
-
-***************
-*** 16425,16431 ****
-
- rettv.v_type = VAR_UNKNOWN; /* clear_tv() uses this */
- res = call_func(item_compare_func, (int)STRLEN(item_compare_func),
-! &rettv, 2, argv, 0L, 0L, &dummy, TRUE, NULL);
- clear_tv(&argv[0]);
- clear_tv(&argv[1]);
-
---- 16426,16433 ----
-
- rettv.v_type = VAR_UNKNOWN; /* clear_tv() uses this */
- res = call_func(item_compare_func, (int)STRLEN(item_compare_func),
-! &rettv, 2, argv, 0L, 0L, &dummy, TRUE,
-! item_compare_selfdict);
- clear_tv(&argv[0]);
- clear_tv(&argv[1]);
-
-***************
-*** 16471,16478 ****
---- 16473,16482 ----
-
- item_compare_ic = FALSE;
- item_compare_func = NULL;
-+ item_compare_selfdict = NULL;
- if (argvars[1].v_type != VAR_UNKNOWN)
- {
-+ /* optional second argument: {func} */
- if (argvars[1].v_type == VAR_FUNC)
- item_compare_func = argvars[1].vval.v_string;
- else
-***************
-*** 16487,16492 ****
---- 16491,16507 ----
- else
- item_compare_func = get_tv_string(&argvars[1]);
- }
-+
-+ if (argvars[2].v_type != VAR_UNKNOWN)
-+ {
-+ /* optional third argument: {dict} */
-+ if (argvars[2].v_type != VAR_DICT)
-+ {
-+ EMSG(_(e_dictreq));
-+ return;
-+ }
-+ item_compare_selfdict = argvars[2].vval.v_dict;
-+ }
- }
-
- /* Make an array with each entry pointing to an item in the List. */
-*** ../vim-7.3.223/src/version.c 2011-06-19 01:30:01.000000000 +0200
---- src/version.c 2011-06-19 02:52:46.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 224,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-193. You ask your girlfriend to drive home so you can sit back with
- your PDA and download the information to your laptop
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.225 b/source/ap/vim/patches/7.3.225
deleted file mode 100644
index 5a32b9a62..000000000
--- a/source/ap/vim/patches/7.3.225
+++ /dev/null
Binary files differ
diff --git a/source/ap/vim/patches/7.3.226 b/source/ap/vim/patches/7.3.226
deleted file mode 100644
index 0002aa77f..000000000
--- a/source/ap/vim/patches/7.3.226
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.226
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.226
-Problem: On a 64 bit system "syn sync fromstart" is very slow. (Bjorn
- Steinbrink)
-Solution: Store the state when starting to parse from the first line.
-Files: src/syntax.c
-
-
-*** ../mercurial/vim73/src/syntax.c 2011-05-25 17:56:23.000000000 +0200
---- src/syntax.c 2011-06-19 04:47:08.000000000 +0200
-***************
-*** 559,565 ****
- if (INVALID_STATE(&current_state))
- {
- syn_sync(wp, lnum, last_valid);
-! first_stored = current_lnum + syn_block->b_syn_sync_minlines;
- }
- else
- first_stored = current_lnum;
---- 559,571 ----
- if (INVALID_STATE(&current_state))
- {
- syn_sync(wp, lnum, last_valid);
-! if (current_lnum == 1)
-! /* First line is always valid, no matter "minlines". */
-! first_stored = 1;
-! else
-! /* Need to parse "minlines" lines before state can be considered
-! * valid to store. */
-! first_stored = current_lnum + syn_block->b_syn_sync_minlines;
- }
- else
- first_stored = current_lnum;
-*** ../vim-7.3.225/src/version.c 2011-06-19 04:31:54.000000000 +0200
---- src/version.c 2011-06-19 04:49:53.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 226,
- /**/
-
---
-Press any key to continue, press any other key to quit.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.227 b/source/ap/vim/patches/7.3.227
deleted file mode 100644
index 55d5a9c6b..000000000
--- a/source/ap/vim/patches/7.3.227
+++ /dev/null
@@ -1,109 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.227
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.227 (after 7.3.221)
-Problem: Mac OS doesn't have the linewise clipboard fix.
-Solution: Also change the Mac OS file. (Bjorn Winckler)
-Files: src/os_macosx.m
-
-
-*** ../mercurial/vim73/src/os_macosx.m 2011-06-13 02:03:55.000000000 +0200
---- src/os_macosx.m 2011-06-20 00:23:57.000000000 +0200
-***************
-*** 65,71 ****
- NSString *bestType = [pb availableTypeFromArray:supportedTypes];
- if (!bestType) goto releasepool;
-
-! int motion_type = MCHAR;
- NSString *string = nil;
-
- if ([bestType isEqual:VimPboardType])
---- 65,71 ----
- NSString *bestType = [pb availableTypeFromArray:supportedTypes];
- if (!bestType) goto releasepool;
-
-! int motion_type = MAUTO;
- NSString *string = nil;
-
- if ([bestType isEqual:VimPboardType])
-***************
-*** 89,97 ****
-
- if (!string)
- {
-! /* Use NSStringPboardType. The motion type is set to line-wise if the
-! * string contains at least one EOL character, otherwise it is set to
-! * character-wise (block-wise is never used).
- */
- NSMutableString *mstring =
- [[pb stringForType:NSStringPboardType] mutableCopy];
---- 89,95 ----
-
- if (!string)
- {
-! /* Use NSStringPboardType. The motion type is detected automatically.
- */
- NSMutableString *mstring =
- [[pb stringForType:NSStringPboardType] mutableCopy];
-***************
-*** 108,126 ****
- options:0 range:range];
- }
-
-- /* Scan for newline character to decide whether the string should be
-- * pasted line-wise or character-wise.
-- */
-- motion_type = MCHAR;
-- if (0 < n || NSNotFound != [mstring rangeOfString:@"\n"].location)
-- motion_type = MLINE;
--
- string = mstring;
- }
-
- if (!(MCHAR == motion_type || MLINE == motion_type || MBLOCK == motion_type
- || MAUTO == motion_type))
-! motion_type = MCHAR;
-
- char_u *str = (char_u*)[string UTF8String];
- int len = [string lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
---- 106,118 ----
- options:0 range:range];
- }
-
- string = mstring;
- }
-
-+ /* Default to MAUTO, uses MCHAR or MLINE depending on trailing NL. */
- if (!(MCHAR == motion_type || MLINE == motion_type || MBLOCK == motion_type
- || MAUTO == motion_type))
-! motion_type = MAUTO;
-
- char_u *str = (char_u*)[string UTF8String];
- int len = [string lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
-*** ../vim-7.3.226/src/version.c 2011-06-19 04:54:17.000000000 +0200
---- src/version.c 2011-06-20 00:21:53.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 227,
- /**/
-
---
-Some of the well know MS-Windows errors:
- EMULTI Multitasking attempted, system confused
- EKEYBOARD Keyboard locked, try getting out of this one!
- EXPLAIN Unexplained error, please tell us what happened
- EFUTURE Reserved for our future mistakes
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.228 b/source/ap/vim/patches/7.3.228
deleted file mode 100644
index 3edede597..000000000
--- a/source/ap/vim/patches/7.3.228
+++ /dev/null
@@ -1,45 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.228
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.228
-Problem: "2gj" does not always move to the correct position.
-Solution: Get length of line after moving to a next line. (James Vega)
-Files: src/normal.c
-
-
-*** ../mercurial/vim73/src/normal.c 2011-05-10 17:29:28.000000000 +0200
---- src/normal.c 2011-06-20 00:41:43.000000000 +0200
-***************
-*** 4533,4538 ****
---- 4533,4539 ----
- }
- curwin->w_cursor.lnum++;
- curwin->w_curswant %= width2;
-+ linelen = linetabsize(ml_get_curline());
- }
- }
- }
-*** ../vim-7.3.227/src/version.c 2011-06-20 00:25:37.000000000 +0200
---- src/version.c 2011-06-20 00:45:15.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 228,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-197. Your desk collapses under the weight of your computer peripherals.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.229 b/source/ap/vim/patches/7.3.229
deleted file mode 100644
index b133f7a48..000000000
--- a/source/ap/vim/patches/7.3.229
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.229
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.229
-Problem: Using fork() makes gvim crash on Mac when build with
- CoreFoundation.
-Solution: Disallow fork() when __APPLE__ is defined. (Hisashi T Fujinaka)
-Files: src/gui.c
-
-
-*** ../mercurial/vim73/src/gui.c 2011-05-10 16:41:13.000000000 +0200
---- src/gui.c 2011-06-20 00:51:21.000000000 +0200
-***************
-*** 59,65 ****
- gui_start()
- {
- char_u *old_term;
-! #if defined(UNIX) && !defined(__BEOS__) && !defined(MACOS_X)
- # define MAY_FORK
- int dofork = TRUE;
- #endif
---- 59,66 ----
- gui_start()
- {
- char_u *old_term;
-! #if defined(UNIX) && !defined(__BEOS__) && !defined(MACOS_X) \
-! && !defined(__APPLE__)
- # define MAY_FORK
- int dofork = TRUE;
- #endif
-*** ../vim-7.3.228/src/version.c 2011-06-20 00:45:55.000000000 +0200
---- src/version.c 2011-06-20 00:50:42.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 229,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-198. You read all the quotes at Netaholics Anonymous and keep thinking
- "What's wrong with that?"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.230 b/source/ap/vim/patches/7.3.230
deleted file mode 100644
index 80fcdf130..000000000
--- a/source/ap/vim/patches/7.3.230
+++ /dev/null
@@ -1,70 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.230
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.230
-Problem: ":wundo" and ":rundo" don't unescape their argument. (Aaron
- Thoma)
-Solution: Use FILE1 instead of XFILE.
-Files: src/ex_cmds.h
-
-
-*** ../mercurial/vim73/src/ex_cmds.h 2010-08-20 11:09:02.000000000 +0200
---- src/ex_cmds.h 2011-06-20 04:44:13.000000000 +0200
-***************
-*** 788,794 ****
- EX(CMD_rubyfile, "rubyfile", ex_rubyfile,
- RANGE|FILE1|NEEDARG|CMDWIN),
- EX(CMD_rundo, "rundo", ex_rundo,
-! NEEDARG|EXTRA|XFILE),
- EX(CMD_rviminfo, "rviminfo", ex_viminfo,
- BANG|FILE1|TRLBAR|CMDWIN),
- EX(CMD_substitute, "substitute", do_sub,
---- 788,794 ----
- EX(CMD_rubyfile, "rubyfile", ex_rubyfile,
- RANGE|FILE1|NEEDARG|CMDWIN),
- EX(CMD_rundo, "rundo", ex_rundo,
-! NEEDARG|FILE1),
- EX(CMD_rviminfo, "rviminfo", ex_viminfo,
- BANG|FILE1|TRLBAR|CMDWIN),
- EX(CMD_substitute, "substitute", do_sub,
-***************
-*** 1078,1084 ****
- EX(CMD_wsverb, "wsverb", ex_wsverb,
- EXTRA|NOTADR|NEEDARG),
- EX(CMD_wundo, "wundo", ex_wundo,
-! BANG|NEEDARG|EXTRA|XFILE),
- EX(CMD_wviminfo, "wviminfo", ex_viminfo,
- BANG|FILE1|TRLBAR|CMDWIN),
- EX(CMD_xit, "xit", ex_exit,
---- 1078,1084 ----
- EX(CMD_wsverb, "wsverb", ex_wsverb,
- EXTRA|NOTADR|NEEDARG),
- EX(CMD_wundo, "wundo", ex_wundo,
-! BANG|NEEDARG|FILE1),
- EX(CMD_wviminfo, "wviminfo", ex_viminfo,
- BANG|FILE1|TRLBAR|CMDWIN),
- EX(CMD_xit, "xit", ex_exit,
-*** ../vim-7.3.229/src/version.c 2011-06-20 00:53:10.000000000 +0200
---- src/version.c 2011-06-20 05:02:40.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 230,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-201. When somebody asks you where you are, you tell them in which chat room.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.231 b/source/ap/vim/patches/7.3.231
deleted file mode 100644
index 266d0a2bc..000000000
--- a/source/ap/vim/patches/7.3.231
+++ /dev/null
@@ -1,128 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.231
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Note: this is a weird patch, it redoes patches from 7.3.202 and 7.3.203
-that failed when applied as a patch, but the mercurial repository
-already had this, thus won't change anything there.
-
-
-Patch 7.3.231
-Problem: Runtime file patches failed.
-Solution: Redo the patches made against the patched files instead of the
- files in the mercurial repository.
-Files: runtime/doc/indent.txt, runtime/doc/os_win32.txt
-
-
-*** ../vim-7.3.230/runtime/doc/indent.txt 2011-05-25 15:16:06.000000000 +0200
---- runtime/doc/indent.txt 2011-05-31 22:23:39.000000000 +0200
-***************
-*** 356,363 ****
- BaseClass(3) BaseClass(3)
- {} {}
- <
-! +N Indent a continuation line (a line that spills onto the next) N
-! additional characters. (default 'shiftwidth').
-
- cino= cino=+10 >
- a = b + 9 * a = b + 9 *
---- 357,368 ----
- BaseClass(3) BaseClass(3)
- {} {}
- <
-! *cino-+*
-! +N Indent a continuation line (a line that spills onto the next)
-! inside a function N additional characters. (default
-! 'shiftwidth').
-! Outside of a function, when the previous line ended in a
-! backslash, the 2 * N is used.
-
- cino= cino=+10 >
- a = b + 9 * a = b + 9 *
-***************
-*** 509,522 ****
---- 514,532 ----
- }
- }
- <
-+ *cino-)*
- )N Vim searches for unclosed parentheses at most N lines away.
- This limits the time needed to search for parentheses. (default
- 20 lines).
-
-+ *cino-star*
- *N Vim searches for unclosed comments at most N lines away. This
- limits the time needed to search for the start of a comment.
-+ If your /* */ comments stop indenting afer N lines this is the
-+ value you will want to change.
- (default 70 lines).
-
-+ *cino-#*
- #N When N is non-zero recognize shell/Perl comments, starting with
- '#'. Default N is zero: don't recognizes '#' comments. Note
- that lines starting with # will still be seen as preprocessor
-*** ../vim-7.3.230/runtime/doc/os_win32.txt 2010-08-15 21:57:16.000000000 +0200
---- runtime/doc/os_win32.txt 2011-05-28 18:17:58.000000000 +0200
-***************
-*** 313,318 ****
---- 313,349 ----
- with :!start do not get passed Vim's open file handles, which means they do
- not have to be closed before Vim.
- To avoid this special treatment, use ":! start".
-+ There are two optional arguments (see the next Q):
-+ /min the window will be minimized.
-+ /b" no console window will be opened
-+ You can only one of these flags at a time. A second second one will be
-+ treated as the start of the command.
-+
-+ Q. How do I avoid getting a window for programs that I run asynchronously?
-+ A. You have two possible solutions depending on what exactly do you want:
-+ 1) You may use the /min flag in order to run program in a minimized state
-+ with no other changes. It will work equally for console and GUI
-+ applications.
-+ 2) You can use the /b flag to run console applications without creating a
-+ console window for them (GUI applications are not affected). But you
-+ should use this flag only if the application you run doesn't require any
-+ input. Otherwise it will get an EOF error because its input stream
-+ (stdin) would be redirected to \\.\NUL (stdoud and stderr too).
-+
-+ Example for a console application, run Exuberant ctags: >
-+ :!start /min ctags -R .
-+ < When it has finished you should see file named "tags" in your current
-+ directory. You should notice the window title blinking on your taskbar.
-+ This is more noticable for commands that take longer.
-+ Now delete the "tags" file and run this command: >
-+ :!start /b ctags -R .
-+ < You should have the same "tags" file, but this time there will be no
-+ blinking on the taskbar.
-+ Example for a GUI application: >
-+ :!start /min notepad
-+ :!start /b notepad
-+ < The first command runs notepad minimized and the second one runs it
-+ normally.
-
- Q. I'm using Win32s, and when I try to run an external command like "make",
- Vim doesn't wait for it to finish! Help!
-*** ../vim-7.3.230/src/version.c 2011-06-20 05:02:53.000000000 +0200
---- src/version.c 2011-06-26 03:14:03.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 231,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-222. You send more than 20 personal e-mails a day.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.232 b/source/ap/vim/patches/7.3.232
deleted file mode 100644
index 982d7478c..000000000
--- a/source/ap/vim/patches/7.3.232
+++ /dev/null
@@ -1,84 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.232
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.232
-Problem: Python doesn't compile without +multi_byte
-Solution: Use "latin1" when MULTI_BYTE is not defined.
-Files: src/if_py_both.h
-
-
-*** ../vim-7.3.231/src/if_py_both.h 2011-06-19 00:27:46.000000000 +0200
---- src/if_py_both.h 2011-06-26 03:58:07.000000000 +0200
-***************
-*** 12,17 ****
---- 12,23 ----
- * Common code for if_python.c and if_python3.c.
- */
-
-+ #ifdef FEAT_MBYTE
-+ # define ENC_OPT p_enc
-+ #else
-+ # define ENC_OPT "latin1"
-+ #endif
-+
- /*
- * obtain a lock on the Vim data structures
- */
-***************
-*** 68,74 ****
- char *str = NULL;
- int error = ((OutputObject *)(self))->error;
-
-! if (!PyArg_ParseTuple(args, "es#", p_enc, &str, &len))
- return NULL;
-
- Py_BEGIN_ALLOW_THREADS
---- 74,80 ----
- char *str = NULL;
- int error = ((OutputObject *)(self))->error;
-
-! if (!PyArg_ParseTuple(args, "es#", ENC_OPT, &str, &len))
- return NULL;
-
- Py_BEGIN_ALLOW_THREADS
-***************
-*** 108,114 ****
- char *str = NULL;
- PyInt len;
-
-! if (!PyArg_Parse(line, "es#", p_enc, &str, &len)) {
- PyErr_SetString(PyExc_TypeError, _("writelines() requires list of strings"));
- Py_DECREF(list);
- return NULL;
---- 114,120 ----
- char *str = NULL;
- PyInt len;
-
-! if (!PyArg_Parse(line, "es#", ENC_OPT, &str, &len)) {
- PyErr_SetString(PyExc_TypeError, _("writelines() requires list of strings"));
- Py_DECREF(list);
- return NULL;
-*** ../vim-7.3.231/src/version.c 2011-06-26 03:16:58.000000000 +0200
---- src/version.c 2011-06-26 04:00:40.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 232,
- /**/
-
---
-If evolution theories are correct, humans will soon grow a third
-hand for operating the mouse.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.233 b/source/ap/vim/patches/7.3.233
deleted file mode 100644
index 2dcbf89ac..000000000
--- a/source/ap/vim/patches/7.3.233
+++ /dev/null
@@ -1,81 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.233
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.233
-Problem: ":scriptnames" and ":breaklist" show long file names.
-Solution: Shorten to use "~/" when possible. (Jean-Rene David)
-Files: src/ex_cmds2.c
-
-
-*** ../vim-7.3.232/src/ex_cmds2.c 2011-05-19 18:26:34.000000000 +0200
---- src/ex_cmds2.c 2011-06-26 04:20:24.000000000 +0200
-***************
-*** 682,691 ****
- for (i = 0; i < dbg_breakp.ga_len; ++i)
- {
- bp = &BREAKP(i);
- smsg((char_u *)_("%3d %s %s line %ld"),
- bp->dbg_nr,
- bp->dbg_type == DBG_FUNC ? "func" : "file",
-! bp->dbg_name,
- (long)bp->dbg_lnum);
- }
- }
---- 682,693 ----
- for (i = 0; i < dbg_breakp.ga_len; ++i)
- {
- bp = &BREAKP(i);
-+ if (bp->dbg_type == DBG_FILE)
-+ home_replace(NULL, bp->dbg_name, NameBuff, MAXPATHL, TRUE);
- smsg((char_u *)_("%3d %s %s line %ld"),
- bp->dbg_nr,
- bp->dbg_type == DBG_FUNC ? "func" : "file",
-! bp->dbg_type == DBG_FUNC ? bp->dbg_name : NameBuff,
- (long)bp->dbg_lnum);
- }
- }
-***************
-*** 3268,3274 ****
-
- for (i = 1; i <= script_items.ga_len && !got_int; ++i)
- if (SCRIPT_ITEM(i).sn_name != NULL)
-! smsg((char_u *)"%3d: %s", i, SCRIPT_ITEM(i).sn_name);
- }
-
- # if defined(BACKSLASH_IN_FILENAME) || defined(PROTO)
---- 3270,3280 ----
-
- for (i = 1; i <= script_items.ga_len && !got_int; ++i)
- if (SCRIPT_ITEM(i).sn_name != NULL)
-! {
-! home_replace(NULL, SCRIPT_ITEM(i).sn_name,
-! NameBuff, MAXPATHL, TRUE);
-! smsg((char_u *)"%3d: %s", i, NameBuff);
-! }
- }
-
- # if defined(BACKSLASH_IN_FILENAME) || defined(PROTO)
-*** ../vim-7.3.232/src/version.c 2011-06-26 04:01:37.000000000 +0200
---- src/version.c 2011-06-26 04:23:48.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 233,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-223. You set up a web-cam as your home's security system.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.234 b/source/ap/vim/patches/7.3.234
deleted file mode 100644
index a60df3db1..000000000
--- a/source/ap/vim/patches/7.3.234
+++ /dev/null
@@ -1,178 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.234
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.234
-Problem: With GTK menu may be popping down.
-Solution: Use event time instead of GDK_CURRENT_TIME. (Hong Xu)
-Files: src/gui.c, src/gui.h, src/gui_gtk.c, src/gui_gtk_x11.c
-
-
-*** ../vim-7.3.233/src/gui.c 2011-06-20 00:53:10.000000000 +0200
---- src/gui.c 2011-06-26 04:38:09.000000000 +0200
-***************
-*** 84,89 ****
---- 84,93 ----
- gui.starting = TRUE;
- full_screen = FALSE;
-
-+ #ifdef FEAT_GUI_GTK
-+ gui.event_time = GDK_CURRENT_TIME;
-+ #endif
-+
- #ifdef MAY_FORK
- if (!gui.dofork || vim_strchr(p_go, GO_FORG) || recursive)
- dofork = FALSE;
-*** ../vim-7.3.233/src/gui.h 2011-05-10 16:41:13.000000000 +0200
---- src/gui.h 2011-06-26 04:41:21.000000000 +0200
-***************
-*** 401,406 ****
---- 401,408 ----
- GtkAccelGroup *accel_group;
- GtkWidget *filedlg; /* file selection dialog */
- char_u *browse_fname; /* file name from filedlg */
-+
-+ guint32 event_time;
- #endif /* FEAT_GUI_GTK */
-
- #if defined(FEAT_GUI_TABLINE) \
-*** ../vim-7.3.233/src/gui_gtk.c 2011-01-17 20:08:03.000000000 +0100
---- src/gui_gtk.c 2011-06-26 04:38:09.000000000 +0200
-***************
-*** 1391,1397 ****
- gtk_menu_popup(GTK_MENU(menu->submenu_id),
- NULL, NULL,
- (GtkMenuPositionFunc)NULL, NULL,
-! 3U, (guint32)GDK_CURRENT_TIME);
- }
-
- /* Ugly global variable to pass "mouse_pos" flag from gui_make_popup() to
---- 1391,1397 ----
- gtk_menu_popup(GTK_MENU(menu->submenu_id),
- NULL, NULL,
- (GtkMenuPositionFunc)NULL, NULL,
-! 3U, gui.event_time);
- }
-
- /* Ugly global variable to pass "mouse_pos" flag from gui_make_popup() to
-*** ../vim-7.3.233/src/gui_gtk_x11.c 2011-06-19 01:14:22.000000000 +0200
---- src/gui_gtk_x11.c 2011-06-26 04:39:57.000000000 +0200
-***************
-*** 88,95 ****
- # include <X11/Sunkeysym.h>
- #endif
-
-- static guint32 clipboard_event_time = CurrentTime;
--
- /*
- * Easy-to-use macro for multihead support.
- */
---- 88,93 ----
-***************
-*** 934,940 ****
- guint state;
- char_u *s, *d;
-
-! clipboard_event_time = event->time;
- key_sym = event->keyval;
- state = event->state;
-
---- 932,938 ----
- guint state;
- char_u *s, *d;
-
-! gui.event_time = event->time;
- key_sym = event->keyval;
- state = event->state;
-
-***************
-*** 1129,1135 ****
- GdkEventKey *event,
- gpointer data UNUSED)
- {
-! clipboard_event_time = event->time;
- /*
- * GTK+ 2 input methods may do fancy stuff on key release events too.
- * With the default IM for instance, you can enter any UCS code point
---- 1127,1133 ----
- GdkEventKey *event,
- gpointer data UNUSED)
- {
-! gui.event_time = event->time;
- /*
- * GTK+ 2 input methods may do fancy stuff on key release events too.
- * With the default IM for instance, you can enter any UCS code point
-***************
-*** 1622,1628 ****
- int x, y;
- int_u vim_modifiers;
-
-! clipboard_event_time = event->time;
-
- /* Make sure we have focus now we've been selected */
- if (gtk_socket_id != 0 && !GTK_WIDGET_HAS_FOCUS(widget))
---- 1620,1626 ----
- int x, y;
- int_u vim_modifiers;
-
-! gui.event_time = event->time;
-
- /* Make sure we have focus now we've been selected */
- if (gtk_socket_id != 0 && !GTK_WIDGET_HAS_FOCUS(widget))
-***************
-*** 1733,1739 ****
- int x, y;
- int_u vim_modifiers;
-
-! clipboard_event_time = event->time;
-
- /* Remove any motion "machine gun" timers used for automatic further
- extension of allocation areas if outside of the applications window
---- 1731,1737 ----
- int x, y;
- int_u vim_modifiers;
-
-! gui.event_time = event->time;
-
- /* Remove any motion "machine gun" timers used for automatic further
- extension of allocation areas if outside of the applications window
-***************
-*** 5654,5660 ****
- int success;
-
- success = gtk_selection_owner_set(gui.drawarea, cbd->gtk_sel_atom,
-! clipboard_event_time);
- gui_mch_update();
- return (success) ? OK : FAIL;
- }
---- 5652,5658 ----
- int success;
-
- success = gtk_selection_owner_set(gui.drawarea, cbd->gtk_sel_atom,
-! gui.event_time);
- gui_mch_update();
- return (success) ? OK : FAIL;
- }
-*** ../vim-7.3.233/src/version.c 2011-06-26 04:25:24.000000000 +0200
---- src/version.c 2011-06-26 04:47:02.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 234,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-225. You sign up for free subscriptions for all the computer magazines
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.235 b/source/ap/vim/patches/7.3.235
deleted file mode 100644
index a852c852a..000000000
--- a/source/ap/vim/patches/7.3.235
+++ /dev/null
@@ -1,360 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.235
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.235
-Problem: ";" gets stuck on a "t" command, it's not useful.
-Solution: Add the ';' flag in 'cpo'. (Christian Brabandt)
-Files: runtime/doc/motion.txt, runtime/doc/options.txt, src/option.h,
- src/search.c src/testdir/test81.in, src/testdir/test81.ok,
- src/testdir/Makefile, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
-
-
-*** ../vim-7.3.234/runtime/doc/motion.txt 2010-08-15 21:57:17.000000000 +0200
---- runtime/doc/motion.txt 2011-06-26 05:15:58.000000000 +0200
-***************
-*** 269,279 ****
- {char} can be entered like with the |f| command.
-
- *;*
-! ; Repeat latest f, t, F or T [count] times.
-
- *,*
- , Repeat latest f, t, F or T in opposite direction
-! [count] times.
-
- ==============================================================================
- 3. Up-down motions *up-down-motions*
---- 269,279 ----
- {char} can be entered like with the |f| command.
-
- *;*
-! ; Repeat latest f, t, F or T [count] times. See |cpo-;|
-
- *,*
- , Repeat latest f, t, F or T in opposite direction
-! [count] times. See also |cpo-;|
-
- ==============================================================================
- 3. Up-down motions *up-down-motions*
-*** ../vim-7.3.234/runtime/doc/options.txt 2011-06-12 20:42:17.000000000 +0200
---- runtime/doc/options.txt 2011-06-26 05:15:58.000000000 +0200
-***************
-*** 2090,2095 ****
---- 2117,2128 ----
- *cpo->*
- > When appending to a register, put a line break before
- the appended text.
-+ *cpo-;*
-+ ; When using |,| or |;| to repeat the last |t| search
-+ and the cursor is right in front of the searched
-+ character, the cursor won't move. When not included,
-+ the cursor would skip over it and jump to the
-+ following occurence.
-
- POSIX flags. These are not included in the Vi default value, except
- when $VIM_POSIX was set on startup. |posix|
-*** ../vim-7.3.234/src/option.h 2011-06-12 22:13:37.000000000 +0200
---- src/option.h 2011-06-26 05:17:58.000000000 +0200
-***************
-*** 169,178 ****
- #define CPO_SUBPERCENT '/' /* % in :s string uses previous one */
- #define CPO_BACKSL '\\' /* \ is not special in [] */
- #define CPO_CHDIR '.' /* don't chdir if buffer is modified */
- /* default values for Vim, Vi and POSIX */
- #define CPO_VIM "aABceFs"
-! #define CPO_VI "aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>"
-! #define CPO_ALL "aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>#{|&/\\."
-
- /* characters for p_ww option: */
- #define WW_ALL "bshl<>[],~"
---- 169,180 ----
- #define CPO_SUBPERCENT '/' /* % in :s string uses previous one */
- #define CPO_BACKSL '\\' /* \ is not special in [] */
- #define CPO_CHDIR '.' /* don't chdir if buffer is modified */
-+ #define CPO_SCOLON ';' /* using "," and ";" will skip over char if
-+ * cursor would not move */
- /* default values for Vim, Vi and POSIX */
- #define CPO_VIM "aABceFs"
-! #define CPO_VI "aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>;"
-! #define CPO_ALL "aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>#{|&/\\.;"
-
- /* characters for p_ww option: */
- #define WW_ALL "bshl<>[],~"
-*** ../vim-7.3.234/src/search.c 2011-05-10 16:41:13.000000000 +0200
---- src/search.c 2011-06-26 05:20:45.000000000 +0200
-***************
-*** 1546,1551 ****
---- 1546,1552 ----
- int col;
- char_u *p;
- int len;
-+ int stop = TRUE;
- #ifdef FEAT_MBYTE
- static char_u bytes[MB_MAXBYTES];
- static int bytelen = 1; /* >1 for multi-byte char */
-***************
-*** 1580,1585 ****
---- 1581,1592 ----
- t_cmd = last_t_cmd;
- c = lastc;
- /* For multi-byte re-use last bytes[] and bytelen. */
-+
-+ /* Force a move of at least one char, so ";" and "," will move the
-+ * cursor, even if the cursor is right in front of char we are looking
-+ * at. */
-+ if (vim_strchr(p_cpo, CPO_SCOLON) == NULL && count == 1)
-+ stop = FALSE;
- }
-
- if (dir == BACKWARD)
-***************
-*** 1612,1625 ****
- }
- if (bytelen == 1)
- {
-! if (p[col] == c)
- break;
- }
- else
- {
-! if (vim_memcmp(p + col, bytes, bytelen) == 0)
- break;
- }
- }
- }
- else
---- 1619,1633 ----
- }
- if (bytelen == 1)
- {
-! if (p[col] == c && stop)
- break;
- }
- else
- {
-! if (vim_memcmp(p + col, bytes, bytelen) == 0 && stop)
- break;
- }
-+ stop = TRUE;
- }
- }
- else
-***************
-*** 1629,1636 ****
- {
- if ((col += dir) < 0 || col >= len)
- return FAIL;
-! if (p[col] == c)
- break;
- }
- }
- }
---- 1637,1645 ----
- {
- if ((col += dir) < 0 || col >= len)
- return FAIL;
-! if (p[col] == c && stop)
- break;
-+ stop = TRUE;
- }
- }
- }
-*** ../vim-7.3.234/src/testdir/test81.in 2011-06-26 05:34:33.000000000 +0200
---- src/testdir/test81.in 2011-06-26 05:30:31.000000000 +0200
-***************
-*** 0 ****
---- 1,18 ----
-+ Test for t movement command and 'cpo-;' setting
-+
-+ STARTTEST
-+ :set nocompatible
-+ :set cpo-=;
-+ /firstline/
-+ j0tt;D
-+ $Ty;D:set cpo+=;
-+ j0tt;;D
-+ $Ty;;D:?firstline?+1,$w! test.out
-+ :qa!
-+ ENDTEST
-+
-+ firstline
-+ aaa two three four
-+ bbb yee yoo four
-+ ccc two three four
-+ ddd yee yoo four
-*** ../vim-7.3.234/src/testdir/test81.ok 2011-06-26 05:34:33.000000000 +0200
---- src/testdir/test81.ok 2011-06-26 05:31:33.000000000 +0200
-***************
-*** 0 ****
---- 1,4 ----
-+ aaa two
-+ bbb y
-+ ccc
-+ ddd yee y
-*** ../vim-7.3.234/src/testdir/Makefile 2011-06-19 04:31:54.000000000 +0200
---- src/testdir/Makefile 2011-06-26 05:09:56.000000000 +0200
-***************
-*** 26,32 ****
- test64.out test65.out test66.out test67.out test68.out \
- test69.out test70.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out
-
- SCRIPTS_GUI = test16.out
-
---- 26,32 ----
- test64.out test65.out test66.out test67.out test68.out \
- test69.out test70.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out
-
- SCRIPTS_GUI = test16.out
-
-*** ../vim-7.3.234/src/testdir/Make_amiga.mak 2011-06-19 04:31:54.000000000 +0200
---- src/testdir/Make_amiga.mak 2011-06-26 05:09:07.000000000 +0200
-***************
-*** 28,34 ****
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
-! test76.out test77.out test78.out test79.out test80.out
-
- .SUFFIXES: .in .out
-
---- 28,35 ----
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
-! test76.out test77.out test78.out test79.out test80.out \
-! test81.out
-
- .SUFFIXES: .in .out
-
-***************
-*** 128,130 ****
---- 129,132 ----
- test78.out: test78.in
- test79.out: test79.in
- test80.out: test80.in
-+ test81.out: test81.in
-*** ../vim-7.3.234/src/testdir/Make_dos.mak 2011-06-19 04:31:54.000000000 +0200
---- src/testdir/Make_dos.mak 2011-06-26 05:09:16.000000000 +0200
-***************
-*** 29,35 ****
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 29,35 ----
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.234/src/testdir/Make_ming.mak 2011-06-19 04:31:54.000000000 +0200
---- src/testdir/Make_ming.mak 2011-06-26 05:09:24.000000000 +0200
-***************
-*** 49,55 ****
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 49,55 ----
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.234/src/testdir/Make_os2.mak 2011-06-19 04:31:54.000000000 +0200
---- src/testdir/Make_os2.mak 2011-06-26 05:09:33.000000000 +0200
-***************
-*** 28,34 ****
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
-! test76.out test77.out test78.out test79.out test80.out
-
- .SUFFIXES: .in .out
-
---- 28,35 ----
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
-! test76.out test77.out test78.out test79.out test80.out \
-! test81.out
-
- .SUFFIXES: .in .out
-
-*** ../vim-7.3.234/src/testdir/Make_vms.mms 2011-06-19 04:31:54.000000000 +0200
---- src/testdir/Make_vms.mms 2011-06-26 05:09:42.000000000 +0200
-***************
-*** 4,10 ****
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
-! # Last change: 2011 Jun 19
- #
- # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
- # Edit the lines in the Configuration section below to select.
---- 4,10 ----
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
-! # Last change: 2011 Jun 26
- #
- # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
- # Edit the lines in the Configuration section below to select.
-***************
-*** 75,81 ****
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out \
- test71.out test72.out test74.out test75.out test76.out \
-! test77.out test78.out test79.out test80.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
---- 75,81 ----
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out \
- test71.out test72.out test74.out test75.out test76.out \
-! test77.out test78.out test79.out test80.out test81.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
-*** ../vim-7.3.234/src/version.c 2011-06-26 04:48:56.000000000 +0200
---- src/version.c 2011-06-26 05:33:53.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 235,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-226. You sit down at the computer right after dinner and your spouse
- says "See you in the morning."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.236 b/source/ap/vim/patches/7.3.236
deleted file mode 100644
index 3be69e302..000000000
--- a/source/ap/vim/patches/7.3.236
+++ /dev/null
@@ -1,87 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.236
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.236 (after 7.3.232)
-Problem: Python 3 doesn't compile without +multi_byte
-Solution: Use "latin1" when MULTI_BYTE is not defined. (lilydjwg)
-Files: src/if_python3.c
-
-
-*** ../vim-7.3.235/src/if_python3.c 2011-06-19 00:27:46.000000000 +0200
---- src/if_python3.c 2011-06-26 19:10:57.000000000 +0200
-***************
-*** 70,76 ****
-
- #define PyInt Py_ssize_t
- #define PyString_Check(obj) PyUnicode_Check(obj)
-! #define PyString_AsBytes(obj) PyUnicode_AsEncodedString(obj, (char *)p_enc, NULL);
- #define PyString_FreeBytes(obj) Py_XDECREF(bytes)
- #define PyString_AsString(obj) PyBytes_AsString(obj)
- #define PyString_Size(obj) PyBytes_GET_SIZE(bytes)
---- 70,76 ----
-
- #define PyInt Py_ssize_t
- #define PyString_Check(obj) PyUnicode_Check(obj)
-! #define PyString_AsBytes(obj) PyUnicode_AsEncodedString(obj, (char *)ENC_OPT, NULL);
- #define PyString_FreeBytes(obj) Py_XDECREF(bytes)
- #define PyString_AsString(obj) PyBytes_AsString(obj)
- #define PyString_Size(obj) PyBytes_GET_SIZE(bytes)
-***************
-*** 661,667 ****
-
- /* PyRun_SimpleString expects a UTF-8 string. Wrong encoding may cause
- * SyntaxError (unicode error). */
-! cmdstr = PyUnicode_Decode(cmd, strlen(cmd), (char *)p_enc, NULL);
- cmdbytes = PyUnicode_AsEncodedString(cmdstr, "utf-8", NULL);
- Py_XDECREF(cmdstr);
- PyRun_SimpleString(PyBytes_AsString(cmdbytes));
---- 661,667 ----
-
- /* PyRun_SimpleString expects a UTF-8 string. Wrong encoding may cause
- * SyntaxError (unicode error). */
-! cmdstr = PyUnicode_Decode(cmd, strlen(cmd), (char *)ENC_OPT, NULL);
- cmdbytes = PyUnicode_AsEncodedString(cmdstr, "utf-8", NULL);
- Py_XDECREF(cmdstr);
- PyRun_SimpleString(PyBytes_AsString(cmdbytes));
-***************
-*** 1463,1469 ****
- }
- *p = '\0';
-
-! result = PyUnicode_Decode(tmp, len, (char *)p_enc, NULL);
-
- vim_free(tmp);
- return result;
---- 1463,1469 ----
- }
- *p = '\0';
-
-! result = PyUnicode_Decode(tmp, len, (char *)ENC_OPT, NULL);
-
- vim_free(tmp);
- return result;
-*** ../vim-7.3.235/src/version.c 2011-06-26 05:36:07.000000000 +0200
---- src/version.c 2011-06-26 19:12:12.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 236,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-228. You spend Saturday night making the counter on your home page
- pass that 2000 mark.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.237 b/source/ap/vim/patches/7.3.237
deleted file mode 100644
index ead50ca6a..000000000
--- a/source/ap/vim/patches/7.3.237
+++ /dev/null
@@ -1,222 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.237
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.237
-Problem: "filetype" completion doesn't work on Windows. (Yue Wu)
-Solution: Don't use a glob pattern for the directories, use a list of
- directories. (Dominique Pelle)
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.236/src/ex_getln.c 2011-05-19 18:26:34.000000000 +0200
---- src/ex_getln.c 2011-06-26 19:36:36.000000000 +0200
-***************
-*** 110,116 ****
- static int expand_showtail __ARGS((expand_T *xp));
- #ifdef FEAT_CMDL_COMPL
- static int expand_shellcmd __ARGS((char_u *filepat, int *num_file, char_u ***file, int flagsarg));
-! static int ExpandRTDir __ARGS((char_u *pat, int *num_file, char_u ***file, char *dirname));
- # if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL)
- static int ExpandUserDefined __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file));
- static int ExpandUserList __ARGS((expand_T *xp, int *num_file, char_u ***file));
---- 110,116 ----
- static int expand_showtail __ARGS((expand_T *xp));
- #ifdef FEAT_CMDL_COMPL
- static int expand_shellcmd __ARGS((char_u *filepat, int *num_file, char_u ***file, int flagsarg));
-! static int ExpandRTDir __ARGS((char_u *pat, int *num_file, char_u ***file, char *dirname[]));
- # if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL)
- static int ExpandUserDefined __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file));
- static int ExpandUserList __ARGS((expand_T *xp, int *num_file, char_u ***file));
-***************
-*** 4536,4548 ****
- || xp->xp_context == EXPAND_TAGS_LISTFILES)
- return expand_tags(xp->xp_context == EXPAND_TAGS, pat, num_file, file);
- if (xp->xp_context == EXPAND_COLORS)
-! return ExpandRTDir(pat, num_file, file, "colors");
- if (xp->xp_context == EXPAND_COMPILER)
-! return ExpandRTDir(pat, num_file, file, "compiler");
- if (xp->xp_context == EXPAND_OWNSYNTAX)
-! return ExpandRTDir(pat, num_file, file, "syntax");
- if (xp->xp_context == EXPAND_FILETYPE)
-! return ExpandRTDir(pat, num_file, file, "{syntax,indent,ftplugin}");
- # if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL)
- if (xp->xp_context == EXPAND_USER_LIST)
- return ExpandUserList(xp, num_file, file);
---- 4536,4560 ----
- || xp->xp_context == EXPAND_TAGS_LISTFILES)
- return expand_tags(xp->xp_context == EXPAND_TAGS, pat, num_file, file);
- if (xp->xp_context == EXPAND_COLORS)
-! {
-! char *directories[] = {"colors", NULL};
-! return ExpandRTDir(pat, num_file, file, directories);
-! }
- if (xp->xp_context == EXPAND_COMPILER)
-! {
-! char *directories[] = {"colors", NULL};
-! return ExpandRTDir(pat, num_file, file, directories);
-! }
- if (xp->xp_context == EXPAND_OWNSYNTAX)
-! {
-! char *directories[] = {"syntax", NULL};
-! return ExpandRTDir(pat, num_file, file, directories);
-! }
- if (xp->xp_context == EXPAND_FILETYPE)
-! {
-! char *directories[] = {"syntax", "indent", "ftplugin", NULL};
-! return ExpandRTDir(pat, num_file, file, directories);
-! }
- # if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL)
- if (xp->xp_context == EXPAND_USER_LIST)
- return ExpandUserList(xp, num_file, file);
-***************
-*** 4995,5051 ****
- /*
- * Expand color scheme, compiler or filetype names:
- * 'runtimepath'/{dirnames}/{pat}.vim
-! * dirnames may contain one directory (ex: "colorscheme") or can be a glob
-! * expression matching multiple directories (ex: "{syntax,ftplugin,indent}").
- */
- static int
- ExpandRTDir(pat, num_file, file, dirnames)
- char_u *pat;
- int *num_file;
- char_u ***file;
-! char *dirnames;
- {
-! char_u *all;
- char_u *s;
- char_u *e;
- garray_T ga;
-
- *num_file = 0;
- *file = NULL;
-! s = alloc((unsigned)(STRLEN(pat) + STRLEN(dirnames) + 7));
-! if (s == NULL)
-! return FAIL;
-! sprintf((char *)s, "%s/%s*.vim", dirnames, pat);
-! all = globpath(p_rtp, s, 0);
-! vim_free(s);
-! if (all == NULL)
-! return FAIL;
-
-! ga_init2(&ga, (int)sizeof(char *), 3);
-! for (s = all; *s != NUL; s = e)
- {
-! e = vim_strchr(s, '\n');
-! if (e == NULL)
-! e = s + STRLEN(s);
-! if (ga_grow(&ga, 1) == FAIL)
-! break;
-! if (e - 4 > s && STRNICMP(e - 4, ".vim", 4) == 0)
- {
-! for (s = e - 4; s > all; mb_ptr_back(all, s))
-! if (*s == '\n' || vim_ispathsep(*s))
-! break;
-! ++s;
-! ((char_u **)ga.ga_data)[ga.ga_len] =
- vim_strnsave(s, (int)(e - s - 4));
-! ++ga.ga_len;
- }
-! if (*e != NUL)
-! ++e;
- }
-! vim_free(all);
-
- /* Sort and remove duplicates which can happen when specifying multiple
-! * directories in dirnames such as "{syntax,ftplugin,indent}". */
- remove_duplicates(&ga);
-
- *file = ga.ga_data;
---- 5007,5074 ----
- /*
- * Expand color scheme, compiler or filetype names:
- * 'runtimepath'/{dirnames}/{pat}.vim
-! * "dirnames" is an array with one or more directory names.
- */
- static int
- ExpandRTDir(pat, num_file, file, dirnames)
- char_u *pat;
- int *num_file;
- char_u ***file;
-! char *dirnames[];
- {
-! char_u *matches;
- char_u *s;
- char_u *e;
- garray_T ga;
-+ int i;
-+ int pat_len;
-
- *num_file = 0;
- *file = NULL;
-! pat_len = STRLEN(pat);
-! ga_init2(&ga, (int)sizeof(char *), 10);
-
-! for (i = 0; dirnames[i] != NULL; ++i)
- {
-! s = alloc((unsigned)(STRLEN(dirnames[i]) + pat_len + 7));
-! if (s == NULL)
- {
-! ga_clear_strings(&ga);
-! return FAIL;
-! }
-! sprintf((char *)s, "%s/%s*.vim", dirnames[i], pat);
-! matches = globpath(p_rtp, s, 0);
-! vim_free(s);
-! if (matches == NULL)
-! continue;
-!
-! for (s = matches; *s != NUL; s = e)
-! {
-! e = vim_strchr(s, '\n');
-! if (e == NULL)
-! e = s + STRLEN(s);
-! if (ga_grow(&ga, 1) == FAIL)
-! break;
-! if (e - 4 > s && STRNICMP(e - 4, ".vim", 4) == 0)
-! {
-! for (s = e - 4; s > matches; mb_ptr_back(matches, s))
-! if (*s == '\n' || vim_ispathsep(*s))
-! break;
-! ++s;
-! ((char_u **)ga.ga_data)[ga.ga_len] =
- vim_strnsave(s, (int)(e - s - 4));
-! ++ga.ga_len;
-! }
-! if (*e != NUL)
-! ++e;
- }
-! vim_free(matches);
- }
-! if (ga.ga_len == 0)
-! return FAIL;
-
- /* Sort and remove duplicates which can happen when specifying multiple
-! * directories in dirnames. */
- remove_duplicates(&ga);
-
- *file = ga.ga_data;
-*** ../vim-7.3.236/src/version.c 2011-06-26 19:13:33.000000000 +0200
---- src/version.c 2011-06-26 19:39:39.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 237,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-230. You spend your Friday nights typing away at your keyboard
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.238 b/source/ap/vim/patches/7.3.238
deleted file mode 100644
index 289b1a432..000000000
--- a/source/ap/vim/patches/7.3.238
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.238
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.238
-Problem: Compiler warning for conversion.
-Solution: Add type cast. (Mike Williams)
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.237/src/ex_getln.c 2011-06-26 19:40:14.000000000 +0200
---- src/ex_getln.c 2011-07-04 14:23:27.000000000 +0200
-***************
-*** 5025,5031 ****
-
- *num_file = 0;
- *file = NULL;
-! pat_len = STRLEN(pat);
- ga_init2(&ga, (int)sizeof(char *), 10);
-
- for (i = 0; dirnames[i] != NULL; ++i)
---- 5025,5031 ----
-
- *num_file = 0;
- *file = NULL;
-! pat_len = (int)STRLEN(pat);
- ga_init2(&ga, (int)sizeof(char *), 10);
-
- for (i = 0; dirnames[i] != NULL; ++i)
-*** ../vim-7.3.237/src/version.c 2011-06-26 19:40:14.000000000 +0200
---- src/version.c 2011-07-07 15:04:00.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 238,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-255. You work for a newspaper and your editor asks you to write an
- article about Internet addiction...in the "first person."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.239 b/source/ap/vim/patches/7.3.239
deleted file mode 100644
index 1c03da3f6..000000000
--- a/source/ap/vim/patches/7.3.239
+++ /dev/null
@@ -1,321 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.239
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.239
-Problem: Python corrects the cursor column without taking 'virtualedit'
- into account. (lilydjwg)
-Solution: Call check_cursor_col_win().
-Files: src/if_py_both.h, src/mbyte.c, src/misc2.c, src/normal.c,
- src/proto/mbyte.pro, src/proto/misc2.pro
-
-
-*** ../vim-7.3.238/src/if_py_both.h 2011-06-26 04:01:37.000000000 +0200
---- src/if_py_both.h 2011-07-07 14:28:19.000000000 +0200
-***************
-*** 534,540 ****
- {
- long lnum;
- long col;
-- long len;
-
- if (!PyArg_Parse(val, "(ll)", &lnum, &col))
- return -1;
---- 534,539 ----
-***************
-*** 549,566 ****
- if (VimErrorCheck())
- return -1;
-
-- /* When column is out of range silently correct it. */
-- len = (long)STRLEN(ml_get_buf(this->win->w_buffer, lnum, FALSE));
-- if (col > len)
-- col = len;
--
- this->win->w_cursor.lnum = lnum;
- this->win->w_cursor.col = col;
- #ifdef FEAT_VIRTUALEDIT
- this->win->w_cursor.coladd = 0;
- #endif
-! update_screen(VALID);
-
- return 0;
- }
- else if (strcmp(name, "height") == 0)
---- 548,562 ----
- if (VimErrorCheck())
- return -1;
-
- this->win->w_cursor.lnum = lnum;
- this->win->w_cursor.col = col;
- #ifdef FEAT_VIRTUALEDIT
- this->win->w_cursor.coladd = 0;
- #endif
-! /* When column is out of range silently correct it. */
-! check_cursor_col_win(this->win);
-
-+ update_screen(VALID);
- return 0;
- }
- else if (strcmp(name, "height") == 0)
-*** ../vim-7.3.238/src/mbyte.c 2011-04-11 14:29:13.000000000 +0200
---- src/mbyte.c 2011-07-07 14:27:07.000000000 +0200
-***************
-*** 3563,3569 ****
- void
- mb_adjust_cursor()
- {
-! mb_adjustpos(&curwin->w_cursor);
- }
-
- /*
---- 3563,3569 ----
- void
- mb_adjust_cursor()
- {
-! mb_adjustpos(curbuf, &curwin->w_cursor);
- }
-
- /*
-***************
-*** 3571,3577 ****
- * If it points to a tail byte it's moved backwards to the head byte.
- */
- void
-! mb_adjustpos(lp)
- pos_T *lp;
- {
- char_u *p;
---- 3571,3578 ----
- * If it points to a tail byte it's moved backwards to the head byte.
- */
- void
-! mb_adjustpos(buf, lp)
-! buf_T *buf;
- pos_T *lp;
- {
- char_u *p;
-***************
-*** 3582,3588 ****
- #endif
- )
- {
-! p = ml_get(lp->lnum);
- lp->col -= (*mb_head_off)(p, p + lp->col);
- #ifdef FEAT_VIRTUALEDIT
- /* Reset "coladd" when the cursor would be on the right half of a
---- 3583,3589 ----
- #endif
- )
- {
-! p = ml_get_buf(buf, lp->lnum, FALSE);
- lp->col -= (*mb_head_off)(p, p + lp->col);
- #ifdef FEAT_VIRTUALEDIT
- /* Reset "coladd" when the cursor would be on the right half of a
-*** ../vim-7.3.238/src/misc2.c 2011-04-11 16:56:29.000000000 +0200
---- src/misc2.c 2011-07-07 14:27:50.000000000 +0200
-***************
-*** 333,339 ****
- #ifdef FEAT_MBYTE
- /* prevent from moving onto a trail byte */
- if (has_mbyte)
-! mb_adjustpos(pos);
- #endif
-
- if (col < wcol)
---- 333,339 ----
- #ifdef FEAT_MBYTE
- /* prevent from moving onto a trail byte */
- if (has_mbyte)
-! mb_adjustpos(curbuf, pos);
- #endif
-
- if (col < wcol)
-***************
-*** 544,559 ****
- void
- check_cursor_col()
- {
- colnr_T len;
- #ifdef FEAT_VIRTUALEDIT
-! colnr_T oldcol = curwin->w_cursor.col;
-! colnr_T oldcoladd = curwin->w_cursor.col + curwin->w_cursor.coladd;
- #endif
-
-! len = (colnr_T)STRLEN(ml_get_curline());
- if (len == 0)
-! curwin->w_cursor.col = 0;
-! else if (curwin->w_cursor.col >= len)
- {
- /* Allow cursor past end-of-line when:
- * - in Insert mode or restarting Insert mode
---- 544,569 ----
- void
- check_cursor_col()
- {
-+ check_cursor_col_win(curwin);
-+ }
-+
-+ /*
-+ * Make sure win->w_cursor.col is valid.
-+ */
-+ void
-+ check_cursor_col_win(win)
-+ win_T *win;
-+ {
- colnr_T len;
- #ifdef FEAT_VIRTUALEDIT
-! colnr_T oldcol = win->w_cursor.col;
-! colnr_T oldcoladd = win->w_cursor.col + win->w_cursor.coladd;
- #endif
-
-! len = (colnr_T)STRLEN(ml_get_buf(win->w_buffer, win->w_cursor.lnum, FALSE));
- if (len == 0)
-! win->w_cursor.col = 0;
-! else if (win->w_cursor.col >= len)
- {
- /* Allow cursor past end-of-line when:
- * - in Insert mode or restarting Insert mode
-***************
-*** 567,599 ****
- || (ve_flags & VE_ONEMORE)
- #endif
- || virtual_active())
-! curwin->w_cursor.col = len;
- else
- {
-! curwin->w_cursor.col = len - 1;
- #ifdef FEAT_MBYTE
-! /* prevent cursor from moving on the trail byte */
- if (has_mbyte)
-! mb_adjust_cursor();
- #endif
- }
- }
-! else if (curwin->w_cursor.col < 0)
-! curwin->w_cursor.col = 0;
-
- #ifdef FEAT_VIRTUALEDIT
- /* If virtual editing is on, we can leave the cursor on the old position,
- * only we must set it to virtual. But don't do it when at the end of the
- * line. */
- if (oldcol == MAXCOL)
-! curwin->w_cursor.coladd = 0;
- else if (ve_flags == VE_ALL)
- {
-! if (oldcoladd > curwin->w_cursor.col)
-! curwin->w_cursor.coladd = oldcoladd - curwin->w_cursor.col;
- else
- /* avoid weird number when there is a miscalculation or overflow */
-! curwin->w_cursor.coladd = 0;
- }
- #endif
- }
---- 577,609 ----
- || (ve_flags & VE_ONEMORE)
- #endif
- || virtual_active())
-! win->w_cursor.col = len;
- else
- {
-! win->w_cursor.col = len - 1;
- #ifdef FEAT_MBYTE
-! /* Move the cursor to the head byte. */
- if (has_mbyte)
-! mb_adjustpos(win->w_buffer, &win->w_cursor);
- #endif
- }
- }
-! else if (win->w_cursor.col < 0)
-! win->w_cursor.col = 0;
-
- #ifdef FEAT_VIRTUALEDIT
- /* If virtual editing is on, we can leave the cursor on the old position,
- * only we must set it to virtual. But don't do it when at the end of the
- * line. */
- if (oldcol == MAXCOL)
-! win->w_cursor.coladd = 0;
- else if (ve_flags == VE_ALL)
- {
-! if (oldcoladd > win->w_cursor.col)
-! win->w_cursor.coladd = oldcoladd - win->w_cursor.col;
- else
- /* avoid weird number when there is a miscalculation or overflow */
-! win->w_cursor.coladd = 0;
- }
- #endif
- }
-*** ../vim-7.3.238/src/normal.c 2011-06-20 00:45:55.000000000 +0200
---- src/normal.c 2011-07-07 14:27:57.000000000 +0200
-***************
-*** 8774,8780 ****
- {
- --pp->col;
- #ifdef FEAT_MBYTE
-! mb_adjustpos(pp);
- #endif
- }
- else if (pp->lnum > 1)
---- 8774,8780 ----
- {
- --pp->col;
- #ifdef FEAT_MBYTE
-! mb_adjustpos(curbuf, pp);
- #endif
- }
- else if (pp->lnum > 1)
-*** ../vim-7.3.238/src/proto/mbyte.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/mbyte.pro 2011-07-07 14:27:09.000000000 +0200
-***************
-*** 56,62 ****
- int utf_valid_string __ARGS((char_u *s, char_u *end));
- int dbcs_screen_tail_off __ARGS((char_u *base, char_u *p));
- void mb_adjust_cursor __ARGS((void));
-! void mb_adjustpos __ARGS((pos_T *lp));
- char_u *mb_prevptr __ARGS((char_u *line, char_u *p));
- int mb_charlen __ARGS((char_u *str));
- int mb_charlen_len __ARGS((char_u *str, int len));
---- 56,62 ----
- int utf_valid_string __ARGS((char_u *s, char_u *end));
- int dbcs_screen_tail_off __ARGS((char_u *base, char_u *p));
- void mb_adjust_cursor __ARGS((void));
-! void mb_adjustpos __ARGS((buf_T *buf, pos_T *lp));
- char_u *mb_prevptr __ARGS((char_u *line, char_u *p));
- int mb_charlen __ARGS((char_u *str));
- int mb_charlen_len __ARGS((char_u *str, int len));
-*** ../vim-7.3.238/src/proto/misc2.pro 2011-04-11 16:56:29.000000000 +0200
---- src/proto/misc2.pro 2011-07-07 14:26:57.000000000 +0200
-***************
-*** 14,19 ****
---- 14,20 ----
- linenr_T get_cursor_rel_lnum __ARGS((win_T *wp, linenr_T lnum));
- void check_cursor_lnum __ARGS((void));
- void check_cursor_col __ARGS((void));
-+ void check_cursor_col_win __ARGS((win_T *win));
- void check_cursor __ARGS((void));
- void adjust_cursor_col __ARGS((void));
- int leftcol_changed __ARGS((void));
-*** ../vim-7.3.238/src/version.c 2011-07-07 15:04:38.000000000 +0200
---- src/version.c 2011-07-07 15:05:49.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 239,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-256. You are able to write down over 250 symptoms of being an internet
- addict, even though they only asked for 101.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.240 b/source/ap/vim/patches/7.3.240
deleted file mode 100644
index 7048ac1f3..000000000
--- a/source/ap/vim/patches/7.3.240
+++ /dev/null
@@ -1,795 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.240
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Note: I haven't verified this works or even compiles. Please send me a
-patch if you see a problem and can fix it.
-
-Patch 7.3.240
-Problem: External commands can't use pipes on MS-Windows.
-Solution: Implement pipes and use them when 'shelltemp' isn't set. (Vincent
- Berthoux)
-Files: src/eval.c, src/ex_cmds.c, src/misc2.c, src/os_unix.c,
- src/os_win32.c, src/proto/misc2.pro, src/ui.c
-
-
-*** ../vim-7.3.239/src/eval.c 2011-06-19 02:55:32.000000000 +0200
---- src/eval.c 2011-07-07 15:44:56.000000000 +0200
-***************
-*** 11931,11937 ****
- #ifdef FEAT_SEARCHPATH
- "file_in_path",
- #endif
-! #if defined(UNIX) && !defined(USE_SYSTEM)
- "filterpipe",
- #endif
- #ifdef FEAT_FIND_ID
---- 11931,11937 ----
- #ifdef FEAT_SEARCHPATH
- "file_in_path",
- #endif
-! #if (defined(UNIX) && !defined(USE_SYSTEM)) || defined(WIN3264)
- "filterpipe",
- #endif
- #ifdef FEAT_FIND_ID
-*** ../vim-7.3.239/src/ex_cmds.c 2011-06-12 22:03:15.000000000 +0200
---- src/ex_cmds.c 2011-07-07 15:44:56.000000000 +0200
-***************
-*** 1107,1113 ****
- if (do_out)
- shell_flags |= SHELL_DOOUT;
-
-! #if !defined(USE_SYSTEM) && defined(UNIX)
- if (!do_in && do_out && !p_stmp)
- {
- /* Use a pipe to fetch stdout of the command, do not use a temp file. */
---- 1107,1113 ----
- if (do_out)
- shell_flags |= SHELL_DOOUT;
-
-! #if (!defined(USE_SYSTEM) && defined(UNIX)) || defined(WIN3264)
- if (!do_in && do_out && !p_stmp)
- {
- /* Use a pipe to fetch stdout of the command, do not use a temp file. */
-*** ../vim-7.3.239/src/misc2.c 2011-07-07 15:08:53.000000000 +0200
---- src/misc2.c 2011-07-07 15:55:42.000000000 +0200
-***************
-*** 2146,2151 ****
---- 2146,2170 ----
- }
- }
-
-+ #if (defined(UNIX) && !defined(USE_SYSTEM)) || defined(WIN3264)
-+ /*
-+ * Append the text in "gap" below the cursor line and clear "gap".
-+ */
-+ void
-+ append_ga_line(gap)
-+ garray_T *gap;
-+ {
-+ /* Remove trailing CR. */
-+ if (gap->ga_len > 0
-+ && !curbuf->b_p_bin
-+ && ((char_u *)gap->ga_data)[gap->ga_len - 1] == CAR)
-+ --gap->ga_len;
-+ ga_append(gap, NUL);
-+ ml_append(curwin->w_cursor.lnum++, gap->ga_data, 0, FALSE);
-+ gap->ga_len = 0;
-+ }
-+ #endif
-+
- /************************************************************************
- * functions that use lookup tables for various things, generally to do with
- * special key codes.
-*** ../vim-7.3.239/src/os_unix.c 2011-04-11 16:56:29.000000000 +0200
---- src/os_unix.c 2011-07-07 15:54:58.000000000 +0200
-***************
-*** 3660,3686 ****
- /* Nothing to do. */
- }
-
-- #ifndef USE_SYSTEM
-- static void append_ga_line __ARGS((garray_T *gap));
--
-- /*
-- * Append the text in "gap" below the cursor line and clear "gap".
-- */
-- static void
-- append_ga_line(gap)
-- garray_T *gap;
-- {
-- /* Remove trailing CR. */
-- if (gap->ga_len > 0
-- && !curbuf->b_p_bin
-- && ((char_u *)gap->ga_data)[gap->ga_len - 1] == CAR)
-- --gap->ga_len;
-- ga_append(gap, NUL);
-- ml_append(curwin->w_cursor.lnum++, gap->ga_data, 0, FALSE);
-- gap->ga_len = 0;
-- }
-- #endif
--
- int
- mch_call_shell(cmd, options)
- char_u *cmd;
---- 3660,3665 ----
-*** ../vim-7.3.239/src/os_win32.c 2011-05-25 17:06:16.000000000 +0200
---- src/os_win32.c 2011-07-07 16:08:30.000000000 +0200
-***************
-*** 417,422 ****
---- 417,427 ----
- static PGNSECINFO pGetNamedSecurityInfo;
- #endif
-
-+ typedef BOOL (WINAPI *PSETHANDLEINFORMATION)(HANDLE, DWORD, DWORD);
-+
-+ static BOOL allowPiping = FALSE;
-+ static PSETHANDLEINFORMATION pSetHandleInformation;
-+
- /*
- * Set g_PlatformId to VER_PLATFORM_WIN32_NT (NT) or
- * VER_PLATFORM_WIN32_WINDOWS (Win95).
-***************
-*** 467,472 ****
---- 472,489 ----
- }
- }
- #endif
-+ /*
-+ * If we are on windows NT, try to load the pipe functions, only
-+ * available from Win2K.
-+ */
-+ if (g_PlatformId == VER_PLATFORM_WIN32_NT)
-+ {
-+ HANDLE kernel32 = GetModuleHandle("kernel32");
-+ pSetHandleInformation = (PSETHANDLEINFORMATION)GetProcAddress(
-+ kernel32, "SetHandleInformation");
-+
-+ allowPiping = pSetHandleInformation != NULL;
-+ }
- done = TRUE;
- }
- }
-***************
-*** 1635,1641 ****
- }
-
- #if ((defined(__MINGW32__) || defined (__CYGWIN32__)) && \
-! __MSVCRT_VERSION__ >= 0x800) || (defined(_MSC_VER) && _MSC_VER >= 1400)
- /*
- * Bad parameter handler.
- *
---- 1652,1658 ----
- }
-
- #if ((defined(__MINGW32__) || defined (__CYGWIN32__)) && \
-! __MSVCRT_VERSION__ >= 0x800) || (defined(_MSC_VER) && _MSC_VER >= 1400)
- /*
- * Bad parameter handler.
- *
-***************
-*** 3210,3216 ****
- * 4. Prompt the user to press a key to close the console window
- */
- static int
-! mch_system(char *cmd, int options)
- {
- STARTUPINFO si;
- PROCESS_INFORMATION pi;
---- 3227,3233 ----
- * 4. Prompt the user to press a key to close the console window
- */
- static int
-! mch_system_classic(char *cmd, int options)
- {
- STARTUPINFO si;
- PROCESS_INFORMATION pi;
-***************
-*** 3315,3320 ****
---- 3332,3829 ----
-
- return ret;
- }
-+
-+ /*
-+ * Thread launched by the gui to send the current buffer data to the
-+ * process. This way avoid to hang up vim totally if the children
-+ * process take a long time to process the lines.
-+ */
-+ static DWORD WINAPI
-+ sub_process_writer(LPVOID param)
-+ {
-+ HANDLE g_hChildStd_IN_Wr = param;
-+ linenr_T lnum = curbuf->b_op_start.lnum;
-+ DWORD len = 0;
-+ DWORD l;
-+ char_u *lp = ml_get(lnum);
-+ char_u *s;
-+ int written = 0;
-+
-+ for (;;)
-+ {
-+ l = (DWORD)STRLEN(lp + written);
-+ if (l == 0)
-+ len = 0;
-+ else if (lp[written] == NL)
-+ {
-+ /* NL -> NUL translation */
-+ WriteFile(g_hChildStd_IN_Wr, "", 1, &len, NULL);
-+ }
-+ else
-+ {
-+ s = vim_strchr(lp + written, NL);
-+ WriteFile(g_hChildStd_IN_Wr, (char *)lp + written,
-+ s == NULL ? l : (DWORD)(s - (lp + written)),
-+ &len, NULL);
-+ }
-+ if (len == (int)l)
-+ {
-+ /* Finished a line, add a NL, unless this line should not have
-+ * one. */
-+ if (lnum != curbuf->b_op_end.lnum
-+ || !curbuf->b_p_bin
-+ || (lnum != curbuf->b_no_eol_lnum
-+ && (lnum != curbuf->b_ml.ml_line_count
-+ || curbuf->b_p_eol)))
-+ {
-+ WriteFile(g_hChildStd_IN_Wr, "\n", 1, &ignored, NULL);
-+ }
-+
-+ ++lnum;
-+ if (lnum > curbuf->b_op_end.lnum)
-+ break;
-+
-+ lp = ml_get(lnum);
-+ written = 0;
-+ }
-+ else if (len > 0)
-+ written += len;
-+ }
-+
-+ /* finished all the lines, close pipe */
-+ CloseHandle(g_hChildStd_IN_Wr);
-+ ExitThread(0);
-+ }
-+
-+
-+ # define BUFLEN 100 /* length for buffer, stolen from unix version */
-+
-+ /*
-+ * This function read from the children's stdout and write the
-+ * data on screen or in the buffer accordingly.
-+ */
-+ static void
-+ dump_pipe(int options,
-+ HANDLE g_hChildStd_OUT_Rd,
-+ garray_T *ga,
-+ char_u buffer[],
-+ DWORD *buffer_off)
-+ {
-+ DWORD availableBytes = 0;
-+ DWORD i;
-+ int c;
-+ char_u *p;
-+ int ret;
-+ DWORD len;
-+ DWORD toRead;
-+ int repeatCount;
-+
-+ /* we query the pipe to see if there is any data to read
-+ * to avoid to perform a blocking read */
-+ ret = PeekNamedPipe(g_hChildStd_OUT_Rd, /* pipe to query */
-+ NULL, /* optional buffer */
-+ 0, /* buffe size */
-+ NULL, /* number of read bytes */
-+ &availableBytes, /* available bytes total */
-+ NULL); /* byteLeft */
-+
-+ repeatCount = 0;
-+ /* We got real data in the pipe, read it */
-+ while (ret != 0 && availableBytes > 0 && availableBytes > 0)
-+ {
-+ repeatCount++;
-+ toRead =
-+ # ifdef FEAT_MBYTE
-+ (DWORD)(BUFLEN - *buffer_off);
-+ # else
-+ (DWORD)BUFLEN;
-+ # endif
-+ toRead = availableBytes < toRead ? availableBytes : toRead;
-+ ReadFile(g_hChildStd_OUT_Rd, buffer
-+ # ifdef FEAT_MBYTE
-+ + *buffer_off, toRead
-+ # else
-+ , toRead
-+ # endif
-+ , &len, NULL);
-+
-+ /* If we haven't read anything, there is a problem */
-+ if (len == 0)
-+ break;
-+
-+ availableBytes -= len;
-+
-+ if (options & SHELL_READ)
-+ {
-+ /* Do NUL -> NL translation, append NL separated
-+ * lines to the current buffer. */
-+ for (i = 0; i < len; ++i)
-+ {
-+ if (buffer[i] == NL)
-+ append_ga_line(ga);
-+ else if (buffer[i] == NUL)
-+ ga_append(ga, NL);
-+ else
-+ ga_append(ga, buffer[i]);
-+ }
-+ }
-+ # ifdef FEAT_MBYTE
-+ else if (has_mbyte)
-+ {
-+ int l;
-+
-+ len += *buffer_off;
-+ buffer[len] = NUL;
-+
-+ /* Check if the last character in buffer[] is
-+ * incomplete, keep these bytes for the next
-+ * round. */
-+ for (p = buffer; p < buffer + len; p += l)
-+ {
-+ l = mb_cptr2len(p);
-+ if (l == 0)
-+ l = 1; /* NUL byte? */
-+ else if (MB_BYTE2LEN(*p) != l)
-+ break;
-+ }
-+ if (p == buffer) /* no complete character */
-+ {
-+ /* avoid getting stuck at an illegal byte */
-+ if (len >= 12)
-+ ++p;
-+ else
-+ {
-+ *buffer_off = len;
-+ return;
-+ }
-+ }
-+ c = *p;
-+ *p = NUL;
-+ msg_puts(buffer);
-+ if (p < buffer + len)
-+ {
-+ *p = c;
-+ *buffer_off = (DWORD)((buffer + len) - p);
-+ mch_memmove(buffer, p, *buffer_off);
-+ return;
-+ }
-+ *buffer_off = 0;
-+ }
-+ # endif /* FEAT_MBYTE */
-+ else
-+ {
-+ buffer[len] = NUL;
-+ msg_puts(buffer);
-+ }
-+
-+ windgoto(msg_row, msg_col);
-+ cursor_on();
-+ out_flush();
-+ }
-+ }
-+
-+ /*
-+ * Version of system to use for windows NT > 5.0 (Win2K), use pipe
-+ * for communication and doesn't open any new window.
-+ */
-+ static int
-+ mch_system_piped(char *cmd, int options)
-+ {
-+ STARTUPINFO si;
-+ PROCESS_INFORMATION pi;
-+ DWORD ret = 0;
-+
-+ HANDLE g_hChildStd_IN_Rd = NULL;
-+ HANDLE g_hChildStd_IN_Wr = NULL;
-+ HANDLE g_hChildStd_OUT_Rd = NULL;
-+ HANDLE g_hChildStd_OUT_Wr = NULL;
-+
-+ char_u buffer[BUFLEN + 1]; /* reading buffer + size */
-+ DWORD len;
-+
-+ /* buffer used to receive keys */
-+ char_u ta_buf[BUFLEN + 1]; /* TypeAHead */
-+ int ta_len = 0; /* valid bytes in ta_buf[] */
-+
-+ DWORD i;
-+ int c;
-+ int noread_cnt = 0;
-+ garray_T ga;
-+ int delay = 1;
-+ # ifdef FEAT_MBYTE
-+ DWORD buffer_off = 0; /* valid bytes in buffer[] */
-+ # endif
-+
-+ SECURITY_ATTRIBUTES saAttr;
-+
-+ /* Set the bInheritHandle flag so pipe handles are inherited. */
-+ saAttr.nLength = sizeof(SECURITY_ATTRIBUTES);
-+ saAttr.bInheritHandle = TRUE;
-+ saAttr.lpSecurityDescriptor = NULL;
-+
-+ if ( ! CreatePipe(&g_hChildStd_OUT_Rd, &g_hChildStd_OUT_Wr, &saAttr, 0)
-+ /* Ensure the read handle to the pipe for STDOUT is not inherited. */
-+ || ! pSetHandleInformation(g_hChildStd_OUT_Rd, HANDLE_FLAG_INHERIT, 0)
-+ /* Create a pipe for the child process's STDIN. */
-+ || ! CreatePipe(&g_hChildStd_IN_Rd, &g_hChildStd_IN_Wr, &saAttr, 0)
-+ /* Ensure the write handle to the pipe for STDIN is not inherited. */
-+ || ! pSetHandleInformation(g_hChildStd_IN_Wr, HANDLE_FLAG_INHERIT, 0) )
-+ {
-+ CloseHandle(g_hChildStd_IN_Rd);
-+ CloseHandle(g_hChildStd_IN_Wr);
-+ CloseHandle(g_hChildStd_OUT_Rd);
-+ CloseHandle(g_hChildStd_OUT_Wr);
-+ MSG_PUTS(_("\nCannot create pipes\n"));
-+ }
-+
-+ si.cb = sizeof(si);
-+ si.lpReserved = NULL;
-+ si.lpDesktop = NULL;
-+ si.lpTitle = NULL;
-+ si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
-+
-+ /* set-up our file redirection */
-+ si.hStdError = g_hChildStd_OUT_Wr;
-+ si.hStdOutput = g_hChildStd_OUT_Wr;
-+ si.hStdInput = g_hChildStd_IN_Rd;
-+ si.wShowWindow = SW_HIDE;
-+ si.cbReserved2 = 0;
-+ si.lpReserved2 = NULL;
-+
-+ if (options & SHELL_READ)
-+ ga_init2(&ga, 1, BUFLEN);
-+
-+ /* Now, run the command */
-+ CreateProcess(NULL, /* Executable name */
-+ cmd, /* Command to execute */
-+ NULL, /* Process security attributes */
-+ NULL, /* Thread security attributes */
-+
-+ // this command can be litigeous, handle inheritence was
-+ // deactivated for pending temp file, but, if we deactivate
-+ // it, the pipes don't work for some reason.
-+ TRUE, /* Inherit handles, first deactivated,
-+ * but needed */
-+ CREATE_DEFAULT_ERROR_MODE, /* Creation flags */
-+ NULL, /* Environment */
-+ NULL, /* Current directory */
-+ &si, /* Startup information */
-+ &pi); /* Process information */
-+
-+
-+ /* Close our unused side of the pipes */
-+ CloseHandle(g_hChildStd_IN_Rd);
-+ CloseHandle(g_hChildStd_OUT_Wr);
-+
-+ if (options & SHELL_WRITE)
-+ {
-+ HANDLE thread =
-+ CreateThread(NULL, /* security attributes */
-+ 0, /* default stack size */
-+ sub_process_writer, /* function to be executed */
-+ g_hChildStd_IN_Wr, /* parameter */
-+ 0, /* creation flag, start immediately */
-+ NULL); /* we don't care about thread id */
-+ CloseHandle(thread);
-+ g_hChildStd_IN_Wr = NULL;
-+ }
-+
-+ /* Keep updating the window while waiting for the shell to finish. */
-+ for (;;)
-+ {
-+ MSG msg;
-+
-+ if (PeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE))
-+ {
-+ TranslateMessage(&msg);
-+ DispatchMessage(&msg);
-+ }
-+
-+ /* write pipe information in the window */
-+ if ((options & (SHELL_READ|SHELL_WRITE))
-+ # ifdef FEAT_GUI
-+ || gui.in_use
-+ # endif
-+ )
-+ {
-+ len = 0;
-+ if (!(options & SHELL_EXPAND)
-+ && ((options &
-+ (SHELL_READ|SHELL_WRITE|SHELL_COOKED))
-+ != (SHELL_READ|SHELL_WRITE|SHELL_COOKED)
-+ # ifdef FEAT_GUI
-+ || gui.in_use
-+ # endif
-+ )
-+ && (ta_len > 0 || noread_cnt > 4))
-+ {
-+ if (ta_len == 0)
-+ {
-+ /* Get extra characters when we don't have any. Reset the
-+ * counter and timer. */
-+ noread_cnt = 0;
-+ # if defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H)
-+ gettimeofday(&start_tv, NULL);
-+ # endif
-+ len = ui_inchar(ta_buf, BUFLEN, 10L, 0);
-+ }
-+ if (ta_len > 0 || len > 0)
-+ {
-+ /*
-+ * For pipes: Check for CTRL-C: send interrupt signal to
-+ * child. Check for CTRL-D: EOF, close pipe to child.
-+ */
-+ if (len == 1 && cmd != NULL)
-+ {
-+ if (ta_buf[ta_len] == Ctrl_C)
-+ {
-+ /* Learn what exit code is expected, for
-+ * now put 9 as SIGKILL */
-+ TerminateProcess(pi.hProcess, 9);
-+ }
-+ if (ta_buf[ta_len] == Ctrl_D)
-+ {
-+ CloseHandle(g_hChildStd_IN_Wr);
-+ g_hChildStd_IN_Wr = NULL;
-+ }
-+ }
-+
-+ /* replace K_BS by <BS> and K_DEL by <DEL> */
-+ for (i = ta_len; i < ta_len + len; ++i)
-+ {
-+ if (ta_buf[i] == CSI && len - i > 2)
-+ {
-+ c = TERMCAP2KEY(ta_buf[i + 1], ta_buf[i + 2]);
-+ if (c == K_DEL || c == K_KDEL || c == K_BS)
-+ {
-+ mch_memmove(ta_buf + i + 1, ta_buf + i + 3,
-+ (size_t)(len - i - 2));
-+ if (c == K_DEL || c == K_KDEL)
-+ ta_buf[i] = DEL;
-+ else
-+ ta_buf[i] = Ctrl_H;
-+ len -= 2;
-+ }
-+ }
-+ else if (ta_buf[i] == '\r')
-+ ta_buf[i] = '\n';
-+ # ifdef FEAT_MBYTE
-+ if (has_mbyte)
-+ i += (*mb_ptr2len_len)(ta_buf + i,
-+ ta_len + len - i) - 1;
-+ # endif
-+ }
-+
-+ /*
-+ * For pipes: echo the typed characters. For a pty this
-+ * does not seem to work.
-+ */
-+ for (i = ta_len; i < ta_len + len; ++i)
-+ {
-+ if (ta_buf[i] == '\n' || ta_buf[i] == '\b')
-+ msg_putchar(ta_buf[i]);
-+ # ifdef FEAT_MBYTE
-+ else if (has_mbyte)
-+ {
-+ int l = (*mb_ptr2len)(ta_buf + i);
-+
-+ msg_outtrans_len(ta_buf + i, l);
-+ i += l - 1;
-+ }
-+ # endif
-+ else
-+ msg_outtrans_len(ta_buf + i, 1);
-+ }
-+ windgoto(msg_row, msg_col);
-+ out_flush();
-+
-+ ta_len += len;
-+
-+ /*
-+ * Write the characters to the child, unless EOF has been
-+ * typed for pipes. Write one character at a time, to
-+ * avoid losing too much typeahead. When writing buffer
-+ * lines, drop the typed characters (only check for
-+ * CTRL-C).
-+ */
-+ if (options & SHELL_WRITE)
-+ ta_len = 0;
-+ else if (g_hChildStd_IN_Wr != NULL)
-+ {
-+ WriteFile(g_hChildStd_IN_Wr, (char*)ta_buf,
-+ 1, &len, NULL);
-+ // if we are typing in, we want to keep things reactive
-+ delay = 1;
-+ if (len > 0)
-+ {
-+ ta_len -= len;
-+ mch_memmove(ta_buf, ta_buf + len, ta_len);
-+ }
-+ }
-+ }
-+ }
-+ }
-+
-+ if (ta_len)
-+ ui_inchar_undo(ta_buf, ta_len);
-+
-+ if (WaitForSingleObject(pi.hProcess, delay) != WAIT_TIMEOUT)
-+ {
-+ dump_pipe(options, g_hChildStd_OUT_Rd,
-+ &ga, buffer, &buffer_off);
-+ break;
-+ }
-+
-+ ++noread_cnt;
-+ dump_pipe(options, g_hChildStd_OUT_Rd,
-+ &ga, buffer, &buffer_off);
-+
-+ /* We start waiting for a very short time and then increase it, so
-+ * that we respond quickly when the process is quick, and don't
-+ * consume too much overhead when it's slow. */
-+ if (delay < 50)
-+ delay += 10;
-+ }
-+
-+ /* Close the pipe */
-+ CloseHandle(g_hChildStd_OUT_Rd);
-+ if (g_hChildStd_IN_Wr != NULL)
-+ CloseHandle(g_hChildStd_IN_Wr);
-+
-+ WaitForSingleObject(pi.hProcess, INFINITE);
-+
-+ /* Get the command exit code */
-+ GetExitCodeProcess(pi.hProcess, &ret);
-+
-+ if (options & SHELL_READ)
-+ {
-+ if (ga.ga_len > 0)
-+ {
-+ append_ga_line(&ga);
-+ /* remember that the NL was missing */
-+ curbuf->b_no_eol_lnum = curwin->w_cursor.lnum;
-+ }
-+ else
-+ curbuf->b_no_eol_lnum = 0;
-+ ga_clear(&ga);
-+ }
-+
-+ /* Close the handles to the subprocess, so that it goes away */
-+ CloseHandle(pi.hThread);
-+ CloseHandle(pi.hProcess);
-+
-+ return ret;
-+ }
-+
-+ static int
-+ mch_system(char *cmd, int options)
-+ {
-+ /* if we can pipe and the shelltemp option is off */
-+ if (allowPiping && !p_stmp)
-+ return mch_system_piped(cmd, options);
-+ else
-+ return mch_system_classic(cmd, options);
-+ }
- #else
-
- # define mch_system(c, o) system(c)
-***************
-*** 3388,3394 ****
- char_u *newcmd;
- long_u cmdlen = (
- #ifdef FEAT_GUI_W32
-! STRLEN(vimrun_path) +
- #endif
- STRLEN(p_sh) + STRLEN(p_shcf) + STRLEN(cmd) + 10);
-
---- 3897,3903 ----
- char_u *newcmd;
- long_u cmdlen = (
- #ifdef FEAT_GUI_W32
-! (allowPiping && !p_stmp ? 0 : STRLEN(vimrun_path)) +
- #endif
- STRLEN(p_sh) + STRLEN(p_shcf) + STRLEN(cmd) + 10);
-
-***************
-*** 3497,3503 ****
- MB_ICONWARNING);
- need_vimrun_warning = FALSE;
- }
-! if (!s_dont_use_vimrun)
- /* Use vimrun to execute the command. It opens a console
- * window, which can be closed without killing Vim. */
- vim_snprintf((char *)newcmd, cmdlen, "%s%s%s %s %s",
---- 4006,4012 ----
- MB_ICONWARNING);
- need_vimrun_warning = FALSE;
- }
-! if (!s_dont_use_vimrun && (!allowPiping || p_stmp))
- /* Use vimrun to execute the command. It opens a console
- * window, which can be closed without killing Vim. */
- vim_snprintf((char *)newcmd, cmdlen, "%s%s%s %s %s",
-***************
-*** 3521,3527 ****
- /* Print the return value, unless "vimrun" was used. */
- if (x != 0 && !(options & SHELL_SILENT) && !emsg_silent
- #if defined(FEAT_GUI_W32)
-! && ((options & SHELL_DOOUT) || s_dont_use_vimrun)
- #endif
- )
- {
---- 4030,4037 ----
- /* Print the return value, unless "vimrun" was used. */
- if (x != 0 && !(options & SHELL_SILENT) && !emsg_silent
- #if defined(FEAT_GUI_W32)
-! && ((options & SHELL_DOOUT) || s_dont_use_vimrun
-! || (allowPiping && !p_stmp))
- #endif
- )
- {
-*** ../vim-7.3.239/src/proto/misc2.pro 2011-07-07 15:08:53.000000000 +0200
---- src/proto/misc2.pro 2011-07-07 15:56:16.000000000 +0200
-***************
-*** 58,63 ****
---- 58,64 ----
- char_u *ga_concat_strings __ARGS((garray_T *gap));
- void ga_concat __ARGS((garray_T *gap, char_u *s));
- void ga_append __ARGS((garray_T *gap, int c));
-+ void append_ga_line __ARGS((garray_T *gap));
- int name_to_mod_mask __ARGS((int c));
- int simplify_key __ARGS((int key, int *modifiers));
- int handle_x_keys __ARGS((int key));
-*** ../vim-7.3.239/src/ui.c 2011-06-19 01:14:23.000000000 +0200
---- src/ui.c 2011-07-07 15:44:56.000000000 +0200
-***************
-*** 58,64 ****
- #endif
- }
-
-! #if defined(UNIX) || defined(VMS) || defined(PROTO)
- /*
- * When executing an external program, there may be some typed characters that
- * are not consumed by it. Give them back to ui_inchar() and they are stored
---- 58,64 ----
- #endif
- }
-
-! #if defined(UNIX) || defined(VMS) || defined(PROTO) || defined(WIN3264)
- /*
- * When executing an external program, there may be some typed characters that
- * are not consumed by it. Give them back to ui_inchar() and they are stored
-*** ../vim-7.3.239/src/version.c 2011-07-07 15:08:53.000000000 +0200
---- src/version.c 2011-07-07 16:14:20.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 240,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-257. Your "hundred-and-one" lists include well over 101 items, since you
- automatically interpret all numbers in hexadecimal notation.
- (hex 101 = decimal 257)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.241 b/source/ap/vim/patches/7.3.241
deleted file mode 100644
index 3b73c4de1..000000000
--- a/source/ap/vim/patches/7.3.241
+++ /dev/null
@@ -1,71 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.241
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.241
-Problem: Using CTRL-R CTRL-W on the command line may insert only part of
- the word.
-Solution: Use the cursor position instead of assuming it is at the end of
- the command. (Tyru)
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.240/src/ex_getln.c 2011-07-07 15:04:38.000000000 +0200
---- src/ex_getln.c 2011-07-07 16:38:50.000000000 +0200
-***************
-*** 3046,3052 ****
- int len;
-
- /* Locate start of last word in the cmd buffer. */
-! for (w = ccline.cmdbuff + ccline.cmdlen; w > ccline.cmdbuff; )
- {
- #ifdef FEAT_MBYTE
- if (has_mbyte)
---- 3046,3052 ----
- int len;
-
- /* Locate start of last word in the cmd buffer. */
-! for (w = ccline.cmdbuff + ccline.cmdpos; w > ccline.cmdbuff; )
- {
- #ifdef FEAT_MBYTE
- if (has_mbyte)
-***************
-*** 3064,3070 ****
- --w;
- }
- }
-! len = (int)((ccline.cmdbuff + ccline.cmdlen) - w);
- if (p_ic ? STRNICMP(w, arg, len) == 0 : STRNCMP(w, arg, len) == 0)
- p += len;
- }
---- 3064,3070 ----
- --w;
- }
- }
-! len = (int)((ccline.cmdbuff + ccline.cmdpos) - w);
- if (p_ic ? STRNICMP(w, arg, len) == 0 : STRNCMP(w, arg, len) == 0)
- p += len;
- }
-*** ../vim-7.3.240/src/version.c 2011-07-07 16:20:45.000000000 +0200
---- src/version.c 2011-07-07 16:41:29.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 241,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-258. When you want to see your girlfriend, you surf to her homepage.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.242 b/source/ap/vim/patches/7.3.242
deleted file mode 100644
index 0cf4db920..000000000
--- a/source/ap/vim/patches/7.3.242
+++ /dev/null
@@ -1,71 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.242
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.242
-Problem: Illegal memory access in after_pathsep().
-Solution: Check that the pointer is not at the start of the file name.
- (Dominique Pelle)
-Files: src/misc2.c
-
-
-*** ../vim-7.3.241/src/misc2.c 2011-07-07 16:20:45.000000000 +0200
---- src/misc2.c 2011-07-07 17:05:41.000000000 +0200
-***************
-*** 3247,3253 ****
- #if defined(FEAT_MBYTE) || defined(PROTO)
- /*
- * Return TRUE if "p" points to just after a path separator.
-! * Take care of multi-byte characters.
- * "b" must point to the start of the file name
- */
- int
---- 3247,3253 ----
- #if defined(FEAT_MBYTE) || defined(PROTO)
- /*
- * Return TRUE if "p" points to just after a path separator.
-! * Takes care of multi-byte characters.
- * "b" must point to the start of the file name
- */
- int
-***************
-*** 3255,3261 ****
- char_u *b;
- char_u *p;
- {
-! return vim_ispathsep(p[-1])
- && (!has_mbyte || (*mb_head_off)(b, p - 1) == 0);
- }
- #endif
---- 3255,3261 ----
- char_u *b;
- char_u *p;
- {
-! return p > b && vim_ispathsep(p[-1])
- && (!has_mbyte || (*mb_head_off)(b, p - 1) == 0);
- }
- #endif
-*** ../vim-7.3.241/src/version.c 2011-07-07 16:44:33.000000000 +0200
---- src/version.c 2011-07-07 17:05:49.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 242,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-260. Co-workers have to E-mail you about the fire alarm to get
- you out of the building.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.243 b/source/ap/vim/patches/7.3.243
deleted file mode 100644
index f1f913d48..000000000
--- a/source/ap/vim/patches/7.3.243
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.243
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.243
-Problem: Illegal memory access in readline().
-Solution: Swap the conditions. (Dominique Pelle)
-Files: src/eval.c
-
-
-*** ../vim-7.3.242/src/eval.c 2011-07-07 16:20:45.000000000 +0200
---- src/eval.c 2011-07-07 17:32:16.000000000 +0200
-***************
-*** 14318,14324 ****
- tolist = 0;
- for ( ; filtd < buflen || readlen <= 0; ++filtd)
- {
-! if (buf[filtd] == '\n' || readlen <= 0)
- {
- /* In binary mode add an empty list item when the last
- * non-empty line ends in a '\n'. */
---- 14318,14324 ----
- tolist = 0;
- for ( ; filtd < buflen || readlen <= 0; ++filtd)
- {
-! if (readlen <= 0 || buf[filtd] == '\n')
- {
- /* In binary mode add an empty list item when the last
- * non-empty line ends in a '\n'. */
-*** ../vim-7.3.242/src/version.c 2011-07-07 17:15:29.000000000 +0200
---- src/version.c 2011-07-07 17:32:30.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 243,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-261. You find diskettes in your pockets when doing laundry.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.244 b/source/ap/vim/patches/7.3.244
deleted file mode 100644
index 4cff94f2f..000000000
--- a/source/ap/vim/patches/7.3.244
+++ /dev/null
@@ -1,48 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.244
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.244
-Problem: MS-Windows: Build problem with old compiler. (John Beckett)
-Solution: Only use HandleToLong() when available. (Mike Williams)
-Files: src/gui_w32.c
-
-
-*** ../vim-7.3.243/src/gui_w32.c 2011-05-25 21:18:02.000000000 +0200
---- src/gui_w32.c 2011-07-07 17:42:36.000000000 +0200
-***************
-*** 1574,1579 ****
---- 1574,1583 ----
- #endif
-
- #ifdef FEAT_EVAL
-+ # if _MSC_VER < 1400
-+ /* HandleToLong() only exists in compilers that can do 64 bit builds */
-+ # define HandleToLong(h) ((long)(h))
-+ # endif
- /* set the v:windowid variable */
- set_vim_var_nr(VV_WINDOWID, HandleToLong(s_hwnd));
- #endif
-*** ../vim-7.3.243/src/version.c 2011-07-07 17:36:52.000000000 +0200
---- src/version.c 2011-07-07 17:43:21.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 244,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-262. Your computer has it's own phone line - but your daughter doesn't.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.245 b/source/ap/vim/patches/7.3.245
deleted file mode 100644
index b05fe433a..000000000
--- a/source/ap/vim/patches/7.3.245
+++ /dev/null
@@ -1,81 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.245
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.245
-Problem: Python 3.2 libraries not correctly detected.
-Solution: Add the suffix to the library name. (Niclas Zeising)
-Files: src/auto/configure, src/configure.in
-
-
-*** ../vim-7.3.244/src/auto/configure 2011-06-13 01:32:42.000000000 +0200
---- src/auto/configure 2011-07-13 17:57:05.000000000 +0200
-***************
-*** 5611,5617 ****
- eof
- eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
- rm -f -- "${tmp_mkf}"
-! vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}"
- vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}"
- vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
- vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
---- 5611,5617 ----
- eof
- eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
- rm -f -- "${tmp_mkf}"
-! vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
- vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}"
- vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
- vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
-*** ../vim-7.3.244/src/configure.in 2011-06-13 01:32:42.000000000 +0200
---- src/configure.in 2011-07-13 17:57:01.000000000 +0200
-***************
-*** 1068,1074 ****
- dnl -- delete the lines from make about Entering/Leaving directory
- eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
- rm -f -- "${tmp_mkf}"
-! vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}"
- vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}"
- dnl remove -ltermcap, it can conflict with an earlier -lncurses
- vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
---- 1068,1074 ----
- dnl -- delete the lines from make about Entering/Leaving directory
- eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
- rm -f -- "${tmp_mkf}"
-! vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
- vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}"
- dnl remove -ltermcap, it can conflict with an earlier -lncurses
- vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
-*** ../vim-7.3.244/src/version.c 2011-07-07 17:43:37.000000000 +0200
---- src/version.c 2011-07-15 13:09:17.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 245,
- /**/
-
-
---
- When danger reared its ugly head,
- He bravely turned his tail and fled
- Yes, Brave Sir Robin turned about
- And gallantly he chickened out
- Bravely taking to his feet
- He beat a very brave retreat
- Bravest of the brave Sir Robin
- Petrified of being dead
- Soiled his pants then brave Sir Robin
- Turned away and fled.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.246 b/source/ap/vim/patches/7.3.246
deleted file mode 100644
index d9982ea04..000000000
--- a/source/ap/vim/patches/7.3.246
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.246
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.246 (after 7.3.235)
-Problem: Repeating "f4" in "4444" skips one 4.
-Solution: Check the t_cmd flag. (Christian Brabandt)
-Files: src/search.c
-
-
-*** ../vim-7.3.245/src/search.c 2011-06-26 05:36:07.000000000 +0200
---- src/search.c 2011-07-15 13:16:49.000000000 +0200
-***************
-*** 1585,1591 ****
- /* Force a move of at least one char, so ";" and "," will move the
- * cursor, even if the cursor is right in front of char we are looking
- * at. */
-! if (vim_strchr(p_cpo, CPO_SCOLON) == NULL && count == 1)
- stop = FALSE;
- }
-
---- 1585,1591 ----
- /* Force a move of at least one char, so ";" and "," will move the
- * cursor, even if the cursor is right in front of char we are looking
- * at. */
-! if (vim_strchr(p_cpo, CPO_SCOLON) == NULL && count == 1 && t_cmd)
- stop = FALSE;
- }
-
-*** ../vim-7.3.245/src/version.c 2011-07-15 13:09:46.000000000 +0200
---- src/version.c 2011-07-15 13:20:40.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 246,
- /**/
-
---
- GALAHAD turns back. We see from his POV the lovely ZOOT standing by him
- smiling enchantingly and a number of equally delectable GIRLIES draped
- around in the seductively poulticed room. They look at him smilingly and
- wave.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.247 b/source/ap/vim/patches/7.3.247
deleted file mode 100644
index a0cb566c7..000000000
--- a/source/ap/vim/patches/7.3.247
+++ /dev/null
@@ -1,95 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.247
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.247
-Problem: Running tests changes the users viminfo file. Test for patch
- 7.3.246 missing.
-Solution: Add "nviminfo" to the 'viminfo' option. Include the test.
-Files: src/testdir/test78.in, src/testdir/test81.in
-
-
-*** ../vim-7.3.246/src/testdir/test78.in 2011-06-13 01:07:22.000000000 +0200
---- src/testdir/test78.in 2011-07-15 13:26:22.000000000 +0200
-***************
-*** 6,12 ****
-
- STARTTEST
- :so small.vim
-! :set nocp fileformat=unix undolevels=-1
- :e! Xtest
- ggdG
- :let text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnoparstuvwxyz0123456789"
---- 6,12 ----
-
- STARTTEST
- :so small.vim
-! :set nocp fileformat=unix undolevels=-1 viminfo+=nviminfo
- :e! Xtest
- ggdG
- :let text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnoparstuvwxyz0123456789"
-*** ../vim-7.3.246/src/testdir/test81.in 2011-06-26 05:36:07.000000000 +0200
---- src/testdir/test81.in 2011-07-15 13:25:00.000000000 +0200
-***************
-*** 1,10 ****
- Test for t movement command and 'cpo-;' setting
-
- STARTTEST
-! :set nocompatible
- :set cpo-=;
- /firstline/
- j0tt;D
- $Ty;D:set cpo+=;
- j0tt;;D
- $Ty;;D:?firstline?+1,$w! test.out
---- 1,12 ----
- Test for t movement command and 'cpo-;' setting
-
- STARTTEST
-! :set nocompatible viminfo+=nviminfo
- :set cpo-=;
- /firstline/
- j0tt;D
-+ 0fz;D
-+ $Fy;D
- $Ty;D:set cpo+=;
- j0tt;;D
- $Ty;;D:?firstline?+1,$w! test.out
-***************
-*** 13,18 ****
---- 15,22 ----
-
- firstline
- aaa two three four
-+ zzz
-+ yyy
- bbb yee yoo four
- ccc two three four
- ddd yee yoo four
-*** ../vim-7.3.246/src/version.c 2011-07-15 13:21:24.000000000 +0200
---- src/version.c 2011-07-15 13:31:14.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 247,
- /**/
-
---
-ZOOT: I'm afraid our life must seem very dull and quiet compared to yours.
- We are but eightscore young blondes, all between sixteen and
- nineteen-and-a-half, cut off in this castle, with no one to protect us.
- Oooh. It is a lonely life ... bathing ... dressing ... undressing ...
- making exciting underwear....
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.248 b/source/ap/vim/patches/7.3.248
deleted file mode 100644
index 6fbf3f6cd..000000000
--- a/source/ap/vim/patches/7.3.248
+++ /dev/null
@@ -1,129 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.248
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.248
-Problem: PC Install instructions missing install instructions.
-Solution: Step-by-step explanation. (Michael Soyka)
-Files: src/INSTALLpc.txt
-
-
-*** ../vim-7.3.247/src/INSTALLpc.txt 2011-06-12 20:36:00.000000000 +0200
---- src/INSTALLpc.txt 2011-07-15 13:49:46.000000000 +0200
-***************
-*** 11,19 ****
- this, then you will get the default behavior as is documented, which should
- be fine for most people.
-
-! With the exception of the last two sections (Windows 3.1 and MS-DOS),
-! this document assumes that you are building Vim for Win32
-! (Windows NT/2000/XP/2003/Vista and Windows 95/98/Me)
-
-
- Contents:
---- 11,19 ----
- this, then you will get the default behavior as is documented, which should
- be fine for most people.
-
-! With the exception of two sections (Windows 3.1 and MS-DOS), this document
-! assumes that you are building Vim for Win32 or later.
-! (Windows 95/98/Me/NT/2000/XP/2003/Vista/7)
-
-
- Contents:
-***************
-*** 27,32 ****
---- 27,35 ----
- 8. Windows 3.1
- 9. MS-DOS
-
-+ 10. Installing after building from sources
-+
-+
- The currently preferred method is using the free Visual C++ Toolkit 2008
- |msvc-2008-express|, the produced binary runs on most MS-Windows systems. If
- you need the executable to run on Windows 98 or ME, use the 2003 one
-***************
-*** 409,411 ****
---- 412,470 ----
-
- If you get all kinds of strange error messages when compiling, try adding
- changing the file format from "unix" to "dos".
-+
-+
-+ 10. Installing after building from sources
-+ ==========================================
-+
-+ [provided by Michael Soyka]
-+
-+ After you've built the Vim binaries as described above, you're ready to
-+ install Vim on your system. However, if you've obtained the Vim sources
-+ using Mercurial or by downloading them as a unix tar file, you must first
-+ create a "vim73" directory. If you instead downloaded the sources as
-+ zip files, you can skip this setup as the zip archives already have the
-+ correct directory structure.
-+
-+ A. Create a Vim "runtime" subdirectory named "vim73"
-+ -----------------------------------------------------
-+ If you obtained your Vim sources as zip files, you can skip this step.
-+ Otherwise, continue reading.
-+
-+ Go to the directory that contains the Vim "src" and "runtime"
-+ directories and create a new subdirectory named "vim73".
-+
-+ Copy the "runtime" files into "vim73":
-+ copy runtime\* vim73
-+
-+ B. Copy the new binaries into the "vim73" directory
-+ ----------------------------------------------------
-+ Regardless of how you installed the Vim sources, you need to copy the
-+ new binaries you created above into "vim73":
-+
-+ copy src\*.exe vim73
-+ copy src\GvimExt\gvimext.dll vim73
-+ copy src\xxd\xxd.exe vim73
-+
-+ C. Move the "vim73" directory into the Vim installation subdirectory
-+ ---------------------------------------------------------------------
-+ Move the "vim73" subdirectory into the subdirectory where you want Vim
-+ to be installed. Typically, this subdirectory will be named "vim".
-+ If you already have a "vim73" subdirectory in "vim", delete it first
-+ by running its unstal.exe program.
-+
-+ D. Install Vim
-+ ---------------
-+ "cd" to your Vim installation subdirectory "vim\vim73" and run the
-+ "install.exe" program. It will ask you a number of questions about
-+ how you would like to have your Vim setup. Among these are:
-+ - You can tell it to write a "_vimrc" file with your preferences in the
-+ parent directory.
-+ - It can also install an "Edit with Vim" entry in the Windows Explorer
-+ popup menu.
-+ - You can have it create batch files, so that you can run Vim from the
-+ console or in a shell. You can select one of the directories in your
-+ PATH or add the directory to PATH using the Windows Control Panel.
-+ - Create entries for Vim on the desktop and in the Start menu.
-+
-+ Happy Vimming!
-*** ../vim-7.3.247/src/version.c 2011-07-15 13:33:17.000000000 +0200
---- src/version.c 2011-07-15 13:51:03.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 248,
- /**/
-
---
-Linux is just like a wigwam: no Windows, no Gates and an Apache inside.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.249 b/source/ap/vim/patches/7.3.249
deleted file mode 100644
index 661f97977..000000000
--- a/source/ap/vim/patches/7.3.249
+++ /dev/null
@@ -1,134 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.249
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.249
-Problem: Wrong indenting for array initializer.
-Solution: Detect '}' in a better way. (Lech Lorens)
-Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
-
-
-*** ../vim-7.3.248/src/misc1.c 2011-06-12 21:51:01.000000000 +0200
---- src/misc1.c 2011-07-15 14:06:44.000000000 +0200
-***************
-*** 7945,7952 ****
- * If we're at the end of a block, skip to the start of
- * that block.
- */
-! curwin->w_cursor.col = 0;
-! if (*cin_skipcomment(l) == '}'
- && (trypos = find_start_brace(ind_maxcomment))
- != NULL) /* XXX */
- {
---- 7945,7951 ----
- * If we're at the end of a block, skip to the start of
- * that block.
- */
-! if (find_last_paren(l, '{', '}')
- && (trypos = find_start_brace(ind_maxcomment))
- != NULL) /* XXX */
- {
-*** ../vim-7.3.248/src/testdir/test3.in 2011-06-12 21:51:01.000000000 +0200
---- src/testdir/test3.in 2011-07-15 14:03:41.000000000 +0200
-***************
-*** 1452,1457 ****
---- 1452,1487 ----
-
- STARTTEST
- :set cino&
-+ :set cino+=l1
-+ 2kdd=][
-+ ENDTEST
-+
-+ void func(void)
-+ {
-+ int tab[] =
-+ {
-+ 1, 2, 3,
-+ 4, 5, 6};
-+
-+ printf("Indent this line correctly!\n");
-+
-+ switch (foo)
-+ {
-+ case bar:
-+ printf("bar");
-+ break;
-+ case baz: {
-+ printf("baz");
-+ break;
-+ }
-+ case quux:
-+ printf("But don't break the indentation of this instruction\n");
-+ break;
-+ }
-+ }
-+
-+ STARTTEST
-+ :set cino&
- 2kdd=][
- ENDTEST
-
-*** ../vim-7.3.248/src/testdir/test3.ok 2011-06-12 21:51:01.000000000 +0200
---- src/testdir/test3.ok 2011-07-15 14:03:41.000000000 +0200
-***************
-*** 1310,1315 ****
---- 1310,1340 ----
-
- void func(void)
- {
-+ int tab[] =
-+ {
-+ 1, 2, 3,
-+ 4, 5, 6};
-+
-+ printf("Indent this line correctly!\n");
-+
-+ switch (foo)
-+ {
-+ case bar:
-+ printf("bar");
-+ break;
-+ case baz: {
-+ printf("baz");
-+ break;
-+ }
-+ case quux:
-+ printf("But don't break the indentation of this instruction\n");
-+ break;
-+ }
-+ }
-+
-+
-+ void func(void)
-+ {
- cout << "a"
- << "b"
- << ") :"
-*** ../vim-7.3.248/src/version.c 2011-07-15 13:51:57.000000000 +0200
---- src/version.c 2011-07-15 14:12:05.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 249,
- /**/
-
---
- GALAHAD hurries to the door and pushes through it. As he leaves the room
- we CUT TO the reverse to show that he is now in a room full of bathing
- and romping GIRLIES, all innocent, wide-eyed and beautiful. They smile
- enchantingly at him as he tries to keep walking without being diverted by
- the lovely sights assaulting his eyeballs.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.250 b/source/ap/vim/patches/7.3.250
deleted file mode 100644
index fc33328bd..000000000
--- a/source/ap/vim/patches/7.3.250
+++ /dev/null
@@ -1,104 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.250
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.250
-Problem: Python: Errors in Unicode characters not handled nicely.
-Solution: Add the surrogateescape error handler. (lilydjwg)
-Files: src/if_python3.c
-
-
-*** ../vim-7.3.249/src/if_python3.c 2011-06-26 19:13:33.000000000 +0200
---- src/if_python3.c 2011-07-15 15:50:01.000000000 +0200
-***************
-*** 68,76 ****
-
- static void init_structs(void);
-
- #define PyInt Py_ssize_t
- #define PyString_Check(obj) PyUnicode_Check(obj)
-! #define PyString_AsBytes(obj) PyUnicode_AsEncodedString(obj, (char *)ENC_OPT, NULL);
- #define PyString_FreeBytes(obj) Py_XDECREF(bytes)
- #define PyString_AsString(obj) PyBytes_AsString(obj)
- #define PyString_Size(obj) PyBytes_GET_SIZE(bytes)
---- 68,83 ----
-
- static void init_structs(void);
-
-+ /* The "surrogateescape" error handler is new in Python 3.1 */
-+ #if PY_VERSION_HEX >= 0x030100f0
-+ # define CODEC_ERROR_HANDLER "surrogateescape"
-+ #else
-+ # define CODEC_ERROR_HANDLER NULL
-+ #endif
-+
- #define PyInt Py_ssize_t
- #define PyString_Check(obj) PyUnicode_Check(obj)
-! #define PyString_AsBytes(obj) PyUnicode_AsEncodedString(obj, (char *)ENC_OPT, CODEC_ERROR_HANDLER);
- #define PyString_FreeBytes(obj) Py_XDECREF(bytes)
- #define PyString_AsString(obj) PyBytes_AsString(obj)
- #define PyString_Size(obj) PyBytes_GET_SIZE(bytes)
-***************
-*** 661,668 ****
-
- /* PyRun_SimpleString expects a UTF-8 string. Wrong encoding may cause
- * SyntaxError (unicode error). */
-! cmdstr = PyUnicode_Decode(cmd, strlen(cmd), (char *)ENC_OPT, NULL);
-! cmdbytes = PyUnicode_AsEncodedString(cmdstr, "utf-8", NULL);
- Py_XDECREF(cmdstr);
- PyRun_SimpleString(PyBytes_AsString(cmdbytes));
- Py_XDECREF(cmdbytes);
---- 668,676 ----
-
- /* PyRun_SimpleString expects a UTF-8 string. Wrong encoding may cause
- * SyntaxError (unicode error). */
-! cmdstr = PyUnicode_Decode(cmd, strlen(cmd),
-! (char *)ENC_OPT, CODEC_ERROR_HANDLER);
-! cmdbytes = PyUnicode_AsEncodedString(cmdstr, "utf-8", CODEC_ERROR_HANDLER);
- Py_XDECREF(cmdstr);
- PyRun_SimpleString(PyBytes_AsString(cmdbytes));
- Py_XDECREF(cmdbytes);
-***************
-*** 1463,1469 ****
- }
- *p = '\0';
-
-! result = PyUnicode_Decode(tmp, len, (char *)ENC_OPT, NULL);
-
- vim_free(tmp);
- return result;
---- 1471,1477 ----
- }
- *p = '\0';
-
-! result = PyUnicode_Decode(tmp, len, (char *)ENC_OPT, CODEC_ERROR_HANDLER);
-
- vim_free(tmp);
- return result;
-*** ../vim-7.3.249/src/version.c 2011-07-15 14:12:25.000000000 +0200
---- src/version.c 2011-07-15 15:46:19.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 250,
- /**/
-
---
-DINGO: You must spank her well and after you have spanked her you
- may deal with her as you like and then ... spank me.
-AMAZING: And spank me!
-STUNNER: And me.
-LOVELY: And me.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.251 b/source/ap/vim/patches/7.3.251
deleted file mode 100644
index 43aa41487..000000000
--- a/source/ap/vim/patches/7.3.251
+++ /dev/null
@@ -1,184 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.251
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.251
-Problem: "gH<Del>" deletes the current line, except when it's the last
- line.
-Solution: Set the "include" flag to indicate the last line is to be deleted.
-Files: src/normal.c, src/ops.c
-
-
-*** ../vim-7.3.250/src/normal.c 2011-07-07 15:08:53.000000000 +0200
---- src/normal.c 2011-07-15 16:53:12.000000000 +0200
-***************
-*** 1795,1811 ****
- {
- oap->inclusive = FALSE;
- /* Try to include the newline, unless it's an operator
-! * that works on lines only */
-! if (*p_sel != 'o'
-! && !op_on_lines(oap->op_type)
-! && oap->end.lnum < curbuf->b_ml.ml_line_count)
- {
-! ++oap->end.lnum;
-! oap->end.col = 0;
- # ifdef FEAT_VIRTUALEDIT
-! oap->end.coladd = 0;
- # endif
-! ++oap->line_count;
- }
- }
- }
---- 1795,1819 ----
- {
- oap->inclusive = FALSE;
- /* Try to include the newline, unless it's an operator
-! * that works on lines only. */
-! if (*p_sel != 'o' && !op_on_lines(oap->op_type))
- {
-! if (oap->end.lnum < curbuf->b_ml.ml_line_count)
-! {
-! ++oap->end.lnum;
-! oap->end.col = 0;
- # ifdef FEAT_VIRTUALEDIT
-! oap->end.coladd = 0;
- # endif
-! ++oap->line_count;
-! }
-! else
-! {
-! /* Cannot move below the last line, make the op
-! * inclusive to tell the operation to include the
-! * line break. */
-! oap->inclusive = TRUE;
-! }
- }
- }
- }
-*** ../vim-7.3.250/src/ops.c 2011-06-19 01:14:22.000000000 +0200
---- src/ops.c 2011-07-15 17:28:28.000000000 +0200
-***************
-*** 1650,1656 ****
- && oap->line_count > 1
- && oap->op_type == OP_DELETE)
- {
-! ptr = ml_get(oap->end.lnum) + oap->end.col + oap->inclusive;
- ptr = skipwhite(ptr);
- if (*ptr == NUL && inindent(0))
- oap->motion_type = MLINE;
---- 1650,1658 ----
- && oap->line_count > 1
- && oap->op_type == OP_DELETE)
- {
-! ptr = ml_get(oap->end.lnum) + oap->end.col;
-! if (*ptr != NUL)
-! ptr += oap->inclusive;
- ptr = skipwhite(ptr);
- if (*ptr == NUL && inindent(0))
- oap->motion_type = MLINE;
-***************
-*** 1920,1930 ****
- curwin->w_cursor.coladd = 0;
- }
- #endif
-! (void)del_bytes((long)n, !virtual_op, oap->op_type == OP_DELETE
- #ifdef FEAT_VISUAL
- && !oap->is_VIsual
- #endif
- );
- }
- else /* delete characters between lines */
- {
---- 1922,1941 ----
- curwin->w_cursor.coladd = 0;
- }
- #endif
-! if (oap->inclusive && oap->end.lnum == curbuf->b_ml.ml_line_count
-! && n > (int)STRLEN(ml_get(oap->end.lnum)))
-! {
-! /* Special case: gH<Del> deletes the last line. */
-! del_lines(1L, FALSE);
-! }
-! else
-! {
-! (void)del_bytes((long)n, !virtual_op, oap->op_type == OP_DELETE
- #ifdef FEAT_VISUAL
- && !oap->is_VIsual
- #endif
- );
-+ }
- }
- else /* delete characters between lines */
- {
-***************
-*** 1941,1957 ****
- ++curwin->w_cursor.lnum;
- del_lines((long)(oap->line_count - 2), FALSE);
-
-! /* delete from start of line until op_end */
-! curwin->w_cursor.col = 0;
-! (void)del_bytes((long)(oap->end.col + 1 - !oap->inclusive),
-! !virtual_op, oap->op_type == OP_DELETE
- #ifdef FEAT_VISUAL
- && !oap->is_VIsual
- #endif
- );
-! curwin->w_cursor = curpos; /* restore curwin->w_cursor */
-!
-! (void)do_join(2, FALSE, FALSE);
- }
- }
-
---- 1952,1980 ----
- ++curwin->w_cursor.lnum;
- del_lines((long)(oap->line_count - 2), FALSE);
-
-! n = (oap->end.col + 1 - !oap->inclusive);
-! if (oap->inclusive && oap->end.lnum == curbuf->b_ml.ml_line_count
-! && n > (int)STRLEN(ml_get(oap->end.lnum)))
-! {
-! /* Special case: gH<Del> deletes the last line. */
-! del_lines(1L, FALSE);
-! curwin->w_cursor = curpos; /* restore curwin->w_cursor */
-! if (curwin->w_cursor.lnum > 1)
-! --curwin->w_cursor.lnum;
-! }
-! else
-! {
-! /* delete from start of line until op_end */
-! curwin->w_cursor.col = 0;
-! (void)del_bytes((long)n, !virtual_op, oap->op_type == OP_DELETE
- #ifdef FEAT_VISUAL
- && !oap->is_VIsual
- #endif
- );
-! curwin->w_cursor = curpos; /* restore curwin->w_cursor */
-! }
-! if (curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count)
-! (void)do_join(2, FALSE, FALSE);
- }
- }
-
-*** ../vim-7.3.250/src/version.c 2011-07-15 15:54:39.000000000 +0200
---- src/version.c 2011-07-15 17:35:18.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 251,
- /**/
-
---
- ### Hiroshima 45, Chernobyl 86, Windows 95 ###
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.252 b/source/ap/vim/patches/7.3.252
deleted file mode 100644
index e24b73be7..000000000
--- a/source/ap/vim/patches/7.3.252
+++ /dev/null
@@ -1,43 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.252
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.252 (after 7.3.247)
-Problem: Tests fail. (David Northfield)
-Solution: Add missing update for .ok file.
-Files: src/testdir/test81.ok
-
-
-*** ../vim-7.3.251/src/testdir/test81.ok 2011-06-26 05:36:07.000000000 +0200
---- src/testdir/test81.ok 2011-07-15 13:14:27.000000000 +0200
-***************
-*** 1,4 ****
---- 1,6 ----
- aaa two
-+ z
-+ y
- bbb y
- ccc
- ddd yee y
-*** ../vim-7.3.251/src/version.c 2011-07-15 17:51:30.000000000 +0200
---- src/version.c 2011-07-15 17:55:25.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 252,
- /**/
-
---
-You cannot propel yourself forward by patting yourself on the back.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.253 b/source/ap/vim/patches/7.3.253
deleted file mode 100644
index 70e415b5d..000000000
--- a/source/ap/vim/patches/7.3.253
+++ /dev/null
@@ -1,539 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.253
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.253
-Problem: "echo 'abc' > ''" returns 0 or 1, depending on 'ignorecase'.
- Checks in mb_strnicmp() for illegal and truncated bytes are
- wrong. Should not assume that byte length is equal before case
- folding.
-Solution: Add utf_safe_read_char_adv() and utf_strnicmp(). Add a test for
- this. (Ivan Krasilnikov)
-Files: src/mbyte.c src/testdir/test82.in, src/testdir/test82.ok,
- src/testdir/Makefile, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
-
-
-*** ../vim-7.3.252/src/mbyte.c 2011-07-07 15:08:53.000000000 +0200
---- src/mbyte.c 2011-07-15 20:13:52.000000000 +0200
-***************
-*** 132,137 ****
---- 132,138 ----
- static int dbcs_char2cells __ARGS((int c));
- static int dbcs_ptr2cells_len __ARGS((char_u *p, int size));
- static int dbcs_ptr2char __ARGS((char_u *p));
-+ static int utf_safe_read_char_adv __ARGS((char_u **s, size_t *n));
-
- /*
- * Lookup table to quickly get the length in bytes of a UTF-8 character from
-***************
-*** 1701,1706 ****
---- 1702,1767 ----
- }
-
- /*
-+ * Convert a UTF-8 byte sequence to a wide character.
-+ * String is assumed to be terminated by NUL or after "n" bytes, whichever
-+ * comes first.
-+ * The function is safe in the sense that it never accesses memory beyond the
-+ * first "n" bytes of "s".
-+ *
-+ * On success, returns decoded codepoint, advances "s" to the beginning of
-+ * next character and decreases "n" accordingly.
-+ *
-+ * If end of string was reached, returns 0 and, if "n" > 0, advances "s" past
-+ * NUL byte.
-+ *
-+ * If byte sequence is illegal or incomplete, returns -1 and does not advance
-+ * "s".
-+ */
-+ static int
-+ utf_safe_read_char_adv(s, n)
-+ char_u **s;
-+ size_t *n;
-+ {
-+ int c, k;
-+
-+ if (*n == 0) /* end of buffer */
-+ return 0;
-+
-+ k = utf8len_tab_zero[**s];
-+
-+ if (k == 1)
-+ {
-+ /* ASCII character or NUL */
-+ (*n)--;
-+ return *(*s)++;
-+ }
-+
-+ if ((size_t)k <= *n)
-+ {
-+ /* We have a multibyte sequence and it isn't truncated by buffer
-+ * limits so utf_ptr2char() is safe to use. Or the first byte is
-+ * illegal (k=0), and it's also safe to use utf_ptr2char(). */
-+ c = utf_ptr2char(*s);
-+
-+ /* On failure, utf_ptr2char() returns the first byte, so here we
-+ * check equality with the first byte. The only non-ASCII character
-+ * which equals the first byte of its own UTF-8 representation is
-+ * U+00C3 (UTF-8: 0xC3 0x83), so need to check that special case too.
-+ * It's safe even if n=1, else we would have k=2 > n. */
-+ if (c != (int)(**s) || (c == 0xC3 && (*s)[1] == 0x83))
-+ {
-+ /* byte sequence was successfully decoded */
-+ *s += k;
-+ *n -= k;
-+ return c;
-+ }
-+ }
-+
-+ /* byte sequence is incomplete or illegal */
-+ return -1;
-+ }
-+
-+ /*
- * Get character at **pp and advance *pp to the next character.
- * Note: composing characters are skipped!
- */
-***************
-*** 2667,2673 ****
- {0x10400,0x10427,1,40}
- };
-
-! static int utf_convert(int a, convertStruct table[], int tableSize);
-
- /*
- * Generic conversion function for case operations.
---- 2728,2735 ----
- {0x10400,0x10427,1,40}
- };
-
-! static int utf_convert __ARGS((int a, convertStruct table[], int tableSize));
-! static int utf_strnicmp __ARGS((char_u *s1, char_u *s2, size_t n1, size_t n2));
-
- /*
- * Generic conversion function for case operations.
-***************
-*** 3079,3084 ****
---- 3141,3220 ----
- return (utf_tolower(a) != a);
- }
-
-+ static int
-+ utf_strnicmp(s1, s2, n1, n2)
-+ char_u *s1, *s2;
-+ size_t n1, n2;
-+ {
-+ int c1, c2, cdiff;
-+ char_u buffer[6];
-+
-+ for (;;)
-+ {
-+ c1 = utf_safe_read_char_adv(&s1, &n1);
-+ c2 = utf_safe_read_char_adv(&s2, &n2);
-+
-+ if (c1 <= 0 || c2 <= 0)
-+ break;
-+
-+ if (c1 == c2)
-+ continue;
-+
-+ cdiff = utf_fold(c1) - utf_fold(c2);
-+ if (cdiff != 0)
-+ return cdiff;
-+ }
-+
-+ /* some string ended or has an incomplete/illegal character sequence */
-+
-+ if (c1 == 0 || c2 == 0)
-+ {
-+ /* some string ended. shorter string is smaller */
-+ if (c1 == 0 && c2 == 0)
-+ return 0;
-+ return c1 == 0 ? -1 : 1;
-+ }
-+
-+ /* Continue with bytewise comparison to produce some result that
-+ * would make comparison operations involving this function transitive.
-+ *
-+ * If only one string had an error, comparison should be made with
-+ * folded version of the other string. In this case it is enough
-+ * to fold just one character to determine the result of comparison. */
-+
-+ if (c1 != -1 && c2 == -1)
-+ {
-+ n1 = utf_char2bytes(utf_fold(c1), buffer);
-+ s1 = buffer;
-+ }
-+ else if (c2 != -1 && c1 == -1)
-+ {
-+ n2 = utf_char2bytes(utf_fold(c2), buffer);
-+ s2 = buffer;
-+ }
-+
-+ while (n1 > 0 && n2 > 0 && *s1 != NUL && *s2 != NUL)
-+ {
-+ cdiff = (int)(*s1) - (int)(*s2);
-+ if (cdiff != 0)
-+ return cdiff;
-+
-+ s1++;
-+ s2++;
-+ n1--;
-+ n2--;
-+ }
-+
-+ if (n1 > 0 && *s1 == NUL)
-+ n1 = 0;
-+ if (n2 > 0 && *s2 == NUL)
-+ n2 = 0;
-+
-+ if (n1 == 0 && n2 == 0)
-+ return 0;
-+ return n1 == 0 ? -1 : 1;
-+ }
-+
- /*
- * Version of strnicmp() that handles multi-byte characters.
- * Needed for Big5, Sjift-JIS and UTF-8 encoding. Other DBCS encodings can
-***************
-*** 3092,3140 ****
- char_u *s1, *s2;
- size_t nn;
- {
-! int i, j, l;
- int cdiff;
-- int incomplete = FALSE;
- int n = (int)nn;
-
-! for (i = 0; i < n; i += l)
- {
-! if (s1[i] == NUL && s2[i] == NUL) /* both strings end */
-! return 0;
-! if (enc_utf8)
-! {
-! l = utf_byte2len(s1[i]);
-! if (l > n - i)
-! {
-! l = n - i; /* incomplete character */
-! incomplete = TRUE;
-! }
-! /* Check directly first, it's faster. */
-! for (j = 0; j < l; ++j)
-! {
-! if (s1[i + j] != s2[i + j])
-! break;
-! if (s1[i + j] == 0)
-! /* Both stings have the same bytes but are incomplete or
-! * have illegal bytes, accept them as equal. */
-! l = j;
-! }
-! if (j < l)
-! {
-! /* If one of the two characters is incomplete return -1. */
-! if (incomplete || i + utf_byte2len(s2[i]) > n)
-! return -1;
-! /* Don't case-fold illegal bytes or truncated characters. */
-! if (utf_ptr2len(s1 + i) < l || utf_ptr2len(s2 + i) < l)
-! return -1;
-! cdiff = utf_fold(utf_ptr2char(s1 + i))
-! - utf_fold(utf_ptr2char(s2 + i));
-! if (cdiff != 0)
-! return cdiff;
-! }
-! }
-! else
- {
- l = (*mb_ptr2len)(s1 + i);
- if (l <= 1)
- {
---- 3228,3248 ----
- char_u *s1, *s2;
- size_t nn;
- {
-! int i, l;
- int cdiff;
- int n = (int)nn;
-
-! if (enc_utf8)
- {
-! return utf_strnicmp(s1, s2, nn, nn);
-! }
-! else
-! {
-! for (i = 0; i < n; i += l)
- {
-+ if (s1[i] == NUL && s2[i] == NUL) /* both strings end */
-+ return 0;
-+
- l = (*mb_ptr2len)(s1 + i);
- if (l <= 1)
- {
-*** ../vim-7.3.252/src/testdir/test82.in 2011-07-15 21:16:03.000000000 +0200
---- src/testdir/test82.in 2011-07-15 18:22:46.000000000 +0200
-***************
-*** 0 ****
---- 1,93 ----
-+ Tests for case-insensitive UTF-8 comparisons (utf_strnicmp() in mbyte.c)
-+
-+ STARTTEST
-+ :so small.vim
-+ :if !has("multi_byte")
-+ : e! test.ok
-+ : w! test.out
-+ : qa!
-+ :endif
-+ :set enc=utf8
-+ ggdG
-+ :
-+ :function! Ch(a, op, b, expected)
-+ : if eval(printf('"%s" %s "%s"', a:a, a:op, a:b)) != a:expected
-+ : call append(line('$'), printf('"%s" %s "%s" should return %d', a:a, a:op, a:b, a:expected))
-+ : else
-+ : let b:passed += 1
-+ : endif
-+ :endfunction
-+ :
-+ :function! Chk(a, b, result)
-+ : if a:result == 0
-+ : call Ch(a:a, '==?', a:b, 1)
-+ : call Ch(a:a, '!=?', a:b, 0)
-+ : call Ch(a:a, '<=?', a:b, 1)
-+ : call Ch(a:a, '>=?', a:b, 1)
-+ : call Ch(a:a, '<?', a:b, 0)
-+ : call Ch(a:a, '>?', a:b, 0)
-+ : elseif a:result > 0
-+ : call Ch(a:a, '==?', a:b, 0)
-+ : call Ch(a:a, '!=?', a:b, 1)
-+ : call Ch(a:a, '<=?', a:b, 0)
-+ : call Ch(a:a, '>=?', a:b, 1)
-+ : call Ch(a:a, '<?', a:b, 0)
-+ : call Ch(a:a, '>?', a:b, 1)
-+ : else
-+ : call Ch(a:a, '==?', a:b, 0)
-+ : call Ch(a:a, '!=?', a:b, 1)
-+ : call Ch(a:a, '<=?', a:b, 1)
-+ : call Ch(a:a, '>=?', a:b, 0)
-+ : call Ch(a:a, '<?', a:b, 1)
-+ : call Ch(a:a, '>?', a:b, 0)
-+ : endif
-+ :endfunction
-+ :
-+ :function! Check(a, b, result)
-+ : call Chk(a:a, a:b, a:result)
-+ : call Chk(a:b, a:a, -a:result)
-+ :endfunction
-+ :
-+ :function! LT(a, b)
-+ : call Check(a:a, a:b, -1)
-+ :endfunction
-+ :
-+ :function! GT(a, b)
-+ : call Check(a:a, a:b, 1)
-+ :endfunction
-+ :
-+ :function! EQ(a, b)
-+ : call Check(a:a, a:b, 0)
-+ :endfunction
-+ :
-+ :let b:passed=0
-+ :call EQ('', '')
-+ :call LT('', 'a')
-+ :call EQ('abc', 'abc')
-+ :call EQ('Abc', 'abC')
-+ :call LT('ab', 'abc')
-+ :call LT('AB', 'abc')
-+ :call LT('ab', 'aBc')
-+ :call EQ('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xb9\xd0\xa6\xd0\xa3\xd0\xba\xd0\x95\xd0\xbd')
-+ :call LT('\xd0\xb9\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd', '\xd0\xaf\xd1\x86\xd1\x83\xd0\xba\xd0\xb5\xd0\xbd')
-+ :call EQ('\xe2\x84\xaa', 'k')
-+ :call LT('\xe2\x84\xaa', 'kkkkkk')
-+ :call EQ('\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa', 'kkk')
-+ :call LT('kk', '\xe2\x84\xaa\xe2\x84\xaa\xe2\x84\xaa')
-+ :call EQ('\xe2\x84\xaa\xe2\x84\xa6k\xe2\x84\xaak\xcf\x89', 'k\xcf\x89\xe2\x84\xaakk\xe2\x84\xa6')
-+ :call EQ('Abc\x80', 'AbC\x80')
-+ :call LT('Abc\x80', 'AbC\x81')
-+ :call LT('Abc', 'AbC\x80')
-+ :call LT('abc\x80DEF', 'abc\x80def') " case folding stops at the first bad character
-+ :call LT('\xc3XYZ', '\xc3xyz')
-+ :call EQ('\xef\xbc\xba', '\xef\xbd\x9a') " FF3A (upper), FF5A (lower)
-+ :call GT('\xef\xbc\xba', '\xef\xbc\xff') " first string is ok and equals \xef\xbd\x9a after folding, second string is illegal and was left unchanged, then the strings were bytewise compared
-+ :call LT('\xc3', '\xc3\x83')
-+ :call EQ('\xc3\xa3xYz', '\xc3\x83XyZ')
-+ :for n in range(0x60, 0xFF) | call LT(printf('xYz\x%.2X', n-1), printf('XyZ\x%.2X', n)) | endfor
-+ :for n in range(0x80, 0xBF) | call EQ(printf('xYz\xc2\x%.2XUvW', n), printf('XyZ\xc2\x%.2XuVw', n)) | endfor
-+ :for n in range(0xC0, 0xFF) | call LT(printf('xYz\xc2\x%.2XUvW', n), printf('XyZ\xc2\x%.2XuVw', n)) | endfor
-+ :call append(0, printf('%d checks passed', b:passed))
-+ :wq! test.out
-+ ENDTEST
-+
-*** ../vim-7.3.252/src/testdir/test82.ok 2011-07-15 21:16:03.000000000 +0200
---- src/testdir/test82.ok 2011-07-15 18:37:33.000000000 +0200
-***************
-*** 0 ****
---- 1,2 ----
-+ 3732 checks passed
-+
-*** ../vim-7.3.252/src/testdir/Makefile 2011-06-26 05:36:07.000000000 +0200
---- src/testdir/Makefile 2011-07-15 18:30:08.000000000 +0200
-***************
-*** 26,32 ****
- test64.out test65.out test66.out test67.out test68.out \
- test69.out test70.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out
-
- SCRIPTS_GUI = test16.out
-
---- 26,32 ----
- test64.out test65.out test66.out test67.out test68.out \
- test69.out test70.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out test82.out
-
- SCRIPTS_GUI = test16.out
-
-*** ../vim-7.3.252/src/testdir/Make_amiga.mak 2011-06-26 05:36:07.000000000 +0200
---- src/testdir/Make_amiga.mak 2011-07-15 18:29:50.000000000 +0200
-***************
-*** 29,35 ****
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
- test76.out test77.out test78.out test79.out test80.out \
-! test81.out
-
- .SUFFIXES: .in .out
-
---- 29,35 ----
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
- test76.out test77.out test78.out test79.out test80.out \
-! test81.out test82.out
-
- .SUFFIXES: .in .out
-
-***************
-*** 130,132 ****
---- 130,133 ----
- test79.out: test79.in
- test80.out: test80.in
- test81.out: test81.in
-+ test82.out: test82.in
-*** ../vim-7.3.252/src/testdir/Make_dos.mak 2011-06-26 05:36:07.000000000 +0200
---- src/testdir/Make_dos.mak 2011-07-15 18:30:02.000000000 +0200
-***************
-*** 29,35 ****
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 29,35 ----
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out test82.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.252/src/testdir/Make_ming.mak 2011-06-26 05:36:07.000000000 +0200
---- src/testdir/Make_ming.mak 2011-07-15 18:30:15.000000000 +0200
-***************
-*** 49,55 ****
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 49,55 ----
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out test82.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.252/src/testdir/Make_os2.mak 2011-06-26 05:36:07.000000000 +0200
---- src/testdir/Make_os2.mak 2011-07-15 18:30:25.000000000 +0200
-***************
-*** 29,35 ****
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
- test76.out test77.out test78.out test79.out test80.out \
-! test81.out
-
- .SUFFIXES: .in .out
-
---- 29,35 ----
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
- test76.out test77.out test78.out test79.out test80.out \
-! test81.out test82.out
-
- .SUFFIXES: .in .out
-
-*** ../vim-7.3.252/src/testdir/Make_vms.mms 2011-06-26 05:36:07.000000000 +0200
---- src/testdir/Make_vms.mms 2011-07-15 18:30:33.000000000 +0200
-***************
-*** 4,10 ****
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
-! # Last change: 2011 Jun 26
- #
- # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
- # Edit the lines in the Configuration section below to select.
---- 4,10 ----
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
-! # Last change: 2011 Jul 15
- #
- # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
- # Edit the lines in the Configuration section below to select.
-***************
-*** 75,81 ****
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out \
- test71.out test72.out test74.out test75.out test76.out \
-! test77.out test78.out test79.out test80.out test81.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
---- 75,82 ----
- test61.out test62.out test63.out test64.out test65.out \
- test66.out test67.out test68.out test69.out \
- test71.out test72.out test74.out test75.out test76.out \
-! test77.out test78.out test79.out test80.out test81.out \
-! test82.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
-*** ../vim-7.3.252/src/version.c 2011-07-15 17:56:11.000000000 +0200
---- src/version.c 2011-07-15 21:12:26.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 253,
- /**/
-
---
-"Intelligence has much less practical application than you'd think."
- -- Scott Adams, Dilbert.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.254 b/source/ap/vim/patches/7.3.254
deleted file mode 100644
index 85176a7a6..000000000
--- a/source/ap/vim/patches/7.3.254
+++ /dev/null
@@ -1,47 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.254
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.254
-Problem: The coladd field is not reset when setting the line number for a
- ":call" command.
-Solution: Reset it.
-Files: src/eval.c
-
-
-*** ../vim-7.3.253/src/eval.c 2011-07-07 17:36:52.000000000 +0200
---- src/eval.c 2011-07-07 17:51:42.000000000 +0200
-***************
-*** 3430,3435 ****
---- 3430,3438 ----
- {
- curwin->w_cursor.lnum = lnum;
- curwin->w_cursor.col = 0;
-+ #ifdef FEAT_VIRTUALEDIT
-+ curwin->w_cursor.coladd = 0;
-+ #endif
- }
- arg = startarg;
- if (get_func_tv(name, (int)STRLEN(name), &rettv, &arg,
-*** ../vim-7.3.253/src/version.c 2011-07-15 21:16:54.000000000 +0200
---- src/version.c 2011-07-15 21:23:16.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 254,
- /**/
-
---
-Eight Megabytes And Continually Swapping.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.255 b/source/ap/vim/patches/7.3.255
deleted file mode 100644
index c01a585ec..000000000
--- a/source/ap/vim/patches/7.3.255
+++ /dev/null
@@ -1,81 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.255
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.255
-Problem: When editing a file such as "File[2010-08-15].vim" an E16 error is
- given. (Manuel Stol)
-Solution: Don't give an error for failing to compile the regexp.
-Files: src/ex_docmd.c, src/misc1.c, src/vim.h
-
-
-*** ../vim-7.3.254/src/ex_docmd.c 2011-06-13 01:19:48.000000000 +0200
---- src/ex_docmd.c 2011-07-20 14:48:01.000000000 +0200
-***************
-*** 7069,7075 ****
- old_arg_count = GARGCOUNT;
- if (expand_wildcards(old_arg_count, old_arg_files,
- &new_arg_file_count, &new_arg_files,
-! EW_FILE|EW_NOTFOUND|EW_ADDSLASH) == OK
- && new_arg_file_count > 0)
- {
- alist_set(&global_alist, new_arg_file_count, new_arg_files,
---- 7069,7075 ----
- old_arg_count = GARGCOUNT;
- if (expand_wildcards(old_arg_count, old_arg_files,
- &new_arg_file_count, &new_arg_files,
-! EW_FILE|EW_NOTFOUND|EW_ADDSLASH|EW_NOERROR) == OK
- && new_arg_file_count > 0)
- {
- alist_set(&global_alist, new_arg_file_count, new_arg_files,
-*** ../vim-7.3.254/src/misc1.c 2011-07-15 14:12:25.000000000 +0200
---- src/misc1.c 2011-07-20 14:55:09.000000000 +0200
-***************
-*** 9043,9050 ****
---- 9043,9054 ----
- }
-
- /* compile the regexp into a program */
-+ if (flags & EW_NOERROR)
-+ ++emsg_silent;
- regmatch.rm_ic = TRUE; /* Always ignore case */
- regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
-+ if (flags & EW_NOERROR)
-+ --emsg_silent;
- vim_free(pat);
-
- if (regmatch.regprog == NULL)
-*** ../vim-7.3.254/src/vim.h 2011-06-13 02:03:55.000000000 +0200
---- src/vim.h 2011-07-20 14:50:13.000000000 +0200
-***************
-*** 815,820 ****
---- 815,821 ----
- #define EW_EXEC 0x40 /* executable files */
- #define EW_PATH 0x80 /* search in 'path' too */
- #define EW_ICASE 0x100 /* ignore case */
-+ #define EW_NOERROR 0x200 /* no error for bad regexp */
- /* Note: mostly EW_NOTFOUND and EW_SILENT are mutually exclusive: EW_NOTFOUND
- * is used when executing commands and EW_SILENT for interactive expanding. */
-
-*** ../vim-7.3.254/src/version.c 2011-07-15 21:24:06.000000000 +0200
---- src/version.c 2011-07-20 15:03:52.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 255,
- /**/
-
---
-Not too long ago, a program was something you watched on TV...
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.256 b/source/ap/vim/patches/7.3.256
deleted file mode 100644
index b8c9f00d1..000000000
--- a/source/ap/vim/patches/7.3.256
+++ /dev/null
@@ -1,322 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.256
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.256
-Problem: Javascript indenting not sufficiently tested.
-Solution: Add more tests. (Luc Deschenaux) Mark the lines that are indented
- wrong.
-Files: src/testdir/test3.in, src/testdir/test3.ok
-
-
-*** ../vim-7.3.255/src/testdir/test3.in 2011-07-15 14:12:25.000000000 +0200
---- src/testdir/test3.in 2011-07-15 21:05:49.000000000 +0200
-***************
-*** 1592,1598 ****
-
-
- STARTTEST
-! :set cino=J1
- /^JSSTART
- =/^JSEND
- ENDTEST
---- 1592,1598 ----
-
-
- STARTTEST
-! :set cino=j1,J1
- /^JSSTART
- =/^JSEND
- ENDTEST
-***************
-*** 1613,1618 ****
---- 1613,1757 ----
- JSEND
-
- STARTTEST
-+ :set cino=j1,J1
-+ /^JSSTART
-+ =/^JSEND
-+ ENDTEST
-+
-+ JSSTART
-+ var foo = [
-+ 1, // indent 8 more
-+ 2,
-+ 3
-+ ]; // indent 8 less
-+ JSEND
-+
-+ STARTTEST
-+ :set cino=j1,J1
-+ /^JSSTART
-+ =/^JSEND
-+ ENDTEST
-+
-+ JSSTART
-+ function bar() {
-+ var foo = [
-+ 1,
-+ 2,
-+ 3
-+ ]; // indent 16 less
-+ }
-+ JSEND
-+
-+ STARTTEST
-+ :set cino=j1,J1
-+ /^JSSTART
-+ =/^JSEND
-+ ENDTEST
-+
-+ JSSTART
-+ (function($){
-+
-+ var class_name='myclass';
-+
-+ function private_method() {
-+ }
-+
-+ var public_method={
-+ method: function(options,args){
-+ private_method();
-+ }
-+ }
-+
-+ function init(options) {
-+
-+ $(this).data(class_name+'_public',$.extend({},{
-+ foo: 'bar',
-+ bar: 2, // indent 8 more
-+ foobar: [ // indent 8 more
-+ 1, // indent 8 more
-+ 2, // indent 16 more
-+ 3 // indent 16 more
-+ ],
-+ callback: function(){ // indent 8 more
-+ return true; // indent 8 more
-+ } // indent 8 more
-+ }, options||{}));
-+ }
-+
-+ $.fn[class_name]=function() {
-+
-+ var _arguments=arguments;
-+ return this.each(function(){
-+
-+ var options=$(this).data(class_name+'_public');
-+ if (!options) {
-+ init.apply(this,_arguments);
-+
-+ } else {
-+ var method=public_method[_arguments[0]];
-+
-+ if (typeof(method)!='function') {
-+ console.log(class_name+' has no method "'+_arguments[0]+'"');
-+ return false;
-+ }
-+ _arguments[0]=options;
-+ method.apply(this,_arguments);
-+ }
-+ });
-+ }
-+
-+ })(jQuery);
-+ JSEND
-+
-+ STARTTEST
-+ :set cino=j1,J1
-+ /^JSSTART
-+ =/^JSEND
-+ ENDTEST
-+
-+ JSSTART
-+ function init(options) {
-+ $(this).data(class_name+'_public',$.extend({},{
-+ foo: 'bar',
-+ bar: 2,
-+ foobar: [
-+ 1, // indent 8 more
-+ 2, // indent 8 more
-+ 3 // indent 8 more
-+ ],
-+ callback: function(){
-+ return true;
-+ }
-+ }, options||{}));
-+ }
-+ JSEND
-+
-+ STARTTEST
-+ :set cino=j1,J1
-+ /^JSSTART
-+ =/^JSEND
-+ ENDTEST
-+
-+ JSSTART
-+ (function($){
-+ function init(options) {
-+ $(this).data(class_name+'_public',$.extend({},{
-+ foo: 'bar',
-+ bar: 2, // indent 8 more
-+ foobar: [ // indent 8 more
-+ 1, // indent 8 more
-+ 2, // indent 16 more
-+ 3 // indent 16 more
-+ ],
-+ callback: function(){ // indent 8 more
-+ return true; // indent 8 more
-+ } // indent 8 more
-+ }, options||{}));
-+ }
-+ })(jQuery);
-+ JSEND
-+
-+ STARTTEST
- :g/^STARTTEST/.,/^ENDTEST/d
- :1;/start of AUTO/,$wq! test.out
- ENDTEST
-*** ../vim-7.3.255/src/testdir/test3.ok 2011-07-15 14:12:25.000000000 +0200
---- src/testdir/test3.ok 2011-07-15 21:06:38.000000000 +0200
-***************
-*** 1443,1445 ****
---- 1443,1559 ----
- }
- JSEND
-
-+
-+ JSSTART
-+ var foo = [
-+ 1, // indent 8 more
-+ 2,
-+ 3
-+ ]; // indent 8 less
-+ JSEND
-+
-+
-+ JSSTART
-+ function bar() {
-+ var foo = [
-+ 1,
-+ 2,
-+ 3
-+ ]; // indent 16 less
-+ }
-+ JSEND
-+
-+
-+ JSSTART
-+ (function($){
-+
-+ var class_name='myclass';
-+
-+ function private_method() {
-+ }
-+
-+ var public_method={
-+ method: function(options,args){
-+ private_method();
-+ }
-+ }
-+
-+ function init(options) {
-+
-+ $(this).data(class_name+'_public',$.extend({},{
-+ foo: 'bar',
-+ bar: 2, // indent 8 more
-+ foobar: [ // indent 8 more
-+ 1, // indent 8 more
-+ 2, // indent 16 more
-+ 3 // indent 16 more
-+ ],
-+ callback: function(){ // indent 8 more
-+ return true; // indent 8 more
-+ } // indent 8 more
-+ }, options||{}));
-+ }
-+
-+ $.fn[class_name]=function() {
-+
-+ var _arguments=arguments;
-+ return this.each(function(){
-+
-+ var options=$(this).data(class_name+'_public');
-+ if (!options) {
-+ init.apply(this,_arguments);
-+
-+ } else {
-+ var method=public_method[_arguments[0]];
-+
-+ if (typeof(method)!='function') {
-+ console.log(class_name+' has no method "'+_arguments[0]+'"');
-+ return false;
-+ }
-+ _arguments[0]=options;
-+ method.apply(this,_arguments);
-+ }
-+ });
-+ }
-+
-+ })(jQuery);
-+ JSEND
-+
-+
-+ JSSTART
-+ function init(options) {
-+ $(this).data(class_name+'_public',$.extend({},{
-+ foo: 'bar',
-+ bar: 2,
-+ foobar: [
-+ 1, // indent 8 more
-+ 2, // indent 8 more
-+ 3 // indent 8 more
-+ ],
-+ callback: function(){
-+ return true;
-+ }
-+ }, options||{}));
-+ }
-+ JSEND
-+
-+
-+ JSSTART
-+ (function($){
-+ function init(options) {
-+ $(this).data(class_name+'_public',$.extend({},{
-+ foo: 'bar',
-+ bar: 2, // indent 8 more
-+ foobar: [ // indent 8 more
-+ 1, // indent 8 more
-+ 2, // indent 16 more
-+ 3 // indent 16 more
-+ ],
-+ callback: function(){ // indent 8 more
-+ return true; // indent 8 more
-+ } // indent 8 more
-+ }, options||{}));
-+ }
-+ })(jQuery);
-+ JSEND
-+
-*** ../vim-7.3.255/src/version.c 2011-07-20 15:04:52.000000000 +0200
---- src/version.c 2011-07-20 15:08:13.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 256,
- /**/
-
---
-Not too long ago, a keyboard was something to make music with...
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.257 b/source/ap/vim/patches/7.3.257
deleted file mode 100644
index f6292bf8d..000000000
--- a/source/ap/vim/patches/7.3.257
+++ /dev/null
@@ -1,97 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.257
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.257
-Problem: Not all completions are available to user commands.
-Solution: Add "color", "compiler", "file_in_path" and "locale". (Dominique
- Pelle)
-Files: src/ex_docmd.c, runtime/doc/map.txt
-
-
-*** ../vim-7.3.256/src/ex_docmd.c 2011-07-20 15:04:52.000000000 +0200
---- src/ex_docmd.c 2011-07-20 16:10:28.000000000 +0200
-***************
-*** 5297,5303 ****
---- 5297,5305 ----
- {
- {EXPAND_AUGROUP, "augroup"},
- {EXPAND_BUFFERS, "buffer"},
-+ {EXPAND_COLORS, "color"},
- {EXPAND_COMMANDS, "command"},
-+ {EXPAND_COMPILER, "compiler"},
- #if defined(FEAT_CSCOPE)
- {EXPAND_CSCOPE, "cscope"},
- #endif
-***************
-*** 5310,5319 ****
---- 5312,5326 ----
- {EXPAND_EVENTS, "event"},
- {EXPAND_EXPRESSION, "expression"},
- {EXPAND_FILES, "file"},
-+ {EXPAND_FILES_IN_PATH, "file_in_path"},
- {EXPAND_FILETYPE, "filetype"},
- {EXPAND_FUNCTIONS, "function"},
- {EXPAND_HELP, "help"},
- {EXPAND_HIGHLIGHT, "highlight"},
-+ #if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \
-+ && (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE))
-+ {EXPAND_LOCALES, "locale"},
-+ #endif
- {EXPAND_MAPPINGS, "mapping"},
- {EXPAND_MENUS, "menu"},
- {EXPAND_OWNSYNTAX, "syntax"},
-*** ../vim-7.3.256/runtime/doc/map.txt 2011-05-19 17:25:36.000000000 +0200
---- runtime/doc/map.txt 2011-07-20 16:10:28.000000000 +0200
-***************
-*** 1202,1221 ****
---- 1211,1236 ----
-
- -complete=augroup autocmd groups
- -complete=buffer buffer names
-+ -complete=color color schemes
- -complete=command Ex command (and arguments)
-+ -complete=compiler compilers
-+ -complete=cscope |:cscope| suboptions
- -complete=dir directory names
- -complete=environment environment variable names
- -complete=event autocommand events
- -complete=expression Vim expression
- -complete=file file and directory names
-+ -complete=file_in_path file and directory names in |'path'|
- -complete=filetype filetype names |'filetype'|
- -complete=function function name
- -complete=help help subjects
- -complete=highlight highlight groups
-+ -complete=locale locale names (as output of locale -a)
- -complete=mapping mapping name
- -complete=menu menus
- -complete=option options
- -complete=shellcmd Shell command
-+ -complete=sign |:sign| suboptions
- -complete=syntax syntax file names |'syntax'|
- -complete=tag tags
- -complete=tag_listfiles tags, file names are shown when CTRL-D is hit
-*** ../vim-7.3.256/src/version.c 2011-07-20 15:09:38.000000000 +0200
---- src/version.c 2011-07-20 16:30:31.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 257,
- /**/
-
---
-I have to exercise early in the morning before my brain
-figures out what I'm doing.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.258 b/source/ap/vim/patches/7.3.258
deleted file mode 100644
index 277cbe774..000000000
--- a/source/ap/vim/patches/7.3.258
+++ /dev/null
@@ -1,70 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.258
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.258
-Problem: MS-Windows: The edit with existing vim context menu entries can be
- unwanted.
-Solution: Let a registry entry disable them. (Jerome Vuarand)
-Files: src/GvimExt/gvimext.cpp
-
-
-*** ../vim-7.3.257/src/GvimExt/gvimext.cpp 2010-08-15 21:57:29.000000000 +0200
---- src/GvimExt/gvimext.cpp 2011-07-20 16:48:09.000000000 +0200
-***************
-*** 586,593 ****
-
- // Initialize m_cntOfHWnd to 0
- m_cntOfHWnd = 0;
-! // Retrieve all the vim instances
-! EnumWindows(EnumWindowsProc, (LPARAM)this);
-
- if (cbFiles > 1)
- {
---- 586,608 ----
-
- // Initialize m_cntOfHWnd to 0
- m_cntOfHWnd = 0;
-!
-! HKEY keyhandle;
-! bool showExisting = true;
-!
-! // Check whether "Edit with existing Vim" entries are disabled.
-! if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Vim\\Gvim", 0,
-! KEY_READ, &keyhandle) == ERROR_SUCCESS)
-! {
-! if (RegQueryValueEx(keyhandle, "DisableEditWithExisting", 0, NULL,
-! NULL, NULL) == ERROR_SUCCESS)
-! showExisting = false;
-! RegCloseKey(keyhandle);
-! }
-!
-! // Retrieve all the vim instances, unless disabled.
-! if (showExisting)
-! EnumWindows(EnumWindowsProc, (LPARAM)this);
-
- if (cbFiles > 1)
- {
-*** ../vim-7.3.257/src/version.c 2011-07-20 16:36:35.000000000 +0200
---- src/version.c 2011-07-20 16:54:34.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 258,
- /**/
-
---
-What the word 'politics' means: 'Poli' in Latin meaning 'many' and 'tics'
-meaning 'bloodsucking creatures'.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.259 b/source/ap/vim/patches/7.3.259
deleted file mode 100644
index 91f9dfa13..000000000
--- a/source/ap/vim/patches/7.3.259
+++ /dev/null
@@ -1,503 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.259
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.259
-Problem: Equivalence classes only work for latin characters.
-Solution: Add the Unicode equivalence characters. (Dominique Pelle)
-Files: runtime/doc/pattern.txt, src/regexp.c, src/testdir/test44.in,
- src/testdir/test44.ok
-
-
-*** ../vim-7.3.258/runtime/doc/pattern.txt 2010-08-15 21:57:14.000000000 +0200
---- runtime/doc/pattern.txt 2011-07-20 17:44:03.000000000 +0200
-***************
-*** 1027,1037 ****
- These items only work for 8-bit characters.
- */[[=* *[==]*
- - An equivalence class. This means that characters are matched that
-! have almost the same meaning, e.g., when ignoring accents. The form
-! is:
- [=a=]
-- Currently this is only implemented for latin1. Also works for the
-- latin1 characters in utf-8 and latin9.
- */[[.* *[..]*
- - A collation element. This currently simply accepts a single
- character in the form:
---- 1036,1044 ----
- These items only work for 8-bit characters.
- */[[=* *[==]*
- - An equivalence class. This means that characters are matched that
-! have almost the same meaning, e.g., when ignoring accents. This
-! only works for Unicode, latin1 and latin9. The form is:
- [=a=]
- */[[.* *[..]*
- - A collation element. This currently simply accepts a single
- character in the form:
-*** ../vim-7.3.258/src/regexp.c 2011-06-19 04:31:54.000000000 +0200
---- src/regexp.c 2011-07-20 17:56:52.000000000 +0200
-***************
-*** 666,673 ****
---- 666,677 ----
- static void regc __ARGS((int b));
- #ifdef FEAT_MBYTE
- static void regmbc __ARGS((int c));
-+ # define REGMBC(x) regmbc(x);
-+ # define CASEMBC(x) case x:
- #else
- # define regmbc(c) regc(c)
-+ # define REGMBC(x)
-+ # define CASEMBC(x)
- #endif
- static void reginsert __ARGS((int, char_u *));
- static void reginsert_limits __ARGS((int, long, long, char_u *));
-***************
-*** 787,854 ****
- switch (c)
- {
- case 'A': case '\300': case '\301': case '\302':
- case '\303': case '\304': case '\305':
- regmbc('A'); regmbc('\300'); regmbc('\301');
- regmbc('\302'); regmbc('\303'); regmbc('\304');
- regmbc('\305');
- return;
- case 'C': case '\307':
- regmbc('C'); regmbc('\307');
- return;
- case 'E': case '\310': case '\311': case '\312': case '\313':
- regmbc('E'); regmbc('\310'); regmbc('\311');
- regmbc('\312'); regmbc('\313');
- return;
- case 'I': case '\314': case '\315': case '\316': case '\317':
- regmbc('I'); regmbc('\314'); regmbc('\315');
- regmbc('\316'); regmbc('\317');
- return;
- case 'N': case '\321':
- regmbc('N'); regmbc('\321');
- return;
- case 'O': case '\322': case '\323': case '\324': case '\325':
-! case '\326':
- regmbc('O'); regmbc('\322'); regmbc('\323');
- regmbc('\324'); regmbc('\325'); regmbc('\326');
- return;
- case 'U': case '\331': case '\332': case '\333': case '\334':
- regmbc('U'); regmbc('\331'); regmbc('\332');
- regmbc('\333'); regmbc('\334');
- return;
- case 'Y': case '\335':
- regmbc('Y'); regmbc('\335');
- return;
- case 'a': case '\340': case '\341': case '\342':
- case '\343': case '\344': case '\345':
- regmbc('a'); regmbc('\340'); regmbc('\341');
- regmbc('\342'); regmbc('\343'); regmbc('\344');
- regmbc('\345');
- return;
- case 'c': case '\347':
- regmbc('c'); regmbc('\347');
- return;
- case 'e': case '\350': case '\351': case '\352': case '\353':
- regmbc('e'); regmbc('\350'); regmbc('\351');
- regmbc('\352'); regmbc('\353');
- return;
- case 'i': case '\354': case '\355': case '\356': case '\357':
- regmbc('i'); regmbc('\354'); regmbc('\355');
- regmbc('\356'); regmbc('\357');
- return;
- case 'n': case '\361':
- regmbc('n'); regmbc('\361');
- return;
- case 'o': case '\362': case '\363': case '\364': case '\365':
-! case '\366':
- regmbc('o'); regmbc('\362'); regmbc('\363');
- regmbc('\364'); regmbc('\365'); regmbc('\366');
- return;
- case 'u': case '\371': case '\372': case '\373': case '\374':
- regmbc('u'); regmbc('\371'); regmbc('\372');
- regmbc('\373'); regmbc('\374');
- return;
- case 'y': case '\375': case '\377':
- regmbc('y'); regmbc('\375'); regmbc('\377');
- return;
- }
- #endif
---- 791,1085 ----
- switch (c)
- {
- case 'A': case '\300': case '\301': case '\302':
-+ CASEMBC(0x100) CASEMBC(0x102) CASEMBC(0x104) CASEMBC(0x1cd)
-+ CASEMBC(0x1de) CASEMBC(0x1e0) CASEMBC(0x1ea2)
- case '\303': case '\304': case '\305':
- regmbc('A'); regmbc('\300'); regmbc('\301');
- regmbc('\302'); regmbc('\303'); regmbc('\304');
- regmbc('\305');
-+ REGMBC(0x100) REGMBC(0x102) REGMBC(0x104)
-+ REGMBC(0x1cd) REGMBC(0x1de) REGMBC(0x1e0)
-+ REGMBC(0x1ea2)
-+ return;
-+ case 'B': CASEMBC(0x1e02) CASEMBC(0x1e06)
-+ regmbc('B'); REGMBC(0x1e02) REGMBC(0x1e06)
- return;
- case 'C': case '\307':
-+ CASEMBC(0x106) CASEMBC(0x108) CASEMBC(0x10a) CASEMBC(0x10c)
- regmbc('C'); regmbc('\307');
-+ REGMBC(0x106) REGMBC(0x108) REGMBC(0x10a)
-+ REGMBC(0x10c)
-+ return;
-+ case 'D': CASEMBC(0x10e) CASEMBC(0x110) CASEMBC(0x1e0a)
-+ CASEMBC(0x1e0e) CASEMBC(0x1e10)
-+ regmbc('D'); REGMBC(0x10e) REGMBC(0x110)
-+ REGMBC(0x1e0a) REGMBC(0x1e0e) REGMBC(0x1e10)
- return;
- case 'E': case '\310': case '\311': case '\312': case '\313':
-+ CASEMBC(0x112) CASEMBC(0x114) CASEMBC(0x116) CASEMBC(0x118)
-+ CASEMBC(0x11a) CASEMBC(0x1eba) CASEMBC(0x1ebc)
- regmbc('E'); regmbc('\310'); regmbc('\311');
- regmbc('\312'); regmbc('\313');
-+ REGMBC(0x112) REGMBC(0x114) REGMBC(0x116)
-+ REGMBC(0x118) REGMBC(0x11a) REGMBC(0x1eba)
-+ REGMBC(0x1ebc)
-+ return;
-+ case 'F': CASEMBC(0x1e1e)
-+ regmbc('F'); REGMBC(0x1e1e)
-+ return;
-+ case 'G': CASEMBC(0x11c) CASEMBC(0x11e) CASEMBC(0x120)
-+ CASEMBC(0x122) CASEMBC(0x1e4) CASEMBC(0x1e6) CASEMBC(0x1f4)
-+ CASEMBC(0x1e20)
-+ regmbc('G'); REGMBC(0x11c) REGMBC(0x11e)
-+ REGMBC(0x120) REGMBC(0x122) REGMBC(0x1e4)
-+ REGMBC(0x1e6) REGMBC(0x1f4) REGMBC(0x1e20)
-+ return;
-+ case 'H': CASEMBC(0x124) CASEMBC(0x126) CASEMBC(0x1e22)
-+ CASEMBC(0x1e26) CASEMBC(0x1e28)
-+ regmbc('H'); REGMBC(0x124) REGMBC(0x126)
-+ REGMBC(0x1e22) REGMBC(0x1e26) REGMBC(0x1e28)
- return;
- case 'I': case '\314': case '\315': case '\316': case '\317':
-+ CASEMBC(0x128) CASEMBC(0x12a) CASEMBC(0x12c) CASEMBC(0x12e)
-+ CASEMBC(0x130) CASEMBC(0x1cf) CASEMBC(0x1ec8)
- regmbc('I'); regmbc('\314'); regmbc('\315');
- regmbc('\316'); regmbc('\317');
-+ REGMBC(0x128) REGMBC(0x12a) REGMBC(0x12c)
-+ REGMBC(0x12e) REGMBC(0x130) REGMBC(0x1cf)
-+ REGMBC(0x1ec8)
-+ return;
-+ case 'J': CASEMBC(0x134)
-+ regmbc('J'); REGMBC(0x134)
-+ return;
-+ case 'K': CASEMBC(0x136) CASEMBC(0x1e8) CASEMBC(0x1e30)
-+ CASEMBC(0x1e34)
-+ regmbc('K'); REGMBC(0x136) REGMBC(0x1e8)
-+ REGMBC(0x1e30) REGMBC(0x1e34)
-+ return;
-+ case 'L': CASEMBC(0x139) CASEMBC(0x13b) CASEMBC(0x13d)
-+ CASEMBC(0x13f) CASEMBC(0x141) CASEMBC(0x1e3a)
-+ regmbc('L'); REGMBC(0x139) REGMBC(0x13b)
-+ REGMBC(0x13d) REGMBC(0x13f) REGMBC(0x141)
-+ REGMBC(0x1e3a)
-+ return;
-+ case 'M': CASEMBC(0x1e3e) CASEMBC(0x1e40)
-+ regmbc('M'); REGMBC(0x1e3e) REGMBC(0x1e40)
- return;
- case 'N': case '\321':
-+ CASEMBC(0x143) CASEMBC(0x145) CASEMBC(0x147) CASEMBC(0x1e44)
-+ CASEMBC(0x1e48)
- regmbc('N'); regmbc('\321');
-+ REGMBC(0x143) REGMBC(0x145) REGMBC(0x147)
-+ REGMBC(0x1e44) REGMBC(0x1e48)
- return;
- case 'O': case '\322': case '\323': case '\324': case '\325':
-! case '\326': case '\330':
-! CASEMBC(0x14c) CASEMBC(0x14e) CASEMBC(0x150) CASEMBC(0x1a0)
-! CASEMBC(0x1d1) CASEMBC(0x1ea) CASEMBC(0x1ec) CASEMBC(0x1ece)
- regmbc('O'); regmbc('\322'); regmbc('\323');
- regmbc('\324'); regmbc('\325'); regmbc('\326');
-+ regmbc('\330');
-+ REGMBC(0x14c) REGMBC(0x14e) REGMBC(0x150)
-+ REGMBC(0x1a0) REGMBC(0x1d1) REGMBC(0x1ea)
-+ REGMBC(0x1ec) REGMBC(0x1ece)
-+ return;
-+ case 'P': case 0x1e54: case 0x1e56:
-+ regmbc('P'); REGMBC(0x1e54) REGMBC(0x1e56)
-+ return;
-+ case 'R': CASEMBC(0x154) CASEMBC(0x156) CASEMBC(0x158)
-+ CASEMBC(0x1e58) CASEMBC(0x1e5e)
-+ regmbc('R'); REGMBC(0x154) REGMBC(0x156) REGMBC(0x158)
-+ REGMBC(0x1e58) REGMBC(0x1e5e)
-+ return;
-+ case 'S': CASEMBC(0x15a) CASEMBC(0x15c) CASEMBC(0x15e)
-+ CASEMBC(0x160) CASEMBC(0x1e60)
-+ regmbc('S'); REGMBC(0x15a) REGMBC(0x15c)
-+ REGMBC(0x15e) REGMBC(0x160) REGMBC(0x1e60)
-+ return;
-+ case 'T': CASEMBC(0x162) CASEMBC(0x164) CASEMBC(0x166)
-+ CASEMBC(0x1e6a) CASEMBC(0x1e6e)
-+ regmbc('T'); REGMBC(0x162) REGMBC(0x164)
-+ REGMBC(0x166) REGMBC(0x1e6a) REGMBC(0x1e6e)
- return;
- case 'U': case '\331': case '\332': case '\333': case '\334':
-+ CASEMBC(0x168) CASEMBC(0x16a) CASEMBC(0x16c) CASEMBC(0x16e)
-+ CASEMBC(0x170) CASEMBC(0x172) CASEMBC(0x1af) CASEMBC(0x1d3)
-+ CASEMBC(0x1ee6)
- regmbc('U'); regmbc('\331'); regmbc('\332');
- regmbc('\333'); regmbc('\334');
-+ REGMBC(0x168) REGMBC(0x16a) REGMBC(0x16c)
-+ REGMBC(0x16e) REGMBC(0x170) REGMBC(0x172)
-+ REGMBC(0x1af) REGMBC(0x1d3) REGMBC(0x1ee6)
-+ return;
-+ case 'V': CASEMBC(0x1e7c)
-+ regmbc('V'); REGMBC(0x1e7c)
-+ return;
-+ case 'W': CASEMBC(0x174) CASEMBC(0x1e80) CASEMBC(0x1e82)
-+ CASEMBC(0x1e84) CASEMBC(0x1e86)
-+ regmbc('W'); REGMBC(0x174) REGMBC(0x1e80)
-+ REGMBC(0x1e82) REGMBC(0x1e84) REGMBC(0x1e86)
-+ return;
-+ case 'X': CASEMBC(0x1e8a) CASEMBC(0x1e8c)
-+ regmbc('X'); REGMBC(0x1e8a) REGMBC(0x1e8c)
- return;
- case 'Y': case '\335':
-+ CASEMBC(0x176) CASEMBC(0x178) CASEMBC(0x1e8e) CASEMBC(0x1ef2)
-+ CASEMBC(0x1ef6) CASEMBC(0x1ef8)
- regmbc('Y'); regmbc('\335');
-+ REGMBC(0x176) REGMBC(0x178) REGMBC(0x1e8e)
-+ REGMBC(0x1ef2) REGMBC(0x1ef6) REGMBC(0x1ef8)
-+ return;
-+ case 'Z': CASEMBC(0x179) CASEMBC(0x17b) CASEMBC(0x17d)
-+ CASEMBC(0x1b5) CASEMBC(0x1e90) CASEMBC(0x1e94)
-+ regmbc('Z'); REGMBC(0x179) REGMBC(0x17b)
-+ REGMBC(0x17d) REGMBC(0x1b5) REGMBC(0x1e90)
-+ REGMBC(0x1e94)
- return;
- case 'a': case '\340': case '\341': case '\342':
- case '\343': case '\344': case '\345':
-+ CASEMBC(0x101) CASEMBC(0x103) CASEMBC(0x105) CASEMBC(0x1ce)
-+ CASEMBC(0x1df) CASEMBC(0x1e1) CASEMBC(0x1ea3)
- regmbc('a'); regmbc('\340'); regmbc('\341');
- regmbc('\342'); regmbc('\343'); regmbc('\344');
- regmbc('\345');
-+ REGMBC(0x101) REGMBC(0x103) REGMBC(0x105)
-+ REGMBC(0x1ce) REGMBC(0x1df) REGMBC(0x1e1)
-+ REGMBC(0x1ea3)
-+ return;
-+ case 'b': CASEMBC(0x1e03) CASEMBC(0x1e07)
-+ regmbc('b'); REGMBC(0x1e03) REGMBC(0x1e07)
- return;
- case 'c': case '\347':
-+ CASEMBC(0x107) CASEMBC(0x109) CASEMBC(0x10b) CASEMBC(0x10d)
- regmbc('c'); regmbc('\347');
-+ REGMBC(0x107) REGMBC(0x109) REGMBC(0x10b)
-+ REGMBC(0x10d)
-+ return;
-+ case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1d0b)
-+ CASEMBC(0x1e11)
-+ regmbc('d'); REGMBC(0x10f) REGMBC(0x111)
-+ REGMBC(0x1e0b) REGMBC(0x01e0f) REGMBC(0x1e11)
- return;
- case 'e': case '\350': case '\351': case '\352': case '\353':
-+ CASEMBC(0x113) CASEMBC(0x115) CASEMBC(0x117) CASEMBC(0x119)
-+ CASEMBC(0x11b) CASEMBC(0x1ebb) CASEMBC(0x1ebd)
- regmbc('e'); regmbc('\350'); regmbc('\351');
- regmbc('\352'); regmbc('\353');
-+ REGMBC(0x113) REGMBC(0x115) REGMBC(0x117)
-+ REGMBC(0x119) REGMBC(0x11b) REGMBC(0x1ebb)
-+ REGMBC(0x1ebd)
-+ return;
-+ case 'f': CASEMBC(0x1e1f)
-+ regmbc('f'); REGMBC(0x1e1f)
-+ return;
-+ case 'g': CASEMBC(0x11d) CASEMBC(0x11f) CASEMBC(0x121)
-+ CASEMBC(0x123) CASEMBC(0x1e5) CASEMBC(0x1e7) CASEMBC(0x1f5)
-+ CASEMBC(0x1e21)
-+ regmbc('g'); REGMBC(0x11d) REGMBC(0x11f)
-+ REGMBC(0x121) REGMBC(0x123) REGMBC(0x1e5)
-+ REGMBC(0x1e7) REGMBC(0x1f5) REGMBC(0x1e21)
-+ return;
-+ case 'h': CASEMBC(0x125) CASEMBC(0x127) CASEMBC(0x1e23)
-+ CASEMBC(0x1e27) CASEMBC(0x1e29) CASEMBC(0x1e96)
-+ regmbc('h'); REGMBC(0x125) REGMBC(0x127)
-+ REGMBC(0x1e23) REGMBC(0x1e27) REGMBC(0x1e29)
-+ REGMBC(0x1e96)
- return;
- case 'i': case '\354': case '\355': case '\356': case '\357':
-+ CASEMBC(0x129) CASEMBC(0x12b) CASEMBC(0x12d) CASEMBC(0x12f)
-+ CASEMBC(0x1d0) CASEMBC(0x1ec9)
- regmbc('i'); regmbc('\354'); regmbc('\355');
- regmbc('\356'); regmbc('\357');
-+ REGMBC(0x129) REGMBC(0x12b) REGMBC(0x12d)
-+ REGMBC(0x12f) REGMBC(0x1d0) REGMBC(0x1ec9)
-+ return;
-+ case 'j': CASEMBC(0x135) CASEMBC(0x1f0)
-+ regmbc('j'); REGMBC(0x135) REGMBC(0x1f0)
-+ return;
-+ case 'k': CASEMBC(0x137) CASEMBC(0x1e9) CASEMBC(0x1e31)
-+ CASEMBC(0x1e35)
-+ regmbc('k'); REGMBC(0x137) REGMBC(0x1e9)
-+ REGMBC(0x1e31) REGMBC(0x1e35)
-+ return;
-+ case 'l': CASEMBC(0x13a) CASEMBC(0x13c) CASEMBC(0x13e)
-+ CASEMBC(0x140) CASEMBC(0x142) CASEMBC(0x1e3b)
-+ regmbc('l'); REGMBC(0x13a) REGMBC(0x13c)
-+ REGMBC(0x13e) REGMBC(0x140) REGMBC(0x142)
-+ REGMBC(0x1e3b)
-+ return;
-+ case 'm': CASEMBC(0x1e3f) CASEMBC(0x1e41)
-+ regmbc('m'); REGMBC(0x1e3f) REGMBC(0x1e41)
- return;
- case 'n': case '\361':
-+ CASEMBC(0x144) CASEMBC(0x146) CASEMBC(0x148) CASEMBC(0x149)
-+ CASEMBC(0x1e45) CASEMBC(0x1e49)
- regmbc('n'); regmbc('\361');
-+ REGMBC(0x144) REGMBC(0x146) REGMBC(0x148)
-+ REGMBC(0x149) REGMBC(0x1e45) REGMBC(0x1e49)
- return;
- case 'o': case '\362': case '\363': case '\364': case '\365':
-! case '\366': case '\370':
-! CASEMBC(0x14d) CASEMBC(0x14f) CASEMBC(0x151) CASEMBC(0x1a1)
-! CASEMBC(0x1d2) CASEMBC(0x1eb) CASEMBC(0x1ed) CASEMBC(0x1ecf)
- regmbc('o'); regmbc('\362'); regmbc('\363');
- regmbc('\364'); regmbc('\365'); regmbc('\366');
-+ regmbc('\370');
-+ REGMBC(0x14d) REGMBC(0x14f) REGMBC(0x151)
-+ REGMBC(0x1a1) REGMBC(0x1d2) REGMBC(0x1eb)
-+ REGMBC(0x1ed) REGMBC(0x1ecf)
-+ return;
-+ case 'p': CASEMBC(0x1e55) CASEMBC(0x1e57)
-+ regmbc('p'); REGMBC(0x1e55) REGMBC(0x1e57)
-+ return;
-+ case 'r': CASEMBC(0x155) CASEMBC(0x157) CASEMBC(0x159)
-+ CASEMBC(0x1e59) CASEMBC(0x1e5f)
-+ regmbc('r'); REGMBC(0x155) REGMBC(0x157) REGMBC(0x159)
-+ REGMBC(0x1e59) REGMBC(0x1e5f)
-+ return;
-+ case 's': CASEMBC(0x15b) CASEMBC(0x15d) CASEMBC(0x15f)
-+ CASEMBC(0x161) CASEMBC(0x1e61)
-+ regmbc('s'); REGMBC(0x15b) REGMBC(0x15d)
-+ REGMBC(0x15f) REGMBC(0x161) REGMBC(0x1e61)
-+ return;
-+ case 't': CASEMBC(0x163) CASEMBC(0x165) CASEMBC(0x167)
-+ CASEMBC(0x1e6b) CASEMBC(0x1e6f) CASEMBC(0x1e97)
-+ regmbc('t'); REGMBC(0x163) REGMBC(0x165) REGMBC(0x167)
-+ REGMBC(0x1e6b) REGMBC(0x1e6f) REGMBC(0x1e97)
- return;
- case 'u': case '\371': case '\372': case '\373': case '\374':
-+ CASEMBC(0x169) CASEMBC(0x16b) CASEMBC(0x16d) CASEMBC(0x16f)
-+ CASEMBC(0x171) CASEMBC(0x173) CASEMBC(0x1b0) CASEMBC(0x1d4)
-+ CASEMBC(0x1ee7)
- regmbc('u'); regmbc('\371'); regmbc('\372');
- regmbc('\373'); regmbc('\374');
-+ REGMBC(0x169) REGMBC(0x16b) REGMBC(0x16d)
-+ REGMBC(0x16f) REGMBC(0x171) REGMBC(0x173)
-+ REGMBC(0x1b0) REGMBC(0x1d4) REGMBC(0x1ee7)
-+ return;
-+ case 'v': CASEMBC(0x1e7d)
-+ regmbc('v'); REGMBC(0x1e7d)
-+ return;
-+ case 'w': CASEMBC(0x175) CASEMBC(0x1e81) CASEMBC(0x1e83)
-+ CASEMBC(0x1e85) CASEMBC(0x1e87) CASEMBC(0x1e98)
-+ regmbc('w'); REGMBC(0x175) REGMBC(0x1e81)
-+ REGMBC(0x1e83) REGMBC(0x1e85) REGMBC(0x1e87)
-+ REGMBC(0x1e98)
-+ return;
-+ case 'x': CASEMBC(0x1e8b) CASEMBC(0x1e8d)
-+ regmbc('x'); REGMBC(0x1e8b) REGMBC(0x1e8d)
- return;
- case 'y': case '\375': case '\377':
-+ CASEMBC(0x177) CASEMBC(0x1e8f) CASEMBC(0x1e99)
-+ CASEMBC(0x1ef3) CASEMBC(0x1ef7) CASEMBC(0x1ef9)
- regmbc('y'); regmbc('\375'); regmbc('\377');
-+ REGMBC(0x177) REGMBC(0x1e8f) REGMBC(0x1e99)
-+ REGMBC(0x1ef3) REGMBC(0x1ef7) REGMBC(0x1ef9)
-+ return;
-+ case 'z': CASEMBC(0x17a) CASEMBC(0x17c) CASEMBC(0x17e)
-+ CASEMBC(0x1b6) CASEMBC(0x1e91) CASEMBC(0x1e95)
-+ regmbc('z'); REGMBC(0x17a) REGMBC(0x17c)
-+ REGMBC(0x17e) REGMBC(0x1b6) REGMBC(0x1e91)
-+ REGMBC(0x1e95)
- return;
- }
- #endif
-***************
-*** 2468,2473 ****
---- 2699,2706 ----
- regmbc(c)
- int c;
- {
-+ if (!has_mbyte && c > 0xff)
-+ return;
- if (regcode == JUST_CALC_SIZE)
- regsize += (*mb_char2len)(c);
- else
-***************
-*** 2588,2594 ****
- else
- offset = (int)(val - scan);
- /* When the offset uses more than 16 bits it can no longer fit in the two
-! * bytes avaliable. Use a global flag to avoid having to check return
- * values in too many places. */
- if (offset > 0xffff)
- reg_toolong = TRUE;
---- 2821,2827 ----
- else
- offset = (int)(val - scan);
- /* When the offset uses more than 16 bits it can no longer fit in the two
-! * bytes available. Use a global flag to avoid having to check return
- * values in too many places. */
- if (offset > 0xffff)
- reg_toolong = TRUE;
-*** ../vim-7.3.258/src/testdir/test44.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test44.in 2011-07-20 17:36:49.000000000 +0200
-***************
-*** 27,32 ****
---- 27,34 ----
- x/\%U12345678
- x/[\U1234abcd\u1234\uabcd]
- x/\%d21879b
-+ x/ [[=A=]]* [[=B=]]* [[=C=]]* [[=D=]]* [[=E=]]* [[=F=]]* [[=G=]]* [[=H=]]* [[=I=]]* [[=J=]]* [[=K=]]* [[=L=]]* [[=M=]]* [[=N=]]* [[=O=]]* [[=P=]]* [[=Q=]]* [[=R=]]* [[=S=]]* [[=T=]]* [[=U=]]* [[=V=]]* [[=W=]]* [[=X=]]* [[=Y=]]* [[=Z=]]*/e
-+ x/ [[=a=]]* [[=b=]]* [[=c=]]* [[=d=]]* [[=e=]]* [[=f=]]* [[=g=]]* [[=h=]]* [[=i=]]* [[=j=]]* [[=k=]]* [[=l=]]* [[=m=]]* [[=n=]]* [[=o=]]* [[=p=]]* [[=q=]]* [[=r=]]* [[=s=]]* [[=t=]]* [[=u=]]* [[=v=]]* [[=w=]]* [[=x=]]* [[=y=]]* [[=z=]]*/e
- x:?^1?,$w! test.out
- :e! test.out
- G:put =matchstr(\"×בגד\", \".\", 0, 2) " ב
-***************
-*** 53,55 ****
---- 55,59 ----
- e ü’…™¸y
- f ü’Š¯z
- g aå•·bb
-+ h AÀÃÂÃÄÅĀĂĄÇǞǠẢ BḂḆ CÇĆĈĊČ DÄŽÄḊḎḠEÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÃŒÃÃŽÃĨĪĬĮİÇỈ JÄ´ KĶǨḰḴ LĹĻĽĿÅḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎÅƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ Vá¹¼ WŴẀẂẄẆ XẊẌ YÃŶŸẎỲỶỸ ZŹŻŽƵáºáº”
-+ i aàáâãäåÄăąǎǟǡả bḃḇ cÃ§Ä‡Ä‰Ä‹Ä dÄđḋá¸á¸‘ eèéêëēĕėęěẻẽ fḟ gÄğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįÇỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṠnñńņňʼnṅṉ oòóôõöøÅÅÅ‘Æ¡Ç’Ç«Ç­á» pṕṗ q rŕŗřṙṟ sÅ›Åşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vá¹½ wŵáºáºƒáº…ẇẘ xẋẠyýÿŷáºáº™á»³á»·á»¹ zźżžƶẑẕ
-*** ../vim-7.3.258/src/testdir/test44.ok 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test44.ok 2011-07-20 17:36:49.000000000 +0200
-***************
-*** 14,19 ****
---- 14,21 ----
- e y
- f z
- g abb
-+ h AÀÃÂÃÄÅĀĂĄÇǞǠẢ BḂḆ CÇĆĈĊČ DÄŽÄḊḎḠEÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÃŒÃÃŽÃĨĪĬĮİÇỈ JÄ´ KĶǨḰḴ LĹĻĽĿÅḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎÅƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ Vá¹¼ WŴẀẂẄẆ XẊẌ YÃŶŸẎỲỶỸ ZŹŻŽƵáº
-+ i aàáâãäåÄăąǎǟǡả bḃḇ cÃ§Ä‡Ä‰Ä‹Ä dÄđḋá¸á¸‘ eèéêëēĕėęěẻẽ fḟ gÄğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįÇỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṠnñńņňʼnṅṉ oòóôõöøÅÅÅ‘Æ¡Ç’Ç«Ç­á» pṕṗ q rŕŗřṙṟ sÅ›Åşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vá¹½ wŵáºáºƒáº…ẇẘ xẋẠyýÿŷáºáº™á»³á»·á»¹ zźżžƶẑ
- ב
- בג
- ×
-*** ../vim-7.3.258/src/version.c 2011-07-20 17:27:17.000000000 +0200
---- src/version.c 2011-07-20 17:38:32.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 259,
- /**/
-
---
-Not too long ago, compress was something you did to garbage...
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.260 b/source/ap/vim/patches/7.3.260
deleted file mode 100644
index ba9af57aa..000000000
--- a/source/ap/vim/patches/7.3.260
+++ /dev/null
@@ -1,69 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.260
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.260
-Problem: CursorHold triggers on an incomplete mapping. (Will Gray)
-Solution: Don't trigger CursorHold when there is typeahead.
-Files: src/fileio.c
-
-
-*** ../vim-7.3.259/src/fileio.c 2011-05-19 17:25:36.000000000 +0200
---- src/fileio.c 2011-07-20 18:22:16.000000000 +0200
-***************
-*** 9044,9050 ****
- {
- int state;
-
-! if (!did_cursorhold && has_cursorhold() && !Recording
- #ifdef FEAT_INS_EXPAND
- && !ins_compl_active()
- #endif
---- 9044,9053 ----
- {
- int state;
-
-! if (!did_cursorhold
-! && has_cursorhold()
-! && !Recording
-! && typebuf.tb_len == 0
- #ifdef FEAT_INS_EXPAND
- && !ins_compl_active()
- #endif
-***************
-*** 9935,9940 ****
---- 9938,9945 ----
- if ((c == ';' || c == '>') && match == FALSE)
- {
- *pattern = NUL; /* Terminate the string */
-+ /* TODO: match with 'filetype' of buffer that "fname" comes
-+ * from. */
- match = mch_check_filetype(fname, type_start);
- *pattern = c; /* Restore the terminator */
- type_start = pattern + 1;
-*** ../vim-7.3.259/src/version.c 2011-07-20 17:58:14.000000000 +0200
---- src/version.c 2011-07-20 18:25:15.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 260,
- /**/
-
---
-LAUNCELOT: At last! A call! A cry of distress ...
- (he draws his sword, and turns to CONCORDE)
- Concorde! Brave, Concorde ... you shall not have died in vain!
-CONCORDE: I'm not quite dead, sir ...
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.261 b/source/ap/vim/patches/7.3.261
deleted file mode 100644
index 4c03f6b57..000000000
--- a/source/ap/vim/patches/7.3.261
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.261
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.261
-Problem: G++ error message errornously recognized as error.
-Solution: Ignore "In file included from" line also when it ends in a colon.
- (Fernando Castillo)
-Files: src/option.h
-
-
-*** ../vim-7.3.260/src/option.h 2011-06-26 05:36:07.000000000 +0200
---- src/option.h 2011-07-27 13:44:08.000000000 +0200
-***************
-*** 33,39 ****
- # ifdef EBCDIC
- #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
- # else
-! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-Gfrom %f:%l:%c,%-Gfrom %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
- # endif
- # endif
- # endif
---- 33,39 ----
- # ifdef EBCDIC
- #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
- # else
-! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-Gfrom %f:%l:%c,%-Gfrom %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
- # endif
- # endif
- # endif
-*** ../vim-7.3.260/src/version.c 2011-07-20 18:29:33.000000000 +0200
---- src/version.c 2011-07-27 13:46:23.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 261,
- /**/
-
---
-Have you heard about the new Barbie doll? It's called Divorce
-Barbie. It comes with all of Ken's stuff.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.262 b/source/ap/vim/patches/7.3.262
deleted file mode 100644
index b3bd5cd81..000000000
--- a/source/ap/vim/patches/7.3.262
+++ /dev/null
@@ -1,1356 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.262
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.262
-Problem: Photon code style doesn't match Vim style.
-Solution: Clean up some of it. (Elias Diem)
-Files: src/gui_photon.c
-
-
-*** ../vim-7.3.261/src/gui_photon.c 2011-01-17 20:08:03.000000000 +0100
---- src/gui_photon.c 2011-07-27 14:07:02.000000000 +0200
-***************
-*** 32,40 ****
- #endif
-
- #define ARRAY_LENGTH(a) (sizeof(a) / sizeof(a[0]))
-! #define RGB(r,g,b) PgRGB(r,g,b)
-
-! #define EVENT_BUFFER_SIZE sizeof( PhEvent_t ) + 1000
-
- /* Some defines for gui_mch_mousehide() */
- #define MOUSE_HIDE TRUE
---- 32,40 ----
- #endif
-
- #define ARRAY_LENGTH(a) (sizeof(a) / sizeof(a[0]))
-! #define RGB(r, g, b) PgRGB(r, g, b)
-
-! #define EVENT_BUFFER_SIZE sizeof(PhEvent_t) + 1000
-
- /* Some defines for gui_mch_mousehide() */
- #define MOUSE_HIDE TRUE
-***************
-*** 206,258 ****
- static PtCallbackF_t gui_ph_handle_menu_unrealized;
-
- #ifdef USE_PANEL_GROUP
-! static void gui_ph_get_panelgroup_margins( short*, short*, short*, short* );
- #endif
-
- #ifdef FEAT_TOOLBAR
-! static PhImage_t *gui_ph_toolbar_find_icon( vimmenu_T *menu );
- #endif
-
-! static void gui_ph_draw_start( void );
-! static void gui_ph_draw_end( void );
-
- /* Set the text for the balloon */
-! static PtWidget_t * gui_ph_show_tooltip( PtWidget_t *window,
- PtWidget_t *widget,
- int position,
- char *text,
- char *font,
- PgColor_t fill_color,
-! PgColor_t text_color );
-
- /****************************************************************************/
-
-! static PtWidget_t * gui_ph_show_tooltip( PtWidget_t *window,
- PtWidget_t *widget,
- int position,
- char *text,
- char *font,
- PgColor_t fill_color,
-! PgColor_t text_color )
- {
- PtArg_t arg;
- vimmenu_T *menu;
- char_u *tooltip;
-
-! PtSetArg( &arg, Pt_ARG_POINTER, &menu, 0 );
-! PtGetResources( widget, 1, &arg );
-
- /* Override the text and position */
-
- tooltip = text;
-! if( menu != NULL )
- {
- int index = MENU_INDEX_TIP;
-! if( menu->strings[ index ] != NULL )
- tooltip = menu->strings[ index ];
- }
-
-! return( PtInflateBalloon(
- window,
- widget,
- /* Don't put the balloon at the bottom,
---- 206,258 ----
- static PtCallbackF_t gui_ph_handle_menu_unrealized;
-
- #ifdef USE_PANEL_GROUP
-! static void gui_ph_get_panelgroup_margins(short*, short*, short*, short*);
- #endif
-
- #ifdef FEAT_TOOLBAR
-! static PhImage_t *gui_ph_toolbar_find_icon(vimmenu_T *menu);
- #endif
-
-! static void gui_ph_draw_start(void);
-! static void gui_ph_draw_end(void);
-
- /* Set the text for the balloon */
-! static PtWidget_t * gui_ph_show_tooltip(PtWidget_t *window,
- PtWidget_t *widget,
- int position,
- char *text,
- char *font,
- PgColor_t fill_color,
-! PgColor_t text_color);
-
- /****************************************************************************/
-
-! static PtWidget_t * gui_ph_show_tooltip(PtWidget_t *window,
- PtWidget_t *widget,
- int position,
- char *text,
- char *font,
- PgColor_t fill_color,
-! PgColor_t text_color)
- {
- PtArg_t arg;
- vimmenu_T *menu;
- char_u *tooltip;
-
-! PtSetArg(&arg, Pt_ARG_POINTER, &menu, 0);
-! PtGetResources(widget, 1, &arg);
-
- /* Override the text and position */
-
- tooltip = text;
-! if (menu != NULL)
- {
- int index = MENU_INDEX_TIP;
-! if (menu->strings[ index ] != NULL)
- tooltip = menu->strings[ index ];
- }
-
-! return PtInflateBalloon(
- window,
- widget,
- /* Don't put the balloon at the bottom,
-***************
-*** 261,285 ****
- tooltip,
- font,
- fill_color,
-! text_color ) );
- }
-
- static void
-! gui_ph_resize_container( void )
- {
- PhArea_t area;
-
-! PtWidgetArea( gui.vimWindow, &area );
-! PtWidgetPos ( gui.vimContainer, &area.pos );
-
-! PtSetResource( gui.vimContainer, Pt_ARG_AREA, &area, 0 );
- }
-
- static int
- gui_ph_handle_menu_resize(
- PtWidget_t *widget,
- void *other,
-! PtCallbackInfo_t *info )
- {
- PtContainerCallback_t *sizes = info->cbdata;
- PtWidget_t *container;
---- 261,285 ----
- tooltip,
- font,
- fill_color,
-! text_color);
- }
-
- static void
-! gui_ph_resize_container(void)
- {
- PhArea_t area;
-
-! PtWidgetArea(gui.vimWindow, &area);
-! PtWidgetPos (gui.vimContainer, &area.pos);
-
-! PtSetResource(gui.vimContainer, Pt_ARG_AREA, &area, 0);
- }
-
- static int
- gui_ph_handle_menu_resize(
- PtWidget_t *widget,
- void *other,
-! PtCallbackInfo_t *info)
- {
- PtContainerCallback_t *sizes = info->cbdata;
- PtWidget_t *container;
-***************
-*** 291,297 ****
- /* Because vim treats the toolbar and menubar separately,
- * and here they're lumped together into a PtToolbarGroup,
- * we only need either menu_height or toolbar_height set at once */
-! if( gui.menu_is_active )
- {
- gui.menu_height = height;
- gui.toolbar_height = 0;
---- 291,297 ----
- /* Because vim treats the toolbar and menubar separately,
- * and here they're lumped together into a PtToolbarGroup,
- * we only need either menu_height or toolbar_height set at once */
-! if (gui.menu_is_active)
- {
- gui.menu_height = height;
- gui.toolbar_height = 0;
-***************
-*** 310,325 ****
- container = gui.vimContainer;
- #endif
-
-! PtSetResource( container, Pt_ARG_POS, &below_menu, 0 );
-
- gui_ph_resize_container();
-
- #ifdef USE_PANEL_GROUP
- gui_ph_get_panelgroup_margins(
- &pg_margin_top, &pg_margin_bottom,
-! &pg_margin_left, &pg_margin_right );
- #endif
-! return( Pt_CONTINUE );
- }
-
- /*
---- 310,325 ----
- container = gui.vimContainer;
- #endif
-
-! PtSetResource(container, Pt_ARG_POS, &below_menu, 0);
-
- gui_ph_resize_container();
-
- #ifdef USE_PANEL_GROUP
- gui_ph_get_panelgroup_margins(
- &pg_margin_top, &pg_margin_bottom,
-! &pg_margin_left, &pg_margin_right);
- #endif
-! return Pt_CONTINUE;
- }
-
- /*
-***************
-*** 330,352 ****
- gui_ph_handle_timer_cursor(
- PtWidget_t *widget,
- void *data,
-! PtCallbackInfo_t *info )
- {
-! if( blink_state == BLINK_ON )
- {
- gui_undraw_cursor();
- blink_state = BLINK_OFF;
-! PtSetResource( gui_ph_timer_cursor, Pt_ARG_TIMER_INITIAL,
-! blink_offtime, 0 );
- }
- else
- {
- gui_update_cursor(TRUE, FALSE);
- blink_state = BLINK_ON;
-! PtSetResource( gui_ph_timer_cursor, Pt_ARG_TIMER_INITIAL,
-! blink_ontime, 0 );
- }
-! return( Pt_CONTINUE );
- }
-
- static int
---- 330,352 ----
- gui_ph_handle_timer_cursor(
- PtWidget_t *widget,
- void *data,
-! PtCallbackInfo_t *info)
- {
-! if (blink_state == BLINK_ON)
- {
- gui_undraw_cursor();
- blink_state = BLINK_OFF;
-! PtSetResource(gui_ph_timer_cursor, Pt_ARG_TIMER_INITIAL,
-! blink_offtime, 0);
- }
- else
- {
- gui_update_cursor(TRUE, FALSE);
- blink_state = BLINK_ON;
-! PtSetResource(gui_ph_timer_cursor, Pt_ARG_TIMER_INITIAL,
-! blink_ontime, 0);
- }
-! return Pt_CONTINUE;
- }
-
- static int
-***************
-*** 354,360 ****
- {
- is_timeout = TRUE;
-
-! return( Pt_CONTINUE );
- }
-
- static int
---- 354,360 ----
- {
- is_timeout = TRUE;
-
-! return Pt_CONTINUE;
- }
-
- static int
-***************
-*** 402,408 ****
- break;
- }
-
-! return( Pt_CONTINUE );
- }
-
- static int
---- 402,408 ----
- break;
- }
-
-! return Pt_CONTINUE;
- }
-
- static int
-***************
-*** 426,438 ****
-
- case Pt_SCROLL_SET:
- /* FIXME: return straight away here? */
-! return( Pt_CONTINUE );
- break;
- }
-
- gui_drag_scrollbar(sb, value, dragging);
- }
-! return( Pt_CONTINUE );
- }
-
- static int
---- 426,438 ----
-
- case Pt_SCROLL_SET:
- /* FIXME: return straight away here? */
-! return Pt_CONTINUE;
- break;
- }
-
- gui_drag_scrollbar(sb, value, dragging);
- }
-! return Pt_CONTINUE;
- }
-
- static int
-***************
-*** 453,459 ****
- /* We're a good lil photon program, aren't we? yes we are, yeess wee arrr */
- if( key->key_flags & Pk_KF_Compose )
- {
-! return( Pt_CONTINUE );
- }
-
- if( (key->key_flags & Pk_KF_Cap_Valid) &&
---- 453,459 ----
- /* We're a good lil photon program, aren't we? yes we are, yeess wee arrr */
- if( key->key_flags & Pk_KF_Compose )
- {
-! return Pt_CONTINUE;
- }
-
- if( (key->key_flags & Pk_KF_Cap_Valid) &&
-***************
-*** 473,479 ****
- gui_is_menu_shortcut( key->key_cap ) ) ) )
- {
- /* Fallthrough and let photon look for the hotkey */
-! return( Pt_CONTINUE );
- }
- #endif
-
---- 473,479 ----
- gui_is_menu_shortcut( key->key_cap ) ) ) )
- {
- /* Fallthrough and let photon look for the hotkey */
-! return Pt_CONTINUE;
- }
- #endif
-
-***************
-*** 544,550 ****
- add_to_input_buf( string, len );
- }
-
-! return( Pt_CONSUME );
- }
- len = 0;
- #endif
---- 544,550 ----
- add_to_input_buf( string, len );
- }
-
-! return Pt_CONSUME;
- }
- len = 0;
- #endif
-***************
-*** 579,585 ****
- }
- else
- {
-! return( Pt_CONTINUE );
- }
- }
- else
---- 579,585 ----
- }
- else
- {
-! return Pt_CONTINUE;
- }
- }
- else
-***************
-*** 622,632 ****
- if( len > 0 )
- {
- add_to_input_buf( string, len );
-! return( Pt_CONSUME );
- }
- }
-
-! return( Pt_CONTINUE );
- }
-
- static int
---- 622,632 ----
- if( len > 0 )
- {
- add_to_input_buf( string, len );
-! return Pt_CONSUME;
- }
- }
-
-! return Pt_CONTINUE;
- }
-
- static int
-***************
-*** 652,658 ****
- if( info->event->type == Ph_EV_PTR_MOTION_NOBUTTON )
- {
- gui_mouse_moved( mouse_x, mouse_y );
-! return( Pt_CONTINUE );
- }
-
- if( pointer->key_mods & Pk_KM_Shift )
---- 652,658 ----
- if( info->event->type == Ph_EV_PTR_MOTION_NOBUTTON )
- {
- gui_mouse_moved( mouse_x, mouse_y );
-! return Pt_CONTINUE;
- }
-
- if( pointer->key_mods & Pk_KM_Shift )
-***************
-*** 702,708 ****
- gui_send_mouse_event( button , mouse_x, mouse_y, repeated_click, modifiers );
- }
-
-! return( Pt_CONTINUE );
- }
-
- /* Handle a focus change of the PtRaw widget */
---- 702,708 ----
- gui_send_mouse_event( button , mouse_x, mouse_y, repeated_click, modifiers );
- }
-
-! return Pt_CONTINUE;
- }
-
- /* Handle a focus change of the PtRaw widget */
-***************
-*** 721,727 ****
- PtAddEventHandler( gui.vimTextArea, Ph_EV_PTR_MOTION_NOBUTTON,
- gui_ph_handle_mouse, NULL );
- }
-! return( Pt_CONTINUE );
- }
-
- static void
---- 721,727 ----
- PtAddEventHandler( gui.vimTextArea, Ph_EV_PTR_MOTION_NOBUTTON,
- gui_ph_handle_mouse, NULL );
- }
-! return Pt_CONTINUE;
- }
-
- static void
-***************
-*** 793,799 ****
- PtRealizeWidget( menu->submenu_id );
- }
-
-! return( Pt_CONTINUE );
- }
-
- /* This is used for pulldown/popup menus and also toolbar buttons */
---- 793,799 ----
- PtRealizeWidget( menu->submenu_id );
- }
-
-! return Pt_CONTINUE;
- }
-
- /* This is used for pulldown/popup menus and also toolbar buttons */
-***************
-*** 805,811 ****
- vimmenu_T *menu = (vimmenu_T *) data;
- gui_menu_cb( menu );
- }
-! return( Pt_CONTINUE );
- }
-
- /* Stop focus from disappearing into the menubar... */
---- 805,811 ----
- vimmenu_T *menu = (vimmenu_T *) data;
- gui_menu_cb( menu );
- }
-! return Pt_CONTINUE;
- }
-
- /* Stop focus from disappearing into the menubar... */
-***************
-*** 816,822 ****
- PtCallbackInfo_t *info )
- {
- PtGiveFocus( gui.vimTextArea, NULL );
-! return( Pt_CONTINUE );
- }
-
- static int
---- 816,822 ----
- PtCallbackInfo_t *info )
- {
- PtGiveFocus( gui.vimTextArea, NULL );
-! return Pt_CONTINUE;
- }
-
- static int
-***************
-*** 826,832 ****
- PtCallbackInfo_t *info )
- {
- gui_set_shellsize( FALSE, TRUE, RESIZE_BOTH );
-! return( Pt_CONTINUE );
- }
-
- /****************************************************************************/
---- 826,832 ----
- PtCallbackInfo_t *info )
- {
- gui_set_shellsize( FALSE, TRUE, RESIZE_BOTH );
-! return Pt_CONTINUE;
- }
-
- /****************************************************************************/
-***************
-*** 878,884 ****
- ( STRCMP( items->dname, name ) != 0 ) )
- items = items->next;
- }
-! return( items );
- }
-
- static void
---- 878,884 ----
- ( STRCMP( items->dname, name ) != 0 ) )
- items = items->next;
- }
-! return items;
- }
-
- static void
-***************
-*** 927,933 ****
- gui_menu_cb( menu );
- }
- }
-! return( Pt_CONTINUE );
- }
-
- static void
---- 927,933 ----
- gui_menu_cb( menu );
- }
- }
-! return Pt_CONTINUE;
- }
-
- static void
-***************
-*** 974,983 ****
- mark++;
-
- if( *mark == ')' )
-! return( TRUE);
- }
- }
-! return( FALSE );
- }
-
- static void
---- 974,983 ----
- mark++;
-
- if( *mark == ')' )
-! return TRUE;
- }
- }
-! return FALSE;
- }
-
- static void
-***************
-*** 1057,1063 ****
- gui_ph_pg_remove_buffer( menu->dname );
- }
-
-! return( Pt_CONTINUE );
- }
- #endif
-
---- 1057,1063 ----
- gui_ph_pg_remove_buffer( menu->dname );
- }
-
-! return Pt_CONTINUE;
- }
- #endif
-
-***************
-*** 1071,1077 ****
- PtContainerHold( gui.vimContainer );
- }
-
-! return( Pt_CONTINUE );
- }
-
- /****************************************************************************/
---- 1071,1077 ----
- PtContainerHold( gui.vimContainer );
- }
-
-! return Pt_CONTINUE;
- }
-
- /****************************************************************************/
-***************
-*** 1126,1132 ****
-
- gui.event_buffer = (PhEvent_t *) alloc( EVENT_BUFFER_SIZE );
- if( gui.event_buffer == NULL )
-! return( FAIL );
-
- /* Get a translation so we can convert from ISO Latin-1 to UTF */
- charset_translate = PxTranslateSet( NULL, "latin1" );
---- 1126,1132 ----
-
- gui.event_buffer = (PhEvent_t *) alloc( EVENT_BUFFER_SIZE );
- if( gui.event_buffer == NULL )
-! return FAIL;
-
- /* Get a translation so we can convert from ISO Latin-1 to UTF */
- charset_translate = PxTranslateSet( NULL, "latin1" );
-***************
-*** 1141,1147 ****
- PtSetArg( &args[ n++ ], Pt_ARG_DIM, &window_size, 0 );
- gui.vimWindow = PtCreateWidget( PtWindow, NULL, n, args );
- if( gui.vimWindow == NULL )
-! return( FAIL );
-
- PtAddCallback( gui.vimWindow, Pt_CB_WINDOW, gui_ph_handle_window_cb, NULL );
- PtAddCallback( gui.vimWindow, Pt_CB_WINDOW_OPENING,
---- 1141,1147 ----
- PtSetArg( &args[ n++ ], Pt_ARG_DIM, &window_size, 0 );
- gui.vimWindow = PtCreateWidget( PtWindow, NULL, n, args );
- if( gui.vimWindow == NULL )
-! return FAIL;
-
- PtAddCallback( gui.vimWindow, Pt_CB_WINDOW, gui_ph_handle_window_cb, NULL );
- PtAddCallback( gui.vimWindow, Pt_CB_WINDOW_OPENING,
-***************
-*** 1158,1164 ****
-
- gui.vimPanelGroup = PtCreateWidget( PtPanelGroup, gui.vimWindow, n, args );
- if( gui.vimPanelGroup == NULL )
-! return( FAIL );
-
- PtAddCallback( gui.vimPanelGroup, Pt_CB_PG_PANEL_SWITCHING,
- gui_ph_handle_pg_change, NULL );
---- 1158,1164 ----
-
- gui.vimPanelGroup = PtCreateWidget( PtPanelGroup, gui.vimWindow, n, args );
- if( gui.vimPanelGroup == NULL )
-! return FAIL;
-
- PtAddCallback( gui.vimPanelGroup, Pt_CB_PG_PANEL_SWITCHING,
- gui_ph_handle_pg_change, NULL );
-***************
-*** 1172,1178 ****
-
- gui.vimContainer = PtCreateWidget( PtPane, gui.vimWindow, n, args );
- if( gui.vimContainer == NULL )
-! return( FAIL );
-
- PtAddCallback( gui.vimContainer, Pt_CB_RESIZE, gui_ph_pane_resize, NULL );
- #endif
---- 1172,1178 ----
-
- gui.vimContainer = PtCreateWidget( PtPane, gui.vimWindow, n, args );
- if( gui.vimContainer == NULL )
-! return FAIL;
-
- PtAddCallback( gui.vimContainer, Pt_CB_RESIZE, gui_ph_pane_resize, NULL );
- #endif
-***************
-*** 1195,1201 ****
-
- gui.vimTextArea = PtCreateWidget( PtRaw, Pt_DFLT_PARENT, n, args );
- if( gui.vimTextArea == NULL)
-! return( FAIL );
-
- /* TODO: use PtAddEventHandlers instead? */
- /* Not using Ph_EV_BUT_REPEAT because vim wouldn't use it anyway */
---- 1195,1201 ----
-
- gui.vimTextArea = PtCreateWidget( PtRaw, Pt_DFLT_PARENT, n, args );
- if( gui.vimTextArea == NULL)
-! return FAIL;
-
- /* TODO: use PtAddEventHandlers instead? */
- /* Not using Ph_EV_BUT_REPEAT because vim wouldn't use it anyway */
-***************
-*** 1220,1230 ****
- */
- gui_ph_timer_cursor = PtCreateWidget( PtTimer, gui.vimWindow, 0, NULL );
- if( gui_ph_timer_cursor == NULL )
-! return( FAIL );
-
- gui_ph_timer_timeout = PtCreateWidget( PtTimer, gui.vimWindow, 0, NULL );
- if( gui_ph_timer_timeout == NULL )
-! return( FAIL );
-
- PtAddCallback( gui_ph_timer_cursor, Pt_CB_TIMER_ACTIVATE,
- gui_ph_handle_timer_cursor, NULL);
---- 1220,1230 ----
- */
- gui_ph_timer_cursor = PtCreateWidget( PtTimer, gui.vimWindow, 0, NULL );
- if( gui_ph_timer_cursor == NULL )
-! return FAIL;
-
- gui_ph_timer_timeout = PtCreateWidget( PtTimer, gui.vimWindow, 0, NULL );
- if( gui_ph_timer_timeout == NULL )
-! return FAIL;
-
- PtAddCallback( gui_ph_timer_cursor, Pt_CB_TIMER_ACTIVATE,
- gui_ph_handle_timer_cursor, NULL);
-***************
-*** 1239,1245 ****
- gui.vimToolBarGroup = PtCreateWidget( PtToolbarGroup, gui.vimWindow,
- n, args );
- if( gui.vimToolBarGroup == NULL )
-! return( FAIL );
-
- PtAddCallback( gui.vimToolBarGroup, Pt_CB_RESIZE,
- gui_ph_handle_menu_resize, NULL );
---- 1239,1245 ----
- gui.vimToolBarGroup = PtCreateWidget( PtToolbarGroup, gui.vimWindow,
- n, args );
- if( gui.vimToolBarGroup == NULL )
-! return FAIL;
-
- PtAddCallback( gui.vimToolBarGroup, Pt_CB_RESIZE,
- gui_ph_handle_menu_resize, NULL );
-***************
-*** 1254,1260 ****
- }
- gui.vimMenuBar = PtCreateWidget( PtMenuBar, gui.vimToolBarGroup, n, args );
- if( gui.vimMenuBar == NULL )
-! return( FAIL );
-
- # ifdef FEAT_TOOLBAR
- n = 0;
---- 1254,1260 ----
- }
- gui.vimMenuBar = PtCreateWidget( PtMenuBar, gui.vimToolBarGroup, n, args );
- if( gui.vimMenuBar == NULL )
-! return FAIL;
-
- # ifdef FEAT_TOOLBAR
- n = 0;
-***************
-*** 1273,1279 ****
-
- gui.vimToolBar = PtCreateWidget( PtToolbar, gui.vimToolBarGroup, n, args );
- if( gui.vimToolBar == NULL )
-! return( FAIL );
-
- /*
- * Size for the toolbar is fetched in gui_mch_show_toolbar, after
---- 1273,1279 ----
-
- gui.vimToolBar = PtCreateWidget( PtToolbar, gui.vimToolBarGroup, n, args );
- if( gui.vimToolBar == NULL )
-! return FAIL;
-
- /*
- * Size for the toolbar is fetched in gui_mch_show_toolbar, after
-***************
-*** 1284,1296 ****
-
- #endif
-
-! return( OK );
- }
-
- int
- gui_mch_init_check(void)
- {
-! return( (is_photon_available == TRUE) ? OK : FAIL );
- }
-
- int
---- 1284,1296 ----
-
- #endif
-
-! return OK;
- }
-
- int
- gui_mch_init_check(void)
- {
-! return (is_photon_available == TRUE) ? OK : FAIL;
- }
-
- int
-***************
-*** 1310,1316 ****
- if (gui_win_x != -1 && gui_win_y != -1)
- gui_mch_set_winpos(gui_win_x, gui_win_y);
-
-! return( (PtRealizeWidget( gui.vimWindow ) == 0) ? OK : FAIL );
- }
-
- void
---- 1310,1316 ----
- if (gui_win_x != -1 && gui_win_y != -1)
- gui_mch_set_winpos(gui_win_x, gui_win_y);
-
-! return (PtRealizeWidget( gui.vimWindow ) == 0) ? OK : FAIL;
- }
-
- void
-***************
-*** 1336,1342 ****
- exit_gui_mch_update( void *data )
- {
- *(int *)data = FALSE;
-! return( Pt_END );
- }
-
- void
---- 1336,1342 ----
- exit_gui_mch_update( void *data )
- {
- *(int *)data = FALSE;
-! return Pt_END;
- }
-
- void
-***************
-*** 1365,1374 ****
- if( input_available() )
- {
- PtSetResource( gui_ph_timer_timeout, Pt_ARG_TIMER_INITIAL, 0, 0 );
-! return( OK );
- }
- else if( is_timeout == TRUE )
-! return( FAIL );
- }
- }
-
---- 1365,1374 ----
- if( input_available() )
- {
- PtSetResource( gui_ph_timer_timeout, Pt_ARG_TIMER_INITIAL, 0, 0 );
-! return OK;
- }
- else if( is_timeout == TRUE )
-! return FAIL;
- }
- }
-
-***************
-*** 1446,1454 ****
- vim_free( default_path );
-
- if( file.ret == Pt_FSDIALOG_BTN1 )
-! return( vim_strsave( file.path ) );
- }
-! return( NULL );
- }
- #endif
-
---- 1446,1454 ----
- vim_free( default_path );
-
- if( file.ret == Pt_FSDIALOG_BTN1 )
-! return vim_strsave(file.path);
- }
-! return NULL;
- }
- #endif
-
-***************
-*** 1470,1476 ****
-
- PtModalUnblock( modal_ctrl, (void *) button );
-
-! return( Pt_TRUE );
- }
-
- static int
---- 1470,1476 ----
-
- PtModalUnblock( modal_ctrl, (void *) button );
-
-! return Pt_TRUE;
- }
-
- static int
-***************
-*** 1478,1484 ****
- {
- if( info->reason_subtype == Pt_EDIT_ACTIVATE )
- gui_ph_dialog_close( 1, data );
-! return( Pt_CONTINUE );
- }
-
- static int
---- 1478,1484 ----
- {
- if( info->reason_subtype == Pt_EDIT_ACTIVATE )
- gui_ph_dialog_close( 1, data );
-! return Pt_CONTINUE;
- }
-
- static int
-***************
-*** 1490,1498 ****
- if( ( key->key_flags & Pk_KF_Cap_Valid ) && ( key->key_cap == Pk_Escape ) )
- {
- gui_ph_dialog_close( 0, data );
-! return( Pt_CONSUME );
- }
-! return( Pt_PROCESS );
- }
-
- int
---- 1490,1498 ----
- if( ( key->key_flags & Pk_KF_Cap_Valid ) && ( key->key_cap == Pk_Escape ) )
- {
- gui_ph_dialog_close( 0, data );
-! return Pt_CONSUME;
- }
-! return Pt_PROCESS;
- }
-
- int
-***************
-*** 1519,1525 ****
- button_count = len = i = 0;
-
- if( buttons == NULL || *buttons == NUL )
-! return( -1 );
-
- /* There is one less separator than buttons, so bump up the button count */
- button_count = 1;
---- 1519,1525 ----
- button_count = len = i = 0;
-
- if( buttons == NULL || *buttons == NUL )
-! return -1;
-
- /* There is one less separator than buttons, so bump up the button count */
- button_count = 1;
-***************
-*** 1637,1643 ****
- vim_free( button_array );
- vim_free( buttons_copy );
-
-! return( dialog_result );
- }
- #endif
- /****************************************************************************/
---- 1637,1643 ----
- vim_free( button_array );
- vim_free( buttons_copy );
-
-! return dialog_result;
- }
- #endif
- /****************************************************************************/
-***************
-*** 1653,1659 ****
- *x = pos->x;
- *y = pos->y;
-
-! return( OK );
- }
-
- void
---- 1653,1659 ----
- *x = pos->x;
- *y = pos->y;
-
-! return OK;
- }
-
- void
-***************
-*** 1975,1985 ****
- hex_digit(int c)
- {
- if (VIM_ISDIGIT(c))
-! return( c - '0' );
- c = TOLOWER_ASC(c);
- if (c >= 'a' && c <= 'f')
-! return( c - 'a' + 10 );
-! return( -1000 );
- }
-
-
---- 1975,1985 ----
- hex_digit(int c)
- {
- if (VIM_ISDIGIT(c))
-! return c - '0';
- c = TOLOWER_ASC(c);
- if (c >= 'a' && c <= 'f')
-! return c - 'a' + 10;
-! return -1000;
- }
-
-
-***************
-*** 2065,2077 ****
- b = hex_digit( name[5] ) * 16 + hex_digit( name[6] );
- if( r < 0 || g < 0 || b < 0 )
- return INVALCOLOR;
-! return( RGB( r, g, b ) );
- }
-
- for( i = 0; i < ARRAY_LENGTH( table ); i++ )
- {
- if( STRICMP( name, table[i].name ) == 0 )
-! return( table[i].colour );
- }
-
- /*
---- 2065,2077 ----
- b = hex_digit( name[5] ) * 16 + hex_digit( name[6] );
- if( r < 0 || g < 0 || b < 0 )
- return INVALCOLOR;
-! return RGB(r, g, b);
- }
-
- for( i = 0; i < ARRAY_LENGTH( table ); i++ )
- {
- if( STRICMP( name, table[i].name ) == 0 )
-! return table[i].colour;
- }
-
- /*
-***************
-*** 2115,2121 ****
- if (STRICMP(color, name) == 0)
- {
- fclose(fd);
-! return( (guicolor_T) RGB(r,g,b) );
- }
- }
-
---- 2115,2121 ----
- if (STRICMP(color, name) == 0)
- {
- fclose(fd);
-! return (guicolor_T)RGB(r, g, b);
- }
- }
-
-***************
-*** 2451,2458 ****
- for (i = 0; special_keys[i].key_sym != 0; i++)
- if (name[0] == special_keys[i].vim_code0 &&
- name[1] == special_keys[i].vim_code1)
-! return( OK );
-! return( FAIL );
- }
-
- /****************************************************************************/
---- 2451,2458 ----
- for (i = 0; special_keys[i].key_sym != 0; i++)
- if (name[0] == special_keys[i].vim_code0 &&
- name[1] == special_keys[i].vim_code1)
-! return OK;
-! return FAIL;
- }
-
- /****************************************************************************/
-***************
-*** 2512,2518 ****
-
- temp_phi = &external_icon;
- }
-! return( temp_phi );
- }
-
- /*
---- 2512,2518 ----
-
- temp_phi = &external_icon;
- }
-! return temp_phi;
- }
-
- /*
-***************
-*** 2541,2556 ****
- icon = gui_ph_toolbar_load_icon( full_pathname );
-
- if( icon != NULL )
-! return( icon );
- }
-
- if( menu->iconidx >= 0 &&
- ( menu->iconidx < ARRAY_LENGTH( gui_ph_toolbar_images ) ) )
- {
-! return( gui_ph_toolbar_images[ menu->iconidx ] );
- }
-
-! return( NULL );
- }
- #endif
-
---- 2541,2556 ----
- icon = gui_ph_toolbar_load_icon( full_pathname );
-
- if( icon != NULL )
-! return icon;
- }
-
- if( menu->iconidx >= 0 &&
- ( menu->iconidx < ARRAY_LENGTH( gui_ph_toolbar_images ) ) )
- {
-! return gui_ph_toolbar_images[menu->iconidx];
- }
-
-! return NULL;
- }
- #endif
-
-***************
-*** 2895,2905 ****
- * at least has the bits we're checking for */
- if( font_size == info.size &&
- style == (info.style & style) )
-! return( (GuiFont) font_tag );
- }
- vim_free( font_tag );
- }
-! return( NULL );
- }
-
- /*
---- 2895,2905 ----
- * at least has the bits we're checking for */
- if( font_size == info.size &&
- style == (info.style & style) )
-! return (GuiFont)font_tag;
- }
- vim_free( font_tag );
- }
-! return NULL;
- }
-
- /*
-***************
-*** 2957,2965 ****
- }
- }
- }
-! return( TRUE );
- }
-! return( FALSE );
- }
-
- int
---- 2957,2965 ----
- }
- }
- }
-! return TRUE;
- }
-! return FALSE;
- }
-
- int
-***************
-*** 2985,2991 ****
- "pcterm12", -1, PHFONT_FIXED, NULL );
-
- if( font_tag == NULL )
-! return( FAIL );
-
- gui_mch_free_font( gui.norm_font );
- gui.norm_font = font_tag;
---- 2985,2991 ----
- "pcterm12", -1, PHFONT_FIXED, NULL );
-
- if( font_tag == NULL )
-! return FAIL;
-
- gui_mch_free_font( gui.norm_font );
- gui.norm_font = font_tag;
-***************
-*** 2997,3009 ****
- {
- if( gui_ph_parse_font_name( vim_font_name, &font_name, &font_flags,
- &font_size ) == FALSE )
-! return( FAIL );
-
- font_tag = gui_ph_get_font( font_name, font_flags, font_size, 0 );
- if( font_tag == NULL )
- {
- vim_free( font_name );
-! return( FAIL );
- }
-
- gui_mch_free_font( gui.norm_font );
---- 2997,3009 ----
- {
- if( gui_ph_parse_font_name( vim_font_name, &font_name, &font_flags,
- &font_size ) == FALSE )
-! return FAIL;
-
- font_tag = gui_ph_get_font( font_name, font_flags, font_size, 0 );
- if( font_tag == NULL )
- {
- vim_free( font_name );
-! return FAIL;
- }
-
- gui_mch_free_font( gui.norm_font );
-***************
-*** 3026,3032 ****
- gui.char_ascent = - extent.ul.y;
-
- vim_free( font_name );
-! return( OK );
- }
-
- /*
---- 3026,3032 ----
- gui.char_ascent = - extent.ul.y;
-
- vim_free( font_name );
-! return OK;
- }
-
- /*
-***************
-*** 3042,3048 ****
- gui.char_height = - info.ascender + info.descender + p_linespace;
- gui.char_ascent = - info.ascender + p_linespace / 2;
-
-! return( OK );
- }
-
- GuiFont
---- 3042,3048 ----
- gui.char_height = - info.ascender + info.descender + p_linespace;
- gui.char_ascent = - info.ascender + p_linespace / 2;
-
-! return OK;
- }
-
- GuiFont
-***************
-*** 3060,3072 ****
- vim_free( font_name );
-
- if( font_tag != NULL )
-! return( (GuiFont) font_tag );
- }
-
- if( report_error )
- EMSG2(e_font, vim_font_name );
-
-! return( FAIL );
- }
-
- #if defined(FEAT_EVAL) || defined(PROTO)
---- 3060,3072 ----
- vim_free( font_name );
-
- if( font_tag != NULL )
-! return (GuiFont)font_tag;
- }
-
- if( report_error )
- EMSG2(e_font, vim_font_name );
-
-! return FAIL;
- }
-
- #if defined(FEAT_EVAL) || defined(PROTO)
-*** ../vim-7.3.261/src/version.c 2011-07-27 13:59:12.000000000 +0200
---- src/version.c 2011-07-27 14:08:08.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 262,
- /**/
-
---
-You know you use Vim too much when you have this alias in your
-~/.bashrc file: alias :e=/bin/vim (Eljay Love-Jensen)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.263 b/source/ap/vim/patches/7.3.263
deleted file mode 100644
index 98850988c..000000000
--- a/source/ap/vim/patches/7.3.263
+++ /dev/null
@@ -1,162 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.263
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.263
-Problem: Perl and Tcl have a few code style problems.
-Solution: Clean it up. (Elias Diem)
-Files: src/if_perl.xs, src/if_tcl.c
-
-
-*** ../vim-7.3.262/src/if_perl.xs 2010-10-23 14:02:48.000000000 +0200
---- src/if_perl.xs 2011-07-27 14:11:03.000000000 +0200
-***************
-*** 755,761 ****
- #ifdef HAVE_SANDBOX
- if (sandbox)
- {
-! safe = perl_get_sv( "VIM::safe", FALSE );
- # ifndef MAKE_TEST /* avoid a warning for unreachable code */
- if (safe == NULL || !SvTRUE(safe))
- EMSG(_("E299: Perl evaluation forbidden in sandbox without the Safe module"));
---- 755,761 ----
- #ifdef HAVE_SANDBOX
- if (sandbox)
- {
-! safe = perl_get_sv("VIM::safe", FALSE);
- # ifndef MAKE_TEST /* avoid a warning for unreachable code */
- if (safe == NULL || !SvTRUE(safe))
- EMSG(_("E299: Perl evaluation forbidden in sandbox without the Safe module"));
-***************
-*** 1108,1114 ****
- VIWIN win
-
- PPCODE:
-! if(items == 1)
- {
- EXTEND(sp, 2);
- if (!win_valid(win))
---- 1108,1114 ----
- VIWIN win
-
- PPCODE:
-! if (items == 1)
- {
- EXTEND(sp, 2);
- if (!win_valid(win))
-***************
-*** 1116,1122 ****
- PUSHs(sv_2mortal(newSViv(win->w_cursor.lnum)));
- PUSHs(sv_2mortal(newSViv(win->w_cursor.col)));
- }
-! else if(items == 3)
- {
- int lnum, col;
-
---- 1116,1122 ----
- PUSHs(sv_2mortal(newSViv(win->w_cursor.lnum)));
- PUSHs(sv_2mortal(newSViv(win->w_cursor.col)));
- }
-! else if (items == 3)
- {
- int lnum, col;
-
-***************
-*** 1249,1257 ****
- {
- lnum = SvIV(ST(1));
- count = 1 + SvIV(ST(2)) - lnum;
-! if(count == 0)
- count = 1;
-! if(count < 0)
- {
- lnum -= count;
- count = -count;
---- 1249,1257 ----
- {
- lnum = SvIV(ST(1));
- count = 1 + SvIV(ST(2)) - lnum;
-! if (count == 0)
- count = 1;
-! if (count < 0)
- {
- lnum -= count;
- count = -count;
-*** ../vim-7.3.262/src/if_tcl.c 2010-12-17 20:23:56.000000000 +0100
---- src/if_tcl.c 2011-07-27 14:11:03.000000000 +0200
-***************
-*** 1884,1897 ****
- {
- int newerr = OK;
-
-! if (error == TCL_EXIT )
- {
- int retval;
- char buf[50];
- Tcl_Obj *robj;
-
- robj = Tcl_GetObjResult(tclinfo.interp);
-! if( Tcl_GetIntFromObj(tclinfo.interp, robj, &retval) != TCL_OK )
- {
- EMSG(_("E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org"));
- newerr = FAIL;
---- 1884,1897 ----
- {
- int newerr = OK;
-
-! if (error == TCL_EXIT)
- {
- int retval;
- char buf[50];
- Tcl_Obj *robj;
-
- robj = Tcl_GetObjResult(tclinfo.interp);
-! if (Tcl_GetIntFromObj(tclinfo.interp, robj, &retval) != TCL_OK)
- {
- EMSG(_("E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org"));
- newerr = FAIL;
-***************
-*** 1900,1906 ****
- {
- sprintf(buf, _("E572: exit code %d"), retval);
- tclerrmsg(buf);
-! if (retval == 0 )
- {
- did_emsg = 0;
- newerr = OK;
---- 1900,1906 ----
- {
- sprintf(buf, _("E572: exit code %d"), retval);
- tclerrmsg(buf);
-! if (retval == 0)
- {
- did_emsg = 0;
- newerr = OK;
-*** ../vim-7.3.262/src/version.c 2011-07-27 14:09:05.000000000 +0200
---- src/version.c 2011-07-27 14:12:05.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 263,
- /**/
-
---
-DEAD PERSON: I don't want to go in the cart!
-CUSTOMER: Oh, don't be such a baby.
-MORTICIAN: I can't take him...
-DEAD PERSON: I feel fine!
-CUSTOMER: Oh, do us a favor...
-MORTICIAN: I can't.
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.264 b/source/ap/vim/patches/7.3.264
deleted file mode 100644
index 71ec851f3..000000000
--- a/source/ap/vim/patches/7.3.264
+++ /dev/null
@@ -1,159 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.264
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.264
-Problem: When the current directory name contains wildcard characters, such
- as "foo[with]bar", the tags file can't be found. (Jeremy
- Erickson)
-Solution: When searching for matching files also match without expanding
- wildcards. This is a bit of a hack.
-Files: src/vim.h, src/misc1.c, src/misc2.c
-
-
-*** ../vim-7.3.263/src/vim.h 2011-07-20 15:04:52.000000000 +0200
---- src/vim.h 2011-07-27 16:21:38.000000000 +0200
-***************
-*** 816,821 ****
---- 816,822 ----
- #define EW_PATH 0x80 /* search in 'path' too */
- #define EW_ICASE 0x100 /* ignore case */
- #define EW_NOERROR 0x200 /* no error for bad regexp */
-+ #define EW_NOTWILD 0x400 /* add match with literal name if exists */
- /* Note: mostly EW_NOTFOUND and EW_SILENT are mutually exclusive: EW_NOTFOUND
- * is used when executing commands and EW_SILENT for interactive expanding. */
-
-*** ../vim-7.3.263/src/misc1.c 2011-07-20 15:04:52.000000000 +0200
---- src/misc1.c 2011-07-27 17:24:39.000000000 +0200
-***************
-*** 9119,9125 ****
- * all entries found with "matchname". */
- if ((p[0] != '.' || starts_with_dot)
- && (matchname == NULL
-! || vim_regexec(&regmatch, p, (colnr_T)0)))
- {
- #ifdef WIN3264
- STRCPY(s, p);
---- 9119,9127 ----
- * all entries found with "matchname". */
- if ((p[0] != '.' || starts_with_dot)
- && (matchname == NULL
-! || vim_regexec(&regmatch, p, (colnr_T)0)
-! || ((flags & EW_NOTWILD)
-! && fnamencmp(path + (s - buf), p, e - s) == 0)))
- {
- #ifdef WIN3264
- STRCPY(s, p);
-***************
-*** 9323,9329 ****
- e = p;
- *e = NUL;
-
-! /* now we have one wildcard component between "s" and "e" */
- /* Remove backslashes between "wildoff" and the start of the wildcard
- * component. */
- for (p = buf + wildoff; p < s; ++p)
---- 9325,9331 ----
- e = p;
- *e = NUL;
-
-! /* Now we have one wildcard component between "s" and "e". */
- /* Remove backslashes between "wildoff" and the start of the wildcard
- * component. */
- for (p = buf + wildoff; p < s; ++p)
-***************
-*** 9390,9396 ****
- if (dp == NULL)
- break;
- if ((dp->d_name[0] != '.' || starts_with_dot)
-! && vim_regexec(&regmatch, (char_u *)dp->d_name, (colnr_T)0))
- {
- STRCPY(s, dp->d_name);
- len = STRLEN(buf);
---- 9392,9400 ----
- if (dp == NULL)
- break;
- if ((dp->d_name[0] != '.' || starts_with_dot)
-! && (vim_regexec(&regmatch, (char_u *)dp->d_name, (colnr_T)0)
-! || ((flags & EW_NOTWILD)
-! && fnamencmp(path + (s - buf), dp->d_name, e - s) == 0)))
- {
- STRCPY(s, dp->d_name);
- len = STRLEN(buf);
-*** ../vim-7.3.263/src/misc2.c 2011-07-07 17:15:29.000000000 +0200
---- src/misc2.c 2011-07-27 17:21:10.000000000 +0200
-***************
-*** 4653,4661 ****
- {
- if (r_ptr[0] == '\\' && r_ptr[1] == ';')
- {
-! /* overwrite the escape char,
-! * use STRLEN(r_ptr) to move the trailing '\0'
-! */
- STRMOVE(r_ptr, r_ptr + 1);
- r_ptr++;
- }
---- 4653,4660 ----
- {
- if (r_ptr[0] == '\\' && r_ptr[1] == ';')
- {
-! /* Overwrite the escape char,
-! * use STRLEN(r_ptr) to move the trailing '\0'. */
- STRMOVE(r_ptr, r_ptr + 1);
- r_ptr++;
- }
-***************
-*** 4914,4923 ****
- stackp->ffs_filearray_size = 0;
- }
- else
- expand_wildcards((dirptrs[1] == NULL) ? 1 : 2, dirptrs,
- &stackp->ffs_filearray_size,
- &stackp->ffs_filearray,
-! EW_DIR|EW_ADDSLASH|EW_SILENT);
-
- stackp->ffs_filearray_cur = 0;
- stackp->ffs_stage = 0;
---- 4913,4925 ----
- stackp->ffs_filearray_size = 0;
- }
- else
-+ /* Add EW_NOTWILD because the expanded path may contain
-+ * wildcard characters that are to be taken literally.
-+ * This is a bit of a hack. */
- expand_wildcards((dirptrs[1] == NULL) ? 1 : 2, dirptrs,
- &stackp->ffs_filearray_size,
- &stackp->ffs_filearray,
-! EW_DIR|EW_ADDSLASH|EW_SILENT|EW_NOTWILD);
-
- stackp->ffs_filearray_cur = 0;
- stackp->ffs_stage = 0;
-*** ../vim-7.3.263/src/version.c 2011-07-27 14:15:41.000000000 +0200
---- src/version.c 2011-07-27 17:25:44.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 264,
- /**/
-
---
-CUSTOMER: You're not fooling anyone y'know. Look, isn't there something
- you can do?
-DEAD PERSON: I feel happy... I feel happy.
- [whop]
-CUSTOMER: Ah, thanks very much.
-MORTICIAN: Not at all. See you on Thursday.
-CUSTOMER: Right.
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.265 b/source/ap/vim/patches/7.3.265
deleted file mode 100644
index 98cb1b4e0..000000000
--- a/source/ap/vim/patches/7.3.265
+++ /dev/null
@@ -1,145 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.265
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.265
-Problem: When storing a pattern in search history there is no proper check
- for the separator character.
-Solution: Pass the separator character to in_history(). (Muraoka Taro)
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.264/src/ex_getln.c 2011-07-07 16:44:33.000000000 +0200
---- src/ex_getln.c 2011-07-27 17:50:35.000000000 +0200
-***************
-*** 67,73 ****
-
- static int hist_char2type __ARGS((int c));
-
-! static int in_history __ARGS((int, char_u *, int));
- # ifdef FEAT_EVAL
- static int calc_hist_idx __ARGS((int histype, int num));
- # endif
---- 67,73 ----
-
- static int hist_char2type __ARGS((int c));
-
-! static int in_history __ARGS((int, char_u *, int, int));
- # ifdef FEAT_EVAL
- static int calc_hist_idx __ARGS((int histype, int num));
- # endif
-***************
-*** 5289,5301 ****
- * If 'move_to_front' is TRUE, matching entry is moved to end of history.
- */
- static int
-! in_history(type, str, move_to_front)
- int type;
- char_u *str;
- int move_to_front; /* Move the entry to the front if it exists */
- {
- int i;
- int last_i = -1;
-
- if (hisidx[type] < 0)
- return FALSE;
---- 5289,5303 ----
- * If 'move_to_front' is TRUE, matching entry is moved to end of history.
- */
- static int
-! in_history(type, str, move_to_front, sep)
- int type;
- char_u *str;
- int move_to_front; /* Move the entry to the front if it exists */
-+ int sep;
- {
- int i;
- int last_i = -1;
-+ char_u *p;
-
- if (hisidx[type] < 0)
- return FALSE;
-***************
-*** 5304,5310 ****
- {
- if (history[type][i].hisstr == NULL)
- return FALSE;
-! if (STRCMP(str, history[type][i].hisstr) == 0)
- {
- if (!move_to_front)
- return TRUE;
---- 5306,5317 ----
- {
- if (history[type][i].hisstr == NULL)
- return FALSE;
-!
-! /* For search history, check that the separator character matches as
-! * well. */
-! p = history[type][i].hisstr;
-! if (STRCMP(str, p) == 0
-! && (type != HIST_SEARCH || sep == p[STRLEN(p) + 1]))
- {
- if (!move_to_front)
- return TRUE;
-***************
-*** 5398,5404 ****
- }
- last_maptick = -1;
- }
-! if (!in_history(histype, new_entry, TRUE))
- {
- if (++hisidx[histype] == hislen)
- hisidx[histype] = 0;
---- 5405,5411 ----
- }
- last_maptick = -1;
- }
-! if (!in_history(histype, new_entry, TRUE, sep))
- {
- if (++hisidx[histype] == hislen)
- hisidx[histype] = 0;
-***************
-*** 5977,5983 ****
- if (val != NULL && *val != NUL)
- {
- if (!in_history(type, val + (type == HIST_SEARCH),
-! viminfo_add_at_front))
- {
- /* Need to re-allocate to append the separator byte. */
- len = STRLEN(val);
---- 5984,5990 ----
- if (val != NULL && *val != NUL)
- {
- if (!in_history(type, val + (type == HIST_SEARCH),
-! viminfo_add_at_front, *val))
- {
- /* Need to re-allocate to append the separator byte. */
- len = STRLEN(val);
-*** ../vim-7.3.264/src/version.c 2011-07-27 17:31:42.000000000 +0200
---- src/version.c 2011-07-27 17:58:22.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 265,
- /**/
-
---
- [clop clop]
-MORTICIAN: Who's that then?
-CUSTOMER: I don't know.
-MORTICIAN: Must be a king.
-CUSTOMER: Why?
-MORTICIAN: He hasn't got shit all over him.
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.266 b/source/ap/vim/patches/7.3.266
deleted file mode 100644
index 373280ee4..000000000
--- a/source/ap/vim/patches/7.3.266
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.266
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.266
-Problem: In Gvim with iBus typing space in Insert mode doesn't work.
-Solution: Clear xim_expected_char after checking it.
-Files: src/mbyte.c
-
-
-*** ../vim-7.3.265/src/mbyte.c 2011-07-15 21:16:54.000000000 +0200
---- src/mbyte.c 2011-07-27 18:21:13.000000000 +0200
-***************
-*** 5170,5175 ****
---- 5170,5179 ----
- /* We had a keypad key, and XIM tried to thieve it */
- return FALSE;
-
-+ /* This is supposed to fix a problem with iBus, that space
-+ * characters don't work in input mode. */
-+ xim_expected_char = NUL;
-+
- /* Normal processing */
- return imresult;
- }
-*** ../vim-7.3.265/src/version.c 2011-07-27 17:58:42.000000000 +0200
---- src/version.c 2011-07-27 18:23:00.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 266,
- /**/
-
---
- [clop clop]
-ARTHUR: Old woman!
-DENNIS: Man!
-ARTHUR: Man, sorry. What knight lives in that castle over there?
-DENNIS: I'm thirty seven.
-ARTHUR: What?
-DENNIS: I'm thirty seven -- I'm not old!
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.267 b/source/ap/vim/patches/7.3.267
deleted file mode 100644
index d986e5036..000000000
--- a/source/ap/vim/patches/7.3.267
+++ /dev/null
@@ -1,67 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.267
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.267
-Problem: Ruby on Mac OS X 10.7 may crash.
-Solution: Avoid alloc(0). (Bjorn Winckler)
-Files: src/if_ruby.c
-
-
-*** ../vim-7.3.266/src/if_ruby.c 2011-01-17 19:53:20.000000000 +0100
---- src/if_ruby.c 2011-08-04 18:57:43.000000000 +0200
-***************
-*** 761,771 ****
- char *buff, *p;
-
- str = rb_obj_as_string(str);
-! buff = ALLOCA_N(char, RSTRING_LEN(str));
-! strcpy(buff, RSTRING_PTR(str));
-! p = strchr(buff, '\n');
-! if (p) *p = '\0';
-! MSG(buff);
- return Qnil;
- }
-
---- 761,779 ----
- char *buff, *p;
-
- str = rb_obj_as_string(str);
-! if (RSTRING_LEN(str) > 0)
-! {
-! /* Only do this when the string isn't empty, alloc(0) causes trouble. */
-! buff = ALLOCA_N(char, RSTRING_LEN(str));
-! strcpy(buff, RSTRING_PTR(str));
-! p = strchr(buff, '\n');
-! if (p) *p = '\0';
-! MSG(buff);
-! }
-! else
-! {
-! MSG("");
-! }
- return Qnil;
- }
-
-*** ../vim-7.3.266/src/version.c 2011-07-27 18:25:40.000000000 +0200
---- src/version.c 2011-08-04 19:07:45.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 267,
- /**/
-
---
-There are 10 kinds of people: Those who understand binary and those who don't.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.268 b/source/ap/vim/patches/7.3.268
deleted file mode 100644
index aa848770c..000000000
--- a/source/ap/vim/patches/7.3.268
+++ /dev/null
@@ -1,69 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.268
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.268
-Problem: Vim freezes when executing an external command with zsh.
-Solution: Use O_NOCTTY both in the master and slave. (Bjorn Winckler)
-Files: src/os_unix.c
-
-
-*** ../vim-7.3.267/src/os_unix.c 2011-07-07 16:20:45.000000000 +0200
---- src/os_unix.c 2011-08-04 19:06:14.000000000 +0200
-***************
-*** 3889,3899 ****
- if (p_guipty && !(options & (SHELL_READ|SHELL_WRITE)))
- {
- pty_master_fd = OpenPTY(&tty_name); /* open pty */
-! if (pty_master_fd >= 0 && ((pty_slave_fd =
-! open(tty_name, O_RDWR | O_EXTRA, 0)) < 0))
- {
-! close(pty_master_fd);
-! pty_master_fd = -1;
- }
- }
- /*
---- 3889,3909 ----
- if (p_guipty && !(options & (SHELL_READ|SHELL_WRITE)))
- {
- pty_master_fd = OpenPTY(&tty_name); /* open pty */
-! if (pty_master_fd >= 0)
- {
-! /* Leaving out O_NOCTTY may lead to waitpid() always returning
-! * 0 on Mac OS X 10.7 thereby causing freezes. Let's assume
-! * adding O_NOCTTY always works when defined. */
-! #ifdef O_NOCTTY
-! pty_slave_fd = open(tty_name, O_RDWR | O_NOCTTY | O_EXTRA, 0);
-! #else
-! pty_slave_fd = open(tty_name, O_RDWR | O_EXTRA, 0);
-! #endif
-! if (pty_slave_fd < 0)
-! {
-! close(pty_master_fd);
-! pty_master_fd = -1;
-! }
- }
- }
- /*
-*** ../vim-7.3.267/src/version.c 2011-08-04 19:34:55.000000000 +0200
---- src/version.c 2011-08-04 19:36:00.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 268,
- /**/
-
---
-Mental Floss prevents moral decay!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.269 b/source/ap/vim/patches/7.3.269
deleted file mode 100644
index a0bfc473c..000000000
--- a/source/ap/vim/patches/7.3.269
+++ /dev/null
@@ -1,112 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.269
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.269
-Problem: 'shellcmdflag' only works with one flag.
-Solution: Split into multiple arguments. (Gary Johnson)
-Files: src/os_unix.c
-
-
-*** ../vim-7.3.268/src/os_unix.c 2011-08-04 19:36:47.000000000 +0200
---- src/os_unix.c 2011-08-04 20:27:13.000000000 +0200
-***************
-*** 3795,3802 ****
---- 3795,3804 ----
- int retval = -1;
- char **argv = NULL;
- int argc;
-+ char_u *p_shcf_copy = NULL;
- int i;
- char_u *p;
-+ char_u *s;
- int inquote;
- int pty_master_fd = -1; /* for pty's */
- # ifdef FEAT_GUI
-***************
-*** 3855,3860 ****
---- 3857,3875 ----
- }
- if (argv == NULL)
- {
-+ /*
-+ * Account for possible multiple args in p_shcf.
-+ */
-+ p = p_shcf;
-+ for (;;)
-+ {
-+ p = skiptowhite(p);
-+ if (*p == NUL)
-+ break;
-+ ++argc;
-+ p = skipwhite(p);
-+ }
-+
- argv = (char **)alloc((unsigned)((argc + 4) * sizeof(char *)));
- if (argv == NULL) /* out of memory */
- goto error;
-***************
-*** 3864,3870 ****
- {
- if (extra_shell_arg != NULL)
- argv[argc++] = (char *)extra_shell_arg;
-! argv[argc++] = (char *)p_shcf;
- argv[argc++] = (char *)cmd;
- }
- argv[argc] = NULL;
---- 3879,3901 ----
- {
- if (extra_shell_arg != NULL)
- argv[argc++] = (char *)extra_shell_arg;
-!
-! /* Break 'shellcmdflag' into white separated parts. This doesn't
-! * handle quoted strings, they are very unlikely to appear. */
-! p_shcf_copy = alloc((unsigned)STRLEN(p_shcf) + 1);
-! if (p_shcf_copy == NULL) /* out of memory */
-! goto error;
-! s = p_shcf_copy;
-! p = p_shcf;
-! while (*p != NUL)
-! {
-! argv[argc++] = (char *)s;
-! while (*p && *p != ' ' && *p != TAB)
-! *s++ = *p++;
-! *s++ = NUL;
-! p = skipwhite(p);
-! }
-!
- argv[argc++] = (char *)cmd;
- }
- argv[argc] = NULL;
-***************
-*** 4677,4682 ****
---- 4708,4714 ----
- }
- }
- vim_free(argv);
-+ vim_free(p_shcf_copy);
-
- error:
- if (!did_settmode)
-*** ../vim-7.3.268/src/version.c 2011-08-04 19:36:47.000000000 +0200
---- src/version.c 2011-08-04 20:30:44.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 269,
- /**/
-
---
-Be nice to your kids... they'll be the ones choosing your nursing home.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.270 b/source/ap/vim/patches/7.3.270
deleted file mode 100644
index 3eaf6bfa0..000000000
--- a/source/ap/vim/patches/7.3.270
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.270
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.270
-Problem: Illegal memory access.
-Solution: Swap conditions. (Dominique Pelle)
-Files: src/ops.c
-
-
-*** ../vim-7.3.269/src/ops.c 2011-07-15 17:51:30.000000000 +0200
---- src/ops.c 2011-08-10 12:07:22.000000000 +0200
-***************
-*** 6311,6317 ****
- *wc += words;
-
- /* Add eol_size if the end of line was reached before hitting limit. */
-! if (line[i] == NUL && i < limit)
- {
- i += eol_size;
- chars += eol_size;
---- 6311,6317 ----
- *wc += words;
-
- /* Add eol_size if the end of line was reached before hitting limit. */
-! if (i < limit && line[i] == NUL)
- {
- i += eol_size;
- chars += eol_size;
-*** ../vim-7.3.269/src/version.c 2011-08-04 20:31:50.000000000 +0200
---- src/version.c 2011-08-10 12:09:30.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 270,
- /**/
-
---
-An indication you must be a manager:
-You give constructive feedback to your dog.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.271 b/source/ap/vim/patches/7.3.271
deleted file mode 100644
index c42d19a82..000000000
--- a/source/ap/vim/patches/7.3.271
+++ /dev/null
@@ -1,504 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.271
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.271
-Problem: Code not following Vim coding style.
-Solution: Fix the style. (Elias Diem)
-Files: src/gui_photon.c
-
-
-*** ../vim-7.3.270/src/gui_photon.c 2011-07-27 14:09:05.000000000 +0200
---- src/gui_photon.c 2011-08-10 12:18:35.000000000 +0200
-***************
-*** 358,378 ****
- }
-
- static int
-! gui_ph_handle_window_cb( PtWidget_t *widget, void *data, PtCallbackInfo_t *info )
- {
- PhWindowEvent_t *we = info->cbdata;
- ushort_t *width, *height;
-
-! switch( we->event_f ) {
- case Ph_WM_CLOSE:
- gui_shell_closed();
- break;
-
- case Ph_WM_FOCUS:
- /* Just in case it's hidden and needs to be shown */
-! gui_mch_mousehide( MOUSE_SHOW );
-
-! if( we->event_state == Ph_WM_EVSTATE_FOCUS )
- {
- gui_focus_change(TRUE);
- gui_mch_start_blink();
---- 358,378 ----
- }
-
- static int
-! gui_ph_handle_window_cb(PtWidget_t *widget, void *data, PtCallbackInfo_t *info)
- {
- PhWindowEvent_t *we = info->cbdata;
- ushort_t *width, *height;
-
-! switch (we->event_f) {
- case Ph_WM_CLOSE:
- gui_shell_closed();
- break;
-
- case Ph_WM_FOCUS:
- /* Just in case it's hidden and needs to be shown */
-! gui_mch_mousehide(MOUSE_SHOW);
-
-! if (we->event_state == Ph_WM_EVSTATE_FOCUS)
- {
- gui_focus_change(TRUE);
- gui_mch_start_blink();
-***************
-*** 385,401 ****
- break;
-
- case Ph_WM_RESIZE:
-! PtGetResource( gui.vimWindow, Pt_ARG_WIDTH, &width, 0 );
-! PtGetResource( gui.vimWindow, Pt_ARG_HEIGHT, &height, 0 );
- #ifdef USE_PANEL_GROUP
- width -= (pg_margin_left + pg_margin_right);
- height -= (pg_margin_top + pg_margin_bottom);
- #endif
-! gui_resize_shell( *width, *height );
-! gui_set_shellsize( FALSE, FALSE, RESIZE_BOTH );
- is_ignore_draw = FALSE;
-! PtEndFlux( gui.vimContainer );
-! PtContainerRelease( gui.vimContainer );
- break;
-
- default:
---- 385,401 ----
- break;
-
- case Ph_WM_RESIZE:
-! PtGetResource(gui.vimWindow, Pt_ARG_WIDTH, &width, 0);
-! PtGetResource(gui.vimWindow, Pt_ARG_HEIGHT, &height, 0);
- #ifdef USE_PANEL_GROUP
- width -= (pg_margin_left + pg_margin_right);
- height -= (pg_margin_top + pg_margin_bottom);
- #endif
-! gui_resize_shell(*width, *height);
-! gui_set_shellsize(FALSE, FALSE, RESIZE_BOTH);
- is_ignore_draw = FALSE;
-! PtEndFlux(gui.vimContainer);
-! PtContainerRelease(gui.vimContainer);
- break;
-
- default:
-***************
-*** 406,412 ****
- }
-
- static int
-! gui_ph_handle_scrollbar( PtWidget_t *widget, void *data, PtCallbackInfo_t *info )
- {
- PtScrollbarCallback_t *scroll;
- scrollbar_T *sb;
---- 406,412 ----
- }
-
- static int
-! gui_ph_handle_scrollbar(PtWidget_t *widget, void *data, PtCallbackInfo_t *info)
- {
- PtScrollbarCallback_t *scroll;
- scrollbar_T *sb;
-***************
-*** 415,424 ****
- scroll = info->cbdata;
-
- sb = (scrollbar_T *) data;
-! if( sb != NULL )
- {
- value = scroll->position;
-! switch( scroll->action )
- {
- case Pt_SCROLL_DRAGGED:
- dragging = TRUE;
---- 415,424 ----
- scroll = info->cbdata;
-
- sb = (scrollbar_T *) data;
-! if (sb != NULL)
- {
- value = scroll->position;
-! switch (scroll->action)
- {
- case Pt_SCROLL_DRAGGED:
- dragging = TRUE;
-***************
-*** 436,532 ****
- }
-
- static int
-! gui_ph_handle_keyboard( PtWidget_t *widget, void *data, PtCallbackInfo_t *info )
- {
- PhKeyEvent_t *key;
- unsigned char string[6];
- int len, i;
- int ch, modifiers;
-
-! key = PhGetData( info->event );
-
- ch = modifiers = len = 0;
-
-! if( p_mh )
-! gui_mch_mousehide( MOUSE_HIDE );
-
- /* We're a good lil photon program, aren't we? yes we are, yeess wee arrr */
-! if( key->key_flags & Pk_KF_Compose )
- {
- return Pt_CONTINUE;
- }
-
-! if( (key->key_flags & Pk_KF_Cap_Valid) &&
-! PkIsKeyDown( key->key_flags ) )
- {
- #ifdef FEAT_MENU
- /*
- * Only show the menu if the Alt key is down, and the Shift & Ctrl
- * keys aren't down, as well as the other conditions
- */
-! if( ( ( key->key_mods & Pk_KM_Alt ) &&
-! !( key->key_mods & Pk_KM_Shift ) &&
-! !( key->key_mods & Pk_KM_Ctrl ) ) &&
- gui.menu_is_active &&
-! ( *p_wak == 'y' ||
-! ( *p_wak == 'm' &&
-! gui_is_menu_shortcut( key->key_cap ) ) ) )
- {
- /* Fallthrough and let photon look for the hotkey */
- return Pt_CONTINUE;
- }
- #endif
-
-! for( i = 0; special_keys[i].key_sym != 0; i++ )
- {
-! if( special_keys[i].key_sym == key->key_cap )
- {
- len = 0;
-! if( special_keys[i].vim_code1 == NUL )
- ch = special_keys[i].vim_code0;
- else
- {
- /* Detect if a keypad number key has been pressed
- * and change the key if Num Lock is on */
-! if( key->key_cap >= Pk_KP_Enter && key->key_cap <= Pk_KP_9
-! && ( key->key_mods & Pk_KM_Num_Lock ) )
- {
- /* FIXME: For now, just map the key to a ascii value
- * (see <photon/PkKeyDef.h>) */
- ch = key->key_cap - 0xf080;
- }
- else
-! ch = TO_SPECIAL( special_keys[i].vim_code0,
-! special_keys[i].vim_code1 );
- }
- break;
- }
- }
-
-! if( key->key_mods & Pk_KM_Ctrl )
- modifiers |= MOD_MASK_CTRL;
-! if( key->key_mods & Pk_KM_Alt )
- modifiers |= MOD_MASK_ALT;
-! if( key->key_mods & Pk_KM_Shift )
- modifiers |= MOD_MASK_SHIFT;
-
- /* Is this not a special key? */
-! if( special_keys[i].key_sym == 0 )
- {
-! ch = PhTo8859_1( key );
-! if( ch == -1
- #ifdef FEAT_MBYTE
-! || ( enc_utf8 && ch > 127 )
- #endif
- )
- {
- #ifdef FEAT_MBYTE
-! len = PhKeyToMb( string, key );
-! if( len > 0 )
- {
- static char buf[6];
- int src_taken, dst_made;
-! if( enc_utf8 != TRUE )
- {
- PxTranslateFromUTF(
- charset_translate,
---- 436,532 ----
- }
-
- static int
-! gui_ph_handle_keyboard(PtWidget_t *widget, void *data, PtCallbackInfo_t *info)
- {
- PhKeyEvent_t *key;
- unsigned char string[6];
- int len, i;
- int ch, modifiers;
-
-! key = PhGetData(info->event);
-
- ch = modifiers = len = 0;
-
-! if (p_mh)
-! gui_mch_mousehide(MOUSE_HIDE);
-
- /* We're a good lil photon program, aren't we? yes we are, yeess wee arrr */
-! if (key->key_flags & Pk_KF_Compose)
- {
- return Pt_CONTINUE;
- }
-
-! if ((key->key_flags & Pk_KF_Cap_Valid) &&
-! PkIsKeyDown(key->key_flags))
- {
- #ifdef FEAT_MENU
- /*
- * Only show the menu if the Alt key is down, and the Shift & Ctrl
- * keys aren't down, as well as the other conditions
- */
-! if (((key->key_mods & Pk_KM_Alt) &&
-! !(key->key_mods & Pk_KM_Shift) &&
-! !(key->key_mods & Pk_KM_Ctrl)) &&
- gui.menu_is_active &&
-! (*p_wak == 'y' ||
-! (*p_wak == 'm' &&
-! gui_is_menu_shortcut(key->key_cap))))
- {
- /* Fallthrough and let photon look for the hotkey */
- return Pt_CONTINUE;
- }
- #endif
-
-! for(i = 0; special_keys[i].key_sym != 0; i++)
- {
-! if (special_keys[i].key_sym == key->key_cap)
- {
- len = 0;
-! if (special_keys[i].vim_code1 == NUL)
- ch = special_keys[i].vim_code0;
- else
- {
- /* Detect if a keypad number key has been pressed
- * and change the key if Num Lock is on */
-! if (key->key_cap >= Pk_KP_Enter && key->key_cap <= Pk_KP_9
-! && (key->key_mods & Pk_KM_Num_Lock))
- {
- /* FIXME: For now, just map the key to a ascii value
- * (see <photon/PkKeyDef.h>) */
- ch = key->key_cap - 0xf080;
- }
- else
-! ch = TO_SPECIAL(special_keys[i].vim_code0,
-! special_keys[i].vim_code1);
- }
- break;
- }
- }
-
-! if (key->key_mods & Pk_KM_Ctrl)
- modifiers |= MOD_MASK_CTRL;
-! if (key->key_mods & Pk_KM_Alt)
- modifiers |= MOD_MASK_ALT;
-! if (key->key_mods & Pk_KM_Shift)
- modifiers |= MOD_MASK_SHIFT;
-
- /* Is this not a special key? */
-! if (special_keys[i].key_sym == 0)
- {
-! ch = PhTo8859_1(key);
-! if (ch == -1
- #ifdef FEAT_MBYTE
-! || (enc_utf8 && ch > 127)
- #endif
- )
- {
- #ifdef FEAT_MBYTE
-! len = PhKeyToMb(string, key);
-! if (len > 0)
- {
- static char buf[6];
- int src_taken, dst_made;
-! if (enc_utf8 != TRUE)
- {
- PxTranslateFromUTF(
- charset_translate,
-***************
-*** 2931,2943 ****
- name_len = (int_u) ( mark - vim_font );
-
- *font_name = vim_strnsave( vim_font, name_len );
-! if( *font_name != NULL )
- {
-! if( mark != NULL )
- {
-! while( *mark != NUL && *mark++ == ':')
- {
-! switch( tolower( *mark++ ) )
- {
- case 'a': *font_flags |= PF_STYLE_ANTIALIAS; break;
- case 'b': *font_flags |= PF_STYLE_BOLD; break;
---- 2931,2943 ----
- name_len = (int_u) ( mark - vim_font );
-
- *font_name = vim_strnsave( vim_font, name_len );
-! if (*font_name != NULL)
- {
-! if (mark != NULL)
- {
-! while (*mark != NUL && *mark++ == ':')
- {
-! switch (tolower(*mark++))
- {
- case 'a': *font_flags |= PF_STYLE_ANTIALIAS; break;
- case 'b': *font_flags |= PF_STYLE_BOLD; break;
-***************
-*** 2946,2952 ****
- case 's':
- size = getdigits( &mark );
- /* Restrict the size to some vague limits */
-! if( size < 1 || size > 100 )
- size = 8;
-
- *font_size = size;
---- 2946,2952 ----
- case 's':
- size = getdigits( &mark );
- /* Restrict the size to some vague limits */
-! if (size < 1 || size > 100)
- size = 8;
-
- *font_size = size;
-***************
-*** 2973,2990 ****
- FontQueryInfo info;
- PhRect_t extent;
-
-! if( vim_font_name == NULL )
- {
- /* Default font */
- vim_font_name = "PC Terminal";
- }
-
-! if( STRCMP( vim_font_name, "*" ) == 0 )
- {
- font_tag = PtFontSelection( gui.vimWindow, NULL, NULL,
- "pcterm12", -1, PHFONT_FIXED, NULL );
-
-! if( font_tag == NULL )
- return FAIL;
-
- gui_mch_free_font( gui.norm_font );
---- 2973,2990 ----
- FontQueryInfo info;
- PhRect_t extent;
-
-! if (vim_font_name == NULL)
- {
- /* Default font */
- vim_font_name = "PC Terminal";
- }
-
-! if (STRCMP( vim_font_name, "*" ) == 0)
- {
- font_tag = PtFontSelection( gui.vimWindow, NULL, NULL,
- "pcterm12", -1, PHFONT_FIXED, NULL );
-
-! if (font_tag == NULL)
- return FAIL;
-
- gui_mch_free_font( gui.norm_font );
-***************
-*** 2995,3006 ****
- }
- else
- {
-! if( gui_ph_parse_font_name( vim_font_name, &font_name, &font_flags,
-! &font_size ) == FALSE )
- return FAIL;
-
- font_tag = gui_ph_get_font( font_name, font_flags, font_size, 0 );
-! if( font_tag == NULL )
- {
- vim_free( font_name );
- return FAIL;
---- 2995,3006 ----
- }
- else
- {
-! if (gui_ph_parse_font_name( vim_font_name, &font_name, &font_flags,
-! &font_size ) == FALSE)
- return FAIL;
-
- font_tag = gui_ph_get_font( font_name, font_flags, font_size, 0 );
-! if (font_tag == NULL)
- {
- vim_free( font_name );
- return FAIL;
-***************
-*** 3053,3069 ****
- int_u font_size = 12;
- int_u font_flags = 0;
-
-! if( gui_ph_parse_font_name( vim_font_name, &font_name, &font_flags,
-! &font_size ) != FALSE )
- {
- font_tag = gui_ph_get_font( font_name, font_flags, font_size, -1 );
- vim_free( font_name );
-
-! if( font_tag != NULL )
- return (GuiFont)font_tag;
- }
-
-! if( report_error )
- EMSG2(e_font, vim_font_name );
-
- return FAIL;
---- 3053,3069 ----
- int_u font_size = 12;
- int_u font_flags = 0;
-
-! if (gui_ph_parse_font_name( vim_font_name, &font_name, &font_flags,
-! &font_size ) != FALSE)
- {
- font_tag = gui_ph_get_font( font_name, font_flags, font_size, -1 );
- vim_free( font_name );
-
-! if (font_tag != NULL)
- return (GuiFont)font_tag;
- }
-
-! if (report_error)
- EMSG2(e_font, vim_font_name );
-
- return FAIL;
-*** ../vim-7.3.270/src/version.c 2011-08-10 12:10:55.000000000 +0200
---- src/version.c 2011-08-10 12:17:06.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 271,
- /**/
-
---
-An indication you must be a manager:
-You believe you never have any problems in your life, just
-"issues" and "improvement opportunities".
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.272 b/source/ap/vim/patches/7.3.272
deleted file mode 100644
index b512a1fd7..000000000
--- a/source/ap/vim/patches/7.3.272
+++ /dev/null
@@ -1,51 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.272
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.272
-Problem: ":put =list" does not add an empty line for a trailing empty
- item.
-Solution: Add a trailing NL when turning a list into a string.
-Files: src/eval.c
-
-
-*** ../vim-7.3.271/src/eval.c 2011-07-15 21:24:06.000000000 +0200
---- src/eval.c 2011-08-10 12:31:51.000000000 +0200
-***************
-*** 1357,1363 ****
---- 1357,1367 ----
- {
- ga_init2(&ga, (int)sizeof(char), 80);
- if (tv.vval.v_list != NULL)
-+ {
- list_join(&ga, tv.vval.v_list, (char_u *)"\n", TRUE, 0);
-+ if (tv.vval.v_list->lv_len > 0)
-+ ga_append(&ga, NL);
-+ }
- ga_append(&ga, NUL);
- retval = (char_u *)ga.ga_data;
- }
-*** ../vim-7.3.271/src/version.c 2011-08-10 12:19:00.000000000 +0200
---- src/version.c 2011-08-10 12:36:41.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 272,
- /**/
-
---
-Lose weight, NEVER Diet again with
- The "Invisible Weight Loss Patch"
- (spam e-mail)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.273 b/source/ap/vim/patches/7.3.273
deleted file mode 100644
index e74eb5a2a..000000000
--- a/source/ap/vim/patches/7.3.273
+++ /dev/null
@@ -1,124 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.273
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.273
-Problem: A BOM in an error file is seen as text. (Aleksey Baibarin)
-Solution: Remove the BOM from the text before evaluating. (idea by Christian
- Brabandt)
-Files: src/quickfix.c, src/mbyte.c, src/proto/mbyte.pro,
- src/testdir/test10.in
-
-
-*** ../vim-7.3.272/src/quickfix.c 2011-05-19 17:42:54.000000000 +0200
---- src/quickfix.c 2011-08-10 12:56:15.000000000 +0200
-***************
-*** 561,566 ****
---- 561,570 ----
- break;
-
- IObuff[CMDBUFFSIZE - 2] = NUL; /* for very long lines */
-+ #ifdef FEAT_MBYTE
-+ remove_bom(IObuff);
-+ #endif
-+
- if ((efmp = vim_strrchr(IObuff, '\n')) != NULL)
- *efmp = NUL;
- #ifdef USE_CRNL
-*** ../vim-7.3.272/src/mbyte.c 2011-07-27 18:25:40.000000000 +0200
---- src/mbyte.c 2011-08-10 13:11:56.000000000 +0200
-***************
-*** 838,843 ****
---- 838,864 ----
- }
-
- /*
-+ * Remove all BOM from "s" by moving remaining text.
-+ */
-+ void
-+ remove_bom(s)
-+ char_u *s;
-+ {
-+ if (enc_utf8)
-+ {
-+ char_u *p = s;
-+
-+ while ((p = vim_strbyte(p, 0xef)) != NULL)
-+ {
-+ if (p[1] == 0xbb && p[2] == 0xbf)
-+ STRMOVE(p, p + 3);
-+ else
-+ ++p;
-+ }
-+ }
-+ }
-+
-+ /*
- * Get class of pointer:
- * 0 for blank or NUL
- * 1 for punctuation
-*** ../vim-7.3.272/src/proto/mbyte.pro 2011-07-07 15:08:53.000000000 +0200
---- src/proto/mbyte.pro 2011-08-10 12:50:44.000000000 +0200
-***************
-*** 2,7 ****
---- 2,8 ----
- int enc_canon_props __ARGS((char_u *name));
- char_u *mb_init __ARGS((void));
- int bomb_size __ARGS((void));
-+ void remove_bom __ARGS((char_u *s));
- int mb_get_class __ARGS((char_u *p));
- int dbcs_class __ARGS((unsigned lead, unsigned trail));
- int latin_char2len __ARGS((int c));
-*** ../vim-7.3.272/src/testdir/test10.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test10.in 2011-08-10 13:01:46.000000000 +0200
-***************
-*** 2,7 ****
---- 2,10 ----
-
- STARTTEST
- :so small.vim
-+ :" Also test a BOM is ignored.
-+ :so mbyte.vim
-+ :set encoding=utf-8
- :/start of errorfile/,/end of errorfile/w! Xerrorfile
- :/start of testfile/,/end of testfile/w! Xtestfile
- :cf Xerrorfile
-***************
-*** 20,26 ****
-
- start of errorfile
- "Xtestfile", line 4.12: 1506-045 (S) Undeclared identifier fd_set.
-! "Xtestfile", line 7 col 19; this is an error
- gcc -c -DHAVE_CONFIsing-prototypes -I/usr/X11R6/include version.c
- Xtestfile:13: parse error before `asd'
- make: *** [vim] Error 1
---- 23,29 ----
-
- start of errorfile
- "Xtestfile", line 4.12: 1506-045 (S) Undeclared identifier fd_set.
-! "Xtestfile", line 7 col 19; this is an error
- gcc -c -DHAVE_CONFIsing-prototypes -I/usr/X11R6/include version.c
- Xtestfile:13: parse error before `asd'
- make: *** [vim] Error 1
-*** ../vim-7.3.272/src/version.c 2011-08-10 12:38:02.000000000 +0200
---- src/version.c 2011-08-10 13:14:35.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 273,
- /**/
-
---
-Compilation process failed successfully.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.274 b/source/ap/vim/patches/7.3.274
deleted file mode 100644
index 48faf3cf0..000000000
--- a/source/ap/vim/patches/7.3.274
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.274
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.274
-Problem: With concealed characters tabs do not have the right size.
-Solution: Use VCOL_HLC instead of vcol. (Eiichi Sato)
-Files: src/screen.c
-
-
-*** ../vim-7.3.273/src/screen.c 2011-03-22 13:29:20.000000000 +0100
---- src/screen.c 2011-08-10 14:22:47.000000000 +0200
-***************
-*** 4252,4258 ****
- {
- /* tab amount depends on current column */
- n_extra = (int)wp->w_buffer->b_p_ts
-! - vcol % (int)wp->w_buffer->b_p_ts - 1;
- #ifdef FEAT_MBYTE
- mb_utf8 = FALSE; /* don't draw as UTF-8 */
- #endif
---- 4252,4258 ----
- {
- /* tab amount depends on current column */
- n_extra = (int)wp->w_buffer->b_p_ts
-! - VCOL_HLC % (int)wp->w_buffer->b_p_ts - 1;
- #ifdef FEAT_MBYTE
- mb_utf8 = FALSE; /* don't draw as UTF-8 */
- #endif
-*** ../vim-7.3.273/src/version.c 2011-08-10 13:21:30.000000000 +0200
---- src/version.c 2011-08-10 14:23:38.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 274,
- /**/
-
---
- Arthur pulls Pin out. The MONK blesses the grenade as ...
-ARTHUR: (quietly) One, two, five ...
-GALAHAD: Three, sir!
-ARTHUR: Three.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.275 b/source/ap/vim/patches/7.3.275
deleted file mode 100644
index 2bdd145b9..000000000
--- a/source/ap/vim/patches/7.3.275
+++ /dev/null
@@ -1,77 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.275
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.275
-Problem: MS-Windows: When using a black background some screen updates
- cause the window to flicker.
-Solution: Add WS_CLIPCHILDREN to CreateWindow(). (René Aguirre)
-Files: src/gui_w32.c
-
-
-*** ../vim-7.3.274/src/gui_w32.c 2011-07-07 17:43:37.000000000 +0200
---- src/gui_w32.c 2011-08-10 14:40:58.000000000 +0200
-***************
-*** 1379,1385 ****
- s_hwnd = CreateWindowEx(
- WS_EX_MDICHILD,
- szVimWndClass, "Vim MSWindows GUI",
-! WS_OVERLAPPEDWINDOW | WS_CHILD | WS_CLIPSIBLINGS | 0xC000,
- gui_win_x == -1 ? CW_USEDEFAULT : gui_win_x,
- gui_win_y == -1 ? CW_USEDEFAULT : gui_win_y,
- 100, /* Any value will do */
---- 1379,1386 ----
- s_hwnd = CreateWindowEx(
- WS_EX_MDICHILD,
- szVimWndClass, "Vim MSWindows GUI",
-! WS_OVERLAPPEDWINDOW | WS_CHILD
-! | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | 0xC000,
- gui_win_x == -1 ? CW_USEDEFAULT : gui_win_x,
- gui_win_y == -1 ? CW_USEDEFAULT : gui_win_y,
- 100, /* Any value will do */
-***************
-*** 1410,1416 ****
- * titlebar, it will be reparented below. */
- s_hwnd = CreateWindow(
- szVimWndClass, "Vim MSWindows GUI",
-! win_socket_id == 0 ? WS_OVERLAPPEDWINDOW : WS_POPUP,
- gui_win_x == -1 ? CW_USEDEFAULT : gui_win_x,
- gui_win_y == -1 ? CW_USEDEFAULT : gui_win_y,
- 100, /* Any value will do */
---- 1411,1418 ----
- * titlebar, it will be reparented below. */
- s_hwnd = CreateWindow(
- szVimWndClass, "Vim MSWindows GUI",
-! (win_socket_id == 0 ? WS_OVERLAPPEDWINDOW : WS_POPUP)
-! | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
- gui_win_x == -1 ? CW_USEDEFAULT : gui_win_x,
- gui_win_y == -1 ? CW_USEDEFAULT : gui_win_y,
- 100, /* Any value will do */
-*** ../vim-7.3.274/src/version.c 2011-08-10 14:32:33.000000000 +0200
---- src/version.c 2011-08-10 14:39:14.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 275,
- /**/
-
---
-ARTHUR: What does it say?
-BROTHER MAYNARD: It reads ... "Here may be found the last words of Joseph of
- Aramathea." "He who is valorous and pure of heart may find
- the Holy Grail in the aaaaarrrrrrggghhh..."
-ARTHUR: What?
-BROTHER MAYNARD: "The Aaaaarrrrrrggghhh..."
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.276 b/source/ap/vim/patches/7.3.276
deleted file mode 100644
index 3af02457d..000000000
--- a/source/ap/vim/patches/7.3.276
+++ /dev/null
@@ -1,130 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.276
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.276
-Problem: GvimExt sets $LANG in the wrong way.
-Solution: Save the environment and use it for gvim. (Yasuhiro Matsumoto)
-Files: src/GvimExt/gvimext.cpp
-
-
-*** ../vim-7.3.275/src/GvimExt/gvimext.cpp 2011-07-20 17:27:17.000000000 +0200
---- src/GvimExt/gvimext.cpp 2011-08-10 16:25:32.000000000 +0200
-***************
-*** 142,147 ****
---- 142,148 ----
- static int dyn_libintl_init(char *dir);
- static void dyn_libintl_end(void);
-
-+ static wchar_t *oldenv = NULL;
- static HINSTANCE hLibintlDLL = 0;
- static char *(*dyn_libintl_gettext)(const char *) = null_libintl_gettext;
- static char *(*dyn_libintl_textdomain)(const char *) = null_libintl_textdomain;
-***************
-*** 339,346 ****
- inc_cRefThisDLL()
- {
- #ifdef FEAT_GETTEXT
-! if (g_cRefThisDll == 0)
- dyn_gettext_load();
- #endif
- InterlockedIncrement((LPLONG)&g_cRefThisDll);
- }
---- 340,349 ----
- inc_cRefThisDLL()
- {
- #ifdef FEAT_GETTEXT
-! if (g_cRefThisDll == 0) {
- dyn_gettext_load();
-+ oldenv = GetEnvironmentStringsW();
-+ }
- #endif
- InterlockedIncrement((LPLONG)&g_cRefThisDll);
- }
-***************
-*** 349,356 ****
- dec_cRefThisDLL()
- {
- #ifdef FEAT_GETTEXT
-! if (InterlockedDecrement((LPLONG)&g_cRefThisDll) == 0)
- dyn_gettext_free();
- #else
- InterlockedDecrement((LPLONG)&g_cRefThisDll);
- #endif
---- 352,364 ----
- dec_cRefThisDLL()
- {
- #ifdef FEAT_GETTEXT
-! if (InterlockedDecrement((LPLONG)&g_cRefThisDll) == 0) {
- dyn_gettext_free();
-+ if (oldenv != NULL) {
-+ FreeEnvironmentStringsW(oldenv);
-+ oldenv = NULL;
-+ }
-+ }
- #else
- InterlockedDecrement((LPLONG)&g_cRefThisDll);
- #endif
-***************
-*** 905,912 ****
- NULL, // Process handle not inheritable.
- NULL, // Thread handle not inheritable.
- FALSE, // Set handle inheritance to FALSE.
-! 0, // No creation flags.
-! NULL, // Use parent's environment block.
- NULL, // Use parent's starting directory.
- &si, // Pointer to STARTUPINFO structure.
- &pi) // Pointer to PROCESS_INFORMATION structure.
---- 913,920 ----
- NULL, // Process handle not inheritable.
- NULL, // Thread handle not inheritable.
- FALSE, // Set handle inheritance to FALSE.
-! oldenv == NULL ? 0 : CREATE_UNICODE_ENVIRONMENT,
-! oldenv, // Use unmodified environment block.
- NULL, // Use parent's starting directory.
- &si, // Pointer to STARTUPINFO structure.
- &pi) // Pointer to PROCESS_INFORMATION structure.
-***************
-*** 987,994 ****
- NULL, // Process handle not inheritable.
- NULL, // Thread handle not inheritable.
- FALSE, // Set handle inheritance to FALSE.
-! 0, // No creation flags.
-! NULL, // Use parent's environment block.
- NULL, // Use parent's starting directory.
- &si, // Pointer to STARTUPINFO structure.
- &pi) // Pointer to PROCESS_INFORMATION structure.
---- 995,1002 ----
- NULL, // Process handle not inheritable.
- NULL, // Thread handle not inheritable.
- FALSE, // Set handle inheritance to FALSE.
-! oldenv == NULL ? 0 : CREATE_UNICODE_ENVIRONMENT,
-! oldenv, // Use unmodified environment block.
- NULL, // Use parent's starting directory.
- &si, // Pointer to STARTUPINFO structure.
- &pi) // Pointer to PROCESS_INFORMATION structure.
-*** ../vim-7.3.275/src/version.c 2011-08-10 15:56:24.000000000 +0200
---- src/version.c 2011-08-10 16:28:42.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 276,
- /**/
-
---
-User: I'm having problems with my text editor.
-Help desk: Which editor are you using?
-User: I don't know, but it's version VI (pronounced: 6).
-Help desk: Oh, then you should upgrade to version VIM (pronounced: 994).
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.277 b/source/ap/vim/patches/7.3.277
deleted file mode 100644
index 3509a1a6f..000000000
--- a/source/ap/vim/patches/7.3.277
+++ /dev/null
@@ -1,348 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.277
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.277
-Problem: MS-Windows: some characters do not show in dialogs.
-Solution: Use the wide methods when available. (Yanwei Jia)
-Files: src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, src/os_win32.c,
- src/os_win32.h
-
-
-*** ../vim-7.3.276/src/gui_w32.c 2011-08-10 15:56:24.000000000 +0200
---- src/gui_w32.c 2011-08-10 16:52:55.000000000 +0200
-***************
-*** 1270,1275 ****
---- 1270,1294 ----
- pGetMonitorInfo = (TGetMonitorInfo)GetProcAddress(user32_lib,
- "GetMonitorInfoA");
- }
-+
-+ #ifdef FEAT_MBYTE
-+ /* If the OS is Windows NT, use wide functions;
-+ * this enables common dialogs input unicode from IME. */
-+ if (os_version.dwPlatformId == VER_PLATFORM_WIN32_NT)
-+ {
-+ pDispatchMessage = DispatchMessageW;
-+ pGetMessage = GetMessageW;
-+ pIsDialogMessage = IsDialogMessageW;
-+ pPeekMessage = PeekMessageW;
-+ }
-+ else
-+ {
-+ pDispatchMessage = DispatchMessageA;
-+ pGetMessage = GetMessageA;
-+ pIsDialogMessage = IsDialogMessageA;
-+ pPeekMessage = PeekMessageA;
-+ }
-+ #endif
- }
-
- /*
-*** ../vim-7.3.276/src/gui_w48.c 2010-10-20 21:22:17.000000000 +0200
---- src/gui_w48.c 2011-08-10 16:49:39.000000000 +0200
-***************
-*** 390,396 ****
- KillTimer(NULL, idEvent);
-
- /* Eat spurious WM_TIMER messages */
-! while (PeekMessage(&msg, hwnd, WM_TIMER, WM_TIMER, PM_REMOVE))
- ;
-
- if (blink_state == BLINK_ON)
---- 390,396 ----
- KillTimer(NULL, idEvent);
-
- /* Eat spurious WM_TIMER messages */
-! while (pPeekMessage(&msg, hwnd, WM_TIMER, WM_TIMER, PM_REMOVE))
- ;
-
- if (blink_state == BLINK_ON)
-***************
-*** 418,424 ****
- {
- KillTimer(NULL, blink_timer);
- /* Eat spurious WM_TIMER messages */
-! while (PeekMessage(&msg, s_hwnd, WM_TIMER, WM_TIMER, PM_REMOVE))
- ;
- blink_timer = 0;
- }
---- 418,424 ----
- {
- KillTimer(NULL, blink_timer);
- /* Eat spurious WM_TIMER messages */
-! while (pPeekMessage(&msg, s_hwnd, WM_TIMER, WM_TIMER, PM_REMOVE))
- ;
- blink_timer = 0;
- }
-***************
-*** 476,482 ****
- s_timed_out = TRUE;
-
- /* Eat spurious WM_TIMER messages */
-! while (PeekMessage(&msg, hwnd, WM_TIMER, WM_TIMER, PM_REMOVE))
- ;
- if (idEvent == s_wait_timer)
- s_wait_timer = 0;
---- 476,482 ----
- s_timed_out = TRUE;
-
- /* Eat spurious WM_TIMER messages */
-! while (pPeekMessage(&msg, hwnd, WM_TIMER, WM_TIMER, PM_REMOVE))
- ;
- if (idEvent == s_wait_timer)
- s_wait_timer = 0;
-***************
-*** 1707,1713 ****
- static char_u k10[] = {K_SPECIAL, 'k', ';', 0};
- #endif
-
-! GetMessage(&msg, NULL, 0, 0);
-
- #ifdef FEAT_OLE
- /* Look after OLE Automation commands */
---- 1707,1713 ----
- static char_u k10[] = {K_SPECIAL, 'k', ';', 0};
- #endif
-
-! pGetMessage(&msg, NULL, 0, 0);
-
- #ifdef FEAT_OLE
- /* Look after OLE Automation commands */
-***************
-*** 1718,1724 ****
- {
- /* Message can't be ours, forward it. Fixes problem with Ultramon
- * 3.0.4 */
-! DispatchMessage(&msg);
- }
- else
- {
---- 1718,1724 ----
- {
- /* Message can't be ours, forward it. Fixes problem with Ultramon
- * 3.0.4 */
-! pDispatchMessage(&msg);
- }
- else
- {
-***************
-*** 1749,1762 ****
- if (msg.message == WM_USER)
- {
- MyTranslateMessage(&msg);
-! DispatchMessage(&msg);
- return;
- }
- #endif
-
- #ifdef MSWIN_FIND_REPLACE
- /* Don't process messages used by the dialog */
-! if (s_findrep_hwnd != NULL && IsDialogMessage(s_findrep_hwnd, &msg))
- {
- HandleMouseHide(msg.message, msg.lParam);
- return;
---- 1749,1762 ----
- if (msg.message == WM_USER)
- {
- MyTranslateMessage(&msg);
-! pDispatchMessage(&msg);
- return;
- }
- #endif
-
- #ifdef MSWIN_FIND_REPLACE
- /* Don't process messages used by the dialog */
-! if (s_findrep_hwnd != NULL && pIsDialogMessage(s_findrep_hwnd, &msg))
- {
- HandleMouseHide(msg.message, msg.lParam);
- return;
-***************
-*** 1928,1934 ****
- if (vk != VK_F10 || check_map(k10, State, FALSE, TRUE, FALSE,
- NULL, NULL) == NULL)
- #endif
-! DispatchMessage(&msg);
- }
-
- /*
---- 1928,1934 ----
- if (vk != VK_F10 || check_map(k10, State, FALSE, TRUE, FALSE,
- NULL, NULL) == NULL)
- #endif
-! pDispatchMessage(&msg);
- }
-
- /*
-***************
-*** 1943,1949 ****
- MSG msg;
-
- if (!s_busy_processing)
-! while (PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)
- && !vim_is_input_buf_full())
- process_message();
- }
---- 1943,1949 ----
- MSG msg;
-
- if (!s_busy_processing)
-! while (pPeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)
- && !vim_is_input_buf_full())
- process_message();
- }
-***************
-*** 2019,2025 ****
- KillTimer(NULL, s_wait_timer);
-
- /* Eat spurious WM_TIMER messages */
-! while (PeekMessage(&msg, s_hwnd, WM_TIMER, WM_TIMER, PM_REMOVE))
- ;
- s_wait_timer = 0;
- }
---- 2019,2025 ----
- KillTimer(NULL, s_wait_timer);
-
- /* Eat spurious WM_TIMER messages */
-! while (pPeekMessage(&msg, s_hwnd, WM_TIMER, WM_TIMER, PM_REMOVE))
- ;
- s_wait_timer = 0;
- }
-*** ../vim-7.3.276/src/os_mswin.c 2011-06-19 01:30:01.000000000 +0200
---- src/os_mswin.c 2011-08-10 16:45:24.000000000 +0200
-***************
-*** 1856,1867 ****
- {
- MSG msg;
-
-! while (!*bUserAbort && PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
- {
-! if (!hDlgPrint || !IsDialogMessage(hDlgPrint, &msg))
- {
- TranslateMessage(&msg);
-! DispatchMessage(&msg);
- }
- }
- return !*bUserAbort;
---- 1856,1867 ----
- {
- MSG msg;
-
-! while (!*bUserAbort && pPeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
- {
-! if (!hDlgPrint || !pIsDialogMessage(hDlgPrint, &msg))
- {
- TranslateMessage(&msg);
-! pDispatchMessage(&msg);
- }
- }
- return !*bUserAbort;
-***************
-*** 3132,3141 ****
- {
- MSG msg;
-
-! while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
- {
- TranslateMessage(&msg);
-! DispatchMessage(&msg);
- }
- }
-
---- 3132,3141 ----
- {
- MSG msg;
-
-! while (pPeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
- {
- TranslateMessage(&msg);
-! pDispatchMessage(&msg);
- }
- }
-
-*** ../vim-7.3.276/src/os_win32.c 2011-07-07 16:20:45.000000000 +0200
---- src/os_win32.c 2011-08-10 16:54:50.000000000 +0200
-***************
-*** 152,157 ****
---- 152,165 ----
- # define wcsicmp(a, b) wcscmpi((a), (b))
- #endif
-
-+ /* Enable common dialogs input unicode from IME if posible. */
-+ #ifdef FEAT_MBYTE
-+ LRESULT (WINAPI *pDispatchMessage)(LPMSG) = DispatchMessage;
-+ BOOL (WINAPI *pGetMessage)(LPMSG, HWND, UINT, UINT) = GetMessage;
-+ BOOL (WINAPI *pIsDialogMessage)(HWND, LPMSG) = IsDialogMessage;
-+ BOOL (WINAPI *pPeekMessage)(LPMSG, HWND, UINT, UINT, UINT) = PeekMessage;
-+ #endif
-+
- #ifndef FEAT_GUI_W32
- /* Win32 Console handles for input and output */
- static HANDLE g_hConIn = INVALID_HANDLE_VALUE;
-***************
-*** 3284,3293 ****
- {
- MSG msg;
-
-! if (PeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE))
- {
- TranslateMessage(&msg);
-! DispatchMessage(&msg);
- }
- if (WaitForSingleObject(pi.hProcess, delay) != WAIT_TIMEOUT)
- break;
---- 3292,3301 ----
- {
- MSG msg;
-
-! if (pPeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE))
- {
- TranslateMessage(&msg);
-! pDispatchMessage(&msg);
- }
- if (WaitForSingleObject(pi.hProcess, delay) != WAIT_TIMEOUT)
- break;
-*** ../vim-7.3.276/src/os_win32.h 2011-05-05 18:31:54.000000000 +0200
---- src/os_win32.h 2011-08-10 16:51:58.000000000 +0200
-***************
-*** 193,195 ****
---- 193,209 ----
- #else
- # define vim_mkdir(x, y) mch_mkdir(x)
- #endif
-+
-+ /* Enable common dialogs input unicode from IME if posible. */
-+ #ifdef FEAT_MBYTE
-+ /* The variables are defined in os_win32.c. */
-+ extern LRESULT (WINAPI *pDispatchMessage)(LPMSG);
-+ extern BOOL (WINAPI *pGetMessage)(LPMSG, HWND, UINT, UINT);
-+ extern BOOL (WINAPI *pIsDialogMessage)(HWND, LPMSG);
-+ extern BOOL (WINAPI *pPeekMessage)(LPMSG, HWND, UINT, UINT, UINT);
-+ #else
-+ # define pDispatchMessage DispatchMessage
-+ # define pGetMessage GetMessage
-+ # define pIsDialogMessage IsDialogMessage
-+ # define pPeekMessage PeekMessage
-+ #endif
-*** ../vim-7.3.276/src/version.c 2011-08-10 16:31:18.000000000 +0200
---- src/version.c 2011-08-10 17:06:55.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 277,
- /**/
-
---
-Veni, Vidi, VW -- I came, I saw, I drove around in a little car.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.278 b/source/ap/vim/patches/7.3.278
deleted file mode 100644
index 60bc0ac87..000000000
--- a/source/ap/vim/patches/7.3.278
+++ /dev/null
@@ -1,73 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.278
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.278
-Problem: Passing the file name to open in VisVim doesn't work.
-Solution: Adjust the index and check for end of buffer. (Jiri Sedlak)
-Files: src/VisVim/Commands.cpp
-
-
-*** ../vim-7.3.277/src/VisVim/Commands.cpp 2010-08-15 21:57:27.000000000 +0200
---- src/VisVim/Commands.cpp 2011-08-10 17:21:27.000000000 +0200
-***************
-*** 549,555 ****
- if (g_bNewTabs)
- {
- sprintf(VimCmd, ":tab drop ");
-! s = VimCmd + 11;
- }
- else
- {
---- 549,555 ----
- if (g_bNewTabs)
- {
- sprintf(VimCmd, ":tab drop ");
-! s = VimCmd + 10;
- }
- else
- {
-***************
-*** 557,564 ****
- s = VimCmd + 6;
- }
- sprintf(FileNameTmp, "%S", (char *)FileName);
-! for (p = FileNameTmp; *p != '\0' && s < FileNameTmp + MAX_OLE_STR - 4;
-! ++p)
- if (*p == '\\')
- *s++ = '/';
- else
---- 557,563 ----
- s = VimCmd + 6;
- }
- sprintf(FileNameTmp, "%S", (char *)FileName);
-! for (p = FileNameTmp; *p != '\0' && s < VimCmd + MAX_OLE_STR - 4; ++p)
- if (*p == '\\')
- *s++ = '/';
- else
-*** ../vim-7.3.277/src/version.c 2011-08-10 17:07:56.000000000 +0200
---- src/version.c 2011-08-10 17:25:20.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 278,
- /**/
-
---
-ARTHUR: But if he was dying, he wouldn't bother to carve
- "Aaaaarrrrrrggghhh". He'd just say it.
-BROTHER MAYNARD: It's down there carved in stone.
-GALAHAD: Perhaps he was dictating.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.279 b/source/ap/vim/patches/7.3.279
deleted file mode 100644
index 6a8814b62..000000000
--- a/source/ap/vim/patches/7.3.279
+++ /dev/null
@@ -1,118 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.279
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.279
-Problem: With GTK, when gvim is full-screen and a tab is opened and using a
- specific monitor configuration the window is too big.
-Solution: Adjust the window size like on MS-Windows. (Yukihiro Nakadaira)
-Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro
-
-
-*** ../vim-7.3.278/src/gui.c 2011-06-26 04:48:56.000000000 +0200
---- src/gui.c 2011-08-10 17:40:31.000000000 +0200
-***************
-*** 1407,1413 ****
- if (!gui.shell_created)
- return;
-
-! #ifdef MSWIN
- /* If not setting to a user specified size and maximized, calculate the
- * number of characters that fit in the maximized window. */
- if (!mustset && gui_mch_maximized())
---- 1407,1413 ----
- if (!gui.shell_created)
- return;
-
-! #if defined(MSWIN) || defined(FEAT_GUI_GTK)
- /* If not setting to a user specified size and maximized, calculate the
- * number of characters that fit in the maximized window. */
- if (!mustset && gui_mch_maximized())
-*** ../vim-7.3.278/src/gui_gtk_x11.c 2011-06-26 04:48:56.000000000 +0200
---- src/gui_gtk_x11.c 2011-08-10 17:42:19.000000000 +0200
-***************
-*** 3900,3905 ****
---- 3900,3920 ----
- }
-
- /*
-+ * Called when the font changed while the window is maximized. Compute the
-+ * new Rows and Columns. This is like resizing the window.
-+ */
-+ void
-+ gui_mch_newfont()
-+ {
-+ int w, h;
-+
-+ gtk_window_get_size(GTK_WINDOW(gui.mainwin), &w, &h);
-+ w -= get_menu_tool_width();
-+ h -= get_menu_tool_height();
-+ gui_resize_shell(w, h);
-+ }
-+
-+ /*
- * Set the windows size.
- */
- void
-***************
-*** 4409,4422 ****
-
- if (gui_mch_maximized())
- {
-- int w, h;
--
- /* Update lines and columns in accordance with the new font, keep the
- * window maximized. */
-! gtk_window_get_size(GTK_WINDOW(gui.mainwin), &w, &h);
-! w -= get_menu_tool_width();
-! h -= get_menu_tool_height();
-! gui_resize_shell(w, h);
- }
- else
- {
---- 4424,4432 ----
-
- if (gui_mch_maximized())
- {
- /* Update lines and columns in accordance with the new font, keep the
- * window maximized. */
-! gui_mch_newfont();
- }
- else
- {
-*** ../vim-7.3.278/src/proto/gui_gtk_x11.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/gui_gtk_x11.pro 2011-08-10 17:42:29.000000000 +0200
-***************
-*** 20,25 ****
---- 20,26 ----
- void gui_mch_set_winpos __ARGS((int x, int y));
- int gui_mch_maximized __ARGS((void));
- void gui_mch_unmaximize __ARGS((void));
-+ void gui_mch_newfont __ARGS((void));
- void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height, int direction));
- void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
- void gui_mch_settitle __ARGS((char_u *title, char_u *icon));
-*** ../vim-7.3.278/src/version.c 2011-08-10 17:25:48.000000000 +0200
---- src/version.c 2011-08-10 17:43:22.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 279,
- /**/
-
---
-LAUNCELOT: Isn't there a St. Aaaaarrrrrrggghhh's in Cornwall?
-ARTHUR: No, that's Saint Ives.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.280 b/source/ap/vim/patches/7.3.280
deleted file mode 100644
index 1c1387aee..000000000
--- a/source/ap/vim/patches/7.3.280
+++ /dev/null
@@ -1,181 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.280
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.280
-Problem: ":lmake" does not update the quickfix window title.
-Solution: Update the title. (Lech Lorens)
-Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok
-
-
-*** ../vim-7.3.279/src/quickfix.c 2011-08-10 13:21:30.000000000 +0200
---- src/quickfix.c 2011-08-10 18:09:19.000000000 +0200
-***************
-*** 126,131 ****
---- 126,132 ----
- static win_T *qf_find_win __ARGS((qf_info_T *qi));
- static buf_T *qf_find_buf __ARGS((qf_info_T *qi));
- static void qf_update_buffer __ARGS((qf_info_T *qi));
-+ static void qf_set_title __ARGS((qf_info_T *qi));
- static void qf_fill_buffer __ARGS((qf_info_T *qi));
- #endif
- static char_u *get_mef_name __ARGS((void));
-***************
-*** 2388,2395 ****
- qf_fill_buffer(qi);
-
- if (qi->qf_lists[qi->qf_curlist].qf_title != NULL)
-! set_internal_string_var((char_u *)"w:quickfix_title",
-! qi->qf_lists[qi->qf_curlist].qf_title);
-
- curwin->w_cursor.lnum = qi->qf_lists[qi->qf_curlist].qf_index;
- curwin->w_cursor.col = 0;
---- 2389,2395 ----
- qf_fill_buffer(qi);
-
- if (qi->qf_lists[qi->qf_curlist].qf_title != NULL)
-! qf_set_title(qi);
-
- curwin->w_cursor.lnum = qi->qf_lists[qi->qf_curlist].qf_index;
- curwin->w_cursor.col = 0;
-***************
-*** 2526,2531 ****
---- 2526,2533 ----
- qf_info_T *qi;
- {
- buf_T *buf;
-+ win_T *win;
-+ win_T *curwin_save;
- aco_save_T aco;
-
- /* Check if a buffer for the quickfix list exists. Update it. */
-***************
-*** 2537,2542 ****
---- 2539,2554 ----
-
- qf_fill_buffer(qi);
-
-+ if (qi->qf_lists[qi->qf_curlist].qf_title != NULL
-+ && (win = qf_find_win(qi)) != NULL)
-+ {
-+ curwin_save = curwin;
-+ curwin = win;
-+ qf_set_title(qi);
-+ curwin = curwin_save;
-+
-+ }
-+
- /* restore curwin/curbuf and a few other things */
- aucmd_restbuf(&aco);
-
-***************
-*** 2544,2549 ****
---- 2556,2569 ----
- }
- }
-
-+ static void
-+ qf_set_title(qi)
-+ qf_info_T *qi;
-+ {
-+ set_internal_string_var((char_u *)"w:quickfix_title",
-+ qi->qf_lists[qi->qf_curlist].qf_title);
-+ }
-+
- /*
- * Fill current buffer with quickfix errors, replacing any previous contents.
- * curbuf must be the quickfix buffer!
-*** ../vim-7.3.279/src/testdir/test10.in 2011-08-10 13:21:30.000000000 +0200
---- src/testdir/test10.in 2011-08-10 18:28:31.000000000 +0200
-***************
-*** 5,13 ****
- :" Also test a BOM is ignored.
- :so mbyte.vim
- :set encoding=utf-8
-! :/start of errorfile/,/end of errorfile/w! Xerrorfile
- :/start of testfile/,/end of testfile/w! Xtestfile
-! :cf Xerrorfile
- rA
- :cn
- rB
---- 5,20 ----
- :" Also test a BOM is ignored.
- :so mbyte.vim
- :set encoding=utf-8
-! :7/start of errorfile/,/end of errorfile/w! Xerrorfile1
-! :7/start of errorfile/,/end of errorfile/-1w! Xerrorfile2
- :/start of testfile/,/end of testfile/w! Xtestfile
-! :cf Xerrorfile2
-! :clast
-! :copen
-! :let a=w:quickfix_title
-! :wincmd p
-! gR=a 
-! :cf Xerrorfile1
- rA
- :cn
- rB
-***************
-*** 17,22 ****
---- 24,34 ----
- rD
- :cn
- rE
-+ :cn
-+ :wincmd w
-+ :let a=w:quickfix_title
-+ :wincmd p
-+ gR=a 
- :w! test.out " Write contents of this file
- :qa!
- ENDTEST
-***************
-*** 33,38 ****
---- 45,52 ----
- "Xtestfile", linenr 19: yet another problem
-
- Does anyone know what is the problem and how to correction it?
-+ "Xtestfile", line 21 col 9: What is the title of the quickfix window?
-+ "Xtestfile", line 22 col 9: What is the title of the quickfix window?
- end of errorfile
-
- start of testfile
-*** ../vim-7.3.279/src/testdir/test10.ok 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test10.ok 2011-08-10 18:03:53.000000000 +0200
-***************
-*** 18,23 ****
- line 18 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- Eine 19 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- line 20 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 21 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 22 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- end of testfile
---- 18,23 ----
- line 18 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- Eine 19 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- line 20 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 21 :cf Xerrorfile1xxxxxxxxxxxxxxx
-! line 22 :cf Xerrorfile2xxxxxxxxxxxxxxx
- end of testfile
-*** ../vim-7.3.279/src/version.c 2011-08-10 17:44:41.000000000 +0200
---- src/version.c 2011-08-10 18:35:52.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 280,
- /**/
-
---
-"When I die, I want a tombstone that says "GAME OVER" - Ton Richters
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.281 b/source/ap/vim/patches/7.3.281
deleted file mode 100644
index f90e95e13..000000000
--- a/source/ap/vim/patches/7.3.281
+++ /dev/null
@@ -1,134 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.281
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.281
-Problem: After using "expand('%:8')" the buffer name is changed.
-Solution: Make a copy of the file name before shortening it.
-Files: src/eval.c
-
-
-*** ../vim-7.3.280/src/eval.c 2011-08-10 12:38:02.000000000 +0200
---- src/eval.c 2011-08-17 15:12:39.000000000 +0200
-***************
-*** 23205,23210 ****
---- 23205,23211 ----
- int c;
- int has_fullname = 0;
- #ifdef WIN3264
-+ char_u *fname_start = *fnamep;
- int has_shortname = 0;
- #endif
-
-***************
-*** 23379,23402 ****
- }
-
- #ifdef WIN3264
-! /* Check shortname after we have done 'heads' and before we do 'tails'
- */
- if (has_shortname)
- {
-! pbuf = NULL;
-! /* Copy the string if it is shortened by :h */
-! if (*fnamelen < (int)STRLEN(*fnamep))
- {
- p = vim_strnsave(*fnamep, *fnamelen);
-! if (p == 0)
- return -1;
- vim_free(*bufp);
- *bufp = *fnamep = p;
- }
-
- /* Split into two implementations - makes it easier. First is where
-! * there isn't a full name already, second is where there is.
-! */
- if (!has_fullname && !vim_isAbsName(*fnamep))
- {
- if (shortpath_for_partial(fnamep, bufp, fnamelen) == FAIL)
---- 23380,23404 ----
- }
-
- #ifdef WIN3264
-! /*
-! * Handle ":8" after we have done 'heads' and before we do 'tails'.
- */
- if (has_shortname)
- {
-! /* Copy the string if it is shortened by :h and when it wasn't copied
-! * yet, because we are going to change it in place. Avoids changing
-! * the buffer name for "%:8". */
-! if (*fnamelen < (int)STRLEN(*fnamep) || *fnamep == fname_start)
- {
- p = vim_strnsave(*fnamep, *fnamelen);
-! if (p == NULL)
- return -1;
- vim_free(*bufp);
- *bufp = *fnamep = p;
- }
-
- /* Split into two implementations - makes it easier. First is where
-! * there isn't a full name already, second is where there is. */
- if (!has_fullname && !vim_isAbsName(*fnamep))
- {
- if (shortpath_for_partial(fnamep, bufp, fnamelen) == FAIL)
-***************
-*** 23404,23421 ****
- }
- else
- {
-! int l;
-
-! /* Simple case, already have the full-name
- * Nearly always shorter, so try first time. */
-- l = *fnamelen;
- if (get_short_pathname(fnamep, bufp, &l) == FAIL)
- return -1;
-
- if (l == 0)
- {
-! /* Couldn't find the filename.. search the paths.
-! */
- l = *fnamelen;
- if (shortpath_for_invalid_fname(fnamep, bufp, &l) == FAIL)
- return -1;
---- 23406,23421 ----
- }
- else
- {
-! int l = *fnamelen;
-
-! /* Simple case, already have the full-name.
- * Nearly always shorter, so try first time. */
- if (get_short_pathname(fnamep, bufp, &l) == FAIL)
- return -1;
-
- if (l == 0)
- {
-! /* Couldn't find the filename, search the paths. */
- l = *fnamelen;
- if (shortpath_for_invalid_fname(fnamep, bufp, &l) == FAIL)
- return -1;
-*** ../vim-7.3.280/src/version.c 2011-08-10 18:36:49.000000000 +0200
---- src/version.c 2011-08-17 15:21:41.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 281,
- /**/
-
---
-Kisses may last for as much as, but no more than, five minutes.
- [real standing law in Iowa, United States of America]
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.282 b/source/ap/vim/patches/7.3.282
deleted file mode 100644
index dcd16806e..000000000
--- a/source/ap/vim/patches/7.3.282
+++ /dev/null
@@ -1,60 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.282
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.282
-Problem: When using input() and :echo in a loop the displayed text is
- incorrect. (Benjamin Fritz)
-Solution: Only restore the cursor position when there is a command line.
- (Ben Schmidt)
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.281/src/ex_getln.c 2011-07-27 17:58:42.000000000 +0200
---- src/ex_getln.c 2011-08-17 15:57:39.000000000 +0200
-***************
-*** 1969,1976 ****
- # endif
- s = getcmdline(firstc, 1L, 0);
- restore_cmdline(&save_ccline);
-! /* Restore msg_col, the prompt from input() may have changed it. */
-! msg_col = msg_col_save;
-
- return s;
- }
---- 1969,1980 ----
- # endif
- s = getcmdline(firstc, 1L, 0);
- restore_cmdline(&save_ccline);
-! /* Restore msg_col, the prompt from input() may have changed it.
-! * But only if called recursively and the commandline is therefore being
-! * restored to an old one; if not, the input() prompt stays on the screen,
-! * so we need its modified msg_col left intact. */
-! if (ccline.cmdbuff != NULL)
-! msg_col = msg_col_save;
-
- return s;
- }
-*** ../vim-7.3.281/src/version.c 2011-08-17 15:23:16.000000000 +0200
---- src/version.c 2011-08-17 16:24:04.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 282,
- /**/
-
---
-Why don't cannibals eat clowns?
-Because they taste funny.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.283 b/source/ap/vim/patches/7.3.283
deleted file mode 100644
index 1a3a6358c..000000000
--- a/source/ap/vim/patches/7.3.283
+++ /dev/null
@@ -1,114 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.283
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.283
-Problem: An expression mapping with a multi-byte character containing a
- 0x80 byte gets messed up. (ZyX)
-Solution: Unescape the expression before evaluating it (Yukihiro Nakadaira)
-Files: src/getchar.c
-
-
-*** ../vim-7.3.282/src/getchar.c 2011-04-28 17:30:05.000000000 +0200
---- src/getchar.c 2011-08-17 17:04:38.000000000 +0200
-***************
-*** 3262,3270 ****
- validate_maphash();
-
- /*
-! * find end of keys and skip CTRL-Vs (and backslashes) in it
- * Accept backslash like CTRL-V when 'cpoptions' does not contain 'B'.
-! * with :unmap white space is included in the keys, no argument possible
- */
- p = keys;
- do_backslash = (vim_strchr(p_cpo, CPO_BSLASH) == NULL);
---- 3262,3270 ----
- validate_maphash();
-
- /*
-! * Find end of keys and skip CTRL-Vs (and backslashes) in it.
- * Accept backslash like CTRL-V when 'cpoptions' does not contain 'B'.
-! * with :unmap white space is included in the keys, no argument possible.
- */
- p = keys;
- do_backslash = (vim_strchr(p_cpo, CPO_BSLASH) == NULL);
-***************
-*** 4506,4517 ****
---- 4506,4528 ----
- {
- char_u *res;
- char_u *p;
-+ char_u *expr;
- char_u *save_cmd;
- pos_T save_cursor;
-
-+ /* Remove escaping of CSI, because "str" is in a format to be used as
-+ * typeahead. */
-+ expr = vim_strsave(str);
-+ if (expr == NULL)
-+ return NULL;
-+ vim_unescape_csi(expr);
-+
- save_cmd = save_cmdline_alloc();
- if (save_cmd == NULL)
-+ {
-+ vim_free(expr);
- return NULL;
-+ }
-
- /* Forbid changing text or using ":normal" to avoid most of the bad side
- * effects. Also restore the cursor position. */
-***************
-*** 4521,4527 ****
- #endif
- set_vim_var_char(c); /* set v:char to the typed character */
- save_cursor = curwin->w_cursor;
-! p = eval_to_string(str, NULL, FALSE);
- --textlock;
- #ifdef FEAT_EX_EXTRA
- --ex_normal_lock;
---- 4532,4538 ----
- #endif
- set_vim_var_char(c); /* set v:char to the typed character */
- save_cursor = curwin->w_cursor;
-! p = eval_to_string(expr, NULL, FALSE);
- --textlock;
- #ifdef FEAT_EX_EXTRA
- --ex_normal_lock;
-***************
-*** 4529,4536 ****
---- 4540,4550 ----
- curwin->w_cursor = save_cursor;
-
- restore_cmdline_alloc(save_cmd);
-+ vim_free(expr);
-+
- if (p == NULL)
- return NULL;
-+ /* Escape CSI in the result to be able to use the string as typeahead. */
- res = vim_strsave_escape_csi(p);
- vim_free(p);
-
-*** ../vim-7.3.282/src/version.c 2011-08-17 16:25:43.000000000 +0200
---- src/version.c 2011-08-17 17:17:03.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 283,
- /**/
-
---
-bashian roulette:
-$ ((RANDOM%6)) || rm -rf ~
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.284 b/source/ap/vim/patches/7.3.284
deleted file mode 100644
index c621ced63..000000000
--- a/source/ap/vim/patches/7.3.284
+++ /dev/null
@@ -1,211 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.284
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.284
-Problem: The str2special() function doesn't handle multi-byte characters
- properly.
-Solution: Recognize multi-byte characters. (partly by Vladimir Vichniakov)
-Files: src/getchar.c, src/message.c, src/misc2.c
-
-
-*** ../vim-7.3.283/src/getchar.c 2011-08-17 17:18:14.000000000 +0200
---- src/getchar.c 2011-08-17 20:11:58.000000000 +0200
-***************
-*** 3964,3970 ****
- if (*mp->m_str == NUL)
- msg_puts_attr((char_u *)"<Nop>", hl_attr(HLF_8));
- else
-! msg_outtrans_special(mp->m_str, FALSE);
- #ifdef FEAT_EVAL
- if (p_verbose > 0)
- last_set_msg(mp->m_script_ID);
---- 3964,3980 ----
- if (*mp->m_str == NUL)
- msg_puts_attr((char_u *)"<Nop>", hl_attr(HLF_8));
- else
-! {
-! /* Remove escaping of CSI, because "m_str" is in a format to be used
-! * as typeahead. */
-! char_u *s = vim_strsave(mp->m_str);
-! if (s != NULL)
-! {
-! vim_unescape_csi(s);
-! msg_outtrans_special(s, FALSE);
-! vim_free(s);
-! }
-! }
- #ifdef FEAT_EVAL
- if (p_verbose > 0)
- last_set_msg(mp->m_script_ID);
-*** ../vim-7.3.283/src/message.c 2011-03-22 13:07:19.000000000 +0100
---- src/message.c 2011-08-17 18:40:10.000000000 +0200
-***************
-*** 1547,1562 ****
- if (IS_SPECIAL(c) || modifiers) /* special key */
- special = TRUE;
- }
-- *sp = str + 1;
-
- #ifdef FEAT_MBYTE
-! /* For multi-byte characters check for an illegal byte. */
-! if (has_mbyte && MB_BYTE2LEN(*str) > (*mb_ptr2len)(str))
- {
-! transchar_nonprint(buf, c);
-! return buf;
- }
- #endif
-
- /* Make unprintable characters in <> form, also <M-Space> and <Tab>.
- * Use <Space> only for lhs of a mapping. */
---- 1547,1573 ----
- if (IS_SPECIAL(c) || modifiers) /* special key */
- special = TRUE;
- }
-
- #ifdef FEAT_MBYTE
-! if (has_mbyte && !IS_SPECIAL(c))
- {
-! int len = (*mb_ptr2len)(str);
-!
-! /* For multi-byte characters check for an illegal byte. */
-! if (has_mbyte && MB_BYTE2LEN(*str) > len)
-! {
-! transchar_nonprint(buf, c);
-! *sp = str + 1;
-! return buf;
-! }
-! /* Since 'special' is TRUE the multi-byte character 'c' will be
-! * processed by get_special_key_name() */
-! c = (*mb_ptr2char)(str);
-! *sp = str + len;
- }
-+ else
- #endif
-+ *sp = str + 1;
-
- /* Make unprintable characters in <> form, also <M-Space> and <Tab>.
- * Use <Space> only for lhs of a mapping. */
-*** ../vim-7.3.283/src/misc2.c 2011-07-27 17:31:42.000000000 +0200
---- src/misc2.c 2011-08-17 20:27:30.000000000 +0200
-***************
-*** 2754,2759 ****
---- 2754,2760 ----
- int bit;
- int key;
- unsigned long n;
-+ int l;
-
- src = *srcp;
- if (src[0] != '<')
-***************
-*** 2766,2773 ****
- if (*bp == '-')
- {
- last_dash = bp;
-! if (bp[1] != NUL && bp[2] == '>')
-! ++bp; /* anything accepted, like <C-?> */
- }
- if (bp[0] == 't' && bp[1] == '_' && bp[2] && bp[3])
- bp += 3; /* skip t_xx, xx may be '-' or '>' */
---- 2767,2783 ----
- if (*bp == '-')
- {
- last_dash = bp;
-! if (bp[1] != NUL)
-! {
-! #ifdef FEAT_MBYTE
-! if (has_mbyte)
-! l = mb_ptr2len(bp + 1);
-! else
-! #endif
-! l = 1;
-! if (bp[l + 1] == '>')
-! bp += l; /* anything accepted, like <C-?> */
-! }
- }
- if (bp[0] == 't' && bp[1] == '_' && bp[2] && bp[3])
- bp += 3; /* skip t_xx, xx may be '-' or '>' */
-***************
-*** 2777,2791 ****
- {
- end_of_name = bp + 1;
-
-- if (STRNICMP(src + 1, "char-", 5) == 0 && VIM_ISDIGIT(src[6]))
-- {
-- /* <Char-123> or <Char-033> or <Char-0x33> */
-- vim_str2nr(src + 6, NULL, NULL, TRUE, TRUE, NULL, &n);
-- *modp = 0;
-- *srcp = end_of_name;
-- return (int)n;
-- }
--
- /* Which modifiers are given? */
- modifiers = 0x0;
- for (bp = src + 1; bp < last_dash; bp++)
---- 2787,2792 ----
-***************
-*** 2804,2814 ****
- */
- if (bp >= last_dash)
- {
- /*
- * Modifier with single letter, or special key name.
- */
-! if (modifiers != 0 && last_dash[2] == '>')
-! key = last_dash[1];
- else
- {
- key = get_special_key_code(last_dash + 1);
---- 2805,2831 ----
- */
- if (bp >= last_dash)
- {
-+ if (STRNICMP(last_dash + 1, "char-", 5) == 0
-+ && VIM_ISDIGIT(last_dash[6]))
-+ {
-+ /* <Char-123> or <Char-033> or <Char-0x33> */
-+ vim_str2nr(last_dash + 6, NULL, NULL, TRUE, TRUE, NULL, &n);
-+ *modp = modifiers;
-+ *srcp = end_of_name;
-+ return (int)n;
-+ }
-+
- /*
- * Modifier with single letter, or special key name.
- */
-! #ifdef FEAT_MBYTE
-! if (has_mbyte)
-! l = mb_ptr2len(last_dash + 1);
-! else
-! #endif
-! l = 1;
-! if (modifiers != 0 && last_dash[l + 1] == '>')
-! key = PTR2CHAR(last_dash + 1);
- else
- {
- key = get_special_key_code(last_dash + 1);
-*** ../vim-7.3.283/src/version.c 2011-08-17 17:18:14.000000000 +0200
---- src/version.c 2011-08-17 20:27:47.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 284,
- /**/
-
---
-Snoring is prohibited unless all bedroom windows are closed and securely
-locked.
- [real standing law in Massachusetts, United States of America]
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.285 b/source/ap/vim/patches/7.3.285
deleted file mode 100644
index 24be28bc0..000000000
--- a/source/ap/vim/patches/7.3.285
+++ /dev/null
@@ -1,144 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.285
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.285 (after 7.3.284)
-Problem: Mapping <Char-123> no longer works.
-Solution: Properly check for "char-". Add a test for it.
-Files: src/misc2.c, src/testdir/test75.in, src/testdir/test75.ok
-
-
-*** ../vim-7.3.284/src/misc2.c 2011-08-17 20:33:18.000000000 +0200
---- src/misc2.c 2011-08-19 22:08:37.000000000 +0200
-***************
-*** 2781,2786 ****
---- 2781,2792 ----
- }
- if (bp[0] == 't' && bp[1] == '_' && bp[2] && bp[3])
- bp += 3; /* skip t_xx, xx may be '-' or '>' */
-+ else if (STRNICMP(bp, "char-", 5) == 0)
-+ {
-+ vim_str2nr(bp + 5, NULL, &l, TRUE, TRUE, NULL, NULL);
-+ bp += l + 5;
-+ break;
-+ }
- }
-
- if (*bp == '>') /* found matching '>' */
-***************
-*** 2810,2836 ****
- {
- /* <Char-123> or <Char-033> or <Char-0x33> */
- vim_str2nr(last_dash + 6, NULL, NULL, TRUE, TRUE, NULL, &n);
-! *modp = modifiers;
-! *srcp = end_of_name;
-! return (int)n;
- }
--
-- /*
-- * Modifier with single letter, or special key name.
-- */
-- #ifdef FEAT_MBYTE
-- if (has_mbyte)
-- l = mb_ptr2len(last_dash + 1);
-- else
-- #endif
-- l = 1;
-- if (modifiers != 0 && last_dash[l + 1] == '>')
-- key = PTR2CHAR(last_dash + 1);
- else
- {
-! key = get_special_key_code(last_dash + 1);
-! if (!keep_x_key)
-! key = handle_x_keys(key);
- }
-
- /*
---- 2816,2842 ----
- {
- /* <Char-123> or <Char-033> or <Char-0x33> */
- vim_str2nr(last_dash + 6, NULL, NULL, TRUE, TRUE, NULL, &n);
-! key = (int)n;
- }
- else
- {
-! /*
-! * Modifier with single letter, or special key name.
-! */
-! #ifdef FEAT_MBYTE
-! if (has_mbyte)
-! l = mb_ptr2len(last_dash + 1);
-! else
-! #endif
-! l = 1;
-! if (modifiers != 0 && last_dash[l + 1] == '>')
-! key = PTR2CHAR(last_dash + 1);
-! else
-! {
-! key = get_special_key_code(last_dash + 1);
-! if (!keep_x_key)
-! key = handle_x_keys(key);
-! }
- }
-
- /*
-*** ../vim-7.3.284/src/testdir/test75.in 2010-10-20 21:22:17.000000000 +0200
---- src/testdir/test75.in 2011-08-19 22:05:13.000000000 +0200
-***************
-*** 2,7 ****
---- 2,8 ----
-
- STARTTEST
- :so small.vim
-+ :set cpo-=<
- :" Test maparg() with a string result
- :map foo<C-V> is<F4>foo
- :vnoremap <script> <buffer> <expr> <silent> bar isbar
-***************
-*** 9,14 ****
---- 10,20 ----
- :call append('$', string(maparg('foo<C-V>', '', 0, 1)))
- :call append('$', string(maparg('bar', '', 0, 1)))
- :"
-+ :map abc x<char-114>x
-+ :call append('$', maparg('abc'))
-+ :map abc y<S-char-114>y
-+ :call append('$', maparg('abc'))
-+ :"
- :/^eof/+1,$w! test.out
- :qa!
- ENDTEST
-*** ../vim-7.3.284/src/testdir/test75.ok 2010-10-20 21:22:17.000000000 +0200
---- src/testdir/test75.ok 2011-08-19 21:53:26.000000000 +0200
-***************
-*** 1,3 ****
---- 1,5 ----
- is<F4>foo
- {'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>', 'mode': ' ', 'expr': 0, 'sid': 0, 'rhs': 'is<F4>foo', 'buffer': 0}
- {'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v', 'expr': 1, 'sid': 0, 'rhs': 'isbar', 'buffer': 1}
-+ xrx
-+ yRy
-*** ../vim-7.3.284/src/version.c 2011-08-17 20:33:18.000000000 +0200
---- src/version.c 2011-08-19 22:15:22.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 285,
- /**/
-
-
---
-No man may purchase alcohol without written consent from his wife.
- [real standing law in Pennsylvania, United States of America]
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.286 b/source/ap/vim/patches/7.3.286
deleted file mode 100644
index 308d5105c..000000000
--- a/source/ap/vim/patches/7.3.286
+++ /dev/null
@@ -1,84 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.286
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.286
-Problem: Crash when using "zd" on a large number of folds. (Sam King)
-Solution: Recompute pointer after reallocating array. Move fewer entries
- when making room.
-Files: src/fold.c
-
-
-*** ../vim-7.3.285/src/fold.c 2010-08-15 21:57:27.000000000 +0200
---- src/fold.c 2011-08-26 16:03:56.000000000 +0200
-***************
-*** 1469,1479 ****
- }
- else
- {
-! /* move nested folds one level up, to overwrite the fold that is
- * deleted. */
- moved = fp->fd_nested.ga_len;
- if (ga_grow(gap, (int)(moved - 1)) == OK)
- {
- /* adjust fd_top and fd_flags for the moved folds */
- nfp = (fold_T *)fp->fd_nested.ga_data;
- for (i = 0; i < moved; ++i)
---- 1469,1482 ----
- }
- else
- {
-! /* Move nested folds one level up, to overwrite the fold that is
- * deleted. */
- moved = fp->fd_nested.ga_len;
- if (ga_grow(gap, (int)(moved - 1)) == OK)
- {
-+ /* Get "fp" again, the array may have been reallocated. */
-+ fp = (fold_T *)gap->ga_data + idx;
-+
- /* adjust fd_top and fd_flags for the moved folds */
- nfp = (fold_T *)fp->fd_nested.ga_data;
- for (i = 0; i < moved; ++i)
-***************
-*** 1486,1494 ****
- }
-
- /* move the existing folds down to make room */
-! if (idx < gap->ga_len)
- mch_memmove(fp + moved, fp + 1,
-! sizeof(fold_T) * (gap->ga_len - idx));
- /* move the contained folds one level up */
- mch_memmove(fp, nfp, (size_t)(sizeof(fold_T) * moved));
- vim_free(nfp);
---- 1489,1497 ----
- }
-
- /* move the existing folds down to make room */
-! if (idx + 1 < gap->ga_len)
- mch_memmove(fp + moved, fp + 1,
-! sizeof(fold_T) * (gap->ga_len - (idx + 1)));
- /* move the contained folds one level up */
- mch_memmove(fp, nfp, (size_t)(sizeof(fold_T) * moved));
- vim_free(nfp);
-*** ../vim-7.3.285/src/version.c 2011-08-19 22:28:58.000000000 +0200
---- src/version.c 2011-08-26 16:07:59.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 286,
- /**/
-
---
-To keep milk from turning sour: Keep it in the cow.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.287 b/source/ap/vim/patches/7.3.287
deleted file mode 100644
index 5c6da035f..000000000
--- a/source/ap/vim/patches/7.3.287
+++ /dev/null
@@ -1,100 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.287
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.287
-Problem: Can't compile with MSVC and tiny options.
-Solution: Move variables and #ifdefs. (Sergey Khorev)
-Files: src/os_win32.c
-
-
-*** ../vim-7.3.286/src/os_win32.c 2011-08-10 17:07:56.000000000 +0200
---- src/os_win32.c 2011-08-27 15:07:28.000000000 +0200
-***************
-*** 3419,3426 ****
- {
- DWORD availableBytes = 0;
- DWORD i;
-- int c;
-- char_u *p;
- int ret;
- DWORD len;
- DWORD toRead;
---- 3419,3424 ----
-***************
-*** 3479,3484 ****
---- 3477,3484 ----
- else if (has_mbyte)
- {
- int l;
-+ int c;
-+ char_u *p;
-
- len += *buffer_off;
- buffer[len] = NUL;
-***************
-*** 3558,3566 ****
- int noread_cnt = 0;
- garray_T ga;
- int delay = 1;
-- # ifdef FEAT_MBYTE
- DWORD buffer_off = 0; /* valid bytes in buffer[] */
-- # endif
-
- SECURITY_ATTRIBUTES saAttr;
-
---- 3558,3564 ----
-***************
-*** 3777,3790 ****
-
- if (WaitForSingleObject(pi.hProcess, delay) != WAIT_TIMEOUT)
- {
-! dump_pipe(options, g_hChildStd_OUT_Rd,
-! &ga, buffer, &buffer_off);
- break;
- }
-
- ++noread_cnt;
-! dump_pipe(options, g_hChildStd_OUT_Rd,
-! &ga, buffer, &buffer_off);
-
- /* We start waiting for a very short time and then increase it, so
- * that we respond quickly when the process is quick, and don't
---- 3775,3786 ----
-
- if (WaitForSingleObject(pi.hProcess, delay) != WAIT_TIMEOUT)
- {
-! dump_pipe(options, g_hChildStd_OUT_Rd, &ga, buffer, &buffer_off);
- break;
- }
-
- ++noread_cnt;
-! dump_pipe(options, g_hChildStd_OUT_Rd, &ga, buffer, &buffer_off);
-
- /* We start waiting for a very short time and then increase it, so
- * that we respond quickly when the process is quick, and don't
-*** ../vim-7.3.286/src/version.c 2011-08-26 16:12:55.000000000 +0200
---- src/version.c 2011-08-27 15:08:27.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 287,
- /**/
-
---
-SUPERIMPOSE "England AD 787". After a few more seconds we hear hoofbeats in
-the distance. They come slowly closer. Then out of the mist comes KING
-ARTHUR followed by a SERVANT who is banging two half coconuts together.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.288 b/source/ap/vim/patches/7.3.288
deleted file mode 100644
index d1f662681..000000000
--- a/source/ap/vim/patches/7.3.288
+++ /dev/null
@@ -1,76 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.288
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.288
-Problem: has('python') may give an error message for not being able to load
- the library after using python3.
-Solution: Only give the error when the verbose argument is true.
-Files: src/if_python.c, src/if_python3.c
-
-
-*** ../vim-7.3.287/src/if_python.c 2011-06-19 00:27:46.000000000 +0200
---- src/if_python.c 2011-08-21 17:03:52.000000000 +0200
-***************
-*** 368,374 ****
- * standard C extension libraries of one or both python versions. */
- if (python3_loaded())
- {
-! EMSG(_("E836: This Vim cannot execute :python after using :py3"));
- return FAIL;
- }
- #endif
---- 368,375 ----
- * standard C extension libraries of one or both python versions. */
- if (python3_loaded())
- {
-! if (verbose)
-! EMSG(_("E836: This Vim cannot execute :python after using :py3"));
- return FAIL;
- }
- #endif
-*** ../vim-7.3.287/src/if_python3.c 2011-07-15 15:54:39.000000000 +0200
---- src/if_python3.c 2011-08-21 17:05:19.000000000 +0200
-***************
-*** 367,373 ****
- * standard C extension libraries of one or both python versions. */
- if (python_loaded())
- {
-! EMSG(_("E837: This Vim cannot execute :py3 after using :python"));
- return FAIL;
- }
- # endif
---- 367,374 ----
- * standard C extension libraries of one or both python versions. */
- if (python_loaded())
- {
-! if (verbose)
-! EMSG(_("E837: This Vim cannot execute :py3 after using :python"));
- return FAIL;
- }
- # endif
-*** ../vim-7.3.287/src/version.c 2011-08-27 15:10:00.000000000 +0200
---- src/version.c 2011-08-28 15:59:11.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 288,
- /**/
-
---
-FIRST SOLDIER: So they wouldn't be able to bring a coconut back anyway.
-SECOND SOLDIER: Wait a minute! Suppose two swallows carried it together?
-FIRST SOLDIER: No, they'd have to have it on a line.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.289 b/source/ap/vim/patches/7.3.289
deleted file mode 100644
index 30258e429..000000000
--- a/source/ap/vim/patches/7.3.289
+++ /dev/null
@@ -1,56 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.289
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.289
-Problem: Complete function isn't called when the leader changed.
-Solution: Call ins_compl_restart() when the leader changed. (Taro Muraoka)
-Files: src/edit.c
-
-
-*** ../vim-7.3.288/src/edit.c 2011-05-19 17:25:36.000000000 +0200
---- src/edit.c 2011-08-28 15:53:47.000000000 +0200
-***************
-*** 3367,3372 ****
---- 3367,3381 ----
- ins_bytes(compl_leader + ins_compl_len());
- compl_used_match = FALSE;
-
-+ #ifdef FEAT_COMPL_FUNC
-+ /*
-+ * To call eval 'completefunc' when leader is changed, restart completion
-+ * every time.
-+ */
-+ if (ctrl_x_mode == CTRL_X_FUNCTION || ctrl_x_mode == CTRL_X_OMNI)
-+ ins_compl_restart();
-+ #endif
-+
- if (compl_started)
- ins_compl_set_original_text(compl_leader);
- else
-*** ../vim-7.3.288/src/version.c 2011-08-28 16:00:14.000000000 +0200
---- src/version.c 2011-08-28 16:01:22.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 289,
- /**/
-
---
-THEOREM: VI is perfect.
-PROOF: VI in roman numerals is 6. The natural numbers < 6 which divide 6 are
-1, 2, and 3. 1+2+3 = 6. So 6 is a perfect number. Therefore, VI is perfect.
-QED
- -- Arthur Tateishi
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.290 b/source/ap/vim/patches/7.3.290
deleted file mode 100644
index b50cacfc4..000000000
--- a/source/ap/vim/patches/7.3.290
+++ /dev/null
@@ -1,75 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.290
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.290
-Problem: When a BufWriteCmd autocommand resets 'modified' this doesn't
- change older buffer states to be marked as 'modified' like
- ":write" does. (Yukihiro Nakadaira)
-Solution: When the BufWriteCmd resets 'modified' then adjust the undo
- information like ":write" does.
-Files: src/fileio.c
-
-
-*** ../vim-7.3.289/src/fileio.c 2011-07-20 18:29:33.000000000 +0200
---- src/fileio.c 2011-08-29 21:49:27.000000000 +0200
-***************
-*** 3342,3349 ****
- }
- else if (reset_changed && whole)
- {
-! if (!(did_cmd = apply_autocmds_exarg(EVENT_BUFWRITECMD,
-! sfname, sfname, FALSE, curbuf, eap)))
- {
- #ifdef FEAT_QUICKFIX
- if (overwriting && bt_nofile(curbuf))
---- 3342,3363 ----
- }
- else if (reset_changed && whole)
- {
-! int was_changed = curbufIsChanged();
-!
-! did_cmd = apply_autocmds_exarg(EVENT_BUFWRITECMD,
-! sfname, sfname, FALSE, curbuf, eap);
-! if (did_cmd)
-! {
-! if (was_changed && !curbufIsChanged())
-! {
-! /* Written everything correctly and BufWriteCmd has reset
-! * 'modified': Correct the undo information so that an
-! * undo now sets 'modified'. */
-! u_unchanged(curbuf);
-! u_update_save_nr(curbuf);
-! }
-! }
-! else
- {
- #ifdef FEAT_QUICKFIX
- if (overwriting && bt_nofile(curbuf))
-*** ../vim-7.3.289/src/version.c 2011-08-28 16:02:23.000000000 +0200
---- src/version.c 2011-09-02 11:37:25.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 290,
- /**/
-
---
-OLD WOMAN: Well, how did you become king, then?
-ARTHUR: The Lady of the Lake, her arm clad in the purest shimmering samite,
- held Excalibur aloft from the bosom of the water to signify by Divine
- Providence ... that I, Arthur, was to carry Excalibur ... That is
- why I am your king!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.291 b/source/ap/vim/patches/7.3.291
deleted file mode 100644
index 1d394e4c9..000000000
--- a/source/ap/vim/patches/7.3.291
+++ /dev/null
@@ -1,125 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.291
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.291
-Problem: Configure doesn't work properly with Python3.
-Solution: Put -ldl before $LDFLAGS. Add PY3_NO_RTLD_GLOBAL. (Roland
- Puntaier)
-Files: src/config.h.in, src/auto/configure, src/configure.in
-
-
-*** ../vim-7.3.290/src/config.h.in 2010-10-27 16:49:41.000000000 +0200
---- src/config.h.in 2011-09-02 11:22:21.000000000 +0200
-***************
-*** 346,351 ****
---- 346,354 ----
- /* Define if dynamic python does not require RTLD_GLOBAL */
- #undef PY_NO_RTLD_GLOBAL
-
-+ /* Define if dynamic python3 does not require RTLD_GLOBAL */
-+ #undef PY3_NO_RTLD_GLOBAL
-+
- /* Define if you want to include the Ruby interpreter. */
- #undef FEAT_RUBY
-
-*** ../vim-7.3.290/src/auto/configure 2011-07-15 13:09:46.000000000 +0200
---- src/auto/configure 2011-09-02 11:23:15.000000000 +0200
-***************
-*** 5733,5739 ****
- cflags_save=$CFLAGS
- CFLAGS="$CFLAGS $PYTHON_CFLAGS"
- ldflags_save=$LDFLAGS
-! LDFLAGS="$LDFLAGS -ldl"
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
---- 5733,5739 ----
- cflags_save=$CFLAGS
- CFLAGS="$CFLAGS $PYTHON_CFLAGS"
- ldflags_save=$LDFLAGS
-! LDFLAGS="-ldl $LDFLAGS"
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-***************
-*** 5798,5804 ****
- cflags_save=$CFLAGS
- CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
- ldflags_save=$LDFLAGS
-! LDFLAGS="$LDFLAGS -ldl"
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
---- 5798,5804 ----
- cflags_save=$CFLAGS
- CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
- ldflags_save=$LDFLAGS
-! LDFLAGS="-ldl $LDFLAGS"
- if test "$cross_compiling" = yes; then :
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-*** ../vim-7.3.290/src/configure.in 2011-07-15 13:09:46.000000000 +0200
---- src/configure.in 2011-09-02 11:19:51.000000000 +0200
-***************
-*** 1161,1167 ****
- cflags_save=$CFLAGS
- CFLAGS="$CFLAGS $PYTHON_CFLAGS"
- ldflags_save=$LDFLAGS
-! LDFLAGS="$LDFLAGS -ldl"
- AC_RUN_IFELSE([
- #include <dlfcn.h>
- /* If this program fails, then RTLD_GLOBAL is needed.
---- 1161,1168 ----
- cflags_save=$CFLAGS
- CFLAGS="$CFLAGS $PYTHON_CFLAGS"
- ldflags_save=$LDFLAGS
-! dnl -ldl must go first to make this work on Archlinux (Roland Puntaier)
-! LDFLAGS="-ldl $LDFLAGS"
- AC_RUN_IFELSE([
- #include <dlfcn.h>
- /* If this program fails, then RTLD_GLOBAL is needed.
-***************
-*** 1205,1211 ****
- cflags_save=$CFLAGS
- CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
- ldflags_save=$LDFLAGS
-! LDFLAGS="$LDFLAGS -ldl"
- AC_RUN_IFELSE([
- #include <dlfcn.h>
- #include <wchar.h>
---- 1206,1213 ----
- cflags_save=$CFLAGS
- CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
- ldflags_save=$LDFLAGS
-! dnl -ldl must go first to make this work on Archlinux (Roland Puntaier)
-! LDFLAGS="-ldl $LDFLAGS"
- AC_RUN_IFELSE([
- #include <dlfcn.h>
- #include <wchar.h>
-*** ../vim-7.3.290/src/version.c 2011-09-02 11:56:15.000000000 +0200
---- src/version.c 2011-09-02 12:25:13.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 291,
- /**/
-
---
-DENNIS: Look, strange women lying on their backs in ponds handing out
- swords ... that's no basis for a system of government. Supreme
- executive power derives from a mandate from the masses, not from some
- farcical aquatic ceremony.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.292 b/source/ap/vim/patches/7.3.292
deleted file mode 100644
index fc9480fee..000000000
--- a/source/ap/vim/patches/7.3.292
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.292
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.292
-Problem: Crash when using fold markers and selecting a visual block that
- includes a folded line and goes to end of line. (Sam Lidder)
-Solution: Check for the column to be MAXCOL. (James Vega)
-Files: src/screen.c
-
-
-*** ../vim-7.3.291/src/screen.c 2011-08-10 14:32:33.000000000 +0200
---- src/screen.c 2011-09-02 13:58:18.000000000 +0200
-***************
-*** 2531,2537 ****
- /* Visual block mode: highlight the chars part of the block */
- if (wp->w_old_cursor_fcol + txtcol < (colnr_T)W_WIDTH(wp))
- {
-! if (wp->w_old_cursor_lcol + txtcol < (colnr_T)W_WIDTH(wp))
- len = wp->w_old_cursor_lcol;
- else
- len = W_WIDTH(wp) - txtcol;
---- 2531,2539 ----
- /* Visual block mode: highlight the chars part of the block */
- if (wp->w_old_cursor_fcol + txtcol < (colnr_T)W_WIDTH(wp))
- {
-! if (wp->w_old_cursor_lcol != MAXCOL
-! && wp->w_old_cursor_lcol + txtcol
-! < (colnr_T)W_WIDTH(wp))
- len = wp->w_old_cursor_lcol;
- else
- len = W_WIDTH(wp) - txtcol;
-*** ../vim-7.3.291/src/version.c 2011-09-02 12:27:20.000000000 +0200
---- src/version.c 2011-09-02 14:00:03.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 292,
- /**/
-
---
-Hacker: Someone skilled in computer programming (good guy).
-Cracker: A hacker that uses his skills to crack software (bad guy).
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.293 b/source/ap/vim/patches/7.3.293
deleted file mode 100644
index 4072e32f1..000000000
--- a/source/ap/vim/patches/7.3.293
+++ /dev/null
@@ -1,74 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.293
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.293
-Problem: MSVC compiler has a problem with non-ASCII characters.
-Solution: Avoid non-ASCII characters. (Hong Xu)
-Files: src/ascii.h, src/spell.c
-
-
-*** ../vim-7.3.292/src/ascii.h 2011-05-10 16:41:13.000000000 +0200
---- src/ascii.h 2011-09-02 14:12:48.000000000 +0200
-***************
-*** 123,129 ****
- #define DCS 0x90 /* Device Control String */
- #define STERM 0x9c /* String Terminator */
-
-! #define POUND '£'
-
- #define CTRL_F_STR "\056"
- #define CTRL_H_STR "\026"
---- 123,129 ----
- #define DCS 0x90 /* Device Control String */
- #define STERM 0x9c /* String Terminator */
-
-! #define POUND '\xA3'
-
- #define CTRL_F_STR "\056"
- #define CTRL_H_STR "\026"
-*** ../vim-7.3.292/src/spell.c 2011-04-11 21:35:03.000000000 +0200
---- src/spell.c 2011-09-02 14:13:30.000000000 +0200
-***************
-*** 11197,11203 ****
- c = *s++;
-
- #ifdef FEAT_MBYTE
-! /* We only change ß to SS when we are certain latin1 is used. It
- * would cause weird errors in other 8-bit encodings. */
- if (enc_latin1like && c == 0xdf)
- {
---- 11197,11203 ----
- c = *s++;
-
- #ifdef FEAT_MBYTE
-! /* We only change 0xdf to SS when we are certain latin1 is used. It
- * would cause weird errors in other 8-bit encodings. */
- if (enc_latin1like && c == 0xdf)
- {
-*** ../vim-7.3.292/src/version.c 2011-09-02 14:07:31.000000000 +0200
---- src/version.c 2011-09-02 14:13:57.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 293,
- /**/
-
---
- A village. Sound of chanting of Latin canon, punctuated by short, sharp
- cracks. It comes nearer. We see it is a line of MONKS ala SEVENTH SEAL
- flagellation scene, chanting and banging themselves on the foreheads with
- wooden boards.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.294 b/source/ap/vim/patches/7.3.294
deleted file mode 100644
index 84252ba3e..000000000
--- a/source/ap/vim/patches/7.3.294
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.294
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.294 (after 7.3.289)
-Problem: Patch 289 causes more problems than it solves.
-Solution: Rever the patch untill a better solution is found.
-Files: src/edit.c
-
-
-*** ../vim-7.3.293/src/edit.c 2011-08-28 16:02:23.000000000 +0200
---- src/edit.c 2011-09-05 20:07:49.000000000 +0200
-***************
-*** 3367,3381 ****
- ins_bytes(compl_leader + ins_compl_len());
- compl_used_match = FALSE;
-
-- #ifdef FEAT_COMPL_FUNC
-- /*
-- * To call eval 'completefunc' when leader is changed, restart completion
-- * every time.
-- */
-- if (ctrl_x_mode == CTRL_X_FUNCTION || ctrl_x_mode == CTRL_X_OMNI)
-- ins_compl_restart();
-- #endif
--
- if (compl_started)
- ins_compl_set_original_text(compl_leader);
- else
---- 3367,3372 ----
-*** ../vim-7.3.293/src/version.c 2011-09-02 14:18:14.000000000 +0200
---- src/version.c 2011-09-05 20:08:27.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 294,
- /**/
-
---
-Scientists decoded the first message from an alien civilization:
- SIMPLY SEND 6 TIMES 10 TO THE 50 ATOMS OF HYDROGEN TO THE STAR
-SYSTEM AT THE TOP OF THE LIST, CROSS OFF THAT STAR SYSTEM, THEN PUT
-YOUR STAR SYSTEM AT THE BOTTOM OF THE LIST AND SEND IT TO 100 OTHER
-STAR SYSTEMS. WITHIN ONE TENTH GALACTIC ROTATION YOU WILL RECEIVE
-ENOUGH HYDROGREN TO POWER YOUR CIVILIZATION UNTIL ENTROPY REACHES ITS
-MAXIMUM! IT REALLY WORKS!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.295 b/source/ap/vim/patches/7.3.295
deleted file mode 100644
index fad7ea3e4..000000000
--- a/source/ap/vim/patches/7.3.295
+++ /dev/null
@@ -1,109 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.295
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.295
-Problem: When filtering text with an external command Vim may not read all
- the output.
-Solution: When select() is interrupted loop and try again. (James Vega)
-Files: src/os_unix.c
-
-
-*** ../vim-7.3.294/src/os_unix.c 2011-08-04 20:31:50.000000000 +0200
---- src/os_unix.c 2011-09-07 13:34:09.000000000 +0200
-***************
-*** 4819,4825 ****
-
- /*
- * Wait "msec" msec until a character is available from file descriptor "fd".
-! * Time == -1 will block forever.
- * When a GUI is being used, this will not be used for input -- webb
- * Returns also, when a request from Sniff is waiting -- toni.
- * Or when a Linux GPM mouse event is waiting.
---- 4819,4826 ----
-
- /*
- * Wait "msec" msec until a character is available from file descriptor "fd".
-! * "msec" == 0 will check for characters once.
-! * "msec" == -1 will block until a character is available.
- * When a GUI is being used, this will not be used for input -- webb
- * Returns also, when a request from Sniff is waiting -- toni.
- * Or when a Linux GPM mouse event is waiting.
-***************
-*** 5057,5063 ****
- /*
- * Select on ready for reading and exceptional condition (end of file).
- */
-! FD_ZERO(&rfds); /* calls bzero() on a sun */
- FD_ZERO(&efds);
- FD_SET(fd, &rfds);
- # if !defined(__QNX__) && !defined(__CYGWIN32__)
---- 5058,5065 ----
- /*
- * Select on ready for reading and exceptional condition (end of file).
- */
-! select_eintr:
-! FD_ZERO(&rfds);
- FD_ZERO(&efds);
- FD_SET(fd, &rfds);
- # if !defined(__QNX__) && !defined(__CYGWIN32__)
-***************
-*** 5117,5122 ****
---- 5119,5132 ----
- # else
- ret = select(maxfd + 1, &rfds, NULL, &efds, tvp);
- # endif
-+ # ifdef EINTR
-+ if (ret == -1 && errno == EINTR)
-+ /* Interrupted by a signal, need to try again. We ignore msec
-+ * here, because we do want to check even after a timeout if
-+ * characters are available. Needed for reading output of an
-+ * external command after the process has finished. */
-+ goto select_eintr;
-+ # endif
- # ifdef __TANDEM
- if (ret == -1 && errno == ENOTSUP)
- {
-***************
-*** 5124,5130 ****
- FD_ZERO(&efds);
- ret = 0;
- }
-! #endif
- # ifdef FEAT_MZSCHEME
- if (ret == 0 && mzquantum_used)
- /* loop if MzThreads must be scheduled and timeout occurred */
---- 5134,5140 ----
- FD_ZERO(&efds);
- ret = 0;
- }
-! # endif
- # ifdef FEAT_MZSCHEME
- if (ret == 0 && mzquantum_used)
- /* loop if MzThreads must be scheduled and timeout occurred */
-*** ../vim-7.3.294/src/version.c 2011-09-05 20:13:37.000000000 +0200
---- src/version.c 2011-09-07 14:05:05.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 295,
- /**/
-
---
-"You're fired." (1980)
-"You're laid off." (1985)
-"You're downsized." (1990)
-"You're rightsized." (1992)
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.296 b/source/ap/vim/patches/7.3.296
deleted file mode 100644
index 80369d1af..000000000
--- a/source/ap/vim/patches/7.3.296
+++ /dev/null
@@ -1,222 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.296
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.296
-Problem: When writing to an external command a zombie process may be left
- behind.
-Solution: Wait on the process. (James Vega)
-Files: src/os_unix.c
-
-
-*** ../vim-7.3.295/src/os_unix.c 2011-09-07 14:06:38.000000000 +0200
---- src/os_unix.c 2011-09-07 14:54:11.000000000 +0200
-***************
-*** 154,159 ****
---- 154,166 ----
-
- static void may_core_dump __ARGS((void));
-
-+ #ifdef HAVE_UNION_WAIT
-+ typedef union wait waitstatus;
-+ #else
-+ typedef int waitstatus;
-+ #endif
-+ static int wait4pid __ARGS((pid_t, waitstatus *));
-+
- static int WaitForChar __ARGS((long));
- #if defined(__BEOS__)
- int RealWaitForChar __ARGS((int, long, int *));
-***************
-*** 3660,3665 ****
---- 3667,3713 ----
- /* Nothing to do. */
- }
-
-+ /*
-+ * Wait for process "child" to end.
-+ * Return "child" if it exited properly, <= 0 on error.
-+ */
-+ static pid_t
-+ wait4pid(child, status)
-+ pid_t child;
-+ waitstatus *status;
-+ {
-+ pid_t wait_pid = 0;
-+
-+ while (wait_pid != child)
-+ {
-+ # ifdef _THREAD_SAFE
-+ /* Ugly hack: when compiled with Python threads are probably
-+ * used, in which case wait() sometimes hangs for no obvious
-+ * reason. Use waitpid() instead and loop (like the GUI). */
-+ # ifdef __NeXT__
-+ wait_pid = wait4(child, status, WNOHANG, (struct rusage *)0);
-+ # else
-+ wait_pid = waitpid(child, status, WNOHANG);
-+ # endif
-+ if (wait_pid == 0)
-+ {
-+ /* Wait for 1/100 sec before trying again. */
-+ mch_delay(10L, TRUE);
-+ continue;
-+ }
-+ # else
-+ wait_pid = wait(status);
-+ # endif
-+ if (wait_pid <= 0
-+ # ifdef ECHILD
-+ && errno == ECHILD
-+ # endif
-+ )
-+ break;
-+ }
-+ return wait_pid;
-+ }
-+
- int
- mch_call_shell(cmd, options)
- char_u *cmd;
-***************
-*** 4234,4240 ****
- {
- MSG_PUTS(_("\nCannot fork\n"));
- }
-! else if (wpid == 0)
- {
- linenr_T lnum = curbuf->b_op_start.lnum;
- int written = 0;
---- 4282,4288 ----
- {
- MSG_PUTS(_("\nCannot fork\n"));
- }
-! else if (wpid == 0) /* child */
- {
- linenr_T lnum = curbuf->b_op_start.lnum;
- int written = 0;
-***************
-*** 4242,4248 ****
- char_u *s;
- size_t l;
-
-- /* child */
- close(fromshell_fd);
- for (;;)
- {
---- 4290,4295 ----
-***************
-*** 4287,4293 ****
- }
- _exit(0);
- }
-! else
- {
- close(toshell_fd);
- toshell_fd = -1;
---- 4334,4340 ----
- }
- _exit(0);
- }
-! else /* parent */
- {
- close(toshell_fd);
- toshell_fd = -1;
-***************
-*** 4584,4590 ****
- * typed characters (otherwise we would lose typeahead).
- */
- # ifdef __NeXT__
-! wait_pid = wait4(pid, &status, WNOHANG, (struct rusage *) 0);
- # else
- wait_pid = waitpid(pid, &status, WNOHANG);
- # endif
---- 4631,4637 ----
- * typed characters (otherwise we would lose typeahead).
- */
- # ifdef __NeXT__
-! wait_pid = wait4(pid, &status, WNOHANG, (struct rusage *)0);
- # else
- wait_pid = waitpid(pid, &status, WNOHANG);
- # endif
-***************
-*** 4633,4665 ****
- * Don't wait if wait_pid was already set above, indicating the
- * child already exited.
- */
-! while (wait_pid != pid)
-! {
-! # ifdef _THREAD_SAFE
-! /* Ugly hack: when compiled with Python threads are probably
-! * used, in which case wait() sometimes hangs for no obvious
-! * reason. Use waitpid() instead and loop (like the GUI). */
-! # ifdef __NeXT__
-! wait_pid = wait4(pid, &status, WNOHANG, (struct rusage *)0);
-! # else
-! wait_pid = waitpid(pid, &status, WNOHANG);
-! # endif
-! if (wait_pid == 0)
-! {
-! /* Wait for 1/100 sec before trying again. */
-! mch_delay(10L, TRUE);
-! continue;
-! }
-! # else
-! wait_pid = wait(&status);
-! # endif
-! if (wait_pid <= 0
-! # ifdef ECHILD
-! && errno == ECHILD
-! # endif
-! )
-! break;
-! }
-
- # ifdef FEAT_GUI
- /* Close slave side of pty. Only do this after the child has
---- 4680,4687 ----
- * Don't wait if wait_pid was already set above, indicating the
- * child already exited.
- */
-! if (wait_pid != pid)
-! wait_pid = wait4pid(pid, &status);
-
- # ifdef FEAT_GUI
- /* Close slave side of pty. Only do this after the child has
-***************
-*** 4672,4678 ****
---- 4694,4703 ----
- /* Make sure the child that writes to the external program is
- * dead. */
- if (wpid > 0)
-+ {
- kill(wpid, SIGKILL);
-+ wait4pid(wpid, NULL);
-+ }
-
- /*
- * Set to raw mode right now, otherwise a CTRL-C after
-*** ../vim-7.3.295/src/version.c 2011-09-07 14:06:39.000000000 +0200
---- src/version.c 2011-09-07 15:03:24.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 296,
- /**/
-
---
-If your company is not involved in something called "ISO 9000" you probably
-have no idea what it is. If your company _is_ involved in ISO 9000 then you
-definitely have no idea what it is.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.297 b/source/ap/vim/patches/7.3.297
deleted file mode 100644
index 09be76841..000000000
--- a/source/ap/vim/patches/7.3.297
+++ /dev/null
@@ -1,130 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.297
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.297
-Problem: Can't load Perl 5.14 dynamically.
-Solution: Add code in #ifdefs. (Charles Cooper)
-Files: if_perl.xs
-
-
-*** ../vim-7.3.296/src/if_perl.xs 2011-07-27 14:15:41.000000000 +0200
---- src/if_perl.xs 2011-09-07 18:47:07.000000000 +0200
-***************
-*** 147,153 ****
---- 147,158 ----
- # define Perl_save_int dll_Perl_save_int
- # define Perl_stack_grow dll_Perl_stack_grow
- # define Perl_set_context dll_Perl_set_context
-+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
-+ # define Perl_sv_2bool_flags dll_Perl_sv_2bool_flags
-+ # define Perl_xs_apiversion_bootcheck dll_Perl_xs_apiversion_bootcheck
-+ # else
- # define Perl_sv_2bool dll_Perl_sv_2bool
-+ # endif
- # define Perl_sv_2iv dll_Perl_sv_2iv
- # define Perl_sv_2mortal dll_Perl_sv_2mortal
- # if (PERL_REVISION == 5) && (PERL_VERSION >= 8)
-***************
-*** 252,258 ****
---- 257,268 ----
- static void (*Perl_save_int)(pTHX_ int*);
- static SV** (*Perl_stack_grow)(pTHX_ SV**, SV**p, int);
- static SV** (*Perl_set_context)(void*);
-+ #if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
-+ static bool (*Perl_sv_2bool_flags)(pTHX_ SV*, I32);
-+ static void (*Perl_xs_apiversion_bootcheck)(pTHX_ SV *module, const char *api_p, STRLEN api_len);
-+ #else
- static bool (*Perl_sv_2bool)(pTHX_ SV*);
-+ #endif
- static IV (*Perl_sv_2iv)(pTHX_ SV*);
- static SV* (*Perl_sv_2mortal)(pTHX_ SV*);
- #if (PERL_REVISION == 5) && (PERL_VERSION >= 8)
-***************
-*** 360,366 ****
---- 370,381 ----
- {"Perl_save_int", (PERL_PROC*)&Perl_save_int},
- {"Perl_stack_grow", (PERL_PROC*)&Perl_stack_grow},
- {"Perl_set_context", (PERL_PROC*)&Perl_set_context},
-+ #if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
-+ {"Perl_sv_2bool_flags", (PERL_PROC*)&Perl_sv_2bool_flags},
-+ {"Perl_xs_apiversion_bootcheck",(PERL_PROC*)&Perl_xs_apiversion_bootcheck},
-+ #else
- {"Perl_sv_2bool", (PERL_PROC*)&Perl_sv_2bool},
-+ #endif
- {"Perl_sv_2iv", (PERL_PROC*)&Perl_sv_2iv},
- {"Perl_sv_2mortal", (PERL_PROC*)&Perl_sv_2mortal},
- #if (PERL_REVISION == 5) && (PERL_VERSION >= 8)
-***************
-*** 407,412 ****
---- 422,430 ----
- {"Perl_sv_free2", (PERL_PROC*)&Perl_sv_free2},
- {"Perl_sys_init", (PERL_PROC*)&Perl_sys_init},
- {"Perl_sys_term", (PERL_PROC*)&Perl_sys_term},
-+ {"Perl_call_list", (PERL_PROC*)&Perl_call_list},
-+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
-+ # else
- {"Perl_ISv_ptr", (PERL_PROC*)&Perl_ISv_ptr},
- {"Perl_Istack_max_ptr", (PERL_PROC*)&Perl_Istack_max_ptr},
- {"Perl_Istack_base_ptr", (PERL_PROC*)&Perl_Istack_base_ptr},
-***************
-*** 418,432 ****
- {"Perl_Imarkstack_max_ptr", (PERL_PROC*)&Perl_Imarkstack_max_ptr},
- {"Perl_Istack_sp_ptr", (PERL_PROC*)&Perl_Istack_sp_ptr},
- {"Perl_Iop_ptr", (PERL_PROC*)&Perl_Iop_ptr},
-- {"Perl_call_list", (PERL_PROC*)&Perl_call_list},
- {"Perl_Iscopestack_ix_ptr", (PERL_PROC*)&Perl_Iscopestack_ix_ptr},
- {"Perl_Iunitcheckav_ptr", (PERL_PROC*)&Perl_Iunitcheckav_ptr},
- #endif
- {"Perl_Idefgv_ptr", (PERL_PROC*)&Perl_Idefgv_ptr},
- {"Perl_Ierrgv_ptr", (PERL_PROC*)&Perl_Ierrgv_ptr},
- {"Perl_Isv_yes_ptr", (PERL_PROC*)&Perl_Isv_yes_ptr},
-- {"boot_DynaLoader", (PERL_PROC*)&boot_DynaLoader},
- {"Perl_Gthr_key_ptr", (PERL_PROC*)&Perl_Gthr_key_ptr},
- {"", NULL},
- };
-
---- 436,453 ----
- {"Perl_Imarkstack_max_ptr", (PERL_PROC*)&Perl_Imarkstack_max_ptr},
- {"Perl_Istack_sp_ptr", (PERL_PROC*)&Perl_Istack_sp_ptr},
- {"Perl_Iop_ptr", (PERL_PROC*)&Perl_Iop_ptr},
- {"Perl_Iscopestack_ix_ptr", (PERL_PROC*)&Perl_Iscopestack_ix_ptr},
- {"Perl_Iunitcheckav_ptr", (PERL_PROC*)&Perl_Iunitcheckav_ptr},
-+ # endif
- #endif
-+ #if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
-+ #else
- {"Perl_Idefgv_ptr", (PERL_PROC*)&Perl_Idefgv_ptr},
- {"Perl_Ierrgv_ptr", (PERL_PROC*)&Perl_Ierrgv_ptr},
- {"Perl_Isv_yes_ptr", (PERL_PROC*)&Perl_Isv_yes_ptr},
- {"Perl_Gthr_key_ptr", (PERL_PROC*)&Perl_Gthr_key_ptr},
-+ #endif
-+ {"boot_DynaLoader", (PERL_PROC*)&boot_DynaLoader},
- {"", NULL},
- };
-
-*** ../vim-7.3.296/src/version.c 2011-09-07 15:04:26.000000000 +0200
---- src/version.c 2011-09-07 18:45:28.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 297,
- /**/
-
---
-At some point in the project somebody will start whining about the need to
-determine the project "requirements". This involves interviewing people who
-don't know what they want but, curiously, know exactly when they need it.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.298 b/source/ap/vim/patches/7.3.298
deleted file mode 100644
index 65a51aa04..000000000
--- a/source/ap/vim/patches/7.3.298
+++ /dev/null
@@ -1,167 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.298
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.298
-Problem: Built-in colors are different from rgb.txt.
-Solution: Adjust the color values. (Benjamin Haskell)
-Files: src/gui_photon.c, src/gui_w48.c
-
-
-*** ../vim-7.3.297/src/gui_photon.c 2011-08-10 12:19:00.000000000 +0200
---- src/gui_photon.c 2011-09-07 18:55:09.000000000 +0200
-***************
-*** 2007,2014 ****
- static GuiColourTable table[] =
- {
- {"Black", RGB(0x00, 0x00, 0x00)},
-! {"DarkGray", RGB(0x80, 0x80, 0x80)},
-! {"DarkGrey", RGB(0x80, 0x80, 0x80)},
- {"Gray", RGB(0xC0, 0xC0, 0xC0)},
- {"Grey", RGB(0xC0, 0xC0, 0xC0)},
- {"LightGray", RGB(0xD3, 0xD3, 0xD3)},
---- 2007,2014 ----
- static GuiColourTable table[] =
- {
- {"Black", RGB(0x00, 0x00, 0x00)},
-! {"DarkGray", RGB(0xA9, 0xA9, 0xA9)},
-! {"DarkGrey", RGB(0xA9, 0xA9, 0xA9)},
- {"Gray", RGB(0xC0, 0xC0, 0xC0)},
- {"Grey", RGB(0xC0, 0xC0, 0xC0)},
- {"LightGray", RGB(0xD3, 0xD3, 0xD3)},
-***************
-*** 2037,2055 ****
- {"LightRed", RGB(0xFF, 0xA0, 0xA0)},
- {"DarkBlue", RGB(0x00, 0x00, 0x80)},
- {"Blue", RGB(0x00, 0x00, 0xFF)},
-! {"LightBlue", RGB(0xA0, 0xA0, 0xFF)},
- {"DarkGreen", RGB(0x00, 0x80, 0x00)},
- {"Green", RGB(0x00, 0xFF, 0x00)},
-! {"LightGreen", RGB(0xA0, 0xFF, 0xA0)},
- {"DarkCyan", RGB(0x00, 0x80, 0x80)},
- {"Cyan", RGB(0x00, 0xFF, 0xFF)},
-! {"LightCyan", RGB(0xA0, 0xFF, 0xFF)},
- {"DarkMagenta", RGB(0x80, 0x00, 0x80)},
- {"Magenta", RGB(0xFF, 0x00, 0xFF)},
- {"LightMagenta", RGB(0xFF, 0xA0, 0xFF)},
- {"Brown", RGB(0x80, 0x40, 0x40)},
- {"Yellow", RGB(0xFF, 0xFF, 0x00)},
-! {"LightYellow", RGB(0xFF, 0xFF, 0xA0)},
- {"SeaGreen", RGB(0x2E, 0x8B, 0x57)},
- {"Orange", RGB(0xFF, 0xA5, 0x00)},
- {"Purple", RGB(0xA0, 0x20, 0xF0)},
---- 2037,2055 ----
- {"LightRed", RGB(0xFF, 0xA0, 0xA0)},
- {"DarkBlue", RGB(0x00, 0x00, 0x80)},
- {"Blue", RGB(0x00, 0x00, 0xFF)},
-! {"LightBlue", RGB(0xAD, 0xD8, 0xE6)},
- {"DarkGreen", RGB(0x00, 0x80, 0x00)},
- {"Green", RGB(0x00, 0xFF, 0x00)},
-! {"LightGreen", RGB(0x90, 0xEE, 0x90)},
- {"DarkCyan", RGB(0x00, 0x80, 0x80)},
- {"Cyan", RGB(0x00, 0xFF, 0xFF)},
-! {"LightCyan", RGB(0xE0, 0xFF, 0xFF)},
- {"DarkMagenta", RGB(0x80, 0x00, 0x80)},
- {"Magenta", RGB(0xFF, 0x00, 0xFF)},
- {"LightMagenta", RGB(0xFF, 0xA0, 0xFF)},
- {"Brown", RGB(0x80, 0x40, 0x40)},
- {"Yellow", RGB(0xFF, 0xFF, 0x00)},
-! {"LightYellow", RGB(0xFF, 0xFF, 0xE0)},
- {"SeaGreen", RGB(0x2E, 0x8B, 0x57)},
- {"Orange", RGB(0xFF, 0xA5, 0x00)},
- {"Purple", RGB(0xA0, 0x20, 0xF0)},
-*** ../vim-7.3.297/src/gui_w48.c 2011-08-10 17:07:56.000000000 +0200
---- src/gui_w48.c 2011-09-07 18:55:09.000000000 +0200
-***************
-*** 1411,1422 ****
- static guicolor_tTable table[] =
- {
- {"Black", RGB(0x00, 0x00, 0x00)},
-! {"DarkGray", RGB(0x80, 0x80, 0x80)},
-! {"DarkGrey", RGB(0x80, 0x80, 0x80)},
- {"Gray", RGB(0xC0, 0xC0, 0xC0)},
- {"Grey", RGB(0xC0, 0xC0, 0xC0)},
-! {"LightGray", RGB(0xE0, 0xE0, 0xE0)},
-! {"LightGrey", RGB(0xE0, 0xE0, 0xE0)},
- {"Gray10", RGB(0x1A, 0x1A, 0x1A)},
- {"Grey10", RGB(0x1A, 0x1A, 0x1A)},
- {"Gray20", RGB(0x33, 0x33, 0x33)},
---- 1411,1422 ----
- static guicolor_tTable table[] =
- {
- {"Black", RGB(0x00, 0x00, 0x00)},
-! {"DarkGray", RGB(0xA9, 0xA9, 0xA9)},
-! {"DarkGrey", RGB(0xA9, 0xA9, 0xA9)},
- {"Gray", RGB(0xC0, 0xC0, 0xC0)},
- {"Grey", RGB(0xC0, 0xC0, 0xC0)},
-! {"LightGray", RGB(0xD3, 0xD3, 0xD3)},
-! {"LightGrey", RGB(0xD3, 0xD3, 0xD3)},
- {"Gray10", RGB(0x1A, 0x1A, 0x1A)},
- {"Grey10", RGB(0x1A, 0x1A, 0x1A)},
- {"Gray20", RGB(0x33, 0x33, 0x33)},
-***************
-*** 1441,1459 ****
- {"LightRed", RGB(0xFF, 0xA0, 0xA0)},
- {"DarkBlue", RGB(0x00, 0x00, 0x80)},
- {"Blue", RGB(0x00, 0x00, 0xFF)},
-! {"LightBlue", RGB(0xA0, 0xA0, 0xFF)},
- {"DarkGreen", RGB(0x00, 0x80, 0x00)},
- {"Green", RGB(0x00, 0xFF, 0x00)},
-! {"LightGreen", RGB(0xA0, 0xFF, 0xA0)},
- {"DarkCyan", RGB(0x00, 0x80, 0x80)},
- {"Cyan", RGB(0x00, 0xFF, 0xFF)},
-! {"LightCyan", RGB(0xA0, 0xFF, 0xFF)},
- {"DarkMagenta", RGB(0x80, 0x00, 0x80)},
- {"Magenta", RGB(0xFF, 0x00, 0xFF)},
- {"LightMagenta", RGB(0xFF, 0xA0, 0xFF)},
- {"Brown", RGB(0x80, 0x40, 0x40)},
- {"Yellow", RGB(0xFF, 0xFF, 0x00)},
-! {"LightYellow", RGB(0xFF, 0xFF, 0xA0)},
- {"DarkYellow", RGB(0xBB, 0xBB, 0x00)},
- {"SeaGreen", RGB(0x2E, 0x8B, 0x57)},
- {"Orange", RGB(0xFF, 0xA5, 0x00)},
---- 1441,1459 ----
- {"LightRed", RGB(0xFF, 0xA0, 0xA0)},
- {"DarkBlue", RGB(0x00, 0x00, 0x80)},
- {"Blue", RGB(0x00, 0x00, 0xFF)},
-! {"LightBlue", RGB(0xAD, 0xD8, 0xE6)},
- {"DarkGreen", RGB(0x00, 0x80, 0x00)},
- {"Green", RGB(0x00, 0xFF, 0x00)},
-! {"LightGreen", RGB(0x90, 0xEE, 0x90)},
- {"DarkCyan", RGB(0x00, 0x80, 0x80)},
- {"Cyan", RGB(0x00, 0xFF, 0xFF)},
-! {"LightCyan", RGB(0xE0, 0xFF, 0xFF)},
- {"DarkMagenta", RGB(0x80, 0x00, 0x80)},
- {"Magenta", RGB(0xFF, 0x00, 0xFF)},
- {"LightMagenta", RGB(0xFF, 0xA0, 0xFF)},
- {"Brown", RGB(0x80, 0x40, 0x40)},
- {"Yellow", RGB(0xFF, 0xFF, 0x00)},
-! {"LightYellow", RGB(0xFF, 0xFF, 0xE0)},
- {"DarkYellow", RGB(0xBB, 0xBB, 0x00)},
- {"SeaGreen", RGB(0x2E, 0x8B, 0x57)},
- {"Orange", RGB(0xFF, 0xA5, 0x00)},
-*** ../vim-7.3.297/src/version.c 2011-09-07 18:47:19.000000000 +0200
---- src/version.c 2011-09-07 18:55:27.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 298,
- /**/
-
---
-You can test a person's importance in the organization by asking how much RAM
-his computer has. Anybody who knows the answer to that question is not a
-decision-maker.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.299 b/source/ap/vim/patches/7.3.299
deleted file mode 100644
index 4f755d909..000000000
--- a/source/ap/vim/patches/7.3.299
+++ /dev/null
@@ -1,516 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.299
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.299
-Problem: Source code not in Vim style.
-Solution: Adjust the style. (Elias Diem)
-Files: src/gui_photon.c
-
-
-*** ../vim-7.3.298/src/gui_photon.c 2011-09-07 18:58:24.000000000 +0200
---- src/gui_photon.c 2011-09-07 19:02:59.000000000 +0200
-***************
-*** 535,547 ****
- &src_taken,
- buf,
- 6,
-! &dst_made );
-
-! add_to_input_buf( buf, dst_made );
- }
- else
- {
-! add_to_input_buf( string, len );
- }
-
- return Pt_CONSUME;
---- 535,547 ----
- &src_taken,
- buf,
- 6,
-! &dst_made);
-
-! add_to_input_buf(buf, dst_made);
- }
- else
- {
-! add_to_input_buf(string, len);
- }
-
- return Pt_CONSUME;
-***************
-*** 549,579 ****
- len = 0;
- #endif
- ch = key->key_cap;
-! if( ch < 0xff )
- {
- /* FIXME: is this the right thing to do? */
-! if( modifiers & MOD_MASK_CTRL )
- {
- modifiers &= ~MOD_MASK_CTRL;
-
-! if( ( ch >= 'a' && ch <= 'z' ) ||
- ch == '[' ||
- ch == ']' ||
-! ch == '\\' )
-! ch = Ctrl_chr( ch );
-! else if( ch == '2' )
- ch = NUL;
-! else if( ch == '6' )
- ch = 0x1e;
-! else if( ch == '-' )
- ch = 0x1f;
- else
- modifiers |= MOD_MASK_CTRL;
- }
-
-! if( modifiers & MOD_MASK_ALT )
- {
-! ch = Meta( ch );
- modifiers &= ~MOD_MASK_ALT;
- }
- }
---- 549,579 ----
- len = 0;
- #endif
- ch = key->key_cap;
-! if (ch < 0xff)
- {
- /* FIXME: is this the right thing to do? */
-! if (modifiers & MOD_MASK_CTRL)
- {
- modifiers &= ~MOD_MASK_CTRL;
-
-! if ((ch >= 'a' && ch <= 'z') ||
- ch == '[' ||
- ch == ']' ||
-! ch == '\\')
-! ch = Ctrl_chr(ch);
-! else if (ch == '2')
- ch = NUL;
-! else if (ch == '6')
- ch = 0x1e;
-! else if (ch == '-')
- ch = 0x1f;
- else
- modifiers |= MOD_MASK_CTRL;
- }
-
-! if (modifiers & MOD_MASK_ALT)
- {
-! ch = Meta(ch);
- modifiers &= ~MOD_MASK_ALT;
- }
- }
-***************
-*** 586,604 ****
- modifiers &= ~MOD_MASK_SHIFT;
- }
-
-! ch = simplify_key( ch, &modifiers );
-! if( modifiers )
- {
- string[ len++ ] = CSI;
- string[ len++ ] = KS_MODIFIER;
- string[ len++ ] = modifiers;
- }
-
-! if( IS_SPECIAL( ch ) )
- {
- string[ len++ ] = CSI;
-! string[ len++ ] = K_SECOND( ch );
-! string[ len++ ] = K_THIRD( ch );
- }
- else
- {
---- 586,604 ----
- modifiers &= ~MOD_MASK_SHIFT;
- }
-
-! ch = simplify_key(ch, &modifiers);
-! if (modifiers)
- {
- string[ len++ ] = CSI;
- string[ len++ ] = KS_MODIFIER;
- string[ len++ ] = modifiers;
- }
-
-! if (IS_SPECIAL(ch))
- {
- string[ len++ ] = CSI;
-! string[ len++ ] = K_SECOND(ch);
-! string[ len++ ] = K_THIRD(ch);
- }
- else
- {
-***************
-*** 619,627 ****
- string[ len++ ] = KE_CSI;
- }
-
-! if( len > 0 )
- {
-! add_to_input_buf( string, len );
- return Pt_CONSUME;
- }
- }
---- 619,627 ----
- string[ len++ ] = KE_CSI;
- }
-
-! if (len > 0)
- {
-! add_to_input_buf(string, len);
- return Pt_CONSUME;
- }
- }
-***************
-*** 630,646 ****
- }
-
- static int
-! gui_ph_handle_mouse( PtWidget_t *widget, void *data, PtCallbackInfo_t *info )
- {
- PhPointerEvent_t *pointer;
- PhRect_t *pos;
- int button = 0, repeated_click, modifiers = 0x0;
- short mouse_x, mouse_y;
-
-! pointer = PhGetData( info->event );
-! pos = PhGetRects( info->event );
-
-! gui_mch_mousehide( MOUSE_SHOW );
-
- /*
- * Coordinates need to be relative to the base window,
---- 630,646 ----
- }
-
- static int
-! gui_ph_handle_mouse(PtWidget_t *widget, void *data, PtCallbackInfo_t *info)
- {
- PhPointerEvent_t *pointer;
- PhRect_t *pos;
- int button = 0, repeated_click, modifiers = 0x0;
- short mouse_x, mouse_y;
-
-! pointer = PhGetData(info->event);
-! pos = PhGetRects(info->event);
-
-! gui_mch_mousehide(MOUSE_SHOW);
-
- /*
- * Coordinates need to be relative to the base window,
-***************
-*** 649,675 ****
- mouse_x = pos->ul.x + gui.border_width;
- mouse_y = pos->ul.y + gui.border_width;
-
-! if( info->event->type == Ph_EV_PTR_MOTION_NOBUTTON )
- {
-! gui_mouse_moved( mouse_x, mouse_y );
- return Pt_CONTINUE;
- }
-
-! if( pointer->key_mods & Pk_KM_Shift )
- modifiers |= MOUSE_SHIFT;
-! if( pointer->key_mods & Pk_KM_Ctrl )
- modifiers |= MOUSE_CTRL;
-! if( pointer->key_mods & Pk_KM_Alt )
- modifiers |= MOUSE_ALT;
-
- /*
- * FIXME More than one button may be involved, but for
- * now just deal with one
- */
-! if( pointer->buttons & Ph_BUTTON_SELECT )
- button = MOUSE_LEFT;
-
-! if( pointer->buttons & Ph_BUTTON_MENU )
- {
- button = MOUSE_RIGHT;
- /* Need the absolute coordinates for the popup menu */
---- 649,675 ----
- mouse_x = pos->ul.x + gui.border_width;
- mouse_y = pos->ul.y + gui.border_width;
-
-! if (info->event->type == Ph_EV_PTR_MOTION_NOBUTTON)
- {
-! gui_mouse_moved(mouse_x, mouse_y);
- return Pt_CONTINUE;
- }
-
-! if (pointer->key_mods & Pk_KM_Shift)
- modifiers |= MOUSE_SHIFT;
-! if (pointer->key_mods & Pk_KM_Ctrl)
- modifiers |= MOUSE_CTRL;
-! if (pointer->key_mods & Pk_KM_Alt)
- modifiers |= MOUSE_ALT;
-
- /*
- * FIXME More than one button may be involved, but for
- * now just deal with one
- */
-! if (pointer->buttons & Ph_BUTTON_SELECT)
- button = MOUSE_LEFT;
-
-! if (pointer->buttons & Ph_BUTTON_MENU)
- {
- button = MOUSE_RIGHT;
- /* Need the absolute coordinates for the popup menu */
-***************
-*** 677,705 ****
- abs_mouse.y = pointer->pos.y;
- }
-
-! if( pointer->buttons & Ph_BUTTON_ADJUST )
- button = MOUSE_MIDDLE;
-
- /* Catch a real release (not phantom or other releases */
-! if( info->event->type == Ph_EV_BUT_RELEASE )
- button = MOUSE_RELEASE;
-
-! if( info->event->type & Ph_EV_PTR_MOTION_BUTTON )
- button = MOUSE_DRAG;
-
- #if 0
- /* Vim doesn't use button repeats */
-! if( info->event->type & Ph_EV_BUT_REPEAT )
- button = MOUSE_DRAG;
- #endif
-
- /* Don't do anything if it is one of the phantom mouse release events */
-! if( ( button != MOUSE_RELEASE ) ||
-! ( info->event->subtype == Ph_EV_RELEASE_REAL ) )
- {
- repeated_click = (pointer->click_count >= 2) ? TRUE : FALSE;
-
-! gui_send_mouse_event( button , mouse_x, mouse_y, repeated_click, modifiers );
- }
-
- return Pt_CONTINUE;
---- 677,705 ----
- abs_mouse.y = pointer->pos.y;
- }
-
-! if (pointer->buttons & Ph_BUTTON_ADJUST)
- button = MOUSE_MIDDLE;
-
- /* Catch a real release (not phantom or other releases */
-! if (info->event->type == Ph_EV_BUT_RELEASE)
- button = MOUSE_RELEASE;
-
-! if (info->event->type & Ph_EV_PTR_MOTION_BUTTON)
- button = MOUSE_DRAG;
-
- #if 0
- /* Vim doesn't use button repeats */
-! if (info->event->type & Ph_EV_BUT_REPEAT)
- button = MOUSE_DRAG;
- #endif
-
- /* Don't do anything if it is one of the phantom mouse release events */
-! if ((button != MOUSE_RELEASE) ||
-! (info->event->subtype == Ph_EV_RELEASE_REAL))
- {
- repeated_click = (pointer->click_count >= 2) ? TRUE : FALSE;
-
-! gui_send_mouse_event(button , mouse_x, mouse_y, repeated_click, modifiers);
- }
-
- return Pt_CONTINUE;
-***************
-*** 707,741 ****
-
- /* Handle a focus change of the PtRaw widget */
- static int
-! gui_ph_handle_focus( PtWidget_t *widget, void *data, PtCallbackInfo_t *info )
- {
-! if( info->reason == Pt_CB_LOST_FOCUS )
- {
-! PtRemoveEventHandler( gui.vimTextArea, Ph_EV_PTR_MOTION_NOBUTTON,
-! gui_ph_handle_mouse, NULL );
-
-! gui_mch_mousehide( MOUSE_SHOW );
- }
- else
- {
-! PtAddEventHandler( gui.vimTextArea, Ph_EV_PTR_MOTION_NOBUTTON,
-! gui_ph_handle_mouse, NULL );
- }
- return Pt_CONTINUE;
- }
-
- static void
-! gui_ph_handle_raw_draw( PtWidget_t *widget, PhTile_t *damage )
- {
- PhRect_t *r;
- PhPoint_t offset;
- PhPoint_t translation;
-
-! if( is_ignore_draw == TRUE )
- return;
-
-! PtSuperClassDraw( PtBasic, widget, damage );
-! PgGetTranslation( &translation );
- PgClearTranslation();
-
- #if 0
---- 707,741 ----
-
- /* Handle a focus change of the PtRaw widget */
- static int
-! gui_ph_handle_focus(PtWidget_t *widget, void *data, PtCallbackInfo_t *info)
- {
-! if (info->reason == Pt_CB_LOST_FOCUS)
- {
-! PtRemoveEventHandler(gui.vimTextArea, Ph_EV_PTR_MOTION_NOBUTTON,
-! gui_ph_handle_mouse, NULL);
-
-! gui_mch_mousehide(MOUSE_SHOW);
- }
- else
- {
-! PtAddEventHandler(gui.vimTextArea, Ph_EV_PTR_MOTION_NOBUTTON,
-! gui_ph_handle_mouse, NULL);
- }
- return Pt_CONTINUE;
- }
-
- static void
-! gui_ph_handle_raw_draw(PtWidget_t *widget, PhTile_t *damage)
- {
- PhRect_t *r;
- PhPoint_t offset;
- PhPoint_t translation;
-
-! if (is_ignore_draw == TRUE)
- return;
-
-! PtSuperClassDraw(PtBasic, widget, damage);
-! PgGetTranslation(&translation);
- PgClearTranslation();
-
- #if 0
-***************
-*** 750,770 ****
- out_flush();
- #endif
-
-! PtWidgetOffset( widget, &offset );
-! PhTranslatePoint( &offset, PtWidgetPos( gui.vimTextArea, NULL ) );
-
- #if 1
- /* Redraw individual damage regions */
-! if( damage->next != NULL )
- damage = damage->next;
-
-! while( damage != NULL )
- {
- r = &damage->rect;
- gui_redraw(
- r->ul.x - offset.x, r->ul.y - offset.y,
- r->lr.x - r->ul.x + 1,
-! r->lr.y - r->ul.y + 1 );
- damage = damage->next;
- }
- #else
---- 750,770 ----
- out_flush();
- #endif
-
-! PtWidgetOffset(widget, &offset);
-! PhTranslatePoint(&offset, PtWidgetPos(gui.vimTextArea, NULL));
-
- #if 1
- /* Redraw individual damage regions */
-! if (damage->next != NULL)
- damage = damage->next;
-
-! while(damage != NULL)
- {
- r = &damage->rect;
- gui_redraw(
- r->ul.x - offset.x, r->ul.y - offset.y,
- r->lr.x - r->ul.x + 1,
-! r->lr.y - r->ul.y + 1);
- damage = damage->next;
- }
- #else
-***************
-*** 773,796 ****
- gui_redraw(
- r->ul.x - offset.x, r->ul.y - offset.y,
- r->lr.x - r->ul.x + 1,
-! r->lr.y - r->ul.y + 1 );
- #endif
-
-! PgSetTranslation( &translation, 0 );
- }
-
- static int
- gui_ph_handle_pulldown_menu(
- PtWidget_t *widget,
- void *data,
-! PtCallbackInfo_t *info )
- {
-! if( data != NULL )
- {
- vimmenu_T *menu = (vimmenu_T *) data;
-
-! PtPositionMenu( menu->submenu_id, NULL );
-! PtRealizeWidget( menu->submenu_id );
- }
-
- return Pt_CONTINUE;
---- 773,796 ----
- gui_redraw(
- r->ul.x - offset.x, r->ul.y - offset.y,
- r->lr.x - r->ul.x + 1,
-! r->lr.y - r->ul.y + 1);
- #endif
-
-! PgSetTranslation(&translation, 0);
- }
-
- static int
- gui_ph_handle_pulldown_menu(
- PtWidget_t *widget,
- void *data,
-! PtCallbackInfo_t *info)
- {
-! if (data != NULL)
- {
- vimmenu_T *menu = (vimmenu_T *) data;
-
-! PtPositionMenu(menu->submenu_id, NULL);
-! PtRealizeWidget(menu->submenu_id);
- }
-
- return Pt_CONTINUE;
-*** ../vim-7.3.298/src/version.c 2011-09-07 18:58:24.000000000 +0200
---- src/version.c 2011-09-07 19:01:17.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 299,
- /**/
-
---
-The only way the average employee can speak to an executive is by taking a
-second job as a golf caddie.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.300 b/source/ap/vim/patches/7.3.300
deleted file mode 100644
index 132b14a74..000000000
--- a/source/ap/vim/patches/7.3.300
+++ /dev/null
@@ -1,74 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.300
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.300
-Problem: Python doesn't parse multi-byte argument correctly.
-Solution: Use "t" instead of "s". (lilydjwg)
-Files: src/if_py_both.h
-
-
-*** ../vim-7.3.299/src/if_py_both.h 2011-07-07 15:08:53.000000000 +0200
---- src/if_py_both.h 2011-09-07 19:25:12.000000000 +0200
-***************
-*** 74,80 ****
- char *str = NULL;
- int error = ((OutputObject *)(self))->error;
-
-! if (!PyArg_ParseTuple(args, "es#", ENC_OPT, &str, &len))
- return NULL;
-
- Py_BEGIN_ALLOW_THREADS
---- 74,80 ----
- char *str = NULL;
- int error = ((OutputObject *)(self))->error;
-
-! if (!PyArg_ParseTuple(args, "et#", ENC_OPT, &str, &len))
- return NULL;
-
- Py_BEGIN_ALLOW_THREADS
-***************
-*** 114,120 ****
- char *str = NULL;
- PyInt len;
-
-! if (!PyArg_Parse(line, "es#", ENC_OPT, &str, &len)) {
- PyErr_SetString(PyExc_TypeError, _("writelines() requires list of strings"));
- Py_DECREF(list);
- return NULL;
---- 114,120 ----
- char *str = NULL;
- PyInt len;
-
-! if (!PyArg_Parse(line, "et#", ENC_OPT, &str, &len)) {
- PyErr_SetString(PyExc_TypeError, _("writelines() requires list of strings"));
- Py_DECREF(list);
- return NULL;
-*** ../vim-7.3.299/src/version.c 2011-09-07 19:08:57.000000000 +0200
---- src/version.c 2011-09-07 19:26:05.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 300,
- /**/
-
---
-A salesperson says: Translation:
-"backward compatible" Old technology
-"Premium" Overpriced
-"Can't keep it on the shelf" Unavailable
-"Stands alone" Piece of shit
-"Proprietary" Incompatible
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.301 b/source/ap/vim/patches/7.3.301
deleted file mode 100644
index bb52974dc..000000000
--- a/source/ap/vim/patches/7.3.301
+++ /dev/null
@@ -1,97 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.301
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.301
-Problem: When 'smartindent' and 'copyindent' are set a Tab is used even
- though 'expandtab' is set.
-Solution: Do not insert Tabs. Add a test. (Christian Brabandt)
-Files: src/misc1.c, src/testdir/test19.in, src/testdir/test19.ok
-
-
-*** ../vim-7.3.300/src/misc1.c 2011-07-27 17:31:42.000000000 +0200
---- src/misc1.c 2011-09-07 19:37:04.000000000 +0200
-***************
-*** 363,369 ****
-
- /* Fill to next tabstop with a tab, if possible */
- tab_pad = (int)curbuf->b_p_ts - (ind_done % (int)curbuf->b_p_ts);
-! if (todo >= tab_pad)
- {
- todo -= tab_pad;
- ++ind_len;
---- 363,369 ----
-
- /* Fill to next tabstop with a tab, if possible */
- tab_pad = (int)curbuf->b_p_ts - (ind_done % (int)curbuf->b_p_ts);
-! if (todo >= tab_pad && !curbuf->b_p_et)
- {
- todo -= tab_pad;
- ++ind_len;
-***************
-*** 372,378 ****
- }
-
- /* Add tabs required for indent */
-! while (todo >= (int)curbuf->b_p_ts)
- {
- todo -= (int)curbuf->b_p_ts;
- ++ind_len;
---- 372,378 ----
- }
-
- /* Add tabs required for indent */
-! while (todo >= (int)curbuf->b_p_ts && !curbuf->b_p_et)
- {
- todo -= (int)curbuf->b_p_ts;
- ++ind_len;
-*** ../vim-7.3.300/src/testdir/test19.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test19.in 2011-09-07 19:46:17.000000000 +0200
-***************
-*** 12,17 ****
---- 12,20 ----
- 0wR 
- :" Test replacing with Tabs
- 0wR 
-+ :" Test that copyindent works with expandtab set
-+ :set expandtab smartindent copyindent ts=8 sw=8 sts=8
-+ :exe "norm! o{\<cr>x"
- :?^start?,$w! test.out
- :qa!
- ENDTEST
-*** ../vim-7.3.300/src/testdir/test19.ok 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test19.ok 2011-09-07 19:37:04.000000000 +0200
-***************
-*** 5,7 ****
---- 5,9 ----
- a cde
- hi
- test text
-+ {
-+ x
-*** ../vim-7.3.300/src/version.c 2011-09-07 19:30:17.000000000 +0200
---- src/version.c 2011-09-07 19:38:48.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 301,
- /**/
-
---
-I recommend ordering large cargo containers of paper towels to make up
-whatever budget underruns you have. Paper products are always useful and they
-have the advantage of being completely flushable if you need to make room in
-the storage area later.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.302 b/source/ap/vim/patches/7.3.302
deleted file mode 100644
index f8d2c2499..000000000
--- a/source/ap/vim/patches/7.3.302
+++ /dev/null
@@ -1,68 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.302
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.302 (after 7.3.301)
-Problem: Test 19 fails without 'smartindent' and +eval.
-Solution: Don't use ":exe". Source small.vim.
-Files: src/testdir/test19.in
-
-
-*** ../vim-7.3.301/src/testdir/test19.in 2011-09-07 19:58:04.000000000 +0200
---- src/testdir/test19.in 2011-09-08 20:32:33.000000000 +0200
-***************
-*** 1,6 ****
---- 1,7 ----
- Tests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.
-
- STARTTEST
-+ :so small.vim
- :set smarttab expandtab ts=8 sw=4
- :" make sure that backspace works, no matter what termcap is used
- :set t_kD=x7f t_kb=x08
-***************
-*** 14,21 ****
- 0wR 
- :" Test that copyindent works with expandtab set
- :set expandtab smartindent copyindent ts=8 sw=8 sts=8
-! :exe "norm! o{\<cr>x"
-! :?^start?,$w! test.out
- :qa!
- ENDTEST
-
---- 15,22 ----
- 0wR 
- :" Test that copyindent works with expandtab set
- :set expandtab smartindent copyindent ts=8 sw=8 sts=8
-! o{
-! x:?^start?,$w! test.out
- :qa!
- ENDTEST
-
-*** ../vim-7.3.301/src/version.c 2011-09-07 19:58:04.000000000 +0200
---- src/version.c 2011-09-08 23:22:01.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 302,
- /**/
-
---
-Engineers are always delighted to share wisdom, even in areas in which they
-have no experience whatsoever. Their logic provides them with inherent
-insight into any field of expertise. This can be a problem when dealing with
-the illogical people who believe that knowledge can only be derived through
-experience.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.303 b/source/ap/vim/patches/7.3.303
deleted file mode 100644
index f85bf68d6..000000000
--- a/source/ap/vim/patches/7.3.303
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.303
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.303 (after 7.3.296)
-Problem: Compilation error.
-Solution: Correct return type from int to pid_t. (Danek Duvall)
-Files: src/os_unix.c
-
-
-*** ../vim-7.3.302/src/os_unix.c 2011-09-07 15:04:26.000000000 +0200
---- src/os_unix.c 2011-09-08 20:47:47.000000000 +0200
-***************
-*** 159,165 ****
- #else
- typedef int waitstatus;
- #endif
-! static int wait4pid __ARGS((pid_t, waitstatus *));
-
- static int WaitForChar __ARGS((long));
- #if defined(__BEOS__)
---- 159,165 ----
- #else
- typedef int waitstatus;
- #endif
-! static pid_t wait4pid __ARGS((pid_t, waitstatus *));
-
- static int WaitForChar __ARGS((long));
- #if defined(__BEOS__)
-*** ../vim-7.3.302/src/version.c 2011-09-08 23:22:35.000000000 +0200
---- src/version.c 2011-09-08 23:23:43.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 303,
- /**/
-
---
-For humans, honesty is a matter of degree. Engineers are always honest in
-matters of technology and human relationships. That's why it's a good idea
-to keep engineers away from customers, romantic interests, and other people
-who can't handle the truth.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.304 b/source/ap/vim/patches/7.3.304
deleted file mode 100644
index 6abfe9cc2..000000000
--- a/source/ap/vim/patches/7.3.304
+++ /dev/null
@@ -1,103 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.304
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.304
-Problem: Strawberry Perl doesn't work on MS-Windows.
-Solution: Use xsubpp if needed. (Yasuhiro Matsumoto)
-Files: src/Make_ming.mak, src/Make_mvc.mak
-
-
-*** ../vim-7.3.303/src/Make_ming.mak 2011-06-19 01:30:01.000000000 +0200
---- src/Make_ming.mak 2011-09-14 10:44:55.000000000 +0200
-***************
-*** 108,113 ****
---- 108,120 ----
- # on NT, it's here:
- PERLLIB=$(PERL)/lib
- PERLLIBS=$(PERLLIB)/Core
-+ XSUBPP=$(PERLLIB)/ExtUtils/xsubpp
-+ XSUBPP_EXISTS=$(shell perl -e "print 1 unless -e '$(XSUBPP)'")
-+ ifeq "$(XSUBPP_EXISTS)" ""
-+ XSUBPP=perl $(XSUBPP)
-+ else
-+ XSUBPP=xsubpp
-+ endif
- endif
-
- # uncomment 'LUA' if you want a Lua-enabled version
-***************
-*** 696,702 ****
- endif
-
- if_perl.c: if_perl.xs typemap
-! perl $(PERLLIB)/ExtUtils/xsubpp -prototypes -typemap \
- $(PERLLIB)/ExtUtils/typemap if_perl.xs > $@
-
- $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
---- 703,709 ----
- endif
-
- if_perl.c: if_perl.xs typemap
-! $(XSUBPP) -prototypes -typemap \
- $(PERLLIB)/ExtUtils/typemap if_perl.xs > $@
-
- $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
-*** ../vim-7.3.303/src/Make_mvc.mak 2011-06-12 20:31:25.000000000 +0200
---- src/Make_mvc.mak 2011-09-14 10:46:08.000000000 +0200
-***************
-*** 785,790 ****
---- 785,795 ----
- PERL_INC = /I $(PERL_INCDIR)
- PERL_OBJ = $(OUTDIR)\if_perl.obj $(OUTDIR)\if_perlsfio.obj
- XSUBPP = $(PERL)\lib\ExtUtils\xsubpp
-+ !if exist($(XSUBPP)
-+ XSUBPP = $(PERL_EXE) $(XSUBPP)
-+ !else
-+ XSUBPP = xsubpp
-+ !endif
- XSUBPP_TYPEMAP = $(PERL)\lib\ExtUtils\typemap
-
- !endif
-***************
-*** 1041,1047 ****
- $(CC) $(CFLAGS) $(LUA_INC) if_lua.c
-
- if_perl.c : if_perl.xs typemap
-! $(PERL_EXE) $(XSUBPP) -prototypes -typemap $(XSUBPP_TYPEMAP) \
- -typemap typemap if_perl.xs > if_perl.c
-
- $(OUTDIR)/if_perl.obj: $(OUTDIR) if_perl.c $(INCL)
---- 1046,1052 ----
- $(CC) $(CFLAGS) $(LUA_INC) if_lua.c
-
- if_perl.c : if_perl.xs typemap
-! $(XSUBPP) -prototypes -typemap $(XSUBPP_TYPEMAP) \
- -typemap typemap if_perl.xs > if_perl.c
-
- $(OUTDIR)/if_perl.obj: $(OUTDIR) if_perl.c $(INCL)
-*** ../vim-7.3.303/src/version.c 2011-09-08 23:24:09.000000000 +0200
---- src/version.c 2011-09-14 10:47:41.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 304,
- /**/
-
---
-It's totally unfair to suggest - as many have - that engineers are socially
-inept. Engineers simply have different objectives when it comes to social
-interaction.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.305 b/source/ap/vim/patches/7.3.305
deleted file mode 100644
index e70fd5940..000000000
--- a/source/ap/vim/patches/7.3.305
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.305
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.305
-Problem: Auto-loading a function while editing the command line causes
- scrolling up the display.
-Solution: Don't set msg_scroll when defining a function and the user is not
- typing. (Yasuhiro Matsumoto)
-Files: src/eval.c
-
-
-*** ../vim-7.3.304/src/eval.c 2011-08-17 15:23:16.000000000 +0200
---- src/eval.c 2011-09-14 14:28:21.000000000 +0200
-***************
-*** 20786,20792 ****
- nesting = 0;
- for (;;)
- {
-! msg_scroll = TRUE;
- need_wait_return = FALSE;
- sourcing_lnum_off = sourcing_lnum;
-
---- 20786,20793 ----
- nesting = 0;
- for (;;)
- {
-! if (KeyTyped)
-! msg_scroll = TRUE;
- need_wait_return = FALSE;
- sourcing_lnum_off = sourcing_lnum;
-
-*** ../vim-7.3.304/src/version.c 2011-09-14 10:49:44.000000000 +0200
---- src/version.c 2011-09-14 14:30:49.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 305,
- /**/
-
---
-If someone questions your market projections, simply point out that your
-target market is "People who are nuts" and "People who will buy any damn
-thing". Nobody is going to tell you there aren't enough of those people
-to go around.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.306 b/source/ap/vim/patches/7.3.306
deleted file mode 100644
index 62bd4cfce..000000000
--- a/source/ap/vim/patches/7.3.306
+++ /dev/null
@@ -1,244 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.306
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.306
-Problem: When closing a window there is a chance that deleting a scrollbar
- triggers a GUI resize, which uses the window while it is not in a
- valid state.
-Solution: Set the buffer pointer to NULL to be able to detect the invalid
- situation. Fix a few places that used the buffer pointer
- incorrectly.
-Files: src/buffer.c, src/ex_cmds.c, src/term.c, src/window.c
-
-
-*** ../vim-7.3.305/src/buffer.c 2011-05-19 13:40:47.000000000 +0200
---- src/buffer.c 2011-09-10 13:46:59.000000000 +0200
-***************
-*** 416,421 ****
---- 416,423 ----
- #endif
-
- buf_freeall(buf, (del_buf ? BFA_DEL : 0) + (wipe_buf ? BFA_WIPE : 0));
-+ if (win_valid(win) && win->w_buffer == buf)
-+ win->w_buffer = NULL; /* make sure we don't use the buffer now */
-
- #ifdef FEAT_AUTOCMD
- /* Autocommands may have deleted the buffer. */
-***************
-*** 560,565 ****
---- 562,571 ----
- #ifdef FEAT_DIFF
- diff_buf_delete(buf); /* Can't use 'diff' for unloaded buffer. */
- #endif
-+ #ifdef FEAT_SYN_HL
-+ if (curwin->w_buffer == buf)
-+ reset_synblock(curwin); /* remove any ownsyntax */
-+ #endif
-
- #ifdef FEAT_FOLDING
- /* No folds in an empty buffer. */
-***************
-*** 1346,1351 ****
---- 1352,1361 ----
- # endif
- #endif
- {
-+ #ifdef FEAT_SYN_HL
-+ if (prevbuf == curwin->w_buffer)
-+ reset_synblock(curwin);
-+ #endif
- #ifdef FEAT_WINDOWS
- if (unload)
- close_windows(prevbuf, FALSE);
-***************
-*** 1395,1404 ****
- foldUpdateAll(curwin); /* update folds (later). */
- #endif
-
-- #ifdef FEAT_SYN_HL
-- reset_synblock(curwin);
-- curwin->w_s = &(buf->b_s);
-- #endif
- /* Get the buffer in the current window. */
- curwin->w_buffer = buf;
- curbuf = buf;
---- 1405,1410 ----
-***************
-*** 1409,1414 ****
---- 1415,1424 ----
- diff_buf_add(curbuf);
- #endif
-
-+ #ifdef FEAT_SYN_HL
-+ curwin->w_s = &(buf->b_s);
-+ #endif
-+
- /* Cursor on first line by default. */
- curwin->w_cursor.lnum = 1;
- curwin->w_cursor.col = 0;
-*** ../vim-7.3.305/src/ex_cmds.c 2011-07-07 16:20:45.000000000 +0200
---- src/ex_cmds.c 2011-09-10 13:39:13.000000000 +0200
-***************
-*** 3619,3628 ****
- */
- check_arg_idx(curwin);
-
-- #ifdef FEAT_SYN_HL
-- reset_synblock(curwin); /* remove any ownsyntax */
-- #endif
--
- #ifdef FEAT_AUTOCMD
- if (!auto_buf)
- #endif
---- 3619,3624 ----
-*** ../vim-7.3.305/src/term.c 2011-05-10 16:41:13.000000000 +0200
---- src/term.c 2011-09-14 14:39:39.000000000 +0200
-***************
-*** 3017,3028 ****
- if (width < 0 || height < 0) /* just checking... */
- return;
-
-! if (State == HITRETURN || State == SETWSIZE) /* postpone the resizing */
- {
- State = SETWSIZE;
- return;
- }
-
- ++busy;
-
- #ifdef AMIGA
---- 3017,3036 ----
- if (width < 0 || height < 0) /* just checking... */
- return;
-
-! if (State == HITRETURN || State == SETWSIZE)
- {
-+ /* postpone the resizing */
- State = SETWSIZE;
- return;
- }
-
-+ /* curwin->w_buffer can be NULL when we are closing a window and the
-+ * buffer has already been closed and removing a scrollbar causes a resize
-+ * event. Don't resize then, it will happen after entering another buffer.
-+ */
-+ if (curwin->w_buffer == NULL)
-+ return;
-+
- ++busy;
-
- #ifdef AMIGA
-*** ../vim-7.3.305/src/window.c 2011-01-08 14:45:57.000000000 +0100
---- src/window.c 2011-09-10 14:04:56.000000000 +0200
-***************
-*** 1226,1240 ****
- }
- newp->w_tagstackidx = oldp->w_tagstackidx;
- newp->w_tagstacklen = oldp->w_tagstacklen;
-! # ifdef FEAT_FOLDING
- copyFoldingState(oldp, newp);
-! # endif
-
- win_init_some(newp, oldp);
-
-! # ifdef FEAT_SYN_HL
- check_colorcolumn(newp);
-! # endif
- }
-
- /*
---- 1226,1240 ----
- }
- newp->w_tagstackidx = oldp->w_tagstackidx;
- newp->w_tagstacklen = oldp->w_tagstacklen;
-! #ifdef FEAT_FOLDING
- copyFoldingState(oldp, newp);
-! #endif
-
- win_init_some(newp, oldp);
-
-! #ifdef FEAT_SYN_HL
- check_colorcolumn(newp);
-! #endif
- }
-
- /*
-***************
-*** 2212,2217 ****
---- 2212,2222 ----
- out_flush();
- #endif
-
-+ #ifdef FEAT_SYN_HL
-+ /* Free independent synblock before the buffer is freed. */
-+ reset_synblock(win);
-+ #endif
-+
- /*
- * Close the link to the buffer.
- */
-***************
-*** 2222,2228 ****
- if (!win_valid(win) || last_window() || curtab != prev_curtab)
- return;
-
-! /* Free the memory used for the window. */
- wp = win_free_mem(win, &dir, NULL);
-
- /* Make sure curwin isn't invalid. It can cause severe trouble when
---- 2227,2234 ----
- if (!win_valid(win) || last_window() || curtab != prev_curtab)
- return;
-
-! /* Free the memory used for the window and get the window that received
-! * the screen space. */
- wp = win_free_mem(win, &dir, NULL);
-
- /* Make sure curwin isn't invalid. It can cause severe trouble when
-***************
-*** 3247,3252 ****
---- 3253,3261 ----
- else
- wp->w_farsi = W_CONV;
- #endif
-+ #ifdef FEAT_SYN_HL
-+ wp->w_s = &wp->w_buffer->b_s;
-+ #endif
- }
-
- /*
-***************
-*** 4437,4443 ****
- #endif /* FEAT_GUI */
-
- #ifdef FEAT_SYN_HL
-- reset_synblock(wp); /* free independent synblock */
- vim_free(wp->w_p_cc_cols);
- #endif
-
---- 4446,4451 ----
-*** ../vim-7.3.305/src/version.c 2011-09-14 14:33:47.000000000 +0200
---- src/version.c 2011-09-14 14:35:30.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 306,
- /**/
-
---
-A consultant is a person who takes your money and annoys your employees while
-tirelessly searching for the best way to extend the consulting contract.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.307 b/source/ap/vim/patches/7.3.307
deleted file mode 100644
index 3fd95e112..000000000
--- a/source/ap/vim/patches/7.3.307
+++ /dev/null
@@ -1,180 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.307
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.307
-Problem: Python 3 doesn't support slice assignment.
-Solution: Implement slices. (Brett Overesch, Roland Puntaier)
-Files: src/if_python3.c
-
-
-*** ../vim-7.3.306/src/if_python3.c 2011-08-28 16:00:14.000000000 +0200
---- src/if_python3.c 2011-09-14 15:01:26.000000000 +0200
-***************
-*** 855,862 ****
-
- static Py_ssize_t BufferLength(PyObject *);
- static PyObject *BufferItem(PyObject *, Py_ssize_t);
-! static PyObject* BufferSubscript(PyObject *self, PyObject* idx);
-! static Py_ssize_t BufferAsSubscript(PyObject *self, PyObject* idx, PyObject* val);
-
-
- /* Line range type - Implementation functions
---- 855,862 ----
-
- static Py_ssize_t BufferLength(PyObject *);
- static PyObject *BufferItem(PyObject *, Py_ssize_t);
-! static PyObject* BufferSubscript(PyObject *self, PyObject *idx);
-! static Py_ssize_t BufferAsSubscript(PyObject *self, PyObject *idx, PyObject *val);
-
-
- /* Line range type - Implementation functions
-***************
-*** 865,872 ****
-
- #define RangeType_Check(obj) ((obj)->ob_base.ob_type == &RangeType)
-
-! static PyObject* RangeSubscript(PyObject *self, PyObject* idx);
- static Py_ssize_t RangeAsItem(PyObject *, Py_ssize_t, PyObject *);
-
- /* Current objects type - Implementation functions
- * -----------------------------------------------
---- 865,873 ----
-
- #define RangeType_Check(obj) ((obj)->ob_base.ob_type == &RangeType)
-
-! static PyObject* RangeSubscript(PyObject *self, PyObject *idx);
- static Py_ssize_t RangeAsItem(PyObject *, Py_ssize_t, PyObject *);
-+ static Py_ssize_t RangeAsSubscript(PyObject *self, PyObject *idx, PyObject *val);
-
- /* Current objects type - Implementation functions
- * -----------------------------------------------
-***************
-*** 1035,1041 ****
- &step, &slicelen) < 0) {
- return NULL;
- }
-! return BufferSlice(self,start,stop);
- } else {
- PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
- return NULL;
---- 1036,1042 ----
- &step, &slicelen) < 0) {
- return NULL;
- }
-! return BufferSlice(self, start, stop);
- } else {
- PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
- return NULL;
-***************
-*** 1084,1090 ****
- PyMappingMethods RangeAsMapping = {
- /* mp_length */ (lenfunc)RangeLength,
- /* mp_subscript */ (binaryfunc)RangeSubscript,
-! /* mp_ass_subscript */ (objobjargproc)0,
- };
-
- /* Line range object - Implementation
---- 1085,1091 ----
- PyMappingMethods RangeAsMapping = {
- /* mp_length */ (lenfunc)RangeLength,
- /* mp_subscript */ (binaryfunc)RangeSubscript,
-! /* mp_ass_subscript */ (objobjargproc)RangeAsSubscript,
- };
-
- /* Line range object - Implementation
-***************
-*** 1123,1128 ****
---- 1124,1138 ----
- &((RangeObject *)(self))->end);
- }
-
-+ static Py_ssize_t
-+ RangeAsSlice(PyObject *self, Py_ssize_t lo, Py_ssize_t hi, PyObject *val)
-+ {
-+ return RBAsSlice(((RangeObject *)(self))->buf, lo, hi, val,
-+ ((RangeObject *)(self))->start,
-+ ((RangeObject *)(self))->end,
-+ &((RangeObject *)(self))->end);
-+ }
-+
- static PyObject *
- RangeSubscript(PyObject *self, PyObject* idx)
- {
-***************
-*** 1138,1150 ****
- &step, &slicelen) < 0) {
- return NULL;
- }
-! return RangeSlice(self,start,stop+1);
- } else {
- PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
- return NULL;
- }
- }
-
- /* Buffer list object - Definitions
- */
-
---- 1148,1183 ----
- &step, &slicelen) < 0) {
- return NULL;
- }
-! return RangeSlice(self, start, stop);
- } else {
- PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
- return NULL;
- }
- }
-
-+ static Py_ssize_t
-+ RangeAsSubscript(PyObject *self, PyObject *idx, PyObject *val)
-+ {
-+ if (PyLong_Check(idx)) {
-+ long n = PyLong_AsLong(idx);
-+ return RangeAsItem(self, n, val);
-+ } else if (PySlice_Check(idx)) {
-+ Py_ssize_t start, stop, step, slicelen;
-+
-+ if (PySlice_GetIndicesEx((PySliceObject *)idx,
-+ ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
-+ &start, &stop,
-+ &step, &slicelen) < 0) {
-+ return -1;
-+ }
-+ return RangeAsSlice(self, start, stop, val);
-+ } else {
-+ PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
-+ return -1;
-+ }
-+ }
-+
-+
- /* Buffer list object - Definitions
- */
-
-*** ../vim-7.3.306/src/version.c 2011-09-14 14:43:21.000000000 +0200
---- src/version.c 2011-09-14 14:58:16.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 307,
- /**/
-
---
-The process for understanding customers primarily involves sitting around with
-other marketing people and talking about what you would to if you were dumb
-enough to be a customer.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.308 b/source/ap/vim/patches/7.3.308
deleted file mode 100644
index 36e5de516..000000000
--- a/source/ap/vim/patches/7.3.308
+++ /dev/null
@@ -1,260 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.308
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.308
-Problem: Writing to 'verbosefile' has problems, e.g. for :highlight.
-Solution: Do not use a separate verbose_write() function but write with the
- same code that does redirecting. (Yasuhiro Matsumoto)
-Files: src/message.c
-
-
-*** ../vim-7.3.307/src/message.c 2011-08-17 20:33:18.000000000 +0200
---- src/message.c 2011-09-14 15:32:57.000000000 +0200
-***************
-*** 39,45 ****
- static void msg_screen_putchar __ARGS((int c, int attr));
- static int msg_check_screen __ARGS((void));
- static void redir_write __ARGS((char_u *s, int maxlen));
-- static void verbose_write __ARGS((char_u *s, int maxlen));
- #ifdef FEAT_CON_DIALOG
- static char_u *msg_show_console_dialog __ARGS((char_u *message, char_u *buttons, int dfltbutton));
- static int confirm_msg_used = FALSE; /* displaying confirm_msg */
---- 39,44 ----
-***************
-*** 58,63 ****
---- 57,65 ----
- static struct msg_hist *last_msg_hist = NULL;
- static int msg_hist_len = 0;
-
-+ static FILE *verbose_fd = NULL;
-+ static int verbose_did_open = FALSE;
-+
- /*
- * When writing messages to the screen, there are many different situations.
- * A number of variables is used to remember the current state:
-***************
-*** 1551,1557 ****
- #ifdef FEAT_MBYTE
- if (has_mbyte && !IS_SPECIAL(c))
- {
-! int len = (*mb_ptr2len)(str);
-
- /* For multi-byte characters check for an illegal byte. */
- if (has_mbyte && MB_BYTE2LEN(*str) > len)
---- 1553,1559 ----
- #ifdef FEAT_MBYTE
- if (has_mbyte && !IS_SPECIAL(c))
- {
-! int len = (*mb_ptr2len)(str);
-
- /* For multi-byte characters check for an illegal byte. */
- if (has_mbyte && MB_BYTE2LEN(*str) > len)
-***************
-*** 1560,1569 ****
- *sp = str + 1;
- return buf;
- }
-! /* Since 'special' is TRUE the multi-byte character 'c' will be
-! * processed by get_special_key_name() */
-! c = (*mb_ptr2char)(str);
-! *sp = str + len;
- }
- else
- #endif
---- 1562,1571 ----
- *sp = str + 1;
- return buf;
- }
-! /* Since 'special' is TRUE the multi-byte character 'c' will be
-! * processed by get_special_key_name() */
-! c = (*mb_ptr2char)(str);
-! *sp = str + len;
- }
- else
- #endif
-***************
-*** 3065,3076 ****
- if (redir_off)
- return;
-
-! /*
-! * If 'verbosefile' is set write message in that file.
-! * Must come before the rest because of updating "msg_col".
-! */
-! if (*p_vfile != NUL)
-! verbose_write(s, maxlen);
-
- if (redirecting())
- {
---- 3067,3075 ----
- if (redir_off)
- return;
-
-! /* If 'verbosefile' is set prepare for writing in that file. */
-! if (*p_vfile != NUL && verbose_fd == NULL)
-! verbose_open();
-
- if (redirecting())
- {
-***************
-*** 3084,3092 ****
- write_reg_contents(redir_reg, (char_u *)" ", -1, TRUE);
- else if (redir_vname)
- var_redir_str((char_u *)" ", -1);
-! else if (redir_fd)
- #endif
- fputs(" ", redir_fd);
- ++cur_col;
- }
- }
---- 3083,3094 ----
- write_reg_contents(redir_reg, (char_u *)" ", -1, TRUE);
- else if (redir_vname)
- var_redir_str((char_u *)" ", -1);
-! else
- #endif
-+ if (redir_fd != NULL)
- fputs(" ", redir_fd);
-+ if (verbose_fd != NULL)
-+ fputs(" ", verbose_fd);
- ++cur_col;
- }
- }
-***************
-*** 3098,3110 ****
- var_redir_str(s, maxlen);
- #endif
-
-! /* Adjust the current column */
- while (*s != NUL && (maxlen < 0 || (int)(s - str) < maxlen))
- {
- #ifdef FEAT_EVAL
-! if (!redir_reg && !redir_vname && redir_fd != NULL)
- #endif
-! putc(*s, redir_fd);
- if (*s == '\r' || *s == '\n')
- cur_col = 0;
- else if (*s == '\t')
---- 3100,3115 ----
- var_redir_str(s, maxlen);
- #endif
-
-! /* Write and adjust the current column. */
- while (*s != NUL && (maxlen < 0 || (int)(s - str) < maxlen))
- {
- #ifdef FEAT_EVAL
-! if (!redir_reg && !redir_vname)
- #endif
-! if (redir_fd != NULL)
-! putc(*s, redir_fd);
-! if (verbose_fd != NULL)
-! putc(*s, verbose_fd);
- if (*s == '\r' || *s == '\n')
- cur_col = 0;
- else if (*s == '\t')
-***************
-*** 3122,3128 ****
- int
- redirecting()
- {
-! return redir_fd != NULL
- #ifdef FEAT_EVAL
- || redir_reg || redir_vname
- #endif
---- 3127,3133 ----
- int
- redirecting()
- {
-! return redir_fd != NULL || *p_vfile != NUL
- #ifdef FEAT_EVAL
- || redir_reg || redir_vname
- #endif
-***************
-*** 3180,3188 ****
- cmdline_row = msg_row;
- }
-
-- static FILE *verbose_fd = NULL;
-- static int verbose_did_open = FALSE;
--
- /*
- * Called when 'verbosefile' is set: stop writing to the file.
- */
---- 3185,3190 ----
-***************
-*** 3220,3268 ****
- }
-
- /*
-- * Write a string to 'verbosefile'.
-- * When "maxlen" is -1 write the whole string, otherwise up to "maxlen" bytes.
-- */
-- static void
-- verbose_write(str, maxlen)
-- char_u *str;
-- int maxlen;
-- {
-- char_u *s = str;
-- static int cur_col = 0;
--
-- /* Open the file when called the first time. */
-- if (verbose_fd == NULL)
-- verbose_open();
--
-- if (verbose_fd != NULL)
-- {
-- /* If the string doesn't start with CR or NL, go to msg_col */
-- if (*s != '\n' && *s != '\r')
-- {
-- while (cur_col < msg_col)
-- {
-- fputs(" ", verbose_fd);
-- ++cur_col;
-- }
-- }
--
-- /* Adjust the current column */
-- while (*s != NUL && (maxlen < 0 || (int)(s - str) < maxlen))
-- {
-- putc(*s, verbose_fd);
-- if (*s == '\r' || *s == '\n')
-- cur_col = 0;
-- else if (*s == '\t')
-- cur_col += (8 - cur_col % 8);
-- else
-- ++cur_col;
-- ++s;
-- }
-- }
-- }
--
-- /*
- * Give a warning message (for searching).
- * Use 'w' highlighting and may repeat the message after redrawing
- */
---- 3222,3227 ----
-*** ../vim-7.3.307/src/version.c 2011-09-14 15:01:54.000000000 +0200
---- src/version.c 2011-09-14 15:38:31.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 308,
- /**/
-
---
-The average life of an organization chart is six months. You can safely
-ignore any order from your boss that would take six months to complete.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.309 b/source/ap/vim/patches/7.3.309
deleted file mode 100644
index f274284bd..000000000
--- a/source/ap/vim/patches/7.3.309
+++ /dev/null
@@ -1,105 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.309
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.309 (after 7.3.307)
-Problem: Warnings for pointer types.
-Solution: Change PySliceObject to PyObject.
-Files: src/if_python3.c
-
-
-*** ../vim-7.3.308/src/if_python3.c 2011-09-14 15:01:54.000000000 +0200
---- src/if_python3.c 2011-09-14 15:30:45.000000000 +0200
-***************
-*** 1030,1036 ****
- } else if (PySlice_Check(idx)) {
- Py_ssize_t start, stop, step, slicelen;
-
-! if (PySlice_GetIndicesEx((PySliceObject *)idx,
- (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count+1,
- &start, &stop,
- &step, &slicelen) < 0) {
---- 1030,1036 ----
- } else if (PySlice_Check(idx)) {
- Py_ssize_t start, stop, step, slicelen;
-
-! if (PySlice_GetIndicesEx((PyObject *)idx,
- (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count+1,
- &start, &stop,
- &step, &slicelen) < 0) {
-***************
-*** 1054,1060 ****
- } else if (PySlice_Check(idx)) {
- Py_ssize_t start, stop, step, slicelen;
-
-! if (PySlice_GetIndicesEx((PySliceObject *)idx,
- (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count+1,
- &start, &stop,
- &step, &slicelen) < 0) {
---- 1054,1060 ----
- } else if (PySlice_Check(idx)) {
- Py_ssize_t start, stop, step, slicelen;
-
-! if (PySlice_GetIndicesEx((PyObject *)idx,
- (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count+1,
- &start, &stop,
- &step, &slicelen) < 0) {
-***************
-*** 1142,1148 ****
- } else if (PySlice_Check(idx)) {
- Py_ssize_t start, stop, step, slicelen;
-
-! if (PySlice_GetIndicesEx((PySliceObject *)idx,
- ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
- &start, &stop,
- &step, &slicelen) < 0) {
---- 1142,1148 ----
- } else if (PySlice_Check(idx)) {
- Py_ssize_t start, stop, step, slicelen;
-
-! if (PySlice_GetIndicesEx((PyObject *)idx,
- ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
- &start, &stop,
- &step, &slicelen) < 0) {
-***************
-*** 1164,1170 ****
- } else if (PySlice_Check(idx)) {
- Py_ssize_t start, stop, step, slicelen;
-
-! if (PySlice_GetIndicesEx((PySliceObject *)idx,
- ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
- &start, &stop,
- &step, &slicelen) < 0) {
---- 1164,1170 ----
- } else if (PySlice_Check(idx)) {
- Py_ssize_t start, stop, step, slicelen;
-
-! if (PySlice_GetIndicesEx((PyObject *)idx,
- ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
- &start, &stop,
- &step, &slicelen) < 0) {
-*** ../vim-7.3.308/src/version.c 2011-09-14 15:39:26.000000000 +0200
---- src/version.c 2011-09-14 15:40:17.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 309,
- /**/
-
---
-Never enter the boss's office unless it's absolutely necessary. Every boss
-saves one corner of the desk for useless assignments that are doled out like
-Halloween candy to each visitor.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.310 b/source/ap/vim/patches/7.3.310
deleted file mode 100644
index e3ffa5a4c..000000000
--- a/source/ap/vim/patches/7.3.310
+++ /dev/null
@@ -1,3524 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.310
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.310
-Problem: Code not following Vim style.
-Solution: Fix the style. (Elias Diem)
-Files: src/gui_photon.c
-
-
-*** ../vim-7.3.309/src/gui_photon.c 2011-09-07 19:08:57.000000000 +0200
---- src/gui_photon.c 2011-09-14 16:01:55.000000000 +0200
-***************
-*** 477,483 ****
- }
- #endif
-
-! for(i = 0; special_keys[i].key_sym != 0; i++)
- {
- if (special_keys[i].key_sym == key->key_cap)
- {
---- 477,483 ----
- }
- #endif
-
-! for (i = 0; special_keys[i].key_sym != 0; i++)
- {
- if (special_keys[i].key_sym == key->key_cap)
- {
-***************
-*** 758,764 ****
- if (damage->next != NULL)
- damage = damage->next;
-
-! while(damage != NULL)
- {
- r = &damage->rect;
- gui_redraw(
---- 758,764 ----
- if (damage->next != NULL)
- damage = damage->next;
-
-! while (damage != NULL)
- {
- r = &damage->rect;
- gui_redraw(
-***************
-*** 798,809 ****
-
- /* This is used for pulldown/popup menus and also toolbar buttons */
- static int
-! gui_ph_handle_menu( PtWidget_t *widget, void *data, PtCallbackInfo_t *info )
- {
-! if( data != NULL )
- {
- vimmenu_T *menu = (vimmenu_T *) data;
-! gui_menu_cb( menu );
- }
- return Pt_CONTINUE;
- }
---- 798,809 ----
-
- /* This is used for pulldown/popup menus and also toolbar buttons */
- static int
-! gui_ph_handle_menu(PtWidget_t *widget, void *data, PtCallbackInfo_t *info)
- {
-! if (data != NULL)
- {
- vimmenu_T *menu = (vimmenu_T *) data;
-! gui_menu_cb(menu);
- }
- return Pt_CONTINUE;
- }
-***************
-*** 813,821 ****
- gui_ph_handle_menu_unrealized(
- PtWidget_t *widget,
- void *data,
-! PtCallbackInfo_t *info )
- {
-! PtGiveFocus( gui.vimTextArea, NULL );
- return Pt_CONTINUE;
- }
-
---- 813,821 ----
- gui_ph_handle_menu_unrealized(
- PtWidget_t *widget,
- void *data,
-! PtCallbackInfo_t *info)
- {
-! PtGiveFocus(gui.vimTextArea, NULL);
- return Pt_CONTINUE;
- }
-
-***************
-*** 823,831 ****
- gui_ph_handle_window_open(
- PtWidget_t *widget,
- void *data,
-! PtCallbackInfo_t *info )
- {
-! gui_set_shellsize( FALSE, TRUE, RESIZE_BOTH );
- return Pt_CONTINUE;
- }
-
---- 823,831 ----
- gui_ph_handle_window_open(
- PtWidget_t *widget,
- void *data,
-! PtCallbackInfo_t *info)
- {
-! gui_set_shellsize(FALSE, TRUE, RESIZE_BOTH);
- return Pt_CONTINUE;
- }
-
-***************
-*** 836,909 ****
-
- /* TODO: Set a clipping rect? */
- static void
-! gui_ph_draw_start( void )
- {
- PhGC_t *gc;
-
- gc = PgGetGC();
-! PgSetRegion( PtWidgetRid( PtFindDisjoint( gui.vimTextArea ) ) );
-! PgClearClippingsCx( gc );
-! PgClearTranslationCx( gc );
-
-! PtWidgetOffset( gui.vimTextArea, &gui_ph_raw_offset );
-! PhTranslatePoint( &gui_ph_raw_offset, PtWidgetPos( gui.vimTextArea, NULL ) );
-
-! PgSetTranslation( &gui_ph_raw_offset, Pg_RELATIVE );
- }
-
- static void
-! gui_ph_draw_end( void )
- {
- gui_ph_raw_offset.x = -gui_ph_raw_offset.x;
- gui_ph_raw_offset.y = -gui_ph_raw_offset.y;
-! PgSetTranslation( &gui_ph_raw_offset, Pg_RELATIVE );
- }
-
- #ifdef USE_PANEL_GROUP
- static vimmenu_T *
-! gui_ph_find_buffer_item( char_u *name )
- {
- vimmenu_T *top_level = root_menu;
- vimmenu_T *items = NULL;
-
-! while( top_level != NULL &&
-! ( STRCMP( top_level->dname, "Buffers" ) != 0 ) )
- top_level = top_level->next;
-
-! if( top_level != NULL )
- {
- items = top_level->children;
-
-! while( items != NULL &&
-! ( STRCMP( items->dname, name ) != 0 ) )
- items = items->next;
- }
- return items;
- }
-
- static void
-! gui_ph_pg_set_buffer_num( int_u buf_num )
- {
- int i;
- char search[16];
- char *mark;
-
-! if( gui.vimTextArea == NULL || buf_num == 0 )
- return;
-
- search[0] = '(';
-! ultoa( buf_num, &search[1], 10 );
-! STRCAT( search, ")" );
-
-! for( i = 0; i < num_panels; i++ )
- {
- /* find the last "(" in the panel title and see if the buffer
- * number in the title matches the one we're looking for */
-! mark = STRRCHR( panel_titles[ i ], '(' );
-! if( mark != NULL && STRCMP( mark, search ) == 0 )
- {
-! PtSetResource( gui.vimPanelGroup, Pt_ARG_PG_CURRENT_INDEX,
-! i, 0 );
- }
- }
- }
---- 836,909 ----
-
- /* TODO: Set a clipping rect? */
- static void
-! gui_ph_draw_start(void)
- {
- PhGC_t *gc;
-
- gc = PgGetGC();
-! PgSetRegion(PtWidgetRid(PtFindDisjoint(gui.vimTextArea)));
-! PgClearClippingsCx(gc);
-! PgClearTranslationCx(gc);
-
-! PtWidgetOffset(gui.vimTextArea, &gui_ph_raw_offset);
-! PhTranslatePoint(&gui_ph_raw_offset, PtWidgetPos(gui.vimTextArea, NULL));
-
-! PgSetTranslation(&gui_ph_raw_offset, Pg_RELATIVE);
- }
-
- static void
-! gui_ph_draw_end(void)
- {
- gui_ph_raw_offset.x = -gui_ph_raw_offset.x;
- gui_ph_raw_offset.y = -gui_ph_raw_offset.y;
-! PgSetTranslation(&gui_ph_raw_offset, Pg_RELATIVE);
- }
-
- #ifdef USE_PANEL_GROUP
- static vimmenu_T *
-! gui_ph_find_buffer_item(char_u *name)
- {
- vimmenu_T *top_level = root_menu;
- vimmenu_T *items = NULL;
-
-! while (top_level != NULL &&
-! (STRCMP(top_level->dname, "Buffers") != 0))
- top_level = top_level->next;
-
-! if (top_level != NULL)
- {
- items = top_level->children;
-
-! while (items != NULL &&
-! (STRCMP(items->dname, name) != 0))
- items = items->next;
- }
- return items;
- }
-
- static void
-! gui_ph_pg_set_buffer_num(int_u buf_num)
- {
- int i;
- char search[16];
- char *mark;
-
-! if (gui.vimTextArea == NULL || buf_num == 0)
- return;
-
- search[0] = '(';
-! ultoa(buf_num, &search[1], 10);
-! STRCAT(search, ")");
-
-! for (i = 0; i < num_panels; i++)
- {
- /* find the last "(" in the panel title and see if the buffer
- * number in the title matches the one we're looking for */
-! mark = STRRCHR(panel_titles[ i ], '(');
-! if (mark != NULL && STRCMP(mark, search) == 0)
- {
-! PtSetResource(gui.vimPanelGroup, Pt_ARG_PG_CURRENT_INDEX,
-! i, 0);
- }
- }
- }
-***************
-*** 912,930 ****
- gui_ph_handle_pg_change(
- PtWidget_t *widget,
- void *data,
-! PtCallbackInfo_t *info )
- {
- vimmenu_T *menu;
- PtPanelGroupCallback_t *panel;
-
-! if( info->event != NULL )
- {
- panel = info->cbdata;
-! if( panel->new_panel != NULL )
- {
-! menu = gui_ph_find_buffer_item( panel->new_panel );
-! if( menu )
-! gui_menu_cb( menu );
- }
- }
- return Pt_CONTINUE;
---- 912,930 ----
- gui_ph_handle_pg_change(
- PtWidget_t *widget,
- void *data,
-! PtCallbackInfo_t *info)
- {
- vimmenu_T *menu;
- PtPanelGroupCallback_t *panel;
-
-! if (info->event != NULL)
- {
- panel = info->cbdata;
-! if (panel->new_panel != NULL)
- {
-! menu = gui_ph_find_buffer_item(panel->new_panel);
-! if (menu)
-! gui_menu_cb(menu);
- }
- }
- return Pt_CONTINUE;
-***************
-*** 935,951 ****
- short *top,
- short *bottom,
- short *left,
-! short *right )
- {
- unsigned short abs_raw_x, abs_raw_y, abs_panel_x, abs_panel_y;
- const unsigned short *margin_top, *margin_bottom;
- const unsigned short *margin_left, *margin_right;
-
-! PtGetAbsPosition( gui.vimTextArea, &abs_raw_x, &abs_raw_y );
-! PtGetAbsPosition( gui.vimPanelGroup, &abs_panel_x, &abs_panel_y );
-
-! PtGetResource( gui.vimPanelGroup, Pt_ARG_MARGIN_RIGHT, &margin_right, 0 );
-! PtGetResource( gui.vimPanelGroup, Pt_ARG_MARGIN_BOTTOM, &margin_bottom, 0 );
-
- abs_raw_x -= abs_panel_x;
- abs_raw_y -= abs_panel_y;
---- 935,951 ----
- short *top,
- short *bottom,
- short *left,
-! short *right)
- {
- unsigned short abs_raw_x, abs_raw_y, abs_panel_x, abs_panel_y;
- const unsigned short *margin_top, *margin_bottom;
- const unsigned short *margin_left, *margin_right;
-
-! PtGetAbsPosition(gui.vimTextArea, &abs_raw_x, &abs_raw_y);
-! PtGetAbsPosition(gui.vimPanelGroup, &abs_panel_x, &abs_panel_y);
-
-! PtGetResource(gui.vimPanelGroup, Pt_ARG_MARGIN_RIGHT, &margin_right, 0);
-! PtGetResource(gui.vimPanelGroup, Pt_ARG_MARGIN_BOTTOM, &margin_bottom, 0);
-
- abs_raw_x -= abs_panel_x;
- abs_raw_y -= abs_panel_y;
-***************
-*** 959,979 ****
-
- /* Used for the tabs for PtPanelGroup */
- static int
-! gui_ph_is_buffer_item( vimmenu_T *menu, vimmenu_T *parent )
- {
- char *mark;
-
-! if( STRCMP( parent->dname, "Buffers" ) == 0 )
- {
- /* Look for '(' digits ')' */
-! mark = vim_strchr( menu->dname, '(' );
-! if( mark != NULL )
- {
- mark++;
-! while( isdigit( *mark ) )
- mark++;
-
-! if( *mark == ')' )
- return TRUE;
- }
- }
---- 959,979 ----
-
- /* Used for the tabs for PtPanelGroup */
- static int
-! gui_ph_is_buffer_item(vimmenu_T *menu, vimmenu_T *parent)
- {
- char *mark;
-
-! if (STRCMP(parent->dname, "Buffers") == 0)
- {
- /* Look for '(' digits ')' */
-! mark = vim_strchr(menu->dname, '(');
-! if (mark != NULL)
- {
- mark++;
-! while (isdigit(*mark))
- mark++;
-
-! if (*mark == ')')
- return TRUE;
- }
- }
-***************
-*** 981,1043 ****
- }
-
- static void
-! gui_ph_pg_add_buffer(char *name )
- {
- char **new_titles = NULL;
-
-! new_titles = (char **) alloc( ( num_panels + 1 ) * sizeof( char ** ) );
-! if( new_titles != NULL )
- {
-! if( num_panels > 0 )
-! memcpy( new_titles, panel_titles, num_panels * sizeof( char ** ) );
-
- new_titles[ num_panels++ ] = name;
-
-! PtSetResource( gui.vimPanelGroup, Pt_ARG_PG_PANEL_TITLES, new_titles,
-! num_panels );
-
-! vim_free( panel_titles );
- panel_titles = new_titles;
- }
- }
-
- static void
-! gui_ph_pg_remove_buffer( char *name )
- {
- int i;
- char **new_titles = NULL;
-
- /* If there is only 1 panel, we just use the temporary place holder */
-! if( num_panels > 1 )
- {
-! new_titles = (char **) alloc( ( num_panels - 1 ) * sizeof( char ** ) );
-! if( new_titles != NULL )
- {
- char **s = new_titles;
- /* Copy all the titles except the one we're removing */
-! for( i = 0; i < num_panels; i++ )
- {
-! if( STRCMP( panel_titles[ i ], name ) != 0 )
- {
- *s++ = panel_titles[ i ];
- }
- }
- num_panels--;
-
-! PtSetResource( gui.vimPanelGroup, Pt_ARG_PG_PANEL_TITLES, new_titles,
-! num_panels );
-
-! vim_free( panel_titles );
- panel_titles = new_titles;
- }
- }
- else
- {
- num_panels--;
-! PtSetResource( gui.vimPanelGroup, Pt_ARG_PG_PANEL_TITLES, &empty_title,
-! 1 );
-
-! vim_free( panel_titles );
- panel_titles = NULL;
- }
- }
---- 981,1043 ----
- }
-
- static void
-! gui_ph_pg_add_buffer(char *name)
- {
- char **new_titles = NULL;
-
-! new_titles = (char **) alloc((num_panels + 1) * sizeof(char **));
-! if (new_titles != NULL)
- {
-! if (num_panels > 0)
-! memcpy(new_titles, panel_titles, num_panels * sizeof(char **));
-
- new_titles[ num_panels++ ] = name;
-
-! PtSetResource(gui.vimPanelGroup, Pt_ARG_PG_PANEL_TITLES, new_titles,
-! num_panels);
-
-! vim_free(panel_titles);
- panel_titles = new_titles;
- }
- }
-
- static void
-! gui_ph_pg_remove_buffer(char *name)
- {
- int i;
- char **new_titles = NULL;
-
- /* If there is only 1 panel, we just use the temporary place holder */
-! if (num_panels > 1)
- {
-! new_titles = (char **) alloc((num_panels - 1) * sizeof(char **));
-! if (new_titles != NULL)
- {
- char **s = new_titles;
- /* Copy all the titles except the one we're removing */
-! for (i = 0; i < num_panels; i++)
- {
-! if (STRCMP(panel_titles[ i ], name) != 0)
- {
- *s++ = panel_titles[ i ];
- }
- }
- num_panels--;
-
-! PtSetResource(gui.vimPanelGroup, Pt_ARG_PG_PANEL_TITLES, new_titles,
-! num_panels);
-
-! vim_free(panel_titles);
- panel_titles = new_titles;
- }
- }
- else
- {
- num_panels--;
-! PtSetResource(gui.vimPanelGroup, Pt_ARG_PG_PANEL_TITLES, &empty_title,
-! 1);
-
-! vim_free(panel_titles);
- panel_titles = NULL;
- }
- }
-***************
-*** 1047,1060 ****
- gui_ph_handle_buffer_remove(
- PtWidget_t *widget,
- void *data,
-! PtCallbackInfo_t *info )
- {
- vimmenu_T *menu;
-
-! if( data != NULL )
- {
- menu = (vimmenu_T *) data;
-! gui_ph_pg_remove_buffer( menu->dname );
- }
-
- return Pt_CONTINUE;
---- 1047,1060 ----
- gui_ph_handle_buffer_remove(
- PtWidget_t *widget,
- void *data,
-! PtCallbackInfo_t *info)
- {
- vimmenu_T *menu;
-
-! if (data != NULL)
- {
- menu = (vimmenu_T *) data;
-! gui_ph_pg_remove_buffer(menu->dname);
- }
-
- return Pt_CONTINUE;
-***************
-*** 1062,1074 ****
- #endif
-
- static int
-! gui_ph_pane_resize( PtWidget_t *widget, void *data, PtCallbackInfo_t *info )
- {
-! if( PtWidgetIsRealized( widget ) )
- {
- is_ignore_draw = TRUE;
-! PtStartFlux( gui.vimContainer );
-! PtContainerHold( gui.vimContainer );
- }
-
- return Pt_CONTINUE;
---- 1062,1074 ----
- #endif
-
- static int
-! gui_ph_pane_resize(PtWidget_t *widget, void *data, PtCallbackInfo_t *info)
- {
-! if (PtWidgetIsRealized(widget))
- {
- is_ignore_draw = TRUE;
-! PtStartFlux(gui.vimContainer);
-! PtContainerHold(gui.vimContainer);
- }
-
- return Pt_CONTINUE;
-***************
-*** 1078,1084 ****
-
- #ifdef FEAT_MBYTE
- void
-! gui_ph_encoding_changed( int new_encoding )
- {
- /* Default encoding is latin1 */
- char *charset = "latin1";
---- 1078,1084 ----
-
- #ifdef FEAT_MBYTE
- void
-! gui_ph_encoding_changed(int new_encoding)
- {
- /* Default encoding is latin1 */
- char *charset = "latin1";
-***************
-*** 1094,1106 ****
- { DBCS_CHS, "gb" }
- };
-
-! for( i = 0; i < ARRAY_LENGTH( charsets ); i++ )
- {
-! if( new_encoding == charsets[ i ].encoding )
- charset = charsets[ i ].name;
- }
-
-! charset_translate = PxTranslateSet( charset_translate, charset );
- }
- #endif
-
---- 1094,1106 ----
- { DBCS_CHS, "gb" }
- };
-
-! for (i = 0; i < ARRAY_LENGTH(charsets); i++)
- {
-! if (new_encoding == charsets[ i ].encoding)
- charset = charsets[ i ].name;
- }
-
-! charset_translate = PxTranslateSet(charset_translate, charset);
- }
- #endif
-
-***************
-*** 1112,1118 ****
- int *argc;
- char **argv;
- {
-! PtInit( NULL );
- }
-
- int
---- 1112,1118 ----
- int *argc;
- char **argv;
- {
-! PtInit(NULL);
- }
-
- int
-***************
-*** 1124,1213 ****
- PhDim_t window_size = {100, 100}; /* Arbitrary values */
- PhPoint_t pos = {0, 0};
-
-! gui.event_buffer = (PhEvent_t *) alloc( EVENT_BUFFER_SIZE );
-! if( gui.event_buffer == NULL )
- return FAIL;
-
- /* Get a translation so we can convert from ISO Latin-1 to UTF */
-! charset_translate = PxTranslateSet( NULL, "latin1" );
-
- /* The +2 is for the 1 pixel dark line on each side */
- gui.border_offset = gui.border_width = GUI_PH_MARGIN + 2;
-
- /* Handle close events ourselves */
-! PtSetArg( &args[ n++ ], Pt_ARG_WINDOW_MANAGED_FLAGS, Pt_FALSE, Ph_WM_CLOSE );
-! PtSetArg( &args[ n++ ], Pt_ARG_WINDOW_NOTIFY_FLAGS, Pt_TRUE,
-! Ph_WM_CLOSE | Ph_WM_RESIZE | Ph_WM_FOCUS );
-! PtSetArg( &args[ n++ ], Pt_ARG_DIM, &window_size, 0 );
-! gui.vimWindow = PtCreateWidget( PtWindow, NULL, n, args );
-! if( gui.vimWindow == NULL )
- return FAIL;
-
-! PtAddCallback( gui.vimWindow, Pt_CB_WINDOW, gui_ph_handle_window_cb, NULL );
-! PtAddCallback( gui.vimWindow, Pt_CB_WINDOW_OPENING,
-! gui_ph_handle_window_open, NULL );
-
- n = 0;
-! PtSetArg( &args[ n++ ], Pt_ARG_ANCHOR_FLAGS, Pt_ANCHOR_ALL, Pt_IS_ANCHORED );
-! PtSetArg( &args[ n++ ], Pt_ARG_DIM, &window_size, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_POS, &pos, 0 );
-
- #ifdef USE_PANEL_GROUP
- /* Put in a temprary place holder title */
-! PtSetArg( &args[ n++ ], Pt_ARG_PG_PANEL_TITLES, &empty_title, 1 );
-
-! gui.vimPanelGroup = PtCreateWidget( PtPanelGroup, gui.vimWindow, n, args );
-! if( gui.vimPanelGroup == NULL )
- return FAIL;
-
-! PtAddCallback( gui.vimPanelGroup, Pt_CB_PG_PANEL_SWITCHING,
-! gui_ph_handle_pg_change, NULL );
- #else
- /* Turn off all edge decorations */
-! PtSetArg( &args[ n++ ], Pt_ARG_BASIC_FLAGS, Pt_FALSE, Pt_ALL );
-! PtSetArg( &args[ n++ ], Pt_ARG_BEVEL_WIDTH, 0, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_MARGIN_WIDTH, 0, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_MARGIN_HEIGHT, 0, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_CONTAINER_FLAGS, Pt_TRUE, Pt_AUTO_EXTENT );
-
-! gui.vimContainer = PtCreateWidget( PtPane, gui.vimWindow, n, args );
-! if( gui.vimContainer == NULL )
- return FAIL;
-
-! PtAddCallback( gui.vimContainer, Pt_CB_RESIZE, gui_ph_pane_resize, NULL );
- #endif
-
- /* Size for the text area is set in gui_mch_set_text_area_pos */
- n = 0;
-
-! PtSetArg( &args[ n++ ], Pt_ARG_RAW_DRAW_F, gui_ph_handle_raw_draw, 1 );
-! PtSetArg( &args[ n++ ], Pt_ARG_BEVEL_WIDTH, GUI_PH_MARGIN, 0 );
- /*
- * Using focus render also causes the whole widget to be redrawn
- * whenever it changes focus, which is very annoying :p
- */
-! PtSetArg( &args[ n++ ], Pt_ARG_FLAGS, Pt_TRUE,
-! Pt_GETS_FOCUS | Pt_HIGHLIGHTED );
- #ifndef FEAT_MOUSESHAPE
-! PtSetArg( &args[ n++ ], Pt_ARG_CURSOR_TYPE, GUI_PH_MOUSE_TYPE, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_CURSOR_COLOR, gui_ph_mouse_color, 0 );
- #endif
-
-! gui.vimTextArea = PtCreateWidget( PtRaw, Pt_DFLT_PARENT, n, args );
-! if( gui.vimTextArea == NULL)
- return FAIL;
-
- /* TODO: use PtAddEventHandlers instead? */
- /* Not using Ph_EV_BUT_REPEAT because vim wouldn't use it anyway */
-! PtAddEventHandler( gui.vimTextArea,
- Ph_EV_BUT_PRESS | Ph_EV_BUT_RELEASE | Ph_EV_PTR_MOTION_BUTTON,
-! gui_ph_handle_mouse, NULL );
-! PtAddEventHandler( gui.vimTextArea, Ph_EV_KEY,
-! gui_ph_handle_keyboard, NULL );
-! PtAddCallback( gui.vimTextArea, Pt_CB_GOT_FOCUS,
-! gui_ph_handle_focus, NULL );
-! PtAddCallback( gui.vimTextArea, Pt_CB_LOST_FOCUS,
-! gui_ph_handle_focus, NULL );
-
- /*
- * Now that the text area widget has been created, set up the colours,
---- 1124,1213 ----
- PhDim_t window_size = {100, 100}; /* Arbitrary values */
- PhPoint_t pos = {0, 0};
-
-! gui.event_buffer = (PhEvent_t *) alloc(EVENT_BUFFER_SIZE);
-! if (gui.event_buffer == NULL)
- return FAIL;
-
- /* Get a translation so we can convert from ISO Latin-1 to UTF */
-! charset_translate = PxTranslateSet(NULL, "latin1");
-
- /* The +2 is for the 1 pixel dark line on each side */
- gui.border_offset = gui.border_width = GUI_PH_MARGIN + 2;
-
- /* Handle close events ourselves */
-! PtSetArg(&args[ n++ ], Pt_ARG_WINDOW_MANAGED_FLAGS, Pt_FALSE, Ph_WM_CLOSE);
-! PtSetArg(&args[ n++ ], Pt_ARG_WINDOW_NOTIFY_FLAGS, Pt_TRUE,
-! Ph_WM_CLOSE | Ph_WM_RESIZE | Ph_WM_FOCUS);
-! PtSetArg(&args[ n++ ], Pt_ARG_DIM, &window_size, 0);
-! gui.vimWindow = PtCreateWidget(PtWindow, NULL, n, args);
-! if (gui.vimWindow == NULL)
- return FAIL;
-
-! PtAddCallback(gui.vimWindow, Pt_CB_WINDOW, gui_ph_handle_window_cb, NULL);
-! PtAddCallback(gui.vimWindow, Pt_CB_WINDOW_OPENING,
-! gui_ph_handle_window_open, NULL);
-
- n = 0;
-! PtSetArg(&args[ n++ ], Pt_ARG_ANCHOR_FLAGS, Pt_ANCHOR_ALL, Pt_IS_ANCHORED);
-! PtSetArg(&args[ n++ ], Pt_ARG_DIM, &window_size, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_POS, &pos, 0);
-
- #ifdef USE_PANEL_GROUP
- /* Put in a temprary place holder title */
-! PtSetArg(&args[ n++ ], Pt_ARG_PG_PANEL_TITLES, &empty_title, 1);
-
-! gui.vimPanelGroup = PtCreateWidget(PtPanelGroup, gui.vimWindow, n, args);
-! if (gui.vimPanelGroup == NULL)
- return FAIL;
-
-! PtAddCallback(gui.vimPanelGroup, Pt_CB_PG_PANEL_SWITCHING,
-! gui_ph_handle_pg_change, NULL);
- #else
- /* Turn off all edge decorations */
-! PtSetArg(&args[ n++ ], Pt_ARG_BASIC_FLAGS, Pt_FALSE, Pt_ALL);
-! PtSetArg(&args[ n++ ], Pt_ARG_BEVEL_WIDTH, 0, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_MARGIN_WIDTH, 0, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_MARGIN_HEIGHT, 0, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_CONTAINER_FLAGS, Pt_TRUE, Pt_AUTO_EXTENT);
-
-! gui.vimContainer = PtCreateWidget(PtPane, gui.vimWindow, n, args);
-! if (gui.vimContainer == NULL)
- return FAIL;
-
-! PtAddCallback(gui.vimContainer, Pt_CB_RESIZE, gui_ph_pane_resize, NULL);
- #endif
-
- /* Size for the text area is set in gui_mch_set_text_area_pos */
- n = 0;
-
-! PtSetArg(&args[ n++ ], Pt_ARG_RAW_DRAW_F, gui_ph_handle_raw_draw, 1);
-! PtSetArg(&args[ n++ ], Pt_ARG_BEVEL_WIDTH, GUI_PH_MARGIN, 0);
- /*
- * Using focus render also causes the whole widget to be redrawn
- * whenever it changes focus, which is very annoying :p
- */
-! PtSetArg(&args[ n++ ], Pt_ARG_FLAGS, Pt_TRUE,
-! Pt_GETS_FOCUS | Pt_HIGHLIGHTED);
- #ifndef FEAT_MOUSESHAPE
-! PtSetArg(&args[ n++ ], Pt_ARG_CURSOR_TYPE, GUI_PH_MOUSE_TYPE, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_CURSOR_COLOR, gui_ph_mouse_color, 0);
- #endif
-
-! gui.vimTextArea = PtCreateWidget(PtRaw, Pt_DFLT_PARENT, n, args);
-! if (gui.vimTextArea == NULL)
- return FAIL;
-
- /* TODO: use PtAddEventHandlers instead? */
- /* Not using Ph_EV_BUT_REPEAT because vim wouldn't use it anyway */
-! PtAddEventHandler(gui.vimTextArea,
- Ph_EV_BUT_PRESS | Ph_EV_BUT_RELEASE | Ph_EV_PTR_MOTION_BUTTON,
-! gui_ph_handle_mouse, NULL);
-! PtAddEventHandler(gui.vimTextArea, Ph_EV_KEY,
-! gui_ph_handle_keyboard, NULL);
-! PtAddCallback(gui.vimTextArea, Pt_CB_GOT_FOCUS,
-! gui_ph_handle_focus, NULL);
-! PtAddCallback(gui.vimTextArea, Pt_CB_LOST_FOCUS,
-! gui_ph_handle_focus, NULL);
-
- /*
- * Now that the text area widget has been created, set up the colours,
-***************
-*** 1218,1278 ****
- * Create the two timers, not as accurate as using the kernel timer
- * functions, but good enough
- */
-! gui_ph_timer_cursor = PtCreateWidget( PtTimer, gui.vimWindow, 0, NULL );
-! if( gui_ph_timer_cursor == NULL )
- return FAIL;
-
-! gui_ph_timer_timeout = PtCreateWidget( PtTimer, gui.vimWindow, 0, NULL );
-! if( gui_ph_timer_timeout == NULL )
- return FAIL;
-
-! PtAddCallback( gui_ph_timer_cursor, Pt_CB_TIMER_ACTIVATE,
- gui_ph_handle_timer_cursor, NULL);
-! PtAddCallback( gui_ph_timer_timeout, Pt_CB_TIMER_ACTIVATE,
- gui_ph_handle_timer_timeout, NULL);
-
- #ifdef FEAT_MENU
- n = 0;
-! PtSetArg( &args[ n++ ], Pt_ARG_WIDTH, window_size.w, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_ANCHOR_FLAGS, Pt_ANCHOR_LEFT_RIGHT,
-! Pt_IS_ANCHORED );
-! gui.vimToolBarGroup = PtCreateWidget( PtToolbarGroup, gui.vimWindow,
-! n, args );
-! if( gui.vimToolBarGroup == NULL )
- return FAIL;
-
-! PtAddCallback( gui.vimToolBarGroup, Pt_CB_RESIZE,
-! gui_ph_handle_menu_resize, NULL );
-
- n = 0;
- flags = 0;
-! PtSetArg( &args[ n++ ], Pt_ARG_WIDTH, window_size.w, 0 );
-! if( ! vim_strchr( p_go, GO_MENUS ) )
- {
- flags |= Pt_DELAY_REALIZE;
-! PtSetArg( &args[ n++ ], Pt_ARG_FLAGS, Pt_TRUE, flags );
- }
-! gui.vimMenuBar = PtCreateWidget( PtMenuBar, gui.vimToolBarGroup, n, args );
-! if( gui.vimMenuBar == NULL )
- return FAIL;
-
- # ifdef FEAT_TOOLBAR
- n = 0;
-
-! PtSetArg( &args[ n++ ], Pt_ARG_ANCHOR_FLAGS,
-! Pt_ANCHOR_LEFT_RIGHT |Pt_TOP_ANCHORED_TOP, Pt_IS_ANCHORED );
-! PtSetArg( &args[ n++ ], Pt_ARG_RESIZE_FLAGS, Pt_TRUE,
-! Pt_RESIZE_Y_AS_REQUIRED );
-! PtSetArg( &args[ n++ ], Pt_ARG_WIDTH, window_size.w, 0 );
-
- flags = Pt_GETS_FOCUS;
-! if( ! vim_strchr( p_go, GO_TOOLBAR ) )
- flags |= Pt_DELAY_REALIZE;
-
-! PtSetArg( &args[ n++ ], Pt_ARG_FLAGS, Pt_DELAY_REALIZE, flags );
-
-! gui.vimToolBar = PtCreateWidget( PtToolbar, gui.vimToolBarGroup, n, args );
-! if( gui.vimToolBar == NULL )
- return FAIL;
-
- /*
---- 1218,1278 ----
- * Create the two timers, not as accurate as using the kernel timer
- * functions, but good enough
- */
-! gui_ph_timer_cursor = PtCreateWidget(PtTimer, gui.vimWindow, 0, NULL);
-! if (gui_ph_timer_cursor == NULL)
- return FAIL;
-
-! gui_ph_timer_timeout = PtCreateWidget(PtTimer, gui.vimWindow, 0, NULL);
-! if (gui_ph_timer_timeout == NULL)
- return FAIL;
-
-! PtAddCallback(gui_ph_timer_cursor, Pt_CB_TIMER_ACTIVATE,
- gui_ph_handle_timer_cursor, NULL);
-! PtAddCallback(gui_ph_timer_timeout, Pt_CB_TIMER_ACTIVATE,
- gui_ph_handle_timer_timeout, NULL);
-
- #ifdef FEAT_MENU
- n = 0;
-! PtSetArg(&args[ n++ ], Pt_ARG_WIDTH, window_size.w, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_ANCHOR_FLAGS, Pt_ANCHOR_LEFT_RIGHT,
-! Pt_IS_ANCHORED);
-! gui.vimToolBarGroup = PtCreateWidget(PtToolbarGroup, gui.vimWindow,
-! n, args);
-! if (gui.vimToolBarGroup == NULL)
- return FAIL;
-
-! PtAddCallback(gui.vimToolBarGroup, Pt_CB_RESIZE,
-! gui_ph_handle_menu_resize, NULL);
-
- n = 0;
- flags = 0;
-! PtSetArg(&args[ n++ ], Pt_ARG_WIDTH, window_size.w, 0);
-! if (! vim_strchr(p_go, GO_MENUS))
- {
- flags |= Pt_DELAY_REALIZE;
-! PtSetArg(&args[ n++ ], Pt_ARG_FLAGS, Pt_TRUE, flags);
- }
-! gui.vimMenuBar = PtCreateWidget(PtMenuBar, gui.vimToolBarGroup, n, args);
-! if (gui.vimMenuBar == NULL)
- return FAIL;
-
- # ifdef FEAT_TOOLBAR
- n = 0;
-
-! PtSetArg(&args[ n++ ], Pt_ARG_ANCHOR_FLAGS,
-! Pt_ANCHOR_LEFT_RIGHT |Pt_TOP_ANCHORED_TOP, Pt_IS_ANCHORED);
-! PtSetArg(&args[ n++ ], Pt_ARG_RESIZE_FLAGS, Pt_TRUE,
-! Pt_RESIZE_Y_AS_REQUIRED);
-! PtSetArg(&args[ n++ ], Pt_ARG_WIDTH, window_size.w, 0);
-
- flags = Pt_GETS_FOCUS;
-! if (! vim_strchr(p_go, GO_TOOLBAR))
- flags |= Pt_DELAY_REALIZE;
-
-! PtSetArg(&args[ n++ ], Pt_ARG_FLAGS, Pt_DELAY_REALIZE, flags);
-
-! gui.vimToolBar = PtCreateWidget(PtToolbar, gui.vimToolBarGroup, n, args);
-! if (gui.vimToolBar == NULL)
- return FAIL;
-
- /*
-***************
-*** 1310,1329 ****
- if (gui_win_x != -1 && gui_win_y != -1)
- gui_mch_set_winpos(gui_win_x, gui_win_y);
-
-! return (PtRealizeWidget( gui.vimWindow ) == 0) ? OK : FAIL;
- }
-
- void
- gui_mch_exit(int rc)
- {
-! PtDestroyWidget( gui.vimWindow );
-
-! PxTranslateSet( charset_translate, NULL );
-
-! vim_free( gui.event_buffer );
-
- #ifdef USE_PANEL_GROUPS
-! vim_free( panel_titles );
- #endif
- }
-
---- 1310,1329 ----
- if (gui_win_x != -1 && gui_win_y != -1)
- gui_mch_set_winpos(gui_win_x, gui_win_y);
-
-! return (PtRealizeWidget(gui.vimWindow) == 0) ? OK : FAIL;
- }
-
- void
- gui_mch_exit(int rc)
- {
-! PtDestroyWidget(gui.vimWindow);
-
-! PxTranslateSet(charset_translate, NULL);
-
-! vim_free(gui.event_buffer);
-
- #ifdef USE_PANEL_GROUPS
-! vim_free(panel_titles);
- #endif
- }
-
-***************
-*** 1333,1339 ****
- /* When no events are available, photon will call this function, working is
- * set to FALSE, and the gui_mch_update loop will exit. */
- static int
-! exit_gui_mch_update( void *data )
- {
- *(int *)data = FALSE;
- return Pt_END;
---- 1333,1339 ----
- /* When no events are available, photon will call this function, working is
- * set to FALSE, and the gui_mch_update loop will exit. */
- static int
-! exit_gui_mch_update(void *data)
- {
- *(int *)data = FALSE;
- return Pt_END;
-***************
-*** 1344,1351 ****
- {
- int working = TRUE;
-
-! PtAppAddWorkProc( NULL, exit_gui_mch_update, &working );
-! while( ( working == TRUE ) && !vim_is_input_buf_full())
- {
- PtProcessEvent();
- }
---- 1344,1351 ----
- {
- int working = TRUE;
-
-! PtAppAddWorkProc(NULL, exit_gui_mch_update, &working);
-! while ((working == TRUE) && !vim_is_input_buf_full())
- {
- PtProcessEvent();
- }
-***************
-*** 1356,1378 ****
- {
- is_timeout = FALSE;
-
-! if( wtime > 0 )
-! PtSetResource( gui_ph_timer_timeout, Pt_ARG_TIMER_INITIAL, wtime, 0 );
-
-! while( 1 )
- {
- PtProcessEvent();
-! if( input_available() )
- {
-! PtSetResource( gui_ph_timer_timeout, Pt_ARG_TIMER_INITIAL, 0, 0 );
- return OK;
- }
-! else if( is_timeout == TRUE )
- return FAIL;
- }
- }
-
-! #if defined( FEAT_BROWSE ) || defined( PROTO )
- /*
- * Put up a file requester.
- * Returns the selected name in allocated memory, or NULL for Cancel.
---- 1356,1378 ----
- {
- is_timeout = FALSE;
-
-! if (wtime > 0)
-! PtSetResource(gui_ph_timer_timeout, Pt_ARG_TIMER_INITIAL, wtime, 0);
-
-! while (1)
- {
- PtProcessEvent();
-! if (input_available())
- {
-! PtSetResource(gui_ph_timer_timeout, Pt_ARG_TIMER_INITIAL, 0, 0);
- return OK;
- }
-! else if (is_timeout == TRUE)
- return FAIL;
- }
- }
-
-! #if defined(FEAT_BROWSE) || defined(PROTO)
- /*
- * Put up a file requester.
- * Returns the selected name in allocated memory, or NULL for Cancel.
-***************
-*** 1398,1409 ****
- char_u *open_text = NULL;
-
- flags = 0;
-! memset( &file, 0, sizeof( file ) );
-
-! default_path = alloc( MAXPATHL + 1 + NAME_MAX + 1 );
-! if( default_path != NULL )
- {
-! if( saving == TRUE )
- {
- /* Don't need Pt_FSR_CONFIRM_EXISTING, vim will ask anyway */
- flags |= Pt_FSR_NO_FCHECK;
---- 1398,1409 ----
- char_u *open_text = NULL;
-
- flags = 0;
-! memset(&file, 0, sizeof(file));
-
-! default_path = alloc(MAXPATHL + 1 + NAME_MAX + 1);
-! if (default_path != NULL)
- {
-! if (saving == TRUE)
- {
- /* Don't need Pt_FSR_CONFIRM_EXISTING, vim will ask anyway */
- flags |= Pt_FSR_NO_FCHECK;
-***************
-*** 1411,1433 ****
- }
-
- /* combine the directory and filename into a single path */
-! if( initdir == NULL || *initdir == NUL )
- {
-! mch_dirname( default_path, MAXPATHL );
- initdir = default_path;
- }
- else
- {
-! STRCPY( default_path, initdir );
- initdir = default_path;
- }
-
-! if( default_name != NULL )
- {
-! if( default_path[ STRLEN( default_path ) - 1 ] != '/' )
-! STRCAT( default_path, "/" );
-
-! STRCAT( default_path, default_name );
- }
-
- /* TODO: add a filter? */
---- 1411,1433 ----
- }
-
- /* combine the directory and filename into a single path */
-! if (initdir == NULL || *initdir == NUL)
- {
-! mch_dirname(default_path, MAXPATHL);
- initdir = default_path;
- }
- else
- {
-! STRCPY(default_path, initdir);
- initdir = default_path;
- }
-
-! if (default_name != NULL)
- {
-! if (default_path[ STRLEN(default_path) - 1 ] != '/')
-! STRCAT(default_path, "/");
-
-! STRCAT(default_path, default_name);
- }
-
- /* TODO: add a filter? */
-***************
-*** 1441,1495 ****
- NULL,
- NULL,
- &file,
-! flags );
-
-! vim_free( default_path );
-
-! if( file.ret == Pt_FSDIALOG_BTN1 )
- return vim_strsave(file.path);
- }
- return NULL;
- }
- #endif
-
-! #if defined( FEAT_GUI_DIALOG ) || defined( PROTO )
- static PtWidget_t *gui_ph_dialog_text = NULL;
-
- static int
-! gui_ph_dialog_close( int button, void *data )
- {
- PtModalCtrl_t *modal_ctrl = data;
- char_u *dialog_text, *vim_text;
-
-! if( gui_ph_dialog_text != NULL )
- {
-! PtGetResource( gui_ph_dialog_text, Pt_ARG_TEXT_STRING, &dialog_text, 0 );
-! PtGetResource( gui_ph_dialog_text, Pt_ARG_POINTER, &vim_text, 0 );
-! STRNCPY( vim_text, dialog_text, IOSIZE - 1 );
- }
-
-! PtModalUnblock( modal_ctrl, (void *) button );
-
- return Pt_TRUE;
- }
-
- static int
-! gui_ph_dialog_text_enter( PtWidget_t *widget, void *data, PtCallbackInfo_t *info )
- {
-! if( info->reason_subtype == Pt_EDIT_ACTIVATE )
-! gui_ph_dialog_close( 1, data );
- return Pt_CONTINUE;
- }
-
- static int
-! gui_ph_dialog_esc( PtWidget_t *widget, void *data, PtCallbackInfo_t *info )
- {
- PhKeyEvent_t *key;
-
-! key = PhGetData( info->event );
-! if( ( key->key_flags & Pk_KF_Cap_Valid ) && ( key->key_cap == Pk_Escape ) )
- {
-! gui_ph_dialog_close( 0, data );
- return Pt_CONSUME;
- }
- return Pt_PROCESS;
---- 1441,1495 ----
- NULL,
- NULL,
- &file,
-! flags);
-
-! vim_free(default_path);
-
-! if (file.ret == Pt_FSDIALOG_BTN1)
- return vim_strsave(file.path);
- }
- return NULL;
- }
- #endif
-
-! #if defined(FEAT_GUI_DIALOG) || defined(PROTO)
- static PtWidget_t *gui_ph_dialog_text = NULL;
-
- static int
-! gui_ph_dialog_close(int button, void *data)
- {
- PtModalCtrl_t *modal_ctrl = data;
- char_u *dialog_text, *vim_text;
-
-! if (gui_ph_dialog_text != NULL)
- {
-! PtGetResource(gui_ph_dialog_text, Pt_ARG_TEXT_STRING, &dialog_text, 0);
-! PtGetResource(gui_ph_dialog_text, Pt_ARG_POINTER, &vim_text, 0);
-! STRNCPY(vim_text, dialog_text, IOSIZE - 1);
- }
-
-! PtModalUnblock(modal_ctrl, (void *) button);
-
- return Pt_TRUE;
- }
-
- static int
-! gui_ph_dialog_text_enter(PtWidget_t *widget, void *data, PtCallbackInfo_t *info)
- {
-! if (info->reason_subtype == Pt_EDIT_ACTIVATE)
-! gui_ph_dialog_close(1, data);
- return Pt_CONTINUE;
- }
-
- static int
-! gui_ph_dialog_esc(PtWidget_t *widget, void *data, PtCallbackInfo_t *info)
- {
- PhKeyEvent_t *key;
-
-! key = PhGetData(info->event);
-! if ((key->key_flags & Pk_KF_Cap_Valid) && (key->key_cap == Pk_Escape))
- {
-! gui_ph_dialog_close(0, data);
- return Pt_CONSUME;
- }
- return Pt_PROCESS;
-***************
-*** 1518,1557 ****
-
- button_count = len = i = 0;
-
-! if( buttons == NULL || *buttons == NUL )
- return -1;
-
- /* There is one less separator than buttons, so bump up the button count */
- button_count = 1;
-
- /* Count string length and number of seperators */
-! for( str = buttons; *str; str++ )
- {
- len++;
-! if( *str == DLG_BUTTON_SEP )
- button_count++;
- }
-
-! if ( title == NULL )
- title = "Vim";
-
-! buttons_copy = alloc( len + 1 );
-! button_array = (char_u **) alloc( button_count * sizeof( char_u * ) );
-! if( buttons_copy != NULL && button_array != NULL )
- {
-! STRCPY( buttons_copy, buttons );
-
- /*
- * Convert DLG_BUTTON_SEP into NUL's and fill in
- * button_array with the pointer to each NUL terminated string
- */
- str = buttons_copy;
-! for( i = 0; i < button_count; i++ )
- {
- button_array[ i ] = str;
-! for( ; *str; str++ )
- {
-! if( *str == DLG_BUTTON_SEP )
- {
- *str++ = NUL;
- break;
---- 1518,1557 ----
-
- button_count = len = i = 0;
-
-! if (buttons == NULL || *buttons == NUL)
- return -1;
-
- /* There is one less separator than buttons, so bump up the button count */
- button_count = 1;
-
- /* Count string length and number of seperators */
-! for (str = buttons; *str; str++)
- {
- len++;
-! if (*str == DLG_BUTTON_SEP)
- button_count++;
- }
-
-! if (title == NULL)
- title = "Vim";
-
-! buttons_copy = alloc(len + 1);
-! button_array = (char_u **) alloc(button_count * sizeof(char_u *));
-! if (buttons_copy != NULL && button_array != NULL)
- {
-! STRCPY(buttons_copy, buttons);
-
- /*
- * Convert DLG_BUTTON_SEP into NUL's and fill in
- * button_array with the pointer to each NUL terminated string
- */
- str = buttons_copy;
-! for (i = 0; i < button_count; i++)
- {
- button_array[ i ] = str;
-! for (; *str; str++)
- {
-! if (*str == DLG_BUTTON_SEP)
- {
- *str++ = NUL;
- break;
-***************
-*** 1565,1571 ****
- NULL,
- message, NULL,
- button_count, (const char **) button_array, NULL,
-! default_button, 0, Pt_MODAL );
- #else
- /* Writing the dialog ourselves lets us add extra features, like
- * trapping the escape key and returning 0 to vim */
---- 1565,1571 ----
- NULL,
- message, NULL,
- button_count, (const char **) button_array, NULL,
-! default_button, 0, Pt_MODAL);
- #else
- /* Writing the dialog ourselves lets us add extra features, like
- * trapping the escape key and returning 0 to vim */
-***************
-*** 1576,1607 ****
- PtModalCtrl_t modal_ctrl;
- PtDialogInfo_t di;
-
-! memset( &di, 0, sizeof( di ) );
-! memset( &modal_ctrl, 0, sizeof( modal_ctrl ) );
-
- n = 0;
-! PtSetArg( &args[n++], Pt_ARG_GROUP_ROWS_COLS, 0, 0 );
-! PtSetArg( &args[n++], Pt_ARG_WIDTH, 350, 0 );
-! PtSetArg( &args[n++], Pt_ARG_GROUP_ORIENTATION,
-! Pt_GROUP_VERTICAL, 0 );
-! PtSetArg( &args[n++], Pt_ARG_GROUP_FLAGS,
-! Pt_TRUE, Pt_GROUP_NO_KEYS | Pt_GROUP_STRETCH_HORIZONTAL );
-! PtSetArg( &args[n++], Pt_ARG_CONTAINER_FLAGS, Pt_FALSE, Pt_TRUE );
-! pane = PtCreateWidget( PtGroup, NULL, n, args );
-
- n = 0;
-! PtSetArg( &args[n++], Pt_ARG_TEXT_STRING, message, 0 );
-! PtCreateWidget( PtLabel, pane, n, args );
-
-! if( textfield != NULL )
- {
- n = 0;
-! PtSetArg( &args[n++], Pt_ARG_MAX_LENGTH, IOSIZE - 1, 0 );
-! PtSetArg( &args[n++], Pt_ARG_TEXT_STRING, textfield, 0 );
-! PtSetArg( &args[n++], Pt_ARG_POINTER, textfield, 0 );
-! gui_ph_dialog_text = PtCreateWidget( PtText, pane, n, args );
-! PtAddCallback( gui_ph_dialog_text, Pt_CB_ACTIVATE,
-! gui_ph_dialog_text_enter, &modal_ctrl );
- }
-
- di.parent = gui.vimWindow;
---- 1576,1607 ----
- PtModalCtrl_t modal_ctrl;
- PtDialogInfo_t di;
-
-! memset(&di, 0, sizeof(di));
-! memset(&modal_ctrl, 0, sizeof(modal_ctrl));
-
- n = 0;
-! PtSetArg(&args[n++], Pt_ARG_GROUP_ROWS_COLS, 0, 0);
-! PtSetArg(&args[n++], Pt_ARG_WIDTH, 350, 0);
-! PtSetArg(&args[n++], Pt_ARG_GROUP_ORIENTATION,
-! Pt_GROUP_VERTICAL, 0);
-! PtSetArg(&args[n++], Pt_ARG_GROUP_FLAGS,
-! Pt_TRUE, Pt_GROUP_NO_KEYS | Pt_GROUP_STRETCH_HORIZONTAL);
-! PtSetArg(&args[n++], Pt_ARG_CONTAINER_FLAGS, Pt_FALSE, Pt_TRUE);
-! pane = PtCreateWidget(PtGroup, NULL, n, args);
-
- n = 0;
-! PtSetArg(&args[n++], Pt_ARG_TEXT_STRING, message, 0);
-! PtCreateWidget(PtLabel, pane, n, args);
-
-! if (textfield != NULL)
- {
- n = 0;
-! PtSetArg(&args[n++], Pt_ARG_MAX_LENGTH, IOSIZE - 1, 0);
-! PtSetArg(&args[n++], Pt_ARG_TEXT_STRING, textfield, 0);
-! PtSetArg(&args[n++], Pt_ARG_POINTER, textfield, 0);
-! gui_ph_dialog_text = PtCreateWidget(PtText, pane, n, args);
-! PtAddCallback(gui_ph_dialog_text, Pt_CB_ACTIVATE,
-! gui_ph_dialog_text_enter, &modal_ctrl);
- }
-
- di.parent = gui.vimWindow;
-***************
-*** 1616,1641 ****
- di.callback = gui_ph_dialog_close;
- di.data = &modal_ctrl;
-
-! dialog = PtCreateDialog( &di );
-! PtAddFilterCallback( dialog, Ph_EV_KEY,
-! gui_ph_dialog_esc, &modal_ctrl );
-
-! if( gui_ph_dialog_text != NULL )
-! PtGiveFocus( gui_ph_dialog_text, NULL );
-
- /* Open dialog, block the vim window and wait for the dialog to close */
-! PtRealizeWidget( dialog );
-! PtMakeModal( dialog, Ph_CURSOR_NOINPUT, Ph_CURSOR_DEFAULT_COLOR );
-! dialog_result = (int) PtModalBlock( &modal_ctrl, 0 );
-
-! PtDestroyWidget( dialog );
- gui_ph_dialog_text = NULL;
- }
- #endif
- }
-
-! vim_free( button_array );
-! vim_free( buttons_copy );
-
- return dialog_result;
- }
---- 1616,1641 ----
- di.callback = gui_ph_dialog_close;
- di.data = &modal_ctrl;
-
-! dialog = PtCreateDialog(&di);
-! PtAddFilterCallback(dialog, Ph_EV_KEY,
-! gui_ph_dialog_esc, &modal_ctrl);
-
-! if (gui_ph_dialog_text != NULL)
-! PtGiveFocus(gui_ph_dialog_text, NULL);
-
- /* Open dialog, block the vim window and wait for the dialog to close */
-! PtRealizeWidget(dialog);
-! PtMakeModal(dialog, Ph_CURSOR_NOINPUT, Ph_CURSOR_DEFAULT_COLOR);
-! dialog_result = (int) PtModalBlock(&modal_ctrl, 0);
-
-! PtDestroyWidget(dialog);
- gui_ph_dialog_text = NULL;
- }
- #endif
- }
-
-! vim_free(button_array);
-! vim_free(buttons_copy);
-
- return dialog_result;
- }
-***************
-*** 1648,1654 ****
- {
- PhPoint_t *pos;
-
-! pos = PtWidgetPos( gui.vimWindow, NULL );
-
- *x = pos->x;
- *y = pos->y;
---- 1648,1654 ----
- {
- PhPoint_t *pos;
-
-! pos = PtWidgetPos(gui.vimWindow, NULL);
-
- *x = pos->x;
- *y = pos->y;
-***************
-*** 1661,1667 ****
- {
- PhPoint_t pos = { x, y };
-
-! PtSetResource( gui.vimWindow, Pt_ARG_POS, &pos, 0 );
- }
-
- void
---- 1661,1667 ----
- {
- PhPoint_t pos = { x, y };
-
-! PtSetResource(gui.vimWindow, Pt_ARG_POS, &pos, 0);
- }
-
- void
-***************
-*** 1677,1686 ****
- window_size.h += pg_margin_top + pg_margin_bottom;
- #endif
-
-! PtSetResource( gui.vimWindow, Pt_ARG_MINIMUM_DIM, &min_size, 0 );
-! PtSetResource( gui.vimWindow, Pt_ARG_DIM, &window_size, 0 );
-
-! if( ! PtWidgetIsRealized( gui.vimWindow ) )
- gui_ph_resize_container();
- }
-
---- 1677,1686 ----
- window_size.h += pg_margin_top + pg_margin_bottom;
- #endif
-
-! PtSetResource(gui.vimWindow, Pt_ARG_MINIMUM_DIM, &min_size, 0);
-! PtSetResource(gui.vimWindow, Pt_ARG_DIM, &window_size, 0);
-
-! if (! PtWidgetIsRealized(gui.vimWindow))
- gui_ph_resize_container();
- }
-
-***************
-*** 1693,1700 ****
- {
- PhRect_t console;
-
-! PhWindowQueryVisible( Ph_QUERY_WORKSPACE, 0,
-! PhInputGroup( NULL ), &console );
-
- *screen_w = console.lr.x - console.ul.x + 1;
- *screen_h = console.lr.y - console.ul.y + 1;
---- 1693,1700 ----
- {
- PhRect_t console;
-
-! PhWindowQueryVisible(Ph_QUERY_WORKSPACE, 0,
-! PhInputGroup(NULL), &console);
-
- *screen_w = console.lr.x - console.ul.x + 1;
- *screen_h = console.lr.y - console.ul.y + 1;
-***************
-*** 1705,1715 ****
- {
- PhWindowEvent_t event;
-
-! memset( &event, 0, sizeof (event) );
- event.event_f = Ph_WM_HIDE;
- event.event_state = Ph_WM_EVSTATE_HIDE;
-! event.rid = PtWidgetRid( gui.vimWindow );
-! PtForwardWindowEvent( &event );
- }
-
- #if defined(FEAT_EVAL) || defined(PROTO)
---- 1705,1715 ----
- {
- PhWindowEvent_t event;
-
-! memset(&event, 0, sizeof (event));
- event.event_f = Ph_WM_HIDE;
- event.event_state = Ph_WM_EVSTATE_HIDE;
-! event.rid = PtWidgetRid(gui.vimWindow);
-! PtForwardWindowEvent(&event);
- }
-
- #if defined(FEAT_EVAL) || defined(PROTO)
-***************
-*** 1721,1731 ****
- {
- PhWindowEvent_t event;
-
-! memset( &event, 0, sizeof (event) );
- event.event_f = Ph_WM_TOFRONT;
- event.event_state = Ph_WM_EVSTATE_FFRONT;
-! event.rid = PtWidgetRid( gui.vimWindow );
-! PtForwardWindowEvent( &event );
- }
- #endif
-
---- 1721,1731 ----
- {
- PhWindowEvent_t event;
-
-! memset(&event, 0, sizeof (event));
- event.event_f = Ph_WM_TOFRONT;
- event.event_state = Ph_WM_EVSTATE_FFRONT;
-! event.rid = PtWidgetRid(gui.vimWindow);
-! PtForwardWindowEvent(&event);
- }
- #endif
-
-***************
-*** 1733,1741 ****
- gui_mch_settitle(char_u *title, char_u *icon)
- {
- #ifdef USE_PANEL_GROUP
-! gui_ph_pg_set_buffer_num( curwin->w_buffer->b_fnum );
- #endif
-! PtSetResource( gui.vimWindow, Pt_ARG_WINDOW_TITLE, title, 0 );
- /* Not sure what to do with the icon text, set balloon text somehow? */
- }
-
---- 1733,1741 ----
- gui_mch_settitle(char_u *title, char_u *icon)
- {
- #ifdef USE_PANEL_GROUP
-! gui_ph_pg_set_buffer_num(curwin->w_buffer->b_fnum);
- #endif
-! PtSetResource(gui.vimWindow, Pt_ARG_WINDOW_TITLE, title, 0);
- /* Not sure what to do with the icon text, set balloon text somehow? */
- }
-
-***************
-*** 1748,1757 ****
- int n = 0;
- PtArg_t args[3];
-
-! PtSetArg( &args[ n++ ], Pt_ARG_MAXIMUM, max, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_SLIDER_SIZE, size, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_GAUGE_VALUE, val, 0 );
-! PtSetResources( sb->id, n, args );
- }
-
- void
---- 1748,1757 ----
- int n = 0;
- PtArg_t args[3];
-
-! PtSetArg(&args[ n++ ], Pt_ARG_MAXIMUM, max, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_SLIDER_SIZE, size, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_GAUGE_VALUE, val, 0);
-! PtSetResources(sb->id, n, args);
- }
-
- void
-***************
-*** 1759,1765 ****
- {
- PhArea_t area = {{ x, y }, { w, h }};
-
-! PtSetResource( sb->id, Pt_ARG_AREA, &area, 0 );
- }
-
- void
---- 1759,1765 ----
- {
- PhArea_t area = {{ x, y }, { w, h }};
-
-! PtSetResource(sb->id, Pt_ARG_AREA, &area, 0);
- }
-
- void
-***************
-*** 1775,1786 ****
- *
- * Also, don't let the scrollbar get focus
- */
-! PtSetArg( &args[ n++ ], Pt_ARG_FLAGS, Pt_DELAY_REALIZE,
-! Pt_DELAY_REALIZE | Pt_GETS_FOCUS );
-! PtSetArg( &args[ n++ ], Pt_ARG_SCROLLBAR_FLAGS, Pt_SCROLLBAR_SHOW_ARROWS, 0);
- #if 0
- /* Don't need this anchoring for the scrollbars */
-! if( orient == SBAR_HORIZ )
- {
- anchor_flags = Pt_BOTTOM_ANCHORED_BOTTOM |
- Pt_LEFT_ANCHORED_LEFT | Pt_RIGHT_ANCHORED_RIGHT;
---- 1775,1786 ----
- *
- * Also, don't let the scrollbar get focus
- */
-! PtSetArg(&args[ n++ ], Pt_ARG_FLAGS, Pt_DELAY_REALIZE,
-! Pt_DELAY_REALIZE | Pt_GETS_FOCUS);
-! PtSetArg(&args[ n++ ], Pt_ARG_SCROLLBAR_FLAGS, Pt_SCROLLBAR_SHOW_ARROWS, 0);
- #if 0
- /* Don't need this anchoring for the scrollbars */
-! if (orient == SBAR_HORIZ)
- {
- anchor_flags = Pt_BOTTOM_ANCHORED_BOTTOM |
- Pt_LEFT_ANCHORED_LEFT | Pt_RIGHT_ANCHORED_RIGHT;
-***************
-*** 1788,1827 ****
- else
- {
- anchor_flags = Pt_BOTTOM_ANCHORED_BOTTOM | Pt_TOP_ANCHORED_TOP;
-! if( sb->wp != NULL )
- {
-! if( sb == &sb->wp->w_scrollbars[ SBAR_LEFT ] )
- anchor_flags |= Pt_LEFT_ANCHORED_LEFT;
- else
- anchor_flags |= Pt_RIGHT_ANCHORED_RIGHT;
- }
- }
-! PtSetArg( &args[ n++ ], Pt_ARG_ANCHOR_FLAGS, anchor_flags, Pt_IS_ANCHORED );
- #endif
-! PtSetArg( &args[ n++ ], Pt_ARG_ORIENTATION,
-! (orient == SBAR_HORIZ) ? Pt_HORIZONTAL : Pt_VERTICAL, 0 );
- #ifdef USE_PANEL_GROUP
-! sb->id = PtCreateWidget( PtScrollbar, gui.vimPanelGroup, n, args );
- #else
-! sb->id = PtCreateWidget( PtScrollbar, gui.vimContainer, n, args );
- #endif
-
-! PtAddCallback( sb->id, Pt_CB_SCROLLBAR_MOVE, gui_ph_handle_scrollbar, sb );
- }
-
- void
- gui_mch_enable_scrollbar(scrollbar_T *sb, int flag)
- {
-! if( flag != 0 )
-! PtRealizeWidget( sb->id );
- else
-! PtUnrealizeWidget( sb->id );
- }
-
- void
- gui_mch_destroy_scrollbar(scrollbar_T *sb)
- {
-! PtDestroyWidget( sb->id );
- sb->id = NULL;
- }
-
---- 1788,1827 ----
- else
- {
- anchor_flags = Pt_BOTTOM_ANCHORED_BOTTOM | Pt_TOP_ANCHORED_TOP;
-! if (sb->wp != NULL)
- {
-! if (sb == &sb->wp->w_scrollbars[ SBAR_LEFT ])
- anchor_flags |= Pt_LEFT_ANCHORED_LEFT;
- else
- anchor_flags |= Pt_RIGHT_ANCHORED_RIGHT;
- }
- }
-! PtSetArg(&args[ n++ ], Pt_ARG_ANCHOR_FLAGS, anchor_flags, Pt_IS_ANCHORED);
- #endif
-! PtSetArg(&args[ n++ ], Pt_ARG_ORIENTATION,
-! (orient == SBAR_HORIZ) ? Pt_HORIZONTAL : Pt_VERTICAL, 0);
- #ifdef USE_PANEL_GROUP
-! sb->id = PtCreateWidget(PtScrollbar, gui.vimPanelGroup, n, args);
- #else
-! sb->id = PtCreateWidget(PtScrollbar, gui.vimContainer, n, args);
- #endif
-
-! PtAddCallback(sb->id, Pt_CB_SCROLLBAR_MOVE, gui_ph_handle_scrollbar, sb);
- }
-
- void
- gui_mch_enable_scrollbar(scrollbar_T *sb, int flag)
- {
-! if (flag != 0)
-! PtRealizeWidget(sb->id);
- else
-! PtUnrealizeWidget(sb->id);
- }
-
- void
- gui_mch_destroy_scrollbar(scrollbar_T *sb)
- {
-! PtDestroyWidget(sb->id);
- sb->id = NULL;
- }
-
-***************
-*** 1866,1873 ****
- return;
-
- if (shape == MSHAPE_HIDE || gui.pointer_hidden)
-! PtSetResource( gui.vimTextArea, Pt_ARG_CURSOR_TYPE, Ph_CURSOR_NONE,
-! 0 );
- else
- {
- if (shape >= MSHAPE_NUMBERED)
---- 1866,1873 ----
- return;
-
- if (shape == MSHAPE_HIDE || gui.pointer_hidden)
-! PtSetResource(gui.vimTextArea, Pt_ARG_CURSOR_TYPE, Ph_CURSOR_NONE,
-! 0);
- else
- {
- if (shape >= MSHAPE_NUMBERED)
-***************
-*** 1875,1881 ****
- else
- id = mshape_ids[shape];
-
-! PtSetResource( gui.vimTextArea, Pt_ARG_CURSOR_TYPE, id, 0 );
- }
- if (shape != MSHAPE_HIDE)
- last_shape = shape;
---- 1875,1881 ----
- else
- id = mshape_ids[shape];
-
-! PtSetResource(gui.vimTextArea, Pt_ARG_CURSOR_TYPE, id, 0);
- }
- if (shape != MSHAPE_HIDE)
- last_shape = shape;
-***************
-*** 1885,1903 ****
- void
- gui_mch_mousehide(int hide)
- {
-! if( gui.pointer_hidden != hide )
- {
- gui.pointer_hidden = hide;
- #ifdef FEAT_MOUSESHAPE
-! if( hide )
-! PtSetResource( gui.vimTextArea, Pt_ARG_CURSOR_TYPE,
-! Ph_CURSOR_NONE, 0 );
- else
-! mch_set_mouse_shape( last_shape );
- #else
-! PtSetResource( gui.vimTextArea, Pt_ARG_CURSOR_TYPE,
-! ( hide == MOUSE_SHOW ) ? GUI_PH_MOUSE_TYPE : Ph_CURSOR_NONE,
-! 0 );
- #endif
- }
- }
---- 1885,1903 ----
- void
- gui_mch_mousehide(int hide)
- {
-! if (gui.pointer_hidden != hide)
- {
- gui.pointer_hidden = hide;
- #ifdef FEAT_MOUSESHAPE
-! if (hide)
-! PtSetResource(gui.vimTextArea, Pt_ARG_CURSOR_TYPE,
-! Ph_CURSOR_NONE, 0);
- else
-! mch_set_mouse_shape(last_shape);
- #else
-! PtSetResource(gui.vimTextArea, Pt_ARG_CURSOR_TYPE,
-! (hide == MOUSE_SHOW) ? GUI_PH_MOUSE_TYPE : Ph_CURSOR_NONE,
-! 0);
- #endif
- }
- }
-***************
-*** 1910,1917 ****
-
- /* FIXME: does this return the correct position,
- * with respect to the border? */
-! PhQueryCursor( PhInputGroup( NULL ), &info );
-! PtGetAbsPosition( gui.vimTextArea , &ix, &iy );
-
- *x = info.pos.x - ix;
- *y = info.pos.y - iy;
---- 1910,1917 ----
-
- /* FIXME: does this return the correct position,
- * with respect to the border? */
-! PhQueryCursor(PhInputGroup(NULL), &info);
-! PtGetAbsPosition(gui.vimTextArea , &ix, &iy);
-
- *x = info.pos.x - ix;
- *y = info.pos.y - iy;
-***************
-*** 1922,1930 ****
- {
- short abs_x, abs_y;
-
-! PtGetAbsPosition( gui.vimTextArea, &abs_x, &abs_y );
- /* Add the border offset? */
-! PhMoveCursorAbs( PhInputGroup( NULL ), abs_x + x, abs_y + y );
- }
-
- /****************************************************************************/
---- 1922,1930 ----
- {
- short abs_x, abs_y;
-
-! PtGetAbsPosition(gui.vimTextArea, &abs_x, &abs_y);
- /* Add the border offset? */
-! PhMoveCursorAbs(PhInputGroup(NULL), abs_x + x, abs_y + y);
- }
-
- /****************************************************************************/
-***************
-*** 1952,1974 ****
- color_diff = gui_get_lightness(gui_ph_mouse_color)
- - gui_get_lightness(gui.back_pixel);
-
-! if( abs( color_diff ) < 64 )
- {
- short r, g, b;
- /* not a great algorithm... */
-! r = PgRedValue( gui_ph_mouse_color ) ^ 255;
-! g = PgGreenValue( gui_ph_mouse_color ) ^ 255;
-! b = PgBlueValue( gui_ph_mouse_color ) ^ 255;
-
- #ifndef FEAT_MOUSESHAPE
-! gui_ph_mouse_color = PgRGB( r, g, b );
-! PtSetResource( gui.vimTextArea, Pt_ARG_CURSOR_COLOR,
-! gui_ph_mouse_color, 0 );
- #endif
- }
- #endif
-
-! PtSetResource( gui.vimTextArea, Pt_ARG_FILL_COLOR, gui.back_pixel, 0 );
- }
-
- static int
---- 1952,1974 ----
- color_diff = gui_get_lightness(gui_ph_mouse_color)
- - gui_get_lightness(gui.back_pixel);
-
-! if (abs(color_diff) < 64)
- {
- short r, g, b;
- /* not a great algorithm... */
-! r = PgRedValue(gui_ph_mouse_color) ^ 255;
-! g = PgGreenValue(gui_ph_mouse_color) ^ 255;
-! b = PgBlueValue(gui_ph_mouse_color) ^ 255;
-
- #ifndef FEAT_MOUSESHAPE
-! gui_ph_mouse_color = PgRGB(r, g, b);
-! PtSetResource(gui.vimTextArea, Pt_ARG_CURSOR_COLOR,
-! gui_ph_mouse_color, 0);
- #endif
- }
- #endif
-
-! PtSetResource(gui.vimTextArea, Pt_ARG_FILL_COLOR, gui.back_pixel, 0);
- }
-
- static int
-***************
-*** 2058,2076 ****
- };
-
- /* is name #rrggbb format? */
-! if( name[0] == '#' && STRLEN( name ) == 7 )
- {
-! r = hex_digit( name[1] ) * 16 + hex_digit( name[2] );
-! g = hex_digit( name[3] ) * 16 + hex_digit( name[4] );
-! b = hex_digit( name[5] ) * 16 + hex_digit( name[6] );
-! if( r < 0 || g < 0 || b < 0 )
- return INVALCOLOR;
- return RGB(r, g, b);
- }
-
-! for( i = 0; i < ARRAY_LENGTH( table ); i++ )
- {
-! if( STRICMP( name, table[i].name ) == 0 )
- return table[i].colour;
- }
-
---- 2058,2076 ----
- };
-
- /* is name #rrggbb format? */
-! if (name[0] == '#' && STRLEN(name) == 7)
- {
-! r = hex_digit(name[1]) * 16 + hex_digit(name[2]);
-! g = hex_digit(name[3]) * 16 + hex_digit(name[4]);
-! b = hex_digit(name[5]) * 16 + hex_digit(name[6]);
-! if (r < 0 || g < 0 || b < 0)
- return INVALCOLOR;
- return RGB(r, g, b);
- }
-
-! for (i = 0; i < ARRAY_LENGTH(table); i++)
- {
-! if (STRICMP(name, table[i].name) == 0)
- return table[i].colour;
- }
-
-***************
-*** 2129,2141 ****
- void
- gui_mch_set_fg_color(guicolor_T color)
- {
-! PgSetTextColor( color );
- }
-
- void
- gui_mch_set_bg_color(guicolor_T color)
- {
-! PgSetFillColor( color );
- }
-
- void
---- 2129,2141 ----
- void
- gui_mch_set_fg_color(guicolor_T color)
- {
-! PgSetTextColor(color);
- }
-
- void
- gui_mch_set_bg_color(guicolor_T color)
- {
-! PgSetFillColor(color);
- }
-
- void
-***************
-*** 2148,2168 ****
- {
- PhRect_t rect;
-
-! rect.ul.x = FILL_X( col );
-! rect.ul.y = FILL_Y( row );
-
- /* FIXME: This has an off by one pixel problem */
- rect.lr.x = rect.ul.x + nc * gui.char_width;
- rect.lr.y = rect.ul.y + nr * gui.char_height;
-! if( nc > 0 )
- rect.lr.x -= 1;
-! if( nr > 0 )
- rect.lr.y -= 1;
-
- DRAW_START;
-! PgSetDrawMode( Pg_DrawModeDSTINVERT );
-! PgDrawRect( &rect, Pg_DRAW_FILL );
-! PgSetDrawMode( Pg_DrawModeSRCCOPY );
- DRAW_END;
- }
-
---- 2148,2168 ----
- {
- PhRect_t rect;
-
-! rect.ul.x = FILL_X(col);
-! rect.ul.y = FILL_Y(row);
-
- /* FIXME: This has an off by one pixel problem */
- rect.lr.x = rect.ul.x + nc * gui.char_width;
- rect.lr.y = rect.ul.y + nr * gui.char_height;
-! if (nc > 0)
- rect.lr.x -= 1;
-! if (nr > 0)
- rect.lr.y -= 1;
-
- DRAW_START;
-! PgSetDrawMode(Pg_DrawModeDSTINVERT);
-! PgDrawRect(&rect, Pg_DRAW_FILL);
-! PgSetDrawMode(Pg_DrawModeSRCCOPY);
- DRAW_END;
- }
-
-***************
-*** 2170,2182 ****
- gui_mch_clear_block(int row1, int col1, int row2, int col2)
- {
- PhRect_t block = {
-! { FILL_X( col1 ), FILL_Y( row1 ) },
-! { FILL_X( col2 + 1 ) - 1, FILL_Y( row2 + 1 ) - 1}
- };
-
- DRAW_START;
-! gui_mch_set_bg_color( gui.back_pixel );
-! PgDrawRect( &block, Pg_DRAW_FILL );
- DRAW_END;
- }
-
---- 2170,2182 ----
- gui_mch_clear_block(int row1, int col1, int row2, int col2)
- {
- PhRect_t block = {
-! { FILL_X(col1), FILL_Y(row1) },
-! { FILL_X(col2 + 1) - 1, FILL_Y(row2 + 1) - 1}
- };
-
- DRAW_START;
-! gui_mch_set_bg_color(gui.back_pixel);
-! PgDrawRect(&block, Pg_DRAW_FILL);
- DRAW_END;
- }
-
-***************
-*** 2189,2200 ****
- Rows * gui.char_height + gui.border_width - 1 }
- };
-
-! if( is_ignore_draw == TRUE )
- return;
-
- DRAW_START;
-! gui_mch_set_bg_color( gui.back_pixel );
-! PgDrawRect( &text_rect, Pg_DRAW_FILL );
- DRAW_END;
- }
-
---- 2189,2200 ----
- Rows * gui.char_height + gui.border_width - 1 }
- };
-
-! if (is_ignore_draw == TRUE)
- return;
-
- DRAW_START;
-! gui_mch_set_bg_color(gui.back_pixel);
-! PgDrawRect(&text_rect, Pg_DRAW_FILL);
- DRAW_END;
- }
-
-***************
-*** 2204,2231 ****
- PhRect_t rect;
- PhPoint_t delta;
-
-! rect.ul.x = FILL_X( gui.scroll_region_left );
-! rect.ul.y = FILL_Y( row + num_lines );
-
-! rect.lr.x = FILL_X( gui.scroll_region_right + 1 ) - 1;
-! rect.lr.y = FILL_Y( gui.scroll_region_bot + 1) - 1;
-
-! PtWidgetOffset( gui.vimTextArea, &gui_ph_raw_offset );
-! PhTranslatePoint( &gui_ph_raw_offset, PtWidgetPos(gui.vimTextArea, NULL));
-! PhTranslateRect( &rect, &gui_ph_raw_offset );
-
- delta.x = 0;
- delta.y = -num_lines * gui.char_height;
-
- PgFlush();
-
-! PhBlit( PtWidgetRid( PtFindDisjoint( gui.vimTextArea ) ), &rect, &delta );
-
- gui_clear_block(
- gui.scroll_region_bot - num_lines + 1,
- gui.scroll_region_left,
- gui.scroll_region_bot,
-! gui.scroll_region_right );
- }
-
- void
---- 2204,2231 ----
- PhRect_t rect;
- PhPoint_t delta;
-
-! rect.ul.x = FILL_X(gui.scroll_region_left);
-! rect.ul.y = FILL_Y(row + num_lines);
-
-! rect.lr.x = FILL_X(gui.scroll_region_right + 1) - 1;
-! rect.lr.y = FILL_Y(gui.scroll_region_bot + 1) - 1;
-
-! PtWidgetOffset(gui.vimTextArea, &gui_ph_raw_offset);
-! PhTranslatePoint(&gui_ph_raw_offset, PtWidgetPos(gui.vimTextArea, NULL));
-! PhTranslateRect(&rect, &gui_ph_raw_offset);
-
- delta.x = 0;
- delta.y = -num_lines * gui.char_height;
-
- PgFlush();
-
-! PhBlit(PtWidgetRid(PtFindDisjoint(gui.vimTextArea)), &rect, &delta);
-
- gui_clear_block(
- gui.scroll_region_bot - num_lines + 1,
- gui.scroll_region_left,
- gui.scroll_region_bot,
-! gui.scroll_region_right);
- }
-
- void
-***************
-*** 2234,2258 ****
- PhRect_t rect;
- PhPoint_t delta;
-
-! rect.ul.x = FILL_X( gui.scroll_region_left );
-! rect.ul.y = FILL_Y( row );
-
-! rect.lr.x = FILL_X( gui.scroll_region_right + 1 ) - 1;
-! rect.lr.y = FILL_Y( gui.scroll_region_bot - num_lines + 1 ) - 1;
-
-! PtWidgetOffset( gui.vimTextArea, &gui_ph_raw_offset );
-! PhTranslatePoint( &gui_ph_raw_offset, PtWidgetPos( gui.vimTextArea, NULL ) );
-! PhTranslateRect( &rect, &gui_ph_raw_offset );
-
- delta.x = 0;
- delta.y = num_lines * gui.char_height;
-
- PgFlush();
-
-! PhBlit( PtWidgetRid( PtFindDisjoint( gui.vimTextArea ) ) , &rect, &delta );
-
-! gui_clear_block( row, gui.scroll_region_left,
-! row + num_lines - 1, gui.scroll_region_right );
- }
-
- void
---- 2234,2258 ----
- PhRect_t rect;
- PhPoint_t delta;
-
-! rect.ul.x = FILL_X(gui.scroll_region_left);
-! rect.ul.y = FILL_Y(row);
-
-! rect.lr.x = FILL_X(gui.scroll_region_right + 1) - 1;
-! rect.lr.y = FILL_Y(gui.scroll_region_bot - num_lines + 1) - 1;
-
-! PtWidgetOffset(gui.vimTextArea, &gui_ph_raw_offset);
-! PhTranslatePoint(&gui_ph_raw_offset, PtWidgetPos(gui.vimTextArea, NULL));
-! PhTranslateRect(&rect, &gui_ph_raw_offset);
-
- delta.x = 0;
- delta.y = num_lines * gui.char_height;
-
- PgFlush();
-
-! PhBlit(PtWidgetRid(PtFindDisjoint(gui.vimTextArea)) , &rect, &delta);
-
-! gui_clear_block(row, gui.scroll_region_left,
-! row + num_lines - 1, gui.scroll_region_right);
- }
-
- void
-***************
-*** 2261,2297 ****
- static char *utf8_buffer = NULL;
- static int utf8_len = 0;
-
-! PhPoint_t pos = { TEXT_X( col ), TEXT_Y( row ) };
- PhRect_t rect;
-
-! if( is_ignore_draw == TRUE )
- return;
-
- DRAW_START;
-
-! if( !( flags & DRAW_TRANSP ) )
- {
- PgDrawIRect(
-! FILL_X( col ), FILL_Y( row ),
-! FILL_X( col + len ) - 1, FILL_Y( row + 1 ) - 1,
-! Pg_DRAW_FILL );
- }
-
-! if( flags & DRAW_UNDERL )
-! PgSetUnderline( gui.norm_pixel, Pg_TRANSPARENT, 0 );
-
-! if( charset_translate != NULL
- #ifdef FEAT_MBYTE
- && enc_utf8 == 0
- #endif
-! )
- {
- int src_taken, dst_made;
-
- /* Use a static buffer to avoid large amounts of de/allocations */
-! if( utf8_len < len )
- {
-! utf8_buffer = realloc( utf8_buffer, len * MB_LEN_MAX );
- utf8_len = len;
- }
-
---- 2261,2297 ----
- static char *utf8_buffer = NULL;
- static int utf8_len = 0;
-
-! PhPoint_t pos = { TEXT_X(col), TEXT_Y(row) };
- PhRect_t rect;
-
-! if (is_ignore_draw == TRUE)
- return;
-
- DRAW_START;
-
-! if (!(flags & DRAW_TRANSP))
- {
- PgDrawIRect(
-! FILL_X(col), FILL_Y(row),
-! FILL_X(col + len) - 1, FILL_Y(row + 1) - 1,
-! Pg_DRAW_FILL);
- }
-
-! if (flags & DRAW_UNDERL)
-! PgSetUnderline(gui.norm_pixel, Pg_TRANSPARENT, 0);
-
-! if (charset_translate != NULL
- #ifdef FEAT_MBYTE
- && enc_utf8 == 0
- #endif
-! )
- {
- int src_taken, dst_made;
-
- /* Use a static buffer to avoid large amounts of de/allocations */
-! if (utf8_len < len)
- {
-! utf8_buffer = realloc(utf8_buffer, len * MB_LEN_MAX);
- utf8_len = len;
- }
-
-***************
-*** 2302,2337 ****
- &src_taken,
- utf8_buffer,
- utf8_len,
-! &dst_made );
- s = utf8_buffer;
- len = dst_made;
- }
-
-! PgDrawText( s, len, &pos, 0 );
-
-! if( flags & DRAW_BOLD )
- {
- /* FIXME: try and only calculate these values once... */
-! rect.ul.x = FILL_X( col ) + 1;
-! rect.ul.y = FILL_Y( row );
-! rect.lr.x = FILL_X( col + len ) - 1;
-! rect.lr.y = FILL_Y( row + 1) - 1;
-! /* PgSetUserClip( NULL ) causes the scrollbar to not redraw... */
- #if 0
- pos.x++;
-
-! PgSetUserClip( &rect );
-! PgDrawText( s, len, &pos, 0 );
-! PgSetUserClip( NULL );
- #else
-! rect.lr.y -= ( p_linespace + 1 ) / 2;
- /* XXX: DrawTextArea doesn't work with phditto */
-! PgDrawTextArea( s, len, &rect, Pg_TEXT_BOTTOM );
- #endif
- }
-
-! if( flags & DRAW_UNDERL )
-! PgSetUnderline( Pg_TRANSPARENT, Pg_TRANSPARENT, 0 );
-
- DRAW_END;
- }
---- 2302,2337 ----
- &src_taken,
- utf8_buffer,
- utf8_len,
-! &dst_made);
- s = utf8_buffer;
- len = dst_made;
- }
-
-! PgDrawText(s, len, &pos, 0);
-
-! if (flags & DRAW_BOLD)
- {
- /* FIXME: try and only calculate these values once... */
-! rect.ul.x = FILL_X(col) + 1;
-! rect.ul.y = FILL_Y(row);
-! rect.lr.x = FILL_X(col + len) - 1;
-! rect.lr.y = FILL_Y(row + 1) - 1;
-! /* PgSetUserClip(NULL) causes the scrollbar to not redraw... */
- #if 0
- pos.x++;
-
-! PgSetUserClip(&rect);
-! PgDrawText(s, len, &pos, 0);
-! PgSetUserClip(NULL);
- #else
-! rect.lr.y -= (p_linespace + 1) / 2;
- /* XXX: DrawTextArea doesn't work with phditto */
-! PgDrawTextArea(s, len, &rect, Pg_TEXT_BOTTOM);
- #endif
- }
-
-! if (flags & DRAW_UNDERL)
-! PgSetUnderline(Pg_TRANSPARENT, Pg_TRANSPARENT, 0);
-
- DRAW_END;
- }
-***************
-*** 2346,2359 ****
-
- /* FIXME: Double width characters */
-
-! r.ul.x = FILL_X( gui.col );
-! r.ul.y = FILL_Y( gui.row );
- r.lr.x = r.ul.x + gui.char_width - 1;
- r.lr.y = r.ul.y + gui.char_height - 1;
-
- DRAW_START;
-! PgSetStrokeColor( color );
-! PgDrawRect( &r, Pg_DRAW_STROKE );
- DRAW_END;
- }
-
---- 2346,2359 ----
-
- /* FIXME: Double width characters */
-
-! r.ul.x = FILL_X(gui.col);
-! r.ul.y = FILL_Y(gui.row);
- r.lr.x = r.ul.x + gui.char_width - 1;
- r.lr.y = r.ul.y + gui.char_height - 1;
-
- DRAW_START;
-! PgSetStrokeColor(color);
-! PgDrawRect(&r, Pg_DRAW_STROKE);
- DRAW_END;
- }
-
-***************
-*** 2362,2375 ****
- {
- PhRect_t r;
-
-! r.ul.x = FILL_X( gui.col );
-! r.ul.y = FILL_Y( gui.row ) + gui.char_height - h;
- r.lr.x = r.ul.x + w - 1;
- r.lr.y = r.ul.y + h - 1;
-
- DRAW_START;
-! gui_mch_set_bg_color( color );
-! PgDrawRect( &r, Pg_DRAW_FILL );
- DRAW_END;
- }
-
---- 2362,2375 ----
- {
- PhRect_t r;
-
-! r.ul.x = FILL_X(gui.col);
-! r.ul.y = FILL_Y(gui.row) + gui.char_height - h;
- r.lr.x = r.ul.x + w - 1;
- r.lr.y = r.ul.y + h - 1;
-
- DRAW_START;
-! gui_mch_set_bg_color(color);
-! PgDrawRect(&r, Pg_DRAW_FILL);
- DRAW_END;
- }
-
-***************
-*** 2385,2394 ****
- gui_mch_start_blink(void)
- {
- /* Only turn on the timer on if none of the times are zero */
-! if( blink_waittime && blink_ontime && blink_offtime && gui.in_focus)
- {
-! PtSetResource( gui_ph_timer_cursor, Pt_ARG_TIMER_INITIAL,
-! blink_waittime, 0 );
- blink_state = BLINK_ON;
- gui_update_cursor(TRUE, FALSE);
- }
---- 2385,2394 ----
- gui_mch_start_blink(void)
- {
- /* Only turn on the timer on if none of the times are zero */
-! if (blink_waittime && blink_ontime && blink_offtime && gui.in_focus)
- {
-! PtSetResource(gui_ph_timer_cursor, Pt_ARG_TIMER_INITIAL,
-! blink_waittime, 0);
- blink_state = BLINK_ON;
- gui_update_cursor(TRUE, FALSE);
- }
-***************
-*** 2397,2405 ****
- void
- gui_mch_stop_blink(void)
- {
-! PtSetResource( gui_ph_timer_cursor, Pt_ARG_TIMER_INITIAL, 0, 0 );
-
-! if( blink_state == BLINK_OFF )
- gui_update_cursor(TRUE, FALSE);
-
- blink_state = BLINK_NONE;
---- 2397,2405 ----
- void
- gui_mch_stop_blink(void)
- {
-! PtSetResource(gui_ph_timer_cursor, Pt_ARG_TIMER_INITIAL, 0, 0);
-
-! if (blink_state == BLINK_OFF)
- gui_update_cursor(TRUE, FALSE);
-
- blink_state = BLINK_NONE;
-***************
-*** 2417,2431 ****
- void
- gui_mch_flash(int msec)
- {
-! PgSetFillXORColor( Pg_BLACK, Pg_WHITE );
-! PgSetDrawMode( Pg_DRAWMODE_XOR );
- gui_mch_clear_all();
- gui_mch_flush();
-
-! ui_delay( (long) msec, TRUE );
-
- gui_mch_clear_all();
-! PgSetDrawMode( Pg_DRAWMODE_OPAQUE );
- gui_mch_flush();
- }
-
---- 2417,2431 ----
- void
- gui_mch_flash(int msec)
- {
-! PgSetFillXORColor(Pg_BLACK, Pg_WHITE);
-! PgSetDrawMode(Pg_DRAWMODE_XOR);
- gui_mch_clear_all();
- gui_mch_flush();
-
-! ui_delay((long) msec, TRUE);
-
- gui_mch_clear_all();
-! PgSetDrawMode(Pg_DRAWMODE_OPAQUE);
- gui_mch_flush();
- }
-
-***************
-*** 2440,2446 ****
- {
- PhArea_t area = {{x, y}, {w, h}};
-
-! PtSetResource( gui.vimTextArea, Pt_ARG_AREA, &area, 0 );
- }
-
- int
---- 2440,2446 ----
- {
- PhArea_t area = {{x, y}, {w, h}};
-
-! PtSetResource(gui.vimTextArea, Pt_ARG_AREA, &area, 0);
- }
-
- int
-***************
-*** 2496,2514 ****
- };
-
- static PhImage_t *
-! gui_ph_toolbar_load_icon( char_u *iconfile )
- {
- static PhImage_t external_icon;
- PhImage_t *temp_phi = NULL;
-
-! temp_phi = PxLoadImage( iconfile, NULL );
-! if( temp_phi != NULL )
- {
- /* The label widget will free the image/palette/etc. for us when
- * it's destroyed */
- temp_phi->flags |= Ph_RELEASE_IMAGE_ALL;
-! memcpy( &external_icon, temp_phi, sizeof( external_icon ) );
-! free( temp_phi );
-
- temp_phi = &external_icon;
- }
---- 2496,2514 ----
- };
-
- static PhImage_t *
-! gui_ph_toolbar_load_icon(char_u *iconfile)
- {
- static PhImage_t external_icon;
- PhImage_t *temp_phi = NULL;
-
-! temp_phi = PxLoadImage(iconfile, NULL);
-! if (temp_phi != NULL)
- {
- /* The label widget will free the image/palette/etc. for us when
- * it's destroyed */
- temp_phi->flags |= Ph_RELEASE_IMAGE_ALL;
-! memcpy(&external_icon, temp_phi, sizeof(external_icon));
-! free(temp_phi);
-
- temp_phi = &external_icon;
- }
-***************
-*** 2523,2551 ****
- * PhImage_t are copied, and the original PhImage_t aren't needed anymore).
- */
- static PhImage_t *
-! gui_ph_toolbar_find_icon( vimmenu_T *menu )
- {
- char_u full_pathname[ MAXPATHL + 1 ];
- PhImage_t *icon = NULL;
-
-! if( menu->icon_builtin == FALSE )
- {
-! if( menu->iconfile != NULL )
- /* TODO: use gui_find_iconfile() */
-! icon = gui_ph_toolbar_load_icon( menu->iconfile );
-
- /* TODO: Restrict loading to just .png? Search for any format? */
-! if( ( icon == NULL ) &&
-! ( ( gui_find_bitmap( menu->name, full_pathname, "gif" ) == OK ) ||
-! ( gui_find_bitmap( menu->name, full_pathname, "png" ) == OK ) ) )
-! icon = gui_ph_toolbar_load_icon( full_pathname );
-
-! if( icon != NULL )
- return icon;
- }
-
-! if( menu->iconidx >= 0 &&
-! ( menu->iconidx < ARRAY_LENGTH( gui_ph_toolbar_images ) ) )
- {
- return gui_ph_toolbar_images[menu->iconidx];
- }
---- 2523,2551 ----
- * PhImage_t are copied, and the original PhImage_t aren't needed anymore).
- */
- static PhImage_t *
-! gui_ph_toolbar_find_icon(vimmenu_T *menu)
- {
- char_u full_pathname[ MAXPATHL + 1 ];
- PhImage_t *icon = NULL;
-
-! if (menu->icon_builtin == FALSE)
- {
-! if (menu->iconfile != NULL)
- /* TODO: use gui_find_iconfile() */
-! icon = gui_ph_toolbar_load_icon(menu->iconfile);
-
- /* TODO: Restrict loading to just .png? Search for any format? */
-! if ((icon == NULL) &&
-! ((gui_find_bitmap(menu->name, full_pathname, "gif") == OK) ||
-! (gui_find_bitmap(menu->name, full_pathname, "png") == OK)))
-! icon = gui_ph_toolbar_load_icon(full_pathname);
-
-! if (icon != NULL)
- return icon;
- }
-
-! if (menu->iconidx >= 0 &&
-! (menu->iconidx < ARRAY_LENGTH(gui_ph_toolbar_images)))
- {
- return gui_ph_toolbar_images[menu->iconidx];
- }
-***************
-*** 2554,2567 ****
- }
- #endif
-
-! #if defined( FEAT_MENU ) || defined( PROTO )
- void
- gui_mch_enable_menu(int flag)
- {
-! if( flag != 0 )
-! PtRealizeWidget( gui.vimMenuBar );
- else
-! PtUnrealizeWidget( gui.vimMenuBar );
- }
-
- void
---- 2554,2567 ----
- }
- #endif
-
-! #if defined(FEAT_MENU) || defined(PROTO)
- void
- gui_mch_enable_menu(int flag)
- {
-! if (flag != 0)
-! PtRealizeWidget(gui.vimMenuBar);
- else
-! PtUnrealizeWidget(gui.vimMenuBar);
- }
-
- void
-***************
-*** 2572,2601 ****
-
- /* Change the position of a menu button in the parent */
- static void
-! gui_ph_position_menu( PtWidget_t *widget, int priority )
- {
- PtWidget_t *traverse;
- vimmenu_T *menu;
-
-! traverse = PtWidgetChildBack( PtWidgetParent( widget ) );
-
- /* Iterate through the list of widgets in traverse, until
- * we find the position we want to insert our widget into */
- /* TODO: traverse from front to back, possible speedup? */
-! while( traverse != NULL )
- {
-! PtGetResource( traverse, Pt_ARG_POINTER, &menu, 0 );
-
-! if( menu != NULL &&
- priority < menu->priority &&
-! widget != traverse )
- {
- /* Insert the widget before the current traverse widget */
-! PtWidgetInsert( widget, traverse, 1 );
- return;
- }
-
-! traverse = PtWidgetBrotherInFront( traverse );
- }
- }
-
---- 2572,2601 ----
-
- /* Change the position of a menu button in the parent */
- static void
-! gui_ph_position_menu(PtWidget_t *widget, int priority)
- {
- PtWidget_t *traverse;
- vimmenu_T *menu;
-
-! traverse = PtWidgetChildBack(PtWidgetParent(widget));
-
- /* Iterate through the list of widgets in traverse, until
- * we find the position we want to insert our widget into */
- /* TODO: traverse from front to back, possible speedup? */
-! while (traverse != NULL)
- {
-! PtGetResource(traverse, Pt_ARG_POINTER, &menu, 0);
-
-! if (menu != NULL &&
- priority < menu->priority &&
-! widget != traverse)
- {
- /* Insert the widget before the current traverse widget */
-! PtWidgetInsert(widget, traverse, 1);
- return;
- }
-
-! traverse = PtWidgetBrotherInFront(traverse);
- }
- }
-
-***************
-*** 2611,2621 ****
-
- menu->submenu_id = menu->id = NULL;
-
-! if( menu_is_menubar( menu->name ) )
- {
-
-! accel_key = vim_strchr( menu->name, '&' );
-! if( accel_key != NULL )
- {
- mnemonic_str[0] = accel_key[1];
- mnemonic_str[1] = NUL;
---- 2611,2621 ----
-
- menu->submenu_id = menu->id = NULL;
-
-! if (menu_is_menubar(menu->name))
- {
-
-! accel_key = vim_strchr(menu->name, '&');
-! if (accel_key != NULL)
- {
- mnemonic_str[0] = accel_key[1];
- mnemonic_str[1] = NUL;
-***************
-*** 2623,2673 ****
-
- /* Create the menu button */
- n = 0;
-! PtSetArg( &args[ n++ ], Pt_ARG_TEXT_STRING, menu->dname, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_ACCEL_TEXT, menu->actext, 0 );
-! if( accel_key != NULL )
-! PtSetArg( &args[ n++ ], Pt_ARG_ACCEL_KEY, mnemonic_str, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_POINTER, menu, 0 );
-
-! if( parent != NULL )
-! PtSetArg( &args[ n++ ], Pt_ARG_BUTTON_TYPE, Pt_MENU_RIGHT, 0 );
-
-! menu->id = PtCreateWidget( PtMenuButton,
- (parent == NULL) ? gui.vimMenuBar : parent->submenu_id,
-! n, args );
-
-! PtAddCallback( menu->id, Pt_CB_ARM, gui_ph_handle_pulldown_menu, menu );
-
- /* Create the actual menu */
- n = 0;
-! if( parent != NULL )
-! PtSetArg( &args[ n++ ], Pt_ARG_MENU_FLAGS, Pt_TRUE, Pt_MENU_CHILD );
-
-! menu->submenu_id = PtCreateWidget( PtMenu, menu->id, n, args );
-
-! if( parent == NULL )
- {
-! PtAddCallback( menu->submenu_id, Pt_CB_UNREALIZED,
-! gui_ph_handle_menu_unrealized, menu );
-
-! if( menu->mnemonic != 0 )
- {
-! PtAddHotkeyHandler( gui.vimWindow, tolower( menu->mnemonic ),
-! Pk_KM_Alt, 0, menu, gui_ph_handle_pulldown_menu );
- }
- }
-
-! gui_ph_position_menu( menu->id, menu->priority );
-
- /* Redraw menubar here instead of gui_mch_draw_menubar */
-! if( gui.menu_is_active )
-! PtRealizeWidget( menu->id );
- }
-! else if( menu_is_popup( menu->name ) )
- {
-! menu->submenu_id = PtCreateWidget( PtMenu, gui.vimWindow, 0, NULL );
-! PtAddCallback( menu->submenu_id, Pt_CB_UNREALIZED,
-! gui_ph_handle_menu_unrealized, menu );
- }
- }
-
---- 2623,2673 ----
-
- /* Create the menu button */
- n = 0;
-! PtSetArg(&args[ n++ ], Pt_ARG_TEXT_STRING, menu->dname, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_ACCEL_TEXT, menu->actext, 0);
-! if (accel_key != NULL)
-! PtSetArg(&args[ n++ ], Pt_ARG_ACCEL_KEY, mnemonic_str, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_POINTER, menu, 0);
-
-! if (parent != NULL)
-! PtSetArg(&args[ n++ ], Pt_ARG_BUTTON_TYPE, Pt_MENU_RIGHT, 0);
-
-! menu->id = PtCreateWidget(PtMenuButton,
- (parent == NULL) ? gui.vimMenuBar : parent->submenu_id,
-! n, args);
-
-! PtAddCallback(menu->id, Pt_CB_ARM, gui_ph_handle_pulldown_menu, menu);
-
- /* Create the actual menu */
- n = 0;
-! if (parent != NULL)
-! PtSetArg(&args[ n++ ], Pt_ARG_MENU_FLAGS, Pt_TRUE, Pt_MENU_CHILD);
-
-! menu->submenu_id = PtCreateWidget(PtMenu, menu->id, n, args);
-
-! if (parent == NULL)
- {
-! PtAddCallback(menu->submenu_id, Pt_CB_UNREALIZED,
-! gui_ph_handle_menu_unrealized, menu);
-
-! if (menu->mnemonic != 0)
- {
-! PtAddHotkeyHandler(gui.vimWindow, tolower(menu->mnemonic),
-! Pk_KM_Alt, 0, menu, gui_ph_handle_pulldown_menu);
- }
- }
-
-! gui_ph_position_menu(menu->id, menu->priority);
-
- /* Redraw menubar here instead of gui_mch_draw_menubar */
-! if (gui.menu_is_active)
-! PtRealizeWidget(menu->id);
- }
-! else if (menu_is_popup(menu->name))
- {
-! menu->submenu_id = PtCreateWidget(PtMenu, gui.vimWindow, 0, NULL);
-! PtAddCallback(menu->submenu_id, Pt_CB_UNREALIZED,
-! gui_ph_handle_menu_unrealized, menu);
- }
- }
-
-***************
-*** 2681,2784 ****
- PtArg_t args[13];
-
- n = 0;
-! PtSetArg( &args[ n++ ], Pt_ARG_POINTER, menu, 0 );
-
- #ifdef FEAT_TOOLBAR
-! if( menu_is_toolbar( parent->name ) )
- {
-! if( menu_is_separator( menu->name ) )
- {
-! PtSetArg( &args[ n++ ], Pt_ARG_SEP_FLAGS,
-! Pt_SEP_VERTICAL, Pt_SEP_ORIENTATION );
-! PtSetArg( &args[ n++ ], Pt_ARG_SEP_TYPE, Pt_ETCHED_IN, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_ANCHOR_FLAGS,
-! Pt_TRUE, Pt_ANCHOR_TOP_BOTTOM );
-! PtSetArg( &args[ n++ ], Pt_ARG_WIDTH, 2, 0 );
-! menu->id = PtCreateWidget( PtSeparator, gui.vimToolBar, n, args );
- }
- else
- {
-! if( strstr( (const char *) p_toolbar, "text" ) != NULL )
- {
-! PtSetArg( &args[ n++ ], Pt_ARG_BALLOON_POSITION,
-! Pt_BALLOON_BOTTOM, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_TEXT_STRING, menu->dname, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_TEXT_FONT, "TextFont08", 0 );
- }
-! if( ( strstr( (const char *) p_toolbar, "icons" ) != NULL ) &&
-! ( gui_ph_toolbar_images != NULL ) )
- {
-! PtSetArg( &args[ n++ ], Pt_ARG_LABEL_IMAGE,
-! gui_ph_toolbar_find_icon( menu ), 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_LABEL_TYPE, Pt_TEXT_IMAGE, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_TEXT_IMAGE_SPACING, 0, 0 );
- }
-! if( strstr( (const char *) p_toolbar, "tooltips" ) != NULL )
- {
-! PtSetArg( &args[ n++ ], Pt_ARG_LABEL_BALLOON,
-! gui_ph_show_tooltip, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_LABEL_FLAGS,
-! Pt_TRUE, Pt_SHOW_BALLOON );
- }
-! PtSetArg( &args[ n++ ], Pt_ARG_MARGIN_HEIGHT, 1, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_MARGIN_WIDTH, 1, 0 );
-! PtSetArg( &args[ n++ ], Pt_ARG_FLAGS, Pt_FALSE,
-! Pt_HIGHLIGHTED | Pt_GETS_FOCUS );
-! PtSetArg( &args[ n++ ], Pt_ARG_FILL_COLOR, Pg_TRANSPARENT, 0 );
-! menu->id = PtCreateWidget( PtButton, gui.vimToolBar, n, args );
-
-! PtAddCallback( menu->id, Pt_CB_ACTIVATE, gui_ph_handle_menu, menu );
- }
- /* Update toolbar if it's open */
-! if( PtWidgetIsRealized( gui.vimToolBar ) )
-! PtRealizeWidget( menu->id );
- }
- else
- #endif
-! if( menu_is_separator( menu->name ) )
- {
-! menu->id = PtCreateWidget( PtSeparator, parent->submenu_id, n, args );
- }
- else
- {
-! accel_key = vim_strchr( menu->name, '&' );
-! if( accel_key != NULL )
- {
- mnemonic_str[0] = accel_key[1];
- mnemonic_str[1] = NUL;
- }
-
-! PtSetArg( &args[ n++ ], Pt_ARG_TEXT_STRING, menu->dname, 0 );
-! if( accel_key != NULL )
-! PtSetArg( &args[ n++ ], Pt_ARG_ACCEL_KEY, mnemonic_str,
-! 0 );
-
-! PtSetArg( &args[ n++ ], Pt_ARG_ACCEL_TEXT, menu->actext, 0 );
-
-! menu->id = PtCreateWidget( PtMenuButton, parent->submenu_id, n, args );
-
-! PtAddCallback( menu->id, Pt_CB_ACTIVATE, gui_ph_handle_menu, menu );
-
- #ifdef USE_PANEL_GROUP
-! if( gui_ph_is_buffer_item( menu, parent ) == TRUE )
- {
-! PtAddCallback( menu->id, Pt_CB_DESTROYED,
-! gui_ph_handle_buffer_remove, menu );
-! gui_ph_pg_add_buffer( menu->dname );
- }
- #endif
- }
-
-! gui_ph_position_menu( menu->id, menu->priority );
- }
-
- void
- gui_mch_destroy_menu(vimmenu_T *menu)
- {
-! if( menu->submenu_id != NULL )
-! PtDestroyWidget( menu->submenu_id );
-! if( menu->id != NULL )
-! PtDestroyWidget( menu->id );
-
- menu->submenu_id = NULL;
- menu->id = NULL;
---- 2681,2784 ----
- PtArg_t args[13];
-
- n = 0;
-! PtSetArg(&args[ n++ ], Pt_ARG_POINTER, menu, 0);
-
- #ifdef FEAT_TOOLBAR
-! if (menu_is_toolbar(parent->name))
- {
-! if (menu_is_separator(menu->name))
- {
-! PtSetArg(&args[ n++ ], Pt_ARG_SEP_FLAGS,
-! Pt_SEP_VERTICAL, Pt_SEP_ORIENTATION);
-! PtSetArg(&args[ n++ ], Pt_ARG_SEP_TYPE, Pt_ETCHED_IN, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_ANCHOR_FLAGS,
-! Pt_TRUE, Pt_ANCHOR_TOP_BOTTOM);
-! PtSetArg(&args[ n++ ], Pt_ARG_WIDTH, 2, 0);
-! menu->id = PtCreateWidget(PtSeparator, gui.vimToolBar, n, args);
- }
- else
- {
-! if (strstr((const char *) p_toolbar, "text") != NULL)
- {
-! PtSetArg(&args[ n++ ], Pt_ARG_BALLOON_POSITION,
-! Pt_BALLOON_BOTTOM, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_TEXT_STRING, menu->dname, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_TEXT_FONT, "TextFont08", 0);
- }
-! if ((strstr((const char *) p_toolbar, "icons") != NULL) &&
-! (gui_ph_toolbar_images != NULL))
- {
-! PtSetArg(&args[ n++ ], Pt_ARG_LABEL_IMAGE,
-! gui_ph_toolbar_find_icon(menu), 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_LABEL_TYPE, Pt_TEXT_IMAGE, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_TEXT_IMAGE_SPACING, 0, 0);
- }
-! if (strstr((const char *) p_toolbar, "tooltips") != NULL)
- {
-! PtSetArg(&args[ n++ ], Pt_ARG_LABEL_BALLOON,
-! gui_ph_show_tooltip, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_LABEL_FLAGS,
-! Pt_TRUE, Pt_SHOW_BALLOON);
- }
-! PtSetArg(&args[ n++ ], Pt_ARG_MARGIN_HEIGHT, 1, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_MARGIN_WIDTH, 1, 0);
-! PtSetArg(&args[ n++ ], Pt_ARG_FLAGS, Pt_FALSE,
-! Pt_HIGHLIGHTED | Pt_GETS_FOCUS);
-! PtSetArg(&args[ n++ ], Pt_ARG_FILL_COLOR, Pg_TRANSPARENT, 0);
-! menu->id = PtCreateWidget(PtButton, gui.vimToolBar, n, args);
-
-! PtAddCallback(menu->id, Pt_CB_ACTIVATE, gui_ph_handle_menu, menu);
- }
- /* Update toolbar if it's open */
-! if (PtWidgetIsRealized(gui.vimToolBar))
-! PtRealizeWidget(menu->id);
- }
- else
- #endif
-! if (menu_is_separator(menu->name))
- {
-! menu->id = PtCreateWidget(PtSeparator, parent->submenu_id, n, args);
- }
- else
- {
-! accel_key = vim_strchr(menu->name, '&');
-! if (accel_key != NULL)
- {
- mnemonic_str[0] = accel_key[1];
- mnemonic_str[1] = NUL;
- }
-
-! PtSetArg(&args[ n++ ], Pt_ARG_TEXT_STRING, menu->dname, 0);
-! if (accel_key != NULL)
-! PtSetArg(&args[ n++ ], Pt_ARG_ACCEL_KEY, mnemonic_str,
-! 0);
-
-! PtSetArg(&args[ n++ ], Pt_ARG_ACCEL_TEXT, menu->actext, 0);
-
-! menu->id = PtCreateWidget(PtMenuButton, parent->submenu_id, n, args);
-
-! PtAddCallback(menu->id, Pt_CB_ACTIVATE, gui_ph_handle_menu, menu);
-
- #ifdef USE_PANEL_GROUP
-! if (gui_ph_is_buffer_item(menu, parent) == TRUE)
- {
-! PtAddCallback(menu->id, Pt_CB_DESTROYED,
-! gui_ph_handle_buffer_remove, menu);
-! gui_ph_pg_add_buffer(menu->dname);
- }
- #endif
- }
-
-! gui_ph_position_menu(menu->id, menu->priority);
- }
-
- void
- gui_mch_destroy_menu(vimmenu_T *menu)
- {
-! if (menu->submenu_id != NULL)
-! PtDestroyWidget(menu->submenu_id);
-! if (menu->id != NULL)
-! PtDestroyWidget(menu->id);
-
- menu->submenu_id = NULL;
- menu->id = NULL;
-***************
-*** 2789,2800 ****
- {
- long flags, mask, fields;
-
-! if( menu->id == NULL )
- return;
-
-! flags = PtWidgetFlags( menu->id );
-! if( PtWidgetIsClass( menu->id, PtMenuButton ) &&
-! PtWidgetIsClass( PtWidgetParent( menu->id ), PtMenu ) )
- {
- fields = Pt_FALSE;
- mask = Pt_SELECTABLE | Pt_HIGHLIGHTED;
---- 2789,2800 ----
- {
- long flags, mask, fields;
-
-! if (menu->id == NULL)
- return;
-
-! flags = PtWidgetFlags(menu->id);
-! if (PtWidgetIsClass(menu->id, PtMenuButton) &&
-! PtWidgetIsClass(PtWidgetParent(menu->id), PtMenu))
- {
- fields = Pt_FALSE;
- mask = Pt_SELECTABLE | Pt_HIGHLIGHTED;
-***************
-*** 2805,2815 ****
- mask = Pt_BLOCKED | Pt_GHOST;
- }
-
-! if( ! grey )
- fields = ~fields;
-
-! PtSetResource( menu->id, Pt_ARG_FLAGS, fields,
-! mask );
- }
-
- void
---- 2805,2815 ----
- mask = Pt_BLOCKED | Pt_GHOST;
- }
-
-! if (! grey)
- fields = ~fields;
-
-! PtSetResource(menu->id, Pt_ARG_FLAGS, fields,
-! mask);
- }
-
- void
-***************
-*** 2830,2837 ****
- void
- gui_mch_show_popupmenu(vimmenu_T *menu)
- {
-! PtSetResource( menu->submenu_id, Pt_ARG_POS, &abs_mouse, 0 );
-! PtRealizeWidget( menu->submenu_id );
- }
-
- void
---- 2830,2837 ----
- void
- gui_mch_show_popupmenu(vimmenu_T *menu)
- {
-! PtSetResource(menu->submenu_id, Pt_ARG_POS, &abs_mouse, 0);
-! PtRealizeWidget(menu->submenu_id);
- }
-
- void
-***************
-*** 2842,2855 ****
-
- #endif
-
-! #if defined( FEAT_TOOLBAR ) || defined( PROTO )
- void
- gui_mch_show_toolbar(int showit)
- {
-! if( showit )
-! PtRealizeWidget( gui.vimToolBar );
- else
-! PtUnrealizeWidget( gui.vimToolBar );
- }
- #endif
-
---- 2842,2855 ----
-
- #endif
-
-! #if defined(FEAT_TOOLBAR) || defined(PROTO)
- void
- gui_mch_show_toolbar(int showit)
- {
-! if (showit)
-! PtRealizeWidget(gui.vimToolBar);
- else
-! PtUnrealizeWidget(gui.vimToolBar);
- }
- #endif
-
-***************
-*** 2870,2903 ****
- FontQueryInfo info;
- int_u style;
-
-! font_tag = alloc( MAX_FONT_TAG );
-! if( font_tag != NULL )
- {
-! if( PfGenerateFontName( font_name, font_flags, font_size,
-! font_tag ) != NULL )
- {
- /* Enforce some limits on the font used */
- style = PHFONT_INFO_FIXED;
-
-! if( enforce & PF_STYLE_BOLD )
- style |= PHFONT_INFO_BOLD;
-! if( enforce & PF_STYLE_ANTIALIAS )
- style |= PHFONT_INFO_ALIAS;
-! if( enforce & PF_STYLE_ITALIC )
- style |= PHFONT_INFO_ITALIC;
-
-! PfQueryFontInfo( font_tag, &info );
-
-! if( info.size == 0 )
- font_size = 0;
-
- /* Make sure font size matches, and that the font style
- * at least has the bits we're checking for */
-! if( font_size == info.size &&
-! style == (info.style & style) )
- return (GuiFont)font_tag;
- }
-! vim_free( font_tag );
- }
- return NULL;
- }
---- 2870,2903 ----
- FontQueryInfo info;
- int_u style;
-
-! font_tag = alloc(MAX_FONT_TAG);
-! if (font_tag != NULL)
- {
-! if (PfGenerateFontName(font_name, font_flags, font_size,
-! font_tag) != NULL)
- {
- /* Enforce some limits on the font used */
- style = PHFONT_INFO_FIXED;
-
-! if (enforce & PF_STYLE_BOLD)
- style |= PHFONT_INFO_BOLD;
-! if (enforce & PF_STYLE_ANTIALIAS)
- style |= PHFONT_INFO_ALIAS;
-! if (enforce & PF_STYLE_ITALIC)
- style |= PHFONT_INFO_ITALIC;
-
-! PfQueryFontInfo(font_tag, &info);
-
-! if (info.size == 0)
- font_size = 0;
-
- /* Make sure font size matches, and that the font style
- * at least has the bits we're checking for */
-! if (font_size == info.size &&
-! style == (info.style & style))
- return (GuiFont)font_tag;
- }
-! vim_free(font_tag);
- }
- return NULL;
- }
-***************
-*** 2919,2936 ****
- char_u *vim_font,
- char_u **font_name,
- int_u *font_flags,
-! int_u *font_size )
- {
- char_u *mark;
- int_u name_len, size;
-
-! mark = vim_strchr( vim_font, ':' );
-! if( mark == NULL )
-! name_len = STRLEN( vim_font );
- else
-! name_len = (int_u) ( mark - vim_font );
-
-! *font_name = vim_strnsave( vim_font, name_len );
- if (*font_name != NULL)
- {
- if (mark != NULL)
---- 2919,2936 ----
- char_u *vim_font,
- char_u **font_name,
- int_u *font_flags,
-! int_u *font_size)
- {
- char_u *mark;
- int_u name_len, size;
-
-! mark = vim_strchr(vim_font, ':');
-! if (mark == NULL)
-! name_len = STRLEN(vim_font);
- else
-! name_len = (int_u) (mark - vim_font);
-
-! *font_name = vim_strnsave(vim_font, name_len);
- if (*font_name != NULL)
- {
- if (mark != NULL)
-***************
-*** 2944,2950 ****
- case 'i': *font_flags |= PF_STYLE_ITALIC; break;
-
- case 's':
-! size = getdigits( &mark );
- /* Restrict the size to some vague limits */
- if (size < 1 || size > 100)
- size = 8;
---- 2944,2950 ----
- case 'i': *font_flags |= PF_STYLE_ITALIC; break;
-
- case 's':
-! size = getdigits(&mark);
- /* Restrict the size to some vague limits */
- if (size < 1 || size > 100)
- size = 8;
-***************
-*** 2979,3031 ****
- vim_font_name = "PC Terminal";
- }
-
-! if (STRCMP( vim_font_name, "*" ) == 0)
- {
-! font_tag = PtFontSelection( gui.vimWindow, NULL, NULL,
-! "pcterm12", -1, PHFONT_FIXED, NULL );
-
- if (font_tag == NULL)
- return FAIL;
-
-! gui_mch_free_font( gui.norm_font );
- gui.norm_font = font_tag;
-
-! PfQueryFontInfo( font_tag, &info );
-! font_name = vim_strsave( info.font );
- }
- else
- {
-! if (gui_ph_parse_font_name( vim_font_name, &font_name, &font_flags,
-! &font_size ) == FALSE)
- return FAIL;
-
-! font_tag = gui_ph_get_font( font_name, font_flags, font_size, 0 );
- if (font_tag == NULL)
- {
-! vim_free( font_name );
- return FAIL;
- }
-
-! gui_mch_free_font( gui.norm_font );
- gui.norm_font = font_tag;
- }
-
-! gui_mch_free_font( gui.bold_font );
-! gui.bold_font = gui_ph_get_font( font_name, font_flags | PF_STYLE_BOLD,
-! font_size, PF_STYLE_BOLD );
-!
-! gui_mch_free_font( gui.ital_font );
-! gui.ital_font = gui_ph_get_font( font_name, font_flags | PF_STYLE_ITALIC,
-! font_size, PF_STYLE_ITALIC );
-
- /* This extent was brought to you by the letter 'g' */
-! PfExtentText( &extent, NULL, font_tag, "g", 1 );
-
- gui.char_width = extent.lr.x - extent.ul.x + 1;
- gui.char_height = (- extent.ul.y) + extent.lr.y + 1;
- gui.char_ascent = - extent.ul.y;
-
-! vim_free( font_name );
- return OK;
- }
-
---- 2979,3031 ----
- vim_font_name = "PC Terminal";
- }
-
-! if (STRCMP(vim_font_name, "*") == 0)
- {
-! font_tag = PtFontSelection(gui.vimWindow, NULL, NULL,
-! "pcterm12", -1, PHFONT_FIXED, NULL);
-
- if (font_tag == NULL)
- return FAIL;
-
-! gui_mch_free_font(gui.norm_font);
- gui.norm_font = font_tag;
-
-! PfQueryFontInfo(font_tag, &info);
-! font_name = vim_strsave(info.font);
- }
- else
- {
-! if (gui_ph_parse_font_name(vim_font_name, &font_name, &font_flags,
-! &font_size) == FALSE)
- return FAIL;
-
-! font_tag = gui_ph_get_font(font_name, font_flags, font_size, 0);
- if (font_tag == NULL)
- {
-! vim_free(font_name);
- return FAIL;
- }
-
-! gui_mch_free_font(gui.norm_font);
- gui.norm_font = font_tag;
- }
-
-! gui_mch_free_font(gui.bold_font);
-! gui.bold_font = gui_ph_get_font(font_name, font_flags | PF_STYLE_BOLD,
-! font_size, PF_STYLE_BOLD);
-!
-! gui_mch_free_font(gui.ital_font);
-! gui.ital_font = gui_ph_get_font(font_name, font_flags | PF_STYLE_ITALIC,
-! font_size, PF_STYLE_ITALIC);
-
- /* This extent was brought to you by the letter 'g' */
-! PfExtentText(&extent, NULL, font_tag, "g", 1);
-
- gui.char_width = extent.lr.x - extent.ul.x + 1;
- gui.char_height = (- extent.ul.y) + extent.lr.y + 1;
- gui.char_ascent = - extent.ul.y;
-
-! vim_free(font_name);
- return OK;
- }
-
-***************
-*** 3037,3043 ****
- {
- FontQueryInfo info;
-
-! PfQueryFontInfo( gui.norm_font, &info );
-
- gui.char_height = - info.ascender + info.descender + p_linespace;
- gui.char_ascent = - info.ascender + p_linespace / 2;
---- 3037,3043 ----
- {
- FontQueryInfo info;
-
-! PfQueryFontInfo(gui.norm_font, &info);
-
- gui.char_height = - info.ascender + info.descender + p_linespace;
- gui.char_ascent = - info.ascender + p_linespace / 2;
-***************
-*** 3053,3070 ****
- int_u font_size = 12;
- int_u font_flags = 0;
-
-! if (gui_ph_parse_font_name( vim_font_name, &font_name, &font_flags,
-! &font_size ) != FALSE)
- {
-! font_tag = gui_ph_get_font( font_name, font_flags, font_size, -1 );
-! vim_free( font_name );
-
- if (font_tag != NULL)
- return (GuiFont)font_tag;
- }
-
- if (report_error)
-! EMSG2(e_font, vim_font_name );
-
- return FAIL;
- }
---- 3053,3070 ----
- int_u font_size = 12;
- int_u font_flags = 0;
-
-! if (gui_ph_parse_font_name(vim_font_name, &font_name, &font_flags,
-! &font_size) != FALSE)
- {
-! font_tag = gui_ph_get_font(font_name, font_flags, font_size, -1);
-! vim_free(font_name);
-
- if (font_tag != NULL)
- return (GuiFont)font_tag;
- }
-
- if (report_error)
-! EMSG2(e_font, vim_font_name);
-
- return FAIL;
- }
-***************
-*** 3088,3099 ****
- void
- gui_mch_set_font(GuiFont font)
- {
-! PgSetFont( font );
- }
-
- void
- gui_mch_free_font(GuiFont font)
- {
-! vim_free( font );
- }
-
---- 3088,3099 ----
- void
- gui_mch_set_font(GuiFont font)
- {
-! PgSetFont(font);
- }
-
- void
- gui_mch_free_font(GuiFont font)
- {
-! vim_free(font);
- }
-
-*** ../vim-7.3.309/src/version.c 2011-09-14 15:41:54.000000000 +0200
---- src/version.c 2011-09-14 16:01:50.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 310,
- /**/
-
---
-An operatingsystem is just a name you give to the rest of bloating
-idiosyncratic machine-based-features you left out of your editor.
- (author unknown)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.311 b/source/ap/vim/patches/7.3.311
deleted file mode 100644
index 13aec74a9..000000000
--- a/source/ap/vim/patches/7.3.311
+++ /dev/null
@@ -1,351 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.311
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.311 (replaces 7.3.289)
-Problem: Complete function isn't called when the leader changed.
-Solution: Allow the complete function to return a dictionary with a flag
- that indicates ins_compl_restart() is to be called when the leader
- changes. (Taro Muraoka)
-Files: runtime/insert.txt, src/edit.c, src/eval.c, src/proto/eval.pro
-
-
-*** ../vim-7.3.310/src/edit.c 2011-09-05 20:13:37.000000000 +0200
---- src/edit.c 2011-09-14 16:43:14.000000000 +0200
-***************
-*** 135,140 ****
---- 135,142 ----
- static int compl_cont_mode = 0;
- static expand_T compl_xp;
-
-+ static int compl_opt_refresh_always = FALSE;
-+
- static void ins_ctrl_x __ARGS((void));
- static int has_compl_option __ARGS((int dict_opt));
- static int ins_compl_accept_char __ARGS((int c));
-***************
-*** 153,161 ****
- static void ins_compl_free __ARGS((void));
- static void ins_compl_clear __ARGS((void));
- static int ins_compl_bs __ARGS((void));
- static void ins_compl_new_leader __ARGS((void));
- static void ins_compl_addleader __ARGS((int c));
-! static int ins_compl_len __ARGS((void));
- static void ins_compl_restart __ARGS((void));
- static void ins_compl_set_original_text __ARGS((char_u *str));
- static void ins_compl_addfrommatch __ARGS((void));
---- 155,164 ----
- static void ins_compl_free __ARGS((void));
- static void ins_compl_clear __ARGS((void));
- static int ins_compl_bs __ARGS((void));
-+ static int ins_compl_need_restart __ARGS((void));
- static void ins_compl_new_leader __ARGS((void));
- static void ins_compl_addleader __ARGS((int c));
-! static int ins_compl_len __ARGS((void));
- static void ins_compl_restart __ARGS((void));
- static void ins_compl_set_original_text __ARGS((char_u *str));
- static void ins_compl_addfrommatch __ARGS((void));
-***************
-*** 163,168 ****
---- 166,172 ----
- static buf_T *ins_compl_next_buf __ARGS((buf_T *buf, int flag));
- #if defined(FEAT_COMPL_FUNC) || defined(FEAT_EVAL)
- static void ins_compl_add_list __ARGS((list_T *list));
-+ static void ins_compl_add_dict __ARGS((dict_T *dict));
- #endif
- static int ins_compl_get_exp __ARGS((pos_T *ini));
- static void ins_compl_delete __ARGS((void));
-***************
-*** 3341,3347 ****
- /* Deleted more than what was used to find matches or didn't finish
- * finding all matches: need to look for matches all over again. */
- if (curwin->w_cursor.col <= compl_col + compl_length
-! || compl_was_interrupted)
- ins_compl_restart();
-
- vim_free(compl_leader);
---- 3345,3351 ----
- /* Deleted more than what was used to find matches or didn't finish
- * finding all matches: need to look for matches all over again. */
- if (curwin->w_cursor.col <= compl_col + compl_length
-! || ins_compl_need_restart())
- ins_compl_restart();
-
- vim_free(compl_leader);
-***************
-*** 3355,3360 ****
---- 3359,3378 ----
- }
-
- /*
-+ * Return TRUE when we need to find matches again, ins_compl_restart() is to
-+ * be called.
-+ */
-+ static int
-+ ins_compl_need_restart()
-+ {
-+ /* Return TRUE if we didn't complete finding matches or when the
-+ * 'completefunc' returned "always" in the "refresh" dictionary item. */
-+ return compl_was_interrupted
-+ || ((ctrl_x_mode == CTRL_X_FUNCTION || ctrl_x_mode == CTRL_X_OMNI)
-+ && compl_opt_refresh_always);
-+ }
-+
-+ /*
- * Called after changing "compl_leader".
- * Show the popup menu with a different set of matches.
- * May also search for matches again if the previous search was interrupted.
-***************
-*** 3443,3449 ****
- ins_char(c);
-
- /* If we didn't complete finding matches we must search again. */
-! if (compl_was_interrupted)
- ins_compl_restart();
-
- vim_free(compl_leader);
---- 3461,3467 ----
- ins_char(c);
-
- /* If we didn't complete finding matches we must search again. */
-! if (ins_compl_need_restart())
- ins_compl_restart();
-
- vim_free(compl_leader);
-***************
-*** 3871,3882 ****
- int type; /* CTRL_X_OMNI or CTRL_X_FUNCTION */
- char_u *base;
- {
-! list_T *matchlist;
- char_u *args[2];
- char_u *funcname;
- pos_T pos;
- win_T *curwin_save;
- buf_T *curbuf_save;
-
- funcname = (type == CTRL_X_FUNCTION) ? curbuf->b_p_cfu : curbuf->b_p_ofu;
- if (*funcname == NUL)
---- 3889,3902 ----
- int type; /* CTRL_X_OMNI or CTRL_X_FUNCTION */
- char_u *base;
- {
-! list_T *matchlist = NULL;
-! dict_T *matchdict = NULL;
- char_u *args[2];
- char_u *funcname;
- pos_T pos;
- win_T *curwin_save;
- buf_T *curbuf_save;
-+ typval_T rettv;
-
- funcname = (type == CTRL_X_FUNCTION) ? curbuf->b_p_cfu : curbuf->b_p_ofu;
- if (*funcname == NUL)
-***************
-*** 3889,3895 ****
- pos = curwin->w_cursor;
- curwin_save = curwin;
- curbuf_save = curbuf;
-! matchlist = call_func_retlist(funcname, 2, args, FALSE);
- if (curwin_save != curwin || curbuf_save != curbuf)
- {
- EMSG(_(e_complwin));
---- 3909,3933 ----
- pos = curwin->w_cursor;
- curwin_save = curwin;
- curbuf_save = curbuf;
-!
-! /* Call a function, which returns a list or dict. */
-! if (call_vim_function(funcname, 2, args, FALSE, &rettv) == OK)
-! {
-! switch (rettv.v_type)
-! {
-! case VAR_LIST:
-! matchlist = rettv.vval.v_list;
-! break;
-! case VAR_DICT:
-! matchdict = rettv.vval.v_dict;
-! break;
-! default:
-! /* TODO: Give error message? */
-! clear_tv(&rettv);
-! break;
-! }
-! }
-!
- if (curwin_save != curwin || curbuf_save != curbuf)
- {
- EMSG(_(e_complwin));
-***************
-*** 3902,3911 ****
---- 3940,3954 ----
- EMSG(_(e_compldel));
- goto theend;
- }
-+
- if (matchlist != NULL)
- ins_compl_add_list(matchlist);
-+ else if (matchdict != NULL)
-+ ins_compl_add_dict(matchdict);
-
- theend:
-+ if (matchdict != NULL)
-+ dict_unref(matchdict);
- if (matchlist != NULL)
- list_unref(matchlist);
- }
-***************
-*** 3934,3939 ****
---- 3977,4009 ----
- }
-
- /*
-+ * Add completions from a dict.
-+ */
-+ static void
-+ ins_compl_add_dict(dict)
-+ dict_T *dict;
-+ {
-+ dictitem_T *refresh;
-+ dictitem_T *words;
-+
-+ /* Check for optional "refresh" item. */
-+ compl_opt_refresh_always = FALSE;
-+ refresh = dict_find(dict, (char_u *)"refresh", 7);
-+ if (refresh != NULL && refresh->di_tv.v_type == VAR_STRING)
-+ {
-+ char_u *v = refresh->di_tv.vval.v_string;
-+
-+ if (v != NULL && STRCMP(v, (char_u *)"always") == 0)
-+ compl_opt_refresh_always = TRUE;
-+ }
-+
-+ /* Add completions from a "words" list. */
-+ words = dict_find(dict, (char_u *)"words", 5);
-+ if (words != NULL && words->di_tv.v_type == VAR_LIST)
-+ ins_compl_add_list(words->di_tv.vval.v_list);
-+ }
-+
-+ /*
- * Add a match to the list of matches from a typeval_T.
- * If the given string is already in the list of completions, then return
- * NOTDONE, otherwise add it to the list and return OK. If there is an error,
-***************
-*** 5088,5093 ****
---- 5158,5169 ----
- return FAIL;
- }
-
-+ /*
-+ * Reset extended parameters of completion, when start new
-+ * completion.
-+ */
-+ compl_opt_refresh_always = FALSE;
-+
- if (col < 0)
- col = curs_col;
- compl_col = col;
-*** ../vim-7.3.310/src/eval.c 2011-09-14 14:33:47.000000000 +0200
---- src/eval.c 2011-09-14 16:16:47.000000000 +0200
-***************
-*** 380,388 ****
-
- static void prepare_vimvar __ARGS((int idx, typval_T *save_tv));
- static void restore_vimvar __ARGS((int idx, typval_T *save_tv));
-- #if defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)
-- static int call_vim_function __ARGS((char_u *func, int argc, char_u **argv, int safe, typval_T *rettv));
-- #endif
- static int ex_let_vars __ARGS((char_u *arg, typval_T *tv, int copy, int semicolon, int var_count, char_u *nextchars));
- static char_u *skip_var_list __ARGS((char_u *arg, int *var_count, int *semicolon));
- static char_u *skip_var_one __ARGS((char_u *arg));
---- 380,385 ----
-***************
-*** 451,457 ****
- static void set_ref_in_list __ARGS((list_T *l, int copyID));
- static void set_ref_in_item __ARGS((typval_T *tv, int copyID));
- static int rettv_dict_alloc __ARGS((typval_T *rettv));
-- static void dict_unref __ARGS((dict_T *d));
- static void dict_free __ARGS((dict_T *d, int recurse));
- static dictitem_T *dictitem_copy __ARGS((dictitem_T *org));
- static void dictitem_remove __ARGS((dict_T *dict, dictitem_T *item));
---- 448,453 ----
-***************
-*** 1563,1569 ****
- * arguments are currently supported.
- * Returns OK or FAIL.
- */
-! static int
- call_vim_function(func, argc, argv, safe, rettv)
- char_u *func;
- int argc;
---- 1559,1565 ----
- * arguments are currently supported.
- * Returns OK or FAIL.
- */
-! int
- call_vim_function(func, argc, argv, safe, rettv)
- char_u *func;
- int argc;
-***************
-*** 6903,6909 ****
- * Unreference a Dictionary: decrement the reference count and free it when it
- * becomes zero.
- */
-! static void
- dict_unref(d)
- dict_T *d;
- {
---- 6899,6905 ----
- * Unreference a Dictionary: decrement the reference count and free it when it
- * becomes zero.
- */
-! void
- dict_unref(d)
- dict_T *d;
- {
-*** ../vim-7.3.310/src/proto/eval.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/eval.pro 2011-09-14 16:16:47.000000000 +0200
-***************
-*** 23,28 ****
---- 23,29 ----
- list_T *eval_spell_expr __ARGS((char_u *badword, char_u *expr));
- int get_spellword __ARGS((list_T *list, char_u **pp));
- typval_T *eval_expr __ARGS((char_u *arg, char_u **nextcmd));
-+ int call_vim_function __ARGS((char_u *func, int argc, char_u **argv, int safe, typval_T *rettv));
- void *call_func_retstr __ARGS((char_u *func, int argc, char_u **argv, int safe));
- long call_func_retnr __ARGS((char_u *func, int argc, char_u **argv, int safe));
- void *call_func_retlist __ARGS((char_u *func, int argc, char_u **argv, int safe));
-***************
-*** 52,57 ****
---- 53,59 ----
- int list_append_string __ARGS((list_T *l, char_u *str, int len));
- int garbage_collect __ARGS((void));
- dict_T *dict_alloc __ARGS((void));
-+ void dict_unref __ARGS((dict_T *d));
- dictitem_T *dictitem_alloc __ARGS((char_u *key));
- void dictitem_free __ARGS((dictitem_T *item));
- int dict_add __ARGS((dict_T *d, dictitem_T *item));
-*** ../vim-7.3.310/src/version.c 2011-09-14 16:04:52.000000000 +0200
---- src/version.c 2011-09-14 16:25:08.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 311,
- /**/
-
---
-Contrary to popular belief, it's often your clothing that gets promoted, not
-you.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.312 b/source/ap/vim/patches/7.3.312
deleted file mode 100644
index d2480e093..000000000
--- a/source/ap/vim/patches/7.3.312
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.312
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.312 (after 7.3.306)
-Problem: Can't compile with tiny features.
-Solution: Add #ifdef around win_valid().
-Files: src/buffer.c
-
-
-*** ../vim-7.3.311/src/buffer.c 2011-09-14 14:43:21.000000000 +0200
---- src/buffer.c 2011-09-14 17:46:24.000000000 +0200
-***************
-*** 416,422 ****
- #endif
-
- buf_freeall(buf, (del_buf ? BFA_DEL : 0) + (wipe_buf ? BFA_WIPE : 0));
-! if (win_valid(win) && win->w_buffer == buf)
- win->w_buffer = NULL; /* make sure we don't use the buffer now */
-
- #ifdef FEAT_AUTOCMD
---- 416,426 ----
- #endif
-
- buf_freeall(buf, (del_buf ? BFA_DEL : 0) + (wipe_buf ? BFA_WIPE : 0));
-! if (
-! #ifdef FEAT_WINDOWS
-! win_valid(win) &&
-! #endif
-! win->w_buffer == buf)
- win->w_buffer = NULL; /* make sure we don't use the buffer now */
-
- #ifdef FEAT_AUTOCMD
-*** ../vim-7.3.311/src/version.c 2011-09-14 16:52:02.000000000 +0200
---- src/version.c 2011-09-14 17:27:24.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 312,
- /**/
-
---
-You have heard the saying that if you put a thousand monkeys in a room with a
-thousand typewriters and waited long enough, eventually you would have a room
-full of dead monkeys.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.313 b/source/ap/vim/patches/7.3.313
deleted file mode 100644
index ca818b8b8..000000000
--- a/source/ap/vim/patches/7.3.313
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.313
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.313 (after 7.3.307)
-Problem: One more warning when compiling with dynamic Python 3.
-Solution: Change PySliceObject to PyObject.
-Files: src/if_python3.c
-
-
-*** ../vim-7.3.312/src/if_python3.c 2011-09-14 15:41:54.000000000 +0200
---- src/if_python3.c 2011-09-14 18:54:49.000000000 +0200
-***************
-*** 194,200 ****
- static int (*py3_PySys_SetObject)(char *, PyObject *);
- static PyObject* (*py3_PyList_Append)(PyObject *, PyObject *);
- static Py_ssize_t (*py3_PyList_Size)(PyObject *);
-! static int (*py3_PySlice_GetIndicesEx)(PySliceObject *r, Py_ssize_t length,
- Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, Py_ssize_t *slicelength);
- static PyObject* (*py3_PyErr_NoMemory)(void);
- static void (*py3_Py_Finalize)(void);
---- 194,200 ----
- static int (*py3_PySys_SetObject)(char *, PyObject *);
- static PyObject* (*py3_PyList_Append)(PyObject *, PyObject *);
- static Py_ssize_t (*py3_PyList_Size)(PyObject *);
-! static int (*py3_PySlice_GetIndicesEx)(PyObject *r, Py_ssize_t length,
- Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, Py_ssize_t *slicelength);
- static PyObject* (*py3_PyErr_NoMemory)(void);
- static void (*py3_Py_Finalize)(void);
-*** ../vim-7.3.312/src/version.c 2011-09-14 17:50:05.000000000 +0200
---- src/version.c 2011-09-14 18:56:03.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 313,
- /**/
-
---
-All good vision statements are created by groups of people with bloated
-bladders who would rather be doing anything else.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.314 b/source/ap/vim/patches/7.3.314
deleted file mode 100644
index 76415d65b..000000000
--- a/source/ap/vim/patches/7.3.314
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.314
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.314 (after 7.3.304)
-Problem: Missing parenthesis.
-Solution: Add it. (Benjamin R. Haskell)
-Files: src/Make_mvc.mak
-
-
-*** ../vim-7.3.313/src/Make_mvc.mak 2011-09-14 10:49:44.000000000 +0200
---- src/Make_mvc.mak 2011-09-14 18:56:24.000000000 +0200
-***************
-*** 785,791 ****
- PERL_INC = /I $(PERL_INCDIR)
- PERL_OBJ = $(OUTDIR)\if_perl.obj $(OUTDIR)\if_perlsfio.obj
- XSUBPP = $(PERL)\lib\ExtUtils\xsubpp
-! !if exist($(XSUBPP)
- XSUBPP = $(PERL_EXE) $(XSUBPP)
- !else
- XSUBPP = xsubpp
---- 785,791 ----
- PERL_INC = /I $(PERL_INCDIR)
- PERL_OBJ = $(OUTDIR)\if_perl.obj $(OUTDIR)\if_perlsfio.obj
- XSUBPP = $(PERL)\lib\ExtUtils\xsubpp
-! !if exist($(XSUBPP))
- XSUBPP = $(PERL_EXE) $(XSUBPP)
- !else
- XSUBPP = xsubpp
-*** ../vim-7.3.313/src/version.c 2011-09-14 18:59:35.000000000 +0200
---- src/version.c 2011-09-14 19:01:12.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 314,
- /**/
-
---
-Often you're less important than your furniture. If you think about it, you
-can get fired but your furniture stays behind, gainfully employed at the
-company that didn't need _you_ anymore.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.315 b/source/ap/vim/patches/7.3.315
deleted file mode 100644
index 2240f7b74..000000000
--- a/source/ap/vim/patches/7.3.315
+++ /dev/null
@@ -1,475 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.315
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.315
-Problem: Opening a window before forking causes problems for GTK.
-Solution: Fork first, create the window in the child and report back to the
- parent process whether it worked. If successful the parent exits,
- if unsuccessful the child exits and the parent continues in the
- terminal. (Tim Starling)
-Files: src/gui.c
-
-
-*** ../vim-7.3.314/src/gui.c 2011-08-10 17:44:41.000000000 +0200
---- src/gui.c 2011-09-14 17:34:30.000000000 +0200
-***************
-*** 37,42 ****
---- 37,60 ----
- static void gui_set_bg_color __ARGS((char_u *name));
- static win_T *xy2win __ARGS((int x, int y));
-
-+ #if defined(UNIX) && !defined(__BEOS__) && !defined(MACOS_X) \
-+ && !defined(__APPLE__)
-+ # define MAY_FORK
-+ static void gui_do_fork __ARGS((void));
-+
-+ static int gui_read_child_pipe __ARGS((int fd));
-+
-+ /* Return values for gui_read_child_pipe */
-+ enum {
-+ GUI_CHILD_IO_ERROR,
-+ GUI_CHILD_OK,
-+ GUI_CHILD_FAILED
-+ };
-+
-+ #endif /* MAY_FORK */
-+
-+ static void gui_attempt_start __ARGS((void));
-+
- static int can_update_cursor = TRUE; /* can display the cursor */
-
- /*
-***************
-*** 59,105 ****
- gui_start()
- {
- char_u *old_term;
-- #if defined(UNIX) && !defined(__BEOS__) && !defined(MACOS_X) \
-- && !defined(__APPLE__)
-- # define MAY_FORK
-- int dofork = TRUE;
-- #endif
- static int recursive = 0;
-
- old_term = vim_strsave(T_NAME);
-
-- /*
-- * Set_termname() will call gui_init() to start the GUI.
-- * Set the "starting" flag, to indicate that the GUI will start.
-- *
-- * We don't want to open the GUI shell until after we've read .gvimrc,
-- * otherwise we don't know what font we will use, and hence we don't know
-- * what size the shell should be. So if there are errors in the .gvimrc
-- * file, they will have to go to the terminal: Set full_screen to FALSE.
-- * full_screen will be set to TRUE again by a successful termcapinit().
-- */
- settmode(TMODE_COOK); /* stop RAW mode */
- if (full_screen)
- cursor_on(); /* needed for ":gui" in .vimrc */
-- gui.starting = TRUE;
- full_screen = FALSE;
-
-! #ifdef FEAT_GUI_GTK
-! gui.event_time = GDK_CURRENT_TIME;
-! #endif
-
- #ifdef MAY_FORK
-! if (!gui.dofork || vim_strchr(p_go, GO_FORG) || recursive)
-! dofork = FALSE;
- #endif
-! ++recursive;
-!
-! termcapinit((char_u *)"builtin_gui");
-! gui.starting = recursive - 1;
-
- if (!gui.in_use) /* failed to start GUI */
- {
-! termcapinit(old_term); /* back to old term settings */
- settmode(TMODE_RAW); /* restart RAW mode */
- #ifdef FEAT_TITLE
- set_title_defaults(); /* set 'title' and 'icon' again */
---- 77,123 ----
- gui_start()
- {
- char_u *old_term;
- static int recursive = 0;
-
- old_term = vim_strsave(T_NAME);
-
- settmode(TMODE_COOK); /* stop RAW mode */
- if (full_screen)
- cursor_on(); /* needed for ":gui" in .vimrc */
- full_screen = FALSE;
-
-! ++recursive;
-
- #ifdef MAY_FORK
-! /*
-! * Quit the current process and continue in the child.
-! * Makes "gvim file" disconnect from the shell it was started in.
-! * Don't do this when Vim was started with "-f" or the 'f' flag is present
-! * in 'guioptions'.
-! */
-! if (gui.dofork && !vim_strchr(p_go, GO_FORG) && recursive <= 1)
-! {
-! gui_do_fork();
-! }
-! else
- #endif
-! {
-! gui_attempt_start();
-! }
-
- if (!gui.in_use) /* failed to start GUI */
- {
-! /* Back to old term settings
-! *
-! * FIXME: If we got here because a child process failed and flagged to
-! * the parent to resume, and X11 is enabled with FEAT_TITLE, this will
-! * hit an X11 I/O error and do a longjmp(), leaving recursive
-! * permanently set to 1. This is probably not as big a problem as it
-! * sounds, because gui_mch_init() in both gui_x11.c and gui_gtk_x11.c
-! * return "OK" unconditionally, so it would be very difficult to
-! * actually hit this case.
-! */
-! termcapinit(old_term);
- settmode(TMODE_RAW); /* restart RAW mode */
- #ifdef FEAT_TITLE
- set_title_defaults(); /* set 'title' and 'icon' again */
-***************
-*** 108,113 ****
---- 126,166 ----
-
- vim_free(old_term);
-
-+ #ifdef FEAT_AUTOCMD
-+ /* If the GUI started successfully, trigger the GUIEnter event, otherwise
-+ * the GUIFailed event. */
-+ gui_mch_update();
-+ apply_autocmds(gui.in_use ? EVENT_GUIENTER : EVENT_GUIFAILED,
-+ NULL, NULL, FALSE, curbuf);
-+ #endif
-+ --recursive;
-+ }
-+
-+ /*
-+ * Set_termname() will call gui_init() to start the GUI.
-+ * Set the "starting" flag, to indicate that the GUI will start.
-+ *
-+ * We don't want to open the GUI shell until after we've read .gvimrc,
-+ * otherwise we don't know what font we will use, and hence we don't know
-+ * what size the shell should be. So if there are errors in the .gvimrc
-+ * file, they will have to go to the terminal: Set full_screen to FALSE.
-+ * full_screen will be set to TRUE again by a successful termcapinit().
-+ */
-+ static void
-+ gui_attempt_start()
-+ {
-+ static int recursive = 0;
-+
-+ ++recursive;
-+ gui.starting = TRUE;
-+
-+ #ifdef FEAT_GUI_GTK
-+ gui.event_time = GDK_CURRENT_TIME;
-+ #endif
-+
-+ termcapinit((char_u *)"builtin_gui");
-+ gui.starting = recursive - 1;
-+
- #if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
- if (gui.in_use)
- {
-***************
-*** 123,218 ****
- display_errors();
- }
- #endif
-
-! #if defined(MAY_FORK) && !defined(__QNXNTO__)
-! /*
-! * Quit the current process and continue in the child.
-! * Makes "gvim file" disconnect from the shell it was started in.
-! * Don't do this when Vim was started with "-f" or the 'f' flag is present
-! * in 'guioptions'.
-! */
-! if (gui.in_use && dofork)
- {
-! int pipefd[2]; /* pipe between parent and child */
-! int pipe_error;
-! char dummy;
-! pid_t pid = -1;
-!
-! /* Setup a pipe between the child and the parent, so that the parent
-! * knows when the child has done the setsid() call and is allowed to
-! * exit. */
-! pipe_error = (pipe(pipefd) < 0);
-! pid = fork();
-! if (pid > 0) /* Parent */
- {
-! /* Give the child some time to do the setsid(), otherwise the
-! * exit() may kill the child too (when starting gvim from inside a
-! * gvim). */
-! if (pipe_error)
-! ui_delay(300L, TRUE);
-! else
- {
-! /* The read returns when the child closes the pipe (or when
-! * the child dies for some reason). */
-! close(pipefd[1]);
-! ignored = (int)read(pipefd[0], &dummy, (size_t)1);
-! close(pipefd[0]);
- }
-!
-! /* When swapping screens we may need to go to the next line, e.g.,
-! * after a hit-enter prompt and using ":gui". */
-! if (newline_on_exit)
-! mch_errmsg("\r\n");
-!
-! /*
-! * The parent must skip the normal exit() processing, the child
-! * will do it. For example, GTK messes up signals when exiting.
-! */
-! _exit(0);
- }
-
-! # if defined(HAVE_SETSID) || defined(HAVE_SETPGID)
- /*
-! * Change our process group. On some systems/shells a CTRL-C in the
-! * shell where Vim was started would otherwise kill gvim!
- */
-! if (pid == 0) /* child */
- # if defined(HAVE_SETSID)
-! (void)setsid();
- # else
-! (void)setpgid(0, 0);
- # endif
- # endif
-! if (!pipe_error)
-! {
-! close(pipefd[0]);
-! close(pipefd[1]);
-! }
-
- # if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
-! /* Tell the session manager our new PID */
-! gui_mch_forked();
- # endif
- }
-- #else
-- # if defined(__QNXNTO__)
-- if (gui.in_use && dofork)
-- procmgr_daemon(0, PROCMGR_DAEMON_KEEPUMASK | PROCMGR_DAEMON_NOCHDIR |
-- PROCMGR_DAEMON_NOCLOSE | PROCMGR_DAEMON_NODEVNULL);
-- # endif
-- #endif
-
-! #ifdef FEAT_AUTOCMD
-! /* If the GUI started successfully, trigger the GUIEnter event, otherwise
-! * the GUIFailed event. */
-! gui_mch_update();
-! apply_autocmds(gui.in_use ? EVENT_GUIENTER : EVENT_GUIFAILED,
-! NULL, NULL, FALSE, curbuf);
- #endif
-
-! --recursive;
- }
-
- /*
- * Call this when vim starts up, whether or not the GUI is started
- */
---- 176,346 ----
- display_errors();
- }
- #endif
-+ --recursive;
-+ }
-
-! #ifdef MAY_FORK
-!
-! /* for waitpid() */
-! # if defined(HAVE_SYS_WAIT_H) || defined(HAVE_UNION_WAIT)
-! # include <sys/wait.h>
-! # endif
-!
-! /*
-! * Create a new process, by forking. In the child, start the GUI, and in
-! * the parent, exit.
-! *
-! * If something goes wrong, this will return with gui.in_use still set
-! * to FALSE, in which case the caller should continue execution without
-! * the GUI.
-! *
-! * If the child fails to start the GUI, then the child will exit and the
-! * parent will return. If the child succeeds, then the parent will exit
-! * and the child will return.
-! */
-! static void
-! gui_do_fork()
-! {
-! #ifdef __QNXNTO__
-! procmgr_daemon(0, PROCMGR_DAEMON_KEEPUMASK | PROCMGR_DAEMON_NOCHDIR |
-! PROCMGR_DAEMON_NOCLOSE | PROCMGR_DAEMON_NODEVNULL);
-! gui_attempt_start();
-! return;
-! #else
-! int pipefd[2]; /* pipe between parent and child */
-! int pipe_error;
-! int status;
-! int exit_status;
-! pid_t pid = -1;
-! FILE *parent_file;
-!
-! /* Setup a pipe between the child and the parent, so that the parent
-! * knows when the child has done the setsid() call and is allowed to
-! * exit. */
-! pipe_error = (pipe(pipefd) < 0);
-! pid = fork();
-! if (pid < 0) /* Fork error */
- {
-! EMSG(_("E851: Failed to create a new process for the GUI"));
-! return;
-! }
-! else if (pid > 0) /* Parent */
-! {
-! /* Give the child some time to do the setsid(), otherwise the
-! * exit() may kill the child too (when starting gvim from inside a
-! * gvim). */
-! if (!pipe_error)
- {
-! /* The read returns when the child closes the pipe (or when
-! * the child dies for some reason). */
-! close(pipefd[1]);
-! status = gui_read_child_pipe(pipefd[0]);
-! if (status == GUI_CHILD_FAILED)
- {
-! /* The child failed to start the GUI, so the caller must
-! * continue. There may be more error information written
-! * to stderr by the child. */
-! # ifdef __NeXT__
-! wait4(pid, &exit_status, 0, (struct rusage *)0);
-! # else
-! waitpid(pid, &exit_status, 0);
-! # endif
-! EMSG(_("E852: The child process failed to start the GUI"));
-! return;
- }
-! else if (status == GUI_CHILD_IO_ERROR)
-! {
-! pipe_error = TRUE;
-! }
-! /* else GUI_CHILD_OK: parent exit */
- }
-
-! if (pipe_error)
-! ui_delay(300L, TRUE);
-!
-! /* When swapping screens we may need to go to the next line, e.g.,
-! * after a hit-enter prompt and using ":gui". */
-! if (newline_on_exit)
-! mch_errmsg("\r\n");
-!
- /*
-! * The parent must skip the normal exit() processing, the child
-! * will do it. For example, GTK messes up signals when exiting.
- */
-! _exit(0);
-! }
-! /* Child */
-!
-! # if defined(HAVE_SETSID) || defined(HAVE_SETPGID)
-! /*
-! * Change our process group. On some systems/shells a CTRL-C in the
-! * shell where Vim was started would otherwise kill gvim!
-! */
- # if defined(HAVE_SETSID)
-! (void)setsid();
- # else
-! (void)setpgid(0, 0);
- # endif
- # endif
-! if (!pipe_error)
-! close(pipefd[0]);
-
- # if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
-! /* Tell the session manager our new PID */
-! gui_mch_forked();
- # endif
-+
-+ if (!pipe_error)
-+ parent_file = fdopen(pipefd[1], "w");
-+ else
-+ parent_file = NULL;
-+
-+ /* Try to start the GUI */
-+ gui_attempt_start();
-+
-+ /* Notify the parent */
-+ if (parent_file != NULL)
-+ {
-+ fputs(gui.in_use ? "ok" : "fail", parent_file);
-+ fclose(parent_file);
- }
-
-! /* If we failed to start the GUI, exit now. */
-! if (!gui.in_use)
-! exit(1);
- #endif
-+ }
-
-! /*
-! * Read from a pipe assumed to be connected to the child process (this
-! * function is called from the parent).
-! * Return GUI_CHILD_OK if the child successfully started the GUI,
-! * GUY_CHILD_FAILED if the child failed, or GUI_CHILD_IO_ERROR if there was
-! * some other error.
-! *
-! * The file descriptor will be closed before the function returns.
-! */
-! static int
-! gui_read_child_pipe(int fd)
-! {
-! size_t bytes_read;
-! FILE *file;
-! char buffer[10];
-!
-! file = fdopen(fd, "r");
-! if (!file)
-! return GUI_CHILD_IO_ERROR;
-!
-! bytes_read = fread(buffer, sizeof(char), sizeof(buffer)-1, file);
-! buffer[bytes_read] = '\0';
-! fclose(file);
-! if (strcmp(buffer, "ok") == 0)
-! return GUI_CHILD_OK;
-! return GUI_CHILD_FAILED;
- }
-
-+ #endif /* MAY_FORK */
-+
- /*
- * Call this when vim starts up, whether or not the GUI is started
- */
-*** ../vim-7.3.314/src/version.c 2011-09-14 19:01:38.000000000 +0200
---- src/version.c 2011-09-14 19:02:45.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 315,
- /**/
-
---
-A)bort, R)etry, B)ang it with a large hammer
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.316 b/source/ap/vim/patches/7.3.316
deleted file mode 100644
index 96a7d42b3..000000000
--- a/source/ap/vim/patches/7.3.316
+++ /dev/null
@@ -1,48 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.316
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.316 (after 7.3.306)
-Problem: Crash when 'colorcolumn' is set and closing buffer.
-Solution: Check for w_buffer to be NULL. (Yasuhiro Matsumoto)
-Files: src/option.c
-
-
-*** ../vim-7.3.315/src/option.c 2011-06-12 22:13:37.000000000 +0200
---- src/option.c 2011-09-21 13:26:31.000000000 +0200
-***************
-*** 7036,7041 ****
---- 7036,7044 ----
- int i;
- int j = 0;
-
-+ if (wp->w_buffer == NULL)
-+ return NULL; /* buffer was closed */
-+
- for (s = wp->w_p_cc; *s != NUL && count < 255;)
- {
- if (*s == '-' || *s == '+')
-*** ../vim-7.3.315/src/version.c 2011-09-14 19:04:35.000000000 +0200
---- src/version.c 2011-09-21 13:40:05.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 316,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-25. You believe nothing looks sexier than a man in boxer shorts illuminated
- only by a 17" inch svga monitor.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.317 b/source/ap/vim/patches/7.3.317
deleted file mode 100644
index 220cae218..000000000
--- a/source/ap/vim/patches/7.3.317
+++ /dev/null
@@ -1,116 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.317
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.317
-Problem: Calling debug.debug() in Lua may cause Vim to hang.
-Solution: Add a better debug method. (Rob Hoelz, Luis Carvalho)
-Files: src/if_lua.c
-
-
-*** ../vim-7.3.316/src/if_lua.c 2011-01-17 19:53:20.000000000 +0100
---- src/if_lua.c 2011-09-21 17:15:21.000000000 +0200
-***************
-*** 100,105 ****
---- 100,106 ----
- #define lua_setfield dll_lua_setfield
- #define lua_rawset dll_lua_rawset
- #define lua_rawseti dll_lua_rawseti
-+ #define lua_remove dll_lua_remove
- #define lua_setmetatable dll_lua_setmetatable
- #define lua_call dll_lua_call
- #define lua_pcall dll_lua_pcall
-***************
-*** 161,166 ****
---- 162,168 ----
- void (*dll_lua_setfield) (lua_State *L, int idx, const char *k);
- void (*dll_lua_rawset) (lua_State *L, int idx);
- void (*dll_lua_rawseti) (lua_State *L, int idx, int n);
-+ void (*dll_lua_remove) (lua_State *L, int idx);
- int (*dll_lua_setmetatable) (lua_State *L, int objindex);
- void (*dll_lua_call) (lua_State *L, int nargs, int nresults);
- int (*dll_lua_pcall) (lua_State *L, int nargs, int nresults, int errfunc);
-***************
-*** 229,234 ****
---- 231,237 ----
- {"lua_setfield", (luaV_function) &dll_lua_setfield},
- {"lua_rawset", (luaV_function) &dll_lua_rawset},
- {"lua_rawseti", (luaV_function) &dll_lua_rawseti},
-+ {"lua_remove", (luaV_function) &dll_lua_remove},
- {"lua_setmetatable", (luaV_function) &dll_lua_setmetatable},
- {"lua_call", (luaV_function) &dll_lua_call},
- {"lua_pcall", (luaV_function) &dll_lua_pcall},
-***************
-*** 924,929 ****
---- 927,957 ----
- }
-
- static int
-+ luaV_debug(lua_State *L)
-+ {
-+ lua_settop(L, 0);
-+ lua_getglobal(L, "vim");
-+ lua_getfield(L, -1, "eval");
-+ lua_remove(L, -2); /* vim.eval at position 1 */
-+ for (;;)
-+ {
-+ const char *input;
-+ size_t l;
-+ lua_pushvalue(L, 1); /* vim.eval */
-+ lua_pushliteral(L, "input('lua_debug> ')");
-+ lua_call(L, 1, 1); /* return string */
-+ input = lua_tolstring(L, -1, &l);
-+ if (l == 0 || strcmp(input, "cont") == 0)
-+ return 0;
-+ msg_putchar('\n'); /* avoid outputting on input line */
-+ if (luaL_loadbuffer(L, input, l, "=(debug command)")
-+ || lua_pcall(L, 0, 0, 0))
-+ luaV_emsg(L);
-+ lua_settop(L, 1); /* remove eventual returns, but keep vim.eval */
-+ }
-+ }
-+
-+ static int
- luaV_command(lua_State *L)
- {
- do_cmdline_cmd((char_u *) luaL_checkstring(L, 1));
-***************
-*** 1082,1087 ****
---- 1110,1120 ----
- /* print */
- lua_pushcfunction(L, luaV_print);
- lua_setglobal(L, "print");
-+ /* debug.debug */
-+ lua_getglobal(L, "debug");
-+ lua_pushcfunction(L, luaV_debug);
-+ lua_setfield(L, -2, "debug");
-+ lua_pop(L, 1);
- /* free */
- lua_pushlightuserdata(L, (void *) LUAVIM_FREE);
- lua_pushcfunction(L, luaV_free);
-*** ../vim-7.3.316/src/version.c 2011-09-21 13:40:13.000000000 +0200
---- src/version.c 2011-09-21 17:14:01.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 317,
- /**/
-
---
-Q: What is the difference betwee open-source and commercial software?
-A: If you have a problem with commercial software you can call a phone
- number and they will tell you it might be solved in a future version.
- For open-source software there isn't a phone number to call, but you
- get the solution within a day.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.318 b/source/ap/vim/patches/7.3.318
deleted file mode 100644
index 369448023..000000000
--- a/source/ap/vim/patches/7.3.318
+++ /dev/null
@@ -1,90 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.318
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.318
-Problem: "C" on the last line deletes that line if it's blank.
-Solution: Only delete the last line for a delete operation. (James Vega)
-Files: src/ops.c
-
-
-*** ../vim-7.3.317/src/ops.c 2011-08-10 12:10:55.000000000 +0200
---- src/ops.c 2011-09-21 17:32:36.000000000 +0200
-***************
-*** 1922,1928 ****
- curwin->w_cursor.coladd = 0;
- }
- #endif
-! if (oap->inclusive && oap->end.lnum == curbuf->b_ml.ml_line_count
- && n > (int)STRLEN(ml_get(oap->end.lnum)))
- {
- /* Special case: gH<Del> deletes the last line. */
---- 1922,1930 ----
- curwin->w_cursor.coladd = 0;
- }
- #endif
-! if (oap->op_type == OP_DELETE
-! && oap->inclusive
-! && oap->end.lnum == curbuf->b_ml.ml_line_count
- && n > (int)STRLEN(ml_get(oap->end.lnum)))
- {
- /* Special case: gH<Del> deletes the last line. */
-***************
-*** 3331,3338 ****
- if (regname == '=')
- {
- /* For the = register we need to split the string at NL
-! * characters. */
-! /* Loop twice: count the number of lines and save them. */
- for (;;)
- {
- y_size = 0;
---- 3333,3340 ----
- if (regname == '=')
- {
- /* For the = register we need to split the string at NL
-! * characters.
-! * Loop twice: count the number of lines and save them. */
- for (;;)
- {
- y_size = 0;
-***************
-*** 3348,3354 ****
- if (y_array != NULL)
- *ptr = NUL;
- ++ptr;
-! /* A trailing '\n' makes the string linewise */
- if (*ptr == NUL)
- {
- y_type = MLINE;
---- 3350,3356 ----
- if (y_array != NULL)
- *ptr = NUL;
- ++ptr;
-! /* A trailing '\n' makes the register linewise. */
- if (*ptr == NUL)
- {
- y_type = MLINE;
-*** ../vim-7.3.317/src/version.c 2011-09-21 17:15:34.000000000 +0200
---- src/version.c 2011-09-21 17:31:48.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 318,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-26. You check your mail. It says "no new messages." So you check it again.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.319 b/source/ap/vim/patches/7.3.319
deleted file mode 100644
index 68448ab63..000000000
--- a/source/ap/vim/patches/7.3.319
+++ /dev/null
@@ -1,154 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.319
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.319 (after 7.3.311)
-Problem: Redobuff doesn't always include changes of the completion leader.
-Solution: Insert backspaces as needed. (idea by Taro Muraoka)
-Files: src/edit.c
-
-
-*** ../vim-7.3.318/src/edit.c 2011-09-14 16:52:02.000000000 +0200
---- src/edit.c 2011-09-21 17:59:10.000000000 +0200
-***************
-*** 163,168 ****
---- 163,169 ----
- static void ins_compl_set_original_text __ARGS((char_u *str));
- static void ins_compl_addfrommatch __ARGS((void));
- static int ins_compl_prep __ARGS((int c));
-+ static void ins_compl_fixRedoBufForLeader __ARGS((char_u *ptr_arg));
- static buf_T *ins_compl_next_buf __ARGS((buf_T *buf, int flag));
- #if defined(FEAT_COMPL_FUNC) || defined(FEAT_EVAL)
- static void ins_compl_add_list __ARGS((list_T *list));
-***************
-*** 3713,3721 ****
- * memory that was used, and make sure we can redo the insert. */
- if (compl_curr_match != NULL || compl_leader != NULL || c == Ctrl_E)
- {
-- char_u *p;
-- int temp = 0;
--
- /*
- * If any of the original typed text has been changed, eg when
- * ignorecase is set, we must add back-spaces to the redo
---- 3714,3719 ----
-***************
-*** 3726,3750 ****
- */
- if (compl_curr_match != NULL && compl_used_match && c != Ctrl_E)
- ptr = compl_curr_match->cp_str;
-- else if (compl_leader != NULL)
-- ptr = compl_leader;
- else
-! ptr = compl_orig_text;
-! if (compl_orig_text != NULL)
-! {
-! p = compl_orig_text;
-! for (temp = 0; p[temp] != NUL && p[temp] == ptr[temp];
-! ++temp)
-! ;
-! #ifdef FEAT_MBYTE
-! if (temp > 0)
-! temp -= (*mb_head_off)(compl_orig_text, p + temp);
-! #endif
-! for (p += temp; *p != NUL; mb_ptr_adv(p))
-! AppendCharToRedobuff(K_BS);
-! }
-! if (ptr != NULL)
-! AppendToRedobuffLit(ptr + temp, -1);
- }
-
- #ifdef FEAT_CINDENT
---- 3724,3732 ----
- */
- if (compl_curr_match != NULL && compl_used_match && c != Ctrl_E)
- ptr = compl_curr_match->cp_str;
- else
-! ptr = NULL;
-! ins_compl_fixRedoBufForLeader(ptr);
- }
-
- #ifdef FEAT_CINDENT
-***************
-*** 3834,3839 ****
---- 3816,3859 ----
- }
-
- /*
-+ * Fix the redo buffer for the completion leader replacing some of the typed
-+ * text. This inserts backspaces and appends the changed text.
-+ * "ptr" is the known leader text or NUL.
-+ */
-+ static void
-+ ins_compl_fixRedoBufForLeader(ptr_arg)
-+ char_u *ptr_arg;
-+ {
-+ int len;
-+ char_u *p;
-+ char_u *ptr = ptr_arg;
-+
-+ if (ptr == NULL)
-+ {
-+ if (compl_leader != NULL)
-+ ptr = compl_leader;
-+ else
-+ return; /* nothing to do */
-+ }
-+ if (compl_orig_text != NULL)
-+ {
-+ p = compl_orig_text;
-+ for (len = 0; p[len] != NUL && p[len] == ptr[len]; ++len)
-+ ;
-+ #ifdef FEAT_MBYTE
-+ if (len > 0)
-+ len -= (*mb_head_off)(p, p + len);
-+ #endif
-+ for (p += len; *p != NUL; mb_ptr_adv(p))
-+ AppendCharToRedobuff(K_BS);
-+ }
-+ else
-+ len = 0;
-+ if (ptr != NULL)
-+ AppendToRedobuffLit(ptr + len, -1);
-+ }
-+
-+ /*
- * Loops through the list of windows, loaded-buffers or non-loaded-buffers
- * (depending on flag) starting from buf and looking for a non-scanned
- * buffer (other than curbuf). curbuf is special, if it is called with
-***************
-*** 5241,5246 ****
---- 5261,5270 ----
- else
- edit_submode = (char_u *)_(CTRL_X_MSG(ctrl_x_mode));
-
-+ /* If any of the original typed text has been changed we need to fix
-+ * the redo buffer. */
-+ ins_compl_fixRedoBufForLeader(NULL);
-+
- /* Always add completion for the original text. */
- vim_free(compl_orig_text);
- compl_orig_text = vim_strnsave(line + compl_col, compl_length);
-*** ../vim-7.3.318/src/version.c 2011-09-21 17:33:49.000000000 +0200
---- src/version.c 2011-09-21 18:21:07.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 319,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-27. You refer to your age as 3.x.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.320 b/source/ap/vim/patches/7.3.320
deleted file mode 100644
index 3b957c290..000000000
--- a/source/ap/vim/patches/7.3.320
+++ /dev/null
@@ -1,130 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.320
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.320
-Problem: When a 0xa0 character is in a sourced file the error message for
- unrecognized command does not show the problem.
-Solution: Display 0xa0 as <a0>.
-Files: src/ex_docmd.c
-
-
-*** ../vim-7.3.319/src/ex_docmd.c 2011-07-20 16:36:35.000000000 +0200
---- src/ex_docmd.c 2011-09-21 19:02:15.000000000 +0200
-***************
-*** 61,66 ****
---- 61,67 ----
- static char_u *do_one_cmd __ARGS((char_u **, int, char_u *(*fgetline)(int, void *, int), void *cookie));
- static int if_level = 0; /* depth in :if */
- #endif
-+ static void append_command __ARGS((char_u *cmd));
- static char_u *find_command __ARGS((exarg_T *eap, int *full));
-
- static void ex_abbreviate __ARGS((exarg_T *eap));
-***************
-*** 2136,2145 ****
- {
- STRCPY(IObuff, _("E492: Not an editor command"));
- if (!sourcing)
-! {
-! STRCAT(IObuff, ": ");
-! STRNCAT(IObuff, *cmdlinep, 40);
-! }
- errormsg = IObuff;
- }
- goto doend;
---- 2137,2143 ----
- {
- STRCPY(IObuff, _("E492: Not an editor command"));
- if (!sourcing)
-! append_command(*cmdlinep);
- errormsg = IObuff;
- }
- goto doend;
-***************
-*** 2708,2715 ****
- STRCPY(IObuff, errormsg);
- errormsg = IObuff;
- }
-! STRCAT(errormsg, ": ");
-! STRNCAT(errormsg, *cmdlinep, IOSIZE - STRLEN(IObuff) - 1);
- }
- emsg(errormsg);
- }
---- 2706,2712 ----
- STRCPY(IObuff, errormsg);
- errormsg = IObuff;
- }
-! append_command(*cmdlinep);
- }
- emsg(errormsg);
- }
-***************
-*** 2797,2802 ****
---- 2794,2835 ----
- }
-
- /*
-+ * Append "cmd" to the error message in IObuff.
-+ * Takes care of limiting the length and handling 0xa0, which would be
-+ * invisible otherwise.
-+ */
-+ static void
-+ append_command(cmd)
-+ char_u *cmd;
-+ {
-+ char_u *s = cmd;
-+ char_u *d;
-+
-+ STRCAT(IObuff, ": ");
-+ d = IObuff + STRLEN(IObuff);
-+ while (*s != NUL && d - IObuff < IOSIZE - 7)
-+ {
-+ if (
-+ #ifdef FEAT_MBYTE
-+ enc_utf8 ? (s[0] == 0xc2 && s[1] == 0xa0) :
-+ #endif
-+ *s == 0xa0)
-+ {
-+ s +=
-+ #ifdef FEAT_MBYTE
-+ enc_utf8 ? 2 :
-+ #endif
-+ 1;
-+ STRCPY(d, "<a0>");
-+ d += 4;
-+ }
-+ else
-+ MB_COPY_CHAR(s, d);
-+ }
-+ *d = NUL;
-+ }
-+
-+ /*
- * Find an Ex command by its name, either built-in or user.
- * Start of the name can be found at eap->cmd.
- * Returns pointer to char after the command name.
-*** ../vim-7.3.319/src/version.c 2011-09-21 18:23:02.000000000 +0200
---- src/version.c 2011-09-21 19:04:35.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 320,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-28. You have comandeered your teenager's phone line for the net and even his
- friends know not to call on his line anymore.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.321 b/source/ap/vim/patches/7.3.321
deleted file mode 100644
index 6303b013c..000000000
--- a/source/ap/vim/patches/7.3.321
+++ /dev/null
@@ -1,304 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.321
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.321
-Problem: Code not following Vim style.
-Solution: Fix the style. (Elias Diem)
-Files: src/os_qnx.c
-
-
-*** ../vim-7.3.320/src/os_qnx.c 2011-06-19 01:14:22.000000000 +0200
---- src/os_qnx.c 2011-09-21 19:48:08.000000000 +0200
-***************
-*** 24,33 ****
- #if defined(FEAT_GUI_PHOTON)
- PhChannelParms_t parms;
-
-! memset( &parms, 0, sizeof( parms ) );
- parms.flags = Ph_DYNAMIC_BUFFER;
-
-! is_photon_available = (PhAttach( NULL, &parms ) != NULL) ? TRUE : FALSE;
- #endif
- }
-
---- 24,33 ----
- #if defined(FEAT_GUI_PHOTON)
- PhChannelParms_t parms;
-
-! memset(&parms, 0, sizeof(parms));
- parms.flags = Ph_DYNAMIC_BUFFER;
-
-! is_photon_available = (PhAttach(NULL, &parms) != NULL) ? TRUE : FALSE;
- #endif
- }
-
-***************
-*** 39,46 ****
- /* Turn on the clipboard for a console vim when photon is running */
- void qnx_clip_init()
- {
-! if( is_photon_available == TRUE && !gui.in_use)
-! clip_init( TRUE );
- }
-
- /*****************************************************************************/
---- 39,46 ----
- /* Turn on the clipboard for a console vim when photon is running */
- void qnx_clip_init()
- {
-! if (is_photon_available == TRUE && !gui.in_use)
-! clip_init(TRUE);
- }
-
- /*****************************************************************************/
-***************
-*** 48,79 ****
-
- /* No support for owning the clipboard */
- int
-! clip_mch_own_selection( VimClipboard *cbd )
- {
- return FALSE;
- }
-
- void
-! clip_mch_lose_selection( VimClipboard *cbd )
- {
- }
-
- void
-! clip_mch_request_selection( VimClipboard *cbd )
- {
- int type = MLINE, clip_length = 0, is_type_set = FALSE;
- void *cbdata;
- PhClipHeader *clip_header;
- char_u *clip_text = NULL;
-
-! cbdata = PhClipboardPasteStart( PhInputGroup( NULL ));
-! if( cbdata != NULL )
- {
- /* Look for the vim specific clip first */
-! clip_header = PhClipboardPasteType( cbdata, CLIP_TYPE_VIM );
-! if( clip_header != NULL && clip_header->data != NULL )
- {
-! switch( *(char *) clip_header->data )
- {
- default: /* fallthrough to line type */
- case 'L': type = MLINE; break;
---- 48,79 ----
-
- /* No support for owning the clipboard */
- int
-! clip_mch_own_selection(VimClipboard *cbd)
- {
- return FALSE;
- }
-
- void
-! clip_mch_lose_selection(VimClipboard *cbd)
- {
- }
-
- void
-! clip_mch_request_selection(VimClipboard *cbd)
- {
- int type = MLINE, clip_length = 0, is_type_set = FALSE;
- void *cbdata;
- PhClipHeader *clip_header;
- char_u *clip_text = NULL;
-
-! cbdata = PhClipboardPasteStart(PhInputGroup(NULL));
-! if (cbdata != NULL)
- {
- /* Look for the vim specific clip first */
-! clip_header = PhClipboardPasteType(cbdata, CLIP_TYPE_VIM);
-! if (clip_header != NULL && clip_header->data != NULL)
- {
-! switch(*(char *) clip_header->data)
- {
- default: /* fallthrough to line type */
- case 'L': type = MLINE; break;
-***************
-*** 86,112 ****
- }
-
- /* Try for just normal text */
-! clip_header = PhClipboardPasteType( cbdata, CLIP_TYPE_TEXT );
-! if( clip_header != NULL )
- {
- clip_text = clip_header->data;
- clip_length = clip_header->length - 1;
-
-! if( clip_text != NULL && is_type_set == FALSE )
- type = MAUTO;
- }
-
-! if( (clip_text != NULL) && (clip_length > 0) )
- {
-! clip_yank_selection( type, clip_text, clip_length, cbd );
- }
-
-! PhClipboardPasteFinish( cbdata );
- }
- }
-
- void
-! clip_mch_set_selection( VimClipboard *cbd )
- {
- int type;
- long_u len;
---- 86,112 ----
- }
-
- /* Try for just normal text */
-! clip_header = PhClipboardPasteType(cbdata, CLIP_TYPE_TEXT);
-! if (clip_header != NULL)
- {
- clip_text = clip_header->data;
- clip_length = clip_header->length - 1;
-
-! if (clip_text != NULL && is_type_set == FALSE)
- type = MAUTO;
- }
-
-! if ((clip_text != NULL) && (clip_length > 0))
- {
-! clip_yank_selection(type, clip_text, clip_length, cbd);
- }
-
-! PhClipboardPasteFinish(cbdata);
- }
- }
-
- void
-! clip_mch_set_selection(VimClipboard *cbd)
- {
- int type;
- long_u len;
-***************
-*** 114,144 ****
- PhClipHeader clip_header[2];
-
- /* Prevent recursion from clip_get_selection() */
-! if( cbd->owned == TRUE )
- return;
-
- cbd->owned = TRUE;
-! clip_get_selection( cbd );
- cbd->owned = FALSE;
-
-! type = clip_convert_selection( &str, &len, cbd );
-! if( type >= 0 )
- {
-! text_clip = lalloc( len + 1, TRUE ); /* Normal text */
-
-! if( text_clip && vim_clip )
- {
-! memset( clip_header, 0, sizeof( clip_header ) );
-
-! STRNCPY( clip_header[0].type, CLIP_TYPE_VIM, 8 );
-! clip_header[0].length = sizeof( vim_clip );
- clip_header[0].data = vim_clip;
-
-! STRNCPY( clip_header[1].type, CLIP_TYPE_TEXT, 8 );
- clip_header[1].length = len + 1;
- clip_header[1].data = text_clip;
-
-! switch( type )
- {
- default: /* fallthrough to MLINE */
- case MLINE: *vim_clip = 'L'; break;
---- 114,144 ----
- PhClipHeader clip_header[2];
-
- /* Prevent recursion from clip_get_selection() */
-! if (cbd->owned == TRUE)
- return;
-
- cbd->owned = TRUE;
-! clip_get_selection(cbd);
- cbd->owned = FALSE;
-
-! type = clip_convert_selection(&str, &len, cbd);
-! if (type >= 0)
- {
-! text_clip = lalloc(len + 1, TRUE); /* Normal text */
-
-! if (text_clip && vim_clip)
- {
-! memset(clip_header, 0, sizeof(clip_header));
-
-! STRNCPY(clip_header[0].type, CLIP_TYPE_VIM, 8);
-! clip_header[0].length = sizeof(vim_clip);
- clip_header[0].data = vim_clip;
-
-! STRNCPY(clip_header[1].type, CLIP_TYPE_TEXT, 8);
- clip_header[1].length = len + 1;
- clip_header[1].data = text_clip;
-
-! switch(type)
- {
- default: /* fallthrough to MLINE */
- case MLINE: *vim_clip = 'L'; break;
-***************
-*** 148,161 ****
- #endif
- }
-
-! vim_strncpy( text_clip, str, len );
-
- vim_clip[ 1 ] = NUL;
-
-! PhClipboardCopy( PhInputGroup( NULL ), 2, clip_header);
- }
-! vim_free( text_clip );
- }
-! vim_free( str );
- }
- #endif
---- 148,161 ----
- #endif
- }
-
-! vim_strncpy(text_clip, str, len);
-
- vim_clip[ 1 ] = NUL;
-
-! PhClipboardCopy(PhInputGroup(NULL), 2, clip_header);
- }
-! vim_free(text_clip);
- }
-! vim_free(str);
- }
- #endif
-*** ../vim-7.3.320/src/version.c 2011-09-21 19:10:42.000000000 +0200
---- src/version.c 2011-09-21 19:47:50.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 321,
- /**/
-
---
-Bypasses are devices that allow some people to dash from point A to
-point B very fast while other people dash from point B to point A very
-fast. People living at point C, being a point directly in between, are
-often given to wonder what's so great about point A that so many people
-from point B are so keen to get there and what's so great about point B
-that so many people from point A are so keen to get there. They often
-wish that people would just once and for all work out where the hell
-they wanted to be.
- -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.322 b/source/ap/vim/patches/7.3.322
deleted file mode 100644
index d81b9ec63..000000000
--- a/source/ap/vim/patches/7.3.322
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.322
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.322
-Problem: #ifdef for PDP_RETVAL doesn't work, INT_PTR can be a typedef.
-Solution: Check the MSC version and 64 bit flags. (Sergiu Dotenco)
-Files: src/os_mswin.c
-
-
-*** ../vim-7.3.321/src/os_mswin.c 2011-08-10 17:07:56.000000000 +0200
---- src/os_mswin.c 2011-09-21 20:09:05.000000000 +0200
-***************
-*** 1781,1787 ****
- }
-
- /* Attempt to make this work for old and new compilers */
-! #if !defined(_MSC_VER) || (_MSC_VER < 1300) || !defined(INT_PTR)
- # define PDP_RETVAL BOOL
- #else
- # define PDP_RETVAL INT_PTR
---- 1781,1787 ----
- }
-
- /* Attempt to make this work for old and new compilers */
-! #if !defined(_WIN64) && (!defined(_MSC_VER) || _MSC_VER < 1300)
- # define PDP_RETVAL BOOL
- #else
- # define PDP_RETVAL INT_PTR
-*** ../vim-7.3.321/src/version.c 2011-09-21 19:50:00.000000000 +0200
---- src/version.c 2011-09-21 20:08:29.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 322,
- /**/
-
---
-Don't Panic!
- -- The Hitchhiker's Guide to the Galaxy
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.323 b/source/ap/vim/patches/7.3.323
deleted file mode 100644
index 10f6d1939..000000000
--- a/source/ap/vim/patches/7.3.323
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.323
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.323
-Problem: The default 'errorformat' does not ignore some "included from"
- lines.
-Solution: Add a few more patterns. (Ben Boeckel)
-Files: src/option.h
-
-
-*** ../vim-7.3.322/src/option.h 2011-07-27 13:59:12.000000000 +0200
---- src/option.h 2011-09-30 14:32:13.000000000 +0200
-***************
-*** 33,39 ****
- # ifdef EBCDIC
- #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
- # else
-! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-Gfrom %f:%l:%c,%-Gfrom %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
- # endif
- # endif
- # endif
---- 33,39 ----
- # ifdef EBCDIC
- #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
- # else
-! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
- # endif
- # endif
- # endif
-*** ../vim-7.3.322/src/version.c 2011-09-21 20:09:38.000000000 +0200
---- src/version.c 2011-09-30 14:38:59.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 323,
- /**/
-
---
-Due knot trussed yore spell chequer two fined awl miss steaks.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.324 b/source/ap/vim/patches/7.3.324
deleted file mode 100644
index 59b5c6c07..000000000
--- a/source/ap/vim/patches/7.3.324
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.324
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.324 (after 7.3.237)
-Problem: Completion for ":compiler" shows color scheme names.
-Solution: Fix the directory name. (James Vega)
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.323/src/ex_getln.c 2011-08-17 16:25:43.000000000 +0200
---- src/ex_getln.c 2011-09-30 16:22:14.000000000 +0200
-***************
-*** 4546,4552 ****
- }
- if (xp->xp_context == EXPAND_COMPILER)
- {
-! char *directories[] = {"colors", NULL};
- return ExpandRTDir(pat, num_file, file, directories);
- }
- if (xp->xp_context == EXPAND_OWNSYNTAX)
---- 4546,4552 ----
- }
- if (xp->xp_context == EXPAND_COMPILER)
- {
-! char *directories[] = {"compiler", NULL};
- return ExpandRTDir(pat, num_file, file, directories);
- }
- if (xp->xp_context == EXPAND_OWNSYNTAX)
-*** ../vim-7.3.323/src/version.c 2011-09-30 14:44:49.000000000 +0200
---- src/version.c 2011-09-30 16:23:15.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 324,
- /**/
-
-
---
-hundred-and-one symptoms of being an internet addict:
-31. You code your homework in HTML and give your instructor the URL.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.325 b/source/ap/vim/patches/7.3.325
deleted file mode 100644
index 80ebc6deb..000000000
--- a/source/ap/vim/patches/7.3.325
+++ /dev/null
@@ -1,64 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.325
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.325
-Problem: A duplicated function argument gives an internal error.
-Solution: Give a proper error message. (based on patch by Tyru)
-Files: src/eval.c
-
-
-*** ../vim-7.3.324/src/eval.c 2011-09-14 16:52:02.000000000 +0200
---- src/eval.c 2011-09-30 16:32:20.000000000 +0200
-***************
-*** 20461,20466 ****
---- 20461,20467 ----
- exarg_T *eap;
- {
- char_u *theline;
-+ int i;
- int j;
- int c;
- int saved_did_emsg;
-***************
-*** 20707,20712 ****
---- 20708,20722 ----
- arg = vim_strsave(arg);
- if (arg == NULL)
- goto erret;
-+
-+ /* Check for duplicate argument name. */
-+ for (i = 0; i < newargs.ga_len; ++i)
-+ if (STRCMP(((char_u **)(newargs.ga_data))[i], arg) == 0)
-+ {
-+ EMSG2(_("E853: Duplicate argument name: %s"), arg);
-+ goto erret;
-+ }
-+
- ((char_u **)(newargs.ga_data))[newargs.ga_len] = arg;
- *p = c;
- newargs.ga_len++;
-*** ../vim-7.3.324/src/version.c 2011-09-30 16:23:21.000000000 +0200
---- src/version.c 2011-09-30 16:39:16.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 325,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-32. You don't know what sex three of your closest friends are, because they
- have neutral nicknames and you never bothered to ask.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.326 b/source/ap/vim/patches/7.3.326
deleted file mode 100644
index 4ad52e960..000000000
--- a/source/ap/vim/patches/7.3.326
+++ /dev/null
@@ -1,285 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.326
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.326
-Problem: MingW 4.6 no longer supports the -mno-cygwin option.
-Solution: Split the Cygwin and MingW makefiles. (Matsushita Shougo)
-Files: src/GvimExt/Make_cyg.mak, src/GvimExt/Make_ming.mak,
- src/Make_cyg.mak, src/Make_ming.mak, src/xxd/Make_ming.mak,
- Filelist
-
-
-*** ../vim-7.3.325/src/GvimExt/Make_cyg.mak 2011-09-30 16:55:18.000000000 +0200
---- src/GvimExt/Make_cyg.mak 2011-09-30 16:45:49.000000000 +0200
-***************
-*** 0 ****
---- 1,77 ----
-+ # Project: gvimext
-+ # Generates gvimext.dll with gcc.
-+ # To be used with Cygwin.
-+ #
-+ # Originally, the DLL base address was fixed: -Wl,--image-base=0x1C000000
-+ # Now it is allocated dymanically by the linker by evaluating all DLLs
-+ # already loaded in memory. The binary image contains as well information
-+ # for automatic pseudo-rebasing, if needed by the system. ALV 2004-02-29
-+
-+ # If cross-compiling set this to yes, else set it to no
-+ CROSS = no
-+ #CROSS = yes
-+ # For the old MinGW 2.95 (the one you get e.g. with debian woody)
-+ # set the following variable to yes and check if the executables are
-+ # really named that way.
-+ # If you have a newer MinGW or you are using cygwin set it to no and
-+ # check also the executables
-+ MINGWOLD = no
-+
-+ # Link against the shared versions of libgcc/libstdc++ by default. Set
-+ # STATIC_STDCPLUS to "yes" to link against static versions instead.
-+ STATIC_STDCPLUS=no
-+ #STATIC_STDCPLUS=yes
-+
-+ # Note: -static-libstdc++ is not available until gcc 4.5.x.
-+ LDFLAGS += -shared
-+ ifeq (yes, $(STATIC_STDCPLUS))
-+ LDFLAGS += -static-libgcc -static-libstdc++
-+ endif
-+
-+ ifeq ($(CROSS),yes)
-+ DEL = rm
-+ ifeq ($(MINGWOLD),yes)
-+ CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks
-+ else
-+ CXXFLAGS := -O2 -mno-cygwin
-+ endif
-+ else
-+ CXXFLAGS := -O2 -mno-cygwin
-+ ifneq (sh.exe, $(SHELL))
-+ DEL = rm
-+ else
-+ DEL = del
-+ endif
-+ endif
-+ CXX := $(CROSS_COMPILE)g++
-+ WINDRES := $(CROSS_COMPILE)windres
-+ WINDRES_CXX = $(CXX)
-+ WINDRES_FLAGS = --preprocessor="$(WINDRES_CXX) -E -xc" -DRC_INVOKED
-+ LIBS := -luuid
-+ RES := gvimext.res
-+ DEFFILE = gvimext_ming.def
-+ OBJ := gvimext.o
-+
-+ DLL := gvimext.dll
-+
-+ .PHONY: all all-before all-after clean clean-custom
-+
-+ all: all-before $(DLL) all-after
-+
-+ $(DLL): $(OBJ) $(RES) $(DEFFILE)
-+ $(CXX) $(LDFLAGS) $(CXXFLAGS) -s -o $@ \
-+ -Wl,--enable-auto-image-base \
-+ -Wl,--enable-auto-import \
-+ -Wl,--whole-archive \
-+ $^ \
-+ -Wl,--no-whole-archive \
-+ $(LIBS)
-+
-+ gvimext.o: gvimext.cpp
-+ $(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@
-+
-+ $(RES): gvimext_ming.rc
-+ $(WINDRES) $(WINDRES_FLAGS) --input-format=rc --output-format=coff -DMING $? -o $@
-+
-+ clean: clean-custom
-+ -$(DEL) $(OBJ) $(RES) $(DLL)
-*** ../vim-7.3.325/src/GvimExt/Make_ming.mak 2010-12-30 14:50:46.000000000 +0100
---- src/GvimExt/Make_ming.mak 2011-09-30 16:47:09.000000000 +0200
-***************
-*** 1,6 ****
- # Project: gvimext
- # Generates gvimext.dll with gcc.
-! # Can be used for Cygwin and MingW (MingW ignores -mno-cygwin)
- #
- # Originally, the DLL base address was fixed: -Wl,--image-base=0x1C000000
- # Now it is allocated dymanically by the linker by evaluating all DLLs
---- 1,6 ----
- # Project: gvimext
- # Generates gvimext.dll with gcc.
-! # To be used with MingW.
- #
- # Originally, the DLL base address was fixed: -Wl,--image-base=0x1C000000
- # Now it is allocated dymanically by the linker by evaluating all DLLs
-***************
-*** 31,42 ****
- ifeq ($(CROSS),yes)
- DEL = rm
- ifeq ($(MINGWOLD),yes)
-! CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks
- else
-! CXXFLAGS := -O2 -mno-cygwin
- endif
- else
-! CXXFLAGS := -O2 -mno-cygwin
- ifneq (sh.exe, $(SHELL))
- DEL = rm
- else
---- 31,42 ----
- ifeq ($(CROSS),yes)
- DEL = rm
- ifeq ($(MINGWOLD),yes)
-! CXXFLAGS := -O2 -fvtable-thunks
- else
-! CXXFLAGS := -O2
- endif
- else
-! CXXFLAGS := -O2
- ifneq (sh.exe, $(SHELL))
- DEL = rm
- else
-***************
-*** 75,78 ****
-
- clean: clean-custom
- -$(DEL) $(OBJ) $(RES) $(DLL)
--
---- 75,77 ----
-*** ../vim-7.3.325/src/Make_cyg.mak 2010-11-03 21:59:23.000000000 +0100
---- src/Make_cyg.mak 2011-09-30 16:48:11.000000000 +0200
-***************
-*** 536,542 ****
- $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) USEDLL=$(USEDLL)
-
- GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
-! $(MAKE) -C GvimExt -f Make_ming.mak CROSS_COMPILE=$(CROSS_COMPILE)
-
- vimrun.exe: vimrun.c
- $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIBS)
---- 536,542 ----
- $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) USEDLL=$(USEDLL)
-
- GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
-! $(MAKE) -C GvimExt -f Make_cyg.mak CROSS_COMPILE=$(CROSS_COMPILE)
-
- vimrun.exe: vimrun.c
- $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIBS)
-***************
-*** 565,571 ****
- endif
- -$(DEL) pathdef.c
- $(MAKE) -C xxd -f Make_cyg.mak clean
-! $(MAKE) -C GvimExt -f Make_ming.mak clean
-
- distclean: clean
- -$(DEL) obj$(DIRSLASH)*.o
---- 565,571 ----
- endif
- -$(DEL) pathdef.c
- $(MAKE) -C xxd -f Make_cyg.mak clean
-! $(MAKE) -C GvimExt -f Make_cyg.mak clean
-
- distclean: clean
- -$(DEL) obj$(DIRSLASH)*.o
-*** ../vim-7.3.325/src/Make_ming.mak 2011-09-14 10:49:44.000000000 +0200
---- src/Make_ming.mak 2011-09-30 16:48:11.000000000 +0200
-***************
-*** 641,647 ****
- upx vim.exe
-
- xxd/xxd.exe: xxd/xxd.c
-! $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC)
-
- GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
- $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE)
---- 641,647 ----
- upx vim.exe
-
- xxd/xxd.exe: xxd/xxd.c
-! $(MAKE) -C xxd -f Make_ming.mak CC=$(CC)
-
- GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
- $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE)
-***************
-*** 659,665 ****
- -$(DEL) mzscheme_base.c
- endif
- $(MAKE) -C GvimExt -f Make_ming.mak clean
-! $(MAKE) -C xxd -f Make_cyg.mak clean
-
- ###########################################################################
- INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \
---- 659,665 ----
- -$(DEL) mzscheme_base.c
- endif
- $(MAKE) -C GvimExt -f Make_ming.mak clean
-! $(MAKE) -C xxd -f Make_ming.mak clean
-
- ###########################################################################
- INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \
-*** ../vim-7.3.325/src/xxd/Make_ming.mak 2011-09-30 16:55:18.000000000 +0200
---- src/xxd/Make_ming.mak 2011-09-30 16:48:34.000000000 +0200
-***************
-*** 0 ****
---- 1,28 ----
-+ # The most simplistic Makefile, for MinGW gcc on MS-DOS
-+
-+ ifndef USEDLL
-+ USEDLL = no
-+ endif
-+
-+ ifeq (yes, $(USEDLL))
-+ DEFINES =
-+ LIBS = -lc
-+ else
-+ DEFINES =
-+ LIBS =
-+ endif
-+
-+ CC = gcc
-+ CFLAGS = -O2 -Wall -DWIN32 $(DEFINES)
-+
-+ ifneq (sh.exe, $(SHELL))
-+ DEL = rm
-+ else
-+ DEL = del
-+ endif
-+
-+ xxd.exe: xxd.c
-+ $(CC) $(CFLAGS) -s -o xxd.exe xxd.c $(LIBS)
-+
-+ clean:
-+ -$(DEL) xxd.exe
-*** ../vim-7.3.325/Filelist 2011-06-12 20:36:00.000000000 +0200
---- Filelist 2011-09-30 16:49:29.000000000 +0200
-***************
-*** 313,318 ****
---- 313,319 ----
- src/xxd/Make_bc5.mak \
- src/xxd/Make_cyg.mak \
- src/xxd/Make_djg.mak \
-+ src/xxd/Make_ming.mak \
- src/xxd/Make_mvc.mak \
- nsis/gvim.nsi \
- nsis/README.txt \
-*** ../vim-7.3.325/src/version.c 2011-09-30 16:39:41.000000000 +0200
---- src/version.c 2011-09-30 16:49:57.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 326,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-33. You name your children Eudora, Mozilla and Dotcom.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.327 b/source/ap/vim/patches/7.3.327
deleted file mode 100644
index 1de5a9964..000000000
--- a/source/ap/vim/patches/7.3.327
+++ /dev/null
@@ -1,64 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.327
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.327
-Problem: When jumping to a help tag a closed fold doesn't open.
-Solution: Save and restore KeyTyped. (Yasuhiro Matsumoto)
-Files: src/ex_cmds.c
-
-
-*** ../vim-7.3.326/src/ex_cmds.c 2011-09-14 14:43:21.000000000 +0200
---- src/ex_cmds.c 2011-09-30 17:24:03.000000000 +0200
-***************
-*** 5508,5513 ****
---- 5508,5516 ----
- int len;
- char_u *lang;
- #endif
-+ #ifdef FEAT_FOLDING
-+ int old_KeyTyped = KeyTyped;
-+ #endif
-
- if (eap != NULL)
- {
-***************
-*** 5671,5676 ****
---- 5674,5685 ----
- if (!p_im)
- restart_edit = 0; /* don't want insert mode in help file */
-
-+ #ifdef FEAT_FOLDING
-+ /* Restore KeyTyped, setting 'filetype=help' may reset it.
-+ * It is needed for do_tag top open folds under the cursor. */
-+ KeyTyped = old_KeyTyped;
-+ #endif
-+
- if (tag != NULL)
- do_tag(tag, DT_HELP, 1, FALSE, TRUE);
-
-*** ../vim-7.3.326/src/version.c 2011-09-30 16:56:00.000000000 +0200
---- src/version.c 2011-09-30 17:24:17.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 327,
- /**/
-
---
-Q. What happens to programmers when they die?
-A: MS-Windows programmers are reinstalled. C++ programmers become undefined,
- anyone who refers to them will die as well. Java programmers reincarnate
- after being garbage collected.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.328 b/source/ap/vim/patches/7.3.328
deleted file mode 100644
index 24dad7022..000000000
--- a/source/ap/vim/patches/7.3.328
+++ /dev/null
@@ -1,45 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.328
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.328
-Problem: When command line wraps the cursor may be displayed wrong when
- there are multi-byte characters.
-Solution: Position the cursor before drawing the text. (Yasuhiro Matsumoto)
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.327/src/ex_getln.c 2011-09-30 16:23:21.000000000 +0200
---- src/ex_getln.c 2011-09-30 17:39:27.000000000 +0200
-***************
-*** 2870,2875 ****
---- 2870,2876 ----
- {
- msg_no_more = TRUE;
- i = cmdline_row;
-+ cursorcmd();
- draw_cmdline(ccline.cmdpos, ccline.cmdlen - ccline.cmdpos);
- /* Avoid clearing the rest of the line too often. */
- if (cmdline_row != i || ccline.overstrike)
-*** ../vim-7.3.327/src/version.c 2011-09-30 17:30:27.000000000 +0200
---- src/version.c 2011-09-30 17:45:28.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 328,
- /**/
-
---
-To define recursion, we must first define recursion.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.329 b/source/ap/vim/patches/7.3.329
deleted file mode 100644
index fe48eb52d..000000000
--- a/source/ap/vim/patches/7.3.329
+++ /dev/null
@@ -1,72 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.329
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.329
-Problem: When skipping over code from ":for" to ":endfor" get an error for
- calling a dict function. (Yasuhiro Matsumoto)
-Solution: Ignore errors when skipping over :call command.
-Files: src/ex_docmd.c, src/eval.c
-
-
-*** ../vim-7.3.328/src/ex_docmd.c 2011-09-21 19:10:42.000000000 +0200
---- src/ex_docmd.c 2011-09-30 17:59:51.000000000 +0200
-***************
-*** 371,381 ****
- # define ex_endif ex_ni
- # define ex_else ex_ni
- # define ex_while ex_ni
-- # define ex_for ex_ni
- # define ex_continue ex_ni
- # define ex_break ex_ni
- # define ex_endwhile ex_ni
-- # define ex_endfor ex_ni
- # define ex_throw ex_ni
- # define ex_try ex_ni
- # define ex_catch ex_ni
---- 371,379 ----
-*** ../vim-7.3.328/src/eval.c 2011-09-30 16:39:41.000000000 +0200
---- src/eval.c 2011-09-30 18:29:58.000000000 +0200
-***************
-*** 3377,3383 ****
- /* trans_function_name() doesn't work well when skipping, use eval0()
- * instead to skip to any following command, e.g. for:
- * :if 0 | call dict.foo().bar() | endif */
-! eval0(eap->arg, &rettv, &eap->nextcmd, FALSE);
- return;
- }
-
---- 3377,3386 ----
- /* trans_function_name() doesn't work well when skipping, use eval0()
- * instead to skip to any following command, e.g. for:
- * :if 0 | call dict.foo().bar() | endif */
-! ++emsg_skip;
-! if (eval0(eap->arg, &rettv, &eap->nextcmd, FALSE) != FAIL)
-! clear_tv(&rettv);
-! --emsg_skip;
- return;
- }
-
-*** ../vim-7.3.328/src/version.c 2011-09-30 17:46:14.000000000 +0200
---- src/version.c 2011-09-30 18:32:27.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 329,
- /**/
-
---
-Have you heard about the new Beowulf cluster? It's so fast, it executes
-an infinite loop in 6 seconds.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.330 b/source/ap/vim/patches/7.3.330
deleted file mode 100644
index ab828b94c..000000000
--- a/source/ap/vim/patches/7.3.330
+++ /dev/null
@@ -1,45 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.330
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.330
-Problem: When longjmp() is invoked if the X server gives an error the state
- is not properly restored.
-Solution: Reset vgetc_busy. (Yukihiro Nakadaira)
-Files: src/main.c
-
-
-*** ../vim-7.3.329/src/main.c 2011-05-10 16:41:13.000000000 +0200
---- src/main.c 2011-10-04 16:41:03.000000000 +0200
-***************
-*** 1009,1014 ****
---- 1009,1015 ----
- skip_redraw = FALSE;
- RedrawingDisabled = 0;
- no_wait_return = 0;
-+ vgetc_busy = 0;
- # ifdef FEAT_EVAL
- emsg_skip = 0;
- # endif
-*** ../vim-7.3.329/src/version.c 2011-09-30 18:35:49.000000000 +0200
---- src/version.c 2011-10-04 16:42:23.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 330,
- /**/
-
---
-Just remember...if the world didn't suck, we'd all fall off.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.331 b/source/ap/vim/patches/7.3.331
deleted file mode 100644
index ba63c1729..000000000
--- a/source/ap/vim/patches/7.3.331
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.331
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.331
-Problem: "vit" selects wrong text when a tag name starts with the same text
- as an outer tag name. (Ben Fritz)
-Solution: Add "\>" to the pattern to check for word boundary.
-Files: src/search.c
-
-
-*** ../vim-7.3.330/src/search.c 2011-07-15 13:21:24.000000000 +0200
---- src/search.c 2011-10-04 16:54:08.000000000 +0200
-***************
-*** 3927,3933 ****
- curwin->w_cursor = old_pos;
- goto theend;
- }
-! sprintf((char *)spat, "<%.*s\\%%(\\_[^>]\\{-}[^/]>\\|>\\)\\c", len, p);
- sprintf((char *)epat, "</%.*s>\\c", len, p);
-
- r = do_searchpair(spat, (char_u *)"", epat, FORWARD, (char_u *)"",
---- 3927,3933 ----
- curwin->w_cursor = old_pos;
- goto theend;
- }
-! sprintf((char *)spat, "<%.*s\\>\\%%(\\_[^>]\\{-}[^/]>\\|>\\)\\c", len, p);
- sprintf((char *)epat, "</%.*s>\\c", len, p);
-
- r = do_searchpair(spat, (char_u *)"", epat, FORWARD, (char_u *)"",
-*** ../vim-7.3.330/src/version.c 2011-10-04 16:43:49.000000000 +0200
---- src/version.c 2011-10-04 16:59:47.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 331,
- /**/
-
---
-The 50-50-90 rule: Anytime you have a 50-50 chance of getting
-something right, there's a 90% probability you'll get it wrong.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.332 b/source/ap/vim/patches/7.3.332
deleted file mode 100644
index ff0ab7c64..000000000
--- a/source/ap/vim/patches/7.3.332
+++ /dev/null
@@ -1,206 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.332
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.332 (after 7.3.202)
-Problem: Indent after "public:" is not increased in C++ code. (Lech Lorens)
-Solution: Check for namespace after the regular checks. (partly by Martin
- Gieseking)
-Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
-
-
-*** ../vim-7.3.331/src/misc1.c 2011-09-07 19:58:04.000000000 +0200
---- src/misc1.c 2011-10-04 17:59:52.000000000 +0200
-***************
-*** 6389,6394 ****
---- 6389,6395 ----
- int lookfor_cpp_namespace = FALSE;
- int cont_amount = 0; /* amount for continuation line */
- int original_line_islabel;
-+ int added_to_amount = 0;
-
- for (options = curbuf->b_p_cino; *options; )
- {
-***************
-*** 7216,7267 ****
- else
- amount += ind_continuation;
- }
-! else if (lookfor_cpp_namespace)
- {
-! if (curwin->w_cursor.lnum == ourscope)
-! continue;
-
-! if (curwin->w_cursor.lnum == 0
-! || curwin->w_cursor.lnum
- < ourscope - FIND_NAMESPACE_LIM)
-! break;
-
-! l = ml_get_curline();
-
-! /*
-! * If we're in a comment now, skip to the start of the
-! * comment.
-! */
-! trypos = find_start_comment(ind_maxcomment);
-! if (trypos != NULL)
-! {
-! curwin->w_cursor.lnum = trypos->lnum + 1;
-! curwin->w_cursor.col = 0;
-! continue;
-! }
-!
-! /*
-! * Skip preprocessor directives and blank lines.
-! */
-! if (cin_ispreproc_cont(&l, &curwin->w_cursor.lnum))
-! continue;
-
-! if (cin_is_cpp_namespace(l))
-! {
-! amount += ind_cpp_namespace;
-! break;
-! }
-
-! if (cin_nocode(l))
-! continue;
-
-! }
-! else if (lookfor != LOOKFOR_TERM
-! && lookfor != LOOKFOR_CPP_BASECLASS)
-! {
-! amount = scope_amount;
-! if (theline[0] == '{')
-! amount += ind_open_extra;
- }
- break;
- }
---- 7217,7275 ----
- else
- amount += ind_continuation;
- }
-! else
- {
-! if (lookfor != LOOKFOR_TERM
-! && lookfor != LOOKFOR_CPP_BASECLASS)
-! {
-! amount = scope_amount;
-! if (theline[0] == '{')
-! {
-! amount += ind_open_extra;
-! added_to_amount = ind_open_extra;
-! }
-! }
-
-! if (lookfor_cpp_namespace)
-! {
-! /*
-! * Looking for C++ namespace, need to look further
-! * back.
-! */
-! if (curwin->w_cursor.lnum == ourscope)
-! continue;
-!
-! if (curwin->w_cursor.lnum == 0
-! || curwin->w_cursor.lnum
- < ourscope - FIND_NAMESPACE_LIM)
-! break;
-
-! l = ml_get_curline();
-
-! /* If we're in a comment now, skip to the start of
-! * the comment. */
-! trypos = find_start_comment(ind_maxcomment);
-! if (trypos != NULL)
-! {
-! curwin->w_cursor.lnum = trypos->lnum + 1;
-! curwin->w_cursor.col = 0;
-! continue;
-! }
-
-! /* Skip preprocessor directives and blank lines. */
-! if (cin_ispreproc_cont(&l, &curwin->w_cursor.lnum))
-! continue;
-
-! /* Finally the actual check for "namespace". */
-! if (cin_is_cpp_namespace(l))
-! {
-! amount += ind_cpp_namespace - added_to_amount;
-! break;
-! }
-
-! if (cin_nocode(l))
-! continue;
-! }
- }
- break;
- }
-*** ../vim-7.3.331/src/testdir/test3.in 2011-07-20 15:09:38.000000000 +0200
---- src/testdir/test3.in 2011-10-04 17:45:20.000000000 +0200
-***************
-*** 1309,1314 ****
---- 1309,1328 ----
- };
-
- STARTTEST
-+ :set cino=(0,gs,hs
-+ 2kdd]]=][
-+ ENDTEST
-+
-+ class Foo : public Bar
-+ {
-+ public:
-+ virtual void method1(void) = 0;
-+ virtual void method2(int arg1,
-+ int arg2,
-+ int arg3) = 0;
-+ };
-+
-+ STARTTEST
- :set cino=+20
- 2kdd]]=][
- ENDTEST
-*** ../vim-7.3.331/src/testdir/test3.ok 2011-07-20 15:09:38.000000000 +0200
---- src/testdir/test3.ok 2011-10-04 17:47:25.000000000 +0200
-***************
-*** 1190,1195 ****
---- 1190,1205 ----
- };
-
-
-+ class Foo : public Bar
-+ {
-+ public:
-+ virtual void method1(void) = 0;
-+ virtual void method2(int arg1,
-+ int arg2,
-+ int arg3) = 0;
-+ };
-+
-+
- void
- foo()
- {
-*** ../vim-7.3.331/src/version.c 2011-10-04 17:00:13.000000000 +0200
---- src/version.c 2011-10-04 18:02:17.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 332,
- /**/
-
---
-Latest survey shows that 3 out of 4 people make up 75% of the
-world's population.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.333 b/source/ap/vim/patches/7.3.333
deleted file mode 100644
index 974b0cda1..000000000
--- a/source/ap/vim/patches/7.3.333
+++ /dev/null
@@ -1,245 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.333
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.333
-Problem: Using "." to repeat a Visual delete counts the size in bytes, not
- characters. (Connor Lane Smith)
-Solution: Store the virtual column numbers instead of byte positions.
-Files: src/normal.c
-
-
-*** ../vim-7.3.332/src/normal.c 2011-07-15 17:51:30.000000000 +0200
---- src/normal.c 2011-10-04 19:47:14.000000000 +0200
-***************
-*** 20,26 ****
- */
- static int resel_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */
- static linenr_T resel_VIsual_line_count; /* number of lines */
-! static colnr_T resel_VIsual_col; /* nr of cols or end col */
-
- static int restart_VIsual_select = 0;
- #endif
---- 20,26 ----
- */
- static int resel_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */
- static linenr_T resel_VIsual_line_count; /* number of lines */
-! static colnr_T resel_VIsual_vcol; /* nr of cols or end col */
-
- static int restart_VIsual_select = 0;
- #endif
-***************
-*** 1436,1442 ****
- /* The visual area is remembered for redo */
- static int redo_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */
- static linenr_T redo_VIsual_line_count; /* number of lines */
-! static colnr_T redo_VIsual_col; /* number of cols or end column */
- static long redo_VIsual_count; /* count for Visual operator */
- # ifdef FEAT_VIRTUALEDIT
- int include_line_break = FALSE;
---- 1436,1442 ----
- /* The visual area is remembered for redo */
- static int redo_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */
- static linenr_T redo_VIsual_line_count; /* number of lines */
-! static colnr_T redo_VIsual_vcol; /* number of cols or end column */
- static long redo_VIsual_count; /* count for Visual operator */
- # ifdef FEAT_VIRTUALEDIT
- int include_line_break = FALSE;
-***************
-*** 1549,1570 ****
- #ifdef FEAT_VISUAL
- if (redo_VIsual_busy)
- {
- oap->start = curwin->w_cursor;
- curwin->w_cursor.lnum += redo_VIsual_line_count - 1;
- if (curwin->w_cursor.lnum > curbuf->b_ml.ml_line_count)
- curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count;
- VIsual_mode = redo_VIsual_mode;
-! if (VIsual_mode == 'v')
- {
-! if (redo_VIsual_line_count <= 1)
-! curwin->w_cursor.col += redo_VIsual_col - 1;
- else
-! curwin->w_cursor.col = redo_VIsual_col;
-! }
-! if (redo_VIsual_col == MAXCOL)
-! {
-! curwin->w_curswant = MAXCOL;
-! coladvance((colnr_T)MAXCOL);
- }
- cap->count0 = redo_VIsual_count;
- if (redo_VIsual_count != 0)
---- 1549,1579 ----
- #ifdef FEAT_VISUAL
- if (redo_VIsual_busy)
- {
-+ /* Redo of an operation on a Visual area. Use the same size from
-+ * redo_VIsual_line_count and redo_VIsual_vcol. */
- oap->start = curwin->w_cursor;
- curwin->w_cursor.lnum += redo_VIsual_line_count - 1;
- if (curwin->w_cursor.lnum > curbuf->b_ml.ml_line_count)
- curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count;
- VIsual_mode = redo_VIsual_mode;
-! if (redo_VIsual_vcol == MAXCOL || VIsual_mode == 'v')
- {
-! if (VIsual_mode == 'v')
-! {
-! if (redo_VIsual_line_count <= 1)
-! {
-! validate_virtcol();
-! curwin->w_curswant =
-! curwin->w_virtcol + redo_VIsual_vcol - 1;
-! }
-! else
-! curwin->w_curswant = redo_VIsual_vcol;
-! }
- else
-! {
-! curwin->w_curswant = MAXCOL;
-! }
-! coladvance(curwin->w_curswant);
- }
- cap->count0 = redo_VIsual_count;
- if (redo_VIsual_count != 0)
-***************
-*** 1710,1716 ****
- }
- }
- else if (redo_VIsual_busy)
-! oap->end_vcol = oap->start_vcol + redo_VIsual_col - 1;
- /*
- * Correct oap->end.col and oap->start.col to be the
- * upper-left and lower-right corner of the block area.
---- 1719,1725 ----
- }
- }
- else if (redo_VIsual_busy)
-! oap->end_vcol = oap->start_vcol + redo_VIsual_vcol - 1;
- /*
- * Correct oap->end.col and oap->start.col to be the
- * upper-left and lower-right corner of the block area.
-***************
-*** 1735,1747 ****
- */
- resel_VIsual_mode = VIsual_mode;
- if (curwin->w_curswant == MAXCOL)
-! resel_VIsual_col = MAXCOL;
-! else if (VIsual_mode == Ctrl_V)
-! resel_VIsual_col = oap->end_vcol - oap->start_vcol + 1;
-! else if (oap->line_count > 1)
-! resel_VIsual_col = oap->end.col;
- else
-! resel_VIsual_col = oap->end.col - oap->start.col + 1;
- resel_VIsual_line_count = oap->line_count;
- }
-
---- 1744,1765 ----
- */
- resel_VIsual_mode = VIsual_mode;
- if (curwin->w_curswant == MAXCOL)
-! resel_VIsual_vcol = MAXCOL;
- else
-! {
-! if (VIsual_mode != Ctrl_V)
-! getvvcol(curwin, &(oap->end),
-! NULL, NULL, &oap->end_vcol);
-! if (VIsual_mode == Ctrl_V || oap->line_count <= 1)
-! {
-! if (VIsual_mode != Ctrl_V)
-! getvvcol(curwin, &(oap->start),
-! &oap->start_vcol, NULL, NULL);
-! resel_VIsual_vcol = oap->end_vcol - oap->start_vcol + 1;
-! }
-! else
-! resel_VIsual_vcol = oap->end_vcol;
-! }
- resel_VIsual_line_count = oap->line_count;
- }
-
-***************
-*** 1769,1775 ****
- if (!redo_VIsual_busy)
- {
- redo_VIsual_mode = resel_VIsual_mode;
-! redo_VIsual_col = resel_VIsual_col;
- redo_VIsual_line_count = resel_VIsual_line_count;
- redo_VIsual_count = cap->count0;
- }
---- 1787,1793 ----
- if (!redo_VIsual_busy)
- {
- redo_VIsual_mode = resel_VIsual_mode;
-! redo_VIsual_vcol = resel_VIsual_vcol;
- redo_VIsual_line_count = resel_VIsual_line_count;
- redo_VIsual_count = cap->count0;
- }
-***************
-*** 7631,7642 ****
- if (VIsual_mode == 'v')
- {
- if (resel_VIsual_line_count <= 1)
-! curwin->w_cursor.col += resel_VIsual_col * cap->count0 - 1;
- else
-! curwin->w_cursor.col = resel_VIsual_col;
-! check_cursor_col();
- }
-! if (resel_VIsual_col == MAXCOL)
- {
- curwin->w_curswant = MAXCOL;
- coladvance((colnr_T)MAXCOL);
---- 7649,7664 ----
- if (VIsual_mode == 'v')
- {
- if (resel_VIsual_line_count <= 1)
-! {
-! validate_virtcol();
-! curwin->w_curswant = curwin->w_virtcol
-! + resel_VIsual_vcol * cap->count0 - 1;
-! }
- else
-! curwin->w_curswant = resel_VIsual_vcol;
-! coladvance(curwin->w_curswant);
- }
-! if (resel_VIsual_vcol == MAXCOL)
- {
- curwin->w_curswant = MAXCOL;
- coladvance((colnr_T)MAXCOL);
-***************
-*** 7645,7651 ****
- {
- validate_virtcol();
- curwin->w_curswant = curwin->w_virtcol
-! + resel_VIsual_col * cap->count0 - 1;
- coladvance(curwin->w_curswant);
- }
- else
---- 7667,7673 ----
- {
- validate_virtcol();
- curwin->w_curswant = curwin->w_virtcol
-! + resel_VIsual_vcol * cap->count0 - 1;
- coladvance(curwin->w_curswant);
- }
- else
-*** ../vim-7.3.332/src/version.c 2011-10-04 18:03:43.000000000 +0200
---- src/version.c 2011-10-04 21:05:44.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 333,
- /**/
-
---
-It was recently discovered that research causes cancer in rats.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.334 b/source/ap/vim/patches/7.3.334
deleted file mode 100644
index 85d5b16d2..000000000
--- a/source/ap/vim/patches/7.3.334
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.334
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.334
-Problem: Latest MingW about XSUBPP referencing itself. (Gongqian Li)
-Solution: Rename the first use to XSUBPPTRY.
-Files: src/Make_ming.mak
-
-
-*** ../vim-7.3.333/src/Make_ming.mak 2011-09-30 16:56:00.000000000 +0200
---- src/Make_ming.mak 2011-10-09 14:23:06.000000000 +0200
-***************
-*** 108,117 ****
- # on NT, it's here:
- PERLLIB=$(PERL)/lib
- PERLLIBS=$(PERLLIB)/Core
-! XSUBPP=$(PERLLIB)/ExtUtils/xsubpp
-! XSUBPP_EXISTS=$(shell perl -e "print 1 unless -e '$(XSUBPP)'")
- ifeq "$(XSUBPP_EXISTS)" ""
-! XSUBPP=perl $(XSUBPP)
- else
- XSUBPP=xsubpp
- endif
---- 108,117 ----
- # on NT, it's here:
- PERLLIB=$(PERL)/lib
- PERLLIBS=$(PERLLIB)/Core
-! XSUBPPTRY=$(PERLLIB)/ExtUtils/xsubpp
-! XSUBPP_EXISTS=$(shell perl -e "print 1 unless -e '$(XSUBPPTRY)'")
- ifeq "$(XSUBPP_EXISTS)" ""
-! XSUBPP=perl $(XSUBPPTRY)
- else
- XSUBPP=xsubpp
- endif
-*** ../vim-7.3.333/src/version.c 2011-10-04 21:22:40.000000000 +0200
---- src/version.c 2011-10-12 14:10:20.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 334,
- /**/
-
---
-Q: Should I clean my house or work on Vim?
-A: Whatever contains more bugs.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.335 b/source/ap/vim/patches/7.3.335
deleted file mode 100644
index dc1cc5605..000000000
--- a/source/ap/vim/patches/7.3.335
+++ /dev/null
@@ -1,48 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.335
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.335
-Problem: When 'imdisable' is reset from an autocommand in Insert mode it
- doesn't take effect.
-Solution: Call im_set_active() in Insert mode. (Taro Muraoka)
-Files: src/option.c
-
-
-*** ../vim-7.3.334/src/option.c 2011-09-21 13:40:13.000000000 +0200
---- src/option.c 2011-10-12 14:09:46.000000000 +0200
-***************
-*** 7806,7811 ****
---- 7806,7815 ----
- /* Only de-activate it here, it will be enabled when changing mode. */
- if (p_imdisable)
- im_set_active(FALSE);
-+ else if (State & INSERT)
-+ /* When the option is set from an autocommand, it may need to take
-+ * effect right away. */
-+ im_set_active(curbuf->b_p_iminsert == B_IMODE_IM);
- }
- #endif
-
-*** ../vim-7.3.334/src/version.c 2011-10-12 14:11:43.000000000 +0200
---- src/version.c 2011-10-12 16:56:30.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 335,
- /**/
-
---
-Time is money. Especially if you make clocks.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.336 b/source/ap/vim/patches/7.3.336
deleted file mode 100644
index 902f578c3..000000000
--- a/source/ap/vim/patches/7.3.336
+++ /dev/null
@@ -1,1100 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.336
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.336
-Problem: When a tags file specifies an encoding different from 'enc' it
- may hang and using a pattern doesn't work.
-Solution: Convert the whole line. Continue reading the header after the
- SORT tag. Add test83. (Yukihiro Nakadaira)
-Files: src/tag.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
- src/testdir/Make_vms.mms, src/testdir/Makefile,
- src/testdir/test83-tags2, src/testdir/test83-tags3,
- src/testdir/test83.in, src/testdir/test83.ok
-
-
-*** ../vim-7.3.335/src/tag.c 2011-04-11 21:35:03.000000000 +0200
---- src/tag.c 2011-10-12 19:51:04.000000000 +0200
-***************
-*** 1277,1282 ****
---- 1277,1283 ----
- {
- FILE *fp;
- char_u *lbuf; /* line buffer */
-+ int lbuf_size = LSIZE; /* length of lbuf */
- char_u *tag_fname; /* name of tag file */
- tagname_T tn; /* info for get_tagfname() */
- int first_file; /* trying first tag file */
-***************
-*** 1291,1296 ****
---- 1292,1298 ----
- char_u *s;
- int i;
- #ifdef FEAT_TAG_BINS
-+ int tag_file_sorted = NUL; /* !_TAG_FILE_SORTED value */
- struct tag_search_info /* Binary search file offsets */
- {
- off_t low_offset; /* offset for first char of first line that
-***************
-*** 1360,1372 ****
- char_u *saved_pat = NULL; /* copy of pat[] */
- #endif
-
-- /* Use two sets of variables for the pattern: "orgpat" holds the values
-- * for the original pattern and "convpat" converted from 'encoding' to
-- * encoding of the tags file. "pats" point to either one of these. */
-- pat_T *pats;
- pat_T orgpat; /* holds unconverted pattern info */
- #ifdef FEAT_MBYTE
-- pat_T convpat; /* holds converted pattern info */
- vimconv_T vimconv;
- #endif
-
---- 1362,1369 ----
-***************
-*** 1390,1396 ****
-
- help_save = curbuf->b_help;
- orgpat.pat = pat;
-- pats = &orgpat;
- #ifdef FEAT_MBYTE
- vimconv.vc_type = CONV_NONE;
- #endif
---- 1387,1392 ----
-***************
-*** 1398,1404 ****
- /*
- * Allocate memory for the buffers that are used
- */
-! lbuf = alloc(LSIZE);
- tag_fname = alloc(MAXPATHL + 1);
- #ifdef FEAT_EMACS_TAGS
- ebuf = alloc(LSIZE);
---- 1394,1400 ----
- /*
- * Allocate memory for the buffers that are used
- */
-! lbuf = alloc(lbuf_size);
- tag_fname = alloc(MAXPATHL + 1);
- #ifdef FEAT_EMACS_TAGS
- ebuf = alloc(LSIZE);
-***************
-*** 1424,1453 ****
- if (help_only) /* want tags from help file */
- curbuf->b_help = TRUE; /* will be restored later */
-
-! pats->len = (int)STRLEN(pat);
- #ifdef FEAT_MULTI_LANG
- if (curbuf->b_help)
- {
- /* When "@ab" is specified use only the "ab" language, otherwise
- * search all languages. */
-! if (pats->len > 3 && pat[pats->len - 3] == '@'
-! && ASCII_ISALPHA(pat[pats->len - 2])
-! && ASCII_ISALPHA(pat[pats->len - 1]))
- {
-! saved_pat = vim_strnsave(pat, pats->len - 3);
- if (saved_pat != NULL)
- {
-! help_lang_find = &pat[pats->len - 2];
-! pats->pat = saved_pat;
-! pats->len -= 3;
- }
- }
- }
- #endif
-! if (p_tl != 0 && pats->len > p_tl) /* adjust for 'taglength' */
-! pats->len = p_tl;
-
-! prepare_pats(pats, has_re);
-
- #ifdef FEAT_TAG_BINS
- /* This is only to avoid a compiler warning for using search_info
---- 1420,1449 ----
- if (help_only) /* want tags from help file */
- curbuf->b_help = TRUE; /* will be restored later */
-
-! orgpat.len = (int)STRLEN(pat);
- #ifdef FEAT_MULTI_LANG
- if (curbuf->b_help)
- {
- /* When "@ab" is specified use only the "ab" language, otherwise
- * search all languages. */
-! if (orgpat.len > 3 && pat[orgpat.len - 3] == '@'
-! && ASCII_ISALPHA(pat[orgpat.len - 2])
-! && ASCII_ISALPHA(pat[orgpat.len - 1]))
- {
-! saved_pat = vim_strnsave(pat, orgpat.len - 3);
- if (saved_pat != NULL)
- {
-! help_lang_find = &pat[orgpat.len - 2];
-! orgpat.pat = saved_pat;
-! orgpat.len -= 3;
- }
- }
- }
- #endif
-! if (p_tl != 0 && orgpat.len > p_tl) /* adjust for 'taglength' */
-! orgpat.len = p_tl;
-
-! prepare_pats(&orgpat, has_re);
-
- #ifdef FEAT_TAG_BINS
- /* This is only to avoid a compiler warning for using search_info
-***************
-*** 1466,1478 ****
- * Only ignore case when TAG_NOIC not used or 'ignorecase' set.
- */
- #ifdef FEAT_TAG_BINS
-! pats->regmatch.rm_ic = ((p_ic || !noic)
-! && (findall || pats->headlen == 0 || !p_tbs));
- for (round = 1; round <= 2; ++round)
- {
-! linear = (pats->headlen == 0 || !p_tbs || round == 2);
- #else
-! pats->regmatch.rm_ic = (p_ic || !noic);
- #endif
-
- /*
---- 1462,1474 ----
- * Only ignore case when TAG_NOIC not used or 'ignorecase' set.
- */
- #ifdef FEAT_TAG_BINS
-! orgpat.regmatch.rm_ic = ((p_ic || !noic)
-! && (findall || orgpat.headlen == 0 || !p_tbs));
- for (round = 1; round <= 2; ++round)
- {
-! linear = (orgpat.headlen == 0 || !p_tbs || round == 2);
- #else
-! orgpat.regmatch.rm_ic = (p_ic || !noic);
- #endif
-
- /*
-***************
-*** 1701,1706 ****
---- 1697,1732 ----
- }
- line_read_in:
-
-+ #ifdef FEAT_MBYTE
-+ if (vimconv.vc_type != CONV_NONE)
-+ {
-+ char_u *conv_line;
-+ int len;
-+
-+ /* Convert every line. Converting the pattern from 'enc' to
-+ * the tags file encoding doesn't work, because characters are
-+ * not recognized. */
-+ conv_line = string_convert(&vimconv, lbuf, NULL);
-+ if (conv_line != NULL)
-+ {
-+ /* Copy or swap lbuf and conv_line. */
-+ len = (int)STRLEN(conv_line) + 1;
-+ if (len > lbuf_size)
-+ {
-+ vim_free(lbuf);
-+ lbuf = conv_line;
-+ lbuf_size = len;
-+ }
-+ else
-+ {
-+ STRCPY(lbuf, conv_line);
-+ vim_free(conv_line);
-+ }
-+ }
-+ }
-+ #endif
-+
-+
- #ifdef FEAT_EMACS_TAGS
- /*
- * Emacs tags line with CTRL-L: New file name on next line.
-***************
-*** 1770,1775 ****
---- 1796,1828 ----
- */
- if (state == TS_START)
- {
-+ if (STRNCMP(lbuf, "!_TAG_", 6) <= 0)
-+ {
-+ /*
-+ * Read header line.
-+ */
-+ #ifdef FEAT_TAG_BINS
-+ if (STRNCMP(lbuf, "!_TAG_FILE_SORTED\t", 18) == 0)
-+ tag_file_sorted = lbuf[18];
-+ #endif
-+ #ifdef FEAT_MBYTE
-+ if (STRNCMP(lbuf, "!_TAG_FILE_ENCODING\t", 20) == 0)
-+ {
-+ /* Prepare to convert every line from the specified
-+ * encoding to 'encoding'. */
-+ for (p = lbuf + 20; *p > ' ' && *p < 127; ++p)
-+ ;
-+ *p = NUL;
-+ convert_setup(&vimconv, lbuf + 20, p_enc);
-+ }
-+ #endif
-+
-+ /* Read the next line. Unrecognized flags are ignored. */
-+ continue;
-+ }
-+
-+ /* Headers ends. */
-+
- #ifdef FEAT_TAG_BINS
- /*
- * When there is no tag head, or ignoring case, need to do a
-***************
-*** 1786,1809 ****
- if (linear)
- # endif
- state = TS_LINEAR;
-! else if (STRNCMP(lbuf, "!_TAG_", 6) > 0)
- state = TS_BINARY;
-! else if (STRNCMP(lbuf, "!_TAG_FILE_SORTED\t", 18) == 0)
-! {
-! /* Check sorted flag */
-! if (lbuf[18] == '1')
- state = TS_BINARY;
-! else if (lbuf[18] == '2')
-! {
-! state = TS_BINARY;
-! sortic = TRUE;
-! pats->regmatch.rm_ic = (p_ic || !noic);
-! }
-! else
-! state = TS_LINEAR;
- }
-
-! if (state == TS_BINARY && pats->regmatch.rm_ic && !sortic)
- {
- /* binary search won't work for ignoring case, use linear
- * search. */
---- 1839,1858 ----
- if (linear)
- # endif
- state = TS_LINEAR;
-! else if (tag_file_sorted == NUL)
- state = TS_BINARY;
-! else if (tag_file_sorted == '1')
- state = TS_BINARY;
-! else if (tag_file_sorted == '2')
-! {
-! state = TS_BINARY;
-! sortic = TRUE;
-! orgpat.regmatch.rm_ic = (p_ic || !noic);
- }
-+ else
-+ state = TS_LINEAR;
-
-! if (state == TS_BINARY && orgpat.regmatch.rm_ic && !sortic)
- {
- /* binary search won't work for ignoring case, use linear
- * search. */
-***************
-*** 1843,1882 ****
- #endif
- }
-
-- #ifdef FEAT_MBYTE
-- if (lbuf[0] == '!' && pats == &orgpat
-- && STRNCMP(lbuf, "!_TAG_FILE_ENCODING\t", 20) == 0)
-- {
-- /* Convert the search pattern from 'encoding' to the
-- * specified encoding. */
-- for (p = lbuf + 20; *p > ' ' && *p < 127; ++p)
-- ;
-- *p = NUL;
-- convert_setup(&vimconv, p_enc, lbuf + 20);
-- if (vimconv.vc_type != CONV_NONE)
-- {
-- convpat.pat = string_convert(&vimconv, pats->pat, NULL);
-- if (convpat.pat != NULL)
-- {
-- pats = &convpat;
-- pats->len = (int)STRLEN(pats->pat);
-- prepare_pats(pats, has_re);
-- pats->regmatch.rm_ic = orgpat.regmatch.rm_ic;
-- }
-- }
--
-- /* Prepare for converting a match the other way around. */
-- convert_setup(&vimconv, lbuf + 20, p_enc);
-- continue;
-- }
-- #endif
--
- /*
- * Figure out where the different strings are in this line.
- * For "normal" tags: Do a quick check if the tag matches.
- * This speeds up tag searching a lot!
- */
-! if (pats->headlen
- #ifdef FEAT_EMACS_TAGS
- && !is_etag
- #endif
---- 1892,1903 ----
- #endif
- }
-
- /*
- * Figure out where the different strings are in this line.
- * For "normal" tags: Do a quick check if the tag matches.
- * This speeds up tag searching a lot!
- */
-! if (orgpat.headlen
- #ifdef FEAT_EMACS_TAGS
- && !is_etag
- #endif
-***************
-*** 1933,1941 ****
- cmplen = (int)(tagp.tagname_end - tagp.tagname);
- if (p_tl != 0 && cmplen > p_tl) /* adjust for 'taglength' */
- cmplen = p_tl;
-! if (has_re && pats->headlen < cmplen)
-! cmplen = pats->headlen;
-! else if (state == TS_LINEAR && pats->headlen != cmplen)
- continue;
-
- #ifdef FEAT_TAG_BINS
---- 1954,1962 ----
- cmplen = (int)(tagp.tagname_end - tagp.tagname);
- if (p_tl != 0 && cmplen > p_tl) /* adjust for 'taglength' */
- cmplen = p_tl;
-! if (has_re && orgpat.headlen < cmplen)
-! cmplen = orgpat.headlen;
-! else if (state == TS_LINEAR && orgpat.headlen != cmplen)
- continue;
-
- #ifdef FEAT_TAG_BINS
-***************
-*** 1954,1963 ****
- * Compare the current tag with the searched tag.
- */
- if (sortic)
-! tagcmp = tag_strnicmp(tagp.tagname, pats->head,
- (size_t)cmplen);
- else
-! tagcmp = STRNCMP(tagp.tagname, pats->head, cmplen);
-
- /*
- * A match with a shorter tag means to search forward.
---- 1975,1984 ----
- * Compare the current tag with the searched tag.
- */
- if (sortic)
-! tagcmp = tag_strnicmp(tagp.tagname, orgpat.head,
- (size_t)cmplen);
- else
-! tagcmp = STRNCMP(tagp.tagname, orgpat.head, cmplen);
-
- /*
- * A match with a shorter tag means to search forward.
-***************
-*** 1965,1973 ****
- */
- if (tagcmp == 0)
- {
-! if (cmplen < pats->headlen)
- tagcmp = -1;
-! else if (cmplen > pats->headlen)
- tagcmp = 1;
- }
-
---- 1986,1994 ----
- */
- if (tagcmp == 0)
- {
-! if (cmplen < orgpat.headlen)
- tagcmp = -1;
-! else if (cmplen > orgpat.headlen)
- tagcmp = 1;
- }
-
-***************
-*** 2011,2017 ****
- }
- else if (state == TS_SKIP_BACK)
- {
-! if (MB_STRNICMP(tagp.tagname, pats->head, cmplen) != 0)
- state = TS_STEP_FORWARD;
- else
- /* Have to skip back more. Restore the curr_offset
---- 2032,2038 ----
- }
- else if (state == TS_SKIP_BACK)
- {
-! if (MB_STRNICMP(tagp.tagname, orgpat.head, cmplen) != 0)
- state = TS_STEP_FORWARD;
- else
- /* Have to skip back more. Restore the curr_offset
-***************
-*** 2021,2027 ****
- }
- else if (state == TS_STEP_FORWARD)
- {
-! if (MB_STRNICMP(tagp.tagname, pats->head, cmplen) != 0)
- {
- if ((off_t)ftell(fp) > search_info.match_offset)
- break; /* past last match */
---- 2042,2048 ----
- }
- else if (state == TS_STEP_FORWARD)
- {
-! if (MB_STRNICMP(tagp.tagname, orgpat.head, cmplen) != 0)
- {
- if ((off_t)ftell(fp) > search_info.match_offset)
- break; /* past last match */
-***************
-*** 2032,2038 ****
- else
- #endif
- /* skip this match if it can't match */
-! if (MB_STRNICMP(tagp.tagname, pats->head, cmplen) != 0)
- continue;
-
- /*
---- 2053,2059 ----
- else
- #endif
- /* skip this match if it can't match */
-! if (MB_STRNICMP(tagp.tagname, orgpat.head, cmplen) != 0)
- continue;
-
- /*
-***************
-*** 2083,2123 ****
- if (p_tl != 0 && cmplen > p_tl) /* adjust for 'taglength' */
- cmplen = p_tl;
- /* if tag length does not match, don't try comparing */
-! if (pats->len != cmplen)
- match = FALSE;
- else
- {
-! if (pats->regmatch.rm_ic)
- {
-! match = (MB_STRNICMP(tagp.tagname, pats->pat, cmplen) == 0);
- if (match)
-! match_no_ic = (STRNCMP(tagp.tagname, pats->pat,
- cmplen) == 0);
- }
- else
-! match = (STRNCMP(tagp.tagname, pats->pat, cmplen) == 0);
- }
-
- /*
- * Has a regexp: Also find tags matching regexp.
- */
- match_re = FALSE;
-! if (!match && pats->regmatch.regprog != NULL)
- {
- int cc;
-
- cc = *tagp.tagname_end;
- *tagp.tagname_end = NUL;
-! match = vim_regexec(&pats->regmatch, tagp.tagname, (colnr_T)0);
- if (match)
- {
-! matchoff = (int)(pats->regmatch.startp[0] - tagp.tagname);
-! if (pats->regmatch.rm_ic)
- {
-! pats->regmatch.rm_ic = FALSE;
-! match_no_ic = vim_regexec(&pats->regmatch, tagp.tagname,
- (colnr_T)0);
-! pats->regmatch.rm_ic = TRUE;
- }
- }
- *tagp.tagname_end = cc;
---- 2104,2144 ----
- if (p_tl != 0 && cmplen > p_tl) /* adjust for 'taglength' */
- cmplen = p_tl;
- /* if tag length does not match, don't try comparing */
-! if (orgpat.len != cmplen)
- match = FALSE;
- else
- {
-! if (orgpat.regmatch.rm_ic)
- {
-! match = (MB_STRNICMP(tagp.tagname, orgpat.pat, cmplen) == 0);
- if (match)
-! match_no_ic = (STRNCMP(tagp.tagname, orgpat.pat,
- cmplen) == 0);
- }
- else
-! match = (STRNCMP(tagp.tagname, orgpat.pat, cmplen) == 0);
- }
-
- /*
- * Has a regexp: Also find tags matching regexp.
- */
- match_re = FALSE;
-! if (!match && orgpat.regmatch.regprog != NULL)
- {
- int cc;
-
- cc = *tagp.tagname_end;
- *tagp.tagname_end = NUL;
-! match = vim_regexec(&orgpat.regmatch, tagp.tagname, (colnr_T)0);
- if (match)
- {
-! matchoff = (int)(orgpat.regmatch.startp[0] - tagp.tagname);
-! if (orgpat.regmatch.rm_ic)
- {
-! orgpat.regmatch.rm_ic = FALSE;
-! match_no_ic = vim_regexec(&orgpat.regmatch, tagp.tagname,
- (colnr_T)0);
-! orgpat.regmatch.rm_ic = TRUE;
- }
- }
- *tagp.tagname_end = cc;
-***************
-*** 2174,2180 ****
- else
- mtt = MT_GL_OTH;
- }
-! if (pats->regmatch.rm_ic && !match_no_ic)
- mtt += MT_IC_OFF;
- if (match_re)
- mtt += MT_RE_OFF;
---- 2195,2201 ----
- else
- mtt = MT_GL_OTH;
- }
-! if (orgpat.regmatch.rm_ic && !match_no_ic)
- mtt += MT_IC_OFF;
- if (match_re)
- mtt += MT_RE_OFF;
-***************
-*** 2187,2221 ****
- */
- if (ga_grow(&ga_match[mtt], 1) == OK)
- {
-- #ifdef FEAT_MBYTE
-- char_u *conv_line = NULL;
-- char_u *lbuf_line = lbuf;
--
-- if (vimconv.vc_type != CONV_NONE)
-- {
-- /* Convert the tag line from the encoding of the tags
-- * file to 'encoding'. Then parse the line again. */
-- conv_line = string_convert(&vimconv, lbuf, NULL);
-- if (conv_line != NULL)
-- {
-- if (parse_tag_line(conv_line,
-- #ifdef FEAT_EMACS_TAGS
-- is_etag,
-- #endif
-- &tagp) == OK)
-- lbuf_line = conv_line;
-- else
-- /* doesn't work, go back to unconverted line. */
-- (void)parse_tag_line(lbuf,
-- #ifdef FEAT_EMACS_TAGS
-- is_etag,
-- #endif
-- &tagp);
-- }
-- }
-- #else
-- # define lbuf_line lbuf
-- #endif
- if (help_only)
- {
- #ifdef FEAT_MULTI_LANG
---- 2208,2213 ----
-***************
-*** 2307,2313 ****
- * without Emacs tags: <mtt><tag_fname><NUL><lbuf>
- */
- len = (int)STRLEN(tag_fname)
-! + (int)STRLEN(lbuf_line) + 3;
- #ifdef FEAT_EMACS_TAGS
- if (is_etag)
- len += (int)STRLEN(ebuf) + 1;
---- 2299,2305 ----
- * without Emacs tags: <mtt><tag_fname><NUL><lbuf>
- */
- len = (int)STRLEN(tag_fname)
-! + (int)STRLEN(lbuf) + 3;
- #ifdef FEAT_EMACS_TAGS
- if (is_etag)
- len += (int)STRLEN(ebuf) + 1;
-***************
-*** 2337,2343 ****
- else
- *s++ = NUL;
- #endif
-! STRCPY(s, lbuf_line);
- }
- }
-
---- 2329,2335 ----
- else
- *s++ = NUL;
- #endif
-! STRCPY(s, lbuf);
- }
- }
-
-***************
-*** 2373,2382 ****
- else
- vim_free(mfp);
- }
-- #ifdef FEAT_MBYTE
-- /* Note: this makes the values in "tagp" invalid! */
-- vim_free(conv_line);
-- #endif
- }
- else /* Out of memory! Just forget about the rest. */
- {
---- 2365,2370 ----
-***************
-*** 2415,2433 ****
- }
- #endif
- #ifdef FEAT_MBYTE
-- if (pats == &convpat)
-- {
-- /* Go back from converted pattern to original pattern. */
-- vim_free(pats->pat);
-- vim_free(pats->regmatch.regprog);
-- orgpat.regmatch.rm_ic = pats->regmatch.rm_ic;
-- pats = &orgpat;
-- }
- if (vimconv.vc_type != CONV_NONE)
- convert_setup(&vimconv, NULL, NULL);
- #endif
-
- #ifdef FEAT_TAG_BINS
- if (sort_error)
- {
- EMSG2(_("E432: Tags file not sorted: %s"), tag_fname);
---- 2403,2414 ----
- }
- #endif
- #ifdef FEAT_MBYTE
- if (vimconv.vc_type != CONV_NONE)
- convert_setup(&vimconv, NULL, NULL);
- #endif
-
- #ifdef FEAT_TAG_BINS
-+ tag_file_sorted = NUL;
- if (sort_error)
- {
- EMSG2(_("E432: Tags file not sorted: %s"), tag_fname);
-***************
-*** 2461,2473 ****
- #ifdef FEAT_TAG_BINS
- /* stop searching when already did a linear search, or when TAG_NOIC
- * used, and 'ignorecase' not set or already did case-ignore search */
-! if (stop_searching || linear || (!p_ic && noic) || pats->regmatch.rm_ic)
- break;
- # ifdef FEAT_CSCOPE
- if (use_cscope)
- break;
- # endif
-! pats->regmatch.rm_ic = TRUE; /* try another time while ignoring case */
- }
- #endif
-
---- 2442,2454 ----
- #ifdef FEAT_TAG_BINS
- /* stop searching when already did a linear search, or when TAG_NOIC
- * used, and 'ignorecase' not set or already did case-ignore search */
-! if (stop_searching || linear || (!p_ic && noic) || orgpat.regmatch.rm_ic)
- break;
- # ifdef FEAT_CSCOPE
- if (use_cscope)
- break;
- # endif
-! orgpat.regmatch.rm_ic = TRUE; /* try another time while ignoring case */
- }
- #endif
-
-***************
-*** 2480,2486 ****
-
- findtag_end:
- vim_free(lbuf);
-! vim_free(pats->regmatch.regprog);
- vim_free(tag_fname);
- #ifdef FEAT_EMACS_TAGS
- vim_free(ebuf);
---- 2461,2467 ----
-
- findtag_end:
- vim_free(lbuf);
-! vim_free(orgpat.regmatch.regprog);
- vim_free(tag_fname);
- #ifdef FEAT_EMACS_TAGS
- vim_free(ebuf);
-*** ../vim-7.3.335/src/testdir/Make_amiga.mak 2011-07-15 21:16:54.000000000 +0200
---- src/testdir/Make_amiga.mak 2011-10-12 19:21:00.000000000 +0200
-***************
-*** 29,35 ****
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
- test76.out test77.out test78.out test79.out test80.out \
-! test81.out test82.out
-
- .SUFFIXES: .in .out
-
---- 29,35 ----
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
- test76.out test77.out test78.out test79.out test80.out \
-! test81.out test82.out test83.out
-
- .SUFFIXES: .in .out
-
-***************
-*** 131,133 ****
---- 131,134 ----
- test80.out: test80.in
- test81.out: test81.in
- test82.out: test82.in
-+ test83.out: test83.in
-*** ../vim-7.3.335/src/testdir/Make_dos.mak 2011-07-15 21:16:54.000000000 +0200
---- src/testdir/Make_dos.mak 2011-10-12 17:39:03.000000000 +0200
-***************
-*** 29,35 ****
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out test82.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 29,35 ----
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out test82.out test83.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.335/src/testdir/Make_ming.mak 2011-07-15 21:16:54.000000000 +0200
---- src/testdir/Make_ming.mak 2011-10-12 17:39:03.000000000 +0200
-***************
-*** 49,55 ****
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out test82.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 49,55 ----
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out test82.out test83.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.335/src/testdir/Make_os2.mak 2011-07-15 21:16:54.000000000 +0200
---- src/testdir/Make_os2.mak 2011-10-12 17:39:03.000000000 +0200
-***************
-*** 29,35 ****
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
- test76.out test77.out test78.out test79.out test80.out \
-! test81.out test82.out
-
- .SUFFIXES: .in .out
-
---- 29,35 ----
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
- test76.out test77.out test78.out test79.out test80.out \
-! test81.out test82.out test83.out
-
- .SUFFIXES: .in .out
-
-*** ../vim-7.3.335/src/testdir/Make_vms.mms 2011-07-15 21:16:54.000000000 +0200
---- src/testdir/Make_vms.mms 2011-10-12 17:39:03.000000000 +0200
-***************
-*** 76,82 ****
- test66.out test67.out test68.out test69.out \
- test71.out test72.out test74.out test75.out test76.out \
- test77.out test78.out test79.out test80.out test81.out \
-! test82.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
---- 76,82 ----
- test66.out test67.out test68.out test69.out \
- test71.out test72.out test74.out test75.out test76.out \
- test77.out test78.out test79.out test80.out test81.out \
-! test82.out test83.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
-*** ../vim-7.3.335/src/testdir/Makefile 2011-07-15 21:16:54.000000000 +0200
---- src/testdir/Makefile 2011-10-12 17:39:03.000000000 +0200
-***************
-*** 26,32 ****
- test64.out test65.out test66.out test67.out test68.out \
- test69.out test70.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out test82.out
-
- SCRIPTS_GUI = test16.out
-
---- 26,32 ----
- test64.out test65.out test66.out test67.out test68.out \
- test69.out test70.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out test82.out test83.out
-
- SCRIPTS_GUI = test16.out
-
-***************
-*** 72,78 ****
- fi \
- else echo $* NO OUTPUT >>test.log; \
- fi"
-! -rm -rf X* test.ok viminfo
-
- test49.out: test49.vim
-
---- 72,78 ----
- fi \
- else echo $* NO OUTPUT >>test.log; \
- fi"
-! # -rm -rf X* test.ok viminfo
-
- test49.out: test49.vim
-
-*** ../vim-7.3.335/src/testdir/test83-tags2 2011-10-12 19:49:38.000000000 +0200
---- src/testdir/test83-tags2 2011-10-12 19:34:15.000000000 +0200
-***************
-*** 0 ****
---- 1,2 ----
-+ !_TAG_FILE_ENCODING cp932 //
-+ ‚`‚a‚b Xtags2.txt /‚`‚a‚b
-*** ../vim-7.3.335/src/testdir/test83-tags3 2011-10-12 19:49:38.000000000 +0200
---- src/testdir/test83-tags3 2011-10-12 19:35:42.000000000 +0200
-***************
-*** 0 ****
---- 1,102 ----
-+ !_TAG_FILE_SORTED 1 //
-+ !_TAG_FILE_ENCODING cp932 //
-+ abc1 Xtags3.txt /‚`‚a‚b
-+ abc2 Xtags3.txt /‚`‚a‚b
-+ abc3 Xtags3.txt /‚`‚a‚b
-+ abc4 Xtags3.txt /‚`‚a‚b
-+ abc5 Xtags3.txt /‚`‚a‚b
-+ abc6 Xtags3.txt /‚`‚a‚b
-+ abc7 Xtags3.txt /‚`‚a‚b
-+ abc8 Xtags3.txt /‚`‚a‚b
-+ abc9 Xtags3.txt /‚`‚a‚b
-+ abc10 Xtags3.txt /‚`‚a‚b
-+ abc11 Xtags3.txt /‚`‚a‚b
-+ abc12 Xtags3.txt /‚`‚a‚b
-+ abc13 Xtags3.txt /‚`‚a‚b
-+ abc14 Xtags3.txt /‚`‚a‚b
-+ abc15 Xtags3.txt /‚`‚a‚b
-+ abc16 Xtags3.txt /‚`‚a‚b
-+ abc17 Xtags3.txt /‚`‚a‚b
-+ abc18 Xtags3.txt /‚`‚a‚b
-+ abc19 Xtags3.txt /‚`‚a‚b
-+ abc20 Xtags3.txt /‚`‚a‚b
-+ abc21 Xtags3.txt /‚`‚a‚b
-+ abc22 Xtags3.txt /‚`‚a‚b
-+ abc23 Xtags3.txt /‚`‚a‚b
-+ abc24 Xtags3.txt /‚`‚a‚b
-+ abc25 Xtags3.txt /‚`‚a‚b
-+ abc26 Xtags3.txt /‚`‚a‚b
-+ abc27 Xtags3.txt /‚`‚a‚b
-+ abc28 Xtags3.txt /‚`‚a‚b
-+ abc29 Xtags3.txt /‚`‚a‚b
-+ abc30 Xtags3.txt /‚`‚a‚b
-+ abc31 Xtags3.txt /‚`‚a‚b
-+ abc32 Xtags3.txt /‚`‚a‚b
-+ abc33 Xtags3.txt /‚`‚a‚b
-+ abc34 Xtags3.txt /‚`‚a‚b
-+ abc35 Xtags3.txt /‚`‚a‚b
-+ abc36 Xtags3.txt /‚`‚a‚b
-+ abc37 Xtags3.txt /‚`‚a‚b
-+ abc38 Xtags3.txt /‚`‚a‚b
-+ abc39 Xtags3.txt /‚`‚a‚b
-+ abc40 Xtags3.txt /‚`‚a‚b
-+ abc41 Xtags3.txt /‚`‚a‚b
-+ abc42 Xtags3.txt /‚`‚a‚b
-+ abc43 Xtags3.txt /‚`‚a‚b
-+ abc44 Xtags3.txt /‚`‚a‚b
-+ abc45 Xtags3.txt /‚`‚a‚b
-+ abc46 Xtags3.txt /‚`‚a‚b
-+ abc47 Xtags3.txt /‚`‚a‚b
-+ abc48 Xtags3.txt /‚`‚a‚b
-+ abc49 Xtags3.txt /‚`‚a‚b
-+ abc50 Xtags3.txt /‚`‚a‚b
-+ abc51 Xtags3.txt /‚`‚a‚b
-+ abc52 Xtags3.txt /‚`‚a‚b
-+ abc53 Xtags3.txt /‚`‚a‚b
-+ abc54 Xtags3.txt /‚`‚a‚b
-+ abc55 Xtags3.txt /‚`‚a‚b
-+ abc56 Xtags3.txt /‚`‚a‚b
-+ abc57 Xtags3.txt /‚`‚a‚b
-+ abc58 Xtags3.txt /‚`‚a‚b
-+ abc59 Xtags3.txt /‚`‚a‚b
-+ abc60 Xtags3.txt /‚`‚a‚b
-+ abc61 Xtags3.txt /‚`‚a‚b
-+ abc62 Xtags3.txt /‚`‚a‚b
-+ abc63 Xtags3.txt /‚`‚a‚b
-+ abc64 Xtags3.txt /‚`‚a‚b
-+ abc65 Xtags3.txt /‚`‚a‚b
-+ abc66 Xtags3.txt /‚`‚a‚b
-+ abc67 Xtags3.txt /‚`‚a‚b
-+ abc68 Xtags3.txt /‚`‚a‚b
-+ abc69 Xtags3.txt /‚`‚a‚b
-+ abc70 Xtags3.txt /‚`‚a‚b
-+ abc71 Xtags3.txt /‚`‚a‚b
-+ abc72 Xtags3.txt /‚`‚a‚b
-+ abc73 Xtags3.txt /‚`‚a‚b
-+ abc74 Xtags3.txt /‚`‚a‚b
-+ abc75 Xtags3.txt /‚`‚a‚b
-+ abc76 Xtags3.txt /‚`‚a‚b
-+ abc77 Xtags3.txt /‚`‚a‚b
-+ abc78 Xtags3.txt /‚`‚a‚b
-+ abc79 Xtags3.txt /‚`‚a‚b
-+ abc80 Xtags3.txt /‚`‚a‚b
-+ abc81 Xtags3.txt /‚`‚a‚b
-+ abc82 Xtags3.txt /‚`‚a‚b
-+ abc83 Xtags3.txt /‚`‚a‚b
-+ abc84 Xtags3.txt /‚`‚a‚b
-+ abc85 Xtags3.txt /‚`‚a‚b
-+ abc86 Xtags3.txt /‚`‚a‚b
-+ abc87 Xtags3.txt /‚`‚a‚b
-+ abc88 Xtags3.txt /‚`‚a‚b
-+ abc89 Xtags3.txt /‚`‚a‚b
-+ abc90 Xtags3.txt /‚`‚a‚b
-+ abc91 Xtags3.txt /‚`‚a‚b
-+ abc92 Xtags3.txt /‚`‚a‚b
-+ abc93 Xtags3.txt /‚`‚a‚b
-+ abc94 Xtags3.txt /‚`‚a‚b
-+ abc95 Xtags3.txt /‚`‚a‚b
-+ abc96 Xtags3.txt /‚`‚a‚b
-+ abc97 Xtags3.txt /‚`‚a‚b
-+ abc98 Xtags3.txt /‚`‚a‚b
-+ abc99 Xtags3.txt /‚`‚a‚b
-+ abc100 Xtags3.txt /‚`‚a‚b
-*** ../vim-7.3.335/src/testdir/test83.in 2011-10-12 19:49:38.000000000 +0200
---- src/testdir/test83.in 2011-10-12 19:40:47.000000000 +0200
-***************
-*** 0 ****
---- 1,76 ----
-+ Tests for tag search with !_TAG_FILE_ENCODING.
-+
-+ STARTTEST
-+ :so mbyte.vim
-+ :if !has('iconv')
-+ : e! test.ok
-+ : w! test.out
-+ : qa!
-+ :endif
-+ :set enc=utf8
-+
-+ :/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt
-+ :/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt
-+ :/^text for tags3$/,/^text for tags3$/+1w! Xtags3.txt
-+ :/^tags1$/+1,/^tags1-end$/-1w! Xtags1
-+
-+ ggdG
-+
-+ :call setline('.', 'Results of test83')
-+
-+ :" case1:
-+ :new
-+ :set tags=Xtags1
-+ :let v:errmsg = ''
-+ :tag abcdefghijklmnopqrs
-+ :if v:errmsg =~ 'E426:' || getline('.') != 'abcdefghijklmnopqrs'
-+ : close
-+ : put ='case1: failed'
-+ :else
-+ : close
-+ : put ='case1: ok'
-+ :endif
-+
-+ :" case2:
-+ :new
-+ :set tags=test83-tags2
-+ :let v:errmsg = ''
-+ :tag /.BC
-+ :if v:errmsg =~ 'E426:' || getline('.') != 'ABC'
-+ : close
-+ : put ='case2: failed'
-+ :else
-+ : close
-+ : put ='case2: ok'
-+ :endif
-+
-+ :" case3:
-+ :new
-+ :set tags=test83-tags3
-+ :let v:errmsg = ''
-+ :tag abc50
-+ :if v:errmsg =~ 'E426:' || getline('.') != 'ABC'
-+ : close
-+ : put ='case3: failed'
-+ :else
-+ : close
-+ : put ='case3: ok'
-+ :endif
-+ :close
-+
-+ :wq! test.out
-+ ENDTEST
-+
-+ text for tags1
-+ abcdefghijklmnopqrs
-+
-+ text for tags2
-+ ABC
-+
-+ text for tags3
-+ ABC
-+
-+ tags1
-+ !_TAG_FILE_ENCODING utf-8 //
-+ abcdefghijklmnopqrs Xtags1.txt /abcdefghijklmnopqrs
-+ tags1-end
-*** ../vim-7.3.335/src/testdir/test83.ok 2011-10-12 19:49:38.000000000 +0200
---- src/testdir/test83.ok 2011-10-12 17:39:03.000000000 +0200
-***************
-*** 0 ****
---- 1,4 ----
-+ Results of test83
-+ case1: ok
-+ case2: ok
-+ case3: ok
-*** ../vim-7.3.335/src/version.c 2011-10-12 16:57:07.000000000 +0200
---- src/version.c 2011-10-12 19:45:46.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 336,
- /**/
-
-
---
-hundred-and-one symptoms of being an internet addict:
-62. If your doorbell rings, you think that new mail has arrived. And then
- you're disappointed that it's only someone at the door.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.337 b/source/ap/vim/patches/7.3.337
deleted file mode 100644
index a2aeb04fe..000000000
--- a/source/ap/vim/patches/7.3.337
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.337
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.337 (after 7.3.295)
-Problem: Screen doesn't update after resizing the xterm until a character
- is typed.
-Solution: When the select call is interrupted check do_resize. (Taylor
- Hedberg)
-Files: src/os_unix.c
-
-
-*** ../vim-7.3.336/src/os_unix.c 2011-09-08 23:24:09.000000000 +0200
---- src/os_unix.c 2011-10-12 20:57:15.000000000 +0200
-***************
-*** 5146,5156 ****
---- 5146,5163 ----
- # endif
- # ifdef EINTR
- if (ret == -1 && errno == EINTR)
-+ {
-+ /* Check whether window has been resized, EINTR may be caused by
-+ * SIGWINCH. */
-+ if (do_resize)
-+ handle_resize();
-+
- /* Interrupted by a signal, need to try again. We ignore msec
- * here, because we do want to check even after a timeout if
- * characters are available. Needed for reading output of an
- * external command after the process has finished. */
- goto select_eintr;
-+ }
- # endif
- # ifdef __TANDEM
- if (ret == -1 && errno == ENOTSUP)
-*** ../vim-7.3.336/src/version.c 2011-10-12 19:53:31.000000000 +0200
---- src/version.c 2011-10-12 21:03:47.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 337,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-64. The remote to the T.V. is missing...and you don't even care.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.338 b/source/ap/vim/patches/7.3.338
deleted file mode 100644
index f273212ac..000000000
--- a/source/ap/vim/patches/7.3.338
+++ /dev/null
@@ -1,100 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.338
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.338
-Problem: Using getchar() in an expression mapping doesn't work well.
-Solution: Don't save and restore the typeahead. (James Vega)
-Files: src/getchar.c, src/testdir/test34.ok
-
-
-*** ../vim-7.3.337/src/getchar.c 2011-08-17 20:33:18.000000000 +0200
---- src/getchar.c 2011-10-12 21:53:27.000000000 +0200
-***************
-*** 2460,2486 ****
-
- /*
- * Handle ":map <expr>": evaluate the {rhs} as an
-! * expression. Save and restore the typeahead so that
-! * getchar() can be used. Also save and restore the
-! * command line for "normal :".
- */
- if (mp->m_expr)
- {
-- tasave_T tabuf;
- int save_vgetc_busy = vgetc_busy;
-
-! save_typeahead(&tabuf);
-! if (tabuf.typebuf_valid)
-! {
-! vgetc_busy = 0;
-! save_m_keys = vim_strsave(mp->m_keys);
-! save_m_str = vim_strsave(mp->m_str);
-! s = eval_map_expr(save_m_str, NUL);
-! vgetc_busy = save_vgetc_busy;
-! }
-! else
-! s = NULL;
-! restore_typeahead(&tabuf);
- }
- else
- #endif
---- 2460,2477 ----
-
- /*
- * Handle ":map <expr>": evaluate the {rhs} as an
-! * expression. Also save and restore the command line
-! * for "normal :".
- */
- if (mp->m_expr)
- {
- int save_vgetc_busy = vgetc_busy;
-
-! vgetc_busy = 0;
-! save_m_keys = vim_strsave(mp->m_keys);
-! save_m_str = vim_strsave(mp->m_str);
-! s = eval_map_expr(save_m_str, NUL);
-! vgetc_busy = save_vgetc_busy;
- }
- else
- #endif
-*** ../vim-7.3.337/src/testdir/test34.ok 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test34.ok 2011-10-12 21:59:39.000000000 +0200
-***************
-*** 1,5 ****
- xxx4asdf fail nop ok 9 333
-! XX111XX
- ---222---
- 1. one
- 2. two
---- 1,5 ----
- xxx4asdf fail nop ok 9 333
-! XX111-XX
- ---222---
- 1. one
- 2. two
-*** ../vim-7.3.337/src/version.c 2011-10-12 21:04:15.000000000 +0200
---- src/version.c 2011-10-12 21:20:31.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 338,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-65. The last time you looked at the clock it was 11:30pm, and in what
- seems like only a few seconds later, your sister runs past you to
- catch her 7am school bus.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.339 b/source/ap/vim/patches/7.3.339
deleted file mode 100644
index f108ad6e0..000000000
--- a/source/ap/vim/patches/7.3.339
+++ /dev/null
@@ -1,57 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.339
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.339
-Problem: "make shadow" doesn't link all test files.
-Solution: Add a line in Makefile and Filelist.
-Files: src/Makefile, Filelist
-
-
-*** ../vim-7.3.338/Filelist 2011-09-30 16:56:00.000000000 +0200
---- Filelist 2011-10-16 14:00:42.000000000 +0200
-***************
-*** 81,86 ****
---- 81,87 ----
- src/testdir/test[0-9]*.ok \
- src/testdir/test49.vim \
- src/testdir/test60.vim \
-+ src/testdir/test83-tags? \
- src/proto.h \
- src/proto/blowfish.pro \
- src/proto/buffer.pro \
-*** ../vim-7.3.338/src/Makefile 2011-05-19 13:40:47.000000000 +0200
---- src/Makefile 2011-10-16 13:59:40.000000000 +0200
-***************
-*** 2328,2333 ****
---- 2328,2334 ----
- ../../testdir/vimrc.unix \
- ../../testdir/*.in \
- ../../testdir/*.vim \
-+ ../../testdir/test83-tags? \
- ../../testdir/*.ok .
-
- # Link needed for doing "make install" in a shadow directory.
-*** ../vim-7.3.338/src/version.c 2011-10-12 22:02:07.000000000 +0200
---- src/version.c 2011-10-20 16:34:28.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 339,
- /**/
-
---
-From "know your smileys":
- :-O>-o Smiley American tourist (note big mouth and camera)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.340 b/source/ap/vim/patches/7.3.340
deleted file mode 100644
index fb0b8423d..000000000
--- a/source/ap/vim/patches/7.3.340
+++ /dev/null
@@ -1,62 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.340
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.340
-Problem: When 'verbosefile' is set ftplugof.vim can give an error.
-Solution: Only remove filetypeplugin autocommands when they exist. (Yasuhiro
- Matsumoto)
-Files: runtime/ftplugof.vim
-
-
-*** ../vim-7.3.339/runtime/ftplugof.vim 2010-08-15 21:57:11.000000000 +0200
---- runtime/ftplugof.vim 2011-10-20 16:51:00.000000000 +0200
-***************
-*** 1,11 ****
- " Vim support file to switch off loading plugins for file types
- "
- " Maintainer: Bram Moolenaar <Bram@vim.org>
-! " Last Change: 2002 Apr 04
-
- if exists("did_load_ftplugin")
- unlet did_load_ftplugin
- endif
-
-! " Remove all autocommands in the filetypeplugin group
-! silent! au! filetypeplugin *
---- 1,13 ----
- " Vim support file to switch off loading plugins for file types
- "
- " Maintainer: Bram Moolenaar <Bram@vim.org>
-! " Last Change: 2011 Oct 20
-
- if exists("did_load_ftplugin")
- unlet did_load_ftplugin
- endif
-
-! " Remove all autocommands in the filetypeplugin group, if any exist.
-! if exists("#filetypeplugin")
-! silent! au! filetypeplugin *
-! endif
-*** ../vim-7.3.339/src/version.c 2011-10-20 16:35:25.000000000 +0200
---- src/version.c 2011-10-20 18:01:18.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 340,
- /**/
-
---
-How many light bulbs does it take to change a person?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.341 b/source/ap/vim/patches/7.3.341
deleted file mode 100644
index 6ea386031..000000000
--- a/source/ap/vim/patches/7.3.341
+++ /dev/null
@@ -1,360 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.341
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.341
-Problem: Local help files are only listed in help.txt, not in translated
- help files.
-Solution: Also find translated help files. (Yasuhiro Matsumoto)
-Files: src/ex_cmds.c
-
-
-*** ../vim-7.3.340/src/ex_cmds.c 2011-09-30 17:30:27.000000000 +0200
---- src/ex_cmds.c 2011-10-20 17:39:45.000000000 +0200
-***************
-*** 5982,5987 ****
---- 5982,5988 ----
- char_u *line;
- int in_example = FALSE;
- int len;
-+ char_u *fname;
- char_u *p;
- char_u *rt;
- int mustfree;
-***************
-*** 6028,6151 ****
- }
-
- /*
-! * In the "help.txt" file, add the locally added help files.
-! * This uses the very first line in the help file.
- */
-! if (fnamecmp(gettail(curbuf->b_fname), "help.txt") == 0)
- {
- for (lnum = 1; lnum < curbuf->b_ml.ml_line_count; ++lnum)
- {
- line = ml_get_buf(curbuf, lnum, FALSE);
-! if (strstr((char *)line, "*local-additions*") != NULL)
- {
-! /* Go through all directories in 'runtimepath', skipping
-! * $VIMRUNTIME. */
-! p = p_rtp;
-! while (*p != NUL)
- {
-! copy_option_part(&p, NameBuff, MAXPATHL, ",");
-! mustfree = FALSE;
-! rt = vim_getenv((char_u *)"VIMRUNTIME", &mustfree);
-! if (fullpathcmp(rt, NameBuff, FALSE) != FPC_SAME)
-! {
-! int fcount;
-! char_u **fnames;
-! FILE *fd;
-! char_u *s;
-! int fi;
- #ifdef FEAT_MBYTE
-! vimconv_T vc;
-! char_u *cp;
- #endif
-
-! /* Find all "doc/ *.txt" files in this directory. */
-! add_pathsep(NameBuff);
-! STRCAT(NameBuff, "doc/*.txt");
-! if (gen_expand_wildcards(1, &NameBuff, &fcount,
-! &fnames, EW_FILE|EW_SILENT) == OK
-! && fcount > 0)
- {
-! for (fi = 0; fi < fcount; ++fi)
- {
-! fd = mch_fopen((char *)fnames[fi], "r");
-! if (fd != NULL)
- {
-! vim_fgets(IObuff, IOSIZE, fd);
-! if (IObuff[0] == '*'
-! && (s = vim_strchr(IObuff + 1, '*'))
-! != NULL)
-! {
-! #ifdef FEAT_MBYTE
-! int this_utf = MAYBE;
- #endif
-! /* Change tag definition to a
-! * reference and remove <CR>/<NL>. */
-! IObuff[0] = '|';
-! *s = '|';
-! while (*s != NUL)
-! {
-! if (*s == '\r' || *s == '\n')
-! *s = NUL;
- #ifdef FEAT_MBYTE
-! /* The text is utf-8 when a byte
-! * above 127 is found and no
-! * illegal byte sequence is found.
-! */
-! if (*s >= 0x80 && this_utf != FALSE)
-! {
-! int l;
-!
-! this_utf = TRUE;
-! l = utf_ptr2len(s);
-! if (l == 1)
-! this_utf = FALSE;
-! s += l - 1;
-! }
- #endif
-! ++s;
-! }
- #ifdef FEAT_MBYTE
-! /* The help file is latin1 or utf-8;
-! * conversion to the current
-! * 'encoding' may be required. */
-! vc.vc_type = CONV_NONE;
-! convert_setup(&vc, (char_u *)(
-! this_utf == TRUE ? "utf-8"
-! : "latin1"), p_enc);
-! if (vc.vc_type == CONV_NONE)
-! /* No conversion needed. */
-! cp = IObuff;
-! else
- {
-! /* Do the conversion. If it fails
-! * use the unconverted text. */
-! cp = string_convert(&vc, IObuff,
-! NULL);
-! if (cp == NULL)
-! cp = IObuff;
- }
-! convert_setup(&vc, NULL, NULL);
-
-! ml_append(lnum, cp, (colnr_T)0, FALSE);
-! if (cp != IObuff)
-! vim_free(cp);
- #else
-! ml_append(lnum, IObuff, (colnr_T)0,
-! FALSE);
- #endif
-! ++lnum;
-! }
-! fclose(fd);
- }
- }
-- FreeWild(fcount, fnames);
- }
- }
-- if (mustfree)
-- vim_free(rt);
- }
-! break;
- }
- }
- }
- }
---- 6029,6215 ----
- }
-
- /*
-! * In the "help.txt" and "help.abx" file, add the locally added help
-! * files. This uses the very first line in the help file.
- */
-! fname = gettail(curbuf->b_fname);
-! if (fnamecmp(fname, "help.txt") == 0
-! #ifdef FEAT_MULTI_LANG
-! || (fnamencmp(fname, "help.", 5) == 0
-! && ASCII_ISALPHA(fname[5])
-! && ASCII_ISALPHA(fname[6])
-! && TOLOWER_ASC(fname[7]) == 'x'
-! && fname[8] == NUL)
-! #endif
-! )
- {
- for (lnum = 1; lnum < curbuf->b_ml.ml_line_count; ++lnum)
- {
- line = ml_get_buf(curbuf, lnum, FALSE);
-! if (strstr((char *)line, "*local-additions*") == NULL)
-! continue;
-!
-! /* Go through all directories in 'runtimepath', skipping
-! * $VIMRUNTIME. */
-! p = p_rtp;
-! while (*p != NUL)
- {
-! copy_option_part(&p, NameBuff, MAXPATHL, ",");
-! mustfree = FALSE;
-! rt = vim_getenv((char_u *)"VIMRUNTIME", &mustfree);
-! if (fullpathcmp(rt, NameBuff, FALSE) != FPC_SAME)
- {
-! int fcount;
-! char_u **fnames;
-! FILE *fd;
-! char_u *s;
-! int fi;
- #ifdef FEAT_MBYTE
-! vimconv_T vc;
-! char_u *cp;
- #endif
-
-! /* Find all "doc/ *.txt" files in this directory. */
-! add_pathsep(NameBuff);
-! #ifdef FEAT_MULTI_LANG
-! STRCAT(NameBuff, "doc/*.??[tx]");
-! #else
-! STRCAT(NameBuff, "doc/*.txt");
-! #endif
-! if (gen_expand_wildcards(1, &NameBuff, &fcount,
-! &fnames, EW_FILE|EW_SILENT) == OK
-! && fcount > 0)
-! {
-! #ifdef FEAT_MULTI_LANG
-! int i1;
-! int i2;
-! char_u *f1;
-! char_u *f2;
-! char_u *t1;
-! char_u *e1;
-! char_u *e2;
-!
-! /* If foo.abx is found use it instead of foo.txt in
-! * the same directory. */
-! for (i1 = 0; i1 < fcount; ++i1)
- {
-! for (i2 = 0; i2 < fcount; ++i2)
- {
-! if (i1 == i2)
-! continue;
-! if (fnames[i1] == NULL || fnames[i2] == NULL)
-! continue;
-! f1 = fnames[i1];
-! f2 = fnames[i2];
-! t1 = gettail(f1);
-! if (fnamencmp(f1, f2, t1 - f1) != 0)
-! continue;
-! e1 = vim_strrchr(t1, '.');
-! e2 = vim_strrchr(gettail(f2), '.');
-! if (e1 == NUL || e2 == NUL)
-! continue;
-! if (fnamecmp(e1, ".txt") != 0
-! && fnamecmp(e1, fname + 4) != 0)
- {
-! /* Not .txt and not .abx, remove it. */
-! vim_free(fnames[i1]);
-! fnames[i1] = NULL;
-! continue;
-! }
-! if (fnamencmp(f1, f2, e1 - f1) != 0)
-! continue;
-! if (fnamecmp(e1, ".txt") == 0
-! && fnamecmp(e2, fname + 4) == 0)
-! {
-! /* use .abx instead of .txt */
-! vim_free(fnames[i1]);
-! fnames[i1] = NULL;
-! }
-! }
-! }
- #endif
-! for (fi = 0; fi < fcount; ++fi)
-! {
-! if (fnames[fi] == NULL)
-! continue;
-! fd = mch_fopen((char *)fnames[fi], "r");
-! if (fd != NULL)
-! {
-! vim_fgets(IObuff, IOSIZE, fd);
-! if (IObuff[0] == '*'
-! && (s = vim_strchr(IObuff + 1, '*'))
-! != NULL)
-! {
- #ifdef FEAT_MBYTE
-! int this_utf = MAYBE;
- #endif
-! /* Change tag definition to a
-! * reference and remove <CR>/<NL>. */
-! IObuff[0] = '|';
-! *s = '|';
-! while (*s != NUL)
-! {
-! if (*s == '\r' || *s == '\n')
-! *s = NUL;
- #ifdef FEAT_MBYTE
-! /* The text is utf-8 when a byte
-! * above 127 is found and no
-! * illegal byte sequence is found.
-! */
-! if (*s >= 0x80 && this_utf != FALSE)
- {
-! int l;
-!
-! this_utf = TRUE;
-! l = utf_ptr2len(s);
-! if (l == 1)
-! this_utf = FALSE;
-! s += l - 1;
- }
-! #endif
-! ++s;
-! }
-! #ifdef FEAT_MBYTE
-! /* The help file is latin1 or utf-8;
-! * conversion to the current
-! * 'encoding' may be required. */
-! vc.vc_type = CONV_NONE;
-! convert_setup(&vc, (char_u *)(
-! this_utf == TRUE ? "utf-8"
-! : "latin1"), p_enc);
-! if (vc.vc_type == CONV_NONE)
-! /* No conversion needed. */
-! cp = IObuff;
-! else
-! {
-! /* Do the conversion. If it fails
-! * use the unconverted text. */
-! cp = string_convert(&vc, IObuff,
-! NULL);
-! if (cp == NULL)
-! cp = IObuff;
-! }
-! convert_setup(&vc, NULL, NULL);
-
-! ml_append(lnum, cp, (colnr_T)0, FALSE);
-! if (cp != IObuff)
-! vim_free(cp);
- #else
-! ml_append(lnum, IObuff, (colnr_T)0,
-! FALSE);
- #endif
-! ++lnum;
- }
-+ fclose(fd);
- }
- }
-+ FreeWild(fcount, fnames);
- }
- }
-! if (mustfree)
-! vim_free(rt);
- }
-+ break;
- }
- }
- }
-*** ../vim-7.3.340/src/version.c 2011-10-20 18:12:27.000000000 +0200
---- src/version.c 2011-10-20 18:13:46.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 341,
- /**/
-
---
-From "know your smileys":
- :-)-O Smiling doctor with stethoscope
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.342 b/source/ap/vim/patches/7.3.342
deleted file mode 100644
index 2deb7e385..000000000
--- a/source/ap/vim/patches/7.3.342
+++ /dev/null
@@ -1,93 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.342
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.342
-Problem: Code not in Vim style.
-Solution: Fix the style. (Elias Diem)
-Files: src/os_amiga.c, src/os_mac_conv.c, src/os_win16.c
-
-
-*** ../vim-7.3.341/src/os_amiga.c 2010-08-15 21:57:27.000000000 +0200
---- src/os_amiga.c 2011-10-20 18:19:45.000000000 +0200
-***************
-*** 1022,1028 ****
-
- /* insure longword alignment */
- #ifdef __amigaos4__
-! if(!(id = AllocDosObject(DOS_INFODATA, 0)))
- goto out;
- #else
- id = (struct InfoData *)(((long)id_a + 3L) & ~3L);
---- 1022,1028 ----
-
- /* insure longword alignment */
- #ifdef __amigaos4__
-! if (!(id = AllocDosObject(DOS_INFODATA, 0)))
- goto out;
- #else
- id = (struct InfoData *)(((long)id_a + 3L) & ~3L);
-*** ../vim-7.3.341/src/os_mac_conv.c 2011-06-13 02:03:55.000000000 +0200
---- src/os_mac_conv.c 2011-10-20 18:19:45.000000000 +0200
-***************
-*** 77,83 ****
- *unconvlenp = 0;
- cfstr = CFStringCreateWithBytes(NULL, ptr, len, from, 0);
-
-! if(cfstr == NULL)
- fprintf(stderr, "Encoding failed\n");
- /* When conversion failed, try excluding bytes from the end, helps when
- * there is an incomplete byte sequence. Only do up to 6 bytes to avoid
---- 77,83 ----
- *unconvlenp = 0;
- cfstr = CFStringCreateWithBytes(NULL, ptr, len, from, 0);
-
-! if (cfstr == NULL)
- fprintf(stderr, "Encoding failed\n");
- /* When conversion failed, try excluding bytes from the end, helps when
- * there is an incomplete byte sequence. Only do up to 6 bytes to avoid
-*** ../vim-7.3.341/src/os_win16.c 2010-12-17 20:23:56.000000000 +0100
---- src/os_win16.c 2011-10-20 18:19:45.000000000 +0200
-***************
-*** 243,251 ****
- /* Wait for the command to terminate before continuing */
- while (GetModuleUsage((HINSTANCE)h_module) > 0 && again )
- {
-! while( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) && again )
- {
-! if(msg.message == WM_QUIT)
-
- {
- PostQuitMessage(msg.wParam);
---- 243,251 ----
- /* Wait for the command to terminate before continuing */
- while (GetModuleUsage((HINSTANCE)h_module) > 0 && again )
- {
-! while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) && again)
- {
-! if (msg.message == WM_QUIT)
-
- {
- PostQuitMessage(msg.wParam);
-*** ../vim-7.3.341/src/version.c 2011-10-20 18:17:38.000000000 +0200
---- src/version.c 2011-10-20 18:21:43.000000000 +0200
-***************
-*** 711,712 ****
---- 711,714 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 342,
- /**/
-
---
-You are only young once, but you can stay immature indefinitely.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.343 b/source/ap/vim/patches/7.3.343
deleted file mode 100644
index db62264d0..000000000
--- a/source/ap/vim/patches/7.3.343
+++ /dev/null
@@ -1,252 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.343
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.343
-Problem: No mouse support for urxvt.
-Solution: Implement urxvt mouse support, also for > 252 columns. (Yiding
- Jia)
-Files: src/feature.h, src/keymap.h, src/option.h, src/os_unix.c,
- src/term.c, src/version.c
-
-
-*** ../vim-7.3.342/src/feature.h 2011-05-19 13:40:47.000000000 +0200
---- src/feature.h 2011-10-20 21:02:15.000000000 +0200
-***************
-*** 1053,1058 ****
---- 1053,1061 ----
- # ifdef FEAT_BIG
- # define FEAT_MOUSE_DEC
- # endif
-+ # ifdef FEAT_BIG
-+ # define FEAT_MOUSE_URXVT
-+ # endif
- # if defined(FEAT_NORMAL) && (defined(MSDOS) || defined(WIN3264))
- # define DOS_MOUSE
- # endif
-***************
-*** 1068,1080 ****
- #if defined(FEAT_NORMAL) && defined(HAVE_SYSMOUSE)
- # define FEAT_SYSMOUSE
- #endif
- /* Define FEAT_MOUSE when any of the above is defined or FEAT_GUI. */
- #if !defined(FEAT_MOUSE_TTY) \
- && (defined(FEAT_MOUSE_XTERM) \
-! || defined(FEAT_MOUSE_NET) || defined(FEAT_MOUSE_DEC) \
-! || defined(DOS_MOUSE) || defined(FEAT_MOUSE_GPM) \
-! || defined(FEAT_MOUSE_JSB) || defined(FEAT_MOUSE_PTERM) \
-! || defined(FEAT_SYSMOUSE))
- # define FEAT_MOUSE_TTY /* include non-GUI mouse support */
- #endif
- #if !defined(FEAT_MOUSE) && (defined(FEAT_MOUSE_TTY) || defined(FEAT_GUI))
---- 1071,1093 ----
- #if defined(FEAT_NORMAL) && defined(HAVE_SYSMOUSE)
- # define FEAT_SYSMOUSE
- #endif
-+
-+ /* urxvt is a small variation of mouse_xterm, and shares its code */
-+ #if defined(FEAT_MOUSE_URXVT) && !defined(FEAT_MOUSE_XTERM)
-+ # define FEAT_MOUSE_XTERM
-+ #endif
-+
- /* Define FEAT_MOUSE when any of the above is defined or FEAT_GUI. */
- #if !defined(FEAT_MOUSE_TTY) \
- && (defined(FEAT_MOUSE_XTERM) \
-! || defined(FEAT_MOUSE_NET) \
-! || defined(FEAT_MOUSE_DEC) \
-! || defined(DOS_MOUSE) \
-! || defined(FEAT_MOUSE_GPM) \
-! || defined(FEAT_MOUSE_JSB) \
-! || defined(FEAT_MOUSE_PTERM) \
-! || defined(FEAT_SYSMOUSE) \
-! || defined(FEAT_MOUSE_URXVT))
- # define FEAT_MOUSE_TTY /* include non-GUI mouse support */
- #endif
- #if !defined(FEAT_MOUSE) && (defined(FEAT_MOUSE_TTY) || defined(FEAT_GUI))
-*** ../vim-7.3.342/src/keymap.h 2010-08-15 21:57:32.000000000 +0200
---- src/keymap.h 2011-10-20 21:00:37.000000000 +0200
-***************
-*** 92,104 ****
- */
- #define KS_TEAROFF 244
-
-! /* used for JSB term mouse */
- #define KS_JSBTERM_MOUSE 243
-
-! /* used a termcap entry that produces a normal character */
- #define KS_KEY 242
-
-! /* Used for the qnx pterm mouse */
- #define KS_PTERM_MOUSE 241
-
- /* Used for click in a tab pages label. */
---- 92,104 ----
- */
- #define KS_TEAROFF 244
-
-! /* Used for JSB term mouse. */
- #define KS_JSBTERM_MOUSE 243
-
-! /* Used a termcap entry that produces a normal character. */
- #define KS_KEY 242
-
-! /* Used for the qnx pterm mouse. */
- #define KS_PTERM_MOUSE 241
-
- /* Used for click in a tab pages label. */
-***************
-*** 107,112 ****
---- 107,115 ----
- /* Used for menu in a tab pages line. */
- #define KS_TABMENU 239
-
-+ /* Used for the urxvt mouse. */
-+ #define KS_URXVT_MOUSE 238
-+
- /*
- * Filler used after KS_SPECIAL and others
- */
-*** ../vim-7.3.342/src/option.h 2011-09-30 14:44:49.000000000 +0200
---- src/option.h 2011-10-20 19:38:59.000000000 +0200
-***************
-*** 819,825 ****
- EXTERN char_u *p_ttym; /* 'ttymouse' */
- EXTERN unsigned ttym_flags;
- # ifdef IN_OPTION_C
-! static char *(p_ttym_values[]) = {"xterm", "xterm2", "dec", "netterm", "jsbterm", "pterm", NULL};
- # endif
- # define TTYM_XTERM 0x01
- # define TTYM_XTERM2 0x02
---- 819,825 ----
- EXTERN char_u *p_ttym; /* 'ttymouse' */
- EXTERN unsigned ttym_flags;
- # ifdef IN_OPTION_C
-! static char *(p_ttym_values[]) = {"xterm", "xterm2", "dec", "netterm", "jsbterm", "pterm", "urxvt", NULL};
- # endif
- # define TTYM_XTERM 0x01
- # define TTYM_XTERM2 0x02
-***************
-*** 827,832 ****
---- 827,833 ----
- # define TTYM_NETTERM 0x08
- # define TTYM_JSBTERM 0x10
- # define TTYM_PTERM 0x20
-+ # define TTYM_URXVT 0x40
- #endif
- EXTERN char_u *p_udir; /* 'undodir' */
- EXTERN long p_ul; /* 'undolevels' */
-*** ../vim-7.3.342/src/os_unix.c 2011-10-12 21:04:15.000000000 +0200
---- src/os_unix.c 2011-10-20 21:02:00.000000000 +0200
-***************
-*** 2158,2167 ****
---- 2158,2170 ----
- * Return non-zero when using an xterm mouse, according to 'ttymouse'.
- * Return 1 for "xterm".
- * Return 2 for "xterm2".
-+ * Return 3 for "urxvt".
- */
- int
- use_xterm_mouse()
- {
-+ if (ttym_flags == TTYM_URXVT)
-+ return 3;
- if (ttym_flags == TTYM_XTERM2)
- return 2;
- if (ttym_flags == TTYM_XTERM)
-***************
-*** 3318,3323 ****
---- 3321,3337 ----
- return;
-
- xterm_mouse_vers = use_xterm_mouse();
-+
-+ # ifdef FEAT_MOUSE_URXVT
-+ if (ttym_flags == TTYM_URXVT) {
-+ out_str_nf((char_u *)
-+ (on
-+ ? IF_EB("\033[?1015h", ESC_STR "[?1015h")
-+ : IF_EB("\033[?1015l", ESC_STR "[?1015l")));
-+ ison = on;
-+ }
-+ # endif
-+
- if (xterm_mouse_vers > 0)
- {
- if (on) /* enable mouse events, use mouse tracking if available */
-***************
-*** 3434,3439 ****
---- 3448,3456 ----
- {
- # ifdef FEAT_MOUSE_XTERM
- if (use_xterm_mouse()
-+ # ifdef FEAT_MOUSE_URXVT
-+ && use_xterm_mouse() != 3
-+ # endif
- # ifdef FEAT_GUI
- && !gui.in_use
- # endif
-***************
-*** 3523,3528 ****
---- 3540,3566 ----
- else
- del_mouse_termcode(KS_PTERM_MOUSE);
- # endif
-+ # ifdef FEAT_MOUSE_URXVT
-+ /* same as the dec mouse */
-+ if (use_xterm_mouse() == 3
-+ # ifdef FEAT_GUI
-+ && !gui.in_use
-+ # endif
-+ )
-+ {
-+ set_mouse_termcode(KS_URXVT_MOUSE, (char_u *)(term_is_8bit(T_NAME)
-+ ? IF_EB("\233", CSI_STR)
-+ : IF_EB("\033[", ESC_STR "[")));
-+
-+ if (*p_mouse != NUL)
-+ {
-+ mch_setmouse(FALSE);
-+ setmouse();
-+ }
-+ }
-+ else
-+ del_mouse_termcode(KS_URXVT_MOUSE);
-+ # endif
- }
- #endif
-
-*** ../vim-7.3.342/src/version.c 2011-10-20 18:24:16.000000000 +0200
---- src/version.c 2011-10-20 19:40:48.000000000 +0200
-***************
-*** 380,383 ****
---- 380,388 ----
- "-mouse_xterm",
- # endif
-+ # ifdef FEAT_MOUSE_URXVT
-+ "+mouse_urxvt",
-+ # else
-+ "-mouse_urxvt",
-+ # endif
- #endif
- #ifdef __QNX__
-***************
-*** 711,712 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 343,
- /**/
-
---
-Warning label on a superhero Halloween costume:
-"Caution: Cape does not enable user to fly."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.344 b/source/ap/vim/patches/7.3.344
deleted file mode 100644
index d2bb1dbe2..000000000
--- a/source/ap/vim/patches/7.3.344
+++ /dev/null
@@ -1,121 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.344
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.344
-Problem: Problem with GUI startup related to XInitThreads.
-Solution: Use read() and write() instead of fputs() and fread(). (James
- Vega)
-Files: src/gui.c
-
-
-*** ../vim-7.3.343/src/gui.c 2011-09-14 19:04:35.000000000 +0200
---- src/gui.c 2011-10-20 21:23:43.000000000 +0200
-***************
-*** 212,218 ****
- int status;
- int exit_status;
- pid_t pid = -1;
-- FILE *parent_file;
-
- /* Setup a pipe between the child and the parent, so that the parent
- * knows when the child has done the setsid() call and is allowed to
---- 212,217 ----
-***************
-*** 290,308 ****
- gui_mch_forked();
- # endif
-
-- if (!pipe_error)
-- parent_file = fdopen(pipefd[1], "w");
-- else
-- parent_file = NULL;
--
- /* Try to start the GUI */
- gui_attempt_start();
-
- /* Notify the parent */
-! if (parent_file != NULL)
- {
-! fputs(gui.in_use ? "ok" : "fail", parent_file);
-! fclose(parent_file);
- }
-
- /* If we failed to start the GUI, exit now. */
---- 289,305 ----
- gui_mch_forked();
- # endif
-
- /* Try to start the GUI */
- gui_attempt_start();
-
- /* Notify the parent */
-! if (!pipe_error)
- {
-! if (gui.in_use)
-! write_eintr(pipefd[1], "ok", 3);
-! else
-! write_eintr(pipefd[1], "fail", 5);
-! close(pipefd[1]);
- }
-
- /* If we failed to start the GUI, exit now. */
-***************
-*** 323,339 ****
- static int
- gui_read_child_pipe(int fd)
- {
-! size_t bytes_read;
-! FILE *file;
-! char buffer[10];
-!
-! file = fdopen(fd, "r");
-! if (!file)
- return GUI_CHILD_IO_ERROR;
-!
-! bytes_read = fread(buffer, sizeof(char), sizeof(buffer)-1, file);
-! buffer[bytes_read] = '\0';
-! fclose(file);
- if (strcmp(buffer, "ok") == 0)
- return GUI_CHILD_OK;
- return GUI_CHILD_FAILED;
---- 320,335 ----
- static int
- gui_read_child_pipe(int fd)
- {
-! long bytes_read;
-! #define READ_BUFFER_SIZE 10
-! char buffer[READ_BUFFER_SIZE];
-!
-! bytes_read = read_eintr(fd, buffer, READ_BUFFER_SIZE - 1);
-! #undef READ_BUFFER_SIZE
-! close(fd);
-! if (bytes_read < 0)
- return GUI_CHILD_IO_ERROR;
-! buffer[bytes_read] = NUL;
- if (strcmp(buffer, "ok") == 0)
- return GUI_CHILD_OK;
- return GUI_CHILD_FAILED;
-*** ../vim-7.3.343/src/version.c 2011-10-20 21:09:25.000000000 +0200
---- src/version.c 2011-10-20 21:27:31.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 344,
- /**/
-
---
-From "know your smileys":
- *<|:-) Santa Claus (Ho Ho Ho)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.345 b/source/ap/vim/patches/7.3.345
deleted file mode 100644
index 99dd074a2..000000000
--- a/source/ap/vim/patches/7.3.345
+++ /dev/null
@@ -1,48 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.345
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.345
-Problem: When switching language with ":lang" the window title doesn't
- change until later.
-Solution: Update the window title right away. (Dominique Pelle)
-Files: src/ex_cmds2.c
-
-
-*** ../vim-7.3.344/src/ex_cmds2.c 2011-06-26 04:25:24.000000000 +0200
---- src/ex_cmds2.c 2011-10-20 21:31:09.000000000 +0200
-***************
-*** 4154,4159 ****
---- 4154,4162 ----
- /* Set v:lang, v:lc_time and v:ctype to the final result. */
- set_lang_var();
- # endif
-+ # ifdef FEAT_TITLE
-+ maketitle();
-+ # endif
- }
- }
- }
-*** ../vim-7.3.344/src/version.c 2011-10-20 21:27:57.000000000 +0200
---- src/version.c 2011-10-20 21:38:32.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 345,
- /**/
-
---
-You can't have everything. Where would you put it?
- -- Steven Wright
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.346 b/source/ap/vim/patches/7.3.346
deleted file mode 100644
index e6b1a2b64..000000000
--- a/source/ap/vim/patches/7.3.346
+++ /dev/null
@@ -1,143 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.346
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.346
-Problem: It's hard to test netbeans commands.
-Solution: Process netbeans commands after :sleep. (Xavier de Gaye)
-Files: runtime/doc/netbeans.txt, src/ex_docmd.c, src/netbeans.c
-
-
-*** ../vim-7.3.345/runtime/doc/netbeans.txt 2010-09-29 17:26:57.000000000 +0200
---- runtime/doc/netbeans.txt 2011-10-20 21:51:41.000000000 +0200
-***************
-*** 1,4 ****
-! *netbeans.txt* For Vim version 7.3. Last change: 2010 Aug 20
-
-
- VIM REFERENCE MANUAL by Gordon Prieur et al.
---- 1,4 ----
-! *netbeans.txt* For Vim version 7.3. Last change: 2011 Oct 20
-
-
- VIM REFERENCE MANUAL by Gordon Prieur et al.
-***************
-*** 263,268 ****
---- 263,274 ----
- plain UTF-8 text this protocol could also be used with any other communication
- mechanism.
-
-+ Netbeans messages are processed when Vim is idle, waiting for user input.
-+ When Vim is run in non-interactive mode, for example when running an automated
-+ test case that sources a Vim script, the idle loop may not be called often
-+ enough. In that case, insert |sleep| commands in the Vim script. The |sleep|
-+ command does invoke Netbeans messages processing.
-+
- 6.1 Kinds of messages |nb-messages|
- 6.2 Terms |nb-terms|
- 6.3 Commands |nb-commands|
-***************
-*** 820,826 ****
- ==============================================================================
- 7. NetBeans commands *netbeans-commands*
-
-! *:nbstart* *E511*
- :nbs[tart] {connection} Start a new Netbeans session with {connection} as the
- socket connection parameters. The format of
- {connection} is described in |netbeans-parameters|.
---- 826,832 ----
- ==============================================================================
- 7. NetBeans commands *netbeans-commands*
-
-! *:nbstart* *E511* *E838*
- :nbs[tart] {connection} Start a new Netbeans session with {connection} as the
- socket connection parameters. The format of
- {connection} is described in |netbeans-parameters|.
-***************
-*** 833,843 ****
- signs.
-
- *:nbkey*
-! :nb[key] {key} Pass the {key} to the Vim Controller for processing
-!
-! When a hot-key has been installed with the specialKeys command, this command
-! can be used to generate a hotkey messages to the Vim Controller. The events
-! newDotAndMark, keyCommand and keyAtPos are generated (in this order).
-
-
- ==============================================================================
---- 839,854 ----
- signs.
-
- *:nbkey*
-! :nb[key] {key} Pass the {key} to the Vim Controller for processing.
-! When a hot-key has been installed with the specialKeys
-! command, this command can be used to generate a hotkey
-! message to the Vim Controller.
-! This command can also be used to pass any text to the
-! Vim Controller. It is used by Pyclewn, for example,
-! to build the complete set of gdb commands as Vim user
-! commands.
-! The events newDotAndMark, keyCommand and keyAtPos are
-! generated (in this order).
-
-
- ==============================================================================
-*** ../vim-7.3.345/src/ex_docmd.c 2011-09-30 18:35:49.000000000 +0200
---- src/ex_docmd.c 2011-10-20 21:50:06.000000000 +0200
-***************
-*** 8205,8210 ****
---- 8205,8216 ----
- {
- ui_delay(msec - done > 1000L ? 1000L : msec - done, TRUE);
- ui_breakcheck();
-+ #ifdef FEAT_NETBEANS_INTG
-+ /* Process the netbeans messages that may have been received in the
-+ * call to ui_breakcheck() when the GUI is in use. This may occur when
-+ * running a test case. */
-+ netbeans_parse_messages();
-+ #endif
- }
- }
-
-*** ../vim-7.3.345/src/netbeans.c 2011-04-11 21:35:03.000000000 +0200
---- src/netbeans.c 2011-10-20 21:47:17.000000000 +0200
-***************
-*** 14,19 ****
---- 14,26 ----
- * which are *between* characters, whereas vim uses line number
- * and column number which are *on* characters.
- * See ":help netbeans-protocol" for explanation.
-+ *
-+ * The Netbeans messages are received and queued in the gui event loop, or in
-+ * the select loop when Vim runs in a terminal. These messages are processed
-+ * by netbeans_parse_messages() which is invoked in the idle loop when Vim is
-+ * waiting for user input. The function netbeans_parse_messages() is also
-+ * called from the ":sleep" command, to allow the execution of test cases that
-+ * may not invoke the idle loop.
- */
-
- #include "vim.h"
-*** ../vim-7.3.345/src/version.c 2011-10-20 21:57:43.000000000 +0200
---- src/version.c 2011-10-20 21:50:23.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 346,
- /**/
-
---
-From "know your smileys":
- ...---... SOS
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.347 b/source/ap/vim/patches/7.3.347
deleted file mode 100644
index 85b0feb75..000000000
--- a/source/ap/vim/patches/7.3.347
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.347
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.347
-Problem: When dropping text from a browser on Vim it receives HTML even
- though "html" is excluded from 'clipboard'. (Andrei Avk)
-Solution: Fix the condition for TARGET_HTML.
-Files: src/gui_gtk_x11.c
-
-
-*** ../vim-7.3.346/src/gui_gtk_x11.c 2011-08-10 17:44:41.000000000 +0200
---- src/gui_gtk_x11.c 2011-10-23 20:56:38.000000000 +0200
-***************
-*** 3081,3087 ****
-
- for (i = 0; i < (int)N_DND_TARGETS; ++i)
- {
-! if (!clip_html && selection_targets[i].info == TARGET_HTML)
- n_targets--;
- else
- targets[j++] = dnd_targets[i];
---- 3081,3087 ----
-
- for (i = 0; i < (int)N_DND_TARGETS; ++i)
- {
-! if (!clip_html && dnd_targets[i].info == TARGET_HTML)
- n_targets--;
- else
- targets[j++] = dnd_targets[i];
-*** ../vim-7.3.346/src/version.c 2011-10-20 21:58:20.000000000 +0200
---- src/version.c 2011-10-26 11:35:23.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 347,
- /**/
-
---
-I AM THANKFUL...
-...for a lawn that needs mowing, windows that need cleaning
-and gutters that need fixing because it means I have a home.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.348 b/source/ap/vim/patches/7.3.348
deleted file mode 100644
index e92febb98..000000000
--- a/source/ap/vim/patches/7.3.348
+++ /dev/null
@@ -1,57 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.348
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.348
-Problem: "call range(1, 947948399)" causes a crash. (ZyX)
-Solution: Avoid a loop in the out of memory message.
-Files: src/misc2.c
-
-
-*** ../vim-7.3.347/src/misc2.c 2011-08-19 22:28:58.000000000 +0200
---- src/misc2.c 2011-10-26 11:17:26.000000000 +0200
-***************
-*** 1012,1019 ****
- {
- /* Don't hide this message */
- emsg_silent = 0;
-! EMSGN(_("E342: Out of memory! (allocating %lu bytes)"), size);
- did_outofmem_msg = TRUE;
- }
- }
-
---- 1012,1023 ----
- {
- /* Don't hide this message */
- emsg_silent = 0;
-!
-! /* Must come first to avoid coming back here when printing the error
-! * message fails, e.g. when setting v:errmsg. */
- did_outofmem_msg = TRUE;
-+
-+ EMSGN(_("E342: Out of memory! (allocating %lu bytes)"), size);
- }
- }
-
-*** ../vim-7.3.347/src/version.c 2011-10-26 11:36:21.000000000 +0200
---- src/version.c 2011-10-26 11:38:33.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 348,
- /**/
-
---
-A fool learns from his mistakes, a wise man from someone else's.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.349 b/source/ap/vim/patches/7.3.349
deleted file mode 100644
index ac519afe8..000000000
--- a/source/ap/vim/patches/7.3.349
+++ /dev/null
@@ -1,88 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.349
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.349
-Problem: When running out of memory during startup trying to open a
- swapfile will loop forever.
-Solution: Let findswapname() set dirp to NULL if out of memory.
-Files: src/memline.c
-
-
-*** ../vim-7.3.348/src/memline.c 2011-06-13 01:07:22.000000000 +0200
---- src/memline.c 2011-10-26 11:26:06.000000000 +0200
-***************
-*** 621,626 ****
---- 621,628 ----
- break;
- fname = findswapname(buf, &dirp, mfp->mf_fname);
- /* alloc's fname */
-+ if (dirp == NULL) /* out of memory */
-+ break;
- if (fname == NULL) /* no file name found for this dir */
- continue;
-
-***************
-*** 744,749 ****
---- 746,753 ----
- * and creating it, another Vim creates the file. In that case the
- * creation will fail and we will use another directory. */
- fname = findswapname(buf, &dirp, NULL); /* allocates fname */
-+ if (dirp == NULL)
-+ break; /* out of memory */
- if (fname == NULL)
- continue;
- if (mf_open_file(mfp, fname) == OK) /* consumes fname! */
-***************
-*** 4114,4119 ****
---- 4118,4124 ----
- *
- * Several names are tried to find one that does not exist
- * Returns the name in allocated memory or NULL.
-+ * When out of memory "dirp" is set to NULL.
- *
- * Note: If BASENAMELEN is not correct, you will get error messages for
- * not being able to open the swap or undo file
-***************
-*** 4157,4163 ****
- * First allocate some memory to put the directory name in.
- */
- dir_name = alloc((unsigned)STRLEN(*dirp) + 1);
-! if (dir_name != NULL)
- (void)copy_option_part(dirp, dir_name, 31000, ",");
-
- /*
---- 4162,4170 ----
- * First allocate some memory to put the directory name in.
- */
- dir_name = alloc((unsigned)STRLEN(*dirp) + 1);
-! if (dir_name == NULL)
-! *dirp = NULL;
-! else
- (void)copy_option_part(dirp, dir_name, 31000, ",");
-
- /*
-*** ../vim-7.3.348/src/version.c 2011-10-26 11:40:56.000000000 +0200
---- src/version.c 2011-10-26 11:43:05.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 349,
- /**/
-
---
-I AM THANKFUL...
-...for all the complaining I hear about the government
-because it means we have freedom of speech.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.350 b/source/ap/vim/patches/7.3.350
deleted file mode 100644
index 5a1f3327c..000000000
--- a/source/ap/vim/patches/7.3.350
+++ /dev/null
@@ -1,46 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.350
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.350
-Problem: Block of code after ":lua << EOF" may not work. (Paul Isambert)
-Solution: Recognize the ":lua" command, skip to EOF.
-Files: src/eval.c
-
-
-*** ../vim-7.3.349/src/eval.c 2011-09-30 18:35:49.000000000 +0200
---- src/eval.c 2011-10-26 13:12:06.000000000 +0200
-***************
-*** 20899,20904 ****
---- 20899,20906 ----
- && (!ASCII_ISALPHA(p[2]) || p[2] == 'r'))
- || (p[0] == 't' && p[1] == 'c'
- && (!ASCII_ISALPHA(p[2]) || p[2] == 'l'))
-+ || (p[0] == 'l' && p[1] == 'u' && p[2] == 'a'
-+ && !ASCII_ISALPHA(p[3]))
- || (p[0] == 'r' && p[1] == 'u' && p[2] == 'b'
- && (!ASCII_ISALPHA(p[3]) || p[3] == 'y'))
- || (p[0] == 'm' && p[1] == 'z'
-*** ../vim-7.3.349/src/version.c 2011-10-26 11:44:15.000000000 +0200
---- src/version.c 2011-10-26 13:13:21.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 350,
- /**/
-
---
-From "know your smileys":
- :-| :-| Deja' vu!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.351 b/source/ap/vim/patches/7.3.351
deleted file mode 100644
index 15b2194c1..000000000
--- a/source/ap/vim/patches/7.3.351
+++ /dev/null
@@ -1,46 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.351
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.351
-Problem: Text formatting uses start of insert position when it should not.
- (Peter Wagenaar)
-Solution: Do not use Insstart when intentionally formatting.
-Files: src/edit.c
-
-
-*** ../vim-7.3.350/src/edit.c 2011-09-21 18:23:02.000000000 +0200
---- src/edit.c 2011-10-26 16:58:21.000000000 +0200
-***************
-*** 6078,6083 ****
---- 6078,6084 ----
- * Stop at first entered white when 'formatoptions' has 'v'
- */
- while ((!fo_ins_blank && !has_format_option(FO_INS_VI))
-+ || (flags & INSCHAR_FORMAT)
- || curwin->w_cursor.lnum != Insstart.lnum
- || curwin->w_cursor.col >= Insstart.col)
- {
-*** ../vim-7.3.350/src/version.c 2011-10-26 13:19:23.000000000 +0200
---- src/version.c 2011-10-26 17:03:37.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 351,
- /**/
-
---
-From "know your smileys":
- :-* A big kiss!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.352 b/source/ap/vim/patches/7.3.352
deleted file mode 100644
index 52842cfc5..000000000
--- a/source/ap/vim/patches/7.3.352
+++ /dev/null
@@ -1,108 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.352
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.352
-Problem: When completing methods dict functions and script-local functions
- get in the way.
-Solution: Sort function names starting with "<" to the end. (Yasuhiro
- Matsumoto)
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.351/src/ex_getln.c 2011-09-30 17:46:14.000000000 +0200
---- src/ex_getln.c 2011-10-26 21:37:53.000000000 +0200
-***************
-*** 121,126 ****
---- 121,134 ----
- static int ex_window __ARGS((void));
- #endif
-
-+ #if defined(FEAT_CMDL_COMPL) || defined(PROTO)
-+ static int
-+ #ifdef __BORLANDC__
-+ _RTLENTRYF
-+ #endif
-+ sort_func_compare __ARGS((const void *s1, const void *s2));
-+ #endif
-+
- /*
- * getcmdline() - accept a command line starting with firstc.
- *
-***************
-*** 3286,3291 ****
---- 3294,3317 ----
- return check_abbr(c, ccline.cmdbuff, ccline.cmdpos, 0);
- }
-
-+ #if defined(FEAT_CMDL_COMPL) || defined(PROTO)
-+ static int
-+ #ifdef __BORLANDC__
-+ _RTLENTRYF
-+ #endif
-+ sort_func_compare(s1, s2)
-+ const void *s1;
-+ const void *s2;
-+ {
-+ char_u *p1 = *(char_u **)s1;
-+ char_u *p2 = *(char_u **)s2;
-+
-+ if (*p1 != '<' && *p2 == '<') return -1;
-+ if (*p1 == '<' && *p2 != '<') return 1;
-+ return STRCMP(p1, p2);
-+ }
-+ #endif
-+
- /*
- * Return FAIL if this is not an appropriate context in which to do
- * completion of anything, return OK if it is (even if there are no matches).
-***************
-*** 4735,4741 ****
-
- /* Sort the results. Keep menu's in the specified order. */
- if (xp->xp_context != EXPAND_MENUNAMES && xp->xp_context != EXPAND_MENUS)
-! sort_strings(*file, *num_file);
-
- #ifdef FEAT_CMDL_COMPL
- /* Reset the variables used for special highlight names expansion, so that
---- 4761,4776 ----
-
- /* Sort the results. Keep menu's in the specified order. */
- if (xp->xp_context != EXPAND_MENUNAMES && xp->xp_context != EXPAND_MENUS)
-! {
-! if (xp->xp_context == EXPAND_EXPRESSION
-! || xp->xp_context == EXPAND_FUNCTIONS
-! || xp->xp_context == EXPAND_USER_FUNC)
-! /* <SNR> functions should be sorted to the end. */
-! qsort((void *)*file, (size_t)*num_file, sizeof(char_u *),
-! sort_func_compare);
-! else
-! sort_strings(*file, *num_file);
-! }
-
- #ifdef FEAT_CMDL_COMPL
- /* Reset the variables used for special highlight names expansion, so that
-*** ../vim-7.3.351/src/version.c 2011-10-26 17:04:23.000000000 +0200
---- src/version.c 2011-10-26 21:49:53.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 352,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-94. Now admit it... How many of you have made "modem noises" into
- the phone just to see if it was possible? :-)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.353 b/source/ap/vim/patches/7.3.353
deleted file mode 100644
index 1846243e8..000000000
--- a/source/ap/vim/patches/7.3.353
+++ /dev/null
@@ -1,155 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.353
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.353 (after 7.3.343)
-Problem: Missing part of the urxvt patch.
-Solution: Add the change in term.c
-Files: src/term.c
-
-
-*** ../vim-7.3.352/src/term.c 2011-09-14 14:43:21.000000000 +0200
---- src/term.c 2011-10-26 23:48:01.000000000 +0200
-***************
-*** 4008,4014 ****
- }
-
- #ifdef FEAT_TERMRESPONSE
-! if (key_name[0] == NUL)
- {
- /* Check for xterm version string: "<Esc>[>{x};{vers};{y}c". Also
- * eat other possible responses to t_RV, rxvt returns
---- 4008,4016 ----
- }
-
- #ifdef FEAT_TERMRESPONSE
-! if (key_name[0] == NUL
-! /* URXVT mouse uses <ESC>[#;#;#M, but we are matching <ESC>[ */
-! || key_name[0] == KS_URXVT_MOUSE)
- {
- /* Check for xterm version string: "<Esc>[>{x};{vers};{y}c". Also
- * eat other possible responses to t_RV, rxvt returns
-***************
-*** 4047,4053 ****
- if (tp[1 + (tp[0] != CSI)] == '>' && j == 2)
- {
- /* if xterm version >= 95 use mouse dragging */
-! if (extra >= 95)
- set_option_value((char_u *)"ttym", 0L,
- (char_u *)"xterm2", 0);
- /* if xterm version >= 141 try to get termcap codes */
---- 4049,4055 ----
- if (tp[1 + (tp[0] != CSI)] == '>' && j == 2)
- {
- /* if xterm version >= 95 use mouse dragging */
-! if (extra >= 95 && ttym_flags != TTYM_URXVT)
- set_option_value((char_u *)"ttym", 0L,
- (char_u *)"xterm2", 0);
- /* if xterm version >= 141 try to get termcap codes */
-***************
-*** 4141,4146 ****
---- 4143,4151 ----
- # ifdef FEAT_MOUSE_PTERM
- || key_name[0] == (int)KS_PTERM_MOUSE
- # endif
-+ # ifdef FEAT_MOUSE_URXVT
-+ || key_name[0] == (int)KS_URXVT_MOUSE
-+ # endif
- )
- {
- is_click = is_drag = FALSE;
-***************
-*** 4219,4225 ****
---- 4224,4292 ----
- else
- break;
- }
-+ }
-+
-+ # ifdef FEAT_MOUSE_URXVT
-+ if (key_name[0] == (int)KS_URXVT_MOUSE)
-+ {
-+ for (;;)
-+ {
-+ /* URXVT 1015 mouse reporting mode:
-+ * Almost identical to xterm mouse mode, except the values
-+ * are decimal instead of bytes.
-+ *
-+ * \033[%d;%d;%dM
-+ * ^-- row
-+ * ^----- column
-+ * ^-------- code
-+ */
-+ p = tp + slen;
-+
-+ mouse_code = getdigits(&p);
-+ if (*p++ != ';')
-+ return -1;
-+
-+ mouse_col = getdigits(&p) - 1;
-+ if (*p++ != ';')
-+ return -1;
-+
-+ mouse_row = getdigits(&p) - 1;
-+ if (*p++ != 'M')
-+ return -1;
-+
-+ slen += (int)(p - (tp + slen));
-+
-+ /* skip this one if next one has same code (like xterm
-+ * case) */
-+ j = termcodes[idx].len;
-+ if (STRNCMP(tp, tp + slen, (size_t)j) == 0) {
-+ /* check if the command is complete by looking for the
-+ * M */
-+ int slen2;
-+ int cmd_complete = 0;
-+ for (slen2 = slen; slen2 < len; slen2++) {
-+ if (tp[slen2] == 'M') {
-+ cmd_complete = 1;
-+ break;
-+ }
-+ }
-+ p += j;
-+ if (cmd_complete && getdigits(&p) == mouse_code) {
-+ slen += j; /* skip the \033[ */
-+ continue;
-+ }
-+ }
-+ break;
-+ }
-+ }
-+ # endif
-
-+ if (key_name[0] == (int)KS_MOUSE
-+ #ifdef FEAT_MOUSE_URXVT
-+ || key_name[0] == (int)KS_URXVT_MOUSE
-+ #endif
-+ )
-+ {
- # if !defined(MSWIN) && !defined(MSDOS)
- /*
- * Handle mouse events.
-*** ../vim-7.3.352/src/version.c 2011-10-26 22:02:10.000000000 +0200
---- src/version.c 2011-10-26 23:43:26.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 353,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-99. The hum of a cooling fan and the click of keys is comforting to you.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.354 b/source/ap/vim/patches/7.3.354
deleted file mode 100644
index 8250f9af9..000000000
--- a/source/ap/vim/patches/7.3.354
+++ /dev/null
@@ -1,71 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.354
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.354
-Problem: ":set backspace+=eol" doesn't work when 'backspace' has a
- backwards compatible value of 2.
-Solution: Convert the number to a string. (Hirohito Higashi)
-Files: src/option.c
-
-
-*** ../vim-7.3.353/src/option.c 2011-10-12 16:57:07.000000000 +0200
---- src/option.c 2011-11-30 11:11:15.000000000 +0100
-***************
-*** 4567,4572 ****
---- 4567,4597 ----
- arg = errbuf;
- }
- /*
-+ * Convert 'backspace' number to string, for
-+ * adding, prepending and removing string.
-+ */
-+ else if (varp == (char_u *)&p_bs
-+ && VIM_ISDIGIT(**(char_u **)varp))
-+ {
-+ i = getdigits((char_u **)varp);
-+ switch (i)
-+ {
-+ case 0:
-+ *(char_u **)varp = empty_option;
-+ break;
-+ case 1:
-+ *(char_u **)varp = vim_strsave(
-+ (char_u *)"indent,eol");
-+ break;
-+ case 2:
-+ *(char_u **)varp = vim_strsave(
-+ (char_u *)"indent,eol,start");
-+ break;
-+ }
-+ vim_free(oldval);
-+ oldval = *(char_u **)varp;
-+ }
-+ /*
- * Convert 'whichwrap' number to string, for
- * backwards compatibility with Vim 3.0.
- * Misuse errbuf[] for the resulting string.
-*** ../vim-7.3.353/src/version.c 2011-10-26 23:48:17.000000000 +0200
---- src/version.c 2011-11-30 11:14:44.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 354,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-206. You religiously respond immediately to e-mail, while ignoring
- your growing pile of snail mail.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.355 b/source/ap/vim/patches/7.3.355
deleted file mode 100644
index 51bc3b7f8..000000000
--- a/source/ap/vim/patches/7.3.355
+++ /dev/null
@@ -1,56 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.355
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.355
-Problem: GTK warnings when using netrw.vim. (Ivan Krasilnikov)
-Solution: Do not remove the beval event handler twice.
-Files: src/option.c
-
-
-*** ../vim-7.3.354/src/option.c 2011-11-30 11:15:40.000000000 +0100
---- src/option.c 2011-11-30 11:11:15.000000000 +0100
-***************
-*** 7796,7804 ****
- #ifdef FEAT_BEVAL
- else if ((int *)varp == &p_beval)
- {
-! if (p_beval == TRUE)
- gui_mch_enable_beval_area(balloonEval);
-! else
- gui_mch_disable_beval_area(balloonEval);
- }
- #endif
---- 7796,7804 ----
- #ifdef FEAT_BEVAL
- else if ((int *)varp == &p_beval)
- {
-! if (p_beval && !old_value)
- gui_mch_enable_beval_area(balloonEval);
-! else if (!p_beval && old_value)
- gui_mch_disable_beval_area(balloonEval);
- }
- #endif
-*** ../vim-7.3.354/src/version.c 2011-11-30 11:15:40.000000000 +0100
---- src/version.c 2011-11-30 11:30:55.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 355,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-209. Your house stinks because you haven't cleaned it in a week.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.356 b/source/ap/vim/patches/7.3.356
deleted file mode 100644
index 8b5572bdf..000000000
--- a/source/ap/vim/patches/7.3.356
+++ /dev/null
@@ -1,79 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.356
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.356
-Problem: Using "o" with 'cindent' set may freeze Vim. (lolilolicon)
-Solution: Skip over {} correctly. (Hari G)
-Files: src/misc1.c
-
-
-*** ../vim-7.3.355/src/misc1.c 2011-10-04 18:03:43.000000000 +0200
---- src/misc1.c 2011-11-30 12:56:55.000000000 +0100
-***************
-*** 6127,6133 ****
-
- /*
- * Set w_cursor.col to the column number of the last unmatched ')' or '{' in
-! * line "l".
- */
- static int
- find_last_paren(l, start, end)
---- 6127,6133 ----
-
- /*
- * Set w_cursor.col to the column number of the last unmatched ')' or '{' in
-! * line "l". "l" must point to the start of the line.
- */
- static int
- find_last_paren(l, start, end)
-***************
-*** 6140,6146 ****
-
- curwin->w_cursor.col = 0; /* default is start of line */
-
-! for (i = 0; l[i]; i++)
- {
- i = (int)(cin_skipcomment(l + i) - l); /* ignore parens in comments */
- i = (int)(skip_string(l + i) - l); /* ignore parens in quotes */
---- 6140,6146 ----
-
- curwin->w_cursor.col = 0; /* default is start of line */
-
-! for (i = 0; l[i] != NUL; i++)
- {
- i = (int)(cin_skipcomment(l + i) - l); /* ignore parens in comments */
- i = (int)(skip_string(l + i) - l); /* ignore parens in quotes */
-***************
-*** 7953,7958 ****
---- 7953,7959 ----
- * If we're at the end of a block, skip to the start of
- * that block.
- */
-+ l = ml_get_curline();
- if (find_last_paren(l, '{', '}')
- && (trypos = find_start_brace(ind_maxcomment))
- != NULL) /* XXX */
-*** ../vim-7.3.355/src/version.c 2011-11-30 11:31:25.000000000 +0100
---- src/version.c 2011-11-30 13:02:52.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 356,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-213. Your kids start referring to you as "that guy in front of the monitor."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.357 b/source/ap/vim/patches/7.3.357
deleted file mode 100644
index 893a6bb4f..000000000
--- a/source/ap/vim/patches/7.3.357
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.357
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.357
-Problem: Compiler warning in MS-Windows console build.
-Solution: Adjust return type of PrintHookProc(). (Mike Williams)
-Files: src/os_mswin.c
-
-
-*** ../vim-7.3.356/src/os_mswin.c 2011-09-21 20:09:38.000000000 +0200
---- src/os_mswin.c 2011-11-30 13:41:13.000000000 +0100
-***************
-*** 1869,1875 ****
-
- #ifndef FEAT_GUI
-
-! static UINT CALLBACK
- PrintHookProc(
- HWND hDlg, // handle to dialog box
- UINT uiMsg, // message identifier
---- 1869,1875 ----
-
- #ifndef FEAT_GUI
-
-! static UINT_PTR CALLBACK
- PrintHookProc(
- HWND hDlg, // handle to dialog box
- UINT uiMsg, // message identifier
-*** ../vim-7.3.356/src/version.c 2011-11-30 13:03:24.000000000 +0100
---- src/version.c 2011-11-30 13:41:55.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 357,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-215. Your mouse-clicking forearm rivals Popeye's.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.358 b/source/ap/vim/patches/7.3.358
deleted file mode 100644
index b9b385f87..000000000
--- a/source/ap/vim/patches/7.3.358
+++ /dev/null
@@ -1,74 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.358
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.358 (after 7.3.353)
-Problem: Mouse support doesn't work properly.
-Solution: Add HMT_URXVT. (lilydjwg, James McCoy)
-Files: src/term.c
-
-
-*** ../vim-7.3.357/src/term.c 2011-10-26 23:48:17.000000000 +0200
---- src/term.c 2011-11-30 14:42:22.000000000 +0100
-***************
-*** 1996,2001 ****
---- 1996,2002 ----
- # define HMT_DEC 4
- # define HMT_JSBTERM 8
- # define HMT_PTERM 16
-+ # define HMT_URXVT 32
- static int has_mouse_termcode = 0;
- # endif
-
-***************
-*** 2031,2036 ****
---- 2032,2042 ----
- has_mouse_termcode |= HMT_PTERM;
- else
- # endif
-+ # ifdef FEAT_MOUSE_URXVT
-+ if (n == KS_URXVT_MOUSE)
-+ has_mouse_termcode |= HMT_URXVT;
-+ else
-+ # endif
- has_mouse_termcode |= HMT_NORMAL;
- # endif
- }
-***************
-*** 2068,2073 ****
---- 2074,2084 ----
- has_mouse_termcode &= ~HMT_PTERM;
- else
- # endif
-+ # ifdef FEAT_MOUSE_URXVT
-+ if (n == KS_URXVT_MOUSE)
-+ has_mouse_termcode &= ~HMT_URXVT;
-+ else
-+ # endif
- has_mouse_termcode &= ~HMT_NORMAL;
- # endif
- }
-*** ../vim-7.3.357/src/version.c 2011-11-30 13:42:40.000000000 +0100
---- src/version.c 2011-11-30 14:45:06.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 358,
- /**/
-
---
-I noticed my daughter's Disney-net password on a sticky note:
-"MickeyMinnieGoofyPluto". I asked her why it was so long.
-"Because they say it has to have at least four characters."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.359 b/source/ap/vim/patches/7.3.359
deleted file mode 100644
index 7fbd3f6fa..000000000
--- a/source/ap/vim/patches/7.3.359
+++ /dev/null
@@ -1,64 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.359
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.359
-Problem: Command line completion shows dict functions.
-Solution: Skip dict functions for completion. (Yasuhiro Matsumoto)
-Files: src/eval.c
-
-
-*** ../vim-7.3.358/src/eval.c 2011-10-26 13:19:23.000000000 +0200
---- src/eval.c 2011-11-30 14:53:38.000000000 +0100
-***************
-*** 875,881 ****
-
- #ifdef EBCDIC
- /*
-! * Sort the function table, to enable binary sort.
- */
- sortFunctions();
- #endif
---- 875,881 ----
-
- #ifdef EBCDIC
- /*
-! * Sort the function table, to enable binary search.
- */
- sortFunctions();
- #endif
-***************
-*** 21737,21742 ****
---- 21737,21745 ----
- ++hi;
- fp = HI2UF(hi);
-
-+ if (fp->uf_flags & FC_DICT)
-+ return NULL; /* don't show dict functions */
-+
- if (STRLEN(fp->uf_name) + 4 >= IOSIZE)
- return fp->uf_name; /* prevents overflow */
-
-*** ../vim-7.3.358/src/version.c 2011-11-30 14:47:12.000000000 +0100
---- src/version.c 2011-11-30 14:56:57.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 359,
- /**/
-
---
-'Psychologist' -- Someone who looks at everyone else when
-an attractive woman enters the room.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.360 b/source/ap/vim/patches/7.3.360
deleted file mode 100644
index de153c835..000000000
--- a/source/ap/vim/patches/7.3.360
+++ /dev/null
@@ -1,61 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.360
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.360
-Problem: Interrupting the load of an autoload function may cause a crash.
-Solution: Do not use the hashitem when not valid. (Yukihiro Nakadaira)
-Files: src/eval.c
-
-
-*** ../vim-7.3.359/src/eval.c 2011-11-30 14:57:26.000000000 +0100
---- src/eval.c 2011-11-30 15:06:53.000000000 +0100
-***************
-*** 19589,19597 ****
- * worked find the variable again. Don't auto-load a script if it was
- * loaded already, otherwise it would be loaded every time when
- * checking if a function name is a Funcref variable. */
-! if (ht == &globvarht && !writing
-! && script_autoload(varname, FALSE) && !aborting())
- hi = hash_find(ht, varname);
- if (HASHITEM_EMPTY(hi))
- return NULL;
- }
---- 19589,19602 ----
- * worked find the variable again. Don't auto-load a script if it was
- * loaded already, otherwise it would be loaded every time when
- * checking if a function name is a Funcref variable. */
-! if (ht == &globvarht && !writing)
-! {
-! /* Note: script_autoload() may make "hi" invalid. It must either
-! * be obtained again or not used. */
-! if (!script_autoload(varname, FALSE) || aborting())
-! return NULL;
- hi = hash_find(ht, varname);
-+ }
- if (HASHITEM_EMPTY(hi))
- return NULL;
- }
-*** ../vim-7.3.359/src/version.c 2011-11-30 14:57:26.000000000 +0100
---- src/version.c 2011-11-30 15:17:28.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 360,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-217. Your sex life has drastically improved...so what if it's only cyber-sex!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.361 b/source/ap/vim/patches/7.3.361
deleted file mode 100644
index c128057f9..000000000
--- a/source/ap/vim/patches/7.3.361
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.361
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.361
-Problem: Accessing memory after it is freed when EXITFREE is defined.
-Solution: Don't access curwin when firstwin is NULL. (Dominique Pelle)
-Files: src/buffer.c
-
-*** ../vim-7.3.360/src/buffer.c 2011-09-14 17:50:05.000000000 +0200
---- src/buffer.c 2011-11-30 15:38:00.000000000 +0100
-***************
-*** 567,574 ****
- diff_buf_delete(buf); /* Can't use 'diff' for unloaded buffer. */
- #endif
- #ifdef FEAT_SYN_HL
-! if (curwin->w_buffer == buf)
-! reset_synblock(curwin); /* remove any ownsyntax */
- #endif
-
- #ifdef FEAT_FOLDING
---- 567,575 ----
- diff_buf_delete(buf); /* Can't use 'diff' for unloaded buffer. */
- #endif
- #ifdef FEAT_SYN_HL
-! /* Remove any ownsyntax, unless exiting. */
-! if (firstwin != NULL && curwin->w_buffer == buf)
-! reset_synblock(curwin);
- #endif
-
- #ifdef FEAT_FOLDING
-*** ../vim-7.3.360/src/version.c 2011-11-30 15:19:25.000000000 +0100
---- src/version.c 2011-11-30 15:40:22.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 361,
- /**/
-
-
---
-From the classified section of a city newspaper:
-Dog for sale: eats anything and is fond of children.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.362 b/source/ap/vim/patches/7.3.362
deleted file mode 100644
index 005688617..000000000
--- a/source/ap/vim/patches/7.3.362
+++ /dev/null
@@ -1,59 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.362
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.362
-Problem: ml_get error when using ":g" with folded lines.
-Solution: Adjust the line number for changed_lines(). (Christian Brabandt)
-Files: src/ex_cmds.c
-
-
-*** ../vim-7.3.361/src/ex_cmds.c 2011-10-20 18:17:38.000000000 +0200
---- src/ex_cmds.c 2011-11-30 16:58:34.000000000 +0100
-***************
-*** 820,826 ****
- curwin->w_cursor.lnum = dest + (line2 - line1) + 1;
-
- if (line1 < dest)
-! changed_lines(line1, 0, dest + num_lines + 1, 0L);
- else
- changed_lines(dest + 1, 0, line1 + num_lines, 0L);
-
---- 820,832 ----
- curwin->w_cursor.lnum = dest + (line2 - line1) + 1;
-
- if (line1 < dest)
-! {
-! dest += num_lines + 1;
-! last_line = curbuf->b_ml.ml_line_count;
-! if (dest > last_line + 1)
-! dest = last_line + 1;
-! changed_lines(line1, 0, dest, 0L);
-! }
- else
- changed_lines(dest + 1, 0, line1 + num_lines, 0L);
-
-*** ../vim-7.3.361/src/version.c 2011-11-30 15:40:51.000000000 +0100
---- src/version.c 2011-11-30 17:01:07.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 362,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-218. Your spouse hands you a gift wrapped magnet with your PC's name
- on it and you accuse him or her of genocide.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.363 b/source/ap/vim/patches/7.3.363
deleted file mode 100644
index 10ab5482f..000000000
--- a/source/ap/vim/patches/7.3.363
+++ /dev/null
@@ -1,110 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.363
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.363
-Problem: C indenting is wrong after #endif followed by a semicolon.
-Solution: Add special handling for a semicolon in a line by itself. (Lech
- Lorens)
-Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
-
-
-*** ../vim-7.3.362/src/misc1.c 2011-11-30 13:03:24.000000000 +0100
---- src/misc1.c 2011-11-30 17:10:59.000000000 +0100
-***************
-*** 8143,8148 ****
---- 8143,8171 ----
- break;
-
- /*
-+ * Find a line only has a semicolon that belongs to a previous
-+ * line ending in '}', e.g. before an #endif. Don't increase
-+ * indent then.
-+ */
-+ if (*(look = skipwhite(l)) == ';' && cin_nocode(look + 1))
-+ {
-+ pos_T curpos_save = curwin->w_cursor;
-+
-+ while (curwin->w_cursor.lnum > 1)
-+ {
-+ look = ml_get(--curwin->w_cursor.lnum);
-+ if (!(cin_nocode(look) || cin_ispreproc_cont(
-+ &look, &curwin->w_cursor.lnum)))
-+ break;
-+ }
-+ if (curwin->w_cursor.lnum > 0
-+ && cin_ends_in(look, (char_u *)"}", NULL))
-+ break;
-+
-+ curwin->w_cursor = curpos_save;
-+ }
-+
-+ /*
- * If the PREVIOUS line is a function declaration, the current
- * line (and the ones that follow) needs to be indented as
- * parameters.
-*** ../vim-7.3.362/src/testdir/test3.in 2011-10-04 18:03:43.000000000 +0200
---- src/testdir/test3.in 2011-11-30 17:05:20.000000000 +0100
-***************
-*** 1454,1459 ****
---- 1454,1469 ----
- printf("This line used to be indented incorrectly.\n");
- }
-
-+ int foo[]
-+ #ifdef BAR
-+
-+ = { 1, 2, 3,
-+ 4, 5, 6 }
-+
-+ #endif
-+ ;
-+ int baz;
-+
- void func3(void)
- {
- int tab[] = {
-*** ../vim-7.3.362/src/testdir/test3.ok 2011-10-04 18:03:43.000000000 +0200
---- src/testdir/test3.ok 2011-11-30 17:05:20.000000000 +0100
-***************
-*** 1307,1312 ****
---- 1307,1322 ----
- printf("This line used to be indented incorrectly.\n");
- }
-
-+ int foo[]
-+ #ifdef BAR
-+
-+ = { 1, 2, 3,
-+ 4, 5, 6 }
-+
-+ #endif
-+ ;
-+ int baz;
-+
- void func3(void)
- {
- int tab[] = {
-*** ../vim-7.3.362/src/version.c 2011-11-30 17:01:55.000000000 +0100
---- src/version.c 2011-11-30 17:06:57.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 363,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-220. Your wife asks for sex and you tell her where to find you on IRC.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.364 b/source/ap/vim/patches/7.3.364
deleted file mode 100644
index e62ef76d9..000000000
--- a/source/ap/vim/patches/7.3.364
+++ /dev/null
@@ -1,57 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.364
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.364 (after 7.3.353)
-Problem: Can't compile on HP-UX. (John Marriott)
-Solution: Only use TTYM_URXVT when it is defined.
-Files: src/term.c
-
-
-*** ../vim-7.3.363/src/term.c 2011-11-30 14:47:12.000000000 +0100
---- src/term.c 2011-12-01 20:53:57.000000000 +0100
-***************
-*** 4060,4066 ****
- if (tp[1 + (tp[0] != CSI)] == '>' && j == 2)
- {
- /* if xterm version >= 95 use mouse dragging */
-! if (extra >= 95 && ttym_flags != TTYM_URXVT)
- set_option_value((char_u *)"ttym", 0L,
- (char_u *)"xterm2", 0);
- /* if xterm version >= 141 try to get termcap codes */
---- 4060,4070 ----
- if (tp[1 + (tp[0] != CSI)] == '>' && j == 2)
- {
- /* if xterm version >= 95 use mouse dragging */
-! if (extra >= 95
-! # ifdef TTYM_URXVT
-! && ttym_flags != TTYM_URXVT
-! # endif
-! )
- set_option_value((char_u *)"ttym", 0L,
- (char_u *)"xterm2", 0);
- /* if xterm version >= 141 try to get termcap codes */
-*** ../vim-7.3.363/src/version.c 2011-11-30 17:20:18.000000000 +0100
---- src/version.c 2011-12-01 20:56:55.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 364,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-224. You set up your own Web page. You set up a Web page for each
- of your kids... and your pets.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.365 b/source/ap/vim/patches/7.3.365
deleted file mode 100644
index 16d5ad1b0..000000000
--- a/source/ap/vim/patches/7.3.365
+++ /dev/null
@@ -1,131 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.365
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.365
-Problem: Crash when using a large Unicode character in a file that has
- syntax highlighting. (ngollan)
-Solution: Check for going past the end of the utf tables. (Dominique Pelle)
-Files: src/mbyte.c
-
-
-*** ../vim-7.3.364/src/mbyte.c 2011-08-10 13:21:30.000000000 +0200
---- src/mbyte.c 2011-12-08 15:09:13.000000000 +0100
-***************
-*** 2764,2782 ****
- int tableSize;
- {
- int start, mid, end; /* indices into table */
-
- start = 0;
-! end = tableSize / sizeof(convertStruct);
- while (start < end)
- {
- /* need to search further */
-! mid = (end + start) /2;
- if (table[mid].rangeEnd < a)
- start = mid + 1;
- else
- end = mid;
- }
-! if (table[start].rangeStart <= a && a <= table[start].rangeEnd
- && (a - table[start].rangeStart) % table[start].step == 0)
- return (a + table[start].offset);
- else
---- 2764,2785 ----
- int tableSize;
- {
- int start, mid, end; /* indices into table */
-+ int entries = tableSize / sizeof(convertStruct);
-
- start = 0;
-! end = entries;
- while (start < end)
- {
- /* need to search further */
-! mid = (end + start) / 2;
- if (table[mid].rangeEnd < a)
- start = mid + 1;
- else
- end = mid;
- }
-! if (start < entries
-! && table[start].rangeStart <= a
-! && a <= table[start].rangeEnd
- && (a - table[start].rangeStart) % table[start].step == 0)
- return (a + table[start].offset);
- else
-***************
-*** 2791,2797 ****
- utf_fold(a)
- int a;
- {
-! return utf_convert(a, foldCase, sizeof(foldCase));
- }
-
- static convertStruct toLower[] =
---- 2794,2800 ----
- utf_fold(a)
- int a;
- {
-! return utf_convert(a, foldCase, (int)sizeof(foldCase));
- }
-
- static convertStruct toLower[] =
-***************
-*** 3119,3125 ****
- return TOUPPER_LOC(a);
-
- /* For any other characters use the above mapping table. */
-! return utf_convert(a, toUpper, sizeof(toUpper));
- }
-
- int
---- 3122,3128 ----
- return TOUPPER_LOC(a);
-
- /* For any other characters use the above mapping table. */
-! return utf_convert(a, toUpper, (int)sizeof(toUpper));
- }
-
- int
-***************
-*** 3152,3158 ****
- return TOLOWER_LOC(a);
-
- /* For any other characters use the above mapping table. */
-! return utf_convert(a, toLower, sizeof(toLower));
- }
-
- int
---- 3155,3161 ----
- return TOLOWER_LOC(a);
-
- /* For any other characters use the above mapping table. */
-! return utf_convert(a, toLower, (int)sizeof(toLower));
- }
-
- int
-*** ../vim-7.3.364/src/version.c 2011-12-01 20:59:16.000000000 +0100
---- src/version.c 2011-12-08 15:07:53.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 365,
- /**/
-
---
-Hear about the guy who played a blank tape at full blast?
-The mime next door went nuts.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.366 b/source/ap/vim/patches/7.3.366
deleted file mode 100644
index ddf39903f..000000000
--- a/source/ap/vim/patches/7.3.366
+++ /dev/null
@@ -1,76 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.366
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.366
-Problem: A tags file with an extremely long name causes errors.
-Solution: Ignore tags that are too long. (Arno Renevier)
-Files: src/tag.c
-
-
-*** ../vim-7.3.365/src/tag.c 2011-10-12 19:53:31.000000000 +0200
---- src/tag.c 2011-12-08 13:32:51.000000000 +0100
-***************
-*** 1906,1917 ****
- tagp.tagname = lbuf;
- #ifdef FEAT_TAG_ANYWHITE
- tagp.tagname_end = skiptowhite(lbuf);
-! if (*tagp.tagname_end == NUL) /* corrupted tag line */
- #else
- tagp.tagname_end = vim_strchr(lbuf, TAB);
-! if (tagp.tagname_end == NULL) /* corrupted tag line */
- #endif
- {
- line_error = TRUE;
- break;
- }
---- 1906,1931 ----
- tagp.tagname = lbuf;
- #ifdef FEAT_TAG_ANYWHITE
- tagp.tagname_end = skiptowhite(lbuf);
-! if (*tagp.tagname_end == NUL)
- #else
- tagp.tagname_end = vim_strchr(lbuf, TAB);
-! if (tagp.tagname_end == NULL)
- #endif
- {
-+ if (vim_strchr(lbuf, NL) == NULL)
-+ {
-+ /* Truncated line, ignore it. Has been reported for
-+ * Mozilla JS with extremely long names. */
-+ if (p_verbose >= 5)
-+ {
-+ verbose_enter();
-+ MSG(_("Ignoring long line in tags file"));
-+ verbose_leave();
-+ }
-+ continue;
-+ }
-+
-+ /* Corrupted tag line. */
- line_error = TRUE;
- break;
- }
-*** ../vim-7.3.365/src/version.c 2011-12-08 15:09:46.000000000 +0100
---- src/version.c 2011-12-08 15:11:10.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 366,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-246. You use up your free 100 hours in less than a week.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.367 b/source/ap/vim/patches/7.3.367
deleted file mode 100644
index 2452d531c..000000000
--- a/source/ap/vim/patches/7.3.367
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.367
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.367
-Problem: :wundo and :rundo use a wrong checksum.
-Solution: Include the last line when computing the hash. (Christian Brabandt)
-Files: src/undo.c
-
-
-*** ../vim-7.3.366/src/undo.c 2011-01-22 21:25:07.000000000 +0100
---- src/undo.c 2011-12-08 14:19:03.000000000 +0100
-***************
-*** 719,725 ****
- char_u *p;
-
- sha256_start(&ctx);
-! for (lnum = 1; lnum < curbuf->b_ml.ml_line_count; ++lnum)
- {
- p = ml_get(lnum);
- sha256_update(&ctx, p, (UINT32_T)(STRLEN(p) + 1));
---- 719,725 ----
- char_u *p;
-
- sha256_start(&ctx);
-! for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count; ++lnum)
- {
- p = ml_get(lnum);
- sha256_update(&ctx, p, (UINT32_T)(STRLEN(p) + 1));
-*** ../vim-7.3.366/src/version.c 2011-12-08 15:12:08.000000000 +0100
---- src/version.c 2011-12-08 15:13:32.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 367,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-247. You use www.switchboard.com instead of dialing 411 and 555-12-12
- for directory assistance.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.368 b/source/ap/vim/patches/7.3.368
deleted file mode 100644
index 958c69e71..000000000
--- a/source/ap/vim/patches/7.3.368
+++ /dev/null
@@ -1,103 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.368
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.368
-Problem: Gcc complains about redefining _FORTIFY_SOURCE.
-Solution: Undefine it before redefining it.
-Files: src/Makefile, src/configure.in, src/auto/configure
-
-
-*** ../vim-7.3.367/src/Makefile 2011-10-20 16:35:25.000000000 +0200
---- src/Makefile 2011-12-08 15:16:13.000000000 +0100
-***************
-*** 561,568 ****
- #CFLAGS = -g -O2 '-DSTARTUPTIME="vimstartup"' -fno-strength-reduce -Wall -Wmissing-prototypes
-
- # Use this with GCC to check for mistakes, unused arguments, etc.
-! #CFLAGS = -g -Wall -Wextra -Wmissing-prototypes -Wunreachable-code -D_FORTIFY_SOURCE=1
-! #CFLAGS = -g -O2 -Wall -Wextra -Wmissing-prototypes -D_FORTIFY_SOURCE=1 -DU_DEBUG
- #PYTHON_CFLAGS_EXTRA = -Wno-missing-field-initializers
- #MZSCHEME_CFLAGS_EXTRA = -Wno-unreachable-code -Wno-unused-parameter
-
---- 561,568 ----
- #CFLAGS = -g -O2 '-DSTARTUPTIME="vimstartup"' -fno-strength-reduce -Wall -Wmissing-prototypes
-
- # Use this with GCC to check for mistakes, unused arguments, etc.
-! #CFLAGS = -g -Wall -Wextra -Wmissing-prototypes -Wunreachable-code -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
-! #CFLAGS = -g -O2 -Wall -Wextra -Wmissing-prototypes -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DU_DEBUG
- #PYTHON_CFLAGS_EXTRA = -Wno-missing-field-initializers
- #MZSCHEME_CFLAGS_EXTRA = -Wno-unreachable-code -Wno-unused-parameter
-
-*** ../vim-7.3.367/src/configure.in 2011-09-02 12:27:20.000000000 +0200
---- src/configure.in 2011-12-01 20:23:22.000000000 +0100
-***************
-*** 3584,3592 ****
- dnl -D_FORTIFY_SOURCE=2 crashes Vim on strcpy(buf, "000") when buf is
- dnl declared as char x[1] but actually longer. Introduced in gcc 4.0.
- dnl Also remove duplicate _FORTIFY_SOURCE arguments.
- AC_MSG_CHECKING(whether we need -D_FORTIFY_SOURCE=1)
- if test "$gccmajor" -gt "3"; then
-! CFLAGS=`echo "$CFLAGS" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=.//g' -e 's/-D_FORTIFY_SOURCE=.//g' -e 's/$/ -D_FORTIFY_SOURCE=1/'`
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
---- 3584,3593 ----
- dnl -D_FORTIFY_SOURCE=2 crashes Vim on strcpy(buf, "000") when buf is
- dnl declared as char x[1] but actually longer. Introduced in gcc 4.0.
- dnl Also remove duplicate _FORTIFY_SOURCE arguments.
-+ dnl And undefine it first to avoid a warning.
- AC_MSG_CHECKING(whether we need -D_FORTIFY_SOURCE=1)
- if test "$gccmajor" -gt "3"; then
-! CFLAGS=`echo "$CFLAGS" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=.//g' -e 's/-D_FORTIFY_SOURCE=.//g' -e 's/$/ -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1/'`
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
-*** ../vim-7.3.367/src/auto/configure 2011-09-02 12:27:20.000000000 +0200
---- src/auto/configure 2011-12-01 20:24:02.000000000 +0100
-***************
-*** 12483,12492 ****
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- $as_echo "no" >&6; }
- fi
-! { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D_FORTIFY_SOURCE=1" >&5
- $as_echo_n "checking whether we need -D_FORTIFY_SOURCE=1... " >&6; }
- if test "$gccmajor" -gt "3"; then
-! CFLAGS=`echo "$CFLAGS" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=.//g' -e 's/-D_FORTIFY_SOURCE=.//g' -e 's/$/ -D_FORTIFY_SOURCE=1/'`
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
- else
---- 12483,12492 ----
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- $as_echo "no" >&6; }
- fi
-! { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D_FORTIFY_SOURCE=1" >&5
- $as_echo_n "checking whether we need -D_FORTIFY_SOURCE=1... " >&6; }
- if test "$gccmajor" -gt "3"; then
-! CFLAGS=`echo "$CFLAGS" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=.//g' -e 's/-D_FORTIFY_SOURCE=.//g' -e 's/$/ -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1/'`
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
- else
-*** ../vim-7.3.367/src/version.c 2011-12-08 15:14:04.000000000 +0100
---- src/version.c 2011-12-08 15:15:13.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 368,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-248. You sign your letters with your e-mail address instead of your name.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.369 b/source/ap/vim/patches/7.3.369
deleted file mode 100644
index af6e7e6e7..000000000
--- a/source/ap/vim/patches/7.3.369
+++ /dev/null
@@ -1,48 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.369
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.369
-Problem: When compiled with Gnome get an error message when using --help.
-Solution: Don't fork. (Ivan Krasilnikov)
-Files: src/main.c
-
-
-*** ../vim-7.3.368/src/main.c 2011-10-04 16:43:49.000000000 +0200
---- src/main.c 2011-12-01 20:27:11.000000000 +0100
-***************
-*** 3294,3300 ****
---- 3294,3303 ----
- #ifdef FEAT_GUI_GNOME
- /* Gnome gives extra messages for --help if we continue, but not for -h. */
- if (gui.starting)
-+ {
- mch_msg("\n");
-+ gui.dofork = FALSE;
-+ }
- else
- #endif
- mch_exit(0);
-*** ../vim-7.3.368/src/version.c 2011-12-08 15:17:28.000000000 +0100
---- src/version.c 2011-12-08 15:57:03.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 369,
- /**/
-
---
-Vi is clearly superior to emacs, since "vi" has only two characters
-(and two keystrokes), while "emacs" has five. (Randy C. Ford)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.370 b/source/ap/vim/patches/7.3.370
deleted file mode 100644
index 26bce4d10..000000000
--- a/source/ap/vim/patches/7.3.370
+++ /dev/null
@@ -1,63 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.370
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.370
-Problem: Compiler warns for unused variable in Lua interface.
-Solution: Remove the variable.
-Files: src/if_lua.c
-
-
-*** ../vim-7.3.369/src/if_lua.c 2011-09-21 17:15:34.000000000 +0200
---- src/if_lua.c 2011-12-01 20:19:17.000000000 +0100
-***************
-*** 1044,1056 ****
- static int
- luaV_open(lua_State *L)
- {
-- luaV_Buffer *b;
- char_u *s = NULL;
- #ifdef HAVE_SANDBOX
- luaV_checksandbox(L);
- #endif
- if (lua_isstring(L, 1)) s = (char_u *) lua_tostring(L, 1);
-! b = luaV_pushbuffer(L, buflist_new(s, NULL, 1L, BLN_LISTED));
- return 1;
- }
-
---- 1044,1055 ----
- static int
- luaV_open(lua_State *L)
- {
- char_u *s = NULL;
- #ifdef HAVE_SANDBOX
- luaV_checksandbox(L);
- #endif
- if (lua_isstring(L, 1)) s = (char_u *) lua_tostring(L, 1);
-! luaV_pushbuffer(L, buflist_new(s, NULL, 1L, BLN_LISTED));
- return 1;
- }
-
-*** ../vim-7.3.369/src/version.c 2011-12-08 15:57:54.000000000 +0100
---- src/version.c 2011-12-08 15:59:35.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 370,
- /**/
-
---
-Emacs is a nice OS - but it lacks a good text editor.
-That's why I am using Vim. --Anonymous
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.371 b/source/ap/vim/patches/7.3.371
deleted file mode 100644
index 1701c1189..000000000
--- a/source/ap/vim/patches/7.3.371
+++ /dev/null
@@ -1,75 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.371
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.371
-Problem: Crash in autocomplete. (Greg Weber)
-Solution: Check not going over allocated buffer size.
-Files: src/misc2.c
-
-
-*** ../vim-7.3.370/src/misc2.c 2011-10-26 11:40:56.000000000 +0200
---- src/misc2.c 2011-12-08 17:49:23.000000000 +0100
-***************
-*** 4293,4298 ****
---- 4293,4300 ----
- static int ff_path_in_stoplist __ARGS((char_u *, int, char_u **));
- #endif
-
-+ static char_u e_pathtoolong[] = N_("E854: path too long for completion");
-+
- #if 0
- /*
- * if someone likes findfirst/findnext, here are the functions
-***************
-*** 4589,4594 ****
---- 4591,4601 ----
- len = 0;
- while (*wc_part != NUL)
- {
-+ if (len + 5 >= MAXPATHL)
-+ {
-+ EMSG(_(e_pathtoolong));
-+ break;
-+ }
- if (STRNCMP(wc_part, "**", 2) == 0)
- {
- ff_expand_buffer[len++] = *wc_part++;
-***************
-*** 4634,4639 ****
---- 4641,4652 ----
- }
-
- /* create an absolute path */
-+ if (STRLEN(search_ctx->ffsc_start_dir)
-+ + STRLEN(search_ctx->ffsc_fix_path) + 3 >= MAXPATHL)
-+ {
-+ EMSG(_(e_pathtoolong));
-+ goto error_return;
-+ }
- STRCPY(ff_expand_buffer, search_ctx->ffsc_start_dir);
- add_pathsep(ff_expand_buffer);
- STRCAT(ff_expand_buffer, search_ctx->ffsc_fix_path);
-*** ../vim-7.3.370/src/version.c 2011-12-08 16:00:12.000000000 +0100
---- src/version.c 2011-12-08 17:46:41.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 371,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-253. You wait for a slow loading web page before going to the toilet.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.372 b/source/ap/vim/patches/7.3.372
deleted file mode 100644
index c9978c31e..000000000
--- a/source/ap/vim/patches/7.3.372
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.372
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.372
-Problem: When using a command line mapping to <Up> with file name
- completion to go one directory up, 'wildchar' is inserted.
- (Yasuhiro Matsumoto)
-Solution: Set the KeyTyped flag.
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.371/src/ex_getln.c 2011-10-26 22:02:10.000000000 +0200
---- src/ex_getln.c 2011-12-08 18:40:49.000000000 +0100
-***************
-*** 645,651 ****
---- 645,655 ----
- }
- else if (ccline.cmdpos > i)
- cmdline_del(i);
-+
-+ /* Now complete in the new directory. Set KeyTyped in case the
-+ * Up key came from a mapping. */
- c = p_wc;
-+ KeyTyped = TRUE;
- }
- }
-
-*** ../vim-7.3.371/src/version.c 2011-12-08 17:49:31.000000000 +0100
---- src/version.c 2011-12-08 18:42:54.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 372,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-255. You work for a newspaper and your editor asks you to write an
- article about Internet addiction...in the "first person."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.373 b/source/ap/vim/patches/7.3.373
deleted file mode 100644
index 3e8937a03..000000000
--- a/source/ap/vim/patches/7.3.373
+++ /dev/null
@@ -1,78 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.373
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.373 (after 7.3.366)
-Problem: A tags file with an extremely long name may cause an infinite loop.
-Solution: When encountering a long name switch to linear search.
-Files: src/tag.c
-
-
-*** ../vim-7.3.372/src/tag.c 2011-12-08 15:12:08.000000000 +0100
---- src/tag.c 2011-12-14 14:13:28.000000000 +0100
-***************
-*** 1854,1860 ****
-
- if (state == TS_BINARY && orgpat.regmatch.rm_ic && !sortic)
- {
-! /* binary search won't work for ignoring case, use linear
- * search. */
- linear = TRUE;
- state = TS_LINEAR;
---- 1854,1860 ----
-
- if (state == TS_BINARY && orgpat.regmatch.rm_ic && !sortic)
- {
-! /* Binary search won't work for ignoring case, use linear
- * search. */
- linear = TRUE;
- state = TS_LINEAR;
-***************
-*** 1922,1927 ****
---- 1922,1940 ----
- MSG(_("Ignoring long line in tags file"));
- verbose_leave();
- }
-+ #ifdef FEAT_TAG_BINS
-+ if (state != TS_LINEAR)
-+ {
-+ /* Avoid getting stuck. */
-+ linear = TRUE;
-+ state = TS_LINEAR;
-+ # ifdef HAVE_FSEEKO
-+ fseeko(fp, search_info.low_offset, SEEK_SET);
-+ # else
-+ fseek(fp, (long)search_info.low_offset, SEEK_SET);
-+ # endif
-+ }
-+ #endif
- continue;
- }
-
-*** ../vim-7.3.372/src/version.c 2011-12-08 18:44:47.000000000 +0100
---- src/version.c 2011-12-14 14:12:06.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 373,
- /**/
-
---
-ZOOT: I'm afraid our life must seem very dull and quiet compared to yours.
- We are but eightscore young blondes, all between sixteen and
- nineteen-and-a-half, cut off in this castle, with no one to protect us.
- Oooh. It is a lonely life ... bathing ... dressing ... undressing ...
- making exciting underwear....
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.374 b/source/ap/vim/patches/7.3.374
deleted file mode 100644
index b312828ae..000000000
--- a/source/ap/vim/patches/7.3.374
+++ /dev/null
@@ -1,59 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.374
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.374
-Problem: ++encoding does not work properly.
-Solution: Recognize ++encoding before ++enc. (Charles Cooper)
-Files: src/ex_docmd.c
-
-
-*** ../vim-7.3.373/src/ex_docmd.c 2011-10-20 21:58:20.000000000 +0200
---- src/ex_docmd.c 2011-12-14 14:46:05.000000000 +0100
-***************
-*** 4840,4851 ****
- #ifdef FEAT_MBYTE
- else if (STRNCMP(arg, "enc", 3) == 0)
- {
-! arg += 3;
-! pp = &eap->force_enc;
-! }
-! else if (STRNCMP(arg, "encoding", 8) == 0)
-! {
-! arg += 8;
- pp = &eap->force_enc;
- }
- else if (STRNCMP(arg, "bad", 3) == 0)
---- 4840,4849 ----
- #ifdef FEAT_MBYTE
- else if (STRNCMP(arg, "enc", 3) == 0)
- {
-! if (STRNCMP(arg, "encoding", 8) == 0)
-! arg += 8;
-! else
-! arg += 3;
- pp = &eap->force_enc;
- }
- else if (STRNCMP(arg, "bad", 3) == 0)
-*** ../vim-7.3.373/src/version.c 2011-12-14 14:15:12.000000000 +0100
---- src/version.c 2011-12-14 14:44:01.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 374,
- /**/
-
---
-Linux is just like a wigwam: no Windows, no Gates and an Apache inside.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.375 b/source/ap/vim/patches/7.3.375
deleted file mode 100644
index 6f15fea1b..000000000
--- a/source/ap/vim/patches/7.3.375
+++ /dev/null
@@ -1,64 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.375
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.375
-Problem: Duplicate return statement.
-Solution: Remove the superfluous one. (Dominique Pelle)
-Files: src/gui_mac.c
-
-
-*** ../vim-7.3.374/src/gui_mac.c 2011-06-19 01:14:22.000000000 +0200
---- src/gui_mac.c 2011-12-10 17:20:59.000000000 +0100
-***************
-*** 3216,3222 ****
- {
- /* TODO:
- * This proc is called when Normal is set to a value
-! * so what msut be done? I don't know
- */
- }
-
---- 3216,3222 ----
- {
- /* TODO:
- * This proc is called when Normal is set to a value
-! * so what must be done? I don't know
- */
- }
-
-***************
-*** 3303,3309 ****
- *x = bounds.left;
- *y = bounds.top;
- return OK;
-- return FAIL;
- }
-
- /*
---- 3303,3308 ----
-*** ../vim-7.3.374/src/version.c 2011-12-14 14:49:41.000000000 +0100
---- src/version.c 2011-12-14 15:06:01.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 375,
- /**/
-
---
-GALAHAD: No look, really, this isn't nescess ...
-PIGLET: We must examine you.
-GALAHAD: There's nothing wrong with ... that.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.376 b/source/ap/vim/patches/7.3.376
deleted file mode 100644
index 1e20743e0..000000000
--- a/source/ap/vim/patches/7.3.376
+++ /dev/null
@@ -1,57 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.376
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.376
-Problem: Win32: Toolbar repainting does not work when the mouse pointer
- hovers over a button.
-Solution: Call DefWindowProc() when not handling an event. (Sergiu Dotenco)
-Files: src/gui_w32.c
-
-
-*** ../vim-7.3.375/src/gui_w32.c 2011-08-10 17:07:56.000000000 +0200
---- src/gui_w32.c 2011-12-14 15:14:48.000000000 +0100
-***************
-*** 1101,1107 ****
- return MyWindowProc(hwnd, uMsg, wParam, lParam);
- }
-
-! return 1;
- }
-
- /*
---- 1101,1107 ----
- return MyWindowProc(hwnd, uMsg, wParam, lParam);
- }
-
-! return DefWindowProc(hwnd, uMsg, wParam, lParam);
- }
-
- /*
-*** ../vim-7.3.375/src/version.c 2011-12-14 15:07:11.000000000 +0100
---- src/version.c 2011-12-14 15:23:10.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 376,
- /**/
-
---
- GALAHAD hurries to the door and pushes through it. As he leaves the room
- we CUT TO the reverse to show that he is now in a room full of bathing
- and romping GIRLIES, all innocent, wide-eyed and beautiful. They smile
- enchantingly at him as he tries to keep walking without being diverted by
- the lovely sights assaulting his eyeballs.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.377 b/source/ap/vim/patches/7.3.377
deleted file mode 100644
index 1a2df1d5c..000000000
--- a/source/ap/vim/patches/7.3.377
+++ /dev/null
@@ -1,406 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.377
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.377
-Problem: No support for bitwise AND, OR, XOR and invert.
-Solution: Add and(), or(), invert() and xor() functions.
-Files: src/eval.c, src/testdir/test49.in, src/testdir/test65.in,
- src/testdir/test65.ok, runtime/doc/eval.txt
-
-
-*** ../vim-7.3.376/src/eval.c 2011-11-30 15:19:25.000000000 +0100
---- src/eval.c 2011-12-11 13:49:31.000000000 +0100
-***************
-*** 474,479 ****
---- 474,480 ----
- static void f_acos __ARGS((typval_T *argvars, typval_T *rettv));
- #endif
- static void f_add __ARGS((typval_T *argvars, typval_T *rettv));
-+ static void f_and __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_append __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_argc __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_argidx __ARGS((typval_T *argvars, typval_T *rettv));
-***************
-*** 602,607 ****
---- 603,609 ----
- static void f_inputsave __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_inputsecret __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_insert __ARGS((typval_T *argvars, typval_T *rettv));
-+ static void f_invert __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_isdirectory __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_islocked __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_items __ARGS((typval_T *argvars, typval_T *rettv));
-***************
-*** 640,645 ****
---- 642,648 ----
- #endif
- static void f_nextnonblank __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_nr2char __ARGS((typval_T *argvars, typval_T *rettv));
-+ static void f_or __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_pathshorten __ARGS((typval_T *argvars, typval_T *rettv));
- #ifdef FEAT_FLOAT
- static void f_pow __ARGS((typval_T *argvars, typval_T *rettv));
-***************
-*** 751,756 ****
---- 754,760 ----
- static void f_winsaveview __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_winwidth __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_writefile __ARGS((typval_T *argvars, typval_T *rettv));
-+ static void f_xor __ARGS((typval_T *argvars, typval_T *rettv));
-
- static int list2fpos __ARGS((typval_T *arg, pos_T *posp, int *fnump));
- static pos_T *var2fpos __ARGS((typval_T *varp, int dollar_lnum, int *fnum));
-***************
-*** 7715,7720 ****
---- 7719,7725 ----
- {"acos", 1, 1, f_acos}, /* WJMc */
- #endif
- {"add", 2, 2, f_add},
-+ {"and", 2, 2, f_and},
- {"append", 2, 2, f_append},
- {"argc", 0, 0, f_argc},
- {"argidx", 0, 0, f_argidx},
-***************
-*** 7850,7855 ****
---- 7855,7861 ----
- {"inputsave", 0, 0, f_inputsave},
- {"inputsecret", 1, 2, f_inputsecret},
- {"insert", 2, 3, f_insert},
-+ {"invert", 1, 1, f_invert},
- {"isdirectory", 1, 1, f_isdirectory},
- {"islocked", 1, 1, f_islocked},
- {"items", 1, 1, f_items},
-***************
-*** 7888,7893 ****
---- 7894,7900 ----
- #endif
- {"nextnonblank", 1, 1, f_nextnonblank},
- {"nr2char", 1, 1, f_nr2char},
-+ {"or", 2, 2, f_or},
- {"pathshorten", 1, 1, f_pathshorten},
- #ifdef FEAT_FLOAT
- {"pow", 2, 2, f_pow},
-***************
-*** 7999,8004 ****
---- 8006,8012 ----
- {"winsaveview", 0, 0, f_winsaveview},
- {"winwidth", 1, 1, f_winwidth},
- {"writefile", 2, 3, f_writefile},
-+ {"xor", 2, 2, f_xor},
- };
-
- #if defined(FEAT_CMDL_COMPL) || defined(PROTO)
-***************
-*** 8572,8577 ****
---- 8580,8597 ----
- }
-
- /*
-+ * "and(expr, expr)" function
-+ */
-+ static void
-+ f_and(argvars, rettv)
-+ typval_T *argvars;
-+ typval_T *rettv;
-+ {
-+ rettv->vval.v_number = get_tv_number_chk(&argvars[0], NULL)
-+ & get_tv_number_chk(&argvars[1], NULL);
-+ }
-+
-+ /*
- * "append(lnum, string/list)" function
- */
- static void
-***************
-*** 12958,12963 ****
---- 12978,12994 ----
- }
-
- /*
-+ * "invert(expr)" function
-+ */
-+ static void
-+ f_invert(argvars, rettv)
-+ typval_T *argvars;
-+ typval_T *rettv;
-+ {
-+ rettv->vval.v_number = ~get_tv_number_chk(&argvars[0], NULL);
-+ }
-+
-+ /*
- * "isdirectory()" function
- */
- static void
-***************
-*** 14108,14113 ****
---- 14139,14156 ----
- }
-
- /*
-+ * "or(expr, expr)" function
-+ */
-+ static void
-+ f_or(argvars, rettv)
-+ typval_T *argvars;
-+ typval_T *rettv;
-+ {
-+ rettv->vval.v_number = get_tv_number_chk(&argvars[0], NULL)
-+ | get_tv_number_chk(&argvars[1], NULL);
-+ }
-+
-+ /*
- * "pathshorten()" function
- */
- static void
-***************
-*** 18394,18399 ****
---- 18437,18455 ----
- }
-
- /*
-+ * "xor(expr, expr)" function
-+ */
-+ static void
-+ f_xor(argvars, rettv)
-+ typval_T *argvars;
-+ typval_T *rettv;
-+ {
-+ rettv->vval.v_number = get_tv_number_chk(&argvars[0], NULL)
-+ ^ get_tv_number_chk(&argvars[1], NULL);
-+ }
-+
-+
-+ /*
- * Translate a String variable into a position.
- * Returns NULL when there is an error.
- */
-*** ../vim-7.3.376/src/testdir/test65.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test65.in 2011-12-11 13:55:06.000000000 +0100
-***************
-*** 1,4 ****
-! Test for floating point.
-
- STARTTEST
- :so small.vim
---- 1,4 ----
-! Test for floating point and logical operators.
-
- STARTTEST
- :so small.vim
-***************
-*** 72,77 ****
---- 72,94 ----
- :$put ='float2nr'
- :$put =float2nr(123.456)
- :$put =float2nr(-123.456)
-+ :$put ='AND'
-+ :$put =and(127, 127)
-+ :$put =and(127, 16)
-+ :$put =and(127, 128)
-+ :$put ='OR'
-+ :$put =or(16, 7)
-+ :$put =or(8, 7)
-+ :$put =or(0, 123)
-+ :$put ='XOR'
-+ :$put =xor(127, 127)
-+ :$put =xor(127, 16)
-+ :$put =xor(127, 128)
-+ :$put ='invert'
-+ :$put =and(invert(127), 65535)
-+ :$put =and(invert(16), 65535)
-+ :$put =and(invert(128), 65535)
-+ :$put =invert(1.0)
- :/^Results/,$wq! test.out
- ENDTEST
-
-*** ../vim-7.3.376/src/testdir/test65.ok 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test65.ok 2011-12-11 13:55:30.000000000 +0100
-***************
-*** 54,56 ****
---- 54,73 ----
- float2nr
- 123
- -123
-+ AND
-+ 127
-+ 16
-+ 0
-+ OR
-+ 23
-+ 15
-+ 123
-+ XOR
-+ 0
-+ 111
-+ 255
-+ invert
-+ 65408
-+ 65519
-+ 65407
-+ 0
-*** ../vim-7.3.376/runtime/doc/eval.txt 2011-06-19 02:55:32.000000000 +0200
---- runtime/doc/eval.txt 2011-12-14 15:28:23.000000000 +0100
-***************
-*** 798,808 ****
- For |Lists| only "+" is possible and then both expr6 must be a list. The
- result is a new list with the two lists Concatenated.
-
-! expr7 * expr7 .. number multiplication *expr-star*
-! expr7 / expr7 .. number division *expr-/*
-! expr7 % expr7 .. number modulo *expr-%*
-
- For all, except ".", Strings are converted to Numbers.
-
- Note the difference between "+" and ".":
- "123" + "456" = 579
---- 800,811 ----
- For |Lists| only "+" is possible and then both expr6 must be a list. The
- result is a new list with the two lists Concatenated.
-
-! expr7 * expr7 .. Number multiplication *expr-star*
-! expr7 / expr7 .. Number division *expr-/*
-! expr7 % expr7 .. Number modulo *expr-%*
-
- For all, except ".", Strings are converted to Numbers.
-+ For bitwise operators see |and()|, |or()| and |xor()|.
-
- Note the difference between "+" and ".":
- "123" + "456" = 579
-***************
-*** 1679,1684 ****
---- 1688,1694 ----
- abs( {expr}) Float or Number absolute value of {expr}
- acos( {expr}) Float arc cosine of {expr}
- add( {list}, {item}) List append {item} to |List| {list}
-+ and( {expr}, {expr}) Number bitwise AND
- append( {lnum}, {string}) Number append {string} below line {lnum}
- append( {lnum}, {list}) Number append lines {list} below line {lnum}
- argc() Number number of files in the argument list
-***************
-*** 1817,1822 ****
---- 1827,1833 ----
- inputsave() Number save and clear typeahead
- inputsecret( {prompt} [, {text}]) String like input() but hiding the text
- insert( {list}, {item} [, {idx}]) List insert {item} in {list} [before {idx}]
-+ invert( {expr}) Number bitwise invert
- isdirectory( {directory}) Number TRUE if {directory} is a directory
- islocked( {expr}) Number TRUE if {expr} is locked
- items( {dict}) List key-value pairs in {dict}
-***************
-*** 1856,1861 ****
---- 1868,1874 ----
- mzeval( {expr}) any evaluate |MzScheme| expression
- nextnonblank( {lnum}) Number line nr of non-blank line >= {lnum}
- nr2char( {expr}) String single char with ASCII value {expr}
-+ or( {expr}, {expr}) Number bitwise OR
- pathshorten( {expr}) String shorten directory names in a path
- pow( {x}, {y}) Float {x} to the power of {y}
- prevnonblank( {lnum}) Number line nr of non-blank line <= {lnum}
-***************
-*** 1978,1983 ****
---- 1992,1998 ----
- winwidth( {nr}) Number width of window {nr}
- writefile( {list}, {fname} [, {binary}])
- Number write list of lines to file {fname}
-+ xor( {expr}, {expr}) Number bitwise XOR
-
- abs({expr}) *abs()*
- Return the absolute value of {expr}. When {expr} evaluates to
-***************
-*** 2017,2022 ****
---- 2032,2044 ----
- Use |insert()| to add an item at another position.
-
-
-+ and({expr}, {expr}) *and()*
-+ Bitwise AND on the two arguments. The arguments are converted
-+ to a number. A List, Dict or Float argument causes an error.
-+ Example: >
-+ :let flag = and(bits, 0x80)
-+
-+
- append({lnum}, {expr}) *append()*
- When {expr} is a |List|: Append each item of the |List| as a
- text line below line {lnum} in the current buffer.
-***************
-*** 3770,3775 ****
---- 3798,3808 ----
- Note that when {item} is a |List| it is inserted as a single
- item. Use |extend()| to concatenate |Lists|.
-
-+ invert({expr}) *invert()*
-+ Bitwise invert. The argument is converted to a number. A
-+ List, Dict or Float argument causes an error. Example: >
-+ :let bits = invert(bits)
-+
- isdirectory({directory}) *isdirectory()*
- The result is a Number, which is non-zero when a directory
- with the name {directory} exists. If {directory} doesn't
-***************
-*** 4334,4339 ****
---- 4368,4380 ----
- call setpos('.', save_cursor)
- < Also see |setpos()|.
-
-+ or({expr}, {expr}) *or()*
-+ Bitwise OR on the two arguments. The arguments are converted
-+ to a number. A List, Dict or Float argument causes an error.
-+ Example: >
-+ :let bits = or(bits, 0x80)
-+
-+
- pathshorten({expr}) *pathshorten()*
- Shorten directory names in the path {expr} and return the
- result. The tail, the file name, is kept as-is. The other
-***************
-*** 6097,6103 ****
- To copy a file byte for byte: >
- :let fl = readfile("foo", "b")
- :call writefile(fl, "foocopy", "b")
-! <
-
- *feature-list*
- There are three types of features:
---- 6149,6163 ----
- To copy a file byte for byte: >
- :let fl = readfile("foo", "b")
- :call writefile(fl, "foocopy", "b")
-!
-!
-! xor({expr}, {expr}) *xor()*
-! Bitwise XOR on the two arguments. The arguments are converted
-! to a number. A List, Dict or Float argument causes an error.
-! Example: >
-! :let bits = xor(bits, 0x80)
-!
-!
-
- *feature-list*
- There are three types of features:
-*** ../vim-7.3.376/src/version.c 2011-12-14 15:23:53.000000000 +0100
---- src/version.c 2011-12-14 15:28:39.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 377,
- /**/
-
---
-DINGO: Wicked wicked Zoot ... she is a bad person and she must pay the
- penalty. And here in Castle Anthrax, we have but one punishment
- ... you must tie her down on a bed ... and spank her. Come!
-GIRLS: A spanking! A spanking!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.378 b/source/ap/vim/patches/7.3.378
deleted file mode 100644
index 8ad3d7037..000000000
--- a/source/ap/vim/patches/7.3.378
+++ /dev/null
@@ -1,71 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.378
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.378
-Problem: When cross-compiling the check for uint32_t fails.
-Solution: Only give a warning message. (Maksim Melnikau)
-Files: src/configure.in, src/auto/configure
-
-
-*** ../vim-7.3.377/src/configure.in 2011-12-08 15:17:28.000000000 +0100
---- src/configure.in 2011-12-14 19:18:36.000000000 +0100
-***************
-*** 3283,3289 ****
- }],
- AC_MSG_RESULT(ok),
- AC_MSG_ERROR([WRONG! uint32_t not defined correctly.]),
-! AC_MSG_ERROR([could not compile program using uint32_t.]))
-
- dnl Check for memmove() before bcopy(), makes memmove() be used when both are
- dnl present, fixes problem with incompatibility between Solaris 2.4 and 2.5.
---- 3283,3289 ----
- }],
- AC_MSG_RESULT(ok),
- AC_MSG_ERROR([WRONG! uint32_t not defined correctly.]),
-! AC_MSG_WARN([cannot check uint32_t when cross-compiling.]))
-
- dnl Check for memmove() before bcopy(), makes memmove() be used when both are
- dnl present, fixes problem with incompatibility between Solaris 2.4 and 2.5.
-*** ../vim-7.3.377/src/auto/configure 2011-12-08 15:17:28.000000000 +0100
---- src/auto/configure 2011-12-14 19:20:55.000000000 +0100
-***************
-*** 11777,11783 ****
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking uint32_t is 32 bits" >&5
- $as_echo_n "checking uint32_t is 32 bits... " >&6; }
- if test "$cross_compiling" = yes; then :
-! as_fn_error "could not compile program using uint32_t." "$LINENO" 5
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
---- 11777,11784 ----
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking uint32_t is 32 bits" >&5
- $as_echo_n "checking uint32_t is 32 bits... " >&6; }
- if test "$cross_compiling" = yes; then :
-! { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot check uint32_t when cross-compiling." >&5
-! $as_echo "$as_me: WARNING: cannot check uint32_t when cross-compiling." >&2;}
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-*** ../vim-7.3.377/src/version.c 2011-12-14 15:32:44.000000000 +0100
---- src/version.c 2011-12-14 19:21:08.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 378,
- /**/
-
---
- ### Hiroshima 45, Chernobyl 86, Windows 95 ###
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.379 b/source/ap/vim/patches/7.3.379
deleted file mode 100644
index fd87f9a1e..000000000
--- a/source/ap/vim/patches/7.3.379
+++ /dev/null
@@ -1,112 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.379
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.379
-Problem: C-indenting wrong for static enum.
-Solution: Skip over "static". (Lech Lorens)
-Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
-
-
-*** ../vim-7.3.378/src/misc1.c 2011-11-30 17:20:18.000000000 +0100
---- src/misc1.c 2011-12-14 19:37:48.000000000 +0100
-***************
-*** 5138,5143 ****
---- 5138,5146 ----
- if (STRNCMP(s, "typedef", 7) == 0 && !vim_isIDc(s[7]))
- s = cin_skipcomment(s + 7);
-
-+ if (STRNCMP(s, "static", 6) == 0 && !vim_isIDc(s[6]))
-+ s = cin_skipcomment(s + 6);
-+
- if (STRNCMP(s, "enum", 4) == 0 && !vim_isIDc(s[4]))
- return TRUE;
-
-*** ../vim-7.3.378/src/testdir/test3.in 2011-11-30 17:20:18.000000000 +0100
---- src/testdir/test3.in 2011-12-14 20:03:11.000000000 +0100
-***************
-*** 299,316 ****
-
- enum soppie
- {
-! yes = 0,
-! no,
-! maybe
- };
-
- typedef enum soppie
- {
-! yes = 0,
-! no,
-! maybe
- };
-
- {
- int a,
- b;
---- 299,323 ----
-
- enum soppie
- {
-! yes = 0,
-! no,
-! maybe
- };
-
- typedef enum soppie
- {
-! yes = 0,
-! no,
-! maybe
- };
-
-+ static enum
-+ {
-+ yes = 0,
-+ no,
-+ maybe
-+ } soppie;
-+
- {
- int a,
- b;
-*** ../vim-7.3.378/src/testdir/test3.ok 2011-11-30 17:20:18.000000000 +0100
---- src/testdir/test3.ok 2011-12-14 19:37:48.000000000 +0100
-***************
-*** 299,304 ****
---- 299,311 ----
- maybe
- };
-
-+ static enum
-+ {
-+ yes = 0,
-+ no,
-+ maybe
-+ } soppie;
-+
- {
- int a,
- b;
-*** ../vim-7.3.378/src/version.c 2011-12-14 19:22:29.000000000 +0100
---- src/version.c 2011-12-14 20:02:19.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 379,
- /**/
-
---
-You cannot propel yourself forward by patting yourself on the back.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.380 b/source/ap/vim/patches/7.3.380
deleted file mode 100644
index a8f4bcf65..000000000
--- a/source/ap/vim/patches/7.3.380
+++ /dev/null
@@ -1,318 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.380
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.380
-Problem: C-indenting wrong for a function header.
-Solution: Skip to the start paren. (Lech Lorens)
-Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
-
-
-*** ../vim-7.3.379/src/misc1.c 2011-12-14 20:05:17.000000000 +0100
---- src/misc1.c 2011-12-14 20:16:43.000000000 +0100
-***************
-*** 4943,4949 ****
- static int cin_islinecomment __ARGS((char_u *));
- static int cin_isterminated __ARGS((char_u *, int, int));
- static int cin_isinit __ARGS((void));
-! static int cin_isfuncdecl __ARGS((char_u **, linenr_T));
- static int cin_isif __ARGS((char_u *));
- static int cin_iselse __ARGS((char_u *));
- static int cin_isdo __ARGS((char_u *));
---- 4943,4949 ----
- static int cin_islinecomment __ARGS((char_u *));
- static int cin_isterminated __ARGS((char_u *, int, int));
- static int cin_isinit __ARGS((void));
-! static int cin_isfuncdecl __ARGS((char_u **, linenr_T, linenr_T, int, int));
- static int cin_isif __ARGS((char_u *));
- static int cin_iselse __ARGS((char_u *));
- static int cin_isdo __ARGS((char_u *));
-***************
-*** 5585,5605 ****
- * "sp" points to a string with the line. When looking at other lines it must
- * be restored to the line. When it's NULL fetch lines here.
- * "lnum" is where we start looking.
- */
- static int
-! cin_isfuncdecl(sp, first_lnum)
- char_u **sp;
- linenr_T first_lnum;
- {
- char_u *s;
- linenr_T lnum = first_lnum;
- int retval = FALSE;
-
- if (sp == NULL)
- s = ml_get(lnum);
- else
- s = *sp;
-
- /* Ignore line starting with #. */
- if (cin_ispreproc(s))
- return FALSE;
---- 5585,5621 ----
- * "sp" points to a string with the line. When looking at other lines it must
- * be restored to the line. When it's NULL fetch lines here.
- * "lnum" is where we start looking.
-+ * "min_lnum" is the line before which we will not be looking.
- */
- static int
-! cin_isfuncdecl(sp, first_lnum, min_lnum, ind_maxparen, ind_maxcomment)
- char_u **sp;
- linenr_T first_lnum;
-+ linenr_T min_lnum;
-+ int ind_maxparen;
-+ int ind_maxcomment;
- {
- char_u *s;
- linenr_T lnum = first_lnum;
- int retval = FALSE;
-+ pos_T *trypos;
-+ int just_started = TRUE;
-
- if (sp == NULL)
- s = ml_get(lnum);
- else
- s = *sp;
-
-+ if (find_last_paren(s, '(', ')')
-+ && (trypos = find_match_paren(ind_maxparen, ind_maxcomment)) != NULL)
-+ {
-+ lnum = trypos->lnum;
-+ if (lnum < min_lnum)
-+ return FALSE;
-+
-+ s = ml_get(lnum);
-+ }
-+
- /* Ignore line starting with #. */
- if (cin_ispreproc(s))
- return FALSE;
-***************
-*** 5650,5662 ****
- /* Require a comma at end of the line or a comma or ')' at the
- * start of next line. */
- s = skipwhite(s);
-! if (!comma && *s != ',' && *s != ')')
- break;
- }
- else if (cin_iscomment(s)) /* ignore comments */
- s = cin_skipcomment(s);
- else
- ++s;
- }
-
- done:
---- 5666,5682 ----
- /* Require a comma at end of the line or a comma or ')' at the
- * start of next line. */
- s = skipwhite(s);
-! if (!just_started && (!comma && *s != ',' && *s != ')'))
- break;
-+ just_started = FALSE;
- }
- else if (cin_iscomment(s)) /* ignore comments */
- s = cin_skipcomment(s);
- else
-+ {
- ++s;
-+ just_started = FALSE;
-+ }
- }
-
- done:
-***************
-*** 7158,7164 ****
- * (it's a variable declaration).
- */
- if (start_brace != BRACE_IN_COL0
-! || !cin_isfuncdecl(&l, curwin->w_cursor.lnum))
- {
- /* if the line is terminated with another ','
- * it is a continued variable initialization.
---- 7178,7185 ----
- * (it's a variable declaration).
- */
- if (start_brace != BRACE_IN_COL0
-! || !cin_isfuncdecl(&l, curwin->w_cursor.lnum,
-! 0, ind_maxparen, ind_maxcomment))
- {
- /* if the line is terminated with another ','
- * it is a continued variable initialization.
-***************
-*** 8019,8025 ****
- && vim_strchr(theline, '}') == NULL
- && !cin_ends_in(theline, (char_u *)":", NULL)
- && !cin_ends_in(theline, (char_u *)",", NULL)
-! && cin_isfuncdecl(NULL, cur_curpos.lnum + 1)
- && !cin_isterminated(theline, FALSE, TRUE))
- {
- amount = ind_func_type;
---- 8040,8048 ----
- && vim_strchr(theline, '}') == NULL
- && !cin_ends_in(theline, (char_u *)":", NULL)
- && !cin_ends_in(theline, (char_u *)",", NULL)
-! && cin_isfuncdecl(NULL, cur_curpos.lnum + 1,
-! cur_curpos.lnum + 1,
-! ind_maxparen, ind_maxcomment)
- && !cin_isterminated(theline, FALSE, TRUE))
- {
- amount = ind_func_type;
-***************
-*** 8125,8131 ****
- * If the line looks like a function declaration, and we're
- * not in a comment, put it the left margin.
- */
-! if (cin_isfuncdecl(NULL, cur_curpos.lnum)) /* XXX */
- break;
- l = ml_get_curline();
-
---- 8148,8155 ----
- * If the line looks like a function declaration, and we're
- * not in a comment, put it the left margin.
- */
-! if (cin_isfuncdecl(NULL, cur_curpos.lnum, 0,
-! ind_maxparen, ind_maxcomment)) /* XXX */
- break;
- l = ml_get_curline();
-
-***************
-*** 8173,8179 ****
- * line (and the ones that follow) needs to be indented as
- * parameters.
- */
-! if (cin_isfuncdecl(&l, curwin->w_cursor.lnum))
- {
- amount = ind_param;
- break;
---- 8197,8204 ----
- * line (and the ones that follow) needs to be indented as
- * parameters.
- */
-! if (cin_isfuncdecl(&l, curwin->w_cursor.lnum, 0,
-! ind_maxparen, ind_maxcomment))
- {
- amount = ind_param;
- break;
-*** ../vim-7.3.379/src/testdir/test3.in 2011-12-14 20:05:17.000000000 +0100
---- src/testdir/test3.in 2011-12-14 20:11:24.000000000 +0100
-***************
-*** 1429,1435 ****
-
- STARTTEST
- :set cino&
-! 2kdd=4][
- ENDTEST
-
- void func(void)
---- 1429,1435 ----
-
- STARTTEST
- :set cino&
-! 2kdd=7][
- ENDTEST
-
- void func(void)
-***************
-*** 1478,1484 ****
- 3, 4,
- 5, 6};
-
-! printf("Don't you dare indent this line incorrectly!\n);
- }
-
- STARTTEST
---- 1478,1506 ----
- 3, 4,
- 5, 6};
-
-! printf("Don't you dare indent this line incorrectly!\n");
-! }
-!
-! void
-! func4(a, b,
-! c)
-! int a;
-! int b;
-! int c;
-! {
-! }
-!
-! void
-! func5(
-! int a,
-! int b)
-! {
-! }
-!
-! void
-! func6(
-! int a)
-! {
- }
-
- STARTTEST
-*** ../vim-7.3.379/src/testdir/test3.ok 2011-12-14 20:05:17.000000000 +0100
---- src/testdir/test3.ok 2011-12-14 20:11:24.000000000 +0100
-***************
-*** 1331,1337 ****
- 3, 4,
- 5, 6};
-
-! printf("Don't you dare indent this line incorrectly!\n);
- }
-
-
---- 1331,1359 ----
- 3, 4,
- 5, 6};
-
-! printf("Don't you dare indent this line incorrectly!\n");
-! }
-!
-! void
-! func4(a, b,
-! c)
-! int a;
-! int b;
-! int c;
-! {
-! }
-!
-! void
-! func5(
-! int a,
-! int b)
-! {
-! }
-!
-! void
-! func6(
-! int a)
-! {
- }
-
-
-*** ../vim-7.3.379/src/version.c 2011-12-14 20:05:17.000000000 +0100
---- src/version.c 2011-12-14 20:20:50.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 380,
- /**/
-
---
-"Intelligence has much less practical application than you'd think."
- -- Scott Adams, Dilbert.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.381 b/source/ap/vim/patches/7.3.381
deleted file mode 100644
index b79573792..000000000
--- a/source/ap/vim/patches/7.3.381
+++ /dev/null
@@ -1,260 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.381
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.381
-Problem: Configure silently skips interfaces that won't work.
-Solution: Add the --enable-fail_if_missing argument. (Shlomi Fish)
-Files: src/Makefile, src/configure.in, src/auto/configure
-
-
-*** ../vim-7.3.380/src/Makefile 2011-12-08 15:17:28.000000000 +0100
---- src/Makefile 2011-12-14 20:49:26.000000000 +0100
-***************
-*** 389,394 ****
---- 389,399 ----
- #CONF_OPT_PLTHOME = --with-plthome=/usr/local/drscheme
- #CONF_OPT_PLTHOME = --with-plthome=/home/me/mz
-
-+ # Uncomment the next line to fail if one of the requested language interfaces
-+ # cannot be configured. Without this Vim will be build anyway, without
-+ # the failing interfaces.
-+ #CONF_OPT_FAIL = --enable-fail-if-missing
-+
- # PERL
- # Uncomment one of these when you want to include the Perl interface.
- # First one is for static linking, second one for dynamic loading.
-***************
-*** 1648,1654 ****
- CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" \
- LDFLAGS="$(LDFLAGS)" $(CONF_SHELL) srcdir="$(srcdir)" \
- ./configure $(CONF_OPT_GUI) $(CONF_OPT_X) $(CONF_OPT_XSMP) \
-! $(CONF_OPT_DARWIN) $(CONF_OPT_PERL) $(CONF_OPT_PYTHON) $(CONF_OPT_PYTHON3) \
- $(CONF_OPT_TCL) $(CONF_OPT_RUBY) $(CONF_OPT_NLS) \
- $(CONF_OPT_CSCOPE) $(CONF_OPT_MULTIBYTE) $(CONF_OPT_INPUT) \
- $(CONF_OPT_OUTPUT) $(CONF_OPT_GPM) $(CONF_OPT_WORKSHOP) \
---- 1653,1660 ----
- CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" \
- LDFLAGS="$(LDFLAGS)" $(CONF_SHELL) srcdir="$(srcdir)" \
- ./configure $(CONF_OPT_GUI) $(CONF_OPT_X) $(CONF_OPT_XSMP) \
-! $(CONF_OPT_DARWIN) $(CONF_OPT_FAIL) \
-! $(CONF_OPT_PERL) $(CONF_OPT_PYTHON) $(CONF_OPT_PYTHON3) \
- $(CONF_OPT_TCL) $(CONF_OPT_RUBY) $(CONF_OPT_NLS) \
- $(CONF_OPT_CSCOPE) $(CONF_OPT_MULTIBYTE) $(CONF_OPT_INPUT) \
- $(CONF_OPT_OUTPUT) $(CONF_OPT_GPM) $(CONF_OPT_WORKSHOP) \
-*** ../vim-7.3.380/src/configure.in 2011-12-14 19:22:29.000000000 +0100
---- src/configure.in 2011-12-14 20:46:36.000000000 +0100
-***************
-*** 28,33 ****
---- 28,43 ----
- AC_HEADER_STDC
- AC_HEADER_SYS_WAIT
-
-+ dnl Check for the flag that fails if stuff are missing.
-+
-+ AC_MSG_CHECKING(--enable-fail-if-missing argument)
-+ AC_ARG_ENABLE(fail_if_missing,
-+ [ --enable-fail-if-missing Fail if dependencies on additional features
-+ specified on the command line are missing.],
-+ [fail_if_missing="yes"],
-+ [fail_if_missing="no"])
-+ AC_MSG_RESULT($fail_if_missing)
-+
- dnl Set default value for CFLAGS if none is defined or it's empty
- if test -z "$CFLAGS"; then
- CFLAGS="-O"
-***************
-*** 491,496 ****
---- 501,509 ----
- LUA_CFLAGS="-DDYNAMIC_LUA_DLL=\\\"liblua${vi_cv_version_lua}.so$LUA_SONAME\\\" $LUA_CFLAGS"
- fi
- fi
-+ if test "$fail_if_missing" = "yes" -a -z "$LUA_SRC"; then
-+ AC_MSG_ERROR([could not configure lua])
-+ fi
- AC_SUBST(LUA_SRC)
- AC_SUBST(LUA_OBJ)
- AC_SUBST(LUA_PRO)
-***************
-*** 781,786 ****
---- 794,803 ----
- PERL_CFLAGS="-DDYNAMIC_PERL_DLL=\\\"$libperl\\\" $PERL_CFLAGS"
- fi
- fi
-+
-+ if test "$fail_if_missing" = "yes" -a "$perl_ok" != "yes"; then
-+ AC_MSG_ERROR([could not configure perl])
-+ fi
- fi
- AC_SUBST(shrpenv)
- AC_SUBST(PERL_SRC)
-***************
-*** 966,971 ****
---- 983,992 ----
- AC_MSG_RESULT(too old)
- fi
- fi
-+
-+ if test "$fail_if_missing" = "yes" -a "$python_ok" != "yes"; then
-+ AC_MSG_ERROR([could not configure python])
-+ fi
- fi
-
- AC_SUBST(PYTHON_CONFDIR)
-***************
-*** 1389,1394 ****
---- 1410,1418 ----
- AC_MSG_RESULT(too old; need Tcl version 8.0 or later)
- fi
- fi
-+ if test "$fail_if_missing" = "yes" -a -z "$TCL_SRC"; then
-+ AC_MSG_ERROR([could not configure Tcl])
-+ fi
- fi
- AC_SUBST(TCL_SRC)
- AC_SUBST(TCL_OBJ)
-***************
-*** 1469,1474 ****
---- 1493,1502 ----
- AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later)
- fi
- fi
-+
-+ if test "$fail_if_missing" = "yes" -a -z "$RUBY_OBJ"; then
-+ AC_MSG_ERROR([could not configure Ruby])
-+ fi
- fi
- AC_SUBST(RUBY_SRC)
- AC_SUBST(RUBY_OBJ)
-*** ../vim-7.3.380/src/auto/configure 2011-12-14 19:22:29.000000000 +0100
---- src/auto/configure 2011-12-14 20:49:51.000000000 +0100
-***************
-*** 741,746 ****
---- 741,747 ----
- ac_subst_files=''
- ac_user_opts='
- enable_option_checking
-+ enable_fail_if_missing
- enable_darwin
- with_mac_arch
- with_developer_dir
-***************
-*** 1418,1423 ****
---- 1419,1426 ----
- --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-fail-if-missing Fail if dependencies on additional features
-+ specified on the command line are missing.
- --disable-darwin Disable Darwin (Mac OS X) support.
- --disable-selinux Don't check for SELinux support.
- --disable-xsmp Disable XSMP session management
-***************
-*** 3949,3954 ****
---- 3952,3970 ----
- fi
-
-
-+
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-fail-if-missing argument" >&5
-+ $as_echo_n "checking --enable-fail-if-missing argument... " >&6; }
-+ # Check whether --enable-fail_if_missing was given.
-+ if test "${enable_fail_if_missing+set}" = set; then :
-+ enableval=$enable_fail_if_missing; fail_if_missing="yes"
-+ else
-+ fail_if_missing="no"
-+ fi
-+
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $fail_if_missing" >&5
-+ $as_echo "$fail_if_missing" >&6; }
-+
- if test -z "$CFLAGS"; then
- CFLAGS="-O"
- test "$GCC" = yes && CFLAGS="-O2 -fno-strength-reduce -Wall"
-***************
-*** 4727,4732 ****
---- 4743,4751 ----
- LUA_CFLAGS="-DDYNAMIC_LUA_DLL=\\\"liblua${vi_cv_version_lua}.so$LUA_SONAME\\\" $LUA_CFLAGS"
- fi
- fi
-+ if test "$fail_if_missing" = "yes" -a -z "$LUA_SRC"; then
-+ as_fn_error "could not configure lua" "$LINENO" 5
-+ fi
-
-
-
-***************
-*** 5140,5145 ****
---- 5159,5168 ----
- PERL_CFLAGS="-DDYNAMIC_PERL_DLL=\\\"$libperl\\\" $PERL_CFLAGS"
- fi
- fi
-+
-+ if test "$fail_if_missing" = "yes" -a "$perl_ok" != "yes"; then
-+ as_fn_error "could not configure perl" "$LINENO" 5
-+ fi
- fi
-
-
-***************
-*** 5429,5434 ****
---- 5452,5461 ----
- $as_echo "too old" >&6; }
- fi
- fi
-+
-+ if test "$fail_if_missing" = "yes" -a "$python_ok" != "yes"; then
-+ as_fn_error "could not configure python" "$LINENO" 5
-+ fi
- fi
-
-
-***************
-*** 6216,6221 ****
---- 6243,6251 ----
- $as_echo "too old; need Tcl version 8.0 or later" >&6; }
- fi
- fi
-+ if test "$fail_if_missing" = "yes" -a -z "$TCL_SRC"; then
-+ as_fn_error "could not configure Tcl" "$LINENO" 5
-+ fi
- fi
-
-
-***************
-*** 6353,6358 ****
---- 6383,6392 ----
- $as_echo "too old; need Ruby version 1.6.0 or later" >&6; }
- fi
- fi
-+
-+ if test "$fail_if_missing" = "yes" -a -z "$RUBY_OBJ"; then
-+ as_fn_error "could not configure Ruby" "$LINENO" 5
-+ fi
- fi
-
-
-*** ../vim-7.3.380/src/version.c 2011-12-14 20:21:29.000000000 +0100
---- src/version.c 2011-12-14 20:50:42.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 381,
- /**/
-
---
-The psychic said, "God bless you." I said, "I didn't sneeze." She
-looked deep into my eyes and said, "You will, eventually." And, damn
-if she wasn't right. Two days later, I sneezed. --Ellen Degeneres
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.382 b/source/ap/vim/patches/7.3.382
deleted file mode 100644
index 7f344e7e1..000000000
--- a/source/ap/vim/patches/7.3.382
+++ /dev/null
@@ -1,173 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.382
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.382 (after 7.3.376)
-Problem: IME characters are inserted twice.
-Solution: Do not call DefWindowProc() if the event was handled. (Yasuhiro
- Matsumoto)
-Files: src/gui_w32.c
-
-
-*** ../vim-7.3.381/src/gui_w32.c 2011-12-14 15:23:53.000000000 +0100
---- src/gui_w32.c 2011-12-15 21:50:51.000000000 +0100
-***************
-*** 798,804 ****
- if (pt.y < rect.top)
- {
- show_tabline_popup_menu();
-! return 0;
- }
- }
- return MyWindowProc(hwnd, uMsg, wParam, lParam);
---- 798,804 ----
- if (pt.y < rect.top)
- {
- show_tabline_popup_menu();
-! return 0L;
- }
- }
- return MyWindowProc(hwnd, uMsg, wParam, lParam);
-***************
-*** 828,834 ****
---- 828,837 ----
-
- case WM_ENDSESSION:
- if (wParam) /* system only really goes down when wParam is TRUE */
-+ {
- _OnEndSession();
-+ return 0L;
-+ }
- break;
-
- case WM_CHAR:
-***************
-*** 866,872 ****
- * are received, mouse pointer remains hidden. */
- return MyWindowProc(hwnd, uMsg, wParam, lParam);
- #else
-! return 0;
- #endif
-
- case WM_SIZING: /* HANDLE_MSG doesn't seem to handle this one */
---- 869,875 ----
- * are received, mouse pointer remains hidden. */
- return MyWindowProc(hwnd, uMsg, wParam, lParam);
- #else
-! return 0L;
- #endif
-
- case WM_SIZING: /* HANDLE_MSG doesn't seem to handle this one */
-***************
-*** 874,880 ****
-
- case WM_MOUSEWHEEL:
- _OnMouseWheel(hwnd, HIWORD(wParam));
-! break;
-
- /* Notification for change in SystemParametersInfo() */
- case WM_SETTINGCHANGE:
---- 877,883 ----
-
- case WM_MOUSEWHEEL:
- _OnMouseWheel(hwnd, HIWORD(wParam));
-! return 0L;
-
- /* Notification for change in SystemParametersInfo() */
- case WM_SETTINGCHANGE:
-***************
-*** 987,999 ****
---- 990,1008 ----
- case TCN_SELCHANGE:
- if (gui_mch_showing_tabline()
- && ((LPNMHDR)lParam)->hwndFrom == s_tabhwnd)
-+ {
- send_tabline_event(TabCtrl_GetCurSel(s_tabhwnd) + 1);
-+ return 0L;
-+ }
- break;
-
- case NM_RCLICK:
- if (gui_mch_showing_tabline()
- && ((LPNMHDR)lParam)->hwndFrom == s_tabhwnd)
-+ {
- show_tabline_popup_menu();
-+ return 0L;
-+ }
- break;
- # endif
- default:
-***************
-*** 1037,1042 ****
---- 1046,1052 ----
- out_flush();
- did_menu_tip = TRUE;
- }
-+ return 0L;
- }
- break;
- #endif
-***************
-*** 1079,1096 ****
- case WM_IME_NOTIFY:
- if (!_OnImeNotify(hwnd, (DWORD)wParam, (DWORD)lParam))
- return MyWindowProc(hwnd, uMsg, wParam, lParam);
-! break;
- case WM_IME_COMPOSITION:
- if (!_OnImeComposition(hwnd, wParam, lParam))
- return MyWindowProc(hwnd, uMsg, wParam, lParam);
-! break;
- #endif
-
- default:
- if (uMsg == msh_msgmousewheel && msh_msgmousewheel != 0)
- { /* handle MSH_MOUSEWHEEL messages for Intellimouse */
- _OnMouseWheel(hwnd, HIWORD(wParam));
-! break;
- }
- #ifdef MSWIN_FIND_REPLACE
- else if (uMsg == s_findrep_msg && s_findrep_msg != 0)
---- 1089,1107 ----
- case WM_IME_NOTIFY:
- if (!_OnImeNotify(hwnd, (DWORD)wParam, (DWORD)lParam))
- return MyWindowProc(hwnd, uMsg, wParam, lParam);
-! return 1L;
-!
- case WM_IME_COMPOSITION:
- if (!_OnImeComposition(hwnd, wParam, lParam))
- return MyWindowProc(hwnd, uMsg, wParam, lParam);
-! return 1L;
- #endif
-
- default:
- if (uMsg == msh_msgmousewheel && msh_msgmousewheel != 0)
- { /* handle MSH_MOUSEWHEEL messages for Intellimouse */
- _OnMouseWheel(hwnd, HIWORD(wParam));
-! return 0L;
- }
- #ifdef MSWIN_FIND_REPLACE
- else if (uMsg == s_findrep_msg && s_findrep_msg != 0)
-*** ../vim-7.3.381/src/version.c 2011-12-14 20:51:19.000000000 +0100
---- src/version.c 2011-12-15 21:48:49.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 382,
- /**/
-
---
-Even got a Datapoint 3600(?) with a DD50 connector instead of the
-usual DB25... what a nightmare trying to figure out the pinout
-for *that* with no spex...
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.383 b/source/ap/vim/patches/7.3.383
deleted file mode 100644
index c0ce6d905..000000000
--- a/source/ap/vim/patches/7.3.383
+++ /dev/null
@@ -1,51 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.383
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.383
-Problem: For EBCDIC pound sign is defined as 't'.
-Solution: Correctly define POUND.
-Files: src/ascii.h
-
-
-*** ../vim-7.3.382/src/ascii.h 2011-09-02 14:18:14.000000000 +0200
---- src/ascii.h 2011-12-17 21:38:36.000000000 +0100
-***************
-*** 123,129 ****
- #define DCS 0x90 /* Device Control String */
- #define STERM 0x9c /* String Terminator */
-
-! #define POUND '\xA3'
-
- #define CTRL_F_STR "\056"
- #define CTRL_H_STR "\026"
---- 123,129 ----
- #define DCS 0x90 /* Device Control String */
- #define STERM 0x9c /* String Terminator */
-
-! #define POUND 0xB1
-
- #define CTRL_F_STR "\056"
- #define CTRL_H_STR "\026"
-*** ../vim-7.3.382/src/version.c 2011-12-15 21:51:32.000000000 +0100
---- src/version.c 2011-12-23 12:46:08.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 383,
- /**/
-
---
-Vim is like Emacs without all the typing. (John "Johann" Spetz)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.384 b/source/ap/vim/patches/7.3.384
deleted file mode 100644
index f75ff4082..000000000
--- a/source/ap/vim/patches/7.3.384
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.384
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.384
-Problem: Mapping CTRL-K in Insert mode breaks CTRL-X CTRL-K for dictionary
- completion.
-Solution: Add CTRL-K to the list of recognized keys. (James McCoy)
-Files: src/edit.c
-
-
-*** ../vim-7.3.383/src/edit.c 2011-10-26 17:04:23.000000000 +0200
---- src/edit.c 2011-12-23 12:36:22.000000000 +0100
-***************
-*** 2183,2189 ****
- || c == Ctrl_I || c == Ctrl_D || c == Ctrl_P
- || c == Ctrl_N || c == Ctrl_T || c == Ctrl_V
- || c == Ctrl_Q || c == Ctrl_U || c == Ctrl_O
-! || c == Ctrl_S || c == 's');
- case CTRL_X_SCROLL:
- return (c == Ctrl_Y || c == Ctrl_E);
- case CTRL_X_WHOLE_LINE:
---- 2183,2189 ----
- || c == Ctrl_I || c == Ctrl_D || c == Ctrl_P
- || c == Ctrl_N || c == Ctrl_T || c == Ctrl_V
- || c == Ctrl_Q || c == Ctrl_U || c == Ctrl_O
-! || c == Ctrl_S || c == Ctrl_K || c == 's');
- case CTRL_X_SCROLL:
- return (c == Ctrl_Y || c == Ctrl_E);
- case CTRL_X_WHOLE_LINE:
-*** ../vim-7.3.383/src/version.c 2011-12-23 12:46:56.000000000 +0100
---- src/version.c 2011-12-23 12:53:38.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 384,
- /**/
-
---
-Q: Is selling software the same as selling hardware?
-A: No, good hardware is sold new, good software has already been used by many.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.385 b/source/ap/vim/patches/7.3.385
deleted file mode 100644
index 405a77f00..000000000
--- a/source/ap/vim/patches/7.3.385
+++ /dev/null
@@ -1,69 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.385
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.385
-Problem: When using an expression mapping on the command line the cursor
- ends up in the wrong place. (Yasuhiro Matsumoto)
-Solution: Save and restore msg_col and msg_row when evaluating the
- expression.
-Files: src/getchar.
-
-
-*** ../vim-7.3.384/src/getchar.c 2011-10-12 22:02:07.000000000 +0200
---- src/getchar.c 2011-12-14 18:37:52.000000000 +0100
-***************
-*** 4510,4515 ****
---- 4510,4517 ----
- char_u *expr;
- char_u *save_cmd;
- pos_T save_cursor;
-+ int save_msg_col;
-+ int save_msg_row;
-
- /* Remove escaping of CSI, because "str" is in a format to be used as
- * typeahead. */
-***************
-*** 4533,4544 ****
---- 4535,4550 ----
- #endif
- set_vim_var_char(c); /* set v:char to the typed character */
- save_cursor = curwin->w_cursor;
-+ save_msg_col = msg_col;
-+ save_msg_row = msg_row;
- p = eval_to_string(expr, NULL, FALSE);
- --textlock;
- #ifdef FEAT_EX_EXTRA
- --ex_normal_lock;
- #endif
- curwin->w_cursor = save_cursor;
-+ msg_col = save_msg_col;
-+ msg_row = save_msg_row;
-
- restore_cmdline_alloc(save_cmd);
- vim_free(expr);
-*** ../vim-7.3.384/src/version.c 2011-12-23 13:14:58.000000000 +0100
---- src/version.c 2011-12-23 14:53:23.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 385,
- /**/
-
---
-`When any government, or any church for that matter, undertakes to say to
- its subjects, "This you may not read, this you must not see, this you are
- forbidden to know," the end result is tyranny and oppression no matter how
- holy the motives' -- Robert A Heinlein, "If this goes on --"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.386 b/source/ap/vim/patches/7.3.386
deleted file mode 100644
index c9035050c..000000000
--- a/source/ap/vim/patches/7.3.386
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.386
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.386
-Problem: Test 83 fails when iconv does not support cp932. (raf)
-Solution: Test if conversion works. (Yukihiro Nakadaira)
-Files: src/testdir/test83.in
-
-
-*** ../vim-7.3.385/src/testdir/test83.in 2011-10-12 19:53:31.000000000 +0200
---- src/testdir/test83.in 2011-12-21 21:01:44.000000000 +0100
-***************
-*** 2,8 ****
-
- STARTTEST
- :so mbyte.vim
-! :if !has('iconv')
- : e! test.ok
- : w! test.out
- : qa!
---- 2,8 ----
-
- STARTTEST
- :so mbyte.vim
-! :if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"
- : e! test.ok
- : w! test.out
- : qa!
-*** ../vim-7.3.385/src/version.c 2011-12-23 14:54:01.000000000 +0100
---- src/version.c 2011-12-23 14:55:38.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 386,
- /**/
-
---
-WOMAN: King of the who?
-ARTHUR: The Britons.
-WOMAN: Who are the Britons?
-ARTHUR: Well, we all are. we're all Britons and I am your king.
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.387 b/source/ap/vim/patches/7.3.387
deleted file mode 100644
index 6b20a58a4..000000000
--- a/source/ap/vim/patches/7.3.387
+++ /dev/null
@@ -1,61 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.387
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.387 (after 7.3.386)
-Problem: Test 83 may fail for some encodings.
-Solution: Set 'encoding' to utf-8 earlier.
-Files: src/testdir/test83.in
-
-
-*** ../vim-7.3.386/src/testdir/test83.in 2011-12-23 14:56:24.000000000 +0100
---- src/testdir/test83.in 2011-12-30 13:05:05.000000000 +0100
-***************
-*** 2,13 ****
-
- STARTTEST
- :so mbyte.vim
- :if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"
- : e! test.ok
- : w! test.out
- : qa!
- :endif
-- :set enc=utf8
-
- :/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt
- :/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt
---- 2,13 ----
-
- STARTTEST
- :so mbyte.vim
-+ :set enc=utf8
- :if !has('iconv') || iconv("\x82\x60", "cp932", "utf-8") != "\uff21"
- : e! test.ok
- : w! test.out
- : qa!
- :endif
-
- :/^text for tags1$/,/^text for tags1$/+1w! Xtags1.txt
- :/^text for tags2$/,/^text for tags2$/+1w! Xtags2.txt
-*** ../vim-7.3.386/src/version.c 2011-12-23 14:56:24.000000000 +0100
---- src/version.c 2011-12-30 13:06:17.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 387,
- /**/
-
---
-Mental Floss prevents moral decay!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.388 b/source/ap/vim/patches/7.3.388
deleted file mode 100644
index 7a6df8952..000000000
--- a/source/ap/vim/patches/7.3.388
+++ /dev/null
@@ -1,45 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.388
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.388
-Problem: Crash on exit when EXITFREE is defined and using tiny features.
-Solution: Check for NULL window pointer. (Dominique Pelle)
-Files: src/buffer.c
-
-
-*** ../vim-7.3.387/src/buffer.c 2011-11-30 15:40:51.000000000 +0100
---- src/buffer.c 2011-12-30 13:35:26.000000000 +0100
-***************
-*** 419,424 ****
---- 419,426 ----
- if (
- #ifdef FEAT_WINDOWS
- win_valid(win) &&
-+ #else
-+ win != NULL &&
- #endif
- win->w_buffer == buf)
- win->w_buffer = NULL; /* make sure we don't use the buffer now */
-*** ../vim-7.3.387/src/version.c 2011-12-30 13:09:15.000000000 +0100
---- src/version.c 2011-12-30 13:37:23.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 388,
- /**/
-
---
-Be nice to your kids... they'll be the ones choosing your nursing home.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.389 b/source/ap/vim/patches/7.3.389
deleted file mode 100644
index c8a968c36..000000000
--- a/source/ap/vim/patches/7.3.389
+++ /dev/null
@@ -1,61 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.389
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.389
-Problem: After typing at a prompt the "MORE" message appears too soon.
-Solution: reset lines_left in msg_end_prompt(). (Eswald)
-Files: src/message.c
-
-
-*** ../vim-7.3.388/src/message.c 2011-09-14 15:39:26.000000000 +0200
---- src/message.c 2011-12-30 14:08:05.000000000 +0100
-***************
-*** 85,91 ****
- * need_wait_return to be set. This is a hack to make ":ts"
- * work without an extra prompt.
- * lines_left Number of lines available for messages before the
-! * more-prompt is to be given.
- * need_wait_return TRUE when the hit-return prompt is needed.
- * Reset: After giving the hit-return prompt, when the user
- * has answered some other prompt.
---- 85,91 ----
- * need_wait_return to be set. This is a hack to make ":ts"
- * work without an extra prompt.
- * lines_left Number of lines available for messages before the
-! * more-prompt is to be given. -1 when not set.
- * need_wait_return TRUE when the hit-return prompt is needed.
- * Reset: After giving the hit-return prompt, when the user
- * has answered some other prompt.
-***************
-*** 855,860 ****
---- 855,861 ----
- cmdline_row = msg_row;
- msg_col = 0;
- msg_clr_eos();
-+ lines_left = -1;
- }
- #endif
-
-*** ../vim-7.3.388/src/version.c 2011-12-30 13:39:04.000000000 +0100
---- src/version.c 2011-12-30 14:11:00.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 389,
- /**/
-
---
-Proofread carefully to see if you any words out.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.390 b/source/ap/vim/patches/7.3.390
deleted file mode 100644
index 7199f8e18..000000000
--- a/source/ap/vim/patches/7.3.390
+++ /dev/null
@@ -1,155 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.390
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.390
-Problem: Using NULL buffer pointer in a window.
-Solution: Check for w_buffer being NULL in more places. (Bjorn Winckler)
-Files: src/ex_cmds.c, src/quickfix.c, src/window.c
-
-
-*** ../vim-7.3.389/src/ex_cmds.c 2011-11-30 17:01:55.000000000 +0100
---- src/ex_cmds.c 2011-12-30 14:59:57.000000000 +0100
-***************
-*** 3390,3395 ****
---- 3390,3402 ----
- (flags & ECMD_HIDE) ? 0 : DOBUF_UNLOAD);
-
- #ifdef FEAT_AUTOCMD
-+ /* Autocommands may open a new window and leave oldwin open
-+ * which leads to crashes since the above call sets
-+ * oldwin->w_buffer to NULL. */
-+ if (curwin != oldwin && oldwin != aucmd_win
-+ && win_valid(oldwin) && oldwin->w_buffer == NULL)
-+ win_close(oldwin, FALSE);
-+
- # ifdef FEAT_EVAL
- if (aborting()) /* autocmds may abort script processing */
- {
-*** ../vim-7.3.389/src/quickfix.c 2011-08-10 18:36:49.000000000 +0200
---- src/quickfix.c 2011-12-30 14:45:19.000000000 +0100
-***************
-*** 2675,2681 ****
- bt_quickfix(buf)
- buf_T *buf;
- {
-! return (buf->b_p_bt[0] == 'q');
- }
-
- /*
---- 2675,2681 ----
- bt_quickfix(buf)
- buf_T *buf;
- {
-! return buf != NULL && buf->b_p_bt[0] == 'q';
- }
-
- /*
-***************
-*** 2686,2693 ****
- bt_nofile(buf)
- buf_T *buf;
- {
-! return (buf->b_p_bt[0] == 'n' && buf->b_p_bt[2] == 'f')
-! || buf->b_p_bt[0] == 'a';
- }
-
- /*
---- 2686,2693 ----
- bt_nofile(buf)
- buf_T *buf;
- {
-! return buf != NULL && ((buf->b_p_bt[0] == 'n' && buf->b_p_bt[2] == 'f')
-! || buf->b_p_bt[0] == 'a');
- }
-
- /*
-***************
-*** 2697,2703 ****
- bt_dontwrite(buf)
- buf_T *buf;
- {
-! return (buf->b_p_bt[0] == 'n');
- }
-
- int
---- 2697,2703 ----
- bt_dontwrite(buf)
- buf_T *buf;
- {
-! return buf != NULL && buf->b_p_bt[0] == 'n';
- }
-
- int
-*** ../vim-7.3.389/src/window.c 2011-09-14 14:43:21.000000000 +0200
---- src/window.c 2011-12-30 14:44:18.000000000 +0100
-***************
-*** 2170,2176 ****
-
- /* When closing the help window, try restoring a snapshot after closing
- * the window. Otherwise clear the snapshot, it's now invalid. */
-! if (win->w_buffer->b_help)
- help_window = TRUE;
- else
- clear_snapshot(curtab, SNAP_HELP_IDX);
---- 2170,2176 ----
-
- /* When closing the help window, try restoring a snapshot after closing
- * the window. Otherwise clear the snapshot, it's now invalid. */
-! if (win->w_buffer != NULL && win->w_buffer->b_help)
- help_window = TRUE;
- else
- clear_snapshot(curtab, SNAP_HELP_IDX);
-***************
-*** 2214,2226 ****
-
- #ifdef FEAT_SYN_HL
- /* Free independent synblock before the buffer is freed. */
-! reset_synblock(win);
- #endif
-
- /*
- * Close the link to the buffer.
- */
-! close_buffer(win, win->w_buffer, free_buf ? DOBUF_UNLOAD : 0);
-
- /* Autocommands may have closed the window already, or closed the only
- * other window or moved to another tab page. */
---- 2214,2228 ----
-
- #ifdef FEAT_SYN_HL
- /* Free independent synblock before the buffer is freed. */
-! if (win->w_buffer != NULL)
-! reset_synblock(win);
- #endif
-
- /*
- * Close the link to the buffer.
- */
-! if (win->w_buffer != NULL)
-! close_buffer(win, win->w_buffer, free_buf ? DOBUF_UNLOAD : 0);
-
- /* Autocommands may have closed the window already, or closed the only
- * other window or moved to another tab page. */
-*** ../vim-7.3.389/src/version.c 2011-12-30 14:14:16.000000000 +0100
---- src/version.c 2011-12-30 14:38:39.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 390,
- /**/
-
---
-There can't be a crisis today, my schedule is already full.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.391 b/source/ap/vim/patches/7.3.391
deleted file mode 100644
index 0a1bcceb5..000000000
--- a/source/ap/vim/patches/7.3.391
+++ /dev/null
@@ -1,51 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.391
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.391
-Problem: Can't check if the XPM_W32 feature is enabled.
-Solution: Add xpm_w32 to the list of features. (kat)
-Files: src/eval.c
-
-
-*** ../vim-7.3.390/src/eval.c 2011-12-14 15:32:44.000000000 +0100
---- src/eval.c 2012-01-04 14:33:22.000000000 +0100
-***************
-*** 12260,12265 ****
---- 12260,12268 ----
- #ifdef FEAT_XFONTSET
- "xfontset",
- #endif
-+ #ifdef FEAT_XPM_W32
-+ "xpm_w32",
-+ #endif
- #ifdef USE_XSMP
- "xsmp",
- #endif
-*** ../vim-7.3.390/src/version.c 2011-12-30 15:01:55.000000000 +0100
---- src/version.c 2012-01-04 14:34:31.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 391,
- /**/
-
---
-ROBIN: The what?
-ARTHUR: The Holy Hand Grenade of Antioch. 'Tis one of the sacred relics
- Brother Maynard always carries with him.
-ALL: Yes. Of course.
-ARTHUR: (shouting) Bring up the Holy Hand Grenade!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.392 b/source/ap/vim/patches/7.3.392
deleted file mode 100644
index a603d90e2..000000000
--- a/source/ap/vim/patches/7.3.392
+++ /dev/null
@@ -1,115 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.392
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.392
-Problem: When setting 'undofile' while the file is already loaded but
- unchanged, try reading the undo file. (Andy Wokula)
-Solution: Compute a checksum of the text when 'undofile' is set. (Christian
- Brabandt)
-Files: src/option.c, src/testdir/test72.in, src/testdir/test72.ok
-
-
-*** ../vim-7.3.391/src/option.c 2011-11-30 11:31:25.000000000 +0100
---- src/option.c 2012-01-04 19:34:11.000000000 +0100
-***************
-*** 7516,7521 ****
---- 7516,7545 ----
- compatible_set();
- }
-
-+ #ifdef FEAT_PERSISTENT_UNDO
-+ /* 'undofile' */
-+ else if ((int *)varp == &curbuf->b_p_udf || (int *)varp == &p_udf)
-+ {
-+ char_u hash[UNDO_HASH_SIZE];
-+ buf_T *save_curbuf = curbuf;
-+
-+ for (curbuf = firstbuf; curbuf != NULL; curbuf = curbuf->b_next)
-+ {
-+ /* When 'undofile' is set globally: for every buffer, otherwise
-+ * only for the current buffer: Try to read in the undofile, if
-+ * one exists and the buffer wasn't changed. */
-+ if ((curbuf == save_curbuf
-+ || (opt_flags & OPT_GLOBAL) || opt_flags == 0)
-+ && !curbufIsChanged())
-+ {
-+ u_compute_hash(hash);
-+ u_read_undo(NULL, hash, curbuf->b_fname);
-+ }
-+ }
-+ curbuf = save_curbuf;
-+ }
-+ #endif
-+
- /* 'list', 'number' */
- else if ((int *)varp == &curwin->w_p_list
- || (int *)varp == &curwin->w_p_nu
-*** ../vim-7.3.391/src/testdir/test72.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test72.in 2012-01-04 19:04:17.000000000 +0100
-***************
-*** 51,56 ****
---- 51,62 ----
- :e Xtestfile
- uuu:w >>test.out
- :"
-+ :" Test that reading the undofiles when setting undofile works
-+ :set noundofile ul=0
-+ i
-+ u:e! Xtestfile
-+ :set undofile ul=100
-+ uuuuuu:w >>test.out
- :" And now with encryption, cryptmethod=zip
- :e! Xtestfile
- :set undofile cm=zip
-*** ../vim-7.3.391/src/testdir/test72.ok 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test72.ok 2012-01-04 19:04:17.000000000 +0100
-***************
-*** 7,12 ****
---- 7,22 ----
- eight
- nine
- ten
-+ one
-+ two
-+ three
-+ four
-+ five
-+ six
-+ seven
-+ eight
-+ nine
-+ ten
- monday
- wednesday
- thursday
-*** ../vim-7.3.391/src/version.c 2012-01-04 14:35:31.000000000 +0100
---- src/version.c 2012-01-04 19:33:41.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 392,
- /**/
-
---
-BROTHER MAYNARD: Armaments Chapter Two Verses Nine to Twenty One.
-ANOTHER MONK: And St. Attila raised his hand grenade up on high saying "O
- Lord bless this thy hand grenade that with it thou mayest
- blow thine enemies to tiny bits, in thy mercy. "and the Lord
- did grin and people did feast upon the lambs and sloths and
- carp and anchovies and orang-utans and breakfast cereals and
- fruit bats and...
-BROTHER MAYNARD: Skip a bit brother ...
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.393 b/source/ap/vim/patches/7.3.393
deleted file mode 100644
index ca6cbc96d..000000000
--- a/source/ap/vim/patches/7.3.393
+++ /dev/null
@@ -1,130 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.393
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.393
-Problem: Win32: When resizing Vim it is always moved to the primary monitor
- if the secondary monitor is on the left.
-Solution: Use the nearest monitor. (Yukihiro Nakadaira)
-Files: src/gui_w32.c
-
-
-*** ../vim-7.3.392/src/gui_w32.c 2011-12-15 21:51:32.000000000 +0100
---- src/gui_w32.c 2012-01-04 20:25:58.000000000 +0100
-***************
-*** 1661,1669 ****
- {
- RECT workarea_rect;
- int win_width, win_height;
-- int win_xpos, win_ypos;
- WINDOWPLACEMENT wndpl;
-- int workarea_left;
-
- /* Try to keep window completely on screen. */
- /* Get position of the screen work area. This is the part that is not
---- 1661,1667 ----
-***************
-*** 1685,1693 ****
- GetWindowPlacement(s_hwnd, &wndpl);
- }
-
-- win_xpos = wndpl.rcNormalPosition.left;
-- win_ypos = wndpl.rcNormalPosition.top;
--
- /* compute the size of the outside of the window */
- win_width = width + GetSystemMetrics(SM_CXFRAME) * 2;
- win_height = height + GetSystemMetrics(SM_CYFRAME) * 2
---- 1683,1688 ----
-***************
-*** 1697,1732 ****
- #endif
- ;
-
-! /* There is an inconsistency when using two monitors and Vim is on the
-! * second (right) one: win_xpos will be the offset from the workarea of
-! * the left monitor. While with one monitor it's the offset from the
-! * workarea (including a possible taskbar on the left). Detect the second
-! * monitor by checking for the left offset to be quite big. */
-! if (workarea_rect.left > 300)
-! workarea_left = 0;
-! else
-! workarea_left = workarea_rect.left;
-
-! /* If the window is going off the screen, move it on to the screen.
-! * win_xpos and win_ypos are relative to the workarea. */
- if ((direction & RESIZE_HOR)
-! && workarea_left + win_xpos + win_width > workarea_rect.right)
-! win_xpos = workarea_rect.right - win_width - workarea_left;
-
-! if ((direction & RESIZE_HOR) && win_xpos < 0)
-! win_xpos = 0;
-
- if ((direction & RESIZE_VERT)
-! && workarea_rect.top + win_ypos + win_height > workarea_rect.bottom)
-! win_ypos = workarea_rect.bottom - win_height - workarea_rect.top;
-
-! if ((direction & RESIZE_VERT) && win_ypos < 0)
-! win_ypos = 0;
-!
-! wndpl.rcNormalPosition.left = win_xpos;
-! wndpl.rcNormalPosition.right = win_xpos + win_width;
-! wndpl.rcNormalPosition.top = win_ypos;
-! wndpl.rcNormalPosition.bottom = win_ypos + win_height;
-
- /* set window position - we should use SetWindowPlacement rather than
- * SetWindowPos as the MSDN docs say the coord systems returned by
---- 1692,1723 ----
- #endif
- ;
-
-! /* The following should take care of keeping Vim on the same monitor, no
-! * matter if the secondary monitor is left or right of the primary
-! * monitor. */
-! wndpl.rcNormalPosition.right = wndpl.rcNormalPosition.left + win_width;
-! wndpl.rcNormalPosition.bottom = wndpl.rcNormalPosition.top + win_height;
-
-! /* If the window is going off the screen, move it on to the screen. */
- if ((direction & RESIZE_HOR)
-! && wndpl.rcNormalPosition.right > workarea_rect.right)
-! OffsetRect(&wndpl.rcNormalPosition,
-! workarea_rect.right - wndpl.rcNormalPosition.right, 0);
-
-! if ((direction & RESIZE_HOR)
-! && wndpl.rcNormalPosition.left < workarea_rect.left)
-! OffsetRect(&wndpl.rcNormalPosition,
-! workarea_rect.left - wndpl.rcNormalPosition.left, 0);
-
- if ((direction & RESIZE_VERT)
-! && wndpl.rcNormalPosition.bottom > workarea_rect.bottom)
-! OffsetRect(&wndpl.rcNormalPosition,
-! 0, workarea_rect.bottom - wndpl.rcNormalPosition.bottom);
-
-! if ((direction & RESIZE_VERT)
-! && wndpl.rcNormalPosition.top < workarea_rect.top)
-! OffsetRect(&wndpl.rcNormalPosition,
-! 0, workarea_rect.top - wndpl.rcNormalPosition.top);
-
- /* set window position - we should use SetWindowPlacement rather than
- * SetWindowPos as the MSDN docs say the coord systems returned by
-*** ../vim-7.3.392/src/version.c 2012-01-04 19:34:32.000000000 +0100
---- src/version.c 2012-01-04 20:28:57.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 393,
- /**/
-
---
-I wonder, do vegetarians eat fruit bats?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.394 b/source/ap/vim/patches/7.3.394
deleted file mode 100644
index 20c7cffec..000000000
--- a/source/ap/vim/patches/7.3.394
+++ /dev/null
@@ -1,62 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.394
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.394
-Problem: When placing a mark while starting up a screen redraw messes up
- the screen. (lith)
-Solution: Don't redraw while still starting up. (Christian Brabandt)
-Files: src/screen.c
-
-
-*** ../vim-7.3.393/src/screen.c 2011-09-02 14:07:31.000000000 +0200
---- src/screen.c 2012-01-10 12:36:52.000000000 +0100
-***************
-*** 764,772 ****
- doit = TRUE;
- }
-
-! /* Return when there is nothing to do or screen updating already
-! * happening. */
-! if (!doit || updating_screen)
- return;
-
- /* update all windows that need updating */
---- 764,776 ----
- doit = TRUE;
- }
-
-! /* Return when there is nothing to do, screen updating is already
-! * happening (recursive call) or still starting up. */
-! if (!doit || updating_screen
-! #ifdef FEAT_GUI
-! || gui.starting
-! #endif
-! || starting)
- return;
-
- /* update all windows that need updating */
-*** ../vim-7.3.393/src/version.c 2012-01-04 20:29:18.000000000 +0100
---- src/version.c 2012-01-10 12:41:32.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 394,
- /**/
-
---
-It is illegal for anyone to try and stop a child from playfully jumping over
-puddles of water.
- [real standing law in California, United States of America]
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.395 b/source/ap/vim/patches/7.3.395
deleted file mode 100644
index cb2689395..000000000
--- a/source/ap/vim/patches/7.3.395
+++ /dev/null
@@ -1,115 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.395
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.395 (after 7.3.251)
-Problem: "dv?bar" in the last line deletes too much and breaks undo.
-Solution: Only adjust the cursor position when it's after the last line of
- the buffer. Add a test. (Christian Brabandt)
-Files: src/ops.c, src/testdir/test43.in, src/testdir/test43.ok
-
-
-*** ../vim-7.3.394/src/ops.c 2011-09-21 17:33:49.000000000 +0200
---- src/ops.c 2012-01-10 13:28:05.000000000 +0100
-***************
-*** 1961,1968 ****
- /* Special case: gH<Del> deletes the last line. */
- del_lines(1L, FALSE);
- curwin->w_cursor = curpos; /* restore curwin->w_cursor */
-! if (curwin->w_cursor.lnum > 1)
-! --curwin->w_cursor.lnum;
- }
- else
- {
---- 1962,1969 ----
- /* Special case: gH<Del> deletes the last line. */
- del_lines(1L, FALSE);
- curwin->w_cursor = curpos; /* restore curwin->w_cursor */
-! if (curwin->w_cursor.lnum > curbuf->b_ml.ml_line_count)
-! curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count;
- }
- else
- {
-***************
-*** 4434,4440 ****
- #endif
-
- /*
-! * implementation of the format operator 'gq'
- */
- void
- op_format(oap, keep_cursor)
---- 4435,4441 ----
- #endif
-
- /*
-! * Implementation of the format operator 'gq'.
- */
- void
- op_format(oap, keep_cursor)
-*** ../vim-7.3.394/src/testdir/test43.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test43.in 2012-01-10 13:41:13.000000000 +0100
-***************
-*** 13,19 ****
- x:set magic
- /\v(a)(b)\2\1\1/e
- x/\V[ab]\(\[xy]\)\1
-! x:?^1?,$w! test.out
- :qa!
- ENDTEST
-
---- 13,23 ----
- x:set magic
- /\v(a)(b)\2\1\1/e
- x/\V[ab]\(\[xy]\)\1
-! x:$
-! :set undolevels=100
-! dv?bar?
-! Yup:"
-! :?^1?,$w! test.out
- :qa!
- ENDTEST
-
-***************
-*** 25,27 ****
---- 29,33 ----
- 6 x ^aa$ x
- 7 (a)(b) abbaa
- 8 axx [ab]xx
-+ 9 foobar
-+
-*** ../vim-7.3.394/src/testdir/test43.ok 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test43.ok 2012-01-10 13:42:39.000000000 +0100
-***************
-*** 6,8 ****
---- 6,11 ----
- 6 x aa$ x
- 7 (a)(b) abba
- 8 axx ab]xx
-+ 9 foobar
-+ 9 foo
-+
-*** ../vim-7.3.394/src/version.c 2012-01-10 12:42:05.000000000 +0100
---- src/version.c 2012-01-10 13:30:40.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 395,
- /**/
-
---
-The Law, in its majestic equality, forbids the rich, as well as the
-poor, to sleep under the bridges, to beg in the streets, and to steal
-bread. -- Anatole France
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.396 b/source/ap/vim/patches/7.3.396
deleted file mode 100644
index 72b55a29c..000000000
--- a/source/ap/vim/patches/7.3.396
+++ /dev/null
@@ -1,49 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.396
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.396
-Problem: After forcing an operator to be characterwise it can still become
- linewise when spanning whole lines.
-Solution: Don't make the operator linewise when motion_force was set.
- (Christian Brabandt)
-Files: src/ops.c
-
-
-*** ../vim-7.3.395/src/ops.c 2012-01-10 13:44:23.000000000 +0100
---- src/ops.c 2012-01-10 13:28:05.000000000 +0100
-***************
-*** 1648,1653 ****
---- 1648,1654 ----
- && !oap->block_mode
- #endif
- && oap->line_count > 1
-+ && oap->motion_force == NUL
- && oap->op_type == OP_DELETE)
- {
- ptr = ml_get(oap->end.lnum) + oap->end.col;
-*** ../vim-7.3.395/src/version.c 2012-01-10 13:44:23.000000000 +0100
---- src/version.c 2012-01-10 13:45:31.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 396,
- /**/
-
---
-Any sufficiently advanced technology is indistinguishable from magic.
- Arthur C. Clarke
-Any sufficiently advanced bug is indistinguishable from a feature.
- Rich Kulawiec
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.397 b/source/ap/vim/patches/7.3.397
deleted file mode 100644
index 866b3aaca..000000000
--- a/source/ap/vim/patches/7.3.397
+++ /dev/null
@@ -1,224 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.397
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.397
-Problem: ":helpgrep" does not work properly when 'encoding' is not utf-8 or
- latin1.
-Solution: Convert non-ascii lines to 'encoding'. (Yasuhiro Matsumoto)
-Files: src/quickfix.c, src/spell.c, src/misc2.c, src/proto/misc2.pro
-
-
-*** ../vim-7.3.396/src/quickfix.c 2011-12-30 15:01:55.000000000 +0100
---- src/quickfix.c 2012-01-10 16:18:51.000000000 +0100
-***************
-*** 3914,3919 ****
---- 3914,3929 ----
- regmatch.rm_ic = FALSE;
- if (regmatch.regprog != NULL)
- {
-+ #ifdef FEAT_MBYTE
-+ vimconv_T vc;
-+
-+ /* Help files are in utf-8 or latin1, convert lines when 'encoding'
-+ * differs. */
-+ vc.vc_type = CONV_NONE;
-+ if (!enc_utf8)
-+ convert_setup(&vc, (char_u *)"utf-8", p_enc);
-+ #endif
-+
- /* create a new quickfix list */
- qf_new_list(qi, *eap->cmdlinep);
-
-***************
-*** 3948,3968 ****
- lnum = 1;
- while (!vim_fgets(IObuff, IOSIZE, fd) && !got_int)
- {
-! if (vim_regexec(&regmatch, IObuff, (colnr_T)0))
- {
-! int l = (int)STRLEN(IObuff);
-
- /* remove trailing CR, LF, spaces, etc. */
-! while (l > 0 && IObuff[l - 1] <= ' ')
-! IObuff[--l] = NUL;
-
- if (qf_add_entry(qi, &prevp,
- NULL, /* dir */
- fnames[fi],
- 0,
-! IObuff,
- lnum,
-! (int)(regmatch.startp[0] - IObuff)
- + 1, /* col */
- FALSE, /* vis_col */
- NULL, /* search pattern */
---- 3958,3990 ----
- lnum = 1;
- while (!vim_fgets(IObuff, IOSIZE, fd) && !got_int)
- {
-! char_u *line = IObuff;
-! #ifdef FEAT_MBYTE
-! /* Convert a line if 'encoding' is not utf-8 and
-! * the line contains a non-ASCII character. */
-! if (vc.vc_type != CONV_NONE
-! && has_non_ascii(IObuff)) {
-! line = string_convert(&vc, IObuff, NULL);
-! if (line == NULL)
-! line = IObuff;
-! }
-! #endif
-!
-! if (vim_regexec(&regmatch, line, (colnr_T)0))
- {
-! int l = (int)STRLEN(line);
-
- /* remove trailing CR, LF, spaces, etc. */
-! while (l > 0 && line[l - 1] <= ' ')
-! line[--l] = NUL;
-
- if (qf_add_entry(qi, &prevp,
- NULL, /* dir */
- fnames[fi],
- 0,
-! line,
- lnum,
-! (int)(regmatch.startp[0] - line)
- + 1, /* col */
- FALSE, /* vis_col */
- NULL, /* search pattern */
-***************
-*** 3972,3980 ****
---- 3994,4010 ----
- ) == FAIL)
- {
- got_int = TRUE;
-+ #ifdef FEAT_MBYTE
-+ if (line != IObuff)
-+ vim_free(line);
-+ #endif
- break;
- }
- }
-+ #ifdef FEAT_MBYTE
-+ if (line != IObuff)
-+ vim_free(line);
-+ #endif
- ++lnum;
- line_breakcheck();
- }
-***************
-*** 3984,3990 ****
---- 4014,4025 ----
- FreeWild(fcount, fnames);
- }
- }
-+
- vim_free(regmatch.regprog);
-+ #ifdef FEAT_MBYTE
-+ if (vc.vc_type != CONV_NONE)
-+ convert_setup(&vc, NULL, NULL);
-+ #endif
-
- qi->qf_lists[qi->qf_curlist].qf_nonevalid = FALSE;
- qi->qf_lists[qi->qf_curlist].qf_ptr =
-*** ../vim-7.3.396/src/spell.c 2011-09-02 14:18:14.000000000 +0200
---- src/spell.c 2012-01-10 16:19:33.000000000 +0100
-***************
-*** 5020,5026 ****
- static int str_equal __ARGS((char_u *s1, char_u *s2));
- static void add_fromto __ARGS((spellinfo_T *spin, garray_T *gap, char_u *from, char_u *to));
- static int sal_to_bool __ARGS((char_u *s));
-- static int has_non_ascii __ARGS((char_u *s));
- static void spell_free_aff __ARGS((afffile_T *aff));
- static int spell_read_dic __ARGS((spellinfo_T *spin, char_u *fname, afffile_T *affile));
- static int get_affix_flags __ARGS((afffile_T *affile, char_u *afflist));
---- 5020,5025 ----
-***************
-*** 6485,6507 ****
- }
-
- /*
-- * Return TRUE if string "s" contains a non-ASCII character (128 or higher).
-- * When "s" is NULL FALSE is returned.
-- */
-- static int
-- has_non_ascii(s)
-- char_u *s;
-- {
-- char_u *p;
--
-- if (s != NULL)
-- for (p = s; *p != NUL; ++p)
-- if (*p >= 128)
-- return TRUE;
-- return FALSE;
-- }
--
-- /*
- * Free the structure filled by spell_read_aff().
- */
- static void
---- 6484,6489 ----
-*** ../vim-7.3.396/src/misc2.c 2011-12-08 17:49:31.000000000 +0100
---- src/misc2.c 2012-01-10 16:25:53.000000000 +0100
-***************
-*** 6541,6543 ****
---- 6541,6563 ----
- #endif
-
- #endif
-+
-+ #if (defined(FEAT_MBYTE) && defined(FEAT_QUICKFIX)) \
-+ || defined(FEAT_SPELL) || defined(PROTO)
-+ /*
-+ * Return TRUE if string "s" contains a non-ASCII character (128 or higher).
-+ * When "s" is NULL FALSE is returned.
-+ */
-+ int
-+ has_non_ascii(s)
-+ char_u *s;
-+ {
-+ char_u *p;
-+
-+ if (s != NULL)
-+ for (p = s; *p != NUL; ++p)
-+ if (*p >= 128)
-+ return TRUE;
-+ return FALSE;
-+ }
-+ #endif
-*** ../vim-7.3.396/src/proto/misc2.pro 2011-07-07 16:20:45.000000000 +0200
---- src/proto/misc2.pro 2012-01-10 16:20:03.000000000 +0100
-***************
-*** 116,119 ****
---- 116,120 ----
- char_u *read_string __ARGS((FILE *fd, int cnt));
- int put_bytes __ARGS((FILE *fd, long_u nr, int len));
- void put_time __ARGS((FILE *fd, time_t the_time));
-+ int has_non_ascii __ARGS((char_u *s));
- /* vim: set ft=c : */
-*** ../vim-7.3.396/src/version.c 2012-01-10 13:46:18.000000000 +0100
---- src/version.c 2012-01-10 16:26:32.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 397,
- /**/
-
---
-Biting someone with your natural teeth is "simple assault," while biting
-someone with your false teeth is "aggravated assault."
- [real standing law in Louisana, United States of America]
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.398 b/source/ap/vim/patches/7.3.398
deleted file mode 100644
index 8d4b21381..000000000
--- a/source/ap/vim/patches/7.3.398
+++ /dev/null
@@ -1,65 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.398
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.398
-Problem: When creating more than 10 location lists and adding items one by
- one a previous location may be used. (Audrius Kažukauskas)
-Solution: Clear the location list completely when adding the tenth one.
-Files: src/quickfix.c
-
-
-*** ../vim-7.3.397/src/quickfix.c 2012-01-10 16:28:41.000000000 +0100
---- src/quickfix.c 2012-01-10 16:58:52.000000000 +0100
-***************
-*** 899,906 ****
- }
- else
- qi->qf_curlist = qi->qf_listcount++;
-! qi->qf_lists[qi->qf_curlist].qf_index = 0;
-! qi->qf_lists[qi->qf_curlist].qf_count = 0;
- if (qf_title != NULL)
- {
- char_u *p = alloc((int)STRLEN(qf_title) + 2);
---- 899,905 ----
- }
- else
- qi->qf_curlist = qi->qf_listcount++;
-! vim_memset(&qi->qf_lists[qi->qf_curlist], 0, (size_t)(sizeof(qf_list_T)));
- if (qf_title != NULL)
- {
- char_u *p = alloc((int)STRLEN(qf_title) + 2);
-***************
-*** 909,916 ****
- if (p != NULL)
- sprintf((char *)p, ":%s", (char *)qf_title);
- }
-- else
-- qi->qf_lists[qi->qf_curlist].qf_title = NULL;
- }
-
- /*
---- 908,913 ----
-*** ../vim-7.3.397/src/version.c 2012-01-10 16:28:41.000000000 +0100
---- src/version.c 2012-01-10 17:13:09.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 398,
- /**/
-
---
-Why don't cannibals eat clowns?
-Because they taste funny.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.399 b/source/ap/vim/patches/7.3.399
deleted file mode 100644
index 33d063020..000000000
--- a/source/ap/vim/patches/7.3.399
+++ /dev/null
@@ -1,137 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.399
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.399
-Problem: ":cd" doesn't work when the path contains wildcards. (Yukihiro
- Nakadaira)
-Solution: Ignore wildcard errors when the EW_NOTWILD flag is used.
-Files: src/misc1.c
-
-
-*** ../vim-7.3.398/src/misc1.c 2011-12-14 20:21:29.000000000 +0100
---- src/misc1.c 2012-01-10 17:57:42.000000000 +0100
-***************
-*** 9103,9117 ****
- }
-
- /* compile the regexp into a program */
-! if (flags & EW_NOERROR)
- ++emsg_silent;
- regmatch.rm_ic = TRUE; /* Always ignore case */
- regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
-! if (flags & EW_NOERROR)
- --emsg_silent;
- vim_free(pat);
-
-! if (regmatch.regprog == NULL)
- {
- vim_free(buf);
- return 0;
---- 9103,9117 ----
- }
-
- /* compile the regexp into a program */
-! if (flags & (EW_NOERROR | EW_NOTWILD))
- ++emsg_silent;
- regmatch.rm_ic = TRUE; /* Always ignore case */
- regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
-! if (flags & (EW_NOERROR | EW_NOTWILD))
- --emsg_silent;
- vim_free(pat);
-
-! if (regmatch.regprog == NULL && (flags & EW_NOTWILD) == 0)
- {
- vim_free(buf);
- return 0;
-***************
-*** 9179,9185 ****
- * all entries found with "matchname". */
- if ((p[0] != '.' || starts_with_dot)
- && (matchname == NULL
-! || vim_regexec(&regmatch, p, (colnr_T)0)
- || ((flags & EW_NOTWILD)
- && fnamencmp(path + (s - buf), p, e - s) == 0)))
- {
---- 9179,9186 ----
- * all entries found with "matchname". */
- if ((p[0] != '.' || starts_with_dot)
- && (matchname == NULL
-! || (regmatch.regprog != NULL
-! && vim_regexec(&regmatch, p, (colnr_T)0))
- || ((flags & EW_NOTWILD)
- && fnamencmp(path + (s - buf), p, e - s) == 0)))
- {
-***************
-*** 9419,9428 ****
- else
- regmatch.rm_ic = FALSE; /* Don't ignore case */
- #endif
- regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
- vim_free(pat);
-
-! if (regmatch.regprog == NULL)
- {
- vim_free(buf);
- return 0;
---- 9420,9433 ----
- else
- regmatch.rm_ic = FALSE; /* Don't ignore case */
- #endif
-+ if (flags & (EW_NOERROR | EW_NOTWILD))
-+ ++emsg_silent;
- regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
-+ if (flags & (EW_NOERROR | EW_NOTWILD))
-+ --emsg_silent;
- vim_free(pat);
-
-! if (regmatch.regprog == NULL && (flags & EW_NOTWILD) == 0)
- {
- vim_free(buf);
- return 0;
-***************
-*** 9452,9458 ****
- if (dp == NULL)
- break;
- if ((dp->d_name[0] != '.' || starts_with_dot)
-! && (vim_regexec(&regmatch, (char_u *)dp->d_name, (colnr_T)0)
- || ((flags & EW_NOTWILD)
- && fnamencmp(path + (s - buf), dp->d_name, e - s) == 0)))
- {
---- 9457,9464 ----
- if (dp == NULL)
- break;
- if ((dp->d_name[0] != '.' || starts_with_dot)
-! && ((regmatch.regprog != NULL && vim_regexec(&regmatch,
-! (char_u *)dp->d_name, (colnr_T)0))
- || ((flags & EW_NOTWILD)
- && fnamencmp(path + (s - buf), dp->d_name, e - s) == 0)))
- {
-*** ../vim-7.3.398/src/version.c 2012-01-10 17:13:48.000000000 +0100
---- src/version.c 2012-01-10 18:21:05.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 399,
- /**/
-
---
-Close your shells, or I'll kill -9 you
-Tomorrow I'll quota you
-Remember the disks'll always be full
-And then while I'm away
-I'll write ~ everyday
-And I'll send-pr all my buggings to you.
- [ CVS log "Beatles style" for FreeBSD ports/INDEX, Satoshi Asami ]
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.400 b/source/ap/vim/patches/7.3.400
deleted file mode 100644
index c621a8811..000000000
--- a/source/ap/vim/patches/7.3.400
+++ /dev/null
@@ -1,1762 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.400
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.400
-Problem: Compiler warnings for shadowed variables.
-Solution: Remove or rename the variables.
-Files: src/charset.c, src/digraph.c, src/edit.c, src/eval.c, src/fold.c,
- src/getchar.c, src/message.c, src/misc2.c, src/move.c,
- src/netbeans.c, src/option.c, src/os_unix.c, src/screen.c,
- src/search.c, src/spell.c, src/syntax.c, src/tag.c, src/window.c
-
-
-*** ../vim-7.3.399/src/charset.c 2010-08-15 21:57:25.000000000 +0200
---- src/charset.c 2012-01-10 21:55:50.000000000 +0100
-***************
-*** 463,503 ****
- if (enc_utf8)
- {
- int c = utf_ptr2char(STR_PTR(i));
-! int ol = utf_ptr2len(STR_PTR(i));
- int lc = utf_tolower(c);
-
- /* Only replace the character when it is not an invalid
- * sequence (ASCII character or more than one byte) and
- * utf_tolower() doesn't return the original character. */
-! if ((c < 0x80 || ol > 1) && c != lc)
- {
-! int nl = utf_char2len(lc);
-
- /* If the byte length changes need to shift the following
- * characters forward or backward. */
-! if (ol != nl)
- {
-! if (nl > ol)
- {
-! if (buf == NULL ? ga_grow(&ga, nl - ol + 1) == FAIL
-! : len + nl - ol >= buflen)
- {
- /* out of memory, keep old char */
- lc = c;
-! nl = ol;
- }
- }
-! if (ol != nl)
- {
- if (buf == NULL)
- {
-! STRMOVE(GA_PTR(i) + nl, GA_PTR(i) + ol);
-! ga.ga_len += nl - ol;
- }
- else
- {
-! STRMOVE(buf + i + nl, buf + i + ol);
-! len += nl - ol;
- }
- }
- }
---- 463,504 ----
- if (enc_utf8)
- {
- int c = utf_ptr2char(STR_PTR(i));
-! int olen = utf_ptr2len(STR_PTR(i));
- int lc = utf_tolower(c);
-
- /* Only replace the character when it is not an invalid
- * sequence (ASCII character or more than one byte) and
- * utf_tolower() doesn't return the original character. */
-! if ((c < 0x80 || olen > 1) && c != lc)
- {
-! int nlen = utf_char2len(lc);
-
- /* If the byte length changes need to shift the following
- * characters forward or backward. */
-! if (olen != nlen)
- {
-! if (nlen > olen)
- {
-! if (buf == NULL
-! ? ga_grow(&ga, nlen - olen + 1) == FAIL
-! : len + nlen - olen >= buflen)
- {
- /* out of memory, keep old char */
- lc = c;
-! nlen = olen;
- }
- }
-! if (olen != nlen)
- {
- if (buf == NULL)
- {
-! STRMOVE(GA_PTR(i) + nlen, GA_PTR(i) + olen);
-! ga.ga_len += nlen - olen;
- }
- else
- {
-! STRMOVE(buf + i + nlen, buf + i + olen);
-! len += nlen - olen;
- }
- }
- }
-*** ../vim-7.3.399/src/digraph.c 2010-08-15 21:57:28.000000000 +0200
---- src/digraph.c 2012-01-10 21:57:16.000000000 +0100
-***************
-*** 2080,2092 ****
- /*
- * Lookup the pair "char1", "char2" in the digraph tables.
- * If no match, return "char2".
-! * If "meta" is TRUE and "char1" is a space, return "char2" | 0x80.
- */
- static int
-! getexactdigraph(char1, char2, meta)
- int char1;
- int char2;
-! int meta;
- {
- int i;
- int retval = 0;
---- 2080,2092 ----
- /*
- * Lookup the pair "char1", "char2" in the digraph tables.
- * If no match, return "char2".
-! * If "meta_char" is TRUE and "char1" is a space, return "char2" | 0x80.
- */
- static int
-! getexactdigraph(char1, char2, meta_char)
- int char1;
- int char2;
-! int meta_char;
- {
- int i;
- int retval = 0;
-***************
-*** 2159,2165 ****
-
- if (retval == 0) /* digraph deleted or not found */
- {
-! if (char1 == ' ' && meta) /* <space> <char> --> meta-char */
- return (char2 | 0x80);
- return char2;
- }
---- 2159,2165 ----
-
- if (retval == 0) /* digraph deleted or not found */
- {
-! if (char1 == ' ' && meta_char) /* <space> <char> --> meta-char */
- return (char2 | 0x80);
- return char2;
- }
-***************
-*** 2171,2186 ****
- * Allow for both char1-char2 and char2-char1
- */
- int
-! getdigraph(char1, char2, meta)
- int char1;
- int char2;
-! int meta;
- {
- int retval;
-
-! if (((retval = getexactdigraph(char1, char2, meta)) == char2)
- && (char1 != char2)
-! && ((retval = getexactdigraph(char2, char1, meta)) == char1))
- return char2;
- return retval;
- }
---- 2171,2186 ----
- * Allow for both char1-char2 and char2-char1
- */
- int
-! getdigraph(char1, char2, meta_char)
- int char1;
- int char2;
-! int meta_char;
- {
- int retval;
-
-! if (((retval = getexactdigraph(char1, char2, meta_char)) == char2)
- && (char1 != char2)
-! && ((retval = getexactdigraph(char2, char1, meta_char)) == char1))
- return char2;
- return retval;
- }
-*** ../vim-7.3.399/src/edit.c 2011-12-23 13:14:58.000000000 +0100
---- src/edit.c 2012-01-10 21:58:28.000000000 +0100
-***************
-*** 4003,4026 ****
- ins_compl_add_dict(dict)
- dict_T *dict;
- {
-! dictitem_T *refresh;
-! dictitem_T *words;
-
- /* Check for optional "refresh" item. */
- compl_opt_refresh_always = FALSE;
-! refresh = dict_find(dict, (char_u *)"refresh", 7);
-! if (refresh != NULL && refresh->di_tv.v_type == VAR_STRING)
- {
-! char_u *v = refresh->di_tv.vval.v_string;
-
- if (v != NULL && STRCMP(v, (char_u *)"always") == 0)
- compl_opt_refresh_always = TRUE;
- }
-
- /* Add completions from a "words" list. */
-! words = dict_find(dict, (char_u *)"words", 5);
-! if (words != NULL && words->di_tv.v_type == VAR_LIST)
-! ins_compl_add_list(words->di_tv.vval.v_list);
- }
-
- /*
---- 4003,4026 ----
- ins_compl_add_dict(dict)
- dict_T *dict;
- {
-! dictitem_T *di_refresh;
-! dictitem_T *di_words;
-
- /* Check for optional "refresh" item. */
- compl_opt_refresh_always = FALSE;
-! di_refresh = dict_find(dict, (char_u *)"refresh", 7);
-! if (di_refresh != NULL && di_refresh->di_tv.v_type == VAR_STRING)
- {
-! char_u *v = di_refresh->di_tv.vval.v_string;
-
- if (v != NULL && STRCMP(v, (char_u *)"always") == 0)
- compl_opt_refresh_always = TRUE;
- }
-
- /* Add completions from a "words" list. */
-! di_words = dict_find(dict, (char_u *)"words", 5);
-! if (di_words != NULL && di_words->di_tv.v_type == VAR_LIST)
-! ins_compl_add_list(di_words->di_tv.vval.v_list);
- }
-
- /*
-*** ../vim-7.3.399/src/eval.c 2012-01-04 14:35:31.000000000 +0100
---- src/eval.c 2012-01-10 22:00:50.000000000 +0100
-***************
-*** 6573,6587 ****
-
- /*
- * Join list "l" into a string in "*gap", using separator "sep".
-! * When "echo" is TRUE use String as echoed, otherwise as inside a List.
- * Return FAIL or OK.
- */
- static int
-! list_join(gap, l, sep, echo, copyID)
- garray_T *gap;
- list_T *l;
- char_u *sep;
-! int echo;
- int copyID;
- {
- int first = TRUE;
---- 6573,6587 ----
-
- /*
- * Join list "l" into a string in "*gap", using separator "sep".
-! * When "echo_style" is TRUE use String as echoed, otherwise as inside a List.
- * Return FAIL or OK.
- */
- static int
-! list_join(gap, l, sep, echo_style, copyID)
- garray_T *gap;
- list_T *l;
- char_u *sep;
-! int echo_style;
- int copyID;
- {
- int first = TRUE;
-***************
-*** 6597,6603 ****
- else
- ga_concat(gap, sep);
-
-! if (echo)
- s = echo_string(&item->li_tv, &tofree, numbuf, copyID);
- else
- s = tv2string(&item->li_tv, &tofree, numbuf, copyID);
---- 6597,6603 ----
- else
- ga_concat(gap, sep);
-
-! if (echo_style)
- s = echo_string(&item->li_tv, &tofree, numbuf, copyID);
- else
- s = tv2string(&item->li_tv, &tofree, numbuf, copyID);
-***************
-*** 17893,17899 ****
- typval_T *argvars;
- typval_T *rettv;
- {
-! char_u *instr;
- char_u *fromstr;
- char_u *tostr;
- char_u *p;
---- 17893,17899 ----
- typval_T *argvars;
- typval_T *rettv;
- {
-! char_u *in_str;
- char_u *fromstr;
- char_u *tostr;
- char_u *p;
-***************
-*** 17910,17916 ****
- char_u buf2[NUMBUFLEN];
- garray_T ga;
-
-! instr = get_tv_string(&argvars[0]);
- fromstr = get_tv_string_buf_chk(&argvars[1], buf);
- tostr = get_tv_string_buf_chk(&argvars[2], buf2);
-
---- 17910,17916 ----
- char_u buf2[NUMBUFLEN];
- garray_T ga;
-
-! in_str = get_tv_string(&argvars[0]);
- fromstr = get_tv_string_buf_chk(&argvars[1], buf);
- tostr = get_tv_string_buf_chk(&argvars[2], buf2);
-
-***************
-*** 17936,17954 ****
- }
-
- /* fromstr and tostr have to contain the same number of chars */
-! while (*instr != NUL)
- {
- #ifdef FEAT_MBYTE
- if (has_mbyte)
- {
-! inlen = (*mb_ptr2len)(instr);
-! cpstr = instr;
- cplen = inlen;
- idx = 0;
- for (p = fromstr; *p != NUL; p += fromlen)
- {
- fromlen = (*mb_ptr2len)(p);
-! if (fromlen == inlen && STRNCMP(instr, p, inlen) == 0)
- {
- for (p = tostr; *p != NUL; p += tolen)
- {
---- 17936,17954 ----
- }
-
- /* fromstr and tostr have to contain the same number of chars */
-! while (*in_str != NUL)
- {
- #ifdef FEAT_MBYTE
- if (has_mbyte)
- {
-! inlen = (*mb_ptr2len)(in_str);
-! cpstr = in_str;
- cplen = inlen;
- idx = 0;
- for (p = fromstr; *p != NUL; p += fromlen)
- {
- fromlen = (*mb_ptr2len)(p);
-! if (fromlen == inlen && STRNCMP(in_str, p, inlen) == 0)
- {
- for (p = tostr; *p != NUL; p += tolen)
- {
-***************
-*** 17967,17977 ****
- ++idx;
- }
-
-! if (first && cpstr == instr)
- {
- /* Check that fromstr and tostr have the same number of
- * (multi-byte) characters. Done only once when a character
-! * of instr doesn't appear in fromstr. */
- first = FALSE;
- for (p = tostr; *p != NUL; p += tolen)
- {
---- 17967,17977 ----
- ++idx;
- }
-
-! if (first && cpstr == in_str)
- {
- /* Check that fromstr and tostr have the same number of
- * (multi-byte) characters. Done only once when a character
-! * of in_str doesn't appear in fromstr. */
- first = FALSE;
- for (p = tostr; *p != NUL; p += tolen)
- {
-***************
-*** 17986,18003 ****
- mch_memmove((char *)ga.ga_data + ga.ga_len, cpstr, (size_t)cplen);
- ga.ga_len += cplen;
-
-! instr += inlen;
- }
- else
- #endif
- {
- /* When not using multi-byte chars we can do it faster. */
-! p = vim_strchr(fromstr, *instr);
- if (p != NULL)
- ga_append(&ga, tostr[p - fromstr]);
- else
-! ga_append(&ga, *instr);
-! ++instr;
- }
- }
-
---- 17986,18003 ----
- mch_memmove((char *)ga.ga_data + ga.ga_len, cpstr, (size_t)cplen);
- ga.ga_len += cplen;
-
-! in_str += inlen;
- }
- else
- #endif
- {
- /* When not using multi-byte chars we can do it faster. */
-! p = vim_strchr(fromstr, *in_str);
- if (p != NULL)
- ga_append(&ga, tostr[p - fromstr]);
- else
-! ga_append(&ga, *in_str);
-! ++in_str;
- }
- }
-
-*** ../vim-7.3.399/src/fold.c 2011-08-26 16:12:55.000000000 +0200
---- src/fold.c 2012-01-10 22:01:26.000000000 +0100
-***************
-*** 1033,1042 ****
- * Init the fold info in a new window.
- */
- void
-! foldInitWin(newwin)
-! win_T *newwin;
- {
-! ga_init2(&newwin->w_folds, (int)sizeof(fold_T), 10);
- }
-
- /* find_wl_entry() {{{2 */
---- 1033,1042 ----
- * Init the fold info in a new window.
- */
- void
-! foldInitWin(new_win)
-! win_T *new_win;
- {
-! ga_init2(&new_win->w_folds, (int)sizeof(fold_T), 10);
- }
-
- /* find_wl_entry() {{{2 */
-*** ../vim-7.3.399/src/getchar.c 2011-12-23 14:54:01.000000000 +0100
---- src/getchar.c 2012-01-10 22:02:30.000000000 +0100
-***************
-*** 418,429 ****
-
- /*
- * Remove the contents of the stuff buffer and the mapped characters in the
-! * typeahead buffer (used in case of an error). If 'typeahead' is true,
- * flush all typeahead characters (used when interrupted by a CTRL-C).
- */
- void
-! flush_buffers(typeahead)
-! int typeahead;
- {
- init_typebuf();
-
---- 418,429 ----
-
- /*
- * Remove the contents of the stuff buffer and the mapped characters in the
-! * typeahead buffer (used in case of an error). If "flush_typeahead" is true,
- * flush all typeahead characters (used when interrupted by a CTRL-C).
- */
- void
-! flush_buffers(flush_typeahead)
-! int flush_typeahead;
- {
- init_typebuf();
-
-***************
-*** 431,437 ****
- while (read_stuff(TRUE) != NUL)
- ;
-
-! if (typeahead) /* remove all typeahead */
- {
- /*
- * We have to get all characters, because we may delete the first part
---- 431,437 ----
- while (read_stuff(TRUE) != NUL)
- ;
-
-! if (flush_typeahead) /* remove all typeahead */
- {
- /*
- * We have to get all characters, because we may delete the first part
-*** ../vim-7.3.399/src/message.c 2011-12-30 14:14:16.000000000 +0100
---- src/message.c 2012-01-10 22:03:56.000000000 +0100
-***************
-*** 2487,2493 ****
- #ifdef FEAT_CON_DIALOG
- int retval = FALSE;
- #endif
-! int scroll;
- msgchunk_T *mp_last = NULL;
- msgchunk_T *mp;
- int i;
---- 2487,2493 ----
- #ifdef FEAT_CON_DIALOG
- int retval = FALSE;
- #endif
-! int toscroll;
- msgchunk_T *mp_last = NULL;
- msgchunk_T *mp;
- int i;
-***************
-*** 2538,2586 ****
- }
- #endif
-
-! scroll = 0;
- switch (c)
- {
- case BS: /* scroll one line back */
- case K_BS:
- case 'k':
- case K_UP:
-! scroll = -1;
- break;
-
- case CAR: /* one extra line */
- case NL:
- case 'j':
- case K_DOWN:
-! scroll = 1;
- break;
-
- case 'u': /* Up half a page */
-! scroll = -(Rows / 2);
- break;
-
- case 'd': /* Down half a page */
-! scroll = Rows / 2;
- break;
-
- case 'b': /* one page back */
- case K_PAGEUP:
-! scroll = -(Rows - 1);
- break;
-
- case ' ': /* one extra page */
- case 'f':
- case K_PAGEDOWN:
- case K_LEFTMOUSE:
-! scroll = Rows - 1;
- break;
-
- case 'g': /* all the way back to the start */
-! scroll = -999999;
- break;
-
- case 'G': /* all the way to the end */
-! scroll = 999999;
- lines_left = 999999;
- break;
-
---- 2538,2586 ----
- }
- #endif
-
-! toscroll = 0;
- switch (c)
- {
- case BS: /* scroll one line back */
- case K_BS:
- case 'k':
- case K_UP:
-! toscroll = -1;
- break;
-
- case CAR: /* one extra line */
- case NL:
- case 'j':
- case K_DOWN:
-! toscroll = 1;
- break;
-
- case 'u': /* Up half a page */
-! toscroll = -(Rows / 2);
- break;
-
- case 'd': /* Down half a page */
-! toscroll = Rows / 2;
- break;
-
- case 'b': /* one page back */
- case K_PAGEUP:
-! toscroll = -(Rows - 1);
- break;
-
- case ' ': /* one extra page */
- case 'f':
- case K_PAGEDOWN:
- case K_LEFTMOUSE:
-! toscroll = Rows - 1;
- break;
-
- case 'g': /* all the way back to the start */
-! toscroll = -999999;
- break;
-
- case 'G': /* all the way to the end */
-! toscroll = 999999;
- lines_left = 999999;
- break;
-
-***************
-*** 2633,2641 ****
- continue;
- }
-
-! if (scroll != 0)
- {
-! if (scroll < 0)
- {
- /* go to start of last line */
- if (mp_last == NULL)
---- 2633,2641 ----
- continue;
- }
-
-! if (toscroll != 0)
- {
-! if (toscroll < 0)
- {
- /* go to start of last line */
- if (mp_last == NULL)
-***************
-*** 2653,2659 ****
- if (mp != NULL && mp->sb_prev != NULL)
- {
- /* Find line to be displayed at top. */
-! for (i = 0; i > scroll; --i)
- {
- if (mp == NULL || mp->sb_prev == NULL)
- break;
---- 2653,2659 ----
- if (mp != NULL && mp->sb_prev != NULL)
- {
- /* Find line to be displayed at top. */
-! for (i = 0; i > toscroll; --i)
- {
- if (mp == NULL || mp->sb_prev == NULL)
- break;
-***************
-*** 2664,2670 ****
- mp_last = msg_sb_start(mp_last->sb_prev);
- }
-
-! if (scroll == -1 && screen_ins_lines(0, 0, 1,
- (int)Rows, NULL) == OK)
- {
- /* display line at top */
---- 2664,2670 ----
- mp_last = msg_sb_start(mp_last->sb_prev);
- }
-
-! if (toscroll == -1 && screen_ins_lines(0, 0, 1,
- (int)Rows, NULL) == OK)
- {
- /* display line at top */
-***************
-*** 2680,2692 ****
- ++msg_scrolled;
- }
- }
-! scroll = 0;
- }
- }
- else
- {
- /* First display any text that we scrolled back. */
-! while (scroll > 0 && mp_last != NULL)
- {
- /* scroll up, display line at bottom */
- msg_scroll_up();
---- 2680,2692 ----
- ++msg_scrolled;
- }
- }
-! toscroll = 0;
- }
- }
- else
- {
- /* First display any text that we scrolled back. */
-! while (toscroll > 0 && mp_last != NULL)
- {
- /* scroll up, display line at bottom */
- msg_scroll_up();
-***************
-*** 2694,2704 ****
- screen_fill((int)Rows - 2, (int)Rows - 1, 0,
- (int)Columns, ' ', ' ', 0);
- mp_last = disp_sb_line((int)Rows - 2, mp_last);
-! --scroll;
- }
- }
-
-! if (scroll <= 0)
- {
- /* displayed the requested text, more prompt again */
- screen_fill((int)Rows - 1, (int)Rows, 0,
---- 2694,2704 ----
- screen_fill((int)Rows - 2, (int)Rows - 1, 0,
- (int)Columns, ' ', ' ', 0);
- mp_last = disp_sb_line((int)Rows - 2, mp_last);
-! --toscroll;
- }
- }
-
-! if (toscroll <= 0)
- {
- /* displayed the requested text, more prompt again */
- screen_fill((int)Rows - 1, (int)Rows, 0,
-***************
-*** 2708,2714 ****
- }
-
- /* display more text, return to caller */
-! lines_left = scroll;
- }
-
- break;
---- 2708,2714 ----
- }
-
- /* display more text, return to caller */
-! lines_left = toscroll;
- }
-
- break;
-*** ../vim-7.3.399/src/misc2.c 2012-01-10 16:28:41.000000000 +0100
---- src/misc2.c 2012-01-10 22:04:25.000000000 +0100
-***************
-*** 1559,1565 ****
- if (enc_utf8)
- {
- int c, uc;
-! int nl;
- char_u *s;
-
- c = utf_ptr2char(p);
---- 1559,1565 ----
- if (enc_utf8)
- {
- int c, uc;
-! int newl;
- char_u *s;
-
- c = utf_ptr2char(p);
-***************
-*** 1568,1588 ****
- /* Reallocate string when byte count changes. This is rare,
- * thus it's OK to do another malloc()/free(). */
- l = utf_ptr2len(p);
-! nl = utf_char2len(uc);
-! if (nl != l)
- {
-! s = alloc((unsigned)STRLEN(res) + 1 + nl - l);
- if (s == NULL)
- break;
- mch_memmove(s, res, p - res);
-! STRCPY(s + (p - res) + nl, p + l);
- p = s + (p - res);
- vim_free(res);
- res = s;
- }
-
- utf_char2bytes(uc, p);
-! p += nl;
- }
- else if (has_mbyte && (l = (*mb_ptr2len)(p)) > 1)
- p += l; /* skip multi-byte character */
---- 1568,1588 ----
- /* Reallocate string when byte count changes. This is rare,
- * thus it's OK to do another malloc()/free(). */
- l = utf_ptr2len(p);
-! newl = utf_char2len(uc);
-! if (newl != l)
- {
-! s = alloc((unsigned)STRLEN(res) + 1 + newl - l);
- if (s == NULL)
- break;
- mch_memmove(s, res, p - res);
-! STRCPY(s + (p - res) + newl, p + l);
- p = s + (p - res);
- vim_free(res);
- res = s;
- }
-
- utf_char2bytes(uc, p);
-! p += newl;
- }
- else if (has_mbyte && (l = (*mb_ptr2len)(p)) > 1)
- p += l; /* skip multi-byte character */
-*** ../vim-7.3.399/src/move.c 2011-02-01 18:01:06.000000000 +0100
---- src/move.c 2012-01-10 22:05:22.000000000 +0100
-***************
-*** 926,933 ****
- * Also updates curwin->w_leftcol.
- */
- void
-! curs_columns(scroll)
-! int scroll; /* when TRUE, may scroll horizontally */
- {
- int diff;
- int extra; /* offset for first screen line */
---- 926,933 ----
- * Also updates curwin->w_leftcol.
- */
- void
-! curs_columns(may_scroll)
-! int may_scroll; /* when TRUE, may scroll horizontally */
- {
- int diff;
- int extra; /* offset for first screen line */
-***************
-*** 1014,1020 ****
- /* No line wrapping: compute curwin->w_leftcol if scrolling is on and line
- * is not folded.
- * If scrolling is off, curwin->w_leftcol is assumed to be 0 */
-! else if (scroll
- #ifdef FEAT_FOLDING
- && !curwin->w_cline_folded
- #endif
---- 1014,1020 ----
- /* No line wrapping: compute curwin->w_leftcol if scrolling is on and line
- * is not folded.
- * If scrolling is off, curwin->w_leftcol is assumed to be 0 */
-! else if (may_scroll
- #ifdef FEAT_FOLDING
- && !curwin->w_cline_folded
- #endif
-*** ../vim-7.3.399/src/netbeans.c 2011-10-20 21:58:20.000000000 +0200
---- src/netbeans.c 2012-01-10 22:16:26.000000000 +0100
-***************
-*** 1395,1401 ****
- int cmdno,
- char_u *args) /* points to space before arguments or NUL */
- {
-! int doupdate = 0;
- long off = 0;
- nbbuf_T *buf = nb_get_buf(bufno);
- static int skip = 0;
---- 1395,1401 ----
- int cmdno,
- char_u *args) /* points to space before arguments or NUL */
- {
-! int do_update = 0;
- long off = 0;
- nbbuf_T *buf = nb_get_buf(bufno);
- static int skip = 0;
-***************
-*** 1600,1606 ****
- last.lnum, last.col));
- del_from_lnum = first.lnum;
- del_to_lnum = last.lnum;
-! doupdate = 1;
-
- /* Get the position of the first byte after the deleted
- * section. "next" is NULL when deleting to the end of the
---- 1600,1606 ----
- last.lnum, last.col));
- del_from_lnum = first.lnum;
- del_to_lnum = last.lnum;
-! do_update = 1;
-
- /* Get the position of the first byte after the deleted
- * section. "next" is NULL when deleting to the end of the
-***************
-*** 1777,1783 ****
- lnum = lnum_start;
-
- /* Loop over the "\n" separated lines of the argument. */
-! doupdate = 1;
- while (*args != NUL)
- {
- nl = vim_strchr(args, '\n');
---- 1777,1783 ----
- lnum = lnum_start;
-
- /* Loop over the "\n" separated lines of the argument. */
-! do_update = 1;
- while (*args != NUL)
- {
- nl = vim_strchr(args, '\n');
-***************
-*** 1992,1998 ****
- EMSG("E640: invalid buffer identifier in initDone");
- return FAIL;
- }
-! doupdate = 1;
- buf->initDone = TRUE;
- nb_set_curbuf(buf->bufp);
- #if defined(FEAT_AUTOCMD)
---- 1992,1998 ----
- EMSG("E640: invalid buffer identifier in initDone");
- return FAIL;
- }
-! do_update = 1;
- buf->initDone = TRUE;
- nb_set_curbuf(buf->bufp);
- #if defined(FEAT_AUTOCMD)
-***************
-*** 2081,2087 ****
- ECMD_HIDE + ECMD_OLDBUF, curwin);
- buf->bufp = curbuf;
- buf->initDone = TRUE;
-! doupdate = 1;
- #if defined(FEAT_TITLE)
- maketitle();
- #endif
---- 2081,2087 ----
- ECMD_HIDE + ECMD_OLDBUF, curwin);
- buf->bufp = curbuf;
- buf->initDone = TRUE;
-! do_update = 1;
- #if defined(FEAT_TITLE)
- maketitle();
- #endif
-***************
-*** 2109,2115 ****
- exarg.forceit = FALSE;
- dosetvisible = TRUE;
- goto_buffer(&exarg, DOBUF_FIRST, FORWARD, buf->bufp->b_fnum);
-! doupdate = 1;
- dosetvisible = FALSE;
-
- #ifdef FEAT_GUI
---- 2109,2115 ----
- exarg.forceit = FALSE;
- dosetvisible = TRUE;
- goto_buffer(&exarg, DOBUF_FIRST, FORWARD, buf->bufp->b_fnum);
-! do_update = 1;
- dosetvisible = FALSE;
-
- #ifdef FEAT_GUI
-***************
-*** 2309,2315 ****
- buf->bufp->b_fnum, TRUE);
- buf->bufp = NULL;
- buf->initDone = FALSE;
-! doupdate = 1;
- /* =====================================================================*/
- }
- else if (streq((char *)cmd, "setStyle")) /* obsolete... */
---- 2309,2315 ----
- buf->bufp->b_fnum, TRUE);
- buf->bufp = NULL;
- buf->initDone = FALSE;
-! do_update = 1;
- /* =====================================================================*/
- }
- else if (streq((char *)cmd, "setStyle")) /* obsolete... */
-***************
-*** 2400,2406 ****
- return FAIL;
- }
-
-! doupdate = 1;
-
- cp = (char *)args;
- serNum = strtol(cp, &cp, 10);
---- 2400,2406 ----
- return FAIL;
- }
-
-! do_update = 1;
-
- cp = (char *)args;
- serNum = strtol(cp, &cp, 10);
-***************
-*** 2448,2454 ****
- nbdebug((" invalid buffer identifier in removeAnno\n"));
- return FAIL;
- }
-! doupdate = 1;
- cp = (char *)args;
- serNum = strtol(cp, &cp, 10);
- args = (char_u *)cp;
---- 2448,2454 ----
- nbdebug((" invalid buffer identifier in removeAnno\n"));
- return FAIL;
- }
-! do_update = 1;
- cp = (char *)args;
- serNum = strtol(cp, &cp, 10);
- args = (char_u *)cp;
-***************
-*** 2493,2499 ****
- len = strtol(cp, NULL, 10);
- args = (char_u *)cp;
- pos = off2pos(buf->bufp, off);
-! doupdate = 1;
- if (!pos)
- nbdebug((" no such start pos in %s, %ld\n", cmd, off));
- else
---- 2493,2499 ----
- len = strtol(cp, NULL, 10);
- args = (char_u *)cp;
- pos = off2pos(buf->bufp, off);
-! do_update = 1;
- if (!pos)
- nbdebug((" no such start pos in %s, %ld\n", cmd, off));
- else
-***************
-*** 2555,2561 ****
- inAtomic = 0;
- if (needupdate)
- {
-! doupdate = 1;
- needupdate = 0;
- }
- /* =====================================================================*/
---- 2555,2561 ----
- inAtomic = 0;
- if (needupdate)
- {
-! do_update = 1;
- needupdate = 0;
- }
- /* =====================================================================*/
-***************
-*** 2636,2653 ****
- * Unrecognized command is ignored.
- */
- }
-! if (inAtomic && doupdate)
- {
- needupdate = 1;
-! doupdate = 0;
- }
-
- /*
- * Is this needed? I moved the netbeans_Xt_connect() later during startup
- * and it may no longer be necessary. If its not needed then needupdate
-! * and doupdate can also be removed.
- */
-! if (buf != NULL && buf->initDone && doupdate)
- {
- update_screen(NOT_VALID);
- setcursor();
---- 2636,2653 ----
- * Unrecognized command is ignored.
- */
- }
-! if (inAtomic && do_update)
- {
- needupdate = 1;
-! do_update = 0;
- }
-
- /*
- * Is this needed? I moved the netbeans_Xt_connect() later during startup
- * and it may no longer be necessary. If its not needed then needupdate
-! * and do_update can also be removed.
- */
-! if (buf != NULL && buf->initDone && do_update)
- {
- update_screen(NOT_VALID);
- setcursor();
-*** ../vim-7.3.399/src/option.c 2012-01-04 19:34:32.000000000 +0100
---- src/option.c 2012-01-10 22:06:03.000000000 +0100
-***************
-*** 8584,8591 ****
- long_u flags;
- {
- /* Careful: P_RCLR and P_RALL are a combination of other P_ flags */
-! int clear = (flags & P_RCLR) == P_RCLR;
-! int all = ((flags & P_RALL) == P_RALL || clear);
-
- #ifdef FEAT_WINDOWS
- if ((flags & P_RSTAT) || all) /* mark all status lines dirty */
---- 8584,8591 ----
- long_u flags;
- {
- /* Careful: P_RCLR and P_RALL are a combination of other P_ flags */
-! int doclear = (flags & P_RCLR) == P_RCLR;
-! int all = ((flags & P_RALL) == P_RALL || doclear);
-
- #ifdef FEAT_WINDOWS
- if ((flags & P_RSTAT) || all) /* mark all status lines dirty */
-***************
-*** 8596,8602 ****
- changed_window_setting();
- if (flags & P_RBUF)
- redraw_curbuf_later(NOT_VALID);
-! if (clear)
- redraw_all_later(CLEAR);
- else if (all)
- redraw_all_later(NOT_VALID);
---- 8596,8602 ----
- changed_window_setting();
- if (flags & P_RBUF)
- redraw_curbuf_later(NOT_VALID);
-! if (doclear)
- redraw_all_later(CLEAR);
- else if (all)
- redraw_all_later(NOT_VALID);
-*** ../vim-7.3.399/src/os_unix.c 2011-10-20 21:09:25.000000000 +0200
---- src/os_unix.c 2012-01-10 21:48:49.000000000 +0100
-***************
-*** 3884,3890 ****
- char_u *p_shcf_copy = NULL;
- int i;
- char_u *p;
-- char_u *s;
- int inquote;
- int pty_master_fd = -1; /* for pty's */
- # ifdef FEAT_GUI
---- 3884,3889 ----
-***************
-*** 3963,3968 ****
---- 3962,3969 ----
- }
- if (cmd != NULL)
- {
-+ char_u *s;
-+
- if (extra_shell_arg != NULL)
- argv[argc++] = (char *)extra_shell_arg;
-
-***************
-*** 4325,4331 ****
- linenr_T lnum = curbuf->b_op_start.lnum;
- int written = 0;
- char_u *lp = ml_get(lnum);
-- char_u *s;
- size_t l;
-
- close(fromshell_fd);
---- 4326,4331 ----
-***************
-*** 4339,4345 ****
- len = write(toshell_fd, "", (size_t)1);
- else
- {
-! s = vim_strchr(lp + written, NL);
- len = write(toshell_fd, (char *)lp + written,
- s == NULL ? l
- : (size_t)(s - (lp + written)));
---- 4339,4346 ----
- len = write(toshell_fd, "", (size_t)1);
- else
- {
-! char_u *s = vim_strchr(lp + written, NL);
-!
- len = write(toshell_fd, (char *)lp + written,
- s == NULL ? l
- : (size_t)(s - (lp + written)));
-*** ../vim-7.3.399/src/screen.c 2012-01-10 12:42:05.000000000 +0100
---- src/screen.c 2012-01-10 22:06:51.000000000 +0100
-***************
-*** 7849,7863 ****
-
- /*
- * screen_valid - allocate screen buffers if size changed
-! * If "clear" is TRUE: clear screen if it has been resized.
- * Returns TRUE if there is a valid screen to write to.
- * Returns FALSE when starting up and screen not initialized yet.
- */
- int
-! screen_valid(clear)
-! int clear;
- {
-! screenalloc(clear); /* allocate screen buffers if size changed */
- return (ScreenLines != NULL);
- }
-
---- 7849,7863 ----
-
- /*
- * screen_valid - allocate screen buffers if size changed
-! * If "doclear" is TRUE: clear screen if it has been resized.
- * Returns TRUE if there is a valid screen to write to.
- * Returns FALSE when starting up and screen not initialized yet.
- */
- int
-! screen_valid(doclear)
-! int doclear;
- {
-! screenalloc(doclear); /* allocate screen buffers if size changed */
- return (ScreenLines != NULL);
- }
-
-***************
-*** 7872,7879 ****
- * final size of the shell is needed.
- */
- void
-! screenalloc(clear)
-! int clear;
- {
- int new_row, old_row;
- #ifdef FEAT_GUI
---- 7872,7879 ----
- * final size of the shell is needed.
- */
- void
-! screenalloc(doclear)
-! int doclear;
- {
- int new_row, old_row;
- #ifdef FEAT_GUI
-***************
-*** 8069,8075 ****
- * (used when resizing the window at the "--more--" prompt or when
- * executing an external command, for the GUI).
- */
-! if (!clear)
- {
- (void)vim_memset(new_ScreenLines + new_row * Columns,
- ' ', (size_t)Columns * sizeof(schar_T));
---- 8069,8075 ----
- * (used when resizing the window at the "--more--" prompt or when
- * executing an external command, for the GUI).
- */
-! if (!doclear)
- {
- (void)vim_memset(new_ScreenLines + new_row * Columns,
- ' ', (size_t)Columns * sizeof(schar_T));
-***************
-*** 8159,8165 ****
- screen_Columns = Columns;
-
- must_redraw = CLEAR; /* need to clear the screen later */
-! if (clear)
- screenclear2();
-
- #ifdef FEAT_GUI
---- 8159,8165 ----
- screen_Columns = Columns;
-
- must_redraw = CLEAR; /* need to clear the screen later */
-! if (doclear)
- screenclear2();
-
- #ifdef FEAT_GUI
-*** ../vim-7.3.399/src/search.c 2011-10-04 17:00:13.000000000 +0200
---- src/search.c 2012-01-10 22:07:16.000000000 +0100
-***************
-*** 2402,2425 ****
- {
- if (vim_strchr(p, ';') != NULL) /* there may be comments */
- {
-! int instr = FALSE; /* inside of string */
-
- p = line; /* scan from start */
- while ((p = vim_strpbrk(p, (char_u *)"\";")) != NULL)
- {
- if (*p == '"')
- {
-! if (instr)
- {
- if (*(p - 1) != '\\') /* skip escaped quote */
-! instr = FALSE;
- }
- else if (p == line || ((p - line) >= 2
- /* skip #\" form */
- && *(p - 1) != '\\' && *(p - 2) != '#'))
-! instr = TRUE;
- }
-! else if (!instr && ((p - line) < 2
- || (*(p - 1) != '\\' && *(p - 2) != '#')))
- break; /* found! */
- ++p;
---- 2402,2425 ----
- {
- if (vim_strchr(p, ';') != NULL) /* there may be comments */
- {
-! int in_str = FALSE; /* inside of string */
-
- p = line; /* scan from start */
- while ((p = vim_strpbrk(p, (char_u *)"\";")) != NULL)
- {
- if (*p == '"')
- {
-! if (in_str)
- {
- if (*(p - 1) != '\\') /* skip escaped quote */
-! in_str = FALSE;
- }
- else if (p == line || ((p - line) >= 2
- /* skip #\" form */
- && *(p - 1) != '\\' && *(p - 2) != '#'))
-! in_str = TRUE;
- }
-! else if (!in_str && ((p - line) < 2
- || (*(p - 1) != '\\' && *(p - 2) != '#')))
- break; /* found! */
- ++p;
-*** ../vim-7.3.399/src/spell.c 2012-01-10 16:28:41.000000000 +0100
---- src/spell.c 2012-01-10 22:09:23.000000000 +0100
-***************
-*** 5049,5055 ****
- static int offset2bytes __ARGS((int nr, char_u *buf));
- static int bytes2offset __ARGS((char_u **pp));
- static void sug_write __ARGS((spellinfo_T *spin, char_u *fname));
-! static void mkspell __ARGS((int fcount, char_u **fnames, int ascii, int overwrite, int added_word));
- static void spell_message __ARGS((spellinfo_T *spin, char_u *str));
- static void init_spellfile __ARGS((void));
-
---- 5049,5055 ----
- static int offset2bytes __ARGS((int nr, char_u *buf));
- static int bytes2offset __ARGS((char_u **pp));
- static void sug_write __ARGS((spellinfo_T *spin, char_u *fname));
-! static void mkspell __ARGS((int fcount, char_u **fnames, int ascii, int over_write, int added_word));
- static void spell_message __ARGS((spellinfo_T *spin, char_u *str));
- static void init_spellfile __ARGS((void));
-
-***************
-*** 9085,9095 ****
- * and ".spl" is appended to make the output file name.
- */
- static void
-! mkspell(fcount, fnames, ascii, overwrite, added_word)
- int fcount;
- char_u **fnames;
- int ascii; /* -ascii argument given */
-! int overwrite; /* overwrite existing output file */
- int added_word; /* invoked through "zg" */
- {
- char_u *fname = NULL;
---- 9085,9095 ----
- * and ".spl" is appended to make the output file name.
- */
- static void
-! mkspell(fcount, fnames, ascii, over_write, added_word)
- int fcount;
- char_u **fnames;
- int ascii; /* -ascii argument given */
-! int over_write; /* overwrite existing output file */
- int added_word; /* invoked through "zg" */
- {
- char_u *fname = NULL;
-***************
-*** 9173,9179 ****
- {
- /* Check for overwriting before doing things that may take a lot of
- * time. */
-! if (!overwrite && mch_stat((char *)wfname, &st) >= 0)
- {
- EMSG(_(e_exists));
- goto theend;
---- 9173,9179 ----
- {
- /* Check for overwriting before doing things that may take a lot of
- * time. */
-! if (!over_write && mch_stat((char *)wfname, &st) >= 0)
- {
- EMSG(_(e_exists));
- goto theend;
-*** ../vim-7.3.399/src/syntax.c 2011-06-19 04:54:17.000000000 +0200
---- src/syntax.c 2012-01-10 22:10:23.000000000 +0100
-***************
-*** 4006,4022 ****
- }
-
- static void
-! syn_list_flags(nl, flags, attr)
-! struct name_list *nl;
- int flags;
- int attr;
- {
- int i;
-
-! for (i = 0; nl[i].flag != 0; ++i)
-! if (flags & nl[i].flag)
- {
-! msg_puts_attr((char_u *)nl[i].name, attr);
- msg_putchar(' ');
- }
- }
---- 4006,4022 ----
- }
-
- static void
-! syn_list_flags(nlist, flags, attr)
-! struct name_list *nlist;
- int flags;
- int attr;
- {
- int i;
-
-! for (i = 0; nlist[i].flag != 0; ++i)
-! if (flags & nlist[i].flag)
- {
-! msg_puts_attr((char_u *)nlist[i].name, attr);
- msg_putchar(' ');
- }
- }
-*** ../vim-7.3.399/src/tag.c 2011-12-14 14:15:12.000000000 +0100
---- src/tag.c 2012-01-10 21:51:05.000000000 +0100
-***************
-*** 1353,1359 ****
- int match_count = 0; /* number of matches found */
- char_u **matches;
- int mtt;
-- int len;
- int help_save;
- #ifdef FEAT_MULTI_LANG
- int help_pri = 0;
---- 1353,1358 ----
-***************
-*** 2235,2240 ****
---- 2234,2241 ----
- */
- if (ga_grow(&ga_match[mtt], 1) == OK)
- {
-+ int len;
-+
- if (help_only)
- {
- #ifdef FEAT_MULTI_LANG
-*** ../vim-7.3.399/src/window.c 2011-12-30 15:01:55.000000000 +0100
---- src/window.c 2012-01-10 22:11:41.000000000 +0100
-***************
-*** 683,701 ****
- }
-
- /*
-! * When "newwin" is NULL: split the current window in two.
-! * When "newwin" is not NULL: insert this window at the far
- * top/left/right/bottom.
- * return FAIL for failure, OK otherwise
- */
- int
-! win_split_ins(size, flags, newwin, dir)
- int size;
- int flags;
-! win_T *newwin;
- int dir;
- {
-! win_T *wp = newwin;
- win_T *oldwin;
- int new_size = size;
- int i;
---- 683,701 ----
- }
-
- /*
-! * When "new_wp" is NULL: split the current window in two.
-! * When "new_wp" is not NULL: insert this window at the far
- * top/left/right/bottom.
- * return FAIL for failure, OK otherwise
- */
- int
-! win_split_ins(size, flags, new_wp, dir)
- int size;
- int flags;
-! win_T *new_wp;
- int dir;
- {
-! win_T *wp = new_wp;
- win_T *oldwin;
- int new_size = size;
- int i;
-***************
-*** 718,724 ****
- /* add a status line when p_ls == 1 and splitting the first window */
- if (lastwin == firstwin && p_ls == 1 && oldwin->w_status_height == 0)
- {
-! if (oldwin->w_height <= p_wmh && newwin == NULL)
- {
- EMSG(_(e_noroom));
- return FAIL;
---- 718,724 ----
- /* add a status line when p_ls == 1 and splitting the first window */
- if (lastwin == firstwin && p_ls == 1 && oldwin->w_status_height == 0)
- {
-! if (oldwin->w_height <= p_wmh && new_wp == NULL)
- {
- EMSG(_(e_noroom));
- return FAIL;
-***************
-*** 751,757 ****
- }
- else
- available = oldwin->w_width;
-! if (available < needed && newwin == NULL)
- {
- EMSG(_(e_noroom));
- return FAIL;
---- 751,757 ----
- }
- else
- available = oldwin->w_width;
-! if (available < needed && new_wp == NULL)
- {
- EMSG(_(e_noroom));
- return FAIL;
-***************
-*** 815,821 ****
- available = oldwin->w_height;
- needed += p_wmh;
- }
-! if (available < needed && newwin == NULL)
- {
- EMSG(_(e_noroom));
- return FAIL;
---- 815,821 ----
- available = oldwin->w_height;
- needed += p_wmh;
- }
-! if (available < needed && new_wp == NULL)
- {
- EMSG(_(e_noroom));
- return FAIL;
-***************
-*** 888,907 ****
- p_sb))))
- {
- /* new window below/right of current one */
-! if (newwin == NULL)
- wp = win_alloc(oldwin, FALSE);
- else
- win_append(oldwin, wp);
- }
- else
- {
-! if (newwin == NULL)
- wp = win_alloc(oldwin->w_prev, FALSE);
- else
- win_append(oldwin->w_prev, wp);
- }
-
-! if (newwin == NULL)
- {
- if (wp == NULL)
- return FAIL;
---- 888,907 ----
- p_sb))))
- {
- /* new window below/right of current one */
-! if (new_wp == NULL)
- wp = win_alloc(oldwin, FALSE);
- else
- win_append(oldwin, wp);
- }
- else
- {
-! if (new_wp == NULL)
- wp = win_alloc(oldwin->w_prev, FALSE);
- else
- win_append(oldwin->w_prev, wp);
- }
-
-! if (new_wp == NULL)
- {
- if (wp == NULL)
- return FAIL;
-***************
-*** 972,981 ****
- frp->fr_parent = curfrp;
- }
-
-! if (newwin == NULL)
- frp = wp->w_frame;
- else
-! frp = newwin->w_frame;
- frp->fr_parent = curfrp->fr_parent;
-
- /* Insert the new frame at the right place in the frame list. */
---- 972,981 ----
- frp->fr_parent = curfrp;
- }
-
-! if (new_wp == NULL)
- frp = wp->w_frame;
- else
-! frp = new_wp->w_frame;
- frp->fr_parent = curfrp->fr_parent;
-
- /* Insert the new frame at the right place in the frame list. */
-***************
-*** 4284,4302 ****
- win_T *after UNUSED;
- int hidden UNUSED;
- {
-! win_T *newwin;
-
- /*
- * allocate window structure and linesizes arrays
- */
-! newwin = (win_T *)alloc_clear((unsigned)sizeof(win_T));
-! if (newwin != NULL && win_alloc_lines(newwin) == FAIL)
- {
-! vim_free(newwin);
-! newwin = NULL;
- }
-
-! if (newwin != NULL)
- {
- #ifdef FEAT_AUTOCMD
- /* Don't execute autocommands while the window is not properly
---- 4284,4302 ----
- win_T *after UNUSED;
- int hidden UNUSED;
- {
-! win_T *new_wp;
-
- /*
- * allocate window structure and linesizes arrays
- */
-! new_wp = (win_T *)alloc_clear((unsigned)sizeof(win_T));
-! if (new_wp != NULL && win_alloc_lines(new_wp) == FAIL)
- {
-! vim_free(new_wp);
-! new_wp = NULL;
- }
-
-! if (new_wp != NULL)
- {
- #ifdef FEAT_AUTOCMD
- /* Don't execute autocommands while the window is not properly
-***************
-*** 4309,4361 ****
- */
- #ifdef FEAT_WINDOWS
- if (!hidden)
-! win_append(after, newwin);
- #endif
- #ifdef FEAT_VERTSPLIT
-! newwin->w_wincol = 0;
-! newwin->w_width = Columns;
- #endif
-
- /* position the display and the cursor at the top of the file. */
-! newwin->w_topline = 1;
- #ifdef FEAT_DIFF
-! newwin->w_topfill = 0;
- #endif
-! newwin->w_botline = 2;
-! newwin->w_cursor.lnum = 1;
- #ifdef FEAT_SCROLLBIND
-! newwin->w_scbind_pos = 1;
- #endif
-
- /* We won't calculate w_fraction until resizing the window */
-! newwin->w_fraction = 0;
-! newwin->w_prev_fraction_row = -1;
-
- #ifdef FEAT_GUI
- if (gui.in_use)
- {
-! gui_create_scrollbar(&newwin->w_scrollbars[SBAR_LEFT],
-! SBAR_LEFT, newwin);
-! gui_create_scrollbar(&newwin->w_scrollbars[SBAR_RIGHT],
-! SBAR_RIGHT, newwin);
- }
- #endif
- #ifdef FEAT_EVAL
- /* init w: variables */
-! init_var_dict(&newwin->w_vars, &newwin->w_winvar);
- #endif
- #ifdef FEAT_FOLDING
-! foldInitWin(newwin);
- #endif
- #ifdef FEAT_AUTOCMD
- unblock_autocmds();
- #endif
- #ifdef FEAT_SEARCH_EXTRA
-! newwin->w_match_head = NULL;
-! newwin->w_next_match_id = 4;
- #endif
- }
-! return newwin;
- }
-
- #if defined(FEAT_WINDOWS) || defined(PROTO)
---- 4309,4361 ----
- */
- #ifdef FEAT_WINDOWS
- if (!hidden)
-! win_append(after, new_wp);
- #endif
- #ifdef FEAT_VERTSPLIT
-! new_wp->w_wincol = 0;
-! new_wp->w_width = Columns;
- #endif
-
- /* position the display and the cursor at the top of the file. */
-! new_wp->w_topline = 1;
- #ifdef FEAT_DIFF
-! new_wp->w_topfill = 0;
- #endif
-! new_wp->w_botline = 2;
-! new_wp->w_cursor.lnum = 1;
- #ifdef FEAT_SCROLLBIND
-! new_wp->w_scbind_pos = 1;
- #endif
-
- /* We won't calculate w_fraction until resizing the window */
-! new_wp->w_fraction = 0;
-! new_wp->w_prev_fraction_row = -1;
-
- #ifdef FEAT_GUI
- if (gui.in_use)
- {
-! gui_create_scrollbar(&new_wp->w_scrollbars[SBAR_LEFT],
-! SBAR_LEFT, new_wp);
-! gui_create_scrollbar(&new_wp->w_scrollbars[SBAR_RIGHT],
-! SBAR_RIGHT, new_wp);
- }
- #endif
- #ifdef FEAT_EVAL
- /* init w: variables */
-! init_var_dict(&new_wp->w_vars, &new_wp->w_winvar);
- #endif
- #ifdef FEAT_FOLDING
-! foldInitWin(new_wp);
- #endif
- #ifdef FEAT_AUTOCMD
- unblock_autocmds();
- #endif
- #ifdef FEAT_SEARCH_EXTRA
-! new_wp->w_match_head = NULL;
-! new_wp->w_next_match_id = 4;
- #endif
- }
-! return new_wp;
- }
-
- #if defined(FEAT_WINDOWS) || defined(PROTO)
-*** ../vim-7.3.399/src/version.c 2012-01-10 18:37:53.000000000 +0100
---- src/version.c 2012-01-10 22:23:10.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 400,
- /**/
-
---
-A parent can be arrested if his child cannot hold back a burp during a church
-service.
- [real standing law in Nebraska, United States of America]
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.401 b/source/ap/vim/patches/7.3.401
deleted file mode 100644
index 6a473c575..000000000
--- a/source/ap/vim/patches/7.3.401
+++ /dev/null
@@ -1,191 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.401
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.401
-Problem: A couple more shadowed variables.
-Solution: Rename the variables.
-Files: src/netbeans.c
-
-
-*** ../vim-7.3.400/src/netbeans.c 2012-01-10 22:26:12.000000000 +0100
---- src/netbeans.c 2012-01-10 22:30:17.000000000 +0100
-***************
-*** 443,449 ****
- FILE *fp;
- char_u buf[BUFSIZ];
- char_u *lp;
-! char_u *nl;
- #ifdef UNIX
- struct stat st;
-
---- 443,449 ----
- FILE *fp;
- char_u buf[BUFSIZ];
- char_u *lp;
-! char_u *nlp;
- #ifdef UNIX
- struct stat st;
-
-***************
-*** 472,479 ****
- /* Read the file. There should be one of each parameter */
- while ((lp = (char_u *)fgets((char *)buf, BUFSIZ, fp)) != NULL)
- {
-! if ((nl = vim_strchr(lp, '\n')) != NULL)
-! *nl = 0; /* strip off the trailing newline */
-
- if (STRNCMP(lp, "host=", 5) == 0)
- {
---- 472,479 ----
- /* Read the file. There should be one of each parameter */
- while ((lp = (char_u *)fgets((char *)buf, BUFSIZ, fp)) != NULL)
- {
-! if ((nlp = vim_strchr(lp, '\n')) != NULL)
-! *nlp = 0; /* strip off the trailing newline */
-
- if (STRNCMP(lp, "host=", 5) == 0)
- {
-***************
-*** 1740,1746 ****
- int added = 0;
- int oldFire = netbeansFireChanges;
- int old_b_changed;
-! char_u *nl;
- linenr_T lnum;
- linenr_T lnum_start;
- pos_T *pos;
---- 1740,1746 ----
- int added = 0;
- int oldFire = netbeansFireChanges;
- int old_b_changed;
-! char_u *nlp;
- linenr_T lnum;
- linenr_T lnum_start;
- pos_T *pos;
-***************
-*** 1780,1787 ****
- do_update = 1;
- while (*args != NUL)
- {
-! nl = vim_strchr(args, '\n');
-! if (nl == NULL)
- {
- /* Incomplete line, probably truncated. Next "insert"
- * command should append to this one. */
---- 1780,1787 ----
- do_update = 1;
- while (*args != NUL)
- {
-! nlp = vim_strchr(args, '\n');
-! if (nlp == NULL)
- {
- /* Incomplete line, probably truncated. Next "insert"
- * command should append to this one. */
-***************
-*** 1789,1801 ****
- }
- else
- {
-! len = nl - args;
-
- /*
- * We need to detect EOL style, because the commands
- * use a character offset.
- */
-! if (nl > args && nl[-1] == '\r')
- {
- ff_detected = EOL_DOS;
- --len;
---- 1789,1801 ----
- }
- else
- {
-! len = nlp - args;
-
- /*
- * We need to detect EOL style, because the commands
- * use a character offset.
- */
-! if (nlp > args && nlp[-1] == '\r')
- {
- ff_detected = EOL_DOS;
- --len;
-***************
-*** 1814,1820 ****
-
- /* Insert halfway a line. For simplicity we assume we
- * need to append to the line. */
-! newline = alloc_check((unsigned)(STRLEN(oldline) + len + 1));
- if (newline != NULL)
- {
- STRCPY(newline, oldline);
---- 1814,1821 ----
-
- /* Insert halfway a line. For simplicity we assume we
- * need to append to the line. */
-! newline = alloc_check(
-! (unsigned)(STRLEN(oldline) + len + 1));
- if (newline != NULL)
- {
- STRCPY(newline, oldline);
-***************
-*** 1826,1839 ****
- {
- /* Append a new line. Not that we always do this,
- * also when the text doesn't end in a "\n". */
-! ml_append((linenr_T)(lnum - 1), args, (colnr_T)(len + 1), FALSE);
- ++added;
- }
-
-! if (nl == NULL)
- break;
- ++lnum;
-! args = nl + 1;
- }
-
- /* Adjust the marks below the inserted lines. */
---- 1827,1841 ----
- {
- /* Append a new line. Not that we always do this,
- * also when the text doesn't end in a "\n". */
-! ml_append((linenr_T)(lnum - 1), args,
-! (colnr_T)(len + 1), FALSE);
- ++added;
- }
-
-! if (nlp == NULL)
- break;
- ++lnum;
-! args = nlp + 1;
- }
-
- /* Adjust the marks below the inserted lines. */
-*** ../vim-7.3.400/src/version.c 2012-01-10 22:26:12.000000000 +0100
---- src/version.c 2012-01-10 22:30:47.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 401,
- /**/
-
---
-So when I saw the post to comp.editors, I rushed over to the FTP site to
-grab it. So I yank apart the tarball, light x candles, where x= the
-vim version multiplied by the md5sum of the source divided by the MAC of
-my NIC (8A3FA78155A8A1D346C3C4A), put on black robes, dim the lights,
-wave a dead chicken over the hard drive, and summon the power of GNU GCC
-with the magic words "make config ; make!".
- [Jason Spence, compiling Vim 5.0]
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.402 b/source/ap/vim/patches/7.3.402
deleted file mode 100644
index a5501f8c5..000000000
--- a/source/ap/vim/patches/7.3.402
+++ /dev/null
@@ -1,59 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.402
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.402
-Problem: When jumping to the first error a line of the buffer is sometimes
- redrawn on top of the list of errors.
-Solution: Do not call update_topline_redraw() if the display was scrolled
- up.
-Files: src/quickfix.c
-
-
-*** ../vim-7.3.401/src/quickfix.c 2012-01-10 17:13:48.000000000 +0100
---- src/quickfix.c 2012-01-20 13:13:25.000000000 +0100
-***************
-*** 1842,1849 ****
- #endif
- if (print_message)
- {
-! /* Update the screen before showing the message */
-! update_topline_redraw();
- sprintf((char *)IObuff, _("(%d of %d)%s%s: "), qf_index,
- qi->qf_lists[qi->qf_curlist].qf_count,
- qf_ptr->qf_cleared ? _(" (line deleted)") : "",
---- 1842,1851 ----
- #endif
- if (print_message)
- {
-! /* Update the screen before showing the message, unless the screen
-! * scrolled up. */
-! if (!msg_scrolled)
-! update_topline_redraw();
- sprintf((char *)IObuff, _("(%d of %d)%s%s: "), qf_index,
- qi->qf_lists[qi->qf_curlist].qf_count,
- qf_ptr->qf_cleared ? _(" (line deleted)") : "",
-*** ../vim-7.3.401/src/version.c 2012-01-10 22:31:26.000000000 +0100
---- src/version.c 2012-01-20 13:17:50.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 402,
- /**/
-
---
-If all you have is a hammer, everything looks like a nail.
-When your hammer is C++, everything begins to look like a thumb.
- -- Steve Hoflich, comp.lang.c++
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.403 b/source/ap/vim/patches/7.3.403
deleted file mode 100644
index bc3bf5498..000000000
--- a/source/ap/vim/patches/7.3.403
+++ /dev/null
@@ -1,108 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.403
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.403
-Problem: ":helpgrep" does not trigger QuickFixCmd* autocommands.
-Solution: Trigger the autocommands. (Christian Brabandt)
-Files: src/quickfix.c
-
-
-*** ../vim-7.3.402/src/quickfix.c 2012-01-20 13:28:28.000000000 +0100
---- src/quickfix.c 2012-01-20 13:37:10.000000000 +0100
-***************
-*** 3878,3893 ****
- qf_info_T *qi = &ql_info;
- int new_qi = FALSE;
- win_T *wp;
-!
-! /* Make 'cpoptions' empty, the 'l' flag should not be used here. */
-! save_cpo = p_cpo;
-! p_cpo = empty_option;
-
- #ifdef FEAT_MULTI_LANG
- /* Check for a specified language */
- lang = check_help_lang(eap->arg);
- #endif
-
- if (eap->cmdidx == CMD_lhelpgrep)
- {
- /* Find an existing help window */
---- 3878,3912 ----
- qf_info_T *qi = &ql_info;
- int new_qi = FALSE;
- win_T *wp;
-! #ifdef FEAT_AUTOCMD
-! char_u *au_name = NULL;
-! #endif
-
- #ifdef FEAT_MULTI_LANG
- /* Check for a specified language */
- lang = check_help_lang(eap->arg);
- #endif
-
-+ #ifdef FEAT_AUTOCMD
-+ switch (eap->cmdidx)
-+ {
-+ case CMD_helpgrep: au_name = (char_u *)"helpgrep"; break;
-+ case CMD_lhelpgrep: au_name = (char_u *)"lhelpgrep"; break;
-+ default: break;
-+ }
-+ if (au_name != NULL)
-+ {
-+ apply_autocmds(EVENT_QUICKFIXCMDPRE, au_name,
-+ curbuf->b_fname, TRUE, curbuf);
-+ if (did_throw || force_abort)
-+ return;
-+ }
-+ #endif
-+
-+ /* Make 'cpoptions' empty, the 'l' flag should not be used here. */
-+ save_cpo = p_cpo;
-+ p_cpo = empty_option;
-+
- if (eap->cmdidx == CMD_lhelpgrep)
- {
- /* Find an existing help window */
-***************
-*** 4036,4041 ****
---- 4055,4071 ----
- qf_update_buffer(qi);
- #endif
-
-+ #ifdef FEAT_AUTOCMD
-+ if (au_name != NULL)
-+ {
-+ apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
-+ curbuf->b_fname, TRUE, curbuf);
-+ if (!new_qi && qi != &ql_info && qf_find_buf(qi) == NULL)
-+ /* autocommands made "qi" invalid */
-+ return;
-+ }
-+ #endif
-+
- /* Jump to first match. */
- if (qi->qf_lists[qi->qf_curlist].qf_count > 0)
- qf_jump(qi, 0, 0, FALSE);
-*** ../vim-7.3.402/src/version.c 2012-01-20 13:28:28.000000000 +0100
---- src/version.c 2012-01-20 13:30:37.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 403,
- /**/
-
---
-Looking at Perl through Lisp glasses, Perl looks atrocious.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.404 b/source/ap/vim/patches/7.3.404
deleted file mode 100644
index 445d7051d..000000000
--- a/source/ap/vim/patches/7.3.404
+++ /dev/null
@@ -1,85 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.404
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.404
-Problem: When a complete function uses refresh "always" redo will not work
- properly.
-Solution: Do not reset compl_leader when compl_opt_refresh_always is set.
- (Yasuhiro Matsumoto)
-Files: src/edit.c
-
-
-*** ../vim-7.3.403/src/edit.c 2012-01-10 22:26:12.000000000 +0100
---- src/edit.c 2012-01-20 14:26:06.000000000 +0100
-***************
-*** 3465,3475 ****
- if (ins_compl_need_restart())
- ins_compl_restart();
-
-! vim_free(compl_leader);
-! compl_leader = vim_strnsave(ml_get_curline() + compl_col,
- (int)(curwin->w_cursor.col - compl_col));
-! if (compl_leader != NULL)
-! ins_compl_new_leader();
- }
-
- /*
---- 3465,3481 ----
- if (ins_compl_need_restart())
- ins_compl_restart();
-
-! /* When 'always' is set, don't reset compl_leader. While completing,
-! * cursor don't point original position, changing compl_leader would
-! * break redo. */
-! if (!compl_opt_refresh_always)
-! {
-! vim_free(compl_leader);
-! compl_leader = vim_strnsave(ml_get_curline() + compl_col,
- (int)(curwin->w_cursor.col - compl_col));
-! if (compl_leader != NULL)
-! ins_compl_new_leader();
-! }
- }
-
- /*
-***************
-*** 4554,4559 ****
---- 4560,4570 ----
- int found_end = FALSE;
- int advance;
-
-+ /* When user complete function return -1 for findstart which is next
-+ * time of 'always', compl_shown_match become NULL. */
-+ if (compl_shown_match == NULL)
-+ return -1;
-+
- if (compl_leader != NULL
- && (compl_shown_match->cp_flags & ORIGINAL_TEXT) == 0)
- {
-*** ../vim-7.3.403/src/version.c 2012-01-20 13:39:03.000000000 +0100
---- src/version.c 2012-01-20 14:31:26.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 404,
- /**/
-
---
-ARTHUR: I've said I'm sorry about the old woman, but from the behind you
- looked ...
-DENNIS: What I object to is that you automatically treat me like an inferior...
-ARTHUR: Well ... I AM king.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.405 b/source/ap/vim/patches/7.3.405
deleted file mode 100644
index 087aecc41..000000000
--- a/source/ap/vim/patches/7.3.405
+++ /dev/null
@@ -1,101 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.405
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.405
-Problem: When xterm gets back the function keys it may delete the urxvt
- mouse termcap code.
-Solution: Check for the whole code, not just the start. (Egmont Koblinger)
-Files: src/keymap.h, src/misc2.c, src/term.c
-
-
-*** ../vim-7.3.404/src/keymap.h 2011-10-20 21:09:25.000000000 +0200
---- src/keymap.h 2012-01-20 16:35:43.000000000 +0100
-***************
-*** 411,416 ****
---- 411,417 ----
- #define K_DEC_MOUSE TERMCAP2KEY(KS_DEC_MOUSE, KE_FILLER)
- #define K_JSBTERM_MOUSE TERMCAP2KEY(KS_JSBTERM_MOUSE, KE_FILLER)
- #define K_PTERM_MOUSE TERMCAP2KEY(KS_PTERM_MOUSE, KE_FILLER)
-+ #define K_URXVT_MOUSE TERMCAP2KEY(KS_URXVT_MOUSE, KE_FILLER)
-
- #define K_SELECT TERMCAP2KEY(KS_SELECT, KE_FILLER)
- #define K_TEAROFF TERMCAP2KEY(KS_TEAROFF, KE_FILLER)
-*** ../vim-7.3.404/src/misc2.c 2012-01-10 22:26:12.000000000 +0100
---- src/misc2.c 2012-01-20 16:38:27.000000000 +0100
-***************
-*** 2416,2425 ****
---- 2416,2436 ----
- {'<', (char_u *)"lt"},
-
- {K_MOUSE, (char_u *)"Mouse"},
-+ #ifdef FEAT_MOUSE_NET
- {K_NETTERM_MOUSE, (char_u *)"NetMouse"},
-+ #endif
-+ #ifdef FEAT_MOUSE_DEC
- {K_DEC_MOUSE, (char_u *)"DecMouse"},
-+ #endif
-+ #ifdef FEAT_MOUSE_JSB
- {K_JSBTERM_MOUSE, (char_u *)"JsbMouse"},
-+ #endif
-+ #ifdef FEAT_MOUSE_PTERM
- {K_PTERM_MOUSE, (char_u *)"PtermMouse"},
-+ #endif
-+ #ifdef FEAT_MOUSE_URXVT
-+ {K_URXVT_MOUSE, (char_u *)"UrxvtMouse"},
-+ #endif
- {K_LEFTMOUSE, (char_u *)"LeftMouse"},
- {K_LEFTMOUSE_NM, (char_u *)"LeftMouseNM"},
- {K_LEFTDRAG, (char_u *)"LeftDrag"},
-*** ../vim-7.3.404/src/term.c 2011-12-01 20:59:16.000000000 +0100
---- src/term.c 2012-01-20 16:50:41.000000000 +0100
-***************
-*** 5252,5263 ****
- char_u *src;
- {
- int i;
-! int slen;
-
- for (i = 0; i < tc_len; ++i)
- {
-! slen = termcodes[i].len;
-! if (slen > 1 && STRNCMP(termcodes[i].code, src, (size_t)slen) == 0)
- return i;
- }
- return -1;
---- 5252,5263 ----
- char_u *src;
- {
- int i;
-! int slen = STRLEN(src);
-
- for (i = 0; i < tc_len; ++i)
- {
-! if (slen == termcodes[i].len
-! && STRNCMP(termcodes[i].code, src, (size_t)slen) == 0)
- return i;
- }
- return -1;
-*** ../vim-7.3.404/src/version.c 2012-01-20 14:32:22.000000000 +0100
---- src/version.c 2012-01-20 16:59:47.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 405,
- /**/
-
---
-"The future's already arrived - it's just not evenly distributed yet."
- -- William Gibson
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.406 b/source/ap/vim/patches/7.3.406
deleted file mode 100644
index dceca0edb..000000000
--- a/source/ap/vim/patches/7.3.406
+++ /dev/null
@@ -1,103 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.406
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.406
-Problem: Multi-byte characters in b:browsefilter are not handled correctly.
-Solution: First use convert_filter() normally and then convert to wide
- characters. (Taro Muraoka)
-Files: src/gui_w48.c
-
-
-*** ../vim-7.3.405/src/gui_w48.c 2011-09-07 18:58:24.000000000 +0200
---- src/gui_w48.c 2012-01-20 17:54:19.000000000 +0100
-***************
-*** 328,333 ****
---- 328,337 ----
- static LRESULT _OnImeNotify(HWND hWnd, DWORD dwCommand, DWORD dwData);
- #endif
-
-+ #if defined(FEAT_MBYTE) && defined(WIN3264)
-+ static char_u *convert_filter(char_u *s);
-+ #endif
-+
- #ifdef DEBUG_PRINT_ERROR
- /*
- * Print out the last Windows error message
-***************
-*** 3275,3302 ****
-
- # if defined(FEAT_MBYTE) && defined(WIN3264)
- /*
-! * Wide version of convert_filter(). Keep in sync!
- */
- static WCHAR *
- convert_filterW(char_u *s)
- {
-! WCHAR *res;
-! unsigned s_len = (unsigned)STRLEN(s);
-! unsigned i;
-
-! res = (WCHAR *)alloc((s_len + 3) * sizeof(WCHAR));
-! if (res != NULL)
-! {
-! for (i = 0; i < s_len; ++i)
-! if (s[i] == '\t' || s[i] == '\n')
-! res[i] = '\0';
-! else
-! res[i] = s[i];
-! res[s_len] = NUL;
-! /* Add two extra NULs to make sure it's properly terminated. */
-! res[s_len + 1] = NUL;
-! res[s_len + 2] = NUL;
-! }
- return res;
- }
-
---- 3279,3298 ----
-
- # if defined(FEAT_MBYTE) && defined(WIN3264)
- /*
-! * Wide version of convert_filter().
- */
- static WCHAR *
- convert_filterW(char_u *s)
- {
-! char_u *tmp;
-! int len;
-
-! tmp = convert_filter(s);
-! if (tmp == NULL)
-! return NULL;
-! len = (int)STRLEN(s) + 3;
-! res = enc_to_utf16(tmp, &len);
-! vim_free(tmp);
- return res;
- }
-
-*** ../vim-7.3.405/src/version.c 2012-01-20 17:15:47.000000000 +0100
---- src/version.c 2012-01-20 17:57:09.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 406,
- /**/
-
---
-DENNIS: Look, strange women lying on their backs in ponds handing out
- swords ... that's no basis for a system of government. Supreme
- executive power derives from a mandate from the masses, not from some
- farcical aquatic ceremony.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.407 b/source/ap/vim/patches/7.3.407
deleted file mode 100644
index d5ac1330c..000000000
--- a/source/ap/vim/patches/7.3.407
+++ /dev/null
@@ -1,270 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.407
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.407
-Problem: ":12verbose call F()" may duplicate text while trying to truncate.
- (Thinca)
-Solution: Only truncate when there is not enough room. Also check the byte
- length of the buffer.
-Files: src/buffer.c, src/eval.c, src/ex_getln.c, src/message.c,
- src/proto/message.pro
-
-
-*** ../vim-7.3.406/src/buffer.c 2011-12-30 13:39:04.000000000 +0100
---- src/buffer.c 2012-01-20 18:37:43.000000000 +0100
-***************
-*** 3258,3266 ****
- if (maxlen > 0)
- {
- /* make it shorter by removing a bit in the middle */
-! len = vim_strsize(buf);
-! if (len > maxlen)
-! trunc_string(buf, buf, maxlen);
- }
- }
- }
---- 3258,3265 ----
- if (maxlen > 0)
- {
- /* make it shorter by removing a bit in the middle */
-! if (vim_strsize(buf) > maxlen)
-! trunc_string(buf, buf, maxlen, IOSIZE);
- }
- }
- }
-*** ../vim-7.3.406/src/eval.c 2012-01-10 22:26:12.000000000 +0100
---- src/eval.c 2012-01-20 20:43:32.000000000 +0100
-***************
-*** 22163,22170 ****
- s = tv2string(&argvars[i], &tofree, numbuf2, 0);
- if (s != NULL)
- {
-! trunc_string(s, buf, MSG_BUF_CLEN);
-! msg_puts(buf);
- vim_free(tofree);
- }
- }
---- 22163,22174 ----
- s = tv2string(&argvars[i], &tofree, numbuf2, 0);
- if (s != NULL)
- {
-! if (vim_strsize(s) > MSG_BUF_CLEN)
-! {
-! trunc_string(s, buf, MSG_BUF_CLEN, MSG_BUF_LEN);
-! s = buf;
-! }
-! msg_puts(s);
- vim_free(tofree);
- }
- }
-***************
-*** 22252,22259 ****
- s = tv2string(fc->rettv, &tofree, numbuf2, 0);
- if (s != NULL)
- {
-! trunc_string(s, buf, MSG_BUF_CLEN);
-! smsg((char_u *)_("%s returning %s"), sourcing_name, buf);
- vim_free(tofree);
- }
- }
---- 22256,22267 ----
- s = tv2string(fc->rettv, &tofree, numbuf2, 0);
- if (s != NULL)
- {
-! if (vim_strsize(s) > MSG_BUF_CLEN)
-! {
-! trunc_string(s, buf, MSG_BUF_CLEN, MSG_BUF_LEN);
-! s = buf;
-! }
-! smsg((char_u *)_("%s returning %s"), sourcing_name, s);
- vim_free(tofree);
- }
- }
-*** ../vim-7.3.406/src/ex_getln.c 2011-12-08 18:44:47.000000000 +0100
---- src/ex_getln.c 2012-01-20 18:40:46.000000000 +0100
-***************
-*** 5923,5929 ****
- hist[i].hisnum);
- if (vim_strsize(hist[i].hisstr) > (int)Columns - 10)
- trunc_string(hist[i].hisstr, IObuff + STRLEN(IObuff),
-! (int)Columns - 10);
- else
- STRCAT(IObuff, hist[i].hisstr);
- msg_outtrans(IObuff);
---- 5923,5929 ----
- hist[i].hisnum);
- if (vim_strsize(hist[i].hisstr) > (int)Columns - 10)
- trunc_string(hist[i].hisstr, IObuff + STRLEN(IObuff),
-! (int)Columns - 10, IOSIZE - STRLEN(IObuff));
- else
- STRCAT(IObuff, hist[i].hisstr);
- msg_outtrans(IObuff);
-*** ../vim-7.3.406/src/message.c 2012-01-10 22:26:12.000000000 +0100
---- src/message.c 2012-01-20 20:38:29.000000000 +0100
-***************
-*** 222,236 ****
- if (enc_utf8)
- /* may have up to 18 bytes per cell (6 per char, up to two
- * composing chars) */
-! buf = alloc((room + 2) * 18);
- else if (enc_dbcs == DBCS_JPNU)
- /* may have up to 2 bytes per cell for euc-jp */
-! buf = alloc((room + 2) * 2);
- else
- #endif
-! buf = alloc(room + 2);
- if (buf != NULL)
-! trunc_string(s, buf, room);
- }
- }
- return buf;
---- 222,237 ----
- if (enc_utf8)
- /* may have up to 18 bytes per cell (6 per char, up to two
- * composing chars) */
-! len = (room + 2) * 18;
- else if (enc_dbcs == DBCS_JPNU)
- /* may have up to 2 bytes per cell for euc-jp */
-! len = (room + 2) * 2;
- else
- #endif
-! len = room + 2;
-! buf = alloc(len);
- if (buf != NULL)
-! trunc_string(s, buf, room, len);
- }
- }
- return buf;
-***************
-*** 241,250 ****
- * "s" and "buf" may be equal.
- */
- void
-! trunc_string(s, buf, room)
- char_u *s;
- char_u *buf;
- int room;
- {
- int half;
- int len;
---- 242,252 ----
- * "s" and "buf" may be equal.
- */
- void
-! trunc_string(s, buf, room, buflen)
- char_u *s;
- char_u *buf;
- int room;
-+ int buflen;
- {
- int half;
- int len;
-***************
-*** 257,263 ****
- len = 0;
-
- /* First part: Start of the string. */
-! for (e = 0; len < half; ++e)
- {
- if (s[e] == NUL)
- {
---- 259,265 ----
- len = 0;
-
- /* First part: Start of the string. */
-! for (e = 0; len < half && e < buflen; ++e)
- {
- if (s[e] == NUL)
- {
-***************
-*** 274,280 ****
- if (has_mbyte)
- for (n = (*mb_ptr2len)(s + e); --n > 0; )
- {
-! ++e;
- buf[e] = s[e];
- }
- #endif
---- 276,283 ----
- if (has_mbyte)
- for (n = (*mb_ptr2len)(s + e); --n > 0; )
- {
-! if (++e == buflen)
-! break;
- buf[e] = s[e];
- }
- #endif
-***************
-*** 319,326 ****
- }
-
- /* Set the middle and copy the last part. */
-! mch_memmove(buf + e, "...", (size_t)3);
-! STRMOVE(buf + e + 3, s + i);
- }
-
- /*
---- 322,340 ----
- }
-
- /* Set the middle and copy the last part. */
-! if (e + 3 < buflen)
-! {
-! mch_memmove(buf + e, "...", (size_t)3);
-! len = STRLEN(s + i) + 1;
-! if (len >= buflen - e - 3)
-! len = buflen - e - 3 - 1;
-! mch_memmove(buf + e + 3, s + i, len);
-! buf[e + 3 + len - 1] = NUL;
-! }
-! else
-! {
-! buf[e - 1] = NUL; // make sure it is truncated
-! }
- }
-
- /*
-*** ../vim-7.3.406/src/proto/message.pro 2011-01-17 20:08:03.000000000 +0100
---- src/proto/message.pro 2012-01-20 18:51:19.000000000 +0100
-***************
-*** 4,10 ****
- int msg_attr __ARGS((char_u *s, int attr));
- int msg_attr_keep __ARGS((char_u *s, int attr, int keep));
- char_u *msg_strtrunc __ARGS((char_u *s, int force));
-! void trunc_string __ARGS((char_u *s, char_u *buf, int room));
- void reset_last_sourcing __ARGS((void));
- void msg_source __ARGS((int attr));
- int emsg_not_now __ARGS((void));
---- 4,10 ----
- int msg_attr __ARGS((char_u *s, int attr));
- int msg_attr_keep __ARGS((char_u *s, int attr, int keep));
- char_u *msg_strtrunc __ARGS((char_u *s, int force));
-! void trunc_string __ARGS((char_u *s, char_u *buf, int room, int buflen));
- void reset_last_sourcing __ARGS((void));
- void msg_source __ARGS((int attr));
- int emsg_not_now __ARGS((void));
-*** ../vim-7.3.406/src/version.c 2012-01-20 17:57:47.000000000 +0100
---- src/version.c 2012-01-20 20:42:23.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 407,
- /**/
-
---
-Hanson's Treatment of Time:
- There are never enough hours in a day, but always too
- many days before Saturday.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.408 b/source/ap/vim/patches/7.3.408
deleted file mode 100644
index 02276085c..000000000
--- a/source/ap/vim/patches/7.3.408
+++ /dev/null
@@ -1,48 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.408
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.408 (after 7.3.406)
-Problem: Missing declaration.
-Solution: Add the declaration. (John Marriott)
-Files: src/gui_w48.c
-
-
-*** ../vim-7.3.407/src/gui_w48.c 2012-01-20 17:57:47.000000000 +0100
---- src/gui_w48.c 2012-01-20 20:51:57.000000000 +0100
-***************
-*** 3286,3291 ****
---- 3286,3292 ----
- {
- char_u *tmp;
- int len;
-+ WCHAR *res;
-
- tmp = convert_filter(s);
- if (tmp == NULL)
-*** ../vim-7.3.407/src/version.c 2012-01-20 20:44:38.000000000 +0100
---- src/version.c 2012-01-20 20:52:56.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 408,
- /**/
-
---
-BLACK KNIGHT: None shall pass.
-ARTHUR: I have no quarrel with you, brave Sir knight, but I must cross
- this bridge.
-BLACK KNIGHT: Then you shall die.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.409 b/source/ap/vim/patches/7.3.409
deleted file mode 100644
index a00fdcb8d..000000000
--- a/source/ap/vim/patches/7.3.409
+++ /dev/null
@@ -1,48 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.409
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.409
-Problem: The license in pty.c is unclear.
-Solution: Add a comment about the license.
-Files: src/pty.c
-
-
-*** ../vim-7.3.408/src/pty.c 2011-05-19 13:40:47.000000000 +0200
---- src/pty.c 2012-01-20 21:07:56.000000000 +0100
-***************
-*** 14,19 ****
---- 14,23 ----
- * It has been modified to work better with Vim.
- * The parts that are not used in Vim have been deleted.
- * See the "screen" sources for the complete stuff.
-+ *
-+ * This specific version is distibuted under the Vim license (attribution by
-+ * Juergen Weigert), the GPL applies to the original version, see the
-+ * copyright notice below.
- */
-
- /* Copyright (c) 1993
-*** ../vim-7.3.408/src/version.c 2012-01-20 20:54:15.000000000 +0100
---- src/version.c 2012-01-20 21:13:11.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 409,
- /**/
-
---
-ARTHUR: What are you going to do. bleed on me?
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.410 b/source/ap/vim/patches/7.3.410
deleted file mode 100644
index f40e06faf..000000000
--- a/source/ap/vim/patches/7.3.410
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.410
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.410
-Problem: Compiler error for // comment. (Joachim Schmitz)
-Solution: Turn into /* comment */.
-Files: src/message.c
-
-
-*** ../vim-7.3.409/src/message.c 2012-01-20 20:44:38.000000000 +0100
---- src/message.c 2012-01-23 20:46:36.000000000 +0100
-***************
-*** 333,339 ****
- }
- else
- {
-! buf[e - 1] = NUL; // make sure it is truncated
- }
- }
-
---- 333,339 ----
- }
- else
- {
-! buf[e - 1] = NUL; /* make sure it is truncated */
- }
- }
-
-*** ../vim-7.3.409/src/version.c 2012-01-20 21:13:55.000000000 +0100
---- src/version.c 2012-01-23 20:47:30.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 410,
- /**/
-
-
---
-Are leaders born or made? And if they're made, can we return them under
-warranty?
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.411 b/source/ap/vim/patches/7.3.411
deleted file mode 100644
index fe7599522..000000000
--- a/source/ap/vim/patches/7.3.411
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.411
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.411
-Problem: Pasting in Visual mode using the "" register does not work. (John
- Beckett)
-Solution: Detect that the write is overwriting the pasted register.
- (Christian Brabandt)
-Files: src/normal.c
-
-
-*** ../vim-7.3.410/src/normal.c 2011-10-04 21:22:40.000000000 +0200
---- src/normal.c 2012-01-23 22:13:44.000000000 +0100
-***************
-*** 9329,9335 ****
- # ifdef FEAT_CLIPBOARD
- adjust_clip_reg(&regname);
- # endif
-! if (regname == 0 || VIM_ISDIGIT(regname)
- # ifdef FEAT_CLIPBOARD
- || (clip_unnamed && (regname == '*' || regname == '+'))
- # endif
---- 9329,9335 ----
- # ifdef FEAT_CLIPBOARD
- adjust_clip_reg(&regname);
- # endif
-! if (regname == 0 || regname == '"' || VIM_ISDIGIT(regname)
- # ifdef FEAT_CLIPBOARD
- || (clip_unnamed && (regname == '*' || regname == '+'))
- # endif
-*** ../vim-7.3.410/src/version.c 2012-01-23 20:48:34.000000000 +0100
---- src/version.c 2012-01-26 11:42:33.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 411,
- /**/
-
---
-Engineers understand that their appearance only bothers other people and
-therefore it is not worth optimizing.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.412 b/source/ap/vim/patches/7.3.412
deleted file mode 100644
index 3b181883a..000000000
--- a/source/ap/vim/patches/7.3.412
+++ /dev/null
@@ -1,51 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.412
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.412
-Problem: Storing a float in a session file has an additional '&'.
-Solution: Remove the '&'. (Yasuhiro Matsumoto)
-Files: src/eval.c
-
-
-*** ../vim-7.3.411/src/eval.c 2012-01-20 20:44:38.000000000 +0100
---- src/eval.c 2012-01-26 11:39:39.000000000 +0100
-***************
-*** 22929,22935 ****
- f = -f;
- sign = '-';
- }
-! if ((fprintf(fd, "let %s = %c&%f",
- this_var->di_key, sign, f) < 0)
- || put_eol(fd) == FAIL)
- return FAIL;
---- 22929,22935 ----
- f = -f;
- sign = '-';
- }
-! if ((fprintf(fd, "let %s = %c%f",
- this_var->di_key, sign, f) < 0)
- || put_eol(fd) == FAIL)
- return FAIL;
-*** ../vim-7.3.411/src/version.c 2012-01-26 11:43:04.000000000 +0100
---- src/version.c 2012-01-26 11:44:56.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 412,
- /**/
-
---
-Imagine a world without hypothetical situations.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.413 b/source/ap/vim/patches/7.3.413
deleted file mode 100644
index c32c9b1dd..000000000
--- a/source/ap/vim/patches/7.3.413
+++ /dev/null
@@ -1,90 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.413
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.413
-Problem: Build warnings on MS-Windows.
-Solution: Add type casts. (Mike Williams)
-Files: src/ex_getln.c, src/message.c, src/term.c
-
-
-*** ../vim-7.3.412/src/ex_getln.c 2012-01-20 20:44:38.000000000 +0100
---- src/ex_getln.c 2012-01-26 12:58:54.000000000 +0100
-***************
-*** 5923,5929 ****
- hist[i].hisnum);
- if (vim_strsize(hist[i].hisstr) > (int)Columns - 10)
- trunc_string(hist[i].hisstr, IObuff + STRLEN(IObuff),
-! (int)Columns - 10, IOSIZE - STRLEN(IObuff));
- else
- STRCAT(IObuff, hist[i].hisstr);
- msg_outtrans(IObuff);
---- 5923,5929 ----
- hist[i].hisnum);
- if (vim_strsize(hist[i].hisstr) > (int)Columns - 10)
- trunc_string(hist[i].hisstr, IObuff + STRLEN(IObuff),
-! (int)Columns - 10, IOSIZE - (int)STRLEN(IObuff));
- else
- STRCAT(IObuff, hist[i].hisstr);
- msg_outtrans(IObuff);
-*** ../vim-7.3.412/src/message.c 2012-01-23 20:48:34.000000000 +0100
---- src/message.c 2012-01-26 12:58:54.000000000 +0100
-***************
-*** 325,331 ****
- if (e + 3 < buflen)
- {
- mch_memmove(buf + e, "...", (size_t)3);
-! len = STRLEN(s + i) + 1;
- if (len >= buflen - e - 3)
- len = buflen - e - 3 - 1;
- mch_memmove(buf + e + 3, s + i, len);
---- 325,331 ----
- if (e + 3 < buflen)
- {
- mch_memmove(buf + e, "...", (size_t)3);
-! len = (int)STRLEN(s + i) + 1;
- if (len >= buflen - e - 3)
- len = buflen - e - 3 - 1;
- mch_memmove(buf + e + 3, s + i, len);
-*** ../vim-7.3.412/src/term.c 2012-01-20 17:15:47.000000000 +0100
---- src/term.c 2012-01-26 12:58:54.000000000 +0100
-***************
-*** 5252,5258 ****
- char_u *src;
- {
- int i;
-! int slen = STRLEN(src);
-
- for (i = 0; i < tc_len; ++i)
- {
---- 5252,5258 ----
- char_u *src;
- {
- int i;
-! int slen = (int)STRLEN(src);
-
- for (i = 0; i < tc_len; ++i)
- {
-*** ../vim-7.3.412/src/version.c 2012-01-26 11:45:25.000000000 +0100
---- src/version.c 2012-01-26 12:59:14.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 413,
- /**/
-
---
-It doesn't really matter what you are able to do if you don't do it.
- (Bram Moolenaar)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.414 b/source/ap/vim/patches/7.3.414
deleted file mode 100644
index 6f6c30753..000000000
--- a/source/ap/vim/patches/7.3.414
+++ /dev/null
@@ -1,90 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.414
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.414
-Problem: Using CTRL-A on "000" drops the leading zero, while on "001" it
- doesn't.
-Solution: Detect "000" as an octal number. (James McCoy)
-Files: src/charset.c
-
-
-*** ../vim-7.3.413/src/charset.c 2012-01-10 22:26:12.000000000 +0100
---- src/charset.c 2012-01-26 13:33:45.000000000 +0100
-***************
-*** 764,770 ****
- }
-
- /*
-! * Return the number of characters string "s" will take on the screen,
- * counting TABs as two characters: "^I".
- */
- int
---- 764,770 ----
- }
-
- /*
-! * Return the number of character cells string "s" will take on the screen,
- * counting TABs as two characters: "^I".
- */
- int
-***************
-*** 775,782 ****
- }
-
- /*
-! * Return the number of characters string "s[len]" will take on the screen,
-! * counting TABs as two characters: "^I".
- */
- int
- vim_strnsize(s, len)
---- 775,782 ----
- }
-
- /*
-! * Return the number of character cells string "s[len]" will take on the
-! * screen, counting TABs as two characters: "^I".
- */
- int
- vim_strnsize(s, len)
-***************
-*** 1830,1836 ****
- hex = 0; /* can't be octal */
- break;
- }
-! if (ptr[n] > '0')
- hex = '0'; /* assume octal */
- }
- }
---- 1830,1836 ----
- hex = 0; /* can't be octal */
- break;
- }
-! if (ptr[n] >= '0')
- hex = '0'; /* assume octal */
- }
- }
-*** ../vim-7.3.413/src/version.c 2012-01-26 13:01:54.000000000 +0100
---- src/version.c 2012-01-26 13:38:04.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 414,
- /**/
-
---
-No engineer can take a shower without wondering if some sort of Teflon coating
-would make showering unnecessary.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.415 b/source/ap/vim/patches/7.3.415
deleted file mode 100644
index 74e757b2d..000000000
--- a/source/ap/vim/patches/7.3.415
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.415
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.415 (after 7.3.359)
-Problem: Completion of functions stops once a dictionary is encountered.
- (James McCoy)
-Solution: Return an empty string instead of NULL.
-Files: src/eval.c
-
-
-*** ../vim-7.3.414/src/eval.c 2012-01-26 11:45:25.000000000 +0100
---- src/eval.c 2012-01-26 13:45:52.000000000 +0100
-***************
-*** 21802,21808 ****
- fp = HI2UF(hi);
-
- if (fp->uf_flags & FC_DICT)
-! return NULL; /* don't show dict functions */
-
- if (STRLEN(fp->uf_name) + 4 >= IOSIZE)
- return fp->uf_name; /* prevents overflow */
---- 21802,21808 ----
- fp = HI2UF(hi);
-
- if (fp->uf_flags & FC_DICT)
-! return ""; /* don't show dict functions */
-
- if (STRLEN(fp->uf_name) + 4 >= IOSIZE)
- return fp->uf_name; /* prevents overflow */
-*** ../vim-7.3.414/src/version.c 2012-01-26 13:40:04.000000000 +0100
---- src/version.c 2012-01-26 14:32:16.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 415,
- /**/
-
---
-Normal people believe that if it ain't broke, don't fix it. Engineers believe
-that if it ain't broke, it doesn't have enough features yet.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.416 b/source/ap/vim/patches/7.3.416
deleted file mode 100644
index f65bb0d2f..000000000
--- a/source/ap/vim/patches/7.3.416
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.416
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.416 (after 7.3.415)
-Problem: Compiler warning for wrong pointer.
-Solution: Add type cast.
-Files: src/eval.c
-
-
-*** ../vim-7.3.415/src/eval.c 2012-01-26 14:32:26.000000000 +0100
---- src/eval.c 2012-01-26 15:42:56.000000000 +0100
-***************
-*** 21802,21808 ****
- fp = HI2UF(hi);
-
- if (fp->uf_flags & FC_DICT)
-! return ""; /* don't show dict functions */
-
- if (STRLEN(fp->uf_name) + 4 >= IOSIZE)
- return fp->uf_name; /* prevents overflow */
---- 21802,21808 ----
- fp = HI2UF(hi);
-
- if (fp->uf_flags & FC_DICT)
-! return (char_u *)""; /* don't show dict functions */
-
- if (STRLEN(fp->uf_name) + 4 >= IOSIZE)
- return fp->uf_name; /* prevents overflow */
-*** ../vim-7.3.415/src/version.c 2012-01-26 14:32:26.000000000 +0100
---- src/version.c 2012-01-26 15:43:31.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 416,
- /**/
-
---
-It's totally unfair to suggest - as many have - that engineers are socially
-inept. Engineers simply have different objectives when it comes to social
-interaction.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.417 b/source/ap/vim/patches/7.3.417
deleted file mode 100644
index 489d27eb4..000000000
--- a/source/ap/vim/patches/7.3.417
+++ /dev/null
@@ -1,47 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.417
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.417 (after 7.3.395)
-Problem: Test 43 fails with a tiny build.
-Solution: Only run test 43 with at least a small build.
-Files: src/testdir/test43.in
-
-
-*** ../vim-7.3.415/src/testdir/test43.in 2012-01-10 13:44:23.000000000 +0100
---- src/testdir/test43.in 2012-01-26 18:00:06.000000000 +0100
-***************
-*** 1,6 ****
---- 1,7 ----
- Tests for regexp with various magic settings.
-
- STARTTEST
-+ :so small.vim
- :set nocompatible viminfo+=nviminfo
- /^1
- /a*b\{2}c\+/e
-*** ../vim-7.3.415/src/version.c 2012-01-26 14:32:26.000000000 +0100
---- src/version.c 2012-01-26 18:02:30.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 417,
- /**/
-
---
-I learned the customs and mannerisms of engineers by observing them, much the
-way Jane Goodall learned about the great apes, but without the hassle of
-grooming.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.418 b/source/ap/vim/patches/7.3.418
deleted file mode 100644
index 6ff486b63..000000000
--- a/source/ap/vim/patches/7.3.418
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.418
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.418
-Problem: When a user complete function returns -1 an error message is
- given.
-Solution: When -2 is returned stop completion silently. (Yasuhiro Matsumoto)
-Files: src/edit.c
-
-
-*** ../vim-7.3.417/src/edit.c 2012-01-20 14:32:22.000000000 +0100
---- src/edit.c 2012-01-26 18:32:23.000000000 +0100
-***************
-*** 5189,5194 ****
---- 5189,5199 ----
- return FAIL;
- }
-
-+ /* Return value -2 means the user complete function wants to
-+ * cancel the complete without an error. */
-+ if (col == -2)
-+ return FAIL;
-+
- /*
- * Reset extended parameters of completion, when start new
- * completion.
-*** ../vim-7.3.417/src/version.c 2012-01-26 18:58:13.000000000 +0100
---- src/version.c 2012-01-26 18:42:14.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 418,
- /**/
-
---
-If someone questions your market projections, simply point out that your
-target market is "People who are nuts" and "People who will buy any damn
-thing". Nobody is going to tell you there aren't enough of those people
-to go around.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.419 b/source/ap/vim/patches/7.3.419
deleted file mode 100644
index 865a47c75..000000000
--- a/source/ap/vim/patches/7.3.419
+++ /dev/null
@@ -1,85 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.419
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.419
-Problem: DBCS encoding in a user command does not always work.
-Solution: Skip over DBCS characters. (Yasuhiro Matsumoto)
-Files: src/ex_docmd.c
-
-
-*** ../vim-7.3.418/src/ex_docmd.c 2011-12-14 14:49:41.000000000 +0100
---- src/ex_docmd.c 2012-01-26 20:04:01.000000000 +0100
-***************
-*** 5967,5973 ****
- result = STRLEN(eap->arg) + 2;
- for (p = eap->arg; *p; ++p)
- {
-! if (*p == '\\' || *p == '"')
- ++result;
- }
-
---- 5967,5980 ----
- result = STRLEN(eap->arg) + 2;
- for (p = eap->arg; *p; ++p)
- {
-! #ifdef FEAT_MBYTE
-! if (enc_dbcs != 0 && (*mb_ptr2len)(p) == 2)
-! /* DBCS can contain \ in a trail byte, skip the
-! * double-byte character. */
-! ++p;
-! else
-! #endif
-! if (*p == '\\' || *p == '"')
- ++result;
- }
-
-***************
-*** 5976,5982 ****
- *buf++ = '"';
- for (p = eap->arg; *p; ++p)
- {
-! if (*p == '\\' || *p == '"')
- *buf++ = '\\';
- *buf++ = *p;
- }
---- 5983,5996 ----
- *buf++ = '"';
- for (p = eap->arg; *p; ++p)
- {
-! #ifdef FEAT_MBYTE
-! if (enc_dbcs != 0 && (*mb_ptr2len)(p) == 2)
-! /* DBCS can contain \ in a trail byte, copy the
-! * double-byte character to avoid escaping. */
-! *buf++ = *p++;
-! else
-! #endif
-! if (*p == '\\' || *p == '"')
- *buf++ = '\\';
- *buf++ = *p;
- }
-*** ../vim-7.3.418/src/version.c 2012-01-26 18:58:25.000000000 +0100
---- src/version.c 2012-01-26 20:40:34.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 419,
- /**/
-
---
-You have heard the saying that if you put a thousand monkeys in a room with a
-thousand typewriters and waited long enough, eventually you would have a room
-full of dead monkeys.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.420 b/source/ap/vim/patches/7.3.420
deleted file mode 100644
index d698d0b48..000000000
--- a/source/ap/vim/patches/7.3.420
+++ /dev/null
@@ -1,70 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.420
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.420
-Problem: "it" and "at" don't work properly with a dash in the tag name.
-Solution: Require a space to match the tag name. (Christian Brabandt)
-Files: src/search.c
-
-
-*** ../vim-7.3.419/src/search.c 2012-01-10 22:26:12.000000000 +0100
---- src/search.c 2012-01-26 20:51:43.000000000 +0100
-***************
-*** 3918,3924 ****
- curwin->w_cursor = old_pos;
- goto theend;
- }
-! spat = alloc(len + 29);
- epat = alloc(len + 9);
- if (spat == NULL || epat == NULL)
- {
---- 3918,3924 ----
- curwin->w_cursor = old_pos;
- goto theend;
- }
-! spat = alloc(len + 31);
- epat = alloc(len + 9);
- if (spat == NULL || epat == NULL)
- {
-***************
-*** 3927,3933 ****
- curwin->w_cursor = old_pos;
- goto theend;
- }
-! sprintf((char *)spat, "<%.*s\\>\\%%(\\_[^>]\\{-}[^/]>\\|>\\)\\c", len, p);
- sprintf((char *)epat, "</%.*s>\\c", len, p);
-
- r = do_searchpair(spat, (char_u *)"", epat, FORWARD, (char_u *)"",
---- 3927,3933 ----
- curwin->w_cursor = old_pos;
- goto theend;
- }
-! sprintf((char *)spat, "<%.*s\\>\\%%(\\s\\_[^>]\\{-}[^/]>\\|>\\)\\c", len, p);
- sprintf((char *)epat, "</%.*s>\\c", len, p);
-
- r = do_searchpair(spat, (char_u *)"", epat, FORWARD, (char_u *)"",
-*** ../vim-7.3.419/src/version.c 2012-01-26 20:41:22.000000000 +0100
---- src/version.c 2012-01-26 20:51:16.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 420,
- /**/
-
---
-All good vision statements are created by groups of people with bloated
-bladders who would rather be doing anything else.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.421 b/source/ap/vim/patches/7.3.421
deleted file mode 100644
index eadc29df2..000000000
--- a/source/ap/vim/patches/7.3.421
+++ /dev/null
@@ -1,60 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.421
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.421
-Problem: Get E832 when setting 'undofile' in vimrc and there is a file to
- be edited on the command line. (Toothpik)
-Solution: Do not try reading the undo file for a file that wasn't loaded.
-Files: src/option.c
-
-
-*** ../vim-7.3.420/src/option.c 2012-01-10 22:26:12.000000000 +0100
---- src/option.c 2012-01-28 17:55:24.000000000 +0100
-***************
-*** 7527,7536 ****
- {
- /* When 'undofile' is set globally: for every buffer, otherwise
- * only for the current buffer: Try to read in the undofile, if
-! * one exists and the buffer wasn't changed. */
- if ((curbuf == save_curbuf
- || (opt_flags & OPT_GLOBAL) || opt_flags == 0)
-! && !curbufIsChanged())
- {
- u_compute_hash(hash);
- u_read_undo(NULL, hash, curbuf->b_fname);
---- 7527,7537 ----
- {
- /* When 'undofile' is set globally: for every buffer, otherwise
- * only for the current buffer: Try to read in the undofile, if
-! * one exists and the buffer wasn't changed and the buffer was
-! * loaded. */
- if ((curbuf == save_curbuf
- || (opt_flags & OPT_GLOBAL) || opt_flags == 0)
-! && !curbufIsChanged() && curbuf->b_ml.ml_mfp != NULL)
- {
- u_compute_hash(hash);
- u_read_undo(NULL, hash, curbuf->b_fname);
-*** ../vim-7.3.420/src/version.c 2012-01-26 20:58:21.000000000 +0100
---- src/version.c 2012-01-28 18:03:09.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 421,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-4. Your eyeglasses have a web site burned in on them.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.422 b/source/ap/vim/patches/7.3.422
deleted file mode 100644
index 7be4aebde..000000000
--- a/source/ap/vim/patches/7.3.422
+++ /dev/null
@@ -1,94 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.422
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.422
-Problem: Python 3 does not have __members__.
-Solution: Add "name" and "number" in another way. (lilydjwg)
-Files: src/if_py_both.h, src/if_python3.c
-
-
-*** ../vim-7.3.421/src/if_py_both.h 2011-09-07 19:30:17.000000000 +0200
---- src/if_py_both.h 2012-02-04 19:59:43.000000000 +0100
-***************
-*** 1479,1484 ****
---- 1479,1487 ----
- {"append", BufferAppend, 1, "Append data to Vim buffer" },
- {"mark", BufferMark, 1, "Return (row,col) representing position of named mark" },
- {"range", BufferRange, 1, "Return a range object which represents the part of the given buffer between line numbers s and e" },
-+ #if PY_VERSION_HEX >= 0x03000000
-+ {"__dir__", BufferDir, 4, "List its attributes" },
-+ #endif
- { NULL, NULL, 0, NULL }
- };
-
-*** ../vim-7.3.421/src/if_python3.c 2011-09-14 18:59:35.000000000 +0200
---- src/if_python3.c 2012-02-04 20:13:00.000000000 +0100
-***************
-*** 468,473 ****
---- 468,474 ----
- static PyObject *BufferNew (buf_T *);
- static PyObject *WindowNew(win_T *);
- static PyObject *LineToString(const char *);
-+ static PyObject *BufferDir(PyObject *, PyObject *);
-
- static PyTypeObject RangeType;
-
-***************
-*** 961,973 ****
- return Py_BuildValue("s", this->buf->b_ffname);
- else if (strcmp(name, "number") == 0)
- return Py_BuildValue("n", this->buf->b_fnum);
-- else if (strcmp(name,"__members__") == 0)
-- return Py_BuildValue("[ss]", "name", "number");
- else
- return PyObject_GenericGetAttr(self, nameobj);
- }
-
- static PyObject *
- BufferRepr(PyObject *self)
- {
- static char repr[100];
---- 962,979 ----
- return Py_BuildValue("s", this->buf->b_ffname);
- else if (strcmp(name, "number") == 0)
- return Py_BuildValue("n", this->buf->b_fnum);
- else
- return PyObject_GenericGetAttr(self, nameobj);
- }
-
- static PyObject *
-+ BufferDir(PyObject *self UNUSED, PyObject *args UNUSED)
-+ {
-+ return Py_BuildValue("[sssss]", "name", "number",
-+ "append", "mark", "range");
-+ }
-+
-+ static PyObject *
- BufferRepr(PyObject *self)
- {
- static char repr[100];
-*** ../vim-7.3.421/src/version.c 2012-01-28 18:03:30.000000000 +0100
---- src/version.c 2012-02-04 20:14:58.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 422,
- /**/
-
---
-How To Keep A Healthy Level Of Insanity:
-15. Five days in advance, tell your friends you can't attend their
- party because you're not in the mood.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.423 b/source/ap/vim/patches/7.3.423
deleted file mode 100644
index 74bf62d2a..000000000
--- a/source/ap/vim/patches/7.3.423
+++ /dev/null
@@ -1,130 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.423
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.423
-Problem: Small mistakes in comments, proto and indent.
-Solution: Fix the mistakes.
-Files: src/ex_cmds2.c, src/structs.h, src/ui.c, src/proto/ex_docmd.pro
-
-
-*** ../vim-7.3.422/src/ex_cmds2.c 2011-10-20 21:38:37.000000000 +0200
---- src/ex_cmds2.c 2011-11-30 11:02:20.000000000 +0100
-***************
-*** 1939,1945 ****
- }
-
- /*
-! * Return TRUE if window "win" is editing then file at the current argument
- * index.
- */
- static int
---- 1939,1945 ----
- }
-
- /*
-! * Return TRUE if window "win" is editing the file at the current argument
- * index.
- */
- static int
-*** ../vim-7.3.422/src/structs.h 2011-05-19 13:40:47.000000000 +0200
---- src/structs.h 2011-09-10 13:48:53.000000000 +0200
-***************
-*** 1846,1852 ****
- often, keep it the first item!) */
-
- #if defined(FEAT_SYN_HL) || defined(FEAT_SPELL)
-! synblock_T *w_s;
- #endif
-
- #ifdef FEAT_WINDOWS
---- 1846,1852 ----
- often, keep it the first item!) */
-
- #if defined(FEAT_SYN_HL) || defined(FEAT_SPELL)
-! synblock_T *w_s; /* for :ownsyntax */
- #endif
-
- #ifdef FEAT_WINDOWS
-*** ../vim-7.3.422/src/ui.c 2011-07-07 16:20:45.000000000 +0200
---- src/ui.c 2012-01-21 14:03:42.000000000 +0100
-***************
-*** 2363,2376 ****
- XtLastTimestampProcessed(XtDisplay(myShell)),
- clip_x11_convert_selection_cb, clip_x11_lose_ownership_cb,
- NULL) == False)
-! return FAIL;
- }
- else
- #endif
- {
- if (!XChangeProperty(XtDisplay(myShell), XtWindow(myShell),
- cbd->sel_atom, timestamp_atom, 32, PropModeAppend, NULL, 0))
-! return FAIL;
- }
- /* Flush is required in a terminal as nothing else is doing it. */
- XFlush(XtDisplay(myShell));
---- 2363,2376 ----
- XtLastTimestampProcessed(XtDisplay(myShell)),
- clip_x11_convert_selection_cb, clip_x11_lose_ownership_cb,
- NULL) == False)
-! return FAIL;
- }
- else
- #endif
- {
- if (!XChangeProperty(XtDisplay(myShell), XtWindow(myShell),
- cbd->sel_atom, timestamp_atom, 32, PropModeAppend, NULL, 0))
-! return FAIL;
- }
- /* Flush is required in a terminal as nothing else is doing it. */
- XFlush(XtDisplay(myShell));
-*** ../vim-7.3.422/src/proto/ex_docmd.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/ex_docmd.pro 2011-01-16 00:22:21.000000000 +0100
-***************
-*** 1,7 ****
- /* ex_docmd.c */
- void do_exmode __ARGS((int improved));
- int do_cmdline_cmd __ARGS((char_u *cmd));
-! int do_cmdline __ARGS((char_u *cmdline, char_u *(*getline)(int, void *, int), void *cookie, int flags));
- int getline_equal __ARGS((char_u *(*fgetline)(int, void *, int), void *cookie, char_u *(*func)(int, void *, int)));
- void *getline_cookie __ARGS((char_u *(*fgetline)(int, void *, int), void *cookie));
- int checkforcmd __ARGS((char_u **pp, char *cmd, int len));
---- 1,7 ----
- /* ex_docmd.c */
- void do_exmode __ARGS((int improved));
- int do_cmdline_cmd __ARGS((char_u *cmd));
-! int do_cmdline __ARGS((char_u *cmdline, char_u *(*fgetline)(int, void *, int), void *cookie, int flags));
- int getline_equal __ARGS((char_u *(*fgetline)(int, void *, int), void *cookie, char_u *(*func)(int, void *, int)));
- void *getline_cookie __ARGS((char_u *(*fgetline)(int, void *, int), void *cookie));
- int checkforcmd __ARGS((char_u **pp, char *cmd, int len));
-*** ../vim-7.3.422/src/version.c 2012-02-04 20:17:21.000000000 +0100
---- src/version.c 2012-02-04 21:56:43.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 423,
- /**/
-
---
-In many of the more relaxed civilizations on the Outer Eastern Rim of the
-Galaxy, "The Hitchhiker's Guide to the Galaxy" has already supplanted the
-great "Encyclopedia Galactica" as the standard repository of all knowledge
-and wisdom, for though it has many omissions and contains much that is
-apocryphal, or at least wildly inaccurate, it scores over the older, more
-pedestrian work in two important respects.
-First, it is slightly cheaper; and second, it has the words "DON'T PANIC"
-inscribed in large friendly letters on its cover.
- -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.424 b/source/ap/vim/patches/7.3.424
deleted file mode 100644
index 61786ed8d..000000000
--- a/source/ap/vim/patches/7.3.424
+++ /dev/null
@@ -1,62 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.424
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.424
-Problem: Win16 version missing some functions.
-Solution: Add #defines for the functions.
-Files: src/gui_w16.c
-
-
-*** ../vim-7.3.423/src/gui_w16.c 2011-01-17 20:08:03.000000000 +0100
---- src/gui_w16.c 2011-08-10 16:50:21.000000000 +0200
-***************
-*** 21,26 ****
---- 21,32 ----
- *
- */
-
-+ /* Win16 doesn't use the "W" methods. */
-+ #define pDispatchMessage DispatchMessage
-+ #define pGetMessage GetMessage
-+ #define pIsDialogMessage IsDialogMessage
-+ #define pPeekMessage PeekMessage
-+
- /*
- * Include the common stuff for MS-Windows GUI.
- */
-*** ../vim-7.3.423/src/version.c 2012-02-04 21:57:44.000000000 +0100
---- src/version.c 2012-02-04 22:01:13.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 424,
- /**/
-
---
-Now it is such a bizarrely improbable coincidence that anything as
-mind-bogglingly useful as the Babel fish could have evolved purely by chance
-that some thinkers have chosen to see it as a final and clinching proof of the
-NON-existence of God.
-The argument goes something like this: 'I refuse to prove that I exist,' says
-God, 'for proof denies faith, and without faith I am nothing.'
-'But,' says Man, 'the Babel fish is a dead giveaway, isn't it? It could not
-have evolved by chance. It proves you exist, and so therefore, by your own
-arguments, you don't. QED.'
-'Oh dear,' says God, 'I hadn't thought of that,' and promptly vanishes in a
-puff of logic.
-'Oh, that was easy,' says Man, and for an encore goes on to prove that black
-is white and gets himself killed on the next pedestrian crossing.
- -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.425 b/source/ap/vim/patches/7.3.425
deleted file mode 100644
index aeadf3a3a..000000000
--- a/source/ap/vim/patches/7.3.425
+++ /dev/null
@@ -1,78 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.425
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.425 (after 7.3.265)
-Problem: Search history lines are duplicated. (Edwin Steiner)
-Solution: Convert separator character from space to NUL.
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.424/src/ex_getln.c 2012-01-26 13:01:54.000000000 +0100
---- src/ex_getln.c 2012-02-04 22:27:43.000000000 +0100
-***************
-*** 6027,6034 ****
- val = viminfo_readstring(virp, 1, TRUE);
- if (val != NULL && *val != NUL)
- {
- if (!in_history(type, val + (type == HIST_SEARCH),
-! viminfo_add_at_front, *val))
- {
- /* Need to re-allocate to append the separator byte. */
- len = STRLEN(val);
---- 6027,6036 ----
- val = viminfo_readstring(virp, 1, TRUE);
- if (val != NULL && *val != NUL)
- {
-+ int sep = (*val == ' ' ? NUL : *val);
-+
- if (!in_history(type, val + (type == HIST_SEARCH),
-! viminfo_add_at_front, sep))
- {
- /* Need to re-allocate to append the separator byte. */
- len = STRLEN(val);
-***************
-*** 6040,6046 ****
- /* Search entry: Move the separator from the first
- * column to after the NUL. */
- mch_memmove(p, val + 1, (size_t)len);
-! p[len] = (*val == ' ' ? NUL : *val);
- }
- else
- {
---- 6042,6048 ----
- /* Search entry: Move the separator from the first
- * column to after the NUL. */
- mch_memmove(p, val + 1, (size_t)len);
-! p[len] = sep;
- }
- else
- {
-*** ../vim-7.3.424/src/version.c 2012-02-04 22:01:44.000000000 +0100
---- src/version.c 2012-02-04 22:30:36.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 425,
- /**/
-
---
-"So this is it," said Arthur, "we are going to die."
-"Yes," said Ford, "except...no! Wait a minute!" He suddenly lunged across
-the chamber at something behind Arthur's line of vision. "What's this
-switch?" he cried.
-"What? Where?" cried Arthur, twisting around.
-"No, I was only fooling," said Ford, "we are going to die after all."
- -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.426 b/source/ap/vim/patches/7.3.426
deleted file mode 100644
index 76380af1a..000000000
--- a/source/ap/vim/patches/7.3.426
+++ /dev/null
@@ -1,279 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.426
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.426
-Problem: With '$' in 'cpoptions' the $ is not displayed in the first
- column.
-Solution: Use -1 instead of 0 as a special value. (Hideki Eiraku and
- Hirohito Higashi)
-Files: src/edit.c, src/globals.h, src/move.c, src/screen.c, src/search.c
-
-
-*** ../vim-7.3.425/src/edit.c 2012-01-26 18:58:25.000000000 +0100
---- src/edit.c 2012-02-04 23:23:45.000000000 +0100
-***************
-*** 1763,1771 ****
- static void
- undisplay_dollar()
- {
-! if (dollar_vcol)
- {
-! dollar_vcol = 0;
- redrawWinline(curwin->w_cursor.lnum, FALSE);
- }
- }
---- 1763,1771 ----
- static void
- undisplay_dollar()
- {
-! if (dollar_vcol >= 0)
- {
-! dollar_vcol = -1;
- redrawWinline(curwin->w_cursor.lnum, FALSE);
- }
- }
-***************
-*** 5441,5447 ****
- compl_curr_match->cp_number);
- edit_submode_extra = match_ref;
- edit_submode_highl = HLF_R;
-! if (dollar_vcol)
- curs_columns(FALSE);
- }
- }
---- 5441,5447 ----
- compl_curr_match->cp_number);
- edit_submode_extra = match_ref;
- edit_submode_highl = HLF_R;
-! if (dollar_vcol >= 0)
- curs_columns(FALSE);
- }
- }
-***************
-*** 8961,8967 ****
- * We can emulate the vi behaviour by pretending there is a dollar
- * displayed even when there isn't.
- * --pkv Sun Jan 19 01:56:40 EST 2003 */
-! if (vim_strchr(p_cpo, CPO_BACKSPACE) != NULL && dollar_vcol == 0)
- dollar_vcol = curwin->w_virtcol;
-
- #ifdef FEAT_FOLDING
---- 8961,8967 ----
- * We can emulate the vi behaviour by pretending there is a dollar
- * displayed even when there isn't.
- * --pkv Sun Jan 19 01:56:40 EST 2003 */
-! if (vim_strchr(p_cpo, CPO_BACKSPACE) != NULL && dollar_vcol == -1)
- dollar_vcol = curwin->w_virtcol;
-
- #ifdef FEAT_FOLDING
-*** ../vim-7.3.425/src/globals.h 2011-05-10 16:41:13.000000000 +0200
---- src/globals.h 2012-02-04 23:24:07.000000000 +0100
-***************
-*** 113,121 ****
- * When '$' is included in 'cpoptions' option set:
- * When a change command is given that deletes only part of a line, a dollar
- * is put at the end of the changed text. dollar_vcol is set to the virtual
-! * column of this '$'.
- */
-! EXTERN colnr_T dollar_vcol INIT(= 0);
-
- #ifdef FEAT_INS_EXPAND
- /*
---- 113,121 ----
- * When '$' is included in 'cpoptions' option set:
- * When a change command is given that deletes only part of a line, a dollar
- * is put at the end of the changed text. dollar_vcol is set to the virtual
-! * column of this '$'. -1 is used to indicate no $ is being displayed.
- */
-! EXTERN colnr_T dollar_vcol INIT(= -1);
-
- #ifdef FEAT_INS_EXPAND
- /*
-*** ../vim-7.3.425/src/move.c 2012-01-10 22:26:12.000000000 +0100
---- src/move.c 2012-02-04 23:21:08.000000000 +0100
-***************
-*** 362,368 ****
- #endif
- )
- {
-! dollar_vcol = 0;
- if (curwin->w_skipcol != 0)
- {
- curwin->w_skipcol = 0;
---- 362,368 ----
- #endif
- )
- {
-! dollar_vcol = -1;
- if (curwin->w_skipcol != 0)
- {
- curwin->w_skipcol = 0;
-***************
-*** 966,972 ****
-
- /* remove '$' from change command when cursor moves onto it */
- if (startcol > dollar_vcol)
-! dollar_vcol = 0;
-
- extra = curwin_col_off();
- curwin->w_wcol = curwin->w_virtcol + extra;
---- 966,972 ----
-
- /* remove '$' from change command when cursor moves onto it */
- if (startcol > dollar_vcol)
-! dollar_vcol = -1;
-
- extra = curwin_col_off();
- curwin->w_wcol = curwin->w_virtcol + extra;
-*** ../vim-7.3.425/src/screen.c 2012-01-10 22:26:12.000000000 +0100
---- src/screen.c 2012-02-04 23:22:44.000000000 +0100
-***************
-*** 1637,1647 ****
- * When at start of changed lines: May scroll following lines
- * up or down to minimize redrawing.
- * Don't do this when the change continues until the end.
-! * Don't scroll when dollar_vcol is non-zero, keep the "$".
- */
- if (lnum == mod_top
- && mod_bot != MAXLNUM
-! && !(dollar_vcol != 0 && mod_bot == mod_top + 1))
- {
- int old_rows = 0;
- int new_rows = 0;
---- 1637,1647 ----
- * When at start of changed lines: May scroll following lines
- * up or down to minimize redrawing.
- * Don't do this when the change continues until the end.
-! * Don't scroll when dollar_vcol >= 0, keep the "$".
- */
- if (lnum == mod_top
- && mod_bot != MAXLNUM
-! && !(dollar_vcol >= 0 && mod_bot == mod_top + 1))
- {
- int old_rows = 0;
- int new_rows = 0;
-***************
-*** 1868,1879 ****
- if (row > wp->w_height) /* past end of screen */
- {
- /* we may need the size of that too long line later on */
-! if (dollar_vcol == 0)
- wp->w_lines[idx].wl_size = plines_win(wp, lnum, TRUE);
- ++idx;
- break;
- }
-! if (dollar_vcol == 0)
- wp->w_lines[idx].wl_size = row - srow;
- ++idx;
- #ifdef FEAT_FOLDING
---- 1868,1879 ----
- if (row > wp->w_height) /* past end of screen */
- {
- /* we may need the size of that too long line later on */
-! if (dollar_vcol == -1)
- wp->w_lines[idx].wl_size = plines_win(wp, lnum, TRUE);
- ++idx;
- break;
- }
-! if (dollar_vcol == -1)
- wp->w_lines[idx].wl_size = row - srow;
- ++idx;
- #ifdef FEAT_FOLDING
-***************
-*** 1990,1996 ****
- }
- #endif
- }
-! else if (dollar_vcol == 0)
- wp->w_botline = lnum;
-
- /* make sure the rest of the screen is blank */
---- 1990,1996 ----
- }
- #endif
- }
-! else if (dollar_vcol == -1)
- wp->w_botline = lnum;
-
- /* make sure the rest of the screen is blank */
-***************
-*** 2005,2011 ****
- wp->w_old_botfill = wp->w_botfill;
- #endif
-
-! if (dollar_vcol == 0)
- {
- /*
- * There is a trick with w_botline. If we invalidate it on each
---- 2005,2011 ----
- wp->w_old_botfill = wp->w_botfill;
- #endif
-
-! if (dollar_vcol == -1)
- {
- /*
- * There is a trick with w_botline. If we invalidate it on each
-***************
-*** 3564,3570 ****
- }
-
- /* When still displaying '$' of change command, stop at cursor */
-! if (dollar_vcol != 0 && wp == curwin
- && lnum == wp->w_cursor.lnum && vcol >= (long)wp->w_virtcol
- #ifdef FEAT_DIFF
- && filler_todo <= 0
---- 3564,3570 ----
- }
-
- /* When still displaying '$' of change command, stop at cursor */
-! if (dollar_vcol >= 0 && wp == curwin
- && lnum == wp->w_cursor.lnum && vcol >= (long)wp->w_virtcol
- #ifdef FEAT_DIFF
- && filler_todo <= 0
-*** ../vim-7.3.425/src/search.c 2012-01-26 20:58:21.000000000 +0100
---- src/search.c 2012-02-04 23:23:10.000000000 +0100
-***************
-*** 2501,2508 ****
- save_siso = p_siso;
- /* Handle "$" in 'cpo': If the ')' is typed on top of the "$",
- * stop displaying the "$". */
-! if (dollar_vcol > 0 && dollar_vcol == curwin->w_virtcol)
-! dollar_vcol = 0;
- ++curwin->w_virtcol; /* do display ')' just before "$" */
- update_screen(VALID); /* show the new char first */
-
---- 2501,2508 ----
- save_siso = p_siso;
- /* Handle "$" in 'cpo': If the ')' is typed on top of the "$",
- * stop displaying the "$". */
-! if (dollar_vcol >= 0 && dollar_vcol == curwin->w_virtcol)
-! dollar_vcol = -1;
- ++curwin->w_virtcol; /* do display ')' just before "$" */
- update_screen(VALID); /* show the new char first */
-
-*** ../vim-7.3.425/src/version.c 2012-02-04 22:44:27.000000000 +0100
---- src/version.c 2012-02-04 23:32:55.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 426,
- /**/
-
-
---
-I am also told that there is a logical proof out there somewhere
-that demonstrates that there is no task which duct tape cannot handle.
- -- Paul Brannan
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.427 b/source/ap/vim/patches/7.3.427
deleted file mode 100644
index 61df88122..000000000
--- a/source/ap/vim/patches/7.3.427
+++ /dev/null
@@ -1,378 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.427
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.427
-Problem: readfile() can be slow with long lines.
-Solution: Use realloc() instead of alloc(). (John Little)
-Files: src/eval.c
-
-
-*** ../vim-7.3.426/src/eval.c 2012-01-26 14:32:26.000000000 +0100
---- src/eval.c 2012-02-05 00:25:39.000000000 +0100
-***************
-*** 14325,14346 ****
- typval_T *rettv;
- {
- int binary = FALSE;
- char_u *fname;
- FILE *fd;
-! listitem_T *li;
-! #define FREAD_SIZE 200 /* optimized for text lines */
-! char_u buf[FREAD_SIZE];
-! int readlen; /* size of last fread() */
-! int buflen; /* nr of valid chars in buf[] */
-! int filtd; /* how much in buf[] was NUL -> '\n' filtered */
-! int tolist; /* first byte in buf[] still to be put in list */
-! int chop; /* how many CR to chop off */
-! char_u *prev = NULL; /* previously read bytes, if any */
-! int prevlen = 0; /* length of "prev" if not NULL */
-! char_u *s;
-! int len;
-! long maxline = MAXLNUM;
-! long cnt = 0;
-
- if (argvars[1].v_type != VAR_UNKNOWN)
- {
---- 14325,14343 ----
- typval_T *rettv;
- {
- int binary = FALSE;
-+ int failed = FALSE;
- char_u *fname;
- FILE *fd;
-! char_u buf[(IOSIZE/256)*256]; /* rounded to avoid odd + 1 */
-! int io_size = sizeof(buf);
-! int readlen; /* size of last fread() */
-! char_u *prev = NULL; /* previously read bytes, if any */
-! long prevlen = 0; /* length of data in prev */
-! long prevsize = 0; /* size of prev buffer */
-! long maxline = MAXLNUM;
-! long cnt = 0;
-! char_u *p; /* position in buf */
-! char_u *start; /* start of current line */
-
- if (argvars[1].v_type != VAR_UNKNOWN)
- {
-***************
-*** 14362,14410 ****
- return;
- }
-
-- filtd = 0;
- while (cnt < maxline || maxline < 0)
- {
-! readlen = (int)fread(buf + filtd, 1, FREAD_SIZE - filtd, fd);
-! buflen = filtd + readlen;
-! tolist = 0;
-! for ( ; filtd < buflen || readlen <= 0; ++filtd)
-! {
-! if (readlen <= 0 || buf[filtd] == '\n')
-! {
-! /* In binary mode add an empty list item when the last
-! * non-empty line ends in a '\n'. */
-! if (!binary && readlen == 0 && filtd == 0 && prev == NULL)
-! break;
-
-! /* Found end-of-line or end-of-file: add a text line to the
-! * list. */
-! chop = 0;
-! if (!binary)
-! while (filtd - chop - 1 >= tolist
-! && buf[filtd - chop - 1] == '\r')
-! ++chop;
-! len = filtd - tolist - chop;
-! if (prev == NULL)
-! s = vim_strnsave(buf + tolist, len);
- else
- {
-! s = alloc((unsigned)(prevlen + len + 1));
-! if (s != NULL)
- {
-! mch_memmove(s, prev, prevlen);
-! vim_free(prev);
-! prev = NULL;
-! mch_memmove(s + prevlen, buf + tolist, len);
- s[prevlen + len] = NUL;
- }
- }
-! tolist = filtd + 1;
-
-! li = listitem_alloc();
-! if (li == NULL)
- {
- vim_free(s);
- break;
- }
- li->li_tv.v_type = VAR_STRING;
---- 14359,14419 ----
- return;
- }
-
- while (cnt < maxline || maxline < 0)
- {
-! readlen = (int)fread(buf, 1, io_size, fd);
-!
-! /* This for loop processes what was read, but is also entered at end
-! * of file so that either:
-! * - an incomplete line gets written
-! * - a "binary" file gets an empty line at the end if it ends in a
-! * newline. */
-! for (p = buf, start = buf;
-! p < buf + readlen || (readlen <= 0 && (prevlen > 0 || binary));
-! ++p)
-! {
-! if (*p == '\n' || readlen <= 0)
-! {
-! listitem_T *li;
-! char_u *s = NULL;
-! long_u len = p - start;
-
-! /* Finished a line. Remove CRs before NL. */
-! if (readlen > 0 && !binary)
-! {
-! while (len > 0 && start[len - 1] == '\r')
-! --len;
-! /* removal may cross back to the "prev" string */
-! if (len == 0)
-! while (prevlen > 0 && prev[prevlen - 1] == '\r')
-! --prevlen;
-! }
-! if (prevlen == 0)
-! s = vim_strnsave(start, len);
- else
- {
-! /* Change "prev" buffer to be the right size. This way
-! * the bytes are only copied once, and very long lines are
-! * allocated only once. */
-! if ((s = vim_realloc(prev, prevlen + len + 1)) != NULL)
- {
-! mch_memmove(s + prevlen, start, len);
- s[prevlen + len] = NUL;
-+ prev = NULL; /* the list will own the string */
-+ prevlen = prevsize = 0;
- }
- }
-! if (s == NULL)
-! {
-! do_outofmem_msg((long_u) prevlen + len + 1);
-! failed = TRUE;
-! break;
-! }
-
-! if ((li = listitem_alloc()) == NULL)
- {
- vim_free(s);
-+ failed = TRUE;
- break;
- }
- li->li_tv.v_type = VAR_STRING;
-***************
-*** 14412,14485 ****
- li->li_tv.vval.v_string = s;
- list_append(rettv->vval.v_list, li);
-
-! if (++cnt >= maxline && maxline >= 0)
-! break;
-! if (readlen <= 0)
- break;
- }
-! else if (buf[filtd] == NUL)
-! buf[filtd] = '\n';
- #ifdef FEAT_MBYTE
-! else if (buf[filtd] == 0xef
-! && enc_utf8
-! && filtd + 2 < buflen
-! && !binary
-! && buf[filtd + 1] == 0xbb
-! && buf[filtd + 2] == 0xbf)
-! {
-! /* remove utf-8 byte order mark */
-! mch_memmove(buf + filtd, buf + filtd + 3, buflen - filtd - 3);
-! --filtd;
-! buflen -= 3;
- }
- #endif
-! }
-! if (readlen <= 0)
-! break;
-
-! if (tolist == 0)
- {
-! if (buflen >= FREAD_SIZE / 2)
- {
-! /* "buf" is full, need to move text to an allocated buffer */
-! if (prev == NULL)
- {
-! prev = vim_strnsave(buf, buflen);
-! prevlen = buflen;
- }
-! else
- {
-! s = alloc((unsigned)(prevlen + buflen));
-! if (s != NULL)
-! {
-! mch_memmove(s, prev, prevlen);
-! mch_memmove(s + prevlen, buf, buflen);
-! vim_free(prev);
-! prev = s;
-! prevlen += buflen;
-! }
- }
-! filtd = 0;
- }
- }
-! else
-! {
-! mch_memmove(buf, buf + tolist, buflen - tolist);
-! filtd -= tolist;
-! }
-! }
-
- /*
- * For a negative line count use only the lines at the end of the file,
- * free the rest.
- */
-! if (maxline < 0)
- while (cnt > -maxline)
- {
- listitem_remove(rettv->vval.v_list, rettv->vval.v_list->lv_first);
- --cnt;
- }
-
- vim_free(prev);
- fclose(fd);
- }
---- 14421,14529 ----
- li->li_tv.vval.v_string = s;
- list_append(rettv->vval.v_list, li);
-
-! start = p + 1; /* step over newline */
-! if ((++cnt >= maxline && maxline >= 0) || readlen <= 0)
- break;
- }
-! else if (*p == NUL)
-! *p = '\n';
- #ifdef FEAT_MBYTE
-! /* Check for utf8 "bom"; U+FEFF is encoded as EF BB BF. Do this
-! * when finding the BF and check the previous two bytes. */
-! else if (*p == 0xbf && enc_utf8 && !binary)
-! {
-! /* Find the two bytes before the 0xbf. If p is at buf, or buf
-! * + 1, these may be in the "prev" string. */
-! char_u back1 = p >= buf + 1 ? p[-1]
-! : prevlen >= 1 ? prev[prevlen - 1] : NUL;
-! char_u back2 = p >= buf + 2 ? p[-2]
-! : p == buf + 1 && prevlen >= 1 ? prev[prevlen - 1]
-! : prevlen >= 2 ? prev[prevlen - 2] : NUL;
-!
-! if (back2 == 0xef && back1 == 0xbb)
-! {
-! char_u *dest = p - 2;
-!
-! /* Usually a BOM is at the beginning of a file, and so at
-! * the beginning of a line; then we can just step over it.
-! */
-! if (start == dest)
-! start = p + 1;
-! else
-! {
-! /* have to shuffle buf to close gap */
-! int adjust_prevlen = 0;
-!
-! if (dest < buf)
-! {
-! adjust_prevlen = buf - dest; /* must be 1 or 2 */
-! dest = buf;
-! }
-! if (readlen > p - buf + 1)
-! mch_memmove(dest, p + 1, readlen - (p - buf) - 1);
-! readlen -= 3 - adjust_prevlen;
-! prevlen -= adjust_prevlen;
-! p = dest - 1;
-! }
-! }
- }
- #endif
-! } /* for */
-
-! if (failed || (cnt >= maxline && maxline >= 0) || readlen <= 0)
-! break;
-! if (start < p)
- {
-! /* There's part of a line in buf, store it in "prev". */
-! if (p - start + prevlen >= prevsize)
- {
-! /* need bigger "prev" buffer */
-! char_u *newprev;
-!
-! /* A common use case is ordinary text files and "prev" gets a
-! * fragment of a line, so the first allocation is made
-! * small, to avoid repeatedly 'allocing' large and
-! * 'reallocing' small. */
-! if (prevsize == 0)
-! prevsize = p - start;
-! else
- {
-! long grow50pc = (prevsize * 3) / 2;
-! long growmin = (p - start) * 2 + prevlen;
-! prevsize = grow50pc > growmin ? grow50pc : growmin;
- }
-! if ((newprev = vim_realloc(prev, prevsize)) == NULL)
- {
-! do_outofmem_msg((long_u)prevsize);
-! failed = TRUE;
-! break;
- }
-! prev = newprev;
- }
-+ /* Add the line part to end of "prev". */
-+ mch_memmove(prev + prevlen, start, p - start);
-+ prevlen += p - start;
- }
-! } /* while */
-
- /*
- * For a negative line count use only the lines at the end of the file,
- * free the rest.
- */
-! if (!failed && maxline < 0)
- while (cnt > -maxline)
- {
- listitem_remove(rettv->vval.v_list, rettv->vval.v_list->lv_first);
- --cnt;
- }
-
-+ if (failed)
-+ {
-+ list_free(rettv->vval.v_list, TRUE);
-+ /* readfile doc says an empty list is returned on error */
-+ rettv->vval.v_list = list_alloc();
-+ }
-+
- vim_free(prev);
- fclose(fd);
- }
-*** ../vim-7.3.426/src/version.c 2012-02-04 23:34:57.000000000 +0100
---- src/version.c 2012-02-05 00:38:34.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 427,
- /**/
-
---
-One difference between a man and a machine is that a machine is quiet
-when well oiled.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.428 b/source/ap/vim/patches/7.3.428
deleted file mode 100644
index 89567ed81..000000000
--- a/source/ap/vim/patches/7.3.428
+++ /dev/null
@@ -1,113 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.428
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.428
-Problem: Win32: an xpm file without a mask crashes Vim.
-Solution: Fail when the mask is missing. (Dave Bodenstab)
-Files: src/xpm_w32.c
-
-
-*** ../vim-7.3.427/src/xpm_w32.c 2010-08-15 21:57:25.000000000 +0200
---- src/xpm_w32.c 2012-02-05 00:46:13.000000000 +0100
-***************
-*** 1,4 ****
-! /*
- * Load XPM image.
- *
- * This function is placed in separate file because Xpm headers conflict with
---- 1,5 ----
-! /* vi:set ts=8 sts=4 sw=4:
-! *
- * Load XPM image.
- *
- * This function is placed in separate file because Xpm headers conflict with
-***************
-*** 30,38 ****
- #include "xpm.h"
-
- /*
-! * Tries to load Xpm image from file 'filename'.
-! * If fails return -1.
-! * success - 0 and image and mask BITMAPS
- */
- int
- LoadXpmImage(filename, hImage, hShape)
---- 31,40 ----
- #include "xpm.h"
-
- /*
-! * Tries to load an Xpm image from the file "filename".
-! * Returns -1 on failure.
-! * Returns 0 on success and stores image and mask BITMAPS in "hImage" and
-! * "hShape".
- */
- int
- LoadXpmImage(filename, hImage, hShape)
-***************
-*** 40,46 ****
- HBITMAP *hImage;
- HBITMAP *hShape;
- {
-! XImage *img; /* loaded image */
- XImage *shp; /* shapeimage */
- XpmAttributes attr;
- int res;
---- 42,48 ----
- HBITMAP *hImage;
- HBITMAP *hShape;
- {
-! XImage *img; /* loaded image */
- XImage *shp; /* shapeimage */
- XpmAttributes attr;
- int res;
-***************
-*** 51,60 ****
- DeleteDC(hdc);
- if (res < 0)
- return -1;
-! else
- {
-! *hImage = img->bitmap;
-! *hShape = shp->bitmap;
-! return 0;
- }
- }
---- 53,65 ----
- DeleteDC(hdc);
- if (res < 0)
- return -1;
-! if (shp == NULL)
- {
-! if (img)
-! XDestroyImage(img);
-! return -1;
- }
-+ *hImage = img->bitmap;
-+ *hShape = shp->bitmap;
-+ return 0;
- }
-*** ../vim-7.3.427/src/version.c 2012-02-05 00:39:14.000000000 +0100
---- src/version.c 2012-02-05 00:47:08.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 428,
- /**/
-
---
-I'm not familiar with this proof, but I'm aware of a significant
-following of toddlers who believe that peanut butter is the solution
-to all of life's problems... -- Tim Hammerquist
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.429 b/source/ap/vim/patches/7.3.429
deleted file mode 100644
index 801e25f9e..000000000
--- a/source/ap/vim/patches/7.3.429
+++ /dev/null
@@ -1,192 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.429
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.429
-Problem: When 'cpoptions' includes "E" "c0" in the first column is an
- error. The redo register is then set to the errornous command.
-Solution: Do not set the redo register if the command fails because of an
- empty region. (Hideki Eiraku)
-Files: src/getchar.c, src/normal.c, src/proto/getchar.pro
-
-
-*** ../vim-7.3.428/src/getchar.c 2012-01-10 22:26:12.000000000 +0100
---- src/getchar.c 2012-02-05 01:05:09.000000000 +0100
-***************
-*** 470,475 ****
---- 470,493 ----
- }
- }
-
-+ /*
-+ * Discard the contents of the redo buffer and restore the previous redo
-+ * buffer.
-+ */
-+ void
-+ CancelRedo()
-+ {
-+ if (!block_redo)
-+ {
-+ free_buff(&redobuff);
-+ redobuff = old_redobuff;
-+ old_redobuff.bh_first.b_next = NULL;
-+ start_stuff();
-+ while (read_stuff(TRUE) != NUL)
-+ ;
-+ }
-+ }
-+
- #if defined(FEAT_AUTOCMD) || defined(FEAT_EVAL) || defined(PROTO)
- /*
- * Save redobuff and old_redobuff to save_redobuff and save_old_redobuff.
-***************
-*** 691,699 ****
- * Read a character from the redo buffer. Translates K_SPECIAL, CSI and
- * multibyte characters.
- * The redo buffer is left as it is.
-! * if init is TRUE, prepare for redo, return FAIL if nothing to redo, OK
-! * otherwise
-! * if old is TRUE, use old_redobuff instead of redobuff
- */
- static int
- read_redo(init, old_redo)
---- 709,717 ----
- * Read a character from the redo buffer. Translates K_SPECIAL, CSI and
- * multibyte characters.
- * The redo buffer is left as it is.
-! * If init is TRUE, prepare for redo, return FAIL if nothing to redo, OK
-! * otherwise.
-! * If old is TRUE, use old_redobuff instead of redobuff.
- */
- static int
- read_redo(init, old_redo)
-*** ../vim-7.3.428/src/normal.c 2012-01-26 11:43:04.000000000 +0100
---- src/normal.c 2012-02-05 01:06:01.000000000 +0100
-***************
-*** 1978,1984 ****
---- 1978,1987 ----
- VIsual_reselect = FALSE; /* don't reselect now */
- #endif
- if (empty_region_error)
-+ {
- vim_beep();
-+ CancelRedo();
-+ }
- else
- {
- (void)op_delete(oap);
-***************
-*** 1992,1998 ****
---- 1995,2004 ----
- if (empty_region_error)
- {
- if (!gui_yank)
-+ {
- vim_beep();
-+ CancelRedo();
-+ }
- }
- else
- (void)op_yank(oap, FALSE, !gui_yank);
-***************
-*** 2004,2010 ****
---- 2010,2019 ----
- VIsual_reselect = FALSE; /* don't reselect now */
- #endif
- if (empty_region_error)
-+ {
- vim_beep();
-+ CancelRedo();
-+ }
- else
- {
- /* This is a new edit command, not a restart. Need to
-***************
-*** 2066,2072 ****
---- 2075,2084 ----
- case OP_LOWER:
- case OP_ROT13:
- if (empty_region_error)
-+ {
- vim_beep();
-+ CancelRedo();
-+ }
- else
- op_tilde(oap);
- check_cursor_col();
-***************
-*** 2099,2105 ****
---- 2111,2120 ----
- #endif
- #ifdef FEAT_VISUALEXTRA
- if (empty_region_error)
-+ {
- vim_beep();
-+ CancelRedo();
-+ }
- else
- {
- /* This is a new edit command, not a restart. Need to
-***************
-*** 2129,2135 ****
---- 2144,2153 ----
- #ifdef FEAT_VISUALEXTRA
- if (empty_region_error)
- #endif
-+ {
- vim_beep();
-+ CancelRedo();
-+ }
- #ifdef FEAT_VISUALEXTRA
- else
- op_replace(oap, cap->nchar);
-*** ../vim-7.3.428/src/proto/getchar.pro 2010-10-20 21:22:17.000000000 +0200
---- src/proto/getchar.pro 2012-02-05 01:05:20.000000000 +0100
-***************
-*** 4,11 ****
- char_u *get_inserted __ARGS((void));
- int stuff_empty __ARGS((void));
- void typeahead_noflush __ARGS((int c));
-! void flush_buffers __ARGS((int typeahead));
- void ResetRedobuff __ARGS((void));
- void saveRedobuff __ARGS((void));
- void restoreRedobuff __ARGS((void));
- void AppendToRedobuff __ARGS((char_u *s));
---- 4,12 ----
- char_u *get_inserted __ARGS((void));
- int stuff_empty __ARGS((void));
- void typeahead_noflush __ARGS((int c));
-! void flush_buffers __ARGS((int flush_typeahead));
- void ResetRedobuff __ARGS((void));
-+ void CancelRedo __ARGS((void));
- void saveRedobuff __ARGS((void));
- void restoreRedobuff __ARGS((void));
- void AppendToRedobuff __ARGS((char_u *s));
-*** ../vim-7.3.428/src/version.c 2012-02-05 00:47:56.000000000 +0100
---- src/version.c 2012-02-05 01:09:23.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 429,
- /**/
-
---
-The History of every major Galactic Civilization tends to pass through
-three distinct and recognizable phases, those of Survival, Inquiry and
-Sophistication, otherwise known as the How, Why and Where phases.
-For instance, the first phase is characterized by the question 'How can
-we eat?' the second by the question 'Why do we eat?' and the third by
-the question 'Where shall we have lunch?'
- -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.430 b/source/ap/vim/patches/7.3.430
deleted file mode 100644
index c67e7fb03..000000000
--- a/source/ap/vim/patches/7.3.430
+++ /dev/null
@@ -1,80 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.430
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.430
-Problem: When a custom filetype detection uses "augroup END" the conf
- fileytpe detection does not have the filetypedetect group.
-Solution: Always end the group and include filetypedetect in the conf
- autocommand. (Lech Lorens)
-Files: runtime/filetype.vim
-
-
-*** ../vim-7.3.429/runtime/filetype.vim 2012-02-05 20:08:08.000000000 +0100
---- runtime/filetype.vim 2012-02-05 19:59:40.000000000 +0100
-***************
-*** 2545,2561 ****
- " detected filetypes.
- runtime! ftdetect/*.vim
-
-
- " Generic configuration file (check this last, it's just guessing!)
-! au BufNewFile,BufRead,StdinReadPost *
- \ if !did_filetype() && expand("<amatch>") !~ g:ft_ignore_pat
- \ && (getline(1) =~ '^#' || getline(2) =~ '^#' || getline(3) =~ '^#'
- \ || getline(4) =~ '^#' || getline(5) =~ '^#') |
- \ setf conf |
- \ endif
-
-- augroup END
--
-
- " If the GUI is already running, may still need to install the Syntax menu.
- " Don't do it when the 'M' flag is included in 'guioptions'.
---- 2545,2563 ----
- " detected filetypes.
- runtime! ftdetect/*.vim
-
-+ " NOTE: The above command could have ended the filetypedetect autocmd group
-+ " and started another one. Let's make sure it has ended to get to a consistant
-+ " state.
-+ augroup END
-
- " Generic configuration file (check this last, it's just guessing!)
-! au filetypedetect BufNewFile,BufRead,StdinReadPost *
- \ if !did_filetype() && expand("<amatch>") !~ g:ft_ignore_pat
- \ && (getline(1) =~ '^#' || getline(2) =~ '^#' || getline(3) =~ '^#'
- \ || getline(4) =~ '^#' || getline(5) =~ '^#') |
- \ setf conf |
- \ endif
-
-
- " If the GUI is already running, may still need to install the Syntax menu.
- " Don't do it when the 'M' flag is included in 'guioptions'.
-*** ../vim-7.3.429/src/version.c 2012-02-05 01:18:41.000000000 +0100
---- src/version.c 2012-02-05 20:02:18.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 430,
- /**/
-
---
-The technology involved in making anything invisible is so infinitely
-complex that nine hundred and ninety-nine billion, nine hundred and
-ninety-nine million, nine hundred and ninety-nine thousand, nine hundred
-and ninety-nine times out of a trillion it is much simpler and more
-effective just to take the thing away and do without it.
- -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.431 b/source/ap/vim/patches/7.3.431
deleted file mode 100644
index 2e4e62b3f..000000000
--- a/source/ap/vim/patches/7.3.431
+++ /dev/null
@@ -1,280 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.431
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.431
-Problem: Fetching a key at a prompt may be confused by escape sequences.
- Especially when getting a prompt at a VimEnter autocommand.
- (Alex Efros)
-Solution: Properly handle escape sequences deleted by check_termcode().
-Files: src/getchar.c, src/misc1.c, src/term.c, src/proto/term.pro
-
-
-*** ../vim-7.3.430/src/getchar.c 2012-02-05 01:18:41.000000000 +0100
---- src/getchar.c 2012-02-05 22:04:33.000000000 +0100
-***************
-*** 2282,2288 ****
- typebuf.tb_off] == RM_YES))
- && !timedout)
- {
-! keylen = check_termcode(max_mlen + 1, NULL, 0);
-
- /* If no termcode matched but 'pastetoggle'
- * matched partially it's like an incomplete key
---- 2282,2289 ----
- typebuf.tb_off] == RM_YES))
- && !timedout)
- {
-! keylen = check_termcode(max_mlen + 1,
-! NULL, 0, NULL);
-
- /* If no termcode matched but 'pastetoggle'
- * matched partially it's like an incomplete key
-*** ../vim-7.3.430/src/misc1.c 2012-01-10 18:37:53.000000000 +0100
---- src/misc1.c 2012-02-05 21:59:53.000000000 +0100
-***************
-*** 3105,3112 ****
- int
- get_keystroke()
- {
-! #define CBUFLEN 151
-! char_u buf[CBUFLEN];
- int len = 0;
- int n;
- int save_mapped_ctrl_c = mapped_ctrl_c;
---- 3105,3113 ----
- int
- get_keystroke()
- {
-! char_u *buf = NULL;
-! int buflen = 150;
-! int maxlen;
- int len = 0;
- int n;
- int save_mapped_ctrl_c = mapped_ctrl_c;
-***************
-*** 3118,3129 ****
- cursor_on();
- out_flush();
-
- /* First time: blocking wait. Second time: wait up to 100ms for a
-! * terminal code to complete. Leave some room for check_termcode() to
-! * insert a key code into (max 5 chars plus NUL). And
-! * fix_input_buffer() can triple the number of bytes. */
-! n = ui_inchar(buf + len, (CBUFLEN - 6 - len) / 3,
-! len == 0 ? -1L : 100L, 0);
- if (n > 0)
- {
- /* Replace zero and CSI by a special key code. */
---- 3119,3147 ----
- cursor_on();
- out_flush();
-
-+ /* Leave some room for check_termcode() to insert a key code into (max
-+ * 5 chars plus NUL). And fix_input_buffer() can triple the number of
-+ * bytes. */
-+ maxlen = (buflen - 6 - len) / 3;
-+ if (buf == NULL)
-+ buf = alloc(buflen);
-+ else if (maxlen < 10)
-+ {
-+ /* Need some more space. This migth happen when receiving a long
-+ * escape sequence. */
-+ buflen += 100;
-+ buf = vim_realloc(buf, buflen);
-+ maxlen = (buflen - 6 - len) / 3;
-+ }
-+ if (buf == NULL)
-+ {
-+ do_outofmem_msg((long_u)buflen);
-+ return ESC; /* panic! */
-+ }
-+
- /* First time: blocking wait. Second time: wait up to 100ms for a
-! * terminal code to complete. */
-! n = ui_inchar(buf + len, maxlen, len == 0 ? -1L : 100L, 0);
- if (n > 0)
- {
- /* Replace zero and CSI by a special key code. */
-***************
-*** 3135,3141 ****
- ++waited; /* keep track of the waiting time */
-
- /* Incomplete termcode and not timed out yet: get more characters */
-! if ((n = check_termcode(1, buf, len)) < 0
- && (!p_ttimeout || waited * 100L < (p_ttm < 0 ? p_tm : p_ttm)))
- continue;
-
---- 3153,3159 ----
- ++waited; /* keep track of the waiting time */
-
- /* Incomplete termcode and not timed out yet: get more characters */
-! if ((n = check_termcode(1, buf, buflen, &len)) < 0
- && (!p_ttimeout || waited * 100L < (p_ttm < 0 ? p_tm : p_ttm)))
- continue;
-
-***************
-*** 3203,3209 ****
- {
- if (MB_BYTE2LEN(n) > len)
- continue; /* more bytes to get */
-! buf[len >= CBUFLEN ? CBUFLEN - 1 : len] = NUL;
- n = (*mb_ptr2char)(buf);
- }
- #endif
---- 3221,3227 ----
- {
- if (MB_BYTE2LEN(n) > len)
- continue; /* more bytes to get */
-! buf[len >= buflen ? buflen - 1 : len] = NUL;
- n = (*mb_ptr2char)(buf);
- }
- #endif
-***************
-*** 3213,3218 ****
---- 3231,3237 ----
- #endif
- break;
- }
-+ vim_free(buf);
-
- mapped_ctrl_c = save_mapped_ctrl_c;
- return n;
-*** ../vim-7.3.430/src/term.c 2012-01-26 13:01:54.000000000 +0100
---- src/term.c 2012-02-05 21:45:09.000000000 +0100
-***************
-*** 3785,3798 ****
- * With a match, the match is removed, the replacement code is inserted in
- * typebuf.tb_buf[] and the number of characters in typebuf.tb_buf[] is
- * returned.
-! * When "buf" is not NULL, it is used instead of typebuf.tb_buf[]. "buflen" is
-! * then the length of the string in buf[].
- */
- int
-! check_termcode(max_offset, buf, buflen)
- int max_offset;
- char_u *buf;
-! int buflen;
- {
- char_u *tp;
- char_u *p;
---- 3785,3800 ----
- * With a match, the match is removed, the replacement code is inserted in
- * typebuf.tb_buf[] and the number of characters in typebuf.tb_buf[] is
- * returned.
-! * When "buf" is not NULL, buf[bufsize] is used instead of typebuf.tb_buf[].
-! * "buflen" is then the length of the string in buf[] and is updated for
-! * inserts and deletes.
- */
- int
-! check_termcode(max_offset, buf, bufsize, buflen)
- int max_offset;
- char_u *buf;
-! int bufsize;
-! int *buflen;
- {
- char_u *tp;
- char_u *p;
-***************
-*** 3864,3873 ****
- }
- else
- {
-! if (offset >= buflen)
- break;
- tp = buf + offset;
-! len = buflen - offset;
- }
-
- /*
---- 3866,3875 ----
- }
- else
- {
-! if (offset >= *buflen)
- break;
- tp = buf + offset;
-! len = *buflen - offset;
- }
-
- /*
-***************
-*** 5002,5013 ****
- if (extra < 0)
- /* remove matched characters */
- mch_memmove(buf + offset, buf + offset - extra,
-! (size_t)(buflen + offset + extra));
- else if (extra > 0)
-! /* insert the extra space we need */
- mch_memmove(buf + offset + extra, buf + offset,
-! (size_t)(buflen - offset));
- mch_memmove(buf + offset, string, (size_t)new_slen);
- }
- return retval == 0 ? (len + extra + offset) : retval;
- }
---- 5004,5021 ----
- if (extra < 0)
- /* remove matched characters */
- mch_memmove(buf + offset, buf + offset - extra,
-! (size_t)(*buflen + offset + extra));
- else if (extra > 0)
-! {
-! /* Insert the extra space we need. If there is insufficient
-! * space return -1. */
-! if (*buflen + extra + new_slen >= bufsize)
-! return -1;
- mch_memmove(buf + offset + extra, buf + offset,
-! (size_t)(*buflen - offset));
-! }
- mch_memmove(buf + offset, string, (size_t)new_slen);
-+ *buflen = *buflen + extra + new_slen;
- }
- return retval == 0 ? (len + extra + offset) : retval;
- }
-*** ../vim-7.3.430/src/proto/term.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/term.pro 2012-02-05 21:45:16.000000000 +0100
-***************
-*** 50,56 ****
- char_u *get_termcode __ARGS((int i));
- void del_termcode __ARGS((char_u *name));
- void set_mouse_topline __ARGS((win_T *wp));
-! int check_termcode __ARGS((int max_offset, char_u *buf, int buflen));
- char_u *replace_termcodes __ARGS((char_u *from, char_u **bufp, int from_part, int do_lt, int special));
- int find_term_bykeys __ARGS((char_u *src));
- void show_termcodes __ARGS((void));
---- 50,56 ----
- char_u *get_termcode __ARGS((int i));
- void del_termcode __ARGS((char_u *name));
- void set_mouse_topline __ARGS((win_T *wp));
-! int check_termcode __ARGS((int max_offset, char_u *buf, int bufsize, int *buflen));
- char_u *replace_termcodes __ARGS((char_u *from, char_u **bufp, int from_part, int do_lt, int special));
- int find_term_bykeys __ARGS((char_u *src));
- void show_termcodes __ARGS((void));
-*** ../vim-7.3.430/src/version.c 2012-02-05 20:08:30.000000000 +0100
---- src/version.c 2012-02-05 22:03:43.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 431,
- /**/
-
---
-"You know, it's at times like this when I'm trapped in a Vogon airlock with
-a man from Betelgeuse and about to die of asphyxiation in deep space that I
-really wish I'd listened to what my mother told me when I was young!"
-"Why, what did she tell you?"
-"I don't know, I didn't listen!"
- -- Arthur Dent and Ford Prefect in Douglas Adams'
- "The Hitchhiker's Guide to the Galaxy"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.432 b/source/ap/vim/patches/7.3.432
deleted file mode 100644
index c01dd59a0..000000000
--- a/source/ap/vim/patches/7.3.432
+++ /dev/null
@@ -1,228 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.432
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.432
-Problem: ACLs are not supported for ZFS or NFSv4 on Solaris.
-Solution: Add configure check and code. (Danek Duvall)
-Files: src/configure.in, src/auto/configure, src/config.h.in,
- src/os_unix.c
-
-
-*** ../vim-7.3.431/src/configure.in 2011-12-14 20:51:19.000000000 +0100
---- src/configure.in 2012-02-05 22:40:22.000000000 +0100
-***************
-*** 3106,3111 ****
---- 3106,3112 ----
-
- dnl Link with -lposix1e for ACL stuff; if not found, try -lacl for SGI
- dnl when -lacl works, also try to use -lattr (required for Debian).
-+ dnl On Solaris, use the acl_get/set functions in libsec, if present.
- AC_MSG_CHECKING(--disable-acl argument)
- AC_ARG_ENABLE(acl,
- [ --disable-acl Don't check for ACL support.],
-***************
-*** 3128,3133 ****
---- 3129,3135 ----
- AC_MSG_RESULT(yes); AC_DEFINE(HAVE_POSIX_ACL),
- AC_MSG_RESULT(no))
-
-+ AC_CHECK_LIB(sec, acl_get, [LIBS="$LIBS -lsec"; AC_DEFINE(HAVE_SOLARIS_ZFS_ACL)],
- AC_MSG_CHECKING(for Solaris ACL support)
- AC_TRY_LINK([
- #ifdef HAVE_SYS_ACL_H
-***************
-*** 3135,3141 ****
- #endif], [acl("foo", GETACLCNT, 0, NULL);
- ],
- AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOLARIS_ACL),
-! AC_MSG_RESULT(no))
-
- AC_MSG_CHECKING(for AIX ACL support)
- AC_TRY_LINK([
---- 3137,3143 ----
- #endif], [acl("foo", GETACLCNT, 0, NULL);
- ],
- AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOLARIS_ACL),
-! AC_MSG_RESULT(no)))
-
- AC_MSG_CHECKING(for AIX ACL support)
- AC_TRY_LINK([
-*** ../vim-7.3.431/src/auto/configure 2011-12-14 20:51:19.000000000 +0100
---- src/auto/configure 2012-02-05 22:41:01.000000000 +0100
-***************
-*** 11328,11334 ****
- rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Solaris ACL support" >&5
- $as_echo_n "checking for Solaris ACL support... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
---- 11328,11374 ----
- rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get in -lsec" >&5
-! $as_echo_n "checking for acl_get in -lsec... " >&6; }
-! if test "${ac_cv_lib_sec_acl_get+set}" = set; then :
-! $as_echo_n "(cached) " >&6
-! else
-! ac_check_lib_save_LIBS=$LIBS
-! LIBS="-lsec $LIBS"
-! cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-! /* end confdefs.h. */
-!
-! /* 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 acl_get ();
-! int
-! main ()
-! {
-! return acl_get ();
-! ;
-! return 0;
-! }
-! _ACEOF
-! if ac_fn_c_try_link "$LINENO"; then :
-! ac_cv_lib_sec_acl_get=yes
-! else
-! ac_cv_lib_sec_acl_get=no
-! fi
-! rm -f core conftest.err conftest.$ac_objext \
-! conftest$ac_exeext conftest.$ac_ext
-! LIBS=$ac_check_lib_save_LIBS
-! fi
-! { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sec_acl_get" >&5
-! $as_echo "$ac_cv_lib_sec_acl_get" >&6; }
-! if test "x$ac_cv_lib_sec_acl_get" = x""yes; then :
-! LIBS="$LIBS -lsec"; $as_echo "#define HAVE_SOLARIS_ZFS_ACL 1" >>confdefs.h
-!
-! else
-! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Solaris ACL support" >&5
- $as_echo_n "checking for Solaris ACL support... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-***************
-*** 11355,11360 ****
---- 11395,11402 ----
- fi
- rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-+ fi
-+
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AIX ACL support" >&5
- $as_echo_n "checking for AIX ACL support... " >&6; }
-*** ../vim-7.3.431/src/config.h.in 2011-09-02 12:27:20.000000000 +0200
---- src/config.h.in 2012-02-05 22:40:22.000000000 +0100
-***************
-*** 363,368 ****
---- 363,369 ----
-
- /* Define if you want to add support for ACL */
- #undef HAVE_POSIX_ACL
-+ #undef HAVE_SOLARIS_ZFS_ACL
- #undef HAVE_SOLARIS_ACL
- #undef HAVE_AIX_ACL
-
-*** ../vim-7.3.431/src/os_unix.c 2012-01-10 22:26:12.000000000 +0100
---- src/os_unix.c 2012-02-05 22:40:22.000000000 +0100
-***************
-*** 2746,2751 ****
---- 2746,2758 ----
- #ifdef HAVE_POSIX_ACL
- ret = (vim_acl_T)acl_get_file((char *)fname, ACL_TYPE_ACCESS);
- #else
-+ #ifdef HAVE_SOLARIS_ZFS_ACL
-+ acl_t *aclent;
-+
-+ if (acl_get((char *)fname, 0, &aclent) < 0)
-+ return NULL;
-+ ret = (vim_acl_T)aclent;
-+ #else
- #ifdef HAVE_SOLARIS_ACL
- vim_acl_solaris_T *aclent;
-
-***************
-*** 2791,2796 ****
---- 2798,2804 ----
- ret = (vim_acl_T)aclent;
- #endif /* HAVE_AIX_ACL */
- #endif /* HAVE_SOLARIS_ACL */
-+ #endif /* HAVE_SOLARIS_ZFS_ACL */
- #endif /* HAVE_POSIX_ACL */
- return ret;
- }
-***************
-*** 2808,2813 ****
---- 2816,2824 ----
- #ifdef HAVE_POSIX_ACL
- acl_set_file((char *)fname, ACL_TYPE_ACCESS, (acl_t)aclent);
- #else
-+ #ifdef HAVE_SOLARIS_ZFS_ACL
-+ acl_set((char *)fname, (acl_t *)aclent);
-+ #else
- #ifdef HAVE_SOLARIS_ACL
- acl((char *)fname, SETACL, ((vim_acl_solaris_T *)aclent)->acl_cnt,
- ((vim_acl_solaris_T *)aclent)->acl_entry);
-***************
-*** 2816,2821 ****
---- 2827,2833 ----
- chacl((char *)fname, aclent, ((struct acl *)aclent)->acl_len);
- #endif /* HAVE_AIX_ACL */
- #endif /* HAVE_SOLARIS_ACL */
-+ #endif /* HAVE_SOLARIS_ZFS_ACL */
- #endif /* HAVE_POSIX_ACL */
- }
-
-***************
-*** 2828,2833 ****
---- 2840,2848 ----
- #ifdef HAVE_POSIX_ACL
- acl_free((acl_t)aclent);
- #else
-+ #ifdef HAVE_SOLARIS_ZFS_ACL
-+ acl_free((acl_t *)aclent);
-+ #else
- #ifdef HAVE_SOLARIS_ACL
- free(((vim_acl_solaris_T *)aclent)->acl_entry);
- free(aclent);
-***************
-*** 2836,2841 ****
---- 2851,2857 ----
- free(aclent);
- #endif /* HAVE_AIX_ACL */
- #endif /* HAVE_SOLARIS_ACL */
-+ #endif /* HAVE_SOLARIS_ZFS_ACL */
- #endif /* HAVE_POSIX_ACL */
- }
- #endif
-*** ../vim-7.3.431/src/version.c 2012-02-05 22:05:44.000000000 +0100
---- src/version.c 2012-02-05 22:44:10.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 432,
- /**/
-
---
-If you put 7 of the most talented OSS developers in a room for a week
-and asked them to fix a bug in a spreadsheet program, in 1 week
-you'd have 2 new mail readers and a text-based web browser.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.433 b/source/ap/vim/patches/7.3.433
deleted file mode 100644
index bb83828ff..000000000
--- a/source/ap/vim/patches/7.3.433
+++ /dev/null
@@ -1,92 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.433
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.433
-Problem: Using continued lines in a Vim script can be slow.
-Solution: Instead of reallocating for every line use a growarray. (Yasuhiro
- Matsumoto)
-Files: src/ex_cmds2.c
-
-
-*** ../vim-7.3.432/src/ex_cmds2.c 2012-02-04 21:57:44.000000000 +0100
---- src/ex_cmds2.c 2012-02-05 23:06:31.000000000 +0100
-***************
-*** 3439,3460 ****
- {
- /* compensate for the one line read-ahead */
- --sourcing_lnum;
-! for (;;)
- {
-! sp->nextline = get_one_sourceline(sp);
-! if (sp->nextline == NULL)
-! break;
-! p = skipwhite(sp->nextline);
-! if (*p != '\\')
-! break;
-! s = alloc((unsigned)(STRLEN(line) + STRLEN(p)));
-! if (s == NULL) /* out of memory */
-! break;
-! STRCPY(s, line);
-! STRCAT(s, p + 1);
- vim_free(line);
-! line = s;
-! vim_free(sp->nextline);
- }
- }
-
---- 3439,3470 ----
- {
- /* compensate for the one line read-ahead */
- --sourcing_lnum;
-!
-! /* Get the next line and concatenate it when it starts with a
-! * backslash. We always need to read the next line, keep it in
-! * sp->nextline. */
-! sp->nextline = get_one_sourceline(sp);
-! if (sp->nextline != NULL && *(p = skipwhite(sp->nextline)) == '\\')
- {
-! garray_T ga;
-!
-! ga_init2(&ga, (int)sizeof(char_u), 200);
-! ga_concat(&ga, line);
-! ga_concat(&ga, p + 1);
-! for (;;)
-! {
-! vim_free(sp->nextline);
-! sp->nextline = get_one_sourceline(sp);
-! if (sp->nextline == NULL)
-! break;
-! p = skipwhite(sp->nextline);
-! if (*p != '\\')
-! break;
-! ga_concat(&ga, p + 1);
-! }
-! ga_append(&ga, NUL);
- vim_free(line);
-! line = ga.ga_data;
- }
- }
-
-*** ../vim-7.3.432/src/version.c 2012-02-05 22:51:27.000000000 +0100
---- src/version.c 2012-02-05 23:09:21.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 433,
- /**/
-
---
-Due knot trussed yore spell chequer two fined awl miss steaks.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.434 b/source/ap/vim/patches/7.3.434
deleted file mode 100644
index 52c14b90d..000000000
--- a/source/ap/vim/patches/7.3.434
+++ /dev/null
@@ -1,233 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.434
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.434
-Problem: Using join() can be slow.
-Solution: Compute the size of the result before allocation to avoid a lot of
- allocations and copies. (Taro Muraoka)
-Files: src/eval.c
-
-
-*** ../vim-7.3.433/src/eval.c 2012-02-05 00:39:14.000000000 +0100
---- src/eval.c 2012-02-06 00:05:31.000000000 +0100
-***************
-*** 442,447 ****
---- 442,448 ----
- static list_T *list_copy __ARGS((list_T *orig, int deep, int copyID));
- static void list_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2));
- static char_u *list2string __ARGS((typval_T *tv, int copyID));
-+ static int list_join_inner __ARGS((garray_T *gap, list_T *l, char_u *sep, int echo_style, int copyID, garray_T *join_gap));
- static int list_join __ARGS((garray_T *gap, list_T *l, char_u *sep, int echo, int copyID));
- static int free_unref_items __ARGS((int copyID));
- static void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID));
-***************
-*** 6571,6617 ****
- return (char_u *)ga.ga_data;
- }
-
-! /*
-! * Join list "l" into a string in "*gap", using separator "sep".
-! * When "echo_style" is TRUE use String as echoed, otherwise as inside a List.
-! * Return FAIL or OK.
-! */
- static int
-! list_join(gap, l, sep, echo_style, copyID)
-! garray_T *gap;
- list_T *l;
- char_u *sep;
- int echo_style;
- int copyID;
- {
- int first = TRUE;
- char_u *tofree;
- char_u numbuf[NUMBUFLEN];
- listitem_T *item;
- char_u *s;
-
- for (item = l->lv_first; item != NULL && !got_int; item = item->li_next)
- {
-- if (first)
-- first = FALSE;
-- else
-- ga_concat(gap, sep);
--
- if (echo_style)
- s = echo_string(&item->li_tv, &tofree, numbuf, copyID);
- else
- s = tv2string(&item->li_tv, &tofree, numbuf, copyID);
-- if (s != NULL)
-- ga_concat(gap, s);
-- vim_free(tofree);
- if (s == NULL)
- return FAIL;
- line_breakcheck();
- }
- return OK;
- }
-
- /*
- * Garbage collection for lists and dictionaries.
- *
- * We use reference counts to be able to free most items right away when they
---- 6572,6690 ----
- return (char_u *)ga.ga_data;
- }
-
-! typedef struct join_S {
-! char_u *s;
-! char_u *tofree;
-! } join_T;
-!
- static int
-! list_join_inner(gap, l, sep, echo_style, copyID, join_gap)
-! garray_T *gap; /* to store the result in */
- list_T *l;
- char_u *sep;
- int echo_style;
- int copyID;
-+ garray_T *join_gap; /* to keep each list item string */
- {
-+ int i;
-+ join_T *p;
-+ int len;
-+ int sumlen = 0;
- int first = TRUE;
- char_u *tofree;
- char_u numbuf[NUMBUFLEN];
- listitem_T *item;
- char_u *s;
-
-+ /* Stringify each item in the list. */
- for (item = l->lv_first; item != NULL && !got_int; item = item->li_next)
- {
- if (echo_style)
- s = echo_string(&item->li_tv, &tofree, numbuf, copyID);
- else
- s = tv2string(&item->li_tv, &tofree, numbuf, copyID);
- if (s == NULL)
- return FAIL;
-+
-+ len = (int)STRLEN(s);
-+ sumlen += len;
-+
-+ ga_grow(join_gap, 1);
-+ p = ((join_T *)join_gap->ga_data) + (join_gap->ga_len++);
-+ if (tofree != NULL || s != numbuf)
-+ {
-+ p->s = s;
-+ p->tofree = tofree;
-+ }
-+ else
-+ {
-+ p->s = vim_strnsave(s, len);
-+ p->tofree = p->s;
-+ }
-+
-+ line_breakcheck();
-+ }
-+
-+ /* Allocate result buffer with its total size, avoid re-allocation and
-+ * multiple copy operations. Add 2 for a tailing ']' and NUL. */
-+ if (join_gap->ga_len >= 2)
-+ sumlen += (int)STRLEN(sep) * (join_gap->ga_len - 1);
-+ if (ga_grow(gap, sumlen + 2) == FAIL)
-+ return FAIL;
-+
-+ for (i = 0; i < join_gap->ga_len && !got_int; ++i)
-+ {
-+ if (first)
-+ first = FALSE;
-+ else
-+ ga_concat(gap, sep);
-+ p = ((join_T *)join_gap->ga_data) + i;
-+
-+ if (p->s != NULL)
-+ ga_concat(gap, p->s);
- line_breakcheck();
- }
-+
- return OK;
- }
-
- /*
-+ * Join list "l" into a string in "*gap", using separator "sep".
-+ * When "echo_style" is TRUE use String as echoed, otherwise as inside a List.
-+ * Return FAIL or OK.
-+ */
-+ static int
-+ list_join(gap, l, sep, echo_style, copyID)
-+ garray_T *gap;
-+ list_T *l;
-+ char_u *sep;
-+ int echo_style;
-+ int copyID;
-+ {
-+ garray_T join_ga;
-+ int retval;
-+ join_T *p;
-+ int i;
-+
-+ ga_init2(&join_ga, (int)sizeof(join_T), l->lv_len);
-+ retval = list_join_inner(gap, l, sep, echo_style, copyID, &join_ga);
-+
-+ /* Dispose each item in join_ga. */
-+ if (join_ga.ga_data != NULL)
-+ {
-+ p = (join_T *)join_ga.ga_data;
-+ for (i = 0; i < join_ga.ga_len; ++i)
-+ {
-+ vim_free(p->tofree);
-+ ++p;
-+ }
-+ ga_clear(&join_ga);
-+ }
-+
-+ return retval;
-+ }
-+
-+ /*
- * Garbage collection for lists and dictionaries.
- *
- * We use reference counts to be able to free most items right away when they
-***************
-*** 13406,13412 ****
- char_u *rhs;
- int mode;
- int abbr = FALSE;
-! int get_dict = FALSE;
- mapblock_T *mp;
- int buffer_local;
-
---- 13479,13485 ----
- char_u *rhs;
- int mode;
- int abbr = FALSE;
-! int get_dict = FALSE;
- mapblock_T *mp;
- int buffer_local;
-
-*** ../vim-7.3.433/src/version.c 2012-02-05 23:10:25.000000000 +0100
---- src/version.c 2012-02-06 00:10:23.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 434,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-30. Even though you died last week, you've managed to retain OPS on your
- favorite IRC channel.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.435 b/source/ap/vim/patches/7.3.435
deleted file mode 100644
index e1b13709a..000000000
--- a/source/ap/vim/patches/7.3.435
+++ /dev/null
@@ -1,63 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.435
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.435
-Problem: Compiler warning for unused variable.
-Solution: Move the variable inside #ifdef.
-Files: src/ex_cmds2.c
-
-
-*** ../vim-7.3.434/src/ex_cmds2.c 2012-02-05 23:10:25.000000000 +0100
---- src/ex_cmds2.c 2012-02-06 06:16:28.000000000 +0100
-***************
-*** 3400,3406 ****
- {
- struct source_cookie *sp = (struct source_cookie *)cookie;
- char_u *line;
-! char_u *p, *s;
-
- #ifdef FEAT_EVAL
- /* If breakpoints have been added/deleted need to check for it. */
---- 3400,3406 ----
- {
- struct source_cookie *sp = (struct source_cookie *)cookie;
- char_u *line;
-! char_u *p;
-
- #ifdef FEAT_EVAL
- /* If breakpoints have been added/deleted need to check for it. */
-***************
-*** 3471,3476 ****
---- 3471,3478 ----
- #ifdef FEAT_MBYTE
- if (line != NULL && sp->conv.vc_type != CONV_NONE)
- {
-+ char_u *s;
-+
- /* Convert the encoding of the script line. */
- s = string_convert(&sp->conv, line, NULL);
- if (s != NULL)
-*** ../vim-7.3.434/src/version.c 2012-02-06 00:13:16.000000000 +0100
---- src/version.c 2012-02-11 20:38:49.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 435,
- /**/
-
---
-Light travels faster than sound. This is why some people
-appear bright until you hear them speak
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.436 b/source/ap/vim/patches/7.3.436
deleted file mode 100644
index 777371ca9..000000000
--- a/source/ap/vim/patches/7.3.436
+++ /dev/null
@@ -1,111 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.436
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.436
-Problem: Compiler warnings for types on Windows.
-Solution: Add type casts. (Mike Williams)
-Files: src/eval.c
-
-
-*** ../vim-7.3.435/src/eval.c 2012-02-06 00:13:16.000000000 +0100
---- src/eval.c 2012-02-11 20:38:16.000000000 +0100
-***************
-*** 14462,14468 ****
- --prevlen;
- }
- if (prevlen == 0)
-! s = vim_strnsave(start, len);
- else
- {
- /* Change "prev" buffer to be the right size. This way
---- 14462,14468 ----
- --prevlen;
- }
- if (prevlen == 0)
-! s = vim_strnsave(start, (int)len);
- else
- {
- /* Change "prev" buffer to be the right size. This way
-***************
-*** 14529,14535 ****
-
- if (dest < buf)
- {
-! adjust_prevlen = buf - dest; /* must be 1 or 2 */
- dest = buf;
- }
- if (readlen > p - buf + 1)
---- 14529,14535 ----
-
- if (dest < buf)
- {
-! adjust_prevlen = (int)(buf - dest); /* must be 1 or 2 */
- dest = buf;
- }
- if (readlen > p - buf + 1)
-***************
-*** 14558,14568 ****
- * small, to avoid repeatedly 'allocing' large and
- * 'reallocing' small. */
- if (prevsize == 0)
-! prevsize = p - start;
- else
- {
- long grow50pc = (prevsize * 3) / 2;
-! long growmin = (p - start) * 2 + prevlen;
- prevsize = grow50pc > growmin ? grow50pc : growmin;
- }
- if ((newprev = vim_realloc(prev, prevsize)) == NULL)
---- 14558,14568 ----
- * small, to avoid repeatedly 'allocing' large and
- * 'reallocing' small. */
- if (prevsize == 0)
-! prevsize = (long)(p - start);
- else
- {
- long grow50pc = (prevsize * 3) / 2;
-! long growmin = (long)((p - start) * 2 + prevlen);
- prevsize = grow50pc > growmin ? grow50pc : growmin;
- }
- if ((newprev = vim_realloc(prev, prevsize)) == NULL)
-***************
-*** 14575,14581 ****
- }
- /* Add the line part to end of "prev". */
- mch_memmove(prev + prevlen, start, p - start);
-! prevlen += p - start;
- }
- } /* while */
-
---- 14575,14581 ----
- }
- /* Add the line part to end of "prev". */
- mch_memmove(prev + prevlen, start, p - start);
-! prevlen += (long)(p - start);
- }
- } /* while */
-
-*** ../vim-7.3.435/src/version.c 2012-02-11 20:40:49.000000000 +0100
---- src/version.c 2012-02-11 20:43:18.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 436,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-39. You move into a new house and decide to Netscape before you landscape.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.437 b/source/ap/vim/patches/7.3.437
deleted file mode 100644
index 889efe746..000000000
--- a/source/ap/vim/patches/7.3.437
+++ /dev/null
@@ -1,73 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.437
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.437
-Problem: Continue looping inside FOR_ALL_TAB_WINDOWS even when already done.
-Solution: Use goto instead of break. (Hirohito Higashi)
-Files: src/fileio.c, src/globals.h
-
-
-*** ../vim-7.3.436/src/fileio.c 2011-09-02 11:56:15.000000000 +0200
---- src/fileio.c 2012-02-11 23:40:23.000000000 +0100
-***************
-*** 8898,8907 ****
- if (tp != curtab)
- goto_tabpage_tp(tp);
- win_goto(aucmd_win);
-! break;
- }
- }
- }
-
- /* Remove the window and frame from the tree of frames. */
- (void)winframe_remove(curwin, &dummy, NULL);
---- 8898,8908 ----
- if (tp != curtab)
- goto_tabpage_tp(tp);
- win_goto(aucmd_win);
-! goto win_found;
- }
- }
- }
-+ win_found:
-
- /* Remove the window and frame from the tree of frames. */
- (void)winframe_remove(curwin, &dummy, NULL);
-*** ../vim-7.3.436/src/globals.h 2012-02-04 23:34:57.000000000 +0100
---- src/globals.h 2012-02-11 23:43:45.000000000 +0100
-***************
-*** 535,540 ****
---- 535,544 ----
- EXTERN win_T *prevwin INIT(= NULL); /* previous window */
- # define W_NEXT(wp) ((wp)->w_next)
- # define FOR_ALL_WINDOWS(wp) for (wp = firstwin; wp != NULL; wp = wp->w_next)
-+ /*
-+ * When using this macro "break" only breaks out of the inner loop. Use "goto"
-+ * to break out of the tabpage loop.
-+ */
- # define FOR_ALL_TAB_WINDOWS(tp, wp) \
- for ((tp) = first_tabpage; (tp) != NULL; (tp) = (tp)->tp_next) \
- for ((wp) = ((tp) == curtab) \
-*** ../vim-7.3.436/src/version.c 2012-02-11 20:44:01.000000000 +0100
---- src/version.c 2012-02-11 23:40:47.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 437,
- /**/
-
---
-The future isn't what it used to be.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.438 b/source/ap/vim/patches/7.3.438
deleted file mode 100644
index 94786d7cc..000000000
--- a/source/ap/vim/patches/7.3.438
+++ /dev/null
@@ -1,126 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.438
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.438
-Problem: There is no way to avoid ":doautoall" reading modelines.
-Solution: Add the <nomodeline> argument. Adjust documentation.
-Files: src/fileio.c, runtime/doc/autocmd.txt
-
-
-*** ../vim-7.3.437/src/fileio.c 2012-02-11 23:45:30.000000000 +0100
---- src/fileio.c 2012-02-12 00:08:17.000000000 +0100
-***************
-*** 8739,8744 ****
---- 8739,8752 ----
- int retval;
- aco_save_T aco;
- buf_T *buf;
-+ char_u *arg = eap->arg;
-+ int call_do_modelines = TRUE;
-+
-+ if (STRNCMP(arg, "<nomodeline>", 12) == 0)
-+ {
-+ call_do_modelines = FALSE;
-+ arg = skipwhite(arg + 12);
-+ }
-
- /*
- * This is a bit tricky: For some commands curwin->w_buffer needs to be
-***************
-*** 8755,8765 ****
- aucmd_prepbuf(&aco, buf);
-
- /* execute the autocommands for this buffer */
-! retval = do_doautocmd(eap->arg, FALSE);
-
-! /* Execute the modeline settings, but don't set window-local
-! * options if we are using the current window for another buffer. */
-! do_modelines(curwin == aucmd_win ? OPT_NOWIN : 0);
-
- /* restore the current window */
- aucmd_restbuf(&aco);
---- 8763,8777 ----
- aucmd_prepbuf(&aco, buf);
-
- /* execute the autocommands for this buffer */
-! retval = do_doautocmd(arg, FALSE);
-
-! if (call_do_modelines)
-! {
-! /* Execute the modeline settings, but don't set window-local
-! * options if we are using the current window for another
-! * buffer. */
-! do_modelines(curwin == aucmd_win ? OPT_NOWIN : 0);
-! }
-
- /* restore the current window */
- aucmd_restbuf(&aco);
-*** ../vim-7.3.437/runtime/doc/autocmd.txt 2011-05-19 17:25:36.000000000 +0200
---- runtime/doc/autocmd.txt 2012-02-12 00:03:45.000000000 +0100
-***************
-*** 1065,1077 ****
- autocommands for that group. Note: if you use an
- undefined group name, Vim gives you an error message.
-
-- After applying the autocommands the modelines are
-- processed, so that their settings overrule the
-- settings from autocommands, like what happens when
-- editing a file.
--
- *:doautoa* *:doautoall*
-! :doautoa[ll] [group] {event} [fname]
- Like ":doautocmd", but apply the autocommands to each
- loaded buffer. Note that [fname] is used to select
- the autocommands, not the buffers to which they are
---- 1073,1080 ----
- autocommands for that group. Note: if you use an
- undefined group name, Vim gives you an error message.
-
- *:doautoa* *:doautoall*
-! :doautoa[ll] [<nomodeline>] [group] {event} [fname]
- Like ":doautocmd", but apply the autocommands to each
- loaded buffer. Note that [fname] is used to select
- the autocommands, not the buffers to which they are
-***************
-*** 1082,1087 ****
---- 1085,1096 ----
- This command is intended for autocommands that set
- options, change highlighting, and things like that.
-
-+ After applying the autocommands the modelines are
-+ processed, so that their settings overrule the
-+ settings from autocommands, like what happens when
-+ editing a file. This is skipped when the <nomodeline>
-+ argument is present.
-+
- ==============================================================================
- 10. Using autocommands *autocmd-use*
-
-*** ../vim-7.3.437/src/version.c 2012-02-11 23:45:30.000000000 +0100
---- src/version.c 2012-02-12 00:16:04.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 438,
- /**/
-
---
-"Oh, no! NOT the Spanish Inquisition!"
-"NOBODY expects the Spanish Inquisition!!!"
- -- Monty Python sketch --
-"Oh, no! NOT another option!"
-"EVERYBODY expects another option!!!"
- -- Discussion in vim-dev mailing list --
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.439 b/source/ap/vim/patches/7.3.439
deleted file mode 100644
index 63d8f693f..000000000
--- a/source/ap/vim/patches/7.3.439
+++ /dev/null
@@ -1,87 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.439
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.439
-Problem: Compiler warnings to size casts in Perl interface.
-Solution: Use XS macros. (James McCoy)
-Files: src/if_perl.xs, src/typemap
-
-
-*** ../vim-7.3.438/src/if_perl.xs 2011-09-07 18:47:19.000000000 +0200
---- src/if_perl.xs 2012-02-12 00:28:52.000000000 +0100
-***************
-*** 611,617 ****
- if (ptr->w_perl_private == NULL)
- {
- ptr->w_perl_private = newSV(0);
-! sv_setiv(ptr->w_perl_private, (IV)ptr);
- }
- else
- SvREFCNT_inc(ptr->w_perl_private);
---- 611,617 ----
- if (ptr->w_perl_private == NULL)
- {
- ptr->w_perl_private = newSV(0);
-! sv_setiv(ptr->w_perl_private, PTR2IV(ptr));
- }
- else
- SvREFCNT_inc(ptr->w_perl_private);
-***************
-*** 629,635 ****
- if (ptr->b_perl_private == NULL)
- {
- ptr->b_perl_private = newSV(0);
-! sv_setiv(ptr->b_perl_private, (IV)ptr);
- }
- else
- SvREFCNT_inc(ptr->b_perl_private);
---- 629,635 ----
- if (ptr->b_perl_private == NULL)
- {
- ptr->b_perl_private = newSV(0);
-! sv_setiv(ptr->b_perl_private, PTR2IV(ptr));
- }
- else
- SvREFCNT_inc(ptr->b_perl_private);
-*** ../vim-7.3.438/src/typemap 2010-08-15 21:57:29.000000000 +0200
---- src/typemap 2012-02-12 00:28:52.000000000 +0100
-***************
-*** 6,12 ****
- T_VIOBJNOMUNGE
- if (sv_isa($arg, \"${ntype}\")) {
- IV tmp = SvIV((SV*)SvRV($arg));
-! $var = ($type) tmp;
- if (!tmp)
- croak(\"$ntype no longer exists\");
- }
---- 6,12 ----
- T_VIOBJNOMUNGE
- if (sv_isa($arg, \"${ntype}\")) {
- IV tmp = SvIV((SV*)SvRV($arg));
-! $var = INT2PTR($type, tmp);
- if (!tmp)
- croak(\"$ntype no longer exists\");
- }
-*** ../vim-7.3.438/src/version.c 2012-02-12 00:18:54.000000000 +0100
---- src/version.c 2012-02-12 00:31:18.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 439,
- /**/
-
---
-Microsoft is to software what McDonalds is to gourmet cooking
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.440 b/source/ap/vim/patches/7.3.440
deleted file mode 100644
index 39313b0f6..000000000
--- a/source/ap/vim/patches/7.3.440
+++ /dev/null
@@ -1,211 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.440
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.440
-Problem: Vim does not support UTF8_STRING for the X selection.
-Solution: Add UTF8_STRING atom support. (Alex Efros) Use it only when
- 'encoding' is set to Unicode.
-Files: src/ui.c
-
-
-*** ../vim-7.3.439/src/ui.c 2012-02-04 21:57:44.000000000 +0100
---- src/ui.c 2012-02-12 01:28:30.000000000 +0100
-***************
-*** 1917,1922 ****
---- 1917,1923 ----
- static Atom vim_atom; /* Vim's own special selection format */
- #ifdef FEAT_MBYTE
- static Atom vimenc_atom; /* Vim's extended selection format */
-+ static Atom utf8_atom;
- #endif
- static Atom compound_text_atom;
- static Atom text_atom;
-***************
-*** 1930,1935 ****
---- 1931,1937 ----
- vim_atom = XInternAtom(dpy, VIM_ATOM_NAME, False);
- #ifdef FEAT_MBYTE
- vimenc_atom = XInternAtom(dpy, VIMENC_ATOM_NAME,False);
-+ utf8_atom = XInternAtom(dpy, "UTF8_STRING", False);
- #endif
- compound_text_atom = XInternAtom(dpy, "COMPOUND_TEXT", False);
- text_atom = XInternAtom(dpy, "TEXT", False);
-***************
-*** 2074,2080 ****
- }
- #endif
-
-! else if (*type == compound_text_atom || (
- #ifdef FEAT_MBYTE
- enc_dbcs != 0 &&
- #endif
---- 2076,2086 ----
- }
- #endif
-
-! else if (*type == compound_text_atom
-! #ifdef FEAT_MBYTE
-! || *type == utf8_atom
-! #endif
-! || (
- #ifdef FEAT_MBYTE
- enc_dbcs != 0 &&
- #endif
-***************
-*** 2128,2134 ****
- #else
- 1
- #endif
-! ; i < 5; i++)
- {
- switch (i)
- {
---- 2134,2140 ----
- #else
- 1
- #endif
-! ; i < 6; i++)
- {
- switch (i)
- {
-***************
-*** 2136,2145 ****
- case 0: type = vimenc_atom; break;
- #endif
- case 1: type = vim_atom; break;
-! case 2: type = compound_text_atom; break;
-! case 3: type = text_atom; break;
- default: type = XA_STRING;
- }
- success = MAYBE;
- XtGetSelectionValue(myShell, cbd->sel_atom, type,
- clip_x11_request_selection_cb, (XtPointer)&success, CurrentTime);
---- 2142,2159 ----
- case 0: type = vimenc_atom; break;
- #endif
- case 1: type = vim_atom; break;
-! #ifdef FEAT_MBYTE
-! case 2: type = utf8_atom; break;
-! #endif
-! case 3: type = compound_text_atom; break;
-! case 4: type = text_atom; break;
- default: type = XA_STRING;
- }
-+ #ifdef FEAT_MBYTE
-+ if (type == utf8_atom && !enc_utf8)
-+ /* Only request utf-8 when 'encoding' is utf8. */
-+ continue;
-+ #endif
- success = MAYBE;
- XtGetSelectionValue(myShell, cbd->sel_atom, type,
- clip_x11_request_selection_cb, (XtPointer)&success, CurrentTime);
-***************
-*** 2230,2247 ****
- {
- Atom *array;
-
-! if ((array = (Atom *)XtMalloc((unsigned)(sizeof(Atom) * 6))) == NULL)
- return False;
- *value = (XtPointer)array;
- i = 0;
-- array[i++] = XA_STRING;
- array[i++] = targets_atom;
- #ifdef FEAT_MBYTE
- array[i++] = vimenc_atom;
- #endif
- array[i++] = vim_atom;
- array[i++] = text_atom;
- array[i++] = compound_text_atom;
- *type = XA_ATOM;
- /* This used to be: *format = sizeof(Atom) * 8; but that caused
- * crashes on 64 bit machines. (Peter Derr) */
---- 2244,2266 ----
- {
- Atom *array;
-
-! if ((array = (Atom *)XtMalloc((unsigned)(sizeof(Atom) * 7))) == NULL)
- return False;
- *value = (XtPointer)array;
- i = 0;
- array[i++] = targets_atom;
- #ifdef FEAT_MBYTE
- array[i++] = vimenc_atom;
- #endif
- array[i++] = vim_atom;
-+ #ifdef FEAT_MBYTE
-+ if (enc_utf8)
-+ array[i++] = utf8_atom;
-+ #endif
-+ array[i++] = XA_STRING;
- array[i++] = text_atom;
- array[i++] = compound_text_atom;
-+
- *type = XA_ATOM;
- /* This used to be: *format = sizeof(Atom) * 8; but that caused
- * crashes on 64 bit machines. (Peter Derr) */
-***************
-*** 2253,2258 ****
---- 2272,2278 ----
- if ( *target != XA_STRING
- #ifdef FEAT_MBYTE
- && *target != vimenc_atom
-+ && *target != utf8_atom
- #endif
- && *target != vim_atom
- && *target != text_atom
-***************
-*** 2282,2294 ****
- return False;
- }
-
-! if (*target == XA_STRING)
- {
- mch_memmove(result, string, (size_t)(*length));
-! *type = XA_STRING;
- }
-! else if (*target == compound_text_atom
-! || *target == text_atom)
- {
- XTextProperty text_prop;
- char *string_nt = (char *)alloc((unsigned)*length + 1);
---- 2302,2317 ----
- return False;
- }
-
-! if (*target == XA_STRING
-! #ifdef FEAT_MBYTE
-! || (*target == utf8_atom && enc_utf8)
-! #endif
-! )
- {
- mch_memmove(result, string, (size_t)(*length));
-! *type = *target;
- }
-! else if (*target == compound_text_atom || *target == text_atom)
- {
- XTextProperty text_prop;
- char *string_nt = (char *)alloc((unsigned)*length + 1);
-*** ../vim-7.3.439/src/version.c 2012-02-12 00:31:47.000000000 +0100
---- src/version.c 2012-02-12 01:34:22.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 440,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-42. Your virtual girlfriend finds a new net sweetheart with a larger bandwidth.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.441 b/source/ap/vim/patches/7.3.441
deleted file mode 100644
index 9a7539b5a..000000000
--- a/source/ap/vim/patches/7.3.441
+++ /dev/null
@@ -1,341 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.441
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.441
-Problem: Newer versions of MzScheme (Racket) require earlier (trampolined)
- initialisation.
-Solution: Call mzscheme_main() early in main(). (Sergey Khorev)
-Files: src/Make_mvc.mak, src/if_mzsch.c, src/main.c,
- src/proto/if_mzsch.pro
-
-
-*** ../vim-7.3.440/src/Make_mvc.mak 2011-09-14 19:01:38.000000000 +0200
---- src/Make_mvc.mak 2012-02-12 01:46:05.000000000 +0100
-***************
-*** 740,745 ****
---- 740,747 ----
- !endif
- !endif
- MZSCHEME_OBJ = $(OUTDIR)\if_mzsch.obj
-+ # increase stack size
-+ MZSCHEME_LIB = $(MZSCHEME_LIB) /STACK:8388608
- !endif
-
- # Perl interface
-*** ../vim-7.3.440/src/if_mzsch.c 2010-11-03 21:59:23.000000000 +0100
---- src/if_mzsch.c 2012-02-12 01:47:31.000000000 +0100
-***************
-*** 31,38 ****
- * depend". */
- #if defined(FEAT_MZSCHEME) || defined(PROTO)
-
-- #include <assert.h>
--
- /* Base data structures */
- #define SCHEME_VIMBUFFERP(obj) SAME_TYPE(SCHEME_TYPE(obj), mz_buffer_type)
- #define SCHEME_VIMWINDOWP(obj) SAME_TYPE(SCHEME_TYPE(obj), mz_window_type)
---- 31,36 ----
-***************
-*** 559,575 ****
- hMzSch = vimLoadLib(sch_dll);
- hMzGC = vimLoadLib(gc_dll);
-
-! if (!hMzSch)
- {
- if (verbose)
-! EMSG2(_(e_loadlib), sch_dll);
- return FAIL;
- }
-
-! if (!hMzGC)
- {
- if (verbose)
-! EMSG2(_(e_loadlib), gc_dll);
- return FAIL;
- }
-
---- 557,573 ----
- hMzSch = vimLoadLib(sch_dll);
- hMzGC = vimLoadLib(gc_dll);
-
-! if (!hMzGC)
- {
- if (verbose)
-! EMSG2(_(e_loadlib), gc_dll);
- return FAIL;
- }
-
-! if (!hMzSch)
- {
- if (verbose)
-! EMSG2(_(e_loadlib), sch_dll);
- return FAIL;
- }
-
-***************
-*** 798,862 ****
- static __declspec(thread) void *tls_space;
- #endif
-
-! void
-! mzscheme_main(void)
- {
- #if MZSCHEME_VERSION_MAJOR >= 500 && defined(WIN32) && defined(USE_THREAD_LOCAL)
- scheme_register_tls_space(&tls_space, 0);
- #endif
-! #if defined(MZ_PRECISE_GC) && MZSCHEME_VERSION_MAJOR >= 400
-! /* use trampoline for precise GC in MzScheme >= 4.x */
-! scheme_main_setup(TRUE, mzscheme_env_main, 0, NULL);
- #else
-! mzscheme_env_main(NULL, 0, NULL);
- #endif
- }
-
- static int
-! mzscheme_env_main(Scheme_Env *env, int argc UNUSED, char **argv UNUSED)
- {
-! /* neither argument nor return values are used */
-! #ifdef MZ_PRECISE_GC
-! # if MZSCHEME_VERSION_MAJOR < 400
-! /*
-! * Starting from version 4.x, embedding applications must use
-! * scheme_main_setup/scheme_main_stack_setup trampolines
-! * rather than setting stack base directly with scheme_set_stack_base
-! */
- Scheme_Object *dummy = NULL;
- MZ_GC_DECL_REG(1);
- MZ_GC_VAR_IN_REG(0, dummy);
-
- stack_base = &__gc_var_stack__;
- # else
-- /* environment has been created by us by Scheme */
-- environment = env;
-- # endif
-- /*
-- * In 4.x, all activities must be performed inside trampoline
-- * so we are forced to initialise GC immediately
-- * This can be postponed in 3.x but I see no point in implementing
-- * a feature which will work in older versions only.
-- * One would better use conservative GC if he needs dynamic MzScheme
-- */
-- mzscheme_init();
-- #else
- int dummy = 0;
- stack_base = (void *)&dummy;
- #endif
-! main_loop(FALSE, FALSE);
-! #if defined(MZ_PRECISE_GC) && MZSCHEME_VERSION_MAJOR < 400
- /* releasing dummy */
- MZ_GC_REG();
- MZ_GC_UNREG();
- #endif
-! return 0;
- }
-
- static void
- startup_mzscheme(void)
- {
-! #if !defined(MZ_PRECISE_GC) || MZSCHEME_VERSION_MAJOR < 400
- scheme_set_stack_base(stack_base, 1);
- #endif
-
---- 796,863 ----
- static __declspec(thread) void *tls_space;
- #endif
-
-! /*
-! * Since version 4.x precise GC requires trampolined startup.
-! * Futures and places in version 5.x need it too.
-! */
-! #if defined(MZ_PRECISE_GC) && MZSCHEME_VERSION_MAJOR >= 400 \
-! || MZSCHEME_VERSION_MAJOR >= 500 && (defined(MZ_USE_FUTURES) || defined(MZ_USE_PLACES))
-! # ifdef DYNAMIC_MZSCHEME
-! # error Precise GC v.4+ or Racket with futures/places do not support dynamic MzScheme
-! # endif
-! # define TRAMPOLINED_MZVIM_STARTUP
-! #endif
-!
-! int
-! mzscheme_main(int argc, char** argv)
- {
- #if MZSCHEME_VERSION_MAJOR >= 500 && defined(WIN32) && defined(USE_THREAD_LOCAL)
- scheme_register_tls_space(&tls_space, 0);
- #endif
-! #ifdef TRAMPOLINED_MZVIM_STARTUP
-! return scheme_main_setup(TRUE, mzscheme_env_main, argc, argv);
- #else
-! return mzscheme_env_main(NULL, argc, argv);
- #endif
- }
-
- static int
-! mzscheme_env_main(Scheme_Env *env, int argc, char **argv)
- {
-! int vim_main_result;
-! #ifdef TRAMPOLINED_MZVIM_STARTUP
-! /* Scheme has created the environment for us */
-! environment = env;
-! #else
-! # ifdef MZ_PRECISE_GC
- Scheme_Object *dummy = NULL;
- MZ_GC_DECL_REG(1);
- MZ_GC_VAR_IN_REG(0, dummy);
-
- stack_base = &__gc_var_stack__;
- # else
- int dummy = 0;
- stack_base = (void *)&dummy;
-+ # endif
- #endif
-!
-! /* mzscheme_main is called as a trampoline from main.
-! * We trampoline into vim_main2
-! * Passing argc, argv through from mzscheme_main
-! */
-! vim_main_result = vim_main2(argc, argv);
-! #if !defined(TRAMPOLINED_MZVIM_STARTUP) && defined(MZ_PRECISE_GC)
- /* releasing dummy */
- MZ_GC_REG();
- MZ_GC_UNREG();
- #endif
-! return vim_main_result;
- }
-
- static void
- startup_mzscheme(void)
- {
-! #ifndef TRAMPOLINED_MZVIM_STARTUP
- scheme_set_stack_base(stack_base, 1);
- #endif
-
-***************
-*** 868,874 ****
- MZ_REGISTER_STATIC(exn_message);
- MZ_REGISTER_STATIC(vim_exn);
-
-! #if !defined(MZ_PRECISE_GC) || MZSCHEME_VERSION_MAJOR < 400
- /* in newer versions of precise GC the initial env has been created */
- environment = scheme_basic_env();
- #endif
---- 869,875 ----
- MZ_REGISTER_STATIC(exn_message);
- MZ_REGISTER_STATIC(vim_exn);
-
-! #ifndef TRAMPOLINED_MZVIM_STARTUP
- /* in newer versions of precise GC the initial env has been created */
- environment = scheme_basic_env();
- #endif
-***************
-*** 3013,3019 ****
- MZ_GC_REG();
-
- tmp = scheme_make_struct_names(exn_name, scheme_null, 0, &nc);
-- assert(nc <= 5);
- mch_memmove(exn_names, tmp, nc * sizeof(Scheme_Object *));
- MZ_GC_CHECK();
-
---- 3014,3019 ----
-*** ../vim-7.3.440/src/main.c 2011-12-08 15:57:54.000000000 +0100
---- src/main.c 2012-02-12 01:49:50.000000000 +0100
-***************
-*** 554,559 ****
---- 554,584 ----
- debug_break_level = params.use_debug_break_level;
- #endif
-
-+ #ifdef FEAT_MZSCHEME
-+ /*
-+ * Newer version of MzScheme (Racket) require earlier (trampolined)
-+ * initialisation via scheme_main_setup.
-+ * Implement this by initialising it as early as possible
-+ * and splitting off remaining Vim main into vim_main2
-+ */
-+ {
-+ /* Pack up preprocessed command line arguments.
-+ * It is safe because Scheme does not access argc/argv. */
-+ char *args[2];
-+ args[0] = (char *)fname;
-+ args[1] = (char *)&params;
-+ return mzscheme_main(2, args);
-+ }
-+ }
-+
-+ int vim_main2(int argc, char **argv)
-+ {
-+ char_u *fname = (char_u *)argv[0];
-+ mparm_T params;
-+
-+ memcpy(&params, argv[1], sizeof(params));
-+ #endif
-+
- /* Execute --cmd arguments. */
- exe_pre_commands(&params);
-
-***************
-*** 957,970 ****
-
- /*
- * Call the main command loop. This never returns.
-! * For embedded MzScheme the main_loop will be called by Scheme
-! * for proper stack tracking
-! */
-! #ifndef FEAT_MZSCHEME
- main_loop(FALSE, FALSE);
-- #else
-- mzscheme_main();
-- #endif
-
- return 0;
- }
---- 982,989 ----
-
- /*
- * Call the main command loop. This never returns.
-! */
- main_loop(FALSE, FALSE);
-
- return 0;
- }
-*** ../vim-7.3.440/src/proto/if_mzsch.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/if_mzsch.pro 2012-02-12 01:50:57.000000000 +0100
-***************
-*** 14,19 ****
- void mzvim_reset_timer __ARGS((void));
- void *mzvim_eval_string __ARGS((char_u *str));
- int mzthreads_allowed __ARGS((void));
-! void mzscheme_main __ARGS((void));
- void do_mzeval __ARGS((char_u *str, typval_T *rettv));
- /* vim: set ft=c : */
---- 14,20 ----
- void mzvim_reset_timer __ARGS((void));
- void *mzvim_eval_string __ARGS((char_u *str));
- int mzthreads_allowed __ARGS((void));
-! int mzscheme_main __ARGS((int argc, char **argv));
- void do_mzeval __ARGS((char_u *str, typval_T *rettv));
-+ int vim_main2 __ARGS((int argc, char **argv));
- /* vim: set ft=c : */
-*** ../vim-7.3.440/src/version.c 2012-02-12 01:35:06.000000000 +0100
---- src/version.c 2012-02-12 01:54:14.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 441,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-43. You tell the kids they can't use the computer because "Daddy's got work to
- do" and you don't even have a job.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.442 b/source/ap/vim/patches/7.3.442
deleted file mode 100644
index 58b58b4ea..000000000
--- a/source/ap/vim/patches/7.3.442
+++ /dev/null
@@ -1,186 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.442
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.442 (after 7.3.438)
-Problem: Still read modelines for ":doautocmd".
-Solution: Move check for <nomodeline> to separate function.
-Files: src/fileio.c, src/ex_docmd.c, src/proto/fileio.pro,
- runtime/doc/autocmd.txt
-
-
-*** ../vim-7.3.441/src/fileio.c 2012-02-12 00:18:54.000000000 +0100
---- src/fileio.c 2012-02-12 20:05:35.000000000 +0100
-***************
-*** 8740,8752 ****
- aco_save_T aco;
- buf_T *buf;
- char_u *arg = eap->arg;
-! int call_do_modelines = TRUE;
-!
-! if (STRNCMP(arg, "<nomodeline>", 12) == 0)
-! {
-! call_do_modelines = FALSE;
-! arg = skipwhite(arg + 12);
-! }
-
- /*
- * This is a bit tricky: For some commands curwin->w_buffer needs to be
---- 8740,8746 ----
- aco_save_T aco;
- buf_T *buf;
- char_u *arg = eap->arg;
-! int call_do_modelines = check_nomodeline(&arg);
-
- /*
- * This is a bit tricky: For some commands curwin->w_buffer needs to be
-***************
-*** 8786,8791 ****
---- 8780,8802 ----
- }
-
- /*
-+ * Check *argp for <nomodeline>. When it is present return FALSE, otherwise
-+ * return TRUE and advance *argp to after it.
-+ * Thus return TRUE when do_modelines() should be called.
-+ */
-+ int
-+ check_nomodeline(argp)
-+ char_u **argp;
-+ {
-+ if (STRNCMP(*argp, "<nomodeline>", 12) == 0)
-+ {
-+ *argp = skipwhite(*argp + 12);
-+ return FALSE;
-+ }
-+ return TRUE;
-+ }
-+
-+ /*
- * Prepare for executing autocommands for (hidden) buffer "buf".
- * Search for a visible window containing the current buffer. If there isn't
- * one then use "aucmd_win".
-*** ../vim-7.3.441/src/ex_docmd.c 2012-01-26 20:41:22.000000000 +0100
---- src/ex_docmd.c 2012-02-12 20:05:18.000000000 +0100
-***************
-*** 4955,4961 ****
- map_clear(eap->cmd, eap->arg, TRUE, TRUE);
- }
-
-! #ifdef FEAT_AUTOCMD
- static void
- ex_autocmd(eap)
- exarg_T *eap;
---- 4955,4961 ----
- map_clear(eap->cmd, eap->arg, TRUE, TRUE);
- }
-
-! #if defined(FEAT_AUTOCMD) || defined(PROTO)
- static void
- ex_autocmd(eap)
- exarg_T *eap;
-***************
-*** 4982,4989 ****
- ex_doautocmd(eap)
- exarg_T *eap;
- {
-! (void)do_doautocmd(eap->arg, TRUE);
-! do_modelines(0);
- }
- #endif
-
---- 4982,4993 ----
- ex_doautocmd(eap)
- exarg_T *eap;
- {
-! char_u *arg = eap->arg;
-! int call_do_modelines = check_nomodeline(&arg);
-!
-! (void)do_doautocmd(arg, TRUE);
-! if (call_do_modelines) /* Only when there is no <nomodeline>. */
-! do_modelines(0);
- }
- #endif
-
-*** ../vim-7.3.441/src/proto/fileio.pro 2010-12-17 16:27:10.000000000 +0100
---- src/proto/fileio.pro 2012-02-12 20:05:26.000000000 +0100
-***************
-*** 35,40 ****
---- 35,41 ----
- void do_autocmd __ARGS((char_u *arg, int forceit));
- int do_doautocmd __ARGS((char_u *arg, int do_msg));
- void ex_doautoall __ARGS((exarg_T *eap));
-+ int check_nomodeline __ARGS((char_u **argp));
- void aucmd_prepbuf __ARGS((aco_save_T *aco, buf_T *buf));
- void aucmd_restbuf __ARGS((aco_save_T *aco));
- int apply_autocmds __ARGS((event_T event, char_u *fname, char_u *fname_io, int force, buf_T *buf));
-*** ../vim-7.3.441/runtime/doc/autocmd.txt 2012-02-12 00:18:54.000000000 +0100
---- runtime/doc/autocmd.txt 2012-02-12 20:11:05.000000000 +0100
-***************
-*** 1064,1069 ****
---- 1072,1085 ----
- argument is included, Vim executes only the matching
- autocommands for that group. Note: if you use an
- undefined group name, Vim gives you an error message.
-+ *<nomodeline>*
-+ After applying the autocommands the modelines are
-+ processed, so that their settings overrule the
-+ settings from autocommands, like what happens when
-+ editing a file. This is skipped when the <nomodeline>
-+ argument is present. You probably want to use
-+ <nomodeline> for events that are not used when loading
-+ a buffer, such as |User|.
-
- *:doautoa* *:doautoall*
- :doautoa[ll] [<nomodeline>] [group] {event} [fname]
-***************
-*** 1077,1088 ****
- This command is intended for autocommands that set
- options, change highlighting, and things like that.
-
-- After applying the autocommands the modelines are
-- processed, so that their settings overrule the
-- settings from autocommands, like what happens when
-- editing a file. This is skipped when the <nomodeline>
-- argument is present.
--
- ==============================================================================
- 10. Using autocommands *autocmd-use*
-
---- 1093,1098 ----
-*** ../vim-7.3.441/src/version.c 2012-02-12 01:55:50.000000000 +0100
---- src/version.c 2012-02-12 20:11:34.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 442,
- /**/
-
---
-The real
-trick is
-this: to
-keep the
-lines as
-short as
-possible
-and keep
-the size
-the same
-yet free
-from the
-need for
-hyphena-
-Dammit!! (Matthew Winn)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.443 b/source/ap/vim/patches/7.3.443
deleted file mode 100644
index 84b45baa2..000000000
--- a/source/ap/vim/patches/7.3.443
+++ /dev/null
@@ -1,206 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.443
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.443
-Problem: MS-Windows: 'shcf' and 'shellxquote' defaults are not very good.
-Solution: Make a better guess when 'shell' is set to "cmd.exe". (Ben Fritz)
-Files: src/option.c, runtime/doc/options.txt
-
-
-*** ../vim-7.3.442/src/option.c 2012-01-28 18:03:30.000000000 +0100
---- src/option.c 2012-02-12 23:17:55.000000000 +0100
-***************
-*** 3883,3889 ****
-
- #if defined(MSDOS) || defined(WIN3264) || defined(OS2)
- /*
-! * Set 'shellcmdflag and 'shellquote' depending on the 'shell' option.
- * This is done after other initializations, where 'shell' might have been
- * set, but only if they have not been set before. Default for p_shcf is
- * "/c", for p_shq is "". For "sh" like shells it is changed here to
---- 3883,3890 ----
-
- #if defined(MSDOS) || defined(WIN3264) || defined(OS2)
- /*
-! * Set 'shellcmdflag', 'shellxquote', and 'shellquote' depending on the
-! * 'shell' option.
- * This is done after other initializations, where 'shell' might have been
- * set, but only if they have not been set before. Default for p_shcf is
- * "/c", for p_shq is "". For "sh" like shells it is changed here to
-***************
-*** 3920,3925 ****
---- 3921,3962 ----
- # endif
- # endif
- }
-+ else if (strstr((char *)gettail(p_sh), "cmd.exe") != NULL)
-+ {
-+ int idx3;
-+
-+ /*
-+ * cmd.exe on Windows will strip the first and last double quote given
-+ * on the command line, e.g. most of the time things like:
-+ * cmd /c "my path/to/echo" "my args to echo"
-+ * become:
-+ * my path/to/echo" "my args to echo
-+ * when executed.
-+ *
-+ * To avoid this, use the /s argument in addition to /c to force the
-+ * stripping behavior, and also set shellxquote to automatically
-+ * surround the entire command in quotes (which get stripped as
-+ * noted).
-+ */
-+
-+ /* Set shellxquote default to add the quotes to be stripped. */
-+ idx3 = findoption((char_u *)"sxq");
-+ if (idx3 >= 0 && !(options[idx3].flags & P_WAS_SET))
-+ {
-+ p_sxq = (char_u *)"\"";
-+ options[idx3].def_val[VI_DEFAULT] = p_sxq;
-+ }
-+
-+ /* Set shellcmdflag default to always strip the quotes, note the order
-+ * between /s and /c is important or cmd.exe will treat the /s as part
-+ * of the command to be executed. */
-+ idx3 = findoption((char_u *)"shcf");
-+ if (idx3 >= 0 && !(options[idx3].flags & P_WAS_SET))
-+ {
-+ p_shcf = (char_u *)"/s /c";
-+ options[idx3].def_val[VI_DEFAULT] = p_shcf;
-+ }
-+ }
- #endif
-
- #ifdef FEAT_TITLE
-*** ../vim-7.3.442/runtime/doc/options.txt 2011-06-26 05:36:07.000000000 +0200
---- runtime/doc/options.txt 2012-02-12 23:21:59.000000000 +0100
-***************
-*** 5880,5895 ****
- security reasons.
-
- *'shellcmdflag'* *'shcf'*
-! 'shellcmdflag' 'shcf' string (default: "-c", MS-DOS and Win32, when 'shell'
-! does not contain "sh" somewhere: "/c")
- global
- {not in Vi}
- Flag passed to the shell to execute "!" and ":!" commands; e.g.,
- "bash.exe -c ls" or "command.com /c dir". For the MS-DOS-like
- systems, the default is set according to the value of 'shell', to
- reduce the need to set this option by the user. It's not used for
-! OS/2 (EMX figures this out itself). See |option-backslash| about
-! including spaces and backslashes. See |dos-shell|.
- This option cannot be set from a |modeline| or in the |sandbox|, for
- security reasons.
-
---- 5899,5919 ----
- security reasons.
-
- *'shellcmdflag'* *'shcf'*
-! 'shellcmdflag' 'shcf' string (default: "-c";
-! Win32, when 'shell' is cmd.exe: "/s /c";
-! MS-DOS and Win32, when 'shell' neither is
-! cmd.exe nor contains "sh" somewhere: "/c")
- global
- {not in Vi}
- Flag passed to the shell to execute "!" and ":!" commands; e.g.,
- "bash.exe -c ls" or "command.com /c dir". For the MS-DOS-like
- systems, the default is set according to the value of 'shell', to
- reduce the need to set this option by the user. It's not used for
-! OS/2 (EMX figures this out itself).
-! On Unix it can have more than one flag. Each white space separated
-! part is passed as an argument to the shell command.
-! See |option-backslash| about including spaces and backslashes.
-! Also see |dos-shell| for MS-DOS and MS-Windows.
- This option cannot be set from a |modeline| or in the |sandbox|, for
- security reasons.
-
-***************
-*** 5910,5918 ****
- For Unix the default it "| tee". The stdout of the compiler is saved
- in a file and echoed to the screen. If the 'shell' option is "csh" or
- "tcsh" after initializations, the default becomes "|& tee". If the
-! 'shell' option is "sh", "ksh", "zsh" or "bash" the default becomes
-! "2>&1| tee". This means that stderr is also included. Before using
-! the 'shell' option a path is removed, thus "/bin/sh" uses "sh".
- The initialization of this option is done after reading the ".vimrc"
- and the other initializations, so that when the 'shell' option is set
- there, the 'shellpipe' option changes automatically, unless it was
---- 5934,5943 ----
- For Unix the default it "| tee". The stdout of the compiler is saved
- in a file and echoed to the screen. If the 'shell' option is "csh" or
- "tcsh" after initializations, the default becomes "|& tee". If the
-! 'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh" or "bash" the
-! default becomes "2>&1| tee". This means that stderr is also included.
-! Before using the 'shell' option a path is removed, thus "/bin/sh" uses
-! "sh".
- The initialization of this option is done after reading the ".vimrc"
- and the other initializations, so that when the 'shell' option is set
- there, the 'shellpipe' option changes automatically, unless it was
-***************
-*** 6017,6024 ****
-
- *'shellxquote'* *'sxq'*
- 'shellxquote' 'sxq' string (default: "";
-! for Win32, when 'shell' contains "sh"
-! somewhere: "\""
- for Unix, when using system(): "\"")
- global
- {not in Vi}
---- 6043,6050 ----
-
- *'shellxquote'* *'sxq'*
- 'shellxquote' 'sxq' string (default: "";
-! for Win32, when 'shell' is cmd.exe or
-! contains "sh" somewhere: "\""
- for Unix, when using system(): "\"")
- global
- {not in Vi}
-***************
-*** 6026,6036 ****
- the "!" and ":!" commands. Includes the redirection. See
- 'shellquote' to exclude the redirection. It's probably not useful
- to set both options.
-! This is an empty string by default. Known to be useful for
-! third-party shells when using the Win32 version, such as the MKS Korn
-! Shell or bash, where it should be "\"". The default is adjusted
-! according the value of 'shell', to reduce the need to set this option
-! by the user. See |dos-shell|.
- This option cannot be set from a |modeline| or in the |sandbox|, for
- security reasons.
-
---- 6052,6063 ----
- the "!" and ":!" commands. Includes the redirection. See
- 'shellquote' to exclude the redirection. It's probably not useful
- to set both options.
-! This is an empty string by default on most systems, but is known to be
-! useful for on Win32 version, either for cmd.exe which automatically
-! strips off the first and last quote on a command, or 3rd-party shells
-! such as the MKS Korn Shell or bash, where it should be "\"". The
-! default is adjusted according the value of 'shell', to reduce the need
-! to set this option by the user. See |dos-shell|.
- This option cannot be set from a |modeline| or in the |sandbox|, for
- security reasons.
-
-*** ../vim-7.3.442/src/version.c 2012-02-12 20:13:55.000000000 +0100
---- src/version.c 2012-02-12 23:18:40.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 443,
- /**/
-
---
-CVS sux, men don't like commitment
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.444 b/source/ap/vim/patches/7.3.444
deleted file mode 100644
index 64ed88bf1..000000000
--- a/source/ap/vim/patches/7.3.444
+++ /dev/null
@@ -1,96 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.444
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.444
-Problem: ":all!" and ":sall!" give error E477, even though the
- documentation says these are valid commands.
-Solution: Support the exclamation mark. (Hirohito Higashi)
-Files: src/ex_cmds.h, src/testdir/test31.in, src/testdir/test31.ok
-
-
-*** ../vim-7.3.443/src/ex_cmds.h 2011-06-20 05:02:53.000000000 +0200
---- src/ex_cmds.h 2012-02-12 23:53:31.000000000 +0100
-***************
-*** 102,108 ****
- EX(CMD_aboveleft, "aboveleft", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_all, "all", ex_all,
-! RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_amenu, "amenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_anoremenu, "anoremenu", ex_menu,
---- 102,108 ----
- EX(CMD_aboveleft, "aboveleft", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_all, "all", ex_all,
-! BANG|RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_amenu, "amenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_anoremenu, "anoremenu", ex_menu,
-***************
-*** 798,804 ****
- EX(CMD_sargument, "sargument", ex_argument,
- BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_sall, "sall", ex_all,
-! RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_sandbox, "sandbox", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_saveas, "saveas", ex_write,
---- 798,804 ----
- EX(CMD_sargument, "sargument", ex_argument,
- BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_sall, "sall", ex_all,
-! BANG|RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_sandbox, "sandbox", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_saveas, "saveas", ex_write,
-*** ../vim-7.3.443/src/testdir/test31.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test31.in 2012-02-12 23:57:42.000000000 +0100
-***************
-*** 63,68 ****
---- 63,74 ----
- :" write "testtext 1"
- A 3:close!
- :w >>test.out
-+ :set nohidden
-+ :" test ":all!" hides changed buffer; write "testtext 2 2 2"
-+ :sp Xtest4
-+ GA 4:all!
-+ :1wincmd w
-+ :w >>test.out
- :qa!
- ENDTEST
-
-*** ../vim-7.3.443/src/testdir/test31.ok 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test31.ok 2012-02-13 00:00:13.000000000 +0100
-***************
-*** 9,11 ****
---- 9,12 ----
- testtext 1
- testtext 3 3 3
- testtext 1
-+ testtext 2 2 2
-*** ../vim-7.3.443/src/version.c 2012-02-12 23:23:25.000000000 +0100
---- src/version.c 2012-02-12 23:52:47.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 444,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-50. The last girl you picked up was only a jpeg.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.445 b/source/ap/vim/patches/7.3.445
deleted file mode 100644
index 8d7c337be..000000000
--- a/source/ap/vim/patches/7.3.445
+++ /dev/null
@@ -1,199 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.445
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.445 (after 7.3.443)
-Problem: Can't properly escape commands for cmd.exe.
-Solution: Default 'shellxquote' to '('. Append ')' to make '(command)'.
- No need to use "/s" for 'shellcmdflag'.
-Files: src/misc2.c, src/option.c, src/os_win32.c
-
-
-*** ../vim-7.3.444/src/misc2.c 2012-01-20 17:15:47.000000000 +0100
---- src/misc2.c 2012-02-16 05:34:37.000000000 +0100
-***************
-*** 3230,3236 ****
- {
- STRCPY(ncmd, p_sxq);
- STRCAT(ncmd, cmd);
-! STRCAT(ncmd, p_sxq);
- retval = mch_call_shell(ncmd, opt);
- vim_free(ncmd);
- }
---- 3230,3240 ----
- {
- STRCPY(ncmd, p_sxq);
- STRCAT(ncmd, cmd);
-! /* When 'shellxquote' is ( append ).
-! * When 'shellxquote' is "( append )". */
-! STRCAT(ncmd, STRCMP(p_sxq, "(") == 0 ? (char_u *)")"
-! : STRCMP(p_sxq, "\"(") == 0 ? (char_u *)")\""
-! : p_sxq);
- retval = mch_call_shell(ncmd, opt);
- vim_free(ncmd);
- }
-*** ../vim-7.3.444/src/option.c 2012-02-12 23:23:25.000000000 +0100
---- src/option.c 2012-02-19 18:08:48.000000000 +0100
-***************
-*** 3933,3959 ****
- * my path/to/echo" "my args to echo
- * when executed.
- *
-! * To avoid this, use the /s argument in addition to /c to force the
-! * stripping behavior, and also set shellxquote to automatically
-! * surround the entire command in quotes (which get stripped as
-! * noted).
- */
--
-- /* Set shellxquote default to add the quotes to be stripped. */
- idx3 = findoption((char_u *)"sxq");
- if (idx3 >= 0 && !(options[idx3].flags & P_WAS_SET))
- {
-! p_sxq = (char_u *)"\"";
- options[idx3].def_val[VI_DEFAULT] = p_sxq;
- }
-
-- /* Set shellcmdflag default to always strip the quotes, note the order
-- * between /s and /c is important or cmd.exe will treat the /s as part
-- * of the command to be executed. */
- idx3 = findoption((char_u *)"shcf");
- if (idx3 >= 0 && !(options[idx3].flags & P_WAS_SET))
- {
-! p_shcf = (char_u *)"/s /c";
- options[idx3].def_val[VI_DEFAULT] = p_shcf;
- }
- }
---- 3933,3954 ----
- * my path/to/echo" "my args to echo
- * when executed.
- *
-! * To avoid this, set shellxquote to surround the command in
-! * parenthesis. This appears to make most commands work, without
-! * breaking commands that worked previously, such as
-! * '"path with spaces/cmd" "a&b"'.
- */
- idx3 = findoption((char_u *)"sxq");
- if (idx3 >= 0 && !(options[idx3].flags & P_WAS_SET))
- {
-! p_sxq = (char_u *)"(";
- options[idx3].def_val[VI_DEFAULT] = p_sxq;
- }
-
- idx3 = findoption((char_u *)"shcf");
- if (idx3 >= 0 && !(options[idx3].flags & P_WAS_SET))
- {
-! p_shcf = (char_u *)"/c";
- options[idx3].def_val[VI_DEFAULT] = p_shcf;
- }
- }
-*** ../vim-7.3.444/src/os_win32.c 2011-08-27 15:10:00.000000000 +0200
---- src/os_win32.c 2012-02-19 18:11:23.000000000 +0100
-***************
-*** 3908,3915 ****
- newcmd = lalloc(cmdlen, TRUE);
- if (newcmd != NULL)
- {
-! char_u *cmdbase = (*cmd == '"' ? cmd + 1 : cmd);
-
- if ((STRNICMP(cmdbase, "start", 5) == 0) && vim_iswhite(cmdbase[5]))
- {
- STARTUPINFO si;
---- 3908,3920 ----
- newcmd = lalloc(cmdlen, TRUE);
- if (newcmd != NULL)
- {
-! char_u *cmdbase = cmd;
-
-+ /* Skip a leading ", ( and "(. */
-+ if (*cmdbase == '"' )
-+ ++cmdbase;
-+ if (*cmdbase == '(')
-+ ++cmdbase;
- if ((STRNICMP(cmdbase, "start", 5) == 0) && vim_iswhite(cmdbase[5]))
- {
- STARTUPINFO si;
-***************
-*** 3953,3968 ****
- * empty, keep the double quotes around the command.
- * Otherwise remove the double quotes, they aren't needed
- * here, because we don't use a shell to run the command. */
-! if (*cmd == '"' && *p_sxq == NUL)
- {
-! newcmd[0] = '"';
-! STRCPY(newcmd + 1, cmdbase);
-! }
-! else
-! {
-! STRCPY(newcmd, cmdbase);
-! if (*cmd == '"' && *newcmd != NUL)
-! newcmd[STRLEN(newcmd) - 1] = NUL;
- }
-
- /*
---- 3958,3983 ----
- * empty, keep the double quotes around the command.
- * Otherwise remove the double quotes, they aren't needed
- * here, because we don't use a shell to run the command. */
-! if (cmdbase > cmd)
- {
-! if (STRNCMP(cmd, p_sxq, cmd - cmdbase) != 0)
-! {
-! STRCPY(newcmd, cmd);
-! }
-! else
-! {
-! char_u *p;
-!
-! STRCPY(newcmd, cmdbase);
-! /* Remove a trailing ", ) and )" if they have a match
-! * at the start of the command. */
-! p = newcmd + STRLEN(newcmd);
-! if (p > newcmd && p[-1] == '"' && *cmd == '"')
-! *--p = NUL;
-! if (p > newcmd && p[-1] == ')'
-! && (*cmd =='(' || cmd[1] == '('))
-! *--p = NUL;
-! }
- }
-
- /*
-***************
-*** 3970,3976 ****
- * inherit our handles which causes unpleasant dangling swap
- * files if we exit before the spawned process
- */
-! if (CreateProcess (NULL, // Executable name
- newcmd, // Command to execute
- NULL, // Process security attributes
- NULL, // Thread security attributes
---- 3985,3991 ----
- * inherit our handles which causes unpleasant dangling swap
- * files if we exit before the spawned process
- */
-! if (CreateProcess(NULL, // Executable name
- newcmd, // Command to execute
- NULL, // Process security attributes
- NULL, // Thread security attributes
-*** ../vim-7.3.444/src/version.c 2012-02-13 00:01:38.000000000 +0100
---- src/version.c 2012-02-19 18:01:46.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 445,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-80. At parties, you introduce your spouse as your "service provider."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.446 b/source/ap/vim/patches/7.3.446
deleted file mode 100644
index 59a2b254c..000000000
--- a/source/ap/vim/patches/7.3.446
+++ /dev/null
@@ -1,164 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.446
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.446 (after 7.3.445)
-Problem: Win32: External commands with special characters don't work.
-Solution: Add the 'shellxescape' option.
-Files: src/misc2.c, src/option.c, src/option.h, runtime/doc/options.txt
-
-
-*** ../vim-7.3.445/src/misc2.c 2012-02-19 18:19:24.000000000 +0100
---- src/misc2.c 2012-02-20 22:05:22.000000000 +0100
-***************
-*** 3225,3235 ****
- retval = mch_call_shell(cmd, opt);
- else
- {
-! ncmd = alloc((unsigned)(STRLEN(cmd) + STRLEN(p_sxq) * 2 + 1));
- if (ncmd != NULL)
- {
- STRCPY(ncmd, p_sxq);
-! STRCAT(ncmd, cmd);
- /* When 'shellxquote' is ( append ).
- * When 'shellxquote' is "( append )". */
- STRCAT(ncmd, STRCMP(p_sxq, "(") == 0 ? (char_u *)")"
---- 3225,3243 ----
- retval = mch_call_shell(cmd, opt);
- else
- {
-! char_u *ecmd = cmd;
-!
-! if (*p_sxe != NUL && STRCMP(p_sxq, "(") == 0)
-! {
-! ecmd = vim_strsave_escaped_ext(cmd, p_sxe, '^', FALSE);
-! if (ecmd == NULL)
-! ecmd = cmd;
-! }
-! ncmd = alloc((unsigned)(STRLEN(ecmd) + STRLEN(p_sxq) * 2 + 1));
- if (ncmd != NULL)
- {
- STRCPY(ncmd, p_sxq);
-! STRCAT(ncmd, ecmd);
- /* When 'shellxquote' is ( append ).
- * When 'shellxquote' is "( append )". */
- STRCAT(ncmd, STRCMP(p_sxq, "(") == 0 ? (char_u *)")"
-***************
-*** 3240,3245 ****
---- 3248,3255 ----
- }
- else
- retval = -1;
-+ if (ecmd != cmd)
-+ vim_free(ecmd);
- }
- #ifdef FEAT_GUI
- --hold_gui_events;
-*** ../vim-7.3.445/src/option.c 2012-02-19 18:19:24.000000000 +0100
---- src/option.c 2012-02-20 22:01:07.000000000 +0100
-***************
-*** 2273,2278 ****
---- 2273,2287 ----
- (char_u *)"",
- #endif
- (char_u *)0L} SCRIPTID_INIT},
-+ {"shellxescape", "sxe", P_STRING|P_VI_DEF|P_SECURE,
-+ (char_u *)&p_sxe, PV_NONE,
-+ {
-+ #if defined(MSDOS) || defined(WIN16) || defined(WIN3264)
-+ (char_u *)"\"&|<>()@^",
-+ #else
-+ (char_u *)"",
-+ #endif
-+ (char_u *)0L} SCRIPTID_INIT},
- {"shiftround", "sr", P_BOOL|P_VI_DEF|P_VIM,
- (char_u *)&p_sr, PV_NONE,
- {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
-*** ../vim-7.3.445/src/option.h 2011-10-20 21:09:25.000000000 +0200
---- src/option.h 2012-02-20 21:45:31.000000000 +0100
-***************
-*** 712,717 ****
---- 712,718 ----
- #endif
- EXTERN char_u *p_shq; /* 'shellquote' */
- EXTERN char_u *p_sxq; /* 'shellxquote' */
-+ EXTERN char_u *p_sxe; /* 'shellxescape' */
- EXTERN char_u *p_srr; /* 'shellredir' */
- #ifdef AMIGA
- EXTERN long p_st; /* 'shelltype' */
-*** ../vim-7.3.445/runtime/doc/options.txt 2012-02-12 23:23:25.000000000 +0100
---- runtime/doc/options.txt 2012-02-20 22:09:19.000000000 +0100
-***************
-*** 6023,6030 ****
-
- *'shellxquote'* *'sxq'*
- 'shellxquote' 'sxq' string (default: "";
-! for Win32, when 'shell' is cmd.exe or
-! contains "sh" somewhere: "\""
- for Unix, when using system(): "\"")
- global
- {not in Vi}
---- 6042,6050 ----
-
- *'shellxquote'* *'sxq'*
- 'shellxquote' 'sxq' string (default: "";
-! for Win32, when 'shell' is cmd.exe: "("
-! for Win32, when 'shell' contains "sh"
-! somewhere: "\""
- for Unix, when using system(): "\"")
- global
- {not in Vi}
-***************
-*** 6032,6037 ****
---- 6052,6060 ----
- the "!" and ":!" commands. Includes the redirection. See
- 'shellquote' to exclude the redirection. It's probably not useful
- to set both options.
-+ When the value is '(' then ')' is appended. When the value is '"('
-+ then ')"' is appended.
-+ When the value is '(' then also see 'shellxescape'.
- This is an empty string by default on most systems, but is known to be
- useful for on Win32 version, either for cmd.exe which automatically
- strips off the first and last quote on a command, or 3rd-party shells
-***************
-*** 6041,6046 ****
---- 6064,6079 ----
- This option cannot be set from a |modeline| or in the |sandbox|, for
- security reasons.
-
-+ *'shellxescape'* *'sxe'*
-+ 'shellxescape' 'sxe' string (default: "";
-+ for MS-DOS and MS-Windows: "\"&|<>()@^")
-+ global
-+ {not in Vi}
-+ When 'shellxquote' is set to "(" then the characters listed in this
-+ option will be escaped with a '^' character. This makes it possible
-+ to execute most external commands with cmd.exe.
-+
-+
- *'shiftround'* *'sr'* *'noshiftround'* *'nosr'*
- 'shiftround' 'sr' boolean (default off)
- global
-*** ../vim-7.3.445/src/version.c 2012-02-19 18:19:24.000000000 +0100
---- src/version.c 2012-02-20 22:12:32.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 446,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-86. E-mail Deficiency Depression (EDD) forces you to e-mail yourself.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.447 b/source/ap/vim/patches/7.3.447
deleted file mode 100644
index 9c0af9f4d..000000000
--- a/source/ap/vim/patches/7.3.447
+++ /dev/null
@@ -1,377 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.447
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.447 (after 7.3.446)
-Problem: Win32: External commands with "start" do not work.
-Solution: Unescape part of the command. (Yasuhiro Matsumoto)
-Files: src/os_win32.c
-
-
-*** ../vim-7.3.446/src/os_win32.c 2012-02-19 18:19:24.000000000 +0100
---- src/os_win32.c 2012-02-21 20:56:51.000000000 +0100
-***************
-*** 259,264 ****
---- 259,287 ----
- }
-
- /*
-+ * Unescape characters in "p" that appear in "escaped".
-+ */
-+ static void
-+ unescape_shellxquote(char_u *p, char_u *escaped)
-+ {
-+ int l = STRLEN(p);
-+ int n;
-+
-+ while (*p != NUL)
-+ {
-+ if (*p == '^' && vim_strchr(escaped, p[1]) != NULL)
-+ mch_memmove(p, p + 1, l--);
-+ #ifdef FEAT_MBYTE
-+ n = (*mb_ptr2len)(p);
-+ #else
-+ n = 1;
-+ #endif
-+ p += n;
-+ l -= n;
-+ }
-+ }
-+
-+ /*
- * Load library "name".
- */
- HINSTANCE
-***************
-*** 3559,3564 ****
---- 3582,3588 ----
- garray_T ga;
- int delay = 1;
- DWORD buffer_off = 0; /* valid bytes in buffer[] */
-+ char *p = NULL;
-
- SECURITY_ATTRIBUTES saAttr;
-
-***************
-*** 3599,3607 ****
- if (options & SHELL_READ)
- ga_init2(&ga, 1, BUFLEN);
-
- /* Now, run the command */
- CreateProcess(NULL, /* Executable name */
-! cmd, /* Command to execute */
- NULL, /* Process security attributes */
- NULL, /* Thread security attributes */
-
---- 3623,3640 ----
- if (options & SHELL_READ)
- ga_init2(&ga, 1, BUFLEN);
-
-+ if (cmd != NULL)
-+ {
-+ p = (char *)vim_strsave((char_u *)cmd);
-+ if (p != NULL)
-+ unescape_shellxquote((char_u *)p, p_sxe);
-+ else
-+ p = cmd;
-+ }
-+
- /* Now, run the command */
- CreateProcess(NULL, /* Executable name */
-! p, /* Command to execute */
- NULL, /* Process security attributes */
- NULL, /* Thread security attributes */
-
-***************
-*** 3616,3621 ****
---- 3649,3656 ----
- &si, /* Startup information */
- &pi); /* Process information */
-
-+ if (p != cmd)
-+ vim_free(p);
-
- /* Close our unused side of the pipes */
- CloseHandle(g_hChildStd_IN_Rd);
-***************
-*** 3898,4018 ****
- else
- {
- /* we use "command" or "cmd" to start the shell; slow but easy */
-! char_u *newcmd;
-! long_u cmdlen = (
-! #ifdef FEAT_GUI_W32
-! (allowPiping && !p_stmp ? 0 : STRLEN(vimrun_path)) +
-! #endif
-! STRLEN(p_sh) + STRLEN(p_shcf) + STRLEN(cmd) + 10);
-!
-! newcmd = lalloc(cmdlen, TRUE);
-! if (newcmd != NULL)
-! {
-! char_u *cmdbase = cmd;
-!
-! /* Skip a leading ", ( and "(. */
-! if (*cmdbase == '"' )
-! ++cmdbase;
-! if (*cmdbase == '(')
-! ++cmdbase;
-! if ((STRNICMP(cmdbase, "start", 5) == 0) && vim_iswhite(cmdbase[5]))
-! {
-! STARTUPINFO si;
-! PROCESS_INFORMATION pi;
-! DWORD flags = CREATE_NEW_CONSOLE;
-!
-! si.cb = sizeof(si);
-! si.lpReserved = NULL;
-! si.lpDesktop = NULL;
-! si.lpTitle = NULL;
-! si.dwFlags = 0;
-! si.cbReserved2 = 0;
-! si.lpReserved2 = NULL;
-!
-! cmdbase = skipwhite(cmdbase + 5);
-! if ((STRNICMP(cmdbase, "/min", 4) == 0)
-! && vim_iswhite(cmdbase[4]))
-! {
-! cmdbase = skipwhite(cmdbase + 4);
-! si.dwFlags = STARTF_USESHOWWINDOW;
-! si.wShowWindow = SW_SHOWMINNOACTIVE;
-! }
-! else if ((STRNICMP(cmdbase, "/b", 2) == 0)
-! && vim_iswhite(cmdbase[2]))
-! {
-! cmdbase = skipwhite(cmdbase + 2);
-! flags = CREATE_NO_WINDOW;
-! si.dwFlags = STARTF_USESTDHANDLES;
-! si.hStdInput = CreateFile("\\\\.\\NUL", // File name
-! GENERIC_READ, // Access flags
-! 0, // Share flags
-! NULL, // Security att.
-! OPEN_EXISTING, // Open flags
-! FILE_ATTRIBUTE_NORMAL, // File att.
-! NULL); // Temp file
-! si.hStdOutput = si.hStdInput;
-! si.hStdError = si.hStdInput;
-! }
-
-! /* When the command is in double quotes, but 'shellxquote' is
-! * empty, keep the double quotes around the command.
-! * Otherwise remove the double quotes, they aren't needed
-! * here, because we don't use a shell to run the command. */
-! if (cmdbase > cmd)
-! {
-! if (STRNCMP(cmd, p_sxq, cmd - cmdbase) != 0)
-! {
-! STRCPY(newcmd, cmd);
-! }
-! else
-! {
-! char_u *p;
-
-! STRCPY(newcmd, cmdbase);
-! /* Remove a trailing ", ) and )" if they have a match
-! * at the start of the command. */
-! p = newcmd + STRLEN(newcmd);
-! if (p > newcmd && p[-1] == '"' && *cmd == '"')
-! *--p = NUL;
-! if (p > newcmd && p[-1] == ')'
-! && (*cmd =='(' || cmd[1] == '('))
-! *--p = NUL;
-! }
-! }
-
-! /*
-! * Now, start the command as a process, so that it doesn't
-! * inherit our handles which causes unpleasant dangling swap
-! * files if we exit before the spawned process
-! */
-! if (CreateProcess(NULL, // Executable name
-! newcmd, // Command to execute
-! NULL, // Process security attributes
-! NULL, // Thread security attributes
-! FALSE, // Inherit handles
-! flags, // Creation flags
-! NULL, // Environment
-! NULL, // Current directory
-! &si, // Startup information
-! &pi)) // Process information
-! x = 0;
-! else
-! {
-! x = -1;
- #ifdef FEAT_GUI_W32
-! EMSG(_("E371: Command not found"));
- #endif
-- }
-- if (si.hStdInput != NULL)
-- {
-- /* Close the handle to \\.\NUL */
-- CloseHandle(si.hStdInput);
-- }
-- /* Close the handles to the subprocess, so that it goes away */
-- CloseHandle(pi.hThread);
-- CloseHandle(pi.hProcess);
- }
-! else
- {
- #if defined(FEAT_GUI_W32)
- if (need_vimrun_warning)
---- 3933,4048 ----
- else
- {
- /* we use "command" or "cmd" to start the shell; slow but easy */
-! char_u *cmdbase = cmd;
-
-! /* Skip a leading ", ( and "(. */
-! if (*cmdbase == '"' )
-! ++cmdbase;
-! if (*cmdbase == '(')
-! ++cmdbase;
-!
-! if ((STRNICMP(cmdbase, "start", 5) == 0) && vim_iswhite(cmdbase[5]))
-! {
-! STARTUPINFO si;
-! PROCESS_INFORMATION pi;
-! DWORD flags = CREATE_NEW_CONSOLE;
-! char_u *p;
-!
-! si.cb = sizeof(si);
-! si.lpReserved = NULL;
-! si.lpDesktop = NULL;
-! si.lpTitle = NULL;
-! si.dwFlags = 0;
-! si.cbReserved2 = 0;
-! si.lpReserved2 = NULL;
-!
-! cmdbase = skipwhite(cmdbase + 5);
-! if ((STRNICMP(cmdbase, "/min", 4) == 0)
-! && vim_iswhite(cmdbase[4]))
-! {
-! cmdbase = skipwhite(cmdbase + 4);
-! si.dwFlags = STARTF_USESHOWWINDOW;
-! si.wShowWindow = SW_SHOWMINNOACTIVE;
-! }
-! else if ((STRNICMP(cmdbase, "/b", 2) == 0)
-! && vim_iswhite(cmdbase[2]))
-! {
-! cmdbase = skipwhite(cmdbase + 2);
-! flags = CREATE_NO_WINDOW;
-! si.dwFlags = STARTF_USESTDHANDLES;
-! si.hStdInput = CreateFile("\\\\.\\NUL", // File name
-! GENERIC_READ, // Access flags
-! 0, // Share flags
-! NULL, // Security att.
-! OPEN_EXISTING, // Open flags
-! FILE_ATTRIBUTE_NORMAL, // File att.
-! NULL); // Temp file
-! si.hStdOutput = si.hStdInput;
-! si.hStdError = si.hStdInput;
-! }
-!
-! /* Remove a trailing ", ) and )" if they have a match
-! * at the start of the command. */
-! if (cmdbase > cmd)
-! {
-! p = cmdbase + STRLEN(cmdbase);
-! if (p > cmdbase && p[-1] == '"' && *cmd == '"')
-! *--p = NUL;
-! if (p > cmdbase && p[-1] == ')'
-! && (*cmd =='(' || cmd[1] == '('))
-! *--p = NUL;
-! }
-
-! /*
-! * Unescape characters in shellxescape. This is workaround for
-! * /b option. Only redirect character should be unescaped.
-! */
-! unescape_shellxquote(cmdbase,
-! (flags & CREATE_NEW_CONSOLE) ? p_sxe : "<>");
-
-! /*
-! * Now, start the command as a process, so that it doesn't
-! * inherit our handles which causes unpleasant dangling swap
-! * files if we exit before the spawned process
-! */
-! if (CreateProcess(NULL, // Executable name
-! cmdbase, // Command to execute
-! NULL, // Process security attributes
-! NULL, // Thread security attributes
-! FALSE, // Inherit handles
-! flags, // Creation flags
-! NULL, // Environment
-! NULL, // Current directory
-! &si, // Startup information
-! &pi)) // Process information
-! x = 0;
-! else
-! {
-! x = -1;
- #ifdef FEAT_GUI_W32
-! EMSG(_("E371: Command not found"));
- #endif
- }
-! if (si.hStdInput != NULL)
-! {
-! /* Close the handle to \\.\NUL */
-! CloseHandle(si.hStdInput);
-! }
-! /* Close the handles to the subprocess, so that it goes away */
-! CloseHandle(pi.hThread);
-! CloseHandle(pi.hProcess);
-! }
-! else
-! {
-! char_u *newcmd;
-! long_u cmdlen = (
-! #ifdef FEAT_GUI_W32
-! (allowPiping && !p_stmp ? 0 : STRLEN(vimrun_path)) +
-! #endif
-! STRLEN(p_sh) + STRLEN(p_shcf) + STRLEN(cmd) + 10);
-!
-! newcmd = lalloc(cmdlen, TRUE);
-! if (newcmd != NULL)
- {
- #if defined(FEAT_GUI_W32)
- if (need_vimrun_warning)
-***************
-*** 4038,4045 ****
- vim_snprintf((char *)newcmd, cmdlen, "%s %s %s",
- p_sh, p_shcf, cmd);
- x = mch_system((char *)newcmd, options);
- }
-- vim_free(newcmd);
- }
- }
-
---- 4068,4075 ----
- vim_snprintf((char *)newcmd, cmdlen, "%s %s %s",
- p_sh, p_shcf, cmd);
- x = mch_system((char *)newcmd, options);
-+ vim_free(newcmd);
- }
- }
- }
-
-*** ../vim-7.3.446/src/version.c 2012-02-20 22:18:23.000000000 +0100
---- src/version.c 2012-02-21 21:20:05.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 447,
- /**/
-
---
-From "know your smileys":
- :----} You lie like Pinocchio
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.448 b/source/ap/vim/patches/7.3.448
deleted file mode 100644
index 91d8f26e0..000000000
--- a/source/ap/vim/patches/7.3.448
+++ /dev/null
@@ -1,180 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.448
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.448 (after 7.3.447)
-Problem: Win32: Still a problem with "!start /b".
-Solution: Escape only '|'. (Yasuhiro Matsumoto)
-Files: src/os_win32.c
-
-
-*** ../vim-7.3.447/src/os_win32.c 2012-02-21 21:22:40.000000000 +0100
---- src/os_win32.c 2012-02-22 13:06:55.000000000 +0100
-***************
-*** 3933,3939 ****
- else
- {
- /* we use "command" or "cmd" to start the shell; slow but easy */
-! char_u *cmdbase = cmd;
-
- /* Skip a leading ", ( and "(. */
- if (*cmdbase == '"' )
---- 3933,3941 ----
- else
- {
- /* we use "command" or "cmd" to start the shell; slow but easy */
-! char_u *newcmd = NULL;
-! char_u *cmdbase = cmd;
-! long_u cmdlen;
-
- /* Skip a leading ", ( and "(. */
- if (*cmdbase == '"' )
-***************
-*** 3971,3982 ****
- flags = CREATE_NO_WINDOW;
- si.dwFlags = STARTF_USESTDHANDLES;
- si.hStdInput = CreateFile("\\\\.\\NUL", // File name
-! GENERIC_READ, // Access flags
- 0, // Share flags
-! NULL, // Security att.
-! OPEN_EXISTING, // Open flags
-! FILE_ATTRIBUTE_NORMAL, // File att.
-! NULL); // Temp file
- si.hStdOutput = si.hStdInput;
- si.hStdError = si.hStdInput;
- }
---- 3973,3984 ----
- flags = CREATE_NO_WINDOW;
- si.dwFlags = STARTF_USESTDHANDLES;
- si.hStdInput = CreateFile("\\\\.\\NUL", // File name
-! GENERIC_READ, // Access flags
- 0, // Share flags
-! NULL, // Security att.
-! OPEN_EXISTING, // Open flags
-! FILE_ATTRIBUTE_NORMAL, // File att.
-! NULL); // Temp file
- si.hStdOutput = si.hStdInput;
- si.hStdError = si.hStdInput;
- }
-***************
-*** 3993,4004 ****
- *--p = NUL;
- }
-
- /*
-! * Unescape characters in shellxescape. This is workaround for
-! * /b option. Only redirect character should be unescaped.
- */
-! unescape_shellxquote(cmdbase,
-! (flags & CREATE_NEW_CONSOLE) ? p_sxe : "<>");
-
- /*
- * Now, start the command as a process, so that it doesn't
---- 3995,4030 ----
- *--p = NUL;
- }
-
-+ newcmd = cmdbase;
-+ unescape_shellxquote(cmdbase, p_sxe);
-+
- /*
-! * If creating new console, arguments are passed to the
-! * 'cmd.exe' as-is. If it's not, arguments are not treated
-! * correctly for current 'cmd.exe'. So unescape characters in
-! * shellxescape except '|' for avoiding to be treated as
-! * argument to them. Pass the arguments to sub-shell.
- */
-! if (flags != CREATE_NEW_CONSOLE)
-! {
-! char_u *subcmd;
-! char_u *cmd_shell = default_shell();
-!
-! subcmd = vim_strsave_escaped_ext(cmdbase, "|", '^', FALSE);
-! if (subcmd != NULL)
-! {
-! /* make "cmd.exe /c arguments" */
-! cmdlen = STRLEN(cmd_shell) + STRLEN(subcmd) + 5;
-! vim_free(subcmd);
-!
-! newcmd = lalloc(cmdlen, TRUE);
-! if (newcmd != NULL)
-! vim_snprintf((char *)newcmd, cmdlen, "%s /c %s",
-! default_shell, subcmd);
-! else
-! newcmd = cmdbase;
-! }
-! }
-
- /*
- * Now, start the command as a process, so that it doesn't
-***************
-*** 4006,4012 ****
- * files if we exit before the spawned process
- */
- if (CreateProcess(NULL, // Executable name
-! cmdbase, // Command to execute
- NULL, // Process security attributes
- NULL, // Thread security attributes
- FALSE, // Inherit handles
---- 4032,4038 ----
- * files if we exit before the spawned process
- */
- if (CreateProcess(NULL, // Executable name
-! newcmd, // Command to execute
- NULL, // Process security attributes
- NULL, // Thread security attributes
- FALSE, // Inherit handles
-***************
-*** 4023,4028 ****
---- 4049,4058 ----
- EMSG(_("E371: Command not found"));
- #endif
- }
-+
-+ if (newcmd != cmdbase)
-+ vim_free(newcmd);
-+
- if (si.hStdInput != NULL)
- {
- /* Close the handle to \\.\NUL */
-***************
-*** 4034,4041 ****
- }
- else
- {
-! char_u *newcmd;
-! long_u cmdlen = (
- #ifdef FEAT_GUI_W32
- (allowPiping && !p_stmp ? 0 : STRLEN(vimrun_path)) +
- #endif
---- 4064,4070 ----
- }
- else
- {
-! cmdlen = (
- #ifdef FEAT_GUI_W32
- (allowPiping && !p_stmp ? 0 : STRLEN(vimrun_path)) +
- #endif
-*** ../vim-7.3.447/src/version.c 2012-02-21 21:22:40.000000000 +0100
---- src/version.c 2012-02-22 13:02:15.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 448,
- /**/
-
---
-From "know your smileys":
- ~#:-( I just washed my hair, and I can't do nuthin' with it.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.449 b/source/ap/vim/patches/7.3.449
deleted file mode 100644
index 9b5bdea85..000000000
--- a/source/ap/vim/patches/7.3.449
+++ /dev/null
@@ -1,455 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.449
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.449
-Problem: Crash when a BufWinLeave autocommand closes the only other window.
- (Daniel Hunt)
-Solution: Abort closing a buffer when it becomes the only one.
-Files: src/buffer.c, src/proto/buffer.pro, src/ex_cmds.c, src/ex_getln.c,
- src/misc2.c, src/quickfix.c, src/window.c, src/proto/window.pro
-
-
-*** ../vim-7.3.448/src/buffer.c 2012-01-20 20:44:38.000000000 +0100
---- src/buffer.c 2012-02-22 14:50:42.000000000 +0100
-***************
-*** 64,69 ****
---- 64,72 ----
- static char *msg_loclist = N_("[Location List]");
- static char *msg_qflist = N_("[Quickfix List]");
- #endif
-+ #ifdef FEAT_AUTOCMD
-+ static char *e_auabort = N_("E855: Autocommands caused command to abort");
-+ #endif
-
- /*
- * Open current buffer, that is: open the memfile and read the file into
-***************
-*** 96,102 ****
- * There MUST be a memfile, otherwise we can't do anything
- * If we can't create one for the current buffer, take another buffer
- */
-! close_buffer(NULL, curbuf, 0);
- for (curbuf = firstbuf; curbuf != NULL; curbuf = curbuf->b_next)
- if (curbuf->b_ml.ml_mfp != NULL)
- break;
---- 99,105 ----
- * There MUST be a memfile, otherwise we can't do anything
- * If we can't create one for the current buffer, take another buffer
- */
-! close_buffer(NULL, curbuf, 0, FALSE);
- for (curbuf = firstbuf; curbuf != NULL; curbuf = curbuf->b_next)
- if (curbuf->b_ml.ml_mfp != NULL)
- break;
-***************
-*** 316,327 ****
- * get a new buffer very soon!
- *
- * The 'bufhidden' option can force freeing and deleting.
- */
- void
-! close_buffer(win, buf, action)
- win_T *win; /* if not NULL, set b_last_cursor */
- buf_T *buf;
- int action;
- {
- #ifdef FEAT_AUTOCMD
- int is_curbuf;
---- 319,335 ----
- * get a new buffer very soon!
- *
- * The 'bufhidden' option can force freeing and deleting.
-+ *
-+ * When "abort_if_last" is TRUE then do not close the buffer if autocommands
-+ * cause there to be only one window with this buffer. e.g. when ":quit" is
-+ * supposed to close the window but autocommands close all other windows.
- */
- void
-! close_buffer(win, buf, action, abort_if_last)
- win_T *win; /* if not NULL, set b_last_cursor */
- buf_T *buf;
- int action;
-+ int abort_if_last;
- {
- #ifdef FEAT_AUTOCMD
- int is_curbuf;
-***************
-*** 371,378 ****
- {
- apply_autocmds(EVENT_BUFWINLEAVE, buf->b_fname, buf->b_fname,
- FALSE, buf);
-! if (!buf_valid(buf)) /* autocommands may delete the buffer */
- return;
-
- /* When the buffer becomes hidden, but is not unloaded, trigger
- * BufHidden */
---- 379,390 ----
- {
- apply_autocmds(EVENT_BUFWINLEAVE, buf->b_fname, buf->b_fname,
- FALSE, buf);
-! /* Return if autocommands deleted the buffer or made it the only one. */
-! if (!buf_valid(buf) || (abort_if_last && one_window()))
-! {
-! EMSG(_(e_auabort));
- return;
-+ }
-
- /* When the buffer becomes hidden, but is not unloaded, trigger
- * BufHidden */
-***************
-*** 380,387 ****
- {
- apply_autocmds(EVENT_BUFHIDDEN, buf->b_fname, buf->b_fname,
- FALSE, buf);
-! if (!buf_valid(buf)) /* autocmds may delete the buffer */
- return;
- }
- # ifdef FEAT_EVAL
- if (aborting()) /* autocmds may abort script processing */
---- 392,404 ----
- {
- apply_autocmds(EVENT_BUFHIDDEN, buf->b_fname, buf->b_fname,
- FALSE, buf);
-! /* Return if autocommands deleted the buffer or made it the only
-! * one. */
-! if (!buf_valid(buf) || (abort_if_last && one_window()))
-! {
-! EMSG(_(e_auabort));
- return;
-+ }
- }
- # ifdef FEAT_EVAL
- if (aborting()) /* autocmds may abort script processing */
-***************
-*** 775,781 ****
- * open a new, empty buffer. */
- swap_exists_action = SEA_NONE; /* don't want it again */
- swap_exists_did_quit = TRUE;
-! close_buffer(curwin, curbuf, DOBUF_UNLOAD);
- if (!buf_valid(old_curbuf) || old_curbuf == curbuf)
- old_curbuf = buflist_new(NULL, NULL, 1L, BLN_CURBUF | BLN_LISTED);
- if (old_curbuf != NULL)
---- 792,798 ----
- * open a new, empty buffer. */
- swap_exists_action = SEA_NONE; /* don't want it again */
- swap_exists_did_quit = TRUE;
-! close_buffer(curwin, curbuf, DOBUF_UNLOAD, FALSE);
- if (!buf_valid(old_curbuf) || old_curbuf == curbuf)
- old_curbuf = buflist_new(NULL, NULL, 1L, BLN_CURBUF | BLN_LISTED);
- if (old_curbuf != NULL)
-***************
-*** 1122,1128 ****
- * if the buffer still exists.
- */
- if (buf != curbuf && buf_valid(buf) && buf->b_nwindows == 0)
-! close_buffer(NULL, buf, action);
- return retval;
- }
-
---- 1139,1145 ----
- * if the buffer still exists.
- */
- if (buf != curbuf && buf_valid(buf) && buf->b_nwindows == 0)
-! close_buffer(NULL, buf, action, FALSE);
- return retval;
- }
-
-***************
-*** 1146,1152 ****
- close_windows(buf, FALSE);
- #endif
- if (buf != curbuf && buf_valid(buf) && buf->b_nwindows <= 0)
-! close_buffer(NULL, buf, action);
- return OK;
- }
-
---- 1163,1169 ----
- close_windows(buf, FALSE);
- #endif
- if (buf != curbuf && buf_valid(buf) && buf->b_nwindows <= 0)
-! close_buffer(NULL, buf, action, FALSE);
- return OK;
- }
-
-***************
-*** 1378,1384 ****
- close_buffer(prevbuf == curwin->w_buffer ? curwin : NULL, prevbuf,
- unload ? action : (action == DOBUF_GOTO
- && !P_HID(prevbuf)
-! && !bufIsChanged(prevbuf)) ? DOBUF_UNLOAD : 0);
- }
- }
- #ifdef FEAT_AUTOCMD
---- 1395,1401 ----
- close_buffer(prevbuf == curwin->w_buffer ? curwin : NULL, prevbuf,
- unload ? action : (action == DOBUF_GOTO
- && !P_HID(prevbuf)
-! && !bufIsChanged(prevbuf)) ? DOBUF_UNLOAD : 0, FALSE);
- }
- }
- #ifdef FEAT_AUTOCMD
-***************
-*** 2708,2714 ****
- vim_free(ffname);
- return FAIL;
- }
-! close_buffer(NULL, obuf, DOBUF_WIPE); /* delete from the list */
- }
- sfname = vim_strsave(sfname);
- if (ffname == NULL || sfname == NULL)
---- 2725,2732 ----
- vim_free(ffname);
- return FAIL;
- }
-! /* delete from the list */
-! close_buffer(NULL, obuf, DOBUF_WIPE, FALSE);
- }
- sfname = vim_strsave(sfname);
- if (ffname == NULL || sfname == NULL)
-***************
-*** 5638,5644 ****
- if (!aucmd) /* Don't trigger BufDelete autocommands here. */
- block_autocmds();
- #endif
-! close_buffer(NULL, buf, DOBUF_WIPE);
- #ifdef FEAT_AUTOCMD
- if (!aucmd)
- unblock_autocmds();
---- 5656,5662 ----
- if (!aucmd) /* Don't trigger BufDelete autocommands here. */
- block_autocmds();
- #endif
-! close_buffer(NULL, buf, DOBUF_WIPE, FALSE);
- #ifdef FEAT_AUTOCMD
- if (!aucmd)
- unblock_autocmds();
-*** ../vim-7.3.448/src/proto/buffer.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/buffer.pro 2012-02-22 14:04:26.000000000 +0100
-***************
-*** 1,7 ****
- /* buffer.c */
- int open_buffer __ARGS((int read_stdin, exarg_T *eap, int flags));
- int buf_valid __ARGS((buf_T *buf));
-! void close_buffer __ARGS((win_T *win, buf_T *buf, int action));
- void buf_clear_file __ARGS((buf_T *buf));
- void buf_freeall __ARGS((buf_T *buf, int flags));
- void goto_buffer __ARGS((exarg_T *eap, int start, int dir, int count));
---- 1,7 ----
- /* buffer.c */
- int open_buffer __ARGS((int read_stdin, exarg_T *eap, int flags));
- int buf_valid __ARGS((buf_T *buf));
-! void close_buffer __ARGS((win_T *win, buf_T *buf, int action, int abort_if_last));
- void buf_clear_file __ARGS((buf_T *buf));
- void buf_freeall __ARGS((buf_T *buf, int flags));
- void goto_buffer __ARGS((exarg_T *eap, int start, int dir, int count));
-*** ../vim-7.3.448/src/ex_cmds.c 2011-12-30 15:01:55.000000000 +0100
---- src/ex_cmds.c 2012-02-22 14:00:32.000000000 +0100
-***************
-*** 3387,3393 ****
- /* close the link to the current buffer */
- u_sync(FALSE);
- close_buffer(oldwin, curbuf,
-! (flags & ECMD_HIDE) ? 0 : DOBUF_UNLOAD);
-
- #ifdef FEAT_AUTOCMD
- /* Autocommands may open a new window and leave oldwin open
---- 3387,3393 ----
- /* close the link to the current buffer */
- u_sync(FALSE);
- close_buffer(oldwin, curbuf,
-! (flags & ECMD_HIDE) ? 0 : DOBUF_UNLOAD, FALSE);
-
- #ifdef FEAT_AUTOCMD
- /* Autocommands may open a new window and leave oldwin open
-*** ../vim-7.3.448/src/ex_getln.c 2012-02-04 22:44:27.000000000 +0100
---- src/ex_getln.c 2012-02-22 14:01:56.000000000 +0100
-***************
-*** 6443,6449 ****
- /* win_close() may have already wiped the buffer when 'bh' is
- * set to 'wipe' */
- if (buf_valid(bp))
-! close_buffer(NULL, bp, DOBUF_WIPE);
-
- /* Restore window sizes. */
- win_size_restore(&winsizes);
---- 6443,6449 ----
- /* win_close() may have already wiped the buffer when 'bh' is
- * set to 'wipe' */
- if (buf_valid(bp))
-! close_buffer(NULL, bp, DOBUF_WIPE, FALSE);
-
- /* Restore window sizes. */
- win_size_restore(&winsizes);
-*** ../vim-7.3.448/src/misc2.c 2012-02-20 22:18:22.000000000 +0100
---- src/misc2.c 2012-02-22 14:02:12.000000000 +0100
-***************
-*** 1173,1179 ****
- for (buf = firstbuf; buf != NULL; )
- {
- nextbuf = buf->b_next;
-! close_buffer(NULL, buf, DOBUF_WIPE);
- if (buf_valid(buf))
- buf = nextbuf; /* didn't work, try next one */
- else
---- 1173,1179 ----
- for (buf = firstbuf; buf != NULL; )
- {
- nextbuf = buf->b_next;
-! close_buffer(NULL, buf, DOBUF_WIPE, FALSE);
- if (buf_valid(buf))
- buf = nextbuf; /* didn't work, try next one */
- else
-*** ../vim-7.3.448/src/quickfix.c 2012-01-20 13:39:03.000000000 +0100
---- src/quickfix.c 2012-02-22 14:02:20.000000000 +0100
-***************
-*** 3565,3571 ****
- buf_T *buf;
- {
- if (curbuf != buf) /* safety check */
-! close_buffer(NULL, buf, DOBUF_UNLOAD);
- }
-
- #if defined(FEAT_EVAL) || defined(PROTO)
---- 3565,3571 ----
- buf_T *buf;
- {
- if (curbuf != buf) /* safety check */
-! close_buffer(NULL, buf, DOBUF_UNLOAD, FALSE);
- }
-
- #if defined(FEAT_EVAL) || defined(PROTO)
-*** ../vim-7.3.448/src/window.c 2012-01-10 22:26:12.000000000 +0100
---- src/window.c 2012-02-22 14:08:13.000000000 +0100
-***************
-*** 23,29 ****
- static void win_totop __ARGS((int size, int flags));
- static void win_equal_rec __ARGS((win_T *next_curwin, int current, frame_T *topfr, int dir, int col, int row, int width, int height));
- static int last_window __ARGS((void));
-- static int one_window __ARGS((void));
- static win_T *win_free_mem __ARGS((win_T *win, int *dirp, tabpage_T *tp));
- static frame_T *win_altframe __ARGS((win_T *win, tabpage_T *tp));
- static tabpage_T *alt_tabpage __ARGS((void));
---- 23,28 ----
-***************
-*** 2083,2089 ****
- * Return TRUE if there is only one window other than "aucmd_win" in the
- * current tab page.
- */
-! static int
- one_window()
- {
- #ifdef FEAT_AUTOCMD
---- 2082,2088 ----
- * Return TRUE if there is only one window other than "aucmd_win" in the
- * current tab page.
- */
-! int
- one_window()
- {
- #ifdef FEAT_AUTOCMD
-***************
-*** 2109,2115 ****
- * Close window "win". Only works for the current tab page.
- * If "free_buf" is TRUE related buffer may be unloaded.
- *
-! * called by :quit, :close, :xit, :wq and findtag()
- */
- void
- win_close(win, free_buf)
---- 2108,2114 ----
- * Close window "win". Only works for the current tab page.
- * If "free_buf" is TRUE related buffer may be unloaded.
- *
-! * Called by :quit, :close, :xit, :wq and findtag().
- */
- void
- win_close(win, free_buf)
-***************
-*** 2222,2228 ****
- * Close the link to the buffer.
- */
- if (win->w_buffer != NULL)
-! close_buffer(win, win->w_buffer, free_buf ? DOBUF_UNLOAD : 0);
-
- /* Autocommands may have closed the window already, or closed the only
- * other window or moved to another tab page. */
---- 2221,2227 ----
- * Close the link to the buffer.
- */
- if (win->w_buffer != NULL)
-! close_buffer(win, win->w_buffer, free_buf ? DOBUF_UNLOAD : 0, TRUE);
-
- /* Autocommands may have closed the window already, or closed the only
- * other window or moved to another tab page. */
-***************
-*** 2328,2334 ****
- int free_tp = FALSE;
-
- /* Close the link to the buffer. */
-! close_buffer(win, win->w_buffer, free_buf ? DOBUF_UNLOAD : 0);
-
- /* Careful: Autocommands may have closed the tab page or made it the
- * current tab page. */
---- 2327,2333 ----
- int free_tp = FALSE;
-
- /* Close the link to the buffer. */
-! close_buffer(win, win->w_buffer, free_buf ? DOBUF_UNLOAD : 0, FALSE);
-
- /* Careful: Autocommands may have closed the tab page or made it the
- * current tab page. */
-*** ../vim-7.3.448/src/proto/window.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/window.pro 2012-02-22 14:08:28.000000000 +0100
-***************
-*** 1,13 ****
- /* window.c */
- void do_window __ARGS((int nchar, long Prenum, int xchar));
- int win_split __ARGS((int size, int flags));
-! int win_split_ins __ARGS((int size, int flags, win_T *newwin, int dir));
- int win_valid __ARGS((win_T *win));
- int win_count __ARGS((void));
- int make_windows __ARGS((int count, int vertical));
- void win_move_after __ARGS((win_T *win1, win_T *win2));
- void win_equal __ARGS((win_T *next_curwin, int current, int dir));
- void close_windows __ARGS((buf_T *buf, int keep_curwin));
- void win_close __ARGS((win_T *win, int free_buf));
- void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
- void win_free_all __ARGS((void));
---- 1,14 ----
- /* window.c */
- void do_window __ARGS((int nchar, long Prenum, int xchar));
- int win_split __ARGS((int size, int flags));
-! int win_split_ins __ARGS((int size, int flags, win_T *new_wp, int dir));
- int win_valid __ARGS((win_T *win));
- int win_count __ARGS((void));
- int make_windows __ARGS((int count, int vertical));
- void win_move_after __ARGS((win_T *win1, win_T *win2));
- void win_equal __ARGS((win_T *next_curwin, int current, int dir));
- void close_windows __ARGS((buf_T *buf, int keep_curwin));
-+ int one_window __ARGS((void));
- void win_close __ARGS((win_T *win, int free_buf));
- void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
- void win_free_all __ARGS((void));
-*** ../vim-7.3.448/src/version.c 2012-02-22 13:07:02.000000000 +0100
---- src/version.c 2012-02-22 14:55:21.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 449,
- /**/
-
---
-From "know your smileys":
- :-)-O Smiling doctor with stethoscope
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.450 b/source/ap/vim/patches/7.3.450
deleted file mode 100644
index 7112668f4..000000000
--- a/source/ap/vim/patches/7.3.450
+++ /dev/null
@@ -1,81 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.450
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.450 (after 7.3.448)
-Problem: Win32: Still a problem with "!start /b".
-Solution: Fix pointer use. (Yasuhiro Matsumoto)
-Files: src/os_win32.c
-
-
-*** ../vim-7.3.449/src/os_win32.c 2012-02-22 13:07:02.000000000 +0100
---- src/os_win32.c 2012-02-22 15:29:56.000000000 +0100
-***************
-*** 4008,4028 ****
- if (flags != CREATE_NEW_CONSOLE)
- {
- char_u *subcmd;
-! char_u *cmd_shell = default_shell();
-
- subcmd = vim_strsave_escaped_ext(cmdbase, "|", '^', FALSE);
- if (subcmd != NULL)
- {
- /* make "cmd.exe /c arguments" */
- cmdlen = STRLEN(cmd_shell) + STRLEN(subcmd) + 5;
-- vim_free(subcmd);
--
- newcmd = lalloc(cmdlen, TRUE);
- if (newcmd != NULL)
- vim_snprintf((char *)newcmd, cmdlen, "%s /c %s",
-! default_shell, subcmd);
- else
- newcmd = cmdbase;
- }
- }
-
---- 4008,4030 ----
- if (flags != CREATE_NEW_CONSOLE)
- {
- char_u *subcmd;
-! char_u *cmd_shell = mch_getenv("COMSPEC");
-!
-! if (cmd_shell == NULL || *cmd_shell == NUL)
-! cmd_shell = default_shell();
-
- subcmd = vim_strsave_escaped_ext(cmdbase, "|", '^', FALSE);
- if (subcmd != NULL)
- {
- /* make "cmd.exe /c arguments" */
- cmdlen = STRLEN(cmd_shell) + STRLEN(subcmd) + 5;
- newcmd = lalloc(cmdlen, TRUE);
- if (newcmd != NULL)
- vim_snprintf((char *)newcmd, cmdlen, "%s /c %s",
-! cmd_shell, subcmd);
- else
- newcmd = cmdbase;
-+ vim_free(subcmd);
- }
- }
-
-*** ../vim-7.3.449/src/version.c 2012-02-22 14:58:24.000000000 +0100
---- src/version.c 2012-02-22 15:33:53.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 450,
- /**/
-
---
-You are only young once, but you can stay immature indefinitely.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.451 b/source/ap/vim/patches/7.3.451
deleted file mode 100644
index 25d1b0467..000000000
--- a/source/ap/vim/patches/7.3.451
+++ /dev/null
@@ -1,363 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.451
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.451
-Problem: Tcl doesn't work on 64 bit MS-Windows.
-Solution: Make it work. (Dave Bodenstab)
-Files: src/Make_mvc.mak, src/if_tcl.c
-
-
-*** ../vim-7.3.450/src/Make_mvc.mak 2012-02-12 01:55:50.000000000 +0100
---- src/Make_mvc.mak 2012-02-22 15:43:01.000000000 +0100
-***************
-*** 616,622 ****
- -DDYNAMIC_TCL_VER=\"$(TCL_VER_LONG)\"
- TCL_OBJ = $(OUTDIR)\if_tcl.obj
- TCL_INC = /I "$(TCL)\Include" /I "$(TCL)"
-! TCL_LIB = $(TCL)\lib\tclstub$(TCL_VER).lib
- !else
- CFLAGS = $(CFLAGS) -DFEAT_TCL
- TCL_OBJ = $(OUTDIR)\if_tcl.obj
---- 616,622 ----
- -DDYNAMIC_TCL_VER=\"$(TCL_VER_LONG)\"
- TCL_OBJ = $(OUTDIR)\if_tcl.obj
- TCL_INC = /I "$(TCL)\Include" /I "$(TCL)"
-! TCL_LIB = "$(TCL)\lib\tclstub$(TCL_VER).lib"
- !else
- CFLAGS = $(CFLAGS) -DFEAT_TCL
- TCL_OBJ = $(OUTDIR)\if_tcl.obj
-*** ../vim-7.3.450/src/if_tcl.c 2011-07-27 14:15:41.000000000 +0200
---- src/if_tcl.c 2012-02-22 15:47:00.000000000 +0100
-***************
-*** 79,90 ****
- typedef struct
- {
- Tcl_Interp *interp;
- int range_start, range_end;
- int lbase;
- char *curbuf, *curwin;
- } tcl_info;
-
-! static tcl_info tclinfo = { NULL, 0, 0, 0, NULL, NULL };
-
- #define VAR_RANGE1 "::vim::range(start)"
- #define VAR_RANGE2 "::vim::range(begin)"
---- 79,91 ----
- typedef struct
- {
- Tcl_Interp *interp;
-+ int exitvalue;
- int range_start, range_end;
- int lbase;
- char *curbuf, *curwin;
- } tcl_info;
-
-! static tcl_info tclinfo = { NULL, 0, 0, 0, 0, NULL, NULL };
-
- #define VAR_RANGE1 "::vim::range(start)"
- #define VAR_RANGE2 "::vim::range(begin)"
-***************
-*** 279,294 ****
- ****************************************************************************/
-
- /*
-! * Replace standard "exit" and "catch" commands.
- *
-! * This is a design flaw in Tcl - the standard "exit" command just calls
-! * exit() and kills the application. It should return TCL_EXIT to the
-! * app, which then decides if it wants to terminate or not. In our case,
-! * we just delete the Tcl interpreter (and create a new one with the next
-! * :tcl command).
- */
-- #define TCL_EXIT 5
--
- static int
- exitcmd(dummy, interp, objc, objv)
- ClientData dummy UNUSED;
---- 280,298 ----
- ****************************************************************************/
-
- /*
-! * Replace standard "exit" command.
- *
-! * Delete the Tcl interpreter; a new one will be created with the next
-! * :tcl command). The exit code is saved (and retrieved in tclexit()).
-! * Since Tcl's exit is never expected to return and this replacement
-! * does, then (except for a trivial case) additional Tcl commands will
-! * be run. Since the interpreter is now marked as deleted, an error
-! * will be returned -- typically "attempt to call eval in deleted
-! * interpreter". Hopefully, at this point, checks for TCL_ERROR take
-! * place and control percolates back up to Vim -- but with this new error
-! * string in the interpreter's result value. Therefore it would be
-! * useless for this routine to return the exit code via Tcl_SetResult().
- */
- static int
- exitcmd(dummy, interp, objc, objv)
- ClientData dummy UNUSED;
-***************
-*** 305,351 ****
- break;
- /* FALLTHROUGH */
- case 1:
-! Tcl_SetObjResult(interp, Tcl_NewIntObj(value));
-! return TCL_EXIT;
-! default:
-! Tcl_WrongNumArgs(interp, 1, objv, "?returnCode?");
-! }
-! return TCL_ERROR;
-! }
-
-! static int
-! catchcmd(dummy, interp, objc, objv)
-! ClientData dummy UNUSED;
-! Tcl_Interp *interp;
-! int objc;
-! Tcl_Obj *CONST objv[];
-! {
-! char *varname = NULL;
-! int result;
-!
-! switch (objc)
-! {
-! case 3:
-! varname = Tcl_GetStringFromObj(objv[2], NULL);
-! /* fallthrough */
-! case 2:
-! Tcl_ResetResult(interp);
-! Tcl_AllowExceptions(interp);
-! result = Tcl_EvalObj(interp, objv[1]);
-! if (result == TCL_EXIT)
-! return result;
-! if (varname)
-! {
-! if (Tcl_SetVar(interp, varname, Tcl_GetStringResult(interp), 0) == NULL)
-! {
-! Tcl_SetResult(interp, "couldn't save command result in variable", TCL_STATIC);
-! return TCL_ERROR;
-! }
-! }
-! Tcl_SetObjResult(interp, Tcl_NewIntObj(result));
-! return TCL_OK;
- default:
-! Tcl_WrongNumArgs(interp, 1, objv, "command ?varName?");
- }
- return TCL_ERROR;
- }
---- 309,320 ----
- break;
- /* FALLTHROUGH */
- case 1:
-! tclinfo.exitvalue = value;
-
-! Tcl_DeleteInterp(interp);
-! break;
- default:
-! Tcl_WrongNumArgs(interp, 1, objv, "?returnCode?");
- }
- return TCL_ERROR;
- }
-***************
-*** 372,377 ****
---- 341,347 ----
- /*
- * "::vim::buffer list" - create a list of buffer commands.
- * "::vim::buffer {N}" - create buffer command for buffer N.
-+ * "::vim::buffer exists {N}" - test if buffer N exists.
- * "::vim::buffer new" - create a new buffer (not implemented)
- */
- static int
-***************
-*** 1663,1669 ****
- static Tcl_ChannelType channel_type =
- {
- "vimmessage", /* typeName */
-! NULL, /* version */
- channel_close, /* closeProc */
- channel_input, /* inputProc */
- channel_output, /* outputProc */
---- 1633,1639 ----
- static Tcl_ChannelType channel_type =
- {
- "vimmessage", /* typeName */
-! TCL_CHANNEL_VERSION_2, /* version */
- channel_close, /* closeProc */
- channel_input, /* inputProc */
- channel_output, /* outputProc */
-***************
-*** 1678,1683 ****
---- 1648,1655 ----
- NULL, /* flushProc */
- NULL, /* handlerProc */
- #endif
-+ /* The following should not be necessary since TCL_CHANNEL_VERSION_2 was
-+ * set above */
- #ifdef TCL_CHANNEL_VERSION_3
- NULL, /* wideSeekProc */
- #endif
-***************
-*** 1741,1747 ****
- Tcl_Interp *interp;
- static Tcl_Channel ch1, ch2;
-
-! /* replace stdout and stderr */
- ch1 = Tcl_CreateChannel(&channel_type, "vimout", VIMOUT, TCL_WRITABLE);
- ch2 = Tcl_CreateChannel(&channel_type, "vimerr", VIMERR, TCL_WRITABLE);
- Tcl_SetStdChannel(ch1, TCL_STDOUT);
---- 1713,1721 ----
- Tcl_Interp *interp;
- static Tcl_Channel ch1, ch2;
-
-! /* Create replacement channels for stdout and stderr; this has to be
-! * done each time an interpreter is created since the channels are closed
-! * when the interpreter is deleted */
- ch1 = Tcl_CreateChannel(&channel_type, "vimout", VIMOUT, TCL_WRITABLE);
- ch2 = Tcl_CreateChannel(&channel_type, "vimerr", VIMERR, TCL_WRITABLE);
- Tcl_SetStdChannel(ch1, TCL_STDOUT);
-***************
-*** 1761,1775 ****
- #endif
-
- Tcl_SetChannelOption(interp, ch1, "-buffering", "line");
- Tcl_SetChannelOption(interp, ch2, "-buffering", "line");
-
-! /* replace some standard Tcl commands */
- Tcl_DeleteCommand(interp, "exit");
- Tcl_CreateObjCommand(interp, "exit", exitcmd,
- (ClientData)NULL, (Tcl_CmdDeleteProc *)NULL);
-- Tcl_DeleteCommand(interp, "catch");
-- Tcl_CreateObjCommand(interp, "catch", catchcmd,
-- (ClientData)NULL, (Tcl_CmdDeleteProc *)NULL);
-
- /* new commands, in ::vim namespace */
- Tcl_CreateObjCommand(interp, "::vim::buffer", buffercmd,
---- 1735,1752 ----
- #endif
-
- Tcl_SetChannelOption(interp, ch1, "-buffering", "line");
-+ #ifdef WIN3264
-+ Tcl_SetChannelOption(interp, ch1, "-translation", "lf");
-+ #endif
- Tcl_SetChannelOption(interp, ch2, "-buffering", "line");
-+ #ifdef WIN3264
-+ Tcl_SetChannelOption(interp, ch2, "-translation", "lf");
-+ #endif
-
-! /* replace standard Tcl exit command */
- Tcl_DeleteCommand(interp, "exit");
- Tcl_CreateObjCommand(interp, "exit", exitcmd,
- (ClientData)NULL, (Tcl_CmdDeleteProc *)NULL);
-
- /* new commands, in ::vim namespace */
- Tcl_CreateObjCommand(interp, "::vim::buffer", buffercmd,
-***************
-*** 1821,1826 ****
---- 1798,1805 ----
- tclinfo.range_end = row2tcl(eap->line2);
- tclupdatevars();
- }
-+
-+ tclinfo.exitvalue = 0;
- return OK;
- }
-
-***************
-*** 1884,1913 ****
- {
- int newerr = OK;
-
-! if (error == TCL_EXIT)
- {
-- int retval;
- char buf[50];
-- Tcl_Obj *robj;
-
-! robj = Tcl_GetObjResult(tclinfo.interp);
-! if (Tcl_GetIntFromObj(tclinfo.interp, robj, &retval) != TCL_OK)
- {
-! EMSG(_("E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org"));
-! newerr = FAIL;
- }
- else
-! {
-! sprintf(buf, _("E572: exit code %d"), retval);
-! tclerrmsg(buf);
-! if (retval == 0)
-! {
-! did_emsg = 0;
-! newerr = OK;
-! }
-! else
-! newerr = FAIL;
-! }
-
- tcldelthisinterp();
- }
---- 1863,1885 ----
- {
- int newerr = OK;
-
-! if (Tcl_InterpDeleted(tclinfo.interp) /* True if we intercepted Tcl's exit command */
-! #if (TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION >= 5) || TCL_MAJOR_VERSION > 8
-! || Tcl_LimitExceeded(tclinfo.interp) /* True if the interpreter cannot continue */
-! #endif
-! )
- {
- char buf[50];
-
-! sprintf(buf, _("E572: exit code %d"), tclinfo.exitvalue);
-! tclerrmsg(buf);
-! if (tclinfo.exitvalue == 0)
- {
-! did_emsg = 0;
-! newerr = OK;
- }
- else
-! newerr = FAIL;
-
- tcldelthisinterp();
- }
-***************
-*** 2021,2027 ****
- Tcl_SetVar(tclinfo.interp, var_line, line, 0);
- Tcl_AllowExceptions(tclinfo.interp);
- err = Tcl_Eval(tclinfo.interp, script);
-! if (err != TCL_OK)
- break;
- line = (char *)Tcl_GetVar(tclinfo.interp, var_line, 0);
- if (line)
---- 1993,2004 ----
- Tcl_SetVar(tclinfo.interp, var_line, line, 0);
- Tcl_AllowExceptions(tclinfo.interp);
- err = Tcl_Eval(tclinfo.interp, script);
-! if (err != TCL_OK
-! || Tcl_InterpDeleted(tclinfo.interp)
-! #if (TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION >= 5) || TCL_MAJOR_VERSION > 8
-! || Tcl_LimitExceeded(tclinfo.interp)
-! #endif
-! )
- break;
- line = (char *)Tcl_GetVar(tclinfo.interp, var_line, 0);
- if (line)
-*** ../vim-7.3.450/src/version.c 2012-02-22 15:34:05.000000000 +0100
---- src/version.c 2012-02-22 16:00:49.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 451,
- /**/
-
---
-Where do you want to crash today?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.452 b/source/ap/vim/patches/7.3.452
deleted file mode 100644
index 295b2fe89..000000000
--- a/source/ap/vim/patches/7.3.452
+++ /dev/null
@@ -1,70 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.452
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.452
-Problem: Undo broken when pasting close to the last line. (Andrey Radev)
-Solution: Use a flag to remember if the deleted included the last line.
- (Christian Brabandt)
-Files: src/ops.c
-
-
-*** ../vim-7.3.451/src/ops.c 2012-01-10 13:46:18.000000000 +0100
---- src/ops.c 2012-02-22 17:32:40.000000000 +0100
-***************
-*** 1943,1954 ****
---- 1943,1956 ----
- else /* delete characters between lines */
- {
- pos_T curpos;
-+ int delete_last_line;
-
- /* save deleted and changed lines for undo */
- if (u_save((linenr_T)(curwin->w_cursor.lnum - 1),
- (linenr_T)(curwin->w_cursor.lnum + oap->line_count)) == FAIL)
- return FAIL;
-
-+ delete_last_line = (oap->end.lnum == curbuf->b_ml.ml_line_count);
- truncate_line(TRUE); /* delete from cursor to end of line */
-
- curpos = curwin->w_cursor; /* remember curwin->w_cursor */
-***************
-*** 1956,1962 ****
- del_lines((long)(oap->line_count - 2), FALSE);
-
- n = (oap->end.col + 1 - !oap->inclusive);
-! if (oap->inclusive && oap->end.lnum == curbuf->b_ml.ml_line_count
- && n > (int)STRLEN(ml_get(oap->end.lnum)))
- {
- /* Special case: gH<Del> deletes the last line. */
---- 1958,1964 ----
- del_lines((long)(oap->line_count - 2), FALSE);
-
- n = (oap->end.col + 1 - !oap->inclusive);
-! if (oap->inclusive && delete_last_line
- && n > (int)STRLEN(ml_get(oap->end.lnum)))
- {
- /* Special case: gH<Del> deletes the last line. */
-*** ../vim-7.3.451/src/version.c 2012-02-22 16:01:53.000000000 +0100
---- src/version.c 2012-02-22 17:37:18.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 452,
- /**/
-
---
-From "know your smileys":
- =):-) Uncle Sam
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.453 b/source/ap/vim/patches/7.3.453
deleted file mode 100644
index cf0f0e716..000000000
--- a/source/ap/vim/patches/7.3.453
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.453
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.453
-Problem: Pasting in the command line is slow.
-Solution: Don't redraw if there is another character to read. (Dominique
- Pelle)
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.452/src/ex_getln.c 2012-02-22 14:58:24.000000000 +0100
---- src/ex_getln.c 2012-02-22 17:53:32.000000000 +0100
-***************
-*** 1852,1859 ****
- # endif
- )
- /* Always redraw the whole command line to fix shaping and
-! * right-left typing. Not efficient, but it works. */
-! redrawcmd();
- #endif
- }
-
---- 1852,1862 ----
- # endif
- )
- /* Always redraw the whole command line to fix shaping and
-! * right-left typing. Not efficient, but it works.
-! * Do it only when there are no characters left to read
-! * to avoid useless intermediate redraws. */
-! if (vpeekc() == NUL)
-! redrawcmd();
- #endif
- }
-
-*** ../vim-7.3.452/src/version.c 2012-02-22 17:37:55.000000000 +0100
---- src/version.c 2012-02-22 17:56:59.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 453,
- /**/
-
---
-From "know your smileys":
- <<<:-{ Worf (Never smiles anyways, so he's a bad smiley)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.454 b/source/ap/vim/patches/7.3.454
deleted file mode 100644
index 8658926af..000000000
--- a/source/ap/vim/patches/7.3.454
+++ /dev/null
@@ -1,84 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.454
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.454
-Problem: Re-allocating memory slows Vim down.
-Solution: Use realloc() in ga_grow(). (Dominique Pelle)
-Files: src/misc2.c
-
-
-*** ../vim-7.3.453/src/misc2.c 2012-02-22 14:58:24.000000000 +0100
---- src/misc2.c 2012-02-22 18:07:45.000000000 +0100
-***************
-*** 2064,2087 ****
- garray_T *gap;
- int n;
- {
-! size_t len;
- char_u *pp;
-
- if (gap->ga_maxlen - gap->ga_len < n)
- {
- if (n < gap->ga_growsize)
- n = gap->ga_growsize;
-! len = gap->ga_itemsize * (gap->ga_len + n);
-! pp = alloc_clear((unsigned)len);
- if (pp == NULL)
- return FAIL;
- gap->ga_maxlen = gap->ga_len + n;
-- if (gap->ga_data != NULL)
-- {
-- mch_memmove(pp, gap->ga_data,
-- (size_t)(gap->ga_itemsize * gap->ga_len));
-- vim_free(gap->ga_data);
-- }
- gap->ga_data = pp;
- }
- return OK;
---- 2064,2085 ----
- garray_T *gap;
- int n;
- {
-! size_t old_len;
-! size_t new_len;
- char_u *pp;
-
- if (gap->ga_maxlen - gap->ga_len < n)
- {
- if (n < gap->ga_growsize)
- n = gap->ga_growsize;
-! new_len = gap->ga_itemsize * (gap->ga_len + n);
-! pp = (gap->ga_data == NULL)
-! ? alloc(new_len) : vim_realloc(gap->ga_data, new_len);
- if (pp == NULL)
- return FAIL;
-+ old_len = gap->ga_itemsize * gap->ga_maxlen;
-+ vim_memset(pp + old_len, 0, new_len - old_len);
- gap->ga_maxlen = gap->ga_len + n;
- gap->ga_data = pp;
- }
- return OK;
-*** ../vim-7.3.453/src/version.c 2012-02-22 17:58:00.000000000 +0100
---- src/version.c 2012-02-22 18:09:42.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 454,
- /**/
-
---
-From "know your smileys":
- (X0||) Double hamburger with lettuce and tomato
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.455 b/source/ap/vim/patches/7.3.455
deleted file mode 100644
index 217b00d70..000000000
--- a/source/ap/vim/patches/7.3.455
+++ /dev/null
@@ -1,70 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.455
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.455
-Problem: Using many continuation lines can be slow.
-Solution: Adjust the reallocation size to the current length.
-Files: src/ex_cmds2.c
-
-
-*** ../vim-7.3.454/src/ex_cmds2.c 2012-02-11 20:40:49.000000000 +0100
---- src/ex_cmds2.c 2012-02-22 18:24:11.000000000 +0100
-***************
-*** 3448,3454 ****
- {
- garray_T ga;
-
-! ga_init2(&ga, (int)sizeof(char_u), 200);
- ga_concat(&ga, line);
- ga_concat(&ga, p + 1);
- for (;;)
---- 3448,3454 ----
- {
- garray_T ga;
-
-! ga_init2(&ga, (int)sizeof(char_u), 400);
- ga_concat(&ga, line);
- ga_concat(&ga, p + 1);
- for (;;)
-***************
-*** 3460,3465 ****
---- 3460,3474 ----
- p = skipwhite(sp->nextline);
- if (*p != '\\')
- break;
-+ /* Adjust the growsize to the current length to speed up
-+ * concatenating many lines. */
-+ if (ga.ga_len > 400)
-+ {
-+ if (ga.ga_len > 8000)
-+ ga.ga_growsize = 8000;
-+ else
-+ ga.ga_growsize = ga.ga_len;
-+ }
- ga_concat(&ga, p + 1);
- }
- ga_append(&ga, NUL);
-*** ../vim-7.3.454/src/version.c 2012-02-22 18:12:29.000000000 +0100
---- src/version.c 2012-02-22 18:24:58.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 455,
- /**/
-
---
-From "know your smileys":
- :-X My lips are sealed
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.456 b/source/ap/vim/patches/7.3.456
deleted file mode 100644
index 26fc2a987..000000000
--- a/source/ap/vim/patches/7.3.456
+++ /dev/null
@@ -1,376 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.456
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.456
-Problem: ":tab drop file" has several problems, including moving the
- current window and opening a new tab for a file that already has a
- window.
-Solution: Refactor ":tab drop" handling. (Hirohito Higashi)
-Files: src/buffer.c, src/testdir/test62.in, src/testdir/test62.ok
-
-
-*** ../vim-7.3.455/src/buffer.c 2012-02-22 14:58:24.000000000 +0100
---- src/buffer.c 2012-02-22 19:08:34.000000000 +0100
-***************
-*** 4405,4411 ****
- {
- int i;
- win_T *wp, *wpnext;
-! char_u *opened; /* array of flags for which args are open */
- int opened_len; /* length of opened[] */
- int use_firstwin = FALSE; /* use first window for arglist */
- int split_ret = OK;
---- 4405,4416 ----
- {
- int i;
- win_T *wp, *wpnext;
-! char_u *opened; /* Array of weight for which args are open:
-! * 0: not opened
-! * 1: opened in other tab
-! * 2: opened in curtab
-! * 3: opened in curtab and curwin
-! */
- int opened_len; /* length of opened[] */
- int use_firstwin = FALSE; /* use first window for arglist */
- int split_ret = OK;
-***************
-*** 4414,4419 ****
---- 4419,4426 ----
- buf_T *buf;
- tabpage_T *tpnext;
- int had_tab = cmdmod.tab;
-+ win_T *old_curwin, *last_curwin;
-+ tabpage_T *old_curtab, *last_curtab;
- win_T *new_curwin = NULL;
- tabpage_T *new_curtab = NULL;
-
-***************
-*** 4430,4435 ****
---- 4437,4451 ----
- if (opened == NULL)
- return;
-
-+ /* Autocommands may do anything to the argument list. Make sure it's not
-+ * freed while we are working here by "locking" it. We still have to
-+ * watch out for its size to be changed. */
-+ alist = curwin->w_alist;
-+ ++alist->al_refcount;
-+
-+ old_curwin = curwin;
-+ old_curtab = curtab;
-+
- #ifdef FEAT_GUI
- need_mouse_correct = TRUE;
- #endif
-***************
-*** 4451,4486 ****
- wpnext = wp->w_next;
- buf = wp->w_buffer;
- if (buf->b_ffname == NULL
-! || buf->b_nwindows > 1
- #ifdef FEAT_VERTSPLIT
- || wp->w_width != Columns
- #endif
- )
-! i = ARGCOUNT;
- else
- {
- /* check if the buffer in this window is in the arglist */
-! for (i = 0; i < ARGCOUNT; ++i)
- {
-! if (ARGLIST[i].ae_fnum == buf->b_fnum
-! || fullpathcmp(alist_name(&ARGLIST[i]),
-! buf->b_ffname, TRUE) & FPC_SAME)
- {
-! if (i < opened_len)
- {
-! opened[i] = TRUE;
- if (i == 0)
- {
- new_curwin = wp;
- new_curtab = curtab;
- }
- }
-! if (wp->w_alist != curwin->w_alist)
- {
- /* Use the current argument list for all windows
- * containing a file from it. */
- alist_unlink(wp->w_alist);
-! wp->w_alist = curwin->w_alist;
- ++wp->w_alist->al_refcount;
- }
- break;
---- 4467,4517 ----
- wpnext = wp->w_next;
- buf = wp->w_buffer;
- if (buf->b_ffname == NULL
-! || (!keep_tabs && buf->b_nwindows > 1)
- #ifdef FEAT_VERTSPLIT
- || wp->w_width != Columns
- #endif
- )
-! i = opened_len;
- else
- {
- /* check if the buffer in this window is in the arglist */
-! for (i = 0; i < opened_len; ++i)
- {
-! if (i < alist->al_ga.ga_len
-! && (AARGLIST(alist)[i].ae_fnum == buf->b_fnum
-! || fullpathcmp(alist_name(&AARGLIST(alist)[i]),
-! buf->b_ffname, TRUE) & FPC_SAME))
- {
-! int weight = 1;
-!
-! if (old_curtab == curtab)
-! {
-! ++weight;
-! if (old_curwin == wp)
-! ++weight;
-! }
-!
-! if (weight > (int)opened[i])
- {
-! opened[i] = (char_u)weight;
- if (i == 0)
- {
-+ if (new_curwin != NULL)
-+ new_curwin->w_arg_idx = opened_len;
- new_curwin = wp;
- new_curtab = curtab;
- }
- }
-! else if (keep_tabs)
-! i = opened_len;
-!
-! if (wp->w_alist != alist)
- {
- /* Use the current argument list for all windows
- * containing a file from it. */
- alist_unlink(wp->w_alist);
-! wp->w_alist = alist;
- ++wp->w_alist->al_refcount;
- }
- break;
-***************
-*** 4489,4495 ****
- }
- wp->w_arg_idx = i;
-
-! if (i == ARGCOUNT && !keep_tabs) /* close this window */
- {
- if (P_HID(buf) || forceit || buf->b_nwindows > 1
- || !bufIsChanged(buf))
---- 4520,4526 ----
- }
- wp->w_arg_idx = i;
-
-! if (i == opened_len && !keep_tabs)/* close this window */
- {
- if (P_HID(buf) || forceit || buf->b_nwindows > 1
- || !bufIsChanged(buf))
-***************
-*** 4511,4517 ****
- }
- #ifdef FEAT_WINDOWS
- /* don't close last window */
-! if (firstwin == lastwin && first_tabpage->tp_next == NULL)
- #endif
- use_firstwin = TRUE;
- #ifdef FEAT_WINDOWS
---- 4542,4549 ----
- }
- #ifdef FEAT_WINDOWS
- /* don't close last window */
-! if (firstwin == lastwin
-! && (first_tabpage->tp_next == NULL || !had_tab))
- #endif
- use_firstwin = TRUE;
- #ifdef FEAT_WINDOWS
-***************
-*** 4545,4564 ****
- * Open a window for files in the argument list that don't have one.
- * ARGCOUNT may change while doing this, because of autocommands.
- */
-! if (count > ARGCOUNT || count <= 0)
-! count = ARGCOUNT;
-!
-! /* Autocommands may do anything to the argument list. Make sure it's not
-! * freed while we are working here by "locking" it. We still have to
-! * watch out for its size to be changed. */
-! alist = curwin->w_alist;
-! ++alist->al_refcount;
-
- #ifdef FEAT_AUTOCMD
- /* Don't execute Win/Buf Enter/Leave autocommands here. */
- ++autocmd_no_enter;
- ++autocmd_no_leave;
- #endif
- win_enter(lastwin, FALSE);
- #ifdef FEAT_WINDOWS
- /* ":drop all" should re-use an empty window to avoid "--remote-tab"
---- 4577,4592 ----
- * Open a window for files in the argument list that don't have one.
- * ARGCOUNT may change while doing this, because of autocommands.
- */
-! if (count > opened_len || count <= 0)
-! count = opened_len;
-
- #ifdef FEAT_AUTOCMD
- /* Don't execute Win/Buf Enter/Leave autocommands here. */
- ++autocmd_no_enter;
- ++autocmd_no_leave;
- #endif
-+ last_curwin = curwin;
-+ last_curtab = curtab;
- win_enter(lastwin, FALSE);
- #ifdef FEAT_WINDOWS
- /* ":drop all" should re-use an empty window to avoid "--remote-tab"
-***************
-*** 4568,4578 ****
- use_firstwin = TRUE;
- #endif
-
-! for (i = 0; i < count && i < alist->al_ga.ga_len && !got_int; ++i)
- {
- if (alist == &global_alist && i == global_alist.al_ga.ga_len - 1)
- arg_had_last = TRUE;
-! if (i < opened_len && opened[i])
- {
- /* Move the already present window to below the current window */
- if (curwin->w_arg_idx != i)
---- 4596,4606 ----
- use_firstwin = TRUE;
- #endif
-
-! for (i = 0; i < count && i < opened_len && !got_int; ++i)
- {
- if (alist == &global_alist && i == global_alist.al_ga.ga_len - 1)
- arg_had_last = TRUE;
-! if (opened[i] > 0)
- {
- /* Move the already present window to below the current window */
- if (curwin->w_arg_idx != i)
-***************
-*** 4581,4587 ****
- {
- if (wpnext->w_arg_idx == i)
- {
-! win_move_after(wpnext, curwin);
- break;
- }
- }
---- 4609,4621 ----
- {
- if (wpnext->w_arg_idx == i)
- {
-! if (keep_tabs)
-! {
-! new_curwin = wpnext;
-! new_curtab = curtab;
-! }
-! else
-! win_move_after(wpnext, curwin);
- break;
- }
- }
-***************
-*** 4636,4641 ****
---- 4670,4683 ----
- #ifdef FEAT_AUTOCMD
- --autocmd_no_enter;
- #endif
-+ /* restore last referenced tabpage's curwin */
-+ if (last_curtab != new_curtab)
-+ {
-+ if (valid_tabpage(last_curtab))
-+ goto_tabpage_tp(last_curtab);
-+ if (win_valid(last_curwin))
-+ win_enter(last_curwin, FALSE);
-+ }
- /* to window with first arg */
- if (valid_tabpage(new_curtab))
- goto_tabpage_tp(new_curtab);
-*** ../vim-7.3.455/src/testdir/test62.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test62.in 2012-02-22 18:45:10.000000000 +0100
-***************
-*** 50,55 ****
---- 50,92 ----
- :call append(line('$'), test_status)
- :"
- :"
-+ :" Test for ":tab drop exist-file" to keep current window.
-+ :sp test1
-+ :tab drop test1
-+ :let test_status = 'tab drop 1: fail'
-+ :if tabpagenr('$') == 1 && winnr('$') == 2 && winnr() == 1
-+ : let test_status = 'tab drop 1: pass'
-+ :endif
-+ :close
-+ :call append(line('$'), test_status)
-+ :"
-+ :"
-+ :" Test for ":tab drop new-file" to keep current window of tabpage 1.
-+ :split
-+ :tab drop newfile
-+ :let test_status = 'tab drop 2: fail'
-+ :if tabpagenr('$') == 2 && tabpagewinnr(1, '$') == 2 && tabpagewinnr(1) == 1
-+ : let test_status = 'tab drop 2: pass'
-+ :endif
-+ :tabclose
-+ :q
-+ :call append(line('$'), test_status)
-+ :"
-+ :"
-+ :" Test for ":tab drop multi-opend-file" to keep current tabpage and window.
-+ :new test1
-+ :tabnew
-+ :new test1
-+ :tab drop test1
-+ :let test_status = 'tab drop 3: fail'
-+ :if tabpagenr() == 2 && tabpagewinnr(2, '$') == 2 && tabpagewinnr(2) == 1
-+ : let test_status = 'tab drop 3: pass'
-+ :endif
-+ :tabclose
-+ :q
-+ :call append(line('$'), test_status)
-+ :"
-+ :"
- :/^Results/,$w! test.out
- :qa!
- ENDTEST
-*** ../vim-7.3.455/src/testdir/test62.ok 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test62.ok 2012-02-22 18:45:10.000000000 +0100
-***************
-*** 5,7 ****
---- 5,10 ----
- this is tab page 4
- gettabvar: pass
- settabvar: pass
-+ tab drop 1: pass
-+ tab drop 2: pass
-+ tab drop 3: pass
-*** ../vim-7.3.455/src/version.c 2012-02-22 18:29:29.000000000 +0100
---- src/version.c 2012-02-22 19:11:52.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 456,
- /**/
-
---
-% cat /usr/include/life.h
-void life(void);
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.457 b/source/ap/vim/patches/7.3.457
deleted file mode 100644
index e60d6242d..000000000
--- a/source/ap/vim/patches/7.3.457
+++ /dev/null
@@ -1,81 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.457
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.457
-Problem: When setting $VIMRUNTIME later the directory for fetching
- translated messages is not adjusted.
-Solution: Put bindtextdomain() in vim_setenv().
-Files: src/misc1.c
-
-
-*** ../vim-7.3.456/src/misc1.c 2012-02-05 22:05:44.000000000 +0100
---- src/misc1.c 2012-02-26 13:27:28.000000000 +0100
-***************
-*** 4133,4149 ****
- {
- vim_setenv((char_u *)"VIMRUNTIME", p);
- didset_vimruntime = TRUE;
-- #ifdef FEAT_GETTEXT
-- {
-- char_u *buf = concat_str(p, (char_u *)"/lang");
--
-- if (buf != NULL)
-- {
-- bindtextdomain(VIMPACKAGE, (char *)buf);
-- vim_free(buf);
-- }
-- }
-- #endif
- }
- else
- {
---- 4133,4138 ----
-***************
-*** 4221,4226 ****
---- 4210,4231 ----
- putenv((char *)envbuf);
- }
- #endif
-+ #ifdef FEAT_GETTEXT
-+ /*
-+ * When setting $VIMRUNTIME adjust the directory to find message
-+ * translations to $VIMRUNTIME/lang.
-+ */
-+ if (*val != NUL && STRICMP(name, "VIMRUNTIME") == 0)
-+ {
-+ char_u *buf = concat_str(val, (char_u *)"/lang");
-+
-+ if (buf != NULL)
-+ {
-+ bindtextdomain(VIMPACKAGE, (char *)buf);
-+ vim_free(buf);
-+ }
-+ }
-+ #endif
- }
-
- #if defined(FEAT_CMDL_COMPL) || defined(PROTO)
-*** ../vim-7.3.456/src/version.c 2012-02-22 19:13:00.000000000 +0100
---- src/version.c 2012-02-29 13:47:09.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 457,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-118. You are on a first-name basis with your ISP's staff.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.458 b/source/ap/vim/patches/7.3.458
deleted file mode 100644
index 9bd440734..000000000
--- a/source/ap/vim/patches/7.3.458
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.458
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.458
-Problem: Crash when calling smsg() during startup.
-Solution: Don't use 'shortmess' when it is not set yet.
-Files: src/option.c
-
-
-*** ../vim-7.3.457/src/option.c 2012-02-20 22:18:22.000000000 +0100
---- src/option.c 2012-02-26 13:14:48.000000000 +0100
-***************
-*** 10984,10990 ****
- shortmess(x)
- int x;
- {
-! return ( vim_strchr(p_shm, x) != NULL
- || (vim_strchr(p_shm, 'a') != NULL
- && vim_strchr((char_u *)SHM_A, x) != NULL));
- }
---- 10984,10991 ----
- shortmess(x)
- int x;
- {
-! return p_shm != NULL &&
-! ( vim_strchr(p_shm, x) != NULL
- || (vim_strchr(p_shm, 'a') != NULL
- && vim_strchr((char_u *)SHM_A, x) != NULL));
- }
-*** ../vim-7.3.457/src/version.c 2012-02-29 13:49:03.000000000 +0100
---- src/version.c 2012-02-29 13:50:52.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 458,
- /**/
-
---
-Support your right to bare arms! Wear short sleeves!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.459 b/source/ap/vim/patches/7.3.459
deleted file mode 100644
index d75a38b44..000000000
--- a/source/ap/vim/patches/7.3.459
+++ /dev/null
@@ -1,71 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.459
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.459
-Problem: Win32: Warnings for type conversion.
-Solution: Add type casts. (Mike Williams)
-Files: src/misc2.c, src/os_win32.c
-
-
-*** ../vim-7.3.458/src/misc2.c 2012-02-22 18:12:29.000000000 +0100
---- src/misc2.c 2012-02-29 13:44:17.000000000 +0100
-***************
-*** 2074,2080 ****
- n = gap->ga_growsize;
- new_len = gap->ga_itemsize * (gap->ga_len + n);
- pp = (gap->ga_data == NULL)
-! ? alloc(new_len) : vim_realloc(gap->ga_data, new_len);
- if (pp == NULL)
- return FAIL;
- old_len = gap->ga_itemsize * gap->ga_maxlen;
---- 2074,2080 ----
- n = gap->ga_growsize;
- new_len = gap->ga_itemsize * (gap->ga_len + n);
- pp = (gap->ga_data == NULL)
-! ? alloc((unsigned)new_len) : vim_realloc(gap->ga_data, new_len);
- if (pp == NULL)
- return FAIL;
- old_len = gap->ga_itemsize * gap->ga_maxlen;
-*** ../vim-7.3.458/src/os_win32.c 2012-02-22 15:34:05.000000000 +0100
---- src/os_win32.c 2012-02-29 13:43:39.000000000 +0100
-***************
-*** 264,270 ****
- static void
- unescape_shellxquote(char_u *p, char_u *escaped)
- {
-! int l = STRLEN(p);
- int n;
-
- while (*p != NUL)
---- 264,270 ----
- static void
- unescape_shellxquote(char_u *p, char_u *escaped)
- {
-! int l = (int)STRLEN(p);
- int n;
-
- while (*p != NUL)
-*** ../vim-7.3.458/src/version.c 2012-02-29 13:51:32.000000000 +0100
---- src/version.c 2012-02-29 13:58:08.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 459,
- /**/
-
---
-"A clear conscience is usually the sign of a bad memory."
- -- Steven Wright
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.460 b/source/ap/vim/patches/7.3.460
deleted file mode 100644
index c1d7e85b3..000000000
--- a/source/ap/vim/patches/7.3.460
+++ /dev/null
@@ -1,89 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.460
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.460
-Problem: Win32: UPX does not compress 64 bit binaries.
-Solution: Mention and add the alternative: mpress. (Dave Bodenstab)
-Files: src/INSTALLpc.txt, src/Make_ming.mak
-
-
-*** ../vim-7.3.459/src/INSTALLpc.txt 2011-07-15 13:51:57.000000000 +0200
---- src/INSTALLpc.txt 2012-02-29 14:01:34.000000000 +0100
-***************
-*** 239,244 ****
---- 239,250 ----
- found at
- http://www.upx.org/
-
-+ As of 2011, UPX still does not support compressing 64-bit EXE's; if you have
-+ built a 64-bit vim then an alternative to UPX is 'MPRESS'. MPRESS can be found
-+ at:
-+ http://www.matcode.com/mpress.htm
-+
-+
- ADDITION: NLS support with MinGW
-
- (by Eduardo F. Amatria <eferna1@platea.pntic.mec.es>)
-*** ../vim-7.3.459/src/Make_ming.mak 2011-10-12 14:11:43.000000000 +0200
---- src/Make_ming.mak 2012-02-29 16:54:09.000000000 +0100
-***************
-*** 14,22 ****
- # it's just run out of memory or something. Run again, and it will continue
- # with 'xxd'.
- #
-! # "make upx" makes *compressed* versions of the GUI and console EXEs, using the
-! # excellent UPX compressor:
- # http://upx.sourceforge.net/
- #
- # Maintained by Ron Aaron <ronaharon@yahoo.com>
- # updated 2003 Jan 20
---- 14,24 ----
- # it's just run out of memory or something. Run again, and it will continue
- # with 'xxd'.
- #
-! # "make upx" makes *compressed* versions of the 32 bit GUI and console EXEs,
-! # using the excellent UPX compressor:
- # http://upx.sourceforge.net/
-+ # "make mpress" uses the MPRESS compressor for 32- and 64-bit EXEs:
-+ # http://www.matcode.com/mpress.htm
- #
- # Maintained by Ron Aaron <ronaharon@yahoo.com>
- # updated 2003 Jan 20
-***************
-*** 640,645 ****
---- 642,651 ----
- upx gvim.exe
- upx vim.exe
-
-+ mpress: exes
-+ mpress gvim.exe
-+ mpress vim.exe
-+
- xxd/xxd.exe: xxd/xxd.c
- $(MAKE) -C xxd -f Make_ming.mak CC=$(CC)
-
-*** ../vim-7.3.459/src/version.c 2012-02-29 13:58:43.000000000 +0100
---- src/version.c 2012-02-29 16:54:40.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 460,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-119. You are reading a book and look for the scroll bar to get to
- the next page.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.461 b/source/ap/vim/patches/7.3.461
deleted file mode 100644
index 53c83c061..000000000
--- a/source/ap/vim/patches/7.3.461
+++ /dev/null
@@ -1,243 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.461
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.461
-Problem: The InsertCharPre autocommand event is not triggered during
- completion and when typing several characters quickly.
-Solution: Also trigger InsertCharPre during completion. Do not read ahead
- when an InsertCharPre autocommand is defined. (Yasuhiro Matsumoto)
-Files: src/edit.c, src/fileio.c, src/proto/fileio.pro
-
-
-*** ../vim-7.3.460/src/edit.c 2012-02-04 23:34:57.000000000 +0100
---- src/edit.c 2012-02-29 18:17:31.000000000 +0100
-***************
-*** 259,264 ****
---- 259,267 ----
- static void ins_try_si __ARGS((int c));
- #endif
- static colnr_T get_nolist_virtcol __ARGS((void));
-+ #ifdef FEAT_AUTOCMD
-+ static char_u *do_insert_char_pre __ARGS((int c));
-+ #endif
-
- static colnr_T Insstart_textlen; /* length of line when insert started */
- static colnr_T Insstart_blank_vcol; /* vcol for first inserted blank */
-***************
-*** 784,790 ****
- * completion: Add to "compl_leader". */
- if (ins_compl_accept_char(c))
- {
-! ins_compl_addleader(c);
- continue;
- }
-
---- 787,806 ----
- * completion: Add to "compl_leader". */
- if (ins_compl_accept_char(c))
- {
-! #ifdef FEAT_AUTOCMD
-! /* Trigger InsertCharPre. */
-! char_u *str = do_insert_char_pre(c);
-! char_u *p;
-!
-! if (str != NULL)
-! {
-! for (p = str; *p != NUL; mb_ptr_adv(p))
-! ins_compl_addleader(PTR2CHAR(p));
-! vim_free(str);
-! }
-! else
-! #endif
-! ins_compl_addleader(c);
- continue;
- }
-
-***************
-*** 1393,1426 ****
- #ifdef FEAT_AUTOCMD
- if (!p_paste)
- {
-! /* Trigger the InsertCharPre event. Lock the text to avoid
-! * weird things from happening. */
-! set_vim_var_char(c);
-! ++textlock;
-! if (apply_autocmds(EVENT_INSERTCHARPRE, NULL, NULL,
-! FALSE, curbuf))
-! {
-! /* Get the new value of v:char. If it is more than one
-! * character insert it literally. */
-! char_u *s = get_vim_var_str(VV_CHAR);
-! if (MB_CHARLEN(s) > 1)
- {
-! if (stop_arrow() != FAIL)
- {
-! ins_str(s);
-! AppendToRedobuffLit(s, -1);
- }
-! c = NUL;
- }
-! else
-! c = PTR2CHAR(s);
- }
-
-! set_vim_var_string(VV_CHAR, NULL, -1);
-! --textlock;
-!
-! /* If the new value is an empty string then don't insert a
-! * char. */
- if (c == NUL)
- break;
- }
---- 1409,1439 ----
- #ifdef FEAT_AUTOCMD
- if (!p_paste)
- {
-! /* Trigger InsertCharPre. */
-! char_u *str = do_insert_char_pre(c);
-! char_u *p;
-!
-! if (str != NULL)
-! {
-! if (*str != NUL && stop_arrow() != FAIL)
- {
-! /* Insert the new value of v:char literally. */
-! for (p = str; *p != NUL; mb_ptr_adv(p))
- {
-! c = PTR2CHAR(p);
-! if (c == CAR || c == K_KENTER || c == NL)
-! ins_eol(c);
-! else
-! ins_char(c);
- }
-! AppendToRedobuffLit(str, -1);
- }
-! vim_free(str);
-! c = NUL;
- }
-
-! /* If the new value is already inserted or an empty string
-! * then don't insert any character. */
- if (c == NUL)
- break;
- }
-***************
-*** 5883,5888 ****
---- 5896,5903 ----
- * Don't do this when 'cindent' or 'indentexpr' is set, because we might
- * need to re-indent at a ':', or any other character (but not what
- * 'paste' is set)..
-+ * Don't do this when there an InsertCharPre autocommand is defined,
-+ * because we need to fire the event for every character.
- */
- #ifdef USE_ON_FLY_SCROLL
- dont_scroll = FALSE; /* allow scrolling here */
-***************
-*** 5900,5905 ****
---- 5915,5923 ----
- #ifdef FEAT_RIGHTLEFT
- && !p_ri
- #endif
-+ #ifdef FEAT_AUTOCMD
-+ && !has_insertcharpre()
-+ #endif
- )
- {
- #define INPUT_BUFLEN 100
-***************
-*** 10068,10070 ****
---- 10086,10123 ----
- validate_virtcol();
- return curwin->w_virtcol;
- }
-+
-+ #ifdef FEAT_AUTOCMD
-+ /*
-+ * Handle the InsertCharPre autocommand.
-+ * "c" is the character that was typed.
-+ * Return a pointer to allocated memory with the replacement string.
-+ * Return NULL to continue inserting "c".
-+ */
-+ static char_u *
-+ do_insert_char_pre(c)
-+ int c;
-+ {
-+ char_u *res;
-+
-+ /* Return quickly when there is nothing to do. */
-+ if (!has_insertcharpre())
-+ return NULL;
-+
-+ /* Lock the text to avoid weird things from happening. */
-+ ++textlock;
-+ set_vim_var_char(c); /* set v:char */
-+
-+ if (apply_autocmds(EVENT_INSERTCHARPRE, NULL, NULL, FALSE, curbuf))
-+ /* Get the new value of v:char. It may be empty or more than one
-+ * character. */
-+ res = vim_strsave(get_vim_var_str(VV_CHAR));
-+ else
-+ res = NULL;
-+
-+ set_vim_var_string(VV_CHAR, NULL, -1); /* clear v:char */
-+ --textlock;
-+
-+ return res;
-+ }
-+ #endif
-*** ../vim-7.3.460/src/fileio.c 2012-02-12 20:13:55.000000000 +0100
---- src/fileio.c 2012-02-29 17:50:32.000000000 +0100
-***************
-*** 9116,9121 ****
---- 9116,9130 ----
- return (first_autopat[(int)EVENT_CURSORMOVEDI] != NULL);
- }
-
-+ /*
-+ * Return TRUE when there is an InsertCharPre autocommand defined.
-+ */
-+ int
-+ has_insertcharpre()
-+ {
-+ return (first_autopat[(int)EVENT_INSERTCHARPRE] != NULL);
-+ }
-+
- static int
- apply_autocmds_group(event, fname, fname_io, force, group, buf, eap)
- event_T event;
-*** ../vim-7.3.460/src/proto/fileio.pro 2012-02-12 20:13:55.000000000 +0100
---- src/proto/fileio.pro 2012-02-29 17:50:38.000000000 +0100
-***************
-*** 44,49 ****
---- 44,50 ----
- int trigger_cursorhold __ARGS((void));
- int has_cursormoved __ARGS((void));
- int has_cursormovedI __ARGS((void));
-+ int has_insertcharpre __ARGS((void));
- void block_autocmds __ARGS((void));
- void unblock_autocmds __ARGS((void));
- int has_autocmd __ARGS((event_T event, char_u *sfname, buf_T *buf));
-*** ../vim-7.3.460/src/version.c 2012-02-29 16:56:35.000000000 +0100
---- src/version.c 2012-02-29 18:15:34.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 461,
- /**/
-
---
-"Computers in the future may weigh no more than 1.5 tons."
- Popular Mechanics, 1949
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.462 b/source/ap/vim/patches/7.3.462
deleted file mode 100644
index df0372421..000000000
--- a/source/ap/vim/patches/7.3.462
+++ /dev/null
@@ -1,191 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.462
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.462
-Problem: When using ":loadview" folds may be closed unexpectedly.
-Solution: Take into account foldlevel. (Xavier de Gaye)
-Files: src/fold.c
-
-
-*** ../vim-7.3.461/src/fold.c 2012-01-10 22:26:12.000000000 +0100
---- src/fold.c 2012-02-29 19:18:07.000000000 +0100
-***************
-*** 3292,3298 ****
- /* put_folds() {{{2 */
- #if defined(FEAT_SESSION) || defined(PROTO)
- static int put_folds_recurse __ARGS((FILE *fd, garray_T *gap, linenr_T off));
-! static int put_foldopen_recurse __ARGS((FILE *fd, garray_T *gap, linenr_T off));
-
- /*
- * Write commands to "fd" to restore the manual folds in window "wp".
---- 3292,3299 ----
- /* put_folds() {{{2 */
- #if defined(FEAT_SESSION) || defined(PROTO)
- static int put_folds_recurse __ARGS((FILE *fd, garray_T *gap, linenr_T off));
-! static int put_foldopen_recurse __ARGS((FILE *fd, win_T *wp, garray_T *gap, linenr_T off));
-! static int put_fold_open_close __ARGS((FILE *fd, fold_T *fp, linenr_T off));
-
- /*
- * Write commands to "fd" to restore the manual folds in window "wp".
-***************
-*** 3312,3318 ****
-
- /* If some folds are manually opened/closed, need to restore that. */
- if (wp->w_fold_manual)
-! return put_foldopen_recurse(fd, &wp->w_folds, (linenr_T)0);
-
- return OK;
- }
---- 3313,3319 ----
-
- /* If some folds are manually opened/closed, need to restore that. */
- if (wp->w_fold_manual)
-! return put_foldopen_recurse(fd, wp, &wp->w_folds, (linenr_T)0);
-
- return OK;
- }
-***************
-*** 3352,3363 ****
- * Returns FAIL when writing failed.
- */
- static int
-! put_foldopen_recurse(fd, gap, off)
- FILE *fd;
- garray_T *gap;
- linenr_T off;
- {
- int i;
- fold_T *fp;
-
- fp = (fold_T *)gap->ga_data;
---- 3353,3366 ----
- * Returns FAIL when writing failed.
- */
- static int
-! put_foldopen_recurse(fd, wp, gap, off)
- FILE *fd;
-+ win_T *wp;
- garray_T *gap;
- linenr_T off;
- {
- int i;
-+ int level;
- fold_T *fp;
-
- fp = (fold_T *)gap->ga_data;
-***************
-*** 3367,3393 ****
- {
- if (fp->fd_nested.ga_len > 0)
- {
-! /* open/close nested folds while this fold is open */
- if (fprintf(fd, "%ld", fp->fd_top + off) < 0
- || put_eol(fd) == FAIL
- || put_line(fd, "normal zo") == FAIL)
- return FAIL;
-! if (put_foldopen_recurse(fd, &fp->fd_nested, off + fp->fd_top)
- == FAIL)
- return FAIL;
- }
-- if (fprintf(fd, "%ld", fp->fd_top + off) < 0
-- || put_eol(fd) == FAIL
-- || fprintf(fd, "normal z%c",
-- fp->fd_flags == FD_CLOSED ? 'c' : 'o') < 0
-- || put_eol(fd) == FAIL)
-- return FAIL;
- }
- ++fp;
- }
-
- return OK;
- }
- #endif /* FEAT_SESSION */
-
- /* }}}1 */
---- 3370,3429 ----
- {
- if (fp->fd_nested.ga_len > 0)
- {
-! /* open nested folds while this fold is open */
- if (fprintf(fd, "%ld", fp->fd_top + off) < 0
- || put_eol(fd) == FAIL
- || put_line(fd, "normal zo") == FAIL)
- return FAIL;
-! if (put_foldopen_recurse(fd, wp, &fp->fd_nested,
-! off + fp->fd_top)
- == FAIL)
- return FAIL;
-+ /* close the parent when needed */
-+ if (fp->fd_flags == FD_CLOSED)
-+ {
-+ if (put_fold_open_close(fd, fp, off) == FAIL)
-+ return FAIL;
-+ }
-+ }
-+ else
-+ {
-+ /* Open or close the leaf according to the window foldlevel.
-+ * Do not close a leaf that is already closed, as it will close
-+ * the parent. */
-+ level = foldLevelWin(wp, off + fp->fd_top);
-+ if ((fp->fd_flags == FD_CLOSED && wp->w_p_fdl >= level)
-+ || (fp->fd_flags != FD_CLOSED && wp->w_p_fdl < level))
-+ if (put_fold_open_close(fd, fp, off) == FAIL)
-+ return FAIL;
- }
- }
- ++fp;
- }
-
- return OK;
- }
-+
-+ /* put_fold_open_close() {{{2 */
-+ /*
-+ * Write the open or close command to "fd".
-+ * Returns FAIL when writing failed.
-+ */
-+ static int
-+ put_fold_open_close(fd, fp, off)
-+ FILE *fd;
-+ fold_T *fp;
-+ linenr_T off;
-+ {
-+ if (fprintf(fd, "%ld", fp->fd_top + off) < 0
-+ || put_eol(fd) == FAIL
-+ || fprintf(fd, "normal z%c",
-+ fp->fd_flags == FD_CLOSED ? 'c' : 'o') < 0
-+ || put_eol(fd) == FAIL)
-+ return FAIL;
-+
-+ return OK;
-+ }
- #endif /* FEAT_SESSION */
-
- /* }}}1 */
-*** ../vim-7.3.461/src/version.c 2012-02-29 18:22:03.000000000 +0100
---- src/version.c 2012-02-29 18:40:43.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 462,
- /**/
-
---
-~
-~
-~
-".signature" 4 lines, 50 characters written
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.463 b/source/ap/vim/patches/7.3.463
deleted file mode 100644
index 1e7cb238f..000000000
--- a/source/ap/vim/patches/7.3.463
+++ /dev/null
@@ -1,63 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.463
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.463
-Problem: When using ":s///c" the cursor is moved away from the match.
- (Lawman)
-Solution: Don't move the cursor when do_ask is set. (Christian Brabandt)
-Files: src/ex_cmds.c
-
-
-*** ../vim-7.3.462/src/ex_cmds.c 2012-02-22 14:58:24.000000000 +0100
---- src/ex_cmds.c 2012-03-07 14:54:21.000000000 +0100
-***************
-*** 5151,5160 ****
-
- if (!global_busy)
- {
-! if (endcolumn)
-! coladvance((colnr_T)MAXCOL);
-! else
-! beginline(BL_WHITE | BL_FIX);
- if (!do_sub_msg(do_count) && do_ask)
- MSG("");
- }
---- 5151,5163 ----
-
- if (!global_busy)
- {
-! if (!do_ask) /* when interactive leave cursor on the match */
-! {
-! if (endcolumn)
-! coladvance((colnr_T)MAXCOL);
-! else
-! beginline(BL_WHITE | BL_FIX);
-! }
- if (!do_sub_msg(do_count) && do_ask)
- MSG("");
- }
-*** ../vim-7.3.462/src/version.c 2012-02-29 19:19:57.000000000 +0100
---- src/version.c 2012-03-07 14:55:39.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 463,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-151. You find yourself engaged to someone you've never actually met,
- except through e-mail.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.464 b/source/ap/vim/patches/7.3.464
deleted file mode 100644
index fdfdfffc1..000000000
--- a/source/ap/vim/patches/7.3.464
+++ /dev/null
@@ -1,60 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.464
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.464
-Problem: Compiler warning for sprintf.
-Solution: Put the length in a variable. (Dominique Pelle)
-Files: src/version.c
-
-
-*** ../vim-7.3.463/src/version.c 2012-03-07 14:57:50.000000000 +0100
---- src/version.c 2012-03-07 17:58:41.000000000 +0100
-***************
-*** 2187,2198 ****
- /* Check for 9.9x or 9.9xx, alpha/beta version */
- if (isalpha((int)vers[3]))
- {
-! if (isalpha((int)vers[4]))
-! sprintf((char *)vers + 5, ".%d%s", highest_patch(),
-! mediumVersion + 5);
-! else
-! sprintf((char *)vers + 4, ".%d%s", highest_patch(),
-! mediumVersion + 4);
- }
- else
- sprintf((char *)vers + 3, ".%d", highest_patch());
---- 2189,2197 ----
- /* Check for 9.9x or 9.9xx, alpha/beta version */
- if (isalpha((int)vers[3]))
- {
-! int len = (isalpha((int)vers[4])) ? 5 : 4;
-! sprintf((char *)vers + len, ".%d%s", highest_patch(),
-! mediumVersion + len);
- }
- else
- sprintf((char *)vers + 3, ".%d", highest_patch());
-*** ../vim-7.3.463/src/version.c 2012-03-07 14:57:50.000000000 +0100
---- src/version.c 2012-03-07 17:58:41.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 464,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-152. You find yourself falling for someone you've never seen or hardly
- know, but, boy can he/she TYPE!!!!!!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.465 b/source/ap/vim/patches/7.3.465
deleted file mode 100644
index c4a857ac9..000000000
--- a/source/ap/vim/patches/7.3.465
+++ /dev/null
@@ -1,398 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.465
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.465
-Problem: Cannot get file name with newline from glob().
-Solution: Add argument to glob() and expand() to indicate they must return a
- list. (Christian Brabandt)
-Files: runtime/doc/eval.txt, src/eval.c, src/ex_getln.c, src/vim.h
-
-
-*** ../vim-7.3.464/runtime/doc/eval.txt 2011-12-14 15:32:44.000000000 +0100
---- runtime/doc/eval.txt 2012-03-07 18:49:26.000000000 +0100
-***************
-*** 1738,1744 ****
- extend( {expr1}, {expr2} [, {expr3}])
- List/Dict insert items of {expr2} into {expr1}
- exp( {expr}) Float exponential of {expr}
-! expand( {expr} [, {flag}]) String expand special keywords in {expr}
- feedkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer
- filereadable( {file}) Number TRUE if {file} is a readable file
- filewritable( {file}) Number TRUE if {file} is a writable file
---- 1746,1753 ----
- extend( {expr1}, {expr2} [, {expr3}])
- List/Dict insert items of {expr2} into {expr1}
- exp( {expr}) Float exponential of {expr}
-! expand( {expr} [, {nosuf} [, {list}]])
-! any expand special keywords in {expr}
- feedkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer
- filereadable( {file}) Number TRUE if {file} is a readable file
- filewritable( {file}) Number TRUE if {file} is a writable file
-***************
-*** 1792,1798 ****
- getwinposx() Number X coord in pixels of GUI Vim window
- getwinposy() Number Y coord in pixels of GUI Vim window
- getwinvar( {nr}, {varname}) any variable {varname} in window {nr}
-! glob( {expr} [, {flag}]) String expand file wildcards in {expr}
- globpath( {path}, {expr} [, {flag}])
- String do glob({expr}) for all dirs in {path}
- has( {feature}) Number TRUE if feature {feature} supported
---- 1801,1808 ----
- getwinposx() Number X coord in pixels of GUI Vim window
- getwinposy() Number Y coord in pixels of GUI Vim window
- getwinvar( {nr}, {varname}) any variable {varname} in window {nr}
-! glob( {expr} [, {nosuf} [, {list}]])
-! any expand file wildcards in {expr}
- globpath( {path}, {expr} [, {flag}])
- String do glob({expr}) for all dirs in {path}
- has( {feature}) Number TRUE if feature {feature} supported
-***************
-*** 2731,2743 ****
- {only available when compiled with the |+float| feature}
-
-
-! expand({expr} [, {flag}]) *expand()*
- Expand wildcards and the following special keywords in {expr}.
-! The result is a String.
-
-! When there are several matches, they are separated by <NL>
-! characters. [Note: in version 5.0 a space was used, which
-! caused problems when a file name contains a space]
-
- If the expansion fails, the result is an empty string. A name
- for a non-existing file is not included.
---- 2744,2758 ----
- {only available when compiled with the |+float| feature}
-
-
-! expand({expr} [, {nosuf} [, {list}]]) *expand()*
- Expand wildcards and the following special keywords in {expr}.
-! 'wildignorecase' applies.
-
-! If {list} is given and it is non-zero, a List will be returned.
-! Otherwise the result is a String and when there are several
-! matches, they are separated by <NL> characters. [Note: in
-! version 5.0 a space was used, which caused problems when a
-! file name contains a space]
-
- If the expansion fails, the result is an empty string. A name
- for a non-existing file is not included.
-***************
-*** 2754,2759 ****
---- 2769,2775 ----
- <abuf> autocmd buffer number (as a String!)
- <amatch> autocmd matched name
- <sfile> sourced script file name
-+ <slnum> sourced script file line number
- <cword> word under the cursor
- <cWORD> WORD under the cursor
- <client> the {clientid} of the last received
-***************
-*** 2790,2799 ****
- When {expr} does not start with '%', '#' or '<', it is
- expanded like a file name is expanded on the command line.
- 'suffixes' and 'wildignore' are used, unless the optional
-! {flag} argument is given and it is non-zero. Names for
-! non-existing files are included. The "**" item can be used to
-! search in a directory tree. For example, to find all "README"
-! files in the current directory and below: >
- :echo expand("**/README")
- <
- Expand() can also be used to expand variables and environment
---- 2806,2815 ----
- When {expr} does not start with '%', '#' or '<', it is
- expanded like a file name is expanded on the command line.
- 'suffixes' and 'wildignore' are used, unless the optional
-! {nosuf} argument is given and it is non-zero.
-! Names for non-existing files are included. The "**" item can
-! be used to search in a directory tree. For example, to find
-! all "README" files in the current directory and below: >
- :echo expand("**/README")
- <
- Expand() can also be used to expand variables and environment
-***************
-*** 3437,3453 ****
- :let list_is_on = getwinvar(2, '&list')
- :echo "myvar = " . getwinvar(1, 'myvar')
- <
-! glob({expr} [, {flag}]) *glob()*
- Expand the file wildcards in {expr}. See |wildcards| for the
- use of special characters.
-! The result is a String.
-! When there are several matches, they are separated by <NL>
-! characters.
-! Unless the optional {flag} argument is given and is non-zero,
- the 'suffixes' and 'wildignore' options apply: Names matching
- one of the patterns in 'wildignore' will be skipped and
- 'suffixes' affect the ordering of matches.
-! If the expansion fails, the result is an empty string.
- A name for a non-existing file is not included.
-
- For most systems backticks can be used to get files names from
---- 3456,3478 ----
- :let list_is_on = getwinvar(2, '&list')
- :echo "myvar = " . getwinvar(1, 'myvar')
- <
-! glob({expr} [, {nosuf} [, {list}]]) *glob()*
- Expand the file wildcards in {expr}. See |wildcards| for the
- use of special characters.
-!
-! Unless the optional {nosuf} argument is given and is non-zero,
- the 'suffixes' and 'wildignore' options apply: Names matching
- one of the patterns in 'wildignore' will be skipped and
- 'suffixes' affect the ordering of matches.
-! 'wildignorecase' always applies.
-!
-! When {list} is present and it is non-zero the result is a List
-! with all matching files. The advantage of using a List is,
-! you also get filenames containing newlines correctly.
-! Otherwise the result is a String and when there are several
-! matches, they are separated by <NL> characters.
-!
-! If the expansion fails, the result is an empty String or List.
- A name for a non-existing file is not included.
-
- For most systems backticks can be used to get files names from
-*** ../vim-7.3.464/src/eval.c 2012-02-11 20:44:01.000000000 +0100
---- src/eval.c 2012-03-07 19:08:36.000000000 +0100
-***************
-*** 7852,7858 ****
- #ifdef FEAT_FLOAT
- {"exp", 1, 1, f_exp},
- #endif
-! {"expand", 1, 2, f_expand},
- {"extend", 2, 3, f_extend},
- {"feedkeys", 1, 2, f_feedkeys},
- {"file_readable", 1, 1, f_filereadable}, /* obsolete */
---- 7852,7858 ----
- #ifdef FEAT_FLOAT
- {"exp", 1, 1, f_exp},
- #endif
-! {"expand", 1, 3, f_expand},
- {"extend", 2, 3, f_extend},
- {"feedkeys", 1, 2, f_feedkeys},
- {"file_readable", 1, 1, f_filereadable}, /* obsolete */
-***************
-*** 7903,7909 ****
- {"getwinposx", 0, 0, f_getwinposx},
- {"getwinposy", 0, 0, f_getwinposy},
- {"getwinvar", 2, 2, f_getwinvar},
-! {"glob", 1, 2, f_glob},
- {"globpath", 2, 3, f_globpath},
- {"has", 1, 1, f_has},
- {"has_key", 2, 2, f_has_key},
---- 7903,7909 ----
- {"getwinposx", 0, 0, f_getwinposx},
- {"getwinposy", 0, 0, f_getwinposy},
- {"getwinvar", 2, 2, f_getwinvar},
-! {"glob", 1, 3, f_glob},
- {"globpath", 2, 3, f_globpath},
- {"has", 1, 1, f_has},
- {"has_key", 2, 2, f_has_key},
-***************
-*** 10019,10032 ****
- int options = WILD_SILENT|WILD_USE_NL|WILD_LIST_NOTFOUND;
- expand_T xpc;
- int error = FALSE;
-
- rettv->v_type = VAR_STRING;
- s = get_tv_string(&argvars[0]);
- if (*s == '%' || *s == '#' || *s == '<')
- {
- ++emsg_off;
-! rettv->vval.v_string = eval_vars(s, s, &len, NULL, &errormsg, NULL);
- --emsg_off;
- }
- else
- {
---- 10019,10051 ----
- int options = WILD_SILENT|WILD_USE_NL|WILD_LIST_NOTFOUND;
- expand_T xpc;
- int error = FALSE;
-+ char_u *result;
-
- rettv->v_type = VAR_STRING;
-+ if (argvars[1].v_type != VAR_UNKNOWN
-+ && argvars[2].v_type != VAR_UNKNOWN
-+ && get_tv_number_chk(&argvars[2], &error)
-+ && !error)
-+ {
-+ rettv->v_type = VAR_LIST;
-+ rettv->vval.v_list = NULL;
-+ }
-+
- s = get_tv_string(&argvars[0]);
- if (*s == '%' || *s == '#' || *s == '<')
- {
- ++emsg_off;
-! result = eval_vars(s, s, &len, NULL, &errormsg, NULL);
- --emsg_off;
-+ if (rettv->v_type == VAR_LIST)
-+ {
-+ if (rettv_list_alloc(rettv) != FAIL && result != NULL)
-+ list_append_string(rettv->vval.v_list, result, -1);
-+ else
-+ vim_free(result);
-+ }
-+ else
-+ rettv->vval.v_string = result;
- }
- else
- {
-***************
-*** 10041,10047 ****
- xpc.xp_context = EXPAND_FILES;
- if (p_wic)
- options += WILD_ICASE;
-! rettv->vval.v_string = ExpandOne(&xpc, s, NULL, options, WILD_ALL);
- }
- else
- rettv->vval.v_string = NULL;
---- 10060,10077 ----
- xpc.xp_context = EXPAND_FILES;
- if (p_wic)
- options += WILD_ICASE;
-! if (rettv->v_type == VAR_STRING)
-! rettv->vval.v_string = ExpandOne(&xpc, s, NULL,
-! options, WILD_ALL);
-! else if (rettv_list_alloc(rettv) != FAIL)
-! {
-! int i;
-!
-! ExpandOne(&xpc, s, NULL, options, WILD_ALL_KEEP);
-! for (i = 0; i < xpc.xp_numfiles; i++)
-! list_append_string(rettv->vval.v_list, xpc.xp_files[i], -1);
-! ExpandCleanup(&xpc);
-! }
- }
- else
- rettv->vval.v_string = NULL;
-***************
-*** 11833,11851 ****
- int error = FALSE;
-
- /* When the optional second argument is non-zero, don't remove matches
-! * for 'wildignore' and don't put matches for 'suffixes' at the end. */
-! if (argvars[1].v_type != VAR_UNKNOWN
-! && get_tv_number_chk(&argvars[1], &error))
-! options |= WILD_KEEP_ALL;
- rettv->v_type = VAR_STRING;
- if (!error)
- {
- ExpandInit(&xpc);
- xpc.xp_context = EXPAND_FILES;
- if (p_wic)
- options += WILD_ICASE;
-! rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
- NULL, options, WILD_ALL);
- }
- else
- rettv->vval.v_string = NULL;
---- 11863,11901 ----
- int error = FALSE;
-
- /* When the optional second argument is non-zero, don't remove matches
-! * for 'wildignore' and don't put matches for 'suffixes' at the end. */
- rettv->v_type = VAR_STRING;
-+ if (argvars[1].v_type != VAR_UNKNOWN)
-+ {
-+ if (get_tv_number_chk(&argvars[1], &error))
-+ options |= WILD_KEEP_ALL;
-+ if (argvars[2].v_type != VAR_UNKNOWN
-+ && get_tv_number_chk(&argvars[2], &error))
-+ {
-+ rettv->v_type = VAR_LIST;
-+ rettv->vval.v_list = NULL;
-+ }
-+ }
- if (!error)
- {
- ExpandInit(&xpc);
- xpc.xp_context = EXPAND_FILES;
- if (p_wic)
- options += WILD_ICASE;
-! if (rettv->v_type == VAR_STRING)
-! rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
- NULL, options, WILD_ALL);
-+ else if (rettv_list_alloc(rettv) != FAIL)
-+ {
-+ int i;
-+
-+ ExpandOne(&xpc, get_tv_string(&argvars[0]),
-+ NULL, options, WILD_ALL_KEEP);
-+ for (i = 0; i < xpc.xp_numfiles; i++)
-+ list_append_string(rettv->vval.v_list, xpc.xp_files[i], -1);
-+
-+ ExpandCleanup(&xpc);
-+ }
- }
- else
- rettv->vval.v_string = NULL;
-*** ../vim-7.3.464/src/ex_getln.c 2012-02-22 17:58:00.000000000 +0100
---- src/ex_getln.c 2012-03-07 19:07:01.000000000 +0100
-***************
-*** 3461,3466 ****
---- 3461,3467 ----
- * mode = WILD_PREV: use previous match in multiple match, wrap to first
- * mode = WILD_ALL: return all matches concatenated
- * mode = WILD_LONGEST: return longest matched part
-+ * mode = WILD_ALL_KEEP: get all matches, keep matches
- *
- * options = WILD_LIST_NOTFOUND: list entries without a match
- * options = WILD_HOME_REPLACE: do home_replace() for buffer names
-***************
-*** 3584,3590 ****
- /*
- * Check for matching suffixes in file names.
- */
-! if (mode != WILD_ALL && mode != WILD_LONGEST)
- {
- if (xp->xp_numfiles)
- non_suf_match = xp->xp_numfiles;
---- 3585,3592 ----
- /*
- * Check for matching suffixes in file names.
- */
-! if (mode != WILD_ALL && mode != WILD_ALL_KEEP
-! && mode != WILD_LONGEST)
- {
- if (xp->xp_numfiles)
- non_suf_match = xp->xp_numfiles;
-*** ../vim-7.3.464/src/vim.h 2011-07-27 17:31:42.000000000 +0200
---- src/vim.h 2012-03-07 19:03:43.000000000 +0100
-***************
-*** 794,799 ****
---- 794,800 ----
- #define WILD_PREV 5
- #define WILD_ALL 6
- #define WILD_LONGEST 7
-+ #define WILD_ALL_KEEP 8
-
- #define WILD_LIST_NOTFOUND 1
- #define WILD_HOME_REPLACE 2
-*** ../vim-7.3.464/src/version.c 2012-03-07 18:04:00.000000000 +0100
---- src/version.c 2012-03-07 19:14:39.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 465,
- /**/
-
---
-Although the scythe isn't pre-eminent among the weapons of war, anyone who
-has been on the wrong end of, say, a peasants' revolt will know that in
-skilled hands it is fearsome.
- -- (Terry Pratchett, Mort)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.466 b/source/ap/vim/patches/7.3.466
deleted file mode 100644
index 0dc42934d..000000000
--- a/source/ap/vim/patches/7.3.466
+++ /dev/null
@@ -1,49 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.466
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.466
-Problem: Get ml_get error when ":behave mswin" was used and selecting
- several lines. (A. Sinan Unur)
-Solution: Adjust the end of the operation. (Christian Brabandt)
-Files: src/ops.c
-
-
-*** ../vim-7.3.465/src/ops.c 2012-02-22 17:37:55.000000000 +0100
---- src/ops.c 2012-03-07 19:27:08.000000000 +0100
-***************
-*** 1957,1962 ****
---- 1957,1965 ----
- ++curwin->w_cursor.lnum;
- del_lines((long)(oap->line_count - 2), FALSE);
-
-+ if (delete_last_line)
-+ oap->end.lnum = curbuf->b_ml.ml_line_count;
-+
- n = (oap->end.col + 1 - !oap->inclusive);
- if (oap->inclusive && delete_last_line
- && n > (int)STRLEN(ml_get(oap->end.lnum)))
-*** ../vim-7.3.465/src/version.c 2012-03-07 19:16:49.000000000 +0100
---- src/version.c 2012-03-07 19:29:52.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 466,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-153. You find yourself staring at your "inbox" waiting for new e-mail
- to arrive.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.467 b/source/ap/vim/patches/7.3.467
deleted file mode 100644
index 7764217c7..000000000
--- a/source/ap/vim/patches/7.3.467
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.467
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.467
-Problem: Cursor positioned wrong at the command line when regaining focus
- and using some input method.
-Solution: Do not position the cursor in command line mode.
-Files: src/mbyte.c
-
-
-*** ../vim-7.3.466/src/mbyte.c 2011-12-08 15:09:46.000000000 +0100
---- src/mbyte.c 2012-03-07 19:36:44.000000000 +0100
-***************
-*** 4504,4510 ****
- vgetc_busy = TRUE;
- showmode();
- vgetc_busy = old_vgetc_busy;
-! setcursor();
- out_flush();
- }
-
---- 4504,4511 ----
- vgetc_busy = TRUE;
- showmode();
- vgetc_busy = old_vgetc_busy;
-! if ((State & NORMAL) || (State & INSERT))
-! setcursor();
- out_flush();
- }
-
-*** ../vim-7.3.466/src/version.c 2012-03-07 19:30:32.000000000 +0100
---- src/version.c 2012-03-07 19:38:22.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 467,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-154. You fondle your mouse.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.468 b/source/ap/vim/patches/7.3.468
deleted file mode 100644
index e078f9eae..000000000
--- a/source/ap/vim/patches/7.3.468
+++ /dev/null
@@ -1,144 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.468
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.468
-Problem: For some compilers the error file is not easily readable.
-Solution: Use QuickFixCmdPre for more commands. (Marcin Szamotulski)
-Files: runtime/doc/autocmd.txt, src/quickfix.c
-
-
-*** ../vim-7.3.467/runtime/doc/autocmd.txt 2012-02-12 20:13:55.000000000 +0100
---- runtime/doc/autocmd.txt 2012-03-07 20:07:23.000000000 +0100
-***************
-*** 695,701 ****
- QuickFixCmdPre Before a quickfix command is run (|:make|,
- |:lmake|, |:grep|, |:lgrep|, |:grepadd|,
- |:lgrepadd|, |:vimgrep|, |:lvimgrep|,
-! |:vimgrepadd|, |:lvimgrepadd|, |:cscope|).
- The pattern is matched against the command
- being run. When |:grep| is used but 'grepprg'
- is set to "internal" it still matches "grep".
---- 699,708 ----
- QuickFixCmdPre Before a quickfix command is run (|:make|,
- |:lmake|, |:grep|, |:lgrep|, |:grepadd|,
- |:lgrepadd|, |:vimgrep|, |:lvimgrep|,
-! |:vimgrepadd|, |:lvimgrepadd|, |:cscope|,
-! |:cfile|, |:cgetfile|, |:caddfile|, |:lfile|,
-! |:lgetfile|, |:laddfile|, |:helpgrep|,
-! |:lhelpgrep|).
- The pattern is matched against the command
- being run. When |:grep| is used but 'grepprg'
- is set to "internal" it still matches "grep".
-***************
-*** 706,712 ****
- *QuickFixCmdPost*
- QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
- command is run, before jumping to the first
-! location. See |QuickFixCmdPost-example|.
- *RemoteReply*
- RemoteReply When a reply from a Vim that functions as
- server was received |server2client()|. The
---- 713,722 ----
- *QuickFixCmdPost*
- QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
- command is run, before jumping to the first
-! location. For |:cfile| and |:lfile| commands
-! it is run after error file is read and before
-! moving to the first error.
-! See |QuickFixCmdPost-example|.
- *RemoteReply*
- RemoteReply When a reply from a Vim that functions as
- server was received |server2client()|. The
-*** ../vim-7.3.467/src/quickfix.c 2012-02-22 14:58:24.000000000 +0100
---- src/quickfix.c 2012-03-07 20:10:07.000000000 +0100
-***************
-*** 2995,3005 ****
- {
- win_T *wp = NULL;
- qf_info_T *qi = &ql_info;
-
- if (eap->cmdidx == CMD_lfile || eap->cmdidx == CMD_lgetfile
-! || eap->cmdidx == CMD_laddfile)
- wp = curwin;
-
- #ifdef FEAT_BROWSE
- if (cmdmod.browse)
- {
---- 2995,3022 ----
- {
- win_T *wp = NULL;
- qf_info_T *qi = &ql_info;
-+ #ifdef FEAT_AUTOCMD
-+ char_u *au_name = NULL;
-+ #endif
-
- if (eap->cmdidx == CMD_lfile || eap->cmdidx == CMD_lgetfile
-! || eap->cmdidx == CMD_laddfile)
- wp = curwin;
-
-+ #ifdef FEAT_AUTOCMD
-+ switch (eap->cmdidx)
-+ {
-+ case CMD_cfile: au_name = (char_u *)"cfile"; break;
-+ case CMD_cgetfile: au_name = (char_u *)"cgetfile"; break;
-+ case CMD_caddfile: au_name = (char_u *)"caddfile"; break;
-+ case CMD_lfile: au_name = (char_u *)"lfile"; break;
-+ case CMD_lgetfile: au_name = (char_u *)"lgetfile"; break;
-+ case CMD_laddfile: au_name = (char_u *)"laddfile"; break;
-+ default: break;
-+ }
-+ if (au_name != NULL)
-+ apply_autocmds(EVENT_QUICKFIXCMDPRE, au_name, NULL, FALSE, curbuf);
-+ #endif
- #ifdef FEAT_BROWSE
- if (cmdmod.browse)
- {
-***************
-*** 3031,3040 ****
---- 3048,3069 ----
- && (eap->cmdidx == CMD_cfile
- || eap->cmdidx == CMD_lfile))
- {
-+ #ifdef FEAT_AUTOCMD
-+ if (au_name != NULL)
-+ apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name, NULL, FALSE, curbuf);
-+ #endif
- if (wp != NULL)
- qi = GET_LOC_LIST(wp);
- qf_jump(qi, 0, 0, eap->forceit); /* display first error */
- }
-+
-+ else
-+ {
-+ #ifdef FEAT_AUTOCMD
-+ if (au_name != NULL)
-+ apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name, NULL, FALSE, curbuf);
-+ #endif
-+ }
- }
-
- /*
-*** ../vim-7.3.467/src/version.c 2012-03-07 19:38:52.000000000 +0100
---- src/version.c 2012-03-07 20:11:54.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 468,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-155. You forget to eat because you're too busy surfing the net.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.469 b/source/ap/vim/patches/7.3.469
deleted file mode 100644
index 77ca4a05e..000000000
--- a/source/ap/vim/patches/7.3.469
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.469
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.469
-Problem: Compiler warning for unused argument without some features.
-Solution: Add UNUSED.
-Files: src/buffer.c
-
-
-*** ../vim-7.3.468/src/buffer.c 2012-02-22 19:13:00.000000000 +0100
---- src/buffer.c 2012-03-07 22:30:56.000000000 +0100
-***************
-*** 329,335 ****
- win_T *win; /* if not NULL, set b_last_cursor */
- buf_T *buf;
- int action;
-! int abort_if_last;
- {
- #ifdef FEAT_AUTOCMD
- int is_curbuf;
---- 329,335 ----
- win_T *win; /* if not NULL, set b_last_cursor */
- buf_T *buf;
- int action;
-! int abort_if_last UNUSED;
- {
- #ifdef FEAT_AUTOCMD
- int is_curbuf;
-*** ../vim-7.3.468/src/version.c 2012-03-07 20:13:44.000000000 +0100
---- src/version.c 2012-03-07 22:51:54.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 469,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-157. You fum through a magazine, you first check to see if it has a web
- address.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.470 b/source/ap/vim/patches/7.3.470
deleted file mode 100644
index 80bec1564..000000000
--- a/source/ap/vim/patches/7.3.470
+++ /dev/null
@@ -1,67 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.470
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.470
-Problem: Test 62 fails when compiled without GUI and X11.
-Solution: Don't test :drop when it is not supported.
-Files: src/testdir/test62.in
-
-
-*** ../vim-7.3.469/src/testdir/test62.in 2012-02-22 19:13:00.000000000 +0100
---- src/testdir/test62.in 2012-03-07 22:46:17.000000000 +0100
-***************
-*** 49,55 ****
- :tabclose
- :call append(line('$'), test_status)
- :"
-! :"
- :" Test for ":tab drop exist-file" to keep current window.
- :sp test1
- :tab drop test1
---- 49,55 ----
- :tabclose
- :call append(line('$'), test_status)
- :"
-! :if has('gui') || has('clientserver')
- :" Test for ":tab drop exist-file" to keep current window.
- :sp test1
- :tab drop test1
-***************
-*** 85,90 ****
---- 85,96 ----
- :tabclose
- :q
- :call append(line('$'), test_status)
-+ :else
-+ :" :drop not supported
-+ :call append(line('$'), 'tab drop 1: pass')
-+ :call append(line('$'), 'tab drop 2: pass')
-+ :call append(line('$'), 'tab drop 3: pass')
-+ :endif
- :"
- :"
- :/^Results/,$w! test.out
-*** ../vim-7.3.469/src/version.c 2012-03-07 22:52:30.000000000 +0100
---- src/version.c 2012-03-07 22:53:40.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 470,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-158. You get a tuner card so you can watch TV while surfing.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.471 b/source/ap/vim/patches/7.3.471
deleted file mode 100644
index be814324f..000000000
--- a/source/ap/vim/patches/7.3.471
+++ /dev/null
@@ -1,92 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.471
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.471
-Problem: Can't abort listing placed signs.
-Solution: Check "got_int". (Christian Brabandt)
-Files: src/buffer.c, src/ex_cmds.c
-
-
-*** ../vim-7.3.470/src/buffer.c 2012-03-07 22:52:30.000000000 +0100
---- src/buffer.c 2012-03-16 13:54:48.000000000 +0100
-***************
-*** 5557,5563 ****
- buf = firstbuf;
- else
- buf = rbuf;
-! while (buf != NULL)
- {
- if (buf->b_signlist != NULL)
- {
---- 5557,5563 ----
- buf = firstbuf;
- else
- buf = rbuf;
-! while (buf != NULL && !got_int)
- {
- if (buf->b_signlist != NULL)
- {
-***************
-*** 5565,5571 ****
- MSG_PUTS_ATTR(lbuf, hl_attr(HLF_D));
- msg_putchar('\n');
- }
-! for (p = buf->b_signlist; p != NULL; p = p->next)
- {
- vim_snprintf(lbuf, BUFSIZ, _(" line=%ld id=%d name=%s"),
- (long)p->lnum, p->id, sign_typenr2name(p->typenr));
---- 5565,5571 ----
- MSG_PUTS_ATTR(lbuf, hl_attr(HLF_D));
- msg_putchar('\n');
- }
-! for (p = buf->b_signlist; p != NULL && !got_int; p = p->next)
- {
- vim_snprintf(lbuf, BUFSIZ, _(" line=%ld id=%d name=%s"),
- (long)p->lnum, p->id, sign_typenr2name(p->typenr));
-*** ../vim-7.3.470/src/ex_cmds.c 2012-03-07 14:57:50.000000000 +0100
---- src/ex_cmds.c 2012-03-16 13:58:50.000000000 +0100
-***************
-*** 6729,6735 ****
- if (idx == SIGNCMD_LIST && *arg == NUL)
- {
- /* ":sign list": list all defined signs */
-! for (sp = first_sign; sp != NULL; sp = sp->sn_next)
- sign_list_defined(sp);
- }
- else if (*arg == NUL)
---- 6729,6735 ----
- if (idx == SIGNCMD_LIST && *arg == NUL)
- {
- /* ":sign list": list all defined signs */
-! for (sp = first_sign; sp != NULL && !got_int; sp = sp->sn_next)
- sign_list_defined(sp);
- }
- else if (*arg == NUL)
-*** ../vim-7.3.470/src/version.c 2012-03-07 22:55:17.000000000 +0100
---- src/version.c 2012-03-16 13:55:28.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 471,
- /**/
-
---
-Some of the well know MS-Windows errors:
- EMEMORY Memory error caused by..., eh...
- ELICENSE Your license has expired, give us more money!
- EMOUSE Mouse moved, reinstall Windows
- EILLEGAL Illegal error, you are not allowed to see this
- EVIRUS Undetectable virus found
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.472 b/source/ap/vim/patches/7.3.472
deleted file mode 100644
index 217b2fc99..000000000
--- a/source/ap/vim/patches/7.3.472
+++ /dev/null
@@ -1,88 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.472
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.472
-Problem: Crash when using ":redraw" in a BufEnter autocommand and
- switching to another tab. (驼峰)
-Solution: Move triggering the the autocommands to after correcting the
- option values. Also check the row value to be out of bounds.
- (Christian Brabandt, Sergey Khorev)
-Files: src/screen.c, src/window.c
-
-
-*** ../vim-7.3.471/src/screen.c 2012-02-04 23:34:57.000000000 +0100
---- src/screen.c 2012-03-16 18:59:20.000000000 +0100
-***************
-*** 5371,5376 ****
---- 5371,5382 ----
- # define CHAR_CELLS 1
- #endif
-
-+ /* Check for illegal row and col, just in case. */
-+ if (row >= Rows)
-+ row = Rows - 1;
-+ if (endcol > Columns)
-+ endcol = Columns;
-+
- # ifdef FEAT_CLIPBOARD
- clip_may_clear_selection(row, row);
- # endif
-*** ../vim-7.3.471/src/window.c 2012-02-22 14:58:24.000000000 +0100
---- src/window.c 2012-03-16 18:43:01.000000000 +0100
-***************
-*** 3676,3688 ****
- win_enter_ext(tp->tp_curwin, FALSE, TRUE);
- prevwin = next_prevwin;
-
-- #ifdef FEAT_AUTOCMD
-- apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
--
-- if (old_curbuf != curbuf)
-- apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
-- #endif
--
- last_status(FALSE); /* status line may appear or disappear */
- (void)win_comp_pos(); /* recompute w_winrow for all windows */
- must_redraw = CLEAR; /* need to redraw everything */
---- 3676,3681 ----
-***************
-*** 3712,3717 ****
---- 3705,3718 ----
- gui_may_update_scrollbars();
- #endif
-
-+ #ifdef FEAT_AUTOCMD
-+ /* Apply autocommands after updating the display, when 'rows' and
-+ * 'columns' have been set correctly. */
-+ apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
-+ if (old_curbuf != curbuf)
-+ apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
-+ #endif
-+
- redraw_all_later(CLEAR);
- }
-
-*** ../vim-7.3.471/src/version.c 2012-03-16 14:32:10.000000000 +0100
---- src/version.c 2012-03-16 19:02:53.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 472,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-200. You really believe in the concept of a "paperless" office.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.473 b/source/ap/vim/patches/7.3.473
deleted file mode 100644
index 571f85dac..000000000
--- a/source/ap/vim/patches/7.3.473
+++ /dev/null
@@ -1,68 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.473
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.473
-Problem: 'cursorbind' does not work correctly in combination with
- 'virtualedit' set to "all".
-Solution: Copy coladd. (Gary Johnson)
-Files: src/move.c
-
-
-*** ../vim-7.3.472/src/move.c 2012-02-04 23:34:57.000000000 +0100
---- src/move.c 2012-03-16 19:20:57.000000000 +0100
-***************
-*** 2843,2849 ****
- do_check_cursorbind()
- {
- linenr_T line = curwin->w_cursor.lnum;
-! colnr_T col = curwin->w_cursor.col;
- win_T *old_curwin = curwin;
- buf_T *old_curbuf = curbuf;
- int restart_edit_save;
---- 2843,2852 ----
- do_check_cursorbind()
- {
- linenr_T line = curwin->w_cursor.lnum;
-! colnr_T col = curwin->w_cursor.col;
-! # ifdef FEAT_VIRTUALEDIT
-! colnr_T coladd = curwin->w_cursor.coladd;
-! # endif
- win_T *old_curwin = curwin;
- buf_T *old_curbuf = curbuf;
- int restart_edit_save;
-***************
-*** 2875,2880 ****
---- 2878,2886 ----
- # endif
- curwin->w_cursor.lnum = line;
- curwin->w_cursor.col = col;
-+ # ifdef FEAT_VIRTUALEDIT
-+ curwin->w_cursor.coladd = coladd;
-+ # endif
-
- /* Make sure the cursor is in a valid position. Temporarily set
- * "restart_edit" to allow the cursor to be beyond the EOL. */
-*** ../vim-7.3.472/src/version.c 2012-03-16 19:07:54.000000000 +0100
---- src/version.c 2012-03-16 19:24:06.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 473,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-201. When somebody asks you where you are, you tell them in which chat room.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.474 b/source/ap/vim/patches/7.3.474
deleted file mode 100644
index dc6b1d6eb..000000000
--- a/source/ap/vim/patches/7.3.474
+++ /dev/null
@@ -1,62 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.474
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.474
-Problem: Perl build with gcc 4 fails.
-Solution: Remove XS() statements. (Yasuhiro Matsumoto)
-Files: src/if_perl.xs
-
-
-*** ../vim-7.3.473/src/if_perl.xs 2012-02-12 00:31:47.000000000 +0100
---- src/if_perl.xs 2012-03-16 19:33:23.000000000 +0100
-***************
-*** 913,936 ****
- win_T *win_find_nr(int n) { return curwin; }
- #endif
-
-- XS(XS_VIM_Msg);
-- XS(XS_VIM_SetOption);
-- XS(XS_VIM_DoCommand);
-- XS(XS_VIM_Eval);
-- XS(XS_VIM_Buffers);
-- XS(XS_VIM_Windows);
-- XS(XS_VIWIN_DESTROY);
-- XS(XS_VIWIN_Buffer);
-- XS(XS_VIWIN_SetHeight);
-- XS(XS_VIWIN_Cursor);
-- XS(XS_VIBUF_DESTROY);
-- XS(XS_VIBUF_Name);
-- XS(XS_VIBUF_Number);
-- XS(XS_VIBUF_Count);
-- XS(XS_VIBUF_Get);
-- XS(XS_VIBUF_Set);
-- XS(XS_VIBUF_Delete);
-- XS(XS_VIBUF_Append);
- XS(boot_VIM);
-
- static void
---- 913,918 ----
-*** ../vim-7.3.473/src/version.c 2012-03-16 19:24:21.000000000 +0100
---- src/version.c 2012-03-16 19:28:03.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 474,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-202. You're amazed to find out Spam is a food.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.475 b/source/ap/vim/patches/7.3.475
deleted file mode 100644
index 54c27a21f..000000000
--- a/source/ap/vim/patches/7.3.475
+++ /dev/null
@@ -1,98 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.475
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.475
-Problem: In a terminal with few colors the omnicomplete menu may be hard to
- see when using the default colors.
-Solution: Use more explicit colors. (suggested by Alex Henrie)
-Files: src/syntax.c
-
-
-*** ../vim-7.3.474/src/syntax.c 2012-01-10 22:26:12.000000000 +0100
---- src/syntax.c 2012-03-16 20:14:22.000000000 +0100
-***************
-*** 6516,6523 ****
- "DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red"),
- #endif
- #ifdef FEAT_INS_EXPAND
-- CENT("PmenuThumb cterm=reverse",
-- "PmenuThumb cterm=reverse gui=reverse"),
- CENT("PmenuSbar ctermbg=Grey",
- "PmenuSbar ctermbg=Grey guibg=Grey"),
- #endif
---- 6516,6521 ----
-***************
-*** 6557,6566 ****
- "SpellLocal term=underline ctermbg=Cyan guisp=DarkCyan gui=undercurl"),
- #endif
- #ifdef FEAT_INS_EXPAND
-! CENT("Pmenu ctermbg=LightMagenta",
-! "Pmenu ctermbg=LightMagenta guibg=LightMagenta"),
-! CENT("PmenuSel ctermbg=LightGrey",
-! "PmenuSel ctermbg=LightGrey guibg=Grey"),
- #endif
- CENT("SpecialKey term=bold ctermfg=DarkBlue",
- "SpecialKey term=bold ctermfg=DarkBlue guifg=Blue"),
---- 6555,6566 ----
- "SpellLocal term=underline ctermbg=Cyan guisp=DarkCyan gui=undercurl"),
- #endif
- #ifdef FEAT_INS_EXPAND
-! CENT("PmenuThumb ctermbg=Black",
-! "PmenuThumb ctermbg=Black guibg=Black"),
-! CENT("Pmenu ctermbg=LightMagenta ctermfg=Black",
-! "Pmenu ctermbg=LightMagenta ctermfg=Black guibg=LightMagenta"),
-! CENT("PmenuSel ctermbg=LightGrey ctermfg=Black",
-! "PmenuSel ctermbg=LightGrey ctermfg=Black guibg=Grey"),
- #endif
- CENT("SpecialKey term=bold ctermfg=DarkBlue",
- "SpecialKey term=bold ctermfg=DarkBlue guifg=Blue"),
-***************
-*** 6645,6654 ****
- "SpellLocal term=underline ctermbg=Cyan guisp=Cyan gui=undercurl"),
- #endif
- #ifdef FEAT_INS_EXPAND
-! CENT("Pmenu ctermbg=Magenta",
-! "Pmenu ctermbg=Magenta guibg=Magenta"),
-! CENT("PmenuSel ctermbg=DarkGrey",
-! "PmenuSel ctermbg=DarkGrey guibg=DarkGrey"),
- #endif
- CENT("Title term=bold ctermfg=LightMagenta",
- "Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta"),
---- 6645,6656 ----
- "SpellLocal term=underline ctermbg=Cyan guisp=Cyan gui=undercurl"),
- #endif
- #ifdef FEAT_INS_EXPAND
-! CENT("PmenuThumb ctermbg=White",
-! "PmenuThumb ctermbg=White guibg=White"),
-! CENT("Pmenu ctermbg=Magenta ctermfg=Black",
-! "Pmenu ctermbg=Magenta ctermfg=Black guibg=Magenta"),
-! CENT("PmenuSel ctermbg=DarkGrey ctermfg=Black",
-! "PmenuSel ctermbg=DarkGrey ctermfg=Black guibg=DarkGrey"),
- #endif
- CENT("Title term=bold ctermfg=LightMagenta",
- "Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta"),
-*** ../vim-7.3.474/src/version.c 2012-03-16 19:34:43.000000000 +0100
---- src/version.c 2012-03-16 20:05:35.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 475,
- /**/
-
---
-Spam seems to be something useful to novices. Later you realize that
-it's a bunch of indigestable junk that only clogs your system.
-Applies to both the food and the e-mail!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.476 b/source/ap/vim/patches/7.3.476
deleted file mode 100644
index 959b906bc..000000000
--- a/source/ap/vim/patches/7.3.476
+++ /dev/null
@@ -1,56 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.476
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.476
-Problem: When selecting a block, using "$" to include the end of each line
- and using "A" and typing a backspace strange things happen.
- (Yuangchen Xie)
-Solution: Avoid using a negative length. (Christian Brabandt)
-Files: src/ops.c
-
-
-*** ../vim-7.3.475/src/ops.c 2012-03-07 19:30:32.000000000 +0100
---- src/ops.c 2012-03-23 12:22:36.000000000 +0100
-***************
-*** 2602,2608 ****
- firstline = ml_get(oap->start.lnum) + bd.textcol;
- if (oap->op_type == OP_APPEND)
- firstline += bd.textlen;
-! if ((ins_len = (long)STRLEN(firstline) - pre_textlen) > 0)
- {
- ins_text = vim_strnsave(firstline, (int)ins_len);
- if (ins_text != NULL)
---- 2602,2609 ----
- firstline = ml_get(oap->start.lnum) + bd.textcol;
- if (oap->op_type == OP_APPEND)
- firstline += bd.textlen;
-! if (pre_textlen >= 0
-! && (ins_len = (long)STRLEN(firstline) - pre_textlen) > 0)
- {
- ins_text = vim_strnsave(firstline, (int)ins_len);
- if (ins_text != NULL)
-*** ../vim-7.3.475/src/version.c 2012-03-16 20:16:42.000000000 +0100
---- src/version.c 2012-03-23 14:14:49.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 476,
- /**/
-
---
-"Marriage is a wonderful institution...
-but who wants to live in an institution?"
- - Groucho Marx
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.477 b/source/ap/vim/patches/7.3.477
deleted file mode 100644
index 8030ee65a..000000000
--- a/source/ap/vim/patches/7.3.477
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.477
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.477
-Problem: Using ":echo" to output enough lines to scroll, then using "j" and
- "k" at the more prompt, displays the command on top of the output.
- (Marcin Szamotulski)
-Solution: Put the output below the command. (Christian Brabandt)
-Files: src/eval.c
-
-
-*** ../vim-7.3.476/src/eval.c 2012-03-07 19:16:49.000000000 +0100
---- src/eval.c 2012-03-23 15:11:30.000000000 +0100
-***************
-*** 20492,20498 ****
---- 20492,20503 ----
- /* Call msg_start() after eval1(), evaluating the expression
- * may cause a message to appear. */
- if (eap->cmdidx == CMD_echo)
-+ {
-+ /* Put the output below the command, makes scrolling back
-+ * at more prompt work. */
-+ msg_didout = TRUE;
- msg_start();
-+ }
- }
- else if (eap->cmdidx == CMD_echo)
- msg_puts_attr((char_u *)" ", echo_attr);
-*** ../vim-7.3.476/src/version.c 2012-03-23 14:16:19.000000000 +0100
---- src/version.c 2012-03-23 15:13:58.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 477,
- /**/
-
---
-"Marriage is when a man and woman become as one; the trouble starts
-when they try to decide which one"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.478 b/source/ap/vim/patches/7.3.478
deleted file mode 100644
index bad69ef2f..000000000
--- a/source/ap/vim/patches/7.3.478
+++ /dev/null
@@ -1,46 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.478
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.478
-Problem: Memory leak using the ':rv!' command when reading dictionary or
- list global variables i.e. with 'viminfo' containing !.
-Solution: Free the typeval. (Dominique Pelle)
-Files: src/eval.c
-
-
-*** ../vim-7.3.477/src/eval.c 2012-03-23 15:18:20.000000000 +0100
---- src/eval.c 2012-03-23 15:28:42.000000000 +0100
-***************
-*** 22976,22981 ****
---- 22976,22982 ----
- {
- vim_free(tv.vval.v_string);
- tv = *etv;
-+ vim_free(etv);
- }
- }
-
-*** ../vim-7.3.477/src/version.c 2012-03-23 15:18:20.000000000 +0100
---- src/version.c 2012-03-23 15:29:22.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 478,
- /**/
-
---
-"Marriage is the process of finding out what kind of man your wife
-would have preferred"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.479 b/source/ap/vim/patches/7.3.479
deleted file mode 100644
index fc256c1fb..000000000
--- a/source/ap/vim/patches/7.3.479
+++ /dev/null
@@ -1,134 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.479
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.479
-Problem: When 'cursorline' is set the line number highlighting can't be set
- separately.
-Solution: Add "CursorLineNr". (Howard Buchholz)
-Files: src/option.c, src/screen.c, src/syntax.c, src/vim.h
-
-
-*** ../vim-7.3.478/src/option.c 2012-02-29 13:51:32.000000000 +0100
---- src/option.c 2012-03-23 15:44:57.000000000 +0100
-***************
-*** 460,468 ****
- #if defined(FEAT_DIFF) || defined(FEAT_FOLDING) || defined(FEAT_SPELL) \
- || defined(FEAT_VERTSPLIT) || defined(FEAT_CLIPBOARD) \
- || defined(FEAT_INS_EXPAND) || defined(FEAT_SYN_HL) || defined(FEAT_CONCEAL)
-! # define HIGHLIGHT_INIT "8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn"
- #else
-! # define HIGHLIGHT_INIT "8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,r:Question,s:StatusLine,S:StatusLineNC,t:Title,v:Visual,w:WarningMsg,W:WildMenu,>:SignColumn,*:TabLine,#:TabLineSel,_:TabLineFill"
- #endif
-
- /*
---- 460,468 ----
- #if defined(FEAT_DIFF) || defined(FEAT_FOLDING) || defined(FEAT_SPELL) \
- || defined(FEAT_VERTSPLIT) || defined(FEAT_CLIPBOARD) \
- || defined(FEAT_INS_EXPAND) || defined(FEAT_SYN_HL) || defined(FEAT_CONCEAL)
-! # define HIGHLIGHT_INIT "8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn"
- #else
-! # define HIGHLIGHT_INIT "8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,t:Title,v:Visual,w:WarningMsg,W:WildMenu,>:SignColumn,*:TabLine,#:TabLineSel,_:TabLineFill"
- #endif
-
- /*
-*** ../vim-7.3.478/src/screen.c 2012-03-16 19:07:54.000000000 +0100
---- src/screen.c 2012-03-23 16:09:15.000000000 +0100
-***************
-*** 3501,3509 ****
- char_attr = hl_attr(HLF_N);
- #ifdef FEAT_SYN_HL
- /* When 'cursorline' is set highlight the line number of
-! * the current line differently. */
- if (wp->w_p_cul && lnum == wp->w_cursor.lnum)
-! char_attr = hl_combine_attr(hl_attr(HLF_CUL), char_attr);
- #endif
- }
- }
---- 3501,3511 ----
- char_attr = hl_attr(HLF_N);
- #ifdef FEAT_SYN_HL
- /* When 'cursorline' is set highlight the line number of
-! * the current line differently.
-! * TODO: Can we use CursorLine instead of CursorLineNr
-! * when CursorLineNr isn't set? */
- if (wp->w_p_cul && lnum == wp->w_cursor.lnum)
-! char_attr = hl_attr(HLF_CLN);
- #endif
- }
- }
-*** ../vim-7.3.478/src/syntax.c 2012-03-16 20:16:42.000000000 +0100
---- src/syntax.c 2012-03-23 16:23:57.000000000 +0100
-***************
-*** 6538,6543 ****
---- 6538,6545 ----
- "Directory term=bold ctermfg=DarkBlue guifg=Blue"),
- CENT("LineNr term=underline ctermfg=Brown",
- "LineNr term=underline ctermfg=Brown guifg=Brown"),
-+ CENT("CursorLineNr term=bold ctermfg=Brown",
-+ "CursorLineNr term=bold ctermfg=Brown gui=bold guifg=Brown"),
- CENT("MoreMsg term=bold ctermfg=DarkGreen",
- "MoreMsg term=bold ctermfg=DarkGreen gui=bold guifg=SeaGreen"),
- CENT("Question term=standout ctermfg=DarkGreen",
-***************
-*** 6626,6631 ****
---- 6628,6635 ----
- "Directory term=bold ctermfg=LightCyan guifg=Cyan"),
- CENT("LineNr term=underline ctermfg=Yellow",
- "LineNr term=underline ctermfg=Yellow guifg=Yellow"),
-+ CENT("CursorLineNr term=bold ctermfg=Yellow",
-+ "CursorLineNr term=bold ctermfg=Yellow gui=bold guifg=Yellow"),
- CENT("MoreMsg term=bold ctermfg=LightGreen",
- "MoreMsg term=bold ctermfg=LightGreen gui=bold guifg=SeaGreen"),
- CENT("Question term=standout ctermfg=LightGreen",
-*** ../vim-7.3.478/src/vim.h 2012-03-07 19:16:49.000000000 +0100
---- src/vim.h 2012-03-23 15:44:57.000000000 +0100
-***************
-*** 1318,1323 ****
---- 1318,1324 ----
- , HLF_M /* "--More--" message */
- , HLF_CM /* Mode (e.g., "-- INSERT --") */
- , HLF_N /* line number for ":number" and ":#" commands */
-+ , HLF_CLN /* current line number */
- , HLF_R /* return to continue message and yes/no questions */
- , HLF_S /* status lines */
- , HLF_SNC /* status lines of not-current windows */
-***************
-*** 1355,1361 ****
- /* The HL_FLAGS must be in the same order as the HLF_ enums!
- * When changing this also adjust the default for 'highlight'. */
- #define HL_FLAGS {'8', '@', 'd', 'e', 'h', 'i', 'l', 'm', 'M', \
-! 'n', 'r', 's', 'S', 'c', 't', 'v', 'V', 'w', 'W', \
- 'f', 'F', 'A', 'C', 'D', 'T', '-', '>', \
- 'B', 'P', 'R', 'L', \
- '+', '=', 'x', 'X', '*', '#', '_', '!', '.', 'o'}
---- 1356,1362 ----
- /* The HL_FLAGS must be in the same order as the HLF_ enums!
- * When changing this also adjust the default for 'highlight'. */
- #define HL_FLAGS {'8', '@', 'd', 'e', 'h', 'i', 'l', 'm', 'M', \
-! 'n', 'N', 'r', 's', 'S', 'c', 't', 'v', 'V', 'w', 'W', \
- 'f', 'F', 'A', 'C', 'D', 'T', '-', '>', \
- 'B', 'P', 'R', 'L', \
- '+', '=', 'x', 'X', '*', '#', '_', '!', '.', 'o'}
-*** ../vim-7.3.478/src/version.c 2012-03-23 15:36:57.000000000 +0100
---- src/version.c 2012-03-23 16:16:41.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 479,
- /**/
-
---
-If you're sending someone Styrofoam, what do you pack it in?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.480 b/source/ap/vim/patches/7.3.480
deleted file mode 100644
index 6d1e21dee..000000000
--- a/source/ap/vim/patches/7.3.480
+++ /dev/null
@@ -1,237 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.480
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.480
-Problem: When using ":qa" and there is a changed buffer picking the buffer
- to jump to is not very good.
-Solution: Consider current and other tab pages. (Hirohito Higashi)
-Files: src/ex_cmds2.c
-
-
-*** ../vim-7.3.479/src/ex_cmds2.c 2012-02-22 18:29:29.000000000 +0100
---- src/ex_cmds2.c 2012-03-23 17:01:31.000000000 +0100
-***************
-*** 1569,1574 ****
---- 1569,1594 ----
- || forceit);
- }
-
-+ static void add_bufnum __ARGS((int *bufnrs, int *bufnump, int nr));
-+
-+ /*
-+ * Add a buffer number to "bufnrs", unless it's already there.
-+ */
-+ static void
-+ add_bufnum(bufnrs, bufnump, nr)
-+ int *bufnrs;
-+ int *bufnump;
-+ int nr;
-+ {
-+ int i;
-+
-+ for (i = 0; i < *bufnump; ++i)
-+ if (bufnrs[i] == nr)
-+ return;
-+ bufnrs[*bufnump] = nr;
-+ *bufnump = *bufnump + 1;
-+ }
-+
- /*
- * Return TRUE if any buffer was changed and cannot be abandoned.
- * That changed buffer becomes the current buffer.
-***************
-*** 1577,1608 ****
- check_changed_any(hidden)
- int hidden; /* Only check hidden buffers */
- {
- buf_T *buf;
- int save;
- #ifdef FEAT_WINDOWS
- win_T *wp;
- #endif
-
-! for (;;)
- {
-! /* check curbuf first: if it was changed we can't abandon it */
-! if (!hidden && curbufIsChanged())
-! buf = curbuf;
-! else
- {
-! for (buf = firstbuf; buf != NULL; buf = buf->b_next)
-! if ((!hidden || buf->b_nwindows == 0) && bufIsChanged(buf))
-! break;
- }
-- if (buf == NULL) /* No buffers changed */
-- return FALSE;
--
-- /* Try auto-writing the buffer. If this fails but the buffer no
-- * longer exists it's not changed, that's OK. */
-- if (check_changed(buf, p_awa, TRUE, FALSE, TRUE) && buf_valid(buf))
-- break; /* didn't save - still changes */
- }
-
- exiting = FALSE;
- #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
- /*
---- 1597,1660 ----
- check_changed_any(hidden)
- int hidden; /* Only check hidden buffers */
- {
-+ int ret = FALSE;
- buf_T *buf;
- int save;
-+ int i;
-+ int bufnum = 0;
-+ int bufcount = 0;
-+ int *bufnrs;
- #ifdef FEAT_WINDOWS
-+ tabpage_T *tp;
- win_T *wp;
- #endif
-
-! for (buf = firstbuf; buf != NULL; buf = buf->b_next)
-! ++bufcount;
-!
-! if (bufcount == 0)
-! return FALSE;
-!
-! bufnrs = (int *)alloc(sizeof(int) * bufcount);
-! if (bufnrs == NULL)
-! return FALSE;
-!
-! /* curbuf */
-! bufnrs[bufnum++] = curbuf->b_fnum;
-! #ifdef FEAT_WINDOWS
-! /* buf in curtab */
-! FOR_ALL_WINDOWS(wp)
-! if (wp->w_buffer != curbuf)
-! add_bufnum(bufnrs, &bufnum, wp->w_buffer->b_fnum);
-!
-! /* buf in other tab */
-! for (tp = first_tabpage; tp != NULL; tp = tp->tp_next)
-! if (tp != curtab)
-! for (wp = tp->tp_firstwin; wp != NULL; wp = wp->w_next)
-! add_bufnum(bufnrs, &bufnum, wp->w_buffer->b_fnum);
-! #endif
-! /* any other buf */
-! for (buf = firstbuf; buf != NULL; buf = buf->b_next)
-! add_bufnum(bufnrs, &bufnum, buf->b_fnum);
-!
-! for (i = 0; i < bufnum; ++i)
- {
-! buf = buflist_findnr(bufnrs[i]);
-! if (buf == NULL)
-! continue;
-! if ((!hidden || buf->b_nwindows == 0) && bufIsChanged(buf))
- {
-! /* Try auto-writing the buffer. If this fails but the buffer no
-! * longer exists it's not changed, that's OK. */
-! if (check_changed(buf, p_awa, TRUE, FALSE, TRUE) && buf_valid(buf))
-! break; /* didn't save - still changes */
- }
- }
-
-+ if (i >= bufnum)
-+ goto theend;
-+
-+ ret = TRUE;
- exiting = FALSE;
- #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
- /*
-***************
-*** 1635,1658 ****
- #ifdef FEAT_WINDOWS
- /* Try to find a window that contains the buffer. */
- if (buf != curbuf)
-! for (wp = firstwin; wp != NULL; wp = wp->w_next)
- if (wp->w_buffer == buf)
- {
-! win_goto(wp);
- # ifdef FEAT_AUTOCMD
- /* Paranoia: did autocms wipe out the buffer with changes? */
- if (!buf_valid(buf))
-! return TRUE;
- # endif
-! break;
- }
- #endif
-
- /* Open the changed buffer in the current window. */
- if (buf != curbuf)
- set_curbuf(buf, DOBUF_GOTO);
-
-! return TRUE;
- }
-
- /*
---- 1687,1715 ----
- #ifdef FEAT_WINDOWS
- /* Try to find a window that contains the buffer. */
- if (buf != curbuf)
-! FOR_ALL_TAB_WINDOWS(tp, wp)
- if (wp->w_buffer == buf)
- {
-! goto_tabpage_win(tp, wp);
- # ifdef FEAT_AUTOCMD
- /* Paranoia: did autocms wipe out the buffer with changes? */
- if (!buf_valid(buf))
-! {
-! goto theend;
-! }
- # endif
-! goto buf_found;
- }
-+ buf_found:
- #endif
-
- /* Open the changed buffer in the current window. */
- if (buf != curbuf)
- set_curbuf(buf, DOBUF_GOTO);
-
-! theend:
-! vim_free(bufnrs);
-! return ret;
- }
-
- /*
-***************
-*** 3274,3280 ****
- home_replace(NULL, SCRIPT_ITEM(i).sn_name,
- NameBuff, MAXPATHL, TRUE);
- smsg((char_u *)"%3d: %s", i, NameBuff);
-! }
- }
-
- # if defined(BACKSLASH_IN_FILENAME) || defined(PROTO)
---- 3331,3337 ----
- home_replace(NULL, SCRIPT_ITEM(i).sn_name,
- NameBuff, MAXPATHL, TRUE);
- smsg((char_u *)"%3d: %s", i, NameBuff);
-! }
- }
-
- # if defined(BACKSLASH_IN_FILENAME) || defined(PROTO)
-*** ../vim-7.3.479/src/version.c 2012-03-23 16:25:13.000000000 +0100
---- src/version.c 2012-03-23 16:48:06.000000000 +0100
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 480,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-243. You unsuccessfully try to download a pizza from www.dominos.com.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.481 b/source/ap/vim/patches/7.3.481
deleted file mode 100644
index 69f691585..000000000
--- a/source/ap/vim/patches/7.3.481
+++ /dev/null
@@ -1,65 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.481
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.481
-Problem: Changing 'virtualedit' in an operator function to "all" does not
- have the desired effect. (Aaron Bohannon)
-Solution: Save, reset and restore virtual_op when executing an operator
- function.
-Files: src/normal.c
-
-
-*** ../vim-7.3.480/src/normal.c 2012-02-05 01:18:41.000000000 +0100
---- src/normal.c 2012-03-28 12:59:46.000000000 +0200
-***************
-*** 2279,2284 ****
---- 2279,2285 ----
- {
- #ifdef FEAT_EVAL
- char_u *(argv[1]);
-+ int save_virtual_op = virtual_op;
-
- if (*p_opfunc == NUL)
- EMSG(_("E774: 'operatorfunc' is empty"));
-***************
-*** 2297,2303 ****
---- 2298,2311 ----
- argv[0] = (char_u *)"line";
- else
- argv[0] = (char_u *)"char";
-+
-+ /* Reset virtual_op so that 'virtualedit' can be changed in the
-+ * function. */
-+ virtual_op = MAYBE;
-+
- (void)call_func_retnr(p_opfunc, 1, argv, FALSE);
-+
-+ virtual_op = save_virtual_op;
- }
- #else
- EMSG(_("E775: Eval feature not available"));
-*** ../vim-7.3.480/src/version.c 2012-03-23 18:39:10.000000000 +0100
---- src/version.c 2012-03-28 12:50:20.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 481,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-269. You wonder how you can make your dustbin produce Sesame Street's
- Oscar's the Garbage Monster song when you empty it.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.482 b/source/ap/vim/patches/7.3.482
deleted file mode 100644
index 56ff30178..000000000
--- a/source/ap/vim/patches/7.3.482
+++ /dev/null
@@ -1,57 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.482
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.482
-Problem: With 'cursorbind' set moving up/down does not always keep the same
- column.
-Solution: Set curswant appropriately. (Gary Johnson)
-Files: src/move.c
-
-
-*** ../vim-7.3.481/src/move.c 2012-03-16 19:24:21.000000000 +0100
---- src/move.c 2012-03-28 14:16:02.000000000 +0200
-***************
-*** 2847,2852 ****
---- 2847,2854 ----
- # ifdef FEAT_VIRTUALEDIT
- colnr_T coladd = curwin->w_cursor.coladd;
- # endif
-+ colnr_T curswant = curwin->w_curswant;
-+ int set_curswant = curwin->w_set_curswant;
- win_T *old_curwin = curwin;
- buf_T *old_curbuf = curbuf;
- int restart_edit_save;
-***************
-*** 2881,2886 ****
---- 2883,2890 ----
- # ifdef FEAT_VIRTUALEDIT
- curwin->w_cursor.coladd = coladd;
- # endif
-+ curwin->w_curswant = curswant;
-+ curwin->w_set_curswant = set_curswant;
-
- /* Make sure the cursor is in a valid position. Temporarily set
- * "restart_edit" to allow the cursor to be beyond the EOL. */
-*** ../vim-7.3.481/src/version.c 2012-03-28 12:59:53.000000000 +0200
---- src/version.c 2012-03-28 14:15:56.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 482,
- /**/
-
---
-Women are probably the main cause of free software starvation.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.483 b/source/ap/vim/patches/7.3.483
deleted file mode 100644
index bab488b4a..000000000
--- a/source/ap/vim/patches/7.3.483
+++ /dev/null
@@ -1,97 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.483
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.483 (after 7.3.477)
-Problem: More prompt shows up too often.
-Solution: Instead of adding a line break, only start a new line in the
- message history. (Christian Brabandt)
-Files: src/eval.c, src/message.c, src/proto/message.pro
-
-
-*** ../vim-7.3.482/src/eval.c 2012-03-23 15:36:57.000000000 +0100
---- src/eval.c 2012-03-28 16:41:03.000000000 +0200
-***************
-*** 20493,20501 ****
- * may cause a message to appear. */
- if (eap->cmdidx == CMD_echo)
- {
-! /* Put the output below the command, makes scrolling back
-! * at more prompt work. */
-! msg_didout = TRUE;
- msg_start();
- }
- }
---- 20493,20502 ----
- * may cause a message to appear. */
- if (eap->cmdidx == CMD_echo)
- {
-! /* Mark the saved text as finishing the line, so that what
-! * follows is displayed on a new line when scrolling back
-! * at the more prompt. */
-! msg_sb_eol();
- msg_start();
- }
- }
-*** ../vim-7.3.482/src/message.c 2012-01-26 13:01:54.000000000 +0100
---- src/message.c 2012-03-28 16:35:26.000000000 +0200
-***************
-*** 2348,2353 ****
---- 2348,2363 ----
- }
-
- /*
-+ * Mark the last message chunk as finishing the line.
-+ */
-+ void
-+ msg_sb_eol()
-+ {
-+ if (last_msgchunk != NULL)
-+ last_msgchunk->sb_eol = TRUE;
-+ }
-+
-+ /*
- * Display a screen line from previously displayed text at row "row".
- * Returns a pointer to the text for the next line (can be NULL).
- */
-*** ../vim-7.3.482/src/proto/message.pro 2012-01-20 20:44:38.000000000 +0100
---- src/proto/message.pro 2012-03-28 16:35:33.000000000 +0200
-***************
-*** 45,50 ****
---- 45,51 ----
- void may_clear_sb_text __ARGS((void));
- void clear_sb_text __ARGS((void));
- void show_sb_text __ARGS((void));
-+ void msg_sb_eol __ARGS((void));
- int msg_use_printf __ARGS((void));
- void mch_errmsg __ARGS((char *str));
- void mch_msg __ARGS((char *str));
-*** ../vim-7.3.482/src/version.c 2012-03-28 14:19:46.000000000 +0200
---- src/version.c 2012-03-28 16:48:53.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 483,
- /**/
-
---
- We're knights of the Round Table
- Our shows are formidable
- But many times
- We're given rhymes
- That are quite unsingable
- We're opera mad in Camelot
- We sing from the diaphragm a lot.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.484 b/source/ap/vim/patches/7.3.484
deleted file mode 100644
index 99968eb2b..000000000
--- a/source/ap/vim/patches/7.3.484
+++ /dev/null
@@ -1,62 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.484
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.484
-Problem: The -E and --echo-wid command line arguments are not mentioned in
- "vim --help".
-Solution: Add the help lines. (Dominique Pelle)
-Files: src/main.c
-
-
-*** ../vim-7.3.483/src/main.c 2012-02-12 01:55:50.000000000 +0100
---- src/main.c 2012-03-28 16:55:03.000000000 +0200
-***************
-*** 3181,3186 ****
---- 3181,3187 ----
- #endif
- main_msg(_("-v\t\t\tVi mode (like \"vi\")"));
- main_msg(_("-e\t\t\tEx mode (like \"ex\")"));
-+ main_msg(_("-E\t\t\tImproved Ex mode"));
- main_msg(_("-s\t\t\tSilent (batch) mode (only for \"ex\")"));
- #ifdef FEAT_DIFF
- main_msg(_("-d\t\t\tDiff mode (like \"vimdiff\")"));
-***************
-*** 3304,3309 ****
---- 3305,3311 ----
- main_msg(_("-display <display>\tRun vim on <display> (also: --display)"));
- main_msg(_("--role <role>\tSet a unique role to identify the main window"));
- main_msg(_("--socketid <xid>\tOpen Vim inside another GTK widget"));
-+ main_msg(_("--echo-wid\t\tMake gvim echo the Window ID on stdout"));
- #endif
- #ifdef FEAT_GUI_W32
- main_msg(_("-P <parent title>\tOpen Vim inside parent application"));
-*** ../vim-7.3.483/src/version.c 2012-03-28 16:49:25.000000000 +0200
---- src/version.c 2012-03-28 17:10:08.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 484,
- /**/
-
---
- In war we're tough and able.
- Quite indefatigable
- Between our quests
- We sequin vests
- And impersonate Clark Gable
- It's a busy life in Camelot.
- I have to push the pram a lot.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.485 b/source/ap/vim/patches/7.3.485
deleted file mode 100644
index 46b4cb732..000000000
--- a/source/ap/vim/patches/7.3.485
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.485
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.485
-Problem: When building Vim LDFLAGS isn't passed on to building xxd.
-Solution: Pass the LDFLAGS value. (James McCoy)
-Files: src/Makefile
-
-
-*** ../vim-7.3.484/src/Makefile 2011-12-14 20:51:19.000000000 +0100
---- src/Makefile 2012-03-28 17:16:06.000000000 +0200
-***************
-*** 1720,1726 ****
- sh $(srcdir)/link.sh
-
- xxd/xxd$(EXEEXT): xxd/xxd.c
-! cd xxd; CC="$(CC)" CFLAGS="$(CPPFLAGS) $(CFLAGS)" \
- $(MAKE) -f Makefile
-
- # Build the language specific files if they were unpacked.
---- 1720,1726 ----
- sh $(srcdir)/link.sh
-
- xxd/xxd$(EXEEXT): xxd/xxd.c
-! cd xxd; CC="$(CC)" CFLAGS="$(CPPFLAGS) $(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
- $(MAKE) -f Makefile
-
- # Build the language specific files if they were unpacked.
-*** ../vim-7.3.484/src/version.c 2012-03-28 17:10:26.000000000 +0200
---- src/version.c 2012-03-28 17:16:15.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 485,
- /**/
-
---
-GOD: That is your purpose Arthur ... the Quest for the Holy Grail ...
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.486 b/source/ap/vim/patches/7.3.486
deleted file mode 100644
index 44e2afe84..000000000
--- a/source/ap/vim/patches/7.3.486
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.486
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.486
-Problem: Build error with mingw64 on Windows 7.
-Solution: Avoid the step of going through vimres.res. (Guopeng Wen)
-Files: src/Make_ming.mak
-
-
-*** ../vim-7.3.485/src/Make_ming.mak 2012-02-29 16:56:35.000000000 +0100
---- src/Make_ming.mak 2012-03-28 17:41:55.000000000 +0200
-***************
-*** 681,691 ****
- $(OUTDIR)/%.o : %.c $(INCL)
- $(CC) -c $(CFLAGS) $< -o $@
-
-! $(OUTDIR)/vimres.res: vim.rc version.h gui_w32_rc.h
-! $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) vim.rc $(OUTDIR)/vimres.res
-!
-! $(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res
-! $(WINDRES) $(WINDRES_FLAGS) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o
-
- $(OUTDIR):
- $(MKDIR) $(OUTDIR)
---- 681,689 ----
- $(OUTDIR)/%.o : %.c $(INCL)
- $(CC) -c $(CFLAGS) $< -o $@
-
-! $(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h
-! $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) \
-! --input-format=rc --output-format=coff -i vim.rc -o $@
-
- $(OUTDIR):
- $(MKDIR) $(OUTDIR)
-*** ../vim-7.3.485/src/version.c 2012-03-28 17:17:45.000000000 +0200
---- src/version.c 2012-03-28 17:42:25.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 486,
- /**/
-
---
-There is a fine line between courage and foolishness.
-Unfortunately, it's not a fence.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.487 b/source/ap/vim/patches/7.3.487
deleted file mode 100644
index 3c00349b3..000000000
--- a/source/ap/vim/patches/7.3.487
+++ /dev/null
@@ -1,572 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.487
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.487
-Problem: When setting 'timeoutlen' or 'ttimeoutlen' the column for vertical
- movement is reset unnecessarily.
-Solution: Do not set w_set_curswant for every option. Add a test for this.
- (Kana Natsuno) Add the P_CURSWANT flag for options.
-Files: src/option.c, src/testdir/test84.in, src/testdir/test84.ok,
- src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
- src/testdir/Make_vms.mms, src/testdir/Makefile
-
-
-*** ../vim-7.3.486/src/option.c 2012-03-23 16:25:13.000000000 +0100
---- src/option.c 2012-03-28 19:57:46.000000000 +0200
-***************
-*** 433,449 ****
- #define P_RCLR 0x7000 /* clear and redraw all */
-
- #define P_COMMA 0x8000 /* comma separated list */
-! #define P_NODUP 0x10000L/* don't allow duplicate strings */
-! #define P_FLAGLIST 0x20000L/* list of single-char flags */
-
-! #define P_SECURE 0x40000L/* cannot change in modeline or secure mode */
-! #define P_GETTEXT 0x80000L/* expand default value with _() */
-! #define P_NOGLOB 0x100000L/* do not use local value for global vimrc */
-! #define P_NFNAME 0x200000L/* only normal file name chars allowed */
-! #define P_INSECURE 0x400000L/* option was set from a modeline */
-! #define P_PRI_MKRC 0x800000L/* priority for :mkvimrc (setting option has
- side effects) */
-! #define P_NO_ML 0x1000000L/* not allowed in modeline */
-
- #define ISK_LATIN1 (char_u *)"@,48-57,_,192-255"
-
---- 433,451 ----
- #define P_RCLR 0x7000 /* clear and redraw all */
-
- #define P_COMMA 0x8000 /* comma separated list */
-! #define P_NODUP 0x10000L /* don't allow duplicate strings */
-! #define P_FLAGLIST 0x20000L /* list of single-char flags */
-
-! #define P_SECURE 0x40000L /* cannot change in modeline or secure mode */
-! #define P_GETTEXT 0x80000L /* expand default value with _() */
-! #define P_NOGLOB 0x100000L /* do not use local value for global vimrc */
-! #define P_NFNAME 0x200000L /* only normal file name chars allowed */
-! #define P_INSECURE 0x400000L /* option was set from a modeline */
-! #define P_PRI_MKRC 0x800000L /* priority for :mkvimrc (setting option has
- side effects) */
-! #define P_NO_ML 0x1000000L /* not allowed in modeline */
-! #define P_CURSWANT 0x2000000L /* update curswant required; not needed when
-! * there is a redraw flag */
-
- #define ISK_LATIN1 (char_u *)"@,48-57,_,192-255"
-
-***************
-*** 479,485 ****
- #endif
- options[] =
- {
-! {"aleph", "al", P_NUM|P_VI_DEF,
- #ifdef FEAT_RIGHTLEFT
- (char_u *)&p_aleph, PV_NONE,
- #else
---- 481,487 ----
- #endif
- options[] =
- {
-! {"aleph", "al", P_NUM|P_VI_DEF|P_CURSWANT,
- #ifdef FEAT_RIGHTLEFT
- (char_u *)&p_aleph, PV_NONE,
- #else
-***************
-*** 501,507 ****
- {(char_u *)FALSE, (char_u *)FALSE}
- #endif
- SCRIPTID_INIT},
-! {"arabic", "arab", P_BOOL|P_VI_DEF|P_VIM,
- #ifdef FEAT_ARABIC
- (char_u *)VAR_WIN, PV_ARAB,
- #else
---- 503,509 ----
- {(char_u *)FALSE, (char_u *)FALSE}
- #endif
- SCRIPTID_INIT},
-! {"arabic", "arab", P_BOOL|P_VI_DEF|P_VIM|P_CURSWANT,
- #ifdef FEAT_ARABIC
- (char_u *)VAR_WIN, PV_ARAB,
- #else
-***************
-*** 778,784 ****
- {"columns", "co", P_NUM|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RCLR,
- (char_u *)&Columns, PV_NONE,
- {(char_u *)80L, (char_u *)0L} SCRIPTID_INIT},
-! {"comments", "com", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP,
- #ifdef FEAT_COMMENTS
- (char_u *)&p_com, PV_COM,
- {(char_u *)"s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-",
---- 780,786 ----
- {"columns", "co", P_NUM|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RCLR,
- (char_u *)&Columns, PV_NONE,
- {(char_u *)80L, (char_u *)0L} SCRIPTID_INIT},
-! {"comments", "com", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP|P_CURSWANT,
- #ifdef FEAT_COMMENTS
- (char_u *)&p_com, PV_COM,
- {(char_u *)"s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-",
-***************
-*** 788,794 ****
- {(char_u *)0L, (char_u *)0L}
- #endif
- SCRIPTID_INIT},
-! {"commentstring", "cms", P_STRING|P_ALLOCED|P_VI_DEF,
- #ifdef FEAT_FOLDING
- (char_u *)&p_cms, PV_CMS,
- {(char_u *)"/*%s*/", (char_u *)0L}
---- 790,796 ----
- {(char_u *)0L, (char_u *)0L}
- #endif
- SCRIPTID_INIT},
-! {"commentstring", "cms", P_STRING|P_ALLOCED|P_VI_DEF|P_CURSWANT,
- #ifdef FEAT_FOLDING
- (char_u *)&p_cms, PV_CMS,
- {(char_u *)"/*%s*/", (char_u *)0L}
-***************
-*** 953,959 ****
- {"debug", NULL, P_STRING|P_VI_DEF,
- (char_u *)&p_debug, PV_NONE,
- {(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
-! {"define", "def", P_STRING|P_ALLOCED|P_VI_DEF,
- #ifdef FEAT_FIND_ID
- (char_u *)&p_def, PV_DEF,
- {(char_u *)"^\\s*#\\s*define", (char_u *)0L}
---- 955,961 ----
- {"debug", NULL, P_STRING|P_VI_DEF,
- (char_u *)&p_debug, PV_NONE,
- {(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
-! {"define", "def", P_STRING|P_ALLOCED|P_VI_DEF|P_CURSWANT,
- #ifdef FEAT_FIND_ID
- (char_u *)&p_def, PV_DEF,
- {(char_u *)"^\\s*#\\s*define", (char_u *)0L}
-***************
-*** 983,989 ****
- (char_u *)NULL, PV_NONE,
- #endif
- {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
-! {"diffexpr", "dex", P_STRING|P_VI_DEF|P_SECURE,
- #if defined(FEAT_DIFF) && defined(FEAT_EVAL)
- (char_u *)&p_dex, PV_NONE,
- {(char_u *)"", (char_u *)0L}
---- 985,991 ----
- (char_u *)NULL, PV_NONE,
- #endif
- {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
-! {"diffexpr", "dex", P_STRING|P_VI_DEF|P_SECURE|P_CURSWANT,
- #if defined(FEAT_DIFF) && defined(FEAT_EVAL)
- (char_u *)&p_dex, PV_NONE,
- {(char_u *)"", (char_u *)0L}
-***************
-*** 1099,1105 ****
- {(char_u *)0L, (char_u *)0L}
- #endif
- SCRIPTID_INIT},
-! {"fileformat", "ff", P_STRING|P_ALLOCED|P_VI_DEF|P_RSTAT|P_NO_MKRC,
- (char_u *)&p_ff, PV_FF,
- {(char_u *)DFLT_FF, (char_u *)0L} SCRIPTID_INIT},
- {"fileformats", "ffs", P_STRING|P_VIM|P_COMMA|P_NODUP,
---- 1101,1107 ----
- {(char_u *)0L, (char_u *)0L}
- #endif
- SCRIPTID_INIT},
-! {"fileformat", "ff", P_STRING|P_ALLOCED|P_VI_DEF|P_RSTAT|P_NO_MKRC|P_CURSWANT,
- (char_u *)&p_ff, PV_FF,
- {(char_u *)DFLT_FF, (char_u *)0L} SCRIPTID_INIT},
- {"fileformats", "ffs", P_STRING|P_VIM|P_COMMA|P_NODUP,
-***************
-*** 1159,1165 ****
- {"foldlevel", "fdl", P_NUM|P_VI_DEF|P_RWIN,
- (char_u *)VAR_WIN, PV_FDL,
- {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
-! {"foldlevelstart","fdls", P_NUM|P_VI_DEF,
- (char_u *)&p_fdls, PV_NONE,
- {(char_u *)-1L, (char_u *)0L} SCRIPTID_INIT},
- {"foldmarker", "fmr", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|
---- 1161,1167 ----
- {"foldlevel", "fdl", P_NUM|P_VI_DEF|P_RWIN,
- (char_u *)VAR_WIN, PV_FDL,
- {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
-! {"foldlevelstart","fdls", P_NUM|P_VI_DEF|P_CURSWANT,
- (char_u *)&p_fdls, PV_NONE,
- {(char_u *)-1L, (char_u *)0L} SCRIPTID_INIT},
- {"foldmarker", "fmr", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|
-***************
-*** 1176,1182 ****
- {"foldnestmax", "fdn", P_NUM|P_VI_DEF|P_RWIN,
- (char_u *)VAR_WIN, PV_FDN,
- {(char_u *)20L, (char_u *)0L} SCRIPTID_INIT},
-! {"foldopen", "fdo", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
- (char_u *)&p_fdo, PV_NONE,
- {(char_u *)"block,hor,mark,percent,quickfix,search,tag,undo",
- (char_u *)0L} SCRIPTID_INIT},
---- 1178,1184 ----
- {"foldnestmax", "fdn", P_NUM|P_VI_DEF|P_RWIN,
- (char_u *)VAR_WIN, PV_FDN,
- {(char_u *)20L, (char_u *)0L} SCRIPTID_INIT},
-! {"foldopen", "fdo", P_STRING|P_VI_DEF|P_COMMA|P_NODUP|P_CURSWANT,
- (char_u *)&p_fdo, PV_NONE,
- {(char_u *)"block,hor,mark,percent,quickfix,search,tag,undo",
- (char_u *)0L} SCRIPTID_INIT},
-***************
-*** 1741,1747 ****
- {"matchtime", "mat", P_NUM|P_VI_DEF,
- (char_u *)&p_mat, PV_NONE,
- {(char_u *)5L, (char_u *)0L} SCRIPTID_INIT},
-! {"maxcombine", "mco", P_NUM|P_VI_DEF,
- #ifdef FEAT_MBYTE
- (char_u *)&p_mco, PV_NONE,
- #else
---- 1743,1749 ----
- {"matchtime", "mat", P_NUM|P_VI_DEF,
- (char_u *)&p_mat, PV_NONE,
- {(char_u *)5L, (char_u *)0L} SCRIPTID_INIT},
-! {"maxcombine", "mco", P_NUM|P_VI_DEF|P_CURSWANT,
- #ifdef FEAT_MBYTE
- (char_u *)&p_mco, PV_NONE,
- #else
-***************
-*** 2710,2716 ****
- {(char_u *)0L, (char_u *)0L}
- #endif
- SCRIPTID_INIT},
-! {"virtualedit", "ve", P_STRING|P_COMMA|P_NODUP|P_VI_DEF|P_VIM,
- #ifdef FEAT_VIRTUALEDIT
- (char_u *)&p_ve, PV_NONE,
- {(char_u *)"", (char_u *)""}
---- 2712,2718 ----
- {(char_u *)0L, (char_u *)0L}
- #endif
- SCRIPTID_INIT},
-! {"virtualedit", "ve", P_STRING|P_COMMA|P_NODUP|P_VI_DEF|P_VIM|P_CURSWANT,
- #ifdef FEAT_VIRTUALEDIT
- (char_u *)&p_ve, PV_NONE,
- {(char_u *)"", (char_u *)""}
-***************
-*** 7064,7071 ****
- }
- #endif
-
-! if (curwin->w_curswant != MAXCOL)
-! curwin->w_set_curswant = TRUE; /* in case 'showbreak' changed */
- #ifdef FEAT_GUI
- /* check redraw when it's not a GUI option or the GUI is active. */
- if (!redraw_gui_only || gui.in_use)
---- 7066,7075 ----
- }
- #endif
-
-! if (curwin->w_curswant != MAXCOL
-! && (options[opt_idx].flags & (P_CURSWANT | P_RCLR)) != 0)
-! curwin->w_set_curswant = TRUE;
-!
- #ifdef FEAT_GUI
- /* check redraw when it's not a GUI option or the GUI is active. */
- if (!redraw_gui_only || gui.in_use)
-***************
-*** 7587,7595 ****
- || (int *)varp == &curwin->w_p_nu
- || (int *)varp == &curwin->w_p_rnu)
- {
-- if (curwin->w_curswant != MAXCOL)
-- curwin->w_set_curswant = TRUE;
--
- /* If 'number' is set, reset 'relativenumber'. */
- /* If 'relativenumber' is set, reset 'number'. */
- if ((int *)varp == &curwin->w_p_nu && curwin->w_p_nu)
---- 7591,7596 ----
-***************
-*** 7834,7841 ****
- {
- if (curwin->w_p_wrap)
- curwin->w_leftcol = 0;
-- if (curwin->w_curswant != MAXCOL)
-- curwin->w_set_curswant = TRUE;
- }
-
- #ifdef FEAT_WINDOWS
---- 7835,7840 ----
-***************
-*** 8062,8092 ****
- curbuf->b_p_imsearch = B_IMODE_USE_INSERT;
- # endif
- }
-- if (curwin->w_curswant != MAXCOL)
-- curwin->w_set_curswant = TRUE;
- }
-
-- else if ((int *)varp == &p_arshape)
-- {
-- if (curwin->w_curswant != MAXCOL)
-- curwin->w_set_curswant = TRUE;
-- }
-- #endif
--
-- #ifdef FEAT_LINEBREAK
-- if ((int *)varp == &curwin->w_p_lbr)
-- {
-- if (curwin->w_curswant != MAXCOL)
-- curwin->w_set_curswant = TRUE;
-- }
-- #endif
--
-- #ifdef FEAT_RIGHTLEFT
-- if ((int *)varp == &curwin->w_p_rl)
-- {
-- if (curwin->w_curswant != MAXCOL)
-- curwin->w_set_curswant = TRUE;
-- }
- #endif
-
- /*
---- 8061,8068 ----
-***************
-*** 8096,8102 ****
- options[opt_idx].flags |= P_WAS_SET;
-
- comp_col(); /* in case 'ruler' or 'showcmd' changed */
-!
- check_redraw(options[opt_idx].flags);
-
- return NULL;
---- 8072,8080 ----
- options[opt_idx].flags |= P_WAS_SET;
-
- comp_col(); /* in case 'ruler' or 'showcmd' changed */
-! if (curwin->w_curswant != MAXCOL
-! && (options[opt_idx].flags & (P_CURSWANT | P_RCLR)) != 0)
-! curwin->w_set_curswant = TRUE;
- check_redraw(options[opt_idx].flags);
-
- return NULL;
-***************
-*** 8611,8618 ****
- options[opt_idx].flags |= P_WAS_SET;
-
- comp_col(); /* in case 'columns' or 'ls' changed */
-! if (curwin->w_curswant != MAXCOL)
-! curwin->w_set_curswant = TRUE; /* in case 'tabstop' changed */
- check_redraw(options[opt_idx].flags);
-
- return errmsg;
---- 8589,8597 ----
- options[opt_idx].flags |= P_WAS_SET;
-
- comp_col(); /* in case 'columns' or 'ls' changed */
-! if (curwin->w_curswant != MAXCOL
-! && (options[opt_idx].flags & (P_CURSWANT | P_RCLR)) != 0)
-! curwin->w_set_curswant = TRUE;
- check_redraw(options[opt_idx].flags);
-
- return errmsg;
-*** ../vim-7.3.486/src/testdir/test84.in 2012-03-28 19:55:12.000000000 +0200
---- src/testdir/test84.in 2012-03-28 19:46:53.000000000 +0200
-***************
-*** 0 ****
---- 1,35 ----
-+ Tests for curswant not changing when setting an option
-+
-+ STARTTEST
-+ :so small.vim
-+ :/^start target options$/+1,/^end target options$/-1 yank
-+ :let target_option_names = split(@0)
-+ :function TestCurswant(option_name)
-+ : normal! ggf8j
-+ : let curswant_before = winsaveview().curswant
-+ : execute 'let' '&'.a:option_name '=' '&'.a:option_name
-+ : let curswant_after = winsaveview().curswant
-+ : return [a:option_name, curswant_before, curswant_after]
-+ :endfunction
-+ :
-+ :new
-+ :put =['1234567890', '12345']
-+ :1 delete _
-+ :let result = []
-+ :for option_name in target_option_names
-+ : call add(result, TestCurswant(option_name))
-+ :endfor
-+ :
-+ :new
-+ :put =map(copy(result), 'join(v:val, '' '')')
-+ :1 delete _
-+ :write test.out
-+ :
-+ :qall!
-+ ENDTEST
-+
-+ start target options
-+ tabstop
-+ timeoutlen
-+ ttimeoutlen
-+ end target options
-*** ../vim-7.3.486/src/testdir/test84.ok 2012-03-28 19:55:12.000000000 +0200
---- src/testdir/test84.ok 2012-03-28 19:48:36.000000000 +0200
-***************
-*** 0 ****
---- 1,3 ----
-+ tabstop 7 4
-+ timeoutlen 7 7
-+ ttimeoutlen 7 7
-*** ../vim-7.3.486/src/testdir/Make_amiga.mak 2011-10-12 19:53:31.000000000 +0200
---- src/testdir/Make_amiga.mak 2012-03-28 18:14:08.000000000 +0200
-***************
-*** 29,35 ****
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
- test76.out test77.out test78.out test79.out test80.out \
-! test81.out test82.out test83.out
-
- .SUFFIXES: .in .out
-
---- 29,35 ----
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
- test76.out test77.out test78.out test79.out test80.out \
-! test81.out test82.out test83.out test84.out
-
- .SUFFIXES: .in .out
-
-***************
-*** 132,134 ****
---- 132,135 ----
- test81.out: test81.in
- test82.out: test82.in
- test83.out: test83.in
-+ test84.out: test84.in
-*** ../vim-7.3.486/src/testdir/Make_dos.mak 2011-10-12 19:53:31.000000000 +0200
---- src/testdir/Make_dos.mak 2012-03-28 18:14:41.000000000 +0200
-***************
-*** 29,35 ****
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out test82.out test83.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 29,36 ----
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out test82.out test83.out \
-! test84.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.486/src/testdir/Make_ming.mak 2011-10-12 19:53:31.000000000 +0200
---- src/testdir/Make_ming.mak 2012-03-28 18:14:46.000000000 +0200
-***************
-*** 49,55 ****
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out test82.out test83.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 49,56 ----
- test42.out test52.out test65.out test66.out test67.out \
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out test82.out test83.out \
-! test84.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.486/src/testdir/Make_os2.mak 2011-10-12 19:53:31.000000000 +0200
---- src/testdir/Make_os2.mak 2012-03-28 18:15:00.000000000 +0200
-***************
-*** 29,35 ****
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
- test76.out test77.out test78.out test79.out test80.out \
-! test81.out test82.out test83.out
-
- .SUFFIXES: .in .out
-
---- 29,35 ----
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
- test76.out test77.out test78.out test79.out test80.out \
-! test81.out test82.out test83.out test84.out
-
- .SUFFIXES: .in .out
-
-*** ../vim-7.3.486/src/testdir/Make_vms.mms 2011-10-12 19:53:31.000000000 +0200
---- src/testdir/Make_vms.mms 2012-03-28 18:15:15.000000000 +0200
-***************
-*** 4,10 ****
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
-! # Last change: 2011 Jul 15
- #
- # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
- # Edit the lines in the Configuration section below to select.
---- 4,10 ----
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
-! # Last change: 2012 Mar 28
- #
- # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
- # Edit the lines in the Configuration section below to select.
-***************
-*** 76,82 ****
- test66.out test67.out test68.out test69.out \
- test71.out test72.out test74.out test75.out test76.out \
- test77.out test78.out test79.out test80.out test81.out \
-! test82.out test83.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
---- 76,82 ----
- test66.out test67.out test68.out test69.out \
- test71.out test72.out test74.out test75.out test76.out \
- test77.out test78.out test79.out test80.out test81.out \
-! test82.out test83.out test84.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
-*** ../vim-7.3.486/src/testdir/Makefile 2011-10-12 19:53:31.000000000 +0200
---- src/testdir/Makefile 2012-03-28 18:15:29.000000000 +0200
-***************
-*** 26,32 ****
- test64.out test65.out test66.out test67.out test68.out \
- test69.out test70.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out test82.out test83.out
-
- SCRIPTS_GUI = test16.out
-
---- 26,33 ----
- test64.out test65.out test66.out test67.out test68.out \
- test69.out test70.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
-! test79.out test80.out test81.out test82.out test83.out \
-! test84.out
-
- SCRIPTS_GUI = test16.out
-
-*** ../vim-7.3.486/src/version.c 2012-03-28 17:43:06.000000000 +0200
---- src/version.c 2012-03-28 19:49:41.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 487,
- /**/
-
---
-"Time flies like an arrow". So I put an arrow on my desk, now
-awaiting one of these time flies showing up.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.488 b/source/ap/vim/patches/7.3.488
deleted file mode 100644
index e07874040..000000000
--- a/source/ap/vim/patches/7.3.488
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.488
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.488
-Problem: ":help!" in a help file does not work as document.
-Solution: When in a help file don't give an error message. (thinca)
-Files: src/ex_cmds.c
-
-
-*** ../vim-7.3.487/src/ex_cmds.c 2012-03-16 14:32:10.000000000 +0100
---- src/ex_cmds.c 2012-04-01 14:25:35.000000000 +0200
-***************
-*** 5546,5552 ****
- }
- arg = eap->arg;
-
-! if (eap->forceit && *arg == NUL)
- {
- EMSG(_("E478: Don't panic!"));
- return;
---- 5546,5552 ----
- }
- arg = eap->arg;
-
-! if (eap->forceit && *arg == NUL && !curbuf->b_help)
- {
- EMSG(_("E478: Don't panic!"));
- return;
-*** ../vim-7.3.487/src/version.c 2012-03-28 19:58:34.000000000 +0200
---- src/version.c 2012-04-05 16:04:13.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 488,
- /**/
-
-
---
-I'd like to meet the man who invented sex and see what he's working on now.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.489 b/source/ap/vim/patches/7.3.489
deleted file mode 100644
index fbdf2c39f..000000000
--- a/source/ap/vim/patches/7.3.489
+++ /dev/null
@@ -1,89 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.489
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.489
-Problem: CTRL-] in Insert mode does not expand abbreviation when used in a
- mapping. (Yichao Zhou)
-Solution: Special case using CTRL-]. (Christian Brabandt)
-Files: src/getchar.c, src/edit.c
-
-
-*** ../vim-7.3.488/src/getchar.c 2012-02-05 22:05:44.000000000 +0100
---- src/getchar.c 2012-04-05 15:54:00.000000000 +0200
-***************
-*** 4352,4359 ****
-
- if (typebuf.tb_no_abbr_cnt) /* abbrev. are not recursive */
- return FALSE;
-! if ((KeyNoremap & (RM_NONE|RM_SCRIPT)) != 0)
-! /* no remapping implies no abbreviation */
- return FALSE;
-
- /*
---- 4352,4360 ----
-
- if (typebuf.tb_no_abbr_cnt) /* abbrev. are not recursive */
- return FALSE;
-!
-! /* no remapping implies no abbreviation, except for CTRL-] */
-! if ((KeyNoremap & (RM_NONE|RM_SCRIPT)) != 0 && c != Ctrl_RSB)
- return FALSE;
-
- /*
-*** ../vim-7.3.488/src/edit.c 2012-02-29 18:22:03.000000000 +0100
---- src/edit.c 2012-04-05 15:57:46.000000000 +0200
-***************
-*** 1455,1467 ****
- Insstart_blank_vcol = get_nolist_virtcol();
- }
-
-! if (vim_iswordc(c) || !echeck_abbr(
- #ifdef FEAT_MBYTE
- /* Add ABBR_OFF for characters above 0x100, this is
- * what check_abbr() expects. */
- (has_mbyte && c >= 0x100) ? (c + ABBR_OFF) :
- #endif
-! c))
- {
- insert_special(c, FALSE, FALSE);
- #ifdef FEAT_RIGHTLEFT
---- 1455,1470 ----
- Insstart_blank_vcol = get_nolist_virtcol();
- }
-
-! /* Insert a normal character and check for abbreviations on a
-! * special character. Let CTRL-] expand abbreviations without
-! * inserting it. */
-! if (vim_iswordc(c) || (!echeck_abbr(
- #ifdef FEAT_MBYTE
- /* Add ABBR_OFF for characters above 0x100, this is
- * what check_abbr() expects. */
- (has_mbyte && c >= 0x100) ? (c + ABBR_OFF) :
- #endif
-! c) && c != Ctrl_RSB))
- {
- insert_special(c, FALSE, FALSE);
- #ifdef FEAT_RIGHTLEFT
-*** ../vim-7.3.488/src/version.c 2012-04-05 16:04:58.000000000 +0200
---- src/version.c 2012-04-05 16:06:12.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 489,
- /**/
-
---
-Just think of all the things we haven't thought of yet.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.490 b/source/ap/vim/patches/7.3.490
deleted file mode 100644
index 6c49a48d5..000000000
--- a/source/ap/vim/patches/7.3.490
+++ /dev/null
@@ -1,2517 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.490
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.490
-Problem: Member confusion in Lua interface.
-Solution: Fix it. Add luaeval(). (Taro Muraoka, Luis Carvalho)
-Files: runtime/doc/if_lua.txt, src/eval.c, src/if_lua.c,
- src/proto/if_lua.pro
-
-
-*** ../vim-7.3.489/runtime/doc/if_lua.txt 2010-08-15 21:57:14.000000000 +0200
---- runtime/doc/if_lua.txt 2012-04-05 16:41:35.000000000 +0200
-***************
-*** 1,4 ****
-! *if_lua.txt* For Vim version 7.3. Last change: 2010 Jul 22
-
-
- VIM REFERENCE MANUAL by Luis Carvalho
---- 1,4 ----
-! *if_lua.txt* For Vim version 7.3. Last change: 2012 Jan 16
-
-
- VIM REFERENCE MANUAL by Luis Carvalho
-***************
-*** 8,15 ****
-
- 1. Commands |lua-commands|
- 2. The vim module |lua-vim|
-! 3. Buffer userdata |lua-buffer|
-! 4. Window userdata |lua-window|
-
- {Vi does not have any of these commands}
-
---- 8,18 ----
-
- 1. Commands |lua-commands|
- 2. The vim module |lua-vim|
-! 3. List userdata |lua-list|
-! 4. Dict userdata |lua-dict|
-! 5. Buffer userdata |lua-buffer|
-! 6. Window userdata |lua-window|
-! 7. The luaeval function |lua-luaeval|
-
- {Vi does not have any of these commands}
-
-***************
-*** 88,98 ****
- All these commands execute a Lua chunk from either the command line (:lua and
- :luado) or a file (:luafile) with the given line [range]. Similarly to the Lua
- interpreter, each chunk has its own scope and so only global variables are
-! shared between command calls. Lua default libraries "table", "string", "math",
-! and "package" are available, "io" and "debug" are not, and "os" is restricted
-! to functions "date", "clock", "time", "difftime", and "getenv". In addition,
-! Lua "print" function has its output redirected to the Vim message area, with
-! arguments separated by a white space instead of a tab.
-
- Lua uses the "vim" module (see |lua-vim|) to issue commands to Vim
- and manage buffers (|lua-buffer|) and windows (|lua-window|). However,
---- 91,99 ----
- All these commands execute a Lua chunk from either the command line (:lua and
- :luado) or a file (:luafile) with the given line [range]. Similarly to the Lua
- interpreter, each chunk has its own scope and so only global variables are
-! shared between command calls. All Lua default libraries are available. In
-! addition, Lua "print" function has its output redirected to the Vim message
-! area, with arguments separated by a white space instead of a tab.
-
- Lua uses the "vim" module (see |lua-vim|) to issue commands to Vim
- and manage buffers (|lua-buffer|) and windows (|lua-window|). However,
-***************
-*** 108,116 ****
- module also includes routines for buffer, window, and current line queries,
- Vim evaluation and command execution, and others.
-
-! vim.isbuffer(value) Returns 'true' (boolean, not string) if
-! "value" is a buffer userdata and 'false'
-! otherwise (see |lua-buffer|).
-
- vim.buffer([arg]) If "arg" is a number, returns buffer with
- number "arg" in the buffer list or, if "arg"
---- 109,117 ----
- module also includes routines for buffer, window, and current line queries,
- Vim evaluation and command execution, and others.
-
-! vim.list() Returns an empty list (see |List|).
-!
-! vim.dict() Returns an empty dictionary (see |Dictionary|).
-
- vim.buffer([arg]) If "arg" is a number, returns buffer with
- number "arg" in the buffer list or, if "arg"
-***************
-*** 121,136 ****
- 'true' returns the first buffer in the buffer
- list or else the current buffer.
-
-- vim.iswindow(value) Returns 'true' (boolean, not string) if
-- "value" is a window userdata and
-- 'false' otherwise (see |lua-window|).
--
- vim.window([arg]) If "arg" is a number, returns window with
- number "arg" or 'nil' (nil value, not string)
- if not found. Otherwise, if "toboolean(arg)"
- is 'true' returns the first window or else the
- current window.
-
- vim.command({cmd}) Executes the vim (ex-mode) command {cmd}.
- Examples: >
- :lua vim.command"set tw=60"
---- 122,142 ----
- 'true' returns the first buffer in the buffer
- list or else the current buffer.
-
- vim.window([arg]) If "arg" is a number, returns window with
- number "arg" or 'nil' (nil value, not string)
- if not found. Otherwise, if "toboolean(arg)"
- is 'true' returns the first window or else the
- current window.
-
-+ vim.type({arg}) Returns the type of {arg}. It is equivalent to
-+ Lua's "type" function, but returns "list",
-+ "dict", "buffer", or "window" if {arg} is a
-+ list, dictionary, buffer, or window,
-+ respectively. Examples: >
-+ :lua l = vim.list()
-+ :lua print(type(l), vim.type(l))
-+ :" userdata list
-+ <
- vim.command({cmd}) Executes the vim (ex-mode) command {cmd}.
- Examples: >
- :lua vim.command"set tw=60"
-***************
-*** 141,147 ****
- Vim strings and numbers are directly converted
- to Lua strings and numbers respectively. Vim
- lists and dictionaries are converted to Lua
-! tables (lists become integer-keyed tables).
- Examples: >
- :lua tw = vim.eval"&tw"
- :lua print(vim.eval"{'a': 'one'}".a)
---- 147,153 ----
- Vim strings and numbers are directly converted
- to Lua strings and numbers respectively. Vim
- lists and dictionaries are converted to Lua
-! userdata (see |lua-list| and |lua-dict|).
- Examples: >
- :lua tw = vim.eval"&tw"
- :lua print(vim.eval"{'a': 'one'}".a)
-***************
-*** 157,163 ****
-
-
- ==============================================================================
-! 3. Buffer userdata *lua-buffer*
-
- Buffer userdata represent vim buffers. A buffer userdata "b" has the following
- properties and methods:
---- 163,234 ----
-
-
- ==============================================================================
-! 3. List userdata *lua-list*
-!
-! List userdata represent vim lists, and the interface tries to follow closely
-! Vim's syntax for lists. Since lists are objects, changes in list references in
-! Lua are reflected in Vim and vice-versa. A list "l" has the following
-! properties and methods:
-!
-! Properties
-! ----------
-! o "#l" is the number of items in list "l", equivalent to "len(l)"
-! in Vim.
-! o "l[k]" returns the k-th item in "l"; "l" is zero-indexed, as in Vim.
-! To modify the k-th item, simply do "l[k] = newitem"; in
-! particular, "l[k] = nil" removes the k-th item from "l".
-! o "l()" returns an iterator for "l".
-!
-! Methods
-! -------
-! o "l:add(item)" appends "item" to the end of "l".
-! o "l:insert(item[, pos])" inserts "item" at (optional)
-! position "pos" in the list. The default value for "pos" is 0.
-!
-! Examples:
-! >
-! :let l = [1, 'item']
-! :lua l = vim.eval('l') -- same 'l'
-! :lua l:add(vim.list())
-! :lua l[0] = math.pi
-! :echo l[0] " 3.141593
-! :lua l[0] = nil -- remove first item
-! :lua l:insert(true, 1)
-! :lua print(l, #l, l[0], l[1], l[-1])
-! :lua for item in l() do print(item) end
-! <
-!
-! ==============================================================================
-! 4. Dict userdata *lua-dict*
-!
-! Similarly to list userdata, dict userdata represent vim dictionaries; since
-! dictionaries are also objects, references are kept between Lua and Vim. A dict
-! "d" has the following properties:
-!
-! Properties
-! ----------
-! o "#d" is the number of items in dict "d", equivalent to "len(d)"
-! in Vim.
-! o "d.key" or "d['key']" returns the value at entry "key" in "d".
-! To modify the entry at this key, simply do "d.key = newvalue"; in
-! particular, "d.key = nil" removes the entry from "d".
-! o "d()" returns an iterator for "d" and is equivalent to "items(d)" in
-! Vim.
-!
-! Examples:
-! >
-! :let d = {'n':10}
-! :lua d = vim.eval('d') -- same 'd'
-! :lua print(d, d.n, #d)
-! :let d.self = d
-! :lua for k, v in d() do print(d, k, v) end
-! :lua d.x = math.pi
-! :lua d.self = nil -- remove entry
-! :echo d
-! <
-!
-! ==============================================================================
-! 5. Buffer userdata *lua-buffer*
-
- Buffer userdata represent vim buffers. A buffer userdata "b" has the following
- properties and methods:
-***************
-*** 209,215 ****
- <
-
- ==============================================================================
-! 4. Window userdata *lua-window*
-
- Window objects represent vim windows. A window userdata "w" has the following
- properties and methods:
---- 280,286 ----
- <
-
- ==============================================================================
-! 6. Window userdata *lua-window*
-
- Window objects represent vim windows. A window userdata "w" has the following
- properties and methods:
-***************
-*** 241,244 ****
- <
-
- ==============================================================================
-! vim:tw=78:ts=8:ft=help:norl:
---- 312,340 ----
- <
-
- ==============================================================================
-! 7. The luaeval function *lua-luaeval*
-!
-! The (dual) equivalent of "vim.eval" for passing Lua values to Vim is
-! "luaeval". "luaeval" takes an expression string and an optional argument and
-! returns the result of the expression. It is semantically equivalent in Lua to:
-! >
-! local chunkheader = "local _A = select(1, ...) return "
-! function luaeval (expstr, arg)
-! local chunk = assert(loadstring(chunkheader .. expstr, "luaeval"))
-! return chunk(arg) -- return typval
-! end
-! <
-! Note that "_A" receives the argument to "luaeval". Examples: >
-!
-! :echo luaeval('math.pi')
-! :lua a = vim.list():add('newlist')
-! :let a = luaeval('a')
-! :echo a[0] " 'newlist'
-! :function Rand(x,y) " random uniform between x and y
-! : return luaeval('(_A.y-_A.x)*math.random()+_A.x', {'x':a:x,'y':a:y})
-! : endfunction
-! :echo Rand(1,10)
-!
-!
-! ==============================================================================
-! vim:tw=78:ts=8:noet:ft=help:norl:
-*** ../vim-7.3.489/src/eval.c 2012-03-28 16:49:25.000000000 +0200
---- src/eval.c 2012-04-05 16:41:35.000000000 +0200
-***************
-*** 622,627 ****
---- 622,630 ----
- static void f_log __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_log10 __ARGS((typval_T *argvars, typval_T *rettv));
- #endif
-+ #ifdef FEAT_LUA
-+ static void f_luaeval __ARGS((typval_T *argvars, typval_T *rettv));
-+ #endif
- static void f_map __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_maparg __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_mapcheck __ARGS((typval_T *argvars, typval_T *rettv));
-***************
-*** 6777,6782 ****
---- 6780,6789 ----
- /* v: vars */
- set_ref_in_ht(&vimvarht, copyID);
-
-+ #ifdef FEAT_LUA
-+ set_ref_in_lua(copyID);
-+ #endif
-+
- /*
- * 2. Free lists and dictionaries that are not referenced.
- */
-***************
-*** 7946,7951 ****
---- 7953,7961 ----
- {"log", 1, 1, f_log},
- {"log10", 1, 1, f_log10},
- #endif
-+ #ifdef FEAT_LUA
-+ {"luaeval", 1, 2, f_luaeval},
-+ #endif
- {"map", 2, 2, f_map},
- {"maparg", 1, 4, f_maparg},
- {"mapcheck", 1, 3, f_mapcheck},
-***************
-*** 13626,13631 ****
---- 13636,13658 ----
- }
- #endif
-
-+ #ifdef FEAT_LUA
-+ /*
-+ * "luaeval()" function
-+ */
-+ static void
-+ f_luaeval(argvars, rettv)
-+ typval_T *argvars;
-+ typval_T *rettv;
-+ {
-+ char_u *str;
-+ char_u buf[NUMBUFLEN];
-+
-+ str = get_tv_string_buf(&argvars[0], buf);
-+ do_luaeval(str, argvars + 1, rettv);
-+ }
-+ #endif
-+
- /*
- * "map()" function
- */
-*** ../vim-7.3.489/src/if_lua.c 2011-12-08 16:00:12.000000000 +0100
---- src/if_lua.c 2012-04-05 16:41:35.000000000 +0200
-***************
-*** 1,4 ****
-! /* vi:set ts=8 sts=4 sw=4:
- *
- * VIM - Vi IMproved by Bram Moolenaar
- *
---- 1,4 ----
-! /* vi:set ts=8 sts=4 sw=4 noet:
- *
- * VIM - Vi IMproved by Bram Moolenaar
- *
-***************
-*** 21,35 ****
---- 21,53 ----
-
- #define LUAVIM_CHUNKNAME "vim chunk"
- #define LUAVIM_NAME "vim"
-+ #define LUAVIM_EVALNAME "luaeval"
-+ #define LUAVIM_EVALHEADER "local _A=select(1,...) return "
-
- typedef buf_T *luaV_Buffer;
- typedef win_T *luaV_Window;
-+ typedef dict_T *luaV_Dict;
-+ typedef list_T *luaV_List;
- typedef void (*msgfunc_T)(char_u *);
-
-+ static const char LUAVIM_DICT[] = "dict";
-+ static const char LUAVIM_LIST[] = "list";
- static const char LUAVIM_BUFFER[] = "buffer";
- static const char LUAVIM_WINDOW[] = "window";
- static const char LUAVIM_FREE[] = "luaV_free";
-+ static const char LUAVIM_LUAEVAL[] = "luaV_luaeval";
-+ static const char LUAVIM_SETREF[] = "luaV_setref";
-
-+ /* most functions are closures with a cache table as first upvalue;
-+ * get/setudata manage references to vim userdata in cache table through
-+ * object pointers (light userdata) */
-+ #define luaV_getudata(L, v) \
-+ lua_pushlightuserdata((L), (void *) (v)); \
-+ lua_rawget((L), lua_upvalueindex(1))
-+ #define luaV_setudata(L, v) \
-+ lua_pushlightuserdata((L), (void *) (v)); \
-+ lua_pushvalue((L), -2); \
-+ lua_rawset((L), lua_upvalueindex(1))
- #define luaV_getfield(L, s) \
- lua_pushlightuserdata((L), (void *)(s)); \
- lua_rawget((L), LUA_REGISTRYINDEX)
-***************
-*** 38,43 ****
---- 56,70 ----
- #define luaV_msg(L) luaV_msgfunc((L), (msgfunc_T) msg)
- #define luaV_emsg(L) luaV_msgfunc((L), (msgfunc_T) emsg)
-
-+ static luaV_List *luaV_pushlist (lua_State *L, list_T *lis);
-+ static luaV_Dict *luaV_pushdict (lua_State *L, dict_T *dic);
-+
-+ #if LUA_VERSION_NUM <= 501
-+ #define luaV_openlib(L, l, n) luaL_openlib(L, NULL, l, n)
-+ #define luaL_typeerror luaL_typerror
-+ #else
-+ #define luaV_openlib luaL_setfuncs
-+ #endif
-
- #ifdef DYNAMIC_LUA
-
-***************
-*** 54,85 ****
- #endif
-
- /* lauxlib */
- #define luaL_register dll_luaL_register
- #define luaL_typerror dll_luaL_typerror
- #define luaL_checklstring dll_luaL_checklstring
- #define luaL_checkinteger dll_luaL_checkinteger
- #define luaL_optinteger dll_luaL_optinteger
- #define luaL_checktype dll_luaL_checktype
- #define luaL_error dll_luaL_error
-- #define luaL_loadfile dll_luaL_loadfile
-- #define luaL_loadbuffer dll_luaL_loadbuffer
- #define luaL_newstate dll_luaL_newstate
- #define luaL_buffinit dll_luaL_buffinit
-- #define luaL_prepbuffer dll_luaL_prepbuffer
- #define luaL_addlstring dll_luaL_addlstring
- #define luaL_pushresult dll_luaL_pushresult
- /* lua */
- #define lua_close dll_lua_close
- #define lua_gettop dll_lua_gettop
- #define lua_settop dll_lua_settop
- #define lua_pushvalue dll_lua_pushvalue
- #define lua_replace dll_lua_replace
- #define lua_isnumber dll_lua_isnumber
- #define lua_isstring dll_lua_isstring
- #define lua_type dll_lua_type
- #define lua_rawequal dll_lua_rawequal
-- #define lua_tonumber dll_lua_tonumber
-- #define lua_tointeger dll_lua_tointeger
- #define lua_toboolean dll_lua_toboolean
- #define lua_tolstring dll_lua_tolstring
- #define lua_touserdata dll_lua_touserdata
---- 81,134 ----
- #endif
-
- /* lauxlib */
-+ #if LUA_VERSION_NUM <= 501
- #define luaL_register dll_luaL_register
-+ #define luaL_prepbuffer dll_luaL_prepbuffer
-+ #define luaL_openlib dll_luaL_openlib
- #define luaL_typerror dll_luaL_typerror
-+ #define luaL_loadfile dll_luaL_loadfile
-+ #define luaL_loadbuffer dll_luaL_loadbuffer
-+ #else
-+ #define luaL_prepbuffsize dll_luaL_prepbuffsize
-+ #define luaL_setfuncs dll_luaL_setfuncs
-+ #define luaL_loadfilex dll_luaL_loadfilex
-+ #define luaL_loadbufferx dll_luaL_loadbufferx
-+ #define luaL_argerror dll_luaL_argerror
-+ #endif
- #define luaL_checklstring dll_luaL_checklstring
- #define luaL_checkinteger dll_luaL_checkinteger
- #define luaL_optinteger dll_luaL_optinteger
- #define luaL_checktype dll_luaL_checktype
- #define luaL_error dll_luaL_error
- #define luaL_newstate dll_luaL_newstate
- #define luaL_buffinit dll_luaL_buffinit
- #define luaL_addlstring dll_luaL_addlstring
- #define luaL_pushresult dll_luaL_pushresult
- /* lua */
-+ #if LUA_VERSION_NUM <= 501
-+ #define lua_tonumber dll_lua_tonumber
-+ #define lua_tointeger dll_lua_tointeger
-+ #define lua_call dll_lua_call
-+ #define lua_pcall dll_lua_pcall
-+ #else
-+ #define lua_tonumberx dll_lua_tonumberx
-+ #define lua_tointegerx dll_lua_tointegerx
-+ #define lua_callk dll_lua_callk
-+ #define lua_pcallk dll_lua_pcallk
-+ #define lua_getglobal dll_lua_getglobal
-+ #define lua_setglobal dll_lua_setglobal
-+ #define lua_typename dll_lua_typename
-+ #endif
- #define lua_close dll_lua_close
- #define lua_gettop dll_lua_gettop
- #define lua_settop dll_lua_settop
- #define lua_pushvalue dll_lua_pushvalue
- #define lua_replace dll_lua_replace
-+ #define lua_remove dll_lua_remove
- #define lua_isnumber dll_lua_isnumber
- #define lua_isstring dll_lua_isstring
- #define lua_type dll_lua_type
- #define lua_rawequal dll_lua_rawequal
- #define lua_toboolean dll_lua_toboolean
- #define lua_tolstring dll_lua_tolstring
- #define lua_touserdata dll_lua_touserdata
-***************
-*** 94,109 ****
- #define lua_pushlightuserdata dll_lua_pushlightuserdata
- #define lua_getfield dll_lua_getfield
- #define lua_rawget dll_lua_rawget
- #define lua_createtable dll_lua_createtable
- #define lua_newuserdata dll_lua_newuserdata
- #define lua_getmetatable dll_lua_getmetatable
- #define lua_setfield dll_lua_setfield
- #define lua_rawset dll_lua_rawset
- #define lua_rawseti dll_lua_rawseti
-- #define lua_remove dll_lua_remove
- #define lua_setmetatable dll_lua_setmetatable
-- #define lua_call dll_lua_call
-- #define lua_pcall dll_lua_pcall
- /* libs */
- #define luaopen_base dll_luaopen_base
- #define luaopen_table dll_luaopen_table
---- 143,156 ----
- #define lua_pushlightuserdata dll_lua_pushlightuserdata
- #define lua_getfield dll_lua_getfield
- #define lua_rawget dll_lua_rawget
-+ #define lua_rawgeti dll_lua_rawgeti
- #define lua_createtable dll_lua_createtable
- #define lua_newuserdata dll_lua_newuserdata
- #define lua_getmetatable dll_lua_getmetatable
- #define lua_setfield dll_lua_setfield
- #define lua_rawset dll_lua_rawset
- #define lua_rawseti dll_lua_rawseti
- #define lua_setmetatable dll_lua_setmetatable
- /* libs */
- #define luaopen_base dll_luaopen_base
- #define luaopen_table dll_luaopen_table
-***************
-*** 116,147 ****
- #define luaL_openlibs dll_luaL_openlibs
-
- /* lauxlib */
- void (*dll_luaL_register) (lua_State *L, const char *libname, const luaL_Reg *l);
- int (*dll_luaL_typerror) (lua_State *L, int narg, const char *tname);
- const char *(*dll_luaL_checklstring) (lua_State *L, int numArg, size_t *l);
- lua_Integer (*dll_luaL_checkinteger) (lua_State *L, int numArg);
- lua_Integer (*dll_luaL_optinteger) (lua_State *L, int nArg, lua_Integer def);
- void (*dll_luaL_checktype) (lua_State *L, int narg, int t);
- int (*dll_luaL_error) (lua_State *L, const char *fmt, ...);
-- int (*dll_luaL_loadfile) (lua_State *L, const char *filename);
-- int (*dll_luaL_loadbuffer) (lua_State *L, const char *buff, size_t sz, const char *name);
- lua_State *(*dll_luaL_newstate) (void);
- void (*dll_luaL_buffinit) (lua_State *L, luaL_Buffer *B);
-- char *(*dll_luaL_prepbuffer) (luaL_Buffer *B);
- void (*dll_luaL_addlstring) (luaL_Buffer *B, const char *s, size_t l);
- void (*dll_luaL_pushresult) (luaL_Buffer *B);
- /* lua */
- void (*dll_lua_close) (lua_State *L);
- int (*dll_lua_gettop) (lua_State *L);
- void (*dll_lua_settop) (lua_State *L, int idx);
- void (*dll_lua_pushvalue) (lua_State *L, int idx);
- void (*dll_lua_replace) (lua_State *L, int idx);
- int (*dll_lua_isnumber) (lua_State *L, int idx);
- int (*dll_lua_isstring) (lua_State *L, int idx);
- int (*dll_lua_type) (lua_State *L, int idx);
- int (*dll_lua_rawequal) (lua_State *L, int idx1, int idx2);
-- lua_Number (*dll_lua_tonumber) (lua_State *L, int idx);
-- lua_Integer (*dll_lua_tointeger) (lua_State *L, int idx);
- int (*dll_lua_toboolean) (lua_State *L, int idx);
- const char *(*dll_lua_tolstring) (lua_State *L, int idx, size_t *len);
- void *(*dll_lua_touserdata) (lua_State *L, int idx);
---- 163,218 ----
- #define luaL_openlibs dll_luaL_openlibs
-
- /* lauxlib */
-+ #if LUA_VERSION_NUM <= 501
- void (*dll_luaL_register) (lua_State *L, const char *libname, const luaL_Reg *l);
-+ char *(*dll_luaL_prepbuffer) (luaL_Buffer *B);
-+ void (*dll_luaL_openlib) (lua_State *L, const char *libname, const luaL_Reg *l, int nup);
- int (*dll_luaL_typerror) (lua_State *L, int narg, const char *tname);
-+ int (*dll_luaL_loadfile) (lua_State *L, const char *filename);
-+ int (*dll_luaL_loadbuffer) (lua_State *L, const char *buff, size_t sz, const char *name);
-+ #else
-+ char *(*dll_luaL_prepbuffsize) (luaL_Buffer *B, size_t sz);
-+ void (*dll_luaL_setfuncs) (lua_State *L, const luaL_Reg *l, int nup);
-+ int (*dll_luaL_loadfilex) (lua_State *L, const char *filename, const char *mode);
-+ int (*dll_luaL_loadbufferx) (lua_State *L, const char *buff, size_t sz, const char *name, const char *mode);
-+ int (*dll_luaL_argerror) (lua_State *L, int numarg, const char *extramsg);
-+ #endif
- const char *(*dll_luaL_checklstring) (lua_State *L, int numArg, size_t *l);
- lua_Integer (*dll_luaL_checkinteger) (lua_State *L, int numArg);
- lua_Integer (*dll_luaL_optinteger) (lua_State *L, int nArg, lua_Integer def);
- void (*dll_luaL_checktype) (lua_State *L, int narg, int t);
- int (*dll_luaL_error) (lua_State *L, const char *fmt, ...);
- lua_State *(*dll_luaL_newstate) (void);
- void (*dll_luaL_buffinit) (lua_State *L, luaL_Buffer *B);
- void (*dll_luaL_addlstring) (luaL_Buffer *B, const char *s, size_t l);
- void (*dll_luaL_pushresult) (luaL_Buffer *B);
- /* lua */
-+ #if LUA_VERSION_NUM <= 501
-+ lua_Number (*dll_lua_tonumber) (lua_State *L, int idx);
-+ lua_Integer (*dll_lua_tointeger) (lua_State *L, int idx);
-+ void (*dll_lua_call) (lua_State *L, int nargs, int nresults);
-+ int (*dll_lua_pcall) (lua_State *L, int nargs, int nresults, int errfunc);
-+ #else
-+ lua_Number (*dll_lua_tonumberx) (lua_State *L, int idx, int *isnum);
-+ lua_Integer (*dll_lua_tointegerx) (lua_State *L, int idx, int *isnum);
-+ void (*dll_lua_callk) (lua_State *L, int nargs, int nresults, int ctx,
-+ lua_CFunction k);
-+ int (*dll_lua_pcallk) (lua_State *L, int nargs, int nresults, int errfunc,
-+ int ctx, lua_CFunction k);
-+ void (*dll_lua_getglobal) (lua_State *L, const char *var);
-+ void (*dll_lua_setglobal) (lua_State *L, const char *var);
-+ const char *(*dll_lua_typename) (lua_State *L, int tp);
-+ #endif
- void (*dll_lua_close) (lua_State *L);
- int (*dll_lua_gettop) (lua_State *L);
- void (*dll_lua_settop) (lua_State *L, int idx);
- void (*dll_lua_pushvalue) (lua_State *L, int idx);
- void (*dll_lua_replace) (lua_State *L, int idx);
-+ void (*dll_lua_remove) (lua_State *L, int idx);
- int (*dll_lua_isnumber) (lua_State *L, int idx);
- int (*dll_lua_isstring) (lua_State *L, int idx);
- int (*dll_lua_type) (lua_State *L, int idx);
- int (*dll_lua_rawequal) (lua_State *L, int idx1, int idx2);
- int (*dll_lua_toboolean) (lua_State *L, int idx);
- const char *(*dll_lua_tolstring) (lua_State *L, int idx, size_t *len);
- void *(*dll_lua_touserdata) (lua_State *L, int idx);
-***************
-*** 156,171 ****
- void (*dll_lua_pushlightuserdata) (lua_State *L, void *p);
- void (*dll_lua_getfield) (lua_State *L, int idx, const char *k);
- void (*dll_lua_rawget) (lua_State *L, int idx);
- void (*dll_lua_createtable) (lua_State *L, int narr, int nrec);
- void *(*dll_lua_newuserdata) (lua_State *L, size_t sz);
- int (*dll_lua_getmetatable) (lua_State *L, int objindex);
- void (*dll_lua_setfield) (lua_State *L, int idx, const char *k);
- void (*dll_lua_rawset) (lua_State *L, int idx);
- void (*dll_lua_rawseti) (lua_State *L, int idx, int n);
-- void (*dll_lua_remove) (lua_State *L, int idx);
- int (*dll_lua_setmetatable) (lua_State *L, int objindex);
-- void (*dll_lua_call) (lua_State *L, int nargs, int nresults);
-- int (*dll_lua_pcall) (lua_State *L, int nargs, int nresults, int errfunc);
- /* libs */
- int (*dll_luaopen_base) (lua_State *L);
- int (*dll_luaopen_table) (lua_State *L);
---- 227,240 ----
- void (*dll_lua_pushlightuserdata) (lua_State *L, void *p);
- void (*dll_lua_getfield) (lua_State *L, int idx, const char *k);
- void (*dll_lua_rawget) (lua_State *L, int idx);
-+ void (*dll_lua_rawgeti) (lua_State *L, int idx, int n);
- void (*dll_lua_createtable) (lua_State *L, int narr, int nrec);
- void *(*dll_lua_newuserdata) (lua_State *L, size_t sz);
- int (*dll_lua_getmetatable) (lua_State *L, int objindex);
- void (*dll_lua_setfield) (lua_State *L, int idx, const char *k);
- void (*dll_lua_rawset) (lua_State *L, int idx);
- void (*dll_lua_rawseti) (lua_State *L, int idx, int n);
- int (*dll_lua_setmetatable) (lua_State *L, int objindex);
- /* libs */
- int (*dll_luaopen_base) (lua_State *L);
- int (*dll_luaopen_table) (lua_State *L);
-***************
-*** 185,216 ****
-
- static const luaV_Reg luaV_dll[] = {
- /* lauxlib */
- {"luaL_register", (luaV_function) &dll_luaL_register},
- {"luaL_typerror", (luaV_function) &dll_luaL_typerror},
- {"luaL_checklstring", (luaV_function) &dll_luaL_checklstring},
- {"luaL_checkinteger", (luaV_function) &dll_luaL_checkinteger},
- {"luaL_optinteger", (luaV_function) &dll_luaL_optinteger},
- {"luaL_checktype", (luaV_function) &dll_luaL_checktype},
- {"luaL_error", (luaV_function) &dll_luaL_error},
-- {"luaL_loadfile", (luaV_function) &dll_luaL_loadfile},
-- {"luaL_loadbuffer", (luaV_function) &dll_luaL_loadbuffer},
- {"luaL_newstate", (luaV_function) &dll_luaL_newstate},
- {"luaL_buffinit", (luaV_function) &dll_luaL_buffinit},
-- {"luaL_prepbuffer", (luaV_function) &dll_luaL_prepbuffer},
- {"luaL_addlstring", (luaV_function) &dll_luaL_addlstring},
- {"luaL_pushresult", (luaV_function) &dll_luaL_pushresult},
- /* lua */
- {"lua_close", (luaV_function) &dll_lua_close},
- {"lua_gettop", (luaV_function) &dll_lua_gettop},
- {"lua_settop", (luaV_function) &dll_lua_settop},
- {"lua_pushvalue", (luaV_function) &dll_lua_pushvalue},
- {"lua_replace", (luaV_function) &dll_lua_replace},
- {"lua_isnumber", (luaV_function) &dll_lua_isnumber},
- {"lua_isstring", (luaV_function) &dll_lua_isstring},
- {"lua_type", (luaV_function) &dll_lua_type},
- {"lua_rawequal", (luaV_function) &dll_lua_rawequal},
-- {"lua_tonumber", (luaV_function) &dll_lua_tonumber},
-- {"lua_tointeger", (luaV_function) &dll_lua_tointeger},
- {"lua_toboolean", (luaV_function) &dll_lua_toboolean},
- {"lua_tolstring", (luaV_function) &dll_lua_tolstring},
- {"lua_touserdata", (luaV_function) &dll_lua_touserdata},
---- 254,307 ----
-
- static const luaV_Reg luaV_dll[] = {
- /* lauxlib */
-+ #if LUA_VERSION_NUM <= 501
- {"luaL_register", (luaV_function) &dll_luaL_register},
-+ {"luaL_prepbuffer", (luaV_function) &dll_luaL_prepbuffer},
-+ {"luaL_openlib", (luaV_function) &dll_luaL_openlib},
- {"luaL_typerror", (luaV_function) &dll_luaL_typerror},
-+ {"luaL_loadfile", (luaV_function) &dll_luaL_loadfile},
-+ {"luaL_loadbuffer", (luaV_function) &dll_luaL_loadbuffer},
-+ #else
-+ {"luaL_prepbuffsize", (luaV_function) &dll_luaL_prepbuffsize},
-+ {"luaL_setfuncs", (luaV_function) &dll_luaL_setfuncs},
-+ {"luaL_loadfilex", (luaV_function) &dll_luaL_loadfilex},
-+ {"luaL_loadbufferx", (luaV_function) &dll_luaL_loadbufferx},
-+ {"luaL_argerror", (luaV_function) &dll_luaL_argerror},
-+ #endif
- {"luaL_checklstring", (luaV_function) &dll_luaL_checklstring},
- {"luaL_checkinteger", (luaV_function) &dll_luaL_checkinteger},
- {"luaL_optinteger", (luaV_function) &dll_luaL_optinteger},
- {"luaL_checktype", (luaV_function) &dll_luaL_checktype},
- {"luaL_error", (luaV_function) &dll_luaL_error},
- {"luaL_newstate", (luaV_function) &dll_luaL_newstate},
- {"luaL_buffinit", (luaV_function) &dll_luaL_buffinit},
- {"luaL_addlstring", (luaV_function) &dll_luaL_addlstring},
- {"luaL_pushresult", (luaV_function) &dll_luaL_pushresult},
- /* lua */
-+ #if LUA_VERSION_NUM <= 501
-+ {"lua_tonumber", (luaV_function) &dll_lua_tonumber},
-+ {"lua_tointeger", (luaV_function) &dll_lua_tointeger},
-+ {"lua_call", (luaV_function) &dll_lua_call},
-+ {"lua_pcall", (luaV_function) &dll_lua_pcall},
-+ #else
-+ {"lua_tonumberx", (luaV_function) &dll_lua_tonumberx},
-+ {"lua_tointegerx", (luaV_function) &dll_lua_tointegerx},
-+ {"lua_callk", (luaV_function) &dll_lua_callk},
-+ {"lua_pcallk", (luaV_function) &dll_lua_pcallk},
-+ {"lua_getglobal", (luaV_function) &dll_lua_getglobal},
-+ {"lua_setglobal", (luaV_function) &dll_lua_setglobal},
-+ {"lua_typename", (luaV_function) &dll_lua_typename},
-+ #endif
- {"lua_close", (luaV_function) &dll_lua_close},
- {"lua_gettop", (luaV_function) &dll_lua_gettop},
- {"lua_settop", (luaV_function) &dll_lua_settop},
- {"lua_pushvalue", (luaV_function) &dll_lua_pushvalue},
- {"lua_replace", (luaV_function) &dll_lua_replace},
-+ {"lua_remove", (luaV_function) &dll_lua_remove},
- {"lua_isnumber", (luaV_function) &dll_lua_isnumber},
- {"lua_isstring", (luaV_function) &dll_lua_isstring},
- {"lua_type", (luaV_function) &dll_lua_type},
- {"lua_rawequal", (luaV_function) &dll_lua_rawequal},
- {"lua_toboolean", (luaV_function) &dll_lua_toboolean},
- {"lua_tolstring", (luaV_function) &dll_lua_tolstring},
- {"lua_touserdata", (luaV_function) &dll_lua_touserdata},
-***************
-*** 225,240 ****
- {"lua_pushlightuserdata", (luaV_function) &dll_lua_pushlightuserdata},
- {"lua_getfield", (luaV_function) &dll_lua_getfield},
- {"lua_rawget", (luaV_function) &dll_lua_rawget},
- {"lua_createtable", (luaV_function) &dll_lua_createtable},
- {"lua_newuserdata", (luaV_function) &dll_lua_newuserdata},
- {"lua_getmetatable", (luaV_function) &dll_lua_getmetatable},
- {"lua_setfield", (luaV_function) &dll_lua_setfield},
- {"lua_rawset", (luaV_function) &dll_lua_rawset},
- {"lua_rawseti", (luaV_function) &dll_lua_rawseti},
-- {"lua_remove", (luaV_function) &dll_lua_remove},
- {"lua_setmetatable", (luaV_function) &dll_lua_setmetatable},
-- {"lua_call", (luaV_function) &dll_lua_call},
-- {"lua_pcall", (luaV_function) &dll_lua_pcall},
- /* libs */
- {"luaopen_base", (luaV_function) &dll_luaopen_base},
- {"luaopen_table", (luaV_function) &dll_luaopen_table},
---- 316,329 ----
- {"lua_pushlightuserdata", (luaV_function) &dll_lua_pushlightuserdata},
- {"lua_getfield", (luaV_function) &dll_lua_getfield},
- {"lua_rawget", (luaV_function) &dll_lua_rawget},
-+ {"lua_rawgeti", (luaV_function) &dll_lua_rawgeti},
- {"lua_createtable", (luaV_function) &dll_lua_createtable},
- {"lua_newuserdata", (luaV_function) &dll_lua_newuserdata},
- {"lua_getmetatable", (luaV_function) &dll_lua_getmetatable},
- {"lua_setfield", (luaV_function) &dll_lua_setfield},
- {"lua_rawset", (luaV_function) &dll_lua_rawset},
- {"lua_rawseti", (luaV_function) &dll_lua_rawseti},
- {"lua_setmetatable", (luaV_function) &dll_lua_setmetatable},
- /* libs */
- {"luaopen_base", (luaV_function) &dll_luaopen_base},
- {"luaopen_table", (luaV_function) &dll_luaopen_table},
-***************
-*** 294,299 ****
---- 383,398 ----
-
- #endif /* DYNAMIC_LUA */
-
-+ #if LUA_VERSION_NUM > 501
-+ static int
-+ luaL_typeerror (lua_State *L, int narg, const char *tname)
-+ {
-+ const char *msg = lua_pushfstring(L, "%s expected, got %s",
-+ tname, luaL_typename(L, narg));
-+ return luaL_argerror(L, narg, msg);
-+ }
-+ #endif
-+
-
- /* ======= Internal ======= */
-
-***************
-*** 327,343 ****
- }
-
- static void *
- luaV_checkudata(lua_State *L, int ud, const char *tname)
- {
- void *p = luaV_toudata(L, ud, tname);
-! if (p == NULL) luaL_typerror(L, ud, tname);
- return p;
- }
-
- static void
- luaV_pushtypval(lua_State *L, typval_T *tv)
- {
-! if (tv == NULL) luaL_error(L, "null type");
- switch (tv->v_type)
- {
- case VAR_STRING:
---- 426,460 ----
- }
-
- static void *
-+ luaV_checkcache(lua_State *L, void *p)
-+ {
-+ luaV_getudata(L, p);
-+ if (lua_isnil(L, -1)) luaL_error(L, "invalid object");
-+ lua_pop(L, 1);
-+ return p;
-+ }
-+
-+ #define luaV_unbox(L,luatyp,ud) (*((luatyp *) lua_touserdata((L),(ud))))
-+
-+ #define luaV_checkvalid(L,luatyp,ud) \
-+ luaV_checkcache((L), (void *) luaV_unbox((L),luatyp,(ud)))
-+
-+ static void *
- luaV_checkudata(lua_State *L, int ud, const char *tname)
- {
- void *p = luaV_toudata(L, ud, tname);
-! if (p == NULL) luaL_typeerror(L, ud, tname);
- return p;
- }
-
- static void
- luaV_pushtypval(lua_State *L, typval_T *tv)
- {
-! if (tv == NULL)
-! {
-! lua_pushnil(L);
-! return;
-! }
- switch (tv->v_type)
- {
- case VAR_STRING:
-***************
-*** 351,418 ****
- lua_pushnumber(L, (lua_Number) tv->vval.v_float);
- break;
- #endif
-! case VAR_LIST: {
-! list_T *l = tv->vval.v_list;
-
-! if (l != NULL)
- {
-! /* check cache */
-! lua_pushlightuserdata(L, (void *) l);
-! lua_rawget(L, LUA_ENVIRONINDEX);
-! if (lua_isnil(L, -1)) /* not interned? */
- {
-! listitem_T *li;
-! int n = 0;
-! lua_pop(L, 1); /* nil */
-! lua_newtable(L);
-! lua_pushlightuserdata(L, (void *) l);
-! lua_pushvalue(L, -2);
-! lua_rawset(L, LUA_ENVIRONINDEX);
-! for (li = l->lv_first; li != NULL; li = li->li_next)
-! {
-! luaV_pushtypval(L, &li->li_tv);
-! lua_rawseti(L, -2, ++n);
-! }
- }
-! }
-! else lua_pushnil(L);
-! break;
-! }
-! case VAR_DICT: {
-! dict_T *d = tv->vval.v_dict;
-!
-! if (d != NULL)
-! {
-! /* check cache */
-! lua_pushlightuserdata(L, (void *) d);
-! lua_rawget(L, LUA_ENVIRONINDEX);
-! if (lua_isnil(L, -1)) /* not interned? */
- {
-! hashtab_T *ht = &d->dv_hashtab;
-! hashitem_T *hi;
-! int n = ht->ht_used; /* remaining items */
-! lua_pop(L, 1); /* nil */
-! lua_newtable(L);
-! lua_pushlightuserdata(L, (void *) d);
-! lua_pushvalue(L, -2);
-! lua_rawset(L, LUA_ENVIRONINDEX);
-! for (hi = ht->ht_array; n > 0; hi++)
-! {
-! if (!HASHITEM_EMPTY(hi))
-! {
-! dictitem_T *di = dict_lookup(hi);
-! luaV_pushtypval(L, &di->di_tv);
-! lua_setfield(L, -2, (char *) hi->hi_key);
-! n--;
-! }
-! }
- }
- }
-- else lua_pushnil(L);
- break;
- }
- default:
-! luaL_error(L, "invalid type");
- }
- }
-
---- 468,537 ----
- lua_pushnumber(L, (lua_Number) tv->vval.v_float);
- break;
- #endif
-! case VAR_LIST:
-! luaV_pushlist(L, tv->vval.v_list);
-! break;
-! case VAR_DICT:
-! luaV_pushdict(L, tv->vval.v_dict);
-! break;
-! default:
-! lua_pushnil(L);
-! }
-! }
-
-! /* converts lua value at 'pos' to typval 'tv' */
-! static void
-! luaV_totypval (lua_State *L, int pos, typval_T *tv)
-! {
-! switch(lua_type(L, pos)) {
-! case LUA_TBOOLEAN:
-! tv->v_type = VAR_NUMBER;
-! tv->vval.v_number = (varnumber_T) lua_toboolean(L, pos);
-! break;
-! case LUA_TSTRING:
-! tv->v_type = VAR_STRING;
-! tv->vval.v_string = vim_strsave((char_u *) lua_tostring(L, pos));
-! break;
-! case LUA_TNUMBER:
-! #ifdef FEAT_FLOAT
-! tv->v_type = VAR_FLOAT;
-! tv->vval.v_float = (float_T) lua_tonumber(L, pos);
-! #else
-! tv->v_type = VAR_NUMBER;
-! tv->vval.v_number = (varnumber_T) lua_tointeger(L, pos);
-! #endif
-! break;
-! case LUA_TUSERDATA: {
-! void *p = lua_touserdata(L, pos);
-! if (lua_getmetatable(L, pos)) /* has metatable? */
- {
-! /* check list */
-! luaV_getfield(L, LUAVIM_LIST);
-! if (lua_rawequal(L, -1, -2))
- {
-! tv->v_type = VAR_LIST;
-! tv->vval.v_list = *((luaV_List *) p);
-! ++tv->vval.v_list->lv_refcount;
-! lua_pop(L, 2); /* MTs */
-! return;
- }
-! /* check dict */
-! luaV_getfield(L, LUAVIM_DICT);
-! if (lua_rawequal(L, -1, -3))
- {
-! tv->v_type = VAR_DICT;
-! tv->vval.v_dict = *((luaV_Dict *) p);
-! ++tv->vval.v_dict->dv_refcount;
-! lua_pop(L, 3); /* MTs */
-! return;
- }
-+ lua_pop(L, 3); /* MTs */
- }
- break;
- }
- default:
-! tv->v_type = VAR_NUMBER;
-! tv->vval.v_number = 0;
- }
- }
-
-***************
-*** 481,569 ****
- lua_pop(L, 2); /* original and modified strings */
- }
-
-
-! /* ======= Buffer type ======= */
-
-! static luaV_Buffer *
-! luaV_newbuffer(lua_State *L, buf_T *buf)
- {
-! luaV_Buffer *b = (luaV_Buffer *) lua_newuserdata(L, sizeof(luaV_Buffer));
-! *b = buf;
-! lua_pushlightuserdata(L, (void *) buf);
-! lua_pushvalue(L, -2);
-! lua_rawset(L, LUA_ENVIRONINDEX); /* env[buf] = udata */
-! /* to avoid GC, store as key in env */
-! lua_pushvalue(L, -1);
-! lua_pushboolean(L, 1);
-! lua_rawset(L, LUA_ENVIRONINDEX); /* env[udata] = true */
-! /* set metatable */
-! luaV_getfield(L, LUAVIM_BUFFER);
- lua_setmetatable(L, -2);
-! return b;
- }
-
-! static luaV_Buffer *
-! luaV_pushbuffer (lua_State *L, buf_T *buf)
- {
-! luaV_Buffer *b = NULL;
-! if (buf == NULL)
-! lua_pushnil(L);
-! else {
-! lua_pushlightuserdata(L, (void *) buf);
-! lua_rawget(L, LUA_ENVIRONINDEX);
-! if (lua_isnil(L, -1)) /* not interned? */
- {
-! lua_pop(L, 1);
-! b = luaV_newbuffer(L, buf);
- }
- else
-! b = (luaV_Buffer *) lua_touserdata(L, -1);
- }
-! return b;
- }
-
-! /* Buffer metamethods */
-
- static int
-! luaV_buffer_tostring(lua_State *L)
- {
-! lua_pushfstring(L, "%s: %p", LUAVIM_BUFFER, lua_touserdata(L, 1));
- return 1;
- }
-
- static int
- luaV_buffer_len(lua_State *L)
- {
-! luaV_Buffer *b = lua_touserdata(L, 1);
-! lua_pushinteger(L, (*b)->b_ml.ml_line_count);
- return 1;
- }
-
- static int
- luaV_buffer_call(lua_State *L)
- {
-! luaV_Buffer *b = (luaV_Buffer *) lua_touserdata(L, 1);
- lua_settop(L, 1);
-! set_curbuf(*b, DOBUF_SPLIT);
- return 1;
- }
-
- static int
- luaV_buffer_index(lua_State *L)
- {
-! luaV_Buffer *b = (luaV_Buffer *) lua_touserdata(L, 1);
- linenr_T n = (linenr_T) lua_tointeger(L, 2);
-! if (n > 0 && n <= (*b)->b_ml.ml_line_count)
-! luaV_pushline(L, *b, n);
- else if (lua_isstring(L, 2))
- {
- const char *s = lua_tostring(L, 2);
- if (strncmp(s, "name", 4) == 0)
-! lua_pushstring(L, (char *) (*b)->b_sfname);
- else if (strncmp(s, "fname", 5) == 0)
-! lua_pushstring(L, (char *) (*b)->b_ffname);
- else if (strncmp(s, "number", 6) == 0)
-! lua_pushinteger(L, (*b)->b_fnum);
- /* methods */
- else if (strncmp(s, "insert", 6) == 0
- || strncmp(s, "next", 4) == 0
---- 600,1107 ----
- lua_pop(L, 2); /* original and modified strings */
- }
-
-+ #define luaV_newtype(typ,tname,luatyp,luatname) \
-+ static luatyp * \
-+ luaV_new##tname (lua_State *L, typ *obj) \
-+ { \
-+ luatyp *o = (luatyp *) lua_newuserdata(L, sizeof(luatyp)); \
-+ *o = obj; \
-+ luaV_setudata(L, obj); /* cache[obj] = udata */ \
-+ luaV_getfield(L, luatname); \
-+ lua_setmetatable(L, -2); \
-+ return o; \
-+ }
-+
-+ #define luaV_pushtype(typ,tname,luatyp) \
-+ static luatyp * \
-+ luaV_push##tname (lua_State *L, typ *obj) \
-+ { \
-+ luatyp *o = NULL; \
-+ if (obj == NULL) \
-+ lua_pushnil(L); \
-+ else { \
-+ luaV_getudata(L, obj); \
-+ if (lua_isnil(L, -1)) /* not interned? */ \
-+ { \
-+ lua_pop(L, 1); \
-+ o = luaV_new##tname(L, obj); \
-+ } \
-+ else \
-+ o = (luatyp *) lua_touserdata(L, -1); \
-+ } \
-+ return o; \
-+ }
-+
-+ #define luaV_type_tostring(tname,luatname) \
-+ static int \
-+ luaV_##tname##_tostring (lua_State *L) \
-+ { \
-+ lua_pushfstring(L, "%s: %p", luatname, lua_touserdata(L, 1)); \
-+ return 1; \
-+ }
-+
-
-! /* adapted from eval.c */
-!
-! #define listitem_alloc() (listitem_T *)alloc(sizeof(listitem_T))
-!
-! static listitem_T *
-! list_find (list_T *l, long n)
-! {
-! listitem_T *li;
-! if (l == NULL || n < -l->lv_len || n >= l->lv_len)
-! return NULL;
-! if (n < 0) /* search backward? */
-! for (li = l->lv_last; n < -1; li = li->li_prev)
-! n++;
-! else /* search forward */
-! for (li = l->lv_first; n > 0; li = li->li_next)
-! n--;
-! return li;
-! }
-
-! static void
-! list_remove (list_T *l, listitem_T *li)
- {
-! listwatch_T *lw;
-! --l->lv_len;
-! /* fix watchers */
-! for (lw = l->lv_watch; lw != NULL; lw = lw->lw_next)
-! if (lw->lw_item == li)
-! lw->lw_item = li->li_next;
-! /* fix list pointers */
-! if (li->li_next == NULL) /* last? */
-! l->lv_last = li->li_prev;
-! else
-! li->li_next->li_prev = li->li_prev;
-! if (li->li_prev == NULL) /* first? */
-! l->lv_first = li->li_next;
-! else
-! li->li_prev->li_next = li->li_next;
-! l->lv_idx_item = NULL;
-! }
-!
-! static void
-! list_append(list_T *l, listitem_T *item)
-! {
-! if (l->lv_last == NULL) /* empty list? */
-! l->lv_first = item;
-! else
-! l->lv_last->li_next = item;
-! item->li_prev = l->lv_last;
-! item->li_next = NULL;
-! l->lv_last = item;
-! ++l->lv_len;
-! }
-!
-! static int
-! list_insert_tv(list_T *l, typval_T *tv, listitem_T *item)
-! {
-! listitem_T *ni = listitem_alloc();
-!
-! if (ni == NULL)
-! return FAIL;
-! copy_tv(tv, &ni->li_tv);
-! if (item == NULL)
-! list_append(l, ni);
-! else
-! {
-! ni->li_prev = item->li_prev;
-! ni->li_next = item;
-! if (item->li_prev == NULL)
-! {
-! l->lv_first = ni;
-! ++l->lv_idx;
-! }
-! else
-! {
-! item->li_prev->li_next = ni;
-! l->lv_idx_item = NULL;
-! }
-! item->li_prev = ni;
-! ++l->lv_len;
-! }
-! return OK;
-! }
-!
-! /* set references */
-!
-! static void set_ref_in_tv (typval_T *tv, int copyID);
-!
-! static void
-! set_ref_in_dict(dict_T *d, int copyID)
-! {
-! hashtab_T *ht = &d->dv_hashtab;
-! int n = ht->ht_used;
-! hashitem_T *hi;
-! for (hi = ht->ht_array; n > 0; ++hi)
-! if (!HASHITEM_EMPTY(hi))
-! {
-! dictitem_T *di = dict_lookup(hi);
-! set_ref_in_tv(&di->di_tv, copyID);
-! --n;
-! }
-! }
-!
-! static void
-! set_ref_in_list(list_T *l, int copyID)
-! {
-! listitem_T *li;
-! for (li = l->lv_first; li != NULL; li = li->li_next)
-! set_ref_in_tv(&li->li_tv, copyID);
-! }
-!
-! static void
-! set_ref_in_tv(typval_T *tv, int copyID)
-! {
-! if (tv->v_type == VAR_LIST)
-! {
-! list_T *l = tv->vval.v_list;
-! if (l != NULL && l->lv_copyID != copyID)
-! {
-! l->lv_copyID = copyID;
-! set_ref_in_list(l, copyID);
-! }
-! }
-! else if (tv->v_type == VAR_DICT)
-! {
-! dict_T *d = tv->vval.v_dict;
-! if (d != NULL && d->dv_copyID != copyID)
-! {
-! d->dv_copyID = copyID;
-! set_ref_in_dict(d, copyID);
-! }
-! }
-! }
-!
-!
-! /* ======= List type ======= */
-!
-! static luaV_List *
-! luaV_newlist (lua_State *L, list_T *lis)
-! {
-! luaV_List *l = (luaV_List *) lua_newuserdata(L, sizeof(luaV_List));
-! *l = lis;
-! lis->lv_refcount++; /* reference in Lua */
-! luaV_setudata(L, lis); /* cache[lis] = udata */
-! luaV_getfield(L, LUAVIM_LIST);
- lua_setmetatable(L, -2);
-! return l;
- }
-
-! luaV_pushtype(list_T, list, luaV_List)
-! luaV_type_tostring(list, LUAVIM_LIST)
-!
-! static int
-! luaV_list_gc (lua_State *L)
- {
-! list_unref(luaV_unbox(L, luaV_List, 1));
-! return 0;
-! }
-!
-! static int
-! luaV_list_len (lua_State *L)
-! {
-! list_T *l = luaV_unbox(L, luaV_List, 1);
-! lua_pushinteger(L, (l == NULL) ? 0 : (int) l->lv_len);
-! return 1;
-! }
-!
-! static int
-! luaV_list_iter (lua_State *L)
-! {
-! listitem_T *li = (listitem_T *) lua_touserdata(L, lua_upvalueindex(2));
-! if (li == NULL) return 0;
-! luaV_pushtypval(L, &li->li_tv);
-! lua_pushlightuserdata(L, (void *) li->li_next);
-! lua_replace(L, lua_upvalueindex(2));
-! return 1;
-! }
-!
-! static int
-! luaV_list_call (lua_State *L)
-! {
-! list_T *l = luaV_unbox(L, luaV_List, 1);
-! lua_pushvalue(L, lua_upvalueindex(1)); /* pass cache table along */
-! lua_pushlightuserdata(L, (void *) l->lv_first);
-! lua_pushcclosure(L, luaV_list_iter, 2);
-! return 1;
-! }
-!
-! static int
-! luaV_list_index (lua_State *L)
-! {
-! list_T *l = luaV_unbox(L, luaV_List, 1);
-! if (lua_isnumber(L, 2)) /* list item? */
-! {
-! listitem_T *li = list_find(l, (long) luaL_checkinteger(L, 2));
-! if (li == NULL)
-! lua_pushnil(L);
-! else
-! luaV_pushtypval(L, &li->li_tv);
-! }
-! else if (lua_isstring(L, 2)) /* method? */
-! {
-! const char *s = lua_tostring(L, 2);
-! if (strncmp(s, "add", 3) == 0
-! || strncmp(s, "insert", 6) == 0
-! || strncmp(s, "extend", 6) == 0)
- {
-! lua_getmetatable(L, 1);
-! lua_getfield(L, -1, s);
- }
- else
-! lua_pushnil(L);
- }
-! else
-! lua_pushnil(L);
-! return 1;
- }
-
-! static int
-! luaV_list_newindex (lua_State *L)
-! {
-! list_T *l = luaV_unbox(L, luaV_List, 1);
-! long n = (long) luaL_checkinteger(L, 2);
-! listitem_T *li;
-! if (l->lv_lock)
-! luaL_error(L, "list is locked");
-! li = list_find(l, n);
-! if (li == NULL) return 0;
-! if (lua_isnil(L, 3)) /* remove? */
-! {
-! list_remove(l, li);
-! clear_tv(&li->li_tv);
-! vim_free(li);
-! }
-! else
-! {
-! typval_T v;
-! luaV_totypval(L, 3, &v);
-! clear_tv(&li->li_tv);
-! copy_tv(&v, &li->li_tv);
-! }
-! return 0;
-! }
-
- static int
-! luaV_list_add (lua_State *L)
- {
-! luaV_List *lis = luaV_checkudata(L, 1, LUAVIM_LIST);
-! list_T *l = (list_T *) luaV_checkcache(L, (void *) *lis);
-! listitem_T *li;
-! if (l->lv_lock)
-! luaL_error(L, "list is locked");
-! li = listitem_alloc();
-! if (li != NULL)
-! {
-! typval_T v;
-! lua_settop(L, 2);
-! luaV_totypval(L, 2, &v);
-! copy_tv(&v, &li->li_tv);
-! list_append(l, li);
-! }
-! lua_settop(L, 1);
- return 1;
- }
-
- static int
-+ luaV_list_insert (lua_State *L)
-+ {
-+ luaV_List *lis = luaV_checkudata(L, 1, LUAVIM_LIST);
-+ list_T *l = (list_T *) luaV_checkcache(L, (void *) *lis);
-+ long pos = luaL_optlong(L, 3, 0);
-+ listitem_T *li = NULL;
-+ typval_T v;
-+ if (l->lv_lock)
-+ luaL_error(L, "list is locked");
-+ if (pos < l->lv_len)
-+ {
-+ li = list_find(l, pos);
-+ if (li == NULL)
-+ luaL_error(L, "invalid position");
-+ }
-+ lua_settop(L, 2);
-+ luaV_totypval(L, 2, &v);
-+ list_insert_tv(l, &v, li);
-+ lua_settop(L, 1);
-+ return 1;
-+ }
-+
-+ static const luaL_Reg luaV_List_mt[] = {
-+ {"__tostring", luaV_list_tostring},
-+ {"__gc", luaV_list_gc},
-+ {"__len", luaV_list_len},
-+ {"__call", luaV_list_call},
-+ {"__index", luaV_list_index},
-+ {"__newindex", luaV_list_newindex},
-+ {"add", luaV_list_add},
-+ {"insert", luaV_list_insert},
-+ {NULL, NULL}
-+ };
-+
-+
-+ /* ======= Dict type ======= */
-+
-+ static luaV_Dict *
-+ luaV_newdict (lua_State *L, dict_T *dic)
-+ {
-+ luaV_Dict *d = (luaV_Dict *) lua_newuserdata(L, sizeof(luaV_Dict));
-+ *d = dic;
-+ dic->dv_refcount++; /* reference in Lua */
-+ luaV_setudata(L, dic); /* cache[dic] = udata */
-+ luaV_getfield(L, LUAVIM_DICT);
-+ lua_setmetatable(L, -2);
-+ return d;
-+ }
-+
-+ luaV_pushtype(dict_T, dict, luaV_Dict)
-+ luaV_type_tostring(dict, LUAVIM_DICT)
-+
-+ static int
-+ luaV_dict_gc (lua_State *L)
-+ {
-+ dict_unref(luaV_unbox(L, luaV_Dict, 1));
-+ return 0;
-+ }
-+
-+ static int
-+ luaV_dict_len (lua_State *L)
-+ {
-+ dict_T *d = luaV_unbox(L, luaV_Dict, 1);
-+ lua_pushinteger(L, (d == NULL) ? 0 : (int) d->dv_hashtab.ht_used);
-+ return 1;
-+ }
-+
-+ static int
-+ luaV_dict_iter (lua_State *L)
-+ {
-+ hashitem_T *hi = (hashitem_T *) lua_touserdata(L, lua_upvalueindex(2));
-+ int n = lua_tointeger(L, lua_upvalueindex(3));
-+ dictitem_T *di;
-+ if (n <= 0) return 0;
-+ while (HASHITEM_EMPTY(hi)) hi++;
-+ di = dict_lookup(hi);
-+ lua_pushstring(L, (char *) hi->hi_key);
-+ luaV_pushtypval(L, &di->di_tv);
-+ lua_pushlightuserdata(L, (void *) (hi + 1));
-+ lua_replace(L, lua_upvalueindex(2));
-+ lua_pushinteger(L, n - 1);
-+ lua_replace(L, lua_upvalueindex(3));
-+ return 2;
-+ }
-+
-+ static int
-+ luaV_dict_call (lua_State *L)
-+ {
-+ dict_T *d = luaV_unbox(L, luaV_Dict, 1);
-+ hashtab_T *ht = &d->dv_hashtab;
-+ lua_pushvalue(L, lua_upvalueindex(1)); /* pass cache table along */
-+ lua_pushlightuserdata(L, (void *) ht->ht_array);
-+ lua_pushinteger(L, ht->ht_used); /* # remaining items */
-+ lua_pushcclosure(L, luaV_dict_iter, 3);
-+ return 1;
-+ }
-+
-+ static int
-+ luaV_dict_index (lua_State *L)
-+ {
-+ dict_T *d = luaV_unbox(L, luaV_Dict, 1);
-+ char_u *key = (char_u *) luaL_checkstring(L, 2);
-+ dictitem_T *di = dict_find(d, key, -1);
-+ if (di == NULL)
-+ lua_pushnil(L);
-+ else
-+ luaV_pushtypval(L, &di->di_tv);
-+ return 1;
-+ }
-+
-+ static int
-+ luaV_dict_newindex (lua_State *L)
-+ {
-+ dict_T *d = luaV_unbox(L, luaV_Dict, 1);
-+ char_u *key = (char_u *) luaL_checkstring(L, 2);
-+ dictitem_T *di;
-+ if (d->dv_lock)
-+ luaL_error(L, "dict is locked");
-+ di = dict_find(d, key, -1);
-+ if (di == NULL) /* non-existing key? */
-+ {
-+ if (lua_isnil(L, 3)) return 0;
-+ di = dictitem_alloc(key);
-+ if (di == NULL) return 0;
-+ if (dict_add(d, di) == FAIL)
-+ {
-+ vim_free(di);
-+ return 0;
-+ }
-+ }
-+ else
-+ clear_tv(&di->di_tv);
-+ if (lua_isnil(L, 3)) /* remove? */
-+ {
-+ hashitem_T *hi = hash_find(&d->dv_hashtab, di->di_key);
-+ hash_remove(&d->dv_hashtab, hi);
-+ dictitem_free(di);
-+ }
-+ else {
-+ typval_T v;
-+ luaV_totypval(L, 3, &v);
-+ copy_tv(&v, &di->di_tv);
-+ }
-+ return 0;
-+ }
-+
-+ static const luaL_Reg luaV_Dict_mt[] = {
-+ {"__tostring", luaV_dict_tostring},
-+ {"__gc", luaV_dict_gc},
-+ {"__len", luaV_dict_len},
-+ {"__call", luaV_dict_call},
-+ {"__index", luaV_dict_index},
-+ {"__newindex", luaV_dict_newindex},
-+ {NULL, NULL}
-+ };
-+
-+
-+ /* ======= Buffer type ======= */
-+
-+ luaV_newtype(buf_T, buffer, luaV_Buffer, LUAVIM_BUFFER)
-+ luaV_pushtype(buf_T, buffer, luaV_Buffer)
-+ luaV_type_tostring(buffer, LUAVIM_BUFFER)
-+
-+ static int
- luaV_buffer_len(lua_State *L)
- {
-! buf_T *b = (buf_T *) luaV_checkvalid(L, luaV_Buffer, 1);
-! lua_pushinteger(L, b->b_ml.ml_line_count);
- return 1;
- }
-
- static int
- luaV_buffer_call(lua_State *L)
- {
-! buf_T *b = (buf_T *) luaV_checkvalid(L, luaV_Buffer, 1);
- lua_settop(L, 1);
-! set_curbuf(b, DOBUF_SPLIT);
- return 1;
- }
-
- static int
- luaV_buffer_index(lua_State *L)
- {
-! buf_T *b = (buf_T *) luaV_checkvalid(L, luaV_Buffer, 1);
- linenr_T n = (linenr_T) lua_tointeger(L, 2);
-! if (n > 0 && n <= b->b_ml.ml_line_count)
-! luaV_pushline(L, b, n);
- else if (lua_isstring(L, 2))
- {
- const char *s = lua_tostring(L, 2);
- if (strncmp(s, "name", 4) == 0)
-! lua_pushstring(L, (char *) b->b_sfname);
- else if (strncmp(s, "fname", 5) == 0)
-! lua_pushstring(L, (char *) b->b_ffname);
- else if (strncmp(s, "number", 6) == 0)
-! lua_pushinteger(L, b->b_fnum);
- /* methods */
- else if (strncmp(s, "insert", 6) == 0
- || strncmp(s, "next", 4) == 0
-***************
-*** 584,600 ****
- static int
- luaV_buffer_newindex(lua_State *L)
- {
-! luaV_Buffer *b = (luaV_Buffer *) lua_touserdata(L, 1);
- linenr_T n = (linenr_T) luaL_checkinteger(L, 2);
- #ifdef HAVE_SANDBOX
- luaV_checksandbox(L);
- #endif
-! if (n < 1 || n > (*b)->b_ml.ml_line_count)
- luaL_error(L, "invalid line number");
- if (lua_isnil(L, 3)) /* delete line */
- {
- buf_T *buf = curbuf;
-! curbuf = *b;
- if (u_savedel(n, 1L) == FAIL)
- {
- curbuf = buf;
---- 1122,1138 ----
- static int
- luaV_buffer_newindex(lua_State *L)
- {
-! buf_T *b = (buf_T *) luaV_checkvalid(L, luaV_Buffer, 1);
- linenr_T n = (linenr_T) luaL_checkinteger(L, 2);
- #ifdef HAVE_SANDBOX
- luaV_checksandbox(L);
- #endif
-! if (n < 1 || n > b->b_ml.ml_line_count)
- luaL_error(L, "invalid line number");
- if (lua_isnil(L, 3)) /* delete line */
- {
- buf_T *buf = curbuf;
-! curbuf = b;
- if (u_savedel(n, 1L) == FAIL)
- {
- curbuf = buf;
-***************
-*** 607,613 ****
- }
- else {
- deleted_lines_mark(n, 1L);
-! if (*b == curwin->w_buffer) /* fix cursor in current window? */
- {
- if (curwin->w_cursor.lnum >= n)
- {
---- 1145,1151 ----
- }
- else {
- deleted_lines_mark(n, 1L);
-! if (b == curwin->w_buffer) /* fix cursor in current window? */
- {
- if (curwin->w_cursor.lnum >= n)
- {
-***************
-*** 627,633 ****
- else if (lua_isstring(L, 3)) /* update line */
- {
- buf_T *buf = curbuf;
-! curbuf = *b;
- if (u_savesub(n) == FAIL)
- {
- curbuf = buf;
---- 1165,1171 ----
- else if (lua_isstring(L, 3)) /* update line */
- {
- buf_T *buf = curbuf;
-! curbuf = b;
- if (u_savesub(n) == FAIL)
- {
- curbuf = buf;
-***************
-*** 640,646 ****
- }
- else changed_bytes(n, 0);
- curbuf = buf;
-! if (*b == curwin->w_buffer)
- check_cursor_col();
- }
- else
---- 1178,1184 ----
- }
- else changed_bytes(n, 0);
- curbuf = buf;
-! if (b == curwin->w_buffer)
- check_cursor_col();
- }
- else
-***************
-*** 651,658 ****
- static int
- luaV_buffer_insert(lua_State *L)
- {
-! luaV_Buffer *b = luaV_checkudata(L, 1, LUAVIM_BUFFER);
-! linenr_T last = (*b)->b_ml.ml_line_count;
- linenr_T n = (linenr_T) luaL_optinteger(L, 3, last);
- buf_T *buf;
- luaL_checktype(L, 2, LUA_TSTRING);
---- 1189,1197 ----
- static int
- luaV_buffer_insert(lua_State *L)
- {
-! luaV_Buffer *lb = luaV_checkudata(L, 1, LUAVIM_BUFFER);
-! buf_T *b = (buf_T *) luaV_checkcache(L, (void *) *lb);
-! linenr_T last = b->b_ml.ml_line_count;
- linenr_T n = (linenr_T) luaL_optinteger(L, 3, last);
- buf_T *buf;
- luaL_checktype(L, 2, LUA_TSTRING);
-***************
-*** 664,670 ****
- if (n > last) n = last;
- /* insert */
- buf = curbuf;
-! curbuf = *b;
- if (u_save(n, n + 1) == FAIL)
- {
- curbuf = buf;
---- 1203,1209 ----
- if (n > last) n = last;
- /* insert */
- buf = curbuf;
-! curbuf = b;
- if (u_save(n, n + 1) == FAIL)
- {
- curbuf = buf;
-***************
-*** 686,692 ****
- luaV_buffer_next(lua_State *L)
- {
- luaV_Buffer *b = luaV_checkudata(L, 1, LUAVIM_BUFFER);
-! luaV_pushbuffer(L, (*b)->b_next);
- return 1;
- }
-
---- 1225,1232 ----
- luaV_buffer_next(lua_State *L)
- {
- luaV_Buffer *b = luaV_checkudata(L, 1, LUAVIM_BUFFER);
-! buf_T *buf = (buf_T *) luaV_checkcache(L, (void *) *b);
-! luaV_pushbuffer(L, buf->b_next);
- return 1;
- }
-
-***************
-*** 694,700 ****
- luaV_buffer_previous(lua_State *L)
- {
- luaV_Buffer *b = luaV_checkudata(L, 1, LUAVIM_BUFFER);
-! luaV_pushbuffer(L, (*b)->b_prev);
- return 1;
- }
-
---- 1234,1241 ----
- luaV_buffer_previous(lua_State *L)
- {
- luaV_Buffer *b = luaV_checkudata(L, 1, LUAVIM_BUFFER);
-! buf_T *buf = (buf_T *) luaV_checkcache(L, (void *) *b);
-! luaV_pushbuffer(L, buf->b_prev);
- return 1;
- }
-
-***************
-*** 702,709 ****
- luaV_buffer_isvalid(lua_State *L)
- {
- luaV_Buffer *b = luaV_checkudata(L, 1, LUAVIM_BUFFER);
-! lua_pushlightuserdata(L, (void *) (*b));
-! lua_rawget(L, LUA_ENVIRONINDEX);
- lua_pushboolean(L, !lua_isnil(L, -1));
- return 1;
- }
---- 1243,1249 ----
- luaV_buffer_isvalid(lua_State *L)
- {
- luaV_Buffer *b = luaV_checkudata(L, 1, LUAVIM_BUFFER);
-! luaV_getudata(L, *b);
- lua_pushboolean(L, !lua_isnil(L, -1));
- return 1;
- }
-***************
-*** 724,801 ****
-
- /* ======= Window type ======= */
-
-! static luaV_Window *
-! luaV_newwindow(lua_State *L, win_T *win)
-! {
-! luaV_Window *w = (luaV_Window *) lua_newuserdata(L, sizeof(luaV_Window));
-! *w = win;
-! lua_pushlightuserdata(L, (void *) win);
-! lua_pushvalue(L, -2);
-! lua_rawset(L, LUA_ENVIRONINDEX); /* env[win] = udata */
-! /* to avoid GC, store as key in env */
-! lua_pushvalue(L, -1);
-! lua_pushboolean(L, 1);
-! lua_rawset(L, LUA_ENVIRONINDEX); /* env[udata] = true */
-! /* set metatable */
-! luaV_getfield(L, LUAVIM_WINDOW);
-! lua_setmetatable(L, -2);
-! return w;
-! }
-!
-! static luaV_Window *
-! luaV_pushwindow(lua_State *L, win_T *win)
-! {
-! luaV_Window *w = NULL;
-! if (win == NULL)
-! lua_pushnil(L);
-! else {
-! lua_pushlightuserdata(L, (void *) win);
-! lua_rawget(L, LUA_ENVIRONINDEX);
-! if (lua_isnil(L, -1)) /* not interned? */
-! {
-! lua_pop(L, 1);
-! w = luaV_newwindow(L, win);
-! }
-! else w = (luaV_Window *) lua_touserdata(L, -1);
-! }
-! return w;
-! }
-!
-! /* Window metamethods */
-!
-! static int
-! luaV_window_tostring(lua_State *L)
-! {
-! lua_pushfstring(L, "%s: %p", LUAVIM_WINDOW, lua_touserdata(L, 1));
-! return 1;
-! }
-
- static int
- luaV_window_call(lua_State *L)
- {
-! luaV_Window *w = (luaV_Window *) lua_touserdata(L, 1);
- lua_settop(L, 1);
-! win_goto(*w);
- return 1;
- }
-
- static int
- luaV_window_index(lua_State *L)
- {
-! luaV_Window *w = (luaV_Window *) lua_touserdata(L, 1);
- const char *s = luaL_checkstring(L, 2);
- if (strncmp(s, "buffer", 6) == 0)
-! luaV_pushbuffer(L, (*w)->w_buffer);
- else if (strncmp(s, "line", 4) == 0)
-! lua_pushinteger(L, (*w)->w_cursor.lnum);
- else if (strncmp(s, "col", 3) == 0)
-! lua_pushinteger(L, (*w)->w_cursor.col + 1);
- #ifdef FEAT_VERTSPLIT
- else if (strncmp(s, "width", 5) == 0)
-! lua_pushinteger(L, W_WIDTH((*w)));
- #endif
- else if (strncmp(s, "height", 6) == 0)
-! lua_pushinteger(L, (*w)->w_height);
- /* methods */
- else if (strncmp(s, "next", 4) == 0
- || strncmp(s, "previous", 8) == 0
---- 1264,1299 ----
-
- /* ======= Window type ======= */
-
-! luaV_newtype(win_T, window, luaV_Window, LUAVIM_WINDOW)
-! luaV_pushtype(win_T, window, luaV_Window)
-! luaV_type_tostring(window, LUAVIM_WINDOW)
-
- static int
- luaV_window_call(lua_State *L)
- {
-! win_T *w = (win_T *) luaV_checkvalid(L, luaV_Window, 1);
- lua_settop(L, 1);
-! win_goto(w);
- return 1;
- }
-
- static int
- luaV_window_index(lua_State *L)
- {
-! win_T *w = (win_T *) luaV_checkvalid(L, luaV_Window, 1);
- const char *s = luaL_checkstring(L, 2);
- if (strncmp(s, "buffer", 6) == 0)
-! luaV_pushbuffer(L, w->w_buffer);
- else if (strncmp(s, "line", 4) == 0)
-! lua_pushinteger(L, w->w_cursor.lnum);
- else if (strncmp(s, "col", 3) == 0)
-! lua_pushinteger(L, w->w_cursor.col + 1);
- #ifdef FEAT_VERTSPLIT
- else if (strncmp(s, "width", 5) == 0)
-! lua_pushinteger(L, W_WIDTH(w));
- #endif
- else if (strncmp(s, "height", 6) == 0)
-! lua_pushinteger(L, w->w_height);
- /* methods */
- else if (strncmp(s, "next", 4) == 0
- || strncmp(s, "previous", 8) == 0
-***************
-*** 812,818 ****
- static int
- luaV_window_newindex (lua_State *L)
- {
-! luaV_Window *w = (luaV_Window *) lua_touserdata(L, 1);
- const char *s = luaL_checkstring(L, 2);
- int v = luaL_checkinteger(L, 3);
- if (strncmp(s, "line", 4) == 0)
---- 1310,1316 ----
- static int
- luaV_window_newindex (lua_State *L)
- {
-! win_T *w = (win_T *) luaV_checkvalid(L, luaV_Window, 1);
- const char *s = luaL_checkstring(L, 2);
- int v = luaL_checkinteger(L, 3);
- if (strncmp(s, "line", 4) == 0)
-***************
-*** 820,828 ****
- #ifdef HAVE_SANDBOX
- luaV_checksandbox(L);
- #endif
-! if (v < 1 || v > (*w)->w_buffer->b_ml.ml_line_count)
- luaL_error(L, "line out of range");
-! (*w)->w_cursor.lnum = v;
- update_screen(VALID);
- }
- else if (strncmp(s, "col", 3) == 0)
---- 1318,1326 ----
- #ifdef HAVE_SANDBOX
- luaV_checksandbox(L);
- #endif
-! if (v < 1 || v > w->w_buffer->b_ml.ml_line_count)
- luaL_error(L, "line out of range");
-! w->w_cursor.lnum = v;
- update_screen(VALID);
- }
- else if (strncmp(s, "col", 3) == 0)
-***************
-*** 830,836 ****
- #ifdef HAVE_SANDBOX
- luaV_checksandbox(L);
- #endif
-! (*w)->w_cursor.col = v - 1;
- update_screen(VALID);
- }
- #ifdef FEAT_VERTSPLIT
---- 1328,1334 ----
- #ifdef HAVE_SANDBOX
- luaV_checksandbox(L);
- #endif
-! w->w_cursor.col = v - 1;
- update_screen(VALID);
- }
- #ifdef FEAT_VERTSPLIT
-***************
-*** 840,846 ****
- #ifdef FEAT_GUI
- need_mouse_correct = TRUE;
- #endif
-! curwin = *w;
- win_setwidth(v);
- curwin = win;
- }
---- 1338,1344 ----
- #ifdef FEAT_GUI
- need_mouse_correct = TRUE;
- #endif
-! curwin = w;
- win_setwidth(v);
- curwin = win;
- }
-***************
-*** 851,857 ****
- #ifdef FEAT_GUI
- need_mouse_correct = TRUE;
- #endif
-! curwin = *w;
- win_setheight(v);
- curwin = win;
- }
---- 1349,1355 ----
- #ifdef FEAT_GUI
- need_mouse_correct = TRUE;
- #endif
-! curwin = w;
- win_setheight(v);
- curwin = win;
- }
-***************
-*** 864,870 ****
- luaV_window_next(lua_State *L)
- {
- luaV_Window *w = luaV_checkudata(L, 1, LUAVIM_WINDOW);
-! luaV_pushwindow(L, (*w)->w_next);
- return 1;
- }
-
---- 1362,1369 ----
- luaV_window_next(lua_State *L)
- {
- luaV_Window *w = luaV_checkudata(L, 1, LUAVIM_WINDOW);
-! win_T *win = (win_T *) luaV_checkcache(L, (void *) *w);
-! luaV_pushwindow(L, win->w_next);
- return 1;
- }
-
-***************
-*** 872,878 ****
- luaV_window_previous(lua_State *L)
- {
- luaV_Window *w = luaV_checkudata(L, 1, LUAVIM_WINDOW);
-! luaV_pushwindow(L, (*w)->w_prev);
- return 1;
- }
-
---- 1371,1378 ----
- luaV_window_previous(lua_State *L)
- {
- luaV_Window *w = luaV_checkudata(L, 1, LUAVIM_WINDOW);
-! win_T *win = (win_T *) luaV_checkcache(L, (void *) *w);
-! luaV_pushwindow(L, win->w_prev);
- return 1;
- }
-
-***************
-*** 880,887 ****
- luaV_window_isvalid(lua_State *L)
- {
- luaV_Window *w = luaV_checkudata(L, 1, LUAVIM_WINDOW);
-! lua_pushlightuserdata(L, (void *) (*w));
-! lua_rawget(L, LUA_ENVIRONINDEX);
- lua_pushboolean(L, !lua_isnil(L, -1));
- return 1;
- }
---- 1380,1386 ----
- luaV_window_isvalid(lua_State *L)
- {
- luaV_Window *w = luaV_checkudata(L, 1, LUAVIM_WINDOW);
-! luaV_getudata(L, *w);
- lua_pushboolean(L, !lua_isnil(L, -1));
- return 1;
- }
-***************
-*** 983,988 ****
---- 1482,1509 ----
- }
-
- static int
-+ luaV_list(lua_State *L)
-+ {
-+ list_T *l = list_alloc();
-+ if (l == NULL)
-+ lua_pushnil(L);
-+ else
-+ luaV_newlist(L, l);
-+ return 1;
-+ }
-+
-+ static int
-+ luaV_dict(lua_State *L)
-+ {
-+ dict_T *d = dict_alloc();
-+ if (d == NULL)
-+ lua_pushnil(L);
-+ else
-+ luaV_newdict(L, d);
-+ return 1;
-+ }
-+
-+ static int
- luaV_buffer(lua_State *L)
- {
- buf_T *buf;
-***************
-*** 1008,1022 ****
- break;
- }
- }
-- if (buf == NULL) /* not found? */
-- lua_pushnil(L);
-- else
-- luaV_pushbuffer(L, buf);
- }
-! else {
- buf = (lua_toboolean(L, 1)) ? firstbuf : curbuf; /* first buffer? */
-! luaV_pushbuffer(L, buf);
-! }
- return 1;
- }
-
---- 1529,1538 ----
- break;
- }
- }
- }
-! else
- buf = (lua_toboolean(L, 1)) ? firstbuf : curbuf; /* first buffer? */
-! luaV_pushbuffer(L, buf);
- return 1;
- }
-
-***************
-*** 1029,1043 ****
- int n = lua_tointeger(L, 1);
- for (win = firstwin; win != NULL; win = win->w_next, n--)
- if (n == 1) break;
-- if (win == NULL) /* not found? */
-- lua_pushnil(L);
-- else
-- luaV_pushwindow(L, win);
- }
-! else {
- win = (lua_toboolean(L, 1)) ? firstwin : curwin; /* first window? */
-! luaV_pushwindow(L, win);
-! }
- return 1;
- }
-
---- 1545,1554 ----
- int n = lua_tointeger(L, 1);
- for (win = firstwin; win != NULL; win = win->w_next, n--)
- if (n == 1) break;
- }
-! else
- win = (lua_toboolean(L, 1)) ? firstwin : curwin; /* first window? */
-! luaV_pushwindow(L, win);
- return 1;
- }
-
-***************
-*** 1054,1086 ****
- }
-
- static int
-! luaV_isbuffer(lua_State *L)
-! {
-! lua_pushboolean(L, luaV_toudata(L, 1, LUAVIM_BUFFER) != NULL);
-! return 1;
-! }
-!
-! static int
-! luaV_iswindow(lua_State *L)
- {
-! lua_pushboolean(L, luaV_toudata(L, 1, LUAVIM_WINDOW) != NULL);
-! return 1;
-! }
-!
-! /* for freeing buffer and window objects; lightuserdata as arg */
-! static int
-! luaV_free(lua_State *L)
-! {
-! lua_pushvalue(L, 1); /* lightudata */
-! lua_rawget(L, LUA_ENVIRONINDEX);
-! if (!lua_isnil(L, -1))
- {
-! lua_pushnil(L);
-! lua_rawset(L, LUA_ENVIRONINDEX); /* env[udata] = nil */
-! lua_pushnil(L);
-! lua_rawset(L, LUA_ENVIRONINDEX); /* env[lightudata] = nil */
- }
-! return 0;
- }
-
- static const luaL_Reg luaV_module[] = {
---- 1565,1606 ----
- }
-
- static int
-! luaV_type(lua_State *L)
- {
-! luaL_checkany(L, 1);
-! if (lua_type(L, 1) == LUA_TUSERDATA) /* check vim udata? */
- {
-! lua_settop(L, 1);
-! if (lua_getmetatable(L, 1))
-! {
-! luaV_getfield(L, LUAVIM_LIST);
-! if (lua_rawequal(L, -1, 2))
-! {
-! lua_pushstring(L, "list");
-! return 1;
-! }
-! luaV_getfield(L, LUAVIM_DICT);
-! if (lua_rawequal(L, -1, 2))
-! {
-! lua_pushstring(L, "dict");
-! return 1;
-! }
-! luaV_getfield(L, LUAVIM_BUFFER);
-! if (lua_rawequal(L, -1, 2))
-! {
-! lua_pushstring(L, "buffer");
-! return 1;
-! }
-! luaV_getfield(L, LUAVIM_WINDOW);
-! if (lua_rawequal(L, -1, 2))
-! {
-! lua_pushstring(L, "window");
-! return 1;
-! }
-! }
- }
-! lua_pushstring(L, luaL_typename(L, 1)); /* fallback */
-! return 1;
- }
-
- static const luaL_Reg luaV_module[] = {
-***************
-*** 1088,1111 ****
- {"eval", luaV_eval},
- {"beep", luaV_beep},
- {"line", luaV_line},
- {"buffer", luaV_buffer},
- {"window", luaV_window},
- {"open", luaV_open},
-! {"isbuffer", luaV_isbuffer},
-! {"iswindow", luaV_iswindow},
- {NULL, NULL}
- };
-
- static int
- luaopen_vim(lua_State *L)
- {
-! /* set environment */
- lua_newtable(L);
- lua_newtable(L);
-! lua_pushliteral(L, "v");
- lua_setfield(L, -2, "__mode");
-! lua_setmetatable(L, -2);
-! lua_replace(L, LUA_ENVIRONINDEX);
- /* print */
- lua_pushcfunction(L, luaV_print);
- lua_setglobal(L, "print");
---- 1608,1695 ----
- {"eval", luaV_eval},
- {"beep", luaV_beep},
- {"line", luaV_line},
-+ {"list", luaV_list},
-+ {"dict", luaV_dict},
- {"buffer", luaV_buffer},
- {"window", luaV_window},
- {"open", luaV_open},
-! {"type", luaV_type},
- {NULL, NULL}
- };
-
-+ /* for freeing list, dict, buffer and window objects; lightuserdata as arg */
-+ static int
-+ luaV_free(lua_State *L)
-+ {
-+ lua_pushnil(L);
-+ luaV_setudata(L, lua_touserdata(L, 1));
-+ return 0;
-+ }
-+
-+ static int
-+ luaV_luaeval (lua_State *L)
-+ {
-+ luaL_Buffer b;
-+ size_t l;
-+ const char *str = lua_tolstring(L, 1, &l);
-+ typval_T *arg = (typval_T *) lua_touserdata(L, 2);
-+ typval_T *rettv = (typval_T *) lua_touserdata(L, 3);
-+ luaL_buffinit(L, &b);
-+ luaL_addlstring(&b, LUAVIM_EVALHEADER, sizeof(LUAVIM_EVALHEADER) - 1);
-+ luaL_addlstring(&b, str, l);
-+ luaL_pushresult(&b);
-+ str = lua_tolstring(L, -1, &l);
-+ if (luaL_loadbuffer(L, str, l, LUAVIM_EVALNAME)) /* compile error? */
-+ {
-+ luaV_emsg(L);
-+ return 0;
-+ }
-+ luaV_pushtypval(L, arg);
-+ if (lua_pcall(L, 1, 1, 0)) /* running error? */
-+ {
-+ luaV_emsg(L);
-+ return 0;
-+ }
-+ luaV_totypval(L, -1, rettv);
-+ return 0;
-+ }
-+
-+ static int
-+ luaV_setref (lua_State *L)
-+ {
-+ int copyID = lua_tointeger(L, 1);
-+ typval_T tv;
-+ luaV_getfield(L, LUAVIM_LIST);
-+ luaV_getfield(L, LUAVIM_DICT);
-+ lua_pushnil(L);
-+ while (lua_next(L, lua_upvalueindex(1)) != 0) /* traverse cache table */
-+ {
-+ lua_getmetatable(L, -1);
-+ if (lua_rawequal(L, -1, 2)) /* list? */
-+ {
-+ tv.v_type = VAR_LIST;
-+ tv.vval.v_list = (list_T *) lua_touserdata(L, 4); /* key */
-+ }
-+ else if (lua_rawequal(L, -1, 3)) /* dict? */
-+ {
-+ tv.v_type = VAR_DICT;
-+ tv.vval.v_dict = (dict_T *) lua_touserdata(L, 4); /* key */
-+ }
-+ lua_pop(L, 2); /* metatable and value */
-+ set_ref_in_tv(&tv, copyID);
-+ }
-+ return 0;
-+ }
-+
- static int
- luaopen_vim(lua_State *L)
- {
-! /* set cache table */
- lua_newtable(L);
- lua_newtable(L);
-! lua_pushstring(L, "v");
- lua_setfield(L, -2, "__mode");
-! lua_setmetatable(L, -2); /* cache is weak-valued */
- /* print */
- lua_pushcfunction(L, luaV_print);
- lua_setglobal(L, "print");
-***************
-*** 1116,1129 ****
- lua_pop(L, 1);
- /* free */
- lua_pushlightuserdata(L, (void *) LUAVIM_FREE);
-! lua_pushcfunction(L, luaV_free);
- lua_rawset(L, LUA_REGISTRYINDEX);
- /* register */
- luaV_newmetatable(L, LUAVIM_BUFFER);
-! luaL_register(L, NULL, luaV_Buffer_mt);
- luaV_newmetatable(L, LUAVIM_WINDOW);
-! luaL_register(L, NULL, luaV_Window_mt);
-! luaL_register(L, LUAVIM_NAME, luaV_module);
- return 0;
- }
-
---- 1700,1735 ----
- lua_pop(L, 1);
- /* free */
- lua_pushlightuserdata(L, (void *) LUAVIM_FREE);
-! lua_pushvalue(L, 1); /* cache table */
-! lua_pushcclosure(L, luaV_free, 1);
-! lua_rawset(L, LUA_REGISTRYINDEX);
-! /* luaeval */
-! lua_pushlightuserdata(L, (void *) LUAVIM_LUAEVAL);
-! lua_pushvalue(L, 1); /* cache table */
-! lua_pushcclosure(L, luaV_luaeval, 1);
-! lua_rawset(L, LUA_REGISTRYINDEX);
-! /* setref */
-! lua_pushlightuserdata(L, (void *) LUAVIM_SETREF);
-! lua_pushvalue(L, 1); /* cache table */
-! lua_pushcclosure(L, luaV_setref, 1);
- lua_rawset(L, LUA_REGISTRYINDEX);
- /* register */
-+ luaV_newmetatable(L, LUAVIM_LIST);
-+ lua_pushvalue(L, 1);
-+ luaV_openlib(L, luaV_List_mt, 1);
-+ luaV_newmetatable(L, LUAVIM_DICT);
-+ lua_pushvalue(L, 1);
-+ luaV_openlib(L, luaV_Dict_mt, 1);
- luaV_newmetatable(L, LUAVIM_BUFFER);
-! lua_pushvalue(L, 1); /* cache table */
-! luaV_openlib(L, luaV_Buffer_mt, 1);
- luaV_newmetatable(L, LUAVIM_WINDOW);
-! lua_pushvalue(L, 1); /* cache table */
-! luaV_openlib(L, luaV_Window_mt, 1);
-! lua_newtable(L); /* vim table */
-! lua_pushvalue(L, 1); /* cache table */
-! luaV_openlib(L, luaV_module, 1);
-! lua_setglobal(L, LUAVIM_NAME);
- return 0;
- }
-
-***************
-*** 1154,1160 ****
- static lua_State *L = NULL;
-
- static int
-! lua_is_open(void)
- {
- return L != NULL;
- }
---- 1760,1766 ----
- static lua_State *L = NULL;
-
- static int
-! lua_isopen(void)
- {
- return L != NULL;
- }
-***************
-*** 1162,1168 ****
- static int
- lua_init(void)
- {
-! if (L == NULL)
- {
- #ifdef DYNAMIC_LUA
- if (!lua_enabled(TRUE))
---- 1768,1774 ----
- static int
- lua_init(void)
- {
-! if (!lua_isopen())
- {
- #ifdef DYNAMIC_LUA
- if (!lua_enabled(TRUE))
-***************
-*** 1179,1185 ****
- void
- lua_end(void)
- {
-! if (L != NULL)
- {
- lua_close(L);
- L = NULL;
---- 1785,1791 ----
- void
- lua_end(void)
- {
-! if (lua_isopen())
- {
- lua_close(L);
- L = NULL;
-***************
-*** 1273,1295 ****
- }
- }
-
-! /* buffer */
- void
-! lua_buffer_free(buf_T *buf)
- {
-! if (!lua_is_open()) return;
-! luaV_getfield(L, LUAVIM_FREE);
-! lua_pushlightuserdata(L, (void *) buf);
-! lua_call(L, 1, 0);
- }
-
-- /* window */
- void
-! lua_window_free(win_T *win)
- {
-! if (!lua_is_open()) return;
-! luaV_getfield(L, LUAVIM_FREE);
-! lua_pushlightuserdata(L, (void *) win);
- lua_call(L, 1, 0);
- }
-
---- 1879,1914 ----
- }
- }
-
-! #define luaV_freetype(typ,tname) \
-! void \
-! lua_##tname##_free(typ *o) \
-! { \
-! if (!lua_isopen()) return; \
-! luaV_getfield(L, LUAVIM_FREE); \
-! lua_pushlightuserdata(L, (void *) o); \
-! lua_call(L, 1, 0); \
-! }
-!
-! luaV_freetype(buf_T, buffer)
-! luaV_freetype(win_T, window)
-!
- void
-! do_luaeval (char_u *str, typval_T *arg, typval_T *rettv)
- {
-! lua_init();
-! luaV_getfield(L, LUAVIM_LUAEVAL);
-! lua_pushstring(L, (char *) str);
-! lua_pushlightuserdata(L, (void *) arg);
-! lua_pushlightuserdata(L, (void *) rettv);
-! lua_call(L, 3, 0);
- }
-
- void
-! set_ref_in_lua (int copyID)
- {
-! if (!lua_isopen()) return;
-! luaV_getfield(L, LUAVIM_SETREF);
-! lua_pushinteger(L, copyID);
- lua_call(L, 1, 0);
- }
-
-*** ../vim-7.3.489/src/proto/if_lua.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/if_lua.pro 2012-04-05 16:41:35.000000000 +0200
-***************
-*** 6,9 ****
---- 6,11 ----
- void ex_luafile __ARGS((exarg_T *eap));
- void lua_buffer_free __ARGS((buf_T *buf));
- void lua_window_free __ARGS((win_T *win));
-+ void do_luaeval __ARGS((char_u *str, typval_T *arg, typval_T *rettv));
-+ void set_ref_in_lua __ARGS((int copyID));
- /* vim: set ft=c : */
-*** ../vim-7.3.489/src/version.c 2012-04-05 16:07:01.000000000 +0200
---- src/version.c 2012-04-05 16:52:08.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 490,
- /**/
-
---
-Even got a Datapoint 3600(?) with a DD50 connector instead of the
-usual DB25... what a nightmare trying to figure out the pinout
-for *that* with no spex...
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.491 b/source/ap/vim/patches/7.3.491
deleted file mode 100644
index b675722e1..000000000
--- a/source/ap/vim/patches/7.3.491
+++ /dev/null
@@ -1,235 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.491
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.491
-Problem: No tests for Lua.
-Solution: Add some simple tests for Lua. (Luis Carvalho)
-Files: src/testdir/test1.in, src/testdir/test85.in, src/testdir/test85.ok
- src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
- src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
- src/testdir/Make_vms.mms, src/testdir/Makefile
-
-
-*** ../vim-7.3.490/src/testdir/test1.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test1.in 2012-04-05 16:37:37.000000000 +0200
-***************
-*** 15,20 ****
---- 15,21 ----
- be set like small.vim above. mbyte.vim is sourced by tests that require the
- +multi_byte feature.
- Similar logic is applied to the +mzscheme feature, using mzscheme.vim.
-+ Similar logic is applied to the +lua feature, using lua.vim.
-
- STARTTEST
- :" Write a single line to test.out to check if testing works at all.
-***************
-*** 28,37 ****
---- 29,45 ----
- qa!
- :w! mbyte.vim
- :w! mzscheme.vim
-+ :w! lua.vim
-+ :"
- :" If +multi_byte feature supported, make mbyte.vim empty.
- :if has("multi_byte") | sp another | w! mbyte.vim | q | endif
-+ :"
- :" If +mzscheme feature supported, make mzscheme.vim empty.
- :if has("mzscheme") | sp another | w! mzscheme.vim | q | endif
-+ :"
-+ :" If +lua feature supported, make lua.vim empty.
-+ :if has("lua") | sp another | w! lua.vim | q | endif
-+ :"
- :" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
- :" Otherwise write small.vim to skip the test.
- :if 1 | q! | endif
-*** ../vim-7.3.490/src/testdir/test85.in 2012-04-05 16:56:12.000000000 +0200
---- src/testdir/test85.in 2012-04-05 16:44:00.000000000 +0200
-***************
-*** 0 ****
---- 1,42 ----
-+ Test for Lua interface and luaeval() function
-+
-+ STARTTEST
-+ :so small.vim
-+ :so lua.vim
-+ :set nocompatible viminfo+=nviminfo
-+ :lua l = vim.list():add"item0":add"dictionary with list OK":add"item2"
-+ :lua h = vim.dict(); h.list = l
-+ :call garbagecollect()
-+ /^1
-+ :" change buffer contents
-+ :lua curbuf = vim.buffer()
-+ :lua curline = vim.eval"line('.')"
-+ :lua curbuf[curline] = "1 changed line 1"
-+ :" scalar test
-+ :let tmp_string = luaeval('"string"')
-+ :let tmp_1000 = luaeval('1000')
-+ :if printf("%s%.0f", tmp_string, tmp_1000) == "string1000"
-+ :let scalar_res = "OK"
-+ :else
-+ :let scalar_res = "FAILED"
-+ :endif
-+ :call append(search("^1"), "scalar test " . scalar_res)
-+ :" dictionary containing a list
-+ :let tmp = luaeval("h").list[1]
-+ :/^2/put =tmp
-+ :" circular list (at the same time test lists containing lists)
-+ :lua l[2] = l
-+ :let l2 = luaeval("h").list
-+ :if l2[2] == l2
-+ :let res = "OK"
-+ :else
-+ :let res = "FAILED"
-+ :endif
-+ :call setline(search("^3"), "circular test " . res)
-+ :?^1?,$w! test.out
-+ :qa!
-+ ENDTEST
-+
-+ 1 line 1
-+ 2 line 2
-+ 3 line 3
-*** ../vim-7.3.490/src/testdir/test85.ok 2012-04-05 16:56:12.000000000 +0200
---- src/testdir/test85.ok 2012-04-05 16:18:56.000000000 +0200
-***************
-*** 0 ****
---- 1,5 ----
-+ 1 changed line 1
-+ scalar test OK
-+ 2 line 2
-+ dictionary with list OK
-+ circular test OK
-*** ../vim-7.3.490/src/testdir/Make_amiga.mak 2012-03-28 19:58:34.000000000 +0200
---- src/testdir/Make_amiga.mak 2012-04-05 16:21:55.000000000 +0200
-***************
-*** 13,18 ****
---- 13,19 ----
- # test25 uses symbolic link
- # test27 can't edit file with "*"
- # test52 only for Win32
-+ # test85 no Lua interface
-
- SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
- test7.out test8.out test9.out \
-*** ../vim-7.3.490/src/testdir/Make_dos.mak 2012-03-28 19:58:34.000000000 +0200
---- src/testdir/Make_dos.mak 2012-04-05 16:22:16.000000000 +0200
-***************
-*** 30,36 ****
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
-! test84.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 30,36 ----
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
-! test84.out test85.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.490/src/testdir/Make_ming.mak 2012-03-28 19:58:34.000000000 +0200
---- src/testdir/Make_ming.mak 2012-04-05 16:22:25.000000000 +0200
-***************
-*** 50,56 ****
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
-! test84.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 50,56 ----
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
-! test84.out test85.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.490/src/testdir/Make_os2.mak 2012-03-28 19:58:34.000000000 +0200
---- src/testdir/Make_os2.mak 2012-04-05 16:22:38.000000000 +0200
-***************
-*** 13,18 ****
---- 13,19 ----
- # test25 uses symbolic link
- # test27 can't edit file with "*" in file name
- # test52 only for Win32
-+ # test85 no Lua interface
-
- SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
- test7.out test8.out test9.out \
-*** ../vim-7.3.490/src/testdir/Make_vms.mms 2012-03-28 19:58:34.000000000 +0200
---- src/testdir/Make_vms.mms 2012-04-05 16:23:08.000000000 +0200
-***************
-*** 4,10 ****
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
-! # Last change: 2012 Mar 28
- #
- # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
- # Edit the lines in the Configuration section below to select.
---- 4,10 ----
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
-! # Last change: 2012 Apr 05
- #
- # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
- # Edit the lines in the Configuration section below to select.
-***************
-*** 89,94 ****
---- 89,95 ----
- # with too many dots).
- #
- # Test 72: unknown reason
-+ # Test 85: no Lua interface
-
- .IFDEF WANT_GUI
- SCRIPT_GUI = test16.out
-*** ../vim-7.3.490/src/testdir/Makefile 2012-03-28 19:58:34.000000000 +0200
---- src/testdir/Makefile 2012-04-05 16:21:13.000000000 +0200
-***************
-*** 27,33 ****
- test69.out test70.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
-! test84.out
-
- SCRIPTS_GUI = test16.out
-
---- 27,33 ----
- test69.out test70.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
-! test84.out test85.out
-
- SCRIPTS_GUI = test16.out
-
-*** ../vim-7.3.490/src/version.c 2012-04-05 16:53:56.000000000 +0200
---- src/version.c 2012-04-05 16:55:27.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 491,
- /**/
-
---
-You had connectors? Eeee, when I were a lad we 'ad to carry the
-bits between the computer and the terminal with a spoon...
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.492 b/source/ap/vim/patches/7.3.492
deleted file mode 100644
index b32b6f68e..000000000
--- a/source/ap/vim/patches/7.3.492
+++ /dev/null
@@ -1,718 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.492
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.492
-Problem: Can't indent conditions separately from function arguments.
-Solution: Add the 'k' flag in 'cino. (Lech Lorens)
-Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in,
- src/testdir/test3.ok
-
-
-*** ../vim-7.3.491/runtime/doc/indent.txt 2011-06-26 03:16:58.000000000 +0200
---- runtime/doc/indent.txt 2012-04-05 17:12:14.000000000 +0200
-***************
-*** 459,464 ****
---- 460,481 ----
- a_short_line(argument, a_short_line(argument,
- argument); argument);
- <
-+ *cino-k*
-+ kN When in unclosed parentheses which follow "if", "for" or
-+ "while" and N is non-zero, overrides the behaviour defined by
-+ "(N": causes the indent to be N characters relative to the outer
-+ context (i.e. the line where "if", "for" or "while" is). Has
-+ no effect on deeper levels of nesting. Affects flags like "wN"
-+ only for the "if", "for" and "while" conditions. If 0, defaults
-+ to behaviour defined by the "(N" flag. (default: 0).
-+
-+ cino=(0 cino=(0,ks >
-+ if (condition1 if (condition1
-+ && condition2) && condition2)
-+ action(); action();
-+ function(argument1 function(argument1
-+ && argument2); && argument2);
-+ <
- *cino-m*
- mN When N is non-zero, line up a line starting with a closing
- parentheses with the first character of the line with the
-***************
-*** 527,540 ****
-
- *cino-#*
- #N When N is non-zero recognize shell/Perl comments, starting with
-! '#'. Default N is zero: don't recognizes '#' comments. Note
- that lines starting with # will still be seen as preprocessor
- lines.
-
-
- The defaults, spelled out in full, are:
- cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,N0,ps,ts,is,+s,
-! c3,C0,/0,(2s,us,U0,w0,W0,m0,j0,J0,)20,*70,#0
-
- Vim puts a line in column 1 if:
- - It starts with '#' (preprocessor directives), if 'cinkeys' contains '#'.
---- 546,559 ----
-
- *cino-#*
- #N When N is non-zero recognize shell/Perl comments, starting with
-! '#'. Default N is zero: don't recognize '#' comments. Note
- that lines starting with # will still be seen as preprocessor
- lines.
-
-
- The defaults, spelled out in full, are:
- cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,N0,ps,ts,is,+s,
-! c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0
-
- Vim puts a line in column 1 if:
- - It starts with '#' (preprocessor directives), if 'cinkeys' contains '#'.
-*** ../vim-7.3.491/src/misc1.c 2012-02-29 13:49:03.000000000 +0100
---- src/misc1.c 2012-04-05 17:12:14.000000000 +0200
-***************
-*** 5771,5776 ****
---- 5771,5822 ----
- }
-
- /*
-+ * Check whether in "p" there is an "if", "for" or "while" before offset.
-+ * Return 0 if there is none.
-+ * Otherwise return !0 and update "*poffset" to point to the place where the
-+ * string was found.
-+ */
-+ static int
-+ cin_is_if_for_while_before_offset(line, offset, poffset)
-+ char_u *line;
-+ size_t offset;
-+ int *poffset;
-+ {
-+
-+ if (offset-- < 2)
-+ return 0;
-+ while (offset > 2 && vim_iswhite(line[offset]))
-+ --offset;
-+
-+ offset -= 1;
-+ if (!STRNCMP(line + offset, "if", 2))
-+ goto probablyFound;
-+
-+ if (offset >= 1)
-+ {
-+ offset -= 1;
-+ if (!STRNCMP(line + offset, "for", 3))
-+ goto probablyFound;
-+
-+ if (offset >= 2)
-+ {
-+ offset -= 2;
-+ if (!STRNCMP(line + offset, "while", 5))
-+ goto probablyFound;
-+ }
-+ }
-+
-+ return 0;
-+ probablyFound:
-+ if (!offset || !vim_isIDc(line[offset - 1]))
-+ {
-+ *poffset = offset;
-+ return 1;
-+ }
-+ return 0;
-+ }
-+
-+ /*
- * Return TRUE if we are at the end of a do-while.
- * do
- * nothing;
-***************
-*** 6124,6130 ****
-
- /*
- * Find the matching '(', failing if it is in a comment.
-! * Return NULL of no match found.
- */
- static pos_T *
- find_match_paren(ind_maxparen, ind_maxcomment) /* XXX */
---- 6170,6176 ----
-
- /*
- * Find the matching '(', failing if it is in a comment.
-! * Return NULL if no match found.
- */
- static pos_T *
- find_match_paren(ind_maxparen, ind_maxcomment) /* XXX */
-***************
-*** 6393,6398 ****
---- 6439,6450 ----
- */
- int ind_cpp_namespace = 0;
-
-+ /*
-+ * handle continuation lines containing conditions of if(), for() and
-+ * while()
-+ */
-+ int ind_if_for_while = 0;
-+
- pos_T cur_curpos;
- int amount;
- int scope_amount;
-***************
-*** 6437,6442 ****
---- 6489,6495 ----
- int cont_amount = 0; /* amount for continuation line */
- int original_line_islabel;
- int added_to_amount = 0;
-+ int is_if_for_while = 0;
-
- for (options = curbuf->b_p_cino; *options; )
- {
-***************
-*** 6509,6514 ****
---- 6562,6568 ----
- case 'l': ind_keep_case_label = n; break;
- case '#': ind_hash_comment = n; break;
- case 'N': ind_cpp_namespace = n; break;
-+ case 'k': ind_if_for_while = n; break;
- }
- if (*options == ',')
- ++options;
-***************
-*** 6812,6817 ****
---- 6866,6900 ----
- if (amount == -1)
- {
- int ignore_paren_col = 0;
-+ int is_if_for_while = 0;
-+
-+ if (ind_if_for_while)
-+ {
-+ /* Look for the outermost opening parenthesis on this line
-+ * and check whether it belongs to an "if", "for" or "while". */
-+
-+ pos_T cursor_save = curwin->w_cursor;
-+ pos_T outermost;
-+ char_u *line;
-+ int look_col;
-+
-+ trypos = &our_paren_pos;
-+ do {
-+ outermost = *trypos;
-+ curwin->w_cursor.lnum = outermost.lnum;
-+ curwin->w_cursor.col = outermost.col;
-+
-+ trypos = find_match_paren(ind_maxparen, ind_maxcomment);
-+ } while (trypos && trypos->lnum == outermost.lnum);
-+
-+ curwin->w_cursor = cursor_save;
-+
-+ line = ml_get(outermost.lnum);
-+
-+ is_if_for_while =
-+ cin_is_if_for_while_before_offset(line, outermost.col,
-+ &outermost.col);
-+ }
-
- amount = skip_label(our_paren_pos.lnum, &look, ind_maxcomment);
- look = skipwhite(look);
-***************
-*** 6836,6842 ****
- curwin->w_cursor.lnum = save_lnum;
- look = ml_get(our_paren_pos.lnum) + look_col;
- }
-! if (theline[0] == ')' || ind_unclosed == 0
- || (!ind_unclosed_noignore && *look == '('
- && ignore_paren_col == 0))
- {
---- 6919,6925 ----
- curwin->w_cursor.lnum = save_lnum;
- look = ml_get(our_paren_pos.lnum) + look_col;
- }
-! if (theline[0] == ')' || (ind_unclosed == 0 && is_if_for_while == 0)
- || (!ind_unclosed_noignore && *look == '('
- && ignore_paren_col == 0))
- {
-***************
-*** 6907,6913 ****
- {
- /* Line up with the start of the matching paren line. */
- }
-! else if (ind_unclosed == 0 || (!ind_unclosed_noignore
- && *look == '(' && ignore_paren_col == 0))
- {
- if (cur_amount != MAXCOL)
---- 6990,6997 ----
- {
- /* Line up with the start of the matching paren line. */
- }
-! else if ((ind_unclosed == 0 && is_if_for_while == 0)
-! || (!ind_unclosed_noignore
- && *look == '(' && ignore_paren_col == 0))
- {
- if (cur_amount != MAXCOL)
-***************
-*** 6943,6949 ****
- if (find_match_paren(ind_maxparen, ind_maxcomment) != NULL)
- amount += ind_unclosed2;
- else
-! amount += ind_unclosed;
- }
- /*
- * For a line starting with ')' use the minimum of the two
---- 7027,7038 ----
- if (find_match_paren(ind_maxparen, ind_maxcomment) != NULL)
- amount += ind_unclosed2;
- else
-! {
-! if (is_if_for_while)
-! amount += ind_if_for_while;
-! else
-! amount += ind_unclosed;
-! }
- }
- /*
- * For a line starting with ')' use the minimum of the two
-*** ../vim-7.3.491/src/testdir/test3.in 2011-12-14 20:21:29.000000000 +0100
---- src/testdir/test3.in 2012-04-05 17:12:14.000000000 +0200
-***************
-*** 1574,1579 ****
---- 1574,1793 ----
- }
-
- STARTTEST
-+ :set cino=k2s,(0
-+ 2kdd3j=][
-+ ENDTEST
-+
-+ void func(void)
-+ {
-+ if (condition1
-+ && condition2)
-+ action();
-+ function(argument1
-+ && argument2);
-+
-+ if (c1 && (c2 ||
-+ c3))
-+ foo;
-+ if (c1 &&
-+ (c2 || c3))
-+ {
-+ }
-+
-+ if ( c1
-+ && ( c2
-+ || c3))
-+ foo;
-+ func( c1
-+ && ( c2
-+ || c3))
-+ foo;
-+ }
-+
-+ STARTTEST
-+ :set cino=k2s,(s
-+ 2kdd3j=][
-+ ENDTEST
-+
-+ void func(void)
-+ {
-+ if (condition1
-+ && condition2)
-+ action();
-+ function(argument1
-+ && argument2);
-+
-+ if (c1 && (c2 ||
-+ c3))
-+ foo;
-+ if (c1 &&
-+ (c2 || c3))
-+ {
-+ }
-+
-+ if ( c1
-+ && ( c2
-+ || c3))
-+ foo;
-+ func( c1
-+ && ( c2
-+ || c3))
-+ foo;
-+ }
-+
-+ STARTTEST
-+ :set cino=k2s,(s,U1
-+ 2kdd3j=][
-+ ENDTEST
-+
-+ void func(void)
-+ {
-+ if (condition1
-+ && condition2)
-+ action();
-+ function(argument1
-+ && argument2);
-+
-+ if (c1 && (c2 ||
-+ c3))
-+ foo;
-+ if (c1 &&
-+ (c2 || c3))
-+ {
-+ }
-+ if (c123456789
-+ && (c22345
-+ || c3))
-+ printf("foo\n");
-+
-+ c = c1 &&
-+ (
-+ c2 ||
-+ c3
-+ ) && c4;
-+ }
-+
-+ STARTTEST
-+ :set cino=k2s,(0,W4
-+ 2kdd3j=][
-+ ENDTEST
-+
-+ void func(void)
-+ {
-+ if (condition1
-+ && condition2)
-+ action();
-+ function(argument1
-+ && argument2);
-+
-+ if (c1 && (c2 ||
-+ c3))
-+ foo;
-+ if (c1 &&
-+ (c2 || c3))
-+ {
-+ }
-+ if (c123456789
-+ && (c22345
-+ || c3))
-+ printf("foo\n");
-+
-+ if ( c1
-+ && ( c2
-+ || c3))
-+ foo;
-+
-+ a_long_line(
-+ argument,
-+ argument);
-+ a_short_line(argument,
-+ argument);
-+ }
-+
-+ STARTTEST
-+ :set cino=k2s,u2
-+ 2kdd3j=][
-+ ENDTEST
-+
-+ void func(void)
-+ {
-+ if (condition1
-+ && condition2)
-+ action();
-+ function(argument1
-+ && argument2);
-+
-+ if (c1 && (c2 ||
-+ c3))
-+ foo;
-+ if (c1 &&
-+ (c2 || c3))
-+ {
-+ }
-+ if (c123456789
-+ && (c22345
-+ || c3))
-+ printf("foo\n");
-+ }
-+
-+ STARTTEST
-+ :set cino=k2s,(0,w1
-+ 2kdd3j=][
-+ ENDTEST
-+
-+ void func(void)
-+ {
-+ if (condition1
-+ && condition2)
-+ action();
-+ function(argument1
-+ && argument2);
-+
-+ if (c1 && (c2 ||
-+ c3))
-+ foo;
-+ if (c1 &&
-+ (c2 || c3))
-+ {
-+ }
-+ if (c123456789
-+ && (c22345
-+ || c3))
-+ printf("foo\n");
-+
-+ if ( c1
-+ && ( c2
-+ || c3))
-+ foo;
-+ func( c1
-+ && ( c2
-+ || c3))
-+ foo;
-+ }
-+
-+ STARTTEST
-+ :set cino=k2,(s
-+ 2kdd3j=][
-+ ENDTEST
-+
-+ void func(void)
-+ {
-+ if (condition1
-+ && condition2)
-+ action();
-+ function(argument1
-+ && argument2);
-+
-+ if (c1 && (c2 ||
-+ c3))
-+ foo;
-+ if (c1 &&
-+ (c2 || c3))
-+ {
-+ }
-+ }
-+
-+ STARTTEST
- :set cino=N-s
- /^NAMESPACESTART
- =/^NAMESPACEEND
-*** ../vim-7.3.491/src/testdir/test3.ok 2011-12-14 20:21:29.000000000 +0100
---- src/testdir/test3.ok 2012-04-05 17:12:14.000000000 +0200
-***************
-*** 1411,1416 ****
---- 1411,1602 ----
- }
-
-
-+ void func(void)
-+ {
-+ if (condition1
-+ && condition2)
-+ action();
-+ function(argument1
-+ && argument2);
-+
-+ if (c1 && (c2 ||
-+ c3))
-+ foo;
-+ if (c1 &&
-+ (c2 || c3))
-+ {
-+ }
-+
-+ if ( c1
-+ && ( c2
-+ || c3))
-+ foo;
-+ func( c1
-+ && ( c2
-+ || c3))
-+ foo;
-+ }
-+
-+
-+ void func(void)
-+ {
-+ if (condition1
-+ && condition2)
-+ action();
-+ function(argument1
-+ && argument2);
-+
-+ if (c1 && (c2 ||
-+ c3))
-+ foo;
-+ if (c1 &&
-+ (c2 || c3))
-+ {
-+ }
-+
-+ if ( c1
-+ && ( c2
-+ || c3))
-+ foo;
-+ func( c1
-+ && ( c2
-+ || c3))
-+ foo;
-+ }
-+
-+
-+ void func(void)
-+ {
-+ if (condition1
-+ && condition2)
-+ action();
-+ function(argument1
-+ && argument2);
-+
-+ if (c1 && (c2 ||
-+ c3))
-+ foo;
-+ if (c1 &&
-+ (c2 || c3))
-+ {
-+ }
-+ if (c123456789
-+ && (c22345
-+ || c3))
-+ printf("foo\n");
-+
-+ c = c1 &&
-+ (
-+ c2 ||
-+ c3
-+ ) && c4;
-+ }
-+
-+
-+ void func(void)
-+ {
-+ if (condition1
-+ && condition2)
-+ action();
-+ function(argument1
-+ && argument2);
-+
-+ if (c1 && (c2 ||
-+ c3))
-+ foo;
-+ if (c1 &&
-+ (c2 || c3))
-+ {
-+ }
-+ if (c123456789
-+ && (c22345
-+ || c3))
-+ printf("foo\n");
-+
-+ if ( c1
-+ && ( c2
-+ || c3))
-+ foo;
-+
-+ a_long_line(
-+ argument,
-+ argument);
-+ a_short_line(argument,
-+ argument);
-+ }
-+
-+
-+ void func(void)
-+ {
-+ if (condition1
-+ && condition2)
-+ action();
-+ function(argument1
-+ && argument2);
-+
-+ if (c1 && (c2 ||
-+ c3))
-+ foo;
-+ if (c1 &&
-+ (c2 || c3))
-+ {
-+ }
-+ if (c123456789
-+ && (c22345
-+ || c3))
-+ printf("foo\n");
-+ }
-+
-+
-+ void func(void)
-+ {
-+ if (condition1
-+ && condition2)
-+ action();
-+ function(argument1
-+ && argument2);
-+
-+ if (c1 && (c2 ||
-+ c3))
-+ foo;
-+ if (c1 &&
-+ (c2 || c3))
-+ {
-+ }
-+ if (c123456789
-+ && (c22345
-+ || c3))
-+ printf("foo\n");
-+
-+ if ( c1
-+ && ( c2
-+ || c3))
-+ foo;
-+ func( c1
-+ && ( c2
-+ || c3))
-+ foo;
-+ }
-+
-+
-+ void func(void)
-+ {
-+ if (condition1
-+ && condition2)
-+ action();
-+ function(argument1
-+ && argument2);
-+
-+ if (c1 && (c2 ||
-+ c3))
-+ foo;
-+ if (c1 &&
-+ (c2 || c3))
-+ {
-+ }
-+ }
-+
-+
- NAMESPACESTART
- /* valid namespaces with normal indent */
- namespace
-*** ../vim-7.3.491/src/version.c 2012-04-05 16:56:38.000000000 +0200
---- src/version.c 2012-04-05 17:14:18.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 492,
- /**/
-
---
-You were lucky to have a LAKE! There were a hundred and sixty of
-us living in a small shoebox in the middle of the road.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.493 b/source/ap/vim/patches/7.3.493
deleted file mode 100644
index ff662b254..000000000
--- a/source/ap/vim/patches/7.3.493
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.493
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.493 (after 7.3.492)
-Problem: Two unused variables.
-Solution: Remove them. (Hong Xu)
-Files: src/misc1.c
-
-
-*** ../vim-7.3.492/src/misc1.c 2012-04-05 17:17:38.000000000 +0200
---- src/misc1.c 2012-04-06 13:49:39.000000000 +0200
-***************
-*** 6489,6495 ****
- int cont_amount = 0; /* amount for continuation line */
- int original_line_islabel;
- int added_to_amount = 0;
-- int is_if_for_while = 0;
-
- for (options = curbuf->b_p_cino; *options; )
- {
---- 6489,6494 ----
-***************
-*** 6876,6882 ****
- pos_T cursor_save = curwin->w_cursor;
- pos_T outermost;
- char_u *line;
-- int look_col;
-
- trypos = &our_paren_pos;
- do {
---- 6875,6880 ----
-*** ../vim-7.3.492/src/version.c 2012-04-05 17:17:38.000000000 +0200
---- src/version.c 2012-04-06 13:50:21.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 493,
- /**/
-
---
-Not too long ago, compress was something you did to garbage...
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.494 b/source/ap/vim/patches/7.3.494
deleted file mode 100644
index 81bd24b7d..000000000
--- a/source/ap/vim/patches/7.3.494
+++ /dev/null
@@ -1,186 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.494
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.494 (after 7.3.491)
-Problem: Can't compile with Lua 9.1 or dynamic Lua.
-Solution: Fix dll_ methods. Fix luado(). (Muraoka Taro, Luis Carvalho)
-Files: src/if_lua.c
-
-
-*** ../vim-7.3.493/src/if_lua.c 2012-04-05 16:53:56.000000000 +0200
---- src/if_lua.c 2012-04-06 14:24:06.000000000 +0200
-***************
-*** 95,100 ****
---- 95,101 ----
- #define luaL_loadbufferx dll_luaL_loadbufferx
- #define luaL_argerror dll_luaL_argerror
- #endif
-+ #define luaL_checkany dll_luaL_checkany
- #define luaL_checklstring dll_luaL_checklstring
- #define luaL_checkinteger dll_luaL_checkinteger
- #define luaL_optinteger dll_luaL_optinteger
-***************
-*** 117,124 ****
- #define lua_pcallk dll_lua_pcallk
- #define lua_getglobal dll_lua_getglobal
- #define lua_setglobal dll_lua_setglobal
-- #define lua_typename dll_lua_typename
- #endif
- #define lua_close dll_lua_close
- #define lua_gettop dll_lua_gettop
- #define lua_settop dll_lua_settop
---- 118,125 ----
- #define lua_pcallk dll_lua_pcallk
- #define lua_getglobal dll_lua_getglobal
- #define lua_setglobal dll_lua_setglobal
- #endif
-+ #define lua_typename dll_lua_typename
- #define lua_close dll_lua_close
- #define lua_gettop dll_lua_gettop
- #define lua_settop dll_lua_settop
-***************
-*** 151,156 ****
---- 152,158 ----
- #define lua_rawset dll_lua_rawset
- #define lua_rawseti dll_lua_rawseti
- #define lua_setmetatable dll_lua_setmetatable
-+ #define lua_next dll_lua_next
- /* libs */
- #define luaopen_base dll_luaopen_base
- #define luaopen_table dll_luaopen_table
-***************
-*** 177,182 ****
---- 179,185 ----
- int (*dll_luaL_loadbufferx) (lua_State *L, const char *buff, size_t sz, const char *name, const char *mode);
- int (*dll_luaL_argerror) (lua_State *L, int numarg, const char *extramsg);
- #endif
-+ void (*dll_luaL_checkany) (lua_State *L, int narg);
- const char *(*dll_luaL_checklstring) (lua_State *L, int numArg, size_t *l);
- lua_Integer (*dll_luaL_checkinteger) (lua_State *L, int numArg);
- lua_Integer (*dll_luaL_optinteger) (lua_State *L, int nArg, lua_Integer def);
-***************
-*** 201,208 ****
- int ctx, lua_CFunction k);
- void (*dll_lua_getglobal) (lua_State *L, const char *var);
- void (*dll_lua_setglobal) (lua_State *L, const char *var);
-- const char *(*dll_lua_typename) (lua_State *L, int tp);
- #endif
- void (*dll_lua_close) (lua_State *L);
- int (*dll_lua_gettop) (lua_State *L);
- void (*dll_lua_settop) (lua_State *L, int idx);
---- 204,211 ----
- int ctx, lua_CFunction k);
- void (*dll_lua_getglobal) (lua_State *L, const char *var);
- void (*dll_lua_setglobal) (lua_State *L, const char *var);
- #endif
-+ const char *(*dll_lua_typename) (lua_State *L, int tp);
- void (*dll_lua_close) (lua_State *L);
- int (*dll_lua_gettop) (lua_State *L);
- void (*dll_lua_settop) (lua_State *L, int idx);
-***************
-*** 235,240 ****
---- 238,244 ----
- void (*dll_lua_rawset) (lua_State *L, int idx);
- void (*dll_lua_rawseti) (lua_State *L, int idx, int n);
- int (*dll_lua_setmetatable) (lua_State *L, int objindex);
-+ int (*dll_lua_next) (lua_State *L, int idx);
- /* libs */
- int (*dll_luaopen_base) (lua_State *L);
- int (*dll_luaopen_table) (lua_State *L);
-***************
-*** 268,273 ****
---- 272,278 ----
- {"luaL_loadbufferx", (luaV_function) &dll_luaL_loadbufferx},
- {"luaL_argerror", (luaV_function) &dll_luaL_argerror},
- #endif
-+ {"luaL_checkany", (luaV_function) &dll_luaL_checkany},
- {"luaL_checklstring", (luaV_function) &dll_luaL_checklstring},
- {"luaL_checkinteger", (luaV_function) &dll_luaL_checkinteger},
- {"luaL_optinteger", (luaV_function) &dll_luaL_optinteger},
-***************
-*** 290,297 ****
- {"lua_pcallk", (luaV_function) &dll_lua_pcallk},
- {"lua_getglobal", (luaV_function) &dll_lua_getglobal},
- {"lua_setglobal", (luaV_function) &dll_lua_setglobal},
-- {"lua_typename", (luaV_function) &dll_lua_typename},
- #endif
- {"lua_close", (luaV_function) &dll_lua_close},
- {"lua_gettop", (luaV_function) &dll_lua_gettop},
- {"lua_settop", (luaV_function) &dll_lua_settop},
---- 295,302 ----
- {"lua_pcallk", (luaV_function) &dll_lua_pcallk},
- {"lua_getglobal", (luaV_function) &dll_lua_getglobal},
- {"lua_setglobal", (luaV_function) &dll_lua_setglobal},
- #endif
-+ {"lua_typename", (luaV_function) &dll_lua_typename},
- {"lua_close", (luaV_function) &dll_lua_close},
- {"lua_gettop", (luaV_function) &dll_lua_gettop},
- {"lua_settop", (luaV_function) &dll_lua_settop},
-***************
-*** 324,329 ****
---- 329,335 ----
- {"lua_rawset", (luaV_function) &dll_lua_rawset},
- {"lua_rawseti", (luaV_function) &dll_lua_rawseti},
- {"lua_setmetatable", (luaV_function) &dll_lua_setmetatable},
-+ {"lua_next", (luaV_function) &dll_lua_next},
- /* libs */
- {"luaopen_base", (luaV_function) &dll_luaopen_base},
- {"luaopen_table", (luaV_function) &dll_luaopen_table},
-***************
-*** 1828,1834 ****
- }
- luaV_setrange(L, eap->line1, eap->line2);
- luaL_buffinit(L, &b);
-! luaL_addlstring(&b, "return function(line) ", 22); /* header */
- luaL_addlstring(&b, s, strlen(s));
- luaL_addlstring(&b, " end", 4); /* footer */
- luaL_pushresult(&b);
---- 1834,1840 ----
- }
- luaV_setrange(L, eap->line1, eap->line2);
- luaL_buffinit(L, &b);
-! luaL_addlstring(&b, "return function(line, linenr) ", 30); /* header */
- luaL_addlstring(&b, s, strlen(s));
- luaL_addlstring(&b, " end", 4); /* footer */
- luaL_pushresult(&b);
-***************
-*** 1845,1851 ****
- {
- lua_pushvalue(L, -1); /* function */
- luaV_pushline(L, curbuf, l); /* current line as arg */
-! if (lua_pcall(L, 1, 1, 0))
- {
- luaV_emsg(L);
- break;
---- 1851,1858 ----
- {
- lua_pushvalue(L, -1); /* function */
- luaV_pushline(L, curbuf, l); /* current line as arg */
-! lua_pushinteger(L, l); /* current line number as arg */
-! if (lua_pcall(L, 2, 1, 0))
- {
- luaV_emsg(L);
- break;
-*** ../vim-7.3.493/src/version.c 2012-04-06 13:56:00.000000000 +0200
---- src/version.c 2012-04-06 14:25:11.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 494,
- /**/
-
---
-Why doesn't Tarzan have a beard?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.495 b/source/ap/vim/patches/7.3.495
deleted file mode 100644
index 54c230627..000000000
--- a/source/ap/vim/patches/7.3.495
+++ /dev/null
@@ -1,124 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.4
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.495 (after 7.3.492)
-Problem: Compiler warnings.
-Solution: Add function declaration. Remove "offset" argument.
-Files: src/misc1.c
-
-
-*** ../vim-7.3.494/src/misc1.c 2012-04-06 13:56:00.000000000 +0200
---- src/misc1.c 2012-04-09 20:25:58.000000000 +0200
-***************
-*** 4972,4977 ****
---- 4972,4978 ----
- static int cin_iselse __ARGS((char_u *));
- static int cin_isdo __ARGS((char_u *));
- static int cin_iswhileofdo __ARGS((char_u *, linenr_T, int));
-+ static int cin_is_if_for_while_before_offset __ARGS((char_u *line, int *poffset));
- static int cin_iswhileofdo_end __ARGS((int terminated, int ind_maxparen, int ind_maxcomment));
- static int cin_isbreak __ARGS((char_u *));
- static int cin_is_cpp_baseclass __ARGS((colnr_T *col));
-***************
-*** 5771,5787 ****
- }
-
- /*
-! * Check whether in "p" there is an "if", "for" or "while" before offset.
- * Return 0 if there is none.
- * Otherwise return !0 and update "*poffset" to point to the place where the
- * string was found.
- */
- static int
-! cin_is_if_for_while_before_offset(line, offset, poffset)
- char_u *line;
-- size_t offset;
- int *poffset;
- {
-
- if (offset-- < 2)
- return 0;
---- 5772,5788 ----
- }
-
- /*
-! * Check whether in "p" there is an "if", "for" or "while" before "*poffset".
- * Return 0 if there is none.
- * Otherwise return !0 and update "*poffset" to point to the place where the
- * string was found.
- */
- static int
-! cin_is_if_for_while_before_offset(line, poffset)
- char_u *line;
- int *poffset;
- {
-+ int offset = *poffset;
-
- if (offset-- < 2)
- return 0;
-***************
-*** 5805,5812 ****
- goto probablyFound;
- }
- }
--
- return 0;
- probablyFound:
- if (!offset || !vim_isIDc(line[offset - 1]))
- {
---- 5806,5813 ----
- goto probablyFound;
- }
- }
- return 0;
-+
- probablyFound:
- if (!offset || !vim_isIDc(line[offset - 1]))
- {
-***************
-*** 6890,6897 ****
- line = ml_get(outermost.lnum);
-
- is_if_for_while =
-! cin_is_if_for_while_before_offset(line, outermost.col,
-! &outermost.col);
- }
-
- amount = skip_label(our_paren_pos.lnum, &look, ind_maxcomment);
---- 6891,6897 ----
- line = ml_get(outermost.lnum);
-
- is_if_for_while =
-! cin_is_if_for_while_before_offset(line, &outermost.col);
- }
-
- amount = skip_label(our_paren_pos.lnum, &look, ind_maxcomment);
-*** ../vim-7.3.494/src/version.c 2012-04-06 14:30:55.000000000 +0200
---- src/version.c 2012-04-09 20:41:44.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 495,
- /**/
-
---
- [clop clop]
-GUARD #1: Halt! Who goes there?
-ARTHUR: It is I, Arthur, son of Uther Pendragon, from the castle of
- Camelot. King of the Britons, defeator of the Saxons, sovereign of
- all England!
-GUARD #1: Pull the other one!
- The Quest for the Holy Grail (Monty Python)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.496 b/source/ap/vim/patches/7.3.496
deleted file mode 100644
index 8b110517c..000000000
--- a/source/ap/vim/patches/7.3.496
+++ /dev/null
@@ -1,69 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.496
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.496
-Problem: MS-DOS: When "diff" trips over difference in line separators some
- tests fail.
-Solution: Make some .ok files use unix line separators. (David Pope)
-Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak
-
-
-*** ../vim-7.3.495/src/testdir/Make_dos.mak 2012-04-05 16:56:38.000000000 +0200
---- src/testdir/Make_dos.mak 2012-04-09 21:23:43.000000000 +0200
-***************
-*** 52,58 ****
-
- fixff:
- -$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=dos|upd" +q *.in *.ok
-! -$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=unix|upd" +q dotest.in
-
- clean:
- -del *.out
---- 52,59 ----
-
- fixff:
- -$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=dos|upd" +q *.in *.ok
-! -$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=unix|upd" +q \
-! dotest.in test60.ok test71.ok test74.ok
-
- clean:
- -del *.out
-*** ../vim-7.3.495/src/testdir/Make_ming.mak 2012-04-05 16:56:38.000000000 +0200
---- src/testdir/Make_ming.mak 2012-04-09 21:25:55.000000000 +0200
-***************
-*** 75,80 ****
---- 75,82 ----
-
- fixff:
- -$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=dos|upd" +q *.in *.ok
-+ -$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=unix|upd" +q \
-+ dotest.in test60.ok test71.ok test74.ok
-
- clean:
- -$(DEL) *.out
-*** ../vim-7.3.495/src/version.c 2012-04-09 20:42:20.000000000 +0200
---- src/version.c 2012-04-13 19:10:04.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 496,
- /**/
-
---
-There are 2 kinds of people in my world: those who know Unix, Perl, Vim, GNU,
-Linux, etc, and those who know COBOL. It gets very difficult for me at
-parties, not knowing which group to socialise with :-)
- Sitaram Chamarty
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.497 b/source/ap/vim/patches/7.3.497
deleted file mode 100644
index 5cbffc4ae..000000000
--- a/source/ap/vim/patches/7.3.497
+++ /dev/null
@@ -1,50 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.497
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.497
-Problem: Crash when doing ":python print" and compiled with gcc and
- the optimizer enabled.
-Solution: Avoid the crash, doesn't really fix the problem. (Christian
- Brabandt)
-Files: src/if_py_both.h
-
-
-*** ../vim-7.3.496/src/if_py_both.h 2012-02-04 20:17:21.000000000 +0100
---- src/if_py_both.h 2012-04-20 13:24:31.000000000 +0200
-***************
-*** 77,82 ****
---- 77,87 ----
- if (!PyArg_ParseTuple(args, "et#", ENC_OPT, &str, &len))
- return NULL;
-
-+ /* TODO: This works around a gcc optimizer problem and avoids Vim
-+ * from crashing. Should find a real solution. */
-+ if (str == NULL)
-+ return NULL;
-+
- Py_BEGIN_ALLOW_THREADS
- Python_Lock_Vim();
- writer((writefn)(error ? emsg : msg), (char_u *)str, len);
-*** ../vim-7.3.496/src/version.c 2012-04-13 19:11:16.000000000 +0200
---- src/version.c 2012-04-20 13:26:22.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 497,
- /**/
-
---
-There can't be a crisis today, my schedule is already full.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.498 b/source/ap/vim/patches/7.3.498
deleted file mode 100644
index aa9c621ee..000000000
--- a/source/ap/vim/patches/7.3.498
+++ /dev/null
@@ -1,63 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.498
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.498
-Problem: The behavior of the "- register changes depending on value of
- the 'clipboard' option. (Szamotulski)
-Solution: Also set the "- register when the register is "*" or "+".
- (Christian Brabandt)
-Files: src/ops.c
-
-
-*** ../vim-7.3.497/src/ops.c 2012-03-23 14:16:19.000000000 +0100
---- src/ops.c 2012-04-20 13:36:32.000000000 +0200
-***************
-*** 1720,1728 ****
- did_yank = TRUE;
- }
-
-! /* Yank into small delete register when no register specified and the
-! * delete is within one line. */
-! if (oap->regname == 0 && oap->motion_type != MLINE
- && oap->line_count == 1)
- {
- oap->regname = '-';
---- 1720,1733 ----
- did_yank = TRUE;
- }
-
-! /* Yank into small delete register when no named register specified
-! * and the delete is within one line. */
-! if ((
-! #ifdef FEAT_CLIPBOARD
-! ((clip_unnamed & CLIP_UNNAMED) && oap->regname == '*') ||
-! ((clip_unnamed & CLIP_UNNAMED_PLUS) && oap->regname == '+') ||
-! #endif
-! oap->regname == 0) && oap->motion_type != MLINE
- && oap->line_count == 1)
- {
- oap->regname = '-';
-*** ../vim-7.3.497/src/version.c 2012-04-20 13:31:16.000000000 +0200
---- src/version.c 2012-04-20 13:45:26.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 498,
- /**/
-
---
-Did you ever stop to think... and forget to start again?
- -- Steven Wright
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.499 b/source/ap/vim/patches/7.3.499
deleted file mode 100644
index 4e45e4fb7..000000000
--- a/source/ap/vim/patches/7.3.499
+++ /dev/null
@@ -1,84 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.499
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.499
-Problem: When using any interface language when Vim is waiting for a child
- process it gets confused by a child process started through the
- interface.
-Solution: Always used waitpid() instead of wait(). (Yasuhiro Matsumoto)
-Files: src/os_unix.c
-
-
-*** ../vim-7.3.498/src/os_unix.c 2012-02-05 22:51:27.000000000 +0100
---- src/os_unix.c 2012-04-20 15:47:17.000000000 +0200
-***************
-*** 3734,3757 ****
-
- while (wait_pid != child)
- {
-! # ifdef _THREAD_SAFE
-! /* Ugly hack: when compiled with Python threads are probably
-! * used, in which case wait() sometimes hangs for no obvious
-! * reason. Use waitpid() instead and loop (like the GUI). */
-! # ifdef __NeXT__
- wait_pid = wait4(child, status, WNOHANG, (struct rusage *)0);
-! # else
- wait_pid = waitpid(child, status, WNOHANG);
-! # endif
- if (wait_pid == 0)
- {
- /* Wait for 1/100 sec before trying again. */
- mch_delay(10L, TRUE);
- continue;
- }
-- # else
-- wait_pid = wait(status);
-- # endif
- if (wait_pid <= 0
- # ifdef ECHILD
- && errno == ECHILD
---- 3734,3754 ----
-
- while (wait_pid != child)
- {
-! /* When compiled with Python threads are probably used, in which case
-! * wait() sometimes hangs for no obvious reason. Use waitpid()
-! * instead and loop (like the GUI). Also needed for other interfaces,
-! * they might call system(). */
-! # ifdef __NeXT__
- wait_pid = wait4(child, status, WNOHANG, (struct rusage *)0);
-! # else
- wait_pid = waitpid(child, status, WNOHANG);
-! # endif
- if (wait_pid == 0)
- {
- /* Wait for 1/100 sec before trying again. */
- mch_delay(10L, TRUE);
- continue;
- }
- if (wait_pid <= 0
- # ifdef ECHILD
- && errno == ECHILD
-*** ../vim-7.3.498/src/version.c 2012-04-20 13:46:02.000000000 +0200
---- src/version.c 2012-04-20 15:54:05.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 499,
- /**/
-
---
-It's not hard to meet expenses, they're everywhere.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.500 b/source/ap/vim/patches/7.3.500
deleted file mode 100644
index b3b6a375e..000000000
--- a/source/ap/vim/patches/7.3.500
+++ /dev/null
@@ -1,46 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.500
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.500
-Problem: Ming makefile unconditionally sets WINVER.
-Solution: Only defined when not already defined. (Yasuhiro Matsumoto)
-Files: src/Make_ming.mak
-
-
-*** ../vim-7.3.499/src/Make_ming.mak 2012-03-28 17:43:06.000000000 +0200
---- src/Make_ming.mak 2012-04-20 16:03:50.000000000 +0200
-***************
-*** 51,57 ****
---- 51,59 ----
- # set to yes to enable OLE support
- OLE=no
- # Set the default $(WINVER) to make it work with pre-Win2k
-+ ifndef WINVER
- WINVER = 0x0400
-+ endif
- # Set to yes to enable Cscope support
- CSCOPE=yes
- # Set to yes to enable Netbeans support
-*** ../vim-7.3.499/src/version.c 2012-04-20 15:55:10.000000000 +0200
---- src/version.c 2012-04-20 16:12:34.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 500,
- /**/
-
---
-Life is a gift, living is an art. (Bram Moolenaar)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.501 b/source/ap/vim/patches/7.3.501
deleted file mode 100644
index a74b02888..000000000
--- a/source/ap/vim/patches/7.3.501
+++ /dev/null
@@ -1,63 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.501
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.501
-Problem: Error for "flush" not being defined when using Ruby command.
-Solution: Defined "flush" as a no-op method. (Kent Sibilev)
-Files: src/if_ruby.c
-
-
-*** ../vim-7.3.500/src/if_ruby.c 2011-08-04 19:34:55.000000000 +0200
---- src/if_ruby.c 2012-04-20 16:18:56.000000000 +0200
-***************
-*** 1238,1243 ****
---- 1238,1248 ----
- return Qnil;
- }
-
-+ static VALUE f_nop(VALUE self)
-+ {
-+ return Qnil;
-+ }
-+
- static VALUE f_p(int argc, VALUE *argv, VALUE self UNUSED)
- {
- int i;
-***************
-*** 1259,1264 ****
---- 1264,1270 ----
-
- rb_stdout = rb_obj_alloc(rb_cObject);
- rb_define_singleton_method(rb_stdout, "write", vim_message, 1);
-+ rb_define_singleton_method(rb_stdout, "flush", f_nop, 0);
- rb_define_global_function("p", f_p, -1);
- }
-
-*** ../vim-7.3.500/src/version.c 2012-04-20 16:13:21.000000000 +0200
---- src/version.c 2012-04-20 16:19:03.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 501,
- /**/
-
---
-Q: What do you call a fish without an eye?
-A: fsh!
-Q: What do you call a deer with no eyes?
-A: no eye deer.
-Q: What do you call a deer with no eyes and no legs?
-A: still no eye deer.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.502 b/source/ap/vim/patches/7.3.502
deleted file mode 100644
index c9710abfb..000000000
--- a/source/ap/vim/patches/7.3.502
+++ /dev/null
@@ -1,67 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.502
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.502
-Problem: Netbeans insert halfway a line actually appends to the line.
-Solution: Insert halfway the line. (Brian Victor)
-Files: src/netbeans.c
-
-
-*** ../vim-7.3.501/src/netbeans.c 2012-01-10 22:31:26.000000000 +0100
---- src/netbeans.c 2012-04-20 19:44:31.000000000 +0200
-***************
-*** 1812,1825 ****
- char_u *oldline = ml_get(lnum);
- char_u *newline;
-
-! /* Insert halfway a line. For simplicity we assume we
-! * need to append to the line. */
- newline = alloc_check(
- (unsigned)(STRLEN(oldline) + len + 1));
- if (newline != NULL)
- {
-! STRCPY(newline, oldline);
- STRCAT(newline, args);
- ml_replace(lnum, newline, FALSE);
- }
- }
---- 1812,1826 ----
- char_u *oldline = ml_get(lnum);
- char_u *newline;
-
-! /* Insert halfway a line. */
- newline = alloc_check(
- (unsigned)(STRLEN(oldline) + len + 1));
- if (newline != NULL)
- {
-! mch_memmove(newline, oldline, (size_t)pos->col);
-! newline[pos->col] = NUL;
- STRCAT(newline, args);
-+ STRCAT(newline, oldline + pos->col);
- ml_replace(lnum, newline, FALSE);
- }
- }
-*** ../vim-7.3.501/src/version.c 2012-04-20 18:05:42.000000000 +0200
---- src/version.c 2012-04-20 19:46:48.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 502,
- /**/
-
---
-Time flies like an arrow.
-Fruit flies like a banana.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.503 b/source/ap/vim/patches/7.3.503
deleted file mode 100644
index 5b776ae0d..000000000
--- a/source/ap/vim/patches/7.3.503
+++ /dev/null
@@ -1,51 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.503
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.503 (after 7.3.501)
-Problem: Warning for unused argument.
-Solution: Add UNUSED.
-Files: src/if_ruby.c
-
-
-*** ../vim-7.3.502/src/if_ruby.c 2012-04-20 18:05:42.000000000 +0200
---- src/if_ruby.c 2012-04-25 12:26:38.000000000 +0200
-***************
-*** 1238,1244 ****
- return Qnil;
- }
-
-! static VALUE f_nop(VALUE self)
- {
- return Qnil;
- }
---- 1238,1244 ----
- return Qnil;
- }
-
-! static VALUE f_nop(VALUE self UNUSED)
- {
- return Qnil;
- }
-*** ../vim-7.3.502/src/version.c 2012-04-20 19:47:00.000000000 +0200
---- src/version.c 2012-04-25 12:27:30.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 503,
- /**/
-
---
-Why isn't there mouse-flavored cat food?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.504 b/source/ap/vim/patches/7.3.504
deleted file mode 100644
index 752279060..000000000
--- a/source/ap/vim/patches/7.3.504
+++ /dev/null
@@ -1,87 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.504
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.504
-Problem: Commands in help files are not highlighted.
-Solution: Allow for commands in backticks. Adjust CTRL-] to remove the
- backticks.
-Files: src/ex_cmds.c
-
-
-*** ../vim-7.3.503/src/ex_cmds.c 2012-04-05 16:04:58.000000000 +0200
---- src/ex_cmds.c 2012-04-25 12:51:41.000000000 +0200
-***************
-*** 3421,3427 ****
- * and re-attach to buffer, perhaps.
- */
- if (curwin->w_s == &(curwin->w_buffer->b_s))
-! curwin->w_s = &(buf->b_s);
- #endif
- curwin->w_buffer = buf;
- curbuf = buf;
---- 3421,3427 ----
- * and re-attach to buffer, perhaps.
- */
- if (curwin->w_s == &(curwin->w_buffer->b_s))
-! curwin->w_s = &(buf->b_s);
- #endif
- curwin->w_buffer = buf;
- curbuf = buf;
-***************
-*** 5965,5970 ****
---- 5965,5993 ----
- break;
- }
- *d = NUL;
-+
-+ if (*IObuff == '`')
-+ {
-+ if (d > IObuff + 2 && d[-1] == '`')
-+ {
-+ /* remove the backticks from `command` */
-+ mch_memmove(IObuff, IObuff + 1, STRLEN(IObuff));
-+ d[-2] = NUL;
-+ }
-+ else if (d > IObuff + 3 && d[-2] == '`' && d[-1] == ',')
-+ {
-+ /* remove the backticks and comma from `command`, */
-+ mch_memmove(IObuff, IObuff + 1, STRLEN(IObuff));
-+ d[-3] = NUL;
-+ }
-+ else if (d > IObuff + 4 && d[-3] == '`'
-+ && d[-2] == '\\' && d[-1] == '.')
-+ {
-+ /* remove the backticks and dot from `command`\. */
-+ mch_memmove(IObuff, IObuff + 1, STRLEN(IObuff));
-+ d[-4] = NUL;
-+ }
-+ }
- }
- }
-
-*** ../vim-7.3.503/src/version.c 2012-04-25 12:28:05.000000000 +0200
---- src/version.c 2012-04-25 12:46:43.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 504,
- /**/
-
---
-TIM: That is not an ordinary rabbit ... 'tis the most foul cruel and
- bad-tempered thing you ever set eyes on.
-ROBIN: You tit. I soiled my armour I was so scared!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.505 b/source/ap/vim/patches/7.3.505
deleted file mode 100644
index 1a8a7ea37..000000000
--- a/source/ap/vim/patches/7.3.505
+++ /dev/null
@@ -1,116 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.505
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.505
-Problem: Test 11 fails on MS-Windows in some versions.
-Solution: Fix #ifdefs for whether filtering through a pipe is possible. Move
- setting b_no_eol_lnum back to where it was before patch 7.3.124.
- (David Pope)
-Files: src/feature.h, src/eval.c, src/ex_cmds.c, src/fileio.c
-
-
-*** ../vim-7.3.504/src/feature.h 2011-10-20 21:09:25.000000000 +0200
---- src/feature.h 2012-04-25 16:44:26.000000000 +0200
-***************
-*** 1316,1318 ****
---- 1316,1326 ----
- #ifdef FEAT_NORMAL
- # define FEAT_PERSISTENT_UNDO
- #endif
-+
-+ /*
-+ * +filterpipe
-+ */
-+ #if (defined(UNIX) && !defined(USE_SYSTEM)) \
-+ || (defined(WIN3264) && defined(FEAT_GUI_W32))
-+ # define FEAT_FILTERPIPE
-+ #endif
-*** ../vim-7.3.504/src/eval.c 2012-04-05 16:53:55.000000000 +0200
---- src/eval.c 2012-04-25 16:43:53.000000000 +0200
-***************
-*** 12090,12096 ****
- #ifdef FEAT_SEARCHPATH
- "file_in_path",
- #endif
-! #if (defined(UNIX) && !defined(USE_SYSTEM)) || defined(WIN3264)
- "filterpipe",
- #endif
- #ifdef FEAT_FIND_ID
---- 12090,12096 ----
- #ifdef FEAT_SEARCHPATH
- "file_in_path",
- #endif
-! #ifdef FEAT_FILTERPIPE
- "filterpipe",
- #endif
- #ifdef FEAT_FIND_ID
-*** ../vim-7.3.504/src/ex_cmds.c 2012-04-25 12:57:23.000000000 +0200
---- src/ex_cmds.c 2012-04-25 16:46:02.000000000 +0200
-***************
-*** 1113,1119 ****
- if (do_out)
- shell_flags |= SHELL_DOOUT;
-
-! #if (!defined(USE_SYSTEM) && defined(UNIX)) || defined(WIN3264)
- if (!do_in && do_out && !p_stmp)
- {
- /* Use a pipe to fetch stdout of the command, do not use a temp file. */
---- 1113,1119 ----
- if (do_out)
- shell_flags |= SHELL_DOOUT;
-
-! #ifdef FEAT_FILTERPIPE
- if (!do_in && do_out && !p_stmp)
- {
- /* Use a pipe to fetch stdout of the command, do not use a temp file. */
-*** ../vim-7.3.504/src/fileio.c 2012-02-29 18:22:03.000000000 +0100
---- src/fileio.c 2012-04-25 16:40:37.000000000 +0200
-***************
-*** 2655,2664 ****
- }
- #endif
-
-- /* Reset now, following writes should not omit the EOL. Also, the line
-- * number will become invalid because of edits. */
-- curbuf->b_no_eol_lnum = 0;
--
- if (recoverymode && error)
- return FAIL;
- return OK;
---- 2655,2660 ----
-***************
-*** 5098,5103 ****
---- 5094,5101 ----
- {
- aco_save_T aco;
-
-+ curbuf->b_no_eol_lnum = 0; /* in case it was set by the previous read */
-+
- /*
- * Apply POST autocommands.
- * Careful: The autocommands may call buf_write() recursively!
-*** ../vim-7.3.504/src/version.c 2012-04-25 12:57:23.000000000 +0200
---- src/version.c 2012-04-25 16:49:50.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 505,
- /**/
-
---
-Lose weight, NEVER Diet again with
- The "Invisible Weight Loss Patch"
- (spam e-mail)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.506 b/source/ap/vim/patches/7.3.506
deleted file mode 100644
index 32be6fd10..000000000
--- a/source/ap/vim/patches/7.3.506
+++ /dev/null
@@ -1,100 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.506
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.506
-Problem: GTK gives an error when selecting a non-existent file.
-Solution: Add a handler to avoid the error. (Christian Brabandt)
-Files: src/gui_gtk.c
-
-
-*** ../vim-7.3.505/src/gui_gtk.c 2011-06-26 04:48:56.000000000 +0200
---- src/gui_gtk.c 2012-04-25 17:08:58.000000000 +0200
-***************
-*** 90,95 ****
---- 90,100 ----
- static void entry_activate_cb(GtkWidget *widget, gpointer data);
- static void entry_changed_cb(GtkWidget *entry, GtkWidget *dialog);
- static void find_replace_cb(GtkWidget *widget, gpointer data);
-+ static void recent_func_log_func(
-+ const gchar *log_domain,
-+ GLogLevelFlags log_level,
-+ const gchar *message,
-+ gpointer user_data);
-
- #if defined(FEAT_TOOLBAR)
- /*
-***************
-*** 839,844 ****
---- 844,851 ----
- GtkWidget *fc;
- #endif
- char_u dirbuf[MAXPATHL];
-+ guint log_handler;
-+ const gchar *domain = "Gtk";
-
- title = CONVERT_TO_UTF8(title);
-
-***************
-*** 853,858 ****
---- 860,870 ----
- /* If our pointer is currently hidden, then we should show it. */
- gui_mch_mousehide(FALSE);
-
-+ /* Hack: The GTK file dialog warns when it can't access a new file, this
-+ * makes it shut up. http://bugzilla.gnome.org/show_bug.cgi?id=664587 */
-+ log_handler = g_log_set_handler(domain, G_LOG_LEVEL_WARNING,
-+ recent_func_log_func, NULL);
-+
- #ifdef USE_FILE_CHOOSER
- /* We create the dialog each time, so that the button text can be "Open"
- * or "Save" according to the action. */
-***************
-*** 916,921 ****
---- 928,934 ----
- gtk_widget_show(gui.filedlg);
- gtk_main();
- #endif
-+ g_log_remove_handler(domain, log_handler);
-
- CONVERT_TO_UTF8_FREE(title);
- if (gui.browse_fname == NULL)
-***************
-*** 1882,1884 ****
---- 1895,1908 ----
- * backwards compatibility anyway. */
- do_cmdline_cmd((char_u *)"emenu ToolBar.FindHelp");
- }
-+
-+ static void
-+ recent_func_log_func(const gchar *log_domain UNUSED,
-+ GLogLevelFlags log_level UNUSED,
-+ const gchar *message UNUSED,
-+ gpointer user_data UNUSED)
-+ {
-+ /* We just want to suppress the warnings. */
-+ /* http://bugzilla.gnome.org/show_bug.cgi?id=664587 */
-+ }
-+
-*** ../vim-7.3.505/src/version.c 2012-04-25 16:50:44.000000000 +0200
---- src/version.c 2012-04-25 17:08:28.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 506,
- /**/
-
---
-Compilation process failed successfully.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.507 b/source/ap/vim/patches/7.3.507
deleted file mode 100644
index c96561c39..000000000
--- a/source/ap/vim/patches/7.3.507
+++ /dev/null
@@ -1,149 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.507
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.507
-Problem: When exiting with unsaved changes, selecting an existing file in
- the file dialog, there is no dialog to ask whether the existing
- file should be overwritten. (Felipe G. Nievinski)
-Solution: Call check_overwrite() before writing. (Christian Brabandt)
-Files: src/ex_cmds.c, src/ex_cmds2.c, src/proto/ex_cmds.pro
-
-
-*** ../vim-7.3.506/src/ex_cmds.c 2012-04-25 16:50:44.000000000 +0200
---- src/ex_cmds.c 2012-04-25 17:19:53.000000000 +0200
-***************
-*** 25,31 ****
- static int read_viminfo_up_to_marks __ARGS((vir_T *virp, int forceit, int writing));
- #endif
-
-- static int check_overwrite __ARGS((exarg_T *eap, buf_T *buf, char_u *fname, char_u *ffname, int other));
- static int check_readonly __ARGS((int *forceit, buf_T *buf));
- #ifdef FEAT_AUTOCMD
- static void delbuf_msg __ARGS((char_u *name));
---- 25,30 ----
-***************
-*** 2722,2728 ****
- * May set eap->forceit if a dialog says it's OK to overwrite.
- * Return OK if it's OK, FAIL if it is not.
- */
-! static int
- check_overwrite(eap, buf, fname, ffname, other)
- exarg_T *eap;
- buf_T *buf;
---- 2721,2727 ----
- * May set eap->forceit if a dialog says it's OK to overwrite.
- * Return OK if it's OK, FAIL if it is not.
- */
-! int
- check_overwrite(eap, buf, fname, ffname, other)
- exarg_T *eap;
- buf_T *buf;
-*** ../vim-7.3.506/src/ex_cmds2.c 2012-03-23 18:39:10.000000000 +0100
---- src/ex_cmds2.c 2012-04-25 17:24:37.000000000 +0200
-***************
-*** 1489,1494 ****
---- 1489,1495 ----
- char_u buff[DIALOG_MSG_SIZE];
- int ret;
- buf_T *buf2;
-+ exarg_T ea;
-
- dialog_msg(buff, _("Save changes to \"%s\"?"),
- (buf->b_fname != NULL) ?
-***************
-*** 1498,1510 ****
- else
- ret = vim_dialog_yesnocancel(VIM_QUESTION, NULL, buff, 1);
-
- if (ret == VIM_YES)
- {
- #ifdef FEAT_BROWSE
- /* May get file name, when there is none */
- browse_save_fname(buf);
- #endif
-! if (buf->b_fname != NULL) /* didn't hit Cancel */
- (void)buf_write_all(buf, FALSE);
- }
- else if (ret == VIM_NO)
---- 1499,1517 ----
- else
- ret = vim_dialog_yesnocancel(VIM_QUESTION, NULL, buff, 1);
-
-+ /* Init ea pseudo-structure, this is needed for the check_overwrite()
-+ * function. */
-+ ea.append = ea.forceit = FALSE;
-+
- if (ret == VIM_YES)
- {
- #ifdef FEAT_BROWSE
- /* May get file name, when there is none */
- browse_save_fname(buf);
- #endif
-! if (buf->b_fname != NULL && check_overwrite(&ea, buf,
-! buf->b_fname, buf->b_ffname, FALSE) == OK)
-! /* didn't hit Cancel */
- (void)buf_write_all(buf, FALSE);
- }
- else if (ret == VIM_NO)
-***************
-*** 1532,1538 ****
- /* May get file name, when there is none */
- browse_save_fname(buf2);
- #endif
-! if (buf2->b_fname != NULL) /* didn't hit Cancel */
- (void)buf_write_all(buf2, FALSE);
- #ifdef FEAT_AUTOCMD
- /* an autocommand may have deleted the buffer */
---- 1539,1547 ----
- /* May get file name, when there is none */
- browse_save_fname(buf2);
- #endif
-! if (buf2->b_fname != NULL && check_overwrite(&ea, buf2,
-! buf2->b_fname, buf2->b_ffname, FALSE) == OK)
-! /* didn't hit Cancel */
- (void)buf_write_all(buf2, FALSE);
- #ifdef FEAT_AUTOCMD
- /* an autocommand may have deleted the buffer */
-*** ../vim-7.3.506/src/proto/ex_cmds.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/ex_cmds.pro 2012-04-25 17:25:47.000000000 +0200
-***************
-*** 23,28 ****
---- 23,29 ----
- void ex_update __ARGS((exarg_T *eap));
- void ex_write __ARGS((exarg_T *eap));
- int do_write __ARGS((exarg_T *eap));
-+ int check_overwrite __ARGS((exarg_T *eap, buf_T *buf, char_u *fname, char_u *ffname, int other));
- void ex_wnext __ARGS((exarg_T *eap));
- void do_wqall __ARGS((exarg_T *eap));
- int not_writing __ARGS((void));
-*** ../vim-7.3.506/src/version.c 2012-04-25 17:10:12.000000000 +0200
---- src/version.c 2012-04-25 17:17:30.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 507,
- /**/
-
---
-BROTHER MAYNARD: Armaments Chapter Two Verses Nine to Twenty One.
-ANOTHER MONK: And St. Attila raised his hand grenade up on high saying "O
- Lord bless this thy hand grenade that with it thou mayest
- blow thine enemies to tiny bits, in thy mercy. "and the Lord
- did grin and people did feast upon the lambs and sloths and
- carp and anchovies and orang-utans and breakfast cereals and
- fruit bats and...
-BROTHER MAYNARD: Skip a bit brother ...
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.508 b/source/ap/vim/patches/7.3.508
deleted file mode 100644
index 7b8e7b261..000000000
--- a/source/ap/vim/patches/7.3.508
+++ /dev/null
@@ -1,85 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.508
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.508
-Problem: Default for v:register is not set.
-Solution: Init v:register in eval_init(). Correct for 'clipboard' before the
- main loop. (Ingo Karkat)
-Files: src/eval.c, src/main.c
-
-
-*** ../vim-7.3.507/src/eval.c 2012-04-25 16:50:44.000000000 +0200
---- src/eval.c 2012-04-25 17:56:41.000000000 +0200
-***************
-*** 880,885 ****
---- 880,886 ----
- hash_add(&compat_hashtab, p->vv_di.di_key);
- }
- set_vim_var_nr(VV_SEARCHFORWARD, 1L);
-+ set_reg_var(0); /* default for v:register is not 0 but '"' */
-
- #ifdef EBCDIC
- /*
-*** ../vim-7.3.507/src/main.c 2012-03-28 17:10:26.000000000 +0200
---- src/main.c 2012-04-25 18:01:28.000000000 +0200
-***************
-*** 928,933 ****
---- 928,945 ----
- TIME_MSG("VimEnter autocommands");
- #endif
-
-+ #if defined(FEAT_EVAL) && defined(FEAT_CLIPBOARD)
-+ /* Adjust default register name for "unnamed" in 'clipboard'. Can only be
-+ * done after the clipboard is available and all initial commands that may
-+ * modify the 'clipboard' setting have run; i.e. just before entering the
-+ * main loop. */
-+ {
-+ int default_regname = 0;
-+ adjust_clip_reg(&default_regname);
-+ set_reg_var(default_regname);
-+ }
-+ #endif
-+
- #if defined(FEAT_DIFF) && defined(FEAT_SCROLLBIND)
- /* When a startup script or session file setup for diff'ing and
- * scrollbind, sync the scrollbind now. */
-***************
-*** 1357,1363 ****
- {
- apply_autocmds(EVENT_BUFWINLEAVE, buf->b_fname,
- buf->b_fname, FALSE, buf);
-! buf->b_changedtick = -1; /* note that we did it already */
- /* start all over, autocommands may mess up the lists */
- next_tp = first_tabpage;
- break;
---- 1369,1375 ----
- {
- apply_autocmds(EVENT_BUFWINLEAVE, buf->b_fname,
- buf->b_fname, FALSE, buf);
-! buf->b_changedtick = -1; /* note that we did it already */
- /* start all over, autocommands may mess up the lists */
- next_tp = first_tabpage;
- break;
-*** ../vim-7.3.507/src/version.c 2012-04-25 17:32:14.000000000 +0200
---- src/version.c 2012-04-25 18:00:28.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 508,
- /**/
-
---
-I wonder, do vegetarians eat fruit bats?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.509 b/source/ap/vim/patches/7.3.509
deleted file mode 100644
index 8dfe9c09d..000000000
--- a/source/ap/vim/patches/7.3.509
+++ /dev/null
@@ -1,304 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.509
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.509
-Problem: ":vimgrep" fails when 'autochdir' is set.
-Solution: A more generic solution for changing directory. (Ben Fritz)
-Files: src/quickfix.c
-
-
-*** ../vim-7.3.508/src/quickfix.c 2012-03-07 20:13:44.000000000 +0100
---- src/quickfix.c 2012-04-25 18:52:24.000000000 +0200
-***************
-*** 130,138 ****
- static void qf_fill_buffer __ARGS((qf_info_T *qi));
- #endif
- static char_u *get_mef_name __ARGS((void));
-! static buf_T *load_dummy_buffer __ARGS((char_u *fname));
-! static void wipe_dummy_buffer __ARGS((buf_T *buf));
-! static void unload_dummy_buffer __ARGS((buf_T *buf));
- static qf_info_T *ll_get_or_alloc_list __ARGS((win_T *));
-
- /* Quickfix window check helper macro */
---- 130,139 ----
- static void qf_fill_buffer __ARGS((qf_info_T *qi));
- #endif
- static char_u *get_mef_name __ARGS((void));
-! static void restore_start_dir __ARGS((char_u *dirname_start));
-! static buf_T *load_dummy_buffer __ARGS((char_u *fname, char_u *dirname_start, char_u *resulting_dir));
-! static void wipe_dummy_buffer __ARGS((buf_T *buf, char_u *dirname_start));
-! static void unload_dummy_buffer __ARGS((buf_T *buf, char_u *dirname_start));
- static qf_info_T *ll_get_or_alloc_list __ARGS((win_T *));
-
- /* Quickfix window check helper macro */
-***************
-*** 3237,3255 ****
-
- /* Load file into a buffer, so that 'fileencoding' is detected,
- * autocommands applied, etc. */
-! buf = load_dummy_buffer(fname);
-!
-! /* When autocommands changed directory: go back. We assume it was
-! * ":lcd %:p:h". */
-! mch_dirname(dirname_now, MAXPATHL);
-! if (STRCMP(dirname_start, dirname_now) != 0)
-! {
-! exarg_T ea;
-!
-! ea.arg = dirname_start;
-! ea.cmdidx = CMD_lcd;
-! ex_cd(&ea);
-! }
-
- p_mls = save_mls;
- #if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
---- 3238,3244 ----
-
- /* Load file into a buffer, so that 'fileencoding' is detected,
- * autocommands applied, etc. */
-! buf = load_dummy_buffer(fname, dirname_start, dirname_now);
-
- p_mls = save_mls;
- #if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
-***************
-*** 3320,3326 ****
- {
- /* Never keep a dummy buffer if there is another buffer
- * with the same name. */
-! wipe_dummy_buffer(buf);
- buf = NULL;
- }
- else if (!cmdmod.hide
---- 3309,3315 ----
- {
- /* Never keep a dummy buffer if there is another buffer
- * with the same name. */
-! wipe_dummy_buffer(buf, dirname_start);
- buf = NULL;
- }
- else if (!cmdmod.hide
-***************
-*** 3336,3347 ****
- * many swap files. */
- if (!found_match)
- {
-! wipe_dummy_buffer(buf);
- buf = NULL;
- }
- else if (buf != first_match_buf || (flags & VGR_NOJUMP))
- {
-! unload_dummy_buffer(buf);
- buf = NULL;
- }
- }
---- 3325,3336 ----
- * many swap files. */
- if (!found_match)
- {
-! wipe_dummy_buffer(buf, dirname_start);
- buf = NULL;
- }
- else if (buf != first_match_buf || (flags & VGR_NOJUMP))
- {
-! unload_dummy_buffer(buf, dirname_start);
- buf = NULL;
- }
- }
-***************
-*** 3487,3499 ****
- }
-
- /*
-! * Load file "fname" into a dummy buffer and return the buffer pointer.
- * Returns NULL if it fails.
-- * Must call unload_dummy_buffer() or wipe_dummy_buffer() later!
- */
- static buf_T *
-! load_dummy_buffer(fname)
- char_u *fname;
- {
- buf_T *newbuf;
- buf_T *newbuf_to_wipe = NULL;
---- 3476,3523 ----
- }
-
- /*
-! * Restore current working directory to "dirname_start" if they differ, taking
-! * into account whether it is set locally or globally.
-! */
-! static void
-! restore_start_dir(dirname_start)
-! char_u *dirname_start;
-! {
-! char_u *dirname_now = alloc(MAXPATHL);
-!
-! if (NULL != dirname_now)
-! {
-! mch_dirname(dirname_now, MAXPATHL);
-! if (STRCMP(dirname_start, dirname_now) != 0)
-! {
-! /* If the directory has changed, change it back by building up an
-! * appropriate ex command and executing it. */
-! exarg_T ea;
-!
-! ea.arg = dirname_start;
-! ea.cmdidx = (curwin->w_localdir == NULL) ? CMD_cd : CMD_lcd;
-! ex_cd(&ea);
-! }
-! }
-! }
-!
-! /*
-! * Load file "fname" into a dummy buffer and return the buffer pointer,
-! * placing the directory resulting from the buffer load into the
-! * "resulting_dir" pointer. "resulting_dir" must be allocated by the caller
-! * prior to calling this function. Restores directory to "dirname_start" prior
-! * to returning, if autocmds or the 'autochdir' option have changed it.
-! *
-! * If creating the dummy buffer does not fail, must call unload_dummy_buffer()
-! * or wipe_dummy_buffer() later!
-! *
- * Returns NULL if it fails.
- */
- static buf_T *
-! load_dummy_buffer(fname, dirname_start, resulting_dir)
- char_u *fname;
-+ char_u *dirname_start; /* in: old directory */
-+ char_u *resulting_dir; /* out: new directory */
- {
- buf_T *newbuf;
- buf_T *newbuf_to_wipe = NULL;
-***************
-*** 3548,3569 ****
- wipe_buffer(newbuf_to_wipe, FALSE);
- }
-
- if (!buf_valid(newbuf))
- return NULL;
- if (failed)
- {
-! wipe_dummy_buffer(newbuf);
- return NULL;
- }
- return newbuf;
- }
-
- /*
-! * Wipe out the dummy buffer that load_dummy_buffer() created.
- */
- static void
-! wipe_dummy_buffer(buf)
- buf_T *buf;
- {
- if (curbuf != buf) /* safety check */
- {
---- 3572,3604 ----
- wipe_buffer(newbuf_to_wipe, FALSE);
- }
-
-+ /*
-+ * When autocommands/'autochdir' option changed directory: go back.
-+ * Let the caller know what the resulting dir was first, in case it is
-+ * important.
-+ */
-+ mch_dirname(resulting_dir, MAXPATHL);
-+ restore_start_dir(dirname_start);
-+
- if (!buf_valid(newbuf))
- return NULL;
- if (failed)
- {
-! wipe_dummy_buffer(newbuf, dirname_start);
- return NULL;
- }
- return newbuf;
- }
-
- /*
-! * Wipe out the dummy buffer that load_dummy_buffer() created. Restores
-! * directory to "dirname_start" prior to returning, if autocmds or the
-! * 'autochdir' option have changed it.
- */
- static void
-! wipe_dummy_buffer(buf, dirname_start)
- buf_T *buf;
-+ char_u *dirname_start;
- {
- if (curbuf != buf) /* safety check */
- {
-***************
-*** 3583,3600 ****
- * new aborting error, interrupt, or uncaught exception. */
- leave_cleanup(&cs);
- #endif
- }
- }
-
- /*
-! * Unload the dummy buffer that load_dummy_buffer() created.
- */
- static void
-! unload_dummy_buffer(buf)
- buf_T *buf;
- {
- if (curbuf != buf) /* safety check */
- close_buffer(NULL, buf, DOBUF_UNLOAD, FALSE);
- }
-
- #if defined(FEAT_EVAL) || defined(PROTO)
---- 3618,3645 ----
- * new aborting error, interrupt, or uncaught exception. */
- leave_cleanup(&cs);
- #endif
-+ /* When autocommands/'autochdir' option changed directory: go back. */
-+ restore_start_dir(dirname_start);
- }
- }
-
- /*
-! * Unload the dummy buffer that load_dummy_buffer() created. Restores
-! * directory to "dirname_start" prior to returning, if autocmds or the
-! * 'autochdir' option have changed it.
- */
- static void
-! unload_dummy_buffer(buf, dirname_start)
- buf_T *buf;
-+ char_u *dirname_start;
- {
- if (curbuf != buf) /* safety check */
-+ {
- close_buffer(NULL, buf, DOBUF_UNLOAD, FALSE);
-+
-+ /* When autocommands/'autochdir' option changed directory: go back. */
-+ restore_start_dir(dirname_start);
-+ }
- }
-
- #if defined(FEAT_EVAL) || defined(PROTO)
-*** ../vim-7.3.508/src/version.c 2012-04-25 18:24:24.000000000 +0200
---- src/version.c 2012-04-25 18:43:10.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 509,
- /**/
-
---
- Arthur pulls Pin out. The MONK blesses the grenade as ...
-ARTHUR: (quietly) One, two, five ...
-GALAHAD: Three, sir!
-ARTHUR: Three.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.510 b/source/ap/vim/patches/7.3.510
deleted file mode 100644
index afe104144..000000000
--- a/source/ap/vim/patches/7.3.510
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.510
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.510
-Problem: Test 77 fails on Solaris 7. (Michael Soyka)
-Solution: Replace any tabs with spaces.
-Files: src/testdir/test77.in
-
-
-*** ../vim-7.3.509/src/testdir/test77.in 2011-03-22 18:10:34.000000000 +0100
---- src/testdir/test77.in 2012-04-30 11:30:31.000000000 +0200
-***************
-*** 21,27 ****
- :while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhile
- ggdd
- :w! Xtest
-! :!cksum Xtest > test.out
- :qa!
- ENDTEST
-
---- 21,29 ----
- :while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhile
- ggdd
- :w! Xtest
-! :r !cksum Xtest
-! :s/\s/ /g
-! :.w! test.out
- :qa!
- ENDTEST
-
-*** ../vim-7.3.509/src/version.c 2012-04-25 18:57:17.000000000 +0200
---- src/version.c 2012-04-30 11:33:35.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 510,
- /**/
-
---
-SIGFUN -- signature too funny (core dumped)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.511 b/source/ap/vim/patches/7.3.511
deleted file mode 100644
index a2b6dce0f..000000000
--- a/source/ap/vim/patches/7.3.511
+++ /dev/null
@@ -1,49 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.511
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.511
-Problem: Using a FileReadCmd autocommand that does ":e! {file}" may cause a
- crash. (Christian Brabandt)
-Solution: Properly restore curwin->w_s.
-Files: src/fileio.c
-
-
-*** ../vim-7.3.510/src/fileio.c 2012-04-25 16:50:44.000000000 +0200
---- src/fileio.c 2012-04-30 17:04:22.000000000 +0200
-***************
-*** 8982,8987 ****
---- 8982,8991 ----
- && buf_valid(aco->new_curbuf)
- && aco->new_curbuf->b_ml.ml_mfp != NULL)
- {
-+ # if defined(FEAT_SYN_HL) || defined(FEAT_SPELL)
-+ if (curwin->w_s == &curbuf->b_s)
-+ curwin->w_s = &aco->new_curbuf->b_s;
-+ # endif
- --curbuf->b_nwindows;
- curbuf = aco->new_curbuf;
- curwin->w_buffer = curbuf;
-*** ../vim-7.3.510/src/version.c 2012-04-30 11:34:20.000000000 +0200
---- src/version.c 2012-04-30 17:01:05.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 511,
- /**/
-
---
-There is no right or wrong, there is only your personal opinion.
- (Bram Moolenaar)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.512 b/source/ap/vim/patches/7.3.512
deleted file mode 100644
index 838ae3e2f..000000000
--- a/source/ap/vim/patches/7.3.512
+++ /dev/null
@@ -1,70 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.512
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.512
-Problem: undofile() returns a useless name when passed an empty string.
-Solution: Return an empty string. (Christian Brabandt)
-Files: src/eval.c
-
-
-*** ../vim-7.3.511/src/eval.c 2012-04-25 18:24:24.000000000 +0200
---- src/eval.c 2012-04-30 17:23:26.000000000 +0200
-***************
-*** 18259,18269 ****
- rettv->v_type = VAR_STRING;
- #ifdef FEAT_PERSISTENT_UNDO
- {
-! char_u *ffname = FullName_save(get_tv_string(&argvars[0]), FALSE);
-
-! if (ffname != NULL)
-! rettv->vval.v_string = u_get_undo_file_name(ffname, FALSE);
-! vim_free(ffname);
- }
- #else
- rettv->vval.v_string = NULL;
---- 18259,18279 ----
- rettv->v_type = VAR_STRING;
- #ifdef FEAT_PERSISTENT_UNDO
- {
-! char_u *fname = get_tv_string(&argvars[0]);
-
-! if (*fname == NUL)
-! {
-! /* If there is no file name there will be no undo file. */
-! rettv->vval.v_string = NULL;
-! }
-! else
-! {
-! char_u *ffname = FullName_save(fname, FALSE);
-!
-! if (ffname != NULL)
-! rettv->vval.v_string = u_get_undo_file_name(ffname, FALSE);
-! vim_free(ffname);
-! }
- }
- #else
- rettv->vval.v_string = NULL;
-*** ../vim-7.3.511/src/version.c 2012-04-30 17:04:47.000000000 +0200
---- src/version.c 2012-04-30 17:24:42.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 512,
- /**/
-
---
-It is illegal for a driver to be blindfolded while operating a vehicle.
- [real standing law in Alabama, United States of America]
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.513 b/source/ap/vim/patches/7.3.513
deleted file mode 100644
index 396969f50..000000000
--- a/source/ap/vim/patches/7.3.513
+++ /dev/null
@@ -1,129 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.513
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.513
-Problem: Cannot use CTRL-E and CTRL-Y with "r".
-Solution: Make CTRL-E and CTRL-Y work like in Insert mode. (Christian
- Brabandt)
-Files: src/edit.c, src/normal.c, src/proto/edit.pro
-
-
-*** ../vim-7.3.512/src/edit.c 2012-04-05 16:07:01.000000000 +0200
---- src/edit.c 2012-04-30 17:53:47.000000000 +0200
-***************
-*** 253,259 ****
- #ifdef FEAT_DIGRAPHS
- static int ins_digraph __ARGS((void));
- #endif
-- static int ins_copychar __ARGS((linenr_T lnum));
- static int ins_ctrl_ey __ARGS((int tc));
- #ifdef FEAT_SMARTINDENT
- static void ins_try_si __ARGS((int c));
---- 253,258 ----
-***************
-*** 9899,9905 ****
- * Handle CTRL-E and CTRL-Y in Insert mode: copy char from other line.
- * Returns the char to be inserted, or NUL if none found.
- */
-! static int
- ins_copychar(lnum)
- linenr_T lnum;
- {
---- 9898,9904 ----
- * Handle CTRL-E and CTRL-Y in Insert mode: copy char from other line.
- * Returns the char to be inserted, or NUL if none found.
- */
-! int
- ins_copychar(lnum)
- linenr_T lnum;
- {
-*** ../vim-7.3.512/src/normal.c 2012-03-28 12:59:53.000000000 +0200
---- src/normal.c 2012-04-30 18:06:13.000000000 +0200
-***************
-*** 7070,7076 ****
- for (n = cap->count1; n > 0; --n)
- {
- State = REPLACE;
-! ins_char(cap->nchar);
- State = old_State;
- if (cap->ncharC1 != 0)
- ins_char(cap->ncharC1);
---- 7070,7087 ----
- for (n = cap->count1; n > 0; --n)
- {
- State = REPLACE;
-! if (cap->nchar == Ctrl_E || cap->nchar == Ctrl_Y)
-! {
-! int c = ins_copychar(curwin->w_cursor.lnum
-! + (cap->nchar == Ctrl_Y ? -1 : 1));
-! if (c != NUL)
-! ins_char(c);
-! else
-! /* will be decremented further down */
-! ++curwin->w_cursor.col;
-! }
-! else
-! ins_char(cap->nchar);
- State = old_State;
- if (cap->ncharC1 != 0)
- ins_char(cap->ncharC1);
-***************
-*** 7092,7098 ****
- * line will be changed.
- */
- ptr = ml_get_buf(curbuf, curwin->w_cursor.lnum, TRUE);
-! ptr[curwin->w_cursor.col] = cap->nchar;
- if (p_sm && msg_silent == 0)
- showmatch(cap->nchar);
- ++curwin->w_cursor.col;
---- 7103,7117 ----
- * line will be changed.
- */
- ptr = ml_get_buf(curbuf, curwin->w_cursor.lnum, TRUE);
-! if (cap->nchar == Ctrl_E || cap->nchar == Ctrl_Y)
-! {
-! int c = ins_copychar(curwin->w_cursor.lnum
-! + (cap->nchar == Ctrl_Y ? -1 : 1));
-! if (c != NUL)
-! ptr[curwin->w_cursor.col] = c;
-! }
-! else
-! ptr[curwin->w_cursor.col] = cap->nchar;
- if (p_sm && msg_silent == 0)
- showmatch(cap->nchar);
- ++curwin->w_cursor.col;
-*** ../vim-7.3.512/src/proto/edit.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/edit.pro 2012-04-30 17:54:41.000000000 +0200
-***************
-*** 39,42 ****
---- 39,43 ----
- int hkmap __ARGS((int c));
- void ins_scroll __ARGS((void));
- void ins_horscroll __ARGS((void));
-+ int ins_copychar __ARGS((linenr_T lnum));
- /* vim: set ft=c : */
-*** ../vim-7.3.512/src/version.c 2012-04-30 17:35:44.000000000 +0200
---- src/version.c 2012-04-30 18:17:52.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 513,
- /**/
-
---
-It is illegal for anyone to try and stop a child from playfully jumping over
-puddles of water.
- [real standing law in California, United States of America]
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.514 b/source/ap/vim/patches/7.3.514
deleted file mode 100644
index 79620f0e1..000000000
--- a/source/ap/vim/patches/7.3.514
+++ /dev/null
@@ -1,232 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.514
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.514
-Problem: No completion for :history command.
-Solution: Add the completion and update the docs. Also fix ":behave"
- completion. (Dominique Pelle)
-Files: runtime/doc/cmdline.txt, runtime/doc/map.txt, src/ex_docmd.c,
- src/ex_getln.c, src/vim.h
-
-
-*** ../vim-7.3.513/runtime/doc/cmdline.txt 2010-08-15 21:57:17.000000000 +0200
---- runtime/doc/cmdline.txt 2012-04-30 18:30:00.000000000 +0200
-***************
-*** 330,341 ****
-
- :his[tory] [{name}] [{first}][, [{last}]]
- List the contents of history {name} which can be:
-! c[md] or : command-line history
-! s[earch] or / search string history
-! e[xpr] or = expression register history
-! i[nput] or @ input line history
-! d[ebug] or > debug command history
-! a[ll] all of the above
- {not in Vi}
-
- If the numbers {first} and/or {last} are given, the respective
---- 330,341 ----
-
- :his[tory] [{name}] [{first}][, [{last}]]
- List the contents of history {name} which can be:
-! c[md] or : command-line history
-! s[earch] or / or ? search string history
-! e[xpr] or = expression register history
-! i[nput] or @ input line history
-! d[ebug] or > debug command history
-! a[ll] all of the above
- {not in Vi}
-
- If the numbers {first} and/or {last} are given, the respective
-*** ../vim-7.3.513/runtime/doc/map.txt 2011-07-20 16:36:35.000000000 +0200
---- runtime/doc/map.txt 2012-04-30 18:30:00.000000000 +0200
-***************
-*** 1202,1207 ****
---- 1219,1225 ----
-
- -complete=augroup autocmd groups
- -complete=buffer buffer names
-+ -complete=behave :behave suboptions
- -complete=color color schemes
- -complete=command Ex command (and arguments)
- -complete=compiler compilers
-***************
-*** 1216,1221 ****
---- 1234,1240 ----
- -complete=function function name
- -complete=help help subjects
- -complete=highlight highlight groups
-+ -complete=history :history suboptions
- -complete=locale locale names (as output of locale -a)
- -complete=mapping mapping name
- -complete=menu menus
-*** ../vim-7.3.513/src/ex_docmd.c 2012-02-12 20:13:55.000000000 +0100
---- src/ex_docmd.c 2012-04-30 18:33:27.000000000 +0200
-***************
-*** 3920,3927 ****
---- 3920,3935 ----
- #endif
- case CMD_behave:
- xp->xp_context = EXPAND_BEHAVE;
-+ xp->xp_pattern = arg;
- break;
-
-+ #if defined(FEAT_CMDHIST)
-+ case CMD_history:
-+ xp->xp_context = EXPAND_HISTORY;
-+ xp->xp_pattern = arg;
-+ break;
-+ #endif
-+
- #endif /* FEAT_CMDL_COMPL */
-
- default:
-***************
-*** 5329,5334 ****
---- 5337,5343 ----
- } command_complete[] =
- {
- {EXPAND_AUGROUP, "augroup"},
-+ {EXPAND_BEHAVE, "behave"},
- {EXPAND_BUFFERS, "buffer"},
- {EXPAND_COLORS, "color"},
- {EXPAND_COMMANDS, "command"},
-***************
-*** 5350,5357 ****
- {EXPAND_FUNCTIONS, "function"},
- {EXPAND_HELP, "help"},
- {EXPAND_HIGHLIGHT, "highlight"},
- #if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \
-! && (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE))
- {EXPAND_LOCALES, "locale"},
- #endif
- {EXPAND_MAPPINGS, "mapping"},
---- 5359,5369 ----
- {EXPAND_FUNCTIONS, "function"},
- {EXPAND_HELP, "help"},
- {EXPAND_HIGHLIGHT, "highlight"},
-+ #if defined(FEAT_CMDHIST)
-+ {EXPAND_HISTORY, "history"},
-+ #endif
- #if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \
-! && (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE))
- {EXPAND_LOCALES, "locale"},
- #endif
- {EXPAND_MAPPINGS, "mapping"},
-*** ../vim-7.3.513/src/ex_getln.c 2012-03-07 19:16:49.000000000 +0100
---- src/ex_getln.c 2012-04-30 18:36:04.000000000 +0200
-***************
-*** 25,31 ****
- int cmdlen; /* number of chars in command line */
- int cmdpos; /* current cursor position */
- int cmdspos; /* cursor column on screen */
-! int cmdfirstc; /* ':', '/', '?', '=' or NUL */
- int cmdindent; /* number of spaces before cmdline */
- char_u *cmdprompt; /* message in front of cmdline */
- int cmdattr; /* attributes for prompt */
---- 25,31 ----
- int cmdlen; /* number of chars in command line */
- int cmdpos; /* current cursor position */
- int cmdspos; /* cursor column on screen */
-! int cmdfirstc; /* ':', '/', '?', '=', '>' or NUL */
- int cmdindent; /* number of spaces before cmdline */
- char_u *cmdprompt; /* message in front of cmdline */
- int cmdattr; /* attributes for prompt */
-***************
-*** 111,116 ****
---- 111,119 ----
- #ifdef FEAT_CMDL_COMPL
- static int expand_shellcmd __ARGS((char_u *filepat, int *num_file, char_u ***file, int flagsarg));
- static int ExpandRTDir __ARGS((char_u *pat, int *num_file, char_u ***file, char *dirname[]));
-+ # ifdef FEAT_CMDHIST
-+ static char_u *get_history_arg __ARGS((expand_T *xp, int idx));
-+ # endif
- # if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL)
- static int ExpandUserDefined __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file));
- static int ExpandUserList __ARGS((expand_T *xp, int *num_file, char_u ***file));
-***************
-*** 4628,4633 ****
---- 4631,4639 ----
- {
- {EXPAND_COMMANDS, get_command_name, FALSE, TRUE},
- {EXPAND_BEHAVE, get_behave_arg, TRUE, TRUE},
-+ #ifdef FEAT_CMDHIST
-+ {EXPAND_HISTORY, get_history_arg, TRUE, TRUE},
-+ #endif
- #ifdef FEAT_USR_CMDS
- {EXPAND_USER_COMMANDS, get_user_commands, FALSE, TRUE},
- {EXPAND_USER_CMD_FLAGS, get_user_cmd_flags, FALSE, TRUE},
-***************
-*** 5245,5250 ****
---- 5251,5284 ----
- NULL
- };
-
-+ #if defined(FEAT_CMDL_COMPL) || defined(PROTO)
-+ /*
-+ * Function given to ExpandGeneric() to obtain the possible first
-+ * arguments of the ":history command.
-+ */
-+ static char_u *
-+ get_history_arg(xp, idx)
-+ expand_T *xp UNUSED;
-+ int idx;
-+ {
-+ static char_u compl[2] = { NUL, NUL };
-+ char *short_names = ":=@>?/";
-+ int short_names_count = STRLEN(short_names);
-+ int history_name_count = sizeof(history_names) / sizeof(char *) - 1;
-+
-+ if (idx < short_names_count)
-+ {
-+ compl[0] = (char_u)short_names[idx];
-+ return compl;
-+ }
-+ if (idx < short_names_count + history_name_count)
-+ return (char_u *)history_names[idx - short_names_count];
-+ if (idx == short_names_count + history_name_count)
-+ return (char_u *)"all";
-+ return NULL;
-+ }
-+ #endif
-+
- /*
- * init_history() - Initialize the command line history.
- * Also used to re-allocate the history when the size changes.
-*** ../vim-7.3.513/src/vim.h 2012-03-23 16:25:13.000000000 +0100
---- src/vim.h 2012-04-30 18:30:00.000000000 +0200
-***************
-*** 781,786 ****
---- 781,787 ----
- #define EXPAND_FILES_IN_PATH 38
- #define EXPAND_OWNSYNTAX 39
- #define EXPAND_LOCALES 40
-+ #define EXPAND_HISTORY 41
-
- /* Values for exmode_active (0 is no exmode) */
- #define EXMODE_NORMAL 1
-*** ../vim-7.3.513/src/version.c 2012-04-30 18:18:43.000000000 +0200
---- src/version.c 2012-04-30 18:36:19.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 514,
- /**/
-
---
-You can be stopped by the police for biking over 65 miles per hour.
-You are not allowed to walk across a street on your hands.
- [real standing laws in Connecticut, United States of America]
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.515 b/source/ap/vim/patches/7.3.515
deleted file mode 100644
index dad6f617f..000000000
--- a/source/ap/vim/patches/7.3.515
+++ /dev/null
@@ -1,68 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.515
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.515
-Problem: 'wildignorecase' only applies to the last part of the path.
-Solution: Also ignore case for letters earlier in the path.
-Files: src/misc1.c
-
-
-*** ../vim-7.3.514/src/misc1.c 2012-04-09 20:42:20.000000000 +0200
---- src/misc1.c 2012-04-30 21:00:18.000000000 +0200
-***************
-*** 9461,9466 ****
---- 9461,9467 ----
-
- /*
- * Find the first part in the path name that contains a wildcard.
-+ * When EW_ICASE is set every letter is considered to be a wildcard.
- * Copy it into "buf", including the preceding characters.
- */
- p = buf;
-***************
-*** 9480,9486 ****
- s = p + 1;
- }
- else if (path_end >= path + wildoff
-! && vim_strchr((char_u *)"*?[{~$", *path_end) != NULL)
- e = p;
- #ifdef FEAT_MBYTE
- if (has_mbyte)
---- 9481,9492 ----
- s = p + 1;
- }
- else if (path_end >= path + wildoff
-! && (vim_strchr((char_u *)"*?[{~$", *path_end) != NULL
-! #ifndef CASE_INSENSITIVE_FILENAME
-! || ((flags & EW_ICASE)
-! && isalpha(PTR2CHAR(path_end)))
-! #endif
-! ))
- e = p;
- #ifdef FEAT_MBYTE
- if (has_mbyte)
-*** ../vim-7.3.514/src/version.c 2012-04-30 18:48:38.000000000 +0200
---- src/version.c 2012-04-30 21:05:10.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 515,
- /**/
-
---
-If an elephant is left tied to a parking meter, the parking fee has to be paid
-just as it would for a vehicle.
- [real standing law in Florida, United States of America]
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.516 b/source/ap/vim/patches/7.3.516
deleted file mode 100644
index d43be5a09..000000000
--- a/source/ap/vim/patches/7.3.516
+++ /dev/null
@@ -1,94 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.516
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.516
-Problem: extend(o, o) may crash Vim.
-Solution: Fix crash and add test. (Thinca and Hirohito Higashi)
-Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok
-
-
-*** ../vim-7.3.515/src/eval.c 2012-04-30 17:35:44.000000000 +0200
---- src/eval.c 2012-05-18 12:02:44.000000000 +0200
-***************
-*** 10191,10197 ****
- EMSG2(_("E737: Key already exists: %s"), hi2->hi_key);
- break;
- }
-! else if (*action == 'f')
- {
- clear_tv(&di1->di_tv);
- copy_tv(&HI2DI(hi2)->di_tv, &di1->di_tv);
---- 10191,10197 ----
- EMSG2(_("E737: Key already exists: %s"), hi2->hi_key);
- break;
- }
-! else if (*action == 'f' && HI2DI(hi2) != di1)
- {
- clear_tv(&di1->di_tv);
- copy_tv(&HI2DI(hi2)->di_tv, &di1->di_tv);
-*** ../vim-7.3.515/src/testdir/test55.in 2010-11-10 20:31:24.000000000 +0100
---- src/testdir/test55.in 2012-05-18 11:57:23.000000000 +0200
-***************
-*** 352,357 ****
---- 352,375 ----
- :let dict4copy = deepcopy(dict4)
- :$put =(l == lcopy)
- :$put =(dict4 == dict4copy)
-+ :"
-+ :" Pass the same List to extend()
-+ :let l = [1, 2, 3, 4, 5]
-+ :call extend(l, l)
-+ :$put =string(l)
-+ :"
-+ :" Pass the same Dict to extend()
-+ :let d = { 'a': {'b': 'B'}}
-+ :call extend(d, d)
-+ :$put =string(d)
-+ :"
-+ :" Pass the same Dict to extend() with "error"
-+ :try
-+ : call extend(d, d, "error")
-+ :catch
-+ : $put =v:exception[:15] . v:exception[-1:-1]
-+ :endtry
-+ :$put =string(d)
- :endfun
- :"
- :call Test(1, 2, [3, 4], {5: 6}) " This may take a while
-*** ../vim-7.3.515/src/testdir/test55.ok 2010-11-10 20:31:24.000000000 +0100
---- src/testdir/test55.ok 2012-05-18 11:57:01.000000000 +0200
-***************
-*** 111,113 ****
---- 111,117 ----
- 0
- 1
- 1
-+ [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
-+ {'a': {'b': 'B'}}
-+ Vim(call):E737: a
-+ {'a': {'b': 'B'}}
-*** ../vim-7.3.515/src/version.c 2012-04-30 21:09:38.000000000 +0200
---- src/version.c 2012-05-18 12:04:54.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 516,
- /**/
-
---
-I used to wonder about the meaning of life. But I looked it
-up in the dictionary under "L" and there it was - the meaning
-of life. It was less than I expected. - Dogbert
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.517 b/source/ap/vim/patches/7.3.517
deleted file mode 100644
index 343693ba3..000000000
--- a/source/ap/vim/patches/7.3.517
+++ /dev/null
@@ -1,60 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.517
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.517
-Problem: Crash when using "vipvv". (Alexandre Provencio)
-Solution: Don't let the text length become negative.
-Files: src/ops.c
-
-
-*** ../vim-7.3.516/src/ops.c 2012-04-20 13:46:02.000000000 +0200
---- src/ops.c 2012-05-18 12:28:09.000000000 +0200
-***************
-*** 3042,3047 ****
---- 3042,3049 ----
- }
- #endif
- }
-+ if (endcol == MAXCOL)
-+ endcol = (colnr_T)STRLEN(p);
- if (startcol > endcol
- #ifdef FEAT_VIRTUALEDIT
- || is_oneChar
-***************
-*** 3050,3057 ****
- bd.textlen = 0;
- else
- {
-- if (endcol == MAXCOL)
-- endcol = (colnr_T)STRLEN(p);
- bd.textlen = endcol - startcol + oap->inclusive;
- }
- bd.textstart = p + startcol;
---- 3052,3057 ----
-*** ../vim-7.3.516/src/version.c 2012-05-18 12:06:58.000000000 +0200
---- src/version.c 2012-05-18 12:48:51.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 517,
- /**/
-
---
-BODY: I'm not dead!
-CART DRIVER: 'Ere. He says he's not dead.
-LARGE MAN: Yes he is.
-BODY: I'm not!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.518 b/source/ap/vim/patches/7.3.518
deleted file mode 100644
index 89429f0c6..000000000
--- a/source/ap/vim/patches/7.3.518
+++ /dev/null
@@ -1,57 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.518
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.518
-Problem: When 'encoding' is a double-byte encoding ":helptags" may not find
- tags correctly.
-Solution: Use vim_strbyte() instead of vim_strchr(). (Yasuhiro Matsumoto)
-Files: src/ex_cmds.c
-
-
-*** ../vim-7.3.517/src/ex_cmds.c 2012-04-25 17:32:14.000000000 +0200
---- src/ex_cmds.c 2012-05-18 16:20:20.000000000 +0200
-***************
-*** 6535,6541 ****
- p1 = vim_strchr(IObuff, '*'); /* find first '*' */
- while (p1 != NULL)
- {
-! p2 = vim_strchr(p1 + 1, '*'); /* find second '*' */
- if (p2 != NULL && p2 > p1 + 1) /* skip "*" and "**" */
- {
- for (s = p1 + 1; s < p2; ++s)
---- 6535,6544 ----
- p1 = vim_strchr(IObuff, '*'); /* find first '*' */
- while (p1 != NULL)
- {
-! /* Use vim_strbyte() instead of vim_strchr() so that when
-! * 'encoding' is dbcs it still works, don't find '*' in the
-! * second byte. */
-! p2 = vim_strbyte(p1 + 1, '*'); /* find second '*' */
- if (p2 != NULL && p2 > p1 + 1) /* skip "*" and "**" */
- {
- for (s = p1 + 1; s < p2; ++s)
-*** ../vim-7.3.517/src/version.c 2012-05-18 12:49:33.000000000 +0200
---- src/version.c 2012-05-18 16:23:50.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 518,
- /**/
-
---
-If all you have is a hammer, everything looks like a nail.
-When your hammer is C++, everything begins to look like a thumb.
- -- Steve Hoflich, comp.lang.c++
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.519 b/source/ap/vim/patches/7.3.519
deleted file mode 100644
index 846cea6b5..000000000
--- a/source/ap/vim/patches/7.3.519
+++ /dev/null
@@ -1,64 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.519
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.519
-Problem: When completefunction returns it cannot indicate end of completion
- mode.
-Solution: Recognize completefunction returning -3. (Mtsushita Shougo)
-Files: src/edit.c
-
-
-*** ../vim-7.3.518/src/edit.c 2012-04-30 18:18:43.000000000 +0200
---- src/edit.c 2012-05-18 16:35:06.000000000 +0200
-***************
-*** 5205,5213 ****
- }
-
- /* Return value -2 means the user complete function wants to
-! * cancel the complete without an error. */
- if (col == -2)
- return FAIL;
-
- /*
- * Reset extended parameters of completion, when start new
---- 5205,5221 ----
- }
-
- /* Return value -2 means the user complete function wants to
-! * cancel the complete without an error.
-! * Return value -3 does the same as -2 and leaves CTRL-X mode.*/
- if (col == -2)
- return FAIL;
-+ if (col == -3)
-+ {
-+ ctrl_x_mode = 0;
-+ edit_submode = NULL;
-+ msg_clr_cmdline();
-+ return FAIL;
-+ }
-
- /*
- * Reset extended parameters of completion, when start new
-*** ../vim-7.3.518/src/version.c 2012-05-18 16:24:06.000000000 +0200
---- src/version.c 2012-05-18 16:34:27.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 519,
- /**/
-
---
-Looking at Perl through Lisp glasses, Perl looks atrocious.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.520 b/source/ap/vim/patches/7.3.520
deleted file mode 100644
index 9e2da8d7b..000000000
--- a/source/ap/vim/patches/7.3.520
+++ /dev/null
@@ -1,140 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.520
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.520
-Problem: Gvim starts up slow on Unbuntu 12.04.
-Solution: Move the call to gui_mch_init_check() to after fork(). (Yasuhiro
- Matsumoto) Do check $DISPLAY being set.
-Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro
-
-
-*** ../vim-7.3.519/src/gui.c 2011-10-20 21:27:57.000000000 +0200
---- src/gui.c 2012-05-18 16:53:14.000000000 +0200
-***************
-*** 270,275 ****
---- 270,281 ----
- }
- /* Child */
-
-+ #ifdef FEAT_GUI_GTK
-+ /* Call gtk_init_check() here after fork(). See gui_init_check(). */
-+ if (gui_mch_init_check() != OK)
-+ exit(1);
-+ #endif
-+
- # if defined(HAVE_SETSID) || defined(HAVE_SETPGID)
- /*
- * Change our process group. On some systems/shells a CTRL-C in the
-***************
-*** 430,436 ****
---- 436,452 ----
- #ifdef ALWAYS_USE_GUI
- result = OK;
- #else
-+ # ifdef FEAT_GUI_GTK
-+ /*
-+ * Note: Don't call gtk_init_check() before fork, it will be called after
-+ * the fork. When calling it before fork, it make vim hang for a while.
-+ * See gui_do_fork().
-+ * Use a simpler check if the GUI window can probably be opened.
-+ */
-+ result = gui.dofork ? gui_mch_early_init_check() : gui_mch_init_check();
-+ # else
- result = gui_mch_init_check();
-+ # endif
- #endif
- return result;
- }
-*** ../vim-7.3.519/src/gui_gtk_x11.c 2011-10-26 11:36:21.000000000 +0200
---- src/gui_gtk_x11.c 2012-05-18 17:00:45.000000000 +0200
-***************
-*** 1414,1420 ****
- }
-
- /*
-! * Check if the GUI can be started. Called before gvimrc is sourced.
- * Return OK or FAIL.
- */
- int
---- 1414,1442 ----
- }
-
- /*
-! * Check if the GUI can be started. Called before gvimrc is sourced and
-! * before fork().
-! * Return OK or FAIL.
-! */
-! int
-! gui_mch_early_init_check(void)
-! {
-! char_u *p;
-!
-! /* Guess that when $DISPLAY isn't set the GUI can't start. */
-! p = mch_getenv((char_u *)"DISPLAY");
-! if (p == NULL || *p == NUL)
-! {
-! gui.dying = TRUE;
-! EMSG(_((char *)e_opendisp));
-! return FAIL;
-! }
-! return OK;
-! }
-!
-! /*
-! * Check if the GUI can be started. Called before gvimrc is sourced but after
-! * fork().
- * Return OK or FAIL.
- */
- int
-***************
-*** 3050,3056 ****
-
- for (i = 0; i < (int)N_SELECTION_TARGETS; ++i)
- {
-! /* OpenOffice tries to use TARGET_HTML and fails when it doesn't
- * return something, instead of trying another target. Therefore only
- * offer TARGET_HTML when it works. */
- if (!clip_html && selection_targets[i].info == TARGET_HTML)
---- 3072,3078 ----
-
- for (i = 0; i < (int)N_SELECTION_TARGETS; ++i)
- {
-! /* OpenOffice tries to use TARGET_HTML and fails when we don't
- * return something, instead of trying another target. Therefore only
- * offer TARGET_HTML when it works. */
- if (!clip_html && selection_targets[i].info == TARGET_HTML)
-*** ../vim-7.3.519/src/proto/gui_gtk_x11.pro 2011-08-10 17:44:41.000000000 +0200
---- src/proto/gui_gtk_x11.pro 2012-05-18 16:54:28.000000000 +0200
-***************
-*** 4,9 ****
---- 4,10 ----
- void gui_mch_set_blinking __ARGS((long waittime, long on, long off));
- void gui_mch_stop_blink __ARGS((void));
- void gui_mch_start_blink __ARGS((void));
-+ int gui_mch_early_init_check __ARGS((void));
- int gui_mch_init_check __ARGS((void));
- void gui_mch_show_tabline __ARGS((int showit));
- int gui_mch_showing_tabline __ARGS((void));
-*** ../vim-7.3.519/src/version.c 2012-05-18 16:35:17.000000000 +0200
---- src/version.c 2012-05-18 16:45:30.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 520,
- /**/
-
---
-Bad programs can be written in any language.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.521 b/source/ap/vim/patches/7.3.521
deleted file mode 100644
index efe7122b9..000000000
--- a/source/ap/vim/patches/7.3.521
+++ /dev/null
@@ -1,129 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.521
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.521
-Problem: Using "z=" on a multi-byte character may cause a crash.
-Solution: Don't use strlen() on an int pointer.
-Files: src/spell.c
-
-
-*** ../vim-7.3.520/src/spell.c 2012-01-10 22:26:12.000000000 +0100
---- src/spell.c 2012-05-18 18:01:58.000000000 +0200
-***************
-*** 14494,14506 ****
- int p0 = -333;
- int c0;
- int did_white = FALSE;
-
- /*
- * Convert the multi-byte string to a wide-character string.
- * Remove accents, if wanted. We actually remove all non-word characters.
- * But keep white space.
- */
-! n = 0;
- for (s = inword; *s != NUL; )
- {
- t = s;
---- 14494,14508 ----
- int p0 = -333;
- int c0;
- int did_white = FALSE;
-+ int wordlen;
-+
-
- /*
- * Convert the multi-byte string to a wide-character string.
- * Remove accents, if wanted. We actually remove all non-word characters.
- * But keep white space.
- */
-! wordlen = 0;
- for (s = inword; *s != NUL; )
- {
- t = s;
-***************
-*** 14521,14532 ****
- continue;
- }
- }
-! word[n++] = c;
- }
-! word[n] = NUL;
-
- /*
-! * This comes from Aspell phonet.cpp.
- * Converted from C++ to C. Added support for multi-byte chars.
- * Changed to keep spaces.
- */
---- 14523,14534 ----
- continue;
- }
- }
-! word[wordlen++] = c;
- }
-! word[wordlen] = NUL;
-
- /*
-! * This algorithm comes from Aspell phonet.cpp.
- * Converted from C++ to C. Added support for multi-byte chars.
- * Changed to keep spaces.
- */
-***************
-*** 14711,14717 ****
- }
- if (k > k0)
- mch_memmove(word + i + k0, word + i + k,
-! sizeof(int) * (STRLEN(word + i + k) + 1));
-
- /* new "actual letter" */
- c = word[i];
---- 14713,14719 ----
- }
- if (k > k0)
- mch_memmove(word + i + k0, word + i + k,
-! sizeof(int) * (wordlen - (i + k) + 1));
-
- /* new "actual letter" */
- c = word[i];
-***************
-*** 14739,14745 ****
- if (c != NUL)
- wres[reslen++] = c;
- mch_memmove(word, word + i + 1,
-! sizeof(int) * (STRLEN(word + i + 1) + 1));
- i = 0;
- z0 = 1;
- }
---- 14741,14747 ----
- if (c != NUL)
- wres[reslen++] = c;
- mch_memmove(word, word + i + 1,
-! sizeof(int) * (wordlen - (i + 1) + 1));
- i = 0;
- z0 = 1;
- }
-*** ../vim-7.3.520/src/version.c 2012-05-18 17:03:14.000000000 +0200
---- src/version.c 2012-05-18 18:06:29.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 521,
- /**/
-
---
-OLD WOMAN: King of the WHO?
-ARTHUR: The Britons.
-OLD WOMAN: Who are the Britons?
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.522 b/source/ap/vim/patches/7.3.522
deleted file mode 100644
index 2f4d17ce7..000000000
--- a/source/ap/vim/patches/7.3.522
+++ /dev/null
@@ -1,56 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.522
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.522
-Problem: Crash in vim_realloc() when using MEM_PROFILE.
-Solution: Avoid using a NULL argument. (Dominique Pelle)
-Files: src/eval.c
-
-
-*** ../vim-7.3.521/src/eval.c 2012-05-18 12:06:58.000000000 +0200
---- src/eval.c 2012-05-18 18:19:25.000000000 +0200
-***************
-*** 14643,14649 ****
- long growmin = (long)((p - start) * 2 + prevlen);
- prevsize = grow50pc > growmin ? grow50pc : growmin;
- }
-! if ((newprev = vim_realloc(prev, prevsize)) == NULL)
- {
- do_outofmem_msg((long_u)prevsize);
- failed = TRUE;
---- 14643,14651 ----
- long growmin = (long)((p - start) * 2 + prevlen);
- prevsize = grow50pc > growmin ? grow50pc : growmin;
- }
-! newprev = prev == NULL ? alloc(prevsize)
-! : vim_realloc(prev, prevsize);
-! if (newprev == NULL)
- {
- do_outofmem_msg((long_u)prevsize);
- failed = TRUE;
-*** ../vim-7.3.521/src/version.c 2012-05-18 18:07:57.000000000 +0200
---- src/version.c 2012-05-18 18:33:36.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 522,
- /**/
-
---
-ARTHUR: ... and I am your king ....
-OLD WOMAN: Ooooh! I didn't know we had a king. I thought we were an
- autonomous collective ...
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.523 b/source/ap/vim/patches/7.3.523
deleted file mode 100644
index 7eec3ea2f..000000000
--- a/source/ap/vim/patches/7.3.523
+++ /dev/null
@@ -1,103 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.523
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.523
-Problem: ":diffupdate" doesn't check for files changed elsewhere.
-Solution: Add the ! flag. (Christian Brabandt)
-Files: runtime/doc/diff.txt, src/diff.c, src/ex_cmds.h
-
-
-*** ../vim-7.3.522/runtime/doc/diff.txt 2010-08-15 21:57:16.000000000 +0200
---- runtime/doc/diff.txt 2012-05-18 18:41:49.000000000 +0200
-***************
-*** 178,184 ****
- nodiff" before hiding it.
-
- *:diffu* *:diffupdate*
-! :diffu[pdate] Update the diff highlighting and folds.
-
- Vim attempts to keep the differences updated when you make changes to the
- text. This mostly takes care of inserted and deleted lines. Changes within a
---- 178,184 ----
- nodiff" before hiding it.
-
- *:diffu* *:diffupdate*
-! :diffu[pdate][!] Update the diff highlighting and folds.
-
- Vim attempts to keep the differences updated when you make changes to the
- text. This mostly takes care of inserted and deleted lines. Changes within a
-***************
-*** 187,192 ****
---- 187,195 ----
-
- :diffupdate
-
-+ If the ! is included Vim will check if the file was changed externally and
-+ needs to be reloaded. It will prompt for each changed file, like `:checktime`
-+ was used.
-
- Vim will show filler lines for lines that are missing in one window but are
- present in another. These lines were inserted in another file or deleted in
-*** ../vim-7.3.522/src/diff.c 2010-09-21 16:56:29.000000000 +0200
---- src/diff.c 2012-05-18 18:45:09.000000000 +0200
-***************
-*** 783,788 ****
---- 783,797 ----
- goto theend;
- }
-
-+ /* :diffupdate! */
-+ if (eap != NULL && eap->forceit)
-+ for (idx_new = idx_orig; idx_new < DB_COUNT; ++idx_new)
-+ {
-+ buf = curtab->tp_diffbuf[idx_new];
-+ if (buf_valid(buf))
-+ buf_check_timestamp(buf, FALSE);
-+ }
-+
- /* Write the first buffer to a tempfile. */
- buf = curtab->tp_diffbuf[idx_orig];
- if (diff_write(buf, tmp_orig) == FAIL)
-*** ../vim-7.3.522/src/ex_cmds.h 2012-02-13 00:01:38.000000000 +0100
---- src/ex_cmds.h 2012-05-18 18:37:56.000000000 +0200
-***************
-*** 304,310 ****
- EX(CMD_display, "display", ex_display,
- EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_diffupdate, "diffupdate", ex_diffupdate,
-! TRLBAR),
- EX(CMD_diffget, "diffget", ex_diffgetput,
- RANGE|EXTRA|TRLBAR|MODIFY),
- EX(CMD_diffoff, "diffoff", ex_diffoff,
---- 304,310 ----
- EX(CMD_display, "display", ex_display,
- EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_diffupdate, "diffupdate", ex_diffupdate,
-! BANG|TRLBAR),
- EX(CMD_diffget, "diffget", ex_diffgetput,
- RANGE|EXTRA|TRLBAR|MODIFY),
- EX(CMD_diffoff, "diffoff", ex_diffoff,
-*** ../vim-7.3.522/src/version.c 2012-05-18 18:34:15.000000000 +0200
---- src/version.c 2012-05-18 18:39:13.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 523
- /**/
-
---
-"The future's already arrived - it's just not evenly distributed yet."
- -- William Gibson
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.524 b/source/ap/vim/patches/7.3.524
deleted file mode 100644
index 80d7baf66..000000000
--- a/source/ap/vim/patches/7.3.524
+++ /dev/null
@@ -1,46 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.524
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.524 (after 7.3.523)
-Problem: Missing comma.
-Solution: Add the comma.
-Files: src/version.c
-
-
-*** ../vim-7.3.523/src/version.c 2012-05-18 18:47:11.000000000 +0200
---- src/version.c 2012-05-18 21:52:26.000000000 +0200
-***************
-*** 715,721 ****
- static int included_patches[] =
- { /* Add new patch number below this line */
- /**/
-! 523
- /**/
- 522,
- /**/
---- 715,723 ----
- static int included_patches[] =
- { /* Add new patch number below this line */
- /**/
-! 524,
-! /**/
-! 523,
- /**/
- 522,
- /**/
-
---
-DENNIS: You can't expect to wield supreme executive power just 'cause some
- watery tart threw a sword at you!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.525 b/source/ap/vim/patches/7.3.525
deleted file mode 100644
index c9741cbfc..000000000
--- a/source/ap/vim/patches/7.3.525
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.525
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.525
-Problem: Compiler warning on 64 bit MS-Windows.
-Solution: Add type cast. (Mike Williams)
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.524/src/ex_getln.c 2012-04-30 18:48:38.000000000 +0200
---- src/ex_getln.c 2012-05-23 20:33:16.000000000 +0200
-***************
-*** 5263,5269 ****
- {
- static char_u compl[2] = { NUL, NUL };
- char *short_names = ":=@>?/";
-! int short_names_count = STRLEN(short_names);
- int history_name_count = sizeof(history_names) / sizeof(char *) - 1;
-
- if (idx < short_names_count)
---- 5263,5269 ----
- {
- static char_u compl[2] = { NUL, NUL };
- char *short_names = ":=@>?/";
-! int short_names_count = (int)STRLEN(short_names);
- int history_name_count = sizeof(history_names) / sizeof(char *) - 1;
-
- if (idx < short_names_count)
-*** ../vim-7.3.524/src/version.c 2012-05-18 21:53:29.000000000 +0200
---- src/version.c 2012-05-25 11:01:51.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 525,
- /**/
-
---
-For humans, honesty is a matter of degree. Engineers are always honest in
-matters of technology and human relationships. That's why it's a good idea
-to keep engineers away from customers, romantic interests, and other people
-who can't handle the truth.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.526 b/source/ap/vim/patches/7.3.526
deleted file mode 100644
index 036d401fd..000000000
--- a/source/ap/vim/patches/7.3.526
+++ /dev/null
@@ -1,59 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.526
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.526
-Problem: Confusing indenting for #ifdef.
-Solution: Remove and add indent. (Elias Diem)
-Files: src/normal.c
-
-
-*** ../vim-7.3.525/src/normal.c 2012-04-30 18:18:43.000000000 +0200
---- src/normal.c 2012-05-23 20:35:13.000000000 +0200
-***************
-*** 29,37 ****
- static void set_vcount_ca __ARGS((cmdarg_T *cap, int *set_prevcount));
- #endif
- static int
-! # ifdef __BORLANDC__
-! _RTLENTRYF
-! # endif
- nv_compare __ARGS((const void *s1, const void *s2));
- static int find_command __ARGS((int cmdchar));
- static void op_colon __ARGS((oparg_T *oap));
---- 29,37 ----
- static void set_vcount_ca __ARGS((cmdarg_T *cap, int *set_prevcount));
- #endif
- static int
-! #ifdef __BORLANDC__
-! _RTLENTRYF
-! #endif
- nv_compare __ARGS((const void *s1, const void *s2));
- static int find_command __ARGS((int cmdchar));
- static void op_colon __ARGS((oparg_T *oap));
-*** ../vim-7.3.525/src/version.c 2012-05-25 11:02:34.000000000 +0200
---- src/version.c 2012-05-25 11:03:37.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 526,
- /**/
-
---
-While it's true that many normal people whould prefer not to _date_ an
-engineer, most normal people harbor an intense desire to _mate_ with them,
-thus producing engineerlike children who will have high-paying jobs long
-before losing their virginity.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.527 b/source/ap/vim/patches/7.3.527
deleted file mode 100644
index 0c6af2b0d..000000000
--- a/source/ap/vim/patches/7.3.527
+++ /dev/null
@@ -1,59 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.527
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=latin1
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.527
-Problem: Clang complains about non-ASCII characters in a string.
-Solution: Change to \x88 form. (Dominique Pelle)
-Files: src/charset.c
-
-
-*** ../vim-7.3.526/src/charset.c 2012-01-26 13:40:04.000000000 +0100
---- src/charset.c 2012-05-25 11:49:58.000000000 +0200
-***************
-*** 1602,1611 ****
- #define LATIN1LOWER 'l'
- #define LATIN1UPPER 'U'
-
-- /* !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]%_'abcdefghijklmnopqrstuvwxyz{|}~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ */
- static char_u latin1flags[257] = " UUUUUUUUUUUUUUUUUUUUUUUUUU llllllllllllllllllllllllll UUUUUUUUUUUUUUUUUUUUUUU UUUUUUUllllllllllllllllllllllll llllllll";
-! static char_u latin1upper[257] = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ÷ØÙÚÛÜÝÞÿ";
-! static char_u latin1lower[257] = " !\"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿àáâãäåæçèéêëìíîïðñòóôõö×øùúûüýþßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ";
-
- int
- vim_islower(c)
---- 1602,1610 ----
- #define LATIN1LOWER 'l'
- #define LATIN1UPPER 'U'
-
- static char_u latin1flags[257] = " UUUUUUUUUUUUUUUUUUUUUUUUUU llllllllllllllllllllllllll UUUUUUUUUUUUUUUUUUUUUUU UUUUUUUllllllllllllllllllllllll llllllll";
-! static char_u latin1upper[257] = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xf7\xd8\xd9\xda\xdb\xdc\xdd\xde\xff";
-! static char_u latin1lower[257] = " !\"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xd7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff";
-
- int
- vim_islower(c)
-*** ../vim-7.3.526/src/version.c 2012-05-25 11:04:34.000000000 +0200
---- src/version.c 2012-05-25 11:52:06.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 527,
- /**/
-
---
-An alien life briefly visits earth. Just before departing it leaves a
-message in the dust on the back of a white van. The world is shocked
-and wants to know what it means. After months of studies the worlds
-best linguistic scientists are able to decipher the message: "Wash me!".
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.528 b/source/ap/vim/patches/7.3.528
deleted file mode 100644
index 41084ad4f..000000000
--- a/source/ap/vim/patches/7.3.528
+++ /dev/null
@@ -1,171 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.528
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.528
-Problem: Crash when closing last window in a tab. (Alex Efros)
-Solution: Use common code in close_last_window_tabpage(). (Christian
- Brabandt)
-Files: src/window.c
-
-
-*** ../vim-7.3.527/src/window.c 2012-03-16 19:07:54.000000000 +0100
---- src/window.c 2012-05-25 12:25:16.000000000 +0200
-***************
-*** 23,28 ****
---- 23,29 ----
- static void win_totop __ARGS((int size, int flags));
- static void win_equal_rec __ARGS((win_T *next_curwin, int current, frame_T *topfr, int dir, int col, int row, int width, int height));
- static int last_window __ARGS((void));
-+ static int close_last_window_tabpage __ARGS((win_T *win, int free_buf, tabpage_T *prev_curtab));
- static win_T *win_free_mem __ARGS((win_T *win, int *dirp, tabpage_T *tp));
- static frame_T *win_altframe __ARGS((win_T *win, tabpage_T *tp));
- static tabpage_T *alt_tabpage __ARGS((void));
-***************
-*** 2105,2110 ****
---- 2106,2147 ----
- }
-
- /*
-+ * Close the possibly last window in a tab page.
-+ * Returns TRUE when the window was closed already.
-+ */
-+ static int
-+ close_last_window_tabpage(win, free_buf, prev_curtab)
-+ win_T *win;
-+ int free_buf;
-+ tabpage_T *prev_curtab;
-+ {
-+ if (firstwin == lastwin)
-+ {
-+ /*
-+ * Closing the last window in a tab page. First go to another tab
-+ * page and then close the window and the tab page. This avoids that
-+ * curwin and curtab are invalid while we are freeing memory, they may
-+ * be used in GUI events.
-+ */
-+ goto_tabpage_tp(alt_tabpage());
-+ redraw_tabline = TRUE;
-+
-+ /* Safety check: Autocommands may have closed the window when jumping
-+ * to the other tab page. */
-+ if (valid_tabpage(prev_curtab) && prev_curtab->tp_firstwin == win)
-+ {
-+ int h = tabline_height();
-+
-+ win_close_othertab(win, free_buf, prev_curtab);
-+ if (h != tabline_height())
-+ shell_new_rows();
-+ }
-+ return TRUE;
-+ }
-+ return FALSE;
-+ }
-+
-+ /*
- * Close window "win". Only works for the current tab page.
- * If "free_buf" is TRUE related buffer may be unloaded.
- *
-***************
-*** 2143,2171 ****
- }
- #endif
-
-! /*
-! * When closing the last window in a tab page first go to another tab
-! * page and then close the window and the tab page. This avoids that
-! * curwin and curtab are not invalid while we are freeing memory, they may
-! * be used in GUI events.
-! */
-! if (firstwin == lastwin)
-! {
-! goto_tabpage_tp(alt_tabpage());
-! redraw_tabline = TRUE;
-!
-! /* Safety check: Autocommands may have closed the window when jumping
-! * to the other tab page. */
-! if (valid_tabpage(prev_curtab) && prev_curtab->tp_firstwin == win)
-! {
-! int h = tabline_height();
-!
-! win_close_othertab(win, free_buf, prev_curtab);
-! if (h != tabline_height())
-! shell_new_rows();
-! }
-! return;
-! }
-
- /* When closing the help window, try restoring a snapshot after closing
- * the window. Otherwise clear the snapshot, it's now invalid. */
---- 2180,2190 ----
- }
- #endif
-
-! /* When closing the last window in a tab page first go to another tab page
-! * and then close the window and the tab page to avoid that curwin and
-! * curtab are invalid while we are freeing memory. */
-! if (close_last_window_tabpage(win, free_buf, prev_curtab))
-! return;
-
- /* When closing the help window, try restoring a snapshot after closing
- * the window. Otherwise clear the snapshot, it's now invalid. */
-***************
-*** 2225,2231 ****
-
- /* Autocommands may have closed the window already, or closed the only
- * other window or moved to another tab page. */
-! if (!win_valid(win) || last_window() || curtab != prev_curtab)
- return;
-
- /* Free the memory used for the window and get the window that received
---- 2244,2251 ----
-
- /* Autocommands may have closed the window already, or closed the only
- * other window or moved to another tab page. */
-! if (!win_valid(win) || last_window() || curtab != prev_curtab
-! || close_last_window_tabpage(win, free_buf, prev_curtab))
- return;
-
- /* Free the memory used for the window and get the window that received
-***************
-*** 2310,2316 ****
-
- /*
- * Close window "win" in tab page "tp", which is not the current tab page.
-! * This may be the last window ih that tab page and result in closing the tab,
- * thus "tp" may become invalid!
- * Caller must check if buffer is hidden and whether the tabline needs to be
- * updated.
---- 2330,2336 ----
-
- /*
- * Close window "win" in tab page "tp", which is not the current tab page.
-! * This may be the last window in that tab page and result in closing the tab,
- * thus "tp" may become invalid!
- * Caller must check if buffer is hidden and whether the tabline needs to be
- * updated.
-*** ../vim-7.3.527/src/version.c 2012-05-25 11:56:06.000000000 +0200
---- src/version.c 2012-05-25 12:38:25.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 528,
- /**/
-
---
-For society, it's probably a good thing that engineers value function over
-appearance. For example, you wouldn't want engineers to build nuclear power
-plants that only _look_ like they would keep all the radiation inside.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.529 b/source/ap/vim/patches/7.3.529
deleted file mode 100644
index 386baf1fe..000000000
--- a/source/ap/vim/patches/7.3.529
+++ /dev/null
@@ -1,81 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.529
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.529
-Problem: Using a count before "v" and "V" does not work (Kikyous)
-Solution: Make the count select that many characters or lines. (Christian
- Brabandt)
-Files: src/normal.c
-
-
-*** ../vim-7.3.528/src/normal.c 2012-05-25 11:04:34.000000000 +0200
---- src/normal.c 2012-05-25 13:12:06.000000000 +0200
-***************
-*** 7660,7672 ****
- else /* start Visual mode */
- {
- check_visual_highlight();
-! if (cap->count0) /* use previously selected part */
- {
-! if (resel_VIsual_mode == NUL) /* there is none */
-! {
-! beep_flush();
-! return;
-! }
- VIsual = curwin->w_cursor;
-
- VIsual_active = TRUE;
---- 7660,7668 ----
- else /* start Visual mode */
- {
- check_visual_highlight();
-! if (cap->count0 > 0 && resel_VIsual_mode != NUL)
- {
-! /* use previously selected part */
- VIsual = curwin->w_cursor;
-
- VIsual_active = TRUE;
-***************
-*** 7725,7730 ****
---- 7721,7736 ----
- /* start Select mode when 'selectmode' contains "cmd" */
- may_start_select('c');
- n_start_visual_mode(cap->cmdchar);
-+ if (VIsual_mode != 'V' && *p_sel == 'e')
-+ ++cap->count1; /* include one more char */
-+ if (cap->count0 > 0 && --cap->count1 > 0)
-+ {
-+ /* With a count select that many characters or lines. */
-+ if (VIsual_mode == 'v' || VIsual_mode == Ctrl_V)
-+ nv_right(cap);
-+ else if (VIsual_mode == 'V')
-+ nv_down(cap);
-+ }
- }
- }
- }
-*** ../vim-7.3.528/src/version.c 2012-05-25 12:38:57.000000000 +0200
---- src/version.c 2012-05-25 12:59:58.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 529,
- /**/
-
---
-Normal people believe that if it ain't broke, don't fix it. Engineers believe
-that if it ain't broke, it doesn't have enough features yet.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.530 b/source/ap/vim/patches/7.3.530
deleted file mode 100644
index 216117ca2..000000000
--- a/source/ap/vim/patches/7.3.530
+++ /dev/null
@@ -1,50 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.530
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.530 (after 7.3.520)
-Problem: Gvim does not work when 'guioptions' includes "f". (Davido)
-Solution: Call gui_mch_init_check() when running GUI in the foreground.
- (Yasuhiro Matsumoto)
-Files: src/gui.c
-
-
-*** ../vim-7.3.529/src/gui.c 2012-05-18 17:03:13.000000000 +0200
---- src/gui.c 2012-05-25 14:01:26.000000000 +0200
-***************
-*** 102,107 ****
---- 102,111 ----
- else
- #endif
- {
-+ /* If there is 'f' in 'guioptions' and specify -g argument,
-+ * gui_mch_init_check() was not called yet. */
-+ if (gui_mch_init_check() != OK)
-+ exit(1);
- gui_attempt_start();
- }
-
-*** ../vim-7.3.529/src/version.c 2012-05-25 13:12:33.000000000 +0200
---- src/version.c 2012-05-25 14:05:46.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 530,
- /**/
-
---
-I think that you'll agree that engineers are very effective in their social
-interactions. It's the "normal" people who are nuts.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.531 b/source/ap/vim/patches/7.3.531
deleted file mode 100644
index 652bdb739..000000000
--- a/source/ap/vim/patches/7.3.531
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.531
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.531 (after 7.3.530)
-Problem: GUI does not work on MS-Windows.
-Solution: Add the missing #ifdef. (Patrick Avery)
-Files: src/gui.c
-
-
-*** ../vim-7.3.530/src/gui.c 2012-05-25 14:06:18.000000000 +0200
---- src/gui.c 2012-05-27 00:34:51.000000000 +0200
-***************
-*** 102,111 ****
---- 102,113 ----
- else
- #endif
- {
-+ #ifdef FEAT_GUI_GTK
- /* If there is 'f' in 'guioptions' and specify -g argument,
- * gui_mch_init_check() was not called yet. */
- if (gui_mch_init_check() != OK)
- exit(1);
-+ #endif
- gui_attempt_start();
- }
-
-*** ../vim-7.3.530/src/version.c 2012-05-25 14:06:18.000000000 +0200
---- src/version.c 2012-05-27 00:37:33.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 531,
- /**/
-
---
-I learned the customs and mannerisms of engineers by observing them, much the
-way Jane Goodall learned about the great apes, but without the hassle of
-grooming.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.532 b/source/ap/vim/patches/7.3.532
deleted file mode 100644
index 071cab345..000000000
--- a/source/ap/vim/patches/7.3.532
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.532
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.532
-Problem: Compiler warning from Clang.
-Solution: Use a different way to point inside a string. (Dominique Pelle)
-Files: src/syntax.c
-
-
-*** ../vim-7.3.531/src/syntax.c 2012-03-23 16:25:13.000000000 +0100
---- src/syntax.c 2012-06-01 13:13:58.000000000 +0200
-***************
-*** 9476,9482 ****
- int cnt;
- int attr;
- {
-! msg_puts_attr((char_u *)("N \bI \b! \b" + cnt / 11), attr);
- msg_clr_eos();
- out_flush();
- ui_delay(cnt == 99 ? 40L : (long)cnt * 50L, FALSE);
---- 9476,9482 ----
- int cnt;
- int attr;
- {
-! msg_puts_attr((char_u *)&("N \bI \b! \b"[cnt / 11]), attr);
- msg_clr_eos();
- out_flush();
- ui_delay(cnt == 99 ? 40L : (long)cnt * 50L, FALSE);
-*** ../vim-7.3.531/src/version.c 2012-05-27 00:37:45.000000000 +0200
---- src/version.c 2012-06-01 13:14:51.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 532,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-8. You spend half of the plane trip with your laptop on your lap...and your
- child in the overhead compartment.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.533 b/source/ap/vim/patches/7.3.533
deleted file mode 100644
index 1d71c8d18..000000000
--- a/source/ap/vim/patches/7.3.533
+++ /dev/null
@@ -1,46 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.533
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.533
-Problem: Memory leak when writing undo file.
-Solution: Free the ACL. (Dominique Pelle)
-Files: src/undo.c
-
-
-*** ../vim-7.3.532/src/undo.c 2011-12-08 15:14:04.000000000 +0100
---- src/undo.c 2012-06-01 13:38:42.000000000 +0200
-***************
-*** 1535,1540 ****
---- 1535,1541 ----
- /* For systems that support ACL: get the ACL from the original file. */
- acl = mch_get_acl(buf->b_ffname);
- mch_set_acl(file_name, acl);
-+ mch_free_acl(acl);
- }
- #endif
-
-*** ../vim-7.3.532/src/version.c 2012-06-01 13:18:48.000000000 +0200
---- src/version.c 2012-06-01 13:39:16.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 533,
- /**/
-
---
-"How is your new girlfriend?"
-"90-60-90 man!"
-"What, pale purple?"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.534 b/source/ap/vim/patches/7.3.534
deleted file mode 100644
index 618d6e4e1..000000000
--- a/source/ap/vim/patches/7.3.534
+++ /dev/null
@@ -1,101 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.534
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.534 (after 7.3.461)
-Problem: When using an InsertCharPre autocommand autoindent fails.
-Solution: Proper handling of v:char. (Alexey Radkov)
-Files: src/edit.c
-
-
-*** ../vim-7.3.533/src/edit.c 2012-05-18 16:35:17.000000000 +0200
---- src/edit.c 2012-06-01 14:41:06.000000000 +0200
-***************
-*** 10108,10129 ****
- do_insert_char_pre(c)
- int c;
- {
-! char_u *res;
-
- /* Return quickly when there is nothing to do. */
- if (!has_insertcharpre())
- return NULL;
-
- /* Lock the text to avoid weird things from happening. */
- ++textlock;
-! set_vim_var_char(c); /* set v:char */
-
- if (apply_autocmds(EVENT_INSERTCHARPRE, NULL, NULL, FALSE, curbuf))
-! /* Get the new value of v:char. It may be empty or more than one
-! * character. */
-! res = vim_strsave(get_vim_var_str(VV_CHAR));
-! else
-! res = NULL;
-
- set_vim_var_string(VV_CHAR, NULL, -1); /* clear v:char */
- --textlock;
---- 10108,10147 ----
- do_insert_char_pre(c)
- int c;
- {
-! char_u *res;
-! #ifdef FEAT_MBYTE
-! char_u buf[MB_MAXBYTES + 1];
-! #else
-! char_u buf[2];
-! #endif
-
- /* Return quickly when there is nothing to do. */
- if (!has_insertcharpre())
- return NULL;
-
-+ #ifdef FEAT_MBYTE
-+ if (has_mbyte)
-+ buf[(*mb_char2bytes)(c, buf)] = NUL;
-+ else
-+ #endif
-+ {
-+ buf[0] = c;
-+ buf[1] = NUL;
-+ }
-+
- /* Lock the text to avoid weird things from happening. */
- ++textlock;
-! set_vim_var_string(VV_CHAR, buf, -1); /* set v:char */
-
-+ res = NULL;
- if (apply_autocmds(EVENT_INSERTCHARPRE, NULL, NULL, FALSE, curbuf))
-! {
-! /* Get the value of v:char. It may be empty or more than one
-! * character. Only use it when changed, otherwise continue with the
-! * original character to avoid breaking autoindent. */
-! if (STRCMP(buf, get_vim_var_str(VV_CHAR)) != 0)
-! res = vim_strsave(get_vim_var_str(VV_CHAR));
-! }
-
- set_vim_var_string(VV_CHAR, NULL, -1); /* clear v:char */
- --textlock;
-*** ../vim-7.3.533/src/version.c 2012-06-01 13:46:06.000000000 +0200
---- src/version.c 2012-06-01 14:42:19.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 534,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-11. You find yourself typing "com" after every period when using a word
- processor.com
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.535 b/source/ap/vim/patches/7.3.535
deleted file mode 100644
index e7f0f8a9c..000000000
--- a/source/ap/vim/patches/7.3.535
+++ /dev/null
@@ -1,356 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.535
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.535
-Problem: Many #ifdefs for MB_MAXBYTES.
-Solution: Also define MB_MAXBYTES without the +multi_byte feature. Fix
- places where the buffer didn't include space for a NUL byte.
-Files: src/arabic.c, src/edit.c, src/eval.c, src/getchar.c, src/mbyte.c,
- src/misc1.c, src/screen.c, src/spell.c, src/vim.h
-
-
-*** ../vim-7.3.534/src/arabic.c 2010-08-15 21:57:28.000000000 +0200
---- src/arabic.c 2012-06-01 14:59:37.000000000 +0200
-***************
-*** 1066,1072 ****
-
- if (curr_c != c && ccp != NULL)
- {
-! char_u buf[MB_MAXBYTES];
-
- /* Update the first byte of the character. */
- (*mb_char2bytes)(curr_c, buf);
---- 1066,1072 ----
-
- if (curr_c != c && ccp != NULL)
- {
-! char_u buf[MB_MAXBYTES + 1];
-
- /* Update the first byte of the character. */
- (*mb_char2bytes)(curr_c, buf);
-*** ../vim-7.3.534/src/edit.c 2012-06-01 14:57:47.000000000 +0200
---- src/edit.c 2012-06-01 15:01:49.000000000 +0200
-***************
-*** 1648,1658 ****
- #define PC_STATUS_RIGHT 1 /* right halve of double-wide char */
- #define PC_STATUS_LEFT 2 /* left halve of double-wide char */
- #define PC_STATUS_SET 3 /* pc_bytes was filled */
-- #ifdef FEAT_MBYTE
- static char_u pc_bytes[MB_MAXBYTES + 1]; /* saved bytes */
-- #else
-- static char_u pc_bytes[2]; /* saved bytes */
-- #endif
- static int pc_attr;
- static int pc_row;
- static int pc_col;
---- 1648,1654 ----
-***************
-*** 6819,6829 ****
- char_u *s;
-
- vim_free(last_insert);
-- #ifdef FEAT_MBYTE
- last_insert = alloc(MB_MAXBYTES * 3 + 5);
-- #else
-- last_insert = alloc(6);
-- #endif
- if (last_insert != NULL)
- {
- s = last_insert;
---- 6815,6821 ----
-***************
-*** 6861,6867 ****
- char_u *s;
- {
- #ifdef FEAT_MBYTE
-! char_u temp[MB_MAXBYTES];
- int i;
- int len;
-
---- 6853,6859 ----
- char_u *s;
- {
- #ifdef FEAT_MBYTE
-! char_u temp[MB_MAXBYTES + 1];
- int i;
- int len;
-
-***************
-*** 7423,7429 ****
- int cc;
- {
- int n;
-! char_u buf[MB_MAXBYTES];
- int i;
- int c;
-
---- 7415,7421 ----
- int cc;
- {
- int n;
-! char_u buf[MB_MAXBYTES + 1];
- int i;
- int c;
-
-***************
-*** 10109,10119 ****
- int c;
- {
- char_u *res;
-- #ifdef FEAT_MBYTE
- char_u buf[MB_MAXBYTES + 1];
-- #else
-- char_u buf[2];
-- #endif
-
- /* Return quickly when there is nothing to do. */
- if (!has_insertcharpre())
---- 10101,10107 ----
-*** ../vim-7.3.534/src/eval.c 2012-05-18 18:34:15.000000000 +0200
---- src/eval.c 2012-06-01 15:02:08.000000000 +0200
-***************
-*** 19170,19180 ****
- set_vim_var_char(c)
- int c;
- {
-! #ifdef FEAT_MBYTE
-! char_u buf[MB_MAXBYTES];
-! #else
-! char_u buf[2];
-! #endif
-
- #ifdef FEAT_MBYTE
- if (has_mbyte)
---- 19170,19176 ----
- set_vim_var_char(c)
- int c;
- {
-! char_u buf[MB_MAXBYTES + 1];
-
- #ifdef FEAT_MBYTE
- if (has_mbyte)
-*** ../vim-7.3.534/src/getchar.c 2012-04-05 16:07:01.000000000 +0200
---- src/getchar.c 2012-06-01 15:03:51.000000000 +0200
-***************
-*** 723,729 ****
- int c;
- #ifdef FEAT_MBYTE
- int n;
-! char_u buf[MB_MAXBYTES];
- int i;
- #endif
-
---- 723,729 ----
- int c;
- #ifdef FEAT_MBYTE
- int n;
-! char_u buf[MB_MAXBYTES + 1];
- int i;
- #endif
-
-***************
-*** 1072,1078 ****
- int c;
- {
- #ifdef FEAT_MBYTE
-! char_u buf[MB_MAXBYTES];
- #else
- char_u buf[4];
- #endif
---- 1072,1078 ----
- int c;
- {
- #ifdef FEAT_MBYTE
-! char_u buf[MB_MAXBYTES + 1];
- #else
- char_u buf[4];
- #endif
-***************
-*** 1547,1553 ****
- int c, c2;
- #ifdef FEAT_MBYTE
- int n;
-! char_u buf[MB_MAXBYTES];
- int i;
- #endif
-
---- 1547,1553 ----
- int c, c2;
- #ifdef FEAT_MBYTE
- int n;
-! char_u buf[MB_MAXBYTES + 1];
- int i;
- #endif
-
-***************
-*** 4335,4345 ****
- int scol; /* starting column of the abbr. */
- int j;
- char_u *s;
-- #ifdef FEAT_MBYTE
- char_u tb[MB_MAXBYTES + 4];
-- #else
-- char_u tb[4];
-- #endif
- mapblock_T *mp;
- #ifdef FEAT_LOCALMAP
- mapblock_T *mp2;
---- 4335,4341 ----
-*** ../vim-7.3.534/src/mbyte.c 2012-03-07 19:38:52.000000000 +0100
---- src/mbyte.c 2012-06-01 15:04:27.000000000 +0200
-***************
-*** 708,714 ****
- */
- n = (i & 0x80) ? 2 : 1;
- # else
-! char buf[MB_MAXBYTES];
- # ifdef X_LOCALE
- # ifndef mblen
- # define mblen _Xmblen
---- 708,714 ----
- */
- n = (i & 0x80) ? 2 : 1;
- # else
-! char buf[MB_MAXBYTES + 1];
- # ifdef X_LOCALE
- # ifndef mblen
- # define mblen _Xmblen
-***************
-*** 1953,1959 ****
- /*
- * Convert the character at screen position "off" to a sequence of bytes.
- * Includes the composing characters.
-! * "buf" must at least have the length MB_MAXBYTES.
- * Only to be used when ScreenLinesUC[off] != 0.
- * Returns the produced number of bytes.
- */
---- 1953,1959 ----
- /*
- * Convert the character at screen position "off" to a sequence of bytes.
- * Includes the composing characters.
-! * "buf" must at least have the length MB_MAXBYTES + 1.
- * Only to be used when ScreenLinesUC[off] != 0.
- * Returns the produced number of bytes.
- */
-*** ../vim-7.3.534/src/misc1.c 2012-04-30 21:09:38.000000000 +0200
---- src/misc1.c 2012-06-01 15:04:56.000000000 +0200
-***************
-*** 1932,1938 ****
- int c;
- {
- #if defined(FEAT_MBYTE) || defined(PROTO)
-! char_u buf[MB_MAXBYTES];
- int n;
-
- n = (*mb_char2bytes)(c, buf);
---- 1932,1938 ----
- int c;
- {
- #if defined(FEAT_MBYTE) || defined(PROTO)
-! char_u buf[MB_MAXBYTES + 1];
- int n;
-
- n = (*mb_char2bytes)(c, buf);
-*** ../vim-7.3.534/src/screen.c 2012-03-23 16:25:13.000000000 +0100
---- src/screen.c 2012-06-01 15:06:03.000000000 +0200
-***************
-*** 6621,6636 ****
- int row, col;
- int attr;
- {
-- #ifdef FEAT_MBYTE
- char_u buf[MB_MAXBYTES + 1];
-
-! buf[(*mb_char2bytes)(c, buf)] = NUL;
-! #else
-! char_u buf[2];
-!
-! buf[0] = c;
-! buf[1] = NUL;
- #endif
- screen_puts(buf, row, col, attr);
- }
-
---- 6621,6637 ----
- int row, col;
- int attr;
- {
- char_u buf[MB_MAXBYTES + 1];
-
-! #ifdef FEAT_MBYTE
-! if (has_mbyte)
-! buf[(*mb_char2bytes)(c, buf)] = NUL;
-! else
- #endif
-+ {
-+ buf[0] = c;
-+ buf[1] = NUL;
-+ }
- screen_puts(buf, row, col, attr);
- }
-
-*** ../vim-7.3.534/src/spell.c 2012-05-18 18:07:57.000000000 +0200
---- src/spell.c 2012-06-01 15:06:30.000000000 +0200
-***************
-*** 13694,13700 ****
- {
- int m1, m2;
- #ifdef FEAT_MBYTE
-! char_u buf[MB_MAXBYTES];
- hashitem_T *hi;
-
- if (c1 >= 256)
---- 13694,13700 ----
- {
- int m1, m2;
- #ifdef FEAT_MBYTE
-! char_u buf[MB_MAXBYTES + 1];
- hashitem_T *hi;
-
- if (c1 >= 256)
-*** ../vim-7.3.534/src/vim.h 2012-04-30 18:48:38.000000000 +0200
---- src/vim.h 2012-06-01 14:59:28.000000000 +0200
-***************
-*** 1703,1708 ****
---- 1703,1710 ----
- * character of up to 6 bytes, or one 16-bit character of up to three bytes
- * plus six following composing characters of three bytes each. */
- # define MB_MAXBYTES 21
-+ #else
-+ # define MB_MAXBYTES 1
- #endif
-
- #if (defined(FEAT_PROFILE) || defined(FEAT_RELTIME)) && !defined(PROTO)
-***************
-*** 2017,2022 ****
---- 2019,2025 ----
- #pragma warning(disable : 4312)
- #endif
-
-+ /* Note: a NULL argument for vim_realloc() is not portable, don't use it. */
- #if defined(MEM_PROFILE)
- # define vim_realloc(ptr, size) mem_realloc((ptr), (size))
- #else
-*** ../vim-7.3.534/src/version.c 2012-06-01 14:57:47.000000000 +0200
---- src/version.c 2012-06-01 15:08:20.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 535,
- /**/
-
---
-Me? A skeptic? I trust you have proof.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.536 b/source/ap/vim/patches/7.3.536
deleted file mode 100644
index e0c3f760f..000000000
--- a/source/ap/vim/patches/7.3.536
+++ /dev/null
@@ -1,73 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.536
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.536
-Problem: When spell checking the German sharp s is not seen as a word
- character. (Aexl Bender)
-Solution: In utf_islower() return true for the sharp s. Note: also need
- updated spell file for this to take effect.
-Files: src/mbyte.c
-
-
-*** ../vim-7.3.535/src/mbyte.c 2012-06-01 15:20:49.000000000 +0200
---- src/mbyte.c 2012-06-01 16:50:41.000000000 +0200
-***************
-*** 2949,2955 ****
- {
- {0x61,0x7a,1,-32},
- {0xb5,0xb5,-1,743},
-! {0xe0,0xf6,1,-32},
- {0xf8,0xfe,1,-32},
- {0xff,0xff,-1,121},
- {0x101,0x12f,2,-1},
---- 2949,2955 ----
- {
- {0x61,0x7a,1,-32},
- {0xb5,0xb5,-1,743},
-! {0xe0,0xf6,1,-32}, /* 0xdf (German sharp s) is not upper-cased */
- {0xf8,0xfe,1,-32},
- {0xff,0xff,-1,121},
- {0x101,0x12f,2,-1},
-***************
-*** 3129,3135 ****
- utf_islower(a)
- int a;
- {
-! return (utf_toupper(a) != a);
- }
-
- /*
---- 3129,3136 ----
- utf_islower(a)
- int a;
- {
-! /* German sharp s is lower case but has no upper case equivalent. */
-! return (utf_toupper(a) != a) || a == 0xdf;
- }
-
- /*
-*** ../vim-7.3.535/src/version.c 2012-06-01 15:20:49.000000000 +0200
---- src/version.c 2012-06-01 17:45:17.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 536,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-16. You step out of your room and realize that your parents have moved and
- you don't have a clue when it happened.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.537 b/source/ap/vim/patches/7.3.537
deleted file mode 100644
index 76b41c8ad..000000000
--- a/source/ap/vim/patches/7.3.537
+++ /dev/null
@@ -1,47 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.537
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.537
-Problem: Unecessary call to init_spell_chartab().
-Solution: Delete the call.
-Files: src/spell.c
-
-
-*** ../vim-7.3.536/src/spell.c 2012-06-01 15:20:49.000000000 +0200
---- src/spell.c 2012-06-01 17:49:44.000000000 +0200
-***************
-*** 4721,4728 ****
- int_wordlist = NULL;
- }
-
-- init_spell_chartab();
--
- vim_free(repl_to);
- repl_to = NULL;
- vim_free(repl_from);
---- 4721,4726 ----
-*** ../vim-7.3.536/src/version.c 2012-06-01 17:46:52.000000000 +0200
---- src/version.c 2012-06-01 17:49:08.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 537,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-17. You turn on your intercom when leaving the room so you can hear if new
- e-mail arrives.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.538 b/source/ap/vim/patches/7.3.538
deleted file mode 100644
index 947fa65bc..000000000
--- a/source/ap/vim/patches/7.3.538
+++ /dev/null
@@ -1,321 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.538
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.538
-Problem: 'efm' does not handle Tabs in pointer lines.
-Solution: Add Tab support. Improve tests. (Lech Lorens)
-Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok
-
-
-*** ../vim-7.3.537/src/quickfix.c 2012-04-25 18:57:17.000000000 +0200
---- src/quickfix.c 2012-06-01 18:24:07.000000000 +0200
-***************
-*** 247,253 ****
- {'t', "."},
- {'m', ".\\+"},
- {'r', ".*"},
-! {'p', "[- .]*"},
- {'v', "\\d\\+"},
- {'s', ".\\+"}
- };
---- 247,253 ----
- {'t', "."},
- {'m', ".\\+"},
- {'r', ".*"},
-! {'p', "[- .]*"},
- {'v', "\\d\\+"},
- {'s', ".\\+"}
- };
-***************
-*** 677,687 ****
- }
- if ((i = (int)fmt_ptr->addr[7]) > 0) /* %p */
- {
- if (regmatch.startp[i] == NULL || regmatch.endp[i] == NULL)
- continue;
-! col = (int)(regmatch.endp[i] - regmatch.startp[i] + 1);
-! if (*((char_u *)regmatch.startp[i]) != TAB)
-! use_viscol = TRUE;
- }
- if ((i = (int)fmt_ptr->addr[8]) > 0) /* %v */
- {
---- 677,699 ----
- }
- if ((i = (int)fmt_ptr->addr[7]) > 0) /* %p */
- {
-+ char_u *match_ptr;
-+
- if (regmatch.startp[i] == NULL || regmatch.endp[i] == NULL)
- continue;
-! col = 0;
-! for (match_ptr = regmatch.startp[i];
-! match_ptr != regmatch.endp[i]; ++match_ptr)
-! {
-! ++col;
-! if (*match_ptr == TAB)
-! {
-! col += 7;
-! col -= col % 8;
-! }
-! }
-! ++col;
-! use_viscol = TRUE;
- }
- if ((i = (int)fmt_ptr->addr[8]) > 0) /* %v */
- {
-*** ../vim-7.3.537/src/testdir/test10.in 2011-08-10 18:36:49.000000000 +0200
---- src/testdir/test10.in 2012-06-01 18:22:40.000000000 +0200
-***************
-*** 8,48 ****
- :7/start of errorfile/,/end of errorfile/w! Xerrorfile1
- :7/start of errorfile/,/end of errorfile/-1w! Xerrorfile2
- :/start of testfile/,/end of testfile/w! Xtestfile
- :cf Xerrorfile2
- :clast
- :copen
- :let a=w:quickfix_title
- :wincmd p
-! gR=a 
- :cf Xerrorfile1
-! rA
- :cn
-! rB
- :cn
-! rC
- :cn
-! rD
- :cn
-! rE
- :cn
- :wincmd w
- :let a=w:quickfix_title
- :wincmd p
-! gR=a 
- :w! test.out " Write contents of this file
- :qa!
- ENDTEST
-
- start of errorfile
- "Xtestfile", line 4.12: 1506-045 (S) Undeclared identifier fd_set.
-! "Xtestfile", line 7 col 19; this is an error
- gcc -c -DHAVE_CONFIsing-prototypes -I/usr/X11R6/include version.c
-! Xtestfile:13: parse error before `asd'
- make: *** [vim] Error 1
-! in file "Xtestfile" linenr 16: there is an error
-
- 2 returned
-! "Xtestfile", linenr 19: yet another problem
-
- Does anyone know what is the problem and how to correction it?
- "Xtestfile", line 21 col 9: What is the title of the quickfix window?
---- 8,88 ----
- :7/start of errorfile/,/end of errorfile/w! Xerrorfile1
- :7/start of errorfile/,/end of errorfile/-1w! Xerrorfile2
- :/start of testfile/,/end of testfile/w! Xtestfile
-+ :set efm+==%f=\\,\ line\ %l%*\\D%v%*[^\ ]\ %m
-+ :set efm^=%AError\ in\ \"%f\"\ at\ line\ %l:,%Z%p^,%C%m
- :cf Xerrorfile2
- :clast
- :copen
- :let a=w:quickfix_title
- :wincmd p
-! lgR=a 
- :cf Xerrorfile1
-! grA
- :cn
-! gRLINE 6, COL 19
- :cn
-! gRNO COLUMN SPECIFIED
- :cn
-! gRAGAIN NO COLUMN
- :cn
-! gRCOL 1
- :cn
-+ gRCOL 2
-+ :cn
-+ gRCOL 10
-+ :cn
-+ gRVCOL 10
-+ :cn
-+ grI
-+ :cn
-+ gR. SPACE POINTER
-+ :cn
-+ gR. DOT POINTER
-+ :cn
-+ gR. DASH POINTER
-+ :cn
-+ gR. TAB-SPACE POINTER
-+ :clast
-+ :cprev
-+ :cprev
- :wincmd w
- :let a=w:quickfix_title
- :wincmd p
-! lgR=a 
- :w! test.out " Write contents of this file
- :qa!
- ENDTEST
-
- start of errorfile
- "Xtestfile", line 4.12: 1506-045 (S) Undeclared identifier fd_set.
-! "Xtestfile", line 6 col 19; this is an error
- gcc -c -DHAVE_CONFIsing-prototypes -I/usr/X11R6/include version.c
-! Xtestfile:9: parse error before `asd'
- make: *** [vim] Error 1
-! in file "Xtestfile" linenr 10: there is an error
-
- 2 returned
-! "Xtestfile", line 11 col 1; this is an error
-! "Xtestfile", line 12 col 2; this is another error
-! "Xtestfile", line 14:10; this is an error in column 10
-! =Xtestfile=, line 15:10; this is another error, but in vcol 10 this time
-! "Xtestfile", linenr 16: yet another problem
-! Error in "Xtestfile" at line 17:
-! x should be a dot
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 17
-! ^
-! Error in "Xtestfile" at line 18:
-! x should be a dot
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18
-! .............^
-! Error in "Xtestfile" at line 19:
-! x should be a dot
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19
-! --------------^
-! Error in "Xtestfile" at line 20:
-! x should be a dot
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20
-! ^
-
- Does anyone know what is the problem and how to correction it?
- "Xtestfile", line 21 col 9: What is the title of the quickfix window?
-***************
-*** 50,74 ****
- end of errorfile
-
- start of testfile
-! line 2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 4 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 6 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 8 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 10 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 11 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 12 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 13 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 14 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 15 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 16 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 17 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 18 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 19 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 20 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 21 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 22 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- end of testfile
---- 90,114 ----
- end of errorfile
-
- start of testfile
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 2
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 3
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 4
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 5
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 6
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 7
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 8
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 9
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 10
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 11
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 12
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 13
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 14
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 15
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 16
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 17
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 21
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 22
- end of testfile
-*** ../vim-7.3.537/src/testdir/test10.ok 2011-08-10 18:36:49.000000000 +0200
---- src/testdir/test10.ok 2012-06-01 18:22:40.000000000 +0200
-***************
-*** 1,23 ****
- start of testfile
-! line 2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 4 xxxAxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 6 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 7 xxxxxxxxxxBxxxxxxxxxxxxxxxxxxx
-! line 8 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 10 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 11 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 12 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! Cine 13 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 14 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 15 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! Dine 16 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 17 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 18 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! Eine 19 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 20 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-! line 21 :cf Xerrorfile1xxxxxxxxxxxxxxx
-! line 22 :cf Xerrorfile2xxxxxxxxxxxxxxx
- end of testfile
---- 1,23 ----
- start of testfile
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 2
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 3
-! xxxxxxxxxxAxxxxxxxxxxxxxxxxxxx line 4
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 5
-! xxxxxxxxxxxxxxxxxLINE 6, COL 19 line 6
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 7
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 8
-! NO COLUMN SPECIFIEDxxxxxxxxxxx line 9
-! AGAIN NO COLUMNxxxxxxxxxxxxxxx line 10
-! COL 1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 11
-! COL 2xxxxxxxxxxxxxxxxxxxxxxxxx line 12
-! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 13
-! xxxxxxxxCOL 10xxxxxxxxxxxxxxxx line 14
-! xVCOL 10xxxxxxxxxxxxxxxxxxxxxx line 15
-! Ixxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 16
-! xxxx. SPACE POINTERxxxxxxxxxxx line 17
-! xxxxx. DOT POINTERxxxxxxxxxxxx line 18
-! xxxxxx. DASH POINTERxxxxxxxxxx line 19
-! xxxxxxx. TAB-SPACE POINTERxxxx line 20
-! xxxxxxxx:cf Xerrorfile1xxxxxxx line 21
-! xxxxxxxx:cf Xerrorfile2xxxxxxx line 22
- end of testfile
-*** ../vim-7.3.537/src/version.c 2012-06-01 17:49:51.000000000 +0200
---- src/version.c 2012-06-01 18:22:27.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 538,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-18. Your wife drapes a blond wig over your monitor to remind you of what she
- looks like.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.539 b/source/ap/vim/patches/7.3.539
deleted file mode 100644
index 267c076d6..000000000
--- a/source/ap/vim/patches/7.3.539
+++ /dev/null
@@ -1,51 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.539
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.539
-Problem: Redrawing a character on the command line does not work properly
- for multi-byte charactes.
-Solution: Count the number of bytes in a character. (Yukihiro Nakadaira)
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.538/src/ex_getln.c 2012-05-25 11:02:34.000000000 +0200
---- src/ex_getln.c 2012-06-06 11:50:37.000000000 +0200
-***************
-*** 2764,2769 ****
---- 2764,2774 ----
- msg_no_more = TRUE;
- if (ccline.cmdlen == ccline.cmdpos)
- msg_putchar(' ');
-+ #ifdef FEAT_MBYTE
-+ else if (has_mbyte)
-+ draw_cmdline(ccline.cmdpos,
-+ (*mb_ptr2len)(ccline.cmdbuff + ccline.cmdpos));
-+ #endif
- else
- draw_cmdline(ccline.cmdpos, 1);
- msg_no_more = FALSE;
-*** ../vim-7.3.538/src/version.c 2012-06-01 18:34:37.000000000 +0200
---- src/version.c 2012-06-06 12:02:45.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 539,
- /**/
-
---
-If they don't keep on exercising their lips, he thought, their brains
-start working.
- -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.540 b/source/ap/vim/patches/7.3.540
deleted file mode 100644
index 6793eb43a..000000000
--- a/source/ap/vim/patches/7.3.540
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.540
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.540
-Problem: Cursor is left on the text instead of the command line.
-Solution: Don't call setcursor() in command line mode.
-Files: src/getchar.c
-
-
-*** ../vim-7.3.539/src/getchar.c 2012-06-01 15:20:49.000000000 +0200
---- src/getchar.c 2012-06-06 11:58:05.000000000 +0200
-***************
-*** 2819,2825 ****
- edit_unputchar();
- if (State & CMDLINE)
- unputcmdline();
-! setcursor(); /* put cursor back where it belongs */
- }
-
- if (c < 0)
---- 2819,2826 ----
- edit_unputchar();
- if (State & CMDLINE)
- unputcmdline();
-! else
-! setcursor(); /* put cursor back where it belongs */
- }
-
- if (c < 0)
-*** ../vim-7.3.539/src/version.c 2012-06-06 12:02:57.000000000 +0200
---- src/version.c 2012-06-06 12:05:22.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 540,
- /**/
-
---
-"Making it up? Why should I want to make anything up? Life's bad enough
-as it is without wanting to invent any more of it."
- -- Marvin, the Paranoid Android in Douglas Adams'
- "The Hitchhiker's Guide to the Galaxy"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.541 b/source/ap/vim/patches/7.3.541
deleted file mode 100644
index 133b82dad..000000000
--- a/source/ap/vim/patches/7.3.541
+++ /dev/null
@@ -1,1090 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.541
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.541
-Problem: When joining lines comment leaders need to be removed manually.
-Solution: Add the 'j' flag to 'formatoptions'. (Lech Lorens)
-Files: runtime/doc/change.txt, src/edit.c, src/ex_docmd.c, src/misc1.c,
- src/normal.c, src/ops.c, src/option.h, src/proto/misc1.pro,
- src/proto/ops.pro, src/search.c, src/testdir/test29.in,
- src/testdir/test29.ok
-
-
-*** ../vim-7.3.540/runtime/doc/change.txt 2011-05-05 14:26:37.000000000 +0200
---- runtime/doc/change.txt 2012-06-06 13:05:04.000000000 +0200
-***************
-*** 1495,1500 ****
---- 1522,1533 ----
- characters. Overruled by the 'M' flag.
- 1 Don't break a line after a one-letter word. It's broken before it
- instead (if possible).
-+ j Where it makes sense, remove a comment leader when joining lines. For
-+ example, joining:
-+ int i; // the index ~
-+ // in the list ~
-+ Becomes:
-+ int i; // the index in the list ~
-
-
- With 't' and 'c' you can specify when Vim performs auto-wrapping:
-*** ../vim-7.3.540/src/edit.c 2012-06-01 15:20:49.000000000 +0200
---- src/edit.c 2012-06-06 13:00:29.000000000 +0200
-***************
-*** 5847,5853 ****
- * Need to remove existing (middle) comment leader and insert end
- * comment leader. First, check what comment leader we can find.
- */
-! i = get_leader_len(line = ml_get_curline(), &p, FALSE);
- if (i > 0 && vim_strchr(p, COM_MIDDLE) != NULL) /* Just checking */
- {
- /* Skip middle-comment string */
---- 5847,5853 ----
- * Need to remove existing (middle) comment leader and insert end
- * comment leader. First, check what comment leader we can find.
- */
-! i = get_leader_len(line = ml_get_curline(), &p, FALSE, TRUE);
- if (i > 0 && vim_strchr(p, COM_MIDDLE) != NULL) /* Just checking */
- {
- /* Skip middle-comment string */
-***************
-*** 6085,6091 ****
-
- /* Don't break until after the comment leader */
- if (do_comments)
-! leader_len = get_leader_len(ml_get_curline(), NULL, FALSE);
- else
- leader_len = 0;
-
---- 6085,6091 ----
-
- /* Don't break until after the comment leader */
- if (do_comments)
-! leader_len = get_leader_len(ml_get_curline(), NULL, FALSE, TRUE);
- else
- leader_len = 0;
-
-***************
-*** 6411,6417 ****
- /* With the 'c' flag in 'formatoptions' and 't' missing: only format
- * comments. */
- if (has_format_option(FO_WRAP_COMS) && !has_format_option(FO_WRAP)
-! && get_leader_len(old, NULL, FALSE) == 0)
- return;
- #endif
-
---- 6411,6417 ----
- /* With the 'c' flag in 'formatoptions' and 't' missing: only format
- * comments. */
- if (has_format_option(FO_WRAP_COMS) && !has_format_option(FO_WRAP)
-! && get_leader_len(old, NULL, FALSE, TRUE) == 0)
- return;
- #endif
-
-***************
-*** 8565,8571 ****
- {
- temp = curwin->w_cursor.col;
- if (!can_bs(BS_EOL) /* only if "eol" included */
-! || do_join(2, FALSE, TRUE) == FAIL)
- vim_beep();
- else
- curwin->w_cursor.col = temp;
---- 8565,8571 ----
- {
- temp = curwin->w_cursor.col;
- if (!can_bs(BS_EOL) /* only if "eol" included */
-! || do_join(2, FALSE, TRUE, FALSE) == FAIL)
- vim_beep();
- else
- curwin->w_cursor.col = temp;
-***************
-*** 8746,8752 ****
- ptr[len - 1] = NUL;
- }
-
-! (void)do_join(2, FALSE, FALSE);
- if (temp == NUL && gchar_cursor() != NUL)
- inc_cursor();
- }
---- 8746,8752 ----
- ptr[len - 1] = NUL;
- }
-
-! (void)do_join(2, FALSE, FALSE, FALSE);
- if (temp == NUL && gchar_cursor() != NUL)
- inc_cursor();
- }
-*** ../vim-7.3.540/src/ex_docmd.c 2012-04-30 18:48:38.000000000 +0200
---- src/ex_docmd.c 2012-06-06 13:00:29.000000000 +0200
-***************
-*** 8545,8551 ****
- }
- ++eap->line2;
- }
-! (void)do_join(eap->line2 - eap->line1 + 1, !eap->forceit, TRUE);
- beginline(BL_WHITE | BL_FIX);
- ex_may_print(eap);
- }
---- 8545,8551 ----
- }
- ++eap->line2;
- }
-! (void)do_join(eap->line2 - eap->line1 + 1, !eap->forceit, TRUE, TRUE);
- beginline(BL_WHITE | BL_FIX);
- ex_may_print(eap);
- }
-*** ../vim-7.3.540/src/misc1.c 2012-06-01 15:20:49.000000000 +0200
---- src/misc1.c 2012-06-06 13:27:32.000000000 +0200
-***************
-*** 671,677 ****
- ptr = saved_line;
- # ifdef FEAT_COMMENTS
- if (flags & OPENLINE_DO_COM)
-! lead_len = get_leader_len(ptr, NULL, FALSE);
- else
- lead_len = 0;
- # endif
---- 671,677 ----
- ptr = saved_line;
- # ifdef FEAT_COMMENTS
- if (flags & OPENLINE_DO_COM)
-! lead_len = get_leader_len(ptr, NULL, FALSE, TRUE);
- else
- lead_len = 0;
- # endif
-***************
-*** 693,699 ****
- }
- # ifdef FEAT_COMMENTS
- if (flags & OPENLINE_DO_COM)
-! lead_len = get_leader_len(ptr, NULL, FALSE);
- else
- lead_len = 0;
- if (lead_len > 0)
---- 693,699 ----
- }
- # ifdef FEAT_COMMENTS
- if (flags & OPENLINE_DO_COM)
-! lead_len = get_leader_len(ptr, NULL, FALSE, TRUE);
- else
- lead_len = 0;
- if (lead_len > 0)
-***************
-*** 836,842 ****
- */
- end_comment_pending = NUL;
- if (flags & OPENLINE_DO_COM)
-! lead_len = get_leader_len(saved_line, &lead_flags, dir == BACKWARD);
- else
- lead_len = 0;
- if (lead_len > 0)
---- 836,842 ----
- */
- end_comment_pending = NUL;
- if (flags & OPENLINE_DO_COM)
-! lead_len = get_leader_len(saved_line, &lead_flags, dir == BACKWARD, TRUE);
- else
- lead_len = 0;
- if (lead_len > 0)
-***************
-*** 1548,1561 ****
- * When "flags" is not NULL, it is set to point to the flags of the recognized
- * comment leader.
- * "backward" must be true for the "O" command.
- */
- int
-! get_leader_len(line, flags, backward)
- char_u *line;
- char_u **flags;
- int backward;
- {
- int i, j;
- int got_com = FALSE;
- int found_one;
- char_u part_buf[COM_MAX_LEN]; /* buffer for one option part */
---- 1548,1565 ----
- * When "flags" is not NULL, it is set to point to the flags of the recognized
- * comment leader.
- * "backward" must be true for the "O" command.
-+ * If "include_space" is set, include trailing whitespace while calculating the
-+ * length.
- */
- int
-! get_leader_len(line, flags, backward, include_space)
- char_u *line;
- char_u **flags;
- int backward;
-+ int include_space;
- {
- int i, j;
-+ int result;
- int got_com = FALSE;
- int found_one;
- char_u part_buf[COM_MAX_LEN]; /* buffer for one option part */
-***************
-*** 1565,1571 ****
- char_u *prev_list;
- char_u *saved_flags = NULL;
-
-! i = 0;
- while (vim_iswhite(line[i])) /* leading white space is ignored */
- ++i;
-
---- 1569,1575 ----
- char_u *prev_list;
- char_u *saved_flags = NULL;
-
-! result = i = 0;
- while (vim_iswhite(line[i])) /* leading white space is ignored */
- ++i;
-
-***************
-*** 1668,1684 ****
- if (!found_one)
- break;
-
- /* Include any trailing white space. */
- while (vim_iswhite(line[i]))
- ++i;
-
- /* If this comment doesn't nest, stop here. */
- got_com = TRUE;
- if (vim_strchr(part_buf, COM_NEST) == NULL)
- break;
- }
-
-! return (got_com ? i : 0);
- }
- #endif
-
---- 1672,1838 ----
- if (!found_one)
- break;
-
-+ result = i;
-+
- /* Include any trailing white space. */
- while (vim_iswhite(line[i]))
- ++i;
-
-+ if (include_space)
-+ result = i;
-+
- /* If this comment doesn't nest, stop here. */
- got_com = TRUE;
- if (vim_strchr(part_buf, COM_NEST) == NULL)
- break;
- }
-+ return result;
-+ }
-+
-+ /*
-+ * Return the offset at which the last comment in line starts. If there is no
-+ * comment in the whole line, -1 is returned.
-+ *
-+ * When "flags" is not null, it is set to point to the flags describing the
-+ * recognized comment leader.
-+ */
-+ int
-+ get_last_leader_offset(line, flags)
-+ char_u *line;
-+ char_u **flags;
-+ {
-+ int result = -1;
-+ int i, j;
-+ int lower_check_bound = 0;
-+ char_u *string;
-+ char_u *com_leader;
-+ char_u *com_flags;
-+ char_u *list;
-+ int found_one;
-+ char_u part_buf[COM_MAX_LEN]; /* buffer for one option part */
-+
-+ /*
-+ * Repeat to match several nested comment strings.
-+ */
-+ i = (int)STRLEN(line);
-+ while (--i >= lower_check_bound)
-+ {
-+ /*
-+ * scan through the 'comments' option for a match
-+ */
-+ found_one = FALSE;
-+ for (list = curbuf->b_p_com; *list; )
-+ {
-+ char_u *flags_save = list;
-+
-+ /*
-+ * Get one option part into part_buf[]. Advance list to next one.
-+ * put string at start of string.
-+ */
-+ (void)copy_option_part(&list, part_buf, COM_MAX_LEN, ",");
-+ string = vim_strchr(part_buf, ':');
-+ if (string == NULL) /* If everything is fine, this cannot actually
-+ * happen. */
-+ {
-+ continue;
-+ }
-+ *string++ = NUL; /* Isolate flags from string. */
-+ com_leader = string;
-+
-+ /*
-+ * Line contents and string must match.
-+ * When string starts with white space, must have some white space
-+ * (but the amount does not need to match, there might be a mix of
-+ * TABs and spaces).
-+ */
-+ if (vim_iswhite(string[0]))
-+ {
-+ if (i == 0 || !vim_iswhite(line[i - 1]))
-+ continue;
-+ while (vim_iswhite(string[0]))
-+ ++string;
-+ }
-+ for (j = 0; string[j] != NUL && string[j] == line[i + j]; ++j)
-+ /* do nothing */;
-+ if (string[j] != NUL)
-+ continue;
-+
-+ /*
-+ * When 'b' flag used, there must be white space or an
-+ * end-of-line after the string in the line.
-+ */
-+ if (vim_strchr(part_buf, COM_BLANK) != NULL
-+ && !vim_iswhite(line[i + j]) && line[i + j] != NUL)
-+ {
-+ continue;
-+ }
-+
-+ /*
-+ * We have found a match, stop searching.
-+ */
-+ found_one = TRUE;
-+
-+ if (flags)
-+ *flags = flags_save;
-+ com_flags = flags_save;
-+
-+ break;
-+ }
-
-! if (found_one)
-! {
-! char_u part_buf2[COM_MAX_LEN]; /* buffer for one option part */
-! int len1, len2, off;
-!
-! result = i;
-! /*
-! * If this comment nests, continue searching.
-! */
-! if (vim_strchr(part_buf, COM_NEST) != NULL)
-! continue;
-!
-! lower_check_bound = i;
-!
-! /* Let's verify whether the comment leader found is a substring
-! * of other comment leaders. If it is, let's adjust the
-! * lower_check_bound so that we make sure that we have determined
-! * the comment leader correctly.
-! */
-!
-! while (vim_iswhite(*com_leader))
-! ++com_leader;
-! len1 = (int)STRLEN(com_leader);
-!
-! for (list = curbuf->b_p_com; *list; )
-! {
-! char_u *flags_save = list;
-!
-! (void)copy_option_part(&list, part_buf2, COM_MAX_LEN, ",");
-! if (flags_save == com_flags)
-! continue;
-! string = vim_strchr(part_buf2, ':');
-! ++string;
-! while (vim_iswhite(*string))
-! ++string;
-! len2 = (int)STRLEN(string);
-! if (len2 == 0)
-! continue;
-!
-! /* Now we have to verify whether string ends with a substring
-! * beginning the com_leader. */
-! for (off = (len2 > i ? i : len2); off > 0 && off + len1 > len2;)
-! {
-! --off;
-! if (!STRNCMP(string + off, com_leader, len2 - off))
-! {
-! if (i - off < lower_check_bound)
-! lower_check_bound = i - off;
-! }
-! }
-! }
-! }
-! }
-! return result;
- }
- #endif
-
-*** ../vim-7.3.540/src/normal.c 2012-05-25 13:12:33.000000000 +0200
---- src/normal.c 2012-06-06 13:00:29.000000000 +0200
-***************
-*** 1968,1974 ****
- beep_flush();
- else
- {
-! (void)do_join(oap->line_count, oap->op_type == OP_JOIN, TRUE);
- auto_format(FALSE, TRUE);
- }
- break;
---- 1968,1974 ----
- beep_flush();
- else
- {
-! (void)do_join(oap->line_count, oap->op_type == OP_JOIN, TRUE, TRUE);
- auto_format(FALSE, TRUE);
- }
- break;
-***************
-*** 4426,4432 ****
- break;
- }
- #ifdef FEAT_COMMENTS
-! if (get_leader_len(ml_get_curline(), NULL, FALSE) > 0)
- {
- /* Ignore this line, continue at start of next line. */
- ++curwin->w_cursor.lnum;
---- 4426,4432 ----
- break;
- }
- #ifdef FEAT_COMMENTS
-! if (get_leader_len(ml_get_curline(), NULL, FALSE, TRUE) > 0)
- {
- /* Ignore this line, continue at start of next line. */
- ++curwin->w_cursor.lnum;
-***************
-*** 9324,9330 ****
- {
- prep_redo(cap->oap->regname, cap->count0,
- NUL, cap->cmdchar, NUL, NUL, cap->nchar);
-! (void)do_join(cap->count0, cap->nchar == NUL, TRUE);
- }
- }
- }
---- 9324,9330 ----
- {
- prep_redo(cap->oap->regname, cap->count0,
- NUL, cap->cmdchar, NUL, NUL, cap->nchar);
-! (void)do_join(cap->count0, cap->nchar == NUL, TRUE, TRUE);
- }
- }
- }
-*** ../vim-7.3.540/src/ops.c 2012-05-18 12:49:33.000000000 +0200
---- src/ops.c 2012-06-06 15:43:31.000000000 +0200
-***************
-*** 112,117 ****
---- 112,120 ----
- # endif
- #endif
- static void dis_msg __ARGS((char_u *p, int skip_esc));
-+ #if defined(FEAT_COMMENTS) || defined(PROTO)
-+ static char_u *skip_comment __ARGS((char_u *line, int process, int include_space, int *is_comment));
-+ #endif
- #ifdef FEAT_VISUAL
- static void block_prep __ARGS((oparg_T *oap, struct block_def *, linenr_T, int));
- #endif
-***************
-*** 1987,1993 ****
- curwin->w_cursor = curpos; /* restore curwin->w_cursor */
- }
- if (curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count)
-! (void)do_join(2, FALSE, FALSE);
- }
- }
-
---- 1990,1996 ----
- curwin->w_cursor = curpos; /* restore curwin->w_cursor */
- }
- if (curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count)
-! (void)do_join(2, FALSE, FALSE, FALSE);
- }
- }
-
-***************
-*** 4197,4213 ****
- ui_breakcheck();
- }
-
- /*
- * Join 'count' lines (minimal 2) at cursor position.
- * When "save_undo" is TRUE save lines for undo first.
- *
- * return FAIL for failure, OK otherwise
- */
- int
-! do_join(count, insert_space, save_undo)
- long count;
- int insert_space;
- int save_undo;
- {
- char_u *curr = NULL;
- char_u *curr_start = NULL;
---- 4200,4297 ----
- ui_breakcheck();
- }
-
-+ #if defined(FEAT_COMMENTS) || defined(PROTO)
-+ /*
-+ * If "process" is TRUE and the line begins with a comment leader (possibly
-+ * after some white space), return a pointer to the text after it. Put a boolean
-+ * value indicating whether the line ends with an unclosed comment in
-+ * "is_comment".
-+ * line - line to be processed,
-+ * process - if FALSE, will only check whether the line ends with an unclosed
-+ * comment,
-+ * include_space - whether to also skip space following the comment leader,
-+ * is_comment - will indicate whether the current line ends with an unclosed
-+ * comment.
-+ */
-+ static char_u *
-+ skip_comment(line, process, include_space, is_comment)
-+ char_u *line;
-+ int process;
-+ int include_space;
-+ int *is_comment;
-+ {
-+ char_u *comment_flags = NULL;
-+ int lead_len;
-+ int leader_offset = get_last_leader_offset(line, &comment_flags);
-+
-+ *is_comment = FALSE;
-+ if (leader_offset != -1)
-+ {
-+ /* Let's check whether the line ends with an unclosed comment.
-+ * If the last comment leader has COM_END in flags, there's no comment.
-+ */
-+ while (*comment_flags)
-+ {
-+ if (*comment_flags == COM_END
-+ || *comment_flags == ':')
-+ break;
-+ ++comment_flags;
-+ }
-+ if (*comment_flags != COM_END)
-+ *is_comment = TRUE;
-+ }
-+
-+ if (process == FALSE)
-+ return line;
-+
-+ lead_len = get_leader_len(line, &comment_flags, FALSE, include_space);
-+
-+ if (lead_len == 0)
-+ return line;
-+
-+ /* Find:
-+ * - COM_START,
-+ * - COM_END,
-+ * - colon,
-+ * whichever comes first.
-+ */
-+ while (*comment_flags)
-+ {
-+ if (*comment_flags == COM_START
-+ || *comment_flags == COM_END
-+ || *comment_flags == ':')
-+ {
-+ break;
-+ }
-+ ++comment_flags;
-+ }
-+
-+ /* If we found a colon, it means that we are not processing a line
-+ * starting with an opening or a closing part of a three-part
-+ * comment. That's good, because we don't want to remove those as
-+ * this would be annoying.
-+ */
-+ if (*comment_flags == ':' || *comment_flags == NUL)
-+ line += lead_len;
-+
-+ return line;
-+ }
-+ #endif
-+
- /*
- * Join 'count' lines (minimal 2) at cursor position.
- * When "save_undo" is TRUE save lines for undo first.
-+ * Set "use_formatoptions" to FALSE when e.g. processing
-+ * backspace and comment leaders should not be removed.
- *
- * return FAIL for failure, OK otherwise
- */
- int
-! do_join(count, insert_space, save_undo, use_formatoptions)
- long count;
- int insert_space;
- int save_undo;
-+ int use_formatoptions UNUSED;
- {
- char_u *curr = NULL;
- char_u *curr_start = NULL;
-***************
-*** 4221,4226 ****
---- 4305,4317 ----
- linenr_T t;
- colnr_T col = 0;
- int ret = OK;
-+ #if defined(FEAT_COMMENTS) || defined(PROTO)
-+ int *comments;
-+ int remove_comments = (use_formatoptions == TRUE)
-+ && has_format_option(FO_REMOVE_COMS);
-+ int prev_was_comment;
-+ #endif
-+
-
- if (save_undo && u_save((linenr_T)(curwin->w_cursor.lnum - 1),
- (linenr_T)(curwin->w_cursor.lnum + count)) == FAIL)
-***************
-*** 4232,4237 ****
---- 4323,4339 ----
- spaces = lalloc_clear((long_u)count, TRUE);
- if (spaces == NULL)
- return FAIL;
-+ #if defined(FEAT_COMMENTS) || defined(PROTO)
-+ if (remove_comments)
-+ {
-+ comments = (int *)lalloc_clear((long_u)count * sizeof(int), TRUE);
-+ if (comments == NULL)
-+ {
-+ vim_free(spaces);
-+ return FAIL;
-+ }
-+ }
-+ #endif
-
- /*
- * Don't move anything, just compute the final line length
-***************
-*** 4240,4245 ****
---- 4342,4366 ----
- for (t = 0; t < count; ++t)
- {
- curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t));
-+ #if defined(FEAT_COMMENTS) || defined(PROTO)
-+ if (remove_comments)
-+ {
-+ /* We don't want to remove the comment leader if the
-+ * previous line is not a comment. */
-+ if (t > 0 && prev_was_comment)
-+ {
-+
-+ char_u *new_curr = skip_comment(curr, TRUE, insert_space,
-+ &prev_was_comment);
-+ comments[t] = new_curr - curr;
-+ curr = new_curr;
-+ }
-+ else
-+ curr = skip_comment(curr, FALSE, insert_space,
-+ &prev_was_comment);
-+ }
-+ #endif
-+
- if (insert_space && t > 0)
- {
- curr = skipwhite(curr);
-***************
-*** 4327,4332 ****
---- 4448,4457 ----
- if (t == 0)
- break;
- curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t - 1));
-+ #if defined(FEAT_COMMENTS) || defined(PROTO)
-+ if (remove_comments)
-+ curr += comments[t - 1];
-+ #endif
- if (insert_space && t > 1)
- curr = skipwhite(curr);
- currsize = (int)STRLEN(curr);
-***************
-*** 4364,4369 ****
---- 4489,4498 ----
-
- theend:
- vim_free(spaces);
-+ #if defined(FEAT_COMMENTS) || defined(PROTO)
-+ if (remove_comments)
-+ vim_free(comments);
-+ #endif
- return ret;
- }
-
-***************
-*** 4788,4794 ****
- (long)-next_leader_len);
- #endif
- curwin->w_cursor.lnum--;
-! if (do_join(2, TRUE, FALSE) == FAIL)
- {
- beep_flush();
- break;
---- 4917,4923 ----
- (long)-next_leader_len);
- #endif
- curwin->w_cursor.lnum--;
-! if (do_join(2, TRUE, FALSE, FALSE) == FAIL)
- {
- beep_flush();
- break;
-***************
-*** 4844,4850 ****
-
- ptr = ml_get(lnum);
- if (do_comments)
-! *leader_len = get_leader_len(ptr, leader_flags, FALSE);
- else
- *leader_len = 0;
-
---- 4973,4979 ----
-
- ptr = ml_get(lnum);
- if (do_comments)
-! *leader_len = get_leader_len(ptr, leader_flags, FALSE, TRUE);
- else
- *leader_len = 0;
-
-*** ../vim-7.3.540/src/option.h 2012-02-20 22:18:22.000000000 +0100
---- src/option.h 2012-06-06 13:00:29.000000000 +0200
-***************
-*** 104,113 ****
- #define FO_ONE_LETTER '1'
- #define FO_WHITE_PAR 'w' /* trailing white space continues paragr. */
- #define FO_AUTO 'a' /* automatic formatting */
-
- #define DFLT_FO_VI "vt"
- #define DFLT_FO_VIM "tcq"
-! #define FO_ALL "tcroq2vlb1mMBn,aw" /* for do_set() */
-
- /* characters for the p_cpo option: */
- #define CPO_ALTREAD 'a' /* ":read" sets alternate file name */
---- 104,114 ----
- #define FO_ONE_LETTER '1'
- #define FO_WHITE_PAR 'w' /* trailing white space continues paragr. */
- #define FO_AUTO 'a' /* automatic formatting */
-+ #define FO_REMOVE_COMS 'j' /* remove comment leaders when joining lines */
-
- #define DFLT_FO_VI "vt"
- #define DFLT_FO_VIM "tcq"
-! #define FO_ALL "tcroq2vlb1mMBn,awj" /* for do_set() */
-
- /* characters for the p_cpo option: */
- #define CPO_ALTREAD 'a' /* ":read" sets alternate file name */
-*** ../vim-7.3.540/src/proto/misc1.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/misc1.pro 2012-06-06 13:00:29.000000000 +0200
-***************
-*** 6,12 ****
- int set_indent __ARGS((int size, int flags));
- int get_number_indent __ARGS((linenr_T lnum));
- int open_line __ARGS((int dir, int flags, int old_indent));
-! int get_leader_len __ARGS((char_u *line, char_u **flags, int backward));
- int plines __ARGS((linenr_T lnum));
- int plines_win __ARGS((win_T *wp, linenr_T lnum, int winheight));
- int plines_nofill __ARGS((linenr_T lnum));
---- 6,13 ----
- int set_indent __ARGS((int size, int flags));
- int get_number_indent __ARGS((linenr_T lnum));
- int open_line __ARGS((int dir, int flags, int old_indent));
-! int get_leader_len __ARGS((char_u *line, char_u **flags, int backward, int do_skip_space));
-! int get_last_leader_offset __ARGS((char_u *line, char_u **flags));
- int plines __ARGS((linenr_T lnum));
- int plines_win __ARGS((win_T *wp, linenr_T lnum, int winheight));
- int plines_nofill __ARGS((linenr_T lnum));
-*** ../vim-7.3.540/src/proto/ops.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/ops.pro 2012-06-06 13:00:29.000000000 +0200
-***************
-*** 36,42 ****
- int preprocs_left __ARGS((void));
- int get_register_name __ARGS((int num));
- void ex_display __ARGS((exarg_T *eap));
-! int do_join __ARGS((long count, int insert_space, int save_undo));
- void op_format __ARGS((oparg_T *oap, int keep_cursor));
- void op_formatexpr __ARGS((oparg_T *oap));
- int fex_format __ARGS((linenr_T lnum, long count, int c));
---- 36,42 ----
- int preprocs_left __ARGS((void));
- int get_register_name __ARGS((int num));
- void ex_display __ARGS((exarg_T *eap));
-! int do_join __ARGS((long count, int insert_space, int save_undo, int use_formatoptions));
- void op_format __ARGS((oparg_T *oap, int keep_cursor));
- void op_formatexpr __ARGS((oparg_T *oap));
- int fex_format __ARGS((linenr_T lnum, long count, int c));
-*** ../vim-7.3.540/src/search.c 2012-02-04 23:34:57.000000000 +0100
---- src/search.c 2012-06-06 13:00:29.000000000 +0200
-***************
-*** 1548,1554 ****
- int len;
- int stop = TRUE;
- #ifdef FEAT_MBYTE
-! static char_u bytes[MB_MAXBYTES];
- static int bytelen = 1; /* >1 for multi-byte char */
- #endif
-
---- 1548,1554 ----
- int len;
- int stop = TRUE;
- #ifdef FEAT_MBYTE
-! static char_u bytes[MB_MAXBYTES + 1];
- static int bytelen = 1; /* >1 for multi-byte char */
- #endif
-
-***************
-*** 4901,4907 ****
- #ifdef FEAT_COMMENTS
- if ((*line != '#' ||
- STRNCMP(skipwhite(line + 1), "define", 6) != 0)
-! && get_leader_len(line, NULL, FALSE))
- matched = FALSE;
-
- /*
---- 4901,4907 ----
- #ifdef FEAT_COMMENTS
- if ((*line != '#' ||
- STRNCMP(skipwhite(line + 1), "define", 6) != 0)
-! && get_leader_len(line, NULL, FALSE, TRUE))
- matched = FALSE;
-
- /*
-*** ../vim-7.3.540/src/testdir/test29.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test29.in 2012-06-06 15:44:38.000000000 +0200
-***************
-*** 4,19 ****
- and with 'cpoptions' flag 'j' set or not
-
- STARTTEST
- :set nocompatible viminfo+=nviminfo
- :set nojoinspaces
- :set cpoptions-=j
- /firstline/
-! j"tdGpJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions+=j
- j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j joinspaces
- j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions+=j
- j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j nojoinspaces compatible
-! j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj4Jy3l$pjdG:?firstline?+1,$w! test.out
-! :qa!
- ENDTEST
-
- firstline
---- 4,20 ----
- and with 'cpoptions' flag 'j' set or not
-
- STARTTEST
-+ :so small.vim
- :set nocompatible viminfo+=nviminfo
- :set nojoinspaces
- :set cpoptions-=j
- /firstline/
-! j"td/^STARTTEST/-1
-! PJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions+=j
- j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j joinspaces
- j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions+=j
- j05lmx2j06lmy2k4Jy3l$p`xyl$p`yy2l$p:set cpoptions-=j nojoinspaces compatible
-! j"tpJjJjJjJjJjJjJjJjJjJjJjJjJjJj4Jy3l$pjd/STARTTEST/-2
- ENDTEST
-
- firstline
-***************
-*** 54,56 ****
---- 55,181 ----
- hjkl iop!
- ert
-
-+ STARTTEST
-+ /^{/+1
-+ :set comments=s1:/*,mb:*,ex:*/,://
-+ :set nojoinspaces fo=j
-+ :set backspace=eol,start
-+ :.,+3join
-+ j4J
-+ :.,+2join
-+ j3J
-+ :.,+2join
-+ j3J
-+ :.,+2join
-+ jj3J
-+ ENDTEST
-+
-+ {
-+
-+ /*
-+ * Make sure the previous comment leader is not removed.
-+ */
-+
-+ /*
-+ * Make sure the previous comment leader is not removed.
-+ */
-+
-+ // Should the next comment leader be left alone?
-+ // Yes.
-+
-+ // Should the next comment leader be left alone?
-+ // Yes.
-+
-+ /* Here the comment leader should be left intact. */
-+ // And so should this one.
-+
-+ /* Here the comment leader should be left intact. */
-+ // And so should this one.
-+
-+ if (condition) // Remove the next comment leader!
-+ // OK, I will.
-+ action();
-+
-+ if (condition) // Remove the next comment leader!
-+ // OK, I will.
-+ action();
-+ }
-+
-+ STARTTEST
-+ /^{/+1
-+ :set comments=s1:/*,mb:*,ex:*/,://
-+ :set comments+=s1:>#,mb:#,ex:#<,:<
-+ :set cpoptions-=j joinspaces fo=j
-+ :set backspace=eol,start
-+ :.,+3join
-+ j4J
-+ :.,+2join
-+ j3J
-+ :.,+2join
-+ j3J
-+ :.,+2join
-+ jj3J
-+ j:.,+2join
-+ jj3J
-+ j:.,+5join
-+ j6J
-+ oSome code! // Make sure backspacing does not remove this comment leader.0i
-+ ENDTEST
-+
-+ {
-+
-+ /*
-+ * Make sure the previous comment leader is not removed.
-+ */
-+
-+ /*
-+ * Make sure the previous comment leader is not removed.
-+ */
-+
-+ // Should the next comment leader be left alone?
-+ // Yes.
-+
-+ // Should the next comment leader be left alone?
-+ // Yes.
-+
-+ /* Here the comment leader should be left intact. */
-+ // And so should this one.
-+
-+ /* Here the comment leader should be left intact. */
-+ // And so should this one.
-+
-+ if (condition) // Remove the next comment leader!
-+ // OK, I will.
-+ action();
-+
-+ if (condition) // Remove the next comment leader!
-+ // OK, I will.
-+ action();
-+
-+ int i = 7 /* foo *// 3
-+ // comment
-+ ;
-+
-+ int i = 7 /* foo *// 3
-+ // comment
-+ ;
-+
-+ ># Note that the last character of the ending comment leader (left angle
-+ # bracket) is a comment leader itself. Make sure that this comment leader is
-+ # not removed from the next line #<
-+ < On this line a new comment is opened which spans 2 lines. This comment should
-+ < retain its comment leader.
-+
-+ ># Note that the last character of the ending comment leader (left angle
-+ # bracket) is a comment leader itself. Make sure that this comment leader is
-+ # not removed from the next line #<
-+ < On this line a new comment is opened which spans 2 lines. This comment should
-+ < retain its comment leader.
-+
-+ }
-+
-+ STARTTEST
-+ :g/^STARTTEST/.,/^ENDTEST/d
-+ :?firstline?+1,$w! test.out
-+ :qa!
-+ ENDTEST
-*** ../vim-7.3.540/src/testdir/test29.ok 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test29.ok 2012-06-06 13:00:29.000000000 +0200
-***************
-*** 47,49 ****
---- 47,86 ----
- asdfasdf asdf
- asdfasdf asdf
- zx cvn. as dfg? hjkl iop! ert a
-+
-+
-+ {
-+ /* Make sure the previous comment leader is not removed. */
-+ /* Make sure the previous comment leader is not removed. */
-+ // Should the next comment leader be left alone? Yes.
-+ // Should the next comment leader be left alone? Yes.
-+ /* Here the comment leader should be left intact. */ // And so should this one.
-+ /* Here the comment leader should be left intact. */ // And so should this one.
-+ if (condition) // Remove the next comment leader! OK, I will.
-+ action();
-+ if (condition) // Remove the next comment leader! OK, I will.
-+ action();
-+ }
-+
-+
-+ {
-+ /* Make sure the previous comment leader is not removed. */
-+ /* Make sure the previous comment leader is not removed. */
-+ // Should the next comment leader be left alone? Yes.
-+ // Should the next comment leader be left alone? Yes.
-+ /* Here the comment leader should be left intact. */ // And so should this one.
-+ /* Here the comment leader should be left intact. */ // And so should this one.
-+ if (condition) // Remove the next comment leader! OK, I will.
-+ action();
-+ if (condition) // Remove the next comment leader! OK, I will.
-+ action();
-+ int i = 7 /* foo *// 3 // comment
-+ ;
-+ int i = 7 /* foo *// 3 // comment
-+ ;
-+ ># Note that the last character of the ending comment leader (left angle bracket) is a comment leader itself. Make sure that this comment leader is not removed from the next line #< < On this line a new comment is opened which spans 2 lines. This comment should retain its comment leader.
-+ ># Note that the last character of the ending comment leader (left angle bracket) is a comment leader itself. Make sure that this comment leader is not removed from the next line #< < On this line a new comment is opened which spans 2 lines. This comment should retain its comment leader.
-+
-+ Some code!// Make sure backspacing does not remove this comment leader.
-+ }
-+
-*** ../vim-7.3.540/src/version.c 2012-06-06 12:06:10.000000000 +0200
---- src/version.c 2012-06-06 16:10:03.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 541,
- /**/
-
---
-I have a drinking problem -- I don't have a drink!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.542 b/source/ap/vim/patches/7.3.542
deleted file mode 100644
index 81086126f..000000000
--- a/source/ap/vim/patches/7.3.542
+++ /dev/null
@@ -1,73 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.542
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.542 (after 7.3.506)
-Problem: Function is sometimes unused.
-Solution: Add #ifdef.
-Files: src/gui_gtk.c
-
-
-*** ../vim-7.3.541/src/gui_gtk.c 2012-04-25 17:10:12.000000000 +0200
---- src/gui_gtk.c 2012-06-06 15:25:12.000000000 +0200
-***************
-*** 90,100 ****
---- 90,102 ----
- static void entry_activate_cb(GtkWidget *widget, gpointer data);
- static void entry_changed_cb(GtkWidget *entry, GtkWidget *dialog);
- static void find_replace_cb(GtkWidget *widget, gpointer data);
-+ #if defined(FEAT_BROWSE) || defined(PROTO)
- static void recent_func_log_func(
- const gchar *log_domain,
- GLogLevelFlags log_level,
- const gchar *message,
- gpointer user_data);
-+ #endif
-
- #if defined(FEAT_TOOLBAR)
- /*
-***************
-*** 1896,1901 ****
---- 1898,1904 ----
- do_cmdline_cmd((char_u *)"emenu ToolBar.FindHelp");
- }
-
-+ #if defined(FEAT_BROWSE) || defined(PROTO)
- static void
- recent_func_log_func(const gchar *log_domain UNUSED,
- GLogLevelFlags log_level UNUSED,
-***************
-*** 1905,1908 ****
- /* We just want to suppress the warnings. */
- /* http://bugzilla.gnome.org/show_bug.cgi?id=664587 */
- }
-!
---- 1908,1911 ----
- /* We just want to suppress the warnings. */
- /* http://bugzilla.gnome.org/show_bug.cgi?id=664587 */
- }
-! #endif
-*** ../vim-7.3.541/src/version.c 2012-06-06 16:12:54.000000000 +0200
---- src/version.c 2012-06-06 16:14:17.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 542,
- /**/
-
---
-How To Keep A Healthy Level Of Insanity:
-1. At lunch time, sit in your parked car with sunglasses on and point
- a hair dryer at passing cars. See if they slow down.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.543 b/source/ap/vim/patches/7.3.543
deleted file mode 100644
index 3fa569cc9..000000000
--- a/source/ap/vim/patches/7.3.543
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.543
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.543
-Problem: The cursor is in the wrong line after using ":copen". (John
- Beckett)
-Solution: Invoke more drastic redraw method.
-Files: src/eval.c
-
-
-*** ../vim-7.3.542/src/eval.c 2012-06-01 15:20:49.000000000 +0200
---- src/eval.c 2012-06-06 16:28:11.000000000 +0200
-***************
-*** 18507,18515 ****
- curwin->w_skipcol = get_dict_number(dict, (char_u *)"skipcol");
-
- check_cursor();
-! changed_cline_bef_curs();
-! invalidate_botline();
-! redraw_later(VALID);
-
- if (curwin->w_topline == 0)
- curwin->w_topline = 1;
---- 18507,18513 ----
- curwin->w_skipcol = get_dict_number(dict, (char_u *)"skipcol");
-
- check_cursor();
-! changed_window_setting();
-
- if (curwin->w_topline == 0)
- curwin->w_topline = 1;
-*** ../vim-7.3.542/src/version.c 2012-06-06 16:14:36.000000000 +0200
---- src/version.c 2012-06-06 16:28:16.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 543,
- /**/
-
---
-How To Keep A Healthy Level Of Insanity:
-2. Page yourself over the intercom. Don't disguise your voice.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.544 b/source/ap/vim/patches/7.3.544
deleted file mode 100644
index 198a6cb1f..000000000
--- a/source/ap/vim/patches/7.3.544
+++ /dev/null
@@ -1,81 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.544
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.544
-Problem: There is no good way to close a quickfix window when closing the
- last ordinary window.
-Solution: Add the QuitPre autocommand.
-Files: src/ex_docmd.c, src/fileio.c, src/vim.h
-
-
-*** ../vim-7.3.543/src/ex_docmd.c 2012-06-06 16:12:54.000000000 +0200
---- src/ex_docmd.c 2012-06-06 17:58:41.000000000 +0200
-***************
-*** 6458,6463 ****
---- 6458,6464 ----
- return;
- }
- #ifdef FEAT_AUTOCMD
-+ apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
- if (curbuf_locked())
- return;
- #endif
-*** ../vim-7.3.543/src/fileio.c 2012-04-30 17:04:47.000000000 +0200
---- src/fileio.c 2012-06-06 17:32:12.000000000 +0200
-***************
-*** 7678,7683 ****
---- 7678,7684 ----
- {"MenuPopup", EVENT_MENUPOPUP},
- {"QuickFixCmdPost", EVENT_QUICKFIXCMDPOST},
- {"QuickFixCmdPre", EVENT_QUICKFIXCMDPRE},
-+ {"QuitPre", EVENT_QUITPRE},
- {"RemoteReply", EVENT_REMOTEREPLY},
- {"SessionLoadPost", EVENT_SESSIONLOADPOST},
- {"ShellCmdPost", EVENT_SHELLCMDPOST},
-*** ../vim-7.3.543/src/vim.h 2012-06-01 15:20:49.000000000 +0200
---- src/vim.h 2012-06-06 17:30:01.000000000 +0200
-***************
-*** 1264,1271 ****
- EVENT_INSERTENTER, /* when entering Insert mode */
- EVENT_INSERTLEAVE, /* when leaving Insert mode */
- EVENT_MENUPOPUP, /* just before popup menu is displayed */
-! EVENT_QUICKFIXCMDPOST, /* after :make, :grep etc */
-! EVENT_QUICKFIXCMDPRE, /* before :make, :grep etc */
- EVENT_SESSIONLOADPOST, /* after loading a session file */
- EVENT_STDINREADPOST, /* after reading from stdin */
- EVENT_STDINREADPRE, /* before reading from stdin */
---- 1264,1272 ----
- EVENT_INSERTENTER, /* when entering Insert mode */
- EVENT_INSERTLEAVE, /* when leaving Insert mode */
- EVENT_MENUPOPUP, /* just before popup menu is displayed */
-! EVENT_QUICKFIXCMDPOST, /* after :make, :grep etc. */
-! EVENT_QUICKFIXCMDPRE, /* before :make, :grep etc. */
-! EVENT_QUITPRE, /* before :quit */
- EVENT_SESSIONLOADPOST, /* after loading a session file */
- EVENT_STDINREADPOST, /* after reading from stdin */
- EVENT_STDINREADPRE, /* before reading from stdin */
-*** ../vim-7.3.543/src/version.c 2012-06-06 16:29:06.000000000 +0200
---- src/version.c 2012-06-06 18:02:09.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 544,
- /**/
-
---
-How To Keep A Healthy Level Of Insanity:
-3. Every time someone asks you to do something, ask if they want fries
- with that.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.545 b/source/ap/vim/patches/7.3.545
deleted file mode 100644
index 1bd76ebee..000000000
--- a/source/ap/vim/patches/7.3.545
+++ /dev/null
@@ -1,359 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.545
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.545
-Problem: When closing a window or buffer autocommands may close it too,
- causing problems for where the autocommand was invoked from.
-Solution: Add the w_closing and b_closing flags. When set disallow ":q" and
- ":close" to prevent recursive closing.
-Files: src/structs.h, src/buffer.c, src/ex_docmd.c, src/window.c
-
-
-*** ../vim-7.3.544/src/structs.h 2012-02-04 21:57:44.000000000 +0100
---- src/structs.h 2012-06-06 16:43:34.000000000 +0200
-***************
-*** 1201,1206 ****
---- 1201,1210 ----
- typedef struct qf_info_S qf_info_T;
- #endif
-
-+ /*
-+ * These are items normally related to a buffer. But when using ":ownsyntax"
-+ * a window may have its own instance.
-+ */
- typedef struct {
- #ifdef FEAT_SYN_HL
- hashtab_T b_keywtab; /* syntax keywords hash table */
-***************
-*** 1290,1295 ****
---- 1294,1303 ----
- int b_nwindows; /* nr of windows open on this buffer */
-
- int b_flags; /* various BF_ flags */
-+ #ifdef FEAT_AUTOCMD
-+ int b_closing; /* buffer is being closed, don't let
-+ autocommands close it too. */
-+ #endif
-
- /*
- * b_ffname has the full path of the file (NULL for no name).
-***************
-*** 1853,1858 ****
---- 1861,1870 ----
- win_T *w_prev; /* link to previous window */
- win_T *w_next; /* link to next window */
- #endif
-+ #ifdef FEAT_AUTOCMD
-+ int w_closing; /* window is being closed, don't let
-+ autocommands close it too. */
-+ #endif
-
- frame_T *w_frame; /* frame containing this window */
-
-*** ../vim-7.3.544/src/buffer.c 2012-03-16 14:32:10.000000000 +0100
---- src/buffer.c 2012-06-06 18:57:27.000000000 +0200
-***************
-*** 377,404 ****
- /* When the buffer is no longer in a window, trigger BufWinLeave */
- if (buf->b_nwindows == 1)
- {
- apply_autocmds(EVENT_BUFWINLEAVE, buf->b_fname, buf->b_fname,
- FALSE, buf);
-! /* Return if autocommands deleted the buffer or made it the only one. */
-! if (!buf_valid(buf) || (abort_if_last && one_window()))
- {
- EMSG(_(e_auabort));
- return;
- }
-
- /* When the buffer becomes hidden, but is not unloaded, trigger
- * BufHidden */
- if (!unload_buf)
- {
- apply_autocmds(EVENT_BUFHIDDEN, buf->b_fname, buf->b_fname,
- FALSE, buf);
-! /* Return if autocommands deleted the buffer or made it the only
-! * one. */
-! if (!buf_valid(buf) || (abort_if_last && one_window()))
-! {
-! EMSG(_(e_auabort));
-! return;
-! }
- }
- # ifdef FEAT_EVAL
- if (aborting()) /* autocmds may abort script processing */
---- 377,411 ----
- /* When the buffer is no longer in a window, trigger BufWinLeave */
- if (buf->b_nwindows == 1)
- {
-+ buf->b_closing = TRUE;
- apply_autocmds(EVENT_BUFWINLEAVE, buf->b_fname, buf->b_fname,
- FALSE, buf);
-! if (!buf_valid(buf))
- {
-+ /* Autocommands deleted the buffer. */
-+ aucmd_abort:
- EMSG(_(e_auabort));
- return;
- }
-+ buf->b_closing = FALSE;
-+ if (abort_if_last && one_window())
-+ /* Autocommands made this the only window. */
-+ goto aucmd_abort;
-
- /* When the buffer becomes hidden, but is not unloaded, trigger
- * BufHidden */
- if (!unload_buf)
- {
-+ buf->b_closing = TRUE;
- apply_autocmds(EVENT_BUFHIDDEN, buf->b_fname, buf->b_fname,
- FALSE, buf);
-! if (!buf_valid(buf))
-! /* Autocommands deleted the buffer. */
-! goto aucmd_abort;
-! buf->b_closing = FALSE;
-! if (abort_if_last && one_window())
-! /* Autocommands made this the only window. */
-! goto aucmd_abort;
- }
- # ifdef FEAT_EVAL
- if (aborting()) /* autocmds may abort script processing */
-***************
-*** 552,557 ****
---- 559,565 ----
- #ifdef FEAT_AUTOCMD
- int is_curbuf = (buf == curbuf);
-
-+ buf->b_closing = TRUE;
- apply_autocmds(EVENT_BUFUNLOAD, buf->b_fname, buf->b_fname, FALSE, buf);
- if (!buf_valid(buf)) /* autocommands may delete the buffer */
- return;
-***************
-*** 568,573 ****
---- 576,582 ----
- if (!buf_valid(buf)) /* autocommands may delete the buffer */
- return;
- }
-+ buf->b_closing = FALSE;
- # ifdef FEAT_EVAL
- if (aborting()) /* autocmds may abort script processing */
- return;
-***************
-*** 1150,1155 ****
---- 1159,1167 ----
- * a window with this buffer.
- */
- while (buf == curbuf
-+ # ifdef FEAT_AUTOCMD
-+ && !(curwin->w_closing || curwin->w_buffer->b_closing)
-+ # endif
- && (firstwin != lastwin || first_tabpage->tp_next != NULL))
- win_close(curwin, FALSE);
- #endif
-***************
-*** 4750,4756 ****
- #ifdef FEAT_WINDOWS
- || (had_tab > 0 && wp != firstwin)
- #endif
-! ) && firstwin != lastwin)
- {
- win_close(wp, FALSE);
- #ifdef FEAT_AUTOCMD
---- 4762,4772 ----
- #ifdef FEAT_WINDOWS
- || (had_tab > 0 && wp != firstwin)
- #endif
-! ) && firstwin != lastwin
-! #ifdef FEAT_AUTOCMD
-! && !(wp->w_closing || wp->w_buffer->b_closing)
-! #endif
-! )
- {
- win_close(wp, FALSE);
- #ifdef FEAT_AUTOCMD
-*** ../vim-7.3.544/src/ex_docmd.c 2012-06-06 18:03:01.000000000 +0200
---- src/ex_docmd.c 2012-06-06 18:06:46.000000000 +0200
-***************
-*** 6459,6465 ****
- }
- #ifdef FEAT_AUTOCMD
- apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
-! if (curbuf_locked())
- return;
- #endif
-
---- 6459,6467 ----
- }
- #ifdef FEAT_AUTOCMD
- apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
-! /* Refuse to quick when locked or when the buffer in the last window is
-! * being closed (can only happen in autocommands). */
-! if (curbuf_locked() || (curbuf->b_nwindows == 1 && curbuf->b_closing))
- return;
- #endif
-
-*** ../vim-7.3.544/src/window.c 2012-05-25 12:38:57.000000000 +0200
---- src/window.c 2012-06-06 18:47:19.000000000 +0200
-***************
-*** 2034,2040 ****
-
- for (wp = firstwin; wp != NULL && lastwin != firstwin; )
- {
-! if (wp->w_buffer == buf && (!keep_curwin || wp != curwin))
- {
- win_close(wp, FALSE);
-
---- 2034,2044 ----
-
- for (wp = firstwin; wp != NULL && lastwin != firstwin; )
- {
-! if (wp->w_buffer == buf && (!keep_curwin || wp != curwin)
-! #ifdef FEAT_AUTOCMD
-! && !(wp->w_closing || wp->w_buffer->b_closing)
-! #endif
-! )
- {
- win_close(wp, FALSE);
-
-***************
-*** 2051,2057 ****
- nexttp = tp->tp_next;
- if (tp != curtab)
- for (wp = tp->tp_firstwin; wp != NULL; wp = wp->w_next)
-! if (wp->w_buffer == buf)
- {
- win_close_othertab(wp, FALSE, tp);
-
---- 2055,2065 ----
- nexttp = tp->tp_next;
- if (tp != curtab)
- for (wp = tp->tp_firstwin; wp != NULL; wp = wp->w_next)
-! if (wp->w_buffer == buf
-! #ifdef FEAT_AUTOCMD
-! && !(wp->w_closing || wp->w_buffer->b_closing)
-! #endif
-! )
- {
- win_close_othertab(wp, FALSE, tp);
-
-***************
-*** 2168,2173 ****
---- 2176,2183 ----
- }
-
- #ifdef FEAT_AUTOCMD
-+ if (win->w_closing || win->w_buffer->b_closing)
-+ return; /* window is already being closed */
- if (win == aucmd_win)
- {
- EMSG(_("E813: Cannot close autocmd window"));
-***************
-*** 2203,2219 ****
- wp = frame2win(win_altframe(win, NULL));
-
- /*
-! * Be careful: If autocommands delete the window, return now.
- */
- if (wp->w_buffer != curbuf)
- {
- other_buffer = TRUE;
- apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf);
-! if (!win_valid(win) || last_window())
- return;
- }
- apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf);
-! if (!win_valid(win) || last_window())
- return;
- # ifdef FEAT_EVAL
- /* autocmds may abort script processing */
---- 2213,2238 ----
- wp = frame2win(win_altframe(win, NULL));
-
- /*
-! * Be careful: If autocommands delete the window or cause this window
-! * to be the last one left, return now.
- */
- if (wp->w_buffer != curbuf)
- {
- other_buffer = TRUE;
-+ win->w_closing = TRUE;
- apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf);
-! if (!win_valid(win))
-! return;
-! win->w_closing = FALSE;
-! if (last_window())
- return;
- }
-+ win->w_closing = TRUE;
- apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf);
-! if (!win_valid(win))
-! return;
-! win->w_closing = FALSE;
-! if (last_window())
- return;
- # ifdef FEAT_EVAL
- /* autocmds may abort script processing */
-***************
-*** 2240,2246 ****
- * Close the link to the buffer.
- */
- if (win->w_buffer != NULL)
-! close_buffer(win, win->w_buffer, free_buf ? DOBUF_UNLOAD : 0, TRUE);
-
- /* Autocommands may have closed the window already, or closed the only
- * other window or moved to another tab page. */
---- 2259,2274 ----
- * Close the link to the buffer.
- */
- if (win->w_buffer != NULL)
-! {
-! #ifdef FEAT_AUTOCMD
-! win->w_closing = TRUE;
-! #endif
-! close_buffer(win, win->w_buffer, free_buf ? DOBUF_UNLOAD : 0, FALSE);
-! #ifdef FEAT_AUTOCMD
-! if (win_valid(win))
-! win->w_closing = FALSE;
-! #endif
-! }
-
- /* Autocommands may have closed the window already, or closed the only
- * other window or moved to another tab page. */
-***************
-*** 2346,2351 ****
---- 2374,2384 ----
- tabpage_T *ptp = NULL;
- int free_tp = FALSE;
-
-+ #ifdef FEAT_AUTOCMD
-+ if (win->w_closing || win->w_buffer->b_closing)
-+ return; /* window is already being closed */
-+ #endif
-+
- /* Close the link to the buffer. */
- close_buffer(win, win->w_buffer, free_buf ? DOBUF_UNLOAD : 0, FALSE);
-
-*** ../vim-7.3.544/src/version.c 2012-06-06 18:03:01.000000000 +0200
---- src/version.c 2012-06-06 18:53:06.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 545,
- /**/
-
---
-How To Keep A Healthy Level Of Insanity:
-4. Put your garbage can on your desk and label it "in".
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.546 b/source/ap/vim/patches/7.3.546
deleted file mode 100644
index c883d2d62..000000000
--- a/source/ap/vim/patches/7.3.546
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.546
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.546
-Problem: Bogus line break.
-Solution: Remove the line break.
-Files: src/screen.c
-
-
-*** ../vim-7.3.545/src/screen.c 2012-06-01 15:20:49.000000000 +0200
---- src/screen.c 2012-06-01 16:31:30.000000000 +0200
-***************
-*** 3228,3235 ****
- /* no bad word found at line start, don't check until end of a
- * word */
- spell_hlf = HLF_COUNT;
-! word_end = (int)(spell_to_word_end(ptr, wp)
-! - line + 1);
- }
- else
- {
---- 3228,3234 ----
- /* no bad word found at line start, don't check until end of a
- * word */
- spell_hlf = HLF_COUNT;
-! word_end = (int)(spell_to_word_end(ptr, wp) - line + 1);
- }
- else
- {
-*** ../vim-7.3.545/src/version.c 2012-06-06 19:02:40.000000000 +0200
---- src/version.c 2012-06-06 19:05:11.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 546,
- /**/
-
---
-How To Keep A Healthy Level Of Insanity:
-5. Put decaf in the coffee maker for 3 weeks. Once everyone has gotten
- over their caffeine addictions, switch to espresso.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.547 b/source/ap/vim/patches/7.3.547
deleted file mode 100644
index 5533144a2..000000000
--- a/source/ap/vim/patches/7.3.547
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.547
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.547 (after 7.3.541)
-Problem: Compiler warning for uninitialized variable.
-Solution: Initialize it.
-Files: src/ops.c
-
-
-*** ../vim-7.3.546/src/ops.c 2012-06-06 16:12:54.000000000 +0200
---- src/ops.c 2012-06-06 23:06:45.000000000 +0200
-***************
-*** 4306,4312 ****
- colnr_T col = 0;
- int ret = OK;
- #if defined(FEAT_COMMENTS) || defined(PROTO)
-! int *comments;
- int remove_comments = (use_formatoptions == TRUE)
- && has_format_option(FO_REMOVE_COMS);
- int prev_was_comment;
---- 4306,4312 ----
- colnr_T col = 0;
- int ret = OK;
- #if defined(FEAT_COMMENTS) || defined(PROTO)
-! int *comments = NULL;
- int remove_comments = (use_formatoptions == TRUE)
- && has_format_option(FO_REMOVE_COMS);
- int prev_was_comment;
-*** ../vim-7.3.546/src/version.c 2012-06-06 19:05:45.000000000 +0200
---- src/version.c 2012-06-06 23:07:26.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 547,
- /**/
-
---
-How To Keep A Healthy Level Of Insanity:
-9. As often as possible, skip rather than walk.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.548 b/source/ap/vim/patches/7.3.548
deleted file mode 100644
index 3692a9a90..000000000
--- a/source/ap/vim/patches/7.3.548
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.548
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.548
-Problem: Compiler warning on 64 bit Windows.
-Solution: Add type cast. (Mike Williams)
-Files: src/ops.c
-
-
-*** ../vim-7.3.547/src/ops.c 2012-06-06 23:08:33.000000000 +0200
---- src/ops.c 2012-06-07 21:07:57.000000000 +0200
-***************
-*** 4352,4358 ****
-
- char_u *new_curr = skip_comment(curr, TRUE, insert_space,
- &prev_was_comment);
-! comments[t] = new_curr - curr;
- curr = new_curr;
- }
- else
---- 4352,4358 ----
-
- char_u *new_curr = skip_comment(curr, TRUE, insert_space,
- &prev_was_comment);
-! comments[t] = (int)(new_curr - curr);
- curr = new_curr;
- }
- else
-*** ../vim-7.3.547/src/version.c 2012-06-06 23:08:33.000000000 +0200
---- src/version.c 2012-06-07 21:08:35.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 548,
- /**/
-
---
-How To Keep A Healthy Level Of Insanity:
-17. When the money comes out the ATM, scream "I won!, I won! 3rd
- time this week!!!!!"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.549 b/source/ap/vim/patches/7.3.549
deleted file mode 100644
index 6d27fc3fd..000000000
--- a/source/ap/vim/patches/7.3.549
+++ /dev/null
@@ -1,125 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.549
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.549
-Problem: In 'cinoptions' "0s" is interpreted as one shiftwidth. (David
- Pineau)
-Solution: Use the zero as zero. (Lech Lorens)
-Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
-
-
-*** ../vim-7.3.548/src/misc1.c 2012-06-06 16:12:54.000000000 +0200
---- src/misc1.c 2012-06-13 13:17:11.000000000 +0200
-***************
-*** 6635,6640 ****
---- 6635,6641 ----
- int whilelevel;
- linenr_T lnum;
- char_u *options;
-+ char_u *digits;
- int fraction = 0; /* init for GCC */
- int divider;
- int n;
-***************
-*** 6650,6655 ****
---- 6651,6657 ----
- l = options++;
- if (*options == '-')
- ++options;
-+ digits = options; /* remember where the digits start */
- n = getdigits(&options);
- divider = 0;
- if (*options == '.') /* ".5s" means a fraction */
-***************
-*** 6666,6672 ****
- }
- if (*options == 's') /* "2s" means two times 'shiftwidth' */
- {
-! if (n == 0 && fraction == 0)
- n = curbuf->b_p_sw; /* just "s" is one 'shiftwidth' */
- else
- {
---- 6668,6674 ----
- }
- if (*options == 's') /* "2s" means two times 'shiftwidth' */
- {
-! if (options == digits)
- n = curbuf->b_p_sw; /* just "s" is one 'shiftwidth' */
- else
- {
-*** ../vim-7.3.548/src/testdir/test3.in 2012-04-05 17:17:38.000000000 +0200
---- src/testdir/test3.in 2012-06-13 13:17:31.000000000 +0200
-***************
-*** 977,982 ****
---- 977,1000 ----
-
- STARTTEST
- :set cin
-+ :set cino=es,n0s
-+ /main
-+ =][
-+ ENDTEST
-+
-+ main(void)
-+ {
-+ /* Make sure that cino=X0s is not parsed like cino=Xs. */
-+ if (cond)
-+ foo();
-+ else
-+ {
-+ bar();
-+ }
-+ }
-+
-+ STARTTEST
-+ :set cin
- :set cino=
- ]]=][
- ENDTEST
-*** ../vim-7.3.548/src/testdir/test3.ok 2012-04-05 17:17:38.000000000 +0200
---- src/testdir/test3.ok 2012-06-13 13:17:31.000000000 +0200
-***************
-*** 940,945 ****
---- 940,957 ----
- }
-
-
-+ main(void)
-+ {
-+ /* Make sure that cino=X0s is not parsed like cino=Xs. */
-+ if (cond)
-+ foo();
-+ else
-+ {
-+ bar();
-+ }
-+ }
-+
-+
- {
- do
- {
-*** ../vim-7.3.548/src/version.c 2012-06-07 21:09:35.000000000 +0200
---- src/version.c 2012-06-13 13:37:18.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 549,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-29. Your phone bill comes to your doorstep in a box.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.550 b/source/ap/vim/patches/7.3.550
deleted file mode 100644
index 6fba66cd5..000000000
--- a/source/ap/vim/patches/7.3.550
+++ /dev/null
@@ -1,160 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.550
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.550 (after 7.3.541)
-Problem: With "j" in 'formatoptions' a list leader is not removed. (Gary
- Johnson)
-Solution: Don't ignore the start of a three part comment. (Lech Lorens)
-Files: src/ops.c, src/testdir/test29.in, src/testdir/test29.ok
-
-
-*** ../vim-7.3.549/src/ops.c 2012-06-07 21:09:35.000000000 +0200
---- src/ops.c 2012-06-13 13:48:26.000000000 +0200
-***************
-*** 4250,4264 ****
- return line;
-
- /* Find:
-- * - COM_START,
- * - COM_END,
- * - colon,
- * whichever comes first.
- */
- while (*comment_flags)
- {
-! if (*comment_flags == COM_START
-! || *comment_flags == COM_END
- || *comment_flags == ':')
- {
- break;
---- 4250,4262 ----
- return line;
-
- /* Find:
- * - COM_END,
- * - colon,
- * whichever comes first.
- */
- while (*comment_flags)
- {
-! if (*comment_flags == COM_END
- || *comment_flags == ':')
- {
- break;
-***************
-*** 4267,4275 ****
- }
-
- /* If we found a colon, it means that we are not processing a line
-! * starting with an opening or a closing part of a three-part
-! * comment. That's good, because we don't want to remove those as
-! * this would be annoying.
- */
- if (*comment_flags == ':' || *comment_flags == NUL)
- line += lead_len;
---- 4265,4272 ----
- }
-
- /* If we found a colon, it means that we are not processing a line
-! * starting with a closing part of a three-part comment. That's good,
-! * because we don't want to remove those as this would be annoying.
- */
- if (*comment_flags == ':' || *comment_flags == NUL)
- line += lead_len;
-*** ../vim-7.3.549/src/testdir/test29.in 2012-06-06 16:12:54.000000000 +0200
---- src/testdir/test29.in 2012-06-13 13:48:26.000000000 +0200
-***************
-*** 103,114 ****
-
- STARTTEST
- /^{/+1
-! :set comments=s1:/*,mb:*,ex:*/,://
- :set comments+=s1:>#,mb:#,ex:#<,:<
- :set cpoptions-=j joinspaces fo=j
- :set backspace=eol,start
- :.,+3join
- j4J
- :.,+2join
- j3J
- :.,+2join
---- 103,117 ----
-
- STARTTEST
- /^{/+1
-! :set comments=sO:*\ -,mO:*\ \ ,exO:*/
-! :set comments+=s1:/*,mb:*,ex:*/,://
- :set comments+=s1:>#,mb:#,ex:#<,:<
- :set cpoptions-=j joinspaces fo=j
- :set backspace=eol,start
- :.,+3join
- j4J
-+ :.,+8join
-+ j9J
- :.,+2join
- j3J
- :.,+2join
-***************
-*** 132,137 ****
---- 135,158 ----
- * Make sure the previous comment leader is not removed.
- */
-
-+ /* List:
-+ * - item1
-+ * foo bar baz
-+ * foo bar baz
-+ * - item2
-+ * foo bar baz
-+ * foo bar baz
-+ */
-+
-+ /* List:
-+ * - item1
-+ * foo bar baz
-+ * foo bar baz
-+ * - item2
-+ * foo bar baz
-+ * foo bar baz
-+ */
-+
- // Should the next comment leader be left alone?
- // Yes.
-
-*** ../vim-7.3.549/src/testdir/test29.ok 2012-06-06 16:12:54.000000000 +0200
---- src/testdir/test29.ok 2012-06-13 13:48:26.000000000 +0200
-***************
-*** 66,71 ****
---- 66,73 ----
- {
- /* Make sure the previous comment leader is not removed. */
- /* Make sure the previous comment leader is not removed. */
-+ /* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */
-+ /* List: item1 foo bar baz foo bar baz item2 foo bar baz foo bar baz */
- // Should the next comment leader be left alone? Yes.
- // Should the next comment leader be left alone? Yes.
- /* Here the comment leader should be left intact. */ // And so should this one.
-*** ../vim-7.3.549/src/version.c 2012-06-13 13:40:45.000000000 +0200
---- src/version.c 2012-06-13 13:50:23.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 550,
- /**/
-
---
-If you put 7 of the most talented OSS developers in a room for a week
-and asked them to fix a bug in a spreadsheet program, in 1 week
-you'd have 2 new mail readers and a text-based web browser.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.551 b/source/ap/vim/patches/7.3.551
deleted file mode 100644
index db8dbac78..000000000
--- a/source/ap/vim/patches/7.3.551
+++ /dev/null
@@ -1,494 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.551
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.551
-Problem: When using :tablose a TabEnter autocommand is triggered too early.
- (Karthick)
-Solution: Don't trigger *Enter autocommands before closing the tab.
- (Christian Brabandt)
-Files: src/buffer.c, src/eval.c, src/ex_cmds2.c, src/fileio.c,
- src/proto/window.pro, src/window.c
-
-
-*** ../vim-7.3.550/src/buffer.c 2012-06-06 19:02:40.000000000 +0200
---- src/buffer.c 2012-06-13 14:18:58.000000000 +0200
-***************
-*** 4470,4476 ****
- * When the ":tab" modifier was used do this for all tab pages.
- */
- if (had_tab > 0)
-! goto_tabpage_tp(first_tabpage);
- for (;;)
- {
- tpnext = curtab->tp_next;
---- 4470,4476 ----
- * When the ":tab" modifier was used do this for all tab pages.
- */
- if (had_tab > 0)
-! goto_tabpage_tp(first_tabpage, TRUE);
- for (;;)
- {
- tpnext = curtab->tp_next;
-***************
-*** 4582,4588 ****
- if (!valid_tabpage(tpnext))
- tpnext = first_tabpage; /* start all over...*/
- # endif
-! goto_tabpage_tp(tpnext);
- }
-
- /*
---- 4582,4588 ----
- if (!valid_tabpage(tpnext))
- tpnext = first_tabpage; /* start all over...*/
- # endif
-! goto_tabpage_tp(tpnext, TRUE);
- }
-
- /*
-***************
-*** 4686,4698 ****
- if (last_curtab != new_curtab)
- {
- if (valid_tabpage(last_curtab))
-! goto_tabpage_tp(last_curtab);
- if (win_valid(last_curwin))
- win_enter(last_curwin, FALSE);
- }
- /* to window with first arg */
- if (valid_tabpage(new_curtab))
-! goto_tabpage_tp(new_curtab);
- if (win_valid(new_curwin))
- win_enter(new_curwin, FALSE);
-
---- 4686,4698 ----
- if (last_curtab != new_curtab)
- {
- if (valid_tabpage(last_curtab))
-! goto_tabpage_tp(last_curtab, TRUE);
- if (win_valid(last_curwin))
- win_enter(last_curwin, FALSE);
- }
- /* to window with first arg */
- if (valid_tabpage(new_curtab))
-! goto_tabpage_tp(new_curtab, TRUE);
- if (win_valid(new_curwin))
- win_enter(new_curwin, FALSE);
-
-***************
-*** 4744,4750 ****
- */
- #ifdef FEAT_WINDOWS
- if (had_tab > 0)
-! goto_tabpage_tp(first_tabpage);
- for (;;)
- {
- #endif
---- 4744,4750 ----
- */
- #ifdef FEAT_WINDOWS
- if (had_tab > 0)
-! goto_tabpage_tp(first_tabpage, TRUE);
- for (;;)
- {
- #endif
-***************
-*** 4784,4790 ****
- /* Without the ":tab" modifier only do the current tab page. */
- if (had_tab == 0 || tpnext == NULL)
- break;
-! goto_tabpage_tp(tpnext);
- }
- #endif
-
---- 4784,4790 ----
- /* Without the ":tab" modifier only do the current tab page. */
- if (had_tab == 0 || tpnext == NULL)
- break;
-! goto_tabpage_tp(tpnext, TRUE);
- }
- #endif
-
-*** ../vim-7.3.550/src/eval.c 2012-06-06 16:29:06.000000000 +0200
---- src/eval.c 2012-06-13 14:18:58.000000000 +0200
-***************
-*** 16415,16421 ****
- if (tp != NULL && varname != NULL && varp != NULL)
- {
- save_curtab = curtab;
-! goto_tabpage_tp(tp);
-
- tabvarname = alloc((unsigned)STRLEN(varname) + 3);
- if (tabvarname != NULL)
---- 16415,16421 ----
- if (tp != NULL && varname != NULL && varp != NULL)
- {
- save_curtab = curtab;
-! goto_tabpage_tp(tp, TRUE);
-
- tabvarname = alloc((unsigned)STRLEN(varname) + 3);
- if (tabvarname != NULL)
-***************
-*** 16428,16434 ****
-
- /* Restore current tabpage */
- if (valid_tabpage(save_curtab))
-! goto_tabpage_tp(save_curtab);
- }
- }
-
---- 16428,16434 ----
-
- /* Restore current tabpage */
- if (valid_tabpage(save_curtab))
-! goto_tabpage_tp(save_curtab, TRUE);
- }
- }
-
-***************
-*** 16492,16498 ****
- /* set curwin to be our win, temporarily */
- save_curwin = curwin;
- save_curtab = curtab;
-! goto_tabpage_tp(tp);
- if (!win_valid(win))
- return;
- curwin = win;
---- 16492,16498 ----
- /* set curwin to be our win, temporarily */
- save_curwin = curwin;
- save_curtab = curtab;
-! goto_tabpage_tp(tp, TRUE);
- if (!win_valid(win))
- return;
- curwin = win;
-***************
-*** 16527,16533 ****
- /* Restore current tabpage and window, if still valid (autocomands can
- * make them invalid). */
- if (valid_tabpage(save_curtab))
-! goto_tabpage_tp(save_curtab);
- if (win_valid(save_curwin))
- {
- curwin = save_curwin;
---- 16527,16533 ----
- /* Restore current tabpage and window, if still valid (autocomands can
- * make them invalid). */
- if (valid_tabpage(save_curtab))
-! goto_tabpage_tp(save_curtab, TRUE);
- if (win_valid(save_curwin))
- {
- curwin = save_curwin;
-*** ../vim-7.3.550/src/ex_cmds2.c 2012-04-25 17:32:14.000000000 +0200
---- src/ex_cmds2.c 2012-06-13 14:18:58.000000000 +0200
-***************
-*** 2476,2482 ****
- /* go to window "tp" */
- if (!valid_tabpage(tp))
- break;
-! goto_tabpage_tp(tp);
- tp = tp->tp_next;
- }
- #endif
---- 2476,2482 ----
- /* go to window "tp" */
- if (!valid_tabpage(tp))
- break;
-! goto_tabpage_tp(tp, TRUE);
- tp = tp->tp_next;
- }
- #endif
-*** ../vim-7.3.550/src/fileio.c 2012-06-06 18:03:01.000000000 +0200
---- src/fileio.c 2012-06-13 14:18:58.000000000 +0200
-***************
-*** 8918,8924 ****
- if (wp == aucmd_win)
- {
- if (tp != curtab)
-! goto_tabpage_tp(tp);
- win_goto(aucmd_win);
- goto win_found;
- }
---- 8918,8924 ----
- if (wp == aucmd_win)
- {
- if (tp != curtab)
-! goto_tabpage_tp(tp, TRUE);
- win_goto(aucmd_win);
- goto win_found;
- }
-*** ../vim-7.3.550/src/proto/window.pro 2012-02-22 14:58:24.000000000 +0100
---- src/proto/window.pro 2012-06-13 14:23:06.000000000 +0200
-***************
-*** 27,33 ****
- tabpage_T *find_tabpage __ARGS((int n));
- int tabpage_index __ARGS((tabpage_T *ftp));
- void goto_tabpage __ARGS((int n));
-! void goto_tabpage_tp __ARGS((tabpage_T *tp));
- void goto_tabpage_win __ARGS((tabpage_T *tp, win_T *wp));
- void tabpage_move __ARGS((int nr));
- void win_goto __ARGS((win_T *wp));
---- 27,33 ----
- tabpage_T *find_tabpage __ARGS((int n));
- int tabpage_index __ARGS((tabpage_T *ftp));
- void goto_tabpage __ARGS((int n));
-! void goto_tabpage_tp __ARGS((tabpage_T *tp, int trigger_autocmds));
- void goto_tabpage_win __ARGS((tabpage_T *tp, win_T *wp));
- void tabpage_move __ARGS((int nr));
- void win_goto __ARGS((win_T *wp));
-*** ../vim-7.3.550/src/window.c 2012-06-06 19:02:40.000000000 +0200
---- src/window.c 2012-06-13 14:24:38.000000000 +0200
-***************
-*** 45,51 ****
- #if defined(FEAT_WINDOWS) || defined(PROTO)
- static tabpage_T *alloc_tabpage __ARGS((void));
- static int leave_tabpage __ARGS((buf_T *new_curbuf));
-! static void enter_tabpage __ARGS((tabpage_T *tp, buf_T *old_curbuf));
- static void frame_fix_height __ARGS((win_T *wp));
- static int frame_minheight __ARGS((frame_T *topfrp, win_T *next_curwin));
- static void win_enter_ext __ARGS((win_T *wp, int undo_sync, int no_curwin));
---- 45,51 ----
- #if defined(FEAT_WINDOWS) || defined(PROTO)
- static tabpage_T *alloc_tabpage __ARGS((void));
- static int leave_tabpage __ARGS((buf_T *new_curbuf));
-! static void enter_tabpage __ARGS((tabpage_T *tp, buf_T *old_curbuf, int trigger_autocmds));
- static void frame_fix_height __ARGS((win_T *wp));
- static int frame_minheight __ARGS((frame_T *topfrp, win_T *next_curwin));
- static void win_enter_ext __ARGS((win_T *wp, int undo_sync, int no_curwin));
-***************
-*** 355,365 ****
- && valid_tabpage(oldtab))
- {
- newtab = curtab;
-! goto_tabpage_tp(oldtab);
- if (curwin == wp)
- win_close(curwin, FALSE);
- if (valid_tabpage(newtab))
-! goto_tabpage_tp(newtab);
- }
- }
- break;
---- 355,365 ----
- && valid_tabpage(oldtab))
- {
- newtab = curtab;
-! goto_tabpage_tp(oldtab, TRUE);
- if (curwin == wp)
- win_close(curwin, FALSE);
- if (valid_tabpage(newtab))
-! goto_tabpage_tp(newtab, TRUE);
- }
- }
- break;
-***************
-*** 2130,2137 ****
- * page and then close the window and the tab page. This avoids that
- * curwin and curtab are invalid while we are freeing memory, they may
- * be used in GUI events.
- */
-! goto_tabpage_tp(alt_tabpage());
- redraw_tabline = TRUE;
-
- /* Safety check: Autocommands may have closed the window when jumping
---- 2130,2139 ----
- * page and then close the window and the tab page. This avoids that
- * curwin and curtab are invalid while we are freeing memory, they may
- * be used in GUI events.
-+ * Don't trigger autocommands yet, they may use wrong values, so do
-+ * that below.
- */
-! goto_tabpage_tp(alt_tabpage(), FALSE);
- redraw_tabline = TRUE;
-
- /* Safety check: Autocommands may have closed the window when jumping
-***************
-*** 2144,2149 ****
---- 2146,2157 ----
- if (h != tabline_height())
- shell_new_rows();
- }
-+ /* Since goto_tabpage_tp above did not trigger *Enter autocommands, do
-+ * that now. */
-+ #ifdef FEAT_AUTOCMD
-+ apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
-+ apply_autocmds(EVENT_WINENTER, NULL, NULL, FALSE, curbuf);
-+ #endif
- return TRUE;
- }
- return FALSE;
-***************
-*** 3556,3562 ****
- }
-
- /* Failed, get back the previous Tab page */
-! enter_tabpage(curtab, curbuf);
- return FAIL;
- }
-
---- 3564,3570 ----
- }
-
- /* Failed, get back the previous Tab page */
-! enter_tabpage(curtab, curbuf, TRUE);
- return FAIL;
- }
-
-***************
-*** 3709,3719 ****
- /*
- * Start using tab page "tp".
- * Only to be used after leave_tabpage() or freeing the current tab page.
- */
- static void
-! enter_tabpage(tp, old_curbuf)
- tabpage_T *tp;
- buf_T *old_curbuf UNUSED;
- {
- int old_off = tp->tp_firstwin->w_winrow;
- win_T *next_prevwin = tp->tp_prevwin;
---- 3717,3729 ----
- /*
- * Start using tab page "tp".
- * Only to be used after leave_tabpage() or freeing the current tab page.
-+ * Only trigger *Enter autocommands when trigger_autocmds is TRUE.
- */
- static void
-! enter_tabpage(tp, old_curbuf, trigger_autocmds)
- tabpage_T *tp;
- buf_T *old_curbuf UNUSED;
-+ int trigger_autocmds;
- {
- int old_off = tp->tp_firstwin->w_winrow;
- win_T *next_prevwin = tp->tp_prevwin;
-***************
-*** 3761,3769 ****
- #ifdef FEAT_AUTOCMD
- /* Apply autocommands after updating the display, when 'rows' and
- * 'columns' have been set correctly. */
-! apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
-! if (old_curbuf != curbuf)
-! apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
- #endif
-
- redraw_all_later(CLEAR);
---- 3771,3782 ----
- #ifdef FEAT_AUTOCMD
- /* Apply autocommands after updating the display, when 'rows' and
- * 'columns' have been set correctly. */
-! if (trigger_autocmds)
-! {
-! apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
-! if (old_curbuf != curbuf)
-! apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
-! }
- #endif
-
- redraw_all_later(CLEAR);
-***************
-*** 3839,3845 ****
- }
- }
-
-! goto_tabpage_tp(tp);
-
- #ifdef FEAT_GUI_TABLINE
- if (gui_use_tabline())
---- 3852,3858 ----
- }
- }
-
-! goto_tabpage_tp(tp, TRUE);
-
- #ifdef FEAT_GUI_TABLINE
- if (gui_use_tabline())
-***************
-*** 3849,3859 ****
-
- /*
- * Go to tabpage "tp".
- * Note: doesn't update the GUI tab.
- */
- void
-! goto_tabpage_tp(tp)
- tabpage_T *tp;
- {
- /* Don't repeat a message in another tab page. */
- set_keep_msg(NULL, 0);
---- 3862,3874 ----
-
- /*
- * Go to tabpage "tp".
-+ * Only trigger *Enter autocommands when trigger_autocmds is TRUE.
- * Note: doesn't update the GUI tab.
- */
- void
-! goto_tabpage_tp(tp, trigger_autocmds)
- tabpage_T *tp;
-+ int trigger_autocmds;
- {
- /* Don't repeat a message in another tab page. */
- set_keep_msg(NULL, 0);
-***************
-*** 3861,3869 ****
- if (tp != curtab && leave_tabpage(tp->tp_curwin->w_buffer) == OK)
- {
- if (valid_tabpage(tp))
-! enter_tabpage(tp, curbuf);
- else
-! enter_tabpage(curtab, curbuf);
- }
- }
-
---- 3876,3884 ----
- if (tp != curtab && leave_tabpage(tp->tp_curwin->w_buffer) == OK)
- {
- if (valid_tabpage(tp))
-! enter_tabpage(tp, curbuf, trigger_autocmds);
- else
-! enter_tabpage(curtab, curbuf, trigger_autocmds);
- }
- }
-
-***************
-*** 3876,3882 ****
- tabpage_T *tp;
- win_T *wp;
- {
-! goto_tabpage_tp(tp);
- if (curtab == tp && win_valid(wp))
- {
- win_enter(wp, TRUE);
---- 3891,3897 ----
- tabpage_T *tp;
- win_T *wp;
- {
-! goto_tabpage_tp(tp, TRUE);
- if (curtab == tp && win_valid(wp))
- {
- win_enter(wp, TRUE);
-*** ../vim-7.3.550/src/version.c 2012-06-13 14:01:36.000000000 +0200
---- src/version.c 2012-06-13 14:28:00.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 551,
- /**/
-
---
-Give a man a computer program and you give him a headache,
-but teach him to program computers and you give him the power
-to create headaches for others for the rest of his life...
- R. B. Forest
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.552 b/source/ap/vim/patches/7.3.552
deleted file mode 100644
index e9a560ec5..000000000
--- a/source/ap/vim/patches/7.3.552
+++ /dev/null
@@ -1,582 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.552
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.552
-Problem: Formatting inside comments does not use the "2" flag in
- 'formatoptions'.
-Solution: Support the "2" flag. (Tor Perkins)
-Files: src/vim.h, src/ops.c, src/edit.c, src/misc1.c,
- src/testdir/test68.in, src/testdir/test68.ok
-
-
-*** ../vim-7.3.551/src/vim.h 2012-06-06 18:03:01.000000000 +0200
---- src/vim.h 2012-06-13 16:07:27.000000000 +0200
-***************
-*** 1072,1083 ****
---- 1072,1085 ----
- #define INSCHAR_DO_COM 2 /* format comments */
- #define INSCHAR_CTRLV 4 /* char typed just after CTRL-V */
- #define INSCHAR_NO_FEX 8 /* don't use 'formatexpr' */
-+ #define INSCHAR_COM_LIST 16 /* format comments with list/2nd line indent */
-
- /* flags for open_line() */
- #define OPENLINE_DELSPACES 1 /* delete spaces after cursor */
- #define OPENLINE_DO_COM 2 /* format comments */
- #define OPENLINE_KEEPTRAIL 4 /* keep trailing spaces */
- #define OPENLINE_MARKFIX 8 /* fix mark positions */
-+ #define OPENLINE_COM_LIST 16 /* format comments with list/2nd line indent */
-
- /*
- * There are four history tables:
-*** ../vim-7.3.551/src/ops.c 2012-06-13 14:01:36.000000000 +0200
---- src/ops.c 2012-06-13 16:53:44.000000000 +0200
-***************
-*** 1727,1734 ****
- * and the delete is within one line. */
- if ((
- #ifdef FEAT_CLIPBOARD
-! ((clip_unnamed & CLIP_UNNAMED) && oap->regname == '*') ||
-! ((clip_unnamed & CLIP_UNNAMED_PLUS) && oap->regname == '+') ||
- #endif
- oap->regname == 0) && oap->motion_type != MLINE
- && oap->line_count == 1)
---- 1727,1734 ----
- * and the delete is within one line. */
- if ((
- #ifdef FEAT_CLIPBOARD
-! ((clip_unnamed & CLIP_UNNAMED) && oap->regname == '*') ||
-! ((clip_unnamed & CLIP_UNNAMED_PLUS) && oap->regname == '+') ||
- #endif
- oap->regname == 0) && oap->motion_type != MLINE
- && oap->line_count == 1)
-***************
-*** 4208,4217 ****
- * "is_comment".
- * line - line to be processed,
- * process - if FALSE, will only check whether the line ends with an unclosed
-! * comment,
- * include_space - whether to also skip space following the comment leader,
- * is_comment - will indicate whether the current line ends with an unclosed
-! * comment.
- */
- static char_u *
- skip_comment(line, process, include_space, is_comment)
---- 4208,4217 ----
- * "is_comment".
- * line - line to be processed,
- * process - if FALSE, will only check whether the line ends with an unclosed
-! * comment,
- * include_space - whether to also skip space following the comment leader,
- * is_comment - will indicate whether the current line ends with an unclosed
-! * comment.
- */
- static char_u *
- skip_comment(line, process, include_space, is_comment)
-***************
-*** 4723,4731 ****
- char_u *leader_flags = NULL; /* flags for leader of current line */
- char_u *next_leader_flags; /* flags for leader of next line */
- int do_comments; /* format comments */
- #endif
- int advance = TRUE;
-! int second_indent = -1;
- int do_second_indent;
- int do_number_indent;
- int do_trail_white;
---- 4723,4733 ----
- char_u *leader_flags = NULL; /* flags for leader of current line */
- char_u *next_leader_flags; /* flags for leader of next line */
- int do_comments; /* format comments */
-+ int do_comments_list = 0; /* format comments with 'n' or '2' */
- #endif
- int advance = TRUE;
-! int second_indent = -1; /* indent for second line (comment
-! * aware) */
- int do_second_indent;
- int do_number_indent;
- int do_trail_white;
-***************
-*** 4828,4845 ****
- if (first_par_line
- && (do_second_indent || do_number_indent)
- && prev_is_end_par
-! && curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count
- #ifdef FEAT_COMMENTS
-! && leader_len == 0
-! && next_leader_len == 0
- #endif
-! )
-! {
-! if (do_second_indent
-! && !lineempty(curwin->w_cursor.lnum + 1))
-! second_indent = get_indent_lnum(curwin->w_cursor.lnum + 1);
- else if (do_number_indent)
-! second_indent = get_number_indent(curwin->w_cursor.lnum);
- }
-
- /*
---- 4830,4875 ----
- if (first_par_line
- && (do_second_indent || do_number_indent)
- && prev_is_end_par
-! && curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count)
-! {
-! if (do_second_indent && !lineempty(curwin->w_cursor.lnum + 1))
-! {
- #ifdef FEAT_COMMENTS
-! if (leader_len == 0 && next_leader_len == 0)
-! {
-! /* no comment found */
- #endif
-! second_indent =
-! get_indent_lnum(curwin->w_cursor.lnum + 1);
-! #ifdef FEAT_COMMENTS
-! }
-! else
-! {
-! second_indent = next_leader_len;
-! do_comments_list = 1;
-! }
-! #endif
-! }
- else if (do_number_indent)
-! {
-! #ifdef FEAT_COMMENTS
-! if (leader_len == 0 && next_leader_len == 0)
-! {
-! /* no comment found */
-! #endif
-! second_indent =
-! get_number_indent(curwin->w_cursor.lnum);
-! #ifdef FEAT_COMMENTS
-! }
-! else
-! {
-! /* get_number_indent() is now "comment aware"... */
-! second_indent =
-! get_number_indent(curwin->w_cursor.lnum);
-! do_comments_list = 1;
-! }
-! #endif
-! }
- }
-
- /*
-***************
-*** 4878,4883 ****
---- 4908,4915 ----
- insertchar(NUL, INSCHAR_FORMAT
- #ifdef FEAT_COMMENTS
- + (do_comments ? INSCHAR_DO_COM : 0)
-+ + (do_comments && do_comments_list
-+ ? INSCHAR_COM_LIST : 0)
- #endif
- + (avoid_fex ? INSCHAR_NO_FEX : 0), second_indent);
- State = old_State;
-*** ../vim-7.3.551/src/edit.c 2012-06-06 16:12:54.000000000 +0200
---- src/edit.c 2012-06-13 16:54:10.000000000 +0200
-***************
-*** 1463,1469 ****
- * what check_abbr() expects. */
- (has_mbyte && c >= 0x100) ? (c + ABBR_OFF) :
- #endif
-! c) && c != Ctrl_RSB))
- {
- insert_special(c, FALSE, FALSE);
- #ifdef FEAT_RIGHTLEFT
---- 1463,1469 ----
- * what check_abbr() expects. */
- (has_mbyte && c >= 0x100) ? (c + ABBR_OFF) :
- #endif
-! c) && c != Ctrl_RSB))
- {
- insert_special(c, FALSE, FALSE);
- #ifdef FEAT_RIGHTLEFT
-***************
-*** 5769,5774 ****
---- 5769,5784 ----
- # define WHITECHAR(cc) vim_iswhite(cc)
- #endif
-
-+ /*
-+ * "flags": INSCHAR_FORMAT - force formatting
-+ * INSCHAR_CTRLV - char typed just after CTRL-V
-+ * INSCHAR_NO_FEX - don't use 'formatexpr'
-+ *
-+ * NOTE: passes the flags value straight through to internal_format() which,
-+ * beside INSCHAR_FORMAT (above), is also looking for these:
-+ * INSCHAR_DO_COM - format comments
-+ * INSCHAR_COM_LIST - format comments with num list or 2nd line indent
-+ */
- void
- insertchar(c, flags, second_indent)
- int c; /* character to insert or NUL */
-***************
-*** 6011,6016 ****
---- 6021,6029 ----
-
- /*
- * Format text at the current insert position.
-+ *
-+ * If the INSCHAR_COM_LIST flag is present, then the value of second_indent
-+ * will be the comment leader length sent to open_line().
- */
- static void
- internal_format(textwidth, second_indent, flags, format_only, c)
-***************
-*** 6289,6311 ****
- + (fo_white_par ? OPENLINE_KEEPTRAIL : 0)
- #ifdef FEAT_COMMENTS
- + (do_comments ? OPENLINE_DO_COM : 0)
- #endif
-! , old_indent);
-! old_indent = 0;
-
- replace_offset = 0;
- if (first_line)
- {
-! if (second_indent < 0 && has_format_option(FO_Q_NUMBER))
-! second_indent = get_number_indent(curwin->w_cursor.lnum -1);
-! if (second_indent >= 0)
- {
- #ifdef FEAT_VREPLACE
-! if (State & VREPLACE_FLAG)
-! change_indent(INDENT_SET, second_indent, FALSE, NUL, TRUE);
-! else
- #endif
-! (void)set_indent(second_indent, SIN_CHANGED);
- }
- first_line = FALSE;
- }
---- 6302,6337 ----
- + (fo_white_par ? OPENLINE_KEEPTRAIL : 0)
- #ifdef FEAT_COMMENTS
- + (do_comments ? OPENLINE_DO_COM : 0)
-+ + ((flags & INSCHAR_COM_LIST) ? OPENLINE_COM_LIST : 0)
- #endif
-! , ((flags & INSCHAR_COM_LIST) ? second_indent : old_indent));
-! if (!(flags & INSCHAR_COM_LIST))
-! old_indent = 0;
-
- replace_offset = 0;
- if (first_line)
- {
-! if (!(flags & INSCHAR_COM_LIST))
- {
-+ /*
-+ * This section is for numeric lists w/o comments. If comment
-+ * indents are needed with numeric lists (formatoptions=nq),
-+ * then the INSCHAR_COM_LIST flag will cause the corresponding
-+ * OPENLINE_COM_LIST flag to be passed through to open_line()
-+ * (as seen above)...
-+ */
-+ if (second_indent < 0 && has_format_option(FO_Q_NUMBER))
-+ second_indent = get_number_indent(curwin->w_cursor.lnum -1);
-+ if (second_indent >= 0)
-+ {
- #ifdef FEAT_VREPLACE
-! if (State & VREPLACE_FLAG)
-! change_indent(INDENT_SET, second_indent,
-! FALSE, NUL, TRUE);
-! else
- #endif
-! (void)set_indent(second_indent, SIN_CHANGED);
-! }
- }
- first_line = FALSE;
- }
-*** ../vim-7.3.551/src/misc1.c 2012-06-13 13:40:45.000000000 +0200
---- src/misc1.c 2012-06-13 16:54:59.000000000 +0200
-***************
-*** 423,449 ****
- {
- colnr_T col;
- pos_T pos;
-- regmmatch_T regmatch;
-
- if (lnum > curbuf->b_ml.ml_line_count)
- return -1;
- pos.lnum = 0;
-! regmatch.regprog = vim_regcomp(curbuf->b_p_flp, RE_MAGIC);
-! if (regmatch.regprog != NULL)
- {
-! regmatch.rmm_ic = FALSE;
-! regmatch.rmm_maxcol = 0;
-! if (vim_regexec_multi(&regmatch, curwin, curbuf, lnum,
-! (colnr_T)0, NULL))
- {
-! pos.lnum = regmatch.endpos[0].lnum + lnum;
-! pos.col = regmatch.endpos[0].col;
- #ifdef FEAT_VIRTUALEDIT
-! pos.coladd = 0;
- #endif
- }
- vim_free(regmatch.regprog);
- }
-
- if (pos.lnum == 0 || *ml_get_pos(&pos) == NUL)
- return -1;
---- 423,492 ----
- {
- colnr_T col;
- pos_T pos;
-
- if (lnum > curbuf->b_ml.ml_line_count)
- return -1;
- pos.lnum = 0;
-!
-! #ifdef FEAT_COMMENTS
-! if (has_format_option(FO_Q_COMS) && has_format_option(FO_Q_NUMBER))
- {
-! regmatch_T regmatch;
-! int lead_len; /* length of comment leader */
-!
-! lead_len = get_leader_len(ml_get(lnum), NULL, FALSE, TRUE);
-! regmatch.regprog = vim_regcomp(curbuf->b_p_flp, RE_MAGIC);
-! if (regmatch.regprog != NULL)
- {
-! regmatch.rm_ic = FALSE;
-!
-! /* vim_regexec() expects a pointer to a line. This lets us
-! * start matching for the flp beyond any comment leader... */
-! if (vim_regexec(&regmatch, ml_get(lnum) + lead_len, (colnr_T)0))
-! {
-! pos.lnum = lnum;
-! pos.col = *regmatch.endp - (ml_get(lnum) + lead_len);
-! pos.col += lead_len;
- #ifdef FEAT_VIRTUALEDIT
-! pos.coladd = 0;
- #endif
-+ }
- }
- vim_free(regmatch.regprog);
- }
-+ else
-+ {
-+ /*
-+ * What follows is the orig code that is not "comment aware"...
-+ *
-+ * I'm not sure if regmmatch_T (multi-match) is needed in this case.
-+ * It may be true that this section would work properly using the
-+ * regmatch_T code above, in which case, these two seperate sections
-+ * should be consolidated w/ FEAT_COMMENTS making lead_len > 0...
-+ */
-+ #endif
-+ regmmatch_T regmatch;
-+
-+ regmatch.regprog = vim_regcomp(curbuf->b_p_flp, RE_MAGIC);
-+
-+ if (regmatch.regprog != NULL)
-+ {
-+ regmatch.rmm_ic = FALSE;
-+ regmatch.rmm_maxcol = 0;
-+ if (vim_regexec_multi(&regmatch, curwin, curbuf,
-+ lnum, (colnr_T)0, NULL))
-+ {
-+ pos.lnum = regmatch.endpos[0].lnum + lnum;
-+ pos.col = regmatch.endpos[0].col;
-+ #ifdef FEAT_VIRTUALEDIT
-+ pos.coladd = 0;
-+ #endif
-+ }
-+ vim_free(regmatch.regprog);
-+ }
-+ #ifdef FEAT_COMMENTS
-+ }
-+ #endif
-
- if (pos.lnum == 0 || *ml_get_pos(&pos) == NUL)
- return -1;
-***************
-*** 502,515 ****
- * OPENLINE_DO_COM format comments
- * OPENLINE_KEEPTRAIL keep trailing spaces
- * OPENLINE_MARKFIX adjust mark positions after the line break
- *
- * Return TRUE for success, FALSE for failure
- */
- int
-! open_line(dir, flags, old_indent)
- int dir; /* FORWARD or BACKWARD */
- int flags;
-! int old_indent; /* indent for after ^^D in Insert mode */
- {
- char_u *saved_line; /* copy of the original line */
- char_u *next_line = NULL; /* copy of the next line */
---- 545,562 ----
- * OPENLINE_DO_COM format comments
- * OPENLINE_KEEPTRAIL keep trailing spaces
- * OPENLINE_MARKFIX adjust mark positions after the line break
-+ * OPENLINE_COM_LIST format comments with list or 2nd line indent
-+ *
-+ * "second_line_indent": indent for after ^^D in Insert mode or if flag
-+ * OPENLINE_COM_LIST
- *
- * Return TRUE for success, FALSE for failure
- */
- int
-! open_line(dir, flags, second_line_indent)
- int dir; /* FORWARD or BACKWARD */
- int flags;
-! int second_line_indent;
- {
- char_u *saved_line; /* copy of the original line */
- char_u *next_line = NULL; /* copy of the next line */
-***************
-*** 650,657 ****
- * count white space on current line
- */
- newindent = get_indent_str(saved_line, (int)curbuf->b_p_ts);
-! if (newindent == 0)
-! newindent = old_indent; /* for ^^D command in insert mode */
-
- #ifdef FEAT_SMARTINDENT
- /*
---- 697,704 ----
- * count white space on current line
- */
- newindent = get_indent_str(saved_line, (int)curbuf->b_p_ts);
-! if (newindent == 0 && !(flags & OPENLINE_COM_LIST))
-! newindent = second_line_indent; /* for ^^D command in insert mode */
-
- #ifdef FEAT_SMARTINDENT
- /*
-***************
-*** 1008,1015 ****
- if (lead_len)
- {
- /* allocate buffer (may concatenate p_exta later) */
-! leader = alloc(lead_len + lead_repl_len + extra_space +
-! extra_len + 1);
- allocated = leader; /* remember to free it later */
-
- if (leader == NULL)
---- 1055,1062 ----
- if (lead_len)
- {
- /* allocate buffer (may concatenate p_exta later) */
-! leader = alloc(lead_len + lead_repl_len + extra_space + extra_len
-! + (second_line_indent > 0 ? second_line_indent : 0));
- allocated = leader; /* remember to free it later */
-
- if (leader == NULL)
-***************
-*** 1304,1309 ****
---- 1351,1370 ----
- /* concatenate leader and p_extra, if there is a leader */
- if (lead_len)
- {
-+ if (flags & OPENLINE_COM_LIST && second_line_indent > 0)
-+ {
-+ int i;
-+ int padding = second_line_indent - (newindent + STRLEN(leader));
-+
-+ /* Here whitespace is inserted after the comment char.
-+ * Below, set_indent(newindent, SIN_INSERT) will insert the
-+ * whitespace needed before the comment char. */
-+ for (i = 0; i < padding; i++)
-+ {
-+ STRCAT(leader, " ");
-+ newcol++;
-+ }
-+ }
- STRCAT(leader, p_extra);
- p_extra = leader;
- did_ai = TRUE; /* So truncating blanks works with comments */
-***************
-*** 4966,4973 ****
- char_u *
- FullName_save(fname, force)
- char_u *fname;
-! int force; /* force expansion, even when it already looks
-! like a full path name */
- {
- char_u *buf;
- char_u *new_fname = NULL;
---- 5027,5034 ----
- char_u *
- FullName_save(fname, force)
- char_u *fname;
-! int force; /* force expansion, even when it already looks
-! * like a full path name */
- {
- char_u *buf;
- char_u *new_fname = NULL;
-*** ../vim-7.3.551/src/testdir/test68.in 2010-10-09 17:21:42.000000000 +0200
---- src/testdir/test68.in 2012-06-13 15:49:38.000000000 +0200
-***************
-*** 51,56 ****
---- 51,77 ----
- }
-
- STARTTEST
-+ /^{/+1
-+ :set tw=5 fo=qn comments=:#
-+ gwap
-+ ENDTEST
-+
-+ {
-+ # 1 a b
-+ }
-+
-+ STARTTEST
-+ /^{/+1
-+ :set tw=5 fo=q2 comments=:#
-+ gwap
-+ ENDTEST
-+
-+ {
-+ # x
-+ # a b
-+ }
-+
-+ STARTTEST
- /^{/+2
- :set tw& fo=a
- I^^
-*** ../vim-7.3.551/src/testdir/test68.ok 2010-10-09 17:21:42.000000000 +0200
---- src/testdir/test68.ok 2012-06-13 15:49:38.000000000 +0200
-***************
-*** 34,38 ****
---- 34,50 ----
- }
-
-
-+ {
-+ # 1 a
-+ # b
-+ }
-+
-+
-+ {
-+ # x a
-+ # b
-+ }
-+
-+
- { 1aa ^^2bb }
-
-*** ../vim-7.3.551/src/version.c 2012-06-13 14:28:16.000000000 +0200
---- src/version.c 2012-06-13 16:36:14.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 552,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-31. You code your homework in HTML and give your instructor the URL.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.553 b/source/ap/vim/patches/7.3.553
deleted file mode 100644
index 82c757e10..000000000
--- a/source/ap/vim/patches/7.3.553
+++ /dev/null
@@ -1,85 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.553
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.553
-Problem: With double-width characters and 'listchars' containing "precedes"
- the text is displayed one cell off.
-Solution: Check for double-width character being overwritten by the
- "precedes" character. (Yasuhiro Matsumoto)
-Files: src/screen.c
-
-
-*** ../vim-7.3.552/src/screen.c 2012-06-06 19:05:45.000000000 +0200
---- src/screen.c 2012-06-13 17:55:10.000000000 +0200
-***************
-*** 89,94 ****
---- 89,97 ----
-
- #include "vim.h"
-
-+ #define MB_FILLER_CHAR '<' /* character used when a double-width character
-+ * doesn't fit. */
-+
- /*
- * The attributes that are actually active for writing to the screen.
- */
-***************
-*** 4016,4022 ****
- if (n_skip > 0 && mb_l > 1 && n_extra == 0)
- {
- n_extra = 1;
-! c_extra = '<';
- c = ' ';
- if (area_attr == 0 && search_attr == 0)
- {
---- 4019,4025 ----
- if (n_skip > 0 && mb_l > 1 && n_extra == 0)
- {
- n_extra = 1;
-! c_extra = MB_FILLER_CHAR;
- c = ' ';
- if (area_attr == 0 && search_attr == 0)
- {
-***************
-*** 4576,4581 ****
---- 4579,4593 ----
- c = lcs_prec;
- lcs_prec_todo = NUL;
- #ifdef FEAT_MBYTE
-+ if (has_mbyte && (*mb_char2cells)(mb_c) > 1)
-+ {
-+ /* Double-width character being overwritten by the "precedes"
-+ * character, need to fill up half the character. */
-+ c_extra = MB_FILLER_CHAR;
-+ n_extra = 1;
-+ n_attr = 2;
-+ extra_attr = hl_attr(HLF_AT);
-+ }
- mb_c = c;
- if (enc_utf8 && (*mb_char2len)(c) > 1)
- {
-*** ../vim-7.3.552/src/version.c 2012-06-13 17:28:51.000000000 +0200
---- src/version.c 2012-06-13 17:48:45.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 553,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-32. You don't know what sex three of your closest friends are, because they
- have neutral nicknames and you never bothered to ask.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.554 b/source/ap/vim/patches/7.3.554
deleted file mode 100644
index e8d4d37a9..000000000
--- a/source/ap/vim/patches/7.3.554
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.554
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.554 (after 7.3.551)
-Problem: Compiler warning for unused argument.
-Solution: Add UNUSED.
-Files: src/window.c
-
-
-*** ../vim-7.3.553/src/window.c 2012-06-13 14:28:16.000000000 +0200
---- src/window.c 2012-06-13 17:46:49.000000000 +0200
-***************
-*** 3723,3729 ****
- enter_tabpage(tp, old_curbuf, trigger_autocmds)
- tabpage_T *tp;
- buf_T *old_curbuf UNUSED;
-! int trigger_autocmds;
- {
- int old_off = tp->tp_firstwin->w_winrow;
- win_T *next_prevwin = tp->tp_prevwin;
---- 3723,3729 ----
- enter_tabpage(tp, old_curbuf, trigger_autocmds)
- tabpage_T *tp;
- buf_T *old_curbuf UNUSED;
-! int trigger_autocmds UNUSED;
- {
- int old_off = tp->tp_firstwin->w_winrow;
- win_T *next_prevwin = tp->tp_prevwin;
-*** ../vim-7.3.553/src/version.c 2012-06-13 18:06:32.000000000 +0200
---- src/version.c 2012-06-13 18:15:08.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 554,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-33. You name your children Eudora, Mozilla and Dotcom.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.555 b/source/ap/vim/patches/7.3.555
deleted file mode 100644
index acb684522..000000000
--- a/source/ap/vim/patches/7.3.555
+++ /dev/null
@@ -1,232 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.555
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.555
-Problem: Building on IBM z/OS fails.
-Solution: Adjust configure. Use the QUOTESED value from config.mk instead of
- the hard coded one in Makefile. (Stephen Bovy)
-Files: src/configure.in, src/auto/configure, src/Makefile
-
-
-*** ../vim-7.3.554/src/configure.in 2012-02-05 22:51:27.000000000 +0100
---- src/configure.in 2012-06-13 18:52:11.000000000 +0200
-***************
-*** 329,343 ****
- echo ""
- echo "------------------------------------------"
- echo " On z/OS Unix, the environment variable"
-! echo " __CC_${ccn}MODE must be set to \"1\"!"
- echo " Do:"
- echo " export _CC_${ccn}MODE=1"
- echo " and then call configure again."
- echo "------------------------------------------"
- exit 1
- fi
-! CFLAGS="$CFLAGS -D_ALL_SOURCE -Wc,float\\(IEEE\\)";
-! LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
- AC_MSG_RESULT(yes)
- ;;
- *) zOSUnix="no";
---- 329,346 ----
- echo ""
- echo "------------------------------------------"
- echo " On z/OS Unix, the environment variable"
-! echo " _CC_${ccn}MODE must be set to \"1\"!"
- echo " Do:"
- echo " export _CC_${ccn}MODE=1"
- echo " and then call configure again."
- echo "------------------------------------------"
- exit 1
- fi
-! # Set CFLAGS for configure process.
-! # This will be reset later for config.mk.
-! # Use haltonmsg to force error for missing H files.
-! CFLAGS="$CFLAGS -D_ALL_SOURCE -Wc,float(ieee),haltonmsg(3296)";
-! LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
- AC_MSG_RESULT(yes)
- ;;
- *) zOSUnix="no";
-***************
-*** 2378,2387 ****
- if test -z "$SKIP_MOTIF"; then
- cppflags_save=$CPPFLAGS
- CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-! AC_CHECK_HEADERS(Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h \
-! Xm/UnhighlightT.h Xm/Notebook.h)
-
-! if test $ac_cv_header_Xm_XpmP_h = yes; then
- dnl Solaris uses XpmAttributes_21, very annoying.
- AC_MSG_CHECKING([for XpmAttributes_21 in Xm/XpmP.h])
- AC_TRY_COMPILE([#include <Xm/XpmP.h>], [XpmAttributes_21 attr;],
---- 2381,2395 ----
- if test -z "$SKIP_MOTIF"; then
- cppflags_save=$CPPFLAGS
- CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-! if test "$zOSUnix" = "yes"; then
-! xmheader="Xm/Xm.h"
-! else
-! xmheader="Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h
-! Xm/UnhighlightT.h Xm/Notebook.h"
-! fi
-! AC_CHECK_HEADERS($xmheader)
-
-! if test "x$ac_cv_header_Xm_XpmP_h" = "xyes"; then
- dnl Solaris uses XpmAttributes_21, very annoying.
- AC_MSG_CHECKING([for XpmAttributes_21 in Xm/XpmP.h])
- AC_TRY_COMPILE([#include <Xm/XpmP.h>], [XpmAttributes_21 attr;],
-***************
-*** 3642,3647 ****
---- 3650,3660 ----
- fi
- AC_SUBST(LINK_AS_NEEDED)
-
-+ # IBM z/OS reset CFLAGS for config.mk
-+ if test "$zOSUnix" = "yes"; then
-+ CFLAGS="-D_ALL_SOURCE -Wc,float\(ieee\),dll"
-+ fi
-+
- dnl write output files
- AC_OUTPUT(auto/config.mk:config.mk.in)
-
-*** ../vim-7.3.554/src/auto/configure 2012-02-05 22:51:27.000000000 +0100
---- src/auto/configure 2012-06-13 18:53:04.000000000 +0200
-***************
-*** 4426,4440 ****
- echo ""
- echo "------------------------------------------"
- echo " On z/OS Unix, the environment variable"
-! echo " __CC_${ccn}MODE must be set to \"1\"!"
- echo " Do:"
- echo " export _CC_${ccn}MODE=1"
- echo " and then call configure again."
- echo "------------------------------------------"
- exit 1
- fi
-! CFLAGS="$CFLAGS -D_ALL_SOURCE -Wc,float\\(IEEE\\)";
-! LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
- ;;
---- 4426,4443 ----
- echo ""
- echo "------------------------------------------"
- echo " On z/OS Unix, the environment variable"
-! echo " _CC_${ccn}MODE must be set to \"1\"!"
- echo " Do:"
- echo " export _CC_${ccn}MODE=1"
- echo " and then call configure again."
- echo "------------------------------------------"
- exit 1
- fi
-! # Set CFLAGS for configure process.
-! # This will be reset later for config.mk.
-! # Use haltonmsg to force error for missing H files.
-! CFLAGS="$CFLAGS -D_ALL_SOURCE -Wc,float(ieee),haltonmsg(3296)";
-! LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
- ;;
-***************
-*** 8697,8704 ****
- if test -z "$SKIP_MOTIF"; then
- cppflags_save=$CPPFLAGS
- CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-! for ac_header in Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h \
-! Xm/UnhighlightT.h Xm/Notebook.h
- do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
- ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
---- 8700,8712 ----
- if test -z "$SKIP_MOTIF"; then
- cppflags_save=$CPPFLAGS
- CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-! if test "$zOSUnix" = "yes"; then
-! xmheader="Xm/Xm.h"
-! else
-! xmheader="Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h
-! Xm/UnhighlightT.h Xm/Notebook.h"
-! fi
-! for ac_header in $xmheader
- do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
- ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-***************
-*** 8713,8719 ****
- done
-
-
-! if test $ac_cv_header_Xm_XpmP_h = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XpmAttributes_21 in Xm/XpmP.h" >&5
- $as_echo_n "checking for XpmAttributes_21 in Xm/XpmP.h... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
---- 8721,8727 ----
- done
-
-
-! if test "x$ac_cv_header_Xm_XpmP_h" = "xyes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XpmAttributes_21 in Xm/XpmP.h" >&5
- $as_echo_n "checking for XpmAttributes_21 in Xm/XpmP.h... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-***************
-*** 12590,12595 ****
---- 12598,12608 ----
- fi
-
-
-+ # IBM z/OS reset CFLAGS for config.mk
-+ if test "$zOSUnix" = "yes"; then
-+ CFLAGS="-D_ALL_SOURCE -Wc,float\(ieee\),dll"
-+ fi
-+
- ac_config_files="$ac_config_files auto/config.mk:config.mk.in"
-
- cat >confcache <<\_ACEOF
-*** ../vim-7.3.554/src/Makefile 2012-03-28 17:17:45.000000000 +0200
---- src/Makefile 2012-06-13 18:48:13.000000000 +0200
-***************
-*** 875,880 ****
---- 875,884 ----
- #CFLAGS = -O -Qtarget=m88110compat
- #EXTRA_LIBS = -lgen
-
-+ # The value of QUOTESED comes from auto/config.mk.
-+ # Uncomment the next line to use the default value.
-+ # QUOTESED = sed -e 's/[\\"]/\\&/g' -e 's/\\"/"/' -e 's/\\";$$/";/'
-+
- ##################### end of system specific lines ################### }}}
-
- ### Names of the programs and targets {{{1
-***************
-*** 2411,2417 ****
- auto/osdef.h: auto/config.h osdef.sh osdef1.h.in osdef2.h.in
- CC="$(CC) $(OSDEF_CFLAGS)" srcdir=$(srcdir) sh $(srcdir)/osdef.sh
-
-- QUOTESED = sed -e 's/[\\"]/\\&/g' -e 's/\\"/"/' -e 's/\\";$$/";/'
- auto/pathdef.c: Makefile auto/config.mk
- -@echo creating $@
- -@echo '/* pathdef.c */' > $@
---- 2415,2420 ----
-*** ../vim-7.3.554/src/version.c 2012-06-13 18:15:13.000000000 +0200
---- src/version.c 2012-06-13 19:13:54.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 555,
- /**/
-
---
-My sister Cecilia opened a computer store in Hawaii.
-She sells C shells by the seashore.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.556 b/source/ap/vim/patches/7.3.556
deleted file mode 100644
index 068b8d1f8..000000000
--- a/source/ap/vim/patches/7.3.556
+++ /dev/null
@@ -1,70 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.556
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.556
-Problem: Compiler warnings on 64 bit Windows.
-Solution: Add type casts. (Mike Williams)
-Files: src/misc1.c
-
-
-*** ../vim-7.3.555/src/misc1.c 2012-06-13 17:28:51.000000000 +0200
---- src/misc1.c 2012-06-14 20:55:47.000000000 +0200
-***************
-*** 445,452 ****
- if (vim_regexec(&regmatch, ml_get(lnum) + lead_len, (colnr_T)0))
- {
- pos.lnum = lnum;
-! pos.col = *regmatch.endp - (ml_get(lnum) + lead_len);
-! pos.col += lead_len;
- #ifdef FEAT_VIRTUALEDIT
- pos.coladd = 0;
- #endif
---- 445,451 ----
- if (vim_regexec(&regmatch, ml_get(lnum) + lead_len, (colnr_T)0))
- {
- pos.lnum = lnum;
-! pos.col = (colnr_T)(*regmatch.endp - ml_get(lnum));
- #ifdef FEAT_VIRTUALEDIT
- pos.coladd = 0;
- #endif
-***************
-*** 1354,1360 ****
- if (flags & OPENLINE_COM_LIST && second_line_indent > 0)
- {
- int i;
-! int padding = second_line_indent - (newindent + STRLEN(leader));
-
- /* Here whitespace is inserted after the comment char.
- * Below, set_indent(newindent, SIN_INSERT) will insert the
---- 1353,1360 ----
- if (flags & OPENLINE_COM_LIST && second_line_indent > 0)
- {
- int i;
-! int padding = second_line_indent
-! - (newindent + (int)STRLEN(leader));
-
- /* Here whitespace is inserted after the comment char.
- * Below, set_indent(newindent, SIN_INSERT) will insert the
-*** ../vim-7.3.555/src/version.c 2012-06-13 19:19:36.000000000 +0200
---- src/version.c 2012-06-14 20:54:59.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 556,
- /**/
-
---
-He who laughs last, thinks slowest.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.557 b/source/ap/vim/patches/7.3.557
deleted file mode 100644
index 663c0720e..000000000
--- a/source/ap/vim/patches/7.3.557
+++ /dev/null
@@ -1,99 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.557
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.557
-Problem: Crash when an autocommand wipes out a buffer when it is hidden.
-Solution: Restore the current window when needed. (Christian Brabandt)
-Files: src/buffer.c
-
-
-*** ../vim-7.3.556/src/buffer.c 2012-06-13 14:28:16.000000000 +0200
---- src/buffer.c 2012-06-20 11:49:54.000000000 +0200
-***************
-*** 1363,1368 ****
---- 1363,1369 ----
- int action;
- {
- buf_T *prevbuf;
-+ win_T *prevwin;
- int unload = (action == DOBUF_UNLOAD || action == DOBUF_DEL
- || action == DOBUF_WIPE);
-
-***************
-*** 1402,1423 ****
- if (buf_valid(prevbuf))
- #endif
- {
- if (prevbuf == curbuf)
- u_sync(FALSE);
- close_buffer(prevbuf == curwin->w_buffer ? curwin : NULL, prevbuf,
- unload ? action : (action == DOBUF_GOTO
- && !P_HID(prevbuf)
- && !bufIsChanged(prevbuf)) ? DOBUF_UNLOAD : 0, FALSE);
- }
- }
- #ifdef FEAT_AUTOCMD
- /* An autocommand may have deleted "buf", already entered it (e.g., when
-! * it did ":bunload") or aborted the script processing! */
-! # ifdef FEAT_EVAL
-! if (buf_valid(buf) && buf != curbuf && !aborting())
-! # else
-! if (buf_valid(buf) && buf != curbuf)
-! # endif
- #endif
- enter_buffer(buf);
- }
---- 1403,1432 ----
- if (buf_valid(prevbuf))
- #endif
- {
-+ prevwin = curwin;
- if (prevbuf == curbuf)
- u_sync(FALSE);
- close_buffer(prevbuf == curwin->w_buffer ? curwin : NULL, prevbuf,
- unload ? action : (action == DOBUF_GOTO
- && !P_HID(prevbuf)
- && !bufIsChanged(prevbuf)) ? DOBUF_UNLOAD : 0, FALSE);
-+ if (curwin != prevwin && win_valid(prevwin))
-+ /* autocommands changed curwin, Grr! */
-+ curwin = prevwin;
- }
- }
- #ifdef FEAT_AUTOCMD
- /* An autocommand may have deleted "buf", already entered it (e.g., when
-! * it did ":bunload") or aborted the script processing!
-! * If curwin->w_buffer is null, enter_buffer() will make it valid again */
-! if ((buf_valid(buf) && buf != curbuf
-! #ifdef FEAT_EVAL
-! && !aborting()
-! #endif
-! #ifdef FEAT_WINDOWS
-! ) || curwin->w_buffer == NULL
-! #endif
-! )
- #endif
- enter_buffer(buf);
- }
-*** ../vim-7.3.556/src/version.c 2012-06-14 20:59:20.000000000 +0200
---- src/version.c 2012-06-20 11:53:56.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 557,
- /**/
-
---
-Don't read everything you believe.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.558 b/source/ap/vim/patches/7.3.558
deleted file mode 100644
index 015bc37da..000000000
--- a/source/ap/vim/patches/7.3.558
+++ /dev/null
@@ -1,90 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.558
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.558
-Problem: Memory access error. (Gary Johnson)
-Solution: Allocate one more byte. (Dominique Pelle)
-Files: src/misc1.c
-
-
-*** ../vim-7.3.557/src/misc1.c 2012-06-14 20:59:20.000000000 +0200
---- src/misc1.c 2012-06-20 12:34:57.000000000 +0200
-***************
-*** 460,466 ****
- *
- * I'm not sure if regmmatch_T (multi-match) is needed in this case.
- * It may be true that this section would work properly using the
-! * regmatch_T code above, in which case, these two seperate sections
- * should be consolidated w/ FEAT_COMMENTS making lead_len > 0...
- */
- #endif
---- 460,466 ----
- *
- * I'm not sure if regmmatch_T (multi-match) is needed in this case.
- * It may be true that this section would work properly using the
-! * regmatch_T code above, in which case, these two separate sections
- * should be consolidated w/ FEAT_COMMENTS making lead_len > 0...
- */
- #endif
-***************
-*** 1053,1061 ****
- }
- if (lead_len)
- {
-! /* allocate buffer (may concatenate p_exta later) */
- leader = alloc(lead_len + lead_repl_len + extra_space + extra_len
-! + (second_line_indent > 0 ? second_line_indent : 0));
- allocated = leader; /* remember to free it later */
-
- if (leader == NULL)
---- 1053,1061 ----
- }
- if (lead_len)
- {
-! /* allocate buffer (may concatenate p_extra later) */
- leader = alloc(lead_len + lead_repl_len + extra_space + extra_len
-! + (second_line_indent > 0 ? second_line_indent : 0) + 1);
- allocated = leader; /* remember to free it later */
-
- if (leader == NULL)
-***************
-*** 3342,3348 ****
- buf = alloc(buflen);
- else if (maxlen < 10)
- {
-! /* Need some more space. This migth happen when receiving a long
- * escape sequence. */
- buflen += 100;
- buf = vim_realloc(buf, buflen);
---- 3342,3348 ----
- buf = alloc(buflen);
- else if (maxlen < 10)
- {
-! /* Need some more space. This might happen when receiving a long
- * escape sequence. */
- buflen += 100;
- buf = vim_realloc(buf, buflen);
-*** ../vim-7.3.557/src/version.c 2012-06-20 11:54:55.000000000 +0200
---- src/version.c 2012-06-20 12:36:29.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 558,
- /**/
-
---
-George: "I just got a new set of golf clubs for my wife!"
- John: "Great trade!"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.559 b/source/ap/vim/patches/7.3.559
deleted file mode 100644
index df7673723..000000000
--- a/source/ap/vim/patches/7.3.559
+++ /dev/null
@@ -1,131 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.559
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.559
-Problem: home_replace() does not work with 8.3 filename.
-Solution: Make ":p" expand 8.3 name to full path. (Yasuhiro Matsumoto)
-Files: src/eval.c, src/misc1.c
-
-
-*** ../vim-7.3.558/src/eval.c 2012-06-13 14:28:16.000000000 +0200
---- src/eval.c 2012-06-20 13:52:47.000000000 +0200
-***************
-*** 23554,23559 ****
---- 23554,23580 ----
- return -1;
- }
-
-+ #ifdef WIN3264
-+ # if _WIN32_WINNT >= 0x0500
-+ if (vim_strchr(*fnamep, '~') != NULL)
-+ {
-+ /* Expand 8.3 filename to full path. Needed to make sure the same
-+ * file does not have two different names.
-+ * Note: problem does not occur if _WIN32_WINNT < 0x0500. */
-+ p = alloc(_MAX_PATH + 1);
-+ if (p != NULL)
-+ {
-+ if (GetLongPathName(*fnamep, p, MAXPATHL))
-+ {
-+ vim_free(*bufp);
-+ *bufp = *fnamep = p;
-+ }
-+ else
-+ vim_free(p);
-+ }
-+ }
-+ # endif
-+ #endif
- /* Append a path separator to a directory. */
- if (mch_isdir(*fnamep))
- {
-*** ../vim-7.3.558/src/misc1.c 2012-06-20 12:40:01.000000000 +0200
---- src/misc1.c 2012-06-20 13:57:22.000000000 +0200
-***************
-*** 4499,4505 ****
- {
- size_t dirlen = 0, envlen = 0;
- size_t len;
-! char_u *homedir_env;
- char_u *p;
-
- if (src == NULL)
---- 4499,4505 ----
- {
- size_t dirlen = 0, envlen = 0;
- size_t len;
-! char_u *homedir_env, *homedir_env_orig;
- char_u *p;
-
- if (src == NULL)
-***************
-*** 4525,4533 ****
- dirlen = STRLEN(homedir);
-
- #ifdef VMS
-! homedir_env = mch_getenv((char_u *)"SYS$LOGIN");
- #else
-! homedir_env = mch_getenv((char_u *)"HOME");
- #endif
-
- if (homedir_env != NULL && *homedir_env == NUL)
---- 4525,4548 ----
- dirlen = STRLEN(homedir);
-
- #ifdef VMS
-! homedir_env_orig = homedir_env = mch_getenv((char_u *)"SYS$LOGIN");
- #else
-! homedir_env_orig = homedir_env = mch_getenv((char_u *)"HOME");
-! #endif
-! #if defined(FEAT_MODIFY_FNAME) || defined(WIN3264)
-! if (vim_strchr(homedir_env, '~') != NULL)
-! {
-! int usedlen = 0;
-! int flen;
-! char_u *fbuf = NULL;
-!
-! flen = (int)STRLEN(homedir_env);
-! (void)modify_fname(":p", &usedlen, &homedir_env, &fbuf, &flen);
-! flen = (int)STRLEN(homedir_env);
-! if (flen > 0 && vim_ispathsep(homedir_env[flen - 1]))
-! /* Remove the trailing / that is added to a directory. */
-! homedir_env[flen - 1] = NUL;
-! }
- #endif
-
- if (homedir_env != NULL && *homedir_env == NUL)
-***************
-*** 4585,4590 ****
---- 4600,4608 ----
- /* if (dstlen == 0) out of space, what to do??? */
-
- *dst = NUL;
-+
-+ if (homedir_env != homedir_env_orig)
-+ vim_free(homedir_env);
- }
-
- /*
-*** ../vim-7.3.558/src/version.c 2012-06-20 12:40:01.000000000 +0200
---- src/version.c 2012-06-20 14:02:11.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 559,
- /**/
-
---
-The future isn't what it used to be.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.560 b/source/ap/vim/patches/7.3.560
deleted file mode 100644
index 7f4641118..000000000
--- a/source/ap/vim/patches/7.3.560
+++ /dev/null
@@ -1,49 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.560
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.560
-Problem: Get an error for a locked argument in extend().
-Solution: Initialize the lock flag for a dictionary. (Yukihiro Nakadaira)
-Files: src/eval.c
-
-
-*** ../vim-7.3.559/src/eval.c 2012-06-20 14:02:23.000000000 +0200
---- src/eval.c 2012-06-20 14:08:34.000000000 +0200
-***************
-*** 19981,19986 ****
---- 19981,19987 ----
- dictitem_T *dict_var;
- {
- hash_init(&dict->dv_hashtab);
-+ dict->dv_lock = 0;
- dict->dv_refcount = DO_NOT_FREE_CNT;
- dict->dv_copyID = 0;
- dict_var->di_tv.vval.v_dict = dict;
-*** ../vim-7.3.559/src/version.c 2012-06-20 14:02:23.000000000 +0200
---- src/version.c 2012-06-20 14:09:34.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 560,
- /**/
-
---
-"Oh, no! NOT the Spanish Inquisition!"
-"NOBODY expects the Spanish Inquisition!!!"
- -- Monty Python sketch --
-"Oh, no! NOT another option!"
-"EVERYBODY expects another option!!!"
- -- Discussion in vim-dev mailing list --
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.561 b/source/ap/vim/patches/7.3.561
deleted file mode 100644
index d51030c4e..000000000
--- a/source/ap/vim/patches/7.3.561
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.561
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.561
-Problem: Using refresh: always in a complete function breaks the "."
- command. (Val Markovic)
-Solution: Add match leader to the redo buffer. (Yasuhiro Matsumoto)
-Files: src/edit.c
-
-
-*** ../vim-7.3.560/src/edit.c 2012-06-13 17:28:51.000000000 +0200
---- src/edit.c 2012-06-20 14:22:23.000000000 +0200
-***************
-*** 3467,3476 ****
---- 3467,3480 ----
- (*mb_char2bytes)(c, buf);
- buf[cc] = NUL;
- ins_char_bytes(buf, cc);
-+ AppendToRedobuff(buf);
- }
- else
- #endif
-+ {
- ins_char(c);
-+ AppendCharToRedobuff(c);
-+ }
-
- /* If we didn't complete finding matches we must search again. */
- if (ins_compl_need_restart())
-*** ../vim-7.3.560/src/version.c 2012-06-20 14:13:02.000000000 +0200
---- src/version.c 2012-06-20 14:20:13.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 561,
- /**/
-
---
-Microsoft is to software what McDonalds is to gourmet cooking
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.562 b/source/ap/vim/patches/7.3.562
deleted file mode 100644
index 626de4950..000000000
--- a/source/ap/vim/patches/7.3.562
+++ /dev/null
@@ -1,63 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.562
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.562
-Problem: ":profdel" should not work when the +profile feature is disabled.
-Solution: Call ex_ni(). (Yasuhiro Matsumoto)
-Files: src/ex_cmds2.c
-
-
-*** ../vim-7.3.561/src/ex_cmds2.c 2012-06-13 14:28:16.000000000 +0200
---- src/ex_cmds2.c 2012-06-20 15:43:44.000000000 +0200
-***************
-*** 596,605 ****
- garray_T *gap;
-
- gap = &dbg_breakp;
-- #ifdef FEAT_PROFILE
- if (eap->cmdidx == CMD_profdel)
- gap = &prof_ga;
- #endif
-
- if (vim_isdigit(*eap->arg))
- {
---- 596,610 ----
- garray_T *gap;
-
- gap = &dbg_breakp;
- if (eap->cmdidx == CMD_profdel)
-+ {
-+ #ifdef FEAT_PROFILE
- gap = &prof_ga;
-+ #else
-+ ex_ni(eap);
-+ return;
- #endif
-+ }
-
- if (vim_isdigit(*eap->arg))
- {
-*** ../vim-7.3.561/src/version.c 2012-06-20 14:26:30.000000000 +0200
---- src/version.c 2012-06-20 15:44:00.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 562,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-42. Your virtual girlfriend finds a new net sweetheart with a larger bandwidth.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.563 b/source/ap/vim/patches/7.3.563
deleted file mode 100644
index c2ebf4105..000000000
--- a/source/ap/vim/patches/7.3.563
+++ /dev/null
@@ -1,97 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.563
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.563 (after 7.3.557)
-Problem: Can't build with tiny features.
-Solution: Add #ifdef.
-Files: src/buffer.c
-
-
-*** ../vim-7.3.562/src/buffer.c 2012-06-20 11:54:55.000000000 +0200
---- src/buffer.c 2012-06-20 17:40:59.000000000 +0200
-***************
-*** 1363,1369 ****
---- 1363,1371 ----
- int action;
- {
- buf_T *prevbuf;
-+ #ifdef FEAT_WINDOWS
- win_T *prevwin;
-+ #endif
- int unload = (action == DOBUF_UNLOAD || action == DOBUF_DEL
- || action == DOBUF_WIPE);
-
-***************
-*** 1403,1418 ****
---- 1405,1424 ----
- if (buf_valid(prevbuf))
- #endif
- {
-+ #ifdef FEAT_WINDOWS
- prevwin = curwin;
-+ #endif
- if (prevbuf == curbuf)
- u_sync(FALSE);
- close_buffer(prevbuf == curwin->w_buffer ? curwin : NULL, prevbuf,
- unload ? action : (action == DOBUF_GOTO
- && !P_HID(prevbuf)
- && !bufIsChanged(prevbuf)) ? DOBUF_UNLOAD : 0, FALSE);
-+ #ifdef FEAT_WINDOWS
- if (curwin != prevwin && win_valid(prevwin))
- /* autocommands changed curwin, Grr! */
- curwin = prevwin;
-+ #endif
- }
- }
- #ifdef FEAT_AUTOCMD
-***************
-*** 1420,1431 ****
- * it did ":bunload") or aborted the script processing!
- * If curwin->w_buffer is null, enter_buffer() will make it valid again */
- if ((buf_valid(buf) && buf != curbuf
-! #ifdef FEAT_EVAL
- && !aborting()
-! #endif
-! #ifdef FEAT_WINDOWS
- ) || curwin->w_buffer == NULL
-! #endif
- )
- #endif
- enter_buffer(buf);
---- 1426,1437 ----
- * it did ":bunload") or aborted the script processing!
- * If curwin->w_buffer is null, enter_buffer() will make it valid again */
- if ((buf_valid(buf) && buf != curbuf
-! # ifdef FEAT_EVAL
- && !aborting()
-! # endif
-! # ifdef FEAT_WINDOWS
- ) || curwin->w_buffer == NULL
-! # endif
- )
- #endif
- enter_buffer(buf);
-*** ../vim-7.3.562/src/version.c 2012-06-20 15:48:53.000000000 +0200
---- src/version.c 2012-06-20 17:54:01.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 563,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-45. You buy a Captain Kirk chair with a built-in keyboard and mouse.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.564 b/source/ap/vim/patches/7.3.564
deleted file mode 100644
index e806b8e46..000000000
--- a/source/ap/vim/patches/7.3.564
+++ /dev/null
@@ -1,53 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.564
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.564 (after 7.3.559)
-Problem: Warning for pointer conversion.
-Solution: Add type cast.
-Files: src/misc1.c
-
-
-*** ../vim-7.3.563/src/misc1.c 2012-06-20 14:02:23.000000000 +0200
---- src/misc1.c 2012-06-20 17:41:22.000000000 +0200
-***************
-*** 4537,4543 ****
- char_u *fbuf = NULL;
-
- flen = (int)STRLEN(homedir_env);
-! (void)modify_fname(":p", &usedlen, &homedir_env, &fbuf, &flen);
- flen = (int)STRLEN(homedir_env);
- if (flen > 0 && vim_ispathsep(homedir_env[flen - 1]))
- /* Remove the trailing / that is added to a directory. */
---- 4537,4544 ----
- char_u *fbuf = NULL;
-
- flen = (int)STRLEN(homedir_env);
-! (void)modify_fname((char_u *)":p", &usedlen,
-! &homedir_env, &fbuf, &flen);
- flen = (int)STRLEN(homedir_env);
- if (flen > 0 && vim_ispathsep(homedir_env[flen - 1]))
- /* Remove the trailing / that is added to a directory. */
-*** ../vim-7.3.563/src/version.c 2012-06-20 17:54:34.000000000 +0200
---- src/version.c 2012-06-20 17:55:26.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 564,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-46. Your wife makes a new rule: "The computer cannot come to bed."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.565 b/source/ap/vim/patches/7.3.565
deleted file mode 100644
index 171520b36..000000000
--- a/source/ap/vim/patches/7.3.565
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.566
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.566
-Problem: Can't generate proto file for Python 3.
-Solution: Add PYTHON3_CFLAGS to LINT_CFLAGS.
-Files: src/Makefile
-
-
-*** ../vim-7.3.564/src/Makefile 2012-06-13 19:19:36.000000000 +0200
---- src/Makefile 2012-06-20 18:36:14.000000000 +0200
-***************
-*** 1339,1345 ****
- # with "-E".
- OSDEF_CFLAGS = $(PRE_DEFS) $(POST_DEFS)
-
-! LINT_CFLAGS = -DLINT -I. $(PRE_DEFS) $(POST_DEFS) $(RUBY_CFLAGS) $(LUA_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) -Dinline= -D__extension__= -Dalloca=alloca
-
- LINT_EXTRA = -DUSE_SNIFF -DHANGUL_INPUT -D"__attribute__(x)="
-
---- 1339,1345 ----
- # with "-E".
- OSDEF_CFLAGS = $(PRE_DEFS) $(POST_DEFS)
-
-! LINT_CFLAGS = -DLINT -I. $(PRE_DEFS) $(POST_DEFS) $(RUBY_CFLAGS) $(LUA_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) $(PYTHON3_CFLAGS) -Dinline= -D__extension__= -Dalloca=alloca
-
- LINT_EXTRA = -DUSE_SNIFF -DHANGUL_INPUT -D"__attribute__(x)="
-
-*** ../vim-7.3.564/src/version.c 2012-06-20 17:56:06.000000000 +0200
---- src/version.c 2012-06-20 18:39:04.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 565,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-47. You are so familiar with the WWW that you find the search engines useless.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.566 b/source/ap/vim/patches/7.3.566
deleted file mode 100644
index a0600e812..000000000
--- a/source/ap/vim/patches/7.3.566
+++ /dev/null
@@ -1,83 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.566
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.566 (after 7.3.561)
-Problem: Redo after completion does not work correctly when refresh: always
- is not used. (Raymond Ko)
-Solution: Check the compl_opt_refresh_always flag. (Christian Brabandt)
-Files: src/edit.c
-
-
-*** ../vim-7.3.565/src/edit.c 2012-06-20 14:26:30.000000000 +0200
---- src/edit.c 2012-06-20 22:52:03.000000000 +0200
-***************
-*** 3467,3479 ****
- (*mb_char2bytes)(c, buf);
- buf[cc] = NUL;
- ins_char_bytes(buf, cc);
-! AppendToRedobuff(buf);
- }
- else
- #endif
- {
- ins_char(c);
-! AppendCharToRedobuff(c);
- }
-
- /* If we didn't complete finding matches we must search again. */
---- 3467,3481 ----
- (*mb_char2bytes)(c, buf);
- buf[cc] = NUL;
- ins_char_bytes(buf, cc);
-! if (compl_opt_refresh_always)
-! AppendToRedobuff(buf);
- }
- else
- #endif
- {
- ins_char(c);
-! if (compl_opt_refresh_always)
-! AppendCharToRedobuff(c);
- }
-
- /* If we didn't complete finding matches we must search again. */
-***************
-*** 3481,3487 ****
- ins_compl_restart();
-
- /* When 'always' is set, don't reset compl_leader. While completing,
-! * cursor don't point original position, changing compl_leader would
- * break redo. */
- if (!compl_opt_refresh_always)
- {
---- 3483,3489 ----
- ins_compl_restart();
-
- /* When 'always' is set, don't reset compl_leader. While completing,
-! * cursor doesn't point original position, changing compl_leader would
- * break redo. */
- if (!compl_opt_refresh_always)
- {
-*** ../vim-7.3.565/src/version.c 2012-06-20 18:39:12.000000000 +0200
---- src/version.c 2012-06-20 22:54:27.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 566,
- /**/
-
---
-CVS sux, men don't like commitment
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.567 b/source/ap/vim/patches/7.3.567
deleted file mode 100644
index 62399f18a..000000000
--- a/source/ap/vim/patches/7.3.567
+++ /dev/null
@@ -1,56 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.567
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.567
-Problem: Missing copyright notice.
-Solution: Add Vim copyright notice. (Taro Muraoka)
-Files: src/dehqx.py
-
-
-*** ../vim-7.3.566/src/dehqx.py 2010-08-15 21:57:32.000000000 +0200
---- src/dehqx.py 2012-06-29 11:27:41.000000000 +0200
-***************
-*** 1,7 ****
- # Python script to get both the data and resource fork from a BinHex encoded
- # file.
-! # Author: Taro Muraoka
-! # Last Change: 2003 Oct 25
-
- import sys
- import binhex
---- 1,10 ----
- # Python script to get both the data and resource fork from a BinHex encoded
- # file.
-! # Author: MURAOKA Taro <koron.kaoriya@gmail.com>
-! # Last Change: 2012 Jun 29
-! #
-! # Copyright (C) 2003,12 MURAOKA Taro <koron.kaoriya@gmail.com>
-! # THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
-
- import sys
- import binhex
-*** ../vim-7.3.566/src/version.c 2012-06-20 22:55:56.000000000 +0200
---- src/version.c 2012-06-29 11:45:36.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 567,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-66. You create a homepage with the impression to cure the afflicted...but
- your hidden agenda is to receive more e-mail.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.568 b/source/ap/vim/patches/7.3.568
deleted file mode 100644
index ef4fcfe51..000000000
--- a/source/ap/vim/patches/7.3.568
+++ /dev/null
@@ -1,138 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.568
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.568
-Problem: Bad indents for #ifdefs.
-Solution: Add and remove spaces. (Elias Diem)
-Files: src/globals.h
-
-
-*** ../vim-7.3.567/src/globals.h 2012-02-11 23:45:30.000000000 +0100
---- src/globals.h 2012-06-29 12:32:14.000000000 +0200
-***************
-*** 513,520 ****
- # define ONE_CLIPBOARD
- # endif
-
-! #define CLIP_UNNAMED 1
-! #define CLIP_UNNAMED_PLUS 2
- EXTERN int clip_unnamed INIT(= 0); /* above two values or'ed */
-
- EXTERN int clip_autoselect INIT(= FALSE);
---- 513,520 ----
- # define ONE_CLIPBOARD
- # endif
-
-! # define CLIP_UNNAMED 1
-! # define CLIP_UNNAMED_PLUS 2
- EXTERN int clip_unnamed INIT(= 0); /* above two values or'ed */
-
- EXTERN int clip_autoselect INIT(= FALSE);
-***************
-*** 737,745 ****
- #endif
-
- EXTERN pos_T saved_cursor /* w_cursor before formatting text. */
-! # ifdef DO_INIT
- = INIT_POS_T(0, 0, 0)
-! # endif
- ;
-
- /*
---- 737,745 ----
- #endif
-
- EXTERN pos_T saved_cursor /* w_cursor before formatting text. */
-! #ifdef DO_INIT
- = INIT_POS_T(0, 0, 0)
-! #endif
- ;
-
- /*
-***************
-*** 807,815 ****
- # endif
- EXTERN int has_mbyte INIT(= 0); /* any multi-byte encoding */
-
-! #if defined(WIN3264) && defined(FEAT_MBYTE)
- EXTERN int wide_WindowProc INIT(= FALSE); /* use wide WindowProc() */
-! #endif
-
- /*
- * To speed up BYTELEN() we fill a table with the byte lengths whenever
---- 807,815 ----
- # endif
- EXTERN int has_mbyte INIT(= 0); /* any multi-byte encoding */
-
-! # if defined(WIN3264) && defined(FEAT_MBYTE)
- EXTERN int wide_WindowProc INIT(= FALSE); /* use wide WindowProc() */
-! # endif
-
- /*
- * To speed up BYTELEN() we fill a table with the byte lengths whenever
-***************
-*** 1099,1106 ****
- EXTERN int save_p_ls INIT(= -1); /* Save 'laststatus' setting */
- EXTERN int save_p_wmh INIT(= -1); /* Save 'winminheight' setting */
- EXTERN int wild_menu_showing INIT(= 0);
-! #define WM_SHOWN 1 /* wildmenu showing */
-! #define WM_SCROLLED 2 /* wildmenu showing with scroll */
- #endif
-
- #ifdef MSWIN
---- 1099,1106 ----
- EXTERN int save_p_ls INIT(= -1); /* Save 'laststatus' setting */
- EXTERN int save_p_wmh INIT(= -1); /* Save 'winminheight' setting */
- EXTERN int wild_menu_showing INIT(= 0);
-! # define WM_SHOWN 1 /* wildmenu showing */
-! # define WM_SCROLLED 2 /* wildmenu showing with scroll */
- #endif
-
- #ifdef MSWIN
-***************
-*** 1310,1318 ****
- EXTERN Atom commProperty INIT(= None);
- EXTERN char_u *serverDelayedStartName INIT(= NULL);
- # else
-! # ifdef PROTO
- typedef int HWND;
-! # endif
- EXTERN HWND clientWindow INIT(= 0);
- # endif
- #endif
---- 1310,1318 ----
- EXTERN Atom commProperty INIT(= None);
- EXTERN char_u *serverDelayedStartName INIT(= NULL);
- # else
-! # ifdef PROTO
- typedef int HWND;
-! # endif
- EXTERN HWND clientWindow INIT(= 0);
- # endif
- #endif
-*** ../vim-7.3.567/src/version.c 2012-06-29 11:46:28.000000000 +0200
---- src/version.c 2012-06-29 12:34:21.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 568,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-67. Your hard drive crashes. You haven't logged in for two hours. You start
- to twitch. You pick up the phone and manually dial your ISP's access
- number. You try to hum to communicate with the modem. You succeed.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.569 b/source/ap/vim/patches/7.3.569
deleted file mode 100644
index 435733fee..000000000
--- a/source/ap/vim/patches/7.3.569
+++ /dev/null
@@ -1,4762 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.569
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.569
-Problem: Evaluating Vim expression in Python is insufficient.
-Solution: Add vim.bindeval(). Also add pyeval() and py3eval(). (ZyX)
-Files: runtime/doc/eval.txt, runtime/doc/if_pyth.txt, src/eval.c,
- src/if_lua.c, src/if_py_both.h, src/if_python.c, src/if_python3.c,
- src/proto/eval.pro, src/proto/if_python.pro,
- src/proto/if_python3.pro, src/testdir/Make_amiga.mak,
- src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
- src/testdir/Make_os2.mak, src/testdir/Makefile,
- src/testdir/test86.in, src/testdir/test86.ok,
- src/testdir/test87.in, src/testdir/test87.ok
-
-
-*** ../vim-7.3.568/runtime/doc/eval.txt 2012-03-07 19:16:49.000000000 +0100
---- runtime/doc/eval.txt 2012-06-20 18:01:02.000000000 +0200
-***************
-*** 1836,1844 ****
- localtime() Number current time
- log( {expr}) Float natural logarithm (base e) of {expr}
- log10( {expr}) Float logarithm of Float {expr} to base 10
- map( {expr}, {string}) List/Dict change each item in {expr} to {expr}
- maparg( {name}[, {mode} [, {abbr} [, {dict}]]])
-! String rhs of mapping {name} in mode {mode}
- mapcheck( {name}[, {mode} [, {abbr}]])
- String check for mappings matching {name}
- match( {expr}, {pat}[, {start}[, {count}]])
---- 1847,1857 ----
- localtime() Number current time
- log( {expr}) Float natural logarithm (base e) of {expr}
- log10( {expr}) Float logarithm of Float {expr} to base 10
-+ luaeval( {expr}[, {expr}]) any evaluate |Lua| expression
- map( {expr}, {string}) List/Dict change each item in {expr} to {expr}
- maparg( {name}[, {mode} [, {abbr} [, {dict}]]])
-! String or Dict
-! rhs of mapping {name} in mode {mode}
- mapcheck( {name}[, {mode} [, {abbr}]])
- String check for mappings matching {name}
- match( {expr}, {pat}[, {start}[, {count}]])
-***************
-*** 1867,1872 ****
---- 1880,1887 ----
- prevnonblank( {lnum}) Number line nr of non-blank line <= {lnum}
- printf( {fmt}, {expr1}...) String format text
- pumvisible() Number whether popup menu is visible
-+ pyeval( {expr}) any evaluate |Python| expression
-+ py3eval( {expr}) any evaluate |python3| expression
- range( {expr} [, {max} [, {stride}]])
- List items from {expr} to {max}
- readfile( {fname} [, {binary} [, {max}]])
-***************
-*** 3980,3985 ****
---- 4003,4022 ----
- < -2.0
- {only available when compiled with the |+float| feature}
-
-+ luaeval({expr}[, {expr}]) *luaeval()*
-+ Evaluate Lua expression {expr} and return its result converted
-+ to Vim data structures. Second {expr} may hold additional
-+ argument accessible as _A inside first {expr}.
-+ Strings are returned as they are.
-+ Boolean objects are converted to numbers.
-+ Numbers are converted to |Float| values if vim was compiled
-+ with |+float| and to numbers otherwise.
-+ Dictionaries and lists obtained by vim.eval() are returned
-+ as-is.
-+ Other objects are returned as zero without any errors.
-+ See |lua-luaeval| for more details.
-+ {only available when compiled with the |+lua| feature}
-+
- map({expr}, {string}) *map()*
- {expr} must be a |List| or a |Dictionary|.
- Replace each item in {expr} with the result of evaluating
-***************
-*** 4574,4579 ****
---- 4612,4640 ----
- This can be used to avoid some things that would remove the
- popup menu.
-
-+ *E860* *E861*
-+ py3eval({expr}) *py3eval()*
-+ Evaluate Python expression {expr} and return its result
-+ converted to Vim data structures.
-+ Numbers and strings are returned as they are (strings are
-+ copied though, unicode strings are additionally converted to
-+ 'encoding').
-+ Lists are represented as Vim |List| type.
-+ Dictionaries are represented as Vim |Dictionary| type with
-+ keys converted to strings.
-+ {only available when compiled with the |+python3| feature}
-+
-+ *E858* *E859*
-+ pyeval({expr}) *pyeval()*
-+ Evaluate Python expression {expr} and return its result
-+ converted to Vim data structures.
-+ Numbers and strings are returned as they are (strings are
-+ copied though).
-+ Lists are represented as Vim |List| type.
-+ Dictionaries are represented as Vim |Dictionary| type with
-+ keys converted to strings.
-+ {only available when compiled with the |+python| feature}
-+
- *E726* *E727*
- range({expr} [, {max} [, {stride}]]) *range()*
- Returns a |List| with Numbers:
-***************
-*** 4807,4812 ****
---- 4868,4877 ----
- Search for regexp pattern {pattern}. The search starts at the
- cursor position (you can use |cursor()| to set it).
-
-+ If there is no match a 0 is returned and the cursor doesn't
-+ move. No error message is given.
-+ When a match has been found its line number is returned.
-+
- {flags} is a String, which can contain these character flags:
- 'b' search backward instead of forward
- 'c' accept a match at the cursor position
-*** ../vim-7.3.568/runtime/doc/if_pyth.txt 2010-08-15 21:57:12.000000000 +0200
---- runtime/doc/if_pyth.txt 2012-06-20 18:01:02.000000000 +0200
-***************
-*** 1,4 ****
-! *if_pyth.txt* For Vim version 7.3. Last change: 2010 Aug 13
-
-
- VIM REFERENCE MANUAL by Paul Moore
---- 1,4 ----
-! *if_pyth.txt* For Vim version 7.3. Last change: 2012 Feb 04
-
-
- VIM REFERENCE MANUAL by Paul Moore
-***************
-*** 6,18 ****
-
- The Python Interface to Vim *python* *Python*
-
-! 1. Commands |python-commands|
-! 2. The vim module |python-vim|
-! 3. Buffer objects |python-buffer|
-! 4. Range objects |python-range|
-! 5. Window objects |python-window|
-! 6. Dynamic loading |python-dynamic|
-! 7. Python 3 |python3|
-
- {Vi does not have any of these commands}
-
---- 6,19 ----
-
- The Python Interface to Vim *python* *Python*
-
-! 1. Commands |python-commands|
-! 2. The vim module |python-vim|
-! 3. Buffer objects |python-buffer|
-! 4. Range objects |python-range|
-! 5. Window objects |python-window|
-! 6. pyeval(), py3eval() Vim functions |python-pyeval|
-! 7. Dynamic loading |python-dynamic|
-! 8. Python 3 |python3|
-
- {Vi does not have any of these commands}
-
-***************
-*** 150,155 ****
---- 151,172 ----
- [{'cmd': '/^eval_expr(arg, nextcmd)$/', 'static': 0, 'name':
- 'eval_expr', 'kind': 'f', 'filename': './src/eval.c'}]
-
-+ vim.bindeval(str) *python-bindeval*
-+ Like |python-eval|, but
-+ 1. if expression evaluates to |List| or |Dictionary| it is returned as
-+ vimlist or vimdictionary python type that are connected to original
-+ list or dictionary. Thus modifications to these objects imply
-+ modifications of the original.
-+ 2. if expression evaluates to a function reference, then it returns
-+ callable vimfunction object. Use self keyword argument to assign
-+ |self| object for dictionary functions.
-+
-+ Note: this function has the same behavior as |lua-eval| (except that
-+ lua does not support running vim functions), |python-eval| is
-+ kept for backwards compatibility in order not to make scripts
-+ relying on outputs of vim.eval() being a copy of original or
-+ vim.eval("1") returning a string.
-+
-
-
- Error object of the "vim" module
-***************
-*** 222,229 ****
- - from indexing vim.buffers (|python-buffers|)
- - from the "buffer" attribute of a window (|python-window|)
-
-! Buffer objects have one read-only attribute - name - the full file name for
-! the buffer. They also have three methods (append, mark, and range; see below).
-
- You can also treat buffer objects as sequence objects. In this context, they
- act as if they were lists (yes, they are mutable) of strings, with each
---- 239,247 ----
- - from indexing vim.buffers (|python-buffers|)
- - from the "buffer" attribute of a window (|python-window|)
-
-! Buffer objects have two read-only attributes - name - the full file name for
-! the buffer, and number - the buffer number. They also have three methods
-! (append, mark, and range; see below).
-
- You can also treat buffer objects as sequence objects. In this context, they
- act as if they were lists (yes, they are mutable) of strings, with each
-***************
-*** 318,324 ****
- The width attribute is writable only if the screen is split vertically.
-
- ==============================================================================
-! 6. Dynamic loading *python-dynamic*
-
- On MS-Windows the Python library can be loaded dynamically. The |:version|
- output then includes |+python/dyn|.
---- 336,348 ----
- The width attribute is writable only if the screen is split vertically.
-
- ==============================================================================
-! 6. pyeval() and py3eval() Vim functions *python-pyeval*
-!
-! To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()|
-! functions to evaluate Python expressions and pass their values to VimL.
-!
-! ==============================================================================
-! 7. Dynamic loading *python-dynamic*
-
- On MS-Windows the Python library can be loaded dynamically. The |:version|
- output then includes |+python/dyn|.
-***************
-*** 335,347 ****
- sure edit "gvim.exe" and search for "python\d*.dll\c".
-
- ==============================================================================
-! 7. Python 3 *python3*
-
- *:py3* *:python3*
- The |:py3| and |:python3| commands work similar to |:python|.
- *:py3file*
- The |:py3file| command works similar to |:pyfile|.
-
- Vim can be built in four ways (:version output):
- 1. No Python support (-python, -python3)
- 2. Python 2 support only (+python or +python/dyn, -python3)
---- 359,372 ----
- sure edit "gvim.exe" and search for "python\d*.dll\c".
-
- ==============================================================================
-! 8. Python 3 *python3*
-
- *:py3* *:python3*
- The |:py3| and |:python3| commands work similar to |:python|.
- *:py3file*
- The |:py3file| command works similar to |:pyfile|.
-
-+
- Vim can be built in four ways (:version output):
- 1. No Python support (-python, -python3)
- 2. Python 2 support only (+python or +python/dyn, -python3)
-***************
-*** 355,361 ****
- When doing this on Linux/Unix systems and importing global symbols, this leads
- to a crash when the second Python version is used. So either global symbols
- are loaded but only one Python version is activated, or no global symbols are
-! loaded. The latter makes Python's "import" fail on libaries that expect the
- symbols to be provided by Vim.
- *E836* *E837*
- Vim's configuration script makes a guess for all libraries based on one
---- 380,386 ----
- When doing this on Linux/Unix systems and importing global symbols, this leads
- to a crash when the second Python version is used. So either global symbols
- are loaded but only one Python version is activated, or no global symbols are
-! loaded. The latter makes Python's "import" fail on libraries that expect the
- symbols to be provided by Vim.
- *E836* *E837*
- Vim's configuration script makes a guess for all libraries based on one
-***************
-*** 377,382 ****
---- 402,419 ----
- 3. You undefine PY_NO_RTLD_GLOBAL in auto/config.h after configuration. This
- may crash Vim though.
-
-+ *has-python*
-+ You can test what Python version is available with: >
-+ if has('python')
-+ echo 'there is Python 2.x'
-+ elseif has('python3')
-+ echo 'there is Python 3.x'
-+ endif
-+
-+ Note however, that when Python 2 and 3 are both available and loaded
-+ dynamically, these has() calls will try to load them. If only one can be
-+ loaded at a time, just checking if Python 2 or 3 are available will prevent
-+ the other one from being available.
-
- ==============================================================================
- vim:tw=78:ts=8:ft=help:norl:
-*** ../vim-7.3.568/src/eval.c 2012-06-20 14:13:02.000000000 +0200
---- src/eval.c 2012-06-20 18:29:15.000000000 +0200
-***************
-*** 424,453 ****
- static int get_lit_string_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate));
- static int get_list_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate));
- static int rettv_list_alloc __ARGS((typval_T *rettv));
-- static listitem_T *listitem_alloc __ARGS((void));
- static void listitem_free __ARGS((listitem_T *item));
-- static void listitem_remove __ARGS((list_T *l, listitem_T *item));
- static long list_len __ARGS((list_T *l));
- static int list_equal __ARGS((list_T *l1, list_T *l2, int ic, int recursive));
- static int dict_equal __ARGS((dict_T *d1, dict_T *d2, int ic, int recursive));
- static int tv_equal __ARGS((typval_T *tv1, typval_T *tv2, int ic, int recursive));
-- static listitem_T *list_find __ARGS((list_T *l, long n));
- static long list_find_nr __ARGS((list_T *l, long idx, int *errorp));
- static long list_idx_of_item __ARGS((list_T *l, listitem_T *item));
-- static void list_append __ARGS((list_T *l, listitem_T *item));
- static int list_append_number __ARGS((list_T *l, varnumber_T n));
-- static int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item));
- static int list_extend __ARGS((list_T *l1, list_T *l2, listitem_T *bef));
- static int list_concat __ARGS((list_T *l1, list_T *l2, typval_T *tv));
- static list_T *list_copy __ARGS((list_T *orig, int deep, int copyID));
-- static void list_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2));
- static char_u *list2string __ARGS((typval_T *tv, int copyID));
- static int list_join_inner __ARGS((garray_T *gap, list_T *l, char_u *sep, int echo_style, int copyID, garray_T *join_gap));
- static int list_join __ARGS((garray_T *gap, list_T *l, char_u *sep, int echo, int copyID));
- static int free_unref_items __ARGS((int copyID));
-- static void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID));
-- static void set_ref_in_list __ARGS((list_T *l, int copyID));
-- static void set_ref_in_item __ARGS((typval_T *tv, int copyID));
- static int rettv_dict_alloc __ARGS((typval_T *rettv));
- static void dict_free __ARGS((dict_T *d, int recurse));
- static dictitem_T *dictitem_copy __ARGS((dictitem_T *org));
---- 424,444 ----
-***************
-*** 654,659 ****
---- 645,656 ----
- static void f_prevnonblank __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_printf __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_pumvisible __ARGS((typval_T *argvars, typval_T *rettv));
-+ #ifdef FEAT_PYTHON3
-+ static void f_py3eval __ARGS((typval_T *argvars, typval_T *rettv));
-+ #endif
-+ #ifdef FEAT_PYTHON
-+ static void f_pyeval __ARGS((typval_T *argvars, typval_T *rettv));
-+ #endif
- static void f_range __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_readfile __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_reltime __ARGS((typval_T *argvars, typval_T *rettv));
-***************
-*** 824,831 ****
- static char_u *autoload_name __ARGS((char_u *name));
- static void cat_func_name __ARGS((char_u *buf, ufunc_T *fp));
- static void func_free __ARGS((ufunc_T *fp));
-- static void func_unref __ARGS((char_u *name));
-- static void func_ref __ARGS((char_u *name));
- static void call_user_func __ARGS((ufunc_T *fp, int argcount, typval_T *argvars, typval_T *rettv, linenr_T firstline, linenr_T lastline, dict_T *selfdict));
- static int can_free_funccal __ARGS((funccall_T *fc, int copyID)) ;
- static void free_funccal __ARGS((funccall_T *fc, int free_val));
---- 821,826 ----
-***************
-*** 5927,5933 ****
- /*
- * Allocate a list item.
- */
-! static listitem_T *
- listitem_alloc()
- {
- return (listitem_T *)alloc(sizeof(listitem_T));
---- 5922,5928 ----
- /*
- * Allocate a list item.
- */
-! listitem_T *
- listitem_alloc()
- {
- return (listitem_T *)alloc(sizeof(listitem_T));
-***************
-*** 5947,5953 ****
- /*
- * Remove a list item from a List and free it. Also clears the value.
- */
-! static void
- listitem_remove(l, item)
- list_T *l;
- listitem_T *item;
---- 5942,5948 ----
- /*
- * Remove a list item from a List and free it. Also clears the value.
- */
-! void
- listitem_remove(l, item)
- list_T *l;
- listitem_T *item;
-***************
-*** 6123,6129 ****
- * A negative index is counted from the end; -1 is the last item.
- * Returns NULL when "n" is out of range.
- */
-! static listitem_T *
- list_find(l, n)
- list_T *l;
- long n;
---- 6118,6124 ----
- * A negative index is counted from the end; -1 is the last item.
- * Returns NULL when "n" is out of range.
- */
-! listitem_T *
- list_find(l, n)
- list_T *l;
- long n;
-***************
-*** 6265,6271 ****
- /*
- * Append item "item" to the end of list "l".
- */
-! static void
- list_append(l, item)
- list_T *l;
- listitem_T *item;
---- 6260,6266 ----
- /*
- * Append item "item" to the end of list "l".
- */
-! void
- list_append(l, item)
- list_T *l;
- listitem_T *item;
-***************
-*** 6378,6384 ****
- * If "item" is NULL append at the end.
- * Return FAIL when out of memory.
- */
-! static int
- list_insert_tv(l, tv, item)
- list_T *l;
- typval_T *tv;
---- 6373,6379 ----
- * If "item" is NULL append at the end.
- * Return FAIL when out of memory.
- */
-! int
- list_insert_tv(l, tv, item)
- list_T *l;
- typval_T *tv;
-***************
-*** 6523,6529 ****
- * Remove items "item" to "item2" from list "l".
- * Does not free the listitem or the value!
- */
-! static void
- list_remove(l, item, item2)
- list_T *l;
- listitem_T *item;
---- 6518,6524 ----
- * Remove items "item" to "item2" from list "l".
- * Does not free the listitem or the value!
- */
-! void
- list_remove(l, item, item2)
- list_T *l;
- listitem_T *item;
-***************
-*** 6785,6790 ****
---- 6780,6793 ----
- set_ref_in_lua(copyID);
- #endif
-
-+ #ifdef FEAT_PYTHON
-+ set_ref_in_python(copyID);
-+ #endif
-+
-+ #ifdef FEAT_PYTHON3
-+ set_ref_in_python3(copyID);
-+ #endif
-+
- /*
- * 2. Free lists and dictionaries that are not referenced.
- */
-***************
-*** 6870,6876 ****
- /*
- * Mark all lists and dicts referenced through hashtab "ht" with "copyID".
- */
-! static void
- set_ref_in_ht(ht, copyID)
- hashtab_T *ht;
- int copyID;
---- 6873,6879 ----
- /*
- * Mark all lists and dicts referenced through hashtab "ht" with "copyID".
- */
-! void
- set_ref_in_ht(ht, copyID)
- hashtab_T *ht;
- int copyID;
-***************
-*** 6890,6896 ****
- /*
- * Mark all lists and dicts referenced through list "l" with "copyID".
- */
-! static void
- set_ref_in_list(l, copyID)
- list_T *l;
- int copyID;
---- 6893,6899 ----
- /*
- * Mark all lists and dicts referenced through list "l" with "copyID".
- */
-! void
- set_ref_in_list(l, copyID)
- list_T *l;
- int copyID;
-***************
-*** 6904,6910 ****
- /*
- * Mark all lists and dicts referenced through typval "tv" with "copyID".
- */
-! static void
- set_ref_in_item(tv, copyID)
- typval_T *tv;
- int copyID;
---- 6907,6913 ----
- /*
- * Mark all lists and dicts referenced through typval "tv" with "copyID".
- */
-! void
- set_ref_in_item(tv, copyID)
- typval_T *tv;
- int copyID;
-***************
-*** 7986,7991 ****
---- 7989,8000 ----
- {"prevnonblank", 1, 1, f_prevnonblank},
- {"printf", 2, 19, f_printf},
- {"pumvisible", 0, 0, f_pumvisible},
-+ #ifdef FEAT_PYTHON3
-+ {"py3eval", 1, 1, f_py3eval},
-+ #endif
-+ #ifdef FEAT_PYTHON
-+ {"pyeval", 1, 1, f_pyeval},
-+ #endif
- {"range", 1, 3, f_range},
- {"readfile", 1, 3, f_readfile},
- {"reltime", 0, 2, f_reltime},
-***************
-*** 9150,9155 ****
---- 9159,9203 ----
- #endif
- }
-
-+ int
-+ func_call(name, args, selfdict, rettv)
-+ char_u *name;
-+ typval_T *args;
-+ dict_T *selfdict;
-+ typval_T *rettv;
-+ {
-+ listitem_T *item;
-+ typval_T argv[MAX_FUNC_ARGS + 1];
-+ int argc = 0;
-+ int dummy;
-+ int r = 0;
-+
-+ for (item = args->vval.v_list->lv_first; item != NULL;
-+ item = item->li_next)
-+ {
-+ if (argc == MAX_FUNC_ARGS)
-+ {
-+ EMSG(_("E699: Too many arguments"));
-+ break;
-+ }
-+ /* Make a copy of each argument. This is needed to be able to set
-+ * v_lock to VAR_FIXED in the copy without changing the original list.
-+ */
-+ copy_tv(&item->li_tv, &argv[argc++]);
-+ }
-+
-+ if (item == NULL)
-+ r = call_func(name, (int)STRLEN(name), rettv, argc, argv,
-+ curwin->w_cursor.lnum, curwin->w_cursor.lnum,
-+ &dummy, TRUE, selfdict);
-+
-+ /* Free the arguments. */
-+ while (argc > 0)
-+ clear_tv(&argv[--argc]);
-+
-+ return r;
-+ }
-+
- /*
- * "call(func, arglist)" function
- */
-***************
-*** 9159,9168 ****
- typval_T *rettv;
- {
- char_u *func;
-- typval_T argv[MAX_FUNC_ARGS + 1];
-- int argc = 0;
-- listitem_T *item;
-- int dummy;
- dict_T *selfdict = NULL;
-
- if (argvars[1].v_type != VAR_LIST)
---- 9207,9212 ----
-***************
-*** 9190,9217 ****
- selfdict = argvars[2].vval.v_dict;
- }
-
-! for (item = argvars[1].vval.v_list->lv_first; item != NULL;
-! item = item->li_next)
-! {
-! if (argc == MAX_FUNC_ARGS)
-! {
-! EMSG(_("E699: Too many arguments"));
-! break;
-! }
-! /* Make a copy of each argument. This is needed to be able to set
-! * v_lock to VAR_FIXED in the copy without changing the original list.
-! */
-! copy_tv(&item->li_tv, &argv[argc++]);
-! }
-!
-! if (item == NULL)
-! (void)call_func(func, (int)STRLEN(func), rettv, argc, argv,
-! curwin->w_cursor.lnum, curwin->w_cursor.lnum,
-! &dummy, TRUE, selfdict);
-!
-! /* Free the arguments. */
-! while (argc > 0)
-! clear_tv(&argv[--argc]);
- }
-
- #ifdef FEAT_FLOAT
---- 9234,9240 ----
- selfdict = argvars[2].vval.v_dict;
- }
-
-! (void)func_call(func, &argvars[1], selfdict, rettv);
- }
-
- #ifdef FEAT_FLOAT
-***************
-*** 14424,14429 ****
---- 14447,14486 ----
- #endif
- }
-
-+ #ifdef FEAT_PYTHON3
-+ /*
-+ * "py3eval()" function
-+ */
-+ static void
-+ f_py3eval(argvars, rettv)
-+ typval_T *argvars;
-+ typval_T *rettv;
-+ {
-+ char_u *str;
-+ char_u buf[NUMBUFLEN];
-+
-+ str = get_tv_string_buf(&argvars[0], buf);
-+ do_py3eval(str, rettv);
-+ }
-+ #endif
-+
-+ #ifdef FEAT_PYTHON
-+ /*
-+ * "pyeval()" function
-+ */
-+ static void
-+ f_pyeval(argvars, rettv)
-+ typval_T *argvars;
-+ typval_T *rettv;
-+ {
-+ char_u *str;
-+ char_u buf[NUMBUFLEN];
-+
-+ str = get_tv_string_buf(&argvars[0], buf);
-+ do_pyeval(str, rettv);
-+ }
-+ #endif
-+
- /*
- * "range()" function
- */
-***************
-*** 22139,22145 ****
- * Unreference a Function: decrement the reference count and free it when it
- * becomes zero. Only for numbered functions.
- */
-! static void
- func_unref(name)
- char_u *name;
- {
---- 22196,22202 ----
- * Unreference a Function: decrement the reference count and free it when it
- * becomes zero. Only for numbered functions.
- */
-! void
- func_unref(name)
- char_u *name;
- {
-***************
-*** 22163,22169 ****
- /*
- * Count a reference to a Function.
- */
-! static void
- func_ref(name)
- char_u *name;
- {
---- 22220,22226 ----
- /*
- * Count a reference to a Function.
- */
-! void
- func_ref(name)
- char_u *name;
- {
-*** ../vim-7.3.568/src/if_lua.c 2012-04-06 14:30:55.000000000 +0200
---- src/if_lua.c 2012-06-20 18:16:33.000000000 +0200
-***************
-*** 199,207 ****
- lua_Number (*dll_lua_tonumberx) (lua_State *L, int idx, int *isnum);
- lua_Integer (*dll_lua_tointegerx) (lua_State *L, int idx, int *isnum);
- void (*dll_lua_callk) (lua_State *L, int nargs, int nresults, int ctx,
-! lua_CFunction k);
- int (*dll_lua_pcallk) (lua_State *L, int nargs, int nresults, int errfunc,
-! int ctx, lua_CFunction k);
- void (*dll_lua_getglobal) (lua_State *L, const char *var);
- void (*dll_lua_setglobal) (lua_State *L, const char *var);
- #endif
---- 199,207 ----
- lua_Number (*dll_lua_tonumberx) (lua_State *L, int idx, int *isnum);
- lua_Integer (*dll_lua_tointegerx) (lua_State *L, int idx, int *isnum);
- void (*dll_lua_callk) (lua_State *L, int nargs, int nresults, int ctx,
-! lua_CFunction k);
- int (*dll_lua_pcallk) (lua_State *L, int nargs, int nresults, int errfunc,
-! int ctx, lua_CFunction k);
- void (*dll_lua_getglobal) (lua_State *L, const char *var);
- void (*dll_lua_setglobal) (lua_State *L, const char *var);
- #endif
-***************
-*** 394,400 ****
- luaL_typeerror (lua_State *L, int narg, const char *tname)
- {
- const char *msg = lua_pushfstring(L, "%s expected, got %s",
-! tname, luaL_typename(L, narg));
- return luaL_argerror(L, narg, msg);
- }
- #endif
---- 394,400 ----
- luaL_typeerror (lua_State *L, int narg, const char *tname)
- {
- const char *msg = lua_pushfstring(L, "%s expected, got %s",
-! tname, luaL_typename(L, narg));
- return luaL_argerror(L, narg, msg);
- }
- #endif
-***************
-*** 646,786 ****
- return 1; \
- }
-
--
-- /* adapted from eval.c */
--
-- #define listitem_alloc() (listitem_T *)alloc(sizeof(listitem_T))
--
-- static listitem_T *
-- list_find (list_T *l, long n)
-- {
-- listitem_T *li;
-- if (l == NULL || n < -l->lv_len || n >= l->lv_len)
-- return NULL;
-- if (n < 0) /* search backward? */
-- for (li = l->lv_last; n < -1; li = li->li_prev)
-- n++;
-- else /* search forward */
-- for (li = l->lv_first; n > 0; li = li->li_next)
-- n--;
-- return li;
-- }
--
-- static void
-- list_remove (list_T *l, listitem_T *li)
-- {
-- listwatch_T *lw;
-- --l->lv_len;
-- /* fix watchers */
-- for (lw = l->lv_watch; lw != NULL; lw = lw->lw_next)
-- if (lw->lw_item == li)
-- lw->lw_item = li->li_next;
-- /* fix list pointers */
-- if (li->li_next == NULL) /* last? */
-- l->lv_last = li->li_prev;
-- else
-- li->li_next->li_prev = li->li_prev;
-- if (li->li_prev == NULL) /* first? */
-- l->lv_first = li->li_next;
-- else
-- li->li_prev->li_next = li->li_next;
-- l->lv_idx_item = NULL;
-- }
--
-- static void
-- list_append(list_T *l, listitem_T *item)
-- {
-- if (l->lv_last == NULL) /* empty list? */
-- l->lv_first = item;
-- else
-- l->lv_last->li_next = item;
-- item->li_prev = l->lv_last;
-- item->li_next = NULL;
-- l->lv_last = item;
-- ++l->lv_len;
-- }
--
-- static int
-- list_insert_tv(list_T *l, typval_T *tv, listitem_T *item)
-- {
-- listitem_T *ni = listitem_alloc();
--
-- if (ni == NULL)
-- return FAIL;
-- copy_tv(tv, &ni->li_tv);
-- if (item == NULL)
-- list_append(l, ni);
-- else
-- {
-- ni->li_prev = item->li_prev;
-- ni->li_next = item;
-- if (item->li_prev == NULL)
-- {
-- l->lv_first = ni;
-- ++l->lv_idx;
-- }
-- else
-- {
-- item->li_prev->li_next = ni;
-- l->lv_idx_item = NULL;
-- }
-- item->li_prev = ni;
-- ++l->lv_len;
-- }
-- return OK;
-- }
--
-- /* set references */
--
-- static void set_ref_in_tv (typval_T *tv, int copyID);
--
-- static void
-- set_ref_in_dict(dict_T *d, int copyID)
-- {
-- hashtab_T *ht = &d->dv_hashtab;
-- int n = ht->ht_used;
-- hashitem_T *hi;
-- for (hi = ht->ht_array; n > 0; ++hi)
-- if (!HASHITEM_EMPTY(hi))
-- {
-- dictitem_T *di = dict_lookup(hi);
-- set_ref_in_tv(&di->di_tv, copyID);
-- --n;
-- }
-- }
--
-- static void
-- set_ref_in_list(list_T *l, int copyID)
-- {
-- listitem_T *li;
-- for (li = l->lv_first; li != NULL; li = li->li_next)
-- set_ref_in_tv(&li->li_tv, copyID);
-- }
--
-- static void
-- set_ref_in_tv(typval_T *tv, int copyID)
-- {
-- if (tv->v_type == VAR_LIST)
-- {
-- list_T *l = tv->vval.v_list;
-- if (l != NULL && l->lv_copyID != copyID)
-- {
-- l->lv_copyID = copyID;
-- set_ref_in_list(l, copyID);
-- }
-- }
-- else if (tv->v_type == VAR_DICT)
-- {
-- dict_T *d = tv->vval.v_dict;
-- if (d != NULL && d->dv_copyID != copyID)
-- {
-- d->dv_copyID = copyID;
-- set_ref_in_dict(d, copyID);
-- }
-- }
-- }
--
--
- /* ======= List type ======= */
-
- static luaV_List *
---- 646,651 ----
-***************
-*** 876,882 ****
- if (li == NULL) return 0;
- if (lua_isnil(L, 3)) /* remove? */
- {
-! list_remove(l, li);
- clear_tv(&li->li_tv);
- vim_free(li);
- }
---- 741,747 ----
- if (li == NULL) return 0;
- if (lua_isnil(L, 3)) /* remove? */
- {
-! list_remove(l, li, li);
- clear_tv(&li->li_tv);
- vim_free(li);
- }
-***************
-*** 904,911 ****
- typval_T v;
- lua_settop(L, 2);
- luaV_totypval(L, 2, &v);
-! copy_tv(&v, &li->li_tv);
-! list_append(l, li);
- }
- lua_settop(L, 1);
- return 1;
---- 769,775 ----
- typval_T v;
- lua_settop(L, 2);
- luaV_totypval(L, 2, &v);
-! list_append_tv(l, &v);
- }
- lua_settop(L, 1);
- return 1;
-***************
-*** 1682,1688 ****
- tv.vval.v_dict = (dict_T *) lua_touserdata(L, 4); /* key */
- }
- lua_pop(L, 2); /* metatable and value */
-! set_ref_in_tv(&tv, copyID);
- }
- return 0;
- }
---- 1546,1552 ----
- tv.vval.v_dict = (dict_T *) lua_touserdata(L, 4); /* key */
- }
- lua_pop(L, 2); /* metatable and value */
-! set_ref_in_item(&tv, copyID);
- }
- return 0;
- }
-*** ../vim-7.3.568/src/if_py_both.h 2012-04-20 13:31:16.000000000 +0200
---- src/if_py_both.h 2012-06-29 12:03:52.000000000 +0200
-***************
-*** 1,4 ****
-! /* vi:set ts=8 sts=4 sw=4:
- *
- * VIM - Vi IMproved by Bram Moolenaar
- *
---- 1,4 ----
-! /* vi:set ts=8 sts=4 sw=4 noet:
- *
- * VIM - Vi IMproved by Bram Moolenaar
- *
-***************
-*** 105,111 ****
- return NULL;
- Py_INCREF(list);
-
-! if (!PyList_Check(list)) {
- PyErr_SetString(PyExc_TypeError, _("writelines() requires list of strings"));
- Py_DECREF(list);
- return NULL;
---- 105,112 ----
- return NULL;
- Py_INCREF(list);
-
-! if (!PyList_Check(list))
-! {
- PyErr_SetString(PyExc_TypeError, _("writelines() requires list of strings"));
- Py_DECREF(list);
- return NULL;
-***************
-*** 119,125 ****
- char *str = NULL;
- PyInt len;
-
-! if (!PyArg_Parse(line, "et#", ENC_OPT, &str, &len)) {
- PyErr_SetString(PyExc_TypeError, _("writelines() requires list of strings"));
- Py_DECREF(list);
- return NULL;
---- 120,127 ----
- char *str = NULL;
- PyInt len;
-
-! if (!PyArg_Parse(line, "et#", ENC_OPT, &str, &len))
-! {
- PyErr_SetString(PyExc_TypeError, _("writelines() requires list of strings"));
- Py_DECREF(list);
- return NULL;
-***************
-*** 297,303 ****
- {
- PyObject *result;
- PyObject *newObj;
-! char ptrBuf[NUMBUFLEN];
-
- /* Avoid infinite recursion */
- if (depth > 100)
---- 299,305 ----
- {
- PyObject *result;
- PyObject *newObj;
-! char ptrBuf[sizeof(void *) * 2 + 3];
-
- /* Avoid infinite recursion */
- if (depth > 100)
-***************
-*** 312,320 ****
- if ((our_tv->v_type == VAR_LIST && our_tv->vval.v_list != NULL)
- || (our_tv->v_type == VAR_DICT && our_tv->vval.v_dict != NULL))
- {
-! sprintf(ptrBuf, PRINTF_DECIMAL_LONG_U,
-! our_tv->v_type == VAR_LIST ? (long_u)our_tv->vval.v_list
-! : (long_u)our_tv->vval.v_dict);
- result = PyDict_GetItemString(lookupDict, ptrBuf);
- if (result != NULL)
- {
---- 314,322 ----
- if ((our_tv->v_type == VAR_LIST && our_tv->vval.v_list != NULL)
- || (our_tv->v_type == VAR_DICT && our_tv->vval.v_dict != NULL))
- {
-! sprintf(ptrBuf, "%p",
-! our_tv->v_type == VAR_LIST ? (void *)our_tv->vval.v_list
-! : (void *)our_tv->vval.v_dict);
- result = PyDict_GetItemString(lookupDict, ptrBuf);
- if (result != NULL)
- {
-***************
-*** 374,509 ****
- hashitem_T *hi;
- dictitem_T *di;
-
-! PyDict_SetItemString(lookupDict, ptrBuf, result);
-
-! for (hi = ht->ht_array; todo > 0; ++hi)
- {
-! if (!HASHITEM_EMPTY(hi))
-! {
-! --todo;
-!
-! di = dict_lookup(hi);
-! newObj = VimToPython(&di->di_tv, depth + 1, lookupDict);
-! PyDict_SetItemString(result, (char *)hi->hi_key, newObj);
-! Py_DECREF(newObj);
-! }
- }
- }
- }
-! else
- {
-! Py_INCREF(Py_None);
-! result = Py_None;
- }
-
-! return result;
- }
-- #endif
-
- static PyObject *
-! VimEval(PyObject *self UNUSED, PyObject *args UNUSED)
- {
-! #ifdef FEAT_EVAL
-! char *expr;
-! typval_T *our_tv;
-! PyObject *result;
-! PyObject *lookup_dict;
-
-! if (!PyArg_ParseTuple(args, "s", &expr))
- return NULL;
-
-! Py_BEGIN_ALLOW_THREADS
-! Python_Lock_Vim();
-! our_tv = eval_expr((char_u *)expr, NULL);
-!
-! Python_Release_Vim();
-! Py_END_ALLOW_THREADS
-!
-! if (our_tv == NULL)
- {
-! PyErr_SetVim(_("invalid expression"));
- return NULL;
- }
-
-- /* Convert the Vim type into a Python type. Create a dictionary that's
-- * used to check for recursive loops. */
- lookup_dict = PyDict_New();
-! result = VimToPython(our_tv, 1, lookup_dict);
- Py_DECREF(lookup_dict);
-
-!
-! Py_BEGIN_ALLOW_THREADS
-! Python_Lock_Vim();
-! free_tv(our_tv);
-! Python_Release_Vim();
-! Py_END_ALLOW_THREADS
-!
-! return result;
-! #else
-! PyErr_SetVim(_("expressions disabled at compile time"));
-! return NULL;
-! #endif
- }
-
-! /*
-! * Vim module - Definitions
-! */
-!
-! static struct PyMethodDef VimMethods[] = {
-! /* name, function, calling, documentation */
-! {"command", VimCommand, 1, "Execute a Vim ex-mode command" },
-! {"eval", VimEval, 1, "Evaluate an expression using Vim evaluator" },
-! { NULL, NULL, 0, NULL }
- };
-
- typedef struct
- {
- PyObject_HEAD
-! buf_T *buf;
-! }
-! BufferObject;
-
-! #define INVALID_BUFFER_VALUE ((buf_T *)(-1))
-!
-! /*
-! * Buffer list object - Implementation
-! */
-
-! static PyInt
-! BufListLength(PyObject *self UNUSED)
- {
-! buf_T *b = firstbuf;
-! PyInt n = 0;
-
-! while (b)
- {
-! ++n;
-! b = b->b_next;
- }
-!
-! return n;
- }
-
- static PyObject *
-! BufListItem(PyObject *self UNUSED, PyInt n)
- {
-! buf_T *b;
-
-! for (b = firstbuf; b; b = b->b_next, --n)
- {
-! if (n == 0)
-! return BufferNew(b);
- }
-
-! PyErr_SetString(PyExc_IndexError, _("no such buffer"));
-! return NULL;
- }
-
-! typedef struct
-! {
-! PyObject_HEAD
-! win_T *win;
-! } WindowObject;
-
- #define INVALID_WINDOW_VALUE ((win_T *)(-1))
-
---- 376,1325 ----
- hashitem_T *hi;
- dictitem_T *di;
-
-! PyDict_SetItemString(lookupDict, ptrBuf, result);
-!
-! for (hi = ht->ht_array; todo > 0; ++hi)
-! {
-! if (!HASHITEM_EMPTY(hi))
-! {
-! --todo;
-!
-! di = dict_lookup(hi);
-! newObj = VimToPython(&di->di_tv, depth + 1, lookupDict);
-! PyDict_SetItemString(result, (char *)hi->hi_key, newObj);
-! Py_DECREF(newObj);
-! }
-! }
-! }
-! }
-! else
-! {
-! Py_INCREF(Py_None);
-! result = Py_None;
-! }
-!
-! return result;
-! }
-! #endif
-!
-! static PyObject *
-! VimEval(PyObject *self UNUSED, PyObject *args UNUSED)
-! {
-! #ifdef FEAT_EVAL
-! char *expr;
-! typval_T *our_tv;
-! PyObject *result;
-! PyObject *lookup_dict;
-!
-! if (!PyArg_ParseTuple(args, "s", &expr))
-! return NULL;
-!
-! Py_BEGIN_ALLOW_THREADS
-! Python_Lock_Vim();
-! our_tv = eval_expr((char_u *)expr, NULL);
-!
-! Python_Release_Vim();
-! Py_END_ALLOW_THREADS
-!
-! if (our_tv == NULL)
-! {
-! PyErr_SetVim(_("invalid expression"));
-! return NULL;
-! }
-!
-! /* Convert the Vim type into a Python type. Create a dictionary that's
-! * used to check for recursive loops. */
-! lookup_dict = PyDict_New();
-! result = VimToPython(our_tv, 1, lookup_dict);
-! Py_DECREF(lookup_dict);
-!
-!
-! Py_BEGIN_ALLOW_THREADS
-! Python_Lock_Vim();
-! free_tv(our_tv);
-! Python_Release_Vim();
-! Py_END_ALLOW_THREADS
-!
-! return result;
-! #else
-! PyErr_SetVim(_("expressions disabled at compile time"));
-! return NULL;
-! #endif
-! }
-!
-! static PyObject *ConvertToPyObject(typval_T *);
-!
-! static PyObject *
-! VimEvalPy(PyObject *self UNUSED, PyObject *args UNUSED)
-! {
-! #ifdef FEAT_EVAL
-! char *expr;
-! typval_T *our_tv;
-! PyObject *result;
-!
-! if (!PyArg_ParseTuple(args, "s", &expr))
-! return NULL;
-!
-! Py_BEGIN_ALLOW_THREADS
-! Python_Lock_Vim();
-! our_tv = eval_expr((char_u *)expr, NULL);
-!
-! Python_Release_Vim();
-! Py_END_ALLOW_THREADS
-!
-! if (our_tv == NULL)
-! {
-! PyErr_SetVim(_("invalid expression"));
-! return NULL;
-! }
-!
-! result = ConvertToPyObject(our_tv);
-! Py_BEGIN_ALLOW_THREADS
-! Python_Lock_Vim();
-! free_tv(our_tv);
-! Python_Release_Vim();
-! Py_END_ALLOW_THREADS
-!
-! return result;
-! #else
-! PyErr_SetVim(_("expressions disabled at compile time"));
-! return NULL;
-! #endif
-! }
-!
-! static PyObject *
-! VimStrwidth(PyObject *self UNUSED, PyObject *args)
-! {
-! char *expr;
-!
-! if (!PyArg_ParseTuple(args, "s", &expr))
-! return NULL;
-!
-! return PyLong_FromLong(mb_string2cells((char_u *)expr, STRLEN(expr)));
-! }
-!
-! /*
-! * Vim module - Definitions
-! */
-!
-! static struct PyMethodDef VimMethods[] = {
-! /* name, function, calling, documentation */
-! {"command", VimCommand, 1, "Execute a Vim ex-mode command" },
-! {"eval", VimEval, 1, "Evaluate an expression using Vim evaluator" },
-! {"bindeval", VimEvalPy, 1, "Like eval(), but returns objects attached to vim ones"},
-! {"strwidth", VimStrwidth, 1, "Screen string width, counts <Tab> as having width 1"},
-! { NULL, NULL, 0, NULL }
-! };
-!
-! typedef struct
-! {
-! PyObject_HEAD
-! buf_T *buf;
-! } BufferObject;
-!
-! #define INVALID_BUFFER_VALUE ((buf_T *)(-1))
-!
-! /*
-! * Buffer list object - Implementation
-! */
-!
-! static PyInt
-! BufListLength(PyObject *self UNUSED)
-! {
-! buf_T *b = firstbuf;
-! PyInt n = 0;
-!
-! while (b)
-! {
-! ++n;
-! b = b->b_next;
-! }
-!
-! return n;
-! }
-!
-! static PyObject *
-! BufListItem(PyObject *self UNUSED, PyInt n)
-! {
-! buf_T *b;
-!
-! for (b = firstbuf; b; b = b->b_next, --n)
-! {
-! if (n == 0)
-! return BufferNew(b);
-! }
-!
-! PyErr_SetString(PyExc_IndexError, _("no such buffer"));
-! return NULL;
-! }
-!
-! typedef struct
-! {
-! PyObject_HEAD
-! win_T *win;
-! } WindowObject;
-!
-! static int ConvertFromPyObject(PyObject *, typval_T *);
-! static int _ConvertFromPyObject(PyObject *, typval_T *, PyObject *);
-!
-! typedef struct pylinkedlist_S {
-! struct pylinkedlist_S *pll_next;
-! struct pylinkedlist_S *pll_prev;
-! PyObject *pll_obj;
-! } pylinkedlist_T;
-!
-! static pylinkedlist_T *lastdict = NULL;
-! static pylinkedlist_T *lastlist = NULL;
-!
-! static void
-! pyll_remove(pylinkedlist_T *ref, pylinkedlist_T **last)
-! {
-! if (ref->pll_prev == NULL)
-! {
-! if (ref->pll_next == NULL)
-! {
-! *last = NULL;
-! return;
-! }
-! }
-! else
-! ref->pll_prev->pll_next = ref->pll_next;
-!
-! if (ref->pll_next == NULL)
-! *last = ref->pll_prev;
-! else
-! ref->pll_next->pll_prev = ref->pll_prev;
-! }
-!
-! static void
-! pyll_add(PyObject *self, pylinkedlist_T *ref, pylinkedlist_T **last)
-! {
-! if (*last == NULL)
-! ref->pll_prev = NULL;
-! else
-! {
-! (*last)->pll_next = ref;
-! ref->pll_prev = *last;
-! }
-! ref->pll_next = NULL;
-! ref->pll_obj = self;
-! *last = ref;
-! }
-!
-! static PyTypeObject DictionaryType;
-!
-! typedef struct
-! {
-! PyObject_HEAD
-! dict_T *dict;
-! pylinkedlist_T ref;
-! } DictionaryObject;
-!
-! static PyObject *
-! DictionaryNew(dict_T *dict)
-! {
-! DictionaryObject *self;
-!
-! self = PyObject_NEW(DictionaryObject, &DictionaryType);
-! if (self == NULL)
-! return NULL;
-! self->dict = dict;
-! ++dict->dv_refcount;
-!
-! pyll_add((PyObject *)(self), &self->ref, &lastdict);
-!
-! return (PyObject *)(self);
-! }
-!
-! static int
-! pydict_to_tv(PyObject *obj, typval_T *tv, PyObject *lookupDict)
-! {
-! dict_T *d;
-! char_u *key;
-! dictitem_T *di;
-! PyObject *keyObject;
-! PyObject *valObject;
-! Py_ssize_t iter = 0;
-!
-! d = dict_alloc();
-! if (d == NULL)
-! {
-! PyErr_NoMemory();
-! return -1;
-! }
-!
-! tv->v_type = VAR_DICT;
-! tv->vval.v_dict = d;
-!
-! while (PyDict_Next(obj, &iter, &keyObject, &valObject))
-! {
-! DICTKEY_DECL
-!
-! if (keyObject == NULL)
-! return -1;
-! if (valObject == NULL)
-! return -1;
-!
-! DICTKEY_GET(-1)
-!
-! di = dictitem_alloc(key);
-!
-! DICTKEY_UNREF
-!
-! if (di == NULL)
-! {
-! PyErr_NoMemory();
-! return -1;
-! }
-! di->di_tv.v_lock = 0;
-!
-! if (_ConvertFromPyObject(valObject, &di->di_tv, lookupDict) == -1)
-! {
-! vim_free(di);
-! return -1;
-! }
-! if (dict_add(d, di) == FAIL)
-! {
-! vim_free(di);
-! PyErr_SetVim(_("failed to add key to dictionary"));
-! return -1;
-! }
-! }
-! return 0;
-! }
-!
-! static int
-! pymap_to_tv(PyObject *obj, typval_T *tv, PyObject *lookupDict)
-! {
-! dict_T *d;
-! char_u *key;
-! dictitem_T *di;
-! PyObject *list;
-! PyObject *litem;
-! PyObject *keyObject;
-! PyObject *valObject;
-! Py_ssize_t lsize;
-!
-! d = dict_alloc();
-! if (d == NULL)
-! {
-! PyErr_NoMemory();
-! return -1;
-! }
-!
-! tv->v_type = VAR_DICT;
-! tv->vval.v_dict = d;
-!
-! list = PyMapping_Items(obj);
-! lsize = PyList_Size(list);
-! while (lsize--)
-! {
-! DICTKEY_DECL
-!
-! litem = PyList_GetItem(list, lsize);
-! if (litem == NULL)
-! {
-! Py_DECREF(list);
-! return -1;
-! }
-!
-! keyObject = PyTuple_GetItem(litem, 0);
-! if (keyObject == NULL)
-! {
-! Py_DECREF(list);
-! Py_DECREF(litem);
-! return -1;
-! }
-!
-! DICTKEY_GET(-1)
-!
-! valObject = PyTuple_GetItem(litem, 1);
-! if (valObject == NULL)
-! {
-! Py_DECREF(list);
-! Py_DECREF(litem);
-! return -1;
-! }
-!
-! di = dictitem_alloc(key);
-!
-! DICTKEY_UNREF
-!
-! if (di == NULL)
-! {
-! Py_DECREF(list);
-! Py_DECREF(litem);
-! PyErr_NoMemory();
-! return -1;
-! }
-! di->di_tv.v_lock = 0;
-!
-! if (_ConvertFromPyObject(valObject, &di->di_tv, lookupDict) == -1)
-! {
-! vim_free(di);
-! Py_DECREF(list);
-! Py_DECREF(litem);
-! return -1;
-! }
-! if (dict_add(d, di) == FAIL)
-! {
-! vim_free(di);
-! Py_DECREF(list);
-! Py_DECREF(litem);
-! PyErr_SetVim(_("failed to add key to dictionary"));
-! return -1;
-! }
-! Py_DECREF(litem);
-! }
-! Py_DECREF(list);
-! return 0;
-! }
-!
-! static PyInt
-! DictionaryLength(PyObject *self)
-! {
-! return ((PyInt) ((((DictionaryObject *)(self))->dict->dv_hashtab.ht_used)));
-! }
-!
-! static PyObject *
-! DictionaryItem(PyObject *self, PyObject *keyObject)
-! {
-! char_u *key;
-! dictitem_T *val;
-! DICTKEY_DECL
-!
-! DICTKEY_GET(NULL)
-!
-! val = dict_find(((DictionaryObject *) (self))->dict, key, -1);
-!
-! DICTKEY_UNREF
-!
-! return ConvertToPyObject(&val->di_tv);
-! }
-!
-! static PyInt
-! DictionaryAssItem(PyObject *self, PyObject *keyObject, PyObject *valObject)
-! {
-! char_u *key;
-! typval_T tv;
-! dict_T *d = ((DictionaryObject *)(self))->dict;
-! dictitem_T *di;
-! DICTKEY_DECL
-!
-! if (d->dv_lock)
-! {
-! PyErr_SetVim(_("dict is locked"));
-! return -1;
-! }
-!
-! DICTKEY_GET(-1)
-!
-! di = dict_find(d, key, -1);
-!
-! if (valObject == NULL)
-! {
-! if (di == NULL)
-! {
-! PyErr_SetString(PyExc_IndexError, _("no such key in dictionary"));
-! return -1;
-! }
-! hashitem_T *hi = hash_find(&d->dv_hashtab, di->di_key);
-! hash_remove(&d->dv_hashtab, hi);
-! dictitem_free(di);
-! return 0;
-! }
-!
-! if (ConvertFromPyObject(valObject, &tv) == -1)
-! {
-! return -1;
-! }
-!
-! if (di == NULL)
-! {
-! di = dictitem_alloc(key);
-! if (di == NULL)
-! {
-! PyErr_NoMemory();
-! return -1;
-! }
-! di->di_tv.v_lock = 0;
-!
-! if (dict_add(d, di) == FAIL)
-! {
-! vim_free(di);
-! PyErr_SetVim(_("failed to add key to dictionary"));
-! return -1;
-! }
-! }
-! else
-! clear_tv(&di->di_tv);
-!
-! DICTKEY_UNREF
-!
-! copy_tv(&tv, &di->di_tv);
-! return 0;
-! }
-!
-! static PyObject *
-! DictionaryListKeys(PyObject *self)
-! {
-! dict_T *dict = ((DictionaryObject *)(self))->dict;
-! long_u todo = dict->dv_hashtab.ht_used;
-! Py_ssize_t i = 0;
-! PyObject *r;
-! hashitem_T *hi;
-!
-! r = PyList_New(todo);
-! for (hi = dict->dv_hashtab.ht_array; todo > 0; ++hi)
-! {
-! if (!HASHITEM_EMPTY(hi))
-! {
-! PyList_SetItem(r, i, PyBytes_FromString((char *)(hi->hi_key)));
-! --todo;
-! ++i;
-! }
-! }
-! return r;
-! }
-!
-! static struct PyMethodDef DictionaryMethods[] = {
-! {"keys", (PyCFunction)DictionaryListKeys, METH_NOARGS, ""},
-! { NULL, NULL, 0, NULL }
-! };
-!
-! static PyTypeObject ListType;
-!
-! typedef struct
-! {
-! PyObject_HEAD
-! list_T *list;
-! pylinkedlist_T ref;
-! } ListObject;
-!
-! static PyObject *
-! ListNew(list_T *list)
-! {
-! ListObject *self;
-!
-! self = PyObject_NEW(ListObject, &ListType);
-! if (self == NULL)
-! return NULL;
-! self->list = list;
-! ++list->lv_refcount;
-!
-! pyll_add((PyObject *)(self), &self->ref, &lastlist);
-!
-! return (PyObject *)(self);
-! }
-!
-! static int
-! list_py_concat(list_T *l, PyObject *obj, PyObject *lookupDict)
-! {
-! Py_ssize_t i;
-! Py_ssize_t lsize = PySequence_Size(obj);
-! PyObject *litem;
-! listitem_T *li;
-!
-! for(i=0; i<lsize; i++)
-! {
-! li = listitem_alloc();
-! if (li == NULL)
-! {
-! PyErr_NoMemory();
-! return -1;
-! }
-! li->li_tv.v_lock = 0;
-!
-! litem = PySequence_GetItem(obj, i);
-! if (litem == NULL)
-! return -1;
-! if (_ConvertFromPyObject(litem, &li->li_tv, lookupDict) == -1)
-! return -1;
-!
-! list_append(l, li);
-! }
-! return 0;
-! }
-!
-! static int
-! pyseq_to_tv(PyObject *obj, typval_T *tv, PyObject *lookupDict)
-! {
-! list_T *l;
-!
-! l = list_alloc();
-! if (l == NULL)
-! {
-! PyErr_NoMemory();
-! return -1;
-! }
-!
-! tv->v_type = VAR_LIST;
-! tv->vval.v_list = l;
-!
-! if (list_py_concat(l, obj, lookupDict) == -1)
-! return -1;
-!
-! return 0;
-! }
-!
-! static int
-! pyiter_to_tv(PyObject *obj, typval_T *tv, PyObject *lookupDict)
-! {
-! PyObject *iterator = PyObject_GetIter(obj);
-! PyObject *item;
-! list_T *l;
-! listitem_T *li;
-!
-! l = list_alloc();
-!
-! if (l == NULL)
-! {
-! PyErr_NoMemory();
-! return -1;
-! }
-!
-! tv->vval.v_list = l;
-! tv->v_type = VAR_LIST;
-!
-!
-! if (iterator == NULL)
-! return -1;
-!
-! while ((item = PyIter_Next(obj)))
-! {
-! li = listitem_alloc();
-! if (li == NULL)
-! {
-! PyErr_NoMemory();
-! return -1;
-! }
-! li->li_tv.v_lock = 0;
-!
-! if (_ConvertFromPyObject(item, &li->li_tv, lookupDict) == -1)
-! return -1;
-!
-! list_append(l, li);
-!
-! Py_DECREF(item);
-! }
-!
-! Py_DECREF(iterator);
-! return 0;
-! }
-!
-! static PyInt
-! ListLength(PyObject *self)
-! {
-! return ((PyInt) (((ListObject *) (self))->list->lv_len));
-! }
-!
-! static PyObject *
-! ListItem(PyObject *self, Py_ssize_t index)
-! {
-! listitem_T *li;
-!
-! if (index>=ListLength(self))
-! {
-! PyErr_SetString(PyExc_IndexError, "list index out of range");
-! return NULL;
-! }
-! li = list_find(((ListObject *) (self))->list, (long) index);
-! if (li == NULL)
-! {
-! PyErr_SetVim(_("internal error: failed to get vim list item"));
-! return NULL;
-! }
-! return ConvertToPyObject(&li->li_tv);
-! }
-!
-! #define PROC_RANGE \
-! if (last < 0) {\
-! if (last < -size) \
-! last = 0; \
-! else \
-! last += size; \
-! } \
-! if (first < 0) \
-! first = 0; \
-! if (first > size) \
-! first = size; \
-! if (last > size) \
-! last = size;
-!
-! static PyObject *
-! ListSlice(PyObject *self, Py_ssize_t first, Py_ssize_t last)
-! {
-! PyInt i;
-! PyInt size = ListLength(self);
-! PyInt n;
-! PyObject *list;
-! int reversed = 0;
-!
-! PROC_RANGE
-! if (first >= last)
-! first = last;
-!
-! n = last-first;
-! list = PyList_New(n);
-! if (list == NULL)
-! return NULL;
-!
-! for (i = 0; i < n; ++i)
-! {
-! PyObject *item = ListItem(self, i);
-! if (item == NULL)
-! {
-! Py_DECREF(list);
-! return NULL;
-! }
-!
-! if ((PyList_SetItem(list, ((reversed)?(n-i-1):(i)), item)))
-! {
-! Py_DECREF(item);
-! Py_DECREF(list);
-! return NULL;
-! }
-! }
-!
-! return list;
-! }
-!
-! static int
-! ListAssItem(PyObject *self, Py_ssize_t index, PyObject *obj)
-! {
-! typval_T tv;
-! list_T *l = ((ListObject *) (self))->list;
-! listitem_T *li;
-! Py_ssize_t length = ListLength(self);
-!
-! if (l->lv_lock)
-! {
-! PyErr_SetVim(_("list is locked"));
-! return -1;
-! }
-! if (index>length || (index==length && obj==NULL))
-! {
-! PyErr_SetString(PyExc_IndexError, "list index out of range");
-! return -1;
-! }
-!
-! if (obj == NULL)
-! {
-! li = list_find(l, (long) index);
-! list_remove(l, li, li);
-! clear_tv(&li->li_tv);
-! vim_free(li);
-! return 0;
-! }
-!
-! if (ConvertFromPyObject(obj, &tv) == -1)
-! return -1;
-!
-! if (index == length)
-! {
-! if (list_append_tv(l, &tv) == FAIL)
-! {
-! PyErr_SetVim(_("Failed to add item to list"));
-! return -1;
-! }
-! }
-! else
-! {
-! li = list_find(l, (long) index);
-! clear_tv(&li->li_tv);
-! copy_tv(&tv, &li->li_tv);
-! }
-! return 0;
-! }
-!
-! static int
-! ListAssSlice(PyObject *self, Py_ssize_t first, Py_ssize_t last, PyObject *obj)
-! {
-! PyInt size = ListLength(self);
-! Py_ssize_t i;
-! Py_ssize_t lsize;
-! PyObject *litem;
-! listitem_T *li;
-! listitem_T *next;
-! typval_T v;
-! list_T *l = ((ListObject *) (self))->list;
-!
-! if (l->lv_lock)
-! {
-! PyErr_SetVim(_("list is locked"));
-! return -1;
-! }
-!
-! PROC_RANGE
-
-! if (first == size)
-! li = NULL;
-! else
-! {
-! li = list_find(l, (long) first);
-! if (li == NULL)
-! {
-! PyErr_SetVim(_("internal error: no vim list item"));
-! return -1;
-! }
-! if (last > first)
-! {
-! i = last - first;
-! while (i-- && li != NULL)
- {
-! next = li->li_next;
-! listitem_remove(l, li);
-! li = next;
- }
- }
- }
-!
-! if (obj == NULL)
-! return 0;
-!
-! if (!PyList_Check(obj))
- {
-! PyErr_SetString(PyExc_TypeError, _("can only assign lists to slice"));
-! return -1;
- }
-
-! lsize = PyList_Size(obj);
-!
-! for(i=0; i<lsize; i++)
-! {
-! litem = PyList_GetItem(obj, i);
-! if (litem == NULL)
-! return -1;
-! if (ConvertFromPyObject(litem, &v) == -1)
-! return -1;
-! if (list_insert_tv(l, &v, li) == FAIL)
-! {
-! PyErr_SetVim(_("internal error: failed to add item to list"));
-! return -1;
-! }
-! }
-! return 0;
- }
-
- static PyObject *
-! ListConcatInPlace(PyObject *self, PyObject *obj)
- {
-! list_T *l = ((ListObject *) (self))->list;
-! PyObject *lookup_dict;
-
-! if (l->lv_lock)
-! {
-! PyErr_SetVim(_("list is locked"));
- return NULL;
-+ }
-
-! if (!PySequence_Check(obj))
- {
-! PyErr_SetString(PyExc_TypeError, _("can only concatenate with lists"));
- return NULL;
- }
-
- lookup_dict = PyDict_New();
-! if (list_py_concat(l, obj, lookup_dict) == -1)
-! {
-! Py_DECREF(lookup_dict);
-! return NULL;
-! }
- Py_DECREF(lookup_dict);
-
-! Py_INCREF(self);
-! return self;
- }
-
-! static struct PyMethodDef ListMethods[] = {
-! {"extend", (PyCFunction)ListConcatInPlace, METH_O, ""},
-! { NULL, NULL, 0, NULL }
- };
-
- typedef struct
- {
- PyObject_HEAD
-! char_u *name;
-! } FunctionObject;
-
-! static PyTypeObject FunctionType;
-
-! static PyObject *
-! FunctionNew(char_u *name)
- {
-! FunctionObject *self;
-
-! self = PyObject_NEW(FunctionObject, &FunctionType);
-! if (self == NULL)
-! return NULL;
-! self->name = PyMem_New(char_u, STRLEN(name) + 1);
-! if (self->name == NULL)
- {
-! PyErr_NoMemory();
-! return NULL;
- }
-! STRCPY(self->name, name);
-! func_ref(name);
-! return (PyObject *)(self);
- }
-
- static PyObject *
-! FunctionCall(PyObject *self, PyObject *argsObject, PyObject *kwargs)
- {
-! FunctionObject *this = (FunctionObject *)(self);
-! char_u *name = this->name;
-! typval_T args;
-! typval_T selfdicttv;
-! typval_T rettv;
-! dict_T *selfdict = NULL;
-! PyObject *selfdictObject;
-! PyObject *result;
-! int error;
-
-! if (ConvertFromPyObject(argsObject, &args) == -1)
-! return NULL;
-!
-! if (kwargs != NULL)
- {
-! selfdictObject = PyDict_GetItemString(kwargs, "self");
-! if (selfdictObject != NULL)
-! {
-! if (!PyDict_Check(selfdictObject))
-! {
-! PyErr_SetString(PyExc_TypeError, _("'self' argument must be a dictionary"));
-! clear_tv(&args);
-! return NULL;
-! }
-! if (ConvertFromPyObject(selfdictObject, &selfdicttv) == -1)
-! return NULL;
-! selfdict = selfdicttv.vval.v_dict;
-! }
- }
-
-! error = func_call(name, &args, selfdict, &rettv);
-! if (error != OK)
-! {
-! result = NULL;
-! PyErr_SetVim(_("failed to run function"));
-! }
-! else
-! result = ConvertToPyObject(&rettv);
-!
-! /* FIXME Check what should really be cleared. */
-! clear_tv(&args);
-! clear_tv(&rettv);
-! /*
-! * if (selfdict!=NULL)
-! * clear_tv(selfdicttv);
-! */
-!
-! return result;
- }
-
-! static struct PyMethodDef FunctionMethods[] = {
-! {"__call__", (PyCFunction)FunctionCall, METH_VARARGS|METH_KEYWORDS, ""},
-! { NULL, NULL, 0, NULL }
-! };
-
- #define INVALID_WINDOW_VALUE ((win_T *)(-1))
-
-***************
-*** 1567,1569 ****
---- 2383,2638 ----
- { NULL, NULL, 0, NULL }
- };
-
-+ static void
-+ set_ref_in_py(const int copyID)
-+ {
-+ pylinkedlist_T *cur;
-+ dict_T *dd;
-+ list_T *ll;
-+
-+ if (lastdict != NULL)
-+ for(cur = lastdict ; cur != NULL ; cur = cur->pll_prev)
-+ {
-+ dd = ((DictionaryObject *) (cur->pll_obj))->dict;
-+ if (dd->dv_copyID != copyID)
-+ {
-+ dd->dv_copyID = copyID;
-+ set_ref_in_ht(&dd->dv_hashtab, copyID);
-+ }
-+ }
-+
-+ if (lastlist != NULL)
-+ for(cur = lastlist ; cur != NULL ; cur = cur->pll_prev)
-+ {
-+ ll = ((ListObject *) (cur->pll_obj))->list;
-+ if (ll->lv_copyID != copyID)
-+ {
-+ ll->lv_copyID = copyID;
-+ set_ref_in_list(ll, copyID);
-+ }
-+ }
-+ }
-+
-+ static int
-+ set_string_copy(char_u *str, typval_T *tv)
-+ {
-+ tv->vval.v_string = vim_strsave(str);
-+ if (tv->vval.v_string == NULL)
-+ {
-+ PyErr_NoMemory();
-+ return -1;
-+ }
-+ return 0;
-+ }
-+
-+ #ifdef FEAT_EVAL
-+ typedef int (*pytotvfunc)(PyObject *, typval_T *, PyObject *);
-+
-+ static int
-+ convert_dl(PyObject *obj, typval_T *tv,
-+ pytotvfunc py_to_tv, PyObject *lookupDict)
-+ {
-+ PyObject *capsule;
-+ char hexBuf[sizeof(void *) * 2 + 3];
-+
-+ sprintf(hexBuf, "%p", obj);
-+
-+ capsule = PyDict_GetItemString(lookupDict, hexBuf);
-+ if (capsule == NULL)
-+ {
-+ capsule = PyCapsule_New(tv, NULL, NULL);
-+ PyDict_SetItemString(lookupDict, hexBuf, capsule);
-+ Py_DECREF(capsule);
-+ if (py_to_tv(obj, tv, lookupDict) == -1)
-+ {
-+ tv->v_type = VAR_UNKNOWN;
-+ return -1;
-+ }
-+ /* As we are not using copy_tv which increments reference count we must
-+ * do it ourself. */
-+ switch(tv->v_type)
-+ {
-+ case VAR_DICT: ++tv->vval.v_dict->dv_refcount; break;
-+ case VAR_LIST: ++tv->vval.v_list->lv_refcount; break;
-+ }
-+ }
-+ else
-+ {
-+ typval_T *v = PyCapsule_GetPointer(capsule, NULL);
-+ copy_tv(v, tv);
-+ }
-+ return 0;
-+ }
-+
-+ static int
-+ ConvertFromPyObject(PyObject *obj, typval_T *tv)
-+ {
-+ PyObject *lookup_dict;
-+ int r;
-+
-+ lookup_dict = PyDict_New();
-+ r = _ConvertFromPyObject(obj, tv, lookup_dict);
-+ Py_DECREF(lookup_dict);
-+ return r;
-+ }
-+
-+ static int
-+ _ConvertFromPyObject(PyObject *obj, typval_T *tv, PyObject *lookupDict)
-+ {
-+ if (obj->ob_type == &DictionaryType)
-+ {
-+ tv->v_type = VAR_DICT;
-+ tv->vval.v_dict = (((DictionaryObject *)(obj))->dict);
-+ ++tv->vval.v_dict->dv_refcount;
-+ }
-+ else if (obj->ob_type == &ListType)
-+ {
-+ tv->v_type = VAR_LIST;
-+ tv->vval.v_list = (((ListObject *)(obj))->list);
-+ ++tv->vval.v_list->lv_refcount;
-+ }
-+ else if (obj->ob_type == &FunctionType)
-+ {
-+ if (set_string_copy(((FunctionObject *) (obj))->name, tv) == -1)
-+ return -1;
-+
-+ tv->v_type = VAR_FUNC;
-+ func_ref(tv->vval.v_string);
-+ }
-+ #if PY_MAJOR_VERSION >= 3
-+ else if (PyBytes_Check(obj))
-+ {
-+ char_u *result = (char_u *) PyBytes_AsString(obj);
-+
-+ if (result == NULL)
-+ return -1;
-+
-+ if (set_string_copy(result, tv) == -1)
-+ return -1;
-+
-+ tv->v_type = VAR_STRING;
-+ }
-+ else if (PyUnicode_Check(obj))
-+ {
-+ PyObject *bytes;
-+ char_u *result;
-+
-+ bytes = PyString_AsBytes(obj);
-+ if (bytes == NULL)
-+ return -1;
-+
-+ result = (char_u *) PyBytes_AsString(bytes);
-+ if (result == NULL)
-+ return -1;
-+
-+ if (set_string_copy(result, tv) == -1)
-+ {
-+ Py_XDECREF(bytes);
-+ return -1;
-+ }
-+ Py_XDECREF(bytes);
-+
-+ tv->v_type = VAR_STRING;
-+ }
-+ #else
-+ else if (PyUnicode_Check(obj))
-+ {
-+ PyObject *bytes;
-+ char_u *result;
-+
-+ bytes = PyUnicode_AsEncodedString(obj, (char *)ENC_OPT, NULL);
-+ if (bytes == NULL)
-+ return -1;
-+
-+ result=(char_u *) PyString_AsString(bytes);
-+ if (result == NULL)
-+ return -1;
-+
-+ if (set_string_copy(result, tv) == -1)
-+ {
-+ Py_XDECREF(bytes);
-+ return -1;
-+ }
-+ Py_XDECREF(bytes);
-+
-+ tv->v_type = VAR_STRING;
-+ }
-+ else if (PyString_Check(obj))
-+ {
-+ char_u *result = (char_u *) PyString_AsString(obj);
-+
-+ if (result == NULL)
-+ return -1;
-+
-+ if (set_string_copy(result, tv) == -1)
-+ return -1;
-+
-+ tv->v_type = VAR_STRING;
-+ }
-+ else if (PyInt_Check(obj))
-+ {
-+ tv->v_type = VAR_NUMBER;
-+ tv->vval.v_number = (varnumber_T) PyInt_AsLong(obj);
-+ }
-+ #endif
-+ else if (PyLong_Check(obj))
-+ {
-+ tv->v_type = VAR_NUMBER;
-+ tv->vval.v_number = (varnumber_T) PyLong_AsLong(obj);
-+ }
-+ else if (PyDict_Check(obj))
-+ return convert_dl(obj, tv, pydict_to_tv, lookupDict);
-+ #ifdef FEAT_FLOAT
-+ else if (PyFloat_Check(obj))
-+ {
-+ tv->v_type = VAR_FLOAT;
-+ tv->vval.v_float = (float_T) PyFloat_AsDouble(obj);
-+ }
-+ #endif
-+ else if (PyIter_Check(obj))
-+ return convert_dl(obj, tv, pyiter_to_tv, lookupDict);
-+ else if (PySequence_Check(obj))
-+ return convert_dl(obj, tv, pyseq_to_tv, lookupDict);
-+ else if (PyMapping_Check(obj))
-+ return convert_dl(obj, tv, pymap_to_tv, lookupDict);
-+ else
-+ {
-+ PyErr_SetString(PyExc_TypeError, _("unable to convert to vim structure"));
-+ return -1;
-+ }
-+ return 0;
-+ }
-+
-+ static PyObject *
-+ ConvertToPyObject(typval_T *tv)
-+ {
-+ if (tv == NULL)
-+ {
-+ PyErr_SetVim(_("NULL reference passed"));
-+ return NULL;
-+ }
-+ switch (tv->v_type)
-+ {
-+ case VAR_STRING:
-+ return PyBytes_FromString((char *) tv->vval.v_string);
-+ case VAR_NUMBER:
-+ return PyLong_FromLong((long) tv->vval.v_number);
-+ #ifdef FEAT_FLOAT
-+ case VAR_FLOAT:
-+ return PyFloat_FromDouble((double) tv->vval.v_float);
-+ #endif
-+ case VAR_LIST:
-+ return ListNew(tv->vval.v_list);
-+ case VAR_DICT:
-+ return DictionaryNew(tv->vval.v_dict);
-+ case VAR_FUNC:
-+ return FunctionNew(tv->vval.v_string);
-+ case VAR_UNKNOWN:
-+ Py_INCREF(Py_None);
-+ return Py_None;
-+ default:
-+ PyErr_SetVim(_("internal error: invalid value type"));
-+ return NULL;
-+ }
-+ }
-+ #endif
-*** ../vim-7.3.568/src/if_python.c 2011-08-28 16:00:14.000000000 +0200
---- src/if_python.c 2012-06-29 12:47:48.000000000 +0200
-***************
-*** 1,4 ****
-! /* vi:set ts=8 sts=4 sw=4:
- *
- * VIM - Vi IMproved by Bram Moolenaar
- *
---- 1,4 ----
-! /* vi:set ts=8 sts=4 sw=4 noet:
- *
- * VIM - Vi IMproved by Bram Moolenaar
- *
-***************
-*** 56,61 ****
---- 56,63 ----
-
- static void init_structs(void);
-
-+ #define PyBytes_FromString PyString_FromString
-+
- /* No-op conversion functions, use with care! */
- #define PyString_AsBytes(obj) (obj)
- #define PyString_FreeBytes(obj)
-***************
-*** 122,132 ****
---- 124,136 ----
- /* This makes if_python.c compile without warnings against Python 2.5
- * on Win32 and Win64. */
- # undef PyRun_SimpleString
-+ # undef PyRun_String
- # undef PyArg_Parse
- # undef PyArg_ParseTuple
- # undef Py_BuildValue
- # undef Py_InitModule4
- # undef Py_InitModule4_64
-+ # undef PyObject_CallMethod
-
- /*
- * Wrapper defines
-***************
-*** 134,139 ****
---- 138,144 ----
- # define PyArg_Parse dll_PyArg_Parse
- # define PyArg_ParseTuple dll_PyArg_ParseTuple
- # define PyMem_Free dll_PyMem_Free
-+ # define PyMem_Malloc dll_PyMem_Malloc
- # define PyDict_SetItemString dll_PyDict_SetItemString
- # define PyErr_BadArgument dll_PyErr_BadArgument
- # define PyErr_Clear dll_PyErr_Clear
-***************
-*** 150,172 ****
---- 155,202 ----
- # endif
- # define PyInt_AsLong dll_PyInt_AsLong
- # define PyInt_FromLong dll_PyInt_FromLong
-+ # define PyLong_AsLong dll_PyLong_AsLong
-+ # define PyLong_FromLong dll_PyLong_FromLong
- # define PyInt_Type (*dll_PyInt_Type)
-+ # define PyLong_Type (*dll_PyLong_Type)
- # define PyList_GetItem dll_PyList_GetItem
- # define PyList_Append dll_PyList_Append
- # define PyList_New dll_PyList_New
- # define PyList_SetItem dll_PyList_SetItem
- # define PyList_Size dll_PyList_Size
- # define PyList_Type (*dll_PyList_Type)
-+ # define PySequence_Check dll_PySequence_Check
-+ # define PySequence_Size dll_PySequence_Size
-+ # define PySequence_GetItem dll_PySequence_GetItem
-+ # define PyTuple_Size dll_PyTuple_Size
-+ # define PyTuple_GetItem dll_PyTuple_GetItem
-+ # define PyTuple_Type (*dll_PyTuple_Type)
- # define PyImport_ImportModule dll_PyImport_ImportModule
- # define PyDict_New dll_PyDict_New
- # define PyDict_GetItemString dll_PyDict_GetItemString
-+ # define PyDict_Next dll_PyDict_Next
-+ # ifdef PyMapping_Items
-+ # define PY_NO_MAPPING_ITEMS
-+ # else
-+ # define PyMapping_Items dll_PyMapping_Items
-+ # endif
-+ # define PyObject_CallMethod dll_PyObject_CallMethod
-+ # define PyMapping_Check dll_PyMapping_Check
-+ # define PyIter_Next dll_PyIter_Next
- # define PyModule_GetDict dll_PyModule_GetDict
- # define PyRun_SimpleString dll_PyRun_SimpleString
-+ # define PyRun_String dll_PyRun_String
- # define PyString_AsString dll_PyString_AsString
- # define PyString_FromString dll_PyString_FromString
- # define PyString_FromStringAndSize dll_PyString_FromStringAndSize
- # define PyString_Size dll_PyString_Size
- # define PyString_Type (*dll_PyString_Type)
-+ # define PyUnicode_Type (*dll_PyUnicode_Type)
-+ # define PyUnicodeUCS4_AsEncodedString (*dll_PyUnicodeUCS4_AsEncodedString)
-+ # define PyFloat_AsDouble dll_PyFloat_AsDouble
-+ # define PyFloat_FromDouble dll_PyFloat_FromDouble
-+ # define PyFloat_Type (*dll_PyFloat_Type)
-+ # define PyImport_AddModule (*dll_PyImport_AddModule)
- # define PySys_SetObject dll_PySys_SetObject
- # define PySys_SetArgv dll_PySys_SetArgv
- # define PyType_Type (*dll_PyType_Type)
-***************
-*** 179,186 ****
---- 209,218 ----
- # define Py_Finalize dll_Py_Finalize
- # define Py_IsInitialized dll_Py_IsInitialized
- # define _PyObject_New dll__PyObject_New
-+ # define _PyObject_NextNotImplemented (*dll__PyObject_NextNotImplemented)
- # define _Py_NoneStruct (*dll__Py_NoneStruct)
- # define PyObject_Init dll__PyObject_Init
-+ # define PyObject_GetIter dll_PyObject_GetIter
- # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02020000
- # define PyType_IsSubtype dll_PyType_IsSubtype
- # endif
-***************
-*** 188,193 ****
---- 220,227 ----
- # define PyObject_Malloc dll_PyObject_Malloc
- # define PyObject_Free dll_PyObject_Free
- # endif
-+ # define PyCapsule_New dll_PyCapsule_New
-+ # define PyCapsule_GetPointer dll_PyCapsule_GetPointer
-
- /*
- * Pointers for dynamic link
-***************
-*** 195,200 ****
---- 229,235 ----
- static int(*dll_PyArg_Parse)(PyObject *, char *, ...);
- static int(*dll_PyArg_ParseTuple)(PyObject *, char *, ...);
- static int(*dll_PyMem_Free)(void *);
-+ static void* (*dll_PyMem_Malloc)(size_t);
- static int(*dll_PyDict_SetItemString)(PyObject *dp, char *key, PyObject *item);
- static int(*dll_PyErr_BadArgument)(void);
- static void(*dll_PyErr_Clear)(void);
-***************
-*** 208,233 ****
- # ifdef PY_CAN_RECURSE
- static PyGILState_STATE (*dll_PyGILState_Ensure)(void);
- static void (*dll_PyGILState_Release)(PyGILState_STATE);
-! #endif
- static long(*dll_PyInt_AsLong)(PyObject *);
- static PyObject*(*dll_PyInt_FromLong)(long);
- static PyTypeObject* dll_PyInt_Type;
- static PyObject*(*dll_PyList_GetItem)(PyObject *, PyInt);
- static PyObject*(*dll_PyList_Append)(PyObject *, PyObject *);
- static PyObject*(*dll_PyList_New)(PyInt size);
- static int(*dll_PyList_SetItem)(PyObject *, PyInt, PyObject *);
- static PyInt(*dll_PyList_Size)(PyObject *);
- static PyTypeObject* dll_PyList_Type;
- static PyObject*(*dll_PyImport_ImportModule)(const char *);
- static PyObject*(*dll_PyDict_New)(void);
- static PyObject*(*dll_PyDict_GetItemString)(PyObject *, const char *);
- static PyObject*(*dll_PyModule_GetDict)(PyObject *);
- static int(*dll_PyRun_SimpleString)(char *);
- static char*(*dll_PyString_AsString)(PyObject *);
- static PyObject*(*dll_PyString_FromString)(const char *);
- static PyObject*(*dll_PyString_FromStringAndSize)(const char *, PyInt);
- static PyInt(*dll_PyString_Size)(PyObject *);
- static PyTypeObject* dll_PyString_Type;
- static int(*dll_PySys_SetObject)(char *, PyObject *);
- static int(*dll_PySys_SetArgv)(int, char **);
- static PyTypeObject* dll_PyType_Type;
---- 243,290 ----
- # ifdef PY_CAN_RECURSE
- static PyGILState_STATE (*dll_PyGILState_Ensure)(void);
- static void (*dll_PyGILState_Release)(PyGILState_STATE);
-! # endif
- static long(*dll_PyInt_AsLong)(PyObject *);
- static PyObject*(*dll_PyInt_FromLong)(long);
-+ static long(*dll_PyLong_AsLong)(PyObject *);
-+ static PyObject*(*dll_PyLong_FromLong)(long);
- static PyTypeObject* dll_PyInt_Type;
-+ static PyTypeObject* dll_PyLong_Type;
- static PyObject*(*dll_PyList_GetItem)(PyObject *, PyInt);
- static PyObject*(*dll_PyList_Append)(PyObject *, PyObject *);
- static PyObject*(*dll_PyList_New)(PyInt size);
- static int(*dll_PyList_SetItem)(PyObject *, PyInt, PyObject *);
- static PyInt(*dll_PyList_Size)(PyObject *);
- static PyTypeObject* dll_PyList_Type;
-+ static int (*dll_PySequence_Check)(PyObject *);
-+ static PyInt(*dll_PySequence_Size)(PyObject *);
-+ static PyObject*(*dll_PySequence_GetItem)(PyObject *, PyInt);
-+ static PyInt(*dll_PyTuple_Size)(PyObject *);
-+ static PyObject*(*dll_PyTuple_GetItem)(PyObject *, PyInt);
-+ static PyTypeObject* dll_PyTuple_Type;
- static PyObject*(*dll_PyImport_ImportModule)(const char *);
- static PyObject*(*dll_PyDict_New)(void);
- static PyObject*(*dll_PyDict_GetItemString)(PyObject *, const char *);
-+ static int (*dll_PyDict_Next)(PyObject *, Py_ssize_t *, PyObject **, PyObject **);
-+ # ifndef PY_NO_MAPPING_ITEMS
-+ static PyObject* (*dll_PyMapping_Items)(PyObject *);
-+ # endif
-+ static PyObject* (*dll_PyObject_CallMethod)(PyObject *, char *, PyObject *);
-+ static int (*dll_PyMapping_Check)(PyObject *);
-+ static PyObject* (*dll_PyIter_Next)(PyObject *);
- static PyObject*(*dll_PyModule_GetDict)(PyObject *);
- static int(*dll_PyRun_SimpleString)(char *);
-+ static PyObject *(*dll_PyRun_String)(char *, int, PyObject *, PyObject *);
- static char*(*dll_PyString_AsString)(PyObject *);
- static PyObject*(*dll_PyString_FromString)(const char *);
- static PyObject*(*dll_PyString_FromStringAndSize)(const char *, PyInt);
- static PyInt(*dll_PyString_Size)(PyObject *);
- static PyTypeObject* dll_PyString_Type;
-+ static PyTypeObject* dll_PyUnicode_Type;
-+ static PyObject *(*PyUnicodeUCS4_AsEncodedString)(PyObject *, char *, char *);
-+ static double(*dll_PyFloat_AsDouble)(PyObject *);
-+ static PyObject*(*dll_PyFloat_FromDouble)(double);
-+ static PyTypeObject* dll_PyFloat_Type;
- static int(*dll_PySys_SetObject)(char *, PyObject *);
- static int(*dll_PySys_SetArgv)(int, char **);
- static PyTypeObject* dll_PyType_Type;
-***************
-*** 235,246 ****
---- 292,306 ----
- static PyObject*(*dll_Py_BuildValue)(char *, ...);
- static PyObject*(*dll_Py_FindMethod)(struct PyMethodDef[], PyObject *, char *);
- static PyObject*(*dll_Py_InitModule4)(char *, struct PyMethodDef *, char *, PyObject *, int);
-+ static PyObject*(*dll_PyImport_AddModule)(char *);
- static void(*dll_Py_SetPythonHome)(char *home);
- static void(*dll_Py_Initialize)(void);
- static void(*dll_Py_Finalize)(void);
- static int(*dll_Py_IsInitialized)(void);
- static PyObject*(*dll__PyObject_New)(PyTypeObject *, PyObject *);
- static PyObject*(*dll__PyObject_Init)(PyObject *, PyTypeObject *);
-+ static PyObject* (*dll_PyObject_GetIter)(PyObject *);
-+ static iternextfunc dll__PyObject_NextNotImplemented;
- static PyObject* dll__Py_NoneStruct;
- # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02020000
- static int (*dll_PyType_IsSubtype)(PyTypeObject *, PyTypeObject *);
-***************
-*** 249,254 ****
---- 309,316 ----
- static void* (*dll_PyObject_Malloc)(size_t);
- static void (*dll_PyObject_Free)(void*);
- # endif
-+ static PyObject* (*dll_PyCapsule_New)(void *, char *, PyCapsule_Destructor);
-+ static void* (*dll_PyCapsule_GetPointer)(PyObject *, char *);
-
- static HINSTANCE hinstPython = 0; /* Instance of python.dll */
-
-***************
-*** 278,283 ****
---- 340,346 ----
- {"PyArg_Parse", (PYTHON_PROC*)&dll_PyArg_Parse},
- {"PyArg_ParseTuple", (PYTHON_PROC*)&dll_PyArg_ParseTuple},
- {"PyMem_Free", (PYTHON_PROC*)&dll_PyMem_Free},
-+ {"PyMem_Malloc", (PYTHON_PROC*)&dll_PyMem_Malloc},
- {"PyDict_SetItemString", (PYTHON_PROC*)&dll_PyDict_SetItemString},
- {"PyErr_BadArgument", (PYTHON_PROC*)&dll_PyErr_BadArgument},
- {"PyErr_Clear", (PYTHON_PROC*)&dll_PyErr_Clear},
-***************
-*** 294,316 ****
---- 357,402 ----
- # endif
- {"PyInt_AsLong", (PYTHON_PROC*)&dll_PyInt_AsLong},
- {"PyInt_FromLong", (PYTHON_PROC*)&dll_PyInt_FromLong},
-+ {"PyLong_AsLong", (PYTHON_PROC*)&dll_PyLong_AsLong},
-+ {"PyLong_FromLong", (PYTHON_PROC*)&dll_PyLong_FromLong},
- {"PyInt_Type", (PYTHON_PROC*)&dll_PyInt_Type},
-+ {"PyLong_Type", (PYTHON_PROC*)&dll_PyLong_Type},
- {"PyList_GetItem", (PYTHON_PROC*)&dll_PyList_GetItem},
- {"PyList_Append", (PYTHON_PROC*)&dll_PyList_Append},
- {"PyList_New", (PYTHON_PROC*)&dll_PyList_New},
- {"PyList_SetItem", (PYTHON_PROC*)&dll_PyList_SetItem},
- {"PyList_Size", (PYTHON_PROC*)&dll_PyList_Size},
- {"PyList_Type", (PYTHON_PROC*)&dll_PyList_Type},
-+ {"PySequence_GetItem", (PYTHON_PROC*)&dll_PySequence_GetItem},
-+ {"PySequence_Size", (PYTHON_PROC*)&dll_PySequence_Size},
-+ {"PySequence_Check", (PYTHON_PROC*)&dll_PySequence_Check},
-+ {"PyTuple_GetItem", (PYTHON_PROC*)&dll_PyTuple_GetItem},
-+ {"PyTuple_Size", (PYTHON_PROC*)&dll_PyTuple_Size},
-+ {"PyTuple_Type", (PYTHON_PROC*)&dll_PyTuple_Type},
- {"PyImport_ImportModule", (PYTHON_PROC*)&dll_PyImport_ImportModule},
- {"PyDict_GetItemString", (PYTHON_PROC*)&dll_PyDict_GetItemString},
-+ {"PyDict_Next", (PYTHON_PROC*)&dll_PyDict_Next},
- {"PyDict_New", (PYTHON_PROC*)&dll_PyDict_New},
-+ # ifndef PY_NO_MAPPING_ITEMS
-+ {"PyMapping_Items", (PYTHON_PROC*)&dll_PyMapping_Items},
-+ # endif
-+ {"PyObject_CallMethod", (PYTHON_PROC*)&dll_PyObject_CallMethod},
-+ {"PyMapping_Check", (PYTHON_PROC*)&dll_PyMapping_Check},
-+ {"PyIter_Next", (PYTHON_PROC*)&dll_PyIter_Next},
- {"PyModule_GetDict", (PYTHON_PROC*)&dll_PyModule_GetDict},
- {"PyRun_SimpleString", (PYTHON_PROC*)&dll_PyRun_SimpleString},
-+ {"PyRun_String", (PYTHON_PROC*)&dll_PyRun_String},
- {"PyString_AsString", (PYTHON_PROC*)&dll_PyString_AsString},
- {"PyString_FromString", (PYTHON_PROC*)&dll_PyString_FromString},
- {"PyString_FromStringAndSize", (PYTHON_PROC*)&dll_PyString_FromStringAndSize},
- {"PyString_Size", (PYTHON_PROC*)&dll_PyString_Size},
- {"PyString_Type", (PYTHON_PROC*)&dll_PyString_Type},
-+ {"PyUnicode_Type", (PYTHON_PROC*)&dll_PyUnicode_Type},
-+ {"PyUnicodeUCS4_AsEncodedString", (PYTHON_PROC*)&dll_PyUnicodeUCS4_AsEncodedString},
-+ {"PyFloat_Type", (PYTHON_PROC*)&dll_PyFloat_Type},
-+ {"PyFloat_AsDouble", (PYTHON_PROC*)&dll_PyFloat_AsDouble},
-+ {"PyFloat_FromDouble", (PYTHON_PROC*)&dll_PyFloat_FromDouble},
-+ {"PyImport_AddModule", (PYTHON_PROC*)&dll_PyImport_AddModule},
- {"PySys_SetObject", (PYTHON_PROC*)&dll_PySys_SetObject},
- {"PySys_SetArgv", (PYTHON_PROC*)&dll_PySys_SetArgv},
- {"PyType_Type", (PYTHON_PROC*)&dll_PyType_Type},
-***************
-*** 328,333 ****
---- 414,421 ----
- {"Py_IsInitialized", (PYTHON_PROC*)&dll_Py_IsInitialized},
- {"_PyObject_New", (PYTHON_PROC*)&dll__PyObject_New},
- {"PyObject_Init", (PYTHON_PROC*)&dll__PyObject_Init},
-+ {"PyObject_GetIter", (PYTHON_PROC*)&dll_PyObject_GetIter},
-+ {"_PyObject_NextNotImplemented", (PYTHON_PROC*)&dll__PyObject_NextNotImplemented},
- {"_Py_NoneStruct", (PYTHON_PROC*)&dll__Py_NoneStruct},
- # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02020000
- {"PyType_IsSubtype", (PYTHON_PROC*)&dll_PyType_IsSubtype},
-***************
-*** 336,341 ****
---- 424,431 ----
- {"PyObject_Malloc", (PYTHON_PROC*)&dll_PyObject_Malloc},
- {"PyObject_Free", (PYTHON_PROC*)&dll_PyObject_Free},
- # endif
-+ {"PyCapsule_New", (PYTHON_PROC*)&dll_PyCapsule_New},
-+ {"PyCapsule_GetPointer", (PYTHON_PROC*)&dll_PyCapsule_GetPointer},
- {"", NULL},
- };
-
-***************
-*** 434,443 ****
---- 524,548 ----
-
- static PyObject *BufferNew (buf_T *);
- static PyObject *WindowNew(win_T *);
-+ static PyObject *DictionaryNew(dict_T *);
- static PyObject *LineToString(const char *);
-
- static PyTypeObject RangeType;
-
-+ static int initialised = 0;
-+ #define PYINITIALISED initialised
-+
-+ /* Add conversion from PyInt? */
-+ #define DICTKEY_GET(err) \
-+ if (!PyString_Check(keyObject)) \
-+ { \
-+ PyErr_SetString(PyExc_TypeError, _("only string keys are allowed")); \
-+ return err; \
-+ } \
-+ key = (char_u *) PyString_AsString(keyObject);
-+ #define DICTKEY_UNREF
-+ #define DICTKEY_DECL
-+
- /*
- * Include the code shared with if_python3.c
- */
-***************
-*** 451,456 ****
---- 556,563 ----
- static PyInt RangeStart;
- static PyInt RangeEnd;
-
-+ static PyObject *globals;
-+
- static void PythonIO_Flush(void);
- static int PythonIO_Init(void);
- static int PythonMod_Init(void);
-***************
-*** 466,473 ****
- * 1. Python interpreter main program.
- */
-
-- static int initialised = 0;
--
- #if PYTHON_API_VERSION < 1007 /* Python 1.4 */
- typedef PyObject PyThreadState;
- #endif
---- 573,578 ----
-***************
-*** 581,586 ****
---- 686,693 ----
- if (PythonMod_Init())
- goto fail;
-
-+ globals = PyModule_GetDict(PyImport_AddModule("__main__"));
-+
- /* Remove the element from sys.path that was added because of our
- * argv[0] value in PythonMod_Init(). Previously we used an empty
- * string, but dependinding on the OS we then get an empty entry or
-***************
-*** 609,615 ****
- * External interface
- */
- static void
-! DoPythonCommand(exarg_T *eap, const char *cmd)
- {
- #ifndef PY_CAN_RECURSE
- static int recursive = 0;
---- 716,722 ----
- * External interface
- */
- static void
-! DoPythonCommand(exarg_T *eap, const char *cmd, typval_T *rettv)
- {
- #ifndef PY_CAN_RECURSE
- static int recursive = 0;
-***************
-*** 639,646 ****
- if (Python_Init())
- goto theend;
-
-! RangeStart = eap->line1;
-! RangeEnd = eap->line2;
- Python_Release_Vim(); /* leave vim */
-
- #if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
---- 746,761 ----
- if (Python_Init())
- goto theend;
-
-! if (rettv == NULL)
-! {
-! RangeStart = eap->line1;
-! RangeEnd = eap->line2;
-! }
-! else
-! {
-! RangeStart = (PyInt) curwin->w_cursor.lnum;
-! RangeEnd = RangeStart;
-! }
- Python_Release_Vim(); /* leave vim */
-
- #if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
-***************
-*** 658,664 ****
-
- Python_RestoreThread(); /* enter python */
-
-! PyRun_SimpleString((char *)(cmd));
-
- Python_SaveThread(); /* leave python */
-
---- 773,795 ----
-
- Python_RestoreThread(); /* enter python */
-
-! if (rettv == NULL)
-! PyRun_SimpleString((char *)(cmd));
-! else
-! {
-! PyObject *r;
-!
-! r = PyRun_String((char *)(cmd), Py_eval_input, globals, globals);
-! if (r == NULL)
-! EMSG(_("E858: Eval did not return a valid python object"));
-! else
-! {
-! if (ConvertFromPyObject(r, rettv) == -1)
-! EMSG(_("E859: Failed to convert returned python object to vim value"));
-! Py_DECREF(r);
-! }
-! PyErr_Clear();
-! }
-
- Python_SaveThread(); /* leave python */
-
-***************
-*** 680,686 ****
- #ifndef PY_CAN_RECURSE
- --recursive;
- #endif
-! return; /* keeps lint happy */
- }
-
- /*
---- 811,817 ----
- #ifndef PY_CAN_RECURSE
- --recursive;
- #endif
-! return;
- }
-
- /*
-***************
-*** 695,703 ****
- if (!eap->skip)
- {
- if (script == NULL)
-! DoPythonCommand(eap, (char *)eap->arg);
- else
-! DoPythonCommand(eap, (char *)script);
- }
- vim_free(script);
- }
---- 826,834 ----
- if (!eap->skip)
- {
- if (script == NULL)
-! DoPythonCommand(eap, (char *)eap->arg, NULL);
- else
-! DoPythonCommand(eap, (char *)script, NULL);
- }
- vim_free(script);
- }
-***************
-*** 743,749 ****
- *p++ = '\0';
-
- /* Execute the file */
-! DoPythonCommand(eap, buffer);
- }
-
- /******************************************************
---- 874,880 ----
- *p++ = '\0';
-
- /* Execute the file */
-! DoPythonCommand(eap, buffer, NULL);
- }
-
- /******************************************************
-***************
-*** 765,778 ****
- static int
- OutputSetattr(PyObject *self, char *name, PyObject *val)
- {
-! if (val == NULL) {
- PyErr_SetString(PyExc_AttributeError, _("can't delete OutputObject attributes"));
- return -1;
- }
-
- if (strcmp(name, "softspace") == 0)
- {
-! if (!PyInt_Check(val)) {
- PyErr_SetString(PyExc_TypeError, _("softspace must be an integer"));
- return -1;
- }
---- 896,911 ----
- static int
- OutputSetattr(PyObject *self, char *name, PyObject *val)
- {
-! if (val == NULL)
-! {
- PyErr_SetString(PyExc_AttributeError, _("can't delete OutputObject attributes"));
- return -1;
- }
-
- if (strcmp(name, "softspace") == 0)
- {
-! if (!PyInt_Check(val))
-! {
- PyErr_SetString(PyExc_TypeError, _("softspace must be an integer"));
- return -1;
- }
-***************
-*** 800,805 ****
---- 933,941 ----
- * 3. Implementation of the Vim module for Python
- */
-
-+ static PyObject *ConvertToPyObject(typval_T *);
-+ static int ConvertFromPyObject(PyObject *, typval_T *);
-+
- /* Window type - Implementation functions
- * --------------------------------------
- */
-***************
-*** 1441,1446 ****
---- 1577,1748 ----
- return result;
- }
-
-+ static void DictionaryDestructor(PyObject *);
-+ static PyObject *DictionaryGetattr(PyObject *, char*);
-+
-+ static PyMappingMethods DictionaryAsMapping = {
-+ (PyInquiry) DictionaryLength,
-+ (binaryfunc) DictionaryItem,
-+ (objobjargproc) DictionaryAssItem,
-+ };
-+
-+ static PyTypeObject DictionaryType = {
-+ PyObject_HEAD_INIT(0)
-+ 0,
-+ "vimdictionary",
-+ sizeof(DictionaryObject),
-+ 0,
-+
-+ (destructor) DictionaryDestructor,
-+ (printfunc) 0,
-+ (getattrfunc) DictionaryGetattr,
-+ (setattrfunc) 0,
-+ (cmpfunc) 0,
-+ (reprfunc) 0,
-+
-+ 0, /* as number */
-+ 0, /* as sequence */
-+ &DictionaryAsMapping, /* as mapping */
-+
-+ (hashfunc) 0,
-+ (ternaryfunc) 0,
-+ (reprfunc) 0,
-+ };
-+
-+ static void
-+ DictionaryDestructor(PyObject *self)
-+ {
-+ DictionaryObject *this = ((DictionaryObject *) (self));
-+
-+ pyll_remove(&this->ref, &lastdict);
-+ dict_unref(this->dict);
-+
-+ Py_DECREF(self);
-+ }
-+
-+ static PyObject *
-+ DictionaryGetattr(PyObject *self, char *name)
-+ {
-+ return Py_FindMethod(DictionaryMethods, self, name);
-+ }
-+
-+ static void ListDestructor(PyObject *);
-+ static PyObject *ListGetattr(PyObject *, char *);
-+
-+ static PySequenceMethods ListAsSeq = {
-+ (PyInquiry) ListLength,
-+ (binaryfunc) 0,
-+ (PyIntArgFunc) 0,
-+ (PyIntArgFunc) ListItem,
-+ (PyIntIntArgFunc) ListSlice,
-+ (PyIntObjArgProc) ListAssItem,
-+ (PyIntIntObjArgProc) ListAssSlice,
-+ (objobjproc) 0,
-+ #if PY_MAJOR_VERSION >= 2
-+ (binaryfunc) ListConcatInPlace,
-+ 0,
-+ #endif
-+ };
-+
-+ static PyTypeObject ListType = {
-+ PyObject_HEAD_INIT(0)
-+ 0,
-+ "vimlist",
-+ sizeof(ListObject),
-+ 0,
-+
-+ (destructor) ListDestructor,
-+ (printfunc) 0,
-+ (getattrfunc) ListGetattr,
-+ (setattrfunc) 0,
-+ (cmpfunc) 0,
-+ (reprfunc) 0,
-+
-+ 0, /* as number */
-+ &ListAsSeq, /* as sequence */
-+ 0, /* as mapping */
-+
-+ (hashfunc) 0,
-+ (ternaryfunc) 0,
-+ (reprfunc) 0,
-+ };
-+
-+ static void
-+ ListDestructor(PyObject *self)
-+ {
-+ ListObject *this = ((ListObject *) (self));
-+
-+ pyll_remove(&this->ref, &lastlist);
-+ list_unref(this->list);
-+
-+ Py_DECREF(self);
-+ }
-+
-+ static PyObject *
-+ ListGetattr(PyObject *self, char *name)
-+ {
-+ return Py_FindMethod(ListMethods, self, name);
-+ }
-+
-+ static void FunctionDestructor(PyObject *);
-+ static PyObject *FunctionGetattr(PyObject *, char *);
-+
-+ static PyTypeObject FunctionType = {
-+ PyObject_HEAD_INIT(0)
-+ 0,
-+ "vimfunction",
-+ sizeof(FunctionObject),
-+ 0,
-+
-+ (destructor) FunctionDestructor,
-+ (printfunc) 0,
-+ (getattrfunc) FunctionGetattr,
-+ (setattrfunc) 0,
-+ (cmpfunc) 0,
-+ (reprfunc) 0,
-+
-+ 0, /* as number */
-+ 0, /* as sequence */
-+ 0, /* as mapping */
-+
-+ (hashfunc) 0,
-+ (ternaryfunc) FunctionCall,
-+ (reprfunc) 0,
-+ };
-+
-+ static void
-+ FunctionDestructor(PyObject *self)
-+ {
-+ FunctionObject *this = (FunctionObject *) (self);
-+
-+ func_unref(this->name);
-+ PyMem_Del(this->name);
-+
-+ Py_DECREF(self);
-+ }
-+
-+ static PyObject *
-+ FunctionGetattr(PyObject *self, char *name)
-+ {
-+ FunctionObject *this = (FunctionObject *)(self);
-+
-+ if (strcmp(name, "name") == 0)
-+ return PyString_FromString((char *)(this->name));
-+ else
-+ return Py_FindMethod(FunctionMethods, self, name);
-+ }
-+
-+ void
-+ do_pyeval (char_u *str, typval_T *rettv)
-+ {
-+ DoPythonCommand(NULL, (char *) str, rettv);
-+ switch(rettv->v_type)
-+ {
-+ case VAR_DICT: ++rettv->vval.v_dict->dv_refcount; break;
-+ case VAR_LIST: ++rettv->vval.v_list->lv_refcount; break;
-+ case VAR_FUNC: func_ref(rettv->vval.v_string); break;
-+ }
-+ }
-
- /* Don't generate a prototype for the next function, it generates an error on
- * newer Python versions. */
-***************
-*** 1453,1458 ****
---- 1755,1766 ----
- }
- #endif /* Python 1.4 */
-
-+ void
-+ set_ref_in_python (int copyID)
-+ {
-+ set_ref_in_py(copyID);
-+ }
-+
- static void
- init_structs(void)
- {
-*** ../vim-7.3.568/src/if_python3.c 2012-02-04 20:17:21.000000000 +0100
---- src/if_python3.c 2012-06-29 11:54:10.000000000 +0200
-***************
-*** 77,83 ****
-
- #define PyInt Py_ssize_t
- #define PyString_Check(obj) PyUnicode_Check(obj)
-! #define PyString_AsBytes(obj) PyUnicode_AsEncodedString(obj, (char *)ENC_OPT, CODEC_ERROR_HANDLER);
- #define PyString_FreeBytes(obj) Py_XDECREF(bytes)
- #define PyString_AsString(obj) PyBytes_AsString(obj)
- #define PyString_Size(obj) PyBytes_GET_SIZE(bytes)
---- 77,83 ----
-
- #define PyInt Py_ssize_t
- #define PyString_Check(obj) PyUnicode_Check(obj)
-! #define PyString_AsBytes(obj) PyUnicode_AsEncodedString(obj, (char *)ENC_OPT, CODEC_ERROR_HANDLER)
- #define PyString_FreeBytes(obj) Py_XDECREF(bytes)
- #define PyString_AsString(obj) PyBytes_AsString(obj)
- #define PyString_Size(obj) PyBytes_GET_SIZE(bytes)
-***************
-*** 109,114 ****
---- 109,115 ----
- # undef PyArg_ParseTuple
- # define PyArg_ParseTuple py3_PyArg_ParseTuple
- # define PyMem_Free py3_PyMem_Free
-+ # define PyMem_Malloc py3_PyMem_Malloc
- # define PyDict_SetItemString py3_PyDict_SetItemString
- # define PyErr_BadArgument py3_PyErr_BadArgument
- # define PyErr_Clear py3_PyErr_Clear
-***************
-*** 128,141 ****
---- 129,155 ----
- # define PyList_New py3_PyList_New
- # define PyList_SetItem py3_PyList_SetItem
- # define PyList_Size py3_PyList_Size
-+ # define PySequence_Check py3_PySequence_Check
-+ # define PySequence_Size py3_PySequence_Size
-+ # define PySequence_GetItem py3_PySequence_GetItem
-+ # define PyTuple_Size py3_PyTuple_Size
-+ # define PyTuple_GetItem py3_PyTuple_GetItem
- # define PySlice_GetIndicesEx py3_PySlice_GetIndicesEx
- # define PyImport_ImportModule py3_PyImport_ImportModule
-+ # define PyImport_AddModule py3_PyImport_AddModule
- # define PyObject_Init py3__PyObject_Init
- # define PyDict_New py3_PyDict_New
- # define PyDict_GetItemString py3_PyDict_GetItemString
-+ # define PyDict_Next py3_PyDict_Next
-+ # define PyMapping_Check py3_PyMapping_Check
-+ # define PyMapping_Items py3_PyMapping_Items
-+ # define PyIter_Next py3_PyIter_Next
-+ # define PyObject_GetIter py3_PyObject_GetIter
- # define PyModule_GetDict py3_PyModule_GetDict
- #undef PyRun_SimpleString
- # define PyRun_SimpleString py3_PyRun_SimpleString
-+ #undef PyRun_String
-+ # define PyRun_String py3_PyRun_String
- # define PySys_SetObject py3_PySys_SetObject
- # define PySys_SetArgv py3_PySys_SetArgv
- # define PyType_Type (*py3_PyType_Type)
-***************
-*** 147,152 ****
---- 161,167 ----
- # define Py_Finalize py3_Py_Finalize
- # define Py_IsInitialized py3_Py_IsInitialized
- # define _Py_NoneStruct (*py3__Py_NoneStruct)
-+ # define _PyObject_NextNotImplemented (*py3__PyObject_NextNotImplemented)
- # define PyModule_AddObject py3_PyModule_AddObject
- # define PyImport_AppendInittab py3_PyImport_AppendInittab
- # define _PyUnicode_AsString py3__PyUnicode_AsString
-***************
-*** 154,161 ****
---- 169,181 ----
- # define PyUnicode_AsEncodedString py3_PyUnicode_AsEncodedString
- # undef PyBytes_AsString
- # define PyBytes_AsString py3_PyBytes_AsString
-+ # undef PyBytes_FromString
-+ # define PyBytes_FromString py3_PyBytes_FromString
-+ # define PyFloat_FromDouble py3_PyFloat_FromDouble
-+ # define PyFloat_AsDouble py3_PyFloat_AsDouble
- # define PyObject_GenericGetAttr py3_PyObject_GenericGetAttr
- # define PySlice_Type (*py3_PySlice_Type)
-+ # define PyFloat_Type (*py3_PyFloat_Type)
- # define PyErr_NewException py3_PyErr_NewException
- # ifdef Py_DEBUG
- # define _Py_NegativeRefcount py3__Py_NegativeRefcount
-***************
-*** 174,179 ****
---- 194,202 ----
- # define PyUnicode_FromString py3_PyUnicode_FromString
- # undef PyUnicode_Decode
- # define PyUnicode_Decode py3_PyUnicode_Decode
-+ # define PyType_IsSubtype py3_PyType_IsSubtype
-+ # define PyCapsule_New py3_PyCapsule_New
-+ # define PyCapsule_GetPointer py3_PyCapsule_GetPointer
-
- # ifdef Py_DEBUG
- # undef PyObject_NEW
-***************
-*** 194,215 ****
---- 217,250 ----
- static int (*py3_PySys_SetObject)(char *, PyObject *);
- static PyObject* (*py3_PyList_Append)(PyObject *, PyObject *);
- static Py_ssize_t (*py3_PyList_Size)(PyObject *);
-+ static int (*py3_PySequence_Check)(PyObject *);
-+ static Py_ssize_t (*py3_PySequence_Size)(PyObject *);
-+ static PyObject* (*py3_PySequence_GetItem)(PyObject *, Py_ssize_t);
-+ static Py_ssize_t (*py3_PyTuple_Size)(PyObject *);
-+ static PyObject* (*py3_PyTuple_GetItem)(PyObject *, Py_ssize_t);
-+ static int (*py3_PyMapping_Check)(PyObject *);
-+ static PyObject* (*py3_PyMapping_Items)(PyObject *);
- static int (*py3_PySlice_GetIndicesEx)(PyObject *r, Py_ssize_t length,
- Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, Py_ssize_t *slicelength);
- static PyObject* (*py3_PyErr_NoMemory)(void);
- static void (*py3_Py_Finalize)(void);
- static void (*py3_PyErr_SetString)(PyObject *, const char *);
- static int (*py3_PyRun_SimpleString)(char *);
-+ static PyObject* (*py3_PyRun_String)(char *, int, PyObject *, PyObject *);
- static PyObject* (*py3_PyList_GetItem)(PyObject *, Py_ssize_t);
- static PyObject* (*py3_PyImport_ImportModule)(const char *);
-+ static PyObject* (*py3_PyImport_AddModule)(const char *);
- static int (*py3_PyErr_BadArgument)(void);
- static PyTypeObject* py3_PyType_Type;
- static PyObject* (*py3_PyErr_Occurred)(void);
- static PyObject* (*py3_PyModule_GetDict)(PyObject *);
- static int (*py3_PyList_SetItem)(PyObject *, Py_ssize_t, PyObject *);
- static PyObject* (*py3_PyDict_GetItemString)(PyObject *, const char *);
-+ static int (*py3_PyDict_Next)(PyObject *, Py_ssize_t *, PyObject **, PyObject **);
- static PyObject* (*py3_PyLong_FromLong)(long);
- static PyObject* (*py3_PyDict_New)(void);
-+ static PyObject* (*py3_PyIter_Next)(PyObject *);
-+ static PyObject* (*py3_PyObject_GetIter)(PyObject *);
- static PyObject* (*py3_Py_BuildValue)(char *, ...);
- static int (*py3_PyType_Ready)(PyTypeObject *type);
- static int (*py3_PyDict_SetItemString)(PyObject *dp, char *key, PyObject *item);
-***************
-*** 224,244 ****
---- 259,287 ----
- static int (*py3_PyArg_Parse)(PyObject *, char *, ...);
- static int (*py3_PyArg_ParseTuple)(PyObject *, char *, ...);
- static int (*py3_PyMem_Free)(void *);
-+ static void* (*py3_PyMem_Malloc)(size_t);
- static int (*py3_Py_IsInitialized)(void);
- static void (*py3_PyErr_Clear)(void);
- static PyObject*(*py3__PyObject_Init)(PyObject *, PyTypeObject *);
-+ static iternextfunc py3__PyObject_NextNotImplemented;
- static PyObject* py3__Py_NoneStruct;
- static int (*py3_PyModule_AddObject)(PyObject *m, const char *name, PyObject *o);
- static int (*py3_PyImport_AppendInittab)(const char *name, PyObject* (*initfunc)(void));
- static char* (*py3__PyUnicode_AsString)(PyObject *unicode);
- static PyObject* (*py3_PyUnicode_AsEncodedString)(PyObject *unicode, const char* encoding, const char* errors);
- static char* (*py3_PyBytes_AsString)(PyObject *bytes);
-+ static PyObject* (*py3_PyBytes_FromString)(char *str);
-+ static PyObject* (*py3_PyFloat_FromDouble)(double num);
-+ static double (*py3_PyFloat_AsDouble)(PyObject *);
- static PyObject* (*py3_PyObject_GenericGetAttr)(PyObject *obj, PyObject *name);
- static PyObject* (*py3_PyModule_Create2)(struct PyModuleDef* module, int module_api_version);
- static PyObject* (*py3_PyType_GenericAlloc)(PyTypeObject *type, Py_ssize_t nitems);
- static PyObject* (*py3_PyType_GenericNew)(PyTypeObject *type, PyObject *args, PyObject *kwds);
- static PyTypeObject* py3_PySlice_Type;
-+ static PyTypeObject* py3_PyFloat_Type;
- static PyObject* (*py3_PyErr_NewException)(char *name, PyObject *base, PyObject *dict);
-+ static PyObject* (*py3_PyCapsule_New)(void *, char *, PyCapsule_Destructor);
-+ static void* (*py3_PyCapsule_GetPointer)(PyObject *, char *);
- # ifdef Py_DEBUG
- static void (*py3__Py_NegativeRefcount)(const char *fname, int lineno, PyObject *op);
- static Py_ssize_t* py3__Py_RefTotal;
-***************
-*** 249,254 ****
---- 292,298 ----
- static void (*py3_PyObject_Free)(void*);
- static void* (*py3_PyObject_Malloc)(size_t);
- # endif
-+ static int (*py3_PyType_IsSubtype)(PyTypeObject *, PyTypeObject *);
-
- static HINSTANCE hinstPy3 = 0; /* Instance of python.dll */
-
-***************
-*** 280,304 ****
---- 324,361 ----
- {"Py_Initialize", (PYTHON_PROC*)&py3_Py_Initialize},
- {"PyArg_ParseTuple", (PYTHON_PROC*)&py3_PyArg_ParseTuple},
- {"PyMem_Free", (PYTHON_PROC*)&py3_PyMem_Free},
-+ {"PyMem_Malloc", (PYTHON_PROC*)&py3_PyMem_Malloc},
- {"PyList_New", (PYTHON_PROC*)&py3_PyList_New},
- {"PyGILState_Ensure", (PYTHON_PROC*)&py3_PyGILState_Ensure},
- {"PyGILState_Release", (PYTHON_PROC*)&py3_PyGILState_Release},
- {"PySys_SetObject", (PYTHON_PROC*)&py3_PySys_SetObject},
- {"PyList_Append", (PYTHON_PROC*)&py3_PyList_Append},
- {"PyList_Size", (PYTHON_PROC*)&py3_PyList_Size},
-+ {"PySequence_Check", (PYTHON_PROC*)&py3_PySequence_Check},
-+ {"PySequence_Size", (PYTHON_PROC*)&py3_PySequence_Size},
-+ {"PySequence_GetItem", (PYTHON_PROC*)&py3_PySequence_GetItem},
-+ {"PyTuple_Size", (PYTHON_PROC*)&py3_PyTuple_Size},
-+ {"PyTuple_GetItem", (PYTHON_PROC*)&py3_PyTuple_GetItem},
- {"PySlice_GetIndicesEx", (PYTHON_PROC*)&py3_PySlice_GetIndicesEx},
- {"PyErr_NoMemory", (PYTHON_PROC*)&py3_PyErr_NoMemory},
- {"Py_Finalize", (PYTHON_PROC*)&py3_Py_Finalize},
- {"PyErr_SetString", (PYTHON_PROC*)&py3_PyErr_SetString},
- {"PyRun_SimpleString", (PYTHON_PROC*)&py3_PyRun_SimpleString},
-+ {"PyRun_String", (PYTHON_PROC*)&py3_PyRun_String},
- {"PyList_GetItem", (PYTHON_PROC*)&py3_PyList_GetItem},
- {"PyImport_ImportModule", (PYTHON_PROC*)&py3_PyImport_ImportModule},
-+ {"PyImport_AddModule", (PYTHON_PROC*)&py3_PyImport_AddModule},
- {"PyErr_BadArgument", (PYTHON_PROC*)&py3_PyErr_BadArgument},
- {"PyType_Type", (PYTHON_PROC*)&py3_PyType_Type},
- {"PyErr_Occurred", (PYTHON_PROC*)&py3_PyErr_Occurred},
- {"PyModule_GetDict", (PYTHON_PROC*)&py3_PyModule_GetDict},
- {"PyList_SetItem", (PYTHON_PROC*)&py3_PyList_SetItem},
- {"PyDict_GetItemString", (PYTHON_PROC*)&py3_PyDict_GetItemString},
-+ {"PyDict_Next", (PYTHON_PROC*)&py3_PyDict_Next},
-+ {"PyMapping_Check", (PYTHON_PROC*)&py3_PyMapping_Check},
-+ {"PyMapping_Items", (PYTHON_PROC*)&py3_PyMapping_Items},
-+ {"PyIter_Next", (PYTHON_PROC*)&py3_PyIter_Next},
-+ {"PyObject_GetIter", (PYTHON_PROC*)&py3_PyObject_GetIter},
- {"PyLong_FromLong", (PYTHON_PROC*)&py3_PyLong_FromLong},
- {"PyDict_New", (PYTHON_PROC*)&py3_PyDict_New},
- {"Py_BuildValue", (PYTHON_PROC*)&py3_Py_BuildValue},
-***************
-*** 311,316 ****
---- 368,374 ----
- {"PyEval_SaveThread", (PYTHON_PROC*)&py3_PyEval_SaveThread},
- {"PyArg_Parse", (PYTHON_PROC*)&py3_PyArg_Parse},
- {"Py_IsInitialized", (PYTHON_PROC*)&py3_Py_IsInitialized},
-+ {"_PyObject_NextNotImplemented", (PYTHON_PROC*)&py3__PyObject_NextNotImplemented},
- {"_Py_NoneStruct", (PYTHON_PROC*)&py3__Py_NoneStruct},
- {"PyErr_Clear", (PYTHON_PROC*)&py3_PyErr_Clear},
- {"PyObject_Init", (PYTHON_PROC*)&py3__PyObject_Init},
-***************
-*** 318,328 ****
---- 376,390 ----
- {"PyImport_AppendInittab", (PYTHON_PROC*)&py3_PyImport_AppendInittab},
- {"_PyUnicode_AsString", (PYTHON_PROC*)&py3__PyUnicode_AsString},
- {"PyBytes_AsString", (PYTHON_PROC*)&py3_PyBytes_AsString},
-+ {"PyBytes_FromString", (PYTHON_PROC*)&py3_PyBytes_FromString},
-+ {"PyFloat_FromDouble", (PYTHON_PROC*)&py3_PyFloat_FromDouble},
-+ {"PyFloat_AsDouble", (PYTHON_PROC*)&py3_PyFloat_AsDouble},
- {"PyObject_GenericGetAttr", (PYTHON_PROC*)&py3_PyObject_GenericGetAttr},
- {"PyModule_Create2", (PYTHON_PROC*)&py3_PyModule_Create2},
- {"PyType_GenericAlloc", (PYTHON_PROC*)&py3_PyType_GenericAlloc},
- {"PyType_GenericNew", (PYTHON_PROC*)&py3_PyType_GenericNew},
- {"PySlice_Type", (PYTHON_PROC*)&py3_PySlice_Type},
-+ {"PyFloat_Type", (PYTHON_PROC*)&py3_PyFloat_Type},
- {"PyErr_NewException", (PYTHON_PROC*)&py3_PyErr_NewException},
- # ifdef Py_DEBUG
- {"_Py_NegativeRefcount", (PYTHON_PROC*)&py3__Py_NegativeRefcount},
-***************
-*** 334,339 ****
---- 396,404 ----
- {"PyObject_Malloc", (PYTHON_PROC*)&py3_PyObject_Malloc},
- {"PyObject_Free", (PYTHON_PROC*)&py3_PyObject_Free},
- # endif
-+ {"PyType_IsSubtype", (PYTHON_PROC*)&py3_PyType_IsSubtype},
-+ {"PyCapsule_New", (PYTHON_PROC*)&py3_PyCapsule_New},
-+ {"PyCapsule_GetPointer", (PYTHON_PROC*)&py3_PyCapsule_GetPointer},
- {"", NULL},
- };
-
-***************
-*** 472,482 ****
---- 537,577 ----
-
- static PyTypeObject RangeType;
-
-+ static int py3initialised = 0;
-+
-+ #define PYINITIALISED py3initialised
-+
-+ /* Add conversion from PyInt? */
-+ #define DICTKEY_GET(err) \
-+ if (PyBytes_Check(keyObject)) \
-+ key = (char_u *) PyBytes_AsString(keyObject); \
-+ else if (PyUnicode_Check(keyObject)) \
-+ { \
-+ bytes = PyString_AsBytes(keyObject); \
-+ if (bytes == NULL) \
-+ return err; \
-+ key = (char_u *) PyBytes_AsString(bytes); \
-+ if (key == NULL) \
-+ return err; \
-+ } \
-+ else \
-+ { \
-+ PyErr_SetString(PyExc_TypeError, _("only string keys are allowed")); \
-+ return err; \
-+ }
-+ #define DICTKEY_UNREF \
-+ if (bytes != NULL) \
-+ Py_XDECREF(bytes);
-+
-+ #define DICTKEY_DECL PyObject *bytes = NULL;
-+
- /*
- * Include the code shared with if_python.c
- */
- #include "if_py_both.h"
-
-+ #define PY3OBJ_DELETED(obj) (obj->ob_base.ob_refcnt<=0)
-+
- static void
- call_PyObject_Free(void *p)
- {
-***************
-*** 506,511 ****
---- 601,608 ----
- static Py_ssize_t RangeStart;
- static Py_ssize_t RangeEnd;
-
-+ static PyObject *globals;
-+
- static int PythonIO_Init(void);
- static void PythonIO_Fini(void);
- PyMODINIT_FUNC Py3Init_vim(void);
-***************
-*** 514,521 ****
- * 1. Python interpreter main program.
- */
-
-- static int py3initialised = 0;
--
- static PyGILState_STATE pygilstate = PyGILState_UNLOCKED;
-
- void
---- 611,616 ----
-***************
-*** 593,598 ****
---- 688,695 ----
-
- PyImport_AppendInittab("vim", Py3Init_vim);
-
-+ globals = PyModule_GetDict(PyImport_AddModule("__main__"));
-+
- /* Remove the element from sys.path that was added because of our
- * argv[0] value in Py3Init_vim(). Previously we used an empty
- * string, but dependinding on the OS we then get an empty entry or
-***************
-*** 629,635 ****
- * External interface
- */
- static void
-! DoPy3Command(exarg_T *eap, const char *cmd)
- {
- #if defined(MACOS) && !defined(MACOS_X_UNIX)
- GrafPtr oldPort;
---- 726,732 ----
- * External interface
- */
- static void
-! DoPy3Command(exarg_T *eap, const char *cmd, typval_T *rettv)
- {
- #if defined(MACOS) && !defined(MACOS_X_UNIX)
- GrafPtr oldPort;
-***************
-*** 649,656 ****
- if (Python3_Init())
- goto theend;
-
-! RangeStart = eap->line1;
-! RangeEnd = eap->line2;
- Python_Release_Vim(); /* leave vim */
-
- #if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
---- 746,761 ----
- if (Python3_Init())
- goto theend;
-
-! if (rettv == NULL)
-! {
-! RangeStart = eap->line1;
-! RangeEnd = eap->line2;
-! }
-! else
-! {
-! RangeStart = (PyInt) curwin->w_cursor.lnum;
-! RangeEnd = RangeStart;
-! }
- Python_Release_Vim(); /* leave vim */
-
- #if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
-***************
-*** 674,680 ****
- (char *)ENC_OPT, CODEC_ERROR_HANDLER);
- cmdbytes = PyUnicode_AsEncodedString(cmdstr, "utf-8", CODEC_ERROR_HANDLER);
- Py_XDECREF(cmdstr);
-! PyRun_SimpleString(PyBytes_AsString(cmdbytes));
- Py_XDECREF(cmdbytes);
-
- PyGILState_Release(pygilstate);
---- 779,802 ----
- (char *)ENC_OPT, CODEC_ERROR_HANDLER);
- cmdbytes = PyUnicode_AsEncodedString(cmdstr, "utf-8", CODEC_ERROR_HANDLER);
- Py_XDECREF(cmdstr);
-! if (rettv == NULL)
-! PyRun_SimpleString(PyBytes_AsString(cmdbytes));
-! else
-! {
-! PyObject *r;
-!
-! r = PyRun_String(PyBytes_AsString(cmdbytes), Py_eval_input,
-! globals, globals);
-! if (r == NULL)
-! EMSG(_("E860: Eval did not return a valid python 3 object"));
-! else
-! {
-! if (ConvertFromPyObject(r, rettv) == -1)
-! EMSG(_("E861: Failed to convert returned python 3 object to vim value"));
-! Py_DECREF(r);
-! }
-! PyErr_Clear();
-! }
- Py_XDECREF(cmdbytes);
-
- PyGILState_Release(pygilstate);
-***************
-*** 709,717 ****
- if (!eap->skip)
- {
- if (script == NULL)
-! DoPy3Command(eap, (char *)eap->arg);
- else
-! DoPy3Command(eap, (char *)script);
- }
- vim_free(script);
- }
---- 831,839 ----
- if (!eap->skip)
- {
- if (script == NULL)
-! DoPy3Command(eap, (char *)eap->arg, NULL);
- else
-! DoPy3Command(eap, (char *)script, NULL);
- }
- vim_free(script);
- }
-***************
-*** 772,778 ****
-
-
- /* Execute the file */
-! DoPy3Command(eap, buffer);
- }
-
- /******************************************************
---- 894,900 ----
-
-
- /* Execute the file */
-! DoPy3Command(eap, buffer, NULL);
- }
-
- /******************************************************
-***************
-*** 802,815 ****
- if (PyUnicode_Check(nameobj))
- name = _PyUnicode_AsString(nameobj);
-
-! if (val == NULL) {
- PyErr_SetString(PyExc_AttributeError, _("can't delete OutputObject attributes"));
- return -1;
- }
-
- if (strcmp(name, "softspace") == 0)
- {
-! if (!PyLong_Check(val)) {
- PyErr_SetString(PyExc_TypeError, _("softspace must be an integer"));
- return -1;
- }
---- 924,939 ----
- if (PyUnicode_Check(nameobj))
- name = _PyUnicode_AsString(nameobj);
-
-! if (val == NULL)
-! {
- PyErr_SetString(PyExc_AttributeError, _("can't delete OutputObject attributes"));
- return -1;
- }
-
- if (strcmp(name, "softspace") == 0)
- {
-! if (!PyLong_Check(val))
-! {
- PyErr_SetString(PyExc_TypeError, _("softspace must be an integer"));
- return -1;
- }
-***************
-*** 1030,1049 ****
- static PyObject *
- BufferSubscript(PyObject *self, PyObject* idx)
- {
-! if (PyLong_Check(idx)) {
- long _idx = PyLong_AsLong(idx);
- return BufferItem(self,_idx);
-! } else if (PySlice_Check(idx)) {
- Py_ssize_t start, stop, step, slicelen;
-
- if (PySlice_GetIndicesEx((PyObject *)idx,
- (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count+1,
- &start, &stop,
-! &step, &slicelen) < 0) {
- return NULL;
- }
- return BufferSlice(self, start, stop);
-! } else {
- PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
- return NULL;
- }
---- 1154,1178 ----
- static PyObject *
- BufferSubscript(PyObject *self, PyObject* idx)
- {
-! if (PyLong_Check(idx))
-! {
- long _idx = PyLong_AsLong(idx);
- return BufferItem(self,_idx);
-! } else if (PySlice_Check(idx))
-! {
- Py_ssize_t start, stop, step, slicelen;
-
- if (PySlice_GetIndicesEx((PyObject *)idx,
- (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count+1,
- &start, &stop,
-! &step, &slicelen) < 0)
-! {
- return NULL;
- }
- return BufferSlice(self, start, stop);
-! }
-! else
-! {
- PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
- return NULL;
- }
-***************
-*** 1052,1075 ****
- static Py_ssize_t
- BufferAsSubscript(PyObject *self, PyObject* idx, PyObject* val)
- {
-! if (PyLong_Check(idx)) {
- long n = PyLong_AsLong(idx);
- return RBAsItem((BufferObject *)(self), n, val, 1,
- (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
- NULL);
-! } else if (PySlice_Check(idx)) {
- Py_ssize_t start, stop, step, slicelen;
-
- if (PySlice_GetIndicesEx((PyObject *)idx,
- (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count+1,
- &start, &stop,
-! &step, &slicelen) < 0) {
- return -1;
- }
- return RBAsSlice((BufferObject *)(self), start, stop, val, 1,
- (PyInt)((BufferObject *)(self))->buf->b_ml.ml_line_count,
- NULL);
-! } else {
- PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
- return -1;
- }
---- 1181,1209 ----
- static Py_ssize_t
- BufferAsSubscript(PyObject *self, PyObject* idx, PyObject* val)
- {
-! if (PyLong_Check(idx))
-! {
- long n = PyLong_AsLong(idx);
- return RBAsItem((BufferObject *)(self), n, val, 1,
- (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count,
- NULL);
-! } else if (PySlice_Check(idx))
-! {
- Py_ssize_t start, stop, step, slicelen;
-
- if (PySlice_GetIndicesEx((PyObject *)idx,
- (Py_ssize_t)((BufferObject *)(self))->buf->b_ml.ml_line_count+1,
- &start, &stop,
-! &step, &slicelen) < 0)
-! {
- return -1;
- }
- return RBAsSlice((BufferObject *)(self), start, stop, val, 1,
- (PyInt)((BufferObject *)(self))->buf->b_ml.ml_line_count,
- NULL);
-! }
-! else
-! {
- PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
- return -1;
- }
-***************
-*** 1142,1161 ****
- static PyObject *
- RangeSubscript(PyObject *self, PyObject* idx)
- {
-! if (PyLong_Check(idx)) {
- long _idx = PyLong_AsLong(idx);
- return RangeItem(self,_idx);
-! } else if (PySlice_Check(idx)) {
- Py_ssize_t start, stop, step, slicelen;
-
- if (PySlice_GetIndicesEx((PyObject *)idx,
- ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
- &start, &stop,
-! &step, &slicelen) < 0) {
- return NULL;
- }
- return RangeSlice(self, start, stop);
-! } else {
- PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
- return NULL;
- }
---- 1276,1300 ----
- static PyObject *
- RangeSubscript(PyObject *self, PyObject* idx)
- {
-! if (PyLong_Check(idx))
-! {
- long _idx = PyLong_AsLong(idx);
- return RangeItem(self,_idx);
-! } else if (PySlice_Check(idx))
-! {
- Py_ssize_t start, stop, step, slicelen;
-
- if (PySlice_GetIndicesEx((PyObject *)idx,
- ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
- &start, &stop,
-! &step, &slicelen) < 0)
-! {
- return NULL;
- }
- return RangeSlice(self, start, stop);
-! }
-! else
-! {
- PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
- return NULL;
- }
-***************
-*** 1164,1183 ****
- static Py_ssize_t
- RangeAsSubscript(PyObject *self, PyObject *idx, PyObject *val)
- {
-! if (PyLong_Check(idx)) {
- long n = PyLong_AsLong(idx);
- return RangeAsItem(self, n, val);
-! } else if (PySlice_Check(idx)) {
- Py_ssize_t start, stop, step, slicelen;
-
- if (PySlice_GetIndicesEx((PyObject *)idx,
- ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
- &start, &stop,
-! &step, &slicelen) < 0) {
- return -1;
- }
- return RangeAsSlice(self, start, stop, val);
-! } else {
- PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
- return -1;
- }
---- 1303,1327 ----
- static Py_ssize_t
- RangeAsSubscript(PyObject *self, PyObject *idx, PyObject *val)
- {
-! if (PyLong_Check(idx))
-! {
- long n = PyLong_AsLong(idx);
- return RangeAsItem(self, n, val);
-! } else if (PySlice_Check(idx))
-! {
- Py_ssize_t start, stop, step, slicelen;
-
- if (PySlice_GetIndicesEx((PyObject *)idx,
- ((RangeObject *)(self))->end-((RangeObject *)(self))->start+1,
- &start, &stop,
-! &step, &slicelen) < 0)
-! {
- return -1;
- }
- return RangeAsSlice(self, start, stop, val);
-! }
-! else
-! {
- PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
- return -1;
- }
-***************
-*** 1390,1395 ****
---- 1534,1680 ----
- }
- }
-
-+ /* Dictionary object - Definitions
-+ */
-+
-+ static PyInt DictionaryLength(PyObject *);
-+
-+ static PyMappingMethods DictionaryAsMapping = {
-+ /* mp_length */ (lenfunc) DictionaryLength,
-+ /* mp_subscript */ (binaryfunc) DictionaryItem,
-+ /* mp_ass_subscript */ (objobjargproc) DictionaryAssItem,
-+ };
-+
-+ static PyTypeObject DictionaryType;
-+
-+ static void
-+ DictionaryDestructor(PyObject *self)
-+ {
-+ DictionaryObject *this = (DictionaryObject *)(self);
-+
-+ pyll_remove(&this->ref, &lastdict);
-+ dict_unref(this->dict);
-+
-+ Py_TYPE(self)->tp_free((PyObject*)self);
-+ }
-+
-+ /* List object - Definitions
-+ */
-+
-+ static PyInt ListLength(PyObject *);
-+ static PyObject *ListItem(PyObject *, Py_ssize_t);
-+
-+ static PySequenceMethods ListAsSeq = {
-+ (lenfunc) ListLength, /* sq_length, len(x) */
-+ (binaryfunc) 0, /* RangeConcat, sq_concat, x+y */
-+ (ssizeargfunc) 0, /* RangeRepeat, sq_repeat, x*n */
-+ (ssizeargfunc) ListItem, /* sq_item, x[i] */
-+ (void *) 0, /* was_sq_slice, x[i:j] */
-+ (ssizeobjargproc) ListAssItem, /* sq_as_item, x[i]=v */
-+ (void *) 0, /* was_sq_ass_slice, x[i:j]=v */
-+ 0, /* sq_contains */
-+ (binaryfunc) ListConcatInPlace,/* sq_inplace_concat */
-+ 0, /* sq_inplace_repeat */
-+ };
-+
-+ static PyObject *ListSubscript(PyObject *, PyObject *);
-+ static Py_ssize_t ListAsSubscript(PyObject *, PyObject *, PyObject *);
-+
-+ static PyMappingMethods ListAsMapping = {
-+ /* mp_length */ (lenfunc) ListLength,
-+ /* mp_subscript */ (binaryfunc) ListSubscript,
-+ /* mp_ass_subscript */ (objobjargproc) ListAsSubscript,
-+ };
-+
-+ static PyTypeObject ListType;
-+
-+ static PyObject *
-+ ListSubscript(PyObject *self, PyObject* idxObject)
-+ {
-+ if (PyLong_Check(idxObject))
-+ {
-+ long idx = PyLong_AsLong(idxObject);
-+ return ListItem(self, idx);
-+ }
-+ else if (PySlice_Check(idxObject))
-+ {
-+ Py_ssize_t start, stop, step, slicelen;
-+
-+ if (PySlice_GetIndicesEx(idxObject, ListLength(self), &start, &stop,
-+ &step, &slicelen) < 0)
-+ return NULL;
-+ return ListSlice(self, start, stop);
-+ }
-+ else
-+ {
-+ PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
-+ return NULL;
-+ }
-+ }
-+
-+ static Py_ssize_t
-+ ListAsSubscript(PyObject *self, PyObject *idxObject, PyObject *obj)
-+ {
-+ if (PyLong_Check(idxObject))
-+ {
-+ long idx = PyLong_AsLong(idxObject);
-+ return ListAssItem(self, idx, obj);
-+ }
-+ else if (PySlice_Check(idxObject))
-+ {
-+ Py_ssize_t start, stop, step, slicelen;
-+
-+ if (PySlice_GetIndicesEx(idxObject, ListLength(self), &start, &stop,
-+ &step, &slicelen) < 0)
-+ return -1;
-+ return ListAssSlice(self, start, stop, obj);
-+ }
-+ else
-+ {
-+ PyErr_SetString(PyExc_IndexError, "Index must be int or slice");
-+ return -1;
-+ }
-+ }
-+
-+ static void
-+ ListDestructor(PyObject *self)
-+ {
-+ ListObject *this = (ListObject *)(self);
-+
-+ pyll_remove(&this->ref, &lastlist);
-+ list_unref(this->list);
-+
-+ Py_TYPE(self)->tp_free((PyObject*)self);
-+ }
-+
-+ /* Function object - Definitions
-+ */
-+
-+ static void
-+ FunctionDestructor(PyObject *self)
-+ {
-+ FunctionObject *this = (FunctionObject *) (self);
-+
-+ func_unref(this->name);
-+ PyMem_Del(this->name);
-+
-+ Py_TYPE(self)->tp_free((PyObject*)self);
-+ }
-+
-+ static PyObject *
-+ FunctionGetattro(PyObject *self, PyObject *nameobj)
-+ {
-+ FunctionObject *this = (FunctionObject *)(self);
-+ char *name = "";
-+ if (PyUnicode_Check(nameobj))
-+ name = _PyUnicode_AsString(nameobj);
-+
-+ if (strcmp(name, "name") == 0)
-+ return PyUnicode_FromString((char *)(this->name));
-+
-+ return PyObject_GenericGetAttr(self, nameobj);
-+ }
-+
- /* External interface
- */
-
-***************
-*** 1449,1454 ****
---- 1734,1742 ----
- PyType_Ready(&BufListType);
- PyType_Ready(&WinListType);
- PyType_Ready(&CurrentType);
-+ PyType_Ready(&DictionaryType);
-+ PyType_Ready(&ListType);
-+ PyType_Ready(&FunctionType);
-
- /* Set sys.argv[] to avoid a crash in warn(). */
- PySys_SetArgv(1, argv);
-***************
-*** 1517,1522 ****
---- 1805,1828 ----
- return result;
- }
-
-+ void
-+ do_py3eval (char_u *str, typval_T *rettv)
-+ {
-+ DoPy3Command(NULL, (char *) str, rettv);
-+ switch(rettv->v_type)
-+ {
-+ case VAR_DICT: ++rettv->vval.v_dict->dv_refcount; break;
-+ case VAR_LIST: ++rettv->vval.v_list->lv_refcount; break;
-+ case VAR_FUNC: func_ref(rettv->vval.v_string); break;
-+ }
-+ }
-+
-+ void
-+ set_ref_in_python3 (int copyID)
-+ {
-+ set_ref_in_py(copyID);
-+ }
-+
- static void
- init_structs(void)
- {
-***************
-*** 1598,1603 ****
---- 1904,1938 ----
- CurrentType.tp_flags = Py_TPFLAGS_DEFAULT;
- CurrentType.tp_doc = "vim current object";
-
-+ vim_memset(&DictionaryType, 0, sizeof(DictionaryType));
-+ DictionaryType.tp_name = "vim.dictionary";
-+ DictionaryType.tp_basicsize = sizeof(DictionaryObject);
-+ DictionaryType.tp_dealloc = DictionaryDestructor;
-+ DictionaryType.tp_as_mapping = &DictionaryAsMapping;
-+ DictionaryType.tp_flags = Py_TPFLAGS_DEFAULT;
-+ DictionaryType.tp_doc = "dictionary pushing modifications to vim structure";
-+ DictionaryType.tp_methods = DictionaryMethods;
-+
-+ vim_memset(&ListType, 0, sizeof(ListType));
-+ ListType.tp_name = "vim.list";
-+ ListType.tp_dealloc = ListDestructor;
-+ ListType.tp_basicsize = sizeof(ListObject);
-+ ListType.tp_as_sequence = &ListAsSeq;
-+ ListType.tp_as_mapping = &ListAsMapping;
-+ ListType.tp_flags = Py_TPFLAGS_DEFAULT;
-+ ListType.tp_doc = "list pushing modifications to vim structure";
-+ ListType.tp_methods = ListMethods;
-+
-+ vim_memset(&FunctionType, 0, sizeof(FunctionType));
-+ FunctionType.tp_name = "vim.list";
-+ FunctionType.tp_basicsize = sizeof(FunctionObject);
-+ FunctionType.tp_getattro = FunctionGetattro;
-+ FunctionType.tp_dealloc = FunctionDestructor;
-+ FunctionType.tp_call = FunctionCall;
-+ FunctionType.tp_flags = Py_TPFLAGS_DEFAULT;
-+ FunctionType.tp_doc = "object that calls vim function";
-+ FunctionType.tp_methods = FunctionMethods;
-+
- vim_memset(&vimmodule, 0, sizeof(vimmodule));
- vimmodule.m_name = "vim";
- vimmodule.m_doc = vim_module_doc;
-*** ../vim-7.3.568/src/proto/eval.pro 2011-09-14 16:52:02.000000000 +0200
---- src/proto/eval.pro 2012-06-20 18:20:28.000000000 +0200
-***************
-*** 46,57 ****
---- 46,66 ----
- list_T *list_alloc __ARGS((void));
- void list_unref __ARGS((list_T *l));
- void list_free __ARGS((list_T *l, int recurse));
-+ listitem_T *listitem_alloc __ARGS((void));
-+ void listitem_remove __ARGS((list_T *l, listitem_T *item));
- dictitem_T *dict_lookup __ARGS((hashitem_T *hi));
-+ listitem_T *list_find __ARGS((list_T *l, long n));
- char_u *list_find_str __ARGS((list_T *l, long idx));
-+ void list_append __ARGS((list_T *l, listitem_T *item));
- int list_append_tv __ARGS((list_T *l, typval_T *tv));
- int list_append_dict __ARGS((list_T *list, dict_T *dict));
- int list_append_string __ARGS((list_T *l, char_u *str, int len));
-+ int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item));
-+ void list_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2));
- int garbage_collect __ARGS((void));
-+ void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID));
-+ void set_ref_in_list __ARGS((list_T *l, int copyID));
-+ void set_ref_in_item __ARGS((typval_T *tv, int copyID));
- dict_T *dict_alloc __ARGS((void));
- void dict_unref __ARGS((dict_T *d));
- dictitem_T *dictitem_alloc __ARGS((char_u *key));
-***************
-*** 64,69 ****
---- 73,79 ----
- long get_dict_number __ARGS((dict_T *d, char_u *key));
- char_u *get_function_name __ARGS((expand_T *xp, int idx));
- char_u *get_expr_name __ARGS((expand_T *xp, int idx));
-+ int func_call __ARGS((char_u *name, typval_T *args, dict_T *selfdict, typval_T *rettv));
- long do_searchpair __ARGS((char_u *spat, char_u *mpat, char_u *epat, int dir, char_u *skip, int flags, pos_T *match_pos, linenr_T lnum_stop, long time_limit));
- void set_vim_var_nr __ARGS((int idx, long val));
- long get_vim_var_nr __ARGS((int idx));
-***************
-*** 94,99 ****
---- 104,111 ----
- void func_dump_profile __ARGS((FILE *fd));
- char_u *get_user_func_name __ARGS((expand_T *xp, int idx));
- void ex_delfunction __ARGS((exarg_T *eap));
-+ void func_unref __ARGS((char_u *name));
-+ void func_ref __ARGS((char_u *name));
- void ex_return __ARGS((exarg_T *eap));
- int do_return __ARGS((exarg_T *eap, int reanimate, int is_cmd, void *rettv));
- void discard_pending_return __ARGS((void *rettv));
-*** ../vim-7.3.568/src/proto/if_python.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/if_python.pro 2012-06-20 18:23:06.000000000 +0200
-***************
-*** 6,9 ****
---- 6,11 ----
- void ex_pyfile __ARGS((exarg_T *eap));
- void python_buffer_free __ARGS((buf_T *buf));
- void python_window_free __ARGS((win_T *win));
-+ void do_pyeval __ARGS((char_u *str, typval_T *rettv));
-+ void set_ref_in_python __ARGS((int copyID));
- /* vim: set ft=c : */
-*** ../vim-7.3.568/src/proto/if_python3.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/if_python3.pro 2012-06-20 18:34:26.000000000 +0200
-***************
-*** 6,9 ****
---- 6,11 ----
- void ex_py3file __ARGS((exarg_T *eap));
- void python3_buffer_free __ARGS((buf_T *buf));
- void python3_window_free __ARGS((win_T *win));
-+ void do_py3eval __ARGS((char_u *str, typval_T *rettv));
-+ void set_ref_in_python3 __ARGS((int copyID));
- /* vim: set ft=c : */
-*** ../vim-7.3.568/src/testdir/Make_amiga.mak 2012-04-05 16:56:38.000000000 +0200
---- src/testdir/Make_amiga.mak 2012-06-20 18:43:05.000000000 +0200
-***************
-*** 14,19 ****
---- 14,20 ----
- # test27 can't edit file with "*"
- # test52 only for Win32
- # test85 no Lua interface
-+ # test86, 87 no Python interface
-
- SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
- test7.out test8.out test9.out \
-*** ../vim-7.3.568/src/testdir/Make_dos.mak 2012-04-13 19:11:16.000000000 +0200
---- src/testdir/Make_dos.mak 2012-06-20 18:43:45.000000000 +0200
-***************
-*** 30,36 ****
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
-! test84.out test85.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 30,36 ----
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
-! test84.out test85.out test86.out test87.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.568/src/testdir/Make_ming.mak 2012-04-13 19:11:16.000000000 +0200
---- src/testdir/Make_ming.mak 2012-06-20 18:44:12.000000000 +0200
-***************
-*** 50,56 ****
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
-! test84.out test85.out
-
- SCRIPTS32 = test50.out test70.out
-
---- 50,56 ----
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
-! test84.out test85.out test86.out test87.out
-
- SCRIPTS32 = test50.out test70.out
-
-*** ../vim-7.3.568/src/testdir/Make_os2.mak 2012-04-05 16:56:38.000000000 +0200
---- src/testdir/Make_os2.mak 2012-06-20 18:44:32.000000000 +0200
-***************
-*** 14,19 ****
---- 14,20 ----
- # test27 can't edit file with "*" in file name
- # test52 only for Win32
- # test85 no Lua interface
-+ # test86, 87 no Python interface
-
- SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
- test7.out test8.out test9.out \
-*** ../vim-7.3.568/src/testdir/Makefile 2012-04-05 16:56:38.000000000 +0200
---- src/testdir/Makefile 2012-06-29 11:56:00.000000000 +0200
-***************
-*** 27,33 ****
- test69.out test70.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
-! test84.out test85.out
-
- SCRIPTS_GUI = test16.out
-
---- 27,33 ----
- test69.out test70.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
-! test84.out test85.out test86.out test87.out
-
- SCRIPTS_GUI = test16.out
-
-*** ../vim-7.3.568/src/testdir/test86.in 2012-06-20 20:19:31.000000000 +0200
---- src/testdir/test86.in 2012-06-20 18:01:02.000000000 +0200
-***************
-*** 0 ****
---- 1,211 ----
-+ Tests for various python features. vim: set ft=vim :
-+
-+ STARTTEST
-+ :so small.vim
-+ :if !has('python') | e! test.ok | wq! test.out | endif
-+ :py import vim
-+ :fun Test()
-+ :let l = []
-+ :py l=vim.bindeval('l')
-+ :py f=vim.bindeval('function("strlen")')
-+ :" Extending List directly with different types
-+ :py l.extend([1, "as'd", [1, 2, f, {'a': 1}]])
-+ :$put =string(l)
-+ :$put =string(l[-1])
-+ :try
-+ : $put =string(l[-4])
-+ :catch
-+ : $put =v:exception[:13]
-+ :endtry
-+ :" List assignment
-+ :py l[0]=0
-+ :$put =string(l)
-+ :py l[-2]=f
-+ :$put =string(l)
-+ :"
-+ :" Extending Dictionary directly with different types
-+ :let d = {}
-+ :py d=vim.bindeval('d')
-+ :py d['1']='asd'
-+ :py d['b']=[1, 2, f]
-+ :py d['-1']={'a': 1}
-+ :let dkeys = []
-+ :py dk=vim.bindeval('dkeys')
-+ :py dkeys=d.keys()
-+ :py dkeys.sort()
-+ :py dk.extend(dkeys)
-+ :$put =string(dkeys)
-+ :for [key, val] in sort(items(d))
-+ : $put =string(key) . ' : ' . string(val)
-+ : unlet key val
-+ :endfor
-+ :"
-+ :" removing items with del
-+ :py del l[2]
-+ :$put =string(l)
-+ :let l = range(8)
-+ :py l=vim.bindeval('l')
-+ :try
-+ : py del l[:3]
-+ : py del l[1:]
-+ :catch
-+ : $put =v:exception
-+ :endtry
-+ :$put =string(l)
-+ :"
-+ :py del d['-1']
-+ :$put =string(d)
-+ :"
-+ :" removing items out of range: silently skip items that don't exist
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :" The following two ranges delete nothing as they match empty list:
-+ :py del l[2:1]
-+ :$put =string(l)
-+ :py del l[2:2]
-+ :$put =string(l)
-+ :py del l[2:3]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :py del l[2:4]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :py del l[2:5]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :py del l[2:6]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :" The following two ranges delete nothing as they match empty list:
-+ :py del l[-1:2]
-+ :$put =string(l)
-+ :py del l[-2:2]
-+ :$put =string(l)
-+ :py del l[-3:2]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :py del l[-4:2]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :py del l[-5:2]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :py del l[-6:2]
-+ :$put =string(l)
-+ :"
-+ :" Slice assignment to a list
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :py l[0:0]=['a']
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :py l[1:2]=['b']
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :py l[2:4]=['c']
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :py l[4:4]=['d']
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :py l[-1:2]=['e']
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :py l[-10:2]=['f']
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :py l[2:-10]=['g']
-+ :$put =string(l)
-+ :let l = []
-+ :py l=vim.bindeval('l')
-+ :py l[0:0]=['h']
-+ :$put =string(l)
-+ :"
-+ :" Locked variables
-+ :let l = [0, 1, 2, 3]
-+ :py l=vim.bindeval('l')
-+ :lockvar! l
-+ :py l[2]='i'
-+ :$put =string(l)
-+ :unlockvar! l
-+ :"
-+ :" Function calls
-+ :function New(...)
-+ :return ['NewStart']+a:000+['NewEnd']
-+ :endfunction
-+ :function DictNew(...) dict
-+ :return ['DictNewStart']+a:000+['DictNewEnd', self]
-+ :endfunction
-+ :let l=[function('New'), function('DictNew')]
-+ :py l=vim.bindeval('l')
-+ :py l.extend(list(l[0](1, 2, 3)))
-+ :$put =string(l)
-+ :py l.extend(list(l[1](1, 2, 3, self={'a': 'b'})))
-+ :$put =string(l)
-+ :py l.extend([l[0].name])
-+ :$put =string(l)
-+ :try
-+ : py l[1](1, 2, 3)
-+ :catch
-+ : $put =v:exception[:16]
-+ :endtry
-+ :delfunction New
-+ :try
-+ : py l[0](1, 2, 3)
-+ :catch
-+ : $put =v:exception[:16]
-+ :endtry
-+ :if has('float')
-+ : let l=[0.0]
-+ : py l=vim.bindeval('l')
-+ : py l.extend([0.0])
-+ : $put =string(l)
-+ :else
-+ : $put ='[0.0, 0.0]'
-+ :endif
-+ :"
-+ :" pyeval()
-+ :let l=pyeval('range(3)')
-+ :$put =string(l)
-+ :let d=pyeval('{"a": "b", "c": 1, "d": ["e"]}')
-+ :$put =sort(items(d))
-+ :try
-+ : let undef=pyeval('undefined_name')
-+ :catch
-+ : $put =v:exception[:13]
-+ :endtry
-+ :try
-+ : let vim=pyeval('vim')
-+ :catch
-+ : $put =v:exception[:13]
-+ :endtry
-+ :if has('float')
-+ : let f=pyeval('0.0')
-+ : $put =string(f)
-+ :else
-+ : $put ='0.0'
-+ :endif
-+ :endfun
-+ :"
-+ :call Test()
-+ :"
-+ :delfunc Test
-+ :call garbagecollect(1)
-+ :"
-+ :/^start:/,$wq! test.out
-+ ENDTEST
-+
-+ start:
-*** ../vim-7.3.568/src/testdir/test86.ok 2012-06-20 20:19:31.000000000 +0200
---- src/testdir/test86.ok 2012-06-20 18:01:02.000000000 +0200
-***************
-*** 0 ****
---- 1,47 ----
-+ start:
-+ [1, 'as''d', [1, 2, function('strlen'), {'a': 1}]]
-+ [1, 2, function('strlen'), {'a': 1}]
-+ Vim(put):E684:
-+ [0, 'as''d', [1, 2, function('strlen'), {'a': 1}]]
-+ [0, function('strlen'), [1, 2, function('strlen'), {'a': 1}]]
-+ ['-1', '1', 'b']
-+ '-1' : {'a': 1}
-+ '1' : 'asd'
-+ 'b' : [1, 2, function('strlen')]
-+ [0, function('strlen')]
-+ [3]
-+ {'1': 'asd', 'b': [1, 2, function('strlen')]}
-+ [0, 1, 2, 3]
-+ [0, 1, 2, 3]
-+ [0, 1, 3]
-+ [0, 1]
-+ [0, 1]
-+ [0, 1]
-+ [0, 1, 2, 3]
-+ [0, 1, 2, 3]
-+ [0, 2, 3]
-+ [2, 3]
-+ [2, 3]
-+ [2, 3]
-+ ['a', 0, 1, 2, 3]
-+ [0, 'b', 2, 3]
-+ [0, 1, 'c']
-+ [0, 1, 2, 3, 'd']
-+ [0, 1, 2, 'e', 3]
-+ ['f', 2, 3]
-+ [0, 1, 'g', 2, 3]
-+ ['h']
-+ [0, 1, 2, 3]
-+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd']
-+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}]
-+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New']
-+ Vim(python):E725:
-+ Vim(python):E117:
-+ [0.0, 0.0]
-+ [0, 1, 2]
-+ ['a', 'b']
-+ ['c', 1]
-+ ['d', ['e']]
-+ Vim(let):E858:
-+ Vim(let):E859:
-+ 0.0
-*** ../vim-7.3.568/src/testdir/test87.in 2012-06-20 20:19:31.000000000 +0200
---- src/testdir/test87.in 2012-06-20 18:01:02.000000000 +0200
-***************
-*** 0 ****
---- 1,211 ----
-+ Tests for various python features. vim: set ft=vim :
-+
-+ STARTTEST
-+ :so small.vim
-+ :if !has('python3') | e! test.ok | wq! test.out | endif
-+ :py3 import vim
-+ :fun Test()
-+ :let l = []
-+ :py3 l=vim.bindeval('l')
-+ :py3 f=vim.bindeval('function("strlen")')
-+ :" Extending List directly with different types
-+ :py3 l+=[1, "as'd", [1, 2, f, {'a': 1}]]
-+ :$put =string(l)
-+ :$put =string(l[-1])
-+ :try
-+ : $put =string(l[-4])
-+ :catch
-+ : $put =v:exception[:13]
-+ :endtry
-+ :" List assignment
-+ :py3 l[0]=0
-+ :$put =string(l)
-+ :py3 l[-2]=f
-+ :$put =string(l)
-+ :"
-+ :" Extending Dictionary directly with different types
-+ :let d = {}
-+ :py3 d=vim.bindeval('d')
-+ :py3 d['1']='asd'
-+ :py3 d['b']=[1, 2, f]
-+ :py3 d['-1']={'a': 1}
-+ :let dkeys = []
-+ :py3 dk=vim.bindeval('dkeys')
-+ :py3 dkeys=d.keys()
-+ :py3 dkeys.sort()
-+ :py3 dk+=dkeys
-+ :$put =string(dkeys)
-+ :for [key, val] in sort(items(d))
-+ : $put =string(key) . ' : ' . string(val)
-+ : unlet key val
-+ :endfor
-+ :"
-+ :" removing items with del
-+ :py3 del l[2]
-+ :$put =string(l)
-+ :let l = range(8)
-+ :py3 l=vim.bindeval('l')
-+ :try
-+ : py3 del l[:3]
-+ : py3 del l[1:]
-+ :catch
-+ : $put =v:exception
-+ :endtry
-+ :$put =string(l)
-+ :"
-+ :py3 del d['-1']
-+ :$put =string(d)
-+ :"
-+ :" removing items out of range: silently skip items that don't exist
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :" The following two ranges delete nothing as they match empty list:
-+ :py3 del l[2:1]
-+ :$put =string(l)
-+ :py3 del l[2:2]
-+ :$put =string(l)
-+ :py3 del l[2:3]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :py3 del l[2:4]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :py3 del l[2:5]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :py3 del l[2:6]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :" The following two ranges delete nothing as they match empty list:
-+ :py3 del l[-1:2]
-+ :$put =string(l)
-+ :py3 del l[-2:2]
-+ :$put =string(l)
-+ :py3 del l[-3:2]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :py3 del l[-4:2]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :py3 del l[-5:2]
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :py3 del l[-6:2]
-+ :$put =string(l)
-+ :"
-+ :" Slice assignment to a list
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :py3 l[0:0]=['a']
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :py3 l[1:2]=['b']
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :py3 l[2:4]=['c']
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :py3 l[4:4]=['d']
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :py3 l[-1:2]=['e']
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :py3 l[-10:2]=['f']
-+ :$put =string(l)
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :py3 l[2:-10]=['g']
-+ :$put =string(l)
-+ :let l = []
-+ :py3 l=vim.bindeval('l')
-+ :py3 l[0:0]=['h']
-+ :$put =string(l)
-+ :"
-+ :" Locked variables
-+ :let l = [0, 1, 2, 3]
-+ :py3 l=vim.bindeval('l')
-+ :lockvar! l
-+ :py3 l[2]='i'
-+ :$put =string(l)
-+ :unlockvar! l
-+ :"
-+ :" Function calls
-+ :function New(...)
-+ :return ['NewStart']+a:000+['NewEnd']
-+ :endfunction
-+ :function DictNew(...) dict
-+ :return ['DictNewStart']+a:000+['DictNewEnd', self]
-+ :endfunction
-+ :let l=[function('New'), function('DictNew')]
-+ :py3 l=vim.bindeval('l')
-+ :py3 l.extend(list(l[0](1, 2, 3)))
-+ :$put =string(l)
-+ :py3 l.extend(list(l[1](1, 2, 3, self={'a': 'b'})))
-+ :$put =string(l)
-+ :py3 l+=[l[0].name]
-+ :$put =string(l)
-+ :try
-+ : py3 l[1](1, 2, 3)
-+ :catch
-+ : $put =v:exception[:13]
-+ :endtry
-+ :delfunction New
-+ :try
-+ : py3 l[0](1, 2, 3)
-+ :catch
-+ : $put =v:exception[:13]
-+ :endtry
-+ :if has('float')
-+ : let l=[0.0]
-+ : py3 l=vim.bindeval('l')
-+ : py3 l.extend([0.0])
-+ : $put =string(l)
-+ :else
-+ : $put ='[0.0, 0.0]'
-+ :endif
-+ :"
-+ :" py3eval()
-+ :let l=py3eval('[0, 1, 2]')
-+ :$put =string(l)
-+ :let d=py3eval('{"a": "b", "c": 1, "d": ["e"]}')
-+ :$put =sort(items(d))
-+ :try
-+ : let undef=py3eval('undefined_name')
-+ :catch
-+ : $put =v:exception[:13]
-+ :endtry
-+ :try
-+ : let vim=py3eval('vim')
-+ :catch
-+ : $put =v:exception[:13]
-+ :endtry
-+ :if has('float')
-+ : let f=py3eval('0.0')
-+ : $put =string(f)
-+ :else
-+ : $put ='0.0'
-+ :endif
-+ :endfun
-+ :"
-+ :call Test()
-+ :"
-+ :delfunc Test
-+ :call garbagecollect(1)
-+ :"
-+ :/^start:/,$wq! test.out
-+ ENDTEST
-+
-+ start:
-*** ../vim-7.3.568/src/testdir/test87.ok 2012-06-20 20:19:31.000000000 +0200
---- src/testdir/test87.ok 2012-06-20 18:01:02.000000000 +0200
-***************
-*** 0 ****
---- 1,47 ----
-+ start:
-+ [1, 'as''d', [1, 2, function('strlen'), {'a': 1}]]
-+ [1, 2, function('strlen'), {'a': 1}]
-+ Vim(put):E684:
-+ [0, 'as''d', [1, 2, function('strlen'), {'a': 1}]]
-+ [0, function('strlen'), [1, 2, function('strlen'), {'a': 1}]]
-+ ['-1', '1', 'b']
-+ '-1' : {'a': 1}
-+ '1' : 'asd'
-+ 'b' : [1, 2, function('strlen')]
-+ [0, function('strlen')]
-+ [3]
-+ {'1': 'asd', 'b': [1, 2, function('strlen')]}
-+ [0, 1, 2, 3]
-+ [0, 1, 2, 3]
-+ [0, 1, 3]
-+ [0, 1]
-+ [0, 1]
-+ [0, 1]
-+ [0, 1, 2, 3]
-+ [0, 1, 2, 3]
-+ [0, 2, 3]
-+ [2, 3]
-+ [2, 3]
-+ [2, 3]
-+ ['a', 0, 1, 2, 3]
-+ [0, 'b', 2, 3]
-+ [0, 1, 'c']
-+ [0, 1, 2, 3, 'd']
-+ [0, 1, 2, 'e', 3]
-+ ['f', 2, 3]
-+ [0, 1, 'g', 2, 3]
-+ ['h']
-+ [0, 1, 2, 3]
-+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd']
-+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}]
-+ [function('New'), function('DictNew'), 'NewStart', 1, 2, 3, 'NewEnd', 'DictNewStart', 1, 2, 3, 'DictNewEnd', {'a': 'b'}, 'New']
-+ Vim(py3):E725:
-+ Vim(py3):E117:
-+ [0.0, 0.0]
-+ [0, 1, 2]
-+ ['a', 'b']
-+ ['c', 1]
-+ ['d', ['e']]
-+ Vim(let):E860:
-+ Vim(let):E861:
-+ 0.0
-*** ../vim-7.3.568/src/version.c 2012-06-29 12:35:40.000000000 +0200
---- src/version.c 2012-06-29 12:47:03.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 569,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-69. Yahoo welcomes you with your own start page
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.570 b/source/ap/vim/patches/7.3.570
deleted file mode 100644
index c644194d5..000000000
--- a/source/ap/vim/patches/7.3.570
+++ /dev/null
@@ -1,145 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.570
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.570
-Problem: ":vimgrep" does not obey 'wildignore'.
-Solution: Apply 'wildignore' and 'suffixes' to ":vimgrep". (Ingo Karkat)
-Files: src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/quickfix.c, src/spell.c
-
-
-*** ../vim-7.3.569/src/ex_cmds2.c 2012-06-20 15:48:53.000000000 +0200
---- src/ex_cmds2.c 2012-06-29 12:43:34.000000000 +0200
-***************
-*** 1850,1871 ****
- #if defined(FEAT_QUICKFIX) || defined(FEAT_SYN_HL) || defined(PROTO)
- /*
- * Parse a list of arguments (file names), expand them and return in
-! * "fnames[fcountp]".
- * Return FAIL or OK.
- */
- int
-! get_arglist_exp(str, fcountp, fnamesp)
- char_u *str;
- int *fcountp;
- char_u ***fnamesp;
- {
- garray_T ga;
- int i;
-
- if (get_arglist(&ga, str) == FAIL)
- return FAIL;
-! i = gen_expand_wildcards(ga.ga_len, (char_u **)ga.ga_data,
-! fcountp, fnamesp, EW_FILE|EW_NOTFOUND);
- ga_clear(&ga);
- return i;
- }
---- 1850,1877 ----
- #if defined(FEAT_QUICKFIX) || defined(FEAT_SYN_HL) || defined(PROTO)
- /*
- * Parse a list of arguments (file names), expand them and return in
-! * "fnames[fcountp]". When "wig" is TRUE, removes files matching 'wildignore'.
- * Return FAIL or OK.
- */
- int
-! get_arglist_exp(str, fcountp, fnamesp, wig)
- char_u *str;
- int *fcountp;
- char_u ***fnamesp;
-+ int wig;
- {
- garray_T ga;
- int i;
-
- if (get_arglist(&ga, str) == FAIL)
- return FAIL;
-! if (wig == TRUE)
-! i = expand_wildcards(ga.ga_len, (char_u **)ga.ga_data,
-! fcountp, fnamesp, EW_FILE|EW_NOTFOUND);
-! else
-! i = gen_expand_wildcards(ga.ga_len, (char_u **)ga.ga_data,
-! fcountp, fnamesp, EW_FILE|EW_NOTFOUND);
-!
- ga_clear(&ga);
- return i;
- }
-*** ../vim-7.3.569/src/proto/ex_cmds2.pro 2011-05-19 18:26:34.000000000 +0200
---- src/proto/ex_cmds2.pro 2012-06-29 12:43:49.000000000 +0200
-***************
-*** 42,48 ****
- int check_fname __ARGS((void));
- int buf_write_all __ARGS((buf_T *buf, int forceit));
- int get_arglist __ARGS((garray_T *gap, char_u *str));
-! int get_arglist_exp __ARGS((char_u *str, int *fcountp, char_u ***fnamesp));
- void set_arglist __ARGS((char_u *str));
- void check_arg_idx __ARGS((win_T *win));
- void ex_args __ARGS((exarg_T *eap));
---- 42,48 ----
- int check_fname __ARGS((void));
- int buf_write_all __ARGS((buf_T *buf, int forceit));
- int get_arglist __ARGS((garray_T *gap, char_u *str));
-! int get_arglist_exp __ARGS((char_u *str, int *fcountp, char_u ***fnamesp, int wig));
- void set_arglist __ARGS((char_u *str));
- void check_arg_idx __ARGS((win_T *win));
- void ex_args __ARGS((exarg_T *eap));
-*** ../vim-7.3.569/src/quickfix.c 2012-06-01 18:34:37.000000000 +0200
---- src/quickfix.c 2012-06-29 12:43:49.000000000 +0200
-***************
-*** 3189,3195 ****
- ;
-
- /* parse the list of arguments */
-! if (get_arglist_exp(p, &fcount, &fnames) == FAIL)
- goto theend;
- if (fcount == 0)
- {
---- 3189,3195 ----
- ;
-
- /* parse the list of arguments */
-! if (get_arglist_exp(p, &fcount, &fnames, TRUE) == FAIL)
- goto theend;
- if (fcount == 0)
- {
-*** ../vim-7.3.569/src/spell.c 2012-06-01 17:49:51.000000000 +0200
---- src/spell.c 2012-06-29 12:43:49.000000000 +0200
-***************
-*** 8553,8559 ****
- }
-
- /* Expand all the remaining arguments (e.g., $VIMRUNTIME). */
-! if (get_arglist_exp(arg, &fcount, &fnames) == OK)
- {
- mkspell(fcount, fnames, ascii, eap->forceit, FALSE);
- FreeWild(fcount, fnames);
---- 8553,8559 ----
- }
-
- /* Expand all the remaining arguments (e.g., $VIMRUNTIME). */
-! if (get_arglist_exp(arg, &fcount, &fnames, FALSE) == OK)
- {
- mkspell(fcount, fnames, ascii, eap->forceit, FALSE);
- FreeWild(fcount, fnames);
-*** ../vim-7.3.569/src/version.c 2012-06-29 12:54:32.000000000 +0200
---- src/version.c 2012-06-29 12:56:12.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 570,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-70. ISDN lines are added to your house on a hourly basis
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.571 b/source/ap/vim/patches/7.3.571
deleted file mode 100644
index ad62ffc2b..000000000
--- a/source/ap/vim/patches/7.3.571
+++ /dev/null
@@ -1,117 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.571
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.571
-Problem: Duplicated condition.
-Solution: Remove one. (Dominique Pelle)
-Files: src/os_win32.c
-
-
-*** ../vim-7.3.570/src/os_win32.c 2012-02-29 13:58:43.000000000 +0100
---- src/os_win32.c 2012-06-29 13:10:54.000000000 +0200
-***************
-*** 308,314 ****
- # ifndef GETTEXT_DLL
- # define GETTEXT_DLL "libintl.dll"
- # endif
-! /* Dummy funcitons */
- static char *null_libintl_gettext(const char *);
- static char *null_libintl_textdomain(const char *);
- static char *null_libintl_bindtextdomain(const char *, const char *);
---- 308,314 ----
- # ifndef GETTEXT_DLL
- # define GETTEXT_DLL "libintl.dll"
- # endif
-! /* Dummy functions */
- static char *null_libintl_gettext(const char *);
- static char *null_libintl_textdomain(const char *);
- static char *null_libintl_bindtextdomain(const char *, const char *);
-***************
-*** 1409,1415 ****
-
-
- /*
-! * mch_inchar(): low-level input funcion.
- * Get one or more characters from the keyboard or the mouse.
- * If time == 0, do not wait for characters.
- * If time == n, wait a short time for characters.
---- 1409,1415 ----
-
-
- /*
-! * mch_inchar(): low-level input function.
- * Get one or more characters from the keyboard or the mouse.
- * If time == 0, do not wait for characters.
- * If time == n, wait a short time for characters.
-***************
-*** 3451,3464 ****
- * to avoid to perform a blocking read */
- ret = PeekNamedPipe(g_hChildStd_OUT_Rd, /* pipe to query */
- NULL, /* optional buffer */
-! 0, /* buffe size */
- NULL, /* number of read bytes */
- &availableBytes, /* available bytes total */
- NULL); /* byteLeft */
-
- repeatCount = 0;
- /* We got real data in the pipe, read it */
-! while (ret != 0 && availableBytes > 0 && availableBytes > 0)
- {
- repeatCount++;
- toRead =
---- 3451,3464 ----
- * to avoid to perform a blocking read */
- ret = PeekNamedPipe(g_hChildStd_OUT_Rd, /* pipe to query */
- NULL, /* optional buffer */
-! 0, /* buffer size */
- NULL, /* number of read bytes */
- &availableBytes, /* available bytes total */
- NULL); /* byteLeft */
-
- repeatCount = 0;
- /* We got real data in the pipe, read it */
-! while (ret != 0 && availableBytes > 0)
- {
- repeatCount++;
- toRead =
-***************
-*** 3638,3644 ****
- NULL, /* Process security attributes */
- NULL, /* Thread security attributes */
-
-! // this command can be litigeous, handle inheritence was
- // deactivated for pending temp file, but, if we deactivate
- // it, the pipes don't work for some reason.
- TRUE, /* Inherit handles, first deactivated,
---- 3638,3644 ----
- NULL, /* Process security attributes */
- NULL, /* Thread security attributes */
-
-! // this command can be litigious, handle inheritance was
- // deactivated for pending temp file, but, if we deactivate
- // it, the pipes don't work for some reason.
- TRUE, /* Inherit handles, first deactivated,
-*** ../vim-7.3.570/src/version.c 2012-06-29 12:57:03.000000000 +0200
---- src/version.c 2012-06-29 13:12:31.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 571,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-71. You wonder how people walk
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.572 b/source/ap/vim/patches/7.3.572
deleted file mode 100644
index 14fc127ec..000000000
--- a/source/ap/vim/patches/7.3.572
+++ /dev/null
@@ -1,59 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.572
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.572
-Problem: Duplicate statement in if and else. (Dominique Pelle)
-Solution: Remove the condition and add a TODO.
-Files: src/gui_xmebw.c
-
-
-*** ../vim-7.3.571/src/gui_xmebw.c 2010-08-15 21:57:29.000000000 +0200
---- src/gui_xmebw.c 2012-06-29 13:17:15.000000000 +0200
-***************
-*** 375,385 ****
-
- XGetGeometry(dpy, pix, &root, &x, &y, &width, &height, &border, &depth);
-
-! if (eb->enhancedbutton.label_location == (int)XmTOP
-! || eb->enhancedbutton.label_location == (int)XmBOTTOM)
-! shift = eb->primitive.shadow_thickness / 2;
-! else
-! shift = eb->primitive.shadow_thickness / 2;
-
- if (shift < 1)
- shift = 1;
---- 375,382 ----
-
- XGetGeometry(dpy, pix, &root, &x, &y, &width, &height, &border, &depth);
-
-! /* TODO: does the shift depend on label_location somehow? */
-! shift = eb->primitive.shadow_thickness / 2;
-
- if (shift < 1)
- shift = 1;
-*** ../vim-7.3.571/src/version.c 2012-06-29 13:13:59.000000000 +0200
---- src/version.c 2012-06-29 13:18:41.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 572,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-72. Somebody at IRC just mentioned a way to obtain full motion video without
- a PC using a wireless protocol called NTSC, you wonder how you never
- heard about it
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.573 b/source/ap/vim/patches/7.3.573
deleted file mode 100644
index 7734a76a0..000000000
--- a/source/ap/vim/patches/7.3.573
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.573
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.573
-Problem: Using array index before bounds checking.
-Solution: Swap the parts of the condition. (Dominique Pelle)
-Files: src/ops.c
-
-
-*** ../vim-7.3.572/src/ops.c 2012-06-13 17:28:51.000000000 +0200
---- src/ops.c 2012-06-29 13:27:11.000000000 +0200
-***************
-*** 6458,6464 ****
- long chars = 0;
- int is_word = 0;
-
-! for (i = 0; line[i] && i < limit; )
- {
- if (is_word)
- {
---- 6458,6464 ----
- long chars = 0;
- int is_word = 0;
-
-! for (i = 0; i < limit && line[i] != NUL; )
- {
- if (is_word)
- {
-*** ../vim-7.3.572/src/version.c 2012-06-29 13:19:23.000000000 +0200
---- src/version.c 2012-06-29 13:27:59.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 573,
- /**/
-
---
-"Thou shalt not follow the Null Pointer, for at its end Chaos and
-Madness lie."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.574 b/source/ap/vim/patches/7.3.574
deleted file mode 100644
index e23d818f1..000000000
--- a/source/ap/vim/patches/7.3.574
+++ /dev/null
@@ -1,88 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.574
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.574
-Problem: When pasting a register in the search command line a CTRL-L
- character is not pasted. (Dominique Pelle)
-Solution: Escape the CTRL-L. (Christian Brabandt)
-Files: src/ex_getln.c
-
-
-*** ../vim-7.3.573/src/ex_getln.c 2012-06-06 12:02:57.000000000 +0200
---- src/ex_getln.c 2012-06-29 13:39:03.000000000 +0200
-***************
-*** 3133,3139 ****
- else
- #endif
- c = *s++;
-! if (cv == Ctrl_V || c == ESC || c == Ctrl_C || c == CAR || c == NL
- #ifdef UNIX
- || c == intr_char
- #endif
---- 3133,3140 ----
- else
- #endif
- c = *s++;
-! if (cv == Ctrl_V || c == ESC || c == Ctrl_C
-! || c == CAR || c == NL || c == Ctrl_L
- #ifdef UNIX
- || c == intr_char
- #endif
-***************
-*** 4692,4698 ****
- if (tab[i].ic)
- regmatch.rm_ic = TRUE;
- ret = ExpandGeneric(xp, &regmatch, num_file, file,
-! tab[i].func, tab[i].escaped);
- break;
- }
- }
---- 4693,4699 ----
- if (tab[i].ic)
- regmatch.rm_ic = TRUE;
- ret = ExpandGeneric(xp, &regmatch, num_file, file,
-! tab[i].func, tab[i].escaped);
- break;
- }
- }
-***************
-*** 5125,5131 ****
- vim_free(matches);
- }
- if (ga.ga_len == 0)
-! return FAIL;
-
- /* Sort and remove duplicates which can happen when specifying multiple
- * directories in dirnames. */
---- 5126,5132 ----
- vim_free(matches);
- }
- if (ga.ga_len == 0)
-! return FAIL;
-
- /* Sort and remove duplicates which can happen when specifying multiple
- * directories in dirnames. */
-*** ../vim-7.3.573/src/version.c 2012-06-29 13:34:15.000000000 +0200
---- src/version.c 2012-06-29 13:38:22.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 574,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-73. You give your dog used motherboards instead of bones
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.575 b/source/ap/vim/patches/7.3.575
deleted file mode 100644
index f5d80d724..000000000
--- a/source/ap/vim/patches/7.3.575
+++ /dev/null
@@ -1,60 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.575
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.575
-Problem: "ygt" tries to yank instead of giving an error. (Daniel Mueller)
-Solution: Check for a pending operator.
-Files: src/normal.c
-
-
-*** ../vim-7.3.574/src/normal.c 2012-06-06 16:12:54.000000000 +0200
---- src/normal.c 2012-06-29 13:50:26.000000000 +0200
-***************
-*** 8393,8402 ****
-
- #ifdef FEAT_WINDOWS
- case 't':
-! goto_tabpage((int)cap->count0);
- break;
- case 'T':
-! goto_tabpage(-(int)cap->count1);
- break;
- #endif
-
---- 8393,8404 ----
-
- #ifdef FEAT_WINDOWS
- case 't':
-! if (!checkclearop(oap))
-! goto_tabpage((int)cap->count0);
- break;
- case 'T':
-! if (!checkclearop(oap))
-! goto_tabpage(-(int)cap->count1);
- break;
- #endif
-
-*** ../vim-7.3.574/src/version.c 2012-06-29 13:44:37.000000000 +0200
---- src/version.c 2012-06-29 13:52:01.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 575,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-74. Your most erotic dreams are about cybersex
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.576 b/source/ap/vim/patches/7.3.576
deleted file mode 100644
index bc226d90c..000000000
--- a/source/ap/vim/patches/7.3.576
+++ /dev/null
@@ -1,255 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.576
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.576
-Problem: Formatting of lists inside comments is not right yet.
-Solution: Use another solution and add a test. (Tor Perkins)
-Files: src/edit.c, src/misc1.c, src/testdir/test68.in,
- src/testdir/test69.ok
-
-
-*** ../vim-7.3.575/src/edit.c 2012-06-20 22:55:56.000000000 +0200
---- src/edit.c 2012-06-29 14:10:36.000000000 +0200
-***************
-*** 6320,6333 ****
- if (!(flags & INSCHAR_COM_LIST))
- {
- /*
-! * This section is for numeric lists w/o comments. If comment
-! * indents are needed with numeric lists (formatoptions=nq),
-! * then the INSCHAR_COM_LIST flag will cause the corresponding
-! * OPENLINE_COM_LIST flag to be passed through to open_line()
-! * (as seen above)...
- */
- if (second_indent < 0 && has_format_option(FO_Q_NUMBER))
-! second_indent = get_number_indent(curwin->w_cursor.lnum -1);
- if (second_indent >= 0)
- {
- #ifdef FEAT_VREPLACE
---- 6320,6334 ----
- if (!(flags & INSCHAR_COM_LIST))
- {
- /*
-! * This section is for auto-wrap of numeric lists. When not
-! * in insert mode (i.e. format_lines()), the INSCHAR_COM_LIST
-! * flag will be set and open_line() will handle it (as seen
-! * above). The code here (and in get_number_indent()) will
-! * recognize comments if needed...
- */
- if (second_indent < 0 && has_format_option(FO_Q_NUMBER))
-! second_indent =
-! get_number_indent(curwin->w_cursor.lnum - 1);
- if (second_indent >= 0)
- {
- #ifdef FEAT_VREPLACE
-***************
-*** 6336,6342 ****
---- 6337,6367 ----
- FALSE, NUL, TRUE);
- else
- #endif
-+ #ifdef FEAT_COMMENTS
-+ if (leader_len > 0 && second_indent - leader_len > 0)
-+ {
-+ int i;
-+ int padding = second_indent - leader_len;
-+
-+ /* We started at the first_line of a numbered list
-+ * that has a comment. the open_line() function has
-+ * inserted the proper comment leader and positioned
-+ * the cursor at the end of the split line. Now we
-+ * add the additional whitespace needed after the
-+ * comment leader for the numbered list. */
-+ for (i = 0; i < padding; i++)
-+ {
-+ ins_str((char_u *)" ");
-+ changed_bytes(curwin->w_cursor.lnum, leader_len);
-+ }
-+ }
-+ else
-+ {
-+ #endif
- (void)set_indent(second_indent, SIN_CHANGED);
-+ #ifdef FEAT_COMMENTS
-+ }
-+ #endif
- }
- }
- first_line = FALSE;
-*** ../vim-7.3.575/src/misc1.c 2012-06-20 17:56:06.000000000 +0200
---- src/misc1.c 2012-06-29 14:10:12.000000000 +0200
-***************
-*** 424,491 ****
- colnr_T col;
- pos_T pos;
-
- if (lnum > curbuf->b_ml.ml_line_count)
- return -1;
- pos.lnum = 0;
-
- #ifdef FEAT_COMMENTS
-! if (has_format_option(FO_Q_COMS) && has_format_option(FO_Q_NUMBER))
-! {
-! regmatch_T regmatch;
-! int lead_len; /* length of comment leader */
-!
- lead_len = get_leader_len(ml_get(lnum), NULL, FALSE, TRUE);
-- regmatch.regprog = vim_regcomp(curbuf->b_p_flp, RE_MAGIC);
-- if (regmatch.regprog != NULL)
-- {
-- regmatch.rm_ic = FALSE;
--
-- /* vim_regexec() expects a pointer to a line. This lets us
-- * start matching for the flp beyond any comment leader... */
-- if (vim_regexec(&regmatch, ml_get(lnum) + lead_len, (colnr_T)0))
-- {
-- pos.lnum = lnum;
-- pos.col = (colnr_T)(*regmatch.endp - ml_get(lnum));
-- #ifdef FEAT_VIRTUALEDIT
-- pos.coladd = 0;
- #endif
-! }
-! }
-! vim_free(regmatch.regprog);
-! }
-! else
- {
-! /*
-! * What follows is the orig code that is not "comment aware"...
-! *
-! * I'm not sure if regmmatch_T (multi-match) is needed in this case.
-! * It may be true that this section would work properly using the
-! * regmatch_T code above, in which case, these two separate sections
-! * should be consolidated w/ FEAT_COMMENTS making lead_len > 0...
-! */
-! #endif
-! regmmatch_T regmatch;
-
-! regmatch.regprog = vim_regcomp(curbuf->b_p_flp, RE_MAGIC);
-!
-! if (regmatch.regprog != NULL)
- {
-! regmatch.rmm_ic = FALSE;
-! regmatch.rmm_maxcol = 0;
-! if (vim_regexec_multi(&regmatch, curwin, curbuf,
-! lnum, (colnr_T)0, NULL))
-! {
-! pos.lnum = regmatch.endpos[0].lnum + lnum;
-! pos.col = regmatch.endpos[0].col;
- #ifdef FEAT_VIRTUALEDIT
-! pos.coladd = 0;
- #endif
-- }
-- vim_free(regmatch.regprog);
- }
-- #ifdef FEAT_COMMENTS
- }
-! #endif
-
- if (pos.lnum == 0 || *ml_get_pos(&pos) == NUL)
- return -1;
---- 424,458 ----
- colnr_T col;
- pos_T pos;
-
-+ regmatch_T regmatch;
-+ int lead_len = 0; /* length of comment leader */
-+
- if (lnum > curbuf->b_ml.ml_line_count)
- return -1;
- pos.lnum = 0;
-
- #ifdef FEAT_COMMENTS
-! /* In format_lines() (i.e. not insert mode), fo+=q is needed too... */
-! if ((State & INSERT) || has_format_option(FO_Q_COMS))
- lead_len = get_leader_len(ml_get(lnum), NULL, FALSE, TRUE);
- #endif
-! regmatch.regprog = vim_regcomp(curbuf->b_p_flp, RE_MAGIC);
-! if (regmatch.regprog != NULL)
- {
-! regmatch.rm_ic = FALSE;
-
-! /* vim_regexec() expects a pointer to a line. This lets us
-! * start matching for the flp beyond any comment leader... */
-! if (vim_regexec(&regmatch, ml_get(lnum) + lead_len, (colnr_T)0))
- {
-! pos.lnum = lnum;
-! pos.col = (colnr_T)(*regmatch.endp - ml_get(lnum));
- #ifdef FEAT_VIRTUALEDIT
-! pos.coladd = 0;
- #endif
- }
- }
-! vim_free(regmatch.regprog);
-
- if (pos.lnum == 0 || *ml_get_pos(&pos) == NUL)
- return -1;
-*** ../vim-7.3.575/src/testdir/test68.in 2012-06-13 17:28:51.000000000 +0200
---- src/testdir/test68.in 2012-06-29 14:27:27.000000000 +0200
-***************
-*** 52,57 ****
---- 52,68 ----
-
- STARTTEST
- /^{/+1
-+ :set tw=5 fo=tcn comments=:#
-+ A bjA b
-+ ENDTEST
-+
-+ {
-+ 1 a
-+ # 1 a
-+ }
-+
-+ STARTTEST
-+ /^{/+1
- :set tw=5 fo=qn comments=:#
- gwap
- ENDTEST
-***************
-*** 83,88 ****
---- 94,107 ----
- }
-
- STARTTEST
-+ /^#/
-+ :setl tw=12 fo=tqnc comments=:#
-+ A foobar
-+ ENDTEST
-+
-+ # 1 xxxxx
-+
-+ STARTTEST
- :g/^STARTTEST/.,/^ENDTEST/d
- :1;/^Results/,$wq! test.out
- ENDTEST
-*** ../vim-7.3.575/src/version.c 2012-06-29 13:56:01.000000000 +0200
---- src/version.c 2012-06-29 15:03:10.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 576,
- /**/
-
---
-Proof techniques #2: Proof by Oddity.
- SAMPLE: To prove that horses have an infinite number of legs.
-(1) Horses have an even number of legs.
-(2) They have two legs in back and fore legs in front.
-(3) This makes a total of six legs, which certainly is an odd number of
- legs for a horse.
-(4) But the only number that is both odd and even is infinity.
-(5) Therefore, horses must have an infinite number of legs.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.577 b/source/ap/vim/patches/7.3.577
deleted file mode 100644
index 2929b22d3..000000000
--- a/source/ap/vim/patches/7.3.577
+++ /dev/null
@@ -1,273 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.577
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.577
-Problem: Size of memory does not fit in 32 bit unsigned.
-Solution: Use Kbyte instead of byte. Call GlobalMemoryStatusEx() instead of
- GlobalMemoryStatus() when available.
-Files: src/misc2.c, src/option.c, src/os_amiga.c, src/os_msdos.c,
- src/os_win16.c, src/os_win32.c
-
-
-*** ../vim-7.3.576/src/misc2.c 2012-02-29 13:58:43.000000000 +0100
---- src/misc2.c 2012-06-29 15:30:54.000000000 +0200
-***************
-*** 815,820 ****
---- 815,821 ----
- #else
- # define KEEP_ROOM (2 * 8192L)
- #endif
-+ #define KEEP_ROOM_KB (KEEP_ROOM / 1024L)
-
- /*
- * Note: if unsigned is 16 bits we can only allocate up to 64K with alloc().
-***************
-*** 940,946 ****
- allocated = 0;
- # endif
- /* 3. check for available memory: call mch_avail_mem() */
-! if (mch_avail_mem(TRUE) < KEEP_ROOM && !releasing)
- {
- free((char *)p); /* System is low... no go! */
- p = NULL;
---- 941,947 ----
- allocated = 0;
- # endif
- /* 3. check for available memory: call mch_avail_mem() */
-! if (mch_avail_mem(TRUE) < KEEP_ROOM_KB && !releasing)
- {
- free((char *)p); /* System is low... no go! */
- p = NULL;
-*** ../vim-7.3.576/src/option.c 2012-03-28 19:58:34.000000000 +0200
---- src/option.c 2012-06-29 15:31:46.000000000 +0200
-***************
-*** 3154,3160 ****
- {
- #ifdef HAVE_AVAIL_MEM
- /* Use amount of memory available at this moment. */
-! n = (mch_avail_mem(FALSE) >> 11);
- #else
- # ifdef HAVE_TOTAL_MEM
- /* Use amount of memory available to Vim. */
---- 3154,3160 ----
- {
- #ifdef HAVE_AVAIL_MEM
- /* Use amount of memory available at this moment. */
-! n = (mch_avail_mem(FALSE) >> 1);
- #else
- # ifdef HAVE_TOTAL_MEM
- /* Use amount of memory available to Vim. */
-***************
-*** 6702,6708 ****
- {
- for (s = *varp; *s;)
- {
-! while(*s == ',' || *s == ' ')
- s++;
- if (!*s)
- break;
---- 6702,6708 ----
- {
- for (s = *varp; *s;)
- {
-! while (*s == ',' || *s == ' ')
- s++;
- if (!*s)
- break;
-***************
-*** 7391,7397 ****
- new_unnamed |= CLIP_UNNAMED;
- p += 7;
- }
-! else if (STRNCMP(p, "unnamedplus", 11) == 0
- && (p[11] == ',' || p[11] == NUL))
- {
- new_unnamed |= CLIP_UNNAMED_PLUS;
---- 7391,7397 ----
- new_unnamed |= CLIP_UNNAMED;
- p += 7;
- }
-! else if (STRNCMP(p, "unnamedplus", 11) == 0
- && (p[11] == ',' || p[11] == NUL))
- {
- new_unnamed |= CLIP_UNNAMED_PLUS;
-*** ../vim-7.3.576/src/os_amiga.c 2011-10-20 18:24:16.000000000 +0200
---- src/os_amiga.c 2012-06-29 15:33:59.000000000 +0200
-***************
-*** 191,206 ****
- }
-
- /*
-! * Return amount of memory still available.
- */
- long_u
- mch_avail_mem(special)
- int special;
- {
- #ifdef __amigaos4__
-! return (long_u)AvailMem(MEMF_ANY);
- #else
-! return (long_u)AvailMem(special ? (long)MEMF_CHIP : (long)MEMF_ANY);
- #endif
- }
-
---- 191,206 ----
- }
-
- /*
-! * Return amount of memory still available in Kbyte.
- */
- long_u
- mch_avail_mem(special)
- int special;
- {
- #ifdef __amigaos4__
-! return (long_u)AvailMem(MEMF_ANY) >> 10;
- #else
-! return (long_u)(AvailMem(special ? (long)MEMF_CHIP : (long)MEMF_ANY)) >> 10;
- #endif
- }
-
-*** ../vim-7.3.576/src/os_msdos.c 2011-06-19 01:14:22.000000000 +0200
---- src/os_msdos.c 2012-06-29 15:33:26.000000000 +0200
-***************
-*** 550,564 ****
- #endif
-
- /*
-! * Return amount of memory currently available.
- */
- long_u
- mch_avail_mem(int special)
- {
- #ifdef DJGPP
-! return _go32_dpmi_remaining_virtual_memory();
- #else
-! return coreleft();
- #endif
- }
-
---- 550,564 ----
- #endif
-
- /*
-! * Return amount of memory currently available in Kbyte.
- */
- long_u
- mch_avail_mem(int special)
- {
- #ifdef DJGPP
-! return _go32_dpmi_remaining_virtual_memory() >> 10;
- #else
-! return coreleft() >> 10;
- #endif
- }
-
-*** ../vim-7.3.576/src/os_win16.c 2011-10-20 18:24:16.000000000 +0200
---- src/os_win16.c 2012-06-29 15:34:18.000000000 +0200
-***************
-*** 379,391 ****
-
-
- /*
-! * How much memory is available?
- */
- long_u
- mch_avail_mem(
- int special)
- {
-! return GetFreeSpace(0);
- }
-
-
---- 379,391 ----
-
-
- /*
-! * How much memory is available in Kbyte?
- */
- long_u
- mch_avail_mem(
- int special)
- {
-! return GetFreeSpace(0) >> 10;
- }
-
-
-*** ../vim-7.3.576/src/os_win32.c 2012-06-29 13:13:59.000000000 +0200
---- src/os_win32.c 2012-06-29 15:39:52.000000000 +0200
-***************
-*** 4992,5009 ****
-
-
- /*
-! * How much memory is available?
- * Return sum of available physical and page file memory.
- */
- /*ARGSUSED*/
- long_u
- mch_avail_mem(int special)
- {
-! MEMORYSTATUS ms;
-
-! ms.dwLength = sizeof(MEMORYSTATUS);
-! GlobalMemoryStatus(&ms);
-! return (long_u) (ms.dwAvailPhys + ms.dwAvailPageFile);
- }
-
- #ifdef FEAT_MBYTE
---- 4992,5020 ----
-
-
- /*
-! * How much memory is available in Kbyte?
- * Return sum of available physical and page file memory.
- */
- /*ARGSUSED*/
- long_u
- mch_avail_mem(int special)
- {
-! if (g_PlatformId != VER_PLATFORM_WIN32_NT)
-! {
-! MEMORYSTATUS ms;
-
-! ms.dwLength = sizeof(MEMORYSTATUS);
-! GlobalMemoryStatus(&ms);
-! return (long_u)((ms.dwAvailPhys + ms.dwAvailPageFile) >> 10);
-! }
-! else
-! {
-! MEMORYSTATUSEX ms;
-!
-! ms.dwLength = sizeof(MEMORYSTATUSEX);
-! GlobalMemoryStatusEx(&ms);
-! return (long_u)((ms.ullAvailPhys + ms.ullAvailPageFile) >> 10);
-! }
- }
-
- #ifdef FEAT_MBYTE
-*** ../vim-7.3.576/src/version.c 2012-06-29 15:04:34.000000000 +0200
---- src/version.c 2012-06-29 15:45:44.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 577,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-75. You start wondering whether you could actually upgrade your brain
- with a Pentium Pro microprocessor 80. The upgrade works just fine.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.578 b/source/ap/vim/patches/7.3.578
deleted file mode 100644
index 9b0aedd26..000000000
--- a/source/ap/vim/patches/7.3.578
+++ /dev/null
@@ -1,80 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.578
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.578
-Problem: Misplaced declaration.
-Solution: Move declaration to start of block.
-Files: src/if_py_both.h
-
-
-*** ../vim-7.3.577/src/if_py_both.h 2012-06-29 12:54:32.000000000 +0200
---- src/if_py_both.h 2012-06-29 16:15:29.000000000 +0200
-***************
-*** 818,838 ****
-
- if (valObject == NULL)
- {
- if (di == NULL)
- {
- PyErr_SetString(PyExc_IndexError, _("no such key in dictionary"));
- return -1;
- }
-! hashitem_T *hi = hash_find(&d->dv_hashtab, di->di_key);
- hash_remove(&d->dv_hashtab, hi);
- dictitem_free(di);
- return 0;
- }
-
- if (ConvertFromPyObject(valObject, &tv) == -1)
-- {
- return -1;
-- }
-
- if (di == NULL)
- {
---- 818,838 ----
-
- if (valObject == NULL)
- {
-+ hashitem_T *hi;
-+
- if (di == NULL)
- {
- PyErr_SetString(PyExc_IndexError, _("no such key in dictionary"));
- return -1;
- }
-! hi = hash_find(&d->dv_hashtab, di->di_key);
- hash_remove(&d->dv_hashtab, hi);
- dictitem_free(di);
- return 0;
- }
-
- if (ConvertFromPyObject(valObject, &tv) == -1)
- return -1;
-
- if (di == NULL)
- {
-*** ../vim-7.3.577/src/version.c 2012-06-29 15:51:26.000000000 +0200
---- src/version.c 2012-06-29 16:18:10.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 578,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-77. The phone company asks you to test drive their new PBX system
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.579 b/source/ap/vim/patches/7.3.579
deleted file mode 100644
index ed618fe72..000000000
--- a/source/ap/vim/patches/7.3.579
+++ /dev/null
@@ -1,232 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.579
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.579 (after 7.3.569)
-Problem: Can't compile with Python 2.5.
-Solution: Use PyCObject when Capsules are not available.
-Files: src/if_py_both.h, src/if_python.c, src/if_python3.c
-
-
-*** ../vim-7.3.578/src/if_py_both.h 2012-06-29 16:19:46.000000000 +0200
---- src/if_py_both.h 2012-06-29 16:15:29.000000000 +0200
-***************
-*** 56,62 ****
- /* name, function, calling, documentation */
- {"write", OutputWrite, 1, ""},
- {"writelines", OutputWritelines, 1, ""},
-! {"flush", OutputFlush, 1, ""},
- { NULL, NULL, 0, NULL}
- };
-
---- 56,62 ----
- /* name, function, calling, documentation */
- {"write", OutputWrite, 1, ""},
- {"writelines", OutputWritelines, 1, ""},
-! {"flush", OutputFlush, 1, ""},
- { NULL, NULL, 0, NULL}
- };
-
-***************
-*** 506,513 ****
- /* name, function, calling, documentation */
- {"command", VimCommand, 1, "Execute a Vim ex-mode command" },
- {"eval", VimEval, 1, "Evaluate an expression using Vim evaluator" },
-! {"bindeval", VimEvalPy, 1, "Like eval(), but returns objects attached to vim ones"},
-! {"strwidth", VimStrwidth, 1, "Screen string width, counts <Tab> as having width 1"},
- { NULL, NULL, 0, NULL }
- };
-
---- 506,513 ----
- /* name, function, calling, documentation */
- {"command", VimCommand, 1, "Execute a Vim ex-mode command" },
- {"eval", VimEval, 1, "Evaluate an expression using Vim evaluator" },
-! {"bindeval", VimEvalPy, 1, "Like eval(), but returns objects attached to vim ones"},
-! {"strwidth", VimStrwidth, 1, "Screen string width, counts <Tab> as having width 1"},
- { NULL, NULL, 0, NULL }
- };
-
-***************
-*** 2432,2448 ****
---- 2432,2463 ----
- convert_dl(PyObject *obj, typval_T *tv,
- pytotvfunc py_to_tv, PyObject *lookupDict)
- {
-+ # ifdef PY_USE_CAPSULE
- PyObject *capsule;
-+ # else
-+ PyCObject *cobject;
-+ # endif
- char hexBuf[sizeof(void *) * 2 + 3];
-
- sprintf(hexBuf, "%p", obj);
-
-+ # ifdef PY_USE_CAPSULE
- capsule = PyDict_GetItemString(lookupDict, hexBuf);
- if (capsule == NULL)
-+ # else
-+ cobject = (PyCObject *)PyDict_GetItemString(lookupDict, hexBuf);
-+ if (cobject == NULL)
-+ # endif
- {
-+ # ifdef PY_USE_CAPSULE
- capsule = PyCapsule_New(tv, NULL, NULL);
- PyDict_SetItemString(lookupDict, hexBuf, capsule);
- Py_DECREF(capsule);
-+ # else
-+ cobject = PyCObject_FromVoidPtr(tv, NULL);
-+ PyDict_SetItemString(lookupDict, hexBuf, cobject);
-+ Py_DECREF(cobject);
-+ # endif
- if (py_to_tv(obj, tv, lookupDict) == -1)
- {
- tv->v_type = VAR_UNKNOWN;
-***************
-*** 2458,2464 ****
- }
- else
- {
-! typval_T *v = PyCapsule_GetPointer(capsule, NULL);
- copy_tv(v, tv);
- }
- return 0;
---- 2473,2485 ----
- }
- else
- {
-! typval_T *v;
-!
-! # ifdef PY_USE_CAPSULE
-! v = PyCapsule_GetPointer(capsule, NULL);
-! # else
-! v = PyCObject_AsVoidPtr(cobject);
-! # endif
- copy_tv(v, tv);
- }
- return 0;
-*** ../vim-7.3.578/src/if_python.c 2012-06-29 12:54:32.000000000 +0200
---- src/if_python.c 2012-06-29 16:17:44.000000000 +0200
-***************
-*** 71,76 ****
---- 71,80 ----
- # define PySequenceMethods Py_ssize_t
- #endif
-
-+ #if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
-+ # define PY_USE_CAPSULE
-+ #endif
-+
- #if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000
- # define PyInt Py_ssize_t
- # define PyInquiry lenfunc
-***************
-*** 220,227 ****
- # define PyObject_Malloc dll_PyObject_Malloc
- # define PyObject_Free dll_PyObject_Free
- # endif
-! # define PyCapsule_New dll_PyCapsule_New
-! # define PyCapsule_GetPointer dll_PyCapsule_GetPointer
-
- /*
- * Pointers for dynamic link
---- 224,236 ----
- # define PyObject_Malloc dll_PyObject_Malloc
- # define PyObject_Free dll_PyObject_Free
- # endif
-! # ifdef PY_USE_CAPSULE
-! # define PyCapsule_New dll_PyCapsule_New
-! # define PyCapsule_GetPointer dll_PyCapsule_GetPointer
-! # else
-! # define PyCObject_FromVoidPtr dll_PyCObject_FromVoidPtr
-! # define PyCObject_AsVoidPtr dll_PyCObject_AsVoidPtr
-! # endif
-
- /*
- * Pointers for dynamic link
-***************
-*** 309,316 ****
---- 318,330 ----
- static void* (*dll_PyObject_Malloc)(size_t);
- static void (*dll_PyObject_Free)(void*);
- # endif
-+ # ifdef PY_USE_CAPSULE
- static PyObject* (*dll_PyCapsule_New)(void *, char *, PyCapsule_Destructor);
- static void* (*dll_PyCapsule_GetPointer)(PyObject *, char *);
-+ # else
-+ static PyCObject* (*dll_PyCObject_FromVoidPtr)(void *cobj, void (*destr)(void *));
-+ static void* (*dll_PyCObject_AsVoidPtr)(PyCObject *);
-+ # endif
-
- static HINSTANCE hinstPython = 0; /* Instance of python.dll */
-
-***************
-*** 403,409 ****
- {"PyType_Ready", (PYTHON_PROC*)&dll_PyType_Ready},
- {"Py_BuildValue", (PYTHON_PROC*)&dll_Py_BuildValue},
- {"Py_FindMethod", (PYTHON_PROC*)&dll_Py_FindMethod},
-! # if (PY_VERSION_HEX >= 0x02050000) && SIZEOF_SIZE_T != SIZEOF_INT
- {"Py_InitModule4_64", (PYTHON_PROC*)&dll_Py_InitModule4},
- # else
- {"Py_InitModule4", (PYTHON_PROC*)&dll_Py_InitModule4},
---- 417,424 ----
- {"PyType_Ready", (PYTHON_PROC*)&dll_PyType_Ready},
- {"Py_BuildValue", (PYTHON_PROC*)&dll_Py_BuildValue},
- {"Py_FindMethod", (PYTHON_PROC*)&dll_Py_FindMethod},
-! # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000 \
-! && SIZEOF_SIZE_T != SIZEOF_INT
- {"Py_InitModule4_64", (PYTHON_PROC*)&dll_Py_InitModule4},
- # else
- {"Py_InitModule4", (PYTHON_PROC*)&dll_Py_InitModule4},
-***************
-*** 424,431 ****
---- 439,451 ----
- {"PyObject_Malloc", (PYTHON_PROC*)&dll_PyObject_Malloc},
- {"PyObject_Free", (PYTHON_PROC*)&dll_PyObject_Free},
- # endif
-+ # ifdef PY_USE_CAPSULE
- {"PyCapsule_New", (PYTHON_PROC*)&dll_PyCapsule_New},
- {"PyCapsule_GetPointer", (PYTHON_PROC*)&dll_PyCapsule_GetPointer},
-+ # else
-+ {"PyCObject_FromVoidPtr", (PYTHON_PROC*)&dll_PyCObject_FromVoidPtr},
-+ {"PyCObject_AsVoidPtr", (PYTHON_PROC*)&dll_PyCObject_AsVoidPtr},
-+ # endif
- {"", NULL},
- };
-
-*** ../vim-7.3.578/src/if_python3.c 2012-06-29 12:54:32.000000000 +0200
---- src/if_python3.c 2012-06-29 16:16:54.000000000 +0200
-***************
-*** 75,80 ****
---- 75,83 ----
- # define CODEC_ERROR_HANDLER NULL
- #endif
-
-+ /* Python 3 does not support CObjects, always use Capsules */
-+ #define PY_USE_CAPSULE
-+
- #define PyInt Py_ssize_t
- #define PyString_Check(obj) PyUnicode_Check(obj)
- #define PyString_AsBytes(obj) PyUnicode_AsEncodedString(obj, (char *)ENC_OPT, CODEC_ERROR_HANDLER)
-*** ../vim-7.3.578/src/version.c 2012-06-29 16:19:46.000000000 +0200
---- src/version.c 2012-06-29 16:21:25.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 579,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-78. You find yourself dialing IP numbers on the phone.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.580 b/source/ap/vim/patches/7.3.580
deleted file mode 100644
index c2c2a5371..000000000
--- a/source/ap/vim/patches/7.3.580
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.580
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.580
-Problem: Warning on 64 bit MS-Windows.
-Solution: Add type cast. (Mike Williams)
-Files: src/if_py_both.h
-
-
-*** ../vim-7.3.579/src/if_py_both.h 2012-06-29 16:28:23.000000000 +0200
---- src/if_py_both.h 2012-06-29 17:49:59.000000000 +0200
-***************
-*** 495,501 ****
- if (!PyArg_ParseTuple(args, "s", &expr))
- return NULL;
-
-! return PyLong_FromLong(mb_string2cells((char_u *)expr, STRLEN(expr)));
- }
-
- /*
---- 495,501 ----
- if (!PyArg_ParseTuple(args, "s", &expr))
- return NULL;
-
-! return PyLong_FromLong(mb_string2cells((char_u *)expr, (int)STRLEN(expr)));
- }
-
- /*
-*** ../vim-7.3.579/src/version.c 2012-06-29 16:28:23.000000000 +0200
---- src/version.c 2012-06-29 17:50:36.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 580,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-79. All of your most erotic dreams have a scrollbar at the right side.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.581 b/source/ap/vim/patches/7.3.581
deleted file mode 100644
index 553003039..000000000
--- a/source/ap/vim/patches/7.3.581
+++ /dev/null
@@ -1,117 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.581
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.581
-Problem: Problems compiling with Python.
-Solution: Pick UCS2 or UCS4 function at runtime. (lilydjwg)
-Files: src/if_python.c
-
-
-*** ../vim-7.3.580/src/if_python.c 2012-06-29 16:28:23.000000000 +0200
---- src/if_python.c 2012-06-29 19:10:53.000000000 +0200
-***************
-*** 196,202 ****
- # define PyString_Size dll_PyString_Size
- # define PyString_Type (*dll_PyString_Type)
- # define PyUnicode_Type (*dll_PyUnicode_Type)
-! # define PyUnicodeUCS4_AsEncodedString (*dll_PyUnicodeUCS4_AsEncodedString)
- # define PyFloat_AsDouble dll_PyFloat_AsDouble
- # define PyFloat_FromDouble dll_PyFloat_FromDouble
- # define PyFloat_Type (*dll_PyFloat_Type)
---- 196,203 ----
- # define PyString_Size dll_PyString_Size
- # define PyString_Type (*dll_PyString_Type)
- # define PyUnicode_Type (*dll_PyUnicode_Type)
-! # undef PyUnicode_AsEncodedString
-! # define PyUnicode_AsEncodedString py_PyUnicode_AsEncodedString
- # define PyFloat_AsDouble dll_PyFloat_AsDouble
- # define PyFloat_FromDouble dll_PyFloat_FromDouble
- # define PyFloat_Type (*dll_PyFloat_Type)
-***************
-*** 290,296 ****
- static PyInt(*dll_PyString_Size)(PyObject *);
- static PyTypeObject* dll_PyString_Type;
- static PyTypeObject* dll_PyUnicode_Type;
-! static PyObject *(*PyUnicodeUCS4_AsEncodedString)(PyObject *, char *, char *);
- static double(*dll_PyFloat_AsDouble)(PyObject *);
- static PyObject*(*dll_PyFloat_FromDouble)(double);
- static PyTypeObject* dll_PyFloat_Type;
---- 291,297 ----
- static PyInt(*dll_PyString_Size)(PyObject *);
- static PyTypeObject* dll_PyString_Type;
- static PyTypeObject* dll_PyUnicode_Type;
-! static PyObject *(*py_PyUnicode_AsEncodedString)(PyObject *, char *, char *);
- static double(*dll_PyFloat_AsDouble)(PyObject *);
- static PyObject*(*dll_PyFloat_FromDouble)(double);
- static PyTypeObject* dll_PyFloat_Type;
-***************
-*** 406,412 ****
- {"PyString_Size", (PYTHON_PROC*)&dll_PyString_Size},
- {"PyString_Type", (PYTHON_PROC*)&dll_PyString_Type},
- {"PyUnicode_Type", (PYTHON_PROC*)&dll_PyUnicode_Type},
-- {"PyUnicodeUCS4_AsEncodedString", (PYTHON_PROC*)&dll_PyUnicodeUCS4_AsEncodedString},
- {"PyFloat_Type", (PYTHON_PROC*)&dll_PyFloat_Type},
- {"PyFloat_AsDouble", (PYTHON_PROC*)&dll_PyFloat_AsDouble},
- {"PyFloat_FromDouble", (PYTHON_PROC*)&dll_PyFloat_FromDouble},
---- 407,412 ----
-***************
-*** 471,476 ****
---- 471,477 ----
- python_runtime_link_init(char *libname, int verbose)
- {
- int i;
-+ void *ucs_as_encoded_string;
-
- #if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON3)
- /* Can't have Python and Python3 loaded at the same time.
-***************
-*** 506,511 ****
---- 507,531 ----
- return FAIL;
- }
- }
-+
-+ /* Load unicode functions separately as only the ucs2 or the ucs4 functions
-+ * will be present in the library. */
-+ ucs_as_encoded_string = symbol_from_dll(hinstPython,
-+ "PyUnicodeUCS2_AsEncodedString");
-+ if (ucs_as_encoded_string == NULL)
-+ ucs_as_encoded_string = symbol_from_dll(hinstPython,
-+ "PyUnicodeUCS4_AsEncodedString");
-+ if (ucs_as_encoded_string != NULL)
-+ py_PyUnicode_AsEncodedString = ucs_as_encoded_string;
-+ else
-+ {
-+ close_dll(hinstPython);
-+ hinstPython = 0;
-+ if (verbose)
-+ EMSG2(_(e_loadfunc), "PyUnicode_UCSX_*");
-+ return FAIL;
-+ }
-+
- return OK;
- }
-
-*** ../vim-7.3.580/src/version.c 2012-06-29 17:51:58.000000000 +0200
---- src/version.c 2012-06-29 19:13:47.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 581,
- /**/
-
---
-ASCII stupid question, get a stupid ANSI.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.582 b/source/ap/vim/patches/7.3.582
deleted file mode 100644
index 4e118a7df..000000000
--- a/source/ap/vim/patches/7.3.582
+++ /dev/null
@@ -1,61 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.582
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.582 (after 7.3.576)
-Problem: Missing parts of the test OK file.
-Solution: Add the missing parts.
-Files: src/testdir/test68.ok
-
-
-*** ../vim-7.3.581/src/testdir/test68.ok 2012-06-13 17:28:51.000000000 +0200
---- src/testdir/test68.ok 2012-06-29 15:00:13.000000000 +0200
-***************
-*** 35,40 ****
---- 35,48 ----
-
-
- {
-+ 1 a
-+ b
-+ # 1 a
-+ # b
-+ }
-+
-+
-+ {
- # 1 a
- # b
- }
-***************
-*** 48,50 ****
---- 56,62 ----
-
- { 1aa ^^2bb }
-
-+
-+ # 1 xxxxx
-+ # foobar
-+
-*** ../vim-7.3.581/src/version.c 2012-06-29 19:14:48.000000000 +0200
---- src/version.c 2012-06-29 23:57:43.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 582,
- /**/
-
---
-If your nose runs, and your feet smell, you might be upside down.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.583 b/source/ap/vim/patches/7.3.583
deleted file mode 100644
index 2ea7f9d26..000000000
--- a/source/ap/vim/patches/7.3.583
+++ /dev/null
@@ -1,79 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.583
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.583
-Problem: PyObject_NextNotImplemented is not defined before Python 2.7.
- (Danek Duvall)
-Solution: Add #ifdefs.
-Files: src/if_python.c
-
-
-*** ../vim-7.3.582/src/if_python.c 2012-06-29 19:14:48.000000000 +0200
---- src/if_python.c 2012-06-30 12:59:38.000000000 +0200
-***************
-*** 214,220 ****
- # define Py_Finalize dll_Py_Finalize
- # define Py_IsInitialized dll_Py_IsInitialized
- # define _PyObject_New dll__PyObject_New
-! # define _PyObject_NextNotImplemented (*dll__PyObject_NextNotImplemented)
- # define _Py_NoneStruct (*dll__Py_NoneStruct)
- # define PyObject_Init dll__PyObject_Init
- # define PyObject_GetIter dll_PyObject_GetIter
---- 214,222 ----
- # define Py_Finalize dll_Py_Finalize
- # define Py_IsInitialized dll_Py_IsInitialized
- # define _PyObject_New dll__PyObject_New
-! # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
-! # define _PyObject_NextNotImplemented (*dll__PyObject_NextNotImplemented)
-! # endif
- # define _Py_NoneStruct (*dll__Py_NoneStruct)
- # define PyObject_Init dll__PyObject_Init
- # define PyObject_GetIter dll_PyObject_GetIter
-***************
-*** 310,316 ****
---- 312,320 ----
- static PyObject*(*dll__PyObject_New)(PyTypeObject *, PyObject *);
- static PyObject*(*dll__PyObject_Init)(PyObject *, PyTypeObject *);
- static PyObject* (*dll_PyObject_GetIter)(PyObject *);
-+ # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
- static iternextfunc dll__PyObject_NextNotImplemented;
-+ # endif
- static PyObject* dll__Py_NoneStruct;
- # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02020000
- static int (*dll_PyType_IsSubtype)(PyTypeObject *, PyTypeObject *);
-***************
-*** 430,436 ****
---- 434,442 ----
- {"_PyObject_New", (PYTHON_PROC*)&dll__PyObject_New},
- {"PyObject_Init", (PYTHON_PROC*)&dll__PyObject_Init},
- {"PyObject_GetIter", (PYTHON_PROC*)&dll_PyObject_GetIter},
-+ # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
- {"_PyObject_NextNotImplemented", (PYTHON_PROC*)&dll__PyObject_NextNotImplemented},
-+ # endif
- {"_Py_NoneStruct", (PYTHON_PROC*)&dll__Py_NoneStruct},
- # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02020000
- {"PyType_IsSubtype", (PYTHON_PROC*)&dll_PyType_IsSubtype},
-*** ../vim-7.3.582/src/version.c 2012-06-29 23:57:50.000000000 +0200
---- src/version.c 2012-06-30 13:20:46.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 583,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-90. Instead of calling you to dinner, your spouse sends e-mail.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.584 b/source/ap/vim/patches/7.3.584
deleted file mode 100644
index d7f1bdeb4..000000000
--- a/source/ap/vim/patches/7.3.584
+++ /dev/null
@@ -1,134 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.584
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.584
-Problem: PyCObject is not always defined.
-Solution: Use PyObject instead.
-Files: src/if_py_both.h, src/if_python.c
-
-
-*** ../vim-7.3.583/src/if_py_both.h 2012-06-29 17:51:58.000000000 +0200
---- src/if_py_both.h 2012-06-30 13:25:24.000000000 +0200
-***************
-*** 2432,2463 ****
- convert_dl(PyObject *obj, typval_T *tv,
- pytotvfunc py_to_tv, PyObject *lookupDict)
- {
-- # ifdef PY_USE_CAPSULE
- PyObject *capsule;
-- # else
-- PyCObject *cobject;
-- # endif
- char hexBuf[sizeof(void *) * 2 + 3];
-
- sprintf(hexBuf, "%p", obj);
-
- # ifdef PY_USE_CAPSULE
- capsule = PyDict_GetItemString(lookupDict, hexBuf);
-- if (capsule == NULL)
- # else
-! cobject = (PyCObject *)PyDict_GetItemString(lookupDict, hexBuf);
-! if (cobject == NULL)
- # endif
- {
- # ifdef PY_USE_CAPSULE
- capsule = PyCapsule_New(tv, NULL, NULL);
-- PyDict_SetItemString(lookupDict, hexBuf, capsule);
-- Py_DECREF(capsule);
- # else
-! cobject = PyCObject_FromVoidPtr(tv, NULL);
-! PyDict_SetItemString(lookupDict, hexBuf, cobject);
-! Py_DECREF(cobject);
- # endif
- if (py_to_tv(obj, tv, lookupDict) == -1)
- {
- tv->v_type = VAR_UNKNOWN;
---- 2432,2456 ----
- convert_dl(PyObject *obj, typval_T *tv,
- pytotvfunc py_to_tv, PyObject *lookupDict)
- {
- PyObject *capsule;
- char hexBuf[sizeof(void *) * 2 + 3];
-
- sprintf(hexBuf, "%p", obj);
-
- # ifdef PY_USE_CAPSULE
- capsule = PyDict_GetItemString(lookupDict, hexBuf);
- # else
-! capsule = (PyObject *)PyDict_GetItemString(lookupDict, hexBuf);
- # endif
-+ if (capsule == NULL)
- {
- # ifdef PY_USE_CAPSULE
- capsule = PyCapsule_New(tv, NULL, NULL);
- # else
-! capsule = PyCObject_FromVoidPtr(tv, NULL);
- # endif
-+ PyDict_SetItemString(lookupDict, hexBuf, capsule);
-+ Py_DECREF(capsule);
- if (py_to_tv(obj, tv, lookupDict) == -1)
- {
- tv->v_type = VAR_UNKNOWN;
-***************
-*** 2478,2484 ****
- # ifdef PY_USE_CAPSULE
- v = PyCapsule_GetPointer(capsule, NULL);
- # else
-! v = PyCObject_AsVoidPtr(cobject);
- # endif
- copy_tv(v, tv);
- }
---- 2471,2477 ----
- # ifdef PY_USE_CAPSULE
- v = PyCapsule_GetPointer(capsule, NULL);
- # else
-! v = PyCObject_AsVoidPtr(capsule);
- # endif
- copy_tv(v, tv);
- }
-*** ../vim-7.3.583/src/if_python.c 2012-06-30 13:21:03.000000000 +0200
---- src/if_python.c 2012-06-30 13:23:22.000000000 +0200
-***************
-*** 327,334 ****
- static PyObject* (*dll_PyCapsule_New)(void *, char *, PyCapsule_Destructor);
- static void* (*dll_PyCapsule_GetPointer)(PyObject *, char *);
- # else
-! static PyCObject* (*dll_PyCObject_FromVoidPtr)(void *cobj, void (*destr)(void *));
-! static void* (*dll_PyCObject_AsVoidPtr)(PyCObject *);
- # endif
-
- static HINSTANCE hinstPython = 0; /* Instance of python.dll */
---- 327,334 ----
- static PyObject* (*dll_PyCapsule_New)(void *, char *, PyCapsule_Destructor);
- static void* (*dll_PyCapsule_GetPointer)(PyObject *, char *);
- # else
-! static PyObject* (*dll_PyCObject_FromVoidPtr)(void *cobj, void (*destr)(void *));
-! static void* (*dll_PyCObject_AsVoidPtr)(PyObject *);
- # endif
-
- static HINSTANCE hinstPython = 0; /* Instance of python.dll */
-*** ../vim-7.3.583/src/version.c 2012-06-30 13:21:03.000000000 +0200
---- src/version.c 2012-06-30 13:33:08.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 584,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-91. It's Saturday afternoon in the middle of May and you
- are on computer.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.585 b/source/ap/vim/patches/7.3.585
deleted file mode 100644
index 6509780c7..000000000
--- a/source/ap/vim/patches/7.3.585
+++ /dev/null
@@ -1,56 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.585
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.585
-Problem: Calling changed_bytes() too often.
-Solution: Move changed_bytes() out of a loop. (Tor Perkins)
-Files: src/edit.c
-
-
-*** ../vim-7.3.584/src/edit.c 2012-06-29 15:04:34.000000000 +0200
---- src/edit.c 2012-07-06 13:29:25.000000000 +0200
-***************
-*** 6350,6359 ****
- * add the additional whitespace needed after the
- * comment leader for the numbered list. */
- for (i = 0; i < padding; i++)
-- {
- ins_str((char_u *)" ");
-! changed_bytes(curwin->w_cursor.lnum, leader_len);
-! }
- }
- else
- {
---- 6350,6357 ----
- * add the additional whitespace needed after the
- * comment leader for the numbered list. */
- for (i = 0; i < padding; i++)
- ins_str((char_u *)" ");
-! changed_bytes(curwin->w_cursor.lnum, leader_len);
- }
- else
- {
-*** ../vim-7.3.584/src/version.c 2012-07-06 13:36:02.000000000 +0200
---- src/version.c 2012-07-06 13:35:03.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 585,
- /**/
-
---
-From "know your smileys":
- :'-D Laughing so much that they're crying
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.586 b/source/ap/vim/patches/7.3.586
deleted file mode 100644
index 889ebd137..000000000
--- a/source/ap/vim/patches/7.3.586
+++ /dev/null
@@ -1,103 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.586
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.586
-Problem: When compiling with Cygwin or MingW MEMORYSTATUSEX is not defined.
-Solution: Set the default for WINVER to 0x0500.
-Files: src/Make_ming.mak, src/Make_cyg.mak
-
-
-*** ../vim-7.3.585/src/Make_ming.mak 2012-04-20 16:13:21.000000000 +0200
---- src/Make_ming.mak 2012-06-30 21:23:55.000000000 +0200
-***************
-*** 52,58 ****
- OLE=no
- # Set the default $(WINVER) to make it work with pre-Win2k
- ifndef WINVER
-! WINVER = 0x0400
- endif
- # Set to yes to enable Cscope support
- CSCOPE=yes
---- 52,58 ----
- OLE=no
- # Set the default $(WINVER) to make it work with pre-Win2k
- ifndef WINVER
-! WINVER = 0x0500
- endif
- # Set to yes to enable Cscope support
- CSCOPE=yes
-*** ../vim-7.3.585/src/Make_cyg.mak 2011-09-30 16:56:00.000000000 +0200
---- src/Make_cyg.mak 2012-06-30 21:23:42.000000000 +0200
-***************
-*** 1,6 ****
- #
- # Makefile for VIM on Win32, using Cygnus gcc
-! # Last updated by Dan Sharp. Last Change: 2010 Nov 03
- #
- # Also read INSTALLpc.txt!
- #
---- 1,6 ----
- #
- # Makefile for VIM on Win32, using Cygnus gcc
-! # Last updated by Dan Sharp. Last Change: 2012 Jun 30
- #
- # Also read INSTALLpc.txt!
- #
-***************
-*** 48,54 ****
- # -L/lib/w32api to EXTRA_LIBS.
- # POSTSCRIPT no or yes: set to yes for PostScript printing (no)
- # FEATURES TINY, SMALL, NORMAL, BIG or HUGE (BIG)
-! # WINVER Lowest Win32 version to support. (0x0400)
- # CSCOPE no or yes: to include cscope interface support (yes)
- # OPTIMIZE SPACE, SPEED, or MAXSPEED: set optimization level (MAXSPEED)
- # NETBEANS no or yes: to include netbeans interface support (yes when GUI
---- 48,54 ----
- # -L/lib/w32api to EXTRA_LIBS.
- # POSTSCRIPT no or yes: set to yes for PostScript printing (no)
- # FEATURES TINY, SMALL, NORMAL, BIG or HUGE (BIG)
-! # WINVER Lowest Win32 version to support. (0x0500)
- # CSCOPE no or yes: to include cscope interface support (yes)
- # OPTIMIZE SPACE, SPEED, or MAXSPEED: set optimization level (MAXSPEED)
- # NETBEANS no or yes: to include netbeans interface support (yes when GUI
-***************
-*** 85,91 ****
- endif
-
- ifndef WINVER
-! WINVER = 0x0400
- endif
-
- ifndef CSCOPE
---- 85,91 ----
- endif
-
- ifndef WINVER
-! WINVER = 0x0500
- endif
-
- ifndef CSCOPE
-*** ../vim-7.3.585/src/version.c 2012-07-06 13:36:36.000000000 +0200
---- src/version.c 2012-07-06 13:39:41.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 586,
- /**/
-
---
-From "know your smileys":
- :-& Eating spaghetti
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.587 b/source/ap/vim/patches/7.3.587
deleted file mode 100644
index 22252318b..000000000
--- a/source/ap/vim/patches/7.3.587
+++ /dev/null
@@ -1,84 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.587
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.587
-Problem: Compiler warning for local var shadowing global var.
-Solution: Rename the var and move it to an inner block. (Christian Brabandt)
-Files: src/buffer.c
-
-
-*** ../vim-7.3.586/src/buffer.c 2012-06-20 17:54:34.000000000 +0200
---- src/buffer.c 2012-07-06 16:19:32.000000000 +0200
-***************
-*** 1363,1371 ****
- int action;
- {
- buf_T *prevbuf;
-- #ifdef FEAT_WINDOWS
-- win_T *prevwin;
-- #endif
- int unload = (action == DOBUF_UNLOAD || action == DOBUF_DEL
- || action == DOBUF_WIPE);
-
---- 1363,1368 ----
-***************
-*** 1406,1412 ****
- #endif
- {
- #ifdef FEAT_WINDOWS
-! prevwin = curwin;
- #endif
- if (prevbuf == curbuf)
- u_sync(FALSE);
---- 1403,1409 ----
- #endif
- {
- #ifdef FEAT_WINDOWS
-! win_T *previouswin = curwin;
- #endif
- if (prevbuf == curbuf)
- u_sync(FALSE);
-***************
-*** 1415,1423 ****
- && !P_HID(prevbuf)
- && !bufIsChanged(prevbuf)) ? DOBUF_UNLOAD : 0, FALSE);
- #ifdef FEAT_WINDOWS
-! if (curwin != prevwin && win_valid(prevwin))
- /* autocommands changed curwin, Grr! */
-! curwin = prevwin;
- #endif
- }
- }
---- 1412,1420 ----
- && !P_HID(prevbuf)
- && !bufIsChanged(prevbuf)) ? DOBUF_UNLOAD : 0, FALSE);
- #ifdef FEAT_WINDOWS
-! if (curwin != previouswin && win_valid(previouswin))
- /* autocommands changed curwin, Grr! */
-! curwin = previouswin;
- #endif
- }
- }
-*** ../vim-7.3.586/src/version.c 2012-07-06 13:40:44.000000000 +0200
---- src/version.c 2012-07-06 16:19:08.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 587,
- /**/
-
---
-There's no place like $(HOME)!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.588 b/source/ap/vim/patches/7.3.588
deleted file mode 100644
index 6dfabd073..000000000
--- a/source/ap/vim/patches/7.3.588
+++ /dev/null
@@ -1,85 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.588
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.588
-Problem: Crash on NULL pointer.
-Solution: Fix the immediate problem by checking for NULL. (Lech Lorens)
-Files: src/window.c
-
-
-*** ../vim-7.3.587/src/window.c 2012-06-13 18:15:13.000000000 +0200
---- src/window.c 2012-07-06 16:32:59.000000000 +0200
-***************
-*** 2184,2190 ****
- }
-
- #ifdef FEAT_AUTOCMD
-! if (win->w_closing || win->w_buffer->b_closing)
- return; /* window is already being closed */
- if (win == aucmd_win)
- {
---- 2184,2190 ----
- }
-
- #ifdef FEAT_AUTOCMD
-! if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing))
- return; /* window is already being closed */
- if (win == aucmd_win)
- {
-***************
-*** 3723,3729 ****
- enter_tabpage(tp, old_curbuf, trigger_autocmds)
- tabpage_T *tp;
- buf_T *old_curbuf UNUSED;
-! int trigger_autocmds UNUSED;
- {
- int old_off = tp->tp_firstwin->w_winrow;
- win_T *next_prevwin = tp->tp_prevwin;
---- 3723,3729 ----
- enter_tabpage(tp, old_curbuf, trigger_autocmds)
- tabpage_T *tp;
- buf_T *old_curbuf UNUSED;
-! int trigger_autocmds UNUSED;
- {
- int old_off = tp->tp_firstwin->w_winrow;
- win_T *next_prevwin = tp->tp_prevwin;
-***************
-*** 3868,3874 ****
- void
- goto_tabpage_tp(tp, trigger_autocmds)
- tabpage_T *tp;
-! int trigger_autocmds;
- {
- /* Don't repeat a message in another tab page. */
- set_keep_msg(NULL, 0);
---- 3868,3874 ----
- void
- goto_tabpage_tp(tp, trigger_autocmds)
- tabpage_T *tp;
-! int trigger_autocmds;
- {
- /* Don't repeat a message in another tab page. */
- set_keep_msg(NULL, 0);
-*** ../vim-7.3.587/src/version.c 2012-07-06 16:21:58.000000000 +0200
---- src/version.c 2012-07-06 16:37:47.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 588,
- /**/
-
---
-Momento mori, ergo carpe diem
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.589 b/source/ap/vim/patches/7.3.589
deleted file mode 100644
index fdda2b95f..000000000
--- a/source/ap/vim/patches/7.3.589
+++ /dev/null
@@ -1,69 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.589
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.589
-Problem: Crash when $HOME is not set.
-Solution: Check for a NULL pointer. (Chris Webb)
-Files: src/misc1.c
-
-
-*** ../vim-7.3.588/src/misc1.c 2012-06-29 15:04:34.000000000 +0200
---- src/misc1.c 2012-07-06 16:44:39.000000000 +0200
-***************
-*** 4496,4503 ****
- #else
- homedir_env_orig = homedir_env = mch_getenv((char_u *)"HOME");
- #endif
- #if defined(FEAT_MODIFY_FNAME) || defined(WIN3264)
-! if (vim_strchr(homedir_env, '~') != NULL)
- {
- int usedlen = 0;
- int flen;
---- 4496,4507 ----
- #else
- homedir_env_orig = homedir_env = mch_getenv((char_u *)"HOME");
- #endif
-+ /* Empty is the same as not set. */
-+ if (homedir_env != NULL && *homedir_env == NUL)
-+ homedir_env = NULL;
-+
- #if defined(FEAT_MODIFY_FNAME) || defined(WIN3264)
-! if (homedir_env != NULL && vim_strchr(homedir_env, '~') != NULL)
- {
- int usedlen = 0;
- int flen;
-***************
-*** 4513,4520 ****
- }
- #endif
-
-- if (homedir_env != NULL && *homedir_env == NUL)
-- homedir_env = NULL;
- if (homedir_env != NULL)
- envlen = STRLEN(homedir_env);
-
---- 4517,4522 ----
-*** ../vim-7.3.588/src/version.c 2012-07-06 16:39:43.000000000 +0200
---- src/version.c 2012-07-06 16:45:18.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 589,
- /**/
-
---
-I AM THANKFUL...
-...for the taxes that I pay because it means that I am employed.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.590 b/source/ap/vim/patches/7.3.590
deleted file mode 100644
index 4e524f79b..000000000
--- a/source/ap/vim/patches/7.3.590
+++ /dev/null
@@ -1,61 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.590
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.590
-Problem: The '< and '> marks cannot be set directly.
-Solution: Allow setting '< and '>. (Christian Brabandt)
-Files: src/mark.c
-
-
-*** ../vim-7.3.589/src/mark.c 2011-02-25 15:11:17.000000000 +0100
---- src/mark.c 2012-07-06 17:47:23.000000000 +0200
-***************
-*** 98,103 ****
---- 98,116 ----
- return OK;
- }
-
-+ #ifdef FEAT_VISUAL
-+ if (c == '<')
-+ {
-+ curbuf->b_visual.vi_start = *pos;
-+ return OK;
-+ }
-+ if (c == '>')
-+ {
-+ curbuf->b_visual.vi_end = *pos;
-+ return OK;
-+ }
-+ #endif
-+
- #ifndef EBCDIC
- if (c > 'z') /* some islower() and isupper() cannot handle
- characters above 127 */
-*** ../vim-7.3.589/src/version.c 2012-07-06 16:49:37.000000000 +0200
---- src/version.c 2012-07-06 17:49:00.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 590,
- /**/
-
---
-The primary purpose of the DATA statement is to give names to constants;
-instead of referring to pi as 3.141592653589793 at every appearance, the
-variable PI can be given that value with a DATA statement and used instead
-of the longer form of the constant. This also simplifies modifying the
-program, should the value of pi change.
- -- FORTRAN manual for Xerox Computers
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.591 b/source/ap/vim/patches/7.3.591
deleted file mode 100644
index 180fe6080..000000000
--- a/source/ap/vim/patches/7.3.591
+++ /dev/null
@@ -1,208 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.591
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.591
-Problem: Can only move to a tab by absolute number.
-Solution: Move a number of tabs to the left or the right. (Lech Lorens)
-Files: runtime/doc/tabpage.txt, src/ex_cmds.h, src/ex_docmd.c,
- src/testdir/test62.in, src/testdir/test62.ok, src/window.c
-
-
-*** ../vim-7.3.590/runtime/doc/tabpage.txt 2010-08-15 21:57:17.000000000 +0200
---- runtime/doc/tabpage.txt 2012-07-06 18:10:06.000000000 +0200
-***************
-*** 173,182 ****
---- 173,192 ----
- REORDERING TAB PAGES:
-
- :tabm[ove] [N] *:tabm* *:tabmove*
-+ :[N]tabm[ove]
- Move the current tab page to after tab page N. Use zero to
- make the current tab page the first one. Without N the tab
- page is made the last one.
-
-+ :tabm[ove] +[N]
-+ :tabm[ove] -[N]
-+ Move the current tab page N places to the right (with +) or to
-+ the left (with -).
-+
-+ Note that although it is possible to move a tab behind the N-th one by using
-+ :Ntabmove, it is impossible to move it by N places by using :+Ntabmove. For
-+ clarification what +N means in this context see |[range]|.
-+
-
- LOOPING OVER TAB PAGES:
-
-*** ../vim-7.3.590/src/ex_cmds.h 2012-05-18 18:47:11.000000000 +0200
---- src/ex_cmds.h 2012-07-06 18:10:13.000000000 +0200
-***************
-*** 944,950 ****
- EX(CMD_tabfirst, "tabfirst", ex_tabnext,
- TRLBAR),
- EX(CMD_tabmove, "tabmove", ex_tabmove,
-! RANGE|NOTADR|ZEROR|COUNT|TRLBAR|ZEROR),
- EX(CMD_tablast, "tablast", ex_tabnext,
- TRLBAR),
- EX(CMD_tabnext, "tabnext", ex_tabnext,
---- 944,950 ----
- EX(CMD_tabfirst, "tabfirst", ex_tabnext,
- TRLBAR),
- EX(CMD_tabmove, "tabmove", ex_tabmove,
-! RANGE|NOTADR|ZEROR|EXTRA|NOSPC|TRLBAR),
- EX(CMD_tablast, "tablast", ex_tabnext,
- TRLBAR),
- EX(CMD_tabnext, "tabnext", ex_tabnext,
-*** ../vim-7.3.590/src/ex_docmd.c 2012-06-06 19:02:40.000000000 +0200
---- src/ex_docmd.c 2012-07-06 18:16:25.000000000 +0200
-***************
-*** 7478,7484 ****
- ex_tabmove(eap)
- exarg_T *eap;
- {
-! tabpage_move(eap->addr_count == 0 ? 9999 : (int)eap->line2);
- }
-
- /*
---- 7478,7519 ----
- ex_tabmove(eap)
- exarg_T *eap;
- {
-! int tab_number = 9999;
-!
-! if (eap->arg && *eap->arg != NUL)
-! {
-! char_u *p = eap->arg;
-! int relative = 0; /* argument +N/-N means: move N places to the
-! * right/left relative to the current position. */
-!
-! if (*eap->arg == '-')
-! {
-! relative = -1;
-! p = eap->arg + 1;
-! }
-! else if (*eap->arg == '+')
-! {
-! relative = 1;
-! p = eap->arg + 1;
-! }
-! else
-! p = eap->arg;
-!
-! if (p == skipdigits(p))
-! {
-! /* No numbers as argument. */
-! eap->errmsg = e_invarg;
-! return;
-! }
-!
-! tab_number = getdigits(&p);
-! if (relative != 0)
-! tab_number = tab_number * relative + tabpage_index(curtab) - 1;;
-! }
-! else if (eap->addr_count != 0)
-! tab_number = eap->line2;
-!
-! tabpage_move(tab_number);
- }
-
- /*
-*** ../vim-7.3.590/src/testdir/test62.in 2012-03-07 22:55:17.000000000 +0100
---- src/testdir/test62.in 2012-07-06 18:10:13.000000000 +0200
-***************
-*** 93,98 ****
---- 93,126 ----
- :endif
- :"
- :"
-+ :for i in range(9) | tabnew | endfor
-+ 1gt
-+ Go=tabpagenr() 
-+ :tabmove 5
-+ i=tabpagenr() 
-+ :tabmove -2
-+ i=tabpagenr() 
-+ :tabmove +4
-+ i=tabpagenr() 
-+ :tabmove
-+ i=tabpagenr() 
-+ :tabmove -20
-+ i=tabpagenr() 
-+ :tabmove +20
-+ i=tabpagenr() 
-+ :3tabmove
-+ i=tabpagenr() 
-+ :7tabmove 5
-+ i=tabpagenr() 
-+ :let a='No error caught.'
-+ :try
-+ :tabmove foo
-+ :catch E474
-+ :let a='E474 caught.'
-+ :endtry
-+ i=a 
-+ :"
-+ :"
- :/^Results/,$w! test.out
- :qa!
- ENDTEST
-*** ../vim-7.3.590/src/testdir/test62.ok 2012-02-22 19:13:00.000000000 +0100
---- src/testdir/test62.ok 2012-07-06 18:10:13.000000000 +0200
-***************
-*** 8,10 ****
---- 8,20 ----
- tab drop 1: pass
- tab drop 2: pass
- tab drop 3: pass
-+ 1
-+ 6
-+ 4
-+ 8
-+ 10
-+ 1
-+ 10
-+ 4
-+ 6
-+ E474 caught.
-*** ../vim-7.3.590/src/window.c 2012-07-06 16:39:43.000000000 +0200
---- src/window.c 2012-07-06 18:10:13.000000000 +0200
-***************
-*** 3929,3935 ****
- }
-
- /* Re-insert it at the specified position. */
-! if (n == 0)
- {
- curtab->tp_next = first_tabpage;
- first_tabpage = curtab;
---- 3929,3935 ----
- }
-
- /* Re-insert it at the specified position. */
-! if (n <= 0)
- {
- curtab->tp_next = first_tabpage;
- first_tabpage = curtab;
-*** ../vim-7.3.590/src/version.c 2012-07-06 17:51:24.000000000 +0200
---- src/version.c 2012-07-06 18:11:08.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 591,
- /**/
-
---
-Bare feet magnetize sharp metal objects so they point upward from the
-floor -- especially in the dark.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.592 b/source/ap/vim/patches/7.3.592
deleted file mode 100644
index be13ef744..000000000
--- a/source/ap/vim/patches/7.3.592
+++ /dev/null
@@ -1,126 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.592
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.592
-Problem: Vim on GTK does not support g:browsefilter.
-Solution: Add a GtkFileFilter to the file chooser. (Christian Brabandt)
-Files: src/gui_gtk.c
-
-
-*** ../vim-7.3.591/src/gui_gtk.c 2012-06-06 16:14:36.000000000 +0200
---- src/gui_gtk.c 2012-07-10 13:08:06.000000000 +0200
-***************
-*** 840,846 ****
- char_u *dflt,
- char_u *ext UNUSED,
- char_u *initdir,
-! char_u *filter UNUSED)
- {
- #ifdef USE_FILE_CHOOSER
- GtkWidget *fc;
---- 840,846 ----
- char_u *dflt,
- char_u *ext UNUSED,
- char_u *initdir,
-! char_u *filter)
- {
- #ifdef USE_FILE_CHOOSER
- GtkWidget *fc;
-***************
-*** 848,853 ****
---- 848,854 ----
- char_u dirbuf[MAXPATHL];
- guint log_handler;
- const gchar *domain = "Gtk";
-+ GtkFileFilter *gfilter;
-
- title = CONVERT_TO_UTF8(title);
-
-***************
-*** 879,884 ****
---- 880,924 ----
- NULL);
- gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(fc),
- (const gchar *)dirbuf);
-+
-+ if (filter != NULL && *filter != NUL)
-+ {
-+ int i = 0;
-+ char_u *patt;
-+ char_u *p = filter;
-+
-+ gfilter = gtk_file_filter_new();
-+ patt = alloc(STRLEN(filter));
-+ while (p != NULL && *p != NUL)
-+ {
-+ if (*p == '\n' || *p == ';' || *p == '\t')
-+ {
-+ STRNCPY(patt, filter, i);
-+ patt[i] = '\0';
-+ if (*p == '\t')
-+ gtk_file_filter_set_name(gfilter, (gchar *)patt);
-+ else
-+ {
-+ gtk_file_filter_add_pattern(gfilter, (gchar *)patt);
-+ if (*p == '\n')
-+ {
-+ gtk_file_chooser_add_filter((GtkFileChooser *)fc,
-+ gfilter);
-+ if (*(p + 1) != NUL)
-+ gfilter = gtk_file_filter_new();
-+ }
-+ }
-+ filter = ++p;
-+ i = 0;
-+ }
-+ else
-+ {
-+ p++;
-+ i++;
-+ }
-+ }
-+ vim_free(patt);
-+ }
- if (saving && dflt != NULL && *dflt != NUL)
- gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(fc), (char *)dflt);
-
-***************
-*** 1304,1310 ****
- gtk_widget_show(entry);
-
- /* Make Enter work like pressing OK. */
-! gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE);
-
- text = CONVERT_TO_UTF8(textfield);
- gtk_entry_set_text(GTK_ENTRY(entry), (const char *)text);
---- 1344,1350 ----
- gtk_widget_show(entry);
-
- /* Make Enter work like pressing OK. */
-! gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE);
-
- text = CONVERT_TO_UTF8(textfield);
- gtk_entry_set_text(GTK_ENTRY(entry), (const char *)text);
-*** ../vim-7.3.591/src/version.c 2012-07-06 18:27:34.000000000 +0200
---- src/version.c 2012-07-10 13:00:29.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 592,
- /**/
-
---
-To be rich is not the end, but only a change of worries.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.593 b/source/ap/vim/patches/7.3.593
deleted file mode 100644
index b8f26748f..000000000
--- a/source/ap/vim/patches/7.3.593
+++ /dev/null
@@ -1,81 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.593
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.593
-Problem: No easy way to decide if b:browsefilter will work.
-Solution: Add the browsefilter feature.
-Files: src/gui_gtk.c, src/eval.c, src/vim.h
-
-
-*** ../vim-7.3.592/src/gui_gtk.c 2012-07-10 13:12:46.000000000 +0200
---- src/gui_gtk.c 2012-07-10 13:40:38.000000000 +0200
-***************
-*** 779,787 ****
- /*
- * Implementation of the file selector related stuff
- */
-- #if GTK_CHECK_VERSION(2,4,0)
-- # define USE_FILE_CHOOSER
-- #endif
-
- #ifndef USE_FILE_CHOOSER
- static void
---- 779,784 ----
-*** ../vim-7.3.592/src/eval.c 2012-06-29 12:54:32.000000000 +0200
---- src/eval.c 2012-07-10 13:34:10.000000000 +0200
-***************
-*** 12044,12049 ****
---- 12044,12054 ----
- "all_builtin_terms",
- # endif
- #endif
-+ #if defined(FEAT_BROWSE) && (defined(USE_FILE_CHOOSER) \
-+ || defined(FEAT_GUI_W32) \
-+ || defined(FEAT_GUI_MOTIF))
-+ "browsefilter",
-+ #endif
- #ifdef FEAT_BYTEOFF
- "byte_offset",
- #endif
-*** ../vim-7.3.592/src/vim.h 2012-06-13 17:28:51.000000000 +0200
---- src/vim.h 2012-07-10 13:30:44.000000000 +0200
-***************
-*** 2125,2130 ****
---- 2125,2136 ----
- # endif
- #endif
-
-+ #if defined(FEAT_BROWSE) && defined(GTK_CHECK_VERSION)
-+ # if GTK_CHECK_VERSION(2,4,0)
-+ # define USE_FILE_CHOOSER
-+ # endif
-+ #endif
-+
- #ifndef FEAT_NETBEANS_INTG
- # undef NBDEBUG
- #endif
-*** ../vim-7.3.592/src/version.c 2012-07-10 13:12:46.000000000 +0200
---- src/version.c 2012-07-10 13:34:50.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 593,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-102. When filling out your driver's license application, you give
- your IP address.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.594 b/source/ap/vim/patches/7.3.594
deleted file mode 100644
index 3f7d3b261..000000000
--- a/source/ap/vim/patches/7.3.594
+++ /dev/null
@@ -1,171 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.594
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.594
-Problem: The X command server doesn't work perfectly. It sends an empty
- reply for as-keys requests.
-Solution: Remove duplicate ga_init2(). Do not send a reply for as-keys
- requests. (Brian Burns)
-Files: src/if_xcmdsrv.c
-
-
-*** ../vim-7.3.593/src/if_xcmdsrv.c 2010-08-15 21:57:27.000000000 +0200
---- src/if_xcmdsrv.c 2012-07-10 14:15:59.000000000 +0200
-***************
-*** 655,661 ****
- if (SendInit(dpy) < 0)
- return NULL;
- }
-- ga_init2(&ga, 1, 100);
-
- /*
- * Read the registry property.
---- 655,660 ----
-***************
-*** 1198,1206 ****
- if ((*p == 'c' || *p == 'k') && (p[1] == 0))
- {
- Window resWindow;
-! char_u *name, *script, *serial, *end, *res;
- Bool asKeys = *p == 'k';
-- garray_T reply;
- char_u *enc;
-
- /*
---- 1197,1204 ----
- if ((*p == 'c' || *p == 'k') && (p[1] == 0))
- {
- Window resWindow;
-! char_u *name, *script, *serial, *end;
- Bool asKeys = *p == 'k';
- char_u *enc;
-
- /*
-***************
-*** 1256,1305 ****
- if (script == NULL || name == NULL)
- continue;
-
-! /*
-! * Initialize the result property, so that we're ready at any
-! * time if we need to return an error.
-! */
-! if (resWindow != None)
-! {
-! ga_init2(&reply, 1, 100);
- #ifdef FEAT_MBYTE
-! ga_grow(&reply, 50 + STRLEN(p_enc));
-! sprintf(reply.ga_data, "%cr%c-E %s%c-s %s%c-r ",
- 0, 0, p_enc, 0, serial, 0);
-! reply.ga_len = 14 + STRLEN(p_enc) + STRLEN(serial);
- #else
-! ga_grow(&reply, 50);
-! sprintf(reply.ga_data, "%cr%c-s %s%c-r ", 0, 0, serial, 0);
-! reply.ga_len = 10 + STRLEN(serial);
- #endif
-! }
-! res = NULL;
-! if (serverName != NULL && STRICMP(name, serverName) == 0)
-! {
-! script = serverConvert(enc, script, &tofree);
-! if (asKeys)
-! server_to_input_buf(script);
-! else
-! res = eval_client_expr_to_string(script);
-! vim_free(tofree);
-! }
-! if (resWindow != None)
-! {
-! if (res != NULL)
-! ga_concat(&reply, res);
-! else if (asKeys == 0)
-! {
-! ga_concat(&reply, (char_u *)_(e_invexprmsg));
-! ga_append(&reply, 0);
-! ga_concat(&reply, (char_u *)"-c 1");
-! }
-! ga_append(&reply, NUL);
-! (void)AppendPropCarefully(dpy, resWindow, commProperty,
-! reply.ga_data, reply.ga_len);
-! ga_clear(&reply);
-! }
-! vim_free(res);
- }
- else if (*p == 'r' && p[1] == 0)
- {
---- 1254,1305 ----
- if (script == NULL || name == NULL)
- continue;
-
-! if (serverName != NULL && STRICMP(name, serverName) == 0)
-! {
-! script = serverConvert(enc, script, &tofree);
-! if (asKeys)
-! server_to_input_buf(script);
-! else
-! {
-! char_u *res;
-!
-! res = eval_client_expr_to_string(script);
-! if (resWindow != None)
-! {
-! garray_T reply;
-!
-! /* Initialize the result property. */
-! ga_init2(&reply, 1, 100);
- #ifdef FEAT_MBYTE
-! ga_grow(&reply, 50 + STRLEN(p_enc));
-! sprintf(reply.ga_data, "%cr%c-E %s%c-s %s%c-r ",
- 0, 0, p_enc, 0, serial, 0);
-! reply.ga_len = 14 + STRLEN(p_enc) + STRLEN(serial);
- #else
-! ga_grow(&reply, 50);
-! sprintf(reply.ga_data, "%cr%c-s %s%c-r ",
-! 0, 0, serial, 0);
-! reply.ga_len = 10 + STRLEN(serial);
- #endif
-!
-! /* Evaluate the expression and return the result. */
-! if (res != NULL)
-! ga_concat(&reply, res);
-! else
-! {
-! ga_concat(&reply, (char_u *)_(e_invexprmsg));
-! ga_append(&reply, 0);
-! ga_concat(&reply, (char_u *)"-c 1");
-! }
-! ga_append(&reply, NUL);
-! (void)AppendPropCarefully(dpy, resWindow, commProperty,
-! reply.ga_data, reply.ga_len);
-! ga_clear(&reply);
-! }
-! vim_free(res);
-! }
-! vim_free(tofree);
-! }
- }
- else if (*p == 'r' && p[1] == 0)
- {
-*** ../vim-7.3.593/src/version.c 2012-07-10 13:41:09.000000000 +0200
---- src/version.c 2012-07-10 14:17:50.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 594,
- /**/
-
---
-A meeting is an event at which the minutes are kept and the hours are lost.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.595 b/source/ap/vim/patches/7.3.595
deleted file mode 100644
index 0fc9b522e..000000000
--- a/source/ap/vim/patches/7.3.595
+++ /dev/null
@@ -1,154 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.595
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.595
-Problem: The X command server responds slowly
-Solution: Change the loop that waits for replies. (Brian Burns)
-Files: src/if_xcmdsrv.c
-
-
-*** ../vim-7.3.594/src/if_xcmdsrv.c 2012-07-10 14:25:00.000000000 +0200
---- src/if_xcmdsrv.c 2012-07-10 14:44:13.000000000 +0200
-***************
-*** 572,632 ****
- {
- time_t start;
- time_t now;
-- time_t lastChk = 0;
- XEvent event;
-! XPropertyEvent *e = (XPropertyEvent *)&event;
-! # define SEND_MSEC_POLL 50
-
- time(&start);
-! while (endCond(endData) == 0)
- {
- time(&now);
- if (seconds >= 0 && (now - start) >= seconds)
- break;
-! if (now != lastChk)
-! {
-! lastChk = now;
-! if (!WindowValid(dpy, w))
-! break;
-! /*
-! * Sometimes the PropertyChange event doesn't come.
-! * This can be seen in eg: vim -c 'echo remote_expr("gvim", "3+2")'
-! */
-! serverEventProc(dpy, NULL);
-! }
- if (localLoop)
- {
-- /* Just look out for the answer without calling back into Vim */
- #ifndef HAVE_SELECT
-- struct pollfd fds;
--
-- fds.fd = ConnectionNumber(dpy);
-- fds.events = POLLIN;
- if (poll(&fds, 1, SEND_MSEC_POLL) < 0)
- break;
- #else
-! fd_set fds;
-! struct timeval tv;
-!
-! tv.tv_sec = 0;
-! tv.tv_usec = SEND_MSEC_POLL * 1000;
-! FD_ZERO(&fds);
-! FD_SET(ConnectionNumber(dpy), &fds);
-! if (select(ConnectionNumber(dpy) + 1, &fds, NULL, NULL, &tv) < 0)
- break;
- #endif
-- while (XEventsQueued(dpy, QueuedAfterReading) > 0)
-- {
-- XNextEvent(dpy, &event);
-- if (event.type == PropertyNotify && e->window == commWindow)
-- serverEventProc(dpy, &event);
-- }
- }
- else
- {
- if (got_int)
- break;
-! ui_delay((long)SEND_MSEC_POLL, TRUE);
- ui_breakcheck();
- }
- }
---- 572,626 ----
- {
- time_t start;
- time_t now;
- XEvent event;
-!
-! #define UI_MSEC_DELAY 50
-! #define SEND_MSEC_POLL 500
-! #ifndef HAVE_SELECT
-! struct pollfd fds;
-!
-! fds.fd = ConnectionNumber(dpy);
-! fds.events = POLLIN;
-! #else
-! fd_set fds;
-! struct timeval tv;
-!
-! tv.tv_sec = 0;
-! tv.tv_usec = SEND_MSEC_POLL * 1000;
-! FD_ZERO(&fds);
-! FD_SET(ConnectionNumber(dpy), &fds);
-! #endif
-
- time(&start);
-! while (TRUE)
- {
-+ while (XCheckWindowEvent(dpy, commWindow, PropertyChangeMask, &event))
-+ serverEventProc(dpy, &event);
-+
-+ if (endCond(endData) != 0)
-+ break;
-+ if (!WindowValid(dpy, w))
-+ break;
- time(&now);
- if (seconds >= 0 && (now - start) >= seconds)
- break;
-!
-! /* Just look out for the answer without calling back into Vim */
- if (localLoop)
- {
- #ifndef HAVE_SELECT
- if (poll(&fds, 1, SEND_MSEC_POLL) < 0)
- break;
- #else
-! if (select(FD_SETSIZE, &fds, NULL, NULL, &tv) < 0)
- break;
- #endif
- }
- else
- {
- if (got_int)
- break;
-! ui_delay((long)UI_MSEC_DELAY, TRUE);
- ui_breakcheck();
- }
- }
-*** ../vim-7.3.594/src/version.c 2012-07-10 14:25:00.000000000 +0200
---- src/version.c 2012-07-10 14:52:16.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 595,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-104. When people ask about the Presidential Election you ask "Which country?"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.596 b/source/ap/vim/patches/7.3.596
deleted file mode 100644
index 59513b2b2..000000000
--- a/source/ap/vim/patches/7.3.596
+++ /dev/null
@@ -1,171 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.596
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.596
-Problem: Can't remove all signs for a file or buffer.
-Solution: Support "*" for the sign id. (Christian Brabandt)
-Files: runtime/doc/sign.txt, src/buffer.c, src/ex_cmds.c,
- src/proto/buffer.pro
-
-
-*** ../vim-7.3.595/runtime/doc/sign.txt 2010-08-15 21:57:17.000000000 +0200
---- runtime/doc/sign.txt 2012-07-10 15:05:19.000000000 +0200
-***************
-*** 150,157 ****
- Remove the previously placed sign {id} from file {fname}.
- See remark above about {fname} |:sign-fname|.
-
- :sign unplace {id} buffer={nr}
-! Same, but use buffer {nr}.
-
- :sign unplace {id}
- Remove the previously placed sign {id} from all files it
---- 153,166 ----
- Remove the previously placed sign {id} from file {fname}.
- See remark above about {fname} |:sign-fname|.
-
-+ :sign unplace * file={fname}
-+ Remove all placed signs in file {fname}.
-+
- :sign unplace {id} buffer={nr}
-! Remove the previously placed sign {id} from buffer {nr}.
-!
-! :sign unplace * buffer={nr}
-! Remove all placed signs in buffer {nr}.
-
- :sign unplace {id}
- Remove the previously placed sign {id} from all files it
-*** ../vim-7.3.595/src/buffer.c 2012-07-06 16:21:58.000000000 +0200
---- src/buffer.c 2012-07-10 15:06:05.000000000 +0200
-***************
-*** 57,63 ****
-
- #if defined(FEAT_SIGNS)
- static void insert_sign __ARGS((buf_T *buf, signlist_T *prev, signlist_T *next, int id, linenr_T lnum, int typenr));
-- static void buf_delete_signs __ARGS((buf_T *buf));
- #endif
-
- #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
---- 57,62 ----
-***************
-*** 5537,5543 ****
- /*
- * Delete signs in buffer "buf".
- */
-! static void
- buf_delete_signs(buf)
- buf_T *buf;
- {
---- 5536,5542 ----
- /*
- * Delete signs in buffer "buf".
- */
-! void
- buf_delete_signs(buf)
- buf_T *buf;
- {
-*** ../vim-7.3.595/src/ex_cmds.c 2012-05-18 16:24:06.000000000 +0200
---- src/ex_cmds.c 2012-07-10 15:14:22.000000000 +0200
-***************
-*** 6997,7002 ****
---- 6997,7012 ----
- lnum = atoi((char *)arg);
- arg = skiptowhite(arg);
- }
-+ else if (STRNCMP(arg, "*", 1) == 0 && idx == SIGNCMD_UNPLACE)
-+ {
-+ if (id != -1)
-+ {
-+ EMSG(_(e_invarg));
-+ return;
-+ }
-+ id = -2;
-+ arg = skiptowhite(arg + 1);
-+ }
- else if (STRNCMP(arg, "name=", 5) == 0)
- {
- arg += 5;
-***************
-*** 7033,7039 ****
- {
- EMSG2(_("E158: Invalid buffer name: %s"), arg);
- }
-! else if (id <= 0)
- {
- if (lnum >= 0 || sign_name != NULL)
- EMSG(_(e_invarg));
---- 7043,7049 ----
- {
- EMSG2(_("E158: Invalid buffer name: %s"), arg);
- }
-! else if (id <= 0 && !(idx == SIGNCMD_UNPLACE && id == -2))
- {
- if (lnum >= 0 || sign_name != NULL)
- EMSG(_(e_invarg));
-***************
-*** 7074,7084 ****
- }
- else if (idx == SIGNCMD_UNPLACE)
- {
-- /* ":sign unplace {id} file={fname}" */
- if (lnum >= 0 || sign_name != NULL)
- EMSG(_(e_invarg));
- else
- {
- lnum = buf_delsign(buf, id);
- update_debug_sign(buf, lnum);
- }
---- 7084,7100 ----
- }
- else if (idx == SIGNCMD_UNPLACE)
- {
- if (lnum >= 0 || sign_name != NULL)
- EMSG(_(e_invarg));
-+ else if (id == -2)
-+ {
-+ /* ":sign unplace * file={fname}" */
-+ redraw_buf_later(buf, NOT_VALID);
-+ buf_delete_signs(buf);
-+ }
- else
- {
-+ /* ":sign unplace {id} file={fname}" */
- lnum = buf_delsign(buf, id);
- update_debug_sign(buf, lnum);
- }
-*** ../vim-7.3.595/src/proto/buffer.pro 2012-02-22 14:58:24.000000000 +0100
---- src/proto/buffer.pro 2012-07-10 15:06:10.000000000 +0200
-***************
-*** 60,65 ****
---- 60,66 ----
- int buf_findsign_id __ARGS((buf_T *buf, linenr_T lnum));
- int buf_findsigntype_id __ARGS((buf_T *buf, linenr_T lnum, int typenr));
- int buf_signcount __ARGS((buf_T *buf, linenr_T lnum));
-+ void buf_delete_signs __ARGS((buf_T *buf));
- void buf_delete_all_signs __ARGS((void));
- void sign_list_placed __ARGS((buf_T *rbuf));
- void sign_mark_adjust __ARGS((linenr_T line1, linenr_T line2, long amount, long amount_after));
-*** ../vim-7.3.595/src/version.c 2012-07-10 14:56:42.000000000 +0200
---- src/version.c 2012-07-10 15:16:40.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 596,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-105. When someone asks you for your address, you tell them your URL.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.597 b/source/ap/vim/patches/7.3.597
deleted file mode 100644
index 2a4f0b3d7..000000000
--- a/source/ap/vim/patches/7.3.597
+++ /dev/null
@@ -1,720 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.597
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.597
-Problem: 'clipboard' "autoselect" only applies to the * register. (Sergey
- Vakulenko)
-Solution: Make 'autoselect' work for the + register. (Christian Brabant)
- Add the "autoselectplus" option in 'clipboard' and the "P" flag in
- 'guioptions'.
-Files: runtime/doc/options.txt, src/normal.c, src/ops.c, src/screen.c,
- src/ui.c, src/globals.h, src/proto/ui.pro, src/option.h, src/gui.c
-
-
-*** ../vim-7.3.596/runtime/doc/options.txt 2012-02-20 22:18:23.000000000 +0100
---- runtime/doc/options.txt 2012-07-10 15:40:35.000000000 +0200
-***************
-*** 1437,1442 ****
---- 1452,1458 ----
- This option is a list of comma separated names.
- These names are recognized:
-
-+ *clipboard-unnamed*
- unnamed When included, Vim will use the clipboard register '*'
- for all yank, delete, change and put operations which
- would normally go to the unnamed register. When a
-***************
-*** 1446,1460 ****
- explicitly accessed using the "* notation. Also see
- |gui-clipboard|.
-
- unnamedplus A variant of "unnamed" flag which uses the clipboard
- register '+' (|quoteplus|) instead of register '*' for
- all operations except yank. Yank shall copy the text
- into register '+' and also into '*' when "unnamed" is
- included.
-! Only available with the |+x11| feature.
- Availability can be checked with: >
- if has('unnamedplus')
- <
- autoselect Works like the 'a' flag in 'guioptions': If present,
- then whenever Visual mode is started, or the Visual
- area extended, Vim tries to become the owner of the
---- 1462,1478 ----
- explicitly accessed using the "* notation. Also see
- |gui-clipboard|.
-
-+ *clipboard-unnamedplus*
- unnamedplus A variant of "unnamed" flag which uses the clipboard
- register '+' (|quoteplus|) instead of register '*' for
- all operations except yank. Yank shall copy the text
- into register '+' and also into '*' when "unnamed" is
- included.
-! Only available with the |+X11| feature.
- Availability can be checked with: >
- if has('unnamedplus')
- <
-+ *clipboard-autoselect*
- autoselect Works like the 'a' flag in 'guioptions': If present,
- then whenever Visual mode is started, or the Visual
- area extended, Vim tries to become the owner of the
-***************
-*** 1466,1474 ****
---- 1484,1499 ----
- "autoselect" flag is used.
- Also applies to the modeless selection.
-
-+ *clipboard-autoselectplus*
-+ autoselectplus Like "autoselect" but using the + register instead of
-+ the * register. Compare to the 'P' flag in
-+ 'guioptions'.
-+
-+ *clipboard-autoselectml*
- autoselectml Like "autoselect", but for the modeless selection
- only. Compare to the 'A' flag in 'guioptions'.
-
-+ *clipboard-html*
- html When the clipboard contains HTML, use this when
- pasting. When putting text on the clipboard, mark it
- as HTML. This works to copy rendered HTML from
-***************
-*** 1479,1484 ****
---- 1504,1510 ----
- Only supported for GTK version 2 and later.
- Only available with the |+multi_byte| feature.
-
-+ *clipboard-exclude*
- exclude:{pattern}
- Defines a pattern that is matched against the name of
- the terminal 'term'. If there is a match, no
-***************
-*** 3547,3552 ****
---- 3600,3608 ----
- windowing system's global selection unless explicitly told to
- by a yank or delete operation for the "* register.
- The same applies to the modeless selection.
-+ *'go-P'*
-+ 'P' Like autoselect but using the "+ register instead of the "*
-+ register.
- *'go-A'*
- 'A' Autoselect for the modeless selection. Like 'a', but only
- applies to the modeless selection.
-*** ../vim-7.3.596/src/normal.c 2012-06-29 13:56:01.000000000 +0200
---- src/normal.c 2012-07-10 15:44:24.000000000 +0200
-***************
-*** 1451,1457 ****
- * This could call do_pending_operator() recursively, but that's OK
- * because gui_yank will be TRUE for the nested call.
- */
-! if (clip_star.available
- && oap->op_type != OP_NOP
- && !gui_yank
- # ifdef FEAT_VISUAL
---- 1451,1457 ----
- * This could call do_pending_operator() recursively, but that's OK
- * because gui_yank will be TRUE for the nested call.
- */
-! if ((clip_star.available || clip_plus.available)
- && oap->op_type != OP_NOP
- && !gui_yank
- # ifdef FEAT_VISUAL
-*** ../vim-7.3.596/src/ops.c 2012-06-29 13:34:15.000000000 +0200
---- src/ops.c 2012-07-10 16:20:29.000000000 +0200
-***************
-*** 962,969 ****
- * selection too. */
- if (name == '*' && clip_star.available)
- {
-! if (clip_isautosel())
-! clip_update_selection();
- may_get_selection(name);
- }
- #endif
---- 962,975 ----
- * selection too. */
- if (name == '*' && clip_star.available)
- {
-! if (clip_isautosel_star())
-! clip_update_selection(&clip_star);
-! may_get_selection(name);
-! }
-! if (name == '+' && clip_plus.available)
-! {
-! if (clip_isautosel_plus())
-! clip_update_selection(&clip_plus);
- may_get_selection(name);
- }
- #endif
-***************
-*** 3190,3196 ****
-
- clip_own_selection(&clip_plus);
- clip_gen_set_selection(&clip_plus);
-! if (!clip_isautosel() && !did_star && curr == &(y_regs[PLUS_REGISTER]))
- {
- copy_yank_reg(&(y_regs[STAR_REGISTER]));
- clip_own_selection(&clip_star);
---- 3196,3203 ----
-
- clip_own_selection(&clip_plus);
- clip_gen_set_selection(&clip_plus);
-! if (!clip_isautosel_star() && !did_star
-! && curr == &(y_regs[PLUS_REGISTER]))
- {
- copy_yank_reg(&(y_regs[STAR_REGISTER]));
- clip_own_selection(&clip_star);
-*** ../vim-7.3.596/src/screen.c 2012-06-13 18:06:32.000000000 +0200
---- src/screen.c 2012-07-10 16:39:01.000000000 +0200
-***************
-*** 519,526 ****
- # endif
- # ifdef FEAT_CLIPBOARD
- /* When Visual area changed, may have to update selection. */
-! if (clip_star.available && clip_isautosel())
-! clip_update_selection();
- # endif
- #ifdef FEAT_GUI
- /* Remove the cursor before starting to do anything, because
---- 519,528 ----
- # endif
- # ifdef FEAT_CLIPBOARD
- /* When Visual area changed, may have to update selection. */
-! if (clip_star.available && clip_isautosel_star())
-! clip_update_selection(&clip_star);
-! if (clip_plus.available && clip_isautosel_plus())
-! clip_update_selection(&clip_plus);
- # endif
- #ifdef FEAT_GUI
- /* Remove the cursor before starting to do anything, because
-***************
-*** 814,821 ****
-
- #ifdef FEAT_CLIPBOARD
- /* When Visual area changed, may have to update selection. */
-! if (clip_star.available && clip_isautosel())
-! clip_update_selection();
- #endif
-
- win_update(wp);
---- 816,825 ----
-
- #ifdef FEAT_CLIPBOARD
- /* When Visual area changed, may have to update selection. */
-! if (clip_star.available && clip_isautosel_star())
-! clip_update_selection(&clip_star);
-! if (clip_plus.available && clip_isautosel_plus())
-! clip_update_selection(&clip_plus);
- #endif
-
- win_update(wp);
-***************
-*** 3000,3006 ****
- area_highlighting = TRUE;
- attr = hl_attr(HLF_V);
- #if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
-! if (clip_star.available && !clip_star.owned && clip_isautosel())
- attr = hl_attr(HLF_VNC);
- #endif
- }
---- 3004,3013 ----
- area_highlighting = TRUE;
- attr = hl_attr(HLF_V);
- #if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
-! if ((clip_star.available && !clip_star.owned
-! && clip_isautosel_star())
-! || (clip_plus.available && !clip_plus.owned
-! && clip_isautosel_plus()))
- attr = hl_attr(HLF_VNC);
- #endif
- }
-***************
-*** 9060,9066 ****
- || (wp != NULL && wp->w_width != Columns)
- # endif
- )
-! clip_clear_selection();
- else
- clip_scroll_selection(-line_count);
- #endif
---- 9067,9073 ----
- || (wp != NULL && wp->w_width != Columns)
- # endif
- )
-! clip_clear_selection(&clip_star);
- else
- clip_scroll_selection(-line_count);
- #endif
-***************
-*** 9281,9287 ****
- || (wp != NULL && wp->w_width != Columns)
- # endif
- )
-! clip_clear_selection();
- else
- clip_scroll_selection(line_count);
- #endif
---- 9288,9294 ----
- || (wp != NULL && wp->w_width != Columns)
- # endif
- )
-! clip_clear_selection(&clip_star);
- else
- clip_scroll_selection(line_count);
- #endif
-*** ../vim-7.3.596/src/ui.c 2012-02-12 01:35:06.000000000 +0100
---- src/ui.c 2012-07-10 16:43:17.000000000 +0200
-***************
-*** 381,386 ****
---- 381,388 ----
-
- #if defined(FEAT_CLIPBOARD) || defined(PROTO)
-
-+ static void clip_copy_selection __ARGS((VimClipboard *clip));
-+
- /*
- * Selection stuff using Visual mode, for cutting and pasting text to other
- * windows.
-***************
-*** 423,431 ****
- * this is called whenever VIsual mode is ended.
- */
- void
-! clip_update_selection()
- {
-! pos_T start, end;
-
- /* If visual mode is only due to a redo command ("."), then ignore it */
- if (!redo_VIsual_busy && VIsual_active && (State & NORMAL))
---- 425,434 ----
- * this is called whenever VIsual mode is ended.
- */
- void
-! clip_update_selection(clip)
-! VimClipboard *clip;
- {
-! pos_T start, end;
-
- /* If visual mode is only due to a redo command ("."), then ignore it */
- if (!redo_VIsual_busy && VIsual_active && (State & NORMAL))
-***************
-*** 444,460 ****
- start = curwin->w_cursor;
- end = VIsual;
- }
-! if (!equalpos(clip_star.start, start)
-! || !equalpos(clip_star.end, end)
-! || clip_star.vmode != VIsual_mode)
- {
-! clip_clear_selection();
-! clip_star.start = start;
-! clip_star.end = end;
-! clip_star.vmode = VIsual_mode;
-! clip_free_selection(&clip_star);
-! clip_own_selection(&clip_star);
-! clip_gen_set_selection(&clip_star);
- }
- }
- }
---- 447,463 ----
- start = curwin->w_cursor;
- end = VIsual;
- }
-! if (!equalpos(clip->start, start)
-! || !equalpos(clip->end, end)
-! || clip->vmode != VIsual_mode)
- {
-! clip_clear_selection(clip);
-! clip->start = start;
-! clip->end = end;
-! clip->vmode = VIsual_mode;
-! clip_free_selection(clip);
-! clip_own_selection(clip);
-! clip_gen_set_selection(clip);
- }
- }
- }
-***************
-*** 475,481 ****
- int was_owned = cbd->owned;
-
- cbd->owned = (clip_gen_own_selection(cbd) == OK);
-! if (!was_owned && cbd == &clip_star)
- {
- /* May have to show a different kind of highlighting for the
- * selected area. There is no specific redraw command for this,
---- 478,484 ----
- int was_owned = cbd->owned;
-
- cbd->owned = (clip_gen_own_selection(cbd) == OK);
-! if (!was_owned && (cbd == &clip_star || cbd == &clip_plus))
- {
- /* May have to show a different kind of highlighting for the
- * selected area. There is no specific redraw command for this,
-***************
-*** 483,489 ****
- if (cbd->owned
- && (get_real_state() == VISUAL
- || get_real_state() == SELECTMODE)
-! && clip_isautosel()
- && hl_attr(HLF_V) != hl_attr(HLF_VNC))
- redraw_curbuf_later(INVERTED_ALL);
- }
---- 486,493 ----
- if (cbd->owned
- && (get_real_state() == VISUAL
- || get_real_state() == SELECTMODE)
-! && (cbd == &clip_star ? clip_isautosel_star()
-! : clip_isautosel_plus())
- && hl_attr(HLF_V) != hl_attr(HLF_VNC))
- redraw_curbuf_later(INVERTED_ALL);
- }
-***************
-*** 502,513 ****
- #ifdef FEAT_X11
- int was_owned = cbd->owned;
- #endif
-! int visual_selection = (cbd == &clip_star);
-
- clip_free_selection(cbd);
- cbd->owned = FALSE;
- if (visual_selection)
-! clip_clear_selection();
- clip_gen_lose_selection(cbd);
- #ifdef FEAT_X11
- if (visual_selection)
---- 506,520 ----
- #ifdef FEAT_X11
- int was_owned = cbd->owned;
- #endif
-! int visual_selection = FALSE;
-!
-! if (cbd == &clip_star || cbd == &clip_plus)
-! visual_selection = TRUE;
-
- clip_free_selection(cbd);
- cbd->owned = FALSE;
- if (visual_selection)
-! clip_clear_selection(cbd);
- clip_gen_lose_selection(cbd);
- #ifdef FEAT_X11
- if (visual_selection)
-***************
-*** 518,524 ****
- if (was_owned
- && (get_real_state() == VISUAL
- || get_real_state() == SELECTMODE)
-! && clip_isautosel()
- && hl_attr(HLF_V) != hl_attr(HLF_VNC))
- {
- update_curbuf(INVERTED_ALL);
---- 525,532 ----
- if (was_owned
- && (get_real_state() == VISUAL
- || get_real_state() == SELECTMODE)
-! && (cbd == &clip_star ?
-! clip_isautosel_star() : clip_isautosel_plus())
- && hl_attr(HLF_V) != hl_attr(HLF_VNC))
- {
- update_curbuf(INVERTED_ALL);
-***************
-*** 534,551 ****
- #endif
- }
-
-! void
-! clip_copy_selection()
-! {
-! if (VIsual_active && (State & NORMAL) && clip_star.available)
-! {
-! if (clip_isautosel())
-! clip_update_selection();
-! clip_free_selection(&clip_star);
-! clip_own_selection(&clip_star);
-! if (clip_star.owned)
-! clip_get_selection(&clip_star);
-! clip_gen_set_selection(&clip_star);
- }
- }
-
---- 542,559 ----
- #endif
- }
-
-! static void
-! clip_copy_selection(clip)
-! VimClipboard *clip;
-! {
-! if (VIsual_active && (State & NORMAL) && clip->available)
-! {
-! clip_update_selection(clip);
-! clip_free_selection(clip);
-! clip_own_selection(clip);
-! if (clip->owned)
-! clip_get_selection(clip);
-! clip_gen_set_selection(clip);
- }
- }
-
-***************
-*** 555,575 ****
- void
- clip_auto_select()
- {
-! if (clip_isautosel())
-! clip_copy_selection();
- }
-
- /*
-! * Return TRUE if automatic selection of Visual area is desired.
- */
- int
-! clip_isautosel()
- {
- return (
- #ifdef FEAT_GUI
- gui.in_use ? (vim_strchr(p_go, GO_ASEL) != NULL) :
- #endif
-! clip_autoselect);
- }
-
-
---- 563,600 ----
- void
- clip_auto_select()
- {
-! if (clip_isautosel_star())
-! clip_copy_selection(&clip_star);
-! if (clip_isautosel_plus())
-! clip_copy_selection(&clip_plus);
- }
-
- /*
-! * Return TRUE if automatic selection of Visual area is desired for the *
-! * register.
- */
- int
-! clip_isautosel_star()
- {
- return (
- #ifdef FEAT_GUI
- gui.in_use ? (vim_strchr(p_go, GO_ASEL) != NULL) :
- #endif
-! clip_autoselect_star);
-! }
-!
-! /*
-! * Return TRUE if automatic selection of Visual area is desired for the +
-! * register.
-! */
-! int
-! clip_isautosel_plus()
-! {
-! return (
-! #ifdef FEAT_GUI
-! gui.in_use ? (vim_strchr(p_go, GO_ASELPLUS) != NULL) :
-! #endif
-! clip_autoselect_plus);
- }
-
-
-***************
-*** 657,663 ****
- VimClipboard *cb = &clip_star;
-
- if (cb->state == SELECT_DONE)
-! clip_clear_selection();
-
- row = check_row(row);
- col = check_col(col);
---- 682,688 ----
- VimClipboard *cb = &clip_star;
-
- if (cb->state == SELECT_DONE)
-! clip_clear_selection(cb);
-
- row = check_row(row);
- col = check_col(col);
-***************
-*** 749,755 ****
- printf("Selection ended: (%u,%u) to (%u,%u)\n", cb->start.lnum,
- cb->start.col, cb->end.lnum, cb->end.col);
- #endif
-! if (clip_isautosel()
- || (
- #ifdef FEAT_GUI
- gui.in_use ? (vim_strchr(p_go, GO_ASELML) != NULL) :
---- 774,780 ----
- printf("Selection ended: (%u,%u) to (%u,%u)\n", cb->start.lnum,
- cb->start.col, cb->end.lnum, cb->end.col);
- #endif
-! if (clip_isautosel_star()
- || (
- #ifdef FEAT_GUI
- gui.in_use ? (vim_strchr(p_go, GO_ASELML) != NULL) :
-***************
-*** 932,947 ****
- * Called from outside to clear selected region from the display
- */
- void
-! clip_clear_selection()
- {
-- VimClipboard *cb = &clip_star;
-
-! if (cb->state == SELECT_CLEARED)
- return;
-
-! clip_invert_area((int)cb->start.lnum, cb->start.col, (int)cb->end.lnum,
-! cb->end.col, CLIP_CLEAR);
-! cb->state = SELECT_CLEARED;
- }
-
- /*
---- 957,972 ----
- * Called from outside to clear selected region from the display
- */
- void
-! clip_clear_selection(cbd)
-! VimClipboard *cbd;
- {
-
-! if (cbd->state == SELECT_CLEARED)
- return;
-
-! clip_invert_area((int)cbd->start.lnum, cbd->start.col, (int)cbd->end.lnum,
-! cbd->end.col, CLIP_CLEAR);
-! cbd->state = SELECT_CLEARED;
- }
-
- /*
-***************
-*** 954,960 ****
- if (clip_star.state == SELECT_DONE
- && row2 >= clip_star.start.lnum
- && row1 <= clip_star.end.lnum)
-! clip_clear_selection();
- }
-
- /*
---- 979,985 ----
- if (clip_star.state == SELECT_DONE
- && row2 >= clip_star.start.lnum
- && row1 <= clip_star.end.lnum)
-! clip_clear_selection(&clip_star);
- }
-
- /*
-*** ../vim-7.3.596/src/globals.h 2012-06-29 12:35:40.000000000 +0200
---- src/globals.h 2012-07-10 16:35:13.000000000 +0200
-***************
-*** 517,523 ****
- # define CLIP_UNNAMED_PLUS 2
- EXTERN int clip_unnamed INIT(= 0); /* above two values or'ed */
-
-! EXTERN int clip_autoselect INIT(= FALSE);
- EXTERN int clip_autoselectml INIT(= FALSE);
- EXTERN int clip_html INIT(= FALSE);
- EXTERN regprog_T *clip_exclude_prog INIT(= NULL);
---- 517,524 ----
- # define CLIP_UNNAMED_PLUS 2
- EXTERN int clip_unnamed INIT(= 0); /* above two values or'ed */
-
-! EXTERN int clip_autoselect_star INIT(= FALSE);
-! EXTERN int clip_autoselect_plus INIT(= FALSE);
- EXTERN int clip_autoselectml INIT(= FALSE);
- EXTERN int clip_html INIT(= FALSE);
- EXTERN regprog_T *clip_exclude_prog INIT(= NULL);
-*** ../vim-7.3.596/src/proto/ui.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/ui.pro 2012-07-10 16:37:35.000000000 +0200
-***************
-*** 11,27 ****
- void ui_new_shellsize __ARGS((void));
- void ui_breakcheck __ARGS((void));
- void clip_init __ARGS((int can_use));
-! void clip_update_selection __ARGS((void));
- void clip_own_selection __ARGS((VimClipboard *cbd));
- void clip_lose_selection __ARGS((VimClipboard *cbd));
-- void clip_copy_selection __ARGS((void));
- void clip_auto_select __ARGS((void));
-! int clip_isautosel __ARGS((void));
- void clip_modeless __ARGS((int button, int is_click, int is_drag));
- void clip_start_selection __ARGS((int col, int row, int repeated_click));
- void clip_process_selection __ARGS((int button, int col, int row, int_u repeated_click));
- void clip_may_redraw_selection __ARGS((int row, int col, int len));
-! void clip_clear_selection __ARGS((void));
- void clip_may_clear_selection __ARGS((int row1, int row2));
- void clip_scroll_selection __ARGS((int rows));
- void clip_copy_modeless_selection __ARGS((int both));
---- 11,27 ----
- void ui_new_shellsize __ARGS((void));
- void ui_breakcheck __ARGS((void));
- void clip_init __ARGS((int can_use));
-! void clip_update_selection __ARGS((VimClipboard *clip));
- void clip_own_selection __ARGS((VimClipboard *cbd));
- void clip_lose_selection __ARGS((VimClipboard *cbd));
- void clip_auto_select __ARGS((void));
-! int clip_isautosel_star __ARGS((void));
-! int clip_isautosel_plus __ARGS((void));
- void clip_modeless __ARGS((int button, int is_click, int is_drag));
- void clip_start_selection __ARGS((int col, int row, int repeated_click));
- void clip_process_selection __ARGS((int button, int col, int row, int_u repeated_click));
- void clip_may_redraw_selection __ARGS((int row, int col, int len));
-! void clip_clear_selection __ARGS((VimClipboard *cbd));
- void clip_may_clear_selection __ARGS((int row1, int row2));
- void clip_scroll_selection __ARGS((int rows));
- void clip_copy_modeless_selection __ARGS((int both));
-*** ../vim-7.3.596/src/option.h 2012-06-06 16:12:54.000000000 +0200
---- src/option.h 2012-07-10 15:54:32.000000000 +0200
-***************
-*** 229,234 ****
---- 229,235 ----
- #define GO_MENUS 'm' /* use menu bar */
- #define GO_NOSYSMENU 'M' /* don't source system menu */
- #define GO_POINTER 'p' /* pointer enter/leave callbacks */
-+ #define GO_ASELPLUS 'P' /* autoselectPlus */
- #define GO_RIGHT 'r' /* use right scrollbar */
- #define GO_VRIGHT 'R' /* right scrollbar with vert split */
- #define GO_TEAROFF 't' /* add tear-off menu items */
-*** ../vim-7.3.596/src/gui.c 2012-05-27 00:37:45.000000000 +0200
---- src/gui.c 2012-07-10 16:43:34.000000000 +0200
-***************
-*** 3154,3160 ****
- }
-
- if (clip_star.state != SELECT_CLEARED && !did_clip)
-! clip_clear_selection();
- #endif
-
- /* Don't put events in the input queue now. */
---- 3154,3160 ----
- }
-
- if (clip_star.state != SELECT_CLEARED && !did_clip)
-! clip_clear_selection(&clip_star);
- #endif
-
- /* Don't put events in the input queue now. */
-*** ../vim-7.3.596/src/version.c 2012-07-10 15:18:18.000000000 +0200
---- src/version.c 2012-07-10 16:32:16.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 597,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-106. When told to "go to your room" you inform your parents that you
- can't...because you were kicked out and banned.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.598 b/source/ap/vim/patches/7.3.598
deleted file mode 100644
index 3a38b4a78..000000000
--- a/source/ap/vim/patches/7.3.598
+++ /dev/null
@@ -1,73 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.598
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.598
-Problem: Cannot act upon end of completion. (Taro Muraoka)
-Solution: Add an autocommand event that is triggered when completion has
- finished. (Idea by Florian Klein)
-Files: src/edit.c, src/fileio.c, src/vim.h
-
-
-*** ../vim-7.3.597/src/edit.c 2012-07-06 13:36:36.000000000 +0200
---- src/edit.c 2012-07-10 17:02:37.000000000 +0200
-***************
-*** 3824,3829 ****
---- 3824,3834 ----
- if (want_cindent && in_cinkeys(KEY_COMPLETE, ' ', inindent(0)))
- do_c_expr_indent();
- #endif
-+ #ifdef FEAT_AUTOCMD
-+ /* Trigger the CompleteDone event to give scripts a chance to act
-+ * upon the completion. */
-+ apply_autocmds(EVENT_COMPLETEDONE, NULL, NULL, FALSE, curbuf);
-+ #endif
- }
- }
-
-*** ../vim-7.3.597/src/fileio.c 2012-06-13 14:28:16.000000000 +0200
---- src/fileio.c 2012-07-10 17:05:51.000000000 +0200
-***************
-*** 7643,7648 ****
---- 7643,7649 ----
- {"CmdwinEnter", EVENT_CMDWINENTER},
- {"CmdwinLeave", EVENT_CMDWINLEAVE},
- {"ColorScheme", EVENT_COLORSCHEME},
-+ {"CompleteDone", EVENT_COMPLETEDONE},
- {"CursorHold", EVENT_CURSORHOLD},
- {"CursorHoldI", EVENT_CURSORHOLDI},
- {"CursorMoved", EVENT_CURSORMOVED},
-*** ../vim-7.3.597/src/vim.h 2012-07-10 13:41:09.000000000 +0200
---- src/vim.h 2012-07-10 17:06:24.000000000 +0200
-***************
-*** 1241,1246 ****
---- 1241,1247 ----
- EVENT_CMDWINENTER, /* after entering the cmdline window */
- EVENT_CMDWINLEAVE, /* before leaving the cmdline window */
- EVENT_COLORSCHEME, /* after loading a colorscheme */
-+ EVENT_COMPLETEDONE, /* after finishing insert complete */
- EVENT_FILEAPPENDPOST, /* after appending to a file */
- EVENT_FILEAPPENDPRE, /* before appending to a file */
- EVENT_FILEAPPENDCMD, /* append to a file using command */
-*** ../vim-7.3.597/src/version.c 2012-07-10 16:49:08.000000000 +0200
---- src/version.c 2012-07-10 17:08:41.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 598,
- /**/
-
---
-Laughing helps. It's like jogging on the inside.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.599 b/source/ap/vim/patches/7.3.599
deleted file mode 100644
index adfe6f996..000000000
--- a/source/ap/vim/patches/7.3.599
+++ /dev/null
@@ -1,107 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.599
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.599 (after 7.3.597)
-Problem: Missing change in one file.
-Solution: Patch for changed clip_autoselect().
-Files: src/option.c
-
-
-*** ../vim-7.3.598/src/option.c 2012-06-29 15:51:26.000000000 +0200
---- src/option.c 2012-07-10 16:35:07.000000000 +0200
-***************
-*** 7377,7383 ****
- check_clipboard_option()
- {
- int new_unnamed = 0;
-! int new_autoselect = FALSE;
- int new_autoselectml = FALSE;
- int new_html = FALSE;
- regprog_T *new_exclude_prog = NULL;
---- 7377,7384 ----
- check_clipboard_option()
- {
- int new_unnamed = 0;
-! int new_autoselect_star = FALSE;
-! int new_autoselect_plus = FALSE;
- int new_autoselectml = FALSE;
- int new_html = FALSE;
- regprog_T *new_exclude_prog = NULL;
-***************
-*** 7398,7410 ****
- p += 11;
- }
- else if (STRNCMP(p, "autoselect", 10) == 0
-! && (p[10] == ',' || p[10] == NUL))
- {
-! new_autoselect = TRUE;
- p += 10;
- }
- else if (STRNCMP(p, "autoselectml", 12) == 0
-! && (p[12] == ',' || p[12] == NUL))
- {
- new_autoselectml = TRUE;
- p += 12;
---- 7399,7417 ----
- p += 11;
- }
- else if (STRNCMP(p, "autoselect", 10) == 0
-! && (p[10] == ',' || p[10] == NUL))
- {
-! new_autoselect_star = TRUE;
- p += 10;
- }
-+ else if (STRNCMP(p, "autoselectplus", 14) == 0
-+ && (p[14] == ',' || p[14] == NUL))
-+ {
-+ new_autoselect_plus = TRUE;
-+ p += 14;
-+ }
- else if (STRNCMP(p, "autoselectml", 12) == 0
-! && (p[12] == ',' || p[12] == NUL))
- {
- new_autoselectml = TRUE;
- p += 12;
-***************
-*** 7433,7439 ****
- if (errmsg == NULL)
- {
- clip_unnamed = new_unnamed;
-! clip_autoselect = new_autoselect;
- clip_autoselectml = new_autoselectml;
- clip_html = new_html;
- vim_free(clip_exclude_prog);
---- 7440,7447 ----
- if (errmsg == NULL)
- {
- clip_unnamed = new_unnamed;
-! clip_autoselect_star = new_autoselect_star;
-! clip_autoselect_plus = new_autoselect_plus;
- clip_autoselectml = new_autoselectml;
- clip_html = new_html;
- vim_free(clip_exclude_prog);
-*** ../vim-7.3.598/src/version.c 2012-07-10 17:14:50.000000000 +0200
---- src/version.c 2012-07-10 18:30:17.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 599,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-108. While reading a magazine, you look for the Zoom icon for a better
- look at a photograph.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.600 b/source/ap/vim/patches/7.3.600
deleted file mode 100644
index 6504da017..000000000
--- a/source/ap/vim/patches/7.3.600
+++ /dev/null
@@ -1,68 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.600
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.600
-Problem: <f-args> is not expanded properly with DBCS encoding.
-Solution: Skip over character instead of byte. (Yukihiro Nakadaira)
-Files: src/ex_docmd.c
-
-
-*** ../vim-7.3.599/src/ex_docmd.c 2012-07-06 18:27:34.000000000 +0200
---- src/ex_docmd.c 2012-07-10 19:20:10.000000000 +0200
-***************
-*** 5845,5852 ****
---- 5845,5858 ----
- }
- else
- {
-+ #ifdef FEAT_MBYTE
-+ int charlen = (*mb_ptr2len)(p);
-+ len += charlen;
-+ p += charlen;
-+ #else
- ++len;
- ++p;
-+ #endif
- }
- }
-
-***************
-*** 5889,5895 ****
- }
- else
- {
-! *q++ = *p++;
- }
- }
- *q++ = '"';
---- 5895,5901 ----
- }
- else
- {
-! MB_COPY_CHAR(p, q);
- }
- }
- *q++ = '"';
-*** ../vim-7.3.599/src/version.c 2012-07-10 18:31:49.000000000 +0200
---- src/version.c 2012-07-10 19:21:29.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 600,
- /**/
-
---
-In a world without walls and borders, who needs windows and gates?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.601 b/source/ap/vim/patches/7.3.601
deleted file mode 100644
index b61a93316..000000000
--- a/source/ap/vim/patches/7.3.601
+++ /dev/null
@@ -1,51 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.601
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.601
-Problem: Bad code style.
-Solution: Insert space, remove parens.
-Files: src/farsi.c
-
-
-*** ../vim-7.3.600/src/farsi.c 2010-08-15 21:57:28.000000000 +0200
---- src/farsi.c 2012-07-12 21:59:15.000000000 +0200
-***************
-*** 1813,1819 ****
- ptr[i] = toF_leading(ptr[i]);
- ++i;
-
-! while(canF_Rjoin(ptr[i]) && (i < llen))
- {
- ptr[i] = toF_Rjoin(ptr[i]);
- if (F_isterm(ptr[i]) || !F_isalpha(ptr[i]))
---- 1813,1819 ----
- ptr[i] = toF_leading(ptr[i]);
- ++i;
-
-! while (canF_Rjoin(ptr[i]) && i < llen)
- {
- ptr[i] = toF_Rjoin(ptr[i]);
- if (F_isterm(ptr[i]) || !F_isalpha(ptr[i]))
-*** ../vim-7.3.600/src/version.c 2012-07-10 19:25:06.000000000 +0200
---- src/version.c 2012-07-16 17:25:48.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 601,
- /**/
-
---
-There are three kinds of persons: Those who can count and those who can't.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.602 b/source/ap/vim/patches/7.3.602
deleted file mode 100644
index fd5f3cf47..000000000
--- a/source/ap/vim/patches/7.3.602
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.602
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.602
-Problem: Missing files in distribution.
-Solution: Update the list of files.
-Files: Filelist
-
-
-*** ../vim-7.3.601/Filelist 2011-10-20 16:35:25.000000000 +0200
---- Filelist 2012-06-20 12:06:41.000000000 +0200
-***************
-*** 463,468 ****
---- 463,469 ----
- runtime/macros/hanoi/hanoi.vim \
- runtime/macros/hanoi/poster \
- runtime/macros/justify.vim \
-+ runtime/macros/less.bat \
- runtime/macros/less.sh \
- runtime/macros/less.vim \
- runtime/macros/life/click.me \
-***************
-*** 666,671 ****
---- 667,674 ----
-
- # generic language files
- LANG_GEN = \
-+ runtime/doc/*-de.1 \
-+ runtime/doc/*-de.UTF-8.1 \
- runtime/doc/*-fr.1 \
- runtime/doc/*-fr.UTF-8.1 \
- runtime/doc/*-it.1 \
-*** ../vim-7.3.601/src/version.c 2012-07-16 17:26:18.000000000 +0200
---- src/version.c 2012-07-16 17:27:31.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 602,
- /**/
-
---
-Never eat yellow snow.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.603 b/source/ap/vim/patches/7.3.603
deleted file mode 100644
index 00a024b0a..000000000
--- a/source/ap/vim/patches/7.3.603
+++ /dev/null
@@ -1,370 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.603
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.603
-Problem: It is possible to add replace builtin functions by calling
- extend() on g:.
-Solution: Add a flag to a dict to indicate it is a scope. Check for
- existing functions. (ZyX)
-Files: src/buffer.c, src/eval.c, src/proto/eval.pro, src/structs.h,
- src/testdir/test34.in, src/testdir/test34.ok, src/window.c
-
-
-*** ../vim-7.3.602/src/buffer.c 2012-07-10 15:18:18.000000000 +0200
---- src/buffer.c 2012-07-16 16:52:58.000000000 +0200
-***************
-*** 1747,1753 ****
- buf->b_wininfo->wi_win = curwin;
-
- #ifdef FEAT_EVAL
-! init_var_dict(&buf->b_vars, &buf->b_bufvar); /* init b: variables */
- #endif
- #ifdef FEAT_SYN_HL
- hash_init(&buf->b_s.b_keywtab);
---- 1747,1754 ----
- buf->b_wininfo->wi_win = curwin;
-
- #ifdef FEAT_EVAL
-! /* init b: variables */
-! init_var_dict(&buf->b_vars, &buf->b_bufvar, VAR_SCOPE);
- #endif
- #ifdef FEAT_SYN_HL
- hash_init(&buf->b_s.b_keywtab);
-*** ../vim-7.3.602/src/eval.c 2012-07-10 13:41:09.000000000 +0200
---- src/eval.c 2012-07-16 17:18:11.000000000 +0200
-***************
-*** 850,857 ****
- int i;
- struct vimvar *p;
-
-! init_var_dict(&globvardict, &globvars_var);
-! init_var_dict(&vimvardict, &vimvars_var);
- vimvardict.dv_lock = VAR_FIXED;
- hash_init(&compat_hashtab);
- hash_init(&func_hashtab);
---- 850,857 ----
- int i;
- struct vimvar *p;
-
-! init_var_dict(&globvardict, &globvars_var, VAR_DEF_SCOPE);
-! init_var_dict(&vimvardict, &vimvars_var, VAR_SCOPE);
- vimvardict.dv_lock = VAR_FIXED;
- hash_init(&compat_hashtab);
- hash_init(&func_hashtab);
-***************
-*** 2725,2738 ****
- lp->ll_dict = lp->ll_tv->vval.v_dict;
- lp->ll_di = dict_find(lp->ll_dict, key, len);
-
-! /* When assigning to g: check that a function and variable name is
-! * valid. */
-! if (rettv != NULL && lp->ll_dict == &globvardict)
- {
-! if (rettv->v_type == VAR_FUNC
- && var_check_func_name(key, lp->ll_di == NULL))
-! return NULL;
-! if (!valid_varname(key))
- return NULL;
- }
-
---- 2725,2750 ----
- lp->ll_dict = lp->ll_tv->vval.v_dict;
- lp->ll_di = dict_find(lp->ll_dict, key, len);
-
-! /* When assigning to a scope dictionary check that a function and
-! * variable name is valid (only variable name unless it is l: or
-! * g: dictionary). Disallow overwriting a builtin function. */
-! if (rettv != NULL && lp->ll_dict->dv_scope != 0)
- {
-! int prevval;
-! int wrong;
-!
-! if (len != -1)
-! {
-! prevval = key[len];
-! key[len] = NUL;
-! }
-! wrong = (lp->ll_dict->dv_scope == VAR_DEF_SCOPE
-! && rettv->v_type == VAR_FUNC
- && var_check_func_name(key, lp->ll_di == NULL))
-! || !valid_varname(key);
-! if (len != -1)
-! key[len] = prevval;
-! if (wrong)
- return NULL;
- }
-
-***************
-*** 6951,6957 ****
- d = (dict_T *)alloc(sizeof(dict_T));
- if (d != NULL)
- {
-! /* Add the list to the list of dicts for garbage collection. */
- if (first_dict != NULL)
- first_dict->dv_used_prev = d;
- d->dv_used_next = first_dict;
---- 6963,6969 ----
- d = (dict_T *)alloc(sizeof(dict_T));
- if (d != NULL)
- {
-! /* Add the dict to the list of dicts for garbage collection. */
- if (first_dict != NULL)
- first_dict->dv_used_prev = d;
- d->dv_used_next = first_dict;
-***************
-*** 6960,6965 ****
---- 6972,6978 ----
-
- hash_init(&d->dv_hashtab);
- d->dv_lock = 0;
-+ d->dv_scope = 0;
- d->dv_refcount = 0;
- d->dv_copyID = 0;
- }
-***************
-*** 10203,10208 ****
---- 10216,10234 ----
- {
- --todo;
- di1 = dict_find(d1, hi2->hi_key, -1);
-+ if (d1->dv_scope != 0)
-+ {
-+ /* Disallow replacing a builtin function in l: and g:.
-+ * Check the key to be valid when adding to any
-+ * scope. */
-+ if (d1->dv_scope == VAR_DEF_SCOPE
-+ && HI2DI(hi2)->di_tv.v_type == VAR_FUNC
-+ && var_check_func_name(hi2->hi_key,
-+ di1 == NULL))
-+ break;
-+ if (!valid_varname(hi2->hi_key))
-+ break;
-+ }
- if (di1 == NULL)
- {
- di1 = dictitem_copy(HI2DI(hi2));
-***************
-*** 20027,20033 ****
- {
- sv = SCRIPT_SV(ga_scripts.ga_len + 1) =
- (scriptvar_T *)alloc_clear(sizeof(scriptvar_T));
-! init_var_dict(&sv->sv_dict, &sv->sv_var);
- ++ga_scripts.ga_len;
- }
- }
---- 20053,20059 ----
- {
- sv = SCRIPT_SV(ga_scripts.ga_len + 1) =
- (scriptvar_T *)alloc_clear(sizeof(scriptvar_T));
-! init_var_dict(&sv->sv_dict, &sv->sv_var, VAR_SCOPE);
- ++ga_scripts.ga_len;
- }
- }
-***************
-*** 20038,20049 ****
- * point to it.
- */
- void
-! init_var_dict(dict, dict_var)
- dict_T *dict;
- dictitem_T *dict_var;
- {
- hash_init(&dict->dv_hashtab);
- dict->dv_lock = 0;
- dict->dv_refcount = DO_NOT_FREE_CNT;
- dict->dv_copyID = 0;
- dict_var->di_tv.vval.v_dict = dict;
---- 20064,20077 ----
- * point to it.
- */
- void
-! init_var_dict(dict, dict_var, scope)
- dict_T *dict;
- dictitem_T *dict_var;
-+ int scope;
- {
- hash_init(&dict->dv_hashtab);
- dict->dv_lock = 0;
-+ dict->dv_scope = scope;
- dict->dv_refcount = DO_NOT_FREE_CNT;
- dict->dv_copyID = 0;
- dict_var->di_tv.vval.v_dict = dict;
-***************
-*** 22304,22310 ****
- /*
- * Init l: variables.
- */
-! init_var_dict(&fc->l_vars, &fc->l_vars_var);
- if (selfdict != NULL)
- {
- /* Set l:self to "selfdict". Use "name" to avoid a warning from
---- 22332,22338 ----
- /*
- * Init l: variables.
- */
-! init_var_dict(&fc->l_vars, &fc->l_vars_var, VAR_DEF_SCOPE);
- if (selfdict != NULL)
- {
- /* Set l:self to "selfdict". Use "name" to avoid a warning from
-***************
-*** 22325,22331 ****
- * Set a:0 to "argcount".
- * Set a:000 to a list with room for the "..." arguments.
- */
-! init_var_dict(&fc->l_avars, &fc->l_avars_var);
- add_nr_var(&fc->l_avars, &fc->fixvar[fixvar_idx++].var, "0",
- (varnumber_T)(argcount - fp->uf_args.ga_len));
- /* Use "name" to avoid a warning from some compiler that checks the
---- 22353,22359 ----
- * Set a:0 to "argcount".
- * Set a:000 to a list with room for the "..." arguments.
- */
-! init_var_dict(&fc->l_avars, &fc->l_avars_var, VAR_SCOPE);
- add_nr_var(&fc->l_avars, &fc->fixvar[fixvar_idx++].var, "0",
- (varnumber_T)(argcount - fp->uf_args.ga_len));
- /* Use "name" to avoid a warning from some compiler that checks the
-*** ../vim-7.3.602/src/proto/eval.pro 2012-06-29 12:54:32.000000000 +0200
---- src/proto/eval.pro 2012-07-16 16:55:16.000000000 +0200
-***************
-*** 93,99 ****
- char_u *get_tv_string_chk __ARGS((typval_T *varp));
- char_u *get_var_value __ARGS((char_u *name));
- void new_script_vars __ARGS((scid_T id));
-! void init_var_dict __ARGS((dict_T *dict, dictitem_T *dict_var));
- void vars_clear __ARGS((hashtab_T *ht));
- void copy_tv __ARGS((typval_T *from, typval_T *to));
- void ex_echo __ARGS((exarg_T *eap));
---- 93,99 ----
- char_u *get_tv_string_chk __ARGS((typval_T *varp));
- char_u *get_var_value __ARGS((char_u *name));
- void new_script_vars __ARGS((scid_T id));
-! void init_var_dict __ARGS((dict_T *dict, dictitem_T *dict_var, int scope));
- void vars_clear __ARGS((hashtab_T *ht));
- void copy_tv __ARGS((typval_T *from, typval_T *to));
- void ex_echo __ARGS((exarg_T *eap));
-*** ../vim-7.3.602/src/structs.h 2012-06-06 19:02:40.000000000 +0200
---- src/structs.h 2012-07-16 16:56:43.000000000 +0200
-***************
-*** 1106,1111 ****
---- 1106,1116 ----
- #define VAR_DICT 5 /* "v_dict" is used */
- #define VAR_FLOAT 6 /* "v_float" is used */
-
-+ /* Values for "dv_scope". */
-+ #define VAR_SCOPE 1 /* a:, v:, s:, etc. scope dictionaries */
-+ #define VAR_DEF_SCOPE 2 /* l:, g: scope dictionaries: here funcrefs are not
-+ allowed to mask existing functions */
-+
- /* Values for "v_lock". */
- #define VAR_LOCKED 1 /* locked with lock(), can use unlock() */
- #define VAR_FIXED 2 /* locked forever */
-***************
-*** 1181,1186 ****
---- 1186,1192 ----
- int dv_copyID; /* ID used by deepcopy() */
- dict_T *dv_copydict; /* copied dict used by deepcopy() */
- char dv_lock; /* zero, VAR_LOCKED, VAR_FIXED */
-+ char dv_scope; /* zero, VAR_SCOPE, VAR_DEF_SCOPE */
- dict_T *dv_used_next; /* next dict in used dicts list */
- dict_T *dv_used_prev; /* previous dict in used dicts list */
- };
-*** ../vim-7.3.602/src/testdir/test34.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test34.in 2012-07-16 16:51:29.000000000 +0200
-***************
-*** 1,5 ****
---- 1,6 ----
- Test for user functions.
- Also test an <expr> mapping calling a function.
-+ Also test that a builtin function cannot be replaced.
-
- STARTTEST
- :so small.vim
-***************
-*** 58,64 ****
- ---*---
- (one
- (two
-! [(one again:$-5,$w! test.out
- :delfunc Table
- :delfunc Compute
- :delfunc Expr1
---- 59,68 ----
- ---*---
- (one
- (two
-! [(one again:call append(line('$'), max([1, 2, 3]))
-! :call extend(g:, {'max': function('min')})
-! :call append(line('$'), max([1, 2, 3]))
-! :$-7,$w! test.out
- :delfunc Table
- :delfunc Compute
- :delfunc Expr1
-*** ../vim-7.3.602/src/testdir/test34.ok 2011-10-12 22:02:07.000000000 +0200
---- src/testdir/test34.ok 2012-07-16 16:43:15.000000000 +0200
-***************
-*** 4,6 ****
---- 4,8 ----
- 1. one
- 2. two
- 1. one again
-+ 3
-+ 3
-*** ../vim-7.3.602/src/window.c 2012-07-06 18:27:34.000000000 +0200
---- src/window.c 2012-07-16 16:53:45.000000000 +0200
-***************
-*** 3468,3474 ****
- # endif
- #ifdef FEAT_EVAL
- /* init t: variables */
-! init_var_dict(&tp->tp_vars, &tp->tp_winvar);
- #endif
- tp->tp_ch_used = p_ch;
- }
---- 3468,3474 ----
- # endif
- #ifdef FEAT_EVAL
- /* init t: variables */
-! init_var_dict(&tp->tp_vars, &tp->tp_winvar, VAR_SCOPE);
- #endif
- tp->tp_ch_used = p_ch;
- }
-***************
-*** 4410,4416 ****
- #endif
- #ifdef FEAT_EVAL
- /* init w: variables */
-! init_var_dict(&new_wp->w_vars, &new_wp->w_winvar);
- #endif
- #ifdef FEAT_FOLDING
- foldInitWin(new_wp);
---- 4410,4416 ----
- #endif
- #ifdef FEAT_EVAL
- /* init w: variables */
-! init_var_dict(&new_wp->w_vars, &new_wp->w_winvar, VAR_SCOPE);
- #endif
- #ifdef FEAT_FOLDING
- foldInitWin(new_wp);
-*** ../vim-7.3.602/src/version.c 2012-07-16 17:27:57.000000000 +0200
---- src/version.c 2012-07-16 17:29:06.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 603,
- /**/
-
---
-Birthdays are healthy. The more you have them, the longer you live.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.604 b/source/ap/vim/patches/7.3.604
deleted file mode 100644
index f7e63bd0d..000000000
--- a/source/ap/vim/patches/7.3.604
+++ /dev/null
@@ -1,60 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.604
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.604
-Problem: inputdialog() doesn't use the cancel argument in the console.
- (David Fishburn)
-Solution: Use the third argument. (Christian Brabant)
-Files: src/eval.c
-
-
-*** ../vim-7.3.603/src/eval.c 2012-07-16 17:31:48.000000000 +0200
---- src/eval.c 2012-07-16 19:20:47.000000000 +0200
-***************
-*** 12940,12945 ****
---- 12940,12946 ----
- int xp_namelen;
- long argt;
-
-+ /* input() with a third argument: completion */
- rettv->vval.v_string = NULL;
-
- xp_name = get_tv_string_buf_chk(&argvars[2], buf);
-***************
-*** 12958,12963 ****
---- 12959,12969 ----
- rettv->vval.v_string =
- getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr,
- xp_type, xp_arg);
-+ if (rettv->vval.v_string == NULL
-+ && argvars[1].v_type != VAR_UNKNOWN
-+ && argvars[2].v_type != VAR_UNKNOWN)
-+ rettv->vval.v_string = vim_strsave(get_tv_string_buf(
-+ &argvars[2], buf));
-
- vim_free(xp_arg);
-
-*** ../vim-7.3.603/src/version.c 2012-07-16 17:31:48.000000000 +0200
---- src/version.c 2012-07-16 19:23:11.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 604,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-135. You cut classes or miss work so you can stay home and browse the web.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.605 b/source/ap/vim/patches/7.3.605
deleted file mode 100644
index 703382516..000000000
--- a/source/ap/vim/patches/7.3.605
+++ /dev/null
@@ -1,86 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.605
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.605 (after 7.3.577)
-Problem: MS-Windows: Can't compile with older compilers. (Titov Anatoly)
-Solution: Add #ifdef for MEMORYSTATUSEX.
-Files: src/os_win32.c
-
-
-*** ../vim-7.3.604/src/os_win32.c 2012-06-29 15:51:26.000000000 +0200
---- src/os_win32.c 2012-07-19 11:35:00.000000000 +0200
-***************
-*** 4999,5020 ****
- long_u
- mch_avail_mem(int special)
- {
-! if (g_PlatformId != VER_PLATFORM_WIN32_NT)
-! {
-! MEMORYSTATUS ms;
-!
-! ms.dwLength = sizeof(MEMORYSTATUS);
-! GlobalMemoryStatus(&ms);
-! return (long_u)((ms.dwAvailPhys + ms.dwAvailPageFile) >> 10);
-! }
-! else
- {
- MEMORYSTATUSEX ms;
-
- ms.dwLength = sizeof(MEMORYSTATUSEX);
- GlobalMemoryStatusEx(&ms);
- return (long_u)((ms.ullAvailPhys + ms.ullAvailPageFile) >> 10);
- }
- }
-
- #ifdef FEAT_MBYTE
---- 4999,5025 ----
- long_u
- mch_avail_mem(int special)
- {
-! #ifdef MEMORYSTATUSEX
-! PlatformId();
-! if (g_PlatformId == VER_PLATFORM_WIN32_NT)
- {
- MEMORYSTATUSEX ms;
-
-+ /* Need to use GlobalMemoryStatusEx() when there is more memory than
-+ * what fits in 32 bits. But it's not always available. */
- ms.dwLength = sizeof(MEMORYSTATUSEX);
- GlobalMemoryStatusEx(&ms);
- return (long_u)((ms.ullAvailPhys + ms.ullAvailPageFile) >> 10);
- }
-+ else
-+ #endif
-+ {
-+ MEMORYSTATUS ms;
-+
-+ ms.dwLength = sizeof(MEMORYSTATUS);
-+ GlobalMemoryStatus(&ms);
-+ return (long_u)((ms.dwAvailPhys + ms.dwAvailPageFile) >> 10);
-+ }
- }
-
- #ifdef FEAT_MBYTE
-*** ../vim-7.3.604/src/version.c 2012-07-16 19:27:25.000000000 +0200
---- src/version.c 2012-07-19 11:36:12.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 605,
- /**/
-
---
-Fingers not found - Pound head on keyboard to continue.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.606 b/source/ap/vim/patches/7.3.606
deleted file mode 100644
index 2296653c4..000000000
--- a/source/ap/vim/patches/7.3.606
+++ /dev/null
@@ -1,76 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.606
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.606
-Problem: CTRL-P completion has a problem with multi-byte characters.
-Solution: Check for next character being NUL properly. (Yasuhiro Matsumoto)
-Files: src/search.c, src/macros.h
-
-
-*** ../vim-7.3.605/src/search.c 2012-06-06 16:12:54.000000000 +0200
---- src/search.c 2012-07-19 17:09:20.000000000 +0200
-***************
-*** 5141,5147 ****
- && !(compl_cont_status & CONT_SOL)
- #endif
- && *startp != NUL
-! && *(p = startp + 1) != NUL)
- goto search_line;
- }
- line_breakcheck();
---- 5141,5147 ----
- && !(compl_cont_status & CONT_SOL)
- #endif
- && *startp != NUL
-! && *(p = startp + MB_PTR2LEN(startp)) != NUL)
- goto search_line;
- }
- line_breakcheck();
-*** ../vim-7.3.605/src/macros.h 2010-09-21 16:56:29.000000000 +0200
---- src/macros.h 2012-07-19 17:08:38.000000000 +0200
-***************
-*** 259,264 ****
---- 259,266 ----
- * PTR2CHAR(): get character from pointer.
- */
- #ifdef FEAT_MBYTE
-+ /* Get the length of the character p points to */
-+ # define MB_PTR2LEN(p) (has_mbyte ? (*mb_ptr2len)(p) : 1)
- /* Advance multi-byte pointer, skip over composing chars. */
- # define mb_ptr_adv(p) p += has_mbyte ? (*mb_ptr2len)(p) : 1
- /* Advance multi-byte pointer, do not skip over composing chars. */
-***************
-*** 272,277 ****
---- 274,280 ----
- # define MB_CHARLEN(p) (has_mbyte ? mb_charlen(p) : (int)STRLEN(p))
- # define PTR2CHAR(p) (has_mbyte ? mb_ptr2char(p) : (int)*(p))
- #else
-+ # define MB_PTR2LEN(p) 1
- # define mb_ptr_adv(p) ++p
- # define mb_cptr_adv(p) ++p
- # define mb_ptr_back(s, p) --p
-*** ../vim-7.3.605/src/version.c 2012-07-19 11:37:22.000000000 +0200
---- src/version.c 2012-07-19 17:13:53.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 606,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-151. You find yourself engaged to someone you've never actually met,
- except through e-mail.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.607 b/source/ap/vim/patches/7.3.607
deleted file mode 100644
index 4dbf559dd..000000000
--- a/source/ap/vim/patches/7.3.607
+++ /dev/null
@@ -1,56 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.607
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.607
-Problem: With an 8 color terminal the selected menu item is black on black,
- because darkGrey as bg is the same as black.
-Solution: Swap fg and bg colors. (James McCoy)
-Files: src/syntax.c
-
-
-*** ../vim-7.3.606/src/syntax.c 2012-06-01 13:18:48.000000000 +0200
---- src/syntax.c 2012-07-19 17:34:42.000000000 +0200
-***************
-*** 6653,6660 ****
- "PmenuThumb ctermbg=White guibg=White"),
- CENT("Pmenu ctermbg=Magenta ctermfg=Black",
- "Pmenu ctermbg=Magenta ctermfg=Black guibg=Magenta"),
-! CENT("PmenuSel ctermbg=DarkGrey ctermfg=Black",
-! "PmenuSel ctermbg=DarkGrey ctermfg=Black guibg=DarkGrey"),
- #endif
- CENT("Title term=bold ctermfg=LightMagenta",
- "Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta"),
---- 6653,6660 ----
- "PmenuThumb ctermbg=White guibg=White"),
- CENT("Pmenu ctermbg=Magenta ctermfg=Black",
- "Pmenu ctermbg=Magenta ctermfg=Black guibg=Magenta"),
-! CENT("PmenuSel ctermbg=Black ctermfg=DarkGrey",
-! "PmenuSel ctermbg=Black ctermfg=DarkGrey guibg=DarkGrey"),
- #endif
- CENT("Title term=bold ctermfg=LightMagenta",
- "Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta"),
-*** ../vim-7.3.606/src/version.c 2012-07-19 17:18:21.000000000 +0200
---- src/version.c 2012-07-19 17:38:05.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 607,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-152. You find yourself falling for someone you've never seen or hardly
- know, but, boy can he/she TYPE!!!!!!
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.608 b/source/ap/vim/patches/7.3.608
deleted file mode 100644
index 148bc494e..000000000
--- a/source/ap/vim/patches/7.3.608
+++ /dev/null
@@ -1,119 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.608
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.608
-Problem: winrestview() does not always restore the view correctly.
-Solution: Call win_new_height() and win_new_width(). (Lech Lorens)
-Files: src/eval.c, src/proto/window.pro, src/window.c
-
-
-*** ../vim-7.3.607/src/eval.c 2012-07-16 19:27:25.000000000 +0200
---- src/eval.c 2012-07-19 17:50:16.000000000 +0200
-***************
-*** 18601,18606 ****
---- 18601,18610 ----
- curwin->w_skipcol = get_dict_number(dict, (char_u *)"skipcol");
-
- check_cursor();
-+ win_new_height(curwin, curwin->w_height);
-+ # ifdef FEAT_VERTSPLIT
-+ win_new_width(curwin, W_WIDTH(curwin));
-+ # endif
- changed_window_setting();
-
- if (curwin->w_topline == 0)
-*** ../vim-7.3.607/src/proto/window.pro 2012-06-13 14:28:16.000000000 +0200
---- src/proto/window.pro 2012-07-19 18:05:10.000000000 +0200
-***************
-*** 51,56 ****
---- 51,58 ----
- void win_setminheight __ARGS((void));
- void win_drag_status_line __ARGS((win_T *dragwin, int offset));
- void win_drag_vsep_line __ARGS((win_T *dragwin, int offset));
-+ void win_new_height __ARGS((win_T *wp, int height));
-+ void win_new_width __ARGS((win_T *wp, int width));
- void win_comp_scroll __ARGS((win_T *wp));
- void command_height __ARGS((void));
- void last_status __ARGS((int morewin));
-*** ../vim-7.3.607/src/window.c 2012-07-16 17:31:48.000000000 +0200
---- src/window.c 2012-07-19 18:05:18.000000000 +0200
-***************
-*** 54,60 ****
- static void frame_insert __ARGS((frame_T *before, frame_T *frp));
- static void frame_remove __ARGS((frame_T *frp));
- #ifdef FEAT_VERTSPLIT
-- static void win_new_width __ARGS((win_T *wp, int width));
- static void win_goto_ver __ARGS((int up, long count));
- static void win_goto_hor __ARGS((int left, long count));
- #endif
---- 54,59 ----
-***************
-*** 71,77 ****
-
- static win_T *win_alloc __ARGS((win_T *after, int hidden));
- static void set_fraction __ARGS((win_T *wp));
-- static void win_new_height __ARGS((win_T *wp, int height));
-
- #define URL_SLASH 1 /* path_is_url() has found "://" */
- #define URL_BACKSLASH 2 /* path_is_url() has found ":\\" */
---- 70,75 ----
-***************
-*** 5557,5563 ****
- * This takes care of the things inside the window, not what happens to the
- * window position, the frame or to other windows.
- */
-! static void
- win_new_height(wp, height)
- win_T *wp;
- int height;
---- 5555,5561 ----
- * This takes care of the things inside the window, not what happens to the
- * window position, the frame or to other windows.
- */
-! void
- win_new_height(wp, height)
- win_T *wp;
- int height;
-***************
-*** 5697,5703 ****
- /*
- * Set the width of a window.
- */
-! static void
- win_new_width(wp, width)
- win_T *wp;
- int width;
---- 5695,5701 ----
- /*
- * Set the width of a window.
- */
-! void
- win_new_width(wp, width)
- win_T *wp;
- int width;
-*** ../vim-7.3.607/src/version.c 2012-07-19 17:39:01.000000000 +0200
---- src/version.c 2012-07-19 17:53:37.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 608,
- /**/
-
---
-Although the scythe isn't pre-eminent among the weapons of war, anyone who
-has been on the wrong end of, say, a peasants' revolt will know that in
-skilled hands it is fearsome.
- -- (Terry Pratchett, Mort)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.609 b/source/ap/vim/patches/7.3.609
deleted file mode 100644
index ed731f509..000000000
--- a/source/ap/vim/patches/7.3.609
+++ /dev/null
@@ -1,251 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.609
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.609
-Problem: File names in :checkpath! output are garbled.
-Solution: Check for \zs in the pattern. (Lech Lorens)
-Files: src/search.c, src/testdir/test17.in, src/testdir/test17.ok
-
-
-*** ../vim-7.3.608/src/search.c 2012-07-19 17:18:21.000000000 +0200
---- src/search.c 2012-07-25 13:33:08.000000000 +0200
-***************
-*** 4740,4756 ****
- * Isolate the file name.
- * Include the surrounding "" or <> if present.
- */
-! for (p = incl_regmatch.endp[0]; !vim_isfilec(*p); p++)
-! ;
-! for (i = 0; vim_isfilec(p[i]); i++)
-! ;
- if (i == 0)
- {
- /* Nothing found, use the rest of the line. */
- p = incl_regmatch.endp[0];
- i = (int)STRLEN(p);
- }
-! else
- {
- if (p[-1] == '"' || p[-1] == '<')
- {
---- 4740,4772 ----
- * Isolate the file name.
- * Include the surrounding "" or <> if present.
- */
-! if (inc_opt != NULL
-! && strstr((char *)inc_opt, "\\zs") != NULL)
-! {
-! /* pattern contains \zs, use the match */
-! p = incl_regmatch.startp[0];
-! i = (int)(incl_regmatch.endp[0]
-! - incl_regmatch.startp[0]);
-! }
-! else
-! {
-! /* find the file name after the end of the match */
-! for (p = incl_regmatch.endp[0];
-! *p && !vim_isfilec(*p); p++)
-! ;
-! for (i = 0; vim_isfilec(p[i]); i++)
-! ;
-! }
-!
- if (i == 0)
- {
- /* Nothing found, use the rest of the line. */
- p = incl_regmatch.endp[0];
- i = (int)STRLEN(p);
- }
-! /* Avoid checking before the start of the line, can
-! * happen if \zs appears in the regexp. */
-! else if (p > line)
- {
- if (p[-1] == '"' || p[-1] == '<')
- {
-*** ../vim-7.3.608/src/testdir/test17.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test17.in 2012-07-25 13:41:43.000000000 +0200
-***************
-*** 1,4 ****
-! Tests for "gf" on ${VAR}
-
- STARTTEST
- :so small.vim
---- 1,6 ----
-! Tests for:
-! - "gf" on ${VAR},
-! - ":checkpath!" with various 'include' settings.
-
- STARTTEST
- :so small.vim
-***************
-*** 20,27 ****
- :endif
- gf
- :w! test.out
-! :qa!
- ENDTEST
-
- ${CDIR}/test17a.in
- $TDIR/test17a.in
---- 22,120 ----
- :endif
- gf
- :w! test.out
-! :brewind
- ENDTEST
-
- ${CDIR}/test17a.in
- $TDIR/test17a.in
-+
-+ STARTTEST
-+ :" check for 'include' without \zs or \ze
-+ :lang C
-+ :!rm -f ./Xbase.a
-+ :!rm -rf ./Xdir1
-+ :!mkdir -p Xdir1/dir2
-+ :e Xdir1/dir2/foo.a
-+ i#include "bar.a"
-+ :w
-+ :e Xdir1/dir2/bar.a
-+ i#include "baz.a"
-+ :w
-+ :e Xdir1/dir2/baz.a
-+ i#include "foo.a"
-+ :w
-+ :e Xbase.a
-+ :set path=Xdir1/dir2
-+ i#include <foo.a>
-+ :w
-+ :redir! >>test.out
-+ :checkpath!
-+ :redir END
-+ :brewind
-+ ENDTEST
-+
-+ STARTTEST
-+ :" check for 'include' with \zs and \ze
-+ :!rm -f ./Xbase.b
-+ :!rm -rf ./Xdir1
-+ :!mkdir -p Xdir1/dir2
-+ :let &include='^\s*%inc\s*/\zs[^/]\+\ze'
-+ :function! DotsToSlashes()
-+ : return substitute(v:fname, '\.', '/', 'g') . '.b'
-+ :endfunction
-+ :let &includeexpr='DotsToSlashes()'
-+ :e Xdir1/dir2/foo.b
-+ i%inc /bar/
-+ :w
-+ :e Xdir1/dir2/bar.b
-+ i%inc /baz/
-+ :w
-+ :e Xdir1/dir2/baz.b
-+ i%inc /foo/
-+ :w
-+ :e Xbase.b
-+ :set path=Xdir1/dir2
-+ i%inc /foo/
-+ :w
-+ :redir! >>test.out
-+ :checkpath!
-+ :redir END
-+ :brewind
-+ ENDTEST
-+
-+ STARTTEST
-+ :" check for 'include' with \zs and no \ze
-+ :!rm -f ./Xbase.c
-+ :!rm -rf ./Xdir1
-+ :!mkdir -p Xdir1/dir2
-+ :let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
-+ :function! StripNewlineChar()
-+ : if v:fname =~ '\n$'
-+ : return v:fname[:-2]
-+ : endif
-+ : return v:fname
-+ :endfunction
-+ :let &includeexpr='StripNewlineChar()'
-+ :e Xdir1/dir2/foo.c
-+ i%inc bar.c
-+ :w
-+ :e Xdir1/dir2/bar.c
-+ i%inc baz.c
-+ :w
-+ :e Xdir1/dir2/baz.c
-+ i%inc foo.c
-+ :w
-+ :e Xdir1/dir2/FALSE.c
-+ i%inc foo.c
-+ :w
-+ :e Xbase.c
-+ :set path=Xdir1/dir2
-+ i%inc FALSE.c foo.c
-+ :w
-+ :redir! >>test.out
-+ :checkpath!
-+ :redir END
-+ :brewind
-+ :q
-+ ENDTEST
-+
-*** ../vim-7.3.608/src/testdir/test17.ok 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test17.ok 2012-07-25 13:45:37.000000000 +0200
-***************
-*** 1,3 ****
---- 1,33 ----
- This file is just to test "gf" in test 17.
- The contents is not important.
- Just testing!
-+
-+
-+ --- Included files in path ---
-+ Xdir1/dir2/foo.a
-+ Xdir1/dir2/foo.a -->
-+ Xdir1/dir2/bar.a
-+ Xdir1/dir2/bar.a -->
-+ Xdir1/dir2/baz.a
-+ Xdir1/dir2/baz.a -->
-+ "foo.a" (Already listed)
-+
-+
-+ --- Included files in path ---
-+ Xdir1/dir2/foo.b
-+ Xdir1/dir2/foo.b -->
-+ Xdir1/dir2/bar.b
-+ Xdir1/dir2/bar.b -->
-+ Xdir1/dir2/baz.b
-+ Xdir1/dir2/baz.b -->
-+ foo (Already listed)
-+
-+
-+ --- Included files in path ---
-+ Xdir1/dir2/foo.c
-+ Xdir1/dir2/foo.c -->
-+ Xdir1/dir2/bar.c
-+ Xdir1/dir2/bar.c -->
-+ Xdir1/dir2/baz.c
-+ Xdir1/dir2/baz.c -->
-+ foo.c^@ (Already listed)
-*** ../vim-7.3.608/src/version.c 2012-07-19 18:05:40.000000000 +0200
---- src/version.c 2012-07-25 13:38:54.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 609,
- /**/
-
---
-"The question of whether computers can think is just like the question
-of whether submarines can swim." -- Edsger W. Dijkstra
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.610 b/source/ap/vim/patches/7.3.610
deleted file mode 100644
index 5e48837fa..000000000
--- a/source/ap/vim/patches/7.3.610
+++ /dev/null
@@ -1,400 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.610
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.610
-Problem: Cannot operate on the text that a search pattern matches.
-Solution: Add the "gn" and "gN" commands. (Christian Brabandt)
-Files: runtime/doc/index.txt, runtime/doc/visual.txt, src/normal.c,
- src/proto/search.pro, src/search.c, src/testdir/test53.in,
- src/testdir/test53.ok
-
-
-*** ../vim-7.3.609/runtime/doc/index.txt 2010-08-15 21:57:18.000000000 +0200
---- runtime/doc/index.txt 2012-07-25 14:27:20.000000000 +0200
-***************
-*** 719,726 ****
---- 719,729 ----
- |gH| gH start Select line mode
- |gI| gI 2 like "I", but always start in column 1
- |gJ| gJ 2 join lines without inserting space
-+ |gN| gN 1,2 find the previous match with the last used
-+ search pattern and Visually select it
- |gP| ["x]gP 2 put the text [from register x] before the
- cursor N times, leave the cursor after it
-+ |gQ| gQ switch to "Ex" mode with Vim editing
- |gR| gR 2 enter Virtual Replace mode
- |gU| gU{motion} 2 make Nmove text uppercase
- |gV| gV don't reselect the previous Visual area
-***************
-*** 750,755 ****
---- 753,760 ----
- lines down
- |gk| gk 1 like "k", but when 'wrap' on go N screen
- lines up
-+ |gn| gn 1,2 find the next match with the last used
-+ search pattern and Visually select it
- |gm| gm 1 go to character at middle of the screenline
- |go| go 1 cursor to byte N in the buffer
- |gp| ["x]gp 2 put the text [from register x] after the
-*** ../vim-7.3.609/runtime/doc/visual.txt 2010-08-15 21:57:16.000000000 +0200
---- runtime/doc/visual.txt 2012-07-25 14:42:22.000000000 +0200
-***************
-*** 94,99 ****
---- 99,116 ----
- After using "p" or "P" in Visual mode the text that
- was put will be selected.
-
-+ *gn* *v_gn*
-+ gn Search forward for the last used search pattern, like
-+ with `n`, and start Visual mode to select the match.
-+ If the cursor is on the match, visually selects it.
-+ If an operator is pending, operates on the match.
-+ E.g., "dgn" deletes the text of the next match.
-+ If Visual mode is active, extends the selection
-+ until the end of the next match.
-+
-+ *gN* *v_gN*
-+ gN Like |gn| but searches backward, like with `N`.
-+
- *<LeftMouse>*
- <LeftMouse> Set the current cursor position. If Visual mode is
- active it is stopped. Only when 'mouse' option is
-*** ../vim-7.3.609/src/normal.c 2012-07-10 16:49:08.000000000 +0200
---- src/normal.c 2012-07-25 14:31:40.000000000 +0200
-***************
-*** 1780,1789 ****
- {
- /* Prepare for redoing. Only use the nchar field for "r",
- * otherwise it might be the second char of the operator. */
-! prep_redo(oap->regname, 0L, NUL, 'v',
-! get_op_char(oap->op_type),
-! get_extra_op_char(oap->op_type),
-! oap->op_type == OP_REPLACE ? cap->nchar : NUL);
- if (!redo_VIsual_busy)
- {
- redo_VIsual_mode = resel_VIsual_mode;
---- 1780,1797 ----
- {
- /* Prepare for redoing. Only use the nchar field for "r",
- * otherwise it might be the second char of the operator. */
-! if (cap->cmdchar == 'g' && (cap->nchar == 'n'
-! || cap->nchar == 'N'))
-! /* "gn" and "gN" are a bit different */
-! prep_redo(oap->regname, 0L, NUL, cap->cmdchar, cap->nchar,
-! get_op_char(oap->op_type),
-! get_extra_op_char(oap->op_type));
-! else
-! prep_redo(oap->regname, 0L, NUL, 'v',
-! get_op_char(oap->op_type),
-! get_extra_op_char(oap->op_type),
-! oap->op_type == OP_REPLACE
-! ? cap->nchar : NUL);
- if (!redo_VIsual_busy)
- {
- redo_VIsual_mode = resel_VIsual_mode;
-***************
-*** 7987,7992 ****
---- 7995,8011 ----
- cap->arg = TRUE;
- nv_visual(cap);
- break;
-+
-+ /* "gn", "gN" visually select next/previous search match
-+ * "gn" selects next match
-+ * "gN" selects previous match
-+ */
-+ case 'N':
-+ case 'n':
-+ if (!current_search(cap->count1, cap->nchar == 'n'))
-+ beep_flush();
-+
-+ break;
- #endif /* FEAT_VISUAL */
-
- /*
-*** ../vim-7.3.609/src/proto/search.pro 2010-08-15 21:57:28.000000000 +0200
---- src/proto/search.pro 2012-07-25 14:24:01.000000000 +0200
-***************
-*** 27,32 ****
---- 27,33 ----
- int end_word __ARGS((long count, int bigword, int stop, int empty));
- int bckend_word __ARGS((long count, int bigword, int eol));
- int current_word __ARGS((oparg_T *oap, long count, int include, int bigword));
-+ int current_search __ARGS((long count, int forward));
- int current_sent __ARGS((oparg_T *oap, long count, int include));
- int current_block __ARGS((oparg_T *oap, long count, int include, int what, int other));
- int current_tagblock __ARGS((oparg_T *oap, long count_arg, int include));
-*** ../vim-7.3.609/src/search.c 2012-07-25 13:46:25.000000000 +0200
---- src/search.c 2012-07-25 14:54:28.000000000 +0200
-***************
-*** 3397,3402 ****
---- 3397,3547 ----
- return OK;
- }
-
-+ #if defined(FEAT_VISUAL) || defined(PROTO)
-+ /*
-+ * Find next search match under cursor, cursor at end.
-+ * Used while an operator is pending, and in Visual mode.
-+ * TODO: redo only works when used in operator pending mode
-+ */
-+ int
-+ current_search(count, forward)
-+ long count;
-+ int forward; /* move forward or backwards */
-+ {
-+ pos_T start_pos; /* position before the pattern */
-+ pos_T orig_pos; /* position of the cursor at beginning */
-+ pos_T pos; /* position after the pattern */
-+ int i;
-+ int dir;
-+ int result; /* result of various function calls */
-+ char_u old_p_ws = p_ws;
-+ int visual_active = FALSE;
-+ int flags = 0;
-+ pos_T save_VIsual;
-+
-+
-+ /* wrapping should not occur */
-+ p_ws = FALSE;
-+
-+ /* Correct cursor when 'selection' is exclusive */
-+ if (VIsual_active && *p_sel == 'e' && lt(VIsual, curwin->w_cursor))
-+ dec_cursor();
-+
-+ if (VIsual_active)
-+ {
-+ orig_pos = curwin->w_cursor;
-+ save_VIsual = VIsual;
-+ visual_active = TRUE;
-+
-+ /* just started visual selection, only one character */
-+ if (equalpos(VIsual, curwin->w_cursor))
-+ visual_active = FALSE;
-+
-+ pos = curwin->w_cursor;
-+ start_pos = VIsual;
-+
-+ /* make sure, searching further will extend the match */
-+ if (VIsual_active)
-+ {
-+ if (forward)
-+ incl(&pos);
-+ else
-+ decl(&pos);
-+ }
-+ }
-+ else
-+ orig_pos = pos = start_pos = curwin->w_cursor;
-+
-+ /*
-+ * The trick is to first search backwards and then search forward again,
-+ * so that a match at the current cursor position will be correctly
-+ * captured.
-+ */
-+ for (i = 0; i < 2; i++)
-+ {
-+ if (i && count == 1)
-+ flags = SEARCH_START;
-+
-+ if (forward)
-+ dir = i;
-+ else
-+ dir = !i;
-+ result = searchit(curwin, curbuf, &pos, (dir ? FORWARD : BACKWARD),
-+ spats[last_idx].pat, (long) (i ? count : 1),
-+ SEARCH_KEEP | flags | (dir ? 0 : SEARCH_END),
-+ RE_SEARCH, 0, NULL);
-+
-+ /* First search may fail, but then start searching from the
-+ * beginning of the file (cursor might be on the search match)
-+ * except when Visual mode is active, so that extending the visual
-+ * selection works. */
-+ if (!result && i) /* not found, abort */
-+ {
-+ curwin->w_cursor = orig_pos;
-+ if (VIsual_active)
-+ VIsual = save_VIsual;
-+ p_ws = old_p_ws;
-+ return FAIL;
-+ }
-+ else if (!i && !result && !visual_active)
-+ {
-+ if (forward) /* try again from start of buffer */
-+ {
-+ clearpos(&pos);
-+ }
-+ else /* try again from end of buffer */
-+ {
-+ /* searching backwards, so set pos to last line and col */
-+ pos.lnum = curwin->w_buffer->b_ml.ml_line_count;
-+ pos.col = STRLEN(ml_get(curwin->w_buffer->b_ml.ml_line_count));
-+ }
-+ }
-+
-+ }
-+
-+ start_pos = pos;
-+ flags = (forward ? SEARCH_END : 0);
-+
-+ /* move to match */
-+ result = searchit(curwin, curbuf, &pos, (forward ? FORWARD : BACKWARD),
-+ spats[last_idx].pat, 0L, flags | SEARCH_KEEP, RE_SEARCH, 0, NULL);
-+
-+ if (!VIsual_active)
-+ VIsual = start_pos;
-+
-+ p_ws = old_p_ws;
-+ curwin->w_cursor = pos;
-+ VIsual_active = TRUE;
-+ VIsual_mode = 'v';
-+
-+ if (VIsual_active)
-+ {
-+ redraw_curbuf_later(INVERTED); /* update the inversion */
-+ if (*p_sel == 'e' && ltoreq(VIsual, curwin->w_cursor))
-+ inc_cursor();
-+ }
-+
-+ #ifdef FEAT_FOLDING
-+ if (fdo_flags & FDO_SEARCH && KeyTyped)
-+ foldOpenCursor();
-+ #endif
-+
-+ may_start_select('c');
-+ #ifdef FEAT_MOUSE
-+ setmouse();
-+ #endif
-+ #ifdef FEAT_CLIPBOARD
-+ /* Make sure the clipboard gets updated. Needed because start and
-+ * end are still the same, and the selection needs to be owned */
-+ clip_star.vmode = NUL;
-+ #endif
-+ redraw_curbuf_later(INVERTED);
-+ showmode();
-+
-+ return OK;
-+ }
-+ #endif /* FEAT_VISUAL */
-+
- /*
- * Find sentence(s) under the cursor, cursor at end.
- * When Visual active, extend it by one or more sentences.
-***************
-*** 3420,3426 ****
-
- #ifdef FEAT_VISUAL
- /*
-! * When visual area is bigger than one character: Extend it.
- */
- if (VIsual_active && !equalpos(start_pos, VIsual))
- {
---- 3565,3571 ----
-
- #ifdef FEAT_VISUAL
- /*
-! * When the Visual area is bigger than one character: Extend it.
- */
- if (VIsual_active && !equalpos(start_pos, VIsual))
- {
-***************
-*** 3508,3515 ****
- #endif
-
- /*
-! * If cursor started on blank, check if it is just before the start of the
-! * next sentence.
- */
- while (c = gchar_pos(&pos), vim_iswhite(c)) /* vim_iswhite() is a macro */
- incl(&pos);
---- 3653,3660 ----
- #endif
-
- /*
-! * If the cursor started on a blank, check if it is just before the start
-! * of the next sentence.
- */
- while (c = gchar_pos(&pos), vim_iswhite(c)) /* vim_iswhite() is a macro */
- incl(&pos);
-***************
-*** 3558,3564 ****
- #ifdef FEAT_VISUAL
- if (VIsual_active)
- {
-! /* avoid getting stuck with "is" on a single space before a sent. */
- if (equalpos(start_pos, curwin->w_cursor))
- goto extend;
- if (*p_sel == 'e')
---- 3703,3709 ----
- #ifdef FEAT_VISUAL
- if (VIsual_active)
- {
-! /* Avoid getting stuck with "is" on a single space before a sentence. */
- if (equalpos(start_pos, curwin->w_cursor))
- goto extend;
- if (*p_sel == 'e')
-*** ../vim-7.3.609/src/testdir/test53.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test53.in 2012-07-25 15:01:34.000000000 +0200
-***************
-*** 28,33 ****
---- 28,40 ----
- :put =matchstr(\"abcd\", \".\", 0, -1) " a
- :put =match(\"abcd\", \".\", 0, 5) " -1
- :put =match(\"abcd\", \".\", 0, -1) " 0
-+ /^foobar
-+ gncsearchmatch/one\_s*two\_s
-+ :1
-+ gnd
-+ /[a]bcdx
-+ :1
-+ 2gnd
- :/^start:/,/^end:/wq! test.out
- ENDTEST
-
-***************
-*** 45,48 ****
---- 52,60 ----
- -<b>asdf<i>Xasdf</i>asdf</b>-
- -<b>asdX<i>as<b />df</i>asdf</b>-
- </begin>
-+ SEARCH:
-+ foobar
-+ one
-+ two
-+ abcdx | abcdx | abcdx
- end:
-*** ../vim-7.3.609/src/testdir/test53.ok 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test53.ok 2012-07-25 14:24:01.000000000 +0200
-***************
-*** 18,21 ****
---- 18,24 ----
- a
- -1
- 0
-+ SEARCH:
-+ searchmatch
-+ abcdx | | abcdx
- end:
-*** ../vim-7.3.609/src/version.c 2012-07-25 13:46:25.000000000 +0200
---- src/version.c 2012-07-25 15:03:43.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 610,
- /**/
-
---
-Did you ever see a "Hit any key to continue" message in a music piece?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.611 b/source/ap/vim/patches/7.3.611
deleted file mode 100644
index 5e366a784..000000000
--- a/source/ap/vim/patches/7.3.611
+++ /dev/null
@@ -1,58 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.611
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.611
-Problem: Can't use Vim dictionary as self argument in Python.
-Solution: Fix the check for the "self" argument. (ZyX)
-Files: src/if_py_both.h
-
-
-*** ../vim-7.3.610/src/if_py_both.h 2012-06-30 13:34:29.000000000 +0200
---- src/if_py_both.h 2012-07-25 15:32:10.000000000 +0200
-***************
-*** 1284,1292 ****
- selfdictObject = PyDict_GetItemString(kwargs, "self");
- if (selfdictObject != NULL)
- {
-! if (!PyDict_Check(selfdictObject))
- {
-! PyErr_SetString(PyExc_TypeError, _("'self' argument must be a dictionary"));
- clear_tv(&args);
- return NULL;
- }
---- 1284,1293 ----
- selfdictObject = PyDict_GetItemString(kwargs, "self");
- if (selfdictObject != NULL)
- {
-! if (!PyMapping_Check(selfdictObject))
- {
-! PyErr_SetString(PyExc_TypeError,
-! _("'self' argument must be a dictionary"));
- clear_tv(&args);
- return NULL;
- }
-*** ../vim-7.3.610/src/version.c 2012-07-25 15:06:20.000000000 +0200
---- src/version.c 2012-07-25 15:32:24.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 611,
- /**/
-
---
-In Joseph Heller's novel "Catch-22", the main character tries to get out of a
-war by proving he is crazy. But the mere fact he wants to get out of the war
-only shows he isn't crazy -- creating the original "Catch-22".
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.612 b/source/ap/vim/patches/7.3.612
deleted file mode 100644
index 7b2207ede..000000000
--- a/source/ap/vim/patches/7.3.612
+++ /dev/null
@@ -1,83 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.612
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.612
-Problem: Auto formatting messes up text when 'fo' contains "2". (ZyX)
-Solution: Decrement "less_cols". (Tor Perkins)
-Files: src/misc1.c, src/testdir/test68.in, src/testdir/test68.ok
-
-
-*** ../vim-7.3.611/src/misc1.c 2012-07-06 16:49:37.000000000 +0200
---- src/misc1.c 2012-07-25 16:03:58.000000000 +0200
-***************
-*** 1329,1334 ****
---- 1329,1335 ----
- for (i = 0; i < padding; i++)
- {
- STRCAT(leader, " ");
-+ less_cols--;
- newcol++;
- }
- }
-*** ../vim-7.3.611/src/testdir/test68.in 2012-06-29 15:04:34.000000000 +0200
---- src/testdir/test68.in 2012-07-25 15:57:06.000000000 +0200
-***************
-*** 94,99 ****
---- 94,109 ----
- }
-
- STARTTEST
-+ /mno pqr/
-+ :setl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
-+ A vwx yz
-+ ENDTEST
-+
-+ /* abc def ghi jkl
-+ * mno pqr stu
-+ */
-+
-+ STARTTEST
- /^#/
- :setl tw=12 fo=tqnc comments=:#
- A foobar
-*** ../vim-7.3.611/src/testdir/test68.ok 2012-06-29 23:57:50.000000000 +0200
---- src/testdir/test68.ok 2012-07-25 16:03:05.000000000 +0200
-***************
-*** 57,62 ****
---- 57,68 ----
- { 1aa ^^2bb }
-
-
-+ /* abc def ghi jkl
-+ * mno pqr stu
-+ * vwx yz
-+ */
-+
-+
- # 1 xxxxx
- # foobar
-
-*** ../vim-7.3.611/src/version.c 2012-07-25 15:36:00.000000000 +0200
---- src/version.c 2012-07-25 16:08:02.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 612,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-169. You hire a housekeeper for your home page.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.613 b/source/ap/vim/patches/7.3.613
deleted file mode 100644
index 520e87c38..000000000
--- a/source/ap/vim/patches/7.3.613
+++ /dev/null
@@ -1,149 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.613
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.613
-Problem: Including Python's config.c in the build causes trouble. It is
- not clear why it was there.
-Solution: Omit the config file. (James McCoy)
-Files: src/Makefile, src/auto/configure, src/configure.in
-
-
-*** ../vim-7.3.612/src/Makefile 2012-06-20 18:39:12.000000000 +0200
---- src/Makefile 2012-07-25 16:22:57.000000000 +0200
-***************
-*** 2559,2577 ****
- objects/if_perlsfio.o: if_perlsfio.c
- $(CCC) $(PERL_CFLAGS) -o $@ if_perlsfio.c
-
-- objects/py_config.o: $(PYTHON_CONFDIR)/config.c
-- $(CCC) $(PYTHON_CFLAGS) -o $@ $(PYTHON_CONFDIR)/config.c \
-- -I$(PYTHON_CONFDIR) -DHAVE_CONFIG_H -DNO_MAIN
--
- objects/py_getpath.o: $(PYTHON_CONFDIR)/getpath.c
- $(CCC) $(PYTHON_CFLAGS) -o $@ $(PYTHON_CONFDIR)/getpath.c \
- -I$(PYTHON_CONFDIR) -DHAVE_CONFIG_H -DNO_MAIN \
- $(PYTHON_GETPATH_CFLAGS)
-
-- objects/py3_config.o: $(PYTHON3_CONFDIR)/config.c
-- $(CCC) $(PYTHON3_CFLAGS) -o $@ $(PYTHON3_CONFDIR)/config.c \
-- -I$(PYTHON3_CONFDIR) -DHAVE_CONFIG_H -DNO_MAIN
--
- objects/if_python.o: if_python.c if_py_both.h
- $(CCC) $(PYTHON_CFLAGS) $(PYTHON_CFLAGS_EXTRA) -o $@ if_python.c
-
---- 2559,2569 ----
-*** ../vim-7.3.612/src/auto/configure 2012-06-13 19:19:36.000000000 +0200
---- src/auto/configure 2012-07-25 16:23:49.000000000 +0200
-***************
-*** 5357,5367 ****
- PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
- fi
- PYTHON_SRC="if_python.c"
-! if test "x$MACOSX" = "xyes"; then
-! PYTHON_OBJ="objects/if_python.o"
-! else
-! PYTHON_OBJ="objects/if_python.o objects/py_config.o"
-! fi
- if test "${vi_cv_var_python_version}" = "1.4"; then
- PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
- fi
---- 5357,5363 ----
- PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
- fi
- PYTHON_SRC="if_python.c"
-! PYTHON_OBJ="objects/if_python.o"
- if test "${vi_cv_var_python_version}" = "1.4"; then
- PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
- fi
-***************
-*** 5656,5666 ****
- PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- fi
- PYTHON3_SRC="if_python3.c"
-! if test "x$MACOSX" = "xyes"; then
-! PYTHON3_OBJ="objects/if_python3.o"
-! else
-! PYTHON3_OBJ="objects/if_python3.o objects/py3_config.o"
-! fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread should be used" >&5
- $as_echo_n "checking if -pthread should be used... " >&6; }
---- 5652,5658 ----
- PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- fi
- PYTHON3_SRC="if_python3.c"
-! PYTHON3_OBJ="objects/if_python3.o"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread should be used" >&5
- $as_echo_n "checking if -pthread should be used... " >&6; }
-*** ../vim-7.3.612/src/configure.in 2012-06-13 19:19:36.000000000 +0200
---- src/configure.in 2012-07-25 16:23:41.000000000 +0200
-***************
-*** 916,927 ****
- PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
- fi
- PYTHON_SRC="if_python.c"
-! dnl For Mac OSX 10.2 config.o is included in the Python library.
-! if test "x$MACOSX" = "xyes"; then
-! PYTHON_OBJ="objects/if_python.o"
-! else
-! PYTHON_OBJ="objects/if_python.o objects/py_config.o"
-! fi
- if test "${vi_cv_var_python_version}" = "1.4"; then
- PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
- fi
---- 916,922 ----
- PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
- fi
- PYTHON_SRC="if_python.c"
-! PYTHON_OBJ="objects/if_python.o"
- if test "${vi_cv_var_python_version}" = "1.4"; then
- PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
- fi
-***************
-*** 1106,1117 ****
- PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- fi
- PYTHON3_SRC="if_python3.c"
-! dnl For Mac OSX 10.2 config.o is included in the Python library.
-! if test "x$MACOSX" = "xyes"; then
-! PYTHON3_OBJ="objects/if_python3.o"
-! else
-! PYTHON3_OBJ="objects/if_python3.o objects/py3_config.o"
-! fi
-
- dnl On FreeBSD linking with "-pthread" is required to use threads.
- dnl _THREAD_SAFE must be used for compiling then.
---- 1101,1107 ----
- PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
- fi
- PYTHON3_SRC="if_python3.c"
-! PYTHON3_OBJ="objects/if_python3.o"
-
- dnl On FreeBSD linking with "-pthread" is required to use threads.
- dnl _THREAD_SAFE must be used for compiling then.
-*** ../vim-7.3.612/src/version.c 2012-07-25 16:09:59.000000000 +0200
---- src/version.c 2012-07-25 16:29:52.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 613,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-170. You introduce your wife as "my_lady@home.wife" and refer to your
- children as "forked processes."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.614 b/source/ap/vim/patches/7.3.614
deleted file mode 100644
index 87d7a4512..000000000
--- a/source/ap/vim/patches/7.3.614
+++ /dev/null
@@ -1,176 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.614
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.614
-Problem: Number argument gets turned into a number while it should be a
- string.
-Solution: Add flag to the call_vim_function() call. (Yasuhiro Matsumoto)
-Files: src/edit.c, src/eval.c, src/proto/eval.pro
-
-
-*** ../vim-7.3.613/src/edit.c 2012-07-10 17:14:50.000000000 +0200
---- src/edit.c 2012-07-25 16:40:07.000000000 +0200
-***************
-*** 3959,3965 ****
- curbuf_save = curbuf;
-
- /* Call a function, which returns a list or dict. */
-! if (call_vim_function(funcname, 2, args, FALSE, &rettv) == OK)
- {
- switch (rettv.v_type)
- {
---- 3959,3965 ----
- curbuf_save = curbuf;
-
- /* Call a function, which returns a list or dict. */
-! if (call_vim_function(funcname, 2, args, FALSE, FALSE, &rettv) == OK)
- {
- switch (rettv.v_type)
- {
-*** ../vim-7.3.613/src/eval.c 2012-07-19 18:05:40.000000000 +0200
---- src/eval.c 2012-07-25 16:42:41.000000000 +0200
-***************
-*** 1564,1574 ****
- * Returns OK or FAIL.
- */
- int
-! call_vim_function(func, argc, argv, safe, rettv)
- char_u *func;
- int argc;
- char_u **argv;
- int safe; /* use the sandbox */
- typval_T *rettv;
- {
- typval_T *argvars;
---- 1564,1575 ----
- * Returns OK or FAIL.
- */
- int
-! call_vim_function(func, argc, argv, safe, str_arg_only, rettv)
- char_u *func;
- int argc;
- char_u **argv;
- int safe; /* use the sandbox */
-+ int str_arg_only; /* all arguments are strings */
- typval_T *rettv;
- {
- typval_T *argvars;
-***************
-*** 1593,1600 ****
- continue;
- }
-
-! /* Recognize a number argument, the others must be strings. */
-! vim_str2nr(argv[i], NULL, &len, TRUE, TRUE, &n, NULL);
- if (len != 0 && len == (int)STRLEN(argv[i]))
- {
- argvars[i].v_type = VAR_NUMBER;
---- 1594,1604 ----
- continue;
- }
-
-! if (str_arg_only)
-! len = 0;
-! else
-! /* Recognize a number argument, the others must be strings. */
-! vim_str2nr(argv[i], NULL, &len, TRUE, TRUE, &n, NULL);
- if (len != 0 && len == (int)STRLEN(argv[i]))
- {
- argvars[i].v_type = VAR_NUMBER;
-***************
-*** 1646,1652 ****
- typval_T rettv;
- char_u *retval;
-
-! if (call_vim_function(func, argc, argv, safe, &rettv) == FAIL)
- return NULL;
-
- retval = vim_strsave(get_tv_string(&rettv));
---- 1650,1657 ----
- typval_T rettv;
- char_u *retval;
-
-! /* All arguments are passed as strings, no conversion to number. */
-! if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
- return NULL;
-
- retval = vim_strsave(get_tv_string(&rettv));
-***************
-*** 1671,1677 ****
- typval_T rettv;
- long retval;
-
-! if (call_vim_function(func, argc, argv, safe, &rettv) == FAIL)
- return -1;
-
- retval = get_tv_number_chk(&rettv, NULL);
---- 1676,1683 ----
- typval_T rettv;
- long retval;
-
-! /* All arguments are passed as strings, no conversion to number. */
-! if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
- return -1;
-
- retval = get_tv_number_chk(&rettv, NULL);
-***************
-*** 1694,1700 ****
- {
- typval_T rettv;
-
-! if (call_vim_function(func, argc, argv, safe, &rettv) == FAIL)
- return NULL;
-
- if (rettv.v_type != VAR_LIST)
---- 1700,1707 ----
- {
- typval_T rettv;
-
-! /* All arguments are passed as strings, no conversion to number. */
-! if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
- return NULL;
-
- if (rettv.v_type != VAR_LIST)
-*** ../vim-7.3.613/src/proto/eval.pro 2012-07-16 17:31:48.000000000 +0200
---- src/proto/eval.pro 2012-07-25 16:42:59.000000000 +0200
-***************
-*** 23,29 ****
- list_T *eval_spell_expr __ARGS((char_u *badword, char_u *expr));
- int get_spellword __ARGS((list_T *list, char_u **pp));
- typval_T *eval_expr __ARGS((char_u *arg, char_u **nextcmd));
-! int call_vim_function __ARGS((char_u *func, int argc, char_u **argv, int safe, typval_T *rettv));
- void *call_func_retstr __ARGS((char_u *func, int argc, char_u **argv, int safe));
- long call_func_retnr __ARGS((char_u *func, int argc, char_u **argv, int safe));
- void *call_func_retlist __ARGS((char_u *func, int argc, char_u **argv, int safe));
---- 23,29 ----
- list_T *eval_spell_expr __ARGS((char_u *badword, char_u *expr));
- int get_spellword __ARGS((list_T *list, char_u **pp));
- typval_T *eval_expr __ARGS((char_u *arg, char_u **nextcmd));
-! int call_vim_function __ARGS((char_u *func, int argc, char_u **argv, int safe, int str_arg_only, typval_T *rettv));
- void *call_func_retstr __ARGS((char_u *func, int argc, char_u **argv, int safe));
- long call_func_retnr __ARGS((char_u *func, int argc, char_u **argv, int safe));
- void *call_func_retlist __ARGS((char_u *func, int argc, char_u **argv, int safe));
-*** ../vim-7.3.613/src/version.c 2012-07-25 16:32:03.000000000 +0200
---- src/version.c 2012-07-25 16:46:11.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 614,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-171. You invent another person and chat with yourself in empty chat rooms.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.615 b/source/ap/vim/patches/7.3.615
deleted file mode 100644
index 96f6885fa..000000000
--- a/source/ap/vim/patches/7.3.615
+++ /dev/null
@@ -1,107 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.615
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.615
-Problem: Completion for a user command does not recognize backslash before
- a space.
-Solution: Recognize escaped characters. (Yasuhiro Matsumoto)
-Files: src/ex_docmd.c
-
-
-*** ../vim-7.3.614/src/ex_docmd.c 2012-07-10 19:25:06.000000000 +0200
---- src/ex_docmd.c 2012-07-25 17:10:16.000000000 +0200
-***************
-*** 3390,3401 ****
- return NULL;
-
- /* Find start of last argument (argument just before cursor): */
-! p = buff + STRLEN(buff);
-! while (p != arg && *p != ' ' && *p != TAB)
-! p--;
-! if (*p == ' ' || *p == TAB)
-! p++;
- xp->xp_pattern = p;
-
- if (ea.argt & XFILE)
- {
---- 3390,3412 ----
- return NULL;
-
- /* Find start of last argument (argument just before cursor): */
-! p = buff;
- xp->xp_pattern = p;
-+ len = STRLEN(buff);
-+ while (*p && p < buff + len)
-+ {
-+ if (*p == ' ' || *p == TAB)
-+ {
-+ /* argument starts after a space */
-+ xp->xp_pattern = ++p;
-+ }
-+ else
-+ {
-+ if (*p == '\\' && *(p + 1) != NUL)
-+ ++p; /* skip over escaped character */
-+ mb_ptr_adv(p);
-+ }
-+ }
-
- if (ea.argt & XFILE)
- {
-***************
-*** 3821,3828 ****
- if (compl == EXPAND_MAPPINGS)
- return set_context_in_map_cmd(xp, (char_u *)"map",
- arg, forceit, FALSE, FALSE, CMD_map);
-! while ((xp->xp_pattern = vim_strchr(arg, ' ')) != NULL)
-! arg = xp->xp_pattern + 1;
- xp->xp_pattern = arg;
- }
- xp->xp_context = compl;
---- 3832,3853 ----
- if (compl == EXPAND_MAPPINGS)
- return set_context_in_map_cmd(xp, (char_u *)"map",
- arg, forceit, FALSE, FALSE, CMD_map);
-! /* Find start of last argument. */
-! p = arg;
-! while (*p)
-! {
-! if (*p == ' ')
-! {
-! /* argument starts after a space */
-! arg = p + 1;
-! }
-! else
-! {
-! if (*p == '\\' && *(p + 1) != NUL)
-! ++p; /* skip over escaped character */
-! mb_ptr_adv(p);
-! }
-! }
- xp->xp_pattern = arg;
- }
- xp->xp_context = compl;
-*** ../vim-7.3.614/src/version.c 2012-07-25 16:46:59.000000000 +0200
---- src/version.c 2012-07-25 17:17:05.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 615,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-172. You join listservers just for the extra e-mail.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.616 b/source/ap/vim/patches/7.3.616
deleted file mode 100644
index 5898eafe9..000000000
--- a/source/ap/vim/patches/7.3.616
+++ /dev/null
@@ -1,46 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.616
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.616 (after 7.3.610)
-Problem: Can't compile without +visual.
-Solution: Add #ifdef.
-Files: src/normal.c
-
-
-*** ../vim-7.3.615/src/normal.c 2012-07-25 15:06:20.000000000 +0200
---- src/normal.c 2012-07-27 20:52:01.000000000 +0200
-***************
-*** 8002,8008 ****
---- 8002,8010 ----
- */
- case 'N':
- case 'n':
-+ #ifdef FEAT_VISUAL
- if (!current_search(cap->count1, cap->nchar == 'n'))
-+ #endif
- beep_flush();
-
- break;
-*** ../vim-7.3.615/src/version.c 2012-07-25 17:22:17.000000000 +0200
---- src/version.c 2012-07-27 20:52:58.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 616,
- /**/
-
---
-The CIA drives around in cars with the "Intel inside" logo.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.617 b/source/ap/vim/patches/7.3.617
deleted file mode 100644
index 48062cd2a..000000000
--- a/source/ap/vim/patches/7.3.617
+++ /dev/null
@@ -1,65 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.617
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.617 (after 7.3.615)
-Problem: Hang on completion.
-Solution: Skip over the space. (Yasuhiro Matsumoto)
-Files: src/ex_docmd.c
-
-
-*** ../vim-7.3.616/src/ex_docmd.c 2012-07-25 17:22:17.000000000 +0200
---- src/ex_docmd.c 2012-07-27 21:07:42.000000000 +0200
-***************
-*** 3837,3852 ****
- while (*p)
- {
- if (*p == ' ')
-- {
- /* argument starts after a space */
- arg = p + 1;
-! }
-! else
-! {
-! if (*p == '\\' && *(p + 1) != NUL)
-! ++p; /* skip over escaped character */
-! mb_ptr_adv(p);
-! }
- }
- xp->xp_pattern = arg;
- }
---- 3837,3847 ----
- while (*p)
- {
- if (*p == ' ')
- /* argument starts after a space */
- arg = p + 1;
-! else if (*p == '\\' && *(p + 1) != NUL)
-! ++p; /* skip over escaped character */
-! mb_ptr_adv(p);
- }
- xp->xp_pattern = arg;
- }
-*** ../vim-7.3.616/src/version.c 2012-07-27 21:05:51.000000000 +0200
---- src/version.c 2012-07-27 21:08:31.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 617,
- /**/
-
---
-If Microsoft would build a car...
-... You'd have to press the "Start" button to turn the engine off.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.618 b/source/ap/vim/patches/7.3.618
deleted file mode 100644
index d0cc9c681..000000000
--- a/source/ap/vim/patches/7.3.618
+++ /dev/null
@@ -1,367 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.618
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.618 (after 7.3.616)
-Problem: Still doesn't compile with small features.
-Solution: Move current_search() out of #ifdef. (Dominique Pelle)
-Files: src/normal.c, src/search.c
-
-
-*** ../vim-7.3.617/src/normal.c 2012-07-27 21:05:51.000000000 +0200
---- src/normal.c 2012-07-28 13:34:13.000000000 +0200
-***************
-*** 7995,8000 ****
---- 7995,8001 ----
- cap->arg = TRUE;
- nv_visual(cap);
- break;
-+ #endif /* FEAT_VISUAL */
-
- /* "gn", "gN" visually select next/previous search match
- * "gn" selects next match
-***************
-*** 8006,8014 ****
- if (!current_search(cap->count1, cap->nchar == 'n'))
- #endif
- beep_flush();
--
- break;
-- #endif /* FEAT_VISUAL */
-
- /*
- * "gj" and "gk" two new funny movement keys -- up and down
---- 8007,8013 ----
-*** ../vim-7.3.617/src/search.c 2012-07-25 15:06:20.000000000 +0200
---- src/search.c 2012-07-28 13:37:19.000000000 +0200
-***************
-*** 3397,3547 ****
- return OK;
- }
-
-- #if defined(FEAT_VISUAL) || defined(PROTO)
-- /*
-- * Find next search match under cursor, cursor at end.
-- * Used while an operator is pending, and in Visual mode.
-- * TODO: redo only works when used in operator pending mode
-- */
-- int
-- current_search(count, forward)
-- long count;
-- int forward; /* move forward or backwards */
-- {
-- pos_T start_pos; /* position before the pattern */
-- pos_T orig_pos; /* position of the cursor at beginning */
-- pos_T pos; /* position after the pattern */
-- int i;
-- int dir;
-- int result; /* result of various function calls */
-- char_u old_p_ws = p_ws;
-- int visual_active = FALSE;
-- int flags = 0;
-- pos_T save_VIsual;
--
--
-- /* wrapping should not occur */
-- p_ws = FALSE;
--
-- /* Correct cursor when 'selection' is exclusive */
-- if (VIsual_active && *p_sel == 'e' && lt(VIsual, curwin->w_cursor))
-- dec_cursor();
--
-- if (VIsual_active)
-- {
-- orig_pos = curwin->w_cursor;
-- save_VIsual = VIsual;
-- visual_active = TRUE;
--
-- /* just started visual selection, only one character */
-- if (equalpos(VIsual, curwin->w_cursor))
-- visual_active = FALSE;
--
-- pos = curwin->w_cursor;
-- start_pos = VIsual;
--
-- /* make sure, searching further will extend the match */
-- if (VIsual_active)
-- {
-- if (forward)
-- incl(&pos);
-- else
-- decl(&pos);
-- }
-- }
-- else
-- orig_pos = pos = start_pos = curwin->w_cursor;
--
-- /*
-- * The trick is to first search backwards and then search forward again,
-- * so that a match at the current cursor position will be correctly
-- * captured.
-- */
-- for (i = 0; i < 2; i++)
-- {
-- if (i && count == 1)
-- flags = SEARCH_START;
--
-- if (forward)
-- dir = i;
-- else
-- dir = !i;
-- result = searchit(curwin, curbuf, &pos, (dir ? FORWARD : BACKWARD),
-- spats[last_idx].pat, (long) (i ? count : 1),
-- SEARCH_KEEP | flags | (dir ? 0 : SEARCH_END),
-- RE_SEARCH, 0, NULL);
--
-- /* First search may fail, but then start searching from the
-- * beginning of the file (cursor might be on the search match)
-- * except when Visual mode is active, so that extending the visual
-- * selection works. */
-- if (!result && i) /* not found, abort */
-- {
-- curwin->w_cursor = orig_pos;
-- if (VIsual_active)
-- VIsual = save_VIsual;
-- p_ws = old_p_ws;
-- return FAIL;
-- }
-- else if (!i && !result && !visual_active)
-- {
-- if (forward) /* try again from start of buffer */
-- {
-- clearpos(&pos);
-- }
-- else /* try again from end of buffer */
-- {
-- /* searching backwards, so set pos to last line and col */
-- pos.lnum = curwin->w_buffer->b_ml.ml_line_count;
-- pos.col = STRLEN(ml_get(curwin->w_buffer->b_ml.ml_line_count));
-- }
-- }
--
-- }
--
-- start_pos = pos;
-- flags = (forward ? SEARCH_END : 0);
--
-- /* move to match */
-- result = searchit(curwin, curbuf, &pos, (forward ? FORWARD : BACKWARD),
-- spats[last_idx].pat, 0L, flags | SEARCH_KEEP, RE_SEARCH, 0, NULL);
--
-- if (!VIsual_active)
-- VIsual = start_pos;
--
-- p_ws = old_p_ws;
-- curwin->w_cursor = pos;
-- VIsual_active = TRUE;
-- VIsual_mode = 'v';
--
-- if (VIsual_active)
-- {
-- redraw_curbuf_later(INVERTED); /* update the inversion */
-- if (*p_sel == 'e' && ltoreq(VIsual, curwin->w_cursor))
-- inc_cursor();
-- }
--
-- #ifdef FEAT_FOLDING
-- if (fdo_flags & FDO_SEARCH && KeyTyped)
-- foldOpenCursor();
-- #endif
--
-- may_start_select('c');
-- #ifdef FEAT_MOUSE
-- setmouse();
-- #endif
-- #ifdef FEAT_CLIPBOARD
-- /* Make sure the clipboard gets updated. Needed because start and
-- * end are still the same, and the selection needs to be owned */
-- clip_star.vmode = NUL;
-- #endif
-- redraw_curbuf_later(INVERTED);
-- showmode();
--
-- return OK;
-- }
-- #endif /* FEAT_VISUAL */
--
- /*
- * Find sentence(s) under the cursor, cursor at end.
- * When Visual active, extend it by one or more sentences.
---- 3397,3402 ----
-***************
-*** 4670,4675 ****
---- 4525,4675 ----
-
- #endif /* FEAT_TEXTOBJ */
-
-+ #if defined(FEAT_VISUAL) || defined(PROTO)
-+ /*
-+ * Find next search match under cursor, cursor at end.
-+ * Used while an operator is pending, and in Visual mode.
-+ * TODO: redo only works when used in operator pending mode
-+ */
-+ int
-+ current_search(count, forward)
-+ long count;
-+ int forward; /* move forward or backwards */
-+ {
-+ pos_T start_pos; /* position before the pattern */
-+ pos_T orig_pos; /* position of the cursor at beginning */
-+ pos_T pos; /* position after the pattern */
-+ int i;
-+ int dir;
-+ int result; /* result of various function calls */
-+ char_u old_p_ws = p_ws;
-+ int visual_active = FALSE;
-+ int flags = 0;
-+ pos_T save_VIsual;
-+
-+
-+ /* wrapping should not occur */
-+ p_ws = FALSE;
-+
-+ /* Correct cursor when 'selection' is exclusive */
-+ if (VIsual_active && *p_sel == 'e' && lt(VIsual, curwin->w_cursor))
-+ dec_cursor();
-+
-+ if (VIsual_active)
-+ {
-+ orig_pos = curwin->w_cursor;
-+ save_VIsual = VIsual;
-+ visual_active = TRUE;
-+
-+ /* just started visual selection, only one character */
-+ if (equalpos(VIsual, curwin->w_cursor))
-+ visual_active = FALSE;
-+
-+ pos = curwin->w_cursor;
-+ start_pos = VIsual;
-+
-+ /* make sure, searching further will extend the match */
-+ if (VIsual_active)
-+ {
-+ if (forward)
-+ incl(&pos);
-+ else
-+ decl(&pos);
-+ }
-+ }
-+ else
-+ orig_pos = pos = start_pos = curwin->w_cursor;
-+
-+ /*
-+ * The trick is to first search backwards and then search forward again,
-+ * so that a match at the current cursor position will be correctly
-+ * captured.
-+ */
-+ for (i = 0; i < 2; i++)
-+ {
-+ if (i && count == 1)
-+ flags = SEARCH_START;
-+
-+ if (forward)
-+ dir = i;
-+ else
-+ dir = !i;
-+ result = searchit(curwin, curbuf, &pos, (dir ? FORWARD : BACKWARD),
-+ spats[last_idx].pat, (long) (i ? count : 1),
-+ SEARCH_KEEP | flags | (dir ? 0 : SEARCH_END),
-+ RE_SEARCH, 0, NULL);
-+
-+ /* First search may fail, but then start searching from the
-+ * beginning of the file (cursor might be on the search match)
-+ * except when Visual mode is active, so that extending the visual
-+ * selection works. */
-+ if (!result && i) /* not found, abort */
-+ {
-+ curwin->w_cursor = orig_pos;
-+ if (VIsual_active)
-+ VIsual = save_VIsual;
-+ p_ws = old_p_ws;
-+ return FAIL;
-+ }
-+ else if (!i && !result && !visual_active)
-+ {
-+ if (forward) /* try again from start of buffer */
-+ {
-+ clearpos(&pos);
-+ }
-+ else /* try again from end of buffer */
-+ {
-+ /* searching backwards, so set pos to last line and col */
-+ pos.lnum = curwin->w_buffer->b_ml.ml_line_count;
-+ pos.col = STRLEN(ml_get(curwin->w_buffer->b_ml.ml_line_count));
-+ }
-+ }
-+
-+ }
-+
-+ start_pos = pos;
-+ flags = (forward ? SEARCH_END : 0);
-+
-+ /* move to match */
-+ result = searchit(curwin, curbuf, &pos, (forward ? FORWARD : BACKWARD),
-+ spats[last_idx].pat, 0L, flags | SEARCH_KEEP, RE_SEARCH, 0, NULL);
-+
-+ if (!VIsual_active)
-+ VIsual = start_pos;
-+
-+ p_ws = old_p_ws;
-+ curwin->w_cursor = pos;
-+ VIsual_active = TRUE;
-+ VIsual_mode = 'v';
-+
-+ if (VIsual_active)
-+ {
-+ redraw_curbuf_later(INVERTED); /* update the inversion */
-+ if (*p_sel == 'e' && ltoreq(VIsual, curwin->w_cursor))
-+ inc_cursor();
-+ }
-+
-+ #ifdef FEAT_FOLDING
-+ if (fdo_flags & FDO_SEARCH && KeyTyped)
-+ foldOpenCursor();
-+ #endif
-+
-+ may_start_select('c');
-+ #ifdef FEAT_MOUSE
-+ setmouse();
-+ #endif
-+ #ifdef FEAT_CLIPBOARD
-+ /* Make sure the clipboard gets updated. Needed because start and
-+ * end are still the same, and the selection needs to be owned */
-+ clip_star.vmode = NUL;
-+ #endif
-+ redraw_curbuf_later(INVERTED);
-+ showmode();
-+
-+ return OK;
-+ }
-+ #endif /* FEAT_VISUAL */
-+
- #if defined(FEAT_LISP) || defined(FEAT_CINDENT) || defined(FEAT_TEXTOBJ) \
- || defined(PROTO)
- /*
-*** ../vim-7.3.617/src/version.c 2012-07-27 21:12:03.000000000 +0200
---- src/version.c 2012-07-29 12:54:29.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 618,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-185. You order fast food over the Internet
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.619 b/source/ap/vim/patches/7.3.619
deleted file mode 100644
index 1fedcc786..000000000
--- a/source/ap/vim/patches/7.3.619
+++ /dev/null
@@ -1,50 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.619
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.619
-Problem: When executing a shell command Vim may become slow to respond.
-Solution: Don't wait after every processed message. (idea by Yasuhiro
- Matsumoto)
-Files: src/os_win32.c
-
-
-*** ../vim-7.3.618/src/os_win32.c 2012-07-19 11:37:22.000000000 +0200
---- src/os_win32.c 2012-08-02 12:30:52.000000000 +0200
-***************
-*** 3319,3324 ****
---- 3319,3326 ----
- {
- TranslateMessage(&msg);
- pDispatchMessage(&msg);
-+ delay = 1;
-+ continue;
- }
- if (WaitForSingleObject(pi.hProcess, delay) != WAIT_TIMEOUT)
- break;
-*** ../vim-7.3.618/src/version.c 2012-07-29 12:55:21.000000000 +0200
---- src/version.c 2012-08-02 12:29:08.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 619,
- /**/
-
---
-Some of the well know MS-Windows errors:
- EMULTI Multitasking attempted, system confused
- EKEYBOARD Keyboard locked, try getting out of this one!
- EXPLAIN Unexplained error, please tell us what happened
- EFUTURE Reserved for our future mistakes
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.620 b/source/ap/vim/patches/7.3.620
deleted file mode 100644
index 5890f15f9..000000000
--- a/source/ap/vim/patches/7.3.620
+++ /dev/null
@@ -1,163 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.620
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.620
-Problem: Building with recent Ruby on Win32 doesn't work.
-Solution: Add a separate argument for the API version. (Yasuhiro Matsumoto)
-Files: src/Make_ming.mak, src/Make_mvc.mak
-
-
-*** ../vim-7.3.619/src/Make_ming.mak 2012-07-06 13:40:44.000000000 +0200
---- src/Make_ming.mak 2012-08-02 17:02:34.000000000 +0200
-***************
-*** 260,266 ****
- # DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically)
- # RUBY_VER=[Ruby version, eg 16, 17] (default is 16)
- # RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.6)
-! # You must set RUBY_VER_LONG when change RUBY_VER.
- #RUBY=c:/ruby
- ifdef RUBY
- ifndef DYNAMIC_RUBY
---- 260,268 ----
- # DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically)
- # RUBY_VER=[Ruby version, eg 16, 17] (default is 16)
- # RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.6)
-! # You must set RUBY_VER_LONG when changing RUBY_VER.
-! # You must set RUBY_API_VER version to RUBY_VER_LONG.
-! # Don't set ruby API version to RUBY_VER like 191.
- #RUBY=c:/ruby
- ifdef RUBY
- ifndef DYNAMIC_RUBY
-***************
-*** 273,278 ****
---- 275,283 ----
- ifndef RUBY_VER_LONG
- RUBY_VER_LONG = 1.6
- endif
-+ ifndef RUBY_API_VER
-+ RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG))
-+ endif
-
- ifndef RUBY_PLATFORM
- ifeq ($(RUBY_VER), 16)
-***************
-*** 288,296 ****
-
- ifndef RUBY_INSTALL_NAME
- ifeq ($(RUBY_VER), 16)
-! RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
- else
-! RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
- endif
- endif
-
---- 293,301 ----
-
- ifndef RUBY_INSTALL_NAME
- ifeq ($(RUBY_VER), 16)
-! RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
- else
-! RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
- endif
- endif
-
-*** ../vim-7.3.619/src/Make_mvc.mak 2012-02-22 16:01:53.000000000 +0100
---- src/Make_mvc.mak 2012-08-02 17:42:31.000000000 +0200
-***************
-*** 63,68 ****
---- 63,70 ----
- # RUBY_VER=[Ruby version, eg 16, 17] (default is 18)
- # RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.8)
- # You must set RUBY_VER_LONG when change RUBY_VER.
-+ # You must set RUBY_API_VER to RUBY_VER_LONG.
-+ # Don't set ruby API version to RUBY_VER like 191.
- #
- # Tcl interface:
- # TCL=[Path to Tcl directory]
-***************
-*** 807,834 ****
- !ifndef RUBY_VER_LONG
- RUBY_VER_LONG = 1.8
- !endif
-
- !if $(RUBY_VER) >= 18
- !ifndef RUBY_PLATFORM
- RUBY_PLATFORM = i386-mswin32
- !endif
- !ifndef RUBY_INSTALL_NAME
-! RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
- !endif
- !else
- !ifndef RUBY_PLATFORM
- RUBY_PLATFORM = i586-mswin32
- !endif
- !ifndef RUBY_INSTALL_NAME
-! RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
- !endif
- !endif # $(RUBY_VER) >= 18
-
- !message Ruby requested (version $(RUBY_VER)) - root dir is "$(RUBY)"
- CFLAGS = $(CFLAGS) -DFEAT_RUBY
- RUBY_OBJ = $(OUTDIR)\if_ruby.obj
-! !if $(RUBY_VER) >= 190
-! RUBY_INC = /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)\$(RUBY_PLATFORM)" /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)"
- !else
- RUBY_INC = /I "$(RUBY)\lib\ruby\$(RUBY_VER_LONG)\$(RUBY_PLATFORM)"
- !endif
---- 813,843 ----
- !ifndef RUBY_VER_LONG
- RUBY_VER_LONG = 1.8
- !endif
-+ !ifndef RUBY_API_VER
-+ RUBY_API_VER = $(RUBY_VER_LONG:.=)
-+ !endif
-
- !if $(RUBY_VER) >= 18
- !ifndef RUBY_PLATFORM
- RUBY_PLATFORM = i386-mswin32
- !endif
- !ifndef RUBY_INSTALL_NAME
-! RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
- !endif
- !else
- !ifndef RUBY_PLATFORM
- RUBY_PLATFORM = i586-mswin32
- !endif
- !ifndef RUBY_INSTALL_NAME
-! RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
- !endif
- !endif # $(RUBY_VER) >= 18
-
- !message Ruby requested (version $(RUBY_VER)) - root dir is "$(RUBY)"
- CFLAGS = $(CFLAGS) -DFEAT_RUBY
- RUBY_OBJ = $(OUTDIR)\if_ruby.obj
-! !if $(RUBY_VER) >= 19
-! RUBY_INC = /I "$(RUBY)\lib\ruby\$(RUBY_VER_LONG)\$(RUBY_PLATFORM)" /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)" /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)\$(RUBY_PLATFORM)"
- !else
- RUBY_INC = /I "$(RUBY)\lib\ruby\$(RUBY_VER_LONG)\$(RUBY_PLATFORM)"
- !endif
-*** ../vim-7.3.619/src/version.c 2012-08-02 12:31:40.000000000 +0200
---- src/version.c 2012-08-02 21:20:28.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 620,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-199. You read this entire list of symptoms, looking for something
- that doesn't describe you.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.621 b/source/ap/vim/patches/7.3.621
deleted file mode 100644
index 7e3fe2a55..000000000
--- a/source/ap/vim/patches/7.3.621
+++ /dev/null
@@ -1,72 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.621
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.621
-Problem: Compiler warnings on 64 bit windows.
-Solution: Add type casts. (Mike Williams)
-Files: src/ex_docmd.c, src/search.c
-
-
-*** ../vim-7.3.620/src/ex_docmd.c 2012-07-27 21:12:03.000000000 +0200
---- src/ex_docmd.c 2012-08-02 21:19:22.000000000 +0200
-***************
-*** 3392,3398 ****
- /* Find start of last argument (argument just before cursor): */
- p = buff;
- xp->xp_pattern = p;
-! len = STRLEN(buff);
- while (*p && p < buff + len)
- {
- if (*p == ' ' || *p == TAB)
---- 3392,3398 ----
- /* Find start of last argument (argument just before cursor): */
- p = buff;
- xp->xp_pattern = p;
-! len = (int)STRLEN(buff);
- while (*p && p < buff + len)
- {
- if (*p == ' ' || *p == TAB)
-*** ../vim-7.3.620/src/search.c 2012-07-29 12:55:21.000000000 +0200
---- src/search.c 2012-08-02 21:20:02.000000000 +0200
-***************
-*** 4621,4627 ****
- {
- /* searching backwards, so set pos to last line and col */
- pos.lnum = curwin->w_buffer->b_ml.ml_line_count;
-! pos.col = STRLEN(ml_get(curwin->w_buffer->b_ml.ml_line_count));
- }
- }
-
---- 4621,4628 ----
- {
- /* searching backwards, so set pos to last line and col */
- pos.lnum = curwin->w_buffer->b_ml.ml_line_count;
-! pos.col = (colnr_T)STRLEN(
-! ml_get(curwin->w_buffer->b_ml.ml_line_count));
- }
- }
-
-*** ../vim-7.3.620/src/version.c 2012-08-02 21:21:43.000000000 +0200
---- src/version.c 2012-08-02 21:23:13.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 621,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-200. You really believe in the concept of a "paperless" office.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.622 b/source/ap/vim/patches/7.3.622
deleted file mode 100644
index a2c260147..000000000
--- a/source/ap/vim/patches/7.3.622
+++ /dev/null
@@ -1,56 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.622
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.622
-Problem: XPM library for Win32 can't be found.
-Solution: Suggest using the one from the Vim ftp site.
-Files: src/Make_mvc.mak
-
-
-*** ../vim-7.3.621/src/Make_mvc.mak 2012-08-02 21:21:43.000000000 +0200
---- src/Make_mvc.mak 2012-08-02 21:45:52.000000000 +0200
-***************
-*** 281,287 ****
-
- !ifdef XPM
- # XPM - Include support for XPM signs
-! # you can get xpm.lib from http://iamphet.nm.ru/xpm or create it yourself
- XPM_OBJ = $(OBJDIR)/xpm_w32.obj
- XPM_DEFS = -DFEAT_XPM_W32
- XPM_LIB = $(XPM)\lib\libXpm.lib
---- 281,291 ----
-
- !ifdef XPM
- # XPM - Include support for XPM signs
-! # You need to download or build xpm.lib somehow.
-! # You can get the most recent version of libXpm-*.zip from
-! # http://cgit.freedesktop.org/xorg/lib/libXpm
-! # from which you must build xpm.lib yourself
-! # OR get and unpack: ftp://ftp.vim.org/pub/vim/pcextra/xpm.zip
- XPM_OBJ = $(OBJDIR)/xpm_w32.obj
- XPM_DEFS = -DFEAT_XPM_W32
- XPM_LIB = $(XPM)\lib\libXpm.lib
-*** ../vim-7.3.621/src/version.c 2012-08-02 21:24:38.000000000 +0200
---- src/version.c 2012-08-02 21:46:43.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 622,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-202. You're amazed to find out Spam is a food.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.623 b/source/ap/vim/patches/7.3.623
deleted file mode 100644
index 72aea71f6..000000000
--- a/source/ap/vim/patches/7.3.623
+++ /dev/null
@@ -1,92 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.623
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.623
-Problem: Perl 5.14 commands crash Vim on MS-Windows.
-Solution: Use perl_get_sv() instead of GvSV(). (Raymond Ko)
-Files: src/if_perl.xs
-
-
-*** ../vim-7.3.622/src/if_perl.xs 2012-03-16 19:34:43.000000000 +0100
---- src/if_perl.xs 2012-08-08 13:15:29.000000000 +0200
-***************
-*** 76,81 ****
---- 76,87 ----
- # define EXTERN_C
- #endif
-
-+ #if (PERL_REVISION == 5) && (PERL_VERSION >= 14) && defined(_MSC_VER)
-+ /* Using PL_errgv to get the error message after perl_eval_sv() causes a crash
-+ * with MSVC and Perl version 5.14. */
-+ # define AVOID_PL_ERRGV
-+ #endif
-+
- /* Compatibility hacks over */
-
- static PerlInterpreter *perl_interp = NULL;
-***************
-*** 796,802 ****
---- 802,812 ----
-
- SvREFCNT_dec(sv);
-
-+ #ifdef AVOID_PL_ERRGV
-+ err = SvPV(perl_get_sv("@", GV_ADD), length);
-+ #else
- err = SvPV(GvSV(PL_errgv), length);
-+ #endif
-
- FREETMPS;
- LEAVE;
-***************
-*** 866,872 ****
---- 876,886 ----
- sv_catpvn(sv, "}", 1);
- perl_eval_sv(sv, G_DISCARD | G_NOARGS);
- SvREFCNT_dec(sv);
-+ #ifdef AVOID_PL_ERRGV
-+ str = SvPV(perl_get_sv("@", GV_ADD), length);
-+ #else
- str = SvPV(GvSV(PL_errgv), length);
-+ #endif
- if (length)
- goto err;
-
-***************
-*** 880,886 ****
---- 894,904 ----
- sv_setpv(GvSV(PL_defgv), (char *)ml_get(i));
- PUSHMARK(sp);
- perl_call_pv("VIM::perldo", G_SCALAR | G_EVAL);
-+ #ifdef AVOID_PL_ERRGV
-+ str = SvPV(perl_get_sv("@", GV_ADD), length);
-+ #else
- str = SvPV(GvSV(PL_errgv), length);
-+ #endif
- if (length)
- break;
- SPAGAIN;
-*** ../vim-7.3.622/src/version.c 2012-08-02 21:48:20.000000000 +0200
---- src/version.c 2012-08-08 13:08:10.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 623,
- /**/
-
---
-Don't be humble ... you're not that great.
- -- Golda Meir
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.624 b/source/ap/vim/patches/7.3.624
deleted file mode 100644
index f1150b634..000000000
--- a/source/ap/vim/patches/7.3.624
+++ /dev/null
@@ -1,52 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.624
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.624
-Problem: When cancelling input() it returns the third argument. That should
- only happen for inputdialog().
-Solution: Check if inputdialog() was used. (Hirohito Higashi)
-Files: src/eval.c
-
-
-*** ../vim-7.3.623/src/eval.c 2012-07-25 16:46:59.000000000 +0200
---- src/eval.c 2012-08-08 14:31:48.000000000 +0200
-***************
-*** 12966,12972 ****
- rettv->vval.v_string =
- getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr,
- xp_type, xp_arg);
-! if (rettv->vval.v_string == NULL
- && argvars[1].v_type != VAR_UNKNOWN
- && argvars[2].v_type != VAR_UNKNOWN)
- rettv->vval.v_string = vim_strsave(get_tv_string_buf(
---- 12966,12972 ----
- rettv->vval.v_string =
- getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr,
- xp_type, xp_arg);
-! if (inputdialog && rettv->vval.v_string == NULL
- && argvars[1].v_type != VAR_UNKNOWN
- && argvars[2].v_type != VAR_UNKNOWN)
- rettv->vval.v_string = vim_strsave(get_tv_string_buf(
-*** ../vim-7.3.623/src/version.c 2012-08-08 13:17:26.000000000 +0200
---- src/version.c 2012-08-08 14:28:46.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 624,
- /**/
-
---
-Your fault: core dumped
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.625 b/source/ap/vim/patches/7.3.625
deleted file mode 100644
index 5334bc8f9..000000000
--- a/source/ap/vim/patches/7.3.625
+++ /dev/null
@@ -1,140 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.625
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.625
-Problem: "gn" does not handle zero-width matches correctly.
-Solution: Handle zero-width patterns specially. (Christian Brabandt)
-Files: src/search.c
-
-
-*** ../vim-7.3.624/src/search.c 2012-08-02 21:24:38.000000000 +0200
---- src/search.c 2012-08-08 15:25:12.000000000 +0200
-***************
-*** 4546,4551 ****
---- 4546,4554 ----
- int visual_active = FALSE;
- int flags = 0;
- pos_T save_VIsual;
-+ regmmatch_T regmatch;
-+ int nmatched = 0;
-+ int zerowidth = FALSE;
-
-
- /* wrapping should not occur */
-***************
-*** 4581,4603 ****
- orig_pos = pos = start_pos = curwin->w_cursor;
-
- /*
- * The trick is to first search backwards and then search forward again,
- * so that a match at the current cursor position will be correctly
- * captured.
- */
- for (i = 0; i < 2; i++)
- {
-- if (i && count == 1)
-- flags = SEARCH_START;
--
- if (forward)
- dir = i;
- else
- dir = !i;
- result = searchit(curwin, curbuf, &pos, (dir ? FORWARD : BACKWARD),
- spats[last_idx].pat, (long) (i ? count : 1),
-! SEARCH_KEEP | flags | (dir ? 0 : SEARCH_END),
-! RE_SEARCH, 0, NULL);
-
- /* First search may fail, but then start searching from the
- * beginning of the file (cursor might be on the search match)
---- 4584,4625 ----
- orig_pos = pos = start_pos = curwin->w_cursor;
-
- /*
-+ * Check for zero-width pattern.
-+ */
-+ if (search_regcomp(spats[last_idx].pat, RE_SEARCH, RE_SEARCH,
-+ ((SEARCH_HIS + SEARCH_KEEP)), &regmatch) == FAIL)
-+ return FAIL;
-+
-+ /* Zero-width pattern should match somewhere, then we can check if start
-+ * and end are in the same position. */
-+ nmatched = vim_regexec_multi(&regmatch, curwin, curbuf,
-+ curwin->w_cursor.lnum, (colnr_T)0, NULL);
-+ if (called_emsg)
-+ return FAIL;
-+ if (nmatched && regmatch.startpos[0].lnum == regmatch.endpos[0].lnum
-+ && regmatch.endpos[0].col == regmatch.startpos[0].col)
-+ zerowidth = TRUE;
-+ vim_free(regmatch.regprog);
-+
-+ /*
- * The trick is to first search backwards and then search forward again,
- * so that a match at the current cursor position will be correctly
- * captured.
- */
- for (i = 0; i < 2; i++)
- {
- if (forward)
- dir = i;
- else
- dir = !i;
-+
-+ flags = 0;
-+ if (!dir && !zerowidth)
-+ flags = SEARCH_END;
-+
- result = searchit(curwin, curbuf, &pos, (dir ? FORWARD : BACKWARD),
- spats[last_idx].pat, (long) (i ? count : 1),
-! SEARCH_KEEP | flags, RE_SEARCH, 0, NULL);
-
- /* First search may fail, but then start searching from the
- * beginning of the file (cursor might be on the search match)
-***************
-*** 4629,4638 ****
- }
-
- start_pos = pos;
-! flags = (forward ? SEARCH_END : 0);
-
-! /* move to match */
-! result = searchit(curwin, curbuf, &pos, (forward ? FORWARD : BACKWARD),
- spats[last_idx].pat, 0L, flags | SEARCH_KEEP, RE_SEARCH, 0, NULL);
-
- if (!VIsual_active)
---- 4651,4662 ----
- }
-
- start_pos = pos;
-! flags = forward ? SEARCH_END : 0;
-
-! /* move to match, except for zero-width matches, in which case, we are
-! * already on the next match */
-! if (!zerowidth)
-! result = searchit(curwin, curbuf, &pos, (forward ? FORWARD : BACKWARD),
- spats[last_idx].pat, 0L, flags | SEARCH_KEEP, RE_SEARCH, 0, NULL);
-
- if (!VIsual_active)
-*** ../vim-7.3.624/src/version.c 2012-08-08 14:33:16.000000000 +0200
---- src/version.c 2012-08-08 15:21:53.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 625,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-222. You send more than 20 personal e-mails a day.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.626 b/source/ap/vim/patches/7.3.626
deleted file mode 100644
index 33b154565..000000000
--- a/source/ap/vim/patches/7.3.626
+++ /dev/null
@@ -1,49 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.626
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.626
-Problem: Python interface doesn't build with Python 2.4 or older.
-Solution: Define Py_ssize_t. (Benjamin Bannier)
-Files: src/if_py_both.h
-
-
-*** ../vim-7.3.625/src/if_py_both.h 2012-07-25 15:36:00.000000000 +0200
---- src/if_py_both.h 2012-08-08 15:53:24.000000000 +0200
-***************
-*** 12,17 ****
---- 12,21 ----
- * Common code for if_python.c and if_python3.c.
- */
-
-+ #if PY_VERSION_HEX < 0x02050000
-+ typedef int Py_ssize_t; /* Python 2.4 and earlier don't have this type. */
-+ #endif
-+
- #ifdef FEAT_MBYTE
- # define ENC_OPT p_enc
- #else
-*** ../vim-7.3.625/src/version.c 2012-08-08 15:27:54.000000000 +0200
---- src/version.c 2012-08-08 15:52:07.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 626,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-224. You set up your own Web page. You set up a Web page for each
- of your kids... and your pets.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.627 b/source/ap/vim/patches/7.3.627
deleted file mode 100644
index 97a0298dc..000000000
--- a/source/ap/vim/patches/7.3.627
+++ /dev/null
@@ -1,102 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.627
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.627
-Problem: When using the "n" flag with the ":s" command a \= substitution
- will not be evaluated.
-Solution: Do perform the evaluation, so that a function can be invoked at
- every matching position without changing the text. (Christian
- Brabandt)
-Files: src/ex_cmds.c
-
-
-*** ../vim-7.3.626/src/ex_cmds.c 2012-07-10 15:18:18.000000000 +0200
---- src/ex_cmds.c 2012-08-08 16:44:16.000000000 +0200
-***************
-*** 4264,4269 ****
---- 4264,4272 ----
- int endcolumn = FALSE; /* cursor in last column when done */
- pos_T old_cursor = curwin->w_cursor;
- int start_nsubs;
-+ #ifdef FEAT_EVAL
-+ int save_ma = 0;
-+ #endif
-
- cmd = eap->arg;
- if (!global_busy)
-***************
-*** 4668,4674 ****
- }
- sub_nsubs++;
- did_sub = TRUE;
-! goto skip;
- }
-
- if (do_ask)
---- 4671,4682 ----
- }
- sub_nsubs++;
- did_sub = TRUE;
-! #ifdef FEAT_EVAL
-! /* Skip the substitution, unless an expression is used,
-! * then it is evaluated in the sandbox. */
-! if (!(sub[0] == '\\' && sub[1] == '='))
-! #endif
-! goto skip;
- }
-
- if (do_ask)
-***************
-*** 4840,4849 ****
---- 4848,4874 ----
- /*
- * 3. substitute the string.
- */
-+ #ifdef FEAT_EVAL
-+ if (do_count)
-+ {
-+ /* prevent accidently changing the buffer by a function */
-+ save_ma = curbuf->b_p_ma;
-+ curbuf->b_p_ma = FALSE;
-+ sandbox++;
-+ }
-+ #endif
- /* get length of substitution part */
- sublen = vim_regsub_multi(&regmatch,
- sub_firstlnum - regmatch.startpos[0].lnum,
- sub, sub_firstline, FALSE, p_magic, TRUE);
-+ #ifdef FEAT_EVAL
-+ if (do_count)
-+ {
-+ curbuf->b_p_ma = save_ma;
-+ sandbox--;
-+ goto skip;
-+ }
-+ #endif
-
- /* When the match included the "$" of the last line it may
- * go beyond the last line of the buffer. */
-*** ../vim-7.3.626/src/version.c 2012-08-08 16:05:03.000000000 +0200
---- src/version.c 2012-08-08 16:48:45.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 627,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-225. You sign up for free subscriptions for all the computer magazines
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.628 b/source/ap/vim/patches/7.3.628
deleted file mode 100644
index bab314796..000000000
--- a/source/ap/vim/patches/7.3.628
+++ /dev/null
@@ -1,54 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.628
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.628
-Problem: ":open" does not allow for a !, which results in a confusing error
- message. (Shawn Wilson)
-Solution: Allow ! on ":open". (Christian Brabandt)
-Files: src/ex_cmds.h
-
-
-*** ../vim-7.3.627/src/ex_cmds.h 2012-07-06 18:27:34.000000000 +0200
---- src/ex_cmds.h 2012-08-08 17:15:45.000000000 +0200
-***************
-*** 662,668 ****
- EX(CMD_nunmenu, "nunmenu", ex_menu,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_open, "open", ex_open,
-! RANGE|EXTRA),
- EX(CMD_oldfiles, "oldfiles", ex_oldfiles,
- BANG|TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_omap, "omap", ex_map,
---- 662,668 ----
- EX(CMD_nunmenu, "nunmenu", ex_menu,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_open, "open", ex_open,
-! RANGE|BANG|EXTRA),
- EX(CMD_oldfiles, "oldfiles", ex_oldfiles,
- BANG|TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_omap, "omap", ex_map,
-*** ../vim-7.3.627/src/version.c 2012-08-08 16:50:40.000000000 +0200
---- src/version.c 2012-08-08 17:30:14.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 628,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-226. You sit down at the computer right after dinner and your spouse
- says "See you in the morning."
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.629 b/source/ap/vim/patches/7.3.629
deleted file mode 100644
index 8e26dd49d..000000000
--- a/source/ap/vim/patches/7.3.629
+++ /dev/null
@@ -1,437 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.629
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.629
-Problem: There is no way to make 'shiftwidth' follow 'tabstop'.
-Solution: When 'shiftwidth' is zero use the value of 'tabstop'. (Christian
- Brabandt)
-Files: src/edit.c, src/ex_getln.c, src/fold.c, src/misc1.c, src/ops.c,
- src/option.c, src/proto/option.pro
-
-
-*** ../vim-7.3.628/src/edit.c 2012-07-25 16:46:59.000000000 +0200
---- src/edit.c 2012-08-08 17:55:37.000000000 +0200
-***************
-*** 8899,8907 ****
-
- *inserted_space_p = FALSE;
- if (p_sta && in_indent)
-! ts = curbuf->b_p_sw;
- else
-! ts = curbuf->b_p_sts;
- /* Compute the virtual column where we want to be. Since
- * 'showbreak' may get in the way, need to get the last column of
- * the previous character. */
---- 8899,8907 ----
-
- *inserted_space_p = FALSE;
- if (p_sta && in_indent)
-! ts = (int)get_sw_value();
- else
-! ts = (int)curbuf->b_p_sts;
- /* Compute the virtual column where we want to be. Since
- * 'showbreak' may get in the way, need to get the last column of
- * the previous character. */
-***************
-*** 9589,9595 ****
- * When nothing special, insert TAB like a normal character
- */
- if (!curbuf->b_p_et
-! && !(p_sta && ind && curbuf->b_p_ts != curbuf->b_p_sw)
- && curbuf->b_p_sts == 0)
- return TRUE;
-
---- 9589,9595 ----
- * When nothing special, insert TAB like a normal character
- */
- if (!curbuf->b_p_et
-! && !(p_sta && ind && curbuf->b_p_ts != get_sw_value())
- && curbuf->b_p_sts == 0)
- return TRUE;
-
-***************
-*** 9605,9611 ****
- AppendToRedobuff((char_u *)"\t");
-
- if (p_sta && ind) /* insert tab in indent, use 'shiftwidth' */
-! temp = (int)curbuf->b_p_sw;
- else if (curbuf->b_p_sts > 0) /* use 'softtabstop' when set */
- temp = (int)curbuf->b_p_sts;
- else /* otherwise use 'tabstop' */
---- 9605,9611 ----
- AppendToRedobuff((char_u *)"\t");
-
- if (p_sta && ind) /* insert tab in indent, use 'shiftwidth' */
-! temp = (int)get_sw_value();
- else if (curbuf->b_p_sts > 0) /* use 'softtabstop' when set */
- temp = (int)curbuf->b_p_sts;
- else /* otherwise use 'tabstop' */
-*** ../vim-7.3.628/src/ex_getln.c 2012-06-29 13:44:37.000000000 +0200
---- src/ex_getln.c 2012-08-08 17:39:40.000000000 +0200
-***************
-*** 2268,2277 ****
-
- if (c1 == Ctrl_T)
- {
- p = (char_u *)line_ga.ga_data;
- p[line_ga.ga_len] = NUL;
- indent = get_indent_str(p, 8);
-! indent += curbuf->b_p_sw - indent % curbuf->b_p_sw;
- add_indent:
- while (get_indent_str(p, 8) < indent)
- {
---- 2268,2279 ----
-
- if (c1 == Ctrl_T)
- {
-+ long sw = get_sw_value();
-+
- p = (char_u *)line_ga.ga_data;
- p[line_ga.ga_len] = NUL;
- indent = get_indent_str(p, 8);
-! indent += sw - indent % sw;
- add_indent:
- while (get_indent_str(p, 8) < indent)
- {
-***************
-*** 2323,2329 ****
- p[line_ga.ga_len] = NUL;
- indent = get_indent_str(p, 8);
- --indent;
-! indent -= indent % curbuf->b_p_sw;
- }
- while (get_indent_str(p, 8) > indent)
- {
---- 2325,2331 ----
- p[line_ga.ga_len] = NUL;
- indent = get_indent_str(p, 8);
- --indent;
-! indent -= indent % get_sw_value();
- }
- while (get_indent_str(p, 8) > indent)
- {
-*** ../vim-7.3.628/src/fold.c 2012-02-29 19:19:57.000000000 +0100
---- src/fold.c 2012-08-08 17:40:11.000000000 +0200
-***************
-*** 3025,3031 ****
- flp->lvl = -1;
- }
- else
-! flp->lvl = get_indent_buf(buf, lnum) / buf->b_p_sw;
- if (flp->lvl > flp->wp->w_p_fdn)
- {
- flp->lvl = flp->wp->w_p_fdn;
---- 3025,3031 ----
- flp->lvl = -1;
- }
- else
-! flp->lvl = get_indent_buf(buf, lnum) / get_sw_value();
- if (flp->lvl > flp->wp->w_p_fdn)
- {
- flp->lvl = flp->wp->w_p_fdn;
-*** ../vim-7.3.628/src/misc1.c 2012-07-25 16:09:59.000000000 +0200
---- src/misc1.c 2012-08-08 17:43:07.000000000 +0200
-***************
-*** 1389,1397 ****
- #ifdef FEAT_SMARTINDENT
- if (did_si)
- {
- if (p_sr)
-! newindent -= newindent % (int)curbuf->b_p_sw;
-! newindent += (int)curbuf->b_p_sw;
- }
- #endif
- /* Copy the indent */
---- 1389,1399 ----
- #ifdef FEAT_SMARTINDENT
- if (did_si)
- {
-+ int sw = (int)get_sw_value();
-+
- if (p_sr)
-! newindent -= newindent % sw;
-! newindent += sw;
- }
- #endif
- /* Copy the indent */
-***************
-*** 6461,6471 ****
- int
- get_c_indent()
- {
- /*
- * spaces from a block's opening brace the prevailing indent for that
- * block should be
- */
-! int ind_level = curbuf->b_p_sw;
-
- /*
- * spaces from the edge of the line an open brace that's at the end of a
---- 6463,6476 ----
- int
- get_c_indent()
- {
-+ int sw = (int)get_sw_value();
-+
- /*
- * spaces from a block's opening brace the prevailing indent for that
- * block should be
- */
-!
-! int ind_level = sw;
-
- /*
- * spaces from the edge of the line an open brace that's at the end of a
-***************
-*** 6512,6523 ****
- /*
- * spaces from the switch() indent a "case xx" label should be located
- */
-! int ind_case = curbuf->b_p_sw;
-
- /*
- * spaces from the "case xx:" code after a switch() should be located
- */
-! int ind_case_code = curbuf->b_p_sw;
-
- /*
- * lineup break at end of case in switch() with case label
---- 6517,6528 ----
- /*
- * spaces from the switch() indent a "case xx" label should be located
- */
-! int ind_case = sw;
-
- /*
- * spaces from the "case xx:" code after a switch() should be located
- */
-! int ind_case_code = sw;
-
- /*
- * lineup break at end of case in switch() with case label
-***************
-*** 6528,6572 ****
- * spaces from the class declaration indent a scope declaration label
- * should be located
- */
-! int ind_scopedecl = curbuf->b_p_sw;
-
- /*
- * spaces from the scope declaration label code should be located
- */
-! int ind_scopedecl_code = curbuf->b_p_sw;
-
- /*
- * amount K&R-style parameters should be indented
- */
-! int ind_param = curbuf->b_p_sw;
-
- /*
- * amount a function type spec should be indented
- */
-! int ind_func_type = curbuf->b_p_sw;
-
- /*
- * amount a cpp base class declaration or constructor initialization
- * should be indented
- */
-! int ind_cpp_baseclass = curbuf->b_p_sw;
-
- /*
- * additional spaces beyond the prevailing indent a continuation line
- * should be located
- */
-! int ind_continuation = curbuf->b_p_sw;
-
- /*
- * spaces from the indent of the line with an unclosed parentheses
- */
-! int ind_unclosed = curbuf->b_p_sw * 2;
-
- /*
- * spaces from the indent of the line with an unclosed parentheses, which
- * itself is also unclosed
- */
-! int ind_unclosed2 = curbuf->b_p_sw;
-
- /*
- * suppress ignoring spaces from the indent of a line starting with an
---- 6533,6577 ----
- * spaces from the class declaration indent a scope declaration label
- * should be located
- */
-! int ind_scopedecl = sw;
-
- /*
- * spaces from the scope declaration label code should be located
- */
-! int ind_scopedecl_code = sw;
-
- /*
- * amount K&R-style parameters should be indented
- */
-! int ind_param = sw;
-
- /*
- * amount a function type spec should be indented
- */
-! int ind_func_type = sw;
-
- /*
- * amount a cpp base class declaration or constructor initialization
- * should be indented
- */
-! int ind_cpp_baseclass = sw;
-
- /*
- * additional spaces beyond the prevailing indent a continuation line
- * should be located
- */
-! int ind_continuation = sw;
-
- /*
- * spaces from the indent of the line with an unclosed parentheses
- */
-! int ind_unclosed = sw * 2;
-
- /*
- * spaces from the indent of the line with an unclosed parentheses, which
- * itself is also unclosed
- */
-! int ind_unclosed2 = sw;
-
- /*
- * suppress ignoring spaces from the indent of a line starting with an
-***************
-*** 6719,6730 ****
- if (*options == 's') /* "2s" means two times 'shiftwidth' */
- {
- if (options == digits)
-! n = curbuf->b_p_sw; /* just "s" is one 'shiftwidth' */
- else
- {
-! n *= curbuf->b_p_sw;
- if (divider)
-! n += (curbuf->b_p_sw * fraction + divider / 2) / divider;
- }
- ++options;
- }
---- 6724,6735 ----
- if (*options == 's') /* "2s" means two times 'shiftwidth' */
- {
- if (options == digits)
-! n = sw; /* just "s" is one 'shiftwidth' */
- else
- {
-! n *= sw;
- if (divider)
-! n += (sw * fraction + divider / 2) / divider;
- }
- ++options;
- }
-*** ../vim-7.3.628/src/ops.c 2012-07-10 16:49:08.000000000 +0200
---- src/ops.c 2012-08-08 17:34:28.000000000 +0200
-***************
-*** 332,338 ****
- {
- int count;
- int i, j;
-! int p_sw = (int)curbuf->b_p_sw;
-
- count = get_indent(); /* get current indent */
-
---- 332,338 ----
- {
- int count;
- int i, j;
-! int p_sw = (int)get_sw_value();
-
- count = get_indent(); /* get current indent */
-
-***************
-*** 388,394 ****
- int total;
- char_u *newp, *oldp;
- int oldcol = curwin->w_cursor.col;
-! int p_sw = (int)curbuf->b_p_sw;
- int p_ts = (int)curbuf->b_p_ts;
- struct block_def bd;
- int incr;
---- 388,394 ----
- int total;
- char_u *newp, *oldp;
- int oldcol = curwin->w_cursor.col;
-! int p_sw = (int)get_sw_value();
- int p_ts = (int)curbuf->b_p_ts;
- struct block_def bd;
- int incr;
-*** ../vim-7.3.628/src/option.c 2012-07-10 18:31:49.000000000 +0200
---- src/option.c 2012-08-08 17:45:01.000000000 +0200
-***************
-*** 8125,8131 ****
- need_mouse_correct = TRUE;
- #endif
-
-! if (curbuf->b_p_sw <= 0)
- {
- errmsg = e_positive;
- curbuf->b_p_sw = curbuf->b_p_ts;
---- 8125,8131 ----
- need_mouse_correct = TRUE;
- #endif
-
-! if (curbuf->b_p_sw < 0)
- {
- errmsg = e_positive;
- curbuf->b_p_sw = curbuf->b_p_ts;
-***************
-*** 11419,11421 ****
---- 11419,11431 ----
- {
- return check_opt_strings(p, p_ff_values, FALSE);
- }
-+
-+ /*
-+ * Return the effective shiftwidth value for current buffer, using the
-+ * 'tabstop' value when 'shiftwidth' is zero.
-+ */
-+ long
-+ get_sw_value()
-+ {
-+ return curbuf->b_p_sw ? curbuf->b_p_sw : curbuf->b_p_ts;
-+ }
-*** ../vim-7.3.628/src/proto/option.pro 2011-01-22 00:11:42.000000000 +0100
---- src/proto/option.pro 2012-08-08 17:34:33.000000000 +0200
-***************
-*** 56,59 ****
---- 56,60 ----
- void save_file_ff __ARGS((buf_T *buf));
- int file_ff_differs __ARGS((buf_T *buf, int ignore_empty));
- int check_ff_value __ARGS((char_u *p));
-+ long get_sw_value __ARGS((void));
- /* vim: set ft=c : */
-*** ../vim-7.3.628/src/version.c 2012-08-08 17:31:36.000000000 +0200
---- src/version.c 2012-08-08 17:57:48.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 629,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-228. You spend Saturday night making the counter on your home page
- pass that 2000 mark.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.630 b/source/ap/vim/patches/7.3.630
deleted file mode 100644
index d89cfbfe3..000000000
--- a/source/ap/vim/patches/7.3.630
+++ /dev/null
@@ -1,48 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.630
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.630
-Problem: "|" does not behave correctly when 'virtualedit' is set.
-Solution: Call validate_virtcol(). (David Bürgin)
-Files: src/normal.c
-
-
-*** ../vim-7.3.629/src/normal.c 2012-07-29 12:55:21.000000000 +0200
---- src/normal.c 2012-08-15 13:20:13.000000000 +0200
-***************
-*** 7786,7792 ****
---- 7786,7795 ----
- * virtualedit. Recalculate curwin->w_cursor to avoid bad hilighting.
- */
- if (c == Ctrl_V && (ve_flags & VE_BLOCK) && gchar_cursor() == TAB)
-+ {
-+ validate_virtcol();
- coladvance(curwin->w_virtcol);
-+ }
- #endif
- VIsual = curwin->w_cursor;
-
-*** ../vim-7.3.629/src/version.c 2012-08-08 18:01:00.000000000 +0200
---- src/version.c 2012-08-15 13:30:30.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 630,
- /**/
-
---
-"Marriage is when a man and woman become as one; the trouble starts
-when they try to decide which one"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.631 b/source/ap/vim/patches/7.3.631
deleted file mode 100644
index b7bff4fc4..000000000
--- a/source/ap/vim/patches/7.3.631
+++ /dev/null
@@ -1,322 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.631
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.631
-Problem: Cannot complete user names.
-Solution: Add user name completion. (Dominique Pelle)
-Files: runtime/doc/map.txt, src/auto/configure, src/config.h.in,
- src/configure.in, src/ex_docmd.c, src/ex_getln.c,
- src/misc1.c, src/misc2.c, src/proto/misc1.pro, src/vim.h
-
-
-*** ../vim-7.3.630/runtime/doc/map.txt 2012-04-30 18:48:38.000000000 +0200
---- runtime/doc/map.txt 2012-08-15 13:46:34.000000000 +0200
-***************
-*** 1227,1232 ****
---- 1244,1250 ----
- -complete=syntax syntax file names |'syntax'|
- -complete=tag tags
- -complete=tag_listfiles tags, file names are shown when CTRL-D is hit
-+ -complete=user user names
- -complete=var user variables
- -complete=custom,{func} custom completion, defined via {func}
- -complete=customlist,{func} custom completion, defined via {func}
-*** ../vim-7.3.630/src/auto/configure 2012-07-25 16:32:03.000000000 +0200
---- src/auto/configure 2012-08-15 13:48:06.000000000 +0200
-***************
-*** 10631,10637 ****
- fi
-
- for ac_func in bcmp fchdir fchown fsync getcwd getpseudotty \
-! getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
- memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \
- setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
- sigvec strcasecmp strerror strftime stricmp strncasecmp \
---- 10631,10637 ----
- fi
-
- for ac_func in bcmp fchdir fchown fsync getcwd getpseudotty \
-! getpwent getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
- memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \
- setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
- sigvec strcasecmp strerror strftime stricmp strncasecmp \
-*** ../vim-7.3.630/src/config.h.in 2012-02-05 22:51:27.000000000 +0100
---- src/config.h.in 2012-08-15 13:46:35.000000000 +0200
-***************
-*** 161,166 ****
---- 161,167 ----
- #undef HAVE_FSYNC
- #undef HAVE_GETCWD
- #undef HAVE_GETPSEUDOTTY
-+ #undef HAVE_GETPWENT
- #undef HAVE_GETPWNAM
- #undef HAVE_GETPWUID
- #undef HAVE_GETRLIMIT
-*** ../vim-7.3.630/src/configure.in 2012-07-25 16:32:03.000000000 +0200
---- src/configure.in 2012-08-15 13:46:35.000000000 +0200
-***************
-*** 2994,3000 ****
- dnl Check for functions in one big call, to reduce the size of configure.
- dnl Can only be used for functions that do not require any include.
- AC_CHECK_FUNCS(bcmp fchdir fchown fsync getcwd getpseudotty \
-! getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
- memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \
- setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
- sigvec strcasecmp strerror strftime stricmp strncasecmp \
---- 2994,3000 ----
- dnl Check for functions in one big call, to reduce the size of configure.
- dnl Can only be used for functions that do not require any include.
- AC_CHECK_FUNCS(bcmp fchdir fchown fsync getcwd getpseudotty \
-! getpwent getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
- memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \
- setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
- sigvec strcasecmp strerror strftime stricmp strncasecmp \
-*** ../vim-7.3.630/src/ex_docmd.c 2012-08-02 21:24:38.000000000 +0200
---- src/ex_docmd.c 2012-08-15 13:54:29.000000000 +0200
-***************
-*** 3515,3520 ****
---- 3515,3537 ----
- #endif
- }
- }
-+ #if defined(FEAT_CMDL_COMPL)
-+ /* Check for user names */
-+ if (*xp->xp_pattern == '~')
-+ {
-+ for (p = xp->xp_pattern + 1; *p != NUL && *p != '/'; ++p)
-+ ;
-+ /* Complete ~user only if it partially matches a user name.
-+ * A full match ~user<Tab> will be replaced by user's home
-+ * directory i.e. something like ~user<Tab> -> /home/user/ */
-+ if (*p == NUL && p > xp->xp_pattern + 1
-+ && match_user(xp->xp_pattern + 1) == 1)
-+ {
-+ xp->xp_context = EXPAND_USER;
-+ ++xp->xp_pattern;
-+ }
-+ }
-+ #endif
- }
-
- /*
-***************
-*** 5396,5401 ****
---- 5413,5419 ----
- #endif
- {EXPAND_TAGS, "tag"},
- {EXPAND_TAGS_LISTFILES, "tag_listfiles"},
-+ {EXPAND_USER, "user"},
- {EXPAND_USER_VARS, "var"},
- {0, NULL}
- };
-*** ../vim-7.3.630/src/ex_getln.c 2012-08-08 18:01:00.000000000 +0200
---- src/ex_getln.c 2012-08-15 13:46:35.000000000 +0200
-***************
-*** 4336,4341 ****
---- 4336,4342 ----
- * EXPAND_EXPRESSION Complete internal or user defined function/variable
- * names in expressions, eg :while s^I
- * EXPAND_ENV_VARS Complete environment variable names
-+ * EXPAND_USER Complete user names
- */
- static void
- set_expand_context(xp)
-***************
-*** 4681,4686 ****
---- 4682,4688 ----
- {EXPAND_LOCALES, get_locales, TRUE, FALSE},
- #endif
- {EXPAND_ENV_VARS, get_env_name, TRUE, TRUE},
-+ {EXPAND_USER, get_users, TRUE, FALSE},
- };
- int i;
-
-*** ../vim-7.3.630/src/misc1.c 2012-08-08 18:01:00.000000000 +0200
---- src/misc1.c 2012-08-15 13:57:53.000000000 +0200
-***************
-*** 18,23 ****
---- 18,28 ----
- static char_u *remove_tail __ARGS((char_u *p, char_u *pend, char_u *name));
- static int copy_indent __ARGS((int size, char_u *src));
-
-+ /* All user names (for ~user completion as done by shell). */
-+ #if defined(FEAT_CMDL_COMPL) || defined(PROTO)
-+ static garray_T ga_users;
-+ #endif
-+
- /*
- * Count the size (in window cells) of the indent in the current line.
- */
-***************
-*** 3782,3787 ****
---- 3787,3800 ----
- {
- vim_free(homedir);
- }
-+
-+ # ifdef FEAT_CMDL_COMPL
-+ void
-+ free_users()
-+ {
-+ ga_clear_strings(&ga_users);
-+ }
-+ # endif
- #endif
-
- /*
-***************
-*** 4451,4456 ****
---- 4464,4543 ----
- return name;
- # endif
- }
-+
-+ /*
-+ * Find all user names for user completion.
-+ * Done only once and then cached.
-+ */
-+ static void
-+ init_users() {
-+ static int lazy_init_done = FALSE;
-+
-+ if (lazy_init_done)
-+ return;
-+
-+ lazy_init_done = TRUE;
-+ ga_init2(&ga_users, sizeof(char_u *), 20);
-+
-+ # if defined(HAVE_GETPWENT) && defined(HAVE_PWD_H)
-+ {
-+ char_u* user;
-+ struct passwd* pw;
-+
-+ setpwent();
-+ while ((pw = getpwent()) != NULL)
-+ /* pw->pw_name shouldn't be NULL but just in case... */
-+ if (pw->pw_name != NULL)
-+ {
-+ if (ga_grow(&ga_users, 1) == FAIL)
-+ break;
-+ user = vim_strsave((char_u*)pw->pw_name);
-+ if (user == NULL)
-+ break;
-+ ((char_u **)(ga_users.ga_data))[ga_users.ga_len++] = user;
-+ }
-+ endpwent();
-+ }
-+ # endif
-+ }
-+
-+ /*
-+ * Function given to ExpandGeneric() to obtain an user names.
-+ */
-+ char_u*
-+ get_users(xp, idx)
-+ expand_T *xp UNUSED;
-+ int idx;
-+ {
-+ init_users();
-+ if (idx < ga_users.ga_len)
-+ return ((char_u **)ga_users.ga_data)[idx];
-+ return NULL;
-+ }
-+
-+ /*
-+ * Check whether name matches a user name. Return:
-+ * 0 if name does not match any user name.
-+ * 1 if name partially matches the beginning of a user name.
-+ * 2 is name fully matches a user name.
-+ */
-+ int match_user(name)
-+ char_u* name;
-+ {
-+ int i;
-+ int n = (int)STRLEN(name);
-+ int result = 0;
-+
-+ init_users();
-+ for (i = 0; i < ga_users.ga_len; i++)
-+ {
-+ if (STRCMP(((char_u **)ga_users.ga_data)[i], name) == 0)
-+ return 2; /* full match */
-+ if (STRNCMP(((char_u **)ga_users.ga_data)[i], name, n) == 0)
-+ result = 1; /* partial match */
-+ }
-+ return result;
-+ }
- #endif
-
- /*
-*** ../vim-7.3.630/src/misc2.c 2012-06-29 15:51:26.000000000 +0200
---- src/misc2.c 2012-08-15 13:46:35.000000000 +0200
-***************
-*** 1110,1115 ****
---- 1110,1118 ----
- free_all_marks();
- alist_clear(&global_alist);
- free_homedir();
-+ # if defined(FEAT_CMDL_COMPL)
-+ free_users();
-+ # endif
- free_search_patterns();
- free_old_sub();
- free_last_insert();
-*** ../vim-7.3.630/src/proto/misc1.pro 2012-06-06 16:12:54.000000000 +0200
---- src/proto/misc1.pro 2012-08-15 13:46:35.000000000 +0200
-***************
-*** 50,55 ****
---- 50,56 ----
- void vim_beep __ARGS((void));
- void init_homedir __ARGS((void));
- void free_homedir __ARGS((void));
-+ void free_users __ARGS((void));
- char_u *expand_env_save __ARGS((char_u *src));
- char_u *expand_env_save_opt __ARGS((char_u *src, int one));
- void expand_env __ARGS((char_u *src, char_u *dst, int dstlen));
-***************
-*** 57,62 ****
---- 58,65 ----
- char_u *vim_getenv __ARGS((char_u *name, int *mustfree));
- void vim_setenv __ARGS((char_u *name, char_u *val));
- char_u *get_env_name __ARGS((expand_T *xp, int idx));
-+ char_u *get_users __ARGS((expand_T *xp, int idx));
-+ int match_user __ARGS((char_u* name));
- void home_replace __ARGS((buf_T *buf, char_u *src, char_u *dst, int dstlen, int one));
- char_u *home_replace_save __ARGS((buf_T *buf, char_u *src));
- int fullpathcmp __ARGS((char_u *s1, char_u *s2, int checkname));
-*** ../vim-7.3.630/src/vim.h 2012-07-10 17:14:50.000000000 +0200
---- src/vim.h 2012-08-15 13:46:35.000000000 +0200
-***************
-*** 782,787 ****
---- 782,788 ----
- #define EXPAND_OWNSYNTAX 39
- #define EXPAND_LOCALES 40
- #define EXPAND_HISTORY 41
-+ #define EXPAND_USER 42
-
- /* Values for exmode_active (0 is no exmode) */
- #define EXMODE_NORMAL 1
-*** ../vim-7.3.630/src/version.c 2012-08-15 13:30:55.000000000 +0200
---- src/version.c 2012-08-15 14:01:12.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 631,
- /**/
-
---
-"Marriage is the process of finding out what kind of man your wife
-would have preferred"
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.632 b/source/ap/vim/patches/7.3.632
deleted file mode 100644
index 9e38969e6..000000000
--- a/source/ap/vim/patches/7.3.632
+++ /dev/null
@@ -1,537 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.632
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.632
-Problem: Cannot select beyond 222 columns with the mouse in xterm.
-Solution: Add support for SGR mouse tracking. (Hayaki Saito)
-Files: runtime/doc/options.txt, src/feature.h, src/keymap.h, src/misc2.c,
- src/option.h, src/os_unix.c, src/term.c, src/version.c
-
-
-*** ../vim-7.3.631/runtime/doc/options.txt 2012-07-10 16:49:08.000000000 +0200
---- runtime/doc/options.txt 2012-08-15 16:04:26.000000000 +0200
-***************
-*** 7383,7388 ****
---- 7424,7435 ----
- jsbterm JSB term mouse handling.
- *pterm-mouse*
- pterm QNX pterm mouse handling.
-+ *urxvt-mouse*
-+ urxvt Mouse handling for the urxvt (rxvt-unicode) terminal.
-+ *sgr-mouse*
-+ sgr Mouse handling for the terminal that emits SGR-styled
-+ mouse reporting. Works with xterm version 277 or
-+ later.
-
- The mouse handling must be enabled at compile time |+mouse_xterm|
- |+mouse_dec| |+mouse_netterm|.
-***************
-*** 7395,7400 ****
---- 7442,7448 ----
- or "xterm2" already. The main use of this option is to set it to
- "xterm", when the terminal name doesn't start with "xterm", but it can
- handle xterm mouse codes.
-+ The "sgr" value will be set if the xterm version is 277 or later.
- The "xterm2" value will be set if the xterm version is reported to be
- 95 or higher. This only works when compiled with the |+termresponse|
- feature and if |t_RV| is set to the escape sequence to request the
-*** ../vim-7.3.631/src/feature.h 2012-04-25 16:50:44.000000000 +0200
---- src/feature.h 2012-08-15 15:46:07.000000000 +0200
-***************
-*** 1056,1061 ****
---- 1056,1064 ----
- # ifdef FEAT_BIG
- # define FEAT_MOUSE_URXVT
- # endif
-+ # ifdef FEAT_BIG
-+ # define FEAT_MOUSE_SGR
-+ # endif
- # if defined(FEAT_NORMAL) && (defined(MSDOS) || defined(WIN3264))
- # define DOS_MOUSE
- # endif
-***************
-*** 1077,1082 ****
---- 1080,1090 ----
- # define FEAT_MOUSE_XTERM
- #endif
-
-+ /* sgr is a small variation of mouse_xterm, and shares its code */
-+ #if defined(FEAT_MOUSE_SGR) && !defined(FEAT_MOUSE_XTERM)
-+ # define FEAT_MOUSE_XTERM
-+ #endif
-+
- /* Define FEAT_MOUSE when any of the above is defined or FEAT_GUI. */
- #if !defined(FEAT_MOUSE_TTY) \
- && (defined(FEAT_MOUSE_XTERM) \
-***************
-*** 1087,1093 ****
- || defined(FEAT_MOUSE_JSB) \
- || defined(FEAT_MOUSE_PTERM) \
- || defined(FEAT_SYSMOUSE) \
-! || defined(FEAT_MOUSE_URXVT))
- # define FEAT_MOUSE_TTY /* include non-GUI mouse support */
- #endif
- #if !defined(FEAT_MOUSE) && (defined(FEAT_MOUSE_TTY) || defined(FEAT_GUI))
---- 1095,1102 ----
- || defined(FEAT_MOUSE_JSB) \
- || defined(FEAT_MOUSE_PTERM) \
- || defined(FEAT_SYSMOUSE) \
-! || defined(FEAT_MOUSE_URXVT) \
-! || defined(FEAT_MOUSE_SGR))
- # define FEAT_MOUSE_TTY /* include non-GUI mouse support */
- #endif
- #if !defined(FEAT_MOUSE) && (defined(FEAT_MOUSE_TTY) || defined(FEAT_GUI))
-*** ../vim-7.3.631/src/keymap.h 2012-01-20 17:15:47.000000000 +0100
---- src/keymap.h 2012-08-15 15:46:07.000000000 +0200
-***************
-*** 110,115 ****
---- 110,118 ----
- /* Used for the urxvt mouse. */
- #define KS_URXVT_MOUSE 238
-
-+ /* Used for the sgr mouse. */
-+ #define KS_SGR_MOUSE 237
-+
- /*
- * Filler used after KS_SPECIAL and others
- */
-***************
-*** 412,417 ****
---- 415,421 ----
- #define K_JSBTERM_MOUSE TERMCAP2KEY(KS_JSBTERM_MOUSE, KE_FILLER)
- #define K_PTERM_MOUSE TERMCAP2KEY(KS_PTERM_MOUSE, KE_FILLER)
- #define K_URXVT_MOUSE TERMCAP2KEY(KS_URXVT_MOUSE, KE_FILLER)
-+ #define K_SGR_MOUSE TERMCAP2KEY(KS_SGR_MOUSE, KE_FILLER)
-
- #define K_SELECT TERMCAP2KEY(KS_SELECT, KE_FILLER)
- #define K_TEAROFF TERMCAP2KEY(KS_TEAROFF, KE_FILLER)
-*** ../vim-7.3.631/src/misc2.c 2012-08-15 14:04:50.000000000 +0200
---- src/misc2.c 2012-08-15 15:46:07.000000000 +0200
-***************
-*** 2433,2438 ****
---- 2433,2441 ----
- #ifdef FEAT_MOUSE_URXVT
- {K_URXVT_MOUSE, (char_u *)"UrxvtMouse"},
- #endif
-+ #ifdef FEAT_MOUSE_SGR
-+ {K_SGR_MOUSE, (char_u *)"SgrMouse"},
-+ #endif
- {K_LEFTMOUSE, (char_u *)"LeftMouse"},
- {K_LEFTMOUSE_NM, (char_u *)"LeftMouseNM"},
- {K_LEFTDRAG, (char_u *)"LeftDrag"},
-*** ../vim-7.3.631/src/option.h 2012-07-10 16:49:08.000000000 +0200
---- src/option.h 2012-08-15 15:46:07.000000000 +0200
-***************
-*** 822,828 ****
- EXTERN char_u *p_ttym; /* 'ttymouse' */
- EXTERN unsigned ttym_flags;
- # ifdef IN_OPTION_C
-! static char *(p_ttym_values[]) = {"xterm", "xterm2", "dec", "netterm", "jsbterm", "pterm", "urxvt", NULL};
- # endif
- # define TTYM_XTERM 0x01
- # define TTYM_XTERM2 0x02
---- 822,828 ----
- EXTERN char_u *p_ttym; /* 'ttymouse' */
- EXTERN unsigned ttym_flags;
- # ifdef IN_OPTION_C
-! static char *(p_ttym_values[]) = {"xterm", "xterm2", "dec", "netterm", "jsbterm", "pterm", "urxvt", "sgr", NULL};
- # endif
- # define TTYM_XTERM 0x01
- # define TTYM_XTERM2 0x02
-***************
-*** 831,836 ****
---- 831,837 ----
- # define TTYM_JSBTERM 0x10
- # define TTYM_PTERM 0x20
- # define TTYM_URXVT 0x40
-+ # define TTYM_SGR 0x80
- #endif
- EXTERN char_u *p_udir; /* 'undodir' */
- EXTERN long p_ul; /* 'undolevels' */
-*** ../vim-7.3.631/src/os_unix.c 2012-04-20 15:55:10.000000000 +0200
---- src/os_unix.c 2012-08-15 16:06:54.000000000 +0200
-***************
-*** 2159,2168 ****
---- 2159,2171 ----
- * Return 1 for "xterm".
- * Return 2 for "xterm2".
- * Return 3 for "urxvt".
-+ * Return 4 for "sgr".
- */
- int
- use_xterm_mouse()
- {
-+ if (ttym_flags == TTYM_SGR)
-+ return 4;
- if (ttym_flags == TTYM_URXVT)
- return 3;
- if (ttym_flags == TTYM_XTERM2)
-***************
-*** 3339,3345 ****
- xterm_mouse_vers = use_xterm_mouse();
-
- # ifdef FEAT_MOUSE_URXVT
-! if (ttym_flags == TTYM_URXVT) {
- out_str_nf((char_u *)
- (on
- ? IF_EB("\033[?1015h", ESC_STR "[?1015h")
---- 3342,3349 ----
- xterm_mouse_vers = use_xterm_mouse();
-
- # ifdef FEAT_MOUSE_URXVT
-! if (ttym_flags == TTYM_URXVT)
-! {
- out_str_nf((char_u *)
- (on
- ? IF_EB("\033[?1015h", ESC_STR "[?1015h")
-***************
-*** 3348,3353 ****
---- 3352,3368 ----
- }
- # endif
-
-+ # ifdef FEAT_MOUSE_SGR
-+ if (ttym_flags == TTYM_SGR)
-+ {
-+ out_str_nf((char_u *)
-+ (on
-+ ? IF_EB("\033[?1006h", ESC_STR "[?1006h")
-+ : IF_EB("\033[?1006l", ESC_STR "[?1006l")));
-+ ison = on;
-+ }
-+ # endif
-+
- if (xterm_mouse_vers > 0)
- {
- if (on) /* enable mouse events, use mouse tracking if available */
-***************
-*** 3577,3582 ****
---- 3592,3618 ----
- else
- del_mouse_termcode(KS_URXVT_MOUSE);
- # endif
-+ # ifdef FEAT_MOUSE_SGR
-+ /* same as the dec mouse */
-+ if (use_xterm_mouse() == 4
-+ # ifdef FEAT_GUI
-+ && !gui.in_use
-+ # endif
-+ )
-+ {
-+ set_mouse_termcode(KS_SGR_MOUSE, (char_u *)(term_is_8bit(T_NAME)
-+ ? IF_EB("\233<", CSI_STR "<")
-+ : IF_EB("\033[<", ESC_STR "[<")));
-+
-+ if (*p_mouse != NUL)
-+ {
-+ mch_setmouse(FALSE);
-+ setmouse();
-+ }
-+ }
-+ else
-+ del_mouse_termcode(KS_SGR_MOUSE);
-+ # endif
- }
- #endif
-
-*** ../vim-7.3.631/src/term.c 2012-02-05 22:05:44.000000000 +0100
---- src/term.c 2012-08-15 16:14:09.000000000 +0200
-***************
-*** 1997,2002 ****
---- 1997,2003 ----
- # define HMT_JSBTERM 8
- # define HMT_PTERM 16
- # define HMT_URXVT 32
-+ # define HMT_SGR 64
- static int has_mouse_termcode = 0;
- # endif
-
-***************
-*** 2037,2042 ****
---- 2038,2048 ----
- has_mouse_termcode |= HMT_URXVT;
- else
- # endif
-+ # ifdef FEAT_MOUSE_SGR
-+ if (n == KS_SGR_MOUSE)
-+ has_mouse_termcode |= HMT_SGR;
-+ else
-+ # endif
- has_mouse_termcode |= HMT_NORMAL;
- # endif
- }
-***************
-*** 2079,2084 ****
---- 2085,2095 ----
- has_mouse_termcode &= ~HMT_URXVT;
- else
- # endif
-+ # ifdef FEAT_MOUSE_SGR
-+ if (n == KS_SGR_MOUSE)
-+ has_mouse_termcode &= ~HMT_SGR;
-+ else
-+ # endif
- has_mouse_termcode &= ~HMT_NORMAL;
- # endif
- }
-***************
-*** 4023,4029 ****
- #ifdef FEAT_TERMRESPONSE
- if (key_name[0] == NUL
- /* URXVT mouse uses <ESC>[#;#;#M, but we are matching <ESC>[ */
-! || key_name[0] == KS_URXVT_MOUSE)
- {
- /* Check for xterm version string: "<Esc>[>{x};{vers};{y}c". Also
- * eat other possible responses to t_RV, rxvt returns
---- 4034,4041 ----
- #ifdef FEAT_TERMRESPONSE
- if (key_name[0] == NUL
- /* URXVT mouse uses <ESC>[#;#;#M, but we are matching <ESC>[ */
-! || key_name[0] == KS_URXVT_MOUSE
-! || key_name[0] == KS_SGR_MOUSE)
- {
- /* Check for xterm version string: "<Esc>[>{x};{vers};{y}c". Also
- * eat other possible responses to t_RV, rxvt returns
-***************
-*** 4061,4066 ****
---- 4073,4088 ----
-
- if (tp[1 + (tp[0] != CSI)] == '>' && j == 2)
- {
-+ # ifdef TTYM_SGR
-+ if (extra >= 277
-+ # ifdef TTYM_URXVT
-+ && ttym_flags != TTYM_URXVT
-+ # endif
-+ )
-+ set_option_value((char_u *)"ttym", 0L,
-+ (char_u *)"sgr", 0);
-+ else
-+ # endif
- /* if xterm version >= 95 use mouse dragging */
- if (extra >= 95
- # ifdef TTYM_URXVT
-***************
-*** 4147,4167 ****
- /*
- * If it is a mouse click, get the coordinates.
- */
-! if (key_name[0] == (int)KS_MOUSE
- # ifdef FEAT_MOUSE_JSB
-! || key_name[0] == (int)KS_JSBTERM_MOUSE
- # endif
- # ifdef FEAT_MOUSE_NET
-! || key_name[0] == (int)KS_NETTERM_MOUSE
- # endif
- # ifdef FEAT_MOUSE_DEC
-! || key_name[0] == (int)KS_DEC_MOUSE
- # endif
- # ifdef FEAT_MOUSE_PTERM
-! || key_name[0] == (int)KS_PTERM_MOUSE
- # endif
- # ifdef FEAT_MOUSE_URXVT
-! || key_name[0] == (int)KS_URXVT_MOUSE
- # endif
- )
- {
---- 4169,4192 ----
- /*
- * If it is a mouse click, get the coordinates.
- */
-! if (key_name[0] == KS_MOUSE
- # ifdef FEAT_MOUSE_JSB
-! || key_name[0] == KS_JSBTERM_MOUSE
- # endif
- # ifdef FEAT_MOUSE_NET
-! || key_name[0] == KS_NETTERM_MOUSE
- # endif
- # ifdef FEAT_MOUSE_DEC
-! || key_name[0] == KS_DEC_MOUSE
- # endif
- # ifdef FEAT_MOUSE_PTERM
-! || key_name[0] == KS_PTERM_MOUSE
- # endif
- # ifdef FEAT_MOUSE_URXVT
-! || key_name[0] == KS_URXVT_MOUSE
-! # endif
-! # ifdef FEAT_MOUSE_SGR
-! || key_name[0] == KS_SGR_MOUSE
- # endif
- )
- {
-***************
-*** 4243,4250 ****
- }
- }
-
-! # ifdef FEAT_MOUSE_URXVT
-! if (key_name[0] == (int)KS_URXVT_MOUSE)
- {
- for (;;)
- {
---- 4268,4276 ----
- }
- }
-
-! # if defined(FEAT_MOUSE_URXVT) || defined(FEAT_MOUSE_SGR)
-! if (key_name[0] == KS_URXVT_MOUSE
-! || key_name[0] == KS_SGR_MOUSE)
- {
- for (;;)
- {
-***************
-*** 4256,4261 ****
---- 4282,4301 ----
- * ^-- row
- * ^----- column
- * ^-------- code
-+ *
-+ * SGR 1006 mouse reporting mode:
-+ * Almost identical to xterm mouse mode, except the values
-+ * are decimal instead of bytes.
-+ *
-+ * \033[<%d;%d;%dM
-+ * ^-- row
-+ * ^----- column
-+ * ^-------- code
-+ *
-+ * \033[<%d;%d;%dm : mouse release event
-+ * ^-- row
-+ * ^----- column
-+ * ^-------- code
- */
- p = tp + slen;
-
-***************
-*** 4263,4294 ****
- if (*p++ != ';')
- return -1;
-
- mouse_col = getdigits(&p) - 1;
- if (*p++ != ';')
- return -1;
-
- mouse_row = getdigits(&p) - 1;
-! if (*p++ != 'M')
- return -1;
-
- slen += (int)(p - (tp + slen));
-
- /* skip this one if next one has same code (like xterm
- * case) */
- j = termcodes[idx].len;
-! if (STRNCMP(tp, tp + slen, (size_t)j) == 0) {
-! /* check if the command is complete by looking for the
-! * M */
- int slen2;
- int cmd_complete = 0;
-! for (slen2 = slen; slen2 < len; slen2++) {
-! if (tp[slen2] == 'M') {
- cmd_complete = 1;
- break;
- }
- }
- p += j;
-! if (cmd_complete && getdigits(&p) == mouse_code) {
- slen += j; /* skip the \033[ */
- continue;
- }
---- 4303,4348 ----
- if (*p++ != ';')
- return -1;
-
-+ /* when mouse reporting is SGR, add 32 to mouse code */
-+ if (key_name[0] == KS_SGR_MOUSE)
-+ mouse_code += 32;
-+
- mouse_col = getdigits(&p) - 1;
- if (*p++ != ';')
- return -1;
-
- mouse_row = getdigits(&p) - 1;
-! if (key_name[0] == KS_SGR_MOUSE && *p == 'm')
-! mouse_code |= MOUSE_RELEASE;
-! else if (*p != 'M')
- return -1;
-+ p++;
-
- slen += (int)(p - (tp + slen));
-
- /* skip this one if next one has same code (like xterm
- * case) */
- j = termcodes[idx].len;
-! if (STRNCMP(tp, tp + slen, (size_t)j) == 0)
-! {
- int slen2;
- int cmd_complete = 0;
-!
-! /* check if the command is complete by looking for the
-! * 'M' */
-! for (slen2 = slen; slen2 < len; slen2++)
-! {
-! if (tp[slen2] == 'M'
-! || (key_name[0] == KS_SGR_MOUSE
-! && tp[slen2] == 'm'))
-! {
- cmd_complete = 1;
- break;
- }
- }
- p += j;
-! if (cmd_complete && getdigits(&p) == mouse_code)
-! {
- slen += j; /* skip the \033[ */
- continue;
- }
-***************
-*** 4302,4307 ****
---- 4356,4364 ----
- #ifdef FEAT_MOUSE_URXVT
- || key_name[0] == (int)KS_URXVT_MOUSE
- #endif
-+ #ifdef FEAT_MOUSE_SGR
-+ || key_name[0] == KS_SGR_MOUSE
-+ #endif
- )
- {
- # if !defined(MSWIN) && !defined(MSDOS)
-*** ../vim-7.3.631/src/version.c 2012-08-15 14:04:50.000000000 +0200
---- src/version.c 2012-08-15 15:47:30.000000000 +0200
-***************
-*** 384,389 ****
---- 384,394 ----
- # else
- "-mouse_urxvt",
- # endif
-+ # ifdef FEAT_MOUSE_SGR
-+ "+mouse_sgr",
-+ # else
-+ "-mouse_sgr",
-+ # endif
- #endif
- #ifdef __QNX__
- # ifdef FEAT_MOUSE_PTERM
-*** ../vim-7.3.631/src/version.c 2012-08-15 14:04:50.000000000 +0200
---- src/version.c 2012-08-15 15:47:30.000000000 +0200
-***************
-*** 716,717 ****
---- 721,724 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 632,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-243. You unsuccessfully try to download a pizza from www.dominos.com.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.633 b/source/ap/vim/patches/7.3.633
deleted file mode 100644
index 899ccb387..000000000
--- a/source/ap/vim/patches/7.3.633
+++ /dev/null
@@ -1,81 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.633
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.633
-Problem: Selection remains displayed as selected after selecting another
- text.
-Solution: Call xterm_update() before select(). (Andrew Pimlott)
-Files: src/os_unix.c
-
-
-*** ../vim-7.3.632/src/os_unix.c 2012-08-15 16:20:59.000000000 +0200
---- src/os_unix.c 2012-08-15 17:15:58.000000000 +0200
-***************
-*** 5196,5201 ****
---- 5196,5205 ----
- FD_SET(ConnectionNumber(xterm_dpy), &rfds);
- if (maxfd < ConnectionNumber(xterm_dpy))
- maxfd = ConnectionNumber(xterm_dpy);
-+
-+ /* An event may have already been read but not handled. In
-+ * particulary, XFlush may cause this. */
-+ xterm_update();
- }
- # endif
- # ifdef FEAT_MOUSE_GPM
-***************
-*** 5216,5229 ****
- maxfd = xsmp_icefd;
- }
- # endif
-! #ifdef FEAT_NETBEANS_INTG
- if (nb_fd != -1)
- {
- FD_SET(nb_fd, &rfds);
- if (maxfd < nb_fd)
- maxfd = nb_fd;
- }
-! #endif
-
- # ifdef OLD_VMS
- /* Old VMS as v6.2 and older have broken select(). It waits more than
---- 5220,5233 ----
- maxfd = xsmp_icefd;
- }
- # endif
-! # ifdef FEAT_NETBEANS_INTG
- if (nb_fd != -1)
- {
- FD_SET(nb_fd, &rfds);
- if (maxfd < nb_fd)
- maxfd = nb_fd;
- }
-! # endif
-
- # ifdef OLD_VMS
- /* Old VMS as v6.2 and older have broken select(). It waits more than
-*** ../vim-7.3.632/src/version.c 2012-08-15 16:20:59.000000000 +0200
---- src/version.c 2012-08-15 17:22:17.000000000 +0200
-***************
-*** 721,722 ****
---- 721,724 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 633,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-245. You use Real Audio to listen to a radio station from a distant
- city rather than turn on your stereo system.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.634 b/source/ap/vim/patches/7.3.634
deleted file mode 100644
index 3262bab3c..000000000
--- a/source/ap/vim/patches/7.3.634
+++ /dev/null
@@ -1,57 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.634
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.634
-Problem: Month/Day format for undo is confusing. (Marcin Szamotulski)
-Solution: Always use Year/Month/Day, should work for everybody.
-Files: src/undo.c
-
-
-*** ../vim-7.3.633/src/undo.c 2012-06-01 13:46:06.000000000 +0200
---- src/undo.c 2012-08-23 12:43:24.000000000 +0200
-***************
-*** 2880,2890 ****
- if (time(NULL) - tt < (60L * 60L * 12L))
- /* within 12 hours */
- (void)strftime((char *)buf, buflen, "%H:%M:%S", curtime);
-- else if (time(NULL) - tt < (60L * 60L * 24L * 180L))
-- /* within 6 months */
-- (void)strftime((char *)buf, buflen, "%m/%d %H:%M:%S", curtime);
- else
-! /* long ago */
- (void)strftime((char *)buf, buflen, "%Y/%m/%d %H:%M:%S", curtime);
- }
- else
---- 2880,2887 ----
- if (time(NULL) - tt < (60L * 60L * 12L))
- /* within 12 hours */
- (void)strftime((char *)buf, buflen, "%H:%M:%S", curtime);
- else
-! /* longer ago */
- (void)strftime((char *)buf, buflen, "%Y/%m/%d %H:%M:%S", curtime);
- }
- else
-*** ../vim-7.3.633/src/version.c 2012-08-15 17:26:53.000000000 +0200
---- src/version.c 2012-08-23 12:58:36.000000000 +0200
-***************
-*** 721,722 ****
---- 721,724 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 634,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-10E. You start counting in hex.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.635 b/source/ap/vim/patches/7.3.635
deleted file mode 100644
index 4a677025f..000000000
--- a/source/ap/vim/patches/7.3.635
+++ /dev/null
@@ -1,50 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.635
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.635
-Problem: Issue 21: System call during startup sets 'lines' to a wrong
- value. (Karl Yngve)
-Solution: Don't set the shell size while the GUI is still starting up.
- (Christian Brabandt)
-Files: src/ui.c
-
-
-*** ../vim-7.3.634/src/ui.c 2012-07-10 16:49:08.000000000 +0200
---- src/ui.c 2012-08-23 13:25:26.000000000 +0200
-***************
-*** 298,303 ****
---- 298,306 ----
- int retval;
-
- #ifdef FEAT_GUI
-+ if (gui.starting)
-+ /* possibly a system call during startup, check later */
-+ return OK;
- if (gui.in_use)
- retval = gui_get_shellsize();
- else
-*** ../vim-7.3.634/src/version.c 2012-08-23 12:58:56.000000000 +0200
---- src/version.c 2012-08-23 13:27:00.000000000 +0200
-***************
-*** 721,722 ****
---- 721,724 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 635,
- /**/
-
---
-ARTHUR: This new learning amazes me, Sir Bedevere. Explain again how sheep's
- bladders may be employed to prevent earthquakes.
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.636 b/source/ap/vim/patches/7.3.636
deleted file mode 100644
index 453a7fc99..000000000
--- a/source/ap/vim/patches/7.3.636
+++ /dev/null
@@ -1,148 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.636
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.636 (after 7.3.625)
-Problem: Not all zero-width matches handled correctly for "gn".
-Solution: Move zero-width detection to a separate function. (Christian
- Brabandt)
-Files: src/search.c
-
-
-*** ../vim-7.3.635/src/search.c 2012-08-08 15:27:54.000000000 +0200
---- src/search.c 2012-08-23 15:52:50.000000000 +0200
-***************
-*** 4526,4531 ****
---- 4526,4533 ----
- #endif /* FEAT_TEXTOBJ */
-
- #if defined(FEAT_VISUAL) || defined(PROTO)
-+ static int is_zerowidth __ARGS((char_u *pattern));
-+
- /*
- * Find next search match under cursor, cursor at end.
- * Used while an operator is pending, and in Visual mode.
-***************
-*** 4546,4556 ****
- int visual_active = FALSE;
- int flags = 0;
- pos_T save_VIsual;
-- regmmatch_T regmatch;
-- int nmatched = 0;
- int zerowidth = FALSE;
-
--
- /* wrapping should not occur */
- p_ws = FALSE;
-
---- 4548,4555 ----
-***************
-*** 4583,4606 ****
- else
- orig_pos = pos = start_pos = curwin->w_cursor;
-
-! /*
-! * Check for zero-width pattern.
-! */
-! if (search_regcomp(spats[last_idx].pat, RE_SEARCH, RE_SEARCH,
-! ((SEARCH_HIS + SEARCH_KEEP)), &regmatch) == FAIL)
- return FAIL;
-
-- /* Zero-width pattern should match somewhere, then we can check if start
-- * and end are in the same position. */
-- nmatched = vim_regexec_multi(&regmatch, curwin, curbuf,
-- curwin->w_cursor.lnum, (colnr_T)0, NULL);
-- if (called_emsg)
-- return FAIL;
-- if (nmatched && regmatch.startpos[0].lnum == regmatch.endpos[0].lnum
-- && regmatch.endpos[0].col == regmatch.startpos[0].col)
-- zerowidth = TRUE;
-- vim_free(regmatch.regprog);
--
- /*
- * The trick is to first search backwards and then search forward again,
- * so that a match at the current cursor position will be correctly
---- 4582,4592 ----
- else
- orig_pos = pos = start_pos = curwin->w_cursor;
-
-! /* Is the pattern is zero-width? */
-! zerowidth = is_zerowidth(spats[last_idx].pat);
-! if (zerowidth == -1)
- return FAIL;
-
- /*
- * The trick is to first search backwards and then search forward again,
- * so that a match at the current cursor position will be correctly
-***************
-*** 4693,4698 ****
---- 4679,4721 ----
-
- return OK;
- }
-+
-+ /*
-+ * Check if the pattern is zero-width.
-+ * Returns TRUE, FALSE or -1 for failure.
-+ */
-+ static int
-+ is_zerowidth(pattern)
-+ char_u *pattern;
-+ {
-+ regmmatch_T regmatch;
-+ int nmatched = 0;
-+ int result = -1;
-+ pos_T pos;
-+
-+ if (search_regcomp(pattern, RE_SEARCH, RE_SEARCH,
-+ SEARCH_KEEP, &regmatch) == FAIL)
-+ return -1;
-+
-+ /* move to match */
-+ clearpos(&pos);
-+ if (searchit(curwin, curbuf, &pos, FORWARD, spats[last_idx].pat, 1,
-+ SEARCH_KEEP, RE_SEARCH, 0, NULL) != FAIL)
-+ {
-+ /* Zero-width pattern should match somewhere, then we can check if
-+ * start and end are in the same position. */
-+ nmatched = vim_regexec_multi(&regmatch, curwin, curbuf,
-+ pos.lnum, (colnr_T)0, NULL);
-+
-+ if (!called_emsg)
-+ result = (nmatched != 0
-+ && regmatch.startpos[0].lnum == regmatch.endpos[0].lnum
-+ && regmatch.startpos[0].col == regmatch.endpos[0].col);
-+ }
-+
-+ vim_free(regmatch.regprog);
-+ return result;
-+ }
- #endif /* FEAT_VISUAL */
-
- #if defined(FEAT_LISP) || defined(FEAT_CINDENT) || defined(FEAT_TEXTOBJ) \
-*** ../vim-7.3.635/src/version.c 2012-08-23 13:28:50.000000000 +0200
---- src/version.c 2012-08-23 15:25:23.000000000 +0200
-***************
-*** 721,722 ****
---- 721,724 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 636,
- /**/
-
---
-Edison's greatest achievement came in 1879, when he invented the
-electric company. Edison's design was a brilliant adaptation of the
-simple electrical circuit: the electric company sends electricity
-through a wire to a customer, then immediately gets the electricity
-back through another wire
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.637 b/source/ap/vim/patches/7.3.637
deleted file mode 100644
index f7f1d903a..000000000
--- a/source/ap/vim/patches/7.3.637
+++ /dev/null
@@ -1,94 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.637
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.637
-Problem: Cannot catch the error caused by a foldopen when there is no fold.
- (ZyX, Issue 48)
-Solution: Do not break out of the loop early when inside try/catch.
- (Christian Brabandt) Except when there is a syntax error.
-Files: src/ex_docmd.c, src/globals.h
-
-
-*** ../vim-7.3.636/src/ex_docmd.c 2012-08-15 14:04:50.000000000 +0200
---- src/ex_docmd.c 2012-08-23 18:39:08.000000000 +0200
-***************
-*** 1295,1301 ****
- && cstack.cs_trylevel == 0
- #endif
- )
-! && !(did_emsg && used_getline
- && (getline_equal(fgetline, cookie, getexmodeline)
- || getline_equal(fgetline, cookie, getexline)))
- && (next_cmdline != NULL
---- 1295,1308 ----
- && cstack.cs_trylevel == 0
- #endif
- )
-! && !(did_emsg
-! #ifdef FEAT_EVAL
-! /* Keep going when inside try/catch, so that the error can be
-! * dealth with, except when it is a syntax error, it may cause
-! * the :endtry to be missed. */
-! && (cstack.cs_trylevel == 0 || did_emsg_syntax)
-! #endif
-! && used_getline
- && (getline_equal(fgetline, cookie, getexmodeline)
- || getline_equal(fgetline, cookie, getexline)))
- && (next_cmdline != NULL
-***************
-*** 1305,1310 ****
---- 1312,1318 ----
- || (flags & DOCMD_REPEAT)));
-
- vim_free(cmdline_copy);
-+ did_emsg_syntax = FALSE;
- #ifdef FEAT_EVAL
- free_cmdlines(&lines_ga);
- ga_clear(&lines_ga);
-***************
-*** 2137,2142 ****
---- 2145,2151 ----
- if (!sourcing)
- append_command(*cmdlinep);
- errormsg = IObuff;
-+ did_emsg_syntax = TRUE;
- }
- goto doend;
- }
-*** ../vim-7.3.636/src/globals.h 2012-07-10 16:49:08.000000000 +0200
---- src/globals.h 2012-08-23 18:29:09.000000000 +0200
-***************
-*** 183,188 ****
---- 183,190 ----
- #endif
- EXTERN int did_emsg; /* set by emsg() when the message
- is displayed or thrown */
-+ EXTERN int did_emsg_syntax; /* did_emsg set because of a
-+ syntax error */
- EXTERN int called_emsg; /* always set by emsg() */
- EXTERN int ex_exitval INIT(= 0); /* exit value for ex mode */
- EXTERN int emsg_on_display INIT(= FALSE); /* there is an error message */
-*** ../vim-7.3.636/src/version.c 2012-08-23 15:53:00.000000000 +0200
---- src/version.c 2012-08-23 17:59:12.000000000 +0200
-***************
-*** 721,722 ****
---- 721,724 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 637,
- /**/
-
---
-GOD: That is your purpose Arthur ... the Quest for the Holy Grail ...
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.638 b/source/ap/vim/patches/7.3.638
deleted file mode 100644
index f88a9399b..000000000
--- a/source/ap/vim/patches/7.3.638
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.638
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.638
-Problem: Unecessary redraw of the previous character.
-Solution: Check if the character is double-width. (Jon Long)
-Files: src/screen.c
-
-
-*** ../vim-7.3.637/src/screen.c 2012-07-10 16:49:08.000000000 +0200
---- src/screen.c 2012-08-23 18:49:33.000000000 +0200
-***************
-*** 5332,5339 ****
- && (ScreenLinesUC[off_from] != ScreenLinesUC[off_to]
- || (ScreenLinesUC[off_from] != 0
- && comp_char_differs(off_from, off_to))
-! || (cols > 1 && ScreenLines[off_from + 1]
-! != ScreenLines[off_to + 1])))
- #endif
- ))
- return TRUE;
---- 5332,5340 ----
- && (ScreenLinesUC[off_from] != ScreenLinesUC[off_to]
- || (ScreenLinesUC[off_from] != 0
- && comp_char_differs(off_from, off_to))
-! || ((*mb_off2cells)(off_from, off_from + cols) > 1
-! && ScreenLines[off_from + 1]
-! != ScreenLines[off_to + 1])))
- #endif
- ))
- return TRUE;
-*** ../vim-7.3.637/src/version.c 2012-08-23 18:43:06.000000000 +0200
---- src/version.c 2012-08-23 18:47:11.000000000 +0200
-***************
-*** 721,722 ****
---- 721,724 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 638,
- /**/
-
---
-There is a fine line between courage and foolishness.
-Unfortunately, it's not a fence.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.639 b/source/ap/vim/patches/7.3.639
deleted file mode 100644
index 359dc6d88..000000000
--- a/source/ap/vim/patches/7.3.639
+++ /dev/null
@@ -1,846 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.639
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.639
-Problem: It's not easy to build Vim on Windows with XPM support.
-Solution: Include the required files, they are quite small. Update the
- MSVC makefile to use them. Binary files are in the next patch.
- (Sergey Khorev)
-Files: src/xpm/COPYRIGHT, src/xpm/README.txt, src/xpm/include/simx.h,
- src/xpm/include/xpm.h, src/Make_mvc.mak, src/bigvim.bat,
- src/bigvim64.bat, Filelist
-
-
-*** ../vim-7.3.638/src/xpm/COPYRIGHT 1970-01-01 01:00:00.000000000 +0100
---- src/xpm/COPYRIGHT 1998-03-19 23:51:00.000000000 +0100
-***************
-*** 0 ****
---- 1,31 ----
-+ /*
-+ * Copyright (C) 1989-95 GROUPE BULL
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a copy
-+ * of this software and associated documentation files (the "Software"), to
-+ * deal in the Software without restriction, including without limitation the
-+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-+ * sell copies of the Software, and to permit persons to whom the Software is
-+ * furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice shall be included in
-+ * all copies or substantial portions of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-+ * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-+ *
-+ * Except as contained in this notice, the name of GROUPE BULL shall not be
-+ * used in advertising or otherwise to promote the sale, use or other dealings
-+ * in this Software without prior written authorization from GROUPE BULL.
-+ */
-+
-+ Arnaud LE HORS BULL Research FRANCE -- Koala Project
-+ (XPM - X PixMap format version 2 & 3)
-+ Internet: lehors@sophia.inria.fr
-+ Surface Mail: Arnaud LE HORS, INRIA - Sophia Antipolis,
-+ 2004, route des Lucioles, 06565 Valbonne Cedex -- FRANCE
-+ Voice phone: (33) 93.65.77.71, Fax: (33) 93 65 77 66, Telex: 97 00 50 F
-*** ../vim-7.3.638/src/xpm/README.txt 1970-01-01 01:00:00.000000000 +0100
---- src/xpm/README.txt 2012-08-29 13:29:17.000000000 +0200
-***************
-*** 0 ****
---- 1,23 ----
-+ This is XPM library compiled for Windows which is intended for use with Vim
-+ 'signs' feature.
-+
-+ Libraries in x86 directory were compiled with MSVC6 and MinGW. Proposed
-+ commands to compile Vim are:
-+
-+ Any version of MSVC starting from version 6.0:
-+ nmake -f Make_mvc.mak GUI=yes CSCOPE=yes NETBEANS=yes XPM=e:\hg\xpm\x86
-+
-+ MinGW:
-+ mingw32-make -f Make_ming.mak GUI=yes CSCOPE=yes XPM=e:/hg/xpm/x86
-+
-+ Microsoft Visual C++ on x64 (tested with versions 2008 and 2010):
-+ nmake -f Make_mvc.mak GUI=yes CSCOPE=yes XPM=E:\HG\xpm\x64
-+
-+ To test, open some file in Vim and execute commands below:
-+ :exe 'sign define vimxpm icon='.$VIMRUNTIME.'\\vim32x32.xpm'
-+ :exe 'sign place 1 line=1 name=vimxpm file='.expand('%:p')
-+
-+
-+ See COPYRIGHT for XPM licence.
-+
-+ If you have questions please email sergey.khorev@gmail.com.
-*** ../vim-7.3.638/src/xpm/include/simx.h 1970-01-01 01:00:00.000000000 +0100
---- src/xpm/include/simx.h 1998-03-19 23:51:00.000000000 +0100
-***************
-*** 0 ****
---- 1,139 ----
-+ /*
-+ * Copyright (C) 1989-95 GROUPE BULL
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a copy
-+ * of this software and associated documentation files (the "Software"), to
-+ * deal in the Software without restriction, including without limitation the
-+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-+ * sell copies of the Software, and to permit persons to whom the Software is
-+ * furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice shall be included in
-+ * all copies or substantial portions of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-+ * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-+ *
-+ * Except as contained in this notice, the name of GROUPE BULL shall not be
-+ * used in advertising or otherwise to promote the sale, use or other dealings
-+ * in this Software without prior written authorization from GROUPE BULL.
-+ */
-+
-+ /*****************************************************************************\
-+ * simx.h: 0.1a *
-+ * *
-+ * This emulates some Xlib functionality for MSW. It's not a general solution, *
-+ * it is close related to XPM-lib. It is only intended to satisfy what is need *
-+ * there. Thus allowing to read XPM files under MS windows. *
-+ * *
-+ * Developed by HeDu 3/94 (hedu@cul-ipn.uni-kiel.de) *
-+ \*****************************************************************************/
-+
-+
-+ #ifndef _SIMX_H
-+ #define _SIMX_H
-+
-+ #ifdef FOR_MSW
-+
-+ #include "windows.h" /* MS windows GDI types */
-+
-+ /*
-+ * minimal portability layer between ansi and KR C
-+ */
-+ /* this comes from xpm.h, and is here again, to avoid complicated
-+ includes, since this is included from xpm.h */
-+ /* these defines get undefed at the end of this file */
-+ #if __STDC__ || defined(__cplusplus) || defined(c_plusplus)
-+ /* ANSI || C++ */
-+ #define FUNC(f, t, p) extern t f p
-+ #define LFUNC(f, t, p) static t f p
-+ #else /* k&R */
-+ #define FUNC(f, t, p) extern t f()
-+ #define LFUNC(f, t, p) static t f()
-+ #endif
-+
-+
-+ FUNC(boundCheckingMalloc, void *, (long s));
-+ FUNC(boundCheckingCalloc, void *, (long num, long s));
-+ FUNC(boundCheckingRealloc, void *, (void *p, long s));
-+
-+ /* define MSW types for X window types,
-+ I don't know much about MSW, but the following defines do the job */
-+
-+ typedef HDC Display; /* this should be similar */
-+ typedef void *Screen; /* not used */
-+ typedef void *Visual; /* not used yet, is for GRAY, COLOR,
-+ * MONO */
-+
-+ typedef void *Colormap; /* should be COLORPALETTE, not done
-+ * yet */
-+
-+ typedef COLORREF Pixel;
-+
-+ #define PIXEL_ALREADY_TYPEDEFED /* to let xpm.h know about it */
-+
-+ typedef struct {
-+ Pixel pixel;
-+ BYTE red, green, blue;
-+ } XColor;
-+
-+ typedef struct {
-+ HBITMAP bitmap;
-+ unsigned int width;
-+ unsigned int height;
-+ unsigned int depth;
-+ } XImage;
-+
-+ #if defined(__cplusplus) || defined(c_plusplus)
-+ extern "C" {
-+ #endif
-+ /* some replacements for X... functions */
-+
-+ /* XDefaultXXX */
-+ FUNC(XDefaultVisual, Visual *, (Display *display, Screen *screen));
-+ FUNC(XDefaultScreen, Screen *, (Display *d));
-+ FUNC(XDefaultColormap, Colormap *, (Display *display, Screen *screen));
-+ FUNC(XDefaultDepth, int, (Display *d, Screen *s));
-+
-+ /* color related */
-+ FUNC(XParseColor, int, (Display *, Colormap *, char *, XColor *));
-+ FUNC(XAllocColor, int, (Display *, Colormap *, XColor *));
-+ FUNC(XQueryColors, void, (Display *display, Colormap *colormap,
-+ XColor *xcolors, int ncolors));
-+ FUNC(XFreeColors, int, (Display *d, Colormap cmap,
-+ unsigned long pixels[],
-+ int npixels, unsigned long planes));
-+ /* XImage */
-+ FUNC(XCreateImage, XImage *, (Display *, Visual *, int depth, int format,
-+ int x, int y, int width, int height,
-+ int pad, int foo));
-+
-+ /* free and destroy bitmap */
-+ FUNC(XDestroyImage, void /* ? */ , (XImage *));
-+ /* free only, bitmap remains */
-+ FUNC(XImageFree, void, (XImage *));
-+ #if defined(__cplusplus) || defined(c_plusplus)
-+ } /* end of extern "C" */
-+ #endif /* cplusplus */
-+
-+ #define ZPixmap 1 /* not really used */
-+ #define XYBitmap 1 /* not really used */
-+
-+ #ifndef True
-+ #define True 1
-+ #define False 0
-+ #endif
-+ #ifndef Bool
-+ typedef BOOL Bool; /* take MSW bool */
-+ #endif
-+ /* make these local here, simx.c gets the same from xpm.h */
-+ #undef LFUNC
-+ #undef FUNC
-+
-+ #endif /* def FOR_MSW */
-+
-+ #endif /* _SIMX_H */
-*** ../vim-7.3.638/src/xpm/include/xpm.h 1970-01-01 01:00:00.000000000 +0100
---- src/xpm/include/xpm.h 1998-03-19 23:51:00.000000000 +0100
-***************
-*** 0 ****
---- 1,501 ----
-+ /*
-+ * Copyright (C) 1989-95 GROUPE BULL
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a copy
-+ * of this software and associated documentation files (the "Software"), to
-+ * deal in the Software without restriction, including without limitation the
-+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-+ * sell copies of the Software, and to permit persons to whom the Software is
-+ * furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice shall be included in
-+ * all copies or substantial portions of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-+ * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-+ *
-+ * Except as contained in this notice, the name of GROUPE BULL shall not be
-+ * used in advertising or otherwise to promote the sale, use or other dealings
-+ * in this Software without prior written authorization from GROUPE BULL.
-+ */
-+
-+ /*****************************************************************************\
-+ * xpm.h: *
-+ * *
-+ * XPM library *
-+ * Include file *
-+ * *
-+ * Developed by Arnaud Le Hors *
-+ \*****************************************************************************/
-+
-+ /*
-+ * The code related to FOR_MSW has been added by
-+ * HeDu (hedu@cul-ipn.uni-kiel.de) 4/94
-+ */
-+
-+ /*
-+ * The code related to AMIGA has been added by
-+ * Lorens Younes (d93-hyo@nada.kth.se) 4/96
-+ */
-+
-+ #ifndef XPM_h
-+ #define XPM_h
-+
-+ /*
-+ * first some identification numbers:
-+ * the version and revision numbers are determined with the following rule:
-+ * SO Major number = LIB minor version number.
-+ * SO Minor number = LIB sub-minor version number.
-+ * e.g: Xpm version 3.2f
-+ * we forget the 3 which is the format number, 2 gives 2, and f gives 6.
-+ * thus we have XpmVersion = 2 and XpmRevision = 6
-+ * which gives SOXPMLIBREV = 2.6
-+ *
-+ * Then the XpmIncludeVersion number is built from these numbers.
-+ */
-+ #define XpmFormat 3
-+ #define XpmVersion 4
-+ #define XpmRevision 11
-+ #define XpmIncludeVersion ((XpmFormat * 100 + XpmVersion) * 100 + XpmRevision)
-+
-+ #ifndef XPM_NUMBERS
-+
-+ #ifdef FOR_MSW
-+ # define SYSV /* uses memcpy string.h etc. */
-+ # include <malloc.h>
-+ # include "simx.h" /* defines some X stuff using MSW types */
-+ #define NEED_STRCASECMP /* at least for MSVC++ */
-+ #else /* FOR_MSW */
-+ # ifdef AMIGA
-+ # include "amigax.h"
-+ # else /* not AMIGA */
-+ # include <X11/Xlib.h>
-+ # include <X11/Xutil.h>
-+ # endif /* not AMIGA */
-+ #endif /* FOR_MSW */
-+
-+ /* let's define Pixel if it is not done yet */
-+ #if ! defined(_XtIntrinsic_h) && ! defined(PIXEL_ALREADY_TYPEDEFED)
-+ typedef unsigned long Pixel; /* Index into colormap */
-+ # define PIXEL_ALREADY_TYPEDEFED
-+ #endif
-+
-+ /* make sure we know whether function prototypes are needed or not */
-+ #ifndef NeedFunctionPrototypes
-+ # if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
-+ # define NeedFunctionPrototypes 1
-+ # else
-+ # define NeedFunctionPrototypes 0
-+ # endif
-+ #endif
-+
-+
-+ /* Return ErrorStatus codes:
-+ * null if full success
-+ * positive if partial success
-+ * negative if failure
-+ */
-+
-+ #define XpmColorError 1
-+ #define XpmSuccess 0
-+ #define XpmOpenFailed -1
-+ #define XpmFileInvalid -2
-+ #define XpmNoMemory -3
-+ #define XpmColorFailed -4
-+
-+ typedef struct {
-+ char *name; /* Symbolic color name */
-+ char *value; /* Color value */
-+ Pixel pixel; /* Color pixel */
-+ } XpmColorSymbol;
-+
-+ typedef struct {
-+ char *name; /* name of the extension */
-+ unsigned int nlines; /* number of lines in this extension */
-+ char **lines; /* pointer to the extension array of strings */
-+ } XpmExtension;
-+
-+ typedef struct {
-+ char *string; /* characters string */
-+ char *symbolic; /* symbolic name */
-+ char *m_color; /* monochrom default */
-+ char *g4_color; /* 4 level grayscale default */
-+ char *g_color; /* other level grayscale default */
-+ char *c_color; /* color default */
-+ } XpmColor;
-+
-+ typedef struct {
-+ unsigned int width; /* image width */
-+ unsigned int height; /* image height */
-+ unsigned int cpp; /* number of characters per pixel */
-+ unsigned int ncolors; /* number of colors */
-+ XpmColor *colorTable; /* list of related colors */
-+ unsigned int *data; /* image data */
-+ } XpmImage;
-+
-+ typedef struct {
-+ unsigned long valuemask; /* Specifies which attributes are defined */
-+ char *hints_cmt; /* Comment of the hints section */
-+ char *colors_cmt; /* Comment of the colors section */
-+ char *pixels_cmt; /* Comment of the pixels section */
-+ unsigned int x_hotspot; /* Returns the x hotspot's coordinate */
-+ unsigned int y_hotspot; /* Returns the y hotspot's coordinate */
-+ unsigned int nextensions; /* number of extensions */
-+ XpmExtension *extensions; /* pointer to array of extensions */
-+ } XpmInfo;
-+
-+ typedef int (*XpmAllocColorFunc)(
-+ #if NeedFunctionPrototypes
-+ Display* /* display */,
-+ Colormap /* colormap */,
-+ char* /* colorname */,
-+ XColor* /* xcolor */,
-+ void* /* closure */
-+ #endif
-+ );
-+
-+ typedef int (*XpmFreeColorsFunc)(
-+ #if NeedFunctionPrototypes
-+ Display* /* display */,
-+ Colormap /* colormap */,
-+ Pixel* /* pixels */,
-+ int /* npixels */,
-+ void* /* closure */
-+ #endif
-+ );
-+
-+ typedef struct {
-+ unsigned long valuemask; /* Specifies which attributes are
-+ defined */
-+
-+ Visual *visual; /* Specifies the visual to use */
-+ Colormap colormap; /* Specifies the colormap to use */
-+ unsigned int depth; /* Specifies the depth */
-+ unsigned int width; /* Returns the width of the created
-+ pixmap */
-+ unsigned int height; /* Returns the height of the created
-+ pixmap */
-+ unsigned int x_hotspot; /* Returns the x hotspot's
-+ coordinate */
-+ unsigned int y_hotspot; /* Returns the y hotspot's
-+ coordinate */
-+ unsigned int cpp; /* Specifies the number of char per
-+ pixel */
-+ Pixel *pixels; /* List of used color pixels */
-+ unsigned int npixels; /* Number of used pixels */
-+ XpmColorSymbol *colorsymbols; /* List of color symbols to override */
-+ unsigned int numsymbols; /* Number of symbols */
-+ char *rgb_fname; /* RGB text file name */
-+ unsigned int nextensions; /* Number of extensions */
-+ XpmExtension *extensions; /* List of extensions */
-+
-+ unsigned int ncolors; /* Number of colors */
-+ XpmColor *colorTable; /* List of colors */
-+ /* 3.2 backward compatibility code */
-+ char *hints_cmt; /* Comment of the hints section */
-+ char *colors_cmt; /* Comment of the colors section */
-+ char *pixels_cmt; /* Comment of the pixels section */
-+ /* end 3.2 bc */
-+ unsigned int mask_pixel; /* Color table index of transparent
-+ color */
-+
-+ /* Color Allocation Directives */
-+ Bool exactColors; /* Only use exact colors for visual */
-+ unsigned int closeness; /* Allowable RGB deviation */
-+ unsigned int red_closeness; /* Allowable red deviation */
-+ unsigned int green_closeness; /* Allowable green deviation */
-+ unsigned int blue_closeness; /* Allowable blue deviation */
-+ int color_key; /* Use colors from this color set */
-+
-+ Pixel *alloc_pixels; /* Returns the list of alloc'ed color
-+ pixels */
-+ int nalloc_pixels; /* Returns the number of alloc'ed
-+ color pixels */
-+
-+ Bool alloc_close_colors; /* Specify whether close colors should
-+ be allocated using XAllocColor
-+ or not */
-+ int bitmap_format; /* Specify the format of 1bit depth
-+ images: ZPixmap or XYBitmap */
-+
-+ /* Color functions */
-+ XpmAllocColorFunc alloc_color; /* Application color allocator */
-+ XpmFreeColorsFunc free_colors; /* Application color de-allocator */
-+ void *color_closure; /* Application private data to pass to
-+ alloc_color and free_colors */
-+
-+ } XpmAttributes;
-+
-+ /* XpmAttributes value masks bits */
-+ #define XpmVisual (1L<<0)
-+ #define XpmColormap (1L<<1)
-+ #define XpmDepth (1L<<2)
-+ #define XpmSize (1L<<3) /* width & height */
-+ #define XpmHotspot (1L<<4) /* x_hotspot & y_hotspot */
-+ #define XpmCharsPerPixel (1L<<5)
-+ #define XpmColorSymbols (1L<<6)
-+ #define XpmRgbFilename (1L<<7)
-+ /* 3.2 backward compatibility code */
-+ #define XpmInfos (1L<<8)
-+ #define XpmReturnInfos XpmInfos
-+ /* end 3.2 bc */
-+ #define XpmReturnPixels (1L<<9)
-+ #define XpmExtensions (1L<<10)
-+ #define XpmReturnExtensions XpmExtensions
-+
-+ #define XpmExactColors (1L<<11)
-+ #define XpmCloseness (1L<<12)
-+ #define XpmRGBCloseness (1L<<13)
-+ #define XpmColorKey (1L<<14)
-+
-+ #define XpmColorTable (1L<<15)
-+ #define XpmReturnColorTable XpmColorTable
-+
-+ #define XpmReturnAllocPixels (1L<<16)
-+ #define XpmAllocCloseColors (1L<<17)
-+ #define XpmBitmapFormat (1L<<18)
-+
-+ #define XpmAllocColor (1L<<19)
-+ #define XpmFreeColors (1L<<20)
-+ #define XpmColorClosure (1L<<21)
-+
-+
-+ /* XpmInfo value masks bits */
-+ #define XpmComments XpmInfos
-+ #define XpmReturnComments XpmComments
-+
-+ /* XpmAttributes mask_pixel value when there is no mask */
-+ #ifndef FOR_MSW
-+ #define XpmUndefPixel 0x80000000
-+ #else
-+ /* int is only 16 bit for MSW */
-+ #define XpmUndefPixel 0x8000
-+ #endif
-+
-+ /*
-+ * color keys for visual type, they must fit along with the number key of
-+ * each related element in xpmColorKeys[] defined in XpmI.h
-+ */
-+ #define XPM_MONO 2
-+ #define XPM_GREY4 3
-+ #define XPM_GRAY4 3
-+ #define XPM_GREY 4
-+ #define XPM_GRAY 4
-+ #define XPM_COLOR 5
-+
-+
-+ /* macros for forward declarations of functions with prototypes */
-+ #if NeedFunctionPrototypes
-+ #define FUNC(f, t, p) extern t f p
-+ #define LFUNC(f, t, p) static t f p
-+ #else
-+ #define FUNC(f, t, p) extern t f()
-+ #define LFUNC(f, t, p) static t f()
-+ #endif
-+
-+
-+ /*
-+ * functions declarations
-+ */
-+
-+ #ifdef __cplusplus
-+ extern "C" {
-+ #endif
-+
-+ /* FOR_MSW, all ..Pixmap.. are excluded, only the ..XImage.. are used */
-+ /* Same for Amiga! */
-+
-+ #if !defined(FOR_MSW) && !defined(AMIGA)
-+ FUNC(XpmCreatePixmapFromData, int, (Display *display,
-+ Drawable d,
-+ char **data,
-+ Pixmap *pixmap_return,
-+ Pixmap *shapemask_return,
-+ XpmAttributes *attributes));
-+
-+ FUNC(XpmCreateDataFromPixmap, int, (Display *display,
-+ char ***data_return,
-+ Pixmap pixmap,
-+ Pixmap shapemask,
-+ XpmAttributes *attributes));
-+
-+ FUNC(XpmReadFileToPixmap, int, (Display *display,
-+ Drawable d,
-+ char *filename,
-+ Pixmap *pixmap_return,
-+ Pixmap *shapemask_return,
-+ XpmAttributes *attributes));
-+
-+ FUNC(XpmWriteFileFromPixmap, int, (Display *display,
-+ char *filename,
-+ Pixmap pixmap,
-+ Pixmap shapemask,
-+ XpmAttributes *attributes));
-+ #endif
-+
-+ FUNC(XpmCreateImageFromData, int, (Display *display,
-+ char **data,
-+ XImage **image_return,
-+ XImage **shapemask_return,
-+ XpmAttributes *attributes));
-+
-+ FUNC(XpmCreateDataFromImage, int, (Display *display,
-+ char ***data_return,
-+ XImage *image,
-+ XImage *shapeimage,
-+ XpmAttributes *attributes));
-+
-+ FUNC(XpmReadFileToImage, int, (Display *display,
-+ char *filename,
-+ XImage **image_return,
-+ XImage **shapeimage_return,
-+ XpmAttributes *attributes));
-+
-+ FUNC(XpmWriteFileFromImage, int, (Display *display,
-+ char *filename,
-+ XImage *image,
-+ XImage *shapeimage,
-+ XpmAttributes *attributes));
-+
-+ FUNC(XpmCreateImageFromBuffer, int, (Display *display,
-+ char *buffer,
-+ XImage **image_return,
-+ XImage **shapemask_return,
-+ XpmAttributes *attributes));
-+ #if !defined(FOR_MSW) && !defined(AMIGA)
-+ FUNC(XpmCreatePixmapFromBuffer, int, (Display *display,
-+ Drawable d,
-+ char *buffer,
-+ Pixmap *pixmap_return,
-+ Pixmap *shapemask_return,
-+ XpmAttributes *attributes));
-+
-+ FUNC(XpmCreateBufferFromImage, int, (Display *display,
-+ char **buffer_return,
-+ XImage *image,
-+ XImage *shapeimage,
-+ XpmAttributes *attributes));
-+
-+ FUNC(XpmCreateBufferFromPixmap, int, (Display *display,
-+ char **buffer_return,
-+ Pixmap pixmap,
-+ Pixmap shapemask,
-+ XpmAttributes *attributes));
-+ #endif
-+ FUNC(XpmReadFileToBuffer, int, (char *filename, char **buffer_return));
-+ FUNC(XpmWriteFileFromBuffer, int, (char *filename, char *buffer));
-+
-+ FUNC(XpmReadFileToData, int, (char *filename, char ***data_return));
-+ FUNC(XpmWriteFileFromData, int, (char *filename, char **data));
-+
-+ FUNC(XpmAttributesSize, int, ());
-+ FUNC(XpmFreeAttributes, void, (XpmAttributes *attributes));
-+ FUNC(XpmFreeExtensions, void, (XpmExtension *extensions,
-+ int nextensions));
-+
-+ FUNC(XpmFreeXpmImage, void, (XpmImage *image));
-+ FUNC(XpmFreeXpmInfo, void, (XpmInfo *info));
-+ FUNC(XpmGetErrorString, char *, (int errcode));
-+ FUNC(XpmLibraryVersion, int, ());
-+
-+ /* XpmImage functions */
-+ FUNC(XpmReadFileToXpmImage, int, (char *filename,
-+ XpmImage *image,
-+ XpmInfo *info));
-+
-+ FUNC(XpmWriteFileFromXpmImage, int, (char *filename,
-+ XpmImage *image,
-+ XpmInfo *info));
-+ #if !defined(FOR_MSW) && !defined(AMIGA)
-+ FUNC(XpmCreatePixmapFromXpmImage, int, (Display *display,
-+ Drawable d,
-+ XpmImage *image,
-+ Pixmap *pixmap_return,
-+ Pixmap *shapemask_return,
-+ XpmAttributes *attributes));
-+ #endif
-+ FUNC(XpmCreateImageFromXpmImage, int, (Display *display,
-+ XpmImage *image,
-+ XImage **image_return,
-+ XImage **shapeimage_return,
-+ XpmAttributes *attributes));
-+
-+ FUNC(XpmCreateXpmImageFromImage, int, (Display *display,
-+ XImage *image,
-+ XImage *shapeimage,
-+ XpmImage *xpmimage,
-+ XpmAttributes *attributes));
-+ #if !defined(FOR_MSW) && !defined(AMIGA)
-+ FUNC(XpmCreateXpmImageFromPixmap, int, (Display *display,
-+ Pixmap pixmap,
-+ Pixmap shapemask,
-+ XpmImage *xpmimage,
-+ XpmAttributes *attributes));
-+ #endif
-+ FUNC(XpmCreateDataFromXpmImage, int, (char ***data_return,
-+ XpmImage *image,
-+ XpmInfo *info));
-+
-+ FUNC(XpmCreateXpmImageFromData, int, (char **data,
-+ XpmImage *image,
-+ XpmInfo *info));
-+
-+ FUNC(XpmCreateXpmImageFromBuffer, int, (char *buffer,
-+ XpmImage *image,
-+ XpmInfo *info));
-+
-+ FUNC(XpmCreateBufferFromXpmImage, int, (char **buffer_return,
-+ XpmImage *image,
-+ XpmInfo *info));
-+
-+ FUNC(XpmGetParseError, int, (char *filename,
-+ int *linenum_return,
-+ int *charnum_return));
-+
-+ FUNC(XpmFree, void, (void *ptr));
-+
-+ #ifdef __cplusplus
-+ } /* for C++ V2.0 */
-+ #endif
-+
-+
-+ /* backward compatibility */
-+
-+ /* for version 3.0c */
-+ #define XpmPixmapColorError XpmColorError
-+ #define XpmPixmapSuccess XpmSuccess
-+ #define XpmPixmapOpenFailed XpmOpenFailed
-+ #define XpmPixmapFileInvalid XpmFileInvalid
-+ #define XpmPixmapNoMemory XpmNoMemory
-+ #define XpmPixmapColorFailed XpmColorFailed
-+
-+ #define XpmReadPixmapFile(dpy, d, file, pix, mask, att) \
-+ XpmReadFileToPixmap(dpy, d, file, pix, mask, att)
-+ #define XpmWritePixmapFile(dpy, file, pix, mask, att) \
-+ XpmWriteFileFromPixmap(dpy, file, pix, mask, att)
-+
-+ /* for version 3.0b */
-+ #define PixmapColorError XpmColorError
-+ #define PixmapSuccess XpmSuccess
-+ #define PixmapOpenFailed XpmOpenFailed
-+ #define PixmapFileInvalid XpmFileInvalid
-+ #define PixmapNoMemory XpmNoMemory
-+ #define PixmapColorFailed XpmColorFailed
-+
-+ #define ColorSymbol XpmColorSymbol
-+
-+ #define XReadPixmapFile(dpy, d, file, pix, mask, att) \
-+ XpmReadFileToPixmap(dpy, d, file, pix, mask, att)
-+ #define XWritePixmapFile(dpy, file, pix, mask, att) \
-+ XpmWriteFileFromPixmap(dpy, file, pix, mask, att)
-+ #define XCreatePixmapFromData(dpy, d, data, pix, mask, att) \
-+ XpmCreatePixmapFromData(dpy, d, data, pix, mask, att)
-+ #define XCreateDataFromPixmap(dpy, data, pix, mask, att) \
-+ XpmCreateDataFromPixmap(dpy, data, pix, mask, att)
-+
-+ #endif /* XPM_NUMBERS */
-+ #endif
-*** ../vim-7.3.638/src/Make_mvc.mak 2012-08-02 21:48:20.000000000 +0200
---- src/Make_mvc.mak 2012-08-29 13:46:05.000000000 +0200
-***************
-*** 89,94 ****
---- 89,96 ----
- # Netbeans Support: NETBEANS=[yes or no] (default is yes if GUI is yes)
- #
- # XPM Image Support: XPM=[path to XPM directory]
-+ # Default is "xpm", using the files included in the distribution.
-+ # Use "no" to disable this feature.
- #
- # Optimization: OPTIMIZE=[SPACE, SPEED, MAXSPEED] (default is MAXSPEED)
- #
-***************
-*** 279,295 ****
- NETBEANS_LIB = WSock32.lib
- !endif
-
-! !ifdef XPM
- # XPM - Include support for XPM signs
-! # You need to download or build xpm.lib somehow.
-! # You can get the most recent version of libXpm-*.zip from
-! # http://cgit.freedesktop.org/xorg/lib/libXpm
-! # from which you must build xpm.lib yourself
-! # OR get and unpack: ftp://ftp.vim.org/pub/vim/pcextra/xpm.zip
- XPM_OBJ = $(OBJDIR)/xpm_w32.obj
- XPM_DEFS = -DFEAT_XPM_W32
- XPM_LIB = $(XPM)\lib\libXpm.lib
-! XPM_INC = -I $(XPM)\include
- !endif
- !endif
-
---- 281,301 ----
- NETBEANS_LIB = WSock32.lib
- !endif
-
-! !ifndef XPM
-! # XPM is not set, use the included xpm files, depending on the architecture.
-! !if ("$(CPU)" == "AMD64") || ("$(CPU)" == "IA64")
-! XPM = xpm\x64
-! !else
-! XPM = xpm\x86
-! !endif
-! !endif
-! !if "$(XPM)" != "no"
- # XPM - Include support for XPM signs
-! # See the xpm directory for more information.
- XPM_OBJ = $(OBJDIR)/xpm_w32.obj
- XPM_DEFS = -DFEAT_XPM_W32
- XPM_LIB = $(XPM)\lib\libXpm.lib
-! XPM_INC = -I $(XPM)\include -I $(XPM)\..\include
- !endif
- !endif
-
-*** ../vim-7.3.638/src/bigvim.bat 2010-08-15 21:57:29.000000000 +0200
---- src/bigvim.bat 2012-08-29 13:46:18.000000000 +0200
-***************
-*** 1,3 ****
- :: command to build big Vim with OLE, Perl, Python, Ruby and Tcl
-! nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl512 DYNAMIC_PERL=yes PERL_VER=512 PYTHON=e:\python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=e:\python31 DYNAMIC_PYTHON3=yes PYTHON3_VER=31 RUBY=e:\ruby191 DYNAMIC_RUBY=yes RUBY_VER=191 RUBY_VER_LONG=1.9.1 TCL=e:\tcl DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes XPM=e:\xpm
-
---- 1,5 ----
- :: command to build big Vim with OLE, Perl, Python, Ruby and Tcl
-! SET VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\"
-! SET TOOLDIR=E:\
-! %VCDIR%nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl514 DYNAMIC_PERL=yes PERL_VER=514 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%python32 DYNAMIC_PYTHON3=yes PYTHON3_VER=32 RUBY=%TOOLDIR%ruby192 DYNAMIC_RUBY=yes RUBY_VER=192 RUBY_VER_LONG=1.9.2 TCL=%TOOLDIR%tcl TCL_VER=85 TCL_VER_LONG=8.5 DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes
-
-*** ../vim-7.3.638/src/bigvim64.bat 2012-08-29 14:16:38.000000000 +0200
---- src/bigvim64.bat 2012-08-29 13:46:35.000000000 +0200
-***************
-*** 0 ****
---- 1,6 ----
-+ :: command to build big Vim 64 bit with OLE, Perl, Python, Ruby and Tcl
-+ :: First run: %VCDIR%\vcvarsall.bat x86_amd64
-+ SET VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\"
-+ SET TOOLDIR=E:\
-+ %VCDIR%\bin\nmake -f Make_mvc.mak CPU=AMD64 GUI=yes OLE=yes PERL=E:\perl514 DYNAMIC_PERL=yes PERL_VER=514 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%python32 DYNAMIC_PYTHON3=yes PYTHON3_VER=32 RUBY=%TOOLDIR%ruby192 DYNAMIC_RUBY=yes RUBY_VER=192 RUBY_VER_LONG=1.9.2 TCL=%TOOLDIR%tcl TCL_VER=85 TCL_VER_LONG=8.5 DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes
-+
-*** ../vim-7.3.638/Filelist 2012-07-16 17:27:57.000000000 +0200
---- Filelist 2012-08-29 13:53:52.000000000 +0200
-***************
-*** 349,354 ****
---- 349,360 ----
- src/vim*.ico \
- src/vim.tlb \
- src/vimtbar.lib \
-+ src/xpm/COPYRIGHT \
-+ src/xpm/README.txt \
-+ src/xpm/include/*.h \
-+ src/xpm/x64/lib/libXpm.lib \
-+ src/xpm/x86/lib/libXpm.a \
-+ src/xpm/x86/lib/libXpm.lib \
- src/vimtbar.dll \
- nsis/icons/*.bmp \
- nsis/icons/*.ico \
-*** ../vim-7.3.638/src/version.c 2012-08-29 14:17:51.000000000 +0200
---- src/version.c 2012-08-29 14:14:19.000000000 +0200
-***************
-*** 721,722 ****
---- 721,724 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 639,
- /**/
-
---
-A successful man is one who makes more money than his wife can spend.
-A successful woman is one who can find such a man.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.640 b/source/ap/vim/patches/7.3.640
deleted file mode 100644
index 984df6400..000000000
--- a/source/ap/vim/patches/7.3.640
+++ /dev/null
Binary files differ
diff --git a/source/ap/vim/patches/7.3.641 b/source/ap/vim/patches/7.3.641
deleted file mode 100644
index daacdb4ff..000000000
--- a/source/ap/vim/patches/7.3.641
+++ /dev/null
@@ -1,68 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.641
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.641
-Problem: ":mkview" uses ":normal" instead of ":normal!" for folds. (Dan)
-Solution: Add the bang. (Christian Brabandt)
-Files: src/fold.c
-
-
-*** ../vim-7.3.640/src/fold.c 2012-08-08 18:01:00.000000000 +0200
---- src/fold.c 2012-08-29 15:17:39.000000000 +0200
-***************
-*** 3373,3379 ****
- /* open nested folds while this fold is open */
- if (fprintf(fd, "%ld", fp->fd_top + off) < 0
- || put_eol(fd) == FAIL
-! || put_line(fd, "normal zo") == FAIL)
- return FAIL;
- if (put_foldopen_recurse(fd, wp, &fp->fd_nested,
- off + fp->fd_top)
---- 3373,3379 ----
- /* open nested folds while this fold is open */
- if (fprintf(fd, "%ld", fp->fd_top + off) < 0
- || put_eol(fd) == FAIL
-! || put_line(fd, "normal! zo") == FAIL)
- return FAIL;
- if (put_foldopen_recurse(fd, wp, &fp->fd_nested,
- off + fp->fd_top)
-***************
-*** 3417,3423 ****
- {
- if (fprintf(fd, "%ld", fp->fd_top + off) < 0
- || put_eol(fd) == FAIL
-! || fprintf(fd, "normal z%c",
- fp->fd_flags == FD_CLOSED ? 'c' : 'o') < 0
- || put_eol(fd) == FAIL)
- return FAIL;
---- 3417,3423 ----
- {
- if (fprintf(fd, "%ld", fp->fd_top + off) < 0
- || put_eol(fd) == FAIL
-! || fprintf(fd, "normal! z%c",
- fp->fd_flags == FD_CLOSED ? 'c' : 'o') < 0
- || put_eol(fd) == FAIL)
- return FAIL;
-*** ../vim-7.3.640/src/version.c 2012-08-29 14:23:06.000000000 +0200
---- src/version.c 2012-08-29 15:18:26.000000000 +0200
-***************
-*** 721,722 ****
---- 721,724 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 641,
- /**/
-
---
-You cannot propel yourself forward by patting yourself on the back.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.642 b/source/ap/vim/patches/7.3.642
deleted file mode 100644
index ddc40321f..000000000
--- a/source/ap/vim/patches/7.3.642
+++ /dev/null
@@ -1,55 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.642
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.642
-Problem: Segfault with specific autocommands. Was OK after 7.3.449 and
- before 7.3.545. (Richard Brown)
-Solution: Pass TRUE for abort_if_last in the call to close_buffer().
- (Christian Brabandt)
-Files: src/window.c
-
-
-*** ../vim-7.3.641/src/window.c 2012-07-19 18:05:40.000000000 +0200
---- src/window.c 2012-08-29 15:42:15.000000000 +0200
-***************
-*** 2269,2275 ****
- #ifdef FEAT_AUTOCMD
- win->w_closing = TRUE;
- #endif
-! close_buffer(win, win->w_buffer, free_buf ? DOBUF_UNLOAD : 0, FALSE);
- #ifdef FEAT_AUTOCMD
- if (win_valid(win))
- win->w_closing = FALSE;
---- 2269,2275 ----
- #ifdef FEAT_AUTOCMD
- win->w_closing = TRUE;
- #endif
-! close_buffer(win, win->w_buffer, free_buf ? DOBUF_UNLOAD : 0, TRUE);
- #ifdef FEAT_AUTOCMD
- if (win_valid(win))
- win->w_closing = FALSE;
-*** ../vim-7.3.641/src/version.c 2012-08-29 15:22:14.000000000 +0200
---- src/version.c 2012-08-29 15:49:52.000000000 +0200
-***************
-*** 721,722 ****
---- 721,724 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 642,
- /**/
-
---
-The psychic said, "God bless you." I said, "I didn't sneeze." She
-looked deep into my eyes and said, "You will, eventually." And, damn
-if she wasn't right. Two days later, I sneezed. --Ellen Degeneres
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.643 b/source/ap/vim/patches/7.3.643
deleted file mode 100644
index c2f700c58..000000000
--- a/source/ap/vim/patches/7.3.643
+++ /dev/null
@@ -1,73 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.643
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.643 (after 7.3.635)
-Problem: MS-Windows: When starting gvim maximized 'lines' and 'columns' are
- wrong. (Christian Robinson)
-Solution: Move the check for gui.starting from ui_get_shellsize() to
- check_shellsize().
-Files: src/ui.c, src/term.c
-
-
-*** ../vim-7.3.642/src/ui.c 2012-08-23 13:28:50.000000000 +0200
---- src/ui.c 2012-08-29 16:20:04.000000000 +0200
-***************
-*** 298,306 ****
- int retval;
-
- #ifdef FEAT_GUI
-- if (gui.starting)
-- /* possibly a system call during startup, check later */
-- return OK;
- if (gui.in_use)
- retval = gui_get_shellsize();
- else
---- 298,303 ----
-*** ../vim-7.3.642/src/term.c 2012-08-15 16:20:59.000000000 +0200
---- src/term.c 2012-08-29 16:22:25.000000000 +0200
-***************
-*** 3006,3012 ****
- int old_Rows = Rows;
- int old_Columns = Columns;
-
-! if (!exiting)
- {
- (void)ui_get_shellsize();
- check_shellsize();
---- 3006,3018 ----
- int old_Rows = Rows;
- int old_Columns = Columns;
-
-! if (!exiting
-! #ifdef FEAT_GUI
-! /* Do not get the size when executing a shell command during
-! * startup. */
-! && !gui.starting
-! #endif
-! )
- {
- (void)ui_get_shellsize();
- check_shellsize();
-*** ../vim-7.3.642/src/version.c 2012-08-29 15:50:22.000000000 +0200
---- src/version.c 2012-08-29 16:25:42.000000000 +0200
-***************
-*** 721,722 ****
---- 721,724 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 643,
- /**/
-
---
-Eight Megabytes And Continually Swapping.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.644 b/source/ap/vim/patches/7.3.644
deleted file mode 100644
index 6f2630cc4..000000000
--- a/source/ap/vim/patches/7.3.644
+++ /dev/null
@@ -1,72 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.644
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.644
-Problem: Dead code for BeOS GUI.
-Solution: Remove unused __BEOS__ stuff.
-Files: src/gui.c
-
-
-*** ../vim-7.3.643/src/gui.c 2012-07-10 16:49:08.000000000 +0200
---- src/gui.c 2012-08-29 16:28:46.000000000 +0200
-***************
-*** 37,44 ****
- static void gui_set_bg_color __ARGS((char_u *name));
- static win_T *xy2win __ARGS((int x, int y));
-
-! #if defined(UNIX) && !defined(__BEOS__) && !defined(MACOS_X) \
-! && !defined(__APPLE__)
- # define MAY_FORK
- static void gui_do_fork __ARGS((void));
-
---- 37,43 ----
- static void gui_set_bg_color __ARGS((char_u *name));
- static win_T *xy2win __ARGS((int x, int y));
-
-! #if defined(UNIX) && !defined(MACOS_X) && !defined(__APPLE__)
- # define MAY_FORK
- static void gui_do_fork __ARGS((void));
-
-***************
-*** 784,794 ****
- gui_exit(rc)
- int rc;
- {
-- #ifndef __BEOS__
- /* don't free the fonts, it leads to a BUS error
- * richard@whitequeen.com Jul 99 */
- free_highlight_fonts();
-- #endif
- gui.in_use = FALSE;
- gui_mch_exit(rc);
- }
---- 783,791 ----
-*** ../vim-7.3.643/src/version.c 2012-08-29 16:26:01.000000000 +0200
---- src/version.c 2012-08-29 16:33:30.000000000 +0200
-***************
-*** 721,722 ****
---- 721,724 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 644,
- /**/
-
---
-E M A C S
-s e l o h
-c t t n i
-a a t f
-p r t
-e o
- l
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.3.645 b/source/ap/vim/patches/7.3.645
deleted file mode 100644
index 40d8ee0b8..000000000
--- a/source/ap/vim/patches/7.3.645
+++ /dev/null
@@ -1,118 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.645
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.645
-Problem: No tests for patch 7.3.625 and 7.3.637.
-Solution: Add more tests for the "gn" command and try/catch. (Christian
- Brabandt)
-Files: src/testdir/test53.in, src/testdir/test53.ok,
- src/testdir/test55.in, src/testdir/test55.ok
-
-
-*** ../vim-7.3.644/src/testdir/test53.in 2012-07-25 15:06:20.000000000 +0200
---- src/testdir/test53.in 2012-08-29 16:37:44.000000000 +0200
-***************
-*** 34,40 ****
- gnd
- /[a]bcdx
- :1
-! 2gnd
- :/^start:/,/^end:/wq! test.out
- ENDTEST
-
---- 34,46 ----
- gnd
- /[a]bcdx
- :1
-! 2gnd/join
-! /$
-! 0gnd
-! /\>\zs
-! 0gnd/^
-! gnd$h/\zs
-! gnd
- :/^start:/,/^end:/wq! test.out
- ENDTEST
-
-***************
-*** 57,60 ****
---- 63,70 ----
- one
- two
- abcdx | abcdx | abcdx
-+ join
-+ lines
-+ zero width pattern
-+ delete first and last chars
- end:
-*** ../vim-7.3.644/src/testdir/test53.ok 2012-07-25 15:06:20.000000000 +0200
---- src/testdir/test53.ok 2012-08-29 16:37:48.000000000 +0200
-***************
-*** 21,24 ****
---- 21,27 ----
- SEARCH:
- searchmatch
- abcdx | | abcdx
-+ join lines
-+ zerowidth pattern
-+ elete first and last char
- end:
-*** ../vim-7.3.644/src/testdir/test55.in 2012-05-18 12:06:58.000000000 +0200
---- src/testdir/test55.in 2012-08-29 16:50:51.000000000 +0200
-***************
-*** 378,383 ****
---- 378,393 ----
- :unlet dict
- :call garbagecollect(1)
- :"
-+ :" test for patch 7.3.637
-+ :let a = 'No error caught'
-+ :try|foldopen|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
-+ o=a :"
-+ :lang C
-+ :redir => a
-+ :try|foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
-+ :redir END
-+ o=a :"
-+ :"
- :/^start:/,$wq! test.out
- ENDTEST
-
-*** ../vim-7.3.644/src/testdir/test55.ok 2012-05-18 12:06:58.000000000 +0200
---- src/testdir/test55.ok 2012-08-29 16:51:15.000000000 +0200
-***************
-*** 115,117 ****
---- 115,123 ----
- {'a': {'b': 'B'}}
- Vim(call):E737: a
- {'a': {'b': 'B'}}
-+ Vim(foldopen):E490:
-+
-+
-+ Error detected while processing :
-+ E492: Not an editor command: foobar|catch|let a = matchstr(v:exception,'^[^ ]*')|endtry
-+
-*** ../vim-7.3.644/src/version.c 2012-08-29 16:34:23.000000000 +0200
---- src/version.c 2012-08-29 16:37:20.000000000 +0200
-***************
-*** 721,722 ****
---- 721,724 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 645,
- /**/
-
---
-TALL KNIGHT OF NI: Ni!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.001 b/source/ap/vim/patches/7.4.001
new file mode 100644
index 000000000..5788972a5
--- /dev/null
+++ b/source/ap/vim/patches/7.4.001
@@ -0,0 +1,489 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.001
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.001
+Problem: Character classes such as [a-z] to not react to 'ignorecase'.
+ Breaks man page highlighting. (Mario Grgic)
+Solution: Add separate items for classes that react to 'ignorecase'. Clean
+ up logic handling character classes. Add more tests.
+Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.4.000/src/regexp_nfa.c 2013-08-01 18:27:51.000000000 +0200
+--- src/regexp_nfa.c 2013-08-14 11:49:50.000000000 +0200
+***************
+*** 29,34 ****
+--- 29,37 ----
+ # define NFA_REGEXP_DEBUG_LOG "nfa_regexp_debug.log"
+ #endif
+
++ /* Added to NFA_ANY - NFA_NUPPER_IC to include a NL. */
++ #define NFA_ADD_NL 31
++
+ enum
+ {
+ NFA_SPLIT = -1024,
+***************
+*** 183,188 ****
+--- 186,198 ----
+ NFA_NLOWER, /* Match non-lowercase char */
+ NFA_UPPER, /* Match uppercase char */
+ NFA_NUPPER, /* Match non-uppercase char */
++ NFA_LOWER_IC, /* Match [a-z] */
++ NFA_NLOWER_IC, /* Match [^a-z] */
++ NFA_UPPER_IC, /* Match [A-Z] */
++ NFA_NUPPER_IC, /* Match [^A-Z] */
++
++ NFA_FIRST_NL = NFA_ANY + NFA_ADD_NL,
++ NFA_LAST_NL = NFA_NUPPER_IC + NFA_ADD_NL,
+
+ NFA_CURSOR, /* Match cursor pos */
+ NFA_LNUM, /* Match line number */
+***************
+*** 199,207 ****
+ NFA_MARK_LT, /* Match < mark */
+ NFA_VISUAL, /* Match Visual area */
+
+- NFA_FIRST_NL = NFA_ANY + ADD_NL,
+- NFA_LAST_NL = NFA_NUPPER + ADD_NL,
+-
+ /* Character classes [:alnum:] etc */
+ NFA_CLASS_ALNUM,
+ NFA_CLASS_ALPHA,
+--- 209,214 ----
+***************
+*** 578,583 ****
+--- 585,592 ----
+ * On failure, return 0 (=FAIL)
+ * Start points to the first char of the range, while end should point
+ * to the closing brace.
++ * Keep in mind that 'ignorecase' applies at execution time, thus [a-z] may
++ * need to be interpreted as [a-zA-Z].
+ */
+ static int
+ nfa_recognize_char_class(start, end, extra_newl)
+***************
+*** 681,687 ****
+ return FAIL;
+
+ if (newl == TRUE)
+! extra_newl = ADD_NL;
+
+ switch (config)
+ {
+--- 690,696 ----
+ return FAIL;
+
+ if (newl == TRUE)
+! extra_newl = NFA_ADD_NL;
+
+ switch (config)
+ {
+***************
+*** 710,722 ****
+ case CLASS_not | CLASS_az | CLASS_AZ:
+ return extra_newl + NFA_NALPHA;
+ case CLASS_az:
+! return extra_newl + NFA_LOWER;
+ case CLASS_not | CLASS_az:
+! return extra_newl + NFA_NLOWER;
+ case CLASS_AZ:
+! return extra_newl + NFA_UPPER;
+ case CLASS_not | CLASS_AZ:
+! return extra_newl + NFA_NUPPER;
+ }
+ return FAIL;
+ }
+--- 719,731 ----
+ case CLASS_not | CLASS_az | CLASS_AZ:
+ return extra_newl + NFA_NALPHA;
+ case CLASS_az:
+! return extra_newl + NFA_LOWER_IC;
+ case CLASS_not | CLASS_az:
+! return extra_newl + NFA_NLOWER_IC;
+ case CLASS_AZ:
+! return extra_newl + NFA_UPPER_IC;
+ case CLASS_not | CLASS_AZ:
+! return extra_newl + NFA_NUPPER_IC;
+ }
+ return FAIL;
+ }
+***************
+*** 914,920 ****
+ break;
+ }
+
+! extra = ADD_NL;
+
+ /* "\_[" is collection plus newline */
+ if (c == '[')
+--- 923,929 ----
+ break;
+ }
+
+! extra = NFA_ADD_NL;
+
+ /* "\_[" is collection plus newline */
+ if (c == '[')
+***************
+*** 970,976 ****
+ }
+ #endif
+ EMIT(nfa_classcodes[p - classchars]);
+! if (extra == ADD_NL)
+ {
+ EMIT(NFA_NEWL);
+ EMIT(NFA_OR);
+--- 979,985 ----
+ }
+ #endif
+ EMIT(nfa_classcodes[p - classchars]);
+! if (extra == NFA_ADD_NL)
+ {
+ EMIT(NFA_NEWL);
+ EMIT(NFA_OR);
+***************
+*** 1240,1260 ****
+ {
+ /*
+ * Try to reverse engineer character classes. For example,
+! * recognize that [0-9] stands for \d and [A-Za-z_] with \h,
+ * and perform the necessary substitutions in the NFA.
+ */
+ result = nfa_recognize_char_class(regparse, endp,
+! extra == ADD_NL);
+ if (result != FAIL)
+ {
+! if (result >= NFA_DIGIT && result <= NFA_NUPPER)
+! EMIT(result);
+! else /* must be char class + newline */
+ {
+! EMIT(result - ADD_NL);
+ EMIT(NFA_NEWL);
+ EMIT(NFA_OR);
+ }
+ regparse = endp;
+ mb_ptr_adv(regparse);
+ return OK;
+--- 1249,1269 ----
+ {
+ /*
+ * Try to reverse engineer character classes. For example,
+! * recognize that [0-9] stands for \d and [A-Za-z_] for \h,
+ * and perform the necessary substitutions in the NFA.
+ */
+ result = nfa_recognize_char_class(regparse, endp,
+! extra == NFA_ADD_NL);
+ if (result != FAIL)
+ {
+! if (result >= NFA_FIRST_NL && result <= NFA_LAST_NL)
+ {
+! EMIT(result - NFA_ADD_NL);
+ EMIT(NFA_NEWL);
+ EMIT(NFA_OR);
+ }
++ else
++ EMIT(result);
+ regparse = endp;
+ mb_ptr_adv(regparse);
+ return OK;
+***************
+*** 1504,1510 ****
+ * collection, add an OR below. But not for negated
+ * range. */
+ if (!negated)
+! extra = ADD_NL;
+ }
+ else
+ {
+--- 1513,1519 ----
+ * collection, add an OR below. But not for negated
+ * range. */
+ if (!negated)
+! extra = NFA_ADD_NL;
+ }
+ else
+ {
+***************
+*** 1537,1543 ****
+ EMIT(NFA_END_COLL);
+
+ /* \_[] also matches \n but it's not negated */
+! if (extra == ADD_NL)
+ {
+ EMIT(reg_string ? NL : NFA_NEWL);
+ EMIT(NFA_OR);
+--- 1546,1552 ----
+ EMIT(NFA_END_COLL);
+
+ /* \_[] also matches \n but it's not negated */
+! if (extra == NFA_ADD_NL)
+ {
+ EMIT(reg_string ? NL : NFA_NEWL);
+ EMIT(NFA_OR);
+***************
+*** 2011,2017 ****
+ if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL)
+ {
+ addnl = TRUE;
+! c -= ADD_NL;
+ }
+
+ STRCPY(code, "");
+--- 2020,2026 ----
+ if (c >= NFA_FIRST_NL && c <= NFA_LAST_NL)
+ {
+ addnl = TRUE;
+! c -= NFA_ADD_NL;
+ }
+
+ STRCPY(code, "");
+***************
+*** 2217,2222 ****
+--- 2226,2235 ----
+ case NFA_NLOWER:STRCPY(code, "NFA_NLOWER"); break;
+ case NFA_UPPER: STRCPY(code, "NFA_UPPER"); break;
+ case NFA_NUPPER:STRCPY(code, "NFA_NUPPER"); break;
++ case NFA_LOWER_IC: STRCPY(code, "NFA_LOWER_IC"); break;
++ case NFA_NLOWER_IC: STRCPY(code, "NFA_NLOWER_IC"); break;
++ case NFA_UPPER_IC: STRCPY(code, "NFA_UPPER_IC"); break;
++ case NFA_NUPPER_IC: STRCPY(code, "NFA_NUPPER_IC"); break;
+
+ default:
+ STRCPY(code, "CHAR(x)");
+***************
+*** 2687,2692 ****
+--- 2700,2709 ----
+ case NFA_NLOWER:
+ case NFA_UPPER:
+ case NFA_NUPPER:
++ case NFA_LOWER_IC:
++ case NFA_NLOWER_IC:
++ case NFA_UPPER_IC:
++ case NFA_NUPPER_IC:
+ /* possibly non-ascii */
+ #ifdef FEAT_MBYTE
+ if (has_mbyte)
+***************
+*** 3841,3846 ****
+--- 3858,3867 ----
+ case NFA_NLOWER:
+ case NFA_UPPER:
+ case NFA_NUPPER:
++ case NFA_LOWER_IC:
++ case NFA_NLOWER_IC:
++ case NFA_UPPER_IC:
++ case NFA_NUPPER_IC:
+ case NFA_START_COLL:
+ case NFA_START_NEG_COLL:
+ case NFA_NEWL:
+***************
+*** 5872,5877 ****
+--- 5893,5920 ----
+ ADD_STATE_IF_MATCH(t->state);
+ break;
+
++ case NFA_LOWER_IC: /* [a-z] */
++ result = ri_lower(curc) || (ireg_ic && ri_upper(curc));
++ ADD_STATE_IF_MATCH(t->state);
++ break;
++
++ case NFA_NLOWER_IC: /* [^a-z] */
++ result = curc != NUL
++ && !(ri_lower(curc) || (ireg_ic && ri_upper(curc)));
++ ADD_STATE_IF_MATCH(t->state);
++ break;
++
++ case NFA_UPPER_IC: /* [A-Z] */
++ result = ri_upper(curc) || (ireg_ic && ri_lower(curc));
++ ADD_STATE_IF_MATCH(t->state);
++ break;
++
++ case NFA_NUPPER_IC: /* ^[A-Z] */
++ result = curc != NUL
++ && !(ri_upper(curc) || (ireg_ic && ri_lower(curc)));
++ ADD_STATE_IF_MATCH(t->state);
++ break;
++
+ case NFA_BACKREF1:
+ case NFA_BACKREF2:
+ case NFA_BACKREF3:
+*** ../vim-7.4.000/src/testdir/test64.in 2013-08-01 17:45:33.000000000 +0200
+--- src/testdir/test64.in 2013-08-14 11:50:11.000000000 +0200
+***************
+*** 289,303 ****
+ :call add(tl, [2, '.a\%$', " a\n "])
+ :call add(tl, [2, '.a\%$', " a\n_a", "_a"])
+ :"
+! :"""" Test recognition of some character classes
+! :call add(tl, [2, '[0-9]', '8', '8'])
+! :call add(tl, [2, '[^0-9]', '8'])
+! :call add(tl, [2, '[0-9a-fA-F]*', '0a7', '0a7'])
+! :call add(tl, [2, '[^0-9A-Fa-f]\+', '0a7'])
+! :call add(tl, [2, '[a-z_A-Z0-9]\+', 'aso_sfoij', 'aso_sfoij'])
+! :call add(tl, [2, '[a-z]', 'a', 'a'])
+! :call add(tl, [2, '[a-zA-Z]', 'a', 'a'])
+! :call add(tl, [2, '[A-Z]', 'a'])
+ :call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
+ :"
+ :"""" Tests for \z features
+--- 289,317 ----
+ :call add(tl, [2, '.a\%$', " a\n "])
+ :call add(tl, [2, '.a\%$', " a\n_a", "_a"])
+ :"
+! :"""" Test recognition of character classes
+! :call add(tl, [2, '[0-7]\+', 'x0123456789x', '01234567'])
+! :call add(tl, [2, '[^0-7]\+', '0a;X+% 897', 'a;X+% 89'])
+! :call add(tl, [2, '[0-9]\+', 'x0123456789x', '0123456789'])
+! :call add(tl, [2, '[^0-9]\+', '0a;X+% 9', 'a;X+% '])
+! :call add(tl, [2, '[0-9a-fA-F]\+', 'x0189abcdefg', '0189abcdef'])
+! :call add(tl, [2, '[^0-9A-Fa-f]\+', '0189g;X+% ab', 'g;X+% '])
+! :call add(tl, [2, '[a-z_A-Z0-9]\+', ';+aso_SfOij ', 'aso_SfOij'])
+! :call add(tl, [2, '[^a-z_A-Z0-9]\+', 'aSo_;+% sfOij', ';+% '])
+! :call add(tl, [2, '[a-z_A-Z]\+', '0abyz_ABYZ;', 'abyz_ABYZ'])
+! :call add(tl, [2, '[^a-z_A-Z]\+', 'abAB_09;+% yzYZ', '09;+% '])
+! :call add(tl, [2, '[a-z]\+', '0abcxyz1', 'abcxyz'])
+! :call add(tl, [2, '[a-z]\+', 'AabxyzZ', 'abxyz'])
+! :call add(tl, [2, '[^a-z]\+', 'a;X09+% x', ';X09+% '])
+! :call add(tl, [2, '[^a-z]\+', 'abX0;%yz', 'X0;%'])
+! :call add(tl, [2, '[a-zA-Z]\+', '0abABxzXZ9', 'abABxzXZ'])
+! :call add(tl, [2, '[^a-zA-Z]\+', 'ab09_;+ XZ', '09_;+ '])
+! :call add(tl, [2, '[A-Z]\+', 'aABXYZz', 'ABXYZ'])
+! :call add(tl, [2, '[^A-Z]\+', 'ABx0;%YZ', 'x0;%'])
+! :call add(tl, [2, '[a-z]\+\c', '0abxyzABXYZ;', 'abxyzABXYZ'])
+! :call add(tl, [2, '[A-Z]\+\c', '0abABxzXZ9', 'abABxzXZ'])
+! :call add(tl, [2, '\c[^a-z]\+', 'ab09_;+ XZ', '09_;+ '])
+! :call add(tl, [2, '\c[^A-Z]\+', 'ab09_;+ XZ', '09_;+ '])
+ :call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
+ :"
+ :"""" Tests for \z features
+*** ../vim-7.4.000/src/testdir/test64.ok 2013-08-01 18:28:56.000000000 +0200
+--- src/testdir/test64.ok 2013-08-14 11:50:37.000000000 +0200
+***************
+*** 650,679 ****
+ OK 0 - .a\%$
+ OK 1 - .a\%$
+ OK 2 - .a\%$
+! OK 0 - [0-9]
+! OK 1 - [0-9]
+! OK 2 - [0-9]
+! OK 0 - [^0-9]
+! OK 1 - [^0-9]
+! OK 2 - [^0-9]
+! OK 0 - [0-9a-fA-F]*
+! OK 1 - [0-9a-fA-F]*
+! OK 2 - [0-9a-fA-F]*
+ OK 0 - [^0-9A-Fa-f]\+
+ OK 1 - [^0-9A-Fa-f]\+
+ OK 2 - [^0-9A-Fa-f]\+
+ OK 0 - [a-z_A-Z0-9]\+
+ OK 1 - [a-z_A-Z0-9]\+
+ OK 2 - [a-z_A-Z0-9]\+
+! OK 0 - [a-z]
+! OK 1 - [a-z]
+! OK 2 - [a-z]
+! OK 0 - [a-zA-Z]
+! OK 1 - [a-zA-Z]
+! OK 2 - [a-zA-Z]
+! OK 0 - [A-Z]
+! OK 1 - [A-Z]
+! OK 2 - [A-Z]
+ OK 0 - \C[^A-Z]\+
+ OK 1 - \C[^A-Z]\+
+ OK 2 - \C[^A-Z]\+
+--- 650,721 ----
+ OK 0 - .a\%$
+ OK 1 - .a\%$
+ OK 2 - .a\%$
+! OK 0 - [0-7]\+
+! OK 1 - [0-7]\+
+! OK 2 - [0-7]\+
+! OK 0 - [^0-7]\+
+! OK 1 - [^0-7]\+
+! OK 2 - [^0-7]\+
+! OK 0 - [0-9]\+
+! OK 1 - [0-9]\+
+! OK 2 - [0-9]\+
+! OK 0 - [^0-9]\+
+! OK 1 - [^0-9]\+
+! OK 2 - [^0-9]\+
+! OK 0 - [0-9a-fA-F]\+
+! OK 1 - [0-9a-fA-F]\+
+! OK 2 - [0-9a-fA-F]\+
+ OK 0 - [^0-9A-Fa-f]\+
+ OK 1 - [^0-9A-Fa-f]\+
+ OK 2 - [^0-9A-Fa-f]\+
+ OK 0 - [a-z_A-Z0-9]\+
+ OK 1 - [a-z_A-Z0-9]\+
+ OK 2 - [a-z_A-Z0-9]\+
+! OK 0 - [^a-z_A-Z0-9]\+
+! OK 1 - [^a-z_A-Z0-9]\+
+! OK 2 - [^a-z_A-Z0-9]\+
+! OK 0 - [a-z_A-Z]\+
+! OK 1 - [a-z_A-Z]\+
+! OK 2 - [a-z_A-Z]\+
+! OK 0 - [^a-z_A-Z]\+
+! OK 1 - [^a-z_A-Z]\+
+! OK 2 - [^a-z_A-Z]\+
+! OK 0 - [a-z]\+
+! OK 1 - [a-z]\+
+! OK 2 - [a-z]\+
+! OK 0 - [a-z]\+
+! OK 1 - [a-z]\+
+! OK 2 - [a-z]\+
+! OK 0 - [^a-z]\+
+! OK 1 - [^a-z]\+
+! OK 2 - [^a-z]\+
+! OK 0 - [^a-z]\+
+! OK 1 - [^a-z]\+
+! OK 2 - [^a-z]\+
+! OK 0 - [a-zA-Z]\+
+! OK 1 - [a-zA-Z]\+
+! OK 2 - [a-zA-Z]\+
+! OK 0 - [^a-zA-Z]\+
+! OK 1 - [^a-zA-Z]\+
+! OK 2 - [^a-zA-Z]\+
+! OK 0 - [A-Z]\+
+! OK 1 - [A-Z]\+
+! OK 2 - [A-Z]\+
+! OK 0 - [^A-Z]\+
+! OK 1 - [^A-Z]\+
+! OK 2 - [^A-Z]\+
+! OK 0 - [a-z]\+\c
+! OK 1 - [a-z]\+\c
+! OK 2 - [a-z]\+\c
+! OK 0 - [A-Z]\+\c
+! OK 1 - [A-Z]\+\c
+! OK 2 - [A-Z]\+\c
+! OK 0 - \c[^a-z]\+
+! OK 1 - \c[^a-z]\+
+! OK 2 - \c[^a-z]\+
+! OK 0 - \c[^A-Z]\+
+! OK 1 - \c[^A-Z]\+
+! OK 2 - \c[^A-Z]\+
+ OK 0 - \C[^A-Z]\+
+ OK 1 - \C[^A-Z]\+
+ OK 2 - \C[^A-Z]\+
+*** ../vim-7.4.000/src/version.c 2013-08-10 13:29:20.000000000 +0200
+--- src/version.c 2013-08-14 11:54:57.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 1,
+ /**/
+
+--
+How many light bulbs does it take to change a person?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.002 b/source/ap/vim/patches/7.4.002
new file mode 100644
index 000000000..d92f4de6c
--- /dev/null
+++ b/source/ap/vim/patches/7.4.002
@@ -0,0 +1,77 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.002
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4b.002
+Problem: Pattern with two alternative look-behind matches does not match.
+ (Amadeus Demarzi)
+Solution: When comparing PIMs also compare their state ID to see if they are
+ different.
+Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.4.001/src/regexp_nfa.c 2013-08-14 12:05:54.000000000 +0200
+--- src/regexp_nfa.c 2013-08-14 13:12:09.000000000 +0200
+***************
+*** 3782,3787 ****
+--- 3782,3790 ----
+ if (two_unused)
+ /* one is used and two is not: not equal */
+ return FALSE;
++ /* compare the state id */
++ if (one->state->id != two->state->id)
++ return FALSE;
+ /* compare the position */
+ if (REG_MULTI)
+ return one->end.pos.lnum == two->end.pos.lnum
+*** ../vim-7.4.001/src/testdir/test64.in 2013-08-14 12:05:54.000000000 +0200
+--- src/testdir/test64.in 2013-08-14 12:58:38.000000000 +0200
+***************
+*** 421,426 ****
+--- 421,429 ----
+ :call add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo'])
+ :call add(tl, [2, '\(foo\)\@<=.*', 'foobar', 'bar', 'foo'])
+ :"
++ :" complicated look-behind match
++ :call add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
++ :"
+ :""""" \@>
+ :call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
+ :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
+*** ../vim-7.4.001/src/testdir/test64.ok 2013-08-14 12:05:54.000000000 +0200
+--- src/testdir/test64.ok 2013-08-14 13:14:09.000000000 +0200
+***************
+*** 974,979 ****
+--- 974,982 ----
+ OK 0 - \(foo\)\@<=.*
+ OK 1 - \(foo\)\@<=.*
+ OK 2 - \(foo\)\@<=.*
++ OK 0 - \(r\@<=\|\w\@<!\)\/
++ OK 1 - \(r\@<=\|\w\@<!\)\/
++ OK 2 - \(r\@<=\|\w\@<!\)\/
+ OK 0 - \(a*\)\@>a
+ OK 1 - \(a*\)\@>a
+ OK 2 - \(a*\)\@>a
+*** ../vim-7.4.001/src/version.c 2013-08-14 12:05:54.000000000 +0200
+--- src/version.c 2013-08-14 13:13:45.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 2,
+ /**/
+
+--
+From "know your smileys":
+ :-)-O Smiling doctor with stethoscope
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.003 b/source/ap/vim/patches/7.4.003
new file mode 100644
index 000000000..9aad3c8c8
--- /dev/null
+++ b/source/ap/vim/patches/7.4.003
@@ -0,0 +1,100 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.003
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.003
+Problem: Memory access error in Ruby syntax highlighting. (Christopher Chow)
+Solution: Refresh stale pointer. (James McCoy)
+Files: src/regexp_nfa.c
+
+
+*** ../vim-7.4.002/src/regexp_nfa.c 2013-08-14 13:31:03.000000000 +0200
+--- src/regexp_nfa.c 2013-08-14 14:02:06.000000000 +0200
+***************
+*** 4120,4126 ****
+ sub = &subs->norm;
+ }
+ #ifdef FEAT_SYN_HL
+! else if (state->c >= NFA_ZOPEN)
+ {
+ subidx = state->c - NFA_ZOPEN;
+ sub = &subs->synt;
+--- 4120,4126 ----
+ sub = &subs->norm;
+ }
+ #ifdef FEAT_SYN_HL
+! else if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9)
+ {
+ subidx = state->c - NFA_ZOPEN;
+ sub = &subs->synt;
+***************
+*** 4189,4194 ****
+--- 4189,4201 ----
+ }
+
+ subs = addstate(l, state->out, subs, pim, off);
++ /* "subs" may have changed, need to set "sub" again */
++ #ifdef FEAT_SYN_HL
++ if (state->c >= NFA_ZOPEN && state->c <= NFA_ZOPEN9)
++ sub = &subs->synt;
++ else
++ #endif
++ sub = &subs->norm;
+
+ if (save_in_use == -1)
+ {
+***************
+*** 4237,4243 ****
+ sub = &subs->norm;
+ }
+ #ifdef FEAT_SYN_HL
+! else if (state->c >= NFA_ZCLOSE)
+ {
+ subidx = state->c - NFA_ZCLOSE;
+ sub = &subs->synt;
+--- 4244,4250 ----
+ sub = &subs->norm;
+ }
+ #ifdef FEAT_SYN_HL
+! else if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9)
+ {
+ subidx = state->c - NFA_ZCLOSE;
+ sub = &subs->synt;
+***************
+*** 4281,4286 ****
+--- 4288,4300 ----
+ }
+
+ subs = addstate(l, state->out, subs, pim, off);
++ /* "subs" may have changed, need to set "sub" again */
++ #ifdef FEAT_SYN_HL
++ if (state->c >= NFA_ZCLOSE && state->c <= NFA_ZCLOSE9)
++ sub = &subs->synt;
++ else
++ #endif
++ sub = &subs->norm;
+
+ if (REG_MULTI)
+ sub->list.multi[subidx].end = save_lpos;
+*** ../vim-7.4.002/src/version.c 2013-08-14 13:31:03.000000000 +0200
+--- src/version.c 2013-08-14 14:03:51.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 3,
+ /**/
+
+--
+Where do you want to crash today?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.004 b/source/ap/vim/patches/7.4.004
new file mode 100644
index 000000000..f629d673f
--- /dev/null
+++ b/source/ap/vim/patches/7.4.004
@@ -0,0 +1,232 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.004
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.004
+Problem: When closing a window fails ":bwipe" may hang.
+Solution: Let win_close() return FAIL and break out of the loop.
+Files: src/window.c, src/proto/window.pro, src/buffer.c
+
+
+*** ../vim-7.4.003/src/window.c 2013-07-24 17:38:29.000000000 +0200
+--- src/window.c 2013-08-14 16:52:44.000000000 +0200
+***************
+*** 2172,2179 ****
+ * If "free_buf" is TRUE related buffer may be unloaded.
+ *
+ * Called by :quit, :close, :xit, :wq and findtag().
+ */
+! void
+ win_close(win, free_buf)
+ win_T *win;
+ int free_buf;
+--- 2172,2180 ----
+ * If "free_buf" is TRUE related buffer may be unloaded.
+ *
+ * Called by :quit, :close, :xit, :wq and findtag().
++ * Returns FAIL when the window was not closed.
+ */
+! int
+ win_close(win, free_buf)
+ win_T *win;
+ int free_buf;
+***************
+*** 2190,2210 ****
+ if (last_window())
+ {
+ EMSG(_("E444: Cannot close last window"));
+! return;
+ }
+
+ #ifdef FEAT_AUTOCMD
+ if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing))
+! return; /* window is already being closed */
+ if (win == aucmd_win)
+ {
+ EMSG(_("E813: Cannot close autocmd window"));
+! return;
+ }
+ if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window())
+ {
+ EMSG(_("E814: Cannot close window, only autocmd window would remain"));
+! return;
+ }
+ #endif
+
+--- 2191,2211 ----
+ if (last_window())
+ {
+ EMSG(_("E444: Cannot close last window"));
+! return FAIL;
+ }
+
+ #ifdef FEAT_AUTOCMD
+ if (win->w_closing || (win->w_buffer != NULL && win->w_buffer->b_closing))
+! return FAIL; /* window is already being closed */
+ if (win == aucmd_win)
+ {
+ EMSG(_("E813: Cannot close autocmd window"));
+! return FAIL;
+ }
+ if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window())
+ {
+ EMSG(_("E814: Cannot close window, only autocmd window would remain"));
+! return FAIL;
+ }
+ #endif
+
+***************
+*** 2212,2218 ****
+ * and then close the window and the tab page to avoid that curwin and
+ * curtab are invalid while we are freeing memory. */
+ if (close_last_window_tabpage(win, free_buf, prev_curtab))
+! return;
+
+ /* When closing the help window, try restoring a snapshot after closing
+ * the window. Otherwise clear the snapshot, it's now invalid. */
+--- 2213,2219 ----
+ * and then close the window and the tab page to avoid that curwin and
+ * curtab are invalid while we are freeing memory. */
+ if (close_last_window_tabpage(win, free_buf, prev_curtab))
+! return FAIL;
+
+ /* When closing the help window, try restoring a snapshot after closing
+ * the window. Otherwise clear the snapshot, it's now invalid. */
+***************
+*** 2240,2261 ****
+ win->w_closing = TRUE;
+ apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf);
+ if (!win_valid(win))
+! return;
+ win->w_closing = FALSE;
+ if (last_window())
+! return;
+ }
+ win->w_closing = TRUE;
+ apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf);
+ if (!win_valid(win))
+! return;
+ win->w_closing = FALSE;
+ if (last_window())
+! return;
+ # ifdef FEAT_EVAL
+ /* autocmds may abort script processing */
+ if (aborting())
+! return;
+ # endif
+ }
+ #endif
+--- 2241,2262 ----
+ win->w_closing = TRUE;
+ apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf);
+ if (!win_valid(win))
+! return FAIL;
+ win->w_closing = FALSE;
+ if (last_window())
+! return FAIL;
+ }
+ win->w_closing = TRUE;
+ apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf);
+ if (!win_valid(win))
+! return FAIL;
+ win->w_closing = FALSE;
+ if (last_window())
+! return FAIL;
+ # ifdef FEAT_EVAL
+ /* autocmds may abort script processing */
+ if (aborting())
+! return FAIL;
+ # endif
+ }
+ #endif
+***************
+*** 2303,2309 ****
+ * other window or moved to another tab page. */
+ else if (!win_valid(win) || last_window() || curtab != prev_curtab
+ || close_last_window_tabpage(win, free_buf, prev_curtab))
+! return;
+
+ /* Free the memory used for the window and get the window that received
+ * the screen space. */
+--- 2304,2310 ----
+ * other window or moved to another tab page. */
+ else if (!win_valid(win) || last_window() || curtab != prev_curtab
+ || close_last_window_tabpage(win, free_buf, prev_curtab))
+! return FAIL;
+
+ /* Free the memory used for the window and get the window that received
+ * the screen space. */
+***************
+*** 2383,2388 ****
+--- 2384,2390 ----
+ #endif
+
+ redraw_all_later(NOT_VALID);
++ return OK;
+ }
+
+ /*
+*** ../vim-7.4.003/src/proto/window.pro 2013-08-10 13:37:30.000000000 +0200
+--- src/proto/window.pro 2013-08-14 16:52:50.000000000 +0200
+***************
+*** 9,15 ****
+ void win_equal __ARGS((win_T *next_curwin, int current, int dir));
+ void close_windows __ARGS((buf_T *buf, int keep_curwin));
+ int one_window __ARGS((void));
+! void win_close __ARGS((win_T *win, int free_buf));
+ void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
+ void win_free_all __ARGS((void));
+ win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp));
+--- 9,15 ----
+ void win_equal __ARGS((win_T *next_curwin, int current, int dir));
+ void close_windows __ARGS((buf_T *buf, int keep_curwin));
+ int one_window __ARGS((void));
+! int win_close __ARGS((win_T *win, int free_buf));
+ void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
+ void win_free_all __ARGS((void));
+ win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp));
+*** ../vim-7.4.003/src/buffer.c 2013-07-17 16:39:00.000000000 +0200
+--- src/buffer.c 2013-08-14 16:54:34.000000000 +0200
+***************
+*** 1186,1192 ****
+ && !(curwin->w_closing || curwin->w_buffer->b_closing)
+ # endif
+ && (firstwin != lastwin || first_tabpage->tp_next != NULL))
+! win_close(curwin, FALSE);
+ #endif
+
+ /*
+--- 1186,1195 ----
+ && !(curwin->w_closing || curwin->w_buffer->b_closing)
+ # endif
+ && (firstwin != lastwin || first_tabpage->tp_next != NULL))
+! {
+! if (win_close(curwin, FALSE) == FAIL)
+! break;
+! }
+ #endif
+
+ /*
+*** ../vim-7.4.003/src/version.c 2013-08-14 14:18:37.000000000 +0200
+--- src/version.c 2013-08-14 17:10:23.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 4,
+ /**/
+
+--
+From "know your smileys":
+ *<|:-) Santa Claus (Ho Ho Ho)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.005 b/source/ap/vim/patches/7.4.005
new file mode 100644
index 000000000..f85d1f0e3
--- /dev/null
+++ b/source/ap/vim/patches/7.4.005
@@ -0,0 +1,48 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.005
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.005
+Problem: Using "vaB" while 'virtualedit' is set selects the wrong area.
+ (Dimitar Dimitrov)
+Solution: Reset coladd when finding a match.
+Files: src/search.c
+
+
+*** ../vim-7.4.004/src/search.c 2013-07-17 19:20:47.000000000 +0200
+--- src/search.c 2013-08-14 17:32:38.000000000 +0200
+***************
+*** 1760,1765 ****
+--- 1760,1768 ----
+ #endif
+
+ pos = curwin->w_cursor;
++ #ifdef FEAT_VIRTUALEDIT
++ pos.coladd = 0;
++ #endif
+ linep = ml_get(pos.lnum);
+
+ cpo_match = (vim_strchr(p_cpo, CPO_MATCH) != NULL);
+*** ../vim-7.4.004/src/version.c 2013-08-14 17:11:14.000000000 +0200
+--- src/version.c 2013-08-14 17:38:05.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 5,
+ /**/
+
+--
+You can't have everything. Where would you put it?
+ -- Steven Wright
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.006 b/source/ap/vim/patches/7.4.006
new file mode 100644
index 000000000..55d3802c4
--- /dev/null
+++ b/source/ap/vim/patches/7.4.006
@@ -0,0 +1,66 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.006
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.006
+Problem: mkdir("foo/bar/", "p") gives an error message. (David Barnett)
+Solution: Remove the trailing slash. (lcd)
+Files: src/eval.c
+
+
+*** ../vim-7.4.005/src/eval.c 2013-07-05 18:23:42.000000000 +0200
+--- src/eval.c 2013-08-22 12:00:28.000000000 +0200
+***************
+*** 14292,14297 ****
+--- 14292,14301 ----
+ return;
+
+ dir = get_tv_string_buf(&argvars[0], buf);
++ if (*gettail(dir) == NUL)
++ /* remove trailing slashes */
++ *gettail_sep(dir) = NUL;
++
+ if (argvars[1].v_type != VAR_UNKNOWN)
+ {
+ if (argvars[2].v_type != VAR_UNKNOWN)
+***************
+*** 14299,14305 ****
+ if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
+ mkdir_recurse(dir, prot);
+ }
+! rettv->vval.v_number = prot != -1 ? vim_mkdir_emsg(dir, prot) : 0;
+ }
+ #endif
+
+--- 14303,14309 ----
+ if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
+ mkdir_recurse(dir, prot);
+ }
+! rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot);
+ }
+ #endif
+
+*** ../vim-7.4.005/src/version.c 2013-08-14 17:45:25.000000000 +0200
+--- src/version.c 2013-08-22 12:02:46.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 6,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+97. Your mother tells you to remember something, and you look for
+ a File/Save command.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.007 b/source/ap/vim/patches/7.4.007
new file mode 100644
index 000000000..5495ffbf9
--- /dev/null
+++ b/source/ap/vim/patches/7.4.007
@@ -0,0 +1,95 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.007
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.007
+Problem: Creating a preview window on startup leaves the screen layout in a
+ messed up state. (Marius Gedminas)
+Solution: Don't change firstwin. (Christian Brabandt)
+Files: src/main.c
+
+
+*** ../vim-7.4.006/src/main.c 2013-07-03 12:36:49.000000000 +0200
+--- src/main.c 2013-08-22 14:02:39.000000000 +0200
+***************
+*** 2727,2732 ****
+--- 2727,2733 ----
+ int arg_idx; /* index in argument list */
+ int i;
+ int advance = TRUE;
++ win_T *win;
+
+ # ifdef FEAT_AUTOCMD
+ /*
+***************
+*** 2816,2839 ****
+ # ifdef FEAT_AUTOCMD
+ --autocmd_no_enter;
+ # endif
+ #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
+! /*
+! * Avoid making a preview window the current window.
+! */
+! if (firstwin->w_p_pvw)
+ {
+! win_T *win;
+!
+! for (win = firstwin; win != NULL; win = win->w_next)
+! if (!win->w_p_pvw)
+! {
+! firstwin = win;
+! break;
+! }
+ }
+ #endif
+! /* make the first window the current window */
+! win_enter(firstwin, FALSE);
+
+ # ifdef FEAT_AUTOCMD
+ --autocmd_no_leave;
+--- 2817,2838 ----
+ # ifdef FEAT_AUTOCMD
+ --autocmd_no_enter;
+ # endif
++
++ /* make the first window the current window */
++ win = firstwin;
+ #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
+! /* Avoid making a preview window the current window. */
+! while (win->w_p_pvw)
+ {
+! win = win->w_next;
+! if (win == NULL)
+! {
+! win = firstwin;
+! break;
+! }
+ }
+ #endif
+! win_enter(win, FALSE);
+
+ # ifdef FEAT_AUTOCMD
+ --autocmd_no_leave;
+*** ../vim-7.4.006/src/version.c 2013-08-22 12:06:50.000000000 +0200
+--- src/version.c 2013-08-22 14:04:11.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 7,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+105. When someone asks you for your address, you tell them your URL.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.008 b/source/ap/vim/patches/7.4.008
new file mode 100644
index 000000000..6abd493f9
--- /dev/null
+++ b/source/ap/vim/patches/7.4.008
@@ -0,0 +1,71 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.008
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.008
+Problem: New regexp engine can't be interrupted.
+Solution: Check for CTRL-C pressed. (Yasuhiro Matsumoto)
+Files: src/regexp_nfa.c, src/regexp.c
+
+
+*** ../vim-7.4.007/src/regexp_nfa.c 2013-08-14 14:18:37.000000000 +0200
+--- src/regexp_nfa.c 2013-08-25 16:55:56.000000000 +0200
+***************
+*** 5089,5094 ****
+--- 5089,5100 ----
+ return FALSE;
+ }
+ #endif
++ /* Some patterns may take a long time to match, especially when using
++ * recursive_regmatch(). Allow interrupting them with CTRL-C. */
++ fast_breakcheck();
++ if (got_int)
++ return FALSE;
++
+ nfa_match = FALSE;
+
+ /* Allocate memory for the lists of nodes. */
+*** ../vim-7.4.007/src/regexp.c 2013-08-01 18:31:30.000000000 +0200
+--- src/regexp.c 2013-08-25 16:57:35.000000000 +0200
+***************
+*** 4311,4318 ****
+ */
+ for (;;)
+ {
+! /* Some patterns may cause a long time to match, even though they are not
+! * illegal. E.g., "\([a-z]\+\)\+Q". Allow breaking them with CTRL-C. */
+ fast_breakcheck();
+
+ #ifdef DEBUG
+--- 4311,4318 ----
+ */
+ for (;;)
+ {
+! /* Some patterns may take a long time to match, e.g., "\([a-z]\+\)\+Q".
+! * Allow interrupting them with CTRL-C. */
+ fast_breakcheck();
+
+ #ifdef DEBUG
+*** ../vim-7.4.007/src/version.c 2013-08-22 14:14:23.000000000 +0200
+--- src/version.c 2013-08-25 16:57:51.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 8,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+124. You begin conversations with, "Who is your internet service provider?"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.009 b/source/ap/vim/patches/7.4.009
new file mode 100644
index 000000000..f5e5fa609
--- /dev/null
+++ b/source/ap/vim/patches/7.4.009
@@ -0,0 +1,64 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.009
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.009
+Problem: When a file was not decrypted (yet), writing it may destroy the
+ contents.
+Solution: Mark the file as readonly until decryption was done. (Christian
+ Brabandt)
+Files: src/fileio.c
+
+
+*** ../vim-7.4.008/src/fileio.c 2013-08-05 21:58:03.000000000 +0200
+--- src/fileio.c 2013-08-25 17:45:27.000000000 +0200
+***************
+*** 2926,2934 ****
+--- 2926,2939 ----
+ int *did_ask; /* flag: whether already asked for key */
+ {
+ int method = crypt_method_from_magic((char *)ptr, *sizep);
++ int b_p_ro = curbuf->b_p_ro;
+
+ if (method >= 0)
+ {
++ /* Mark the buffer as read-only until the decryption has taken place.
++ * Avoids accidentally overwriting the file with garbage. */
++ curbuf->b_p_ro = TRUE;
++
+ set_crypt_method(curbuf, method);
+ if (method > 0)
+ (void)blowfish_self_test();
+***************
+*** 2977,2982 ****
+--- 2982,2989 ----
+ *sizep -= CRYPT_MAGIC_LEN + salt_len + seed_len;
+ mch_memmove(ptr, ptr + CRYPT_MAGIC_LEN + salt_len + seed_len,
+ (size_t)*sizep);
++ /* Restore the read-only flag. */
++ curbuf->b_p_ro = b_p_ro;
+ }
+ }
+ /* When starting to edit a new file which does not have encryption, clear
+*** ../vim-7.4.008/src/version.c 2013-08-25 17:01:36.000000000 +0200
+--- src/version.c 2013-08-25 17:44:30.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 9,
+ /**/
+
+--
+I have a watch cat! Just break in and she'll watch.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.010 b/source/ap/vim/patches/7.4.010
new file mode 100644
index 000000000..fee6ba5b4
--- /dev/null
+++ b/source/ap/vim/patches/7.4.010
@@ -0,0 +1,79 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.010
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.010 (after 7.4.006)
+Problem: Crash with invalid argument to mkdir().
+Solution: Check for empty string. (lcd47)
+Files: src/eval.c
+
+
+*** ../vim-7.4.009/src/eval.c 2013-08-22 12:06:50.000000000 +0200
+--- src/eval.c 2013-08-30 15:47:47.000000000 +0200
+***************
+*** 14292,14309 ****
+ return;
+
+ dir = get_tv_string_buf(&argvars[0], buf);
+! if (*gettail(dir) == NUL)
+! /* remove trailing slashes */
+! *gettail_sep(dir) = NUL;
+!
+! if (argvars[1].v_type != VAR_UNKNOWN)
+ {
+! if (argvars[2].v_type != VAR_UNKNOWN)
+! prot = get_tv_number_chk(&argvars[2], NULL);
+! if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
+! mkdir_recurse(dir, prot);
+ }
+- rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot);
+ }
+ #endif
+
+--- 14292,14314 ----
+ return;
+
+ dir = get_tv_string_buf(&argvars[0], buf);
+! if (*dir == NUL)
+! rettv->vval.v_number = FAIL;
+! else
+ {
+! if (*gettail(dir) == NUL)
+! /* remove trailing slashes */
+! *gettail_sep(dir) = NUL;
+!
+! if (argvars[1].v_type != VAR_UNKNOWN)
+! {
+! if (argvars[2].v_type != VAR_UNKNOWN)
+! prot = get_tv_number_chk(&argvars[2], NULL);
+! if (prot != -1 && STRCMP(get_tv_string(&argvars[1]), "p") == 0)
+! mkdir_recurse(dir, prot);
+! }
+! rettv->vval.v_number = prot == -1 ? FAIL : vim_mkdir_emsg(dir, prot);
+ }
+ }
+ #endif
+
+*** ../vim-7.4.009/src/version.c 2013-08-25 17:46:05.000000000 +0200
+--- src/version.c 2013-08-30 15:48:37.000000000 +0200
+***************
+*** 729,730 ****
+--- 729,732 ----
+ { /* Add new patch number below this line */
++ /**/
++ 10,
+ /**/
+
+--
+I wish there was a knob on the TV to turn up the intelligence.
+There's a knob called "brightness", but it doesn't seem to work.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.011 b/source/ap/vim/patches/7.4.011
new file mode 100644
index 000000000..efff82c5e
--- /dev/null
+++ b/source/ap/vim/patches/7.4.011
@@ -0,0 +1,100 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.011
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.011
+Problem: Cannot find out if "acl" and "xpm" features are supported.
+Solution: Add "acl" and "xpm" to the list of features. (Ken Takata)
+Files: src/eval.c, src/version.c
+
+
+*** ../vim-7.4.010/src/eval.c 2013-08-30 16:00:04.000000000 +0200
+--- src/eval.c 2013-08-30 16:34:12.000000000 +0200
+***************
+*** 12135,12140 ****
+--- 12135,12143 ----
+ #ifndef CASE_INSENSITIVE_FILENAME
+ "fname_case",
+ #endif
++ #ifdef HAVE_ACL
++ "acl",
++ #endif
+ #ifdef FEAT_ARABIC
+ "arabic",
+ #endif
+***************
+*** 12538,12544 ****
+ "xfontset",
+ #endif
+ #ifdef FEAT_XPM_W32
+! "xpm_w32",
+ #endif
+ #ifdef USE_XSMP
+ "xsmp",
+--- 12541,12552 ----
+ "xfontset",
+ #endif
+ #ifdef FEAT_XPM_W32
+! "xpm",
+! "xpm_w32", /* for backward compatibility */
+! #else
+! # if defined(HAVE_XPM)
+! "xpm",
+! # endif
+ #endif
+ #ifdef USE_XSMP
+ "xsmp",
+*** ../vim-7.4.010/src/version.c 2013-08-30 16:00:04.000000000 +0200
+--- src/version.c 2013-08-30 16:34:37.000000000 +0200
+***************
+*** 60,65 ****
+--- 60,70 ----
+
+ static char *(features[]) =
+ {
++ #ifdef HAVE_ACL
++ "+acl",
++ #else
++ "-acl",
++ #endif
+ #ifdef AMIGA /* only for Amiga systems */
+ # ifdef FEAT_ARP
+ "+ARP",
+***************
+*** 721,726 ****
+--- 726,737 ----
+ # else
+ "-xpm_w32",
+ # endif
++ #else
++ # ifdef HAVE_XPM
++ "+xpm",
++ # else
++ "-xpm",
++ # endif
+ #endif
+ NULL
+ };
+*** ../vim-7.4.010/src/version.c 2013-08-30 16:00:04.000000000 +0200
+--- src/version.c 2013-08-30 16:34:37.000000000 +0200
+***************
+*** 729,730 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 11,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+141. You'd rather go to http://www.weather.com/ than look out your window.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.012 b/source/ap/vim/patches/7.4.012
new file mode 100644
index 000000000..f831442ea
--- /dev/null
+++ b/source/ap/vim/patches/7.4.012
@@ -0,0 +1,202 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.012
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.012
+Problem: MS-Windows: resolving shortcut does not work properly with
+ multi-byte characters.
+Solution: Use wide system functions. (Ken Takata)
+Files: src/os_mswin.c
+
+
+*** ../vim-7.4.011/src/os_mswin.c 2013-06-16 16:41:11.000000000 +0200
+--- src/os_mswin.c 2013-08-30 16:43:23.000000000 +0200
+***************
+*** 1761,1769 ****
+ IPersistFile *ppf = NULL;
+ OLECHAR wsz[MAX_PATH];
+ WIN32_FIND_DATA ffd; // we get those free of charge
+! TCHAR buf[MAX_PATH]; // could have simply reused 'wsz'...
+ char_u *rfname = NULL;
+ int len;
+
+ /* Check if the file name ends in ".lnk". Avoid calling
+ * CoCreateInstance(), it's quite slow. */
+--- 1761,1773 ----
+ IPersistFile *ppf = NULL;
+ OLECHAR wsz[MAX_PATH];
+ WIN32_FIND_DATA ffd; // we get those free of charge
+! CHAR buf[MAX_PATH]; // could have simply reused 'wsz'...
+ char_u *rfname = NULL;
+ int len;
++ # ifdef FEAT_MBYTE
++ IShellLinkW *pslw = NULL;
++ WIN32_FIND_DATAW ffdw; // we get those free of charge
++ # endif
+
+ /* Check if the file name ends in ".lnk". Avoid calling
+ * CoCreateInstance(), it's quite slow. */
+***************
+*** 1775,1792 ****
+
+ CoInitialize(NULL);
+
+ // create a link manager object and request its interface
+ hr = CoCreateInstance(
+ &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
+ &IID_IShellLink, (void**)&psl);
+ if (hr != S_OK)
+! goto shortcut_error;
+
+ // Get a pointer to the IPersistFile interface.
+ hr = psl->lpVtbl->QueryInterface(
+ psl, &IID_IPersistFile, (void**)&ppf);
+ if (hr != S_OK)
+! goto shortcut_error;
+
+ // full path string must be in Unicode.
+ MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH);
+--- 1779,1840 ----
+
+ CoInitialize(NULL);
+
++ # ifdef FEAT_MBYTE
++ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
++ {
++ // create a link manager object and request its interface
++ hr = CoCreateInstance(
++ &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
++ &IID_IShellLinkW, (void**)&pslw);
++ if (hr == S_OK)
++ {
++ WCHAR *p = enc_to_utf16(fname, NULL);
++
++ if (p != NULL)
++ {
++ // Get a pointer to the IPersistFile interface.
++ hr = pslw->lpVtbl->QueryInterface(
++ pslw, &IID_IPersistFile, (void**)&ppf);
++ if (hr != S_OK)
++ goto shortcut_errorw;
++
++ // "load" the name and resolve the link
++ hr = ppf->lpVtbl->Load(ppf, p, STGM_READ);
++ if (hr != S_OK)
++ goto shortcut_errorw;
++ # if 0 // This makes Vim wait a long time if the target does not exist.
++ hr = pslw->lpVtbl->Resolve(pslw, NULL, SLR_NO_UI);
++ if (hr != S_OK)
++ goto shortcut_errorw;
++ # endif
++
++ // Get the path to the link target.
++ ZeroMemory(wsz, MAX_PATH * sizeof(WCHAR));
++ hr = pslw->lpVtbl->GetPath(pslw, wsz, MAX_PATH, &ffdw, 0);
++ if (hr == S_OK && wsz[0] != NUL)
++ rfname = utf16_to_enc(wsz, NULL);
++
++ shortcut_errorw:
++ vim_free(p);
++ if (hr == S_OK)
++ goto shortcut_end;
++ }
++ }
++ /* Retry with non-wide function (for Windows 98). */
++ }
++ # endif
+ // create a link manager object and request its interface
+ hr = CoCreateInstance(
+ &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
+ &IID_IShellLink, (void**)&psl);
+ if (hr != S_OK)
+! goto shortcut_end;
+
+ // Get a pointer to the IPersistFile interface.
+ hr = psl->lpVtbl->QueryInterface(
+ psl, &IID_IPersistFile, (void**)&ppf);
+ if (hr != S_OK)
+! goto shortcut_end;
+
+ // full path string must be in Unicode.
+ MultiByteToWideChar(CP_ACP, 0, fname, -1, wsz, MAX_PATH);
+***************
+*** 1794,1805 ****
+ // "load" the name and resolve the link
+ hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ);
+ if (hr != S_OK)
+! goto shortcut_error;
+! #if 0 // This makes Vim wait a long time if the target doesn't exist.
+ hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI);
+ if (hr != S_OK)
+! goto shortcut_error;
+! #endif
+
+ // Get the path to the link target.
+ ZeroMemory(buf, MAX_PATH);
+--- 1842,1853 ----
+ // "load" the name and resolve the link
+ hr = ppf->lpVtbl->Load(ppf, wsz, STGM_READ);
+ if (hr != S_OK)
+! goto shortcut_end;
+! # if 0 // This makes Vim wait a long time if the target doesn't exist.
+ hr = psl->lpVtbl->Resolve(psl, NULL, SLR_NO_UI);
+ if (hr != S_OK)
+! goto shortcut_end;
+! # endif
+
+ // Get the path to the link target.
+ ZeroMemory(buf, MAX_PATH);
+***************
+*** 1807,1818 ****
+ if (hr == S_OK && buf[0] != NUL)
+ rfname = vim_strsave(buf);
+
+! shortcut_error:
+ // Release all interface pointers (both belong to the same object)
+ if (ppf != NULL)
+ ppf->lpVtbl->Release(ppf);
+ if (psl != NULL)
+ psl->lpVtbl->Release(psl);
+
+ CoUninitialize();
+ return rfname;
+--- 1855,1870 ----
+ if (hr == S_OK && buf[0] != NUL)
+ rfname = vim_strsave(buf);
+
+! shortcut_end:
+ // Release all interface pointers (both belong to the same object)
+ if (ppf != NULL)
+ ppf->lpVtbl->Release(ppf);
+ if (psl != NULL)
+ psl->lpVtbl->Release(psl);
++ # ifdef FEAT_MBYTE
++ if (pslw != NULL)
++ pslw->lpVtbl->Release(pslw);
++ # endif
+
+ CoUninitialize();
+ return rfname;
+*** ../vim-7.4.011/src/version.c 2013-08-30 16:35:41.000000000 +0200
+--- src/version.c 2013-08-30 16:39:40.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 12,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+142. You dream about creating the world's greatest web site.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.013 b/source/ap/vim/patches/7.4.013
new file mode 100644
index 000000000..dcbe0fb3e
--- /dev/null
+++ b/source/ap/vim/patches/7.4.013
@@ -0,0 +1,99 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.013
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.013
+Problem: File name buffer too small for utf-8.
+Solution: Use character count instead of byte count. (Ken Takata)
+Files: src/os_mswin.c
+
+
+*** ../vim-7.4.012/src/os_mswin.c 2013-08-30 16:44:15.000000000 +0200
+--- src/os_mswin.c 2013-08-30 16:47:54.000000000 +0200
+***************
+*** 456,462 ****
+--- 456,469 ----
+ int
+ mch_isFullName(char_u *fname)
+ {
++ #ifdef FEAT_MBYTE
++ /* WinNT and later can use _MAX_PATH wide characters for a pathname, which
++ * means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is
++ * UTF-8. */
++ char szName[_MAX_PATH * 3 + 1];
++ #else
+ char szName[_MAX_PATH + 1];
++ #endif
+
+ /* A name like "d:/foo" and "//server/share" is absolute */
+ if ((fname[0] && fname[1] == ':' && (fname[2] == '/' || fname[2] == '\\'))
+***************
+*** 464,470 ****
+ return TRUE;
+
+ /* A name that can't be made absolute probably isn't absolute. */
+! if (mch_FullName(fname, szName, _MAX_PATH, FALSE) == FAIL)
+ return FALSE;
+
+ return pathcmp(fname, szName, -1) == 0;
+--- 471,477 ----
+ return TRUE;
+
+ /* A name that can't be made absolute probably isn't absolute. */
+! if (mch_FullName(fname, szName, sizeof(szName) - 1, FALSE) == FAIL)
+ return FALSE;
+
+ return pathcmp(fname, szName, -1) == 0;
+***************
+*** 498,507 ****
+ int
+ vim_stat(const char *name, struct stat *stp)
+ {
+ char buf[_MAX_PATH + 1];
+ char *p;
+
+! vim_strncpy((char_u *)buf, (char_u *)name, _MAX_PATH);
+ p = buf + strlen(buf);
+ if (p > buf)
+ mb_ptr_back(buf, p);
+--- 505,521 ----
+ int
+ vim_stat(const char *name, struct stat *stp)
+ {
++ #ifdef FEAT_MBYTE
++ /* WinNT and later can use _MAX_PATH wide characters for a pathname, which
++ * means that the maximum pathname is _MAX_PATH * 3 bytes when 'enc' is
++ * UTF-8. */
++ char buf[_MAX_PATH * 3 + 1];
++ #else
+ char buf[_MAX_PATH + 1];
++ #endif
+ char *p;
+
+! vim_strncpy((char_u *)buf, (char_u *)name, sizeof(buf) - 1);
+ p = buf + strlen(buf);
+ if (p > buf)
+ mb_ptr_back(buf, p);
+*** ../vim-7.4.012/src/version.c 2013-08-30 16:44:15.000000000 +0200
+--- src/version.c 2013-08-30 16:47:36.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 13,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+143. You dream in pallettes of 216 websafe colors.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.014 b/source/ap/vim/patches/7.4.014
new file mode 100644
index 000000000..f6554337f
--- /dev/null
+++ b/source/ap/vim/patches/7.4.014
@@ -0,0 +1,102 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.014
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.014
+Problem: MS-Windows: check for writing to device does not work.
+Solution: Fix #ifdefs. (Ken Takata)
+Files: src/fileio.c
+
+
+*** ../vim-7.4.013/src/fileio.c 2013-08-25 17:46:05.000000000 +0200
+--- src/fileio.c 2013-08-30 16:56:46.000000000 +0200
+***************
+*** 428,440 ****
+ }
+ }
+
+- #ifdef UNIX
+- /*
+- * On Unix it is possible to read a directory, so we have to
+- * check for it before the mch_open().
+- */
+ if (!read_stdin && !read_buffer)
+ {
+ perm = mch_getperm(fname);
+ if (perm >= 0 && !S_ISREG(perm) /* not a regular file ... */
+ # ifdef S_ISFIFO
+--- 428,440 ----
+ }
+ }
+
+ if (!read_stdin && !read_buffer)
+ {
++ #ifdef UNIX
++ /*
++ * On Unix it is possible to read a directory, so we have to
++ * check for it before the mch_open().
++ */
+ perm = mch_getperm(fname);
+ if (perm >= 0 && !S_ISREG(perm) /* not a regular file ... */
+ # ifdef S_ISFIFO
+***************
+*** 457,464 ****
+ msg_scroll = msg_save;
+ return FAIL;
+ }
+!
+! # if defined(MSDOS) || defined(MSWIN) || defined(OS2)
+ /*
+ * MS-Windows allows opening a device, but we will probably get stuck
+ * trying to read it.
+--- 457,464 ----
+ msg_scroll = msg_save;
+ return FAIL;
+ }
+! #endif
+! #if defined(MSDOS) || defined(MSWIN) || defined(OS2)
+ /*
+ * MS-Windows allows opening a device, but we will probably get stuck
+ * trying to read it.
+***************
+*** 470,478 ****
+ msg_scroll = msg_save;
+ return FAIL;
+ }
+- # endif
+- }
+ #endif
+
+ /* Set default or forced 'fileformat' and 'binary'. */
+ set_file_options(set_options, eap);
+--- 470,477 ----
+ msg_scroll = msg_save;
+ return FAIL;
+ }
+ #endif
++ }
+
+ /* Set default or forced 'fileformat' and 'binary'. */
+ set_file_options(set_options, eap);
+*** ../vim-7.4.013/src/version.c 2013-08-30 16:51:15.000000000 +0200
+--- src/version.c 2013-08-30 16:54:33.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 14,
+ /**/
+
+--
+Drink wet cement and get really stoned.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.015 b/source/ap/vim/patches/7.4.015
new file mode 100644
index 000000000..e8b284d12
--- /dev/null
+++ b/source/ap/vim/patches/7.4.015
@@ -0,0 +1,106 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.015
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.015
+Problem: MS-Windows: Detecting node type does not work for multi-byte
+ characters.
+Solution: Use wide character function when needed. (Ken Takata)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.014/src/os_win32.c 2013-08-10 12:39:12.000000000 +0200
+--- src/os_win32.c 2013-08-30 17:09:47.000000000 +0200
+***************
+*** 3107,3112 ****
+--- 3107,3115 ----
+ {
+ HANDLE hFile;
+ int type;
++ #ifdef FEAT_MBYTE
++ WCHAR *wn = NULL;
++ #endif
+
+ /* We can't open a file with a name "\\.\con" or "\\.\prn" and trying to
+ * read from it later will cause Vim to hang. Thus return NODE_WRITABLE
+***************
+*** 3114,3127 ****
+ if (STRNCMP(name, "\\\\.\\", 4) == 0)
+ return NODE_WRITABLE;
+
+! hFile = CreateFile(name, /* file name */
+! GENERIC_WRITE, /* access mode */
+! 0, /* share mode */
+! NULL, /* security descriptor */
+! OPEN_EXISTING, /* creation disposition */
+! 0, /* file attributes */
+! NULL); /* handle to template file */
+
+ if (hFile == INVALID_HANDLE_VALUE)
+ return NODE_NORMAL;
+
+--- 3117,3157 ----
+ if (STRNCMP(name, "\\\\.\\", 4) == 0)
+ return NODE_WRITABLE;
+
+! #ifdef FEAT_MBYTE
+! if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+! {
+! wn = enc_to_utf16(name, NULL);
+! if (wn != NULL)
+! {
+! hFile = CreateFileW(wn, /* file name */
+! GENERIC_WRITE, /* access mode */
+! 0, /* share mode */
+! NULL, /* security descriptor */
+! OPEN_EXISTING, /* creation disposition */
+! 0, /* file attributes */
+! NULL); /* handle to template file */
+! if (hFile == INVALID_HANDLE_VALUE
+! && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
+! {
+! /* Retry with non-wide function (for Windows 98). */
+! vim_free(wn);
+! wn = NULL;
+! }
+! }
+! }
+! if (wn == NULL)
+! #endif
+! hFile = CreateFile(name, /* file name */
+! GENERIC_WRITE, /* access mode */
+! 0, /* share mode */
+! NULL, /* security descriptor */
+! OPEN_EXISTING, /* creation disposition */
+! 0, /* file attributes */
+! NULL); /* handle to template file */
+
++ #ifdef FEAT_MBYTE
++ vim_free(wn);
++ #endif
+ if (hFile == INVALID_HANDLE_VALUE)
+ return NODE_NORMAL;
+
+*** ../vim-7.4.014/src/version.c 2013-08-30 17:06:56.000000000 +0200
+--- src/version.c 2013-08-30 17:09:35.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 15,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+144. You eagerly await the update of the "Cool Site of the Day."
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.016 b/source/ap/vim/patches/7.4.016
new file mode 100644
index 000000000..c58c605f5
--- /dev/null
+++ b/source/ap/vim/patches/7.4.016
@@ -0,0 +1,221 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.016
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.016
+Problem: MS-Windows: File name completion doesn't work properly with
+ Chinese characters. (Yue Wu)
+Solution: Add fname_casew(). (Ken Takata)
+Files: src/os_win32.c
+
+
+*** ../vim-7.4.015/src/os_win32.c 2013-08-30 17:11:29.000000000 +0200
+--- src/os_win32.c 2013-08-30 17:28:30.000000000 +0200
+***************
+*** 2500,2508 ****
+--- 2500,2624 ----
+ }
+
+
++ #ifdef FEAT_MBYTE
++ /*
++ * fname_casew(): Wide version of fname_case(). Set the case of the file name,
++ * if it already exists. When "len" is > 0, also expand short to long
++ * filenames.
++ * Return FAIL if wide functions are not available, OK otherwise.
++ * NOTE: much of this is identical to fname_case(), keep in sync!
++ */
++ static int
++ fname_casew(
++ WCHAR *name,
++ int len)
++ {
++ WCHAR szTrueName[_MAX_PATH + 2];
++ WCHAR szTrueNameTemp[_MAX_PATH + 2];
++ WCHAR *ptrue, *ptruePrev;
++ WCHAR *porig, *porigPrev;
++ int flen;
++ WIN32_FIND_DATAW fb;
++ HANDLE hFind;
++ int c;
++ int slen;
++
++ flen = (int)wcslen(name);
++ if (flen > _MAX_PATH)
++ return OK;
++
++ /* slash_adjust(name) not needed, already adjusted by fname_case(). */
++
++ /* Build the new name in szTrueName[] one component at a time. */
++ porig = name;
++ ptrue = szTrueName;
++
++ if (iswalpha(porig[0]) && porig[1] == L':')
++ {
++ /* copy leading drive letter */
++ *ptrue++ = *porig++;
++ *ptrue++ = *porig++;
++ *ptrue = NUL; /* in case nothing follows */
++ }
++
++ while (*porig != NUL)
++ {
++ /* copy \ characters */
++ while (*porig == psepc)
++ *ptrue++ = *porig++;
++
++ ptruePrev = ptrue;
++ porigPrev = porig;
++ while (*porig != NUL && *porig != psepc)
++ {
++ *ptrue++ = *porig++;
++ }
++ *ptrue = NUL;
++
++ /* To avoid a slow failure append "\*" when searching a directory,
++ * server or network share. */
++ wcscpy(szTrueNameTemp, szTrueName);
++ slen = (int)wcslen(szTrueNameTemp);
++ if (*porig == psepc && slen + 2 < _MAX_PATH)
++ wcscpy(szTrueNameTemp + slen, L"\\*");
++
++ /* Skip "", "." and "..". */
++ if (ptrue > ptruePrev
++ && (ptruePrev[0] != L'.'
++ || (ptruePrev[1] != NUL
++ && (ptruePrev[1] != L'.' || ptruePrev[2] != NUL)))
++ && (hFind = FindFirstFileW(szTrueNameTemp, &fb))
++ != INVALID_HANDLE_VALUE)
++ {
++ c = *porig;
++ *porig = NUL;
++
++ /* Only use the match when it's the same name (ignoring case) or
++ * expansion is allowed and there is a match with the short name
++ * and there is enough room. */
++ if (_wcsicoll(porigPrev, fb.cFileName) == 0
++ || (len > 0
++ && (_wcsicoll(porigPrev, fb.cAlternateFileName) == 0
++ && (int)(ptruePrev - szTrueName)
++ + (int)wcslen(fb.cFileName) < len)))
++ {
++ wcscpy(ptruePrev, fb.cFileName);
++
++ /* Look for exact match and prefer it if found. Must be a
++ * long name, otherwise there would be only one match. */
++ while (FindNextFileW(hFind, &fb))
++ {
++ if (*fb.cAlternateFileName != NUL
++ && (wcscoll(porigPrev, fb.cFileName) == 0
++ || (len > 0
++ && (_wcsicoll(porigPrev,
++ fb.cAlternateFileName) == 0
++ && (int)(ptruePrev - szTrueName)
++ + (int)wcslen(fb.cFileName) < len))))
++ {
++ wcscpy(ptruePrev, fb.cFileName);
++ break;
++ }
++ }
++ }
++ FindClose(hFind);
++ *porig = c;
++ ptrue = ptruePrev + wcslen(ptruePrev);
++ }
++ else if (hFind == INVALID_HANDLE_VALUE
++ && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
++ return FAIL;
++ }
++
++ wcscpy(name, szTrueName);
++ return OK;
++ }
++ #endif
++
+ /*
+ * fname_case(): Set the case of the file name, if it already exists.
+ * When "len" is > 0, also expand short to long filenames.
++ * NOTE: much of this is identical to fname_casew(), keep in sync!
+ */
+ void
+ fname_case(
+***************
+*** 2520,2530 ****
+ int slen;
+
+ flen = (int)STRLEN(name);
+! if (flen == 0 || flen > _MAX_PATH)
+ return;
+
+ slash_adjust(name);
+
+ /* Build the new name in szTrueName[] one component at a time. */
+ porig = name;
+ ptrue = szTrueName;
+--- 2636,2679 ----
+ int slen;
+
+ flen = (int)STRLEN(name);
+! if (flen == 0)
+ return;
+
+ slash_adjust(name);
+
++ #ifdef FEAT_MBYTE
++ if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
++ {
++ WCHAR *p = enc_to_utf16(name, NULL);
++
++ if (p != NULL)
++ {
++ char_u *q;
++ WCHAR buf[_MAX_PATH + 2];
++
++ wcscpy(buf, p);
++ vim_free(p);
++
++ if (fname_casew(buf, (len > 0) ? _MAX_PATH : 0) == OK)
++ {
++ q = utf16_to_enc(buf, NULL);
++ if (q != NULL)
++ {
++ vim_strncpy(name, q, (len > 0) ? len - 1 : flen);
++ vim_free(q);
++ return;
++ }
++ }
++ }
++ /* Retry with non-wide function (for Windows 98). */
++ }
++ #endif
++
++ /* If 'enc' is utf-8, flen can be larger than _MAX_PATH.
++ * So we should check this after calling wide function. */
++ if (flen > _MAX_PATH)
++ return;
++
+ /* Build the new name in szTrueName[] one component at a time. */
+ porig = name;
+ ptrue = szTrueName;
+*** ../vim-7.4.015/src/version.c 2013-08-30 17:11:29.000000000 +0200
+--- src/version.c 2013-08-30 17:15:06.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 16,
+ /**/
+
+--
+Fingers not found - Pound head on keyboard to continue.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.017 b/source/ap/vim/patches/7.4.017
new file mode 100644
index 000000000..7d7fad83f
--- /dev/null
+++ b/source/ap/vim/patches/7.4.017
@@ -0,0 +1,78 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.017
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.017
+Problem: ":help !!" does not find the "!!" tag in the help file. (Ben
+ Fritz)
+Solution: When reading the start of the tags file do parse lines that are
+ not header lines.
+Files: src/tag.c
+
+
+*** ../vim-7.4.016/src/tag.c 2013-06-15 22:26:26.000000000 +0200
+--- src/tag.c 2013-09-05 12:03:38.000000000 +0200
+***************
+*** 1797,1809 ****
+ */
+ if (state == TS_START)
+ {
+! /* The header ends when the line sorts below "!_TAG_".
+! * There may be non-header items before the header though,
+! * e.g. "!" itself. When case is folded lower case letters
+! * sort before "_". */
+ if (STRNCMP(lbuf, "!_TAG_", 6) <= 0
+ || (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1])))
+ {
+ /*
+ * Read header line.
+ */
+--- 1797,1812 ----
+ */
+ if (state == TS_START)
+ {
+! /* The header ends when the line sorts below "!_TAG_". When
+! * case is folded lower case letters sort before "_". */
+ if (STRNCMP(lbuf, "!_TAG_", 6) <= 0
+ || (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1])))
+ {
++ if (STRNCMP(lbuf, "!_TAG_", 6) != 0)
++ /* Non-header item before the header, e.g. "!" itself.
++ */
++ goto parse_line;
++
+ /*
+ * Read header line.
+ */
+***************
+*** 1898,1903 ****
+--- 1901,1907 ----
+ #endif
+ }
+
++ parse_line:
+ /*
+ * Figure out where the different strings are in this line.
+ * For "normal" tags: Do a quick check if the tag matches.
+*** ../vim-7.4.016/src/version.c 2013-08-30 17:29:10.000000000 +0200
+--- src/version.c 2013-09-05 12:02:01.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 17,
+ /**/
+
+--
+An error has occurred. Hit any user to continue.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.018 b/source/ap/vim/patches/7.4.018
new file mode 100644
index 000000000..2214c30b2
--- /dev/null
+++ b/source/ap/vim/patches/7.4.018
@@ -0,0 +1,45 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.018
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.018
+Problem: When completing item becomes unselected. (Shougo Matsu)
+Solution: Revert patch 7.3.1269.
+Files: src/edit.c
+
+
+*** ../vim-7.4.017/src/edit.c 2013-07-04 20:22:25.000000000 +0200
+--- src/edit.c 2013-09-05 12:39:53.000000000 +0200
+***************
+*** 3467,3473 ****
+ }
+
+ compl_enter_selects = !compl_used_match;
+- compl_shown_match = compl_curr_match = compl_first_match;
+
+ /* Show the popup menu with a different set of matches. */
+ ins_compl_show_pum();
+--- 3467,3472 ----
+*** ../vim-7.4.017/src/version.c 2013-09-05 12:06:26.000000000 +0200
+--- src/version.c 2013-09-05 12:40:34.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 18,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+169. You hire a housekeeper for your home page.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.019 b/source/ap/vim/patches/7.4.019
new file mode 100644
index 000000000..b1532c19c
--- /dev/null
+++ b/source/ap/vim/patches/7.4.019
@@ -0,0 +1,61 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.019
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.019
+Problem: MS-Windows: File name completion doesn't work properly with
+ Chinese characters. (Yue Wu)
+Solution: Take care of multi-byte characters when looking for the start of
+ the file name. (Ken Takata)
+Files: src/edit.c
+
+
+*** ../vim-7.4.018/src/edit.c 2013-09-05 12:49:48.000000000 +0200
+--- src/edit.c 2013-09-05 13:45:27.000000000 +0200
+***************
+*** 5183,5190 ****
+ }
+ else if (ctrl_x_mode == CTRL_X_FILES)
+ {
+! while (--startcol >= 0 && vim_isfilec(line[startcol]))
+! ;
+ compl_col += ++startcol;
+ compl_length = (int)curs_col - startcol;
+ compl_pattern = addstar(line + compl_col, compl_length,
+--- 5183,5196 ----
+ }
+ else if (ctrl_x_mode == CTRL_X_FILES)
+ {
+! char_u *p = line + startcol;
+!
+! /* Go back to just before the first filename character. */
+! mb_ptr_back(line, p);
+! while (vim_isfilec(PTR2CHAR(p)) && p >= line)
+! mb_ptr_back(line, p);
+! startcol = p - line;
+!
+ compl_col += ++startcol;
+ compl_length = (int)curs_col - startcol;
+ compl_pattern = addstar(line + compl_col, compl_length,
+*** ../vim-7.4.018/src/version.c 2013-09-05 12:49:48.000000000 +0200
+--- src/version.c 2013-09-05 13:41:47.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 19,
+ /**/
+
+--
+ Very funny, Scotty. Now beam down my clothes.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.020 b/source/ap/vim/patches/7.4.020
new file mode 100644
index 000000000..942d82fe2
--- /dev/null
+++ b/source/ap/vim/patches/7.4.020
@@ -0,0 +1,82 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.020
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.020
+Problem: NFA engine matches too much with \@>. (John McGowan)
+Solution: When a whole pattern match is found stop searching.
+Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.4.019/src/regexp_nfa.c 2013-08-25 17:01:36.000000000 +0200
+--- src/regexp_nfa.c 2013-09-05 15:59:44.000000000 +0200
+***************
+*** 5322,5328 ****
+ log_subsexpr(m);
+ #endif
+ nfa_match = TRUE;
+! break;
+
+ case NFA_START_INVISIBLE:
+ case NFA_START_INVISIBLE_FIRST:
+--- 5322,5331 ----
+ log_subsexpr(m);
+ #endif
+ nfa_match = TRUE;
+! /* See comment above at "goto nextchar". */
+! if (nextlist->n == 0)
+! clen = 0;
+! goto nextchar;
+
+ case NFA_START_INVISIBLE:
+ case NFA_START_INVISIBLE_FIRST:
+*** ../vim-7.4.019/src/testdir/test64.in 2013-08-14 13:31:03.000000000 +0200
+--- src/testdir/test64.in 2013-09-05 15:35:44.000000000 +0200
+***************
+*** 427,432 ****
+--- 427,433 ----
+ :""""" \@>
+ :call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
+ :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
++ :call add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab'])
+ :" TODO: BT engine does not restore submatch after failure
+ :call add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
+ :"
+*** ../vim-7.4.019/src/testdir/test64.ok 2013-08-14 13:31:03.000000000 +0200
+--- src/testdir/test64.ok 2013-09-05 16:03:34.000000000 +0200
+***************
+*** 983,988 ****
+--- 983,991 ----
+ OK 0 - \(a*\)\@>b
+ OK 1 - \(a*\)\@>b
+ OK 2 - \(a*\)\@>b
++ OK 0 - ^\(.\{-}b\)\@>.
++ OK 1 - ^\(.\{-}b\)\@>.
++ OK 2 - ^\(.\{-}b\)\@>.
+ OK 0 - \(a*\)\@>a\|a\+
+ OK 2 - \(a*\)\@>a\|a\+
+ OK 0 - \_[^8-9]\+
+*** ../vim-7.4.019/src/version.c 2013-09-05 13:50:49.000000000 +0200
+--- src/version.c 2013-09-05 16:04:32.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 20,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+173. You keep tracking down the email addresses of all your friends
+ (even childhood friends).
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.021 b/source/ap/vim/patches/7.4.021
new file mode 100644
index 000000000..0936d9a19
--- /dev/null
+++ b/source/ap/vim/patches/7.4.021
@@ -0,0 +1,86 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.021
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.021
+Problem: NFA regexp: Using \ze in one branch which doesn't match may cause
+ end of another branch to be wrong. (William Fugh)
+Solution: Set end position if it wasn't set yet.
+Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.4.020/src/regexp_nfa.c 2013-09-05 16:05:32.000000000 +0200
+--- src/regexp_nfa.c 2013-09-05 20:56:25.000000000 +0200
+***************
+*** 4209,4218 ****
+ break;
+
+ case NFA_MCLOSE:
+! if (nfa_has_zend)
+ {
+! /* Do not overwrite the position set by \ze. If no \ze
+! * encountered end will be set in nfa_regtry(). */
+ subs = addstate(l, state->out, subs, pim, off);
+ break;
+ }
+--- 4209,4219 ----
+ break;
+
+ case NFA_MCLOSE:
+! if (nfa_has_zend && (REG_MULTI
+! ? subs->norm.list.multi[0].end.lnum >= 0
+! : subs->norm.list.line[0].end != NULL))
+ {
+! /* Do not overwrite the position set by \ze. */
+ subs = addstate(l, state->out, subs, pim, off);
+ break;
+ }
+*** ../vim-7.4.020/src/testdir/test64.in 2013-09-05 16:05:32.000000000 +0200
+--- src/testdir/test64.in 2013-09-05 20:55:18.000000000 +0200
+***************
+*** 328,333 ****
+--- 328,334 ----
+ :call add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
+ :call add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if last'])
+ :call add(tl, [2, '\>\zs.', 'aword. ', '.'])
++ :call add(tl, [2, '\s\+\ze\[/\|\s\zs\s\+', 'is [a t', ' '])
+ :"
+ :"""" Tests for \@= and \& features
+ :call add(tl, [2, 'abc\@=', 'abc', 'ab'])
+*** ../vim-7.4.020/src/testdir/test64.ok 2013-09-05 16:05:32.000000000 +0200
+--- src/testdir/test64.ok 2013-09-05 21:09:56.000000000 +0200
+***************
+*** 752,757 ****
+--- 752,760 ----
+ OK 0 - \>\zs.
+ OK 1 - \>\zs.
+ OK 2 - \>\zs.
++ OK 0 - \s\+\ze\[/\|\s\zs\s\+
++ OK 1 - \s\+\ze\[/\|\s\zs\s\+
++ OK 2 - \s\+\ze\[/\|\s\zs\s\+
+ OK 0 - abc\@=
+ OK 1 - abc\@=
+ OK 2 - abc\@=
+*** ../vim-7.4.020/src/version.c 2013-09-05 16:05:32.000000000 +0200
+--- src/version.c 2013-09-05 21:11:38.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 21,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+174. You know what a listserv is.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.022 b/source/ap/vim/patches/7.4.022
new file mode 100644
index 000000000..81a0901f5
--- /dev/null
+++ b/source/ap/vim/patches/7.4.022
@@ -0,0 +1,148 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.022
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.022
+Problem: Deadlock while exiting, because of allocating memory.
+Solution: Do not use gettext() in deathtrap(). (James McCoy)
+Files: src/os_unix.c, src/misc1.c
+
+
+*** ../vim-7.4.021/src/os_unix.c 2013-07-03 16:32:32.000000000 +0200
+--- src/os_unix.c 2013-09-05 21:40:06.000000000 +0200
+***************
+*** 957,964 ****
+
+ /*
+ * This function handles deadly signals.
+! * It tries to preserve any swap file and exit properly.
+ * (partly from Elvis).
+ */
+ static RETSIGTYPE
+ deathtrap SIGDEFARG(sigarg)
+--- 957,966 ----
+
+ /*
+ * This function handles deadly signals.
+! * It tries to preserve any swap files and exit properly.
+ * (partly from Elvis).
++ * NOTE: Avoid unsafe functions, such as allocating memory, they can result in
++ * a deadlock.
+ */
+ static RETSIGTYPE
+ deathtrap SIGDEFARG(sigarg)
+***************
+*** 1090,1107 ****
+ }
+ if (entered == 2)
+ {
+! OUT_STR(_("Vim: Double signal, exiting\n"));
+ out_flush();
+ getout(1);
+ }
+
+ #ifdef SIGHASARG
+! sprintf((char *)IObuff, _("Vim: Caught deadly signal %s\n"),
+ signal_info[i].name);
+ #else
+! sprintf((char *)IObuff, _("Vim: Caught deadly signal\n"));
+ #endif
+! preserve_exit(); /* preserve files and exit */
+
+ #ifdef NBDEBUG
+ reset_signals();
+--- 1092,1114 ----
+ }
+ if (entered == 2)
+ {
+! /* No translation, it may call malloc(). */
+! OUT_STR("Vim: Double signal, exiting\n");
+ out_flush();
+ getout(1);
+ }
+
++ /* No translation, it may call malloc(). */
+ #ifdef SIGHASARG
+! sprintf((char *)IObuff, "Vim: Caught deadly signal %s\n",
+ signal_info[i].name);
+ #else
+! sprintf((char *)IObuff, "Vim: Caught deadly signal\n");
+ #endif
+!
+! /* Preserve files and exit. This sets the really_exiting flag to prevent
+! * calling free(). */
+! preserve_exit();
+
+ #ifdef NBDEBUG
+ reset_signals();
+*** ../vim-7.4.021/src/misc1.c 2013-08-03 17:29:33.000000000 +0200
+--- src/misc1.c 2013-09-05 21:34:04.000000000 +0200
+***************
+*** 9174,9179 ****
+--- 9174,9181 ----
+ /*
+ * Preserve files and exit.
+ * When called IObuff must contain a message.
++ * NOTE: This may be called from deathtrap() in a signal handler, avoid unsafe
++ * functions, such as allocating memory.
+ */
+ void
+ preserve_exit()
+***************
+*** 9196,9202 ****
+ {
+ if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL)
+ {
+! OUT_STR(_("Vim: preserving files...\n"));
+ screen_start(); /* don't know where cursor is now */
+ out_flush();
+ ml_sync_all(FALSE, FALSE); /* preserve all swap files */
+--- 9198,9204 ----
+ {
+ if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL)
+ {
+! OUT_STR("Vim: preserving files...\n");
+ screen_start(); /* don't know where cursor is now */
+ out_flush();
+ ml_sync_all(FALSE, FALSE); /* preserve all swap files */
+***************
+*** 9206,9212 ****
+
+ ml_close_all(FALSE); /* close all memfiles, without deleting */
+
+! OUT_STR(_("Vim: Finished.\n"));
+
+ getout(1);
+ }
+--- 9208,9214 ----
+
+ ml_close_all(FALSE); /* close all memfiles, without deleting */
+
+! OUT_STR("Vim: Finished.\n");
+
+ getout(1);
+ }
+*** ../vim-7.4.021/src/version.c 2013-09-05 21:15:38.000000000 +0200
+--- src/version.c 2013-09-05 21:30:18.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 22,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+175. You send yourself e-mail before you go to bed to remind you
+ what to do when you wake up.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.023 b/source/ap/vim/patches/7.4.023
new file mode 100644
index 000000000..03005213e
--- /dev/null
+++ b/source/ap/vim/patches/7.4.023
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.023
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.023
+Problem: Compiler warning on 64 bit windows.
+Solution: Add type cast. (Mike Williams)
+Files: src/edit.c
+
+
+*** ../vim-7.4.022/src/edit.c 2013-09-05 13:50:49.000000000 +0200
+--- src/edit.c 2013-09-06 17:32:55.000000000 +0200
+***************
+*** 5189,5195 ****
+ mb_ptr_back(line, p);
+ while (vim_isfilec(PTR2CHAR(p)) && p >= line)
+ mb_ptr_back(line, p);
+! startcol = p - line;
+
+ compl_col += ++startcol;
+ compl_length = (int)curs_col - startcol;
+--- 5189,5195 ----
+ mb_ptr_back(line, p);
+ while (vim_isfilec(PTR2CHAR(p)) && p >= line)
+ mb_ptr_back(line, p);
+! startcol = (int)(p - line);
+
+ compl_col += ++startcol;
+ compl_length = (int)curs_col - startcol;
+*** ../vim-7.4.022/src/version.c 2013-09-05 21:41:35.000000000 +0200
+--- src/version.c 2013-09-06 17:33:41.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 23,
+ /**/
+
+--
+Wizards had always known that the act of observation changed the thing that
+was observed, and sometimes forgot that it also changed the observer too.
+ Terry Pratchett - Interesting times
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.024 b/source/ap/vim/patches/7.4.024
new file mode 100644
index 000000000..da0df9c6f
--- /dev/null
+++ b/source/ap/vim/patches/7.4.024
@@ -0,0 +1,61 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.024
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.024
+Problem: When root edits a file the undo file is owned by root while the
+ edited file may be owned by another user, which is not allowed.
+ (cac2s)
+Solution: Accept an undo file owned by the current user.
+Files: src/undo.c
+
+
+*** ../vim-7.4.023/src/undo.c 2013-06-10 20:13:37.000000000 +0200
+--- src/undo.c 2013-09-07 15:45:56.000000000 +0200
+***************
+*** 1604,1613 ****
+
+ #ifdef UNIX
+ /* For safety we only read an undo file if the owner is equal to the
+! * owner of the text file. */
+ if (mch_stat((char *)orig_name, &st_orig) >= 0
+ && mch_stat((char *)file_name, &st_undo) >= 0
+! && st_orig.st_uid != st_undo.st_uid)
+ {
+ if (p_verbose > 0)
+ {
+--- 1604,1614 ----
+
+ #ifdef UNIX
+ /* For safety we only read an undo file if the owner is equal to the
+! * owner of the text file or equal to the current user. */
+ if (mch_stat((char *)orig_name, &st_orig) >= 0
+ && mch_stat((char *)file_name, &st_undo) >= 0
+! && st_orig.st_uid != st_undo.st_uid
+! && st_undo.st_uid != getuid())
+ {
+ if (p_verbose > 0)
+ {
+*** ../vim-7.4.023/src/version.c 2013-09-07 16:35:38.000000000 +0200
+--- src/version.c 2013-09-08 15:38:52.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 24,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+186. You overstay in the office so you can have more time surfing the net.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.025 b/source/ap/vim/patches/7.4.025
new file mode 100644
index 000000000..9ead176eb
--- /dev/null
+++ b/source/ap/vim/patches/7.4.025
@@ -0,0 +1,62 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.025
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.025 (after 7.4.019
+Problem: Reading before start of a string.
+Solution: Do not call mb_ptr_back() at start of a string. (Dominique Pelle)
+Files: src/edit.c
+
+
+*** ../vim-7.4.024/src/edit.c 2013-09-07 16:35:38.000000000 +0200
+--- src/edit.c 2013-09-08 15:57:20.000000000 +0200
+***************
+*** 5187,5197 ****
+
+ /* Go back to just before the first filename character. */
+ mb_ptr_back(line, p);
+! while (vim_isfilec(PTR2CHAR(p)) && p >= line)
+ mb_ptr_back(line, p);
+! startcol = (int)(p - line);
+
+! compl_col += ++startcol;
+ compl_length = (int)curs_col - startcol;
+ compl_pattern = addstar(line + compl_col, compl_length,
+ EXPAND_FILES);
+--- 5187,5199 ----
+
+ /* Go back to just before the first filename character. */
+ mb_ptr_back(line, p);
+! while (p > line && vim_isfilec(PTR2CHAR(p)))
+ mb_ptr_back(line, p);
+! startcol = (int)(p - line) + 1;
+! if (p == line && vim_isfilec(PTR2CHAR(p)))
+! startcol = 0;
+
+! compl_col += startcol;
+ compl_length = (int)curs_col - startcol;
+ compl_pattern = addstar(line + compl_col, compl_length,
+ EXPAND_FILES);
+*** ../vim-7.4.024/src/version.c 2013-09-08 15:40:45.000000000 +0200
+--- src/version.c 2013-09-08 15:52:39.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 25,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+188. You purchase a laptop so you can surf while sitting on the can.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.026 b/source/ap/vim/patches/7.4.026
new file mode 100644
index 000000000..8add91f7a
--- /dev/null
+++ b/source/ap/vim/patches/7.4.026
@@ -0,0 +1,65 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.026
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.026
+Problem: Clang warning for int shift overflow.
+Solution: Use unsigned and cast back to int. (Dominique Pelle)
+Files: src/misc2.c
+
+
+*** ../vim-7.4.025/src/misc2.c 2013-07-07 16:03:35.000000000 +0200
+--- src/misc2.c 2013-09-08 16:04:54.000000000 +0200
+***************
+*** 6496,6508 ****
+ get4c(fd)
+ FILE *fd;
+ {
+! int n;
+
+! n = getc(fd);
+! n = (n << 8) + getc(fd);
+! n = (n << 8) + getc(fd);
+! n = (n << 8) + getc(fd);
+! return n;
+ }
+
+ /*
+--- 6496,6510 ----
+ get4c(fd)
+ FILE *fd;
+ {
+! /* Use unsigned rather than int otherwise result is undefined
+! * when left-shift sets the MSB. */
+! unsigned n;
+
+! n = (unsigned)getc(fd);
+! n = (n << 8) + (unsigned)getc(fd);
+! n = (n << 8) + (unsigned)getc(fd);
+! n = (n << 8) + (unsigned)getc(fd);
+! return (int)n;
+ }
+
+ /*
+*** ../vim-7.4.025/src/version.c 2013-09-08 16:03:40.000000000 +0200
+--- src/version.c 2013-09-08 16:05:40.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 26,
+ /**/
+
+--
+A computer program does what you tell it to do, not what you want it to do.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.027 b/source/ap/vim/patches/7.4.027
new file mode 100644
index 000000000..ab43d59ac
--- /dev/null
+++ b/source/ap/vim/patches/7.4.027
@@ -0,0 +1,89 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.027
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.027 (after 7.4.025)
+Problem: Another valgrind error when using CTRL-X CTRL-F at the start of
+ the line. (Dominique Pelle)
+Solution: Don't call mb_ptr_back() at the start of the line. Add a test.
+Files: src/edit.c, src/testdir/test32.in
+
+
+*** ../vim-7.4.026/src/edit.c 2013-09-08 16:03:40.000000000 +0200
+--- src/edit.c 2013-09-08 18:18:32.000000000 +0200
+***************
+*** 5183,5197 ****
+ }
+ else if (ctrl_x_mode == CTRL_X_FILES)
+ {
+- char_u *p = line + startcol;
+-
+ /* Go back to just before the first filename character. */
+! mb_ptr_back(line, p);
+! while (p > line && vim_isfilec(PTR2CHAR(p)))
+ mb_ptr_back(line, p);
+! startcol = (int)(p - line) + 1;
+! if (p == line && vim_isfilec(PTR2CHAR(p)))
+! startcol = 0;
+
+ compl_col += startcol;
+ compl_length = (int)curs_col - startcol;
+--- 5183,5201 ----
+ }
+ else if (ctrl_x_mode == CTRL_X_FILES)
+ {
+ /* Go back to just before the first filename character. */
+! if (startcol > 0)
+! {
+! char_u *p = line + startcol;
+!
+ mb_ptr_back(line, p);
+! while (p > line && vim_isfilec(PTR2CHAR(p)))
+! mb_ptr_back(line, p);
+! if (p == line && vim_isfilec(PTR2CHAR(p)))
+! startcol = 0;
+! else
+! startcol = (int)(p - line) + 1;
+! }
+
+ compl_col += startcol;
+ compl_length = (int)curs_col - startcol;
+*** ../vim-7.4.026/src/testdir/test32.in 2010-05-15 13:04:10.000000000 +0200
+--- src/testdir/test32.in 2013-09-08 18:08:07.000000000 +0200
+***************
+*** 36,41 ****
+--- 36,44 ----
+ :w Xtest11.one
+ :w Xtest11.two
+ OIXA
++ :" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use
++ :" CTRL-X CTRL-F again to verify this doesn't cause trouble.
++ OXddk
+ :se cpt=w
+ OST
+ :se cpt=u nohid
+*** ../vim-7.4.026/src/version.c 2013-09-08 16:07:03.000000000 +0200
+--- src/version.c 2013-09-08 18:14:17.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 27,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+190. You quickly hand over your wallet, leather jacket, and car keys
+ during a mugging, then proceed to beat the crap out of your
+ assailant when he asks for your laptop.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.028 b/source/ap/vim/patches/7.4.028
new file mode 100644
index 000000000..4a0e3cf9d
--- /dev/null
+++ b/source/ap/vim/patches/7.4.028
@@ -0,0 +1,753 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.028
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.028
+Problem: Equivalence classes are not working for multi-byte characters.
+Solution: Copy the rules from the old to the new regexp engine. Add a test
+ to check both engines.
+Files: src/regexp_nfa.c, src/testdir/test44.in, src/testdir/test99.in,
+ src/testdir/test99.ok, src/testdir/Make_amiga.mak,
+ src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
+ src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
+ src/testdir/Makefile
+
+
+*** ../vim-7.4.027/src/regexp_nfa.c 2013-09-05 21:15:38.000000000 +0200
+--- src/regexp_nfa.c 2013-09-19 16:40:08.000000000 +0200
+***************
+*** 742,748 ****
+ nfa_emit_equi_class(c)
+ int c;
+ {
+! #define EMIT2(c) EMIT(c); EMIT(NFA_CONCAT);
+
+ #ifdef FEAT_MBYTE
+ if (enc_utf8 || STRCMP(p_enc, "latin1") == 0
+--- 742,753 ----
+ nfa_emit_equi_class(c)
+ int c;
+ {
+! #define EMIT2(c) EMIT(c); EMIT(NFA_CONCAT);
+! #ifdef FEAT_MBYTE
+! # define EMITMBC(c) EMIT(c); EMIT(NFA_CONCAT);
+! #else
+! # define EMITMBC(c)
+! #endif
+
+ #ifdef FEAT_MBYTE
+ if (enc_utf8 || STRCMP(p_enc, "latin1") == 0
+***************
+*** 753,844 ****
+ {
+ case 'A': case 0300: case 0301: case 0302:
+ case 0303: case 0304: case 0305:
+! EMIT2('A'); EMIT2(0300); EMIT2(0301);
+! EMIT2(0302); EMIT2(0303); EMIT2(0304);
+! EMIT2(0305);
+ return OK;
+
+ case 'C': case 0307:
+! EMIT2('C'); EMIT2(0307);
+ return OK;
+
+ case 'E': case 0310: case 0311: case 0312: case 0313:
+! EMIT2('E'); EMIT2(0310); EMIT2(0311);
+! EMIT2(0312); EMIT2(0313);
+ return OK;
+
+ case 'I': case 0314: case 0315: case 0316: case 0317:
+! EMIT2('I'); EMIT2(0314); EMIT2(0315);
+! EMIT2(0316); EMIT2(0317);
+ return OK;
+
+ case 'N': case 0321:
+! EMIT2('N'); EMIT2(0321);
+ return OK;
+
+ case 'O': case 0322: case 0323: case 0324: case 0325:
+! case 0326:
+! EMIT2('O'); EMIT2(0322); EMIT2(0323);
+! EMIT2(0324); EMIT2(0325); EMIT2(0326);
+ return OK;
+
+ case 'U': case 0331: case 0332: case 0333: case 0334:
+! EMIT2('U'); EMIT2(0331); EMIT2(0332);
+! EMIT2(0333); EMIT2(0334);
+ return OK;
+
+ case 'Y': case 0335:
+! EMIT2('Y'); EMIT2(0335);
+ return OK;
+
+ case 'a': case 0340: case 0341: case 0342:
+ case 0343: case 0344: case 0345:
+! EMIT2('a'); EMIT2(0340); EMIT2(0341);
+! EMIT2(0342); EMIT2(0343); EMIT2(0344);
+! EMIT2(0345);
+ return OK;
+
+ case 'c': case 0347:
+! EMIT2('c'); EMIT2(0347);
+ return OK;
+
+ case 'e': case 0350: case 0351: case 0352: case 0353:
+! EMIT2('e'); EMIT2(0350); EMIT2(0351);
+! EMIT2(0352); EMIT2(0353);
+ return OK;
+
+ case 'i': case 0354: case 0355: case 0356: case 0357:
+! EMIT2('i'); EMIT2(0354); EMIT2(0355);
+! EMIT2(0356); EMIT2(0357);
+ return OK;
+
+ case 'n': case 0361:
+! EMIT2('n'); EMIT2(0361);
+ return OK;
+
+ case 'o': case 0362: case 0363: case 0364: case 0365:
+! case 0366:
+! EMIT2('o'); EMIT2(0362); EMIT2(0363);
+! EMIT2(0364); EMIT2(0365); EMIT2(0366);
+ return OK;
+
+ case 'u': case 0371: case 0372: case 0373: case 0374:
+! EMIT2('u'); EMIT2(0371); EMIT2(0372);
+! EMIT2(0373); EMIT2(0374);
+ return OK;
+
+ case 'y': case 0375: case 0377:
+! EMIT2('y'); EMIT2(0375); EMIT2(0377);
+ return OK;
+
+! default:
+! return FAIL;
+ }
+ }
+
+! EMIT(c);
+ return OK;
+ #undef EMIT2
+ }
+
+ /*
+--- 758,1095 ----
+ {
+ case 'A': case 0300: case 0301: case 0302:
+ case 0303: case 0304: case 0305:
+! CASEMBC(0x100) CASEMBC(0x102) CASEMBC(0x104) CASEMBC(0x1cd)
+! CASEMBC(0x1de) CASEMBC(0x1e0) CASEMBC(0x1ea2)
+! EMIT2('A'); EMIT2(0300); EMIT2(0301); EMIT2(0302);
+! EMIT2(0303); EMIT2(0304); EMIT2(0305);
+! EMITMBC(0x100) EMITMBC(0x102) EMITMBC(0x104)
+! EMITMBC(0x1cd) EMITMBC(0x1de) EMITMBC(0x1e0)
+! EMITMBC(0x1ea2)
+! return OK;
+!
+! case 'B': CASEMBC(0x1e02) CASEMBC(0x1e06)
+! EMIT2('B'); EMITMBC(0x1e02) EMITMBC(0x1e06)
+ return OK;
+
+ case 'C': case 0307:
+! CASEMBC(0x106) CASEMBC(0x108) CASEMBC(0x10a) CASEMBC(0x10c)
+! EMIT2('C'); EMIT2(0307); EMITMBC(0x106) EMITMBC(0x108)
+! EMITMBC(0x10a) EMITMBC(0x10c)
+! return OK;
+!
+! case 'D': CASEMBC(0x10e) CASEMBC(0x110) CASEMBC(0x1e0a)
+! CASEMBC(0x1e0e) CASEMBC(0x1e10)
+! EMIT2('D'); EMITMBC(0x10e) EMITMBC(0x110) EMITMBC(0x1e0a)
+! EMITMBC(0x1e0e) EMITMBC(0x1e10)
+ return OK;
+
+ case 'E': case 0310: case 0311: case 0312: case 0313:
+! CASEMBC(0x112) CASEMBC(0x114) CASEMBC(0x116) CASEMBC(0x118)
+! CASEMBC(0x11a) CASEMBC(0x1eba) CASEMBC(0x1ebc)
+! EMIT2('E'); EMIT2(0310); EMIT2(0311); EMIT2(0312);
+! EMIT2(0313);
+! EMITMBC(0x112) EMITMBC(0x114) EMITMBC(0x116)
+! EMITMBC(0x118) EMITMBC(0x11a) EMITMBC(0x1eba)
+! EMITMBC(0x1ebc)
+! return OK;
+!
+! case 'F': CASEMBC(0x1e1e)
+! EMIT2('F'); EMITMBC(0x1e1e)
+! return OK;
+!
+! case 'G': CASEMBC(0x11c) CASEMBC(0x11e) CASEMBC(0x120)
+! CASEMBC(0x122) CASEMBC(0x1e4) CASEMBC(0x1e6) CASEMBC(0x1f4)
+! CASEMBC(0x1e20)
+! EMIT2('G'); EMITMBC(0x11c) EMITMBC(0x11e) EMITMBC(0x120)
+! EMITMBC(0x122) EMITMBC(0x1e4) EMITMBC(0x1e6)
+! EMITMBC(0x1f4) EMITMBC(0x1e20)
+! return OK;
+!
+! case 'H': CASEMBC(0x124) CASEMBC(0x126) CASEMBC(0x1e22)
+! CASEMBC(0x1e26) CASEMBC(0x1e28)
+! EMIT2('H'); EMITMBC(0x124) EMITMBC(0x126) EMITMBC(0x1e22)
+! EMITMBC(0x1e26) EMITMBC(0x1e28)
+ return OK;
+
+ case 'I': case 0314: case 0315: case 0316: case 0317:
+! CASEMBC(0x128) CASEMBC(0x12a) CASEMBC(0x12c) CASEMBC(0x12e)
+! CASEMBC(0x130) CASEMBC(0x1cf) CASEMBC(0x1ec8)
+! EMIT2('I'); EMIT2(0314); EMIT2(0315); EMIT2(0316);
+! EMIT2(0317); EMITMBC(0x128) EMITMBC(0x12a)
+! EMITMBC(0x12c) EMITMBC(0x12e) EMITMBC(0x130)
+! EMITMBC(0x1cf) EMITMBC(0x1ec8)
+! return OK;
+!
+! case 'J': CASEMBC(0x134)
+! EMIT2('J'); EMITMBC(0x134)
+! return OK;
+!
+! case 'K': CASEMBC(0x136) CASEMBC(0x1e8) CASEMBC(0x1e30)
+! CASEMBC(0x1e34)
+! EMIT2('K'); EMITMBC(0x136) EMITMBC(0x1e8) EMITMBC(0x1e30)
+! EMITMBC(0x1e34)
+! return OK;
+!
+! case 'L': CASEMBC(0x139) CASEMBC(0x13b) CASEMBC(0x13d)
+! CASEMBC(0x13f) CASEMBC(0x141) CASEMBC(0x1e3a)
+! EMIT2('L'); EMITMBC(0x139) EMITMBC(0x13b) EMITMBC(0x13d)
+! EMITMBC(0x13f) EMITMBC(0x141) EMITMBC(0x1e3a)
+! return OK;
+!
+! case 'M': CASEMBC(0x1e3e) CASEMBC(0x1e40)
+! EMIT2('M'); EMITMBC(0x1e3e) EMITMBC(0x1e40)
+ return OK;
+
+ case 'N': case 0321:
+! CASEMBC(0x143) CASEMBC(0x145) CASEMBC(0x147) CASEMBC(0x1e44)
+! CASEMBC(0x1e48)
+! EMIT2('N'); EMIT2(0321); EMITMBC(0x143) EMITMBC(0x145)
+! EMITMBC(0x147) EMITMBC(0x1e44) EMITMBC(0x1e48)
+ return OK;
+
+ case 'O': case 0322: case 0323: case 0324: case 0325:
+! case 0326: case 0330:
+! CASEMBC(0x14c) CASEMBC(0x14e) CASEMBC(0x150) CASEMBC(0x1a0)
+! CASEMBC(0x1d1) CASEMBC(0x1ea) CASEMBC(0x1ec) CASEMBC(0x1ece)
+! EMIT2('O'); EMIT2(0322); EMIT2(0323); EMIT2(0324);
+! EMIT2(0325); EMIT2(0326); EMIT2(0330);
+! EMITMBC(0x14c) EMITMBC(0x14e) EMITMBC(0x150)
+! EMITMBC(0x1a0) EMITMBC(0x1d1) EMITMBC(0x1ea)
+! EMITMBC(0x1ec) EMITMBC(0x1ece)
+! return OK;
+!
+! case 'P': case 0x1e54: case 0x1e56:
+! EMIT2('P'); EMITMBC(0x1e54) EMITMBC(0x1e56)
+! return OK;
+!
+! case 'R': CASEMBC(0x154) CASEMBC(0x156) CASEMBC(0x158)
+! CASEMBC(0x1e58) CASEMBC(0x1e5e)
+! EMIT2('R'); EMITMBC(0x154) EMITMBC(0x156) EMITMBC(0x158)
+! EMITMBC(0x1e58) EMITMBC(0x1e5e)
+! return OK;
+!
+! case 'S': CASEMBC(0x15a) CASEMBC(0x15c) CASEMBC(0x15e)
+! CASEMBC(0x160) CASEMBC(0x1e60)
+! EMIT2('S'); EMITMBC(0x15a) EMITMBC(0x15c) EMITMBC(0x15e)
+! EMITMBC(0x160) EMITMBC(0x1e60)
+! return OK;
+!
+! case 'T': CASEMBC(0x162) CASEMBC(0x164) CASEMBC(0x166)
+! CASEMBC(0x1e6a) CASEMBC(0x1e6e)
+! EMIT2('T'); EMITMBC(0x162) EMITMBC(0x164) EMITMBC(0x166)
+! EMITMBC(0x1e6a) EMITMBC(0x1e6e)
+ return OK;
+
+ case 'U': case 0331: case 0332: case 0333: case 0334:
+! CASEMBC(0x168) CASEMBC(0x16a) CASEMBC(0x16c) CASEMBC(0x16e)
+! CASEMBC(0x170) CASEMBC(0x172) CASEMBC(0x1af) CASEMBC(0x1d3)
+! CASEMBC(0x1ee6)
+! EMIT2('U'); EMIT2(0331); EMIT2(0332); EMIT2(0333);
+! EMIT2(0334); EMITMBC(0x168) EMITMBC(0x16a)
+! EMITMBC(0x16c) EMITMBC(0x16e) EMITMBC(0x170)
+! EMITMBC(0x172) EMITMBC(0x1af) EMITMBC(0x1d3)
+! EMITMBC(0x1ee6)
+! return OK;
+!
+! case 'V': CASEMBC(0x1e7c)
+! EMIT2('V'); EMITMBC(0x1e7c)
+! return OK;
+!
+! case 'W': CASEMBC(0x174) CASEMBC(0x1e80) CASEMBC(0x1e82)
+! CASEMBC(0x1e84) CASEMBC(0x1e86)
+! EMIT2('W'); EMITMBC(0x174) EMITMBC(0x1e80) EMITMBC(0x1e82)
+! EMITMBC(0x1e84) EMITMBC(0x1e86)
+! return OK;
+!
+! case 'X': CASEMBC(0x1e8a) CASEMBC(0x1e8c)
+! EMIT2('X'); EMITMBC(0x1e8a) EMITMBC(0x1e8c)
+ return OK;
+
+ case 'Y': case 0335:
+! CASEMBC(0x176) CASEMBC(0x178) CASEMBC(0x1e8e) CASEMBC(0x1ef2)
+! CASEMBC(0x1ef6) CASEMBC(0x1ef8)
+! EMIT2('Y'); EMIT2(0335); EMITMBC(0x176) EMITMBC(0x178)
+! EMITMBC(0x1e8e) EMITMBC(0x1ef2) EMITMBC(0x1ef6)
+! EMITMBC(0x1ef8)
+! return OK;
+!
+! case 'Z': CASEMBC(0x179) CASEMBC(0x17b) CASEMBC(0x17d)
+! CASEMBC(0x1b5) CASEMBC(0x1e90) CASEMBC(0x1e94)
+! EMIT2('Z'); EMITMBC(0x179) EMITMBC(0x17b) EMITMBC(0x17d)
+! EMITMBC(0x1b5) EMITMBC(0x1e90) EMITMBC(0x1e94)
+ return OK;
+
+ case 'a': case 0340: case 0341: case 0342:
+ case 0343: case 0344: case 0345:
+! CASEMBC(0x101) CASEMBC(0x103) CASEMBC(0x105) CASEMBC(0x1ce)
+! CASEMBC(0x1df) CASEMBC(0x1e1) CASEMBC(0x1ea3)
+! EMIT2('a'); EMIT2(0340); EMIT2(0341); EMIT2(0342);
+! EMIT2(0343); EMIT2(0344); EMIT2(0345);
+! EMITMBC(0x101) EMITMBC(0x103) EMITMBC(0x105)
+! EMITMBC(0x1ce) EMITMBC(0x1df) EMITMBC(0x1e1)
+! EMITMBC(0x1ea3)
+! return OK;
+!
+! case 'b': CASEMBC(0x1e03) CASEMBC(0x1e07)
+! EMIT2('b'); EMITMBC(0x1e03) EMITMBC(0x1e07)
+ return OK;
+
+ case 'c': case 0347:
+! CASEMBC(0x107) CASEMBC(0x109) CASEMBC(0x10b) CASEMBC(0x10d)
+! EMIT2('c'); EMIT2(0347); EMITMBC(0x107) EMITMBC(0x109)
+! EMITMBC(0x10b) EMITMBC(0x10d)
+! return OK;
+!
+! case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1d0b)
+! CASEMBC(0x1e11)
+! EMIT2('d'); EMITMBC(0x10f) EMITMBC(0x111) EMITMBC(0x1e0b)
+! EMITMBC(0x01e0f) EMITMBC(0x1e11)
+ return OK;
+
+ case 'e': case 0350: case 0351: case 0352: case 0353:
+! CASEMBC(0x113) CASEMBC(0x115) CASEMBC(0x117) CASEMBC(0x119)
+! CASEMBC(0x11b) CASEMBC(0x1ebb) CASEMBC(0x1ebd)
+! EMIT2('e'); EMIT2(0350); EMIT2(0351); EMIT2(0352);
+! EMIT2(0353); EMITMBC(0x113) EMITMBC(0x115)
+! EMITMBC(0x117) EMITMBC(0x119) EMITMBC(0x11b)
+! EMITMBC(0x1ebb) EMITMBC(0x1ebd)
+! return OK;
+!
+! case 'f': CASEMBC(0x1e1f)
+! EMIT2('f'); EMITMBC(0x1e1f)
+! return OK;
+!
+! case 'g': CASEMBC(0x11d) CASEMBC(0x11f) CASEMBC(0x121)
+! CASEMBC(0x123) CASEMBC(0x1e5) CASEMBC(0x1e7) CASEMBC(0x1f5)
+! CASEMBC(0x1e21)
+! EMIT2('g'); EMITMBC(0x11d) EMITMBC(0x11f) EMITMBC(0x121)
+! EMITMBC(0x123) EMITMBC(0x1e5) EMITMBC(0x1e7)
+! EMITMBC(0x1f5) EMITMBC(0x1e21)
+! return OK;
+!
+! case 'h': CASEMBC(0x125) CASEMBC(0x127) CASEMBC(0x1e23)
+! CASEMBC(0x1e27) CASEMBC(0x1e29) CASEMBC(0x1e96)
+! EMIT2('h'); EMITMBC(0x125) EMITMBC(0x127) EMITMBC(0x1e23)
+! EMITMBC(0x1e27) EMITMBC(0x1e29) EMITMBC(0x1e96)
+ return OK;
+
+ case 'i': case 0354: case 0355: case 0356: case 0357:
+! CASEMBC(0x129) CASEMBC(0x12b) CASEMBC(0x12d) CASEMBC(0x12f)
+! CASEMBC(0x1d0) CASEMBC(0x1ec9)
+! EMIT2('i'); EMIT2(0354); EMIT2(0355); EMIT2(0356);
+! EMIT2(0357); EMITMBC(0x129) EMITMBC(0x12b)
+! EMITMBC(0x12d) EMITMBC(0x12f) EMITMBC(0x1d0)
+! EMITMBC(0x1ec9)
+! return OK;
+!
+! case 'j': CASEMBC(0x135) CASEMBC(0x1f0)
+! EMIT2('j'); EMITMBC(0x135) EMITMBC(0x1f0)
+! return OK;
+!
+! case 'k': CASEMBC(0x137) CASEMBC(0x1e9) CASEMBC(0x1e31)
+! CASEMBC(0x1e35)
+! EMIT2('k'); EMITMBC(0x137) EMITMBC(0x1e9) EMITMBC(0x1e31)
+! EMITMBC(0x1e35)
+! return OK;
+!
+! case 'l': CASEMBC(0x13a) CASEMBC(0x13c) CASEMBC(0x13e)
+! CASEMBC(0x140) CASEMBC(0x142) CASEMBC(0x1e3b)
+! EMIT2('l'); EMITMBC(0x13a) EMITMBC(0x13c) EMITMBC(0x13e)
+! EMITMBC(0x140) EMITMBC(0x142) EMITMBC(0x1e3b)
+! return OK;
+!
+! case 'm': CASEMBC(0x1e3f) CASEMBC(0x1e41)
+! EMIT2('m'); EMITMBC(0x1e3f) EMITMBC(0x1e41)
+ return OK;
+
+ case 'n': case 0361:
+! CASEMBC(0x144) CASEMBC(0x146) CASEMBC(0x148) CASEMBC(0x149)
+! CASEMBC(0x1e45) CASEMBC(0x1e49)
+! EMIT2('n'); EMIT2(0361); EMITMBC(0x144) EMITMBC(0x146)
+! EMITMBC(0x148) EMITMBC(0x149) EMITMBC(0x1e45)
+! EMITMBC(0x1e49)
+ return OK;
+
+ case 'o': case 0362: case 0363: case 0364: case 0365:
+! case 0366: case 0370:
+! CASEMBC(0x14d) CASEMBC(0x14f) CASEMBC(0x151) CASEMBC(0x1a1)
+! CASEMBC(0x1d2) CASEMBC(0x1eb) CASEMBC(0x1ed) CASEMBC(0x1ecf)
+! EMIT2('o'); EMIT2(0362); EMIT2(0363); EMIT2(0364);
+! EMIT2(0365); EMIT2(0366); EMIT2(0370);
+! EMITMBC(0x14d) EMITMBC(0x14f) EMITMBC(0x151)
+! EMITMBC(0x1a1) EMITMBC(0x1d2) EMITMBC(0x1eb)
+! EMITMBC(0x1ed) EMITMBC(0x1ecf)
+! return OK;
+!
+! case 'p': CASEMBC(0x1e55) CASEMBC(0x1e57)
+! EMIT2('p'); EMITMBC(0x1e55) EMITMBC(0x1e57)
+! return OK;
+!
+! case 'r': CASEMBC(0x155) CASEMBC(0x157) CASEMBC(0x159)
+! CASEMBC(0x1e59) CASEMBC(0x1e5f)
+! EMIT2('r'); EMITMBC(0x155) EMITMBC(0x157) EMITMBC(0x159)
+! EMITMBC(0x1e59) EMITMBC(0x1e5f)
+! return OK;
+!
+! case 's': CASEMBC(0x15b) CASEMBC(0x15d) CASEMBC(0x15f)
+! CASEMBC(0x161) CASEMBC(0x1e61)
+! EMIT2('s'); EMITMBC(0x15b) EMITMBC(0x15d) EMITMBC(0x15f)
+! EMITMBC(0x161) EMITMBC(0x1e61)
+! return OK;
+!
+! case 't': CASEMBC(0x163) CASEMBC(0x165) CASEMBC(0x167)
+! CASEMBC(0x1e6b) CASEMBC(0x1e6f) CASEMBC(0x1e97)
+! EMIT2('t'); EMITMBC(0x163) EMITMBC(0x165) EMITMBC(0x167)
+! EMITMBC(0x1e6b) EMITMBC(0x1e6f) EMITMBC(0x1e97)
+ return OK;
+
+ case 'u': case 0371: case 0372: case 0373: case 0374:
+! CASEMBC(0x169) CASEMBC(0x16b) CASEMBC(0x16d) CASEMBC(0x16f)
+! CASEMBC(0x171) CASEMBC(0x173) CASEMBC(0x1b0) CASEMBC(0x1d4)
+! CASEMBC(0x1ee7)
+! EMIT2('u'); EMIT2(0371); EMIT2(0372); EMIT2(0373);
+! EMIT2(0374); EMITMBC(0x169) EMITMBC(0x16b)
+! EMITMBC(0x16d) EMITMBC(0x16f) EMITMBC(0x171)
+! EMITMBC(0x173) EMITMBC(0x1b0) EMITMBC(0x1d4)
+! EMITMBC(0x1ee7)
+! return OK;
+!
+! case 'v': CASEMBC(0x1e7d)
+! EMIT2('v'); EMITMBC(0x1e7d)
+! return OK;
+!
+! case 'w': CASEMBC(0x175) CASEMBC(0x1e81) CASEMBC(0x1e83)
+! CASEMBC(0x1e85) CASEMBC(0x1e87) CASEMBC(0x1e98)
+! EMIT2('w'); EMITMBC(0x175) EMITMBC(0x1e81) EMITMBC(0x1e83)
+! EMITMBC(0x1e85) EMITMBC(0x1e87) EMITMBC(0x1e98)
+! return OK;
+!
+! case 'x': CASEMBC(0x1e8b) CASEMBC(0x1e8d)
+! EMIT2('x'); EMITMBC(0x1e8b) EMITMBC(0x1e8d)
+ return OK;
+
+ case 'y': case 0375: case 0377:
+! CASEMBC(0x177) CASEMBC(0x1e8f) CASEMBC(0x1e99)
+! CASEMBC(0x1ef3) CASEMBC(0x1ef7) CASEMBC(0x1ef9)
+! EMIT2('y'); EMIT2(0375); EMIT2(0377); EMITMBC(0x177)
+! EMITMBC(0x1e8f) EMITMBC(0x1e99) EMITMBC(0x1ef3)
+! EMITMBC(0x1ef7) EMITMBC(0x1ef9)
+! return OK;
+!
+! case 'z': CASEMBC(0x17a) CASEMBC(0x17c) CASEMBC(0x17e)
+! CASEMBC(0x1b6) CASEMBC(0x1e91) CASEMBC(0x1e95)
+! EMIT2('z'); EMITMBC(0x17a) EMITMBC(0x17c) EMITMBC(0x17e)
+! EMITMBC(0x1b6) EMITMBC(0x1e91) EMITMBC(0x1e95)
+ return OK;
+
+! /* default: character itself */
+ }
+ }
+
+! EMIT2(c);
+ return OK;
+ #undef EMIT2
++ #undef EMITMBC
+ }
+
+ /*
+*** ../vim-7.4.027/src/testdir/test44.in 2013-05-26 14:16:31.000000000 +0200
+--- src/testdir/test44.in 2013-09-19 16:49:14.000000000 +0200
+***************
+*** 1,9 ****
+--- 1,11 ----
+ Tests for regexp with multi-byte encoding and various magic settings.
+ Test matchstr() with a count and multi-byte chars.
++ See test99 for exactly the same test with re=2.
+
+ STARTTEST
+ :so mbyte.vim
+ :set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
++ :set re=1
+ /^1
+ /a*b\{2}c\+/e
+ x/\Md\*e\{2}f\+/e
+*** ../vim-7.4.027/src/testdir/test99.in 2013-09-19 16:59:30.000000000 +0200
+--- src/testdir/test99.in 2013-09-19 16:50:00.000000000 +0200
+***************
+*** 0 ****
+--- 1,68 ----
++ Tests for regexp with multi-byte encoding and various magic settings.
++ Test matchstr() with a count and multi-byte chars.
++ See test44 for exactly the same test with re=1.
++
++ STARTTEST
++ :so mbyte.vim
++ :set nocompatible encoding=utf-8 termencoding=latin1 viminfo+=nviminfo
++ :set re=2
++ /^1
++ /a*b\{2}c\+/e
++ x/\Md\*e\{2}f\+/e
++ x:set nomagic
++ /g\*h\{2}i\+/e
++ x/\mj*k\{2}l\+/e
++ x/\vm*n{2}o+/e
++ x/\V^aa$
++ x:set magic
++ /\v(a)(b)\2\1\1/e
++ x/\V[ab]\(\[xy]\)\1
++ x:" Now search for multi-byte without composing char
++ /ม
++ x:" Now search for multi-byte with composing char
++ /ม่
++ x:" find word by change of word class
++ /ã¡\<カヨ\>ã¯
++ x:" Test \%u, [\u] and friends
++ /\%u20ac
++ x/[\u4f7f\u5929]\+
++ x/\%U12345678
++ x/[\U1234abcd\u1234\uabcd]
++ x/\%d21879b
++ x/ [[=A=]]* [[=B=]]* [[=C=]]* [[=D=]]* [[=E=]]* [[=F=]]* [[=G=]]* [[=H=]]* [[=I=]]* [[=J=]]* [[=K=]]* [[=L=]]* [[=M=]]* [[=N=]]* [[=O=]]* [[=P=]]* [[=Q=]]* [[=R=]]* [[=S=]]* [[=T=]]* [[=U=]]* [[=V=]]* [[=W=]]* [[=X=]]* [[=Y=]]* [[=Z=]]*/e
++ x/ [[=a=]]* [[=b=]]* [[=c=]]* [[=d=]]* [[=e=]]* [[=f=]]* [[=g=]]* [[=h=]]* [[=i=]]* [[=j=]]* [[=k=]]* [[=l=]]* [[=m=]]* [[=n=]]* [[=o=]]* [[=p=]]* [[=q=]]* [[=r=]]* [[=s=]]* [[=t=]]* [[=u=]]* [[=v=]]* [[=w=]]* [[=x=]]* [[=y=]]* [[=z=]]*/e
++ x:" Test backwards search from a multi-byte char
++ /x
++ x?.
++ x:let @w=':%s#comb[i]nations#Å“Ì„á¹£Ìm̥̄ᾱ̆Ì#g'
++ :@w
++ :?^1?,$w! test.out
++ :e! test.out
++ G:put =matchstr(\"×בגד\", \".\", 0, 2) " ב
++ :put =matchstr(\"×בגד\", \"..\", 0, 2) " בג
++ :put =matchstr(\"×בגד\", \".\", 0, 0) " ×
++ :put =matchstr(\"×בגד\", \".\", 4, -1) " ×’
++ :w!
++ :qa!
++ ENDTEST
++
++ 1 a aa abb abbccc
++ 2 d dd dee deefff
++ 3 g gg ghh ghhiii
++ 4 j jj jkk jkklll
++ 5 m mm mnn mnnooo
++ 6 x ^aa$ x
++ 7 (a)(b) abbaa
++ 8 axx [ab]xx
++ 9 หม่x อมx
++ a อมx หม่x
++ b ã¡ã‚«ãƒ¨ã¯
++ c x ¬€x
++ d 天使x
++ e ü’…™¸y
++ f ü’Š¯z
++ g aå•·bb
++ h AÀÃÂÃÄÅĀĂĄÇǞǠẢ BḂḆ CÇĆĈĊČ DÄŽÄḊḎḠEÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÃŒÃÃŽÃĨĪĬĮİÇỈ JÄ´ KĶǨḰḴ LĹĻĽĿÅḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎÅƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ Vá¹¼ WŴẀẂẄẆ XẊẌ YÃŶŸẎỲỶỸ ZŹŻŽƵáºáº”
++ i aàáâãäåÄăąǎǟǡả bḃḇ cÃ§Ä‡Ä‰Ä‹Ä dÄđḋá¸á¸‘ eèéêëēĕėęěẻẽ fḟ gÄğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįÇỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṠnñńņňʼnṅṉ oòóôõöøÅÅÅ‘Æ¡Ç’Ç«Ç­á» pṕṗ q rŕŗřṙṟ sÅ›Åşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vá¹½ wŵáºáºƒáº…ẇẘ xẋẠyýÿŷáºáº™á»³á»·á»¹ zźżžƶẑẕ
++ j 0123â¤x
++ k combinations
+*** ../vim-7.4.027/src/testdir/test99.ok 2013-09-19 16:59:30.000000000 +0200
+--- src/testdir/test99.ok 2013-09-19 16:50:16.000000000 +0200
+***************
+*** 0 ****
+--- 1,24 ----
++ 1 a aa abb abbcc
++ 2 d dd dee deeff
++ 3 g gg ghh ghhii
++ 4 j jj jkk jkkll
++ 5 m mm mnn mnnoo
++ 6 x aa$ x
++ 7 (a)(b) abba
++ 8 axx ab]xx
++ 9 หม่x อx
++ a อมx หx
++ b カヨã¯
++ c x ¬x
++ d 使x
++ e y
++ f z
++ g abb
++ h AÀÃÂÃÄÅĀĂĄÇǞǠẢ BḂḆ CÇĆĈĊČ DÄŽÄḊḎḠEÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÃŒÃÃŽÃĨĪĬĮİÇỈ JÄ´ KĶǨḰḴ LĹĻĽĿÅḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎÅƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ Vá¹¼ WŴẀẂẄẆ XẊẌ YÃŶŸẎỲỶỸ ZŹŻŽƵáº
++ i aàáâãäåÄăąǎǟǡả bḃḇ cÃ§Ä‡Ä‰Ä‹Ä dÄđḋá¸á¸‘ eèéêëēĕėęěẻẽ fḟ gÄğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįÇỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṠnñńņňʼnṅṉ oòóôõöøÅÅÅ‘Æ¡Ç’Ç«Ç­á» pṕṗ q rŕŗřṙṟ sÅ›Åşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vá¹½ wŵáºáºƒáº…ẇẘ xẋẠyýÿŷáºáº™á»³á»·á»¹ zźżžƶẑ
++ j 012â¤
++ k Å“Ì„á¹£Ìm̥̄ᾱ̆Ì
++ ב
++ בג
++ ×
++ ×’
+*** ../vim-7.4.027/src/testdir/Make_amiga.mak 2013-07-09 13:40:02.000000000 +0200
+--- src/testdir/Make_amiga.mak 2013-09-19 16:51:48.000000000 +0200
+***************
+*** 33,39 ****
+ test76.out test77.out test78.out test79.out test80.out \
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test97.out test98.out
+
+ .SUFFIXES: .in .out
+
+--- 33,40 ----
+ test76.out test77.out test78.out test79.out test80.out \
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test97.out test98.out \
+! test99.out
+
+ .SUFFIXES: .in .out
+
+***************
+*** 148,150 ****
+--- 149,152 ----
+ test96.out: test96.in
+ test97.out: test97.in
+ test98.out: test98.in
++ test99.out: test99.in
+*** ../vim-7.4.027/src/testdir/Make_dos.mak 2013-07-09 13:40:30.000000000 +0200
+--- src/testdir/Make_dos.mak 2013-09-19 16:51:56.000000000 +0200
+***************
+*** 32,38 ****
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 32,38 ----
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out test99.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.027/src/testdir/Make_ming.mak 2013-07-09 13:40:38.000000000 +0200
+--- src/testdir/Make_ming.mak 2013-09-19 16:52:01.000000000 +0200
+***************
+*** 52,58 ****
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out
+
+ SCRIPTS32 = test50.out test70.out
+
+--- 52,58 ----
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out test99.out
+
+ SCRIPTS32 = test50.out test70.out
+
+*** ../vim-7.4.027/src/testdir/Make_os2.mak 2013-07-09 13:40:43.000000000 +0200
+--- src/testdir/Make_os2.mak 2013-09-19 16:52:07.000000000 +0200
+***************
+*** 34,40 ****
+ test76.out test77.out test78.out test79.out test80.out \
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out
+
+ .SUFFIXES: .in .out
+
+--- 34,40 ----
+ test76.out test77.out test78.out test79.out test80.out \
+ test81.out test82.out test83.out test84.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test98.out test99.out
+
+ .SUFFIXES: .in .out
+
+*** ../vim-7.4.027/src/testdir/Make_vms.mms 2013-07-09 13:40:47.000000000 +0200
+--- src/testdir/Make_vms.mms 2013-09-19 16:52:13.000000000 +0200
+***************
+*** 4,10 ****
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2013 Jul 09
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+--- 4,10 ----
+ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
+ # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
+ #
+! # Last change: 2013 Sep 19
+ #
+ # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
+ # Edit the lines in the Configuration section below to select.
+***************
+*** 78,84 ****
+ test77.out test78.out test79.out test80.out test81.out \
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+! test95.out test96.out test97.out test98.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+--- 78,84 ----
+ test77.out test78.out test79.out test80.out test81.out \
+ test82.out test83.out test84.out test88.out test89.out \
+ test90.out test91.out test92.out test93.out test94.out \
+! test95.out test96.out test97.out test98.out test99.out
+
+ # Known problems:
+ # Test 30: a problem around mac format - unknown reason
+*** ../vim-7.4.027/src/testdir/Makefile 2013-08-10 14:20:20.000000000 +0200
+--- src/testdir/Makefile 2013-09-19 16:52:22.000000000 +0200
+***************
+*** 29,35 ****
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test97.out test98.out
+
+ SCRIPTS_GUI = test16.out
+
+--- 29,36 ----
+ test79.out test80.out test81.out test82.out test83.out \
+ test84.out test85.out test86.out test87.out test88.out \
+ test89.out test90.out test91.out test92.out test93.out \
+! test94.out test95.out test96.out test97.out test98.out \
+! test99.out
+
+ SCRIPTS_GUI = test16.out
+
+*** ../vim-7.4.027/src/version.c 2013-09-08 20:00:45.000000000 +0200
+--- src/version.c 2013-09-19 13:54:35.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 28,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+232. You start conversations with, "Have you gotten an ISDN line?"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.029 b/source/ap/vim/patches/7.4.029
new file mode 100644
index 000000000..b87e3a356
--- /dev/null
+++ b/source/ap/vim/patches/7.4.029
@@ -0,0 +1,63 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.029
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.029
+Problem: An error in a pattern is reported twice.
+Solution: Remove the retry with the backtracking engine, it won't work.
+Files: src/regexp.c
+
+
+*** ../vim-7.4.028/src/regexp.c 2013-08-25 17:01:36.000000000 +0200
+--- src/regexp.c 2013-09-19 17:03:31.000000000 +0200
+***************
+*** 8016,8027 ****
+ }
+ #endif
+ /*
+! * If NFA engine failed, then revert to the backtracking engine.
+! * Except when there was a syntax error, which was properly handled by
+! * NFA engine.
+! */
+ if (regexp_engine == AUTOMATIC_ENGINE)
+ prog = bt_regengine.regcomp(expr, re_flags);
+ }
+
+ return prog;
+--- 8016,8026 ----
+ }
+ #endif
+ /*
+! * If the NFA engine failed, the backtracking engine won't work either.
+! *
+ if (regexp_engine == AUTOMATIC_ENGINE)
+ prog = bt_regengine.regcomp(expr, re_flags);
++ */
+ }
+
+ return prog;
+*** ../vim-7.4.028/src/version.c 2013-09-19 17:00:14.000000000 +0200
+--- src/version.c 2013-09-19 17:01:13.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 29,
+ /**/
+
+--
+The term "free software" is defined by Richard M. Stallman as
+being software that isn't necessarily for free. Confusing?
+Let's call it "Stallman software" then!
+ -- Bram Moolenaar
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.030 b/source/ap/vim/patches/7.4.030
new file mode 100644
index 000000000..d685df673
--- /dev/null
+++ b/source/ap/vim/patches/7.4.030
@@ -0,0 +1,109 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.030
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.030
+Problem: The -mno-cygwin argument is no longer supported by Cygwin.
+Solution: Remove the arguments. (Steve Hall)
+Files: src/GvimExt/Make_cyg.mak, src/Make_cyg.mak, src/xxd/Make_cyg.mak
+
+
+*** ../vim-7.4.029/src/GvimExt/Make_cyg.mak 2011-09-30 16:45:49.000000000 +0200
+--- src/GvimExt/Make_cyg.mak 2013-09-19 20:46:46.000000000 +0200
+***************
+*** 31,42 ****
+ ifeq ($(CROSS),yes)
+ DEL = rm
+ ifeq ($(MINGWOLD),yes)
+! CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks
+ else
+! CXXFLAGS := -O2 -mno-cygwin
+ endif
+ else
+! CXXFLAGS := -O2 -mno-cygwin
+ ifneq (sh.exe, $(SHELL))
+ DEL = rm
+ else
+--- 31,42 ----
+ ifeq ($(CROSS),yes)
+ DEL = rm
+ ifeq ($(MINGWOLD),yes)
+! CXXFLAGS := -O2 -fvtable-thunks
+ else
+! CXXFLAGS := -O2
+ endif
+ else
+! CXXFLAGS := -O2
+ ifneq (sh.exe, $(SHELL))
+ DEL = rm
+ else
+*** ../vim-7.4.029/src/Make_cyg.mak 2013-07-06 13:32:11.000000000 +0200
+--- src/Make_cyg.mak 2013-09-19 20:46:55.000000000 +0200
+***************
+*** 1,6 ****
+ #
+ # Makefile for VIM on Win32, using Cygnus gcc
+! # Last updated by Dan Sharp. Last Change: 2013 Apr 22
+ #
+ # Also read INSTALLpc.txt!
+ #
+--- 1,6 ----
+ #
+ # Makefile for VIM on Win32, using Cygnus gcc
+! # Last updated by Dan Sharp. Last Change: 2013 Sep 19
+ #
+ # Also read INSTALLpc.txt!
+ #
+***************
+*** 439,446 ****
+ ##############################
+ ifeq (yes, $(USEDLL))
+ DEFINES += -D_MAX_PATH=256 -D__CYGWIN__
+- else
+- INCLUDES += -mno-cygwin
+ endif
+
+ ##############################
+--- 439,444 ----
+*** ../vim-7.4.029/src/xxd/Make_cyg.mak 2010-05-15 13:04:06.000000000 +0200
+--- src/xxd/Make_cyg.mak 2013-09-19 20:47:05.000000000 +0200
+***************
+*** 8,14 ****
+ DEFINES =
+ LIBS = -lc
+ else
+! DEFINES = -mno-cygwin
+ LIBS =
+ endif
+
+--- 8,14 ----
+ DEFINES =
+ LIBS = -lc
+ else
+! DEFINES =
+ LIBS =
+ endif
+
+*** ../vim-7.4.029/src/version.c 2013-09-19 17:03:57.000000000 +0200
+--- src/version.c 2013-09-19 20:46:32.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 30,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+237. You tattoo your email address on your forehead.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.031 b/source/ap/vim/patches/7.4.031
new file mode 100644
index 000000000..f4e49d86b
--- /dev/null
+++ b/source/ap/vim/patches/7.4.031
@@ -0,0 +1,54 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.031
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.031
+Problem: ":diffoff!" resets options even when 'diff' is not set. (Charles
+ Cooper)
+Solution: Only resets related options in a window where 'diff' is set.
+Files: src/diff.c
+
+
+*** ../vim-7.4.030/src/diff.c 2013-07-17 13:43:15.000000000 +0200
+--- src/diff.c 2013-09-20 19:58:47.000000000 +0200
+***************
+*** 1203,1209 ****
+
+ for (wp = firstwin; wp != NULL; wp = wp->w_next)
+ {
+! if (wp == curwin || (eap->forceit && wp->w_p_diff))
+ {
+ /* Set 'diff', 'scrollbind' off and 'wrap' on. If option values
+ * were saved in diff_win_options() restore them. */
+--- 1203,1209 ----
+
+ for (wp = firstwin; wp != NULL; wp = wp->w_next)
+ {
+! if (eap->forceit ? wp->w_p_diff : wp == curwin)
+ {
+ /* Set 'diff', 'scrollbind' off and 'wrap' on. If option values
+ * were saved in diff_win_options() restore them. */
+*** ../vim-7.4.030/src/version.c 2013-09-19 20:48:59.000000000 +0200
+--- src/version.c 2013-09-20 19:59:45.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 31,
+ /**/
+
+--
+"Marriage is a wonderful institution...
+but who wants to live in an institution?"
+ - Groucho Marx
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.032 b/source/ap/vim/patches/7.4.032
new file mode 100644
index 000000000..9e25dc4ee
--- /dev/null
+++ b/source/ap/vim/patches/7.4.032
@@ -0,0 +1,82 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.032
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.032
+Problem: NFA engine does not match the NUL character. (Jonathon Merz)
+Solution: Ues 0x0a instead of NUL. (Christian Brabandt)
+Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.4.031/src/regexp_nfa.c 2013-09-19 17:00:14.000000000 +0200
+--- src/regexp_nfa.c 2013-09-22 13:53:46.000000000 +0200
+***************
+*** 1383,1390 ****
+ EMSG2_RET_FAIL(
+ _("E678: Invalid character after %s%%[dxouU]"),
+ reg_magic == MAGIC_ALL);
+ /* TODO: what if a composing character follows? */
+! EMIT(nr);
+ }
+ break;
+
+--- 1383,1391 ----
+ EMSG2_RET_FAIL(
+ _("E678: Invalid character after %s%%[dxouU]"),
+ reg_magic == MAGIC_ALL);
++ /* A NUL is stored in the text as NL */
+ /* TODO: what if a composing character follows? */
+! EMIT(nr == 0 ? 0x0a : nr);
+ }
+ break;
+
+*** ../vim-7.4.031/src/testdir/test64.in 2013-09-05 21:15:38.000000000 +0200
+--- src/testdir/test64.in 2013-09-22 13:51:53.000000000 +0200
+***************
+*** 373,378 ****
+--- 373,379 ----
+ :call add(tl, [2, '\%x20', 'yes no', ' '])
+ :call add(tl, [2, '\%u0020', 'yes no', ' '])
+ :call add(tl, [2, '\%U00000020', 'yes no', ' '])
++ :call add(tl, [2, '\%d0', "yes\x0ano", "\x0a"])
+ :"
+ :""""" \%[abc]
+ :call add(tl, [2, 'foo\%[bar]', 'fobar'])
+*** ../vim-7.4.031/src/testdir/test64.ok 2013-09-05 21:15:38.000000000 +0200
+--- src/testdir/test64.ok 2013-09-22 13:52:41.000000000 +0200
+***************
+*** 863,868 ****
+--- 863,871 ----
+ OK 0 - \%U00000020
+ OK 1 - \%U00000020
+ OK 2 - \%U00000020
++ OK 0 - \%d0
++ OK 1 - \%d0
++ OK 2 - \%d0
+ OK 0 - foo\%[bar]
+ OK 1 - foo\%[bar]
+ OK 2 - foo\%[bar]
+*** ../vim-7.4.031/src/version.c 2013-09-20 20:13:48.000000000 +0200
+--- src/version.c 2013-09-22 13:56:45.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 32,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+247. You use www.switchboard.com instead of dialing 411 and 555-12-12
+ for directory assistance.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.033 b/source/ap/vim/patches/7.4.033
new file mode 100644
index 000000000..7eba8a0af
--- /dev/null
+++ b/source/ap/vim/patches/7.4.033
@@ -0,0 +1,116 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.033
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.033
+Problem: When the terminal has only 20 lines test 92 and 93 overwrite the
+ input file.
+Solution: Explicitly write test.out. Check that the terminal is large enough
+ to run the tests. (Hirohito Higashi)
+Files: src/testdir/test92.in, src/testdir/test93.in,
+ src/testdir/test1.in, src/testdir/Makefile
+
+
+*** ../vim-7.4.032/src/testdir/test92.in 2013-04-18 23:33:45.000000000 +0200
+--- src/testdir/test92.in 2013-09-22 14:45:06.000000000 +0200
+***************
+*** 33,39 ****
+ :mksession! test.out
+ :new test.out
+ :v/\(^ *normal! 0\|^ *exe 'normal!\)/d
+! :w
+ :qa!
+ ENDTEST
+
+--- 33,39 ----
+ :mksession! test.out
+ :new test.out
+ :v/\(^ *normal! 0\|^ *exe 'normal!\)/d
+! :w! test.out
+ :qa!
+ ENDTEST
+
+*** ../vim-7.4.032/src/testdir/test93.in 2013-02-26 17:13:01.000000000 +0100
+--- src/testdir/test93.in 2013-09-22 14:45:17.000000000 +0200
+***************
+*** 33,39 ****
+ :mksession! test.out
+ :new test.out
+ :v/\(^ *normal! 0\|^ *exe 'normal!\)/d
+! :w
+ :qa!
+ ENDTEST
+
+--- 33,39 ----
+ :mksession! test.out
+ :new test.out
+ :v/\(^ *normal! 0\|^ *exe 'normal!\)/d
+! :w! test.out
+ :qa!
+ ENDTEST
+
+*** ../vim-7.4.032/src/testdir/test1.in 2012-04-05 16:37:37.000000000 +0200
+--- src/testdir/test1.in 2013-09-22 14:52:43.000000000 +0200
+***************
+*** 18,23 ****
+--- 18,27 ----
+ Similar logic is applied to the +lua feature, using lua.vim.
+
+ STARTTEST
++ :" If columns or lines are too small, create wrongtermsize.
++ :" (Some tests will fail. When columns and/or lines are small)
++ :if &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
++ :"
+ :" Write a single line to test.out to check if testing works at all.
+ :%d
+ athis is a test:w! test.out
+*** ../vim-7.4.032/src/testdir/Makefile 2013-09-19 17:00:14.000000000 +0200
+--- src/testdir/Makefile 2013-09-22 14:54:39.000000000 +0200
+***************
+*** 58,66 ****
+ -rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
+
+ test1.out: test1.in
+! -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START)
+ $(RUN_VIM) $*.in
+! @/bin/sh -c "if diff test.out $*.ok; \
+ then mv -f test.out $*.out; \
+ else echo; \
+ echo test1 FAILED - Something basic is wrong; \
+--- 58,70 ----
+ -rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
+
+ test1.out: test1.in
+! -rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize
+ $(RUN_VIM) $*.in
+! @/bin/sh -c "if test -e wrongtermsize; \
+! then echo; \
+! echo test1 FAILED - terminal size must be 80x24 or larger; \
+! echo; exit 1; \
+! elif diff test.out $*.ok; \
+ then mv -f test.out $*.out; \
+ else echo; \
+ echo test1 FAILED - Something basic is wrong; \
+*** ../vim-7.4.032/src/version.c 2013-09-22 13:57:19.000000000 +0200
+--- src/version.c 2013-09-22 15:02:04.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 33,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+248. You sign your letters with your e-mail address instead of your name.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.034 b/source/ap/vim/patches/7.4.034
new file mode 100644
index 000000000..f111e1161
--- /dev/null
+++ b/source/ap/vim/patches/7.4.034
@@ -0,0 +1,180 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.034
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.034
+Problem: Using "p" in Visual block mode only changes the first line.
+Solution: Repeat the put in all text in the block. (Christian Brabandt)
+Files: runtime/doc/change.txt, src/ops.c, src/normal.c,
+ src/testdir/test20.in, src/testdir/test20.ok
+
+
+*** ../vim-7.4.033/runtime/doc/change.txt 2013-08-10 13:24:52.000000000 +0200
+--- runtime/doc/change.txt 2013-09-22 15:12:20.000000000 +0200
+***************
+*** 1069,1074 ****
+--- 1069,1079 ----
+ replace and use "0p . You can repeat this as many times as you like, the
+ unnamed register will be changed each time.
+
++ When you use a blockwise Visual mode command and yank only a single line into
++ a register, a paste on a visual selected area will paste that single line on
++ each of the selected lines (thus replacing the blockwise selected region by a
++ block of the pasted line).
++
+ *blockwise-register*
+ If you use a blockwise Visual mode command to get the text into the register,
+ the block of text will be inserted before ("P") or after ("p") the cursor
+*** ../vim-7.4.033/src/ops.c 2013-08-09 19:34:32.000000000 +0200
+--- src/ops.c 2013-09-22 15:18:03.000000000 +0200
+***************
+*** 3776,3800 ****
+ */
+ if (y_type == MCHAR && y_size == 1)
+ {
+! totlen = count * yanklen;
+! if (totlen)
+! {
+! oldp = ml_get(lnum);
+! newp = alloc_check((unsigned)(STRLEN(oldp) + totlen + 1));
+! if (newp == NULL)
+! goto end; /* alloc() will give error message */
+! mch_memmove(newp, oldp, (size_t)col);
+! ptr = newp + col;
+! for (i = 0; i < count; ++i)
+ {
+! mch_memmove(ptr, y_array[0], (size_t)yanklen);
+! ptr += yanklen;
+ }
+! STRMOVE(ptr, oldp + col);
+! ml_replace(lnum, newp, FALSE);
+! /* Put cursor on last putted char. */
+! curwin->w_cursor.col += (colnr_T)(totlen - 1);
+! }
+ curbuf->b_op_end = curwin->w_cursor;
+ /* For "CTRL-O p" in Insert mode, put cursor after last char */
+ if (totlen && (restart_edit != 0 || (flags & PUT_CURSEND)))
+--- 3776,3817 ----
+ */
+ if (y_type == MCHAR && y_size == 1)
+ {
+! do {
+! totlen = count * yanklen;
+! if (totlen > 0)
+ {
+! oldp = ml_get(lnum);
+! newp = alloc_check((unsigned)(STRLEN(oldp) + totlen + 1));
+! if (newp == NULL)
+! goto end; /* alloc() gave an error message */
+! mch_memmove(newp, oldp, (size_t)col);
+! ptr = newp + col;
+! for (i = 0; i < count; ++i)
+! {
+! mch_memmove(ptr, y_array[0], (size_t)yanklen);
+! ptr += yanklen;
+! }
+! STRMOVE(ptr, oldp + col);
+! ml_replace(lnum, newp, FALSE);
+! /* Place cursor on last putted char. */
+! if (lnum == curwin->w_cursor.lnum)
+! curwin->w_cursor.col += (colnr_T)(totlen - 1);
+ }
+! #ifdef FEAT_VISUAL
+! if (VIsual_active)
+! lnum++;
+! #endif
+! } while (
+! #ifdef FEAT_VISUAL
+! VIsual_active && lnum <= curbuf->b_visual.vi_end.lnum
+! #else
+! FALSE /* stop after 1 paste */
+! #endif
+! );
+! #ifdef FEAT_VISUAL
+! VIsual_active = FALSE;
+! #endif
+!
+ curbuf->b_op_end = curwin->w_cursor;
+ /* For "CTRL-O p" in Insert mode, put cursor after last char */
+ if (totlen && (restart_edit != 0 || (flags & PUT_CURSEND)))
+*** ../vim-7.4.033/src/normal.c 2013-07-14 13:24:37.000000000 +0200
+--- src/normal.c 2013-09-22 15:15:18.000000000 +0200
+***************
+*** 9518,9523 ****
+--- 9518,9525 ----
+ /* cursor is at the end of the line or end of file, put
+ * forward. */
+ dir = FORWARD;
++ /* May have been reset in do_put(). */
++ VIsual_active = TRUE;
+ }
+ #endif
+ do_put(cap->oap->regname, dir, cap->count1, flags);
+*** ../vim-7.4.033/src/testdir/test20.in 2010-05-15 13:04:10.000000000 +0200
+--- src/testdir/test20.in 2013-09-22 15:11:37.000000000 +0200
+***************
+*** 9,19 ****
+ @auY:quit!
+ GP
+ /start here$
+! jjlld
+! :/here$/,$-1w! test.out
+ :qa!
+ ENDTEST
+
+ test text test tex start here
+ some text
+ test text
+--- 9,25 ----
+ @auY:quit!
+ GP
+ /start here$
+! "by$jjlld
+! /456$
+! jj"bP
+! :/56$/,$-1w! test.out
+ :qa!
+ ENDTEST
+
++ 123456
++ 234567
++ 345678
++
+ test text test tex start here
+ some text
+ test text
+*** ../vim-7.4.033/src/testdir/test20.ok 2010-05-15 13:04:10.000000000 +0200
+--- src/testdir/test20.ok 2013-09-22 15:11:37.000000000 +0200
+***************
+*** 1,3 ****
+--- 1,7 ----
++ 123start here56
++ 234start here67
++ 345start here78
++
+ test text test tex rt here
+ somext
+ tesext
+*** ../vim-7.4.033/src/version.c 2013-09-22 15:03:34.000000000 +0200
+--- src/version.c 2013-09-22 15:14:04.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 34,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+249. You've forgotten what the outside looks like.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.035 b/source/ap/vim/patches/7.4.035
new file mode 100644
index 000000000..9c4664a6e
--- /dev/null
+++ b/source/ap/vim/patches/7.4.035
@@ -0,0 +1,53 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.035
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.035
+Problem: MS-Windows: The mouse pointer flickers when going from command
+ line mode to Normal mode.
+Solution: Check for WM_NCMOUSEMOVE. (Ken Takata)
+Files: src/gui_w48.c
+
+
+*** ../vim-7.4.034/src/gui_w48.c 2013-08-10 13:36:45.000000000 +0200
+--- src/gui_w48.c 2013-09-22 15:41:56.000000000 +0200
+***************
+*** 1008,1014 ****
+ static LPARAM last_lParam = 0L;
+
+ /* We sometimes get a mousemove when the mouse didn't move... */
+! if (uMsg == WM_MOUSEMOVE)
+ {
+ if (lParam == last_lParam)
+ return;
+--- 1008,1014 ----
+ static LPARAM last_lParam = 0L;
+
+ /* We sometimes get a mousemove when the mouse didn't move... */
+! if (uMsg == WM_MOUSEMOVE || uMsg == WM_NCMOUSEMOVE)
+ {
+ if (lParam == last_lParam)
+ return;
+*** ../vim-7.4.034/src/version.c 2013-09-22 15:23:38.000000000 +0200
+--- src/version.c 2013-09-22 15:41:29.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 35,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+251. You've never seen your closest friends who usually live WAY too far away.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.036 b/source/ap/vim/patches/7.4.036
new file mode 100644
index 000000000..49afc269a
--- /dev/null
+++ b/source/ap/vim/patches/7.4.036
@@ -0,0 +1,273 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.036
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.036
+Problem: NFA engine does not capture group correctly when using \@>. (ZyX)
+Solution: Copy submatches before doing the recursive match.
+Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.4.035/src/regexp_nfa.c 2013-09-22 13:57:19.000000000 +0200
+--- src/regexp_nfa.c 2013-09-25 16:35:54.000000000 +0200
+***************
+*** 36,42 ****
+ {
+ NFA_SPLIT = -1024,
+ NFA_MATCH,
+! NFA_SKIP_CHAR, /* matches a 0-length char */
+
+ NFA_START_COLL, /* [abc] start */
+ NFA_END_COLL, /* [abc] end */
+--- 36,42 ----
+ {
+ NFA_SPLIT = -1024,
+ NFA_MATCH,
+! NFA_EMPTY, /* matches 0-length */
+
+ NFA_START_COLL, /* [abc] start */
+ NFA_END_COLL, /* [abc] end */
+***************
+*** 2005,2012 ****
+ {
+ /* Ignore result of previous call to nfa_regatom() */
+ post_ptr = post_start + my_post_start;
+! /* NFA_SKIP_CHAR has 0-length and works everywhere */
+! EMIT(NFA_SKIP_CHAR);
+ return OK;
+ }
+
+--- 2005,2012 ----
+ {
+ /* Ignore result of previous call to nfa_regatom() */
+ post_ptr = post_start + my_post_start;
+! /* NFA_EMPTY is 0-length and works everywhere */
+! EMIT(NFA_EMPTY);
+ return OK;
+ }
+
+***************
+*** 2170,2185 ****
+ old_post_pos = (int)(post_ptr - post_start);
+ if (nfa_regconcat() == FAIL)
+ return FAIL;
+! /* if concat is empty, skip a input char. But do emit a node */
+ if (old_post_pos == (int)(post_ptr - post_start))
+! EMIT(NFA_SKIP_CHAR);
+ EMIT(NFA_CONCAT);
+ ch = peekchr();
+ }
+
+! /* Even if a branch is empty, emit one node for it */
+ if (old_post_pos == (int)(post_ptr - post_start))
+! EMIT(NFA_SKIP_CHAR);
+
+ return OK;
+ }
+--- 2170,2185 ----
+ old_post_pos = (int)(post_ptr - post_start);
+ if (nfa_regconcat() == FAIL)
+ return FAIL;
+! /* if concat is empty do emit a node */
+ if (old_post_pos == (int)(post_ptr - post_start))
+! EMIT(NFA_EMPTY);
+ EMIT(NFA_CONCAT);
+ ch = peekchr();
+ }
+
+! /* if a branch is empty, emit one node for it */
+ if (old_post_pos == (int)(post_ptr - post_start))
+! EMIT(NFA_EMPTY);
+
+ return OK;
+ }
+***************
+*** 2423,2429 ****
+ case NFA_STAR_NONGREEDY: STRCPY(code, "NFA_STAR_NONGREEDY "); break;
+ case NFA_QUEST: STRCPY(code, "NFA_QUEST"); break;
+ case NFA_QUEST_NONGREEDY: STRCPY(code, "NFA_QUEST_NON_GREEDY"); break;
+! case NFA_SKIP_CHAR: STRCPY(code, "NFA_SKIP_CHAR"); break;
+ case NFA_OR: STRCPY(code, "NFA_OR"); break;
+
+ case NFA_START_COLL: STRCPY(code, "NFA_START_COLL"); break;
+--- 2423,2429 ----
+ case NFA_STAR_NONGREEDY: STRCPY(code, "NFA_STAR_NONGREEDY "); break;
+ case NFA_QUEST: STRCPY(code, "NFA_QUEST"); break;
+ case NFA_QUEST_NONGREEDY: STRCPY(code, "NFA_QUEST_NON_GREEDY"); break;
+! case NFA_EMPTY: STRCPY(code, "NFA_EMPTY"); break;
+ case NFA_OR: STRCPY(code, "NFA_OR"); break;
+
+ case NFA_START_COLL: STRCPY(code, "NFA_START_COLL"); break;
+***************
+*** 3067,3073 ****
+ case NFA_ZSTART:
+ case NFA_ZEND:
+ case NFA_OPT_CHARS:
+! case NFA_SKIP_CHAR:
+ case NFA_START_PATTERN:
+ case NFA_END_PATTERN:
+ case NFA_COMPOSING:
+--- 3067,3073 ----
+ case NFA_ZSTART:
+ case NFA_ZEND:
+ case NFA_OPT_CHARS:
+! case NFA_EMPTY:
+ case NFA_START_PATTERN:
+ case NFA_END_PATTERN:
+ case NFA_COMPOSING:
+***************
+*** 3265,3279 ****
+ PUSH(frag(e1.start, e2.out));
+ break;
+
+! case NFA_SKIP_CHAR:
+! /* Symbol of 0-length, Used in a repetition
+! * with max/min count of 0 */
+ if (nfa_calc_size == TRUE)
+ {
+ nstate++;
+ break;
+ }
+! s = alloc_state(NFA_SKIP_CHAR, NULL, NULL);
+ if (s == NULL)
+ goto theend;
+ PUSH(frag(s, list1(&s->out)));
+--- 3265,3278 ----
+ PUSH(frag(e1.start, e2.out));
+ break;
+
+! case NFA_EMPTY:
+! /* 0-length, used in a repetition with max/min count of 0 */
+ if (nfa_calc_size == TRUE)
+ {
+ nstate++;
+ break;
+ }
+! s = alloc_state(NFA_EMPTY, NULL, NULL);
+ if (s == NULL)
+ goto theend;
+ PUSH(frag(s, list1(&s->out)));
+***************
+*** 4209,4215 ****
+ case NFA_MOPEN:
+ case NFA_ZEND:
+ case NFA_SPLIT:
+! case NFA_SKIP_CHAR:
+ /* These nodes are not added themselves but their "out" and/or
+ * "out1" may be added below. */
+ break;
+--- 4208,4214 ----
+ case NFA_MOPEN:
+ case NFA_ZEND:
+ case NFA_SPLIT:
+! case NFA_EMPTY:
+ /* These nodes are not added themselves but their "out" and/or
+ * "out1" may be added below. */
+ break;
+***************
+*** 4337,4343 ****
+ subs = addstate(l, state->out1, subs, pim, off);
+ break;
+
+! case NFA_SKIP_CHAR:
+ case NFA_NOPEN:
+ case NFA_NCLOSE:
+ subs = addstate(l, state->out, subs, pim, off);
+--- 4336,4342 ----
+ subs = addstate(l, state->out1, subs, pim, off);
+ break;
+
+! case NFA_EMPTY:
+ case NFA_NOPEN:
+ case NFA_NCLOSE:
+ subs = addstate(l, state->out, subs, pim, off);
+***************
+*** 5604,5612 ****
+ {
+ int in_use = m->norm.in_use;
+
+! /* Copy submatch info for the recursive call, so that
+! * \1 can be matched. */
+ copy_sub_off(&m->norm, &t->subs.norm);
+
+ /*
+ * First try matching the invisible match, then what
+--- 5603,5615 ----
+ {
+ int in_use = m->norm.in_use;
+
+! /* Copy submatch info for the recursive call, opposite
+! * of what happens on success below. */
+ copy_sub_off(&m->norm, &t->subs.norm);
++ #ifdef FEAT_SYN_HL
++ if (nfa_has_zsubexpr)
++ copy_sub_off(&m->synt, &t->subs.synt);
++ #endif
+
+ /*
+ * First try matching the invisible match, then what
+***************
+*** 5713,5718 ****
+--- 5716,5728 ----
+ #endif
+ break;
+ }
++ /* Copy submatch info to the recursive call, opposite of what
++ * happens afterwards. */
++ copy_sub_off(&m->norm, &t->subs.norm);
++ #ifdef FEAT_SYN_HL
++ if (nfa_has_zsubexpr)
++ copy_sub_off(&m->synt, &t->subs.synt);
++ #endif
+
+ /* First try matching the pattern. */
+ result = recursive_regmatch(t->state, NULL, prog,
+*** ../vim-7.4.035/src/testdir/test64.in 2013-09-22 13:57:19.000000000 +0200
+--- src/testdir/test64.in 2013-09-25 15:51:12.000000000 +0200
+***************
+*** 430,435 ****
+--- 430,436 ----
+ :call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
+ :call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
+ :call add(tl, [2, '^\(.\{-}b\)\@>.', ' abcbd', ' abc', ' ab'])
++ :call add(tl, [2, '\(.\{-}\)\(\)\@>$', 'abc', 'abc', 'abc', ''])
+ :" TODO: BT engine does not restore submatch after failure
+ :call add(tl, [1, '\(a*\)\@>a\|a\+', 'aaaa', 'aaaa'])
+ :"
+*** ../vim-7.4.035/src/testdir/test64.ok 2013-09-22 13:57:19.000000000 +0200
+--- src/testdir/test64.ok 2013-09-25 16:39:31.000000000 +0200
+***************
+*** 992,997 ****
+--- 992,1000 ----
+ OK 0 - ^\(.\{-}b\)\@>.
+ OK 1 - ^\(.\{-}b\)\@>.
+ OK 2 - ^\(.\{-}b\)\@>.
++ OK 0 - \(.\{-}\)\(\)\@>$
++ OK 1 - \(.\{-}\)\(\)\@>$
++ OK 2 - \(.\{-}\)\(\)\@>$
+ OK 0 - \(a*\)\@>a\|a\+
+ OK 2 - \(a*\)\@>a\|a\+
+ OK 0 - \_[^8-9]\+
+*** ../vim-7.4.035/src/version.c 2013-09-22 15:43:34.000000000 +0200
+--- src/version.c 2013-09-25 16:40:01.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 36,
+ /**/
+
+--
+There is a fine line between courage and foolishness.
+Unfortunately, it's not a fence.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.037 b/source/ap/vim/patches/7.4.037
new file mode 100644
index 000000000..3c6369b72
--- /dev/null
+++ b/source/ap/vim/patches/7.4.037
@@ -0,0 +1,130 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.037
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.037
+Problem: Using "\ze" in a sub-pattern does not result in the end of the
+ match to be set. (Axel Bender)
+Solution: Copy the end of match position when a recursive match was
+ successful.
+Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.4.036/src/regexp_nfa.c 2013-09-25 16:41:50.000000000 +0200
+--- src/regexp_nfa.c 2013-09-25 18:09:59.000000000 +0200
+***************
+*** 3822,3827 ****
+--- 3822,3828 ----
+ static void clear_sub __ARGS((regsub_T *sub));
+ static void copy_sub __ARGS((regsub_T *to, regsub_T *from));
+ static void copy_sub_off __ARGS((regsub_T *to, regsub_T *from));
++ static void copy_ze_off __ARGS((regsub_T *to, regsub_T *from));
+ static int sub_equal __ARGS((regsub_T *sub1, regsub_T *sub2));
+ static int match_backref __ARGS((regsub_T *sub, int subidx, int *bytelen));
+ static int has_state_with_pos __ARGS((nfa_list_T *l, nfa_state_T *state, regsubs_T *subs, nfa_pim_T *pim));
+***************
+*** 3909,3914 ****
+--- 3910,3938 ----
+ }
+
+ /*
++ * Like copy_sub() but only do the end of the main match if \ze is present.
++ */
++ static void
++ copy_ze_off(to, from)
++ regsub_T *to;
++ regsub_T *from;
++ {
++ if (nfa_has_zend)
++ {
++ if (REG_MULTI)
++ {
++ if (from->list.multi[0].end.lnum >= 0)
++ to->list.multi[0].end = from->list.multi[0].end;
++ }
++ else
++ {
++ if (from->list.line[0].end != NULL)
++ to->list.line[0].end = from->list.line[0].end;
++ }
++ }
++ }
++
++ /*
+ * Return TRUE if "sub1" and "sub2" have the same start positions.
+ */
+ static int
+***************
+*** 5308,5313 ****
+--- 5332,5338 ----
+ * When "nfa_endp" is not NULL it is a required end-of-match position.
+ *
+ * Return TRUE if there is a match, FALSE otherwise.
++ * When there is a match "submatch" contains the positions.
+ * Note: Caller must ensure that: start != NULL.
+ */
+ static int
+***************
+*** 5633,5638 ****
+--- 5658,5666 ----
+ if (nfa_has_zsubexpr)
+ copy_sub_off(&t->subs.synt, &m->synt);
+ #endif
++ /* If the pattern has \ze and it matched in the
++ * sub pattern, use it. */
++ copy_ze_off(&t->subs.norm, &m->norm);
+
+ /* t->state->out1 is the corresponding
+ * END_INVISIBLE node; Add its out to the current
+*** ../vim-7.4.036/src/testdir/test64.in 2013-09-25 16:41:50.000000000 +0200
+--- src/testdir/test64.in 2013-09-25 18:09:16.000000000 +0200
+***************
+*** 425,430 ****
+--- 425,431 ----
+ :"
+ :" complicated look-behind match
+ :call add(tl, [2, '\(r\@<=\|\w\@<!\)\/', 'x = /word/;', '/'])
++ :call add(tl, [2, '^[a-z]\+\ze \&\(asdf\)\@<!', 'foo bar', 'foo'])
+ :"
+ :""""" \@>
+ :call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
+*** ../vim-7.4.036/src/testdir/test64.ok 2013-09-25 16:41:50.000000000 +0200
+--- src/testdir/test64.ok 2013-09-25 18:10:05.000000000 +0200
+***************
+*** 983,988 ****
+--- 983,991 ----
+ OK 0 - \(r\@<=\|\w\@<!\)\/
+ OK 1 - \(r\@<=\|\w\@<!\)\/
+ OK 2 - \(r\@<=\|\w\@<!\)\/
++ OK 0 - ^[a-z]\+\ze \&\(asdf\)\@<!
++ OK 1 - ^[a-z]\+\ze \&\(asdf\)\@<!
++ OK 2 - ^[a-z]\+\ze \&\(asdf\)\@<!
+ OK 0 - \(a*\)\@>a
+ OK 1 - \(a*\)\@>a
+ OK 2 - \(a*\)\@>a
+*** ../vim-7.4.036/src/version.c 2013-09-25 16:41:50.000000000 +0200
+--- src/version.c 2013-09-25 18:14:36.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 37,
+ /**/
+
+--
+MAN: You don't frighten us, English pig-dog! Go and boil your bottoms,
+ son of a silly person. I blow my nose on you, so-called Arthur-king,
+ you and your silly English K...kaniggets.
+ He puts hands to his ears and blows a raspberry.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.038 b/source/ap/vim/patches/7.4.038
new file mode 100644
index 000000000..0aae370e3
--- /dev/null
+++ b/source/ap/vim/patches/7.4.038
@@ -0,0 +1,116 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.038
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.038
+Problem: Using "zw" and "zg" when 'spell' is off give a confusing error
+ message. (Gary Johnson)
+Solution: Ignore the error when locating the word. Explicitly mention what
+ word was added. (Christian Brabandt)
+Files: src/normal.c, src/spell.c
+
+
+*** ../vim-7.4.037/src/normal.c 2013-09-22 15:23:38.000000000 +0200
+--- src/normal.c 2013-09-25 18:54:08.000000000 +0200
+***************
+*** 5246,5253 ****
+ {
+ pos_T pos = curwin->w_cursor;
+
+! /* Find bad word under the cursor. */
+ len = spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL);
+ if (len != 0 && curwin->w_cursor.col <= pos.col)
+ ptr = ml_get_pos(&curwin->w_cursor);
+ curwin->w_cursor = pos;
+--- 5246,5257 ----
+ {
+ pos_T pos = curwin->w_cursor;
+
+! /* Find bad word under the cursor. When 'spell' is
+! * off this fails and find_ident_under_cursor() is
+! * used below. */
+! emsg_off++;
+ len = spell_move_to(curwin, FORWARD, TRUE, TRUE, NULL);
++ emsg_off--;
+ if (len != 0 && curwin->w_cursor.col <= pos.col)
+ ptr = ml_get_pos(&curwin->w_cursor);
+ curwin->w_cursor = pos;
+*** ../vim-7.4.037/src/spell.c 2013-07-17 17:28:28.000000000 +0200
+--- src/spell.c 2013-09-25 18:48:55.000000000 +0200
+***************
+*** 9479,9485 ****
+ if (undo)
+ {
+ home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
+! smsg((char_u *)_("Word removed from %s"), NameBuff);
+ }
+ }
+ fseek(fd, fpos_next, SEEK_SET);
+--- 9479,9486 ----
+ if (undo)
+ {
+ home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
+! smsg((char_u *)_("Word '%.*s' removed from %s"),
+! len, word, NameBuff);
+ }
+ }
+ fseek(fd, fpos_next, SEEK_SET);
+***************
+*** 9525,9531 ****
+ fclose(fd);
+
+ home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
+! smsg((char_u *)_("Word added to %s"), NameBuff);
+ }
+ }
+
+--- 9526,9532 ----
+ fclose(fd);
+
+ home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
+! smsg((char_u *)_("Word '%.*s' added to %s"), len, word, NameBuff);
+ }
+ }
+
+***************
+*** 10135,10141 ****
+ }
+
+ /*
+! * "z?": Find badly spelled word under or after the cursor.
+ * Give suggestions for the properly spelled word.
+ * In Visual mode use the highlighted word as the bad word.
+ * When "count" is non-zero use that suggestion.
+--- 10136,10142 ----
+ }
+
+ /*
+! * "z=": Find badly spelled word under or after the cursor.
+ * Give suggestions for the properly spelled word.
+ * In Visual mode use the highlighted word as the bad word.
+ * When "count" is non-zero use that suggestion.
+*** ../vim-7.4.037/src/version.c 2013-09-25 18:16:34.000000000 +0200
+--- src/version.c 2013-09-25 18:52:47.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 38,
+ /**/
+
+--
+MAN: Fetchez la vache!
+GUARD: Quoi?
+MAN: Fetchez la vache!
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.039 b/source/ap/vim/patches/7.4.039
new file mode 100644
index 000000000..5d653e353
--- /dev/null
+++ b/source/ap/vim/patches/7.4.039
@@ -0,0 +1,217 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.039
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.039
+Problem: MS-Windows: MSCV10 and earlier can't handle symlinks to a
+ directory properly.
+Solution: Add stat_symlink_aware() and wstat_symlink_aware(). (Ken Takata)
+Files: src/os_mswin.c, src/os_win32.c, src/os_win32.h
+
+
+*** ../vim-7.4.038/src/os_mswin.c 2013-08-30 16:51:15.000000000 +0200
+--- src/os_mswin.c 2013-09-25 19:09:53.000000000 +0200
+***************
+*** 498,503 ****
+--- 498,595 ----
+ }
+ }
+
++ static int
++ stat_symlink_aware(const char *name, struct stat *stp)
++ {
++ #if defined(_MSC_VER) && _MSC_VER < 1700
++ /* Work around for VC10 or earlier. stat() can't handle symlinks properly.
++ * VC9 or earlier: stat() doesn't support a symlink at all. It retrieves
++ * status of a symlink itself.
++ * VC10: stat() supports a symlink to a normal file, but it doesn't support
++ * a symlink to a directory (always returns an error). */
++ WIN32_FIND_DATA findData;
++ HANDLE hFind, h;
++ DWORD attr = 0;
++ BOOL is_symlink = FALSE;
++
++ hFind = FindFirstFile(name, &findData);
++ if (hFind != INVALID_HANDLE_VALUE)
++ {
++ attr = findData.dwFileAttributes;
++ if ((attr & FILE_ATTRIBUTE_REPARSE_POINT)
++ && (findData.dwReserved0 == IO_REPARSE_TAG_SYMLINK))
++ is_symlink = TRUE;
++ FindClose(hFind);
++ }
++ if (is_symlink)
++ {
++ h = CreateFile(name, FILE_READ_ATTRIBUTES,
++ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
++ OPEN_EXISTING,
++ (attr & FILE_ATTRIBUTE_DIRECTORY)
++ ? FILE_FLAG_BACKUP_SEMANTICS : 0,
++ NULL);
++ if (h != INVALID_HANDLE_VALUE)
++ {
++ int fd, n;
++
++ fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
++ n = _fstat(fd, (struct _stat*)stp);
++ _close(fd);
++ return n;
++ }
++ }
++ #endif
++ return stat(name, stp);
++ }
++
++ #ifdef FEAT_MBYTE
++ static int
++ wstat_symlink_aware(const WCHAR *name, struct _stat *stp)
++ {
++ # if defined(_MSC_VER) && _MSC_VER < 1700
++ /* Work around for VC10 or earlier. _wstat() can't handle symlinks properly.
++ * VC9 or earlier: _wstat() doesn't support a symlink at all. It retrieves
++ * status of a symlink itself.
++ * VC10: _wstat() supports a symlink to a normal file, but it doesn't
++ * support a symlink to a directory (always returns an error). */
++ int n;
++ BOOL is_symlink = FALSE;
++ HANDLE hFind, h;
++ DWORD attr = 0;
++ WIN32_FIND_DATAW findDataW;
++
++ hFind = FindFirstFileW(name, &findDataW);
++ if (hFind != INVALID_HANDLE_VALUE)
++ {
++ attr = findDataW.dwFileAttributes;
++ if ((attr & FILE_ATTRIBUTE_REPARSE_POINT)
++ && (findDataW.dwReserved0 == IO_REPARSE_TAG_SYMLINK))
++ is_symlink = TRUE;
++ FindClose(hFind);
++ }
++ if (is_symlink)
++ {
++ h = CreateFileW(name, FILE_READ_ATTRIBUTES,
++ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
++ OPEN_EXISTING,
++ (attr & FILE_ATTRIBUTE_DIRECTORY)
++ ? FILE_FLAG_BACKUP_SEMANTICS : 0,
++ NULL);
++ if (h != INVALID_HANDLE_VALUE)
++ {
++ int fd;
++
++ fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
++ n = _fstat(fd, stp);
++ _close(fd);
++ return n;
++ }
++ }
++ # endif
++ return _wstat(name, stp);
++ }
++ #endif
+
+ /*
+ * stat() can't handle a trailing '/' or '\', remove it first.
+***************
+*** 534,540 ****
+
+ if (wp != NULL)
+ {
+! n = _wstat(wp, (struct _stat *)stp);
+ vim_free(wp);
+ if (n >= 0)
+ return n;
+--- 626,632 ----
+
+ if (wp != NULL)
+ {
+! n = wstat_symlink_aware(wp, (struct _stat *)stp);
+ vim_free(wp);
+ if (n >= 0)
+ return n;
+***************
+*** 544,550 ****
+ }
+ }
+ #endif
+! return stat(buf, stp);
+ }
+
+ #if defined(FEAT_GUI_MSWIN) || defined(PROTO)
+--- 636,642 ----
+ }
+ }
+ #endif
+! return stat_symlink_aware(buf, stp);
+ }
+
+ #if defined(FEAT_GUI_MSWIN) || defined(PROTO)
+*** ../vim-7.4.038/src/os_win32.c 2013-08-30 17:29:10.000000000 +0200
+--- src/os_win32.c 2013-09-25 19:09:53.000000000 +0200
+***************
+*** 78,93 ****
+ # endif
+ #endif
+
+- /*
+- * Reparse Point
+- */
+- #ifndef FILE_ATTRIBUTE_REPARSE_POINT
+- # define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
+- #endif
+- #ifndef IO_REPARSE_TAG_SYMLINK
+- # define IO_REPARSE_TAG_SYMLINK 0xA000000C
+- #endif
+-
+ /* Record all output and all keyboard & mouse input */
+ /* #define MCH_WRITE_DUMP */
+
+--- 78,83 ----
+*** ../vim-7.4.038/src/os_win32.h 2013-07-21 17:53:13.000000000 +0200
+--- src/os_win32.h 2013-09-25 19:09:53.000000000 +0200
+***************
+*** 130,135 ****
+--- 130,148 ----
+ # define DFLT_MAXMEMTOT (5*1024) /* use up to 5 Mbyte for Vim */
+ #endif
+
++ /*
++ * Reparse Point
++ */
++ #ifndef FILE_ATTRIBUTE_REPARSE_POINT
++ # define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
++ #endif
++ #ifndef IO_REPARSE_TAG_MOUNT_POINT
++ # define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003
++ #endif
++ #ifndef IO_REPARSE_TAG_SYMLINK
++ # define IO_REPARSE_TAG_SYMLINK 0xA000000C
++ #endif
++
+ #if defined(_MSC_VER) || defined(__BORLANDC__)
+ /* Support for __try / __except. All versions of MSVC and Borland C are
+ * expected to have this. Any other compilers that support it? */
+*** ../vim-7.4.038/src/version.c 2013-09-25 18:54:20.000000000 +0200
+--- src/version.c 2013-09-25 19:08:55.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 39,
+ /**/
+
+--
+ A cow comes flying over the battlements, lowing aggressively. The cow
+ lands on GALAHAD'S PAGE, squashing him completely.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.040 b/source/ap/vim/patches/7.4.040
new file mode 100644
index 000000000..a60022366
--- /dev/null
+++ b/source/ap/vim/patches/7.4.040
@@ -0,0 +1,68 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.040
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.040
+Problem: Valgrind error on exit when a script-local variable holds a
+ reference to the scope of another script.
+Solution: First clear all variables, then free the scopes. (ZyX)
+Files: src/eval.c
+
+
+*** ../vim-7.4.039/src/eval.c 2013-08-30 16:35:41.000000000 +0200
+--- src/eval.c 2013-09-25 20:28:15.000000000 +0200
+***************
+*** 915,926 ****
+ /* autoloaded script names */
+ ga_clear_strings(&ga_loaded);
+
+! /* script-local variables */
+ for (i = 1; i <= ga_scripts.ga_len; ++i)
+- {
+ vars_clear(&SCRIPT_VARS(i));
+ vim_free(SCRIPT_SV(i));
+- }
+ ga_clear(&ga_scripts);
+
+ /* unreferenced lists and dicts */
+--- 915,927 ----
+ /* autoloaded script names */
+ ga_clear_strings(&ga_loaded);
+
+! /* Script-local variables. First clear all the variables and in a second
+! * loop free the scriptvar_T, because a variable in one script might hold
+! * a reference to the whole scope of another script. */
+ for (i = 1; i <= ga_scripts.ga_len; ++i)
+ vars_clear(&SCRIPT_VARS(i));
++ for (i = 1; i <= ga_scripts.ga_len; ++i)
+ vim_free(SCRIPT_SV(i));
+ ga_clear(&ga_scripts);
+
+ /* unreferenced lists and dicts */
+*** ../vim-7.4.039/src/version.c 2013-09-25 19:13:32.000000000 +0200
+--- src/version.c 2013-09-25 20:30:06.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 40,
+ /**/
+
+--
+ A KNIGHT rides into shot and hacks him to the ground. He rides off.
+ We stay for a moment on the glade. A MIDDLE-AGED LADY in a C. & A.
+ twin-set emerges from the trees and looks in horror at the body of her
+ HUSBAND.
+MRS HISTORIAN: FRANK!
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.041 b/source/ap/vim/patches/7.4.041
new file mode 100644
index 000000000..190604e93
--- /dev/null
+++ b/source/ap/vim/patches/7.4.041
@@ -0,0 +1,61 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.041
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.041 (after 7.4.034)
+Problem: Visual selection does not remain after being copied over. (Axel
+ Bender)
+Solution: Move when VIsual_active is reset. (Christian Brabandt)
+Files: src/ops.c
+
+
+*** ../vim-7.4.040/src/ops.c 2013-09-22 15:23:38.000000000 +0200
+--- src/ops.c 2013-09-25 23:20:37.000000000 +0200
+***************
+*** 3808,3816 ****
+ FALSE /* stop after 1 paste */
+ #endif
+ );
+- #ifdef FEAT_VISUAL
+- VIsual_active = FALSE;
+- #endif
+
+ curbuf->b_op_end = curwin->w_cursor;
+ /* For "CTRL-O p" in Insert mode, put cursor after last char */
+--- 3808,3813 ----
+***************
+*** 3972,3977 ****
+--- 3969,3978 ----
+ if (regname == '=')
+ vim_free(y_array);
+
++ #ifdef FEAT_VISUAL
++ VIsual_active = FALSE;
++ #endif
++
+ /* If the cursor is past the end of the line put it at the end. */
+ adjust_cursor_eol();
+ }
+*** ../vim-7.4.040/src/version.c 2013-09-25 21:00:24.000000000 +0200
+--- src/version.c 2013-09-25 23:20:46.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 41,
+ /**/
+
+
+--
+press CTRL-ALT-DEL for more information
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.042 b/source/ap/vim/patches/7.4.042
new file mode 100644
index 000000000..648a1bfef
--- /dev/null
+++ b/source/ap/vim/patches/7.4.042
@@ -0,0 +1,71 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.042
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.042
+Problem: When using ":setlocal" for 'spell' and 'spellang' then :spelldump
+ doesn't work. (Dimitar Dimitrov)
+Solution: Copy the option variables to the new window used to show the dump.
+ (Christian Brabandt)
+Files: src/spell.c
+
+
+*** ../vim-7.4.041/src/spell.c 2013-09-25 18:54:20.000000000 +0200
+--- src/spell.c 2013-09-29 13:15:51.000000000 +0200
+***************
+*** 15569,15579 ****
+ ex_spelldump(eap)
+ exarg_T *eap;
+ {
+ if (no_spell_checking(curwin))
+ return;
+
+! /* Create a new empty buffer by splitting the window. */
+ do_cmdline_cmd((char_u *)"new");
+ if (!bufempty() || !buf_valid(curbuf))
+ return;
+
+--- 15569,15589 ----
+ ex_spelldump(eap)
+ exarg_T *eap;
+ {
++ char_u *spl;
++ long dummy;
++
+ if (no_spell_checking(curwin))
+ return;
++ get_option_value((char_u*)"spl", &dummy, &spl, OPT_LOCAL);
+
+! /* Create a new empty buffer in a new window. */
+ do_cmdline_cmd((char_u *)"new");
++
++ /* enable spelling locally in the new window */
++ set_option_value((char_u*)"spell", TRUE, (char_u*)"", OPT_LOCAL);
++ set_option_value((char_u*)"spl", dummy, spl, OPT_LOCAL);
++ vim_free(spl);
++
+ if (!bufempty() || !buf_valid(curbuf))
+ return;
+
+*** ../vim-7.4.041/src/version.c 2013-09-25 23:24:54.000000000 +0200
+--- src/version.c 2013-09-29 13:15:17.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 42,
+ /**/
+
+--
+Experience is what you get when you don't get what you want.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.043 b/source/ap/vim/patches/7.4.043
new file mode 100644
index 000000000..0c3d852ca
--- /dev/null
+++ b/source/ap/vim/patches/7.4.043
@@ -0,0 +1,89 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.043
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.043
+Problem: VMS can't handle long function names.
+Solution: Shorten may_req_ambiguous_character_width. (Samuel Ferencik)
+Files: src/main.c, src/term.c, src/proto/term.pro
+
+
+*** ../vim-7.4.042/src/main.c 2013-08-22 14:14:23.000000000 +0200
+--- src/main.c 2013-09-29 16:23:49.000000000 +0200
+***************
+*** 812,818 ****
+ starttermcap(); /* start termcap if not done by wait_return() */
+ TIME_MSG("start termcap");
+ #if defined(FEAT_TERMRESPONSE) && defined(FEAT_MBYTE)
+! may_req_ambiguous_character_width();
+ #endif
+
+ #ifdef FEAT_MOUSE
+--- 812,818 ----
+ starttermcap(); /* start termcap if not done by wait_return() */
+ TIME_MSG("start termcap");
+ #if defined(FEAT_TERMRESPONSE) && defined(FEAT_MBYTE)
+! may_req_ambiguous_char_width();
+ #endif
+
+ #ifdef FEAT_MOUSE
+*** ../vim-7.4.042/src/term.c 2013-07-04 22:29:28.000000000 +0200
+--- src/term.c 2013-09-29 16:27:12.000000000 +0200
+***************
+*** 3356,3362 ****
+ * it must be called immediately after entering termcap mode.
+ */
+ void
+! may_req_ambiguous_character_width()
+ {
+ if (u7_status == U7_GET
+ && cur_tmode == TMODE_RAW
+--- 3356,3362 ----
+ * it must be called immediately after entering termcap mode.
+ */
+ void
+! may_req_ambiguous_char_width()
+ {
+ if (u7_status == U7_GET
+ && cur_tmode == TMODE_RAW
+*** ../vim-7.4.042/src/proto/term.pro 2013-08-10 13:37:28.000000000 +0200
+--- src/proto/term.pro 2013-09-29 16:25:02.000000000 +0200
+***************
+*** 35,41 ****
+ void starttermcap __ARGS((void));
+ void stoptermcap __ARGS((void));
+ void may_req_termresponse __ARGS((void));
+! void may_req_ambiguous_character_width __ARGS((void));
+ int swapping_screen __ARGS((void));
+ void setmouse __ARGS((void));
+ int mouse_has __ARGS((int c));
+--- 35,41 ----
+ void starttermcap __ARGS((void));
+ void stoptermcap __ARGS((void));
+ void may_req_termresponse __ARGS((void));
+! void may_req_ambiguous_char_width __ARGS((void));
+ int swapping_screen __ARGS((void));
+ void setmouse __ARGS((void));
+ int mouse_has __ARGS((int c));
+*** ../vim-7.4.042/src/version.c 2013-09-29 13:38:25.000000000 +0200
+--- src/version.c 2013-09-29 16:25:16.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 43,
+ /**/
+
+--
+Back up my hard drive? I can't find the reverse switch!
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.044 b/source/ap/vim/patches/7.4.044
new file mode 100644
index 000000000..3d8832dfa
--- /dev/null
+++ b/source/ap/vim/patches/7.4.044
@@ -0,0 +1,83 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.044
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.044 (after 7.4.039)
+Problem: Can't build with old MSVC. (Wang Shoulin)
+Solution: Define OPEN_OH_ARGTYPE instead of using intptr_t directly.
+Files: src/os_mswin.c
+
+
+*** ../vim-7.4.043/src/os_mswin.c 2013-09-25 19:13:32.000000000 +0200
+--- src/os_mswin.c 2013-09-26 20:37:38.000000000 +0200
+***************
+*** 498,503 ****
+--- 498,509 ----
+ }
+ }
+
++ #if (_MSC_VER >= 1300)
++ # define OPEN_OH_ARGTYPE intptr_t
++ #else
++ # define OPEN_OH_ARGTYPE long
++ #endif
++
+ static int
+ stat_symlink_aware(const char *name, struct stat *stp)
+ {
+***************
+*** 533,539 ****
+ {
+ int fd, n;
+
+! fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
+ n = _fstat(fd, (struct _stat*)stp);
+ _close(fd);
+ return n;
+--- 539,545 ----
+ {
+ int fd, n;
+
+! fd = _open_osfhandle((OPEN_OH_ARGTYPE)h, _O_RDONLY);
+ n = _fstat(fd, (struct _stat*)stp);
+ _close(fd);
+ return n;
+***************
+*** 580,586 ****
+ {
+ int fd;
+
+! fd = _open_osfhandle((intptr_t)h, _O_RDONLY);
+ n = _fstat(fd, stp);
+ _close(fd);
+ return n;
+--- 586,592 ----
+ {
+ int fd;
+
+! fd = _open_osfhandle((OPEN_OH_ARGTYPE)h, _O_RDONLY);
+ n = _fstat(fd, stp);
+ _close(fd);
+ return n;
+*** ../vim-7.4.043/src/version.c 2013-09-29 16:27:42.000000000 +0200
+--- src/version.c 2013-09-29 18:27:58.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 44,
+ /**/
+
+--
+I'd like to meet the man who invented sex and see what he's working on now.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.045 b/source/ap/vim/patches/7.4.045
new file mode 100644
index 000000000..0e82735ac
--- /dev/null
+++ b/source/ap/vim/patches/7.4.045
@@ -0,0 +1,111 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.045
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.045
+Problem: substitute() does not work properly when the pattern starts with
+ "\ze".
+Solution: Detect an empty match. (Christian Brabandt)
+Files: src/eval.c, src/testdir/test80.in, src/testdir/test80.ok
+
+
+*** ../vim-7.4.044/src/eval.c 2013-09-25 21:00:24.000000000 +0200
+--- src/eval.c 2013-09-29 21:03:22.000000000 +0200
+***************
+*** 24301,24306 ****
+--- 24301,24307 ----
+ garray_T ga;
+ char_u *ret;
+ char_u *save_cpo;
++ int zero_width;
+
+ /* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */
+ save_cpo = p_cpo;
+***************
+*** 24339,24358 ****
+ (void)vim_regsub(&regmatch, sub, (char_u *)ga.ga_data
+ + ga.ga_len + i, TRUE, TRUE, FALSE);
+ ga.ga_len += i + sublen - 1;
+! /* avoid getting stuck on a match with an empty string */
+! if (tail == regmatch.endp[0])
+ {
+! if (*tail == NUL)
+! break;
+ *((char_u *)ga.ga_data + ga.ga_len) = *tail++;
+ ++ga.ga_len;
+ }
+- else
+- {
+- tail = regmatch.endp[0];
+- if (*tail == NUL)
+- break;
+- }
+ if (!do_all)
+ break;
+ }
+--- 24340,24356 ----
+ (void)vim_regsub(&regmatch, sub, (char_u *)ga.ga_data
+ + ga.ga_len + i, TRUE, TRUE, FALSE);
+ ga.ga_len += i + sublen - 1;
+! zero_width = (tail == regmatch.endp[0]
+! || regmatch.startp[0] == regmatch.endp[0]);
+! tail = regmatch.endp[0];
+! if (*tail == NUL)
+! break;
+! if (zero_width)
+ {
+! /* avoid getting stuck on a match with an empty string */
+ *((char_u *)ga.ga_data + ga.ga_len) = *tail++;
+ ++ga.ga_len;
+ }
+ if (!do_all)
+ break;
+ }
+*** ../vim-7.4.044/src/testdir/test80.in 2013-03-19 17:30:51.000000000 +0100
+--- src/testdir/test80.in 2013-09-29 20:59:00.000000000 +0200
+***************
+*** 142,147 ****
+--- 142,149 ----
+ :$put =\"\n\nTEST_7:\"
+ :$put =substitute('A A', 'A.', '\=submatch(0)', '')
+ :$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')
++ :$put =substitute('-bb', '\zeb', 'a', 'g')
++ :$put =substitute('-bb', '\ze', 'c', 'g')
+ /^TEST_8
+ ENDTEST
+
+*** ../vim-7.4.044/src/testdir/test80.ok 2013-03-19 17:31:45.000000000 +0100
+--- src/testdir/test80.ok 2013-09-29 20:59:35.000000000 +0200
+***************
+*** 103,108 ****
+--- 103,110 ----
+ A A
+ B
+ B
++ -abab
++ c-cbcbc
+
+
+ TEST_8:
+*** ../vim-7.4.044/src/version.c 2013-09-29 19:05:17.000000000 +0200
+--- src/version.c 2013-09-29 21:04:50.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 45,
+ /**/
+
+--
+Just think of all the things we haven't thought of yet.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.046 b/source/ap/vim/patches/7.4.046
new file mode 100644
index 000000000..5bb426582
--- /dev/null
+++ b/source/ap/vim/patches/7.4.046
@@ -0,0 +1,80 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.046
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.046
+Problem: Can't use Tcl 8.6.
+Solution: Change how Tcl_FindExecutable is called. (Jan Nijtmans)
+Files: src/if_tcl.c
+
+
+*** ../vim-7.4.045/src/if_tcl.c 2013-08-02 19:31:15.000000000 +0200
+--- src/if_tcl.c 2013-10-02 13:44:48.000000000 +0200
+***************
+*** 165,170 ****
+--- 165,171 ----
+ */
+ static HANDLE hTclLib = NULL;
+ Tcl_Interp* (*dll_Tcl_CreateInterp)();
++ void (*dll_Tcl_FindExecutable)(const void *);
+
+ /*
+ * Table of name to function pointer of tcl.
+***************
+*** 175,180 ****
+--- 176,182 ----
+ TCL_PROC* ptr;
+ } tcl_funcname_table[] = {
+ {"Tcl_CreateInterp", (TCL_PROC*)&dll_Tcl_CreateInterp},
++ {"Tcl_FindExecutable", (TCL_PROC*)&dll_Tcl_FindExecutable},
+ {NULL, NULL},
+ };
+
+***************
+*** 248,258 ****
+ {
+ Tcl_Interp *interp;
+
+ if (interp = dll_Tcl_CreateInterp())
+ {
+ if (Tcl_InitStubs(interp, DYNAMIC_TCL_VER, 0))
+ {
+- Tcl_FindExecutable(find_executable_arg);
+ Tcl_DeleteInterp(interp);
+ stubs_initialized = TRUE;
+ }
+--- 250,261 ----
+ {
+ Tcl_Interp *interp;
+
++ dll_Tcl_FindExecutable(find_executable_arg);
++
+ if (interp = dll_Tcl_CreateInterp())
+ {
+ if (Tcl_InitStubs(interp, DYNAMIC_TCL_VER, 0))
+ {
+ Tcl_DeleteInterp(interp);
+ stubs_initialized = TRUE;
+ }
+*** ../vim-7.4.045/src/version.c 2013-09-29 21:11:00.000000000 +0200
+--- src/version.c 2013-10-02 13:46:47.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 46,
+ /**/
+
+--
+Not too long ago, a program was something you watched on TV...
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.047 b/source/ap/vim/patches/7.4.047
new file mode 100644
index 000000000..2871340b7
--- /dev/null
+++ b/source/ap/vim/patches/7.4.047
@@ -0,0 +1,56 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.047
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.047
+Problem: When using input() in a function invoked by a mapping it doesn't
+ work.
+Solution: Temporarily reset ex_normal_busy. (Yasuhiro Matsumoto)
+Files: src/eval.c
+
+
+*** ../vim-7.4.046/src/eval.c 2013-09-29 21:11:00.000000000 +0200
+--- src/eval.c 2013-10-02 16:40:52.000000000 +0200
+***************
+*** 13054,13062 ****
+--- 13054,13071 ----
+ }
+
+ if (defstr != NULL)
++ {
++ # ifdef FEAT_EX_EXTRA
++ int save_ex_normal_busy = ex_normal_busy;
++ ex_normal_busy = 0;
++ # endif
+ rettv->vval.v_string =
+ getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr,
+ xp_type, xp_arg);
++ # ifdef FEAT_EX_EXTRA
++ ex_normal_busy = save_ex_normal_busy;
++ # endif
++ }
+ if (inputdialog && rettv->vval.v_string == NULL
+ && argvars[1].v_type != VAR_UNKNOWN
+ && argvars[2].v_type != VAR_UNKNOWN)
+*** ../vim-7.4.046/src/version.c 2013-10-02 14:25:39.000000000 +0200
+--- src/version.c 2013-10-02 16:45:45.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 47,
+ /**/
+
+--
+Not too long ago, a keyboard was something to make music with...
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.048 b/source/ap/vim/patches/7.4.048
new file mode 100644
index 000000000..6e911a0bf
--- /dev/null
+++ b/source/ap/vim/patches/7.4.048
@@ -0,0 +1,96 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.048
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.048
+Problem: Recent clang version complains about -fno-strength-reduce.
+Solution: Add a configure check for the clang version. (Kazunobu Kuriyama)
+Files: src/configure.in, src/auto/configure
+
+
+*** ../vim-7.4.047/src/configure.in 2013-08-04 20:00:50.000000000 +0200
+--- src/configure.in 2013-10-02 17:56:25.000000000 +0200
+***************
+*** 62,67 ****
+--- 62,90 ----
+ fi
+ fi
+
++ dnl clang-500.2.75 or around has abandoned -f[no-]strength-reduce and issues a
++ dnl warning when that flag is passed to. Accordingly, adjust CFLAGS based on
++ dnl the version number of the clang in use.
++ dnl Note that this does not work to get the version of clang 3.1 or 3.2.
++ AC_MSG_CHECKING(for recent clang version)
++ CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed -n -e 's/^.*clang.*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\).*$/\1/p'`
++ if test x"$CLANG_VERSION_STRING" != x"" ; then
++ CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*/\1/p'`
++ CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*/\1/p'`
++ CLANG_REVISION=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)/\1/p'`
++ CLANG_VERSION=`expr $CLANG_MAJOR '*' 1000000 '+' $CLANG_MINOR '*' 1000 '+' $CLANG_REVISION`
++ AC_MSG_RESULT($CLANG_VERSION)
++ dnl If you find the same issue with versions earlier than 500.2.75,
++ dnl change the constant 500002075 below appropriately. To get the
++ dnl integer corresponding to a version number, refer to the
++ dnl definition of CLANG_VERSION above.
++ if test "$CLANG_VERSION" -ge 500002075 ; then
++ CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'`
++ fi
++ else
++ AC_MSG_RESULT(no)
++ fi
++
+ dnl If configure thinks we are cross compiling, there might be something
+ dnl wrong with the CC or CFLAGS settings, give a useful warning message
+ if test "$cross_compiling" = yes; then
+*** ../vim-7.4.047/src/auto/configure 2013-08-04 20:01:06.000000000 +0200
+--- src/auto/configure 2013-10-02 17:56:52.000000000 +0200
+***************
+*** 3989,3994 ****
+--- 3989,4012 ----
+ fi
+ fi
+
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for recent clang version" >&5
++ $as_echo_n "checking for recent clang version... " >&6; }
++ CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed -n -e 's/^.*clang.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'`
++ if test x"$CLANG_VERSION_STRING" != x"" ; then
++ CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*/\1/p'`
++ CLANG_MINOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*/\1/p'`
++ CLANG_REVISION=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\)/\1/p'`
++ CLANG_VERSION=`expr $CLANG_MAJOR '*' 1000000 '+' $CLANG_MINOR '*' 1000 '+' $CLANG_REVISION`
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CLANG_VERSION" >&5
++ $as_echo "$CLANG_VERSION" >&6; }
++ if test "$CLANG_VERSION" -ge 500002075 ; then
++ CFLAGS=`echo "$CFLAGS" | sed -n -e 's/-fno-strength-reduce/ /p'`
++ fi
++ else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++ $as_echo "no" >&6; }
++ fi
++
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&5
+ $as_echo "cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&6; }
+*** ../vim-7.4.047/src/version.c 2013-10-02 16:46:23.000000000 +0200
+--- src/version.c 2013-10-02 17:19:31.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 48,
+ /**/
+
+--
+I have to exercise early in the morning before my brain
+figures out what I'm doing.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.049 b/source/ap/vim/patches/7.4.049
new file mode 100644
index 000000000..c1a23b989
--- /dev/null
+++ b/source/ap/vim/patches/7.4.049
@@ -0,0 +1,67 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.049
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.049
+Problem: In Ex mode, when line numbers are enabled the substitute prompt is
+ wrong.
+Solution: Adjust for the line number size. (Benoit Pierre)
+Files: src/ex_cmds.c
+
+
+*** ../vim-7.4.048/src/ex_cmds.c 2013-08-07 15:15:51.000000000 +0200
+--- src/ex_cmds.c 2013-10-02 18:31:24.000000000 +0200
+***************
+*** 4740,4750 ****
+ char_u *resp;
+ colnr_T sc, ec;
+
+! print_line_no_prefix(lnum, FALSE, FALSE);
+
+ getvcol(curwin, &curwin->w_cursor, &sc, NULL, NULL);
+ curwin->w_cursor.col = regmatch.endpos[0].col - 1;
+ getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec);
+ msg_start();
+ for (i = 0; i < (long)sc; ++i)
+ msg_putchar(' ');
+--- 4740,4756 ----
+ char_u *resp;
+ colnr_T sc, ec;
+
+! print_line_no_prefix(lnum, do_number, do_list);
+
+ getvcol(curwin, &curwin->w_cursor, &sc, NULL, NULL);
+ curwin->w_cursor.col = regmatch.endpos[0].col - 1;
+ getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec);
++ if (do_number || curwin->w_p_nu)
++ {
++ int numw = number_width(curwin) + 1;
++ sc += numw;
++ ec += numw;
++ }
+ msg_start();
+ for (i = 0; i < (long)sc; ++i)
+ msg_putchar(' ');
+*** ../vim-7.4.048/src/version.c 2013-10-02 18:22:58.000000000 +0200
+--- src/version.c 2013-10-02 18:33:22.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 49,
+ /**/
+
+--
+What the word 'politics' means: 'Poli' in Latin meaning 'many' and 'tics'
+meaning 'bloodsucking creatures'.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/patches/7.4.050 b/source/ap/vim/patches/7.4.050
new file mode 100644
index 000000000..afe2b044f
--- /dev/null
+++ b/source/ap/vim/patches/7.4.050
@@ -0,0 +1,90 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.050
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.050
+Problem: "gn" selects too much for the pattern "\d" when there are two
+ lines with a single digit. (Ryan Carney)
+Solution: Adjust the logic of is_one_char(). (Christian Brabandt)
+Files: src/search.c, src/testdir/test53.in, src/testdir/test53.ok
+
+
+*** ../vim-7.4.049/src/search.c 2013-08-14 17:45:25.000000000 +0200
+--- src/search.c 2013-10-02 21:49:40.000000000 +0200
+***************
+*** 4680,4687 ****
+ && regmatch.startpos[0].lnum == regmatch.endpos[0].lnum
+ && regmatch.startpos[0].col == regmatch.endpos[0].col);
+
+! if (!result && incl(&pos) == 0 && pos.col == regmatch.endpos[0].col)
+! result = TRUE;
+ }
+
+ called_emsg |= save_called_emsg;
+--- 4680,4687 ----
+ && regmatch.startpos[0].lnum == regmatch.endpos[0].lnum
+ && regmatch.startpos[0].col == regmatch.endpos[0].col);
+
+! if (!result && inc(&pos) >= 0 && pos.col == regmatch.endpos[0].col)
+! result = TRUE;
+ }
+
+ called_emsg |= save_called_emsg;
+*** ../vim-7.4.049/src/testdir/test53.in 2013-06-30 14:31:56.000000000 +0200
+--- src/testdir/test53.in 2013-10-02 21:47:10.000000000 +0200
+***************
+*** 46,51 ****
+--- 46,54 ----
+ :set selection=exclusive
+ $cgNmongoose/i
+ cgnj
++ :" Make sure there is no other match y uppercase.
++ /x59
++ gggnd
+ :/^start:/,/^end:/wq! test.out
+ ENDTEST
+
+***************
+*** 75,78 ****
+--- 78,84 ----
+ uniquepattern uniquepattern
+ my very excellent mother just served us nachos
+ for (i=0; i<=10; i++)
++ Y
++ text
++ Y
+ end:
+*** ../vim-7.4.049/src/testdir/test53.ok 2013-06-30 14:31:56.000000000 +0200
+--- src/testdir/test53.ok 2013-10-02 21:47:34.000000000 +0200
+***************
+*** 27,30 ****
+--- 27,33 ----
+ uniquepattern
+ my very excellent mongoose just served us nachos
+ for (j=0; i<=10; i++)
++
++ text
++ Y
+ end:
+*** ../vim-7.4.049/src/version.c 2013-10-02 18:43:00.000000000 +0200
+--- src/version.c 2013-10-02 21:51:34.000000000 +0200
+***************
+*** 740,741 ****
+--- 740,743 ----
+ { /* Add new patch number below this line */
++ /**/
++ 50,
+ /**/
+
+--
+Why doesn't Tarzan have a beard?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
diff --git a/source/ap/vim/vim-gvim.SlackBuild b/source/ap/vim/vim-gvim.SlackBuild
index f5a5185ad..6183d4e68 100755
--- a/source/ap/vim/vim-gvim.SlackBuild
+++ b/source/ap/vim/vim-gvim.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,9 +21,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VIMVER=7.3
+VIMVER=7.4
# This is the directory in the VIM source archive to cd into.
-DIRVER=73
+DIRVER=74
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -59,10 +59,13 @@ mkdir -p $TMP $PKG
# Determine VIM patchlevel:
if [ -d $CWD/patches ] ; then
cd $CWD/patches
- PATCHLEVEL=$(/bin/ls 2> /dev/null | tail -1 | cut -f 3 -d . )
+ PATCHLEVEL=$(/bin/ls ?.?.????.gz 2> /dev/null | tail -1 | cut -f 3 -d . )
+ if [ "$PATCHLEVEL" = "" ]; then
+ PATCHLEVEL=$(/bin/ls ?.?.???.gz 2> /dev/null | tail -1 | cut -f 3 -d . )
if [ "$PATCHLEVEL" = "" ]; then
PATCHLEVEL=000
fi
+ fi
cd $CWD
fi
@@ -112,8 +115,10 @@ find . \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-for file in $CWD/patches/* ; do
- ( zcat $file 2> /dev/null | patch -p0 --verbose --batch )
+for file in $CWD/patches/?.?.???.gz $CWD/patches/?.?.????.gz ; do
+ if [ -f $file ]; then
+ zcat $file | patch -p0 --verbose || exit 1
+ fi
done
config_vim --with-x --enable-gui=gtk2
diff --git a/source/ap/vim/vim-runtime-syntax-20110328.diff b/source/ap/vim/vim-runtime-syntax-20110328.diff
deleted file mode 100644
index fa196e314..000000000
--- a/source/ap/vim/vim-runtime-syntax-20110328.diff
+++ /dev/null
@@ -1,2487 +0,0 @@
-diff -u -r --new-file runtime/syntax.orig/2html.vim runtime/syntax/2html.vim
---- runtime/syntax.orig/2html.vim 2010-08-12 14:57:26.000000000 -0500
-+++ runtime/syntax/2html.vim 2011-01-08 08:36:35.000000000 -0600
-@@ -1,6 +1,6 @@
- " Vim syntax support file
- " Maintainer: Ben Fritz <fritzophrenic@gmail.com>
--" Last Change: 2010 Aug 12
-+" Last Change: 2011 Jan 06
- "
- " Additional contributors:
- "
-@@ -124,7 +124,18 @@
- let l:style_name = a:style_name . (a:diff_style_name == '' ? '' : ' ') . a:diff_style_name
-
- " Replace the reserved html characters
-- let formatted = substitute(substitute(substitute(substitute(substitute(formatted, '&', '\&amp;', 'g'), '<', '\&lt;', 'g'), '>', '\&gt;', 'g'), '"', '\&quot;', 'g'), "\x0c", '<hr class="PAGE-BREAK">', 'g')
-+ let formatted = substitute(formatted, '&', '\&amp;', 'g')
-+ let formatted = substitute(formatted, '<', '\&lt;', 'g')
-+ let formatted = substitute(formatted, '>', '\&gt;', 'g')
-+ let formatted = substitute(formatted, '"', '\&quot;', 'g')
-+ " TODO: Use &apos; for "'"?
-+
-+ " Replace a "form feed" character with HTML to do a page break
-+ let formatted = substitute(formatted, "\x0c", '<hr class="PAGE-BREAK">', 'g')
-+
-+ " Mangle modelines so Vim doesn't try to use HTML text as a modeline if
-+ " editing this file in the future
-+ let formatted = substitute(formatted, '\v(\s+%(vim?|ex)):', '\1\&#0058;', 'g')
-
- " Replace double spaces, leading spaces, and trailing spaces if needed
- if ' ' != s:HtmlSpace
-@@ -265,6 +276,19 @@
- let s:old_magic = &magic
- set magic
-
-+" set the fileencoding to match the charset we'll be using
-+let &l:fileencoding=s:settings.vim_encoding
-+
-+" According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte
-+" order mark is highly recommend on the web when using multibyte encodings. But,
-+" it is not a good idea to include it on UTF-8 files. Otherwise, let Vim
-+" determine when it is actually inserted.
-+if s:settings.vim_encoding == 'utf-8'
-+ setlocal nobomb
-+else
-+ setlocal bomb
-+endif
-+
- let s:lines = []
-
- if s:settings.use_xhtml
-@@ -545,9 +569,6 @@
- " level, so subtract 2 from index of first non-dash after the dashes
- " in order to get the fold level of the current fold
- let s:level = match(foldtextresult(s:lnum), '+-*\zs[^-]') - 2
-- if s:level+1 > s:foldcolumn
-- let s:foldcolumn = s:level+1
-- endif
- " store fold info for later use
- let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': "closed-fold"}
- call add(s:allfolds, s:newfold)
-@@ -577,9 +598,6 @@
- " level, so subtract 2 from index of first non-dash after the dashes
- " in order to get the fold level of the current fold
- let s:level = match(foldtextresult(s:lnum), '+-*\zs[^-]') - 2
-- if s:level+1 > s:foldcolumn
-- let s:foldcolumn = s:level+1
-- endif
- let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': "closed-fold"}
- " only add the fold if we don't already have it
- if empty(s:allfolds) || index(s:allfolds, s:newfold) == -1
-@@ -609,6 +627,48 @@
-
- " close all folds again so we can get the fold text as we go
- silent! %foldclose!
-+
-+ for afold in s:allfolds
-+ let removed = 0
-+ if exists("g:html_start_line") && exists("g:html_end_line")
-+ if afold.firstline < g:html_start_line
-+ if afold.lastline < g:html_end_line && afold.lastline > g:html_start_line
-+ " if a fold starts before the range to convert but stops within the
-+ " range, we need to include it. Make it start on the first converted
-+ " line.
-+ let afold.firstline = g:html_start_line
-+ else
-+ " if the fold lies outside the range or the start and stop enclose
-+ " the entire range, don't bother parsing it
-+ call remove(s:allfolds, index(s:allfolds, afold))
-+ let removed = 1
-+ endif
-+ elseif afold.firstline > g:html_end_line
-+ " If the entire fold lies outside the range we need to remove it.
-+ call remove(s:allfolds, index(s:allfolds, afold))
-+ let removed = 1
-+ endif
-+ elseif exists("g:html_start_line")
-+ if afold.firstline < g:html_start_line
-+ " if there is no last line, but there is a first line, the end of the
-+ " fold will always lie within the region of interest, so keep it
-+ let afold.firstline = g:html_start_line
-+ endif
-+ elseif exists("g:html_end_line")
-+ " if there is no first line we default to the first line in the buffer so
-+ " the fold start will always be included if the fold itself is included.
-+ " If however the entire fold lies outside the range we need to remove it.
-+ if afold.firstline > g:html_end_line
-+ call remove(s:allfolds, index(s:allfolds, afold))
-+ let removed = 1
-+ endif
-+ endif
-+ if !removed
-+ if afold.level+1 > s:foldcolumn
-+ let s:foldcolumn = afold.level+1
-+ endif
-+ endif
-+ endfor
- endif
-
- " Now loop over all lines in the original text to convert to html.
-@@ -656,6 +716,13 @@
-
- let s:foldId = 0
-
-+if !s:settings.expand_tabs
-+ " If keeping tabs, add them to printable characters so we keep them when
-+ " formatting text (strtrans() doesn't replace printable chars)
-+ let s:old_isprint = &isprint
-+ setlocal isprint+=9
-+endif
-+
- while s:lnum <= s:end
-
- " If there are filler lines for diff mode, show these above the line.
-@@ -734,7 +801,7 @@
- call remove(s:foldstack, 0)
- endwhile
-
-- " Now insert an opening any new folds that start on this line
-+ " Now insert an opening for any new folds that start on this line
- let s:firstfold = 1
- while !empty(s:allfolds) && get(s:allfolds,0).firstline == s:lnum
- let s:foldId = s:foldId + 1
-@@ -871,30 +938,32 @@
- endif
-
- if s:settings.ignore_conceal || !s:concealinfo[0]
-- " Expand tabs
-+ " Expand tabs if needed
- let s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol)
-- let s:offset = 0
-- let s:idx = stridx(s:expandedtab, "\t")
-- while s:idx >= 0
-- if has("multi_byte_encoding")
-- if s:startcol + s:idx == 1
-- let s:i = &ts
-- else
-- if s:idx == 0
-- let s:prevc = matchstr(s:line, '.\%' . (s:startcol + s:idx + s:offset) . 'c')
-+ if s:settings.expand_tabs
-+ let s:offset = 0
-+ let s:idx = stridx(s:expandedtab, "\t")
-+ while s:idx >= 0
-+ if has("multi_byte_encoding")
-+ if s:startcol + s:idx == 1
-+ let s:i = &ts
- else
-- let s:prevc = matchstr(s:expandedtab, '.\%' . (s:idx + 1) . 'c')
-+ if s:idx == 0
-+ let s:prevc = matchstr(s:line, '.\%' . (s:startcol + s:idx + s:offset) . 'c')
-+ else
-+ let s:prevc = matchstr(s:expandedtab, '.\%' . (s:idx + 1) . 'c')
-+ endif
-+ let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])
-+ let s:i = &ts - (s:vcol % &ts)
- endif
-- let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])
-- let s:i = &ts - (s:vcol % &ts)
-+ let s:offset -= s:i - 1
-+ else
-+ let s:i = &ts - ((s:idx + s:startcol - 1) % &ts)
- endif
-- let s:offset -= s:i - 1
-- else
-- let s:i = &ts - ((s:idx + s:startcol - 1) % &ts)
-- endif
-- let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', s:i), '')
-- let s:idx = stridx(s:expandedtab, "\t")
-- endwhile
-+ let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', s:i), '')
-+ let s:idx = stridx(s:expandedtab, "\t")
-+ endwhile
-+ end
-
- " get the highlight group name to use
- let s:id = synIDtrans(s:id)
-@@ -1060,7 +1129,7 @@
- " Cleanup
- %s:\s\+$::e
-
--" Restore old settings
-+" Restore old settings (new window first)
- let &l:foldenable = s:old_fen
- let &l:foldmethod = s:old_fdm
- let &report = s:old_report
-@@ -1070,21 +1139,31 @@
- let &magic = s:old_magic
- let @/ = s:old_search
- let &more = s:old_more
-+
-+" switch to original window to restore those settings
- exe s:orgwin . "wincmd w"
-+
-+if !s:settings.expand_tabs
-+ let &l:isprint = s:old_isprint
-+endif
-+let &l:stl = s:origwin_stl
- let &l:et = s:old_et
- let &l:scrollbind = s:old_bind
-+
-+" and back to the new window again to end there
- exe s:newwin . "wincmd w"
-+
-+let &l:stl = s:newwin_stl
- exec 'resize' s:old_winheight
- let &l:winfixheight = s:old_winfixheight
-
--call setwinvar(s:orgwin,'&stl', s:origwin_stl)
--call setwinvar(s:newwin,'&stl', s:newwin_stl)
- let &ls=s:ls
-
- " Save a little bit of memory (worth doing?)
- unlet s:htmlfont
- unlet s:old_et s:old_paste s:old_icon s:old_report s:old_title s:old_search
- unlet s:old_magic s:old_more s:old_fdm s:old_fen s:old_winheight
-+unlet! s:old_isprint
- unlet s:whatterm s:idlist s:lnum s:end s:margin s:fgc s:bgc s:old_winfixheight
- unlet! s:col s:id s:attr s:len s:line s:new s:expandedtab s:concealinfo
- unlet! s:orgwin s:newwin s:orgbufnr s:idx s:i s:offset s:ls s:origwin_stl
-diff -u -r --new-file runtime/syntax.orig/d.vim runtime/syntax/d.vim
---- runtime/syntax.orig/d.vim 2010-05-15 06:03:56.000000000 -0500
-+++ runtime/syntax/d.vim 2010-09-22 15:54:05.000000000 -0500
-@@ -1,16 +1,19 @@
--" Vim syntax file for the D programming language (version 1.053 and 2.039).
-+" Vim syntax file for the D programming language (version 1.053 and 2.047).
- "
--" Language: D
--" Maintainer: Jason Mills<jasonmills@nf.sympatico.ca>
--" Last Change: 2010 Jan 07
--" Version: 0.18
-+" Language: D
-+" Maintainer: Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
-+" Last Change: 2010 Sep 21
-+" Version: 0.22
- "
- " Contributors:
-+" - Jason Mills <jasonmills@nf.sympatico.ca>: original Maintainer
- " - Kirk McDonald: version 0.17 updates, with minor modifications
- " (http://paste.dprogramming.com/dplmb7qx?view=hidelines)
--" - Jesse K. Phillips: patch for some keywords and attributes (annotations), with modifications
- " - Tim Keating: patch to fix a bug in highlighting the `\` literal
- " - Frank Benoit: Fixed a bug that caused some identifiers and numbers to highlight as octal number errors.
-+" - Shougo Matsushita <Shougo.Matsu@gmail.com>: updates for latest 2.047 highlighting
-+" - Ellery Newcomer: Fixed some highlighting bugs.
-+" - Steven N. Oliver: #! highlighting
- "
- " Please email me with bugs, comments, and suggestions.
- "
-@@ -47,52 +50,89 @@
-
- " Keyword definitions
- "
--syn keyword dExternal import package module extern
--syn keyword dConditional if else switch
--syn keyword dBranch goto break continue
--syn keyword dRepeat while for do foreach foreach_reverse
--syn keyword dBoolean true false
--syn keyword dConstant null
--syn keyword dConstant __FILE__ __LINE__ __EOF__ __VERSION__
--syn keyword dConstant __DATE__ __TIME__ __TIMESTAMP__ __VENDOR__
--
--syn keyword dTypedef alias typedef
--syn keyword dStructure template interface class struct union
--syn keyword dEnum enum
--syn keyword dOperator new delete typeof typeid cast align is
--syn keyword dOperator this super
-+syn keyword dExternal import package module extern
-+syn keyword dConditional if else switch
-+syn keyword dBranch goto break continue
-+syn keyword dRepeat while for do foreach foreach_reverse
-+syn keyword dBoolean true false
-+syn keyword dConstant null
-+syn keyword dConstant __FILE__ __LINE__ __EOF__ __VERSION__
-+syn keyword dConstant __DATE__ __TIME__ __TIMESTAMP__ __VENDOR__
-+syn keyword dTypedef alias typedef
-+syn keyword dStructure template interface class struct union
-+syn keyword dEnum enum
-+syn keyword dOperator new delete typeof typeid cast align is
-+syn keyword dOperator this super
- if exists("d_hl_operator_overload")
-- syn keyword dOpOverload opNeg opCom opPostInc opPostDec opCast opAdd opSub opSub_r
-- syn keyword dOpOverload opMul opDiv opDiv_r opMod opMod_r opAnd opOr opXor
-- syn keyword dOpOverload opShl opShl_r opShr opShr_r opUShr opUShr_r opCat
-- syn keyword dOpOverload opCat_r opEquals opEquals opCmp
-- syn keyword dOpOverload opAssign opAddAssign opSubAssign opMulAssign opDivAssign
-- syn keyword dOpOverload opModAssign opAndAssign opOrAssign opXorAssign
-- syn keyword dOpOverload opShlAssign opShrAssign opUShrAssign opCatAssign
-- syn keyword dOpOverload opIndex opIndexAssign opCall opSlice opSliceAssign opPos
-- syn keyword dOpOverload opAdd_r opMul_r opAnd_r opOr_r opXor_r opIn opIn_r
-- syn keyword dOpOverload opPow opDispatch opStar opDot opApply opApplyReverse
-+ syn keyword dOpOverload opNeg opCom opPostInc opPostDec opCast opAdd
-+ syn keyword dOpOverload opSub opSub_r opMul opDiv opDiv_r opMod
-+ syn keyword dOpOverload opMod_r opAnd opOr opXor opShl opShl_r opShr
-+ syn keyword dOpOverload opShr_r opUShr opUShr_r opCat
-+ syn keyword dOpOverload opCat_r opEquals opEquals opCmp
-+ syn keyword dOpOverload opAssign opAddAssign opSubAssign opMulAssign
-+ syn keyword dOpOverload opDivAssign opModAssign opAndAssign
-+ syn keyword dOpOverload opOrAssign opXorAssign opShlAssign
-+ syn keyword dOpOverload opShrAssign opUShrAssign opCatAssign
-+ syn keyword dOpOverload opIndex opIndexAssign opIndexOpAssign
-+ syn keyword dOpOverload opCall opSlice opSliceAssign opSliceOpAssign
-+ syn keyword dOpOverload opPos opAdd_r opMul_r opAnd_r opOr_r opXor_r
-+ syn keyword dOpOverload opIn opIn_r opPow opDispatch opStar opDot
-+ syn keyword dOpOverload opApply opApplyReverse
-+ syn keyword dOpOverload opUnary opIndexUnary opSliceUnary
-+ syn keyword dOpOverload opBinary opBinaryRight
- endif
--syn keyword dType ushort int uint long ulong float
--syn keyword dType void byte ubyte double bit char wchar ucent cent
--syn keyword dType short bool dchar string wstring dstring
--syn keyword dType real ireal ifloat idouble creal cfloat cdouble
--syn keyword dDebug deprecated unittest
--syn keyword dExceptions throw try catch finally
--syn keyword dScopeDecl public protected private export
--syn keyword dStatement version debug return with
--syn keyword dStatement function delegate __traits asm mixin macro
--syn keyword dStorageClass in out inout ref lazy scope body
--syn keyword dStorageClass pure nothrow
--syn keyword dStorageClass auto static override final abstract volatile __gshared __thread
--syn keyword dStorageClass synchronized immutable shared const invariant lazy
--syn keyword dPragma pragma
-+
-+syn keyword dType void ushort int uint long ulong float
-+syn keyword dType byte ubyte double bit char wchar ucent cent
-+syn keyword dType short bool dchar wstring dstring
-+syn keyword dType real ireal ifloat idouble
-+syn keyword dType creal cfloat cdouble
-+syn keyword dDebug deprecated unittest invariant
-+syn keyword dExceptions throw try catch finally
-+syn keyword dScopeDecl public protected private export
-+syn keyword dStatement debug return with
-+syn keyword dStatement function delegate __traits mixin macro
-+syn keyword dStorageClass in out inout ref lazy body
-+syn keyword dStorageClass pure nothrow
-+syn keyword dStorageClass auto static override final abstract volatile
-+syn keyword dStorageClass __gshared __thread
-+syn keyword dStorageClass synchronized shared immutable const lazy
-+syn keyword dPragma pragma
-+syn keyword dIdentifier _arguments _argptr __vptr __monitor _ctor _dtor
-+syn keyword dScopeIdentifier contained exit success failure
-+syn keyword dAttribute contained safe trusted system
-+syn keyword dAttribute contained property disable
-+syn keyword dVersionIdentifier contained DigitalMars GNU LDC LLVM
-+syn keyword dVersionIdentifier contained X86 X86_64 Windows Win32 Win64
-+syn keyword dVersionIdentifier contained linux Posix OSX FreeBSD
-+syn keyword dVersionIdentifier contained LittleEndian BigEndian D_Coverage
-+syn keyword dVersionIdentifier contained D_Ddoc D_InlineAsm_X86
-+syn keyword dVersionIdentifier contained D_InlineAsm_X86_64 D_LP64 D_PIC
-+syn keyword dVersionIdentifier contained unittest D_Version2 none all
-+
-+" Highlight the sharpbang
-+syn match dSharpBang "\%^#!.*" display
-
- " Attributes/annotations
--syn match dAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>"
-+syn match dAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>" contains=dAttribute
-+
-+" Version Identifiers
-+syn match dVersion "[^.]version" nextgroup=dVersionInside
-+syn match dVersion "^version" nextgroup=dVersionInside
-+syn match dVersionInside "([_a-zA-Z][_a-zA-Z0-9]*\>" transparent contained contains=dVersionIdentifier
-+
-+" Scope StorageClass
-+syn match dStorageClass "scope"
-+
-+" Scope Identifiers
-+syn match dScope "scope\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+5 contains=dScopeIdentifier
-+
-+" String is a statement and a module name.
-+syn match dType "^string"
-+syn match dType "[^.]\s*\<string\>"ms=s+1
-
- " Assert is a statement and a module name.
--syn match dAssert "^assert\>"
-+syn match dAssert "^assert"
- syn match dAssert "[^.]\s*\<assert\>"ms=s+1
-
- " dTokens is used by the token string highlighting
-@@ -101,26 +141,18 @@
- syn cluster dTokens add=dType,dDebug,dExceptions,dScopeDecl,dStatement
- syn cluster dTokens add=dStorageClass,dPragma,dAssert,dAnnotation
-
--" Marks contents of the asm statment body as special
--"
--" TODO
--"syn match dAsmStatement "\<asm\>"
--"syn region dAsmBody start="asm[\n]*\s*{"hs=e+1 end="}"he=e-1 contains=dAsmStatement
--"
--"hi def link dAsmBody dUnicode
--"hi def link dAsmStatement dStatement
-
- " Labels
- "
- " We contain dScopeDecl so public: private: etc. are not highlighted like labels
- syn match dUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=dLabel,dScopeDecl,dEnum
--syn keyword dLabel case default
-+syn keyword dLabel case default
-
- syn cluster dTokens add=dUserLabel,dLabel
-
- " Comments
- "
--syn keyword dTodo contained TODO FIXME TEMP REFACTOR REVIEW HACK BUG XXX
-+syn keyword dTodo contained TODO FIXME TEMP REFACTOR REVIEW HACK BUG XXX
- syn match dCommentStar contained "^\s*\*[^/]"me=e-1
- syn match dCommentStar contained "^\s*\*$"
- syn match dCommentPlus contained "^\s*+[^/]"me=e-1
-@@ -251,51 +283,184 @@
-
- " The default highlighting.
- "
--hi def link dBinary Number
--hi def link dDec Number
--hi def link dHex Number
--hi def link dOctal Number
--hi def link dFloat Float
--hi def link dHexFloat Float
--hi def link dDebug Debug
--hi def link dBranch Conditional
--hi def link dConditional Conditional
--hi def link dLabel Label
--hi def link dUserLabel Label
--hi def link dRepeat Repeat
--hi def link dExceptions Exception
--hi def link dAssert Statement
--hi def link dStatement Statement
--hi def link dScopeDecl dStorageClass
--hi def link dStorageClass StorageClass
--hi def link dBoolean Boolean
--hi def link dUnicode Special
--hi def link dTokenStringBrack String
--hi def link dHereString String
--hi def link dNestString String
--hi def link dDelimString String
--hi def link dRawString String
--hi def link dString String
--hi def link dHexString String
--hi def link dCharacter Character
--hi def link dEscSequence SpecialChar
--hi def link dSpecialCharError Error
--hi def link dOctalError Error
--hi def link dOperator Operator
--hi def link dOpOverload Identifier
--hi def link dConstant Constant
--hi def link dTypedef Typedef
--hi def link dEnum Structure
--hi def link dStructure Structure
--hi def link dTodo Todo
--hi def link dType Type
--hi def link dLineComment Comment
--hi def link dBlockComment Comment
--hi def link dNestedComment Comment
--hi def link dExternal Include
--hi def link dPragma PreProc
--hi def link dAnnotation PreProc
-+hi def link dBinary Number
-+hi def link dDec Number
-+hi def link dHex Number
-+hi def link dOctal Number
-+hi def link dFloat Float
-+hi def link dHexFloat Float
-+hi def link dDebug Debug
-+hi def link dBranch Conditional
-+hi def link dConditional Conditional
-+hi def link dLabel Label
-+hi def link dUserLabel Label
-+hi def link dRepeat Repeat
-+hi def link dExceptions Exception
-+hi def link dAssert Statement
-+hi def link dStatement Statement
-+hi def link dScopeDecl dStorageClass
-+hi def link dStorageClass StorageClass
-+hi def link dBoolean Boolean
-+hi def link dUnicode Special
-+hi def link dTokenStringBrack String
-+hi def link dHereString String
-+hi def link dNestString String
-+hi def link dDelimString String
-+hi def link dRawString String
-+hi def link dString String
-+hi def link dHexString String
-+hi def link dCharacter Character
-+hi def link dEscSequence SpecialChar
-+hi def link dSpecialCharError Error
-+hi def link dOctalError Error
-+hi def link dOperator Operator
-+hi def link dOpOverload Identifier
-+hi def link dConstant Constant
-+hi def link dTypedef Typedef
-+hi def link dEnum Structure
-+hi def link dStructure Structure
-+hi def link dTodo Todo
-+hi def link dType Type
-+hi def link dLineComment Comment
-+hi def link dBlockComment Comment
-+hi def link dNestedComment Comment
-+hi def link dExternal Include
-+hi def link dPragma PreProc
-+hi def link dAnnotation PreProc
-+hi def link dSharpBang PreProc
-+hi def link dAttribute StorageClass
-+hi def link dIdentifier Identifier
-+hi def link dVersionIdentifier Identifier
-+hi def link dVersion dStatement
-+hi def link dScopeIdentifier dStatement
-+hi def link dScope dStorageClass
-
- let b:current_syntax = "d"
-
--" vim: ts=8 noet
-+" Marks contents of the asm statment body as special
-+
-+syn match dAsmStatement "\<asm\>"
-+syn region dAsmBody start="asm[\n]*\s*{"hs=e+1 end="}"he=e-1 contains=dAsmStatement,dAsmOpCode
-+
-+hi def link dAsmBody dUnicode
-+hi def link dAsmStatement dStatement
-+hi def link dAsmOpCode Identifier
-+
-+syn keyword dAsmOpCode contained aaa aad aam aas adc
-+syn keyword dAsmOpCode contained add addpd addps addsd addss
-+syn keyword dAsmOpCode contained and andnpd andnps andpd andps
-+syn keyword dAsmOpCode contained arpl bound bsf bsr bswap
-+syn keyword dAsmOpCode contained bt btc btr bts call
-+syn keyword dAsmOpCode contained cbw cdq clc cld clflush
-+syn keyword dAsmOpCode contained cli clts cmc cmova cmovae
-+syn keyword dAsmOpCode contained cmovb cmovbe cmovc cmove cmovg
-+syn keyword dAsmOpCode contained cmovge cmovl cmovle cmovna cmovnae
-+syn keyword dAsmOpCode contained cmovnb cmovnbe cmovnc cmovne cmovng
-+syn keyword dAsmOpCode contained cmovnge cmovnl cmovnle cmovno cmovnp
-+syn keyword dAsmOpCode contained cmovns cmovnz cmovo cmovp cmovpe
-+syn keyword dAsmOpCode contained cmovpo cmovs cmovz cmp cmppd
-+syn keyword dAsmOpCode contained cmpps cmps cmpsb cmpsd cmpss
-+syn keyword dAsmOpCode contained cmpsw cmpxch8b cmpxchg comisd comiss
-+syn keyword dAsmOpCode contained cpuid cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi
-+syn keyword dAsmOpCode contained cvtpd2ps cvtpi2pd cvtpi2ps cvtps2dq cvtps2pd
-+syn keyword dAsmOpCode contained cvtps2pi cvtsd2si cvtsd2ss cvtsi2sd cvtsi2ss
-+syn keyword dAsmOpCode contained cvtss2sd cvtss2si cvttpd2dq cvttpd2pi cvttps2dq
-+syn keyword dAsmOpCode contained cvttps2pi cvttsd2si cvttss2si cwd cwde
-+syn keyword dAsmOpCode contained da daa das db dd
-+syn keyword dAsmOpCode contained de dec df di div
-+syn keyword dAsmOpCode contained divpd divps divsd divss dl
-+syn keyword dAsmOpCode contained dq ds dt dw emms
-+syn keyword dAsmOpCode contained enter f2xm1 fabs fadd faddp
-+syn keyword dAsmOpCode contained fbld fbstp fchs fclex fcmovb
-+syn keyword dAsmOpCode contained fcmovbe fcmove fcmovnb fcmovnbe fcmovne
-+syn keyword dAsmOpCode contained fcmovnu fcmovu fcom fcomi fcomip
-+syn keyword dAsmOpCode contained fcomp fcompp fcos fdecstp fdisi
-+syn keyword dAsmOpCode contained fdiv fdivp fdivr fdivrp feni
-+syn keyword dAsmOpCode contained ffree fiadd ficom ficomp fidiv
-+syn keyword dAsmOpCode contained fidivr fild fimul fincstp finit
-+syn keyword dAsmOpCode contained fist fistp fisub fisubr fld
-+syn keyword dAsmOpCode contained fld1 fldcw fldenv fldl2e fldl2t
-+syn keyword dAsmOpCode contained fldlg2 fldln2 fldpi fldz fmul
-+syn keyword dAsmOpCode contained fmulp fnclex fndisi fneni fninit
-+syn keyword dAsmOpCode contained fnop fnsave fnstcw fnstenv fnstsw
-+syn keyword dAsmOpCode contained fpatan fprem fprem1 fptan frndint
-+syn keyword dAsmOpCode contained frstor fsave fscale fsetpm fsin
-+syn keyword dAsmOpCode contained fsincos fsqrt fst fstcw fstenv
-+syn keyword dAsmOpCode contained fstp fstsw fsub fsubp fsubr
-+syn keyword dAsmOpCode contained fsubrp ftst fucom fucomi fucomip
-+syn keyword dAsmOpCode contained fucomp fucompp fwait fxam fxch
-+syn keyword dAsmOpCode contained fxrstor fxsave fxtract fyl2x fyl2xp1
-+syn keyword dAsmOpCode contained hlt idiv imul in inc
-+syn keyword dAsmOpCode contained ins insb insd insw int
-+syn keyword dAsmOpCode contained into invd invlpg iret iretd
-+syn keyword dAsmOpCode contained ja jae jb jbe jc
-+syn keyword dAsmOpCode contained jcxz je jecxz jg jge
-+syn keyword dAsmOpCode contained jl jle jmp jna jnae
-+syn keyword dAsmOpCode contained jnb jnbe jnc jne jng
-+syn keyword dAsmOpCode contained jnge jnl jnle jno jnp
-+syn keyword dAsmOpCode contained jns jnz jo jp jpe
-+syn keyword dAsmOpCode contained jpo js jz lahf lar
-+syn keyword dAsmOpCode contained ldmxcsr lds lea leave les
-+syn keyword dAsmOpCode contained lfence lfs lgdt lgs lidt
-+syn keyword dAsmOpCode contained lldt lmsw lock lods lodsb
-+syn keyword dAsmOpCode contained lodsd lodsw loop loope loopne
-+syn keyword dAsmOpCode contained loopnz loopz lsl lss ltr
-+syn keyword dAsmOpCode contained maskmovdqu maskmovq maxpd maxps maxsd
-+syn keyword dAsmOpCode contained maxss mfence minpd minps minsd
-+syn keyword dAsmOpCode contained minss mov movapd movaps movd
-+syn keyword dAsmOpCode contained movdq2q movdqa movdqu movhlps movhpd
-+syn keyword dAsmOpCode contained movhps movlhps movlpd movlps movmskpd
-+syn keyword dAsmOpCode contained movmskps movntdq movnti movntpd movntps
-+syn keyword dAsmOpCode contained movntq movq movq2dq movs movsb
-+syn keyword dAsmOpCode contained movsd movss movsw movsx movupd
-+syn keyword dAsmOpCode contained movups movzx mul mulpd mulps
-+syn keyword dAsmOpCode contained mulsd mulss neg nop not
-+syn keyword dAsmOpCode contained or orpd orps out outs
-+syn keyword dAsmOpCode contained outsb outsd outsw packssdw packsswb
-+syn keyword dAsmOpCode contained packuswb paddb paddd paddq paddsb
-+syn keyword dAsmOpCode contained paddsw paddusb paddusw paddw pand
-+syn keyword dAsmOpCode contained pandn pavgb pavgw pcmpeqb pcmpeqd
-+syn keyword dAsmOpCode contained pcmpeqw pcmpgtb pcmpgtd pcmpgtw pextrw
-+syn keyword dAsmOpCode contained pinsrw pmaddwd pmaxsw pmaxub pminsw
-+syn keyword dAsmOpCode contained pminub pmovmskb pmulhuw pmulhw pmullw
-+syn keyword dAsmOpCode contained pmuludq pop popa popad popf
-+syn keyword dAsmOpCode contained popfd por prefetchnta prefetcht0 prefetcht1
-+syn keyword dAsmOpCode contained prefetcht2 psadbw pshufd pshufhw pshuflw
-+syn keyword dAsmOpCode contained pshufw pslld pslldq psllq psllw
-+syn keyword dAsmOpCode contained psrad psraw psrld psrldq psrlq
-+syn keyword dAsmOpCode contained psrlw psubb psubd psubq psubsb
-+syn keyword dAsmOpCode contained psubsw psubusb psubusw psubw punpckhbw
-+syn keyword dAsmOpCode contained punpckhdq punpckhqdq punpckhwd punpcklbw punpckldq
-+syn keyword dAsmOpCode contained punpcklqdq punpcklwd push pusha pushad
-+syn keyword dAsmOpCode contained pushf pushfd pxor rcl rcpps
-+syn keyword dAsmOpCode contained rcpss rcr rdmsr rdpmc rdtsc
-+syn keyword dAsmOpCode contained rep repe repne repnz repz
-+syn keyword dAsmOpCode contained ret retf rol ror rsm
-+syn keyword dAsmOpCode contained rsqrtps rsqrtss sahf sal sar
-+syn keyword dAsmOpCode contained sbb scas scasb scasd scasw
-+syn keyword dAsmOpCode contained seta setae setb setbe setc
-+syn keyword dAsmOpCode contained sete setg setge setl setle
-+syn keyword dAsmOpCode contained setna setnae setnb setnbe setnc
-+syn keyword dAsmOpCode contained setne setng setnge setnl setnle
-+syn keyword dAsmOpCode contained setno setnp setns setnz seto
-+syn keyword dAsmOpCode contained setp setpe setpo sets setz
-+syn keyword dAsmOpCode contained sfence sgdt shl shld shr
-+syn keyword dAsmOpCode contained shrd shufpd shufps sidt sldt
-+syn keyword dAsmOpCode contained smsw sqrtpd sqrtps sqrtsd sqrtss
-+syn keyword dAsmOpCode contained stc std sti stmxcsr stos
-+syn keyword dAsmOpCode contained stosb stosd stosw str sub
-+syn keyword dAsmOpCode contained subpd subps subsd subss sysenter
-+syn keyword dAsmOpCode contained sysexit test ucomisd ucomiss ud2
-+syn keyword dAsmOpCode contained unpckhpd unpckhps unpcklpd unpcklps verr
-+syn keyword dAsmOpCode contained verw wait wbinvd wrmsr xadd
-+syn keyword dAsmOpCode contained xchg xlat xlatb xor xorpd
-+syn keyword dAsmOpCode contained xorps
-+syn keyword dAsmOpCode contained addsubpd addsubps fisttp haddpd haddps
-+syn keyword dAsmOpCode contained hsubpd hsubps lddqu monitor movddup
-+syn keyword dAsmOpCode contained movshdup movsldup mwait
-+syn keyword dAsmOpCode contained pavgusb pf2id pfacc pfadd pfcmpeq
-+syn keyword dAsmOpCode contained pfcmpge pfcmpgt pfmax pfmin pfmul
-+syn keyword dAsmOpCode contained pfnacc pfpnacc pfrcp pfrcpit1 pfrcpit2
-+syn keyword dAsmOpCode contained pfrsqit1 pfrsqrt pfsub pfsubr pi2fd
-+syn keyword dAsmOpCode contained pmulhrw pswapd
-+
-diff -u -r --new-file runtime/syntax.orig/debchangelog.vim runtime/syntax/debchangelog.vim
---- runtime/syntax.orig/debchangelog.vim 2010-05-15 06:03:56.000000000 -0500
-+++ runtime/syntax/debchangelog.vim 2011-01-08 08:32:57.000000000 -0600
-@@ -3,8 +3,8 @@
- " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
- " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
- " Wichert Akkerman <wakkerma@debian.org>
--" Last Change: 2010 May 06
--" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/tip/runtime/syntax/debchangelog.vim
-+" Last Change: 2010 Oct 21
-+" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
-
- " Standard syntax initialization
- if version < 600
-@@ -19,7 +19,7 @@
- " Define some common expressions we can use later on
- syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
- syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
--syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(etch|lenny)-%(backports|volatile)|%(dapper|hardy|jaunty|karmic|lucid|maverick)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
-+syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(lenny|squeeze)-%(backports%(-sloppy)=|volatile)|%(dapper|hardy|jaunty|karmic|lucid|maverick|natty)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
- syn match debchangelogVersion contained "(.\{-})"
- syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
- syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
-diff -u -r --new-file runtime/syntax.orig/debcontrol.vim runtime/syntax/debcontrol.vim
---- runtime/syntax.orig/debcontrol.vim 2010-05-15 06:03:57.000000000 -0500
-+++ runtime/syntax/debcontrol.vim 2011-01-08 08:40:13.000000000 -0600
-@@ -3,8 +3,8 @@
- " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
- " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
- " Wichert Akkerman <wakkerma@debian.org>
--" Last Change: 2009 Aug 17
--" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/tip/runtime/syntax/debcontrol.vim
-+" Last Change: 2010 Oct 21
-+" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
-
- " Standard syntax initialization
- if version < 600
-@@ -27,7 +27,7 @@
- syn match debcontrolArchitecture contained "\%(all\|any\|alpha\|amd64\|arm\%(e[bl]\)\=\|avr32\|hppa\|i386\|ia64\|lpia\|m32r\|m68k\|mips\%(el\)\=\|powerpc\|ppc64\|s390x\=\|sh[34]\(eb\)\=\|sh\|sparc\%(64\)\=\|hurd-i386\|kfreebsd-\%(i386\|amd64\|gnu\)\|knetbsd-i386\|kopensolaris-i386\|netbsd-\%(alpha\|i386\)\)"
- syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
- syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
--syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|java|kde|kernel|libs|libdevel|lisp|localization|mail|math|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)"
-+syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|java|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)"
- syn match debcontrolPackageType contained "u\?deb"
- syn match debcontrolVariable contained "\${.\{-}}"
- syn match debcontrolDmUpload contained "\cyes"
-diff -u -r --new-file runtime/syntax.orig/debsources.vim runtime/syntax/debsources.vim
---- runtime/syntax.orig/debsources.vim 2010-05-15 06:03:57.000000000 -0500
-+++ runtime/syntax/debsources.vim 2011-01-08 08:35:02.000000000 -0600
-@@ -2,8 +2,8 @@
- " Language: Debian sources.list
- " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
- " Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
--" Last Change: 2010 May 06
--" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/tip/runtime/syntax/debsources.vim
-+" Last Change: 2010 Oct 21
-+" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
-
- " Standard syntax initialization
- if version < 600
-@@ -23,7 +23,7 @@
-
- " Match uri's
- syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
--syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(etch\|lenny\|squeeze\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|dapper\|hardy\|jaunty\|karmic\|lucid\|maverick\)\([-[:alnum:]_./]*\)+
-+syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(lenny\|squeeze\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|dapper\|hardy\|jaunty\|karmic\|lucid\|maverick\|natty\)\([-[:alnum:]_./]*\)+
-
- " Associate our matches and regions with pretty colours
- hi def link debsourcesLine Error
-diff -u -r --new-file runtime/syntax.orig/falcon.vim runtime/syntax/falcon.vim
---- runtime/syntax.orig/falcon.vim 1969-12-31 18:00:00.000000000 -0600
-+++ runtime/syntax/falcon.vim 2011-01-08 08:23:05.000000000 -0600
-@@ -0,0 +1,155 @@
-+" Vim syntax file
-+" Language: Falcon
-+" Maintainer: Steven Oliver <oliver.steven@gmail.com>
-+" Website: http://github.com/steveno/vim-files/blob/master/syntax/falcon.vim
-+" Credits: Thanks the ruby.vim authors, I borrowed a lot!
-+" -------------------------------------------------------------------------------
-+" GetLatestVimScripts: 2745 1 :AutoInstall: falcon.vim
-+
-+" When wanted, highlight the trailing whitespace.
-+if exists("c_space_errors")
-+ if !exists("c_no_trail_space_error")
-+ syn match falconSpaceError "\s\+$"
-+ endif
-+
-+ if !exists("c_no_tab_space_error")
-+ syn match falconSpaceError " \+\t"me=e-1
-+ endif
-+endif
-+
-+" Symbols
-+syn match falconSymbol "\(;\|,\|\.\)"
-+syn match falconSymbolOther "\(#\|@\)" display
-+
-+" Operators
-+syn match falconOperator "\(+\|-\|\*\|/\|=\|<\|>\|\*\*\|!=\|\~=\)"
-+syn match falconOperator "\(<=\|>=\|=>\|\.\.\|<<\|>>\|\"\)"
-+
-+" Clusters
-+syn region falconSymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=@falconStringSpecial fold
-+syn case match
-+
-+" Keywords
-+syn keyword falconKeyword all allp any anyp as attributes brigade cascade catch choice class const
-+syn keyword falconKeyword continue def directive do list dropping enum eq eval exit export from function
-+syn keyword falconKeyword give global has hasnt in init innerfunc lambda launch launch len List list
-+syn keyword falconKeyword load notin object pass print printl provides raise return self sender static to
-+syn keyword falconKeyword try xamp
-+
-+" Error Type Keywords
-+syn keyword falconKeyword CloneError CodeError Error InterruprtedError IoError MathError
-+syn keyword falconKeyword ParamError RangeError SyntaxError TraceStep TypeError
-+
-+" Todo
-+syn keyword falconTodo DEBUG FIXME NOTE TODO XXX
-+
-+" Conditionals
-+syn keyword falconConditional and case default else end if iff
-+syn keyword falconConditional elif or not switch select
-+syn match falconConditional "end\s\if"
-+
-+" Loops
-+syn keyword falconRepeat break for loop forfirst forlast formiddle while
-+
-+" Booleans
-+syn keyword falconBool true false
-+
-+" Constants
-+syn keyword falconConst PI E nil
-+
-+" Comments
-+syn match falconCommentSkip contained "^\s*\*\($\|\s\+\)"
-+syn region falconComment start="/\*" end="\*/" contains=@falconCommentGroup,falconSpaceError,falconTodo
-+syn region falconCommentL start="//" end="$" keepend contains=@falconCommentGroup,falconSpaceError,falconTodo
-+syn match falconSharpBang "\%^#!.*" display
-+syn sync ccomment falconComment
-+
-+" Numbers
-+syn match falconNumbers transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=falconIntLiteral,falconFloatLiteral,falconHexadecimal,falconOctal
-+syn match falconNumbersCom contained transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=falconIntLiteral,falconFloatLiteral,falconHexadecimal,falconOctal
-+syn match falconHexadecimal contained "\<0x\x\+\>"
-+syn match falconOctal contained "\<0\o\+\>"
-+syn match falconIntLiteral contained "[+-]\<d\+\(\d\+\)\?\>"
-+syn match falconFloatLiteral contained "[+-]\=\d\+\.\d*"
-+syn match falconFloatLiteral contained "[+-]\=\d*\.\d*"
-+
-+" Includes
-+syn keyword falconInclude load import
-+
-+" Expression Substitution and Backslash Notation
-+syn match falconStringEscape "\\\\\|\\[abefnrstv]\|\\\o\{1,3}\|\\x\x\{1,2}" contained display
-+syn match falconStringEscape "\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)" contained display
-+syn region falconSymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=falconStringEscape fold
-+
-+" Normal String and Shell Command Output
-+syn region falconString matchgroup=falconStringDelimiter start="\"" end="\"" skip="\\\\\|\\\"" contains=falconStringEscape fold
-+syn region falconString matchgroup=falconStringDelimiter start="'" end="'" skip="\\\\\|\\'" fold
-+syn region falconString matchgroup=falconStringDelimiter start="`" end="`" skip="\\\\\|\\`" contains=falconStringEscape fold
-+
-+" Generalized Single Quoted String, Symbol and Array of Strings
-+syn region falconString matchgroup=falconStringDelimiter start="%[qw]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
-+syn region falconString matchgroup=falconStringDelimiter start="%[qw]{" end="}" skip="\\\\\|\\}" fold contains=falconDelimEscape
-+syn region falconString matchgroup=falconStringDelimiter start="%[qw]<" end=">" skip="\\\\\|\\>" fold contains=falconDelimEscape
-+syn region falconString matchgroup=falconStringDelimiter start="%[qw]\[" end="\]" skip="\\\\\|\\\]" fold contains=falconDelimEscape
-+syn region falconString matchgroup=falconStringDelimiter start="%[qw](" end=")" skip="\\\\\|\\)" fold contains=falconDelimEscape
-+syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
-+syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]{" end="}" skip="\\\\\|\\}" fold contains=falconDelimEscape
-+syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]<" end=">" skip="\\\\\|\\>" fold contains=falconDelimEscape
-+syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]\[" end="\]" skip="\\\\\|\\\]" fold contains=falconDelimEscape
-+syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s](" end=")" skip="\\\\\|\\)" fold contains=falconDelimEscape
-+
-+" Generalized Double Quoted String and Array of Strings and Shell Command Output
-+syn region falconString matchgroup=falconStringDelimiter start="%\z([~`!@#$%^&*_\-+|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=falconStringEscape fold
-+syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=falconStringEscape fold
-+syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\={" end="}" skip="\\\\\|\\}" contains=falconStringEscape,falconDelimEscape fold
-+syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=<" end=">" skip="\\\\\|\\>" contains=falconStringEscape,falconDelimEscape fold
-+syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=\[" end="\]" skip="\\\\\|\\\]" contains=falconStringEscape,falconDelimEscape fold
-+syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=(" end=")" skip="\\\\\|\\)" contains=falconStringEscape,falconDelimEscape fold
-+
-+syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<\z(\h\w*\)\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ contains=falconStringEscape fold keepend
-+syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<"\z([^"]*\)"\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ contains=falconStringEscape fold keepend
-+syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<'\z([^']*\)'\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ fold keepend
-+syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<`\z([^`]*\)`\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ contains=falconStringEscape fold keepend
-+
-+syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-\z(\h\w*\)\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ contains=falconStringEscape fold keepend
-+syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-"\z([^"]*\)"\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ contains=falconStringEscape fold keepend
-+syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-'\z([^']*\)'\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ fold keepend
-+syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-`\z([^`]*\)`\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ contains=falconStringEscape fold keepend
-+
-+" Syntax Synchronizing
-+syn sync minlines=10 maxlines=100
-+
-+" Define the default highlighting
-+if !exists("did_falcon_syn_inits")
-+ command -nargs=+ HiLink hi def link <args>
-+
-+ HiLink falconKeyword Keyword
-+ HiLink falconCommentString String
-+ HiLink falconTodo Todo
-+ HiLink falconConditional Keyword
-+ HiLink falconRepeat Repeat
-+ HiLink falconcommentSkip Comment
-+ HiLink falconComment Comment
-+ HiLink falconCommentL Comment
-+ HiLink falconConst Constant
-+ HiLink falconOperator Operator
-+ HiLink falconSymbol Normal
-+ HiLink falconSpaceError Error
-+ HiLink falconHexadecimal Number
-+ HiLink falconOctal Number
-+ HiLink falconIntLiteral Number
-+ HiLink falconFloatLiteral Float
-+ HiLink falconStringEscape Special
-+ HiLink falconStringDelimiter Delimiter
-+ HiLink falconString String
-+ HiLink falconBool Constant
-+ HiLink falconSharpBang PreProc
-+ HiLink falconInclude Include
-+ HiLink falconSymbol Constant
-+ HiLink falconSymbolOther Delimiter
-+ delcommand HiLink
-+endif
-+
-+let b:current_syntax = "falcon"
-+
-+" vim: set sw=4 sts=4 et tw=80 :
-diff -u -r --new-file runtime/syntax.orig/gpg.vim runtime/syntax/gpg.vim
---- runtime/syntax.orig/gpg.vim 2010-05-15 06:03:56.000000000 -0500
-+++ runtime/syntax/gpg.vim 2011-01-08 08:36:35.000000000 -0600
-@@ -1,7 +1,7 @@
- " Vim syntax file
- " Language: gpg(1) configuration file
- " Maintainer: Nikolai Weibull <now@bitwi.se>
--" Latest Revision: 2007-06-17
-+" Latest Revision: 2010-10-14
-
- if exists("b:current_syntax")
- finish
-@@ -54,7 +54,7 @@
- \ personal-digest-preferences photo-viewer
- \ recipient s2k-cipher-algo s2k-digest-algo s2k-mode
- \ secret-keyring set-filename set-policy-url status-fd
-- \ trusted-key verify-options
-+ \ trusted-key verify-options keyid-format list-options
- syn keyword gpgOption contained skipwhite nextgroup=gpgArgError
- \ allow-freeform-uid allow-non-selfsigned-uid
- \ allow-secret-key-import always-trust
-diff -u -r --new-file runtime/syntax.orig/groovy.vim runtime/syntax/groovy.vim
---- runtime/syntax.orig/groovy.vim 2010-05-15 06:03:56.000000000 -0500
-+++ runtime/syntax/groovy.vim 2011-01-08 08:36:35.000000000 -0600
-@@ -1,10 +1,13 @@
- " Vim syntax file
- " Language: Groovy
--" Maintainer: Alessio Pace <billy.corgan@tiscali.it>
--" Version: 0.1.9b
-+" Original Author: Alessio Pace <billy.corgan@tiscali.it>
-+" Maintainer: Tobias Rapp <yahuxo@gmx.de>
-+" Version: 0.1.10
- " URL: http://www.vim.org/scripts/script.php?script_id=945
--" Last Change: 6/4/2004
-+" Last Change: 2010 Nov 29
-
-+" THE ORIGINAL AUTHOR'S NOTES:
-+"
- " This is my very first vim script, I hope to have
- " done it the right way.
- "
-@@ -16,8 +19,7 @@
- " For version 5.x: Clear all syntax items
- " For version 6.x: Quit when a syntax file was already loaded
- "
--" HOWTO USE IT (INSTALL):
--" [groovy is still not recognized by vim! :-( ]
-+" HOWTO USE IT (INSTALL) when not part of the distribution:
- "
- " 1) copy the file in the (global or user's $HOME/.vim/syntax/) syntax folder
- "
-@@ -247,7 +249,9 @@
- syn match groovySpecialCharError contained "[^']"
- syn match groovySpecialChar contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)"
- syn region groovyString start=+"+ end=+"+ end=+$+ contains=groovySpecialChar,groovySpecialError,@Spell,groovyELExpr
--syn region groovyString start=+'+ end=+'+ end=+$+ contains=groovySpecialChar,groovySpecialError,@Spell,groovyELExpr
-+syn region groovyString start=+'+ end=+'+ end=+$+ contains=groovySpecialChar,groovySpecialError,@Spell
-+syn region groovyString start=+"""+ end=+"""+ contains=groovySpecialChar,groovySpecialError,@Spell,groovyELExpr
-+syn region groovyString start=+'''+ end=+'''+ contains=groovySpecialChar,groovySpecialError,@Spell
- " syn region groovyELExpr start=+${+ end=+}+ keepend contained
- syn match groovyELExpr /\${.\{-}}/ contained
- GroovyHiLink groovyELExpr Identifier
-diff -u -r --new-file runtime/syntax.orig/help.vim runtime/syntax/help.vim
---- runtime/syntax.orig/help.vim 2010-07-18 16:18:04.000000000 -0500
-+++ runtime/syntax/help.vim 2011-01-08 08:40:13.000000000 -0600
-@@ -1,7 +1,7 @@
- " Vim syntax file
- " Language: Vim help file
- " Maintainer: Bram Moolenaar (Bram@vim.org)
--" Last Change: 2009 May 18
-+" Last Change: 2010 Nov 03
-
- " Quit when a (custom) syntax file was already loaded
- if exists("b:current_syntax")
-@@ -30,6 +30,7 @@
- syn match helpOption "'[a-z]\{2,\}'"
- syn match helpOption "'t_..'"
- syn match helpHeader "\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore
-+syn match helpGraphic ".* \ze`$" nextgroup=helpIgnore
- syn match helpIgnore "." contained conceal
- syn keyword helpNote note Note NOTE note: Note: NOTE: Notes Notes:
- syn match helpSpecial "\<N\>"
-diff -u -r --new-file runtime/syntax.orig/lex.vim runtime/syntax/lex.vim
---- runtime/syntax.orig/lex.vim 2010-05-15 06:03:56.000000000 -0500
-+++ runtime/syntax/lex.vim 2011-01-08 08:40:13.000000000 -0600
-@@ -1,8 +1,8 @@
- " Vim syntax file
- " Language: Lex
- " Maintainer: Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
--" Last Change: Sep 11, 2009
--" Version: 10
-+" Last Change: Nov 01, 2010
-+" Version: 12
- " URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
- "
- " Option:
-@@ -36,6 +36,9 @@
- " --- Lex stuff ---
- " --- ========= ---
-
-+" Options Section
-+syn match lexOptions '^%\s*option\>.*$' contains=lexPatString
-+
- "I'd prefer to use lex.* , but vim doesn't handle forward definitions yet
- syn cluster lexListGroup contains=lexAbbrvBlock,lexAbbrv,lexAbbrv,lexAbbrvRegExp,lexInclude,lexPatBlock,lexPat,lexBrace,lexPatString,lexPatTag,lexPatTag,lexPatComment,lexPatCodeLine,lexMorePat,lexPatSep,lexSlashQuote,lexPatCode,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2,cCommentStartError,cParenError
- syn cluster lexListPatCodeGroup contains=lexAbbrvBlock,lexAbbrv,lexAbbrv,lexAbbrvRegExp,lexInclude,lexPatBlock,lexPat,lexBrace,lexPatTag,lexPatTag,lexPatTagZoneStart,lexPatComment,lexPatCodeLine,lexMorePat,lexPatSep,lexSlashQuote,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2,cCommentStartError,cParenError
-@@ -61,13 +64,15 @@
-
- "%% : Patterns {Actions}
- if has("folding")
-- syn region lexPatBlock fold matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat
-+ syn region lexPatBlock fold matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatInclude
- syn region lexPat fold start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 contained nextgroup=lexMorePat,lexPatSep contains=lexPatTag,lexPatString,lexSlashQuote,lexBrace
-+ syn region lexPatInclude fold matchgroup=lexSep start="^%{" end="%}" contained contains=lexPatCode
- syn region lexBrace fold start="\[" skip=+\\\\\|\\+ end="]" contained
- syn region lexPatString fold matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
- else
-- syn region lexPatBlock matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat
-+ syn region lexPatBlock matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatInclude
- syn region lexPat start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 contained nextgroup=lexMorePat,lexPatSep contains=lexPatTag,lexPatString,lexSlashQuote,lexBrace
-+ syn region lexPatInclude matchgroup=lexSep start="^%{" end="%}" contained contains=lexPatCode
- syn region lexBrace start="\[" skip=+\\\\\|\\+ end="]" contained
- syn region lexPatString matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
- endif
-@@ -117,6 +122,7 @@
- hi def link lexAbbrv SpecialChar
- hi def link lexCFunctions Function
- hi def link lexMorePat SpecialChar
-+hi def link lexOptions PreProc
- hi def link lexPatComment Comment
- hi def link lexPat Function
- hi def link lexPatString Function
-diff -u -r --new-file runtime/syntax.orig/lisp.vim runtime/syntax/lisp.vim
---- runtime/syntax.orig/lisp.vim 2010-05-15 06:03:56.000000000 -0500
-+++ runtime/syntax/lisp.vim 2011-01-08 08:32:58.000000000 -0600
-@@ -1,8 +1,8 @@
- " Vim syntax file
- " Language: Lisp
- " Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
--" Last Change: Mar 05, 2009
--" Version: 21
-+" Last Change: Nov 16, 2010
-+" Version: 22
- " URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
- "
- " Thanks to F Xavier Noria for a list of 978 Common Lisp symbols
-@@ -32,7 +32,7 @@
- " ---------------------------------------------------------------------
- " Clusters: {{{1
- syn cluster lispAtomCluster contains=lispAtomBarSymbol,lispAtomList,lispAtomNmbr0,lispComment,lispDecl,lispFunc,lispLeadWhite
--syn cluster lispBaseListCluster contains=lispAtom,lispAtomBarSymbol,lispAtomMark,lispBQList,lispBarSymbol,lispComment,lispConcat,lispDecl,lispFunc,lispKey,lispList,lispNumber,lispSpecial,lispSymbol,lispVar,lispLeadWhite
-+syn cluster lispBaseListCluster contains=lispAtom,lispAtomBarSymbol,lispAtomMark,lispBQList,lispBarSymbol,lispComment,lispConcat,lispDecl,lispFunc,lispKey,lispList,lispNumber,lispEscapeSpecial,lispSymbol,lispVar,lispLeadWhite
- if exists("g:lisp_instring")
- syn cluster lispListCluster contains=@lispBaseListCluster,lispString,lispInString,lispInStringString
- else
-@@ -68,7 +68,7 @@
- syn match lispAtom "'[^ \t()]\+" contains=lispAtomMark
- syn match lispAtomBarSymbol !'|..\{-}|! contains=lispAtomMark
- syn region lispAtom start=+'"+ skip=+\\"+ end=+"+
--syn region lispAtomList contained matchgroup=Special start="(" skip="|.\{-}|" matchgroup=Special end=")" contains=@lispAtomCluster,lispString,lispSpecial
-+syn region lispAtomList contained matchgroup=Special start="(" skip="|.\{-}|" matchgroup=Special end=")" contains=@lispAtomCluster,lispString,lispEscapeSpecial
- syn match lispAtomNmbr contained "\<\d\+"
- syn match lispLeadWhite contained "^\s\+"
-
-@@ -537,16 +537,16 @@
- syn match lispNumber "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\([dDeEfFlL][-+]\=\d\+\)\="
- syn match lispNumber "-\=\(\d\+/\d\+\)"
-
--syn match lispSpecial "\*\w[a-z_0-9-]*\*"
--syn match lispSpecial !#|[^()'`,"; \t]\+|#!
--syn match lispSpecial !#x\x\+!
--syn match lispSpecial !#o\o\+!
--syn match lispSpecial !#b[01]\+!
--syn match lispSpecial !#\\[ -}\~]!
--syn match lispSpecial !#[':][^()'`,"; \t]\+!
--syn match lispSpecial !#([^()'`,"; \t]\+)!
--syn match lispSpecial !#\\\%(Space\|Newline\|Tab\|Page\|Rubout\|Linefeed\|Return\|Backspace\)!
--syn match lispSpecial "\<+[a-zA-Z_][a-zA-Z_0-9-]*+\>"
-+syn match lispEscapeSpecial "\*\w[a-z_0-9-]*\*"
-+syn match lispEscapeSpecial !#|[^()'`,"; \t]\+|#!
-+syn match lispEscapeSpecial !#x\x\+!
-+syn match lispEscapeSpecial !#o\o\+!
-+syn match lispEscapeSpecial !#b[01]\+!
-+syn match lispEscapeSpecial !#\\[ -}\~]!
-+syn match lispEscapeSpecial !#[':][^()'`,"; \t]\+!
-+syn match lispEscapeSpecial !#([^()'`,"; \t]\+)!
-+syn match lispEscapeSpecial !#\\\%(Space\|Newline\|Tab\|Page\|Rubout\|Linefeed\|Return\|Backspace\)!
-+syn match lispEscapeSpecial "\<+[a-zA-Z_][a-zA-Z_0-9-]*+\>"
-
- syn match lispConcat "\s\.\s"
- syn match lispParenError ")"
-@@ -585,7 +585,7 @@
- HiLink lispMark Delimiter
- HiLink lispNumber Number
- HiLink lispParenError Error
-- HiLink lispSpecial Type
-+ HiLink lispEscapeSpecial Type
- HiLink lispString String
- HiLink lispTodo Todo
- HiLink lispVar Statement
-diff -u -r --new-file runtime/syntax.orig/logindefs.vim runtime/syntax/logindefs.vim
---- runtime/syntax.orig/logindefs.vim 2010-05-15 06:03:57.000000000 -0500
-+++ runtime/syntax/logindefs.vim 2011-01-08 08:36:35.000000000 -0600
-@@ -1,7 +1,7 @@
- " Vim syntax file
- " Language: login.defs(5) configuration file
- " Maintainer: Nikolai Weibull <now@bitwi.se>
--" Latest Revision: 2006-04-19
-+" Latest Revision: 2010-11-29
-
- if exists("b:current_syntax")
- finish
-@@ -10,83 +10,163 @@
- let s:cpo_save = &cpo
- set cpo&vim
-
--syn keyword logindefsTodo contained TODO FIXME XXX NOTE
--
--syn region logindefsComment display oneline start='^\s*#' end='$'
-- \ contains=logindefsTodo,@Spell
--
--syn match logindefsString contained '[[:graph:]]\+'
--
--syn match logindefsPath contained '[[:graph:]]\+'
--
--syn match logindefsPaths contained '[[:graph:]]\+'
-- \ nextgroup=logindefsPathDelim
--
--syn match logindefsPathDelim contained ':' nextgroup=logindefsPaths
--
--syn keyword logindefsBoolean contained yes no
--
--syn match logindefsDecimal contained '\<\d\+\>'
--
--syn match logindefsOctal contained display '\<0\o\+\>'
-- \ contains=logindefsOctalZero
--syn match logindefsOctalZero contained display '\<0'
--syn match logindefsOctalError contained display '\<0\o*[89]\d*\>'
--
--syn match logindefsHex contained display '\<0x\x\+\>'
--
--syn cluster logindefsNumber contains=logindefsDecimal,logindefsOctal,
-- \ logindefsOctalError,logindefsHex
--
--syn match logindefsBegin display '^'
-- \ nextgroup=logindefsKeyword,logindefsComment
-- \ skipwhite
--
--syn keyword logindefsKeyword contained CHFN_AUTH CLOSE_SESSIONS CREATE_HOME
-- \ DEFAULT_HOME FAILLOG_ENAB LASTLOG_ENAB
-- \ LOG_OK_LOGINS LOG_UNKFAIL_ENAB MAIL_CHECK_ENAB
-- \ MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB
-- \ PASS_ALWAYS_WARN PORTTIME_CHECKS_ENAB
-- \ QUOTAS_ENAB SU_WHEEL_ONLY SYSLOG_SG_ENAB
-- \ SYSLOG_SU_ENAB USERGROUPS_ENAB
-- \ nextgroup=logindefsBoolean skipwhite
--
--syn keyword logindefsKeyword contained CHFN_RESTRICT CONSOLE CONSOLE_GROUPS
-- \ ENV_TZ ENV_HZ FAKE_SHELL SU_NAME LOGIN_STRING
-- \ NOLOGIN_STR TTYGROUP USERDEL_CMD
-- \ nextgroup=logindefsString skipwhite
--
--syn keyword logindefsKeyword contained ENVIRON_FILE FTMP_FILE HUSHLOGIN_FILE
-- \ ISSUE_FILE MAIL_DIR MAIL_FILE NOLOGINS_FILE
-- \ NOLOGINS_FILE TTYTYPE_FILE QMAIL_DIR
-- \ SULOG_FILE
-- \ nextgroup=logindefsPath skipwhite
--
--syn keyword logindefsKeyword contained CRACKLIB_DICTPATH ENV_PATH
-- \ ENV_ROOTPATH ENV_SUPATH MOTD_FILE
-- \ nextgroup=logindefsPaths skipwhite
--
--syn keyword logindefsKeyword contained ERASECHAR FAIL_DELAY GETPASS_ASTERISKS
-- \ GID_MAX GID_MIN KILLCHAR LOGIN_RETRIES
-- \ LOGIN_TIMEOUT PASS_CHANGE_TRIES PASS_MAX_DAYS
-- \ PASS_MAX_LEN PASS_MIN_DAYS PASS_MIN_LEN
-- \ PASS_WARN_AGE TTYPERM UID_MAX UID_MIN ULIMIT
-- \ UMASK
-- \ nextgroup=@logindefsNumber skipwhite
--
--hi def link logindefsTodo Todo
--hi def link logindefsComment Comment
--hi def link logindefsString String
--hi def link logindefsPath String
--hi def link logindefsPaths logindefsPath
--hi def link logindefsPathDelim Delimiter
--hi def link logindefsBoolean Boolean
--hi def link logindefsDecimal Number
--hi def link logindefsOctal Number
--hi def link logindefsOctalZero PreProc
--hi def link logindefsOctalError Error
--hi def link logindefsHex Number
--hi def link logindefsKeyword Keyword
-+syn match logindefsBegin display '^'
-+ \ nextgroup=
-+ \ logindefsComment,
-+ \ @logindefsKeyword
-+ \ skipwhite
-+
-+syn region logindefsComment display oneline start='^\s*#' end='$'
-+ \ contains=logindefsTodo,@Spell
-+
-+syn keyword logindefsTodo contained TODO FIXME XXX NOTE
-+
-+syn cluster logindefsKeyword contains=
-+ \ logindefsBooleanKeyword,
-+ \ logindefsEncryptKeyword,
-+ \ logindefsNumberKeyword,
-+ \ logindefsPathKeyword,
-+ \ logindefsPathsKeyword,
-+ \ logindefsStringKeyword
-+
-+syn keyword logindefsBooleanKeyword contained
-+ \ CHFN_AUTH
-+ \ CHSH_AUTH
-+ \ CREATE_HOME
-+ \ DEFAULT_HOME
-+ \ FAILLOG_ENAB
-+ \ LASTLOG_ENAB
-+ \ LOG_OK_LOGINS
-+ \ LOG_UNKFAIL_ENAB
-+ \ MAIL_CHECK_ENAB
-+ \ MD5_CRYPT_ENAB
-+ \ OBSCURE_CHECKS_ENAB
-+ \ PASS_ALWAYS_WARN
-+ \ PORTTIME_CHECKS_ENAB
-+ \ QUOTAS_ENAB
-+ \ SU_WHEEL_ONLY
-+ \ SYSLOG_SG_ENAB
-+ \ SYSLOG_SU_ENAB
-+ \ USERGROUPS_ENAB
-+ \ nextgroup=logindefsBoolean skipwhite
-+
-+syn keyword logindefsBoolean contained yes no
-+
-+syn keyword logindefsEncryptKeyword contained
-+ \ ENCRYPT_METHOD
-+ \ nextgroup=logindefsEncryptMethod skipwhite
-+
-+syn keyword logindefsEncryptMethod contained
-+ \ DES
-+ \ MD5
-+ \ SHA256
-+ \ SHA512
-+
-+syn keyword logindefsNumberKeyword contained
-+ \ ERASECHAR
-+ \ FAIL_DELAY
-+ \ GID_MAX
-+ \ GID_MIN
-+ \ KILLCHAR
-+ \ LOGIN_RETRIES
-+ \ LOGIN_TIMEOUT
-+ \ MAX_MEMBERS_PER_GROUP
-+ \ PASS_CHANGE_TRIES
-+ \ PASS_MAX_DAYS
-+ \ PASS_MIN_DAYS
-+ \ PASS_WARN_AGE
-+ \ PASS_MAX_LEN
-+ \ PASS_MIN_LEN
-+ \ SHA_CRYPT_MAX_ROUNDS
-+ \ SHA_CRYPT_MIN_ROUNDS
-+ \ SYS_GID_MAX
-+ \ SYS_GID_MIN
-+ \ SYS_UID_MAX
-+ \ SYS_UID_MIN
-+ \ UID_MAX
-+ \ UID_MIN
-+ \ ULIMIT
-+ \ UMASK
-+ \ nextgroup=@logindefsNumber skipwhite
-+
-+syn cluster logindefsNumber contains=
-+ \ logindefsDecimal,
-+ \ logindefsHex,
-+ \ logindefsOctal,
-+ \ logindefsOctalError
-+
-+syn match logindefsDecimal contained '\<\d\+\>'
-+
-+syn match logindefsHex contained display '\<0x\x\+\>'
-+
-+syn match logindefsOctal contained display '\<0\o\+\>'
-+ \ contains=logindefsOctalZero
-+syn match logindefsOctalZero contained display '\<0'
-+
-+syn match logindefsOctalError contained display '\<0\o*[89]\d*\>'
-+
-+syn keyword logindefsPathKeyword contained
-+ \ ENVIRON_FILE
-+ \ FAKE_SHELL
-+ \ FTMP_FILE
-+ \ HUSHLOGIN_FILE
-+ \ ISSUE_FILE
-+ \ MAIL_DIR
-+ \ MAIL_FILE
-+ \ NOLOGINS_FILE
-+ \ SULOG_FILE
-+ \ TTYTYPE_FILE
-+ \ nextgroup=logindefsPath skipwhite
-+
-+syn match logindefsPath contained '[[:graph:]]\+'
-+
-+syn keyword logindefsPathsKeyword contained
-+ \ CONSOLE
-+ \ ENV_PATH
-+ \ ENV_SUPATH
-+ \ MOTD_FILE
-+ \ nextgroup=logindefsPaths skipwhite
-+
-+syn match logindefsPaths contained '[^:]\+'
-+ \ nextgroup=logindefsPathDelim
-+
-+syn match logindefsPathDelim contained ':' nextgroup=logindefsPaths
-+
-+syn keyword logindefsStringKeyword contained
-+ \ CHFN_RESTRICT
-+ \ CONSOLE_GROUPS
-+ \ ENV_HZ
-+ \ ENV_TZ
-+ \ LOGIN_STRING
-+ \ SU_NAME
-+ \ TTYGROUP
-+ \ TTYPERM
-+ \ USERDEL_CMD
-+ \ nextgroup=logindefsString skipwhite
-+
-+syn match logindefsString contained '[[:graph:]]\+'
-+
-+hi def link logindefsComment Comment
-+hi def link logindefsTodo Todo
-+hi def link logindefsKeyword Keyword
-+hi def link logindefsBooleanKeyword logindefsKeyword
-+hi def link logindefsEncryptKeyword logindefsKeyword
-+hi def link logindefsNumberKeyword logindefsKeyword
-+hi def link logindefsPathKeyword logindefsKeyword
-+hi def link logindefsPathsKeyword logindefsKeyword
-+hi def link logindefsStringKeyword logindefsKeyword
-+hi def link logindefsBoolean Boolean
-+hi def link logindefsEncryptMethod Type
-+hi def link logindefsNumber Number
-+hi def link logindefsDecimal logindefsNumber
-+hi def link logindefsHex logindefsNumber
-+hi def link logindefsOctal logindefsNumber
-+hi def link logindefsOctalZero PreProc
-+hi def link logindefsOctalError Error
-+hi def link logindefsPath String
-+hi def link logindefsPaths logindefsPath
-+hi def link logindefsPathDelim Delimiter
-+hi def link logindefsString String
-
- let b:current_syntax = "logindefs"
-
-diff -u -r --new-file runtime/syntax.orig/nasm.vim runtime/syntax/nasm.vim
---- runtime/syntax.orig/nasm.vim 2010-05-15 06:03:56.000000000 -0500
-+++ runtime/syntax/nasm.vim 2011-01-08 08:27:46.000000000 -0600
-@@ -1,9 +1,10 @@
- " Vim syntax file
- " Language: NASM - The Netwide Assembler (v0.98)
--" Maintainer: Manuel M.H. Stol <mmh.stol@gmx.net>
--" Last Change: 2003 May 11
--" Vim URL: http://www.vim.org/lang.html
--" NASM Home: http://www.cryogen.com/Nasm/
-+" Maintainer: Andriy Sokolov <andriy145@gmail.com>
-+" Original Author: Manuel M.H. Stol <Manuel.Stol@allieddata.nl>
-+" Former Maintainer: Manuel M.H. Stol <Manuel.Stol@allieddata.nl>
-+" Last Change: 2010 Sep 24
-+" NASM Home: http://www.nasm.us/
-
-
-
-@@ -160,6 +161,7 @@
- "syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="^\s*UNION\>"hs=e-4 end="^\s*ENDUNION\>"re=e-8 contains=@nasmGrpCntnMacro
- "syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="\<IUNION\>" end="\<IEND\(UNION\)\=\>" contains=@nasmGrpCntnMacro,nasmInStructure
- syn region nasmInMacPreConDef contained transparent matchgroup=nasmInMacPreCondit start="^\s*%ifnidni\>"hs=e-7 start="^\s*%if\(idni\|n\(ctx\|def\|idn\|num\|str\)\)\>"hs=e-6 start="^\s*%if\(ctx\|def\|idn\|nid\|num\|str\)\>"hs=e-5 start="^\s*%ifid\>"hs=e-4 start="^\s*%if\>"hs=e-2 end="%endif\>" contains=@nasmGrpCntnMacro,nasmInMacPreCondit,nasmInPreCondit
-+" Todo: allow STRUC/ISTRUC to be used inside preprocessor conditional block
- syn match nasmInMacPreCondit contained transparent "ctx\s"lc=3 skipwhite nextgroup=@nasmGrpNxtCtx
- syn match nasmInMacPreCondit contained "^\s*%elifctx\>"hs=e-7 skipwhite nextgroup=@nasmGrpNxtCtx
- syn match nasmInMacPreCondit contained "^\s*%elifnctx\>"hs=e-8 skipwhite nextgroup=@nasmGrpNxtCtx
-@@ -210,15 +212,17 @@
- syn cluster nasmGrpPreCondits contains=nasmPreConditDef,@nasmGrpInPreCondits,nasmCtxPreProc,nasmCtxLocLabel
-
- " Other pre-processor statements
--syn match nasmPreProc "^\s*%rep\>"hs=e-3
-+syn match nasmPreProc "^\s*%\(rep\|use\)\>"hs=e-3
- syn match nasmPreProc "^\s*%line\>"hs=e-4
--syn match nasmPreProc "^\s*%\(clear\|error\)\>"hs=e-5
--syn match nasmPreProc "^\s*%endrep\>"hs=e-6
--syn match nasmPreProc "^\s*%exitrep\>"hs=e-7
-+syn match nasmPreProc "^\s*%\(clear\|error\|fatal\)\>"hs=e-5
-+syn match nasmPreProc "^\s*%\(endrep\|strlen\|substr\)\>"hs=e-6
-+syn match nasmPreProc "^\s*%\(exitrep\|warning\)\>"hs=e-7
- syn match nasmDefine "^\s*%undef\>"hs=e-5
- syn match nasmDefine "^\s*%\(assign\|define\)\>"hs=e-6
- syn match nasmDefine "^\s*%i\(assign\|define\)\>"hs=e-7
-+syn match nasmDefine "^\s*%unmacro\>"hs=e-7
- syn match nasmInclude "^\s*%include\>"hs=e-7
-+" Todo: Treat the line tail after %fatal, %error, %warning as text
-
- " Multiple pre-processor instructions on single line detection (obsolete)
- "syn match nasmPreProcError +^\s*\([^\t "%';][^"%';]*\|[^\t "';][^"%';]\+\)%\a\+\>+
-@@ -231,6 +235,7 @@
- syn match nasmGen08Register "\<[A-D][HL]\>"
- syn match nasmGen16Register "\<\([A-D]X\|[DS]I\|[BS]P\)\>"
- syn match nasmGen32Register "\<E\([A-D]X\|[DS]I\|[BS]P\)\>"
-+syn match nasmGen64Register "\<R\([A-D]X\|[DS]I\|[BS]P\|[89]\|1[0-5]\|[89][WD]\|1[0-5][WD]\)\>"
- syn match nasmSegRegister "\<[C-GS]S\>"
- syn match nasmSpcRegister "\<E\=IP\>"
- syn match nasmFpuRegister "\<ST\o\>"
-@@ -298,20 +303,21 @@
- syn match nasmStdInstruction "\<POP\>"
- syn keyword nasmStdInstruction AAA AAD AAM AAS ADC ADD AND
- syn keyword nasmStdInstruction BOUND BSF BSR BSWAP BT[C] BTR BTS
--syn keyword nasmStdInstruction CALL CBW CDQ CLC CLD CMC CMP CMPSB CMPSD CMPSW
--syn keyword nasmStdInstruction CMPXCHG CMPXCHG8B CPUID CWD[E]
-+syn keyword nasmStdInstruction CALL CBW CDQ CLC CLD CMC CMP CMPSB CMPSD CMPSW CMPSQ
-+syn keyword nasmStdInstruction CMPXCHG CMPXCHG8B CPUID CWD[E] CQO
- syn keyword nasmStdInstruction DAA DAS DEC DIV ENTER
--syn keyword nasmStdInstruction IDIV IMUL INC INT[O] IRET[D] IRETW
-+syn keyword nasmStdInstruction IDIV IMUL INC INT[O] IRET[D] IRETW IRETQ
- syn keyword nasmStdInstruction JCXZ JECXZ JMP
--syn keyword nasmStdInstruction LAHF LDS LEA LEAVE LES LFS LGS LODSB LODSD
-+syn keyword nasmStdInstruction LAHF LDS LEA LEAVE LES LFS LGS LODSB LODSD LODSQ
- syn keyword nasmStdInstruction LODSW LOOP[E] LOOPNE LOOPNZ LOOPZ LSS
--syn keyword nasmStdInstruction MOVSB MOVSD MOVSW MOVSX MOVZX MUL NEG NOP NOT
--syn keyword nasmStdInstruction OR POPA[D] POPAW POPF[D] POPFW
--syn keyword nasmStdInstruction PUSH[AD] PUSHAW PUSHF[D] PUSHFW
-+syn keyword nasmStdInstruction MOVSB MOVSD MOVSW MOVSX MOVSQ MOVZX MUL NEG NOP NOT
-+syn keyword nasmStdInstruction OR POPA[D] POPAW POPF[D] POPFW POPFQ
-+syn keyword nasmStdInstruction PUSH[AD] PUSHAW PUSHF[D] PUSHFW PUSHFQ
- syn keyword nasmStdInstruction RCL RCR RETF RET[N] ROL ROR
- syn keyword nasmStdInstruction SAHF SAL SAR SBB SCASB SCASD SCASW
--syn keyword nasmStdInstruction SHL[D] SHR[D] STC STD STOSB STOSD STOSW SUB
-+syn keyword nasmStdInstruction SHL[D] SHR[D] STC STD STOSB STOSD STOSW STOSQ SUB
- syn keyword nasmStdInstruction TEST XADD XCHG XLATB XOR
-+syn keyword nasmStdInstruction LFENCE MFENCE SFENCE
-
-
- " System Instructions: (usually privileged)
-diff -u -r --new-file runtime/syntax.orig/po.vim runtime/syntax/po.vim
---- runtime/syntax.orig/po.vim 2010-05-15 06:03:57.000000000 -0500
-+++ runtime/syntax/po.vim 2010-09-22 15:54:05.000000000 -0500
-@@ -1,10 +1,10 @@
- " Vim syntax file
- " Language: po (gettext)
- " Maintainer: Dwayne Bailey <dwayne@translate.org.za>
--" Last Change: 2008 Sep 17
-+" Last Change: 2010 Sep 21
- " Contributors: Dwayne Bailey (Most advanced syntax highlighting)
- " Leonardo Fontenelle (Spell checking)
--" SungHyun Nam <goweol@gmail.com> (Original maintainer)
-+" Nam SungHyun <namsh@kldp.org> (Original maintainer)
-
- " For version 5.x: Clear all syntax items
- " For version 6.x: Quit when a syntax file was already loaded
-@@ -39,7 +39,7 @@
- \ contains=@Spell,poSpecial,poFormat,poHeaderItem,poCommentKDEError,poHeaderUndefined,poPluralKDEError,poMsguniqError,poKDEdesktopFile,poHtml,poAcceleratorStr,poHtmlNot,poVariable
-
- " Header and Copyright
--syn match poHeaderItem "\(Project-Id-Version\|Report-Msgid-Bugs-To\|POT-Creation-Date\|PO-Revision-Date\|Last-Translator\|Language-Team\|MIME-Version\|Content-Type\|Content-Transfer-Encoding\|Plural-Forms\|X-Generator\): " contained
-+syn match poHeaderItem "\(Project-Id-Version\|Report-Msgid-Bugs-To\|POT-Creation-Date\|PO-Revision-Date\|Last-Translator\|Language-Team\|Language\|MIME-Version\|Content-Type\|Content-Transfer-Encoding\|Plural-Forms\|X-Generator\): " contained
- syn match poHeaderUndefined "\(PACKAGE VERSION\|YEAR-MO-DA HO:MI+ZONE\|FULL NAME <EMAIL@ADDRESS>\|LANGUAGE <LL@li.org>\|CHARSET\|ENCODING\|INTEGER\|EXPRESSION\)" contained
- syn match poCopyrightUnset "SOME DESCRIPTIVE TITLE\|FIRST AUTHOR <EMAIL@ADDRESS>, YEAR\|Copyright (C) YEAR Free Software Foundation, Inc\|YEAR THE PACKAGE\'S COPYRIGHT HOLDER\|PACKAGE" contained
-
-diff -u -r --new-file runtime/syntax.orig/python.vim runtime/syntax/python.vim
---- runtime/syntax.orig/python.vim 2010-05-15 06:03:57.000000000 -0500
-+++ runtime/syntax/python.vim 2010-09-22 15:49:19.000000000 -0500
-@@ -1,7 +1,7 @@
- " Vim syntax file
- " Language: Python
- " Maintainer: Neil Schemenauer <nas@python.ca>
--" Last Change: 2009-10-13
-+" Last Change: 2010 Sep 21
- " Credits: Zvezdan Petkovic <zpetkovic@acm.org>
- " Neil Schemenauer <nas@python.ca>
- " Dmitry Vasiliev
-@@ -45,6 +45,11 @@
- finish
- endif
-
-+" We need nocompatible mode in order to continue lines with backslashes.
-+" Original setting will be restored.
-+let s:cpo_save = &cpo
-+set cpo&vim
-+
- " Keep Python keywords in alphabetical order inside groups for easy
- " comparison with the table in the 'Python Language Reference'
- " http://docs.python.org/reference/lexical_analysis.html#keywords.
-@@ -292,4 +297,7 @@
-
- let b:current_syntax = "python"
-
-+let &cpo = s:cpo_save
-+unlet s:cpo_save
-+
- " vim:set sw=2 sts=2 ts=8 noet:
-diff -u -r --new-file runtime/syntax.orig/r.vim runtime/syntax/r.vim
---- runtime/syntax.orig/r.vim 2010-05-15 06:03:56.000000000 -0500
-+++ runtime/syntax/r.vim 2011-01-08 08:45:55.000000000 -0600
-@@ -1,111 +1,137 @@
- " Vim syntax file
--" Language: R (GNU S)
--" Maintainer: Vaidotas Zemlys <zemlys@gmail.com>
--" Last Change: 2006 Apr 30
--" Filenames: *.R *.Rout *.r *.Rhistory *.Rt *.Rout.save *.Rout.fail
--" URL: http://uosis.mif.vu.lt/~zemlys/vim-syntax/r.vim
--
--" First maintainer Tom Payne <tom@tompayne.org>
--" Modified to make syntax less colourful and added the highlighting of
--" R assignment arrow
--
--" For version 5.x: Clear all syntax items
--" For version 6.x: Quit when a syntax file was already loaded
--if version < 600
-- syntax clear
--elseif exists("b:current_syntax")
-+" Language: R (GNU S)
-+" Maintainer: Jakson Aquino <jalvesaq@gmail.com>
-+" Former Maintainers: Vaidotas Zemlys <zemlys@gmail.com>
-+" Tom Payne <tom@tompayne.org>
-+" Last Change: Wed Sep 29, 2010 09:31AM
-+" Filenames: *.R *.r *.Rhistory *.Rt
-+"
-+" NOTE: The highlighting of R functions is defined in the
-+" r-plugin/functions.vim, which is part of vim-r-plugin2:
-+" http://www.vim.org/scripts/script.php?script_id=2628
-+"
-+" Some lines of code were borrowed from Zhuojun Chen.
-+
-+if exists("b:current_syntax")
- finish
- endif
-
--if version >= 600
-- setlocal iskeyword=@,48-57,_,.
--else
-- set iskeyword=@,48-57,_,.
--endif
-+setlocal iskeyword=@,48-57,_,.
-
- syn case match
-
- " Comment
--syn match rComment /\#.*/
-+syn match rComment contains=@Spell "\#.*"
-
--" Constant
- " string enclosed in double quotes
--syn region rString start=/"/ skip=/\\\\\|\\"/ end=/"/
-+syn region rString contains=rSpecial,rStrError,@Spell start=/"/ skip=/\\\\\|\\"/ end=/"/
- " string enclosed in single quotes
--syn region rString start=/'/ skip=/\\\\\|\\'/ end=/'/
--" number with no fractional part or exponent
--syn match rNumber /\d\+/
--" floating point number with integer and fractional parts and optional exponent
--syn match rFloat /\d\+\.\d*\([Ee][-+]\=\d\+\)\=/
--" floating point number with no integer part and optional exponent
--syn match rFloat /\.\d\+\([Ee][-+]\=\d\+\)\=/
--" floating point number with no fractional part and optional exponent
--syn match rFloat /\d\+[Ee][-+]\=\d\+/
-+syn region rString contains=rSpecial,rStrError,@Spell start=/'/ skip=/\\\\\|\\'/ end=/'/
-
--" Identifier
--" identifier with leading letter and optional following keyword characters
--syn match rIdentifier /\a\k*/
--" identifier with leading period, one or more digits, and at least one non-digit keyword character
--syn match rIdentifier /\.\d*\K\k*/
-+syn match rStrError display contained "\\."
-+
-+" New line, carriage return, tab, backspace, bell, feed, vertical tab, backslash
-+syn match rSpecial display contained "\\\(n\|r\|t\|b\|a\|f\|v\|'\|\"\)\|\\\\"
-+
-+" Hexadecimal and Octal digits
-+syn match rSpecial display contained "\\\(x\x\{1,2}\|[0-8]\{1,3}\)"
-+
-+" Unicode characters
-+syn match rSpecial display contained "\\u\x\{1,4}"
-+syn match rSpecial display contained "\\U\x\{1,8}"
-+syn match rSpecial display contained "\\u{\x\{1,4}}"
-+syn match rSpecial display contained "\\U{\x\{1,8}}"
-+
-+
-+syn match rDollar "\$"
-
- " Statement
- syn keyword rStatement break next return
- syn keyword rConditional if else
- syn keyword rRepeat for in repeat while
-
-+" Constant (not really)
-+syn keyword rConstant T F LETTERS letters month.ab month.name pi
-+syn keyword rConstant R.version.string
-+
- " Constant
--syn keyword rConstant LETTERS letters month.ab month.name pi
- syn keyword rConstant NULL
- syn keyword rBoolean FALSE TRUE
--syn keyword rNumber NA
--syn match rArrow /<\{1,2}-/
-+syn keyword rNumber NA NA_integer_ NA_real_ NA_complex_ NA_character_
-+syn keyword rNumber Inf NaN
-
--" Type
--syn keyword rType array category character complex double function integer list logical matrix numeric vector data.frame
-+" integer
-+syn match rInteger "\<\d\+L"
-+syn match rInteger "\<0x\([0-9]\|[a-f]\|[A-F]\)\+L"
-+syn match rInteger "\<\d\+[Ee]+\=\d\+L"
-+
-+syn match rOperator "[\*\!\&\+\-\<\>\=\^\|\~\`/:@]"
-+syn match rOperator "%\{2}\|%\*%\|%\/%\|%in%\|%o%\|%x%"
-+
-+syn match rComplex "\<\d\+i"
-+syn match rComplex "\<0x\([0-9]\|[a-f]\|[A-F]\)\+i"
-+syn match rComplex "\<\d\+\.\d*\([Ee][-+]\=\d\+\)\=i"
-+syn match rComplex "\<\.\d\+\([Ee][-+]\=\d\+\)\=i"
-+syn match rComplex "\<\d\+[Ee][-+]\=\d\+i"
-+
-+" number with no fractional part or exponent
-+syn match rNumber "\<\d\+\>"
-+" hexadecimal number
-+syn match rNumber "\<0x\([0-9]\|[a-f]\|[A-F]\)\+"
-+
-+" floating point number with integer and fractional parts and optional exponent
-+syn match rFloat "\<\d\+\.\d*\([Ee][-+]\=\d\+\)\="
-+" floating point number with no integer part and optional exponent
-+syn match rFloat "\<\.\d\+\([Ee][-+]\=\d\+\)\="
-+" floating point number with no fractional part and optional exponent
-+syn match rFloat "\<\d\+[Ee][-+]\=\d\+"
-+
-+syn match rArrow "<\{1,2}-"
-+syn match rArrow "->\{1,2}"
-
- " Special
--syn match rDelimiter /[,;:]/
-+syn match rDelimiter "[,;:]"
-
- " Error
- syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError
- syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError
- syn region rRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError
--syn match rError /[)\]}]/
--syn match rBraceError /[)}]/ contained
--syn match rCurlyError /[)\]]/ contained
--syn match rParenError /[\]}]/ contained
-+syn match rError "[)\]}]"
-+syn match rBraceError "[)}]" contained
-+syn match rCurlyError "[)\]]" contained
-+syn match rParenError "[\]}]" contained
-+
-+" Functions that may add new objects
-+syn keyword rPreProc library require attach detach source
-+
-+" Type
-+syn keyword rType array category character complex double function integer list logical matrix numeric vector data.frame
-
- " Define the default highlighting.
--" For version 5.7 and earlier: only when not done already
--" For version 5.8 and later: only when an item doesn't have highlighting yet
--if version >= 508 || !exists("did_r_syn_inits")
-- if version < 508
-- let did_r_syn_inits = 1
-- command -nargs=+ HiLink hi link <args>
-- else
-- command -nargs=+ HiLink hi def link <args>
-- endif
-- HiLink rComment Comment
-- HiLink rConstant Constant
-- HiLink rString String
-- HiLink rNumber Number
-- HiLink rBoolean Boolean
-- HiLink rFloat Float
-- HiLink rStatement Statement
-- HiLink rConditional Conditional
-- HiLink rRepeat Repeat
-- HiLink rIdentifier Normal
-- HiLink rArrow Statement
-- HiLink rType Type
-- HiLink rDelimiter Delimiter
-- HiLink rError Error
-- HiLink rBraceError Error
-- HiLink rCurlyError Error
-- HiLink rParenError Error
-- delcommand HiLink
--endif
-+hi def link rArrow Statement
-+hi def link rBoolean Boolean
-+hi def link rBraceError Error
-+hi def link rComment Comment
-+hi def link rComplex Number
-+hi def link rConditional Conditional
-+hi def link rConstant Constant
-+hi def link rCurlyError Error
-+hi def link rDelimiter Delimiter
-+hi def link rDollar SpecialChar
-+hi def link rError Error
-+hi def link rFloat Float
-+hi def link rInteger Number
-+hi def link rNumber Number
-+hi def link rOperator Operator
-+hi def link rParenError Error
-+hi def link rPreProc PreProc
-+hi def link rRepeat Repeat
-+hi def link rSpecial SpecialChar
-+hi def link rStatement Statement
-+hi def link rString String
-+hi def link rStrError Error
-+hi def link rType Type
-
- let b:current_syntax="r"
-
- " vim: ts=8 sw=2
--
-diff -u -r --new-file runtime/syntax.orig/rhelp.vim runtime/syntax/rhelp.vim
---- runtime/syntax.orig/rhelp.vim 2010-05-15 06:03:56.000000000 -0500
-+++ runtime/syntax/rhelp.vim 2011-01-08 08:36:35.000000000 -0600
-@@ -1,10 +1,10 @@
- " Vim syntax file
- " Language: R Help File
- " Maintainer: Johannes Ranke <jranke@uni-bremen.de>
--" Last Change: 2010 Apr 22
--" Version: 0.7.3
--" SVN: $Id: rhelp.vim 88 2010-04-22 19:37:09Z ranke $
--" Remarks: - Now includes R syntax highlighting in the appropriate
-+" Last Change: 2010 Nov 22
-+" Version: 0.7.4
-+" SVN: $Id: rhelp.vim 90 2010-11-22 10:58:11Z ranke $
-+" Remarks: - Includes R syntax highlighting in the appropriate
- " sections if an r.vim file is in the same directory or in the
- " default debian location.
- " - There is no Latex markup in equations
-@@ -28,19 +28,19 @@
- syn region rhelpIdentifier matchgroup=rhelpSection start="\\name{" end="}"
- syn region rhelpIdentifier matchgroup=rhelpSection start="\\alias{" end="}"
- syn region rhelpIdentifier matchgroup=rhelpSection start="\\pkg{" end="}"
--syn region rhelpIdentifier matchgroup=rhelpSection start="\\item{" end="}" contained contains=rhelpDots
--syn region rhelpIdentifier matchgroup=rhelpSection start="\\method{" end=/}/ contained
-+syn region rhelpIdentifier matchgroup=rhelpSection start="\\method{" end="}" contained
-+syn region rhelpIdentifier matchgroup=rhelpSection start="\\Rdversion{" end="}"
-
- " Highlighting of R code using an existing r.vim syntax file if available {{{1
- syn include @R syntax/r.vim
- syn match rhelpDots "\\dots" containedin=@R
--syn region rhelpRcode matchgroup=Delimiter start="\\examples{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpSection
--syn region rhelpRcode matchgroup=Delimiter start="\\usage{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpIdentifier,rhelpS4method
--syn region rhelpRcode matchgroup=Delimiter start="\\synopsis{" matchgroup=Delimiter transparent end=/}/ contains=@R
--syn region rhelpRcode matchgroup=Delimiter start="\\special{" matchgroup=Delimiter transparent end=/}/ contains=@R contained
--syn region rhelpRcode matchgroup=Delimiter start="\\code{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpLink contained
--syn region rhelpS4method matchgroup=Delimiter start="\\S4method{.*}(" matchgroup=Delimiter transparent end=/)/ contains=@R,rhelpDots contained
--syn region rhelpSexpr matchgroup=Delimiter start="\\Sexpr{" matchgroup=Delimiter transparent end=/}/ contains=@R
-+syn region rhelpRcode matchgroup=Delimiter start="\\examples{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpSection
-+syn region rhelpRcode matchgroup=Delimiter start="\\usage{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpIdentifier,rhelpS4method
-+syn region rhelpRcode matchgroup=Delimiter start="\\synopsis{" matchgroup=Delimiter transparent end="}" contains=@R
-+syn region rhelpRcode matchgroup=Delimiter start="\\special{" matchgroup=Delimiter transparent end="}" contains=@R contained
-+syn region rhelpRcode matchgroup=Delimiter start="\\code{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpLink contained
-+syn region rhelpS4method matchgroup=Delimiter start="\\S4method{.*}(" matchgroup=Delimiter transparent end=")" contains=@R,rhelpDots contained
-+syn region rhelpSexpr matchgroup=Delimiter start="\\Sexpr{" matchgroup=Delimiter transparent end="}" contains=@R
-
- " Strings {{{1
- syn region rhelpString start=/"/ end=/"/
-@@ -53,7 +53,7 @@
- syn match rhelpDelimiter "\\tab "
-
- " Keywords {{{1
--syn match rhelpKeyword "\\R"
-+syn match rhelpKeyword "\\R" contained
- syn match rhelpKeyword "\\ldots"
- syn match rhelpKeyword "--"
- syn match rhelpKeyword "---"
-@@ -129,10 +129,13 @@
- syn match rhelpType "\\file\>"
- syn match rhelpType "\\email\>"
- syn match rhelpType "\\url\>"
-+syn match rhelpType "\\href\>"
- syn match rhelpType "\\var\>"
- syn match rhelpType "\\env\>"
- syn match rhelpType "\\option\>"
- syn match rhelpType "\\command\>"
-+syn match rhelpType "\\newcommand\>"
-+syn match rhelpType "\\renewcommand\>"
- syn match rhelpType "\\dfn\>"
- syn match rhelpType "\\cite\>"
- syn match rhelpType "\\acronym\>"
-@@ -140,6 +143,7 @@
- " rhelp sections {{{1
- syn match rhelpSection "\\encoding\>"
- syn match rhelpSection "\\title\>"
-+syn match rhelpSection "\\item\>"
- syn match rhelpSection "\\description\>"
- syn match rhelpSection "\\concept\>"
- syn match rhelpSection "\\arguments\>"
-@@ -153,11 +157,11 @@
- syn match rhelpSection "\\docType\>"
- syn match rhelpSection "\\format\>"
- syn match rhelpSection "\\source\>"
--syn match rhelpSection "\\itemize\>"
--syn match rhelpSection "\\describe\>"
--syn match rhelpSection "\\enumerate\>"
--syn match rhelpSection "\\item "
--syn match rhelpSection "\\item$"
-+syn match rhelpSection "\\itemize\>"
-+syn match rhelpSection "\\describe\>"
-+syn match rhelpSection "\\enumerate\>"
-+syn match rhelpSection "\\item "
-+syn match rhelpSection "\\item$"
- syn match rhelpSection "\\tabular{[lcr]*}"
- syn match rhelpSection "\\dontrun\>"
- syn match rhelpSection "\\dontshow\>"
-@@ -165,11 +169,11 @@
- syn match rhelpSection "\\donttest\>"
-
- " Freely named Sections {{{1
--syn region rhelpFreesec matchgroup=Delimiter start="\\section{" matchgroup=Delimiter transparent end=/}/
--syn region rhelpFreesubsec matchgroup=Delimiter start="\\subsection{" matchgroup=Delimiter transparent end=/}/
-+syn region rhelpFreesec matchgroup=Delimiter start="\\section{" matchgroup=Delimiter transparent end="}"
-+syn region rhelpFreesubsec matchgroup=Delimiter start="\\subsection{" matchgroup=Delimiter transparent end="}"
-
- " R help file comments {{{1
--syn match rhelpComment /%.*$/ contained
-+syn match rhelpComment /%.*$/
-
- " Error {{{1
- syn region rhelpRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rhelpError,rhelpBraceError,rhelpCurlyError
-diff -u -r --new-file runtime/syntax.orig/tex.vim runtime/syntax/tex.vim
---- runtime/syntax.orig/tex.vim 2010-08-13 06:58:36.000000000 -0500
-+++ runtime/syntax/tex.vim 2011-01-08 08:36:35.000000000 -0600
-@@ -1,8 +1,8 @@
- " Vim syntax file
- " Language: TeX
- " Maintainer: Dr. Charles E. Campbell, Jr. <NdrchipO@ScampbellPfamily.AbizM>
--" Last Change: Aug 12, 2010
--" Version: 57
-+" Last Change: Sep 17, 2010
-+" Version: 60
- " URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
- "
- " Notes: {{{1
-@@ -67,11 +67,11 @@
- " g:tex_stylish to 1 (for "*.sty" mode)
- " or to 0 else (normal "*.tex" mode)
- " or on a buffer-by-buffer basis with b:tex_stylish
--let b:extfname=expand("%:e")
-+let s:extfname=expand("%:e")
- if exists("g:tex_stylish")
- let b:tex_stylish= g:tex_stylish
- elseif !exists("b:tex_stylish")
-- if b:extfname == "sty" || b:extfname == "cls" || b:extfname == "clo" || b:extfname == "dtx" || b:extfname == "ltx"
-+ if s:extfname == "sty" || s:extfname == "cls" || s:extfname == "clo" || s:extfname == "dtx" || s:extfname == "ltx"
- let b:tex_stylish= 1
- else
- let b:tex_stylish= 0
-@@ -92,12 +92,12 @@
- " (La)TeX keywords: only use the letters a-zA-Z {{{1
- " but _ is the only one that causes problems.
- if version < 600
-- set isk-=_
-+ set isk=a-z,A-Z
- if b:tex_stylish
- set isk+=@
- endif
- else
-- setlocal isk-=_
-+ setlocal isk=a-z,A-Z
- if b:tex_stylish
- setlocal isk+=@
- endif
-@@ -300,7 +300,7 @@
-
- " Bad Math (mismatched): {{{1
- if !exists("tex_no_math")
-- syn match texBadMath "\\end\s*{\s*\(array\|gathered\|bBpvV]matrix\|split\|subequations\|smallmatrix\|xxalignat\)\s*}"
-+ syn match texBadMath "\\end\s*{\s*\(array\|gathered\|bBpvV]matrix\|split\|smallmatrix\|xxalignat\)\s*}"
- syn match texBadMath "\\end\s*{\s*\(align\|alignat\|displaymath\|displaymath\|eqnarray\|equation\|flalign\|gather\|math\|multline\|xalignat\)\*\=\s*}"
- syn match texBadMath "\\[\])]"
- endif
-@@ -345,7 +345,6 @@
- call TexNewMathZone("G","gather",1)
- call TexNewMathZone("H","math",1)
- call TexNewMathZone("I","multline",1)
-- call TexNewMathZone("J","subequations",0)
- call TexNewMathZone("K","xalignat",1)
- call TexNewMathZone("L","xxalignat",0)
-
-@@ -412,7 +411,7 @@
- syn case ignore
- syn keyword texTodo contained combak fixme todo xxx
- syn case match
--if b:extfname == "dtx"
-+if s:extfname == "dtx"
- syn match texComment "\^\^A.*$" contains=@texCommentGroup
- syn match texComment "^%\+" contains=@texCommentGroup
- else
-@@ -468,15 +467,16 @@
- endif
-
- " Tex Reference Zones: {{{1
--syn region texZone matchgroup=texStatement start="@samp{" end="}\|%stopzone\>" contains=@texRefGroup
--syn region texRefZone matchgroup=texStatement start="\\nocite{" end="}\|%stopzone\>" contains=@texRefGroup
--syn region texRefZone matchgroup=texStatement start="\\bibliography{" end="}\|%stopzone\>" contains=@texRefGroup
--syn region texRefZone matchgroup=texStatement start="\\label{" end="}\|%stopzone\>" contains=@texRefGroup
--syn region texRefZone matchgroup=texStatement start="\\\(page\|eq\)ref{" end="}\|%stopzone\>" contains=@texRefGroup
--syn region texRefZone matchgroup=texStatement start="\\v\=ref{" end="}\|%stopzone\>" contains=@texRefGroup
--syn match texRefZone '\\cite\%([tp]\*\=\)\=' nextgroup=texRefOption,texCite
--syn region texRefOption contained matchgroup=Delimiter start='\[' end=']' contains=@texRefGroup,texRefZone nextgroup=texRefOption,texCite
--syn region texCite contained matchgroup=Delimiter start='{' end='}' contains=@texRefGroup,texRefZone,texCite
-+syn match texRefZone '\\@samp\>' skipwhite nextgroup=texRefLabel
-+syn match texRefZone '\\nocite\>' skipwhite nextgroup=texRefLabel
-+syn match texRefZone '\\bibliography\>' skipwhite nextgroup=texRefLabel
-+syn match texRefZone '\\label\>' skipwhite nextgroup=texRefLabel
-+syn match texRefZone '\\\(page\|eq\)ref\>' skipwhite nextgroup=texRefLabel
-+syn match texRefZone '\\v\=ref' skipwhite nextgroup=texRefLabel
-+syn match texRefZone '\\cite\%([tp]\*\=\)\=' skipwhite nextgroup=texCiteOption,texCite
-+syn region texRefLabel contained matchgroup=Delimiter start='{' end='}' contains=@texRefGroup
-+syn region texCiteOption contained matchgroup=Delimiter start='\[' end=']' contains=@Spell,@texRefGroup,@texMathZones,texRefZone nextgroup=texCiteOption,texCite
-+syn region texCite contained matchgroup=Delimiter start='{' end='}' contains=@texRefGroup,texCite
-
- " Handle newcommand, newenvironment : {{{1
- syn match texNewCmd "\\newcommand\>" nextgroup=texCmdName skipwhite skipnl
-@@ -753,7 +753,11 @@
- \ ['wedge' , '∧'],
- \ ['wr' , '≀']]
- for texmath in s:texMathList
-- exe "syn match texMathSymbol '\\\\".texmath[0]."\\>' contained conceal cchar=".texmath[1]
-+ if texmath[0] =~ '\w$'
-+ exe "syn match texMathSymbol '\\\\".texmath[0]."\\>' contained conceal cchar=".texmath[1]
-+ else
-+ exe "syn match texMathSymbol '\\\\".texmath[0]."' contained conceal cchar=".texmath[1]
-+ endif
- endfor
-
- if &ambw == "double"
-@@ -1027,7 +1031,6 @@
- HiLink texError Error
- endif
-
-- HiLink texCite texRefZone
- HiLink texDefCmd texDef
- HiLink texDefName texDef
- HiLink texDocType texCmdName
-@@ -1052,6 +1055,7 @@
- HiLink texMathZoneV texMath
- HiLink texMathZoneZ texMath
- endif
-+ HiLink texRefZone Identifier
- HiLink texSectionMarker texCmdName
- HiLink texSectionName texSection
- HiLink texSpaceCode texStatement
-@@ -1060,6 +1064,7 @@
- HiLink texTypeStyle texType
-
- " Basic TeX highlighting groups
-+ HiLink texCite Special
- HiLink texCmdArgs Number
- HiLink texCmdName Statement
- HiLink texComment Comment
-@@ -1075,7 +1080,7 @@
- HiLink texNewCmd Statement
- HiLink texNewEnv Statement
- HiLink texOption Number
-- HiLink texRefZone Special
-+ HiLink texRefLabel Special
- HiLink texSection PreCondit
- HiLink texSpaceCodeChar Special
- HiLink texSpecialChar SpecialChar
-@@ -1089,6 +1094,6 @@
- endif
-
- " Current Syntax: {{{1
--unlet b:extfname
-+unlet s:extfname
- let b:current_syntax = "tex"
- " vim: ts=8 fdm=marker
-diff -u -r --new-file runtime/syntax.orig/vim.vim runtime/syntax/vim.vim
---- runtime/syntax.orig/vim.vim 2010-08-04 15:21:21.000000000 -0500
-+++ runtime/syntax/vim.vim 2011-01-08 08:32:58.000000000 -0600
-@@ -1,8 +1,8 @@
- " Vim syntax file
- " Language: Vim 7.3 script
- " Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
--" Last Change: August 04, 2010
--" Version: 7.3-04
-+" Last Change: August 20, 2010
-+" Version: 7.3-05
- " Automatically generated keyword lists: {{{1
-
- " Quit when a syntax file was already loaded {{{2
-@@ -16,12 +16,14 @@
- syn cluster vimCommentGroup contains=vimTodo,@Spell
-
- " regular vim commands {{{2
--syn keyword vimCommand contained abc[lear] argdo argu[ment] bel[owright] bN[ext] breakd[el] b[uffer] caddb[uffer] cb[uffer] cex[pr] cg[etfile] checkt[ime] cnew[er] col[der] con[tinue] cq[uit] delc[ommand] diffoff diffu[pdate] dr[op] echom[sg] em[enu] endt[ry] exi[t] fina[lly] fix[del] foldd[oopen] go[to] hid[e] ij[ump] isp[lit] k laddb[uffer] la[st] lch[dir] lex[pr] lgete[xpr] l[ist] lmak[e] lN[ext] loc[kmarks] lpf[ile] lt[ag] lv[imgrep] ma[rk] mk[exrc] mkv[imrc] mz[scheme] new noh[lsearch] on[ly] ped[it] popu prev[ious] prof[ile] pta[g] ptn[ext] pts[elect] py[thon] r[ead] redr[aw] ret[ab] rightb[elow] rundo san[dbox] sbf[irst] sbN[ext] scripte[ncoding] setg[lobal] sh[ell] sla[st] sme sni[ff] sor[t] spelli[nfo] sp[lit] startg[replace] st[op] sunme syncbind tabd[o] tabl[ast] tabN[ext] tabs tcld[o] th[row] tm[enu] tp[revious] tu undoj[oin] uns[ilent] vert[ical] vi[sual] wa[ll] winp[os] wp[revious] ws[verb] xa[ll] xmenu xnoremenu
--syn keyword vimCommand contained abo[veleft] arge[dit] as[cii] bf[irst] bo[tright] breakl[ist] buffers cad[dexpr] cc cf[ile] c[hange] cla[st] cn[ext] colo[rscheme] cope[n] cr[ewind] d[elete] diffpatch dig[raphs] ds[earch] echon emenu* endw[hile] f[ile] fin[d] fo[ld] foldo[pen] gr[ep] his[tory] il[ist] iuna[bbrev] keepalt lad[dexpr] later lcl[ose] lf[ile] lg[etfile] ll lmapc[lear] lnf[ile] lockv[ar] lp[revious] lua lvimgrepa[dd] marks mks[ession] mod[e] nbc[lose] n[ext] nu[mber] o[pen] pe[rl] popu[p] p[rint] promptf[ind] ptf[irst] ptN[ext] pu[t] qa[ll] rec[over] redraws[tatus] retu[rn] rub[y] ru[ntime] sa[rgument] sbl[ast] sbp[revious] scrip[tnames] setl[ocal] sign sl[eep] smenu sno[magic] so[urce] spellr[epall] spr[evious] star[tinsert] stopi[nsert] sunmenu t tabe[dit] tabm[ove] tabo[nly] ta[g] tclf[ile] tj[ump] tn[ext] tr[ewind] tu[nmenu] undol[ist] up[date] vie[w] vmapc[lear] wh[ile] win[size] wq wundo x[it] XMLent xunme
--syn keyword vimCommand contained al[l] argg[lobal] bad[d] bl[ast] bp[revious] br[ewind] bun[load] caddf[ile] ccl[ose] cfir[st] changes cl[ist] cN[ext] comc[lear] co[py] cuna[bbrev] delf[unction] diffpu[t] di[splay] dsp[lit] e[dit] endfo[r] ene[w] files fini[sh] foldc[lose] for grepa[dd] iabc[lear] imapc[lear] j[oin] keepj[umps] laddf[ile] lb[uffer] le[ft] lfir[st] lgr[ep] lla[st] lnew[er] lNf[ile] lol[der] lr[ewind] luado lw[indow] mat[ch] mksp[ell] m[ove] nb[key] N[ext] ol[dfiles] opt[ions] perld[o] pp[op] P[rint] promptr[epl] ptj[ump] ptp[revious] pw[d] q[uit] redi[r] reg[isters] rew[ind] rubyd[o] rv[iminfo] sav[eas] sbm[odified] sbr[ewind] se[t] sf[ind] sil[ent] sm[agic] sn[ext] snoreme spelld[ump] spellu[ndo] sre[wind] startr[eplace] sts[elect] sus[pend] tab tabf[ind] tabnew tabp[revious] tags te[aroff] tl[ast] tN[ext] try una[bbreviate] unh[ide] verb[ose] vim[grep] vne[w] winc[md] wn[ext] wqa[ll] wv[iminfo] xmapc[lear] XMLns xunmenu
--syn keyword vimCommand contained arga[dd] argl[ocal] ba[ll] bm[odified] brea[k] bro[wse] bw[ipeout] cal[l] cd cgetb[uffer] chd[ir] clo[se] cnf[ile] comp[iler] cpf[ile] cw[indow] delm[arks] diffsplit dj[ump] earlier el[se] endf[unction] ex filetype fir[st] folddoc[losed] fu[nction] ha[rdcopy] if is[earch] ju[mps] kee[pmarks] lan[guage] lc[d] lefta[bove] lgetb[uffer] lgrepa[dd] lli[st] lne[xt] lo[adview] lop[en] ls luafile mak[e] menut[ranslate] mkvie[w] mzf[ile] nbs[tart] nmapc[lear] omapc[lear] pc[lose] po[p] pre[serve] profd[el] ps[earch] ptl[ast] ptr[ewind] pyf[ile] quita[ll] red[o] res[ize] ri[ght] rubyf[ile] sal[l] sba[ll] sbn[ext] sb[uffer] setf[iletype] sfir[st] sim[alt] sm[ap] sN[ext] snoremenu spe[llgood] spellw[rong] sta[g] stj[ump] sun[hide] sv[iew] tabc[lose] tabfir[st] tabn[ext] tabr[ewind] tc[l] tf[irst] tm to[pleft] ts[elect] u[ndo] unlo[ckvar] ve[rsion] vimgrepa[dd] vs[plit] windo wN[ext] w[rite] X xme xnoreme y[ank]
--syn keyword vimCommand contained argd[elete] ar[gs] bd[elete] bn[ext] breaka[dd] bufdo cabc[lear] cat[ch] ce[nter] cgete[xpr] che[ckpath] cmapc[lear] cNf[ile] conf[irm] cp[revious] debugg[reedy] diffg[et] diffthis dl[ist] echoe[rr] elsei[f] en[dif]
--syn match vimCommand contained "\<z[-+^.=]"
-+syn keyword vimCommand contained a arga[dd] argu[ment] bd[elete] bN[ext] breakd[el] buf c cal[l] ce[nter] cg[etfile] cl cn cNf comc[lear] cope[n] cr[ewind] d d[elete] diffo diffsplit di[splay] ds[earch] ec e:e:e en endt[ry] exu[sage] filetype fix[del] for go[to] h hi if intro k la lan[guage] lch[dir] let@ lg[etfile] lla[st] lnew[er] lNf[ile] loc[kmarks] lr[ewind] lv[imgrep] ma[rk] messages mkv mv n new noautocmd on[ly] p:~ perld[o] popu[p] p[rint] promptr[epl] ptl[ast] ptr[ewind] py3file q[uit] r[ead] redraws[tatus] ret[ab] r:r:r ru[ntime] sba[ll] sbp[revious] scs sf[ind] sil[ent] sm[ap] sno[magic] so[urce] spellr[epall] st startr[eplace] sunme sw[apname] t tabf[ind] tabn[ext] ta[g] tf[irst] tn tp[revious] tu undoj[oin] up[date] vi vmapc[lear] win wN[ext] wundo xmapc[lear] xnoremenu
-+syn keyword vimCommand contained ab argd[elete] as[cii] bel[owright] bo[tright] breakl[ist] bufdo cabc[lear] cat[ch] cex[pr] c[hange] cla[st] cN cnf[ile] comment co[py] cs de delf diffoff difft dj[ump] dsp[lit] echoe[rr] e:e:r endf endw[hile] f fin fo[ld] fu gr[ep] ha[rdcopy] hid[e] ij[ump] is[earch] keepa lad la[st] lcl[ose] lex[pr] lgr[ep] lli[st] lne[xt] lo lockv[ar] ls lvimgrepa[dd] marks mk mkvie[w] Mycmd N n[ext] noh[lsearch] o[pen] P p:gs? pp[op] P[rint] ps[earch] ptn pts[elect] pyf[ile] quita[ll] rec[over] reg[isters] retu[rn] ru rv[iminfo] sbf[irst] sbr[ewind] scscope sfir[st] sim[alt] sme snoreme s?pat?sub? spellu[ndo] sta[g] stj[ump] sunmenu sy ta tabfir[st] tabN[ext] tags th[row] tN tr tu[nmenu] undol[ist] v vie[w] vne[w] winc[md] wp[revious] wv[iminfo] xme xterm
-+syn keyword vimCommand contained abc[lear] argdo au bf[irst] bp[revious] br[ewind] b[uffer] cad cb[uffer] cf[ile] changes cl[ist] cnew[er] cNf[ile] comp[iler] count cscope debug delf[unction] DiffOrig diffthis dl[ist] dwim echom[sg] el[se] endfo[r] ene[w] f[ile] fina[lly] foldc[lose] fun grepa[dd] h[elp] his[tory] il[ist] isp[lit] keepalt laddb[uffer] lat lcs lf[ile] lgrepa[dd] lmak[e] lN[ext] loadk lol[der] lt[ag] lw[indow] mat[ch] mkdir mkv[imrc] MyCommand nbc[lose] N[ext] nu[mber] opt[ions] pc[lose] p:h pr pro p:t ptN pu[t] py[thon] quote red Ren rew[ind] rub[y] sal[l] sbl[ast] sb[uffer] se[t] sh[ell] sl smenu snoremenu spe spellw[rong] star st[op] sus[pend] syn tab tabl[ast] tabo[nly] tc[l] tj[ump] tn[ext] t:r u unh[ide] ve vim[grep] vs[plit] windo wq x xmenu xunme
-+syn keyword vimCommand contained abo[veleft] arge[dit] bad[d] bl[ast] br bro[wse] buffers caddb[uffer] cc cfir[st] chd[ir] clo[se] cn[ext] col[der] con cpf[ile] cstag debugg[reedy] delm[arks] diffp diffu[pdate] do e echon elsei[f] endfun Error filename fin[d] folddoc[losed] fu[nction] gs?pat?sub? helpf[ind] i imapc[lear] iuna[bbrev] keepj[umps] lad[dexpr] later lcscope lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lop[en] lua ma menut mk[exrc] mo mz nb[key] nkf o ownsyntax pe p:h:h p:r profd[el] pta[g] ptn[ext] pw[d] python3 r redi[r] Rena ri[ght] rubyd[o] san[dbox] sbm[odified] scrip setf[iletype] si sla[st] sn[ext] s@\n@\=\r" spelld[ump] sp[lit] start stopi[nsert] s?version?main? sync tabc[lose] tabm[ove] tabp[revious] tcld[o] tl[ast] tN[ext] tr[ewind] un unl verb[ose] vimgrepa[dd] w winp[os] wqa[ll] X XMLent xunmenu
-+syn keyword vimCommand contained al[l] argg[lobal] ba[ll] bm[odified] brea[k] browseset bun[load] cad[dexpr] ccl[ose] cgetb[uffer] che[ckpath] cmapc[lear] cN[ext] colo[rscheme] conf[irm] cp[revious] cuna[bbrev] del di diffpatch dig doau ea e[dit] em[enu] endf[unction] ex files fini[sh] foldd[oopen] g gui helpg[rep] ia in j[oin] kee[pmarks] laddf[ile] lb[uffer] le[ft] lgetb[uffer] l[ist] lN lNf lo[adview] lpf[ile] luado mak[e] menut[ranslate] mks[ession] mod[e] mzf[ile] nbs[tart] nmapc[lear] ol[dfiles] p ped[it] po[p] pre[serve] prof[ile] ptf[irst] ptN[ext] py q re red[o] Renu rightb[elow] rubyf[ile] sa[rgument] sbn[ext] scripte[ncoding] setg[lobal] sig sl[eep] sN[ext] so spe[llgood] spr[evious] startg[replace] sts[elect] s?version?main?:p syncbind tabd[o] tabN tabr[ewind] tclf[ile] tm TOhtml try una[bbreviate] unlo[ckvar] ve[rsion] vi[sual] wa[ll] win[size] w[rite] xa[ll] XMLns xwininfo
-+syn keyword vimCommand contained Allargs argl[ocal] bar bn[ext] breaka[dd] bu bw[ipeout] caddf[ile] cd cgete[xpr] checkt[ime] cmdname cnf com con[tinue] cq[uit] cw[indow] delc[ommand] diffg[et] diffpu[t] dig[raphs] dr[op] earlier e:e emenu* en[dif] exi[t] filet fir[st] foldo[pen] get gvim helpt[ags] iabc[lear] index ju[mps] l lan lc[d] lefta[bove] lgete[xpr] ll lne lnf[ile] locale lp[revious] luafile Man mes mksp[ell] m[ove] mz[scheme] ne noa omapc[lear] p: pe[rl] popu prev[ious] promptf[ind] ptj[ump] ptp[revious] py3 qa[ll] r:e redr[aw] res[ize] r:r rundo sav[eas] sbN[ext] scrip[tnames] setl[ocal] sign sm[agic] sni[ff] sor[t] spelli[nfo] sre[wind] star[tinsert] sun[hide] sv[iew] synlist tabe[dit] tabnew tabs te[aroff] tm[enu] to[pleft] ts[elect] u[ndo] uns[ilent] vert[ical] viu[sage] wh[ile] wn[ext] ws[verb] x[it] xnoreme y[ank]
-+syn keyword vimCommand contained ar ar[gs]
-+syn match vimCommand contained "\<z[-+^.=]\="
-
- " vimOptions are caught only when contained in a vimSet {{{2
- syn keyword vimOption contained acd ambiwidth arabicshape autowriteall backupdir bdlay binary breakat bufhidden cd ci cinw co commentstring confirm cpoptions cscopetag csto cwh dg dip eadirection ek equalprg ex fdi fen fileencodings flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imi incsearch infercase isk keymap langmenu linespace loadplugins macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pm printdevice printoptions quoteescape restorescreen rnu rulerformat scr sect sft shellredir shm showmode sj smd spell splitbelow ssl stl sw sxq tabpagemax tags tbis terse thesaurus titleold toolbariconsize tsr ttyfast tx undofile ut verbosefile virtualedit wb wfw wildcharm winaltkeys winminwidth wmnu write
-@@ -318,7 +320,7 @@
- " ====
- syn match vimMap "\<map\>!\=\ze\s*[^(]" skipwhite nextgroup=vimMapMod,vimMapLhs
- syn keyword vimMap cm[ap] cno[remap] im[ap] ino[remap] lm[ap] ln[oremap] nm[ap] nn[oremap] no[remap] om[ap] ono[remap] smap snor[emap] vm[ap] vn[oremap] xm[ap] xn[oremap] skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs
--syn keyword vimMap mapc[lear]
-+syn keyword vimMap mapc[lear] smapc[lear]
- syn keyword vimUnmap cu[nmap] iu[nmap] lu[nmap] nun[map] ou[nmap] sunm[ap] unm[ap] unm[ap] vu[nmap] xu[nmap] skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs
- syn match vimMapLhs contained "\S\+" contains=vimNotation,vimCtrlChar skipwhite nextgroup=vimMapRhs
- syn match vimMapBang contained "!" skipwhite nextgroup=vimMapMod,vimMapLhs
-@@ -552,7 +554,7 @@
- if !filereadable(s:luapath)
- let s:luapath= globpath(&rtp,"syntax/lua.vim")
- endif
--if (g:vimsyn_embed =~ 'p' && has("lua")) && filereadable(s:luapath)
-+if (g:vimsyn_embed =~ 'l' && has("lua")) && filereadable(s:luapath)
- unlet! b:current_syntax
- exe "syn include @vimLuaScript ".s:luapath
- if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'l'
-diff -u -r --new-file runtime/syntax.orig/xf86conf.vim runtime/syntax/xf86conf.vim
---- runtime/syntax.orig/xf86conf.vim 2010-05-15 06:03:56.000000000 -0500
-+++ runtime/syntax/xf86conf.vim 2011-01-08 08:35:02.000000000 -0600
-@@ -1,8 +1,8 @@
- " Vim syntax file
- " This is a GENERATED FILE. Please always refer to source file at the URI below.
- " Language: XF86Config (XFree86 configuration file)
--" Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
--" Last Change: 2005 Jul 12
-+" Former Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
-+" Last Change: 2010 Nov 01
- " URL: http://trific.ath.cx/Ftp/vim/syntax/xf86conf.vim
- " Required Vim Version: 6.0
- "
-@@ -63,7 +63,7 @@
-
- " Sections and subsections
- if b:xf86conf_xfree86_version >= 4
-- syn region xf86confSection matchgroup=xf86confSectionDelim start="^\s*Section\s\+\"\(Files\|Server[_ ]*Flags\|Input[_ ]*Device\|Device\|Video[_ ]*Adaptor\|Server[_ ]*Layout\|DRI\|Extensions\|Vendor\|Keyboard\|Pointer\)\"" end="^\s*EndSection\>" skip="#.*$\|\"[^\"]*\"" contains=xf86confComment,xf86confOption,xf86confKeyword,xf86confSectionError
-+ syn region xf86confSection matchgroup=xf86confSectionDelim start="^\s*Section\s\+\"\(Files\|Server[_ ]*Flags\|Input[_ ]*Device\|Device\|Video[_ ]*Adaptor\|Server[_ ]*Layout\|DRI\|Extensions\|Vendor\|Keyboard\|Pointer\|InputClass\)\"" end="^\s*EndSection\>" skip="#.*$\|\"[^\"]*\"" contains=xf86confComment,xf86confOption,xf86confKeyword,xf86confSectionError
- syn region xf86confSectionModule matchgroup=xf86confSectionDelim start="^\s*Section\s\+\"Module\"" end="^\s*EndSection\>" skip="#.*$\|\"[^\"]*\"" contains=xf86confSubsectionAny,xf86confComment,xf86confOption,xf86confKeyword
- syn region xf86confSectionMonitor matchgroup=xf86confSectionDelim start="^\s*Section\s\+\"Monitor\"" end="^\s*EndSection\>" skip="#.*$\|\"[^\"]*\"" contains=xf86confSubsectionMode,xf86confModeLine,xf86confComment,xf86confOption,xf86confKeyword
- syn region xf86confSectionModes matchgroup=xf86confSectionDelim start="^\s*Section\s\+\"Modes\"" end="^\s*EndSection\>" skip="#.*$\|\"[^\"]*\"" contains=xf86confSubsectionMode,xf86confModeLine,xf86confComment
-@@ -165,7 +165,7 @@
-
- " Synchronization
- if b:xf86conf_xfree86_version >= 4
-- syn sync match xf86confSyncSection grouphere xf86confSection "^\s*Section\s\+\"\(Files\|Server[_ ]*Flags\|Input[_ ]*Device\|Device\|Video[_ ]*Adaptor\|Server[_ ]*Layout\|DRI\|Extensions\|Vendor\|Keyboard\|Pointer\)\""
-+ syn sync match xf86confSyncSection grouphere xf86confSection "^\s*Section\s\+\"\(Files\|Server[_ ]*Flags\|Input[_ ]*Device\|Device\|Video[_ ]*Adaptor\|Server[_ ]*Layout\|DRI\|Extensions\|Vendor\|Keyboard\|Pointer\|InputClass\)\""
- syn sync match xf86confSyncSectionModule grouphere xf86confSectionModule "^\s*Section\s\+\"Module\""
- syn sync match xf86confSyncSectionModes groupthere xf86confSectionModes "^\s*Section\s\+\"Modes\""
- else
-diff -u -r --new-file runtime/syntax.orig/xquery.vim runtime/syntax/xquery.vim
---- runtime/syntax.orig/xquery.vim 2010-05-15 06:03:56.000000000 -0500
-+++ runtime/syntax/xquery.vim 2011-01-08 08:23:05.000000000 -0600
-@@ -1,10 +1,11 @@
- " Vim syntax file
- " Language: XQuery
--" Author: Jean-Marc Vanel <http://jmvanel.free.fr/>
--" Last Change: mar jui 12 18:04:05 CEST 2005
-+" Author: René Neumann <necoro@necoro.eu>
-+" Author: Steve Spigarelli <http://spig.net/>
-+" Original Author: Jean-Marc Vanel <http://jmvanel.free.fr/>
-+" Last Change: December 11, 2010
- " Filenames: *.xq
- " URL: http://jmvanel.free.fr/vim/xquery.vim
--" $Id: xquery.vim,v 1.1 2005/07/18 21:44:56 vimboss Exp $
-
- " REFERENCES:
- " [1] http://www.w3.org/TR/xquery/
-@@ -14,22 +15,26 @@
- finish
- endif
-
-+" - is allowed in keywords
-+setlocal iskeyword+=-
-+
- runtime syntax/xml.vim
-
- syn case match
-
- " From XQuery grammar:
--syn keyword xqueryStatement ancestor ancestor-or-self and as ascending at attribute base-uri by case cast castable child collation construction declare default descendant descendant-or-self descending div document element else empty encoding eq every except external following following-sibling for function ge greatest gt idiv if import in inherit-namespaces instance intersect is le least let lt mod module namespace ne no of or order ordered ordering parent preceding preceding-sibling preserve return satisfies schema self some stable strip then to treat typeswitch union unordered validate variable version where xmlspace xquery yes
-+syn keyword xqStatement ancestor ancestor-or-self and as ascending at attribute base-uri boundary-space by case cast castable child collation construction declare default descendant descendant-or-self descending div document element else empty encoding eq every except external following following-sibling for function ge greatest gt idiv if import in inherit-namespaces instance intersect is le least let lt mod module namespace ne no of or order ordered ordering parent preceding preceding-sibling preserve return satisfies schema self some stable strip then to treat typeswitch union unordered validate variable version where xmlspace xquery yes
-
- " TODO contains clashes with vim keyword
--syn keyword xqueryFunction abs adjust-date-to-timezone adjust-date-to-timezone adjust-dateTime-to-timezone adjust-dateTime-to-timezone adjust-time-to-timezone adjust-time-to-timezone avg base-uri base-uri boolean ceiling codepoint-equal codepoints-to-string collection collection compare concat count current-date current-dateTime current-time data dateTime day-from-date day-from-dateTime days-from-duration deep-equal deep-equal default-collation distinct-values distinct-values doc doc-available document-uri empty ends-with ends-with error error error error escape-uri exactly-one exists false floor hours-from-dateTime hours-from-duration hours-from-time id id idref idref implicit-timezone in-scope-prefixes index-of index-of insert-before lang lang last local-name local-name local-name-from-QName lower-case matches matches max max min min minutes-from-dateTime minutes-from-duration minutes-from-time month-from-date month-from-dateTime months-from-duration name name namespace-uri namespace-uri namespace-uri-for-prefix namespace-uri-from-QName nilled node-name normalize-space normalize-space normalize-unicode normalize-unicode not number number one-or-more position prefix-from-QName QName remove replace replace resolve-QName resolve-uri resolve-uri reverse root root round round-half-to-even round-half-to-even seconds-from-dateTime seconds-from-duration seconds-from-time starts-with starts-with static-base-uri string string string-join string-length string-length string-to-codepoints subsequence subsequence substring substring substring-after substring-after substring-before substring-before sum sum timezone-from-date timezone-from-dateTime timezone-from-time tokenize tokenize trace translate true unordered upper-case year-from-date year-from-dateTime years-from-duration zero-or-one
-+syn keyword xqFunction abs adjust-date-to-timezone adjust-date-to-timezone adjust-dateTime-to-timezone adjust-dateTime-to-timezone adjust-time-to-timezone adjust-time-to-timezone avg base-uri base-uri boolean ceiling codepoint-equal codepoints-to-string collection collection compare concat count current-date current-dateTime current-time data dateTime day-from-date day-from-dateTime days-from-duration deep-equal deep-equal default-collation distinct-values distinct-values doc doc-available document-uri empty ends-with ends-with error error error error escape-uri exactly-one exists false floor hours-from-dateTime hours-from-duration hours-from-time id id idref idref implicit-timezone in-scope-prefixes index-of index-of insert-before lang lang last local-name local-name local-name-from-QName lower-case matches matches max max min min minutes-from-dateTime minutes-from-duration minutes-from-time month-from-date month-from-dateTime months-from-duration name name namespace-uri namespace-uri namespace-uri-for-prefix namespace-uri-from-QName nilled node-name normalize-space normalize-space normalize-unicode normalize-unicode not number number one-or-more position prefix-from-QName QName remove replace replace resolve-QName resolve-uri resolve-uri reverse root root round round-half-to-even round-half-to-even seconds-from-dateTime seconds-from-duration seconds-from-time starts-with starts-with static-base-uri string string string-join string-length string-length string-to-codepoints subsequence subsequence substring substring substring-after substring-after substring-before substring-before sum sum timezone-from-date timezone-from-dateTime timezone-from-time tokenize tokenize trace translate true unordered upper-case year-from-date year-from-dateTime years-from-duration zero-or-one
-+
-+syn keyword xqOperator add-dayTimeDuration-to-date add-dayTimeDuration-to-dateTime add-dayTimeDuration-to-time add-dayTimeDurations add-yearMonthDuration-to-date add-yearMonthDuration-to-dateTime add-yearMonthDurations base64Binary-equal boolean-equal boolean-greater-than boolean-less-than concatenate date-equal date-greater-than date-less-than dateTime-equal dateTime-greater-than dateTime-less-than dayTimeDuration-equal dayTimeDuration-greater-than dayTimeDuration-less-than divide-dayTimeDuration divide-dayTimeDuration-by-dayTimeDuration divide-yearMonthDuration divide-yearMonthDuration-by-yearMonthDuration except gDay-equal gMonth-equal gMonthDay-equal gYear-equal gYearMonth-equal hexBinary-equal intersect is-same-node multiply-dayTimeDuration multiply-yearMonthDuration node-after node-before NOTATION-equal numeric-add numeric-divide numeric-equal numeric-greater-than numeric-integer-divide numeric-less-than numeric-mod numeric-multiply numeric-subtract numeric-unary-minus numeric-unary-plus QName-equal subtract-dates-yielding-dayTimeDuration subtract-dateTimes-yielding-dayTimeDuration subtract-dayTimeDuration-from-date subtract-dayTimeDuration-from-dateTime subtract-dayTimeDuration-from-time subtract-dayTimeDurations subtract-times subtract-yearMonthDuration-from-date subtract-yearMonthDuration-from-dateTime subtract-yearMonthDurations time-equal time-greater-than time-less-than to union yearMonthDuration-equal yearMonthDuration-greater-than yearMonthDuration-less-than
-
--syn keyword xqueryOperator add-dayTimeDuration-to-date add-dayTimeDuration-to-dateTime add-dayTimeDuration-to-time add-dayTimeDurations add-yearMonthDuration-to-date add-yearMonthDuration-to-dateTime add-yearMonthDurations base64Binary-equal boolean-equal boolean-greater-than boolean-less-than concatenate date-equal date-greater-than date-less-than dateTime-equal dateTime-greater-than dateTime-less-than dayTimeDuration-equal dayTimeDuration-greater-than dayTimeDuration-less-than divide-dayTimeDuration divide-dayTimeDuration-by-dayTimeDuration divide-yearMonthDuration divide-yearMonthDuration-by-yearMonthDuration except gDay-equal gMonth-equal gMonthDay-equal gYear-equal gYearMonth-equal hexBinary-equal intersect is-same-node multiply-dayTimeDuration multiply-yearMonthDuration node-after node-before NOTATION-equal numeric-add numeric-divide numeric-equal numeric-greater-than numeric-integer-divide numeric-less-than numeric-mod numeric-multiply numeric-subtract numeric-unary-minus numeric-unary-plus QName-equal subtract-dates-yielding-dayTimeDuration subtract-dateTimes-yielding-dayTimeDuration subtract-dayTimeDuration-from-date subtract-dayTimeDuration-from-dateTime subtract-dayTimeDuration-from-time subtract-dayTimeDurations subtract-times subtract-yearMonthDuration-from-date subtract-yearMonthDuration-from-dateTime subtract-yearMonthDurations time-equal time-greater-than time-less-than to union yearMonthDuration-equal yearMonthDuration-greater-than yearMonthDuration-less-than
-+syn match xqType "xs:\(\|Datatype\|primitive\|string\|boolean\|float\|double\|decimal\|duration\|dateTime\|time\|date\|gYearMonth\|gYear\|gMonthDay\|gDay\|gMonth\|hexBinary\|base64Binary\|anyURI\|QName\|NOTATION\|\|normalizedString\|token\|language\|IDREFS\|ENTITIES\|NMTOKEN\|NMTOKENS\|Name\|NCName\|ID\|IDREF\|ENTITY\|integer\|nonPositiveInteger\|negativeInteger\|long\|int\|short\|byte\|nonNegativeInteger\|unsignedLong\|unsignedInt\|unsignedShort\|unsignedByte\|positiveInteger\)"
-
--syn match xqueryType "xs:\(\|Datatype\|primitive\|string\|boolean\|float\|double\|decimal\|duration\|dateTime\|time\|date\|gYearMonth\|gYear\|gMonthDay\|gDay\|gMonth\|hexBinary\|base64Binary\|anyURI\|QName\|NOTATION\|\|normalizedString\|token\|language\|IDREFS\|ENTITIES\|NMTOKEN\|NMTOKENS\|Name\|NCName\|ID\|IDREF\|ENTITY\|integer\|nonPositiveInteger\|negativeInteger\|long\|int\|short\|byte\|nonNegativeInteger\|unsignedLong\|unsignedInt\|unsignedShort\|unsignedByte\|positiveInteger\)"
-
- " From XPath grammar:
--syn keyword xqueryXPath some every in in satisfies if then else to div idiv mod union intersect except instance of treat castable cast eq ne lt le gt ge is child descendant attribute self descendant-or-self following-sibling following namespace parent ancestor preceding-sibling preceding ancestor-or-self void item node document-node text comment processing-instruction attribute schema-attribute schema-element
-+syn keyword xqXPath some every in in satisfies if then else to div idiv mod union intersect except instance of treat castable cast eq ne lt le gt ge is child descendant attribute self descendant-or-self following-sibling following namespace parent ancestor preceding-sibling preceding ancestor-or-self void item node document-node text comment processing-instruction attribute schema-attribute schema-element
-
- " eXist extensions
- syn match xqExist "&="
-@@ -37,44 +42,41 @@
- " XQdoc
- syn match XQdoc contained "@\(param\|return\|author\)\>"
-
--highlight def link xqueryStatement Statement
--highlight def link xqueryFunction Function
--highlight def link xqueryOperator Operator
--highlight def link xqueryType Type
--highlight def link xqueryXPath Operator
--highlight def link XQdoc Special
--highlight def link xqExist Operator
--
--
--"floating point number, with dot, optional exponent
--syn match cFloat "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
--"floating point number, starting with a dot, optional exponent
--syn match cFloat "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
--"floating point number, without dot, with exponent
--syn match cFloat "\d\+e[-+]\=\d\+[fl]\=\>"
--syn match cNumber "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
--syn match cNumber "\<\d\+\>"
--highlight def link cNumber Number
--highlight def link cFloat Number
--
--syn region xqComment start='(:' excludenl end=':)' contains=XQdoc
--highlight def link xqComment Comment
--" syntax match xqVariable "$\w\+"
--syntax match xqVariable +$\<[a-zA-Z:_][-.0-9a-zA-Z0-9:_]*\>+
--highlight def link xqVariable Identifier
--
--" Redefine the default XML highlighting:
--highlight def link xmlTag Structure
--highlight def link xmlTagName Structure
--highlight def link xmlEndTag Structure
--
--syntax match xqSeparator ",\|;"
--highlight link xqSeparator Operator
--
--syn region xqCode transparent contained start='{' excludenl end='}' contains=xmlRegionBis,xqComment,xqueryStatement,xmlString,xqSeparator,cNumber,xqVariable keepend extend
-+" floating point number, with dot, optional exponent
-+syn match xqFloat "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
-+" floating point number, starting with a dot, optional exponent
-+syn match xqFloat "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
-+" floating point number, without dot, with exponent
-+syn match xqFloat "\d\+e[-+]\=\d\+[fl]\=\>"
-+syn match xqNumber "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
-+syn match xqNumber "\<\d\+\>"
-+
-+syn region xqString start=+"+ end=+"+
-+syn region xqComment start='(:' excludenl end=':)' contains=XQdoc
-+
-+syn match xqVariable "$\<[a-zA-Z:_][-.0-9a-zA-Z0-9:_]*\>"
-+syn match xqSeparator ",\|;"
-+syn region xqCode transparent contained start='{' excludenl end='}' contains=xqFunction,xqCode,xmlRegionBis,xqComment,xqStatement,xmlString,xqSeparator,xqNumber,xqVariable,xqString keepend extend
-
- syn region xmlRegionBis start=+<\z([^ /!?<>"']\+\)+ skip=+<!--\_.\{-}-->+ end=+</\z1\_\s\{-}>+ end=+/>+ fold contains=xmlTag,xmlEndTag,xmlCdata,xmlRegionBis,xmlComment,xmlEntity,xmlProcessing,xqCode keepend extend
-
--syn region List transparent start='(' excludenl end=')' contains=xqCode,xmlRegion,xqComment,xqSeparator,xqueryStatement,xqVariable,xqueryType keepend extend
--
-+hi def link xqNumber Number
-+hi def link xqFloat Number
-+hi def link xqString String
-+hi def link xqVariable Identifier
-+hi def link xqComment Comment
-+hi def link xqSeparator Operator
-+hi def link xqStatement Statement
-+hi def link xqFunction Function
-+hi def link xqOperator Operator
-+hi def link xqType Type
-+hi def link xqXPath Operator
-+hi def link XQdoc Special
-+hi def link xqExist Operator
-+
-+" override the xml highlighting
-+"hi link xmlTag Structure
-+"hi link xmlTagName Structure
-+"hi link xmlEndTag Structure
-
-+let b:current_syntax = "xquery"
-diff -u -r --new-file runtime/syntax.orig/yacc.vim runtime/syntax/yacc.vim
---- runtime/syntax.orig/yacc.vim 2010-08-02 10:40:18.000000000 -0500
-+++ runtime/syntax/yacc.vim 2011-01-08 08:23:05.000000000 -0600
-@@ -1,12 +1,22 @@
- " Vim syntax file
- " Language: Yacc
- " Maintainer: Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
--" Last Change: Aug 2, 2010
--" Version: 8
-+" Last Change: Aug 12, 2010
-+" Version: 9
- " URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
- "
- " Options: {{{1
- " g:yacc_uses_cpp : if this variable exists, then C++ is loaded rather than C
-+"
-+" Overall layout of a bison/yacc grammer:
-+" %{
-+" Prolog
-+" %}
-+" Bison/Yacc Declarations
-+" %%
-+" Grammar Rules
-+" %%
-+" Epilogue
-
- " ---------------------------------------------------------------------
- " this version of syntax/yacc.vim requires 6.0 or later
-@@ -35,7 +45,7 @@
-
- " ---------------------------------------------------------------------
- " Yacc Clusters: {{{1
--syn cluster yaccInitCluster contains=yaccKey,yaccKeyActn,yaccBrkt,yaccType,yaccString,yaccUnionStart,yaccHeader2,yaccComment,yaccDefines,yaccParseParam
-+syn cluster yaccInitCluster contains=yaccKey,yaccKeyActn,yaccBrkt,yaccType,yaccString,yaccUnionStart,yaccHeader2,yaccComment,yaccDefines,yaccParseParam,yaccParseOption
- syn cluster yaccRulesCluster contains=yaccNonterminal,yaccString
-
- " ---------------------------------------------------------------------
-@@ -50,7 +60,8 @@
- " ---------------------------------------------------------------------
- " Yacc Commands: {{{1
- syn match yaccDefines '^%define\s\+.*$'
--syn match yaccParseParam '%parse-param\>' skipwhite nextgroup=yaccParseParamStr
-+syn match yaccParseParam '%\(parse\|lex\)-param\>' skipwhite nextgroup=yaccParseParamStr
-+syn match yaccParseOption '%\%(api\.pure\|pure-parser\|locations\|error-verbose\)\>'
- syn region yaccParseParamStr contained matchgroup=Delimiter start='{' end='}' contains=cStructure
-
- syn match yaccDelim "[:|]" contained
-@@ -96,7 +107,8 @@
- HiLink yaccCurly Delimiter
- HiLink yaccCurlyError Error
- HiLink yaccDefines cDefine
-- HiLink yaccParseParam cDefine
-+ HiLink yaccParseParam yaccParseOption
-+ HiLink yaccParseOption cDefine
- HiLink yaccNonterminal Function
- HiLink yaccDelim Delimiter
- HiLink yaccKeyActn Special
-diff -u -r --new-file runtime/syntax.orig/yaml.vim runtime/syntax/yaml.vim
---- runtime/syntax.orig/yaml.vim 2010-08-13 07:54:35.000000000 -0500
-+++ runtime/syntax/yaml.vim 2011-01-08 08:40:13.000000000 -0600
-@@ -1,86 +1,186 @@
- " Vim syntax file
--" Language: YAML (YAML Ain't Markup Language)
--" Maintainer: Nikolai Weibull <now@bitwi.se>
--" Latest Revision: 2010-08-12
-+" Language: YAML (YAML Ain't Markup Language) 1.2
-+" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
-+" First author: Nikolai Weibull <now@bitwi.se>
-+" Latest Revision: 2010-10-08
-
--if exists("b:current_syntax")
-- finish
-+if exists('b:current_syntax')
-+ finish
- endif
-
- let s:cpo_save = &cpo
- set cpo&vim
-
--syn keyword yamlTodo contained TODO FIXME XXX NOTE
-+let s:ns_char = '\%(\%([\n\r\uFEFF \t]\)\@!\p\)'
-+let s:ns_word_char = '\%(\w\|-\)'
-+let s:ns_uri_char = '\%(%\x\x\|'.s:ns_word_char.'\|[#/;?:@&=+$,.!~*''()\[\]]\)'
-+let s:ns_tag_char = '\%(%\x\x\|'.s:ns_word_char.'\|[#/;?:@&=+$.~*''()]\)'
-+let s:c_ns_anchor_char = '\%(\%([\n\r\uFEFF \t,\[\]{}]\)\@!\p\)'
-+let s:c_indicator = '[\-?:,\[\]{}#&*!|>''"%@`]'
-+let s:c_flow_indicator = '[,\[\]{}]'
-+
-+let s:c_verbatim_tag = '!<'.s:ns_uri_char.'\+>'
-+let s:c_named_tag_handle = '!'.s:ns_word_char.'\+!'
-+let s:c_secondary_tag_handle = '!!'
-+let s:c_primary_tag_handle = '!'
-+let s:c_tag_handle = '\%('.s:c_named_tag_handle.
-+ \ '\|'.s:c_secondary_tag_handle.
-+ \ '\|'.s:c_primary_tag_handle.'\)'
-+let s:c_ns_shorthand_tag = s:c_tag_handle . s:ns_tag_char.'\+'
-+let s:c_non_specific_tag = '!'
-+let s:c_ns_tag_property = s:c_verbatim_tag.
-+ \ '\|'.s:c_ns_shorthand_tag.
-+ \ '\|'.s:c_non_specific_tag
-+
-+let s:c_ns_anchor_name = s:c_ns_anchor_char.'\+'
-+let s:c_ns_anchor_property = '&'.s:c_ns_anchor_name
-+let s:c_ns_alias_node = '\*'.s:c_ns_anchor_name
-+
-+let s:ns_directive_name = s:ns_char.'\+'
-+
-+let s:ns_local_tag_prefix = '!'.s:ns_uri_char.'*'
-+let s:ns_global_tag_prefix = s:ns_tag_char.s:ns_uri_char.'*'
-+let s:ns_tag_prefix = s:ns_local_tag_prefix.
-+ \ '\|'.s:ns_global_tag_prefix
-+
-+let s:ns_plain_safe_out = s:ns_char
-+let s:ns_plain_safe_in = '\%('.s:c_flow_indicator.'\@!'.s:ns_char.'\)'
-+
-+let s:ns_plain_first_in = '\%('.s:c_indicator.'\@!'.s:ns_char.'\|[?:\-]\%('.s:ns_plain_safe_in.'\)\@=\)'
-+let s:ns_plain_first_out = '\%('.s:c_indicator.'\@!'.s:ns_char.'\|[?:\-]\%('.s:ns_plain_safe_out.'\)\@=\)'
-+
-+let s:ns_plain_char_in = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_in.'\|[:#]\@!'.s:ns_plain_safe_in.'\)'
-+let s:ns_plain_char_out = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_out.'\|[:#]\@!'.s:ns_plain_safe_out.'\)'
-
--syn region yamlComment display oneline start='\%(^\|\s\)#' end='$'
-- \ contains=yamlTodo,@Spell
-+let s:ns_plain_out = s:ns_plain_first_out . s:ns_plain_char_out.'*'
-+let s:ns_plain_in = s:ns_plain_first_in . s:ns_plain_char_in.'*'
-
--syn match yamlNodeProperty '!\%(![^\\^% ]\+\|[^!][^:/ ]*\)'
-
--syn match yamlAnchor '&.\+'
-+syn keyword yamlTodo contained TODO FIXME XXX NOTE
-
--syn match yamlAlias '\*.\+'
-+syn region yamlComment display oneline start='\%\(^\|\s\)#' end='$'
-+ \ contains=yamlTodo
-
--syn match yamlDelimiter '[-,:]'
--syn match yamlBlock '[\[\]{}>|]'
--syn match yamlOperator '[?+-]'
--syn match yamlKey '\w\+\(\s\+\w\+\)*\ze\s*:'
--
--syn region yamlString matchgroup=yamlStringDelimiter
-- \ start=+"+ skip=+\\"+ end=+"+
-- \ contains=yamlEscape
--syn region yamlString matchgroup=yamlStringDelimiter
-- \ start=+'+ skip=+''+ end=+'+
-- \ contains=yamlSingleEscape
--syn match yamlEscape contained display +\\[\\"abefnrtv^0_ NLP]+
--syn match yamlEscape contained display '\\x\x\{2}'
--syn match yamlEscape contained display '\\u\x\{4}'
--syn match yamlEscape contained display '\\U\x\{8}'
--" TODO: how do we get 0x85, 0x2028, and 0x2029 into this?
--syn match yamlEscape display '\\\%(\r\n\|[\r\n]\)'
--syn match yamlSingleEscape contained +''+
--
--" TODO: sexagecimal and fixed (20:30.15 and 1,230.15)
--syn match yamlNumber display
-- \ '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\='
--syn match yamlNumber display '0\o\+'
--syn match yamlNumber display '0x\x\+'
--syn match yamlNumber display '([+-]\=[iI]nf)'
--syn match yamlNumber display '(NaN)'
--
--syn match yamlConstant '\<[~yn]\>'
--syn keyword yamlConstant true True TRUE false False FALSE
--syn keyword yamlConstant yes Yes on ON no No off OFF
--syn keyword yamlConstant null Null NULL nil Nil NIL
--
--syn match yamlTimestamp '\d\d\d\d-\%(1[0-2]\|\d\)-\%(3[0-2]\|2\d\|1\d\|\d\)\%( \%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d [+-]\%([01]\d\|2[0-3]\):[0-5]\d\|t\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d[+-]\%([01]\d\|2[0-3]\):[0-5]\d\|T\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\dZ\)\='
--
--syn region yamlDocumentHeader start='---' end='$' contains=yamlDirective
--syn match yamlDocumentEnd '\.\.\.'
--
--syn match yamlDirective contained '%[^:]\+:.\+'
--
--hi def link yamlTodo Todo
--hi def link yamlComment Comment
--hi def link yamlDocumentHeader PreProc
--hi def link yamlDocumentEnd PreProc
--hi def link yamlDirective Keyword
--hi def link yamlNodeProperty Type
--hi def link yamlAnchor Type
--hi def link yamlAlias Type
--hi def link yamlDelimiter Delimiter
--hi def link yamlBlock Operator
--hi def link yamlOperator Operator
--hi def link yamlKey Identifier
--hi def link yamlString String
--hi def link yamlStringDelimiter yamlString
--hi def link yamlEscape SpecialChar
--hi def link yamlSingleEscape SpecialChar
--hi def link yamlNumber Number
--hi def link yamlConstant Constant
--hi def link yamlTimestamp Number
-+execute 'syn region yamlDirective oneline start='.string('^\ze%'.s:ns_directive_name.'\s\+').' '.
-+ \ 'end="$" '.
-+ \ 'contains=yamlTAGDirective,'.
-+ \ 'yamlYAMLDirective,'.
-+ \ 'yamlReservedDirective '.
-+ \ 'keepend'
-+
-+syn match yamlTAGDirective '%TAG\s\+' contained nextgroup=yamlTagHandle
-+execute 'syn match yamlTagHandle contained nextgroup=yamlTagPrefix '.string(s:c_tag_handle.'\s\+')
-+execute 'syn match yamlTagPrefix contained nextgroup=yamlComment ' . string(s:ns_tag_prefix)
-+
-+syn match yamlYAMLDirective '%YAML\s\+' contained nextgroup=yamlYAMLVersion
-+syn match yamlYAMLVersion '\d\+\.\d\+' contained nextgroup=yamlComment
-+
-+execute 'syn match yamlReservedDirective contained nextgroup=yamlComment '.
-+ \string('%\%(\%(TAG\|YAML\)\s\)\@!'.s:ns_directive_name)
-+
-+syn region yamlFlowString matchgroup=yamlFlowStringDelimiter start='"' skip='\\"' end='"'
-+ \ contains=yamlEscape
-+ \ nextgroup=yamlKeyValueDelimiter
-+syn region yamlFlowString matchgroup=yamlFlowStringDelimiter start="'" skip="''" end="'"
-+ \ contains=yamlSingleEscape
-+ \ nextgroup=yamlKeyValueDelimiter
-+syn match yamlEscape contained '\\\%([\\"abefnrtv\^0_ NLP\n]\|x\x\x\|u\x\{4}\|U\x\{8}\)'
-+syn match yamlSingleEscape contained "''"
-+
-+syn match yamlBlockScalarHeader contained '\s\+\zs[|>]\%([+-]\=[1-9]\|[1-9]\=[+-]\)\='
-+
-+syn cluster yamlFlow contains=yamlFlowString,yamlFlowMapping,yamlFlowCollection
-+syn cluster yamlFlow add=yamlFlowMappingKey,yamlFlowMappingMerge
-+syn cluster yamlFlow add=yamlConstant,yamlPlainScalar,yamlFloat
-+syn cluster yamlFlow add=yamlTimestamp,yamlInteger,yamlMappingKeyStart
-+syn cluster yamlFlow add=yamlComment
-+syn region yamlFlowMapping matchgroup=yamlFlowIndicator start='{' end='}' contains=@yamlFlow
-+syn region yamlFlowCollection matchgroup=yamlFlowIndicator start='\[' end='\]' contains=@yamlFlow
-+
-+execute 'syn match yamlPlainScalar /'.s:ns_plain_out.'/'
-+execute 'syn match yamlPlainScalar contained /'.s:ns_plain_in.'/'
-+
-+syn match yamlMappingKeyStart '?\ze\s'
-+syn match yamlMappingKeyStart '?' contained
-+
-+execute 'syn match yamlFlowMappingKey /'.s:ns_plain_in.'\ze\s*:/ contained '.
-+ \'nextgroup=yamlKeyValueDelimiter'
-+syn match yamlFlowMappingMerge /<<\ze\s*:/ contained nextgroup=yamlKeyValueDelimiter
-+
-+syn match yamlBlockCollectionItemStart '^\s*\zs-\%(\s\+-\)*\s' nextgroup=yamlBlockMappingKey,yamlBlockMappingMerge
-+execute 'syn match yamlBlockMappingKey /^\s*\zs'.s:ns_plain_out.'\ze\s*:\%(\s\|$\)/ '.
-+ \'nextgroup=yamlKeyValueDelimiter'
-+execute 'syn match yamlBlockMappingKey /\s*\zs'.s:ns_plain_out.'\ze\s*:\%(\s\|$\)/ contained '.
-+ \'nextgroup=yamlKeyValueDelimiter'
-+syn match yamlBlockMappingMerge /^\s*\zs<<\ze:\%(\s\|$\)/ nextgroup=yamlKeyValueDelimiter
-+syn match yamlBlockMappingMerge /<<\ze\s*:\%(\s\|$\)/ nextgroup=yamlKeyValueDelimiter contained
-+
-+syn match yamlKeyValueDelimiter /\s*:/ contained
-+syn match yamlKeyValueDelimiter /\s*:/ contained
-+
-+syn keyword yamlConstant true True TRUE false False FALSE
-+syn keyword yamlConstant null Null NULL
-+syn match yamlConstant '\<\~\>'
-+
-+syn match yamlTimestamp /\%([\[\]{}, \t]\@!\p\)\@<!\%(\d\{4}-\d\d\=-\d\d\=\%(\%([Tt]\|\s\+\)\%(\d\d\=\):\%(\d\d\):\%(\d\d\)\%(\.\%(\d*\)\)\=\%(\s*\%(Z\|[+-]\d\d\=\%(:\d\d\)\=\)\)\=\)\=\)\%([\[\]{}, \t]\@!\p\)\@!/
-+
-+syn match yamlInteger /\%([\[\]{}, \t]\@!\p\)\@<!\%([+-]\=\%(0\%(b[0-1_]\+\|[0-7_]\+\|x[0-9a-fA-F_]\+\)\=\|\%([1-9][0-9_]*\%(:[0-5]\=\d\)\+\)\)\|[1-9][0-9_]*\)\%([\[\]{}, \t]\@!\p\)\@!/
-+syn match yamlFloat /\%([\[\]{}, \t]\@!\p\)\@<!\%([+-]\=\%(\%(\d[0-9_]*\)\.[0-9_]*\%([eE][+-]\d\+\)\=\|\.[0-9_]\+\%([eE][-+][0-9]\+\)\=\|\d[0-9_]*\%(:[0-5]\=\d\)\+\.[0-9_]*\|\.\%(inf\|Inf\|INF\)\)\|\%(\.\%(nan\|NaN\|NAN\)\)\)\%([\[\]{}, \t]\@!\p\)\@!/
-+
-+execute 'syn match yamlNodeTag '.string(s:c_ns_tag_property)
-+execute 'syn match yamlAnchor '.string(s:c_ns_anchor_property)
-+execute 'syn match yamlAlias '.string(s:c_ns_alias_node)
-+
-+syn match yamlDocumentStart '^---\ze\%(\s\|$\)'
-+syn match yamlDocumentEnd '^\.\.\.\ze\%(\s\|$\)'
-+
-+hi def link yamlTodo Todo
-+hi def link yamlComment Comment
-+
-+hi def link yamlDocumentStart PreProc
-+hi def link yamlDocumentEnd PreProc
-+
-+hi def link yamlDirectiveName Keyword
-+
-+hi def link yamlTAGDirective yamlDirectiveName
-+hi def link yamlTagHandle String
-+hi def link yamlTagPrefix String
-+
-+hi def link yamlYAMLDirective yamlDirectiveName
-+hi def link yamlReservedDirective Error
-+hi def link yamlYAMLVersion Number
-+
-+hi def link yamlString String
-+hi def link yamlFlowString yamlString
-+hi def link yamlFlowStringDelimiter yamlString
-+hi def link yamlEscape SpecialChar
-+hi def link yamlSingleEscape SpecialChar
-+
-+hi def link yamlBlockCollectionItemStart Label
-+hi def link yamlBlockMappingKey Identifier
-+hi def link yamlBlockMappingMerge Special
-+
-+hi def link yamlFlowMappingKey Identifier
-+hi def link yamlFlowMappingMerge Special
-+
-+hi def link yamlMappingKeyStart Special
-+hi def link yamlFlowIndicator Special
-+hi def link yamlKeyValueDelimiter Special
-+
-+hi def link yamlConstant Constant
-+
-+hi def link yamlAnchor Type
-+hi def link yamlAlias Type
-+hi def link yamlNodeTag Type
-+
-+hi def link yamlInteger Number
-+hi def link yamlFloat Float
-+hi def link yamlTimestamp Number
-
- let b:current_syntax = "yaml"
-
-+unlet s:ns_word_char s:ns_uri_char s:c_verbatim_tag s:c_named_tag_handle s:c_secondary_tag_handle s:c_primary_tag_handle s:c_tag_handle s:ns_tag_char s:c_ns_shorthand_tag s:c_non_specific_tag s:c_ns_tag_property s:c_ns_anchor_char s:c_ns_anchor_name s:c_ns_anchor_property s:c_ns_alias_node s:ns_char s:ns_directive_name s:ns_local_tag_prefix s:ns_global_tag_prefix s:ns_tag_prefix s:c_indicator s:ns_plain_safe_out s:c_flow_indicator s:ns_plain_safe_in s:ns_plain_first_in s:ns_plain_first_out s:ns_plain_char_in s:ns_plain_char_out s:ns_plain_out s:ns_plain_in
-+
- let &cpo = s:cpo_save
- unlet s:cpo_save
-+
diff --git a/source/ap/vim/vim-runtime-syntax-20131002.diff b/source/ap/vim/vim-runtime-syntax-20131002.diff
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/source/ap/vim/vim-runtime-syntax-20131002.diff
diff --git a/source/ap/vim/vim.SlackBuild b/source/ap/vim/vim.SlackBuild
index bf2e54225..bdfd0a38c 100755
--- a/source/ap/vim/vim.SlackBuild
+++ b/source/ap/vim/vim.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,10 +20,10 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VIMVER=7.3
+VIMVER=7.4
CTAGSVER=5.8
# This is the directory in the VIM source archive to cd into.
-DIRVER=73
+DIRVER=74
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -59,10 +59,13 @@ mkdir -p $TMP $PKG
# Determine VIM patchlevel:
if [ -d $CWD/patches ] ; then
cd $CWD/patches
- PATCHLEVEL=$(/bin/ls 2> /dev/null | tail -1 | cut -f 3 -d . )
+ PATCHLEVEL=$(/bin/ls ?.?.????.gz 2> /dev/null | tail -1 | cut -f 3 -d . )
+ if [ "$PATCHLEVEL" = "" ]; then
+ PATCHLEVEL=$(/bin/ls ?.?.???.gz 2> /dev/null | tail -1 | cut -f 3 -d . )
if [ "$PATCHLEVEL" = "" ]; then
PATCHLEVEL=000
fi
+ fi
cd $CWD
fi
@@ -139,8 +142,10 @@ find . \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-for file in $CWD/patches/* ; do
- ( zcat $file 2> /dev/null | patch -p0 --verbose --batch )
+for file in $CWD/patches/?.?.???.gz $CWD/patches/?.?.????.gz ; do
+ if [ -f $file ]; then
+ zcat $file | patch -p0 --verbose || exit 1
+ fi
done
config_vim --without-x --disable-gui
diff --git a/source/ap/xfsdump/xfsdump.SlackBuild b/source/ap/xfsdump/xfsdump.SlackBuild
index f293b6a38..a5cd0d85a 100755
--- a/source/ap/xfsdump/xfsdump.SlackBuild
+++ b/source/ap/xfsdump/xfsdump.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -48,8 +48,6 @@ rm -rf xfsdump-$(echo $VERSION | cut -f 1 -d '-')
tar xvf $CWD/xfsdump-$VERSION.tar.?z* || exit 1
cd xfsdump-$(echo $VERSION | cut -f 1 -d '-') || exit 1
-zcat $CWD/xfsdump.destdir.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/ap/xfsdump/xfsdump.destdir.diff b/source/ap/xfsdump/xfsdump.destdir.diff
deleted file mode 100644
index a42bb3a20..000000000
--- a/source/ap/xfsdump/xfsdump.destdir.diff
+++ /dev/null
@@ -1,34 +0,0 @@
---- ./include/builddefs.in.orig 2010-01-12 19:53:18.000000000 -0600
-+++ ./include/builddefs.in 2010-02-09 15:17:24.000000000 -0600
-@@ -32,13 +32,13 @@
- datarootdir = @datarootdir@
- top_builddir = @top_builddir@
-
--PKG_SBIN_DIR = @sbindir@
--PKG_ROOT_SBIN_DIR = @root_sbindir@
--PKG_ROOT_LIB_DIR= @root_libdir@@libdirsuffix@
--PKG_INC_DIR = @includedir@
--PKG_MAN_DIR = @mandir@
--PKG_DOC_DIR = @datadir@/doc/@pkg_name@
--PKG_LOCALE_DIR = @datadir@/locale
-+PKG_SBIN_DIR = $(DESTDIR)@sbindir@
-+PKG_ROOT_SBIN_DIR = $(DESTDIR)@root_sbindir@
-+PKG_ROOT_LIB_DIR= $(DESTDIR)@root_libdir@@libdirsuffix@
-+PKG_INC_DIR = $(DESTDIR)@includedir@
-+PKG_MAN_DIR = $(DESTDIR)@mandir@
-+PKG_DOC_DIR = $(DESTDIR)@datadir@/doc/@pkg_name@
-+PKG_LOCALE_DIR = $(DESTDIR)@datadir@/locale
-
- CC = @cc@
- AWK = @awk@
---- ./include/buildmacros.orig 2010-01-12 19:53:18.000000000 -0600
-+++ ./include/buildmacros 2010-02-09 15:15:47.000000000 -0600
-@@ -30,7 +30,7 @@
- $(LFILES:.l=.o) \
- $(YFILES:%.y=%.tab.o)
-
--INSTALL = $(TOPDIR)/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
-+INSTALL = $(TOPDIR)/install-sh
-
- SHELL = /bin/sh
- IMAGES_DIR = $(TOPDIR)/all-images
diff --git a/source/d/binutils/binutils-2.22.52.0.2.tar.sign b/source/d/binutils/binutils-2.22.52.0.2.tar.sign
deleted file mode 100644
index c2bf99305..000000000
--- a/source/d/binutils/binutils-2.22.52.0.2.tar.sign
+++ /dev/null
Binary files differ
diff --git a/source/d/binutils/binutils-2.23.52.0.1.tar.sign b/source/d/binutils/binutils-2.23.52.0.1.tar.sign
new file mode 100644
index 000000000..83daf366a
--- /dev/null
+++ b/source/d/binutils/binutils-2.23.52.0.1.tar.sign
Binary files differ
diff --git a/source/d/binutils/binutils.SlackBuild b/source/d/binutils/binutils.SlackBuild
index 02791dc1e..82b7f1818 100755
--- a/source/d/binutils/binutils.SlackBuild
+++ b/source/d/binutils/binutils.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -100,6 +100,17 @@ tar xvf $CWD/binutils-$VERSION.tar.xz || \
tar xvf $CWD/binutils-$VERSION.tar.bz2 || exit 1
cd binutils-$VERSION
+# Use dynamic symbol table if addr2line can't find ordinary symbols:
+zcat $CWD/binutils.addr2line.dynsymtab.diff.gz | patch -p1 --verbose || exit 1
+# Export the demangle.h header file:
+zcat $CWD/binutils.export.demangle.h.diff.gz | patch -p1 --verbose || exit 1
+# Don't check to see if "config.h" was included in the installed headers:
+zcat $CWD/binutils.no-config-h-check.diff.gz | patch -p1 --verbose || exit 1
+# Revert a patch that broke library linking for weak symbols:
+zcat $CWD/binutils.revert.pr15149.diff.gz | patch -p1 --verbose || exit 1
+# Prepare for texinfo-5.x... someday:
+zcat $CWD/binutils.texinfo5.diff.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/d/binutils/binutils.addr2line.dynsymtab.diff b/source/d/binutils/binutils.addr2line.dynsymtab.diff
new file mode 100644
index 000000000..ee71eb7e1
--- /dev/null
+++ b/source/d/binutils/binutils.addr2line.dynsymtab.diff
@@ -0,0 +1,128 @@
+--- ./bfd/opncls.c.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./bfd/opncls.c 2013-04-02 15:56:55.703204116 -0500
+@@ -1297,6 +1297,8 @@
+ bfd_malloc (strlen (debug_file_directory) + 1
+ + (canon_dirlen > dirlen ? canon_dirlen : dirlen)
+ + strlen (".debug/")
++#define FEDORA_LIB_DEBUG_DIR "/usr/lib/debug/"
++ + strlen (FEDORA_LIB_DEBUG_DIR) + strlen ("usr/")
+ + strlen (base)
+ + 1);
+ if (debugfile == NULL)
+@@ -1332,6 +1334,26 @@
+ return debugfile;
+ }
+
++ /* Then try in the global debug dir for Fedora libraries. */
++ sprintf (debugfile, "%s%s%s", FEDORA_LIB_DEBUG_DIR, dir, base);
++ if (separate_debug_file_exists (debugfile, crc32))
++ {
++ free (base);
++ free (dir);
++ free (canon_dir);
++ return debugfile;
++ }
++
++ /* Then try in the usr subdirectory of the global debug dir for Fedora libraries. */
++ sprintf (debugfile, "%s/usr%s%s", FEDORA_LIB_DEBUG_DIR, dir, base);
++ if (separate_debug_file_exists (debugfile, crc32))
++ {
++ free (base);
++ free (dir);
++ free (canon_dir);
++ return debugfile;
++ }
++
+ /* Then try in the global debugfile directory. */
+ strcpy (debugfile, debug_file_directory);
+ dirlen = strlen (debug_file_directory) - 1;
+--- ./bfd/dwarf2.c.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./bfd/dwarf2.c 2013-04-02 15:56:55.704204116 -0500
+@@ -3339,8 +3339,11 @@
+ struct dwarf2_debug *stash;
+ /* What address are we looking for? */
+ bfd_vma addr;
++ /* What is the address without relocation ? */
++ bfd_vma unrelocated_addr;
+ struct comp_unit* each;
+ bfd_vma found = FALSE;
++ bfd_vma possible_find = FALSE;
+ bfd_boolean do_line;
+
+ *filename_ptr = NULL;
+@@ -3380,6 +3383,12 @@
+ else
+ abort ();
+
++ /* If we are dealing with PIC code then the debug information
++ will be based on unrelocated addresses. Since we cannot be
++ sure if this is a PIC address we test both with and without
++ relocation. */
++ unrelocated_addr = addr;
++
+ if (section->output_section)
+ addr += section->output_section->vma + section->output_offset;
+ else
+@@ -3442,6 +3451,16 @@
+ stash));
+ if (found)
+ goto done;
++
++ if (! possible_find)
++ possible_find = ((each->arange.high == 0
++ || comp_unit_contains_address (each, unrelocated_addr))
++ && comp_unit_find_nearest_line (each, unrelocated_addr,
++ filename_ptr,
++ functionname_ptr,
++ linenumber_ptr,
++ discriminator_ptr,
++ stash));
+ }
+ }
+
+@@ -3535,6 +3554,16 @@
+ discriminator_ptr,
+ stash));
+
++ if (! found && ! do_line && ! possible_find)
++ possible_find = ((each->arange.high == 0
++ || comp_unit_contains_address (each, unrelocated_addr))
++ && comp_unit_find_nearest_line (each, unrelocated_addr,
++ filename_ptr,
++ functionname_ptr,
++ linenumber_ptr,
++ discriminator_ptr,
++ stash));
++
+ if ((bfd_vma) (stash->info_ptr - stash->sec_info_ptr)
+ == stash->sec->size)
+ {
+@@ -3552,6 +3581,8 @@
+ if ((abfd->flags & (EXEC_P | DYNAMIC)) == 0)
+ unset_sections (stash);
+
++ if (! found)
++ return possible_find;
+ return found;
+ }
+
+--- ./binutils/addr2line.c.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./binutils/addr2line.c 2013-04-02 15:56:55.703204116 -0500
+@@ -130,6 +130,17 @@
+ symcount = bfd_canonicalize_symtab (abfd, syms);
+ if (symcount < 0)
+ bfd_fatal (bfd_get_filename (abfd));
++
++ /* If there are no symbols left after canonicalization and
++ we have not tried the dynamic symbols then give them a go. */
++ if (symcount == 0
++ && ! dynamic
++ && (storage = bfd_get_dynamic_symtab_upper_bound (abfd)) > 0)
++ {
++ free (syms);
++ syms = xmalloc (storage);
++ symcount = bfd_canonicalize_dynamic_symtab (abfd, syms);
++ }
+ }
+
+ /* These global variables are used to pass information between
diff --git a/source/d/binutils/binutils.export.demangle.h.diff b/source/d/binutils/binutils.export.demangle.h.diff
new file mode 100644
index 000000000..1f31cd116
--- /dev/null
+++ b/source/d/binutils/binutils.export.demangle.h.diff
@@ -0,0 +1,33 @@
+--- ./bfd/Makefile.in.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./bfd/Makefile.in 2013-04-02 15:54:59.559209068 -0500
+@@ -156,7 +156,8 @@
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+ am__bfdinclude_HEADERS_DIST = $(INCDIR)/plugin-api.h bfd.h \
+- $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/bfdlink.h
++ $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/bfdlink.h \
++ $(INCDIR)/demangle.h
+ HEADERS = $(bfdinclude_HEADERS)
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+@@ -350,7 +351,8 @@
+ @INSTALL_LIBBFD_FALSE@bfdinclude_HEADERS = $(am__append_2)
+ @INSTALL_LIBBFD_TRUE@bfdinclude_HEADERS = $(BFD_H) \
+ @INSTALL_LIBBFD_TRUE@ $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \
+-@INSTALL_LIBBFD_TRUE@ $(INCDIR)/bfdlink.h $(am__append_2)
++@INSTALL_LIBBFD_TRUE@ $(INCDIR)/bfdlink.h $(INCDIR)/demangle.h \
++@INSTALL_LIBBFD_TRUE@ $(am__append_2)
+ @INSTALL_LIBBFD_FALSE@rpath_bfdlibdir = @bfdlibdir@
+ @INSTALL_LIBBFD_FALSE@noinst_LTLIBRARIES = libbfd.la
+ AM_CFLAGS = $(WARN_CFLAGS)
+--- ./bfd/Makefile.am.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./bfd/Makefile.am 2013-04-02 15:54:59.558209068 -0500
+@@ -35,7 +35,7 @@
+ bfdlibdir = @bfdlibdir@
+ bfdincludedir = @bfdincludedir@
+ bfdlib_LTLIBRARIES = libbfd.la
+-bfdinclude_HEADERS = $(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/bfdlink.h
++bfdinclude_HEADERS = $(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/bfdlink.h $(INCDIR)/demangle.h
+ else !INSTALL_LIBBFD
+ # Empty these so that the respective installation directories will not be created.
+ bfdlibdir =
diff --git a/source/d/binutils/binutils.no-config-h-check.diff b/source/d/binutils/binutils.no-config-h-check.diff
new file mode 100644
index 000000000..55cba7fbf
--- /dev/null
+++ b/source/d/binutils/binutils.no-config-h-check.diff
@@ -0,0 +1,28 @@
+--- ./bfd/bfd-in2.h.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./bfd/bfd-in2.h 2013-04-02 15:57:44.847202021 -0500
+@@ -32,11 +32,6 @@
+ #ifndef __BFD_H_SEEN__
+ #define __BFD_H_SEEN__
+
+-/* PR 14072: Ensure that config.h is included first. */
+-#if !defined PACKAGE && !defined PACKAGE_VERSION
+-#error config.h must be included before this header
+-#endif
+-
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+--- ./bfd/bfd-in.h.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./bfd/bfd-in.h 2013-04-02 15:57:44.846202021 -0500
+@@ -25,11 +25,6 @@
+ #ifndef __BFD_H_SEEN__
+ #define __BFD_H_SEEN__
+
+-/* PR 14072: Ensure that config.h is included first. */
+-#if !defined PACKAGE && !defined PACKAGE_VERSION
+-#error config.h must be included before this header
+-#endif
+-
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
diff --git a/source/d/binutils/binutils.revert.pr15149.diff b/source/d/binutils/binutils.revert.pr15149.diff
new file mode 100644
index 000000000..f1fe6279d
--- /dev/null
+++ b/source/d/binutils/binutils.revert.pr15149.diff
@@ -0,0 +1,22 @@
+--- ./bfd/elflink.c.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./bfd/elflink.c 2013-04-02 15:54:06.072211349 -0500
+@@ -4080,8 +4080,7 @@
+ FALSE, FALSE, FALSE);
+
+ if (h != NULL
+- && (h->root.type == bfd_link_hash_undefined
+- || h->root.type == bfd_link_hash_undefweak)
++ && h->root.type == bfd_link_hash_undefined
+ && h->root.u.undef.abfd)
+ undef_bfd = h->root.u.undef.abfd;
+ }
+@@ -4201,8 +4200,7 @@
+ FALSE, FALSE, FALSE);
+
+ if (h != NULL
+- && (h->root.type == bfd_link_hash_undefined
+- || h->root.type == bfd_link_hash_undefweak)
++ && h->root.type == bfd_link_hash_undefined
+ && h->root.u.undef.abfd)
+ undef_bfd = h->root.u.undef.abfd;
+ }
diff --git a/source/d/binutils/binutils.texinfo5.diff b/source/d/binutils/binutils.texinfo5.diff
new file mode 100644
index 000000000..b81529e04
--- /dev/null
+++ b/source/d/binutils/binutils.texinfo5.diff
@@ -0,0 +1,201 @@
+--- ./gas/doc/c-cr16.texi.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./gas/doc/c-cr16.texi 2013-04-02 15:56:15.582205827 -0500
+@@ -44,26 +44,33 @@
+ CR16 target operand qualifiers and its size (in bits):
+
+ @table @samp
+-@item Immediate Operand
+-- s ---- 4 bits
+-@item
+-- m ---- 16 bits, for movb and movw instructions.
+-@item
+-- m ---- 20 bits, movd instructions.
+-@item
+-- l ---- 32 bits
+-
+-@item Absolute Operand
+-- s ---- Illegal specifier for this operand.
+-@item
+-- m ---- 20 bits, movd instructions.
+-
+-@item Displacement Operand
+-- s ---- 8 bits
+-@item
+-- m ---- 16 bits
+-@item
+-- l ---- 24 bits
++@item Immediate Operand: s
++4 bits.
++
++@item Immediate Operand: m
++16 bits, for movb and movw instructions.
++
++@item Immediate Operand: m
++20 bits, movd instructions.
++
++@item Immediate Operand: l
++32 bits.
++
++@item Absolute Operand: s
++Illegal specifier for this operand.
++
++@item Absolute Operand: m
++20 bits, movd instructions.
++
++@item Displacement Operand: s
++8 bits.
++
++@item Displacement Operand: m
++16 bits.
++
++@item Displacement Operand: l
++24 bits.
++
+ @end table
+
+ For example:
+--- ./gas/doc/c-arm.texi.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./gas/doc/c-arm.texi 2013-04-02 15:56:15.582205827 -0500
+@@ -390,29 +390,29 @@
+ @code{unified} syntax, which can be selected via the @code{.syntax}
+ directive, and has the following main features:
+
+-@table @bullet
+-@item
++@table @code
++@item 1
+ Immediate operands do not require a @code{#} prefix.
+
+-@item
++@item 2
+ The @code{IT} instruction may appear, and if it does it is validated
+ against subsequent conditional affixes. In ARM mode it does not
+ generate machine code, in THUMB mode it does.
+
+-@item
++@item 3
+ For ARM instructions the conditional affixes always appear at the end
+ of the instruction. For THUMB instructions conditional affixes can be
+ used, but only inside the scope of an @code{IT} instruction.
+
+-@item
++@item 4
+ All of the instructions new to the V6T2 architecture (and later) are
+ available. (Only a few such instructions can be written in the
+ @code{divided} syntax).
+
+-@item
++@item 5
+ The @code{.N} and @code{.W} suffixes are recognized and honored.
+
+-@item
++@item 6
+ All instructions set the flags if and only if they have an @code{s}
+ affix.
+ @end table
+@@ -451,28 +451,6 @@
+ @cindex register names, ARM
+ *TODO* Explain about ARM register naming, and the predefined names.
+
+-@node ARM-Neon-Alignment
+-@subsection NEON Alignment Specifiers
+-
+-@cindex alignment for NEON instructions
+-Some NEON load/store instructions allow an optional address
+-alignment qualifier.
+-The ARM documentation specifies that this is indicated by
+-@samp{@@ @var{align}}. However GAS already interprets
+-the @samp{@@} character as a "line comment" start,
+-so @samp{: @var{align}} is used instead. For example:
+-
+-@smallexample
+- vld1.8 @{q0@}, [r0, :128]
+-@end smallexample
+-
+-@node ARM Floating Point
+-@section Floating Point
+-
+-@cindex floating point, ARM (@sc{ieee})
+-@cindex ARM floating point (@sc{ieee})
+-The ARM family uses @sc{ieee} floating-point numbers.
+-
+ @node ARM-Relocations
+ @subsection ARM relocation generation
+
+@@ -519,6 +497,28 @@
+ MOVT r0, #:upper16:foo
+ @end smallexample
+
++@node ARM-Neon-Alignment
++@subsection NEON Alignment Specifiers
++
++@cindex alignment for NEON instructions
++Some NEON load/store instructions allow an optional address
++alignment qualifier.
++The ARM documentation specifies that this is indicated by
++@samp{@@ @var{align}}. However GAS already interprets
++the @samp{@@} character as a "line comment" start,
++so @samp{: @var{align}} is used instead. For example:
++
++@smallexample
++ vld1.8 @{q0@}, [r0, :128]
++@end smallexample
++
++@node ARM Floating Point
++@section Floating Point
++
++@cindex floating point, ARM (@sc{ieee})
++@cindex ARM floating point (@sc{ieee})
++The ARM family uses @sc{ieee} floating-point numbers.
++
+ @node ARM Directives
+ @section ARM Machine Directives
+
+--- ./gas/doc/c-tic54x.texi.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./gas/doc/c-tic54x.texi 2013-04-02 15:56:15.583205827 -0500
+@@ -109,7 +109,7 @@
+ is replaced with x. At this point, x has already been encountered
+ and the substitution stops.
+
+-@smallexample @code
++@smallexample
+ .asg "x",SYM1
+ .asg "SYM1",SYM2
+ .asg "SYM2",x
+@@ -126,14 +126,14 @@
+ ambiguous by placing colons on either side of the subsym. The following
+ code:
+
+-@smallexample @code
++@smallexample
+ .eval "10",x
+ LAB:X: add #x, a
+ @end smallexample
+
+ When assembled becomes:
+
+-@smallexample @code
++@smallexample
+ LAB10 add #10, a
+ @end smallexample
+
+@@ -309,7 +309,7 @@
+ of a label or address. For example, if an address @code{_label} resides
+ in extended program memory, the value of @code{_label} may be loaded as
+ follows:
+-@smallexample @code
++@smallexample
+ ldx #_label,16,a ; loads extended bits of _label
+ or #_label,a ; loads lower 16 bits of _label
+ bacc a ; full address is in accumulator A
+--- ./gas/doc/c-arc.texi.orig 2013-02-27 14:28:03.000000000 -0600
++++ ./gas/doc/c-arc.texi 2013-04-02 15:56:15.582205827 -0500
+@@ -220,7 +220,7 @@
+ encodings for use of these instructions according to the specification
+ by the user. The parameters are:
+
+-@table @bullet
++@table @code
+ @item @var{name}
+ Name of the extension instruction
+
diff --git a/source/d/binutils/release.binutils-2.22.52.0.2 b/source/d/binutils/release.binutils-2.22.52.0.2
deleted file mode 100644
index a02ee03e0..000000000
--- a/source/d/binutils/release.binutils-2.22.52.0.2
+++ /dev/null
@@ -1,508 +0,0 @@
-This is the beta release of binutils 2.22.52.0.2 for Linux, which is
-based on binutils 2012 0424 in CVS on sourceware.org plus various
-changes. It is purely for Linux.
-
-All relevant patches in patches have been applied to the source tree.
-You can take a look at patches/README to see what have been applied and
-in what order they have been applied.
-
-Starting from the 2.21.51.0.3 release, you must remove .ctors/.dtors
-section sentinels when building glibc or other C run-time libraries.
-Otherwise, you will run into:
-
-http://sourceware.org/bugzilla/show_bug.cgi?id=12343
-
-Starting from the 2.21.51.0.2 release, BFD linker has the working LTO
-plugin support. It can be used with GCC 4.5 and above. For GCC 4.5, you
-need to configure GCC with --enable-gold to enable LTO plugin support.
-
-Starting from the 2.21.51.0.2 release, binutils fully supports compressed
-debug sections. However, compressed debug section isn't turned on by
-default in assembler. I am planning to turn it on for x86 assembler in
-the future release, which may lead to the Linux kernel bug messages like
-
-WARNING: lib/ts_kmp.o (.zdebug_aranges): unexpected non-allocatable section.
-
-But the resulting kernel works fine.
-
-Starting from the 2.20.51.0.4 release, no diffs against the previous
-release will be provided.
-
-You can enable both gold and bfd ld with --enable-gold=both. Gold will
-be installed as ld.gold and bfd ld will be installed as ld.bfd. By
-default, ld.bfd will be installed as ld. You can use the configure
-option, --enable-gold=both/gold to choose gold as the default linker,
-ld. IA-32 binary and X64_64 binary tar balls are configured with
---enable-gold=both/ld --enable-plugins --enable-threads.
-
-Starting from the 2.18.50.0.4 release, the x86 assembler no longer
-accepts
-
- fnstsw %eax
-
-fnstsw stores 16bit into %ax and the upper 16bit of %eax is unchanged.
-Please use
-
- fnstsw %ax
-
-Starting from the 2.17.50.0.4 release, the default output section LMA
-(load memory address) has changed for allocatable sections from being
-equal to VMA (virtual memory address), to keeping the difference between
-LMA and VMA the same as the previous output section in the same region.
-
-For
-
-.data.init_task : { *(.data.init_task) }
-
-LMA of .data.init_task section is equal to its VMA with the old linker.
-With the new linker, it depends on the previous output section. You
-can use
-
-.data.init_task : AT (ADDR(.data.init_task)) { *(.data.init_task) }
-
-to ensure that LMA of .data.init_task section is always equal to its
-VMA. The linker script in the older 2.6 x86-64 kernel depends on the
-old behavior. You can add AT (ADDR(section)) to force LMA of
-.data.init_task section equal to its VMA. It will work with both old
-and new linkers. The x86-64 kernel linker script in kernel 2.6.13 and
-above is OK.
-
-The new x86_64 assembler no longer accepts
-
- monitor %eax,%ecx,%edx
-
-You should use
-
- monitor %rax,%ecx,%edx
-
-or
- monitor
-
-which works with both old and new x86_64 assemblers. They should
-generate the same opcode.
-
-The new i386/x86_64 assemblers no longer accept instructions for moving
-between a segment register and a 32bit memory location, i.e.,
-
- movl (%eax),%ds
- movl %ds,(%eax)
-
-To generate instructions for moving between a segment register and a
-16bit memory location without the 16bit operand size prefix, 0x66,
-
- mov (%eax),%ds
- mov %ds,(%eax)
-
-should be used. It will work with both new and old assemblers. The
-assembler starting from 2.16.90.0.1 will also support
-
- movw (%eax),%ds
- movw %ds,(%eax)
-
-without the 0x66 prefix. Patches for 2.4 and 2.6 Linux kernels are
-available at
-
-http://www.kernel.org/pub/linux/devel/binutils/linux-2.4-seg-4.patch
-http://www.kernel.org/pub/linux/devel/binutils/linux-2.6-seg-5.patch
-
-The ia64 assembler is now defaulted to tune for Itanium 2 processors.
-To build a kernel for Itanium 1 processors, you will need to add
-
-ifeq ($(CONFIG_ITANIUM),y)
- CFLAGS += -Wa,-mtune=itanium1
- AFLAGS += -Wa,-mtune=itanium1
-endif
-
-to arch/ia64/Makefile in your kernel source tree.
-
-Please report any bugs related to binutils 2.22.52.0.2 to
-hjl.tools@gmail.com
-
-and
-
-http://www.sourceware.org/bugzilla/
-
-Changes from binutils 2.22.52.0.1:
-
-1. Update from binutils 2012 0424.
-2. Support Intel HLE and RTM extension.
-3. Add NACL support.
-4. Fix -Bsymbolic with protected function pointer. PR 13880.
-5. Fix an IFUNC regression. PR 13817.
-6. Fix x86 NOP fill regression. PR 13675.
-7. Fix a linker regression. PR 13991.
-8. Fix dangling global hidden symbol in symtab. PR 13621.
-9. Fix objcopy, strip and ld for --emit-relocs. PR 13947.
-10. Improve gold.
-11. Improve mach support.
-12. Improve vms support.
-13. Improve windows support.
-14. Improve arm support.
-15. Improve avr support.
-16. Improve mips support.
-17. Improve ppc support.
-18. Improve rx support.
-19. Improve s390 support.
-20. Improve sh support.
-21. Improve sparc support.
-22. Improve tile support.
-
-Changes from binutils 2.22.51.0.1:
-
-1. Update from binutils 2012 0131.
-2. Add x32 support to gold.
-3. Support linker arch-depedent fill. PR 13616.
-4. Add i386 NACL support to x86 assembler.
-5. Add fake zero displacement for .d8 and .d32 suffixes to x86 assembler.
-6. Add vmfunc support to x86 assembler/disassembler.
-7. Support >2GB archive member. PR 13534.
-8. Support R_X86_64_PC32 relocation for PIC on x32. PR 13581.
-9. Fix LTO linker with --start-group and archive. PR 12758.
-10. Fix linker with --build-id. PR 12451.
-11. Improve linker dead code dependency removal on DSO. PR 12772.
-12. Improve demangler.
-13. Fix elf64-x86-64.c build with GCC 4.7.
-14. Avoid linker -z text crash. PR 13468.
-15. Avoid readelf crash. PR 13622.
-16. Avoid nm crash on --size-sort --no-sort. PR 13593.
-17. Fix linker COFF SECREL32 relocation support. PR 13491.
-18. Improve gold.
-19. Improve mach support.
-20. Improve arm support.
-21. Improve avr support.
-22. Improve hppa support.
-23. Improve m68k support.
-24. Improve mips support.
-25. Improve ppc support.
-26. Improve rl78 support.
-27. Improve rx support.
-
-Changes from binutils 2.21.53.0.2:
-
-1. Update from binutils 2011 1118.
-2. Fix ar --plugin on archive with mixed IR/non-IR objects. PR 13298.
-3. Preserve the maximum alignment and size for common symbols. PR 13250.
-4. Fix LTO linker with -as-needed. PR 13287.
-5. Fix --plugin support on thin archive. PR 13257.
-6. Fix LTO linker on thin archive. PR 13183.
-7. Fix --plugin slim object support on archive. PR 13278.
-8. Support LDPR_PREVAILING_DEF_IRONLY_EXP in linker plugin. PR 13229.
-9. Don't make make IR symbols dynamic. PR 13244.
-10. Fix LTO linker with --as-needed. PR 13201.
-11. Properly handle 2 IR symbols with the same comdat key. PR 13066.
-12. Keep .debug_types sections with linker garbage collection. PR 13233.
-13. Fix -ffunction-sections -Wl,--gc-sections failure with symbol
-versioning. PR 13195.
-14. Improve linker garbage collection support. PR 13177.
-15. Remove symbols hidden by version scripts with --gc-sections. PR 12975.
-16. Remove unnecessary GOT relocation created for IFUNC. PR 13178.
-17. Move IRELATIVE relocations to the end. PR 13302.
-18. Avoid readelf core dump. PR 13219.
-19. Check zero address size when dumping DWARF sections. PR 13196.
-20. Remove the group section if all members are removed. PR 13180.
-21. Support R_X86_64_64 and R_X86_64_RELATIVE64 relocations for x32.
-PR 13082.
-22. Add Adapteva Epiphany support.
-23. Add Renesas RL78 support.
-24. Improve gold.
-25. Improve mach-o support.
-26. Improve alpha support.
-27. Improve arm support.
-28. Improve hppa support.
-29. Improve mips support.
-30. Improve ppc support.
-31. Improve rx support.
-32. Improve sparc support.
-
-Changes from binutils 2.21.53.0.1:
-
-1. Update from binutils 2011 0804.
-2. Add Intel K1OM support.
-3. Allow R_X86_64_64 relocation for x32 and check x32 relocation overflow.
-PR ld/13048.
-4. Support direct call in x86-64 assembly code. PR gas/13046.
-5. Add ia32 Google Native Client support.
-6. Add .debug_macro section support.
-7. Improve gold.
-8. Improve VMS support.
-9. Improve arm support.
-10. Improve hppa support.
-11. Improve mips support.
-12. Improve mmix support.
-13. Improve ppc support.
-
-Changes from binutils 2.21.52.0.2:
-
-1. Update from binutils 2011 0716.
-2. Fix LTO linker bugs. PRs 12982/12942.
-3. Fix rorx support in x86 assembler/disassembler for AVX Programming
-Reference (June, 2011).
-4. Fix an x86-64 ELFOSABI linker regression.
-5. Update ELFOSABI_GNU support. PR 12913.
-6. Fix a linker regression with prelink support. PR 12921.
-7. Add unwind info to x86 PLT section. PR 12570.
-8. Support x32 core files.
-9. Support native x32 linker.
-10. Fix linker --gc-sections on note sections. PR 12851.
-11. Avoid linker crash on bad input. PR 12887.
-12. Add section flags in linker script.
-13. Improve elf linker -z option support.
-14. Fix nm on compressed debug sections. PR 12983.
-15. Fix an ar bug. PR 12558.
-16. Fix an ia64 linker regression. PR 12978.
-17. Improve gold.
-18. Improve VMS support.
-19. Add TILE-Gx/TILEPro support.
-20. Improve alpha support.
-21. Improve avr support.
-22. Improve mips support.
-23. Improve arm support.
-24. Improve ppc support.
-25. Improve sh support.
-26. Improve TIC6X support.
-
-Changes from binutils 2.21.52.0.1:
-
-1. Update from binutils 2011 0610.
-2. Support AVX Programming Reference (June, 2011)
-3. Allow R_X86_64_64 relocations in SEC_DEBUGGING sections when building
-x32 shared libraries. Used to build kernel x32 vDSO.
-4. Fix linker --gc-sections on note sections. PR 12851.
-5. Update readelf to handle binaries containing corrupt version
-information. PR 12855.
-6. Improve gold.
-7. Improve VMS support.
-8. Improve mips support.
-
-Changes from binutils 2.21.51.0.9:
-
-1. Update from binutils 2011 0608.
-2. Fix an x86 linker regression. PRs 12833/12837/12859.
-3. Fix an x86-64 large model TLS linker bug. PR 12809.
-4. Fix LTO bugs. PRs 12758/12760.
-5. Add a new linker switch, -plugin-save-temps.
-6. Fix an linker bug for warning on common symbol in archive.
-7. Fix warning support when building shared library. PR 12761.
-8. Reduce linker memory usage when linking many small object files.
-PR 12682.
-9. Fix a thin archive bug. PR 12710.
-10. Fix a TLS linker bug. PR 12763.
-11. Improve gold.
-12. Improve DWARF dump support.
-13. Improve XCOFF support.
-14. Improve arm support.
-15. Improve cris support.
-16. Improve ia64 ILP32 support.
-17. Improve mips support.
-18. Improve ppc support.
-19. Improve rx support.
-20. Improve s390 support.
-21. Improve tic30 support.
-22. Improve tic6x support.
-23. Improve v850 support.
-
-Changes from binutils 2.21.51.0.8:
-
-1. Update from binutils 2011 0507.
-2. Improve LTO bfd linker. PRs 12365/12696/12672
-3. Fix a linker regression with constructor attribute in C++. PR 12730.
-4. Warn relocation in readonly section when creating a shared object.
-5. Remove empty output sections. PR 12718.
-6. Remove DT_TEXTREL with local IFUNC symbols. PR 12694.
-7. Properly set ELFOSABI_LINUX for STB_GNU_UNIQUE. PR 10549.
-8. Fix objcopy on unusual input. PR 12632.
-9. Fix an ar regression. PR 12720.
-10 Avoid linker crash on bad linker input.
-11. Fix a linker script regression. PR 12726.
-12. Support new GNU DWARF extensions.
-13. Initial support for SystemTap note sections.
-14. Add --dwarf-start and --dwarf-end to readelf and objdump.
-15. Disable 3dnow and 3dnowa for bdver1 in x86 assembler.
-16. Improve gold.
-17. Improve VMS support.
-18. Improve arm support.
-19. Improve mips support.
-20. Improve ppc support.
-21. Improve s390 support.
-22. Improve tic6x support.
-
-Changes from binutils 2.21.51.0.7:
-
-1. Update from binutils 2011 0408.
-2. Fix x32 TLS linker bug.
-3. Enable .quad directive in x32 assembler.
-4. Fix an assembler regression. PRs 12569/12589.
-5. Add --size-check= assembler option to issue a warning, instead of an
-error, on bad ELF .size directive.
-6. Fix an ia32 linker bug with TLS/PIE. PR 12654.
-7. Fix Intel L1OM linker library search path.
-8. Fix a linker buffer overflow on malformed inputs. PR 12613.
-9. Check corrupted symtab in nm/readelf. PR 12639.
-10. Avoid objcopy crash on archive with unknown objects. PR 12632.
-11. Fix "ar -t". PR 12590.
-12. Fix many memory leaks.
-13. Improve DWARF support.
-14. Improve gold.
-15. Improve VMS support.
-16. Improve Windows support.
-17. Improve alpha support.
-18. Improve arm support.
-19. Improve avr support.
-20. Improve ppc support.
-21. Improve sparc support.
-22. Improve tic6x support.
-
-Changes from binutils 2.21.51.0.6:
-
-1. Update from binutils 2011 0306.
-2. Supprt x32 TLS IE->LE transition.
-3. Change x32 library directory from /lib32 to /libx32.
-4. Improve LTO linker support. Fix PRs 12439/12314/12248/12430.
-5. Improve linker plugin support.
-6. Fix an ar bug. PR 12513.
-7. Properly generate nops for ia32. PR 6957.
-8. Improve readelf DT_GNU_HASH support. PR 12523.
-9. Improve readelf on invalid input. PR 12467.
-10. Update ELF assembler to issue an error on invalid .size directive.
-PR 12519,
-11. Properly handle PT_DYNAMIC segment with zero size sections. PR 12516.
-12. Add a new linker option, --verbose=2, to report plugin symbol
-status.
-13. Properly handle entry symbols in linker LTO support. PR 12507.
-14. Improve gold.
-15. Improve arm support.
-16. Improve bfin support.
-17. Improve mips support.
-18. Improve ppc support.
-
-Changes from binutils 2.21.51.0.5:
-
-1. Update from binutils 2011 0118.
-2. Fix x32 (ILP32) support. Renamed assembler option to --x32. It
-can create working static and dynamic x32 executables.
-3. Add BMI and TBM new instruction support.
-4. Fix x86 disassembler to properly display sign-extended byte.
-5. Improve IFUNC linker support. PRs 12366/12371.
-6. Fix readelf bug on archive. PR 12408.
-7. Fix a assembler when compressing empty debug sections. PR 12409.
-8. Fix a warning symbol linker bug. PR 12339.
-9. Fix a duplicated assert message linker bug. PR 12380.
-10. Fix plugin linker build. PR 12391.
-11. Fix a plugin linker crash. PR 12364.
-12. Improve plugin linker.
-13. Improve gold.
-14. Improve arm support.
-15. Improve mips support.
-16. Improve rx support.
-
-Changes from binutils 2.21.51.0.4:
-
-1. Update from binutils 2011 0104.
-2. Add ILP32 support:
-
-http://www.kernel.org/pub/linux/devel/binutils/ilp32/abi.pdf
-
-to Linux/x86-64.
-3. Prevent the Linux x86-64 kernel build failure and remove
-__ld_compatibility support. PR 12356.
-4. Improve gold.
-5. Improve Windows support.
-6. Improve hppa support.
-7. Improve mips support.
-
-Changes from binutils 2.21.51.0.3:
-
-1. Update from binutils 2010 1217.
-2. Fix the Linux relocatable kernel build. PR 12327.
-3. Improve mips support.
-
-Changes from binutils 2.21.51.0.2:
-
-1. Update from binutils 2010 1215.
-2. Add BFD linker support for placing input .ctors/.dtors sections in
-output .init_array/.fini_array section. Add SORT_BY_INIT_PRIORITY. The
-benefits are
- a. Avoid output .ctors/.dtors section in executables and shared
- libraries.
- b. Allow mixing input .ctors/.dtors sections with input
- .init_array/.fini_array sectiobs. GCC PR 46770.
-3. Add BFD linker support for "ld -r" on mixed IR/non-IR objects. Add
-the new ELF section type SHT_GNU_OBJECT_ONLY (0x6ffffff8). See
-
-http://sourceware.org/bugzilla/show_bug.cgi?id=12291
-
-4. Update BFD linker to accept -flto and -flto-partition= for GCC LTO
-option compatibility.
-5. Fix BFD linker to avoid touching uncompressed section content when
-relocating DWARF debug sections for errror reporting.
-6. Mark .gnu.lto_* sections with SHF_EXCLUDE.
-7. Add --target option to ar.
-8. Improve gold.
-9. Improve AIX support.
-10. Improve Windows support.
-11. Improve mips support.
-
-Changes from binutils 2.21.51.0.1:
-
-1. Update from binutils 2010 1206.
-2. Fix BFD and GOLD linker for compressed debug section support.
-3. Fix BFD linker plugin support. PR ld/12246, ld/12247, ld/12248,
-ld/12277, ld/12288 and ld/12289.
-4. Update BFD linker to group .text.exit, text.startup and .text.hot
-sections.
-5. Fix linker for W_EH_PE_datarel handling. PR ld/12253.
-6. Fix array access bug in readelf/elfedit. PR binutils/11742 and
-binutils/12235.
-7. Support dumping GDB .gdb_index section.
-8. Install plugin-api.h.
-9. Improve gold.
-10. Improve Solaris support.
-11. Improve VMS support.
-12. Improve Windows support.
-13. Improve arm support.
-14. Improve bfin support.
-15. Improve mips support.
-16. Improve s390 support.
-17. Improve z80 support.
-
-Changes from binutils 2.20.51.0.12:
-
-1. Update from binutils 2010 1110.
-2. Fix ld plugin support. PRs lto/46291 and lto/46319.
-3. Fix x86 assembler to properly fold _GLOBAL_OFFSET_TABLE_ in Intel
-syntax. PR 12186.
-4. Update assembler to ensure that group signature symbols have the name
-of the group.
-5. Avoid unnecessary relaxation in assembler. PR 12049.
-6. Update linker NOLOAD processing.
-7. Update linker not to include archive members when symbols therein have
-already been defined. PR 12001.
-8. Change objdump to display compressed section names without 'z'.
-9. Improve gold.
-10. Improve Solaris support.
-11. Improve VMS support.
-12. Improve Windows support.
-13. Improve arm support.
-14. Improve cr16 support.
-15. Improve mips support.
-16. Improve ppc support.
-17. Improve tic6x support.
-
-The file list:
-
-1. binutils-2.22.52.0.2.tar.bz2. Source code.
-
-The primary sites for the beta Linux binutils are:
-
-1. http://www.kernel.org/pub/linux/devel/binutils/
-
-It is also available on linux/release/2.22.52.0.2 branch at
-
-http://git.kernel.org/?p=linux/kernel/git/hjl/binutils.git;a=summary
-
-Thanks.
-
-
-H.J. Lu
-hjl.tools@gmail.com
-04/25/2012
diff --git a/source/d/binutils/release.binutils-2.23.52.0.1 b/source/d/binutils/release.binutils-2.23.52.0.1
new file mode 100644
index 000000000..192948f32
--- /dev/null
+++ b/source/d/binutils/release.binutils-2.23.52.0.1
@@ -0,0 +1,775 @@
+This is the beta release of binutils 2.23.52.0.1 for Linux, which is
+based on binutils 2013 0226 in CVS on sourceware.org plus various
+changes. It is purely for Linux.
+
+All relevant patches in patches have been applied to the source tree.
+You can take a look at patches/README to see what have been applied and
+in what order they have been applied.
+
+Starting from the 2.23.52.0.1 release, when creating executables, BFD
+linker will issue an error for undefined weak reference which is
+defined in a shared library from DT_NEEDED. Previously BFD linker
+will silently include the shared library from DT_NEEDED.
+
+Starting from the 2.21.51.0.3 release, you must remove .ctors/.dtors
+section sentinels when building glibc or other C run-time libraries.
+Otherwise, you will run into:
+
+http://sourceware.org/bugzilla/show_bug.cgi?id=12343
+
+Starting from the 2.21.51.0.2 release, BFD linker has the working LTO
+plugin support. It can be used with GCC 4.5 and above. For GCC 4.5, you
+need to configure GCC with --enable-gold to enable LTO plugin support.
+
+Starting from the 2.21.51.0.2 release, binutils fully supports compressed
+debug sections. However, compressed debug section isn't turned on by
+default in assembler. I am planning to turn it on for x86 assembler in
+the future release, which may lead to the Linux kernel bug messages like
+
+WARNING: lib/ts_kmp.o (.zdebug_aranges): unexpected non-allocatable section.
+
+But the resulting kernel works fine.
+
+Starting from the 2.20.51.0.4 release, no diffs against the previous
+release will be provided.
+
+You can enable both gold and bfd ld with --enable-gold=both. Gold will
+be installed as ld.gold and bfd ld will be installed as ld.bfd. By
+default, ld.bfd will be installed as ld. You can use the configure
+option, --enable-gold=both/gold to choose gold as the default linker,
+ld. IA-32 binary and X64_64 binary tar balls are configured with
+--enable-gold=both/ld --enable-plugins --enable-threads.
+
+Starting from the 2.18.50.0.4 release, the x86 assembler no longer
+accepts
+
+ fnstsw %eax
+
+fnstsw stores 16bit into %ax and the upper 16bit of %eax is unchanged.
+Please use
+
+ fnstsw %ax
+
+Starting from the 2.17.50.0.4 release, the default output section LMA
+(load memory address) has changed for allocatable sections from being
+equal to VMA (virtual memory address), to keeping the difference between
+LMA and VMA the same as the previous output section in the same region.
+
+For
+
+.data.init_task : { *(.data.init_task) }
+
+LMA of .data.init_task section is equal to its VMA with the old linker.
+With the new linker, it depends on the previous output section. You
+can use
+
+.data.init_task : AT (ADDR(.data.init_task)) { *(.data.init_task) }
+
+to ensure that LMA of .data.init_task section is always equal to its
+VMA. The linker script in the older 2.6 x86-64 kernel depends on the
+old behavior. You can add AT (ADDR(section)) to force LMA of
+.data.init_task section equal to its VMA. It will work with both old
+and new linkers. The x86-64 kernel linker script in kernel 2.6.13 and
+above is OK.
+
+The new x86_64 assembler no longer accepts
+
+ monitor %eax,%ecx,%edx
+
+You should use
+
+ monitor %rax,%ecx,%edx
+
+or
+ monitor
+
+which works with both old and new x86_64 assemblers. They should
+generate the same opcode.
+
+The new i386/x86_64 assemblers no longer accept instructions for moving
+between a segment register and a 32bit memory location, i.e.,
+
+ movl (%eax),%ds
+ movl %ds,(%eax)
+
+To generate instructions for moving between a segment register and a
+16bit memory location without the 16bit operand size prefix, 0x66,
+
+ mov (%eax),%ds
+ mov %ds,(%eax)
+
+should be used. It will work with both new and old assemblers. The
+assembler starting from 2.16.90.0.1 will also support
+
+ movw (%eax),%ds
+ movw %ds,(%eax)
+
+without the 0x66 prefix. Patches for 2.4 and 2.6 Linux kernels are
+available at
+
+http://www.kernel.org/pub/linux/devel/binutils/linux-2.4-seg-4.patch
+http://www.kernel.org/pub/linux/devel/binutils/linux-2.6-seg-5.patch
+
+The ia64 assembler is now defaulted to tune for Itanium 2 processors.
+To build a kernel for Itanium 1 processors, you will need to add
+
+ifeq ($(CONFIG_ITANIUM),y)
+ CFLAGS += -Wa,-mtune=itanium1
+ AFLAGS += -Wa,-mtune=itanium1
+endif
+
+to arch/ia64/Makefile in your kernel source tree.
+
+Please report any bugs related to binutils 2.23.52.0.1 to
+hjl.tools@gmail.com
+
+and
+
+http://www.sourceware.org/bugzilla/
+
+Changes from binutils 2.23.51.0.9:
+
+1. Update from binutils 2013 0226.
+2. Add Intel SAMP new instruction support.
+3. Allow dynamic R_386_SIZE32, R_X86_64_SIZE32 and R_X86_64_SIZE64
+relocations agaist TLS symbols.
+4. Fix BFD linker to set STB_GNU_UNIQUE only for definition. PR 15167.
+5. Fix BFD linker to set STB_GNU_UNIQUE only if symbol is defined in
+regular object. PR 15107.
+6. Don't add DT_NEEDED for references from the LTO IR input. PR 15146.
+7. When creating executables, BFD linker will issue an error for undefined
+weak reference which is defined in a shared library from DT_NEEDED.
+PR 15149.
+8. Also trace symbol from the LTO IR input. PR 15141.
+9. Support stripping LTO IR sections. PR 15033.
+10. Don't allow a nested archive pointing to itself and don't generate
+bad archive. PR 15140.
+11. Fix objcopy segfault on non-ELF input. PR 14873.
+12. Update DWARF dump support.
+13. Improve gold.
+14. Add nios2 support.
+15. Improve mach support.
+16. Improve aarch64 support.
+17. Improve arm support.
+18. Improve avr support.
+19. Improve h8300 support.
+20. Improve meta support.
+21. Improve mips support.
+22. Improve ppc support.
+23. Improve rl78 support.
+24. Improve sparc support.
+25. Improve v850 support.
+
+Changes from binutils 2.23.51.0.8:
+
+1. Update from binutils 2013 0118.
+2. Support R_386_SIZE32, R_X86_64_SIZE32 and R_X86_64_SIZE64
+relocations.
+3. Fix x86 assembler for "xtrn@got -1". PR 15019.
+4. Don't generate old dtags with --enable-new-dtags.
+5. Add Meta support.
+6. Improve gold.
+7. Improve aarch64 support.
+8. Improve arm support.
+9. Improve cr16 support.
+10. Improve mips support.
+11. Improve ppc support.
+12. Improve v850 support.
+13. Improve xgate support.
+
+Changes from binutils 2.23.51.0.7:
+
+1. Properly adjust h->plt.refcount. PR 14980.
+
+Changes from binutils 2.23.51.0.6:
+
+1. Update from binutils 2012 1218.
+2. Add missing R_*_IRELATIVE relocations. PR 14968.
+3. Remove unnecessary R_*_NONE relocations. PR 14956.
+4. Fix ar/ranlib on 32-bit filesystems. PR 14933.
+5. Fix a "Not enough room for program headers" linker bug. PR 14926.
+6. Support self-assignment in a linker script to convert symbols to
+absolute. PR 14962.
+7. Support --copy-dt-needed-entries when creating DSO. PR 14915.
+8. Improve linker plugin DSO error handling. PR 14904.
+9. Issue warning for plugin dummy. PR 12760.
+10. Add -fuse-ld=bfd|gold support to ld and gold.
+11. Fix gold configure. PR 14897.
+12. Correct gas dependency. PR 14899.
+13. Add rdos support.
+14. Improve gold.
+15. Improve nacl support.
+16. Improve aarch64 support.
+17. Improve arm support.
+18. Improve microblaze support.
+19. Improve mips support.
+20. Improve ppc support.
+21. Improve tile support.
+
+Changes from binutils 2.23.51.0.5:
+
+1. Update from binutils 2012 1123.
+2. Fix 64-bit jecxz encoding regression in x86 assembler. PR 14859.
+3. Revert an accidental linker change. PR 14862.
+4. Fix x32 TLS LD to LE optimization in gold. PR 14858.
+5. Add "-z global" option to set DF_1_GLOBAL to ld.
+6. Improve ld plugin error handling.
+7. Port ld lib32 arrangement from Debian.
+8. Properly set the output maxpagesize when rewriting program header.
+PR 14493.
+9. Add additional DF_1_XXX support to readelf.
+10. Improve nacl support with separate code segments.
+11. Improve macos support.
+12. Improve arm support.
+13. Improve microblaze support.
+14. Improve mips support.
+15. Improve ppc support.
+16. Improve sparc support.
+
+Changes from binutils 2.23.51.0.4:
+
+1. Update from binutils 2012 1110.
+2. Support new Linux NOTE sections.
+3. Add -z stacksize=SIZE option to ld to set size of stack segment.
+4. Fix a BFD IOVEC close bug. PR 14813.
+5. Fix a BFD IOVEC on archive bug. PR 14567.
+6. Fix archive support for non-ELF targets. PR 14481.
+7. Improve gold.
+8. Improve COFF support.
+9. Improve arm support.
+10. Improve microblaze support.
+11. Improve mips support.
+12. Improve ppc support.
+13. Improve rx support.
+14. Improve s390 support.
+15. Improve v850 support.
+16. Improve xgate support.
+
+Changes from binutils 2.23.51.0.3:
+
+1. Update from binutils 2012 1026.
+2. Fix an LTO linker bug. PR 14747.
+3. Add cx16 arch feature to x86 assembler.
+4. Add -march=bdver3 option to x86 assembler.
+5. Properly handle ignored REX prefix with fwait in x86 disassembler.
+6. Fix x32 register names in objdump DWARF output.
+7. Add NT_SIGINFO/NT_FILE support to readelf.
+8. Add linker --ignore-unresolved-symbol option from NetBSD.
+9. Treat .gdb_index section as debug section. PR 14662.
+10. Add --debug-dump=addr, --debug_dump=cu_index options to readelf and
+objdump.
+11. Add dwp, DWARF packaging utility.
+12. Add compressed debug section support to Windows. PR 14067.
+13. Improve gold.
+14. Improve aarch64 support.
+15. Improve arm support.
+16. Improve hppa support.
+17. Improve mips support.
+18. Improve s390 support.
+19. Improve tile support.
+20. Improve v850 support.
+
+Changes from binutils 2.23.51.0.2:
+
+1. Update from binutils 2012 0918.
+2. Properly handle versioned STB_SECONDARY symbols.
+3. Fix wrong symbol type with common symbol and weak function. PR 14591.
+4. Ignore discarded sections when converting mov to lea.
+5. Improve gold.
+6. Improve avr support.
+7. Improve aarch64 support.
+8. Improve moxie support.
+9. Improve ppc support.
+10. Improve tile support.
+
+Changes from binutils 2.23.51.0.1:
+
+1. Update from binutils 2012 0908.
+2. Fix STB_SECONDARY support:
+ a. Generate STB_SECONDARY symbols in DSO by default.
+ b. Properly handle STB_SECONDAY symbols when linking with archive.
+ c. Don't allow .weak directive to override .secondary directive.
+3. Optimize i386/x86-64 linker to convert GOT load (MOV) to LEA.
+4. Clarify x86 assembler error messages. PR 14457.
+5. Improve NOP/prefetch support in x86 disassembler.
+6. Improve Intel syntax support in x86 assembler.
+7. Add -march={btver1, btver2} options to x86 assembler.
+8. Fix binutils build with --enable-shared. PR 4970.
+9. Also provide __executable_start for PIE. PR 14525.
+10. Use xmalloc to allocate memory for argument list file. PR 14526.
+11. Add Intel Itanium Series 9500 support to assembler/diassembler.
+12. Ignore section symbols without a BFD section when outputing symbols
+and check bad section index. PR 14493.
+13. Improve archive reader. PR 14475.
+14. Support DW_OP_GNU_const_index reader.
+15. Improve handling of imput files with empty ELF group sections.
+PR 14444.
+16. Fix IFUNC support in s390 linker.
+17. Improve gold.
+18. Add aarch64 support.
+19. Improve arm support.
+20. Improve mips support.
+21. Improve mmix support.
+22. Improve moxie support.
+23. Improve ppc support.
+24. Improve s390 support.
+25. Improve tile support.
+
+Changes from binutils 2.22.52.0.4:
+
+1. Update from binutils 2012 0806.
+2. Add Intel ADX, RDSEED and PRFCHW new instruction support.
+3. Support 'rep bsf', 'rep bsr', and 'rep ret' syntax in x86 assembler.
+4. Mark 256-bit vmovntdqa as AVX2 instruction for x86 assembler.
+5. Improve x86 assembler error handling.
+6. Improve the repeat directive support in assembler. PR 14201.
+7. Improve x86-64 disassembler on superfluous prefixes.
+8. Fix x86 disassembler crash on bad XOP instructions. PR 14355.
+9. Support STB_SECONDARY:
+
+https://groups.google.com/forum/?hl=en&fromgroups#!forum/generic-abi
+
+10. Added SORT_NONE to the linker script language to disable section
+sorting and properly handle .init/.fini sections. PR 14156.
+11. Fix a weak alias linker bug. PR 14323.
+12. Fix the NULL GNU_RELRO segment linker bug. PR 14207.
+13. Fix the bad GNU_RELRO segment linker bug. PR 14215.
+14. Add linker support of __ehdr_start symbol for the ELF file header.
+15. Add IFUNC support to s390 linker.
+16. Fix ar for >4GB member. PR 14302.
+17. Fix objcopy --compress-debug-sections on empty debug section. PR
+14319.
+18. Fix readelf/objdup to display null bytes in DWARF debug info. PR
+14420.
+19. Improve gold.
+20. Improve arm support.
+21. Improve avr support.
+22. Improve cris support.
+23. Improve m68k support.
+24. Improve mips support.
+25. Improve ppc support.
+26. Improve vax support.
+27. Improve xgate support.
+
+Changes from binutils 2.22.52.0.3:
+
+1. Update from binutils 2012 0604.
+2. Check addend overflow for R_X86_64_RELATIVE64.
+3. Fix ar/nm/ranlib with --plugin.
+4. Create .eh_frame_hdr section only if needed. PR 13909.
+5. Properly create .eh_frame section for PLT. PR 14105.
+6. Fix a linker crash. PR 14170.
+7. Fix readelf to properly display addend.
+8. Don't make _DYNAMIC/_GLOBAL_OFFSET_TABLE_/_PROCEDURE_LINKAGE_TABLE_
+symbols absolute for x86 and ppc.
+9. Properly handle shared libraries with zero dynamic symbols. PRs
+7023/13962.
+10. Update readelf/assembler to support multibyte characters in symbol
+names.
+11. Add --strip-dwo/--extract-dwo options to objcopy/strip.
+12. Add R_X86_64_RELATIVE64 support to gold.
+13. Improve gold.
+14. Improve NACL support.
+15. Improve alpha support.
+16. Improve avr support.
+17. Improve m68k support.
+18. Improve mips support.
+19. Improve ppc support.
+20. Improve vax support.
+
+Changes from binutils 2.22.52.0.2:
+
+1. Update from binutils 2012 0507.
+2. Fix Linux kernel build by reverting the PR 13621 fix. PR 14052.
+3. Add support for x86_64-*-linux-gnux32 target.
+4. Improve x86 assembler.
+5. Improve DWARF support.
+6. Improve gold.
+7. Improve rx support.
+8. Improve sparc support.
+9. Add xgate support.
+
+Changes from binutils 2.22.52.0.1:
+
+1. Update from binutils 2012 0424.
+2. Support Intel HLE and RTM extension.
+3. Add NACL support.
+4. Fix -Bsymbolic with protected function pointer. PR 13880.
+5. Fix an IFUNC regression. PR 13817.
+6. Fix x86 NOP fill regression. PR 13675.
+7. Fix a linker regression. PR 13991.
+8. Fix dangling global hidden symbol in symtab. PR 13621.
+9. Fix objcopy, strip and ld for --emit-relocs. PR 13947.
+10. Improve gold.
+11. Improve mach support.
+12. Improve vms support.
+13. Improve windows support.
+14. Improve arm support.
+15. Improve avr support.
+16. Improve mips support.
+17. Improve ppc support.
+18. Improve rx support.
+19. Improve s390 support.
+20. Improve sh support.
+21. Improve sparc support.
+22. Improve tile support.
+
+Changes from binutils 2.22.51.0.1:
+
+1. Update from binutils 2012 0131.
+2. Add x32 support to gold.
+3. Support linker arch-depedent fill. PR 13616.
+4. Add i386 NACL support to x86 assembler.
+5. Add fake zero displacement for .d8 and .d32 suffixes to x86 assembler.
+6. Add vmfunc support to x86 assembler/disassembler.
+7. Support >2GB archive member. PR 13534.
+8. Support R_X86_64_PC32 relocation for PIC on x32. PR 13581.
+9. Fix LTO linker with --start-group and archive. PR 12758.
+10. Fix linker with --build-id. PR 12451.
+11. Improve linker dead code dependency removal on DSO. PR 12772.
+12. Improve demangler.
+13. Fix elf64-x86-64.c build with GCC 4.7.
+14. Avoid linker -z text crash. PR 13468.
+15. Avoid readelf crash. PR 13622.
+16. Avoid nm crash on --size-sort --no-sort. PR 13593.
+17. Fix linker COFF SECREL32 relocation support. PR 13491.
+18. Improve gold.
+19. Improve mach support.
+20. Improve arm support.
+21. Improve avr support.
+22. Improve hppa support.
+23. Improve m68k support.
+24. Improve mips support.
+25. Improve ppc support.
+26. Improve rl78 support.
+27. Improve rx support.
+
+Changes from binutils 2.21.53.0.2:
+
+1. Update from binutils 2011 1118.
+2. Fix ar --plugin on archive with mixed IR/non-IR objects. PR 13298.
+3. Preserve the maximum alignment and size for common symbols. PR 13250.
+4. Fix LTO linker with -as-needed. PR 13287.
+5. Fix --plugin support on thin archive. PR 13257.
+6. Fix LTO linker on thin archive. PR 13183.
+7. Fix --plugin slim object support on archive. PR 13278.
+8. Support LDPR_PREVAILING_DEF_IRONLY_EXP in linker plugin. PR 13229.
+9. Don't make make IR symbols dynamic. PR 13244.
+10. Fix LTO linker with --as-needed. PR 13201.
+11. Properly handle 2 IR symbols with the same comdat key. PR 13066.
+12. Keep .debug_types sections with linker garbage collection. PR 13233.
+13. Fix -ffunction-sections -Wl,--gc-sections failure with symbol
+versioning. PR 13195.
+14. Improve linker garbage collection support. PR 13177.
+15. Remove symbols hidden by version scripts with --gc-sections. PR 12975.
+16. Remove unnecessary GOT relocation created for IFUNC. PR 13178.
+17. Move IRELATIVE relocations to the end. PR 13302.
+18. Avoid readelf core dump. PR 13219.
+19. Check zero address size when dumping DWARF sections. PR 13196.
+20. Remove the group section if all members are removed. PR 13180.
+21. Support R_X86_64_64 and R_X86_64_RELATIVE64 relocations for x32.
+PR 13082.
+22. Add Adapteva Epiphany support.
+23. Add Renesas RL78 support.
+24. Improve gold.
+25. Improve mach-o support.
+26. Improve alpha support.
+27. Improve arm support.
+28. Improve hppa support.
+29. Improve mips support.
+30. Improve ppc support.
+31. Improve rx support.
+32. Improve sparc support.
+
+Changes from binutils 2.21.53.0.1:
+
+1. Update from binutils 2011 0804.
+2. Add Intel K1OM support.
+3. Allow R_X86_64_64 relocation for x32 and check x32 relocation overflow.
+PR ld/13048.
+4. Support direct call in x86-64 assembly code. PR gas/13046.
+5. Add ia32 Google Native Client support.
+6. Add .debug_macro section support.
+7. Improve gold.
+8. Improve VMS support.
+9. Improve arm support.
+10. Improve hppa support.
+11. Improve mips support.
+12. Improve mmix support.
+13. Improve ppc support.
+
+Changes from binutils 2.21.52.0.2:
+
+1. Update from binutils 2011 0716.
+2. Fix LTO linker bugs. PRs 12982/12942.
+3. Fix rorx support in x86 assembler/disassembler for AVX Programming
+Reference (June, 2011).
+4. Fix an x86-64 ELFOSABI linker regression.
+5. Update ELFOSABI_GNU support. PR 12913.
+6. Fix a linker regression with prelink support. PR 12921.
+7. Add unwind info to x86 PLT section. PR 12570.
+8. Support x32 core files.
+9. Support native x32 linker.
+10. Fix linker --gc-sections on note sections. PR 12851.
+11. Avoid linker crash on bad input. PR 12887.
+12. Add section flags in linker script.
+13. Improve elf linker -z option support.
+14. Fix nm on compressed debug sections. PR 12983.
+15. Fix an ar bug. PR 12558.
+16. Fix an ia64 linker regression. PR 12978.
+17. Improve gold.
+18. Improve VMS support.
+19. Add TILE-Gx/TILEPro support.
+20. Improve alpha support.
+21. Improve avr support.
+22. Improve mips support.
+23. Improve arm support.
+24. Improve ppc support.
+25. Improve sh support.
+26. Improve TIC6X support.
+
+Changes from binutils 2.21.52.0.1:
+
+1. Update from binutils 2011 0610.
+2. Support AVX Programming Reference (June, 2011)
+3. Allow R_X86_64_64 relocations in SEC_DEBUGGING sections when building
+x32 shared libraries. Used to build kernel x32 vDSO.
+4. Fix linker --gc-sections on note sections. PR 12851.
+5. Update readelf to handle binaries containing corrupt version
+information. PR 12855.
+6. Improve gold.
+7. Improve VMS support.
+8. Improve mips support.
+
+Changes from binutils 2.21.51.0.9:
+
+1. Update from binutils 2011 0608.
+2. Fix an x86 linker regression. PRs 12833/12837/12859.
+3. Fix an x86-64 large model TLS linker bug. PR 12809.
+4. Fix LTO bugs. PRs 12758/12760.
+5. Add a new linker switch, -plugin-save-temps.
+6. Fix an linker bug for warning on common symbol in archive.
+7. Fix warning support when building shared library. PR 12761.
+8. Reduce linker memory usage when linking many small object files.
+PR 12682.
+9. Fix a thin archive bug. PR 12710.
+10. Fix a TLS linker bug. PR 12763.
+11. Improve gold.
+12. Improve DWARF dump support.
+13. Improve XCOFF support.
+14. Improve arm support.
+15. Improve cris support.
+16. Improve ia64 ILP32 support.
+17. Improve mips support.
+18. Improve ppc support.
+19. Improve rx support.
+20. Improve s390 support.
+21. Improve tic30 support.
+22. Improve tic6x support.
+23. Improve v850 support.
+
+Changes from binutils 2.21.51.0.8:
+
+1. Update from binutils 2011 0507.
+2. Improve LTO bfd linker. PRs 12365/12696/12672
+3. Fix a linker regression with constructor attribute in C++. PR 12730.
+4. Warn relocation in readonly section when creating a shared object.
+5. Remove empty output sections. PR 12718.
+6. Remove DT_TEXTREL with local IFUNC symbols. PR 12694.
+7. Properly set ELFOSABI_LINUX for STB_GNU_UNIQUE. PR 10549.
+8. Fix objcopy on unusual input. PR 12632.
+9. Fix an ar regression. PR 12720.
+10 Avoid linker crash on bad linker input.
+11. Fix a linker script regression. PR 12726.
+12. Support new GNU DWARF extensions.
+13. Initial support for SystemTap note sections.
+14. Add --dwarf-start and --dwarf-end to readelf and objdump.
+15. Disable 3dnow and 3dnowa for bdver1 in x86 assembler.
+16. Improve gold.
+17. Improve VMS support.
+18. Improve arm support.
+19. Improve mips support.
+20. Improve ppc support.
+21. Improve s390 support.
+22. Improve tic6x support.
+
+Changes from binutils 2.21.51.0.7:
+
+1. Update from binutils 2011 0408.
+2. Fix x32 TLS linker bug.
+3. Enable .quad directive in x32 assembler.
+4. Fix an assembler regression. PRs 12569/12589.
+5. Add --size-check= assembler option to issue a warning, instead of an
+error, on bad ELF .size directive.
+6. Fix an ia32 linker bug with TLS/PIE. PR 12654.
+7. Fix Intel L1OM linker library search path.
+8. Fix a linker buffer overflow on malformed inputs. PR 12613.
+9. Check corrupted symtab in nm/readelf. PR 12639.
+10. Avoid objcopy crash on archive with unknown objects. PR 12632.
+11. Fix "ar -t". PR 12590.
+12. Fix many memory leaks.
+13. Improve DWARF support.
+14. Improve gold.
+15. Improve VMS support.
+16. Improve Windows support.
+17. Improve alpha support.
+18. Improve arm support.
+19. Improve avr support.
+20. Improve ppc support.
+21. Improve sparc support.
+22. Improve tic6x support.
+
+Changes from binutils 2.21.51.0.6:
+
+1. Update from binutils 2011 0306.
+2. Supprt x32 TLS IE->LE transition.
+3. Change x32 library directory from /lib32 to /libx32.
+4. Improve LTO linker support. Fix PRs 12439/12314/12248/12430.
+5. Improve linker plugin support.
+6. Fix an ar bug. PR 12513.
+7. Properly generate nops for ia32. PR 6957.
+8. Improve readelf DT_GNU_HASH support. PR 12523.
+9. Improve readelf on invalid input. PR 12467.
+10. Update ELF assembler to issue an error on invalid .size directive.
+PR 12519,
+11. Properly handle PT_DYNAMIC segment with zero size sections. PR 12516.
+12. Add a new linker option, --verbose=2, to report plugin symbol
+status.
+13. Properly handle entry symbols in linker LTO support. PR 12507.
+14. Improve gold.
+15. Improve arm support.
+16. Improve bfin support.
+17. Improve mips support.
+18. Improve ppc support.
+
+Changes from binutils 2.21.51.0.5:
+
+1. Update from binutils 2011 0118.
+2. Fix x32 (ILP32) support. Renamed assembler option to --x32. It
+can create working static and dynamic x32 executables.
+3. Add BMI and TBM new instruction support.
+4. Fix x86 disassembler to properly display sign-extended byte.
+5. Improve IFUNC linker support. PRs 12366/12371.
+6. Fix readelf bug on archive. PR 12408.
+7. Fix a assembler when compressing empty debug sections. PR 12409.
+8. Fix a warning symbol linker bug. PR 12339.
+9. Fix a duplicated assert message linker bug. PR 12380.
+10. Fix plugin linker build. PR 12391.
+11. Fix a plugin linker crash. PR 12364.
+12. Improve plugin linker.
+13. Improve gold.
+14. Improve arm support.
+15. Improve mips support.
+16. Improve rx support.
+
+Changes from binutils 2.21.51.0.4:
+
+1. Update from binutils 2011 0104.
+2. Add ILP32 support:
+
+http://www.kernel.org/pub/linux/devel/binutils/ilp32/abi.pdf
+
+to Linux/x86-64.
+3. Prevent the Linux x86-64 kernel build failure and remove
+__ld_compatibility support. PR 12356.
+4. Improve gold.
+5. Improve Windows support.
+6. Improve hppa support.
+7. Improve mips support.
+
+Changes from binutils 2.21.51.0.3:
+
+1. Update from binutils 2010 1217.
+2. Fix the Linux relocatable kernel build. PR 12327.
+3. Improve mips support.
+
+Changes from binutils 2.21.51.0.2:
+
+1. Update from binutils 2010 1215.
+2. Add BFD linker support for placing input .ctors/.dtors sections in
+output .init_array/.fini_array section. Add SORT_BY_INIT_PRIORITY. The
+benefits are
+ a. Avoid output .ctors/.dtors section in executables and shared
+ libraries.
+ b. Allow mixing input .ctors/.dtors sections with input
+ .init_array/.fini_array sectiobs. GCC PR 46770.
+3. Add BFD linker support for "ld -r" on mixed IR/non-IR objects. Add
+the new ELF section type SHT_GNU_OBJECT_ONLY (0x6ffffff8). See
+
+http://sourceware.org/bugzilla/show_bug.cgi?id=12291
+
+4. Update BFD linker to accept -flto and -flto-partition= for GCC LTO
+option compatibility.
+5. Fix BFD linker to avoid touching uncompressed section content when
+relocating DWARF debug sections for errror reporting.
+6. Mark .gnu.lto_* sections with SHF_EXCLUDE.
+7. Add --target option to ar.
+8. Improve gold.
+9. Improve AIX support.
+10. Improve Windows support.
+11. Improve mips support.
+
+Changes from binutils 2.21.51.0.1:
+
+1. Update from binutils 2010 1206.
+2. Fix BFD and GOLD linker for compressed debug section support.
+3. Fix BFD linker plugin support. PR ld/12246, ld/12247, ld/12248,
+ld/12277, ld/12288 and ld/12289.
+4. Update BFD linker to group .text.exit, text.startup and .text.hot
+sections.
+5. Fix linker for W_EH_PE_datarel handling. PR ld/12253.
+6. Fix array access bug in readelf/elfedit. PR binutils/11742 and
+binutils/12235.
+7. Support dumping GDB .gdb_index section.
+8. Install plugin-api.h.
+9. Improve gold.
+10. Improve Solaris support.
+11. Improve VMS support.
+12. Improve Windows support.
+13. Improve arm support.
+14. Improve bfin support.
+15. Improve mips support.
+16. Improve s390 support.
+17. Improve z80 support.
+
+Changes from binutils 2.20.51.0.12:
+
+1. Update from binutils 2010 1110.
+2. Fix ld plugin support. PRs lto/46291 and lto/46319.
+3. Fix x86 assembler to properly fold _GLOBAL_OFFSET_TABLE_ in Intel
+syntax. PR 12186.
+4. Update assembler to ensure that group signature symbols have the name
+of the group.
+5. Avoid unnecessary relaxation in assembler. PR 12049.
+6. Update linker NOLOAD processing.
+7. Update linker not to include archive members when symbols therein have
+already been defined. PR 12001.
+8. Change objdump to display compressed section names without 'z'.
+9. Improve gold.
+10. Improve Solaris support.
+11. Improve VMS support.
+12. Improve Windows support.
+13. Improve arm support.
+14. Improve cr16 support.
+15. Improve mips support.
+16. Improve ppc support.
+17. Improve tic6x support.
+
+The file list:
+
+1. binutils-2.23.52.0.1.tar.bz2. Source code.
+
+The primary sites for the beta Linux binutils are:
+
+1. http://www.kernel.org/pub/linux/devel/binutils/
+
+It is also available on linux/release/2.23.52.0.1 branch at
+
+http://git.kernel.org/?p=linux/kernel/git/hjl/binutils.git;a=summary
+
+Thanks.
+
+
+H.J. Lu
+hjl.tools@gmail.com
+02/27/2013
diff --git a/source/d/bison/bison.SlackBuild b/source/d/bison/bison.SlackBuild
index d9e4b522a..ea53e8be7 100755
--- a/source/d/bison/bison.SlackBuild
+++ b/source/d/bison/bison.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005-2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=bison
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j6}
@@ -60,7 +60,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf bison-$VERSION
-tar xvf $CWD/bison-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/bison-$VERSION.tar.xz || exit 1
cd bison-$VERSION || exit 1
chown -R root:root .
find . \
diff --git a/source/d/clisp/clisp.SlackBuild b/source/d/clisp/clisp.SlackBuild
index c94838fac..f6d9a2680 100755
--- a/source/d/clisp/clisp.SlackBuild
+++ b/source/d/clisp/clisp.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
VERSION=2.49
DIRNAME=2.49
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Bundled libraries:
FFCALLVER=20080704cvs
diff --git a/source/d/cmake/cmake.SlackBuild b/source/d/cmake/cmake.SlackBuild
index 3002e35b4..6150598ba 100755
--- a/source/d/cmake/cmake.SlackBuild
+++ b/source/d/cmake/cmake.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=cmake
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -58,8 +58,6 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION
-zcat $CWD/cmake.findpkgconfig.3ea850.patch.gz | patch -p1 --verbose || exit 1
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/d/cmake/cmake.findpkgconfig.3ea850.patch b/source/d/cmake/cmake.findpkgconfig.3ea850.patch
deleted file mode 100644
index a64e47a72..000000000
--- a/source/d/cmake/cmake.findpkgconfig.3ea850.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 3ea850a5023060b84dcc0e6f0098c32c28b15807 Mon Sep 17 00:00:00 2001
-From: Rolf Eike Beer <eike@sf-mail.de>
-Date: Fri, 13 Apr 2012 08:50:49 +0200
-Subject: [PATCH] FindPkgConfig.cmake: fix documented output variable not set
- (#13125,#13132)
-
-The real fix is from Yury G. Kudryashov while I added the surrounding cleanups.
-An additional hint to really get this fixed came from Rex Dieter.
----
- Modules/FindPkgConfig.cmake | 8 ++++++--
- Tests/CMakeOnly/AllFindModules/CMakeLists.txt | 3 +--
- 2 files changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/Modules/FindPkgConfig.cmake b/Modules/FindPkgConfig.cmake
-index 5d93ab1..39d3a76 100644
---- a/Modules/FindPkgConfig.cmake
-+++ b/Modules/FindPkgConfig.cmake
-@@ -13,11 +13,10 @@
- # When the 'QUIET' argument is set, no status messages will be printed.
- #
- # It sets the following variables:
--# PKG_CONFIG_FOUND ... true if pkg-config works on the system
-+# PKG_CONFIG_FOUND ... if pkg-config executable was found
- # PKG_CONFIG_EXECUTABLE ... pathname of the pkg-config program
- # PKG_CONFIG_VERSION_STRING ... the version of the pkg-config program found
- # (since CMake 2.8.8)
--# PKG_CONFIG_FOUND ... if pkg-config executable was found
- #
- # For the following variables two sets of values exist; first one is the
- # common one and has the given PREFIX. The second set contains flags
-@@ -104,6 +103,11 @@ find_package_handle_standard_args(PkgConfig
- REQUIRED_VARS PKG_CONFIG_EXECUTABLE
- VERSION_VAR PKG_CONFIG_VERSION_STRING)
-
-+# This is needed because the module name is "PkgConfig" but the name of
-+# this variable has always been PKG_CONFIG_FOUND so this isn't automatically
-+# handled by FPHSA.
-+set(PKG_CONFIG_FOUND "${PKGCONFIG_FOUND}")
-+
- # Unsets the given variables
- macro(_pkgconfig_unset var)
- set(${var} "" CACHE INTERNAL "")
-diff --git a/Tests/CMakeOnly/AllFindModules/CMakeLists.txt b/Tests/CMakeOnly/AllFindModules/CMakeLists.txt
-index 6604208..fc65e58 100644
---- a/Tests/CMakeOnly/AllFindModules/CMakeLists.txt
-+++ b/Tests/CMakeOnly/AllFindModules/CMakeLists.txt
-@@ -71,7 +71,7 @@ endmacro(check_version_string)
- # reported.
-
- foreach(VTEST ALSA ARMADILLO BZIP2 CUPS CURL EXPAT FREETYPE GETTEXT GIT HSPELL
-- JASPER LIBXML2 LIBXSLT PERL PostgreSQL TIFF ZLIB)
-+ JASPER LIBXML2 LIBXSLT PERL PKG_CONFIG PostgreSQL TIFF ZLIB)
- check_version_string(${VTEST} ${VTEST}_VERSION_STRING)
- endforeach(VTEST)
-
-@@ -82,4 +82,3 @@ endforeach(VTEST)
-
- check_version_string(PYTHONINTERP PYTHON_VERSION_STRING)
- check_version_string(SUBVERSION Subversion_VERSION_SVN)
--check_version_string(PKGCONFIG PKG_CONFIG_VERSION_STRING)
---
-1.7.10
-
diff --git a/source/d/cvs/cvs.SlackBuild b/source/d/cvs/cvs.SlackBuild
index 4c3528cba..81250f4a0 100755
--- a/source/d/cvs/cvs.SlackBuild
+++ b/source/d/cvs/cvs.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=1.11.23
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -56,6 +56,12 @@ cd $TMP
rm -rf cvs-$VERSION
tar xvf $CWD/cvs-$VERSION.tar.bz2 || exit 1
cd cvs-$VERSION
+
+# Patch to handle recent glib crypt():
+zcat $CWD/cvs.crypt-2.diff.gz | patch -p1 --verbose || exit 1
+# Fix getline compile error:
+zcat $CWD/cvs.getline64.diff.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/d/cvs/cvs.crypt-2.diff b/source/d/cvs/cvs.crypt-2.diff
new file mode 100644
index 000000000..140d0b959
--- /dev/null
+++ b/source/d/cvs/cvs.crypt-2.diff
@@ -0,0 +1,53 @@
+--- cvs-1.11.23/src/server.c.orig 2013-05-17
++++ cvs-1.11.23/src/server.c 2013-05-22
+@@ -5632,9 +5632,11 @@ check_repository_password (username, pas
+ host_user_tmp = username;
+
+ /* Verify blank passwords directly, otherwise use crypt(). */
++ char *crypt_passwd = found_password ? crypt (password, found_password): NULL;
+ if ((found_password == NULL)
+- || ((strcmp (found_password, crypt (password, found_password))
+- == 0)))
++ || (crypt_passwd != NULL
++ && (strcmp (found_password, crypt_passwd)
++ == 0)))
+ {
+ /* Give host_user_ptr permanent storage. */
+ *host_user_ptr = xstrdup (host_user_tmp);
+@@ -5645,7 +5647,7 @@ check_repository_password (username, pas
+ #ifdef LOG_AUTHPRIV
+ syslog (LOG_AUTHPRIV | LOG_NOTICE,
+ "password mismatch for %s in %s: %s vs. %s", username,
+- repository, crypt(password, found_password), found_password);
++ repository, crypt_passwd, found_password);
+ #endif
+ *host_user_ptr = NULL;
+ retval = 2;
+@@ -5675,6 +5677,7 @@ check_password (username, password, repo
+ char *host_user = NULL;
+ char *found_passwd = NULL;
+ struct passwd *pw;
++ char *crypt_passwd = NULL;
+
+ /* First we see if this user has a password in the CVS-specific
+ password file. If so, that's enough to authenticate with. If
+@@ -5752,7 +5755,9 @@ error 0 %s: no such user\n", username);
+ if (*found_passwd)
+ {
+ /* user exists and has a password */
+- if (strcmp (found_passwd, crypt (password, found_passwd)) == 0)
++ crypt_passwd = crypt (password, found_passwd);
++ if ((crypt_passwd != NULL) &&
++ (strcmp (found_passwd, crypt_passwd) == 0))
+ {
+ host_user = xstrdup (username);
+ }
+@@ -5762,7 +5767,7 @@ error 0 %s: no such user\n", username);
+ #ifdef LOG_AUTHPRIV
+ syslog (LOG_AUTHPRIV | LOG_NOTICE,
+ "password mismatch for %s: %s vs. %s", username,
+- crypt(password, found_passwd), found_passwd);
++ crypt_passwd, found_passwd);
+ #endif
+ }
+ goto handle_return;
diff --git a/source/d/cvs/cvs.getline64.diff b/source/d/cvs/cvs.getline64.diff
new file mode 100644
index 000000000..99942e058
--- /dev/null
+++ b/source/d/cvs/cvs.getline64.diff
@@ -0,0 +1,34 @@
+--- cvs-1.11.23/lib/getline.c 2005-04-04 22:46:05.000000000 +0200
++++ cvs-1.11.23/lib/getline.c.old 2008-06-03 19:06:25.000000000 +0200
+@@ -154,7 +154,7 @@
+ return ret;
+ }
+
+-int
++ssize_t
+ getline (lineptr, n, stream)
+ char **lineptr;
+ size_t *n;
+@@ -163,7 +163,7 @@
+ return getstr (lineptr, n, stream, '\n', 0, GETLINE_NO_LIMIT);
+ }
+
+-int
++ssize_t
+ getline_safe (lineptr, n, stream, limit)
+ char **lineptr;
+ size_t *n;
+--- cvs-1.11.23/lib/getline.h 2005-04-04 22:46:05.000000000 +0200
++++ cvs-1.11.23/lib/getline.h.old 2008-06-03 19:06:27.000000000 +0200
+@@ -11,9 +11,9 @@
+
+ #define GETLINE_NO_LIMIT -1
+
+-int
++ssize_t
+ getline __PROTO ((char **_lineptr, size_t *_n, FILE *_stream));
+-int
++ssize_t
+ getline_safe __PROTO ((char **_lineptr, size_t *_n, FILE *_stream,
+ int limit));
+ int
diff --git a/source/d/distcc/distcc.SlackBuild b/source/d/distcc/distcc.SlackBuild
index c432cddb7..99a9a5dbc 100755
--- a/source/d/distcc/distcc.SlackBuild
+++ b/source/d/distcc/distcc.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,8 +21,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=2.18.3
-BUILD=${BUILD:-2}
+VERSION=3.1
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -45,7 +45,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf distcc-$VERSION
-tar xvf $CWD/distcc-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/distcc-$VERSION.tar.xz || exit 1
cd distcc-$VERSION || exit 1
chown -R root:root .
find . \
@@ -60,7 +60,9 @@ find . \
--sysconfdir=/etc \
--with-gtk \
--without-gnome \
- $ARCH-slackware-linux
+ --without-avahi \
+ --disable-Werror \
+ --target=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG docdir=/usr/doc/distcc-$VERSION || exit 1
@@ -71,6 +73,10 @@ mkdir -p $PKG/usr/share/applications
ln -sf /usr/share/distcc/distccmon-gnome.desktop .
)
+for file in $PKG/etc/distcc/* ; do
+ mv $file ${file}.new
+done
+
gzip -9 $PKG/usr/man/man?/*
# Restore original timestamps on the doc files:
@@ -88,6 +94,7 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
# Build the package:
diff --git a/source/d/distcc/doinst.sh b/source/d/distcc/doinst.sh
new file mode 100644
index 000000000..ea4085810
--- /dev/null
+++ b/source/d/distcc/doinst.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/distcc/clients.allow.new
+config etc/distcc/commands.allow.sh.new
+config etc/distcc/hosts.new
diff --git a/source/d/flex/flex.SlackBuild b/source/d/flex/flex.SlackBuild
index f46b24e94..89239ce21 100755
--- a/source/d/flex/flex.SlackBuild
+++ b/source/d/flex/flex.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=flex
-VERSION=${VERSION:-2.5.35}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -60,7 +60,7 @@ fi
cd $TMP
rm -rf ${PKGNAM}-${VERSION}
-tar xvf $CWD/${PKGNAM}-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.xz || exit 1
cd ${PKGNAM}-$VERSION
# Make sure ownerships and permissions are sane:
@@ -78,7 +78,8 @@ CFLAGS="$SLKCFLAGS" \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--infodir=/usr/info \
- $ARCH-slackware-linux
+ --docdir=/usr/doc/flex-${VERSION} \
+ --build=$ARCH-slackware-linux
# Build and install:
make $NUMJOBS || make || exit 1
@@ -115,6 +116,7 @@ if [ -d $PKG/usr/info ]; then
fi
# Add a documentation directory:
+rm -rf $PKG/usr/doc/${PKGNAM}-$VERSION
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
ABOUT-NLS AUTHORS COPYING* INSTALL NEWS README* THANKS TODO \
diff --git a/source/d/gcc/gcc-4.7.1.adalib.pic.diff b/source/d/gcc/gcc-4.7.1.adalib.pic.diff
deleted file mode 100644
index 792ec654b..000000000
--- a/source/d/gcc/gcc-4.7.1.adalib.pic.diff
+++ /dev/null
@@ -1,40 +0,0 @@
-From 176ff0f9a1016553978d6cf41770703e2ad90958 Mon Sep 17 00:00:00 2001
-From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Thu, 14 Jun 2012 17:45:53 +0000
-Subject: [PATCH 1/1] * gcc-interface/Makefile.in (gnatlib-shared-default): Append
- $(PICFLAG_FOR_TARGET) to GNATLIBCFLAGS_FOR_C passed to submake.
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@188623 138bc75d-0d04-0410-961f-82ee72b054a4
----
- gcc/ada/ChangeLog | 5 +++++
- gcc/ada/gcc-interface/Makefile.in | 2 +-
- 2 files changed, 6 insertions(+), 1 deletions(-)
-
-diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
-index 7e3195a..072a3f2 100644
---- a/gcc/ada/ChangeLog
-+++ b/gcc/ada/ChangeLog
-@@ -1,3 +1,8 @@
-+2012-06-14 Jakub Jelinek <jakub@redhat.com>
-+
-+ * gcc-interface/Makefile.in (gnatlib-shared-default): Append
-+ $(PICFLAG_FOR_TARGET) to GNATLIBCFLAGS_FOR_C passed to submake.
-+
- 2012-06-14 Release Manager
-
- * GCC 4.7.1 released.
-diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
-index ee8db38..f9e7eda 100644
---- a/gcc/ada/gcc-interface/Makefile.in
-+++ b/gcc/ada/gcc-interface/Makefile.in
-@@ -2597,7 +2597,7 @@ gnatlib-shared-default:
- $(MAKE) $(FLAGS_TO_PASS) \
- GNATLIBFLAGS="$(GNATLIBFLAGS)" \
- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \
-- GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
-+ GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET)" \
- MULTISUBDIR="$(MULTISUBDIR)" \
- THREAD_KIND="$(THREAD_KIND)" \
- gnatlib
---
-1.7.3.4
diff --git a/source/d/gcc/gcc.SlackBuild b/source/d/gcc/gcc.SlackBuild
index df5f99d5f..cb96a2310 100755
--- a/source/d/gcc/gcc.SlackBuild
+++ b/source/d/gcc/gcc.SlackBuild
@@ -2,7 +2,7 @@
# GCC package build script (written by volkerdi@slackware.com)
#
# Copyright 2003, 2004 Slackware Linux, Inc., Concord, California, USA
-# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -137,6 +137,10 @@ cat $CWD/slack-desc.gcc-go > $PKG8/install/slack-desc
cd $TMP
tar xvf $CWD/gcc-$VERSION.tar.?z*
+#( cd gcc-$VERSION
+# If we had any patches, we would apply them here, but we're .diff free now.
+#) || exit 1
+
# Copy ecj.jar into the TLD of the source. Needed for java compiler.
# This can be retrieved from ftp://sourceware.org/pub/java
cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar
@@ -146,11 +150,6 @@ cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar
#https://oss.sonatype.org/content/repositories/releases/org/antlr/antlr-runtime/
ANTLJAR=$(echo $CWD/antlr-*.jar | tail -1)
-# Upstream -fPIC fix for gnat build:
-cd gcc-$VERSION
- zcat $CWD/gcc-4.7.1.adalib.pic.diff.gz | patch -p1 --verbose || exit 1
-cd ..
-
# install docs
( cd gcc-$VERSION
# Smite the fixincludes:
@@ -330,7 +329,7 @@ cd ..
echo
rm -rf fastjar-$FASTJARVER
tar xvf $CWD/fastjar-$FASTJARVER.tar.xz || exit 1
- cd fastjar-$FASTJARVER || exit
+ cd fastjar-$FASTJARVER || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -615,6 +614,7 @@ mv $PKG1/usr/bin/gnative2ascii $PKG5/usr/bin
mv $PKG1/usr/bin/gij usr/bin
mv $PKG1/usr/bin/gjar usr/bin
mv $PKG1/usr/bin/gjarsigner usr/bin
+ mv $PKG1/usr/bin/gjdoc usr/bin
mv $PKG1/usr/bin/gkeytool usr/bin
mv $PKG1/usr/bin/grepjar usr/bin
mv $PKG1/usr/bin/grmid usr/bin
@@ -709,7 +709,8 @@ mv $PKG1/usr/bin/gnative2ascii $PKG5/usr/bin
# statically, and we'll need a newer one elsewhere.
find . -name "ffi*.h" | xargs rm
find . -name "libffi*" | xargs rm
- rm usr/man/man3/ffi*
+ rm -f usr/man/man3/ffi*
+ rm -f usr/info/libffi*
)
# gcc-objc:
@@ -740,7 +741,7 @@ mv $PKG1/usr/bin/gnative2ascii $PKG5/usr/bin
mv $PKG1/usr/info/gccgo.info.gz usr/info
mkdir -p usr/lib${LIBDIRSUFFIX}
mv $PKG1/usr/lib${LIBDIRSUFFIX}/go usr/lib${LIBDIRSUFFIX}
- mv $PKG1/usr/lib${LIBDIRSUFFIX}/{libgo.la,libgo.so.0.*,libgobegin.a} usr/lib${LIBDIRSUFFIX} || exit 1
+ mv $PKG1/usr/lib${LIBDIRSUFFIX}/{libgo.la,libgo.so*,libgobegin.a} usr/lib${LIBDIRSUFFIX} || exit 1
# Ordinarily Slackware doesn't package static libraries, but in this case
# it is useful for deploying compiled binaries on machines that do not yet
# have libgo.so.0.0.0.
diff --git a/source/d/gcc/slack-desc.gcc b/source/d/gcc/slack-desc.gcc
index 04fccd4d9..1f8426753 100644
--- a/source/d/gcc/slack-desc.gcc
+++ b/source/d/gcc/slack-desc.gcc
@@ -11,7 +11,7 @@ gcc:
gcc: GCC is the GNU Compiler Collection.
gcc:
gcc: This package contains those parts of the compiler collection needed to
-gcc: compile C code. Other packages add C++, Fortran, Objective-C, and
+gcc: compile C code. Other packages add C++, Fortran, Go, Objective-C, and
gcc: Java support to the compiler core.
gcc:
gcc:
diff --git a/source/d/git/git.SlackBuild b/source/d/git/git.SlackBuild
index daa0cac7e..5130525bc 100755
--- a/source/d/git/git.SlackBuild
+++ b/source/d/git/git.SlackBuild
@@ -107,6 +107,9 @@ make \
mv $PKG/usr/share/man/man3 $PKG/usr/man
rmdir $PKG/usr/share/man
+# Don't stomp on perl's file:
+rm -f $PKG/usr/lib*/perl5/perllocal.pod
+
# Compress and if needed symlink the man pages:
if [ -d $PKG/usr/man ]; then
( cd $PKG/usr/man
diff --git a/source/d/guile/guile.SlackBuild b/source/d/guile/guile.SlackBuild
index 03433ee56..9f94e55b5 100755
--- a/source/d/guile/guile.SlackBuild
+++ b/source/d/guile/guile.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=guile
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -58,8 +58,9 @@ else
fi
cd $TMP
-tar xvf $CWD/guile-$VERSION.tar.?z* || exit 1
-cd guile-$VERSION
+rm -rf guile-$VERSION
+tar xvf $CWD/guile-$VERSION.tar.xz || exit 1
+cd guile-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -74,6 +75,9 @@ CFLAGS="$SLKCFLAGS" \
--infodir=/usr/info \
--mandir=/usr/man \
--with-threads \
+ --disable-static \
+ --disable-rpath \
+ --disable-error-on-warning \
--build=$ARCH-slackware-linux
# Does not like parallel make...
diff --git a/source/d/guile/slack-desc b/source/d/guile/slack-desc
index 9b3252807..2c23793f7 100644
--- a/source/d/guile/slack-desc
+++ b/source/d/guile/slack-desc
@@ -6,7 +6,7 @@
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
-guile: guile (GNU's extension language library)
+guile: guile (GNU extension language library)
guile:
guile: This is Guile, Project GNU's extension language library. Guile is an
guile: interpreter for Scheme, packaged as a library that you can link into
diff --git a/source/d/help2man/help2man.SlackBuild b/source/d/help2man/help2man.SlackBuild
new file mode 100755
index 000000000..bc93fffae
--- /dev/null
+++ b/source/d/help2man/help2man.SlackBuild
@@ -0,0 +1,149 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=help2man
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --localstatedir=/var \
+ --build=$ARCH-slackware-linux
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* INSTALL NEWS README* THANKS \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r debian/changelog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat debian/changelog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r debian/changelog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/d/help2man/slack-desc b/source/d/help2man/slack-desc
new file mode 100644
index 000000000..421736399
--- /dev/null
+++ b/source/d/help2man/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+help2man: help2man (automatic man page generator)
+help2man:
+help2man: help2man is a tool for automatically generating simple manual pages
+help2man: from program output.
+help2man:
+help2man: Homepage: http://www.gnu.org/software/help2man
+help2man:
+help2man:
+help2man:
+help2man:
+help2man:
diff --git a/source/d/libtool/libtool.SlackBuild b/source/d/libtool/libtool.SlackBuild
index 9849df425..ffa0bc4b6 100755
--- a/source/d/libtool/libtool.SlackBuild
+++ b/source/d/libtool/libtool.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
VERSION=${VERSION:-$(echo libtool-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:--j6}
diff --git a/source/d/llvm/llvm.SlackBuild b/source/d/llvm/llvm.SlackBuild
index 47c96695e..1f5150c79 100755
--- a/source/d/llvm/llvm.SlackBuild
+++ b/source/d/llvm/llvm.SlackBuild
@@ -2,8 +2,8 @@
# Slackware build script for llvm
-# Copyright 2008-2011 Heinz Wiesinger, Amsterdam, The Netherlands
-# Copyright 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008-2013 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=llvm
-VERSION=3.0
+VERSION=3.3
BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -55,38 +55,23 @@ else
LIBDIRSUFFIX=""
fi
-CLANG=${CLANG:-yes}
-
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-${VERSION}.src
-tar xvf $CWD/$PKGNAM-$VERSION.tar.xz
+tar xvf $CWD/$PKGNAM-$VERSION.src.tar.xz || exit 1
-if [ "$CLANG" = "no" ]; then
- cd $PKGNAM-${VERSION}.src
-else
- cd $PKGNAM-${VERSION}.src/tools
- rm -rf clang clang-${VERSION}.src
- tar xvf $CWD/clang-$VERSION.tar.xz
- mv clang-${VERSION}.src clang
- cd ../
-
- # clang fixes for slackware
- # No longer needed as of llvm/clang 3.0?
- #patch -p1 -d tools/clang -i $CWD/clang-slackware.diff
-fi
+cd $PKGNAM-${VERSION}.src/tools
+ tar xvf $CWD/cfe-$VERSION.src.tar.xz || exit 1
+ mv cfe-${VERSION}.src clang || exit 1
+cd ../
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
-CINC="/usr/include/"
-GCCDIR=/usr/lib$LIBDIRSUFFIX/gcc/$ARCH-slackware-linux*/*/
-CINC="$CINC:$(echo ${GCCDIR})/include/"
-CINC="$CINC:$(echo ${GCCDIR})/include-fixed/"
-
# --mandir doesn't work currently
# need to disable assertions to make llvm thread-safe
+# clang resource dir is a relative path based on the location of the clang binary
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -98,49 +83,65 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-optimized \
--disable-assertions \
--enable-pic \
- --with-c-include-dirs=$CINC \
+ --enable-experimental-targets=R600 \
+ --with-clang-resource-dir="../lib${LIBDIRSUFFIX}/clang/${VERSION}" \
--build=$ARCH-slackware-linux \
--host=$ARCH-slackware-linux || exit 1
-# Correct libdir setting
+# Fix hardcoded libdir
sed -i "s|\$(PROJ_prefix)/lib|\$(PROJ_prefix)/lib$LIBDIRSUFFIX|" \
Makefile.config
-
-if [ "$CLANG" != "no" ]; then
- sed -i "s|\$(PROJ_prefix)/lib|\$(PROJ_prefix)/lib$LIBDIRSUFFIX|" \
- tools/clang/lib/Headers/Makefile
-fi
+sed -i "s|\$(PROJ_prefix)/lib|\$(PROJ_prefix)/lib$LIBDIRSUFFIX|" \
+ tools/clang/lib/Headers/Makefile
+sed -i "s|\"lib\"|\"lib${LIBDIRSUFFIX}\"|" \
+ tools/clang/lib/Frontend/CompilerInvocation.cpp
+sed -i "s|\"lib\"|\"lib${LIBDIRSUFFIX}\"|" \
+ tools/clang/lib/Driver/Tools.cpp
+sed -i "s|ActiveLibDir = ActivePrefix + \"/lib\"|ActiveLibDir = ActivePrefix + \"/lib${LIBDIRSUFFIX}\"|g" \
+ tools/llvm-config/llvm-config.cpp
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-if [ "$CLANG" != "no" ]; then
- # install clang-static-analyzer
- mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/clang-analyzer
- cp -pr tools/clang/tools/scan-{build,view} \
- $PKG/usr/lib$LIBDIRSUFFIX/clang-analyzer/ || exit 1
- for i in scan-{build,view}; do
- ln -s /usr/lib$LIBDIRSUFFIX/clang-analyzer/$i/$i \
- $PKG/usr/bin/$i || exit 1
- done
- for i in ccc c++; do
- ln -s /usr/lib$LIBDIRSUFFIX/clang-analyzer/scan-build/$i-analyzer \
- $PKG/usr/bin/$i-analyzer || exit 1
- done
-fi
+# Add symlinks for $ARCH-slackware-linux-{clang,clang++}:
+( cd $PKG/usr/bin
+ ln -sf clang $ARCH-slackware-linux-clang
+ ln -sf clang++ $ARCH-slackware-linux-clang++
+)
+
+# install clang-static-analyzer
+mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/clang-analyzer
+cp -pr tools/clang/tools/scan-{build,view} \
+ $PKG/usr/lib$LIBDIRSUFFIX/clang-analyzer/ || exit 1
+for i in scan-{build,view}; do
+ ln -s /usr/lib$LIBDIRSUFFIX/clang-analyzer/$i/$i \
+ $PKG/usr/bin/$i || exit 1
+done
+for i in ccc c++; do
+ ln -s /usr/lib$LIBDIRSUFFIX/clang-analyzer/scan-build/$i-analyzer \
+ $PKG/usr/bin/$i-analyzer || exit 1
+done
+
+# Fix paths in scan-build
+sed -i "s|\$RealBin/bin|/usr/bin|" \
+ $PKG/usr/lib$LIBDIRSUFFIX/clang-analyzer/scan-build/scan-build
+sed -i "s|\$RealBin/sorttable.js|/usr/lib${LIBDIRSUFFIX}/clang-analyzer/scan-build/sorttable.js|" \
+ $PKG/usr/lib$LIBDIRSUFFIX/clang-analyzer/scan-build/scan-build
+sed -i "s|\$RealBin/scanview.css|/usr/lib${LIBDIRSUFFIX}/clang-analyzer/scan-build/scanview.css|" \
+ $PKG/usr/lib$LIBDIRSUFFIX/clang-analyzer/scan-build/scan-build
# Remove example libraries
rm -f $PKG/usr/lib$LIBDIRSUFFIX/LLVMHello*
-# Fix wrong libdir
-sed -i -e "s|ABS_RUN_DIR/lib\"|ABS_RUN_DIR/lib$LIBDIRSUFFIX\"|" \
- $PKG/usr/bin/llvm-config
-
# Move man page directory:
mv $PKG/usr/share/man $PKG/usr/
# Try to remove /usr/share, which should be empty now. If it's not, fine.
rmdir $PKG/usr/share
+# Move scan-build man-page into place
+mv $PKG/usr/lib$LIBDIRSUFFIX/clang-analyzer/scan-build/scan-build.1 \
+ $PKG/usr/man/man1/
+
# Strip binaries:
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
@@ -154,17 +155,13 @@ for i in $( find $PKG/usr/man -type l ) ; do
rm $i
done
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/clang
cp -a CREDITS* LICENSE* README* $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a tools/clang/{INSTALL,LICENSE,NOTES,README}* \
+ $PKG/usr/doc/$PKGNAM-$VERSION/clang
mv $PKG/usr/docs/llvm/* $PKG/usr/doc/$PKGNAM-$VERSION
rm -rf $PKG/usr/docs
-if [ "$CLANG" != "no" ]; then
- mkdir $PKG/usr/doc/$PKGNAM-$VERSION/clang
- cp -a tools/clang/{INSTALL,NOTES,README,TODO}* \
- $PKG/usr/doc/$PKGNAM-$VERSION/clang
-fi
-
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/source/d/llvm/llvm.url b/source/d/llvm/llvm.url
index 369fedaba..96e8fd581 100644
--- a/source/d/llvm/llvm.url
+++ b/source/d/llvm/llvm.url
@@ -1,2 +1,2 @@
-http://llvm.org/releases/3.0/llvm-3.0.tar.gz
-http://llvm.org/releases/3.0/clang-3.0.tar.gz
+http://llvm.org/releases/3.3/llvm-3.3.tar.gz
+http://llvm.org/releases/3.3/cfe-3.3.tar.gz
diff --git a/source/d/make/make-3.82-bugfixes.patch b/source/d/make/make-3.82-bugfixes.patch
new file mode 100644
index 000000000..e89f14e0d
--- /dev/null
+++ b/source/d/make/make-3.82-bugfixes.patch
@@ -0,0 +1,250 @@
+diff -urpN make/ChangeLog make-new/ChangeLog
+--- make/ChangeLog 2010-09-13 13:42:35.000000000 +0200
++++ make-new/ChangeLog 2010-09-13 13:42:09.000000000 +0200
+@@ -1,3 +1,22 @@
++2010-08-13 Paul Smith <psmith@gnu.org>
++
++ * NEWS: Accidentally forgot to back out the sorted wildcard
++ enhancement in 3.82, so update NEWS.
++ Also add NEWS about the error check for explicit and pattern
++ targets in the same rule, added to 3.82.
++
++ * main.c (main): Add "oneshell" to $(.FEATURES) (forgot to add
++ this in 3.82!)
++
++ * read.c (parse_file_seq): Fix various errors parsing archives
++ with multiple objects in the parenthesis, as well as wildcards.
++ Fixes Savannah bug #30612.
++
++2010-08-10 Paul Smith <psmith@gnu.org>
++
++ * main.c (main): Expand MAKEFLAGS before adding it to the
++ environment when re-exec'ing. Fixes Savannah bug #30723.
++
+ 2010-07-28 Paul Smith <psmith@gnu.org>
+
+ Version 3.82 released.
+diff -urpN make/main.c make-new/main.c
+--- make/main.c 2010-09-13 13:42:35.000000000 +0200
++++ make-new/main.c 2010-09-13 13:42:12.000000000 +0200
+@@ -1138,7 +1138,7 @@ main (int argc, char **argv, char **envp
+ a macro and some compilers (MSVC) don't like conditionals in macros. */
+ {
+ const char *features = "target-specific order-only second-expansion"
+- " else-if shortest-stem undefine"
++ " else-if shortest-stem undefine oneshell"
+ #ifndef NO_ARCHIVES
+ " archives"
+ #endif
+@@ -2093,7 +2093,7 @@ main (int argc, char **argv, char **envp
+ const char *pv = define_makeflags (1, 1);
+ char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1);
+ sprintf (p, "MAKEFLAGS=%s", pv);
+- putenv (p);
++ putenv (allocated_variable_expand (p));
+ }
+
+ if (ISDB (DB_BASIC))
+diff -urpN make/NEWS make-new/NEWS
+--- make/NEWS 2010-09-13 13:42:35.000000000 +0200
++++ make-new/NEWS 2010-09-13 13:42:11.000000000 +0200
+@@ -18,14 +18,6 @@ http://sv.gnu.org/bugs/index.php?group=m
+ * Compiling GNU make now requires a conforming ISO C 1989 compiler and
+ standard runtime library.
+
+-* WARNING: Future backward-incompatibility!
+- Wildcards are not documented as returning sorted values, but up to and
+- including this release the results have been sorted and some makefiles are
+- apparently depending on that. In the next release of GNU make, for
+- performance reasons, we may remove that sorting. If your makefiles
+- require sorted results from wildcard expansions, use the $(sort ...)
+- function to request it explicitly.
+-
+ * WARNING: Backward-incompatibility!
+ The POSIX standard for make was changed in the 2008 version in a
+ fundamentally incompatible way: make is required to invoke the shell as if
+@@ -42,6 +34,21 @@ http://sv.gnu.org/bugs/index.php?group=m
+ existing targets were provided in $?).
+
+ * WARNING: Backward-incompatibility!
++ Wildcards were not documented as returning sorted values, but the results
++ have been sorted up until this release.. If your makefiles require sorted
++ results from wildcard expansions, use the $(sort ...) function to request
++ it explicitly.
++
++* WARNING: Backward-incompatibility!
++ In previous versions of make it was acceptable to list one or more explicit
++ targets followed by one or more pattern targets in the same rule and it
++ worked "as expected". However, this was not documented as acceptable and if
++ you listed any explicit targets AFTER the pattern targets, the entire rule
++ would be mis-parsed. This release removes this ability completely: make
++ will generate an error message if you mix explicit and pattern targets in
++ the same rule.
++
++* WARNING: Backward-incompatibility!
+ As a result of parser enhancements, three backward-compatibility issues
+ exist: first, a prerequisite containing an "=" cannot be escaped with a
+ backslash any longer. You must create a variable containing an "=" and
+diff -urpN make/read.c make-new/read.c
+--- make/read.c 2010-09-13 13:42:35.000000000 +0200
++++ make-new/read.c 2010-09-13 13:42:11.000000000 +0200
+@@ -3028,7 +3028,7 @@ parse_file_seq (char **stringp, unsigned
+ {
+ /* This looks like the first element in an open archive group.
+ A valid group MUST have ')' as the last character. */
+- const char *e = p + nlen;
++ const char *e = p;
+ do
+ {
+ e = next_token (e);
+@@ -3084,19 +3084,19 @@ parse_file_seq (char **stringp, unsigned
+ Go to the next item in the string. */
+ if (flags & PARSEFS_NOGLOB)
+ {
+- NEWELT (concat (2, prefix, tp));
++ NEWELT (concat (2, prefix, tmpbuf));
+ continue;
+ }
+
+ /* If we get here we know we're doing glob expansion.
+ TP is a string in tmpbuf. NLEN is no longer used.
+ We may need to do more work: after this NAME will be set. */
+- name = tp;
++ name = tmpbuf;
+
+ /* Expand tilde if applicable. */
+- if (tp[0] == '~')
++ if (tmpbuf[0] == '~')
+ {
+- tildep = tilde_expand (tp);
++ tildep = tilde_expand (tmpbuf);
+ if (tildep != 0)
+ name = tildep;
+ }
+@@ -3152,7 +3152,10 @@ parse_file_seq (char **stringp, unsigned
+ else
+ {
+ /* We got a chain of items. Attach them. */
+- (*newp)->next = found;
++ if (*newp)
++ (*newp)->next = found;
++ else
++ *newp = found;
+
+ /* Find and set the new end. Massage names if necessary. */
+ while (1)
+diff -urpN make/tests/ChangeLog make-new/tests/ChangeLog
+--- make/tests/ChangeLog 2010-09-13 13:42:35.000000000 +0200
++++ make-new/tests/ChangeLog 2010-09-13 13:42:10.000000000 +0200
+@@ -1,3 +1,16 @@
++2010-08-13 Paul Smith <psmith@gnu.org>
++
++ * scripts/features/archives: New regression tests for archive
++ support. Test for fix to Savannah bug #30612.
++
++ * run_make_tests.pl (set_more_defaults): Set a %FEATURES hash to
++ the features available in $(.FEATURES).
++
++2010-08-10 Paul Smith <psmith@gnu.org>
++
++ * scripts/features/reinvoke: Ensure command line variable settings
++ are preserved across make re-exec. Tests Savannah bug #30723.
++
+ 2010-07-28 Paul Smith <psmith@gnu.org>
+
+ * scripts/targets/POSIX: Compatibility issues with Solaris (and
+diff -urpN make/tests/run_make_tests.pl make-new/tests/run_make_tests.pl
+--- make/tests/run_make_tests.pl 2010-09-13 13:42:35.000000000 +0200
++++ make-new/tests/run_make_tests.pl 2010-09-13 13:42:10.000000000 +0200
+@@ -29,6 +29,7 @@
+ # You should have received a copy of the GNU General Public License along with
+ # this program. If not, see <http://www.gnu.org/licenses/>.
+
++%FEATURES = ();
+
+ $valgrind = 0; # invoke make with valgrind
+ $valgrind_args = '';
+@@ -367,6 +368,8 @@ sub set_more_defaults
+ $parallel_jobs = 1;
+ }
+
++ %FEATURES = map { $_ => 1 } split /\s+/, `sh -c "echo '\\\$(info \\\$(.FEATURES))' | $make_path -f- 2>/dev/null"`;
++
+ # Set up for valgrind, if requested.
+
+ if ($valgrind) {
+diff -urpN make/tests/scripts/features/archives make-new/tests/scripts/features/archives
+--- make/tests/scripts/features/archives 1970-01-01 01:00:00.000000000 +0100
++++ make-new/tests/scripts/features/archives 2010-09-13 13:42:10.000000000 +0200
+@@ -0,0 +1,42 @@
++# -*-mode: perl-*-
++
++$description = "Test GNU make's archive management features.";
++
++$details = "\
++This only works on systems that support it.";
++
++# If this instance of make doesn't support archives, skip it
++exists $FEATURES{archives} or return -1;
++
++# Create some .o files to work with
++utouch(-60, qw(a1.o a2.o a3.o));
++
++# Very simple
++run_make_test('all: libxx.a(a1.o)',
++ '', "ar rv libxx.a a1.o\nar: creating libxx.a\na - a1.o\n");
++
++# Multiple .o's. Add a new one to the existing library
++run_make_test('all: libxx.a(a1.o a2.o)',
++ '', "ar rv libxx.a a2.o\na - a2.o\n");
++
++# Touch one of the .o's so it's rebuilt
++utouch(-40, 'a1.o');
++run_make_test(undef, '', "ar rv libxx.a a1.o\nr - a1.o\n");
++
++# Use wildcards
++run_make_test('all: libxx.a(*.o)',
++ '', "#MAKE#: Nothing to be done for `all'.\n");
++
++# Touch one of the .o's so it's rebuilt
++utouch(-30, 'a1.o');
++run_make_test(undef, '', "ar rv libxx.a a1.o\nr - a1.o\n");
++
++# Use both wildcards and simple names
++utouch(-50, 'a2.o');
++run_make_test('all: libxx.a(a3.o *.o)', '',
++ "ar rv libxx.a a3.o\na - a3.o\nar rv libxx.a a2.o\nr - a2.o\n");
++
++rmfiles(qw(a1.o a2.o a3.o libxx.a));
++
++# This tells the test driver that the perl test script executed properly.
++1;
+diff -urpN make/tests/scripts/features/reinvoke make-new/tests/scripts/features/reinvoke
+--- make/tests/scripts/features/reinvoke 2010-09-13 13:42:35.000000000 +0200
++++ make-new/tests/scripts/features/reinvoke 2010-09-13 13:42:10.000000000 +0200
+@@ -57,9 +57,24 @@ include $(F)',
+ # Now try with the file we're not updating being the actual file we're
+ # including: this and the previous one test different parts of the code.
+
+-run_make_test(undef, "F=b", "[ -f b ] || echo >> b\nhello\n")
++run_make_test(undef, 'F=b', "[ -f b ] || echo >> b\nhello\n")
+
+ &rmfiles('a','b','c');
+
++# Ensure command line variables are preserved properly across re-exec
++# Tests for Savannah bug #30723
++
++run_make_test('
++ifdef RECURSE
++-include foo30723
++endif
++recurse: ; @$(MAKE) -f $(MAKEFILE_LIST) RECURSE=1 test
++test: ; @echo F.O=$(F.O)
++foo30723: ; @touch $@
++',
++ '--no-print-directory F.O=bar', "F.O=bar\n");
++
++unlink('foo30723');
++
+ # This tells the test driver that the perl test script executed properly.
+ 1;
diff --git a/source/d/make/make.SlackBuild b/source/d/make/make.SlackBuild
index 18f701b6a..2e70788d4 100755
--- a/source/d/make/make.SlackBuild
+++ b/source/d/make/make.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=make
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -73,6 +73,8 @@ find . \
# Fix a problem using make-3.82 to build Android:
zcat $CWD/make-3.82-android-build-fix.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/make-3.82-bugfixes.patch.gz | patch -p1 --verbose || exit 1
+
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/source/d/open-cobol/open-cobol.SlackBuild b/source/d/open-cobol/open-cobol.SlackBuild
new file mode 100755
index 000000000..8e0afd594
--- /dev/null
+++ b/source/d/open-cobol/open-cobol.SlackBuild
@@ -0,0 +1,133 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=open-cobol
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --build=$ARCH-slackware-linux
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ ABOUT-NLS AUTHORS COPYING* ChangeLog INSTALL NEWS README* THANKS TODO \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/d/open-cobol/slack-desc b/source/d/open-cobol/slack-desc
new file mode 100644
index 000000000..94fa2fbde
--- /dev/null
+++ b/source/d/open-cobol/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+open-cobol: open-cobol (open source COBOL compiler)
+open-cobol:
+open-cobol: OpenCOBOL is an open-source COBOL compiler. OpenCOBOL implements a
+open-cobol: substantial part of the COBOL 85 and COBOL 2002 standards, as well as
+open-cobol: many extensions of the existent COBOL compilers. OpenCOBOL translates
+open-cobol: COBOL into C and compiles the translated code using the native C
+open-cobol: compiler. OpenCOBOL was written by Roger While and Keisuke Nishida,
+open-cobol: with the invaluable assistance of many others.
+open-cobol:
+open-cobol: Homepage: http://opencobol.add1tocobol.com
+open-cobol:
diff --git a/source/d/oprofile/oprofile.SlackBuild b/source/d/oprofile/oprofile.SlackBuild
index 8df342e3e..b425e9aa0 100755
--- a/source/d/oprofile/oprofile.SlackBuild
+++ b/source/d/oprofile/oprofile.SlackBuild
@@ -22,7 +22,7 @@
VERSION=${VERSION:-$(echo oprofile-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -65,6 +65,7 @@ tar xvf $CWD/oprofile-$VERSION.tar.?z* || exit 1
cd oprofile-$VERSION
zcat $CWD/oprofile.binutils.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/oprofile.config.h.diff.gz | patch -p1 --verbose || exit 1
./autogen.sh
diff --git a/source/d/oprofile/oprofile.config.h.diff b/source/d/oprofile/oprofile.config.h.diff
new file mode 100644
index 000000000..41c868572
--- /dev/null
+++ b/source/d/oprofile/oprofile.config.h.diff
@@ -0,0 +1,22 @@
+--- ./libutil++/bfd_spu_support.cpp.orig 2011-07-04 21:25:04.000000000 -0500
++++ ./libutil++/bfd_spu_support.cpp 2012-12-20 18:42:01.400977322 -0600
+@@ -9,6 +9,8 @@
+ * (C) Copyright IBM Corporation 2007
+ */
+
++#include "config.h"
++
+ #include "bfd_support.h"
+ #include "op_bfd.h"
+ #include "config.h"
+--- ./libutil++/bfd_support.cpp.orig 2011-07-04 21:25:04.000000000 -0500
++++ ./libutil++/bfd_support.cpp 2012-12-20 18:41:31.160978289 -0600
+@@ -8,6 +8,8 @@
+ * @author John Levon
+ */
+
++#include "config.h"
++
+ #include "bfd_support.h"
+
+ #include "op_bfd.h"
diff --git a/source/d/perl/perl.SlackBuild b/source/d/perl/perl.SlackBuild
index df535c7d5..7485d33f8 100755
--- a/source/d/perl/perl.SlackBuild
+++ b/source/d/perl/perl.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
# originally by: David Cantrell <david@slackware.com>
# maintained by: <volkerdi@slackware.com>
-VERSION=5.16.1
+VERSION=5.18.1
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -44,11 +44,12 @@ TMP=${TMP:-/tmp}
PKG=$TMP/package-perl
# Additional required modules:
-DBDMYSQL=4.021
-DBI=1.622
+DBDMYSQL=4.023
+DBI=1.628
URI=1.60
XMLPARSER=2.41
XMLSIMPLE=2.20
+GETTEXT=1.05
if [ "$ARCH" = "i386" ]; then
SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
@@ -225,6 +226,18 @@ make install DESTDIR=$PKG
cp -a README $PKG/usr/doc/perl-$VERSION/URI-${URI}
chmod 644 $PKG/usr/doc/perl-$VERSION/URI-${URI}/*
)
+ ( tar xzvf $CWD/gettext-${GETTEXT}.tar.gz
+ cd gettext-${GETTEXT}
+ chown -R root:root .
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make test
+ make install
+ make install DESTDIR=$PKG
+ mkdir -p $PKG/usr/doc/perl-$VERSION/gettext-${GETTEXT}
+ cp -a README $PKG/usr/doc/perl-$VERSION/gettext-${GETTEXT}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/gettext-${GETTEXT}/*
+ )
)
# Strip everything:
diff --git a/source/d/python/python.SlackBuild b/source/d/python/python.SlackBuild
index 220f3f020..1afb586a3 100755
--- a/source/d/python/python.SlackBuild
+++ b/source/d/python/python.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,9 +23,9 @@
PKGNAM=python
SRCNAM=Python
-VERSION=$(echo $SRCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+VERSION=$(echo $SRCNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
BRANCH_VERSION=$(echo $VERSION | cut -f 1,2 -d . )
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -66,7 +66,7 @@ TOOLSDIR=/usr/lib${LIBDIRSUFFIX}/${PKGNAM}${BRANCH_VERSION}/site-packages
cd $TMP
rm -rf $SRCNAM-$VERSION
-tar xf $CWD/$SRCNAM-$VERSION.tar.?z* || exit 1
+tar xf $CWD/$SRCNAM-$VERSION.tar.xz || exit 1
cd $SRCNAM-$VERSION
zcat $CWD/python.readline.set_pre_input_hook.diff.gz | patch -p1 --verbose || exit 1
diff --git a/source/d/rcs/rcs-5.7.diff b/source/d/rcs/rcs-5.7.diff
deleted file mode 100644
index a53b351cd..000000000
--- a/source/d/rcs/rcs-5.7.diff
+++ /dev/null
@@ -1,17 +0,0 @@
---- src/conf.sh.orig Sat Aug 12 20:25:11 1995
-+++ src/conf.sh Sat Aug 12 20:25:45 1995
-@@ -77,10 +77,10 @@
- rm -f a.d &&
- date >a.d &&
- chmod 0 a.d &&
--{ test -w a.d || cp /dev/null a.d 2>/dev/null; } && {
-- echo >&3 "$n$0: This command should not be run with superuser permissions."
-- exit 1
--}
-+#{ test -w a.d || cp /dev/null a.d 2>/dev/null; } && {
-+# echo >&3 "$n$0: This command should not be run with superuser permissions."
-+# exit 1
-+#}
- echo >&3 OK
- rm -f a.d || exit
-
diff --git a/source/d/rcs/rcs.SlackBuild b/source/d/rcs/rcs.SlackBuild
index 7a3980179..8faa20ae0 100755
--- a/source/d/rcs/rcs.SlackBuild
+++ b/source/d/rcs/rcs.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,47 +20,61 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=5.7
-BUILD=${BUILD:-2}
+
+PKGNAM=rcs
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
-if [ "$ARCH" = "i486" ]; then
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
fi
CWD=$(pwd)
TMP=${TMP:-/tmp}
-PKG=$TMP/package-rcs
+PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
-# Explode the package framework:
-cd $PKG
-explodepkg $CWD/_rcs.tar.gz
-
-echo "+=========+"
-echo "| rcs-$VERSION |"
-echo "+=========+"
cd $TMP
-rm -rf rcs-$VERSION
-tar xvf $CWD/rcs-$VERSION.tar.gz || exit 1
-cd rcs-$VERSION
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION
chown -R root:root .
find . \
@@ -69,35 +83,66 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/rcs-$VERSION.diff.gz | patch -p0 || exit 1
-
-./configure --prefix=/usr
-
-make CFLAGS="$SLKCFLAGS" LDFLAGS=-s || exit 1
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --build=$ARCH-slackware-linux
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS COPYING* HACKING INSTALL NEWS README* THANKS TODO \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
-cd src
-cat ci > $PKG/usr/bin/ci
-cat co > $PKG/usr/bin/co
-cat ident > $PKG/usr/bin/ident
-cat merge > $PKG/usr/bin/merge
-cat rcs > $PKG/usr/bin/rcs
-cat rcsclean > $PKG/usr/bin/rcsclean
-cat rcsdiff > $PKG/usr/bin/rcsdiff
-cat rcsmerge > $PKG/usr/bin/rcsmerge
-cat rcstest > $PKG/usr/bin/rcstest
-cat rlog > $PKG/usr/bin/rlog
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
-cd ../man
-for page in ci.1 co.1 ident.1 merge.1 rcs.1 rcsclean.1 rcsdiff.1 rcsfreeze.1 \
-rcsintro.1 rcsmerge.1 rlog.1 ; do
- cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz
-done
-cat rcsfile.5 | gzip -9c > $PKG/usr/man/man5/rcsfile.5.gz
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-# Build the package:
cd $PKG
-/sbin/makepkg -l y -c n $TMP/rcs-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/d/ruby/ruby.SlackBuild b/source/d/ruby/ruby.SlackBuild
index 3c856604f..9a70d9627 100755
--- a/source/d/ruby/ruby.SlackBuild
+++ b/source/d/ruby/ruby.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=ruby
VERSION=$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1,2 -d - | rev)
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -87,7 +87,7 @@ optflags=$OPTFLAGS \
--docdir=/usr/doc/ruby-$VERSION \
--enable-shared \
--enable-pthread \
- --disable-install-doc \
+ --disable-install-capi \
--build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
@@ -95,7 +95,7 @@ make install DESTDIR=$PKG || exit 1
mkdir -p $PKG/usr/doc/ruby-$VERSION
cp -a \
- COPYING* *GPL* ChangeLog LEGAL NEWS README* ToDo \
+ BSDL COPYING* *GPL* ChangeLog LEGAL NEWS README* ToDo \
$PKG/usr/doc/ruby-$VERSION
# The entire ChangeLog is excessive for most users:
diff --git a/source/d/slacktrack/slacktrack.SlackBuild b/source/d/slacktrack/slacktrack.SlackBuild
index 3b62823af..6a3bcc1a7 100755
--- a/source/d/slacktrack/slacktrack.SlackBuild
+++ b/source/d/slacktrack/slacktrack.SlackBuild
@@ -5,7 +5,7 @@ if [ "$TMP" = "" ]; then
TMP=/tmp
fi
-export VERSION=2.12
+export VERSION=2.15
if [ ! -d $TMP ]; then
mkdir -p $TMP # location to build the source
diff --git a/source/d/strace/strace.SlackBuild b/source/d/strace/strace.SlackBuild
index 97b081831..c8d65db8b 100755
--- a/source/d/strace/strace.SlackBuild
+++ b/source/d/strace/strace.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=strace
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -55,7 +55,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf strace-$VERSION
-tar xvf $CWD/strace-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/strace-$VERSION.tar.xz || exit 1
cd strace-$VERSION || exit 1
chown -R root:root .
find . \
@@ -77,10 +77,18 @@ strip $PKG/usr/bin/strace
mkdir -p $PKG/usr/doc/strace-$VERSION
cp -a \
- COPYRIGHT CREDITS NEWS PORTING README* TODO \
+ AUTHORS ChangeLog COPYING COPYRIGHT CREDITS NEWS PORTING README* TODO \
$PKG/usr/doc/strace-$VERSION
chmod 644 $PKG/usr/doc/strace-$VERSION/*
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
gzip -9 $PKG/usr/man/man1/*
mkdir -p $PKG/install
diff --git a/source/d/swig/swig.url b/source/d/swig/swig.url
index 78023e2df..2a4e177d9 100644
--- a/source/d/swig/swig.url
+++ b/source/d/swig/swig.url
@@ -1 +1 @@
-http://downloads.sourceforge.net/swig/swig-${version}.tar.gz
+http://sourceforge.net/projects/swig/files/swig/swig-${version}/swig-${version}.tar.gz
diff --git a/source/e/emacs/emacs.SlackBuild b/source/e/emacs/emacs.SlackBuild
index 7aa4d9db7..64552b396 100755
--- a/source/e/emacs/emacs.SlackBuild
+++ b/source/e/emacs/emacs.SlackBuild
@@ -27,9 +27,9 @@
# Modified by Patrick Volkerding <volkerdi@slackware.com>
PKGNAM=emacs
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-3}
# Determine version number the tarball is labeled with:
-TARBALLVER=${TARBALLVER:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+TARBALLVER=${TARBALLVER:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
# OK, now what's being used as the source directory version number... account
# for subversions a, b, c, and d in the $TARBALLVER:
SRCDIRVER=$(echo $TARBALLVER | tr -d a | tr -d b | tr -d c | tr -d d)
@@ -72,7 +72,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$TARBALLVER
-tar xvf $CWD/$PKGNAM-$TARBALLVER.tar.?z* || exit 1
+tar xvf $CWD/$PKGNAM-$TARBALLVER.tar.xz || exit 1
cd $PKGNAM-$SRCDIRVER || exit 1
chown -R root:root .
@@ -95,7 +95,7 @@ CXXFLAGS="$SLKCFLAGS" \
--without-gconf \
--without-gsettings \
--with-x \
- --with-x-toolkit=gtk \
+ --with-x-toolkit=gtk2 \
--build=${ARCH}-slackware-linux
make $NUMJOBS || make || exit 1
@@ -110,7 +110,7 @@ make install DESTDIR=$PKG || exit 1
# Also add a version of the binary that is not linked to X11:
cd $TMP
rm -rf $PKGNAM-$TARBALLVER
-tar xvf $CWD/$PKGNAM-$TARBALLVER.tar.?z* || exit 1
+tar xvf $CWD/$PKGNAM-$TARBALLVER.tar.xz || exit 1
cd $PKGNAM-$SRCDIRVER || exit 1
chown -R root:root .
diff --git a/source/installer/dropbear/dropbear.Slackbuild b/source/installer/dropbear/dropbear.Slackbuild
index 5bd3bd99d..37ab7c012 100755
--- a/source/installer/dropbear/dropbear.Slackbuild
+++ b/source/installer/dropbear/dropbear.Slackbuild
@@ -23,11 +23,18 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=dropbear
-VERSION=0.50
-ARCH=${ARCH:-i486}
+VERSION=2012.55
BUILD=${BUILD:-10}
TAG=${TAG:-''}
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
# The programs we want to have as symlinks to dropbearmulti binary:
PROGS="dropbear dbclient dropbearkey dropbearconvert scp ssh"
@@ -36,33 +43,37 @@ PROGS="dropbear dbclient dropbearkey dropbearconvert scp ssh"
# and adding symlinks for ssh and scp without worry
# about overwriting any pre-existing binaries.
-CWD=`pwd`
+CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/pkg-$PRGNAM
-OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i386" ]; then
- SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
-elif [ "$ARCH" = "i486" ]; then
+if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
fi
rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
+mkdir -p $TMP $PKG
cd $TMP || exit 1
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 || exit 1
cd $PRGNAM-$VERSION || exit 1
-# Fix ownership and permissions inside the source tarball.
-# It's appalling how many projects have 777 permissions or
-# even suid, sgid, and sticky bits set on things.
chown -R root:root .
-chmod -R u+w,go+r-w,a-s .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
# Patch to allow empty passwords (used in Slackware's installer):
patch -p1 < $CWD/dropbear_emptypass.patch
@@ -70,6 +81,8 @@ patch -p1 < $CWD/dropbear_emptypass.patch
patch -p0 < $CWD/dropbear.xauth.patch
# Change the path used for dbclient because our prefix is '/' not '/usr':
patch -p1 < $CWD/dropbear_dbclientpath.patch
+# Patch for new glibc crypt() that may return NULL:
+patch -p1 < $CWD/dropbear.glibc.crypt.diff
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -96,10 +109,8 @@ cp dbclient.1 $PKG/usr/man/man1
cp dropbearkey.8 dropbear.8 $PKG/usr/man/man8
if [ -d $PKG/usr/man ]; then
- (cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \;
- for i in `find . -type l` ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
- )
+ find $PKG/usr/man -type f -exec gzip -9 {} \;
+ for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
fi
# Link binaries to dropbearmulti since the 'make install' does not do that
@@ -111,10 +122,10 @@ fi
done
)
-(cd $PKG
- find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
- find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-)
+make install DESTDIR=$PKG
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/etc/rc.d $PKG/etc/dropbear
cp $CWD/rc.dropbear.new $PKG/etc/rc.d/ # doinst.sh will handle .new
@@ -128,4 +139,4 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz
+/sbin/makepkg -l y -c n $TMP/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz
diff --git a/source/installer/dropbear/dropbear.glibc.crypt.diff b/source/installer/dropbear/dropbear.glibc.crypt.diff
new file mode 100644
index 000000000..3184210dd
--- /dev/null
+++ b/source/installer/dropbear/dropbear.glibc.crypt.diff
@@ -0,0 +1,28 @@
+
+# HG changeset patch
+# User Matt Johnston <matt@ucc.asn.au>
+# Date 1367250157 -28800
+# Node ID 7bd88d546627ff31d0e2d91e6022b3e77a943efb
+# Parent ea04e3eb03e2c3d59d82e361882711de844068a4
+Avoid segfault for locked accounts (invalid salt to crypt())
+
+diff -r ea04e3eb03e2 -r 7bd88d546627 svr-authpasswd.c
+--- a/svr-authpasswd.c Thu Apr 18 23:15:17 2013 +0800
++++ b/svr-authpasswd.c Mon Apr 29 23:42:37 2013 +0800
+@@ -66,6 +66,14 @@
+ m_burn(password, passwordlen);
+ m_free(password);
+
++ if (testcrypt == NULL) {
++ /* crypt() with an invalid salt like "!!" */
++ dropbear_log(LOG_WARNING, "User account '%s' is locked",
++ ses.authstate.pw_name);
++ send_msg_userauth_failure(0, 1);
++ return;
++ }
++
+ /* check for empty password */
+ if (passwdcrypt[0] == '\0') {
+ dropbear_log(LOG_WARNING, "User '%s' has blank password, rejected",
+
+
diff --git a/source/installer/dropbear/dropbear.xauth.patch b/source/installer/dropbear/dropbear.xauth.patch
index d01e15e04..e32f0c644 100644
--- a/source/installer/dropbear/dropbear.xauth.patch
+++ b/source/installer/dropbear/dropbear.xauth.patch
@@ -1,10 +1,10 @@
---- options.h.old 2008-01-29 11:54:45.000000000 -0200
-+++ options.h 2008-01-29 11:54:52.000000000 -0200
-@@ -197,7 +197,7 @@
+--- options.h.orig 2013-06-21 21:50:34.859528230 -0500
++++ options.h 2013-06-21 21:52:59.208516285 -0500
+@@ -243,7 +243,7 @@
/* The command to invoke for xauth when using X11 forwarding.
* "-q" for quiet */
#ifndef XAUTH_COMMAND
--#define XAUTH_COMMAND "/usr/X11R6/bin/xauth -q"
+-#define XAUTH_COMMAND "/usr/bin/X11/xauth -q"
+#define XAUTH_COMMAND "/usr/bin/xauth -q"
#endif
diff --git a/source/installer/dropbear/dropbear_dbclientpath.patch b/source/installer/dropbear/dropbear_dbclientpath.patch
index ef5cddc79..781349f83 100644
--- a/source/installer/dropbear/dropbear_dbclientpath.patch
+++ b/source/installer/dropbear/dropbear_dbclientpath.patch
@@ -1,12 +1,12 @@
-diff -uarN dropbear-0.50.orig/options.h dropbear-0.50/options.h
---- dropbear-0.50.orig/options.h 2007-08-08 18:39:38.000000000 +0200
-+++ dropbear-0.50/options.h 2008-03-10 14:43:29.261618300 +0100
-@@ -209,7 +209,7 @@
-
+diff -Nur dropbear-2012.55.orig/options.h dropbear-2012.55/options.h
+--- dropbear-2012.55.orig/options.h 2012-02-23 07:47:06.000000000 -0600
++++ dropbear-2012.55/options.h 2012-04-07 15:12:46.040452209 -0500
+@@ -255,7 +255,7 @@
+
/* This is used by the scp binary when used as a client binary. If you're
* not using the Dropbear client, you'll need to change it */
-#define _PATH_SSH_PROGRAM "/usr/bin/dbclient"
+#define _PATH_SSH_PROGRAM "/bin/dbclient"
-
- /* Whether to log commands executed by a client. This only logs the
- * (single) command sent to the server, not what a user did in a
+
+ /* Whether to log commands executed by a client. This only logs the
+ * (single) command sent to the server, not what a user did in a
diff --git a/source/installer/dropbear/dropbear_emptypass.patch b/source/installer/dropbear/dropbear_emptypass.patch
index 995b4d5c5..259240082 100644
--- a/source/installer/dropbear/dropbear_emptypass.patch
+++ b/source/installer/dropbear/dropbear_emptypass.patch
@@ -1,51 +1,12 @@
-diff -uarN dropbear-0.50.orig/options.h dropbear-0.50/options.h
---- dropbear-0.50.orig/options.h 2007-08-08 17:39:37.000000000 +0200
-+++ dropbear-0.50/options.h 2008-02-01 00:22:07.000000000 +0100
-@@ -148,6 +148,9 @@
- * SSH_ASKPASS instead. Comment out this var to remove this functionality.*/
- #define DROPBEAR_PASSWORD_ENV "DROPBEAR_PASSWORD"
-
-+/* disable server empty password check because root has no password on EZX */
-+#define DISABLE_SVR_EMPTY_PASSWD_CHECK
-+
- /* Define this (as well as ENABLE_CLI_PASSWORD_AUTH) to allow the use of
- * a helper program for the ssh client. The helper program should be
- * specified in the SSH_ASKPASS environment variable, and dbclient
-diff -uarN dropbear-0.50.orig/svr-auth.c dropbear-0.50/svr-auth.c
---- dropbear-0.50.orig/svr-auth.c 2007-08-08 17:39:37.000000000 +0200
-+++ dropbear-0.50/svr-auth.c 2008-02-01 00:22:07.000000000 +0100
-@@ -236,6 +236,7 @@
- return DROPBEAR_FAILURE;
- }
-
-+#ifndef DISABLE_SVR_EMPTY_PASSWD_CHECK
- /* check for an empty password */
- if (ses.authstate.pw->pw_passwd[0] == '\0') {
- TRACE(("leave checkusername: empty pword"))
-@@ -244,6 +245,7 @@
- send_msg_userauth_failure(0, 1);
- return DROPBEAR_FAILURE;
- }
-+#endif
-
- TRACE(("shell is %s", ses.authstate.pw->pw_shell))
-
-diff -uarN dropbear-0.50.orig/svr-authpasswd.c dropbear-0.50/svr-authpasswd.c
---- dropbear-0.50.orig/svr-authpasswd.c 2007-08-08 17:39:37.000000000 +0200
-+++ dropbear-0.50/svr-authpasswd.c 2008-02-01 00:23:00.000000000 +0100
-@@ -60,6 +60,7 @@
- passwdcrypt = DEBUG_HACKCRYPT;
- #endif
-
-+#ifndef DISABLE_SVR_EMPTY_PASSWD_CHECK
- /* check for empty password - need to do this again here
- * since the shadow password may differ to that tested
- * in auth.c */
-@@ -69,6 +70,7 @@
- send_msg_userauth_failure(0, 1);
- return;
- }
-+#endif
-
- /* check if client wants to change password */
- changepw = buf_getbool(ses.payload);
+diff -Nur dropbear-2012.55.orig/options.h dropbear-2012.55/options.h
+--- dropbear-2012.55.orig/options.h 2012-02-23 07:47:06.000000000 -0600
++++ dropbear-2012.55/options.h 2012-04-07 15:09:15.676322495 -0500
+@@ -180,7 +180,7 @@
+ * Public key logins are allowed for blank-password accounts regardless of this
+ * setting. PAM is not affected by this setting, it uses the normal pam.d
+ * settings ('nullok' option) */
+-/* #define ALLOW_BLANK_PASSWORD */
++#define ALLOW_BLANK_PASSWORD
+
+ #define ENABLE_CLI_PASSWORD_AUTH
+ #define ENABLE_CLI_PUBKEY_AUTH
diff --git a/source/k/README.TXT b/source/k/README.TXT
index b94896493..7e25e0024 100644
--- a/source/k/README.TXT
+++ b/source/k/README.TXT
@@ -5,7 +5,7 @@ kernel sources, but it's not exactly a virgin either.
=============================================================
Version specific notes (if any):
=============================================================
-
+
For a 2.6.x kernel (much easier):
Untar Linus' source in /usr/src.
@@ -13,7 +13,7 @@ For a 2.6.x kernel (much easier):
Install a suitable .config, or use make menuconfig, etc.
An example would be to use one of the config files here:
- # cat config-generic-3.2.29 > /usr/src/linux-3.2.29/.config
+ # cat config-generic-3.10.17 > /usr/src/linux-3.10.17/.config
Then run the build programs:
@@ -33,7 +33,7 @@ machines, too, if they will run them.
At this point if you are running huge.s or generic.s, you should have
no problems building kernel modules.
-
+
Have fun! :-)
Pat
diff --git a/source/k/config-x86/config-generic-3.10.17 b/source/k/config-x86/config-generic-3.10.17
new file mode 100644
index 000000000..39f49b960
--- /dev/null
+++ b/source/k/config-x86/config-generic-3.10.17
@@ -0,0 +1,6384 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/x86 3.10.17 Kernel Configuration
+#
+# CONFIG_64BIT is not set
+CONFIG_X86_32=y
+CONFIG_X86=y
+CONFIG_INSTRUCTION_DECODER=y
+CONFIG_OUTPUT_FORMAT="elf32-i386"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# CONFIG_ZONE_DMA32 is not set
+# CONFIG_AUDIT_ARCH is not set
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_EXTABLE_SORT=y
+
+#
+# General setup
+#
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+CONFIG_DEFAULT_HOSTNAME="darkstar"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_FHANDLE=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_WATCH=y
+CONFIG_AUDIT_TREE=y
+# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_CHIP=y
+CONFIG_IRQ_DOMAIN=y
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_KTIME_SCALAR=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ is not set
+CONFIG_HIGH_RES_TIMERS=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_RCU_STALL_COMMON is not set
+# CONFIG_TREE_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+# CONFIG_MEMCG is not set
+CONFIG_CGROUP_PERF=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_SCHED_AUTOGROUP is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_HAVE_UID16=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_HOTPLUG=y
+CONFIG_HAVE_PCSPKR_PLATFORM=y
+# CONFIG_EXPERT is not set
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+CONFIG_HAVE_OPROFILE=y
+CONFIG_OPROFILE_NMI_TIMER=y
+# CONFIG_KPROBES is not set
+# CONFIG_JUMP_LABEL is not set
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_PERF_EVENTS_NMI=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP_FILTER=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_MODULES_USE_ELF_REL=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_OLD_SIGACTION=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_BSGLIB=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_DEV_THROTTLING=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+CONFIG_OSF_PARTITION=y
+CONFIG_AMIGA_PARTITION=y
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+# CONFIG_LDM_PARTITION is not set
+CONFIG_SGI_PARTITION=y
+# CONFIG_ULTRIX_PARTITION is not set
+CONFIG_SUN_PARTITION=y
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_CFQ_GROUP_IOSCHED=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_ASN1=m
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_INLINE_READ_UNLOCK=y
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_INLINE_WRITE_UNLOCK=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_ZONE_DMA=y
+# CONFIG_SMP is not set
+CONFIG_X86_MPPARSE=y
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+# CONFIG_X86_GOLDFISH is not set
+CONFIG_X86_INTEL_LPSS=y
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_X86_32_IRIS=m
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_HYPERVISOR_GUEST=y
+# CONFIG_PARAVIRT is not set
+# CONFIG_XEN_PRIVILEGED_GUEST is not set
+CONFIG_NO_BOOTMEM=y
+CONFIG_MEMTEST=y
+CONFIG_M486=y
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+# CONFIG_M686 is not set
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MELAN is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+CONFIG_X86_GENERIC=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_L1_CACHE_SHIFT=6
+# CONFIG_X86_PPRO_FENCE is not set
+CONFIG_X86_F00F_BUG=y
+CONFIG_X86_INVD_BUG=y
+CONFIG_X86_ALIGNMENT_16=y
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=4
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_CYRIX_32=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_CPU_SUP_TRANSMETA_32=y
+CONFIG_CPU_SUP_UMC_32=y
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+CONFIG_NR_CPUS=1
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_X86_UP_APIC=y
+CONFIG_X86_UP_IOAPIC=y
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+CONFIG_X86_ANCIENT_MCE=y
+CONFIG_X86_MCE_THRESHOLD=y
+CONFIG_X86_MCE_INJECT=m
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_VM86=y
+CONFIG_TOSHIBA=m
+CONFIG_I8K=m
+CONFIG_X86_REBOOTFIXUPS=y
+CONFIG_MICROCODE=m
+CONFIG_MICROCODE_INTEL=y
+CONFIG_MICROCODE_AMD=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_MICROCODE_INTEL_LIB=y
+CONFIG_MICROCODE_INTEL_EARLY=y
+CONFIG_MICROCODE_EARLY=y
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+# CONFIG_NOHIGHMEM is not set
+CONFIG_HIGHMEM4G=y
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_HIGHMEM=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ILLEGAL_POINTER_VALUE=0
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_ARCH_DISCARD_MEMBLOCK=y
+# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=98304
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+# CONFIG_MEMORY_FAILURE is not set
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+CONFIG_NEED_PER_CPU_KM=y
+# CONFIG_CLEANCACHE is not set
+# CONFIG_FRONTSWAP is not set
+CONFIG_HIGHPTE=y
+# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
+CONFIG_X86_RESERVE_LOW=64
+CONFIG_MATH_EMULATION=y
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_ARCH_RANDOM=y
+CONFIG_X86_SMAP=y
+CONFIG_EFI=y
+# CONFIG_EFI_STUB is not set
+CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+CONFIG_SCHED_HRTICK=y
+# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
+CONFIG_PHYSICAL_START=0x1000000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_COMPAT_VDSO=y
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION="\"\""
+CONFIG_PM_SLEEP=y
+# CONFIG_PM_AUTOSLEEP is not set
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=100
+CONFIG_PM_WAKELOCKS_GC=y
+CONFIG_PM_RUNTIME=y
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_CLK=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_EC_DEBUGFS=m
+CONFIG_ACPI_PROC_EVENT=y
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_I2C=m
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_IPMI=m
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=m
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y
+CONFIG_ACPI_BLACKLIST_YEAR=2001
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=y
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_SBS=m
+CONFIG_ACPI_HED=y
+# CONFIG_ACPI_CUSTOM_METHOD is not set
+CONFIG_ACPI_BGRT=y
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_EINJ=m
+CONFIG_ACPI_APEI_ERST_DEBUG=m
+CONFIG_SFI=y
+# CONFIG_APM is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=m
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# x86 CPU frequency scaling drivers
+#
+CONFIG_X86_INTEL_PSTATE=y
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ_CPB=y
+CONFIG_X86_POWERNOW_K6=m
+CONFIG_X86_POWERNOW_K7=m
+CONFIG_X86_POWERNOW_K7_ACPI=y
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_AMD_FREQ_SENSITIVITY=m
+CONFIG_X86_GX_SUSPMOD=m
+CONFIG_X86_SPEEDSTEP_CENTRINO=m
+CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
+CONFIG_X86_SPEEDSTEP_ICH=m
+CONFIG_X86_SPEEDSTEP_SMI=m
+CONFIG_X86_P4_CLOCKMOD=m
+CONFIG_X86_CPUFREQ_NFORCE2=m
+CONFIG_X86_LONGRUN=m
+CONFIG_X86_LONGHAUL=m
+CONFIG_X86_E_POWERSAVER=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
+CONFIG_CPU_IDLE=y
+# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
+CONFIG_CPU_IDLE_GOV_LADDER=y
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
+CONFIG_INTEL_IDLE=y
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GODIRECT is not set
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+CONFIG_PCIEAER_INJECT=m
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
+CONFIG_PCI_STUB=m
+CONFIG_HT_IRQ=y
+# CONFIG_PCI_IOV is not set
+# CONFIG_PCI_PRI is not set
+# CONFIG_PCI_PASID is not set
+CONFIG_PCI_IOAPIC=y
+CONFIG_PCI_LABEL=y
+CONFIG_ISA_DMA_API=y
+CONFIG_ISA=y
+# CONFIG_EISA is not set
+CONFIG_SCx200=m
+CONFIG_SCx200HR_TIMER=m
+# CONFIG_OLPC is not set
+CONFIG_ALIX=y
+# CONFIG_NET5501 is not set
+# CONFIG_GEOS is not set
+CONFIG_AMD_NB=y
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_I82365=m
+CONFIG_TCIC=m
+CONFIG_PCMCIA_PROBE=y
+CONFIG_PCCARD_NONSTATIC=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_COMPAQ=m
+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
+CONFIG_HOTPLUG_PCI_IBM=m
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+# CONFIG_HOTPLUG_PCI_CPCI is not set
+CONFIG_HOTPLUG_PCI_SHPC=m
+# CONFIG_RAPIDIO is not set
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_SCRIPT=y
+CONFIG_HAVE_AOUT=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+CONFIG_HAVE_ATOMIC_IOMAP=y
+CONFIG_HAVE_TEXT_POKE_SMP=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=m
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=y
+CONFIG_XFRM_USER=y
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+# CONFIG_IP_FIB_TRIE_STATS is not set
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+# CONFIG_IPV6_SIT_6RD is not set
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETLABEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NF_CONNTRACK_PROCFS is not set
+# CONFIG_NF_CONNTRACK_EVENTS is not set
+# CONFIG_NF_CONNTRACK_TIMEOUT is not set
+# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+# CONFIG_NETFILTER_NETLINK_QUEUE_CT is not set
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NETFILTER_TPROXY=m
+CONFIG_NETFILTER_XTABLES=m
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
+CONFIG_NETFILTER_XT_TARGET_AUDIT=m
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_BPF=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS SH scheduler
+#
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_IP_VS_PE_SIP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT_IPV4=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV6=m
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RPFILTER=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_NF_NAT_IPV6=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_IP6_NF_TARGET_NPT=m
+
+#
+# DECnet: Netfilter Configuration
+#
+# CONFIG_DECNET_NF_GRABULATOR is not set
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+# CONFIG_IP_DCCP_CCID3 is not set
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+CONFIG_RDS=m
+CONFIG_RDS_RDMA=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
+CONFIG_TIPC=m
+CONFIG_TIPC_PORTS=8191
+CONFIG_TIPC_MEDIA_IB=y
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_L2TP=m
+CONFIG_L2TP_DEBUGFS=m
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=m
+CONFIG_L2TP_ETH=m
+CONFIG_STP=m
+CONFIG_GARP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_HAVE_NET_DSA=y
+CONFIG_NET_DSA=m
+CONFIG_NET_DSA_TAG_DSA=y
+CONFIG_NET_DSA_TAG_EDSA=y
+CONFIG_NET_DSA_TAG_TRAILER=y
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+# CONFIG_VLAN_8021Q_MVRP is not set
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_LTPC=m
+CONFIG_COPS=m
+CONFIG_COPS_DAYNA=y
+CONFIG_COPS_TANGENT=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+CONFIG_IEEE802154=m
+CONFIG_IEEE802154_6LOWPAN=m
+CONFIG_MAC802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_EMATCH_CANID=m
+CONFIG_NET_EMATCH_IPSET=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=y
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+# CONFIG_NET_CLS_IND is not set
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+CONFIG_BATMAN_ADV=m
+CONFIG_BATMAN_ADV_BLA=y
+CONFIG_BATMAN_ADV_DAT=y
+CONFIG_BATMAN_ADV_NC=y
+# CONFIG_BATMAN_ADV_DEBUG is not set
+CONFIG_OPENVSWITCH=m
+CONFIG_VSOCKETS=m
+CONFIG_VMWARE_VMCI_VSOCKETS=m
+CONFIG_NETLINK_MMAP=y
+CONFIG_NETLINK_DIAG=m
+CONFIG_NETPRIO_CGROUP=m
+CONFIG_BQL=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_DROP_MONITOR is not set
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+# CONFIG_DMASCC is not set
+CONFIG_SCC=m
+CONFIG_SCC_DELAY=y
+CONFIG_SCC_TRXECHO=y
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_BAYCOM_EPP=m
+CONFIG_YAM=m
+CONFIG_CAN=m
+CONFIG_CAN_RAW=m
+CONFIG_CAN_BCM=m
+CONFIG_CAN_GW=m
+
+#
+# CAN Device Drivers
+#
+CONFIG_CAN_VCAN=m
+CONFIG_CAN_SLCAN=m
+CONFIG_CAN_DEV=m
+CONFIG_CAN_CALC_BITTIMING=y
+# CONFIG_CAN_LEDS is not set
+CONFIG_CAN_JANZ_ICAN3=m
+CONFIG_PCH_CAN=m
+CONFIG_CAN_SJA1000=m
+CONFIG_CAN_SJA1000_ISA=m
+CONFIG_CAN_SJA1000_PLATFORM=m
+CONFIG_CAN_EMS_PCMCIA=m
+CONFIG_CAN_EMS_PCI=m
+CONFIG_CAN_PEAK_PCMCIA=m
+CONFIG_CAN_PEAK_PCI=m
+CONFIG_CAN_PEAK_PCIEC=y
+CONFIG_CAN_KVASER_PCI=m
+CONFIG_CAN_PLX_PCI=m
+CONFIG_CAN_TSCAN1=m
+CONFIG_CAN_C_CAN=m
+CONFIG_CAN_C_CAN_PLATFORM=m
+CONFIG_CAN_C_CAN_PCI=m
+CONFIG_CAN_CC770=m
+CONFIG_CAN_CC770_ISA=m
+CONFIG_CAN_CC770_PLATFORM=m
+
+#
+# CAN USB interfaces
+#
+CONFIG_CAN_EMS_USB=m
+CONFIG_CAN_ESD_USB2=m
+CONFIG_CAN_KVASER_USB=m
+CONFIG_CAN_PEAK_USB=m
+CONFIG_CAN_8DEV_USB=m
+CONFIG_CAN_SOFTING=m
+CONFIG_CAN_SOFTING_CS=m
+# CONFIG_CAN_DEBUG_DEVICES is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_TOSHIBA_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_CMTP=m
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_3WIRE=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_BT_WILINK=m
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_RFKILL_REGULATOR=m
+CONFIG_RFKILL_GPIO=m
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+CONFIG_NET_9P_RDMA=m
+# CONFIG_NET_9P_DEBUG is not set
+# CONFIG_CAIF is not set
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+CONFIG_NFC=m
+CONFIG_NFC_NCI=m
+CONFIG_NFC_HCI=m
+# CONFIG_NFC_SHDLC is not set
+
+#
+# Near Field Communication (NFC) devices
+#
+CONFIG_NFC_PN533=m
+CONFIG_NFC_WILINK=m
+# CONFIG_NFC_MEI_PHY is not set
+CONFIG_NFC_PN544=m
+CONFIG_NFC_MICROREAD=m
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_GENERIC_CPU_DEVICES is not set
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=m
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_CMA is not set
+
+#
+# Bus devices
+#
+CONFIG_CONNECTOR=m
+CONFIG_MTD=m
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_REDBOOT_PARTS=m
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=m
+CONFIG_MTD_AR7_PARTS=m
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+CONFIG_SM_FTL=m
+CONFIG_MTD_OOPS=m
+CONFIG_MTD_SWAP=m
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+CONFIG_MTD_GEN_PROBE=m
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_MAP_BANK_WIDTH_8=y
+CONFIG_MTD_MAP_BANK_WIDTH_16=y
+CONFIG_MTD_MAP_BANK_WIDTH_32=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+CONFIG_MTD_CFI_I4=y
+CONFIG_MTD_CFI_I8=y
+CONFIG_MTD_OTP=y
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_CFI_UTIL=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=m
+# CONFIG_MTD_PHYSMAP_COMPAT is not set
+CONFIG_MTD_SC520CDP=m
+CONFIG_MTD_NETSC520=m
+CONFIG_MTD_TS5500=m
+CONFIG_MTD_SBC_GXX=m
+CONFIG_MTD_SCx200_DOCFLASH=m
+CONFIG_MTD_AMD76XROM=m
+CONFIG_MTD_ICHXROM=m
+CONFIG_MTD_ESB2ROM=m
+CONFIG_MTD_CK804XROM=m
+CONFIG_MTD_SCB2_FLASH=m
+CONFIG_MTD_NETtel=m
+CONFIG_MTD_L440GX=m
+CONFIG_MTD_PCI=m
+CONFIG_MTD_PCMCIA=m
+# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
+CONFIG_MTD_GPIO_ADDR=m
+CONFIG_MTD_INTEL_VR_NOR=m
+CONFIG_MTD_PLATRAM=m
+CONFIG_MTD_LATCH_ADDR=m
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_PMC551=m
+CONFIG_MTD_PMC551_BUGFIX=y
+# CONFIG_MTD_PMC551_DEBUG is not set
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+
+#
+# Disk-On-Chip Device Drivers
+#
+CONFIG_MTD_DOCG3=m
+CONFIG_BCH_CONST_M=14
+CONFIG_BCH_CONST_T=4
+CONFIG_MTD_NAND_ECC=m
+CONFIG_MTD_NAND_ECC_SMC=y
+CONFIG_MTD_NAND=m
+CONFIG_MTD_NAND_BCH=m
+CONFIG_MTD_NAND_ECC_BCH=y
+CONFIG_MTD_SM_COMMON=m
+CONFIG_MTD_NAND_DENALI=m
+CONFIG_MTD_NAND_DENALI_PCI=m
+CONFIG_MTD_NAND_DENALI_DT=m
+CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
+CONFIG_MTD_NAND_IDS=m
+CONFIG_MTD_NAND_RICOH=m
+CONFIG_MTD_NAND_DISKONCHIP=m
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
+CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y
+CONFIG_MTD_NAND_DOCG4=m
+CONFIG_MTD_NAND_CAFE=m
+CONFIG_MTD_NAND_CS553X=m
+CONFIG_MTD_NAND_NANDSIM=m
+CONFIG_MTD_NAND_PLATFORM=m
+CONFIG_MTD_ALAUDA=m
+CONFIG_MTD_ONENAND=m
+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+CONFIG_MTD_ONENAND_GENERIC=m
+CONFIG_MTD_ONENAND_OTP=y
+CONFIG_MTD_ONENAND_2X_PROGRAM=y
+
+#
+# LPDDR flash memory drivers
+#
+CONFIG_MTD_LPDDR=m
+CONFIG_MTD_QINFO_PROBE=m
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+CONFIG_PNP_DEBUG_MESSAGES=y
+
+#
+# Protocols
+#
+CONFIG_ISAPNP=y
+# CONFIG_PNPBIOS is not set
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=y
+CONFIG_PARIDE=m
+
+#
+# Parallel IDE high-level drivers
+#
+CONFIG_PARIDE_PD=m
+CONFIG_PARIDE_PCD=m
+CONFIG_PARIDE_PF=m
+CONFIG_PARIDE_PT=m
+CONFIG_PARIDE_PG=m
+
+#
+# Parallel IDE protocol modules
+#
+CONFIG_PARIDE_ATEN=m
+CONFIG_PARIDE_BPCK=m
+CONFIG_PARIDE_BPCK6=m
+CONFIG_PARIDE_COMM=m
+CONFIG_PARIDE_DSTR=m
+CONFIG_PARIDE_FIT2=m
+CONFIG_PARIDE_FIT3=m
+CONFIG_PARIDE_EPAT=m
+CONFIG_PARIDE_EPATC8=y
+CONFIG_PARIDE_EPIA=m
+CONFIG_PARIDE_FRIQ=m
+CONFIG_PARIDE_FRPW=m
+CONFIG_PARIDE_KBIC=m
+CONFIG_PARIDE_KTTI=m
+CONFIG_PARIDE_ON20=m
+CONFIG_PARIDE_ON26=m
+CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=m
+CONFIG_BLK_DEV_UMEM=m
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NVME=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=m
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_BLK_DEV_RBD=m
+CONFIG_BLK_DEV_RSXX=m
+
+#
+# Misc devices
+#
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_AD525X_DPOT=m
+CONFIG_AD525X_DPOT_I2C=m
+CONFIG_ATMEL_PWM=m
+CONFIG_DUMMY_IRQ=m
+CONFIG_IBM_ASM=m
+CONFIG_PHANTOM=m
+CONFIG_INTEL_MID_PTI=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+CONFIG_ATMEL_SSC=m
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+CONFIG_HP_ILO=m
+CONFIG_APDS9802ALS=m
+CONFIG_ISL29003=m
+CONFIG_ISL29020=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_SENSORS_BH1780=m
+CONFIG_SENSORS_BH1770=m
+CONFIG_SENSORS_APDS990X=m
+CONFIG_HMC6352=m
+CONFIG_DS1682=m
+CONFIG_VMWARE_BALLOON=m
+CONFIG_BMP085=y
+CONFIG_BMP085_I2C=m
+CONFIG_PCH_PHUB=m
+CONFIG_USB_SWITCH_FSA9480=m
+# CONFIG_SRAM is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+
+#
+# Texas Instruments shared transport line discipline
+#
+CONFIG_TI_ST=m
+CONFIG_SENSORS_LIS3_I2C=m
+
+#
+# Altera FPGA firmware download module
+#
+CONFIG_ALTERA_STAPL=m
+CONFIG_INTEL_MEI=m
+CONFIG_INTEL_MEI_ME=m
+CONFIG_VMWARE_VMCI=m
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+CONFIG_RAID_ATTRS=y
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=y
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=y
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_FC_TGT_ATTRS=y
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=y
+CONFIG_SCSI_SAS_LIBSAS=y
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_ISCSI_BOOT_SYSFS=y
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_CXGB4_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_SCSI_BNX2X_FCOE=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
+CONFIG_SCSI_7000FASST=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AHA152X=m
+CONFIG_SCSI_AHA1542=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_AIC7XXX_OLD=m
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=4
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+# CONFIG_SCSI_MVSAS_TASKLET is not set
+CONFIG_SCSI_MVUMI=m
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=m
+CONFIG_SCSI_IN2000=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT3SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT3SAS_LOGGING is not set
+CONFIG_SCSI_UFSHCD=m
+CONFIG_SCSI_UFSHCD_PCI=m
+CONFIG_SCSI_UFSHCD_PLATFORM=m
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_BUSLOGIC=m
+CONFIG_SCSI_FLASHPOINT=y
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_DTC3280=m
+CONFIG_SCSI_EATA=m
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_ISCI=m
+CONFIG_SCSI_GENERIC_NCR5380=m
+CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
+CONFIG_SCSI_GENERIC_NCR53C400=y
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_NCR53C406A=m
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_PAS16=m
+CONFIG_SCSI_QLOGIC_FAS=m
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_QLA_FC=m
+CONFIG_TCM_QLA2XXX=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_SYM53C416=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_T128=m
+CONFIG_SCSI_U14_34F=m
+# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
+# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
+CONFIG_SCSI_U14_34F_MAX_TAGS=8
+CONFIG_SCSI_ULTRASTOR=m
+CONFIG_SCSI_NSP32=m
+CONFIG_SCSI_DEBUG=m
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
+CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_VIRTIO=m
+CONFIG_SCSI_CHELSIO_FCOE=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_NINJA_SCSI=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=1
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+# CONFIG_SATA_ZPODD is not set
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_SATA_INIC162X=y
+CONFIG_SATA_ACARD_AHCI=y
+CONFIG_SATA_SIL24=y
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+CONFIG_PDC_ADMA=y
+CONFIG_SATA_QSTOR=y
+CONFIG_SATA_SX4=y
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+CONFIG_ATA_PIIX=y
+CONFIG_SATA_HIGHBANK=m
+CONFIG_SATA_MV=y
+CONFIG_SATA_NV=y
+CONFIG_SATA_PROMISE=y
+CONFIG_SATA_SIL=y
+CONFIG_SATA_SIS=y
+CONFIG_SATA_SVW=y
+CONFIG_SATA_ULI=y
+CONFIG_SATA_VIA=y
+CONFIG_SATA_VITESSE=y
+
+#
+# PATA SFF controllers with BMDMA
+#
+CONFIG_PATA_ALI=y
+CONFIG_PATA_AMD=y
+CONFIG_PATA_ARASAN_CF=m
+CONFIG_PATA_ARTOP=y
+CONFIG_PATA_ATIIXP=y
+CONFIG_PATA_ATP867X=y
+CONFIG_PATA_CMD64X=y
+CONFIG_PATA_CS5520=y
+CONFIG_PATA_CS5530=y
+CONFIG_PATA_CS5535=y
+CONFIG_PATA_CS5536=y
+CONFIG_PATA_CYPRESS=y
+CONFIG_PATA_EFAR=y
+CONFIG_PATA_HPT366=y
+CONFIG_PATA_HPT37X=y
+CONFIG_PATA_HPT3X2N=y
+CONFIG_PATA_HPT3X3=y
+CONFIG_PATA_HPT3X3_DMA=y
+CONFIG_PATA_IT8213=y
+CONFIG_PATA_IT821X=y
+CONFIG_PATA_JMICRON=y
+CONFIG_PATA_MARVELL=y
+CONFIG_PATA_NETCELL=y
+CONFIG_PATA_NINJA32=y
+CONFIG_PATA_NS87415=y
+CONFIG_PATA_OLDPIIX=y
+CONFIG_PATA_OPTIDMA=y
+CONFIG_PATA_PDC2027X=y
+CONFIG_PATA_PDC_OLD=y
+CONFIG_PATA_RADISYS=y
+CONFIG_PATA_RDC=y
+CONFIG_PATA_SC1200=y
+CONFIG_PATA_SCH=y
+CONFIG_PATA_SERVERWORKS=y
+CONFIG_PATA_SIL680=y
+CONFIG_PATA_SIS=y
+CONFIG_PATA_TOSHIBA=m
+CONFIG_PATA_TRIFLEX=y
+CONFIG_PATA_VIA=y
+CONFIG_PATA_WINBOND=y
+
+#
+# PIO-only SFF controllers
+#
+CONFIG_PATA_CMD640_PCI=y
+CONFIG_PATA_ISAPNP=y
+CONFIG_PATA_MPIIX=y
+CONFIG_PATA_NS87410=y
+CONFIG_PATA_OPTI=y
+CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_QDI=y
+CONFIG_PATA_RZ1000=y
+CONFIG_PATA_WINBOND_VLB=y
+
+#
+# Generic fallback / legacy drivers
+#
+CONFIG_PATA_ACPI=y
+CONFIG_ATA_GENERIC=y
+CONFIG_PATA_LEGACY=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=y
+CONFIG_MD_AUTODETECT=y
+CONFIG_MD_LINEAR=y
+CONFIG_MD_RAID0=y
+CONFIG_MD_RAID1=y
+CONFIG_MD_RAID10=y
+CONFIG_MD_RAID456=y
+CONFIG_MD_MULTIPATH=y
+CONFIG_MD_FAULTY=m
+CONFIG_BCACHE=m
+# CONFIG_BCACHE_DEBUG is not set
+# CONFIG_BCACHE_EDEBUG is not set
+# CONFIG_BCACHE_CLOSURES_DEBUG is not set
+CONFIG_BLK_DEV_DM=y
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_BUFIO=m
+CONFIG_DM_BIO_PRISON=m
+CONFIG_DM_PERSISTENT_DATA=m
+CONFIG_DM_CRYPT=y
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_THIN_PROVISIONING=m
+# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
+CONFIG_DM_CACHE=m
+CONFIG_DM_CACHE_MQ=m
+CONFIG_DM_CACHE_CLEANER=m
+CONFIG_DM_MIRROR=y
+CONFIG_DM_RAID=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+# CONFIG_DM_DELAY is not set
+CONFIG_DM_UEVENT=y
+CONFIG_DM_FLAKEY=m
+CONFIG_DM_VERITY=m
+CONFIG_TARGET_CORE=m
+CONFIG_TCM_IBLOCK=m
+CONFIG_TCM_FILEIO=m
+CONFIG_TCM_PSCSI=m
+CONFIG_LOOPBACK_TARGET=m
+CONFIG_TCM_FC=m
+CONFIG_ISCSI_TARGET=m
+CONFIG_SBP_TARGET=m
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=m
+CONFIG_FUSION_LAN=m
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+CONFIG_FIREWIRE_NOSY=m
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_CONFIG=m
+# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_EQUALIZER=m
+CONFIG_NET_FC=y
+CONFIG_MII=m
+CONFIG_IFB=m
+CONFIG_NET_TEAM=m
+CONFIG_NET_TEAM_MODE_BROADCAST=m
+CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
+CONFIG_NET_TEAM_MODE_RANDOM=m
+CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
+CONFIG_NET_TEAM_MODE_LOADBALANCE=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_VXLAN=m
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=m
+CONFIG_SUNGEM_PHY=m
+CONFIG_ARCNET=m
+CONFIG_ARCNET_1201=m
+CONFIG_ARCNET_1051=m
+CONFIG_ARCNET_RAW=m
+CONFIG_ARCNET_CAP=m
+CONFIG_ARCNET_COM90xx=m
+CONFIG_ARCNET_COM90xxIO=m
+CONFIG_ARCNET_RIM_I=m
+CONFIG_ARCNET_COM20020=m
+CONFIG_ARCNET_COM20020_ISA=m
+CONFIG_ARCNET_COM20020_PCI=m
+CONFIG_ARCNET_COM20020_CS=m
+CONFIG_ATM_DRIVERS=y
+CONFIG_ATM_DUMMY=m
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E=m
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+
+#
+# CAIF transport drivers
+#
+CONFIG_VHOST_NET=m
+CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_RING=m
+
+#
+# Distributed Switch Architecture drivers
+#
+CONFIG_NET_DSA_MV88E6XXX=m
+CONFIG_NET_DSA_MV88E6060=m
+CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
+CONFIG_NET_DSA_MV88E6131=m
+CONFIG_NET_DSA_MV88E6123_61_65=m
+CONFIG_ETHERNET=y
+CONFIG_MDIO=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_EL3=m
+CONFIG_3C515=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_3C589=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_NET_VENDOR_ADAPTEC=y
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_NET_VENDOR_ALTEON=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_NET_VENDOR_AMD=y
+CONFIG_AMD8111_ETH=m
+CONFIG_LANCE=m
+CONFIG_PCNET32=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_NI65=m
+CONFIG_NET_VENDOR_ATHEROS=y
+CONFIG_ATL2=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_ALX=m
+CONFIG_NET_CADENCE=y
+CONFIG_ARM_AT91_ETHER=m
+CONFIG_MACB=m
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_TIGON3=m
+CONFIG_BNX2X=m
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_BNA=m
+CONFIG_NET_CALXEDA_XGMAC=m
+CONFIG_NET_VENDOR_CHELSIO=y
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4=m
+CONFIG_CHELSIO_T4VF=m
+CONFIG_NET_VENDOR_CIRRUS=y
+CONFIG_CS89x0=m
+# CONFIG_CS89x0_PLATFORM is not set
+CONFIG_NET_VENDOR_CISCO=y
+CONFIG_ENIC=m
+CONFIG_DNET=m
+CONFIG_NET_VENDOR_DEC=y
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+CONFIG_TULIP_MMIO=y
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_NET_VENDOR_DLINK=y
+CONFIG_DL2K=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_NET_VENDOR_EMULEX=y
+CONFIG_BE2NET=m
+CONFIG_NET_VENDOR_EXAR=y
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_NET_VENDOR_FUJITSU=y
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_NET_VENDOR_HP=y
+CONFIG_HP100=m
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_E100=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IGB=m
+CONFIG_IGB_HWMON=y
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_IXGB=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_HWMON=y
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_IP1000=m
+CONFIG_JME=m
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_MVMDIO=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKGE_GENESIS=y
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_NET_VENDOR_MICREL=y
+CONFIG_KS8842=m
+CONFIG_KS8851_MLL=m
+CONFIG_KSZ884X_PCI=m
+CONFIG_NET_VENDOR_MYRI=y
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_FEALNX=m
+CONFIG_NET_VENDOR_NATSEMI=y
+CONFIG_NATSEMI=m
+CONFIG_NS83820=m
+CONFIG_NET_VENDOR_8390=y
+CONFIG_PCMCIA_AXNET=m
+CONFIG_NE2000=m
+CONFIG_NE2K_PCI=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_ULTRA=m
+CONFIG_WD80x3=m
+CONFIG_NET_VENDOR_NVIDIA=y
+CONFIG_FORCEDETH=m
+CONFIG_NET_VENDOR_OKI=y
+CONFIG_PCH_GBE=m
+CONFIG_ETHOC=m
+CONFIG_NET_PACKET_ENGINE=y
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_NET_VENDOR_QLOGIC=y
+CONFIG_QLA3XXX=m
+CONFIG_QLCNIC=m
+CONFIG_QLGE=m
+CONFIG_NETXEN_NIC=m
+CONFIG_NET_VENDOR_REALTEK=y
+CONFIG_ATP=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+CONFIG_8139TOO_PIO=y
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R8169=m
+CONFIG_NET_VENDOR_RDC=y
+CONFIG_R6040=m
+CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SILAN=y
+CONFIG_SC92031=m
+CONFIG_NET_VENDOR_SIS=y
+CONFIG_SIS900=m
+CONFIG_SIS190=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_SFC_MCDI_MON=y
+CONFIG_NET_VENDOR_SMSC=y
+CONFIG_SMC9194=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
+CONFIG_NET_VENDOR_STMICRO=y
+CONFIG_STMMAC_ETH=m
+CONFIG_STMMAC_PLATFORM=y
+# CONFIG_STMMAC_PCI is not set
+CONFIG_STMMAC_DEBUG_FS=y
+# CONFIG_STMMAC_DA is not set
+CONFIG_NET_VENDOR_SUN=y
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NIU=m
+CONFIG_NET_VENDOR_TEHUTI=y
+CONFIG_TEHUTI=m
+CONFIG_NET_VENDOR_TI=y
+CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VIA=y
+CONFIG_VIA_RHINE=m
+CONFIG_VIA_RHINE_MMIO=y
+CONFIG_VIA_VELOCITY=m
+CONFIG_NET_VENDOR_WIZNET=y
+CONFIG_WIZNET_W5100=m
+CONFIG_WIZNET_W5300=m
+# CONFIG_WIZNET_BUS_DIRECT is not set
+# CONFIG_WIZNET_BUS_INDIRECT is not set
+CONFIG_WIZNET_BUS_ANY=y
+CONFIG_NET_VENDOR_XIRCOM=y
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_FDDI=y
+CONFIG_DEFXX=m
+# CONFIG_DEFXX_MMIO is not set
+CONFIG_SKFP=m
+CONFIG_HIPPI=y
+CONFIG_ROADRUNNER=m
+# CONFIG_ROADRUNNER_LARGE_RINGS is not set
+CONFIG_NET_SB1000=m
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_AT803X_PHY=m
+CONFIG_AMD_PHY=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_BCM87XX_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+CONFIG_MDIO_BITBANG=m
+CONFIG_MDIO_GPIO=m
+CONFIG_PLIP=m
+CONFIG_PPP=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOATM=m
+CONFIG_PPPOE=m
+CONFIG_PPTP=m
+CONFIG_PPPOL2TP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_SLIP=m
+CONFIG_SLHC=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLIP_SMART=y
+# CONFIG_SLIP_MODE_SLIP6 is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_CDC_MBIM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_NET_CX82310_ETH=m
+CONFIG_USB_NET_KALMIA=m
+CONFIG_USB_NET_QMI_WWAN=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_USB_VL600=m
+CONFIG_WLAN=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_LIBERTAS_THINFIRM=m
+# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+CONFIG_ATH_CARDS=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+# CONFIG_ATH5K_TRACER is not set
+CONFIG_ATH5K_PCI=y
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
+CONFIG_ATH9K=m
+CONFIG_ATH9K_PCI=y
+# CONFIG_ATH9K_AHB is not set
+# CONFIG_ATH9K_DEBUGFS is not set
+# CONFIG_ATH9K_LEGACY_RATE_CONTROL is not set
+CONFIG_ATH9K_HTC=m
+# CONFIG_ATH9K_HTC_DEBUGFS is not set
+CONFIG_CARL9170=m
+CONFIG_CARL9170_LEDS=y
+CONFIG_CARL9170_WPC=y
+# CONFIG_CARL9170_HWRNG is not set
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_ATH6KL_USB=m
+# CONFIG_ATH6KL_DEBUG is not set
+# CONFIG_ATH6KL_TRACING is not set
+CONFIG_AR5523=m
+CONFIG_WIL6210=m
+CONFIG_WIL6210_ISR_COR=y
+CONFIG_B43=m
+CONFIG_B43_BCMA=y
+# CONFIG_B43_BCMA_EXTRA is not set
+CONFIG_B43_SSB=y
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_BCMA_PIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_N=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_PHY_HT=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_BRCMUTIL=m
+CONFIG_BRCMSMAC=m
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_SDIO=y
+CONFIG_BRCMFMAC_USB=y
+CONFIG_BRCM_TRACING=y
+# CONFIG_BRCMDBG is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+CONFIG_IWLDVM=m
+CONFIG_IWLMVM=m
+CONFIG_IWLWIFI_OPMODE_MODULAR=y
+
+#
+# Debugging Options
+#
+# CONFIG_IWLWIFI_DEBUG is not set
+# CONFIG_IWLWIFI_DEVICE_TRACING is not set
+# CONFIG_IWLWIFI_P2P is not set
+CONFIG_IWLEGACY=m
+CONFIG_IWL4965=m
+CONFIG_IWL3945=m
+
+#
+# iwl3945 / iwl4965 Debugging Options
+#
+# CONFIG_IWLEGACY_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+# CONFIG_HERMES_PRISM is not set
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_ORINOCO_USB=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT33XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2800PCI_RT53XX=y
+CONFIG_RT2800PCI_RT3290=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT33XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_RT53XX=y
+CONFIG_RT2800USB_RT55XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_MMIO=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_RTLWIFI=m
+# CONFIG_RTLWIFI_DEBUG is not set
+CONFIG_RTL8192CE=m
+CONFIG_RTL8192SE=m
+CONFIG_RTL8192DE=m
+CONFIG_RTL8723AE=m
+CONFIG_RTL8188EE=m
+CONFIG_RTL8192CU=m
+CONFIG_RTL8192C_COMMON=m
+CONFIG_WL_TI=y
+CONFIG_WL1251=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL12XX=m
+CONFIG_WL18XX=m
+CONFIG_WLCORE=m
+CONFIG_WLCORE_SDIO=m
+CONFIG_WILINK_PLATFORM_DATA=y
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_MWIFIEX_USB=m
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+CONFIG_WAN=y
+CONFIG_HOSTESS_SV11=m
+CONFIG_COSA=m
+CONFIG_LANMEDIA=m
+CONFIG_SEALEVEL_4021=m
+CONFIG_HDLC=m
+CONFIG_HDLC_RAW=m
+CONFIG_HDLC_RAW_ETH=m
+CONFIG_HDLC_CISCO=m
+CONFIG_HDLC_FR=m
+CONFIG_HDLC_PPP=m
+
+#
+# X.25/LAPB support is disabled
+#
+CONFIG_PCI200SYN=m
+CONFIG_WANXL=m
+# CONFIG_PC300TOO is not set
+CONFIG_N2=m
+CONFIG_C101=m
+CONFIG_FARSYNC=m
+CONFIG_DSCC4=m
+# CONFIG_DSCC4_PCISYNC is not set
+# CONFIG_DSCC4_PCI_RST is not set
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+CONFIG_SDLA=m
+CONFIG_SBNI=m
+# CONFIG_SBNI_MULTILINE is not set
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+CONFIG_IEEE802154_FAKELB=m
+CONFIG_VMXNET3=m
+CONFIG_HYPERV_NET=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+# CONFIG_ISDN_DRV_LOOP is not set
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+CONFIG_HISAX_NO_SENDCOMPLETE=y
+CONFIG_HISAX_NO_LLC=y
+CONFIG_HISAX_NO_KEYPAD=y
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_0=y
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_AVM_A1=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_IX1MICROR2=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_ASUSCOM=y
+CONFIG_HISAX_TELEINT=y
+CONFIG_HISAX_HFCS=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_SPORTSTER=y
+CONFIG_HISAX_MIC=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_ISURF=y
+CONFIG_HISAX_HSTSAPHIR=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_ISDN_DRV_ICN=m
+CONFIG_ISDN_DRV_PCBIT=m
+CONFIG_ISDN_DRV_SC=m
+CONFIG_ISDN_DRV_ACT2000=m
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_T1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+# CONFIG_GIGASET_CAPI is not set
+CONFIG_GIGASET_I4L=y
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+# CONFIG_GIGASET_M101 is not set
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=y
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+CONFIG_INPUT_MATRIXKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ADP5589=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_QT1070=m
+CONFIG_KEYBOARD_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_GPIO_POLLED=m
+CONFIG_KEYBOARD_TCA6416=m
+CONFIG_KEYBOARD_TCA8418=m
+CONFIG_KEYBOARD_MATRIX=m
+CONFIG_KEYBOARD_LM8323=m
+CONFIG_KEYBOARD_LM8333=m
+CONFIG_KEYBOARD_MAX7359=m
+CONFIG_KEYBOARD_MCS=m
+CONFIG_KEYBOARD_MPR121=m
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OPENCORES=m
+CONFIG_KEYBOARD_SAMSUNG=m
+CONFIG_KEYBOARD_STOWAWAY=m
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_CROS_EC=m
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+CONFIG_MOUSE_PS2_TOUCHKIT=y
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_CYAPA=m
+CONFIG_MOUSE_INPORT=m
+CONFIG_MOUSE_ATIXL=y
+CONFIG_MOUSE_LOGIBM=m
+CONFIG_MOUSE_PC110PAD=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_MOUSE_SYNAPTICS_USB=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_AS5011=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_HANWANG=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
+CONFIG_TOUCHSCREEN_BU21013=m
+CONFIG_TOUCHSCREEN_CY8CTMG110=m
+CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
+CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_HAMPSHIRE=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_ILI210X=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_WACOM_I2C=m
+CONFIG_TOUCHSCREEN_MAX11801=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MMS114=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_HTCPEN=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+CONFIG_TOUCHSCREEN_WM9705=y
+CONFIG_TOUCHSCREEN_WM9712=y
+CONFIG_TOUCHSCREEN_WM9713=y
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+CONFIG_TOUCHSCREEN_MC13783=m
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+CONFIG_TOUCHSCREEN_USB_ELO=y
+CONFIG_TOUCHSCREEN_USB_E2I=y
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC_SERIO=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+CONFIG_TOUCHSCREEN_W90X900=m
+CONFIG_TOUCHSCREEN_ST1232=m
+CONFIG_TOUCHSCREEN_TPS6507X=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_AD714X=m
+CONFIG_INPUT_AD714X_I2C=m
+CONFIG_INPUT_BMA150=m
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_MC13783_PWRBUTTON=m
+CONFIG_INPUT_MMA8450=m
+CONFIG_INPUT_MPU3050=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_GP2A=m
+CONFIG_INPUT_GPIO_TILT_POLLED=m
+CONFIG_INPUT_WISTRON_BTNS=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_KXTJ9=m
+CONFIG_INPUT_KXTJ9_POLLED_MODE=y
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_PCF8574=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+CONFIG_INPUT_ADXL34X=m
+CONFIG_INPUT_ADXL34X_I2C=m
+CONFIG_INPUT_IMS_PCU=m
+CONFIG_INPUT_CMA3000=m
+CONFIG_INPUT_CMA3000_I2C=m
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
+CONFIG_SERIO_PS2MULT=m
+CONFIG_SERIO_ARC_PS2=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=32
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+CONFIG_MOXA_INTELLIO=m
+CONFIG_MOXA_SMARTIO=m
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+CONFIG_SYNCLINK_GT=m
+CONFIG_NOZOMI=m
+CONFIG_ISI=m
+CONFIG_N_HDLC=m
+CONFIG_N_GSM=m
+CONFIG_TRACE_ROUTER=m
+CONFIG_TRACE_SINK=m
+CONFIG_DEVKMEM=y
+CONFIG_STALDRV=y
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_FOURPORT=m
+CONFIG_SERIAL_8250_ACCENT=m
+CONFIG_SERIAL_8250_BOCA=m
+CONFIG_SERIAL_8250_EXAR_ST16C554=m
+CONFIG_SERIAL_8250_HUB6=m
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_8250_DW=m
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_MFD_HSU=m
+CONFIG_SERIAL_UARTLITE=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_SCCNXP=m
+CONFIG_SERIAL_TIMBERDALE=m
+CONFIG_SERIAL_ALTERA_JTAGUART=m
+CONFIG_SERIAL_ALTERA_UART=m
+CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
+CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
+CONFIG_SERIAL_PCH_UART=m
+CONFIG_SERIAL_ARC=m
+CONFIG_SERIAL_ARC_NR_PORTS=1
+CONFIG_SERIAL_RP2=m
+CONFIG_SERIAL_RP2_NR_UARTS=32
+CONFIG_PRINTER=m
+CONFIG_LP_CONSOLE=y
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_VIRTIO_CONSOLE=m
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_ATMEL=m
+CONFIG_HW_RANDOM_GEODE=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_EXYNOS=m
+CONFIG_HW_RANDOM_TPM=m
+CONFIG_NVRAM=m
+CONFIG_DTLK=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+CONFIG_SONYPI=m
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+CONFIG_MWAVE=m
+CONFIG_SCx200_GPIO=m
+CONFIG_PC8736x_GPIO=m
+CONFIG_NSC_GPIO=m
+CONFIG_RAW_DRIVER=m
+CONFIG_MAX_RAW_DEVS=256
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_TIS_I2C_INFINEON=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TCG_ST33_I2C=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_MUX=m
+
+#
+# Multiplexer I2C Chip support
+#
+CONFIG_I2C_MUX_GPIO=m
+CONFIG_I2C_MUX_PCA9541=m
+CONFIG_I2C_MUX_PCA954x=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_ISMT=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_PLATFORM=m
+CONFIG_I2C_DESIGNWARE_PCI=m
+CONFIG_I2C_EG20T=m
+CONFIG_I2C_GPIO=m
+CONFIG_I2C_INTEL_MID=m
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_DIOLAN_U2C=m
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+CONFIG_I2C_VIPERBOARD=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_ELEKTOR is not set
+CONFIG_I2C_PCA_ISA=m
+CONFIG_SCx200_I2C=m
+CONFIG_SCx200_I2C_SCL=12
+CONFIG_SCx200_I2C_SDA=13
+CONFIG_SCx200_ACB=m
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_SPI is not set
+
+#
+# Qualcomm MSM SSBI bus support
+#
+# CONFIG_SSBI is not set
+CONFIG_HSI=m
+CONFIG_HSI_BOARDINFO=y
+
+#
+# HSI clients
+#
+CONFIG_HSI_CHAR=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+# CONFIG_NTP_PPS is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_PPS_CLIENT_PARPORT=m
+CONFIG_PPS_CLIENT_GPIO=m
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=m
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+CONFIG_PTP_1588_CLOCK_PCH=m
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_GPIO_DEVRES=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_ACPI=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_GENERIC=m
+CONFIG_GPIO_MAX730X=m
+
+#
+# Memory mapped GPIO drivers:
+#
+CONFIG_GPIO_GENERIC_PLATFORM=m
+CONFIG_GPIO_IT8761E=m
+CONFIG_GPIO_TS5500=m
+CONFIG_GPIO_SCH=m
+CONFIG_GPIO_ICH=m
+CONFIG_GPIO_VX855=m
+CONFIG_GPIO_LYNXPOINT=y
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_ARIZONA=m
+CONFIG_GPIO_MAX7300=m
+CONFIG_GPIO_MAX732X=m
+CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCF857X=m
+CONFIG_GPIO_ADP5588=m
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_AMD8111=m
+# CONFIG_GPIO_LANGWELL is not set
+CONFIG_GPIO_PCH=m
+CONFIG_GPIO_ML_IOH=m
+# CONFIG_GPIO_TIMBERDALE is not set
+CONFIG_GPIO_RDC321X=m
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MCP23S08=m
+
+#
+# AC97 GPIO expanders:
+#
+# CONFIG_GPIO_UCB1400 is not set
+
+#
+# MODULbus GPIO expanders:
+#
+CONFIG_GPIO_JANZ_TTL=m
+
+#
+# USB GPIO expanders:
+#
+CONFIG_GPIO_VIPERBOARD=m
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_DS1WM=m
+CONFIG_W1_MASTER_GPIO=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2408=m
+# CONFIG_W1_SLAVE_DS2408_READBACK is not set
+CONFIG_W1_SLAVE_DS2413=m
+CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2431=m
+CONFIG_W1_SLAVE_DS2433=m
+CONFIG_W1_SLAVE_DS2433_CRC=y
+CONFIG_W1_SLAVE_DS2760=m
+CONFIG_W1_SLAVE_DS2780=m
+CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS28E04=m
+CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_GENERIC_ADC_BATTERY=m
+CONFIG_TEST_POWER=m
+CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2780=m
+CONFIG_BATTERY_DS2781=m
+CONFIG_BATTERY_DS2782=m
+CONFIG_BATTERY_SBS=m
+CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_BQ27X00_I2C=y
+CONFIG_BATTERY_BQ27X00_PLATFORM=y
+CONFIG_BATTERY_MAX17040=m
+CONFIG_BATTERY_MAX17042=m
+CONFIG_CHARGER_PCF50633=m
+CONFIG_CHARGER_ISP1704=m
+CONFIG_CHARGER_MAX8903=m
+CONFIG_CHARGER_LP8727=m
+CONFIG_CHARGER_GPIO=m
+# CONFIG_CHARGER_MANAGER is not set
+CONFIG_CHARGER_BQ2415X=m
+CONFIG_CHARGER_SMB347=m
+CONFIG_BATTERY_GOLDFISH=m
+CONFIG_POWER_RESET=y
+CONFIG_POWER_AVS=y
+CONFIG_HWMON=m
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7X10=m
+CONFIG_SENSORS_ADT7410=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_FAM15H_POWER=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS620=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_GPIO_FAN=m
+CONFIG_SENSORS_HIH6130=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IIO_HWMON=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_JC42=m
+CONFIG_SENSORS_LINEAGE=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4151=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LTC4261=m
+CONFIG_SENSORS_LM95234=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_LM95245=m
+CONFIG_SENSORS_MAX16065=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX1668=m
+CONFIG_SENSORS_MAX197=m
+CONFIG_SENSORS_MAX6639=m
+CONFIG_SENSORS_MAX6642=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_MAX6697=m
+CONFIG_SENSORS_MCP3021=m
+CONFIG_SENSORS_NCT6775=m
+CONFIG_SENSORS_NTC_THERMISTOR=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_PMBUS=m
+CONFIG_SENSORS_PMBUS=m
+CONFIG_SENSORS_ADM1275=m
+CONFIG_SENSORS_LM25066=m
+CONFIG_SENSORS_LTC2978=m
+CONFIG_SENSORS_MAX16064=m
+CONFIG_SENSORS_MAX34440=m
+CONFIG_SENSORS_MAX8688=m
+CONFIG_SENSORS_UCD9000=m
+CONFIG_SENSORS_UCD9200=m
+CONFIG_SENSORS_ZL6100=m
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SHT21=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_SMM665=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_EMC1403=m
+CONFIG_SENSORS_EMC2103=m
+CONFIG_SENSORS_EMC6W201=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_SCH56XX_COMMON=m
+CONFIG_SENSORS_SCH5627=m
+CONFIG_SENSORS_SCH5636=m
+CONFIG_SENSORS_ADS1015=m
+CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_INA209=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP102=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83795=m
+# CONFIG_SENSORS_W83795_FANCTRL is not set
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_APPLESMC=m
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ACPI_POWER=m
+CONFIG_SENSORS_ATK0110=m
+CONFIG_THERMAL=m
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+CONFIG_THERMAL_GOV_FAIR_SHARE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+CONFIG_THERMAL_GOV_USER_SPACE=y
+CONFIG_CPU_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+CONFIG_INTEL_POWERCLAMP=m
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_RETU_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_F71808E_WDT=m
+CONFIG_SP5100_TCO=m
+CONFIG_GEODE_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_IE6XX_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_HPWDT_NMI_DECODING=y
+CONFIG_SC1200_WDT=m
+CONFIG_SCx200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_NV_TCO=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_SBC7240_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_VIA_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+
+#
+# ISA-based Watchdog Cards
+#
+CONFIG_PCWATCHDOG=m
+CONFIG_MIXCOMWD=m
+CONFIG_WDT=m
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+# CONFIG_SSB_DRIVER_GPIO is not set
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+CONFIG_BCMA=m
+CONFIG_BCMA_BLOCKIO=y
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
+CONFIG_BCMA_HOST_PCI=y
+# CONFIG_BCMA_DRIVER_GMAC_CMN is not set
+# CONFIG_BCMA_DRIVER_GPIO is not set
+# CONFIG_BCMA_DEBUG is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+CONFIG_MFD_CS5535=m
+CONFIG_MFD_CROS_EC=m
+CONFIG_MFD_CROS_EC_I2C=m
+CONFIG_MFD_MC13783=m
+CONFIG_MFD_MC13XXX=m
+CONFIG_MFD_MC13XXX_I2C=m
+CONFIG_HTC_PASIC3=m
+CONFIG_LPC_ICH=m
+CONFIG_LPC_SCH=m
+CONFIG_MFD_JANZ_CMODIO=m
+CONFIG_MFD_VIPERBOARD=m
+CONFIG_MFD_RETU=m
+CONFIG_MFD_PCF50633=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_UCB1400_CORE=m
+CONFIG_MFD_RDC321X=m
+CONFIG_MFD_RTSX_PCI=m
+CONFIG_MFD_SI476X_CORE=m
+CONFIG_MFD_SM501=m
+# CONFIG_MFD_SM501_GPIO is not set
+# CONFIG_ABX500_CORE is not set
+CONFIG_MFD_SYSCON=y
+CONFIG_MFD_TI_AM335X_TSCADC=m
+CONFIG_TPS6105X=m
+CONFIG_TPS65010=m
+CONFIG_TPS6507X=m
+CONFIG_MFD_TPS65217=m
+# CONFIG_MFD_TPS65912 is not set
+CONFIG_MFD_WL1273_CORE=m
+CONFIG_MFD_LM3533=m
+CONFIG_MFD_TIMBERDALE=m
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_VX855=m
+CONFIG_MFD_ARIZONA=y
+CONFIG_MFD_ARIZONA_I2C=m
+CONFIG_MFD_WM5102=y
+CONFIG_MFD_WM5110=y
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_DUMMY is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=m
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+CONFIG_REGULATOR_USERSPACE_CONSUMER=m
+CONFIG_REGULATOR_GPIO=m
+CONFIG_REGULATOR_AD5398=m
+CONFIG_REGULATOR_FAN53555=m
+CONFIG_REGULATOR_ANATOP=m
+CONFIG_REGULATOR_MC13XXX_CORE=m
+CONFIG_REGULATOR_MC13783=m
+CONFIG_REGULATOR_MC13892=m
+CONFIG_REGULATOR_ISL6271A=m
+CONFIG_REGULATOR_MAX1586=m
+CONFIG_REGULATOR_MAX8649=m
+CONFIG_REGULATOR_MAX8660=m
+CONFIG_REGULATOR_MAX8952=m
+CONFIG_REGULATOR_MAX8973=m
+CONFIG_REGULATOR_LP3971=m
+CONFIG_REGULATOR_LP3972=m
+CONFIG_REGULATOR_LP8755=m
+CONFIG_REGULATOR_PCF50633=m
+CONFIG_REGULATOR_TPS51632=m
+CONFIG_REGULATOR_TPS6105X=m
+CONFIG_REGULATOR_TPS62360=m
+CONFIG_REGULATOR_TPS65023=m
+CONFIG_REGULATOR_TPS6507X=m
+CONFIG_REGULATOR_TPS65217=m
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+# CONFIG_MEDIA_CONTROLLER is not set
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2=m
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_V4L2_MEM2MEM_DEV=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DMA_CONTIG=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_VIDEOBUF2_DMA_SG=m
+CONFIG_VIDEO_V4L2_INT_DEVICE=m
+CONFIG_DVB_CORE=m
+CONFIG_DVB_NET=y
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+
+#
+# Media drivers
+#
+CONFIG_RC_CORE=m
+CONFIG_RC_MAP=m
+CONFIG_RC_DECODERS=y
+CONFIG_LIRC=m
+CONFIG_IR_LIRC_CODEC=m
+CONFIG_IR_NEC_DECODER=m
+CONFIG_IR_RC5_DECODER=m
+CONFIG_IR_RC6_DECODER=m
+CONFIG_IR_JVC_DECODER=m
+CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_RC5_SZ_DECODER=m
+CONFIG_IR_SANYO_DECODER=m
+CONFIG_IR_MCE_KBD_DECODER=m
+CONFIG_RC_DEVICES=y
+CONFIG_RC_ATI_REMOTE=m
+CONFIG_IR_ENE=m
+CONFIG_IR_IMON=m
+CONFIG_IR_MCEUSB=m
+CONFIG_IR_ITE_CIR=m
+CONFIG_IR_FINTEK=m
+CONFIG_IR_NUVOTON=m
+CONFIG_IR_REDRAT3=m
+CONFIG_IR_STREAMZAP=m
+CONFIG_IR_WINBOND_CIR=m
+CONFIG_IR_IGUANA=m
+CONFIG_IR_TTUSBIR=m
+CONFIG_RC_LOOPBACK=m
+CONFIG_IR_GPIO_CIR=m
+CONFIG_MEDIA_USB_SUPPORT=y
+
+#
+# Webcam devices
+#
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_JL2005BCD=m
+CONFIG_USB_GSPCA_KINECT=m
+CONFIG_USB_GSPCA_KONICA=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_NW80X=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SE401=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SPCA1528=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_SQ930X=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TOPRO=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_VICAM=m
+CONFIG_USB_GSPCA_XIRLINK_CIT=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_VIDEO_CPIA2=m
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_USB_SN9C102=m
+
+#
+# Analog TV USB devices
+#
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_STK1160=m
+CONFIG_VIDEO_STK1160_AC97=y
+
+#
+# Analog/digital TV USB devices
+#
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_AU0828_V4L2=y
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_RC=y
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_TM6000=m
+CONFIG_VIDEO_TM6000_ALSA=m
+CONFIG_VIDEO_TM6000_DVB=m
+
+#
+# Digital TV USB devices
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_PCTV452E=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_USB_TECHNISAT_USB2=m
+CONFIG_DVB_USB_V2=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_AF9035=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_AZ6007=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_IT913X=m
+CONFIG_DVB_USB_LME2510=m
+CONFIG_DVB_USB_MXL111SF=m
+CONFIG_DVB_USB_RTL28XXU=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_USB_DRV=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG=y
+
+#
+# Webcam, TV (analog/digital) USB devices
+#
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_EM28XX_RC=m
+CONFIG_MEDIA_PCI_SUPPORT=y
+
+#
+# Media capture support
+#
+CONFIG_VIDEO_MEYE=m
+
+#
+# Media capture/analog TV support
+#
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_IVTV_ALSA=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_MXB=m
+
+#
+# Media capture/analog/hybrid TV support
+#
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_MEDIA_ALTERA_CI=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_BT848=m
+CONFIG_DVB_BT8XX=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_RC=y
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_SAA7164=m
+
+#
+# Media digital TV PCI Adapters
+#
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
+CONFIG_DVB_PLUTO2=m
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_PT1=m
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+CONFIG_DVB_NGENE=m
+CONFIG_DVB_DDBRIDGE=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_VIDEO_VIA_CAMERA=m
+CONFIG_VIDEO_TIMBERDALE=m
+CONFIG_SOC_CAMERA=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+CONFIG_VIDEO_SH_MOBILE_CSI2=m
+CONFIG_VIDEO_SH_MOBILE_CEU=m
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
+CONFIG_VIDEO_SH_VEU=m
+CONFIG_V4L_TEST_DRIVERS=y
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_MEM2MEM_TESTDEV=m
+
+#
+# Supported MMC/SDIO adapters
+#
+CONFIG_SMS_SDIO_DRV=m
+CONFIG_MEDIA_PARPORT_SUPPORT=y
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_PMS=m
+CONFIG_VIDEO_W9966=m
+CONFIG_RADIO_ADAPTERS=y
+# CONFIG_RADIO_SI470X is not set
+CONFIG_USB_MR800=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_SHARK=m
+CONFIG_RADIO_SHARK2=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_KEENE=m
+CONFIG_USB_MA901=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_TIMBERDALE=m
+CONFIG_RADIO_WL1273=m
+
+#
+# Texas Instruments WL128x FM driver (ST based)
+#
+CONFIG_RADIO_WL128X=m
+CONFIG_V4L_RADIO_ISA_DRIVERS=y
+CONFIG_RADIO_ISA=m
+CONFIG_RADIO_CADET=m
+CONFIG_RADIO_RTRACK=m
+# CONFIG_RADIO_RTRACK2 is not set
+CONFIG_RADIO_AZTECH=m
+CONFIG_RADIO_GEMTEK=m
+CONFIG_RADIO_MIROPCM20=m
+CONFIG_RADIO_SF16FMI=m
+CONFIG_RADIO_SF16FMR2=m
+CONFIG_RADIO_TERRATEC=m
+CONFIG_RADIO_TRUST=m
+CONFIG_RADIO_TYPHOON=m
+CONFIG_RADIO_ZOLTRIX=m
+
+#
+# Supported FireWire (IEEE 1394) Adapters
+#
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_INPUT=y
+CONFIG_MEDIA_COMMON_OPTIONS=y
+
+#
+# common driver options
+#
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_CYPRESS_FIRMWARE=m
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_SMS_SIANO_MDTV=m
+CONFIG_SMS_SIANO_RC=y
+# CONFIG_SMS_SIANO_DEBUGFS is not set
+
+#
+# Media ancillary drivers (tuners, sensors, i2c, frontends)
+#
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+CONFIG_MEDIA_ATTACH=y
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Audio decoders, processors and mixers
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_ADV7180=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_CX25840=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+
+#
+# Camera sensor devices
+#
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
+
+#
+# Flash devices
+#
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+
+#
+# Miscelaneous helper chips
+#
+CONFIG_VIDEO_M52790=m
+
+#
+# Sensors used on soc_camera driver
+#
+
+#
+# soc_camera sensor drivers
+#
+CONFIG_SOC_CAMERA_IMX074=m
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_OV2640=m
+CONFIG_SOC_CAMERA_OV5642=m
+CONFIG_SOC_CAMERA_OV6650=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+CONFIG_SOC_CAMERA_OV9740=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_MEDIA_TUNER=m
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2063=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_XC4000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_MEDIA_TUNER_FC0011=m
+CONFIG_MEDIA_TUNER_FC0012=m
+CONFIG_MEDIA_TUNER_FC0013=m
+CONFIG_MEDIA_TUNER_TDA18212=m
+CONFIG_MEDIA_TUNER_E4000=m
+CONFIG_MEDIA_TUNER_FC2580=m
+CONFIG_MEDIA_TUNER_TUA9001=m
+CONFIG_MEDIA_TUNER_IT913X=m
+CONFIG_MEDIA_TUNER_R820T=m
+
+#
+# Multistandard (satellite) frontends
+#
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+
+#
+# Multistandard (cable + terrestrial) frontends
+#
+CONFIG_DVB_DRXK=m
+CONFIG_DVB_TDA18271C2DD=m
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_TS2020=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_TDA10071=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_DRXD=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_STV0367=m
+CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_RTL2830=m
+CONFIG_DVB_RTL2832=m
+
+#
+# DVB-C (cable) frontends
+#
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+
+#
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
+#
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_LG2160=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_AU8522_DTV=m
+CONFIG_DVB_AU8522_V4L=m
+CONFIG_DVB_S5H1411=m
+
+#
+# ISDB-T (terrestrial) frontends
+#
+CONFIG_DVB_S921=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_MB86A20S=m
+
+#
+# Digital terrestrial only tuners/PLL
+#
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_TUNER_DIB0090=m
+
+#
+# SEC control devices for DVB-S
+#
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_LNBP22=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_ISL6423=m
+CONFIG_DVB_A8293=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DVB_TDA665x=m
+CONFIG_DVB_IX2505V=m
+CONFIG_DVB_IT913X_FE=m
+CONFIG_DVB_M88RS2000=m
+CONFIG_DVB_AF9033=m
+
+#
+# Tools to develop new frontends
+#
+# CONFIG_DVB_DUMMY_FE is not set
+
+#
+# Graphics support
+#
+CONFIG_AGP=m
+CONFIG_AGP_ALI=m
+CONFIG_AGP_ATI=m
+CONFIG_AGP_AMD=m
+CONFIG_AGP_AMD64=m
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_NVIDIA=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_SWORKS=m
+CONFIG_AGP_VIA=m
+CONFIG_AGP_EFFICEON=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM=m
+CONFIG_DRM_USB=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_TTM=m
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_DRM_I2C_SIL164=m
+CONFIG_DRM_I2C_NXP_TDA998X=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+# CONFIG_DRM_RADEON_UMS is not set
+CONFIG_DRM_NOUVEAU=m
+CONFIG_NOUVEAU_DEBUG=5
+CONFIG_NOUVEAU_DEBUG_DEFAULT=3
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_I810=m
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_VMWGFX_FBCON=y
+CONFIG_DRM_GMA500=m
+CONFIG_DRM_GMA600=y
+CONFIG_DRM_GMA3600=y
+CONFIG_DRM_UDL=m
+CONFIG_DRM_AST=m
+CONFIG_DRM_MGAG200=m
+CONFIG_DRM_CIRRUS_QEMU=m
+CONFIG_DRM_QXL=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_HDMI=y
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DDC=m
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_HECUBA=m
+CONFIG_FB_SVGALIB=m
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
+CONFIG_FB_CYBER2000=m
+CONFIG_FB_CYBER2000_DDC=y
+CONFIG_FB_ARC=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_VGA16=m
+# CONFIG_FB_UVESA is not set
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+CONFIG_FB_N411=m
+CONFIG_FB_HGA=m
+CONFIG_FB_S1D13XXX=m
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
+# CONFIG_FB_NVIDIA_DEBUG is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+CONFIG_FB_RIVA=m
+CONFIG_FB_RIVA_I2C=y
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_RIVA_BACKLIGHT=y
+CONFIG_FB_I740=m
+CONFIG_FB_I810=m
+CONFIG_FB_I810_GTF=y
+CONFIG_FB_I810_I2C=y
+CONFIG_FB_LE80578=m
+CONFIG_FB_CARILLO_RANCH=m
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MAVEN=m
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+CONFIG_FB_ATY_GENERIC_LCD=y
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+CONFIG_FB_S3=m
+CONFIG_FB_S3_DDC=y
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+CONFIG_FB_SAVAGE_ACCEL=y
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_VIA=m
+# CONFIG_FB_VIA_DIRECT_PROCFS is not set
+CONFIG_FB_VIA_X_COMPATIBILITY=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_3DFX_I2C=y
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+CONFIG_FB_TRIDENT=m
+CONFIG_FB_ARK=m
+CONFIG_FB_PM3=m
+CONFIG_FB_CARMINE=m
+CONFIG_FB_CARMINE_DRAM_EVAL=y
+# CONFIG_CARMINE_DRAM_CUSTOM is not set
+CONFIG_FB_GEODE=y
+CONFIG_FB_GEODE_LX=m
+CONFIG_FB_GEODE_GX=m
+CONFIG_FB_GEODE_GX1=m
+CONFIG_FB_TMIO=m
+CONFIG_FB_TMIO_ACCELL=y
+# CONFIG_FB_SM501 is not set
+CONFIG_FB_SMSCUFX=m
+CONFIG_FB_UDL=m
+CONFIG_FB_GOLDFISH=m
+# CONFIG_FB_VIRTUAL is not set
+CONFIG_FB_METRONOME=m
+CONFIG_FB_MB862XX=m
+CONFIG_FB_MB862XX_PCI_GDC=y
+CONFIG_FB_MB862XX_I2C=y
+CONFIG_FB_BROADSHEET=m
+CONFIG_FB_AUO_K190X=m
+CONFIG_FB_AUO_K1900=m
+CONFIG_FB_AUO_K1901=m
+# CONFIG_FB_HYPERV is not set
+# CONFIG_EXYNOS_VIDEO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_ATMEL_PWM=m
+CONFIG_BACKLIGHT_GENERIC=m
+CONFIG_BACKLIGHT_LM3533=m
+CONFIG_BACKLIGHT_CARILLO_RANCH=m
+CONFIG_BACKLIGHT_APPLE=m
+CONFIG_BACKLIGHT_SAHARA=m
+CONFIG_BACKLIGHT_ADP8860=m
+CONFIG_BACKLIGHT_ADP8870=m
+CONFIG_BACKLIGHT_PCF50633=m
+CONFIG_BACKLIGHT_LM3630=m
+CONFIG_BACKLIGHT_LM3639=m
+CONFIG_BACKLIGHT_LP855X=m
+CONFIG_BACKLIGHT_OT200=m
+CONFIG_BACKLIGHT_TPS65217=m
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
+CONFIG_MDA_CONSOLE=m
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+CONFIG_FONT_SUN8x16=y
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_KCTL_JACK=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+CONFIG_SND_OPL4_LIB_SEQ=m
+CONFIG_SND_SBAWE_SEQ=m
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_OPL4_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+CONFIG_SND_DUMMY=m
+CONFIG_SND_ALOOP=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+CONFIG_SND_WSS_LIB=m
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB8_DSP=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_ISA=y
+CONFIG_SND_ADLIB=m
+CONFIG_SND_AD1816A=m
+CONFIG_SND_AD1848=m
+CONFIG_SND_ALS100=m
+CONFIG_SND_AZT1605=m
+CONFIG_SND_AZT2316=m
+CONFIG_SND_AZT2320=m
+CONFIG_SND_CMI8328=m
+CONFIG_SND_CMI8330=m
+CONFIG_SND_CS4231=m
+CONFIG_SND_CS4236=m
+CONFIG_SND_ES1688=m
+CONFIG_SND_ES18XX=m
+CONFIG_SND_SC6000=m
+CONFIG_SND_GUSCLASSIC=m
+CONFIG_SND_GUSEXTREME=m
+CONFIG_SND_GUSMAX=m
+CONFIG_SND_INTERWAVE=m
+CONFIG_SND_INTERWAVE_STB=m
+CONFIG_SND_JAZZ16=m
+CONFIG_SND_OPL3SA2=m
+CONFIG_SND_OPTI92X_AD1848=m
+CONFIG_SND_OPTI92X_CS4231=m
+CONFIG_SND_OPTI93X=m
+CONFIG_SND_MIRO=m
+CONFIG_SND_SB8=m
+CONFIG_SND_SB16=m
+CONFIG_SND_SBAWE=m
+CONFIG_SND_SB16_CSP=y
+CONFIG_SND_SSCAPE=m
+CONFIG_SND_WAVEFRONT=m
+CONFIG_SND_MSND_PINNACLE=m
+CONFIG_SND_MSND_CLASSIC=m
+CONFIG_SND_TEA575X=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ASIHPI=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_ES1968_INPUT=y
+CONFIG_SND_ES1968_RADIO=y
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_DSP_LOADER=y
+CONFIG_SND_HDA_PREALLOC_SIZE=2048
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+# CONFIG_SND_HDA_INPUT_BEEP is not set
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_HDMI=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CA0132=y
+CONFIG_SND_HDA_CODEC_CA0132_DSP=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_LOLA=m
+CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MAESTRO3_INPUT=y
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SIS7019=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_USB_6FIRE=m
+CONFIG_SND_FIREWIRE=y
+CONFIG_SND_FIREWIRE_LIB=m
+CONFIG_SND_FIREWIRE_SPEAKERS=m
+CONFIG_SND_ISIGHT=m
+CONFIG_SND_SCS1X=m
+CONFIG_SND_PCMCIA=y
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+
+#
+# HID support
+#
+CONFIG_HID=m
+CONFIG_HIDRAW=y
+CONFIG_UHID=m
+CONFIG_HID_GENERIC=m
+
+#
+# Special HID drivers
+#
+CONFIG_HID_A4TECH=m
+CONFIG_HID_ACRUX=m
+CONFIG_HID_ACRUX_FF=y
+CONFIG_HID_APPLE=m
+CONFIG_HID_APPLEIR=m
+CONFIG_HID_AUREAL=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_PRODIKEYS=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EMS_FF=m
+CONFIG_HID_ELECOM=m
+CONFIG_HID_EZKEY=m
+CONFIG_HID_HOLTEK=m
+CONFIG_HOLTEK_FF=y
+CONFIG_HID_KEYTOUCH=m
+CONFIG_HID_KYE=m
+CONFIG_HID_UCLOGIC=m
+CONFIG_HID_WALTOP=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_ICADE=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LCPOWER=m
+CONFIG_HID_LENOVO_TPKBD=m
+CONFIG_HID_LOGITECH=m
+CONFIG_HID_LOGITECH_DJ=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_LOGIWHEELS_FF=y
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_MULTITOUCH=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_PICOLCD=m
+CONFIG_HID_PICOLCD_FB=y
+CONFIG_HID_PICOLCD_BACKLIGHT=y
+CONFIG_HID_PICOLCD_LCD=y
+CONFIG_HID_PICOLCD_LEDS=y
+CONFIG_HID_PICOLCD_CIR=y
+CONFIG_HID_PRIMAX=m
+CONFIG_HID_PS3REMOTE=m
+CONFIG_HID_ROCCAT=m
+CONFIG_HID_SAITEK=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_SPEEDLINK=m
+CONFIG_HID_STEELSERIES=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_HYPERV_MOUSE=m
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TIVO=m
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THINGM=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_WIIMOTE=m
+CONFIG_HID_WIIMOTE_EXT=y
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
+CONFIG_HID_ZYDACRON=m
+CONFIG_HID_SENSOR_HUB=m
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=m
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# I2C HID support
+#
+CONFIG_I2C_HID=m
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB_ARCH_HAS_XHCI=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=y
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+CONFIG_USB_XHCI_PLATFORM=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=m
+CONFIG_USB_EHCI_HCD_PLATFORM=m
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_OHCI_HCD_SSB=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+# CONFIG_USB_SL811_HCD_ISO is not set
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+# CONFIG_USB_HCD_BCMA is not set
+CONFIG_USB_HCD_SSB=m
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_REALTEK=m
+CONFIG_REALTEK_AUTOPM=y
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+CONFIG_USB_STORAGE_ENE_UB6250=m
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_DWC3=m
+CONFIG_USB_DWC3_HOST=y
+# CONFIG_USB_DWC3_DEBUG is not set
+CONFIG_USB_CHIPIDEA=m
+# CONFIG_USB_CHIPIDEA_DEBUG is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_F81232=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_METRO=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7715_PARPORT=y
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_SAFE_PADDED=y
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_WWAN=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
+CONFIG_USB_SERIAL_XSENS_MT=m
+CONFIG_USB_SERIAL_ZIO=m
+CONFIG_USB_SERIAL_WISHBONE=m
+CONFIG_USB_SERIAL_ZTE=m
+CONFIG_USB_SERIAL_SSU100=m
+CONFIG_USB_SERIAL_QT2=m
+CONFIG_USB_SERIAL_DEBUG=m
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_YUREX=m
+CONFIG_USB_EZUSB_FX2=m
+CONFIG_USB_HSIC_USB3503=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_OMAP_CONTROL_USB=m
+CONFIG_OMAP_USB3=m
+CONFIG_SAMSUNG_USBPHY=m
+CONFIG_SAMSUNG_USB2PHY=m
+CONFIG_SAMSUNG_USB3PHY=m
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ISP1301=m
+CONFIG_USB_RCAR_PHY=m
+# CONFIG_USB_GADGET is not set
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+CONFIG_UWB_I1480U=m
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+# CONFIG_MMC_CLKGATE is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_ACPI=m
+CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_SDHCI_PXAV3=m
+CONFIG_MMC_SDHCI_PXAV2=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MMC_VUB300=m
+CONFIG_MMC_USHC=m
+CONFIG_MMC_REALTEK_PCI=m
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+CONFIG_MEMSTICK_R592=m
+CONFIG_MEMSTICK_REALTEK_PCI=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_ATMEL_PWM=m
+CONFIG_LEDS_LM3530=m
+CONFIG_LEDS_LM3533=m
+CONFIG_LEDS_LM3642=m
+CONFIG_LEDS_NET48XX=m
+CONFIG_LEDS_WRAP=m
+CONFIG_LEDS_PCA9532=m
+# CONFIG_LEDS_PCA9532_GPIO is not set
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_LP55XX_COMMON=m
+CONFIG_LEDS_LP5521=m
+CONFIG_LEDS_LP5523=m
+CONFIG_LEDS_LP5562=m
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_PCA9633=m
+CONFIG_LEDS_REGULATOR=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_MC13783=m
+CONFIG_LEDS_RENESAS_TPU=y
+CONFIG_LEDS_TCA6507=m
+CONFIG_LEDS_LM355x=m
+CONFIG_LEDS_OT200=m
+CONFIG_LEDS_BLINKM=m
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_ONESHOT=m
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+# CONFIG_LEDS_TRIGGER_CPU is not set
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_LEDS_TRIGGER_TRANSIENT=m
+CONFIG_LEDS_TRIGGER_CAMERA=m
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+CONFIG_INFINIBAND=m
+CONFIG_INFINIBAND_USER_MAD=m
+CONFIG_INFINIBAND_USER_ACCESS=m
+CONFIG_INFINIBAND_USER_MEM=y
+CONFIG_INFINIBAND_ADDR_TRANS=y
+CONFIG_INFINIBAND_MTHCA=m
+CONFIG_INFINIBAND_MTHCA_DEBUG=y
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+# CONFIG_INFINIBAND_CXGB3 is not set
+CONFIG_INFINIBAND_CXGB4=m
+CONFIG_MLX4_INFINIBAND=m
+CONFIG_INFINIBAND_NES=m
+# CONFIG_INFINIBAND_NES_DEBUG is not set
+CONFIG_INFINIBAND_OCRDMA=m
+CONFIG_INFINIBAND_IPOIB=m
+# CONFIG_INFINIBAND_IPOIB_CM is not set
+CONFIG_INFINIBAND_IPOIB_DEBUG=y
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+CONFIG_INFINIBAND_SRP=m
+CONFIG_INFINIBAND_SRPT=m
+CONFIG_INFINIBAND_ISER=m
+CONFIG_INFINIBAND_ISERT=m
+CONFIG_EDAC=y
+CONFIG_EDAC_LEGACY_SYSFS=y
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=y
+CONFIG_EDAC_MCE_INJ=m
+# CONFIG_EDAC_MM_EDAC is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+# CONFIG_RTC_HCTOSYS is not set
+# CONFIG_RTC_SYSTOHC is not set
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_TEST=m
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_DS3232=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_ISL12022=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8523=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+CONFIG_RTC_DRV_EM3027=m
+CONFIG_RTC_DRV_RV3029C2=m
+
+#
+# SPI RTC drivers
+#
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_DS2404=m
+CONFIG_RTC_DRV_PCF50633=m
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_MC13XXX=m
+
+#
+# HID Sensor RTC drivers
+#
+CONFIG_RTC_DRV_HID_SENSOR_TIME=m
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_INTEL_MID_DMAC=m
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DW_DMAC=m
+# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
+CONFIG_TIMB_DMA=m
+CONFIG_PCH_DMA=m
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_ACPI=y
+
+#
+# DMA Clients
+#
+CONFIG_NET_DMA=y
+# CONFIG_ASYNC_TX_DMA is not set
+CONFIG_DMATEST=m
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+# CONFIG_KS0108 is not set
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV=m
+CONFIG_UIO_PDRV_GENIRQ=m
+CONFIG_UIO_DMEM_GENIRQ=m
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+CONFIG_VFIO_IOMMU_TYPE1=m
+CONFIG_VFIO=m
+CONFIG_VFIO_PCI=m
+# CONFIG_VFIO_PCI_VGA is not set
+CONFIG_VIRT_DRIVERS=y
+CONFIG_VIRTIO=m
+
+#
+# Virtio drivers
+#
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_MMIO=m
+# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+CONFIG_HYPERV=m
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_BALLOON=m
+CONFIG_STAGING=y
+# CONFIG_ET131X is not set
+# CONFIG_SLICOSS is not set
+CONFIG_USBIP_CORE=m
+CONFIG_USBIP_VHCI_HCD=m
+CONFIG_USBIP_HOST=m
+# CONFIG_USBIP_DEBUG is not set
+# CONFIG_W35UND is not set
+# CONFIG_PRISM2_USB is not set
+# CONFIG_ECHO is not set
+# CONFIG_COMEDI is not set
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192U=m
+CONFIG_RTLLIB=m
+CONFIG_RTLLIB_CRYPTO_CCMP=m
+CONFIG_RTLLIB_CRYPTO_TKIP=m
+CONFIG_RTLLIB_CRYPTO_WEP=m
+CONFIG_RTL8192E=m
+CONFIG_R8712U=m
+CONFIG_RTS5139=m
+# CONFIG_RTS5139_DEBUG is not set
+# CONFIG_TRANZPORT is not set
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_DX_SEP=m
+
+#
+# IIO staging drivers
+#
+
+#
+# Accelerometers
+#
+
+#
+# Analog to digital converters
+#
+CONFIG_AD7291=m
+CONFIG_AD7606=m
+CONFIG_AD7606_IFACE_PARALLEL=m
+CONFIG_AD799X=m
+CONFIG_AD799X_RING_BUFFER=y
+
+#
+# Analog digital bi-direction converters
+#
+CONFIG_ADT7316=m
+CONFIG_ADT7316_I2C=m
+
+#
+# Capacitance to digital converters
+#
+CONFIG_AD7150=m
+CONFIG_AD7152=m
+CONFIG_AD7746=m
+
+#
+# Direct Digital Synthesis
+#
+
+#
+# Digital gyroscope sensors
+#
+
+#
+# Network Analyzer, Impedance Converters
+#
+CONFIG_AD5933=m
+
+#
+# Light sensors
+#
+CONFIG_SENSORS_ISL29018=m
+CONFIG_SENSORS_ISL29028=m
+CONFIG_TSL2583=m
+CONFIG_TSL2x7x=m
+
+#
+# Magnetometer sensors
+#
+CONFIG_SENSORS_HMC5843=m
+
+#
+# Active energy metering IC
+#
+CONFIG_ADE7854=m
+CONFIG_ADE7854_I2C=m
+
+#
+# Resolver to digital converters
+#
+
+#
+# Triggers - standalone
+#
+CONFIG_IIO_PERIODIC_RTC_TRIGGER=m
+CONFIG_IIO_GPIO_TRIGGER=m
+CONFIG_IIO_SYSFS_TRIGGER=m
+# CONFIG_IIO_SIMPLE_DUMMY is not set
+# CONFIG_ZSMALLOC is not set
+CONFIG_WLAGS49_H2=m
+CONFIG_WLAGS49_H25=m
+CONFIG_FB_SM7XX=m
+CONFIG_CRYSTALHD=m
+# CONFIG_CXT1E1 is not set
+CONFIG_FB_XGI=m
+CONFIG_ACPI_QUICKSTART=m
+CONFIG_SBE_2T3E3=m
+CONFIG_USB_ENESTORAGE=m
+CONFIG_BCM_WIMAX=m
+# CONFIG_FT1000 is not set
+
+#
+# Speakup console speech
+#
+CONFIG_SPEAKUP=m
+CONFIG_SPEAKUP_SYNTH_ACNTSA=m
+CONFIG_SPEAKUP_SYNTH_ACNTPC=m
+CONFIG_SPEAKUP_SYNTH_APOLLO=m
+CONFIG_SPEAKUP_SYNTH_AUDPTR=m
+CONFIG_SPEAKUP_SYNTH_BNS=m
+CONFIG_SPEAKUP_SYNTH_DECTLK=m
+CONFIG_SPEAKUP_SYNTH_DECEXT=m
+CONFIG_SPEAKUP_SYNTH_DECPC=m
+CONFIG_SPEAKUP_SYNTH_DTLK=m
+CONFIG_SPEAKUP_SYNTH_KEYPC=m
+CONFIG_SPEAKUP_SYNTH_LTLK=m
+CONFIG_SPEAKUP_SYNTH_SOFT=m
+CONFIG_SPEAKUP_SYNTH_SPKOUT=m
+CONFIG_SPEAKUP_SYNTH_TXPRT=m
+CONFIG_SPEAKUP_SYNTH_DUMMY=m
+CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
+CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
+CONFIG_STAGING_MEDIA=y
+CONFIG_DVB_AS102=m
+CONFIG_DVB_CXD2099=m
+CONFIG_VIDEO_DT3155=m
+CONFIG_DT3155_CCIR=y
+CONFIG_DT3155_STREAMING=y
+# CONFIG_VIDEO_GO7007 is not set
+CONFIG_SOLO6X10=m
+CONFIG_LIRC_STAGING=y
+CONFIG_LIRC_BT829=m
+CONFIG_LIRC_IGORPLUGUSB=m
+CONFIG_LIRC_IMON=m
+CONFIG_LIRC_PARALLEL=m
+CONFIG_LIRC_SASEM=m
+CONFIG_LIRC_SERIAL=m
+CONFIG_LIRC_SERIAL_TRANSMITTER=y
+CONFIG_LIRC_SIR=m
+CONFIG_LIRC_ZILOG=m
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+CONFIG_USB_WPAN_HCD=m
+CONFIG_WIMAX_GDM72XX=m
+# CONFIG_WIMAX_GDM72XX_QOS is not set
+# CONFIG_WIMAX_GDM72XX_K_MODE is not set
+CONFIG_WIMAX_GDM72XX_WIMAX2=y
+CONFIG_WIMAX_GDM72XX_USB=y
+# CONFIG_WIMAX_GDM72XX_SDIO is not set
+# CONFIG_WIMAX_GDM72XX_USB_PM is not set
+CONFIG_CSR_WIFI=m
+CONFIG_NET_VENDOR_SILICOM=y
+CONFIG_SBYPASS=m
+CONFIG_BPCTL=m
+CONFIG_CED1401=m
+CONFIG_DGRP=m
+CONFIG_FIREWIRE_SERIAL=m
+CONFIG_USB_DWC2=m
+# CONFIG_USB_DWC2_DEBUG is not set
+# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_CHROMEOS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_DELL_WMI_AIO=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_FUJITSU_TABLET=m
+CONFIG_AMILO_RFKILL=m
+CONFIG_TC1100_WMI=m
+CONFIG_HP_ACCEL=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+CONFIG_SONYPI_COMPAT=y
+CONFIG_IDEAPAD_LAPTOP=m
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_SENSORS_HDAPS=m
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_ASUS_WMI=m
+CONFIG_ASUS_NB_WMI=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+CONFIG_INTEL_IPS=m
+CONFIG_IBM_RTL=m
+CONFIG_XO15_EBOOK=m
+CONFIG_SAMSUNG_LAPTOP=m
+CONFIG_MXM_WMI=m
+CONFIG_INTEL_OAKTRAIL=m
+CONFIG_SAMSUNG_Q10=m
+CONFIG_APPLE_GMUX=m
+CONFIG_PVPANIC=m
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+
+#
+# Common Clock Framework
+#
+CONFIG_COMMON_CLK_DEBUG=y
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_CLKSRC_I8253=y
+CONFIG_CLKEVT_I8253=y
+CONFIG_I8253_LOCK=y
+CONFIG_CLKBLD_I8253=y
+# CONFIG_MAILBOX is not set
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+CONFIG_DMAR_TABLE=y
+CONFIG_INTEL_IOMMU=y
+# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
+CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+
+#
+# Remoteproc drivers
+#
+CONFIG_REMOTEPROC=m
+CONFIG_STE_MODEM_RPROC=m
+
+#
+# Rpmsg drivers
+#
+CONFIG_PM_DEVFREQ=y
+
+#
+# DEVFREQ Governors
+#
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
+CONFIG_DEVFREQ_GOV_PERFORMANCE=y
+CONFIG_DEVFREQ_GOV_POWERSAVE=y
+CONFIG_DEVFREQ_GOV_USERSPACE=y
+
+#
+# DEVFREQ Drivers
+#
+CONFIG_EXTCON=m
+
+#
+# Extcon Device Drivers
+#
+CONFIG_EXTCON_GPIO=m
+CONFIG_EXTCON_ADC_JACK=m
+CONFIG_MEMORY=y
+CONFIG_IIO=m
+CONFIG_IIO_BUFFER=y
+# CONFIG_IIO_BUFFER_CB is not set
+CONFIG_IIO_KFIFO_BUF=m
+CONFIG_IIO_TRIGGERED_BUFFER=m
+CONFIG_IIO_TRIGGER=y
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+
+#
+# Accelerometers
+#
+CONFIG_HID_SENSOR_ACCEL_3D=m
+CONFIG_IIO_ST_ACCEL_3AXIS=m
+CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
+
+#
+# Analog to digital converters
+#
+CONFIG_MAX1363=m
+CONFIG_TI_ADC081C=m
+CONFIG_TI_AM335X_ADC=m
+CONFIG_VIPERBOARD_ADC=m
+
+#
+# Amplifiers
+#
+
+#
+# Hid Sensor IIO Common
+#
+CONFIG_HID_SENSOR_IIO_COMMON=m
+CONFIG_HID_SENSOR_IIO_TRIGGER=m
+CONFIG_HID_SENSOR_ENUM_BASE_QUIRKS=y
+CONFIG_IIO_ST_SENSORS_I2C=m
+CONFIG_IIO_ST_SENSORS_CORE=m
+
+#
+# Digital to analog converters
+#
+CONFIG_AD5064=m
+CONFIG_AD5380=m
+CONFIG_AD5446=m
+CONFIG_MAX517=m
+CONFIG_MCP4725=m
+
+#
+# Frequency Synthesizers DDS/PLL
+#
+
+#
+# Clock Generator/Distribution
+#
+
+#
+# Phase-Locked Loop (PLL) frequency synthesizers
+#
+
+#
+# Digital gyroscope sensors
+#
+CONFIG_HID_SENSOR_GYRO_3D=m
+CONFIG_IIO_ST_GYRO_3AXIS=m
+CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
+CONFIG_ITG3200=m
+
+#
+# Inertial measurement units
+#
+CONFIG_INV_MPU6050_IIO=m
+
+#
+# Light sensors
+#
+CONFIG_ADJD_S311=m
+CONFIG_SENSORS_LM3533=m
+CONFIG_SENSORS_TSL2563=m
+CONFIG_VCNL4000=m
+CONFIG_HID_SENSOR_ALS=m
+
+#
+# Magnetometer sensors
+#
+CONFIG_AK8975=m
+CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
+CONFIG_IIO_ST_MAGN_3AXIS=m
+CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
+# CONFIG_VME_BUS is not set
+# CONFIG_PWM is not set
+# CONFIG_IPACK_BUS is not set
+# CONFIG_RESET_CONTROLLER is not set
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+CONFIG_EDD_OFF=y
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=m
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=m
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_VARS=m
+CONFIG_EFI_VARS_PSTORE=m
+CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=m
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+# CONFIG_OCFS2_FS_STATS is not set
+CONFIG_OCFS2_DEBUG_MASKLOG=y
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+CONFIG_NILFS2_FS=m
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+# CONFIG_FSCACHE_STATS is not set
+# CONFIG_FSCACHE_HISTOGRAM is not set
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=y
+CONFIG_MISC_FILESYSTEMS=y
+CONFIG_ADFS_FS=m
+# CONFIG_ADFS_FS_RW is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+CONFIG_ECRYPT_FS_MESSAGING=y
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+CONFIG_BFS_FS=m
+CONFIG_EFS_FS=m
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_UBIFS_FS=m
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+CONFIG_SQUASHFS_EMBEDDED=y
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+CONFIG_VXFS_FS=m
+CONFIG_MINIX_FS=m
+CONFIG_OMFS_FS=m
+CONFIG_HPFS_FS=m
+CONFIG_QNX4FS_FS=m
+CONFIG_QNX6FS_FS=m
+# CONFIG_QNX6FS_DEBUG is not set
+CONFIG_ROMFS_FS=y
+CONFIG_ROMFS_BACKED_BY_BLOCK=y
+CONFIG_ROMFS_ON_BLOCK=y
+CONFIG_PSTORE=y
+# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_FTRACE is not set
+CONFIG_PSTORE_RAM=m
+CONFIG_SYSV_FS=m
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_F2FS_FS=m
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_EFIVAR_FS=m
+CONFIG_ORE=m
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V2=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+CONFIG_NFS_SWAP=y
+# CONFIG_NFS_V4_1 is not set
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V3_ACL is not set
+CONFIG_NFSD_V4=y
+# CONFIG_NFSD_FAULT_INJECTION is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_SUNRPC_XPRT_RDMA=m
+CONFIG_SUNRPC_SWAP=y
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_SUNRPC_DEBUG is not set
+CONFIG_CEPH_FS=m
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+# CONFIG_CIFS_UPCALL is not set
+# CONFIG_CIFS_XATTR is not set
+CONFIG_CIFS_DEBUG=y
+# CONFIG_CIFS_DEBUG2 is not set
+CONFIG_CIFS_DFS_UPCALL=y
+# CONFIG_CIFS_SMB2 is not set
+CONFIG_CIFS_FSCACHE=y
+CONFIG_NCP_FS=m
+CONFIG_NCPFS_PACKET_SIGNING=y
+CONFIG_NCPFS_IOCTL_LOCKING=y
+CONFIG_NCPFS_STRONG=y
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+CONFIG_NCPFS_EXTRAS=y
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+# CONFIG_AFS_FSCACHE is not set
+CONFIG_9P_FS=m
+# CONFIG_9P_FSCACHE is not set
+# CONFIG_9P_FS_POSIX_ACL is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_MAC_ROMAN=m
+CONFIG_NLS_MAC_CELTIC=m
+CONFIG_NLS_MAC_CENTEURO=m
+CONFIG_NLS_MAC_CROATIAN=m
+CONFIG_NLS_MAC_CYRILLIC=m
+CONFIG_NLS_MAC_GAELIC=m
+CONFIG_NLS_MAC_GREEK=m
+CONFIG_NLS_MAC_ICELAND=m
+CONFIG_NLS_MAC_INUIT=m
+CONFIG_NLS_MAC_ROMANIAN=m
+CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_PRINTK_TIME=y
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=0
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
+# CONFIG_READABLE_ASM is not set
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_LOCKUP_DETECTOR is not set
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_HIGHMEM is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_SPARSE_RCU_POINTER is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_LKDTM is not set
+CONFIG_NOTIFIER_ERROR_INJECTION=m
+CONFIG_PM_NOTIFIER_ERROR_INJECT=m
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACE_CLOCK=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
+# CONFIG_TRACER_SNAPSHOT is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_UPROBE_EVENT is not set
+# CONFIG_PROBE_EVENTS is not set
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
+# CONFIG_FUNCTION_PROFILER is not set
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_MMIOTRACE is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+CONFIG_RBTREE_TEST=m
+CONFIG_INTERVAL_TREE_TEST=m
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+CONFIG_ATOMIC64_SELFTEST=y
+CONFIG_ASYNC_RAID6_TEST=m
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_TEST_STRING_HELPERS is not set
+# CONFIG_TEST_KSTRTOX is not set
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_X86_PTDUMP is not set
+CONFIG_DEBUG_RODATA=y
+CONFIG_DEBUG_RODATA_TEST=y
+# CONFIG_DEBUG_SET_MODULE_RONX is not set
+# CONFIG_DEBUG_NX_TEST is not set
+CONFIG_DOUBLEFAULT=y
+# CONFIG_DEBUG_TLBFLUSH is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+CONFIG_OPTIMIZE_INLINING=y
+# CONFIG_DEBUG_NMI_SELFTEST is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_TRUSTED_KEYS=m
+CONFIG_ENCRYPTED_KEYS=m
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+CONFIG_SECURITY_DMESG_RESTRICT=y
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_SECURITY_NETWORK_XFRM=y
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_SECURITY_YAMA is not set
+# CONFIG_IMA is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=y
+CONFIG_ASYNC_CORE=y
+CONFIG_ASYNC_MEMCPY=y
+CONFIG_ASYNC_XOR=y
+CONFIG_ASYNC_PQ=y
+CONFIG_ASYNC_RAID6_RECOV=y
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=m
+CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_GF128MUL=y
+CONFIG_CRYPTO_NULL=y
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=y
+CONFIG_CRYPTO_AUTHENC=y
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_ABLK_HELPER_X86=y
+CONFIG_CRYPTO_GLUE_HELPER_X86=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=y
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_SEQIV=y
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTR=y
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_LRW=y
+CONFIG_CRYPTO_PCBC=y
+CONFIG_CRYPTO_XTS=y
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_CRC32=m
+CONFIG_CRYPTO_CRC32_PCLMUL=m
+CONFIG_CRYPTO_GHASH=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=y
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=y
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_TGR192=y
+CONFIG_CRYPTO_WP512=y
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_AES_586=y
+CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_ANUBIS=y
+CONFIG_CRYPTO_ARC4=y
+CONFIG_CRYPTO_BLOWFISH=y
+CONFIG_CRYPTO_BLOWFISH_COMMON=y
+CONFIG_CRYPTO_CAMELLIA=y
+CONFIG_CRYPTO_CAST_COMMON=y
+CONFIG_CRYPTO_CAST5=y
+CONFIG_CRYPTO_CAST6=y
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_FCRYPT=y
+CONFIG_CRYPTO_KHAZAD=y
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_586=m
+CONFIG_CRYPTO_SEED=y
+CONFIG_CRYPTO_SERPENT=y
+CONFIG_CRYPTO_SERPENT_SSE2_586=m
+CONFIG_CRYPTO_TEA=y
+CONFIG_CRYPTO_TWOFISH=y
+CONFIG_CRYPTO_TWOFISH_COMMON=y
+CONFIG_CRYPTO_TWOFISH_586=y
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_USER_API=m
+CONFIG_CRYPTO_USER_API_HASH=m
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_CRYPTO_DEV_GEODE=m
+CONFIG_CRYPTO_DEV_HIFN_795X=m
+CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+CONFIG_ASYMMETRIC_KEY_TYPE=m
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
+CONFIG_PUBLIC_KEY_ALGO_RSA=m
+CONFIG_X509_CERTIFICATE_PARSER=m
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_KVM_ASYNC_PF=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_KVM_MMU_AUDIT=y
+CONFIG_KVM_DEVICE_ASSIGNMENT=y
+CONFIG_LGUEST=m
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=y
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_IO=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=m
+CONFIG_CRC_ITU_T=y
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=y
+CONFIG_CRC8=m
+CONFIG_AUDIT_GENERIC=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_REED_SOLOMON=m
+CONFIG_REED_SOLOMON_ENC8=y
+CONFIG_REED_SOLOMON_DEC8=y
+CONFIG_REED_SOLOMON_DEC16=y
+CONFIG_BCH=m
+CONFIG_BCH_CONST_PARAMS=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_DQL=y
+CONFIG_NLATTR=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_LRU_CACHE=m
+CONFIG_AVERAGE=y
+CONFIG_CLZ_TAB=y
+CONFIG_CORDIC=m
+# CONFIG_DDR is not set
+CONFIG_MPILIB=m
+CONFIG_OID_REGISTRY=y
+CONFIG_UCS2_STRING=y
diff --git a/source/k/config-x86/config-generic-3.2.29 b/source/k/config-x86/config-generic-3.2.29
deleted file mode 100644
index c22fd0815..000000000
--- a/source/k/config-x86/config-generic-3.2.29
+++ /dev/null
@@ -1,5689 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/i386 3.2.29 Kernel Configuration
-#
-# CONFIG_64BIT is not set
-CONFIG_X86_32=y
-# CONFIG_X86_64 is not set
-CONFIG_X86=y
-CONFIG_INSTRUCTION_DECODER=y
-CONFIG_OUTPUT_FORMAT="elf32-i386"
-CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_MMU=y
-CONFIG_ZONE_DMA=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_NEED_SG_DMA_LENGTH=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_GPIO=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-# CONFIG_GENERIC_TIME_VSYSCALL is not set
-CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_DEFAULT_IDLE=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_ZONE_DMA32 is not set
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-# CONFIG_AUDIT_ARCH is not set
-CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
-CONFIG_HAVE_INTEL_TXT=y
-CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
-CONFIG_KTIME_SCALAR=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_HAVE_IRQ_WORK=y
-CONFIG_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_BZIP2=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_XZ=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-# CONFIG_KERNEL_BZIP2 is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_XZ is not set
-# CONFIG_KERNEL_LZO is not set
-CONFIG_DEFAULT_HOSTNAME="darkstar"
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-# CONFIG_FHANDLE is not set
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_AUDIT_WATCH=y
-CONFIG_AUDIT_TREE=y
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_HAVE_SPARSE_IRQ=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_IRQ_CHIP=y
-CONFIG_IRQ_FORCED_THREADING=y
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-CONFIG_CGROUPS=y
-# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CPUSETS=y
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_RESOURCE_COUNTERS=y
-CONFIG_CGROUP_MEM_RES_CTLR=y
-CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
-# CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED is not set
-CONFIG_CGROUP_PERF=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_CFS_BANDWIDTH=y
-CONFIG_RT_GROUP_SCHED=y
-CONFIG_BLK_CGROUP=y
-# CONFIG_DEBUG_BLK_CGROUP is not set
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_NET_NS=y
-# CONFIG_SCHED_AUTOGROUP is not set
-CONFIG_MM_OWNER=y
-# CONFIG_SYSFS_DEPRECATED is not set
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_XZ=y
-CONFIG_RD_LZO=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-# CONFIG_EXPERT is not set
-CONFIG_UID16=y
-# CONFIG_SYSCTL_SYSCALL is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_PCSPKR_PLATFORM=y
-CONFIG_HAVE_PCSPKR_PLATFORM=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-# CONFIG_EMBEDDED is not set
-CONFIG_HAVE_PERF_EVENTS=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_PCI_QUIRKS=y
-CONFIG_SLUB_DEBUG=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-CONFIG_SLUB=y
-CONFIG_PROFILING=y
-CONFIG_TRACEPOINTS=y
-CONFIG_OPROFILE=m
-# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-# CONFIG_JUMP_LABEL is not set
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_IOREMAP_PROT=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_OPTPROBES=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_DMA_ATTRS=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
-CONFIG_HAVE_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_PERF_EVENTS_NMI=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_GCOV_KERNEL is not set
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-CONFIG_MODULE_FORCE_LOAD=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_BLOCK=y
-CONFIG_LBDAF=y
-CONFIG_BLK_DEV_BSG=y
-CONFIG_BLK_DEV_BSGLIB=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-CONFIG_BLK_DEV_THROTTLING=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-CONFIG_CFQ_GROUP_IOSCHED=y
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_PREEMPT_NOTIFIERS=y
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# Processor type and features
-#
-CONFIG_TICK_ONESHOT=y
-# CONFIG_NO_HZ is not set
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
-# CONFIG_SMP is not set
-CONFIG_X86_MPPARSE=y
-# CONFIG_X86_EXTENDED_PLATFORM is not set
-CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_X86_32_IRIS=m
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-# CONFIG_PARAVIRT_GUEST is not set
-CONFIG_NO_BOOTMEM=y
-CONFIG_MEMTEST=y
-# CONFIG_M386 is not set
-CONFIG_M486=y
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-# CONFIG_M686 is not set
-# CONFIG_MPENTIUMII is not set
-# CONFIG_MPENTIUMIII is not set
-# CONFIG_MPENTIUMM is not set
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MEFFICEON is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MELAN is not set
-# CONFIG_MGEODEGX1 is not set
-# CONFIG_MGEODE_LX is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-# CONFIG_MVIAC7 is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_MATOM is not set
-CONFIG_X86_GENERIC=y
-CONFIG_X86_INTERNODE_CACHE_SHIFT=6
-CONFIG_X86_CMPXCHG=y
-CONFIG_CMPXCHG_LOCAL=y
-CONFIG_CMPXCHG_DOUBLE=y
-CONFIG_X86_L1_CACHE_SHIFT=6
-CONFIG_X86_XADD=y
-# CONFIG_X86_PPRO_FENCE is not set
-CONFIG_X86_F00F_BUG=y
-CONFIG_X86_INVD_BUG=y
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_INVLPG=y
-CONFIG_X86_BSWAP=y
-CONFIG_X86_POPAD_OK=y
-CONFIG_X86_ALIGNMENT_16=y
-CONFIG_X86_INTEL_USERCOPY=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=4
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_CYRIX_32=y
-CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR=y
-CONFIG_CPU_SUP_TRANSMETA_32=y
-CONFIG_CPU_SUP_UMC_32=y
-CONFIG_HPET_TIMER=y
-CONFIG_HPET_EMULATE_RTC=y
-CONFIG_DMI=y
-# CONFIG_IOMMU_HELPER is not set
-CONFIG_NR_CPUS=1
-# CONFIG_IRQ_TIME_ACCOUNTING is not set
-# CONFIG_PREEMPT_NONE is not set
-CONFIG_PREEMPT_VOLUNTARY=y
-# CONFIG_PREEMPT is not set
-CONFIG_X86_UP_APIC=y
-CONFIG_X86_UP_IOAPIC=y
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
-CONFIG_X86_MCE=y
-CONFIG_X86_MCE_INTEL=y
-CONFIG_X86_MCE_AMD=y
-CONFIG_X86_ANCIENT_MCE=y
-CONFIG_X86_MCE_THRESHOLD=y
-CONFIG_X86_MCE_INJECT=m
-CONFIG_X86_THERMAL_VECTOR=y
-CONFIG_VM86=y
-CONFIG_TOSHIBA=m
-CONFIG_I8K=m
-CONFIG_X86_REBOOTFIXUPS=y
-CONFIG_MICROCODE=m
-CONFIG_MICROCODE_INTEL=y
-CONFIG_MICROCODE_AMD=y
-CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_X86_MSR=m
-CONFIG_X86_CPUID=m
-# CONFIG_NOHIGHMEM is not set
-CONFIG_HIGHMEM4G=y
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_HIGHMEM=y
-# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
-# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
-CONFIG_ARCH_FLATMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ILLEGAL_POINTER_VALUE=0
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_SPARSEMEM_STATIC=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_COMPACTION=y
-CONFIG_MIGRATION=y
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-CONFIG_MMU_NOTIFIER=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=98304
-CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
-# CONFIG_MEMORY_FAILURE is not set
-CONFIG_TRANSPARENT_HUGEPAGE=y
-CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
-# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
-CONFIG_NEED_PER_CPU_KM=y
-# CONFIG_CLEANCACHE is not set
-CONFIG_HIGHPTE=y
-# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
-CONFIG_X86_RESERVE_LOW=64
-CONFIG_MATH_EMULATION=y
-CONFIG_MTRR=y
-CONFIG_MTRR_SANITIZER=y
-CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
-CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
-CONFIG_X86_PAT=y
-CONFIG_ARCH_USES_PG_UNCACHED=y
-CONFIG_ARCH_RANDOM=y
-CONFIG_EFI=y
-CONFIG_SECCOMP=y
-CONFIG_CC_STACKPROTECTOR=y
-# CONFIG_HZ_100 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_300 is not set
-CONFIG_HZ_1000=y
-CONFIG_HZ=1000
-CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
-# CONFIG_CRASH_DUMP is not set
-CONFIG_PHYSICAL_START=0x1000000
-# CONFIG_RELOCATABLE is not set
-CONFIG_PHYSICAL_ALIGN=0x100000
-CONFIG_COMPAT_VDSO=y
-# CONFIG_CMDLINE_BOOL is not set
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-
-#
-# Power management and ACPI options
-#
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_HIBERNATE_CALLBACKS=y
-CONFIG_HIBERNATION=y
-CONFIG_PM_STD_PARTITION="\"\""
-CONFIG_PM_SLEEP=y
-CONFIG_PM_RUNTIME=y
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_ACPI=y
-CONFIG_ACPI_SLEEP=y
-CONFIG_ACPI_PROCFS=y
-CONFIG_ACPI_PROCFS_POWER=y
-CONFIG_ACPI_EC_DEBUGFS=m
-CONFIG_ACPI_PROC_EVENT=y
-CONFIG_ACPI_AC=m
-CONFIG_ACPI_BATTERY=m
-CONFIG_ACPI_BUTTON=m
-CONFIG_ACPI_VIDEO=m
-CONFIG_ACPI_FAN=m
-CONFIG_ACPI_DOCK=y
-CONFIG_ACPI_PROCESSOR=m
-CONFIG_ACPI_IPMI=m
-CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
-CONFIG_ACPI_THERMAL=m
-# CONFIG_ACPI_CUSTOM_DSDT is not set
-CONFIG_ACPI_BLACKLIST_YEAR=2001
-# CONFIG_ACPI_DEBUG is not set
-CONFIG_ACPI_PCI_SLOT=m
-CONFIG_X86_PM_TIMER=y
-CONFIG_ACPI_CONTAINER=m
-CONFIG_ACPI_SBS=m
-CONFIG_ACPI_HED=y
-# CONFIG_ACPI_CUSTOM_METHOD is not set
-CONFIG_ACPI_APEI=y
-CONFIG_ACPI_APEI_GHES=y
-CONFIG_ACPI_APEI_PCIEAER=y
-CONFIG_ACPI_APEI_EINJ=m
-CONFIG_ACPI_APEI_ERST_DEBUG=m
-CONFIG_SFI=y
-# CONFIG_APM is not set
-
-#
-# CPU Frequency scaling
-#
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_TABLE=m
-CONFIG_CPU_FREQ_STAT=m
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-
-#
-# x86 CPU frequency scaling drivers
-#
-CONFIG_X86_PCC_CPUFREQ=m
-CONFIG_X86_ACPI_CPUFREQ=m
-CONFIG_X86_POWERNOW_K6=m
-CONFIG_X86_POWERNOW_K7=m
-CONFIG_X86_POWERNOW_K7_ACPI=y
-CONFIG_X86_POWERNOW_K8=m
-CONFIG_X86_GX_SUSPMOD=m
-CONFIG_X86_SPEEDSTEP_CENTRINO=m
-CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
-CONFIG_X86_SPEEDSTEP_ICH=m
-CONFIG_X86_SPEEDSTEP_SMI=m
-CONFIG_X86_P4_CLOCKMOD=m
-CONFIG_X86_CPUFREQ_NFORCE2=m
-CONFIG_X86_LONGRUN=m
-CONFIG_X86_LONGHAUL=m
-CONFIG_X86_E_POWERSAVER=m
-
-#
-# shared options
-#
-CONFIG_X86_SPEEDSTEP_LIB=m
-CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_INTEL_IDLE=y
-
-#
-# Bus options (PCI etc.)
-#
-CONFIG_PCI=y
-# CONFIG_PCI_GOBIOS is not set
-# CONFIG_PCI_GOMMCONFIG is not set
-# CONFIG_PCI_GODIRECT is not set
-CONFIG_PCI_GOANY=y
-CONFIG_PCI_BIOS=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_MMCONFIG=y
-CONFIG_PCI_DOMAINS=y
-# CONFIG_PCI_CNB20LE_QUIRK is not set
-CONFIG_PCIEPORTBUS=y
-CONFIG_HOTPLUG_PCI_PCIE=m
-CONFIG_PCIEAER=y
-# CONFIG_PCIE_ECRC is not set
-CONFIG_PCIEAER_INJECT=m
-CONFIG_PCIEASPM=y
-# CONFIG_PCIEASPM_DEBUG is not set
-CONFIG_PCIE_PME=y
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_PCI_MSI=y
-# CONFIG_PCI_DEBUG is not set
-CONFIG_PCI_STUB=m
-CONFIG_HT_IRQ=y
-# CONFIG_PCI_IOV is not set
-# CONFIG_PCI_PRI is not set
-# CONFIG_PCI_PASID is not set
-CONFIG_PCI_IOAPIC=y
-CONFIG_PCI_LABEL=y
-CONFIG_ISA_DMA_API=y
-CONFIG_ISA=y
-# CONFIG_EISA is not set
-# CONFIG_MCA is not set
-CONFIG_SCx200=m
-CONFIG_SCx200HR_TIMER=m
-# CONFIG_OLPC is not set
-CONFIG_ALIX=y
-CONFIG_AMD_NB=y
-CONFIG_PCCARD=m
-CONFIG_PCMCIA=m
-CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_CARDBUS=y
-
-#
-# PC-card bridges
-#
-CONFIG_YENTA=m
-CONFIG_YENTA_O2=y
-CONFIG_YENTA_RICOH=y
-CONFIG_YENTA_TI=y
-CONFIG_YENTA_ENE_TUNE=y
-CONFIG_YENTA_TOSHIBA=y
-CONFIG_PD6729=m
-CONFIG_I82092=m
-CONFIG_I82365=m
-CONFIG_TCIC=m
-CONFIG_PCMCIA_PROBE=y
-CONFIG_PCCARD_NONSTATIC=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_FAKE=m
-CONFIG_HOTPLUG_PCI_COMPAQ=m
-# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
-CONFIG_HOTPLUG_PCI_IBM=m
-CONFIG_HOTPLUG_PCI_ACPI=m
-CONFIG_HOTPLUG_PCI_ACPI_IBM=m
-# CONFIG_HOTPLUG_PCI_CPCI is not set
-CONFIG_HOTPLUG_PCI_SHPC=m
-# CONFIG_RAPIDIO is not set
-
-#
-# Executable file formats / Emulations
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_HAVE_AOUT=y
-CONFIG_BINFMT_AOUT=m
-CONFIG_BINFMT_MISC=m
-CONFIG_HAVE_ATOMIC_IOMAP=y
-CONFIG_HAVE_TEXT_POKE_SMP=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=y
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_XFRM_STATISTICS is not set
-CONFIG_XFRM_IPCOMP=m
-CONFIG_NET_KEY=m
-# CONFIG_NET_KEY_MIGRATE is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-# CONFIG_IP_FIB_TRIE_STATS is not set
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_ROUTE_CLASSID=y
-# CONFIG_IP_PNP is not set
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPGRE_BROADCAST=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_XFRM_TUNNEL=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_LRO=y
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-CONFIG_IPV6=m
-CONFIG_IPV6_PRIVACY=y
-# CONFIG_IPV6_ROUTER_PREF is not set
-# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_MIP6=m
-CONFIG_INET6_XFRM_TUNNEL=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
-CONFIG_IPV6_SIT=m
-# CONFIG_IPV6_SIT_6RD is not set
-CONFIG_IPV6_NDISC_NODETYPE=y
-CONFIG_IPV6_TUNNEL=m
-# CONFIG_IPV6_MULTIPLE_TABLES is not set
-# CONFIG_IPV6_MROUTE is not set
-# CONFIG_NETLABEL is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_NETFILTER_ADVANCED=y
-CONFIG_BRIDGE_NETFILTER=y
-
-#
-# Core Netfilter Configuration
-#
-CONFIG_NETFILTER_NETLINK=m
-CONFIG_NETFILTER_NETLINK_QUEUE=m
-CONFIG_NETFILTER_NETLINK_LOG=m
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_MARK=y
-CONFIG_NF_CONNTRACK_ZONES=y
-# CONFIG_NF_CONNTRACK_EVENTS is not set
-# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
-CONFIG_NF_CT_PROTO_DCCP=m
-CONFIG_NF_CT_PROTO_GRE=m
-CONFIG_NF_CT_PROTO_SCTP=m
-CONFIG_NF_CT_PROTO_UDPLITE=m
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK_BROADCAST=m
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_PPTP=m
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-CONFIG_NF_CT_NETLINK=m
-CONFIG_NETFILTER_TPROXY=m
-CONFIG_NETFILTER_XTABLES=m
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_CONNMARK=m
-CONFIG_NETFILTER_XT_SET=m
-
-#
-# Xtables targets
-#
-CONFIG_NETFILTER_XT_TARGET_AUDIT=m
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_HL=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-CONFIG_NETFILTER_XT_TARGET_LED=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
-CONFIG_NETFILTER_XT_TARGET_RATEEST=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-CONFIG_NETFILTER_XT_TARGET_TPROXY=m
-CONFIG_NETFILTER_XT_TARGET_TRACE=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
-
-#
-# Xtables matches
-#
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_HL=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_IPVS=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_OSF=m
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_SOCKET=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-CONFIG_IP_SET=m
-CONFIG_IP_SET_MAX=256
-CONFIG_IP_SET_BITMAP_IP=m
-CONFIG_IP_SET_BITMAP_IPMAC=m
-CONFIG_IP_SET_BITMAP_PORT=m
-CONFIG_IP_SET_HASH_IP=m
-CONFIG_IP_SET_HASH_IPPORT=m
-CONFIG_IP_SET_HASH_IPPORTIP=m
-CONFIG_IP_SET_HASH_IPPORTNET=m
-CONFIG_IP_SET_HASH_NET=m
-CONFIG_IP_SET_HASH_NETPORT=m
-CONFIG_IP_SET_HASH_NETIFACE=m
-CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_VS=m
-# CONFIG_IP_VS_IPV6 is not set
-# CONFIG_IP_VS_DEBUG is not set
-CONFIG_IP_VS_TAB_BITS=12
-
-#
-# IPVS transport protocol load balancing support
-#
-CONFIG_IP_VS_PROTO_TCP=y
-CONFIG_IP_VS_PROTO_UDP=y
-CONFIG_IP_VS_PROTO_AH_ESP=y
-CONFIG_IP_VS_PROTO_ESP=y
-CONFIG_IP_VS_PROTO_AH=y
-CONFIG_IP_VS_PROTO_SCTP=y
-
-#
-# IPVS scheduler
-#
-CONFIG_IP_VS_RR=m
-CONFIG_IP_VS_WRR=m
-CONFIG_IP_VS_LC=m
-CONFIG_IP_VS_WLC=m
-CONFIG_IP_VS_LBLC=m
-CONFIG_IP_VS_LBLCR=m
-CONFIG_IP_VS_DH=m
-CONFIG_IP_VS_SH=m
-CONFIG_IP_VS_SED=m
-CONFIG_IP_VS_NQ=m
-
-#
-# IPVS application helper
-#
-CONFIG_IP_VS_FTP=m
-CONFIG_IP_VS_NFCT=y
-CONFIG_IP_VS_PE_SIP=m
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV4=m
-CONFIG_NF_CONNTRACK_IPV4=m
-CONFIG_NF_CONNTRACK_PROC_COMPAT=y
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_NF_NAT=m
-CONFIG_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_NF_NAT_SNMP_BASIC=m
-CONFIG_NF_NAT_PROTO_DCCP=m
-CONFIG_NF_NAT_PROTO_GRE=m
-CONFIG_NF_NAT_PROTO_UDPLITE=m
-CONFIG_NF_NAT_PROTO_SCTP=m
-CONFIG_NF_NAT_FTP=m
-CONFIG_NF_NAT_IRC=m
-CONFIG_NF_NAT_TFTP=m
-CONFIG_NF_NAT_AMANDA=m
-CONFIG_NF_NAT_PPTP=m
-CONFIG_NF_NAT_H323=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_CLUSTERIP=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_SECURITY=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV6=m
-CONFIG_NF_CONNTRACK_IPV6=m
-CONFIG_IP6_NF_QUEUE=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_TARGET_LOG=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_RAW=m
-CONFIG_IP6_NF_SECURITY=m
-
-#
-# DECnet: Netfilter Configuration
-#
-# CONFIG_DECNET_NF_GRABULATOR is not set
-CONFIG_BRIDGE_NF_EBTABLES=m
-CONFIG_BRIDGE_EBT_BROUTE=m
-CONFIG_BRIDGE_EBT_T_FILTER=m
-CONFIG_BRIDGE_EBT_T_NAT=m
-CONFIG_BRIDGE_EBT_802_3=m
-CONFIG_BRIDGE_EBT_AMONG=m
-CONFIG_BRIDGE_EBT_ARP=m
-CONFIG_BRIDGE_EBT_IP=m
-CONFIG_BRIDGE_EBT_IP6=m
-CONFIG_BRIDGE_EBT_LIMIT=m
-CONFIG_BRIDGE_EBT_MARK=m
-CONFIG_BRIDGE_EBT_PKTTYPE=m
-CONFIG_BRIDGE_EBT_STP=m
-CONFIG_BRIDGE_EBT_VLAN=m
-CONFIG_BRIDGE_EBT_ARPREPLY=m
-CONFIG_BRIDGE_EBT_DNAT=m
-CONFIG_BRIDGE_EBT_MARK_T=m
-CONFIG_BRIDGE_EBT_REDIRECT=m
-CONFIG_BRIDGE_EBT_SNAT=m
-CONFIG_BRIDGE_EBT_LOG=m
-CONFIG_BRIDGE_EBT_ULOG=m
-CONFIG_BRIDGE_EBT_NFLOG=m
-CONFIG_IP_DCCP=m
-CONFIG_INET_DCCP_DIAG=m
-
-#
-# DCCP CCIDs Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_DCCP_CCID2_DEBUG is not set
-# CONFIG_IP_DCCP_CCID3 is not set
-
-#
-# DCCP Kernel Hacking
-#
-# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_SCTP=m
-# CONFIG_SCTP_DBG_MSG is not set
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# CONFIG_SCTP_HMAC_NONE is not set
-# CONFIG_SCTP_HMAC_SHA1 is not set
-CONFIG_SCTP_HMAC_MD5=y
-CONFIG_RDS=m
-CONFIG_RDS_RDMA=m
-CONFIG_RDS_TCP=m
-# CONFIG_RDS_DEBUG is not set
-CONFIG_TIPC=m
-# CONFIG_TIPC_ADVANCED is not set
-# CONFIG_TIPC_DEBUG is not set
-CONFIG_ATM=m
-CONFIG_ATM_CLIP=m
-# CONFIG_ATM_CLIP_NO_ICMP is not set
-CONFIG_ATM_LANE=m
-CONFIG_ATM_MPOA=m
-CONFIG_ATM_BR2684=m
-# CONFIG_ATM_BR2684_IPFILTER is not set
-CONFIG_L2TP=m
-CONFIG_L2TP_DEBUGFS=m
-CONFIG_L2TP_V3=y
-CONFIG_L2TP_IP=m
-CONFIG_L2TP_ETH=m
-CONFIG_STP=m
-CONFIG_GARP=m
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-# CONFIG_NET_DSA is not set
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_DECNET=m
-# CONFIG_DECNET_ROUTER is not set
-CONFIG_LLC=y
-CONFIG_LLC2=m
-CONFIG_IPX=m
-# CONFIG_IPX_INTERN is not set
-CONFIG_ATALK=m
-CONFIG_DEV_APPLETALK=m
-CONFIG_LTPC=m
-CONFIG_COPS=m
-CONFIG_COPS_DAYNA=y
-CONFIG_COPS_TANGENT=y
-CONFIG_IPDDP=m
-CONFIG_IPDDP_ENCAP=y
-CONFIG_IPDDP_DECAP=y
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-CONFIG_WAN_ROUTER=m
-# CONFIG_PHONET is not set
-CONFIG_IEEE802154=m
-CONFIG_IEEE802154_6LOWPAN=m
-CONFIG_NET_SCHED=y
-
-#
-# Queueing/Scheduling
-#
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_ATM=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_MULTIQ=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFB=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_NETEM=m
-CONFIG_NET_SCH_DRR=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_CHOKE=m
-CONFIG_NET_SCH_QFQ=m
-CONFIG_NET_SCH_INGRESS=m
-
-#
-# Classification
-#
-CONFIG_NET_CLS=y
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-# CONFIG_CLS_U32_PERF is not set
-CONFIG_CLS_U32_MARK=y
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_CLS_FLOW=m
-CONFIG_NET_CLS_CGROUP=y
-CONFIG_NET_EMATCH=y
-CONFIG_NET_EMATCH_STACK=32
-CONFIG_NET_EMATCH_CMP=m
-CONFIG_NET_EMATCH_NBYTE=m
-CONFIG_NET_EMATCH_U32=m
-CONFIG_NET_EMATCH_META=m
-CONFIG_NET_EMATCH_TEXT=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_POLICE=y
-CONFIG_NET_ACT_GACT=m
-CONFIG_GACT_PROB=y
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_IPT=m
-CONFIG_NET_ACT_NAT=m
-CONFIG_NET_ACT_PEDIT=m
-CONFIG_NET_ACT_SIMP=m
-CONFIG_NET_ACT_SKBEDIT=m
-CONFIG_NET_ACT_CSUM=m
-# CONFIG_NET_CLS_IND is not set
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=y
-CONFIG_BATMAN_ADV=m
-# CONFIG_BATMAN_ADV_DEBUG is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_NET_DROP_MONITOR is not set
-CONFIG_HAMRADIO=y
-
-#
-# Packet Radio protocols
-#
-CONFIG_AX25=m
-# CONFIG_AX25_DAMA_SLAVE is not set
-CONFIG_NETROM=m
-CONFIG_ROSE=m
-
-#
-# AX.25 network device drivers
-#
-CONFIG_MKISS=m
-CONFIG_6PACK=m
-CONFIG_BPQETHER=m
-# CONFIG_DMASCC is not set
-CONFIG_SCC=m
-CONFIG_SCC_DELAY=y
-CONFIG_SCC_TRXECHO=y
-CONFIG_BAYCOM_SER_FDX=m
-CONFIG_BAYCOM_SER_HDX=m
-CONFIG_BAYCOM_PAR=m
-CONFIG_BAYCOM_EPP=m
-CONFIG_YAM=m
-CONFIG_CAN=m
-CONFIG_CAN_RAW=m
-CONFIG_CAN_BCM=m
-CONFIG_CAN_GW=m
-
-#
-# CAN Device Drivers
-#
-CONFIG_CAN_VCAN=m
-CONFIG_CAN_SLCAN=m
-CONFIG_CAN_DEV=m
-CONFIG_CAN_CALC_BITTIMING=y
-CONFIG_CAN_JANZ_ICAN3=m
-CONFIG_PCH_CAN=m
-CONFIG_CAN_SJA1000=m
-CONFIG_CAN_SJA1000_ISA=m
-CONFIG_CAN_SJA1000_PLATFORM=m
-CONFIG_CAN_EMS_PCMCIA=m
-CONFIG_CAN_EMS_PCI=m
-CONFIG_CAN_PEAK_PCI=m
-CONFIG_CAN_KVASER_PCI=m
-CONFIG_CAN_PLX_PCI=m
-CONFIG_CAN_TSCAN1=m
-CONFIG_CAN_C_CAN=m
-CONFIG_CAN_C_CAN_PLATFORM=m
-
-#
-# CAN USB interfaces
-#
-CONFIG_CAN_EMS_USB=m
-CONFIG_CAN_ESD_USB2=m
-CONFIG_CAN_SOFTING=m
-CONFIG_CAN_SOFTING_CS=m
-# CONFIG_CAN_DEBUG_DEVICES is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-CONFIG_IRDA_CACHE_LAST_LSAP=y
-CONFIG_IRDA_FAST_RR=y
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-CONFIG_IRTTY_SIR=m
-
-#
-# Dongle support
-#
-CONFIG_DONGLE=y
-CONFIG_ESI_DONGLE=m
-CONFIG_ACTISYS_DONGLE=m
-CONFIG_TEKRAM_DONGLE=m
-CONFIG_TOIM3232_DONGLE=m
-CONFIG_LITELINK_DONGLE=m
-CONFIG_MA600_DONGLE=m
-CONFIG_GIRBIL_DONGLE=m
-CONFIG_MCP2120_DONGLE=m
-CONFIG_OLD_BELKIN_DONGLE=m
-CONFIG_ACT200L_DONGLE=m
-CONFIG_KINGSUN_DONGLE=m
-CONFIG_KSDAZZLE_DONGLE=m
-CONFIG_KS959_DONGLE=m
-
-#
-# FIR device drivers
-#
-CONFIG_USB_IRDA=m
-CONFIG_SIGMATEL_FIR=m
-CONFIG_NSC_FIR=m
-CONFIG_WINBOND_FIR=m
-CONFIG_TOSHIBA_FIR=m
-CONFIG_SMC_IRCC_FIR=m
-CONFIG_ALI_FIR=m
-CONFIG_VLSI_FIR=m
-CONFIG_VIA_FIR=m
-CONFIG_MCS_FIR=m
-CONFIG_BT=m
-CONFIG_BT_L2CAP=y
-CONFIG_BT_SCO=y
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_CMTP=m
-CONFIG_BT_HIDP=m
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIVHCI=m
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-CONFIG_BT_ATH3K=m
-CONFIG_BT_WILINK=m
-CONFIG_AF_RXRPC=m
-# CONFIG_AF_RXRPC_DEBUG is not set
-CONFIG_RXKAD=m
-CONFIG_FIB_RULES=y
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=m
-# CONFIG_NL80211_TESTMODE is not set
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-# CONFIG_CFG80211_REG_DEBUG is not set
-CONFIG_CFG80211_DEFAULT_PS=y
-# CONFIG_CFG80211_DEBUGFS is not set
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_WEXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-CONFIG_LIB80211=m
-CONFIG_LIB80211_CRYPT_WEP=m
-CONFIG_LIB80211_CRYPT_CCMP=m
-CONFIG_LIB80211_CRYPT_TKIP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_MAC80211=m
-CONFIG_MAC80211_HAS_RC=y
-CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_RC_MINSTREL_HT=y
-CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
-CONFIG_MAC80211_MESH=y
-CONFIG_MAC80211_LEDS=y
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_WIMAX=m
-CONFIG_WIMAX_DEBUG_LEVEL=8
-CONFIG_RFKILL=m
-CONFIG_RFKILL_LEDS=y
-CONFIG_RFKILL_INPUT=y
-CONFIG_RFKILL_REGULATOR=m
-CONFIG_NET_9P=m
-CONFIG_NET_9P_VIRTIO=m
-CONFIG_NET_9P_RDMA=m
-# CONFIG_NET_9P_DEBUG is not set
-# CONFIG_CAIF is not set
-CONFIG_CEPH_LIB=m
-# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
-# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
-CONFIG_NFC=m
-CONFIG_NFC_NCI=m
-
-#
-# Near Field Communication (NFC) devices
-#
-CONFIG_PN544_NFC=m
-CONFIG_NFC_PN533=m
-CONFIG_NFC_WILINK=m
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-# CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-CONFIG_REGMAP=y
-CONFIG_REGMAP_I2C=m
-CONFIG_CONNECTOR=m
-CONFIG_MTD=m
-CONFIG_MTD_TESTS=m
-CONFIG_MTD_REDBOOT_PARTS=m
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-CONFIG_MTD_AR7_PARTS=m
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=m
-CONFIG_HAVE_MTD_OTP=y
-CONFIG_MTD_BLKDEVS=m
-CONFIG_MTD_BLOCK=m
-CONFIG_MTD_BLOCK_RO=m
-CONFIG_FTL=m
-CONFIG_NFTL=m
-CONFIG_NFTL_RW=y
-CONFIG_INFTL=m
-CONFIG_RFD_FTL=m
-CONFIG_SSFDC=m
-CONFIG_SM_FTL=m
-CONFIG_MTD_OOPS=m
-CONFIG_MTD_SWAP=m
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=m
-CONFIG_MTD_JEDECPROBE=m
-CONFIG_MTD_GEN_PROBE=m
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_GEOMETRY=y
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-CONFIG_MTD_MAP_BANK_WIDTH_8=y
-CONFIG_MTD_MAP_BANK_WIDTH_16=y
-CONFIG_MTD_MAP_BANK_WIDTH_32=y
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-CONFIG_MTD_CFI_I4=y
-CONFIG_MTD_CFI_I8=y
-CONFIG_MTD_OTP=y
-CONFIG_MTD_CFI_INTELEXT=m
-CONFIG_MTD_CFI_AMDSTD=m
-CONFIG_MTD_CFI_STAA=m
-CONFIG_MTD_CFI_UTIL=m
-CONFIG_MTD_RAM=m
-CONFIG_MTD_ROM=m
-CONFIG_MTD_ABSENT=m
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=m
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-CONFIG_MTD_SC520CDP=m
-CONFIG_MTD_NETSC520=m
-CONFIG_MTD_TS5500=m
-CONFIG_MTD_SBC_GXX=m
-CONFIG_MTD_SCx200_DOCFLASH=m
-CONFIG_MTD_AMD76XROM=m
-CONFIG_MTD_ICHXROM=m
-CONFIG_MTD_ESB2ROM=m
-CONFIG_MTD_CK804XROM=m
-CONFIG_MTD_SCB2_FLASH=m
-CONFIG_MTD_NETtel=m
-CONFIG_MTD_L440GX=m
-CONFIG_MTD_PCI=m
-CONFIG_MTD_PCMCIA=m
-# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
-CONFIG_MTD_GPIO_ADDR=m
-CONFIG_MTD_INTEL_VR_NOR=m
-CONFIG_MTD_PLATRAM=m
-CONFIG_MTD_LATCH_ADDR=m
-
-#
-# Self-contained MTD device drivers
-#
-CONFIG_MTD_PMC551=m
-CONFIG_MTD_PMC551_BUGFIX=y
-# CONFIG_MTD_PMC551_DEBUG is not set
-CONFIG_MTD_SLRAM=m
-CONFIG_MTD_PHRAM=m
-CONFIG_MTD_MTDRAM=m
-CONFIG_MTDRAM_TOTAL_SIZE=4096
-CONFIG_MTDRAM_ERASE_SIZE=128
-CONFIG_MTD_BLOCK2MTD=m
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-CONFIG_MTD_DOC2001PLUS=m
-CONFIG_MTD_DOCG3=m
-CONFIG_MTD_DOCPROBE=m
-CONFIG_MTD_DOCECC=m
-CONFIG_MTD_DOCPROBE_ADVANCED=y
-CONFIG_MTD_DOCPROBE_ADDRESS=0x0000
-CONFIG_MTD_DOCPROBE_HIGH=y
-CONFIG_MTD_DOCPROBE_55AA=y
-CONFIG_MTD_NAND_ECC=m
-CONFIG_MTD_NAND_ECC_SMC=y
-CONFIG_MTD_NAND=m
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-CONFIG_MTD_NAND_BCH=m
-CONFIG_MTD_NAND_ECC_BCH=y
-CONFIG_MTD_SM_COMMON=m
-CONFIG_MTD_NAND_MUSEUM_IDS=y
-CONFIG_MTD_NAND_DENALI=m
-CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
-CONFIG_MTD_NAND_IDS=m
-CONFIG_MTD_NAND_RICOH=m
-CONFIG_MTD_NAND_DISKONCHIP=m
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
-CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y
-CONFIG_MTD_NAND_CAFE=m
-CONFIG_MTD_NAND_CS553X=m
-CONFIG_MTD_NAND_NANDSIM=m
-CONFIG_MTD_NAND_PLATFORM=m
-CONFIG_MTD_ALAUDA=m
-CONFIG_MTD_ONENAND=m
-CONFIG_MTD_ONENAND_VERIFY_WRITE=y
-CONFIG_MTD_ONENAND_GENERIC=m
-CONFIG_MTD_ONENAND_OTP=y
-CONFIG_MTD_ONENAND_2X_PROGRAM=y
-CONFIG_MTD_ONENAND_SIM=m
-
-#
-# LPDDR flash memory drivers
-#
-CONFIG_MTD_LPDDR=m
-CONFIG_MTD_QINFO_PROBE=m
-CONFIG_MTD_UBI=m
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-CONFIG_MTD_UBI_GLUEBI=m
-# CONFIG_MTD_UBI_DEBUG is not set
-CONFIG_PARPORT=m
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_SERIAL=m
-# CONFIG_PARPORT_PC_FIFO is not set
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_GSC is not set
-CONFIG_PARPORT_AX88796=m
-CONFIG_PARPORT_1284=y
-CONFIG_PARPORT_NOT_PC=y
-CONFIG_PNP=y
-CONFIG_PNP_DEBUG_MESSAGES=y
-
-#
-# Protocols
-#
-CONFIG_ISAPNP=y
-# CONFIG_PNPBIOS is not set
-CONFIG_PNPACPI=y
-CONFIG_BLK_DEV=y
-CONFIG_BLK_DEV_FD=y
-CONFIG_BLK_DEV_XD=m
-CONFIG_PARIDE=m
-
-#
-# Parallel IDE high-level drivers
-#
-CONFIG_PARIDE_PD=m
-CONFIG_PARIDE_PCD=m
-CONFIG_PARIDE_PF=m
-CONFIG_PARIDE_PT=m
-CONFIG_PARIDE_PG=m
-
-#
-# Parallel IDE protocol modules
-#
-CONFIG_PARIDE_ATEN=m
-CONFIG_PARIDE_BPCK=m
-CONFIG_PARIDE_BPCK6=m
-CONFIG_PARIDE_COMM=m
-CONFIG_PARIDE_DSTR=m
-CONFIG_PARIDE_FIT2=m
-CONFIG_PARIDE_FIT3=m
-CONFIG_PARIDE_EPAT=m
-CONFIG_PARIDE_EPATC8=y
-CONFIG_PARIDE_EPIA=m
-CONFIG_PARIDE_FRIQ=m
-CONFIG_PARIDE_FRPW=m
-CONFIG_PARIDE_KBIC=m
-CONFIG_PARIDE_KTTI=m
-CONFIG_PARIDE_ON20=m
-CONFIG_PARIDE_ON26=m
-CONFIG_BLK_CPQ_DA=m
-CONFIG_BLK_CPQ_CISS_DA=m
-CONFIG_CISS_SCSI_TAPE=y
-CONFIG_BLK_DEV_DAC960=m
-CONFIG_BLK_DEV_UMEM=m
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-CONFIG_BLK_DEV_DRBD=m
-# CONFIG_DRBD_FAULT_INJECTION is not set
-CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_OSD=m
-CONFIG_BLK_DEV_SX8=m
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=16384
-# CONFIG_BLK_DEV_XIP is not set
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-CONFIG_ATA_OVER_ETH=m
-CONFIG_VIRTIO_BLK=m
-# CONFIG_BLK_DEV_HD is not set
-CONFIG_BLK_DEV_RBD=m
-CONFIG_SENSORS_LIS3LV02D=m
-CONFIG_MISC_DEVICES=y
-CONFIG_AD525X_DPOT=m
-CONFIG_AD525X_DPOT_I2C=m
-CONFIG_IBM_ASM=m
-CONFIG_PHANTOM=m
-CONFIG_INTEL_MID_PTI=m
-CONFIG_SGI_IOC4=m
-CONFIG_TIFM_CORE=m
-CONFIG_TIFM_7XX1=m
-CONFIG_ICS932S401=m
-CONFIG_ENCLOSURE_SERVICES=m
-CONFIG_CS5535_MFGPT=m
-CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
-CONFIG_CS5535_CLOCK_EVENT_SRC=m
-CONFIG_HP_ILO=m
-CONFIG_APDS9802ALS=m
-CONFIG_ISL29003=m
-CONFIG_ISL29020=m
-CONFIG_SENSORS_TSL2550=m
-CONFIG_SENSORS_BH1780=m
-CONFIG_SENSORS_BH1770=m
-CONFIG_SENSORS_APDS990X=m
-CONFIG_HMC6352=m
-CONFIG_DS1682=m
-CONFIG_VMWARE_BALLOON=m
-CONFIG_BMP085=m
-CONFIG_PCH_PHUB=m
-CONFIG_USB_SWITCH_FSA9480=m
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-CONFIG_EEPROM_AT24=m
-CONFIG_EEPROM_LEGACY=m
-CONFIG_EEPROM_MAX6875=m
-CONFIG_EEPROM_93CX6=m
-CONFIG_CB710_CORE=m
-# CONFIG_CB710_DEBUG is not set
-CONFIG_CB710_DEBUG_ASSUMPTIONS=y
-CONFIG_IWMC3200TOP=m
-# CONFIG_IWMC3200TOP_DEBUG is not set
-# CONFIG_IWMC3200TOP_DEBUGFS is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-CONFIG_TI_ST=m
-CONFIG_SENSORS_LIS3_I2C=m
-
-#
-# Altera FPGA firmware download module
-#
-CONFIG_ALTERA_STAPL=m
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-CONFIG_RAID_ATTRS=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_SCSI_TGT=y
-CONFIG_SCSI_NETLINK=y
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_ST=m
-CONFIG_CHR_DEV_OSST=m
-CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_CHR_DEV_SG=m
-CONFIG_CHR_DEV_SCH=m
-CONFIG_SCSI_ENCLOSURE=m
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-CONFIG_SCSI_SPI_ATTRS=y
-CONFIG_SCSI_FC_ATTRS=m
-CONFIG_SCSI_FC_TGT_ATTRS=y
-CONFIG_SCSI_ISCSI_ATTRS=m
-CONFIG_SCSI_SAS_ATTRS=y
-CONFIG_SCSI_SAS_LIBSAS=y
-CONFIG_SCSI_SAS_ATA=y
-CONFIG_SCSI_SAS_HOST_SMP=y
-CONFIG_SCSI_SRP_ATTRS=m
-CONFIG_SCSI_SRP_TGT_ATTRS=y
-CONFIG_SCSI_LOWLEVEL=y
-CONFIG_ISCSI_TCP=m
-CONFIG_ISCSI_BOOT_SYSFS=y
-CONFIG_SCSI_CXGB3_ISCSI=m
-CONFIG_SCSI_CXGB4_ISCSI=m
-CONFIG_SCSI_BNX2_ISCSI=m
-CONFIG_SCSI_BNX2X_FCOE=m
-CONFIG_BE2ISCSI=m
-CONFIG_BLK_DEV_3W_XXXX_RAID=m
-CONFIG_SCSI_HPSA=m
-CONFIG_SCSI_3W_9XXX=m
-CONFIG_SCSI_3W_SAS=m
-CONFIG_SCSI_7000FASST=m
-CONFIG_SCSI_ACARD=m
-CONFIG_SCSI_AHA152X=m
-CONFIG_SCSI_AHA1542=m
-CONFIG_SCSI_AACRAID=m
-CONFIG_SCSI_AIC7XXX=m
-CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
-CONFIG_AIC7XXX_RESET_DELAY_MS=15000
-# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
-CONFIG_AIC7XXX_DEBUG_MASK=0
-# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
-CONFIG_SCSI_AIC7XXX_OLD=m
-CONFIG_SCSI_AIC79XX=m
-CONFIG_AIC79XX_CMDS_PER_DEVICE=4
-CONFIG_AIC79XX_RESET_DELAY_MS=15000
-# CONFIG_AIC79XX_DEBUG_ENABLE is not set
-CONFIG_AIC79XX_DEBUG_MASK=0
-# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
-CONFIG_SCSI_AIC94XX=m
-# CONFIG_AIC94XX_DEBUG is not set
-CONFIG_SCSI_MVSAS=m
-# CONFIG_SCSI_MVSAS_DEBUG is not set
-# CONFIG_SCSI_MVSAS_TASKLET is not set
-CONFIG_SCSI_MVUMI=m
-CONFIG_SCSI_DPT_I2O=m
-CONFIG_SCSI_ADVANSYS=m
-CONFIG_SCSI_IN2000=m
-CONFIG_SCSI_ARCMSR=m
-CONFIG_MEGARAID_NEWGEN=y
-CONFIG_MEGARAID_MM=m
-CONFIG_MEGARAID_MAILBOX=m
-CONFIG_MEGARAID_LEGACY=m
-CONFIG_MEGARAID_SAS=m
-CONFIG_SCSI_MPT2SAS=m
-CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT2SAS_LOGGING is not set
-CONFIG_SCSI_HPTIOP=m
-CONFIG_SCSI_BUSLOGIC=m
-CONFIG_SCSI_FLASHPOINT=y
-CONFIG_VMWARE_PVSCSI=m
-CONFIG_LIBFC=m
-CONFIG_LIBFCOE=m
-CONFIG_FCOE=m
-CONFIG_FCOE_FNIC=m
-CONFIG_SCSI_DMX3191D=m
-CONFIG_SCSI_DTC3280=m
-CONFIG_SCSI_EATA=m
-# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
-# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
-CONFIG_SCSI_EATA_MAX_TAGS=16
-CONFIG_SCSI_FUTURE_DOMAIN=m
-CONFIG_SCSI_GDTH=m
-CONFIG_SCSI_ISCI=m
-CONFIG_SCSI_GENERIC_NCR5380=m
-CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
-CONFIG_SCSI_GENERIC_NCR53C400=y
-CONFIG_SCSI_IPS=m
-CONFIG_SCSI_INITIO=m
-CONFIG_SCSI_INIA100=m
-CONFIG_SCSI_PPA=m
-CONFIG_SCSI_IMM=m
-# CONFIG_SCSI_IZIP_EPP16 is not set
-# CONFIG_SCSI_IZIP_SLOW_CTR is not set
-CONFIG_SCSI_NCR53C406A=m
-CONFIG_SCSI_STEX=m
-CONFIG_SCSI_SYM53C8XX_2=m
-CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
-CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
-CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
-CONFIG_SCSI_SYM53C8XX_MMIO=y
-CONFIG_SCSI_IPR=m
-# CONFIG_SCSI_IPR_TRACE is not set
-# CONFIG_SCSI_IPR_DUMP is not set
-CONFIG_SCSI_PAS16=m
-CONFIG_SCSI_QLOGIC_FAS=m
-CONFIG_SCSI_QLOGIC_1280=m
-CONFIG_SCSI_QLA_FC=m
-CONFIG_SCSI_QLA_ISCSI=m
-CONFIG_SCSI_LPFC=m
-# CONFIG_SCSI_LPFC_DEBUG_FS is not set
-CONFIG_SCSI_SYM53C416=m
-CONFIG_SCSI_DC395x=m
-CONFIG_SCSI_DC390T=m
-CONFIG_SCSI_T128=m
-CONFIG_SCSI_U14_34F=m
-# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
-# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
-CONFIG_SCSI_U14_34F_MAX_TAGS=8
-CONFIG_SCSI_ULTRASTOR=m
-CONFIG_SCSI_NSP32=m
-CONFIG_SCSI_DEBUG=m
-CONFIG_SCSI_PMCRAID=m
-CONFIG_SCSI_PM8001=m
-CONFIG_SCSI_SRP=m
-CONFIG_SCSI_BFA_FC=m
-CONFIG_SCSI_LOWLEVEL_PCMCIA=y
-CONFIG_PCMCIA_AHA152X=m
-CONFIG_PCMCIA_FDOMAIN=m
-CONFIG_PCMCIA_NINJA_SCSI=m
-CONFIG_PCMCIA_QLOGIC=m
-CONFIG_PCMCIA_SYM53C500=m
-CONFIG_SCSI_DH=m
-CONFIG_SCSI_DH_RDAC=m
-CONFIG_SCSI_DH_HP_SW=m
-CONFIG_SCSI_DH_EMC=m
-CONFIG_SCSI_DH_ALUA=m
-CONFIG_SCSI_OSD_INITIATOR=m
-CONFIG_SCSI_OSD_ULD=m
-CONFIG_SCSI_OSD_DPRINT_SENSE=1
-# CONFIG_SCSI_OSD_DEBUG is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_ATA_ACPI=y
-CONFIG_SATA_PMP=y
-
-#
-# Controllers with non-SFF native interface
-#
-CONFIG_SATA_AHCI=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_SATA_INIC162X=y
-CONFIG_SATA_ACARD_AHCI=y
-CONFIG_SATA_SIL24=y
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_PDC_ADMA=y
-CONFIG_SATA_QSTOR=y
-CONFIG_SATA_SX4=y
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-CONFIG_ATA_PIIX=y
-CONFIG_SATA_MV=y
-CONFIG_SATA_NV=y
-CONFIG_SATA_PROMISE=y
-CONFIG_SATA_SIL=y
-CONFIG_SATA_SIS=y
-CONFIG_SATA_SVW=y
-CONFIG_SATA_ULI=y
-CONFIG_SATA_VIA=y
-CONFIG_SATA_VITESSE=y
-
-#
-# PATA SFF controllers with BMDMA
-#
-CONFIG_PATA_ALI=y
-CONFIG_PATA_AMD=y
-CONFIG_PATA_ARASAN_CF=m
-CONFIG_PATA_ARTOP=y
-CONFIG_PATA_ATIIXP=y
-CONFIG_PATA_ATP867X=y
-CONFIG_PATA_CMD64X=y
-CONFIG_PATA_CS5520=y
-CONFIG_PATA_CS5530=y
-CONFIG_PATA_CS5535=y
-CONFIG_PATA_CS5536=y
-CONFIG_PATA_CYPRESS=y
-CONFIG_PATA_EFAR=y
-CONFIG_PATA_HPT366=y
-CONFIG_PATA_HPT37X=y
-CONFIG_PATA_HPT3X2N=y
-CONFIG_PATA_HPT3X3=y
-CONFIG_PATA_HPT3X3_DMA=y
-CONFIG_PATA_IT8213=y
-CONFIG_PATA_IT821X=y
-CONFIG_PATA_JMICRON=y
-CONFIG_PATA_MARVELL=y
-CONFIG_PATA_NETCELL=y
-CONFIG_PATA_NINJA32=y
-CONFIG_PATA_NS87415=y
-CONFIG_PATA_OLDPIIX=y
-CONFIG_PATA_OPTIDMA=y
-CONFIG_PATA_PDC2027X=y
-CONFIG_PATA_PDC_OLD=y
-CONFIG_PATA_RADISYS=y
-CONFIG_PATA_RDC=y
-CONFIG_PATA_SC1200=y
-CONFIG_PATA_SCH=y
-CONFIG_PATA_SERVERWORKS=y
-CONFIG_PATA_SIL680=y
-CONFIG_PATA_SIS=y
-CONFIG_PATA_TOSHIBA=m
-CONFIG_PATA_TRIFLEX=y
-CONFIG_PATA_VIA=y
-CONFIG_PATA_WINBOND=y
-
-#
-# PIO-only SFF controllers
-#
-CONFIG_PATA_CMD640_PCI=y
-CONFIG_PATA_ISAPNP=y
-CONFIG_PATA_MPIIX=y
-CONFIG_PATA_NS87410=y
-CONFIG_PATA_OPTI=y
-CONFIG_PATA_PCMCIA=m
-CONFIG_PATA_QDI=y
-CONFIG_PATA_RZ1000=y
-CONFIG_PATA_WINBOND_VLB=y
-
-#
-# Generic fallback / legacy drivers
-#
-CONFIG_PATA_ACPI=y
-CONFIG_ATA_GENERIC=y
-CONFIG_PATA_LEGACY=y
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=y
-CONFIG_MD_AUTODETECT=y
-CONFIG_MD_LINEAR=y
-CONFIG_MD_RAID0=y
-CONFIG_MD_RAID1=y
-CONFIG_MD_RAID10=y
-CONFIG_MD_RAID456=y
-CONFIG_MD_MULTIPATH=y
-CONFIG_MD_FAULTY=m
-CONFIG_BLK_DEV_DM=y
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_BUFIO=m
-CONFIG_DM_PERSISTENT_DATA=m
-CONFIG_DM_CRYPT=y
-CONFIG_DM_SNAPSHOT=m
-CONFIG_DM_THIN_PROVISIONING=m
-# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
-# CONFIG_DM_DEBUG_SPACE_MAPS is not set
-CONFIG_DM_MIRROR=y
-CONFIG_DM_RAID=m
-CONFIG_DM_LOG_USERSPACE=m
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-CONFIG_DM_MULTIPATH_QL=m
-CONFIG_DM_MULTIPATH_ST=m
-# CONFIG_DM_DELAY is not set
-CONFIG_DM_UEVENT=y
-CONFIG_DM_FLAKEY=m
-CONFIG_TARGET_CORE=m
-CONFIG_TCM_IBLOCK=m
-CONFIG_TCM_FILEIO=m
-CONFIG_TCM_PSCSI=m
-CONFIG_LOOPBACK_TARGET=m
-CONFIG_TCM_FC=m
-CONFIG_ISCSI_TARGET=m
-CONFIG_FUSION=y
-CONFIG_FUSION_SPI=m
-CONFIG_FUSION_FC=m
-CONFIG_FUSION_SAS=m
-CONFIG_FUSION_MAX_SGE=128
-CONFIG_FUSION_CTL=m
-CONFIG_FUSION_LAN=m
-# CONFIG_FUSION_LOGGING is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-CONFIG_FIREWIRE=m
-CONFIG_FIREWIRE_OHCI=m
-CONFIG_FIREWIRE_OHCI_DEBUG=y
-CONFIG_FIREWIRE_SBP2=m
-CONFIG_FIREWIRE_NET=m
-CONFIG_FIREWIRE_NOSY=m
-CONFIG_I2O=m
-CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
-CONFIG_I2O_EXT_ADAPTEC=y
-CONFIG_I2O_CONFIG=m
-# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
-CONFIG_I2O_BUS=m
-CONFIG_I2O_BLOCK=m
-CONFIG_I2O_SCSI=m
-CONFIG_I2O_PROC=m
-CONFIG_MACINTOSH_DRIVERS=y
-CONFIG_MAC_EMUMOUSEBTN=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_BONDING=m
-CONFIG_DUMMY=m
-CONFIG_EQUALIZER=m
-CONFIG_NET_FC=y
-CONFIG_MII=m
-CONFIG_IEEE802154_DRIVERS=m
-CONFIG_IEEE802154_FAKEHARD=m
-CONFIG_IFB=m
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_NETCONSOLE=m
-CONFIG_NETCONSOLE_DYNAMIC=y
-CONFIG_NETPOLL=y
-# CONFIG_NETPOLL_TRAP is not set
-CONFIG_NET_POLL_CONTROLLER=y
-CONFIG_TUN=m
-CONFIG_VETH=m
-CONFIG_VIRTIO_NET=m
-CONFIG_SUNGEM_PHY=m
-CONFIG_ARCNET=m
-CONFIG_ARCNET_1201=m
-CONFIG_ARCNET_1051=m
-CONFIG_ARCNET_RAW=m
-CONFIG_ARCNET_CAP=m
-CONFIG_ARCNET_COM90xx=m
-CONFIG_ARCNET_COM90xxIO=m
-CONFIG_ARCNET_RIM_I=m
-CONFIG_ARCNET_COM20020=m
-CONFIG_ARCNET_COM20020_ISA=m
-CONFIG_ARCNET_COM20020_PCI=m
-CONFIG_ARCNET_COM20020_CS=m
-CONFIG_ATM_DRIVERS=y
-CONFIG_ATM_DUMMY=m
-CONFIG_ATM_TCP=m
-CONFIG_ATM_LANAI=m
-CONFIG_ATM_ENI=m
-# CONFIG_ATM_ENI_DEBUG is not set
-# CONFIG_ATM_ENI_TUNE_BURST is not set
-CONFIG_ATM_FIRESTREAM=m
-CONFIG_ATM_ZATM=m
-# CONFIG_ATM_ZATM_DEBUG is not set
-CONFIG_ATM_NICSTAR=m
-# CONFIG_ATM_NICSTAR_USE_SUNI is not set
-# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
-CONFIG_ATM_IDT77252=m
-# CONFIG_ATM_IDT77252_DEBUG is not set
-# CONFIG_ATM_IDT77252_RCV_ALL is not set
-CONFIG_ATM_IDT77252_USE_SUNI=y
-CONFIG_ATM_AMBASSADOR=m
-# CONFIG_ATM_AMBASSADOR_DEBUG is not set
-CONFIG_ATM_HORIZON=m
-# CONFIG_ATM_HORIZON_DEBUG is not set
-CONFIG_ATM_IA=m
-# CONFIG_ATM_IA_DEBUG is not set
-CONFIG_ATM_FORE200E=m
-# CONFIG_ATM_FORE200E_USE_TASKLET is not set
-CONFIG_ATM_FORE200E_TX_RETRY=16
-CONFIG_ATM_FORE200E_DEBUG=0
-CONFIG_ATM_HE=m
-# CONFIG_ATM_HE_USE_SUNI is not set
-CONFIG_ATM_SOLOS=m
-
-#
-# CAIF transport drivers
-#
-CONFIG_ETHERNET=y
-CONFIG_MDIO=m
-CONFIG_NET_VENDOR_3COM=y
-CONFIG_EL1=m
-CONFIG_EL3=m
-CONFIG_3C515=m
-CONFIG_PCMCIA_3C574=m
-CONFIG_PCMCIA_3C589=m
-CONFIG_VORTEX=m
-CONFIG_TYPHOON=m
-CONFIG_NET_VENDOR_ADAPTEC=y
-CONFIG_ADAPTEC_STARFIRE=m
-CONFIG_NET_VENDOR_ALTEON=y
-CONFIG_ACENIC=m
-# CONFIG_ACENIC_OMIT_TIGON_I is not set
-CONFIG_NET_VENDOR_AMD=y
-CONFIG_AMD8111_ETH=m
-CONFIG_LANCE=m
-CONFIG_PCNET32=m
-CONFIG_DEPCA=m
-CONFIG_PCMCIA_NMCLAN=m
-CONFIG_NI65=m
-CONFIG_NET_VENDOR_ATHEROS=y
-CONFIG_ATL2=m
-CONFIG_ATL1=m
-CONFIG_ATL1E=m
-CONFIG_ATL1C=m
-CONFIG_NET_VENDOR_BROADCOM=y
-CONFIG_B44=m
-CONFIG_B44_PCI_AUTOSELECT=y
-CONFIG_B44_PCICORE_AUTOSELECT=y
-CONFIG_B44_PCI=y
-CONFIG_BNX2=m
-CONFIG_CNIC=m
-CONFIG_TIGON3=m
-CONFIG_BNX2X=m
-CONFIG_NET_VENDOR_BROCADE=y
-CONFIG_BNA=m
-CONFIG_NET_VENDOR_CHELSIO=y
-CONFIG_CHELSIO_T1=m
-CONFIG_CHELSIO_T1_1G=y
-CONFIG_CHELSIO_T3=m
-CONFIG_CHELSIO_T4=m
-CONFIG_CHELSIO_T4VF=m
-CONFIG_NET_VENDOR_CIRRUS=y
-CONFIG_CS89x0=m
-CONFIG_NET_VENDOR_CISCO=y
-CONFIG_ENIC=m
-CONFIG_DNET=m
-CONFIG_NET_VENDOR_DEC=y
-CONFIG_EWRK3=m
-CONFIG_NET_TULIP=y
-CONFIG_DE2104X=m
-CONFIG_DE2104X_DSL=0
-CONFIG_TULIP=m
-# CONFIG_TULIP_MWI is not set
-CONFIG_TULIP_MMIO=y
-# CONFIG_TULIP_NAPI is not set
-CONFIG_DE4X5=m
-CONFIG_WINBOND_840=m
-CONFIG_DM9102=m
-CONFIG_ULI526X=m
-CONFIG_PCMCIA_XIRCOM=m
-CONFIG_NET_VENDOR_DLINK=y
-CONFIG_DE600=m
-CONFIG_DE620=m
-CONFIG_DL2K=m
-CONFIG_SUNDANCE=m
-# CONFIG_SUNDANCE_MMIO is not set
-CONFIG_NET_VENDOR_EMULEX=y
-CONFIG_BE2NET=m
-CONFIG_NET_VENDOR_EXAR=y
-CONFIG_S2IO=m
-CONFIG_VXGE=m
-# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
-CONFIG_NET_VENDOR_FUJITSU=y
-CONFIG_AT1700=m
-CONFIG_PCMCIA_FMVJ18X=m
-CONFIG_ETH16I=m
-CONFIG_NET_VENDOR_HP=y
-CONFIG_HP100=m
-CONFIG_NET_VENDOR_INTEL=y
-CONFIG_E100=m
-CONFIG_E1000=m
-CONFIG_E1000E=m
-CONFIG_IGB=m
-CONFIG_IGB_DCA=y
-CONFIG_IGBVF=m
-CONFIG_IXGB=m
-CONFIG_IXGBE=m
-CONFIG_IXGBE_DCA=y
-CONFIG_IXGBEVF=m
-CONFIG_NET_VENDOR_I825XX=y
-CONFIG_ELPLUS=m
-CONFIG_EL16=m
-CONFIG_APRICOT=m
-CONFIG_EEXPRESS=m
-CONFIG_EEXPRESS_PRO=m
-CONFIG_LP486E=m
-CONFIG_NI52=m
-CONFIG_ZNET=m
-CONFIG_IP1000=m
-CONFIG_JME=m
-CONFIG_NET_VENDOR_MARVELL=y
-CONFIG_SKGE=m
-# CONFIG_SKGE_DEBUG is not set
-CONFIG_SKGE_GENESIS=y
-CONFIG_SKY2=m
-# CONFIG_SKY2_DEBUG is not set
-CONFIG_NET_VENDOR_MELLANOX=y
-CONFIG_MLX4_EN=m
-CONFIG_MLX4_CORE=m
-CONFIG_MLX4_DEBUG=y
-CONFIG_NET_VENDOR_MICREL=y
-CONFIG_KS8842=m
-CONFIG_KS8851_MLL=m
-CONFIG_KSZ884X_PCI=m
-CONFIG_NET_VENDOR_MYRI=y
-CONFIG_MYRI10GE=m
-CONFIG_MYRI10GE_DCA=y
-CONFIG_FEALNX=m
-CONFIG_NET_VENDOR_NATSEMI=y
-CONFIG_NATSEMI=m
-CONFIG_NS83820=m
-CONFIG_NET_VENDOR_8390=y
-CONFIG_EL2=m
-CONFIG_AC3200=m
-CONFIG_PCMCIA_AXNET=m
-CONFIG_E2100=m
-CONFIG_HPLAN_PLUS=m
-CONFIG_HPLAN=m
-CONFIG_NE2000=m
-CONFIG_NE2K_PCI=m
-CONFIG_PCMCIA_PCNET=m
-CONFIG_ULTRA=m
-CONFIG_WD80x3=m
-CONFIG_NET_VENDOR_NVIDIA=y
-CONFIG_FORCEDETH=m
-CONFIG_NET_VENDOR_OKI=y
-CONFIG_PCH_GBE=m
-CONFIG_ETHOC=m
-CONFIG_NET_PACKET_ENGINE=y
-CONFIG_HAMACHI=m
-CONFIG_YELLOWFIN=m
-CONFIG_NET_VENDOR_QLOGIC=y
-CONFIG_QLA3XXX=m
-CONFIG_QLCNIC=m
-CONFIG_QLGE=m
-CONFIG_NETXEN_NIC=m
-CONFIG_NET_VENDOR_RACAL=y
-# CONFIG_NI5010 is not set
-CONFIG_NET_VENDOR_REALTEK=y
-CONFIG_ATP=m
-CONFIG_8139CP=m
-CONFIG_8139TOO=m
-CONFIG_8139TOO_PIO=y
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-CONFIG_8139TOO_8129=y
-# CONFIG_8139_OLD_RX_RESET is not set
-CONFIG_R8169=m
-CONFIG_NET_VENDOR_RDC=y
-CONFIG_R6040=m
-CONFIG_NET_VENDOR_SEEQ=y
-CONFIG_SEEQ8005=m
-CONFIG_NET_VENDOR_SILAN=y
-CONFIG_SC92031=m
-CONFIG_NET_VENDOR_SIS=y
-CONFIG_SIS900=m
-CONFIG_SIS190=m
-CONFIG_SFC=m
-CONFIG_SFC_MTD=y
-CONFIG_NET_VENDOR_SMSC=y
-CONFIG_SMC9194=m
-CONFIG_PCMCIA_SMC91C92=m
-CONFIG_EPIC100=m
-CONFIG_SMSC9420=m
-CONFIG_NET_VENDOR_STMICRO=y
-CONFIG_STMMAC_ETH=m
-CONFIG_STMMAC_DEBUG_FS=y
-# CONFIG_STMMAC_DA is not set
-CONFIG_STMMAC_RING=y
-# CONFIG_STMMAC_CHAINED is not set
-CONFIG_NET_VENDOR_SUN=y
-CONFIG_HAPPYMEAL=m
-CONFIG_SUNGEM=m
-CONFIG_CASSINI=m
-CONFIG_NIU=m
-CONFIG_NET_VENDOR_TEHUTI=y
-CONFIG_TEHUTI=m
-CONFIG_NET_VENDOR_TI=y
-CONFIG_TLAN=m
-CONFIG_NET_VENDOR_VIA=y
-CONFIG_VIA_RHINE=m
-CONFIG_VIA_RHINE_MMIO=y
-CONFIG_VIA_VELOCITY=m
-CONFIG_NET_VENDOR_XIRCOM=y
-CONFIG_PCMCIA_XIRC2PS=m
-CONFIG_FDDI=y
-CONFIG_DEFXX=m
-# CONFIG_DEFXX_MMIO is not set
-CONFIG_SKFP=m
-CONFIG_HIPPI=y
-CONFIG_ROADRUNNER=m
-# CONFIG_ROADRUNNER_LARGE_RINGS is not set
-CONFIG_NET_SB1000=m
-CONFIG_PHYLIB=m
-
-#
-# MII PHY device drivers
-#
-CONFIG_MARVELL_PHY=m
-CONFIG_DAVICOM_PHY=m
-CONFIG_QSEMI_PHY=m
-CONFIG_LXT_PHY=m
-CONFIG_CICADA_PHY=m
-CONFIG_VITESSE_PHY=m
-CONFIG_SMSC_PHY=m
-CONFIG_BROADCOM_PHY=m
-CONFIG_ICPLUS_PHY=m
-CONFIG_REALTEK_PHY=m
-CONFIG_NATIONAL_PHY=m
-CONFIG_STE10XP=m
-CONFIG_LSI_ET1011C_PHY=m
-CONFIG_MICREL_PHY=m
-CONFIG_MDIO_BITBANG=m
-CONFIG_MDIO_GPIO=m
-CONFIG_PLIP=m
-CONFIG_PPP=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_MPPE=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPPOATM=m
-CONFIG_PPPOE=m
-CONFIG_PPTP=m
-CONFIG_PPPOL2TP=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_SLIP=m
-CONFIG_SLHC=m
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLIP_SMART=y
-# CONFIG_SLIP_MODE_SLIP6 is not set
-CONFIG_TR=y
-CONFIG_PCMCIA_IBMTR=m
-CONFIG_IBMTR=m
-CONFIG_IBMOL=m
-CONFIG_IBMLS=m
-CONFIG_3C359=m
-CONFIG_TMS380TR=m
-CONFIG_TMSPCI=m
-CONFIG_SKISA=m
-CONFIG_PROTEON=m
-CONFIG_ABYSS=m
-CONFIG_SMCTR=m
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDCETHER=m
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_NET_CDC_SUBSET=m
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_ARMLINUX=y
-# CONFIG_USB_EPSON2888 is not set
-# CONFIG_USB_KC2190 is not set
-CONFIG_USB_NET_ZAURUS=m
-CONFIG_USB_NET_CX82310_ETH=m
-CONFIG_USB_NET_KALMIA=m
-CONFIG_USB_HSO=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_VL600=m
-CONFIG_WLAN=y
-CONFIG_PCMCIA_RAYCS=m
-CONFIG_LIBERTAS_THINFIRM=m
-# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
-CONFIG_LIBERTAS_THINFIRM_USB=m
-CONFIG_AIRO=m
-CONFIG_ATMEL=m
-CONFIG_PCI_ATMEL=m
-CONFIG_PCMCIA_ATMEL=m
-CONFIG_AT76C50X_USB=m
-CONFIG_AIRO_CS=m
-CONFIG_PCMCIA_WL3501=m
-CONFIG_PRISM54=m
-CONFIG_USB_ZD1201=m
-CONFIG_USB_NET_RNDIS_WLAN=m
-CONFIG_RTL8180=m
-CONFIG_RTL8187=m
-CONFIG_RTL8187_LEDS=y
-CONFIG_ADM8211=m
-# CONFIG_MAC80211_HWSIM is not set
-CONFIG_MWL8K=m
-CONFIG_ATH_COMMON=m
-# CONFIG_ATH_DEBUG is not set
-CONFIG_ATH5K=m
-# CONFIG_ATH5K_DEBUG is not set
-# CONFIG_ATH5K_TRACER is not set
-CONFIG_ATH5K_PCI=y
-CONFIG_ATH9K_HW=m
-CONFIG_ATH9K_COMMON=m
-CONFIG_ATH9K=m
-CONFIG_ATH9K_PCI=y
-# CONFIG_ATH9K_AHB is not set
-# CONFIG_ATH9K_DEBUGFS is not set
-CONFIG_ATH9K_RATE_CONTROL=y
-CONFIG_ATH9K_HTC=m
-# CONFIG_ATH9K_HTC_DEBUGFS is not set
-CONFIG_CARL9170=m
-CONFIG_CARL9170_LEDS=y
-CONFIG_CARL9170_WPC=y
-# CONFIG_CARL9170_HWRNG is not set
-CONFIG_ATH6KL=m
-# CONFIG_ATH6KL_DEBUG is not set
-CONFIG_B43=m
-CONFIG_B43_SSB=y
-CONFIG_B43_PCI_AUTOSELECT=y
-CONFIG_B43_PCICORE_AUTOSELECT=y
-CONFIG_B43_PCMCIA=y
-CONFIG_B43_SDIO=y
-CONFIG_B43_PIO=y
-CONFIG_B43_PHY_N=y
-CONFIG_B43_PHY_LP=y
-CONFIG_B43_PHY_HT=y
-CONFIG_B43_LEDS=y
-CONFIG_B43_HWRNG=y
-# CONFIG_B43_DEBUG is not set
-CONFIG_B43LEGACY=m
-CONFIG_B43LEGACY_PCI_AUTOSELECT=y
-CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
-CONFIG_B43LEGACY_LEDS=y
-CONFIG_B43LEGACY_HWRNG=y
-# CONFIG_B43LEGACY_DEBUG is not set
-CONFIG_B43LEGACY_DMA=y
-CONFIG_B43LEGACY_PIO=y
-CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
-# CONFIG_B43LEGACY_DMA_MODE is not set
-# CONFIG_B43LEGACY_PIO_MODE is not set
-CONFIG_BRCMUTIL=m
-CONFIG_BRCMSMAC=m
-CONFIG_BRCMFMAC=m
-# CONFIG_BRCMDBG is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-CONFIG_HOSTAP_FIRMWARE_NVRAM=y
-CONFIG_HOSTAP_PLX=m
-CONFIG_HOSTAP_PCI=m
-CONFIG_HOSTAP_CS=m
-CONFIG_IPW2100=m
-CONFIG_IPW2100_MONITOR=y
-# CONFIG_IPW2100_DEBUG is not set
-CONFIG_IPW2200=m
-CONFIG_IPW2200_MONITOR=y
-CONFIG_IPW2200_RADIOTAP=y
-CONFIG_IPW2200_PROMISCUOUS=y
-CONFIG_IPW2200_QOS=y
-# CONFIG_IPW2200_DEBUG is not set
-CONFIG_LIBIPW=m
-# CONFIG_LIBIPW_DEBUG is not set
-CONFIG_IWLWIFI=m
-
-#
-# Debugging Options
-#
-# CONFIG_IWLWIFI_DEBUG is not set
-# CONFIG_IWLWIFI_DEVICE_TRACING is not set
-# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
-CONFIG_IWLWIFI_LEGACY=m
-
-#
-# Debugging Options
-#
-# CONFIG_IWLWIFI_LEGACY_DEBUG is not set
-# CONFIG_IWLWIFI_LEGACY_DEVICE_TRACING is not set
-CONFIG_IWL4965=m
-CONFIG_IWL3945=m
-CONFIG_IWM=m
-# CONFIG_IWM_DEBUG is not set
-# CONFIG_IWM_TRACING is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_CS=m
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_DEBUG is not set
-CONFIG_LIBERTAS_MESH=y
-CONFIG_HERMES=m
-# CONFIG_HERMES_PRISM is not set
-CONFIG_HERMES_CACHE_FW_ON_INIT=y
-CONFIG_PLX_HERMES=m
-CONFIG_TMD_HERMES=m
-CONFIG_NORTEL_HERMES=m
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_SPECTRUM=m
-CONFIG_ORINOCO_USB=m
-CONFIG_P54_COMMON=m
-CONFIG_P54_USB=m
-CONFIG_P54_PCI=m
-CONFIG_P54_LEDS=y
-CONFIG_RT2X00=m
-CONFIG_RT2400PCI=m
-CONFIG_RT2500PCI=m
-CONFIG_RT61PCI=m
-CONFIG_RT2800PCI=m
-CONFIG_RT2800PCI_RT33XX=y
-CONFIG_RT2800PCI_RT35XX=y
-CONFIG_RT2800PCI_RT53XX=y
-CONFIG_RT2500USB=m
-CONFIG_RT73USB=m
-CONFIG_RT2800USB=m
-CONFIG_RT2800USB_RT33XX=y
-CONFIG_RT2800USB_RT35XX=y
-CONFIG_RT2800USB_RT53XX=y
-CONFIG_RT2800USB_UNKNOWN=y
-CONFIG_RT2800_LIB=m
-CONFIG_RT2X00_LIB_PCI=m
-CONFIG_RT2X00_LIB_USB=m
-CONFIG_RT2X00_LIB=m
-CONFIG_RT2X00_LIB_FIRMWARE=y
-CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_LEDS=y
-# CONFIG_RT2X00_DEBUG is not set
-CONFIG_RTL8192CE=m
-CONFIG_RTL8192SE=m
-CONFIG_RTL8192DE=m
-CONFIG_RTL8192CU=m
-CONFIG_RTLWIFI=m
-CONFIG_RTL8192C_COMMON=m
-CONFIG_WL1251=m
-CONFIG_WL1251_SDIO=m
-CONFIG_WL12XX_MENU=m
-CONFIG_WL12XX=m
-CONFIG_WL12XX_SDIO=m
-CONFIG_WL12XX_SDIO_TEST=m
-CONFIG_WL12XX_PLATFORM_DATA=y
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_MWIFIEX_PCIE=m
-
-#
-# WiMAX Wireless Broadband devices
-#
-CONFIG_WIMAX_I2400M=m
-CONFIG_WIMAX_I2400M_USB=m
-CONFIG_WIMAX_I2400M_SDIO=m
-# CONFIG_WIMAX_IWMC3200_SDIO is not set
-CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
-CONFIG_WAN=y
-CONFIG_HOSTESS_SV11=m
-CONFIG_COSA=m
-CONFIG_LANMEDIA=m
-CONFIG_SEALEVEL_4021=m
-CONFIG_HDLC=m
-CONFIG_HDLC_RAW=m
-CONFIG_HDLC_RAW_ETH=m
-CONFIG_HDLC_CISCO=m
-CONFIG_HDLC_FR=m
-CONFIG_HDLC_PPP=m
-
-#
-# X.25/LAPB support is disabled
-#
-CONFIG_PCI200SYN=m
-CONFIG_WANXL=m
-# CONFIG_PC300TOO is not set
-CONFIG_N2=m
-CONFIG_C101=m
-CONFIG_FARSYNC=m
-CONFIG_DSCC4=m
-# CONFIG_DSCC4_PCISYNC is not set
-# CONFIG_DSCC4_PCI_RST is not set
-CONFIG_DLCI=m
-CONFIG_DLCI_MAX=8
-CONFIG_SDLA=m
-CONFIG_WAN_ROUTER_DRIVERS=m
-CONFIG_CYCLADES_SYNC=m
-CONFIG_CYCLOMX_X25=y
-CONFIG_SBNI=m
-# CONFIG_SBNI_MULTILINE is not set
-CONFIG_VMXNET3=m
-CONFIG_ISDN=y
-CONFIG_ISDN_I4L=m
-CONFIG_ISDN_PPP=y
-CONFIG_ISDN_PPP_VJ=y
-CONFIG_ISDN_MPP=y
-CONFIG_IPPP_FILTER=y
-CONFIG_ISDN_PPP_BSDCOMP=m
-CONFIG_ISDN_AUDIO=y
-CONFIG_ISDN_TTY_FAX=y
-
-#
-# ISDN feature submodules
-#
-# CONFIG_ISDN_DRV_LOOP is not set
-CONFIG_ISDN_DIVERSION=m
-
-#
-# ISDN4Linux hardware drivers
-#
-
-#
-# Passive cards
-#
-CONFIG_ISDN_DRV_HISAX=m
-
-#
-# D-channel protocol features
-#
-CONFIG_HISAX_EURO=y
-CONFIG_DE_AOC=y
-CONFIG_HISAX_NO_SENDCOMPLETE=y
-CONFIG_HISAX_NO_LLC=y
-CONFIG_HISAX_NO_KEYPAD=y
-CONFIG_HISAX_1TR6=y
-CONFIG_HISAX_NI1=y
-CONFIG_HISAX_MAX_CARDS=8
-
-#
-# HiSax supported cards
-#
-CONFIG_HISAX_16_0=y
-CONFIG_HISAX_16_3=y
-CONFIG_HISAX_TELESPCI=y
-CONFIG_HISAX_S0BOX=y
-CONFIG_HISAX_AVM_A1=y
-CONFIG_HISAX_FRITZPCI=y
-CONFIG_HISAX_AVM_A1_PCMCIA=y
-CONFIG_HISAX_ELSA=y
-CONFIG_HISAX_IX1MICROR2=y
-CONFIG_HISAX_DIEHLDIVA=y
-CONFIG_HISAX_ASUSCOM=y
-CONFIG_HISAX_TELEINT=y
-CONFIG_HISAX_HFCS=y
-CONFIG_HISAX_SEDLBAUER=y
-CONFIG_HISAX_SPORTSTER=y
-CONFIG_HISAX_MIC=y
-CONFIG_HISAX_NETJET=y
-CONFIG_HISAX_NETJET_U=y
-CONFIG_HISAX_NICCY=y
-CONFIG_HISAX_ISURF=y
-CONFIG_HISAX_HSTSAPHIR=y
-CONFIG_HISAX_BKM_A4T=y
-CONFIG_HISAX_SCT_QUADRO=y
-CONFIG_HISAX_GAZEL=y
-CONFIG_HISAX_HFC_PCI=y
-CONFIG_HISAX_W6692=y
-CONFIG_HISAX_HFC_SX=y
-CONFIG_HISAX_ENTERNOW_PCI=y
-# CONFIG_HISAX_DEBUG is not set
-
-#
-# HiSax PCMCIA card service modules
-#
-CONFIG_HISAX_SEDLBAUER_CS=m
-CONFIG_HISAX_ELSA_CS=m
-CONFIG_HISAX_AVM_A1_CS=m
-CONFIG_HISAX_TELES_CS=m
-
-#
-# HiSax sub driver modules
-#
-CONFIG_HISAX_ST5481=m
-CONFIG_HISAX_HFCUSB=m
-CONFIG_HISAX_HFC4S8S=m
-CONFIG_HISAX_FRITZ_PCIPNP=m
-
-#
-# Active cards
-#
-CONFIG_ISDN_DRV_ICN=m
-CONFIG_ISDN_DRV_PCBIT=m
-CONFIG_ISDN_DRV_SC=m
-CONFIG_ISDN_DRV_ACT2000=m
-CONFIG_ISDN_CAPI=m
-CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
-CONFIG_CAPI_TRACE=y
-CONFIG_ISDN_CAPI_MIDDLEWARE=y
-CONFIG_ISDN_CAPI_CAPI20=m
-CONFIG_ISDN_CAPI_CAPIDRV=m
-
-#
-# CAPI hardware drivers
-#
-CONFIG_CAPI_AVM=y
-CONFIG_ISDN_DRV_AVMB1_B1ISA=m
-CONFIG_ISDN_DRV_AVMB1_B1PCI=m
-CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
-CONFIG_ISDN_DRV_AVMB1_T1ISA=m
-CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
-CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
-CONFIG_ISDN_DRV_AVMB1_T1PCI=m
-CONFIG_ISDN_DRV_AVMB1_C4=m
-CONFIG_CAPI_EICON=y
-CONFIG_ISDN_DIVAS=m
-CONFIG_ISDN_DIVAS_BRIPCI=y
-CONFIG_ISDN_DIVAS_PRIPCI=y
-CONFIG_ISDN_DIVAS_DIVACAPI=m
-CONFIG_ISDN_DIVAS_USERIDI=m
-CONFIG_ISDN_DIVAS_MAINT=m
-CONFIG_ISDN_DRV_GIGASET=m
-# CONFIG_GIGASET_CAPI is not set
-CONFIG_GIGASET_I4L=y
-# CONFIG_GIGASET_DUMMYLL is not set
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_M105=m
-# CONFIG_GIGASET_M101 is not set
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_HYSDN=m
-CONFIG_HYSDN_CAPI=y
-CONFIG_MISDN=m
-CONFIG_MISDN_DSP=m
-CONFIG_MISDN_L1OIP=m
-
-#
-# mISDN hardware drivers
-#
-CONFIG_MISDN_HFCPCI=m
-CONFIG_MISDN_HFCMULTI=m
-CONFIG_MISDN_HFCUSB=m
-CONFIG_MISDN_AVMFRITZ=m
-CONFIG_MISDN_SPEEDFAX=m
-CONFIG_MISDN_INFINEON=m
-CONFIG_MISDN_W6692=m
-CONFIG_MISDN_NETJET=m
-CONFIG_MISDN_IPAC=m
-CONFIG_MISDN_ISAR=m
-CONFIG_ISDN_HDLC=m
-CONFIG_PHONE=m
-CONFIG_PHONE_IXJ=m
-CONFIG_PHONE_IXJ_PCMCIA=m
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-CONFIG_INPUT_FF_MEMLESS=y
-CONFIG_INPUT_POLLDEV=m
-CONFIG_INPUT_SPARSEKMAP=m
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-CONFIG_INPUT_JOYDEV=m
-CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-CONFIG_KEYBOARD_ADP5588=m
-CONFIG_KEYBOARD_ADP5589=m
-CONFIG_KEYBOARD_ATKBD=y
-CONFIG_KEYBOARD_QT1070=m
-CONFIG_KEYBOARD_QT2160=m
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=m
-CONFIG_KEYBOARD_GPIO_POLLED=m
-CONFIG_KEYBOARD_TCA6416=m
-CONFIG_KEYBOARD_MATRIX=m
-CONFIG_KEYBOARD_LM8323=m
-CONFIG_KEYBOARD_MAX7359=m
-CONFIG_KEYBOARD_MCS=m
-CONFIG_KEYBOARD_MPR121=m
-# CONFIG_KEYBOARD_NEWTON is not set
-CONFIG_KEYBOARD_OPENCORES=m
-CONFIG_KEYBOARD_STOWAWAY=m
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=m
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_LIFEBOOK=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-CONFIG_MOUSE_PS2_ELANTECH=y
-CONFIG_MOUSE_PS2_SENTELIC=y
-CONFIG_MOUSE_PS2_TOUCHKIT=y
-CONFIG_MOUSE_SERIAL=m
-CONFIG_MOUSE_APPLETOUCH=m
-CONFIG_MOUSE_BCM5974=m
-CONFIG_MOUSE_INPORT=m
-CONFIG_MOUSE_ATIXL=y
-CONFIG_MOUSE_LOGIBM=m
-CONFIG_MOUSE_PC110PAD=m
-CONFIG_MOUSE_VSXXXAA=m
-CONFIG_MOUSE_GPIO=m
-CONFIG_MOUSE_SYNAPTICS_I2C=m
-CONFIG_INPUT_JOYSTICK=y
-CONFIG_JOYSTICK_ANALOG=m
-CONFIG_JOYSTICK_A3D=m
-CONFIG_JOYSTICK_ADI=m
-CONFIG_JOYSTICK_COBRA=m
-CONFIG_JOYSTICK_GF2K=m
-CONFIG_JOYSTICK_GRIP=m
-CONFIG_JOYSTICK_GRIP_MP=m
-CONFIG_JOYSTICK_GUILLEMOT=m
-CONFIG_JOYSTICK_INTERACT=m
-CONFIG_JOYSTICK_SIDEWINDER=m
-CONFIG_JOYSTICK_TMDC=m
-CONFIG_JOYSTICK_IFORCE=m
-CONFIG_JOYSTICK_IFORCE_USB=y
-CONFIG_JOYSTICK_IFORCE_232=y
-CONFIG_JOYSTICK_WARRIOR=m
-CONFIG_JOYSTICK_MAGELLAN=m
-CONFIG_JOYSTICK_SPACEORB=m
-CONFIG_JOYSTICK_SPACEBALL=m
-CONFIG_JOYSTICK_STINGER=m
-CONFIG_JOYSTICK_TWIDJOY=m
-CONFIG_JOYSTICK_ZHENHUA=m
-CONFIG_JOYSTICK_DB9=m
-CONFIG_JOYSTICK_GAMECON=m
-CONFIG_JOYSTICK_TURBOGRAFX=m
-CONFIG_JOYSTICK_AS5011=m
-CONFIG_JOYSTICK_JOYDUMP=m
-CONFIG_JOYSTICK_XPAD=m
-CONFIG_JOYSTICK_XPAD_FF=y
-CONFIG_JOYSTICK_XPAD_LEDS=y
-CONFIG_JOYSTICK_WALKERA0701=m
-CONFIG_INPUT_TABLET=y
-CONFIG_TABLET_USB_ACECAD=m
-CONFIG_TABLET_USB_AIPTEK=m
-CONFIG_TABLET_USB_GTCO=m
-CONFIG_TABLET_USB_HANWANG=m
-CONFIG_TABLET_USB_KBTAB=m
-CONFIG_TABLET_USB_WACOM=m
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_AD7879=m
-CONFIG_TOUCHSCREEN_AD7879_I2C=m
-CONFIG_TOUCHSCREEN_ATMEL_MXT=m
-CONFIG_TOUCHSCREEN_BU21013=m
-CONFIG_TOUCHSCREEN_CY8CTMG110=m
-CONFIG_TOUCHSCREEN_DYNAPRO=m
-CONFIG_TOUCHSCREEN_HAMPSHIRE=m
-CONFIG_TOUCHSCREEN_EETI=m
-CONFIG_TOUCHSCREEN_FUJITSU=m
-CONFIG_TOUCHSCREEN_GUNZE=m
-CONFIG_TOUCHSCREEN_ELO=m
-CONFIG_TOUCHSCREEN_WACOM_W8001=m
-CONFIG_TOUCHSCREEN_MAX11801=m
-CONFIG_TOUCHSCREEN_MCS5000=m
-CONFIG_TOUCHSCREEN_MTOUCH=m
-CONFIG_TOUCHSCREEN_INEXIO=m
-CONFIG_TOUCHSCREEN_MK712=m
-CONFIG_TOUCHSCREEN_HTCPEN=m
-CONFIG_TOUCHSCREEN_PENMOUNT=m
-CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
-CONFIG_TOUCHSCREEN_TOUCHWIN=m
-CONFIG_TOUCHSCREEN_UCB1400=m
-CONFIG_TOUCHSCREEN_WM97XX=m
-CONFIG_TOUCHSCREEN_WM9705=y
-CONFIG_TOUCHSCREEN_WM9712=y
-CONFIG_TOUCHSCREEN_WM9713=y
-CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
-CONFIG_TOUCHSCREEN_USB_EGALAX=y
-CONFIG_TOUCHSCREEN_USB_PANJIT=y
-CONFIG_TOUCHSCREEN_USB_3M=y
-CONFIG_TOUCHSCREEN_USB_ITM=y
-CONFIG_TOUCHSCREEN_USB_ETURBO=y
-CONFIG_TOUCHSCREEN_USB_GUNZE=y
-CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
-CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
-CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
-CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
-CONFIG_TOUCHSCREEN_USB_GOTOP=y
-CONFIG_TOUCHSCREEN_USB_JASTEC=y
-CONFIG_TOUCHSCREEN_USB_E2I=y
-CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
-CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
-CONFIG_TOUCHSCREEN_USB_NEXIO=y
-CONFIG_TOUCHSCREEN_TOUCHIT213=m
-CONFIG_TOUCHSCREEN_TSC_SERIO=m
-CONFIG_TOUCHSCREEN_TSC2007=m
-CONFIG_TOUCHSCREEN_ST1232=m
-CONFIG_TOUCHSCREEN_TPS6507X=m
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_AD714X=m
-CONFIG_INPUT_AD714X_I2C=m
-CONFIG_INPUT_BMA150=m
-CONFIG_INPUT_PCSPKR=m
-CONFIG_INPUT_MMA8450=m
-CONFIG_INPUT_MPU3050=m
-CONFIG_INPUT_APANEL=m
-CONFIG_INPUT_WISTRON_BTNS=m
-CONFIG_INPUT_ATLAS_BTNS=m
-CONFIG_INPUT_ATI_REMOTE2=m
-CONFIG_INPUT_KEYSPAN_REMOTE=m
-CONFIG_INPUT_KXTJ9=m
-CONFIG_INPUT_KXTJ9_POLLED_MODE=y
-CONFIG_INPUT_POWERMATE=m
-CONFIG_INPUT_YEALINK=m
-CONFIG_INPUT_CM109=m
-CONFIG_INPUT_UINPUT=m
-CONFIG_INPUT_PCF50633_PMU=m
-CONFIG_INPUT_PCF8574=m
-CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
-CONFIG_INPUT_ADXL34X=m
-CONFIG_INPUT_ADXL34X_I2C=m
-CONFIG_INPUT_CMA3000=m
-CONFIG_INPUT_CMA3000_I2C=m
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-CONFIG_SERIO_SERPORT=m
-CONFIG_SERIO_CT82C710=m
-CONFIG_SERIO_PARKBD=m
-CONFIG_SERIO_PCIPS2=m
-CONFIG_SERIO_LIBPS2=y
-CONFIG_SERIO_RAW=m
-CONFIG_SERIO_ALTERA_PS2=m
-CONFIG_SERIO_PS2MULT=m
-CONFIG_GAMEPORT=m
-CONFIG_GAMEPORT_NS558=m
-CONFIG_GAMEPORT_L4=m
-CONFIG_GAMEPORT_EMU10K1=m
-CONFIG_GAMEPORT_FM801=m
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_VT_CONSOLE_SLEEP=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_UNIX98_PTYS=y
-CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=32
-CONFIG_SERIAL_NONSTANDARD=y
-CONFIG_ROCKETPORT=m
-CONFIG_CYCLADES=m
-# CONFIG_CYZ_INTR is not set
-CONFIG_MOXA_INTELLIO=m
-CONFIG_MOXA_SMARTIO=m
-CONFIG_SYNCLINK=m
-CONFIG_SYNCLINKMP=m
-CONFIG_SYNCLINK_GT=m
-CONFIG_NOZOMI=m
-CONFIG_ISI=m
-CONFIG_N_HDLC=m
-CONFIG_N_GSM=m
-CONFIG_TRACE_ROUTER=m
-CONFIG_TRACE_SINK=m
-CONFIG_DEVKMEM=y
-CONFIG_STALDRV=y
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_PNP=y
-CONFIG_SERIAL_8250_CS=m
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_FOURPORT=m
-CONFIG_SERIAL_8250_ACCENT=m
-CONFIG_SERIAL_8250_BOCA=m
-CONFIG_SERIAL_8250_EXAR_ST16C554=m
-CONFIG_SERIAL_8250_HUB6=m
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_8250_DETECT_IRQ=y
-CONFIG_SERIAL_8250_RSA=y
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_MFD_HSU=m
-CONFIG_SERIAL_UARTLITE=m
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_SERIAL_JSM=m
-CONFIG_SERIAL_TIMBERDALE=m
-CONFIG_SERIAL_ALTERA_JTAGUART=m
-CONFIG_SERIAL_ALTERA_UART=m
-CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
-CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
-CONFIG_SERIAL_PCH_UART=m
-CONFIG_SERIAL_XILINX_PS_UART=m
-CONFIG_PRINTER=m
-CONFIG_LP_CONSOLE=y
-CONFIG_PPDEV=m
-CONFIG_HVC_DRIVER=y
-CONFIG_VIRTIO_CONSOLE=m
-CONFIG_IPMI_HANDLER=m
-# CONFIG_IPMI_PANIC_EVENT is not set
-CONFIG_IPMI_DEVICE_INTERFACE=m
-CONFIG_IPMI_SI=m
-CONFIG_IPMI_WATCHDOG=m
-CONFIG_IPMI_POWEROFF=m
-CONFIG_HW_RANDOM=y
-CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_INTEL=m
-CONFIG_HW_RANDOM_AMD=m
-CONFIG_HW_RANDOM_GEODE=m
-CONFIG_HW_RANDOM_VIA=m
-CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_NVRAM=m
-CONFIG_DTLK=m
-CONFIG_R3964=m
-CONFIG_APPLICOM=m
-CONFIG_SONYPI=m
-
-#
-# PCMCIA character devices
-#
-CONFIG_SYNCLINK_CS=m
-CONFIG_CARDMAN_4000=m
-CONFIG_CARDMAN_4040=m
-CONFIG_IPWIRELESS=m
-CONFIG_MWAVE=m
-CONFIG_SCx200_GPIO=m
-CONFIG_PC8736x_GPIO=m
-CONFIG_NSC_GPIO=m
-CONFIG_RAW_DRIVER=m
-CONFIG_MAX_RAW_DEVS=256
-CONFIG_HPET=y
-CONFIG_HPET_MMAP=y
-CONFIG_HANGCHECK_TIMER=m
-CONFIG_TCG_TPM=m
-# CONFIG_TCG_TIS is not set
-# CONFIG_TCG_NSC is not set
-CONFIG_TCG_ATMEL=m
-# CONFIG_TCG_INFINEON is not set
-CONFIG_TELCLOCK=m
-CONFIG_DEVPORT=y
-CONFIG_RAMOOPS=m
-CONFIG_I2C=m
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=m
-CONFIG_I2C_MUX=m
-
-#
-# Multiplexer I2C Chip support
-#
-CONFIG_I2C_MUX_GPIO=m
-CONFIG_I2C_MUX_PCA9541=m
-CONFIG_I2C_MUX_PCA954x=m
-CONFIG_I2C_HELPER_AUTO=y
-CONFIG_I2C_SMBUS=m
-CONFIG_I2C_ALGOBIT=m
-CONFIG_I2C_ALGOPCA=m
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# PC SMBus host controller drivers
-#
-CONFIG_I2C_ALI1535=m
-CONFIG_I2C_ALI1563=m
-CONFIG_I2C_ALI15X3=m
-CONFIG_I2C_AMD756=m
-CONFIG_I2C_AMD756_S4882=m
-CONFIG_I2C_AMD8111=m
-CONFIG_I2C_I801=m
-CONFIG_I2C_ISCH=m
-CONFIG_I2C_PIIX4=m
-CONFIG_I2C_NFORCE2=m
-CONFIG_I2C_NFORCE2_S4985=m
-CONFIG_I2C_SIS5595=m
-CONFIG_I2C_SIS630=m
-CONFIG_I2C_SIS96X=m
-CONFIG_I2C_VIA=m
-CONFIG_I2C_VIAPRO=m
-
-#
-# ACPI drivers
-#
-CONFIG_I2C_SCMI=m
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-CONFIG_I2C_DESIGNWARE_PCI=m
-CONFIG_I2C_GPIO=m
-CONFIG_I2C_INTEL_MID=m
-CONFIG_I2C_OCORES=m
-CONFIG_I2C_PCA_PLATFORM=m
-# CONFIG_I2C_PXA_PCI is not set
-CONFIG_I2C_SIMTEC=m
-CONFIG_I2C_XILINX=m
-CONFIG_I2C_EG20T=m
-
-#
-# External I2C/SMBus adapter drivers
-#
-CONFIG_I2C_DIOLAN_U2C=m
-CONFIG_I2C_PARPORT=m
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_TAOS_EVM=m
-CONFIG_I2C_TINY_USB=m
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_ELEKTOR is not set
-CONFIG_I2C_PCA_ISA=m
-CONFIG_I2C_STUB=m
-CONFIG_SCx200_I2C=m
-CONFIG_SCx200_I2C_SCL=12
-CONFIG_SCx200_I2C_SDA=13
-CONFIG_SCx200_ACB=m
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_SPI is not set
-
-#
-# PPS support
-#
-CONFIG_PPS=m
-# CONFIG_PPS_DEBUG is not set
-# CONFIG_NTP_PPS is not set
-
-#
-# PPS clients support
-#
-# CONFIG_PPS_CLIENT_KTIMER is not set
-CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
-CONFIG_PPS_CLIENT_GPIO=m
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-CONFIG_PTP_1588_CLOCK=m
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_DEBUG_GPIO is not set
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_GENERIC=m
-CONFIG_GPIO_MAX730X=m
-
-#
-# Memory mapped GPIO drivers:
-#
-CONFIG_GPIO_GENERIC_PLATFORM=m
-CONFIG_GPIO_IT8761E=m
-CONFIG_GPIO_SCH=m
-CONFIG_GPIO_VX855=m
-
-#
-# I2C GPIO expanders:
-#
-CONFIG_GPIO_MAX7300=m
-CONFIG_GPIO_MAX732X=m
-CONFIG_GPIO_PCA953X=m
-CONFIG_GPIO_PCF857X=m
-CONFIG_GPIO_ADP5588=m
-
-#
-# PCI GPIO expanders:
-#
-CONFIG_GPIO_CS5535=m
-# CONFIG_GPIO_LANGWELL is not set
-CONFIG_GPIO_PCH=m
-CONFIG_GPIO_ML_IOH=m
-# CONFIG_GPIO_TIMBERDALE is not set
-CONFIG_GPIO_RDC321X=m
-
-#
-# SPI GPIO expanders:
-#
-CONFIG_GPIO_MCP23S08=m
-
-#
-# AC97 GPIO expanders:
-#
-# CONFIG_GPIO_UCB1400 is not set
-
-#
-# MODULbus GPIO expanders:
-#
-CONFIG_GPIO_JANZ_TTL=m
-CONFIG_W1=m
-CONFIG_W1_CON=y
-
-#
-# 1-wire Bus Masters
-#
-CONFIG_W1_MASTER_MATROX=m
-CONFIG_W1_MASTER_DS2490=m
-CONFIG_W1_MASTER_DS2482=m
-CONFIG_W1_MASTER_DS1WM=m
-CONFIG_W1_MASTER_GPIO=m
-
-#
-# 1-wire Slaves
-#
-CONFIG_W1_SLAVE_THERM=m
-CONFIG_W1_SLAVE_SMEM=m
-CONFIG_W1_SLAVE_DS2408=m
-CONFIG_W1_SLAVE_DS2423=m
-CONFIG_W1_SLAVE_DS2431=m
-CONFIG_W1_SLAVE_DS2433=m
-CONFIG_W1_SLAVE_DS2433_CRC=y
-CONFIG_W1_SLAVE_DS2760=m
-CONFIG_W1_SLAVE_DS2780=m
-CONFIG_W1_SLAVE_BQ27000=m
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=m
-CONFIG_TEST_POWER=m
-CONFIG_BATTERY_DS2760=m
-CONFIG_BATTERY_DS2780=m
-CONFIG_BATTERY_DS2782=m
-CONFIG_BATTERY_BQ20Z75=m
-CONFIG_BATTERY_BQ27x00=m
-CONFIG_BATTERY_BQ27X00_I2C=y
-CONFIG_BATTERY_BQ27X00_PLATFORM=y
-CONFIG_BATTERY_MAX17040=m
-CONFIG_BATTERY_MAX17042=m
-CONFIG_CHARGER_PCF50633=m
-CONFIG_CHARGER_ISP1704=m
-CONFIG_CHARGER_MAX8903=m
-CONFIG_CHARGER_GPIO=m
-CONFIG_HWMON=m
-CONFIG_HWMON_VID=m
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-CONFIG_SENSORS_ABITUGURU=m
-CONFIG_SENSORS_ABITUGURU3=m
-CONFIG_SENSORS_AD7414=m
-CONFIG_SENSORS_AD7418=m
-CONFIG_SENSORS_ADM1021=m
-CONFIG_SENSORS_ADM1025=m
-CONFIG_SENSORS_ADM1026=m
-CONFIG_SENSORS_ADM1029=m
-CONFIG_SENSORS_ADM1031=m
-CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADT7411=m
-CONFIG_SENSORS_ADT7462=m
-CONFIG_SENSORS_ADT7470=m
-CONFIG_SENSORS_ADT7475=m
-CONFIG_SENSORS_ASC7621=m
-CONFIG_SENSORS_K8TEMP=m
-CONFIG_SENSORS_K10TEMP=m
-CONFIG_SENSORS_FAM15H_POWER=m
-CONFIG_SENSORS_ASB100=m
-CONFIG_SENSORS_ATXP1=m
-CONFIG_SENSORS_DS620=m
-CONFIG_SENSORS_DS1621=m
-CONFIG_SENSORS_I5K_AMB=m
-CONFIG_SENSORS_F71805F=m
-CONFIG_SENSORS_F71882FG=m
-CONFIG_SENSORS_F75375S=m
-CONFIG_SENSORS_FSCHMD=m
-CONFIG_SENSORS_G760A=m
-CONFIG_SENSORS_GL518SM=m
-CONFIG_SENSORS_GL520SM=m
-CONFIG_SENSORS_GPIO_FAN=m
-CONFIG_SENSORS_CORETEMP=m
-CONFIG_SENSORS_IBMAEM=m
-CONFIG_SENSORS_IBMPEX=m
-CONFIG_SENSORS_IT87=m
-CONFIG_SENSORS_JC42=m
-CONFIG_SENSORS_LINEAGE=m
-CONFIG_SENSORS_LM63=m
-CONFIG_SENSORS_LM73=m
-CONFIG_SENSORS_LM75=m
-CONFIG_SENSORS_LM77=m
-CONFIG_SENSORS_LM78=m
-CONFIG_SENSORS_LM80=m
-CONFIG_SENSORS_LM83=m
-CONFIG_SENSORS_LM85=m
-CONFIG_SENSORS_LM87=m
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_LM92=m
-CONFIG_SENSORS_LM93=m
-CONFIG_SENSORS_LTC4151=m
-CONFIG_SENSORS_LTC4215=m
-CONFIG_SENSORS_LTC4245=m
-CONFIG_SENSORS_LTC4261=m
-CONFIG_SENSORS_LM95241=m
-CONFIG_SENSORS_LM95245=m
-CONFIG_SENSORS_MAX16065=m
-CONFIG_SENSORS_MAX1619=m
-CONFIG_SENSORS_MAX1668=m
-CONFIG_SENSORS_MAX6639=m
-CONFIG_SENSORS_MAX6642=m
-CONFIG_SENSORS_MAX6650=m
-CONFIG_SENSORS_NTC_THERMISTOR=m
-CONFIG_SENSORS_PC87360=m
-CONFIG_SENSORS_PC87427=m
-CONFIG_SENSORS_PCF8591=m
-CONFIG_PMBUS=m
-CONFIG_SENSORS_PMBUS=m
-CONFIG_SENSORS_ADM1275=m
-CONFIG_SENSORS_LM25066=m
-CONFIG_SENSORS_LTC2978=m
-CONFIG_SENSORS_MAX16064=m
-CONFIG_SENSORS_MAX34440=m
-CONFIG_SENSORS_MAX8688=m
-CONFIG_SENSORS_UCD9000=m
-CONFIG_SENSORS_UCD9200=m
-CONFIG_SENSORS_ZL6100=m
-CONFIG_SENSORS_SHT15=m
-CONFIG_SENSORS_SHT21=m
-CONFIG_SENSORS_SIS5595=m
-CONFIG_SENSORS_SMM665=m
-CONFIG_SENSORS_DME1737=m
-CONFIG_SENSORS_EMC1403=m
-CONFIG_SENSORS_EMC2103=m
-CONFIG_SENSORS_EMC6W201=m
-CONFIG_SENSORS_SMSC47M1=m
-CONFIG_SENSORS_SMSC47M192=m
-CONFIG_SENSORS_SMSC47B397=m
-CONFIG_SENSORS_SCH56XX_COMMON=m
-CONFIG_SENSORS_SCH5627=m
-CONFIG_SENSORS_SCH5636=m
-CONFIG_SENSORS_ADS1015=m
-CONFIG_SENSORS_ADS7828=m
-CONFIG_SENSORS_AMC6821=m
-CONFIG_SENSORS_THMC50=m
-CONFIG_SENSORS_TMP102=m
-CONFIG_SENSORS_TMP401=m
-CONFIG_SENSORS_TMP421=m
-CONFIG_SENSORS_VIA_CPUTEMP=m
-CONFIG_SENSORS_VIA686A=m
-CONFIG_SENSORS_VT1211=m
-CONFIG_SENSORS_VT8231=m
-CONFIG_SENSORS_W83781D=m
-CONFIG_SENSORS_W83791D=m
-CONFIG_SENSORS_W83792D=m
-CONFIG_SENSORS_W83793=m
-CONFIG_SENSORS_W83795=m
-# CONFIG_SENSORS_W83795_FANCTRL is not set
-CONFIG_SENSORS_W83L785TS=m
-CONFIG_SENSORS_W83L786NG=m
-CONFIG_SENSORS_W83627HF=m
-CONFIG_SENSORS_W83627EHF=m
-CONFIG_SENSORS_APPLESMC=m
-
-#
-# ACPI drivers
-#
-CONFIG_SENSORS_ACPI_POWER=m
-CONFIG_SENSORS_ATK0110=m
-CONFIG_THERMAL=m
-CONFIG_THERMAL_HWMON=y
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_CORE=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-CONFIG_SOFT_WATCHDOG=m
-CONFIG_ACQUIRE_WDT=m
-CONFIG_ADVANTECH_WDT=m
-CONFIG_ALIM1535_WDT=m
-CONFIG_ALIM7101_WDT=m
-CONFIG_F71808E_WDT=m
-CONFIG_SP5100_TCO=m
-CONFIG_GEODE_WDT=m
-CONFIG_SC520_WDT=m
-CONFIG_SBC_FITPC2_WATCHDOG=m
-CONFIG_EUROTECH_WDT=m
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
-CONFIG_WAFER_WDT=m
-CONFIG_I6300ESB_WDT=m
-CONFIG_ITCO_WDT=m
-CONFIG_ITCO_VENDOR_SUPPORT=y
-CONFIG_IT8712F_WDT=m
-CONFIG_IT87_WDT=m
-CONFIG_HP_WATCHDOG=m
-CONFIG_HPWDT_NMI_DECODING=y
-CONFIG_SC1200_WDT=m
-CONFIG_SCx200_WDT=m
-CONFIG_PC87413_WDT=m
-CONFIG_NV_TCO=m
-CONFIG_60XX_WDT=m
-CONFIG_SBC8360_WDT=m
-CONFIG_SBC7240_WDT=m
-CONFIG_CPU5_WDT=m
-CONFIG_SMSC_SCH311X_WDT=m
-CONFIG_SMSC37B787_WDT=m
-CONFIG_W83627HF_WDT=m
-CONFIG_W83697HF_WDT=m
-CONFIG_W83697UG_WDT=m
-CONFIG_W83877F_WDT=m
-CONFIG_W83977F_WDT=m
-CONFIG_MACHZ_WDT=m
-CONFIG_SBC_EPX_C3_WATCHDOG=m
-
-#
-# ISA-based Watchdog Cards
-#
-CONFIG_PCWATCHDOG=m
-CONFIG_MIXCOMWD=m
-CONFIG_WDT=m
-
-#
-# PCI-based Watchdog Cards
-#
-CONFIG_PCIPCWATCHDOG=m
-CONFIG_WDTPCI=m
-
-#
-# USB-based Watchdog Cards
-#
-CONFIG_USBPCWATCHDOG=m
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-CONFIG_SSB=m
-CONFIG_SSB_SPROM=y
-CONFIG_SSB_BLOCKIO=y
-CONFIG_SSB_PCIHOST_POSSIBLE=y
-CONFIG_SSB_PCIHOST=y
-CONFIG_SSB_B43_PCI_BRIDGE=y
-CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
-CONFIG_SSB_PCMCIAHOST=y
-CONFIG_SSB_SDIOHOST_POSSIBLE=y
-CONFIG_SSB_SDIOHOST=y
-# CONFIG_SSB_DEBUG is not set
-CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
-CONFIG_SSB_DRIVER_PCICORE=y
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-# CONFIG_BCMA is not set
-
-#
-# Multifunction device drivers
-#
-CONFIG_MFD_CORE=m
-# CONFIG_MFD_SM501 is not set
-CONFIG_HTC_PASIC3=m
-CONFIG_UCB1400_CORE=m
-CONFIG_TPS6105X=m
-CONFIG_TPS65010=m
-CONFIG_TPS6507X=m
-# CONFIG_MFD_TMIO is not set
-CONFIG_MFD_WM8400=m
-CONFIG_MFD_PCF50633=m
-CONFIG_PCF50633_ADC=m
-CONFIG_PCF50633_GPIO=m
-# CONFIG_ABX500_CORE is not set
-CONFIG_MFD_CS5535=m
-CONFIG_MFD_TIMBERDALE=m
-CONFIG_LPC_SCH=m
-CONFIG_MFD_RDC321X=m
-CONFIG_MFD_JANZ_CMODIO=m
-CONFIG_MFD_VX855=m
-CONFIG_MFD_WL1273_CORE=m
-CONFIG_REGULATOR=y
-# CONFIG_REGULATOR_DEBUG is not set
-# CONFIG_REGULATOR_DUMMY is not set
-CONFIG_REGULATOR_FIXED_VOLTAGE=m
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-CONFIG_REGULATOR_USERSPACE_CONSUMER=m
-CONFIG_REGULATOR_GPIO=m
-CONFIG_REGULATOR_BQ24022=m
-CONFIG_REGULATOR_MAX1586=m
-CONFIG_REGULATOR_MAX8649=m
-CONFIG_REGULATOR_MAX8660=m
-CONFIG_REGULATOR_MAX8952=m
-CONFIG_REGULATOR_WM8400=m
-CONFIG_REGULATOR_PCF50633=m
-CONFIG_REGULATOR_LP3971=m
-CONFIG_REGULATOR_LP3972=m
-CONFIG_REGULATOR_TPS6105X=m
-CONFIG_REGULATOR_TPS65023=m
-CONFIG_REGULATOR_TPS6507X=m
-CONFIG_REGULATOR_ISL6271A=m
-CONFIG_REGULATOR_AD5398=m
-CONFIG_MEDIA_SUPPORT=m
-
-#
-# Multimedia core support
-#
-# CONFIG_MEDIA_CONTROLLER is not set
-CONFIG_VIDEO_DEV=m
-CONFIG_VIDEO_V4L2_COMMON=m
-CONFIG_DVB_CORE=m
-CONFIG_DVB_NET=y
-CONFIG_VIDEO_MEDIA=m
-
-#
-# Multimedia drivers
-#
-CONFIG_VIDEO_SAA7146=m
-CONFIG_VIDEO_SAA7146_VV=m
-CONFIG_RC_CORE=m
-CONFIG_LIRC=m
-CONFIG_RC_MAP=m
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_RC5_SZ_DECODER=m
-CONFIG_IR_MCE_KBD_DECODER=m
-CONFIG_IR_LIRC_CODEC=m
-CONFIG_RC_ATI_REMOTE=m
-CONFIG_IR_ENE=m
-CONFIG_IR_IMON=m
-CONFIG_IR_MCEUSB=m
-CONFIG_IR_ITE_CIR=m
-CONFIG_IR_FINTEK=m
-CONFIG_IR_NUVOTON=m
-CONFIG_IR_REDRAT3=m
-CONFIG_IR_STREAMZAP=m
-CONFIG_IR_WINBOND_CIR=m
-CONFIG_RC_LOOPBACK=m
-CONFIG_MEDIA_ATTACH=y
-CONFIG_MEDIA_TUNER=m
-# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
-CONFIG_MEDIA_TUNER_SIMPLE=m
-CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA827X=m
-CONFIG_MEDIA_TUNER_TDA18271=m
-CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_MEDIA_TUNER_TEA5761=m
-CONFIG_MEDIA_TUNER_TEA5767=m
-CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_MT2060=m
-CONFIG_MEDIA_TUNER_MT2266=m
-CONFIG_MEDIA_TUNER_MT2131=m
-CONFIG_MEDIA_TUNER_QT1010=m
-CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_MEDIA_TUNER_XC5000=m
-CONFIG_MEDIA_TUNER_XC4000=m
-CONFIG_MEDIA_TUNER_MXL5005S=m
-CONFIG_MEDIA_TUNER_MXL5007T=m
-CONFIG_MEDIA_TUNER_MC44S803=m
-CONFIG_MEDIA_TUNER_MAX2165=m
-CONFIG_MEDIA_TUNER_TDA18218=m
-CONFIG_MEDIA_TUNER_TDA18212=m
-CONFIG_VIDEO_V4L2=m
-CONFIG_VIDEOBUF_GEN=m
-CONFIG_VIDEOBUF_DMA_SG=m
-CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEOBUF_DMA_CONTIG=m
-CONFIG_VIDEOBUF_DVB=m
-CONFIG_VIDEO_BTCX=m
-CONFIG_VIDEO_TVEEPROM=m
-CONFIG_VIDEO_TUNER=m
-CONFIG_V4L2_MEM2MEM_DEV=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_DMA_CONTIG=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
-CONFIG_VIDEO_IR_I2C=m
-
-#
-# Encoders, decoders, sensors and other helper chips
-#
-
-#
-# Audio decoders, processors and mixers
-#
-CONFIG_VIDEO_TVAUDIO=m
-CONFIG_VIDEO_TDA7432=m
-CONFIG_VIDEO_TDA9840=m
-CONFIG_VIDEO_TEA6415C=m
-CONFIG_VIDEO_TEA6420=m
-CONFIG_VIDEO_MSP3400=m
-CONFIG_VIDEO_CS5345=m
-CONFIG_VIDEO_CS53L32A=m
-CONFIG_VIDEO_TLV320AIC23B=m
-CONFIG_VIDEO_WM8775=m
-CONFIG_VIDEO_WM8739=m
-CONFIG_VIDEO_VP27SMPX=m
-
-#
-# RDS decoders
-#
-CONFIG_VIDEO_SAA6588=m
-
-#
-# Video decoders
-#
-CONFIG_VIDEO_ADV7180=m
-CONFIG_VIDEO_BT819=m
-CONFIG_VIDEO_BT856=m
-CONFIG_VIDEO_BT866=m
-CONFIG_VIDEO_KS0127=m
-CONFIG_VIDEO_SAA7110=m
-CONFIG_VIDEO_SAA711X=m
-CONFIG_VIDEO_SAA7191=m
-CONFIG_VIDEO_TVP514X=m
-CONFIG_VIDEO_TVP5150=m
-CONFIG_VIDEO_TVP7002=m
-CONFIG_VIDEO_VPX3220=m
-
-#
-# Video and audio decoders
-#
-CONFIG_VIDEO_SAA717X=m
-CONFIG_VIDEO_CX25840=m
-
-#
-# MPEG video encoders
-#
-CONFIG_VIDEO_CX2341X=m
-
-#
-# Video encoders
-#
-CONFIG_VIDEO_SAA7127=m
-CONFIG_VIDEO_SAA7185=m
-CONFIG_VIDEO_ADV7170=m
-CONFIG_VIDEO_ADV7175=m
-CONFIG_VIDEO_ADV7343=m
-CONFIG_VIDEO_AK881X=m
-
-#
-# Camera sensor devices
-#
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9V011=m
-CONFIG_VIDEO_TCM825X=m
-CONFIG_VIDEO_SR030PC30=m
-
-#
-# Flash devices
-#
-
-#
-# Video improvement chips
-#
-CONFIG_VIDEO_UPD64031A=m
-CONFIG_VIDEO_UPD64083=m
-
-#
-# Miscelaneous helper chips
-#
-CONFIG_VIDEO_THS7303=m
-CONFIG_VIDEO_M52790=m
-CONFIG_VIDEO_VIVI=m
-CONFIG_VIDEO_BT848=m
-CONFIG_VIDEO_BT848_DVB=y
-CONFIG_VIDEO_PMS=m
-CONFIG_VIDEO_BWQCAM=m
-CONFIG_VIDEO_CQCAM=m
-CONFIG_VIDEO_W9966=m
-CONFIG_VIDEO_CPIA2=m
-CONFIG_VIDEO_ZORAN=m
-CONFIG_VIDEO_ZORAN_DC30=m
-CONFIG_VIDEO_ZORAN_ZR36060=m
-CONFIG_VIDEO_ZORAN_BUZ=m
-CONFIG_VIDEO_ZORAN_DC10=m
-CONFIG_VIDEO_ZORAN_LML33=m
-CONFIG_VIDEO_ZORAN_LML33R10=m
-CONFIG_VIDEO_ZORAN_AVS6EYES=m
-CONFIG_VIDEO_MEYE=m
-CONFIG_VIDEO_SAA7134=m
-CONFIG_VIDEO_SAA7134_ALSA=m
-CONFIG_VIDEO_SAA7134_RC=y
-CONFIG_VIDEO_SAA7134_DVB=m
-CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_HEXIUM_ORION=m
-CONFIG_VIDEO_HEXIUM_GEMINI=m
-CONFIG_VIDEO_TIMBERDALE=m
-CONFIG_VIDEO_CX88=m
-CONFIG_VIDEO_CX88_ALSA=m
-CONFIG_VIDEO_CX88_BLACKBIRD=m
-CONFIG_VIDEO_CX88_DVB=m
-CONFIG_VIDEO_CX88_MPEG=m
-CONFIG_VIDEO_CX88_VP3054=m
-CONFIG_VIDEO_CX23885=m
-CONFIG_MEDIA_ALTERA_CI=m
-CONFIG_VIDEO_CX25821=m
-CONFIG_VIDEO_CX25821_ALSA=m
-CONFIG_VIDEO_AU0828=m
-CONFIG_VIDEO_IVTV=m
-CONFIG_VIDEO_FB_IVTV=m
-CONFIG_VIDEO_CX18=m
-CONFIG_VIDEO_CX18_ALSA=m
-CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_CAFE_CCIC=m
-CONFIG_VIDEO_VIA_CAMERA=m
-CONFIG_SOC_CAMERA=m
-CONFIG_SOC_CAMERA_IMX074=m
-CONFIG_SOC_CAMERA_MT9M001=m
-CONFIG_SOC_CAMERA_MT9M111=m
-CONFIG_SOC_CAMERA_MT9T031=m
-CONFIG_SOC_CAMERA_MT9T112=m
-CONFIG_SOC_CAMERA_MT9V022=m
-CONFIG_SOC_CAMERA_RJ54N1=m
-CONFIG_SOC_CAMERA_TW9910=m
-CONFIG_SOC_CAMERA_PLATFORM=m
-CONFIG_SOC_CAMERA_OV2640=m
-CONFIG_SOC_CAMERA_OV5642=m
-CONFIG_SOC_CAMERA_OV6650=m
-CONFIG_SOC_CAMERA_OV772X=m
-CONFIG_SOC_CAMERA_OV9640=m
-CONFIG_SOC_CAMERA_OV9740=m
-CONFIG_V4L_USB_DRIVERS=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-CONFIG_USB_GSPCA=m
-CONFIG_USB_M5602=m
-CONFIG_USB_STV06XX=m
-CONFIG_USB_GL860=m
-CONFIG_USB_GSPCA_BENQ=m
-CONFIG_USB_GSPCA_CONEX=m
-CONFIG_USB_GSPCA_CPIA1=m
-CONFIG_USB_GSPCA_ETOMS=m
-CONFIG_USB_GSPCA_FINEPIX=m
-CONFIG_USB_GSPCA_JEILINJ=m
-CONFIG_USB_GSPCA_KINECT=m
-CONFIG_USB_GSPCA_KONICA=m
-CONFIG_USB_GSPCA_MARS=m
-CONFIG_USB_GSPCA_MR97310A=m
-CONFIG_USB_GSPCA_NW80X=m
-CONFIG_USB_GSPCA_OV519=m
-CONFIG_USB_GSPCA_OV534=m
-CONFIG_USB_GSPCA_OV534_9=m
-CONFIG_USB_GSPCA_PAC207=m
-CONFIG_USB_GSPCA_PAC7302=m
-CONFIG_USB_GSPCA_PAC7311=m
-CONFIG_USB_GSPCA_SE401=m
-CONFIG_USB_GSPCA_SN9C2028=m
-CONFIG_USB_GSPCA_SN9C20X=m
-CONFIG_USB_GSPCA_SONIXB=m
-CONFIG_USB_GSPCA_SONIXJ=m
-CONFIG_USB_GSPCA_SPCA500=m
-CONFIG_USB_GSPCA_SPCA501=m
-CONFIG_USB_GSPCA_SPCA505=m
-CONFIG_USB_GSPCA_SPCA506=m
-CONFIG_USB_GSPCA_SPCA508=m
-CONFIG_USB_GSPCA_SPCA561=m
-CONFIG_USB_GSPCA_SPCA1528=m
-CONFIG_USB_GSPCA_SQ905=m
-CONFIG_USB_GSPCA_SQ905C=m
-CONFIG_USB_GSPCA_SQ930X=m
-CONFIG_USB_GSPCA_STK014=m
-CONFIG_USB_GSPCA_STV0680=m
-CONFIG_USB_GSPCA_SUNPLUS=m
-CONFIG_USB_GSPCA_T613=m
-CONFIG_USB_GSPCA_TOPRO=m
-CONFIG_USB_GSPCA_TV8532=m
-CONFIG_USB_GSPCA_VC032X=m
-CONFIG_USB_GSPCA_VICAM=m
-CONFIG_USB_GSPCA_XIRLINK_CIT=m
-CONFIG_USB_GSPCA_ZC3XX=m
-CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_PVRUSB2_SYSFS=y
-CONFIG_VIDEO_PVRUSB2_DVB=y
-# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
-CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_EM28XX_RC=y
-CONFIG_VIDEO_TLG2300=m
-CONFIG_VIDEO_CX231XX=m
-CONFIG_VIDEO_CX231XX_RC=y
-CONFIG_VIDEO_CX231XX_ALSA=m
-CONFIG_VIDEO_CX231XX_DVB=m
-CONFIG_VIDEO_TM6000=m
-CONFIG_VIDEO_TM6000_ALSA=m
-CONFIG_VIDEO_TM6000_DVB=m
-CONFIG_VIDEO_USBVISION=m
-CONFIG_USB_ET61X251=m
-CONFIG_USB_SN9C102=m
-CONFIG_USB_PWC=m
-# CONFIG_USB_PWC_DEBUG is not set
-CONFIG_USB_PWC_INPUT_EVDEV=y
-CONFIG_USB_ZR364XX=m
-CONFIG_USB_STKWEBCAM=m
-CONFIG_USB_S2255=m
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_MEM2MEM_TESTDEV=m
-CONFIG_RADIO_ADAPTERS=y
-CONFIG_RADIO_CADET=m
-CONFIG_RADIO_RTRACK=m
-CONFIG_RADIO_RTRACK2=m
-CONFIG_RADIO_AZTECH=m
-CONFIG_RADIO_GEMTEK=m
-CONFIG_RADIO_MAXIRADIO=m
-CONFIG_RADIO_MIROPCM20=m
-CONFIG_RADIO_SF16FMI=m
-CONFIG_RADIO_SF16FMR2=m
-CONFIG_RADIO_TERRATEC=m
-CONFIG_RADIO_TRUST=m
-CONFIG_RADIO_TYPHOON=m
-CONFIG_RADIO_ZOLTRIX=m
-CONFIG_I2C_SI4713=m
-CONFIG_RADIO_SI4713=m
-CONFIG_USB_DSBR=m
-# CONFIG_RADIO_SI470X is not set
-CONFIG_USB_MR800=m
-CONFIG_RADIO_TEA5764=m
-CONFIG_RADIO_SAA7706H=m
-CONFIG_RADIO_TEF6862=m
-CONFIG_RADIO_TIMBERDALE=m
-CONFIG_RADIO_WL1273=m
-
-#
-# Texas Instruments WL128x FM driver (ST based)
-#
-CONFIG_RADIO_WL128X=m
-CONFIG_DVB_MAX_ADAPTERS=8
-# CONFIG_DVB_DYNAMIC_MINORS is not set
-CONFIG_DVB_CAPTURE_DRIVERS=y
-
-#
-# Supported SAA7146 based PCI Adapters
-#
-CONFIG_TTPCI_EEPROM=m
-CONFIG_DVB_AV7110=m
-CONFIG_DVB_AV7110_OSD=y
-CONFIG_DVB_BUDGET_CORE=m
-CONFIG_DVB_BUDGET=m
-CONFIG_DVB_BUDGET_CI=m
-CONFIG_DVB_BUDGET_AV=m
-CONFIG_DVB_BUDGET_PATCH=m
-
-#
-# Supported USB Adapters
-#
-CONFIG_DVB_USB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_DIBUSB_MB=m
-# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIB0700=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_CXUSB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-CONFIG_DVB_USB_PCTV452E=m
-CONFIG_DVB_USB_DW2102=m
-CONFIG_DVB_USB_CINERGY_T2=m
-CONFIG_DVB_USB_ANYSEE=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_USB_AF9015=m
-CONFIG_DVB_USB_CE6230=m
-CONFIG_DVB_USB_FRIIO=m
-CONFIG_DVB_USB_EC168=m
-CONFIG_DVB_USB_AZ6027=m
-CONFIG_DVB_USB_LME2510=m
-CONFIG_DVB_USB_TECHNISAT_USB2=m
-CONFIG_DVB_USB_IT913X=m
-CONFIG_DVB_USB_MXL111SF=m
-CONFIG_DVB_TTUSB_BUDGET=m
-CONFIG_DVB_TTUSB_DEC=m
-CONFIG_SMS_SIANO_MDTV=m
-
-#
-# Siano module components
-#
-CONFIG_SMS_USB_DRV=m
-CONFIG_SMS_SDIO_DRV=m
-
-#
-# Supported FlexCopII (B2C2) Adapters
-#
-CONFIG_DVB_B2C2_FLEXCOP=m
-CONFIG_DVB_B2C2_FLEXCOP_PCI=m
-CONFIG_DVB_B2C2_FLEXCOP_USB=m
-# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
-
-#
-# Supported BT878 Adapters
-#
-CONFIG_DVB_BT8XX=m
-
-#
-# Supported Pluto2 Adapters
-#
-CONFIG_DVB_PLUTO2=m
-
-#
-# Supported SDMC DM1105 Adapters
-#
-CONFIG_DVB_DM1105=m
-
-#
-# Supported FireWire (IEEE 1394) Adapters
-#
-CONFIG_DVB_FIREDTV=m
-CONFIG_DVB_FIREDTV_INPUT=y
-
-#
-# Supported Earthsoft PT1 Adapters
-#
-CONFIG_DVB_PT1=m
-
-#
-# Supported Mantis Adapters
-#
-CONFIG_MANTIS_CORE=m
-CONFIG_DVB_MANTIS=m
-CONFIG_DVB_HOPPER=m
-
-#
-# Supported nGene Adapters
-#
-CONFIG_DVB_NGENE=m
-
-#
-# Supported ddbridge ('Octopus') Adapters
-#
-CONFIG_DVB_DDBRIDGE=m
-
-#
-# Supported DVB Frontends
-#
-CONFIG_DVB_FE_CUSTOMISE=y
-
-#
-# Customise DVB Frontends
-#
-
-#
-# Multistandard (satellite) frontends
-#
-CONFIG_DVB_STB0899=m
-CONFIG_DVB_STB6100=m
-CONFIG_DVB_STV090x=m
-CONFIG_DVB_STV6110x=m
-
-#
-# Multistandard (cable + terrestrial) frontends
-#
-CONFIG_DVB_DRXK=m
-CONFIG_DVB_TDA18271C2DD=m
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_CX24110=m
-CONFIG_DVB_CX24123=m
-CONFIG_DVB_MT312=m
-CONFIG_DVB_ZL10036=m
-CONFIG_DVB_ZL10039=m
-CONFIG_DVB_S5H1420=m
-CONFIG_DVB_STV0288=m
-CONFIG_DVB_STB6000=m
-CONFIG_DVB_STV0299=m
-CONFIG_DVB_STV6110=m
-CONFIG_DVB_STV0900=m
-CONFIG_DVB_TDA8083=m
-CONFIG_DVB_TDA10086=m
-CONFIG_DVB_TDA8261=m
-CONFIG_DVB_VES1X93=m
-CONFIG_DVB_TUNER_ITD1000=m
-CONFIG_DVB_TUNER_CX24113=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_TUA6100=m
-CONFIG_DVB_CX24116=m
-CONFIG_DVB_SI21XX=m
-CONFIG_DVB_DS3000=m
-CONFIG_DVB_MB86A16=m
-CONFIG_DVB_TDA10071=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_SP8870=m
-CONFIG_DVB_SP887X=m
-CONFIG_DVB_CX22700=m
-CONFIG_DVB_CX22702=m
-CONFIG_DVB_S5H1432=m
-CONFIG_DVB_DRXD=m
-CONFIG_DVB_L64781=m
-CONFIG_DVB_TDA1004X=m
-CONFIG_DVB_NXT6000=m
-CONFIG_DVB_MT352=m
-CONFIG_DVB_ZL10353=m
-CONFIG_DVB_DIB3000MB=m
-CONFIG_DVB_DIB3000MC=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_DVB_DIB7000P=m
-CONFIG_DVB_DIB9000=m
-CONFIG_DVB_TDA10048=m
-CONFIG_DVB_AF9013=m
-CONFIG_DVB_EC100=m
-CONFIG_DVB_STV0367=m
-CONFIG_DVB_CXD2820R=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_VES1820=m
-CONFIG_DVB_TDA10021=m
-CONFIG_DVB_TDA10023=m
-CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
-CONFIG_DVB_NXT200X=m
-CONFIG_DVB_OR51211=m
-CONFIG_DVB_OR51132=m
-CONFIG_DVB_BCM3510=m
-CONFIG_DVB_LGDT330X=m
-CONFIG_DVB_LGDT3305=m
-CONFIG_DVB_S5H1409=m
-CONFIG_DVB_AU8522=m
-CONFIG_DVB_S5H1411=m
-
-#
-# ISDB-T (terrestrial) frontends
-#
-CONFIG_DVB_S921=m
-CONFIG_DVB_DIB8000=m
-CONFIG_DVB_MB86A20S=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
-CONFIG_DVB_PLL=m
-CONFIG_DVB_TUNER_DIB0070=m
-CONFIG_DVB_TUNER_DIB0090=m
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_LNBP21=m
-CONFIG_DVB_LNBP22=m
-CONFIG_DVB_ISL6405=m
-CONFIG_DVB_ISL6421=m
-CONFIG_DVB_ISL6423=m
-CONFIG_DVB_A8293=m
-CONFIG_DVB_LGS8GL5=m
-CONFIG_DVB_LGS8GXX=m
-CONFIG_DVB_ATBM8830=m
-CONFIG_DVB_TDA665x=m
-CONFIG_DVB_IX2505V=m
-CONFIG_DVB_IT913X_FE=m
-
-#
-# Tools to develop new frontends
-#
-CONFIG_DVB_DUMMY_FE=m
-
-#
-# Graphics support
-#
-CONFIG_AGP=m
-CONFIG_AGP_ALI=m
-CONFIG_AGP_ATI=m
-CONFIG_AGP_AMD=m
-CONFIG_AGP_AMD64=m
-CONFIG_AGP_INTEL=m
-CONFIG_AGP_NVIDIA=m
-CONFIG_AGP_SIS=m
-CONFIG_AGP_SWORKS=m
-CONFIG_AGP_VIA=m
-CONFIG_AGP_EFFICEON=m
-CONFIG_VGA_ARB=y
-CONFIG_VGA_ARB_MAX_GPUS=16
-CONFIG_VGA_SWITCHEROO=y
-CONFIG_DRM=m
-CONFIG_DRM_KMS_HELPER=m
-CONFIG_DRM_TTM=m
-CONFIG_DRM_TDFX=m
-CONFIG_DRM_R128=m
-CONFIG_DRM_RADEON=m
-CONFIG_DRM_RADEON_KMS=y
-CONFIG_DRM_I810=m
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_KMS=y
-CONFIG_DRM_MGA=m
-CONFIG_DRM_SIS=m
-CONFIG_DRM_VIA=m
-CONFIG_DRM_SAVAGE=m
-CONFIG_DRM_VMWGFX=m
-CONFIG_STUB_POULSBO=m
-CONFIG_VGASTATE=m
-CONFIG_VIDEO_OUTPUT_CONTROL=m
-CONFIG_FB=y
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB_DDC=m
-CONFIG_FB_BOOT_VESA_SUPPORT=y
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
-# CONFIG_FB_WMT_GE_ROPS is not set
-CONFIG_FB_DEFERRED_IO=y
-CONFIG_FB_HECUBA=m
-CONFIG_FB_SVGALIB=m
-# CONFIG_FB_MACMODES is not set
-CONFIG_FB_BACKLIGHT=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_TILEBLITTING=y
-
-#
-# Frame buffer hardware drivers
-#
-CONFIG_FB_CIRRUS=m
-CONFIG_FB_PM2=m
-# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
-CONFIG_FB_CYBER2000=m
-CONFIG_FB_CYBER2000_DDC=y
-CONFIG_FB_ARC=m
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_IMSTT is not set
-CONFIG_FB_VGA16=m
-# CONFIG_FB_UVESA is not set
-CONFIG_FB_VESA=y
-CONFIG_FB_EFI=y
-CONFIG_FB_N411=m
-CONFIG_FB_HGA=m
-CONFIG_FB_S1D13XXX=m
-CONFIG_FB_NVIDIA=m
-CONFIG_FB_NVIDIA_I2C=y
-# CONFIG_FB_NVIDIA_DEBUG is not set
-CONFIG_FB_NVIDIA_BACKLIGHT=y
-CONFIG_FB_RIVA=m
-CONFIG_FB_RIVA_I2C=y
-# CONFIG_FB_RIVA_DEBUG is not set
-CONFIG_FB_RIVA_BACKLIGHT=y
-CONFIG_FB_I810=m
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_LE80578=m
-CONFIG_FB_CARILLO_RANCH=m
-CONFIG_FB_MATROX=m
-CONFIG_FB_MATROX_MILLENIUM=y
-CONFIG_FB_MATROX_MYSTIQUE=y
-CONFIG_FB_MATROX_G=y
-CONFIG_FB_MATROX_I2C=m
-CONFIG_FB_MATROX_MAVEN=m
-CONFIG_FB_RADEON=m
-CONFIG_FB_RADEON_I2C=y
-CONFIG_FB_RADEON_BACKLIGHT=y
-# CONFIG_FB_RADEON_DEBUG is not set
-CONFIG_FB_ATY128=m
-CONFIG_FB_ATY128_BACKLIGHT=y
-CONFIG_FB_ATY=m
-CONFIG_FB_ATY_CT=y
-CONFIG_FB_ATY_GENERIC_LCD=y
-CONFIG_FB_ATY_GX=y
-CONFIG_FB_ATY_BACKLIGHT=y
-CONFIG_FB_S3=m
-CONFIG_FB_S3_DDC=y
-CONFIG_FB_SAVAGE=m
-CONFIG_FB_SAVAGE_I2C=y
-CONFIG_FB_SAVAGE_ACCEL=y
-CONFIG_FB_SIS=m
-CONFIG_FB_SIS_300=y
-CONFIG_FB_SIS_315=y
-CONFIG_FB_VIA=m
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-CONFIG_FB_VIA_X_COMPATIBILITY=y
-CONFIG_FB_NEOMAGIC=m
-CONFIG_FB_KYRO=m
-CONFIG_FB_3DFX=m
-# CONFIG_FB_3DFX_ACCEL is not set
-CONFIG_FB_3DFX_I2C=y
-CONFIG_FB_VOODOO1=m
-CONFIG_FB_VT8623=m
-CONFIG_FB_TRIDENT=m
-CONFIG_FB_ARK=m
-CONFIG_FB_PM3=m
-CONFIG_FB_CARMINE=m
-CONFIG_FB_CARMINE_DRAM_EVAL=y
-# CONFIG_CARMINE_DRAM_CUSTOM is not set
-CONFIG_FB_GEODE=y
-CONFIG_FB_GEODE_LX=m
-CONFIG_FB_GEODE_GX=m
-CONFIG_FB_GEODE_GX1=m
-CONFIG_FB_TMIO=m
-CONFIG_FB_TMIO_ACCELL=y
-CONFIG_FB_SMSCUFX=m
-CONFIG_FB_UDL=m
-# CONFIG_FB_VIRTUAL is not set
-CONFIG_FB_METRONOME=m
-CONFIG_FB_MB862XX=m
-CONFIG_FB_MB862XX_PCI_GDC=y
-CONFIG_FB_MB862XX_I2C=y
-CONFIG_FB_BROADSHEET=m
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=m
-CONFIG_LCD_PLATFORM=m
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=m
-CONFIG_BACKLIGHT_PROGEAR=m
-CONFIG_BACKLIGHT_CARILLO_RANCH=m
-CONFIG_BACKLIGHT_APPLE=m
-CONFIG_BACKLIGHT_SAHARA=m
-CONFIG_BACKLIGHT_ADP8860=m
-CONFIG_BACKLIGHT_ADP8870=m
-CONFIG_BACKLIGHT_PCF50633=m
-
-#
-# Display device support
-#
-CONFIG_DISPLAY_SUPPORT=m
-
-#
-# Display hardware drivers
-#
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
-CONFIG_MDA_CONSOLE=m
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_7x14 is not set
-# CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
-# CONFIG_FONT_MINI_4x6 is not set
-CONFIG_FONT_SUN8x16=y
-# CONFIG_FONT_SUN12x22 is not set
-# CONFIG_FONT_10x18 is not set
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-CONFIG_SOUND=m
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-CONFIG_SND_JACK=y
-CONFIG_SND_SEQUENCER=m
-CONFIG_SND_SEQ_DUMMY=m
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
-CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_HRTIMER=m
-CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
-CONFIG_SND_DYNAMIC_MINORS=y
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_VMASTER=y
-CONFIG_SND_DMA_SGBUF=y
-CONFIG_SND_RAWMIDI_SEQ=m
-CONFIG_SND_OPL3_LIB_SEQ=m
-CONFIG_SND_OPL4_LIB_SEQ=m
-CONFIG_SND_SBAWE_SEQ=m
-CONFIG_SND_EMU10K1_SEQ=m
-CONFIG_SND_MPU401_UART=m
-CONFIG_SND_OPL3_LIB=m
-CONFIG_SND_OPL4_LIB=m
-CONFIG_SND_VX_LIB=m
-CONFIG_SND_AC97_CODEC=m
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_PCSP is not set
-CONFIG_SND_DUMMY=m
-CONFIG_SND_ALOOP=m
-CONFIG_SND_VIRMIDI=m
-CONFIG_SND_MTPAV=m
-CONFIG_SND_MTS64=m
-CONFIG_SND_SERIAL_U16550=m
-CONFIG_SND_MPU401=m
-CONFIG_SND_PORTMAN2X4=m
-CONFIG_SND_AC97_POWER_SAVE=y
-CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
-CONFIG_SND_WSS_LIB=m
-CONFIG_SND_SB_COMMON=m
-CONFIG_SND_SB8_DSP=m
-CONFIG_SND_SB16_DSP=m
-CONFIG_SND_ISA=y
-CONFIG_SND_ADLIB=m
-CONFIG_SND_AD1816A=m
-CONFIG_SND_AD1848=m
-CONFIG_SND_ALS100=m
-CONFIG_SND_AZT1605=m
-CONFIG_SND_AZT2316=m
-CONFIG_SND_AZT2320=m
-CONFIG_SND_CMI8330=m
-CONFIG_SND_CS4231=m
-CONFIG_SND_CS4236=m
-CONFIG_SND_ES1688=m
-CONFIG_SND_ES18XX=m
-CONFIG_SND_SC6000=m
-CONFIG_SND_GUSCLASSIC=m
-CONFIG_SND_GUSEXTREME=m
-CONFIG_SND_GUSMAX=m
-CONFIG_SND_INTERWAVE=m
-CONFIG_SND_INTERWAVE_STB=m
-CONFIG_SND_JAZZ16=m
-CONFIG_SND_OPL3SA2=m
-CONFIG_SND_OPTI92X_AD1848=m
-CONFIG_SND_OPTI92X_CS4231=m
-CONFIG_SND_OPTI93X=m
-CONFIG_SND_MIRO=m
-CONFIG_SND_SB8=m
-CONFIG_SND_SB16=m
-CONFIG_SND_SBAWE=m
-CONFIG_SND_SB16_CSP=y
-CONFIG_SND_SSCAPE=m
-CONFIG_SND_WAVEFRONT=m
-CONFIG_SND_MSND_PINNACLE=m
-CONFIG_SND_MSND_CLASSIC=m
-CONFIG_SND_TEA575X=m
-CONFIG_SND_PCI=y
-CONFIG_SND_AD1889=m
-CONFIG_SND_ALS300=m
-CONFIG_SND_ALS4000=m
-CONFIG_SND_ALI5451=m
-CONFIG_SND_ASIHPI=m
-CONFIG_SND_ATIIXP=m
-CONFIG_SND_ATIIXP_MODEM=m
-CONFIG_SND_AU8810=m
-CONFIG_SND_AU8820=m
-CONFIG_SND_AU8830=m
-CONFIG_SND_AW2=m
-CONFIG_SND_AZT3328=m
-CONFIG_SND_BT87X=m
-# CONFIG_SND_BT87X_OVERCLOCK is not set
-CONFIG_SND_CA0106=m
-CONFIG_SND_CMIPCI=m
-CONFIG_SND_OXYGEN_LIB=m
-CONFIG_SND_OXYGEN=m
-CONFIG_SND_CS4281=m
-CONFIG_SND_CS46XX=m
-CONFIG_SND_CS46XX_NEW_DSP=y
-CONFIG_SND_CS5530=m
-CONFIG_SND_CS5535AUDIO=m
-CONFIG_SND_CTXFI=m
-CONFIG_SND_DARLA20=m
-CONFIG_SND_GINA20=m
-CONFIG_SND_LAYLA20=m
-CONFIG_SND_DARLA24=m
-CONFIG_SND_GINA24=m
-CONFIG_SND_LAYLA24=m
-CONFIG_SND_MONA=m
-CONFIG_SND_MIA=m
-CONFIG_SND_ECHO3G=m
-CONFIG_SND_INDIGO=m
-CONFIG_SND_INDIGOIO=m
-CONFIG_SND_INDIGODJ=m
-CONFIG_SND_INDIGOIOX=m
-CONFIG_SND_INDIGODJX=m
-CONFIG_SND_EMU10K1=m
-CONFIG_SND_EMU10K1X=m
-CONFIG_SND_ENS1370=m
-CONFIG_SND_ENS1371=m
-CONFIG_SND_ES1938=m
-CONFIG_SND_ES1968=m
-CONFIG_SND_ES1968_INPUT=y
-CONFIG_SND_ES1968_RADIO=y
-CONFIG_SND_FM801=m
-CONFIG_SND_FM801_TEA575X_BOOL=y
-CONFIG_SND_HDA_INTEL=m
-CONFIG_SND_HDA_PREALLOC_SIZE=2048
-CONFIG_SND_HDA_HWDEP=y
-CONFIG_SND_HDA_RECONFIG=y
-# CONFIG_SND_HDA_INPUT_BEEP is not set
-CONFIG_SND_HDA_INPUT_JACK=y
-CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_CODEC_REALTEK=y
-CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
-CONFIG_SND_HDA_CODEC_ANALOG=y
-CONFIG_SND_HDA_CODEC_SIGMATEL=y
-CONFIG_SND_HDA_CODEC_VIA=y
-CONFIG_SND_HDA_CODEC_HDMI=y
-CONFIG_SND_HDA_CODEC_CIRRUS=y
-CONFIG_SND_HDA_CODEC_CONEXANT=y
-CONFIG_SND_HDA_CODEC_CA0110=y
-CONFIG_SND_HDA_CODEC_CA0132=y
-CONFIG_SND_HDA_CODEC_CMEDIA=y
-CONFIG_SND_HDA_CODEC_SI3054=y
-CONFIG_SND_HDA_GENERIC=y
-# CONFIG_SND_HDA_POWER_SAVE is not set
-CONFIG_SND_HDSP=m
-CONFIG_SND_HDSPM=m
-CONFIG_SND_ICE1712=m
-CONFIG_SND_ICE1724=m
-CONFIG_SND_INTEL8X0=m
-CONFIG_SND_INTEL8X0M=m
-CONFIG_SND_KORG1212=m
-CONFIG_SND_LOLA=m
-CONFIG_SND_LX6464ES=m
-CONFIG_SND_MAESTRO3=m
-CONFIG_SND_MAESTRO3_INPUT=y
-CONFIG_SND_MIXART=m
-CONFIG_SND_NM256=m
-CONFIG_SND_PCXHR=m
-CONFIG_SND_RIPTIDE=m
-CONFIG_SND_RME32=m
-CONFIG_SND_RME96=m
-CONFIG_SND_RME9652=m
-CONFIG_SND_SIS7019=m
-CONFIG_SND_SONICVIBES=m
-CONFIG_SND_TRIDENT=m
-CONFIG_SND_VIA82XX=m
-CONFIG_SND_VIA82XX_MODEM=m
-CONFIG_SND_VIRTUOSO=m
-CONFIG_SND_VX222=m
-CONFIG_SND_YMFPCI=m
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_USB_UA101=m
-CONFIG_SND_USB_USX2Y=m
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_USB_US122L=m
-CONFIG_SND_USB_6FIRE=m
-CONFIG_SND_FIREWIRE=y
-CONFIG_SND_FIREWIRE_LIB=m
-CONFIG_SND_FIREWIRE_SPEAKERS=m
-CONFIG_SND_ISIGHT=m
-CONFIG_SND_PCMCIA=y
-CONFIG_SND_VXPOCKET=m
-CONFIG_SND_PDAUDIOCF=m
-# CONFIG_SND_SOC is not set
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=m
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=m
-CONFIG_HIDRAW=y
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=m
-CONFIG_HID_PID=y
-CONFIG_USB_HIDDEV=y
-
-#
-# Special HID drivers
-#
-CONFIG_HID_A4TECH=m
-CONFIG_HID_ACRUX=m
-CONFIG_HID_ACRUX_FF=y
-CONFIG_HID_APPLE=m
-CONFIG_HID_BELKIN=m
-CONFIG_HID_CHERRY=m
-CONFIG_HID_CHICONY=m
-CONFIG_HID_PRODIKEYS=m
-CONFIG_HID_CYPRESS=m
-CONFIG_HID_DRAGONRISE=m
-CONFIG_DRAGONRISE_FF=y
-CONFIG_HID_EMS_FF=m
-CONFIG_HID_ELECOM=m
-CONFIG_HID_EZKEY=m
-CONFIG_HID_HOLTEK=m
-CONFIG_HOLTEK_FF=y
-CONFIG_HID_KEYTOUCH=m
-CONFIG_HID_KYE=m
-CONFIG_HID_UCLOGIC=m
-CONFIG_HID_WALTOP=m
-CONFIG_HID_GYRATION=m
-CONFIG_HID_TWINHAN=m
-CONFIG_HID_KENSINGTON=m
-CONFIG_HID_LCPOWER=m
-CONFIG_HID_LOGITECH=m
-CONFIG_HID_LOGITECH_DJ=m
-CONFIG_LOGITECH_FF=y
-CONFIG_LOGIRUMBLEPAD2_FF=y
-CONFIG_LOGIG940_FF=y
-CONFIG_LOGIWHEELS_FF=y
-CONFIG_HID_MAGICMOUSE=m
-CONFIG_HID_MICROSOFT=m
-CONFIG_HID_MONTEREY=m
-CONFIG_HID_MULTITOUCH=m
-CONFIG_HID_NTRIG=m
-CONFIG_HID_ORTEK=m
-CONFIG_HID_PANTHERLORD=m
-CONFIG_PANTHERLORD_FF=y
-CONFIG_HID_PETALYNX=m
-CONFIG_HID_PICOLCD=m
-CONFIG_HID_PICOLCD_FB=y
-CONFIG_HID_PICOLCD_BACKLIGHT=y
-CONFIG_HID_PICOLCD_LCD=y
-CONFIG_HID_PICOLCD_LEDS=y
-CONFIG_HID_PRIMAX=m
-CONFIG_HID_QUANTA=m
-CONFIG_HID_ROCCAT=m
-CONFIG_HID_ROCCAT_COMMON=m
-CONFIG_HID_ROCCAT_ARVO=m
-CONFIG_HID_ROCCAT_KONE=m
-CONFIG_HID_ROCCAT_KONEPLUS=m
-CONFIG_HID_ROCCAT_KOVAPLUS=m
-CONFIG_HID_ROCCAT_PYRA=m
-CONFIG_HID_SAMSUNG=m
-CONFIG_HID_SONY=m
-CONFIG_HID_SPEEDLINK=m
-CONFIG_HID_SUNPLUS=m
-CONFIG_HID_GREENASIA=m
-CONFIG_GREENASIA_FF=y
-CONFIG_HID_SMARTJOYPLUS=m
-CONFIG_SMARTJOYPLUS_FF=y
-CONFIG_HID_TOPSEED=m
-CONFIG_HID_THRUSTMASTER=m
-CONFIG_THRUSTMASTER_FF=y
-CONFIG_HID_WACOM=m
-CONFIG_HID_WACOM_POWER_SUPPLY=y
-CONFIG_HID_WIIMOTE=m
-CONFIG_HID_ZEROPLUS=m
-CONFIG_ZEROPLUS_FF=y
-CONFIG_HID_ZYDACRON=m
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_COMMON=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB_ARCH_HAS_XHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-# CONFIG_USB_DEVICEFS is not set
-# CONFIG_USB_DEVICE_CLASS is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_SUSPEND=y
-# CONFIG_USB_OTG is not set
-CONFIG_USB_DWC3=m
-# CONFIG_USB_DWC3_DEBUG is not set
-CONFIG_USB_MON=y
-CONFIG_USB_WUSB=m
-CONFIG_USB_WUSB_CBAF=m
-# CONFIG_USB_WUSB_CBAF_DEBUG is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_C67X00_HCD=m
-CONFIG_USB_XHCI_HCD=m
-# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
-CONFIG_USB_EHCI_HCD=m
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
-CONFIG_USB_OXU210HP_HCD=m
-CONFIG_USB_ISP116X_HCD=m
-CONFIG_USB_ISP1760_HCD=m
-CONFIG_USB_ISP1362_HCD=m
-CONFIG_USB_OHCI_HCD=m
-CONFIG_USB_OHCI_HCD_SSB=y
-# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-CONFIG_USB_UHCI_HCD=m
-CONFIG_USB_U132_HCD=m
-CONFIG_USB_SL811_HCD=m
-# CONFIG_USB_SL811_HCD_ISO is not set
-CONFIG_USB_SL811_CS=m
-CONFIG_USB_R8A66597_HCD=m
-CONFIG_USB_WHCI_HCD=m
-CONFIG_USB_HWA_HCD=m
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-CONFIG_USB_WDM=m
-CONFIG_USB_TMC=m
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
-CONFIG_USB_STORAGE=m
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_REALTEK=m
-CONFIG_REALTEK_AUTOPM=y
-CONFIG_USB_STORAGE_DATAFAB=m
-CONFIG_USB_STORAGE_FREECOM=m
-CONFIG_USB_STORAGE_ISD200=m
-CONFIG_USB_STORAGE_USBAT=m
-CONFIG_USB_STORAGE_SDDR09=m
-CONFIG_USB_STORAGE_SDDR55=m
-CONFIG_USB_STORAGE_JUMPSHOT=m
-CONFIG_USB_STORAGE_ALAUDA=m
-CONFIG_USB_STORAGE_ONETOUCH=m
-CONFIG_USB_STORAGE_KARMA=m
-CONFIG_USB_STORAGE_CYPRESS_ATACB=m
-CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_UAS=m
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-CONFIG_USB_MDC800=m
-CONFIG_USB_MICROTEK=m
-
-#
-# USB port drivers
-#
-CONFIG_USB_USS720=m
-CONFIG_USB_SERIAL=m
-CONFIG_USB_EZUSB=y
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_AIRCABLE=m
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_CH341=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP210X=m
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_FUNSOFT=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_IUU=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_MOS7720=m
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
-CONFIG_USB_SERIAL_MOS7840=m
-CONFIG_USB_SERIAL_MOTOROLA=m
-CONFIG_USB_SERIAL_NAVMAN=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_OTI6858=m
-CONFIG_USB_SERIAL_QCAUX=m
-CONFIG_USB_SERIAL_QUALCOMM=m
-CONFIG_USB_SERIAL_SPCP8X5=m
-CONFIG_USB_SERIAL_HP4X=m
-CONFIG_USB_SERIAL_SAFE=m
-CONFIG_USB_SERIAL_SAFE_PADDED=y
-CONFIG_USB_SERIAL_SIEMENS_MPI=m
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-CONFIG_USB_SERIAL_SYMBOL=m
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_WWAN=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_SERIAL_OPTICON=m
-CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
-CONFIG_USB_SERIAL_ZIO=m
-CONFIG_USB_SERIAL_SSU100=m
-CONFIG_USB_SERIAL_DEBUG=m
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-CONFIG_USB_ADUTUX=m
-CONFIG_USB_SEVSEG=m
-CONFIG_USB_RIO500=m
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-CONFIG_USB_LED=m
-CONFIG_USB_CYPRESS_CY7C63=m
-CONFIG_USB_CYTHERM=m
-CONFIG_USB_IDMOUSE=m
-CONFIG_USB_FTDI_ELAN=m
-CONFIG_USB_APPLEDISPLAY=m
-CONFIG_USB_SISUSBVGA=m
-CONFIG_USB_SISUSBVGA_CON=y
-CONFIG_USB_LD=m
-CONFIG_USB_TRANCEVIBRATOR=m
-CONFIG_USB_IOWARRIOR=m
-CONFIG_USB_TEST=m
-CONFIG_USB_ISIGHTFW=m
-CONFIG_USB_YUREX=m
-CONFIG_USB_ATM=m
-CONFIG_USB_SPEEDTOUCH=m
-CONFIG_USB_CXACRU=m
-CONFIG_USB_UEAGLEATM=m
-CONFIG_USB_XUSBATM=m
-# CONFIG_USB_GADGET is not set
-
-#
-# OTG and related infrastructure
-#
-CONFIG_USB_OTG_UTILS=y
-CONFIG_USB_GPIO_VBUS=m
-CONFIG_NOP_USB_XCEIV=m
-CONFIG_UWB=m
-CONFIG_UWB_HWA=m
-CONFIG_UWB_WHCI=m
-CONFIG_UWB_I1480U=m
-CONFIG_MMC=m
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=m
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_SDIO_UART=m
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_SDHCI=m
-CONFIG_MMC_SDHCI_PCI=m
-CONFIG_MMC_RICOH_MMC=y
-CONFIG_MMC_SDHCI_PLTFM=m
-CONFIG_MMC_WBSD=m
-CONFIG_MMC_TIFM_SD=m
-CONFIG_MMC_SDRICOH_CS=m
-CONFIG_MMC_CB710=m
-CONFIG_MMC_VIA_SDMMC=m
-CONFIG_MMC_VUB300=m
-CONFIG_MMC_USHC=m
-CONFIG_MEMSTICK=m
-# CONFIG_MEMSTICK_DEBUG is not set
-
-#
-# MemoryStick drivers
-#
-# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
-CONFIG_MSPRO_BLOCK=m
-
-#
-# MemoryStick Host Controller Drivers
-#
-CONFIG_MEMSTICK_TIFM_MS=m
-CONFIG_MEMSTICK_JMICRON_38X=m
-CONFIG_MEMSTICK_R592=m
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-CONFIG_LEDS_LM3530=m
-CONFIG_LEDS_NET48XX=m
-CONFIG_LEDS_NET5501=m
-CONFIG_LEDS_WRAP=m
-CONFIG_LEDS_PCA9532=m
-# CONFIG_LEDS_PCA9532_GPIO is not set
-CONFIG_LEDS_GPIO=m
-CONFIG_LEDS_LP3944=m
-CONFIG_LEDS_LP5521=m
-CONFIG_LEDS_LP5523=m
-CONFIG_LEDS_CLEVO_MAIL=m
-CONFIG_LEDS_PCA955X=m
-CONFIG_LEDS_REGULATOR=m
-CONFIG_LEDS_BD2802=m
-CONFIG_LEDS_INTEL_SS4200=m
-CONFIG_LEDS_LT3593=m
-CONFIG_LEDS_DELL_NETBOOKS=m
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_HEARTBEAT=m
-CONFIG_LEDS_TRIGGER_BACKLIGHT=m
-CONFIG_LEDS_TRIGGER_GPIO=m
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-CONFIG_ACCESSIBILITY=y
-CONFIG_A11Y_BRAILLE_CONSOLE=y
-CONFIG_INFINIBAND=m
-CONFIG_INFINIBAND_USER_MAD=m
-CONFIG_INFINIBAND_USER_ACCESS=m
-CONFIG_INFINIBAND_USER_MEM=y
-CONFIG_INFINIBAND_ADDR_TRANS=y
-CONFIG_INFINIBAND_MTHCA=m
-CONFIG_INFINIBAND_MTHCA_DEBUG=y
-CONFIG_INFINIBAND_AMSO1100=m
-# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
-# CONFIG_INFINIBAND_CXGB3 is not set
-CONFIG_INFINIBAND_CXGB4=m
-CONFIG_MLX4_INFINIBAND=m
-CONFIG_INFINIBAND_NES=m
-# CONFIG_INFINIBAND_NES_DEBUG is not set
-CONFIG_INFINIBAND_IPOIB=m
-# CONFIG_INFINIBAND_IPOIB_CM is not set
-CONFIG_INFINIBAND_IPOIB_DEBUG=y
-# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
-CONFIG_INFINIBAND_SRP=m
-CONFIG_INFINIBAND_ISER=m
-CONFIG_EDAC=y
-
-#
-# Reporting subsystems
-#
-# CONFIG_EDAC_DEBUG is not set
-CONFIG_EDAC_DECODE_MCE=y
-CONFIG_EDAC_MCE_INJ=m
-# CONFIG_EDAC_MM_EDAC is not set
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-CONFIG_RTC_INTF_DEV_UIE_EMUL=y
-CONFIG_RTC_DRV_TEST=m
-
-#
-# I2C RTC drivers
-#
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_DS1374=m
-CONFIG_RTC_DRV_DS1672=m
-CONFIG_RTC_DRV_DS3232=m
-CONFIG_RTC_DRV_MAX6900=m
-CONFIG_RTC_DRV_RS5C372=m
-CONFIG_RTC_DRV_ISL1208=m
-CONFIG_RTC_DRV_ISL12022=m
-CONFIG_RTC_DRV_X1205=m
-CONFIG_RTC_DRV_PCF8563=m
-CONFIG_RTC_DRV_PCF8583=m
-CONFIG_RTC_DRV_M41T80=m
-CONFIG_RTC_DRV_M41T80_WDT=y
-CONFIG_RTC_DRV_BQ32K=m
-CONFIG_RTC_DRV_S35390A=m
-CONFIG_RTC_DRV_FM3130=m
-CONFIG_RTC_DRV_RX8581=m
-CONFIG_RTC_DRV_RX8025=m
-CONFIG_RTC_DRV_EM3027=m
-CONFIG_RTC_DRV_RV3029C2=m
-
-#
-# SPI RTC drivers
-#
-
-#
-# Platform RTC drivers
-#
-CONFIG_RTC_DRV_CMOS=y
-CONFIG_RTC_DRV_DS1286=m
-CONFIG_RTC_DRV_DS1511=m
-CONFIG_RTC_DRV_DS1553=m
-CONFIG_RTC_DRV_DS1742=m
-CONFIG_RTC_DRV_STK17TA8=m
-CONFIG_RTC_DRV_M48T86=m
-CONFIG_RTC_DRV_M48T35=m
-CONFIG_RTC_DRV_M48T59=m
-CONFIG_RTC_DRV_MSM6242=m
-CONFIG_RTC_DRV_BQ4802=m
-CONFIG_RTC_DRV_RP5C01=m
-CONFIG_RTC_DRV_V3020=m
-CONFIG_RTC_DRV_PCF50633=m
-
-#
-# on-CPU RTC drivers
-#
-CONFIG_DMADEVICES=y
-# CONFIG_DMADEVICES_DEBUG is not set
-
-#
-# DMA Devices
-#
-CONFIG_INTEL_MID_DMAC=m
-CONFIG_INTEL_IOATDMA=m
-CONFIG_TIMB_DMA=m
-CONFIG_PCH_DMA=m
-CONFIG_DMA_ENGINE=y
-
-#
-# DMA Clients
-#
-CONFIG_NET_DMA=y
-# CONFIG_ASYNC_TX_DMA is not set
-CONFIG_DMATEST=m
-CONFIG_DCA=m
-CONFIG_AUXDISPLAY=y
-# CONFIG_KS0108 is not set
-CONFIG_UIO=m
-CONFIG_UIO_CIF=m
-CONFIG_UIO_PDRV=m
-CONFIG_UIO_PDRV_GENIRQ=m
-CONFIG_UIO_AEC=m
-CONFIG_UIO_SERCOS3=m
-CONFIG_UIO_PCI_GENERIC=m
-CONFIG_UIO_NETX=m
-CONFIG_VIRTIO=m
-CONFIG_VIRTIO_RING=m
-
-#
-# Virtio drivers
-#
-CONFIG_VIRTIO_PCI=m
-CONFIG_VIRTIO_BALLOON=m
-CONFIG_VIRTIO_MMIO=m
-CONFIG_STAGING=y
-# CONFIG_ET131X is not set
-# CONFIG_SLICOSS is not set
-CONFIG_USBIP_CORE=m
-CONFIG_USBIP_VHCI_HCD=m
-CONFIG_USBIP_HOST=m
-# CONFIG_USBIP_DEBUG is not set
-# CONFIG_W35UND is not set
-# CONFIG_PRISM2_USB is not set
-# CONFIG_ECHO is not set
-# CONFIG_COMEDI is not set
-CONFIG_ASUS_OLED=m
-# CONFIG_PANEL is not set
-CONFIG_R8187SE=m
-CONFIG_RTL8192U=m
-CONFIG_RTL8192E=m
-CONFIG_R8712U=m
-CONFIG_RTS_PSTOR=m
-# CONFIG_RTS_PSTOR_DEBUG is not set
-CONFIG_RTS5139=m
-# CONFIG_RTS5139_DEBUG is not set
-# CONFIG_TRANZPORT is not set
-CONFIG_POHMELFS=m
-# CONFIG_POHMELFS_DEBUG is not set
-CONFIG_IDE_PHISON=m
-CONFIG_LINE6_USB=m
-# CONFIG_LINE6_USB_DEBUG is not set
-# CONFIG_LINE6_USB_DUMP_CTRL is not set
-# CONFIG_LINE6_USB_DUMP_MIDI is not set
-# CONFIG_LINE6_USB_DUMP_PCM is not set
-# CONFIG_LINE6_USB_RAW is not set
-# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
-CONFIG_DRM_NOUVEAU=m
-CONFIG_DRM_NOUVEAU_BACKLIGHT=y
-CONFIG_DRM_NOUVEAU_DEBUG=y
-
-#
-# I2C encoder or helper chips
-#
-CONFIG_DRM_I2C_CH7006=m
-CONFIG_DRM_I2C_SIL164=m
-CONFIG_USB_SERIAL_QUATECH2=m
-CONFIG_USB_SERIAL_QUATECH_USB2=m
-CONFIG_VT6655=m
-CONFIG_VT6656=m
-CONFIG_HYPERV_STORAGE=m
-CONFIG_HYPERV_NET=m
-CONFIG_HYPERV_MOUSE=m
-# CONFIG_VME_BUS is not set
-CONFIG_DX_SEP=m
-# CONFIG_IIO is not set
-CONFIG_XVMALLOC=y
-CONFIG_ZRAM=m
-# CONFIG_ZRAM_DEBUG is not set
-CONFIG_WLAGS49_H2=m
-CONFIG_WLAGS49_H25=m
-CONFIG_FB_SM7XX=m
-CONFIG_CRYSTALHD=m
-# CONFIG_CXT1E1 is not set
-CONFIG_FB_XGI=m
-CONFIG_ACPI_QUICKSTART=m
-CONFIG_SBE_2T3E3=m
-CONFIG_USB_ENESTORAGE=m
-CONFIG_BCM_WIMAX=m
-# CONFIG_FT1000 is not set
-
-#
-# Speakup console speech
-#
-CONFIG_SPEAKUP=m
-CONFIG_SPEAKUP_SYNTH_ACNTSA=m
-CONFIG_SPEAKUP_SYNTH_ACNTPC=m
-CONFIG_SPEAKUP_SYNTH_APOLLO=m
-CONFIG_SPEAKUP_SYNTH_AUDPTR=m
-CONFIG_SPEAKUP_SYNTH_BNS=m
-CONFIG_SPEAKUP_SYNTH_DECTLK=m
-CONFIG_SPEAKUP_SYNTH_DECEXT=m
-CONFIG_SPEAKUP_SYNTH_DECPC=m
-CONFIG_SPEAKUP_SYNTH_DTLK=m
-CONFIG_SPEAKUP_SYNTH_KEYPC=m
-CONFIG_SPEAKUP_SYNTH_LTLK=m
-CONFIG_SPEAKUP_SYNTH_SOFT=m
-CONFIG_SPEAKUP_SYNTH_SPKOUT=m
-CONFIG_SPEAKUP_SYNTH_TXPRT=m
-CONFIG_SPEAKUP_SYNTH_DUMMY=m
-CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
-CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
-CONFIG_DRM_PSB=m
-CONFIG_DRM_PSB_MRST=y
-CONFIG_DRM_PSB_MFLD=y
-CONFIG_DRM_PSB_CDV=y
-CONFIG_INTEL_MEI=m
-CONFIG_STAGING_MEDIA=y
-CONFIG_DVB_AS102=m
-CONFIG_DVB_CXD2099=m
-CONFIG_VIDEO_DT3155=m
-CONFIG_DT3155_CCIR=y
-CONFIG_DT3155_STREAMING=y
-CONFIG_EASYCAP=m
-# CONFIG_EASYCAP_DEBUG is not set
-# CONFIG_VIDEO_GO7007 is not set
-CONFIG_SOLO6X10=m
-CONFIG_LIRC_STAGING=y
-CONFIG_LIRC_BT829=m
-CONFIG_LIRC_IGORPLUGUSB=m
-CONFIG_LIRC_IMON=m
-CONFIG_LIRC_PARALLEL=m
-CONFIG_LIRC_SASEM=m
-CONFIG_LIRC_SERIAL=m
-CONFIG_LIRC_SERIAL_TRANSMITTER=y
-CONFIG_LIRC_SIR=m
-CONFIG_LIRC_TTUSBIR=m
-CONFIG_LIRC_ZILOG=m
-CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_ACER_WMI=m
-CONFIG_ACERHDF=m
-CONFIG_ASUS_LAPTOP=m
-CONFIG_DELL_LAPTOP=m
-CONFIG_DELL_WMI=m
-CONFIG_DELL_WMI_AIO=m
-CONFIG_FUJITSU_LAPTOP=m
-# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
-CONFIG_TC1100_WMI=m
-CONFIG_HP_ACCEL=m
-CONFIG_HP_WMI=m
-CONFIG_MSI_LAPTOP=m
-CONFIG_PANASONIC_LAPTOP=m
-CONFIG_COMPAL_LAPTOP=m
-CONFIG_SONY_LAPTOP=m
-CONFIG_SONYPI_COMPAT=y
-CONFIG_IDEAPAD_LAPTOP=m
-CONFIG_THINKPAD_ACPI=m
-CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
-# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
-# CONFIG_THINKPAD_ACPI_DEBUG is not set
-# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
-CONFIG_THINKPAD_ACPI_VIDEO=y
-CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
-CONFIG_SENSORS_HDAPS=m
-CONFIG_INTEL_MENLOW=m
-CONFIG_EEEPC_LAPTOP=m
-CONFIG_ASUS_WMI=m
-CONFIG_ASUS_NB_WMI=m
-CONFIG_EEEPC_WMI=m
-CONFIG_ACPI_WMI=m
-CONFIG_MSI_WMI=m
-CONFIG_ACPI_ASUS=m
-CONFIG_TOPSTAR_LAPTOP=m
-CONFIG_ACPI_TOSHIBA=m
-CONFIG_TOSHIBA_BT_RFKILL=m
-CONFIG_ACPI_CMPC=m
-CONFIG_INTEL_IPS=m
-CONFIG_IBM_RTL=m
-CONFIG_XO15_EBOOK=m
-CONFIG_SAMSUNG_LAPTOP=m
-CONFIG_MXM_WMI=m
-CONFIG_INTEL_OAKTRAIL=m
-CONFIG_SAMSUNG_Q10=m
-
-#
-# Hardware Spinlock drivers
-#
-CONFIG_CLKSRC_I8253=y
-CONFIG_CLKEVT_I8253=y
-CONFIG_I8253_LOCK=y
-CONFIG_CLKBLD_I8253=y
-CONFIG_IOMMU_API=y
-CONFIG_IOMMU_SUPPORT=y
-CONFIG_DMAR_TABLE=y
-CONFIG_INTEL_IOMMU=y
-# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
-CONFIG_INTEL_IOMMU_FLOPPY_WA=y
-CONFIG_VIRT_DRIVERS=y
-CONFIG_HYPERV=m
-CONFIG_HYPERV_UTILS=m
-CONFIG_PM_DEVFREQ=y
-
-#
-# DEVFREQ Governors
-#
-CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
-CONFIG_DEVFREQ_GOV_PERFORMANCE=y
-CONFIG_DEVFREQ_GOV_POWERSAVE=y
-CONFIG_DEVFREQ_GOV_USERSPACE=y
-
-#
-# DEVFREQ Drivers
-#
-
-#
-# Firmware Drivers
-#
-CONFIG_EDD=m
-CONFIG_EDD_OFF=y
-CONFIG_FIRMWARE_MEMMAP=y
-CONFIG_EFI_VARS=m
-CONFIG_DELL_RBU=m
-CONFIG_DCDBAS=m
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=m
-CONFIG_ISCSI_IBFT_FIND=y
-CONFIG_ISCSI_IBFT=m
-CONFIG_SIGMA=m
-# CONFIG_GOOGLE_FIRMWARE is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=m
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=m
-CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
-CONFIG_EXT3_FS_XATTR=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_EXT4_FS=m
-CONFIG_EXT4_FS_XATTR=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=m
-# CONFIG_JBD_DEBUG is not set
-CONFIG_JBD2=m
-# CONFIG_JBD2_DEBUG is not set
-CONFIG_FS_MBCACHE=m
-CONFIG_REISERFS_FS=m
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-CONFIG_REISERFS_FS_XATTR=y
-CONFIG_REISERFS_FS_POSIX_ACL=y
-CONFIG_REISERFS_FS_SECURITY=y
-CONFIG_JFS_FS=m
-CONFIG_JFS_POSIX_ACL=y
-CONFIG_JFS_SECURITY=y
-# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
-CONFIG_XFS_FS=m
-CONFIG_XFS_QUOTA=y
-CONFIG_XFS_POSIX_ACL=y
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_DEBUG is not set
-CONFIG_GFS2_FS=m
-CONFIG_GFS2_FS_LOCKING_DLM=y
-CONFIG_OCFS2_FS=m
-CONFIG_OCFS2_FS_O2CB=m
-CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
-# CONFIG_OCFS2_FS_STATS is not set
-CONFIG_OCFS2_DEBUG_MASKLOG=y
-# CONFIG_OCFS2_DEBUG_FS is not set
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-CONFIG_NILFS2_FS=m
-CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=m
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_FANOTIFY=y
-# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
-CONFIG_QUOTA=y
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
-# CONFIG_QUOTA_DEBUG is not set
-CONFIG_QUOTA_TREE=m
-CONFIG_QFMT_V1=m
-CONFIG_QFMT_V2=m
-CONFIG_QUOTACTL=y
-CONFIG_AUTOFS4_FS=m
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-CONFIG_FSCACHE=m
-# CONFIG_FSCACHE_STATS is not set
-# CONFIG_FSCACHE_HISTOGRAM is not set
-# CONFIG_FSCACHE_DEBUG is not set
-# CONFIG_FSCACHE_OBJECT_LIST is not set
-CONFIG_CACHEFILES=m
-# CONFIG_CACHEFILES_DEBUG is not set
-# CONFIG_CACHEFILES_HISTOGRAM is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-CONFIG_NTFS_FS=m
-# CONFIG_NTFS_DEBUG is not set
-CONFIG_NTFS_RW=y
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_TMPFS_XATTR=y
-# CONFIG_HUGETLBFS is not set
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_CONFIGFS_FS=y
-CONFIG_MISC_FILESYSTEMS=y
-CONFIG_ADFS_FS=m
-# CONFIG_ADFS_FS_RW is not set
-CONFIG_AFFS_FS=m
-CONFIG_ECRYPT_FS=m
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-CONFIG_BEFS_FS=m
-# CONFIG_BEFS_DEBUG is not set
-CONFIG_BFS_FS=m
-CONFIG_EFS_FS=m
-CONFIG_JFFS2_FS=m
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-# CONFIG_JFFS2_SUMMARY is not set
-# CONFIG_JFFS2_FS_XATTR is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-# CONFIG_JFFS2_LZO is not set
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-CONFIG_UBIFS_FS=m
-CONFIG_UBIFS_FS_XATTR=y
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-CONFIG_LOGFS=m
-CONFIG_CRAMFS=m
-CONFIG_SQUASHFS=m
-CONFIG_SQUASHFS_XATTR=y
-CONFIG_SQUASHFS_ZLIB=y
-CONFIG_SQUASHFS_LZO=y
-CONFIG_SQUASHFS_XZ=y
-# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
-CONFIG_SQUASHFS_EMBEDDED=y
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
-CONFIG_VXFS_FS=m
-CONFIG_MINIX_FS=m
-CONFIG_OMFS_FS=m
-CONFIG_HPFS_FS=m
-CONFIG_QNX4FS_FS=m
-CONFIG_ROMFS_FS=y
-CONFIG_ROMFS_BACKED_BY_BLOCK=y
-CONFIG_ROMFS_ON_BLOCK=y
-CONFIG_PSTORE=y
-CONFIG_SYSV_FS=m
-CONFIG_UFS_FS=m
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_UFS_DEBUG is not set
-CONFIG_EXOFS_FS=m
-# CONFIG_EXOFS_DEBUG is not set
-CONFIG_ORE=m
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-CONFIG_NFS_V4=y
-# CONFIG_NFS_V4_1 is not set
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
-CONFIG_NFSD=m
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-CONFIG_NFSD_V4=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-CONFIG_SUNRPC_XPRT_RDMA=m
-CONFIG_RPCSEC_GSS_KRB5=m
-CONFIG_CEPH_FS=m
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-CONFIG_CIFS_WEAK_PW_HASH=y
-# CONFIG_CIFS_UPCALL is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_DFS_UPCALL is not set
-CONFIG_CIFS_FSCACHE=y
-CONFIG_NCP_FS=m
-CONFIG_NCPFS_PACKET_SIGNING=y
-CONFIG_NCPFS_IOCTL_LOCKING=y
-CONFIG_NCPFS_STRONG=y
-CONFIG_NCPFS_NFS_NS=y
-CONFIG_NCPFS_OS2_NS=y
-CONFIG_NCPFS_SMALLDOS=y
-CONFIG_NCPFS_NLS=y
-CONFIG_NCPFS_EXTRAS=y
-CONFIG_CODA_FS=m
-CONFIG_AFS_FS=m
-# CONFIG_AFS_DEBUG is not set
-# CONFIG_AFS_FSCACHE is not set
-CONFIG_9P_FS=m
-# CONFIG_9P_FSCACHE is not set
-# CONFIG_9P_FS_POSIX_ACL is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-CONFIG_OSF_PARTITION=y
-CONFIG_AMIGA_PARTITION=y
-# CONFIG_ATARI_PARTITION is not set
-CONFIG_MAC_PARTITION=y
-CONFIG_MSDOS_PARTITION=y
-CONFIG_BSD_DISKLABEL=y
-CONFIG_MINIX_SUBPARTITION=y
-CONFIG_SOLARIS_X86_PARTITION=y
-CONFIG_UNIXWARE_DISKLABEL=y
-# CONFIG_LDM_PARTITION is not set
-CONFIG_SGI_PARTITION=y
-# CONFIG_ULTRIX_PARTITION is not set
-CONFIG_SUN_PARTITION=y
-CONFIG_KARMA_PARTITION=y
-CONFIG_EFI_PARTITION=y
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=m
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=m
-CONFIG_DLM=m
-# CONFIG_DLM_DEBUG is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_PRINTK_TIME=y
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-CONFIG_ENABLE_WARN_DEPRECATED=y
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_FRAME_WARN=0
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_STRIP_ASM_SYMS=y
-CONFIG_UNUSED_SYMBOLS=y
-CONFIG_DEBUG_FS=y
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
-# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
-CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
-CONFIG_SCHED_DEBUG=y
-# CONFIG_SCHEDSTATS is not set
-CONFIG_TIMER_STATS=y
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SLUB_STATS is not set
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-CONFIG_STACKTRACE=y
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_HIGHMEM is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_VIRTUAL is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-CONFIG_DEBUG_MEMORY_INIT=y
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-CONFIG_FRAME_POINTER=y
-# CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_LKDTM is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_USER_STACKTRACE_SUPPORT=y
-CONFIG_NOP_TRACER=y
-CONFIG_HAVE_FTRACE_NMI_ENTER=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_RING_BUFFER=y
-CONFIG_FTRACE_NMI_ENTER=y
-CONFIG_EVENT_TRACING=y
-CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
-CONFIG_CONTEXT_SWITCH_TRACER=y
-CONFIG_RING_BUFFER_ALLOW_SWAP=y
-CONFIG_TRACING=y
-CONFIG_GENERIC_TRACER=y
-CONFIG_TRACING_SUPPORT=y
-CONFIG_FTRACE=y
-CONFIG_FUNCTION_TRACER=y
-CONFIG_FUNCTION_GRAPH_TRACER=y
-# CONFIG_IRQSOFF_TRACER is not set
-# CONFIG_SCHED_TRACER is not set
-# CONFIG_FTRACE_SYSCALLS is not set
-CONFIG_BRANCH_PROFILE_NONE=y
-# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-# CONFIG_PROFILE_ALL_BRANCHES is not set
-# CONFIG_STACK_TRACER is not set
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_DYNAMIC_FTRACE=y
-# CONFIG_FUNCTION_PROFILER is not set
-CONFIG_FTRACE_MCOUNT_RECORD=y
-# CONFIG_FTRACE_STARTUP_TEST is not set
-# CONFIG_MMIOTRACE is not set
-CONFIG_RING_BUFFER_BENCHMARK=m
-# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_DMA_API_DEBUG is not set
-CONFIG_ATOMIC64_SELFTEST=y
-CONFIG_ASYNC_RAID6_TEST=m
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-CONFIG_HAVE_ARCH_KMEMCHECK=y
-# CONFIG_TEST_KSTRTOX is not set
-CONFIG_STRICT_DEVMEM=y
-CONFIG_X86_VERBOSE_BOOTUP=y
-CONFIG_EARLY_PRINTK=y
-# CONFIG_EARLY_PRINTK_DBGP is not set
-# CONFIG_DEBUG_STACKOVERFLOW is not set
-# CONFIG_X86_PTDUMP is not set
-CONFIG_DEBUG_RODATA=y
-CONFIG_DEBUG_RODATA_TEST=y
-# CONFIG_DEBUG_SET_MODULE_RONX is not set
-# CONFIG_DEBUG_NX_TEST is not set
-CONFIG_DOUBLEFAULT=y
-# CONFIG_IOMMU_STRESS is not set
-CONFIG_HAVE_MMIOTRACE_SUPPORT=y
-CONFIG_IO_DELAY_TYPE_0X80=0
-CONFIG_IO_DELAY_TYPE_0XED=1
-CONFIG_IO_DELAY_TYPE_UDELAY=2
-CONFIG_IO_DELAY_TYPE_NONE=3
-CONFIG_IO_DELAY_0X80=y
-# CONFIG_IO_DELAY_0XED is not set
-# CONFIG_IO_DELAY_UDELAY is not set
-# CONFIG_IO_DELAY_NONE is not set
-CONFIG_DEFAULT_IO_DELAY_TYPE=0
-# CONFIG_DEBUG_BOOT_PARAMS is not set
-# CONFIG_CPA_DEBUG is not set
-CONFIG_OPTIMIZE_INLINING=y
-# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-CONFIG_TRUSTED_KEYS=m
-CONFIG_ENCRYPTED_KEYS=m
-CONFIG_KEYS_DEBUG_PROC_KEYS=y
-CONFIG_SECURITY_DMESG_RESTRICT=y
-CONFIG_SECURITY=y
-CONFIG_SECURITYFS=y
-CONFIG_SECURITY_NETWORK=y
-CONFIG_SECURITY_NETWORK_XFRM=y
-# CONFIG_SECURITY_PATH is not set
-# CONFIG_INTEL_TXT is not set
-# CONFIG_SECURITY_SELINUX is not set
-# CONFIG_SECURITY_TOMOYO is not set
-# CONFIG_SECURITY_APPARMOR is not set
-# CONFIG_IMA is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_XOR_BLOCKS=y
-CONFIG_ASYNC_CORE=y
-CONFIG_ASYNC_MEMCPY=y
-CONFIG_ASYNC_XOR=y
-CONFIG_ASYNC_PQ=y
-CONFIG_ASYNC_RAID6_RECOV=y
-CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
-CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=y
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG=y
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_PCOMP=m
-CONFIG_CRYPTO_PCOMP2=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_USER=m
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-CONFIG_CRYPTO_GF128MUL=y
-CONFIG_CRYPTO_NULL=y
-CONFIG_CRYPTO_WORKQUEUE=y
-CONFIG_CRYPTO_CRYPTD=y
-CONFIG_CRYPTO_AUTHENC=y
-CONFIG_CRYPTO_TEST=m
-
-#
-# Authenticated Encryption with Associated Data
-#
-CONFIG_CRYPTO_CCM=y
-CONFIG_CRYPTO_GCM=y
-CONFIG_CRYPTO_SEQIV=y
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_CTR=y
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_LRW=y
-CONFIG_CRYPTO_PCBC=y
-CONFIG_CRYPTO_XTS=y
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_VMAC=m
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_CRC32C_INTEL=m
-CONFIG_CRYPTO_GHASH=y
-CONFIG_CRYPTO_MD4=y
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=y
-CONFIG_CRYPTO_RMD128=m
-CONFIG_CRYPTO_RMD160=y
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
-CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_SHA512=y
-CONFIG_CRYPTO_TGR192=y
-CONFIG_CRYPTO_WP512=y
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_AES_586=y
-CONFIG_CRYPTO_AES_NI_INTEL=y
-CONFIG_CRYPTO_ANUBIS=y
-CONFIG_CRYPTO_ARC4=y
-CONFIG_CRYPTO_BLOWFISH=y
-CONFIG_CRYPTO_BLOWFISH_COMMON=y
-CONFIG_CRYPTO_CAMELLIA=y
-CONFIG_CRYPTO_CAST5=y
-CONFIG_CRYPTO_CAST6=y
-CONFIG_CRYPTO_DES=y
-CONFIG_CRYPTO_FCRYPT=y
-CONFIG_CRYPTO_KHAZAD=y
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SALSA20_586=m
-CONFIG_CRYPTO_SEED=y
-CONFIG_CRYPTO_SERPENT=y
-CONFIG_CRYPTO_TEA=y
-CONFIG_CRYPTO_TWOFISH=y
-CONFIG_CRYPTO_TWOFISH_COMMON=y
-CONFIG_CRYPTO_TWOFISH_586=y
-
-#
-# Compression
-#
-CONFIG_CRYPTO_DEFLATE=y
-CONFIG_CRYPTO_ZLIB=m
-CONFIG_CRYPTO_LZO=m
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_USER_API=m
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_DEV_PADLOCK=m
-CONFIG_CRYPTO_DEV_PADLOCK_AES=m
-CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
-CONFIG_CRYPTO_DEV_GEODE=m
-CONFIG_CRYPTO_DEV_HIFN_795X=m
-CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
-CONFIG_HAVE_KVM=y
-CONFIG_HAVE_KVM_IRQCHIP=y
-CONFIG_HAVE_KVM_EVENTFD=y
-CONFIG_KVM_APIC_ARCHITECTURE=y
-CONFIG_KVM_MMIO=y
-CONFIG_KVM_ASYNC_PF=y
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=m
-CONFIG_KVM_INTEL=m
-CONFIG_KVM_AMD=m
-CONFIG_KVM_MMU_AUDIT=y
-CONFIG_VHOST_NET=m
-CONFIG_LGUEST=m
-CONFIG_BINARY_PRINTF=y
-
-#
-# Library routines
-#
-CONFIG_RAID6_PQ=y
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
-CONFIG_CRC_CCITT=m
-CONFIG_CRC16=y
-CONFIG_CRC_T10DIF=m
-CONFIG_CRC_ITU_T=y
-CONFIG_CRC32=y
-CONFIG_CRC7=m
-CONFIG_LIBCRC32C=y
-CONFIG_CRC8=m
-CONFIG_AUDIT_GENERIC=y
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_XZ_DEC=y
-CONFIG_XZ_DEC_X86=y
-CONFIG_XZ_DEC_POWERPC=y
-CONFIG_XZ_DEC_IA64=y
-CONFIG_XZ_DEC_ARM=y
-CONFIG_XZ_DEC_ARMTHUMB=y
-CONFIG_XZ_DEC_SPARC=y
-CONFIG_XZ_DEC_BCJ=y
-# CONFIG_XZ_DEC_TEST is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_XZ=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_GENERIC_ALLOCATOR=y
-CONFIG_REED_SOLOMON=m
-CONFIG_REED_SOLOMON_DEC16=y
-CONFIG_BCH=m
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_BTREE=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_CHECK_SIGNATURE=y
-CONFIG_NLATTR=y
-CONFIG_LRU_CACHE=m
-CONFIG_AVERAGE=y
-CONFIG_CORDIC=m
diff --git a/source/k/config-x86/config-generic-smp-3.10.17-smp b/source/k/config-x86/config-generic-smp-3.10.17-smp
new file mode 100644
index 000000000..33c4ed7b3
--- /dev/null
+++ b/source/k/config-x86/config-generic-smp-3.10.17-smp
@@ -0,0 +1,6419 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/x86 3.10.17 Kernel Configuration
+#
+# CONFIG_64BIT is not set
+CONFIG_X86_32=y
+CONFIG_X86=y
+CONFIG_INSTRUCTION_DECODER=y
+CONFIG_OUTPUT_FORMAT="elf32-i386"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# CONFIG_ZONE_DMA32 is not set
+# CONFIG_AUDIT_ARCH is not set
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_X86_32_SMP=y
+CONFIG_X86_HT=y
+CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
+CONFIG_ARCH_CPU_PROBE_RELEASE=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_EXTABLE_SORT=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION="-smp"
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+CONFIG_DEFAULT_HOSTNAME="darkstar"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_FHANDLE=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_WATCH=y
+CONFIG_AUDIT_TREE=y
+# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_GENERIC_IRQ_CHIP=y
+CONFIG_IRQ_DOMAIN=y
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_KTIME_SCALAR=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_FANOUT=32
+CONFIG_RCU_FANOUT_LEAF=16
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_RCU_NOCB_CPU is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
+# CONFIG_NUMA_BALANCING is not set
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+# CONFIG_MEMCG is not set
+CONFIG_CGROUP_PERF=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_SCHED_AUTOGROUP is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_HAVE_UID16=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_HOTPLUG=y
+CONFIG_HAVE_PCSPKR_PLATFORM=y
+# CONFIG_EXPERT is not set
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+CONFIG_HAVE_OPROFILE=y
+CONFIG_OPROFILE_NMI_TIMER=y
+# CONFIG_KPROBES is not set
+# CONFIG_JUMP_LABEL is not set
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_PERF_EVENTS_NMI=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP_FILTER=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_MODULES_USE_ELF_REL=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_OLD_SIGACTION=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_BSGLIB=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_DEV_THROTTLING=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+CONFIG_OSF_PARTITION=y
+CONFIG_AMIGA_PARTITION=y
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+# CONFIG_LDM_PARTITION is not set
+CONFIG_SGI_PARTITION=y
+# CONFIG_ULTRIX_PARTITION is not set
+CONFIG_SUN_PARTITION=y
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_CFQ_GROUP_IOSCHED=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+CONFIG_ASN1=m
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_INLINE_READ_UNLOCK=y
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_INLINE_WRITE_UNLOCK=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_ZONE_DMA=y
+CONFIG_SMP=y
+CONFIG_X86_MPPARSE=y
+CONFIG_X86_BIGSMP=y
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+# CONFIG_X86_GOLDFISH is not set
+CONFIG_X86_INTEL_LPSS=y
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_X86_32_IRIS=m
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_HYPERVISOR_GUEST=y
+# CONFIG_PARAVIRT is not set
+# CONFIG_XEN_PRIVILEGED_GUEST is not set
+CONFIG_NO_BOOTMEM=y
+CONFIG_MEMTEST=y
+# CONFIG_M486 is not set
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+# CONFIG_M686 is not set
+# CONFIG_MPENTIUMII is not set
+CONFIG_MPENTIUMIII=y
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MELAN is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+CONFIG_X86_GENERIC=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=5
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_CPU_SUP_TRANSMETA_32=y
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+CONFIG_NR_CPUS=32
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+CONFIG_X86_ANCIENT_MCE=y
+CONFIG_X86_MCE_THRESHOLD=y
+CONFIG_X86_MCE_INJECT=m
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_VM86=y
+CONFIG_TOSHIBA=m
+CONFIG_I8K=m
+CONFIG_X86_REBOOTFIXUPS=y
+CONFIG_MICROCODE=m
+CONFIG_MICROCODE_INTEL=y
+CONFIG_MICROCODE_AMD=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_MICROCODE_INTEL_LIB=y
+CONFIG_MICROCODE_INTEL_EARLY=y
+CONFIG_MICROCODE_EARLY=y
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+# CONFIG_NOHIGHMEM is not set
+# CONFIG_HIGHMEM4G is not set
+CONFIG_HIGHMEM64G=y
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_HIGHMEM=y
+CONFIG_X86_PAE=y
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_NUMA=y
+# CONFIG_NUMA_EMU is not set
+CONFIG_NODES_SHIFT=3
+CONFIG_ARCH_HAVE_MEMORY_PRESENT=y
+CONFIG_NEED_NODE_MEMMAP_SIZE=y
+CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
+CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ILLEGAL_POINTER_VALUE=0
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_DISCONTIGMEM_MANUAL=y
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_DISCONTIGMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_NEED_MULTIPLE_NODES=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_ARCH_DISCARD_MEMBLOCK=y
+# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=98304
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+# CONFIG_MEMORY_FAILURE is not set
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_CLEANCACHE is not set
+# CONFIG_FRONTSWAP is not set
+CONFIG_HIGHPTE=y
+# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
+CONFIG_X86_RESERVE_LOW=64
+CONFIG_MATH_EMULATION=y
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_ARCH_RANDOM=y
+CONFIG_X86_SMAP=y
+CONFIG_EFI=y
+# CONFIG_EFI_STUB is not set
+CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+CONFIG_SCHED_HRTICK=y
+# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
+CONFIG_PHYSICAL_START=0x1000000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
+# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
+CONFIG_COMPAT_VDSO=y
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_USE_PERCPU_NUMA_NODE_ID=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION="\"\""
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+# CONFIG_PM_AUTOSLEEP is not set
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=100
+CONFIG_PM_WAKELOCKS_GC=y
+CONFIG_PM_RUNTIME=y
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_CLK=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_EC_DEBUGFS=m
+CONFIG_ACPI_PROC_EVENT=y
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_I2C=m
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_IPMI=m
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=m
+# CONFIG_ACPI_NUMA is not set
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y
+CONFIG_ACPI_BLACKLIST_YEAR=2001
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=y
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_SBS=m
+CONFIG_ACPI_HED=y
+# CONFIG_ACPI_CUSTOM_METHOD is not set
+CONFIG_ACPI_BGRT=y
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_EINJ=m
+CONFIG_ACPI_APEI_ERST_DEBUG=m
+CONFIG_SFI=y
+# CONFIG_APM is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=m
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# x86 CPU frequency scaling drivers
+#
+CONFIG_X86_INTEL_PSTATE=y
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ_CPB=y
+CONFIG_X86_POWERNOW_K6=m
+CONFIG_X86_POWERNOW_K7=m
+CONFIG_X86_POWERNOW_K7_ACPI=y
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_AMD_FREQ_SENSITIVITY=m
+CONFIG_X86_GX_SUSPMOD=m
+CONFIG_X86_SPEEDSTEP_CENTRINO=m
+CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
+CONFIG_X86_SPEEDSTEP_ICH=m
+CONFIG_X86_SPEEDSTEP_SMI=m
+CONFIG_X86_P4_CLOCKMOD=m
+CONFIG_X86_CPUFREQ_NFORCE2=m
+CONFIG_X86_LONGRUN=m
+CONFIG_X86_LONGHAUL=m
+CONFIG_X86_E_POWERSAVER=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
+CONFIG_CPU_IDLE=y
+# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
+CONFIG_INTEL_IDLE=y
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GODIRECT is not set
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+CONFIG_PCIEAER_INJECT=m
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
+CONFIG_PCI_STUB=m
+CONFIG_HT_IRQ=y
+# CONFIG_PCI_IOV is not set
+# CONFIG_PCI_PRI is not set
+# CONFIG_PCI_PASID is not set
+CONFIG_PCI_IOAPIC=y
+CONFIG_PCI_LABEL=y
+CONFIG_ISA_DMA_API=y
+CONFIG_ISA=y
+# CONFIG_EISA is not set
+CONFIG_SCx200=m
+CONFIG_SCx200HR_TIMER=m
+CONFIG_ALIX=y
+# CONFIG_NET5501 is not set
+# CONFIG_GEOS is not set
+CONFIG_AMD_NB=y
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_I82365=m
+CONFIG_TCIC=m
+CONFIG_PCMCIA_PROBE=y
+CONFIG_PCCARD_NONSTATIC=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_COMPAQ=m
+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
+CONFIG_HOTPLUG_PCI_IBM=m
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+# CONFIG_HOTPLUG_PCI_CPCI is not set
+CONFIG_HOTPLUG_PCI_SHPC=m
+# CONFIG_RAPIDIO is not set
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_SCRIPT=y
+CONFIG_HAVE_AOUT=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+CONFIG_HAVE_ATOMIC_IOMAP=y
+CONFIG_HAVE_TEXT_POKE_SMP=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=m
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=y
+CONFIG_XFRM_USER=y
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+# CONFIG_IP_FIB_TRIE_STATS is not set
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+# CONFIG_IPV6_SIT_6RD is not set
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETLABEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NF_CONNTRACK_PROCFS is not set
+# CONFIG_NF_CONNTRACK_EVENTS is not set
+# CONFIG_NF_CONNTRACK_TIMEOUT is not set
+# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+# CONFIG_NETFILTER_NETLINK_QUEUE_CT is not set
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NETFILTER_TPROXY=m
+CONFIG_NETFILTER_XTABLES=m
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
+CONFIG_NETFILTER_XT_TARGET_AUDIT=m
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_BPF=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS SH scheduler
+#
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_IP_VS_PE_SIP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT_IPV4=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV6=m
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RPFILTER=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_NF_NAT_IPV6=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_IP6_NF_TARGET_NPT=m
+
+#
+# DECnet: Netfilter Configuration
+#
+# CONFIG_DECNET_NF_GRABULATOR is not set
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+# CONFIG_IP_DCCP_CCID3 is not set
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+CONFIG_RDS=m
+CONFIG_RDS_RDMA=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
+CONFIG_TIPC=m
+CONFIG_TIPC_PORTS=8191
+CONFIG_TIPC_MEDIA_IB=y
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_L2TP=m
+CONFIG_L2TP_DEBUGFS=m
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=m
+CONFIG_L2TP_ETH=m
+CONFIG_STP=m
+CONFIG_GARP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_HAVE_NET_DSA=y
+CONFIG_NET_DSA=m
+CONFIG_NET_DSA_TAG_DSA=y
+CONFIG_NET_DSA_TAG_EDSA=y
+CONFIG_NET_DSA_TAG_TRAILER=y
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+# CONFIG_VLAN_8021Q_MVRP is not set
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_LTPC=m
+CONFIG_COPS=m
+CONFIG_COPS_DAYNA=y
+CONFIG_COPS_TANGENT=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+CONFIG_IEEE802154=m
+CONFIG_IEEE802154_6LOWPAN=m
+CONFIG_MAC802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_EMATCH_CANID=m
+CONFIG_NET_EMATCH_IPSET=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=y
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+# CONFIG_NET_CLS_IND is not set
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+CONFIG_BATMAN_ADV=m
+CONFIG_BATMAN_ADV_BLA=y
+CONFIG_BATMAN_ADV_DAT=y
+CONFIG_BATMAN_ADV_NC=y
+# CONFIG_BATMAN_ADV_DEBUG is not set
+CONFIG_OPENVSWITCH=m
+CONFIG_VSOCKETS=m
+CONFIG_VMWARE_VMCI_VSOCKETS=m
+CONFIG_NETLINK_MMAP=y
+CONFIG_NETLINK_DIAG=m
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+CONFIG_NETPRIO_CGROUP=m
+CONFIG_BQL=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_DROP_MONITOR is not set
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_SCC=m
+CONFIG_SCC_DELAY=y
+CONFIG_SCC_TRXECHO=y
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_BAYCOM_EPP=m
+CONFIG_YAM=m
+CONFIG_CAN=m
+CONFIG_CAN_RAW=m
+CONFIG_CAN_BCM=m
+CONFIG_CAN_GW=m
+
+#
+# CAN Device Drivers
+#
+CONFIG_CAN_VCAN=m
+CONFIG_CAN_SLCAN=m
+CONFIG_CAN_DEV=m
+CONFIG_CAN_CALC_BITTIMING=y
+# CONFIG_CAN_LEDS is not set
+CONFIG_CAN_JANZ_ICAN3=m
+CONFIG_PCH_CAN=m
+CONFIG_CAN_SJA1000=m
+CONFIG_CAN_SJA1000_ISA=m
+CONFIG_CAN_SJA1000_PLATFORM=m
+CONFIG_CAN_EMS_PCMCIA=m
+CONFIG_CAN_EMS_PCI=m
+CONFIG_CAN_PEAK_PCMCIA=m
+CONFIG_CAN_PEAK_PCI=m
+CONFIG_CAN_PEAK_PCIEC=y
+CONFIG_CAN_KVASER_PCI=m
+CONFIG_CAN_PLX_PCI=m
+CONFIG_CAN_TSCAN1=m
+CONFIG_CAN_C_CAN=m
+CONFIG_CAN_C_CAN_PLATFORM=m
+CONFIG_CAN_C_CAN_PCI=m
+CONFIG_CAN_CC770=m
+CONFIG_CAN_CC770_ISA=m
+CONFIG_CAN_CC770_PLATFORM=m
+
+#
+# CAN USB interfaces
+#
+CONFIG_CAN_EMS_USB=m
+CONFIG_CAN_ESD_USB2=m
+CONFIG_CAN_KVASER_USB=m
+CONFIG_CAN_PEAK_USB=m
+CONFIG_CAN_8DEV_USB=m
+CONFIG_CAN_SOFTING=m
+CONFIG_CAN_SOFTING_CS=m
+# CONFIG_CAN_DEBUG_DEVICES is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_TOSHIBA_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_CMTP=m
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_3WIRE=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_BT_WILINK=m
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_RFKILL_REGULATOR=m
+CONFIG_RFKILL_GPIO=m
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+CONFIG_NET_9P_RDMA=m
+# CONFIG_NET_9P_DEBUG is not set
+# CONFIG_CAIF is not set
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+CONFIG_NFC=m
+CONFIG_NFC_NCI=m
+CONFIG_NFC_HCI=m
+# CONFIG_NFC_SHDLC is not set
+
+#
+# Near Field Communication (NFC) devices
+#
+CONFIG_NFC_PN533=m
+CONFIG_NFC_WILINK=m
+# CONFIG_NFC_MEI_PHY is not set
+CONFIG_NFC_PN544=m
+CONFIG_NFC_MICROREAD=m
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_GENERIC_CPU_DEVICES is not set
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=m
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_CMA is not set
+
+#
+# Bus devices
+#
+CONFIG_CONNECTOR=m
+CONFIG_MTD=m
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_REDBOOT_PARTS=m
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=m
+CONFIG_MTD_AR7_PARTS=m
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+CONFIG_SM_FTL=m
+CONFIG_MTD_OOPS=m
+CONFIG_MTD_SWAP=m
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+CONFIG_MTD_GEN_PROBE=m
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_MAP_BANK_WIDTH_8=y
+CONFIG_MTD_MAP_BANK_WIDTH_16=y
+CONFIG_MTD_MAP_BANK_WIDTH_32=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+CONFIG_MTD_CFI_I4=y
+CONFIG_MTD_CFI_I8=y
+CONFIG_MTD_OTP=y
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_CFI_UTIL=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=m
+# CONFIG_MTD_PHYSMAP_COMPAT is not set
+CONFIG_MTD_SC520CDP=m
+CONFIG_MTD_NETSC520=m
+CONFIG_MTD_TS5500=m
+CONFIG_MTD_SBC_GXX=m
+CONFIG_MTD_SCx200_DOCFLASH=m
+CONFIG_MTD_AMD76XROM=m
+CONFIG_MTD_ICHXROM=m
+CONFIG_MTD_ESB2ROM=m
+CONFIG_MTD_CK804XROM=m
+CONFIG_MTD_SCB2_FLASH=m
+CONFIG_MTD_NETtel=m
+CONFIG_MTD_L440GX=m
+CONFIG_MTD_PCI=m
+CONFIG_MTD_PCMCIA=m
+# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
+CONFIG_MTD_GPIO_ADDR=m
+CONFIG_MTD_INTEL_VR_NOR=m
+CONFIG_MTD_PLATRAM=m
+CONFIG_MTD_LATCH_ADDR=m
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_PMC551=m
+CONFIG_MTD_PMC551_BUGFIX=y
+# CONFIG_MTD_PMC551_DEBUG is not set
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+
+#
+# Disk-On-Chip Device Drivers
+#
+CONFIG_MTD_DOCG3=m
+CONFIG_BCH_CONST_M=14
+CONFIG_BCH_CONST_T=4
+CONFIG_MTD_NAND_ECC=m
+CONFIG_MTD_NAND_ECC_SMC=y
+CONFIG_MTD_NAND=m
+CONFIG_MTD_NAND_BCH=m
+CONFIG_MTD_NAND_ECC_BCH=y
+CONFIG_MTD_SM_COMMON=m
+CONFIG_MTD_NAND_DENALI=m
+CONFIG_MTD_NAND_DENALI_PCI=m
+CONFIG_MTD_NAND_DENALI_DT=m
+CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
+CONFIG_MTD_NAND_IDS=m
+CONFIG_MTD_NAND_RICOH=m
+CONFIG_MTD_NAND_DISKONCHIP=m
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
+CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y
+CONFIG_MTD_NAND_DOCG4=m
+CONFIG_MTD_NAND_CAFE=m
+CONFIG_MTD_NAND_CS553X=m
+CONFIG_MTD_NAND_NANDSIM=m
+CONFIG_MTD_NAND_PLATFORM=m
+CONFIG_MTD_ALAUDA=m
+CONFIG_MTD_ONENAND=m
+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+CONFIG_MTD_ONENAND_GENERIC=m
+CONFIG_MTD_ONENAND_OTP=y
+CONFIG_MTD_ONENAND_2X_PROGRAM=y
+
+#
+# LPDDR flash memory drivers
+#
+CONFIG_MTD_LPDDR=m
+CONFIG_MTD_QINFO_PROBE=m
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+CONFIG_PNP_DEBUG_MESSAGES=y
+
+#
+# Protocols
+#
+CONFIG_ISAPNP=y
+# CONFIG_PNPBIOS is not set
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=y
+CONFIG_PARIDE=m
+
+#
+# Parallel IDE high-level drivers
+#
+CONFIG_PARIDE_PD=m
+CONFIG_PARIDE_PCD=m
+CONFIG_PARIDE_PF=m
+CONFIG_PARIDE_PT=m
+CONFIG_PARIDE_PG=m
+
+#
+# Parallel IDE protocol modules
+#
+CONFIG_PARIDE_ATEN=m
+CONFIG_PARIDE_BPCK=m
+CONFIG_PARIDE_BPCK6=m
+CONFIG_PARIDE_COMM=m
+CONFIG_PARIDE_DSTR=m
+CONFIG_PARIDE_FIT2=m
+CONFIG_PARIDE_FIT3=m
+CONFIG_PARIDE_EPAT=m
+CONFIG_PARIDE_EPATC8=y
+CONFIG_PARIDE_EPIA=m
+CONFIG_PARIDE_FRIQ=m
+CONFIG_PARIDE_FRPW=m
+CONFIG_PARIDE_KBIC=m
+CONFIG_PARIDE_KTTI=m
+CONFIG_PARIDE_ON20=m
+CONFIG_PARIDE_ON26=m
+CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=m
+CONFIG_BLK_DEV_UMEM=m
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NVME=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=m
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_BLK_DEV_RBD=m
+CONFIG_BLK_DEV_RSXX=m
+
+#
+# Misc devices
+#
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_AD525X_DPOT=m
+CONFIG_AD525X_DPOT_I2C=m
+CONFIG_ATMEL_PWM=m
+CONFIG_DUMMY_IRQ=m
+CONFIG_IBM_ASM=m
+CONFIG_PHANTOM=m
+CONFIG_INTEL_MID_PTI=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+CONFIG_ATMEL_SSC=m
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+CONFIG_HP_ILO=m
+CONFIG_APDS9802ALS=m
+CONFIG_ISL29003=m
+CONFIG_ISL29020=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_SENSORS_BH1780=m
+CONFIG_SENSORS_BH1770=m
+CONFIG_SENSORS_APDS990X=m
+CONFIG_HMC6352=m
+CONFIG_DS1682=m
+CONFIG_VMWARE_BALLOON=m
+CONFIG_BMP085=y
+CONFIG_BMP085_I2C=m
+CONFIG_PCH_PHUB=m
+CONFIG_USB_SWITCH_FSA9480=m
+# CONFIG_SRAM is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+
+#
+# Texas Instruments shared transport line discipline
+#
+CONFIG_TI_ST=m
+CONFIG_SENSORS_LIS3_I2C=m
+
+#
+# Altera FPGA firmware download module
+#
+CONFIG_ALTERA_STAPL=m
+CONFIG_INTEL_MEI=m
+CONFIG_INTEL_MEI_ME=m
+CONFIG_VMWARE_VMCI=m
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+CONFIG_RAID_ATTRS=y
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=y
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=y
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_FC_TGT_ATTRS=y
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=y
+CONFIG_SCSI_SAS_LIBSAS=y
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_ISCSI_BOOT_SYSFS=y
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_CXGB4_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_SCSI_BNX2X_FCOE=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
+CONFIG_SCSI_7000FASST=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AHA152X=m
+CONFIG_SCSI_AHA1542=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_AIC7XXX_OLD=m
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=4
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+# CONFIG_SCSI_MVSAS_TASKLET is not set
+CONFIG_SCSI_MVUMI=m
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=m
+CONFIG_SCSI_IN2000=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT3SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT3SAS_LOGGING is not set
+CONFIG_SCSI_UFSHCD=m
+CONFIG_SCSI_UFSHCD_PCI=m
+CONFIG_SCSI_UFSHCD_PLATFORM=m
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_BUSLOGIC=m
+CONFIG_SCSI_FLASHPOINT=y
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_DTC3280=m
+CONFIG_SCSI_EATA=m
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_ISCI=m
+CONFIG_SCSI_GENERIC_NCR5380=m
+CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
+CONFIG_SCSI_GENERIC_NCR53C400=y
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_NCR53C406A=m
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_PAS16=m
+CONFIG_SCSI_QLOGIC_FAS=m
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_QLA_FC=m
+CONFIG_TCM_QLA2XXX=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_SYM53C416=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_T128=m
+CONFIG_SCSI_U14_34F=m
+# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
+# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
+CONFIG_SCSI_U14_34F_MAX_TAGS=8
+CONFIG_SCSI_ULTRASTOR=m
+CONFIG_SCSI_NSP32=m
+CONFIG_SCSI_DEBUG=m
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
+CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_VIRTIO=m
+CONFIG_SCSI_CHELSIO_FCOE=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_NINJA_SCSI=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=1
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+# CONFIG_SATA_ZPODD is not set
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_SATA_INIC162X=y
+CONFIG_SATA_ACARD_AHCI=y
+CONFIG_SATA_SIL24=y
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+CONFIG_PDC_ADMA=y
+CONFIG_SATA_QSTOR=y
+CONFIG_SATA_SX4=y
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+CONFIG_ATA_PIIX=y
+CONFIG_SATA_HIGHBANK=m
+CONFIG_SATA_MV=y
+CONFIG_SATA_NV=y
+CONFIG_SATA_PROMISE=y
+CONFIG_SATA_SIL=y
+CONFIG_SATA_SIS=y
+CONFIG_SATA_SVW=y
+CONFIG_SATA_ULI=y
+CONFIG_SATA_VIA=y
+CONFIG_SATA_VITESSE=y
+
+#
+# PATA SFF controllers with BMDMA
+#
+CONFIG_PATA_ALI=y
+CONFIG_PATA_AMD=y
+CONFIG_PATA_ARASAN_CF=m
+CONFIG_PATA_ARTOP=y
+CONFIG_PATA_ATIIXP=y
+CONFIG_PATA_ATP867X=y
+CONFIG_PATA_CMD64X=y
+CONFIG_PATA_CS5520=y
+CONFIG_PATA_CS5530=y
+CONFIG_PATA_CS5535=y
+CONFIG_PATA_CS5536=y
+CONFIG_PATA_CYPRESS=y
+CONFIG_PATA_EFAR=y
+CONFIG_PATA_HPT366=y
+CONFIG_PATA_HPT37X=y
+CONFIG_PATA_HPT3X2N=y
+CONFIG_PATA_HPT3X3=y
+CONFIG_PATA_HPT3X3_DMA=y
+CONFIG_PATA_IT8213=y
+CONFIG_PATA_IT821X=y
+CONFIG_PATA_JMICRON=y
+CONFIG_PATA_MARVELL=y
+CONFIG_PATA_NETCELL=y
+CONFIG_PATA_NINJA32=y
+CONFIG_PATA_NS87415=y
+CONFIG_PATA_OLDPIIX=y
+CONFIG_PATA_OPTIDMA=y
+CONFIG_PATA_PDC2027X=y
+CONFIG_PATA_PDC_OLD=y
+CONFIG_PATA_RADISYS=y
+CONFIG_PATA_RDC=y
+CONFIG_PATA_SC1200=y
+CONFIG_PATA_SCH=y
+CONFIG_PATA_SERVERWORKS=y
+CONFIG_PATA_SIL680=y
+CONFIG_PATA_SIS=y
+CONFIG_PATA_TOSHIBA=m
+CONFIG_PATA_TRIFLEX=y
+CONFIG_PATA_VIA=y
+CONFIG_PATA_WINBOND=y
+
+#
+# PIO-only SFF controllers
+#
+CONFIG_PATA_CMD640_PCI=y
+CONFIG_PATA_ISAPNP=y
+CONFIG_PATA_MPIIX=y
+CONFIG_PATA_NS87410=y
+CONFIG_PATA_OPTI=y
+CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_QDI=y
+CONFIG_PATA_RZ1000=y
+CONFIG_PATA_WINBOND_VLB=y
+
+#
+# Generic fallback / legacy drivers
+#
+CONFIG_PATA_ACPI=y
+CONFIG_ATA_GENERIC=y
+CONFIG_PATA_LEGACY=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=y
+CONFIG_MD_AUTODETECT=y
+CONFIG_MD_LINEAR=y
+CONFIG_MD_RAID0=y
+CONFIG_MD_RAID1=y
+CONFIG_MD_RAID10=y
+CONFIG_MD_RAID456=y
+CONFIG_MD_MULTIPATH=y
+CONFIG_MD_FAULTY=m
+CONFIG_BCACHE=m
+# CONFIG_BCACHE_DEBUG is not set
+# CONFIG_BCACHE_EDEBUG is not set
+# CONFIG_BCACHE_CLOSURES_DEBUG is not set
+CONFIG_BLK_DEV_DM=y
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_BUFIO=m
+CONFIG_DM_BIO_PRISON=m
+CONFIG_DM_PERSISTENT_DATA=m
+CONFIG_DM_CRYPT=y
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_THIN_PROVISIONING=m
+# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
+CONFIG_DM_CACHE=m
+CONFIG_DM_CACHE_MQ=m
+CONFIG_DM_CACHE_CLEANER=m
+CONFIG_DM_MIRROR=y
+CONFIG_DM_RAID=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+# CONFIG_DM_DELAY is not set
+CONFIG_DM_UEVENT=y
+CONFIG_DM_FLAKEY=m
+CONFIG_DM_VERITY=m
+CONFIG_TARGET_CORE=m
+CONFIG_TCM_IBLOCK=m
+CONFIG_TCM_FILEIO=m
+CONFIG_TCM_PSCSI=m
+CONFIG_LOOPBACK_TARGET=m
+CONFIG_TCM_FC=m
+CONFIG_ISCSI_TARGET=m
+CONFIG_SBP_TARGET=m
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=m
+CONFIG_FUSION_LAN=m
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+CONFIG_FIREWIRE_NOSY=m
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_EXT_ADAPTEC_DMA64=y
+CONFIG_I2O_CONFIG=m
+# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_EQUALIZER=m
+CONFIG_NET_FC=y
+CONFIG_MII=m
+CONFIG_IFB=m
+CONFIG_NET_TEAM=m
+CONFIG_NET_TEAM_MODE_BROADCAST=m
+CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
+CONFIG_NET_TEAM_MODE_RANDOM=m
+CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
+CONFIG_NET_TEAM_MODE_LOADBALANCE=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_VXLAN=m
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=m
+CONFIG_SUNGEM_PHY=m
+CONFIG_ARCNET=m
+CONFIG_ARCNET_1201=m
+CONFIG_ARCNET_1051=m
+CONFIG_ARCNET_RAW=m
+CONFIG_ARCNET_CAP=m
+CONFIG_ARCNET_COM90xx=m
+CONFIG_ARCNET_COM90xxIO=m
+CONFIG_ARCNET_RIM_I=m
+CONFIG_ARCNET_COM20020=m
+CONFIG_ARCNET_COM20020_ISA=m
+CONFIG_ARCNET_COM20020_PCI=m
+CONFIG_ARCNET_COM20020_CS=m
+CONFIG_ATM_DRIVERS=y
+CONFIG_ATM_DUMMY=m
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E=m
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+
+#
+# CAIF transport drivers
+#
+CONFIG_VHOST_NET=m
+CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_RING=m
+
+#
+# Distributed Switch Architecture drivers
+#
+CONFIG_NET_DSA_MV88E6XXX=m
+CONFIG_NET_DSA_MV88E6060=m
+CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
+CONFIG_NET_DSA_MV88E6131=m
+CONFIG_NET_DSA_MV88E6123_61_65=m
+CONFIG_ETHERNET=y
+CONFIG_MDIO=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_EL3=m
+CONFIG_3C515=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_3C589=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_NET_VENDOR_ADAPTEC=y
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_NET_VENDOR_ALTEON=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_NET_VENDOR_AMD=y
+CONFIG_AMD8111_ETH=m
+CONFIG_LANCE=m
+CONFIG_PCNET32=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_NI65=m
+CONFIG_NET_VENDOR_ATHEROS=y
+CONFIG_ATL2=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_ALX=m
+CONFIG_NET_CADENCE=y
+CONFIG_ARM_AT91_ETHER=m
+CONFIG_MACB=m
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_TIGON3=m
+CONFIG_BNX2X=m
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_BNA=m
+CONFIG_NET_CALXEDA_XGMAC=m
+CONFIG_NET_VENDOR_CHELSIO=y
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4=m
+CONFIG_CHELSIO_T4VF=m
+CONFIG_NET_VENDOR_CIRRUS=y
+CONFIG_CS89x0=m
+# CONFIG_CS89x0_PLATFORM is not set
+CONFIG_NET_VENDOR_CISCO=y
+CONFIG_ENIC=m
+CONFIG_DNET=m
+CONFIG_NET_VENDOR_DEC=y
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+CONFIG_TULIP_MMIO=y
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_NET_VENDOR_DLINK=y
+CONFIG_DL2K=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_NET_VENDOR_EMULEX=y
+CONFIG_BE2NET=m
+CONFIG_NET_VENDOR_EXAR=y
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_NET_VENDOR_FUJITSU=y
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_NET_VENDOR_HP=y
+CONFIG_HP100=m
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_E100=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IGB=m
+CONFIG_IGB_HWMON=y
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_IXGB=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_HWMON=y
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_IP1000=m
+CONFIG_JME=m
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_MVMDIO=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKGE_GENESIS=y
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_NET_VENDOR_MICREL=y
+CONFIG_KS8842=m
+CONFIG_KS8851_MLL=m
+CONFIG_KSZ884X_PCI=m
+CONFIG_NET_VENDOR_MYRI=y
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_FEALNX=m
+CONFIG_NET_VENDOR_NATSEMI=y
+CONFIG_NATSEMI=m
+CONFIG_NS83820=m
+CONFIG_NET_VENDOR_8390=y
+CONFIG_PCMCIA_AXNET=m
+CONFIG_NE2000=m
+CONFIG_NE2K_PCI=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_ULTRA=m
+CONFIG_WD80x3=m
+CONFIG_NET_VENDOR_NVIDIA=y
+CONFIG_FORCEDETH=m
+CONFIG_NET_VENDOR_OKI=y
+CONFIG_PCH_GBE=m
+CONFIG_ETHOC=m
+CONFIG_NET_PACKET_ENGINE=y
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_NET_VENDOR_QLOGIC=y
+CONFIG_QLA3XXX=m
+CONFIG_QLCNIC=m
+CONFIG_QLGE=m
+CONFIG_NETXEN_NIC=m
+CONFIG_NET_VENDOR_REALTEK=y
+CONFIG_ATP=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+CONFIG_8139TOO_PIO=y
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R8169=m
+CONFIG_NET_VENDOR_RDC=y
+CONFIG_R6040=m
+CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SILAN=y
+CONFIG_SC92031=m
+CONFIG_NET_VENDOR_SIS=y
+CONFIG_SIS900=m
+CONFIG_SIS190=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_SFC_MCDI_MON=y
+CONFIG_NET_VENDOR_SMSC=y
+CONFIG_SMC9194=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
+CONFIG_NET_VENDOR_STMICRO=y
+CONFIG_STMMAC_ETH=m
+CONFIG_STMMAC_PLATFORM=y
+# CONFIG_STMMAC_PCI is not set
+CONFIG_STMMAC_DEBUG_FS=y
+# CONFIG_STMMAC_DA is not set
+CONFIG_NET_VENDOR_SUN=y
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NIU=m
+CONFIG_NET_VENDOR_TEHUTI=y
+CONFIG_TEHUTI=m
+CONFIG_NET_VENDOR_TI=y
+CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VIA=y
+CONFIG_VIA_RHINE=m
+CONFIG_VIA_RHINE_MMIO=y
+CONFIG_VIA_VELOCITY=m
+CONFIG_NET_VENDOR_WIZNET=y
+CONFIG_WIZNET_W5100=m
+CONFIG_WIZNET_W5300=m
+# CONFIG_WIZNET_BUS_DIRECT is not set
+# CONFIG_WIZNET_BUS_INDIRECT is not set
+CONFIG_WIZNET_BUS_ANY=y
+CONFIG_NET_VENDOR_XIRCOM=y
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_FDDI=y
+CONFIG_DEFXX=m
+# CONFIG_DEFXX_MMIO is not set
+CONFIG_SKFP=m
+CONFIG_HIPPI=y
+CONFIG_ROADRUNNER=m
+# CONFIG_ROADRUNNER_LARGE_RINGS is not set
+CONFIG_NET_SB1000=m
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_AT803X_PHY=m
+CONFIG_AMD_PHY=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_BCM87XX_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+CONFIG_MDIO_BITBANG=m
+CONFIG_MDIO_GPIO=m
+CONFIG_PLIP=m
+CONFIG_PPP=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOATM=m
+CONFIG_PPPOE=m
+CONFIG_PPTP=m
+CONFIG_PPPOL2TP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_SLIP=m
+CONFIG_SLHC=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLIP_SMART=y
+# CONFIG_SLIP_MODE_SLIP6 is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_CDC_MBIM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_NET_CX82310_ETH=m
+CONFIG_USB_NET_KALMIA=m
+CONFIG_USB_NET_QMI_WWAN=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_USB_VL600=m
+CONFIG_WLAN=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_LIBERTAS_THINFIRM=m
+# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+CONFIG_ATH_CARDS=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+# CONFIG_ATH5K_TRACER is not set
+CONFIG_ATH5K_PCI=y
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
+CONFIG_ATH9K=m
+CONFIG_ATH9K_PCI=y
+# CONFIG_ATH9K_AHB is not set
+# CONFIG_ATH9K_DEBUGFS is not set
+# CONFIG_ATH9K_LEGACY_RATE_CONTROL is not set
+CONFIG_ATH9K_HTC=m
+# CONFIG_ATH9K_HTC_DEBUGFS is not set
+CONFIG_CARL9170=m
+CONFIG_CARL9170_LEDS=y
+CONFIG_CARL9170_WPC=y
+# CONFIG_CARL9170_HWRNG is not set
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_ATH6KL_USB=m
+# CONFIG_ATH6KL_DEBUG is not set
+# CONFIG_ATH6KL_TRACING is not set
+CONFIG_AR5523=m
+CONFIG_WIL6210=m
+CONFIG_WIL6210_ISR_COR=y
+CONFIG_B43=m
+CONFIG_B43_BCMA=y
+# CONFIG_B43_BCMA_EXTRA is not set
+CONFIG_B43_SSB=y
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_BCMA_PIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_N=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_PHY_HT=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_BRCMUTIL=m
+CONFIG_BRCMSMAC=m
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_SDIO=y
+CONFIG_BRCMFMAC_USB=y
+CONFIG_BRCM_TRACING=y
+# CONFIG_BRCMDBG is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+CONFIG_IWLDVM=m
+CONFIG_IWLMVM=m
+CONFIG_IWLWIFI_OPMODE_MODULAR=y
+
+#
+# Debugging Options
+#
+# CONFIG_IWLWIFI_DEBUG is not set
+# CONFIG_IWLWIFI_DEVICE_TRACING is not set
+# CONFIG_IWLWIFI_P2P is not set
+CONFIG_IWLEGACY=m
+CONFIG_IWL4965=m
+CONFIG_IWL3945=m
+
+#
+# iwl3945 / iwl4965 Debugging Options
+#
+# CONFIG_IWLEGACY_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+# CONFIG_HERMES_PRISM is not set
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_ORINOCO_USB=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT33XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2800PCI_RT53XX=y
+CONFIG_RT2800PCI_RT3290=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT33XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_RT53XX=y
+CONFIG_RT2800USB_RT55XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_MMIO=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_RTLWIFI=m
+# CONFIG_RTLWIFI_DEBUG is not set
+CONFIG_RTL8192CE=m
+CONFIG_RTL8192SE=m
+CONFIG_RTL8192DE=m
+CONFIG_RTL8723AE=m
+CONFIG_RTL8188EE=m
+CONFIG_RTL8192CU=m
+CONFIG_RTL8192C_COMMON=m
+CONFIG_WL_TI=y
+CONFIG_WL1251=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL12XX=m
+CONFIG_WL18XX=m
+CONFIG_WLCORE=m
+CONFIG_WLCORE_SDIO=m
+CONFIG_WILINK_PLATFORM_DATA=y
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_MWIFIEX_USB=m
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+CONFIG_WAN=y
+CONFIG_HOSTESS_SV11=m
+CONFIG_COSA=m
+CONFIG_LANMEDIA=m
+CONFIG_SEALEVEL_4021=m
+CONFIG_HDLC=m
+CONFIG_HDLC_RAW=m
+CONFIG_HDLC_RAW_ETH=m
+CONFIG_HDLC_CISCO=m
+CONFIG_HDLC_FR=m
+CONFIG_HDLC_PPP=m
+
+#
+# X.25/LAPB support is disabled
+#
+CONFIG_PCI200SYN=m
+CONFIG_WANXL=m
+# CONFIG_PC300TOO is not set
+CONFIG_N2=m
+CONFIG_C101=m
+CONFIG_FARSYNC=m
+CONFIG_DSCC4=m
+# CONFIG_DSCC4_PCISYNC is not set
+# CONFIG_DSCC4_PCI_RST is not set
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+CONFIG_SDLA=m
+CONFIG_SBNI=m
+# CONFIG_SBNI_MULTILINE is not set
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+CONFIG_IEEE802154_FAKELB=m
+CONFIG_VMXNET3=m
+CONFIG_HYPERV_NET=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+CONFIG_HISAX_NO_SENDCOMPLETE=y
+CONFIG_HISAX_NO_LLC=y
+CONFIG_HISAX_NO_KEYPAD=y
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_0=y
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_AVM_A1=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_IX1MICROR2=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_ASUSCOM=y
+CONFIG_HISAX_TELEINT=y
+CONFIG_HISAX_HFCS=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_SPORTSTER=y
+CONFIG_HISAX_MIC=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_ISURF=y
+CONFIG_HISAX_HSTSAPHIR=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_ISDN_DRV_ICN=m
+CONFIG_ISDN_DRV_PCBIT=m
+CONFIG_ISDN_DRV_SC=m
+CONFIG_ISDN_DRV_ACT2000=m
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_T1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+# CONFIG_GIGASET_CAPI is not set
+CONFIG_GIGASET_I4L=y
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+# CONFIG_GIGASET_M101 is not set
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=y
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+CONFIG_INPUT_MATRIXKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ADP5589=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_QT1070=m
+CONFIG_KEYBOARD_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_GPIO_POLLED=m
+CONFIG_KEYBOARD_TCA6416=m
+CONFIG_KEYBOARD_TCA8418=m
+CONFIG_KEYBOARD_MATRIX=m
+CONFIG_KEYBOARD_LM8323=m
+CONFIG_KEYBOARD_LM8333=m
+CONFIG_KEYBOARD_MAX7359=m
+CONFIG_KEYBOARD_MCS=m
+CONFIG_KEYBOARD_MPR121=m
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OPENCORES=m
+CONFIG_KEYBOARD_SAMSUNG=m
+CONFIG_KEYBOARD_STOWAWAY=m
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_CROS_EC=m
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+CONFIG_MOUSE_PS2_TOUCHKIT=y
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_CYAPA=m
+CONFIG_MOUSE_INPORT=m
+CONFIG_MOUSE_ATIXL=y
+CONFIG_MOUSE_LOGIBM=m
+CONFIG_MOUSE_PC110PAD=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_MOUSE_SYNAPTICS_USB=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_AS5011=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_HANWANG=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
+CONFIG_TOUCHSCREEN_BU21013=m
+CONFIG_TOUCHSCREEN_CY8CTMG110=m
+CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
+CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_HAMPSHIRE=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_ILI210X=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_WACOM_I2C=m
+CONFIG_TOUCHSCREEN_MAX11801=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MMS114=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_HTCPEN=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+CONFIG_TOUCHSCREEN_WM9705=y
+CONFIG_TOUCHSCREEN_WM9712=y
+CONFIG_TOUCHSCREEN_WM9713=y
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+CONFIG_TOUCHSCREEN_MC13783=m
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+CONFIG_TOUCHSCREEN_USB_ELO=y
+CONFIG_TOUCHSCREEN_USB_E2I=y
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC_SERIO=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+CONFIG_TOUCHSCREEN_W90X900=m
+CONFIG_TOUCHSCREEN_ST1232=m
+CONFIG_TOUCHSCREEN_TPS6507X=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_AD714X=m
+CONFIG_INPUT_AD714X_I2C=m
+CONFIG_INPUT_BMA150=m
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_MC13783_PWRBUTTON=m
+CONFIG_INPUT_MMA8450=m
+CONFIG_INPUT_MPU3050=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_GP2A=m
+CONFIG_INPUT_GPIO_TILT_POLLED=m
+CONFIG_INPUT_WISTRON_BTNS=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_KXTJ9=m
+CONFIG_INPUT_KXTJ9_POLLED_MODE=y
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_PCF8574=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+CONFIG_INPUT_ADXL34X=m
+CONFIG_INPUT_ADXL34X_I2C=m
+CONFIG_INPUT_IMS_PCU=m
+CONFIG_INPUT_CMA3000=m
+CONFIG_INPUT_CMA3000_I2C=m
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
+CONFIG_SERIO_PS2MULT=m
+CONFIG_SERIO_ARC_PS2=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=32
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+CONFIG_MOXA_INTELLIO=m
+CONFIG_MOXA_SMARTIO=m
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+CONFIG_SYNCLINK_GT=m
+CONFIG_NOZOMI=m
+CONFIG_ISI=m
+CONFIG_N_HDLC=m
+CONFIG_N_GSM=m
+CONFIG_TRACE_ROUTER=m
+CONFIG_TRACE_SINK=m
+CONFIG_DEVKMEM=y
+CONFIG_STALDRV=y
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_FOURPORT=m
+CONFIG_SERIAL_8250_ACCENT=m
+CONFIG_SERIAL_8250_BOCA=m
+CONFIG_SERIAL_8250_EXAR_ST16C554=m
+CONFIG_SERIAL_8250_HUB6=m
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_8250_DW=m
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_MFD_HSU=m
+CONFIG_SERIAL_UARTLITE=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_SCCNXP=m
+CONFIG_SERIAL_TIMBERDALE=m
+CONFIG_SERIAL_ALTERA_JTAGUART=m
+CONFIG_SERIAL_ALTERA_UART=m
+CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
+CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
+CONFIG_SERIAL_PCH_UART=m
+CONFIG_SERIAL_ARC=m
+CONFIG_SERIAL_ARC_NR_PORTS=1
+CONFIG_SERIAL_RP2=m
+CONFIG_SERIAL_RP2_NR_UARTS=32
+CONFIG_PRINTER=m
+CONFIG_LP_CONSOLE=y
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_VIRTIO_CONSOLE=m
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_ATMEL=m
+CONFIG_HW_RANDOM_GEODE=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_EXYNOS=m
+CONFIG_HW_RANDOM_TPM=m
+CONFIG_NVRAM=m
+CONFIG_DTLK=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+CONFIG_SONYPI=m
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+CONFIG_MWAVE=m
+CONFIG_SCx200_GPIO=m
+CONFIG_PC8736x_GPIO=m
+CONFIG_NSC_GPIO=m
+CONFIG_RAW_DRIVER=m
+CONFIG_MAX_RAW_DEVS=256
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_TIS_I2C_INFINEON=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TCG_ST33_I2C=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_MUX=m
+
+#
+# Multiplexer I2C Chip support
+#
+CONFIG_I2C_MUX_GPIO=m
+CONFIG_I2C_MUX_PCA9541=m
+CONFIG_I2C_MUX_PCA954x=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_ISMT=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_PLATFORM=m
+CONFIG_I2C_DESIGNWARE_PCI=m
+CONFIG_I2C_EG20T=m
+CONFIG_I2C_GPIO=m
+CONFIG_I2C_INTEL_MID=m
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_DIOLAN_U2C=m
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+CONFIG_I2C_VIPERBOARD=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_PCA_ISA=m
+CONFIG_SCx200_I2C=m
+CONFIG_SCx200_I2C_SCL=12
+CONFIG_SCx200_I2C_SDA=13
+CONFIG_SCx200_ACB=m
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_SPI is not set
+
+#
+# Qualcomm MSM SSBI bus support
+#
+# CONFIG_SSBI is not set
+CONFIG_HSI=m
+CONFIG_HSI_BOARDINFO=y
+
+#
+# HSI clients
+#
+CONFIG_HSI_CHAR=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_PPS_CLIENT_PARPORT=m
+CONFIG_PPS_CLIENT_GPIO=m
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=m
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+CONFIG_PTP_1588_CLOCK_PCH=m
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_GPIO_DEVRES=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_ACPI=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_GENERIC=m
+CONFIG_GPIO_MAX730X=m
+
+#
+# Memory mapped GPIO drivers:
+#
+CONFIG_GPIO_GENERIC_PLATFORM=m
+CONFIG_GPIO_IT8761E=m
+CONFIG_GPIO_TS5500=m
+CONFIG_GPIO_SCH=m
+CONFIG_GPIO_ICH=m
+CONFIG_GPIO_VX855=m
+CONFIG_GPIO_LYNXPOINT=y
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_ARIZONA=m
+CONFIG_GPIO_MAX7300=m
+CONFIG_GPIO_MAX732X=m
+CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCF857X=m
+CONFIG_GPIO_ADP5588=m
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_AMD8111=m
+# CONFIG_GPIO_LANGWELL is not set
+CONFIG_GPIO_PCH=m
+CONFIG_GPIO_ML_IOH=m
+# CONFIG_GPIO_TIMBERDALE is not set
+CONFIG_GPIO_RDC321X=m
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MCP23S08=m
+
+#
+# AC97 GPIO expanders:
+#
+# CONFIG_GPIO_UCB1400 is not set
+
+#
+# MODULbus GPIO expanders:
+#
+CONFIG_GPIO_JANZ_TTL=m
+
+#
+# USB GPIO expanders:
+#
+CONFIG_GPIO_VIPERBOARD=m
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_DS1WM=m
+CONFIG_W1_MASTER_GPIO=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2408=m
+# CONFIG_W1_SLAVE_DS2408_READBACK is not set
+CONFIG_W1_SLAVE_DS2413=m
+CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2431=m
+CONFIG_W1_SLAVE_DS2433=m
+CONFIG_W1_SLAVE_DS2433_CRC=y
+CONFIG_W1_SLAVE_DS2760=m
+CONFIG_W1_SLAVE_DS2780=m
+CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS28E04=m
+CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_GENERIC_ADC_BATTERY=m
+CONFIG_TEST_POWER=m
+CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2780=m
+CONFIG_BATTERY_DS2781=m
+CONFIG_BATTERY_DS2782=m
+CONFIG_BATTERY_SBS=m
+CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_BQ27X00_I2C=y
+CONFIG_BATTERY_BQ27X00_PLATFORM=y
+CONFIG_BATTERY_MAX17040=m
+CONFIG_BATTERY_MAX17042=m
+CONFIG_CHARGER_PCF50633=m
+CONFIG_CHARGER_ISP1704=m
+CONFIG_CHARGER_MAX8903=m
+CONFIG_CHARGER_LP8727=m
+CONFIG_CHARGER_GPIO=m
+# CONFIG_CHARGER_MANAGER is not set
+CONFIG_CHARGER_BQ2415X=m
+CONFIG_CHARGER_SMB347=m
+CONFIG_BATTERY_GOLDFISH=m
+CONFIG_POWER_RESET=y
+CONFIG_POWER_AVS=y
+CONFIG_HWMON=m
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7X10=m
+CONFIG_SENSORS_ADT7410=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_FAM15H_POWER=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS620=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_GPIO_FAN=m
+CONFIG_SENSORS_HIH6130=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IIO_HWMON=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_JC42=m
+CONFIG_SENSORS_LINEAGE=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4151=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LTC4261=m
+CONFIG_SENSORS_LM95234=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_LM95245=m
+CONFIG_SENSORS_MAX16065=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX1668=m
+CONFIG_SENSORS_MAX197=m
+CONFIG_SENSORS_MAX6639=m
+CONFIG_SENSORS_MAX6642=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_MAX6697=m
+CONFIG_SENSORS_MCP3021=m
+CONFIG_SENSORS_NCT6775=m
+CONFIG_SENSORS_NTC_THERMISTOR=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_PMBUS=m
+CONFIG_SENSORS_PMBUS=m
+CONFIG_SENSORS_ADM1275=m
+CONFIG_SENSORS_LM25066=m
+CONFIG_SENSORS_LTC2978=m
+CONFIG_SENSORS_MAX16064=m
+CONFIG_SENSORS_MAX34440=m
+CONFIG_SENSORS_MAX8688=m
+CONFIG_SENSORS_UCD9000=m
+CONFIG_SENSORS_UCD9200=m
+CONFIG_SENSORS_ZL6100=m
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SHT21=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_SMM665=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_EMC1403=m
+CONFIG_SENSORS_EMC2103=m
+CONFIG_SENSORS_EMC6W201=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_SCH56XX_COMMON=m
+CONFIG_SENSORS_SCH5627=m
+CONFIG_SENSORS_SCH5636=m
+CONFIG_SENSORS_ADS1015=m
+CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_INA209=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP102=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83795=m
+# CONFIG_SENSORS_W83795_FANCTRL is not set
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_APPLESMC=m
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ACPI_POWER=m
+CONFIG_SENSORS_ATK0110=m
+CONFIG_THERMAL=m
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+CONFIG_THERMAL_GOV_FAIR_SHARE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+CONFIG_THERMAL_GOV_USER_SPACE=y
+CONFIG_CPU_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+CONFIG_INTEL_POWERCLAMP=m
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_RETU_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_F71808E_WDT=m
+CONFIG_SP5100_TCO=m
+CONFIG_GEODE_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_IE6XX_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_HPWDT_NMI_DECODING=y
+CONFIG_SC1200_WDT=m
+CONFIG_SCx200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_NV_TCO=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_SBC7240_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_VIA_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+
+#
+# ISA-based Watchdog Cards
+#
+CONFIG_PCWATCHDOG=m
+CONFIG_MIXCOMWD=m
+CONFIG_WDT=m
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+# CONFIG_SSB_DRIVER_GPIO is not set
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+CONFIG_BCMA=m
+CONFIG_BCMA_BLOCKIO=y
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
+CONFIG_BCMA_HOST_PCI=y
+# CONFIG_BCMA_DRIVER_GMAC_CMN is not set
+# CONFIG_BCMA_DRIVER_GPIO is not set
+# CONFIG_BCMA_DEBUG is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+CONFIG_MFD_CS5535=m
+CONFIG_MFD_CROS_EC=m
+CONFIG_MFD_CROS_EC_I2C=m
+CONFIG_MFD_MC13783=m
+CONFIG_MFD_MC13XXX=m
+CONFIG_MFD_MC13XXX_I2C=m
+CONFIG_HTC_PASIC3=m
+CONFIG_LPC_ICH=m
+CONFIG_LPC_SCH=m
+CONFIG_MFD_JANZ_CMODIO=m
+CONFIG_MFD_VIPERBOARD=m
+CONFIG_MFD_RETU=m
+CONFIG_MFD_PCF50633=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_UCB1400_CORE=m
+CONFIG_MFD_RDC321X=m
+CONFIG_MFD_RTSX_PCI=m
+CONFIG_MFD_SI476X_CORE=m
+CONFIG_MFD_SM501=m
+# CONFIG_MFD_SM501_GPIO is not set
+# CONFIG_ABX500_CORE is not set
+CONFIG_MFD_SYSCON=y
+CONFIG_MFD_TI_AM335X_TSCADC=m
+CONFIG_TPS6105X=m
+CONFIG_TPS65010=m
+CONFIG_TPS6507X=m
+CONFIG_MFD_TPS65217=m
+# CONFIG_MFD_TPS65912 is not set
+CONFIG_MFD_WL1273_CORE=m
+CONFIG_MFD_LM3533=m
+CONFIG_MFD_TIMBERDALE=m
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_VX855=m
+CONFIG_MFD_ARIZONA=y
+CONFIG_MFD_ARIZONA_I2C=m
+CONFIG_MFD_WM5102=y
+CONFIG_MFD_WM5110=y
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_DUMMY is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=m
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+CONFIG_REGULATOR_USERSPACE_CONSUMER=m
+CONFIG_REGULATOR_GPIO=m
+CONFIG_REGULATOR_AD5398=m
+CONFIG_REGULATOR_FAN53555=m
+CONFIG_REGULATOR_ANATOP=m
+CONFIG_REGULATOR_MC13XXX_CORE=m
+CONFIG_REGULATOR_MC13783=m
+CONFIG_REGULATOR_MC13892=m
+CONFIG_REGULATOR_ISL6271A=m
+CONFIG_REGULATOR_MAX1586=m
+CONFIG_REGULATOR_MAX8649=m
+CONFIG_REGULATOR_MAX8660=m
+CONFIG_REGULATOR_MAX8952=m
+CONFIG_REGULATOR_MAX8973=m
+CONFIG_REGULATOR_LP3971=m
+CONFIG_REGULATOR_LP3972=m
+CONFIG_REGULATOR_LP8755=m
+CONFIG_REGULATOR_PCF50633=m
+CONFIG_REGULATOR_TPS51632=m
+CONFIG_REGULATOR_TPS6105X=m
+CONFIG_REGULATOR_TPS62360=m
+CONFIG_REGULATOR_TPS65023=m
+CONFIG_REGULATOR_TPS6507X=m
+CONFIG_REGULATOR_TPS65217=m
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+# CONFIG_MEDIA_CONTROLLER is not set
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2=m
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_V4L2_MEM2MEM_DEV=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DMA_CONTIG=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_VIDEOBUF2_DMA_SG=m
+CONFIG_VIDEO_V4L2_INT_DEVICE=m
+CONFIG_DVB_CORE=m
+CONFIG_DVB_NET=y
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+
+#
+# Media drivers
+#
+CONFIG_RC_CORE=m
+CONFIG_RC_MAP=m
+CONFIG_RC_DECODERS=y
+CONFIG_LIRC=m
+CONFIG_IR_LIRC_CODEC=m
+CONFIG_IR_NEC_DECODER=m
+CONFIG_IR_RC5_DECODER=m
+CONFIG_IR_RC6_DECODER=m
+CONFIG_IR_JVC_DECODER=m
+CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_RC5_SZ_DECODER=m
+CONFIG_IR_SANYO_DECODER=m
+CONFIG_IR_MCE_KBD_DECODER=m
+CONFIG_RC_DEVICES=y
+CONFIG_RC_ATI_REMOTE=m
+CONFIG_IR_ENE=m
+CONFIG_IR_IMON=m
+CONFIG_IR_MCEUSB=m
+CONFIG_IR_ITE_CIR=m
+CONFIG_IR_FINTEK=m
+CONFIG_IR_NUVOTON=m
+CONFIG_IR_REDRAT3=m
+CONFIG_IR_STREAMZAP=m
+CONFIG_IR_WINBOND_CIR=m
+CONFIG_IR_IGUANA=m
+CONFIG_IR_TTUSBIR=m
+CONFIG_RC_LOOPBACK=m
+CONFIG_IR_GPIO_CIR=m
+CONFIG_MEDIA_USB_SUPPORT=y
+
+#
+# Webcam devices
+#
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_JL2005BCD=m
+CONFIG_USB_GSPCA_KINECT=m
+CONFIG_USB_GSPCA_KONICA=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_NW80X=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SE401=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SPCA1528=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_SQ930X=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TOPRO=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_VICAM=m
+CONFIG_USB_GSPCA_XIRLINK_CIT=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_VIDEO_CPIA2=m
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_USB_SN9C102=m
+
+#
+# Analog TV USB devices
+#
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_STK1160=m
+CONFIG_VIDEO_STK1160_AC97=y
+
+#
+# Analog/digital TV USB devices
+#
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_AU0828_V4L2=y
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_RC=y
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_TM6000=m
+CONFIG_VIDEO_TM6000_ALSA=m
+CONFIG_VIDEO_TM6000_DVB=m
+
+#
+# Digital TV USB devices
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_PCTV452E=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_USB_TECHNISAT_USB2=m
+CONFIG_DVB_USB_V2=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_AF9035=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_AZ6007=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_IT913X=m
+CONFIG_DVB_USB_LME2510=m
+CONFIG_DVB_USB_MXL111SF=m
+CONFIG_DVB_USB_RTL28XXU=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_USB_DRV=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG=y
+
+#
+# Webcam, TV (analog/digital) USB devices
+#
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_EM28XX_RC=m
+CONFIG_MEDIA_PCI_SUPPORT=y
+
+#
+# Media capture support
+#
+CONFIG_VIDEO_MEYE=m
+
+#
+# Media capture/analog TV support
+#
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_IVTV_ALSA=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_MXB=m
+
+#
+# Media capture/analog/hybrid TV support
+#
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_MEDIA_ALTERA_CI=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_BT848=m
+CONFIG_DVB_BT8XX=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_RC=y
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_SAA7164=m
+
+#
+# Media digital TV PCI Adapters
+#
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
+CONFIG_DVB_PLUTO2=m
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_PT1=m
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+CONFIG_DVB_NGENE=m
+CONFIG_DVB_DDBRIDGE=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_VIDEO_VIA_CAMERA=m
+CONFIG_VIDEO_TIMBERDALE=m
+CONFIG_SOC_CAMERA=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+CONFIG_VIDEO_SH_MOBILE_CSI2=m
+CONFIG_VIDEO_SH_MOBILE_CEU=m
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
+CONFIG_VIDEO_SH_VEU=m
+CONFIG_V4L_TEST_DRIVERS=y
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_MEM2MEM_TESTDEV=m
+
+#
+# Supported MMC/SDIO adapters
+#
+CONFIG_SMS_SDIO_DRV=m
+CONFIG_MEDIA_PARPORT_SUPPORT=y
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_PMS=m
+CONFIG_VIDEO_W9966=m
+CONFIG_RADIO_ADAPTERS=y
+# CONFIG_RADIO_SI470X is not set
+CONFIG_USB_MR800=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_SHARK=m
+CONFIG_RADIO_SHARK2=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_KEENE=m
+CONFIG_USB_MA901=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_TIMBERDALE=m
+CONFIG_RADIO_WL1273=m
+
+#
+# Texas Instruments WL128x FM driver (ST based)
+#
+CONFIG_RADIO_WL128X=m
+CONFIG_V4L_RADIO_ISA_DRIVERS=y
+CONFIG_RADIO_ISA=m
+CONFIG_RADIO_CADET=m
+CONFIG_RADIO_RTRACK=m
+# CONFIG_RADIO_RTRACK2 is not set
+CONFIG_RADIO_AZTECH=m
+CONFIG_RADIO_GEMTEK=m
+CONFIG_RADIO_MIROPCM20=m
+CONFIG_RADIO_SF16FMI=m
+CONFIG_RADIO_SF16FMR2=m
+CONFIG_RADIO_TERRATEC=m
+CONFIG_RADIO_TRUST=m
+CONFIG_RADIO_TYPHOON=m
+CONFIG_RADIO_ZOLTRIX=m
+
+#
+# Supported FireWire (IEEE 1394) Adapters
+#
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_INPUT=y
+CONFIG_MEDIA_COMMON_OPTIONS=y
+
+#
+# common driver options
+#
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_CYPRESS_FIRMWARE=m
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_SMS_SIANO_MDTV=m
+CONFIG_SMS_SIANO_RC=y
+# CONFIG_SMS_SIANO_DEBUGFS is not set
+
+#
+# Media ancillary drivers (tuners, sensors, i2c, frontends)
+#
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+CONFIG_MEDIA_ATTACH=y
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Audio decoders, processors and mixers
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_ADV7180=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_CX25840=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+
+#
+# Camera sensor devices
+#
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
+
+#
+# Flash devices
+#
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+
+#
+# Miscelaneous helper chips
+#
+CONFIG_VIDEO_M52790=m
+
+#
+# Sensors used on soc_camera driver
+#
+
+#
+# soc_camera sensor drivers
+#
+CONFIG_SOC_CAMERA_IMX074=m
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_OV2640=m
+CONFIG_SOC_CAMERA_OV5642=m
+CONFIG_SOC_CAMERA_OV6650=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+CONFIG_SOC_CAMERA_OV9740=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_MEDIA_TUNER=m
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2063=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_XC4000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_MEDIA_TUNER_FC0011=m
+CONFIG_MEDIA_TUNER_FC0012=m
+CONFIG_MEDIA_TUNER_FC0013=m
+CONFIG_MEDIA_TUNER_TDA18212=m
+CONFIG_MEDIA_TUNER_E4000=m
+CONFIG_MEDIA_TUNER_FC2580=m
+CONFIG_MEDIA_TUNER_TUA9001=m
+CONFIG_MEDIA_TUNER_IT913X=m
+CONFIG_MEDIA_TUNER_R820T=m
+
+#
+# Multistandard (satellite) frontends
+#
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+
+#
+# Multistandard (cable + terrestrial) frontends
+#
+CONFIG_DVB_DRXK=m
+CONFIG_DVB_TDA18271C2DD=m
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_TS2020=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_TDA10071=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_DRXD=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_STV0367=m
+CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_RTL2830=m
+CONFIG_DVB_RTL2832=m
+
+#
+# DVB-C (cable) frontends
+#
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+
+#
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
+#
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_LG2160=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_AU8522_DTV=m
+CONFIG_DVB_AU8522_V4L=m
+CONFIG_DVB_S5H1411=m
+
+#
+# ISDB-T (terrestrial) frontends
+#
+CONFIG_DVB_S921=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_MB86A20S=m
+
+#
+# Digital terrestrial only tuners/PLL
+#
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_TUNER_DIB0090=m
+
+#
+# SEC control devices for DVB-S
+#
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_LNBP22=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_ISL6423=m
+CONFIG_DVB_A8293=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DVB_TDA665x=m
+CONFIG_DVB_IX2505V=m
+CONFIG_DVB_IT913X_FE=m
+CONFIG_DVB_M88RS2000=m
+CONFIG_DVB_AF9033=m
+
+#
+# Tools to develop new frontends
+#
+# CONFIG_DVB_DUMMY_FE is not set
+
+#
+# Graphics support
+#
+CONFIG_AGP=m
+CONFIG_AGP_ALI=m
+CONFIG_AGP_ATI=m
+CONFIG_AGP_AMD=m
+CONFIG_AGP_AMD64=m
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_NVIDIA=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_SWORKS=m
+CONFIG_AGP_VIA=m
+CONFIG_AGP_EFFICEON=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM=m
+CONFIG_DRM_USB=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_TTM=m
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_DRM_I2C_SIL164=m
+CONFIG_DRM_I2C_NXP_TDA998X=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+# CONFIG_DRM_RADEON_UMS is not set
+CONFIG_DRM_NOUVEAU=m
+CONFIG_NOUVEAU_DEBUG=5
+CONFIG_NOUVEAU_DEBUG_DEFAULT=3
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_I810=m
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_VMWGFX_FBCON=y
+CONFIG_DRM_GMA500=m
+CONFIG_DRM_GMA600=y
+CONFIG_DRM_GMA3600=y
+CONFIG_DRM_UDL=m
+CONFIG_DRM_AST=m
+CONFIG_DRM_MGAG200=m
+CONFIG_DRM_CIRRUS_QEMU=m
+CONFIG_DRM_QXL=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_HDMI=y
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DDC=m
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_HECUBA=m
+CONFIG_FB_SVGALIB=m
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
+CONFIG_FB_CYBER2000=m
+CONFIG_FB_CYBER2000_DDC=y
+CONFIG_FB_ARC=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_VGA16=m
+# CONFIG_FB_UVESA is not set
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+CONFIG_FB_N411=m
+CONFIG_FB_HGA=m
+CONFIG_FB_S1D13XXX=m
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
+# CONFIG_FB_NVIDIA_DEBUG is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+CONFIG_FB_RIVA=m
+CONFIG_FB_RIVA_I2C=y
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_RIVA_BACKLIGHT=y
+CONFIG_FB_I740=m
+CONFIG_FB_I810=m
+CONFIG_FB_I810_GTF=y
+CONFIG_FB_I810_I2C=y
+CONFIG_FB_LE80578=m
+CONFIG_FB_CARILLO_RANCH=m
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MAVEN=m
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+CONFIG_FB_ATY_GENERIC_LCD=y
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+CONFIG_FB_S3=m
+CONFIG_FB_S3_DDC=y
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+CONFIG_FB_SAVAGE_ACCEL=y
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_VIA=m
+# CONFIG_FB_VIA_DIRECT_PROCFS is not set
+CONFIG_FB_VIA_X_COMPATIBILITY=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_3DFX_I2C=y
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+CONFIG_FB_TRIDENT=m
+CONFIG_FB_ARK=m
+CONFIG_FB_PM3=m
+CONFIG_FB_CARMINE=m
+CONFIG_FB_CARMINE_DRAM_EVAL=y
+# CONFIG_CARMINE_DRAM_CUSTOM is not set
+CONFIG_FB_GEODE=y
+CONFIG_FB_GEODE_LX=m
+CONFIG_FB_GEODE_GX=m
+CONFIG_FB_GEODE_GX1=m
+CONFIG_FB_TMIO=m
+CONFIG_FB_TMIO_ACCELL=y
+# CONFIG_FB_SM501 is not set
+CONFIG_FB_SMSCUFX=m
+CONFIG_FB_UDL=m
+CONFIG_FB_GOLDFISH=m
+# CONFIG_FB_VIRTUAL is not set
+CONFIG_FB_METRONOME=m
+CONFIG_FB_MB862XX=m
+CONFIG_FB_MB862XX_PCI_GDC=y
+CONFIG_FB_MB862XX_I2C=y
+CONFIG_FB_BROADSHEET=m
+CONFIG_FB_AUO_K190X=m
+CONFIG_FB_AUO_K1900=m
+CONFIG_FB_AUO_K1901=m
+# CONFIG_FB_HYPERV is not set
+# CONFIG_EXYNOS_VIDEO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_ATMEL_PWM=m
+CONFIG_BACKLIGHT_GENERIC=m
+CONFIG_BACKLIGHT_LM3533=m
+CONFIG_BACKLIGHT_CARILLO_RANCH=m
+CONFIG_BACKLIGHT_APPLE=m
+CONFIG_BACKLIGHT_SAHARA=m
+CONFIG_BACKLIGHT_ADP8860=m
+CONFIG_BACKLIGHT_ADP8870=m
+CONFIG_BACKLIGHT_PCF50633=m
+CONFIG_BACKLIGHT_LM3630=m
+CONFIG_BACKLIGHT_LM3639=m
+CONFIG_BACKLIGHT_LP855X=m
+CONFIG_BACKLIGHT_OT200=m
+CONFIG_BACKLIGHT_TPS65217=m
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
+CONFIG_MDA_CONSOLE=m
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+CONFIG_FONT_SUN8x16=y
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_KCTL_JACK=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+CONFIG_SND_OPL4_LIB_SEQ=m
+CONFIG_SND_SBAWE_SEQ=m
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_OPL4_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+CONFIG_SND_DUMMY=m
+CONFIG_SND_ALOOP=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+CONFIG_SND_WSS_LIB=m
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB8_DSP=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_ISA=y
+CONFIG_SND_ADLIB=m
+CONFIG_SND_AD1816A=m
+CONFIG_SND_AD1848=m
+CONFIG_SND_ALS100=m
+CONFIG_SND_AZT1605=m
+CONFIG_SND_AZT2316=m
+CONFIG_SND_AZT2320=m
+CONFIG_SND_CMI8328=m
+CONFIG_SND_CMI8330=m
+CONFIG_SND_CS4231=m
+CONFIG_SND_CS4236=m
+CONFIG_SND_ES1688=m
+CONFIG_SND_ES18XX=m
+CONFIG_SND_SC6000=m
+CONFIG_SND_GUSCLASSIC=m
+CONFIG_SND_GUSEXTREME=m
+CONFIG_SND_GUSMAX=m
+CONFIG_SND_INTERWAVE=m
+CONFIG_SND_INTERWAVE_STB=m
+CONFIG_SND_JAZZ16=m
+CONFIG_SND_OPL3SA2=m
+CONFIG_SND_OPTI92X_AD1848=m
+CONFIG_SND_OPTI92X_CS4231=m
+CONFIG_SND_OPTI93X=m
+CONFIG_SND_MIRO=m
+CONFIG_SND_SB8=m
+CONFIG_SND_SB16=m
+CONFIG_SND_SBAWE=m
+CONFIG_SND_SB16_CSP=y
+CONFIG_SND_SSCAPE=m
+CONFIG_SND_WAVEFRONT=m
+CONFIG_SND_MSND_PINNACLE=m
+CONFIG_SND_MSND_CLASSIC=m
+CONFIG_SND_TEA575X=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ASIHPI=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_ES1968_INPUT=y
+CONFIG_SND_ES1968_RADIO=y
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_DSP_LOADER=y
+CONFIG_SND_HDA_PREALLOC_SIZE=2048
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+# CONFIG_SND_HDA_INPUT_BEEP is not set
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_HDMI=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CA0132=y
+CONFIG_SND_HDA_CODEC_CA0132_DSP=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_LOLA=m
+CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MAESTRO3_INPUT=y
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SIS7019=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_USB_6FIRE=m
+CONFIG_SND_FIREWIRE=y
+CONFIG_SND_FIREWIRE_LIB=m
+CONFIG_SND_FIREWIRE_SPEAKERS=m
+CONFIG_SND_ISIGHT=m
+CONFIG_SND_SCS1X=m
+CONFIG_SND_PCMCIA=y
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+
+#
+# HID support
+#
+CONFIG_HID=m
+CONFIG_HIDRAW=y
+CONFIG_UHID=m
+CONFIG_HID_GENERIC=m
+
+#
+# Special HID drivers
+#
+CONFIG_HID_A4TECH=m
+CONFIG_HID_ACRUX=m
+CONFIG_HID_ACRUX_FF=y
+CONFIG_HID_APPLE=m
+CONFIG_HID_APPLEIR=m
+CONFIG_HID_AUREAL=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_PRODIKEYS=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EMS_FF=m
+CONFIG_HID_ELECOM=m
+CONFIG_HID_EZKEY=m
+CONFIG_HID_HOLTEK=m
+CONFIG_HOLTEK_FF=y
+CONFIG_HID_KEYTOUCH=m
+CONFIG_HID_KYE=m
+CONFIG_HID_UCLOGIC=m
+CONFIG_HID_WALTOP=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_ICADE=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LCPOWER=m
+CONFIG_HID_LENOVO_TPKBD=m
+CONFIG_HID_LOGITECH=m
+CONFIG_HID_LOGITECH_DJ=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_LOGIWHEELS_FF=y
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_MULTITOUCH=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_PICOLCD=m
+CONFIG_HID_PICOLCD_FB=y
+CONFIG_HID_PICOLCD_BACKLIGHT=y
+CONFIG_HID_PICOLCD_LCD=y
+CONFIG_HID_PICOLCD_LEDS=y
+CONFIG_HID_PICOLCD_CIR=y
+CONFIG_HID_PRIMAX=m
+CONFIG_HID_PS3REMOTE=m
+CONFIG_HID_ROCCAT=m
+CONFIG_HID_SAITEK=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_SPEEDLINK=m
+CONFIG_HID_STEELSERIES=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_HYPERV_MOUSE=m
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TIVO=m
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THINGM=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_WIIMOTE=m
+CONFIG_HID_WIIMOTE_EXT=y
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
+CONFIG_HID_ZYDACRON=m
+CONFIG_HID_SENSOR_HUB=m
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=m
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# I2C HID support
+#
+CONFIG_I2C_HID=m
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB_ARCH_HAS_XHCI=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=y
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+CONFIG_USB_XHCI_PLATFORM=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=m
+CONFIG_USB_EHCI_HCD_PLATFORM=m
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_OHCI_HCD_SSB=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+# CONFIG_USB_SL811_HCD_ISO is not set
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+# CONFIG_USB_HCD_BCMA is not set
+CONFIG_USB_HCD_SSB=m
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_REALTEK=m
+CONFIG_REALTEK_AUTOPM=y
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+CONFIG_USB_STORAGE_ENE_UB6250=m
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_DWC3=m
+CONFIG_USB_DWC3_HOST=y
+# CONFIG_USB_DWC3_DEBUG is not set
+CONFIG_USB_CHIPIDEA=m
+# CONFIG_USB_CHIPIDEA_DEBUG is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_F81232=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_METRO=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7715_PARPORT=y
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_SAFE_PADDED=y
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_WWAN=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
+CONFIG_USB_SERIAL_XSENS_MT=m
+CONFIG_USB_SERIAL_ZIO=m
+CONFIG_USB_SERIAL_WISHBONE=m
+CONFIG_USB_SERIAL_ZTE=m
+CONFIG_USB_SERIAL_SSU100=m
+CONFIG_USB_SERIAL_QT2=m
+CONFIG_USB_SERIAL_DEBUG=m
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_YUREX=m
+CONFIG_USB_EZUSB_FX2=m
+CONFIG_USB_HSIC_USB3503=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_OMAP_CONTROL_USB=m
+CONFIG_OMAP_USB3=m
+CONFIG_SAMSUNG_USBPHY=m
+CONFIG_SAMSUNG_USB2PHY=m
+CONFIG_SAMSUNG_USB3PHY=m
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ISP1301=m
+CONFIG_USB_RCAR_PHY=m
+# CONFIG_USB_GADGET is not set
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+CONFIG_UWB_I1480U=m
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+# CONFIG_MMC_CLKGATE is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_ACPI=m
+CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_SDHCI_PXAV3=m
+CONFIG_MMC_SDHCI_PXAV2=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MMC_VUB300=m
+CONFIG_MMC_USHC=m
+CONFIG_MMC_REALTEK_PCI=m
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+CONFIG_MEMSTICK_R592=m
+CONFIG_MEMSTICK_REALTEK_PCI=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_ATMEL_PWM=m
+CONFIG_LEDS_LM3530=m
+CONFIG_LEDS_LM3533=m
+CONFIG_LEDS_LM3642=m
+CONFIG_LEDS_NET48XX=m
+CONFIG_LEDS_WRAP=m
+CONFIG_LEDS_PCA9532=m
+# CONFIG_LEDS_PCA9532_GPIO is not set
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_LP55XX_COMMON=m
+CONFIG_LEDS_LP5521=m
+CONFIG_LEDS_LP5523=m
+CONFIG_LEDS_LP5562=m
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_PCA9633=m
+CONFIG_LEDS_REGULATOR=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_MC13783=m
+CONFIG_LEDS_RENESAS_TPU=y
+CONFIG_LEDS_TCA6507=m
+CONFIG_LEDS_LM355x=m
+CONFIG_LEDS_OT200=m
+CONFIG_LEDS_BLINKM=m
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_ONESHOT=m
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+# CONFIG_LEDS_TRIGGER_CPU is not set
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_LEDS_TRIGGER_TRANSIENT=m
+CONFIG_LEDS_TRIGGER_CAMERA=m
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+CONFIG_INFINIBAND=m
+CONFIG_INFINIBAND_USER_MAD=m
+CONFIG_INFINIBAND_USER_ACCESS=m
+CONFIG_INFINIBAND_USER_MEM=y
+CONFIG_INFINIBAND_ADDR_TRANS=y
+CONFIG_INFINIBAND_MTHCA=m
+CONFIG_INFINIBAND_MTHCA_DEBUG=y
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+# CONFIG_INFINIBAND_CXGB3 is not set
+CONFIG_INFINIBAND_CXGB4=m
+CONFIG_MLX4_INFINIBAND=m
+CONFIG_INFINIBAND_NES=m
+# CONFIG_INFINIBAND_NES_DEBUG is not set
+CONFIG_INFINIBAND_OCRDMA=m
+CONFIG_INFINIBAND_IPOIB=m
+# CONFIG_INFINIBAND_IPOIB_CM is not set
+CONFIG_INFINIBAND_IPOIB_DEBUG=y
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+CONFIG_INFINIBAND_SRP=m
+CONFIG_INFINIBAND_SRPT=m
+CONFIG_INFINIBAND_ISER=m
+CONFIG_INFINIBAND_ISERT=m
+CONFIG_EDAC=y
+CONFIG_EDAC_LEGACY_SYSFS=y
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=y
+CONFIG_EDAC_MCE_INJ=m
+# CONFIG_EDAC_MM_EDAC is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+# CONFIG_RTC_HCTOSYS is not set
+# CONFIG_RTC_SYSTOHC is not set
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_TEST=m
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_DS3232=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_ISL12022=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8523=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+CONFIG_RTC_DRV_EM3027=m
+CONFIG_RTC_DRV_RV3029C2=m
+
+#
+# SPI RTC drivers
+#
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_DS2404=m
+CONFIG_RTC_DRV_PCF50633=m
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_MC13XXX=m
+
+#
+# HID Sensor RTC drivers
+#
+CONFIG_RTC_DRV_HID_SENSOR_TIME=m
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_INTEL_MID_DMAC=m
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DW_DMAC=m
+# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
+CONFIG_TIMB_DMA=m
+CONFIG_PCH_DMA=m
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_ACPI=y
+
+#
+# DMA Clients
+#
+CONFIG_NET_DMA=y
+# CONFIG_ASYNC_TX_DMA is not set
+CONFIG_DMATEST=m
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+# CONFIG_KS0108 is not set
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV=m
+CONFIG_UIO_PDRV_GENIRQ=m
+CONFIG_UIO_DMEM_GENIRQ=m
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+CONFIG_VFIO_IOMMU_TYPE1=m
+CONFIG_VFIO=m
+CONFIG_VFIO_PCI=m
+# CONFIG_VFIO_PCI_VGA is not set
+CONFIG_VIRT_DRIVERS=y
+CONFIG_VIRTIO=m
+
+#
+# Virtio drivers
+#
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_MMIO=m
+# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+CONFIG_HYPERV=m
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_BALLOON=m
+CONFIG_STAGING=y
+# CONFIG_ET131X is not set
+# CONFIG_SLICOSS is not set
+CONFIG_USBIP_CORE=m
+CONFIG_USBIP_VHCI_HCD=m
+CONFIG_USBIP_HOST=m
+# CONFIG_USBIP_DEBUG is not set
+# CONFIG_W35UND is not set
+# CONFIG_PRISM2_USB is not set
+# CONFIG_ECHO is not set
+# CONFIG_COMEDI is not set
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192U=m
+CONFIG_RTLLIB=m
+CONFIG_RTLLIB_CRYPTO_CCMP=m
+CONFIG_RTLLIB_CRYPTO_TKIP=m
+CONFIG_RTLLIB_CRYPTO_WEP=m
+CONFIG_RTL8192E=m
+CONFIG_R8712U=m
+CONFIG_RTS5139=m
+# CONFIG_RTS5139_DEBUG is not set
+# CONFIG_TRANZPORT is not set
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_DX_SEP=m
+
+#
+# IIO staging drivers
+#
+
+#
+# Accelerometers
+#
+
+#
+# Analog to digital converters
+#
+CONFIG_AD7291=m
+CONFIG_AD7606=m
+CONFIG_AD7606_IFACE_PARALLEL=m
+CONFIG_AD799X=m
+CONFIG_AD799X_RING_BUFFER=y
+
+#
+# Analog digital bi-direction converters
+#
+CONFIG_ADT7316=m
+CONFIG_ADT7316_I2C=m
+
+#
+# Capacitance to digital converters
+#
+CONFIG_AD7150=m
+CONFIG_AD7152=m
+CONFIG_AD7746=m
+
+#
+# Direct Digital Synthesis
+#
+
+#
+# Digital gyroscope sensors
+#
+
+#
+# Network Analyzer, Impedance Converters
+#
+CONFIG_AD5933=m
+
+#
+# Light sensors
+#
+CONFIG_SENSORS_ISL29018=m
+CONFIG_SENSORS_ISL29028=m
+CONFIG_TSL2583=m
+CONFIG_TSL2x7x=m
+
+#
+# Magnetometer sensors
+#
+CONFIG_SENSORS_HMC5843=m
+
+#
+# Active energy metering IC
+#
+CONFIG_ADE7854=m
+CONFIG_ADE7854_I2C=m
+
+#
+# Resolver to digital converters
+#
+
+#
+# Triggers - standalone
+#
+CONFIG_IIO_PERIODIC_RTC_TRIGGER=m
+CONFIG_IIO_GPIO_TRIGGER=m
+CONFIG_IIO_SYSFS_TRIGGER=m
+# CONFIG_IIO_SIMPLE_DUMMY is not set
+# CONFIG_ZSMALLOC is not set
+CONFIG_WLAGS49_H2=m
+CONFIG_WLAGS49_H25=m
+CONFIG_FB_SM7XX=m
+CONFIG_CRYSTALHD=m
+# CONFIG_CXT1E1 is not set
+CONFIG_FB_XGI=m
+CONFIG_ACPI_QUICKSTART=m
+CONFIG_SBE_2T3E3=m
+CONFIG_USB_ENESTORAGE=m
+CONFIG_BCM_WIMAX=m
+# CONFIG_FT1000 is not set
+
+#
+# Speakup console speech
+#
+CONFIG_SPEAKUP=m
+CONFIG_SPEAKUP_SYNTH_ACNTSA=m
+CONFIG_SPEAKUP_SYNTH_ACNTPC=m
+CONFIG_SPEAKUP_SYNTH_APOLLO=m
+CONFIG_SPEAKUP_SYNTH_AUDPTR=m
+CONFIG_SPEAKUP_SYNTH_BNS=m
+CONFIG_SPEAKUP_SYNTH_DECTLK=m
+CONFIG_SPEAKUP_SYNTH_DECEXT=m
+CONFIG_SPEAKUP_SYNTH_DECPC=m
+CONFIG_SPEAKUP_SYNTH_DTLK=m
+CONFIG_SPEAKUP_SYNTH_KEYPC=m
+CONFIG_SPEAKUP_SYNTH_LTLK=m
+CONFIG_SPEAKUP_SYNTH_SOFT=m
+CONFIG_SPEAKUP_SYNTH_SPKOUT=m
+CONFIG_SPEAKUP_SYNTH_TXPRT=m
+CONFIG_SPEAKUP_SYNTH_DUMMY=m
+CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
+CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
+CONFIG_STAGING_MEDIA=y
+CONFIG_DVB_AS102=m
+CONFIG_DVB_CXD2099=m
+CONFIG_VIDEO_DT3155=m
+CONFIG_DT3155_CCIR=y
+CONFIG_DT3155_STREAMING=y
+# CONFIG_VIDEO_GO7007 is not set
+CONFIG_SOLO6X10=m
+CONFIG_LIRC_STAGING=y
+CONFIG_LIRC_BT829=m
+CONFIG_LIRC_IGORPLUGUSB=m
+CONFIG_LIRC_IMON=m
+CONFIG_LIRC_PARALLEL=m
+CONFIG_LIRC_SASEM=m
+CONFIG_LIRC_SERIAL=m
+CONFIG_LIRC_SERIAL_TRANSMITTER=y
+CONFIG_LIRC_SIR=m
+CONFIG_LIRC_ZILOG=m
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+CONFIG_USB_WPAN_HCD=m
+CONFIG_WIMAX_GDM72XX=m
+# CONFIG_WIMAX_GDM72XX_QOS is not set
+# CONFIG_WIMAX_GDM72XX_K_MODE is not set
+CONFIG_WIMAX_GDM72XX_WIMAX2=y
+CONFIG_WIMAX_GDM72XX_USB=y
+# CONFIG_WIMAX_GDM72XX_SDIO is not set
+# CONFIG_WIMAX_GDM72XX_USB_PM is not set
+CONFIG_CSR_WIFI=m
+CONFIG_NET_VENDOR_SILICOM=y
+CONFIG_SBYPASS=m
+CONFIG_BPCTL=m
+CONFIG_CED1401=m
+CONFIG_DGRP=m
+CONFIG_FIREWIRE_SERIAL=m
+CONFIG_USB_DWC2=m
+# CONFIG_USB_DWC2_DEBUG is not set
+# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_CHROMEOS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_DELL_WMI_AIO=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_FUJITSU_TABLET=m
+CONFIG_AMILO_RFKILL=m
+CONFIG_TC1100_WMI=m
+CONFIG_HP_ACCEL=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+CONFIG_SONYPI_COMPAT=y
+CONFIG_IDEAPAD_LAPTOP=m
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_SENSORS_HDAPS=m
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_ASUS_WMI=m
+CONFIG_ASUS_NB_WMI=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+CONFIG_INTEL_IPS=m
+CONFIG_IBM_RTL=m
+CONFIG_XO15_EBOOK=m
+CONFIG_SAMSUNG_LAPTOP=m
+CONFIG_MXM_WMI=m
+CONFIG_INTEL_OAKTRAIL=m
+CONFIG_SAMSUNG_Q10=m
+CONFIG_APPLE_GMUX=m
+CONFIG_PVPANIC=m
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+
+#
+# Common Clock Framework
+#
+CONFIG_COMMON_CLK_DEBUG=y
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_CLKSRC_I8253=y
+CONFIG_CLKEVT_I8253=y
+CONFIG_I8253_LOCK=y
+CONFIG_CLKBLD_I8253=y
+# CONFIG_MAILBOX is not set
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+CONFIG_DMAR_TABLE=y
+CONFIG_INTEL_IOMMU=y
+# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
+CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+
+#
+# Remoteproc drivers
+#
+CONFIG_REMOTEPROC=m
+CONFIG_STE_MODEM_RPROC=m
+
+#
+# Rpmsg drivers
+#
+CONFIG_PM_DEVFREQ=y
+
+#
+# DEVFREQ Governors
+#
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
+CONFIG_DEVFREQ_GOV_PERFORMANCE=y
+CONFIG_DEVFREQ_GOV_POWERSAVE=y
+CONFIG_DEVFREQ_GOV_USERSPACE=y
+
+#
+# DEVFREQ Drivers
+#
+CONFIG_EXTCON=m
+
+#
+# Extcon Device Drivers
+#
+CONFIG_EXTCON_GPIO=m
+CONFIG_EXTCON_ADC_JACK=m
+CONFIG_MEMORY=y
+CONFIG_IIO=m
+CONFIG_IIO_BUFFER=y
+# CONFIG_IIO_BUFFER_CB is not set
+CONFIG_IIO_KFIFO_BUF=m
+CONFIG_IIO_TRIGGERED_BUFFER=m
+CONFIG_IIO_TRIGGER=y
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+
+#
+# Accelerometers
+#
+CONFIG_HID_SENSOR_ACCEL_3D=m
+CONFIG_IIO_ST_ACCEL_3AXIS=m
+CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
+
+#
+# Analog to digital converters
+#
+CONFIG_MAX1363=m
+CONFIG_TI_ADC081C=m
+CONFIG_TI_AM335X_ADC=m
+CONFIG_VIPERBOARD_ADC=m
+
+#
+# Amplifiers
+#
+
+#
+# Hid Sensor IIO Common
+#
+CONFIG_HID_SENSOR_IIO_COMMON=m
+CONFIG_HID_SENSOR_IIO_TRIGGER=m
+CONFIG_HID_SENSOR_ENUM_BASE_QUIRKS=y
+CONFIG_IIO_ST_SENSORS_I2C=m
+CONFIG_IIO_ST_SENSORS_CORE=m
+
+#
+# Digital to analog converters
+#
+CONFIG_AD5064=m
+CONFIG_AD5380=m
+CONFIG_AD5446=m
+CONFIG_MAX517=m
+CONFIG_MCP4725=m
+
+#
+# Frequency Synthesizers DDS/PLL
+#
+
+#
+# Clock Generator/Distribution
+#
+
+#
+# Phase-Locked Loop (PLL) frequency synthesizers
+#
+
+#
+# Digital gyroscope sensors
+#
+CONFIG_HID_SENSOR_GYRO_3D=m
+CONFIG_IIO_ST_GYRO_3AXIS=m
+CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
+CONFIG_ITG3200=m
+
+#
+# Inertial measurement units
+#
+CONFIG_INV_MPU6050_IIO=m
+
+#
+# Light sensors
+#
+CONFIG_ADJD_S311=m
+CONFIG_SENSORS_LM3533=m
+CONFIG_SENSORS_TSL2563=m
+CONFIG_VCNL4000=m
+CONFIG_HID_SENSOR_ALS=m
+
+#
+# Magnetometer sensors
+#
+CONFIG_AK8975=m
+CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
+CONFIG_IIO_ST_MAGN_3AXIS=m
+CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
+# CONFIG_VME_BUS is not set
+# CONFIG_PWM is not set
+# CONFIG_IPACK_BUS is not set
+# CONFIG_RESET_CONTROLLER is not set
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+CONFIG_EDD_OFF=y
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=m
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=m
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_VARS=m
+CONFIG_EFI_VARS_PSTORE=m
+CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=m
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+# CONFIG_OCFS2_FS_STATS is not set
+CONFIG_OCFS2_DEBUG_MASKLOG=y
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+CONFIG_NILFS2_FS=m
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+# CONFIG_FSCACHE_STATS is not set
+# CONFIG_FSCACHE_HISTOGRAM is not set
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=y
+CONFIG_MISC_FILESYSTEMS=y
+CONFIG_ADFS_FS=m
+# CONFIG_ADFS_FS_RW is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+CONFIG_ECRYPT_FS_MESSAGING=y
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+CONFIG_BFS_FS=m
+CONFIG_EFS_FS=m
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_UBIFS_FS=m
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+CONFIG_SQUASHFS_EMBEDDED=y
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+CONFIG_VXFS_FS=m
+CONFIG_MINIX_FS=m
+CONFIG_OMFS_FS=m
+CONFIG_HPFS_FS=m
+CONFIG_QNX4FS_FS=m
+CONFIG_QNX6FS_FS=m
+# CONFIG_QNX6FS_DEBUG is not set
+CONFIG_ROMFS_FS=y
+CONFIG_ROMFS_BACKED_BY_BLOCK=y
+CONFIG_ROMFS_ON_BLOCK=y
+CONFIG_PSTORE=y
+# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_FTRACE is not set
+CONFIG_PSTORE_RAM=m
+CONFIG_SYSV_FS=m
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_F2FS_FS=m
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_EFIVAR_FS=m
+CONFIG_ORE=m
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V2=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+CONFIG_NFS_SWAP=y
+# CONFIG_NFS_V4_1 is not set
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V3_ACL is not set
+CONFIG_NFSD_V4=y
+# CONFIG_NFSD_FAULT_INJECTION is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_SUNRPC_XPRT_RDMA=m
+CONFIG_SUNRPC_SWAP=y
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_SUNRPC_DEBUG is not set
+CONFIG_CEPH_FS=m
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+# CONFIG_CIFS_UPCALL is not set
+# CONFIG_CIFS_XATTR is not set
+CONFIG_CIFS_DEBUG=y
+# CONFIG_CIFS_DEBUG2 is not set
+CONFIG_CIFS_DFS_UPCALL=y
+# CONFIG_CIFS_SMB2 is not set
+CONFIG_CIFS_FSCACHE=y
+CONFIG_NCP_FS=m
+CONFIG_NCPFS_PACKET_SIGNING=y
+CONFIG_NCPFS_IOCTL_LOCKING=y
+CONFIG_NCPFS_STRONG=y
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+CONFIG_NCPFS_EXTRAS=y
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+# CONFIG_AFS_FSCACHE is not set
+CONFIG_9P_FS=m
+# CONFIG_9P_FSCACHE is not set
+# CONFIG_9P_FS_POSIX_ACL is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_MAC_ROMAN=m
+CONFIG_NLS_MAC_CELTIC=m
+CONFIG_NLS_MAC_CENTEURO=m
+CONFIG_NLS_MAC_CROATIAN=m
+CONFIG_NLS_MAC_CYRILLIC=m
+CONFIG_NLS_MAC_GAELIC=m
+CONFIG_NLS_MAC_GREEK=m
+CONFIG_NLS_MAC_ICELAND=m
+CONFIG_NLS_MAC_INUIT=m
+CONFIG_NLS_MAC_ROMANIAN=m
+CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_PRINTK_TIME=y
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=0
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
+# CONFIG_READABLE_ASM is not set
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_LOCKUP_DETECTOR is not set
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_HIGHMEM is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_SPARSE_RCU_POINTER is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
+# CONFIG_RCU_CPU_STALL_INFO is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_LKDTM is not set
+CONFIG_NOTIFIER_ERROR_INJECTION=m
+CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
+CONFIG_PM_NOTIFIER_ERROR_INJECT=m
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACE_CLOCK=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
+# CONFIG_TRACER_SNAPSHOT is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_UPROBE_EVENT is not set
+# CONFIG_PROBE_EVENTS is not set
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
+# CONFIG_FUNCTION_PROFILER is not set
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_MMIOTRACE is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+CONFIG_RBTREE_TEST=m
+CONFIG_INTERVAL_TREE_TEST=m
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+CONFIG_ATOMIC64_SELFTEST=y
+CONFIG_ASYNC_RAID6_TEST=m
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_TEST_STRING_HELPERS is not set
+# CONFIG_TEST_KSTRTOX is not set
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_X86_PTDUMP is not set
+CONFIG_DEBUG_RODATA=y
+CONFIG_DEBUG_RODATA_TEST=y
+# CONFIG_DEBUG_SET_MODULE_RONX is not set
+# CONFIG_DEBUG_NX_TEST is not set
+CONFIG_DOUBLEFAULT=y
+# CONFIG_DEBUG_TLBFLUSH is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+CONFIG_OPTIMIZE_INLINING=y
+# CONFIG_DEBUG_NMI_SELFTEST is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_TRUSTED_KEYS=m
+CONFIG_ENCRYPTED_KEYS=m
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+CONFIG_SECURITY_DMESG_RESTRICT=y
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_SECURITY_NETWORK_XFRM=y
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_SECURITY_YAMA is not set
+# CONFIG_IMA is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=y
+CONFIG_ASYNC_CORE=y
+CONFIG_ASYNC_MEMCPY=y
+CONFIG_ASYNC_XOR=y
+CONFIG_ASYNC_PQ=y
+CONFIG_ASYNC_RAID6_RECOV=y
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=m
+CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_GF128MUL=y
+CONFIG_CRYPTO_NULL=y
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=y
+CONFIG_CRYPTO_AUTHENC=y
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_ABLK_HELPER_X86=y
+CONFIG_CRYPTO_GLUE_HELPER_X86=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=y
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_SEQIV=y
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTR=y
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_LRW=y
+CONFIG_CRYPTO_PCBC=y
+CONFIG_CRYPTO_XTS=y
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_CRC32=m
+CONFIG_CRYPTO_CRC32_PCLMUL=m
+CONFIG_CRYPTO_GHASH=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=y
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=y
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_TGR192=y
+CONFIG_CRYPTO_WP512=y
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_AES_586=y
+CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_ANUBIS=y
+CONFIG_CRYPTO_ARC4=y
+CONFIG_CRYPTO_BLOWFISH=y
+CONFIG_CRYPTO_BLOWFISH_COMMON=y
+CONFIG_CRYPTO_CAMELLIA=y
+CONFIG_CRYPTO_CAST_COMMON=y
+CONFIG_CRYPTO_CAST5=y
+CONFIG_CRYPTO_CAST6=y
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_FCRYPT=y
+CONFIG_CRYPTO_KHAZAD=y
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_586=m
+CONFIG_CRYPTO_SEED=y
+CONFIG_CRYPTO_SERPENT=y
+CONFIG_CRYPTO_SERPENT_SSE2_586=m
+CONFIG_CRYPTO_TEA=y
+CONFIG_CRYPTO_TWOFISH=y
+CONFIG_CRYPTO_TWOFISH_COMMON=y
+CONFIG_CRYPTO_TWOFISH_586=y
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_USER_API=m
+CONFIG_CRYPTO_USER_API_HASH=m
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_CRYPTO_DEV_GEODE=m
+CONFIG_ASYMMETRIC_KEY_TYPE=m
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
+CONFIG_PUBLIC_KEY_ALGO_RSA=m
+CONFIG_X509_CERTIFICATE_PARSER=m
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_KVM_ASYNC_PF=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_KVM_MMU_AUDIT=y
+CONFIG_KVM_DEVICE_ASSIGNMENT=y
+CONFIG_LGUEST=m
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=y
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_IO=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=m
+CONFIG_CRC_ITU_T=y
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=y
+CONFIG_CRC8=m
+CONFIG_AUDIT_GENERIC=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_REED_SOLOMON=m
+CONFIG_REED_SOLOMON_ENC8=y
+CONFIG_REED_SOLOMON_DEC8=y
+CONFIG_REED_SOLOMON_DEC16=y
+CONFIG_BCH=m
+CONFIG_BCH_CONST_PARAMS=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_NLATTR=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_LRU_CACHE=m
+CONFIG_AVERAGE=y
+CONFIG_CLZ_TAB=y
+CONFIG_CORDIC=m
+# CONFIG_DDR is not set
+CONFIG_MPILIB=m
+CONFIG_OID_REGISTRY=y
+CONFIG_UCS2_STRING=y
diff --git a/source/k/config-x86/config-generic-smp-3.2.29-smp b/source/k/config-x86/config-generic-smp-3.2.29-smp
deleted file mode 100644
index 04783c555..000000000
--- a/source/k/config-x86/config-generic-smp-3.2.29-smp
+++ /dev/null
@@ -1,5719 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/i386 3.2.29 Kernel Configuration
-#
-# CONFIG_64BIT is not set
-CONFIG_X86_32=y
-# CONFIG_X86_64 is not set
-CONFIG_X86=y
-CONFIG_INSTRUCTION_DECODER=y
-CONFIG_OUTPUT_FORMAT="elf32-i386"
-CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_MMU=y
-CONFIG_ZONE_DMA=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_NEED_SG_DMA_LENGTH=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_GPIO=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-# CONFIG_GENERIC_TIME_VSYSCALL is not set
-CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_DEFAULT_IDLE=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_ZONE_DMA32 is not set
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-# CONFIG_AUDIT_ARCH is not set
-CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
-CONFIG_HAVE_INTEL_TXT=y
-CONFIG_X86_32_SMP=y
-CONFIG_X86_HT=y
-CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
-CONFIG_KTIME_SCALAR=y
-CONFIG_ARCH_CPU_PROBE_RELEASE=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_HAVE_IRQ_WORK=y
-CONFIG_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION="-smp"
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_BZIP2=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_XZ=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-# CONFIG_KERNEL_BZIP2 is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_XZ is not set
-# CONFIG_KERNEL_LZO is not set
-CONFIG_DEFAULT_HOSTNAME="darkstar"
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-# CONFIG_FHANDLE is not set
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_AUDIT_WATCH=y
-CONFIG_AUDIT_TREE=y
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_HAVE_SPARSE_IRQ=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_GENERIC_IRQ_CHIP=y
-CONFIG_IRQ_FORCED_THREADING=y
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-CONFIG_RCU_FANOUT=32
-# CONFIG_RCU_FANOUT_EXACT is not set
-# CONFIG_RCU_FAST_NO_HZ is not set
-# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-CONFIG_CGROUPS=y
-# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CPUSETS=y
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_RESOURCE_COUNTERS=y
-CONFIG_CGROUP_MEM_RES_CTLR=y
-CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
-# CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED is not set
-CONFIG_CGROUP_PERF=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_CFS_BANDWIDTH=y
-CONFIG_RT_GROUP_SCHED=y
-CONFIG_BLK_CGROUP=y
-# CONFIG_DEBUG_BLK_CGROUP is not set
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_NET_NS=y
-# CONFIG_SCHED_AUTOGROUP is not set
-CONFIG_MM_OWNER=y
-# CONFIG_SYSFS_DEPRECATED is not set
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_XZ=y
-CONFIG_RD_LZO=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-# CONFIG_EXPERT is not set
-CONFIG_UID16=y
-# CONFIG_SYSCTL_SYSCALL is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_PCSPKR_PLATFORM=y
-CONFIG_HAVE_PCSPKR_PLATFORM=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-# CONFIG_EMBEDDED is not set
-CONFIG_HAVE_PERF_EVENTS=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_PCI_QUIRKS=y
-CONFIG_SLUB_DEBUG=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-CONFIG_SLUB=y
-CONFIG_PROFILING=y
-CONFIG_TRACEPOINTS=y
-CONFIG_OPROFILE=m
-# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-# CONFIG_JUMP_LABEL is not set
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_IOREMAP_PROT=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_OPTPROBES=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_DMA_ATTRS=y
-CONFIG_USE_GENERIC_SMP_HELPERS=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
-CONFIG_HAVE_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_PERF_EVENTS_NMI=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_GCOV_KERNEL is not set
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-CONFIG_MODULE_FORCE_LOAD=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_STOP_MACHINE=y
-CONFIG_BLOCK=y
-CONFIG_LBDAF=y
-CONFIG_BLK_DEV_BSG=y
-CONFIG_BLK_DEV_BSGLIB=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-CONFIG_BLK_DEV_THROTTLING=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-CONFIG_CFQ_GROUP_IOSCHED=y
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_PADATA=y
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-CONFIG_MUTEX_SPIN_ON_OWNER=y
-CONFIG_FREEZER=y
-
-#
-# Processor type and features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
-CONFIG_SMP=y
-CONFIG_X86_MPPARSE=y
-CONFIG_X86_BIGSMP=y
-# CONFIG_X86_EXTENDED_PLATFORM is not set
-CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_X86_32_IRIS=m
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-# CONFIG_PARAVIRT_GUEST is not set
-CONFIG_NO_BOOTMEM=y
-CONFIG_MEMTEST=y
-# CONFIG_M386 is not set
-# CONFIG_M486 is not set
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-# CONFIG_M686 is not set
-# CONFIG_MPENTIUMII is not set
-CONFIG_MPENTIUMIII=y
-# CONFIG_MPENTIUMM is not set
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MEFFICEON is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MELAN is not set
-# CONFIG_MGEODEGX1 is not set
-# CONFIG_MGEODE_LX is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-# CONFIG_MVIAC7 is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_MATOM is not set
-CONFIG_X86_GENERIC=y
-CONFIG_X86_INTERNODE_CACHE_SHIFT=7
-CONFIG_X86_CMPXCHG=y
-CONFIG_CMPXCHG_LOCAL=y
-CONFIG_CMPXCHG_DOUBLE=y
-CONFIG_X86_L1_CACHE_SHIFT=6
-CONFIG_X86_XADD=y
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_INVLPG=y
-CONFIG_X86_BSWAP=y
-CONFIG_X86_POPAD_OK=y
-CONFIG_X86_INTEL_USERCOPY=y
-CONFIG_X86_USE_PPRO_CHECKSUM=y
-CONFIG_X86_TSC=y
-CONFIG_X86_CMPXCHG64=y
-CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=5
-CONFIG_X86_DEBUGCTLMSR=y
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_CYRIX_32=y
-CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR=y
-CONFIG_CPU_SUP_TRANSMETA_32=y
-CONFIG_CPU_SUP_UMC_32=y
-CONFIG_HPET_TIMER=y
-CONFIG_HPET_EMULATE_RTC=y
-CONFIG_DMI=y
-# CONFIG_IOMMU_HELPER is not set
-CONFIG_NR_CPUS=32
-CONFIG_SCHED_SMT=y
-CONFIG_SCHED_MC=y
-# CONFIG_IRQ_TIME_ACCOUNTING is not set
-# CONFIG_PREEMPT_NONE is not set
-CONFIG_PREEMPT_VOLUNTARY=y
-# CONFIG_PREEMPT is not set
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
-CONFIG_X86_MCE=y
-CONFIG_X86_MCE_INTEL=y
-CONFIG_X86_MCE_AMD=y
-CONFIG_X86_ANCIENT_MCE=y
-CONFIG_X86_MCE_THRESHOLD=y
-CONFIG_X86_MCE_INJECT=m
-CONFIG_X86_THERMAL_VECTOR=y
-CONFIG_VM86=y
-CONFIG_TOSHIBA=m
-CONFIG_I8K=m
-CONFIG_X86_REBOOTFIXUPS=y
-CONFIG_MICROCODE=m
-CONFIG_MICROCODE_INTEL=y
-CONFIG_MICROCODE_AMD=y
-CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_X86_MSR=m
-CONFIG_X86_CPUID=m
-# CONFIG_NOHIGHMEM is not set
-# CONFIG_HIGHMEM4G is not set
-CONFIG_HIGHMEM64G=y
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_HIGHMEM=y
-CONFIG_X86_PAE=y
-CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
-CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_NUMA=y
-# CONFIG_NUMA_EMU is not set
-CONFIG_NODES_SHIFT=3
-CONFIG_HAVE_ARCH_BOOTMEM=y
-CONFIG_HAVE_ARCH_ALLOC_REMAP=y
-CONFIG_ARCH_HAVE_MEMORY_PRESENT=y
-CONFIG_NEED_NODE_MEMMAP_SIZE=y
-CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
-CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ILLEGAL_POINTER_VALUE=0
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_DISCONTIGMEM_MANUAL=y
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_DISCONTIGMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_NEED_MULTIPLE_NODES=y
-CONFIG_HAVE_MEMORY_PRESENT=y
-CONFIG_SPARSEMEM_STATIC=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_COMPACTION=y
-CONFIG_MIGRATION=y
-CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-CONFIG_MMU_NOTIFIER=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=98304
-CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
-# CONFIG_MEMORY_FAILURE is not set
-CONFIG_TRANSPARENT_HUGEPAGE=y
-CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
-# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
-# CONFIG_CLEANCACHE is not set
-CONFIG_HIGHPTE=y
-# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
-CONFIG_X86_RESERVE_LOW=64
-CONFIG_MATH_EMULATION=y
-CONFIG_MTRR=y
-CONFIG_MTRR_SANITIZER=y
-CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
-CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
-CONFIG_X86_PAT=y
-CONFIG_ARCH_USES_PG_UNCACHED=y
-CONFIG_ARCH_RANDOM=y
-CONFIG_EFI=y
-CONFIG_SECCOMP=y
-CONFIG_CC_STACKPROTECTOR=y
-# CONFIG_HZ_100 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_300 is not set
-CONFIG_HZ_1000=y
-CONFIG_HZ=1000
-CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
-# CONFIG_CRASH_DUMP is not set
-CONFIG_PHYSICAL_START=0x1000000
-# CONFIG_RELOCATABLE is not set
-CONFIG_PHYSICAL_ALIGN=0x100000
-CONFIG_HOTPLUG_CPU=y
-CONFIG_COMPAT_VDSO=y
-# CONFIG_CMDLINE_BOOL is not set
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-CONFIG_USE_PERCPU_NUMA_NODE_ID=y
-
-#
-# Power management and ACPI options
-#
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_HIBERNATE_CALLBACKS=y
-CONFIG_HIBERNATION=y
-CONFIG_PM_STD_PARTITION="\"\""
-CONFIG_PM_SLEEP=y
-CONFIG_PM_SLEEP_SMP=y
-CONFIG_PM_RUNTIME=y
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_ACPI=y
-CONFIG_ACPI_SLEEP=y
-CONFIG_ACPI_PROCFS=y
-CONFIG_ACPI_PROCFS_POWER=y
-CONFIG_ACPI_EC_DEBUGFS=m
-CONFIG_ACPI_PROC_EVENT=y
-CONFIG_ACPI_AC=m
-CONFIG_ACPI_BATTERY=m
-CONFIG_ACPI_BUTTON=m
-CONFIG_ACPI_VIDEO=m
-CONFIG_ACPI_FAN=m
-CONFIG_ACPI_DOCK=y
-CONFIG_ACPI_PROCESSOR=m
-CONFIG_ACPI_IPMI=m
-CONFIG_ACPI_HOTPLUG_CPU=y
-CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
-CONFIG_ACPI_THERMAL=m
-# CONFIG_ACPI_NUMA is not set
-# CONFIG_ACPI_CUSTOM_DSDT is not set
-CONFIG_ACPI_BLACKLIST_YEAR=2001
-# CONFIG_ACPI_DEBUG is not set
-CONFIG_ACPI_PCI_SLOT=m
-CONFIG_X86_PM_TIMER=y
-CONFIG_ACPI_CONTAINER=m
-CONFIG_ACPI_SBS=m
-CONFIG_ACPI_HED=y
-# CONFIG_ACPI_CUSTOM_METHOD is not set
-CONFIG_ACPI_APEI=y
-CONFIG_ACPI_APEI_GHES=y
-CONFIG_ACPI_APEI_PCIEAER=y
-CONFIG_ACPI_APEI_EINJ=m
-CONFIG_ACPI_APEI_ERST_DEBUG=m
-CONFIG_SFI=y
-# CONFIG_APM is not set
-
-#
-# CPU Frequency scaling
-#
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_TABLE=m
-CONFIG_CPU_FREQ_STAT=m
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-
-#
-# x86 CPU frequency scaling drivers
-#
-CONFIG_X86_PCC_CPUFREQ=m
-CONFIG_X86_ACPI_CPUFREQ=m
-CONFIG_X86_POWERNOW_K6=m
-CONFIG_X86_POWERNOW_K7=m
-CONFIG_X86_POWERNOW_K7_ACPI=y
-CONFIG_X86_POWERNOW_K8=m
-CONFIG_X86_GX_SUSPMOD=m
-CONFIG_X86_SPEEDSTEP_CENTRINO=m
-CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
-CONFIG_X86_SPEEDSTEP_ICH=m
-CONFIG_X86_SPEEDSTEP_SMI=m
-CONFIG_X86_P4_CLOCKMOD=m
-CONFIG_X86_CPUFREQ_NFORCE2=m
-CONFIG_X86_LONGRUN=m
-CONFIG_X86_LONGHAUL=m
-CONFIG_X86_E_POWERSAVER=m
-
-#
-# shared options
-#
-CONFIG_X86_SPEEDSTEP_LIB=m
-CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_CPU_IDLE_GOV_MENU=y
-CONFIG_INTEL_IDLE=y
-
-#
-# Bus options (PCI etc.)
-#
-CONFIG_PCI=y
-# CONFIG_PCI_GOBIOS is not set
-# CONFIG_PCI_GOMMCONFIG is not set
-# CONFIG_PCI_GODIRECT is not set
-CONFIG_PCI_GOANY=y
-CONFIG_PCI_BIOS=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_MMCONFIG=y
-CONFIG_PCI_DOMAINS=y
-# CONFIG_PCI_CNB20LE_QUIRK is not set
-CONFIG_PCIEPORTBUS=y
-CONFIG_HOTPLUG_PCI_PCIE=m
-CONFIG_PCIEAER=y
-# CONFIG_PCIE_ECRC is not set
-CONFIG_PCIEAER_INJECT=m
-CONFIG_PCIEASPM=y
-# CONFIG_PCIEASPM_DEBUG is not set
-CONFIG_PCIE_PME=y
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_PCI_MSI=y
-# CONFIG_PCI_DEBUG is not set
-CONFIG_PCI_STUB=m
-CONFIG_HT_IRQ=y
-# CONFIG_PCI_IOV is not set
-# CONFIG_PCI_PRI is not set
-# CONFIG_PCI_PASID is not set
-CONFIG_PCI_IOAPIC=y
-CONFIG_PCI_LABEL=y
-CONFIG_ISA_DMA_API=y
-CONFIG_ISA=y
-# CONFIG_EISA is not set
-# CONFIG_MCA is not set
-CONFIG_SCx200=m
-CONFIG_SCx200HR_TIMER=m
-CONFIG_ALIX=y
-CONFIG_AMD_NB=y
-CONFIG_PCCARD=m
-CONFIG_PCMCIA=m
-CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_CARDBUS=y
-
-#
-# PC-card bridges
-#
-CONFIG_YENTA=m
-CONFIG_YENTA_O2=y
-CONFIG_YENTA_RICOH=y
-CONFIG_YENTA_TI=y
-CONFIG_YENTA_ENE_TUNE=y
-CONFIG_YENTA_TOSHIBA=y
-CONFIG_PD6729=m
-CONFIG_I82092=m
-CONFIG_I82365=m
-CONFIG_TCIC=m
-CONFIG_PCMCIA_PROBE=y
-CONFIG_PCCARD_NONSTATIC=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_FAKE=m
-CONFIG_HOTPLUG_PCI_COMPAQ=m
-# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
-CONFIG_HOTPLUG_PCI_IBM=m
-CONFIG_HOTPLUG_PCI_ACPI=m
-CONFIG_HOTPLUG_PCI_ACPI_IBM=m
-# CONFIG_HOTPLUG_PCI_CPCI is not set
-CONFIG_HOTPLUG_PCI_SHPC=m
-# CONFIG_RAPIDIO is not set
-
-#
-# Executable file formats / Emulations
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_HAVE_AOUT=y
-CONFIG_BINFMT_AOUT=m
-CONFIG_BINFMT_MISC=m
-CONFIG_HAVE_ATOMIC_IOMAP=y
-CONFIG_HAVE_TEXT_POKE_SMP=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=y
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_XFRM_STATISTICS is not set
-CONFIG_XFRM_IPCOMP=m
-CONFIG_NET_KEY=m
-# CONFIG_NET_KEY_MIGRATE is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-# CONFIG_IP_FIB_TRIE_STATS is not set
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_ROUTE_CLASSID=y
-# CONFIG_IP_PNP is not set
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPGRE_BROADCAST=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_XFRM_TUNNEL=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_LRO=y
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-CONFIG_IPV6=m
-CONFIG_IPV6_PRIVACY=y
-# CONFIG_IPV6_ROUTER_PREF is not set
-# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_MIP6=m
-CONFIG_INET6_XFRM_TUNNEL=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
-CONFIG_IPV6_SIT=m
-# CONFIG_IPV6_SIT_6RD is not set
-CONFIG_IPV6_NDISC_NODETYPE=y
-CONFIG_IPV6_TUNNEL=m
-# CONFIG_IPV6_MULTIPLE_TABLES is not set
-# CONFIG_IPV6_MROUTE is not set
-# CONFIG_NETLABEL is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_NETFILTER_ADVANCED=y
-CONFIG_BRIDGE_NETFILTER=y
-
-#
-# Core Netfilter Configuration
-#
-CONFIG_NETFILTER_NETLINK=m
-CONFIG_NETFILTER_NETLINK_QUEUE=m
-CONFIG_NETFILTER_NETLINK_LOG=m
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_MARK=y
-CONFIG_NF_CONNTRACK_ZONES=y
-# CONFIG_NF_CONNTRACK_EVENTS is not set
-# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
-CONFIG_NF_CT_PROTO_DCCP=m
-CONFIG_NF_CT_PROTO_GRE=m
-CONFIG_NF_CT_PROTO_SCTP=m
-CONFIG_NF_CT_PROTO_UDPLITE=m
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK_BROADCAST=m
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_PPTP=m
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-CONFIG_NF_CT_NETLINK=m
-CONFIG_NETFILTER_TPROXY=m
-CONFIG_NETFILTER_XTABLES=m
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_CONNMARK=m
-CONFIG_NETFILTER_XT_SET=m
-
-#
-# Xtables targets
-#
-CONFIG_NETFILTER_XT_TARGET_AUDIT=m
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_HL=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-CONFIG_NETFILTER_XT_TARGET_LED=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
-CONFIG_NETFILTER_XT_TARGET_RATEEST=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-CONFIG_NETFILTER_XT_TARGET_TPROXY=m
-CONFIG_NETFILTER_XT_TARGET_TRACE=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
-
-#
-# Xtables matches
-#
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_HL=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_IPVS=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_OSF=m
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_SOCKET=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-CONFIG_IP_SET=m
-CONFIG_IP_SET_MAX=256
-CONFIG_IP_SET_BITMAP_IP=m
-CONFIG_IP_SET_BITMAP_IPMAC=m
-CONFIG_IP_SET_BITMAP_PORT=m
-CONFIG_IP_SET_HASH_IP=m
-CONFIG_IP_SET_HASH_IPPORT=m
-CONFIG_IP_SET_HASH_IPPORTIP=m
-CONFIG_IP_SET_HASH_IPPORTNET=m
-CONFIG_IP_SET_HASH_NET=m
-CONFIG_IP_SET_HASH_NETPORT=m
-CONFIG_IP_SET_HASH_NETIFACE=m
-CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_VS=m
-# CONFIG_IP_VS_IPV6 is not set
-# CONFIG_IP_VS_DEBUG is not set
-CONFIG_IP_VS_TAB_BITS=12
-
-#
-# IPVS transport protocol load balancing support
-#
-CONFIG_IP_VS_PROTO_TCP=y
-CONFIG_IP_VS_PROTO_UDP=y
-CONFIG_IP_VS_PROTO_AH_ESP=y
-CONFIG_IP_VS_PROTO_ESP=y
-CONFIG_IP_VS_PROTO_AH=y
-CONFIG_IP_VS_PROTO_SCTP=y
-
-#
-# IPVS scheduler
-#
-CONFIG_IP_VS_RR=m
-CONFIG_IP_VS_WRR=m
-CONFIG_IP_VS_LC=m
-CONFIG_IP_VS_WLC=m
-CONFIG_IP_VS_LBLC=m
-CONFIG_IP_VS_LBLCR=m
-CONFIG_IP_VS_DH=m
-CONFIG_IP_VS_SH=m
-CONFIG_IP_VS_SED=m
-CONFIG_IP_VS_NQ=m
-
-#
-# IPVS application helper
-#
-CONFIG_IP_VS_FTP=m
-CONFIG_IP_VS_NFCT=y
-CONFIG_IP_VS_PE_SIP=m
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV4=m
-CONFIG_NF_CONNTRACK_IPV4=m
-CONFIG_NF_CONNTRACK_PROC_COMPAT=y
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_NF_NAT=m
-CONFIG_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_NF_NAT_SNMP_BASIC=m
-CONFIG_NF_NAT_PROTO_DCCP=m
-CONFIG_NF_NAT_PROTO_GRE=m
-CONFIG_NF_NAT_PROTO_UDPLITE=m
-CONFIG_NF_NAT_PROTO_SCTP=m
-CONFIG_NF_NAT_FTP=m
-CONFIG_NF_NAT_IRC=m
-CONFIG_NF_NAT_TFTP=m
-CONFIG_NF_NAT_AMANDA=m
-CONFIG_NF_NAT_PPTP=m
-CONFIG_NF_NAT_H323=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_CLUSTERIP=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_SECURITY=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV6=m
-CONFIG_NF_CONNTRACK_IPV6=m
-CONFIG_IP6_NF_QUEUE=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_TARGET_LOG=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_RAW=m
-CONFIG_IP6_NF_SECURITY=m
-
-#
-# DECnet: Netfilter Configuration
-#
-# CONFIG_DECNET_NF_GRABULATOR is not set
-CONFIG_BRIDGE_NF_EBTABLES=m
-CONFIG_BRIDGE_EBT_BROUTE=m
-CONFIG_BRIDGE_EBT_T_FILTER=m
-CONFIG_BRIDGE_EBT_T_NAT=m
-CONFIG_BRIDGE_EBT_802_3=m
-CONFIG_BRIDGE_EBT_AMONG=m
-CONFIG_BRIDGE_EBT_ARP=m
-CONFIG_BRIDGE_EBT_IP=m
-CONFIG_BRIDGE_EBT_IP6=m
-CONFIG_BRIDGE_EBT_LIMIT=m
-CONFIG_BRIDGE_EBT_MARK=m
-CONFIG_BRIDGE_EBT_PKTTYPE=m
-CONFIG_BRIDGE_EBT_STP=m
-CONFIG_BRIDGE_EBT_VLAN=m
-CONFIG_BRIDGE_EBT_ARPREPLY=m
-CONFIG_BRIDGE_EBT_DNAT=m
-CONFIG_BRIDGE_EBT_MARK_T=m
-CONFIG_BRIDGE_EBT_REDIRECT=m
-CONFIG_BRIDGE_EBT_SNAT=m
-CONFIG_BRIDGE_EBT_LOG=m
-CONFIG_BRIDGE_EBT_ULOG=m
-CONFIG_BRIDGE_EBT_NFLOG=m
-CONFIG_IP_DCCP=m
-CONFIG_INET_DCCP_DIAG=m
-
-#
-# DCCP CCIDs Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_DCCP_CCID2_DEBUG is not set
-# CONFIG_IP_DCCP_CCID3 is not set
-
-#
-# DCCP Kernel Hacking
-#
-# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_SCTP=m
-# CONFIG_SCTP_DBG_MSG is not set
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# CONFIG_SCTP_HMAC_NONE is not set
-# CONFIG_SCTP_HMAC_SHA1 is not set
-CONFIG_SCTP_HMAC_MD5=y
-CONFIG_RDS=m
-CONFIG_RDS_RDMA=m
-CONFIG_RDS_TCP=m
-# CONFIG_RDS_DEBUG is not set
-CONFIG_TIPC=m
-# CONFIG_TIPC_ADVANCED is not set
-# CONFIG_TIPC_DEBUG is not set
-CONFIG_ATM=m
-CONFIG_ATM_CLIP=m
-# CONFIG_ATM_CLIP_NO_ICMP is not set
-CONFIG_ATM_LANE=m
-CONFIG_ATM_MPOA=m
-CONFIG_ATM_BR2684=m
-# CONFIG_ATM_BR2684_IPFILTER is not set
-CONFIG_L2TP=m
-CONFIG_L2TP_DEBUGFS=m
-CONFIG_L2TP_V3=y
-CONFIG_L2TP_IP=m
-CONFIG_L2TP_ETH=m
-CONFIG_STP=m
-CONFIG_GARP=m
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-# CONFIG_NET_DSA is not set
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_DECNET=m
-# CONFIG_DECNET_ROUTER is not set
-CONFIG_LLC=y
-CONFIG_LLC2=m
-CONFIG_IPX=m
-# CONFIG_IPX_INTERN is not set
-CONFIG_ATALK=m
-CONFIG_DEV_APPLETALK=m
-CONFIG_LTPC=m
-CONFIG_COPS=m
-CONFIG_COPS_DAYNA=y
-CONFIG_COPS_TANGENT=y
-CONFIG_IPDDP=m
-CONFIG_IPDDP_ENCAP=y
-CONFIG_IPDDP_DECAP=y
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-CONFIG_WAN_ROUTER=m
-# CONFIG_PHONET is not set
-CONFIG_IEEE802154=m
-CONFIG_IEEE802154_6LOWPAN=m
-CONFIG_NET_SCHED=y
-
-#
-# Queueing/Scheduling
-#
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_ATM=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_MULTIQ=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFB=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_NETEM=m
-CONFIG_NET_SCH_DRR=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_CHOKE=m
-CONFIG_NET_SCH_QFQ=m
-CONFIG_NET_SCH_INGRESS=m
-
-#
-# Classification
-#
-CONFIG_NET_CLS=y
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-# CONFIG_CLS_U32_PERF is not set
-CONFIG_CLS_U32_MARK=y
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_CLS_FLOW=m
-CONFIG_NET_CLS_CGROUP=y
-CONFIG_NET_EMATCH=y
-CONFIG_NET_EMATCH_STACK=32
-CONFIG_NET_EMATCH_CMP=m
-CONFIG_NET_EMATCH_NBYTE=m
-CONFIG_NET_EMATCH_U32=m
-CONFIG_NET_EMATCH_META=m
-CONFIG_NET_EMATCH_TEXT=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_POLICE=y
-CONFIG_NET_ACT_GACT=m
-CONFIG_GACT_PROB=y
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_IPT=m
-CONFIG_NET_ACT_NAT=m
-CONFIG_NET_ACT_PEDIT=m
-CONFIG_NET_ACT_SIMP=m
-CONFIG_NET_ACT_SKBEDIT=m
-CONFIG_NET_ACT_CSUM=m
-# CONFIG_NET_CLS_IND is not set
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=y
-CONFIG_BATMAN_ADV=m
-# CONFIG_BATMAN_ADV_DEBUG is not set
-CONFIG_RPS=y
-CONFIG_RFS_ACCEL=y
-CONFIG_XPS=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_NET_DROP_MONITOR is not set
-CONFIG_HAMRADIO=y
-
-#
-# Packet Radio protocols
-#
-CONFIG_AX25=m
-# CONFIG_AX25_DAMA_SLAVE is not set
-CONFIG_NETROM=m
-CONFIG_ROSE=m
-
-#
-# AX.25 network device drivers
-#
-CONFIG_MKISS=m
-CONFIG_6PACK=m
-CONFIG_BPQETHER=m
-CONFIG_SCC=m
-CONFIG_SCC_DELAY=y
-CONFIG_SCC_TRXECHO=y
-CONFIG_BAYCOM_SER_FDX=m
-CONFIG_BAYCOM_SER_HDX=m
-CONFIG_BAYCOM_PAR=m
-CONFIG_BAYCOM_EPP=m
-CONFIG_YAM=m
-CONFIG_CAN=m
-CONFIG_CAN_RAW=m
-CONFIG_CAN_BCM=m
-CONFIG_CAN_GW=m
-
-#
-# CAN Device Drivers
-#
-CONFIG_CAN_VCAN=m
-CONFIG_CAN_SLCAN=m
-CONFIG_CAN_DEV=m
-CONFIG_CAN_CALC_BITTIMING=y
-CONFIG_CAN_JANZ_ICAN3=m
-CONFIG_PCH_CAN=m
-CONFIG_CAN_SJA1000=m
-CONFIG_CAN_SJA1000_ISA=m
-CONFIG_CAN_SJA1000_PLATFORM=m
-CONFIG_CAN_EMS_PCMCIA=m
-CONFIG_CAN_EMS_PCI=m
-CONFIG_CAN_PEAK_PCI=m
-CONFIG_CAN_KVASER_PCI=m
-CONFIG_CAN_PLX_PCI=m
-CONFIG_CAN_TSCAN1=m
-CONFIG_CAN_C_CAN=m
-CONFIG_CAN_C_CAN_PLATFORM=m
-
-#
-# CAN USB interfaces
-#
-CONFIG_CAN_EMS_USB=m
-CONFIG_CAN_ESD_USB2=m
-CONFIG_CAN_SOFTING=m
-CONFIG_CAN_SOFTING_CS=m
-# CONFIG_CAN_DEBUG_DEVICES is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-CONFIG_IRDA_CACHE_LAST_LSAP=y
-CONFIG_IRDA_FAST_RR=y
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-CONFIG_IRTTY_SIR=m
-
-#
-# Dongle support
-#
-CONFIG_DONGLE=y
-CONFIG_ESI_DONGLE=m
-CONFIG_ACTISYS_DONGLE=m
-CONFIG_TEKRAM_DONGLE=m
-CONFIG_TOIM3232_DONGLE=m
-CONFIG_LITELINK_DONGLE=m
-CONFIG_MA600_DONGLE=m
-CONFIG_GIRBIL_DONGLE=m
-CONFIG_MCP2120_DONGLE=m
-CONFIG_OLD_BELKIN_DONGLE=m
-CONFIG_ACT200L_DONGLE=m
-CONFIG_KINGSUN_DONGLE=m
-CONFIG_KSDAZZLE_DONGLE=m
-CONFIG_KS959_DONGLE=m
-
-#
-# FIR device drivers
-#
-CONFIG_USB_IRDA=m
-CONFIG_SIGMATEL_FIR=m
-CONFIG_NSC_FIR=m
-CONFIG_WINBOND_FIR=m
-CONFIG_TOSHIBA_FIR=m
-CONFIG_SMC_IRCC_FIR=m
-CONFIG_ALI_FIR=m
-CONFIG_VLSI_FIR=m
-CONFIG_VIA_FIR=m
-CONFIG_MCS_FIR=m
-CONFIG_BT=m
-CONFIG_BT_L2CAP=y
-CONFIG_BT_SCO=y
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_CMTP=m
-CONFIG_BT_HIDP=m
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIVHCI=m
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-CONFIG_BT_ATH3K=m
-CONFIG_BT_WILINK=m
-CONFIG_AF_RXRPC=m
-# CONFIG_AF_RXRPC_DEBUG is not set
-CONFIG_RXKAD=m
-CONFIG_FIB_RULES=y
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=m
-# CONFIG_NL80211_TESTMODE is not set
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-# CONFIG_CFG80211_REG_DEBUG is not set
-CONFIG_CFG80211_DEFAULT_PS=y
-# CONFIG_CFG80211_DEBUGFS is not set
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_WEXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-CONFIG_LIB80211=m
-CONFIG_LIB80211_CRYPT_WEP=m
-CONFIG_LIB80211_CRYPT_CCMP=m
-CONFIG_LIB80211_CRYPT_TKIP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_MAC80211=m
-CONFIG_MAC80211_HAS_RC=y
-CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_RC_MINSTREL_HT=y
-CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
-CONFIG_MAC80211_MESH=y
-CONFIG_MAC80211_LEDS=y
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_WIMAX=m
-CONFIG_WIMAX_DEBUG_LEVEL=8
-CONFIG_RFKILL=m
-CONFIG_RFKILL_LEDS=y
-CONFIG_RFKILL_INPUT=y
-CONFIG_RFKILL_REGULATOR=m
-CONFIG_NET_9P=m
-CONFIG_NET_9P_VIRTIO=m
-CONFIG_NET_9P_RDMA=m
-# CONFIG_NET_9P_DEBUG is not set
-# CONFIG_CAIF is not set
-CONFIG_CEPH_LIB=m
-# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
-# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
-CONFIG_NFC=m
-CONFIG_NFC_NCI=m
-
-#
-# Near Field Communication (NFC) devices
-#
-CONFIG_PN544_NFC=m
-CONFIG_NFC_PN533=m
-CONFIG_NFC_WILINK=m
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-# CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-CONFIG_REGMAP=y
-CONFIG_REGMAP_I2C=m
-CONFIG_CONNECTOR=m
-CONFIG_MTD=m
-CONFIG_MTD_TESTS=m
-CONFIG_MTD_REDBOOT_PARTS=m
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-CONFIG_MTD_AR7_PARTS=m
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=m
-CONFIG_HAVE_MTD_OTP=y
-CONFIG_MTD_BLKDEVS=m
-CONFIG_MTD_BLOCK=m
-CONFIG_MTD_BLOCK_RO=m
-CONFIG_FTL=m
-CONFIG_NFTL=m
-CONFIG_NFTL_RW=y
-CONFIG_INFTL=m
-CONFIG_RFD_FTL=m
-CONFIG_SSFDC=m
-CONFIG_SM_FTL=m
-CONFIG_MTD_OOPS=m
-CONFIG_MTD_SWAP=m
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=m
-CONFIG_MTD_JEDECPROBE=m
-CONFIG_MTD_GEN_PROBE=m
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_GEOMETRY=y
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-CONFIG_MTD_MAP_BANK_WIDTH_8=y
-CONFIG_MTD_MAP_BANK_WIDTH_16=y
-CONFIG_MTD_MAP_BANK_WIDTH_32=y
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-CONFIG_MTD_CFI_I4=y
-CONFIG_MTD_CFI_I8=y
-CONFIG_MTD_OTP=y
-CONFIG_MTD_CFI_INTELEXT=m
-CONFIG_MTD_CFI_AMDSTD=m
-CONFIG_MTD_CFI_STAA=m
-CONFIG_MTD_CFI_UTIL=m
-CONFIG_MTD_RAM=m
-CONFIG_MTD_ROM=m
-CONFIG_MTD_ABSENT=m
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=m
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-CONFIG_MTD_SC520CDP=m
-CONFIG_MTD_NETSC520=m
-CONFIG_MTD_TS5500=m
-CONFIG_MTD_SBC_GXX=m
-CONFIG_MTD_SCx200_DOCFLASH=m
-CONFIG_MTD_AMD76XROM=m
-CONFIG_MTD_ICHXROM=m
-CONFIG_MTD_ESB2ROM=m
-CONFIG_MTD_CK804XROM=m
-CONFIG_MTD_SCB2_FLASH=m
-CONFIG_MTD_NETtel=m
-CONFIG_MTD_L440GX=m
-CONFIG_MTD_PCI=m
-CONFIG_MTD_PCMCIA=m
-# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
-CONFIG_MTD_GPIO_ADDR=m
-CONFIG_MTD_INTEL_VR_NOR=m
-CONFIG_MTD_PLATRAM=m
-CONFIG_MTD_LATCH_ADDR=m
-
-#
-# Self-contained MTD device drivers
-#
-CONFIG_MTD_PMC551=m
-CONFIG_MTD_PMC551_BUGFIX=y
-# CONFIG_MTD_PMC551_DEBUG is not set
-CONFIG_MTD_SLRAM=m
-CONFIG_MTD_PHRAM=m
-CONFIG_MTD_MTDRAM=m
-CONFIG_MTDRAM_TOTAL_SIZE=4096
-CONFIG_MTDRAM_ERASE_SIZE=128
-CONFIG_MTD_BLOCK2MTD=m
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-CONFIG_MTD_DOC2001PLUS=m
-CONFIG_MTD_DOCG3=m
-CONFIG_MTD_DOCPROBE=m
-CONFIG_MTD_DOCECC=m
-CONFIG_MTD_DOCPROBE_ADVANCED=y
-CONFIG_MTD_DOCPROBE_ADDRESS=0x0000
-CONFIG_MTD_DOCPROBE_HIGH=y
-CONFIG_MTD_DOCPROBE_55AA=y
-CONFIG_MTD_NAND_ECC=m
-CONFIG_MTD_NAND_ECC_SMC=y
-CONFIG_MTD_NAND=m
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-CONFIG_MTD_NAND_BCH=m
-CONFIG_MTD_NAND_ECC_BCH=y
-CONFIG_MTD_SM_COMMON=m
-CONFIG_MTD_NAND_MUSEUM_IDS=y
-CONFIG_MTD_NAND_DENALI=m
-CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
-CONFIG_MTD_NAND_IDS=m
-CONFIG_MTD_NAND_RICOH=m
-CONFIG_MTD_NAND_DISKONCHIP=m
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
-CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y
-CONFIG_MTD_NAND_CAFE=m
-CONFIG_MTD_NAND_CS553X=m
-CONFIG_MTD_NAND_NANDSIM=m
-CONFIG_MTD_NAND_PLATFORM=m
-CONFIG_MTD_ALAUDA=m
-CONFIG_MTD_ONENAND=m
-CONFIG_MTD_ONENAND_VERIFY_WRITE=y
-CONFIG_MTD_ONENAND_GENERIC=m
-CONFIG_MTD_ONENAND_OTP=y
-CONFIG_MTD_ONENAND_2X_PROGRAM=y
-CONFIG_MTD_ONENAND_SIM=m
-
-#
-# LPDDR flash memory drivers
-#
-CONFIG_MTD_LPDDR=m
-CONFIG_MTD_QINFO_PROBE=m
-CONFIG_MTD_UBI=m
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-CONFIG_MTD_UBI_GLUEBI=m
-# CONFIG_MTD_UBI_DEBUG is not set
-CONFIG_PARPORT=m
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_SERIAL=m
-# CONFIG_PARPORT_PC_FIFO is not set
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_GSC is not set
-CONFIG_PARPORT_AX88796=m
-CONFIG_PARPORT_1284=y
-CONFIG_PARPORT_NOT_PC=y
-CONFIG_PNP=y
-CONFIG_PNP_DEBUG_MESSAGES=y
-
-#
-# Protocols
-#
-CONFIG_ISAPNP=y
-# CONFIG_PNPBIOS is not set
-CONFIG_PNPACPI=y
-CONFIG_BLK_DEV=y
-CONFIG_BLK_DEV_FD=y
-CONFIG_BLK_DEV_XD=m
-CONFIG_PARIDE=m
-
-#
-# Parallel IDE high-level drivers
-#
-CONFIG_PARIDE_PD=m
-CONFIG_PARIDE_PCD=m
-CONFIG_PARIDE_PF=m
-CONFIG_PARIDE_PT=m
-CONFIG_PARIDE_PG=m
-
-#
-# Parallel IDE protocol modules
-#
-CONFIG_PARIDE_ATEN=m
-CONFIG_PARIDE_BPCK=m
-CONFIG_PARIDE_BPCK6=m
-CONFIG_PARIDE_COMM=m
-CONFIG_PARIDE_DSTR=m
-CONFIG_PARIDE_FIT2=m
-CONFIG_PARIDE_FIT3=m
-CONFIG_PARIDE_EPAT=m
-CONFIG_PARIDE_EPATC8=y
-CONFIG_PARIDE_EPIA=m
-CONFIG_PARIDE_FRIQ=m
-CONFIG_PARIDE_FRPW=m
-CONFIG_PARIDE_KBIC=m
-CONFIG_PARIDE_KTTI=m
-CONFIG_PARIDE_ON20=m
-CONFIG_PARIDE_ON26=m
-CONFIG_BLK_CPQ_DA=m
-CONFIG_BLK_CPQ_CISS_DA=m
-CONFIG_CISS_SCSI_TAPE=y
-CONFIG_BLK_DEV_DAC960=m
-CONFIG_BLK_DEV_UMEM=m
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-CONFIG_BLK_DEV_DRBD=m
-# CONFIG_DRBD_FAULT_INJECTION is not set
-CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_OSD=m
-CONFIG_BLK_DEV_SX8=m
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=16384
-# CONFIG_BLK_DEV_XIP is not set
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-CONFIG_ATA_OVER_ETH=m
-CONFIG_VIRTIO_BLK=m
-# CONFIG_BLK_DEV_HD is not set
-CONFIG_BLK_DEV_RBD=m
-CONFIG_SENSORS_LIS3LV02D=m
-CONFIG_MISC_DEVICES=y
-CONFIG_AD525X_DPOT=m
-CONFIG_AD525X_DPOT_I2C=m
-CONFIG_IBM_ASM=m
-CONFIG_PHANTOM=m
-CONFIG_INTEL_MID_PTI=m
-CONFIG_SGI_IOC4=m
-CONFIG_TIFM_CORE=m
-CONFIG_TIFM_7XX1=m
-CONFIG_ICS932S401=m
-CONFIG_ENCLOSURE_SERVICES=m
-CONFIG_CS5535_MFGPT=m
-CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
-CONFIG_CS5535_CLOCK_EVENT_SRC=m
-CONFIG_HP_ILO=m
-CONFIG_APDS9802ALS=m
-CONFIG_ISL29003=m
-CONFIG_ISL29020=m
-CONFIG_SENSORS_TSL2550=m
-CONFIG_SENSORS_BH1780=m
-CONFIG_SENSORS_BH1770=m
-CONFIG_SENSORS_APDS990X=m
-CONFIG_HMC6352=m
-CONFIG_DS1682=m
-CONFIG_VMWARE_BALLOON=m
-CONFIG_BMP085=m
-CONFIG_PCH_PHUB=m
-CONFIG_USB_SWITCH_FSA9480=m
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-CONFIG_EEPROM_AT24=m
-CONFIG_EEPROM_LEGACY=m
-CONFIG_EEPROM_MAX6875=m
-CONFIG_EEPROM_93CX6=m
-CONFIG_CB710_CORE=m
-# CONFIG_CB710_DEBUG is not set
-CONFIG_CB710_DEBUG_ASSUMPTIONS=y
-CONFIG_IWMC3200TOP=m
-# CONFIG_IWMC3200TOP_DEBUG is not set
-# CONFIG_IWMC3200TOP_DEBUGFS is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-CONFIG_TI_ST=m
-CONFIG_SENSORS_LIS3_I2C=m
-
-#
-# Altera FPGA firmware download module
-#
-CONFIG_ALTERA_STAPL=m
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-CONFIG_RAID_ATTRS=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_SCSI_TGT=y
-CONFIG_SCSI_NETLINK=y
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_ST=m
-CONFIG_CHR_DEV_OSST=m
-CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_CHR_DEV_SG=m
-CONFIG_CHR_DEV_SCH=m
-CONFIG_SCSI_ENCLOSURE=m
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-CONFIG_SCSI_SPI_ATTRS=y
-CONFIG_SCSI_FC_ATTRS=m
-CONFIG_SCSI_FC_TGT_ATTRS=y
-CONFIG_SCSI_ISCSI_ATTRS=m
-CONFIG_SCSI_SAS_ATTRS=y
-CONFIG_SCSI_SAS_LIBSAS=y
-CONFIG_SCSI_SAS_ATA=y
-CONFIG_SCSI_SAS_HOST_SMP=y
-CONFIG_SCSI_SRP_ATTRS=m
-CONFIG_SCSI_SRP_TGT_ATTRS=y
-CONFIG_SCSI_LOWLEVEL=y
-CONFIG_ISCSI_TCP=m
-CONFIG_ISCSI_BOOT_SYSFS=y
-CONFIG_SCSI_CXGB3_ISCSI=m
-CONFIG_SCSI_CXGB4_ISCSI=m
-CONFIG_SCSI_BNX2_ISCSI=m
-CONFIG_SCSI_BNX2X_FCOE=m
-CONFIG_BE2ISCSI=m
-CONFIG_BLK_DEV_3W_XXXX_RAID=m
-CONFIG_SCSI_HPSA=m
-CONFIG_SCSI_3W_9XXX=m
-CONFIG_SCSI_3W_SAS=m
-CONFIG_SCSI_7000FASST=m
-CONFIG_SCSI_ACARD=m
-CONFIG_SCSI_AHA152X=m
-CONFIG_SCSI_AHA1542=m
-CONFIG_SCSI_AACRAID=m
-CONFIG_SCSI_AIC7XXX=m
-CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
-CONFIG_AIC7XXX_RESET_DELAY_MS=15000
-# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
-CONFIG_AIC7XXX_DEBUG_MASK=0
-# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
-CONFIG_SCSI_AIC7XXX_OLD=m
-CONFIG_SCSI_AIC79XX=m
-CONFIG_AIC79XX_CMDS_PER_DEVICE=4
-CONFIG_AIC79XX_RESET_DELAY_MS=15000
-# CONFIG_AIC79XX_DEBUG_ENABLE is not set
-CONFIG_AIC79XX_DEBUG_MASK=0
-# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
-CONFIG_SCSI_AIC94XX=m
-# CONFIG_AIC94XX_DEBUG is not set
-CONFIG_SCSI_MVSAS=m
-# CONFIG_SCSI_MVSAS_DEBUG is not set
-# CONFIG_SCSI_MVSAS_TASKLET is not set
-CONFIG_SCSI_MVUMI=m
-CONFIG_SCSI_DPT_I2O=m
-CONFIG_SCSI_ADVANSYS=m
-CONFIG_SCSI_IN2000=m
-CONFIG_SCSI_ARCMSR=m
-CONFIG_MEGARAID_NEWGEN=y
-CONFIG_MEGARAID_MM=m
-CONFIG_MEGARAID_MAILBOX=m
-CONFIG_MEGARAID_LEGACY=m
-CONFIG_MEGARAID_SAS=m
-CONFIG_SCSI_MPT2SAS=m
-CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT2SAS_LOGGING is not set
-CONFIG_SCSI_HPTIOP=m
-CONFIG_SCSI_BUSLOGIC=m
-CONFIG_SCSI_FLASHPOINT=y
-CONFIG_VMWARE_PVSCSI=m
-CONFIG_LIBFC=m
-CONFIG_LIBFCOE=m
-CONFIG_FCOE=m
-CONFIG_FCOE_FNIC=m
-CONFIG_SCSI_DMX3191D=m
-CONFIG_SCSI_DTC3280=m
-CONFIG_SCSI_EATA=m
-# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
-# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
-CONFIG_SCSI_EATA_MAX_TAGS=16
-CONFIG_SCSI_FUTURE_DOMAIN=m
-CONFIG_SCSI_GDTH=m
-CONFIG_SCSI_ISCI=m
-CONFIG_SCSI_GENERIC_NCR5380=m
-CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
-CONFIG_SCSI_GENERIC_NCR53C400=y
-CONFIG_SCSI_IPS=m
-CONFIG_SCSI_INITIO=m
-CONFIG_SCSI_INIA100=m
-CONFIG_SCSI_PPA=m
-CONFIG_SCSI_IMM=m
-# CONFIG_SCSI_IZIP_EPP16 is not set
-# CONFIG_SCSI_IZIP_SLOW_CTR is not set
-CONFIG_SCSI_NCR53C406A=m
-CONFIG_SCSI_STEX=m
-CONFIG_SCSI_SYM53C8XX_2=m
-CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
-CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
-CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
-CONFIG_SCSI_SYM53C8XX_MMIO=y
-CONFIG_SCSI_IPR=m
-# CONFIG_SCSI_IPR_TRACE is not set
-# CONFIG_SCSI_IPR_DUMP is not set
-CONFIG_SCSI_PAS16=m
-CONFIG_SCSI_QLOGIC_FAS=m
-CONFIG_SCSI_QLOGIC_1280=m
-CONFIG_SCSI_QLA_FC=m
-CONFIG_SCSI_QLA_ISCSI=m
-CONFIG_SCSI_LPFC=m
-# CONFIG_SCSI_LPFC_DEBUG_FS is not set
-CONFIG_SCSI_SYM53C416=m
-CONFIG_SCSI_DC395x=m
-CONFIG_SCSI_DC390T=m
-CONFIG_SCSI_T128=m
-CONFIG_SCSI_U14_34F=m
-# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
-# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
-CONFIG_SCSI_U14_34F_MAX_TAGS=8
-CONFIG_SCSI_ULTRASTOR=m
-CONFIG_SCSI_NSP32=m
-CONFIG_SCSI_DEBUG=m
-CONFIG_SCSI_PMCRAID=m
-CONFIG_SCSI_PM8001=m
-CONFIG_SCSI_SRP=m
-CONFIG_SCSI_BFA_FC=m
-CONFIG_SCSI_LOWLEVEL_PCMCIA=y
-CONFIG_PCMCIA_AHA152X=m
-CONFIG_PCMCIA_FDOMAIN=m
-CONFIG_PCMCIA_NINJA_SCSI=m
-CONFIG_PCMCIA_QLOGIC=m
-CONFIG_PCMCIA_SYM53C500=m
-CONFIG_SCSI_DH=m
-CONFIG_SCSI_DH_RDAC=m
-CONFIG_SCSI_DH_HP_SW=m
-CONFIG_SCSI_DH_EMC=m
-CONFIG_SCSI_DH_ALUA=m
-CONFIG_SCSI_OSD_INITIATOR=m
-CONFIG_SCSI_OSD_ULD=m
-CONFIG_SCSI_OSD_DPRINT_SENSE=1
-# CONFIG_SCSI_OSD_DEBUG is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_ATA_ACPI=y
-CONFIG_SATA_PMP=y
-
-#
-# Controllers with non-SFF native interface
-#
-CONFIG_SATA_AHCI=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_SATA_INIC162X=y
-CONFIG_SATA_ACARD_AHCI=y
-CONFIG_SATA_SIL24=y
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_PDC_ADMA=y
-CONFIG_SATA_QSTOR=y
-CONFIG_SATA_SX4=y
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-CONFIG_ATA_PIIX=y
-CONFIG_SATA_MV=y
-CONFIG_SATA_NV=y
-CONFIG_SATA_PROMISE=y
-CONFIG_SATA_SIL=y
-CONFIG_SATA_SIS=y
-CONFIG_SATA_SVW=y
-CONFIG_SATA_ULI=y
-CONFIG_SATA_VIA=y
-CONFIG_SATA_VITESSE=y
-
-#
-# PATA SFF controllers with BMDMA
-#
-CONFIG_PATA_ALI=y
-CONFIG_PATA_AMD=y
-CONFIG_PATA_ARASAN_CF=m
-CONFIG_PATA_ARTOP=y
-CONFIG_PATA_ATIIXP=y
-CONFIG_PATA_ATP867X=y
-CONFIG_PATA_CMD64X=y
-CONFIG_PATA_CS5520=y
-CONFIG_PATA_CS5530=y
-CONFIG_PATA_CS5535=y
-CONFIG_PATA_CS5536=y
-CONFIG_PATA_CYPRESS=y
-CONFIG_PATA_EFAR=y
-CONFIG_PATA_HPT366=y
-CONFIG_PATA_HPT37X=y
-CONFIG_PATA_HPT3X2N=y
-CONFIG_PATA_HPT3X3=y
-CONFIG_PATA_HPT3X3_DMA=y
-CONFIG_PATA_IT8213=y
-CONFIG_PATA_IT821X=y
-CONFIG_PATA_JMICRON=y
-CONFIG_PATA_MARVELL=y
-CONFIG_PATA_NETCELL=y
-CONFIG_PATA_NINJA32=y
-CONFIG_PATA_NS87415=y
-CONFIG_PATA_OLDPIIX=y
-CONFIG_PATA_OPTIDMA=y
-CONFIG_PATA_PDC2027X=y
-CONFIG_PATA_PDC_OLD=y
-CONFIG_PATA_RADISYS=y
-CONFIG_PATA_RDC=y
-CONFIG_PATA_SC1200=y
-CONFIG_PATA_SCH=y
-CONFIG_PATA_SERVERWORKS=y
-CONFIG_PATA_SIL680=y
-CONFIG_PATA_SIS=y
-CONFIG_PATA_TOSHIBA=m
-CONFIG_PATA_TRIFLEX=y
-CONFIG_PATA_VIA=y
-CONFIG_PATA_WINBOND=y
-
-#
-# PIO-only SFF controllers
-#
-CONFIG_PATA_CMD640_PCI=y
-CONFIG_PATA_ISAPNP=y
-CONFIG_PATA_MPIIX=y
-CONFIG_PATA_NS87410=y
-CONFIG_PATA_OPTI=y
-CONFIG_PATA_PCMCIA=m
-CONFIG_PATA_QDI=y
-CONFIG_PATA_RZ1000=y
-CONFIG_PATA_WINBOND_VLB=y
-
-#
-# Generic fallback / legacy drivers
-#
-CONFIG_PATA_ACPI=y
-CONFIG_ATA_GENERIC=y
-CONFIG_PATA_LEGACY=y
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=y
-CONFIG_MD_AUTODETECT=y
-CONFIG_MD_LINEAR=y
-CONFIG_MD_RAID0=y
-CONFIG_MD_RAID1=y
-CONFIG_MD_RAID10=y
-CONFIG_MD_RAID456=y
-# CONFIG_MULTICORE_RAID456 is not set
-CONFIG_MD_MULTIPATH=y
-CONFIG_MD_FAULTY=m
-CONFIG_BLK_DEV_DM=y
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_BUFIO=m
-CONFIG_DM_PERSISTENT_DATA=m
-CONFIG_DM_CRYPT=y
-CONFIG_DM_SNAPSHOT=m
-CONFIG_DM_THIN_PROVISIONING=m
-# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
-# CONFIG_DM_DEBUG_SPACE_MAPS is not set
-CONFIG_DM_MIRROR=y
-CONFIG_DM_RAID=m
-CONFIG_DM_LOG_USERSPACE=m
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-CONFIG_DM_MULTIPATH_QL=m
-CONFIG_DM_MULTIPATH_ST=m
-# CONFIG_DM_DELAY is not set
-CONFIG_DM_UEVENT=y
-CONFIG_DM_FLAKEY=m
-CONFIG_TARGET_CORE=m
-CONFIG_TCM_IBLOCK=m
-CONFIG_TCM_FILEIO=m
-CONFIG_TCM_PSCSI=m
-CONFIG_LOOPBACK_TARGET=m
-CONFIG_TCM_FC=m
-CONFIG_ISCSI_TARGET=m
-CONFIG_FUSION=y
-CONFIG_FUSION_SPI=m
-CONFIG_FUSION_FC=m
-CONFIG_FUSION_SAS=m
-CONFIG_FUSION_MAX_SGE=128
-CONFIG_FUSION_CTL=m
-CONFIG_FUSION_LAN=m
-# CONFIG_FUSION_LOGGING is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-CONFIG_FIREWIRE=m
-CONFIG_FIREWIRE_OHCI=m
-CONFIG_FIREWIRE_OHCI_DEBUG=y
-CONFIG_FIREWIRE_SBP2=m
-CONFIG_FIREWIRE_NET=m
-CONFIG_FIREWIRE_NOSY=m
-CONFIG_I2O=m
-CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
-CONFIG_I2O_EXT_ADAPTEC=y
-CONFIG_I2O_EXT_ADAPTEC_DMA64=y
-CONFIG_I2O_CONFIG=m
-# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
-CONFIG_I2O_BUS=m
-CONFIG_I2O_BLOCK=m
-CONFIG_I2O_SCSI=m
-CONFIG_I2O_PROC=m
-CONFIG_MACINTOSH_DRIVERS=y
-CONFIG_MAC_EMUMOUSEBTN=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_BONDING=m
-CONFIG_DUMMY=m
-CONFIG_EQUALIZER=m
-CONFIG_NET_FC=y
-CONFIG_MII=m
-CONFIG_IEEE802154_DRIVERS=m
-CONFIG_IEEE802154_FAKEHARD=m
-CONFIG_IFB=m
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_NETCONSOLE=m
-CONFIG_NETCONSOLE_DYNAMIC=y
-CONFIG_NETPOLL=y
-# CONFIG_NETPOLL_TRAP is not set
-CONFIG_NET_POLL_CONTROLLER=y
-CONFIG_TUN=m
-CONFIG_VETH=m
-CONFIG_VIRTIO_NET=m
-CONFIG_SUNGEM_PHY=m
-CONFIG_ARCNET=m
-CONFIG_ARCNET_1201=m
-CONFIG_ARCNET_1051=m
-CONFIG_ARCNET_RAW=m
-CONFIG_ARCNET_CAP=m
-CONFIG_ARCNET_COM90xx=m
-CONFIG_ARCNET_COM90xxIO=m
-CONFIG_ARCNET_RIM_I=m
-CONFIG_ARCNET_COM20020=m
-CONFIG_ARCNET_COM20020_ISA=m
-CONFIG_ARCNET_COM20020_PCI=m
-CONFIG_ARCNET_COM20020_CS=m
-CONFIG_ATM_DRIVERS=y
-CONFIG_ATM_DUMMY=m
-CONFIG_ATM_TCP=m
-CONFIG_ATM_LANAI=m
-CONFIG_ATM_ENI=m
-# CONFIG_ATM_ENI_DEBUG is not set
-# CONFIG_ATM_ENI_TUNE_BURST is not set
-CONFIG_ATM_FIRESTREAM=m
-CONFIG_ATM_ZATM=m
-# CONFIG_ATM_ZATM_DEBUG is not set
-CONFIG_ATM_NICSTAR=m
-# CONFIG_ATM_NICSTAR_USE_SUNI is not set
-# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
-CONFIG_ATM_IDT77252=m
-# CONFIG_ATM_IDT77252_DEBUG is not set
-# CONFIG_ATM_IDT77252_RCV_ALL is not set
-CONFIG_ATM_IDT77252_USE_SUNI=y
-CONFIG_ATM_AMBASSADOR=m
-# CONFIG_ATM_AMBASSADOR_DEBUG is not set
-CONFIG_ATM_HORIZON=m
-# CONFIG_ATM_HORIZON_DEBUG is not set
-CONFIG_ATM_IA=m
-# CONFIG_ATM_IA_DEBUG is not set
-CONFIG_ATM_FORE200E=m
-# CONFIG_ATM_FORE200E_USE_TASKLET is not set
-CONFIG_ATM_FORE200E_TX_RETRY=16
-CONFIG_ATM_FORE200E_DEBUG=0
-CONFIG_ATM_HE=m
-# CONFIG_ATM_HE_USE_SUNI is not set
-CONFIG_ATM_SOLOS=m
-
-#
-# CAIF transport drivers
-#
-CONFIG_ETHERNET=y
-CONFIG_MDIO=m
-CONFIG_NET_VENDOR_3COM=y
-CONFIG_EL1=m
-CONFIG_EL3=m
-CONFIG_3C515=m
-CONFIG_PCMCIA_3C574=m
-CONFIG_PCMCIA_3C589=m
-CONFIG_VORTEX=m
-CONFIG_TYPHOON=m
-CONFIG_NET_VENDOR_ADAPTEC=y
-CONFIG_ADAPTEC_STARFIRE=m
-CONFIG_NET_VENDOR_ALTEON=y
-CONFIG_ACENIC=m
-# CONFIG_ACENIC_OMIT_TIGON_I is not set
-CONFIG_NET_VENDOR_AMD=y
-CONFIG_AMD8111_ETH=m
-CONFIG_LANCE=m
-CONFIG_PCNET32=m
-CONFIG_DEPCA=m
-CONFIG_PCMCIA_NMCLAN=m
-CONFIG_NI65=m
-CONFIG_NET_VENDOR_ATHEROS=y
-CONFIG_ATL2=m
-CONFIG_ATL1=m
-CONFIG_ATL1E=m
-CONFIG_ATL1C=m
-CONFIG_NET_VENDOR_BROADCOM=y
-CONFIG_B44=m
-CONFIG_B44_PCI_AUTOSELECT=y
-CONFIG_B44_PCICORE_AUTOSELECT=y
-CONFIG_B44_PCI=y
-CONFIG_BNX2=m
-CONFIG_CNIC=m
-CONFIG_TIGON3=m
-CONFIG_BNX2X=m
-CONFIG_NET_VENDOR_BROCADE=y
-CONFIG_BNA=m
-CONFIG_NET_VENDOR_CHELSIO=y
-CONFIG_CHELSIO_T1=m
-CONFIG_CHELSIO_T1_1G=y
-CONFIG_CHELSIO_T3=m
-CONFIG_CHELSIO_T4=m
-CONFIG_CHELSIO_T4VF=m
-CONFIG_NET_VENDOR_CIRRUS=y
-CONFIG_CS89x0=m
-CONFIG_NET_VENDOR_CISCO=y
-CONFIG_ENIC=m
-CONFIG_DNET=m
-CONFIG_NET_VENDOR_DEC=y
-CONFIG_EWRK3=m
-CONFIG_NET_TULIP=y
-CONFIG_DE2104X=m
-CONFIG_DE2104X_DSL=0
-CONFIG_TULIP=m
-# CONFIG_TULIP_MWI is not set
-CONFIG_TULIP_MMIO=y
-# CONFIG_TULIP_NAPI is not set
-CONFIG_DE4X5=m
-CONFIG_WINBOND_840=m
-CONFIG_DM9102=m
-CONFIG_ULI526X=m
-CONFIG_PCMCIA_XIRCOM=m
-CONFIG_NET_VENDOR_DLINK=y
-CONFIG_DE600=m
-CONFIG_DE620=m
-CONFIG_DL2K=m
-CONFIG_SUNDANCE=m
-# CONFIG_SUNDANCE_MMIO is not set
-CONFIG_NET_VENDOR_EMULEX=y
-CONFIG_BE2NET=m
-CONFIG_NET_VENDOR_EXAR=y
-CONFIG_S2IO=m
-CONFIG_VXGE=m
-# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
-CONFIG_NET_VENDOR_FUJITSU=y
-CONFIG_AT1700=m
-CONFIG_PCMCIA_FMVJ18X=m
-CONFIG_ETH16I=m
-CONFIG_NET_VENDOR_HP=y
-CONFIG_HP100=m
-CONFIG_NET_VENDOR_INTEL=y
-CONFIG_E100=m
-CONFIG_E1000=m
-CONFIG_E1000E=m
-CONFIG_IGB=m
-CONFIG_IGB_DCA=y
-CONFIG_IGBVF=m
-CONFIG_IXGB=m
-CONFIG_IXGBE=m
-CONFIG_IXGBE_DCA=y
-CONFIG_IXGBEVF=m
-CONFIG_NET_VENDOR_I825XX=y
-CONFIG_ELPLUS=m
-CONFIG_EL16=m
-CONFIG_APRICOT=m
-CONFIG_EEXPRESS=m
-CONFIG_EEXPRESS_PRO=m
-CONFIG_LP486E=m
-CONFIG_NI52=m
-CONFIG_ZNET=m
-CONFIG_IP1000=m
-CONFIG_JME=m
-CONFIG_NET_VENDOR_MARVELL=y
-CONFIG_SKGE=m
-# CONFIG_SKGE_DEBUG is not set
-CONFIG_SKGE_GENESIS=y
-CONFIG_SKY2=m
-# CONFIG_SKY2_DEBUG is not set
-CONFIG_NET_VENDOR_MELLANOX=y
-CONFIG_MLX4_EN=m
-CONFIG_MLX4_CORE=m
-CONFIG_MLX4_DEBUG=y
-CONFIG_NET_VENDOR_MICREL=y
-CONFIG_KS8842=m
-CONFIG_KS8851_MLL=m
-CONFIG_KSZ884X_PCI=m
-CONFIG_NET_VENDOR_MYRI=y
-CONFIG_MYRI10GE=m
-CONFIG_MYRI10GE_DCA=y
-CONFIG_FEALNX=m
-CONFIG_NET_VENDOR_NATSEMI=y
-CONFIG_NATSEMI=m
-CONFIG_NS83820=m
-CONFIG_NET_VENDOR_8390=y
-CONFIG_EL2=m
-CONFIG_AC3200=m
-CONFIG_PCMCIA_AXNET=m
-CONFIG_E2100=m
-CONFIG_HPLAN_PLUS=m
-CONFIG_HPLAN=m
-CONFIG_NE2000=m
-CONFIG_NE2K_PCI=m
-CONFIG_PCMCIA_PCNET=m
-CONFIG_ULTRA=m
-CONFIG_WD80x3=m
-CONFIG_NET_VENDOR_NVIDIA=y
-CONFIG_FORCEDETH=m
-CONFIG_NET_VENDOR_OKI=y
-CONFIG_PCH_GBE=m
-CONFIG_ETHOC=m
-CONFIG_NET_PACKET_ENGINE=y
-CONFIG_HAMACHI=m
-CONFIG_YELLOWFIN=m
-CONFIG_NET_VENDOR_QLOGIC=y
-CONFIG_QLA3XXX=m
-CONFIG_QLCNIC=m
-CONFIG_QLGE=m
-CONFIG_NETXEN_NIC=m
-CONFIG_NET_VENDOR_RACAL=y
-CONFIG_NET_VENDOR_REALTEK=y
-CONFIG_ATP=m
-CONFIG_8139CP=m
-CONFIG_8139TOO=m
-CONFIG_8139TOO_PIO=y
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-CONFIG_8139TOO_8129=y
-# CONFIG_8139_OLD_RX_RESET is not set
-CONFIG_R8169=m
-CONFIG_NET_VENDOR_RDC=y
-CONFIG_R6040=m
-CONFIG_NET_VENDOR_SEEQ=y
-CONFIG_SEEQ8005=m
-CONFIG_NET_VENDOR_SILAN=y
-CONFIG_SC92031=m
-CONFIG_NET_VENDOR_SIS=y
-CONFIG_SIS900=m
-CONFIG_SIS190=m
-CONFIG_SFC=m
-CONFIG_SFC_MTD=y
-CONFIG_NET_VENDOR_SMSC=y
-CONFIG_SMC9194=m
-CONFIG_PCMCIA_SMC91C92=m
-CONFIG_EPIC100=m
-CONFIG_SMSC9420=m
-CONFIG_NET_VENDOR_STMICRO=y
-CONFIG_STMMAC_ETH=m
-CONFIG_STMMAC_DEBUG_FS=y
-# CONFIG_STMMAC_DA is not set
-CONFIG_STMMAC_RING=y
-# CONFIG_STMMAC_CHAINED is not set
-CONFIG_NET_VENDOR_SUN=y
-CONFIG_HAPPYMEAL=m
-CONFIG_SUNGEM=m
-CONFIG_CASSINI=m
-CONFIG_NIU=m
-CONFIG_NET_VENDOR_TEHUTI=y
-CONFIG_TEHUTI=m
-CONFIG_NET_VENDOR_TI=y
-CONFIG_TLAN=m
-CONFIG_NET_VENDOR_VIA=y
-CONFIG_VIA_RHINE=m
-CONFIG_VIA_RHINE_MMIO=y
-CONFIG_VIA_VELOCITY=m
-CONFIG_NET_VENDOR_XIRCOM=y
-CONFIG_PCMCIA_XIRC2PS=m
-CONFIG_FDDI=y
-CONFIG_DEFXX=m
-# CONFIG_DEFXX_MMIO is not set
-CONFIG_SKFP=m
-CONFIG_HIPPI=y
-CONFIG_ROADRUNNER=m
-# CONFIG_ROADRUNNER_LARGE_RINGS is not set
-CONFIG_NET_SB1000=m
-CONFIG_PHYLIB=m
-
-#
-# MII PHY device drivers
-#
-CONFIG_MARVELL_PHY=m
-CONFIG_DAVICOM_PHY=m
-CONFIG_QSEMI_PHY=m
-CONFIG_LXT_PHY=m
-CONFIG_CICADA_PHY=m
-CONFIG_VITESSE_PHY=m
-CONFIG_SMSC_PHY=m
-CONFIG_BROADCOM_PHY=m
-CONFIG_ICPLUS_PHY=m
-CONFIG_REALTEK_PHY=m
-CONFIG_NATIONAL_PHY=m
-CONFIG_STE10XP=m
-CONFIG_LSI_ET1011C_PHY=m
-CONFIG_MICREL_PHY=m
-CONFIG_MDIO_BITBANG=m
-CONFIG_MDIO_GPIO=m
-CONFIG_PLIP=m
-CONFIG_PPP=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_MPPE=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPPOATM=m
-CONFIG_PPPOE=m
-CONFIG_PPTP=m
-CONFIG_PPPOL2TP=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_SLIP=m
-CONFIG_SLHC=m
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLIP_SMART=y
-# CONFIG_SLIP_MODE_SLIP6 is not set
-CONFIG_TR=y
-CONFIG_PCMCIA_IBMTR=m
-CONFIG_IBMTR=m
-CONFIG_IBMOL=m
-CONFIG_IBMLS=m
-CONFIG_3C359=m
-CONFIG_TMS380TR=m
-CONFIG_TMSPCI=m
-CONFIG_SKISA=m
-CONFIG_PROTEON=m
-CONFIG_ABYSS=m
-CONFIG_SMCTR=m
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDCETHER=m
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_NET_CDC_SUBSET=m
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_ARMLINUX=y
-# CONFIG_USB_EPSON2888 is not set
-# CONFIG_USB_KC2190 is not set
-CONFIG_USB_NET_ZAURUS=m
-CONFIG_USB_NET_CX82310_ETH=m
-CONFIG_USB_NET_KALMIA=m
-CONFIG_USB_HSO=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_VL600=m
-CONFIG_WLAN=y
-CONFIG_PCMCIA_RAYCS=m
-CONFIG_LIBERTAS_THINFIRM=m
-# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
-CONFIG_LIBERTAS_THINFIRM_USB=m
-CONFIG_AIRO=m
-CONFIG_ATMEL=m
-CONFIG_PCI_ATMEL=m
-CONFIG_PCMCIA_ATMEL=m
-CONFIG_AT76C50X_USB=m
-CONFIG_AIRO_CS=m
-CONFIG_PCMCIA_WL3501=m
-CONFIG_PRISM54=m
-CONFIG_USB_ZD1201=m
-CONFIG_USB_NET_RNDIS_WLAN=m
-CONFIG_RTL8180=m
-CONFIG_RTL8187=m
-CONFIG_RTL8187_LEDS=y
-CONFIG_ADM8211=m
-# CONFIG_MAC80211_HWSIM is not set
-CONFIG_MWL8K=m
-CONFIG_ATH_COMMON=m
-# CONFIG_ATH_DEBUG is not set
-CONFIG_ATH5K=m
-# CONFIG_ATH5K_DEBUG is not set
-# CONFIG_ATH5K_TRACER is not set
-CONFIG_ATH5K_PCI=y
-CONFIG_ATH9K_HW=m
-CONFIG_ATH9K_COMMON=m
-CONFIG_ATH9K=m
-CONFIG_ATH9K_PCI=y
-# CONFIG_ATH9K_AHB is not set
-# CONFIG_ATH9K_DEBUGFS is not set
-CONFIG_ATH9K_RATE_CONTROL=y
-CONFIG_ATH9K_HTC=m
-# CONFIG_ATH9K_HTC_DEBUGFS is not set
-CONFIG_CARL9170=m
-CONFIG_CARL9170_LEDS=y
-CONFIG_CARL9170_WPC=y
-# CONFIG_CARL9170_HWRNG is not set
-CONFIG_ATH6KL=m
-# CONFIG_ATH6KL_DEBUG is not set
-CONFIG_B43=m
-CONFIG_B43_SSB=y
-CONFIG_B43_PCI_AUTOSELECT=y
-CONFIG_B43_PCICORE_AUTOSELECT=y
-CONFIG_B43_PCMCIA=y
-CONFIG_B43_SDIO=y
-CONFIG_B43_PIO=y
-CONFIG_B43_PHY_N=y
-CONFIG_B43_PHY_LP=y
-CONFIG_B43_PHY_HT=y
-CONFIG_B43_LEDS=y
-CONFIG_B43_HWRNG=y
-# CONFIG_B43_DEBUG is not set
-CONFIG_B43LEGACY=m
-CONFIG_B43LEGACY_PCI_AUTOSELECT=y
-CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
-CONFIG_B43LEGACY_LEDS=y
-CONFIG_B43LEGACY_HWRNG=y
-# CONFIG_B43LEGACY_DEBUG is not set
-CONFIG_B43LEGACY_DMA=y
-CONFIG_B43LEGACY_PIO=y
-CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
-# CONFIG_B43LEGACY_DMA_MODE is not set
-# CONFIG_B43LEGACY_PIO_MODE is not set
-CONFIG_BRCMUTIL=m
-CONFIG_BRCMSMAC=m
-CONFIG_BRCMFMAC=m
-# CONFIG_BRCMDBG is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-CONFIG_HOSTAP_FIRMWARE_NVRAM=y
-CONFIG_HOSTAP_PLX=m
-CONFIG_HOSTAP_PCI=m
-CONFIG_HOSTAP_CS=m
-CONFIG_IPW2100=m
-CONFIG_IPW2100_MONITOR=y
-# CONFIG_IPW2100_DEBUG is not set
-CONFIG_IPW2200=m
-CONFIG_IPW2200_MONITOR=y
-CONFIG_IPW2200_RADIOTAP=y
-CONFIG_IPW2200_PROMISCUOUS=y
-CONFIG_IPW2200_QOS=y
-# CONFIG_IPW2200_DEBUG is not set
-CONFIG_LIBIPW=m
-# CONFIG_LIBIPW_DEBUG is not set
-CONFIG_IWLWIFI=m
-
-#
-# Debugging Options
-#
-# CONFIG_IWLWIFI_DEBUG is not set
-# CONFIG_IWLWIFI_DEVICE_TRACING is not set
-# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
-CONFIG_IWLWIFI_LEGACY=m
-
-#
-# Debugging Options
-#
-# CONFIG_IWLWIFI_LEGACY_DEBUG is not set
-# CONFIG_IWLWIFI_LEGACY_DEVICE_TRACING is not set
-CONFIG_IWL4965=m
-CONFIG_IWL3945=m
-CONFIG_IWM=m
-# CONFIG_IWM_DEBUG is not set
-# CONFIG_IWM_TRACING is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_CS=m
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_DEBUG is not set
-CONFIG_LIBERTAS_MESH=y
-CONFIG_HERMES=m
-# CONFIG_HERMES_PRISM is not set
-CONFIG_HERMES_CACHE_FW_ON_INIT=y
-CONFIG_PLX_HERMES=m
-CONFIG_TMD_HERMES=m
-CONFIG_NORTEL_HERMES=m
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_SPECTRUM=m
-CONFIG_ORINOCO_USB=m
-CONFIG_P54_COMMON=m
-CONFIG_P54_USB=m
-CONFIG_P54_PCI=m
-CONFIG_P54_LEDS=y
-CONFIG_RT2X00=m
-CONFIG_RT2400PCI=m
-CONFIG_RT2500PCI=m
-CONFIG_RT61PCI=m
-CONFIG_RT2800PCI=m
-CONFIG_RT2800PCI_RT33XX=y
-CONFIG_RT2800PCI_RT35XX=y
-CONFIG_RT2800PCI_RT53XX=y
-CONFIG_RT2500USB=m
-CONFIG_RT73USB=m
-CONFIG_RT2800USB=m
-CONFIG_RT2800USB_RT33XX=y
-CONFIG_RT2800USB_RT35XX=y
-CONFIG_RT2800USB_RT53XX=y
-CONFIG_RT2800USB_UNKNOWN=y
-CONFIG_RT2800_LIB=m
-CONFIG_RT2X00_LIB_PCI=m
-CONFIG_RT2X00_LIB_USB=m
-CONFIG_RT2X00_LIB=m
-CONFIG_RT2X00_LIB_FIRMWARE=y
-CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_LEDS=y
-# CONFIG_RT2X00_DEBUG is not set
-CONFIG_RTL8192CE=m
-CONFIG_RTL8192SE=m
-CONFIG_RTL8192DE=m
-CONFIG_RTL8192CU=m
-CONFIG_RTLWIFI=m
-CONFIG_RTL8192C_COMMON=m
-CONFIG_WL1251=m
-CONFIG_WL1251_SDIO=m
-CONFIG_WL12XX_MENU=m
-CONFIG_WL12XX=m
-CONFIG_WL12XX_SDIO=m
-CONFIG_WL12XX_SDIO_TEST=m
-CONFIG_WL12XX_PLATFORM_DATA=y
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_MWIFIEX_PCIE=m
-
-#
-# WiMAX Wireless Broadband devices
-#
-CONFIG_WIMAX_I2400M=m
-CONFIG_WIMAX_I2400M_USB=m
-CONFIG_WIMAX_I2400M_SDIO=m
-# CONFIG_WIMAX_IWMC3200_SDIO is not set
-CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
-CONFIG_WAN=y
-CONFIG_HOSTESS_SV11=m
-CONFIG_COSA=m
-CONFIG_LANMEDIA=m
-CONFIG_SEALEVEL_4021=m
-CONFIG_HDLC=m
-CONFIG_HDLC_RAW=m
-CONFIG_HDLC_RAW_ETH=m
-CONFIG_HDLC_CISCO=m
-CONFIG_HDLC_FR=m
-CONFIG_HDLC_PPP=m
-
-#
-# X.25/LAPB support is disabled
-#
-CONFIG_PCI200SYN=m
-CONFIG_WANXL=m
-# CONFIG_PC300TOO is not set
-CONFIG_N2=m
-CONFIG_C101=m
-CONFIG_FARSYNC=m
-CONFIG_DSCC4=m
-# CONFIG_DSCC4_PCISYNC is not set
-# CONFIG_DSCC4_PCI_RST is not set
-CONFIG_DLCI=m
-CONFIG_DLCI_MAX=8
-CONFIG_SDLA=m
-CONFIG_WAN_ROUTER_DRIVERS=m
-CONFIG_CYCLADES_SYNC=m
-CONFIG_CYCLOMX_X25=y
-CONFIG_SBNI=m
-# CONFIG_SBNI_MULTILINE is not set
-CONFIG_VMXNET3=m
-CONFIG_ISDN=y
-CONFIG_ISDN_I4L=m
-CONFIG_ISDN_PPP=y
-CONFIG_ISDN_PPP_VJ=y
-CONFIG_ISDN_MPP=y
-CONFIG_IPPP_FILTER=y
-CONFIG_ISDN_PPP_BSDCOMP=m
-CONFIG_ISDN_AUDIO=y
-CONFIG_ISDN_TTY_FAX=y
-
-#
-# ISDN feature submodules
-#
-CONFIG_ISDN_DIVERSION=m
-
-#
-# ISDN4Linux hardware drivers
-#
-
-#
-# Passive cards
-#
-CONFIG_ISDN_DRV_HISAX=m
-
-#
-# D-channel protocol features
-#
-CONFIG_HISAX_EURO=y
-CONFIG_DE_AOC=y
-CONFIG_HISAX_NO_SENDCOMPLETE=y
-CONFIG_HISAX_NO_LLC=y
-CONFIG_HISAX_NO_KEYPAD=y
-CONFIG_HISAX_1TR6=y
-CONFIG_HISAX_NI1=y
-CONFIG_HISAX_MAX_CARDS=8
-
-#
-# HiSax supported cards
-#
-CONFIG_HISAX_16_0=y
-CONFIG_HISAX_16_3=y
-CONFIG_HISAX_TELESPCI=y
-CONFIG_HISAX_S0BOX=y
-CONFIG_HISAX_AVM_A1=y
-CONFIG_HISAX_FRITZPCI=y
-CONFIG_HISAX_AVM_A1_PCMCIA=y
-CONFIG_HISAX_ELSA=y
-CONFIG_HISAX_IX1MICROR2=y
-CONFIG_HISAX_DIEHLDIVA=y
-CONFIG_HISAX_ASUSCOM=y
-CONFIG_HISAX_TELEINT=y
-CONFIG_HISAX_HFCS=y
-CONFIG_HISAX_SEDLBAUER=y
-CONFIG_HISAX_SPORTSTER=y
-CONFIG_HISAX_MIC=y
-CONFIG_HISAX_NETJET=y
-CONFIG_HISAX_NETJET_U=y
-CONFIG_HISAX_NICCY=y
-CONFIG_HISAX_ISURF=y
-CONFIG_HISAX_HSTSAPHIR=y
-CONFIG_HISAX_BKM_A4T=y
-CONFIG_HISAX_SCT_QUADRO=y
-CONFIG_HISAX_GAZEL=y
-CONFIG_HISAX_HFC_PCI=y
-CONFIG_HISAX_W6692=y
-CONFIG_HISAX_HFC_SX=y
-CONFIG_HISAX_ENTERNOW_PCI=y
-# CONFIG_HISAX_DEBUG is not set
-
-#
-# HiSax PCMCIA card service modules
-#
-CONFIG_HISAX_SEDLBAUER_CS=m
-CONFIG_HISAX_ELSA_CS=m
-CONFIG_HISAX_AVM_A1_CS=m
-CONFIG_HISAX_TELES_CS=m
-
-#
-# HiSax sub driver modules
-#
-CONFIG_HISAX_ST5481=m
-CONFIG_HISAX_HFCUSB=m
-CONFIG_HISAX_HFC4S8S=m
-CONFIG_HISAX_FRITZ_PCIPNP=m
-
-#
-# Active cards
-#
-CONFIG_ISDN_DRV_ICN=m
-CONFIG_ISDN_DRV_PCBIT=m
-CONFIG_ISDN_DRV_SC=m
-CONFIG_ISDN_DRV_ACT2000=m
-CONFIG_ISDN_CAPI=m
-CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
-CONFIG_CAPI_TRACE=y
-CONFIG_ISDN_CAPI_MIDDLEWARE=y
-CONFIG_ISDN_CAPI_CAPI20=m
-CONFIG_ISDN_CAPI_CAPIDRV=m
-
-#
-# CAPI hardware drivers
-#
-CONFIG_CAPI_AVM=y
-CONFIG_ISDN_DRV_AVMB1_B1ISA=m
-CONFIG_ISDN_DRV_AVMB1_B1PCI=m
-CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
-CONFIG_ISDN_DRV_AVMB1_T1ISA=m
-CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
-CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
-CONFIG_ISDN_DRV_AVMB1_T1PCI=m
-CONFIG_ISDN_DRV_AVMB1_C4=m
-CONFIG_CAPI_EICON=y
-CONFIG_ISDN_DIVAS=m
-CONFIG_ISDN_DIVAS_BRIPCI=y
-CONFIG_ISDN_DIVAS_PRIPCI=y
-CONFIG_ISDN_DIVAS_DIVACAPI=m
-CONFIG_ISDN_DIVAS_USERIDI=m
-CONFIG_ISDN_DIVAS_MAINT=m
-CONFIG_ISDN_DRV_GIGASET=m
-# CONFIG_GIGASET_CAPI is not set
-CONFIG_GIGASET_I4L=y
-# CONFIG_GIGASET_DUMMYLL is not set
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_M105=m
-# CONFIG_GIGASET_M101 is not set
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_HYSDN=m
-CONFIG_HYSDN_CAPI=y
-CONFIG_MISDN=m
-CONFIG_MISDN_DSP=m
-CONFIG_MISDN_L1OIP=m
-
-#
-# mISDN hardware drivers
-#
-CONFIG_MISDN_HFCPCI=m
-CONFIG_MISDN_HFCMULTI=m
-CONFIG_MISDN_HFCUSB=m
-CONFIG_MISDN_AVMFRITZ=m
-CONFIG_MISDN_SPEEDFAX=m
-CONFIG_MISDN_INFINEON=m
-CONFIG_MISDN_W6692=m
-CONFIG_MISDN_NETJET=m
-CONFIG_MISDN_IPAC=m
-CONFIG_MISDN_ISAR=m
-CONFIG_ISDN_HDLC=m
-CONFIG_PHONE=m
-CONFIG_PHONE_IXJ=m
-CONFIG_PHONE_IXJ_PCMCIA=m
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-CONFIG_INPUT_FF_MEMLESS=y
-CONFIG_INPUT_POLLDEV=m
-CONFIG_INPUT_SPARSEKMAP=m
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-CONFIG_INPUT_JOYDEV=m
-CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-CONFIG_KEYBOARD_ADP5588=m
-CONFIG_KEYBOARD_ADP5589=m
-CONFIG_KEYBOARD_ATKBD=y
-CONFIG_KEYBOARD_QT1070=m
-CONFIG_KEYBOARD_QT2160=m
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=m
-CONFIG_KEYBOARD_GPIO_POLLED=m
-CONFIG_KEYBOARD_TCA6416=m
-CONFIG_KEYBOARD_MATRIX=m
-CONFIG_KEYBOARD_LM8323=m
-CONFIG_KEYBOARD_MAX7359=m
-CONFIG_KEYBOARD_MCS=m
-CONFIG_KEYBOARD_MPR121=m
-# CONFIG_KEYBOARD_NEWTON is not set
-CONFIG_KEYBOARD_OPENCORES=m
-CONFIG_KEYBOARD_STOWAWAY=m
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=m
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_LIFEBOOK=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-CONFIG_MOUSE_PS2_ELANTECH=y
-CONFIG_MOUSE_PS2_SENTELIC=y
-CONFIG_MOUSE_PS2_TOUCHKIT=y
-CONFIG_MOUSE_SERIAL=m
-CONFIG_MOUSE_APPLETOUCH=m
-CONFIG_MOUSE_BCM5974=m
-CONFIG_MOUSE_INPORT=m
-CONFIG_MOUSE_ATIXL=y
-CONFIG_MOUSE_LOGIBM=m
-CONFIG_MOUSE_PC110PAD=m
-CONFIG_MOUSE_VSXXXAA=m
-CONFIG_MOUSE_GPIO=m
-CONFIG_MOUSE_SYNAPTICS_I2C=m
-CONFIG_INPUT_JOYSTICK=y
-CONFIG_JOYSTICK_ANALOG=m
-CONFIG_JOYSTICK_A3D=m
-CONFIG_JOYSTICK_ADI=m
-CONFIG_JOYSTICK_COBRA=m
-CONFIG_JOYSTICK_GF2K=m
-CONFIG_JOYSTICK_GRIP=m
-CONFIG_JOYSTICK_GRIP_MP=m
-CONFIG_JOYSTICK_GUILLEMOT=m
-CONFIG_JOYSTICK_INTERACT=m
-CONFIG_JOYSTICK_SIDEWINDER=m
-CONFIG_JOYSTICK_TMDC=m
-CONFIG_JOYSTICK_IFORCE=m
-CONFIG_JOYSTICK_IFORCE_USB=y
-CONFIG_JOYSTICK_IFORCE_232=y
-CONFIG_JOYSTICK_WARRIOR=m
-CONFIG_JOYSTICK_MAGELLAN=m
-CONFIG_JOYSTICK_SPACEORB=m
-CONFIG_JOYSTICK_SPACEBALL=m
-CONFIG_JOYSTICK_STINGER=m
-CONFIG_JOYSTICK_TWIDJOY=m
-CONFIG_JOYSTICK_ZHENHUA=m
-CONFIG_JOYSTICK_DB9=m
-CONFIG_JOYSTICK_GAMECON=m
-CONFIG_JOYSTICK_TURBOGRAFX=m
-CONFIG_JOYSTICK_AS5011=m
-CONFIG_JOYSTICK_JOYDUMP=m
-CONFIG_JOYSTICK_XPAD=m
-CONFIG_JOYSTICK_XPAD_FF=y
-CONFIG_JOYSTICK_XPAD_LEDS=y
-CONFIG_JOYSTICK_WALKERA0701=m
-CONFIG_INPUT_TABLET=y
-CONFIG_TABLET_USB_ACECAD=m
-CONFIG_TABLET_USB_AIPTEK=m
-CONFIG_TABLET_USB_GTCO=m
-CONFIG_TABLET_USB_HANWANG=m
-CONFIG_TABLET_USB_KBTAB=m
-CONFIG_TABLET_USB_WACOM=m
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_AD7879=m
-CONFIG_TOUCHSCREEN_AD7879_I2C=m
-CONFIG_TOUCHSCREEN_ATMEL_MXT=m
-CONFIG_TOUCHSCREEN_BU21013=m
-CONFIG_TOUCHSCREEN_CY8CTMG110=m
-CONFIG_TOUCHSCREEN_DYNAPRO=m
-CONFIG_TOUCHSCREEN_HAMPSHIRE=m
-CONFIG_TOUCHSCREEN_EETI=m
-CONFIG_TOUCHSCREEN_FUJITSU=m
-CONFIG_TOUCHSCREEN_GUNZE=m
-CONFIG_TOUCHSCREEN_ELO=m
-CONFIG_TOUCHSCREEN_WACOM_W8001=m
-CONFIG_TOUCHSCREEN_MAX11801=m
-CONFIG_TOUCHSCREEN_MCS5000=m
-CONFIG_TOUCHSCREEN_MTOUCH=m
-CONFIG_TOUCHSCREEN_INEXIO=m
-CONFIG_TOUCHSCREEN_MK712=m
-CONFIG_TOUCHSCREEN_HTCPEN=m
-CONFIG_TOUCHSCREEN_PENMOUNT=m
-CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
-CONFIG_TOUCHSCREEN_TOUCHWIN=m
-CONFIG_TOUCHSCREEN_UCB1400=m
-CONFIG_TOUCHSCREEN_WM97XX=m
-CONFIG_TOUCHSCREEN_WM9705=y
-CONFIG_TOUCHSCREEN_WM9712=y
-CONFIG_TOUCHSCREEN_WM9713=y
-CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
-CONFIG_TOUCHSCREEN_USB_EGALAX=y
-CONFIG_TOUCHSCREEN_USB_PANJIT=y
-CONFIG_TOUCHSCREEN_USB_3M=y
-CONFIG_TOUCHSCREEN_USB_ITM=y
-CONFIG_TOUCHSCREEN_USB_ETURBO=y
-CONFIG_TOUCHSCREEN_USB_GUNZE=y
-CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
-CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
-CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
-CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
-CONFIG_TOUCHSCREEN_USB_GOTOP=y
-CONFIG_TOUCHSCREEN_USB_JASTEC=y
-CONFIG_TOUCHSCREEN_USB_E2I=y
-CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
-CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
-CONFIG_TOUCHSCREEN_USB_NEXIO=y
-CONFIG_TOUCHSCREEN_TOUCHIT213=m
-CONFIG_TOUCHSCREEN_TSC_SERIO=m
-CONFIG_TOUCHSCREEN_TSC2007=m
-CONFIG_TOUCHSCREEN_ST1232=m
-CONFIG_TOUCHSCREEN_TPS6507X=m
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_AD714X=m
-CONFIG_INPUT_AD714X_I2C=m
-CONFIG_INPUT_BMA150=m
-CONFIG_INPUT_PCSPKR=m
-CONFIG_INPUT_MMA8450=m
-CONFIG_INPUT_MPU3050=m
-CONFIG_INPUT_APANEL=m
-CONFIG_INPUT_WISTRON_BTNS=m
-CONFIG_INPUT_ATLAS_BTNS=m
-CONFIG_INPUT_ATI_REMOTE2=m
-CONFIG_INPUT_KEYSPAN_REMOTE=m
-CONFIG_INPUT_KXTJ9=m
-CONFIG_INPUT_KXTJ9_POLLED_MODE=y
-CONFIG_INPUT_POWERMATE=m
-CONFIG_INPUT_YEALINK=m
-CONFIG_INPUT_CM109=m
-CONFIG_INPUT_UINPUT=m
-CONFIG_INPUT_PCF50633_PMU=m
-CONFIG_INPUT_PCF8574=m
-CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
-CONFIG_INPUT_ADXL34X=m
-CONFIG_INPUT_ADXL34X_I2C=m
-CONFIG_INPUT_CMA3000=m
-CONFIG_INPUT_CMA3000_I2C=m
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-CONFIG_SERIO_SERPORT=m
-CONFIG_SERIO_CT82C710=m
-CONFIG_SERIO_PARKBD=m
-CONFIG_SERIO_PCIPS2=m
-CONFIG_SERIO_LIBPS2=y
-CONFIG_SERIO_RAW=m
-CONFIG_SERIO_ALTERA_PS2=m
-CONFIG_SERIO_PS2MULT=m
-CONFIG_GAMEPORT=m
-CONFIG_GAMEPORT_NS558=m
-CONFIG_GAMEPORT_L4=m
-CONFIG_GAMEPORT_EMU10K1=m
-CONFIG_GAMEPORT_FM801=m
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_VT_CONSOLE_SLEEP=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_UNIX98_PTYS=y
-CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=32
-CONFIG_SERIAL_NONSTANDARD=y
-CONFIG_ROCKETPORT=m
-CONFIG_CYCLADES=m
-# CONFIG_CYZ_INTR is not set
-CONFIG_MOXA_INTELLIO=m
-CONFIG_MOXA_SMARTIO=m
-CONFIG_SYNCLINK=m
-CONFIG_SYNCLINKMP=m
-CONFIG_SYNCLINK_GT=m
-CONFIG_NOZOMI=m
-CONFIG_ISI=m
-CONFIG_N_HDLC=m
-CONFIG_N_GSM=m
-CONFIG_TRACE_ROUTER=m
-CONFIG_TRACE_SINK=m
-CONFIG_DEVKMEM=y
-CONFIG_STALDRV=y
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_PNP=y
-CONFIG_SERIAL_8250_CS=m
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_FOURPORT=m
-CONFIG_SERIAL_8250_ACCENT=m
-CONFIG_SERIAL_8250_BOCA=m
-CONFIG_SERIAL_8250_EXAR_ST16C554=m
-CONFIG_SERIAL_8250_HUB6=m
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_8250_DETECT_IRQ=y
-CONFIG_SERIAL_8250_RSA=y
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_MFD_HSU=m
-CONFIG_SERIAL_UARTLITE=m
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_SERIAL_JSM=m
-CONFIG_SERIAL_TIMBERDALE=m
-CONFIG_SERIAL_ALTERA_JTAGUART=m
-CONFIG_SERIAL_ALTERA_UART=m
-CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
-CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
-CONFIG_SERIAL_PCH_UART=m
-CONFIG_SERIAL_XILINX_PS_UART=m
-CONFIG_PRINTER=m
-CONFIG_LP_CONSOLE=y
-CONFIG_PPDEV=m
-CONFIG_HVC_DRIVER=y
-CONFIG_VIRTIO_CONSOLE=m
-CONFIG_IPMI_HANDLER=m
-# CONFIG_IPMI_PANIC_EVENT is not set
-CONFIG_IPMI_DEVICE_INTERFACE=m
-CONFIG_IPMI_SI=m
-CONFIG_IPMI_WATCHDOG=m
-CONFIG_IPMI_POWEROFF=m
-CONFIG_HW_RANDOM=y
-CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_INTEL=m
-CONFIG_HW_RANDOM_AMD=m
-CONFIG_HW_RANDOM_GEODE=m
-CONFIG_HW_RANDOM_VIA=m
-CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_NVRAM=m
-CONFIG_DTLK=m
-CONFIG_R3964=m
-CONFIG_APPLICOM=m
-CONFIG_SONYPI=m
-
-#
-# PCMCIA character devices
-#
-CONFIG_SYNCLINK_CS=m
-CONFIG_CARDMAN_4000=m
-CONFIG_CARDMAN_4040=m
-CONFIG_IPWIRELESS=m
-CONFIG_MWAVE=m
-CONFIG_SCx200_GPIO=m
-CONFIG_PC8736x_GPIO=m
-CONFIG_NSC_GPIO=m
-CONFIG_RAW_DRIVER=m
-CONFIG_MAX_RAW_DEVS=256
-CONFIG_HPET=y
-CONFIG_HPET_MMAP=y
-CONFIG_HANGCHECK_TIMER=m
-CONFIG_TCG_TPM=m
-# CONFIG_TCG_TIS is not set
-# CONFIG_TCG_NSC is not set
-CONFIG_TCG_ATMEL=m
-# CONFIG_TCG_INFINEON is not set
-CONFIG_TELCLOCK=m
-CONFIG_DEVPORT=y
-CONFIG_RAMOOPS=m
-CONFIG_I2C=m
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=m
-CONFIG_I2C_MUX=m
-
-#
-# Multiplexer I2C Chip support
-#
-CONFIG_I2C_MUX_GPIO=m
-CONFIG_I2C_MUX_PCA9541=m
-CONFIG_I2C_MUX_PCA954x=m
-CONFIG_I2C_HELPER_AUTO=y
-CONFIG_I2C_SMBUS=m
-CONFIG_I2C_ALGOBIT=m
-CONFIG_I2C_ALGOPCA=m
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# PC SMBus host controller drivers
-#
-CONFIG_I2C_ALI1535=m
-CONFIG_I2C_ALI1563=m
-CONFIG_I2C_ALI15X3=m
-CONFIG_I2C_AMD756=m
-CONFIG_I2C_AMD756_S4882=m
-CONFIG_I2C_AMD8111=m
-CONFIG_I2C_I801=m
-CONFIG_I2C_ISCH=m
-CONFIG_I2C_PIIX4=m
-CONFIG_I2C_NFORCE2=m
-CONFIG_I2C_NFORCE2_S4985=m
-CONFIG_I2C_SIS5595=m
-CONFIG_I2C_SIS630=m
-CONFIG_I2C_SIS96X=m
-CONFIG_I2C_VIA=m
-CONFIG_I2C_VIAPRO=m
-
-#
-# ACPI drivers
-#
-CONFIG_I2C_SCMI=m
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-CONFIG_I2C_DESIGNWARE_PCI=m
-CONFIG_I2C_GPIO=m
-CONFIG_I2C_INTEL_MID=m
-CONFIG_I2C_OCORES=m
-CONFIG_I2C_PCA_PLATFORM=m
-# CONFIG_I2C_PXA_PCI is not set
-CONFIG_I2C_SIMTEC=m
-CONFIG_I2C_XILINX=m
-CONFIG_I2C_EG20T=m
-
-#
-# External I2C/SMBus adapter drivers
-#
-CONFIG_I2C_DIOLAN_U2C=m
-CONFIG_I2C_PARPORT=m
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_TAOS_EVM=m
-CONFIG_I2C_TINY_USB=m
-
-#
-# Other I2C/SMBus bus drivers
-#
-CONFIG_I2C_PCA_ISA=m
-CONFIG_I2C_STUB=m
-CONFIG_SCx200_I2C=m
-CONFIG_SCx200_I2C_SCL=12
-CONFIG_SCx200_I2C_SDA=13
-CONFIG_SCx200_ACB=m
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_SPI is not set
-
-#
-# PPS support
-#
-CONFIG_PPS=m
-# CONFIG_PPS_DEBUG is not set
-
-#
-# PPS clients support
-#
-# CONFIG_PPS_CLIENT_KTIMER is not set
-CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
-CONFIG_PPS_CLIENT_GPIO=m
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-CONFIG_PTP_1588_CLOCK=m
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_DEBUG_GPIO is not set
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_GENERIC=m
-CONFIG_GPIO_MAX730X=m
-
-#
-# Memory mapped GPIO drivers:
-#
-CONFIG_GPIO_GENERIC_PLATFORM=m
-CONFIG_GPIO_IT8761E=m
-CONFIG_GPIO_SCH=m
-CONFIG_GPIO_VX855=m
-
-#
-# I2C GPIO expanders:
-#
-CONFIG_GPIO_MAX7300=m
-CONFIG_GPIO_MAX732X=m
-CONFIG_GPIO_PCA953X=m
-CONFIG_GPIO_PCF857X=m
-CONFIG_GPIO_ADP5588=m
-
-#
-# PCI GPIO expanders:
-#
-CONFIG_GPIO_CS5535=m
-# CONFIG_GPIO_LANGWELL is not set
-CONFIG_GPIO_PCH=m
-CONFIG_GPIO_ML_IOH=m
-# CONFIG_GPIO_TIMBERDALE is not set
-CONFIG_GPIO_RDC321X=m
-
-#
-# SPI GPIO expanders:
-#
-CONFIG_GPIO_MCP23S08=m
-
-#
-# AC97 GPIO expanders:
-#
-# CONFIG_GPIO_UCB1400 is not set
-
-#
-# MODULbus GPIO expanders:
-#
-CONFIG_GPIO_JANZ_TTL=m
-CONFIG_W1=m
-CONFIG_W1_CON=y
-
-#
-# 1-wire Bus Masters
-#
-CONFIG_W1_MASTER_MATROX=m
-CONFIG_W1_MASTER_DS2490=m
-CONFIG_W1_MASTER_DS2482=m
-CONFIG_W1_MASTER_DS1WM=m
-CONFIG_W1_MASTER_GPIO=m
-
-#
-# 1-wire Slaves
-#
-CONFIG_W1_SLAVE_THERM=m
-CONFIG_W1_SLAVE_SMEM=m
-CONFIG_W1_SLAVE_DS2408=m
-CONFIG_W1_SLAVE_DS2423=m
-CONFIG_W1_SLAVE_DS2431=m
-CONFIG_W1_SLAVE_DS2433=m
-CONFIG_W1_SLAVE_DS2433_CRC=y
-CONFIG_W1_SLAVE_DS2760=m
-CONFIG_W1_SLAVE_DS2780=m
-CONFIG_W1_SLAVE_BQ27000=m
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=m
-CONFIG_TEST_POWER=m
-CONFIG_BATTERY_DS2760=m
-CONFIG_BATTERY_DS2780=m
-CONFIG_BATTERY_DS2782=m
-CONFIG_BATTERY_BQ20Z75=m
-CONFIG_BATTERY_BQ27x00=m
-CONFIG_BATTERY_BQ27X00_I2C=y
-CONFIG_BATTERY_BQ27X00_PLATFORM=y
-CONFIG_BATTERY_MAX17040=m
-CONFIG_BATTERY_MAX17042=m
-CONFIG_CHARGER_PCF50633=m
-CONFIG_CHARGER_ISP1704=m
-CONFIG_CHARGER_MAX8903=m
-CONFIG_CHARGER_GPIO=m
-CONFIG_HWMON=m
-CONFIG_HWMON_VID=m
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-CONFIG_SENSORS_ABITUGURU=m
-CONFIG_SENSORS_ABITUGURU3=m
-CONFIG_SENSORS_AD7414=m
-CONFIG_SENSORS_AD7418=m
-CONFIG_SENSORS_ADM1021=m
-CONFIG_SENSORS_ADM1025=m
-CONFIG_SENSORS_ADM1026=m
-CONFIG_SENSORS_ADM1029=m
-CONFIG_SENSORS_ADM1031=m
-CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADT7411=m
-CONFIG_SENSORS_ADT7462=m
-CONFIG_SENSORS_ADT7470=m
-CONFIG_SENSORS_ADT7475=m
-CONFIG_SENSORS_ASC7621=m
-CONFIG_SENSORS_K8TEMP=m
-CONFIG_SENSORS_K10TEMP=m
-CONFIG_SENSORS_FAM15H_POWER=m
-CONFIG_SENSORS_ASB100=m
-CONFIG_SENSORS_ATXP1=m
-CONFIG_SENSORS_DS620=m
-CONFIG_SENSORS_DS1621=m
-CONFIG_SENSORS_I5K_AMB=m
-CONFIG_SENSORS_F71805F=m
-CONFIG_SENSORS_F71882FG=m
-CONFIG_SENSORS_F75375S=m
-CONFIG_SENSORS_FSCHMD=m
-CONFIG_SENSORS_G760A=m
-CONFIG_SENSORS_GL518SM=m
-CONFIG_SENSORS_GL520SM=m
-CONFIG_SENSORS_GPIO_FAN=m
-CONFIG_SENSORS_CORETEMP=m
-CONFIG_SENSORS_IBMAEM=m
-CONFIG_SENSORS_IBMPEX=m
-CONFIG_SENSORS_IT87=m
-CONFIG_SENSORS_JC42=m
-CONFIG_SENSORS_LINEAGE=m
-CONFIG_SENSORS_LM63=m
-CONFIG_SENSORS_LM73=m
-CONFIG_SENSORS_LM75=m
-CONFIG_SENSORS_LM77=m
-CONFIG_SENSORS_LM78=m
-CONFIG_SENSORS_LM80=m
-CONFIG_SENSORS_LM83=m
-CONFIG_SENSORS_LM85=m
-CONFIG_SENSORS_LM87=m
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_LM92=m
-CONFIG_SENSORS_LM93=m
-CONFIG_SENSORS_LTC4151=m
-CONFIG_SENSORS_LTC4215=m
-CONFIG_SENSORS_LTC4245=m
-CONFIG_SENSORS_LTC4261=m
-CONFIG_SENSORS_LM95241=m
-CONFIG_SENSORS_LM95245=m
-CONFIG_SENSORS_MAX16065=m
-CONFIG_SENSORS_MAX1619=m
-CONFIG_SENSORS_MAX1668=m
-CONFIG_SENSORS_MAX6639=m
-CONFIG_SENSORS_MAX6642=m
-CONFIG_SENSORS_MAX6650=m
-CONFIG_SENSORS_NTC_THERMISTOR=m
-CONFIG_SENSORS_PC87360=m
-CONFIG_SENSORS_PC87427=m
-CONFIG_SENSORS_PCF8591=m
-CONFIG_PMBUS=m
-CONFIG_SENSORS_PMBUS=m
-CONFIG_SENSORS_ADM1275=m
-CONFIG_SENSORS_LM25066=m
-CONFIG_SENSORS_LTC2978=m
-CONFIG_SENSORS_MAX16064=m
-CONFIG_SENSORS_MAX34440=m
-CONFIG_SENSORS_MAX8688=m
-CONFIG_SENSORS_UCD9000=m
-CONFIG_SENSORS_UCD9200=m
-CONFIG_SENSORS_ZL6100=m
-CONFIG_SENSORS_SHT15=m
-CONFIG_SENSORS_SHT21=m
-CONFIG_SENSORS_SIS5595=m
-CONFIG_SENSORS_SMM665=m
-CONFIG_SENSORS_DME1737=m
-CONFIG_SENSORS_EMC1403=m
-CONFIG_SENSORS_EMC2103=m
-CONFIG_SENSORS_EMC6W201=m
-CONFIG_SENSORS_SMSC47M1=m
-CONFIG_SENSORS_SMSC47M192=m
-CONFIG_SENSORS_SMSC47B397=m
-CONFIG_SENSORS_SCH56XX_COMMON=m
-CONFIG_SENSORS_SCH5627=m
-CONFIG_SENSORS_SCH5636=m
-CONFIG_SENSORS_ADS1015=m
-CONFIG_SENSORS_ADS7828=m
-CONFIG_SENSORS_AMC6821=m
-CONFIG_SENSORS_THMC50=m
-CONFIG_SENSORS_TMP102=m
-CONFIG_SENSORS_TMP401=m
-CONFIG_SENSORS_TMP421=m
-CONFIG_SENSORS_VIA_CPUTEMP=m
-CONFIG_SENSORS_VIA686A=m
-CONFIG_SENSORS_VT1211=m
-CONFIG_SENSORS_VT8231=m
-CONFIG_SENSORS_W83781D=m
-CONFIG_SENSORS_W83791D=m
-CONFIG_SENSORS_W83792D=m
-CONFIG_SENSORS_W83793=m
-CONFIG_SENSORS_W83795=m
-# CONFIG_SENSORS_W83795_FANCTRL is not set
-CONFIG_SENSORS_W83L785TS=m
-CONFIG_SENSORS_W83L786NG=m
-CONFIG_SENSORS_W83627HF=m
-CONFIG_SENSORS_W83627EHF=m
-CONFIG_SENSORS_APPLESMC=m
-
-#
-# ACPI drivers
-#
-CONFIG_SENSORS_ACPI_POWER=m
-CONFIG_SENSORS_ATK0110=m
-CONFIG_THERMAL=m
-CONFIG_THERMAL_HWMON=y
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_CORE=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-CONFIG_SOFT_WATCHDOG=m
-CONFIG_ACQUIRE_WDT=m
-CONFIG_ADVANTECH_WDT=m
-CONFIG_ALIM1535_WDT=m
-CONFIG_ALIM7101_WDT=m
-CONFIG_F71808E_WDT=m
-CONFIG_SP5100_TCO=m
-CONFIG_GEODE_WDT=m
-CONFIG_SC520_WDT=m
-CONFIG_SBC_FITPC2_WATCHDOG=m
-CONFIG_EUROTECH_WDT=m
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
-CONFIG_WAFER_WDT=m
-CONFIG_I6300ESB_WDT=m
-CONFIG_ITCO_WDT=m
-CONFIG_ITCO_VENDOR_SUPPORT=y
-CONFIG_IT8712F_WDT=m
-CONFIG_IT87_WDT=m
-CONFIG_HP_WATCHDOG=m
-CONFIG_HPWDT_NMI_DECODING=y
-CONFIG_SC1200_WDT=m
-CONFIG_SCx200_WDT=m
-CONFIG_PC87413_WDT=m
-CONFIG_NV_TCO=m
-CONFIG_60XX_WDT=m
-CONFIG_SBC8360_WDT=m
-CONFIG_SBC7240_WDT=m
-CONFIG_CPU5_WDT=m
-CONFIG_SMSC_SCH311X_WDT=m
-CONFIG_SMSC37B787_WDT=m
-CONFIG_W83627HF_WDT=m
-CONFIG_W83697HF_WDT=m
-CONFIG_W83697UG_WDT=m
-CONFIG_W83877F_WDT=m
-CONFIG_W83977F_WDT=m
-CONFIG_MACHZ_WDT=m
-CONFIG_SBC_EPX_C3_WATCHDOG=m
-
-#
-# ISA-based Watchdog Cards
-#
-CONFIG_PCWATCHDOG=m
-CONFIG_MIXCOMWD=m
-CONFIG_WDT=m
-
-#
-# PCI-based Watchdog Cards
-#
-CONFIG_PCIPCWATCHDOG=m
-CONFIG_WDTPCI=m
-
-#
-# USB-based Watchdog Cards
-#
-CONFIG_USBPCWATCHDOG=m
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-CONFIG_SSB=m
-CONFIG_SSB_SPROM=y
-CONFIG_SSB_BLOCKIO=y
-CONFIG_SSB_PCIHOST_POSSIBLE=y
-CONFIG_SSB_PCIHOST=y
-CONFIG_SSB_B43_PCI_BRIDGE=y
-CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
-CONFIG_SSB_PCMCIAHOST=y
-CONFIG_SSB_SDIOHOST_POSSIBLE=y
-CONFIG_SSB_SDIOHOST=y
-# CONFIG_SSB_DEBUG is not set
-CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
-CONFIG_SSB_DRIVER_PCICORE=y
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-# CONFIG_BCMA is not set
-
-#
-# Multifunction device drivers
-#
-CONFIG_MFD_CORE=m
-# CONFIG_MFD_SM501 is not set
-CONFIG_HTC_PASIC3=m
-CONFIG_UCB1400_CORE=m
-CONFIG_TPS6105X=m
-CONFIG_TPS65010=m
-CONFIG_TPS6507X=m
-# CONFIG_MFD_TMIO is not set
-CONFIG_MFD_WM8400=m
-CONFIG_MFD_PCF50633=m
-CONFIG_PCF50633_ADC=m
-CONFIG_PCF50633_GPIO=m
-# CONFIG_ABX500_CORE is not set
-CONFIG_MFD_CS5535=m
-CONFIG_MFD_TIMBERDALE=m
-CONFIG_LPC_SCH=m
-CONFIG_MFD_RDC321X=m
-CONFIG_MFD_JANZ_CMODIO=m
-CONFIG_MFD_VX855=m
-CONFIG_MFD_WL1273_CORE=m
-CONFIG_REGULATOR=y
-# CONFIG_REGULATOR_DEBUG is not set
-# CONFIG_REGULATOR_DUMMY is not set
-CONFIG_REGULATOR_FIXED_VOLTAGE=m
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-CONFIG_REGULATOR_USERSPACE_CONSUMER=m
-CONFIG_REGULATOR_GPIO=m
-CONFIG_REGULATOR_BQ24022=m
-CONFIG_REGULATOR_MAX1586=m
-CONFIG_REGULATOR_MAX8649=m
-CONFIG_REGULATOR_MAX8660=m
-CONFIG_REGULATOR_MAX8952=m
-CONFIG_REGULATOR_WM8400=m
-CONFIG_REGULATOR_PCF50633=m
-CONFIG_REGULATOR_LP3971=m
-CONFIG_REGULATOR_LP3972=m
-CONFIG_REGULATOR_TPS6105X=m
-CONFIG_REGULATOR_TPS65023=m
-CONFIG_REGULATOR_TPS6507X=m
-CONFIG_REGULATOR_ISL6271A=m
-CONFIG_REGULATOR_AD5398=m
-CONFIG_MEDIA_SUPPORT=m
-
-#
-# Multimedia core support
-#
-# CONFIG_MEDIA_CONTROLLER is not set
-CONFIG_VIDEO_DEV=m
-CONFIG_VIDEO_V4L2_COMMON=m
-CONFIG_DVB_CORE=m
-CONFIG_DVB_NET=y
-CONFIG_VIDEO_MEDIA=m
-
-#
-# Multimedia drivers
-#
-CONFIG_VIDEO_SAA7146=m
-CONFIG_VIDEO_SAA7146_VV=m
-CONFIG_RC_CORE=m
-CONFIG_LIRC=m
-CONFIG_RC_MAP=m
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_RC5_SZ_DECODER=m
-CONFIG_IR_MCE_KBD_DECODER=m
-CONFIG_IR_LIRC_CODEC=m
-CONFIG_RC_ATI_REMOTE=m
-CONFIG_IR_ENE=m
-CONFIG_IR_IMON=m
-CONFIG_IR_MCEUSB=m
-CONFIG_IR_ITE_CIR=m
-CONFIG_IR_FINTEK=m
-CONFIG_IR_NUVOTON=m
-CONFIG_IR_REDRAT3=m
-CONFIG_IR_STREAMZAP=m
-CONFIG_IR_WINBOND_CIR=m
-CONFIG_RC_LOOPBACK=m
-CONFIG_MEDIA_ATTACH=y
-CONFIG_MEDIA_TUNER=m
-# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
-CONFIG_MEDIA_TUNER_SIMPLE=m
-CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA827X=m
-CONFIG_MEDIA_TUNER_TDA18271=m
-CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_MEDIA_TUNER_TEA5761=m
-CONFIG_MEDIA_TUNER_TEA5767=m
-CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_MT2060=m
-CONFIG_MEDIA_TUNER_MT2266=m
-CONFIG_MEDIA_TUNER_MT2131=m
-CONFIG_MEDIA_TUNER_QT1010=m
-CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_MEDIA_TUNER_XC5000=m
-CONFIG_MEDIA_TUNER_XC4000=m
-CONFIG_MEDIA_TUNER_MXL5005S=m
-CONFIG_MEDIA_TUNER_MXL5007T=m
-CONFIG_MEDIA_TUNER_MC44S803=m
-CONFIG_MEDIA_TUNER_MAX2165=m
-CONFIG_MEDIA_TUNER_TDA18218=m
-CONFIG_MEDIA_TUNER_TDA18212=m
-CONFIG_VIDEO_V4L2=m
-CONFIG_VIDEOBUF_GEN=m
-CONFIG_VIDEOBUF_DMA_SG=m
-CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEOBUF_DMA_CONTIG=m
-CONFIG_VIDEOBUF_DVB=m
-CONFIG_VIDEO_BTCX=m
-CONFIG_VIDEO_TVEEPROM=m
-CONFIG_VIDEO_TUNER=m
-CONFIG_V4L2_MEM2MEM_DEV=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_DMA_CONTIG=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
-CONFIG_VIDEO_IR_I2C=m
-
-#
-# Encoders, decoders, sensors and other helper chips
-#
-
-#
-# Audio decoders, processors and mixers
-#
-CONFIG_VIDEO_TVAUDIO=m
-CONFIG_VIDEO_TDA7432=m
-CONFIG_VIDEO_TDA9840=m
-CONFIG_VIDEO_TEA6415C=m
-CONFIG_VIDEO_TEA6420=m
-CONFIG_VIDEO_MSP3400=m
-CONFIG_VIDEO_CS5345=m
-CONFIG_VIDEO_CS53L32A=m
-CONFIG_VIDEO_TLV320AIC23B=m
-CONFIG_VIDEO_WM8775=m
-CONFIG_VIDEO_WM8739=m
-CONFIG_VIDEO_VP27SMPX=m
-
-#
-# RDS decoders
-#
-CONFIG_VIDEO_SAA6588=m
-
-#
-# Video decoders
-#
-CONFIG_VIDEO_ADV7180=m
-CONFIG_VIDEO_BT819=m
-CONFIG_VIDEO_BT856=m
-CONFIG_VIDEO_BT866=m
-CONFIG_VIDEO_KS0127=m
-CONFIG_VIDEO_SAA7110=m
-CONFIG_VIDEO_SAA711X=m
-CONFIG_VIDEO_SAA7191=m
-CONFIG_VIDEO_TVP514X=m
-CONFIG_VIDEO_TVP5150=m
-CONFIG_VIDEO_TVP7002=m
-CONFIG_VIDEO_VPX3220=m
-
-#
-# Video and audio decoders
-#
-CONFIG_VIDEO_SAA717X=m
-CONFIG_VIDEO_CX25840=m
-
-#
-# MPEG video encoders
-#
-CONFIG_VIDEO_CX2341X=m
-
-#
-# Video encoders
-#
-CONFIG_VIDEO_SAA7127=m
-CONFIG_VIDEO_SAA7185=m
-CONFIG_VIDEO_ADV7170=m
-CONFIG_VIDEO_ADV7175=m
-CONFIG_VIDEO_ADV7343=m
-CONFIG_VIDEO_AK881X=m
-
-#
-# Camera sensor devices
-#
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9V011=m
-CONFIG_VIDEO_TCM825X=m
-CONFIG_VIDEO_SR030PC30=m
-
-#
-# Flash devices
-#
-
-#
-# Video improvement chips
-#
-CONFIG_VIDEO_UPD64031A=m
-CONFIG_VIDEO_UPD64083=m
-
-#
-# Miscelaneous helper chips
-#
-CONFIG_VIDEO_THS7303=m
-CONFIG_VIDEO_M52790=m
-CONFIG_VIDEO_VIVI=m
-CONFIG_VIDEO_BT848=m
-CONFIG_VIDEO_BT848_DVB=y
-CONFIG_VIDEO_PMS=m
-CONFIG_VIDEO_BWQCAM=m
-CONFIG_VIDEO_CQCAM=m
-CONFIG_VIDEO_W9966=m
-CONFIG_VIDEO_CPIA2=m
-CONFIG_VIDEO_ZORAN=m
-CONFIG_VIDEO_ZORAN_DC30=m
-CONFIG_VIDEO_ZORAN_ZR36060=m
-CONFIG_VIDEO_ZORAN_BUZ=m
-CONFIG_VIDEO_ZORAN_DC10=m
-CONFIG_VIDEO_ZORAN_LML33=m
-CONFIG_VIDEO_ZORAN_LML33R10=m
-CONFIG_VIDEO_ZORAN_AVS6EYES=m
-CONFIG_VIDEO_MEYE=m
-CONFIG_VIDEO_SAA7134=m
-CONFIG_VIDEO_SAA7134_ALSA=m
-CONFIG_VIDEO_SAA7134_RC=y
-CONFIG_VIDEO_SAA7134_DVB=m
-CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_HEXIUM_ORION=m
-CONFIG_VIDEO_HEXIUM_GEMINI=m
-CONFIG_VIDEO_TIMBERDALE=m
-CONFIG_VIDEO_CX88=m
-CONFIG_VIDEO_CX88_ALSA=m
-CONFIG_VIDEO_CX88_BLACKBIRD=m
-CONFIG_VIDEO_CX88_DVB=m
-CONFIG_VIDEO_CX88_MPEG=m
-CONFIG_VIDEO_CX88_VP3054=m
-CONFIG_VIDEO_CX23885=m
-CONFIG_MEDIA_ALTERA_CI=m
-CONFIG_VIDEO_CX25821=m
-CONFIG_VIDEO_CX25821_ALSA=m
-CONFIG_VIDEO_AU0828=m
-CONFIG_VIDEO_IVTV=m
-CONFIG_VIDEO_FB_IVTV=m
-CONFIG_VIDEO_CX18=m
-CONFIG_VIDEO_CX18_ALSA=m
-CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_CAFE_CCIC=m
-CONFIG_VIDEO_VIA_CAMERA=m
-CONFIG_SOC_CAMERA=m
-CONFIG_SOC_CAMERA_IMX074=m
-CONFIG_SOC_CAMERA_MT9M001=m
-CONFIG_SOC_CAMERA_MT9M111=m
-CONFIG_SOC_CAMERA_MT9T031=m
-CONFIG_SOC_CAMERA_MT9T112=m
-CONFIG_SOC_CAMERA_MT9V022=m
-CONFIG_SOC_CAMERA_RJ54N1=m
-CONFIG_SOC_CAMERA_TW9910=m
-CONFIG_SOC_CAMERA_PLATFORM=m
-CONFIG_SOC_CAMERA_OV2640=m
-CONFIG_SOC_CAMERA_OV5642=m
-CONFIG_SOC_CAMERA_OV6650=m
-CONFIG_SOC_CAMERA_OV772X=m
-CONFIG_SOC_CAMERA_OV9640=m
-CONFIG_SOC_CAMERA_OV9740=m
-CONFIG_V4L_USB_DRIVERS=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-CONFIG_USB_GSPCA=m
-CONFIG_USB_M5602=m
-CONFIG_USB_STV06XX=m
-CONFIG_USB_GL860=m
-CONFIG_USB_GSPCA_BENQ=m
-CONFIG_USB_GSPCA_CONEX=m
-CONFIG_USB_GSPCA_CPIA1=m
-CONFIG_USB_GSPCA_ETOMS=m
-CONFIG_USB_GSPCA_FINEPIX=m
-CONFIG_USB_GSPCA_JEILINJ=m
-CONFIG_USB_GSPCA_KINECT=m
-CONFIG_USB_GSPCA_KONICA=m
-CONFIG_USB_GSPCA_MARS=m
-CONFIG_USB_GSPCA_MR97310A=m
-CONFIG_USB_GSPCA_NW80X=m
-CONFIG_USB_GSPCA_OV519=m
-CONFIG_USB_GSPCA_OV534=m
-CONFIG_USB_GSPCA_OV534_9=m
-CONFIG_USB_GSPCA_PAC207=m
-CONFIG_USB_GSPCA_PAC7302=m
-CONFIG_USB_GSPCA_PAC7311=m
-CONFIG_USB_GSPCA_SE401=m
-CONFIG_USB_GSPCA_SN9C2028=m
-CONFIG_USB_GSPCA_SN9C20X=m
-CONFIG_USB_GSPCA_SONIXB=m
-CONFIG_USB_GSPCA_SONIXJ=m
-CONFIG_USB_GSPCA_SPCA500=m
-CONFIG_USB_GSPCA_SPCA501=m
-CONFIG_USB_GSPCA_SPCA505=m
-CONFIG_USB_GSPCA_SPCA506=m
-CONFIG_USB_GSPCA_SPCA508=m
-CONFIG_USB_GSPCA_SPCA561=m
-CONFIG_USB_GSPCA_SPCA1528=m
-CONFIG_USB_GSPCA_SQ905=m
-CONFIG_USB_GSPCA_SQ905C=m
-CONFIG_USB_GSPCA_SQ930X=m
-CONFIG_USB_GSPCA_STK014=m
-CONFIG_USB_GSPCA_STV0680=m
-CONFIG_USB_GSPCA_SUNPLUS=m
-CONFIG_USB_GSPCA_T613=m
-CONFIG_USB_GSPCA_TOPRO=m
-CONFIG_USB_GSPCA_TV8532=m
-CONFIG_USB_GSPCA_VC032X=m
-CONFIG_USB_GSPCA_VICAM=m
-CONFIG_USB_GSPCA_XIRLINK_CIT=m
-CONFIG_USB_GSPCA_ZC3XX=m
-CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_PVRUSB2_SYSFS=y
-CONFIG_VIDEO_PVRUSB2_DVB=y
-# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
-CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_EM28XX_RC=y
-CONFIG_VIDEO_TLG2300=m
-CONFIG_VIDEO_CX231XX=m
-CONFIG_VIDEO_CX231XX_RC=y
-CONFIG_VIDEO_CX231XX_ALSA=m
-CONFIG_VIDEO_CX231XX_DVB=m
-CONFIG_VIDEO_TM6000=m
-CONFIG_VIDEO_TM6000_ALSA=m
-CONFIG_VIDEO_TM6000_DVB=m
-CONFIG_VIDEO_USBVISION=m
-CONFIG_USB_ET61X251=m
-CONFIG_USB_SN9C102=m
-CONFIG_USB_PWC=m
-# CONFIG_USB_PWC_DEBUG is not set
-CONFIG_USB_PWC_INPUT_EVDEV=y
-CONFIG_USB_ZR364XX=m
-CONFIG_USB_STKWEBCAM=m
-CONFIG_USB_S2255=m
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_MEM2MEM_TESTDEV=m
-CONFIG_RADIO_ADAPTERS=y
-CONFIG_RADIO_CADET=m
-CONFIG_RADIO_RTRACK=m
-CONFIG_RADIO_RTRACK2=m
-CONFIG_RADIO_AZTECH=m
-CONFIG_RADIO_GEMTEK=m
-CONFIG_RADIO_MAXIRADIO=m
-CONFIG_RADIO_MIROPCM20=m
-CONFIG_RADIO_SF16FMI=m
-CONFIG_RADIO_SF16FMR2=m
-CONFIG_RADIO_TERRATEC=m
-CONFIG_RADIO_TRUST=m
-CONFIG_RADIO_TYPHOON=m
-CONFIG_RADIO_ZOLTRIX=m
-CONFIG_I2C_SI4713=m
-CONFIG_RADIO_SI4713=m
-CONFIG_USB_DSBR=m
-# CONFIG_RADIO_SI470X is not set
-CONFIG_USB_MR800=m
-CONFIG_RADIO_TEA5764=m
-CONFIG_RADIO_SAA7706H=m
-CONFIG_RADIO_TEF6862=m
-CONFIG_RADIO_TIMBERDALE=m
-CONFIG_RADIO_WL1273=m
-
-#
-# Texas Instruments WL128x FM driver (ST based)
-#
-CONFIG_RADIO_WL128X=m
-CONFIG_DVB_MAX_ADAPTERS=8
-# CONFIG_DVB_DYNAMIC_MINORS is not set
-CONFIG_DVB_CAPTURE_DRIVERS=y
-
-#
-# Supported SAA7146 based PCI Adapters
-#
-CONFIG_TTPCI_EEPROM=m
-CONFIG_DVB_AV7110=m
-CONFIG_DVB_AV7110_OSD=y
-CONFIG_DVB_BUDGET_CORE=m
-CONFIG_DVB_BUDGET=m
-CONFIG_DVB_BUDGET_CI=m
-CONFIG_DVB_BUDGET_AV=m
-CONFIG_DVB_BUDGET_PATCH=m
-
-#
-# Supported USB Adapters
-#
-CONFIG_DVB_USB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_DIBUSB_MB=m
-# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIB0700=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_CXUSB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-CONFIG_DVB_USB_PCTV452E=m
-CONFIG_DVB_USB_DW2102=m
-CONFIG_DVB_USB_CINERGY_T2=m
-CONFIG_DVB_USB_ANYSEE=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_USB_AF9015=m
-CONFIG_DVB_USB_CE6230=m
-CONFIG_DVB_USB_FRIIO=m
-CONFIG_DVB_USB_EC168=m
-CONFIG_DVB_USB_AZ6027=m
-CONFIG_DVB_USB_LME2510=m
-CONFIG_DVB_USB_TECHNISAT_USB2=m
-CONFIG_DVB_USB_IT913X=m
-CONFIG_DVB_USB_MXL111SF=m
-CONFIG_DVB_TTUSB_BUDGET=m
-CONFIG_DVB_TTUSB_DEC=m
-CONFIG_SMS_SIANO_MDTV=m
-
-#
-# Siano module components
-#
-CONFIG_SMS_USB_DRV=m
-CONFIG_SMS_SDIO_DRV=m
-
-#
-# Supported FlexCopII (B2C2) Adapters
-#
-CONFIG_DVB_B2C2_FLEXCOP=m
-CONFIG_DVB_B2C2_FLEXCOP_PCI=m
-CONFIG_DVB_B2C2_FLEXCOP_USB=m
-# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
-
-#
-# Supported BT878 Adapters
-#
-CONFIG_DVB_BT8XX=m
-
-#
-# Supported Pluto2 Adapters
-#
-CONFIG_DVB_PLUTO2=m
-
-#
-# Supported SDMC DM1105 Adapters
-#
-CONFIG_DVB_DM1105=m
-
-#
-# Supported FireWire (IEEE 1394) Adapters
-#
-CONFIG_DVB_FIREDTV=m
-CONFIG_DVB_FIREDTV_INPUT=y
-
-#
-# Supported Earthsoft PT1 Adapters
-#
-CONFIG_DVB_PT1=m
-
-#
-# Supported Mantis Adapters
-#
-CONFIG_MANTIS_CORE=m
-CONFIG_DVB_MANTIS=m
-CONFIG_DVB_HOPPER=m
-
-#
-# Supported nGene Adapters
-#
-CONFIG_DVB_NGENE=m
-
-#
-# Supported ddbridge ('Octopus') Adapters
-#
-CONFIG_DVB_DDBRIDGE=m
-
-#
-# Supported DVB Frontends
-#
-CONFIG_DVB_FE_CUSTOMISE=y
-
-#
-# Customise DVB Frontends
-#
-
-#
-# Multistandard (satellite) frontends
-#
-CONFIG_DVB_STB0899=m
-CONFIG_DVB_STB6100=m
-CONFIG_DVB_STV090x=m
-CONFIG_DVB_STV6110x=m
-
-#
-# Multistandard (cable + terrestrial) frontends
-#
-CONFIG_DVB_DRXK=m
-CONFIG_DVB_TDA18271C2DD=m
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_CX24110=m
-CONFIG_DVB_CX24123=m
-CONFIG_DVB_MT312=m
-CONFIG_DVB_ZL10036=m
-CONFIG_DVB_ZL10039=m
-CONFIG_DVB_S5H1420=m
-CONFIG_DVB_STV0288=m
-CONFIG_DVB_STB6000=m
-CONFIG_DVB_STV0299=m
-CONFIG_DVB_STV6110=m
-CONFIG_DVB_STV0900=m
-CONFIG_DVB_TDA8083=m
-CONFIG_DVB_TDA10086=m
-CONFIG_DVB_TDA8261=m
-CONFIG_DVB_VES1X93=m
-CONFIG_DVB_TUNER_ITD1000=m
-CONFIG_DVB_TUNER_CX24113=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_TUA6100=m
-CONFIG_DVB_CX24116=m
-CONFIG_DVB_SI21XX=m
-CONFIG_DVB_DS3000=m
-CONFIG_DVB_MB86A16=m
-CONFIG_DVB_TDA10071=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_SP8870=m
-CONFIG_DVB_SP887X=m
-CONFIG_DVB_CX22700=m
-CONFIG_DVB_CX22702=m
-CONFIG_DVB_S5H1432=m
-CONFIG_DVB_DRXD=m
-CONFIG_DVB_L64781=m
-CONFIG_DVB_TDA1004X=m
-CONFIG_DVB_NXT6000=m
-CONFIG_DVB_MT352=m
-CONFIG_DVB_ZL10353=m
-CONFIG_DVB_DIB3000MB=m
-CONFIG_DVB_DIB3000MC=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_DVB_DIB7000P=m
-CONFIG_DVB_DIB9000=m
-CONFIG_DVB_TDA10048=m
-CONFIG_DVB_AF9013=m
-CONFIG_DVB_EC100=m
-CONFIG_DVB_STV0367=m
-CONFIG_DVB_CXD2820R=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_VES1820=m
-CONFIG_DVB_TDA10021=m
-CONFIG_DVB_TDA10023=m
-CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
-CONFIG_DVB_NXT200X=m
-CONFIG_DVB_OR51211=m
-CONFIG_DVB_OR51132=m
-CONFIG_DVB_BCM3510=m
-CONFIG_DVB_LGDT330X=m
-CONFIG_DVB_LGDT3305=m
-CONFIG_DVB_S5H1409=m
-CONFIG_DVB_AU8522=m
-CONFIG_DVB_S5H1411=m
-
-#
-# ISDB-T (terrestrial) frontends
-#
-CONFIG_DVB_S921=m
-CONFIG_DVB_DIB8000=m
-CONFIG_DVB_MB86A20S=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
-CONFIG_DVB_PLL=m
-CONFIG_DVB_TUNER_DIB0070=m
-CONFIG_DVB_TUNER_DIB0090=m
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_LNBP21=m
-CONFIG_DVB_LNBP22=m
-CONFIG_DVB_ISL6405=m
-CONFIG_DVB_ISL6421=m
-CONFIG_DVB_ISL6423=m
-CONFIG_DVB_A8293=m
-CONFIG_DVB_LGS8GL5=m
-CONFIG_DVB_LGS8GXX=m
-CONFIG_DVB_ATBM8830=m
-CONFIG_DVB_TDA665x=m
-CONFIG_DVB_IX2505V=m
-CONFIG_DVB_IT913X_FE=m
-
-#
-# Tools to develop new frontends
-#
-CONFIG_DVB_DUMMY_FE=m
-
-#
-# Graphics support
-#
-CONFIG_AGP=m
-CONFIG_AGP_ALI=m
-CONFIG_AGP_ATI=m
-CONFIG_AGP_AMD=m
-CONFIG_AGP_AMD64=m
-CONFIG_AGP_INTEL=m
-CONFIG_AGP_NVIDIA=m
-CONFIG_AGP_SIS=m
-CONFIG_AGP_SWORKS=m
-CONFIG_AGP_VIA=m
-CONFIG_AGP_EFFICEON=m
-CONFIG_VGA_ARB=y
-CONFIG_VGA_ARB_MAX_GPUS=16
-CONFIG_VGA_SWITCHEROO=y
-CONFIG_DRM=m
-CONFIG_DRM_KMS_HELPER=m
-CONFIG_DRM_TTM=m
-CONFIG_DRM_TDFX=m
-CONFIG_DRM_R128=m
-CONFIG_DRM_RADEON=m
-CONFIG_DRM_RADEON_KMS=y
-CONFIG_DRM_I810=m
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_KMS=y
-CONFIG_DRM_MGA=m
-CONFIG_DRM_SIS=m
-CONFIG_DRM_VIA=m
-CONFIG_DRM_SAVAGE=m
-CONFIG_DRM_VMWGFX=m
-CONFIG_STUB_POULSBO=m
-CONFIG_VGASTATE=m
-CONFIG_VIDEO_OUTPUT_CONTROL=m
-CONFIG_FB=y
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB_DDC=m
-CONFIG_FB_BOOT_VESA_SUPPORT=y
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
-# CONFIG_FB_WMT_GE_ROPS is not set
-CONFIG_FB_DEFERRED_IO=y
-CONFIG_FB_HECUBA=m
-CONFIG_FB_SVGALIB=m
-# CONFIG_FB_MACMODES is not set
-CONFIG_FB_BACKLIGHT=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_TILEBLITTING=y
-
-#
-# Frame buffer hardware drivers
-#
-CONFIG_FB_CIRRUS=m
-CONFIG_FB_PM2=m
-# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
-CONFIG_FB_CYBER2000=m
-CONFIG_FB_CYBER2000_DDC=y
-CONFIG_FB_ARC=m
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_IMSTT is not set
-CONFIG_FB_VGA16=m
-# CONFIG_FB_UVESA is not set
-CONFIG_FB_VESA=y
-CONFIG_FB_EFI=y
-CONFIG_FB_N411=m
-CONFIG_FB_HGA=m
-CONFIG_FB_S1D13XXX=m
-CONFIG_FB_NVIDIA=m
-CONFIG_FB_NVIDIA_I2C=y
-# CONFIG_FB_NVIDIA_DEBUG is not set
-CONFIG_FB_NVIDIA_BACKLIGHT=y
-CONFIG_FB_RIVA=m
-CONFIG_FB_RIVA_I2C=y
-# CONFIG_FB_RIVA_DEBUG is not set
-CONFIG_FB_RIVA_BACKLIGHT=y
-CONFIG_FB_I810=m
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_LE80578=m
-CONFIG_FB_CARILLO_RANCH=m
-CONFIG_FB_MATROX=m
-CONFIG_FB_MATROX_MILLENIUM=y
-CONFIG_FB_MATROX_MYSTIQUE=y
-CONFIG_FB_MATROX_G=y
-CONFIG_FB_MATROX_I2C=m
-CONFIG_FB_MATROX_MAVEN=m
-CONFIG_FB_RADEON=m
-CONFIG_FB_RADEON_I2C=y
-CONFIG_FB_RADEON_BACKLIGHT=y
-# CONFIG_FB_RADEON_DEBUG is not set
-CONFIG_FB_ATY128=m
-CONFIG_FB_ATY128_BACKLIGHT=y
-CONFIG_FB_ATY=m
-CONFIG_FB_ATY_CT=y
-CONFIG_FB_ATY_GENERIC_LCD=y
-CONFIG_FB_ATY_GX=y
-CONFIG_FB_ATY_BACKLIGHT=y
-CONFIG_FB_S3=m
-CONFIG_FB_S3_DDC=y
-CONFIG_FB_SAVAGE=m
-CONFIG_FB_SAVAGE_I2C=y
-CONFIG_FB_SAVAGE_ACCEL=y
-CONFIG_FB_SIS=m
-CONFIG_FB_SIS_300=y
-CONFIG_FB_SIS_315=y
-CONFIG_FB_VIA=m
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-CONFIG_FB_VIA_X_COMPATIBILITY=y
-CONFIG_FB_NEOMAGIC=m
-CONFIG_FB_KYRO=m
-CONFIG_FB_3DFX=m
-# CONFIG_FB_3DFX_ACCEL is not set
-CONFIG_FB_3DFX_I2C=y
-CONFIG_FB_VOODOO1=m
-CONFIG_FB_VT8623=m
-CONFIG_FB_TRIDENT=m
-CONFIG_FB_ARK=m
-CONFIG_FB_PM3=m
-CONFIG_FB_CARMINE=m
-CONFIG_FB_CARMINE_DRAM_EVAL=y
-# CONFIG_CARMINE_DRAM_CUSTOM is not set
-CONFIG_FB_GEODE=y
-CONFIG_FB_GEODE_LX=m
-CONFIG_FB_GEODE_GX=m
-CONFIG_FB_GEODE_GX1=m
-CONFIG_FB_TMIO=m
-CONFIG_FB_TMIO_ACCELL=y
-CONFIG_FB_SMSCUFX=m
-CONFIG_FB_UDL=m
-# CONFIG_FB_VIRTUAL is not set
-CONFIG_FB_METRONOME=m
-CONFIG_FB_MB862XX=m
-CONFIG_FB_MB862XX_PCI_GDC=y
-CONFIG_FB_MB862XX_I2C=y
-CONFIG_FB_BROADSHEET=m
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=m
-CONFIG_LCD_PLATFORM=m
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=m
-CONFIG_BACKLIGHT_PROGEAR=m
-CONFIG_BACKLIGHT_CARILLO_RANCH=m
-CONFIG_BACKLIGHT_APPLE=m
-CONFIG_BACKLIGHT_SAHARA=m
-CONFIG_BACKLIGHT_ADP8860=m
-CONFIG_BACKLIGHT_ADP8870=m
-CONFIG_BACKLIGHT_PCF50633=m
-
-#
-# Display device support
-#
-CONFIG_DISPLAY_SUPPORT=m
-
-#
-# Display hardware drivers
-#
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
-CONFIG_MDA_CONSOLE=m
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_7x14 is not set
-# CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
-# CONFIG_FONT_MINI_4x6 is not set
-CONFIG_FONT_SUN8x16=y
-# CONFIG_FONT_SUN12x22 is not set
-# CONFIG_FONT_10x18 is not set
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-CONFIG_SOUND=m
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-CONFIG_SND_JACK=y
-CONFIG_SND_SEQUENCER=m
-CONFIG_SND_SEQ_DUMMY=m
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
-CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_HRTIMER=m
-CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
-CONFIG_SND_DYNAMIC_MINORS=y
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_VMASTER=y
-CONFIG_SND_DMA_SGBUF=y
-CONFIG_SND_RAWMIDI_SEQ=m
-CONFIG_SND_OPL3_LIB_SEQ=m
-CONFIG_SND_OPL4_LIB_SEQ=m
-CONFIG_SND_SBAWE_SEQ=m
-CONFIG_SND_EMU10K1_SEQ=m
-CONFIG_SND_MPU401_UART=m
-CONFIG_SND_OPL3_LIB=m
-CONFIG_SND_OPL4_LIB=m
-CONFIG_SND_VX_LIB=m
-CONFIG_SND_AC97_CODEC=m
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_PCSP is not set
-CONFIG_SND_DUMMY=m
-CONFIG_SND_ALOOP=m
-CONFIG_SND_VIRMIDI=m
-CONFIG_SND_MTPAV=m
-CONFIG_SND_MTS64=m
-CONFIG_SND_SERIAL_U16550=m
-CONFIG_SND_MPU401=m
-CONFIG_SND_PORTMAN2X4=m
-CONFIG_SND_AC97_POWER_SAVE=y
-CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
-CONFIG_SND_WSS_LIB=m
-CONFIG_SND_SB_COMMON=m
-CONFIG_SND_SB8_DSP=m
-CONFIG_SND_SB16_DSP=m
-CONFIG_SND_ISA=y
-CONFIG_SND_ADLIB=m
-CONFIG_SND_AD1816A=m
-CONFIG_SND_AD1848=m
-CONFIG_SND_ALS100=m
-CONFIG_SND_AZT1605=m
-CONFIG_SND_AZT2316=m
-CONFIG_SND_AZT2320=m
-CONFIG_SND_CMI8330=m
-CONFIG_SND_CS4231=m
-CONFIG_SND_CS4236=m
-CONFIG_SND_ES1688=m
-CONFIG_SND_ES18XX=m
-CONFIG_SND_SC6000=m
-CONFIG_SND_GUSCLASSIC=m
-CONFIG_SND_GUSEXTREME=m
-CONFIG_SND_GUSMAX=m
-CONFIG_SND_INTERWAVE=m
-CONFIG_SND_INTERWAVE_STB=m
-CONFIG_SND_JAZZ16=m
-CONFIG_SND_OPL3SA2=m
-CONFIG_SND_OPTI92X_AD1848=m
-CONFIG_SND_OPTI92X_CS4231=m
-CONFIG_SND_OPTI93X=m
-CONFIG_SND_MIRO=m
-CONFIG_SND_SB8=m
-CONFIG_SND_SB16=m
-CONFIG_SND_SBAWE=m
-CONFIG_SND_SB16_CSP=y
-CONFIG_SND_SSCAPE=m
-CONFIG_SND_WAVEFRONT=m
-CONFIG_SND_MSND_PINNACLE=m
-CONFIG_SND_MSND_CLASSIC=m
-CONFIG_SND_TEA575X=m
-CONFIG_SND_PCI=y
-CONFIG_SND_AD1889=m
-CONFIG_SND_ALS300=m
-CONFIG_SND_ALS4000=m
-CONFIG_SND_ALI5451=m
-CONFIG_SND_ASIHPI=m
-CONFIG_SND_ATIIXP=m
-CONFIG_SND_ATIIXP_MODEM=m
-CONFIG_SND_AU8810=m
-CONFIG_SND_AU8820=m
-CONFIG_SND_AU8830=m
-CONFIG_SND_AW2=m
-CONFIG_SND_AZT3328=m
-CONFIG_SND_BT87X=m
-# CONFIG_SND_BT87X_OVERCLOCK is not set
-CONFIG_SND_CA0106=m
-CONFIG_SND_CMIPCI=m
-CONFIG_SND_OXYGEN_LIB=m
-CONFIG_SND_OXYGEN=m
-CONFIG_SND_CS4281=m
-CONFIG_SND_CS46XX=m
-CONFIG_SND_CS46XX_NEW_DSP=y
-CONFIG_SND_CS5530=m
-CONFIG_SND_CS5535AUDIO=m
-CONFIG_SND_CTXFI=m
-CONFIG_SND_DARLA20=m
-CONFIG_SND_GINA20=m
-CONFIG_SND_LAYLA20=m
-CONFIG_SND_DARLA24=m
-CONFIG_SND_GINA24=m
-CONFIG_SND_LAYLA24=m
-CONFIG_SND_MONA=m
-CONFIG_SND_MIA=m
-CONFIG_SND_ECHO3G=m
-CONFIG_SND_INDIGO=m
-CONFIG_SND_INDIGOIO=m
-CONFIG_SND_INDIGODJ=m
-CONFIG_SND_INDIGOIOX=m
-CONFIG_SND_INDIGODJX=m
-CONFIG_SND_EMU10K1=m
-CONFIG_SND_EMU10K1X=m
-CONFIG_SND_ENS1370=m
-CONFIG_SND_ENS1371=m
-CONFIG_SND_ES1938=m
-CONFIG_SND_ES1968=m
-CONFIG_SND_ES1968_INPUT=y
-CONFIG_SND_ES1968_RADIO=y
-CONFIG_SND_FM801=m
-CONFIG_SND_FM801_TEA575X_BOOL=y
-CONFIG_SND_HDA_INTEL=m
-CONFIG_SND_HDA_PREALLOC_SIZE=2048
-CONFIG_SND_HDA_HWDEP=y
-CONFIG_SND_HDA_RECONFIG=y
-# CONFIG_SND_HDA_INPUT_BEEP is not set
-CONFIG_SND_HDA_INPUT_JACK=y
-CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_CODEC_REALTEK=y
-CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
-CONFIG_SND_HDA_CODEC_ANALOG=y
-CONFIG_SND_HDA_CODEC_SIGMATEL=y
-CONFIG_SND_HDA_CODEC_VIA=y
-CONFIG_SND_HDA_CODEC_HDMI=y
-CONFIG_SND_HDA_CODEC_CIRRUS=y
-CONFIG_SND_HDA_CODEC_CONEXANT=y
-CONFIG_SND_HDA_CODEC_CA0110=y
-CONFIG_SND_HDA_CODEC_CA0132=y
-CONFIG_SND_HDA_CODEC_CMEDIA=y
-CONFIG_SND_HDA_CODEC_SI3054=y
-CONFIG_SND_HDA_GENERIC=y
-# CONFIG_SND_HDA_POWER_SAVE is not set
-CONFIG_SND_HDSP=m
-CONFIG_SND_HDSPM=m
-CONFIG_SND_ICE1712=m
-CONFIG_SND_ICE1724=m
-CONFIG_SND_INTEL8X0=m
-CONFIG_SND_INTEL8X0M=m
-CONFIG_SND_KORG1212=m
-CONFIG_SND_LOLA=m
-CONFIG_SND_LX6464ES=m
-CONFIG_SND_MAESTRO3=m
-CONFIG_SND_MAESTRO3_INPUT=y
-CONFIG_SND_MIXART=m
-CONFIG_SND_NM256=m
-CONFIG_SND_PCXHR=m
-CONFIG_SND_RIPTIDE=m
-CONFIG_SND_RME32=m
-CONFIG_SND_RME96=m
-CONFIG_SND_RME9652=m
-CONFIG_SND_SIS7019=m
-CONFIG_SND_SONICVIBES=m
-CONFIG_SND_TRIDENT=m
-CONFIG_SND_VIA82XX=m
-CONFIG_SND_VIA82XX_MODEM=m
-CONFIG_SND_VIRTUOSO=m
-CONFIG_SND_VX222=m
-CONFIG_SND_YMFPCI=m
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_USB_UA101=m
-CONFIG_SND_USB_USX2Y=m
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_USB_US122L=m
-CONFIG_SND_USB_6FIRE=m
-CONFIG_SND_FIREWIRE=y
-CONFIG_SND_FIREWIRE_LIB=m
-CONFIG_SND_FIREWIRE_SPEAKERS=m
-CONFIG_SND_ISIGHT=m
-CONFIG_SND_PCMCIA=y
-CONFIG_SND_VXPOCKET=m
-CONFIG_SND_PDAUDIOCF=m
-# CONFIG_SND_SOC is not set
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=m
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=m
-CONFIG_HIDRAW=y
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=m
-CONFIG_HID_PID=y
-CONFIG_USB_HIDDEV=y
-
-#
-# Special HID drivers
-#
-CONFIG_HID_A4TECH=m
-CONFIG_HID_ACRUX=m
-CONFIG_HID_ACRUX_FF=y
-CONFIG_HID_APPLE=m
-CONFIG_HID_BELKIN=m
-CONFIG_HID_CHERRY=m
-CONFIG_HID_CHICONY=m
-CONFIG_HID_PRODIKEYS=m
-CONFIG_HID_CYPRESS=m
-CONFIG_HID_DRAGONRISE=m
-CONFIG_DRAGONRISE_FF=y
-CONFIG_HID_EMS_FF=m
-CONFIG_HID_ELECOM=m
-CONFIG_HID_EZKEY=m
-CONFIG_HID_HOLTEK=m
-CONFIG_HOLTEK_FF=y
-CONFIG_HID_KEYTOUCH=m
-CONFIG_HID_KYE=m
-CONFIG_HID_UCLOGIC=m
-CONFIG_HID_WALTOP=m
-CONFIG_HID_GYRATION=m
-CONFIG_HID_TWINHAN=m
-CONFIG_HID_KENSINGTON=m
-CONFIG_HID_LCPOWER=m
-CONFIG_HID_LOGITECH=m
-CONFIG_HID_LOGITECH_DJ=m
-CONFIG_LOGITECH_FF=y
-CONFIG_LOGIRUMBLEPAD2_FF=y
-CONFIG_LOGIG940_FF=y
-CONFIG_LOGIWHEELS_FF=y
-CONFIG_HID_MAGICMOUSE=m
-CONFIG_HID_MICROSOFT=m
-CONFIG_HID_MONTEREY=m
-CONFIG_HID_MULTITOUCH=m
-CONFIG_HID_NTRIG=m
-CONFIG_HID_ORTEK=m
-CONFIG_HID_PANTHERLORD=m
-CONFIG_PANTHERLORD_FF=y
-CONFIG_HID_PETALYNX=m
-CONFIG_HID_PICOLCD=m
-CONFIG_HID_PICOLCD_FB=y
-CONFIG_HID_PICOLCD_BACKLIGHT=y
-CONFIG_HID_PICOLCD_LCD=y
-CONFIG_HID_PICOLCD_LEDS=y
-CONFIG_HID_PRIMAX=m
-CONFIG_HID_QUANTA=m
-CONFIG_HID_ROCCAT=m
-CONFIG_HID_ROCCAT_COMMON=m
-CONFIG_HID_ROCCAT_ARVO=m
-CONFIG_HID_ROCCAT_KONE=m
-CONFIG_HID_ROCCAT_KONEPLUS=m
-CONFIG_HID_ROCCAT_KOVAPLUS=m
-CONFIG_HID_ROCCAT_PYRA=m
-CONFIG_HID_SAMSUNG=m
-CONFIG_HID_SONY=m
-CONFIG_HID_SPEEDLINK=m
-CONFIG_HID_SUNPLUS=m
-CONFIG_HID_GREENASIA=m
-CONFIG_GREENASIA_FF=y
-CONFIG_HID_SMARTJOYPLUS=m
-CONFIG_SMARTJOYPLUS_FF=y
-CONFIG_HID_TOPSEED=m
-CONFIG_HID_THRUSTMASTER=m
-CONFIG_THRUSTMASTER_FF=y
-CONFIG_HID_WACOM=m
-CONFIG_HID_WACOM_POWER_SUPPLY=y
-CONFIG_HID_WIIMOTE=m
-CONFIG_HID_ZEROPLUS=m
-CONFIG_ZEROPLUS_FF=y
-CONFIG_HID_ZYDACRON=m
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_COMMON=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB_ARCH_HAS_XHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-# CONFIG_USB_DEVICEFS is not set
-# CONFIG_USB_DEVICE_CLASS is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_SUSPEND=y
-# CONFIG_USB_OTG is not set
-CONFIG_USB_DWC3=m
-# CONFIG_USB_DWC3_DEBUG is not set
-CONFIG_USB_MON=y
-CONFIG_USB_WUSB=m
-CONFIG_USB_WUSB_CBAF=m
-# CONFIG_USB_WUSB_CBAF_DEBUG is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_C67X00_HCD=m
-CONFIG_USB_XHCI_HCD=m
-# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
-CONFIG_USB_EHCI_HCD=m
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
-CONFIG_USB_OXU210HP_HCD=m
-CONFIG_USB_ISP116X_HCD=m
-CONFIG_USB_ISP1760_HCD=m
-CONFIG_USB_ISP1362_HCD=m
-CONFIG_USB_OHCI_HCD=m
-CONFIG_USB_OHCI_HCD_SSB=y
-# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-CONFIG_USB_UHCI_HCD=m
-CONFIG_USB_U132_HCD=m
-CONFIG_USB_SL811_HCD=m
-# CONFIG_USB_SL811_HCD_ISO is not set
-CONFIG_USB_SL811_CS=m
-CONFIG_USB_R8A66597_HCD=m
-CONFIG_USB_WHCI_HCD=m
-CONFIG_USB_HWA_HCD=m
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-CONFIG_USB_WDM=m
-CONFIG_USB_TMC=m
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
-CONFIG_USB_STORAGE=m
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_REALTEK=m
-CONFIG_REALTEK_AUTOPM=y
-CONFIG_USB_STORAGE_DATAFAB=m
-CONFIG_USB_STORAGE_FREECOM=m
-CONFIG_USB_STORAGE_ISD200=m
-CONFIG_USB_STORAGE_USBAT=m
-CONFIG_USB_STORAGE_SDDR09=m
-CONFIG_USB_STORAGE_SDDR55=m
-CONFIG_USB_STORAGE_JUMPSHOT=m
-CONFIG_USB_STORAGE_ALAUDA=m
-CONFIG_USB_STORAGE_ONETOUCH=m
-CONFIG_USB_STORAGE_KARMA=m
-CONFIG_USB_STORAGE_CYPRESS_ATACB=m
-CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_UAS=m
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-CONFIG_USB_MDC800=m
-CONFIG_USB_MICROTEK=m
-
-#
-# USB port drivers
-#
-CONFIG_USB_USS720=m
-CONFIG_USB_SERIAL=m
-CONFIG_USB_EZUSB=y
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_AIRCABLE=m
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_CH341=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP210X=m
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_FUNSOFT=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_IUU=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_MOS7720=m
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
-CONFIG_USB_SERIAL_MOS7840=m
-CONFIG_USB_SERIAL_MOTOROLA=m
-CONFIG_USB_SERIAL_NAVMAN=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_OTI6858=m
-CONFIG_USB_SERIAL_QCAUX=m
-CONFIG_USB_SERIAL_QUALCOMM=m
-CONFIG_USB_SERIAL_SPCP8X5=m
-CONFIG_USB_SERIAL_HP4X=m
-CONFIG_USB_SERIAL_SAFE=m
-CONFIG_USB_SERIAL_SAFE_PADDED=y
-CONFIG_USB_SERIAL_SIEMENS_MPI=m
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-CONFIG_USB_SERIAL_SYMBOL=m
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_WWAN=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_SERIAL_OPTICON=m
-CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
-CONFIG_USB_SERIAL_ZIO=m
-CONFIG_USB_SERIAL_SSU100=m
-CONFIG_USB_SERIAL_DEBUG=m
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-CONFIG_USB_ADUTUX=m
-CONFIG_USB_SEVSEG=m
-CONFIG_USB_RIO500=m
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-CONFIG_USB_LED=m
-CONFIG_USB_CYPRESS_CY7C63=m
-CONFIG_USB_CYTHERM=m
-CONFIG_USB_IDMOUSE=m
-CONFIG_USB_FTDI_ELAN=m
-CONFIG_USB_APPLEDISPLAY=m
-CONFIG_USB_SISUSBVGA=m
-CONFIG_USB_SISUSBVGA_CON=y
-CONFIG_USB_LD=m
-CONFIG_USB_TRANCEVIBRATOR=m
-CONFIG_USB_IOWARRIOR=m
-CONFIG_USB_TEST=m
-CONFIG_USB_ISIGHTFW=m
-CONFIG_USB_YUREX=m
-CONFIG_USB_ATM=m
-CONFIG_USB_SPEEDTOUCH=m
-CONFIG_USB_CXACRU=m
-CONFIG_USB_UEAGLEATM=m
-CONFIG_USB_XUSBATM=m
-# CONFIG_USB_GADGET is not set
-
-#
-# OTG and related infrastructure
-#
-CONFIG_USB_OTG_UTILS=y
-CONFIG_USB_GPIO_VBUS=m
-CONFIG_NOP_USB_XCEIV=m
-CONFIG_UWB=m
-CONFIG_UWB_HWA=m
-CONFIG_UWB_WHCI=m
-CONFIG_UWB_I1480U=m
-CONFIG_MMC=m
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=m
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_SDIO_UART=m
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_SDHCI=m
-CONFIG_MMC_SDHCI_PCI=m
-CONFIG_MMC_RICOH_MMC=y
-CONFIG_MMC_SDHCI_PLTFM=m
-CONFIG_MMC_WBSD=m
-CONFIG_MMC_TIFM_SD=m
-CONFIG_MMC_SDRICOH_CS=m
-CONFIG_MMC_CB710=m
-CONFIG_MMC_VIA_SDMMC=m
-CONFIG_MMC_VUB300=m
-CONFIG_MMC_USHC=m
-CONFIG_MEMSTICK=m
-# CONFIG_MEMSTICK_DEBUG is not set
-
-#
-# MemoryStick drivers
-#
-# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
-CONFIG_MSPRO_BLOCK=m
-
-#
-# MemoryStick Host Controller Drivers
-#
-CONFIG_MEMSTICK_TIFM_MS=m
-CONFIG_MEMSTICK_JMICRON_38X=m
-CONFIG_MEMSTICK_R592=m
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-CONFIG_LEDS_LM3530=m
-CONFIG_LEDS_NET48XX=m
-CONFIG_LEDS_NET5501=m
-CONFIG_LEDS_WRAP=m
-CONFIG_LEDS_PCA9532=m
-# CONFIG_LEDS_PCA9532_GPIO is not set
-CONFIG_LEDS_GPIO=m
-CONFIG_LEDS_LP3944=m
-CONFIG_LEDS_LP5521=m
-CONFIG_LEDS_LP5523=m
-CONFIG_LEDS_CLEVO_MAIL=m
-CONFIG_LEDS_PCA955X=m
-CONFIG_LEDS_REGULATOR=m
-CONFIG_LEDS_BD2802=m
-CONFIG_LEDS_INTEL_SS4200=m
-CONFIG_LEDS_LT3593=m
-CONFIG_LEDS_DELL_NETBOOKS=m
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_HEARTBEAT=m
-CONFIG_LEDS_TRIGGER_BACKLIGHT=m
-CONFIG_LEDS_TRIGGER_GPIO=m
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-CONFIG_ACCESSIBILITY=y
-CONFIG_A11Y_BRAILLE_CONSOLE=y
-CONFIG_INFINIBAND=m
-CONFIG_INFINIBAND_USER_MAD=m
-CONFIG_INFINIBAND_USER_ACCESS=m
-CONFIG_INFINIBAND_USER_MEM=y
-CONFIG_INFINIBAND_ADDR_TRANS=y
-CONFIG_INFINIBAND_MTHCA=m
-CONFIG_INFINIBAND_MTHCA_DEBUG=y
-CONFIG_INFINIBAND_AMSO1100=m
-# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
-# CONFIG_INFINIBAND_CXGB3 is not set
-CONFIG_INFINIBAND_CXGB4=m
-CONFIG_MLX4_INFINIBAND=m
-CONFIG_INFINIBAND_NES=m
-# CONFIG_INFINIBAND_NES_DEBUG is not set
-CONFIG_INFINIBAND_IPOIB=m
-# CONFIG_INFINIBAND_IPOIB_CM is not set
-CONFIG_INFINIBAND_IPOIB_DEBUG=y
-# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
-CONFIG_INFINIBAND_SRP=m
-CONFIG_INFINIBAND_ISER=m
-CONFIG_EDAC=y
-
-#
-# Reporting subsystems
-#
-# CONFIG_EDAC_DEBUG is not set
-CONFIG_EDAC_DECODE_MCE=y
-CONFIG_EDAC_MCE_INJ=m
-# CONFIG_EDAC_MM_EDAC is not set
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-CONFIG_RTC_INTF_DEV_UIE_EMUL=y
-CONFIG_RTC_DRV_TEST=m
-
-#
-# I2C RTC drivers
-#
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_DS1374=m
-CONFIG_RTC_DRV_DS1672=m
-CONFIG_RTC_DRV_DS3232=m
-CONFIG_RTC_DRV_MAX6900=m
-CONFIG_RTC_DRV_RS5C372=m
-CONFIG_RTC_DRV_ISL1208=m
-CONFIG_RTC_DRV_ISL12022=m
-CONFIG_RTC_DRV_X1205=m
-CONFIG_RTC_DRV_PCF8563=m
-CONFIG_RTC_DRV_PCF8583=m
-CONFIG_RTC_DRV_M41T80=m
-CONFIG_RTC_DRV_M41T80_WDT=y
-CONFIG_RTC_DRV_BQ32K=m
-CONFIG_RTC_DRV_S35390A=m
-CONFIG_RTC_DRV_FM3130=m
-CONFIG_RTC_DRV_RX8581=m
-CONFIG_RTC_DRV_RX8025=m
-CONFIG_RTC_DRV_EM3027=m
-CONFIG_RTC_DRV_RV3029C2=m
-
-#
-# SPI RTC drivers
-#
-
-#
-# Platform RTC drivers
-#
-CONFIG_RTC_DRV_CMOS=y
-CONFIG_RTC_DRV_DS1286=m
-CONFIG_RTC_DRV_DS1511=m
-CONFIG_RTC_DRV_DS1553=m
-CONFIG_RTC_DRV_DS1742=m
-CONFIG_RTC_DRV_STK17TA8=m
-CONFIG_RTC_DRV_M48T86=m
-CONFIG_RTC_DRV_M48T35=m
-CONFIG_RTC_DRV_M48T59=m
-CONFIG_RTC_DRV_MSM6242=m
-CONFIG_RTC_DRV_BQ4802=m
-CONFIG_RTC_DRV_RP5C01=m
-CONFIG_RTC_DRV_V3020=m
-CONFIG_RTC_DRV_PCF50633=m
-
-#
-# on-CPU RTC drivers
-#
-CONFIG_DMADEVICES=y
-# CONFIG_DMADEVICES_DEBUG is not set
-
-#
-# DMA Devices
-#
-CONFIG_INTEL_MID_DMAC=m
-CONFIG_INTEL_IOATDMA=m
-CONFIG_TIMB_DMA=m
-CONFIG_PCH_DMA=m
-CONFIG_DMA_ENGINE=y
-
-#
-# DMA Clients
-#
-CONFIG_NET_DMA=y
-# CONFIG_ASYNC_TX_DMA is not set
-CONFIG_DMATEST=m
-CONFIG_DCA=m
-CONFIG_AUXDISPLAY=y
-# CONFIG_KS0108 is not set
-CONFIG_UIO=m
-CONFIG_UIO_CIF=m
-CONFIG_UIO_PDRV=m
-CONFIG_UIO_PDRV_GENIRQ=m
-CONFIG_UIO_AEC=m
-CONFIG_UIO_SERCOS3=m
-CONFIG_UIO_PCI_GENERIC=m
-CONFIG_UIO_NETX=m
-CONFIG_VIRTIO=m
-CONFIG_VIRTIO_RING=m
-
-#
-# Virtio drivers
-#
-CONFIG_VIRTIO_PCI=m
-CONFIG_VIRTIO_BALLOON=m
-CONFIG_VIRTIO_MMIO=m
-CONFIG_STAGING=y
-# CONFIG_ET131X is not set
-# CONFIG_SLICOSS is not set
-CONFIG_USBIP_CORE=m
-CONFIG_USBIP_VHCI_HCD=m
-CONFIG_USBIP_HOST=m
-# CONFIG_USBIP_DEBUG is not set
-# CONFIG_W35UND is not set
-# CONFIG_PRISM2_USB is not set
-# CONFIG_ECHO is not set
-# CONFIG_COMEDI is not set
-CONFIG_ASUS_OLED=m
-# CONFIG_PANEL is not set
-CONFIG_R8187SE=m
-CONFIG_RTL8192U=m
-CONFIG_RTL8192E=m
-CONFIG_R8712U=m
-CONFIG_RTS_PSTOR=m
-# CONFIG_RTS_PSTOR_DEBUG is not set
-CONFIG_RTS5139=m
-# CONFIG_RTS5139_DEBUG is not set
-# CONFIG_TRANZPORT is not set
-CONFIG_POHMELFS=m
-# CONFIG_POHMELFS_DEBUG is not set
-CONFIG_IDE_PHISON=m
-CONFIG_LINE6_USB=m
-# CONFIG_LINE6_USB_DEBUG is not set
-# CONFIG_LINE6_USB_DUMP_CTRL is not set
-# CONFIG_LINE6_USB_DUMP_MIDI is not set
-# CONFIG_LINE6_USB_DUMP_PCM is not set
-# CONFIG_LINE6_USB_RAW is not set
-# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
-CONFIG_DRM_NOUVEAU=m
-CONFIG_DRM_NOUVEAU_BACKLIGHT=y
-CONFIG_DRM_NOUVEAU_DEBUG=y
-
-#
-# I2C encoder or helper chips
-#
-CONFIG_DRM_I2C_CH7006=m
-CONFIG_DRM_I2C_SIL164=m
-CONFIG_USB_SERIAL_QUATECH2=m
-CONFIG_USB_SERIAL_QUATECH_USB2=m
-CONFIG_VT6655=m
-CONFIG_VT6656=m
-CONFIG_HYPERV_STORAGE=m
-CONFIG_HYPERV_NET=m
-CONFIG_HYPERV_MOUSE=m
-# CONFIG_VME_BUS is not set
-CONFIG_DX_SEP=m
-# CONFIG_IIO is not set
-CONFIG_XVMALLOC=y
-CONFIG_ZRAM=m
-# CONFIG_ZRAM_DEBUG is not set
-CONFIG_WLAGS49_H2=m
-CONFIG_WLAGS49_H25=m
-CONFIG_FB_SM7XX=m
-CONFIG_CRYSTALHD=m
-# CONFIG_CXT1E1 is not set
-CONFIG_FB_XGI=m
-CONFIG_ACPI_QUICKSTART=m
-CONFIG_SBE_2T3E3=m
-CONFIG_USB_ENESTORAGE=m
-CONFIG_BCM_WIMAX=m
-# CONFIG_FT1000 is not set
-
-#
-# Speakup console speech
-#
-CONFIG_SPEAKUP=m
-CONFIG_SPEAKUP_SYNTH_ACNTSA=m
-CONFIG_SPEAKUP_SYNTH_ACNTPC=m
-CONFIG_SPEAKUP_SYNTH_APOLLO=m
-CONFIG_SPEAKUP_SYNTH_AUDPTR=m
-CONFIG_SPEAKUP_SYNTH_BNS=m
-CONFIG_SPEAKUP_SYNTH_DECTLK=m
-CONFIG_SPEAKUP_SYNTH_DECEXT=m
-CONFIG_SPEAKUP_SYNTH_DECPC=m
-CONFIG_SPEAKUP_SYNTH_DTLK=m
-CONFIG_SPEAKUP_SYNTH_KEYPC=m
-CONFIG_SPEAKUP_SYNTH_LTLK=m
-CONFIG_SPEAKUP_SYNTH_SOFT=m
-CONFIG_SPEAKUP_SYNTH_SPKOUT=m
-CONFIG_SPEAKUP_SYNTH_TXPRT=m
-CONFIG_SPEAKUP_SYNTH_DUMMY=m
-CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
-CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
-CONFIG_DRM_PSB=m
-CONFIG_DRM_PSB_MRST=y
-CONFIG_DRM_PSB_MFLD=y
-CONFIG_DRM_PSB_CDV=y
-CONFIG_INTEL_MEI=m
-CONFIG_STAGING_MEDIA=y
-CONFIG_DVB_AS102=m
-CONFIG_DVB_CXD2099=m
-CONFIG_VIDEO_DT3155=m
-CONFIG_DT3155_CCIR=y
-CONFIG_DT3155_STREAMING=y
-CONFIG_EASYCAP=m
-# CONFIG_EASYCAP_DEBUG is not set
-# CONFIG_VIDEO_GO7007 is not set
-CONFIG_SOLO6X10=m
-CONFIG_LIRC_STAGING=y
-CONFIG_LIRC_BT829=m
-CONFIG_LIRC_IGORPLUGUSB=m
-CONFIG_LIRC_IMON=m
-CONFIG_LIRC_PARALLEL=m
-CONFIG_LIRC_SASEM=m
-CONFIG_LIRC_SERIAL=m
-CONFIG_LIRC_SERIAL_TRANSMITTER=y
-CONFIG_LIRC_SIR=m
-CONFIG_LIRC_TTUSBIR=m
-CONFIG_LIRC_ZILOG=m
-CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_ACER_WMI=m
-CONFIG_ACERHDF=m
-CONFIG_ASUS_LAPTOP=m
-CONFIG_DELL_LAPTOP=m
-CONFIG_DELL_WMI=m
-CONFIG_DELL_WMI_AIO=m
-CONFIG_FUJITSU_LAPTOP=m
-# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
-CONFIG_TC1100_WMI=m
-CONFIG_HP_ACCEL=m
-CONFIG_HP_WMI=m
-CONFIG_MSI_LAPTOP=m
-CONFIG_PANASONIC_LAPTOP=m
-CONFIG_COMPAL_LAPTOP=m
-CONFIG_SONY_LAPTOP=m
-CONFIG_SONYPI_COMPAT=y
-CONFIG_IDEAPAD_LAPTOP=m
-CONFIG_THINKPAD_ACPI=m
-CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
-# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
-# CONFIG_THINKPAD_ACPI_DEBUG is not set
-# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
-CONFIG_THINKPAD_ACPI_VIDEO=y
-CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
-CONFIG_SENSORS_HDAPS=m
-CONFIG_INTEL_MENLOW=m
-CONFIG_EEEPC_LAPTOP=m
-CONFIG_ASUS_WMI=m
-CONFIG_ASUS_NB_WMI=m
-CONFIG_EEEPC_WMI=m
-CONFIG_ACPI_WMI=m
-CONFIG_MSI_WMI=m
-CONFIG_ACPI_ASUS=m
-CONFIG_TOPSTAR_LAPTOP=m
-CONFIG_ACPI_TOSHIBA=m
-CONFIG_TOSHIBA_BT_RFKILL=m
-CONFIG_ACPI_CMPC=m
-CONFIG_INTEL_IPS=m
-CONFIG_IBM_RTL=m
-CONFIG_XO15_EBOOK=m
-CONFIG_SAMSUNG_LAPTOP=m
-CONFIG_MXM_WMI=m
-CONFIG_INTEL_OAKTRAIL=m
-CONFIG_SAMSUNG_Q10=m
-
-#
-# Hardware Spinlock drivers
-#
-CONFIG_CLKSRC_I8253=y
-CONFIG_CLKEVT_I8253=y
-CONFIG_I8253_LOCK=y
-CONFIG_CLKBLD_I8253=y
-CONFIG_IOMMU_API=y
-CONFIG_IOMMU_SUPPORT=y
-CONFIG_DMAR_TABLE=y
-CONFIG_INTEL_IOMMU=y
-# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
-CONFIG_INTEL_IOMMU_FLOPPY_WA=y
-CONFIG_VIRT_DRIVERS=y
-CONFIG_HYPERV=m
-CONFIG_HYPERV_UTILS=m
-CONFIG_PM_DEVFREQ=y
-
-#
-# DEVFREQ Governors
-#
-CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
-CONFIG_DEVFREQ_GOV_PERFORMANCE=y
-CONFIG_DEVFREQ_GOV_POWERSAVE=y
-CONFIG_DEVFREQ_GOV_USERSPACE=y
-
-#
-# DEVFREQ Drivers
-#
-
-#
-# Firmware Drivers
-#
-CONFIG_EDD=m
-CONFIG_EDD_OFF=y
-CONFIG_FIRMWARE_MEMMAP=y
-CONFIG_EFI_VARS=m
-CONFIG_DELL_RBU=m
-CONFIG_DCDBAS=m
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=m
-CONFIG_ISCSI_IBFT_FIND=y
-CONFIG_ISCSI_IBFT=m
-CONFIG_SIGMA=m
-# CONFIG_GOOGLE_FIRMWARE is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=m
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=m
-CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
-CONFIG_EXT3_FS_XATTR=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_EXT4_FS=m
-CONFIG_EXT4_FS_XATTR=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=m
-# CONFIG_JBD_DEBUG is not set
-CONFIG_JBD2=m
-# CONFIG_JBD2_DEBUG is not set
-CONFIG_FS_MBCACHE=m
-CONFIG_REISERFS_FS=m
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-CONFIG_REISERFS_FS_XATTR=y
-CONFIG_REISERFS_FS_POSIX_ACL=y
-CONFIG_REISERFS_FS_SECURITY=y
-CONFIG_JFS_FS=m
-CONFIG_JFS_POSIX_ACL=y
-CONFIG_JFS_SECURITY=y
-# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
-CONFIG_XFS_FS=m
-CONFIG_XFS_QUOTA=y
-CONFIG_XFS_POSIX_ACL=y
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_DEBUG is not set
-CONFIG_GFS2_FS=m
-CONFIG_GFS2_FS_LOCKING_DLM=y
-CONFIG_OCFS2_FS=m
-CONFIG_OCFS2_FS_O2CB=m
-CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
-# CONFIG_OCFS2_FS_STATS is not set
-CONFIG_OCFS2_DEBUG_MASKLOG=y
-# CONFIG_OCFS2_DEBUG_FS is not set
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-CONFIG_NILFS2_FS=m
-CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=m
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_FANOTIFY=y
-# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
-CONFIG_QUOTA=y
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
-# CONFIG_QUOTA_DEBUG is not set
-CONFIG_QUOTA_TREE=m
-CONFIG_QFMT_V1=m
-CONFIG_QFMT_V2=m
-CONFIG_QUOTACTL=y
-CONFIG_AUTOFS4_FS=m
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-CONFIG_FSCACHE=m
-# CONFIG_FSCACHE_STATS is not set
-# CONFIG_FSCACHE_HISTOGRAM is not set
-# CONFIG_FSCACHE_DEBUG is not set
-# CONFIG_FSCACHE_OBJECT_LIST is not set
-CONFIG_CACHEFILES=m
-# CONFIG_CACHEFILES_DEBUG is not set
-# CONFIG_CACHEFILES_HISTOGRAM is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-CONFIG_NTFS_FS=m
-# CONFIG_NTFS_DEBUG is not set
-CONFIG_NTFS_RW=y
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_TMPFS_XATTR=y
-# CONFIG_HUGETLBFS is not set
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_CONFIGFS_FS=y
-CONFIG_MISC_FILESYSTEMS=y
-CONFIG_ADFS_FS=m
-# CONFIG_ADFS_FS_RW is not set
-CONFIG_AFFS_FS=m
-CONFIG_ECRYPT_FS=m
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-CONFIG_BEFS_FS=m
-# CONFIG_BEFS_DEBUG is not set
-CONFIG_BFS_FS=m
-CONFIG_EFS_FS=m
-CONFIG_JFFS2_FS=m
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-# CONFIG_JFFS2_SUMMARY is not set
-# CONFIG_JFFS2_FS_XATTR is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-# CONFIG_JFFS2_LZO is not set
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-CONFIG_UBIFS_FS=m
-CONFIG_UBIFS_FS_XATTR=y
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-CONFIG_LOGFS=m
-CONFIG_CRAMFS=m
-CONFIG_SQUASHFS=m
-CONFIG_SQUASHFS_XATTR=y
-CONFIG_SQUASHFS_ZLIB=y
-CONFIG_SQUASHFS_LZO=y
-CONFIG_SQUASHFS_XZ=y
-# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
-CONFIG_SQUASHFS_EMBEDDED=y
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
-CONFIG_VXFS_FS=m
-CONFIG_MINIX_FS=m
-CONFIG_OMFS_FS=m
-CONFIG_HPFS_FS=m
-CONFIG_QNX4FS_FS=m
-CONFIG_ROMFS_FS=y
-CONFIG_ROMFS_BACKED_BY_BLOCK=y
-CONFIG_ROMFS_ON_BLOCK=y
-CONFIG_PSTORE=y
-CONFIG_SYSV_FS=m
-CONFIG_UFS_FS=m
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_UFS_DEBUG is not set
-CONFIG_EXOFS_FS=m
-# CONFIG_EXOFS_DEBUG is not set
-CONFIG_ORE=m
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-CONFIG_NFS_V4=y
-# CONFIG_NFS_V4_1 is not set
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
-CONFIG_NFSD=m
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-CONFIG_NFSD_V4=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-CONFIG_SUNRPC_XPRT_RDMA=m
-CONFIG_RPCSEC_GSS_KRB5=m
-CONFIG_CEPH_FS=m
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-CONFIG_CIFS_WEAK_PW_HASH=y
-# CONFIG_CIFS_UPCALL is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_DFS_UPCALL is not set
-CONFIG_CIFS_FSCACHE=y
-CONFIG_NCP_FS=m
-CONFIG_NCPFS_PACKET_SIGNING=y
-CONFIG_NCPFS_IOCTL_LOCKING=y
-CONFIG_NCPFS_STRONG=y
-CONFIG_NCPFS_NFS_NS=y
-CONFIG_NCPFS_OS2_NS=y
-CONFIG_NCPFS_SMALLDOS=y
-CONFIG_NCPFS_NLS=y
-CONFIG_NCPFS_EXTRAS=y
-CONFIG_CODA_FS=m
-CONFIG_AFS_FS=m
-# CONFIG_AFS_DEBUG is not set
-# CONFIG_AFS_FSCACHE is not set
-CONFIG_9P_FS=m
-# CONFIG_9P_FSCACHE is not set
-# CONFIG_9P_FS_POSIX_ACL is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-CONFIG_OSF_PARTITION=y
-CONFIG_AMIGA_PARTITION=y
-# CONFIG_ATARI_PARTITION is not set
-CONFIG_MAC_PARTITION=y
-CONFIG_MSDOS_PARTITION=y
-CONFIG_BSD_DISKLABEL=y
-CONFIG_MINIX_SUBPARTITION=y
-CONFIG_SOLARIS_X86_PARTITION=y
-CONFIG_UNIXWARE_DISKLABEL=y
-# CONFIG_LDM_PARTITION is not set
-CONFIG_SGI_PARTITION=y
-# CONFIG_ULTRIX_PARTITION is not set
-CONFIG_SUN_PARTITION=y
-CONFIG_KARMA_PARTITION=y
-CONFIG_EFI_PARTITION=y
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=m
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=m
-CONFIG_DLM=m
-# CONFIG_DLM_DEBUG is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_PRINTK_TIME=y
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-CONFIG_ENABLE_WARN_DEPRECATED=y
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_FRAME_WARN=0
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_STRIP_ASM_SYMS=y
-CONFIG_UNUSED_SYMBOLS=y
-CONFIG_DEBUG_FS=y
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
-# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
-CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
-CONFIG_SCHED_DEBUG=y
-# CONFIG_SCHEDSTATS is not set
-CONFIG_TIMER_STATS=y
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SLUB_STATS is not set
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-CONFIG_STACKTRACE=y
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_HIGHMEM is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_VIRTUAL is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-CONFIG_DEBUG_MEMORY_INIT=y
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-CONFIG_FRAME_POINTER=y
-# CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
-# CONFIG_LKDTM is not set
-CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_USER_STACKTRACE_SUPPORT=y
-CONFIG_NOP_TRACER=y
-CONFIG_HAVE_FTRACE_NMI_ENTER=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_RING_BUFFER=y
-CONFIG_FTRACE_NMI_ENTER=y
-CONFIG_EVENT_TRACING=y
-CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
-CONFIG_CONTEXT_SWITCH_TRACER=y
-CONFIG_RING_BUFFER_ALLOW_SWAP=y
-CONFIG_TRACING=y
-CONFIG_GENERIC_TRACER=y
-CONFIG_TRACING_SUPPORT=y
-CONFIG_FTRACE=y
-CONFIG_FUNCTION_TRACER=y
-CONFIG_FUNCTION_GRAPH_TRACER=y
-# CONFIG_IRQSOFF_TRACER is not set
-# CONFIG_SCHED_TRACER is not set
-# CONFIG_FTRACE_SYSCALLS is not set
-CONFIG_BRANCH_PROFILE_NONE=y
-# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-# CONFIG_PROFILE_ALL_BRANCHES is not set
-# CONFIG_STACK_TRACER is not set
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_DYNAMIC_FTRACE=y
-# CONFIG_FUNCTION_PROFILER is not set
-CONFIG_FTRACE_MCOUNT_RECORD=y
-# CONFIG_FTRACE_STARTUP_TEST is not set
-# CONFIG_MMIOTRACE is not set
-CONFIG_RING_BUFFER_BENCHMARK=m
-# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_DMA_API_DEBUG is not set
-CONFIG_ATOMIC64_SELFTEST=y
-CONFIG_ASYNC_RAID6_TEST=m
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-CONFIG_HAVE_ARCH_KMEMCHECK=y
-# CONFIG_TEST_KSTRTOX is not set
-CONFIG_STRICT_DEVMEM=y
-CONFIG_X86_VERBOSE_BOOTUP=y
-CONFIG_EARLY_PRINTK=y
-# CONFIG_EARLY_PRINTK_DBGP is not set
-# CONFIG_DEBUG_STACKOVERFLOW is not set
-# CONFIG_X86_PTDUMP is not set
-CONFIG_DEBUG_RODATA=y
-CONFIG_DEBUG_RODATA_TEST=y
-# CONFIG_DEBUG_SET_MODULE_RONX is not set
-# CONFIG_DEBUG_NX_TEST is not set
-CONFIG_DOUBLEFAULT=y
-# CONFIG_IOMMU_STRESS is not set
-CONFIG_HAVE_MMIOTRACE_SUPPORT=y
-CONFIG_IO_DELAY_TYPE_0X80=0
-CONFIG_IO_DELAY_TYPE_0XED=1
-CONFIG_IO_DELAY_TYPE_UDELAY=2
-CONFIG_IO_DELAY_TYPE_NONE=3
-CONFIG_IO_DELAY_0X80=y
-# CONFIG_IO_DELAY_0XED is not set
-# CONFIG_IO_DELAY_UDELAY is not set
-# CONFIG_IO_DELAY_NONE is not set
-CONFIG_DEFAULT_IO_DELAY_TYPE=0
-# CONFIG_DEBUG_BOOT_PARAMS is not set
-# CONFIG_CPA_DEBUG is not set
-CONFIG_OPTIMIZE_INLINING=y
-# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-CONFIG_TRUSTED_KEYS=m
-CONFIG_ENCRYPTED_KEYS=m
-CONFIG_KEYS_DEBUG_PROC_KEYS=y
-CONFIG_SECURITY_DMESG_RESTRICT=y
-CONFIG_SECURITY=y
-CONFIG_SECURITYFS=y
-CONFIG_SECURITY_NETWORK=y
-CONFIG_SECURITY_NETWORK_XFRM=y
-# CONFIG_SECURITY_PATH is not set
-# CONFIG_INTEL_TXT is not set
-# CONFIG_SECURITY_SELINUX is not set
-# CONFIG_SECURITY_TOMOYO is not set
-# CONFIG_SECURITY_APPARMOR is not set
-# CONFIG_IMA is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_XOR_BLOCKS=y
-CONFIG_ASYNC_CORE=y
-CONFIG_ASYNC_MEMCPY=y
-CONFIG_ASYNC_XOR=y
-CONFIG_ASYNC_PQ=y
-CONFIG_ASYNC_RAID6_RECOV=y
-CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
-CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=y
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG=y
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_PCOMP=m
-CONFIG_CRYPTO_PCOMP2=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_USER=m
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-CONFIG_CRYPTO_GF128MUL=y
-CONFIG_CRYPTO_NULL=y
-CONFIG_CRYPTO_PCRYPT=m
-CONFIG_CRYPTO_WORKQUEUE=y
-CONFIG_CRYPTO_CRYPTD=y
-CONFIG_CRYPTO_AUTHENC=y
-CONFIG_CRYPTO_TEST=m
-
-#
-# Authenticated Encryption with Associated Data
-#
-CONFIG_CRYPTO_CCM=y
-CONFIG_CRYPTO_GCM=y
-CONFIG_CRYPTO_SEQIV=y
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_CTR=y
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_LRW=y
-CONFIG_CRYPTO_PCBC=y
-CONFIG_CRYPTO_XTS=y
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_VMAC=m
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_CRC32C_INTEL=m
-CONFIG_CRYPTO_GHASH=y
-CONFIG_CRYPTO_MD4=y
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=y
-CONFIG_CRYPTO_RMD128=m
-CONFIG_CRYPTO_RMD160=y
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
-CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_SHA512=y
-CONFIG_CRYPTO_TGR192=y
-CONFIG_CRYPTO_WP512=y
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_AES_586=y
-CONFIG_CRYPTO_AES_NI_INTEL=y
-CONFIG_CRYPTO_ANUBIS=y
-CONFIG_CRYPTO_ARC4=y
-CONFIG_CRYPTO_BLOWFISH=y
-CONFIG_CRYPTO_BLOWFISH_COMMON=y
-CONFIG_CRYPTO_CAMELLIA=y
-CONFIG_CRYPTO_CAST5=y
-CONFIG_CRYPTO_CAST6=y
-CONFIG_CRYPTO_DES=y
-CONFIG_CRYPTO_FCRYPT=y
-CONFIG_CRYPTO_KHAZAD=y
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SALSA20_586=m
-CONFIG_CRYPTO_SEED=y
-CONFIG_CRYPTO_SERPENT=y
-CONFIG_CRYPTO_TEA=y
-CONFIG_CRYPTO_TWOFISH=y
-CONFIG_CRYPTO_TWOFISH_COMMON=y
-CONFIG_CRYPTO_TWOFISH_586=y
-
-#
-# Compression
-#
-CONFIG_CRYPTO_DEFLATE=y
-CONFIG_CRYPTO_ZLIB=m
-CONFIG_CRYPTO_LZO=m
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_USER_API=m
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_DEV_PADLOCK=m
-CONFIG_CRYPTO_DEV_PADLOCK_AES=m
-CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
-CONFIG_CRYPTO_DEV_GEODE=m
-CONFIG_HAVE_KVM=y
-CONFIG_HAVE_KVM_IRQCHIP=y
-CONFIG_HAVE_KVM_EVENTFD=y
-CONFIG_KVM_APIC_ARCHITECTURE=y
-CONFIG_KVM_MMIO=y
-CONFIG_KVM_ASYNC_PF=y
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=m
-CONFIG_KVM_INTEL=m
-CONFIG_KVM_AMD=m
-CONFIG_KVM_MMU_AUDIT=y
-CONFIG_VHOST_NET=m
-CONFIG_LGUEST=m
-CONFIG_BINARY_PRINTF=y
-
-#
-# Library routines
-#
-CONFIG_RAID6_PQ=y
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
-CONFIG_CRC_CCITT=m
-CONFIG_CRC16=y
-CONFIG_CRC_T10DIF=m
-CONFIG_CRC_ITU_T=y
-CONFIG_CRC32=y
-CONFIG_CRC7=m
-CONFIG_LIBCRC32C=y
-CONFIG_CRC8=m
-CONFIG_AUDIT_GENERIC=y
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_XZ_DEC=y
-CONFIG_XZ_DEC_X86=y
-CONFIG_XZ_DEC_POWERPC=y
-CONFIG_XZ_DEC_IA64=y
-CONFIG_XZ_DEC_ARM=y
-CONFIG_XZ_DEC_ARMTHUMB=y
-CONFIG_XZ_DEC_SPARC=y
-CONFIG_XZ_DEC_BCJ=y
-# CONFIG_XZ_DEC_TEST is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_XZ=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_GENERIC_ALLOCATOR=y
-CONFIG_REED_SOLOMON=m
-CONFIG_REED_SOLOMON_DEC16=y
-CONFIG_BCH=m
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_BTREE=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_CHECK_SIGNATURE=y
-CONFIG_CPU_RMAP=y
-CONFIG_NLATTR=y
-CONFIG_LRU_CACHE=m
-CONFIG_AVERAGE=y
-CONFIG_CORDIC=m
diff --git a/source/k/config-x86/config-huge-3.10.17 b/source/k/config-x86/config-huge-3.10.17
new file mode 100644
index 000000000..c83e6ab3b
--- /dev/null
+++ b/source/k/config-x86/config-huge-3.10.17
@@ -0,0 +1,6384 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/x86 3.10.17 Kernel Configuration
+#
+# CONFIG_64BIT is not set
+CONFIG_X86_32=y
+CONFIG_X86=y
+CONFIG_INSTRUCTION_DECODER=y
+CONFIG_OUTPUT_FORMAT="elf32-i386"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# CONFIG_ZONE_DMA32 is not set
+# CONFIG_AUDIT_ARCH is not set
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_EXTABLE_SORT=y
+
+#
+# General setup
+#
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+CONFIG_DEFAULT_HOSTNAME="darkstar"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_FHANDLE=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_WATCH=y
+CONFIG_AUDIT_TREE=y
+# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_CHIP=y
+CONFIG_IRQ_DOMAIN=y
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_KTIME_SCALAR=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ is not set
+CONFIG_HIGH_RES_TIMERS=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TINY_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_RCU_STALL_COMMON is not set
+# CONFIG_TREE_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+# CONFIG_MEMCG is not set
+CONFIG_CGROUP_PERF=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_SCHED_AUTOGROUP is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_HAVE_UID16=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_HOTPLUG=y
+CONFIG_HAVE_PCSPKR_PLATFORM=y
+# CONFIG_EXPERT is not set
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+CONFIG_HAVE_OPROFILE=y
+CONFIG_OPROFILE_NMI_TIMER=y
+# CONFIG_KPROBES is not set
+# CONFIG_JUMP_LABEL is not set
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_PERF_EVENTS_NMI=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP_FILTER=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_MODULES_USE_ELF_REL=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_OLD_SIGACTION=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_BSGLIB=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_DEV_THROTTLING=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+CONFIG_OSF_PARTITION=y
+CONFIG_AMIGA_PARTITION=y
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+# CONFIG_LDM_PARTITION is not set
+CONFIG_SGI_PARTITION=y
+# CONFIG_ULTRIX_PARTITION is not set
+CONFIG_SUN_PARTITION=y
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_CFQ_GROUP_IOSCHED=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_ASN1=m
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_INLINE_READ_UNLOCK=y
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_INLINE_WRITE_UNLOCK=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_ZONE_DMA=y
+# CONFIG_SMP is not set
+CONFIG_X86_MPPARSE=y
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+# CONFIG_X86_GOLDFISH is not set
+CONFIG_X86_INTEL_LPSS=y
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_X86_32_IRIS=m
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_HYPERVISOR_GUEST=y
+# CONFIG_PARAVIRT is not set
+# CONFIG_XEN_PRIVILEGED_GUEST is not set
+CONFIG_NO_BOOTMEM=y
+CONFIG_MEMTEST=y
+CONFIG_M486=y
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+# CONFIG_M686 is not set
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MELAN is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+CONFIG_X86_GENERIC=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_L1_CACHE_SHIFT=6
+# CONFIG_X86_PPRO_FENCE is not set
+CONFIG_X86_F00F_BUG=y
+CONFIG_X86_INVD_BUG=y
+CONFIG_X86_ALIGNMENT_16=y
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=4
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_CYRIX_32=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_CPU_SUP_TRANSMETA_32=y
+CONFIG_CPU_SUP_UMC_32=y
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+CONFIG_NR_CPUS=1
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_X86_UP_APIC=y
+CONFIG_X86_UP_IOAPIC=y
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+CONFIG_X86_ANCIENT_MCE=y
+CONFIG_X86_MCE_THRESHOLD=y
+CONFIG_X86_MCE_INJECT=m
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_VM86=y
+CONFIG_TOSHIBA=m
+CONFIG_I8K=m
+CONFIG_X86_REBOOTFIXUPS=y
+CONFIG_MICROCODE=m
+CONFIG_MICROCODE_INTEL=y
+CONFIG_MICROCODE_AMD=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_MICROCODE_INTEL_LIB=y
+CONFIG_MICROCODE_INTEL_EARLY=y
+CONFIG_MICROCODE_EARLY=y
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+# CONFIG_NOHIGHMEM is not set
+CONFIG_HIGHMEM4G=y
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_HIGHMEM=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ILLEGAL_POINTER_VALUE=0
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_ARCH_DISCARD_MEMBLOCK=y
+# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=98304
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+# CONFIG_MEMORY_FAILURE is not set
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+CONFIG_NEED_PER_CPU_KM=y
+# CONFIG_CLEANCACHE is not set
+# CONFIG_FRONTSWAP is not set
+CONFIG_HIGHPTE=y
+# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
+CONFIG_X86_RESERVE_LOW=64
+CONFIG_MATH_EMULATION=y
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_ARCH_RANDOM=y
+CONFIG_X86_SMAP=y
+CONFIG_EFI=y
+# CONFIG_EFI_STUB is not set
+CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+CONFIG_SCHED_HRTICK=y
+# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
+CONFIG_PHYSICAL_START=0x1000000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_COMPAT_VDSO=y
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION="\"\""
+CONFIG_PM_SLEEP=y
+# CONFIG_PM_AUTOSLEEP is not set
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=100
+CONFIG_PM_WAKELOCKS_GC=y
+CONFIG_PM_RUNTIME=y
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_CLK=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_EC_DEBUGFS=m
+CONFIG_ACPI_PROC_EVENT=y
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_I2C=m
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_IPMI=m
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=m
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y
+CONFIG_ACPI_BLACKLIST_YEAR=2001
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=y
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_SBS=m
+CONFIG_ACPI_HED=y
+# CONFIG_ACPI_CUSTOM_METHOD is not set
+CONFIG_ACPI_BGRT=y
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_EINJ=m
+CONFIG_ACPI_APEI_ERST_DEBUG=m
+CONFIG_SFI=y
+# CONFIG_APM is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=m
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# x86 CPU frequency scaling drivers
+#
+CONFIG_X86_INTEL_PSTATE=y
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ_CPB=y
+CONFIG_X86_POWERNOW_K6=m
+CONFIG_X86_POWERNOW_K7=m
+CONFIG_X86_POWERNOW_K7_ACPI=y
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_AMD_FREQ_SENSITIVITY=m
+CONFIG_X86_GX_SUSPMOD=m
+CONFIG_X86_SPEEDSTEP_CENTRINO=m
+CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
+CONFIG_X86_SPEEDSTEP_ICH=m
+CONFIG_X86_SPEEDSTEP_SMI=m
+CONFIG_X86_P4_CLOCKMOD=m
+CONFIG_X86_CPUFREQ_NFORCE2=m
+CONFIG_X86_LONGRUN=m
+CONFIG_X86_LONGHAUL=m
+CONFIG_X86_E_POWERSAVER=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
+CONFIG_CPU_IDLE=y
+# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
+CONFIG_CPU_IDLE_GOV_LADDER=y
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
+CONFIG_INTEL_IDLE=y
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GODIRECT is not set
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+CONFIG_PCIEAER_INJECT=m
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
+CONFIG_PCI_STUB=m
+CONFIG_HT_IRQ=y
+# CONFIG_PCI_IOV is not set
+# CONFIG_PCI_PRI is not set
+# CONFIG_PCI_PASID is not set
+CONFIG_PCI_IOAPIC=y
+CONFIG_PCI_LABEL=y
+CONFIG_ISA_DMA_API=y
+CONFIG_ISA=y
+# CONFIG_EISA is not set
+CONFIG_SCx200=m
+CONFIG_SCx200HR_TIMER=m
+# CONFIG_OLPC is not set
+CONFIG_ALIX=y
+# CONFIG_NET5501 is not set
+# CONFIG_GEOS is not set
+CONFIG_AMD_NB=y
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_I82365=m
+CONFIG_TCIC=m
+CONFIG_PCMCIA_PROBE=y
+CONFIG_PCCARD_NONSTATIC=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_COMPAQ=m
+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
+CONFIG_HOTPLUG_PCI_IBM=m
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+# CONFIG_HOTPLUG_PCI_CPCI is not set
+CONFIG_HOTPLUG_PCI_SHPC=m
+# CONFIG_RAPIDIO is not set
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_SCRIPT=y
+CONFIG_HAVE_AOUT=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+CONFIG_HAVE_ATOMIC_IOMAP=y
+CONFIG_HAVE_TEXT_POKE_SMP=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=m
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=y
+CONFIG_XFRM_USER=y
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+# CONFIG_IP_FIB_TRIE_STATS is not set
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+# CONFIG_IPV6_SIT_6RD is not set
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETLABEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NF_CONNTRACK_PROCFS is not set
+# CONFIG_NF_CONNTRACK_EVENTS is not set
+# CONFIG_NF_CONNTRACK_TIMEOUT is not set
+# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+# CONFIG_NETFILTER_NETLINK_QUEUE_CT is not set
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NETFILTER_TPROXY=m
+CONFIG_NETFILTER_XTABLES=m
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
+CONFIG_NETFILTER_XT_TARGET_AUDIT=m
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_BPF=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS SH scheduler
+#
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_IP_VS_PE_SIP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT_IPV4=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV6=m
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RPFILTER=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_NF_NAT_IPV6=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_IP6_NF_TARGET_NPT=m
+
+#
+# DECnet: Netfilter Configuration
+#
+# CONFIG_DECNET_NF_GRABULATOR is not set
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+# CONFIG_IP_DCCP_CCID3 is not set
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+CONFIG_RDS=m
+CONFIG_RDS_RDMA=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
+CONFIG_TIPC=m
+CONFIG_TIPC_PORTS=8191
+CONFIG_TIPC_MEDIA_IB=y
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_L2TP=m
+CONFIG_L2TP_DEBUGFS=m
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=m
+CONFIG_L2TP_ETH=m
+CONFIG_STP=m
+CONFIG_GARP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_HAVE_NET_DSA=y
+CONFIG_NET_DSA=m
+CONFIG_NET_DSA_TAG_DSA=y
+CONFIG_NET_DSA_TAG_EDSA=y
+CONFIG_NET_DSA_TAG_TRAILER=y
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+# CONFIG_VLAN_8021Q_MVRP is not set
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_LTPC=m
+CONFIG_COPS=m
+CONFIG_COPS_DAYNA=y
+CONFIG_COPS_TANGENT=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+CONFIG_IEEE802154=m
+CONFIG_IEEE802154_6LOWPAN=m
+CONFIG_MAC802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_EMATCH_CANID=m
+CONFIG_NET_EMATCH_IPSET=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=y
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+# CONFIG_NET_CLS_IND is not set
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+CONFIG_BATMAN_ADV=m
+CONFIG_BATMAN_ADV_BLA=y
+CONFIG_BATMAN_ADV_DAT=y
+CONFIG_BATMAN_ADV_NC=y
+# CONFIG_BATMAN_ADV_DEBUG is not set
+CONFIG_OPENVSWITCH=m
+CONFIG_VSOCKETS=m
+CONFIG_VMWARE_VMCI_VSOCKETS=m
+CONFIG_NETLINK_MMAP=y
+CONFIG_NETLINK_DIAG=m
+CONFIG_NETPRIO_CGROUP=m
+CONFIG_BQL=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_DROP_MONITOR is not set
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+# CONFIG_DMASCC is not set
+CONFIG_SCC=m
+CONFIG_SCC_DELAY=y
+CONFIG_SCC_TRXECHO=y
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_BAYCOM_EPP=m
+CONFIG_YAM=m
+CONFIG_CAN=m
+CONFIG_CAN_RAW=m
+CONFIG_CAN_BCM=m
+CONFIG_CAN_GW=m
+
+#
+# CAN Device Drivers
+#
+CONFIG_CAN_VCAN=m
+CONFIG_CAN_SLCAN=m
+CONFIG_CAN_DEV=m
+CONFIG_CAN_CALC_BITTIMING=y
+# CONFIG_CAN_LEDS is not set
+CONFIG_CAN_JANZ_ICAN3=m
+CONFIG_PCH_CAN=m
+CONFIG_CAN_SJA1000=m
+CONFIG_CAN_SJA1000_ISA=m
+CONFIG_CAN_SJA1000_PLATFORM=m
+CONFIG_CAN_EMS_PCMCIA=m
+CONFIG_CAN_EMS_PCI=m
+CONFIG_CAN_PEAK_PCMCIA=m
+CONFIG_CAN_PEAK_PCI=m
+CONFIG_CAN_PEAK_PCIEC=y
+CONFIG_CAN_KVASER_PCI=m
+CONFIG_CAN_PLX_PCI=m
+CONFIG_CAN_TSCAN1=m
+CONFIG_CAN_C_CAN=m
+CONFIG_CAN_C_CAN_PLATFORM=m
+CONFIG_CAN_C_CAN_PCI=m
+CONFIG_CAN_CC770=m
+CONFIG_CAN_CC770_ISA=m
+CONFIG_CAN_CC770_PLATFORM=m
+
+#
+# CAN USB interfaces
+#
+CONFIG_CAN_EMS_USB=m
+CONFIG_CAN_ESD_USB2=m
+CONFIG_CAN_KVASER_USB=m
+CONFIG_CAN_PEAK_USB=m
+CONFIG_CAN_8DEV_USB=m
+CONFIG_CAN_SOFTING=m
+CONFIG_CAN_SOFTING_CS=m
+# CONFIG_CAN_DEBUG_DEVICES is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_TOSHIBA_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_CMTP=m
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_3WIRE=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_BT_WILINK=m
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_RFKILL_REGULATOR=m
+CONFIG_RFKILL_GPIO=m
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+CONFIG_NET_9P_RDMA=m
+# CONFIG_NET_9P_DEBUG is not set
+# CONFIG_CAIF is not set
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+CONFIG_NFC=m
+CONFIG_NFC_NCI=m
+CONFIG_NFC_HCI=m
+# CONFIG_NFC_SHDLC is not set
+
+#
+# Near Field Communication (NFC) devices
+#
+CONFIG_NFC_PN533=m
+CONFIG_NFC_WILINK=m
+# CONFIG_NFC_MEI_PHY is not set
+CONFIG_NFC_PN544=m
+CONFIG_NFC_MICROREAD=m
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_GENERIC_CPU_DEVICES is not set
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=m
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_CMA is not set
+
+#
+# Bus devices
+#
+CONFIG_CONNECTOR=m
+CONFIG_MTD=m
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_REDBOOT_PARTS=m
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=m
+CONFIG_MTD_AR7_PARTS=m
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+CONFIG_SM_FTL=m
+CONFIG_MTD_OOPS=m
+CONFIG_MTD_SWAP=m
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+CONFIG_MTD_GEN_PROBE=m
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_MAP_BANK_WIDTH_8=y
+CONFIG_MTD_MAP_BANK_WIDTH_16=y
+CONFIG_MTD_MAP_BANK_WIDTH_32=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+CONFIG_MTD_CFI_I4=y
+CONFIG_MTD_CFI_I8=y
+CONFIG_MTD_OTP=y
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_CFI_UTIL=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=m
+# CONFIG_MTD_PHYSMAP_COMPAT is not set
+CONFIG_MTD_SC520CDP=m
+CONFIG_MTD_NETSC520=m
+CONFIG_MTD_TS5500=m
+CONFIG_MTD_SBC_GXX=m
+CONFIG_MTD_SCx200_DOCFLASH=m
+CONFIG_MTD_AMD76XROM=m
+CONFIG_MTD_ICHXROM=m
+CONFIG_MTD_ESB2ROM=m
+CONFIG_MTD_CK804XROM=m
+CONFIG_MTD_SCB2_FLASH=m
+CONFIG_MTD_NETtel=m
+CONFIG_MTD_L440GX=m
+CONFIG_MTD_PCI=m
+CONFIG_MTD_PCMCIA=m
+# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
+CONFIG_MTD_GPIO_ADDR=m
+CONFIG_MTD_INTEL_VR_NOR=m
+CONFIG_MTD_PLATRAM=m
+CONFIG_MTD_LATCH_ADDR=m
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_PMC551=m
+CONFIG_MTD_PMC551_BUGFIX=y
+# CONFIG_MTD_PMC551_DEBUG is not set
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+
+#
+# Disk-On-Chip Device Drivers
+#
+CONFIG_MTD_DOCG3=m
+CONFIG_BCH_CONST_M=14
+CONFIG_BCH_CONST_T=4
+CONFIG_MTD_NAND_ECC=m
+CONFIG_MTD_NAND_ECC_SMC=y
+CONFIG_MTD_NAND=m
+CONFIG_MTD_NAND_BCH=m
+CONFIG_MTD_NAND_ECC_BCH=y
+CONFIG_MTD_SM_COMMON=m
+CONFIG_MTD_NAND_DENALI=m
+CONFIG_MTD_NAND_DENALI_PCI=m
+CONFIG_MTD_NAND_DENALI_DT=m
+CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
+CONFIG_MTD_NAND_IDS=m
+CONFIG_MTD_NAND_RICOH=m
+CONFIG_MTD_NAND_DISKONCHIP=m
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
+CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y
+CONFIG_MTD_NAND_DOCG4=m
+CONFIG_MTD_NAND_CAFE=m
+CONFIG_MTD_NAND_CS553X=m
+CONFIG_MTD_NAND_NANDSIM=m
+CONFIG_MTD_NAND_PLATFORM=m
+CONFIG_MTD_ALAUDA=m
+CONFIG_MTD_ONENAND=m
+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+CONFIG_MTD_ONENAND_GENERIC=m
+CONFIG_MTD_ONENAND_OTP=y
+CONFIG_MTD_ONENAND_2X_PROGRAM=y
+
+#
+# LPDDR flash memory drivers
+#
+CONFIG_MTD_LPDDR=m
+CONFIG_MTD_QINFO_PROBE=m
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+CONFIG_PNP_DEBUG_MESSAGES=y
+
+#
+# Protocols
+#
+CONFIG_ISAPNP=y
+# CONFIG_PNPBIOS is not set
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=y
+CONFIG_PARIDE=m
+
+#
+# Parallel IDE high-level drivers
+#
+CONFIG_PARIDE_PD=m
+CONFIG_PARIDE_PCD=m
+CONFIG_PARIDE_PF=m
+CONFIG_PARIDE_PT=m
+CONFIG_PARIDE_PG=m
+
+#
+# Parallel IDE protocol modules
+#
+CONFIG_PARIDE_ATEN=m
+CONFIG_PARIDE_BPCK=m
+CONFIG_PARIDE_BPCK6=m
+CONFIG_PARIDE_COMM=m
+CONFIG_PARIDE_DSTR=m
+CONFIG_PARIDE_FIT2=m
+CONFIG_PARIDE_FIT3=m
+CONFIG_PARIDE_EPAT=m
+CONFIG_PARIDE_EPATC8=y
+CONFIG_PARIDE_EPIA=m
+CONFIG_PARIDE_FRIQ=m
+CONFIG_PARIDE_FRPW=m
+CONFIG_PARIDE_KBIC=m
+CONFIG_PARIDE_KTTI=m
+CONFIG_PARIDE_ON20=m
+CONFIG_PARIDE_ON26=m
+CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
+CONFIG_BLK_CPQ_DA=y
+CONFIG_BLK_CPQ_CISS_DA=y
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=y
+CONFIG_BLK_DEV_UMEM=m
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NVME=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_BLK_DEV_RBD=m
+CONFIG_BLK_DEV_RSXX=m
+
+#
+# Misc devices
+#
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_AD525X_DPOT=m
+CONFIG_AD525X_DPOT_I2C=m
+CONFIG_ATMEL_PWM=m
+CONFIG_DUMMY_IRQ=m
+CONFIG_IBM_ASM=m
+CONFIG_PHANTOM=m
+CONFIG_INTEL_MID_PTI=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+CONFIG_ATMEL_SSC=m
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+CONFIG_HP_ILO=m
+CONFIG_APDS9802ALS=m
+CONFIG_ISL29003=m
+CONFIG_ISL29020=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_SENSORS_BH1780=m
+CONFIG_SENSORS_BH1770=m
+CONFIG_SENSORS_APDS990X=m
+CONFIG_HMC6352=m
+CONFIG_DS1682=m
+CONFIG_VMWARE_BALLOON=m
+CONFIG_BMP085=y
+CONFIG_BMP085_I2C=m
+CONFIG_PCH_PHUB=m
+CONFIG_USB_SWITCH_FSA9480=m
+# CONFIG_SRAM is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+
+#
+# Texas Instruments shared transport line discipline
+#
+CONFIG_TI_ST=m
+CONFIG_SENSORS_LIS3_I2C=m
+
+#
+# Altera FPGA firmware download module
+#
+CONFIG_ALTERA_STAPL=m
+CONFIG_INTEL_MEI=m
+CONFIG_INTEL_MEI_ME=m
+CONFIG_VMWARE_VMCI=m
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+CONFIG_RAID_ATTRS=y
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=y
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_ST=y
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=y
+CONFIG_SCSI_FC_ATTRS=y
+CONFIG_SCSI_FC_TGT_ATTRS=y
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=y
+CONFIG_SCSI_SAS_LIBSAS=y
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_ISCSI_BOOT_SYSFS=y
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_CXGB4_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_SCSI_BNX2X_FCOE=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=y
+CONFIG_SCSI_HPSA=y
+CONFIG_SCSI_3W_9XXX=y
+CONFIG_SCSI_3W_SAS=y
+CONFIG_SCSI_7000FASST=y
+CONFIG_SCSI_ACARD=y
+CONFIG_SCSI_AHA152X=y
+CONFIG_SCSI_AHA1542=y
+CONFIG_SCSI_AACRAID=y
+CONFIG_SCSI_AIC7XXX=y
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_AIC7XXX_OLD=y
+CONFIG_SCSI_AIC79XX=y
+CONFIG_AIC79XX_CMDS_PER_DEVICE=4
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_AIC94XX=y
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=y
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+# CONFIG_SCSI_MVSAS_TASKLET is not set
+CONFIG_SCSI_MVUMI=m
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=y
+CONFIG_SCSI_IN2000=y
+CONFIG_SCSI_ARCMSR=y
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=y
+CONFIG_MEGARAID_MAILBOX=y
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=y
+CONFIG_SCSI_MPT2SAS=y
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT3SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT3SAS_LOGGING is not set
+CONFIG_SCSI_UFSHCD=m
+CONFIG_SCSI_UFSHCD_PCI=m
+CONFIG_SCSI_UFSHCD_PLATFORM=m
+CONFIG_SCSI_HPTIOP=y
+CONFIG_SCSI_BUSLOGIC=y
+CONFIG_SCSI_FLASHPOINT=y
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_LIBFC=y
+CONFIG_LIBFCOE=y
+CONFIG_FCOE=y
+CONFIG_FCOE_FNIC=y
+CONFIG_SCSI_DMX3191D=y
+CONFIG_SCSI_DTC3280=y
+CONFIG_SCSI_EATA=y
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=y
+CONFIG_SCSI_GDTH=y
+CONFIG_SCSI_ISCI=m
+CONFIG_SCSI_GENERIC_NCR5380=m
+CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
+CONFIG_SCSI_GENERIC_NCR53C400=y
+CONFIG_SCSI_IPS=y
+CONFIG_SCSI_INITIO=y
+CONFIG_SCSI_INIA100=y
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_NCR53C406A=m
+CONFIG_SCSI_STEX=y
+CONFIG_SCSI_SYM53C8XX_2=y
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=y
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_PAS16=m
+CONFIG_SCSI_QLOGIC_FAS=y
+CONFIG_SCSI_QLOGIC_1280=y
+CONFIG_SCSI_QLA_FC=y
+CONFIG_TCM_QLA2XXX=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=y
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_SYM53C416=y
+CONFIG_SCSI_DC395x=y
+CONFIG_SCSI_DC390T=y
+CONFIG_SCSI_T128=y
+CONFIG_SCSI_U14_34F=m
+# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
+# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
+CONFIG_SCSI_U14_34F_MAX_TAGS=8
+CONFIG_SCSI_ULTRASTOR=y
+CONFIG_SCSI_NSP32=m
+CONFIG_SCSI_DEBUG=m
+CONFIG_SCSI_PMCRAID=y
+CONFIG_SCSI_PM8001=y
+CONFIG_SCSI_SRP=y
+CONFIG_SCSI_BFA_FC=y
+CONFIG_SCSI_VIRTIO=m
+CONFIG_SCSI_CHELSIO_FCOE=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_NINJA_SCSI=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=1
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+# CONFIG_SATA_ZPODD is not set
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_SATA_INIC162X=y
+CONFIG_SATA_ACARD_AHCI=y
+CONFIG_SATA_SIL24=y
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+CONFIG_PDC_ADMA=y
+CONFIG_SATA_QSTOR=y
+CONFIG_SATA_SX4=y
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+CONFIG_ATA_PIIX=y
+CONFIG_SATA_HIGHBANK=m
+CONFIG_SATA_MV=y
+CONFIG_SATA_NV=y
+CONFIG_SATA_PROMISE=y
+CONFIG_SATA_SIL=y
+CONFIG_SATA_SIS=y
+CONFIG_SATA_SVW=y
+CONFIG_SATA_ULI=y
+CONFIG_SATA_VIA=y
+CONFIG_SATA_VITESSE=y
+
+#
+# PATA SFF controllers with BMDMA
+#
+CONFIG_PATA_ALI=y
+CONFIG_PATA_AMD=y
+CONFIG_PATA_ARASAN_CF=m
+CONFIG_PATA_ARTOP=y
+CONFIG_PATA_ATIIXP=y
+CONFIG_PATA_ATP867X=y
+CONFIG_PATA_CMD64X=y
+CONFIG_PATA_CS5520=y
+CONFIG_PATA_CS5530=y
+CONFIG_PATA_CS5535=y
+CONFIG_PATA_CS5536=y
+CONFIG_PATA_CYPRESS=y
+CONFIG_PATA_EFAR=y
+CONFIG_PATA_HPT366=y
+CONFIG_PATA_HPT37X=y
+CONFIG_PATA_HPT3X2N=y
+CONFIG_PATA_HPT3X3=y
+CONFIG_PATA_HPT3X3_DMA=y
+CONFIG_PATA_IT8213=y
+CONFIG_PATA_IT821X=y
+CONFIG_PATA_JMICRON=y
+CONFIG_PATA_MARVELL=y
+CONFIG_PATA_NETCELL=y
+CONFIG_PATA_NINJA32=y
+CONFIG_PATA_NS87415=y
+CONFIG_PATA_OLDPIIX=y
+CONFIG_PATA_OPTIDMA=y
+CONFIG_PATA_PDC2027X=y
+CONFIG_PATA_PDC_OLD=y
+CONFIG_PATA_RADISYS=y
+CONFIG_PATA_RDC=y
+CONFIG_PATA_SC1200=y
+CONFIG_PATA_SCH=y
+CONFIG_PATA_SERVERWORKS=y
+CONFIG_PATA_SIL680=y
+CONFIG_PATA_SIS=y
+CONFIG_PATA_TOSHIBA=m
+CONFIG_PATA_TRIFLEX=y
+CONFIG_PATA_VIA=y
+CONFIG_PATA_WINBOND=y
+
+#
+# PIO-only SFF controllers
+#
+CONFIG_PATA_CMD640_PCI=y
+CONFIG_PATA_ISAPNP=y
+CONFIG_PATA_MPIIX=y
+CONFIG_PATA_NS87410=y
+CONFIG_PATA_OPTI=y
+CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_QDI=y
+CONFIG_PATA_RZ1000=y
+CONFIG_PATA_WINBOND_VLB=y
+
+#
+# Generic fallback / legacy drivers
+#
+CONFIG_PATA_ACPI=y
+CONFIG_ATA_GENERIC=y
+CONFIG_PATA_LEGACY=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=y
+CONFIG_MD_AUTODETECT=y
+CONFIG_MD_LINEAR=y
+CONFIG_MD_RAID0=y
+CONFIG_MD_RAID1=y
+CONFIG_MD_RAID10=y
+CONFIG_MD_RAID456=y
+CONFIG_MD_MULTIPATH=y
+CONFIG_MD_FAULTY=m
+CONFIG_BCACHE=m
+# CONFIG_BCACHE_DEBUG is not set
+# CONFIG_BCACHE_EDEBUG is not set
+# CONFIG_BCACHE_CLOSURES_DEBUG is not set
+CONFIG_BLK_DEV_DM=y
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_BUFIO=m
+CONFIG_DM_BIO_PRISON=m
+CONFIG_DM_PERSISTENT_DATA=m
+CONFIG_DM_CRYPT=y
+CONFIG_DM_SNAPSHOT=y
+CONFIG_DM_THIN_PROVISIONING=m
+# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
+CONFIG_DM_CACHE=m
+CONFIG_DM_CACHE_MQ=m
+CONFIG_DM_CACHE_CLEANER=m
+CONFIG_DM_MIRROR=y
+CONFIG_DM_RAID=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+# CONFIG_DM_DELAY is not set
+CONFIG_DM_UEVENT=y
+CONFIG_DM_FLAKEY=m
+CONFIG_DM_VERITY=m
+CONFIG_TARGET_CORE=m
+CONFIG_TCM_IBLOCK=m
+CONFIG_TCM_FILEIO=m
+CONFIG_TCM_PSCSI=m
+CONFIG_LOOPBACK_TARGET=m
+CONFIG_TCM_FC=m
+CONFIG_ISCSI_TARGET=m
+CONFIG_SBP_TARGET=m
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=y
+CONFIG_FUSION_FC=y
+CONFIG_FUSION_SAS=y
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=y
+CONFIG_FUSION_LAN=y
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+CONFIG_FIREWIRE_NOSY=m
+CONFIG_I2O=y
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_CONFIG=y
+# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
+CONFIG_I2O_BUS=y
+CONFIG_I2O_BLOCK=y
+CONFIG_I2O_SCSI=y
+CONFIG_I2O_PROC=y
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_EQUALIZER=m
+CONFIG_NET_FC=y
+CONFIG_MII=m
+CONFIG_IFB=m
+CONFIG_NET_TEAM=m
+CONFIG_NET_TEAM_MODE_BROADCAST=m
+CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
+CONFIG_NET_TEAM_MODE_RANDOM=m
+CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
+CONFIG_NET_TEAM_MODE_LOADBALANCE=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_VXLAN=m
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=m
+CONFIG_SUNGEM_PHY=m
+CONFIG_ARCNET=m
+CONFIG_ARCNET_1201=m
+CONFIG_ARCNET_1051=m
+CONFIG_ARCNET_RAW=m
+CONFIG_ARCNET_CAP=m
+CONFIG_ARCNET_COM90xx=m
+CONFIG_ARCNET_COM90xxIO=m
+CONFIG_ARCNET_RIM_I=m
+CONFIG_ARCNET_COM20020=m
+CONFIG_ARCNET_COM20020_ISA=m
+CONFIG_ARCNET_COM20020_PCI=m
+CONFIG_ARCNET_COM20020_CS=m
+CONFIG_ATM_DRIVERS=y
+CONFIG_ATM_DUMMY=m
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E=m
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+
+#
+# CAIF transport drivers
+#
+CONFIG_VHOST_NET=m
+CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_RING=m
+
+#
+# Distributed Switch Architecture drivers
+#
+CONFIG_NET_DSA_MV88E6XXX=m
+CONFIG_NET_DSA_MV88E6060=m
+CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
+CONFIG_NET_DSA_MV88E6131=m
+CONFIG_NET_DSA_MV88E6123_61_65=m
+CONFIG_ETHERNET=y
+CONFIG_MDIO=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_EL3=m
+CONFIG_3C515=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_3C589=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_NET_VENDOR_ADAPTEC=y
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_NET_VENDOR_ALTEON=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_NET_VENDOR_AMD=y
+CONFIG_AMD8111_ETH=m
+CONFIG_LANCE=m
+CONFIG_PCNET32=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_NI65=m
+CONFIG_NET_VENDOR_ATHEROS=y
+CONFIG_ATL2=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_ALX=m
+CONFIG_NET_CADENCE=y
+CONFIG_ARM_AT91_ETHER=m
+CONFIG_MACB=m
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_TIGON3=m
+CONFIG_BNX2X=m
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_BNA=m
+CONFIG_NET_CALXEDA_XGMAC=m
+CONFIG_NET_VENDOR_CHELSIO=y
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4=m
+CONFIG_CHELSIO_T4VF=m
+CONFIG_NET_VENDOR_CIRRUS=y
+CONFIG_CS89x0=m
+# CONFIG_CS89x0_PLATFORM is not set
+CONFIG_NET_VENDOR_CISCO=y
+CONFIG_ENIC=m
+CONFIG_DNET=m
+CONFIG_NET_VENDOR_DEC=y
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+CONFIG_TULIP_MMIO=y
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_NET_VENDOR_DLINK=y
+CONFIG_DL2K=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_NET_VENDOR_EMULEX=y
+CONFIG_BE2NET=m
+CONFIG_NET_VENDOR_EXAR=y
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_NET_VENDOR_FUJITSU=y
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_NET_VENDOR_HP=y
+CONFIG_HP100=m
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_E100=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IGB=m
+CONFIG_IGB_HWMON=y
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_IXGB=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_HWMON=y
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_IP1000=m
+CONFIG_JME=m
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_MVMDIO=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKGE_GENESIS=y
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_NET_VENDOR_MICREL=y
+CONFIG_KS8842=m
+CONFIG_KS8851_MLL=m
+CONFIG_KSZ884X_PCI=m
+CONFIG_NET_VENDOR_MYRI=y
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_FEALNX=m
+CONFIG_NET_VENDOR_NATSEMI=y
+CONFIG_NATSEMI=m
+CONFIG_NS83820=m
+CONFIG_NET_VENDOR_8390=y
+CONFIG_PCMCIA_AXNET=m
+CONFIG_NE2000=m
+CONFIG_NE2K_PCI=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_ULTRA=m
+CONFIG_WD80x3=m
+CONFIG_NET_VENDOR_NVIDIA=y
+CONFIG_FORCEDETH=m
+CONFIG_NET_VENDOR_OKI=y
+CONFIG_PCH_GBE=m
+CONFIG_ETHOC=m
+CONFIG_NET_PACKET_ENGINE=y
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_NET_VENDOR_QLOGIC=y
+CONFIG_QLA3XXX=m
+CONFIG_QLCNIC=m
+CONFIG_QLGE=m
+CONFIG_NETXEN_NIC=m
+CONFIG_NET_VENDOR_REALTEK=y
+CONFIG_ATP=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+CONFIG_8139TOO_PIO=y
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R8169=m
+CONFIG_NET_VENDOR_RDC=y
+CONFIG_R6040=m
+CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SILAN=y
+CONFIG_SC92031=m
+CONFIG_NET_VENDOR_SIS=y
+CONFIG_SIS900=m
+CONFIG_SIS190=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_SFC_MCDI_MON=y
+CONFIG_NET_VENDOR_SMSC=y
+CONFIG_SMC9194=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
+CONFIG_NET_VENDOR_STMICRO=y
+CONFIG_STMMAC_ETH=m
+CONFIG_STMMAC_PLATFORM=y
+# CONFIG_STMMAC_PCI is not set
+CONFIG_STMMAC_DEBUG_FS=y
+# CONFIG_STMMAC_DA is not set
+CONFIG_NET_VENDOR_SUN=y
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NIU=m
+CONFIG_NET_VENDOR_TEHUTI=y
+CONFIG_TEHUTI=m
+CONFIG_NET_VENDOR_TI=y
+CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VIA=y
+CONFIG_VIA_RHINE=m
+CONFIG_VIA_RHINE_MMIO=y
+CONFIG_VIA_VELOCITY=m
+CONFIG_NET_VENDOR_WIZNET=y
+CONFIG_WIZNET_W5100=m
+CONFIG_WIZNET_W5300=m
+# CONFIG_WIZNET_BUS_DIRECT is not set
+# CONFIG_WIZNET_BUS_INDIRECT is not set
+CONFIG_WIZNET_BUS_ANY=y
+CONFIG_NET_VENDOR_XIRCOM=y
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_FDDI=y
+CONFIG_DEFXX=m
+# CONFIG_DEFXX_MMIO is not set
+CONFIG_SKFP=m
+CONFIG_HIPPI=y
+CONFIG_ROADRUNNER=m
+# CONFIG_ROADRUNNER_LARGE_RINGS is not set
+CONFIG_NET_SB1000=m
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_AT803X_PHY=m
+CONFIG_AMD_PHY=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_BCM87XX_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+CONFIG_MDIO_BITBANG=m
+CONFIG_MDIO_GPIO=m
+CONFIG_PLIP=m
+CONFIG_PPP=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOATM=m
+CONFIG_PPPOE=m
+CONFIG_PPTP=m
+CONFIG_PPPOL2TP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_SLIP=m
+CONFIG_SLHC=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLIP_SMART=y
+# CONFIG_SLIP_MODE_SLIP6 is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_CDC_MBIM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_NET_CX82310_ETH=m
+CONFIG_USB_NET_KALMIA=m
+CONFIG_USB_NET_QMI_WWAN=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_USB_VL600=m
+CONFIG_WLAN=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_LIBERTAS_THINFIRM=m
+# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+CONFIG_ATH_CARDS=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+# CONFIG_ATH5K_TRACER is not set
+CONFIG_ATH5K_PCI=y
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
+CONFIG_ATH9K=m
+CONFIG_ATH9K_PCI=y
+# CONFIG_ATH9K_AHB is not set
+# CONFIG_ATH9K_DEBUGFS is not set
+# CONFIG_ATH9K_LEGACY_RATE_CONTROL is not set
+CONFIG_ATH9K_HTC=m
+# CONFIG_ATH9K_HTC_DEBUGFS is not set
+CONFIG_CARL9170=m
+CONFIG_CARL9170_LEDS=y
+CONFIG_CARL9170_WPC=y
+# CONFIG_CARL9170_HWRNG is not set
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_ATH6KL_USB=m
+# CONFIG_ATH6KL_DEBUG is not set
+# CONFIG_ATH6KL_TRACING is not set
+CONFIG_AR5523=m
+CONFIG_WIL6210=m
+CONFIG_WIL6210_ISR_COR=y
+CONFIG_B43=m
+CONFIG_B43_BCMA=y
+# CONFIG_B43_BCMA_EXTRA is not set
+CONFIG_B43_SSB=y
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_BCMA_PIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_N=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_PHY_HT=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_BRCMUTIL=m
+CONFIG_BRCMSMAC=m
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_SDIO=y
+CONFIG_BRCMFMAC_USB=y
+CONFIG_BRCM_TRACING=y
+# CONFIG_BRCMDBG is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+CONFIG_IWLDVM=m
+CONFIG_IWLMVM=m
+CONFIG_IWLWIFI_OPMODE_MODULAR=y
+
+#
+# Debugging Options
+#
+# CONFIG_IWLWIFI_DEBUG is not set
+# CONFIG_IWLWIFI_DEVICE_TRACING is not set
+# CONFIG_IWLWIFI_P2P is not set
+CONFIG_IWLEGACY=m
+CONFIG_IWL4965=m
+CONFIG_IWL3945=m
+
+#
+# iwl3945 / iwl4965 Debugging Options
+#
+# CONFIG_IWLEGACY_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+# CONFIG_HERMES_PRISM is not set
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_ORINOCO_USB=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT33XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2800PCI_RT53XX=y
+CONFIG_RT2800PCI_RT3290=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT33XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_RT53XX=y
+CONFIG_RT2800USB_RT55XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_MMIO=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_RTLWIFI=m
+# CONFIG_RTLWIFI_DEBUG is not set
+CONFIG_RTL8192CE=m
+CONFIG_RTL8192SE=m
+CONFIG_RTL8192DE=m
+CONFIG_RTL8723AE=m
+CONFIG_RTL8188EE=m
+CONFIG_RTL8192CU=m
+CONFIG_RTL8192C_COMMON=m
+CONFIG_WL_TI=y
+CONFIG_WL1251=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL12XX=m
+CONFIG_WL18XX=m
+CONFIG_WLCORE=m
+CONFIG_WLCORE_SDIO=m
+CONFIG_WILINK_PLATFORM_DATA=y
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_MWIFIEX_USB=m
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+CONFIG_WAN=y
+CONFIG_HOSTESS_SV11=m
+CONFIG_COSA=m
+CONFIG_LANMEDIA=m
+CONFIG_SEALEVEL_4021=m
+CONFIG_HDLC=m
+CONFIG_HDLC_RAW=m
+CONFIG_HDLC_RAW_ETH=m
+CONFIG_HDLC_CISCO=m
+CONFIG_HDLC_FR=m
+CONFIG_HDLC_PPP=m
+
+#
+# X.25/LAPB support is disabled
+#
+CONFIG_PCI200SYN=m
+CONFIG_WANXL=m
+# CONFIG_PC300TOO is not set
+CONFIG_N2=m
+CONFIG_C101=m
+CONFIG_FARSYNC=m
+CONFIG_DSCC4=m
+# CONFIG_DSCC4_PCISYNC is not set
+# CONFIG_DSCC4_PCI_RST is not set
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+CONFIG_SDLA=m
+CONFIG_SBNI=m
+# CONFIG_SBNI_MULTILINE is not set
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+CONFIG_IEEE802154_FAKELB=m
+CONFIG_VMXNET3=m
+CONFIG_HYPERV_NET=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+# CONFIG_ISDN_DRV_LOOP is not set
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+CONFIG_HISAX_NO_SENDCOMPLETE=y
+CONFIG_HISAX_NO_LLC=y
+CONFIG_HISAX_NO_KEYPAD=y
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_0=y
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_AVM_A1=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_IX1MICROR2=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_ASUSCOM=y
+CONFIG_HISAX_TELEINT=y
+CONFIG_HISAX_HFCS=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_SPORTSTER=y
+CONFIG_HISAX_MIC=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_ISURF=y
+CONFIG_HISAX_HSTSAPHIR=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_ISDN_DRV_ICN=m
+CONFIG_ISDN_DRV_PCBIT=m
+CONFIG_ISDN_DRV_SC=m
+CONFIG_ISDN_DRV_ACT2000=m
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_T1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+# CONFIG_GIGASET_CAPI is not set
+CONFIG_GIGASET_I4L=y
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+# CONFIG_GIGASET_M101 is not set
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=y
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+CONFIG_INPUT_MATRIXKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ADP5589=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_QT1070=m
+CONFIG_KEYBOARD_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_GPIO_POLLED=m
+CONFIG_KEYBOARD_TCA6416=m
+CONFIG_KEYBOARD_TCA8418=m
+CONFIG_KEYBOARD_MATRIX=m
+CONFIG_KEYBOARD_LM8323=m
+CONFIG_KEYBOARD_LM8333=m
+CONFIG_KEYBOARD_MAX7359=m
+CONFIG_KEYBOARD_MCS=m
+CONFIG_KEYBOARD_MPR121=m
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OPENCORES=m
+CONFIG_KEYBOARD_SAMSUNG=m
+CONFIG_KEYBOARD_STOWAWAY=m
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_CROS_EC=m
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+CONFIG_MOUSE_PS2_TOUCHKIT=y
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_CYAPA=m
+CONFIG_MOUSE_INPORT=m
+CONFIG_MOUSE_ATIXL=y
+CONFIG_MOUSE_LOGIBM=m
+CONFIG_MOUSE_PC110PAD=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_MOUSE_SYNAPTICS_USB=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_AS5011=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_HANWANG=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
+CONFIG_TOUCHSCREEN_BU21013=m
+CONFIG_TOUCHSCREEN_CY8CTMG110=m
+CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
+CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_HAMPSHIRE=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_ILI210X=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_WACOM_I2C=m
+CONFIG_TOUCHSCREEN_MAX11801=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MMS114=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_HTCPEN=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+CONFIG_TOUCHSCREEN_WM9705=y
+CONFIG_TOUCHSCREEN_WM9712=y
+CONFIG_TOUCHSCREEN_WM9713=y
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+CONFIG_TOUCHSCREEN_MC13783=m
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+CONFIG_TOUCHSCREEN_USB_ELO=y
+CONFIG_TOUCHSCREEN_USB_E2I=y
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC_SERIO=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+CONFIG_TOUCHSCREEN_W90X900=m
+CONFIG_TOUCHSCREEN_ST1232=m
+CONFIG_TOUCHSCREEN_TPS6507X=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_AD714X=m
+CONFIG_INPUT_AD714X_I2C=m
+CONFIG_INPUT_BMA150=m
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_MC13783_PWRBUTTON=m
+CONFIG_INPUT_MMA8450=m
+CONFIG_INPUT_MPU3050=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_GP2A=m
+CONFIG_INPUT_GPIO_TILT_POLLED=m
+CONFIG_INPUT_WISTRON_BTNS=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_KXTJ9=m
+CONFIG_INPUT_KXTJ9_POLLED_MODE=y
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_PCF8574=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+CONFIG_INPUT_ADXL34X=m
+CONFIG_INPUT_ADXL34X_I2C=m
+CONFIG_INPUT_IMS_PCU=m
+CONFIG_INPUT_CMA3000=m
+CONFIG_INPUT_CMA3000_I2C=m
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
+CONFIG_SERIO_PS2MULT=m
+CONFIG_SERIO_ARC_PS2=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=32
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+CONFIG_MOXA_INTELLIO=m
+CONFIG_MOXA_SMARTIO=m
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+CONFIG_SYNCLINK_GT=m
+CONFIG_NOZOMI=m
+CONFIG_ISI=m
+CONFIG_N_HDLC=m
+CONFIG_N_GSM=m
+CONFIG_TRACE_ROUTER=m
+CONFIG_TRACE_SINK=m
+CONFIG_DEVKMEM=y
+CONFIG_STALDRV=y
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_FOURPORT=m
+CONFIG_SERIAL_8250_ACCENT=m
+CONFIG_SERIAL_8250_BOCA=m
+CONFIG_SERIAL_8250_EXAR_ST16C554=m
+CONFIG_SERIAL_8250_HUB6=m
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_8250_DW=m
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_MFD_HSU=m
+CONFIG_SERIAL_UARTLITE=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_SCCNXP=m
+CONFIG_SERIAL_TIMBERDALE=m
+CONFIG_SERIAL_ALTERA_JTAGUART=m
+CONFIG_SERIAL_ALTERA_UART=m
+CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
+CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
+CONFIG_SERIAL_PCH_UART=m
+CONFIG_SERIAL_ARC=m
+CONFIG_SERIAL_ARC_NR_PORTS=1
+CONFIG_SERIAL_RP2=m
+CONFIG_SERIAL_RP2_NR_UARTS=32
+CONFIG_PRINTER=m
+CONFIG_LP_CONSOLE=y
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_VIRTIO_CONSOLE=m
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_ATMEL=m
+CONFIG_HW_RANDOM_GEODE=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_EXYNOS=m
+CONFIG_HW_RANDOM_TPM=m
+CONFIG_NVRAM=m
+CONFIG_DTLK=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+CONFIG_SONYPI=m
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+CONFIG_MWAVE=m
+CONFIG_SCx200_GPIO=m
+CONFIG_PC8736x_GPIO=m
+CONFIG_NSC_GPIO=m
+CONFIG_RAW_DRIVER=m
+CONFIG_MAX_RAW_DEVS=256
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_TIS_I2C_INFINEON=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TCG_ST33_I2C=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_MUX=m
+
+#
+# Multiplexer I2C Chip support
+#
+CONFIG_I2C_MUX_GPIO=m
+CONFIG_I2C_MUX_PCA9541=m
+CONFIG_I2C_MUX_PCA954x=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_ISMT=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_PLATFORM=m
+CONFIG_I2C_DESIGNWARE_PCI=m
+CONFIG_I2C_EG20T=m
+CONFIG_I2C_GPIO=m
+CONFIG_I2C_INTEL_MID=m
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_DIOLAN_U2C=m
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+CONFIG_I2C_VIPERBOARD=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_ELEKTOR is not set
+CONFIG_I2C_PCA_ISA=m
+CONFIG_SCx200_I2C=m
+CONFIG_SCx200_I2C_SCL=12
+CONFIG_SCx200_I2C_SDA=13
+CONFIG_SCx200_ACB=m
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_SPI is not set
+
+#
+# Qualcomm MSM SSBI bus support
+#
+# CONFIG_SSBI is not set
+CONFIG_HSI=m
+CONFIG_HSI_BOARDINFO=y
+
+#
+# HSI clients
+#
+CONFIG_HSI_CHAR=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+# CONFIG_NTP_PPS is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_PPS_CLIENT_PARPORT=m
+CONFIG_PPS_CLIENT_GPIO=m
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=m
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+CONFIG_PTP_1588_CLOCK_PCH=m
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_GPIO_DEVRES=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_ACPI=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_GENERIC=m
+CONFIG_GPIO_MAX730X=m
+
+#
+# Memory mapped GPIO drivers:
+#
+CONFIG_GPIO_GENERIC_PLATFORM=m
+CONFIG_GPIO_IT8761E=m
+CONFIG_GPIO_TS5500=m
+CONFIG_GPIO_SCH=m
+CONFIG_GPIO_ICH=m
+CONFIG_GPIO_VX855=m
+CONFIG_GPIO_LYNXPOINT=y
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_ARIZONA=m
+CONFIG_GPIO_MAX7300=m
+CONFIG_GPIO_MAX732X=m
+CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCF857X=m
+CONFIG_GPIO_ADP5588=m
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_AMD8111=m
+# CONFIG_GPIO_LANGWELL is not set
+CONFIG_GPIO_PCH=m
+CONFIG_GPIO_ML_IOH=m
+# CONFIG_GPIO_TIMBERDALE is not set
+CONFIG_GPIO_RDC321X=m
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MCP23S08=m
+
+#
+# AC97 GPIO expanders:
+#
+# CONFIG_GPIO_UCB1400 is not set
+
+#
+# MODULbus GPIO expanders:
+#
+CONFIG_GPIO_JANZ_TTL=m
+
+#
+# USB GPIO expanders:
+#
+CONFIG_GPIO_VIPERBOARD=m
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_DS1WM=m
+CONFIG_W1_MASTER_GPIO=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2408=m
+# CONFIG_W1_SLAVE_DS2408_READBACK is not set
+CONFIG_W1_SLAVE_DS2413=m
+CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2431=m
+CONFIG_W1_SLAVE_DS2433=m
+CONFIG_W1_SLAVE_DS2433_CRC=y
+CONFIG_W1_SLAVE_DS2760=m
+CONFIG_W1_SLAVE_DS2780=m
+CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS28E04=m
+CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_GENERIC_ADC_BATTERY=m
+CONFIG_TEST_POWER=m
+CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2780=m
+CONFIG_BATTERY_DS2781=m
+CONFIG_BATTERY_DS2782=m
+CONFIG_BATTERY_SBS=m
+CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_BQ27X00_I2C=y
+CONFIG_BATTERY_BQ27X00_PLATFORM=y
+CONFIG_BATTERY_MAX17040=m
+CONFIG_BATTERY_MAX17042=m
+CONFIG_CHARGER_PCF50633=m
+CONFIG_CHARGER_ISP1704=m
+CONFIG_CHARGER_MAX8903=m
+CONFIG_CHARGER_LP8727=m
+CONFIG_CHARGER_GPIO=m
+# CONFIG_CHARGER_MANAGER is not set
+CONFIG_CHARGER_BQ2415X=m
+CONFIG_CHARGER_SMB347=m
+CONFIG_BATTERY_GOLDFISH=m
+CONFIG_POWER_RESET=y
+CONFIG_POWER_AVS=y
+CONFIG_HWMON=m
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7X10=m
+CONFIG_SENSORS_ADT7410=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_FAM15H_POWER=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS620=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_GPIO_FAN=m
+CONFIG_SENSORS_HIH6130=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IIO_HWMON=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_JC42=m
+CONFIG_SENSORS_LINEAGE=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4151=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LTC4261=m
+CONFIG_SENSORS_LM95234=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_LM95245=m
+CONFIG_SENSORS_MAX16065=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX1668=m
+CONFIG_SENSORS_MAX197=m
+CONFIG_SENSORS_MAX6639=m
+CONFIG_SENSORS_MAX6642=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_MAX6697=m
+CONFIG_SENSORS_MCP3021=m
+CONFIG_SENSORS_NCT6775=m
+CONFIG_SENSORS_NTC_THERMISTOR=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_PMBUS=m
+CONFIG_SENSORS_PMBUS=m
+CONFIG_SENSORS_ADM1275=m
+CONFIG_SENSORS_LM25066=m
+CONFIG_SENSORS_LTC2978=m
+CONFIG_SENSORS_MAX16064=m
+CONFIG_SENSORS_MAX34440=m
+CONFIG_SENSORS_MAX8688=m
+CONFIG_SENSORS_UCD9000=m
+CONFIG_SENSORS_UCD9200=m
+CONFIG_SENSORS_ZL6100=m
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SHT21=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_SMM665=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_EMC1403=m
+CONFIG_SENSORS_EMC2103=m
+CONFIG_SENSORS_EMC6W201=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_SCH56XX_COMMON=m
+CONFIG_SENSORS_SCH5627=m
+CONFIG_SENSORS_SCH5636=m
+CONFIG_SENSORS_ADS1015=m
+CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_INA209=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP102=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83795=m
+# CONFIG_SENSORS_W83795_FANCTRL is not set
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_APPLESMC=m
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ACPI_POWER=m
+CONFIG_SENSORS_ATK0110=m
+CONFIG_THERMAL=m
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+CONFIG_THERMAL_GOV_FAIR_SHARE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+CONFIG_THERMAL_GOV_USER_SPACE=y
+CONFIG_CPU_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+CONFIG_INTEL_POWERCLAMP=m
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_RETU_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_F71808E_WDT=m
+CONFIG_SP5100_TCO=m
+CONFIG_GEODE_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_IE6XX_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_HPWDT_NMI_DECODING=y
+CONFIG_SC1200_WDT=m
+CONFIG_SCx200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_NV_TCO=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_SBC7240_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_VIA_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+
+#
+# ISA-based Watchdog Cards
+#
+CONFIG_PCWATCHDOG=m
+CONFIG_MIXCOMWD=m
+CONFIG_WDT=m
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+# CONFIG_SSB_DRIVER_GPIO is not set
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+CONFIG_BCMA=m
+CONFIG_BCMA_BLOCKIO=y
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
+CONFIG_BCMA_HOST_PCI=y
+# CONFIG_BCMA_DRIVER_GMAC_CMN is not set
+# CONFIG_BCMA_DRIVER_GPIO is not set
+# CONFIG_BCMA_DEBUG is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+CONFIG_MFD_CS5535=m
+CONFIG_MFD_CROS_EC=m
+CONFIG_MFD_CROS_EC_I2C=m
+CONFIG_MFD_MC13783=m
+CONFIG_MFD_MC13XXX=m
+CONFIG_MFD_MC13XXX_I2C=m
+CONFIG_HTC_PASIC3=m
+CONFIG_LPC_ICH=m
+CONFIG_LPC_SCH=m
+CONFIG_MFD_JANZ_CMODIO=m
+CONFIG_MFD_VIPERBOARD=m
+CONFIG_MFD_RETU=m
+CONFIG_MFD_PCF50633=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_UCB1400_CORE=m
+CONFIG_MFD_RDC321X=m
+CONFIG_MFD_RTSX_PCI=m
+CONFIG_MFD_SI476X_CORE=m
+CONFIG_MFD_SM501=m
+# CONFIG_MFD_SM501_GPIO is not set
+# CONFIG_ABX500_CORE is not set
+CONFIG_MFD_SYSCON=y
+CONFIG_MFD_TI_AM335X_TSCADC=m
+CONFIG_TPS6105X=m
+CONFIG_TPS65010=m
+CONFIG_TPS6507X=m
+CONFIG_MFD_TPS65217=m
+# CONFIG_MFD_TPS65912 is not set
+CONFIG_MFD_WL1273_CORE=m
+CONFIG_MFD_LM3533=m
+CONFIG_MFD_TIMBERDALE=m
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_VX855=m
+CONFIG_MFD_ARIZONA=y
+CONFIG_MFD_ARIZONA_I2C=m
+CONFIG_MFD_WM5102=y
+CONFIG_MFD_WM5110=y
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_DUMMY is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=m
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+CONFIG_REGULATOR_USERSPACE_CONSUMER=m
+CONFIG_REGULATOR_GPIO=m
+CONFIG_REGULATOR_AD5398=m
+CONFIG_REGULATOR_FAN53555=m
+CONFIG_REGULATOR_ANATOP=m
+CONFIG_REGULATOR_MC13XXX_CORE=m
+CONFIG_REGULATOR_MC13783=m
+CONFIG_REGULATOR_MC13892=m
+CONFIG_REGULATOR_ISL6271A=m
+CONFIG_REGULATOR_MAX1586=m
+CONFIG_REGULATOR_MAX8649=m
+CONFIG_REGULATOR_MAX8660=m
+CONFIG_REGULATOR_MAX8952=m
+CONFIG_REGULATOR_MAX8973=m
+CONFIG_REGULATOR_LP3971=m
+CONFIG_REGULATOR_LP3972=m
+CONFIG_REGULATOR_LP8755=m
+CONFIG_REGULATOR_PCF50633=m
+CONFIG_REGULATOR_TPS51632=m
+CONFIG_REGULATOR_TPS6105X=m
+CONFIG_REGULATOR_TPS62360=m
+CONFIG_REGULATOR_TPS65023=m
+CONFIG_REGULATOR_TPS6507X=m
+CONFIG_REGULATOR_TPS65217=m
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+# CONFIG_MEDIA_CONTROLLER is not set
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2=m
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_V4L2_MEM2MEM_DEV=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DMA_CONTIG=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_VIDEOBUF2_DMA_SG=m
+CONFIG_VIDEO_V4L2_INT_DEVICE=m
+CONFIG_DVB_CORE=m
+CONFIG_DVB_NET=y
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+
+#
+# Media drivers
+#
+CONFIG_RC_CORE=m
+CONFIG_RC_MAP=m
+CONFIG_RC_DECODERS=y
+CONFIG_LIRC=m
+CONFIG_IR_LIRC_CODEC=m
+CONFIG_IR_NEC_DECODER=m
+CONFIG_IR_RC5_DECODER=m
+CONFIG_IR_RC6_DECODER=m
+CONFIG_IR_JVC_DECODER=m
+CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_RC5_SZ_DECODER=m
+CONFIG_IR_SANYO_DECODER=m
+CONFIG_IR_MCE_KBD_DECODER=m
+CONFIG_RC_DEVICES=y
+CONFIG_RC_ATI_REMOTE=m
+CONFIG_IR_ENE=m
+CONFIG_IR_IMON=m
+CONFIG_IR_MCEUSB=m
+CONFIG_IR_ITE_CIR=m
+CONFIG_IR_FINTEK=m
+CONFIG_IR_NUVOTON=m
+CONFIG_IR_REDRAT3=m
+CONFIG_IR_STREAMZAP=m
+CONFIG_IR_WINBOND_CIR=m
+CONFIG_IR_IGUANA=m
+CONFIG_IR_TTUSBIR=m
+CONFIG_RC_LOOPBACK=m
+CONFIG_IR_GPIO_CIR=m
+CONFIG_MEDIA_USB_SUPPORT=y
+
+#
+# Webcam devices
+#
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_JL2005BCD=m
+CONFIG_USB_GSPCA_KINECT=m
+CONFIG_USB_GSPCA_KONICA=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_NW80X=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SE401=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SPCA1528=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_SQ930X=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TOPRO=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_VICAM=m
+CONFIG_USB_GSPCA_XIRLINK_CIT=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_VIDEO_CPIA2=m
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_USB_SN9C102=m
+
+#
+# Analog TV USB devices
+#
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_STK1160=m
+CONFIG_VIDEO_STK1160_AC97=y
+
+#
+# Analog/digital TV USB devices
+#
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_AU0828_V4L2=y
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_RC=y
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_TM6000=m
+CONFIG_VIDEO_TM6000_ALSA=m
+CONFIG_VIDEO_TM6000_DVB=m
+
+#
+# Digital TV USB devices
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_PCTV452E=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_USB_TECHNISAT_USB2=m
+CONFIG_DVB_USB_V2=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_AF9035=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_AZ6007=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_IT913X=m
+CONFIG_DVB_USB_LME2510=m
+CONFIG_DVB_USB_MXL111SF=m
+CONFIG_DVB_USB_RTL28XXU=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_USB_DRV=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG=y
+
+#
+# Webcam, TV (analog/digital) USB devices
+#
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_EM28XX_RC=m
+CONFIG_MEDIA_PCI_SUPPORT=y
+
+#
+# Media capture support
+#
+CONFIG_VIDEO_MEYE=m
+
+#
+# Media capture/analog TV support
+#
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_IVTV_ALSA=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_MXB=m
+
+#
+# Media capture/analog/hybrid TV support
+#
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_MEDIA_ALTERA_CI=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_BT848=m
+CONFIG_DVB_BT8XX=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_RC=y
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_SAA7164=m
+
+#
+# Media digital TV PCI Adapters
+#
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
+CONFIG_DVB_PLUTO2=m
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_PT1=m
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+CONFIG_DVB_NGENE=m
+CONFIG_DVB_DDBRIDGE=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_VIDEO_VIA_CAMERA=m
+CONFIG_VIDEO_TIMBERDALE=m
+CONFIG_SOC_CAMERA=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+CONFIG_VIDEO_SH_MOBILE_CSI2=m
+CONFIG_VIDEO_SH_MOBILE_CEU=m
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
+CONFIG_VIDEO_SH_VEU=m
+CONFIG_V4L_TEST_DRIVERS=y
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_MEM2MEM_TESTDEV=m
+
+#
+# Supported MMC/SDIO adapters
+#
+CONFIG_SMS_SDIO_DRV=m
+CONFIG_MEDIA_PARPORT_SUPPORT=y
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_PMS=m
+CONFIG_VIDEO_W9966=m
+CONFIG_RADIO_ADAPTERS=y
+# CONFIG_RADIO_SI470X is not set
+CONFIG_USB_MR800=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_SHARK=m
+CONFIG_RADIO_SHARK2=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_KEENE=m
+CONFIG_USB_MA901=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_TIMBERDALE=m
+CONFIG_RADIO_WL1273=m
+
+#
+# Texas Instruments WL128x FM driver (ST based)
+#
+CONFIG_RADIO_WL128X=m
+CONFIG_V4L_RADIO_ISA_DRIVERS=y
+CONFIG_RADIO_ISA=m
+CONFIG_RADIO_CADET=m
+CONFIG_RADIO_RTRACK=m
+# CONFIG_RADIO_RTRACK2 is not set
+CONFIG_RADIO_AZTECH=m
+CONFIG_RADIO_GEMTEK=m
+CONFIG_RADIO_MIROPCM20=m
+CONFIG_RADIO_SF16FMI=m
+CONFIG_RADIO_SF16FMR2=m
+CONFIG_RADIO_TERRATEC=m
+CONFIG_RADIO_TRUST=m
+CONFIG_RADIO_TYPHOON=m
+CONFIG_RADIO_ZOLTRIX=m
+
+#
+# Supported FireWire (IEEE 1394) Adapters
+#
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_INPUT=y
+CONFIG_MEDIA_COMMON_OPTIONS=y
+
+#
+# common driver options
+#
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_CYPRESS_FIRMWARE=m
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_SMS_SIANO_MDTV=m
+CONFIG_SMS_SIANO_RC=y
+# CONFIG_SMS_SIANO_DEBUGFS is not set
+
+#
+# Media ancillary drivers (tuners, sensors, i2c, frontends)
+#
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+CONFIG_MEDIA_ATTACH=y
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Audio decoders, processors and mixers
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_ADV7180=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_CX25840=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+
+#
+# Camera sensor devices
+#
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
+
+#
+# Flash devices
+#
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+
+#
+# Miscelaneous helper chips
+#
+CONFIG_VIDEO_M52790=m
+
+#
+# Sensors used on soc_camera driver
+#
+
+#
+# soc_camera sensor drivers
+#
+CONFIG_SOC_CAMERA_IMX074=m
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_OV2640=m
+CONFIG_SOC_CAMERA_OV5642=m
+CONFIG_SOC_CAMERA_OV6650=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+CONFIG_SOC_CAMERA_OV9740=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_MEDIA_TUNER=m
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2063=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_XC4000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_MEDIA_TUNER_FC0011=m
+CONFIG_MEDIA_TUNER_FC0012=m
+CONFIG_MEDIA_TUNER_FC0013=m
+CONFIG_MEDIA_TUNER_TDA18212=m
+CONFIG_MEDIA_TUNER_E4000=m
+CONFIG_MEDIA_TUNER_FC2580=m
+CONFIG_MEDIA_TUNER_TUA9001=m
+CONFIG_MEDIA_TUNER_IT913X=m
+CONFIG_MEDIA_TUNER_R820T=m
+
+#
+# Multistandard (satellite) frontends
+#
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+
+#
+# Multistandard (cable + terrestrial) frontends
+#
+CONFIG_DVB_DRXK=m
+CONFIG_DVB_TDA18271C2DD=m
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_TS2020=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_TDA10071=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_DRXD=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_STV0367=m
+CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_RTL2830=m
+CONFIG_DVB_RTL2832=m
+
+#
+# DVB-C (cable) frontends
+#
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+
+#
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
+#
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_LG2160=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_AU8522_DTV=m
+CONFIG_DVB_AU8522_V4L=m
+CONFIG_DVB_S5H1411=m
+
+#
+# ISDB-T (terrestrial) frontends
+#
+CONFIG_DVB_S921=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_MB86A20S=m
+
+#
+# Digital terrestrial only tuners/PLL
+#
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_TUNER_DIB0090=m
+
+#
+# SEC control devices for DVB-S
+#
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_LNBP22=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_ISL6423=m
+CONFIG_DVB_A8293=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DVB_TDA665x=m
+CONFIG_DVB_IX2505V=m
+CONFIG_DVB_IT913X_FE=m
+CONFIG_DVB_M88RS2000=m
+CONFIG_DVB_AF9033=m
+
+#
+# Tools to develop new frontends
+#
+# CONFIG_DVB_DUMMY_FE is not set
+
+#
+# Graphics support
+#
+CONFIG_AGP=m
+CONFIG_AGP_ALI=m
+CONFIG_AGP_ATI=m
+CONFIG_AGP_AMD=m
+CONFIG_AGP_AMD64=m
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_NVIDIA=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_SWORKS=m
+CONFIG_AGP_VIA=m
+CONFIG_AGP_EFFICEON=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM=m
+CONFIG_DRM_USB=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_TTM=m
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_DRM_I2C_SIL164=m
+CONFIG_DRM_I2C_NXP_TDA998X=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+# CONFIG_DRM_RADEON_UMS is not set
+CONFIG_DRM_NOUVEAU=m
+CONFIG_NOUVEAU_DEBUG=5
+CONFIG_NOUVEAU_DEBUG_DEFAULT=3
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_I810=m
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_VMWGFX_FBCON=y
+CONFIG_DRM_GMA500=m
+CONFIG_DRM_GMA600=y
+CONFIG_DRM_GMA3600=y
+CONFIG_DRM_UDL=m
+CONFIG_DRM_AST=m
+CONFIG_DRM_MGAG200=m
+CONFIG_DRM_CIRRUS_QEMU=m
+CONFIG_DRM_QXL=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_HDMI=y
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DDC=m
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_HECUBA=m
+CONFIG_FB_SVGALIB=m
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
+CONFIG_FB_CYBER2000=m
+CONFIG_FB_CYBER2000_DDC=y
+CONFIG_FB_ARC=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_VGA16=m
+# CONFIG_FB_UVESA is not set
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+CONFIG_FB_N411=m
+CONFIG_FB_HGA=m
+CONFIG_FB_S1D13XXX=m
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
+# CONFIG_FB_NVIDIA_DEBUG is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+CONFIG_FB_RIVA=m
+CONFIG_FB_RIVA_I2C=y
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_RIVA_BACKLIGHT=y
+CONFIG_FB_I740=m
+CONFIG_FB_I810=m
+CONFIG_FB_I810_GTF=y
+CONFIG_FB_I810_I2C=y
+CONFIG_FB_LE80578=m
+CONFIG_FB_CARILLO_RANCH=m
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MAVEN=m
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+CONFIG_FB_ATY_GENERIC_LCD=y
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+CONFIG_FB_S3=m
+CONFIG_FB_S3_DDC=y
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+CONFIG_FB_SAVAGE_ACCEL=y
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_VIA=m
+# CONFIG_FB_VIA_DIRECT_PROCFS is not set
+CONFIG_FB_VIA_X_COMPATIBILITY=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_3DFX_I2C=y
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+CONFIG_FB_TRIDENT=m
+CONFIG_FB_ARK=m
+CONFIG_FB_PM3=m
+CONFIG_FB_CARMINE=m
+CONFIG_FB_CARMINE_DRAM_EVAL=y
+# CONFIG_CARMINE_DRAM_CUSTOM is not set
+CONFIG_FB_GEODE=y
+CONFIG_FB_GEODE_LX=m
+CONFIG_FB_GEODE_GX=m
+CONFIG_FB_GEODE_GX1=m
+CONFIG_FB_TMIO=m
+CONFIG_FB_TMIO_ACCELL=y
+# CONFIG_FB_SM501 is not set
+CONFIG_FB_SMSCUFX=m
+CONFIG_FB_UDL=m
+CONFIG_FB_GOLDFISH=m
+# CONFIG_FB_VIRTUAL is not set
+CONFIG_FB_METRONOME=m
+CONFIG_FB_MB862XX=m
+CONFIG_FB_MB862XX_PCI_GDC=y
+CONFIG_FB_MB862XX_I2C=y
+CONFIG_FB_BROADSHEET=m
+CONFIG_FB_AUO_K190X=m
+CONFIG_FB_AUO_K1900=m
+CONFIG_FB_AUO_K1901=m
+# CONFIG_FB_HYPERV is not set
+# CONFIG_EXYNOS_VIDEO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_ATMEL_PWM=m
+CONFIG_BACKLIGHT_GENERIC=m
+CONFIG_BACKLIGHT_LM3533=m
+CONFIG_BACKLIGHT_CARILLO_RANCH=m
+CONFIG_BACKLIGHT_APPLE=m
+CONFIG_BACKLIGHT_SAHARA=m
+CONFIG_BACKLIGHT_ADP8860=m
+CONFIG_BACKLIGHT_ADP8870=m
+CONFIG_BACKLIGHT_PCF50633=m
+CONFIG_BACKLIGHT_LM3630=m
+CONFIG_BACKLIGHT_LM3639=m
+CONFIG_BACKLIGHT_LP855X=m
+CONFIG_BACKLIGHT_OT200=m
+CONFIG_BACKLIGHT_TPS65217=m
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
+CONFIG_MDA_CONSOLE=m
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+CONFIG_FONT_SUN8x16=y
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_KCTL_JACK=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+CONFIG_SND_OPL4_LIB_SEQ=m
+CONFIG_SND_SBAWE_SEQ=m
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_OPL4_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+CONFIG_SND_DUMMY=m
+CONFIG_SND_ALOOP=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+CONFIG_SND_WSS_LIB=m
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB8_DSP=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_ISA=y
+CONFIG_SND_ADLIB=m
+CONFIG_SND_AD1816A=m
+CONFIG_SND_AD1848=m
+CONFIG_SND_ALS100=m
+CONFIG_SND_AZT1605=m
+CONFIG_SND_AZT2316=m
+CONFIG_SND_AZT2320=m
+CONFIG_SND_CMI8328=m
+CONFIG_SND_CMI8330=m
+CONFIG_SND_CS4231=m
+CONFIG_SND_CS4236=m
+CONFIG_SND_ES1688=m
+CONFIG_SND_ES18XX=m
+CONFIG_SND_SC6000=m
+CONFIG_SND_GUSCLASSIC=m
+CONFIG_SND_GUSEXTREME=m
+CONFIG_SND_GUSMAX=m
+CONFIG_SND_INTERWAVE=m
+CONFIG_SND_INTERWAVE_STB=m
+CONFIG_SND_JAZZ16=m
+CONFIG_SND_OPL3SA2=m
+CONFIG_SND_OPTI92X_AD1848=m
+CONFIG_SND_OPTI92X_CS4231=m
+CONFIG_SND_OPTI93X=m
+CONFIG_SND_MIRO=m
+CONFIG_SND_SB8=m
+CONFIG_SND_SB16=m
+CONFIG_SND_SBAWE=m
+CONFIG_SND_SB16_CSP=y
+CONFIG_SND_SSCAPE=m
+CONFIG_SND_WAVEFRONT=m
+CONFIG_SND_MSND_PINNACLE=m
+CONFIG_SND_MSND_CLASSIC=m
+CONFIG_SND_TEA575X=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ASIHPI=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_ES1968_INPUT=y
+CONFIG_SND_ES1968_RADIO=y
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_DSP_LOADER=y
+CONFIG_SND_HDA_PREALLOC_SIZE=2048
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+# CONFIG_SND_HDA_INPUT_BEEP is not set
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_HDMI=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CA0132=y
+CONFIG_SND_HDA_CODEC_CA0132_DSP=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_LOLA=m
+CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MAESTRO3_INPUT=y
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SIS7019=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_USB_6FIRE=m
+CONFIG_SND_FIREWIRE=y
+CONFIG_SND_FIREWIRE_LIB=m
+CONFIG_SND_FIREWIRE_SPEAKERS=m
+CONFIG_SND_ISIGHT=m
+CONFIG_SND_SCS1X=m
+CONFIG_SND_PCMCIA=y
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+
+#
+# HID support
+#
+CONFIG_HID=m
+CONFIG_HIDRAW=y
+CONFIG_UHID=m
+CONFIG_HID_GENERIC=m
+
+#
+# Special HID drivers
+#
+CONFIG_HID_A4TECH=m
+CONFIG_HID_ACRUX=m
+CONFIG_HID_ACRUX_FF=y
+CONFIG_HID_APPLE=m
+CONFIG_HID_APPLEIR=m
+CONFIG_HID_AUREAL=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_PRODIKEYS=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EMS_FF=m
+CONFIG_HID_ELECOM=m
+CONFIG_HID_EZKEY=m
+CONFIG_HID_HOLTEK=m
+CONFIG_HOLTEK_FF=y
+CONFIG_HID_KEYTOUCH=m
+CONFIG_HID_KYE=m
+CONFIG_HID_UCLOGIC=m
+CONFIG_HID_WALTOP=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_ICADE=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LCPOWER=m
+CONFIG_HID_LENOVO_TPKBD=m
+CONFIG_HID_LOGITECH=m
+CONFIG_HID_LOGITECH_DJ=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_LOGIWHEELS_FF=y
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_MULTITOUCH=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_PICOLCD=m
+CONFIG_HID_PICOLCD_FB=y
+CONFIG_HID_PICOLCD_BACKLIGHT=y
+CONFIG_HID_PICOLCD_LCD=y
+CONFIG_HID_PICOLCD_LEDS=y
+CONFIG_HID_PICOLCD_CIR=y
+CONFIG_HID_PRIMAX=m
+CONFIG_HID_PS3REMOTE=m
+CONFIG_HID_ROCCAT=m
+CONFIG_HID_SAITEK=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_SPEEDLINK=m
+CONFIG_HID_STEELSERIES=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_HYPERV_MOUSE=m
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TIVO=m
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THINGM=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_WIIMOTE=m
+CONFIG_HID_WIIMOTE_EXT=y
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
+CONFIG_HID_ZYDACRON=m
+CONFIG_HID_SENSOR_HUB=m
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=m
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# I2C HID support
+#
+CONFIG_I2C_HID=m
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB_ARCH_HAS_XHCI=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=y
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+CONFIG_USB_XHCI_PLATFORM=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=m
+CONFIG_USB_EHCI_HCD_PLATFORM=m
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_OHCI_HCD_SSB=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+# CONFIG_USB_SL811_HCD_ISO is not set
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+# CONFIG_USB_HCD_BCMA is not set
+CONFIG_USB_HCD_SSB=m
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_REALTEK=m
+CONFIG_REALTEK_AUTOPM=y
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+CONFIG_USB_STORAGE_ENE_UB6250=m
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_DWC3=m
+CONFIG_USB_DWC3_HOST=y
+# CONFIG_USB_DWC3_DEBUG is not set
+CONFIG_USB_CHIPIDEA=m
+# CONFIG_USB_CHIPIDEA_DEBUG is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_F81232=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_METRO=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7715_PARPORT=y
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_SAFE_PADDED=y
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_WWAN=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
+CONFIG_USB_SERIAL_XSENS_MT=m
+CONFIG_USB_SERIAL_ZIO=m
+CONFIG_USB_SERIAL_WISHBONE=m
+CONFIG_USB_SERIAL_ZTE=m
+CONFIG_USB_SERIAL_SSU100=m
+CONFIG_USB_SERIAL_QT2=m
+CONFIG_USB_SERIAL_DEBUG=m
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_YUREX=m
+CONFIG_USB_EZUSB_FX2=m
+CONFIG_USB_HSIC_USB3503=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_OMAP_CONTROL_USB=m
+CONFIG_OMAP_USB3=m
+CONFIG_SAMSUNG_USBPHY=m
+CONFIG_SAMSUNG_USB2PHY=m
+CONFIG_SAMSUNG_USB3PHY=m
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ISP1301=m
+CONFIG_USB_RCAR_PHY=m
+# CONFIG_USB_GADGET is not set
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+CONFIG_UWB_I1480U=m
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+# CONFIG_MMC_CLKGATE is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_ACPI=m
+CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_SDHCI_PXAV3=m
+CONFIG_MMC_SDHCI_PXAV2=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MMC_VUB300=m
+CONFIG_MMC_USHC=m
+CONFIG_MMC_REALTEK_PCI=m
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+CONFIG_MEMSTICK_R592=m
+CONFIG_MEMSTICK_REALTEK_PCI=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_ATMEL_PWM=m
+CONFIG_LEDS_LM3530=m
+CONFIG_LEDS_LM3533=m
+CONFIG_LEDS_LM3642=m
+CONFIG_LEDS_NET48XX=m
+CONFIG_LEDS_WRAP=m
+CONFIG_LEDS_PCA9532=m
+# CONFIG_LEDS_PCA9532_GPIO is not set
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_LP55XX_COMMON=m
+CONFIG_LEDS_LP5521=m
+CONFIG_LEDS_LP5523=m
+CONFIG_LEDS_LP5562=m
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_PCA9633=m
+CONFIG_LEDS_REGULATOR=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_MC13783=m
+CONFIG_LEDS_RENESAS_TPU=y
+CONFIG_LEDS_TCA6507=m
+CONFIG_LEDS_LM355x=m
+CONFIG_LEDS_OT200=m
+CONFIG_LEDS_BLINKM=m
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_ONESHOT=m
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+# CONFIG_LEDS_TRIGGER_CPU is not set
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_LEDS_TRIGGER_TRANSIENT=m
+CONFIG_LEDS_TRIGGER_CAMERA=m
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+CONFIG_INFINIBAND=m
+CONFIG_INFINIBAND_USER_MAD=m
+CONFIG_INFINIBAND_USER_ACCESS=m
+CONFIG_INFINIBAND_USER_MEM=y
+CONFIG_INFINIBAND_ADDR_TRANS=y
+CONFIG_INFINIBAND_MTHCA=m
+CONFIG_INFINIBAND_MTHCA_DEBUG=y
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+# CONFIG_INFINIBAND_CXGB3 is not set
+CONFIG_INFINIBAND_CXGB4=m
+CONFIG_MLX4_INFINIBAND=m
+CONFIG_INFINIBAND_NES=m
+# CONFIG_INFINIBAND_NES_DEBUG is not set
+CONFIG_INFINIBAND_OCRDMA=m
+CONFIG_INFINIBAND_IPOIB=m
+# CONFIG_INFINIBAND_IPOIB_CM is not set
+CONFIG_INFINIBAND_IPOIB_DEBUG=y
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+CONFIG_INFINIBAND_SRP=m
+CONFIG_INFINIBAND_SRPT=m
+CONFIG_INFINIBAND_ISER=m
+CONFIG_INFINIBAND_ISERT=m
+CONFIG_EDAC=y
+CONFIG_EDAC_LEGACY_SYSFS=y
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=y
+CONFIG_EDAC_MCE_INJ=m
+# CONFIG_EDAC_MM_EDAC is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+# CONFIG_RTC_HCTOSYS is not set
+# CONFIG_RTC_SYSTOHC is not set
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_TEST=m
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_DS3232=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_ISL12022=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8523=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+CONFIG_RTC_DRV_EM3027=m
+CONFIG_RTC_DRV_RV3029C2=m
+
+#
+# SPI RTC drivers
+#
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_DS2404=m
+CONFIG_RTC_DRV_PCF50633=m
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_MC13XXX=m
+
+#
+# HID Sensor RTC drivers
+#
+CONFIG_RTC_DRV_HID_SENSOR_TIME=m
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_INTEL_MID_DMAC=m
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DW_DMAC=m
+# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
+CONFIG_TIMB_DMA=m
+CONFIG_PCH_DMA=m
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_ACPI=y
+
+#
+# DMA Clients
+#
+CONFIG_NET_DMA=y
+# CONFIG_ASYNC_TX_DMA is not set
+CONFIG_DMATEST=m
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+# CONFIG_KS0108 is not set
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV=m
+CONFIG_UIO_PDRV_GENIRQ=m
+CONFIG_UIO_DMEM_GENIRQ=m
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+CONFIG_VFIO_IOMMU_TYPE1=m
+CONFIG_VFIO=m
+CONFIG_VFIO_PCI=m
+# CONFIG_VFIO_PCI_VGA is not set
+CONFIG_VIRT_DRIVERS=y
+CONFIG_VIRTIO=m
+
+#
+# Virtio drivers
+#
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_MMIO=m
+# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+CONFIG_HYPERV=m
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_BALLOON=m
+CONFIG_STAGING=y
+# CONFIG_ET131X is not set
+# CONFIG_SLICOSS is not set
+CONFIG_USBIP_CORE=m
+CONFIG_USBIP_VHCI_HCD=m
+CONFIG_USBIP_HOST=m
+# CONFIG_USBIP_DEBUG is not set
+# CONFIG_W35UND is not set
+# CONFIG_PRISM2_USB is not set
+# CONFIG_ECHO is not set
+# CONFIG_COMEDI is not set
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192U=m
+CONFIG_RTLLIB=m
+CONFIG_RTLLIB_CRYPTO_CCMP=m
+CONFIG_RTLLIB_CRYPTO_TKIP=m
+CONFIG_RTLLIB_CRYPTO_WEP=m
+CONFIG_RTL8192E=m
+CONFIG_R8712U=m
+CONFIG_RTS5139=m
+# CONFIG_RTS5139_DEBUG is not set
+# CONFIG_TRANZPORT is not set
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_DX_SEP=m
+
+#
+# IIO staging drivers
+#
+
+#
+# Accelerometers
+#
+
+#
+# Analog to digital converters
+#
+CONFIG_AD7291=m
+CONFIG_AD7606=m
+CONFIG_AD7606_IFACE_PARALLEL=m
+CONFIG_AD799X=m
+CONFIG_AD799X_RING_BUFFER=y
+
+#
+# Analog digital bi-direction converters
+#
+CONFIG_ADT7316=m
+CONFIG_ADT7316_I2C=m
+
+#
+# Capacitance to digital converters
+#
+CONFIG_AD7150=m
+CONFIG_AD7152=m
+CONFIG_AD7746=m
+
+#
+# Direct Digital Synthesis
+#
+
+#
+# Digital gyroscope sensors
+#
+
+#
+# Network Analyzer, Impedance Converters
+#
+CONFIG_AD5933=m
+
+#
+# Light sensors
+#
+CONFIG_SENSORS_ISL29018=m
+CONFIG_SENSORS_ISL29028=m
+CONFIG_TSL2583=m
+CONFIG_TSL2x7x=m
+
+#
+# Magnetometer sensors
+#
+CONFIG_SENSORS_HMC5843=m
+
+#
+# Active energy metering IC
+#
+CONFIG_ADE7854=m
+CONFIG_ADE7854_I2C=m
+
+#
+# Resolver to digital converters
+#
+
+#
+# Triggers - standalone
+#
+CONFIG_IIO_PERIODIC_RTC_TRIGGER=m
+CONFIG_IIO_GPIO_TRIGGER=m
+CONFIG_IIO_SYSFS_TRIGGER=m
+# CONFIG_IIO_SIMPLE_DUMMY is not set
+# CONFIG_ZSMALLOC is not set
+CONFIG_WLAGS49_H2=m
+CONFIG_WLAGS49_H25=m
+CONFIG_FB_SM7XX=m
+CONFIG_CRYSTALHD=m
+# CONFIG_CXT1E1 is not set
+CONFIG_FB_XGI=m
+CONFIG_ACPI_QUICKSTART=m
+CONFIG_SBE_2T3E3=m
+CONFIG_USB_ENESTORAGE=m
+CONFIG_BCM_WIMAX=m
+# CONFIG_FT1000 is not set
+
+#
+# Speakup console speech
+#
+CONFIG_SPEAKUP=y
+CONFIG_SPEAKUP_SYNTH_ACNTSA=y
+CONFIG_SPEAKUP_SYNTH_ACNTPC=y
+CONFIG_SPEAKUP_SYNTH_APOLLO=y
+CONFIG_SPEAKUP_SYNTH_AUDPTR=y
+CONFIG_SPEAKUP_SYNTH_BNS=y
+CONFIG_SPEAKUP_SYNTH_DECTLK=y
+CONFIG_SPEAKUP_SYNTH_DECEXT=y
+CONFIG_SPEAKUP_SYNTH_DECPC=m
+CONFIG_SPEAKUP_SYNTH_DTLK=y
+CONFIG_SPEAKUP_SYNTH_KEYPC=y
+CONFIG_SPEAKUP_SYNTH_LTLK=y
+CONFIG_SPEAKUP_SYNTH_SOFT=y
+CONFIG_SPEAKUP_SYNTH_SPKOUT=y
+CONFIG_SPEAKUP_SYNTH_TXPRT=y
+CONFIG_SPEAKUP_SYNTH_DUMMY=y
+CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
+CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
+CONFIG_STAGING_MEDIA=y
+CONFIG_DVB_AS102=m
+CONFIG_DVB_CXD2099=m
+CONFIG_VIDEO_DT3155=m
+CONFIG_DT3155_CCIR=y
+CONFIG_DT3155_STREAMING=y
+# CONFIG_VIDEO_GO7007 is not set
+CONFIG_SOLO6X10=m
+CONFIG_LIRC_STAGING=y
+CONFIG_LIRC_BT829=m
+CONFIG_LIRC_IGORPLUGUSB=m
+CONFIG_LIRC_IMON=m
+CONFIG_LIRC_PARALLEL=m
+CONFIG_LIRC_SASEM=m
+CONFIG_LIRC_SERIAL=m
+CONFIG_LIRC_SERIAL_TRANSMITTER=y
+CONFIG_LIRC_SIR=m
+CONFIG_LIRC_ZILOG=m
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+CONFIG_USB_WPAN_HCD=m
+CONFIG_WIMAX_GDM72XX=m
+# CONFIG_WIMAX_GDM72XX_QOS is not set
+# CONFIG_WIMAX_GDM72XX_K_MODE is not set
+CONFIG_WIMAX_GDM72XX_WIMAX2=y
+CONFIG_WIMAX_GDM72XX_USB=y
+# CONFIG_WIMAX_GDM72XX_SDIO is not set
+# CONFIG_WIMAX_GDM72XX_USB_PM is not set
+CONFIG_CSR_WIFI=m
+CONFIG_NET_VENDOR_SILICOM=y
+CONFIG_SBYPASS=m
+CONFIG_BPCTL=m
+CONFIG_CED1401=m
+CONFIG_DGRP=m
+CONFIG_FIREWIRE_SERIAL=m
+CONFIG_USB_DWC2=m
+# CONFIG_USB_DWC2_DEBUG is not set
+# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_CHROMEOS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_DELL_WMI_AIO=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_FUJITSU_TABLET=m
+CONFIG_AMILO_RFKILL=m
+CONFIG_TC1100_WMI=m
+CONFIG_HP_ACCEL=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+CONFIG_SONYPI_COMPAT=y
+CONFIG_IDEAPAD_LAPTOP=m
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_SENSORS_HDAPS=m
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_ASUS_WMI=m
+CONFIG_ASUS_NB_WMI=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+CONFIG_INTEL_IPS=m
+CONFIG_IBM_RTL=m
+CONFIG_XO15_EBOOK=m
+CONFIG_SAMSUNG_LAPTOP=m
+CONFIG_MXM_WMI=m
+CONFIG_INTEL_OAKTRAIL=m
+CONFIG_SAMSUNG_Q10=m
+CONFIG_APPLE_GMUX=m
+CONFIG_PVPANIC=m
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+
+#
+# Common Clock Framework
+#
+CONFIG_COMMON_CLK_DEBUG=y
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_CLKSRC_I8253=y
+CONFIG_CLKEVT_I8253=y
+CONFIG_I8253_LOCK=y
+CONFIG_CLKBLD_I8253=y
+# CONFIG_MAILBOX is not set
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+CONFIG_DMAR_TABLE=y
+CONFIG_INTEL_IOMMU=y
+# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
+CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+
+#
+# Remoteproc drivers
+#
+CONFIG_REMOTEPROC=m
+CONFIG_STE_MODEM_RPROC=m
+
+#
+# Rpmsg drivers
+#
+CONFIG_PM_DEVFREQ=y
+
+#
+# DEVFREQ Governors
+#
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
+CONFIG_DEVFREQ_GOV_PERFORMANCE=y
+CONFIG_DEVFREQ_GOV_POWERSAVE=y
+CONFIG_DEVFREQ_GOV_USERSPACE=y
+
+#
+# DEVFREQ Drivers
+#
+CONFIG_EXTCON=m
+
+#
+# Extcon Device Drivers
+#
+CONFIG_EXTCON_GPIO=m
+CONFIG_EXTCON_ADC_JACK=m
+CONFIG_MEMORY=y
+CONFIG_IIO=m
+CONFIG_IIO_BUFFER=y
+# CONFIG_IIO_BUFFER_CB is not set
+CONFIG_IIO_KFIFO_BUF=m
+CONFIG_IIO_TRIGGERED_BUFFER=m
+CONFIG_IIO_TRIGGER=y
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+
+#
+# Accelerometers
+#
+CONFIG_HID_SENSOR_ACCEL_3D=m
+CONFIG_IIO_ST_ACCEL_3AXIS=m
+CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
+
+#
+# Analog to digital converters
+#
+CONFIG_MAX1363=m
+CONFIG_TI_ADC081C=m
+CONFIG_TI_AM335X_ADC=m
+CONFIG_VIPERBOARD_ADC=m
+
+#
+# Amplifiers
+#
+
+#
+# Hid Sensor IIO Common
+#
+CONFIG_HID_SENSOR_IIO_COMMON=m
+CONFIG_HID_SENSOR_IIO_TRIGGER=m
+CONFIG_HID_SENSOR_ENUM_BASE_QUIRKS=y
+CONFIG_IIO_ST_SENSORS_I2C=m
+CONFIG_IIO_ST_SENSORS_CORE=m
+
+#
+# Digital to analog converters
+#
+CONFIG_AD5064=m
+CONFIG_AD5380=m
+CONFIG_AD5446=m
+CONFIG_MAX517=m
+CONFIG_MCP4725=m
+
+#
+# Frequency Synthesizers DDS/PLL
+#
+
+#
+# Clock Generator/Distribution
+#
+
+#
+# Phase-Locked Loop (PLL) frequency synthesizers
+#
+
+#
+# Digital gyroscope sensors
+#
+CONFIG_HID_SENSOR_GYRO_3D=m
+CONFIG_IIO_ST_GYRO_3AXIS=m
+CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
+CONFIG_ITG3200=m
+
+#
+# Inertial measurement units
+#
+CONFIG_INV_MPU6050_IIO=m
+
+#
+# Light sensors
+#
+CONFIG_ADJD_S311=m
+CONFIG_SENSORS_LM3533=m
+CONFIG_SENSORS_TSL2563=m
+CONFIG_VCNL4000=m
+CONFIG_HID_SENSOR_ALS=m
+
+#
+# Magnetometer sensors
+#
+CONFIG_AK8975=m
+CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
+CONFIG_IIO_ST_MAGN_3AXIS=m
+CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
+# CONFIG_VME_BUS is not set
+# CONFIG_PWM is not set
+# CONFIG_IPACK_BUS is not set
+# CONFIG_RESET_CONTROLLER is not set
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+CONFIG_EDD_OFF=y
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=m
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=m
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_VARS=m
+CONFIG_EFI_VARS_PSTORE=m
+CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+CONFIG_REISERFS_FS=y
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=y
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
+CONFIG_XFS_FS=y
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=y
+CONFIG_OCFS2_FS_O2CB=y
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+# CONFIG_OCFS2_FS_STATS is not set
+CONFIG_OCFS2_DEBUG_MASKLOG=y
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=y
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+CONFIG_NILFS2_FS=m
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=y
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=y
+CONFIG_QUOTACTL=y
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+# CONFIG_FSCACHE_STATS is not set
+# CONFIG_FSCACHE_HISTOGRAM is not set
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=y
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=y
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=y
+CONFIG_MISC_FILESYSTEMS=y
+CONFIG_ADFS_FS=m
+# CONFIG_ADFS_FS_RW is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+CONFIG_ECRYPT_FS_MESSAGING=y
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+CONFIG_BFS_FS=m
+CONFIG_EFS_FS=m
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_UBIFS_FS=m
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+CONFIG_SQUASHFS_EMBEDDED=y
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+CONFIG_VXFS_FS=m
+CONFIG_MINIX_FS=m
+CONFIG_OMFS_FS=m
+CONFIG_HPFS_FS=m
+CONFIG_QNX4FS_FS=m
+CONFIG_QNX6FS_FS=m
+# CONFIG_QNX6FS_DEBUG is not set
+CONFIG_ROMFS_FS=y
+CONFIG_ROMFS_BACKED_BY_BLOCK=y
+CONFIG_ROMFS_ON_BLOCK=y
+CONFIG_PSTORE=y
+# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_FTRACE is not set
+CONFIG_PSTORE_RAM=m
+CONFIG_SYSV_FS=m
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_F2FS_FS=m
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_EFIVAR_FS=m
+CONFIG_ORE=m
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V2=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+CONFIG_NFS_SWAP=y
+# CONFIG_NFS_V4_1 is not set
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFSD=y
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V3_ACL is not set
+CONFIG_NFSD_V4=y
+# CONFIG_NFSD_FAULT_INJECTION is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_SUNRPC_XPRT_RDMA=m
+CONFIG_SUNRPC_SWAP=y
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_SUNRPC_DEBUG is not set
+CONFIG_CEPH_FS=m
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+# CONFIG_CIFS_UPCALL is not set
+# CONFIG_CIFS_XATTR is not set
+CONFIG_CIFS_DEBUG=y
+# CONFIG_CIFS_DEBUG2 is not set
+CONFIG_CIFS_DFS_UPCALL=y
+# CONFIG_CIFS_SMB2 is not set
+CONFIG_CIFS_FSCACHE=y
+CONFIG_NCP_FS=m
+CONFIG_NCPFS_PACKET_SIGNING=y
+CONFIG_NCPFS_IOCTL_LOCKING=y
+CONFIG_NCPFS_STRONG=y
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+CONFIG_NCPFS_EXTRAS=y
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+# CONFIG_AFS_FSCACHE is not set
+CONFIG_9P_FS=m
+# CONFIG_9P_FSCACHE is not set
+# CONFIG_9P_FS_POSIX_ACL is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_MAC_ROMAN=m
+CONFIG_NLS_MAC_CELTIC=m
+CONFIG_NLS_MAC_CENTEURO=m
+CONFIG_NLS_MAC_CROATIAN=m
+CONFIG_NLS_MAC_CYRILLIC=m
+CONFIG_NLS_MAC_GAELIC=m
+CONFIG_NLS_MAC_GREEK=m
+CONFIG_NLS_MAC_ICELAND=m
+CONFIG_NLS_MAC_INUIT=m
+CONFIG_NLS_MAC_ROMANIAN=m
+CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UTF8=y
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_PRINTK_TIME=y
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=0
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
+# CONFIG_READABLE_ASM is not set
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_LOCKUP_DETECTOR is not set
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_HIGHMEM is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_SPARSE_RCU_POINTER is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_LKDTM is not set
+CONFIG_NOTIFIER_ERROR_INJECTION=m
+CONFIG_PM_NOTIFIER_ERROR_INJECT=m
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACE_CLOCK=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
+# CONFIG_TRACER_SNAPSHOT is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_UPROBE_EVENT is not set
+# CONFIG_PROBE_EVENTS is not set
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
+# CONFIG_FUNCTION_PROFILER is not set
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_MMIOTRACE is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+CONFIG_RBTREE_TEST=m
+CONFIG_INTERVAL_TREE_TEST=m
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+CONFIG_ATOMIC64_SELFTEST=y
+CONFIG_ASYNC_RAID6_TEST=m
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_TEST_STRING_HELPERS is not set
+# CONFIG_TEST_KSTRTOX is not set
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_X86_PTDUMP is not set
+CONFIG_DEBUG_RODATA=y
+CONFIG_DEBUG_RODATA_TEST=y
+# CONFIG_DEBUG_SET_MODULE_RONX is not set
+# CONFIG_DEBUG_NX_TEST is not set
+CONFIG_DOUBLEFAULT=y
+# CONFIG_DEBUG_TLBFLUSH is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+CONFIG_OPTIMIZE_INLINING=y
+# CONFIG_DEBUG_NMI_SELFTEST is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_TRUSTED_KEYS=m
+CONFIG_ENCRYPTED_KEYS=m
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+CONFIG_SECURITY_DMESG_RESTRICT=y
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_SECURITY_NETWORK_XFRM=y
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_SECURITY_YAMA is not set
+# CONFIG_IMA is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=y
+CONFIG_ASYNC_CORE=y
+CONFIG_ASYNC_MEMCPY=y
+CONFIG_ASYNC_XOR=y
+CONFIG_ASYNC_PQ=y
+CONFIG_ASYNC_RAID6_RECOV=y
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=m
+CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_GF128MUL=y
+CONFIG_CRYPTO_NULL=y
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=y
+CONFIG_CRYPTO_AUTHENC=y
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_ABLK_HELPER_X86=y
+CONFIG_CRYPTO_GLUE_HELPER_X86=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=y
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_SEQIV=y
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTR=y
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_LRW=y
+CONFIG_CRYPTO_PCBC=y
+CONFIG_CRYPTO_XTS=y
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_CRC32=m
+CONFIG_CRYPTO_CRC32_PCLMUL=m
+CONFIG_CRYPTO_GHASH=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=y
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=y
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_TGR192=y
+CONFIG_CRYPTO_WP512=y
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_AES_586=y
+CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_ANUBIS=y
+CONFIG_CRYPTO_ARC4=y
+CONFIG_CRYPTO_BLOWFISH=y
+CONFIG_CRYPTO_BLOWFISH_COMMON=y
+CONFIG_CRYPTO_CAMELLIA=y
+CONFIG_CRYPTO_CAST_COMMON=y
+CONFIG_CRYPTO_CAST5=y
+CONFIG_CRYPTO_CAST6=y
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_FCRYPT=y
+CONFIG_CRYPTO_KHAZAD=y
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_586=m
+CONFIG_CRYPTO_SEED=y
+CONFIG_CRYPTO_SERPENT=y
+CONFIG_CRYPTO_SERPENT_SSE2_586=m
+CONFIG_CRYPTO_TEA=y
+CONFIG_CRYPTO_TWOFISH=y
+CONFIG_CRYPTO_TWOFISH_COMMON=y
+CONFIG_CRYPTO_TWOFISH_586=y
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_USER_API=m
+CONFIG_CRYPTO_USER_API_HASH=m
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_CRYPTO_DEV_GEODE=m
+CONFIG_CRYPTO_DEV_HIFN_795X=m
+CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+CONFIG_ASYMMETRIC_KEY_TYPE=m
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
+CONFIG_PUBLIC_KEY_ALGO_RSA=m
+CONFIG_X509_CERTIFICATE_PARSER=m
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_KVM_ASYNC_PF=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_KVM_MMU_AUDIT=y
+CONFIG_KVM_DEVICE_ASSIGNMENT=y
+CONFIG_LGUEST=m
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=y
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_IO=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC_ITU_T=y
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=y
+CONFIG_CRC8=m
+CONFIG_AUDIT_GENERIC=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_REED_SOLOMON=m
+CONFIG_REED_SOLOMON_ENC8=y
+CONFIG_REED_SOLOMON_DEC8=y
+CONFIG_REED_SOLOMON_DEC16=y
+CONFIG_BCH=m
+CONFIG_BCH_CONST_PARAMS=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_DQL=y
+CONFIG_NLATTR=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_LRU_CACHE=m
+CONFIG_AVERAGE=y
+CONFIG_CLZ_TAB=y
+CONFIG_CORDIC=m
+# CONFIG_DDR is not set
+CONFIG_MPILIB=m
+CONFIG_OID_REGISTRY=y
+CONFIG_UCS2_STRING=y
diff --git a/source/k/config-x86/config-huge-3.2.29 b/source/k/config-x86/config-huge-3.2.29
deleted file mode 100644
index f87b41aba..000000000
--- a/source/k/config-x86/config-huge-3.2.29
+++ /dev/null
@@ -1,5688 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/i386 3.2.29 Kernel Configuration
-#
-# CONFIG_64BIT is not set
-CONFIG_X86_32=y
-# CONFIG_X86_64 is not set
-CONFIG_X86=y
-CONFIG_INSTRUCTION_DECODER=y
-CONFIG_OUTPUT_FORMAT="elf32-i386"
-CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_MMU=y
-CONFIG_ZONE_DMA=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_NEED_SG_DMA_LENGTH=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_GPIO=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-# CONFIG_GENERIC_TIME_VSYSCALL is not set
-CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_DEFAULT_IDLE=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_ZONE_DMA32 is not set
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-# CONFIG_AUDIT_ARCH is not set
-CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
-CONFIG_HAVE_INTEL_TXT=y
-CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
-CONFIG_KTIME_SCALAR=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_HAVE_IRQ_WORK=y
-CONFIG_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_BZIP2=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_XZ=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-# CONFIG_KERNEL_BZIP2 is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_XZ is not set
-# CONFIG_KERNEL_LZO is not set
-CONFIG_DEFAULT_HOSTNAME="darkstar"
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-# CONFIG_FHANDLE is not set
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_AUDIT_WATCH=y
-CONFIG_AUDIT_TREE=y
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_HAVE_SPARSE_IRQ=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_IRQ_CHIP=y
-CONFIG_IRQ_FORCED_THREADING=y
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-CONFIG_CGROUPS=y
-# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CPUSETS=y
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_RESOURCE_COUNTERS=y
-CONFIG_CGROUP_MEM_RES_CTLR=y
-CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
-# CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED is not set
-CONFIG_CGROUP_PERF=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_CFS_BANDWIDTH=y
-CONFIG_RT_GROUP_SCHED=y
-CONFIG_BLK_CGROUP=y
-# CONFIG_DEBUG_BLK_CGROUP is not set
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_NET_NS=y
-# CONFIG_SCHED_AUTOGROUP is not set
-CONFIG_MM_OWNER=y
-# CONFIG_SYSFS_DEPRECATED is not set
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_XZ=y
-CONFIG_RD_LZO=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-# CONFIG_EXPERT is not set
-CONFIG_UID16=y
-# CONFIG_SYSCTL_SYSCALL is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_PCSPKR_PLATFORM=y
-CONFIG_HAVE_PCSPKR_PLATFORM=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-# CONFIG_EMBEDDED is not set
-CONFIG_HAVE_PERF_EVENTS=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_PCI_QUIRKS=y
-CONFIG_SLUB_DEBUG=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-CONFIG_SLUB=y
-CONFIG_PROFILING=y
-CONFIG_TRACEPOINTS=y
-CONFIG_OPROFILE=m
-# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-# CONFIG_JUMP_LABEL is not set
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_IOREMAP_PROT=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_OPTPROBES=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_DMA_ATTRS=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
-CONFIG_HAVE_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_PERF_EVENTS_NMI=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_GCOV_KERNEL is not set
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-CONFIG_MODULE_FORCE_LOAD=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_BLOCK=y
-CONFIG_LBDAF=y
-CONFIG_BLK_DEV_BSG=y
-CONFIG_BLK_DEV_BSGLIB=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-CONFIG_BLK_DEV_THROTTLING=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-CONFIG_CFQ_GROUP_IOSCHED=y
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_PREEMPT_NOTIFIERS=y
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# Processor type and features
-#
-CONFIG_TICK_ONESHOT=y
-# CONFIG_NO_HZ is not set
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
-# CONFIG_SMP is not set
-CONFIG_X86_MPPARSE=y
-# CONFIG_X86_EXTENDED_PLATFORM is not set
-CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_X86_32_IRIS=m
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-# CONFIG_PARAVIRT_GUEST is not set
-CONFIG_NO_BOOTMEM=y
-CONFIG_MEMTEST=y
-# CONFIG_M386 is not set
-CONFIG_M486=y
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-# CONFIG_M686 is not set
-# CONFIG_MPENTIUMII is not set
-# CONFIG_MPENTIUMIII is not set
-# CONFIG_MPENTIUMM is not set
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MEFFICEON is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MELAN is not set
-# CONFIG_MGEODEGX1 is not set
-# CONFIG_MGEODE_LX is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-# CONFIG_MVIAC7 is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_MATOM is not set
-CONFIG_X86_GENERIC=y
-CONFIG_X86_INTERNODE_CACHE_SHIFT=6
-CONFIG_X86_CMPXCHG=y
-CONFIG_CMPXCHG_LOCAL=y
-CONFIG_CMPXCHG_DOUBLE=y
-CONFIG_X86_L1_CACHE_SHIFT=6
-CONFIG_X86_XADD=y
-# CONFIG_X86_PPRO_FENCE is not set
-CONFIG_X86_F00F_BUG=y
-CONFIG_X86_INVD_BUG=y
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_INVLPG=y
-CONFIG_X86_BSWAP=y
-CONFIG_X86_POPAD_OK=y
-CONFIG_X86_ALIGNMENT_16=y
-CONFIG_X86_INTEL_USERCOPY=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=4
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_CYRIX_32=y
-CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR=y
-CONFIG_CPU_SUP_TRANSMETA_32=y
-CONFIG_CPU_SUP_UMC_32=y
-CONFIG_HPET_TIMER=y
-CONFIG_HPET_EMULATE_RTC=y
-CONFIG_DMI=y
-# CONFIG_IOMMU_HELPER is not set
-CONFIG_NR_CPUS=1
-# CONFIG_IRQ_TIME_ACCOUNTING is not set
-# CONFIG_PREEMPT_NONE is not set
-CONFIG_PREEMPT_VOLUNTARY=y
-# CONFIG_PREEMPT is not set
-CONFIG_X86_UP_APIC=y
-CONFIG_X86_UP_IOAPIC=y
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
-CONFIG_X86_MCE=y
-CONFIG_X86_MCE_INTEL=y
-CONFIG_X86_MCE_AMD=y
-CONFIG_X86_ANCIENT_MCE=y
-CONFIG_X86_MCE_THRESHOLD=y
-CONFIG_X86_MCE_INJECT=m
-CONFIG_X86_THERMAL_VECTOR=y
-CONFIG_VM86=y
-CONFIG_TOSHIBA=m
-CONFIG_I8K=m
-CONFIG_X86_REBOOTFIXUPS=y
-CONFIG_MICROCODE=m
-CONFIG_MICROCODE_INTEL=y
-CONFIG_MICROCODE_AMD=y
-CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_X86_MSR=m
-CONFIG_X86_CPUID=m
-# CONFIG_NOHIGHMEM is not set
-CONFIG_HIGHMEM4G=y
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_HIGHMEM=y
-# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
-# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
-CONFIG_ARCH_FLATMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ILLEGAL_POINTER_VALUE=0
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_SPARSEMEM_STATIC=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_COMPACTION=y
-CONFIG_MIGRATION=y
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-CONFIG_MMU_NOTIFIER=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=98304
-CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
-# CONFIG_MEMORY_FAILURE is not set
-CONFIG_TRANSPARENT_HUGEPAGE=y
-CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
-# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
-CONFIG_NEED_PER_CPU_KM=y
-# CONFIG_CLEANCACHE is not set
-CONFIG_HIGHPTE=y
-# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
-CONFIG_X86_RESERVE_LOW=64
-CONFIG_MATH_EMULATION=y
-CONFIG_MTRR=y
-CONFIG_MTRR_SANITIZER=y
-CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
-CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
-CONFIG_X86_PAT=y
-CONFIG_ARCH_USES_PG_UNCACHED=y
-CONFIG_ARCH_RANDOM=y
-CONFIG_EFI=y
-CONFIG_SECCOMP=y
-CONFIG_CC_STACKPROTECTOR=y
-# CONFIG_HZ_100 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_300 is not set
-CONFIG_HZ_1000=y
-CONFIG_HZ=1000
-CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
-# CONFIG_CRASH_DUMP is not set
-CONFIG_PHYSICAL_START=0x1000000
-# CONFIG_RELOCATABLE is not set
-CONFIG_PHYSICAL_ALIGN=0x100000
-CONFIG_COMPAT_VDSO=y
-# CONFIG_CMDLINE_BOOL is not set
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-
-#
-# Power management and ACPI options
-#
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_HIBERNATE_CALLBACKS=y
-CONFIG_HIBERNATION=y
-CONFIG_PM_STD_PARTITION="\"\""
-CONFIG_PM_SLEEP=y
-CONFIG_PM_RUNTIME=y
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_ACPI=y
-CONFIG_ACPI_SLEEP=y
-CONFIG_ACPI_PROCFS=y
-CONFIG_ACPI_PROCFS_POWER=y
-CONFIG_ACPI_EC_DEBUGFS=m
-CONFIG_ACPI_PROC_EVENT=y
-CONFIG_ACPI_AC=m
-CONFIG_ACPI_BATTERY=m
-CONFIG_ACPI_BUTTON=m
-CONFIG_ACPI_VIDEO=m
-CONFIG_ACPI_FAN=m
-CONFIG_ACPI_DOCK=y
-CONFIG_ACPI_PROCESSOR=m
-CONFIG_ACPI_IPMI=m
-CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
-CONFIG_ACPI_THERMAL=m
-# CONFIG_ACPI_CUSTOM_DSDT is not set
-CONFIG_ACPI_BLACKLIST_YEAR=2001
-# CONFIG_ACPI_DEBUG is not set
-CONFIG_ACPI_PCI_SLOT=m
-CONFIG_X86_PM_TIMER=y
-CONFIG_ACPI_CONTAINER=m
-CONFIG_ACPI_SBS=m
-CONFIG_ACPI_HED=y
-# CONFIG_ACPI_CUSTOM_METHOD is not set
-CONFIG_ACPI_APEI=y
-CONFIG_ACPI_APEI_GHES=y
-CONFIG_ACPI_APEI_PCIEAER=y
-CONFIG_ACPI_APEI_EINJ=m
-CONFIG_ACPI_APEI_ERST_DEBUG=m
-CONFIG_SFI=y
-# CONFIG_APM is not set
-
-#
-# CPU Frequency scaling
-#
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_TABLE=m
-CONFIG_CPU_FREQ_STAT=m
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-
-#
-# x86 CPU frequency scaling drivers
-#
-CONFIG_X86_PCC_CPUFREQ=m
-CONFIG_X86_ACPI_CPUFREQ=m
-CONFIG_X86_POWERNOW_K6=m
-CONFIG_X86_POWERNOW_K7=m
-CONFIG_X86_POWERNOW_K7_ACPI=y
-CONFIG_X86_POWERNOW_K8=m
-CONFIG_X86_GX_SUSPMOD=m
-CONFIG_X86_SPEEDSTEP_CENTRINO=m
-CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
-CONFIG_X86_SPEEDSTEP_ICH=m
-CONFIG_X86_SPEEDSTEP_SMI=m
-CONFIG_X86_P4_CLOCKMOD=m
-CONFIG_X86_CPUFREQ_NFORCE2=m
-CONFIG_X86_LONGRUN=m
-CONFIG_X86_LONGHAUL=m
-CONFIG_X86_E_POWERSAVER=m
-
-#
-# shared options
-#
-CONFIG_X86_SPEEDSTEP_LIB=m
-CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_INTEL_IDLE=y
-
-#
-# Bus options (PCI etc.)
-#
-CONFIG_PCI=y
-# CONFIG_PCI_GOBIOS is not set
-# CONFIG_PCI_GOMMCONFIG is not set
-# CONFIG_PCI_GODIRECT is not set
-CONFIG_PCI_GOANY=y
-CONFIG_PCI_BIOS=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_MMCONFIG=y
-CONFIG_PCI_DOMAINS=y
-# CONFIG_PCI_CNB20LE_QUIRK is not set
-CONFIG_PCIEPORTBUS=y
-CONFIG_HOTPLUG_PCI_PCIE=m
-CONFIG_PCIEAER=y
-# CONFIG_PCIE_ECRC is not set
-CONFIG_PCIEAER_INJECT=m
-CONFIG_PCIEASPM=y
-# CONFIG_PCIEASPM_DEBUG is not set
-CONFIG_PCIE_PME=y
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_PCI_MSI=y
-# CONFIG_PCI_DEBUG is not set
-CONFIG_PCI_STUB=m
-CONFIG_HT_IRQ=y
-# CONFIG_PCI_IOV is not set
-# CONFIG_PCI_PRI is not set
-# CONFIG_PCI_PASID is not set
-CONFIG_PCI_IOAPIC=y
-CONFIG_PCI_LABEL=y
-CONFIG_ISA_DMA_API=y
-CONFIG_ISA=y
-# CONFIG_EISA is not set
-# CONFIG_MCA is not set
-CONFIG_SCx200=m
-CONFIG_SCx200HR_TIMER=m
-# CONFIG_OLPC is not set
-CONFIG_ALIX=y
-CONFIG_AMD_NB=y
-CONFIG_PCCARD=m
-CONFIG_PCMCIA=m
-CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_CARDBUS=y
-
-#
-# PC-card bridges
-#
-CONFIG_YENTA=m
-CONFIG_YENTA_O2=y
-CONFIG_YENTA_RICOH=y
-CONFIG_YENTA_TI=y
-CONFIG_YENTA_ENE_TUNE=y
-CONFIG_YENTA_TOSHIBA=y
-CONFIG_PD6729=m
-CONFIG_I82092=m
-CONFIG_I82365=m
-CONFIG_TCIC=m
-CONFIG_PCMCIA_PROBE=y
-CONFIG_PCCARD_NONSTATIC=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_FAKE=m
-CONFIG_HOTPLUG_PCI_COMPAQ=m
-# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
-CONFIG_HOTPLUG_PCI_IBM=m
-CONFIG_HOTPLUG_PCI_ACPI=m
-CONFIG_HOTPLUG_PCI_ACPI_IBM=m
-# CONFIG_HOTPLUG_PCI_CPCI is not set
-CONFIG_HOTPLUG_PCI_SHPC=m
-# CONFIG_RAPIDIO is not set
-
-#
-# Executable file formats / Emulations
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_HAVE_AOUT=y
-CONFIG_BINFMT_AOUT=m
-CONFIG_BINFMT_MISC=m
-CONFIG_HAVE_ATOMIC_IOMAP=y
-CONFIG_HAVE_TEXT_POKE_SMP=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=y
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_XFRM_STATISTICS is not set
-CONFIG_XFRM_IPCOMP=m
-CONFIG_NET_KEY=m
-# CONFIG_NET_KEY_MIGRATE is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-# CONFIG_IP_FIB_TRIE_STATS is not set
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_ROUTE_CLASSID=y
-# CONFIG_IP_PNP is not set
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPGRE_BROADCAST=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_XFRM_TUNNEL=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_LRO=y
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-CONFIG_IPV6=m
-CONFIG_IPV6_PRIVACY=y
-# CONFIG_IPV6_ROUTER_PREF is not set
-# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_MIP6=m
-CONFIG_INET6_XFRM_TUNNEL=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
-CONFIG_IPV6_SIT=m
-# CONFIG_IPV6_SIT_6RD is not set
-CONFIG_IPV6_NDISC_NODETYPE=y
-CONFIG_IPV6_TUNNEL=m
-# CONFIG_IPV6_MULTIPLE_TABLES is not set
-# CONFIG_IPV6_MROUTE is not set
-# CONFIG_NETLABEL is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_NETFILTER_ADVANCED=y
-CONFIG_BRIDGE_NETFILTER=y
-
-#
-# Core Netfilter Configuration
-#
-CONFIG_NETFILTER_NETLINK=m
-CONFIG_NETFILTER_NETLINK_QUEUE=m
-CONFIG_NETFILTER_NETLINK_LOG=m
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_MARK=y
-CONFIG_NF_CONNTRACK_ZONES=y
-# CONFIG_NF_CONNTRACK_EVENTS is not set
-# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
-CONFIG_NF_CT_PROTO_DCCP=m
-CONFIG_NF_CT_PROTO_GRE=m
-CONFIG_NF_CT_PROTO_SCTP=m
-CONFIG_NF_CT_PROTO_UDPLITE=m
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK_BROADCAST=m
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_PPTP=m
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-CONFIG_NF_CT_NETLINK=m
-CONFIG_NETFILTER_TPROXY=m
-CONFIG_NETFILTER_XTABLES=m
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_CONNMARK=m
-CONFIG_NETFILTER_XT_SET=m
-
-#
-# Xtables targets
-#
-CONFIG_NETFILTER_XT_TARGET_AUDIT=m
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_HL=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-CONFIG_NETFILTER_XT_TARGET_LED=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
-CONFIG_NETFILTER_XT_TARGET_RATEEST=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-CONFIG_NETFILTER_XT_TARGET_TPROXY=m
-CONFIG_NETFILTER_XT_TARGET_TRACE=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
-
-#
-# Xtables matches
-#
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_HL=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_IPVS=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_OSF=m
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_SOCKET=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-CONFIG_IP_SET=m
-CONFIG_IP_SET_MAX=256
-CONFIG_IP_SET_BITMAP_IP=m
-CONFIG_IP_SET_BITMAP_IPMAC=m
-CONFIG_IP_SET_BITMAP_PORT=m
-CONFIG_IP_SET_HASH_IP=m
-CONFIG_IP_SET_HASH_IPPORT=m
-CONFIG_IP_SET_HASH_IPPORTIP=m
-CONFIG_IP_SET_HASH_IPPORTNET=m
-CONFIG_IP_SET_HASH_NET=m
-CONFIG_IP_SET_HASH_NETPORT=m
-CONFIG_IP_SET_HASH_NETIFACE=m
-CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_VS=m
-# CONFIG_IP_VS_IPV6 is not set
-# CONFIG_IP_VS_DEBUG is not set
-CONFIG_IP_VS_TAB_BITS=12
-
-#
-# IPVS transport protocol load balancing support
-#
-CONFIG_IP_VS_PROTO_TCP=y
-CONFIG_IP_VS_PROTO_UDP=y
-CONFIG_IP_VS_PROTO_AH_ESP=y
-CONFIG_IP_VS_PROTO_ESP=y
-CONFIG_IP_VS_PROTO_AH=y
-CONFIG_IP_VS_PROTO_SCTP=y
-
-#
-# IPVS scheduler
-#
-CONFIG_IP_VS_RR=m
-CONFIG_IP_VS_WRR=m
-CONFIG_IP_VS_LC=m
-CONFIG_IP_VS_WLC=m
-CONFIG_IP_VS_LBLC=m
-CONFIG_IP_VS_LBLCR=m
-CONFIG_IP_VS_DH=m
-CONFIG_IP_VS_SH=m
-CONFIG_IP_VS_SED=m
-CONFIG_IP_VS_NQ=m
-
-#
-# IPVS application helper
-#
-CONFIG_IP_VS_FTP=m
-CONFIG_IP_VS_NFCT=y
-CONFIG_IP_VS_PE_SIP=m
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV4=m
-CONFIG_NF_CONNTRACK_IPV4=m
-CONFIG_NF_CONNTRACK_PROC_COMPAT=y
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_NF_NAT=m
-CONFIG_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_NF_NAT_SNMP_BASIC=m
-CONFIG_NF_NAT_PROTO_DCCP=m
-CONFIG_NF_NAT_PROTO_GRE=m
-CONFIG_NF_NAT_PROTO_UDPLITE=m
-CONFIG_NF_NAT_PROTO_SCTP=m
-CONFIG_NF_NAT_FTP=m
-CONFIG_NF_NAT_IRC=m
-CONFIG_NF_NAT_TFTP=m
-CONFIG_NF_NAT_AMANDA=m
-CONFIG_NF_NAT_PPTP=m
-CONFIG_NF_NAT_H323=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_CLUSTERIP=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_SECURITY=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV6=m
-CONFIG_NF_CONNTRACK_IPV6=m
-CONFIG_IP6_NF_QUEUE=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_TARGET_LOG=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_RAW=m
-CONFIG_IP6_NF_SECURITY=m
-
-#
-# DECnet: Netfilter Configuration
-#
-# CONFIG_DECNET_NF_GRABULATOR is not set
-CONFIG_BRIDGE_NF_EBTABLES=m
-CONFIG_BRIDGE_EBT_BROUTE=m
-CONFIG_BRIDGE_EBT_T_FILTER=m
-CONFIG_BRIDGE_EBT_T_NAT=m
-CONFIG_BRIDGE_EBT_802_3=m
-CONFIG_BRIDGE_EBT_AMONG=m
-CONFIG_BRIDGE_EBT_ARP=m
-CONFIG_BRIDGE_EBT_IP=m
-CONFIG_BRIDGE_EBT_IP6=m
-CONFIG_BRIDGE_EBT_LIMIT=m
-CONFIG_BRIDGE_EBT_MARK=m
-CONFIG_BRIDGE_EBT_PKTTYPE=m
-CONFIG_BRIDGE_EBT_STP=m
-CONFIG_BRIDGE_EBT_VLAN=m
-CONFIG_BRIDGE_EBT_ARPREPLY=m
-CONFIG_BRIDGE_EBT_DNAT=m
-CONFIG_BRIDGE_EBT_MARK_T=m
-CONFIG_BRIDGE_EBT_REDIRECT=m
-CONFIG_BRIDGE_EBT_SNAT=m
-CONFIG_BRIDGE_EBT_LOG=m
-CONFIG_BRIDGE_EBT_ULOG=m
-CONFIG_BRIDGE_EBT_NFLOG=m
-CONFIG_IP_DCCP=m
-CONFIG_INET_DCCP_DIAG=m
-
-#
-# DCCP CCIDs Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_DCCP_CCID2_DEBUG is not set
-# CONFIG_IP_DCCP_CCID3 is not set
-
-#
-# DCCP Kernel Hacking
-#
-# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_SCTP=m
-# CONFIG_SCTP_DBG_MSG is not set
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# CONFIG_SCTP_HMAC_NONE is not set
-# CONFIG_SCTP_HMAC_SHA1 is not set
-CONFIG_SCTP_HMAC_MD5=y
-CONFIG_RDS=m
-CONFIG_RDS_RDMA=m
-CONFIG_RDS_TCP=m
-# CONFIG_RDS_DEBUG is not set
-CONFIG_TIPC=m
-# CONFIG_TIPC_ADVANCED is not set
-# CONFIG_TIPC_DEBUG is not set
-CONFIG_ATM=m
-CONFIG_ATM_CLIP=m
-# CONFIG_ATM_CLIP_NO_ICMP is not set
-CONFIG_ATM_LANE=m
-CONFIG_ATM_MPOA=m
-CONFIG_ATM_BR2684=m
-# CONFIG_ATM_BR2684_IPFILTER is not set
-CONFIG_L2TP=m
-CONFIG_L2TP_DEBUGFS=m
-CONFIG_L2TP_V3=y
-CONFIG_L2TP_IP=m
-CONFIG_L2TP_ETH=m
-CONFIG_STP=m
-CONFIG_GARP=m
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-# CONFIG_NET_DSA is not set
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_DECNET=m
-# CONFIG_DECNET_ROUTER is not set
-CONFIG_LLC=y
-CONFIG_LLC2=m
-CONFIG_IPX=m
-# CONFIG_IPX_INTERN is not set
-CONFIG_ATALK=m
-CONFIG_DEV_APPLETALK=m
-CONFIG_LTPC=m
-CONFIG_COPS=m
-CONFIG_COPS_DAYNA=y
-CONFIG_COPS_TANGENT=y
-CONFIG_IPDDP=m
-CONFIG_IPDDP_ENCAP=y
-CONFIG_IPDDP_DECAP=y
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-CONFIG_WAN_ROUTER=m
-# CONFIG_PHONET is not set
-CONFIG_IEEE802154=m
-CONFIG_IEEE802154_6LOWPAN=m
-CONFIG_NET_SCHED=y
-
-#
-# Queueing/Scheduling
-#
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_ATM=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_MULTIQ=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFB=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_NETEM=m
-CONFIG_NET_SCH_DRR=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_CHOKE=m
-CONFIG_NET_SCH_QFQ=m
-CONFIG_NET_SCH_INGRESS=m
-
-#
-# Classification
-#
-CONFIG_NET_CLS=y
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-# CONFIG_CLS_U32_PERF is not set
-CONFIG_CLS_U32_MARK=y
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_CLS_FLOW=m
-CONFIG_NET_CLS_CGROUP=y
-CONFIG_NET_EMATCH=y
-CONFIG_NET_EMATCH_STACK=32
-CONFIG_NET_EMATCH_CMP=m
-CONFIG_NET_EMATCH_NBYTE=m
-CONFIG_NET_EMATCH_U32=m
-CONFIG_NET_EMATCH_META=m
-CONFIG_NET_EMATCH_TEXT=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_POLICE=y
-CONFIG_NET_ACT_GACT=m
-CONFIG_GACT_PROB=y
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_IPT=m
-CONFIG_NET_ACT_NAT=m
-CONFIG_NET_ACT_PEDIT=m
-CONFIG_NET_ACT_SIMP=m
-CONFIG_NET_ACT_SKBEDIT=m
-CONFIG_NET_ACT_CSUM=m
-# CONFIG_NET_CLS_IND is not set
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=y
-CONFIG_BATMAN_ADV=m
-# CONFIG_BATMAN_ADV_DEBUG is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_NET_DROP_MONITOR is not set
-CONFIG_HAMRADIO=y
-
-#
-# Packet Radio protocols
-#
-CONFIG_AX25=m
-# CONFIG_AX25_DAMA_SLAVE is not set
-CONFIG_NETROM=m
-CONFIG_ROSE=m
-
-#
-# AX.25 network device drivers
-#
-CONFIG_MKISS=m
-CONFIG_6PACK=m
-CONFIG_BPQETHER=m
-# CONFIG_DMASCC is not set
-CONFIG_SCC=m
-CONFIG_SCC_DELAY=y
-CONFIG_SCC_TRXECHO=y
-CONFIG_BAYCOM_SER_FDX=m
-CONFIG_BAYCOM_SER_HDX=m
-CONFIG_BAYCOM_PAR=m
-CONFIG_BAYCOM_EPP=m
-CONFIG_YAM=m
-CONFIG_CAN=m
-CONFIG_CAN_RAW=m
-CONFIG_CAN_BCM=m
-CONFIG_CAN_GW=m
-
-#
-# CAN Device Drivers
-#
-CONFIG_CAN_VCAN=m
-CONFIG_CAN_SLCAN=m
-CONFIG_CAN_DEV=m
-CONFIG_CAN_CALC_BITTIMING=y
-CONFIG_CAN_JANZ_ICAN3=m
-CONFIG_PCH_CAN=m
-CONFIG_CAN_SJA1000=m
-CONFIG_CAN_SJA1000_ISA=m
-CONFIG_CAN_SJA1000_PLATFORM=m
-CONFIG_CAN_EMS_PCMCIA=m
-CONFIG_CAN_EMS_PCI=m
-CONFIG_CAN_PEAK_PCI=m
-CONFIG_CAN_KVASER_PCI=m
-CONFIG_CAN_PLX_PCI=m
-CONFIG_CAN_TSCAN1=m
-CONFIG_CAN_C_CAN=m
-CONFIG_CAN_C_CAN_PLATFORM=m
-
-#
-# CAN USB interfaces
-#
-CONFIG_CAN_EMS_USB=m
-CONFIG_CAN_ESD_USB2=m
-CONFIG_CAN_SOFTING=m
-CONFIG_CAN_SOFTING_CS=m
-# CONFIG_CAN_DEBUG_DEVICES is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-CONFIG_IRDA_CACHE_LAST_LSAP=y
-CONFIG_IRDA_FAST_RR=y
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-CONFIG_IRTTY_SIR=m
-
-#
-# Dongle support
-#
-CONFIG_DONGLE=y
-CONFIG_ESI_DONGLE=m
-CONFIG_ACTISYS_DONGLE=m
-CONFIG_TEKRAM_DONGLE=m
-CONFIG_TOIM3232_DONGLE=m
-CONFIG_LITELINK_DONGLE=m
-CONFIG_MA600_DONGLE=m
-CONFIG_GIRBIL_DONGLE=m
-CONFIG_MCP2120_DONGLE=m
-CONFIG_OLD_BELKIN_DONGLE=m
-CONFIG_ACT200L_DONGLE=m
-CONFIG_KINGSUN_DONGLE=m
-CONFIG_KSDAZZLE_DONGLE=m
-CONFIG_KS959_DONGLE=m
-
-#
-# FIR device drivers
-#
-CONFIG_USB_IRDA=m
-CONFIG_SIGMATEL_FIR=m
-CONFIG_NSC_FIR=m
-CONFIG_WINBOND_FIR=m
-CONFIG_TOSHIBA_FIR=m
-CONFIG_SMC_IRCC_FIR=m
-CONFIG_ALI_FIR=m
-CONFIG_VLSI_FIR=m
-CONFIG_VIA_FIR=m
-CONFIG_MCS_FIR=m
-CONFIG_BT=m
-CONFIG_BT_L2CAP=y
-CONFIG_BT_SCO=y
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_CMTP=m
-CONFIG_BT_HIDP=m
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIVHCI=m
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-CONFIG_BT_ATH3K=m
-CONFIG_BT_WILINK=m
-CONFIG_AF_RXRPC=m
-# CONFIG_AF_RXRPC_DEBUG is not set
-CONFIG_RXKAD=m
-CONFIG_FIB_RULES=y
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=m
-# CONFIG_NL80211_TESTMODE is not set
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-# CONFIG_CFG80211_REG_DEBUG is not set
-CONFIG_CFG80211_DEFAULT_PS=y
-# CONFIG_CFG80211_DEBUGFS is not set
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_WEXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-CONFIG_LIB80211=m
-CONFIG_LIB80211_CRYPT_WEP=m
-CONFIG_LIB80211_CRYPT_CCMP=m
-CONFIG_LIB80211_CRYPT_TKIP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_MAC80211=m
-CONFIG_MAC80211_HAS_RC=y
-CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_RC_MINSTREL_HT=y
-CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
-CONFIG_MAC80211_MESH=y
-CONFIG_MAC80211_LEDS=y
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_WIMAX=m
-CONFIG_WIMAX_DEBUG_LEVEL=8
-CONFIG_RFKILL=m
-CONFIG_RFKILL_LEDS=y
-CONFIG_RFKILL_INPUT=y
-CONFIG_RFKILL_REGULATOR=m
-CONFIG_NET_9P=m
-CONFIG_NET_9P_VIRTIO=m
-CONFIG_NET_9P_RDMA=m
-# CONFIG_NET_9P_DEBUG is not set
-# CONFIG_CAIF is not set
-CONFIG_CEPH_LIB=m
-# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
-# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
-CONFIG_NFC=m
-CONFIG_NFC_NCI=m
-
-#
-# Near Field Communication (NFC) devices
-#
-CONFIG_PN544_NFC=m
-CONFIG_NFC_PN533=m
-CONFIG_NFC_WILINK=m
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-# CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-CONFIG_REGMAP=y
-CONFIG_REGMAP_I2C=m
-CONFIG_CONNECTOR=m
-CONFIG_MTD=m
-CONFIG_MTD_TESTS=m
-CONFIG_MTD_REDBOOT_PARTS=m
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-CONFIG_MTD_AR7_PARTS=m
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=m
-CONFIG_HAVE_MTD_OTP=y
-CONFIG_MTD_BLKDEVS=m
-CONFIG_MTD_BLOCK=m
-CONFIG_MTD_BLOCK_RO=m
-CONFIG_FTL=m
-CONFIG_NFTL=m
-CONFIG_NFTL_RW=y
-CONFIG_INFTL=m
-CONFIG_RFD_FTL=m
-CONFIG_SSFDC=m
-CONFIG_SM_FTL=m
-CONFIG_MTD_OOPS=m
-CONFIG_MTD_SWAP=m
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=m
-CONFIG_MTD_JEDECPROBE=m
-CONFIG_MTD_GEN_PROBE=m
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_GEOMETRY=y
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-CONFIG_MTD_MAP_BANK_WIDTH_8=y
-CONFIG_MTD_MAP_BANK_WIDTH_16=y
-CONFIG_MTD_MAP_BANK_WIDTH_32=y
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-CONFIG_MTD_CFI_I4=y
-CONFIG_MTD_CFI_I8=y
-CONFIG_MTD_OTP=y
-CONFIG_MTD_CFI_INTELEXT=m
-CONFIG_MTD_CFI_AMDSTD=m
-CONFIG_MTD_CFI_STAA=m
-CONFIG_MTD_CFI_UTIL=m
-CONFIG_MTD_RAM=m
-CONFIG_MTD_ROM=m
-CONFIG_MTD_ABSENT=m
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=m
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-CONFIG_MTD_SC520CDP=m
-CONFIG_MTD_NETSC520=m
-CONFIG_MTD_TS5500=m
-CONFIG_MTD_SBC_GXX=m
-CONFIG_MTD_SCx200_DOCFLASH=m
-CONFIG_MTD_AMD76XROM=m
-CONFIG_MTD_ICHXROM=m
-CONFIG_MTD_ESB2ROM=m
-CONFIG_MTD_CK804XROM=m
-CONFIG_MTD_SCB2_FLASH=m
-CONFIG_MTD_NETtel=m
-CONFIG_MTD_L440GX=m
-CONFIG_MTD_PCI=m
-CONFIG_MTD_PCMCIA=m
-# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
-CONFIG_MTD_GPIO_ADDR=m
-CONFIG_MTD_INTEL_VR_NOR=m
-CONFIG_MTD_PLATRAM=m
-CONFIG_MTD_LATCH_ADDR=m
-
-#
-# Self-contained MTD device drivers
-#
-CONFIG_MTD_PMC551=m
-CONFIG_MTD_PMC551_BUGFIX=y
-# CONFIG_MTD_PMC551_DEBUG is not set
-CONFIG_MTD_SLRAM=m
-CONFIG_MTD_PHRAM=m
-CONFIG_MTD_MTDRAM=m
-CONFIG_MTDRAM_TOTAL_SIZE=4096
-CONFIG_MTDRAM_ERASE_SIZE=128
-CONFIG_MTD_BLOCK2MTD=m
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-CONFIG_MTD_DOC2001PLUS=m
-CONFIG_MTD_DOCG3=m
-CONFIG_MTD_DOCPROBE=m
-CONFIG_MTD_DOCECC=m
-CONFIG_MTD_DOCPROBE_ADVANCED=y
-CONFIG_MTD_DOCPROBE_ADDRESS=0x0000
-CONFIG_MTD_DOCPROBE_HIGH=y
-CONFIG_MTD_DOCPROBE_55AA=y
-CONFIG_MTD_NAND_ECC=m
-CONFIG_MTD_NAND_ECC_SMC=y
-CONFIG_MTD_NAND=m
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-CONFIG_MTD_NAND_BCH=m
-CONFIG_MTD_NAND_ECC_BCH=y
-CONFIG_MTD_SM_COMMON=m
-CONFIG_MTD_NAND_MUSEUM_IDS=y
-CONFIG_MTD_NAND_DENALI=m
-CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
-CONFIG_MTD_NAND_IDS=m
-CONFIG_MTD_NAND_RICOH=m
-CONFIG_MTD_NAND_DISKONCHIP=m
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
-CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y
-CONFIG_MTD_NAND_CAFE=m
-CONFIG_MTD_NAND_CS553X=m
-CONFIG_MTD_NAND_NANDSIM=m
-CONFIG_MTD_NAND_PLATFORM=m
-CONFIG_MTD_ALAUDA=m
-CONFIG_MTD_ONENAND=m
-CONFIG_MTD_ONENAND_VERIFY_WRITE=y
-CONFIG_MTD_ONENAND_GENERIC=m
-CONFIG_MTD_ONENAND_OTP=y
-CONFIG_MTD_ONENAND_2X_PROGRAM=y
-CONFIG_MTD_ONENAND_SIM=m
-
-#
-# LPDDR flash memory drivers
-#
-CONFIG_MTD_LPDDR=m
-CONFIG_MTD_QINFO_PROBE=m
-CONFIG_MTD_UBI=m
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-CONFIG_MTD_UBI_GLUEBI=m
-# CONFIG_MTD_UBI_DEBUG is not set
-CONFIG_PARPORT=m
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_SERIAL=m
-# CONFIG_PARPORT_PC_FIFO is not set
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_GSC is not set
-CONFIG_PARPORT_AX88796=m
-CONFIG_PARPORT_1284=y
-CONFIG_PARPORT_NOT_PC=y
-CONFIG_PNP=y
-CONFIG_PNP_DEBUG_MESSAGES=y
-
-#
-# Protocols
-#
-CONFIG_ISAPNP=y
-# CONFIG_PNPBIOS is not set
-CONFIG_PNPACPI=y
-CONFIG_BLK_DEV=y
-CONFIG_BLK_DEV_FD=y
-CONFIG_BLK_DEV_XD=m
-CONFIG_PARIDE=m
-
-#
-# Parallel IDE high-level drivers
-#
-CONFIG_PARIDE_PD=m
-CONFIG_PARIDE_PCD=m
-CONFIG_PARIDE_PF=m
-CONFIG_PARIDE_PT=m
-CONFIG_PARIDE_PG=m
-
-#
-# Parallel IDE protocol modules
-#
-CONFIG_PARIDE_ATEN=m
-CONFIG_PARIDE_BPCK=m
-CONFIG_PARIDE_BPCK6=m
-CONFIG_PARIDE_COMM=m
-CONFIG_PARIDE_DSTR=m
-CONFIG_PARIDE_FIT2=m
-CONFIG_PARIDE_FIT3=m
-CONFIG_PARIDE_EPAT=m
-CONFIG_PARIDE_EPATC8=y
-CONFIG_PARIDE_EPIA=m
-CONFIG_PARIDE_FRIQ=m
-CONFIG_PARIDE_FRPW=m
-CONFIG_PARIDE_KBIC=m
-CONFIG_PARIDE_KTTI=m
-CONFIG_PARIDE_ON20=m
-CONFIG_PARIDE_ON26=m
-CONFIG_BLK_CPQ_DA=y
-CONFIG_BLK_CPQ_CISS_DA=y
-CONFIG_CISS_SCSI_TAPE=y
-CONFIG_BLK_DEV_DAC960=y
-CONFIG_BLK_DEV_UMEM=m
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-CONFIG_BLK_DEV_DRBD=m
-# CONFIG_DRBD_FAULT_INJECTION is not set
-CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_OSD=m
-CONFIG_BLK_DEV_SX8=y
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=16384
-# CONFIG_BLK_DEV_XIP is not set
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-CONFIG_ATA_OVER_ETH=m
-CONFIG_VIRTIO_BLK=m
-# CONFIG_BLK_DEV_HD is not set
-CONFIG_BLK_DEV_RBD=m
-CONFIG_SENSORS_LIS3LV02D=m
-CONFIG_MISC_DEVICES=y
-CONFIG_AD525X_DPOT=m
-CONFIG_AD525X_DPOT_I2C=m
-CONFIG_IBM_ASM=m
-CONFIG_PHANTOM=m
-CONFIG_INTEL_MID_PTI=m
-CONFIG_SGI_IOC4=m
-CONFIG_TIFM_CORE=m
-CONFIG_TIFM_7XX1=m
-CONFIG_ICS932S401=m
-CONFIG_ENCLOSURE_SERVICES=m
-CONFIG_CS5535_MFGPT=m
-CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
-CONFIG_CS5535_CLOCK_EVENT_SRC=m
-CONFIG_HP_ILO=m
-CONFIG_APDS9802ALS=m
-CONFIG_ISL29003=m
-CONFIG_ISL29020=m
-CONFIG_SENSORS_TSL2550=m
-CONFIG_SENSORS_BH1780=m
-CONFIG_SENSORS_BH1770=m
-CONFIG_SENSORS_APDS990X=m
-CONFIG_HMC6352=m
-CONFIG_DS1682=m
-CONFIG_VMWARE_BALLOON=m
-CONFIG_BMP085=m
-CONFIG_PCH_PHUB=m
-CONFIG_USB_SWITCH_FSA9480=m
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-CONFIG_EEPROM_AT24=m
-CONFIG_EEPROM_LEGACY=m
-CONFIG_EEPROM_MAX6875=m
-CONFIG_EEPROM_93CX6=m
-CONFIG_CB710_CORE=m
-# CONFIG_CB710_DEBUG is not set
-CONFIG_CB710_DEBUG_ASSUMPTIONS=y
-CONFIG_IWMC3200TOP=m
-# CONFIG_IWMC3200TOP_DEBUG is not set
-# CONFIG_IWMC3200TOP_DEBUGFS is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-CONFIG_TI_ST=m
-CONFIG_SENSORS_LIS3_I2C=m
-
-#
-# Altera FPGA firmware download module
-#
-CONFIG_ALTERA_STAPL=m
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-CONFIG_RAID_ATTRS=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_SCSI_TGT=y
-CONFIG_SCSI_NETLINK=y
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_ST=y
-CONFIG_CHR_DEV_OSST=m
-CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_CHR_DEV_SG=m
-CONFIG_CHR_DEV_SCH=m
-CONFIG_SCSI_ENCLOSURE=m
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-CONFIG_SCSI_SPI_ATTRS=y
-CONFIG_SCSI_FC_ATTRS=y
-CONFIG_SCSI_FC_TGT_ATTRS=y
-CONFIG_SCSI_ISCSI_ATTRS=m
-CONFIG_SCSI_SAS_ATTRS=y
-CONFIG_SCSI_SAS_LIBSAS=y
-CONFIG_SCSI_SAS_ATA=y
-CONFIG_SCSI_SAS_HOST_SMP=y
-CONFIG_SCSI_SRP_ATTRS=m
-CONFIG_SCSI_SRP_TGT_ATTRS=y
-CONFIG_SCSI_LOWLEVEL=y
-CONFIG_ISCSI_TCP=m
-CONFIG_ISCSI_BOOT_SYSFS=y
-CONFIG_SCSI_CXGB3_ISCSI=m
-CONFIG_SCSI_CXGB4_ISCSI=m
-CONFIG_SCSI_BNX2_ISCSI=m
-CONFIG_SCSI_BNX2X_FCOE=m
-CONFIG_BE2ISCSI=m
-CONFIG_BLK_DEV_3W_XXXX_RAID=y
-CONFIG_SCSI_HPSA=y
-CONFIG_SCSI_3W_9XXX=y
-CONFIG_SCSI_3W_SAS=y
-CONFIG_SCSI_7000FASST=y
-CONFIG_SCSI_ACARD=y
-CONFIG_SCSI_AHA152X=y
-CONFIG_SCSI_AHA1542=y
-CONFIG_SCSI_AACRAID=y
-CONFIG_SCSI_AIC7XXX=y
-CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
-CONFIG_AIC7XXX_RESET_DELAY_MS=15000
-# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
-CONFIG_AIC7XXX_DEBUG_MASK=0
-# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
-CONFIG_SCSI_AIC7XXX_OLD=y
-CONFIG_SCSI_AIC79XX=y
-CONFIG_AIC79XX_CMDS_PER_DEVICE=4
-CONFIG_AIC79XX_RESET_DELAY_MS=15000
-# CONFIG_AIC79XX_DEBUG_ENABLE is not set
-CONFIG_AIC79XX_DEBUG_MASK=0
-# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
-CONFIG_SCSI_AIC94XX=y
-# CONFIG_AIC94XX_DEBUG is not set
-CONFIG_SCSI_MVSAS=y
-# CONFIG_SCSI_MVSAS_DEBUG is not set
-# CONFIG_SCSI_MVSAS_TASKLET is not set
-CONFIG_SCSI_MVUMI=m
-CONFIG_SCSI_DPT_I2O=m
-CONFIG_SCSI_ADVANSYS=y
-CONFIG_SCSI_IN2000=y
-CONFIG_SCSI_ARCMSR=y
-CONFIG_MEGARAID_NEWGEN=y
-CONFIG_MEGARAID_MM=y
-CONFIG_MEGARAID_MAILBOX=y
-CONFIG_MEGARAID_LEGACY=m
-CONFIG_MEGARAID_SAS=y
-CONFIG_SCSI_MPT2SAS=y
-CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT2SAS_LOGGING is not set
-CONFIG_SCSI_HPTIOP=y
-CONFIG_SCSI_BUSLOGIC=y
-CONFIG_SCSI_FLASHPOINT=y
-CONFIG_VMWARE_PVSCSI=m
-CONFIG_LIBFC=y
-CONFIG_LIBFCOE=y
-CONFIG_FCOE=y
-CONFIG_FCOE_FNIC=y
-CONFIG_SCSI_DMX3191D=y
-CONFIG_SCSI_DTC3280=y
-CONFIG_SCSI_EATA=y
-# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
-# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
-CONFIG_SCSI_EATA_MAX_TAGS=16
-CONFIG_SCSI_FUTURE_DOMAIN=y
-CONFIG_SCSI_GDTH=y
-CONFIG_SCSI_ISCI=m
-CONFIG_SCSI_GENERIC_NCR5380=m
-CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
-CONFIG_SCSI_GENERIC_NCR53C400=y
-CONFIG_SCSI_IPS=y
-CONFIG_SCSI_INITIO=y
-CONFIG_SCSI_INIA100=y
-CONFIG_SCSI_PPA=m
-CONFIG_SCSI_IMM=m
-# CONFIG_SCSI_IZIP_EPP16 is not set
-# CONFIG_SCSI_IZIP_SLOW_CTR is not set
-CONFIG_SCSI_NCR53C406A=m
-CONFIG_SCSI_STEX=y
-CONFIG_SCSI_SYM53C8XX_2=y
-CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
-CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
-CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
-CONFIG_SCSI_SYM53C8XX_MMIO=y
-CONFIG_SCSI_IPR=y
-# CONFIG_SCSI_IPR_TRACE is not set
-# CONFIG_SCSI_IPR_DUMP is not set
-CONFIG_SCSI_PAS16=m
-CONFIG_SCSI_QLOGIC_FAS=y
-CONFIG_SCSI_QLOGIC_1280=y
-CONFIG_SCSI_QLA_FC=y
-CONFIG_SCSI_QLA_ISCSI=m
-CONFIG_SCSI_LPFC=y
-# CONFIG_SCSI_LPFC_DEBUG_FS is not set
-CONFIG_SCSI_SYM53C416=y
-CONFIG_SCSI_DC395x=y
-CONFIG_SCSI_DC390T=y
-CONFIG_SCSI_T128=y
-CONFIG_SCSI_U14_34F=m
-# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
-# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
-CONFIG_SCSI_U14_34F_MAX_TAGS=8
-CONFIG_SCSI_ULTRASTOR=y
-CONFIG_SCSI_NSP32=m
-CONFIG_SCSI_DEBUG=m
-CONFIG_SCSI_PMCRAID=y
-CONFIG_SCSI_PM8001=y
-CONFIG_SCSI_SRP=y
-CONFIG_SCSI_BFA_FC=y
-CONFIG_SCSI_LOWLEVEL_PCMCIA=y
-CONFIG_PCMCIA_AHA152X=m
-CONFIG_PCMCIA_FDOMAIN=m
-CONFIG_PCMCIA_NINJA_SCSI=m
-CONFIG_PCMCIA_QLOGIC=m
-CONFIG_PCMCIA_SYM53C500=m
-CONFIG_SCSI_DH=m
-CONFIG_SCSI_DH_RDAC=m
-CONFIG_SCSI_DH_HP_SW=m
-CONFIG_SCSI_DH_EMC=m
-CONFIG_SCSI_DH_ALUA=m
-CONFIG_SCSI_OSD_INITIATOR=m
-CONFIG_SCSI_OSD_ULD=m
-CONFIG_SCSI_OSD_DPRINT_SENSE=1
-# CONFIG_SCSI_OSD_DEBUG is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_ATA_ACPI=y
-CONFIG_SATA_PMP=y
-
-#
-# Controllers with non-SFF native interface
-#
-CONFIG_SATA_AHCI=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_SATA_INIC162X=y
-CONFIG_SATA_ACARD_AHCI=y
-CONFIG_SATA_SIL24=y
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_PDC_ADMA=y
-CONFIG_SATA_QSTOR=y
-CONFIG_SATA_SX4=y
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-CONFIG_ATA_PIIX=y
-CONFIG_SATA_MV=y
-CONFIG_SATA_NV=y
-CONFIG_SATA_PROMISE=y
-CONFIG_SATA_SIL=y
-CONFIG_SATA_SIS=y
-CONFIG_SATA_SVW=y
-CONFIG_SATA_ULI=y
-CONFIG_SATA_VIA=y
-CONFIG_SATA_VITESSE=y
-
-#
-# PATA SFF controllers with BMDMA
-#
-CONFIG_PATA_ALI=y
-CONFIG_PATA_AMD=y
-CONFIG_PATA_ARASAN_CF=m
-CONFIG_PATA_ARTOP=y
-CONFIG_PATA_ATIIXP=y
-CONFIG_PATA_ATP867X=y
-CONFIG_PATA_CMD64X=y
-CONFIG_PATA_CS5520=y
-CONFIG_PATA_CS5530=y
-CONFIG_PATA_CS5535=y
-CONFIG_PATA_CS5536=y
-CONFIG_PATA_CYPRESS=y
-CONFIG_PATA_EFAR=y
-CONFIG_PATA_HPT366=y
-CONFIG_PATA_HPT37X=y
-CONFIG_PATA_HPT3X2N=y
-CONFIG_PATA_HPT3X3=y
-CONFIG_PATA_HPT3X3_DMA=y
-CONFIG_PATA_IT8213=y
-CONFIG_PATA_IT821X=y
-CONFIG_PATA_JMICRON=y
-CONFIG_PATA_MARVELL=y
-CONFIG_PATA_NETCELL=y
-CONFIG_PATA_NINJA32=y
-CONFIG_PATA_NS87415=y
-CONFIG_PATA_OLDPIIX=y
-CONFIG_PATA_OPTIDMA=y
-CONFIG_PATA_PDC2027X=y
-CONFIG_PATA_PDC_OLD=y
-CONFIG_PATA_RADISYS=y
-CONFIG_PATA_RDC=y
-CONFIG_PATA_SC1200=y
-CONFIG_PATA_SCH=y
-CONFIG_PATA_SERVERWORKS=y
-CONFIG_PATA_SIL680=y
-CONFIG_PATA_SIS=y
-CONFIG_PATA_TOSHIBA=m
-CONFIG_PATA_TRIFLEX=y
-CONFIG_PATA_VIA=y
-CONFIG_PATA_WINBOND=y
-
-#
-# PIO-only SFF controllers
-#
-CONFIG_PATA_CMD640_PCI=y
-CONFIG_PATA_ISAPNP=y
-CONFIG_PATA_MPIIX=y
-CONFIG_PATA_NS87410=y
-CONFIG_PATA_OPTI=y
-CONFIG_PATA_PCMCIA=m
-CONFIG_PATA_QDI=y
-CONFIG_PATA_RZ1000=y
-CONFIG_PATA_WINBOND_VLB=y
-
-#
-# Generic fallback / legacy drivers
-#
-CONFIG_PATA_ACPI=y
-CONFIG_ATA_GENERIC=y
-CONFIG_PATA_LEGACY=y
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=y
-CONFIG_MD_AUTODETECT=y
-CONFIG_MD_LINEAR=y
-CONFIG_MD_RAID0=y
-CONFIG_MD_RAID1=y
-CONFIG_MD_RAID10=y
-CONFIG_MD_RAID456=y
-CONFIG_MD_MULTIPATH=y
-CONFIG_MD_FAULTY=m
-CONFIG_BLK_DEV_DM=y
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_BUFIO=m
-CONFIG_DM_PERSISTENT_DATA=m
-CONFIG_DM_CRYPT=y
-CONFIG_DM_SNAPSHOT=y
-CONFIG_DM_THIN_PROVISIONING=m
-# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
-# CONFIG_DM_DEBUG_SPACE_MAPS is not set
-CONFIG_DM_MIRROR=y
-CONFIG_DM_RAID=m
-CONFIG_DM_LOG_USERSPACE=m
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-CONFIG_DM_MULTIPATH_QL=m
-CONFIG_DM_MULTIPATH_ST=m
-# CONFIG_DM_DELAY is not set
-CONFIG_DM_UEVENT=y
-CONFIG_DM_FLAKEY=m
-CONFIG_TARGET_CORE=m
-CONFIG_TCM_IBLOCK=m
-CONFIG_TCM_FILEIO=m
-CONFIG_TCM_PSCSI=m
-CONFIG_LOOPBACK_TARGET=m
-CONFIG_TCM_FC=m
-CONFIG_ISCSI_TARGET=m
-CONFIG_FUSION=y
-CONFIG_FUSION_SPI=y
-CONFIG_FUSION_FC=y
-CONFIG_FUSION_SAS=y
-CONFIG_FUSION_MAX_SGE=128
-CONFIG_FUSION_CTL=y
-CONFIG_FUSION_LAN=y
-# CONFIG_FUSION_LOGGING is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-CONFIG_FIREWIRE=m
-CONFIG_FIREWIRE_OHCI=m
-CONFIG_FIREWIRE_OHCI_DEBUG=y
-CONFIG_FIREWIRE_SBP2=m
-CONFIG_FIREWIRE_NET=m
-CONFIG_FIREWIRE_NOSY=m
-CONFIG_I2O=y
-CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
-CONFIG_I2O_EXT_ADAPTEC=y
-CONFIG_I2O_CONFIG=y
-# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
-CONFIG_I2O_BUS=y
-CONFIG_I2O_BLOCK=y
-CONFIG_I2O_SCSI=y
-CONFIG_I2O_PROC=y
-CONFIG_MACINTOSH_DRIVERS=y
-CONFIG_MAC_EMUMOUSEBTN=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_BONDING=m
-CONFIG_DUMMY=m
-CONFIG_EQUALIZER=m
-CONFIG_NET_FC=y
-CONFIG_MII=m
-CONFIG_IEEE802154_DRIVERS=m
-CONFIG_IEEE802154_FAKEHARD=m
-CONFIG_IFB=m
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_NETCONSOLE=m
-CONFIG_NETCONSOLE_DYNAMIC=y
-CONFIG_NETPOLL=y
-# CONFIG_NETPOLL_TRAP is not set
-CONFIG_NET_POLL_CONTROLLER=y
-CONFIG_TUN=m
-CONFIG_VETH=m
-CONFIG_VIRTIO_NET=m
-CONFIG_SUNGEM_PHY=m
-CONFIG_ARCNET=m
-CONFIG_ARCNET_1201=m
-CONFIG_ARCNET_1051=m
-CONFIG_ARCNET_RAW=m
-CONFIG_ARCNET_CAP=m
-CONFIG_ARCNET_COM90xx=m
-CONFIG_ARCNET_COM90xxIO=m
-CONFIG_ARCNET_RIM_I=m
-CONFIG_ARCNET_COM20020=m
-CONFIG_ARCNET_COM20020_ISA=m
-CONFIG_ARCNET_COM20020_PCI=m
-CONFIG_ARCNET_COM20020_CS=m
-CONFIG_ATM_DRIVERS=y
-CONFIG_ATM_DUMMY=m
-CONFIG_ATM_TCP=m
-CONFIG_ATM_LANAI=m
-CONFIG_ATM_ENI=m
-# CONFIG_ATM_ENI_DEBUG is not set
-# CONFIG_ATM_ENI_TUNE_BURST is not set
-CONFIG_ATM_FIRESTREAM=m
-CONFIG_ATM_ZATM=m
-# CONFIG_ATM_ZATM_DEBUG is not set
-CONFIG_ATM_NICSTAR=m
-# CONFIG_ATM_NICSTAR_USE_SUNI is not set
-# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
-CONFIG_ATM_IDT77252=m
-# CONFIG_ATM_IDT77252_DEBUG is not set
-# CONFIG_ATM_IDT77252_RCV_ALL is not set
-CONFIG_ATM_IDT77252_USE_SUNI=y
-CONFIG_ATM_AMBASSADOR=m
-# CONFIG_ATM_AMBASSADOR_DEBUG is not set
-CONFIG_ATM_HORIZON=m
-# CONFIG_ATM_HORIZON_DEBUG is not set
-CONFIG_ATM_IA=m
-# CONFIG_ATM_IA_DEBUG is not set
-CONFIG_ATM_FORE200E=m
-# CONFIG_ATM_FORE200E_USE_TASKLET is not set
-CONFIG_ATM_FORE200E_TX_RETRY=16
-CONFIG_ATM_FORE200E_DEBUG=0
-CONFIG_ATM_HE=m
-# CONFIG_ATM_HE_USE_SUNI is not set
-CONFIG_ATM_SOLOS=m
-
-#
-# CAIF transport drivers
-#
-CONFIG_ETHERNET=y
-CONFIG_MDIO=m
-CONFIG_NET_VENDOR_3COM=y
-CONFIG_EL1=m
-CONFIG_EL3=m
-CONFIG_3C515=m
-CONFIG_PCMCIA_3C574=m
-CONFIG_PCMCIA_3C589=m
-CONFIG_VORTEX=m
-CONFIG_TYPHOON=m
-CONFIG_NET_VENDOR_ADAPTEC=y
-CONFIG_ADAPTEC_STARFIRE=m
-CONFIG_NET_VENDOR_ALTEON=y
-CONFIG_ACENIC=m
-# CONFIG_ACENIC_OMIT_TIGON_I is not set
-CONFIG_NET_VENDOR_AMD=y
-CONFIG_AMD8111_ETH=m
-CONFIG_LANCE=m
-CONFIG_PCNET32=m
-CONFIG_DEPCA=m
-CONFIG_PCMCIA_NMCLAN=m
-CONFIG_NI65=m
-CONFIG_NET_VENDOR_ATHEROS=y
-CONFIG_ATL2=m
-CONFIG_ATL1=m
-CONFIG_ATL1E=m
-CONFIG_ATL1C=m
-CONFIG_NET_VENDOR_BROADCOM=y
-CONFIG_B44=m
-CONFIG_B44_PCI_AUTOSELECT=y
-CONFIG_B44_PCICORE_AUTOSELECT=y
-CONFIG_B44_PCI=y
-CONFIG_BNX2=m
-CONFIG_CNIC=m
-CONFIG_TIGON3=m
-CONFIG_BNX2X=m
-CONFIG_NET_VENDOR_BROCADE=y
-CONFIG_BNA=m
-CONFIG_NET_VENDOR_CHELSIO=y
-CONFIG_CHELSIO_T1=m
-CONFIG_CHELSIO_T1_1G=y
-CONFIG_CHELSIO_T3=m
-CONFIG_CHELSIO_T4=m
-CONFIG_CHELSIO_T4VF=m
-CONFIG_NET_VENDOR_CIRRUS=y
-CONFIG_CS89x0=m
-CONFIG_NET_VENDOR_CISCO=y
-CONFIG_ENIC=m
-CONFIG_DNET=m
-CONFIG_NET_VENDOR_DEC=y
-CONFIG_EWRK3=m
-CONFIG_NET_TULIP=y
-CONFIG_DE2104X=m
-CONFIG_DE2104X_DSL=0
-CONFIG_TULIP=m
-# CONFIG_TULIP_MWI is not set
-CONFIG_TULIP_MMIO=y
-# CONFIG_TULIP_NAPI is not set
-CONFIG_DE4X5=m
-CONFIG_WINBOND_840=m
-CONFIG_DM9102=m
-CONFIG_ULI526X=m
-CONFIG_PCMCIA_XIRCOM=m
-CONFIG_NET_VENDOR_DLINK=y
-CONFIG_DE600=m
-CONFIG_DE620=m
-CONFIG_DL2K=m
-CONFIG_SUNDANCE=m
-# CONFIG_SUNDANCE_MMIO is not set
-CONFIG_NET_VENDOR_EMULEX=y
-CONFIG_BE2NET=m
-CONFIG_NET_VENDOR_EXAR=y
-CONFIG_S2IO=m
-CONFIG_VXGE=m
-# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
-CONFIG_NET_VENDOR_FUJITSU=y
-CONFIG_AT1700=m
-CONFIG_PCMCIA_FMVJ18X=m
-CONFIG_ETH16I=m
-CONFIG_NET_VENDOR_HP=y
-CONFIG_HP100=m
-CONFIG_NET_VENDOR_INTEL=y
-CONFIG_E100=m
-CONFIG_E1000=m
-CONFIG_E1000E=m
-CONFIG_IGB=m
-CONFIG_IGB_DCA=y
-CONFIG_IGBVF=m
-CONFIG_IXGB=m
-CONFIG_IXGBE=m
-CONFIG_IXGBE_DCA=y
-CONFIG_IXGBEVF=m
-CONFIG_NET_VENDOR_I825XX=y
-CONFIG_ELPLUS=m
-CONFIG_EL16=m
-CONFIG_APRICOT=m
-CONFIG_EEXPRESS=m
-CONFIG_EEXPRESS_PRO=m
-CONFIG_LP486E=m
-CONFIG_NI52=m
-CONFIG_ZNET=m
-CONFIG_IP1000=m
-CONFIG_JME=m
-CONFIG_NET_VENDOR_MARVELL=y
-CONFIG_SKGE=m
-# CONFIG_SKGE_DEBUG is not set
-CONFIG_SKGE_GENESIS=y
-CONFIG_SKY2=m
-# CONFIG_SKY2_DEBUG is not set
-CONFIG_NET_VENDOR_MELLANOX=y
-CONFIG_MLX4_EN=m
-CONFIG_MLX4_CORE=m
-CONFIG_MLX4_DEBUG=y
-CONFIG_NET_VENDOR_MICREL=y
-CONFIG_KS8842=m
-CONFIG_KS8851_MLL=m
-CONFIG_KSZ884X_PCI=m
-CONFIG_NET_VENDOR_MYRI=y
-CONFIG_MYRI10GE=m
-CONFIG_MYRI10GE_DCA=y
-CONFIG_FEALNX=m
-CONFIG_NET_VENDOR_NATSEMI=y
-CONFIG_NATSEMI=m
-CONFIG_NS83820=m
-CONFIG_NET_VENDOR_8390=y
-CONFIG_EL2=m
-CONFIG_AC3200=m
-CONFIG_PCMCIA_AXNET=m
-CONFIG_E2100=m
-CONFIG_HPLAN_PLUS=m
-CONFIG_HPLAN=m
-CONFIG_NE2000=m
-CONFIG_NE2K_PCI=m
-CONFIG_PCMCIA_PCNET=m
-CONFIG_ULTRA=m
-CONFIG_WD80x3=m
-CONFIG_NET_VENDOR_NVIDIA=y
-CONFIG_FORCEDETH=m
-CONFIG_NET_VENDOR_OKI=y
-CONFIG_PCH_GBE=m
-CONFIG_ETHOC=m
-CONFIG_NET_PACKET_ENGINE=y
-CONFIG_HAMACHI=m
-CONFIG_YELLOWFIN=m
-CONFIG_NET_VENDOR_QLOGIC=y
-CONFIG_QLA3XXX=m
-CONFIG_QLCNIC=m
-CONFIG_QLGE=m
-CONFIG_NETXEN_NIC=m
-CONFIG_NET_VENDOR_RACAL=y
-# CONFIG_NI5010 is not set
-CONFIG_NET_VENDOR_REALTEK=y
-CONFIG_ATP=m
-CONFIG_8139CP=m
-CONFIG_8139TOO=m
-CONFIG_8139TOO_PIO=y
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-CONFIG_8139TOO_8129=y
-# CONFIG_8139_OLD_RX_RESET is not set
-CONFIG_R8169=m
-CONFIG_NET_VENDOR_RDC=y
-CONFIG_R6040=m
-CONFIG_NET_VENDOR_SEEQ=y
-CONFIG_SEEQ8005=m
-CONFIG_NET_VENDOR_SILAN=y
-CONFIG_SC92031=m
-CONFIG_NET_VENDOR_SIS=y
-CONFIG_SIS900=m
-CONFIG_SIS190=m
-CONFIG_SFC=m
-CONFIG_SFC_MTD=y
-CONFIG_NET_VENDOR_SMSC=y
-CONFIG_SMC9194=m
-CONFIG_PCMCIA_SMC91C92=m
-CONFIG_EPIC100=m
-CONFIG_SMSC9420=m
-CONFIG_NET_VENDOR_STMICRO=y
-CONFIG_STMMAC_ETH=m
-CONFIG_STMMAC_DEBUG_FS=y
-# CONFIG_STMMAC_DA is not set
-CONFIG_STMMAC_RING=y
-# CONFIG_STMMAC_CHAINED is not set
-CONFIG_NET_VENDOR_SUN=y
-CONFIG_HAPPYMEAL=m
-CONFIG_SUNGEM=m
-CONFIG_CASSINI=m
-CONFIG_NIU=m
-CONFIG_NET_VENDOR_TEHUTI=y
-CONFIG_TEHUTI=m
-CONFIG_NET_VENDOR_TI=y
-CONFIG_TLAN=m
-CONFIG_NET_VENDOR_VIA=y
-CONFIG_VIA_RHINE=m
-CONFIG_VIA_RHINE_MMIO=y
-CONFIG_VIA_VELOCITY=m
-CONFIG_NET_VENDOR_XIRCOM=y
-CONFIG_PCMCIA_XIRC2PS=m
-CONFIG_FDDI=y
-CONFIG_DEFXX=m
-# CONFIG_DEFXX_MMIO is not set
-CONFIG_SKFP=m
-CONFIG_HIPPI=y
-CONFIG_ROADRUNNER=m
-# CONFIG_ROADRUNNER_LARGE_RINGS is not set
-CONFIG_NET_SB1000=m
-CONFIG_PHYLIB=m
-
-#
-# MII PHY device drivers
-#
-CONFIG_MARVELL_PHY=m
-CONFIG_DAVICOM_PHY=m
-CONFIG_QSEMI_PHY=m
-CONFIG_LXT_PHY=m
-CONFIG_CICADA_PHY=m
-CONFIG_VITESSE_PHY=m
-CONFIG_SMSC_PHY=m
-CONFIG_BROADCOM_PHY=m
-CONFIG_ICPLUS_PHY=m
-CONFIG_REALTEK_PHY=m
-CONFIG_NATIONAL_PHY=m
-CONFIG_STE10XP=m
-CONFIG_LSI_ET1011C_PHY=m
-CONFIG_MICREL_PHY=m
-CONFIG_MDIO_BITBANG=m
-CONFIG_MDIO_GPIO=m
-CONFIG_PLIP=m
-CONFIG_PPP=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_MPPE=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPPOATM=m
-CONFIG_PPPOE=m
-CONFIG_PPTP=m
-CONFIG_PPPOL2TP=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_SLIP=m
-CONFIG_SLHC=m
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLIP_SMART=y
-# CONFIG_SLIP_MODE_SLIP6 is not set
-CONFIG_TR=y
-CONFIG_PCMCIA_IBMTR=m
-CONFIG_IBMTR=m
-CONFIG_IBMOL=m
-CONFIG_IBMLS=m
-CONFIG_3C359=m
-CONFIG_TMS380TR=m
-CONFIG_TMSPCI=m
-CONFIG_SKISA=m
-CONFIG_PROTEON=m
-CONFIG_ABYSS=m
-CONFIG_SMCTR=m
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDCETHER=m
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_NET_CDC_SUBSET=m
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_ARMLINUX=y
-# CONFIG_USB_EPSON2888 is not set
-# CONFIG_USB_KC2190 is not set
-CONFIG_USB_NET_ZAURUS=m
-CONFIG_USB_NET_CX82310_ETH=m
-CONFIG_USB_NET_KALMIA=m
-CONFIG_USB_HSO=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_VL600=m
-CONFIG_WLAN=y
-CONFIG_PCMCIA_RAYCS=m
-CONFIG_LIBERTAS_THINFIRM=m
-# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
-CONFIG_LIBERTAS_THINFIRM_USB=m
-CONFIG_AIRO=m
-CONFIG_ATMEL=m
-CONFIG_PCI_ATMEL=m
-CONFIG_PCMCIA_ATMEL=m
-CONFIG_AT76C50X_USB=m
-CONFIG_AIRO_CS=m
-CONFIG_PCMCIA_WL3501=m
-CONFIG_PRISM54=m
-CONFIG_USB_ZD1201=m
-CONFIG_USB_NET_RNDIS_WLAN=m
-CONFIG_RTL8180=m
-CONFIG_RTL8187=m
-CONFIG_RTL8187_LEDS=y
-CONFIG_ADM8211=m
-# CONFIG_MAC80211_HWSIM is not set
-CONFIG_MWL8K=m
-CONFIG_ATH_COMMON=m
-# CONFIG_ATH_DEBUG is not set
-CONFIG_ATH5K=m
-# CONFIG_ATH5K_DEBUG is not set
-# CONFIG_ATH5K_TRACER is not set
-CONFIG_ATH5K_PCI=y
-CONFIG_ATH9K_HW=m
-CONFIG_ATH9K_COMMON=m
-CONFIG_ATH9K=m
-CONFIG_ATH9K_PCI=y
-# CONFIG_ATH9K_AHB is not set
-# CONFIG_ATH9K_DEBUGFS is not set
-CONFIG_ATH9K_RATE_CONTROL=y
-CONFIG_ATH9K_HTC=m
-# CONFIG_ATH9K_HTC_DEBUGFS is not set
-CONFIG_CARL9170=m
-CONFIG_CARL9170_LEDS=y
-CONFIG_CARL9170_WPC=y
-# CONFIG_CARL9170_HWRNG is not set
-CONFIG_ATH6KL=m
-# CONFIG_ATH6KL_DEBUG is not set
-CONFIG_B43=m
-CONFIG_B43_SSB=y
-CONFIG_B43_PCI_AUTOSELECT=y
-CONFIG_B43_PCICORE_AUTOSELECT=y
-CONFIG_B43_PCMCIA=y
-CONFIG_B43_SDIO=y
-CONFIG_B43_PIO=y
-CONFIG_B43_PHY_N=y
-CONFIG_B43_PHY_LP=y
-CONFIG_B43_PHY_HT=y
-CONFIG_B43_LEDS=y
-CONFIG_B43_HWRNG=y
-# CONFIG_B43_DEBUG is not set
-CONFIG_B43LEGACY=m
-CONFIG_B43LEGACY_PCI_AUTOSELECT=y
-CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
-CONFIG_B43LEGACY_LEDS=y
-CONFIG_B43LEGACY_HWRNG=y
-# CONFIG_B43LEGACY_DEBUG is not set
-CONFIG_B43LEGACY_DMA=y
-CONFIG_B43LEGACY_PIO=y
-CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
-# CONFIG_B43LEGACY_DMA_MODE is not set
-# CONFIG_B43LEGACY_PIO_MODE is not set
-CONFIG_BRCMUTIL=m
-CONFIG_BRCMSMAC=m
-CONFIG_BRCMFMAC=m
-# CONFIG_BRCMDBG is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-CONFIG_HOSTAP_FIRMWARE_NVRAM=y
-CONFIG_HOSTAP_PLX=m
-CONFIG_HOSTAP_PCI=m
-CONFIG_HOSTAP_CS=m
-CONFIG_IPW2100=m
-CONFIG_IPW2100_MONITOR=y
-# CONFIG_IPW2100_DEBUG is not set
-CONFIG_IPW2200=m
-CONFIG_IPW2200_MONITOR=y
-CONFIG_IPW2200_RADIOTAP=y
-CONFIG_IPW2200_PROMISCUOUS=y
-CONFIG_IPW2200_QOS=y
-# CONFIG_IPW2200_DEBUG is not set
-CONFIG_LIBIPW=m
-# CONFIG_LIBIPW_DEBUG is not set
-CONFIG_IWLWIFI=m
-
-#
-# Debugging Options
-#
-# CONFIG_IWLWIFI_DEBUG is not set
-# CONFIG_IWLWIFI_DEVICE_TRACING is not set
-# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
-CONFIG_IWLWIFI_LEGACY=m
-
-#
-# Debugging Options
-#
-# CONFIG_IWLWIFI_LEGACY_DEBUG is not set
-# CONFIG_IWLWIFI_LEGACY_DEVICE_TRACING is not set
-CONFIG_IWL4965=m
-CONFIG_IWL3945=m
-CONFIG_IWM=m
-# CONFIG_IWM_DEBUG is not set
-# CONFIG_IWM_TRACING is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_CS=m
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_DEBUG is not set
-CONFIG_LIBERTAS_MESH=y
-CONFIG_HERMES=m
-# CONFIG_HERMES_PRISM is not set
-CONFIG_HERMES_CACHE_FW_ON_INIT=y
-CONFIG_PLX_HERMES=m
-CONFIG_TMD_HERMES=m
-CONFIG_NORTEL_HERMES=m
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_SPECTRUM=m
-CONFIG_ORINOCO_USB=m
-CONFIG_P54_COMMON=m
-CONFIG_P54_USB=m
-CONFIG_P54_PCI=m
-CONFIG_P54_LEDS=y
-CONFIG_RT2X00=m
-CONFIG_RT2400PCI=m
-CONFIG_RT2500PCI=m
-CONFIG_RT61PCI=m
-CONFIG_RT2800PCI=m
-CONFIG_RT2800PCI_RT33XX=y
-CONFIG_RT2800PCI_RT35XX=y
-CONFIG_RT2800PCI_RT53XX=y
-CONFIG_RT2500USB=m
-CONFIG_RT73USB=m
-CONFIG_RT2800USB=m
-CONFIG_RT2800USB_RT33XX=y
-CONFIG_RT2800USB_RT35XX=y
-CONFIG_RT2800USB_RT53XX=y
-CONFIG_RT2800USB_UNKNOWN=y
-CONFIG_RT2800_LIB=m
-CONFIG_RT2X00_LIB_PCI=m
-CONFIG_RT2X00_LIB_USB=m
-CONFIG_RT2X00_LIB=m
-CONFIG_RT2X00_LIB_FIRMWARE=y
-CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_LEDS=y
-# CONFIG_RT2X00_DEBUG is not set
-CONFIG_RTL8192CE=m
-CONFIG_RTL8192SE=m
-CONFIG_RTL8192DE=m
-CONFIG_RTL8192CU=m
-CONFIG_RTLWIFI=m
-CONFIG_RTL8192C_COMMON=m
-CONFIG_WL1251=m
-CONFIG_WL1251_SDIO=m
-CONFIG_WL12XX_MENU=m
-CONFIG_WL12XX=m
-CONFIG_WL12XX_SDIO=m
-CONFIG_WL12XX_SDIO_TEST=m
-CONFIG_WL12XX_PLATFORM_DATA=y
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_MWIFIEX_PCIE=m
-
-#
-# WiMAX Wireless Broadband devices
-#
-CONFIG_WIMAX_I2400M=m
-CONFIG_WIMAX_I2400M_USB=m
-CONFIG_WIMAX_I2400M_SDIO=m
-# CONFIG_WIMAX_IWMC3200_SDIO is not set
-CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
-CONFIG_WAN=y
-CONFIG_HOSTESS_SV11=m
-CONFIG_COSA=m
-CONFIG_LANMEDIA=m
-CONFIG_SEALEVEL_4021=m
-CONFIG_HDLC=m
-CONFIG_HDLC_RAW=m
-CONFIG_HDLC_RAW_ETH=m
-CONFIG_HDLC_CISCO=m
-CONFIG_HDLC_FR=m
-CONFIG_HDLC_PPP=m
-
-#
-# X.25/LAPB support is disabled
-#
-CONFIG_PCI200SYN=m
-CONFIG_WANXL=m
-# CONFIG_PC300TOO is not set
-CONFIG_N2=m
-CONFIG_C101=m
-CONFIG_FARSYNC=m
-CONFIG_DSCC4=m
-# CONFIG_DSCC4_PCISYNC is not set
-# CONFIG_DSCC4_PCI_RST is not set
-CONFIG_DLCI=m
-CONFIG_DLCI_MAX=8
-CONFIG_SDLA=m
-CONFIG_WAN_ROUTER_DRIVERS=m
-CONFIG_CYCLADES_SYNC=m
-CONFIG_CYCLOMX_X25=y
-CONFIG_SBNI=m
-# CONFIG_SBNI_MULTILINE is not set
-CONFIG_VMXNET3=m
-CONFIG_ISDN=y
-CONFIG_ISDN_I4L=m
-CONFIG_ISDN_PPP=y
-CONFIG_ISDN_PPP_VJ=y
-CONFIG_ISDN_MPP=y
-CONFIG_IPPP_FILTER=y
-CONFIG_ISDN_PPP_BSDCOMP=m
-CONFIG_ISDN_AUDIO=y
-CONFIG_ISDN_TTY_FAX=y
-
-#
-# ISDN feature submodules
-#
-# CONFIG_ISDN_DRV_LOOP is not set
-CONFIG_ISDN_DIVERSION=m
-
-#
-# ISDN4Linux hardware drivers
-#
-
-#
-# Passive cards
-#
-CONFIG_ISDN_DRV_HISAX=m
-
-#
-# D-channel protocol features
-#
-CONFIG_HISAX_EURO=y
-CONFIG_DE_AOC=y
-CONFIG_HISAX_NO_SENDCOMPLETE=y
-CONFIG_HISAX_NO_LLC=y
-CONFIG_HISAX_NO_KEYPAD=y
-CONFIG_HISAX_1TR6=y
-CONFIG_HISAX_NI1=y
-CONFIG_HISAX_MAX_CARDS=8
-
-#
-# HiSax supported cards
-#
-CONFIG_HISAX_16_0=y
-CONFIG_HISAX_16_3=y
-CONFIG_HISAX_TELESPCI=y
-CONFIG_HISAX_S0BOX=y
-CONFIG_HISAX_AVM_A1=y
-CONFIG_HISAX_FRITZPCI=y
-CONFIG_HISAX_AVM_A1_PCMCIA=y
-CONFIG_HISAX_ELSA=y
-CONFIG_HISAX_IX1MICROR2=y
-CONFIG_HISAX_DIEHLDIVA=y
-CONFIG_HISAX_ASUSCOM=y
-CONFIG_HISAX_TELEINT=y
-CONFIG_HISAX_HFCS=y
-CONFIG_HISAX_SEDLBAUER=y
-CONFIG_HISAX_SPORTSTER=y
-CONFIG_HISAX_MIC=y
-CONFIG_HISAX_NETJET=y
-CONFIG_HISAX_NETJET_U=y
-CONFIG_HISAX_NICCY=y
-CONFIG_HISAX_ISURF=y
-CONFIG_HISAX_HSTSAPHIR=y
-CONFIG_HISAX_BKM_A4T=y
-CONFIG_HISAX_SCT_QUADRO=y
-CONFIG_HISAX_GAZEL=y
-CONFIG_HISAX_HFC_PCI=y
-CONFIG_HISAX_W6692=y
-CONFIG_HISAX_HFC_SX=y
-CONFIG_HISAX_ENTERNOW_PCI=y
-# CONFIG_HISAX_DEBUG is not set
-
-#
-# HiSax PCMCIA card service modules
-#
-CONFIG_HISAX_SEDLBAUER_CS=m
-CONFIG_HISAX_ELSA_CS=m
-CONFIG_HISAX_AVM_A1_CS=m
-CONFIG_HISAX_TELES_CS=m
-
-#
-# HiSax sub driver modules
-#
-CONFIG_HISAX_ST5481=m
-CONFIG_HISAX_HFCUSB=m
-CONFIG_HISAX_HFC4S8S=m
-CONFIG_HISAX_FRITZ_PCIPNP=m
-
-#
-# Active cards
-#
-CONFIG_ISDN_DRV_ICN=m
-CONFIG_ISDN_DRV_PCBIT=m
-CONFIG_ISDN_DRV_SC=m
-CONFIG_ISDN_DRV_ACT2000=m
-CONFIG_ISDN_CAPI=m
-CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
-CONFIG_CAPI_TRACE=y
-CONFIG_ISDN_CAPI_MIDDLEWARE=y
-CONFIG_ISDN_CAPI_CAPI20=m
-CONFIG_ISDN_CAPI_CAPIDRV=m
-
-#
-# CAPI hardware drivers
-#
-CONFIG_CAPI_AVM=y
-CONFIG_ISDN_DRV_AVMB1_B1ISA=m
-CONFIG_ISDN_DRV_AVMB1_B1PCI=m
-CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
-CONFIG_ISDN_DRV_AVMB1_T1ISA=m
-CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
-CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
-CONFIG_ISDN_DRV_AVMB1_T1PCI=m
-CONFIG_ISDN_DRV_AVMB1_C4=m
-CONFIG_CAPI_EICON=y
-CONFIG_ISDN_DIVAS=m
-CONFIG_ISDN_DIVAS_BRIPCI=y
-CONFIG_ISDN_DIVAS_PRIPCI=y
-CONFIG_ISDN_DIVAS_DIVACAPI=m
-CONFIG_ISDN_DIVAS_USERIDI=m
-CONFIG_ISDN_DIVAS_MAINT=m
-CONFIG_ISDN_DRV_GIGASET=m
-# CONFIG_GIGASET_CAPI is not set
-CONFIG_GIGASET_I4L=y
-# CONFIG_GIGASET_DUMMYLL is not set
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_M105=m
-# CONFIG_GIGASET_M101 is not set
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_HYSDN=m
-CONFIG_HYSDN_CAPI=y
-CONFIG_MISDN=m
-CONFIG_MISDN_DSP=m
-CONFIG_MISDN_L1OIP=m
-
-#
-# mISDN hardware drivers
-#
-CONFIG_MISDN_HFCPCI=m
-CONFIG_MISDN_HFCMULTI=m
-CONFIG_MISDN_HFCUSB=m
-CONFIG_MISDN_AVMFRITZ=m
-CONFIG_MISDN_SPEEDFAX=m
-CONFIG_MISDN_INFINEON=m
-CONFIG_MISDN_W6692=m
-CONFIG_MISDN_NETJET=m
-CONFIG_MISDN_IPAC=m
-CONFIG_MISDN_ISAR=m
-CONFIG_ISDN_HDLC=m
-CONFIG_PHONE=m
-CONFIG_PHONE_IXJ=m
-CONFIG_PHONE_IXJ_PCMCIA=m
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-CONFIG_INPUT_FF_MEMLESS=y
-CONFIG_INPUT_POLLDEV=m
-CONFIG_INPUT_SPARSEKMAP=m
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-CONFIG_INPUT_JOYDEV=m
-CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-CONFIG_KEYBOARD_ADP5588=m
-CONFIG_KEYBOARD_ADP5589=m
-CONFIG_KEYBOARD_ATKBD=y
-CONFIG_KEYBOARD_QT1070=m
-CONFIG_KEYBOARD_QT2160=m
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=m
-CONFIG_KEYBOARD_GPIO_POLLED=m
-CONFIG_KEYBOARD_TCA6416=m
-CONFIG_KEYBOARD_MATRIX=m
-CONFIG_KEYBOARD_LM8323=m
-CONFIG_KEYBOARD_MAX7359=m
-CONFIG_KEYBOARD_MCS=m
-CONFIG_KEYBOARD_MPR121=m
-# CONFIG_KEYBOARD_NEWTON is not set
-CONFIG_KEYBOARD_OPENCORES=m
-CONFIG_KEYBOARD_STOWAWAY=m
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=m
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_LIFEBOOK=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-CONFIG_MOUSE_PS2_ELANTECH=y
-CONFIG_MOUSE_PS2_SENTELIC=y
-CONFIG_MOUSE_PS2_TOUCHKIT=y
-CONFIG_MOUSE_SERIAL=m
-CONFIG_MOUSE_APPLETOUCH=m
-CONFIG_MOUSE_BCM5974=m
-CONFIG_MOUSE_INPORT=m
-CONFIG_MOUSE_ATIXL=y
-CONFIG_MOUSE_LOGIBM=m
-CONFIG_MOUSE_PC110PAD=m
-CONFIG_MOUSE_VSXXXAA=m
-CONFIG_MOUSE_GPIO=m
-CONFIG_MOUSE_SYNAPTICS_I2C=m
-CONFIG_INPUT_JOYSTICK=y
-CONFIG_JOYSTICK_ANALOG=m
-CONFIG_JOYSTICK_A3D=m
-CONFIG_JOYSTICK_ADI=m
-CONFIG_JOYSTICK_COBRA=m
-CONFIG_JOYSTICK_GF2K=m
-CONFIG_JOYSTICK_GRIP=m
-CONFIG_JOYSTICK_GRIP_MP=m
-CONFIG_JOYSTICK_GUILLEMOT=m
-CONFIG_JOYSTICK_INTERACT=m
-CONFIG_JOYSTICK_SIDEWINDER=m
-CONFIG_JOYSTICK_TMDC=m
-CONFIG_JOYSTICK_IFORCE=m
-CONFIG_JOYSTICK_IFORCE_USB=y
-CONFIG_JOYSTICK_IFORCE_232=y
-CONFIG_JOYSTICK_WARRIOR=m
-CONFIG_JOYSTICK_MAGELLAN=m
-CONFIG_JOYSTICK_SPACEORB=m
-CONFIG_JOYSTICK_SPACEBALL=m
-CONFIG_JOYSTICK_STINGER=m
-CONFIG_JOYSTICK_TWIDJOY=m
-CONFIG_JOYSTICK_ZHENHUA=m
-CONFIG_JOYSTICK_DB9=m
-CONFIG_JOYSTICK_GAMECON=m
-CONFIG_JOYSTICK_TURBOGRAFX=m
-CONFIG_JOYSTICK_AS5011=m
-CONFIG_JOYSTICK_JOYDUMP=m
-CONFIG_JOYSTICK_XPAD=m
-CONFIG_JOYSTICK_XPAD_FF=y
-CONFIG_JOYSTICK_XPAD_LEDS=y
-CONFIG_JOYSTICK_WALKERA0701=m
-CONFIG_INPUT_TABLET=y
-CONFIG_TABLET_USB_ACECAD=m
-CONFIG_TABLET_USB_AIPTEK=m
-CONFIG_TABLET_USB_GTCO=m
-CONFIG_TABLET_USB_HANWANG=m
-CONFIG_TABLET_USB_KBTAB=m
-CONFIG_TABLET_USB_WACOM=m
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_AD7879=m
-CONFIG_TOUCHSCREEN_AD7879_I2C=m
-CONFIG_TOUCHSCREEN_ATMEL_MXT=m
-CONFIG_TOUCHSCREEN_BU21013=m
-CONFIG_TOUCHSCREEN_CY8CTMG110=m
-CONFIG_TOUCHSCREEN_DYNAPRO=m
-CONFIG_TOUCHSCREEN_HAMPSHIRE=m
-CONFIG_TOUCHSCREEN_EETI=m
-CONFIG_TOUCHSCREEN_FUJITSU=m
-CONFIG_TOUCHSCREEN_GUNZE=m
-CONFIG_TOUCHSCREEN_ELO=m
-CONFIG_TOUCHSCREEN_WACOM_W8001=m
-CONFIG_TOUCHSCREEN_MAX11801=m
-CONFIG_TOUCHSCREEN_MCS5000=m
-CONFIG_TOUCHSCREEN_MTOUCH=m
-CONFIG_TOUCHSCREEN_INEXIO=m
-CONFIG_TOUCHSCREEN_MK712=m
-CONFIG_TOUCHSCREEN_HTCPEN=m
-CONFIG_TOUCHSCREEN_PENMOUNT=m
-CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
-CONFIG_TOUCHSCREEN_TOUCHWIN=m
-CONFIG_TOUCHSCREEN_UCB1400=m
-CONFIG_TOUCHSCREEN_WM97XX=m
-CONFIG_TOUCHSCREEN_WM9705=y
-CONFIG_TOUCHSCREEN_WM9712=y
-CONFIG_TOUCHSCREEN_WM9713=y
-CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
-CONFIG_TOUCHSCREEN_USB_EGALAX=y
-CONFIG_TOUCHSCREEN_USB_PANJIT=y
-CONFIG_TOUCHSCREEN_USB_3M=y
-CONFIG_TOUCHSCREEN_USB_ITM=y
-CONFIG_TOUCHSCREEN_USB_ETURBO=y
-CONFIG_TOUCHSCREEN_USB_GUNZE=y
-CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
-CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
-CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
-CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
-CONFIG_TOUCHSCREEN_USB_GOTOP=y
-CONFIG_TOUCHSCREEN_USB_JASTEC=y
-CONFIG_TOUCHSCREEN_USB_E2I=y
-CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
-CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
-CONFIG_TOUCHSCREEN_USB_NEXIO=y
-CONFIG_TOUCHSCREEN_TOUCHIT213=m
-CONFIG_TOUCHSCREEN_TSC_SERIO=m
-CONFIG_TOUCHSCREEN_TSC2007=m
-CONFIG_TOUCHSCREEN_ST1232=m
-CONFIG_TOUCHSCREEN_TPS6507X=m
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_AD714X=m
-CONFIG_INPUT_AD714X_I2C=m
-CONFIG_INPUT_BMA150=m
-CONFIG_INPUT_PCSPKR=m
-CONFIG_INPUT_MMA8450=m
-CONFIG_INPUT_MPU3050=m
-CONFIG_INPUT_APANEL=m
-CONFIG_INPUT_WISTRON_BTNS=m
-CONFIG_INPUT_ATLAS_BTNS=m
-CONFIG_INPUT_ATI_REMOTE2=m
-CONFIG_INPUT_KEYSPAN_REMOTE=m
-CONFIG_INPUT_KXTJ9=m
-CONFIG_INPUT_KXTJ9_POLLED_MODE=y
-CONFIG_INPUT_POWERMATE=m
-CONFIG_INPUT_YEALINK=m
-CONFIG_INPUT_CM109=m
-CONFIG_INPUT_UINPUT=m
-CONFIG_INPUT_PCF50633_PMU=m
-CONFIG_INPUT_PCF8574=m
-CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
-CONFIG_INPUT_ADXL34X=m
-CONFIG_INPUT_ADXL34X_I2C=m
-CONFIG_INPUT_CMA3000=m
-CONFIG_INPUT_CMA3000_I2C=m
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-CONFIG_SERIO_SERPORT=m
-CONFIG_SERIO_CT82C710=m
-CONFIG_SERIO_PARKBD=m
-CONFIG_SERIO_PCIPS2=m
-CONFIG_SERIO_LIBPS2=y
-CONFIG_SERIO_RAW=m
-CONFIG_SERIO_ALTERA_PS2=m
-CONFIG_SERIO_PS2MULT=m
-CONFIG_GAMEPORT=m
-CONFIG_GAMEPORT_NS558=m
-CONFIG_GAMEPORT_L4=m
-CONFIG_GAMEPORT_EMU10K1=m
-CONFIG_GAMEPORT_FM801=m
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_VT_CONSOLE_SLEEP=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_UNIX98_PTYS=y
-CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=32
-CONFIG_SERIAL_NONSTANDARD=y
-CONFIG_ROCKETPORT=m
-CONFIG_CYCLADES=m
-# CONFIG_CYZ_INTR is not set
-CONFIG_MOXA_INTELLIO=m
-CONFIG_MOXA_SMARTIO=m
-CONFIG_SYNCLINK=m
-CONFIG_SYNCLINKMP=m
-CONFIG_SYNCLINK_GT=m
-CONFIG_NOZOMI=m
-CONFIG_ISI=m
-CONFIG_N_HDLC=m
-CONFIG_N_GSM=m
-CONFIG_TRACE_ROUTER=m
-CONFIG_TRACE_SINK=m
-CONFIG_DEVKMEM=y
-CONFIG_STALDRV=y
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_PNP=y
-CONFIG_SERIAL_8250_CS=m
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_FOURPORT=m
-CONFIG_SERIAL_8250_ACCENT=m
-CONFIG_SERIAL_8250_BOCA=m
-CONFIG_SERIAL_8250_EXAR_ST16C554=m
-CONFIG_SERIAL_8250_HUB6=m
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_8250_DETECT_IRQ=y
-CONFIG_SERIAL_8250_RSA=y
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_MFD_HSU=m
-CONFIG_SERIAL_UARTLITE=m
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_SERIAL_JSM=m
-CONFIG_SERIAL_TIMBERDALE=m
-CONFIG_SERIAL_ALTERA_JTAGUART=m
-CONFIG_SERIAL_ALTERA_UART=m
-CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
-CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
-CONFIG_SERIAL_PCH_UART=m
-CONFIG_SERIAL_XILINX_PS_UART=m
-CONFIG_PRINTER=m
-CONFIG_LP_CONSOLE=y
-CONFIG_PPDEV=m
-CONFIG_HVC_DRIVER=y
-CONFIG_VIRTIO_CONSOLE=m
-CONFIG_IPMI_HANDLER=m
-# CONFIG_IPMI_PANIC_EVENT is not set
-CONFIG_IPMI_DEVICE_INTERFACE=m
-CONFIG_IPMI_SI=m
-CONFIG_IPMI_WATCHDOG=m
-CONFIG_IPMI_POWEROFF=m
-CONFIG_HW_RANDOM=y
-CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_INTEL=m
-CONFIG_HW_RANDOM_AMD=m
-CONFIG_HW_RANDOM_GEODE=m
-CONFIG_HW_RANDOM_VIA=m
-CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_NVRAM=m
-CONFIG_DTLK=m
-CONFIG_R3964=m
-CONFIG_APPLICOM=m
-CONFIG_SONYPI=m
-
-#
-# PCMCIA character devices
-#
-CONFIG_SYNCLINK_CS=m
-CONFIG_CARDMAN_4000=m
-CONFIG_CARDMAN_4040=m
-CONFIG_IPWIRELESS=m
-CONFIG_MWAVE=m
-CONFIG_SCx200_GPIO=m
-CONFIG_PC8736x_GPIO=m
-CONFIG_NSC_GPIO=m
-CONFIG_RAW_DRIVER=m
-CONFIG_MAX_RAW_DEVS=256
-CONFIG_HPET=y
-CONFIG_HPET_MMAP=y
-CONFIG_HANGCHECK_TIMER=m
-CONFIG_TCG_TPM=m
-# CONFIG_TCG_TIS is not set
-# CONFIG_TCG_NSC is not set
-CONFIG_TCG_ATMEL=m
-# CONFIG_TCG_INFINEON is not set
-CONFIG_TELCLOCK=m
-CONFIG_DEVPORT=y
-CONFIG_RAMOOPS=m
-CONFIG_I2C=m
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=m
-CONFIG_I2C_MUX=m
-
-#
-# Multiplexer I2C Chip support
-#
-CONFIG_I2C_MUX_GPIO=m
-CONFIG_I2C_MUX_PCA9541=m
-CONFIG_I2C_MUX_PCA954x=m
-CONFIG_I2C_HELPER_AUTO=y
-CONFIG_I2C_SMBUS=m
-CONFIG_I2C_ALGOBIT=m
-CONFIG_I2C_ALGOPCA=m
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# PC SMBus host controller drivers
-#
-CONFIG_I2C_ALI1535=m
-CONFIG_I2C_ALI1563=m
-CONFIG_I2C_ALI15X3=m
-CONFIG_I2C_AMD756=m
-CONFIG_I2C_AMD756_S4882=m
-CONFIG_I2C_AMD8111=m
-CONFIG_I2C_I801=m
-CONFIG_I2C_ISCH=m
-CONFIG_I2C_PIIX4=m
-CONFIG_I2C_NFORCE2=m
-CONFIG_I2C_NFORCE2_S4985=m
-CONFIG_I2C_SIS5595=m
-CONFIG_I2C_SIS630=m
-CONFIG_I2C_SIS96X=m
-CONFIG_I2C_VIA=m
-CONFIG_I2C_VIAPRO=m
-
-#
-# ACPI drivers
-#
-CONFIG_I2C_SCMI=m
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-CONFIG_I2C_DESIGNWARE_PCI=m
-CONFIG_I2C_GPIO=m
-CONFIG_I2C_INTEL_MID=m
-CONFIG_I2C_OCORES=m
-CONFIG_I2C_PCA_PLATFORM=m
-# CONFIG_I2C_PXA_PCI is not set
-CONFIG_I2C_SIMTEC=m
-CONFIG_I2C_XILINX=m
-CONFIG_I2C_EG20T=m
-
-#
-# External I2C/SMBus adapter drivers
-#
-CONFIG_I2C_DIOLAN_U2C=m
-CONFIG_I2C_PARPORT=m
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_TAOS_EVM=m
-CONFIG_I2C_TINY_USB=m
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_ELEKTOR is not set
-CONFIG_I2C_PCA_ISA=m
-CONFIG_I2C_STUB=m
-CONFIG_SCx200_I2C=m
-CONFIG_SCx200_I2C_SCL=12
-CONFIG_SCx200_I2C_SDA=13
-CONFIG_SCx200_ACB=m
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_SPI is not set
-
-#
-# PPS support
-#
-CONFIG_PPS=m
-# CONFIG_PPS_DEBUG is not set
-# CONFIG_NTP_PPS is not set
-
-#
-# PPS clients support
-#
-# CONFIG_PPS_CLIENT_KTIMER is not set
-CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
-CONFIG_PPS_CLIENT_GPIO=m
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-CONFIG_PTP_1588_CLOCK=m
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_DEBUG_GPIO is not set
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_GENERIC=m
-CONFIG_GPIO_MAX730X=m
-
-#
-# Memory mapped GPIO drivers:
-#
-CONFIG_GPIO_GENERIC_PLATFORM=m
-CONFIG_GPIO_IT8761E=m
-CONFIG_GPIO_SCH=m
-CONFIG_GPIO_VX855=m
-
-#
-# I2C GPIO expanders:
-#
-CONFIG_GPIO_MAX7300=m
-CONFIG_GPIO_MAX732X=m
-CONFIG_GPIO_PCA953X=m
-CONFIG_GPIO_PCF857X=m
-CONFIG_GPIO_ADP5588=m
-
-#
-# PCI GPIO expanders:
-#
-CONFIG_GPIO_CS5535=m
-# CONFIG_GPIO_LANGWELL is not set
-CONFIG_GPIO_PCH=m
-CONFIG_GPIO_ML_IOH=m
-# CONFIG_GPIO_TIMBERDALE is not set
-CONFIG_GPIO_RDC321X=m
-
-#
-# SPI GPIO expanders:
-#
-CONFIG_GPIO_MCP23S08=m
-
-#
-# AC97 GPIO expanders:
-#
-# CONFIG_GPIO_UCB1400 is not set
-
-#
-# MODULbus GPIO expanders:
-#
-CONFIG_GPIO_JANZ_TTL=m
-CONFIG_W1=m
-CONFIG_W1_CON=y
-
-#
-# 1-wire Bus Masters
-#
-CONFIG_W1_MASTER_MATROX=m
-CONFIG_W1_MASTER_DS2490=m
-CONFIG_W1_MASTER_DS2482=m
-CONFIG_W1_MASTER_DS1WM=m
-CONFIG_W1_MASTER_GPIO=m
-
-#
-# 1-wire Slaves
-#
-CONFIG_W1_SLAVE_THERM=m
-CONFIG_W1_SLAVE_SMEM=m
-CONFIG_W1_SLAVE_DS2408=m
-CONFIG_W1_SLAVE_DS2423=m
-CONFIG_W1_SLAVE_DS2431=m
-CONFIG_W1_SLAVE_DS2433=m
-CONFIG_W1_SLAVE_DS2433_CRC=y
-CONFIG_W1_SLAVE_DS2760=m
-CONFIG_W1_SLAVE_DS2780=m
-CONFIG_W1_SLAVE_BQ27000=m
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=m
-CONFIG_TEST_POWER=m
-CONFIG_BATTERY_DS2760=m
-CONFIG_BATTERY_DS2780=m
-CONFIG_BATTERY_DS2782=m
-CONFIG_BATTERY_BQ20Z75=m
-CONFIG_BATTERY_BQ27x00=m
-CONFIG_BATTERY_BQ27X00_I2C=y
-CONFIG_BATTERY_BQ27X00_PLATFORM=y
-CONFIG_BATTERY_MAX17040=m
-CONFIG_BATTERY_MAX17042=m
-CONFIG_CHARGER_PCF50633=m
-CONFIG_CHARGER_ISP1704=m
-CONFIG_CHARGER_MAX8903=m
-CONFIG_CHARGER_GPIO=m
-CONFIG_HWMON=m
-CONFIG_HWMON_VID=m
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-CONFIG_SENSORS_ABITUGURU=m
-CONFIG_SENSORS_ABITUGURU3=m
-CONFIG_SENSORS_AD7414=m
-CONFIG_SENSORS_AD7418=m
-CONFIG_SENSORS_ADM1021=m
-CONFIG_SENSORS_ADM1025=m
-CONFIG_SENSORS_ADM1026=m
-CONFIG_SENSORS_ADM1029=m
-CONFIG_SENSORS_ADM1031=m
-CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADT7411=m
-CONFIG_SENSORS_ADT7462=m
-CONFIG_SENSORS_ADT7470=m
-CONFIG_SENSORS_ADT7475=m
-CONFIG_SENSORS_ASC7621=m
-CONFIG_SENSORS_K8TEMP=m
-CONFIG_SENSORS_K10TEMP=m
-CONFIG_SENSORS_FAM15H_POWER=m
-CONFIG_SENSORS_ASB100=m
-CONFIG_SENSORS_ATXP1=m
-CONFIG_SENSORS_DS620=m
-CONFIG_SENSORS_DS1621=m
-CONFIG_SENSORS_I5K_AMB=m
-CONFIG_SENSORS_F71805F=m
-CONFIG_SENSORS_F71882FG=m
-CONFIG_SENSORS_F75375S=m
-CONFIG_SENSORS_FSCHMD=m
-CONFIG_SENSORS_G760A=m
-CONFIG_SENSORS_GL518SM=m
-CONFIG_SENSORS_GL520SM=m
-CONFIG_SENSORS_GPIO_FAN=m
-CONFIG_SENSORS_CORETEMP=m
-CONFIG_SENSORS_IBMAEM=m
-CONFIG_SENSORS_IBMPEX=m
-CONFIG_SENSORS_IT87=m
-CONFIG_SENSORS_JC42=m
-CONFIG_SENSORS_LINEAGE=m
-CONFIG_SENSORS_LM63=m
-CONFIG_SENSORS_LM73=m
-CONFIG_SENSORS_LM75=m
-CONFIG_SENSORS_LM77=m
-CONFIG_SENSORS_LM78=m
-CONFIG_SENSORS_LM80=m
-CONFIG_SENSORS_LM83=m
-CONFIG_SENSORS_LM85=m
-CONFIG_SENSORS_LM87=m
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_LM92=m
-CONFIG_SENSORS_LM93=m
-CONFIG_SENSORS_LTC4151=m
-CONFIG_SENSORS_LTC4215=m
-CONFIG_SENSORS_LTC4245=m
-CONFIG_SENSORS_LTC4261=m
-CONFIG_SENSORS_LM95241=m
-CONFIG_SENSORS_LM95245=m
-CONFIG_SENSORS_MAX16065=m
-CONFIG_SENSORS_MAX1619=m
-CONFIG_SENSORS_MAX1668=m
-CONFIG_SENSORS_MAX6639=m
-CONFIG_SENSORS_MAX6642=m
-CONFIG_SENSORS_MAX6650=m
-CONFIG_SENSORS_NTC_THERMISTOR=m
-CONFIG_SENSORS_PC87360=m
-CONFIG_SENSORS_PC87427=m
-CONFIG_SENSORS_PCF8591=m
-CONFIG_PMBUS=m
-CONFIG_SENSORS_PMBUS=m
-CONFIG_SENSORS_ADM1275=m
-CONFIG_SENSORS_LM25066=m
-CONFIG_SENSORS_LTC2978=m
-CONFIG_SENSORS_MAX16064=m
-CONFIG_SENSORS_MAX34440=m
-CONFIG_SENSORS_MAX8688=m
-CONFIG_SENSORS_UCD9000=m
-CONFIG_SENSORS_UCD9200=m
-CONFIG_SENSORS_ZL6100=m
-CONFIG_SENSORS_SHT15=m
-CONFIG_SENSORS_SHT21=m
-CONFIG_SENSORS_SIS5595=m
-CONFIG_SENSORS_SMM665=m
-CONFIG_SENSORS_DME1737=m
-CONFIG_SENSORS_EMC1403=m
-CONFIG_SENSORS_EMC2103=m
-CONFIG_SENSORS_EMC6W201=m
-CONFIG_SENSORS_SMSC47M1=m
-CONFIG_SENSORS_SMSC47M192=m
-CONFIG_SENSORS_SMSC47B397=m
-CONFIG_SENSORS_SCH56XX_COMMON=m
-CONFIG_SENSORS_SCH5627=m
-CONFIG_SENSORS_SCH5636=m
-CONFIG_SENSORS_ADS1015=m
-CONFIG_SENSORS_ADS7828=m
-CONFIG_SENSORS_AMC6821=m
-CONFIG_SENSORS_THMC50=m
-CONFIG_SENSORS_TMP102=m
-CONFIG_SENSORS_TMP401=m
-CONFIG_SENSORS_TMP421=m
-CONFIG_SENSORS_VIA_CPUTEMP=m
-CONFIG_SENSORS_VIA686A=m
-CONFIG_SENSORS_VT1211=m
-CONFIG_SENSORS_VT8231=m
-CONFIG_SENSORS_W83781D=m
-CONFIG_SENSORS_W83791D=m
-CONFIG_SENSORS_W83792D=m
-CONFIG_SENSORS_W83793=m
-CONFIG_SENSORS_W83795=m
-# CONFIG_SENSORS_W83795_FANCTRL is not set
-CONFIG_SENSORS_W83L785TS=m
-CONFIG_SENSORS_W83L786NG=m
-CONFIG_SENSORS_W83627HF=m
-CONFIG_SENSORS_W83627EHF=m
-CONFIG_SENSORS_APPLESMC=m
-
-#
-# ACPI drivers
-#
-CONFIG_SENSORS_ACPI_POWER=m
-CONFIG_SENSORS_ATK0110=m
-CONFIG_THERMAL=m
-CONFIG_THERMAL_HWMON=y
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_CORE=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-CONFIG_SOFT_WATCHDOG=m
-CONFIG_ACQUIRE_WDT=m
-CONFIG_ADVANTECH_WDT=m
-CONFIG_ALIM1535_WDT=m
-CONFIG_ALIM7101_WDT=m
-CONFIG_F71808E_WDT=m
-CONFIG_SP5100_TCO=m
-CONFIG_GEODE_WDT=m
-CONFIG_SC520_WDT=m
-CONFIG_SBC_FITPC2_WATCHDOG=m
-CONFIG_EUROTECH_WDT=m
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
-CONFIG_WAFER_WDT=m
-CONFIG_I6300ESB_WDT=m
-CONFIG_ITCO_WDT=m
-CONFIG_ITCO_VENDOR_SUPPORT=y
-CONFIG_IT8712F_WDT=m
-CONFIG_IT87_WDT=m
-CONFIG_HP_WATCHDOG=m
-CONFIG_HPWDT_NMI_DECODING=y
-CONFIG_SC1200_WDT=m
-CONFIG_SCx200_WDT=m
-CONFIG_PC87413_WDT=m
-CONFIG_NV_TCO=m
-CONFIG_60XX_WDT=m
-CONFIG_SBC8360_WDT=m
-CONFIG_SBC7240_WDT=m
-CONFIG_CPU5_WDT=m
-CONFIG_SMSC_SCH311X_WDT=m
-CONFIG_SMSC37B787_WDT=m
-CONFIG_W83627HF_WDT=m
-CONFIG_W83697HF_WDT=m
-CONFIG_W83697UG_WDT=m
-CONFIG_W83877F_WDT=m
-CONFIG_W83977F_WDT=m
-CONFIG_MACHZ_WDT=m
-CONFIG_SBC_EPX_C3_WATCHDOG=m
-
-#
-# ISA-based Watchdog Cards
-#
-CONFIG_PCWATCHDOG=m
-CONFIG_MIXCOMWD=m
-CONFIG_WDT=m
-
-#
-# PCI-based Watchdog Cards
-#
-CONFIG_PCIPCWATCHDOG=m
-CONFIG_WDTPCI=m
-
-#
-# USB-based Watchdog Cards
-#
-CONFIG_USBPCWATCHDOG=m
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-CONFIG_SSB=m
-CONFIG_SSB_SPROM=y
-CONFIG_SSB_BLOCKIO=y
-CONFIG_SSB_PCIHOST_POSSIBLE=y
-CONFIG_SSB_PCIHOST=y
-CONFIG_SSB_B43_PCI_BRIDGE=y
-CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
-CONFIG_SSB_PCMCIAHOST=y
-CONFIG_SSB_SDIOHOST_POSSIBLE=y
-CONFIG_SSB_SDIOHOST=y
-# CONFIG_SSB_DEBUG is not set
-CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
-CONFIG_SSB_DRIVER_PCICORE=y
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-# CONFIG_BCMA is not set
-
-#
-# Multifunction device drivers
-#
-CONFIG_MFD_CORE=m
-# CONFIG_MFD_SM501 is not set
-CONFIG_HTC_PASIC3=m
-CONFIG_UCB1400_CORE=m
-CONFIG_TPS6105X=m
-CONFIG_TPS65010=m
-CONFIG_TPS6507X=m
-# CONFIG_MFD_TMIO is not set
-CONFIG_MFD_WM8400=m
-CONFIG_MFD_PCF50633=m
-CONFIG_PCF50633_ADC=m
-CONFIG_PCF50633_GPIO=m
-# CONFIG_ABX500_CORE is not set
-CONFIG_MFD_CS5535=m
-CONFIG_MFD_TIMBERDALE=m
-CONFIG_LPC_SCH=m
-CONFIG_MFD_RDC321X=m
-CONFIG_MFD_JANZ_CMODIO=m
-CONFIG_MFD_VX855=m
-CONFIG_MFD_WL1273_CORE=m
-CONFIG_REGULATOR=y
-# CONFIG_REGULATOR_DEBUG is not set
-# CONFIG_REGULATOR_DUMMY is not set
-CONFIG_REGULATOR_FIXED_VOLTAGE=m
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-CONFIG_REGULATOR_USERSPACE_CONSUMER=m
-CONFIG_REGULATOR_GPIO=m
-CONFIG_REGULATOR_BQ24022=m
-CONFIG_REGULATOR_MAX1586=m
-CONFIG_REGULATOR_MAX8649=m
-CONFIG_REGULATOR_MAX8660=m
-CONFIG_REGULATOR_MAX8952=m
-CONFIG_REGULATOR_WM8400=m
-CONFIG_REGULATOR_PCF50633=m
-CONFIG_REGULATOR_LP3971=m
-CONFIG_REGULATOR_LP3972=m
-CONFIG_REGULATOR_TPS6105X=m
-CONFIG_REGULATOR_TPS65023=m
-CONFIG_REGULATOR_TPS6507X=m
-CONFIG_REGULATOR_ISL6271A=m
-CONFIG_REGULATOR_AD5398=m
-CONFIG_MEDIA_SUPPORT=m
-
-#
-# Multimedia core support
-#
-# CONFIG_MEDIA_CONTROLLER is not set
-CONFIG_VIDEO_DEV=m
-CONFIG_VIDEO_V4L2_COMMON=m
-CONFIG_DVB_CORE=m
-CONFIG_DVB_NET=y
-CONFIG_VIDEO_MEDIA=m
-
-#
-# Multimedia drivers
-#
-CONFIG_VIDEO_SAA7146=m
-CONFIG_VIDEO_SAA7146_VV=m
-CONFIG_RC_CORE=m
-CONFIG_LIRC=m
-CONFIG_RC_MAP=m
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_RC5_SZ_DECODER=m
-CONFIG_IR_MCE_KBD_DECODER=m
-CONFIG_IR_LIRC_CODEC=m
-CONFIG_RC_ATI_REMOTE=m
-CONFIG_IR_ENE=m
-CONFIG_IR_IMON=m
-CONFIG_IR_MCEUSB=m
-CONFIG_IR_ITE_CIR=m
-CONFIG_IR_FINTEK=m
-CONFIG_IR_NUVOTON=m
-CONFIG_IR_REDRAT3=m
-CONFIG_IR_STREAMZAP=m
-CONFIG_IR_WINBOND_CIR=m
-CONFIG_RC_LOOPBACK=m
-CONFIG_MEDIA_ATTACH=y
-CONFIG_MEDIA_TUNER=m
-# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
-CONFIG_MEDIA_TUNER_SIMPLE=m
-CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA827X=m
-CONFIG_MEDIA_TUNER_TDA18271=m
-CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_MEDIA_TUNER_TEA5761=m
-CONFIG_MEDIA_TUNER_TEA5767=m
-CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_MT2060=m
-CONFIG_MEDIA_TUNER_MT2266=m
-CONFIG_MEDIA_TUNER_MT2131=m
-CONFIG_MEDIA_TUNER_QT1010=m
-CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_MEDIA_TUNER_XC5000=m
-CONFIG_MEDIA_TUNER_XC4000=m
-CONFIG_MEDIA_TUNER_MXL5005S=m
-CONFIG_MEDIA_TUNER_MXL5007T=m
-CONFIG_MEDIA_TUNER_MC44S803=m
-CONFIG_MEDIA_TUNER_MAX2165=m
-CONFIG_MEDIA_TUNER_TDA18218=m
-CONFIG_MEDIA_TUNER_TDA18212=m
-CONFIG_VIDEO_V4L2=m
-CONFIG_VIDEOBUF_GEN=m
-CONFIG_VIDEOBUF_DMA_SG=m
-CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEOBUF_DMA_CONTIG=m
-CONFIG_VIDEOBUF_DVB=m
-CONFIG_VIDEO_BTCX=m
-CONFIG_VIDEO_TVEEPROM=m
-CONFIG_VIDEO_TUNER=m
-CONFIG_V4L2_MEM2MEM_DEV=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_DMA_CONTIG=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
-CONFIG_VIDEO_IR_I2C=m
-
-#
-# Encoders, decoders, sensors and other helper chips
-#
-
-#
-# Audio decoders, processors and mixers
-#
-CONFIG_VIDEO_TVAUDIO=m
-CONFIG_VIDEO_TDA7432=m
-CONFIG_VIDEO_TDA9840=m
-CONFIG_VIDEO_TEA6415C=m
-CONFIG_VIDEO_TEA6420=m
-CONFIG_VIDEO_MSP3400=m
-CONFIG_VIDEO_CS5345=m
-CONFIG_VIDEO_CS53L32A=m
-CONFIG_VIDEO_TLV320AIC23B=m
-CONFIG_VIDEO_WM8775=m
-CONFIG_VIDEO_WM8739=m
-CONFIG_VIDEO_VP27SMPX=m
-
-#
-# RDS decoders
-#
-CONFIG_VIDEO_SAA6588=m
-
-#
-# Video decoders
-#
-CONFIG_VIDEO_ADV7180=m
-CONFIG_VIDEO_BT819=m
-CONFIG_VIDEO_BT856=m
-CONFIG_VIDEO_BT866=m
-CONFIG_VIDEO_KS0127=m
-CONFIG_VIDEO_SAA7110=m
-CONFIG_VIDEO_SAA711X=m
-CONFIG_VIDEO_SAA7191=m
-CONFIG_VIDEO_TVP514X=m
-CONFIG_VIDEO_TVP5150=m
-CONFIG_VIDEO_TVP7002=m
-CONFIG_VIDEO_VPX3220=m
-
-#
-# Video and audio decoders
-#
-CONFIG_VIDEO_SAA717X=m
-CONFIG_VIDEO_CX25840=m
-
-#
-# MPEG video encoders
-#
-CONFIG_VIDEO_CX2341X=m
-
-#
-# Video encoders
-#
-CONFIG_VIDEO_SAA7127=m
-CONFIG_VIDEO_SAA7185=m
-CONFIG_VIDEO_ADV7170=m
-CONFIG_VIDEO_ADV7175=m
-CONFIG_VIDEO_ADV7343=m
-CONFIG_VIDEO_AK881X=m
-
-#
-# Camera sensor devices
-#
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9V011=m
-CONFIG_VIDEO_TCM825X=m
-CONFIG_VIDEO_SR030PC30=m
-
-#
-# Flash devices
-#
-
-#
-# Video improvement chips
-#
-CONFIG_VIDEO_UPD64031A=m
-CONFIG_VIDEO_UPD64083=m
-
-#
-# Miscelaneous helper chips
-#
-CONFIG_VIDEO_THS7303=m
-CONFIG_VIDEO_M52790=m
-CONFIG_VIDEO_VIVI=m
-CONFIG_VIDEO_BT848=m
-CONFIG_VIDEO_BT848_DVB=y
-CONFIG_VIDEO_PMS=m
-CONFIG_VIDEO_BWQCAM=m
-CONFIG_VIDEO_CQCAM=m
-CONFIG_VIDEO_W9966=m
-CONFIG_VIDEO_CPIA2=m
-CONFIG_VIDEO_ZORAN=m
-CONFIG_VIDEO_ZORAN_DC30=m
-CONFIG_VIDEO_ZORAN_ZR36060=m
-CONFIG_VIDEO_ZORAN_BUZ=m
-CONFIG_VIDEO_ZORAN_DC10=m
-CONFIG_VIDEO_ZORAN_LML33=m
-CONFIG_VIDEO_ZORAN_LML33R10=m
-CONFIG_VIDEO_ZORAN_AVS6EYES=m
-CONFIG_VIDEO_MEYE=m
-CONFIG_VIDEO_SAA7134=m
-CONFIG_VIDEO_SAA7134_ALSA=m
-CONFIG_VIDEO_SAA7134_RC=y
-CONFIG_VIDEO_SAA7134_DVB=m
-CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_HEXIUM_ORION=m
-CONFIG_VIDEO_HEXIUM_GEMINI=m
-CONFIG_VIDEO_TIMBERDALE=m
-CONFIG_VIDEO_CX88=m
-CONFIG_VIDEO_CX88_ALSA=m
-CONFIG_VIDEO_CX88_BLACKBIRD=m
-CONFIG_VIDEO_CX88_DVB=m
-CONFIG_VIDEO_CX88_MPEG=m
-CONFIG_VIDEO_CX88_VP3054=m
-CONFIG_VIDEO_CX23885=m
-CONFIG_MEDIA_ALTERA_CI=m
-CONFIG_VIDEO_CX25821=m
-CONFIG_VIDEO_CX25821_ALSA=m
-CONFIG_VIDEO_AU0828=m
-CONFIG_VIDEO_IVTV=m
-CONFIG_VIDEO_FB_IVTV=m
-CONFIG_VIDEO_CX18=m
-CONFIG_VIDEO_CX18_ALSA=m
-CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_CAFE_CCIC=m
-CONFIG_VIDEO_VIA_CAMERA=m
-CONFIG_SOC_CAMERA=m
-CONFIG_SOC_CAMERA_IMX074=m
-CONFIG_SOC_CAMERA_MT9M001=m
-CONFIG_SOC_CAMERA_MT9M111=m
-CONFIG_SOC_CAMERA_MT9T031=m
-CONFIG_SOC_CAMERA_MT9T112=m
-CONFIG_SOC_CAMERA_MT9V022=m
-CONFIG_SOC_CAMERA_RJ54N1=m
-CONFIG_SOC_CAMERA_TW9910=m
-CONFIG_SOC_CAMERA_PLATFORM=m
-CONFIG_SOC_CAMERA_OV2640=m
-CONFIG_SOC_CAMERA_OV5642=m
-CONFIG_SOC_CAMERA_OV6650=m
-CONFIG_SOC_CAMERA_OV772X=m
-CONFIG_SOC_CAMERA_OV9640=m
-CONFIG_SOC_CAMERA_OV9740=m
-CONFIG_V4L_USB_DRIVERS=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-CONFIG_USB_GSPCA=m
-CONFIG_USB_M5602=m
-CONFIG_USB_STV06XX=m
-CONFIG_USB_GL860=m
-CONFIG_USB_GSPCA_BENQ=m
-CONFIG_USB_GSPCA_CONEX=m
-CONFIG_USB_GSPCA_CPIA1=m
-CONFIG_USB_GSPCA_ETOMS=m
-CONFIG_USB_GSPCA_FINEPIX=m
-CONFIG_USB_GSPCA_JEILINJ=m
-CONFIG_USB_GSPCA_KINECT=m
-CONFIG_USB_GSPCA_KONICA=m
-CONFIG_USB_GSPCA_MARS=m
-CONFIG_USB_GSPCA_MR97310A=m
-CONFIG_USB_GSPCA_NW80X=m
-CONFIG_USB_GSPCA_OV519=m
-CONFIG_USB_GSPCA_OV534=m
-CONFIG_USB_GSPCA_OV534_9=m
-CONFIG_USB_GSPCA_PAC207=m
-CONFIG_USB_GSPCA_PAC7302=m
-CONFIG_USB_GSPCA_PAC7311=m
-CONFIG_USB_GSPCA_SE401=m
-CONFIG_USB_GSPCA_SN9C2028=m
-CONFIG_USB_GSPCA_SN9C20X=m
-CONFIG_USB_GSPCA_SONIXB=m
-CONFIG_USB_GSPCA_SONIXJ=m
-CONFIG_USB_GSPCA_SPCA500=m
-CONFIG_USB_GSPCA_SPCA501=m
-CONFIG_USB_GSPCA_SPCA505=m
-CONFIG_USB_GSPCA_SPCA506=m
-CONFIG_USB_GSPCA_SPCA508=m
-CONFIG_USB_GSPCA_SPCA561=m
-CONFIG_USB_GSPCA_SPCA1528=m
-CONFIG_USB_GSPCA_SQ905=m
-CONFIG_USB_GSPCA_SQ905C=m
-CONFIG_USB_GSPCA_SQ930X=m
-CONFIG_USB_GSPCA_STK014=m
-CONFIG_USB_GSPCA_STV0680=m
-CONFIG_USB_GSPCA_SUNPLUS=m
-CONFIG_USB_GSPCA_T613=m
-CONFIG_USB_GSPCA_TOPRO=m
-CONFIG_USB_GSPCA_TV8532=m
-CONFIG_USB_GSPCA_VC032X=m
-CONFIG_USB_GSPCA_VICAM=m
-CONFIG_USB_GSPCA_XIRLINK_CIT=m
-CONFIG_USB_GSPCA_ZC3XX=m
-CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_PVRUSB2_SYSFS=y
-CONFIG_VIDEO_PVRUSB2_DVB=y
-# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
-CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_EM28XX_RC=y
-CONFIG_VIDEO_TLG2300=m
-CONFIG_VIDEO_CX231XX=m
-CONFIG_VIDEO_CX231XX_RC=y
-CONFIG_VIDEO_CX231XX_ALSA=m
-CONFIG_VIDEO_CX231XX_DVB=m
-CONFIG_VIDEO_TM6000=m
-CONFIG_VIDEO_TM6000_ALSA=m
-CONFIG_VIDEO_TM6000_DVB=m
-CONFIG_VIDEO_USBVISION=m
-CONFIG_USB_ET61X251=m
-CONFIG_USB_SN9C102=m
-CONFIG_USB_PWC=m
-# CONFIG_USB_PWC_DEBUG is not set
-CONFIG_USB_PWC_INPUT_EVDEV=y
-CONFIG_USB_ZR364XX=m
-CONFIG_USB_STKWEBCAM=m
-CONFIG_USB_S2255=m
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_MEM2MEM_TESTDEV=m
-CONFIG_RADIO_ADAPTERS=y
-CONFIG_RADIO_CADET=m
-CONFIG_RADIO_RTRACK=m
-CONFIG_RADIO_RTRACK2=m
-CONFIG_RADIO_AZTECH=m
-CONFIG_RADIO_GEMTEK=m
-CONFIG_RADIO_MAXIRADIO=m
-CONFIG_RADIO_MIROPCM20=m
-CONFIG_RADIO_SF16FMI=m
-CONFIG_RADIO_SF16FMR2=m
-CONFIG_RADIO_TERRATEC=m
-CONFIG_RADIO_TRUST=m
-CONFIG_RADIO_TYPHOON=m
-CONFIG_RADIO_ZOLTRIX=m
-CONFIG_I2C_SI4713=m
-CONFIG_RADIO_SI4713=m
-CONFIG_USB_DSBR=m
-# CONFIG_RADIO_SI470X is not set
-CONFIG_USB_MR800=m
-CONFIG_RADIO_TEA5764=m
-CONFIG_RADIO_SAA7706H=m
-CONFIG_RADIO_TEF6862=m
-CONFIG_RADIO_TIMBERDALE=m
-CONFIG_RADIO_WL1273=m
-
-#
-# Texas Instruments WL128x FM driver (ST based)
-#
-CONFIG_RADIO_WL128X=m
-CONFIG_DVB_MAX_ADAPTERS=8
-# CONFIG_DVB_DYNAMIC_MINORS is not set
-CONFIG_DVB_CAPTURE_DRIVERS=y
-
-#
-# Supported SAA7146 based PCI Adapters
-#
-CONFIG_TTPCI_EEPROM=m
-CONFIG_DVB_AV7110=m
-CONFIG_DVB_AV7110_OSD=y
-CONFIG_DVB_BUDGET_CORE=m
-CONFIG_DVB_BUDGET=m
-CONFIG_DVB_BUDGET_CI=m
-CONFIG_DVB_BUDGET_AV=m
-CONFIG_DVB_BUDGET_PATCH=m
-
-#
-# Supported USB Adapters
-#
-CONFIG_DVB_USB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_DIBUSB_MB=m
-# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIB0700=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_CXUSB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-CONFIG_DVB_USB_PCTV452E=m
-CONFIG_DVB_USB_DW2102=m
-CONFIG_DVB_USB_CINERGY_T2=m
-CONFIG_DVB_USB_ANYSEE=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_USB_AF9015=m
-CONFIG_DVB_USB_CE6230=m
-CONFIG_DVB_USB_FRIIO=m
-CONFIG_DVB_USB_EC168=m
-CONFIG_DVB_USB_AZ6027=m
-CONFIG_DVB_USB_LME2510=m
-CONFIG_DVB_USB_TECHNISAT_USB2=m
-CONFIG_DVB_USB_IT913X=m
-CONFIG_DVB_USB_MXL111SF=m
-CONFIG_DVB_TTUSB_BUDGET=m
-CONFIG_DVB_TTUSB_DEC=m
-CONFIG_SMS_SIANO_MDTV=m
-
-#
-# Siano module components
-#
-CONFIG_SMS_USB_DRV=m
-CONFIG_SMS_SDIO_DRV=m
-
-#
-# Supported FlexCopII (B2C2) Adapters
-#
-CONFIG_DVB_B2C2_FLEXCOP=m
-CONFIG_DVB_B2C2_FLEXCOP_PCI=m
-CONFIG_DVB_B2C2_FLEXCOP_USB=m
-# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
-
-#
-# Supported BT878 Adapters
-#
-CONFIG_DVB_BT8XX=m
-
-#
-# Supported Pluto2 Adapters
-#
-CONFIG_DVB_PLUTO2=m
-
-#
-# Supported SDMC DM1105 Adapters
-#
-CONFIG_DVB_DM1105=m
-
-#
-# Supported FireWire (IEEE 1394) Adapters
-#
-CONFIG_DVB_FIREDTV=m
-CONFIG_DVB_FIREDTV_INPUT=y
-
-#
-# Supported Earthsoft PT1 Adapters
-#
-CONFIG_DVB_PT1=m
-
-#
-# Supported Mantis Adapters
-#
-CONFIG_MANTIS_CORE=m
-CONFIG_DVB_MANTIS=m
-CONFIG_DVB_HOPPER=m
-
-#
-# Supported nGene Adapters
-#
-CONFIG_DVB_NGENE=m
-
-#
-# Supported ddbridge ('Octopus') Adapters
-#
-CONFIG_DVB_DDBRIDGE=m
-
-#
-# Supported DVB Frontends
-#
-CONFIG_DVB_FE_CUSTOMISE=y
-
-#
-# Customise DVB Frontends
-#
-
-#
-# Multistandard (satellite) frontends
-#
-CONFIG_DVB_STB0899=m
-CONFIG_DVB_STB6100=m
-CONFIG_DVB_STV090x=m
-CONFIG_DVB_STV6110x=m
-
-#
-# Multistandard (cable + terrestrial) frontends
-#
-CONFIG_DVB_DRXK=m
-CONFIG_DVB_TDA18271C2DD=m
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_CX24110=m
-CONFIG_DVB_CX24123=m
-CONFIG_DVB_MT312=m
-CONFIG_DVB_ZL10036=m
-CONFIG_DVB_ZL10039=m
-CONFIG_DVB_S5H1420=m
-CONFIG_DVB_STV0288=m
-CONFIG_DVB_STB6000=m
-CONFIG_DVB_STV0299=m
-CONFIG_DVB_STV6110=m
-CONFIG_DVB_STV0900=m
-CONFIG_DVB_TDA8083=m
-CONFIG_DVB_TDA10086=m
-CONFIG_DVB_TDA8261=m
-CONFIG_DVB_VES1X93=m
-CONFIG_DVB_TUNER_ITD1000=m
-CONFIG_DVB_TUNER_CX24113=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_TUA6100=m
-CONFIG_DVB_CX24116=m
-CONFIG_DVB_SI21XX=m
-CONFIG_DVB_DS3000=m
-CONFIG_DVB_MB86A16=m
-CONFIG_DVB_TDA10071=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_SP8870=m
-CONFIG_DVB_SP887X=m
-CONFIG_DVB_CX22700=m
-CONFIG_DVB_CX22702=m
-CONFIG_DVB_S5H1432=m
-CONFIG_DVB_DRXD=m
-CONFIG_DVB_L64781=m
-CONFIG_DVB_TDA1004X=m
-CONFIG_DVB_NXT6000=m
-CONFIG_DVB_MT352=m
-CONFIG_DVB_ZL10353=m
-CONFIG_DVB_DIB3000MB=m
-CONFIG_DVB_DIB3000MC=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_DVB_DIB7000P=m
-CONFIG_DVB_DIB9000=m
-CONFIG_DVB_TDA10048=m
-CONFIG_DVB_AF9013=m
-CONFIG_DVB_EC100=m
-CONFIG_DVB_STV0367=m
-CONFIG_DVB_CXD2820R=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_VES1820=m
-CONFIG_DVB_TDA10021=m
-CONFIG_DVB_TDA10023=m
-CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
-CONFIG_DVB_NXT200X=m
-CONFIG_DVB_OR51211=m
-CONFIG_DVB_OR51132=m
-CONFIG_DVB_BCM3510=m
-CONFIG_DVB_LGDT330X=m
-CONFIG_DVB_LGDT3305=m
-CONFIG_DVB_S5H1409=m
-CONFIG_DVB_AU8522=m
-CONFIG_DVB_S5H1411=m
-
-#
-# ISDB-T (terrestrial) frontends
-#
-CONFIG_DVB_S921=m
-CONFIG_DVB_DIB8000=m
-CONFIG_DVB_MB86A20S=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
-CONFIG_DVB_PLL=m
-CONFIG_DVB_TUNER_DIB0070=m
-CONFIG_DVB_TUNER_DIB0090=m
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_LNBP21=m
-CONFIG_DVB_LNBP22=m
-CONFIG_DVB_ISL6405=m
-CONFIG_DVB_ISL6421=m
-CONFIG_DVB_ISL6423=m
-CONFIG_DVB_A8293=m
-CONFIG_DVB_LGS8GL5=m
-CONFIG_DVB_LGS8GXX=m
-CONFIG_DVB_ATBM8830=m
-CONFIG_DVB_TDA665x=m
-CONFIG_DVB_IX2505V=m
-CONFIG_DVB_IT913X_FE=m
-
-#
-# Tools to develop new frontends
-#
-CONFIG_DVB_DUMMY_FE=m
-
-#
-# Graphics support
-#
-CONFIG_AGP=m
-CONFIG_AGP_ALI=m
-CONFIG_AGP_ATI=m
-CONFIG_AGP_AMD=m
-CONFIG_AGP_AMD64=m
-CONFIG_AGP_INTEL=m
-CONFIG_AGP_NVIDIA=m
-CONFIG_AGP_SIS=m
-CONFIG_AGP_SWORKS=m
-CONFIG_AGP_VIA=m
-CONFIG_AGP_EFFICEON=m
-CONFIG_VGA_ARB=y
-CONFIG_VGA_ARB_MAX_GPUS=16
-CONFIG_VGA_SWITCHEROO=y
-CONFIG_DRM=m
-CONFIG_DRM_KMS_HELPER=m
-CONFIG_DRM_TTM=m
-CONFIG_DRM_TDFX=m
-CONFIG_DRM_R128=m
-CONFIG_DRM_RADEON=m
-CONFIG_DRM_RADEON_KMS=y
-CONFIG_DRM_I810=m
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_KMS=y
-CONFIG_DRM_MGA=m
-CONFIG_DRM_SIS=m
-CONFIG_DRM_VIA=m
-CONFIG_DRM_SAVAGE=m
-CONFIG_DRM_VMWGFX=m
-CONFIG_STUB_POULSBO=m
-CONFIG_VGASTATE=m
-CONFIG_VIDEO_OUTPUT_CONTROL=m
-CONFIG_FB=y
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB_DDC=m
-CONFIG_FB_BOOT_VESA_SUPPORT=y
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
-# CONFIG_FB_WMT_GE_ROPS is not set
-CONFIG_FB_DEFERRED_IO=y
-CONFIG_FB_HECUBA=m
-CONFIG_FB_SVGALIB=m
-# CONFIG_FB_MACMODES is not set
-CONFIG_FB_BACKLIGHT=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_TILEBLITTING=y
-
-#
-# Frame buffer hardware drivers
-#
-CONFIG_FB_CIRRUS=m
-CONFIG_FB_PM2=m
-# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
-CONFIG_FB_CYBER2000=m
-CONFIG_FB_CYBER2000_DDC=y
-CONFIG_FB_ARC=m
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_IMSTT is not set
-CONFIG_FB_VGA16=m
-# CONFIG_FB_UVESA is not set
-CONFIG_FB_VESA=y
-CONFIG_FB_EFI=y
-CONFIG_FB_N411=m
-CONFIG_FB_HGA=m
-CONFIG_FB_S1D13XXX=m
-CONFIG_FB_NVIDIA=m
-CONFIG_FB_NVIDIA_I2C=y
-# CONFIG_FB_NVIDIA_DEBUG is not set
-CONFIG_FB_NVIDIA_BACKLIGHT=y
-CONFIG_FB_RIVA=m
-CONFIG_FB_RIVA_I2C=y
-# CONFIG_FB_RIVA_DEBUG is not set
-CONFIG_FB_RIVA_BACKLIGHT=y
-CONFIG_FB_I810=m
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_LE80578=m
-CONFIG_FB_CARILLO_RANCH=m
-CONFIG_FB_MATROX=m
-CONFIG_FB_MATROX_MILLENIUM=y
-CONFIG_FB_MATROX_MYSTIQUE=y
-CONFIG_FB_MATROX_G=y
-CONFIG_FB_MATROX_I2C=m
-CONFIG_FB_MATROX_MAVEN=m
-CONFIG_FB_RADEON=m
-CONFIG_FB_RADEON_I2C=y
-CONFIG_FB_RADEON_BACKLIGHT=y
-# CONFIG_FB_RADEON_DEBUG is not set
-CONFIG_FB_ATY128=m
-CONFIG_FB_ATY128_BACKLIGHT=y
-CONFIG_FB_ATY=m
-CONFIG_FB_ATY_CT=y
-CONFIG_FB_ATY_GENERIC_LCD=y
-CONFIG_FB_ATY_GX=y
-CONFIG_FB_ATY_BACKLIGHT=y
-CONFIG_FB_S3=m
-CONFIG_FB_S3_DDC=y
-CONFIG_FB_SAVAGE=m
-CONFIG_FB_SAVAGE_I2C=y
-CONFIG_FB_SAVAGE_ACCEL=y
-CONFIG_FB_SIS=m
-CONFIG_FB_SIS_300=y
-CONFIG_FB_SIS_315=y
-CONFIG_FB_VIA=m
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-CONFIG_FB_VIA_X_COMPATIBILITY=y
-CONFIG_FB_NEOMAGIC=m
-CONFIG_FB_KYRO=m
-CONFIG_FB_3DFX=m
-# CONFIG_FB_3DFX_ACCEL is not set
-CONFIG_FB_3DFX_I2C=y
-CONFIG_FB_VOODOO1=m
-CONFIG_FB_VT8623=m
-CONFIG_FB_TRIDENT=m
-CONFIG_FB_ARK=m
-CONFIG_FB_PM3=m
-CONFIG_FB_CARMINE=m
-CONFIG_FB_CARMINE_DRAM_EVAL=y
-# CONFIG_CARMINE_DRAM_CUSTOM is not set
-CONFIG_FB_GEODE=y
-CONFIG_FB_GEODE_LX=m
-CONFIG_FB_GEODE_GX=m
-CONFIG_FB_GEODE_GX1=m
-CONFIG_FB_TMIO=m
-CONFIG_FB_TMIO_ACCELL=y
-CONFIG_FB_SMSCUFX=m
-CONFIG_FB_UDL=m
-# CONFIG_FB_VIRTUAL is not set
-CONFIG_FB_METRONOME=m
-CONFIG_FB_MB862XX=m
-CONFIG_FB_MB862XX_PCI_GDC=y
-CONFIG_FB_MB862XX_I2C=y
-CONFIG_FB_BROADSHEET=m
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=m
-CONFIG_LCD_PLATFORM=m
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=m
-CONFIG_BACKLIGHT_PROGEAR=m
-CONFIG_BACKLIGHT_CARILLO_RANCH=m
-CONFIG_BACKLIGHT_APPLE=m
-CONFIG_BACKLIGHT_SAHARA=m
-CONFIG_BACKLIGHT_ADP8860=m
-CONFIG_BACKLIGHT_ADP8870=m
-CONFIG_BACKLIGHT_PCF50633=m
-
-#
-# Display device support
-#
-CONFIG_DISPLAY_SUPPORT=m
-
-#
-# Display hardware drivers
-#
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
-CONFIG_MDA_CONSOLE=m
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_7x14 is not set
-# CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
-# CONFIG_FONT_MINI_4x6 is not set
-CONFIG_FONT_SUN8x16=y
-# CONFIG_FONT_SUN12x22 is not set
-# CONFIG_FONT_10x18 is not set
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-CONFIG_SOUND=m
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-CONFIG_SND_JACK=y
-CONFIG_SND_SEQUENCER=m
-CONFIG_SND_SEQ_DUMMY=m
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
-CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_HRTIMER=m
-CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
-CONFIG_SND_DYNAMIC_MINORS=y
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_VMASTER=y
-CONFIG_SND_DMA_SGBUF=y
-CONFIG_SND_RAWMIDI_SEQ=m
-CONFIG_SND_OPL3_LIB_SEQ=m
-CONFIG_SND_OPL4_LIB_SEQ=m
-CONFIG_SND_SBAWE_SEQ=m
-CONFIG_SND_EMU10K1_SEQ=m
-CONFIG_SND_MPU401_UART=m
-CONFIG_SND_OPL3_LIB=m
-CONFIG_SND_OPL4_LIB=m
-CONFIG_SND_VX_LIB=m
-CONFIG_SND_AC97_CODEC=m
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_PCSP is not set
-CONFIG_SND_DUMMY=m
-CONFIG_SND_ALOOP=m
-CONFIG_SND_VIRMIDI=m
-CONFIG_SND_MTPAV=m
-CONFIG_SND_MTS64=m
-CONFIG_SND_SERIAL_U16550=m
-CONFIG_SND_MPU401=m
-CONFIG_SND_PORTMAN2X4=m
-CONFIG_SND_AC97_POWER_SAVE=y
-CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
-CONFIG_SND_WSS_LIB=m
-CONFIG_SND_SB_COMMON=m
-CONFIG_SND_SB8_DSP=m
-CONFIG_SND_SB16_DSP=m
-CONFIG_SND_ISA=y
-CONFIG_SND_ADLIB=m
-CONFIG_SND_AD1816A=m
-CONFIG_SND_AD1848=m
-CONFIG_SND_ALS100=m
-CONFIG_SND_AZT1605=m
-CONFIG_SND_AZT2316=m
-CONFIG_SND_AZT2320=m
-CONFIG_SND_CMI8330=m
-CONFIG_SND_CS4231=m
-CONFIG_SND_CS4236=m
-CONFIG_SND_ES1688=m
-CONFIG_SND_ES18XX=m
-CONFIG_SND_SC6000=m
-CONFIG_SND_GUSCLASSIC=m
-CONFIG_SND_GUSEXTREME=m
-CONFIG_SND_GUSMAX=m
-CONFIG_SND_INTERWAVE=m
-CONFIG_SND_INTERWAVE_STB=m
-CONFIG_SND_JAZZ16=m
-CONFIG_SND_OPL3SA2=m
-CONFIG_SND_OPTI92X_AD1848=m
-CONFIG_SND_OPTI92X_CS4231=m
-CONFIG_SND_OPTI93X=m
-CONFIG_SND_MIRO=m
-CONFIG_SND_SB8=m
-CONFIG_SND_SB16=m
-CONFIG_SND_SBAWE=m
-CONFIG_SND_SB16_CSP=y
-CONFIG_SND_SSCAPE=m
-CONFIG_SND_WAVEFRONT=m
-CONFIG_SND_MSND_PINNACLE=m
-CONFIG_SND_MSND_CLASSIC=m
-CONFIG_SND_TEA575X=m
-CONFIG_SND_PCI=y
-CONFIG_SND_AD1889=m
-CONFIG_SND_ALS300=m
-CONFIG_SND_ALS4000=m
-CONFIG_SND_ALI5451=m
-CONFIG_SND_ASIHPI=m
-CONFIG_SND_ATIIXP=m
-CONFIG_SND_ATIIXP_MODEM=m
-CONFIG_SND_AU8810=m
-CONFIG_SND_AU8820=m
-CONFIG_SND_AU8830=m
-CONFIG_SND_AW2=m
-CONFIG_SND_AZT3328=m
-CONFIG_SND_BT87X=m
-# CONFIG_SND_BT87X_OVERCLOCK is not set
-CONFIG_SND_CA0106=m
-CONFIG_SND_CMIPCI=m
-CONFIG_SND_OXYGEN_LIB=m
-CONFIG_SND_OXYGEN=m
-CONFIG_SND_CS4281=m
-CONFIG_SND_CS46XX=m
-CONFIG_SND_CS46XX_NEW_DSP=y
-CONFIG_SND_CS5530=m
-CONFIG_SND_CS5535AUDIO=m
-CONFIG_SND_CTXFI=m
-CONFIG_SND_DARLA20=m
-CONFIG_SND_GINA20=m
-CONFIG_SND_LAYLA20=m
-CONFIG_SND_DARLA24=m
-CONFIG_SND_GINA24=m
-CONFIG_SND_LAYLA24=m
-CONFIG_SND_MONA=m
-CONFIG_SND_MIA=m
-CONFIG_SND_ECHO3G=m
-CONFIG_SND_INDIGO=m
-CONFIG_SND_INDIGOIO=m
-CONFIG_SND_INDIGODJ=m
-CONFIG_SND_INDIGOIOX=m
-CONFIG_SND_INDIGODJX=m
-CONFIG_SND_EMU10K1=m
-CONFIG_SND_EMU10K1X=m
-CONFIG_SND_ENS1370=m
-CONFIG_SND_ENS1371=m
-CONFIG_SND_ES1938=m
-CONFIG_SND_ES1968=m
-CONFIG_SND_ES1968_INPUT=y
-CONFIG_SND_ES1968_RADIO=y
-CONFIG_SND_FM801=m
-CONFIG_SND_FM801_TEA575X_BOOL=y
-CONFIG_SND_HDA_INTEL=m
-CONFIG_SND_HDA_PREALLOC_SIZE=2048
-CONFIG_SND_HDA_HWDEP=y
-CONFIG_SND_HDA_RECONFIG=y
-# CONFIG_SND_HDA_INPUT_BEEP is not set
-CONFIG_SND_HDA_INPUT_JACK=y
-CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_CODEC_REALTEK=y
-CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
-CONFIG_SND_HDA_CODEC_ANALOG=y
-CONFIG_SND_HDA_CODEC_SIGMATEL=y
-CONFIG_SND_HDA_CODEC_VIA=y
-CONFIG_SND_HDA_CODEC_HDMI=y
-CONFIG_SND_HDA_CODEC_CIRRUS=y
-CONFIG_SND_HDA_CODEC_CONEXANT=y
-CONFIG_SND_HDA_CODEC_CA0110=y
-CONFIG_SND_HDA_CODEC_CA0132=y
-CONFIG_SND_HDA_CODEC_CMEDIA=y
-CONFIG_SND_HDA_CODEC_SI3054=y
-CONFIG_SND_HDA_GENERIC=y
-# CONFIG_SND_HDA_POWER_SAVE is not set
-CONFIG_SND_HDSP=m
-CONFIG_SND_HDSPM=m
-CONFIG_SND_ICE1712=m
-CONFIG_SND_ICE1724=m
-CONFIG_SND_INTEL8X0=m
-CONFIG_SND_INTEL8X0M=m
-CONFIG_SND_KORG1212=m
-CONFIG_SND_LOLA=m
-CONFIG_SND_LX6464ES=m
-CONFIG_SND_MAESTRO3=m
-CONFIG_SND_MAESTRO3_INPUT=y
-CONFIG_SND_MIXART=m
-CONFIG_SND_NM256=m
-CONFIG_SND_PCXHR=m
-CONFIG_SND_RIPTIDE=m
-CONFIG_SND_RME32=m
-CONFIG_SND_RME96=m
-CONFIG_SND_RME9652=m
-CONFIG_SND_SIS7019=m
-CONFIG_SND_SONICVIBES=m
-CONFIG_SND_TRIDENT=m
-CONFIG_SND_VIA82XX=m
-CONFIG_SND_VIA82XX_MODEM=m
-CONFIG_SND_VIRTUOSO=m
-CONFIG_SND_VX222=m
-CONFIG_SND_YMFPCI=m
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_USB_UA101=m
-CONFIG_SND_USB_USX2Y=m
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_USB_US122L=m
-CONFIG_SND_USB_6FIRE=m
-CONFIG_SND_FIREWIRE=y
-CONFIG_SND_FIREWIRE_LIB=m
-CONFIG_SND_FIREWIRE_SPEAKERS=m
-CONFIG_SND_ISIGHT=m
-CONFIG_SND_PCMCIA=y
-CONFIG_SND_VXPOCKET=m
-CONFIG_SND_PDAUDIOCF=m
-# CONFIG_SND_SOC is not set
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=m
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=m
-CONFIG_HIDRAW=y
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=m
-CONFIG_HID_PID=y
-CONFIG_USB_HIDDEV=y
-
-#
-# Special HID drivers
-#
-CONFIG_HID_A4TECH=m
-CONFIG_HID_ACRUX=m
-CONFIG_HID_ACRUX_FF=y
-CONFIG_HID_APPLE=m
-CONFIG_HID_BELKIN=m
-CONFIG_HID_CHERRY=m
-CONFIG_HID_CHICONY=m
-CONFIG_HID_PRODIKEYS=m
-CONFIG_HID_CYPRESS=m
-CONFIG_HID_DRAGONRISE=m
-CONFIG_DRAGONRISE_FF=y
-CONFIG_HID_EMS_FF=m
-CONFIG_HID_ELECOM=m
-CONFIG_HID_EZKEY=m
-CONFIG_HID_HOLTEK=m
-CONFIG_HOLTEK_FF=y
-CONFIG_HID_KEYTOUCH=m
-CONFIG_HID_KYE=m
-CONFIG_HID_UCLOGIC=m
-CONFIG_HID_WALTOP=m
-CONFIG_HID_GYRATION=m
-CONFIG_HID_TWINHAN=m
-CONFIG_HID_KENSINGTON=m
-CONFIG_HID_LCPOWER=m
-CONFIG_HID_LOGITECH=m
-CONFIG_HID_LOGITECH_DJ=m
-CONFIG_LOGITECH_FF=y
-CONFIG_LOGIRUMBLEPAD2_FF=y
-CONFIG_LOGIG940_FF=y
-CONFIG_LOGIWHEELS_FF=y
-CONFIG_HID_MAGICMOUSE=m
-CONFIG_HID_MICROSOFT=m
-CONFIG_HID_MONTEREY=m
-CONFIG_HID_MULTITOUCH=m
-CONFIG_HID_NTRIG=m
-CONFIG_HID_ORTEK=m
-CONFIG_HID_PANTHERLORD=m
-CONFIG_PANTHERLORD_FF=y
-CONFIG_HID_PETALYNX=m
-CONFIG_HID_PICOLCD=m
-CONFIG_HID_PICOLCD_FB=y
-CONFIG_HID_PICOLCD_BACKLIGHT=y
-CONFIG_HID_PICOLCD_LCD=y
-CONFIG_HID_PICOLCD_LEDS=y
-CONFIG_HID_PRIMAX=m
-CONFIG_HID_QUANTA=m
-CONFIG_HID_ROCCAT=m
-CONFIG_HID_ROCCAT_COMMON=m
-CONFIG_HID_ROCCAT_ARVO=m
-CONFIG_HID_ROCCAT_KONE=m
-CONFIG_HID_ROCCAT_KONEPLUS=m
-CONFIG_HID_ROCCAT_KOVAPLUS=m
-CONFIG_HID_ROCCAT_PYRA=m
-CONFIG_HID_SAMSUNG=m
-CONFIG_HID_SONY=m
-CONFIG_HID_SPEEDLINK=m
-CONFIG_HID_SUNPLUS=m
-CONFIG_HID_GREENASIA=m
-CONFIG_GREENASIA_FF=y
-CONFIG_HID_SMARTJOYPLUS=m
-CONFIG_SMARTJOYPLUS_FF=y
-CONFIG_HID_TOPSEED=m
-CONFIG_HID_THRUSTMASTER=m
-CONFIG_THRUSTMASTER_FF=y
-CONFIG_HID_WACOM=m
-CONFIG_HID_WACOM_POWER_SUPPLY=y
-CONFIG_HID_WIIMOTE=m
-CONFIG_HID_ZEROPLUS=m
-CONFIG_ZEROPLUS_FF=y
-CONFIG_HID_ZYDACRON=m
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_COMMON=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB_ARCH_HAS_XHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-# CONFIG_USB_DEVICEFS is not set
-# CONFIG_USB_DEVICE_CLASS is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_SUSPEND=y
-# CONFIG_USB_OTG is not set
-CONFIG_USB_DWC3=m
-# CONFIG_USB_DWC3_DEBUG is not set
-CONFIG_USB_MON=y
-CONFIG_USB_WUSB=m
-CONFIG_USB_WUSB_CBAF=m
-# CONFIG_USB_WUSB_CBAF_DEBUG is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_C67X00_HCD=y
-CONFIG_USB_XHCI_HCD=y
-# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
-CONFIG_USB_OXU210HP_HCD=y
-CONFIG_USB_ISP116X_HCD=y
-CONFIG_USB_ISP1760_HCD=y
-CONFIG_USB_ISP1362_HCD=y
-CONFIG_USB_OHCI_HCD=y
-# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-CONFIG_USB_UHCI_HCD=y
-CONFIG_USB_U132_HCD=m
-CONFIG_USB_SL811_HCD=y
-# CONFIG_USB_SL811_HCD_ISO is not set
-CONFIG_USB_SL811_CS=m
-CONFIG_USB_R8A66597_HCD=y
-CONFIG_USB_WHCI_HCD=m
-CONFIG_USB_HWA_HCD=m
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-CONFIG_USB_WDM=m
-CONFIG_USB_TMC=m
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_REALTEK=m
-CONFIG_REALTEK_AUTOPM=y
-CONFIG_USB_STORAGE_DATAFAB=y
-CONFIG_USB_STORAGE_FREECOM=y
-CONFIG_USB_STORAGE_ISD200=y
-CONFIG_USB_STORAGE_USBAT=y
-CONFIG_USB_STORAGE_SDDR09=y
-CONFIG_USB_STORAGE_SDDR55=y
-CONFIG_USB_STORAGE_JUMPSHOT=y
-CONFIG_USB_STORAGE_ALAUDA=y
-CONFIG_USB_STORAGE_ONETOUCH=y
-CONFIG_USB_STORAGE_KARMA=y
-CONFIG_USB_STORAGE_CYPRESS_ATACB=y
-CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_UAS=m
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-CONFIG_USB_MDC800=m
-CONFIG_USB_MICROTEK=m
-
-#
-# USB port drivers
-#
-CONFIG_USB_USS720=m
-CONFIG_USB_SERIAL=m
-CONFIG_USB_EZUSB=y
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_AIRCABLE=m
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_CH341=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP210X=m
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_FUNSOFT=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_IUU=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_MOS7720=m
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
-CONFIG_USB_SERIAL_MOS7840=m
-CONFIG_USB_SERIAL_MOTOROLA=m
-CONFIG_USB_SERIAL_NAVMAN=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_OTI6858=m
-CONFIG_USB_SERIAL_QCAUX=m
-CONFIG_USB_SERIAL_QUALCOMM=m
-CONFIG_USB_SERIAL_SPCP8X5=m
-CONFIG_USB_SERIAL_HP4X=m
-CONFIG_USB_SERIAL_SAFE=m
-CONFIG_USB_SERIAL_SAFE_PADDED=y
-CONFIG_USB_SERIAL_SIEMENS_MPI=m
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-CONFIG_USB_SERIAL_SYMBOL=m
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_WWAN=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_SERIAL_OPTICON=m
-CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
-CONFIG_USB_SERIAL_ZIO=m
-CONFIG_USB_SERIAL_SSU100=m
-CONFIG_USB_SERIAL_DEBUG=m
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-CONFIG_USB_ADUTUX=m
-CONFIG_USB_SEVSEG=m
-CONFIG_USB_RIO500=m
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-CONFIG_USB_LED=m
-CONFIG_USB_CYPRESS_CY7C63=m
-CONFIG_USB_CYTHERM=m
-CONFIG_USB_IDMOUSE=m
-CONFIG_USB_FTDI_ELAN=m
-CONFIG_USB_APPLEDISPLAY=m
-CONFIG_USB_SISUSBVGA=m
-CONFIG_USB_SISUSBVGA_CON=y
-CONFIG_USB_LD=m
-CONFIG_USB_TRANCEVIBRATOR=m
-CONFIG_USB_IOWARRIOR=m
-CONFIG_USB_TEST=m
-CONFIG_USB_ISIGHTFW=m
-CONFIG_USB_YUREX=m
-CONFIG_USB_ATM=m
-CONFIG_USB_SPEEDTOUCH=m
-CONFIG_USB_CXACRU=m
-CONFIG_USB_UEAGLEATM=m
-CONFIG_USB_XUSBATM=m
-# CONFIG_USB_GADGET is not set
-
-#
-# OTG and related infrastructure
-#
-CONFIG_USB_OTG_UTILS=y
-CONFIG_USB_GPIO_VBUS=m
-CONFIG_NOP_USB_XCEIV=m
-CONFIG_UWB=m
-CONFIG_UWB_HWA=m
-CONFIG_UWB_WHCI=m
-CONFIG_UWB_I1480U=m
-CONFIG_MMC=m
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=m
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_SDIO_UART=m
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_SDHCI=m
-CONFIG_MMC_SDHCI_PCI=m
-CONFIG_MMC_RICOH_MMC=y
-CONFIG_MMC_SDHCI_PLTFM=m
-CONFIG_MMC_WBSD=m
-CONFIG_MMC_TIFM_SD=m
-CONFIG_MMC_SDRICOH_CS=m
-CONFIG_MMC_CB710=m
-CONFIG_MMC_VIA_SDMMC=m
-CONFIG_MMC_VUB300=m
-CONFIG_MMC_USHC=m
-CONFIG_MEMSTICK=m
-# CONFIG_MEMSTICK_DEBUG is not set
-
-#
-# MemoryStick drivers
-#
-# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
-CONFIG_MSPRO_BLOCK=m
-
-#
-# MemoryStick Host Controller Drivers
-#
-CONFIG_MEMSTICK_TIFM_MS=m
-CONFIG_MEMSTICK_JMICRON_38X=m
-CONFIG_MEMSTICK_R592=m
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-CONFIG_LEDS_LM3530=m
-CONFIG_LEDS_NET48XX=m
-CONFIG_LEDS_NET5501=m
-CONFIG_LEDS_WRAP=m
-CONFIG_LEDS_PCA9532=m
-# CONFIG_LEDS_PCA9532_GPIO is not set
-CONFIG_LEDS_GPIO=m
-CONFIG_LEDS_LP3944=m
-CONFIG_LEDS_LP5521=m
-CONFIG_LEDS_LP5523=m
-CONFIG_LEDS_CLEVO_MAIL=m
-CONFIG_LEDS_PCA955X=m
-CONFIG_LEDS_REGULATOR=m
-CONFIG_LEDS_BD2802=m
-CONFIG_LEDS_INTEL_SS4200=m
-CONFIG_LEDS_LT3593=m
-CONFIG_LEDS_DELL_NETBOOKS=m
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_HEARTBEAT=m
-CONFIG_LEDS_TRIGGER_BACKLIGHT=m
-CONFIG_LEDS_TRIGGER_GPIO=m
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-CONFIG_ACCESSIBILITY=y
-CONFIG_A11Y_BRAILLE_CONSOLE=y
-CONFIG_INFINIBAND=m
-CONFIG_INFINIBAND_USER_MAD=m
-CONFIG_INFINIBAND_USER_ACCESS=m
-CONFIG_INFINIBAND_USER_MEM=y
-CONFIG_INFINIBAND_ADDR_TRANS=y
-CONFIG_INFINIBAND_MTHCA=m
-CONFIG_INFINIBAND_MTHCA_DEBUG=y
-CONFIG_INFINIBAND_AMSO1100=m
-# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
-# CONFIG_INFINIBAND_CXGB3 is not set
-CONFIG_INFINIBAND_CXGB4=m
-CONFIG_MLX4_INFINIBAND=m
-CONFIG_INFINIBAND_NES=m
-# CONFIG_INFINIBAND_NES_DEBUG is not set
-CONFIG_INFINIBAND_IPOIB=m
-# CONFIG_INFINIBAND_IPOIB_CM is not set
-CONFIG_INFINIBAND_IPOIB_DEBUG=y
-# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
-CONFIG_INFINIBAND_SRP=m
-CONFIG_INFINIBAND_ISER=m
-CONFIG_EDAC=y
-
-#
-# Reporting subsystems
-#
-# CONFIG_EDAC_DEBUG is not set
-CONFIG_EDAC_DECODE_MCE=y
-CONFIG_EDAC_MCE_INJ=m
-# CONFIG_EDAC_MM_EDAC is not set
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-CONFIG_RTC_INTF_DEV_UIE_EMUL=y
-CONFIG_RTC_DRV_TEST=m
-
-#
-# I2C RTC drivers
-#
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_DS1374=m
-CONFIG_RTC_DRV_DS1672=m
-CONFIG_RTC_DRV_DS3232=m
-CONFIG_RTC_DRV_MAX6900=m
-CONFIG_RTC_DRV_RS5C372=m
-CONFIG_RTC_DRV_ISL1208=m
-CONFIG_RTC_DRV_ISL12022=m
-CONFIG_RTC_DRV_X1205=m
-CONFIG_RTC_DRV_PCF8563=m
-CONFIG_RTC_DRV_PCF8583=m
-CONFIG_RTC_DRV_M41T80=m
-CONFIG_RTC_DRV_M41T80_WDT=y
-CONFIG_RTC_DRV_BQ32K=m
-CONFIG_RTC_DRV_S35390A=m
-CONFIG_RTC_DRV_FM3130=m
-CONFIG_RTC_DRV_RX8581=m
-CONFIG_RTC_DRV_RX8025=m
-CONFIG_RTC_DRV_EM3027=m
-CONFIG_RTC_DRV_RV3029C2=m
-
-#
-# SPI RTC drivers
-#
-
-#
-# Platform RTC drivers
-#
-CONFIG_RTC_DRV_CMOS=y
-CONFIG_RTC_DRV_DS1286=m
-CONFIG_RTC_DRV_DS1511=m
-CONFIG_RTC_DRV_DS1553=m
-CONFIG_RTC_DRV_DS1742=m
-CONFIG_RTC_DRV_STK17TA8=m
-CONFIG_RTC_DRV_M48T86=m
-CONFIG_RTC_DRV_M48T35=m
-CONFIG_RTC_DRV_M48T59=m
-CONFIG_RTC_DRV_MSM6242=m
-CONFIG_RTC_DRV_BQ4802=m
-CONFIG_RTC_DRV_RP5C01=m
-CONFIG_RTC_DRV_V3020=m
-CONFIG_RTC_DRV_PCF50633=m
-
-#
-# on-CPU RTC drivers
-#
-CONFIG_DMADEVICES=y
-# CONFIG_DMADEVICES_DEBUG is not set
-
-#
-# DMA Devices
-#
-CONFIG_INTEL_MID_DMAC=m
-CONFIG_INTEL_IOATDMA=m
-CONFIG_TIMB_DMA=m
-CONFIG_PCH_DMA=m
-CONFIG_DMA_ENGINE=y
-
-#
-# DMA Clients
-#
-CONFIG_NET_DMA=y
-# CONFIG_ASYNC_TX_DMA is not set
-CONFIG_DMATEST=m
-CONFIG_DCA=m
-CONFIG_AUXDISPLAY=y
-# CONFIG_KS0108 is not set
-CONFIG_UIO=m
-CONFIG_UIO_CIF=m
-CONFIG_UIO_PDRV=m
-CONFIG_UIO_PDRV_GENIRQ=m
-CONFIG_UIO_AEC=m
-CONFIG_UIO_SERCOS3=m
-CONFIG_UIO_PCI_GENERIC=m
-CONFIG_UIO_NETX=m
-CONFIG_VIRTIO=m
-CONFIG_VIRTIO_RING=m
-
-#
-# Virtio drivers
-#
-CONFIG_VIRTIO_PCI=m
-CONFIG_VIRTIO_BALLOON=m
-CONFIG_VIRTIO_MMIO=m
-CONFIG_STAGING=y
-# CONFIG_ET131X is not set
-# CONFIG_SLICOSS is not set
-CONFIG_USBIP_CORE=m
-CONFIG_USBIP_VHCI_HCD=m
-CONFIG_USBIP_HOST=m
-# CONFIG_USBIP_DEBUG is not set
-# CONFIG_W35UND is not set
-# CONFIG_PRISM2_USB is not set
-# CONFIG_ECHO is not set
-# CONFIG_COMEDI is not set
-CONFIG_ASUS_OLED=m
-# CONFIG_PANEL is not set
-CONFIG_R8187SE=m
-CONFIG_RTL8192U=m
-CONFIG_RTL8192E=m
-CONFIG_R8712U=m
-CONFIG_RTS_PSTOR=m
-# CONFIG_RTS_PSTOR_DEBUG is not set
-CONFIG_RTS5139=m
-# CONFIG_RTS5139_DEBUG is not set
-# CONFIG_TRANZPORT is not set
-CONFIG_POHMELFS=m
-# CONFIG_POHMELFS_DEBUG is not set
-CONFIG_IDE_PHISON=m
-CONFIG_LINE6_USB=m
-# CONFIG_LINE6_USB_DEBUG is not set
-# CONFIG_LINE6_USB_DUMP_CTRL is not set
-# CONFIG_LINE6_USB_DUMP_MIDI is not set
-# CONFIG_LINE6_USB_DUMP_PCM is not set
-# CONFIG_LINE6_USB_RAW is not set
-# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
-CONFIG_DRM_NOUVEAU=m
-CONFIG_DRM_NOUVEAU_BACKLIGHT=y
-CONFIG_DRM_NOUVEAU_DEBUG=y
-
-#
-# I2C encoder or helper chips
-#
-CONFIG_DRM_I2C_CH7006=m
-CONFIG_DRM_I2C_SIL164=m
-CONFIG_USB_SERIAL_QUATECH2=m
-CONFIG_USB_SERIAL_QUATECH_USB2=m
-CONFIG_VT6655=m
-CONFIG_VT6656=m
-CONFIG_HYPERV_STORAGE=m
-CONFIG_HYPERV_NET=m
-CONFIG_HYPERV_MOUSE=m
-# CONFIG_VME_BUS is not set
-CONFIG_DX_SEP=m
-# CONFIG_IIO is not set
-CONFIG_XVMALLOC=y
-CONFIG_ZRAM=m
-# CONFIG_ZRAM_DEBUG is not set
-CONFIG_WLAGS49_H2=m
-CONFIG_WLAGS49_H25=m
-CONFIG_FB_SM7XX=m
-CONFIG_CRYSTALHD=m
-# CONFIG_CXT1E1 is not set
-CONFIG_FB_XGI=m
-CONFIG_ACPI_QUICKSTART=m
-CONFIG_SBE_2T3E3=m
-CONFIG_USB_ENESTORAGE=m
-CONFIG_BCM_WIMAX=m
-# CONFIG_FT1000 is not set
-
-#
-# Speakup console speech
-#
-CONFIG_SPEAKUP=y
-CONFIG_SPEAKUP_SYNTH_ACNTSA=y
-CONFIG_SPEAKUP_SYNTH_ACNTPC=y
-CONFIG_SPEAKUP_SYNTH_APOLLO=y
-CONFIG_SPEAKUP_SYNTH_AUDPTR=y
-CONFIG_SPEAKUP_SYNTH_BNS=y
-CONFIG_SPEAKUP_SYNTH_DECTLK=y
-CONFIG_SPEAKUP_SYNTH_DECEXT=y
-CONFIG_SPEAKUP_SYNTH_DECPC=m
-CONFIG_SPEAKUP_SYNTH_DTLK=y
-CONFIG_SPEAKUP_SYNTH_KEYPC=y
-CONFIG_SPEAKUP_SYNTH_LTLK=y
-CONFIG_SPEAKUP_SYNTH_SOFT=y
-CONFIG_SPEAKUP_SYNTH_SPKOUT=y
-CONFIG_SPEAKUP_SYNTH_TXPRT=y
-CONFIG_SPEAKUP_SYNTH_DUMMY=y
-CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
-CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
-CONFIG_DRM_PSB=m
-CONFIG_DRM_PSB_MRST=y
-CONFIG_DRM_PSB_MFLD=y
-CONFIG_DRM_PSB_CDV=y
-CONFIG_INTEL_MEI=m
-CONFIG_STAGING_MEDIA=y
-CONFIG_DVB_AS102=m
-CONFIG_DVB_CXD2099=m
-CONFIG_VIDEO_DT3155=m
-CONFIG_DT3155_CCIR=y
-CONFIG_DT3155_STREAMING=y
-CONFIG_EASYCAP=m
-# CONFIG_EASYCAP_DEBUG is not set
-# CONFIG_VIDEO_GO7007 is not set
-CONFIG_SOLO6X10=m
-CONFIG_LIRC_STAGING=y
-CONFIG_LIRC_BT829=m
-CONFIG_LIRC_IGORPLUGUSB=m
-CONFIG_LIRC_IMON=m
-CONFIG_LIRC_PARALLEL=m
-CONFIG_LIRC_SASEM=m
-CONFIG_LIRC_SERIAL=m
-CONFIG_LIRC_SERIAL_TRANSMITTER=y
-CONFIG_LIRC_SIR=m
-CONFIG_LIRC_TTUSBIR=m
-CONFIG_LIRC_ZILOG=m
-CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_ACER_WMI=m
-CONFIG_ACERHDF=m
-CONFIG_ASUS_LAPTOP=m
-CONFIG_DELL_LAPTOP=m
-CONFIG_DELL_WMI=m
-CONFIG_DELL_WMI_AIO=m
-CONFIG_FUJITSU_LAPTOP=m
-# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
-CONFIG_TC1100_WMI=m
-CONFIG_HP_ACCEL=m
-CONFIG_HP_WMI=m
-CONFIG_MSI_LAPTOP=m
-CONFIG_PANASONIC_LAPTOP=m
-CONFIG_COMPAL_LAPTOP=m
-CONFIG_SONY_LAPTOP=m
-CONFIG_SONYPI_COMPAT=y
-CONFIG_IDEAPAD_LAPTOP=m
-CONFIG_THINKPAD_ACPI=m
-CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
-# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
-# CONFIG_THINKPAD_ACPI_DEBUG is not set
-# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
-CONFIG_THINKPAD_ACPI_VIDEO=y
-CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
-CONFIG_SENSORS_HDAPS=m
-CONFIG_INTEL_MENLOW=m
-CONFIG_EEEPC_LAPTOP=m
-CONFIG_ASUS_WMI=m
-CONFIG_ASUS_NB_WMI=m
-CONFIG_EEEPC_WMI=m
-CONFIG_ACPI_WMI=m
-CONFIG_MSI_WMI=m
-CONFIG_ACPI_ASUS=m
-CONFIG_TOPSTAR_LAPTOP=m
-CONFIG_ACPI_TOSHIBA=m
-CONFIG_TOSHIBA_BT_RFKILL=m
-CONFIG_ACPI_CMPC=m
-CONFIG_INTEL_IPS=m
-CONFIG_IBM_RTL=m
-CONFIG_XO15_EBOOK=m
-CONFIG_SAMSUNG_LAPTOP=m
-CONFIG_MXM_WMI=m
-CONFIG_INTEL_OAKTRAIL=m
-CONFIG_SAMSUNG_Q10=m
-
-#
-# Hardware Spinlock drivers
-#
-CONFIG_CLKSRC_I8253=y
-CONFIG_CLKEVT_I8253=y
-CONFIG_I8253_LOCK=y
-CONFIG_CLKBLD_I8253=y
-CONFIG_IOMMU_API=y
-CONFIG_IOMMU_SUPPORT=y
-CONFIG_DMAR_TABLE=y
-CONFIG_INTEL_IOMMU=y
-# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
-CONFIG_INTEL_IOMMU_FLOPPY_WA=y
-CONFIG_VIRT_DRIVERS=y
-CONFIG_HYPERV=m
-CONFIG_HYPERV_UTILS=m
-CONFIG_PM_DEVFREQ=y
-
-#
-# DEVFREQ Governors
-#
-CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
-CONFIG_DEVFREQ_GOV_PERFORMANCE=y
-CONFIG_DEVFREQ_GOV_POWERSAVE=y
-CONFIG_DEVFREQ_GOV_USERSPACE=y
-
-#
-# DEVFREQ Drivers
-#
-
-#
-# Firmware Drivers
-#
-CONFIG_EDD=m
-CONFIG_EDD_OFF=y
-CONFIG_FIRMWARE_MEMMAP=y
-CONFIG_EFI_VARS=m
-CONFIG_DELL_RBU=m
-CONFIG_DCDBAS=m
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=m
-CONFIG_ISCSI_IBFT_FIND=y
-CONFIG_ISCSI_IBFT=m
-CONFIG_SIGMA=m
-# CONFIG_GOOGLE_FIRMWARE is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
-CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
-CONFIG_EXT3_FS_XATTR=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_EXT4_FS=y
-CONFIG_EXT4_FS_XATTR=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
-CONFIG_JBD2=y
-# CONFIG_JBD2_DEBUG is not set
-CONFIG_FS_MBCACHE=y
-CONFIG_REISERFS_FS=y
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-CONFIG_REISERFS_FS_XATTR=y
-CONFIG_REISERFS_FS_POSIX_ACL=y
-CONFIG_REISERFS_FS_SECURITY=y
-CONFIG_JFS_FS=y
-CONFIG_JFS_POSIX_ACL=y
-CONFIG_JFS_SECURITY=y
-# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
-CONFIG_XFS_FS=y
-CONFIG_XFS_QUOTA=y
-CONFIG_XFS_POSIX_ACL=y
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_DEBUG is not set
-CONFIG_GFS2_FS=y
-CONFIG_GFS2_FS_LOCKING_DLM=y
-CONFIG_OCFS2_FS=y
-CONFIG_OCFS2_FS_O2CB=y
-CONFIG_OCFS2_FS_USERSPACE_CLUSTER=y
-# CONFIG_OCFS2_FS_STATS is not set
-CONFIG_OCFS2_DEBUG_MASKLOG=y
-# CONFIG_OCFS2_DEBUG_FS is not set
-CONFIG_BTRFS_FS=y
-CONFIG_BTRFS_FS_POSIX_ACL=y
-CONFIG_NILFS2_FS=m
-CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=y
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_FANOTIFY=y
-# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
-CONFIG_QUOTA=y
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
-# CONFIG_QUOTA_DEBUG is not set
-CONFIG_QUOTA_TREE=y
-CONFIG_QFMT_V1=m
-CONFIG_QFMT_V2=y
-CONFIG_QUOTACTL=y
-CONFIG_AUTOFS4_FS=m
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-CONFIG_FSCACHE=m
-# CONFIG_FSCACHE_STATS is not set
-# CONFIG_FSCACHE_HISTOGRAM is not set
-# CONFIG_FSCACHE_DEBUG is not set
-# CONFIG_FSCACHE_OBJECT_LIST is not set
-CONFIG_CACHEFILES=m
-# CONFIG_CACHEFILES_DEBUG is not set
-# CONFIG_CACHEFILES_HISTOGRAM is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=y
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=y
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-CONFIG_NTFS_FS=y
-# CONFIG_NTFS_DEBUG is not set
-CONFIG_NTFS_RW=y
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_TMPFS_XATTR=y
-# CONFIG_HUGETLBFS is not set
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_CONFIGFS_FS=y
-CONFIG_MISC_FILESYSTEMS=y
-CONFIG_ADFS_FS=m
-# CONFIG_ADFS_FS_RW is not set
-CONFIG_AFFS_FS=m
-CONFIG_ECRYPT_FS=m
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-CONFIG_BEFS_FS=m
-# CONFIG_BEFS_DEBUG is not set
-CONFIG_BFS_FS=m
-CONFIG_EFS_FS=m
-CONFIG_JFFS2_FS=m
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-# CONFIG_JFFS2_SUMMARY is not set
-# CONFIG_JFFS2_FS_XATTR is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-# CONFIG_JFFS2_LZO is not set
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-CONFIG_UBIFS_FS=m
-CONFIG_UBIFS_FS_XATTR=y
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-CONFIG_LOGFS=m
-CONFIG_CRAMFS=m
-CONFIG_SQUASHFS=m
-CONFIG_SQUASHFS_XATTR=y
-CONFIG_SQUASHFS_ZLIB=y
-CONFIG_SQUASHFS_LZO=y
-CONFIG_SQUASHFS_XZ=y
-# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
-CONFIG_SQUASHFS_EMBEDDED=y
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
-CONFIG_VXFS_FS=m
-CONFIG_MINIX_FS=m
-CONFIG_OMFS_FS=m
-CONFIG_HPFS_FS=m
-CONFIG_QNX4FS_FS=m
-CONFIG_ROMFS_FS=y
-CONFIG_ROMFS_BACKED_BY_BLOCK=y
-CONFIG_ROMFS_ON_BLOCK=y
-CONFIG_PSTORE=y
-CONFIG_SYSV_FS=m
-CONFIG_UFS_FS=m
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_UFS_DEBUG is not set
-CONFIG_EXOFS_FS=m
-# CONFIG_EXOFS_DEBUG is not set
-CONFIG_ORE=m
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-CONFIG_NFS_V4=y
-# CONFIG_NFS_V4_1 is not set
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
-CONFIG_NFSD=y
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-CONFIG_NFSD_V4=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-CONFIG_SUNRPC_XPRT_RDMA=m
-CONFIG_RPCSEC_GSS_KRB5=m
-CONFIG_CEPH_FS=m
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-CONFIG_CIFS_WEAK_PW_HASH=y
-# CONFIG_CIFS_UPCALL is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_DFS_UPCALL is not set
-CONFIG_CIFS_FSCACHE=y
-CONFIG_NCP_FS=m
-CONFIG_NCPFS_PACKET_SIGNING=y
-CONFIG_NCPFS_IOCTL_LOCKING=y
-CONFIG_NCPFS_STRONG=y
-CONFIG_NCPFS_NFS_NS=y
-CONFIG_NCPFS_OS2_NS=y
-CONFIG_NCPFS_SMALLDOS=y
-CONFIG_NCPFS_NLS=y
-CONFIG_NCPFS_EXTRAS=y
-CONFIG_CODA_FS=m
-CONFIG_AFS_FS=m
-# CONFIG_AFS_DEBUG is not set
-# CONFIG_AFS_FSCACHE is not set
-CONFIG_9P_FS=m
-# CONFIG_9P_FSCACHE is not set
-# CONFIG_9P_FS_POSIX_ACL is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-CONFIG_OSF_PARTITION=y
-CONFIG_AMIGA_PARTITION=y
-# CONFIG_ATARI_PARTITION is not set
-CONFIG_MAC_PARTITION=y
-CONFIG_MSDOS_PARTITION=y
-CONFIG_BSD_DISKLABEL=y
-CONFIG_MINIX_SUBPARTITION=y
-CONFIG_SOLARIS_X86_PARTITION=y
-CONFIG_UNIXWARE_DISKLABEL=y
-# CONFIG_LDM_PARTITION is not set
-CONFIG_SGI_PARTITION=y
-# CONFIG_ULTRIX_PARTITION is not set
-CONFIG_SUN_PARTITION=y
-CONFIG_KARMA_PARTITION=y
-CONFIG_EFI_PARTITION=y
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=y
-CONFIG_DLM=y
-# CONFIG_DLM_DEBUG is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_PRINTK_TIME=y
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-CONFIG_ENABLE_WARN_DEPRECATED=y
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_FRAME_WARN=0
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_STRIP_ASM_SYMS=y
-CONFIG_UNUSED_SYMBOLS=y
-CONFIG_DEBUG_FS=y
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
-# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
-CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
-CONFIG_SCHED_DEBUG=y
-# CONFIG_SCHEDSTATS is not set
-CONFIG_TIMER_STATS=y
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SLUB_STATS is not set
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-CONFIG_STACKTRACE=y
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_HIGHMEM is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_VIRTUAL is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-CONFIG_DEBUG_MEMORY_INIT=y
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-CONFIG_FRAME_POINTER=y
-# CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_LKDTM is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_USER_STACKTRACE_SUPPORT=y
-CONFIG_NOP_TRACER=y
-CONFIG_HAVE_FTRACE_NMI_ENTER=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_RING_BUFFER=y
-CONFIG_FTRACE_NMI_ENTER=y
-CONFIG_EVENT_TRACING=y
-CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
-CONFIG_CONTEXT_SWITCH_TRACER=y
-CONFIG_RING_BUFFER_ALLOW_SWAP=y
-CONFIG_TRACING=y
-CONFIG_GENERIC_TRACER=y
-CONFIG_TRACING_SUPPORT=y
-CONFIG_FTRACE=y
-CONFIG_FUNCTION_TRACER=y
-CONFIG_FUNCTION_GRAPH_TRACER=y
-# CONFIG_IRQSOFF_TRACER is not set
-# CONFIG_SCHED_TRACER is not set
-# CONFIG_FTRACE_SYSCALLS is not set
-CONFIG_BRANCH_PROFILE_NONE=y
-# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-# CONFIG_PROFILE_ALL_BRANCHES is not set
-# CONFIG_STACK_TRACER is not set
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_DYNAMIC_FTRACE=y
-# CONFIG_FUNCTION_PROFILER is not set
-CONFIG_FTRACE_MCOUNT_RECORD=y
-# CONFIG_FTRACE_STARTUP_TEST is not set
-# CONFIG_MMIOTRACE is not set
-CONFIG_RING_BUFFER_BENCHMARK=m
-# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_DMA_API_DEBUG is not set
-CONFIG_ATOMIC64_SELFTEST=y
-CONFIG_ASYNC_RAID6_TEST=m
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-CONFIG_HAVE_ARCH_KMEMCHECK=y
-# CONFIG_TEST_KSTRTOX is not set
-CONFIG_STRICT_DEVMEM=y
-CONFIG_X86_VERBOSE_BOOTUP=y
-CONFIG_EARLY_PRINTK=y
-# CONFIG_EARLY_PRINTK_DBGP is not set
-# CONFIG_DEBUG_STACKOVERFLOW is not set
-# CONFIG_X86_PTDUMP is not set
-CONFIG_DEBUG_RODATA=y
-CONFIG_DEBUG_RODATA_TEST=y
-# CONFIG_DEBUG_SET_MODULE_RONX is not set
-# CONFIG_DEBUG_NX_TEST is not set
-CONFIG_DOUBLEFAULT=y
-# CONFIG_IOMMU_STRESS is not set
-CONFIG_HAVE_MMIOTRACE_SUPPORT=y
-CONFIG_IO_DELAY_TYPE_0X80=0
-CONFIG_IO_DELAY_TYPE_0XED=1
-CONFIG_IO_DELAY_TYPE_UDELAY=2
-CONFIG_IO_DELAY_TYPE_NONE=3
-CONFIG_IO_DELAY_0X80=y
-# CONFIG_IO_DELAY_0XED is not set
-# CONFIG_IO_DELAY_UDELAY is not set
-# CONFIG_IO_DELAY_NONE is not set
-CONFIG_DEFAULT_IO_DELAY_TYPE=0
-# CONFIG_DEBUG_BOOT_PARAMS is not set
-# CONFIG_CPA_DEBUG is not set
-CONFIG_OPTIMIZE_INLINING=y
-# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-CONFIG_TRUSTED_KEYS=m
-CONFIG_ENCRYPTED_KEYS=m
-CONFIG_KEYS_DEBUG_PROC_KEYS=y
-CONFIG_SECURITY_DMESG_RESTRICT=y
-CONFIG_SECURITY=y
-CONFIG_SECURITYFS=y
-CONFIG_SECURITY_NETWORK=y
-CONFIG_SECURITY_NETWORK_XFRM=y
-# CONFIG_SECURITY_PATH is not set
-# CONFIG_INTEL_TXT is not set
-# CONFIG_SECURITY_SELINUX is not set
-# CONFIG_SECURITY_TOMOYO is not set
-# CONFIG_SECURITY_APPARMOR is not set
-# CONFIG_IMA is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_XOR_BLOCKS=y
-CONFIG_ASYNC_CORE=y
-CONFIG_ASYNC_MEMCPY=y
-CONFIG_ASYNC_XOR=y
-CONFIG_ASYNC_PQ=y
-CONFIG_ASYNC_RAID6_RECOV=y
-CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
-CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=y
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG=y
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_PCOMP=m
-CONFIG_CRYPTO_PCOMP2=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_USER=m
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-CONFIG_CRYPTO_GF128MUL=y
-CONFIG_CRYPTO_NULL=y
-CONFIG_CRYPTO_WORKQUEUE=y
-CONFIG_CRYPTO_CRYPTD=y
-CONFIG_CRYPTO_AUTHENC=y
-CONFIG_CRYPTO_TEST=m
-
-#
-# Authenticated Encryption with Associated Data
-#
-CONFIG_CRYPTO_CCM=y
-CONFIG_CRYPTO_GCM=y
-CONFIG_CRYPTO_SEQIV=y
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_CTR=y
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_LRW=y
-CONFIG_CRYPTO_PCBC=y
-CONFIG_CRYPTO_XTS=y
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_VMAC=m
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_CRC32C_INTEL=m
-CONFIG_CRYPTO_GHASH=y
-CONFIG_CRYPTO_MD4=y
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=y
-CONFIG_CRYPTO_RMD128=m
-CONFIG_CRYPTO_RMD160=y
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
-CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_SHA512=y
-CONFIG_CRYPTO_TGR192=y
-CONFIG_CRYPTO_WP512=y
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_AES_586=y
-CONFIG_CRYPTO_AES_NI_INTEL=y
-CONFIG_CRYPTO_ANUBIS=y
-CONFIG_CRYPTO_ARC4=y
-CONFIG_CRYPTO_BLOWFISH=y
-CONFIG_CRYPTO_BLOWFISH_COMMON=y
-CONFIG_CRYPTO_CAMELLIA=y
-CONFIG_CRYPTO_CAST5=y
-CONFIG_CRYPTO_CAST6=y
-CONFIG_CRYPTO_DES=y
-CONFIG_CRYPTO_FCRYPT=y
-CONFIG_CRYPTO_KHAZAD=y
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SALSA20_586=m
-CONFIG_CRYPTO_SEED=y
-CONFIG_CRYPTO_SERPENT=y
-CONFIG_CRYPTO_TEA=y
-CONFIG_CRYPTO_TWOFISH=y
-CONFIG_CRYPTO_TWOFISH_COMMON=y
-CONFIG_CRYPTO_TWOFISH_586=y
-
-#
-# Compression
-#
-CONFIG_CRYPTO_DEFLATE=y
-CONFIG_CRYPTO_ZLIB=m
-CONFIG_CRYPTO_LZO=m
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_USER_API=m
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_DEV_PADLOCK=m
-CONFIG_CRYPTO_DEV_PADLOCK_AES=m
-CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
-CONFIG_CRYPTO_DEV_GEODE=m
-CONFIG_CRYPTO_DEV_HIFN_795X=m
-CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
-CONFIG_HAVE_KVM=y
-CONFIG_HAVE_KVM_IRQCHIP=y
-CONFIG_HAVE_KVM_EVENTFD=y
-CONFIG_KVM_APIC_ARCHITECTURE=y
-CONFIG_KVM_MMIO=y
-CONFIG_KVM_ASYNC_PF=y
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=m
-CONFIG_KVM_INTEL=m
-CONFIG_KVM_AMD=m
-CONFIG_KVM_MMU_AUDIT=y
-CONFIG_VHOST_NET=m
-CONFIG_LGUEST=m
-CONFIG_BINARY_PRINTF=y
-
-#
-# Library routines
-#
-CONFIG_RAID6_PQ=y
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
-CONFIG_CRC_CCITT=m
-CONFIG_CRC16=y
-CONFIG_CRC_T10DIF=m
-CONFIG_CRC_ITU_T=y
-CONFIG_CRC32=y
-CONFIG_CRC7=m
-CONFIG_LIBCRC32C=y
-CONFIG_CRC8=m
-CONFIG_AUDIT_GENERIC=y
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_XZ_DEC=y
-CONFIG_XZ_DEC_X86=y
-CONFIG_XZ_DEC_POWERPC=y
-CONFIG_XZ_DEC_IA64=y
-CONFIG_XZ_DEC_ARM=y
-CONFIG_XZ_DEC_ARMTHUMB=y
-CONFIG_XZ_DEC_SPARC=y
-CONFIG_XZ_DEC_BCJ=y
-# CONFIG_XZ_DEC_TEST is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_XZ=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_GENERIC_ALLOCATOR=y
-CONFIG_REED_SOLOMON=m
-CONFIG_REED_SOLOMON_DEC16=y
-CONFIG_BCH=m
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_BTREE=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_CHECK_SIGNATURE=y
-CONFIG_NLATTR=y
-CONFIG_LRU_CACHE=m
-CONFIG_AVERAGE=y
-CONFIG_CORDIC=m
diff --git a/source/k/config-x86/config-huge-smp-3.10.17-smp b/source/k/config-x86/config-huge-smp-3.10.17-smp
new file mode 100644
index 000000000..2bc0493e7
--- /dev/null
+++ b/source/k/config-x86/config-huge-smp-3.10.17-smp
@@ -0,0 +1,6419 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/x86 3.10.17 Kernel Configuration
+#
+# CONFIG_64BIT is not set
+CONFIG_X86_32=y
+CONFIG_X86=y
+CONFIG_INSTRUCTION_DECODER=y
+CONFIG_OUTPUT_FORMAT="elf32-i386"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# CONFIG_ZONE_DMA32 is not set
+# CONFIG_AUDIT_ARCH is not set
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_X86_32_SMP=y
+CONFIG_X86_HT=y
+CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
+CONFIG_ARCH_CPU_PROBE_RELEASE=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_EXTABLE_SORT=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION="-smp"
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+CONFIG_DEFAULT_HOSTNAME="darkstar"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_FHANDLE=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_WATCH=y
+CONFIG_AUDIT_TREE=y
+# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_GENERIC_IRQ_CHIP=y
+CONFIG_IRQ_DOMAIN=y
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_KTIME_SCALAR=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_FANOUT=32
+CONFIG_RCU_FANOUT_LEAF=16
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_RCU_NOCB_CPU is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
+# CONFIG_NUMA_BALANCING is not set
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+# CONFIG_MEMCG is not set
+CONFIG_CGROUP_PERF=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_SCHED_AUTOGROUP is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_HAVE_UID16=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_HOTPLUG=y
+CONFIG_HAVE_PCSPKR_PLATFORM=y
+# CONFIG_EXPERT is not set
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+CONFIG_HAVE_OPROFILE=y
+CONFIG_OPROFILE_NMI_TIMER=y
+# CONFIG_KPROBES is not set
+# CONFIG_JUMP_LABEL is not set
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_PERF_EVENTS_NMI=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP_FILTER=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_MODULES_USE_ELF_REL=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_OLD_SIGACTION=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_BSGLIB=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_DEV_THROTTLING=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+CONFIG_OSF_PARTITION=y
+CONFIG_AMIGA_PARTITION=y
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+# CONFIG_LDM_PARTITION is not set
+CONFIG_SGI_PARTITION=y
+# CONFIG_ULTRIX_PARTITION is not set
+CONFIG_SUN_PARTITION=y
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_CFQ_GROUP_IOSCHED=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+CONFIG_ASN1=m
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_INLINE_READ_UNLOCK=y
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_INLINE_WRITE_UNLOCK=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_ZONE_DMA=y
+CONFIG_SMP=y
+CONFIG_X86_MPPARSE=y
+CONFIG_X86_BIGSMP=y
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+# CONFIG_X86_GOLDFISH is not set
+CONFIG_X86_INTEL_LPSS=y
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_X86_32_IRIS=m
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_HYPERVISOR_GUEST=y
+# CONFIG_PARAVIRT is not set
+# CONFIG_XEN_PRIVILEGED_GUEST is not set
+CONFIG_NO_BOOTMEM=y
+CONFIG_MEMTEST=y
+# CONFIG_M486 is not set
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+# CONFIG_M686 is not set
+# CONFIG_MPENTIUMII is not set
+CONFIG_MPENTIUMIII=y
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MELAN is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+CONFIG_X86_GENERIC=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=5
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_CPU_SUP_TRANSMETA_32=y
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+CONFIG_NR_CPUS=32
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+CONFIG_X86_ANCIENT_MCE=y
+CONFIG_X86_MCE_THRESHOLD=y
+CONFIG_X86_MCE_INJECT=m
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_VM86=y
+CONFIG_TOSHIBA=m
+CONFIG_I8K=m
+CONFIG_X86_REBOOTFIXUPS=y
+CONFIG_MICROCODE=m
+CONFIG_MICROCODE_INTEL=y
+CONFIG_MICROCODE_AMD=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_MICROCODE_INTEL_LIB=y
+CONFIG_MICROCODE_INTEL_EARLY=y
+CONFIG_MICROCODE_EARLY=y
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+# CONFIG_NOHIGHMEM is not set
+# CONFIG_HIGHMEM4G is not set
+CONFIG_HIGHMEM64G=y
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_HIGHMEM=y
+CONFIG_X86_PAE=y
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_NUMA=y
+# CONFIG_NUMA_EMU is not set
+CONFIG_NODES_SHIFT=3
+CONFIG_ARCH_HAVE_MEMORY_PRESENT=y
+CONFIG_NEED_NODE_MEMMAP_SIZE=y
+CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
+CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ILLEGAL_POINTER_VALUE=0
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_DISCONTIGMEM_MANUAL=y
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_DISCONTIGMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_NEED_MULTIPLE_NODES=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_ARCH_DISCARD_MEMBLOCK=y
+# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=98304
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+# CONFIG_MEMORY_FAILURE is not set
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_CLEANCACHE is not set
+# CONFIG_FRONTSWAP is not set
+CONFIG_HIGHPTE=y
+# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
+CONFIG_X86_RESERVE_LOW=64
+CONFIG_MATH_EMULATION=y
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_ARCH_RANDOM=y
+CONFIG_X86_SMAP=y
+CONFIG_EFI=y
+# CONFIG_EFI_STUB is not set
+CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+CONFIG_SCHED_HRTICK=y
+# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
+CONFIG_PHYSICAL_START=0x1000000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
+# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
+CONFIG_COMPAT_VDSO=y
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_USE_PERCPU_NUMA_NODE_ID=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION="\"\""
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+# CONFIG_PM_AUTOSLEEP is not set
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=100
+CONFIG_PM_WAKELOCKS_GC=y
+CONFIG_PM_RUNTIME=y
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_CLK=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_EC_DEBUGFS=m
+CONFIG_ACPI_PROC_EVENT=y
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_I2C=m
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_IPMI=m
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=m
+# CONFIG_ACPI_NUMA is not set
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y
+CONFIG_ACPI_BLACKLIST_YEAR=2001
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=y
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_SBS=m
+CONFIG_ACPI_HED=y
+# CONFIG_ACPI_CUSTOM_METHOD is not set
+CONFIG_ACPI_BGRT=y
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_EINJ=m
+CONFIG_ACPI_APEI_ERST_DEBUG=m
+CONFIG_SFI=y
+# CONFIG_APM is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=m
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# x86 CPU frequency scaling drivers
+#
+CONFIG_X86_INTEL_PSTATE=y
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ_CPB=y
+CONFIG_X86_POWERNOW_K6=m
+CONFIG_X86_POWERNOW_K7=m
+CONFIG_X86_POWERNOW_K7_ACPI=y
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_AMD_FREQ_SENSITIVITY=m
+CONFIG_X86_GX_SUSPMOD=m
+CONFIG_X86_SPEEDSTEP_CENTRINO=m
+CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
+CONFIG_X86_SPEEDSTEP_ICH=m
+CONFIG_X86_SPEEDSTEP_SMI=m
+CONFIG_X86_P4_CLOCKMOD=m
+CONFIG_X86_CPUFREQ_NFORCE2=m
+CONFIG_X86_LONGRUN=m
+CONFIG_X86_LONGHAUL=m
+CONFIG_X86_E_POWERSAVER=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
+CONFIG_CPU_IDLE=y
+# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
+CONFIG_INTEL_IDLE=y
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GODIRECT is not set
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+CONFIG_PCIEAER_INJECT=m
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
+CONFIG_PCI_STUB=m
+CONFIG_HT_IRQ=y
+# CONFIG_PCI_IOV is not set
+# CONFIG_PCI_PRI is not set
+# CONFIG_PCI_PASID is not set
+CONFIG_PCI_IOAPIC=y
+CONFIG_PCI_LABEL=y
+CONFIG_ISA_DMA_API=y
+CONFIG_ISA=y
+# CONFIG_EISA is not set
+CONFIG_SCx200=m
+CONFIG_SCx200HR_TIMER=m
+CONFIG_ALIX=y
+# CONFIG_NET5501 is not set
+# CONFIG_GEOS is not set
+CONFIG_AMD_NB=y
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_I82365=m
+CONFIG_TCIC=m
+CONFIG_PCMCIA_PROBE=y
+CONFIG_PCCARD_NONSTATIC=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_COMPAQ=m
+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
+CONFIG_HOTPLUG_PCI_IBM=m
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+# CONFIG_HOTPLUG_PCI_CPCI is not set
+CONFIG_HOTPLUG_PCI_SHPC=m
+# CONFIG_RAPIDIO is not set
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_SCRIPT=y
+CONFIG_HAVE_AOUT=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+CONFIG_HAVE_ATOMIC_IOMAP=y
+CONFIG_HAVE_TEXT_POKE_SMP=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=m
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=y
+CONFIG_XFRM_USER=y
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+# CONFIG_IP_FIB_TRIE_STATS is not set
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+# CONFIG_IPV6_SIT_6RD is not set
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETLABEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NF_CONNTRACK_PROCFS is not set
+# CONFIG_NF_CONNTRACK_EVENTS is not set
+# CONFIG_NF_CONNTRACK_TIMEOUT is not set
+# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+# CONFIG_NETFILTER_NETLINK_QUEUE_CT is not set
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NETFILTER_TPROXY=m
+CONFIG_NETFILTER_XTABLES=m
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
+CONFIG_NETFILTER_XT_TARGET_AUDIT=m
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_BPF=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS SH scheduler
+#
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_IP_VS_PE_SIP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT_IPV4=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV6=m
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RPFILTER=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_NF_NAT_IPV6=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_IP6_NF_TARGET_NPT=m
+
+#
+# DECnet: Netfilter Configuration
+#
+# CONFIG_DECNET_NF_GRABULATOR is not set
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+# CONFIG_IP_DCCP_CCID3 is not set
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+CONFIG_RDS=m
+CONFIG_RDS_RDMA=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
+CONFIG_TIPC=m
+CONFIG_TIPC_PORTS=8191
+CONFIG_TIPC_MEDIA_IB=y
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_L2TP=m
+CONFIG_L2TP_DEBUGFS=m
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=m
+CONFIG_L2TP_ETH=m
+CONFIG_STP=m
+CONFIG_GARP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_HAVE_NET_DSA=y
+CONFIG_NET_DSA=m
+CONFIG_NET_DSA_TAG_DSA=y
+CONFIG_NET_DSA_TAG_EDSA=y
+CONFIG_NET_DSA_TAG_TRAILER=y
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+# CONFIG_VLAN_8021Q_MVRP is not set
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_LTPC=m
+CONFIG_COPS=m
+CONFIG_COPS_DAYNA=y
+CONFIG_COPS_TANGENT=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+CONFIG_IEEE802154=m
+CONFIG_IEEE802154_6LOWPAN=m
+CONFIG_MAC802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_EMATCH_CANID=m
+CONFIG_NET_EMATCH_IPSET=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=y
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+# CONFIG_NET_CLS_IND is not set
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+CONFIG_BATMAN_ADV=m
+CONFIG_BATMAN_ADV_BLA=y
+CONFIG_BATMAN_ADV_DAT=y
+CONFIG_BATMAN_ADV_NC=y
+# CONFIG_BATMAN_ADV_DEBUG is not set
+CONFIG_OPENVSWITCH=m
+CONFIG_VSOCKETS=m
+CONFIG_VMWARE_VMCI_VSOCKETS=m
+CONFIG_NETLINK_MMAP=y
+CONFIG_NETLINK_DIAG=m
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+CONFIG_NETPRIO_CGROUP=m
+CONFIG_BQL=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_DROP_MONITOR is not set
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_SCC=m
+CONFIG_SCC_DELAY=y
+CONFIG_SCC_TRXECHO=y
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_BAYCOM_EPP=m
+CONFIG_YAM=m
+CONFIG_CAN=m
+CONFIG_CAN_RAW=m
+CONFIG_CAN_BCM=m
+CONFIG_CAN_GW=m
+
+#
+# CAN Device Drivers
+#
+CONFIG_CAN_VCAN=m
+CONFIG_CAN_SLCAN=m
+CONFIG_CAN_DEV=m
+CONFIG_CAN_CALC_BITTIMING=y
+# CONFIG_CAN_LEDS is not set
+CONFIG_CAN_JANZ_ICAN3=m
+CONFIG_PCH_CAN=m
+CONFIG_CAN_SJA1000=m
+CONFIG_CAN_SJA1000_ISA=m
+CONFIG_CAN_SJA1000_PLATFORM=m
+CONFIG_CAN_EMS_PCMCIA=m
+CONFIG_CAN_EMS_PCI=m
+CONFIG_CAN_PEAK_PCMCIA=m
+CONFIG_CAN_PEAK_PCI=m
+CONFIG_CAN_PEAK_PCIEC=y
+CONFIG_CAN_KVASER_PCI=m
+CONFIG_CAN_PLX_PCI=m
+CONFIG_CAN_TSCAN1=m
+CONFIG_CAN_C_CAN=m
+CONFIG_CAN_C_CAN_PLATFORM=m
+CONFIG_CAN_C_CAN_PCI=m
+CONFIG_CAN_CC770=m
+CONFIG_CAN_CC770_ISA=m
+CONFIG_CAN_CC770_PLATFORM=m
+
+#
+# CAN USB interfaces
+#
+CONFIG_CAN_EMS_USB=m
+CONFIG_CAN_ESD_USB2=m
+CONFIG_CAN_KVASER_USB=m
+CONFIG_CAN_PEAK_USB=m
+CONFIG_CAN_8DEV_USB=m
+CONFIG_CAN_SOFTING=m
+CONFIG_CAN_SOFTING_CS=m
+# CONFIG_CAN_DEBUG_DEVICES is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_TOSHIBA_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_CMTP=m
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_3WIRE=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_BT_WILINK=m
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_RFKILL_REGULATOR=m
+CONFIG_RFKILL_GPIO=m
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+CONFIG_NET_9P_RDMA=m
+# CONFIG_NET_9P_DEBUG is not set
+# CONFIG_CAIF is not set
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+CONFIG_NFC=m
+CONFIG_NFC_NCI=m
+CONFIG_NFC_HCI=m
+# CONFIG_NFC_SHDLC is not set
+
+#
+# Near Field Communication (NFC) devices
+#
+CONFIG_NFC_PN533=m
+CONFIG_NFC_WILINK=m
+# CONFIG_NFC_MEI_PHY is not set
+CONFIG_NFC_PN544=m
+CONFIG_NFC_MICROREAD=m
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_GENERIC_CPU_DEVICES is not set
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=m
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_CMA is not set
+
+#
+# Bus devices
+#
+CONFIG_CONNECTOR=m
+CONFIG_MTD=m
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_REDBOOT_PARTS=m
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=m
+CONFIG_MTD_AR7_PARTS=m
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+CONFIG_SM_FTL=m
+CONFIG_MTD_OOPS=m
+CONFIG_MTD_SWAP=m
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+CONFIG_MTD_GEN_PROBE=m
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_MAP_BANK_WIDTH_8=y
+CONFIG_MTD_MAP_BANK_WIDTH_16=y
+CONFIG_MTD_MAP_BANK_WIDTH_32=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+CONFIG_MTD_CFI_I4=y
+CONFIG_MTD_CFI_I8=y
+CONFIG_MTD_OTP=y
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_CFI_UTIL=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=m
+# CONFIG_MTD_PHYSMAP_COMPAT is not set
+CONFIG_MTD_SC520CDP=m
+CONFIG_MTD_NETSC520=m
+CONFIG_MTD_TS5500=m
+CONFIG_MTD_SBC_GXX=m
+CONFIG_MTD_SCx200_DOCFLASH=m
+CONFIG_MTD_AMD76XROM=m
+CONFIG_MTD_ICHXROM=m
+CONFIG_MTD_ESB2ROM=m
+CONFIG_MTD_CK804XROM=m
+CONFIG_MTD_SCB2_FLASH=m
+CONFIG_MTD_NETtel=m
+CONFIG_MTD_L440GX=m
+CONFIG_MTD_PCI=m
+CONFIG_MTD_PCMCIA=m
+# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
+CONFIG_MTD_GPIO_ADDR=m
+CONFIG_MTD_INTEL_VR_NOR=m
+CONFIG_MTD_PLATRAM=m
+CONFIG_MTD_LATCH_ADDR=m
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_PMC551=m
+CONFIG_MTD_PMC551_BUGFIX=y
+# CONFIG_MTD_PMC551_DEBUG is not set
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+
+#
+# Disk-On-Chip Device Drivers
+#
+CONFIG_MTD_DOCG3=m
+CONFIG_BCH_CONST_M=14
+CONFIG_BCH_CONST_T=4
+CONFIG_MTD_NAND_ECC=m
+CONFIG_MTD_NAND_ECC_SMC=y
+CONFIG_MTD_NAND=m
+CONFIG_MTD_NAND_BCH=m
+CONFIG_MTD_NAND_ECC_BCH=y
+CONFIG_MTD_SM_COMMON=m
+CONFIG_MTD_NAND_DENALI=m
+CONFIG_MTD_NAND_DENALI_PCI=m
+CONFIG_MTD_NAND_DENALI_DT=m
+CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
+CONFIG_MTD_NAND_IDS=m
+CONFIG_MTD_NAND_RICOH=m
+CONFIG_MTD_NAND_DISKONCHIP=m
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
+CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y
+CONFIG_MTD_NAND_DOCG4=m
+CONFIG_MTD_NAND_CAFE=m
+CONFIG_MTD_NAND_CS553X=m
+CONFIG_MTD_NAND_NANDSIM=m
+CONFIG_MTD_NAND_PLATFORM=m
+CONFIG_MTD_ALAUDA=m
+CONFIG_MTD_ONENAND=m
+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+CONFIG_MTD_ONENAND_GENERIC=m
+CONFIG_MTD_ONENAND_OTP=y
+CONFIG_MTD_ONENAND_2X_PROGRAM=y
+
+#
+# LPDDR flash memory drivers
+#
+CONFIG_MTD_LPDDR=m
+CONFIG_MTD_QINFO_PROBE=m
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+CONFIG_PNP_DEBUG_MESSAGES=y
+
+#
+# Protocols
+#
+CONFIG_ISAPNP=y
+# CONFIG_PNPBIOS is not set
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=y
+CONFIG_PARIDE=m
+
+#
+# Parallel IDE high-level drivers
+#
+CONFIG_PARIDE_PD=m
+CONFIG_PARIDE_PCD=m
+CONFIG_PARIDE_PF=m
+CONFIG_PARIDE_PT=m
+CONFIG_PARIDE_PG=m
+
+#
+# Parallel IDE protocol modules
+#
+CONFIG_PARIDE_ATEN=m
+CONFIG_PARIDE_BPCK=m
+CONFIG_PARIDE_BPCK6=m
+CONFIG_PARIDE_COMM=m
+CONFIG_PARIDE_DSTR=m
+CONFIG_PARIDE_FIT2=m
+CONFIG_PARIDE_FIT3=m
+CONFIG_PARIDE_EPAT=m
+CONFIG_PARIDE_EPATC8=y
+CONFIG_PARIDE_EPIA=m
+CONFIG_PARIDE_FRIQ=m
+CONFIG_PARIDE_FRPW=m
+CONFIG_PARIDE_KBIC=m
+CONFIG_PARIDE_KTTI=m
+CONFIG_PARIDE_ON20=m
+CONFIG_PARIDE_ON26=m
+CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
+CONFIG_BLK_CPQ_DA=y
+CONFIG_BLK_CPQ_CISS_DA=y
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=y
+CONFIG_BLK_DEV_UMEM=m
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NVME=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_BLK_DEV_RBD=m
+CONFIG_BLK_DEV_RSXX=m
+
+#
+# Misc devices
+#
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_AD525X_DPOT=m
+CONFIG_AD525X_DPOT_I2C=m
+CONFIG_ATMEL_PWM=m
+CONFIG_DUMMY_IRQ=m
+CONFIG_IBM_ASM=m
+CONFIG_PHANTOM=m
+CONFIG_INTEL_MID_PTI=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+CONFIG_ATMEL_SSC=m
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+CONFIG_HP_ILO=m
+CONFIG_APDS9802ALS=m
+CONFIG_ISL29003=m
+CONFIG_ISL29020=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_SENSORS_BH1780=m
+CONFIG_SENSORS_BH1770=m
+CONFIG_SENSORS_APDS990X=m
+CONFIG_HMC6352=m
+CONFIG_DS1682=m
+CONFIG_VMWARE_BALLOON=m
+CONFIG_BMP085=y
+CONFIG_BMP085_I2C=m
+CONFIG_PCH_PHUB=m
+CONFIG_USB_SWITCH_FSA9480=m
+# CONFIG_SRAM is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+
+#
+# Texas Instruments shared transport line discipline
+#
+CONFIG_TI_ST=m
+CONFIG_SENSORS_LIS3_I2C=m
+
+#
+# Altera FPGA firmware download module
+#
+CONFIG_ALTERA_STAPL=m
+CONFIG_INTEL_MEI=m
+CONFIG_INTEL_MEI_ME=m
+CONFIG_VMWARE_VMCI=m
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+CONFIG_RAID_ATTRS=y
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=y
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_ST=y
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=y
+CONFIG_SCSI_FC_ATTRS=y
+CONFIG_SCSI_FC_TGT_ATTRS=y
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=y
+CONFIG_SCSI_SAS_LIBSAS=y
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_ISCSI_BOOT_SYSFS=y
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_CXGB4_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_SCSI_BNX2X_FCOE=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=y
+CONFIG_SCSI_HPSA=y
+CONFIG_SCSI_3W_9XXX=y
+CONFIG_SCSI_3W_SAS=y
+CONFIG_SCSI_7000FASST=y
+CONFIG_SCSI_ACARD=y
+CONFIG_SCSI_AHA152X=y
+CONFIG_SCSI_AHA1542=y
+CONFIG_SCSI_AACRAID=y
+CONFIG_SCSI_AIC7XXX=y
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_AIC7XXX_OLD=y
+CONFIG_SCSI_AIC79XX=y
+CONFIG_AIC79XX_CMDS_PER_DEVICE=4
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_AIC94XX=y
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=y
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+# CONFIG_SCSI_MVSAS_TASKLET is not set
+CONFIG_SCSI_MVUMI=m
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=y
+CONFIG_SCSI_IN2000=y
+CONFIG_SCSI_ARCMSR=y
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=y
+CONFIG_MEGARAID_MAILBOX=y
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=y
+CONFIG_SCSI_MPT2SAS=y
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT3SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT3SAS_LOGGING is not set
+CONFIG_SCSI_UFSHCD=m
+CONFIG_SCSI_UFSHCD_PCI=m
+CONFIG_SCSI_UFSHCD_PLATFORM=m
+CONFIG_SCSI_HPTIOP=y
+CONFIG_SCSI_BUSLOGIC=y
+CONFIG_SCSI_FLASHPOINT=y
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_LIBFC=y
+CONFIG_LIBFCOE=y
+CONFIG_FCOE=y
+CONFIG_FCOE_FNIC=y
+CONFIG_SCSI_DMX3191D=y
+CONFIG_SCSI_DTC3280=y
+CONFIG_SCSI_EATA=y
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=y
+CONFIG_SCSI_GDTH=y
+CONFIG_SCSI_ISCI=m
+CONFIG_SCSI_GENERIC_NCR5380=m
+CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
+CONFIG_SCSI_GENERIC_NCR53C400=y
+CONFIG_SCSI_IPS=y
+CONFIG_SCSI_INITIO=y
+CONFIG_SCSI_INIA100=y
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_NCR53C406A=m
+CONFIG_SCSI_STEX=y
+CONFIG_SCSI_SYM53C8XX_2=y
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=y
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_PAS16=m
+CONFIG_SCSI_QLOGIC_FAS=y
+CONFIG_SCSI_QLOGIC_1280=y
+CONFIG_SCSI_QLA_FC=y
+CONFIG_TCM_QLA2XXX=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=y
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_SYM53C416=y
+CONFIG_SCSI_DC395x=y
+CONFIG_SCSI_DC390T=y
+CONFIG_SCSI_T128=y
+CONFIG_SCSI_U14_34F=m
+# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
+# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
+CONFIG_SCSI_U14_34F_MAX_TAGS=8
+CONFIG_SCSI_ULTRASTOR=y
+CONFIG_SCSI_NSP32=m
+CONFIG_SCSI_DEBUG=m
+CONFIG_SCSI_PMCRAID=y
+CONFIG_SCSI_PM8001=y
+CONFIG_SCSI_SRP=y
+CONFIG_SCSI_BFA_FC=y
+CONFIG_SCSI_VIRTIO=m
+CONFIG_SCSI_CHELSIO_FCOE=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_NINJA_SCSI=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=1
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+# CONFIG_SATA_ZPODD is not set
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_SATA_INIC162X=y
+CONFIG_SATA_ACARD_AHCI=y
+CONFIG_SATA_SIL24=y
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+CONFIG_PDC_ADMA=y
+CONFIG_SATA_QSTOR=y
+CONFIG_SATA_SX4=y
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+CONFIG_ATA_PIIX=y
+CONFIG_SATA_HIGHBANK=m
+CONFIG_SATA_MV=y
+CONFIG_SATA_NV=y
+CONFIG_SATA_PROMISE=y
+CONFIG_SATA_SIL=y
+CONFIG_SATA_SIS=y
+CONFIG_SATA_SVW=y
+CONFIG_SATA_ULI=y
+CONFIG_SATA_VIA=y
+CONFIG_SATA_VITESSE=y
+
+#
+# PATA SFF controllers with BMDMA
+#
+CONFIG_PATA_ALI=y
+CONFIG_PATA_AMD=y
+CONFIG_PATA_ARASAN_CF=m
+CONFIG_PATA_ARTOP=y
+CONFIG_PATA_ATIIXP=y
+CONFIG_PATA_ATP867X=y
+CONFIG_PATA_CMD64X=y
+CONFIG_PATA_CS5520=y
+CONFIG_PATA_CS5530=y
+CONFIG_PATA_CS5535=y
+CONFIG_PATA_CS5536=y
+CONFIG_PATA_CYPRESS=y
+CONFIG_PATA_EFAR=y
+CONFIG_PATA_HPT366=y
+CONFIG_PATA_HPT37X=y
+CONFIG_PATA_HPT3X2N=y
+CONFIG_PATA_HPT3X3=y
+CONFIG_PATA_HPT3X3_DMA=y
+CONFIG_PATA_IT8213=y
+CONFIG_PATA_IT821X=y
+CONFIG_PATA_JMICRON=y
+CONFIG_PATA_MARVELL=y
+CONFIG_PATA_NETCELL=y
+CONFIG_PATA_NINJA32=y
+CONFIG_PATA_NS87415=y
+CONFIG_PATA_OLDPIIX=y
+CONFIG_PATA_OPTIDMA=y
+CONFIG_PATA_PDC2027X=y
+CONFIG_PATA_PDC_OLD=y
+CONFIG_PATA_RADISYS=y
+CONFIG_PATA_RDC=y
+CONFIG_PATA_SC1200=y
+CONFIG_PATA_SCH=y
+CONFIG_PATA_SERVERWORKS=y
+CONFIG_PATA_SIL680=y
+CONFIG_PATA_SIS=y
+CONFIG_PATA_TOSHIBA=m
+CONFIG_PATA_TRIFLEX=y
+CONFIG_PATA_VIA=y
+CONFIG_PATA_WINBOND=y
+
+#
+# PIO-only SFF controllers
+#
+CONFIG_PATA_CMD640_PCI=y
+CONFIG_PATA_ISAPNP=y
+CONFIG_PATA_MPIIX=y
+CONFIG_PATA_NS87410=y
+CONFIG_PATA_OPTI=y
+CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_QDI=y
+CONFIG_PATA_RZ1000=y
+CONFIG_PATA_WINBOND_VLB=y
+
+#
+# Generic fallback / legacy drivers
+#
+CONFIG_PATA_ACPI=y
+CONFIG_ATA_GENERIC=y
+CONFIG_PATA_LEGACY=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=y
+CONFIG_MD_AUTODETECT=y
+CONFIG_MD_LINEAR=y
+CONFIG_MD_RAID0=y
+CONFIG_MD_RAID1=y
+CONFIG_MD_RAID10=y
+CONFIG_MD_RAID456=y
+CONFIG_MD_MULTIPATH=y
+CONFIG_MD_FAULTY=m
+CONFIG_BCACHE=m
+# CONFIG_BCACHE_DEBUG is not set
+# CONFIG_BCACHE_EDEBUG is not set
+# CONFIG_BCACHE_CLOSURES_DEBUG is not set
+CONFIG_BLK_DEV_DM=y
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_BUFIO=m
+CONFIG_DM_BIO_PRISON=m
+CONFIG_DM_PERSISTENT_DATA=m
+CONFIG_DM_CRYPT=y
+CONFIG_DM_SNAPSHOT=y
+CONFIG_DM_THIN_PROVISIONING=m
+# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
+CONFIG_DM_CACHE=m
+CONFIG_DM_CACHE_MQ=m
+CONFIG_DM_CACHE_CLEANER=m
+CONFIG_DM_MIRROR=y
+CONFIG_DM_RAID=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+# CONFIG_DM_DELAY is not set
+CONFIG_DM_UEVENT=y
+CONFIG_DM_FLAKEY=m
+CONFIG_DM_VERITY=m
+CONFIG_TARGET_CORE=m
+CONFIG_TCM_IBLOCK=m
+CONFIG_TCM_FILEIO=m
+CONFIG_TCM_PSCSI=m
+CONFIG_LOOPBACK_TARGET=m
+CONFIG_TCM_FC=m
+CONFIG_ISCSI_TARGET=m
+CONFIG_SBP_TARGET=m
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=y
+CONFIG_FUSION_FC=y
+CONFIG_FUSION_SAS=y
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=y
+CONFIG_FUSION_LAN=y
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+CONFIG_FIREWIRE_NOSY=m
+CONFIG_I2O=y
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_EXT_ADAPTEC_DMA64=y
+CONFIG_I2O_CONFIG=y
+# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
+CONFIG_I2O_BUS=y
+CONFIG_I2O_BLOCK=y
+CONFIG_I2O_SCSI=y
+CONFIG_I2O_PROC=y
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_EQUALIZER=m
+CONFIG_NET_FC=y
+CONFIG_MII=m
+CONFIG_IFB=m
+CONFIG_NET_TEAM=m
+CONFIG_NET_TEAM_MODE_BROADCAST=m
+CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
+CONFIG_NET_TEAM_MODE_RANDOM=m
+CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
+CONFIG_NET_TEAM_MODE_LOADBALANCE=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_VXLAN=m
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=m
+CONFIG_SUNGEM_PHY=m
+CONFIG_ARCNET=m
+CONFIG_ARCNET_1201=m
+CONFIG_ARCNET_1051=m
+CONFIG_ARCNET_RAW=m
+CONFIG_ARCNET_CAP=m
+CONFIG_ARCNET_COM90xx=m
+CONFIG_ARCNET_COM90xxIO=m
+CONFIG_ARCNET_RIM_I=m
+CONFIG_ARCNET_COM20020=m
+CONFIG_ARCNET_COM20020_ISA=m
+CONFIG_ARCNET_COM20020_PCI=m
+CONFIG_ARCNET_COM20020_CS=m
+CONFIG_ATM_DRIVERS=y
+CONFIG_ATM_DUMMY=m
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E=m
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+
+#
+# CAIF transport drivers
+#
+CONFIG_VHOST_NET=m
+CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_RING=m
+
+#
+# Distributed Switch Architecture drivers
+#
+CONFIG_NET_DSA_MV88E6XXX=m
+CONFIG_NET_DSA_MV88E6060=m
+CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
+CONFIG_NET_DSA_MV88E6131=m
+CONFIG_NET_DSA_MV88E6123_61_65=m
+CONFIG_ETHERNET=y
+CONFIG_MDIO=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_EL3=m
+CONFIG_3C515=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_3C589=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_NET_VENDOR_ADAPTEC=y
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_NET_VENDOR_ALTEON=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_NET_VENDOR_AMD=y
+CONFIG_AMD8111_ETH=m
+CONFIG_LANCE=m
+CONFIG_PCNET32=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_NI65=m
+CONFIG_NET_VENDOR_ATHEROS=y
+CONFIG_ATL2=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_ALX=m
+CONFIG_NET_CADENCE=y
+CONFIG_ARM_AT91_ETHER=m
+CONFIG_MACB=m
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_TIGON3=m
+CONFIG_BNX2X=m
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_BNA=m
+CONFIG_NET_CALXEDA_XGMAC=m
+CONFIG_NET_VENDOR_CHELSIO=y
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4=m
+CONFIG_CHELSIO_T4VF=m
+CONFIG_NET_VENDOR_CIRRUS=y
+CONFIG_CS89x0=m
+# CONFIG_CS89x0_PLATFORM is not set
+CONFIG_NET_VENDOR_CISCO=y
+CONFIG_ENIC=m
+CONFIG_DNET=m
+CONFIG_NET_VENDOR_DEC=y
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+CONFIG_TULIP_MMIO=y
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_NET_VENDOR_DLINK=y
+CONFIG_DL2K=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_NET_VENDOR_EMULEX=y
+CONFIG_BE2NET=m
+CONFIG_NET_VENDOR_EXAR=y
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_NET_VENDOR_FUJITSU=y
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_NET_VENDOR_HP=y
+CONFIG_HP100=m
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_E100=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IGB=m
+CONFIG_IGB_HWMON=y
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_IXGB=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_HWMON=y
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_IP1000=m
+CONFIG_JME=m
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_MVMDIO=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKGE_GENESIS=y
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_NET_VENDOR_MICREL=y
+CONFIG_KS8842=m
+CONFIG_KS8851_MLL=m
+CONFIG_KSZ884X_PCI=m
+CONFIG_NET_VENDOR_MYRI=y
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_FEALNX=m
+CONFIG_NET_VENDOR_NATSEMI=y
+CONFIG_NATSEMI=m
+CONFIG_NS83820=m
+CONFIG_NET_VENDOR_8390=y
+CONFIG_PCMCIA_AXNET=m
+CONFIG_NE2000=m
+CONFIG_NE2K_PCI=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_ULTRA=m
+CONFIG_WD80x3=m
+CONFIG_NET_VENDOR_NVIDIA=y
+CONFIG_FORCEDETH=m
+CONFIG_NET_VENDOR_OKI=y
+CONFIG_PCH_GBE=m
+CONFIG_ETHOC=m
+CONFIG_NET_PACKET_ENGINE=y
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_NET_VENDOR_QLOGIC=y
+CONFIG_QLA3XXX=m
+CONFIG_QLCNIC=m
+CONFIG_QLGE=m
+CONFIG_NETXEN_NIC=m
+CONFIG_NET_VENDOR_REALTEK=y
+CONFIG_ATP=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+CONFIG_8139TOO_PIO=y
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R8169=m
+CONFIG_NET_VENDOR_RDC=y
+CONFIG_R6040=m
+CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SILAN=y
+CONFIG_SC92031=m
+CONFIG_NET_VENDOR_SIS=y
+CONFIG_SIS900=m
+CONFIG_SIS190=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_SFC_MCDI_MON=y
+CONFIG_NET_VENDOR_SMSC=y
+CONFIG_SMC9194=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
+CONFIG_NET_VENDOR_STMICRO=y
+CONFIG_STMMAC_ETH=m
+CONFIG_STMMAC_PLATFORM=y
+# CONFIG_STMMAC_PCI is not set
+CONFIG_STMMAC_DEBUG_FS=y
+# CONFIG_STMMAC_DA is not set
+CONFIG_NET_VENDOR_SUN=y
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NIU=m
+CONFIG_NET_VENDOR_TEHUTI=y
+CONFIG_TEHUTI=m
+CONFIG_NET_VENDOR_TI=y
+CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VIA=y
+CONFIG_VIA_RHINE=m
+CONFIG_VIA_RHINE_MMIO=y
+CONFIG_VIA_VELOCITY=m
+CONFIG_NET_VENDOR_WIZNET=y
+CONFIG_WIZNET_W5100=m
+CONFIG_WIZNET_W5300=m
+# CONFIG_WIZNET_BUS_DIRECT is not set
+# CONFIG_WIZNET_BUS_INDIRECT is not set
+CONFIG_WIZNET_BUS_ANY=y
+CONFIG_NET_VENDOR_XIRCOM=y
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_FDDI=y
+CONFIG_DEFXX=m
+# CONFIG_DEFXX_MMIO is not set
+CONFIG_SKFP=m
+CONFIG_HIPPI=y
+CONFIG_ROADRUNNER=m
+# CONFIG_ROADRUNNER_LARGE_RINGS is not set
+CONFIG_NET_SB1000=m
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_AT803X_PHY=m
+CONFIG_AMD_PHY=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_BCM87XX_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+CONFIG_MDIO_BITBANG=m
+CONFIG_MDIO_GPIO=m
+CONFIG_PLIP=m
+CONFIG_PPP=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOATM=m
+CONFIG_PPPOE=m
+CONFIG_PPTP=m
+CONFIG_PPPOL2TP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_SLIP=m
+CONFIG_SLHC=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLIP_SMART=y
+# CONFIG_SLIP_MODE_SLIP6 is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_CDC_MBIM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_NET_CX82310_ETH=m
+CONFIG_USB_NET_KALMIA=m
+CONFIG_USB_NET_QMI_WWAN=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_USB_VL600=m
+CONFIG_WLAN=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_LIBERTAS_THINFIRM=m
+# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+CONFIG_ATH_CARDS=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+# CONFIG_ATH5K_TRACER is not set
+CONFIG_ATH5K_PCI=y
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
+CONFIG_ATH9K=m
+CONFIG_ATH9K_PCI=y
+# CONFIG_ATH9K_AHB is not set
+# CONFIG_ATH9K_DEBUGFS is not set
+# CONFIG_ATH9K_LEGACY_RATE_CONTROL is not set
+CONFIG_ATH9K_HTC=m
+# CONFIG_ATH9K_HTC_DEBUGFS is not set
+CONFIG_CARL9170=m
+CONFIG_CARL9170_LEDS=y
+CONFIG_CARL9170_WPC=y
+# CONFIG_CARL9170_HWRNG is not set
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_ATH6KL_USB=m
+# CONFIG_ATH6KL_DEBUG is not set
+# CONFIG_ATH6KL_TRACING is not set
+CONFIG_AR5523=m
+CONFIG_WIL6210=m
+CONFIG_WIL6210_ISR_COR=y
+CONFIG_B43=m
+CONFIG_B43_BCMA=y
+# CONFIG_B43_BCMA_EXTRA is not set
+CONFIG_B43_SSB=y
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_BCMA_PIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_N=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_PHY_HT=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_BRCMUTIL=m
+CONFIG_BRCMSMAC=m
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_SDIO=y
+CONFIG_BRCMFMAC_USB=y
+CONFIG_BRCM_TRACING=y
+# CONFIG_BRCMDBG is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+CONFIG_IWLDVM=m
+CONFIG_IWLMVM=m
+CONFIG_IWLWIFI_OPMODE_MODULAR=y
+
+#
+# Debugging Options
+#
+# CONFIG_IWLWIFI_DEBUG is not set
+# CONFIG_IWLWIFI_DEVICE_TRACING is not set
+# CONFIG_IWLWIFI_P2P is not set
+CONFIG_IWLEGACY=m
+CONFIG_IWL4965=m
+CONFIG_IWL3945=m
+
+#
+# iwl3945 / iwl4965 Debugging Options
+#
+# CONFIG_IWLEGACY_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+# CONFIG_HERMES_PRISM is not set
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_ORINOCO_USB=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT33XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2800PCI_RT53XX=y
+CONFIG_RT2800PCI_RT3290=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT33XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_RT53XX=y
+CONFIG_RT2800USB_RT55XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_MMIO=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_RTLWIFI=m
+# CONFIG_RTLWIFI_DEBUG is not set
+CONFIG_RTL8192CE=m
+CONFIG_RTL8192SE=m
+CONFIG_RTL8192DE=m
+CONFIG_RTL8723AE=m
+CONFIG_RTL8188EE=m
+CONFIG_RTL8192CU=m
+CONFIG_RTL8192C_COMMON=m
+CONFIG_WL_TI=y
+CONFIG_WL1251=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL12XX=m
+CONFIG_WL18XX=m
+CONFIG_WLCORE=m
+CONFIG_WLCORE_SDIO=m
+CONFIG_WILINK_PLATFORM_DATA=y
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_MWIFIEX_USB=m
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+CONFIG_WAN=y
+CONFIG_HOSTESS_SV11=m
+CONFIG_COSA=m
+CONFIG_LANMEDIA=m
+CONFIG_SEALEVEL_4021=m
+CONFIG_HDLC=m
+CONFIG_HDLC_RAW=m
+CONFIG_HDLC_RAW_ETH=m
+CONFIG_HDLC_CISCO=m
+CONFIG_HDLC_FR=m
+CONFIG_HDLC_PPP=m
+
+#
+# X.25/LAPB support is disabled
+#
+CONFIG_PCI200SYN=m
+CONFIG_WANXL=m
+# CONFIG_PC300TOO is not set
+CONFIG_N2=m
+CONFIG_C101=m
+CONFIG_FARSYNC=m
+CONFIG_DSCC4=m
+# CONFIG_DSCC4_PCISYNC is not set
+# CONFIG_DSCC4_PCI_RST is not set
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+CONFIG_SDLA=m
+CONFIG_SBNI=m
+# CONFIG_SBNI_MULTILINE is not set
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+CONFIG_IEEE802154_FAKELB=m
+CONFIG_VMXNET3=m
+CONFIG_HYPERV_NET=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+CONFIG_HISAX_NO_SENDCOMPLETE=y
+CONFIG_HISAX_NO_LLC=y
+CONFIG_HISAX_NO_KEYPAD=y
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_0=y
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_AVM_A1=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_IX1MICROR2=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_ASUSCOM=y
+CONFIG_HISAX_TELEINT=y
+CONFIG_HISAX_HFCS=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_SPORTSTER=y
+CONFIG_HISAX_MIC=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_ISURF=y
+CONFIG_HISAX_HSTSAPHIR=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_ISDN_DRV_ICN=m
+CONFIG_ISDN_DRV_PCBIT=m
+CONFIG_ISDN_DRV_SC=m
+CONFIG_ISDN_DRV_ACT2000=m
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_T1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+# CONFIG_GIGASET_CAPI is not set
+CONFIG_GIGASET_I4L=y
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+# CONFIG_GIGASET_M101 is not set
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=y
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+CONFIG_INPUT_MATRIXKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ADP5589=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_QT1070=m
+CONFIG_KEYBOARD_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_GPIO_POLLED=m
+CONFIG_KEYBOARD_TCA6416=m
+CONFIG_KEYBOARD_TCA8418=m
+CONFIG_KEYBOARD_MATRIX=m
+CONFIG_KEYBOARD_LM8323=m
+CONFIG_KEYBOARD_LM8333=m
+CONFIG_KEYBOARD_MAX7359=m
+CONFIG_KEYBOARD_MCS=m
+CONFIG_KEYBOARD_MPR121=m
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OPENCORES=m
+CONFIG_KEYBOARD_SAMSUNG=m
+CONFIG_KEYBOARD_STOWAWAY=m
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_CROS_EC=m
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+CONFIG_MOUSE_PS2_TOUCHKIT=y
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_CYAPA=m
+CONFIG_MOUSE_INPORT=m
+CONFIG_MOUSE_ATIXL=y
+CONFIG_MOUSE_LOGIBM=m
+CONFIG_MOUSE_PC110PAD=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_MOUSE_SYNAPTICS_USB=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_AS5011=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_HANWANG=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
+CONFIG_TOUCHSCREEN_BU21013=m
+CONFIG_TOUCHSCREEN_CY8CTMG110=m
+CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
+CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_HAMPSHIRE=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_ILI210X=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_WACOM_I2C=m
+CONFIG_TOUCHSCREEN_MAX11801=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MMS114=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_HTCPEN=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+CONFIG_TOUCHSCREEN_WM9705=y
+CONFIG_TOUCHSCREEN_WM9712=y
+CONFIG_TOUCHSCREEN_WM9713=y
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+CONFIG_TOUCHSCREEN_MC13783=m
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+CONFIG_TOUCHSCREEN_USB_ELO=y
+CONFIG_TOUCHSCREEN_USB_E2I=y
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC_SERIO=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+CONFIG_TOUCHSCREEN_W90X900=m
+CONFIG_TOUCHSCREEN_ST1232=m
+CONFIG_TOUCHSCREEN_TPS6507X=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_AD714X=m
+CONFIG_INPUT_AD714X_I2C=m
+CONFIG_INPUT_BMA150=m
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_MC13783_PWRBUTTON=m
+CONFIG_INPUT_MMA8450=m
+CONFIG_INPUT_MPU3050=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_GP2A=m
+CONFIG_INPUT_GPIO_TILT_POLLED=m
+CONFIG_INPUT_WISTRON_BTNS=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_KXTJ9=m
+CONFIG_INPUT_KXTJ9_POLLED_MODE=y
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_PCF8574=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+CONFIG_INPUT_ADXL34X=m
+CONFIG_INPUT_ADXL34X_I2C=m
+CONFIG_INPUT_IMS_PCU=m
+CONFIG_INPUT_CMA3000=m
+CONFIG_INPUT_CMA3000_I2C=m
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
+CONFIG_SERIO_PS2MULT=m
+CONFIG_SERIO_ARC_PS2=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=32
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+CONFIG_MOXA_INTELLIO=m
+CONFIG_MOXA_SMARTIO=m
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+CONFIG_SYNCLINK_GT=m
+CONFIG_NOZOMI=m
+CONFIG_ISI=m
+CONFIG_N_HDLC=m
+CONFIG_N_GSM=m
+CONFIG_TRACE_ROUTER=m
+CONFIG_TRACE_SINK=m
+CONFIG_DEVKMEM=y
+CONFIG_STALDRV=y
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_FOURPORT=m
+CONFIG_SERIAL_8250_ACCENT=m
+CONFIG_SERIAL_8250_BOCA=m
+CONFIG_SERIAL_8250_EXAR_ST16C554=m
+CONFIG_SERIAL_8250_HUB6=m
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_8250_DW=m
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_MFD_HSU=m
+CONFIG_SERIAL_UARTLITE=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_SCCNXP=m
+CONFIG_SERIAL_TIMBERDALE=m
+CONFIG_SERIAL_ALTERA_JTAGUART=m
+CONFIG_SERIAL_ALTERA_UART=m
+CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
+CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
+CONFIG_SERIAL_PCH_UART=m
+CONFIG_SERIAL_ARC=m
+CONFIG_SERIAL_ARC_NR_PORTS=1
+CONFIG_SERIAL_RP2=m
+CONFIG_SERIAL_RP2_NR_UARTS=32
+CONFIG_PRINTER=m
+CONFIG_LP_CONSOLE=y
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_VIRTIO_CONSOLE=m
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_ATMEL=m
+CONFIG_HW_RANDOM_GEODE=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_EXYNOS=m
+CONFIG_HW_RANDOM_TPM=m
+CONFIG_NVRAM=m
+CONFIG_DTLK=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+CONFIG_SONYPI=m
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+CONFIG_MWAVE=m
+CONFIG_SCx200_GPIO=m
+CONFIG_PC8736x_GPIO=m
+CONFIG_NSC_GPIO=m
+CONFIG_RAW_DRIVER=m
+CONFIG_MAX_RAW_DEVS=256
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_TIS_I2C_INFINEON=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TCG_ST33_I2C=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_MUX=m
+
+#
+# Multiplexer I2C Chip support
+#
+CONFIG_I2C_MUX_GPIO=m
+CONFIG_I2C_MUX_PCA9541=m
+CONFIG_I2C_MUX_PCA954x=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_ISMT=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_PLATFORM=m
+CONFIG_I2C_DESIGNWARE_PCI=m
+CONFIG_I2C_EG20T=m
+CONFIG_I2C_GPIO=m
+CONFIG_I2C_INTEL_MID=m
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_DIOLAN_U2C=m
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+CONFIG_I2C_VIPERBOARD=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_PCA_ISA=m
+CONFIG_SCx200_I2C=m
+CONFIG_SCx200_I2C_SCL=12
+CONFIG_SCx200_I2C_SDA=13
+CONFIG_SCx200_ACB=m
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_SPI is not set
+
+#
+# Qualcomm MSM SSBI bus support
+#
+# CONFIG_SSBI is not set
+CONFIG_HSI=m
+CONFIG_HSI_BOARDINFO=y
+
+#
+# HSI clients
+#
+CONFIG_HSI_CHAR=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_PPS_CLIENT_PARPORT=m
+CONFIG_PPS_CLIENT_GPIO=m
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=m
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+CONFIG_PTP_1588_CLOCK_PCH=m
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_GPIO_DEVRES=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_ACPI=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_GENERIC=m
+CONFIG_GPIO_MAX730X=m
+
+#
+# Memory mapped GPIO drivers:
+#
+CONFIG_GPIO_GENERIC_PLATFORM=m
+CONFIG_GPIO_IT8761E=m
+CONFIG_GPIO_TS5500=m
+CONFIG_GPIO_SCH=m
+CONFIG_GPIO_ICH=m
+CONFIG_GPIO_VX855=m
+CONFIG_GPIO_LYNXPOINT=y
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_ARIZONA=m
+CONFIG_GPIO_MAX7300=m
+CONFIG_GPIO_MAX732X=m
+CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCF857X=m
+CONFIG_GPIO_ADP5588=m
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_AMD8111=m
+# CONFIG_GPIO_LANGWELL is not set
+CONFIG_GPIO_PCH=m
+CONFIG_GPIO_ML_IOH=m
+# CONFIG_GPIO_TIMBERDALE is not set
+CONFIG_GPIO_RDC321X=m
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MCP23S08=m
+
+#
+# AC97 GPIO expanders:
+#
+# CONFIG_GPIO_UCB1400 is not set
+
+#
+# MODULbus GPIO expanders:
+#
+CONFIG_GPIO_JANZ_TTL=m
+
+#
+# USB GPIO expanders:
+#
+CONFIG_GPIO_VIPERBOARD=m
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_DS1WM=m
+CONFIG_W1_MASTER_GPIO=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2408=m
+# CONFIG_W1_SLAVE_DS2408_READBACK is not set
+CONFIG_W1_SLAVE_DS2413=m
+CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2431=m
+CONFIG_W1_SLAVE_DS2433=m
+CONFIG_W1_SLAVE_DS2433_CRC=y
+CONFIG_W1_SLAVE_DS2760=m
+CONFIG_W1_SLAVE_DS2780=m
+CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS28E04=m
+CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_GENERIC_ADC_BATTERY=m
+CONFIG_TEST_POWER=m
+CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2780=m
+CONFIG_BATTERY_DS2781=m
+CONFIG_BATTERY_DS2782=m
+CONFIG_BATTERY_SBS=m
+CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_BQ27X00_I2C=y
+CONFIG_BATTERY_BQ27X00_PLATFORM=y
+CONFIG_BATTERY_MAX17040=m
+CONFIG_BATTERY_MAX17042=m
+CONFIG_CHARGER_PCF50633=m
+CONFIG_CHARGER_ISP1704=m
+CONFIG_CHARGER_MAX8903=m
+CONFIG_CHARGER_LP8727=m
+CONFIG_CHARGER_GPIO=m
+# CONFIG_CHARGER_MANAGER is not set
+CONFIG_CHARGER_BQ2415X=m
+CONFIG_CHARGER_SMB347=m
+CONFIG_BATTERY_GOLDFISH=m
+CONFIG_POWER_RESET=y
+CONFIG_POWER_AVS=y
+CONFIG_HWMON=m
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7X10=m
+CONFIG_SENSORS_ADT7410=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_FAM15H_POWER=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS620=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_GPIO_FAN=m
+CONFIG_SENSORS_HIH6130=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IIO_HWMON=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_JC42=m
+CONFIG_SENSORS_LINEAGE=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4151=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LTC4261=m
+CONFIG_SENSORS_LM95234=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_LM95245=m
+CONFIG_SENSORS_MAX16065=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX1668=m
+CONFIG_SENSORS_MAX197=m
+CONFIG_SENSORS_MAX6639=m
+CONFIG_SENSORS_MAX6642=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_MAX6697=m
+CONFIG_SENSORS_MCP3021=m
+CONFIG_SENSORS_NCT6775=m
+CONFIG_SENSORS_NTC_THERMISTOR=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_PMBUS=m
+CONFIG_SENSORS_PMBUS=m
+CONFIG_SENSORS_ADM1275=m
+CONFIG_SENSORS_LM25066=m
+CONFIG_SENSORS_LTC2978=m
+CONFIG_SENSORS_MAX16064=m
+CONFIG_SENSORS_MAX34440=m
+CONFIG_SENSORS_MAX8688=m
+CONFIG_SENSORS_UCD9000=m
+CONFIG_SENSORS_UCD9200=m
+CONFIG_SENSORS_ZL6100=m
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SHT21=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_SMM665=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_EMC1403=m
+CONFIG_SENSORS_EMC2103=m
+CONFIG_SENSORS_EMC6W201=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_SCH56XX_COMMON=m
+CONFIG_SENSORS_SCH5627=m
+CONFIG_SENSORS_SCH5636=m
+CONFIG_SENSORS_ADS1015=m
+CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_INA209=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP102=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83795=m
+# CONFIG_SENSORS_W83795_FANCTRL is not set
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_APPLESMC=m
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ACPI_POWER=m
+CONFIG_SENSORS_ATK0110=m
+CONFIG_THERMAL=m
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+CONFIG_THERMAL_GOV_FAIR_SHARE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+CONFIG_THERMAL_GOV_USER_SPACE=y
+CONFIG_CPU_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+CONFIG_INTEL_POWERCLAMP=m
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_RETU_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_F71808E_WDT=m
+CONFIG_SP5100_TCO=m
+CONFIG_GEODE_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_IE6XX_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_HPWDT_NMI_DECODING=y
+CONFIG_SC1200_WDT=m
+CONFIG_SCx200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_NV_TCO=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_SBC7240_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_VIA_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+
+#
+# ISA-based Watchdog Cards
+#
+CONFIG_PCWATCHDOG=m
+CONFIG_MIXCOMWD=m
+CONFIG_WDT=m
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+# CONFIG_SSB_DRIVER_GPIO is not set
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+CONFIG_BCMA=m
+CONFIG_BCMA_BLOCKIO=y
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
+CONFIG_BCMA_HOST_PCI=y
+# CONFIG_BCMA_DRIVER_GMAC_CMN is not set
+# CONFIG_BCMA_DRIVER_GPIO is not set
+# CONFIG_BCMA_DEBUG is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+CONFIG_MFD_CS5535=m
+CONFIG_MFD_CROS_EC=m
+CONFIG_MFD_CROS_EC_I2C=m
+CONFIG_MFD_MC13783=m
+CONFIG_MFD_MC13XXX=m
+CONFIG_MFD_MC13XXX_I2C=m
+CONFIG_HTC_PASIC3=m
+CONFIG_LPC_ICH=m
+CONFIG_LPC_SCH=m
+CONFIG_MFD_JANZ_CMODIO=m
+CONFIG_MFD_VIPERBOARD=m
+CONFIG_MFD_RETU=m
+CONFIG_MFD_PCF50633=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_UCB1400_CORE=m
+CONFIG_MFD_RDC321X=m
+CONFIG_MFD_RTSX_PCI=m
+CONFIG_MFD_SI476X_CORE=m
+CONFIG_MFD_SM501=m
+# CONFIG_MFD_SM501_GPIO is not set
+# CONFIG_ABX500_CORE is not set
+CONFIG_MFD_SYSCON=y
+CONFIG_MFD_TI_AM335X_TSCADC=m
+CONFIG_TPS6105X=m
+CONFIG_TPS65010=m
+CONFIG_TPS6507X=m
+CONFIG_MFD_TPS65217=m
+# CONFIG_MFD_TPS65912 is not set
+CONFIG_MFD_WL1273_CORE=m
+CONFIG_MFD_LM3533=m
+CONFIG_MFD_TIMBERDALE=m
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_VX855=m
+CONFIG_MFD_ARIZONA=y
+CONFIG_MFD_ARIZONA_I2C=m
+CONFIG_MFD_WM5102=y
+CONFIG_MFD_WM5110=y
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_DUMMY is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=m
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+CONFIG_REGULATOR_USERSPACE_CONSUMER=m
+CONFIG_REGULATOR_GPIO=m
+CONFIG_REGULATOR_AD5398=m
+CONFIG_REGULATOR_FAN53555=m
+CONFIG_REGULATOR_ANATOP=m
+CONFIG_REGULATOR_MC13XXX_CORE=m
+CONFIG_REGULATOR_MC13783=m
+CONFIG_REGULATOR_MC13892=m
+CONFIG_REGULATOR_ISL6271A=m
+CONFIG_REGULATOR_MAX1586=m
+CONFIG_REGULATOR_MAX8649=m
+CONFIG_REGULATOR_MAX8660=m
+CONFIG_REGULATOR_MAX8952=m
+CONFIG_REGULATOR_MAX8973=m
+CONFIG_REGULATOR_LP3971=m
+CONFIG_REGULATOR_LP3972=m
+CONFIG_REGULATOR_LP8755=m
+CONFIG_REGULATOR_PCF50633=m
+CONFIG_REGULATOR_TPS51632=m
+CONFIG_REGULATOR_TPS6105X=m
+CONFIG_REGULATOR_TPS62360=m
+CONFIG_REGULATOR_TPS65023=m
+CONFIG_REGULATOR_TPS6507X=m
+CONFIG_REGULATOR_TPS65217=m
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+# CONFIG_MEDIA_CONTROLLER is not set
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2=m
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_V4L2_MEM2MEM_DEV=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DMA_CONTIG=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_VIDEOBUF2_DMA_SG=m
+CONFIG_VIDEO_V4L2_INT_DEVICE=m
+CONFIG_DVB_CORE=m
+CONFIG_DVB_NET=y
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+
+#
+# Media drivers
+#
+CONFIG_RC_CORE=m
+CONFIG_RC_MAP=m
+CONFIG_RC_DECODERS=y
+CONFIG_LIRC=m
+CONFIG_IR_LIRC_CODEC=m
+CONFIG_IR_NEC_DECODER=m
+CONFIG_IR_RC5_DECODER=m
+CONFIG_IR_RC6_DECODER=m
+CONFIG_IR_JVC_DECODER=m
+CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_RC5_SZ_DECODER=m
+CONFIG_IR_SANYO_DECODER=m
+CONFIG_IR_MCE_KBD_DECODER=m
+CONFIG_RC_DEVICES=y
+CONFIG_RC_ATI_REMOTE=m
+CONFIG_IR_ENE=m
+CONFIG_IR_IMON=m
+CONFIG_IR_MCEUSB=m
+CONFIG_IR_ITE_CIR=m
+CONFIG_IR_FINTEK=m
+CONFIG_IR_NUVOTON=m
+CONFIG_IR_REDRAT3=m
+CONFIG_IR_STREAMZAP=m
+CONFIG_IR_WINBOND_CIR=m
+CONFIG_IR_IGUANA=m
+CONFIG_IR_TTUSBIR=m
+CONFIG_RC_LOOPBACK=m
+CONFIG_IR_GPIO_CIR=m
+CONFIG_MEDIA_USB_SUPPORT=y
+
+#
+# Webcam devices
+#
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_JL2005BCD=m
+CONFIG_USB_GSPCA_KINECT=m
+CONFIG_USB_GSPCA_KONICA=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_NW80X=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SE401=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SPCA1528=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_SQ930X=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TOPRO=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_VICAM=m
+CONFIG_USB_GSPCA_XIRLINK_CIT=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_VIDEO_CPIA2=m
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_USB_SN9C102=m
+
+#
+# Analog TV USB devices
+#
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_STK1160=m
+CONFIG_VIDEO_STK1160_AC97=y
+
+#
+# Analog/digital TV USB devices
+#
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_AU0828_V4L2=y
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_RC=y
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_TM6000=m
+CONFIG_VIDEO_TM6000_ALSA=m
+CONFIG_VIDEO_TM6000_DVB=m
+
+#
+# Digital TV USB devices
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_PCTV452E=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_USB_TECHNISAT_USB2=m
+CONFIG_DVB_USB_V2=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_AF9035=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_AZ6007=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_IT913X=m
+CONFIG_DVB_USB_LME2510=m
+CONFIG_DVB_USB_MXL111SF=m
+CONFIG_DVB_USB_RTL28XXU=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_USB_DRV=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG=y
+
+#
+# Webcam, TV (analog/digital) USB devices
+#
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_EM28XX_RC=m
+CONFIG_MEDIA_PCI_SUPPORT=y
+
+#
+# Media capture support
+#
+CONFIG_VIDEO_MEYE=m
+
+#
+# Media capture/analog TV support
+#
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_IVTV_ALSA=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_MXB=m
+
+#
+# Media capture/analog/hybrid TV support
+#
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_MEDIA_ALTERA_CI=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_BT848=m
+CONFIG_DVB_BT8XX=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_RC=y
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_SAA7164=m
+
+#
+# Media digital TV PCI Adapters
+#
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
+CONFIG_DVB_PLUTO2=m
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_PT1=m
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+CONFIG_DVB_NGENE=m
+CONFIG_DVB_DDBRIDGE=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_VIDEO_VIA_CAMERA=m
+CONFIG_VIDEO_TIMBERDALE=m
+CONFIG_SOC_CAMERA=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+CONFIG_VIDEO_SH_MOBILE_CSI2=m
+CONFIG_VIDEO_SH_MOBILE_CEU=m
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
+CONFIG_VIDEO_SH_VEU=m
+CONFIG_V4L_TEST_DRIVERS=y
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_MEM2MEM_TESTDEV=m
+
+#
+# Supported MMC/SDIO adapters
+#
+CONFIG_SMS_SDIO_DRV=m
+CONFIG_MEDIA_PARPORT_SUPPORT=y
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_PMS=m
+CONFIG_VIDEO_W9966=m
+CONFIG_RADIO_ADAPTERS=y
+# CONFIG_RADIO_SI470X is not set
+CONFIG_USB_MR800=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_SHARK=m
+CONFIG_RADIO_SHARK2=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_KEENE=m
+CONFIG_USB_MA901=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_TIMBERDALE=m
+CONFIG_RADIO_WL1273=m
+
+#
+# Texas Instruments WL128x FM driver (ST based)
+#
+CONFIG_RADIO_WL128X=m
+CONFIG_V4L_RADIO_ISA_DRIVERS=y
+CONFIG_RADIO_ISA=m
+CONFIG_RADIO_CADET=m
+CONFIG_RADIO_RTRACK=m
+# CONFIG_RADIO_RTRACK2 is not set
+CONFIG_RADIO_AZTECH=m
+CONFIG_RADIO_GEMTEK=m
+CONFIG_RADIO_MIROPCM20=m
+CONFIG_RADIO_SF16FMI=m
+CONFIG_RADIO_SF16FMR2=m
+CONFIG_RADIO_TERRATEC=m
+CONFIG_RADIO_TRUST=m
+CONFIG_RADIO_TYPHOON=m
+CONFIG_RADIO_ZOLTRIX=m
+
+#
+# Supported FireWire (IEEE 1394) Adapters
+#
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_INPUT=y
+CONFIG_MEDIA_COMMON_OPTIONS=y
+
+#
+# common driver options
+#
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_CYPRESS_FIRMWARE=m
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_SMS_SIANO_MDTV=m
+CONFIG_SMS_SIANO_RC=y
+# CONFIG_SMS_SIANO_DEBUGFS is not set
+
+#
+# Media ancillary drivers (tuners, sensors, i2c, frontends)
+#
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+CONFIG_MEDIA_ATTACH=y
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Audio decoders, processors and mixers
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_ADV7180=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_CX25840=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+
+#
+# Camera sensor devices
+#
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
+
+#
+# Flash devices
+#
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+
+#
+# Miscelaneous helper chips
+#
+CONFIG_VIDEO_M52790=m
+
+#
+# Sensors used on soc_camera driver
+#
+
+#
+# soc_camera sensor drivers
+#
+CONFIG_SOC_CAMERA_IMX074=m
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_OV2640=m
+CONFIG_SOC_CAMERA_OV5642=m
+CONFIG_SOC_CAMERA_OV6650=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+CONFIG_SOC_CAMERA_OV9740=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_MEDIA_TUNER=m
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2063=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_XC4000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_MEDIA_TUNER_FC0011=m
+CONFIG_MEDIA_TUNER_FC0012=m
+CONFIG_MEDIA_TUNER_FC0013=m
+CONFIG_MEDIA_TUNER_TDA18212=m
+CONFIG_MEDIA_TUNER_E4000=m
+CONFIG_MEDIA_TUNER_FC2580=m
+CONFIG_MEDIA_TUNER_TUA9001=m
+CONFIG_MEDIA_TUNER_IT913X=m
+CONFIG_MEDIA_TUNER_R820T=m
+
+#
+# Multistandard (satellite) frontends
+#
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+
+#
+# Multistandard (cable + terrestrial) frontends
+#
+CONFIG_DVB_DRXK=m
+CONFIG_DVB_TDA18271C2DD=m
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_TS2020=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_TDA10071=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_DRXD=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_STV0367=m
+CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_RTL2830=m
+CONFIG_DVB_RTL2832=m
+
+#
+# DVB-C (cable) frontends
+#
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+
+#
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
+#
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_LG2160=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_AU8522_DTV=m
+CONFIG_DVB_AU8522_V4L=m
+CONFIG_DVB_S5H1411=m
+
+#
+# ISDB-T (terrestrial) frontends
+#
+CONFIG_DVB_S921=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_MB86A20S=m
+
+#
+# Digital terrestrial only tuners/PLL
+#
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_TUNER_DIB0090=m
+
+#
+# SEC control devices for DVB-S
+#
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_LNBP22=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_ISL6423=m
+CONFIG_DVB_A8293=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DVB_TDA665x=m
+CONFIG_DVB_IX2505V=m
+CONFIG_DVB_IT913X_FE=m
+CONFIG_DVB_M88RS2000=m
+CONFIG_DVB_AF9033=m
+
+#
+# Tools to develop new frontends
+#
+# CONFIG_DVB_DUMMY_FE is not set
+
+#
+# Graphics support
+#
+CONFIG_AGP=m
+CONFIG_AGP_ALI=m
+CONFIG_AGP_ATI=m
+CONFIG_AGP_AMD=m
+CONFIG_AGP_AMD64=m
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_NVIDIA=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_SWORKS=m
+CONFIG_AGP_VIA=m
+CONFIG_AGP_EFFICEON=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM=m
+CONFIG_DRM_USB=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_TTM=m
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_DRM_I2C_SIL164=m
+CONFIG_DRM_I2C_NXP_TDA998X=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+# CONFIG_DRM_RADEON_UMS is not set
+CONFIG_DRM_NOUVEAU=m
+CONFIG_NOUVEAU_DEBUG=5
+CONFIG_NOUVEAU_DEBUG_DEFAULT=3
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_I810=m
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_VMWGFX_FBCON=y
+CONFIG_DRM_GMA500=m
+CONFIG_DRM_GMA600=y
+CONFIG_DRM_GMA3600=y
+CONFIG_DRM_UDL=m
+CONFIG_DRM_AST=m
+CONFIG_DRM_MGAG200=m
+CONFIG_DRM_CIRRUS_QEMU=m
+CONFIG_DRM_QXL=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_HDMI=y
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DDC=m
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_HECUBA=m
+CONFIG_FB_SVGALIB=m
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
+CONFIG_FB_CYBER2000=m
+CONFIG_FB_CYBER2000_DDC=y
+CONFIG_FB_ARC=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_VGA16=m
+# CONFIG_FB_UVESA is not set
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+CONFIG_FB_N411=m
+CONFIG_FB_HGA=m
+CONFIG_FB_S1D13XXX=m
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
+# CONFIG_FB_NVIDIA_DEBUG is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+CONFIG_FB_RIVA=m
+CONFIG_FB_RIVA_I2C=y
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_RIVA_BACKLIGHT=y
+CONFIG_FB_I740=m
+CONFIG_FB_I810=m
+CONFIG_FB_I810_GTF=y
+CONFIG_FB_I810_I2C=y
+CONFIG_FB_LE80578=m
+CONFIG_FB_CARILLO_RANCH=m
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MAVEN=m
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+CONFIG_FB_ATY_GENERIC_LCD=y
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+CONFIG_FB_S3=m
+CONFIG_FB_S3_DDC=y
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+CONFIG_FB_SAVAGE_ACCEL=y
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_VIA=m
+# CONFIG_FB_VIA_DIRECT_PROCFS is not set
+CONFIG_FB_VIA_X_COMPATIBILITY=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_3DFX_I2C=y
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+CONFIG_FB_TRIDENT=m
+CONFIG_FB_ARK=m
+CONFIG_FB_PM3=m
+CONFIG_FB_CARMINE=m
+CONFIG_FB_CARMINE_DRAM_EVAL=y
+# CONFIG_CARMINE_DRAM_CUSTOM is not set
+CONFIG_FB_GEODE=y
+CONFIG_FB_GEODE_LX=m
+CONFIG_FB_GEODE_GX=m
+CONFIG_FB_GEODE_GX1=m
+CONFIG_FB_TMIO=m
+CONFIG_FB_TMIO_ACCELL=y
+# CONFIG_FB_SM501 is not set
+CONFIG_FB_SMSCUFX=m
+CONFIG_FB_UDL=m
+CONFIG_FB_GOLDFISH=m
+# CONFIG_FB_VIRTUAL is not set
+CONFIG_FB_METRONOME=m
+CONFIG_FB_MB862XX=m
+CONFIG_FB_MB862XX_PCI_GDC=y
+CONFIG_FB_MB862XX_I2C=y
+CONFIG_FB_BROADSHEET=m
+CONFIG_FB_AUO_K190X=m
+CONFIG_FB_AUO_K1900=m
+CONFIG_FB_AUO_K1901=m
+# CONFIG_FB_HYPERV is not set
+# CONFIG_EXYNOS_VIDEO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_ATMEL_PWM=m
+CONFIG_BACKLIGHT_GENERIC=m
+CONFIG_BACKLIGHT_LM3533=m
+CONFIG_BACKLIGHT_CARILLO_RANCH=m
+CONFIG_BACKLIGHT_APPLE=m
+CONFIG_BACKLIGHT_SAHARA=m
+CONFIG_BACKLIGHT_ADP8860=m
+CONFIG_BACKLIGHT_ADP8870=m
+CONFIG_BACKLIGHT_PCF50633=m
+CONFIG_BACKLIGHT_LM3630=m
+CONFIG_BACKLIGHT_LM3639=m
+CONFIG_BACKLIGHT_LP855X=m
+CONFIG_BACKLIGHT_OT200=m
+CONFIG_BACKLIGHT_TPS65217=m
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
+CONFIG_MDA_CONSOLE=m
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+CONFIG_FONT_SUN8x16=y
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_KCTL_JACK=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+CONFIG_SND_OPL4_LIB_SEQ=m
+CONFIG_SND_SBAWE_SEQ=m
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_OPL4_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+CONFIG_SND_DUMMY=m
+CONFIG_SND_ALOOP=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+CONFIG_SND_WSS_LIB=m
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB8_DSP=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_ISA=y
+CONFIG_SND_ADLIB=m
+CONFIG_SND_AD1816A=m
+CONFIG_SND_AD1848=m
+CONFIG_SND_ALS100=m
+CONFIG_SND_AZT1605=m
+CONFIG_SND_AZT2316=m
+CONFIG_SND_AZT2320=m
+CONFIG_SND_CMI8328=m
+CONFIG_SND_CMI8330=m
+CONFIG_SND_CS4231=m
+CONFIG_SND_CS4236=m
+CONFIG_SND_ES1688=m
+CONFIG_SND_ES18XX=m
+CONFIG_SND_SC6000=m
+CONFIG_SND_GUSCLASSIC=m
+CONFIG_SND_GUSEXTREME=m
+CONFIG_SND_GUSMAX=m
+CONFIG_SND_INTERWAVE=m
+CONFIG_SND_INTERWAVE_STB=m
+CONFIG_SND_JAZZ16=m
+CONFIG_SND_OPL3SA2=m
+CONFIG_SND_OPTI92X_AD1848=m
+CONFIG_SND_OPTI92X_CS4231=m
+CONFIG_SND_OPTI93X=m
+CONFIG_SND_MIRO=m
+CONFIG_SND_SB8=m
+CONFIG_SND_SB16=m
+CONFIG_SND_SBAWE=m
+CONFIG_SND_SB16_CSP=y
+CONFIG_SND_SSCAPE=m
+CONFIG_SND_WAVEFRONT=m
+CONFIG_SND_MSND_PINNACLE=m
+CONFIG_SND_MSND_CLASSIC=m
+CONFIG_SND_TEA575X=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ASIHPI=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_ES1968_INPUT=y
+CONFIG_SND_ES1968_RADIO=y
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_DSP_LOADER=y
+CONFIG_SND_HDA_PREALLOC_SIZE=2048
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+# CONFIG_SND_HDA_INPUT_BEEP is not set
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_HDMI=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CA0132=y
+CONFIG_SND_HDA_CODEC_CA0132_DSP=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_LOLA=m
+CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MAESTRO3_INPUT=y
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SIS7019=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_USB_6FIRE=m
+CONFIG_SND_FIREWIRE=y
+CONFIG_SND_FIREWIRE_LIB=m
+CONFIG_SND_FIREWIRE_SPEAKERS=m
+CONFIG_SND_ISIGHT=m
+CONFIG_SND_SCS1X=m
+CONFIG_SND_PCMCIA=y
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+
+#
+# HID support
+#
+CONFIG_HID=m
+CONFIG_HIDRAW=y
+CONFIG_UHID=m
+CONFIG_HID_GENERIC=m
+
+#
+# Special HID drivers
+#
+CONFIG_HID_A4TECH=m
+CONFIG_HID_ACRUX=m
+CONFIG_HID_ACRUX_FF=y
+CONFIG_HID_APPLE=m
+CONFIG_HID_APPLEIR=m
+CONFIG_HID_AUREAL=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_PRODIKEYS=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EMS_FF=m
+CONFIG_HID_ELECOM=m
+CONFIG_HID_EZKEY=m
+CONFIG_HID_HOLTEK=m
+CONFIG_HOLTEK_FF=y
+CONFIG_HID_KEYTOUCH=m
+CONFIG_HID_KYE=m
+CONFIG_HID_UCLOGIC=m
+CONFIG_HID_WALTOP=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_ICADE=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LCPOWER=m
+CONFIG_HID_LENOVO_TPKBD=m
+CONFIG_HID_LOGITECH=m
+CONFIG_HID_LOGITECH_DJ=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_LOGIWHEELS_FF=y
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_MULTITOUCH=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_PICOLCD=m
+CONFIG_HID_PICOLCD_FB=y
+CONFIG_HID_PICOLCD_BACKLIGHT=y
+CONFIG_HID_PICOLCD_LCD=y
+CONFIG_HID_PICOLCD_LEDS=y
+CONFIG_HID_PICOLCD_CIR=y
+CONFIG_HID_PRIMAX=m
+CONFIG_HID_PS3REMOTE=m
+CONFIG_HID_ROCCAT=m
+CONFIG_HID_SAITEK=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_SPEEDLINK=m
+CONFIG_HID_STEELSERIES=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_HYPERV_MOUSE=m
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TIVO=m
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THINGM=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_WIIMOTE=m
+CONFIG_HID_WIIMOTE_EXT=y
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
+CONFIG_HID_ZYDACRON=m
+CONFIG_HID_SENSOR_HUB=m
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=m
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# I2C HID support
+#
+CONFIG_I2C_HID=m
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB_ARCH_HAS_XHCI=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=y
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+CONFIG_USB_XHCI_PLATFORM=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=m
+CONFIG_USB_EHCI_HCD_PLATFORM=m
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_OHCI_HCD_SSB=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+# CONFIG_USB_SL811_HCD_ISO is not set
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+# CONFIG_USB_HCD_BCMA is not set
+CONFIG_USB_HCD_SSB=m
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_REALTEK=m
+CONFIG_REALTEK_AUTOPM=y
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+CONFIG_USB_STORAGE_ENE_UB6250=m
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_DWC3=m
+CONFIG_USB_DWC3_HOST=y
+# CONFIG_USB_DWC3_DEBUG is not set
+CONFIG_USB_CHIPIDEA=m
+# CONFIG_USB_CHIPIDEA_DEBUG is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_F81232=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_METRO=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7715_PARPORT=y
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_SAFE_PADDED=y
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_WWAN=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
+CONFIG_USB_SERIAL_XSENS_MT=m
+CONFIG_USB_SERIAL_ZIO=m
+CONFIG_USB_SERIAL_WISHBONE=m
+CONFIG_USB_SERIAL_ZTE=m
+CONFIG_USB_SERIAL_SSU100=m
+CONFIG_USB_SERIAL_QT2=m
+CONFIG_USB_SERIAL_DEBUG=m
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_YUREX=m
+CONFIG_USB_EZUSB_FX2=m
+CONFIG_USB_HSIC_USB3503=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_OMAP_CONTROL_USB=m
+CONFIG_OMAP_USB3=m
+CONFIG_SAMSUNG_USBPHY=m
+CONFIG_SAMSUNG_USB2PHY=m
+CONFIG_SAMSUNG_USB3PHY=m
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ISP1301=m
+CONFIG_USB_RCAR_PHY=m
+# CONFIG_USB_GADGET is not set
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+CONFIG_UWB_I1480U=m
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+# CONFIG_MMC_CLKGATE is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_ACPI=m
+CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_SDHCI_PXAV3=m
+CONFIG_MMC_SDHCI_PXAV2=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MMC_VUB300=m
+CONFIG_MMC_USHC=m
+CONFIG_MMC_REALTEK_PCI=m
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+CONFIG_MEMSTICK_R592=m
+CONFIG_MEMSTICK_REALTEK_PCI=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_ATMEL_PWM=m
+CONFIG_LEDS_LM3530=m
+CONFIG_LEDS_LM3533=m
+CONFIG_LEDS_LM3642=m
+CONFIG_LEDS_NET48XX=m
+CONFIG_LEDS_WRAP=m
+CONFIG_LEDS_PCA9532=m
+# CONFIG_LEDS_PCA9532_GPIO is not set
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_LP55XX_COMMON=m
+CONFIG_LEDS_LP5521=m
+CONFIG_LEDS_LP5523=m
+CONFIG_LEDS_LP5562=m
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_PCA9633=m
+CONFIG_LEDS_REGULATOR=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_MC13783=m
+CONFIG_LEDS_RENESAS_TPU=y
+CONFIG_LEDS_TCA6507=m
+CONFIG_LEDS_LM355x=m
+CONFIG_LEDS_OT200=m
+CONFIG_LEDS_BLINKM=m
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_ONESHOT=m
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+# CONFIG_LEDS_TRIGGER_CPU is not set
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_LEDS_TRIGGER_TRANSIENT=m
+CONFIG_LEDS_TRIGGER_CAMERA=m
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+CONFIG_INFINIBAND=m
+CONFIG_INFINIBAND_USER_MAD=m
+CONFIG_INFINIBAND_USER_ACCESS=m
+CONFIG_INFINIBAND_USER_MEM=y
+CONFIG_INFINIBAND_ADDR_TRANS=y
+CONFIG_INFINIBAND_MTHCA=m
+CONFIG_INFINIBAND_MTHCA_DEBUG=y
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+# CONFIG_INFINIBAND_CXGB3 is not set
+CONFIG_INFINIBAND_CXGB4=m
+CONFIG_MLX4_INFINIBAND=m
+CONFIG_INFINIBAND_NES=m
+# CONFIG_INFINIBAND_NES_DEBUG is not set
+CONFIG_INFINIBAND_OCRDMA=m
+CONFIG_INFINIBAND_IPOIB=m
+# CONFIG_INFINIBAND_IPOIB_CM is not set
+CONFIG_INFINIBAND_IPOIB_DEBUG=y
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+CONFIG_INFINIBAND_SRP=m
+CONFIG_INFINIBAND_SRPT=m
+CONFIG_INFINIBAND_ISER=m
+CONFIG_INFINIBAND_ISERT=m
+CONFIG_EDAC=y
+CONFIG_EDAC_LEGACY_SYSFS=y
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=y
+CONFIG_EDAC_MCE_INJ=m
+# CONFIG_EDAC_MM_EDAC is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+# CONFIG_RTC_HCTOSYS is not set
+# CONFIG_RTC_SYSTOHC is not set
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_TEST=m
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_DS3232=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_ISL12022=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8523=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+CONFIG_RTC_DRV_EM3027=m
+CONFIG_RTC_DRV_RV3029C2=m
+
+#
+# SPI RTC drivers
+#
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_DS2404=m
+CONFIG_RTC_DRV_PCF50633=m
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_MC13XXX=m
+
+#
+# HID Sensor RTC drivers
+#
+CONFIG_RTC_DRV_HID_SENSOR_TIME=m
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_INTEL_MID_DMAC=m
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DW_DMAC=m
+# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
+CONFIG_TIMB_DMA=m
+CONFIG_PCH_DMA=m
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_ACPI=y
+
+#
+# DMA Clients
+#
+CONFIG_NET_DMA=y
+# CONFIG_ASYNC_TX_DMA is not set
+CONFIG_DMATEST=m
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+# CONFIG_KS0108 is not set
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV=m
+CONFIG_UIO_PDRV_GENIRQ=m
+CONFIG_UIO_DMEM_GENIRQ=m
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+CONFIG_VFIO_IOMMU_TYPE1=m
+CONFIG_VFIO=m
+CONFIG_VFIO_PCI=m
+# CONFIG_VFIO_PCI_VGA is not set
+CONFIG_VIRT_DRIVERS=y
+CONFIG_VIRTIO=m
+
+#
+# Virtio drivers
+#
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_MMIO=m
+# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+CONFIG_HYPERV=m
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_BALLOON=m
+CONFIG_STAGING=y
+# CONFIG_ET131X is not set
+# CONFIG_SLICOSS is not set
+CONFIG_USBIP_CORE=m
+CONFIG_USBIP_VHCI_HCD=m
+CONFIG_USBIP_HOST=m
+# CONFIG_USBIP_DEBUG is not set
+# CONFIG_W35UND is not set
+# CONFIG_PRISM2_USB is not set
+# CONFIG_ECHO is not set
+# CONFIG_COMEDI is not set
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192U=m
+CONFIG_RTLLIB=m
+CONFIG_RTLLIB_CRYPTO_CCMP=m
+CONFIG_RTLLIB_CRYPTO_TKIP=m
+CONFIG_RTLLIB_CRYPTO_WEP=m
+CONFIG_RTL8192E=m
+CONFIG_R8712U=m
+CONFIG_RTS5139=m
+# CONFIG_RTS5139_DEBUG is not set
+# CONFIG_TRANZPORT is not set
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_DX_SEP=m
+
+#
+# IIO staging drivers
+#
+
+#
+# Accelerometers
+#
+
+#
+# Analog to digital converters
+#
+CONFIG_AD7291=m
+CONFIG_AD7606=m
+CONFIG_AD7606_IFACE_PARALLEL=m
+CONFIG_AD799X=m
+CONFIG_AD799X_RING_BUFFER=y
+
+#
+# Analog digital bi-direction converters
+#
+CONFIG_ADT7316=m
+CONFIG_ADT7316_I2C=m
+
+#
+# Capacitance to digital converters
+#
+CONFIG_AD7150=m
+CONFIG_AD7152=m
+CONFIG_AD7746=m
+
+#
+# Direct Digital Synthesis
+#
+
+#
+# Digital gyroscope sensors
+#
+
+#
+# Network Analyzer, Impedance Converters
+#
+CONFIG_AD5933=m
+
+#
+# Light sensors
+#
+CONFIG_SENSORS_ISL29018=m
+CONFIG_SENSORS_ISL29028=m
+CONFIG_TSL2583=m
+CONFIG_TSL2x7x=m
+
+#
+# Magnetometer sensors
+#
+CONFIG_SENSORS_HMC5843=m
+
+#
+# Active energy metering IC
+#
+CONFIG_ADE7854=m
+CONFIG_ADE7854_I2C=m
+
+#
+# Resolver to digital converters
+#
+
+#
+# Triggers - standalone
+#
+CONFIG_IIO_PERIODIC_RTC_TRIGGER=m
+CONFIG_IIO_GPIO_TRIGGER=m
+CONFIG_IIO_SYSFS_TRIGGER=m
+# CONFIG_IIO_SIMPLE_DUMMY is not set
+# CONFIG_ZSMALLOC is not set
+CONFIG_WLAGS49_H2=m
+CONFIG_WLAGS49_H25=m
+CONFIG_FB_SM7XX=m
+CONFIG_CRYSTALHD=m
+# CONFIG_CXT1E1 is not set
+CONFIG_FB_XGI=m
+CONFIG_ACPI_QUICKSTART=m
+CONFIG_SBE_2T3E3=m
+CONFIG_USB_ENESTORAGE=m
+CONFIG_BCM_WIMAX=m
+# CONFIG_FT1000 is not set
+
+#
+# Speakup console speech
+#
+CONFIG_SPEAKUP=y
+CONFIG_SPEAKUP_SYNTH_ACNTSA=y
+CONFIG_SPEAKUP_SYNTH_ACNTPC=y
+CONFIG_SPEAKUP_SYNTH_APOLLO=y
+CONFIG_SPEAKUP_SYNTH_AUDPTR=y
+CONFIG_SPEAKUP_SYNTH_BNS=y
+CONFIG_SPEAKUP_SYNTH_DECTLK=y
+CONFIG_SPEAKUP_SYNTH_DECEXT=y
+CONFIG_SPEAKUP_SYNTH_DECPC=m
+CONFIG_SPEAKUP_SYNTH_DTLK=y
+CONFIG_SPEAKUP_SYNTH_KEYPC=y
+CONFIG_SPEAKUP_SYNTH_LTLK=y
+CONFIG_SPEAKUP_SYNTH_SOFT=y
+CONFIG_SPEAKUP_SYNTH_SPKOUT=y
+CONFIG_SPEAKUP_SYNTH_TXPRT=y
+CONFIG_SPEAKUP_SYNTH_DUMMY=y
+CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
+CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
+CONFIG_STAGING_MEDIA=y
+CONFIG_DVB_AS102=m
+CONFIG_DVB_CXD2099=m
+CONFIG_VIDEO_DT3155=m
+CONFIG_DT3155_CCIR=y
+CONFIG_DT3155_STREAMING=y
+# CONFIG_VIDEO_GO7007 is not set
+CONFIG_SOLO6X10=m
+CONFIG_LIRC_STAGING=y
+CONFIG_LIRC_BT829=m
+CONFIG_LIRC_IGORPLUGUSB=m
+CONFIG_LIRC_IMON=m
+CONFIG_LIRC_PARALLEL=m
+CONFIG_LIRC_SASEM=m
+CONFIG_LIRC_SERIAL=m
+CONFIG_LIRC_SERIAL_TRANSMITTER=y
+CONFIG_LIRC_SIR=m
+CONFIG_LIRC_ZILOG=m
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+CONFIG_USB_WPAN_HCD=m
+CONFIG_WIMAX_GDM72XX=m
+# CONFIG_WIMAX_GDM72XX_QOS is not set
+# CONFIG_WIMAX_GDM72XX_K_MODE is not set
+CONFIG_WIMAX_GDM72XX_WIMAX2=y
+CONFIG_WIMAX_GDM72XX_USB=y
+# CONFIG_WIMAX_GDM72XX_SDIO is not set
+# CONFIG_WIMAX_GDM72XX_USB_PM is not set
+CONFIG_CSR_WIFI=m
+CONFIG_NET_VENDOR_SILICOM=y
+CONFIG_SBYPASS=m
+CONFIG_BPCTL=m
+CONFIG_CED1401=m
+CONFIG_DGRP=m
+CONFIG_FIREWIRE_SERIAL=m
+CONFIG_USB_DWC2=m
+# CONFIG_USB_DWC2_DEBUG is not set
+# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_CHROMEOS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_DELL_WMI_AIO=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_FUJITSU_TABLET=m
+CONFIG_AMILO_RFKILL=m
+CONFIG_TC1100_WMI=m
+CONFIG_HP_ACCEL=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+CONFIG_SONYPI_COMPAT=y
+CONFIG_IDEAPAD_LAPTOP=m
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_SENSORS_HDAPS=m
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_ASUS_WMI=m
+CONFIG_ASUS_NB_WMI=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+CONFIG_INTEL_IPS=m
+CONFIG_IBM_RTL=m
+CONFIG_XO15_EBOOK=m
+CONFIG_SAMSUNG_LAPTOP=m
+CONFIG_MXM_WMI=m
+CONFIG_INTEL_OAKTRAIL=m
+CONFIG_SAMSUNG_Q10=m
+CONFIG_APPLE_GMUX=m
+CONFIG_PVPANIC=m
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+
+#
+# Common Clock Framework
+#
+CONFIG_COMMON_CLK_DEBUG=y
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_CLKSRC_I8253=y
+CONFIG_CLKEVT_I8253=y
+CONFIG_I8253_LOCK=y
+CONFIG_CLKBLD_I8253=y
+# CONFIG_MAILBOX is not set
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+CONFIG_DMAR_TABLE=y
+CONFIG_INTEL_IOMMU=y
+# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
+CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+
+#
+# Remoteproc drivers
+#
+CONFIG_REMOTEPROC=m
+CONFIG_STE_MODEM_RPROC=m
+
+#
+# Rpmsg drivers
+#
+CONFIG_PM_DEVFREQ=y
+
+#
+# DEVFREQ Governors
+#
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
+CONFIG_DEVFREQ_GOV_PERFORMANCE=y
+CONFIG_DEVFREQ_GOV_POWERSAVE=y
+CONFIG_DEVFREQ_GOV_USERSPACE=y
+
+#
+# DEVFREQ Drivers
+#
+CONFIG_EXTCON=m
+
+#
+# Extcon Device Drivers
+#
+CONFIG_EXTCON_GPIO=m
+CONFIG_EXTCON_ADC_JACK=m
+CONFIG_MEMORY=y
+CONFIG_IIO=m
+CONFIG_IIO_BUFFER=y
+# CONFIG_IIO_BUFFER_CB is not set
+CONFIG_IIO_KFIFO_BUF=m
+CONFIG_IIO_TRIGGERED_BUFFER=m
+CONFIG_IIO_TRIGGER=y
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+
+#
+# Accelerometers
+#
+CONFIG_HID_SENSOR_ACCEL_3D=m
+CONFIG_IIO_ST_ACCEL_3AXIS=m
+CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
+
+#
+# Analog to digital converters
+#
+CONFIG_MAX1363=m
+CONFIG_TI_ADC081C=m
+CONFIG_TI_AM335X_ADC=m
+CONFIG_VIPERBOARD_ADC=m
+
+#
+# Amplifiers
+#
+
+#
+# Hid Sensor IIO Common
+#
+CONFIG_HID_SENSOR_IIO_COMMON=m
+CONFIG_HID_SENSOR_IIO_TRIGGER=m
+CONFIG_HID_SENSOR_ENUM_BASE_QUIRKS=y
+CONFIG_IIO_ST_SENSORS_I2C=m
+CONFIG_IIO_ST_SENSORS_CORE=m
+
+#
+# Digital to analog converters
+#
+CONFIG_AD5064=m
+CONFIG_AD5380=m
+CONFIG_AD5446=m
+CONFIG_MAX517=m
+CONFIG_MCP4725=m
+
+#
+# Frequency Synthesizers DDS/PLL
+#
+
+#
+# Clock Generator/Distribution
+#
+
+#
+# Phase-Locked Loop (PLL) frequency synthesizers
+#
+
+#
+# Digital gyroscope sensors
+#
+CONFIG_HID_SENSOR_GYRO_3D=m
+CONFIG_IIO_ST_GYRO_3AXIS=m
+CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
+CONFIG_ITG3200=m
+
+#
+# Inertial measurement units
+#
+CONFIG_INV_MPU6050_IIO=m
+
+#
+# Light sensors
+#
+CONFIG_ADJD_S311=m
+CONFIG_SENSORS_LM3533=m
+CONFIG_SENSORS_TSL2563=m
+CONFIG_VCNL4000=m
+CONFIG_HID_SENSOR_ALS=m
+
+#
+# Magnetometer sensors
+#
+CONFIG_AK8975=m
+CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
+CONFIG_IIO_ST_MAGN_3AXIS=m
+CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
+# CONFIG_VME_BUS is not set
+# CONFIG_PWM is not set
+# CONFIG_IPACK_BUS is not set
+# CONFIG_RESET_CONTROLLER is not set
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+CONFIG_EDD_OFF=y
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=m
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=m
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_VARS=m
+CONFIG_EFI_VARS_PSTORE=m
+CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+CONFIG_REISERFS_FS=y
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=y
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
+CONFIG_XFS_FS=y
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=y
+CONFIG_OCFS2_FS_O2CB=y
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+# CONFIG_OCFS2_FS_STATS is not set
+CONFIG_OCFS2_DEBUG_MASKLOG=y
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=y
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+CONFIG_NILFS2_FS=m
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=y
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=y
+CONFIG_QUOTACTL=y
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+# CONFIG_FSCACHE_STATS is not set
+# CONFIG_FSCACHE_HISTOGRAM is not set
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=y
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=y
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=y
+CONFIG_MISC_FILESYSTEMS=y
+CONFIG_ADFS_FS=m
+# CONFIG_ADFS_FS_RW is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+CONFIG_ECRYPT_FS_MESSAGING=y
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+CONFIG_BFS_FS=m
+CONFIG_EFS_FS=m
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_UBIFS_FS=m
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+CONFIG_SQUASHFS_EMBEDDED=y
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+CONFIG_VXFS_FS=m
+CONFIG_MINIX_FS=m
+CONFIG_OMFS_FS=m
+CONFIG_HPFS_FS=m
+CONFIG_QNX4FS_FS=m
+CONFIG_QNX6FS_FS=m
+# CONFIG_QNX6FS_DEBUG is not set
+CONFIG_ROMFS_FS=y
+CONFIG_ROMFS_BACKED_BY_BLOCK=y
+CONFIG_ROMFS_ON_BLOCK=y
+CONFIG_PSTORE=y
+# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_FTRACE is not set
+CONFIG_PSTORE_RAM=m
+CONFIG_SYSV_FS=m
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_F2FS_FS=m
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_EFIVAR_FS=m
+CONFIG_ORE=m
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V2=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+CONFIG_NFS_SWAP=y
+# CONFIG_NFS_V4_1 is not set
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFSD=y
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V3_ACL is not set
+CONFIG_NFSD_V4=y
+# CONFIG_NFSD_FAULT_INJECTION is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_SUNRPC_XPRT_RDMA=m
+CONFIG_SUNRPC_SWAP=y
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_SUNRPC_DEBUG is not set
+CONFIG_CEPH_FS=m
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+# CONFIG_CIFS_UPCALL is not set
+# CONFIG_CIFS_XATTR is not set
+CONFIG_CIFS_DEBUG=y
+# CONFIG_CIFS_DEBUG2 is not set
+CONFIG_CIFS_DFS_UPCALL=y
+# CONFIG_CIFS_SMB2 is not set
+CONFIG_CIFS_FSCACHE=y
+CONFIG_NCP_FS=m
+CONFIG_NCPFS_PACKET_SIGNING=y
+CONFIG_NCPFS_IOCTL_LOCKING=y
+CONFIG_NCPFS_STRONG=y
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+CONFIG_NCPFS_EXTRAS=y
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+# CONFIG_AFS_FSCACHE is not set
+CONFIG_9P_FS=m
+# CONFIG_9P_FSCACHE is not set
+# CONFIG_9P_FS_POSIX_ACL is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_MAC_ROMAN=m
+CONFIG_NLS_MAC_CELTIC=m
+CONFIG_NLS_MAC_CENTEURO=m
+CONFIG_NLS_MAC_CROATIAN=m
+CONFIG_NLS_MAC_CYRILLIC=m
+CONFIG_NLS_MAC_GAELIC=m
+CONFIG_NLS_MAC_GREEK=m
+CONFIG_NLS_MAC_ICELAND=m
+CONFIG_NLS_MAC_INUIT=m
+CONFIG_NLS_MAC_ROMANIAN=m
+CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UTF8=y
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_PRINTK_TIME=y
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=0
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
+# CONFIG_READABLE_ASM is not set
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_LOCKUP_DETECTOR is not set
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_HIGHMEM is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_SPARSE_RCU_POINTER is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
+# CONFIG_RCU_CPU_STALL_INFO is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_LKDTM is not set
+CONFIG_NOTIFIER_ERROR_INJECTION=m
+CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
+CONFIG_PM_NOTIFIER_ERROR_INJECT=m
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACE_CLOCK=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
+# CONFIG_TRACER_SNAPSHOT is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_UPROBE_EVENT is not set
+# CONFIG_PROBE_EVENTS is not set
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
+# CONFIG_FUNCTION_PROFILER is not set
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_MMIOTRACE is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+CONFIG_RBTREE_TEST=m
+CONFIG_INTERVAL_TREE_TEST=m
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+CONFIG_ATOMIC64_SELFTEST=y
+CONFIG_ASYNC_RAID6_TEST=m
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_TEST_STRING_HELPERS is not set
+# CONFIG_TEST_KSTRTOX is not set
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_X86_PTDUMP is not set
+CONFIG_DEBUG_RODATA=y
+CONFIG_DEBUG_RODATA_TEST=y
+# CONFIG_DEBUG_SET_MODULE_RONX is not set
+# CONFIG_DEBUG_NX_TEST is not set
+CONFIG_DOUBLEFAULT=y
+# CONFIG_DEBUG_TLBFLUSH is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+CONFIG_OPTIMIZE_INLINING=y
+# CONFIG_DEBUG_NMI_SELFTEST is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_TRUSTED_KEYS=m
+CONFIG_ENCRYPTED_KEYS=m
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+CONFIG_SECURITY_DMESG_RESTRICT=y
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_SECURITY_NETWORK_XFRM=y
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_SECURITY_YAMA is not set
+# CONFIG_IMA is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=y
+CONFIG_ASYNC_CORE=y
+CONFIG_ASYNC_MEMCPY=y
+CONFIG_ASYNC_XOR=y
+CONFIG_ASYNC_PQ=y
+CONFIG_ASYNC_RAID6_RECOV=y
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=m
+CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_GF128MUL=y
+CONFIG_CRYPTO_NULL=y
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=y
+CONFIG_CRYPTO_AUTHENC=y
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_ABLK_HELPER_X86=y
+CONFIG_CRYPTO_GLUE_HELPER_X86=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=y
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_SEQIV=y
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTR=y
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_LRW=y
+CONFIG_CRYPTO_PCBC=y
+CONFIG_CRYPTO_XTS=y
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_CRC32=m
+CONFIG_CRYPTO_CRC32_PCLMUL=m
+CONFIG_CRYPTO_GHASH=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=y
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=y
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_TGR192=y
+CONFIG_CRYPTO_WP512=y
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_AES_586=y
+CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_ANUBIS=y
+CONFIG_CRYPTO_ARC4=y
+CONFIG_CRYPTO_BLOWFISH=y
+CONFIG_CRYPTO_BLOWFISH_COMMON=y
+CONFIG_CRYPTO_CAMELLIA=y
+CONFIG_CRYPTO_CAST_COMMON=y
+CONFIG_CRYPTO_CAST5=y
+CONFIG_CRYPTO_CAST6=y
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_FCRYPT=y
+CONFIG_CRYPTO_KHAZAD=y
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_586=m
+CONFIG_CRYPTO_SEED=y
+CONFIG_CRYPTO_SERPENT=y
+CONFIG_CRYPTO_SERPENT_SSE2_586=m
+CONFIG_CRYPTO_TEA=y
+CONFIG_CRYPTO_TWOFISH=y
+CONFIG_CRYPTO_TWOFISH_COMMON=y
+CONFIG_CRYPTO_TWOFISH_586=y
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_USER_API=m
+CONFIG_CRYPTO_USER_API_HASH=m
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_CRYPTO_DEV_GEODE=m
+CONFIG_ASYMMETRIC_KEY_TYPE=m
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
+CONFIG_PUBLIC_KEY_ALGO_RSA=m
+CONFIG_X509_CERTIFICATE_PARSER=m
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_KVM_ASYNC_PF=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_KVM_MMU_AUDIT=y
+CONFIG_KVM_DEVICE_ASSIGNMENT=y
+CONFIG_LGUEST=m
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=y
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_IO=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC_ITU_T=y
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=y
+CONFIG_CRC8=m
+CONFIG_AUDIT_GENERIC=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_REED_SOLOMON=m
+CONFIG_REED_SOLOMON_ENC8=y
+CONFIG_REED_SOLOMON_DEC8=y
+CONFIG_REED_SOLOMON_DEC16=y
+CONFIG_BCH=m
+CONFIG_BCH_CONST_PARAMS=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_NLATTR=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_LRU_CACHE=m
+CONFIG_AVERAGE=y
+CONFIG_CLZ_TAB=y
+CONFIG_CORDIC=m
+# CONFIG_DDR is not set
+CONFIG_MPILIB=m
+CONFIG_OID_REGISTRY=y
+CONFIG_UCS2_STRING=y
diff --git a/source/k/config-x86/config-huge-smp-3.2.29-smp b/source/k/config-x86/config-huge-smp-3.2.29-smp
deleted file mode 100644
index 0edaedf5f..000000000
--- a/source/k/config-x86/config-huge-smp-3.2.29-smp
+++ /dev/null
@@ -1,5718 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/i386 3.2.29 Kernel Configuration
-#
-# CONFIG_64BIT is not set
-CONFIG_X86_32=y
-# CONFIG_X86_64 is not set
-CONFIG_X86=y
-CONFIG_INSTRUCTION_DECODER=y
-CONFIG_OUTPUT_FORMAT="elf32-i386"
-CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_MMU=y
-CONFIG_ZONE_DMA=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_NEED_SG_DMA_LENGTH=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_GPIO=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-# CONFIG_GENERIC_TIME_VSYSCALL is not set
-CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_DEFAULT_IDLE=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# CONFIG_ZONE_DMA32 is not set
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-# CONFIG_AUDIT_ARCH is not set
-CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
-CONFIG_HAVE_INTEL_TXT=y
-CONFIG_X86_32_SMP=y
-CONFIG_X86_HT=y
-CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
-CONFIG_KTIME_SCALAR=y
-CONFIG_ARCH_CPU_PROBE_RELEASE=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_HAVE_IRQ_WORK=y
-CONFIG_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION="-smp"
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_BZIP2=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_XZ=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-# CONFIG_KERNEL_BZIP2 is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_XZ is not set
-# CONFIG_KERNEL_LZO is not set
-CONFIG_DEFAULT_HOSTNAME="darkstar"
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-# CONFIG_FHANDLE is not set
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_AUDIT_WATCH=y
-CONFIG_AUDIT_TREE=y
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_HAVE_SPARSE_IRQ=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_GENERIC_IRQ_CHIP=y
-CONFIG_IRQ_FORCED_THREADING=y
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-CONFIG_RCU_FANOUT=32
-# CONFIG_RCU_FANOUT_EXACT is not set
-# CONFIG_RCU_FAST_NO_HZ is not set
-# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-CONFIG_CGROUPS=y
-# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CPUSETS=y
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_RESOURCE_COUNTERS=y
-CONFIG_CGROUP_MEM_RES_CTLR=y
-CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
-# CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED is not set
-CONFIG_CGROUP_PERF=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_CFS_BANDWIDTH=y
-CONFIG_RT_GROUP_SCHED=y
-CONFIG_BLK_CGROUP=y
-# CONFIG_DEBUG_BLK_CGROUP is not set
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_NET_NS=y
-# CONFIG_SCHED_AUTOGROUP is not set
-CONFIG_MM_OWNER=y
-# CONFIG_SYSFS_DEPRECATED is not set
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_XZ=y
-CONFIG_RD_LZO=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-# CONFIG_EXPERT is not set
-CONFIG_UID16=y
-# CONFIG_SYSCTL_SYSCALL is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_PCSPKR_PLATFORM=y
-CONFIG_HAVE_PCSPKR_PLATFORM=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-# CONFIG_EMBEDDED is not set
-CONFIG_HAVE_PERF_EVENTS=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_PCI_QUIRKS=y
-CONFIG_SLUB_DEBUG=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-CONFIG_SLUB=y
-CONFIG_PROFILING=y
-CONFIG_TRACEPOINTS=y
-CONFIG_OPROFILE=m
-# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-# CONFIG_JUMP_LABEL is not set
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_IOREMAP_PROT=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_OPTPROBES=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_DMA_ATTRS=y
-CONFIG_USE_GENERIC_SMP_HELPERS=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
-CONFIG_HAVE_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_PERF_EVENTS_NMI=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_GCOV_KERNEL is not set
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-CONFIG_MODULE_FORCE_LOAD=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_STOP_MACHINE=y
-CONFIG_BLOCK=y
-CONFIG_LBDAF=y
-CONFIG_BLK_DEV_BSG=y
-CONFIG_BLK_DEV_BSGLIB=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-CONFIG_BLK_DEV_THROTTLING=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-CONFIG_CFQ_GROUP_IOSCHED=y
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_PADATA=y
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-CONFIG_MUTEX_SPIN_ON_OWNER=y
-CONFIG_FREEZER=y
-
-#
-# Processor type and features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
-CONFIG_SMP=y
-CONFIG_X86_MPPARSE=y
-CONFIG_X86_BIGSMP=y
-# CONFIG_X86_EXTENDED_PLATFORM is not set
-CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_X86_32_IRIS=m
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-# CONFIG_PARAVIRT_GUEST is not set
-CONFIG_NO_BOOTMEM=y
-CONFIG_MEMTEST=y
-# CONFIG_M386 is not set
-# CONFIG_M486 is not set
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-# CONFIG_M686 is not set
-# CONFIG_MPENTIUMII is not set
-CONFIG_MPENTIUMIII=y
-# CONFIG_MPENTIUMM is not set
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MEFFICEON is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MELAN is not set
-# CONFIG_MGEODEGX1 is not set
-# CONFIG_MGEODE_LX is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-# CONFIG_MVIAC7 is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_MATOM is not set
-CONFIG_X86_GENERIC=y
-CONFIG_X86_INTERNODE_CACHE_SHIFT=7
-CONFIG_X86_CMPXCHG=y
-CONFIG_CMPXCHG_LOCAL=y
-CONFIG_CMPXCHG_DOUBLE=y
-CONFIG_X86_L1_CACHE_SHIFT=6
-CONFIG_X86_XADD=y
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_INVLPG=y
-CONFIG_X86_BSWAP=y
-CONFIG_X86_POPAD_OK=y
-CONFIG_X86_INTEL_USERCOPY=y
-CONFIG_X86_USE_PPRO_CHECKSUM=y
-CONFIG_X86_TSC=y
-CONFIG_X86_CMPXCHG64=y
-CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=5
-CONFIG_X86_DEBUGCTLMSR=y
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_CYRIX_32=y
-CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR=y
-CONFIG_CPU_SUP_TRANSMETA_32=y
-CONFIG_CPU_SUP_UMC_32=y
-CONFIG_HPET_TIMER=y
-CONFIG_HPET_EMULATE_RTC=y
-CONFIG_DMI=y
-# CONFIG_IOMMU_HELPER is not set
-CONFIG_NR_CPUS=32
-CONFIG_SCHED_SMT=y
-CONFIG_SCHED_MC=y
-# CONFIG_IRQ_TIME_ACCOUNTING is not set
-# CONFIG_PREEMPT_NONE is not set
-CONFIG_PREEMPT_VOLUNTARY=y
-# CONFIG_PREEMPT is not set
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
-CONFIG_X86_MCE=y
-CONFIG_X86_MCE_INTEL=y
-CONFIG_X86_MCE_AMD=y
-CONFIG_X86_ANCIENT_MCE=y
-CONFIG_X86_MCE_THRESHOLD=y
-CONFIG_X86_MCE_INJECT=m
-CONFIG_X86_THERMAL_VECTOR=y
-CONFIG_VM86=y
-CONFIG_TOSHIBA=m
-CONFIG_I8K=m
-CONFIG_X86_REBOOTFIXUPS=y
-CONFIG_MICROCODE=m
-CONFIG_MICROCODE_INTEL=y
-CONFIG_MICROCODE_AMD=y
-CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_X86_MSR=m
-CONFIG_X86_CPUID=m
-# CONFIG_NOHIGHMEM is not set
-# CONFIG_HIGHMEM4G is not set
-CONFIG_HIGHMEM64G=y
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_HIGHMEM=y
-CONFIG_X86_PAE=y
-CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
-CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_NUMA=y
-# CONFIG_NUMA_EMU is not set
-CONFIG_NODES_SHIFT=3
-CONFIG_HAVE_ARCH_BOOTMEM=y
-CONFIG_HAVE_ARCH_ALLOC_REMAP=y
-CONFIG_ARCH_HAVE_MEMORY_PRESENT=y
-CONFIG_NEED_NODE_MEMMAP_SIZE=y
-CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
-CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ILLEGAL_POINTER_VALUE=0
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_DISCONTIGMEM_MANUAL=y
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_DISCONTIGMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_NEED_MULTIPLE_NODES=y
-CONFIG_HAVE_MEMORY_PRESENT=y
-CONFIG_SPARSEMEM_STATIC=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_COMPACTION=y
-CONFIG_MIGRATION=y
-CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-CONFIG_MMU_NOTIFIER=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=98304
-CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
-# CONFIG_MEMORY_FAILURE is not set
-CONFIG_TRANSPARENT_HUGEPAGE=y
-CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
-# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
-# CONFIG_CLEANCACHE is not set
-CONFIG_HIGHPTE=y
-# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
-CONFIG_X86_RESERVE_LOW=64
-CONFIG_MATH_EMULATION=y
-CONFIG_MTRR=y
-CONFIG_MTRR_SANITIZER=y
-CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
-CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
-CONFIG_X86_PAT=y
-CONFIG_ARCH_USES_PG_UNCACHED=y
-CONFIG_ARCH_RANDOM=y
-CONFIG_EFI=y
-CONFIG_SECCOMP=y
-CONFIG_CC_STACKPROTECTOR=y
-# CONFIG_HZ_100 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_300 is not set
-CONFIG_HZ_1000=y
-CONFIG_HZ=1000
-CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
-# CONFIG_CRASH_DUMP is not set
-CONFIG_PHYSICAL_START=0x1000000
-# CONFIG_RELOCATABLE is not set
-CONFIG_PHYSICAL_ALIGN=0x100000
-CONFIG_HOTPLUG_CPU=y
-CONFIG_COMPAT_VDSO=y
-# CONFIG_CMDLINE_BOOL is not set
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-CONFIG_USE_PERCPU_NUMA_NODE_ID=y
-
-#
-# Power management and ACPI options
-#
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_HIBERNATE_CALLBACKS=y
-CONFIG_HIBERNATION=y
-CONFIG_PM_STD_PARTITION="\"\""
-CONFIG_PM_SLEEP=y
-CONFIG_PM_SLEEP_SMP=y
-CONFIG_PM_RUNTIME=y
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_ACPI=y
-CONFIG_ACPI_SLEEP=y
-CONFIG_ACPI_PROCFS=y
-CONFIG_ACPI_PROCFS_POWER=y
-CONFIG_ACPI_EC_DEBUGFS=m
-CONFIG_ACPI_PROC_EVENT=y
-CONFIG_ACPI_AC=m
-CONFIG_ACPI_BATTERY=m
-CONFIG_ACPI_BUTTON=m
-CONFIG_ACPI_VIDEO=m
-CONFIG_ACPI_FAN=m
-CONFIG_ACPI_DOCK=y
-CONFIG_ACPI_PROCESSOR=m
-CONFIG_ACPI_IPMI=m
-CONFIG_ACPI_HOTPLUG_CPU=y
-CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
-CONFIG_ACPI_THERMAL=m
-# CONFIG_ACPI_NUMA is not set
-# CONFIG_ACPI_CUSTOM_DSDT is not set
-CONFIG_ACPI_BLACKLIST_YEAR=2001
-# CONFIG_ACPI_DEBUG is not set
-CONFIG_ACPI_PCI_SLOT=m
-CONFIG_X86_PM_TIMER=y
-CONFIG_ACPI_CONTAINER=m
-CONFIG_ACPI_SBS=m
-CONFIG_ACPI_HED=y
-# CONFIG_ACPI_CUSTOM_METHOD is not set
-CONFIG_ACPI_APEI=y
-CONFIG_ACPI_APEI_GHES=y
-CONFIG_ACPI_APEI_PCIEAER=y
-CONFIG_ACPI_APEI_EINJ=m
-CONFIG_ACPI_APEI_ERST_DEBUG=m
-CONFIG_SFI=y
-# CONFIG_APM is not set
-
-#
-# CPU Frequency scaling
-#
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_TABLE=m
-CONFIG_CPU_FREQ_STAT=m
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-
-#
-# x86 CPU frequency scaling drivers
-#
-CONFIG_X86_PCC_CPUFREQ=m
-CONFIG_X86_ACPI_CPUFREQ=m
-CONFIG_X86_POWERNOW_K6=m
-CONFIG_X86_POWERNOW_K7=m
-CONFIG_X86_POWERNOW_K7_ACPI=y
-CONFIG_X86_POWERNOW_K8=m
-CONFIG_X86_GX_SUSPMOD=m
-CONFIG_X86_SPEEDSTEP_CENTRINO=m
-CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
-CONFIG_X86_SPEEDSTEP_ICH=m
-CONFIG_X86_SPEEDSTEP_SMI=m
-CONFIG_X86_P4_CLOCKMOD=m
-CONFIG_X86_CPUFREQ_NFORCE2=m
-CONFIG_X86_LONGRUN=m
-CONFIG_X86_LONGHAUL=m
-CONFIG_X86_E_POWERSAVER=m
-
-#
-# shared options
-#
-CONFIG_X86_SPEEDSTEP_LIB=m
-CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_CPU_IDLE_GOV_MENU=y
-CONFIG_INTEL_IDLE=y
-
-#
-# Bus options (PCI etc.)
-#
-CONFIG_PCI=y
-# CONFIG_PCI_GOBIOS is not set
-# CONFIG_PCI_GOMMCONFIG is not set
-# CONFIG_PCI_GODIRECT is not set
-CONFIG_PCI_GOANY=y
-CONFIG_PCI_BIOS=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_MMCONFIG=y
-CONFIG_PCI_DOMAINS=y
-# CONFIG_PCI_CNB20LE_QUIRK is not set
-CONFIG_PCIEPORTBUS=y
-CONFIG_HOTPLUG_PCI_PCIE=m
-CONFIG_PCIEAER=y
-# CONFIG_PCIE_ECRC is not set
-CONFIG_PCIEAER_INJECT=m
-CONFIG_PCIEASPM=y
-# CONFIG_PCIEASPM_DEBUG is not set
-CONFIG_PCIE_PME=y
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_PCI_MSI=y
-# CONFIG_PCI_DEBUG is not set
-CONFIG_PCI_STUB=m
-CONFIG_HT_IRQ=y
-# CONFIG_PCI_IOV is not set
-# CONFIG_PCI_PRI is not set
-# CONFIG_PCI_PASID is not set
-CONFIG_PCI_IOAPIC=y
-CONFIG_PCI_LABEL=y
-CONFIG_ISA_DMA_API=y
-CONFIG_ISA=y
-# CONFIG_EISA is not set
-# CONFIG_MCA is not set
-CONFIG_SCx200=m
-CONFIG_SCx200HR_TIMER=m
-CONFIG_ALIX=y
-CONFIG_AMD_NB=y
-CONFIG_PCCARD=m
-CONFIG_PCMCIA=m
-CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_CARDBUS=y
-
-#
-# PC-card bridges
-#
-CONFIG_YENTA=m
-CONFIG_YENTA_O2=y
-CONFIG_YENTA_RICOH=y
-CONFIG_YENTA_TI=y
-CONFIG_YENTA_ENE_TUNE=y
-CONFIG_YENTA_TOSHIBA=y
-CONFIG_PD6729=m
-CONFIG_I82092=m
-CONFIG_I82365=m
-CONFIG_TCIC=m
-CONFIG_PCMCIA_PROBE=y
-CONFIG_PCCARD_NONSTATIC=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_FAKE=m
-CONFIG_HOTPLUG_PCI_COMPAQ=m
-# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
-CONFIG_HOTPLUG_PCI_IBM=m
-CONFIG_HOTPLUG_PCI_ACPI=m
-CONFIG_HOTPLUG_PCI_ACPI_IBM=m
-# CONFIG_HOTPLUG_PCI_CPCI is not set
-CONFIG_HOTPLUG_PCI_SHPC=m
-# CONFIG_RAPIDIO is not set
-
-#
-# Executable file formats / Emulations
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_HAVE_AOUT=y
-CONFIG_BINFMT_AOUT=m
-CONFIG_BINFMT_MISC=m
-CONFIG_HAVE_ATOMIC_IOMAP=y
-CONFIG_HAVE_TEXT_POKE_SMP=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=y
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_XFRM_STATISTICS is not set
-CONFIG_XFRM_IPCOMP=m
-CONFIG_NET_KEY=m
-# CONFIG_NET_KEY_MIGRATE is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-# CONFIG_IP_FIB_TRIE_STATS is not set
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_ROUTE_CLASSID=y
-# CONFIG_IP_PNP is not set
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPGRE_BROADCAST=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_XFRM_TUNNEL=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_LRO=y
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-CONFIG_IPV6=m
-CONFIG_IPV6_PRIVACY=y
-# CONFIG_IPV6_ROUTER_PREF is not set
-# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_MIP6=m
-CONFIG_INET6_XFRM_TUNNEL=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
-CONFIG_IPV6_SIT=m
-# CONFIG_IPV6_SIT_6RD is not set
-CONFIG_IPV6_NDISC_NODETYPE=y
-CONFIG_IPV6_TUNNEL=m
-# CONFIG_IPV6_MULTIPLE_TABLES is not set
-# CONFIG_IPV6_MROUTE is not set
-# CONFIG_NETLABEL is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_NETFILTER_ADVANCED=y
-CONFIG_BRIDGE_NETFILTER=y
-
-#
-# Core Netfilter Configuration
-#
-CONFIG_NETFILTER_NETLINK=m
-CONFIG_NETFILTER_NETLINK_QUEUE=m
-CONFIG_NETFILTER_NETLINK_LOG=m
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_MARK=y
-CONFIG_NF_CONNTRACK_ZONES=y
-# CONFIG_NF_CONNTRACK_EVENTS is not set
-# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
-CONFIG_NF_CT_PROTO_DCCP=m
-CONFIG_NF_CT_PROTO_GRE=m
-CONFIG_NF_CT_PROTO_SCTP=m
-CONFIG_NF_CT_PROTO_UDPLITE=m
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK_BROADCAST=m
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_PPTP=m
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-CONFIG_NF_CT_NETLINK=m
-CONFIG_NETFILTER_TPROXY=m
-CONFIG_NETFILTER_XTABLES=m
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_CONNMARK=m
-CONFIG_NETFILTER_XT_SET=m
-
-#
-# Xtables targets
-#
-CONFIG_NETFILTER_XT_TARGET_AUDIT=m
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_HL=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-CONFIG_NETFILTER_XT_TARGET_LED=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
-CONFIG_NETFILTER_XT_TARGET_RATEEST=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-CONFIG_NETFILTER_XT_TARGET_TPROXY=m
-CONFIG_NETFILTER_XT_TARGET_TRACE=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
-
-#
-# Xtables matches
-#
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_HL=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_IPVS=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_OSF=m
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_SOCKET=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-CONFIG_IP_SET=m
-CONFIG_IP_SET_MAX=256
-CONFIG_IP_SET_BITMAP_IP=m
-CONFIG_IP_SET_BITMAP_IPMAC=m
-CONFIG_IP_SET_BITMAP_PORT=m
-CONFIG_IP_SET_HASH_IP=m
-CONFIG_IP_SET_HASH_IPPORT=m
-CONFIG_IP_SET_HASH_IPPORTIP=m
-CONFIG_IP_SET_HASH_IPPORTNET=m
-CONFIG_IP_SET_HASH_NET=m
-CONFIG_IP_SET_HASH_NETPORT=m
-CONFIG_IP_SET_HASH_NETIFACE=m
-CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_VS=m
-# CONFIG_IP_VS_IPV6 is not set
-# CONFIG_IP_VS_DEBUG is not set
-CONFIG_IP_VS_TAB_BITS=12
-
-#
-# IPVS transport protocol load balancing support
-#
-CONFIG_IP_VS_PROTO_TCP=y
-CONFIG_IP_VS_PROTO_UDP=y
-CONFIG_IP_VS_PROTO_AH_ESP=y
-CONFIG_IP_VS_PROTO_ESP=y
-CONFIG_IP_VS_PROTO_AH=y
-CONFIG_IP_VS_PROTO_SCTP=y
-
-#
-# IPVS scheduler
-#
-CONFIG_IP_VS_RR=m
-CONFIG_IP_VS_WRR=m
-CONFIG_IP_VS_LC=m
-CONFIG_IP_VS_WLC=m
-CONFIG_IP_VS_LBLC=m
-CONFIG_IP_VS_LBLCR=m
-CONFIG_IP_VS_DH=m
-CONFIG_IP_VS_SH=m
-CONFIG_IP_VS_SED=m
-CONFIG_IP_VS_NQ=m
-
-#
-# IPVS application helper
-#
-CONFIG_IP_VS_FTP=m
-CONFIG_IP_VS_NFCT=y
-CONFIG_IP_VS_PE_SIP=m
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV4=m
-CONFIG_NF_CONNTRACK_IPV4=m
-CONFIG_NF_CONNTRACK_PROC_COMPAT=y
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_NF_NAT=m
-CONFIG_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_NF_NAT_SNMP_BASIC=m
-CONFIG_NF_NAT_PROTO_DCCP=m
-CONFIG_NF_NAT_PROTO_GRE=m
-CONFIG_NF_NAT_PROTO_UDPLITE=m
-CONFIG_NF_NAT_PROTO_SCTP=m
-CONFIG_NF_NAT_FTP=m
-CONFIG_NF_NAT_IRC=m
-CONFIG_NF_NAT_TFTP=m
-CONFIG_NF_NAT_AMANDA=m
-CONFIG_NF_NAT_PPTP=m
-CONFIG_NF_NAT_H323=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_CLUSTERIP=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_SECURITY=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV6=m
-CONFIG_NF_CONNTRACK_IPV6=m
-CONFIG_IP6_NF_QUEUE=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_TARGET_LOG=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_RAW=m
-CONFIG_IP6_NF_SECURITY=m
-
-#
-# DECnet: Netfilter Configuration
-#
-# CONFIG_DECNET_NF_GRABULATOR is not set
-CONFIG_BRIDGE_NF_EBTABLES=m
-CONFIG_BRIDGE_EBT_BROUTE=m
-CONFIG_BRIDGE_EBT_T_FILTER=m
-CONFIG_BRIDGE_EBT_T_NAT=m
-CONFIG_BRIDGE_EBT_802_3=m
-CONFIG_BRIDGE_EBT_AMONG=m
-CONFIG_BRIDGE_EBT_ARP=m
-CONFIG_BRIDGE_EBT_IP=m
-CONFIG_BRIDGE_EBT_IP6=m
-CONFIG_BRIDGE_EBT_LIMIT=m
-CONFIG_BRIDGE_EBT_MARK=m
-CONFIG_BRIDGE_EBT_PKTTYPE=m
-CONFIG_BRIDGE_EBT_STP=m
-CONFIG_BRIDGE_EBT_VLAN=m
-CONFIG_BRIDGE_EBT_ARPREPLY=m
-CONFIG_BRIDGE_EBT_DNAT=m
-CONFIG_BRIDGE_EBT_MARK_T=m
-CONFIG_BRIDGE_EBT_REDIRECT=m
-CONFIG_BRIDGE_EBT_SNAT=m
-CONFIG_BRIDGE_EBT_LOG=m
-CONFIG_BRIDGE_EBT_ULOG=m
-CONFIG_BRIDGE_EBT_NFLOG=m
-CONFIG_IP_DCCP=m
-CONFIG_INET_DCCP_DIAG=m
-
-#
-# DCCP CCIDs Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_DCCP_CCID2_DEBUG is not set
-# CONFIG_IP_DCCP_CCID3 is not set
-
-#
-# DCCP Kernel Hacking
-#
-# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_SCTP=m
-# CONFIG_SCTP_DBG_MSG is not set
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# CONFIG_SCTP_HMAC_NONE is not set
-# CONFIG_SCTP_HMAC_SHA1 is not set
-CONFIG_SCTP_HMAC_MD5=y
-CONFIG_RDS=m
-CONFIG_RDS_RDMA=m
-CONFIG_RDS_TCP=m
-# CONFIG_RDS_DEBUG is not set
-CONFIG_TIPC=m
-# CONFIG_TIPC_ADVANCED is not set
-# CONFIG_TIPC_DEBUG is not set
-CONFIG_ATM=m
-CONFIG_ATM_CLIP=m
-# CONFIG_ATM_CLIP_NO_ICMP is not set
-CONFIG_ATM_LANE=m
-CONFIG_ATM_MPOA=m
-CONFIG_ATM_BR2684=m
-# CONFIG_ATM_BR2684_IPFILTER is not set
-CONFIG_L2TP=m
-CONFIG_L2TP_DEBUGFS=m
-CONFIG_L2TP_V3=y
-CONFIG_L2TP_IP=m
-CONFIG_L2TP_ETH=m
-CONFIG_STP=m
-CONFIG_GARP=m
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-# CONFIG_NET_DSA is not set
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_DECNET=m
-# CONFIG_DECNET_ROUTER is not set
-CONFIG_LLC=y
-CONFIG_LLC2=m
-CONFIG_IPX=m
-# CONFIG_IPX_INTERN is not set
-CONFIG_ATALK=m
-CONFIG_DEV_APPLETALK=m
-CONFIG_LTPC=m
-CONFIG_COPS=m
-CONFIG_COPS_DAYNA=y
-CONFIG_COPS_TANGENT=y
-CONFIG_IPDDP=m
-CONFIG_IPDDP_ENCAP=y
-CONFIG_IPDDP_DECAP=y
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-CONFIG_WAN_ROUTER=m
-# CONFIG_PHONET is not set
-CONFIG_IEEE802154=m
-CONFIG_IEEE802154_6LOWPAN=m
-CONFIG_NET_SCHED=y
-
-#
-# Queueing/Scheduling
-#
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_ATM=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_MULTIQ=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFB=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_NETEM=m
-CONFIG_NET_SCH_DRR=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_CHOKE=m
-CONFIG_NET_SCH_QFQ=m
-CONFIG_NET_SCH_INGRESS=m
-
-#
-# Classification
-#
-CONFIG_NET_CLS=y
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-# CONFIG_CLS_U32_PERF is not set
-CONFIG_CLS_U32_MARK=y
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_CLS_FLOW=m
-CONFIG_NET_CLS_CGROUP=y
-CONFIG_NET_EMATCH=y
-CONFIG_NET_EMATCH_STACK=32
-CONFIG_NET_EMATCH_CMP=m
-CONFIG_NET_EMATCH_NBYTE=m
-CONFIG_NET_EMATCH_U32=m
-CONFIG_NET_EMATCH_META=m
-CONFIG_NET_EMATCH_TEXT=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_POLICE=y
-CONFIG_NET_ACT_GACT=m
-CONFIG_GACT_PROB=y
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_IPT=m
-CONFIG_NET_ACT_NAT=m
-CONFIG_NET_ACT_PEDIT=m
-CONFIG_NET_ACT_SIMP=m
-CONFIG_NET_ACT_SKBEDIT=m
-CONFIG_NET_ACT_CSUM=m
-# CONFIG_NET_CLS_IND is not set
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=y
-CONFIG_BATMAN_ADV=m
-# CONFIG_BATMAN_ADV_DEBUG is not set
-CONFIG_RPS=y
-CONFIG_RFS_ACCEL=y
-CONFIG_XPS=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_NET_DROP_MONITOR is not set
-CONFIG_HAMRADIO=y
-
-#
-# Packet Radio protocols
-#
-CONFIG_AX25=m
-# CONFIG_AX25_DAMA_SLAVE is not set
-CONFIG_NETROM=m
-CONFIG_ROSE=m
-
-#
-# AX.25 network device drivers
-#
-CONFIG_MKISS=m
-CONFIG_6PACK=m
-CONFIG_BPQETHER=m
-CONFIG_SCC=m
-CONFIG_SCC_DELAY=y
-CONFIG_SCC_TRXECHO=y
-CONFIG_BAYCOM_SER_FDX=m
-CONFIG_BAYCOM_SER_HDX=m
-CONFIG_BAYCOM_PAR=m
-CONFIG_BAYCOM_EPP=m
-CONFIG_YAM=m
-CONFIG_CAN=m
-CONFIG_CAN_RAW=m
-CONFIG_CAN_BCM=m
-CONFIG_CAN_GW=m
-
-#
-# CAN Device Drivers
-#
-CONFIG_CAN_VCAN=m
-CONFIG_CAN_SLCAN=m
-CONFIG_CAN_DEV=m
-CONFIG_CAN_CALC_BITTIMING=y
-CONFIG_CAN_JANZ_ICAN3=m
-CONFIG_PCH_CAN=m
-CONFIG_CAN_SJA1000=m
-CONFIG_CAN_SJA1000_ISA=m
-CONFIG_CAN_SJA1000_PLATFORM=m
-CONFIG_CAN_EMS_PCMCIA=m
-CONFIG_CAN_EMS_PCI=m
-CONFIG_CAN_PEAK_PCI=m
-CONFIG_CAN_KVASER_PCI=m
-CONFIG_CAN_PLX_PCI=m
-CONFIG_CAN_TSCAN1=m
-CONFIG_CAN_C_CAN=m
-CONFIG_CAN_C_CAN_PLATFORM=m
-
-#
-# CAN USB interfaces
-#
-CONFIG_CAN_EMS_USB=m
-CONFIG_CAN_ESD_USB2=m
-CONFIG_CAN_SOFTING=m
-CONFIG_CAN_SOFTING_CS=m
-# CONFIG_CAN_DEBUG_DEVICES is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-CONFIG_IRDA_CACHE_LAST_LSAP=y
-CONFIG_IRDA_FAST_RR=y
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-CONFIG_IRTTY_SIR=m
-
-#
-# Dongle support
-#
-CONFIG_DONGLE=y
-CONFIG_ESI_DONGLE=m
-CONFIG_ACTISYS_DONGLE=m
-CONFIG_TEKRAM_DONGLE=m
-CONFIG_TOIM3232_DONGLE=m
-CONFIG_LITELINK_DONGLE=m
-CONFIG_MA600_DONGLE=m
-CONFIG_GIRBIL_DONGLE=m
-CONFIG_MCP2120_DONGLE=m
-CONFIG_OLD_BELKIN_DONGLE=m
-CONFIG_ACT200L_DONGLE=m
-CONFIG_KINGSUN_DONGLE=m
-CONFIG_KSDAZZLE_DONGLE=m
-CONFIG_KS959_DONGLE=m
-
-#
-# FIR device drivers
-#
-CONFIG_USB_IRDA=m
-CONFIG_SIGMATEL_FIR=m
-CONFIG_NSC_FIR=m
-CONFIG_WINBOND_FIR=m
-CONFIG_TOSHIBA_FIR=m
-CONFIG_SMC_IRCC_FIR=m
-CONFIG_ALI_FIR=m
-CONFIG_VLSI_FIR=m
-CONFIG_VIA_FIR=m
-CONFIG_MCS_FIR=m
-CONFIG_BT=m
-CONFIG_BT_L2CAP=y
-CONFIG_BT_SCO=y
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_CMTP=m
-CONFIG_BT_HIDP=m
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIVHCI=m
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-CONFIG_BT_ATH3K=m
-CONFIG_BT_WILINK=m
-CONFIG_AF_RXRPC=m
-# CONFIG_AF_RXRPC_DEBUG is not set
-CONFIG_RXKAD=m
-CONFIG_FIB_RULES=y
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=m
-# CONFIG_NL80211_TESTMODE is not set
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-# CONFIG_CFG80211_REG_DEBUG is not set
-CONFIG_CFG80211_DEFAULT_PS=y
-# CONFIG_CFG80211_DEBUGFS is not set
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_WEXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-CONFIG_LIB80211=m
-CONFIG_LIB80211_CRYPT_WEP=m
-CONFIG_LIB80211_CRYPT_CCMP=m
-CONFIG_LIB80211_CRYPT_TKIP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_MAC80211=m
-CONFIG_MAC80211_HAS_RC=y
-CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_RC_MINSTREL_HT=y
-CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
-CONFIG_MAC80211_MESH=y
-CONFIG_MAC80211_LEDS=y
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_WIMAX=m
-CONFIG_WIMAX_DEBUG_LEVEL=8
-CONFIG_RFKILL=m
-CONFIG_RFKILL_LEDS=y
-CONFIG_RFKILL_INPUT=y
-CONFIG_RFKILL_REGULATOR=m
-CONFIG_NET_9P=m
-CONFIG_NET_9P_VIRTIO=m
-CONFIG_NET_9P_RDMA=m
-# CONFIG_NET_9P_DEBUG is not set
-# CONFIG_CAIF is not set
-CONFIG_CEPH_LIB=m
-# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
-# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
-CONFIG_NFC=m
-CONFIG_NFC_NCI=m
-
-#
-# Near Field Communication (NFC) devices
-#
-CONFIG_PN544_NFC=m
-CONFIG_NFC_PN533=m
-CONFIG_NFC_WILINK=m
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-# CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-CONFIG_REGMAP=y
-CONFIG_REGMAP_I2C=m
-CONFIG_CONNECTOR=m
-CONFIG_MTD=m
-CONFIG_MTD_TESTS=m
-CONFIG_MTD_REDBOOT_PARTS=m
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-CONFIG_MTD_AR7_PARTS=m
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=m
-CONFIG_HAVE_MTD_OTP=y
-CONFIG_MTD_BLKDEVS=m
-CONFIG_MTD_BLOCK=m
-CONFIG_MTD_BLOCK_RO=m
-CONFIG_FTL=m
-CONFIG_NFTL=m
-CONFIG_NFTL_RW=y
-CONFIG_INFTL=m
-CONFIG_RFD_FTL=m
-CONFIG_SSFDC=m
-CONFIG_SM_FTL=m
-CONFIG_MTD_OOPS=m
-CONFIG_MTD_SWAP=m
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=m
-CONFIG_MTD_JEDECPROBE=m
-CONFIG_MTD_GEN_PROBE=m
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_GEOMETRY=y
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-CONFIG_MTD_MAP_BANK_WIDTH_8=y
-CONFIG_MTD_MAP_BANK_WIDTH_16=y
-CONFIG_MTD_MAP_BANK_WIDTH_32=y
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-CONFIG_MTD_CFI_I4=y
-CONFIG_MTD_CFI_I8=y
-CONFIG_MTD_OTP=y
-CONFIG_MTD_CFI_INTELEXT=m
-CONFIG_MTD_CFI_AMDSTD=m
-CONFIG_MTD_CFI_STAA=m
-CONFIG_MTD_CFI_UTIL=m
-CONFIG_MTD_RAM=m
-CONFIG_MTD_ROM=m
-CONFIG_MTD_ABSENT=m
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=m
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-CONFIG_MTD_SC520CDP=m
-CONFIG_MTD_NETSC520=m
-CONFIG_MTD_TS5500=m
-CONFIG_MTD_SBC_GXX=m
-CONFIG_MTD_SCx200_DOCFLASH=m
-CONFIG_MTD_AMD76XROM=m
-CONFIG_MTD_ICHXROM=m
-CONFIG_MTD_ESB2ROM=m
-CONFIG_MTD_CK804XROM=m
-CONFIG_MTD_SCB2_FLASH=m
-CONFIG_MTD_NETtel=m
-CONFIG_MTD_L440GX=m
-CONFIG_MTD_PCI=m
-CONFIG_MTD_PCMCIA=m
-# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
-CONFIG_MTD_GPIO_ADDR=m
-CONFIG_MTD_INTEL_VR_NOR=m
-CONFIG_MTD_PLATRAM=m
-CONFIG_MTD_LATCH_ADDR=m
-
-#
-# Self-contained MTD device drivers
-#
-CONFIG_MTD_PMC551=m
-CONFIG_MTD_PMC551_BUGFIX=y
-# CONFIG_MTD_PMC551_DEBUG is not set
-CONFIG_MTD_SLRAM=m
-CONFIG_MTD_PHRAM=m
-CONFIG_MTD_MTDRAM=m
-CONFIG_MTDRAM_TOTAL_SIZE=4096
-CONFIG_MTDRAM_ERASE_SIZE=128
-CONFIG_MTD_BLOCK2MTD=m
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-CONFIG_MTD_DOC2001PLUS=m
-CONFIG_MTD_DOCG3=m
-CONFIG_MTD_DOCPROBE=m
-CONFIG_MTD_DOCECC=m
-CONFIG_MTD_DOCPROBE_ADVANCED=y
-CONFIG_MTD_DOCPROBE_ADDRESS=0x0000
-CONFIG_MTD_DOCPROBE_HIGH=y
-CONFIG_MTD_DOCPROBE_55AA=y
-CONFIG_MTD_NAND_ECC=m
-CONFIG_MTD_NAND_ECC_SMC=y
-CONFIG_MTD_NAND=m
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-CONFIG_MTD_NAND_BCH=m
-CONFIG_MTD_NAND_ECC_BCH=y
-CONFIG_MTD_SM_COMMON=m
-CONFIG_MTD_NAND_MUSEUM_IDS=y
-CONFIG_MTD_NAND_DENALI=m
-CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
-CONFIG_MTD_NAND_IDS=m
-CONFIG_MTD_NAND_RICOH=m
-CONFIG_MTD_NAND_DISKONCHIP=m
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
-CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y
-CONFIG_MTD_NAND_CAFE=m
-CONFIG_MTD_NAND_CS553X=m
-CONFIG_MTD_NAND_NANDSIM=m
-CONFIG_MTD_NAND_PLATFORM=m
-CONFIG_MTD_ALAUDA=m
-CONFIG_MTD_ONENAND=m
-CONFIG_MTD_ONENAND_VERIFY_WRITE=y
-CONFIG_MTD_ONENAND_GENERIC=m
-CONFIG_MTD_ONENAND_OTP=y
-CONFIG_MTD_ONENAND_2X_PROGRAM=y
-CONFIG_MTD_ONENAND_SIM=m
-
-#
-# LPDDR flash memory drivers
-#
-CONFIG_MTD_LPDDR=m
-CONFIG_MTD_QINFO_PROBE=m
-CONFIG_MTD_UBI=m
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-CONFIG_MTD_UBI_GLUEBI=m
-# CONFIG_MTD_UBI_DEBUG is not set
-CONFIG_PARPORT=m
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_SERIAL=m
-# CONFIG_PARPORT_PC_FIFO is not set
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_GSC is not set
-CONFIG_PARPORT_AX88796=m
-CONFIG_PARPORT_1284=y
-CONFIG_PARPORT_NOT_PC=y
-CONFIG_PNP=y
-CONFIG_PNP_DEBUG_MESSAGES=y
-
-#
-# Protocols
-#
-CONFIG_ISAPNP=y
-# CONFIG_PNPBIOS is not set
-CONFIG_PNPACPI=y
-CONFIG_BLK_DEV=y
-CONFIG_BLK_DEV_FD=y
-CONFIG_BLK_DEV_XD=m
-CONFIG_PARIDE=m
-
-#
-# Parallel IDE high-level drivers
-#
-CONFIG_PARIDE_PD=m
-CONFIG_PARIDE_PCD=m
-CONFIG_PARIDE_PF=m
-CONFIG_PARIDE_PT=m
-CONFIG_PARIDE_PG=m
-
-#
-# Parallel IDE protocol modules
-#
-CONFIG_PARIDE_ATEN=m
-CONFIG_PARIDE_BPCK=m
-CONFIG_PARIDE_BPCK6=m
-CONFIG_PARIDE_COMM=m
-CONFIG_PARIDE_DSTR=m
-CONFIG_PARIDE_FIT2=m
-CONFIG_PARIDE_FIT3=m
-CONFIG_PARIDE_EPAT=m
-CONFIG_PARIDE_EPATC8=y
-CONFIG_PARIDE_EPIA=m
-CONFIG_PARIDE_FRIQ=m
-CONFIG_PARIDE_FRPW=m
-CONFIG_PARIDE_KBIC=m
-CONFIG_PARIDE_KTTI=m
-CONFIG_PARIDE_ON20=m
-CONFIG_PARIDE_ON26=m
-CONFIG_BLK_CPQ_DA=y
-CONFIG_BLK_CPQ_CISS_DA=y
-CONFIG_CISS_SCSI_TAPE=y
-CONFIG_BLK_DEV_DAC960=y
-CONFIG_BLK_DEV_UMEM=m
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-CONFIG_BLK_DEV_DRBD=m
-# CONFIG_DRBD_FAULT_INJECTION is not set
-CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_OSD=m
-CONFIG_BLK_DEV_SX8=y
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=16384
-# CONFIG_BLK_DEV_XIP is not set
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-CONFIG_ATA_OVER_ETH=m
-CONFIG_VIRTIO_BLK=m
-# CONFIG_BLK_DEV_HD is not set
-CONFIG_BLK_DEV_RBD=m
-CONFIG_SENSORS_LIS3LV02D=m
-CONFIG_MISC_DEVICES=y
-CONFIG_AD525X_DPOT=m
-CONFIG_AD525X_DPOT_I2C=m
-CONFIG_IBM_ASM=m
-CONFIG_PHANTOM=m
-CONFIG_INTEL_MID_PTI=m
-CONFIG_SGI_IOC4=m
-CONFIG_TIFM_CORE=m
-CONFIG_TIFM_7XX1=m
-CONFIG_ICS932S401=m
-CONFIG_ENCLOSURE_SERVICES=m
-CONFIG_CS5535_MFGPT=m
-CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
-CONFIG_CS5535_CLOCK_EVENT_SRC=m
-CONFIG_HP_ILO=m
-CONFIG_APDS9802ALS=m
-CONFIG_ISL29003=m
-CONFIG_ISL29020=m
-CONFIG_SENSORS_TSL2550=m
-CONFIG_SENSORS_BH1780=m
-CONFIG_SENSORS_BH1770=m
-CONFIG_SENSORS_APDS990X=m
-CONFIG_HMC6352=m
-CONFIG_DS1682=m
-CONFIG_VMWARE_BALLOON=m
-CONFIG_BMP085=m
-CONFIG_PCH_PHUB=m
-CONFIG_USB_SWITCH_FSA9480=m
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-CONFIG_EEPROM_AT24=m
-CONFIG_EEPROM_LEGACY=m
-CONFIG_EEPROM_MAX6875=m
-CONFIG_EEPROM_93CX6=m
-CONFIG_CB710_CORE=m
-# CONFIG_CB710_DEBUG is not set
-CONFIG_CB710_DEBUG_ASSUMPTIONS=y
-CONFIG_IWMC3200TOP=m
-# CONFIG_IWMC3200TOP_DEBUG is not set
-# CONFIG_IWMC3200TOP_DEBUGFS is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-CONFIG_TI_ST=m
-CONFIG_SENSORS_LIS3_I2C=m
-
-#
-# Altera FPGA firmware download module
-#
-CONFIG_ALTERA_STAPL=m
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-CONFIG_RAID_ATTRS=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_SCSI_TGT=y
-CONFIG_SCSI_NETLINK=y
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_ST=y
-CONFIG_CHR_DEV_OSST=m
-CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_CHR_DEV_SG=m
-CONFIG_CHR_DEV_SCH=m
-CONFIG_SCSI_ENCLOSURE=m
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-CONFIG_SCSI_SPI_ATTRS=y
-CONFIG_SCSI_FC_ATTRS=y
-CONFIG_SCSI_FC_TGT_ATTRS=y
-CONFIG_SCSI_ISCSI_ATTRS=m
-CONFIG_SCSI_SAS_ATTRS=y
-CONFIG_SCSI_SAS_LIBSAS=y
-CONFIG_SCSI_SAS_ATA=y
-CONFIG_SCSI_SAS_HOST_SMP=y
-CONFIG_SCSI_SRP_ATTRS=m
-CONFIG_SCSI_SRP_TGT_ATTRS=y
-CONFIG_SCSI_LOWLEVEL=y
-CONFIG_ISCSI_TCP=m
-CONFIG_ISCSI_BOOT_SYSFS=y
-CONFIG_SCSI_CXGB3_ISCSI=m
-CONFIG_SCSI_CXGB4_ISCSI=m
-CONFIG_SCSI_BNX2_ISCSI=m
-CONFIG_SCSI_BNX2X_FCOE=m
-CONFIG_BE2ISCSI=m
-CONFIG_BLK_DEV_3W_XXXX_RAID=y
-CONFIG_SCSI_HPSA=y
-CONFIG_SCSI_3W_9XXX=y
-CONFIG_SCSI_3W_SAS=y
-CONFIG_SCSI_7000FASST=y
-CONFIG_SCSI_ACARD=y
-CONFIG_SCSI_AHA152X=y
-CONFIG_SCSI_AHA1542=y
-CONFIG_SCSI_AACRAID=y
-CONFIG_SCSI_AIC7XXX=y
-CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
-CONFIG_AIC7XXX_RESET_DELAY_MS=15000
-# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
-CONFIG_AIC7XXX_DEBUG_MASK=0
-# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
-CONFIG_SCSI_AIC7XXX_OLD=y
-CONFIG_SCSI_AIC79XX=y
-CONFIG_AIC79XX_CMDS_PER_DEVICE=4
-CONFIG_AIC79XX_RESET_DELAY_MS=15000
-# CONFIG_AIC79XX_DEBUG_ENABLE is not set
-CONFIG_AIC79XX_DEBUG_MASK=0
-# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
-CONFIG_SCSI_AIC94XX=y
-# CONFIG_AIC94XX_DEBUG is not set
-CONFIG_SCSI_MVSAS=y
-# CONFIG_SCSI_MVSAS_DEBUG is not set
-# CONFIG_SCSI_MVSAS_TASKLET is not set
-CONFIG_SCSI_MVUMI=m
-CONFIG_SCSI_DPT_I2O=m
-CONFIG_SCSI_ADVANSYS=y
-CONFIG_SCSI_IN2000=y
-CONFIG_SCSI_ARCMSR=y
-CONFIG_MEGARAID_NEWGEN=y
-CONFIG_MEGARAID_MM=y
-CONFIG_MEGARAID_MAILBOX=y
-CONFIG_MEGARAID_LEGACY=m
-CONFIG_MEGARAID_SAS=y
-CONFIG_SCSI_MPT2SAS=y
-CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT2SAS_LOGGING is not set
-CONFIG_SCSI_HPTIOP=y
-CONFIG_SCSI_BUSLOGIC=y
-CONFIG_SCSI_FLASHPOINT=y
-CONFIG_VMWARE_PVSCSI=m
-CONFIG_LIBFC=y
-CONFIG_LIBFCOE=y
-CONFIG_FCOE=y
-CONFIG_FCOE_FNIC=y
-CONFIG_SCSI_DMX3191D=y
-CONFIG_SCSI_DTC3280=y
-CONFIG_SCSI_EATA=y
-# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
-# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
-CONFIG_SCSI_EATA_MAX_TAGS=16
-CONFIG_SCSI_FUTURE_DOMAIN=y
-CONFIG_SCSI_GDTH=y
-CONFIG_SCSI_ISCI=m
-CONFIG_SCSI_GENERIC_NCR5380=m
-CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
-CONFIG_SCSI_GENERIC_NCR53C400=y
-CONFIG_SCSI_IPS=y
-CONFIG_SCSI_INITIO=y
-CONFIG_SCSI_INIA100=y
-CONFIG_SCSI_PPA=m
-CONFIG_SCSI_IMM=m
-# CONFIG_SCSI_IZIP_EPP16 is not set
-# CONFIG_SCSI_IZIP_SLOW_CTR is not set
-CONFIG_SCSI_NCR53C406A=m
-CONFIG_SCSI_STEX=y
-CONFIG_SCSI_SYM53C8XX_2=y
-CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
-CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
-CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
-CONFIG_SCSI_SYM53C8XX_MMIO=y
-CONFIG_SCSI_IPR=y
-# CONFIG_SCSI_IPR_TRACE is not set
-# CONFIG_SCSI_IPR_DUMP is not set
-CONFIG_SCSI_PAS16=m
-CONFIG_SCSI_QLOGIC_FAS=y
-CONFIG_SCSI_QLOGIC_1280=y
-CONFIG_SCSI_QLA_FC=y
-CONFIG_SCSI_QLA_ISCSI=m
-CONFIG_SCSI_LPFC=y
-# CONFIG_SCSI_LPFC_DEBUG_FS is not set
-CONFIG_SCSI_SYM53C416=y
-CONFIG_SCSI_DC395x=y
-CONFIG_SCSI_DC390T=y
-CONFIG_SCSI_T128=y
-CONFIG_SCSI_U14_34F=m
-# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
-# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
-CONFIG_SCSI_U14_34F_MAX_TAGS=8
-CONFIG_SCSI_ULTRASTOR=y
-CONFIG_SCSI_NSP32=m
-CONFIG_SCSI_DEBUG=m
-CONFIG_SCSI_PMCRAID=y
-CONFIG_SCSI_PM8001=y
-CONFIG_SCSI_SRP=y
-CONFIG_SCSI_BFA_FC=y
-CONFIG_SCSI_LOWLEVEL_PCMCIA=y
-CONFIG_PCMCIA_AHA152X=m
-CONFIG_PCMCIA_FDOMAIN=m
-CONFIG_PCMCIA_NINJA_SCSI=m
-CONFIG_PCMCIA_QLOGIC=m
-CONFIG_PCMCIA_SYM53C500=m
-CONFIG_SCSI_DH=m
-CONFIG_SCSI_DH_RDAC=m
-CONFIG_SCSI_DH_HP_SW=m
-CONFIG_SCSI_DH_EMC=m
-CONFIG_SCSI_DH_ALUA=m
-CONFIG_SCSI_OSD_INITIATOR=m
-CONFIG_SCSI_OSD_ULD=m
-CONFIG_SCSI_OSD_DPRINT_SENSE=1
-# CONFIG_SCSI_OSD_DEBUG is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_ATA_ACPI=y
-CONFIG_SATA_PMP=y
-
-#
-# Controllers with non-SFF native interface
-#
-CONFIG_SATA_AHCI=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_SATA_INIC162X=y
-CONFIG_SATA_ACARD_AHCI=y
-CONFIG_SATA_SIL24=y
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_PDC_ADMA=y
-CONFIG_SATA_QSTOR=y
-CONFIG_SATA_SX4=y
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-CONFIG_ATA_PIIX=y
-CONFIG_SATA_MV=y
-CONFIG_SATA_NV=y
-CONFIG_SATA_PROMISE=y
-CONFIG_SATA_SIL=y
-CONFIG_SATA_SIS=y
-CONFIG_SATA_SVW=y
-CONFIG_SATA_ULI=y
-CONFIG_SATA_VIA=y
-CONFIG_SATA_VITESSE=y
-
-#
-# PATA SFF controllers with BMDMA
-#
-CONFIG_PATA_ALI=y
-CONFIG_PATA_AMD=y
-CONFIG_PATA_ARASAN_CF=m
-CONFIG_PATA_ARTOP=y
-CONFIG_PATA_ATIIXP=y
-CONFIG_PATA_ATP867X=y
-CONFIG_PATA_CMD64X=y
-CONFIG_PATA_CS5520=y
-CONFIG_PATA_CS5530=y
-CONFIG_PATA_CS5535=y
-CONFIG_PATA_CS5536=y
-CONFIG_PATA_CYPRESS=y
-CONFIG_PATA_EFAR=y
-CONFIG_PATA_HPT366=y
-CONFIG_PATA_HPT37X=y
-CONFIG_PATA_HPT3X2N=y
-CONFIG_PATA_HPT3X3=y
-CONFIG_PATA_HPT3X3_DMA=y
-CONFIG_PATA_IT8213=y
-CONFIG_PATA_IT821X=y
-CONFIG_PATA_JMICRON=y
-CONFIG_PATA_MARVELL=y
-CONFIG_PATA_NETCELL=y
-CONFIG_PATA_NINJA32=y
-CONFIG_PATA_NS87415=y
-CONFIG_PATA_OLDPIIX=y
-CONFIG_PATA_OPTIDMA=y
-CONFIG_PATA_PDC2027X=y
-CONFIG_PATA_PDC_OLD=y
-CONFIG_PATA_RADISYS=y
-CONFIG_PATA_RDC=y
-CONFIG_PATA_SC1200=y
-CONFIG_PATA_SCH=y
-CONFIG_PATA_SERVERWORKS=y
-CONFIG_PATA_SIL680=y
-CONFIG_PATA_SIS=y
-CONFIG_PATA_TOSHIBA=m
-CONFIG_PATA_TRIFLEX=y
-CONFIG_PATA_VIA=y
-CONFIG_PATA_WINBOND=y
-
-#
-# PIO-only SFF controllers
-#
-CONFIG_PATA_CMD640_PCI=y
-CONFIG_PATA_ISAPNP=y
-CONFIG_PATA_MPIIX=y
-CONFIG_PATA_NS87410=y
-CONFIG_PATA_OPTI=y
-CONFIG_PATA_PCMCIA=m
-CONFIG_PATA_QDI=y
-CONFIG_PATA_RZ1000=y
-CONFIG_PATA_WINBOND_VLB=y
-
-#
-# Generic fallback / legacy drivers
-#
-CONFIG_PATA_ACPI=y
-CONFIG_ATA_GENERIC=y
-CONFIG_PATA_LEGACY=y
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=y
-CONFIG_MD_AUTODETECT=y
-CONFIG_MD_LINEAR=y
-CONFIG_MD_RAID0=y
-CONFIG_MD_RAID1=y
-CONFIG_MD_RAID10=y
-CONFIG_MD_RAID456=y
-# CONFIG_MULTICORE_RAID456 is not set
-CONFIG_MD_MULTIPATH=y
-CONFIG_MD_FAULTY=m
-CONFIG_BLK_DEV_DM=y
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_BUFIO=m
-CONFIG_DM_PERSISTENT_DATA=m
-CONFIG_DM_CRYPT=y
-CONFIG_DM_SNAPSHOT=y
-CONFIG_DM_THIN_PROVISIONING=m
-# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
-# CONFIG_DM_DEBUG_SPACE_MAPS is not set
-CONFIG_DM_MIRROR=y
-CONFIG_DM_RAID=m
-CONFIG_DM_LOG_USERSPACE=m
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-CONFIG_DM_MULTIPATH_QL=m
-CONFIG_DM_MULTIPATH_ST=m
-# CONFIG_DM_DELAY is not set
-CONFIG_DM_UEVENT=y
-CONFIG_DM_FLAKEY=m
-CONFIG_TARGET_CORE=m
-CONFIG_TCM_IBLOCK=m
-CONFIG_TCM_FILEIO=m
-CONFIG_TCM_PSCSI=m
-CONFIG_LOOPBACK_TARGET=m
-CONFIG_TCM_FC=m
-CONFIG_ISCSI_TARGET=m
-CONFIG_FUSION=y
-CONFIG_FUSION_SPI=y
-CONFIG_FUSION_FC=y
-CONFIG_FUSION_SAS=y
-CONFIG_FUSION_MAX_SGE=128
-CONFIG_FUSION_CTL=y
-CONFIG_FUSION_LAN=y
-# CONFIG_FUSION_LOGGING is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-CONFIG_FIREWIRE=m
-CONFIG_FIREWIRE_OHCI=m
-CONFIG_FIREWIRE_OHCI_DEBUG=y
-CONFIG_FIREWIRE_SBP2=m
-CONFIG_FIREWIRE_NET=m
-CONFIG_FIREWIRE_NOSY=m
-CONFIG_I2O=y
-CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
-CONFIG_I2O_EXT_ADAPTEC=y
-CONFIG_I2O_EXT_ADAPTEC_DMA64=y
-CONFIG_I2O_CONFIG=y
-# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
-CONFIG_I2O_BUS=y
-CONFIG_I2O_BLOCK=y
-CONFIG_I2O_SCSI=y
-CONFIG_I2O_PROC=y
-CONFIG_MACINTOSH_DRIVERS=y
-CONFIG_MAC_EMUMOUSEBTN=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_BONDING=m
-CONFIG_DUMMY=m
-CONFIG_EQUALIZER=m
-CONFIG_NET_FC=y
-CONFIG_MII=m
-CONFIG_IEEE802154_DRIVERS=m
-CONFIG_IEEE802154_FAKEHARD=m
-CONFIG_IFB=m
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_NETCONSOLE=m
-CONFIG_NETCONSOLE_DYNAMIC=y
-CONFIG_NETPOLL=y
-# CONFIG_NETPOLL_TRAP is not set
-CONFIG_NET_POLL_CONTROLLER=y
-CONFIG_TUN=m
-CONFIG_VETH=m
-CONFIG_VIRTIO_NET=m
-CONFIG_SUNGEM_PHY=m
-CONFIG_ARCNET=m
-CONFIG_ARCNET_1201=m
-CONFIG_ARCNET_1051=m
-CONFIG_ARCNET_RAW=m
-CONFIG_ARCNET_CAP=m
-CONFIG_ARCNET_COM90xx=m
-CONFIG_ARCNET_COM90xxIO=m
-CONFIG_ARCNET_RIM_I=m
-CONFIG_ARCNET_COM20020=m
-CONFIG_ARCNET_COM20020_ISA=m
-CONFIG_ARCNET_COM20020_PCI=m
-CONFIG_ARCNET_COM20020_CS=m
-CONFIG_ATM_DRIVERS=y
-CONFIG_ATM_DUMMY=m
-CONFIG_ATM_TCP=m
-CONFIG_ATM_LANAI=m
-CONFIG_ATM_ENI=m
-# CONFIG_ATM_ENI_DEBUG is not set
-# CONFIG_ATM_ENI_TUNE_BURST is not set
-CONFIG_ATM_FIRESTREAM=m
-CONFIG_ATM_ZATM=m
-# CONFIG_ATM_ZATM_DEBUG is not set
-CONFIG_ATM_NICSTAR=m
-# CONFIG_ATM_NICSTAR_USE_SUNI is not set
-# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
-CONFIG_ATM_IDT77252=m
-# CONFIG_ATM_IDT77252_DEBUG is not set
-# CONFIG_ATM_IDT77252_RCV_ALL is not set
-CONFIG_ATM_IDT77252_USE_SUNI=y
-CONFIG_ATM_AMBASSADOR=m
-# CONFIG_ATM_AMBASSADOR_DEBUG is not set
-CONFIG_ATM_HORIZON=m
-# CONFIG_ATM_HORIZON_DEBUG is not set
-CONFIG_ATM_IA=m
-# CONFIG_ATM_IA_DEBUG is not set
-CONFIG_ATM_FORE200E=m
-# CONFIG_ATM_FORE200E_USE_TASKLET is not set
-CONFIG_ATM_FORE200E_TX_RETRY=16
-CONFIG_ATM_FORE200E_DEBUG=0
-CONFIG_ATM_HE=m
-# CONFIG_ATM_HE_USE_SUNI is not set
-CONFIG_ATM_SOLOS=m
-
-#
-# CAIF transport drivers
-#
-CONFIG_ETHERNET=y
-CONFIG_MDIO=m
-CONFIG_NET_VENDOR_3COM=y
-CONFIG_EL1=m
-CONFIG_EL3=m
-CONFIG_3C515=m
-CONFIG_PCMCIA_3C574=m
-CONFIG_PCMCIA_3C589=m
-CONFIG_VORTEX=m
-CONFIG_TYPHOON=m
-CONFIG_NET_VENDOR_ADAPTEC=y
-CONFIG_ADAPTEC_STARFIRE=m
-CONFIG_NET_VENDOR_ALTEON=y
-CONFIG_ACENIC=m
-# CONFIG_ACENIC_OMIT_TIGON_I is not set
-CONFIG_NET_VENDOR_AMD=y
-CONFIG_AMD8111_ETH=m
-CONFIG_LANCE=m
-CONFIG_PCNET32=m
-CONFIG_DEPCA=m
-CONFIG_PCMCIA_NMCLAN=m
-CONFIG_NI65=m
-CONFIG_NET_VENDOR_ATHEROS=y
-CONFIG_ATL2=m
-CONFIG_ATL1=m
-CONFIG_ATL1E=m
-CONFIG_ATL1C=m
-CONFIG_NET_VENDOR_BROADCOM=y
-CONFIG_B44=m
-CONFIG_B44_PCI_AUTOSELECT=y
-CONFIG_B44_PCICORE_AUTOSELECT=y
-CONFIG_B44_PCI=y
-CONFIG_BNX2=m
-CONFIG_CNIC=m
-CONFIG_TIGON3=m
-CONFIG_BNX2X=m
-CONFIG_NET_VENDOR_BROCADE=y
-CONFIG_BNA=m
-CONFIG_NET_VENDOR_CHELSIO=y
-CONFIG_CHELSIO_T1=m
-CONFIG_CHELSIO_T1_1G=y
-CONFIG_CHELSIO_T3=m
-CONFIG_CHELSIO_T4=m
-CONFIG_CHELSIO_T4VF=m
-CONFIG_NET_VENDOR_CIRRUS=y
-CONFIG_CS89x0=m
-CONFIG_NET_VENDOR_CISCO=y
-CONFIG_ENIC=m
-CONFIG_DNET=m
-CONFIG_NET_VENDOR_DEC=y
-CONFIG_EWRK3=m
-CONFIG_NET_TULIP=y
-CONFIG_DE2104X=m
-CONFIG_DE2104X_DSL=0
-CONFIG_TULIP=m
-# CONFIG_TULIP_MWI is not set
-CONFIG_TULIP_MMIO=y
-# CONFIG_TULIP_NAPI is not set
-CONFIG_DE4X5=m
-CONFIG_WINBOND_840=m
-CONFIG_DM9102=m
-CONFIG_ULI526X=m
-CONFIG_PCMCIA_XIRCOM=m
-CONFIG_NET_VENDOR_DLINK=y
-CONFIG_DE600=m
-CONFIG_DE620=m
-CONFIG_DL2K=m
-CONFIG_SUNDANCE=m
-# CONFIG_SUNDANCE_MMIO is not set
-CONFIG_NET_VENDOR_EMULEX=y
-CONFIG_BE2NET=m
-CONFIG_NET_VENDOR_EXAR=y
-CONFIG_S2IO=m
-CONFIG_VXGE=m
-# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
-CONFIG_NET_VENDOR_FUJITSU=y
-CONFIG_AT1700=m
-CONFIG_PCMCIA_FMVJ18X=m
-CONFIG_ETH16I=m
-CONFIG_NET_VENDOR_HP=y
-CONFIG_HP100=m
-CONFIG_NET_VENDOR_INTEL=y
-CONFIG_E100=m
-CONFIG_E1000=m
-CONFIG_E1000E=m
-CONFIG_IGB=m
-CONFIG_IGB_DCA=y
-CONFIG_IGBVF=m
-CONFIG_IXGB=m
-CONFIG_IXGBE=m
-CONFIG_IXGBE_DCA=y
-CONFIG_IXGBEVF=m
-CONFIG_NET_VENDOR_I825XX=y
-CONFIG_ELPLUS=m
-CONFIG_EL16=m
-CONFIG_APRICOT=m
-CONFIG_EEXPRESS=m
-CONFIG_EEXPRESS_PRO=m
-CONFIG_LP486E=m
-CONFIG_NI52=m
-CONFIG_ZNET=m
-CONFIG_IP1000=m
-CONFIG_JME=m
-CONFIG_NET_VENDOR_MARVELL=y
-CONFIG_SKGE=m
-# CONFIG_SKGE_DEBUG is not set
-CONFIG_SKGE_GENESIS=y
-CONFIG_SKY2=m
-# CONFIG_SKY2_DEBUG is not set
-CONFIG_NET_VENDOR_MELLANOX=y
-CONFIG_MLX4_EN=m
-CONFIG_MLX4_CORE=m
-CONFIG_MLX4_DEBUG=y
-CONFIG_NET_VENDOR_MICREL=y
-CONFIG_KS8842=m
-CONFIG_KS8851_MLL=m
-CONFIG_KSZ884X_PCI=m
-CONFIG_NET_VENDOR_MYRI=y
-CONFIG_MYRI10GE=m
-CONFIG_MYRI10GE_DCA=y
-CONFIG_FEALNX=m
-CONFIG_NET_VENDOR_NATSEMI=y
-CONFIG_NATSEMI=m
-CONFIG_NS83820=m
-CONFIG_NET_VENDOR_8390=y
-CONFIG_EL2=m
-CONFIG_AC3200=m
-CONFIG_PCMCIA_AXNET=m
-CONFIG_E2100=m
-CONFIG_HPLAN_PLUS=m
-CONFIG_HPLAN=m
-CONFIG_NE2000=m
-CONFIG_NE2K_PCI=m
-CONFIG_PCMCIA_PCNET=m
-CONFIG_ULTRA=m
-CONFIG_WD80x3=m
-CONFIG_NET_VENDOR_NVIDIA=y
-CONFIG_FORCEDETH=m
-CONFIG_NET_VENDOR_OKI=y
-CONFIG_PCH_GBE=m
-CONFIG_ETHOC=m
-CONFIG_NET_PACKET_ENGINE=y
-CONFIG_HAMACHI=m
-CONFIG_YELLOWFIN=m
-CONFIG_NET_VENDOR_QLOGIC=y
-CONFIG_QLA3XXX=m
-CONFIG_QLCNIC=m
-CONFIG_QLGE=m
-CONFIG_NETXEN_NIC=m
-CONFIG_NET_VENDOR_RACAL=y
-CONFIG_NET_VENDOR_REALTEK=y
-CONFIG_ATP=m
-CONFIG_8139CP=m
-CONFIG_8139TOO=m
-CONFIG_8139TOO_PIO=y
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-CONFIG_8139TOO_8129=y
-# CONFIG_8139_OLD_RX_RESET is not set
-CONFIG_R8169=m
-CONFIG_NET_VENDOR_RDC=y
-CONFIG_R6040=m
-CONFIG_NET_VENDOR_SEEQ=y
-CONFIG_SEEQ8005=m
-CONFIG_NET_VENDOR_SILAN=y
-CONFIG_SC92031=m
-CONFIG_NET_VENDOR_SIS=y
-CONFIG_SIS900=m
-CONFIG_SIS190=m
-CONFIG_SFC=m
-CONFIG_SFC_MTD=y
-CONFIG_NET_VENDOR_SMSC=y
-CONFIG_SMC9194=m
-CONFIG_PCMCIA_SMC91C92=m
-CONFIG_EPIC100=m
-CONFIG_SMSC9420=m
-CONFIG_NET_VENDOR_STMICRO=y
-CONFIG_STMMAC_ETH=m
-CONFIG_STMMAC_DEBUG_FS=y
-# CONFIG_STMMAC_DA is not set
-CONFIG_STMMAC_RING=y
-# CONFIG_STMMAC_CHAINED is not set
-CONFIG_NET_VENDOR_SUN=y
-CONFIG_HAPPYMEAL=m
-CONFIG_SUNGEM=m
-CONFIG_CASSINI=m
-CONFIG_NIU=m
-CONFIG_NET_VENDOR_TEHUTI=y
-CONFIG_TEHUTI=m
-CONFIG_NET_VENDOR_TI=y
-CONFIG_TLAN=m
-CONFIG_NET_VENDOR_VIA=y
-CONFIG_VIA_RHINE=m
-CONFIG_VIA_RHINE_MMIO=y
-CONFIG_VIA_VELOCITY=m
-CONFIG_NET_VENDOR_XIRCOM=y
-CONFIG_PCMCIA_XIRC2PS=m
-CONFIG_FDDI=y
-CONFIG_DEFXX=m
-# CONFIG_DEFXX_MMIO is not set
-CONFIG_SKFP=m
-CONFIG_HIPPI=y
-CONFIG_ROADRUNNER=m
-# CONFIG_ROADRUNNER_LARGE_RINGS is not set
-CONFIG_NET_SB1000=m
-CONFIG_PHYLIB=m
-
-#
-# MII PHY device drivers
-#
-CONFIG_MARVELL_PHY=m
-CONFIG_DAVICOM_PHY=m
-CONFIG_QSEMI_PHY=m
-CONFIG_LXT_PHY=m
-CONFIG_CICADA_PHY=m
-CONFIG_VITESSE_PHY=m
-CONFIG_SMSC_PHY=m
-CONFIG_BROADCOM_PHY=m
-CONFIG_ICPLUS_PHY=m
-CONFIG_REALTEK_PHY=m
-CONFIG_NATIONAL_PHY=m
-CONFIG_STE10XP=m
-CONFIG_LSI_ET1011C_PHY=m
-CONFIG_MICREL_PHY=m
-CONFIG_MDIO_BITBANG=m
-CONFIG_MDIO_GPIO=m
-CONFIG_PLIP=m
-CONFIG_PPP=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_MPPE=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPPOATM=m
-CONFIG_PPPOE=m
-CONFIG_PPTP=m
-CONFIG_PPPOL2TP=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_SLIP=m
-CONFIG_SLHC=m
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLIP_SMART=y
-# CONFIG_SLIP_MODE_SLIP6 is not set
-CONFIG_TR=y
-CONFIG_PCMCIA_IBMTR=m
-CONFIG_IBMTR=m
-CONFIG_IBMOL=m
-CONFIG_IBMLS=m
-CONFIG_3C359=m
-CONFIG_TMS380TR=m
-CONFIG_TMSPCI=m
-CONFIG_SKISA=m
-CONFIG_PROTEON=m
-CONFIG_ABYSS=m
-CONFIG_SMCTR=m
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDCETHER=m
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_NET_CDC_SUBSET=m
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_ARMLINUX=y
-# CONFIG_USB_EPSON2888 is not set
-# CONFIG_USB_KC2190 is not set
-CONFIG_USB_NET_ZAURUS=m
-CONFIG_USB_NET_CX82310_ETH=m
-CONFIG_USB_NET_KALMIA=m
-CONFIG_USB_HSO=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_VL600=m
-CONFIG_WLAN=y
-CONFIG_PCMCIA_RAYCS=m
-CONFIG_LIBERTAS_THINFIRM=m
-# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
-CONFIG_LIBERTAS_THINFIRM_USB=m
-CONFIG_AIRO=m
-CONFIG_ATMEL=m
-CONFIG_PCI_ATMEL=m
-CONFIG_PCMCIA_ATMEL=m
-CONFIG_AT76C50X_USB=m
-CONFIG_AIRO_CS=m
-CONFIG_PCMCIA_WL3501=m
-CONFIG_PRISM54=m
-CONFIG_USB_ZD1201=m
-CONFIG_USB_NET_RNDIS_WLAN=m
-CONFIG_RTL8180=m
-CONFIG_RTL8187=m
-CONFIG_RTL8187_LEDS=y
-CONFIG_ADM8211=m
-# CONFIG_MAC80211_HWSIM is not set
-CONFIG_MWL8K=m
-CONFIG_ATH_COMMON=m
-# CONFIG_ATH_DEBUG is not set
-CONFIG_ATH5K=m
-# CONFIG_ATH5K_DEBUG is not set
-# CONFIG_ATH5K_TRACER is not set
-CONFIG_ATH5K_PCI=y
-CONFIG_ATH9K_HW=m
-CONFIG_ATH9K_COMMON=m
-CONFIG_ATH9K=m
-CONFIG_ATH9K_PCI=y
-# CONFIG_ATH9K_AHB is not set
-# CONFIG_ATH9K_DEBUGFS is not set
-CONFIG_ATH9K_RATE_CONTROL=y
-CONFIG_ATH9K_HTC=m
-# CONFIG_ATH9K_HTC_DEBUGFS is not set
-CONFIG_CARL9170=m
-CONFIG_CARL9170_LEDS=y
-CONFIG_CARL9170_WPC=y
-# CONFIG_CARL9170_HWRNG is not set
-CONFIG_ATH6KL=m
-# CONFIG_ATH6KL_DEBUG is not set
-CONFIG_B43=m
-CONFIG_B43_SSB=y
-CONFIG_B43_PCI_AUTOSELECT=y
-CONFIG_B43_PCICORE_AUTOSELECT=y
-CONFIG_B43_PCMCIA=y
-CONFIG_B43_SDIO=y
-CONFIG_B43_PIO=y
-CONFIG_B43_PHY_N=y
-CONFIG_B43_PHY_LP=y
-CONFIG_B43_PHY_HT=y
-CONFIG_B43_LEDS=y
-CONFIG_B43_HWRNG=y
-# CONFIG_B43_DEBUG is not set
-CONFIG_B43LEGACY=m
-CONFIG_B43LEGACY_PCI_AUTOSELECT=y
-CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
-CONFIG_B43LEGACY_LEDS=y
-CONFIG_B43LEGACY_HWRNG=y
-# CONFIG_B43LEGACY_DEBUG is not set
-CONFIG_B43LEGACY_DMA=y
-CONFIG_B43LEGACY_PIO=y
-CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
-# CONFIG_B43LEGACY_DMA_MODE is not set
-# CONFIG_B43LEGACY_PIO_MODE is not set
-CONFIG_BRCMUTIL=m
-CONFIG_BRCMSMAC=m
-CONFIG_BRCMFMAC=m
-# CONFIG_BRCMDBG is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-CONFIG_HOSTAP_FIRMWARE_NVRAM=y
-CONFIG_HOSTAP_PLX=m
-CONFIG_HOSTAP_PCI=m
-CONFIG_HOSTAP_CS=m
-CONFIG_IPW2100=m
-CONFIG_IPW2100_MONITOR=y
-# CONFIG_IPW2100_DEBUG is not set
-CONFIG_IPW2200=m
-CONFIG_IPW2200_MONITOR=y
-CONFIG_IPW2200_RADIOTAP=y
-CONFIG_IPW2200_PROMISCUOUS=y
-CONFIG_IPW2200_QOS=y
-# CONFIG_IPW2200_DEBUG is not set
-CONFIG_LIBIPW=m
-# CONFIG_LIBIPW_DEBUG is not set
-CONFIG_IWLWIFI=m
-
-#
-# Debugging Options
-#
-# CONFIG_IWLWIFI_DEBUG is not set
-# CONFIG_IWLWIFI_DEVICE_TRACING is not set
-# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
-CONFIG_IWLWIFI_LEGACY=m
-
-#
-# Debugging Options
-#
-# CONFIG_IWLWIFI_LEGACY_DEBUG is not set
-# CONFIG_IWLWIFI_LEGACY_DEVICE_TRACING is not set
-CONFIG_IWL4965=m
-CONFIG_IWL3945=m
-CONFIG_IWM=m
-# CONFIG_IWM_DEBUG is not set
-# CONFIG_IWM_TRACING is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_CS=m
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_DEBUG is not set
-CONFIG_LIBERTAS_MESH=y
-CONFIG_HERMES=m
-# CONFIG_HERMES_PRISM is not set
-CONFIG_HERMES_CACHE_FW_ON_INIT=y
-CONFIG_PLX_HERMES=m
-CONFIG_TMD_HERMES=m
-CONFIG_NORTEL_HERMES=m
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_SPECTRUM=m
-CONFIG_ORINOCO_USB=m
-CONFIG_P54_COMMON=m
-CONFIG_P54_USB=m
-CONFIG_P54_PCI=m
-CONFIG_P54_LEDS=y
-CONFIG_RT2X00=m
-CONFIG_RT2400PCI=m
-CONFIG_RT2500PCI=m
-CONFIG_RT61PCI=m
-CONFIG_RT2800PCI=m
-CONFIG_RT2800PCI_RT33XX=y
-CONFIG_RT2800PCI_RT35XX=y
-CONFIG_RT2800PCI_RT53XX=y
-CONFIG_RT2500USB=m
-CONFIG_RT73USB=m
-CONFIG_RT2800USB=m
-CONFIG_RT2800USB_RT33XX=y
-CONFIG_RT2800USB_RT35XX=y
-CONFIG_RT2800USB_RT53XX=y
-CONFIG_RT2800USB_UNKNOWN=y
-CONFIG_RT2800_LIB=m
-CONFIG_RT2X00_LIB_PCI=m
-CONFIG_RT2X00_LIB_USB=m
-CONFIG_RT2X00_LIB=m
-CONFIG_RT2X00_LIB_FIRMWARE=y
-CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_LEDS=y
-# CONFIG_RT2X00_DEBUG is not set
-CONFIG_RTL8192CE=m
-CONFIG_RTL8192SE=m
-CONFIG_RTL8192DE=m
-CONFIG_RTL8192CU=m
-CONFIG_RTLWIFI=m
-CONFIG_RTL8192C_COMMON=m
-CONFIG_WL1251=m
-CONFIG_WL1251_SDIO=m
-CONFIG_WL12XX_MENU=m
-CONFIG_WL12XX=m
-CONFIG_WL12XX_SDIO=m
-CONFIG_WL12XX_SDIO_TEST=m
-CONFIG_WL12XX_PLATFORM_DATA=y
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_MWIFIEX_PCIE=m
-
-#
-# WiMAX Wireless Broadband devices
-#
-CONFIG_WIMAX_I2400M=m
-CONFIG_WIMAX_I2400M_USB=m
-CONFIG_WIMAX_I2400M_SDIO=m
-# CONFIG_WIMAX_IWMC3200_SDIO is not set
-CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
-CONFIG_WAN=y
-CONFIG_HOSTESS_SV11=m
-CONFIG_COSA=m
-CONFIG_LANMEDIA=m
-CONFIG_SEALEVEL_4021=m
-CONFIG_HDLC=m
-CONFIG_HDLC_RAW=m
-CONFIG_HDLC_RAW_ETH=m
-CONFIG_HDLC_CISCO=m
-CONFIG_HDLC_FR=m
-CONFIG_HDLC_PPP=m
-
-#
-# X.25/LAPB support is disabled
-#
-CONFIG_PCI200SYN=m
-CONFIG_WANXL=m
-# CONFIG_PC300TOO is not set
-CONFIG_N2=m
-CONFIG_C101=m
-CONFIG_FARSYNC=m
-CONFIG_DSCC4=m
-# CONFIG_DSCC4_PCISYNC is not set
-# CONFIG_DSCC4_PCI_RST is not set
-CONFIG_DLCI=m
-CONFIG_DLCI_MAX=8
-CONFIG_SDLA=m
-CONFIG_WAN_ROUTER_DRIVERS=m
-CONFIG_CYCLADES_SYNC=m
-CONFIG_CYCLOMX_X25=y
-CONFIG_SBNI=m
-# CONFIG_SBNI_MULTILINE is not set
-CONFIG_VMXNET3=m
-CONFIG_ISDN=y
-CONFIG_ISDN_I4L=m
-CONFIG_ISDN_PPP=y
-CONFIG_ISDN_PPP_VJ=y
-CONFIG_ISDN_MPP=y
-CONFIG_IPPP_FILTER=y
-CONFIG_ISDN_PPP_BSDCOMP=m
-CONFIG_ISDN_AUDIO=y
-CONFIG_ISDN_TTY_FAX=y
-
-#
-# ISDN feature submodules
-#
-CONFIG_ISDN_DIVERSION=m
-
-#
-# ISDN4Linux hardware drivers
-#
-
-#
-# Passive cards
-#
-CONFIG_ISDN_DRV_HISAX=m
-
-#
-# D-channel protocol features
-#
-CONFIG_HISAX_EURO=y
-CONFIG_DE_AOC=y
-CONFIG_HISAX_NO_SENDCOMPLETE=y
-CONFIG_HISAX_NO_LLC=y
-CONFIG_HISAX_NO_KEYPAD=y
-CONFIG_HISAX_1TR6=y
-CONFIG_HISAX_NI1=y
-CONFIG_HISAX_MAX_CARDS=8
-
-#
-# HiSax supported cards
-#
-CONFIG_HISAX_16_0=y
-CONFIG_HISAX_16_3=y
-CONFIG_HISAX_TELESPCI=y
-CONFIG_HISAX_S0BOX=y
-CONFIG_HISAX_AVM_A1=y
-CONFIG_HISAX_FRITZPCI=y
-CONFIG_HISAX_AVM_A1_PCMCIA=y
-CONFIG_HISAX_ELSA=y
-CONFIG_HISAX_IX1MICROR2=y
-CONFIG_HISAX_DIEHLDIVA=y
-CONFIG_HISAX_ASUSCOM=y
-CONFIG_HISAX_TELEINT=y
-CONFIG_HISAX_HFCS=y
-CONFIG_HISAX_SEDLBAUER=y
-CONFIG_HISAX_SPORTSTER=y
-CONFIG_HISAX_MIC=y
-CONFIG_HISAX_NETJET=y
-CONFIG_HISAX_NETJET_U=y
-CONFIG_HISAX_NICCY=y
-CONFIG_HISAX_ISURF=y
-CONFIG_HISAX_HSTSAPHIR=y
-CONFIG_HISAX_BKM_A4T=y
-CONFIG_HISAX_SCT_QUADRO=y
-CONFIG_HISAX_GAZEL=y
-CONFIG_HISAX_HFC_PCI=y
-CONFIG_HISAX_W6692=y
-CONFIG_HISAX_HFC_SX=y
-CONFIG_HISAX_ENTERNOW_PCI=y
-# CONFIG_HISAX_DEBUG is not set
-
-#
-# HiSax PCMCIA card service modules
-#
-CONFIG_HISAX_SEDLBAUER_CS=m
-CONFIG_HISAX_ELSA_CS=m
-CONFIG_HISAX_AVM_A1_CS=m
-CONFIG_HISAX_TELES_CS=m
-
-#
-# HiSax sub driver modules
-#
-CONFIG_HISAX_ST5481=m
-CONFIG_HISAX_HFCUSB=m
-CONFIG_HISAX_HFC4S8S=m
-CONFIG_HISAX_FRITZ_PCIPNP=m
-
-#
-# Active cards
-#
-CONFIG_ISDN_DRV_ICN=m
-CONFIG_ISDN_DRV_PCBIT=m
-CONFIG_ISDN_DRV_SC=m
-CONFIG_ISDN_DRV_ACT2000=m
-CONFIG_ISDN_CAPI=m
-CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
-CONFIG_CAPI_TRACE=y
-CONFIG_ISDN_CAPI_MIDDLEWARE=y
-CONFIG_ISDN_CAPI_CAPI20=m
-CONFIG_ISDN_CAPI_CAPIDRV=m
-
-#
-# CAPI hardware drivers
-#
-CONFIG_CAPI_AVM=y
-CONFIG_ISDN_DRV_AVMB1_B1ISA=m
-CONFIG_ISDN_DRV_AVMB1_B1PCI=m
-CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
-CONFIG_ISDN_DRV_AVMB1_T1ISA=m
-CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
-CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
-CONFIG_ISDN_DRV_AVMB1_T1PCI=m
-CONFIG_ISDN_DRV_AVMB1_C4=m
-CONFIG_CAPI_EICON=y
-CONFIG_ISDN_DIVAS=m
-CONFIG_ISDN_DIVAS_BRIPCI=y
-CONFIG_ISDN_DIVAS_PRIPCI=y
-CONFIG_ISDN_DIVAS_DIVACAPI=m
-CONFIG_ISDN_DIVAS_USERIDI=m
-CONFIG_ISDN_DIVAS_MAINT=m
-CONFIG_ISDN_DRV_GIGASET=m
-# CONFIG_GIGASET_CAPI is not set
-CONFIG_GIGASET_I4L=y
-# CONFIG_GIGASET_DUMMYLL is not set
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_M105=m
-# CONFIG_GIGASET_M101 is not set
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_HYSDN=m
-CONFIG_HYSDN_CAPI=y
-CONFIG_MISDN=m
-CONFIG_MISDN_DSP=m
-CONFIG_MISDN_L1OIP=m
-
-#
-# mISDN hardware drivers
-#
-CONFIG_MISDN_HFCPCI=m
-CONFIG_MISDN_HFCMULTI=m
-CONFIG_MISDN_HFCUSB=m
-CONFIG_MISDN_AVMFRITZ=m
-CONFIG_MISDN_SPEEDFAX=m
-CONFIG_MISDN_INFINEON=m
-CONFIG_MISDN_W6692=m
-CONFIG_MISDN_NETJET=m
-CONFIG_MISDN_IPAC=m
-CONFIG_MISDN_ISAR=m
-CONFIG_ISDN_HDLC=m
-CONFIG_PHONE=m
-CONFIG_PHONE_IXJ=m
-CONFIG_PHONE_IXJ_PCMCIA=m
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-CONFIG_INPUT_FF_MEMLESS=y
-CONFIG_INPUT_POLLDEV=m
-CONFIG_INPUT_SPARSEKMAP=m
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-CONFIG_INPUT_JOYDEV=m
-CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-CONFIG_KEYBOARD_ADP5588=m
-CONFIG_KEYBOARD_ADP5589=m
-CONFIG_KEYBOARD_ATKBD=y
-CONFIG_KEYBOARD_QT1070=m
-CONFIG_KEYBOARD_QT2160=m
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=m
-CONFIG_KEYBOARD_GPIO_POLLED=m
-CONFIG_KEYBOARD_TCA6416=m
-CONFIG_KEYBOARD_MATRIX=m
-CONFIG_KEYBOARD_LM8323=m
-CONFIG_KEYBOARD_MAX7359=m
-CONFIG_KEYBOARD_MCS=m
-CONFIG_KEYBOARD_MPR121=m
-# CONFIG_KEYBOARD_NEWTON is not set
-CONFIG_KEYBOARD_OPENCORES=m
-CONFIG_KEYBOARD_STOWAWAY=m
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=m
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_LIFEBOOK=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-CONFIG_MOUSE_PS2_ELANTECH=y
-CONFIG_MOUSE_PS2_SENTELIC=y
-CONFIG_MOUSE_PS2_TOUCHKIT=y
-CONFIG_MOUSE_SERIAL=m
-CONFIG_MOUSE_APPLETOUCH=m
-CONFIG_MOUSE_BCM5974=m
-CONFIG_MOUSE_INPORT=m
-CONFIG_MOUSE_ATIXL=y
-CONFIG_MOUSE_LOGIBM=m
-CONFIG_MOUSE_PC110PAD=m
-CONFIG_MOUSE_VSXXXAA=m
-CONFIG_MOUSE_GPIO=m
-CONFIG_MOUSE_SYNAPTICS_I2C=m
-CONFIG_INPUT_JOYSTICK=y
-CONFIG_JOYSTICK_ANALOG=m
-CONFIG_JOYSTICK_A3D=m
-CONFIG_JOYSTICK_ADI=m
-CONFIG_JOYSTICK_COBRA=m
-CONFIG_JOYSTICK_GF2K=m
-CONFIG_JOYSTICK_GRIP=m
-CONFIG_JOYSTICK_GRIP_MP=m
-CONFIG_JOYSTICK_GUILLEMOT=m
-CONFIG_JOYSTICK_INTERACT=m
-CONFIG_JOYSTICK_SIDEWINDER=m
-CONFIG_JOYSTICK_TMDC=m
-CONFIG_JOYSTICK_IFORCE=m
-CONFIG_JOYSTICK_IFORCE_USB=y
-CONFIG_JOYSTICK_IFORCE_232=y
-CONFIG_JOYSTICK_WARRIOR=m
-CONFIG_JOYSTICK_MAGELLAN=m
-CONFIG_JOYSTICK_SPACEORB=m
-CONFIG_JOYSTICK_SPACEBALL=m
-CONFIG_JOYSTICK_STINGER=m
-CONFIG_JOYSTICK_TWIDJOY=m
-CONFIG_JOYSTICK_ZHENHUA=m
-CONFIG_JOYSTICK_DB9=m
-CONFIG_JOYSTICK_GAMECON=m
-CONFIG_JOYSTICK_TURBOGRAFX=m
-CONFIG_JOYSTICK_AS5011=m
-CONFIG_JOYSTICK_JOYDUMP=m
-CONFIG_JOYSTICK_XPAD=m
-CONFIG_JOYSTICK_XPAD_FF=y
-CONFIG_JOYSTICK_XPAD_LEDS=y
-CONFIG_JOYSTICK_WALKERA0701=m
-CONFIG_INPUT_TABLET=y
-CONFIG_TABLET_USB_ACECAD=m
-CONFIG_TABLET_USB_AIPTEK=m
-CONFIG_TABLET_USB_GTCO=m
-CONFIG_TABLET_USB_HANWANG=m
-CONFIG_TABLET_USB_KBTAB=m
-CONFIG_TABLET_USB_WACOM=m
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_AD7879=m
-CONFIG_TOUCHSCREEN_AD7879_I2C=m
-CONFIG_TOUCHSCREEN_ATMEL_MXT=m
-CONFIG_TOUCHSCREEN_BU21013=m
-CONFIG_TOUCHSCREEN_CY8CTMG110=m
-CONFIG_TOUCHSCREEN_DYNAPRO=m
-CONFIG_TOUCHSCREEN_HAMPSHIRE=m
-CONFIG_TOUCHSCREEN_EETI=m
-CONFIG_TOUCHSCREEN_FUJITSU=m
-CONFIG_TOUCHSCREEN_GUNZE=m
-CONFIG_TOUCHSCREEN_ELO=m
-CONFIG_TOUCHSCREEN_WACOM_W8001=m
-CONFIG_TOUCHSCREEN_MAX11801=m
-CONFIG_TOUCHSCREEN_MCS5000=m
-CONFIG_TOUCHSCREEN_MTOUCH=m
-CONFIG_TOUCHSCREEN_INEXIO=m
-CONFIG_TOUCHSCREEN_MK712=m
-CONFIG_TOUCHSCREEN_HTCPEN=m
-CONFIG_TOUCHSCREEN_PENMOUNT=m
-CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
-CONFIG_TOUCHSCREEN_TOUCHWIN=m
-CONFIG_TOUCHSCREEN_UCB1400=m
-CONFIG_TOUCHSCREEN_WM97XX=m
-CONFIG_TOUCHSCREEN_WM9705=y
-CONFIG_TOUCHSCREEN_WM9712=y
-CONFIG_TOUCHSCREEN_WM9713=y
-CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
-CONFIG_TOUCHSCREEN_USB_EGALAX=y
-CONFIG_TOUCHSCREEN_USB_PANJIT=y
-CONFIG_TOUCHSCREEN_USB_3M=y
-CONFIG_TOUCHSCREEN_USB_ITM=y
-CONFIG_TOUCHSCREEN_USB_ETURBO=y
-CONFIG_TOUCHSCREEN_USB_GUNZE=y
-CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
-CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
-CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
-CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
-CONFIG_TOUCHSCREEN_USB_GOTOP=y
-CONFIG_TOUCHSCREEN_USB_JASTEC=y
-CONFIG_TOUCHSCREEN_USB_E2I=y
-CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
-CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
-CONFIG_TOUCHSCREEN_USB_NEXIO=y
-CONFIG_TOUCHSCREEN_TOUCHIT213=m
-CONFIG_TOUCHSCREEN_TSC_SERIO=m
-CONFIG_TOUCHSCREEN_TSC2007=m
-CONFIG_TOUCHSCREEN_ST1232=m
-CONFIG_TOUCHSCREEN_TPS6507X=m
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_AD714X=m
-CONFIG_INPUT_AD714X_I2C=m
-CONFIG_INPUT_BMA150=m
-CONFIG_INPUT_PCSPKR=m
-CONFIG_INPUT_MMA8450=m
-CONFIG_INPUT_MPU3050=m
-CONFIG_INPUT_APANEL=m
-CONFIG_INPUT_WISTRON_BTNS=m
-CONFIG_INPUT_ATLAS_BTNS=m
-CONFIG_INPUT_ATI_REMOTE2=m
-CONFIG_INPUT_KEYSPAN_REMOTE=m
-CONFIG_INPUT_KXTJ9=m
-CONFIG_INPUT_KXTJ9_POLLED_MODE=y
-CONFIG_INPUT_POWERMATE=m
-CONFIG_INPUT_YEALINK=m
-CONFIG_INPUT_CM109=m
-CONFIG_INPUT_UINPUT=m
-CONFIG_INPUT_PCF50633_PMU=m
-CONFIG_INPUT_PCF8574=m
-CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
-CONFIG_INPUT_ADXL34X=m
-CONFIG_INPUT_ADXL34X_I2C=m
-CONFIG_INPUT_CMA3000=m
-CONFIG_INPUT_CMA3000_I2C=m
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-CONFIG_SERIO_SERPORT=m
-CONFIG_SERIO_CT82C710=m
-CONFIG_SERIO_PARKBD=m
-CONFIG_SERIO_PCIPS2=m
-CONFIG_SERIO_LIBPS2=y
-CONFIG_SERIO_RAW=m
-CONFIG_SERIO_ALTERA_PS2=m
-CONFIG_SERIO_PS2MULT=m
-CONFIG_GAMEPORT=m
-CONFIG_GAMEPORT_NS558=m
-CONFIG_GAMEPORT_L4=m
-CONFIG_GAMEPORT_EMU10K1=m
-CONFIG_GAMEPORT_FM801=m
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_VT_CONSOLE_SLEEP=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_UNIX98_PTYS=y
-CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=32
-CONFIG_SERIAL_NONSTANDARD=y
-CONFIG_ROCKETPORT=m
-CONFIG_CYCLADES=m
-# CONFIG_CYZ_INTR is not set
-CONFIG_MOXA_INTELLIO=m
-CONFIG_MOXA_SMARTIO=m
-CONFIG_SYNCLINK=m
-CONFIG_SYNCLINKMP=m
-CONFIG_SYNCLINK_GT=m
-CONFIG_NOZOMI=m
-CONFIG_ISI=m
-CONFIG_N_HDLC=m
-CONFIG_N_GSM=m
-CONFIG_TRACE_ROUTER=m
-CONFIG_TRACE_SINK=m
-CONFIG_DEVKMEM=y
-CONFIG_STALDRV=y
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_PNP=y
-CONFIG_SERIAL_8250_CS=m
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_FOURPORT=m
-CONFIG_SERIAL_8250_ACCENT=m
-CONFIG_SERIAL_8250_BOCA=m
-CONFIG_SERIAL_8250_EXAR_ST16C554=m
-CONFIG_SERIAL_8250_HUB6=m
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_8250_DETECT_IRQ=y
-CONFIG_SERIAL_8250_RSA=y
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_MFD_HSU=m
-CONFIG_SERIAL_UARTLITE=m
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_SERIAL_JSM=m
-CONFIG_SERIAL_TIMBERDALE=m
-CONFIG_SERIAL_ALTERA_JTAGUART=m
-CONFIG_SERIAL_ALTERA_UART=m
-CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
-CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
-CONFIG_SERIAL_PCH_UART=m
-CONFIG_SERIAL_XILINX_PS_UART=m
-CONFIG_PRINTER=m
-CONFIG_LP_CONSOLE=y
-CONFIG_PPDEV=m
-CONFIG_HVC_DRIVER=y
-CONFIG_VIRTIO_CONSOLE=m
-CONFIG_IPMI_HANDLER=m
-# CONFIG_IPMI_PANIC_EVENT is not set
-CONFIG_IPMI_DEVICE_INTERFACE=m
-CONFIG_IPMI_SI=m
-CONFIG_IPMI_WATCHDOG=m
-CONFIG_IPMI_POWEROFF=m
-CONFIG_HW_RANDOM=y
-CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_INTEL=m
-CONFIG_HW_RANDOM_AMD=m
-CONFIG_HW_RANDOM_GEODE=m
-CONFIG_HW_RANDOM_VIA=m
-CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_NVRAM=m
-CONFIG_DTLK=m
-CONFIG_R3964=m
-CONFIG_APPLICOM=m
-CONFIG_SONYPI=m
-
-#
-# PCMCIA character devices
-#
-CONFIG_SYNCLINK_CS=m
-CONFIG_CARDMAN_4000=m
-CONFIG_CARDMAN_4040=m
-CONFIG_IPWIRELESS=m
-CONFIG_MWAVE=m
-CONFIG_SCx200_GPIO=m
-CONFIG_PC8736x_GPIO=m
-CONFIG_NSC_GPIO=m
-CONFIG_RAW_DRIVER=m
-CONFIG_MAX_RAW_DEVS=256
-CONFIG_HPET=y
-CONFIG_HPET_MMAP=y
-CONFIG_HANGCHECK_TIMER=m
-CONFIG_TCG_TPM=m
-# CONFIG_TCG_TIS is not set
-# CONFIG_TCG_NSC is not set
-CONFIG_TCG_ATMEL=m
-# CONFIG_TCG_INFINEON is not set
-CONFIG_TELCLOCK=m
-CONFIG_DEVPORT=y
-CONFIG_RAMOOPS=m
-CONFIG_I2C=m
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=m
-CONFIG_I2C_MUX=m
-
-#
-# Multiplexer I2C Chip support
-#
-CONFIG_I2C_MUX_GPIO=m
-CONFIG_I2C_MUX_PCA9541=m
-CONFIG_I2C_MUX_PCA954x=m
-CONFIG_I2C_HELPER_AUTO=y
-CONFIG_I2C_SMBUS=m
-CONFIG_I2C_ALGOBIT=m
-CONFIG_I2C_ALGOPCA=m
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# PC SMBus host controller drivers
-#
-CONFIG_I2C_ALI1535=m
-CONFIG_I2C_ALI1563=m
-CONFIG_I2C_ALI15X3=m
-CONFIG_I2C_AMD756=m
-CONFIG_I2C_AMD756_S4882=m
-CONFIG_I2C_AMD8111=m
-CONFIG_I2C_I801=m
-CONFIG_I2C_ISCH=m
-CONFIG_I2C_PIIX4=m
-CONFIG_I2C_NFORCE2=m
-CONFIG_I2C_NFORCE2_S4985=m
-CONFIG_I2C_SIS5595=m
-CONFIG_I2C_SIS630=m
-CONFIG_I2C_SIS96X=m
-CONFIG_I2C_VIA=m
-CONFIG_I2C_VIAPRO=m
-
-#
-# ACPI drivers
-#
-CONFIG_I2C_SCMI=m
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-CONFIG_I2C_DESIGNWARE_PCI=m
-CONFIG_I2C_GPIO=m
-CONFIG_I2C_INTEL_MID=m
-CONFIG_I2C_OCORES=m
-CONFIG_I2C_PCA_PLATFORM=m
-# CONFIG_I2C_PXA_PCI is not set
-CONFIG_I2C_SIMTEC=m
-CONFIG_I2C_XILINX=m
-CONFIG_I2C_EG20T=m
-
-#
-# External I2C/SMBus adapter drivers
-#
-CONFIG_I2C_DIOLAN_U2C=m
-CONFIG_I2C_PARPORT=m
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_TAOS_EVM=m
-CONFIG_I2C_TINY_USB=m
-
-#
-# Other I2C/SMBus bus drivers
-#
-CONFIG_I2C_PCA_ISA=m
-CONFIG_I2C_STUB=m
-CONFIG_SCx200_I2C=m
-CONFIG_SCx200_I2C_SCL=12
-CONFIG_SCx200_I2C_SDA=13
-CONFIG_SCx200_ACB=m
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_SPI is not set
-
-#
-# PPS support
-#
-CONFIG_PPS=m
-# CONFIG_PPS_DEBUG is not set
-
-#
-# PPS clients support
-#
-# CONFIG_PPS_CLIENT_KTIMER is not set
-CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
-CONFIG_PPS_CLIENT_GPIO=m
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-CONFIG_PTP_1588_CLOCK=m
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_DEBUG_GPIO is not set
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_GENERIC=m
-CONFIG_GPIO_MAX730X=m
-
-#
-# Memory mapped GPIO drivers:
-#
-CONFIG_GPIO_GENERIC_PLATFORM=m
-CONFIG_GPIO_IT8761E=m
-CONFIG_GPIO_SCH=m
-CONFIG_GPIO_VX855=m
-
-#
-# I2C GPIO expanders:
-#
-CONFIG_GPIO_MAX7300=m
-CONFIG_GPIO_MAX732X=m
-CONFIG_GPIO_PCA953X=m
-CONFIG_GPIO_PCF857X=m
-CONFIG_GPIO_ADP5588=m
-
-#
-# PCI GPIO expanders:
-#
-CONFIG_GPIO_CS5535=m
-# CONFIG_GPIO_LANGWELL is not set
-CONFIG_GPIO_PCH=m
-CONFIG_GPIO_ML_IOH=m
-# CONFIG_GPIO_TIMBERDALE is not set
-CONFIG_GPIO_RDC321X=m
-
-#
-# SPI GPIO expanders:
-#
-CONFIG_GPIO_MCP23S08=m
-
-#
-# AC97 GPIO expanders:
-#
-# CONFIG_GPIO_UCB1400 is not set
-
-#
-# MODULbus GPIO expanders:
-#
-CONFIG_GPIO_JANZ_TTL=m
-CONFIG_W1=m
-CONFIG_W1_CON=y
-
-#
-# 1-wire Bus Masters
-#
-CONFIG_W1_MASTER_MATROX=m
-CONFIG_W1_MASTER_DS2490=m
-CONFIG_W1_MASTER_DS2482=m
-CONFIG_W1_MASTER_DS1WM=m
-CONFIG_W1_MASTER_GPIO=m
-
-#
-# 1-wire Slaves
-#
-CONFIG_W1_SLAVE_THERM=m
-CONFIG_W1_SLAVE_SMEM=m
-CONFIG_W1_SLAVE_DS2408=m
-CONFIG_W1_SLAVE_DS2423=m
-CONFIG_W1_SLAVE_DS2431=m
-CONFIG_W1_SLAVE_DS2433=m
-CONFIG_W1_SLAVE_DS2433_CRC=y
-CONFIG_W1_SLAVE_DS2760=m
-CONFIG_W1_SLAVE_DS2780=m
-CONFIG_W1_SLAVE_BQ27000=m
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=m
-CONFIG_TEST_POWER=m
-CONFIG_BATTERY_DS2760=m
-CONFIG_BATTERY_DS2780=m
-CONFIG_BATTERY_DS2782=m
-CONFIG_BATTERY_BQ20Z75=m
-CONFIG_BATTERY_BQ27x00=m
-CONFIG_BATTERY_BQ27X00_I2C=y
-CONFIG_BATTERY_BQ27X00_PLATFORM=y
-CONFIG_BATTERY_MAX17040=m
-CONFIG_BATTERY_MAX17042=m
-CONFIG_CHARGER_PCF50633=m
-CONFIG_CHARGER_ISP1704=m
-CONFIG_CHARGER_MAX8903=m
-CONFIG_CHARGER_GPIO=m
-CONFIG_HWMON=m
-CONFIG_HWMON_VID=m
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-CONFIG_SENSORS_ABITUGURU=m
-CONFIG_SENSORS_ABITUGURU3=m
-CONFIG_SENSORS_AD7414=m
-CONFIG_SENSORS_AD7418=m
-CONFIG_SENSORS_ADM1021=m
-CONFIG_SENSORS_ADM1025=m
-CONFIG_SENSORS_ADM1026=m
-CONFIG_SENSORS_ADM1029=m
-CONFIG_SENSORS_ADM1031=m
-CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADT7411=m
-CONFIG_SENSORS_ADT7462=m
-CONFIG_SENSORS_ADT7470=m
-CONFIG_SENSORS_ADT7475=m
-CONFIG_SENSORS_ASC7621=m
-CONFIG_SENSORS_K8TEMP=m
-CONFIG_SENSORS_K10TEMP=m
-CONFIG_SENSORS_FAM15H_POWER=m
-CONFIG_SENSORS_ASB100=m
-CONFIG_SENSORS_ATXP1=m
-CONFIG_SENSORS_DS620=m
-CONFIG_SENSORS_DS1621=m
-CONFIG_SENSORS_I5K_AMB=m
-CONFIG_SENSORS_F71805F=m
-CONFIG_SENSORS_F71882FG=m
-CONFIG_SENSORS_F75375S=m
-CONFIG_SENSORS_FSCHMD=m
-CONFIG_SENSORS_G760A=m
-CONFIG_SENSORS_GL518SM=m
-CONFIG_SENSORS_GL520SM=m
-CONFIG_SENSORS_GPIO_FAN=m
-CONFIG_SENSORS_CORETEMP=m
-CONFIG_SENSORS_IBMAEM=m
-CONFIG_SENSORS_IBMPEX=m
-CONFIG_SENSORS_IT87=m
-CONFIG_SENSORS_JC42=m
-CONFIG_SENSORS_LINEAGE=m
-CONFIG_SENSORS_LM63=m
-CONFIG_SENSORS_LM73=m
-CONFIG_SENSORS_LM75=m
-CONFIG_SENSORS_LM77=m
-CONFIG_SENSORS_LM78=m
-CONFIG_SENSORS_LM80=m
-CONFIG_SENSORS_LM83=m
-CONFIG_SENSORS_LM85=m
-CONFIG_SENSORS_LM87=m
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_LM92=m
-CONFIG_SENSORS_LM93=m
-CONFIG_SENSORS_LTC4151=m
-CONFIG_SENSORS_LTC4215=m
-CONFIG_SENSORS_LTC4245=m
-CONFIG_SENSORS_LTC4261=m
-CONFIG_SENSORS_LM95241=m
-CONFIG_SENSORS_LM95245=m
-CONFIG_SENSORS_MAX16065=m
-CONFIG_SENSORS_MAX1619=m
-CONFIG_SENSORS_MAX1668=m
-CONFIG_SENSORS_MAX6639=m
-CONFIG_SENSORS_MAX6642=m
-CONFIG_SENSORS_MAX6650=m
-CONFIG_SENSORS_NTC_THERMISTOR=m
-CONFIG_SENSORS_PC87360=m
-CONFIG_SENSORS_PC87427=m
-CONFIG_SENSORS_PCF8591=m
-CONFIG_PMBUS=m
-CONFIG_SENSORS_PMBUS=m
-CONFIG_SENSORS_ADM1275=m
-CONFIG_SENSORS_LM25066=m
-CONFIG_SENSORS_LTC2978=m
-CONFIG_SENSORS_MAX16064=m
-CONFIG_SENSORS_MAX34440=m
-CONFIG_SENSORS_MAX8688=m
-CONFIG_SENSORS_UCD9000=m
-CONFIG_SENSORS_UCD9200=m
-CONFIG_SENSORS_ZL6100=m
-CONFIG_SENSORS_SHT15=m
-CONFIG_SENSORS_SHT21=m
-CONFIG_SENSORS_SIS5595=m
-CONFIG_SENSORS_SMM665=m
-CONFIG_SENSORS_DME1737=m
-CONFIG_SENSORS_EMC1403=m
-CONFIG_SENSORS_EMC2103=m
-CONFIG_SENSORS_EMC6W201=m
-CONFIG_SENSORS_SMSC47M1=m
-CONFIG_SENSORS_SMSC47M192=m
-CONFIG_SENSORS_SMSC47B397=m
-CONFIG_SENSORS_SCH56XX_COMMON=m
-CONFIG_SENSORS_SCH5627=m
-CONFIG_SENSORS_SCH5636=m
-CONFIG_SENSORS_ADS1015=m
-CONFIG_SENSORS_ADS7828=m
-CONFIG_SENSORS_AMC6821=m
-CONFIG_SENSORS_THMC50=m
-CONFIG_SENSORS_TMP102=m
-CONFIG_SENSORS_TMP401=m
-CONFIG_SENSORS_TMP421=m
-CONFIG_SENSORS_VIA_CPUTEMP=m
-CONFIG_SENSORS_VIA686A=m
-CONFIG_SENSORS_VT1211=m
-CONFIG_SENSORS_VT8231=m
-CONFIG_SENSORS_W83781D=m
-CONFIG_SENSORS_W83791D=m
-CONFIG_SENSORS_W83792D=m
-CONFIG_SENSORS_W83793=m
-CONFIG_SENSORS_W83795=m
-# CONFIG_SENSORS_W83795_FANCTRL is not set
-CONFIG_SENSORS_W83L785TS=m
-CONFIG_SENSORS_W83L786NG=m
-CONFIG_SENSORS_W83627HF=m
-CONFIG_SENSORS_W83627EHF=m
-CONFIG_SENSORS_APPLESMC=m
-
-#
-# ACPI drivers
-#
-CONFIG_SENSORS_ACPI_POWER=m
-CONFIG_SENSORS_ATK0110=m
-CONFIG_THERMAL=m
-CONFIG_THERMAL_HWMON=y
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_CORE=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-CONFIG_SOFT_WATCHDOG=m
-CONFIG_ACQUIRE_WDT=m
-CONFIG_ADVANTECH_WDT=m
-CONFIG_ALIM1535_WDT=m
-CONFIG_ALIM7101_WDT=m
-CONFIG_F71808E_WDT=m
-CONFIG_SP5100_TCO=m
-CONFIG_GEODE_WDT=m
-CONFIG_SC520_WDT=m
-CONFIG_SBC_FITPC2_WATCHDOG=m
-CONFIG_EUROTECH_WDT=m
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
-CONFIG_WAFER_WDT=m
-CONFIG_I6300ESB_WDT=m
-CONFIG_ITCO_WDT=m
-CONFIG_ITCO_VENDOR_SUPPORT=y
-CONFIG_IT8712F_WDT=m
-CONFIG_IT87_WDT=m
-CONFIG_HP_WATCHDOG=m
-CONFIG_HPWDT_NMI_DECODING=y
-CONFIG_SC1200_WDT=m
-CONFIG_SCx200_WDT=m
-CONFIG_PC87413_WDT=m
-CONFIG_NV_TCO=m
-CONFIG_60XX_WDT=m
-CONFIG_SBC8360_WDT=m
-CONFIG_SBC7240_WDT=m
-CONFIG_CPU5_WDT=m
-CONFIG_SMSC_SCH311X_WDT=m
-CONFIG_SMSC37B787_WDT=m
-CONFIG_W83627HF_WDT=m
-CONFIG_W83697HF_WDT=m
-CONFIG_W83697UG_WDT=m
-CONFIG_W83877F_WDT=m
-CONFIG_W83977F_WDT=m
-CONFIG_MACHZ_WDT=m
-CONFIG_SBC_EPX_C3_WATCHDOG=m
-
-#
-# ISA-based Watchdog Cards
-#
-CONFIG_PCWATCHDOG=m
-CONFIG_MIXCOMWD=m
-CONFIG_WDT=m
-
-#
-# PCI-based Watchdog Cards
-#
-CONFIG_PCIPCWATCHDOG=m
-CONFIG_WDTPCI=m
-
-#
-# USB-based Watchdog Cards
-#
-CONFIG_USBPCWATCHDOG=m
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-CONFIG_SSB=m
-CONFIG_SSB_SPROM=y
-CONFIG_SSB_BLOCKIO=y
-CONFIG_SSB_PCIHOST_POSSIBLE=y
-CONFIG_SSB_PCIHOST=y
-CONFIG_SSB_B43_PCI_BRIDGE=y
-CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
-CONFIG_SSB_PCMCIAHOST=y
-CONFIG_SSB_SDIOHOST_POSSIBLE=y
-CONFIG_SSB_SDIOHOST=y
-# CONFIG_SSB_DEBUG is not set
-CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
-CONFIG_SSB_DRIVER_PCICORE=y
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-# CONFIG_BCMA is not set
-
-#
-# Multifunction device drivers
-#
-CONFIG_MFD_CORE=m
-# CONFIG_MFD_SM501 is not set
-CONFIG_HTC_PASIC3=m
-CONFIG_UCB1400_CORE=m
-CONFIG_TPS6105X=m
-CONFIG_TPS65010=m
-CONFIG_TPS6507X=m
-# CONFIG_MFD_TMIO is not set
-CONFIG_MFD_WM8400=m
-CONFIG_MFD_PCF50633=m
-CONFIG_PCF50633_ADC=m
-CONFIG_PCF50633_GPIO=m
-# CONFIG_ABX500_CORE is not set
-CONFIG_MFD_CS5535=m
-CONFIG_MFD_TIMBERDALE=m
-CONFIG_LPC_SCH=m
-CONFIG_MFD_RDC321X=m
-CONFIG_MFD_JANZ_CMODIO=m
-CONFIG_MFD_VX855=m
-CONFIG_MFD_WL1273_CORE=m
-CONFIG_REGULATOR=y
-# CONFIG_REGULATOR_DEBUG is not set
-# CONFIG_REGULATOR_DUMMY is not set
-CONFIG_REGULATOR_FIXED_VOLTAGE=m
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-CONFIG_REGULATOR_USERSPACE_CONSUMER=m
-CONFIG_REGULATOR_GPIO=m
-CONFIG_REGULATOR_BQ24022=m
-CONFIG_REGULATOR_MAX1586=m
-CONFIG_REGULATOR_MAX8649=m
-CONFIG_REGULATOR_MAX8660=m
-CONFIG_REGULATOR_MAX8952=m
-CONFIG_REGULATOR_WM8400=m
-CONFIG_REGULATOR_PCF50633=m
-CONFIG_REGULATOR_LP3971=m
-CONFIG_REGULATOR_LP3972=m
-CONFIG_REGULATOR_TPS6105X=m
-CONFIG_REGULATOR_TPS65023=m
-CONFIG_REGULATOR_TPS6507X=m
-CONFIG_REGULATOR_ISL6271A=m
-CONFIG_REGULATOR_AD5398=m
-CONFIG_MEDIA_SUPPORT=m
-
-#
-# Multimedia core support
-#
-# CONFIG_MEDIA_CONTROLLER is not set
-CONFIG_VIDEO_DEV=m
-CONFIG_VIDEO_V4L2_COMMON=m
-CONFIG_DVB_CORE=m
-CONFIG_DVB_NET=y
-CONFIG_VIDEO_MEDIA=m
-
-#
-# Multimedia drivers
-#
-CONFIG_VIDEO_SAA7146=m
-CONFIG_VIDEO_SAA7146_VV=m
-CONFIG_RC_CORE=m
-CONFIG_LIRC=m
-CONFIG_RC_MAP=m
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_RC5_SZ_DECODER=m
-CONFIG_IR_MCE_KBD_DECODER=m
-CONFIG_IR_LIRC_CODEC=m
-CONFIG_RC_ATI_REMOTE=m
-CONFIG_IR_ENE=m
-CONFIG_IR_IMON=m
-CONFIG_IR_MCEUSB=m
-CONFIG_IR_ITE_CIR=m
-CONFIG_IR_FINTEK=m
-CONFIG_IR_NUVOTON=m
-CONFIG_IR_REDRAT3=m
-CONFIG_IR_STREAMZAP=m
-CONFIG_IR_WINBOND_CIR=m
-CONFIG_RC_LOOPBACK=m
-CONFIG_MEDIA_ATTACH=y
-CONFIG_MEDIA_TUNER=m
-# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
-CONFIG_MEDIA_TUNER_SIMPLE=m
-CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA827X=m
-CONFIG_MEDIA_TUNER_TDA18271=m
-CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_MEDIA_TUNER_TEA5761=m
-CONFIG_MEDIA_TUNER_TEA5767=m
-CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_MT2060=m
-CONFIG_MEDIA_TUNER_MT2266=m
-CONFIG_MEDIA_TUNER_MT2131=m
-CONFIG_MEDIA_TUNER_QT1010=m
-CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_MEDIA_TUNER_XC5000=m
-CONFIG_MEDIA_TUNER_XC4000=m
-CONFIG_MEDIA_TUNER_MXL5005S=m
-CONFIG_MEDIA_TUNER_MXL5007T=m
-CONFIG_MEDIA_TUNER_MC44S803=m
-CONFIG_MEDIA_TUNER_MAX2165=m
-CONFIG_MEDIA_TUNER_TDA18218=m
-CONFIG_MEDIA_TUNER_TDA18212=m
-CONFIG_VIDEO_V4L2=m
-CONFIG_VIDEOBUF_GEN=m
-CONFIG_VIDEOBUF_DMA_SG=m
-CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEOBUF_DMA_CONTIG=m
-CONFIG_VIDEOBUF_DVB=m
-CONFIG_VIDEO_BTCX=m
-CONFIG_VIDEO_TVEEPROM=m
-CONFIG_VIDEO_TUNER=m
-CONFIG_V4L2_MEM2MEM_DEV=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_DMA_CONTIG=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
-CONFIG_VIDEO_IR_I2C=m
-
-#
-# Encoders, decoders, sensors and other helper chips
-#
-
-#
-# Audio decoders, processors and mixers
-#
-CONFIG_VIDEO_TVAUDIO=m
-CONFIG_VIDEO_TDA7432=m
-CONFIG_VIDEO_TDA9840=m
-CONFIG_VIDEO_TEA6415C=m
-CONFIG_VIDEO_TEA6420=m
-CONFIG_VIDEO_MSP3400=m
-CONFIG_VIDEO_CS5345=m
-CONFIG_VIDEO_CS53L32A=m
-CONFIG_VIDEO_TLV320AIC23B=m
-CONFIG_VIDEO_WM8775=m
-CONFIG_VIDEO_WM8739=m
-CONFIG_VIDEO_VP27SMPX=m
-
-#
-# RDS decoders
-#
-CONFIG_VIDEO_SAA6588=m
-
-#
-# Video decoders
-#
-CONFIG_VIDEO_ADV7180=m
-CONFIG_VIDEO_BT819=m
-CONFIG_VIDEO_BT856=m
-CONFIG_VIDEO_BT866=m
-CONFIG_VIDEO_KS0127=m
-CONFIG_VIDEO_SAA7110=m
-CONFIG_VIDEO_SAA711X=m
-CONFIG_VIDEO_SAA7191=m
-CONFIG_VIDEO_TVP514X=m
-CONFIG_VIDEO_TVP5150=m
-CONFIG_VIDEO_TVP7002=m
-CONFIG_VIDEO_VPX3220=m
-
-#
-# Video and audio decoders
-#
-CONFIG_VIDEO_SAA717X=m
-CONFIG_VIDEO_CX25840=m
-
-#
-# MPEG video encoders
-#
-CONFIG_VIDEO_CX2341X=m
-
-#
-# Video encoders
-#
-CONFIG_VIDEO_SAA7127=m
-CONFIG_VIDEO_SAA7185=m
-CONFIG_VIDEO_ADV7170=m
-CONFIG_VIDEO_ADV7175=m
-CONFIG_VIDEO_ADV7343=m
-CONFIG_VIDEO_AK881X=m
-
-#
-# Camera sensor devices
-#
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9V011=m
-CONFIG_VIDEO_TCM825X=m
-CONFIG_VIDEO_SR030PC30=m
-
-#
-# Flash devices
-#
-
-#
-# Video improvement chips
-#
-CONFIG_VIDEO_UPD64031A=m
-CONFIG_VIDEO_UPD64083=m
-
-#
-# Miscelaneous helper chips
-#
-CONFIG_VIDEO_THS7303=m
-CONFIG_VIDEO_M52790=m
-CONFIG_VIDEO_VIVI=m
-CONFIG_VIDEO_BT848=m
-CONFIG_VIDEO_BT848_DVB=y
-CONFIG_VIDEO_PMS=m
-CONFIG_VIDEO_BWQCAM=m
-CONFIG_VIDEO_CQCAM=m
-CONFIG_VIDEO_W9966=m
-CONFIG_VIDEO_CPIA2=m
-CONFIG_VIDEO_ZORAN=m
-CONFIG_VIDEO_ZORAN_DC30=m
-CONFIG_VIDEO_ZORAN_ZR36060=m
-CONFIG_VIDEO_ZORAN_BUZ=m
-CONFIG_VIDEO_ZORAN_DC10=m
-CONFIG_VIDEO_ZORAN_LML33=m
-CONFIG_VIDEO_ZORAN_LML33R10=m
-CONFIG_VIDEO_ZORAN_AVS6EYES=m
-CONFIG_VIDEO_MEYE=m
-CONFIG_VIDEO_SAA7134=m
-CONFIG_VIDEO_SAA7134_ALSA=m
-CONFIG_VIDEO_SAA7134_RC=y
-CONFIG_VIDEO_SAA7134_DVB=m
-CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_HEXIUM_ORION=m
-CONFIG_VIDEO_HEXIUM_GEMINI=m
-CONFIG_VIDEO_TIMBERDALE=m
-CONFIG_VIDEO_CX88=m
-CONFIG_VIDEO_CX88_ALSA=m
-CONFIG_VIDEO_CX88_BLACKBIRD=m
-CONFIG_VIDEO_CX88_DVB=m
-CONFIG_VIDEO_CX88_MPEG=m
-CONFIG_VIDEO_CX88_VP3054=m
-CONFIG_VIDEO_CX23885=m
-CONFIG_MEDIA_ALTERA_CI=m
-CONFIG_VIDEO_CX25821=m
-CONFIG_VIDEO_CX25821_ALSA=m
-CONFIG_VIDEO_AU0828=m
-CONFIG_VIDEO_IVTV=m
-CONFIG_VIDEO_FB_IVTV=m
-CONFIG_VIDEO_CX18=m
-CONFIG_VIDEO_CX18_ALSA=m
-CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_CAFE_CCIC=m
-CONFIG_VIDEO_VIA_CAMERA=m
-CONFIG_SOC_CAMERA=m
-CONFIG_SOC_CAMERA_IMX074=m
-CONFIG_SOC_CAMERA_MT9M001=m
-CONFIG_SOC_CAMERA_MT9M111=m
-CONFIG_SOC_CAMERA_MT9T031=m
-CONFIG_SOC_CAMERA_MT9T112=m
-CONFIG_SOC_CAMERA_MT9V022=m
-CONFIG_SOC_CAMERA_RJ54N1=m
-CONFIG_SOC_CAMERA_TW9910=m
-CONFIG_SOC_CAMERA_PLATFORM=m
-CONFIG_SOC_CAMERA_OV2640=m
-CONFIG_SOC_CAMERA_OV5642=m
-CONFIG_SOC_CAMERA_OV6650=m
-CONFIG_SOC_CAMERA_OV772X=m
-CONFIG_SOC_CAMERA_OV9640=m
-CONFIG_SOC_CAMERA_OV9740=m
-CONFIG_V4L_USB_DRIVERS=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-CONFIG_USB_GSPCA=m
-CONFIG_USB_M5602=m
-CONFIG_USB_STV06XX=m
-CONFIG_USB_GL860=m
-CONFIG_USB_GSPCA_BENQ=m
-CONFIG_USB_GSPCA_CONEX=m
-CONFIG_USB_GSPCA_CPIA1=m
-CONFIG_USB_GSPCA_ETOMS=m
-CONFIG_USB_GSPCA_FINEPIX=m
-CONFIG_USB_GSPCA_JEILINJ=m
-CONFIG_USB_GSPCA_KINECT=m
-CONFIG_USB_GSPCA_KONICA=m
-CONFIG_USB_GSPCA_MARS=m
-CONFIG_USB_GSPCA_MR97310A=m
-CONFIG_USB_GSPCA_NW80X=m
-CONFIG_USB_GSPCA_OV519=m
-CONFIG_USB_GSPCA_OV534=m
-CONFIG_USB_GSPCA_OV534_9=m
-CONFIG_USB_GSPCA_PAC207=m
-CONFIG_USB_GSPCA_PAC7302=m
-CONFIG_USB_GSPCA_PAC7311=m
-CONFIG_USB_GSPCA_SE401=m
-CONFIG_USB_GSPCA_SN9C2028=m
-CONFIG_USB_GSPCA_SN9C20X=m
-CONFIG_USB_GSPCA_SONIXB=m
-CONFIG_USB_GSPCA_SONIXJ=m
-CONFIG_USB_GSPCA_SPCA500=m
-CONFIG_USB_GSPCA_SPCA501=m
-CONFIG_USB_GSPCA_SPCA505=m
-CONFIG_USB_GSPCA_SPCA506=m
-CONFIG_USB_GSPCA_SPCA508=m
-CONFIG_USB_GSPCA_SPCA561=m
-CONFIG_USB_GSPCA_SPCA1528=m
-CONFIG_USB_GSPCA_SQ905=m
-CONFIG_USB_GSPCA_SQ905C=m
-CONFIG_USB_GSPCA_SQ930X=m
-CONFIG_USB_GSPCA_STK014=m
-CONFIG_USB_GSPCA_STV0680=m
-CONFIG_USB_GSPCA_SUNPLUS=m
-CONFIG_USB_GSPCA_T613=m
-CONFIG_USB_GSPCA_TOPRO=m
-CONFIG_USB_GSPCA_TV8532=m
-CONFIG_USB_GSPCA_VC032X=m
-CONFIG_USB_GSPCA_VICAM=m
-CONFIG_USB_GSPCA_XIRLINK_CIT=m
-CONFIG_USB_GSPCA_ZC3XX=m
-CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_PVRUSB2_SYSFS=y
-CONFIG_VIDEO_PVRUSB2_DVB=y
-# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
-CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_EM28XX_RC=y
-CONFIG_VIDEO_TLG2300=m
-CONFIG_VIDEO_CX231XX=m
-CONFIG_VIDEO_CX231XX_RC=y
-CONFIG_VIDEO_CX231XX_ALSA=m
-CONFIG_VIDEO_CX231XX_DVB=m
-CONFIG_VIDEO_TM6000=m
-CONFIG_VIDEO_TM6000_ALSA=m
-CONFIG_VIDEO_TM6000_DVB=m
-CONFIG_VIDEO_USBVISION=m
-CONFIG_USB_ET61X251=m
-CONFIG_USB_SN9C102=m
-CONFIG_USB_PWC=m
-# CONFIG_USB_PWC_DEBUG is not set
-CONFIG_USB_PWC_INPUT_EVDEV=y
-CONFIG_USB_ZR364XX=m
-CONFIG_USB_STKWEBCAM=m
-CONFIG_USB_S2255=m
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_MEM2MEM_TESTDEV=m
-CONFIG_RADIO_ADAPTERS=y
-CONFIG_RADIO_CADET=m
-CONFIG_RADIO_RTRACK=m
-CONFIG_RADIO_RTRACK2=m
-CONFIG_RADIO_AZTECH=m
-CONFIG_RADIO_GEMTEK=m
-CONFIG_RADIO_MAXIRADIO=m
-CONFIG_RADIO_MIROPCM20=m
-CONFIG_RADIO_SF16FMI=m
-CONFIG_RADIO_SF16FMR2=m
-CONFIG_RADIO_TERRATEC=m
-CONFIG_RADIO_TRUST=m
-CONFIG_RADIO_TYPHOON=m
-CONFIG_RADIO_ZOLTRIX=m
-CONFIG_I2C_SI4713=m
-CONFIG_RADIO_SI4713=m
-CONFIG_USB_DSBR=m
-# CONFIG_RADIO_SI470X is not set
-CONFIG_USB_MR800=m
-CONFIG_RADIO_TEA5764=m
-CONFIG_RADIO_SAA7706H=m
-CONFIG_RADIO_TEF6862=m
-CONFIG_RADIO_TIMBERDALE=m
-CONFIG_RADIO_WL1273=m
-
-#
-# Texas Instruments WL128x FM driver (ST based)
-#
-CONFIG_RADIO_WL128X=m
-CONFIG_DVB_MAX_ADAPTERS=8
-# CONFIG_DVB_DYNAMIC_MINORS is not set
-CONFIG_DVB_CAPTURE_DRIVERS=y
-
-#
-# Supported SAA7146 based PCI Adapters
-#
-CONFIG_TTPCI_EEPROM=m
-CONFIG_DVB_AV7110=m
-CONFIG_DVB_AV7110_OSD=y
-CONFIG_DVB_BUDGET_CORE=m
-CONFIG_DVB_BUDGET=m
-CONFIG_DVB_BUDGET_CI=m
-CONFIG_DVB_BUDGET_AV=m
-CONFIG_DVB_BUDGET_PATCH=m
-
-#
-# Supported USB Adapters
-#
-CONFIG_DVB_USB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_DIBUSB_MB=m
-# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIB0700=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_CXUSB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-CONFIG_DVB_USB_PCTV452E=m
-CONFIG_DVB_USB_DW2102=m
-CONFIG_DVB_USB_CINERGY_T2=m
-CONFIG_DVB_USB_ANYSEE=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_USB_AF9015=m
-CONFIG_DVB_USB_CE6230=m
-CONFIG_DVB_USB_FRIIO=m
-CONFIG_DVB_USB_EC168=m
-CONFIG_DVB_USB_AZ6027=m
-CONFIG_DVB_USB_LME2510=m
-CONFIG_DVB_USB_TECHNISAT_USB2=m
-CONFIG_DVB_USB_IT913X=m
-CONFIG_DVB_USB_MXL111SF=m
-CONFIG_DVB_TTUSB_BUDGET=m
-CONFIG_DVB_TTUSB_DEC=m
-CONFIG_SMS_SIANO_MDTV=m
-
-#
-# Siano module components
-#
-CONFIG_SMS_USB_DRV=m
-CONFIG_SMS_SDIO_DRV=m
-
-#
-# Supported FlexCopII (B2C2) Adapters
-#
-CONFIG_DVB_B2C2_FLEXCOP=m
-CONFIG_DVB_B2C2_FLEXCOP_PCI=m
-CONFIG_DVB_B2C2_FLEXCOP_USB=m
-# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
-
-#
-# Supported BT878 Adapters
-#
-CONFIG_DVB_BT8XX=m
-
-#
-# Supported Pluto2 Adapters
-#
-CONFIG_DVB_PLUTO2=m
-
-#
-# Supported SDMC DM1105 Adapters
-#
-CONFIG_DVB_DM1105=m
-
-#
-# Supported FireWire (IEEE 1394) Adapters
-#
-CONFIG_DVB_FIREDTV=m
-CONFIG_DVB_FIREDTV_INPUT=y
-
-#
-# Supported Earthsoft PT1 Adapters
-#
-CONFIG_DVB_PT1=m
-
-#
-# Supported Mantis Adapters
-#
-CONFIG_MANTIS_CORE=m
-CONFIG_DVB_MANTIS=m
-CONFIG_DVB_HOPPER=m
-
-#
-# Supported nGene Adapters
-#
-CONFIG_DVB_NGENE=m
-
-#
-# Supported ddbridge ('Octopus') Adapters
-#
-CONFIG_DVB_DDBRIDGE=m
-
-#
-# Supported DVB Frontends
-#
-CONFIG_DVB_FE_CUSTOMISE=y
-
-#
-# Customise DVB Frontends
-#
-
-#
-# Multistandard (satellite) frontends
-#
-CONFIG_DVB_STB0899=m
-CONFIG_DVB_STB6100=m
-CONFIG_DVB_STV090x=m
-CONFIG_DVB_STV6110x=m
-
-#
-# Multistandard (cable + terrestrial) frontends
-#
-CONFIG_DVB_DRXK=m
-CONFIG_DVB_TDA18271C2DD=m
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_CX24110=m
-CONFIG_DVB_CX24123=m
-CONFIG_DVB_MT312=m
-CONFIG_DVB_ZL10036=m
-CONFIG_DVB_ZL10039=m
-CONFIG_DVB_S5H1420=m
-CONFIG_DVB_STV0288=m
-CONFIG_DVB_STB6000=m
-CONFIG_DVB_STV0299=m
-CONFIG_DVB_STV6110=m
-CONFIG_DVB_STV0900=m
-CONFIG_DVB_TDA8083=m
-CONFIG_DVB_TDA10086=m
-CONFIG_DVB_TDA8261=m
-CONFIG_DVB_VES1X93=m
-CONFIG_DVB_TUNER_ITD1000=m
-CONFIG_DVB_TUNER_CX24113=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_TUA6100=m
-CONFIG_DVB_CX24116=m
-CONFIG_DVB_SI21XX=m
-CONFIG_DVB_DS3000=m
-CONFIG_DVB_MB86A16=m
-CONFIG_DVB_TDA10071=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_SP8870=m
-CONFIG_DVB_SP887X=m
-CONFIG_DVB_CX22700=m
-CONFIG_DVB_CX22702=m
-CONFIG_DVB_S5H1432=m
-CONFIG_DVB_DRXD=m
-CONFIG_DVB_L64781=m
-CONFIG_DVB_TDA1004X=m
-CONFIG_DVB_NXT6000=m
-CONFIG_DVB_MT352=m
-CONFIG_DVB_ZL10353=m
-CONFIG_DVB_DIB3000MB=m
-CONFIG_DVB_DIB3000MC=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_DVB_DIB7000P=m
-CONFIG_DVB_DIB9000=m
-CONFIG_DVB_TDA10048=m
-CONFIG_DVB_AF9013=m
-CONFIG_DVB_EC100=m
-CONFIG_DVB_STV0367=m
-CONFIG_DVB_CXD2820R=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_VES1820=m
-CONFIG_DVB_TDA10021=m
-CONFIG_DVB_TDA10023=m
-CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
-CONFIG_DVB_NXT200X=m
-CONFIG_DVB_OR51211=m
-CONFIG_DVB_OR51132=m
-CONFIG_DVB_BCM3510=m
-CONFIG_DVB_LGDT330X=m
-CONFIG_DVB_LGDT3305=m
-CONFIG_DVB_S5H1409=m
-CONFIG_DVB_AU8522=m
-CONFIG_DVB_S5H1411=m
-
-#
-# ISDB-T (terrestrial) frontends
-#
-CONFIG_DVB_S921=m
-CONFIG_DVB_DIB8000=m
-CONFIG_DVB_MB86A20S=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
-CONFIG_DVB_PLL=m
-CONFIG_DVB_TUNER_DIB0070=m
-CONFIG_DVB_TUNER_DIB0090=m
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_LNBP21=m
-CONFIG_DVB_LNBP22=m
-CONFIG_DVB_ISL6405=m
-CONFIG_DVB_ISL6421=m
-CONFIG_DVB_ISL6423=m
-CONFIG_DVB_A8293=m
-CONFIG_DVB_LGS8GL5=m
-CONFIG_DVB_LGS8GXX=m
-CONFIG_DVB_ATBM8830=m
-CONFIG_DVB_TDA665x=m
-CONFIG_DVB_IX2505V=m
-CONFIG_DVB_IT913X_FE=m
-
-#
-# Tools to develop new frontends
-#
-CONFIG_DVB_DUMMY_FE=m
-
-#
-# Graphics support
-#
-CONFIG_AGP=m
-CONFIG_AGP_ALI=m
-CONFIG_AGP_ATI=m
-CONFIG_AGP_AMD=m
-CONFIG_AGP_AMD64=m
-CONFIG_AGP_INTEL=m
-CONFIG_AGP_NVIDIA=m
-CONFIG_AGP_SIS=m
-CONFIG_AGP_SWORKS=m
-CONFIG_AGP_VIA=m
-CONFIG_AGP_EFFICEON=m
-CONFIG_VGA_ARB=y
-CONFIG_VGA_ARB_MAX_GPUS=16
-CONFIG_VGA_SWITCHEROO=y
-CONFIG_DRM=m
-CONFIG_DRM_KMS_HELPER=m
-CONFIG_DRM_TTM=m
-CONFIG_DRM_TDFX=m
-CONFIG_DRM_R128=m
-CONFIG_DRM_RADEON=m
-CONFIG_DRM_RADEON_KMS=y
-CONFIG_DRM_I810=m
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_KMS=y
-CONFIG_DRM_MGA=m
-CONFIG_DRM_SIS=m
-CONFIG_DRM_VIA=m
-CONFIG_DRM_SAVAGE=m
-CONFIG_DRM_VMWGFX=m
-CONFIG_STUB_POULSBO=m
-CONFIG_VGASTATE=m
-CONFIG_VIDEO_OUTPUT_CONTROL=m
-CONFIG_FB=y
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB_DDC=m
-CONFIG_FB_BOOT_VESA_SUPPORT=y
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
-# CONFIG_FB_WMT_GE_ROPS is not set
-CONFIG_FB_DEFERRED_IO=y
-CONFIG_FB_HECUBA=m
-CONFIG_FB_SVGALIB=m
-# CONFIG_FB_MACMODES is not set
-CONFIG_FB_BACKLIGHT=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_TILEBLITTING=y
-
-#
-# Frame buffer hardware drivers
-#
-CONFIG_FB_CIRRUS=m
-CONFIG_FB_PM2=m
-# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
-CONFIG_FB_CYBER2000=m
-CONFIG_FB_CYBER2000_DDC=y
-CONFIG_FB_ARC=m
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_IMSTT is not set
-CONFIG_FB_VGA16=m
-# CONFIG_FB_UVESA is not set
-CONFIG_FB_VESA=y
-CONFIG_FB_EFI=y
-CONFIG_FB_N411=m
-CONFIG_FB_HGA=m
-CONFIG_FB_S1D13XXX=m
-CONFIG_FB_NVIDIA=m
-CONFIG_FB_NVIDIA_I2C=y
-# CONFIG_FB_NVIDIA_DEBUG is not set
-CONFIG_FB_NVIDIA_BACKLIGHT=y
-CONFIG_FB_RIVA=m
-CONFIG_FB_RIVA_I2C=y
-# CONFIG_FB_RIVA_DEBUG is not set
-CONFIG_FB_RIVA_BACKLIGHT=y
-CONFIG_FB_I810=m
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_LE80578=m
-CONFIG_FB_CARILLO_RANCH=m
-CONFIG_FB_MATROX=m
-CONFIG_FB_MATROX_MILLENIUM=y
-CONFIG_FB_MATROX_MYSTIQUE=y
-CONFIG_FB_MATROX_G=y
-CONFIG_FB_MATROX_I2C=m
-CONFIG_FB_MATROX_MAVEN=m
-CONFIG_FB_RADEON=m
-CONFIG_FB_RADEON_I2C=y
-CONFIG_FB_RADEON_BACKLIGHT=y
-# CONFIG_FB_RADEON_DEBUG is not set
-CONFIG_FB_ATY128=m
-CONFIG_FB_ATY128_BACKLIGHT=y
-CONFIG_FB_ATY=m
-CONFIG_FB_ATY_CT=y
-CONFIG_FB_ATY_GENERIC_LCD=y
-CONFIG_FB_ATY_GX=y
-CONFIG_FB_ATY_BACKLIGHT=y
-CONFIG_FB_S3=m
-CONFIG_FB_S3_DDC=y
-CONFIG_FB_SAVAGE=m
-CONFIG_FB_SAVAGE_I2C=y
-CONFIG_FB_SAVAGE_ACCEL=y
-CONFIG_FB_SIS=m
-CONFIG_FB_SIS_300=y
-CONFIG_FB_SIS_315=y
-CONFIG_FB_VIA=m
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-CONFIG_FB_VIA_X_COMPATIBILITY=y
-CONFIG_FB_NEOMAGIC=m
-CONFIG_FB_KYRO=m
-CONFIG_FB_3DFX=m
-# CONFIG_FB_3DFX_ACCEL is not set
-CONFIG_FB_3DFX_I2C=y
-CONFIG_FB_VOODOO1=m
-CONFIG_FB_VT8623=m
-CONFIG_FB_TRIDENT=m
-CONFIG_FB_ARK=m
-CONFIG_FB_PM3=m
-CONFIG_FB_CARMINE=m
-CONFIG_FB_CARMINE_DRAM_EVAL=y
-# CONFIG_CARMINE_DRAM_CUSTOM is not set
-CONFIG_FB_GEODE=y
-CONFIG_FB_GEODE_LX=m
-CONFIG_FB_GEODE_GX=m
-CONFIG_FB_GEODE_GX1=m
-CONFIG_FB_TMIO=m
-CONFIG_FB_TMIO_ACCELL=y
-CONFIG_FB_SMSCUFX=m
-CONFIG_FB_UDL=m
-# CONFIG_FB_VIRTUAL is not set
-CONFIG_FB_METRONOME=m
-CONFIG_FB_MB862XX=m
-CONFIG_FB_MB862XX_PCI_GDC=y
-CONFIG_FB_MB862XX_I2C=y
-CONFIG_FB_BROADSHEET=m
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=m
-CONFIG_LCD_PLATFORM=m
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=m
-CONFIG_BACKLIGHT_PROGEAR=m
-CONFIG_BACKLIGHT_CARILLO_RANCH=m
-CONFIG_BACKLIGHT_APPLE=m
-CONFIG_BACKLIGHT_SAHARA=m
-CONFIG_BACKLIGHT_ADP8860=m
-CONFIG_BACKLIGHT_ADP8870=m
-CONFIG_BACKLIGHT_PCF50633=m
-
-#
-# Display device support
-#
-CONFIG_DISPLAY_SUPPORT=m
-
-#
-# Display hardware drivers
-#
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
-CONFIG_MDA_CONSOLE=m
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_7x14 is not set
-# CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
-# CONFIG_FONT_MINI_4x6 is not set
-CONFIG_FONT_SUN8x16=y
-# CONFIG_FONT_SUN12x22 is not set
-# CONFIG_FONT_10x18 is not set
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-CONFIG_SOUND=m
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-CONFIG_SND_JACK=y
-CONFIG_SND_SEQUENCER=m
-CONFIG_SND_SEQ_DUMMY=m
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
-CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_HRTIMER=m
-CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
-CONFIG_SND_DYNAMIC_MINORS=y
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_VMASTER=y
-CONFIG_SND_DMA_SGBUF=y
-CONFIG_SND_RAWMIDI_SEQ=m
-CONFIG_SND_OPL3_LIB_SEQ=m
-CONFIG_SND_OPL4_LIB_SEQ=m
-CONFIG_SND_SBAWE_SEQ=m
-CONFIG_SND_EMU10K1_SEQ=m
-CONFIG_SND_MPU401_UART=m
-CONFIG_SND_OPL3_LIB=m
-CONFIG_SND_OPL4_LIB=m
-CONFIG_SND_VX_LIB=m
-CONFIG_SND_AC97_CODEC=m
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_PCSP is not set
-CONFIG_SND_DUMMY=m
-CONFIG_SND_ALOOP=m
-CONFIG_SND_VIRMIDI=m
-CONFIG_SND_MTPAV=m
-CONFIG_SND_MTS64=m
-CONFIG_SND_SERIAL_U16550=m
-CONFIG_SND_MPU401=m
-CONFIG_SND_PORTMAN2X4=m
-CONFIG_SND_AC97_POWER_SAVE=y
-CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
-CONFIG_SND_WSS_LIB=m
-CONFIG_SND_SB_COMMON=m
-CONFIG_SND_SB8_DSP=m
-CONFIG_SND_SB16_DSP=m
-CONFIG_SND_ISA=y
-CONFIG_SND_ADLIB=m
-CONFIG_SND_AD1816A=m
-CONFIG_SND_AD1848=m
-CONFIG_SND_ALS100=m
-CONFIG_SND_AZT1605=m
-CONFIG_SND_AZT2316=m
-CONFIG_SND_AZT2320=m
-CONFIG_SND_CMI8330=m
-CONFIG_SND_CS4231=m
-CONFIG_SND_CS4236=m
-CONFIG_SND_ES1688=m
-CONFIG_SND_ES18XX=m
-CONFIG_SND_SC6000=m
-CONFIG_SND_GUSCLASSIC=m
-CONFIG_SND_GUSEXTREME=m
-CONFIG_SND_GUSMAX=m
-CONFIG_SND_INTERWAVE=m
-CONFIG_SND_INTERWAVE_STB=m
-CONFIG_SND_JAZZ16=m
-CONFIG_SND_OPL3SA2=m
-CONFIG_SND_OPTI92X_AD1848=m
-CONFIG_SND_OPTI92X_CS4231=m
-CONFIG_SND_OPTI93X=m
-CONFIG_SND_MIRO=m
-CONFIG_SND_SB8=m
-CONFIG_SND_SB16=m
-CONFIG_SND_SBAWE=m
-CONFIG_SND_SB16_CSP=y
-CONFIG_SND_SSCAPE=m
-CONFIG_SND_WAVEFRONT=m
-CONFIG_SND_MSND_PINNACLE=m
-CONFIG_SND_MSND_CLASSIC=m
-CONFIG_SND_TEA575X=m
-CONFIG_SND_PCI=y
-CONFIG_SND_AD1889=m
-CONFIG_SND_ALS300=m
-CONFIG_SND_ALS4000=m
-CONFIG_SND_ALI5451=m
-CONFIG_SND_ASIHPI=m
-CONFIG_SND_ATIIXP=m
-CONFIG_SND_ATIIXP_MODEM=m
-CONFIG_SND_AU8810=m
-CONFIG_SND_AU8820=m
-CONFIG_SND_AU8830=m
-CONFIG_SND_AW2=m
-CONFIG_SND_AZT3328=m
-CONFIG_SND_BT87X=m
-# CONFIG_SND_BT87X_OVERCLOCK is not set
-CONFIG_SND_CA0106=m
-CONFIG_SND_CMIPCI=m
-CONFIG_SND_OXYGEN_LIB=m
-CONFIG_SND_OXYGEN=m
-CONFIG_SND_CS4281=m
-CONFIG_SND_CS46XX=m
-CONFIG_SND_CS46XX_NEW_DSP=y
-CONFIG_SND_CS5530=m
-CONFIG_SND_CS5535AUDIO=m
-CONFIG_SND_CTXFI=m
-CONFIG_SND_DARLA20=m
-CONFIG_SND_GINA20=m
-CONFIG_SND_LAYLA20=m
-CONFIG_SND_DARLA24=m
-CONFIG_SND_GINA24=m
-CONFIG_SND_LAYLA24=m
-CONFIG_SND_MONA=m
-CONFIG_SND_MIA=m
-CONFIG_SND_ECHO3G=m
-CONFIG_SND_INDIGO=m
-CONFIG_SND_INDIGOIO=m
-CONFIG_SND_INDIGODJ=m
-CONFIG_SND_INDIGOIOX=m
-CONFIG_SND_INDIGODJX=m
-CONFIG_SND_EMU10K1=m
-CONFIG_SND_EMU10K1X=m
-CONFIG_SND_ENS1370=m
-CONFIG_SND_ENS1371=m
-CONFIG_SND_ES1938=m
-CONFIG_SND_ES1968=m
-CONFIG_SND_ES1968_INPUT=y
-CONFIG_SND_ES1968_RADIO=y
-CONFIG_SND_FM801=m
-CONFIG_SND_FM801_TEA575X_BOOL=y
-CONFIG_SND_HDA_INTEL=m
-CONFIG_SND_HDA_PREALLOC_SIZE=2048
-CONFIG_SND_HDA_HWDEP=y
-CONFIG_SND_HDA_RECONFIG=y
-# CONFIG_SND_HDA_INPUT_BEEP is not set
-CONFIG_SND_HDA_INPUT_JACK=y
-CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_CODEC_REALTEK=y
-CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
-CONFIG_SND_HDA_CODEC_ANALOG=y
-CONFIG_SND_HDA_CODEC_SIGMATEL=y
-CONFIG_SND_HDA_CODEC_VIA=y
-CONFIG_SND_HDA_CODEC_HDMI=y
-CONFIG_SND_HDA_CODEC_CIRRUS=y
-CONFIG_SND_HDA_CODEC_CONEXANT=y
-CONFIG_SND_HDA_CODEC_CA0110=y
-CONFIG_SND_HDA_CODEC_CA0132=y
-CONFIG_SND_HDA_CODEC_CMEDIA=y
-CONFIG_SND_HDA_CODEC_SI3054=y
-CONFIG_SND_HDA_GENERIC=y
-# CONFIG_SND_HDA_POWER_SAVE is not set
-CONFIG_SND_HDSP=m
-CONFIG_SND_HDSPM=m
-CONFIG_SND_ICE1712=m
-CONFIG_SND_ICE1724=m
-CONFIG_SND_INTEL8X0=m
-CONFIG_SND_INTEL8X0M=m
-CONFIG_SND_KORG1212=m
-CONFIG_SND_LOLA=m
-CONFIG_SND_LX6464ES=m
-CONFIG_SND_MAESTRO3=m
-CONFIG_SND_MAESTRO3_INPUT=y
-CONFIG_SND_MIXART=m
-CONFIG_SND_NM256=m
-CONFIG_SND_PCXHR=m
-CONFIG_SND_RIPTIDE=m
-CONFIG_SND_RME32=m
-CONFIG_SND_RME96=m
-CONFIG_SND_RME9652=m
-CONFIG_SND_SIS7019=m
-CONFIG_SND_SONICVIBES=m
-CONFIG_SND_TRIDENT=m
-CONFIG_SND_VIA82XX=m
-CONFIG_SND_VIA82XX_MODEM=m
-CONFIG_SND_VIRTUOSO=m
-CONFIG_SND_VX222=m
-CONFIG_SND_YMFPCI=m
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_USB_UA101=m
-CONFIG_SND_USB_USX2Y=m
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_USB_US122L=m
-CONFIG_SND_USB_6FIRE=m
-CONFIG_SND_FIREWIRE=y
-CONFIG_SND_FIREWIRE_LIB=m
-CONFIG_SND_FIREWIRE_SPEAKERS=m
-CONFIG_SND_ISIGHT=m
-CONFIG_SND_PCMCIA=y
-CONFIG_SND_VXPOCKET=m
-CONFIG_SND_PDAUDIOCF=m
-# CONFIG_SND_SOC is not set
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=m
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=m
-CONFIG_HIDRAW=y
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=m
-CONFIG_HID_PID=y
-CONFIG_USB_HIDDEV=y
-
-#
-# Special HID drivers
-#
-CONFIG_HID_A4TECH=m
-CONFIG_HID_ACRUX=m
-CONFIG_HID_ACRUX_FF=y
-CONFIG_HID_APPLE=m
-CONFIG_HID_BELKIN=m
-CONFIG_HID_CHERRY=m
-CONFIG_HID_CHICONY=m
-CONFIG_HID_PRODIKEYS=m
-CONFIG_HID_CYPRESS=m
-CONFIG_HID_DRAGONRISE=m
-CONFIG_DRAGONRISE_FF=y
-CONFIG_HID_EMS_FF=m
-CONFIG_HID_ELECOM=m
-CONFIG_HID_EZKEY=m
-CONFIG_HID_HOLTEK=m
-CONFIG_HOLTEK_FF=y
-CONFIG_HID_KEYTOUCH=m
-CONFIG_HID_KYE=m
-CONFIG_HID_UCLOGIC=m
-CONFIG_HID_WALTOP=m
-CONFIG_HID_GYRATION=m
-CONFIG_HID_TWINHAN=m
-CONFIG_HID_KENSINGTON=m
-CONFIG_HID_LCPOWER=m
-CONFIG_HID_LOGITECH=m
-CONFIG_HID_LOGITECH_DJ=m
-CONFIG_LOGITECH_FF=y
-CONFIG_LOGIRUMBLEPAD2_FF=y
-CONFIG_LOGIG940_FF=y
-CONFIG_LOGIWHEELS_FF=y
-CONFIG_HID_MAGICMOUSE=m
-CONFIG_HID_MICROSOFT=m
-CONFIG_HID_MONTEREY=m
-CONFIG_HID_MULTITOUCH=m
-CONFIG_HID_NTRIG=m
-CONFIG_HID_ORTEK=m
-CONFIG_HID_PANTHERLORD=m
-CONFIG_PANTHERLORD_FF=y
-CONFIG_HID_PETALYNX=m
-CONFIG_HID_PICOLCD=m
-CONFIG_HID_PICOLCD_FB=y
-CONFIG_HID_PICOLCD_BACKLIGHT=y
-CONFIG_HID_PICOLCD_LCD=y
-CONFIG_HID_PICOLCD_LEDS=y
-CONFIG_HID_PRIMAX=m
-CONFIG_HID_QUANTA=m
-CONFIG_HID_ROCCAT=m
-CONFIG_HID_ROCCAT_COMMON=m
-CONFIG_HID_ROCCAT_ARVO=m
-CONFIG_HID_ROCCAT_KONE=m
-CONFIG_HID_ROCCAT_KONEPLUS=m
-CONFIG_HID_ROCCAT_KOVAPLUS=m
-CONFIG_HID_ROCCAT_PYRA=m
-CONFIG_HID_SAMSUNG=m
-CONFIG_HID_SONY=m
-CONFIG_HID_SPEEDLINK=m
-CONFIG_HID_SUNPLUS=m
-CONFIG_HID_GREENASIA=m
-CONFIG_GREENASIA_FF=y
-CONFIG_HID_SMARTJOYPLUS=m
-CONFIG_SMARTJOYPLUS_FF=y
-CONFIG_HID_TOPSEED=m
-CONFIG_HID_THRUSTMASTER=m
-CONFIG_THRUSTMASTER_FF=y
-CONFIG_HID_WACOM=m
-CONFIG_HID_WACOM_POWER_SUPPLY=y
-CONFIG_HID_WIIMOTE=m
-CONFIG_HID_ZEROPLUS=m
-CONFIG_ZEROPLUS_FF=y
-CONFIG_HID_ZYDACRON=m
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_COMMON=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB_ARCH_HAS_XHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-# CONFIG_USB_DEVICEFS is not set
-# CONFIG_USB_DEVICE_CLASS is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_SUSPEND=y
-# CONFIG_USB_OTG is not set
-CONFIG_USB_DWC3=m
-# CONFIG_USB_DWC3_DEBUG is not set
-CONFIG_USB_MON=y
-CONFIG_USB_WUSB=m
-CONFIG_USB_WUSB_CBAF=m
-# CONFIG_USB_WUSB_CBAF_DEBUG is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_C67X00_HCD=y
-CONFIG_USB_XHCI_HCD=y
-# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
-CONFIG_USB_OXU210HP_HCD=y
-CONFIG_USB_ISP116X_HCD=y
-CONFIG_USB_ISP1760_HCD=y
-CONFIG_USB_ISP1362_HCD=y
-CONFIG_USB_OHCI_HCD=y
-# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-CONFIG_USB_UHCI_HCD=y
-CONFIG_USB_U132_HCD=m
-CONFIG_USB_SL811_HCD=y
-# CONFIG_USB_SL811_HCD_ISO is not set
-CONFIG_USB_SL811_CS=m
-CONFIG_USB_R8A66597_HCD=y
-CONFIG_USB_WHCI_HCD=m
-CONFIG_USB_HWA_HCD=m
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-CONFIG_USB_WDM=m
-CONFIG_USB_TMC=m
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_REALTEK=m
-CONFIG_REALTEK_AUTOPM=y
-CONFIG_USB_STORAGE_DATAFAB=y
-CONFIG_USB_STORAGE_FREECOM=y
-CONFIG_USB_STORAGE_ISD200=y
-CONFIG_USB_STORAGE_USBAT=y
-CONFIG_USB_STORAGE_SDDR09=y
-CONFIG_USB_STORAGE_SDDR55=y
-CONFIG_USB_STORAGE_JUMPSHOT=y
-CONFIG_USB_STORAGE_ALAUDA=y
-CONFIG_USB_STORAGE_ONETOUCH=y
-CONFIG_USB_STORAGE_KARMA=y
-CONFIG_USB_STORAGE_CYPRESS_ATACB=y
-CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_UAS=m
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-CONFIG_USB_MDC800=m
-CONFIG_USB_MICROTEK=m
-
-#
-# USB port drivers
-#
-CONFIG_USB_USS720=m
-CONFIG_USB_SERIAL=m
-CONFIG_USB_EZUSB=y
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_AIRCABLE=m
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_CH341=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP210X=m
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_FUNSOFT=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_IUU=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_MOS7720=m
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
-CONFIG_USB_SERIAL_MOS7840=m
-CONFIG_USB_SERIAL_MOTOROLA=m
-CONFIG_USB_SERIAL_NAVMAN=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_OTI6858=m
-CONFIG_USB_SERIAL_QCAUX=m
-CONFIG_USB_SERIAL_QUALCOMM=m
-CONFIG_USB_SERIAL_SPCP8X5=m
-CONFIG_USB_SERIAL_HP4X=m
-CONFIG_USB_SERIAL_SAFE=m
-CONFIG_USB_SERIAL_SAFE_PADDED=y
-CONFIG_USB_SERIAL_SIEMENS_MPI=m
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-CONFIG_USB_SERIAL_SYMBOL=m
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_WWAN=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_SERIAL_OPTICON=m
-CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
-CONFIG_USB_SERIAL_ZIO=m
-CONFIG_USB_SERIAL_SSU100=m
-CONFIG_USB_SERIAL_DEBUG=m
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-CONFIG_USB_ADUTUX=m
-CONFIG_USB_SEVSEG=m
-CONFIG_USB_RIO500=m
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-CONFIG_USB_LED=m
-CONFIG_USB_CYPRESS_CY7C63=m
-CONFIG_USB_CYTHERM=m
-CONFIG_USB_IDMOUSE=m
-CONFIG_USB_FTDI_ELAN=m
-CONFIG_USB_APPLEDISPLAY=m
-CONFIG_USB_SISUSBVGA=m
-CONFIG_USB_SISUSBVGA_CON=y
-CONFIG_USB_LD=m
-CONFIG_USB_TRANCEVIBRATOR=m
-CONFIG_USB_IOWARRIOR=m
-CONFIG_USB_TEST=m
-CONFIG_USB_ISIGHTFW=m
-CONFIG_USB_YUREX=m
-CONFIG_USB_ATM=m
-CONFIG_USB_SPEEDTOUCH=m
-CONFIG_USB_CXACRU=m
-CONFIG_USB_UEAGLEATM=m
-CONFIG_USB_XUSBATM=m
-# CONFIG_USB_GADGET is not set
-
-#
-# OTG and related infrastructure
-#
-CONFIG_USB_OTG_UTILS=y
-CONFIG_USB_GPIO_VBUS=m
-CONFIG_NOP_USB_XCEIV=m
-CONFIG_UWB=m
-CONFIG_UWB_HWA=m
-CONFIG_UWB_WHCI=m
-CONFIG_UWB_I1480U=m
-CONFIG_MMC=m
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=m
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_SDIO_UART=m
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_SDHCI=m
-CONFIG_MMC_SDHCI_PCI=m
-CONFIG_MMC_RICOH_MMC=y
-CONFIG_MMC_SDHCI_PLTFM=m
-CONFIG_MMC_WBSD=m
-CONFIG_MMC_TIFM_SD=m
-CONFIG_MMC_SDRICOH_CS=m
-CONFIG_MMC_CB710=m
-CONFIG_MMC_VIA_SDMMC=m
-CONFIG_MMC_VUB300=m
-CONFIG_MMC_USHC=m
-CONFIG_MEMSTICK=m
-# CONFIG_MEMSTICK_DEBUG is not set
-
-#
-# MemoryStick drivers
-#
-# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
-CONFIG_MSPRO_BLOCK=m
-
-#
-# MemoryStick Host Controller Drivers
-#
-CONFIG_MEMSTICK_TIFM_MS=m
-CONFIG_MEMSTICK_JMICRON_38X=m
-CONFIG_MEMSTICK_R592=m
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-CONFIG_LEDS_LM3530=m
-CONFIG_LEDS_NET48XX=m
-CONFIG_LEDS_NET5501=m
-CONFIG_LEDS_WRAP=m
-CONFIG_LEDS_PCA9532=m
-# CONFIG_LEDS_PCA9532_GPIO is not set
-CONFIG_LEDS_GPIO=m
-CONFIG_LEDS_LP3944=m
-CONFIG_LEDS_LP5521=m
-CONFIG_LEDS_LP5523=m
-CONFIG_LEDS_CLEVO_MAIL=m
-CONFIG_LEDS_PCA955X=m
-CONFIG_LEDS_REGULATOR=m
-CONFIG_LEDS_BD2802=m
-CONFIG_LEDS_INTEL_SS4200=m
-CONFIG_LEDS_LT3593=m
-CONFIG_LEDS_DELL_NETBOOKS=m
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_HEARTBEAT=m
-CONFIG_LEDS_TRIGGER_BACKLIGHT=m
-CONFIG_LEDS_TRIGGER_GPIO=m
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-CONFIG_ACCESSIBILITY=y
-CONFIG_A11Y_BRAILLE_CONSOLE=y
-CONFIG_INFINIBAND=m
-CONFIG_INFINIBAND_USER_MAD=m
-CONFIG_INFINIBAND_USER_ACCESS=m
-CONFIG_INFINIBAND_USER_MEM=y
-CONFIG_INFINIBAND_ADDR_TRANS=y
-CONFIG_INFINIBAND_MTHCA=m
-CONFIG_INFINIBAND_MTHCA_DEBUG=y
-CONFIG_INFINIBAND_AMSO1100=m
-# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
-# CONFIG_INFINIBAND_CXGB3 is not set
-CONFIG_INFINIBAND_CXGB4=m
-CONFIG_MLX4_INFINIBAND=m
-CONFIG_INFINIBAND_NES=m
-# CONFIG_INFINIBAND_NES_DEBUG is not set
-CONFIG_INFINIBAND_IPOIB=m
-# CONFIG_INFINIBAND_IPOIB_CM is not set
-CONFIG_INFINIBAND_IPOIB_DEBUG=y
-# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
-CONFIG_INFINIBAND_SRP=m
-CONFIG_INFINIBAND_ISER=m
-CONFIG_EDAC=y
-
-#
-# Reporting subsystems
-#
-# CONFIG_EDAC_DEBUG is not set
-CONFIG_EDAC_DECODE_MCE=y
-CONFIG_EDAC_MCE_INJ=m
-# CONFIG_EDAC_MM_EDAC is not set
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-CONFIG_RTC_INTF_DEV_UIE_EMUL=y
-CONFIG_RTC_DRV_TEST=m
-
-#
-# I2C RTC drivers
-#
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_DS1374=m
-CONFIG_RTC_DRV_DS1672=m
-CONFIG_RTC_DRV_DS3232=m
-CONFIG_RTC_DRV_MAX6900=m
-CONFIG_RTC_DRV_RS5C372=m
-CONFIG_RTC_DRV_ISL1208=m
-CONFIG_RTC_DRV_ISL12022=m
-CONFIG_RTC_DRV_X1205=m
-CONFIG_RTC_DRV_PCF8563=m
-CONFIG_RTC_DRV_PCF8583=m
-CONFIG_RTC_DRV_M41T80=m
-CONFIG_RTC_DRV_M41T80_WDT=y
-CONFIG_RTC_DRV_BQ32K=m
-CONFIG_RTC_DRV_S35390A=m
-CONFIG_RTC_DRV_FM3130=m
-CONFIG_RTC_DRV_RX8581=m
-CONFIG_RTC_DRV_RX8025=m
-CONFIG_RTC_DRV_EM3027=m
-CONFIG_RTC_DRV_RV3029C2=m
-
-#
-# SPI RTC drivers
-#
-
-#
-# Platform RTC drivers
-#
-CONFIG_RTC_DRV_CMOS=y
-CONFIG_RTC_DRV_DS1286=m
-CONFIG_RTC_DRV_DS1511=m
-CONFIG_RTC_DRV_DS1553=m
-CONFIG_RTC_DRV_DS1742=m
-CONFIG_RTC_DRV_STK17TA8=m
-CONFIG_RTC_DRV_M48T86=m
-CONFIG_RTC_DRV_M48T35=m
-CONFIG_RTC_DRV_M48T59=m
-CONFIG_RTC_DRV_MSM6242=m
-CONFIG_RTC_DRV_BQ4802=m
-CONFIG_RTC_DRV_RP5C01=m
-CONFIG_RTC_DRV_V3020=m
-CONFIG_RTC_DRV_PCF50633=m
-
-#
-# on-CPU RTC drivers
-#
-CONFIG_DMADEVICES=y
-# CONFIG_DMADEVICES_DEBUG is not set
-
-#
-# DMA Devices
-#
-CONFIG_INTEL_MID_DMAC=m
-CONFIG_INTEL_IOATDMA=m
-CONFIG_TIMB_DMA=m
-CONFIG_PCH_DMA=m
-CONFIG_DMA_ENGINE=y
-
-#
-# DMA Clients
-#
-CONFIG_NET_DMA=y
-# CONFIG_ASYNC_TX_DMA is not set
-CONFIG_DMATEST=m
-CONFIG_DCA=m
-CONFIG_AUXDISPLAY=y
-# CONFIG_KS0108 is not set
-CONFIG_UIO=m
-CONFIG_UIO_CIF=m
-CONFIG_UIO_PDRV=m
-CONFIG_UIO_PDRV_GENIRQ=m
-CONFIG_UIO_AEC=m
-CONFIG_UIO_SERCOS3=m
-CONFIG_UIO_PCI_GENERIC=m
-CONFIG_UIO_NETX=m
-CONFIG_VIRTIO=m
-CONFIG_VIRTIO_RING=m
-
-#
-# Virtio drivers
-#
-CONFIG_VIRTIO_PCI=m
-CONFIG_VIRTIO_BALLOON=m
-CONFIG_VIRTIO_MMIO=m
-CONFIG_STAGING=y
-# CONFIG_ET131X is not set
-# CONFIG_SLICOSS is not set
-CONFIG_USBIP_CORE=m
-CONFIG_USBIP_VHCI_HCD=m
-CONFIG_USBIP_HOST=m
-# CONFIG_USBIP_DEBUG is not set
-# CONFIG_W35UND is not set
-# CONFIG_PRISM2_USB is not set
-# CONFIG_ECHO is not set
-# CONFIG_COMEDI is not set
-CONFIG_ASUS_OLED=m
-# CONFIG_PANEL is not set
-CONFIG_R8187SE=m
-CONFIG_RTL8192U=m
-CONFIG_RTL8192E=m
-CONFIG_R8712U=m
-CONFIG_RTS_PSTOR=m
-# CONFIG_RTS_PSTOR_DEBUG is not set
-CONFIG_RTS5139=m
-# CONFIG_RTS5139_DEBUG is not set
-# CONFIG_TRANZPORT is not set
-CONFIG_POHMELFS=m
-# CONFIG_POHMELFS_DEBUG is not set
-CONFIG_IDE_PHISON=m
-CONFIG_LINE6_USB=m
-# CONFIG_LINE6_USB_DEBUG is not set
-# CONFIG_LINE6_USB_DUMP_CTRL is not set
-# CONFIG_LINE6_USB_DUMP_MIDI is not set
-# CONFIG_LINE6_USB_DUMP_PCM is not set
-# CONFIG_LINE6_USB_RAW is not set
-# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
-CONFIG_DRM_NOUVEAU=m
-CONFIG_DRM_NOUVEAU_BACKLIGHT=y
-CONFIG_DRM_NOUVEAU_DEBUG=y
-
-#
-# I2C encoder or helper chips
-#
-CONFIG_DRM_I2C_CH7006=m
-CONFIG_DRM_I2C_SIL164=m
-CONFIG_USB_SERIAL_QUATECH2=m
-CONFIG_USB_SERIAL_QUATECH_USB2=m
-CONFIG_VT6655=m
-CONFIG_VT6656=m
-CONFIG_HYPERV_STORAGE=m
-CONFIG_HYPERV_NET=m
-CONFIG_HYPERV_MOUSE=m
-# CONFIG_VME_BUS is not set
-CONFIG_DX_SEP=m
-# CONFIG_IIO is not set
-CONFIG_XVMALLOC=y
-CONFIG_ZRAM=m
-# CONFIG_ZRAM_DEBUG is not set
-CONFIG_WLAGS49_H2=m
-CONFIG_WLAGS49_H25=m
-CONFIG_FB_SM7XX=m
-CONFIG_CRYSTALHD=m
-# CONFIG_CXT1E1 is not set
-CONFIG_FB_XGI=m
-CONFIG_ACPI_QUICKSTART=m
-CONFIG_SBE_2T3E3=m
-CONFIG_USB_ENESTORAGE=m
-CONFIG_BCM_WIMAX=m
-# CONFIG_FT1000 is not set
-
-#
-# Speakup console speech
-#
-CONFIG_SPEAKUP=y
-CONFIG_SPEAKUP_SYNTH_ACNTSA=y
-CONFIG_SPEAKUP_SYNTH_ACNTPC=y
-CONFIG_SPEAKUP_SYNTH_APOLLO=y
-CONFIG_SPEAKUP_SYNTH_AUDPTR=y
-CONFIG_SPEAKUP_SYNTH_BNS=y
-CONFIG_SPEAKUP_SYNTH_DECTLK=y
-CONFIG_SPEAKUP_SYNTH_DECEXT=y
-CONFIG_SPEAKUP_SYNTH_DECPC=m
-CONFIG_SPEAKUP_SYNTH_DTLK=y
-CONFIG_SPEAKUP_SYNTH_KEYPC=y
-CONFIG_SPEAKUP_SYNTH_LTLK=y
-CONFIG_SPEAKUP_SYNTH_SOFT=y
-CONFIG_SPEAKUP_SYNTH_SPKOUT=y
-CONFIG_SPEAKUP_SYNTH_TXPRT=y
-CONFIG_SPEAKUP_SYNTH_DUMMY=y
-CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
-CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
-CONFIG_DRM_PSB=m
-CONFIG_DRM_PSB_MRST=y
-CONFIG_DRM_PSB_MFLD=y
-CONFIG_DRM_PSB_CDV=y
-CONFIG_INTEL_MEI=m
-CONFIG_STAGING_MEDIA=y
-CONFIG_DVB_AS102=m
-CONFIG_DVB_CXD2099=m
-CONFIG_VIDEO_DT3155=m
-CONFIG_DT3155_CCIR=y
-CONFIG_DT3155_STREAMING=y
-CONFIG_EASYCAP=m
-# CONFIG_EASYCAP_DEBUG is not set
-# CONFIG_VIDEO_GO7007 is not set
-CONFIG_SOLO6X10=m
-CONFIG_LIRC_STAGING=y
-CONFIG_LIRC_BT829=m
-CONFIG_LIRC_IGORPLUGUSB=m
-CONFIG_LIRC_IMON=m
-CONFIG_LIRC_PARALLEL=m
-CONFIG_LIRC_SASEM=m
-CONFIG_LIRC_SERIAL=m
-CONFIG_LIRC_SERIAL_TRANSMITTER=y
-CONFIG_LIRC_SIR=m
-CONFIG_LIRC_TTUSBIR=m
-CONFIG_LIRC_ZILOG=m
-CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_ACER_WMI=m
-CONFIG_ACERHDF=m
-CONFIG_ASUS_LAPTOP=m
-CONFIG_DELL_LAPTOP=m
-CONFIG_DELL_WMI=m
-CONFIG_DELL_WMI_AIO=m
-CONFIG_FUJITSU_LAPTOP=m
-# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
-CONFIG_TC1100_WMI=m
-CONFIG_HP_ACCEL=m
-CONFIG_HP_WMI=m
-CONFIG_MSI_LAPTOP=m
-CONFIG_PANASONIC_LAPTOP=m
-CONFIG_COMPAL_LAPTOP=m
-CONFIG_SONY_LAPTOP=m
-CONFIG_SONYPI_COMPAT=y
-CONFIG_IDEAPAD_LAPTOP=m
-CONFIG_THINKPAD_ACPI=m
-CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
-# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
-# CONFIG_THINKPAD_ACPI_DEBUG is not set
-# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
-CONFIG_THINKPAD_ACPI_VIDEO=y
-CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
-CONFIG_SENSORS_HDAPS=m
-CONFIG_INTEL_MENLOW=m
-CONFIG_EEEPC_LAPTOP=m
-CONFIG_ASUS_WMI=m
-CONFIG_ASUS_NB_WMI=m
-CONFIG_EEEPC_WMI=m
-CONFIG_ACPI_WMI=m
-CONFIG_MSI_WMI=m
-CONFIG_ACPI_ASUS=m
-CONFIG_TOPSTAR_LAPTOP=m
-CONFIG_ACPI_TOSHIBA=m
-CONFIG_TOSHIBA_BT_RFKILL=m
-CONFIG_ACPI_CMPC=m
-CONFIG_INTEL_IPS=m
-CONFIG_IBM_RTL=m
-CONFIG_XO15_EBOOK=m
-CONFIG_SAMSUNG_LAPTOP=m
-CONFIG_MXM_WMI=m
-CONFIG_INTEL_OAKTRAIL=m
-CONFIG_SAMSUNG_Q10=m
-
-#
-# Hardware Spinlock drivers
-#
-CONFIG_CLKSRC_I8253=y
-CONFIG_CLKEVT_I8253=y
-CONFIG_I8253_LOCK=y
-CONFIG_CLKBLD_I8253=y
-CONFIG_IOMMU_API=y
-CONFIG_IOMMU_SUPPORT=y
-CONFIG_DMAR_TABLE=y
-CONFIG_INTEL_IOMMU=y
-# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
-CONFIG_INTEL_IOMMU_FLOPPY_WA=y
-CONFIG_VIRT_DRIVERS=y
-CONFIG_HYPERV=m
-CONFIG_HYPERV_UTILS=m
-CONFIG_PM_DEVFREQ=y
-
-#
-# DEVFREQ Governors
-#
-CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
-CONFIG_DEVFREQ_GOV_PERFORMANCE=y
-CONFIG_DEVFREQ_GOV_POWERSAVE=y
-CONFIG_DEVFREQ_GOV_USERSPACE=y
-
-#
-# DEVFREQ Drivers
-#
-
-#
-# Firmware Drivers
-#
-CONFIG_EDD=m
-CONFIG_EDD_OFF=y
-CONFIG_FIRMWARE_MEMMAP=y
-CONFIG_EFI_VARS=m
-CONFIG_DELL_RBU=m
-CONFIG_DCDBAS=m
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=m
-CONFIG_ISCSI_IBFT_FIND=y
-CONFIG_ISCSI_IBFT=m
-CONFIG_SIGMA=m
-# CONFIG_GOOGLE_FIRMWARE is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
-CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
-CONFIG_EXT3_FS_XATTR=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_EXT4_FS=y
-CONFIG_EXT4_FS_XATTR=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
-CONFIG_JBD2=y
-# CONFIG_JBD2_DEBUG is not set
-CONFIG_FS_MBCACHE=y
-CONFIG_REISERFS_FS=y
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-CONFIG_REISERFS_FS_XATTR=y
-CONFIG_REISERFS_FS_POSIX_ACL=y
-CONFIG_REISERFS_FS_SECURITY=y
-CONFIG_JFS_FS=y
-CONFIG_JFS_POSIX_ACL=y
-CONFIG_JFS_SECURITY=y
-# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
-CONFIG_XFS_FS=y
-CONFIG_XFS_QUOTA=y
-CONFIG_XFS_POSIX_ACL=y
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_DEBUG is not set
-CONFIG_GFS2_FS=y
-CONFIG_GFS2_FS_LOCKING_DLM=y
-CONFIG_OCFS2_FS=y
-CONFIG_OCFS2_FS_O2CB=y
-CONFIG_OCFS2_FS_USERSPACE_CLUSTER=y
-# CONFIG_OCFS2_FS_STATS is not set
-CONFIG_OCFS2_DEBUG_MASKLOG=y
-# CONFIG_OCFS2_DEBUG_FS is not set
-CONFIG_BTRFS_FS=y
-CONFIG_BTRFS_FS_POSIX_ACL=y
-CONFIG_NILFS2_FS=m
-CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=y
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_FANOTIFY=y
-# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
-CONFIG_QUOTA=y
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
-# CONFIG_QUOTA_DEBUG is not set
-CONFIG_QUOTA_TREE=y
-CONFIG_QFMT_V1=m
-CONFIG_QFMT_V2=y
-CONFIG_QUOTACTL=y
-CONFIG_AUTOFS4_FS=m
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-CONFIG_FSCACHE=m
-# CONFIG_FSCACHE_STATS is not set
-# CONFIG_FSCACHE_HISTOGRAM is not set
-# CONFIG_FSCACHE_DEBUG is not set
-# CONFIG_FSCACHE_OBJECT_LIST is not set
-CONFIG_CACHEFILES=m
-# CONFIG_CACHEFILES_DEBUG is not set
-# CONFIG_CACHEFILES_HISTOGRAM is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=y
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=y
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-CONFIG_NTFS_FS=y
-# CONFIG_NTFS_DEBUG is not set
-CONFIG_NTFS_RW=y
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_TMPFS_XATTR=y
-# CONFIG_HUGETLBFS is not set
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_CONFIGFS_FS=y
-CONFIG_MISC_FILESYSTEMS=y
-CONFIG_ADFS_FS=m
-# CONFIG_ADFS_FS_RW is not set
-CONFIG_AFFS_FS=m
-CONFIG_ECRYPT_FS=m
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-CONFIG_BEFS_FS=m
-# CONFIG_BEFS_DEBUG is not set
-CONFIG_BFS_FS=m
-CONFIG_EFS_FS=m
-CONFIG_JFFS2_FS=m
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-# CONFIG_JFFS2_SUMMARY is not set
-# CONFIG_JFFS2_FS_XATTR is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-# CONFIG_JFFS2_LZO is not set
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-CONFIG_UBIFS_FS=m
-CONFIG_UBIFS_FS_XATTR=y
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-CONFIG_LOGFS=m
-CONFIG_CRAMFS=m
-CONFIG_SQUASHFS=m
-CONFIG_SQUASHFS_XATTR=y
-CONFIG_SQUASHFS_ZLIB=y
-CONFIG_SQUASHFS_LZO=y
-CONFIG_SQUASHFS_XZ=y
-# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
-CONFIG_SQUASHFS_EMBEDDED=y
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
-CONFIG_VXFS_FS=m
-CONFIG_MINIX_FS=m
-CONFIG_OMFS_FS=m
-CONFIG_HPFS_FS=m
-CONFIG_QNX4FS_FS=m
-CONFIG_ROMFS_FS=y
-CONFIG_ROMFS_BACKED_BY_BLOCK=y
-CONFIG_ROMFS_ON_BLOCK=y
-CONFIG_PSTORE=y
-CONFIG_SYSV_FS=m
-CONFIG_UFS_FS=m
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_UFS_DEBUG is not set
-CONFIG_EXOFS_FS=m
-# CONFIG_EXOFS_DEBUG is not set
-CONFIG_ORE=m
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-CONFIG_NFS_V4=y
-# CONFIG_NFS_V4_1 is not set
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
-CONFIG_NFSD=y
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-CONFIG_NFSD_V4=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-CONFIG_SUNRPC_XPRT_RDMA=m
-CONFIG_RPCSEC_GSS_KRB5=m
-CONFIG_CEPH_FS=m
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-CONFIG_CIFS_WEAK_PW_HASH=y
-# CONFIG_CIFS_UPCALL is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_DFS_UPCALL is not set
-CONFIG_CIFS_FSCACHE=y
-CONFIG_NCP_FS=m
-CONFIG_NCPFS_PACKET_SIGNING=y
-CONFIG_NCPFS_IOCTL_LOCKING=y
-CONFIG_NCPFS_STRONG=y
-CONFIG_NCPFS_NFS_NS=y
-CONFIG_NCPFS_OS2_NS=y
-CONFIG_NCPFS_SMALLDOS=y
-CONFIG_NCPFS_NLS=y
-CONFIG_NCPFS_EXTRAS=y
-CONFIG_CODA_FS=m
-CONFIG_AFS_FS=m
-# CONFIG_AFS_DEBUG is not set
-# CONFIG_AFS_FSCACHE is not set
-CONFIG_9P_FS=m
-# CONFIG_9P_FSCACHE is not set
-# CONFIG_9P_FS_POSIX_ACL is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-CONFIG_OSF_PARTITION=y
-CONFIG_AMIGA_PARTITION=y
-# CONFIG_ATARI_PARTITION is not set
-CONFIG_MAC_PARTITION=y
-CONFIG_MSDOS_PARTITION=y
-CONFIG_BSD_DISKLABEL=y
-CONFIG_MINIX_SUBPARTITION=y
-CONFIG_SOLARIS_X86_PARTITION=y
-CONFIG_UNIXWARE_DISKLABEL=y
-# CONFIG_LDM_PARTITION is not set
-CONFIG_SGI_PARTITION=y
-# CONFIG_ULTRIX_PARTITION is not set
-CONFIG_SUN_PARTITION=y
-CONFIG_KARMA_PARTITION=y
-CONFIG_EFI_PARTITION=y
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=y
-CONFIG_DLM=y
-# CONFIG_DLM_DEBUG is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_PRINTK_TIME=y
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-CONFIG_ENABLE_WARN_DEPRECATED=y
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_FRAME_WARN=0
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_STRIP_ASM_SYMS=y
-CONFIG_UNUSED_SYMBOLS=y
-CONFIG_DEBUG_FS=y
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
-# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
-CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
-CONFIG_SCHED_DEBUG=y
-# CONFIG_SCHEDSTATS is not set
-CONFIG_TIMER_STATS=y
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SLUB_STATS is not set
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-CONFIG_STACKTRACE=y
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_HIGHMEM is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_VIRTUAL is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-CONFIG_DEBUG_MEMORY_INIT=y
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-CONFIG_FRAME_POINTER=y
-# CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
-# CONFIG_LKDTM is not set
-CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_USER_STACKTRACE_SUPPORT=y
-CONFIG_NOP_TRACER=y
-CONFIG_HAVE_FTRACE_NMI_ENTER=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_RING_BUFFER=y
-CONFIG_FTRACE_NMI_ENTER=y
-CONFIG_EVENT_TRACING=y
-CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
-CONFIG_CONTEXT_SWITCH_TRACER=y
-CONFIG_RING_BUFFER_ALLOW_SWAP=y
-CONFIG_TRACING=y
-CONFIG_GENERIC_TRACER=y
-CONFIG_TRACING_SUPPORT=y
-CONFIG_FTRACE=y
-CONFIG_FUNCTION_TRACER=y
-CONFIG_FUNCTION_GRAPH_TRACER=y
-# CONFIG_IRQSOFF_TRACER is not set
-# CONFIG_SCHED_TRACER is not set
-# CONFIG_FTRACE_SYSCALLS is not set
-CONFIG_BRANCH_PROFILE_NONE=y
-# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-# CONFIG_PROFILE_ALL_BRANCHES is not set
-# CONFIG_STACK_TRACER is not set
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_DYNAMIC_FTRACE=y
-# CONFIG_FUNCTION_PROFILER is not set
-CONFIG_FTRACE_MCOUNT_RECORD=y
-# CONFIG_FTRACE_STARTUP_TEST is not set
-# CONFIG_MMIOTRACE is not set
-CONFIG_RING_BUFFER_BENCHMARK=m
-# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_DMA_API_DEBUG is not set
-CONFIG_ATOMIC64_SELFTEST=y
-CONFIG_ASYNC_RAID6_TEST=m
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-CONFIG_HAVE_ARCH_KMEMCHECK=y
-# CONFIG_TEST_KSTRTOX is not set
-CONFIG_STRICT_DEVMEM=y
-CONFIG_X86_VERBOSE_BOOTUP=y
-CONFIG_EARLY_PRINTK=y
-# CONFIG_EARLY_PRINTK_DBGP is not set
-# CONFIG_DEBUG_STACKOVERFLOW is not set
-# CONFIG_X86_PTDUMP is not set
-CONFIG_DEBUG_RODATA=y
-CONFIG_DEBUG_RODATA_TEST=y
-# CONFIG_DEBUG_SET_MODULE_RONX is not set
-# CONFIG_DEBUG_NX_TEST is not set
-CONFIG_DOUBLEFAULT=y
-# CONFIG_IOMMU_STRESS is not set
-CONFIG_HAVE_MMIOTRACE_SUPPORT=y
-CONFIG_IO_DELAY_TYPE_0X80=0
-CONFIG_IO_DELAY_TYPE_0XED=1
-CONFIG_IO_DELAY_TYPE_UDELAY=2
-CONFIG_IO_DELAY_TYPE_NONE=3
-CONFIG_IO_DELAY_0X80=y
-# CONFIG_IO_DELAY_0XED is not set
-# CONFIG_IO_DELAY_UDELAY is not set
-# CONFIG_IO_DELAY_NONE is not set
-CONFIG_DEFAULT_IO_DELAY_TYPE=0
-# CONFIG_DEBUG_BOOT_PARAMS is not set
-# CONFIG_CPA_DEBUG is not set
-CONFIG_OPTIMIZE_INLINING=y
-# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-CONFIG_TRUSTED_KEYS=m
-CONFIG_ENCRYPTED_KEYS=m
-CONFIG_KEYS_DEBUG_PROC_KEYS=y
-CONFIG_SECURITY_DMESG_RESTRICT=y
-CONFIG_SECURITY=y
-CONFIG_SECURITYFS=y
-CONFIG_SECURITY_NETWORK=y
-CONFIG_SECURITY_NETWORK_XFRM=y
-# CONFIG_SECURITY_PATH is not set
-# CONFIG_INTEL_TXT is not set
-# CONFIG_SECURITY_SELINUX is not set
-# CONFIG_SECURITY_TOMOYO is not set
-# CONFIG_SECURITY_APPARMOR is not set
-# CONFIG_IMA is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_XOR_BLOCKS=y
-CONFIG_ASYNC_CORE=y
-CONFIG_ASYNC_MEMCPY=y
-CONFIG_ASYNC_XOR=y
-CONFIG_ASYNC_PQ=y
-CONFIG_ASYNC_RAID6_RECOV=y
-CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
-CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=y
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG=y
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_PCOMP=m
-CONFIG_CRYPTO_PCOMP2=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_USER=m
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-CONFIG_CRYPTO_GF128MUL=y
-CONFIG_CRYPTO_NULL=y
-CONFIG_CRYPTO_PCRYPT=m
-CONFIG_CRYPTO_WORKQUEUE=y
-CONFIG_CRYPTO_CRYPTD=y
-CONFIG_CRYPTO_AUTHENC=y
-CONFIG_CRYPTO_TEST=m
-
-#
-# Authenticated Encryption with Associated Data
-#
-CONFIG_CRYPTO_CCM=y
-CONFIG_CRYPTO_GCM=y
-CONFIG_CRYPTO_SEQIV=y
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_CTR=y
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_LRW=y
-CONFIG_CRYPTO_PCBC=y
-CONFIG_CRYPTO_XTS=y
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_VMAC=m
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_CRC32C_INTEL=m
-CONFIG_CRYPTO_GHASH=y
-CONFIG_CRYPTO_MD4=y
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=y
-CONFIG_CRYPTO_RMD128=m
-CONFIG_CRYPTO_RMD160=y
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
-CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_SHA512=y
-CONFIG_CRYPTO_TGR192=y
-CONFIG_CRYPTO_WP512=y
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_AES_586=y
-CONFIG_CRYPTO_AES_NI_INTEL=y
-CONFIG_CRYPTO_ANUBIS=y
-CONFIG_CRYPTO_ARC4=y
-CONFIG_CRYPTO_BLOWFISH=y
-CONFIG_CRYPTO_BLOWFISH_COMMON=y
-CONFIG_CRYPTO_CAMELLIA=y
-CONFIG_CRYPTO_CAST5=y
-CONFIG_CRYPTO_CAST6=y
-CONFIG_CRYPTO_DES=y
-CONFIG_CRYPTO_FCRYPT=y
-CONFIG_CRYPTO_KHAZAD=y
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SALSA20_586=m
-CONFIG_CRYPTO_SEED=y
-CONFIG_CRYPTO_SERPENT=y
-CONFIG_CRYPTO_TEA=y
-CONFIG_CRYPTO_TWOFISH=y
-CONFIG_CRYPTO_TWOFISH_COMMON=y
-CONFIG_CRYPTO_TWOFISH_586=y
-
-#
-# Compression
-#
-CONFIG_CRYPTO_DEFLATE=y
-CONFIG_CRYPTO_ZLIB=m
-CONFIG_CRYPTO_LZO=m
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_USER_API=m
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_DEV_PADLOCK=m
-CONFIG_CRYPTO_DEV_PADLOCK_AES=m
-CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
-CONFIG_CRYPTO_DEV_GEODE=m
-CONFIG_HAVE_KVM=y
-CONFIG_HAVE_KVM_IRQCHIP=y
-CONFIG_HAVE_KVM_EVENTFD=y
-CONFIG_KVM_APIC_ARCHITECTURE=y
-CONFIG_KVM_MMIO=y
-CONFIG_KVM_ASYNC_PF=y
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=m
-CONFIG_KVM_INTEL=m
-CONFIG_KVM_AMD=m
-CONFIG_KVM_MMU_AUDIT=y
-CONFIG_VHOST_NET=m
-CONFIG_LGUEST=m
-CONFIG_BINARY_PRINTF=y
-
-#
-# Library routines
-#
-CONFIG_RAID6_PQ=y
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
-CONFIG_CRC_CCITT=m
-CONFIG_CRC16=y
-CONFIG_CRC_T10DIF=m
-CONFIG_CRC_ITU_T=y
-CONFIG_CRC32=y
-CONFIG_CRC7=m
-CONFIG_LIBCRC32C=y
-CONFIG_CRC8=m
-CONFIG_AUDIT_GENERIC=y
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_XZ_DEC=y
-CONFIG_XZ_DEC_X86=y
-CONFIG_XZ_DEC_POWERPC=y
-CONFIG_XZ_DEC_IA64=y
-CONFIG_XZ_DEC_ARM=y
-CONFIG_XZ_DEC_ARMTHUMB=y
-CONFIG_XZ_DEC_SPARC=y
-CONFIG_XZ_DEC_BCJ=y
-# CONFIG_XZ_DEC_TEST is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_XZ=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_GENERIC_ALLOCATOR=y
-CONFIG_REED_SOLOMON=m
-CONFIG_REED_SOLOMON_DEC16=y
-CONFIG_BCH=m
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_BTREE=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_CHECK_SIGNATURE=y
-CONFIG_CPU_RMAP=y
-CONFIG_NLATTR=y
-CONFIG_LRU_CACHE=m
-CONFIG_AVERAGE=y
-CONFIG_CORDIC=m
diff --git a/source/k/config-x86_64/config-generic-3.10.17.x64 b/source/k/config-x86_64/config-generic-3.10.17.x64
new file mode 100644
index 000000000..f22c10ae1
--- /dev/null
+++ b/source/k/config-x86_64/config-generic-3.10.17.x64
@@ -0,0 +1,6228 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/x86 3.10.17 Kernel Configuration
+#
+CONFIG_64BIT=y
+CONFIG_X86_64=y
+CONFIG_X86=y
+CONFIG_INSTRUCTION_DECODER=y
+CONFIG_OUTPUT_FORMAT="elf64-x86-64"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ZONE_DMA32=y
+CONFIG_AUDIT_ARCH=y
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_X86_64_SMP=y
+CONFIG_X86_HT=y
+CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
+CONFIG_ARCH_CPU_PROBE_RELEASE=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_EXTABLE_SORT=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+CONFIG_DEFAULT_HOSTNAME="darkstar"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_FHANDLE=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_WATCH=y
+CONFIG_AUDIT_TREE=y
+# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_GENERIC_IRQ_CHIP=y
+CONFIG_IRQ_DOMAIN=y
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_ARCH_CLOCKSOURCE_DATA=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+CONFIG_RCU_STALL_COMMON=y
+# CONFIG_RCU_USER_QS is not set
+CONFIG_RCU_FANOUT=32
+CONFIG_RCU_FANOUT_LEAF=16
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_RCU_NOCB_CPU is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+# CONFIG_MEMCG is not set
+CONFIG_CGROUP_PERF=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_SCHED_AUTOGROUP is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_HAVE_UID16=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_HOTPLUG=y
+CONFIG_HAVE_PCSPKR_PLATFORM=y
+# CONFIG_EXPERT is not set
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+CONFIG_HAVE_OPROFILE=y
+CONFIG_OPROFILE_NMI_TIMER=y
+# CONFIG_KPROBES is not set
+# CONFIG_JUMP_LABEL is not set
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_PERF_EVENTS_NMI=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
+CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP_FILTER=y
+CONFIG_HAVE_CONTEXT_TRACKING=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_COMPAT_OLD_SIGACTION=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_BSGLIB=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_DEV_THROTTLING=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+CONFIG_OSF_PARTITION=y
+CONFIG_AMIGA_PARTITION=y
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+# CONFIG_LDM_PARTITION is not set
+CONFIG_SGI_PARTITION=y
+# CONFIG_ULTRIX_PARTITION is not set
+CONFIG_SUN_PARTITION=y
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_BLOCK_COMPAT=y
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_CFQ_GROUP_IOSCHED=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+CONFIG_ASN1=m
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_INLINE_READ_UNLOCK=y
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_INLINE_WRITE_UNLOCK=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_ZONE_DMA=y
+CONFIG_SMP=y
+CONFIG_X86_X2APIC=y
+CONFIG_X86_MPPARSE=y
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+CONFIG_X86_INTEL_LPSS=y
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_HYPERVISOR_GUEST=y
+# CONFIG_PARAVIRT is not set
+# CONFIG_XEN_PRIVILEGED_GUEST is not set
+CONFIG_NO_BOOTMEM=y
+CONFIG_MEMTEST=y
+# CONFIG_MK8 is not set
+# CONFIG_MPSC is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+CONFIG_GENERIC_CPU=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=64
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+CONFIG_GART_IOMMU=y
+# CONFIG_CALGARY_IOMMU is not set
+CONFIG_SWIOTLB=y
+CONFIG_IOMMU_HELPER=y
+# CONFIG_MAXSMP is not set
+CONFIG_NR_CPUS=128
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+CONFIG_X86_MCE_THRESHOLD=y
+CONFIG_X86_MCE_INJECT=m
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_I8K=m
+CONFIG_MICROCODE=m
+CONFIG_MICROCODE_INTEL=y
+CONFIG_MICROCODE_AMD=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_MICROCODE_INTEL_LIB=y
+CONFIG_MICROCODE_INTEL_EARLY=y
+CONFIG_MICROCODE_EARLY=y
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_DIRECT_GBPAGES=y
+# CONFIG_NUMA is not set
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_MEMORY_PROBE=y
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_ARCH_DISCARD_MEMBLOCK=y
+CONFIG_MEMORY_ISOLATION=y
+CONFIG_HAVE_BOOTMEM_INFO_NODE=y
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTPLUG_SPARSE=y
+CONFIG_MEMORY_HOTREMOVE=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=98304
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+# CONFIG_MEMORY_FAILURE is not set
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_CLEANCACHE is not set
+# CONFIG_FRONTSWAP is not set
+# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
+CONFIG_X86_RESERVE_LOW=64
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_ARCH_RANDOM=y
+CONFIG_X86_SMAP=y
+CONFIG_EFI=y
+CONFIG_EFI_STUB=y
+CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+CONFIG_SCHED_HRTICK=y
+# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
+CONFIG_PHYSICAL_START=0x1000000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x1000000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
+# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
+CONFIG_COMPAT_VDSO=y
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_ARCH_HIBERNATION_HEADER=y
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION="\"\""
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+# CONFIG_PM_AUTOSLEEP is not set
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=100
+CONFIG_PM_WAKELOCKS_GC=y
+CONFIG_PM_RUNTIME=y
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_CLK=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_EC_DEBUGFS=m
+CONFIG_ACPI_PROC_EVENT=y
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_I2C=m
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_IPMI=m
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=m
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y
+CONFIG_ACPI_BLACKLIST_YEAR=0
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=y
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_HOTPLUG_MEMORY=y
+CONFIG_ACPI_SBS=m
+CONFIG_ACPI_HED=y
+# CONFIG_ACPI_CUSTOM_METHOD is not set
+CONFIG_ACPI_BGRT=y
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_EINJ=m
+CONFIG_ACPI_APEI_ERST_DEBUG=m
+CONFIG_SFI=y
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=m
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# x86 CPU frequency scaling drivers
+#
+CONFIG_X86_INTEL_PSTATE=y
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ_CPB=y
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_AMD_FREQ_SENSITIVITY=m
+CONFIG_X86_SPEEDSTEP_CENTRINO=m
+CONFIG_X86_P4_CLOCKMOD=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_CPU_IDLE=y
+# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
+CONFIG_INTEL_IDLE=y
+
+#
+# Memory power savings
+#
+CONFIG_I7300_IDLE_IOAT_CHANNEL=y
+CONFIG_I7300_IDLE=m
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+CONFIG_PCIEAER_INJECT=m
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
+CONFIG_PCI_STUB=m
+CONFIG_HT_IRQ=y
+CONFIG_PCI_ATS=y
+# CONFIG_PCI_IOV is not set
+CONFIG_PCI_PRI=y
+CONFIG_PCI_PASID=y
+CONFIG_PCI_IOAPIC=y
+CONFIG_PCI_LABEL=y
+CONFIG_ISA_DMA_API=y
+CONFIG_AMD_NB=y
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_PCCARD_NONSTATIC=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+# CONFIG_HOTPLUG_PCI_CPCI is not set
+CONFIG_HOTPLUG_PCI_SHPC=m
+# CONFIG_RAPIDIO is not set
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_SCRIPT=y
+# CONFIG_HAVE_AOUT is not set
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+CONFIG_IA32_EMULATION=y
+# CONFIG_IA32_AOUT is not set
+CONFIG_X86_X32=y
+CONFIG_COMPAT=y
+CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
+CONFIG_SYSVIPC_COMPAT=y
+CONFIG_KEYS_COMPAT=y
+CONFIG_HAVE_TEXT_POKE_SMP=y
+CONFIG_X86_DEV_DMA_OPS=y
+CONFIG_NET=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=m
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=y
+CONFIG_XFRM_USER=y
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+# CONFIG_IP_FIB_TRIE_STATS is not set
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+# CONFIG_IPV6_SIT_6RD is not set
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETLABEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NF_CONNTRACK_PROCFS is not set
+# CONFIG_NF_CONNTRACK_EVENTS is not set
+# CONFIG_NF_CONNTRACK_TIMEOUT is not set
+# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+# CONFIG_NETFILTER_NETLINK_QUEUE_CT is not set
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NETFILTER_TPROXY=m
+CONFIG_NETFILTER_XTABLES=m
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
+CONFIG_NETFILTER_XT_TARGET_AUDIT=m
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_BPF=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS SH scheduler
+#
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_IP_VS_PE_SIP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT_IPV4=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV6=m
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RPFILTER=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_NF_NAT_IPV6=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_IP6_NF_TARGET_NPT=m
+
+#
+# DECnet: Netfilter Configuration
+#
+# CONFIG_DECNET_NF_GRABULATOR is not set
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+# CONFIG_IP_DCCP_CCID3 is not set
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+CONFIG_RDS=m
+CONFIG_RDS_RDMA=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
+CONFIG_TIPC=m
+CONFIG_TIPC_PORTS=8191
+CONFIG_TIPC_MEDIA_IB=y
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_L2TP=m
+CONFIG_L2TP_DEBUGFS=m
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=m
+CONFIG_L2TP_ETH=m
+CONFIG_STP=m
+CONFIG_GARP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_HAVE_NET_DSA=y
+CONFIG_NET_DSA=m
+CONFIG_NET_DSA_TAG_DSA=y
+CONFIG_NET_DSA_TAG_EDSA=y
+CONFIG_NET_DSA_TAG_TRAILER=y
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+# CONFIG_VLAN_8021Q_MVRP is not set
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+CONFIG_IEEE802154=m
+CONFIG_IEEE802154_6LOWPAN=m
+CONFIG_MAC802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_EMATCH_CANID=m
+CONFIG_NET_EMATCH_IPSET=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=y
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+# CONFIG_NET_CLS_IND is not set
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+CONFIG_BATMAN_ADV=m
+CONFIG_BATMAN_ADV_BLA=y
+CONFIG_BATMAN_ADV_DAT=y
+CONFIG_BATMAN_ADV_NC=y
+# CONFIG_BATMAN_ADV_DEBUG is not set
+CONFIG_OPENVSWITCH=m
+CONFIG_VSOCKETS=m
+CONFIG_VMWARE_VMCI_VSOCKETS=m
+CONFIG_NETLINK_MMAP=y
+CONFIG_NETLINK_DIAG=m
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+CONFIG_NETPRIO_CGROUP=m
+CONFIG_BQL=y
+CONFIG_BPF_JIT=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_DROP_MONITOR is not set
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_YAM=m
+CONFIG_CAN=m
+CONFIG_CAN_RAW=m
+CONFIG_CAN_BCM=m
+CONFIG_CAN_GW=m
+
+#
+# CAN Device Drivers
+#
+CONFIG_CAN_VCAN=m
+CONFIG_CAN_SLCAN=m
+CONFIG_CAN_DEV=m
+CONFIG_CAN_CALC_BITTIMING=y
+# CONFIG_CAN_LEDS is not set
+CONFIG_CAN_JANZ_ICAN3=m
+CONFIG_PCH_CAN=m
+CONFIG_CAN_SJA1000=m
+CONFIG_CAN_SJA1000_ISA=m
+CONFIG_CAN_SJA1000_PLATFORM=m
+CONFIG_CAN_EMS_PCMCIA=m
+CONFIG_CAN_EMS_PCI=m
+CONFIG_CAN_PEAK_PCMCIA=m
+CONFIG_CAN_PEAK_PCI=m
+CONFIG_CAN_PEAK_PCIEC=y
+CONFIG_CAN_KVASER_PCI=m
+CONFIG_CAN_PLX_PCI=m
+CONFIG_CAN_C_CAN=m
+CONFIG_CAN_C_CAN_PLATFORM=m
+CONFIG_CAN_C_CAN_PCI=m
+CONFIG_CAN_CC770=m
+CONFIG_CAN_CC770_ISA=m
+CONFIG_CAN_CC770_PLATFORM=m
+
+#
+# CAN USB interfaces
+#
+CONFIG_CAN_EMS_USB=m
+CONFIG_CAN_ESD_USB2=m
+CONFIG_CAN_KVASER_USB=m
+CONFIG_CAN_PEAK_USB=m
+CONFIG_CAN_8DEV_USB=m
+CONFIG_CAN_SOFTING=m
+CONFIG_CAN_SOFTING_CS=m
+# CONFIG_CAN_DEBUG_DEVICES is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_CMTP=m
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_3WIRE=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_BT_WILINK=m
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_RFKILL_REGULATOR=m
+CONFIG_RFKILL_GPIO=m
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+CONFIG_NET_9P_RDMA=m
+# CONFIG_NET_9P_DEBUG is not set
+# CONFIG_CAIF is not set
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+CONFIG_NFC=m
+CONFIG_NFC_NCI=m
+CONFIG_NFC_HCI=m
+# CONFIG_NFC_SHDLC is not set
+
+#
+# Near Field Communication (NFC) devices
+#
+CONFIG_NFC_PN533=m
+CONFIG_NFC_WILINK=m
+# CONFIG_NFC_MEI_PHY is not set
+CONFIG_NFC_PN544=m
+CONFIG_NFC_MICROREAD=m
+CONFIG_HAVE_BPF_JIT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_GENERIC_CPU_DEVICES is not set
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=m
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+
+#
+# Bus devices
+#
+CONFIG_CONNECTOR=m
+CONFIG_MTD=m
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_REDBOOT_PARTS=m
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=m
+CONFIG_MTD_AR7_PARTS=m
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+CONFIG_SM_FTL=m
+CONFIG_MTD_OOPS=m
+CONFIG_MTD_SWAP=m
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+CONFIG_MTD_GEN_PROBE=m
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_MAP_BANK_WIDTH_8=y
+CONFIG_MTD_MAP_BANK_WIDTH_16=y
+CONFIG_MTD_MAP_BANK_WIDTH_32=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+CONFIG_MTD_CFI_I4=y
+CONFIG_MTD_CFI_I8=y
+CONFIG_MTD_OTP=y
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_CFI_UTIL=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=m
+# CONFIG_MTD_PHYSMAP_COMPAT is not set
+CONFIG_MTD_SC520CDP=m
+CONFIG_MTD_NETSC520=m
+CONFIG_MTD_TS5500=m
+CONFIG_MTD_SBC_GXX=m
+CONFIG_MTD_AMD76XROM=m
+CONFIG_MTD_ICHXROM=m
+CONFIG_MTD_ESB2ROM=m
+CONFIG_MTD_CK804XROM=m
+CONFIG_MTD_SCB2_FLASH=m
+CONFIG_MTD_NETtel=m
+CONFIG_MTD_L440GX=m
+CONFIG_MTD_PCI=m
+CONFIG_MTD_PCMCIA=m
+# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
+CONFIG_MTD_GPIO_ADDR=m
+CONFIG_MTD_INTEL_VR_NOR=m
+CONFIG_MTD_PLATRAM=m
+CONFIG_MTD_LATCH_ADDR=m
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_PMC551=m
+CONFIG_MTD_PMC551_BUGFIX=y
+# CONFIG_MTD_PMC551_DEBUG is not set
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+
+#
+# Disk-On-Chip Device Drivers
+#
+CONFIG_MTD_DOCG3=m
+CONFIG_BCH_CONST_M=14
+CONFIG_BCH_CONST_T=4
+CONFIG_MTD_NAND_ECC=m
+CONFIG_MTD_NAND_ECC_SMC=y
+CONFIG_MTD_NAND=m
+CONFIG_MTD_NAND_BCH=m
+CONFIG_MTD_NAND_ECC_BCH=y
+CONFIG_MTD_SM_COMMON=m
+CONFIG_MTD_NAND_DENALI=m
+CONFIG_MTD_NAND_DENALI_PCI=m
+CONFIG_MTD_NAND_DENALI_DT=m
+CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
+CONFIG_MTD_NAND_IDS=m
+CONFIG_MTD_NAND_RICOH=m
+CONFIG_MTD_NAND_DISKONCHIP=m
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
+CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y
+CONFIG_MTD_NAND_DOCG4=m
+CONFIG_MTD_NAND_CAFE=m
+CONFIG_MTD_NAND_NANDSIM=m
+CONFIG_MTD_NAND_PLATFORM=m
+CONFIG_MTD_ALAUDA=m
+CONFIG_MTD_ONENAND=m
+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+CONFIG_MTD_ONENAND_GENERIC=m
+CONFIG_MTD_ONENAND_OTP=y
+CONFIG_MTD_ONENAND_2X_PROGRAM=y
+
+#
+# LPDDR flash memory drivers
+#
+CONFIG_MTD_LPDDR=m
+CONFIG_MTD_QINFO_PROBE=m
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+CONFIG_PNP_DEBUG_MESSAGES=y
+
+#
+# Protocols
+#
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=y
+CONFIG_PARIDE=m
+
+#
+# Parallel IDE high-level drivers
+#
+CONFIG_PARIDE_PD=m
+CONFIG_PARIDE_PCD=m
+CONFIG_PARIDE_PF=m
+CONFIG_PARIDE_PT=m
+CONFIG_PARIDE_PG=m
+
+#
+# Parallel IDE protocol modules
+#
+CONFIG_PARIDE_ATEN=m
+CONFIG_PARIDE_BPCK=m
+CONFIG_PARIDE_COMM=m
+CONFIG_PARIDE_DSTR=m
+CONFIG_PARIDE_FIT2=m
+CONFIG_PARIDE_FIT3=m
+CONFIG_PARIDE_EPAT=m
+CONFIG_PARIDE_EPATC8=y
+CONFIG_PARIDE_EPIA=m
+CONFIG_PARIDE_FRIQ=m
+CONFIG_PARIDE_FRPW=m
+CONFIG_PARIDE_KBIC=m
+CONFIG_PARIDE_KTTI=m
+CONFIG_PARIDE_ON20=m
+CONFIG_PARIDE_ON26=m
+CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=m
+CONFIG_BLK_DEV_UMEM=m
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NVME=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=m
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_BLK_DEV_RBD=m
+CONFIG_BLK_DEV_RSXX=m
+
+#
+# Misc devices
+#
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_AD525X_DPOT=m
+CONFIG_AD525X_DPOT_I2C=m
+CONFIG_ATMEL_PWM=m
+CONFIG_DUMMY_IRQ=m
+CONFIG_IBM_ASM=m
+CONFIG_PHANTOM=m
+CONFIG_INTEL_MID_PTI=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+CONFIG_ATMEL_SSC=m
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+CONFIG_HP_ILO=m
+CONFIG_APDS9802ALS=m
+CONFIG_ISL29003=m
+CONFIG_ISL29020=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_SENSORS_BH1780=m
+CONFIG_SENSORS_BH1770=m
+CONFIG_SENSORS_APDS990X=m
+CONFIG_HMC6352=m
+CONFIG_DS1682=m
+CONFIG_VMWARE_BALLOON=m
+CONFIG_BMP085=y
+CONFIG_BMP085_I2C=m
+CONFIG_PCH_PHUB=m
+CONFIG_USB_SWITCH_FSA9480=m
+# CONFIG_SRAM is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+
+#
+# Texas Instruments shared transport line discipline
+#
+CONFIG_TI_ST=m
+CONFIG_SENSORS_LIS3_I2C=m
+
+#
+# Altera FPGA firmware download module
+#
+CONFIG_ALTERA_STAPL=m
+CONFIG_INTEL_MEI=m
+CONFIG_INTEL_MEI_ME=m
+CONFIG_VMWARE_VMCI=m
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+CONFIG_RAID_ATTRS=y
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=y
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=y
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_FC_TGT_ATTRS=y
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=y
+CONFIG_SCSI_SAS_LIBSAS=y
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_ISCSI_BOOT_SYSFS=y
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_CXGB4_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_SCSI_BNX2X_FCOE=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_AIC7XXX_OLD=m
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=4
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+# CONFIG_SCSI_MVSAS_TASKLET is not set
+CONFIG_SCSI_MVUMI=m
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT3SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT3SAS_LOGGING is not set
+CONFIG_SCSI_UFSHCD=m
+CONFIG_SCSI_UFSHCD_PCI=m
+CONFIG_SCSI_UFSHCD_PLATFORM=m
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_BUSLOGIC=m
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_EATA=m
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_ISCI=m
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_QLA_FC=m
+CONFIG_TCM_QLA2XXX=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_DEBUG=m
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
+CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_VIRTIO=m
+CONFIG_SCSI_CHELSIO_FCOE=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=1
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+# CONFIG_SATA_ZPODD is not set
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_SATA_INIC162X=y
+CONFIG_SATA_ACARD_AHCI=y
+CONFIG_SATA_SIL24=y
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+CONFIG_PDC_ADMA=y
+CONFIG_SATA_QSTOR=y
+CONFIG_SATA_SX4=y
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+CONFIG_ATA_PIIX=y
+CONFIG_SATA_HIGHBANK=m
+CONFIG_SATA_MV=y
+CONFIG_SATA_NV=y
+CONFIG_SATA_PROMISE=y
+CONFIG_SATA_SIL=y
+CONFIG_SATA_SIS=y
+CONFIG_SATA_SVW=y
+CONFIG_SATA_ULI=y
+CONFIG_SATA_VIA=y
+CONFIG_SATA_VITESSE=y
+
+#
+# PATA SFF controllers with BMDMA
+#
+CONFIG_PATA_ALI=y
+CONFIG_PATA_AMD=y
+CONFIG_PATA_ARASAN_CF=m
+CONFIG_PATA_ARTOP=y
+CONFIG_PATA_ATIIXP=y
+CONFIG_PATA_ATP867X=y
+CONFIG_PATA_CMD64X=y
+CONFIG_PATA_CS5520=y
+CONFIG_PATA_CS5530=y
+CONFIG_PATA_CS5536=y
+CONFIG_PATA_CYPRESS=y
+CONFIG_PATA_EFAR=y
+CONFIG_PATA_HPT366=y
+CONFIG_PATA_HPT37X=y
+CONFIG_PATA_HPT3X2N=y
+CONFIG_PATA_HPT3X3=y
+CONFIG_PATA_HPT3X3_DMA=y
+CONFIG_PATA_IT8213=y
+CONFIG_PATA_IT821X=y
+CONFIG_PATA_JMICRON=y
+CONFIG_PATA_MARVELL=y
+CONFIG_PATA_NETCELL=y
+CONFIG_PATA_NINJA32=y
+CONFIG_PATA_NS87415=y
+CONFIG_PATA_OLDPIIX=y
+CONFIG_PATA_OPTIDMA=y
+CONFIG_PATA_PDC2027X=y
+CONFIG_PATA_PDC_OLD=y
+CONFIG_PATA_RADISYS=y
+CONFIG_PATA_RDC=y
+CONFIG_PATA_SC1200=y
+CONFIG_PATA_SCH=y
+CONFIG_PATA_SERVERWORKS=y
+CONFIG_PATA_SIL680=y
+CONFIG_PATA_SIS=y
+CONFIG_PATA_TOSHIBA=m
+CONFIG_PATA_TRIFLEX=y
+CONFIG_PATA_VIA=y
+CONFIG_PATA_WINBOND=y
+
+#
+# PIO-only SFF controllers
+#
+CONFIG_PATA_CMD640_PCI=y
+CONFIG_PATA_MPIIX=y
+CONFIG_PATA_NS87410=y
+CONFIG_PATA_OPTI=y
+CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_RZ1000=y
+
+#
+# Generic fallback / legacy drivers
+#
+CONFIG_PATA_ACPI=y
+CONFIG_ATA_GENERIC=y
+CONFIG_PATA_LEGACY=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=y
+CONFIG_MD_AUTODETECT=y
+CONFIG_MD_LINEAR=y
+CONFIG_MD_RAID0=y
+CONFIG_MD_RAID1=y
+CONFIG_MD_RAID10=y
+CONFIG_MD_RAID456=y
+CONFIG_MD_MULTIPATH=y
+CONFIG_MD_FAULTY=m
+CONFIG_BCACHE=m
+# CONFIG_BCACHE_DEBUG is not set
+# CONFIG_BCACHE_EDEBUG is not set
+# CONFIG_BCACHE_CLOSURES_DEBUG is not set
+CONFIG_BLK_DEV_DM=y
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_BUFIO=m
+CONFIG_DM_BIO_PRISON=m
+CONFIG_DM_PERSISTENT_DATA=m
+CONFIG_DM_CRYPT=y
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_THIN_PROVISIONING=m
+# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
+CONFIG_DM_CACHE=m
+CONFIG_DM_CACHE_MQ=m
+CONFIG_DM_CACHE_CLEANER=m
+CONFIG_DM_MIRROR=y
+CONFIG_DM_RAID=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+# CONFIG_DM_DELAY is not set
+CONFIG_DM_UEVENT=y
+CONFIG_DM_FLAKEY=m
+CONFIG_DM_VERITY=m
+CONFIG_TARGET_CORE=m
+CONFIG_TCM_IBLOCK=m
+CONFIG_TCM_FILEIO=m
+CONFIG_TCM_PSCSI=m
+CONFIG_LOOPBACK_TARGET=m
+CONFIG_TCM_FC=m
+CONFIG_ISCSI_TARGET=m
+CONFIG_SBP_TARGET=m
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=m
+CONFIG_FUSION_LAN=m
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+CONFIG_FIREWIRE_NOSY=m
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_EXT_ADAPTEC_DMA64=y
+CONFIG_I2O_CONFIG=m
+# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_EQUALIZER=m
+CONFIG_NET_FC=y
+CONFIG_MII=m
+CONFIG_IFB=m
+CONFIG_NET_TEAM=m
+CONFIG_NET_TEAM_MODE_BROADCAST=m
+CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
+CONFIG_NET_TEAM_MODE_RANDOM=m
+CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
+CONFIG_NET_TEAM_MODE_LOADBALANCE=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_VXLAN=m
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_NTB_NETDEV=m
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=m
+CONFIG_SUNGEM_PHY=m
+CONFIG_ARCNET=m
+CONFIG_ARCNET_1201=m
+CONFIG_ARCNET_1051=m
+CONFIG_ARCNET_RAW=m
+CONFIG_ARCNET_CAP=m
+CONFIG_ARCNET_COM90xx=m
+CONFIG_ARCNET_COM90xxIO=m
+CONFIG_ARCNET_RIM_I=m
+CONFIG_ARCNET_COM20020=m
+CONFIG_ARCNET_COM20020_PCI=m
+CONFIG_ARCNET_COM20020_CS=m
+CONFIG_ATM_DRIVERS=y
+CONFIG_ATM_DUMMY=m
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E=m
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+
+#
+# CAIF transport drivers
+#
+CONFIG_VHOST_NET=m
+CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_RING=m
+
+#
+# Distributed Switch Architecture drivers
+#
+CONFIG_NET_DSA_MV88E6XXX=m
+CONFIG_NET_DSA_MV88E6060=m
+CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
+CONFIG_NET_DSA_MV88E6131=m
+CONFIG_NET_DSA_MV88E6123_61_65=m
+CONFIG_ETHERNET=y
+CONFIG_MDIO=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_3C589=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_NET_VENDOR_ADAPTEC=y
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_NET_VENDOR_ALTEON=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_NET_VENDOR_AMD=y
+CONFIG_AMD8111_ETH=m
+CONFIG_PCNET32=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_NET_VENDOR_ATHEROS=y
+CONFIG_ATL2=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_ALX=m
+CONFIG_NET_CADENCE=y
+CONFIG_ARM_AT91_ETHER=m
+CONFIG_MACB=m
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_TIGON3=m
+CONFIG_BNX2X=m
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_BNA=m
+CONFIG_NET_CALXEDA_XGMAC=m
+CONFIG_NET_VENDOR_CHELSIO=y
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4=m
+CONFIG_CHELSIO_T4VF=m
+CONFIG_NET_VENDOR_CISCO=y
+CONFIG_ENIC=m
+CONFIG_DNET=m
+CONFIG_NET_VENDOR_DEC=y
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+CONFIG_TULIP_MMIO=y
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_NET_VENDOR_DLINK=y
+CONFIG_DL2K=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_NET_VENDOR_EMULEX=y
+CONFIG_BE2NET=m
+CONFIG_NET_VENDOR_EXAR=y
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_NET_VENDOR_FUJITSU=y
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_NET_VENDOR_HP=y
+CONFIG_HP100=m
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_E100=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IGB=m
+CONFIG_IGB_HWMON=y
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_IXGB=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_HWMON=y
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_IP1000=m
+CONFIG_JME=m
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_MVMDIO=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKGE_GENESIS=y
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_NET_VENDOR_MICREL=y
+CONFIG_KS8842=m
+CONFIG_KS8851_MLL=m
+CONFIG_KSZ884X_PCI=m
+CONFIG_NET_VENDOR_MYRI=y
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_FEALNX=m
+CONFIG_NET_VENDOR_NATSEMI=y
+CONFIG_NATSEMI=m
+CONFIG_NS83820=m
+CONFIG_NET_VENDOR_8390=y
+CONFIG_PCMCIA_AXNET=m
+CONFIG_NE2K_PCI=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_NET_VENDOR_NVIDIA=y
+CONFIG_FORCEDETH=m
+CONFIG_NET_VENDOR_OKI=y
+CONFIG_PCH_GBE=m
+CONFIG_ETHOC=m
+CONFIG_NET_PACKET_ENGINE=y
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_NET_VENDOR_QLOGIC=y
+CONFIG_QLA3XXX=m
+CONFIG_QLCNIC=m
+CONFIG_QLGE=m
+CONFIG_NETXEN_NIC=m
+CONFIG_NET_VENDOR_REALTEK=y
+CONFIG_ATP=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+CONFIG_8139TOO_PIO=y
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R8169=m
+CONFIG_NET_VENDOR_RDC=y
+CONFIG_R6040=m
+CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SILAN=y
+CONFIG_SC92031=m
+CONFIG_NET_VENDOR_SIS=y
+CONFIG_SIS900=m
+CONFIG_SIS190=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_SFC_MCDI_MON=y
+CONFIG_NET_VENDOR_SMSC=y
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
+CONFIG_NET_VENDOR_STMICRO=y
+CONFIG_STMMAC_ETH=m
+CONFIG_STMMAC_PLATFORM=y
+# CONFIG_STMMAC_PCI is not set
+CONFIG_STMMAC_DEBUG_FS=y
+# CONFIG_STMMAC_DA is not set
+CONFIG_NET_VENDOR_SUN=y
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NIU=m
+CONFIG_NET_VENDOR_TEHUTI=y
+CONFIG_TEHUTI=m
+CONFIG_NET_VENDOR_TI=y
+CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VIA=y
+CONFIG_VIA_RHINE=m
+CONFIG_VIA_RHINE_MMIO=y
+CONFIG_VIA_VELOCITY=m
+CONFIG_NET_VENDOR_WIZNET=y
+CONFIG_WIZNET_W5100=m
+CONFIG_WIZNET_W5300=m
+# CONFIG_WIZNET_BUS_DIRECT is not set
+# CONFIG_WIZNET_BUS_INDIRECT is not set
+CONFIG_WIZNET_BUS_ANY=y
+CONFIG_NET_VENDOR_XIRCOM=y
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_FDDI=y
+CONFIG_DEFXX=m
+# CONFIG_DEFXX_MMIO is not set
+CONFIG_SKFP=m
+CONFIG_HIPPI=y
+CONFIG_ROADRUNNER=m
+# CONFIG_ROADRUNNER_LARGE_RINGS is not set
+CONFIG_NET_SB1000=m
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_AT803X_PHY=m
+CONFIG_AMD_PHY=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_BCM87XX_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+CONFIG_MDIO_BITBANG=m
+CONFIG_MDIO_GPIO=m
+CONFIG_PLIP=m
+CONFIG_PPP=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOATM=m
+CONFIG_PPPOE=m
+CONFIG_PPTP=m
+CONFIG_PPPOL2TP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_SLIP=m
+CONFIG_SLHC=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLIP_SMART=y
+# CONFIG_SLIP_MODE_SLIP6 is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_CDC_MBIM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_NET_CX82310_ETH=m
+CONFIG_USB_NET_KALMIA=m
+CONFIG_USB_NET_QMI_WWAN=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_USB_VL600=m
+CONFIG_WLAN=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_LIBERTAS_THINFIRM=m
+# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+CONFIG_ATH_CARDS=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+# CONFIG_ATH5K_TRACER is not set
+CONFIG_ATH5K_PCI=y
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
+CONFIG_ATH9K=m
+CONFIG_ATH9K_PCI=y
+# CONFIG_ATH9K_AHB is not set
+# CONFIG_ATH9K_DEBUGFS is not set
+# CONFIG_ATH9K_LEGACY_RATE_CONTROL is not set
+CONFIG_ATH9K_HTC=m
+# CONFIG_ATH9K_HTC_DEBUGFS is not set
+CONFIG_CARL9170=m
+CONFIG_CARL9170_LEDS=y
+CONFIG_CARL9170_WPC=y
+# CONFIG_CARL9170_HWRNG is not set
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_ATH6KL_USB=m
+# CONFIG_ATH6KL_DEBUG is not set
+# CONFIG_ATH6KL_TRACING is not set
+CONFIG_AR5523=m
+CONFIG_WIL6210=m
+CONFIG_WIL6210_ISR_COR=y
+CONFIG_B43=m
+CONFIG_B43_BCMA=y
+# CONFIG_B43_BCMA_EXTRA is not set
+CONFIG_B43_SSB=y
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_BCMA_PIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_N=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_PHY_HT=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_BRCMUTIL=m
+CONFIG_BRCMSMAC=m
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_SDIO=y
+CONFIG_BRCMFMAC_USB=y
+CONFIG_BRCM_TRACING=y
+# CONFIG_BRCMDBG is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+CONFIG_IWLDVM=m
+CONFIG_IWLMVM=m
+CONFIG_IWLWIFI_OPMODE_MODULAR=y
+
+#
+# Debugging Options
+#
+# CONFIG_IWLWIFI_DEBUG is not set
+# CONFIG_IWLWIFI_DEVICE_TRACING is not set
+# CONFIG_IWLWIFI_P2P is not set
+CONFIG_IWLEGACY=m
+CONFIG_IWL4965=m
+CONFIG_IWL3945=m
+
+#
+# iwl3945 / iwl4965 Debugging Options
+#
+# CONFIG_IWLEGACY_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+# CONFIG_HERMES_PRISM is not set
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_ORINOCO_USB=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT33XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2800PCI_RT53XX=y
+CONFIG_RT2800PCI_RT3290=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT33XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_RT53XX=y
+CONFIG_RT2800USB_RT55XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_MMIO=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_RTLWIFI=m
+# CONFIG_RTLWIFI_DEBUG is not set
+CONFIG_RTL8192CE=m
+CONFIG_RTL8192SE=m
+CONFIG_RTL8192DE=m
+CONFIG_RTL8723AE=m
+CONFIG_RTL8188EE=m
+CONFIG_RTL8192CU=m
+CONFIG_RTL8192C_COMMON=m
+CONFIG_WL_TI=y
+CONFIG_WL1251=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL12XX=m
+CONFIG_WL18XX=m
+CONFIG_WLCORE=m
+CONFIG_WLCORE_SDIO=m
+CONFIG_WILINK_PLATFORM_DATA=y
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_MWIFIEX_USB=m
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+CONFIG_WAN=y
+CONFIG_LANMEDIA=m
+CONFIG_HDLC=m
+CONFIG_HDLC_RAW=m
+CONFIG_HDLC_RAW_ETH=m
+CONFIG_HDLC_CISCO=m
+CONFIG_HDLC_FR=m
+CONFIG_HDLC_PPP=m
+
+#
+# X.25/LAPB support is disabled
+#
+CONFIG_PCI200SYN=m
+CONFIG_WANXL=m
+# CONFIG_PC300TOO is not set
+CONFIG_FARSYNC=m
+CONFIG_DSCC4=m
+# CONFIG_DSCC4_PCISYNC is not set
+# CONFIG_DSCC4_PCI_RST is not set
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+CONFIG_SBNI=m
+# CONFIG_SBNI_MULTILINE is not set
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+CONFIG_IEEE802154_FAKELB=m
+CONFIG_VMXNET3=m
+CONFIG_HYPERV_NET=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+CONFIG_HISAX_NO_SENDCOMPLETE=y
+CONFIG_HISAX_NO_LLC=y
+CONFIG_HISAX_NO_KEYPAD=y
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+# CONFIG_GIGASET_CAPI is not set
+CONFIG_GIGASET_I4L=y
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+# CONFIG_GIGASET_M101 is not set
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=y
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+CONFIG_INPUT_MATRIXKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ADP5589=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_QT1070=m
+CONFIG_KEYBOARD_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_GPIO_POLLED=m
+CONFIG_KEYBOARD_TCA6416=m
+CONFIG_KEYBOARD_TCA8418=m
+CONFIG_KEYBOARD_MATRIX=m
+CONFIG_KEYBOARD_LM8323=m
+CONFIG_KEYBOARD_LM8333=m
+CONFIG_KEYBOARD_MAX7359=m
+CONFIG_KEYBOARD_MCS=m
+CONFIG_KEYBOARD_MPR121=m
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OPENCORES=m
+CONFIG_KEYBOARD_SAMSUNG=m
+CONFIG_KEYBOARD_STOWAWAY=m
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_CROS_EC=m
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+CONFIG_MOUSE_PS2_TOUCHKIT=y
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_CYAPA=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_MOUSE_SYNAPTICS_USB=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_AS5011=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_HANWANG=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
+CONFIG_TOUCHSCREEN_BU21013=m
+CONFIG_TOUCHSCREEN_CY8CTMG110=m
+CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
+CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_HAMPSHIRE=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_ILI210X=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_WACOM_I2C=m
+CONFIG_TOUCHSCREEN_MAX11801=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MMS114=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+CONFIG_TOUCHSCREEN_WM9705=y
+CONFIG_TOUCHSCREEN_WM9712=y
+CONFIG_TOUCHSCREEN_WM9713=y
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+CONFIG_TOUCHSCREEN_MC13783=m
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+CONFIG_TOUCHSCREEN_USB_ELO=y
+CONFIG_TOUCHSCREEN_USB_E2I=y
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC_SERIO=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+CONFIG_TOUCHSCREEN_W90X900=m
+CONFIG_TOUCHSCREEN_ST1232=m
+CONFIG_TOUCHSCREEN_TPS6507X=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_AD714X=m
+CONFIG_INPUT_AD714X_I2C=m
+CONFIG_INPUT_BMA150=m
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_MC13783_PWRBUTTON=m
+CONFIG_INPUT_MMA8450=m
+CONFIG_INPUT_MPU3050=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_GP2A=m
+CONFIG_INPUT_GPIO_TILT_POLLED=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_KXTJ9=m
+CONFIG_INPUT_KXTJ9_POLLED_MODE=y
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_PCF8574=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+CONFIG_INPUT_ADXL34X=m
+CONFIG_INPUT_ADXL34X_I2C=m
+CONFIG_INPUT_IMS_PCU=m
+CONFIG_INPUT_CMA3000=m
+CONFIG_INPUT_CMA3000_I2C=m
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
+CONFIG_SERIO_PS2MULT=m
+CONFIG_SERIO_ARC_PS2=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=32
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+CONFIG_MOXA_INTELLIO=m
+CONFIG_MOXA_SMARTIO=m
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+CONFIG_SYNCLINK_GT=m
+CONFIG_NOZOMI=m
+CONFIG_ISI=m
+CONFIG_N_HDLC=m
+CONFIG_N_GSM=m
+CONFIG_TRACE_ROUTER=m
+CONFIG_TRACE_SINK=m
+CONFIG_DEVKMEM=y
+CONFIG_STALDRV=y
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_8250_DW=m
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_MFD_HSU=m
+CONFIG_SERIAL_UARTLITE=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_SCCNXP=m
+CONFIG_SERIAL_TIMBERDALE=m
+CONFIG_SERIAL_ALTERA_JTAGUART=m
+CONFIG_SERIAL_ALTERA_UART=m
+CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
+CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
+CONFIG_SERIAL_PCH_UART=m
+CONFIG_SERIAL_ARC=m
+CONFIG_SERIAL_ARC_NR_PORTS=1
+CONFIG_SERIAL_RP2=m
+CONFIG_SERIAL_RP2_NR_UARTS=32
+CONFIG_PRINTER=m
+CONFIG_LP_CONSOLE=y
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_VIRTIO_CONSOLE=m
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_ATMEL=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_EXYNOS=m
+CONFIG_HW_RANDOM_TPM=m
+CONFIG_NVRAM=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+CONFIG_MWAVE=m
+CONFIG_RAW_DRIVER=m
+CONFIG_MAX_RAW_DEVS=256
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_TIS_I2C_INFINEON=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TCG_ST33_I2C=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_MUX=m
+
+#
+# Multiplexer I2C Chip support
+#
+CONFIG_I2C_MUX_GPIO=m
+CONFIG_I2C_MUX_PCA9541=m
+CONFIG_I2C_MUX_PCA954x=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_ISMT=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_PLATFORM=m
+CONFIG_I2C_DESIGNWARE_PCI=m
+CONFIG_I2C_EG20T=m
+CONFIG_I2C_GPIO=m
+CONFIG_I2C_INTEL_MID=m
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_DIOLAN_U2C=m
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+CONFIG_I2C_VIPERBOARD=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_SPI is not set
+
+#
+# Qualcomm MSM SSBI bus support
+#
+# CONFIG_SSBI is not set
+CONFIG_HSI=m
+CONFIG_HSI_BOARDINFO=y
+
+#
+# HSI clients
+#
+CONFIG_HSI_CHAR=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_PPS_CLIENT_PARPORT=m
+CONFIG_PPS_CLIENT_GPIO=m
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=m
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+CONFIG_PTP_1588_CLOCK_PCH=m
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_GPIO_DEVRES=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_ACPI=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_GENERIC=m
+CONFIG_GPIO_MAX730X=m
+
+#
+# Memory mapped GPIO drivers:
+#
+CONFIG_GPIO_GENERIC_PLATFORM=m
+CONFIG_GPIO_IT8761E=m
+CONFIG_GPIO_TS5500=m
+CONFIG_GPIO_SCH=m
+CONFIG_GPIO_ICH=m
+CONFIG_GPIO_VX855=m
+CONFIG_GPIO_LYNXPOINT=y
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_ARIZONA=m
+CONFIG_GPIO_MAX7300=m
+CONFIG_GPIO_MAX732X=m
+CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCF857X=m
+CONFIG_GPIO_ADP5588=m
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_AMD8111=m
+# CONFIG_GPIO_LANGWELL is not set
+CONFIG_GPIO_PCH=m
+CONFIG_GPIO_ML_IOH=m
+# CONFIG_GPIO_TIMBERDALE is not set
+CONFIG_GPIO_RDC321X=m
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MCP23S08=m
+
+#
+# AC97 GPIO expanders:
+#
+# CONFIG_GPIO_UCB1400 is not set
+
+#
+# MODULbus GPIO expanders:
+#
+CONFIG_GPIO_JANZ_TTL=m
+
+#
+# USB GPIO expanders:
+#
+CONFIG_GPIO_VIPERBOARD=m
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_DS1WM=m
+CONFIG_W1_MASTER_GPIO=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2408=m
+# CONFIG_W1_SLAVE_DS2408_READBACK is not set
+CONFIG_W1_SLAVE_DS2413=m
+CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2431=m
+CONFIG_W1_SLAVE_DS2433=m
+CONFIG_W1_SLAVE_DS2433_CRC=y
+CONFIG_W1_SLAVE_DS2760=m
+CONFIG_W1_SLAVE_DS2780=m
+CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS28E04=m
+CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_GENERIC_ADC_BATTERY=m
+CONFIG_TEST_POWER=m
+CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2780=m
+CONFIG_BATTERY_DS2781=m
+CONFIG_BATTERY_DS2782=m
+CONFIG_BATTERY_SBS=m
+CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_BQ27X00_I2C=y
+CONFIG_BATTERY_BQ27X00_PLATFORM=y
+CONFIG_BATTERY_MAX17040=m
+CONFIG_BATTERY_MAX17042=m
+CONFIG_CHARGER_PCF50633=m
+CONFIG_CHARGER_ISP1704=m
+CONFIG_CHARGER_MAX8903=m
+CONFIG_CHARGER_LP8727=m
+CONFIG_CHARGER_GPIO=m
+# CONFIG_CHARGER_MANAGER is not set
+CONFIG_CHARGER_BQ2415X=m
+CONFIG_CHARGER_SMB347=m
+CONFIG_BATTERY_GOLDFISH=m
+CONFIG_POWER_RESET=y
+CONFIG_POWER_AVS=y
+CONFIG_HWMON=m
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7X10=m
+CONFIG_SENSORS_ADT7410=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_FAM15H_POWER=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS620=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_GPIO_FAN=m
+CONFIG_SENSORS_HIH6130=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IIO_HWMON=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_JC42=m
+CONFIG_SENSORS_LINEAGE=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4151=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LTC4261=m
+CONFIG_SENSORS_LM95234=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_LM95245=m
+CONFIG_SENSORS_MAX16065=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX1668=m
+CONFIG_SENSORS_MAX197=m
+CONFIG_SENSORS_MAX6639=m
+CONFIG_SENSORS_MAX6642=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_MAX6697=m
+CONFIG_SENSORS_MCP3021=m
+CONFIG_SENSORS_NCT6775=m
+CONFIG_SENSORS_NTC_THERMISTOR=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_PMBUS=m
+CONFIG_SENSORS_PMBUS=m
+CONFIG_SENSORS_ADM1275=m
+CONFIG_SENSORS_LM25066=m
+CONFIG_SENSORS_LTC2978=m
+CONFIG_SENSORS_MAX16064=m
+CONFIG_SENSORS_MAX34440=m
+CONFIG_SENSORS_MAX8688=m
+CONFIG_SENSORS_UCD9000=m
+CONFIG_SENSORS_UCD9200=m
+CONFIG_SENSORS_ZL6100=m
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SHT21=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_SMM665=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_EMC1403=m
+CONFIG_SENSORS_EMC2103=m
+CONFIG_SENSORS_EMC6W201=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_SCH56XX_COMMON=m
+CONFIG_SENSORS_SCH5627=m
+CONFIG_SENSORS_SCH5636=m
+CONFIG_SENSORS_ADS1015=m
+CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_INA209=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP102=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83795=m
+# CONFIG_SENSORS_W83795_FANCTRL is not set
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_APPLESMC=m
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ACPI_POWER=m
+CONFIG_SENSORS_ATK0110=m
+CONFIG_THERMAL=m
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+CONFIG_THERMAL_GOV_FAIR_SHARE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+CONFIG_THERMAL_GOV_USER_SPACE=y
+CONFIG_CPU_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+CONFIG_INTEL_POWERCLAMP=m
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_RETU_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_F71808E_WDT=m
+CONFIG_SP5100_TCO=m
+CONFIG_GEODE_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_IE6XX_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_HPWDT_NMI_DECODING=y
+CONFIG_SC1200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_NV_TCO=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_VIA_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+# CONFIG_SSB_DRIVER_GPIO is not set
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+CONFIG_BCMA=m
+CONFIG_BCMA_BLOCKIO=y
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
+CONFIG_BCMA_HOST_PCI=y
+# CONFIG_BCMA_DRIVER_GMAC_CMN is not set
+# CONFIG_BCMA_DRIVER_GPIO is not set
+# CONFIG_BCMA_DEBUG is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+CONFIG_MFD_CS5535=m
+CONFIG_MFD_CROS_EC=m
+CONFIG_MFD_CROS_EC_I2C=m
+CONFIG_MFD_MC13783=m
+CONFIG_MFD_MC13XXX=m
+CONFIG_MFD_MC13XXX_I2C=m
+CONFIG_HTC_PASIC3=m
+CONFIG_LPC_ICH=m
+CONFIG_LPC_SCH=m
+CONFIG_MFD_JANZ_CMODIO=m
+CONFIG_MFD_VIPERBOARD=m
+CONFIG_MFD_RETU=m
+CONFIG_MFD_PCF50633=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_UCB1400_CORE=m
+CONFIG_MFD_RDC321X=m
+CONFIG_MFD_RTSX_PCI=m
+CONFIG_MFD_SI476X_CORE=m
+CONFIG_MFD_SM501=m
+# CONFIG_MFD_SM501_GPIO is not set
+# CONFIG_ABX500_CORE is not set
+CONFIG_MFD_SYSCON=y
+CONFIG_MFD_TI_AM335X_TSCADC=m
+CONFIG_TPS6105X=m
+CONFIG_TPS65010=m
+CONFIG_TPS6507X=m
+CONFIG_MFD_TPS65217=m
+# CONFIG_MFD_TPS65912 is not set
+CONFIG_MFD_WL1273_CORE=m
+CONFIG_MFD_LM3533=m
+CONFIG_MFD_TIMBERDALE=m
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_VX855=m
+CONFIG_MFD_ARIZONA=y
+CONFIG_MFD_ARIZONA_I2C=m
+CONFIG_MFD_WM5102=y
+CONFIG_MFD_WM5110=y
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_DUMMY is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=m
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+CONFIG_REGULATOR_USERSPACE_CONSUMER=m
+CONFIG_REGULATOR_GPIO=m
+CONFIG_REGULATOR_AD5398=m
+CONFIG_REGULATOR_FAN53555=m
+CONFIG_REGULATOR_ANATOP=m
+CONFIG_REGULATOR_MC13XXX_CORE=m
+CONFIG_REGULATOR_MC13783=m
+CONFIG_REGULATOR_MC13892=m
+CONFIG_REGULATOR_ISL6271A=m
+CONFIG_REGULATOR_MAX1586=m
+CONFIG_REGULATOR_MAX8649=m
+CONFIG_REGULATOR_MAX8660=m
+CONFIG_REGULATOR_MAX8952=m
+CONFIG_REGULATOR_MAX8973=m
+CONFIG_REGULATOR_LP3971=m
+CONFIG_REGULATOR_LP3972=m
+CONFIG_REGULATOR_LP8755=m
+CONFIG_REGULATOR_PCF50633=m
+CONFIG_REGULATOR_TPS51632=m
+CONFIG_REGULATOR_TPS6105X=m
+CONFIG_REGULATOR_TPS62360=m
+CONFIG_REGULATOR_TPS65023=m
+CONFIG_REGULATOR_TPS6507X=m
+CONFIG_REGULATOR_TPS65217=m
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+# CONFIG_MEDIA_CONTROLLER is not set
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2=m
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_V4L2_MEM2MEM_DEV=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DMA_CONTIG=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_VIDEOBUF2_DMA_SG=m
+CONFIG_VIDEO_V4L2_INT_DEVICE=m
+CONFIG_DVB_CORE=m
+CONFIG_DVB_NET=y
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+
+#
+# Media drivers
+#
+CONFIG_RC_CORE=m
+CONFIG_RC_MAP=m
+CONFIG_RC_DECODERS=y
+CONFIG_LIRC=m
+CONFIG_IR_LIRC_CODEC=m
+CONFIG_IR_NEC_DECODER=m
+CONFIG_IR_RC5_DECODER=m
+CONFIG_IR_RC6_DECODER=m
+CONFIG_IR_JVC_DECODER=m
+CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_RC5_SZ_DECODER=m
+CONFIG_IR_SANYO_DECODER=m
+CONFIG_IR_MCE_KBD_DECODER=m
+CONFIG_RC_DEVICES=y
+CONFIG_RC_ATI_REMOTE=m
+CONFIG_IR_ENE=m
+CONFIG_IR_IMON=m
+CONFIG_IR_MCEUSB=m
+CONFIG_IR_ITE_CIR=m
+CONFIG_IR_FINTEK=m
+CONFIG_IR_NUVOTON=m
+CONFIG_IR_REDRAT3=m
+CONFIG_IR_STREAMZAP=m
+CONFIG_IR_WINBOND_CIR=m
+CONFIG_IR_IGUANA=m
+CONFIG_IR_TTUSBIR=m
+CONFIG_RC_LOOPBACK=m
+CONFIG_IR_GPIO_CIR=m
+CONFIG_MEDIA_USB_SUPPORT=y
+
+#
+# Webcam devices
+#
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_JL2005BCD=m
+CONFIG_USB_GSPCA_KINECT=m
+CONFIG_USB_GSPCA_KONICA=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_NW80X=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SE401=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SPCA1528=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_SQ930X=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TOPRO=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_VICAM=m
+CONFIG_USB_GSPCA_XIRLINK_CIT=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_VIDEO_CPIA2=m
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_USB_SN9C102=m
+
+#
+# Analog TV USB devices
+#
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_STK1160=m
+CONFIG_VIDEO_STK1160_AC97=y
+
+#
+# Analog/digital TV USB devices
+#
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_AU0828_V4L2=y
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_RC=y
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_TM6000=m
+CONFIG_VIDEO_TM6000_ALSA=m
+CONFIG_VIDEO_TM6000_DVB=m
+
+#
+# Digital TV USB devices
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_PCTV452E=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_USB_TECHNISAT_USB2=m
+CONFIG_DVB_USB_V2=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_AF9035=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_AZ6007=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_IT913X=m
+CONFIG_DVB_USB_LME2510=m
+CONFIG_DVB_USB_MXL111SF=m
+CONFIG_DVB_USB_RTL28XXU=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_USB_DRV=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG=y
+
+#
+# Webcam, TV (analog/digital) USB devices
+#
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_EM28XX_RC=m
+CONFIG_MEDIA_PCI_SUPPORT=y
+
+#
+# Media capture support
+#
+CONFIG_VIDEO_MEYE=m
+
+#
+# Media capture/analog TV support
+#
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_IVTV_ALSA=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_MXB=m
+
+#
+# Media capture/analog/hybrid TV support
+#
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_MEDIA_ALTERA_CI=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_BT848=m
+CONFIG_DVB_BT8XX=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_RC=y
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_SAA7164=m
+
+#
+# Media digital TV PCI Adapters
+#
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
+CONFIG_DVB_PLUTO2=m
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_PT1=m
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+CONFIG_DVB_NGENE=m
+CONFIG_DVB_DDBRIDGE=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_VIDEO_VIA_CAMERA=m
+CONFIG_VIDEO_TIMBERDALE=m
+CONFIG_SOC_CAMERA=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+CONFIG_VIDEO_SH_MOBILE_CSI2=m
+CONFIG_VIDEO_SH_MOBILE_CEU=m
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
+CONFIG_VIDEO_SH_VEU=m
+CONFIG_V4L_TEST_DRIVERS=y
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_MEM2MEM_TESTDEV=m
+
+#
+# Supported MMC/SDIO adapters
+#
+CONFIG_SMS_SDIO_DRV=m
+CONFIG_MEDIA_PARPORT_SUPPORT=y
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_W9966=m
+CONFIG_RADIO_ADAPTERS=y
+# CONFIG_RADIO_SI470X is not set
+CONFIG_USB_MR800=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_SHARK=m
+CONFIG_RADIO_SHARK2=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_KEENE=m
+CONFIG_USB_MA901=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_TIMBERDALE=m
+CONFIG_RADIO_WL1273=m
+
+#
+# Texas Instruments WL128x FM driver (ST based)
+#
+CONFIG_RADIO_WL128X=m
+
+#
+# Supported FireWire (IEEE 1394) Adapters
+#
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_INPUT=y
+CONFIG_MEDIA_COMMON_OPTIONS=y
+
+#
+# common driver options
+#
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_CYPRESS_FIRMWARE=m
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_SMS_SIANO_MDTV=m
+CONFIG_SMS_SIANO_RC=y
+# CONFIG_SMS_SIANO_DEBUGFS is not set
+
+#
+# Media ancillary drivers (tuners, sensors, i2c, frontends)
+#
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+CONFIG_MEDIA_ATTACH=y
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Audio decoders, processors and mixers
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_ADV7180=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_CX25840=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+
+#
+# Camera sensor devices
+#
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
+
+#
+# Flash devices
+#
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+
+#
+# Miscelaneous helper chips
+#
+CONFIG_VIDEO_M52790=m
+
+#
+# Sensors used on soc_camera driver
+#
+
+#
+# soc_camera sensor drivers
+#
+CONFIG_SOC_CAMERA_IMX074=m
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_OV2640=m
+CONFIG_SOC_CAMERA_OV5642=m
+CONFIG_SOC_CAMERA_OV6650=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+CONFIG_SOC_CAMERA_OV9740=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_MEDIA_TUNER=m
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2063=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_XC4000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_MEDIA_TUNER_FC0011=m
+CONFIG_MEDIA_TUNER_FC0012=m
+CONFIG_MEDIA_TUNER_FC0013=m
+CONFIG_MEDIA_TUNER_TDA18212=m
+CONFIG_MEDIA_TUNER_E4000=m
+CONFIG_MEDIA_TUNER_FC2580=m
+CONFIG_MEDIA_TUNER_TUA9001=m
+CONFIG_MEDIA_TUNER_IT913X=m
+CONFIG_MEDIA_TUNER_R820T=m
+
+#
+# Multistandard (satellite) frontends
+#
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+
+#
+# Multistandard (cable + terrestrial) frontends
+#
+CONFIG_DVB_DRXK=m
+CONFIG_DVB_TDA18271C2DD=m
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_TS2020=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_TDA10071=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_DRXD=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_STV0367=m
+CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_RTL2830=m
+CONFIG_DVB_RTL2832=m
+
+#
+# DVB-C (cable) frontends
+#
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+
+#
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
+#
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_LG2160=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_AU8522_DTV=m
+CONFIG_DVB_AU8522_V4L=m
+CONFIG_DVB_S5H1411=m
+
+#
+# ISDB-T (terrestrial) frontends
+#
+CONFIG_DVB_S921=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_MB86A20S=m
+
+#
+# Digital terrestrial only tuners/PLL
+#
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_TUNER_DIB0090=m
+
+#
+# SEC control devices for DVB-S
+#
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_LNBP22=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_ISL6423=m
+CONFIG_DVB_A8293=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DVB_TDA665x=m
+CONFIG_DVB_IX2505V=m
+CONFIG_DVB_IT913X_FE=m
+CONFIG_DVB_M88RS2000=m
+CONFIG_DVB_AF9033=m
+
+#
+# Tools to develop new frontends
+#
+# CONFIG_DVB_DUMMY_FE is not set
+
+#
+# Graphics support
+#
+CONFIG_AGP=m
+CONFIG_AGP_AMD64=m
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_VIA=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM=m
+CONFIG_DRM_USB=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_TTM=m
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_DRM_I2C_SIL164=m
+CONFIG_DRM_I2C_NXP_TDA998X=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+# CONFIG_DRM_RADEON_UMS is not set
+CONFIG_DRM_NOUVEAU=m
+CONFIG_NOUVEAU_DEBUG=5
+CONFIG_NOUVEAU_DEBUG_DEFAULT=3
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_I810=m
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_VMWGFX_FBCON=y
+CONFIG_DRM_GMA500=m
+CONFIG_DRM_GMA600=y
+CONFIG_DRM_GMA3600=y
+CONFIG_DRM_UDL=m
+CONFIG_DRM_AST=m
+CONFIG_DRM_MGAG200=m
+CONFIG_DRM_CIRRUS_QEMU=m
+CONFIG_DRM_QXL=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_HDMI=y
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DDC=m
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_HECUBA=m
+CONFIG_FB_SVGALIB=m
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
+CONFIG_FB_CYBER2000=m
+CONFIG_FB_CYBER2000_DDC=y
+CONFIG_FB_ARC=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_VGA16=m
+# CONFIG_FB_UVESA is not set
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+CONFIG_FB_N411=m
+CONFIG_FB_HGA=m
+CONFIG_FB_S1D13XXX=m
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
+# CONFIG_FB_NVIDIA_DEBUG is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+CONFIG_FB_RIVA=m
+CONFIG_FB_RIVA_I2C=y
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_RIVA_BACKLIGHT=y
+CONFIG_FB_I740=m
+CONFIG_FB_LE80578=m
+CONFIG_FB_CARILLO_RANCH=m
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MAVEN=m
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+CONFIG_FB_ATY_GENERIC_LCD=y
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+CONFIG_FB_S3=m
+CONFIG_FB_S3_DDC=y
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+CONFIG_FB_SAVAGE_ACCEL=y
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_VIA=m
+# CONFIG_FB_VIA_DIRECT_PROCFS is not set
+CONFIG_FB_VIA_X_COMPATIBILITY=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_3DFX_I2C=y
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+CONFIG_FB_TRIDENT=m
+CONFIG_FB_ARK=m
+CONFIG_FB_PM3=m
+CONFIG_FB_CARMINE=m
+CONFIG_FB_CARMINE_DRAM_EVAL=y
+# CONFIG_CARMINE_DRAM_CUSTOM is not set
+CONFIG_FB_GEODE=y
+CONFIG_FB_GEODE_LX=m
+CONFIG_FB_GEODE_GX=m
+CONFIG_FB_GEODE_GX1=m
+CONFIG_FB_TMIO=m
+CONFIG_FB_TMIO_ACCELL=y
+# CONFIG_FB_SM501 is not set
+CONFIG_FB_SMSCUFX=m
+CONFIG_FB_UDL=m
+CONFIG_FB_GOLDFISH=m
+# CONFIG_FB_VIRTUAL is not set
+CONFIG_FB_METRONOME=m
+CONFIG_FB_MB862XX=m
+CONFIG_FB_MB862XX_PCI_GDC=y
+CONFIG_FB_MB862XX_I2C=y
+CONFIG_FB_BROADSHEET=m
+CONFIG_FB_AUO_K190X=m
+CONFIG_FB_AUO_K1900=m
+CONFIG_FB_AUO_K1901=m
+# CONFIG_FB_HYPERV is not set
+# CONFIG_EXYNOS_VIDEO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_ATMEL_PWM=m
+CONFIG_BACKLIGHT_GENERIC=m
+CONFIG_BACKLIGHT_LM3533=m
+CONFIG_BACKLIGHT_CARILLO_RANCH=m
+CONFIG_BACKLIGHT_APPLE=m
+CONFIG_BACKLIGHT_SAHARA=m
+CONFIG_BACKLIGHT_ADP8860=m
+CONFIG_BACKLIGHT_ADP8870=m
+CONFIG_BACKLIGHT_PCF50633=m
+CONFIG_BACKLIGHT_LM3630=m
+CONFIG_BACKLIGHT_LM3639=m
+CONFIG_BACKLIGHT_LP855X=m
+CONFIG_BACKLIGHT_OT200=m
+CONFIG_BACKLIGHT_TPS65217=m
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+CONFIG_FONT_SUN8x16=y
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_KCTL_JACK=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+CONFIG_SND_DUMMY=m
+CONFIG_SND_ALOOP=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_TEA575X=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ASIHPI=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_ES1968_INPUT=y
+CONFIG_SND_ES1968_RADIO=y
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_DSP_LOADER=y
+CONFIG_SND_HDA_PREALLOC_SIZE=2048
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+# CONFIG_SND_HDA_INPUT_BEEP is not set
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_HDMI=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CA0132=y
+CONFIG_SND_HDA_CODEC_CA0132_DSP=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_LOLA=m
+CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MAESTRO3_INPUT=y
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_USB_6FIRE=m
+CONFIG_SND_FIREWIRE=y
+CONFIG_SND_FIREWIRE_LIB=m
+CONFIG_SND_FIREWIRE_SPEAKERS=m
+CONFIG_SND_ISIGHT=m
+CONFIG_SND_SCS1X=m
+CONFIG_SND_PCMCIA=y
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+
+#
+# HID support
+#
+CONFIG_HID=m
+CONFIG_HIDRAW=y
+CONFIG_UHID=m
+CONFIG_HID_GENERIC=m
+
+#
+# Special HID drivers
+#
+CONFIG_HID_A4TECH=m
+CONFIG_HID_ACRUX=m
+CONFIG_HID_ACRUX_FF=y
+CONFIG_HID_APPLE=m
+CONFIG_HID_APPLEIR=m
+CONFIG_HID_AUREAL=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_PRODIKEYS=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EMS_FF=m
+CONFIG_HID_ELECOM=m
+CONFIG_HID_EZKEY=m
+CONFIG_HID_HOLTEK=m
+CONFIG_HOLTEK_FF=y
+CONFIG_HID_KEYTOUCH=m
+CONFIG_HID_KYE=m
+CONFIG_HID_UCLOGIC=m
+CONFIG_HID_WALTOP=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_ICADE=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LCPOWER=m
+CONFIG_HID_LENOVO_TPKBD=m
+CONFIG_HID_LOGITECH=m
+CONFIG_HID_LOGITECH_DJ=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_LOGIWHEELS_FF=y
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_MULTITOUCH=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_PICOLCD=m
+CONFIG_HID_PICOLCD_FB=y
+CONFIG_HID_PICOLCD_BACKLIGHT=y
+CONFIG_HID_PICOLCD_LCD=y
+CONFIG_HID_PICOLCD_LEDS=y
+CONFIG_HID_PICOLCD_CIR=y
+CONFIG_HID_PRIMAX=m
+CONFIG_HID_PS3REMOTE=m
+CONFIG_HID_ROCCAT=m
+CONFIG_HID_SAITEK=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_SPEEDLINK=m
+CONFIG_HID_STEELSERIES=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_HYPERV_MOUSE=m
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TIVO=m
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THINGM=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_WIIMOTE=m
+CONFIG_HID_WIIMOTE_EXT=y
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
+CONFIG_HID_ZYDACRON=m
+CONFIG_HID_SENSOR_HUB=m
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=m
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# I2C HID support
+#
+CONFIG_I2C_HID=m
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB_ARCH_HAS_XHCI=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=y
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+CONFIG_USB_XHCI_PLATFORM=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=m
+CONFIG_USB_EHCI_HCD_PLATFORM=m
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_OHCI_HCD_SSB=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+# CONFIG_USB_SL811_HCD_ISO is not set
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+# CONFIG_USB_HCD_BCMA is not set
+CONFIG_USB_HCD_SSB=m
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_REALTEK=m
+CONFIG_REALTEK_AUTOPM=y
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+CONFIG_USB_STORAGE_ENE_UB6250=m
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_DWC3=m
+CONFIG_USB_DWC3_HOST=y
+# CONFIG_USB_DWC3_DEBUG is not set
+CONFIG_USB_CHIPIDEA=m
+# CONFIG_USB_CHIPIDEA_DEBUG is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_F81232=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_METRO=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7715_PARPORT=y
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_SAFE_PADDED=y
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_WWAN=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
+CONFIG_USB_SERIAL_XSENS_MT=m
+CONFIG_USB_SERIAL_ZIO=m
+CONFIG_USB_SERIAL_WISHBONE=m
+CONFIG_USB_SERIAL_ZTE=m
+CONFIG_USB_SERIAL_SSU100=m
+CONFIG_USB_SERIAL_QT2=m
+CONFIG_USB_SERIAL_DEBUG=m
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_YUREX=m
+CONFIG_USB_EZUSB_FX2=m
+CONFIG_USB_HSIC_USB3503=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_OMAP_CONTROL_USB=m
+CONFIG_OMAP_USB3=m
+CONFIG_SAMSUNG_USBPHY=m
+CONFIG_SAMSUNG_USB2PHY=m
+CONFIG_SAMSUNG_USB3PHY=m
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ISP1301=m
+CONFIG_USB_RCAR_PHY=m
+# CONFIG_USB_GADGET is not set
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+CONFIG_UWB_I1480U=m
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+# CONFIG_MMC_CLKGATE is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_ACPI=m
+CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_SDHCI_PXAV3=m
+CONFIG_MMC_SDHCI_PXAV2=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MMC_VUB300=m
+CONFIG_MMC_USHC=m
+CONFIG_MMC_REALTEK_PCI=m
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+CONFIG_MEMSTICK_R592=m
+CONFIG_MEMSTICK_REALTEK_PCI=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_ATMEL_PWM=m
+CONFIG_LEDS_LM3530=m
+CONFIG_LEDS_LM3533=m
+CONFIG_LEDS_LM3642=m
+CONFIG_LEDS_PCA9532=m
+# CONFIG_LEDS_PCA9532_GPIO is not set
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_LP55XX_COMMON=m
+CONFIG_LEDS_LP5521=m
+CONFIG_LEDS_LP5523=m
+CONFIG_LEDS_LP5562=m
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_PCA9633=m
+CONFIG_LEDS_REGULATOR=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_MC13783=m
+CONFIG_LEDS_RENESAS_TPU=y
+CONFIG_LEDS_TCA6507=m
+CONFIG_LEDS_LM355x=m
+CONFIG_LEDS_OT200=m
+CONFIG_LEDS_BLINKM=m
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_ONESHOT=m
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+# CONFIG_LEDS_TRIGGER_CPU is not set
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_LEDS_TRIGGER_TRANSIENT=m
+CONFIG_LEDS_TRIGGER_CAMERA=m
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+CONFIG_INFINIBAND=m
+CONFIG_INFINIBAND_USER_MAD=m
+CONFIG_INFINIBAND_USER_ACCESS=m
+CONFIG_INFINIBAND_USER_MEM=y
+CONFIG_INFINIBAND_ADDR_TRANS=y
+CONFIG_INFINIBAND_MTHCA=m
+CONFIG_INFINIBAND_MTHCA_DEBUG=y
+# CONFIG_INFINIBAND_IPATH is not set
+CONFIG_INFINIBAND_QIB=m
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+# CONFIG_INFINIBAND_CXGB3 is not set
+CONFIG_INFINIBAND_CXGB4=m
+CONFIG_MLX4_INFINIBAND=m
+CONFIG_INFINIBAND_NES=m
+# CONFIG_INFINIBAND_NES_DEBUG is not set
+CONFIG_INFINIBAND_OCRDMA=m
+CONFIG_INFINIBAND_IPOIB=m
+# CONFIG_INFINIBAND_IPOIB_CM is not set
+CONFIG_INFINIBAND_IPOIB_DEBUG=y
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+CONFIG_INFINIBAND_SRP=m
+CONFIG_INFINIBAND_SRPT=m
+CONFIG_INFINIBAND_ISER=m
+CONFIG_INFINIBAND_ISERT=m
+CONFIG_EDAC=y
+CONFIG_EDAC_LEGACY_SYSFS=y
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=y
+CONFIG_EDAC_MCE_INJ=m
+# CONFIG_EDAC_MM_EDAC is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+# CONFIG_RTC_HCTOSYS is not set
+# CONFIG_RTC_SYSTOHC is not set
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_TEST=m
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_DS3232=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_ISL12022=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8523=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+CONFIG_RTC_DRV_EM3027=m
+CONFIG_RTC_DRV_RV3029C2=m
+
+#
+# SPI RTC drivers
+#
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_DS2404=m
+CONFIG_RTC_DRV_PCF50633=m
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_MC13XXX=m
+
+#
+# HID Sensor RTC drivers
+#
+CONFIG_RTC_DRV_HID_SENSOR_TIME=m
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_INTEL_MID_DMAC=m
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DW_DMAC=m
+# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
+CONFIG_TIMB_DMA=m
+CONFIG_PCH_DMA=m
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_ACPI=y
+
+#
+# DMA Clients
+#
+CONFIG_NET_DMA=y
+# CONFIG_ASYNC_TX_DMA is not set
+CONFIG_DMATEST=m
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+# CONFIG_KS0108 is not set
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV=m
+CONFIG_UIO_PDRV_GENIRQ=m
+CONFIG_UIO_DMEM_GENIRQ=m
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+CONFIG_VFIO_IOMMU_TYPE1=m
+CONFIG_VFIO=m
+CONFIG_VFIO_PCI=m
+# CONFIG_VFIO_PCI_VGA is not set
+CONFIG_VIRT_DRIVERS=y
+CONFIG_VIRTIO=m
+
+#
+# Virtio drivers
+#
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_MMIO=m
+# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+CONFIG_HYPERV=m
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_BALLOON=m
+CONFIG_STAGING=y
+# CONFIG_ET131X is not set
+# CONFIG_SLICOSS is not set
+CONFIG_USBIP_CORE=m
+CONFIG_USBIP_VHCI_HCD=m
+CONFIG_USBIP_HOST=m
+# CONFIG_USBIP_DEBUG is not set
+# CONFIG_W35UND is not set
+# CONFIG_PRISM2_USB is not set
+# CONFIG_ECHO is not set
+# CONFIG_COMEDI is not set
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192U=m
+CONFIG_RTLLIB=m
+CONFIG_RTLLIB_CRYPTO_CCMP=m
+CONFIG_RTLLIB_CRYPTO_TKIP=m
+CONFIG_RTLLIB_CRYPTO_WEP=m
+CONFIG_RTL8192E=m
+CONFIG_R8712U=m
+CONFIG_RTS5139=m
+# CONFIG_RTS5139_DEBUG is not set
+# CONFIG_TRANZPORT is not set
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_DX_SEP=m
+
+#
+# IIO staging drivers
+#
+
+#
+# Accelerometers
+#
+
+#
+# Analog to digital converters
+#
+CONFIG_AD7291=m
+CONFIG_AD7606=m
+CONFIG_AD7606_IFACE_PARALLEL=m
+CONFIG_AD799X=m
+CONFIG_AD799X_RING_BUFFER=y
+
+#
+# Analog digital bi-direction converters
+#
+CONFIG_ADT7316=m
+CONFIG_ADT7316_I2C=m
+
+#
+# Capacitance to digital converters
+#
+CONFIG_AD7150=m
+CONFIG_AD7152=m
+CONFIG_AD7746=m
+
+#
+# Direct Digital Synthesis
+#
+
+#
+# Digital gyroscope sensors
+#
+
+#
+# Network Analyzer, Impedance Converters
+#
+CONFIG_AD5933=m
+
+#
+# Light sensors
+#
+CONFIG_SENSORS_ISL29018=m
+CONFIG_SENSORS_ISL29028=m
+CONFIG_TSL2583=m
+CONFIG_TSL2x7x=m
+
+#
+# Magnetometer sensors
+#
+CONFIG_SENSORS_HMC5843=m
+
+#
+# Active energy metering IC
+#
+CONFIG_ADE7854=m
+CONFIG_ADE7854_I2C=m
+
+#
+# Resolver to digital converters
+#
+
+#
+# Triggers - standalone
+#
+CONFIG_IIO_PERIODIC_RTC_TRIGGER=m
+CONFIG_IIO_GPIO_TRIGGER=m
+CONFIG_IIO_SYSFS_TRIGGER=m
+# CONFIG_IIO_SIMPLE_DUMMY is not set
+# CONFIG_ZSMALLOC is not set
+CONFIG_WLAGS49_H2=m
+CONFIG_WLAGS49_H25=m
+CONFIG_FB_SM7XX=m
+CONFIG_CRYSTALHD=m
+# CONFIG_CXT1E1 is not set
+CONFIG_FB_XGI=m
+CONFIG_ACPI_QUICKSTART=m
+CONFIG_SBE_2T3E3=m
+CONFIG_USB_ENESTORAGE=m
+CONFIG_BCM_WIMAX=m
+# CONFIG_FT1000 is not set
+
+#
+# Speakup console speech
+#
+CONFIG_SPEAKUP=m
+CONFIG_SPEAKUP_SYNTH_ACNTSA=m
+CONFIG_SPEAKUP_SYNTH_ACNTPC=m
+CONFIG_SPEAKUP_SYNTH_APOLLO=m
+CONFIG_SPEAKUP_SYNTH_AUDPTR=m
+CONFIG_SPEAKUP_SYNTH_BNS=m
+CONFIG_SPEAKUP_SYNTH_DECTLK=m
+CONFIG_SPEAKUP_SYNTH_DECEXT=m
+CONFIG_SPEAKUP_SYNTH_DECPC=m
+CONFIG_SPEAKUP_SYNTH_DTLK=m
+CONFIG_SPEAKUP_SYNTH_KEYPC=m
+CONFIG_SPEAKUP_SYNTH_LTLK=m
+CONFIG_SPEAKUP_SYNTH_SOFT=m
+CONFIG_SPEAKUP_SYNTH_SPKOUT=m
+CONFIG_SPEAKUP_SYNTH_TXPRT=m
+CONFIG_SPEAKUP_SYNTH_DUMMY=m
+CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
+CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
+CONFIG_STAGING_MEDIA=y
+CONFIG_DVB_AS102=m
+CONFIG_DVB_CXD2099=m
+CONFIG_VIDEO_DT3155=m
+CONFIG_DT3155_CCIR=y
+CONFIG_DT3155_STREAMING=y
+# CONFIG_VIDEO_GO7007 is not set
+CONFIG_SOLO6X10=m
+CONFIG_LIRC_STAGING=y
+CONFIG_LIRC_BT829=m
+CONFIG_LIRC_IGORPLUGUSB=m
+CONFIG_LIRC_IMON=m
+CONFIG_LIRC_PARALLEL=m
+CONFIG_LIRC_SASEM=m
+CONFIG_LIRC_SERIAL=m
+CONFIG_LIRC_SERIAL_TRANSMITTER=y
+CONFIG_LIRC_SIR=m
+CONFIG_LIRC_ZILOG=m
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+CONFIG_USB_WPAN_HCD=m
+CONFIG_WIMAX_GDM72XX=m
+# CONFIG_WIMAX_GDM72XX_QOS is not set
+# CONFIG_WIMAX_GDM72XX_K_MODE is not set
+CONFIG_WIMAX_GDM72XX_WIMAX2=y
+CONFIG_WIMAX_GDM72XX_USB=y
+# CONFIG_WIMAX_GDM72XX_SDIO is not set
+# CONFIG_WIMAX_GDM72XX_USB_PM is not set
+CONFIG_CSR_WIFI=m
+CONFIG_NET_VENDOR_SILICOM=y
+CONFIG_SBYPASS=m
+CONFIG_BPCTL=m
+CONFIG_CED1401=m
+CONFIG_DGRP=m
+CONFIG_FIREWIRE_SERIAL=m
+CONFIG_USB_DWC2=m
+# CONFIG_USB_DWC2_DEBUG is not set
+# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_CHROMEOS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_DELL_WMI_AIO=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_FUJITSU_TABLET=m
+CONFIG_AMILO_RFKILL=m
+CONFIG_HP_ACCEL=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+CONFIG_SONYPI_COMPAT=y
+CONFIG_IDEAPAD_LAPTOP=m
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_SENSORS_HDAPS=m
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_ASUS_WMI=m
+CONFIG_ASUS_NB_WMI=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+CONFIG_INTEL_IPS=m
+CONFIG_IBM_RTL=m
+CONFIG_XO15_EBOOK=m
+CONFIG_SAMSUNG_LAPTOP=m
+CONFIG_MXM_WMI=m
+CONFIG_INTEL_OAKTRAIL=m
+CONFIG_SAMSUNG_Q10=m
+CONFIG_APPLE_GMUX=m
+CONFIG_PVPANIC=m
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+
+#
+# Common Clock Framework
+#
+CONFIG_COMMON_CLK_DEBUG=y
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_CLKEVT_I8253=y
+CONFIG_I8253_LOCK=y
+CONFIG_CLKBLD_I8253=y
+# CONFIG_MAILBOX is not set
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+CONFIG_AMD_IOMMU=y
+# CONFIG_AMD_IOMMU_STATS is not set
+CONFIG_AMD_IOMMU_V2=m
+CONFIG_DMAR_TABLE=y
+CONFIG_INTEL_IOMMU=y
+# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
+CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+CONFIG_IRQ_REMAP=y
+
+#
+# Remoteproc drivers
+#
+CONFIG_REMOTEPROC=m
+CONFIG_STE_MODEM_RPROC=m
+
+#
+# Rpmsg drivers
+#
+CONFIG_PM_DEVFREQ=y
+
+#
+# DEVFREQ Governors
+#
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
+CONFIG_DEVFREQ_GOV_PERFORMANCE=y
+CONFIG_DEVFREQ_GOV_POWERSAVE=y
+CONFIG_DEVFREQ_GOV_USERSPACE=y
+
+#
+# DEVFREQ Drivers
+#
+CONFIG_EXTCON=m
+
+#
+# Extcon Device Drivers
+#
+CONFIG_EXTCON_GPIO=m
+CONFIG_EXTCON_ADC_JACK=m
+CONFIG_MEMORY=y
+CONFIG_IIO=m
+CONFIG_IIO_BUFFER=y
+# CONFIG_IIO_BUFFER_CB is not set
+CONFIG_IIO_KFIFO_BUF=m
+CONFIG_IIO_TRIGGERED_BUFFER=m
+CONFIG_IIO_TRIGGER=y
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+
+#
+# Accelerometers
+#
+CONFIG_HID_SENSOR_ACCEL_3D=m
+CONFIG_IIO_ST_ACCEL_3AXIS=m
+CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
+
+#
+# Analog to digital converters
+#
+CONFIG_MAX1363=m
+CONFIG_TI_ADC081C=m
+CONFIG_TI_AM335X_ADC=m
+CONFIG_VIPERBOARD_ADC=m
+
+#
+# Amplifiers
+#
+
+#
+# Hid Sensor IIO Common
+#
+CONFIG_HID_SENSOR_IIO_COMMON=m
+CONFIG_HID_SENSOR_IIO_TRIGGER=m
+CONFIG_HID_SENSOR_ENUM_BASE_QUIRKS=y
+CONFIG_IIO_ST_SENSORS_I2C=m
+CONFIG_IIO_ST_SENSORS_CORE=m
+
+#
+# Digital to analog converters
+#
+CONFIG_AD5064=m
+CONFIG_AD5380=m
+CONFIG_AD5446=m
+CONFIG_MAX517=m
+CONFIG_MCP4725=m
+
+#
+# Frequency Synthesizers DDS/PLL
+#
+
+#
+# Clock Generator/Distribution
+#
+
+#
+# Phase-Locked Loop (PLL) frequency synthesizers
+#
+
+#
+# Digital gyroscope sensors
+#
+CONFIG_HID_SENSOR_GYRO_3D=m
+CONFIG_IIO_ST_GYRO_3AXIS=m
+CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
+CONFIG_ITG3200=m
+
+#
+# Inertial measurement units
+#
+CONFIG_INV_MPU6050_IIO=m
+
+#
+# Light sensors
+#
+CONFIG_ADJD_S311=m
+CONFIG_SENSORS_LM3533=m
+CONFIG_SENSORS_TSL2563=m
+CONFIG_VCNL4000=m
+CONFIG_HID_SENSOR_ALS=m
+
+#
+# Magnetometer sensors
+#
+CONFIG_AK8975=m
+CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
+CONFIG_IIO_ST_MAGN_3AXIS=m
+CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
+CONFIG_NTB=m
+# CONFIG_VME_BUS is not set
+# CONFIG_PWM is not set
+# CONFIG_IPACK_BUS is not set
+# CONFIG_RESET_CONTROLLER is not set
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+CONFIG_EDD_OFF=y
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=m
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=m
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_VARS=m
+CONFIG_EFI_VARS_PSTORE=m
+CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=m
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+# CONFIG_OCFS2_FS_STATS is not set
+CONFIG_OCFS2_DEBUG_MASKLOG=y
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+CONFIG_NILFS2_FS=m
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+CONFIG_QUOTACTL_COMPAT=y
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+# CONFIG_FSCACHE_STATS is not set
+# CONFIG_FSCACHE_HISTOGRAM is not set
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=y
+CONFIG_MISC_FILESYSTEMS=y
+CONFIG_ADFS_FS=m
+# CONFIG_ADFS_FS_RW is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+CONFIG_ECRYPT_FS_MESSAGING=y
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+CONFIG_BFS_FS=m
+CONFIG_EFS_FS=m
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_UBIFS_FS=m
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+CONFIG_SQUASHFS_EMBEDDED=y
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+CONFIG_VXFS_FS=m
+CONFIG_MINIX_FS=m
+CONFIG_OMFS_FS=m
+CONFIG_HPFS_FS=m
+CONFIG_QNX4FS_FS=m
+CONFIG_QNX6FS_FS=m
+# CONFIG_QNX6FS_DEBUG is not set
+CONFIG_ROMFS_FS=y
+CONFIG_ROMFS_BACKED_BY_BLOCK=y
+CONFIG_ROMFS_ON_BLOCK=y
+CONFIG_PSTORE=y
+# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_FTRACE is not set
+CONFIG_PSTORE_RAM=m
+CONFIG_SYSV_FS=m
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_F2FS_FS=m
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_EFIVAR_FS=m
+CONFIG_ORE=m
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V2=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+CONFIG_NFS_SWAP=y
+# CONFIG_NFS_V4_1 is not set
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V3_ACL is not set
+CONFIG_NFSD_V4=y
+# CONFIG_NFSD_FAULT_INJECTION is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_SUNRPC_XPRT_RDMA=m
+CONFIG_SUNRPC_SWAP=y
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_SUNRPC_DEBUG is not set
+CONFIG_CEPH_FS=m
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+# CONFIG_CIFS_UPCALL is not set
+# CONFIG_CIFS_XATTR is not set
+CONFIG_CIFS_DEBUG=y
+# CONFIG_CIFS_DEBUG2 is not set
+CONFIG_CIFS_DFS_UPCALL=y
+# CONFIG_CIFS_SMB2 is not set
+CONFIG_CIFS_FSCACHE=y
+CONFIG_NCP_FS=m
+CONFIG_NCPFS_PACKET_SIGNING=y
+CONFIG_NCPFS_IOCTL_LOCKING=y
+CONFIG_NCPFS_STRONG=y
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+CONFIG_NCPFS_EXTRAS=y
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+# CONFIG_AFS_FSCACHE is not set
+CONFIG_9P_FS=m
+# CONFIG_9P_FSCACHE is not set
+# CONFIG_9P_FS_POSIX_ACL is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_MAC_ROMAN=m
+CONFIG_NLS_MAC_CELTIC=m
+CONFIG_NLS_MAC_CENTEURO=m
+CONFIG_NLS_MAC_CROATIAN=m
+CONFIG_NLS_MAC_CYRILLIC=m
+CONFIG_NLS_MAC_GAELIC=m
+CONFIG_NLS_MAC_GREEK=m
+CONFIG_NLS_MAC_ICELAND=m
+CONFIG_NLS_MAC_INUIT=m
+CONFIG_NLS_MAC_ROMANIAN=m
+CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_PRINTK_TIME=y
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=0
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
+# CONFIG_READABLE_ASM is not set
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_LOCKUP_DETECTOR is not set
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_SPARSE_RCU_POINTER is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
+# CONFIG_RCU_CPU_STALL_INFO is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_LKDTM is not set
+CONFIG_NOTIFIER_ERROR_INJECTION=m
+CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
+CONFIG_PM_NOTIFIER_ERROR_INJECT=m
+# CONFIG_MEMORY_NOTIFIER_ERROR_INJECT is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_FENTRY=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACE_CLOCK=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
+# CONFIG_TRACER_SNAPSHOT is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_UPROBE_EVENT is not set
+# CONFIG_PROBE_EVENTS is not set
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
+# CONFIG_FUNCTION_PROFILER is not set
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_MMIOTRACE is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+CONFIG_RBTREE_TEST=m
+CONFIG_INTERVAL_TREE_TEST=m
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+CONFIG_ATOMIC64_SELFTEST=y
+CONFIG_ASYNC_RAID6_TEST=m
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_TEST_STRING_HELPERS is not set
+# CONFIG_TEST_KSTRTOX is not set
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_X86_PTDUMP is not set
+CONFIG_DEBUG_RODATA=y
+CONFIG_DEBUG_RODATA_TEST=y
+# CONFIG_DEBUG_SET_MODULE_RONX is not set
+# CONFIG_DEBUG_NX_TEST is not set
+# CONFIG_DEBUG_TLBFLUSH is not set
+# CONFIG_IOMMU_DEBUG is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+CONFIG_OPTIMIZE_INLINING=y
+# CONFIG_DEBUG_NMI_SELFTEST is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_TRUSTED_KEYS=m
+CONFIG_ENCRYPTED_KEYS=m
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+CONFIG_SECURITY_DMESG_RESTRICT=y
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_SECURITY_NETWORK_XFRM=y
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_SECURITY_YAMA is not set
+# CONFIG_IMA is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=y
+CONFIG_ASYNC_CORE=y
+CONFIG_ASYNC_MEMCPY=y
+CONFIG_ASYNC_XOR=y
+CONFIG_ASYNC_PQ=y
+CONFIG_ASYNC_RAID6_RECOV=y
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=m
+CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_GF128MUL=y
+CONFIG_CRYPTO_NULL=y
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=y
+CONFIG_CRYPTO_AUTHENC=y
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_ABLK_HELPER_X86=y
+CONFIG_CRYPTO_GLUE_HELPER_X86=y
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=y
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_SEQIV=y
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTR=y
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_LRW=y
+CONFIG_CRYPTO_PCBC=y
+CONFIG_CRYPTO_XTS=y
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_CRC32=m
+CONFIG_CRYPTO_CRC32_PCLMUL=m
+CONFIG_CRYPTO_GHASH=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=y
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=y
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA1_SSSE3=m
+CONFIG_CRYPTO_SHA256_SSSE3=m
+CONFIG_CRYPTO_SHA512_SSSE3=m
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_TGR192=y
+CONFIG_CRYPTO_WP512=y
+CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_AES_X86_64=y
+CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_ANUBIS=y
+CONFIG_CRYPTO_ARC4=y
+CONFIG_CRYPTO_BLOWFISH=y
+CONFIG_CRYPTO_BLOWFISH_COMMON=y
+CONFIG_CRYPTO_BLOWFISH_X86_64=m
+CONFIG_CRYPTO_CAMELLIA=y
+CONFIG_CRYPTO_CAMELLIA_X86_64=y
+CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
+CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
+CONFIG_CRYPTO_CAST_COMMON=y
+CONFIG_CRYPTO_CAST5=y
+CONFIG_CRYPTO_CAST5_AVX_X86_64=m
+CONFIG_CRYPTO_CAST6=y
+CONFIG_CRYPTO_CAST6_AVX_X86_64=m
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_FCRYPT=y
+CONFIG_CRYPTO_KHAZAD=y
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_X86_64=m
+CONFIG_CRYPTO_SEED=y
+CONFIG_CRYPTO_SERPENT=y
+CONFIG_CRYPTO_SERPENT_SSE2_X86_64=y
+CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
+CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
+CONFIG_CRYPTO_TEA=y
+CONFIG_CRYPTO_TWOFISH=y
+CONFIG_CRYPTO_TWOFISH_COMMON=y
+CONFIG_CRYPTO_TWOFISH_X86_64=y
+CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
+CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_USER_API=m
+CONFIG_CRYPTO_USER_API_HASH=m
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_ASYMMETRIC_KEY_TYPE=m
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
+CONFIG_PUBLIC_KEY_ALGO_RSA=m
+CONFIG_X509_CERTIFICATE_PARSER=m
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_KVM_ASYNC_PF=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_KVM_MMU_AUDIT=y
+CONFIG_KVM_DEVICE_ASSIGNMENT=y
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=y
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_IO=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=m
+CONFIG_CRC_ITU_T=y
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=y
+CONFIG_CRC8=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_REED_SOLOMON=m
+CONFIG_REED_SOLOMON_ENC8=y
+CONFIG_REED_SOLOMON_DEC8=y
+CONFIG_REED_SOLOMON_DEC16=y
+CONFIG_BCH=m
+CONFIG_BCH_CONST_PARAMS=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_NLATTR=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_LRU_CACHE=m
+CONFIG_AVERAGE=y
+CONFIG_CLZ_TAB=y
+CONFIG_CORDIC=m
+# CONFIG_DDR is not set
+CONFIG_MPILIB=m
+CONFIG_OID_REGISTRY=y
+CONFIG_UCS2_STRING=y
diff --git a/source/k/config-x86_64/config-generic-3.2.29.x64 b/source/k/config-x86_64/config-generic-3.2.29.x64
deleted file mode 100644
index 28d0ba91c..000000000
--- a/source/k/config-x86_64/config-generic-3.2.29.x64
+++ /dev/null
@@ -1,5478 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/x86_64 3.2.29 Kernel Configuration
-#
-CONFIG_64BIT=y
-# CONFIG_X86_32 is not set
-CONFIG_X86_64=y
-CONFIG_X86=y
-CONFIG_INSTRUCTION_DECODER=y
-CONFIG_OUTPUT_FORMAT="elf64-x86-64"
-CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_ARCH_CLOCKSOURCE_DATA=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_MMU=y
-CONFIG_ZONE_DMA=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_NEED_SG_DMA_LENGTH=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_GPIO=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_TIME_VSYSCALL=y
-CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_DEFAULT_IDLE=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_ZONE_DMA32=y
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-CONFIG_AUDIT_ARCH=y
-CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
-CONFIG_HAVE_INTEL_TXT=y
-CONFIG_X86_64_SMP=y
-CONFIG_X86_HT=y
-CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
-# CONFIG_KTIME_SCALAR is not set
-CONFIG_ARCH_CPU_PROBE_RELEASE=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_HAVE_IRQ_WORK=y
-CONFIG_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_BZIP2=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_XZ=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-# CONFIG_KERNEL_BZIP2 is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_XZ is not set
-# CONFIG_KERNEL_LZO is not set
-CONFIG_DEFAULT_HOSTNAME="darkstar"
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-# CONFIG_FHANDLE is not set
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_AUDIT_WATCH=y
-CONFIG_AUDIT_TREE=y
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_HAVE_SPARSE_IRQ=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_GENERIC_IRQ_CHIP=y
-CONFIG_IRQ_FORCED_THREADING=y
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-CONFIG_RCU_FANOUT=32
-# CONFIG_RCU_FANOUT_EXACT is not set
-# CONFIG_RCU_FAST_NO_HZ is not set
-# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-CONFIG_CGROUPS=y
-# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CPUSETS=y
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_RESOURCE_COUNTERS=y
-CONFIG_CGROUP_MEM_RES_CTLR=y
-CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
-# CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED is not set
-CONFIG_CGROUP_PERF=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_CFS_BANDWIDTH=y
-CONFIG_RT_GROUP_SCHED=y
-CONFIG_BLK_CGROUP=y
-# CONFIG_DEBUG_BLK_CGROUP is not set
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_NET_NS=y
-# CONFIG_SCHED_AUTOGROUP is not set
-CONFIG_MM_OWNER=y
-# CONFIG_SYSFS_DEPRECATED is not set
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_XZ=y
-CONFIG_RD_LZO=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-# CONFIG_EXPERT is not set
-CONFIG_UID16=y
-# CONFIG_SYSCTL_SYSCALL is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_PCSPKR_PLATFORM=y
-CONFIG_HAVE_PCSPKR_PLATFORM=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-# CONFIG_EMBEDDED is not set
-CONFIG_HAVE_PERF_EVENTS=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_PCI_QUIRKS=y
-CONFIG_SLUB_DEBUG=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-CONFIG_SLUB=y
-CONFIG_PROFILING=y
-CONFIG_TRACEPOINTS=y
-CONFIG_OPROFILE=m
-# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-# CONFIG_JUMP_LABEL is not set
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_IOREMAP_PROT=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_OPTPROBES=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_DMA_ATTRS=y
-CONFIG_USE_GENERIC_SMP_HELPERS=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
-CONFIG_HAVE_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_PERF_EVENTS_NMI=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_GCOV_KERNEL is not set
-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-CONFIG_MODULE_FORCE_LOAD=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_STOP_MACHINE=y
-CONFIG_BLOCK=y
-CONFIG_BLK_DEV_BSG=y
-CONFIG_BLK_DEV_BSGLIB=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-CONFIG_BLK_DEV_THROTTLING=y
-CONFIG_BLOCK_COMPAT=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-CONFIG_CFQ_GROUP_IOSCHED=y
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_PADATA=y
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-CONFIG_MUTEX_SPIN_ON_OWNER=y
-CONFIG_FREEZER=y
-
-#
-# Processor type and features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
-CONFIG_SMP=y
-CONFIG_X86_X2APIC=y
-CONFIG_X86_MPPARSE=y
-# CONFIG_X86_EXTENDED_PLATFORM is not set
-CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-# CONFIG_PARAVIRT_GUEST is not set
-CONFIG_NO_BOOTMEM=y
-CONFIG_MEMTEST=y
-# CONFIG_MK8 is not set
-# CONFIG_MPSC is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_MATOM is not set
-CONFIG_GENERIC_CPU=y
-CONFIG_X86_INTERNODE_CACHE_SHIFT=6
-CONFIG_X86_CMPXCHG=y
-CONFIG_CMPXCHG_LOCAL=y
-CONFIG_CMPXCHG_DOUBLE=y
-CONFIG_X86_L1_CACHE_SHIFT=6
-CONFIG_X86_XADD=y
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_TSC=y
-CONFIG_X86_CMPXCHG64=y
-CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=64
-CONFIG_X86_DEBUGCTLMSR=y
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR=y
-CONFIG_HPET_TIMER=y
-CONFIG_HPET_EMULATE_RTC=y
-CONFIG_DMI=y
-CONFIG_GART_IOMMU=y
-# CONFIG_CALGARY_IOMMU is not set
-CONFIG_SWIOTLB=y
-CONFIG_IOMMU_HELPER=y
-# CONFIG_MAXSMP is not set
-CONFIG_NR_CPUS=32
-CONFIG_SCHED_SMT=y
-CONFIG_SCHED_MC=y
-# CONFIG_IRQ_TIME_ACCOUNTING is not set
-# CONFIG_PREEMPT_NONE is not set
-CONFIG_PREEMPT_VOLUNTARY=y
-# CONFIG_PREEMPT is not set
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
-CONFIG_X86_MCE=y
-CONFIG_X86_MCE_INTEL=y
-CONFIG_X86_MCE_AMD=y
-CONFIG_X86_MCE_THRESHOLD=y
-CONFIG_X86_MCE_INJECT=m
-CONFIG_X86_THERMAL_VECTOR=y
-CONFIG_I8K=m
-CONFIG_MICROCODE=m
-CONFIG_MICROCODE_INTEL=y
-CONFIG_MICROCODE_AMD=y
-CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_X86_MSR=m
-CONFIG_X86_CPUID=m
-CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
-CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_DIRECT_GBPAGES=y
-# CONFIG_NUMA is not set
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_DEFAULT=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ARCH_MEMORY_PROBE=y
-CONFIG_ARCH_PROC_KCORE_TEXT=y
-CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_SPARSEMEM_MANUAL=y
-CONFIG_SPARSEMEM=y
-CONFIG_HAVE_MEMORY_PRESENT=y
-CONFIG_SPARSEMEM_EXTREME=y
-CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
-CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
-CONFIG_SPARSEMEM_VMEMMAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_MEMORY_HOTPLUG=y
-CONFIG_MEMORY_HOTPLUG_SPARSE=y
-CONFIG_MEMORY_HOTREMOVE=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_COMPACTION=y
-CONFIG_MIGRATION=y
-CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-CONFIG_MMU_NOTIFIER=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=98304
-CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
-# CONFIG_MEMORY_FAILURE is not set
-CONFIG_TRANSPARENT_HUGEPAGE=y
-CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
-# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
-# CONFIG_CLEANCACHE is not set
-# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
-CONFIG_X86_RESERVE_LOW=64
-CONFIG_MTRR=y
-CONFIG_MTRR_SANITIZER=y
-CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
-CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
-CONFIG_X86_PAT=y
-CONFIG_ARCH_USES_PG_UNCACHED=y
-CONFIG_ARCH_RANDOM=y
-CONFIG_EFI=y
-CONFIG_SECCOMP=y
-CONFIG_CC_STACKPROTECTOR=y
-# CONFIG_HZ_100 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_300 is not set
-CONFIG_HZ_1000=y
-CONFIG_HZ=1000
-CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
-# CONFIG_CRASH_DUMP is not set
-CONFIG_PHYSICAL_START=0x1000000
-# CONFIG_RELOCATABLE is not set
-CONFIG_PHYSICAL_ALIGN=0x1000000
-CONFIG_HOTPLUG_CPU=y
-CONFIG_COMPAT_VDSO=y
-# CONFIG_CMDLINE_BOOL is not set
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
-
-#
-# Power management and ACPI options
-#
-CONFIG_ARCH_HIBERNATION_HEADER=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_HIBERNATE_CALLBACKS=y
-CONFIG_HIBERNATION=y
-CONFIG_PM_STD_PARTITION="\"\""
-CONFIG_PM_SLEEP=y
-CONFIG_PM_SLEEP_SMP=y
-CONFIG_PM_RUNTIME=y
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_ACPI=y
-CONFIG_ACPI_SLEEP=y
-CONFIG_ACPI_PROCFS=y
-CONFIG_ACPI_PROCFS_POWER=y
-CONFIG_ACPI_EC_DEBUGFS=m
-CONFIG_ACPI_PROC_EVENT=y
-CONFIG_ACPI_AC=m
-CONFIG_ACPI_BATTERY=m
-CONFIG_ACPI_BUTTON=m
-CONFIG_ACPI_VIDEO=m
-CONFIG_ACPI_FAN=m
-CONFIG_ACPI_DOCK=y
-CONFIG_ACPI_PROCESSOR=m
-CONFIG_ACPI_IPMI=m
-CONFIG_ACPI_HOTPLUG_CPU=y
-CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
-CONFIG_ACPI_THERMAL=m
-# CONFIG_ACPI_CUSTOM_DSDT is not set
-CONFIG_ACPI_BLACKLIST_YEAR=0
-# CONFIG_ACPI_DEBUG is not set
-CONFIG_ACPI_PCI_SLOT=m
-CONFIG_X86_PM_TIMER=y
-CONFIG_ACPI_CONTAINER=m
-CONFIG_ACPI_HOTPLUG_MEMORY=m
-CONFIG_ACPI_SBS=m
-CONFIG_ACPI_HED=y
-# CONFIG_ACPI_CUSTOM_METHOD is not set
-CONFIG_ACPI_APEI=y
-CONFIG_ACPI_APEI_GHES=y
-CONFIG_ACPI_APEI_PCIEAER=y
-CONFIG_ACPI_APEI_EINJ=m
-CONFIG_ACPI_APEI_ERST_DEBUG=m
-CONFIG_SFI=y
-
-#
-# CPU Frequency scaling
-#
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_TABLE=m
-CONFIG_CPU_FREQ_STAT=m
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-
-#
-# x86 CPU frequency scaling drivers
-#
-CONFIG_X86_PCC_CPUFREQ=m
-CONFIG_X86_ACPI_CPUFREQ=m
-CONFIG_X86_POWERNOW_K8=m
-CONFIG_X86_SPEEDSTEP_CENTRINO=m
-CONFIG_X86_P4_CLOCKMOD=m
-
-#
-# shared options
-#
-CONFIG_X86_SPEEDSTEP_LIB=m
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_CPU_IDLE_GOV_MENU=y
-CONFIG_INTEL_IDLE=y
-
-#
-# Memory power savings
-#
-CONFIG_I7300_IDLE_IOAT_CHANNEL=y
-CONFIG_I7300_IDLE=m
-
-#
-# Bus options (PCI etc.)
-#
-CONFIG_PCI=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_MMCONFIG=y
-CONFIG_PCI_DOMAINS=y
-# CONFIG_PCI_CNB20LE_QUIRK is not set
-CONFIG_PCIEPORTBUS=y
-CONFIG_HOTPLUG_PCI_PCIE=m
-CONFIG_PCIEAER=y
-# CONFIG_PCIE_ECRC is not set
-CONFIG_PCIEAER_INJECT=m
-CONFIG_PCIEASPM=y
-# CONFIG_PCIEASPM_DEBUG is not set
-CONFIG_PCIE_PME=y
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_PCI_MSI=y
-# CONFIG_PCI_DEBUG is not set
-CONFIG_PCI_STUB=m
-CONFIG_HT_IRQ=y
-# CONFIG_PCI_IOV is not set
-# CONFIG_PCI_PRI is not set
-# CONFIG_PCI_PASID is not set
-CONFIG_PCI_IOAPIC=y
-CONFIG_PCI_LABEL=y
-CONFIG_ISA_DMA_API=y
-CONFIG_AMD_NB=y
-CONFIG_PCCARD=m
-CONFIG_PCMCIA=m
-CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_CARDBUS=y
-
-#
-# PC-card bridges
-#
-CONFIG_YENTA=m
-CONFIG_YENTA_O2=y
-CONFIG_YENTA_RICOH=y
-CONFIG_YENTA_TI=y
-CONFIG_YENTA_ENE_TUNE=y
-CONFIG_YENTA_TOSHIBA=y
-CONFIG_PD6729=m
-CONFIG_I82092=m
-CONFIG_PCCARD_NONSTATIC=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_FAKE=m
-CONFIG_HOTPLUG_PCI_ACPI=m
-CONFIG_HOTPLUG_PCI_ACPI_IBM=m
-# CONFIG_HOTPLUG_PCI_CPCI is not set
-CONFIG_HOTPLUG_PCI_SHPC=m
-# CONFIG_RAPIDIO is not set
-
-#
-# Executable file formats / Emulations
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_COMPAT_BINFMT_ELF=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-# CONFIG_HAVE_AOUT is not set
-CONFIG_BINFMT_MISC=m
-CONFIG_IA32_EMULATION=y
-# CONFIG_IA32_AOUT is not set
-CONFIG_COMPAT=y
-CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
-CONFIG_SYSVIPC_COMPAT=y
-CONFIG_KEYS_COMPAT=y
-CONFIG_HAVE_TEXT_POKE_SMP=y
-CONFIG_NET=y
-CONFIG_COMPAT_NETLINK_MESSAGES=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=y
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_XFRM_STATISTICS is not set
-CONFIG_XFRM_IPCOMP=m
-CONFIG_NET_KEY=m
-# CONFIG_NET_KEY_MIGRATE is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-# CONFIG_IP_FIB_TRIE_STATS is not set
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_ROUTE_CLASSID=y
-# CONFIG_IP_PNP is not set
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPGRE_BROADCAST=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_XFRM_TUNNEL=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_LRO=y
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-CONFIG_IPV6=m
-CONFIG_IPV6_PRIVACY=y
-# CONFIG_IPV6_ROUTER_PREF is not set
-# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_MIP6=m
-CONFIG_INET6_XFRM_TUNNEL=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
-CONFIG_IPV6_SIT=m
-# CONFIG_IPV6_SIT_6RD is not set
-CONFIG_IPV6_NDISC_NODETYPE=y
-CONFIG_IPV6_TUNNEL=m
-# CONFIG_IPV6_MULTIPLE_TABLES is not set
-# CONFIG_IPV6_MROUTE is not set
-# CONFIG_NETLABEL is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_NETFILTER_ADVANCED=y
-CONFIG_BRIDGE_NETFILTER=y
-
-#
-# Core Netfilter Configuration
-#
-CONFIG_NETFILTER_NETLINK=m
-CONFIG_NETFILTER_NETLINK_QUEUE=m
-CONFIG_NETFILTER_NETLINK_LOG=m
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_MARK=y
-CONFIG_NF_CONNTRACK_ZONES=y
-# CONFIG_NF_CONNTRACK_EVENTS is not set
-# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
-CONFIG_NF_CT_PROTO_DCCP=m
-CONFIG_NF_CT_PROTO_GRE=m
-CONFIG_NF_CT_PROTO_SCTP=m
-CONFIG_NF_CT_PROTO_UDPLITE=m
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK_BROADCAST=m
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_PPTP=m
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-CONFIG_NF_CT_NETLINK=m
-CONFIG_NETFILTER_TPROXY=m
-CONFIG_NETFILTER_XTABLES=m
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_CONNMARK=m
-CONFIG_NETFILTER_XT_SET=m
-
-#
-# Xtables targets
-#
-CONFIG_NETFILTER_XT_TARGET_AUDIT=m
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_HL=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-CONFIG_NETFILTER_XT_TARGET_LED=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
-CONFIG_NETFILTER_XT_TARGET_RATEEST=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-CONFIG_NETFILTER_XT_TARGET_TPROXY=m
-CONFIG_NETFILTER_XT_TARGET_TRACE=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
-
-#
-# Xtables matches
-#
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_HL=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_IPVS=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_OSF=m
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_SOCKET=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-CONFIG_IP_SET=m
-CONFIG_IP_SET_MAX=256
-CONFIG_IP_SET_BITMAP_IP=m
-CONFIG_IP_SET_BITMAP_IPMAC=m
-CONFIG_IP_SET_BITMAP_PORT=m
-CONFIG_IP_SET_HASH_IP=m
-CONFIG_IP_SET_HASH_IPPORT=m
-CONFIG_IP_SET_HASH_IPPORTIP=m
-CONFIG_IP_SET_HASH_IPPORTNET=m
-CONFIG_IP_SET_HASH_NET=m
-CONFIG_IP_SET_HASH_NETPORT=m
-CONFIG_IP_SET_HASH_NETIFACE=m
-CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_VS=m
-# CONFIG_IP_VS_IPV6 is not set
-# CONFIG_IP_VS_DEBUG is not set
-CONFIG_IP_VS_TAB_BITS=12
-
-#
-# IPVS transport protocol load balancing support
-#
-CONFIG_IP_VS_PROTO_TCP=y
-CONFIG_IP_VS_PROTO_UDP=y
-CONFIG_IP_VS_PROTO_AH_ESP=y
-CONFIG_IP_VS_PROTO_ESP=y
-CONFIG_IP_VS_PROTO_AH=y
-CONFIG_IP_VS_PROTO_SCTP=y
-
-#
-# IPVS scheduler
-#
-CONFIG_IP_VS_RR=m
-CONFIG_IP_VS_WRR=m
-CONFIG_IP_VS_LC=m
-CONFIG_IP_VS_WLC=m
-CONFIG_IP_VS_LBLC=m
-CONFIG_IP_VS_LBLCR=m
-CONFIG_IP_VS_DH=m
-CONFIG_IP_VS_SH=m
-CONFIG_IP_VS_SED=m
-CONFIG_IP_VS_NQ=m
-
-#
-# IPVS application helper
-#
-CONFIG_IP_VS_FTP=m
-CONFIG_IP_VS_NFCT=y
-CONFIG_IP_VS_PE_SIP=m
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV4=m
-CONFIG_NF_CONNTRACK_IPV4=m
-CONFIG_NF_CONNTRACK_PROC_COMPAT=y
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_NF_NAT=m
-CONFIG_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_NF_NAT_SNMP_BASIC=m
-CONFIG_NF_NAT_PROTO_DCCP=m
-CONFIG_NF_NAT_PROTO_GRE=m
-CONFIG_NF_NAT_PROTO_UDPLITE=m
-CONFIG_NF_NAT_PROTO_SCTP=m
-CONFIG_NF_NAT_FTP=m
-CONFIG_NF_NAT_IRC=m
-CONFIG_NF_NAT_TFTP=m
-CONFIG_NF_NAT_AMANDA=m
-CONFIG_NF_NAT_PPTP=m
-CONFIG_NF_NAT_H323=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_CLUSTERIP=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_SECURITY=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV6=m
-CONFIG_NF_CONNTRACK_IPV6=m
-CONFIG_IP6_NF_QUEUE=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_TARGET_LOG=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_RAW=m
-CONFIG_IP6_NF_SECURITY=m
-
-#
-# DECnet: Netfilter Configuration
-#
-# CONFIG_DECNET_NF_GRABULATOR is not set
-CONFIG_BRIDGE_NF_EBTABLES=m
-CONFIG_BRIDGE_EBT_BROUTE=m
-CONFIG_BRIDGE_EBT_T_FILTER=m
-CONFIG_BRIDGE_EBT_T_NAT=m
-CONFIG_BRIDGE_EBT_802_3=m
-CONFIG_BRIDGE_EBT_AMONG=m
-CONFIG_BRIDGE_EBT_ARP=m
-CONFIG_BRIDGE_EBT_IP=m
-CONFIG_BRIDGE_EBT_IP6=m
-CONFIG_BRIDGE_EBT_LIMIT=m
-CONFIG_BRIDGE_EBT_MARK=m
-CONFIG_BRIDGE_EBT_PKTTYPE=m
-CONFIG_BRIDGE_EBT_STP=m
-CONFIG_BRIDGE_EBT_VLAN=m
-CONFIG_BRIDGE_EBT_ARPREPLY=m
-CONFIG_BRIDGE_EBT_DNAT=m
-CONFIG_BRIDGE_EBT_MARK_T=m
-CONFIG_BRIDGE_EBT_REDIRECT=m
-CONFIG_BRIDGE_EBT_SNAT=m
-CONFIG_BRIDGE_EBT_LOG=m
-CONFIG_BRIDGE_EBT_ULOG=m
-CONFIG_BRIDGE_EBT_NFLOG=m
-CONFIG_IP_DCCP=m
-CONFIG_INET_DCCP_DIAG=m
-
-#
-# DCCP CCIDs Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_DCCP_CCID2_DEBUG is not set
-# CONFIG_IP_DCCP_CCID3 is not set
-
-#
-# DCCP Kernel Hacking
-#
-# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_SCTP=m
-# CONFIG_SCTP_DBG_MSG is not set
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# CONFIG_SCTP_HMAC_NONE is not set
-# CONFIG_SCTP_HMAC_SHA1 is not set
-CONFIG_SCTP_HMAC_MD5=y
-CONFIG_RDS=m
-CONFIG_RDS_RDMA=m
-CONFIG_RDS_TCP=m
-# CONFIG_RDS_DEBUG is not set
-CONFIG_TIPC=m
-# CONFIG_TIPC_ADVANCED is not set
-# CONFIG_TIPC_DEBUG is not set
-CONFIG_ATM=m
-CONFIG_ATM_CLIP=m
-# CONFIG_ATM_CLIP_NO_ICMP is not set
-CONFIG_ATM_LANE=m
-CONFIG_ATM_MPOA=m
-CONFIG_ATM_BR2684=m
-# CONFIG_ATM_BR2684_IPFILTER is not set
-CONFIG_L2TP=m
-CONFIG_L2TP_DEBUGFS=m
-CONFIG_L2TP_V3=y
-CONFIG_L2TP_IP=m
-CONFIG_L2TP_ETH=m
-CONFIG_STP=m
-CONFIG_GARP=m
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-# CONFIG_NET_DSA is not set
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_DECNET=m
-# CONFIG_DECNET_ROUTER is not set
-CONFIG_LLC=y
-CONFIG_LLC2=m
-CONFIG_IPX=m
-# CONFIG_IPX_INTERN is not set
-CONFIG_ATALK=m
-CONFIG_DEV_APPLETALK=m
-CONFIG_IPDDP=m
-CONFIG_IPDDP_ENCAP=y
-CONFIG_IPDDP_DECAP=y
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-CONFIG_WAN_ROUTER=m
-# CONFIG_PHONET is not set
-CONFIG_IEEE802154=m
-CONFIG_IEEE802154_6LOWPAN=m
-CONFIG_NET_SCHED=y
-
-#
-# Queueing/Scheduling
-#
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_ATM=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_MULTIQ=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFB=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_NETEM=m
-CONFIG_NET_SCH_DRR=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_CHOKE=m
-CONFIG_NET_SCH_QFQ=m
-CONFIG_NET_SCH_INGRESS=m
-
-#
-# Classification
-#
-CONFIG_NET_CLS=y
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-# CONFIG_CLS_U32_PERF is not set
-CONFIG_CLS_U32_MARK=y
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_CLS_FLOW=m
-CONFIG_NET_CLS_CGROUP=y
-CONFIG_NET_EMATCH=y
-CONFIG_NET_EMATCH_STACK=32
-CONFIG_NET_EMATCH_CMP=m
-CONFIG_NET_EMATCH_NBYTE=m
-CONFIG_NET_EMATCH_U32=m
-CONFIG_NET_EMATCH_META=m
-CONFIG_NET_EMATCH_TEXT=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_POLICE=y
-CONFIG_NET_ACT_GACT=m
-CONFIG_GACT_PROB=y
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_IPT=m
-CONFIG_NET_ACT_NAT=m
-CONFIG_NET_ACT_PEDIT=m
-CONFIG_NET_ACT_SIMP=m
-CONFIG_NET_ACT_SKBEDIT=m
-CONFIG_NET_ACT_CSUM=m
-# CONFIG_NET_CLS_IND is not set
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=y
-CONFIG_BATMAN_ADV=m
-# CONFIG_BATMAN_ADV_DEBUG is not set
-CONFIG_RPS=y
-CONFIG_RFS_ACCEL=y
-CONFIG_XPS=y
-CONFIG_HAVE_BPF_JIT=y
-CONFIG_BPF_JIT=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_NET_DROP_MONITOR is not set
-CONFIG_HAMRADIO=y
-
-#
-# Packet Radio protocols
-#
-CONFIG_AX25=m
-# CONFIG_AX25_DAMA_SLAVE is not set
-CONFIG_NETROM=m
-CONFIG_ROSE=m
-
-#
-# AX.25 network device drivers
-#
-CONFIG_MKISS=m
-CONFIG_6PACK=m
-CONFIG_BPQETHER=m
-CONFIG_BAYCOM_SER_FDX=m
-CONFIG_BAYCOM_SER_HDX=m
-CONFIG_BAYCOM_PAR=m
-CONFIG_YAM=m
-CONFIG_CAN=m
-CONFIG_CAN_RAW=m
-CONFIG_CAN_BCM=m
-CONFIG_CAN_GW=m
-
-#
-# CAN Device Drivers
-#
-CONFIG_CAN_VCAN=m
-CONFIG_CAN_SLCAN=m
-CONFIG_CAN_DEV=m
-CONFIG_CAN_CALC_BITTIMING=y
-CONFIG_CAN_JANZ_ICAN3=m
-CONFIG_PCH_CAN=m
-CONFIG_CAN_SJA1000=m
-CONFIG_CAN_SJA1000_PLATFORM=m
-CONFIG_CAN_EMS_PCMCIA=m
-CONFIG_CAN_EMS_PCI=m
-CONFIG_CAN_PEAK_PCI=m
-CONFIG_CAN_KVASER_PCI=m
-CONFIG_CAN_PLX_PCI=m
-CONFIG_CAN_C_CAN=m
-CONFIG_CAN_C_CAN_PLATFORM=m
-
-#
-# CAN USB interfaces
-#
-CONFIG_CAN_EMS_USB=m
-CONFIG_CAN_ESD_USB2=m
-CONFIG_CAN_SOFTING=m
-CONFIG_CAN_SOFTING_CS=m
-# CONFIG_CAN_DEBUG_DEVICES is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-CONFIG_IRDA_CACHE_LAST_LSAP=y
-CONFIG_IRDA_FAST_RR=y
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-CONFIG_IRTTY_SIR=m
-
-#
-# Dongle support
-#
-CONFIG_DONGLE=y
-CONFIG_ESI_DONGLE=m
-CONFIG_ACTISYS_DONGLE=m
-CONFIG_TEKRAM_DONGLE=m
-CONFIG_TOIM3232_DONGLE=m
-CONFIG_LITELINK_DONGLE=m
-CONFIG_MA600_DONGLE=m
-CONFIG_GIRBIL_DONGLE=m
-CONFIG_MCP2120_DONGLE=m
-CONFIG_OLD_BELKIN_DONGLE=m
-CONFIG_ACT200L_DONGLE=m
-CONFIG_KINGSUN_DONGLE=m
-CONFIG_KSDAZZLE_DONGLE=m
-CONFIG_KS959_DONGLE=m
-
-#
-# FIR device drivers
-#
-CONFIG_USB_IRDA=m
-CONFIG_SIGMATEL_FIR=m
-CONFIG_NSC_FIR=m
-CONFIG_WINBOND_FIR=m
-CONFIG_SMC_IRCC_FIR=m
-CONFIG_ALI_FIR=m
-CONFIG_VLSI_FIR=m
-CONFIG_VIA_FIR=m
-CONFIG_MCS_FIR=m
-CONFIG_BT=m
-CONFIG_BT_L2CAP=y
-CONFIG_BT_SCO=y
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_CMTP=m
-CONFIG_BT_HIDP=m
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIVHCI=m
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-CONFIG_BT_ATH3K=m
-CONFIG_BT_WILINK=m
-CONFIG_AF_RXRPC=m
-# CONFIG_AF_RXRPC_DEBUG is not set
-CONFIG_RXKAD=m
-CONFIG_FIB_RULES=y
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=m
-# CONFIG_NL80211_TESTMODE is not set
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-# CONFIG_CFG80211_REG_DEBUG is not set
-CONFIG_CFG80211_DEFAULT_PS=y
-# CONFIG_CFG80211_DEBUGFS is not set
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_WEXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-CONFIG_LIB80211=m
-CONFIG_LIB80211_CRYPT_WEP=m
-CONFIG_LIB80211_CRYPT_CCMP=m
-CONFIG_LIB80211_CRYPT_TKIP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_MAC80211=m
-CONFIG_MAC80211_HAS_RC=y
-CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_RC_MINSTREL_HT=y
-CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
-CONFIG_MAC80211_MESH=y
-CONFIG_MAC80211_LEDS=y
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_WIMAX=m
-CONFIG_WIMAX_DEBUG_LEVEL=8
-CONFIG_RFKILL=m
-CONFIG_RFKILL_LEDS=y
-CONFIG_RFKILL_INPUT=y
-CONFIG_RFKILL_REGULATOR=m
-CONFIG_NET_9P=m
-CONFIG_NET_9P_VIRTIO=m
-CONFIG_NET_9P_RDMA=m
-# CONFIG_NET_9P_DEBUG is not set
-# CONFIG_CAIF is not set
-CONFIG_CEPH_LIB=m
-# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
-# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
-CONFIG_NFC=m
-CONFIG_NFC_NCI=m
-
-#
-# Near Field Communication (NFC) devices
-#
-CONFIG_PN544_NFC=m
-CONFIG_NFC_PN533=m
-CONFIG_NFC_WILINK=m
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-# CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-CONFIG_REGMAP=y
-CONFIG_REGMAP_I2C=m
-CONFIG_CONNECTOR=m
-CONFIG_MTD=m
-CONFIG_MTD_TESTS=m
-CONFIG_MTD_REDBOOT_PARTS=m
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-CONFIG_MTD_AR7_PARTS=m
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=m
-CONFIG_HAVE_MTD_OTP=y
-CONFIG_MTD_BLKDEVS=m
-CONFIG_MTD_BLOCK=m
-CONFIG_MTD_BLOCK_RO=m
-CONFIG_FTL=m
-CONFIG_NFTL=m
-CONFIG_NFTL_RW=y
-CONFIG_INFTL=m
-CONFIG_RFD_FTL=m
-CONFIG_SSFDC=m
-CONFIG_SM_FTL=m
-CONFIG_MTD_OOPS=m
-CONFIG_MTD_SWAP=m
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=m
-CONFIG_MTD_JEDECPROBE=m
-CONFIG_MTD_GEN_PROBE=m
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_GEOMETRY=y
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-CONFIG_MTD_MAP_BANK_WIDTH_8=y
-CONFIG_MTD_MAP_BANK_WIDTH_16=y
-CONFIG_MTD_MAP_BANK_WIDTH_32=y
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-CONFIG_MTD_CFI_I4=y
-CONFIG_MTD_CFI_I8=y
-CONFIG_MTD_OTP=y
-CONFIG_MTD_CFI_INTELEXT=m
-CONFIG_MTD_CFI_AMDSTD=m
-CONFIG_MTD_CFI_STAA=m
-CONFIG_MTD_CFI_UTIL=m
-CONFIG_MTD_RAM=m
-CONFIG_MTD_ROM=m
-CONFIG_MTD_ABSENT=m
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=m
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-CONFIG_MTD_SC520CDP=m
-CONFIG_MTD_NETSC520=m
-CONFIG_MTD_TS5500=m
-CONFIG_MTD_SBC_GXX=m
-CONFIG_MTD_AMD76XROM=m
-CONFIG_MTD_ICHXROM=m
-CONFIG_MTD_ESB2ROM=m
-CONFIG_MTD_CK804XROM=m
-CONFIG_MTD_SCB2_FLASH=m
-CONFIG_MTD_NETtel=m
-CONFIG_MTD_L440GX=m
-CONFIG_MTD_PCI=m
-CONFIG_MTD_PCMCIA=m
-# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
-CONFIG_MTD_GPIO_ADDR=m
-CONFIG_MTD_INTEL_VR_NOR=m
-CONFIG_MTD_PLATRAM=m
-CONFIG_MTD_LATCH_ADDR=m
-
-#
-# Self-contained MTD device drivers
-#
-CONFIG_MTD_PMC551=m
-CONFIG_MTD_PMC551_BUGFIX=y
-# CONFIG_MTD_PMC551_DEBUG is not set
-CONFIG_MTD_SLRAM=m
-CONFIG_MTD_PHRAM=m
-CONFIG_MTD_MTDRAM=m
-CONFIG_MTDRAM_TOTAL_SIZE=4096
-CONFIG_MTDRAM_ERASE_SIZE=128
-CONFIG_MTD_BLOCK2MTD=m
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-CONFIG_MTD_DOC2001PLUS=m
-CONFIG_MTD_DOCG3=m
-CONFIG_MTD_DOCPROBE=m
-CONFIG_MTD_DOCECC=m
-CONFIG_MTD_DOCPROBE_ADVANCED=y
-CONFIG_MTD_DOCPROBE_ADDRESS=0x0000
-CONFIG_MTD_DOCPROBE_HIGH=y
-CONFIG_MTD_DOCPROBE_55AA=y
-CONFIG_MTD_NAND_ECC=m
-CONFIG_MTD_NAND_ECC_SMC=y
-CONFIG_MTD_NAND=m
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-CONFIG_MTD_NAND_BCH=m
-CONFIG_MTD_NAND_ECC_BCH=y
-CONFIG_MTD_SM_COMMON=m
-CONFIG_MTD_NAND_MUSEUM_IDS=y
-CONFIG_MTD_NAND_DENALI=m
-CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
-CONFIG_MTD_NAND_IDS=m
-CONFIG_MTD_NAND_RICOH=m
-CONFIG_MTD_NAND_DISKONCHIP=m
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
-CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y
-CONFIG_MTD_NAND_CAFE=m
-CONFIG_MTD_NAND_NANDSIM=m
-CONFIG_MTD_NAND_PLATFORM=m
-CONFIG_MTD_ALAUDA=m
-CONFIG_MTD_ONENAND=m
-CONFIG_MTD_ONENAND_VERIFY_WRITE=y
-CONFIG_MTD_ONENAND_GENERIC=m
-CONFIG_MTD_ONENAND_OTP=y
-CONFIG_MTD_ONENAND_2X_PROGRAM=y
-CONFIG_MTD_ONENAND_SIM=m
-
-#
-# LPDDR flash memory drivers
-#
-CONFIG_MTD_LPDDR=m
-CONFIG_MTD_QINFO_PROBE=m
-CONFIG_MTD_UBI=m
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-CONFIG_MTD_UBI_GLUEBI=m
-# CONFIG_MTD_UBI_DEBUG is not set
-CONFIG_PARPORT=m
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_SERIAL=m
-# CONFIG_PARPORT_PC_FIFO is not set
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_GSC is not set
-CONFIG_PARPORT_AX88796=m
-CONFIG_PARPORT_1284=y
-CONFIG_PARPORT_NOT_PC=y
-CONFIG_PNP=y
-CONFIG_PNP_DEBUG_MESSAGES=y
-
-#
-# Protocols
-#
-CONFIG_PNPACPI=y
-CONFIG_BLK_DEV=y
-CONFIG_BLK_DEV_FD=y
-CONFIG_PARIDE=m
-
-#
-# Parallel IDE high-level drivers
-#
-CONFIG_PARIDE_PD=m
-CONFIG_PARIDE_PCD=m
-CONFIG_PARIDE_PF=m
-CONFIG_PARIDE_PT=m
-CONFIG_PARIDE_PG=m
-
-#
-# Parallel IDE protocol modules
-#
-CONFIG_PARIDE_ATEN=m
-CONFIG_PARIDE_BPCK=m
-CONFIG_PARIDE_COMM=m
-CONFIG_PARIDE_DSTR=m
-CONFIG_PARIDE_FIT2=m
-CONFIG_PARIDE_FIT3=m
-CONFIG_PARIDE_EPAT=m
-CONFIG_PARIDE_EPATC8=y
-CONFIG_PARIDE_EPIA=m
-CONFIG_PARIDE_FRIQ=m
-CONFIG_PARIDE_FRPW=m
-CONFIG_PARIDE_KBIC=m
-CONFIG_PARIDE_KTTI=m
-CONFIG_PARIDE_ON20=m
-CONFIG_PARIDE_ON26=m
-CONFIG_BLK_CPQ_DA=m
-CONFIG_BLK_CPQ_CISS_DA=m
-CONFIG_CISS_SCSI_TAPE=y
-CONFIG_BLK_DEV_DAC960=m
-CONFIG_BLK_DEV_UMEM=m
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-CONFIG_BLK_DEV_DRBD=m
-# CONFIG_DRBD_FAULT_INJECTION is not set
-CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_OSD=m
-CONFIG_BLK_DEV_SX8=m
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=16384
-# CONFIG_BLK_DEV_XIP is not set
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-CONFIG_ATA_OVER_ETH=m
-CONFIG_VIRTIO_BLK=m
-# CONFIG_BLK_DEV_HD is not set
-CONFIG_BLK_DEV_RBD=m
-CONFIG_SENSORS_LIS3LV02D=m
-CONFIG_MISC_DEVICES=y
-CONFIG_AD525X_DPOT=m
-CONFIG_AD525X_DPOT_I2C=m
-CONFIG_IBM_ASM=m
-CONFIG_PHANTOM=m
-CONFIG_INTEL_MID_PTI=m
-CONFIG_SGI_IOC4=m
-CONFIG_TIFM_CORE=m
-CONFIG_TIFM_7XX1=m
-CONFIG_ICS932S401=m
-CONFIG_ENCLOSURE_SERVICES=m
-CONFIG_CS5535_MFGPT=m
-CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
-CONFIG_CS5535_CLOCK_EVENT_SRC=m
-CONFIG_HP_ILO=m
-CONFIG_APDS9802ALS=m
-CONFIG_ISL29003=m
-CONFIG_ISL29020=m
-CONFIG_SENSORS_TSL2550=m
-CONFIG_SENSORS_BH1780=m
-CONFIG_SENSORS_BH1770=m
-CONFIG_SENSORS_APDS990X=m
-CONFIG_HMC6352=m
-CONFIG_DS1682=m
-CONFIG_VMWARE_BALLOON=m
-CONFIG_BMP085=m
-CONFIG_PCH_PHUB=m
-CONFIG_USB_SWITCH_FSA9480=m
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-CONFIG_EEPROM_AT24=m
-CONFIG_EEPROM_LEGACY=m
-CONFIG_EEPROM_MAX6875=m
-CONFIG_EEPROM_93CX6=m
-CONFIG_CB710_CORE=m
-# CONFIG_CB710_DEBUG is not set
-CONFIG_CB710_DEBUG_ASSUMPTIONS=y
-CONFIG_IWMC3200TOP=m
-# CONFIG_IWMC3200TOP_DEBUG is not set
-# CONFIG_IWMC3200TOP_DEBUGFS is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-CONFIG_TI_ST=m
-CONFIG_SENSORS_LIS3_I2C=m
-
-#
-# Altera FPGA firmware download module
-#
-CONFIG_ALTERA_STAPL=m
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-CONFIG_RAID_ATTRS=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_SCSI_TGT=y
-CONFIG_SCSI_NETLINK=y
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_ST=m
-CONFIG_CHR_DEV_OSST=m
-CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_CHR_DEV_SG=m
-CONFIG_CHR_DEV_SCH=m
-CONFIG_SCSI_ENCLOSURE=m
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-CONFIG_SCSI_SPI_ATTRS=y
-CONFIG_SCSI_FC_ATTRS=m
-CONFIG_SCSI_FC_TGT_ATTRS=y
-CONFIG_SCSI_ISCSI_ATTRS=m
-CONFIG_SCSI_SAS_ATTRS=y
-CONFIG_SCSI_SAS_LIBSAS=y
-CONFIG_SCSI_SAS_ATA=y
-CONFIG_SCSI_SAS_HOST_SMP=y
-CONFIG_SCSI_SRP_ATTRS=m
-CONFIG_SCSI_SRP_TGT_ATTRS=y
-CONFIG_SCSI_LOWLEVEL=y
-CONFIG_ISCSI_TCP=m
-CONFIG_ISCSI_BOOT_SYSFS=y
-CONFIG_SCSI_CXGB3_ISCSI=m
-CONFIG_SCSI_CXGB4_ISCSI=m
-CONFIG_SCSI_BNX2_ISCSI=m
-CONFIG_SCSI_BNX2X_FCOE=m
-CONFIG_BE2ISCSI=m
-CONFIG_BLK_DEV_3W_XXXX_RAID=m
-CONFIG_SCSI_HPSA=m
-CONFIG_SCSI_3W_9XXX=m
-CONFIG_SCSI_3W_SAS=m
-CONFIG_SCSI_ACARD=m
-CONFIG_SCSI_AACRAID=m
-CONFIG_SCSI_AIC7XXX=m
-CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
-CONFIG_AIC7XXX_RESET_DELAY_MS=15000
-# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
-CONFIG_AIC7XXX_DEBUG_MASK=0
-# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
-CONFIG_SCSI_AIC7XXX_OLD=m
-CONFIG_SCSI_AIC79XX=m
-CONFIG_AIC79XX_CMDS_PER_DEVICE=4
-CONFIG_AIC79XX_RESET_DELAY_MS=15000
-# CONFIG_AIC79XX_DEBUG_ENABLE is not set
-CONFIG_AIC79XX_DEBUG_MASK=0
-# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
-CONFIG_SCSI_AIC94XX=m
-# CONFIG_AIC94XX_DEBUG is not set
-CONFIG_SCSI_MVSAS=m
-# CONFIG_SCSI_MVSAS_DEBUG is not set
-# CONFIG_SCSI_MVSAS_TASKLET is not set
-CONFIG_SCSI_MVUMI=m
-CONFIG_SCSI_DPT_I2O=m
-CONFIG_SCSI_ADVANSYS=m
-CONFIG_SCSI_ARCMSR=m
-CONFIG_MEGARAID_NEWGEN=y
-CONFIG_MEGARAID_MM=m
-CONFIG_MEGARAID_MAILBOX=m
-CONFIG_MEGARAID_LEGACY=m
-CONFIG_MEGARAID_SAS=m
-CONFIG_SCSI_MPT2SAS=m
-CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT2SAS_LOGGING is not set
-CONFIG_SCSI_HPTIOP=m
-CONFIG_SCSI_BUSLOGIC=m
-CONFIG_VMWARE_PVSCSI=m
-CONFIG_LIBFC=m
-CONFIG_LIBFCOE=m
-CONFIG_FCOE=m
-CONFIG_FCOE_FNIC=m
-CONFIG_SCSI_DMX3191D=m
-CONFIG_SCSI_EATA=m
-# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
-# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
-CONFIG_SCSI_EATA_MAX_TAGS=16
-CONFIG_SCSI_FUTURE_DOMAIN=m
-CONFIG_SCSI_GDTH=m
-CONFIG_SCSI_ISCI=m
-CONFIG_SCSI_IPS=m
-CONFIG_SCSI_INITIO=m
-CONFIG_SCSI_INIA100=m
-CONFIG_SCSI_PPA=m
-CONFIG_SCSI_IMM=m
-# CONFIG_SCSI_IZIP_EPP16 is not set
-# CONFIG_SCSI_IZIP_SLOW_CTR is not set
-CONFIG_SCSI_STEX=m
-CONFIG_SCSI_SYM53C8XX_2=m
-CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
-CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
-CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
-CONFIG_SCSI_SYM53C8XX_MMIO=y
-CONFIG_SCSI_IPR=m
-# CONFIG_SCSI_IPR_TRACE is not set
-# CONFIG_SCSI_IPR_DUMP is not set
-CONFIG_SCSI_QLOGIC_1280=m
-CONFIG_SCSI_QLA_FC=m
-CONFIG_SCSI_QLA_ISCSI=m
-CONFIG_SCSI_LPFC=m
-# CONFIG_SCSI_LPFC_DEBUG_FS is not set
-CONFIG_SCSI_DC395x=m
-CONFIG_SCSI_DC390T=m
-CONFIG_SCSI_DEBUG=m
-CONFIG_SCSI_PMCRAID=m
-CONFIG_SCSI_PM8001=m
-CONFIG_SCSI_SRP=m
-CONFIG_SCSI_BFA_FC=m
-CONFIG_SCSI_LOWLEVEL_PCMCIA=y
-CONFIG_PCMCIA_AHA152X=m
-CONFIG_PCMCIA_FDOMAIN=m
-CONFIG_PCMCIA_QLOGIC=m
-CONFIG_PCMCIA_SYM53C500=m
-CONFIG_SCSI_DH=m
-CONFIG_SCSI_DH_RDAC=m
-CONFIG_SCSI_DH_HP_SW=m
-CONFIG_SCSI_DH_EMC=m
-CONFIG_SCSI_DH_ALUA=m
-CONFIG_SCSI_OSD_INITIATOR=m
-CONFIG_SCSI_OSD_ULD=m
-CONFIG_SCSI_OSD_DPRINT_SENSE=1
-# CONFIG_SCSI_OSD_DEBUG is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_ATA_ACPI=y
-CONFIG_SATA_PMP=y
-
-#
-# Controllers with non-SFF native interface
-#
-CONFIG_SATA_AHCI=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_SATA_INIC162X=y
-CONFIG_SATA_ACARD_AHCI=y
-CONFIG_SATA_SIL24=y
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_PDC_ADMA=y
-CONFIG_SATA_QSTOR=y
-CONFIG_SATA_SX4=y
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-CONFIG_ATA_PIIX=y
-CONFIG_SATA_MV=y
-CONFIG_SATA_NV=y
-CONFIG_SATA_PROMISE=y
-CONFIG_SATA_SIL=y
-CONFIG_SATA_SIS=y
-CONFIG_SATA_SVW=y
-CONFIG_SATA_ULI=y
-CONFIG_SATA_VIA=y
-CONFIG_SATA_VITESSE=y
-
-#
-# PATA SFF controllers with BMDMA
-#
-CONFIG_PATA_ALI=y
-CONFIG_PATA_AMD=y
-CONFIG_PATA_ARASAN_CF=m
-CONFIG_PATA_ARTOP=y
-CONFIG_PATA_ATIIXP=y
-CONFIG_PATA_ATP867X=y
-CONFIG_PATA_CMD64X=y
-CONFIG_PATA_CS5520=y
-CONFIG_PATA_CS5530=y
-CONFIG_PATA_CS5536=y
-CONFIG_PATA_CYPRESS=y
-CONFIG_PATA_EFAR=y
-CONFIG_PATA_HPT366=y
-CONFIG_PATA_HPT37X=y
-CONFIG_PATA_HPT3X2N=y
-CONFIG_PATA_HPT3X3=y
-CONFIG_PATA_HPT3X3_DMA=y
-CONFIG_PATA_IT8213=y
-CONFIG_PATA_IT821X=y
-CONFIG_PATA_JMICRON=y
-CONFIG_PATA_MARVELL=y
-CONFIG_PATA_NETCELL=y
-CONFIG_PATA_NINJA32=y
-CONFIG_PATA_NS87415=y
-CONFIG_PATA_OLDPIIX=y
-CONFIG_PATA_OPTIDMA=y
-CONFIG_PATA_PDC2027X=y
-CONFIG_PATA_PDC_OLD=y
-CONFIG_PATA_RADISYS=y
-CONFIG_PATA_RDC=y
-CONFIG_PATA_SC1200=y
-CONFIG_PATA_SCH=y
-CONFIG_PATA_SERVERWORKS=y
-CONFIG_PATA_SIL680=y
-CONFIG_PATA_SIS=y
-CONFIG_PATA_TOSHIBA=m
-CONFIG_PATA_TRIFLEX=y
-CONFIG_PATA_VIA=y
-CONFIG_PATA_WINBOND=y
-
-#
-# PIO-only SFF controllers
-#
-CONFIG_PATA_CMD640_PCI=y
-CONFIG_PATA_MPIIX=y
-CONFIG_PATA_NS87410=y
-CONFIG_PATA_OPTI=y
-CONFIG_PATA_PCMCIA=m
-CONFIG_PATA_RZ1000=y
-
-#
-# Generic fallback / legacy drivers
-#
-CONFIG_PATA_ACPI=y
-CONFIG_ATA_GENERIC=y
-CONFIG_PATA_LEGACY=y
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=y
-CONFIG_MD_AUTODETECT=y
-CONFIG_MD_LINEAR=y
-CONFIG_MD_RAID0=y
-CONFIG_MD_RAID1=y
-CONFIG_MD_RAID10=y
-CONFIG_MD_RAID456=y
-# CONFIG_MULTICORE_RAID456 is not set
-CONFIG_MD_MULTIPATH=y
-CONFIG_MD_FAULTY=m
-CONFIG_BLK_DEV_DM=y
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_BUFIO=m
-CONFIG_DM_PERSISTENT_DATA=m
-CONFIG_DM_CRYPT=y
-CONFIG_DM_SNAPSHOT=m
-CONFIG_DM_THIN_PROVISIONING=m
-# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
-# CONFIG_DM_DEBUG_SPACE_MAPS is not set
-CONFIG_DM_MIRROR=y
-CONFIG_DM_RAID=m
-CONFIG_DM_LOG_USERSPACE=m
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-CONFIG_DM_MULTIPATH_QL=m
-CONFIG_DM_MULTIPATH_ST=m
-# CONFIG_DM_DELAY is not set
-CONFIG_DM_UEVENT=y
-CONFIG_DM_FLAKEY=m
-CONFIG_TARGET_CORE=m
-CONFIG_TCM_IBLOCK=m
-CONFIG_TCM_FILEIO=m
-CONFIG_TCM_PSCSI=m
-CONFIG_LOOPBACK_TARGET=m
-CONFIG_TCM_FC=m
-CONFIG_ISCSI_TARGET=m
-CONFIG_FUSION=y
-CONFIG_FUSION_SPI=m
-CONFIG_FUSION_FC=m
-CONFIG_FUSION_SAS=m
-CONFIG_FUSION_MAX_SGE=128
-CONFIG_FUSION_CTL=m
-CONFIG_FUSION_LAN=m
-# CONFIG_FUSION_LOGGING is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-CONFIG_FIREWIRE=m
-CONFIG_FIREWIRE_OHCI=m
-CONFIG_FIREWIRE_OHCI_DEBUG=y
-CONFIG_FIREWIRE_SBP2=m
-CONFIG_FIREWIRE_NET=m
-CONFIG_FIREWIRE_NOSY=m
-CONFIG_I2O=m
-CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
-CONFIG_I2O_EXT_ADAPTEC=y
-CONFIG_I2O_EXT_ADAPTEC_DMA64=y
-CONFIG_I2O_CONFIG=m
-# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
-CONFIG_I2O_BUS=m
-CONFIG_I2O_BLOCK=m
-CONFIG_I2O_SCSI=m
-CONFIG_I2O_PROC=m
-CONFIG_MACINTOSH_DRIVERS=y
-CONFIG_MAC_EMUMOUSEBTN=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_BONDING=m
-CONFIG_DUMMY=m
-CONFIG_EQUALIZER=m
-CONFIG_NET_FC=y
-CONFIG_MII=m
-CONFIG_IEEE802154_DRIVERS=m
-CONFIG_IEEE802154_FAKEHARD=m
-CONFIG_IFB=m
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_NETCONSOLE=m
-CONFIG_NETCONSOLE_DYNAMIC=y
-CONFIG_NETPOLL=y
-# CONFIG_NETPOLL_TRAP is not set
-CONFIG_NET_POLL_CONTROLLER=y
-CONFIG_TUN=m
-CONFIG_VETH=m
-CONFIG_VIRTIO_NET=m
-CONFIG_SUNGEM_PHY=m
-CONFIG_ARCNET=m
-CONFIG_ARCNET_1201=m
-CONFIG_ARCNET_1051=m
-CONFIG_ARCNET_RAW=m
-CONFIG_ARCNET_CAP=m
-CONFIG_ARCNET_COM90xx=m
-CONFIG_ARCNET_COM90xxIO=m
-CONFIG_ARCNET_RIM_I=m
-CONFIG_ARCNET_COM20020=m
-CONFIG_ARCNET_COM20020_PCI=m
-CONFIG_ARCNET_COM20020_CS=m
-CONFIG_ATM_DRIVERS=y
-CONFIG_ATM_DUMMY=m
-CONFIG_ATM_TCP=m
-CONFIG_ATM_LANAI=m
-CONFIG_ATM_ENI=m
-# CONFIG_ATM_ENI_DEBUG is not set
-# CONFIG_ATM_ENI_TUNE_BURST is not set
-CONFIG_ATM_FIRESTREAM=m
-CONFIG_ATM_ZATM=m
-# CONFIG_ATM_ZATM_DEBUG is not set
-CONFIG_ATM_NICSTAR=m
-# CONFIG_ATM_NICSTAR_USE_SUNI is not set
-# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
-CONFIG_ATM_IDT77252=m
-# CONFIG_ATM_IDT77252_DEBUG is not set
-# CONFIG_ATM_IDT77252_RCV_ALL is not set
-CONFIG_ATM_IDT77252_USE_SUNI=y
-CONFIG_ATM_AMBASSADOR=m
-# CONFIG_ATM_AMBASSADOR_DEBUG is not set
-CONFIG_ATM_HORIZON=m
-# CONFIG_ATM_HORIZON_DEBUG is not set
-CONFIG_ATM_IA=m
-# CONFIG_ATM_IA_DEBUG is not set
-CONFIG_ATM_FORE200E=m
-# CONFIG_ATM_FORE200E_USE_TASKLET is not set
-CONFIG_ATM_FORE200E_TX_RETRY=16
-CONFIG_ATM_FORE200E_DEBUG=0
-CONFIG_ATM_HE=m
-# CONFIG_ATM_HE_USE_SUNI is not set
-CONFIG_ATM_SOLOS=m
-
-#
-# CAIF transport drivers
-#
-CONFIG_ETHERNET=y
-CONFIG_MDIO=m
-CONFIG_NET_VENDOR_3COM=y
-CONFIG_PCMCIA_3C574=m
-CONFIG_PCMCIA_3C589=m
-CONFIG_VORTEX=m
-CONFIG_TYPHOON=m
-CONFIG_NET_VENDOR_ADAPTEC=y
-CONFIG_ADAPTEC_STARFIRE=m
-CONFIG_NET_VENDOR_ALTEON=y
-CONFIG_ACENIC=m
-# CONFIG_ACENIC_OMIT_TIGON_I is not set
-CONFIG_NET_VENDOR_AMD=y
-CONFIG_AMD8111_ETH=m
-CONFIG_PCNET32=m
-CONFIG_PCMCIA_NMCLAN=m
-CONFIG_NET_VENDOR_ATHEROS=y
-CONFIG_ATL2=m
-CONFIG_ATL1=m
-CONFIG_ATL1E=m
-CONFIG_ATL1C=m
-CONFIG_NET_VENDOR_BROADCOM=y
-CONFIG_B44=m
-CONFIG_B44_PCI_AUTOSELECT=y
-CONFIG_B44_PCICORE_AUTOSELECT=y
-CONFIG_B44_PCI=y
-CONFIG_BNX2=m
-CONFIG_CNIC=m
-CONFIG_TIGON3=m
-CONFIG_BNX2X=m
-CONFIG_NET_VENDOR_BROCADE=y
-CONFIG_BNA=m
-CONFIG_NET_VENDOR_CHELSIO=y
-CONFIG_CHELSIO_T1=m
-CONFIG_CHELSIO_T1_1G=y
-CONFIG_CHELSIO_T3=m
-CONFIG_CHELSIO_T4=m
-CONFIG_CHELSIO_T4VF=m
-CONFIG_NET_VENDOR_CISCO=y
-CONFIG_ENIC=m
-CONFIG_DNET=m
-CONFIG_NET_VENDOR_DEC=y
-CONFIG_NET_TULIP=y
-CONFIG_DE2104X=m
-CONFIG_DE2104X_DSL=0
-CONFIG_TULIP=m
-# CONFIG_TULIP_MWI is not set
-CONFIG_TULIP_MMIO=y
-# CONFIG_TULIP_NAPI is not set
-CONFIG_DE4X5=m
-CONFIG_WINBOND_840=m
-CONFIG_DM9102=m
-CONFIG_ULI526X=m
-CONFIG_PCMCIA_XIRCOM=m
-CONFIG_NET_VENDOR_DLINK=y
-CONFIG_DE600=m
-CONFIG_DE620=m
-CONFIG_DL2K=m
-CONFIG_SUNDANCE=m
-# CONFIG_SUNDANCE_MMIO is not set
-CONFIG_NET_VENDOR_EMULEX=y
-CONFIG_BE2NET=m
-CONFIG_NET_VENDOR_EXAR=y
-CONFIG_S2IO=m
-CONFIG_VXGE=m
-# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
-CONFIG_NET_VENDOR_FUJITSU=y
-CONFIG_PCMCIA_FMVJ18X=m
-CONFIG_NET_VENDOR_HP=y
-CONFIG_HP100=m
-CONFIG_NET_VENDOR_INTEL=y
-CONFIG_E100=m
-CONFIG_E1000=m
-CONFIG_E1000E=m
-CONFIG_IGB=m
-CONFIG_IGB_DCA=y
-CONFIG_IGBVF=m
-CONFIG_IXGB=m
-CONFIG_IXGBE=m
-CONFIG_IXGBE_DCA=y
-CONFIG_IXGBEVF=m
-CONFIG_NET_VENDOR_I825XX=y
-CONFIG_ZNET=m
-CONFIG_IP1000=m
-CONFIG_JME=m
-CONFIG_NET_VENDOR_MARVELL=y
-CONFIG_SKGE=m
-# CONFIG_SKGE_DEBUG is not set
-CONFIG_SKGE_GENESIS=y
-CONFIG_SKY2=m
-# CONFIG_SKY2_DEBUG is not set
-CONFIG_NET_VENDOR_MELLANOX=y
-CONFIG_MLX4_EN=m
-CONFIG_MLX4_CORE=m
-CONFIG_MLX4_DEBUG=y
-CONFIG_NET_VENDOR_MICREL=y
-CONFIG_KS8842=m
-CONFIG_KS8851_MLL=m
-CONFIG_KSZ884X_PCI=m
-CONFIG_NET_VENDOR_MYRI=y
-CONFIG_MYRI10GE=m
-CONFIG_MYRI10GE_DCA=y
-CONFIG_FEALNX=m
-CONFIG_NET_VENDOR_NATSEMI=y
-CONFIG_NATSEMI=m
-CONFIG_NS83820=m
-CONFIG_NET_VENDOR_8390=y
-CONFIG_PCMCIA_AXNET=m
-CONFIG_NE2K_PCI=m
-CONFIG_PCMCIA_PCNET=m
-CONFIG_NET_VENDOR_NVIDIA=y
-CONFIG_FORCEDETH=m
-CONFIG_NET_VENDOR_OKI=y
-CONFIG_PCH_GBE=m
-CONFIG_ETHOC=m
-CONFIG_NET_PACKET_ENGINE=y
-CONFIG_HAMACHI=m
-CONFIG_YELLOWFIN=m
-CONFIG_NET_VENDOR_QLOGIC=y
-CONFIG_QLA3XXX=m
-CONFIG_QLCNIC=m
-CONFIG_QLGE=m
-CONFIG_NETXEN_NIC=m
-CONFIG_NET_VENDOR_REALTEK=y
-CONFIG_ATP=m
-CONFIG_8139CP=m
-CONFIG_8139TOO=m
-CONFIG_8139TOO_PIO=y
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-CONFIG_8139TOO_8129=y
-# CONFIG_8139_OLD_RX_RESET is not set
-CONFIG_R8169=m
-CONFIG_NET_VENDOR_RDC=y
-CONFIG_R6040=m
-CONFIG_NET_VENDOR_SEEQ=y
-CONFIG_SEEQ8005=m
-CONFIG_NET_VENDOR_SILAN=y
-CONFIG_SC92031=m
-CONFIG_NET_VENDOR_SIS=y
-CONFIG_SIS900=m
-CONFIG_SIS190=m
-CONFIG_SFC=m
-CONFIG_SFC_MTD=y
-CONFIG_NET_VENDOR_SMSC=y
-CONFIG_PCMCIA_SMC91C92=m
-CONFIG_EPIC100=m
-CONFIG_SMSC9420=m
-CONFIG_NET_VENDOR_STMICRO=y
-CONFIG_STMMAC_ETH=m
-CONFIG_STMMAC_DEBUG_FS=y
-# CONFIG_STMMAC_DA is not set
-CONFIG_STMMAC_RING=y
-# CONFIG_STMMAC_CHAINED is not set
-CONFIG_NET_VENDOR_SUN=y
-CONFIG_HAPPYMEAL=m
-CONFIG_SUNGEM=m
-CONFIG_CASSINI=m
-CONFIG_NIU=m
-CONFIG_NET_VENDOR_TEHUTI=y
-CONFIG_TEHUTI=m
-CONFIG_NET_VENDOR_TI=y
-CONFIG_TLAN=m
-CONFIG_NET_VENDOR_VIA=y
-CONFIG_VIA_RHINE=m
-CONFIG_VIA_RHINE_MMIO=y
-CONFIG_VIA_VELOCITY=m
-CONFIG_NET_VENDOR_XIRCOM=y
-CONFIG_PCMCIA_XIRC2PS=m
-CONFIG_FDDI=y
-CONFIG_DEFXX=m
-# CONFIG_DEFXX_MMIO is not set
-CONFIG_SKFP=m
-CONFIG_HIPPI=y
-CONFIG_ROADRUNNER=m
-# CONFIG_ROADRUNNER_LARGE_RINGS is not set
-CONFIG_NET_SB1000=m
-CONFIG_PHYLIB=m
-
-#
-# MII PHY device drivers
-#
-CONFIG_MARVELL_PHY=m
-CONFIG_DAVICOM_PHY=m
-CONFIG_QSEMI_PHY=m
-CONFIG_LXT_PHY=m
-CONFIG_CICADA_PHY=m
-CONFIG_VITESSE_PHY=m
-CONFIG_SMSC_PHY=m
-CONFIG_BROADCOM_PHY=m
-CONFIG_ICPLUS_PHY=m
-CONFIG_REALTEK_PHY=m
-CONFIG_NATIONAL_PHY=m
-CONFIG_STE10XP=m
-CONFIG_LSI_ET1011C_PHY=m
-CONFIG_MICREL_PHY=m
-CONFIG_MDIO_BITBANG=m
-CONFIG_MDIO_GPIO=m
-CONFIG_PLIP=m
-CONFIG_PPP=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_MPPE=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPPOATM=m
-CONFIG_PPPOE=m
-CONFIG_PPTP=m
-CONFIG_PPPOL2TP=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_SLIP=m
-CONFIG_SLHC=m
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLIP_SMART=y
-# CONFIG_SLIP_MODE_SLIP6 is not set
-CONFIG_TR=y
-CONFIG_PCMCIA_IBMTR=m
-CONFIG_IBMOL=m
-CONFIG_3C359=m
-CONFIG_TMS380TR=m
-CONFIG_TMSPCI=m
-CONFIG_ABYSS=m
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDCETHER=m
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_NET_CDC_SUBSET=m
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_ARMLINUX=y
-# CONFIG_USB_EPSON2888 is not set
-# CONFIG_USB_KC2190 is not set
-CONFIG_USB_NET_ZAURUS=m
-CONFIG_USB_NET_CX82310_ETH=m
-CONFIG_USB_NET_KALMIA=m
-CONFIG_USB_HSO=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_VL600=m
-CONFIG_WLAN=y
-CONFIG_PCMCIA_RAYCS=m
-CONFIG_LIBERTAS_THINFIRM=m
-# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
-CONFIG_LIBERTAS_THINFIRM_USB=m
-CONFIG_AIRO=m
-CONFIG_ATMEL=m
-CONFIG_PCI_ATMEL=m
-CONFIG_PCMCIA_ATMEL=m
-CONFIG_AT76C50X_USB=m
-CONFIG_AIRO_CS=m
-CONFIG_PCMCIA_WL3501=m
-CONFIG_PRISM54=m
-CONFIG_USB_ZD1201=m
-CONFIG_USB_NET_RNDIS_WLAN=m
-CONFIG_RTL8180=m
-CONFIG_RTL8187=m
-CONFIG_RTL8187_LEDS=y
-CONFIG_ADM8211=m
-# CONFIG_MAC80211_HWSIM is not set
-CONFIG_MWL8K=m
-CONFIG_ATH_COMMON=m
-# CONFIG_ATH_DEBUG is not set
-CONFIG_ATH5K=m
-# CONFIG_ATH5K_DEBUG is not set
-# CONFIG_ATH5K_TRACER is not set
-CONFIG_ATH5K_PCI=y
-CONFIG_ATH9K_HW=m
-CONFIG_ATH9K_COMMON=m
-CONFIG_ATH9K=m
-CONFIG_ATH9K_PCI=y
-# CONFIG_ATH9K_AHB is not set
-# CONFIG_ATH9K_DEBUGFS is not set
-CONFIG_ATH9K_RATE_CONTROL=y
-CONFIG_ATH9K_HTC=m
-# CONFIG_ATH9K_HTC_DEBUGFS is not set
-CONFIG_CARL9170=m
-CONFIG_CARL9170_LEDS=y
-CONFIG_CARL9170_WPC=y
-# CONFIG_CARL9170_HWRNG is not set
-CONFIG_ATH6KL=m
-# CONFIG_ATH6KL_DEBUG is not set
-CONFIG_B43=m
-CONFIG_B43_SSB=y
-CONFIG_B43_PCI_AUTOSELECT=y
-CONFIG_B43_PCICORE_AUTOSELECT=y
-CONFIG_B43_PCMCIA=y
-CONFIG_B43_SDIO=y
-CONFIG_B43_PIO=y
-CONFIG_B43_PHY_N=y
-CONFIG_B43_PHY_LP=y
-CONFIG_B43_PHY_HT=y
-CONFIG_B43_LEDS=y
-CONFIG_B43_HWRNG=y
-# CONFIG_B43_DEBUG is not set
-CONFIG_B43LEGACY=m
-CONFIG_B43LEGACY_PCI_AUTOSELECT=y
-CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
-CONFIG_B43LEGACY_LEDS=y
-CONFIG_B43LEGACY_HWRNG=y
-# CONFIG_B43LEGACY_DEBUG is not set
-CONFIG_B43LEGACY_DMA=y
-CONFIG_B43LEGACY_PIO=y
-CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
-# CONFIG_B43LEGACY_DMA_MODE is not set
-# CONFIG_B43LEGACY_PIO_MODE is not set
-CONFIG_BRCMUTIL=m
-CONFIG_BRCMSMAC=m
-CONFIG_BRCMFMAC=m
-# CONFIG_BRCMDBG is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-CONFIG_HOSTAP_FIRMWARE_NVRAM=y
-CONFIG_HOSTAP_PLX=m
-CONFIG_HOSTAP_PCI=m
-CONFIG_HOSTAP_CS=m
-CONFIG_IPW2100=m
-CONFIG_IPW2100_MONITOR=y
-# CONFIG_IPW2100_DEBUG is not set
-CONFIG_IPW2200=m
-CONFIG_IPW2200_MONITOR=y
-CONFIG_IPW2200_RADIOTAP=y
-CONFIG_IPW2200_PROMISCUOUS=y
-CONFIG_IPW2200_QOS=y
-# CONFIG_IPW2200_DEBUG is not set
-CONFIG_LIBIPW=m
-# CONFIG_LIBIPW_DEBUG is not set
-CONFIG_IWLWIFI=m
-
-#
-# Debugging Options
-#
-# CONFIG_IWLWIFI_DEBUG is not set
-# CONFIG_IWLWIFI_DEVICE_TRACING is not set
-# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
-CONFIG_IWLWIFI_LEGACY=m
-
-#
-# Debugging Options
-#
-# CONFIG_IWLWIFI_LEGACY_DEBUG is not set
-# CONFIG_IWLWIFI_LEGACY_DEVICE_TRACING is not set
-CONFIG_IWL4965=m
-CONFIG_IWL3945=m
-CONFIG_IWM=m
-# CONFIG_IWM_DEBUG is not set
-# CONFIG_IWM_TRACING is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_CS=m
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_DEBUG is not set
-CONFIG_LIBERTAS_MESH=y
-CONFIG_HERMES=m
-# CONFIG_HERMES_PRISM is not set
-CONFIG_HERMES_CACHE_FW_ON_INIT=y
-CONFIG_PLX_HERMES=m
-CONFIG_TMD_HERMES=m
-CONFIG_NORTEL_HERMES=m
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_SPECTRUM=m
-CONFIG_ORINOCO_USB=m
-CONFIG_P54_COMMON=m
-CONFIG_P54_USB=m
-CONFIG_P54_PCI=m
-CONFIG_P54_LEDS=y
-CONFIG_RT2X00=m
-CONFIG_RT2400PCI=m
-CONFIG_RT2500PCI=m
-CONFIG_RT61PCI=m
-CONFIG_RT2800PCI=m
-CONFIG_RT2800PCI_RT33XX=y
-CONFIG_RT2800PCI_RT35XX=y
-CONFIG_RT2800PCI_RT53XX=y
-CONFIG_RT2500USB=m
-CONFIG_RT73USB=m
-CONFIG_RT2800USB=m
-CONFIG_RT2800USB_RT33XX=y
-CONFIG_RT2800USB_RT35XX=y
-CONFIG_RT2800USB_RT53XX=y
-CONFIG_RT2800USB_UNKNOWN=y
-CONFIG_RT2800_LIB=m
-CONFIG_RT2X00_LIB_PCI=m
-CONFIG_RT2X00_LIB_USB=m
-CONFIG_RT2X00_LIB=m
-CONFIG_RT2X00_LIB_FIRMWARE=y
-CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_LEDS=y
-# CONFIG_RT2X00_DEBUG is not set
-CONFIG_RTL8192CE=m
-CONFIG_RTL8192SE=m
-CONFIG_RTL8192DE=m
-CONFIG_RTL8192CU=m
-CONFIG_RTLWIFI=m
-CONFIG_RTL8192C_COMMON=m
-CONFIG_WL1251=m
-CONFIG_WL1251_SDIO=m
-CONFIG_WL12XX_MENU=m
-CONFIG_WL12XX=m
-CONFIG_WL12XX_SDIO=m
-CONFIG_WL12XX_SDIO_TEST=m
-CONFIG_WL12XX_PLATFORM_DATA=y
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_MWIFIEX_PCIE=m
-
-#
-# WiMAX Wireless Broadband devices
-#
-CONFIG_WIMAX_I2400M=m
-CONFIG_WIMAX_I2400M_USB=m
-CONFIG_WIMAX_I2400M_SDIO=m
-# CONFIG_WIMAX_IWMC3200_SDIO is not set
-CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
-CONFIG_WAN=y
-CONFIG_LANMEDIA=m
-CONFIG_HDLC=m
-CONFIG_HDLC_RAW=m
-CONFIG_HDLC_RAW_ETH=m
-CONFIG_HDLC_CISCO=m
-CONFIG_HDLC_FR=m
-CONFIG_HDLC_PPP=m
-
-#
-# X.25/LAPB support is disabled
-#
-CONFIG_PCI200SYN=m
-CONFIG_WANXL=m
-# CONFIG_PC300TOO is not set
-CONFIG_FARSYNC=m
-CONFIG_DSCC4=m
-# CONFIG_DSCC4_PCISYNC is not set
-# CONFIG_DSCC4_PCI_RST is not set
-CONFIG_DLCI=m
-CONFIG_DLCI_MAX=8
-CONFIG_WAN_ROUTER_DRIVERS=m
-CONFIG_CYCLADES_SYNC=m
-CONFIG_CYCLOMX_X25=y
-CONFIG_SBNI=m
-# CONFIG_SBNI_MULTILINE is not set
-CONFIG_VMXNET3=m
-CONFIG_ISDN=y
-CONFIG_ISDN_I4L=m
-CONFIG_ISDN_PPP=y
-CONFIG_ISDN_PPP_VJ=y
-CONFIG_ISDN_MPP=y
-CONFIG_IPPP_FILTER=y
-CONFIG_ISDN_PPP_BSDCOMP=m
-CONFIG_ISDN_AUDIO=y
-CONFIG_ISDN_TTY_FAX=y
-
-#
-# ISDN feature submodules
-#
-CONFIG_ISDN_DIVERSION=m
-
-#
-# ISDN4Linux hardware drivers
-#
-
-#
-# Passive cards
-#
-CONFIG_ISDN_DRV_HISAX=m
-
-#
-# D-channel protocol features
-#
-CONFIG_HISAX_EURO=y
-CONFIG_DE_AOC=y
-CONFIG_HISAX_NO_SENDCOMPLETE=y
-CONFIG_HISAX_NO_LLC=y
-CONFIG_HISAX_NO_KEYPAD=y
-CONFIG_HISAX_1TR6=y
-CONFIG_HISAX_NI1=y
-CONFIG_HISAX_MAX_CARDS=8
-
-#
-# HiSax supported cards
-#
-CONFIG_HISAX_16_3=y
-CONFIG_HISAX_TELESPCI=y
-CONFIG_HISAX_S0BOX=y
-CONFIG_HISAX_FRITZPCI=y
-CONFIG_HISAX_AVM_A1_PCMCIA=y
-CONFIG_HISAX_ELSA=y
-CONFIG_HISAX_DIEHLDIVA=y
-CONFIG_HISAX_SEDLBAUER=y
-CONFIG_HISAX_NETJET=y
-CONFIG_HISAX_NETJET_U=y
-CONFIG_HISAX_NICCY=y
-CONFIG_HISAX_BKM_A4T=y
-CONFIG_HISAX_SCT_QUADRO=y
-CONFIG_HISAX_GAZEL=y
-CONFIG_HISAX_HFC_PCI=y
-CONFIG_HISAX_W6692=y
-CONFIG_HISAX_HFC_SX=y
-CONFIG_HISAX_ENTERNOW_PCI=y
-# CONFIG_HISAX_DEBUG is not set
-
-#
-# HiSax PCMCIA card service modules
-#
-CONFIG_HISAX_SEDLBAUER_CS=m
-CONFIG_HISAX_ELSA_CS=m
-CONFIG_HISAX_AVM_A1_CS=m
-CONFIG_HISAX_TELES_CS=m
-
-#
-# HiSax sub driver modules
-#
-CONFIG_HISAX_ST5481=m
-CONFIG_HISAX_HFCUSB=m
-CONFIG_HISAX_HFC4S8S=m
-CONFIG_HISAX_FRITZ_PCIPNP=m
-
-#
-# Active cards
-#
-CONFIG_ISDN_CAPI=m
-CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
-CONFIG_CAPI_TRACE=y
-CONFIG_ISDN_CAPI_MIDDLEWARE=y
-CONFIG_ISDN_CAPI_CAPI20=m
-CONFIG_ISDN_CAPI_CAPIDRV=m
-
-#
-# CAPI hardware drivers
-#
-CONFIG_CAPI_AVM=y
-CONFIG_ISDN_DRV_AVMB1_B1PCI=m
-CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
-CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
-CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
-CONFIG_ISDN_DRV_AVMB1_T1PCI=m
-CONFIG_ISDN_DRV_AVMB1_C4=m
-CONFIG_CAPI_EICON=y
-CONFIG_ISDN_DIVAS=m
-CONFIG_ISDN_DIVAS_BRIPCI=y
-CONFIG_ISDN_DIVAS_PRIPCI=y
-CONFIG_ISDN_DIVAS_DIVACAPI=m
-CONFIG_ISDN_DIVAS_USERIDI=m
-CONFIG_ISDN_DIVAS_MAINT=m
-CONFIG_ISDN_DRV_GIGASET=m
-# CONFIG_GIGASET_CAPI is not set
-CONFIG_GIGASET_I4L=y
-# CONFIG_GIGASET_DUMMYLL is not set
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_M105=m
-# CONFIG_GIGASET_M101 is not set
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_HYSDN=m
-CONFIG_HYSDN_CAPI=y
-CONFIG_MISDN=m
-CONFIG_MISDN_DSP=m
-CONFIG_MISDN_L1OIP=m
-
-#
-# mISDN hardware drivers
-#
-CONFIG_MISDN_HFCPCI=m
-CONFIG_MISDN_HFCMULTI=m
-CONFIG_MISDN_HFCUSB=m
-CONFIG_MISDN_AVMFRITZ=m
-CONFIG_MISDN_SPEEDFAX=m
-CONFIG_MISDN_INFINEON=m
-CONFIG_MISDN_W6692=m
-CONFIG_MISDN_NETJET=m
-CONFIG_MISDN_IPAC=m
-CONFIG_MISDN_ISAR=m
-CONFIG_ISDN_HDLC=m
-CONFIG_PHONE=m
-CONFIG_PHONE_IXJ=m
-CONFIG_PHONE_IXJ_PCMCIA=m
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-CONFIG_INPUT_FF_MEMLESS=y
-CONFIG_INPUT_POLLDEV=m
-CONFIG_INPUT_SPARSEKMAP=m
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-CONFIG_INPUT_JOYDEV=m
-CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-CONFIG_KEYBOARD_ADP5588=m
-CONFIG_KEYBOARD_ADP5589=m
-CONFIG_KEYBOARD_ATKBD=y
-CONFIG_KEYBOARD_QT1070=m
-CONFIG_KEYBOARD_QT2160=m
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=m
-CONFIG_KEYBOARD_GPIO_POLLED=m
-CONFIG_KEYBOARD_TCA6416=m
-CONFIG_KEYBOARD_MATRIX=m
-CONFIG_KEYBOARD_LM8323=m
-CONFIG_KEYBOARD_MAX7359=m
-CONFIG_KEYBOARD_MCS=m
-CONFIG_KEYBOARD_MPR121=m
-# CONFIG_KEYBOARD_NEWTON is not set
-CONFIG_KEYBOARD_OPENCORES=m
-CONFIG_KEYBOARD_STOWAWAY=m
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=m
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_LIFEBOOK=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-CONFIG_MOUSE_PS2_ELANTECH=y
-CONFIG_MOUSE_PS2_SENTELIC=y
-CONFIG_MOUSE_PS2_TOUCHKIT=y
-CONFIG_MOUSE_SERIAL=m
-CONFIG_MOUSE_APPLETOUCH=m
-CONFIG_MOUSE_BCM5974=m
-CONFIG_MOUSE_VSXXXAA=m
-CONFIG_MOUSE_GPIO=m
-CONFIG_MOUSE_SYNAPTICS_I2C=m
-CONFIG_INPUT_JOYSTICK=y
-CONFIG_JOYSTICK_ANALOG=m
-CONFIG_JOYSTICK_A3D=m
-CONFIG_JOYSTICK_ADI=m
-CONFIG_JOYSTICK_COBRA=m
-CONFIG_JOYSTICK_GF2K=m
-CONFIG_JOYSTICK_GRIP=m
-CONFIG_JOYSTICK_GRIP_MP=m
-CONFIG_JOYSTICK_GUILLEMOT=m
-CONFIG_JOYSTICK_INTERACT=m
-CONFIG_JOYSTICK_SIDEWINDER=m
-CONFIG_JOYSTICK_TMDC=m
-CONFIG_JOYSTICK_IFORCE=m
-CONFIG_JOYSTICK_IFORCE_USB=y
-CONFIG_JOYSTICK_IFORCE_232=y
-CONFIG_JOYSTICK_WARRIOR=m
-CONFIG_JOYSTICK_MAGELLAN=m
-CONFIG_JOYSTICK_SPACEORB=m
-CONFIG_JOYSTICK_SPACEBALL=m
-CONFIG_JOYSTICK_STINGER=m
-CONFIG_JOYSTICK_TWIDJOY=m
-CONFIG_JOYSTICK_ZHENHUA=m
-CONFIG_JOYSTICK_DB9=m
-CONFIG_JOYSTICK_GAMECON=m
-CONFIG_JOYSTICK_TURBOGRAFX=m
-CONFIG_JOYSTICK_AS5011=m
-CONFIG_JOYSTICK_JOYDUMP=m
-CONFIG_JOYSTICK_XPAD=m
-CONFIG_JOYSTICK_XPAD_FF=y
-CONFIG_JOYSTICK_XPAD_LEDS=y
-CONFIG_JOYSTICK_WALKERA0701=m
-CONFIG_INPUT_TABLET=y
-CONFIG_TABLET_USB_ACECAD=m
-CONFIG_TABLET_USB_AIPTEK=m
-CONFIG_TABLET_USB_GTCO=m
-CONFIG_TABLET_USB_HANWANG=m
-CONFIG_TABLET_USB_KBTAB=m
-CONFIG_TABLET_USB_WACOM=m
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_AD7879=m
-CONFIG_TOUCHSCREEN_AD7879_I2C=m
-CONFIG_TOUCHSCREEN_ATMEL_MXT=m
-CONFIG_TOUCHSCREEN_BU21013=m
-CONFIG_TOUCHSCREEN_CY8CTMG110=m
-CONFIG_TOUCHSCREEN_DYNAPRO=m
-CONFIG_TOUCHSCREEN_HAMPSHIRE=m
-CONFIG_TOUCHSCREEN_EETI=m
-CONFIG_TOUCHSCREEN_FUJITSU=m
-CONFIG_TOUCHSCREEN_GUNZE=m
-CONFIG_TOUCHSCREEN_ELO=m
-CONFIG_TOUCHSCREEN_WACOM_W8001=m
-CONFIG_TOUCHSCREEN_MAX11801=m
-CONFIG_TOUCHSCREEN_MCS5000=m
-CONFIG_TOUCHSCREEN_MTOUCH=m
-CONFIG_TOUCHSCREEN_INEXIO=m
-CONFIG_TOUCHSCREEN_MK712=m
-CONFIG_TOUCHSCREEN_PENMOUNT=m
-CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
-CONFIG_TOUCHSCREEN_TOUCHWIN=m
-CONFIG_TOUCHSCREEN_UCB1400=m
-CONFIG_TOUCHSCREEN_WM97XX=m
-CONFIG_TOUCHSCREEN_WM9705=y
-CONFIG_TOUCHSCREEN_WM9712=y
-CONFIG_TOUCHSCREEN_WM9713=y
-CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
-CONFIG_TOUCHSCREEN_USB_EGALAX=y
-CONFIG_TOUCHSCREEN_USB_PANJIT=y
-CONFIG_TOUCHSCREEN_USB_3M=y
-CONFIG_TOUCHSCREEN_USB_ITM=y
-CONFIG_TOUCHSCREEN_USB_ETURBO=y
-CONFIG_TOUCHSCREEN_USB_GUNZE=y
-CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
-CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
-CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
-CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
-CONFIG_TOUCHSCREEN_USB_GOTOP=y
-CONFIG_TOUCHSCREEN_USB_JASTEC=y
-CONFIG_TOUCHSCREEN_USB_E2I=y
-CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
-CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
-CONFIG_TOUCHSCREEN_USB_NEXIO=y
-CONFIG_TOUCHSCREEN_TOUCHIT213=m
-CONFIG_TOUCHSCREEN_TSC_SERIO=m
-CONFIG_TOUCHSCREEN_TSC2007=m
-CONFIG_TOUCHSCREEN_ST1232=m
-CONFIG_TOUCHSCREEN_TPS6507X=m
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_AD714X=m
-CONFIG_INPUT_AD714X_I2C=m
-CONFIG_INPUT_BMA150=m
-CONFIG_INPUT_PCSPKR=m
-CONFIG_INPUT_MMA8450=m
-CONFIG_INPUT_MPU3050=m
-CONFIG_INPUT_APANEL=m
-CONFIG_INPUT_ATLAS_BTNS=m
-CONFIG_INPUT_ATI_REMOTE2=m
-CONFIG_INPUT_KEYSPAN_REMOTE=m
-CONFIG_INPUT_KXTJ9=m
-CONFIG_INPUT_KXTJ9_POLLED_MODE=y
-CONFIG_INPUT_POWERMATE=m
-CONFIG_INPUT_YEALINK=m
-CONFIG_INPUT_CM109=m
-CONFIG_INPUT_UINPUT=m
-CONFIG_INPUT_PCF50633_PMU=m
-CONFIG_INPUT_PCF8574=m
-CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
-CONFIG_INPUT_ADXL34X=m
-CONFIG_INPUT_ADXL34X_I2C=m
-CONFIG_INPUT_CMA3000=m
-CONFIG_INPUT_CMA3000_I2C=m
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-CONFIG_SERIO_SERPORT=m
-CONFIG_SERIO_CT82C710=m
-CONFIG_SERIO_PARKBD=m
-CONFIG_SERIO_PCIPS2=m
-CONFIG_SERIO_LIBPS2=y
-CONFIG_SERIO_RAW=m
-CONFIG_SERIO_ALTERA_PS2=m
-CONFIG_SERIO_PS2MULT=m
-CONFIG_GAMEPORT=m
-CONFIG_GAMEPORT_NS558=m
-CONFIG_GAMEPORT_L4=m
-CONFIG_GAMEPORT_EMU10K1=m
-CONFIG_GAMEPORT_FM801=m
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_VT_CONSOLE_SLEEP=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_UNIX98_PTYS=y
-CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=32
-CONFIG_SERIAL_NONSTANDARD=y
-CONFIG_ROCKETPORT=m
-CONFIG_CYCLADES=m
-# CONFIG_CYZ_INTR is not set
-CONFIG_MOXA_INTELLIO=m
-CONFIG_MOXA_SMARTIO=m
-CONFIG_SYNCLINK=m
-CONFIG_SYNCLINKMP=m
-CONFIG_SYNCLINK_GT=m
-CONFIG_NOZOMI=m
-CONFIG_ISI=m
-CONFIG_N_HDLC=m
-CONFIG_N_GSM=m
-CONFIG_TRACE_ROUTER=m
-CONFIG_TRACE_SINK=m
-CONFIG_DEVKMEM=y
-CONFIG_STALDRV=y
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_PNP=y
-CONFIG_SERIAL_8250_CS=m
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_8250_DETECT_IRQ=y
-CONFIG_SERIAL_8250_RSA=y
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_MFD_HSU=m
-CONFIG_SERIAL_UARTLITE=m
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_SERIAL_JSM=m
-CONFIG_SERIAL_TIMBERDALE=m
-CONFIG_SERIAL_ALTERA_JTAGUART=m
-CONFIG_SERIAL_ALTERA_UART=m
-CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
-CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
-CONFIG_SERIAL_PCH_UART=m
-CONFIG_SERIAL_XILINX_PS_UART=m
-CONFIG_PRINTER=m
-CONFIG_LP_CONSOLE=y
-CONFIG_PPDEV=m
-CONFIG_HVC_DRIVER=y
-CONFIG_VIRTIO_CONSOLE=m
-CONFIG_IPMI_HANDLER=m
-# CONFIG_IPMI_PANIC_EVENT is not set
-CONFIG_IPMI_DEVICE_INTERFACE=m
-CONFIG_IPMI_SI=m
-CONFIG_IPMI_WATCHDOG=m
-CONFIG_IPMI_POWEROFF=m
-CONFIG_HW_RANDOM=y
-CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_INTEL=m
-CONFIG_HW_RANDOM_AMD=m
-CONFIG_HW_RANDOM_VIA=m
-CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_NVRAM=m
-CONFIG_R3964=m
-CONFIG_APPLICOM=m
-
-#
-# PCMCIA character devices
-#
-CONFIG_SYNCLINK_CS=m
-CONFIG_CARDMAN_4000=m
-CONFIG_CARDMAN_4040=m
-CONFIG_IPWIRELESS=m
-CONFIG_MWAVE=m
-CONFIG_RAW_DRIVER=m
-CONFIG_MAX_RAW_DEVS=256
-CONFIG_HPET=y
-CONFIG_HPET_MMAP=y
-CONFIG_HANGCHECK_TIMER=m
-CONFIG_TCG_TPM=m
-# CONFIG_TCG_TIS is not set
-# CONFIG_TCG_NSC is not set
-CONFIG_TCG_ATMEL=m
-# CONFIG_TCG_INFINEON is not set
-CONFIG_TELCLOCK=m
-CONFIG_DEVPORT=y
-CONFIG_RAMOOPS=m
-CONFIG_I2C=m
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=m
-CONFIG_I2C_MUX=m
-
-#
-# Multiplexer I2C Chip support
-#
-CONFIG_I2C_MUX_GPIO=m
-CONFIG_I2C_MUX_PCA9541=m
-CONFIG_I2C_MUX_PCA954x=m
-CONFIG_I2C_HELPER_AUTO=y
-CONFIG_I2C_SMBUS=m
-CONFIG_I2C_ALGOBIT=m
-CONFIG_I2C_ALGOPCA=m
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# PC SMBus host controller drivers
-#
-CONFIG_I2C_ALI1535=m
-CONFIG_I2C_ALI1563=m
-CONFIG_I2C_ALI15X3=m
-CONFIG_I2C_AMD756=m
-CONFIG_I2C_AMD756_S4882=m
-CONFIG_I2C_AMD8111=m
-CONFIG_I2C_I801=m
-CONFIG_I2C_ISCH=m
-CONFIG_I2C_PIIX4=m
-CONFIG_I2C_NFORCE2=m
-CONFIG_I2C_NFORCE2_S4985=m
-CONFIG_I2C_SIS5595=m
-CONFIG_I2C_SIS630=m
-CONFIG_I2C_SIS96X=m
-CONFIG_I2C_VIA=m
-CONFIG_I2C_VIAPRO=m
-
-#
-# ACPI drivers
-#
-CONFIG_I2C_SCMI=m
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-CONFIG_I2C_DESIGNWARE_PCI=m
-CONFIG_I2C_GPIO=m
-CONFIG_I2C_INTEL_MID=m
-CONFIG_I2C_OCORES=m
-CONFIG_I2C_PCA_PLATFORM=m
-# CONFIG_I2C_PXA_PCI is not set
-CONFIG_I2C_SIMTEC=m
-CONFIG_I2C_XILINX=m
-CONFIG_I2C_EG20T=m
-
-#
-# External I2C/SMBus adapter drivers
-#
-CONFIG_I2C_DIOLAN_U2C=m
-CONFIG_I2C_PARPORT=m
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_TAOS_EVM=m
-CONFIG_I2C_TINY_USB=m
-
-#
-# Other I2C/SMBus bus drivers
-#
-CONFIG_I2C_STUB=m
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_SPI is not set
-
-#
-# PPS support
-#
-CONFIG_PPS=m
-# CONFIG_PPS_DEBUG is not set
-
-#
-# PPS clients support
-#
-# CONFIG_PPS_CLIENT_KTIMER is not set
-CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
-CONFIG_PPS_CLIENT_GPIO=m
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-CONFIG_PTP_1588_CLOCK=m
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_DEBUG_GPIO is not set
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_GENERIC=m
-CONFIG_GPIO_MAX730X=m
-
-#
-# Memory mapped GPIO drivers:
-#
-CONFIG_GPIO_GENERIC_PLATFORM=m
-CONFIG_GPIO_IT8761E=m
-CONFIG_GPIO_SCH=m
-CONFIG_GPIO_VX855=m
-
-#
-# I2C GPIO expanders:
-#
-CONFIG_GPIO_MAX7300=m
-CONFIG_GPIO_MAX732X=m
-CONFIG_GPIO_PCA953X=m
-CONFIG_GPIO_PCF857X=m
-CONFIG_GPIO_ADP5588=m
-
-#
-# PCI GPIO expanders:
-#
-CONFIG_GPIO_CS5535=m
-# CONFIG_GPIO_LANGWELL is not set
-CONFIG_GPIO_PCH=m
-CONFIG_GPIO_ML_IOH=m
-# CONFIG_GPIO_TIMBERDALE is not set
-CONFIG_GPIO_RDC321X=m
-
-#
-# SPI GPIO expanders:
-#
-CONFIG_GPIO_MCP23S08=m
-
-#
-# AC97 GPIO expanders:
-#
-# CONFIG_GPIO_UCB1400 is not set
-
-#
-# MODULbus GPIO expanders:
-#
-CONFIG_GPIO_JANZ_TTL=m
-CONFIG_W1=m
-CONFIG_W1_CON=y
-
-#
-# 1-wire Bus Masters
-#
-CONFIG_W1_MASTER_MATROX=m
-CONFIG_W1_MASTER_DS2490=m
-CONFIG_W1_MASTER_DS2482=m
-CONFIG_W1_MASTER_DS1WM=m
-CONFIG_W1_MASTER_GPIO=m
-
-#
-# 1-wire Slaves
-#
-CONFIG_W1_SLAVE_THERM=m
-CONFIG_W1_SLAVE_SMEM=m
-CONFIG_W1_SLAVE_DS2408=m
-CONFIG_W1_SLAVE_DS2423=m
-CONFIG_W1_SLAVE_DS2431=m
-CONFIG_W1_SLAVE_DS2433=m
-CONFIG_W1_SLAVE_DS2433_CRC=y
-CONFIG_W1_SLAVE_DS2760=m
-CONFIG_W1_SLAVE_DS2780=m
-CONFIG_W1_SLAVE_BQ27000=m
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=m
-CONFIG_TEST_POWER=m
-CONFIG_BATTERY_DS2760=m
-CONFIG_BATTERY_DS2780=m
-CONFIG_BATTERY_DS2782=m
-CONFIG_BATTERY_BQ20Z75=m
-CONFIG_BATTERY_BQ27x00=m
-CONFIG_BATTERY_BQ27X00_I2C=y
-CONFIG_BATTERY_BQ27X00_PLATFORM=y
-CONFIG_BATTERY_MAX17040=m
-CONFIG_BATTERY_MAX17042=m
-CONFIG_CHARGER_PCF50633=m
-CONFIG_CHARGER_ISP1704=m
-CONFIG_CHARGER_MAX8903=m
-CONFIG_CHARGER_GPIO=m
-CONFIG_HWMON=m
-CONFIG_HWMON_VID=m
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-CONFIG_SENSORS_ABITUGURU=m
-CONFIG_SENSORS_ABITUGURU3=m
-CONFIG_SENSORS_AD7414=m
-CONFIG_SENSORS_AD7418=m
-CONFIG_SENSORS_ADM1021=m
-CONFIG_SENSORS_ADM1025=m
-CONFIG_SENSORS_ADM1026=m
-CONFIG_SENSORS_ADM1029=m
-CONFIG_SENSORS_ADM1031=m
-CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADT7411=m
-CONFIG_SENSORS_ADT7462=m
-CONFIG_SENSORS_ADT7470=m
-CONFIG_SENSORS_ADT7475=m
-CONFIG_SENSORS_ASC7621=m
-CONFIG_SENSORS_K8TEMP=m
-CONFIG_SENSORS_K10TEMP=m
-CONFIG_SENSORS_FAM15H_POWER=m
-CONFIG_SENSORS_ASB100=m
-CONFIG_SENSORS_ATXP1=m
-CONFIG_SENSORS_DS620=m
-CONFIG_SENSORS_DS1621=m
-CONFIG_SENSORS_I5K_AMB=m
-CONFIG_SENSORS_F71805F=m
-CONFIG_SENSORS_F71882FG=m
-CONFIG_SENSORS_F75375S=m
-CONFIG_SENSORS_FSCHMD=m
-CONFIG_SENSORS_G760A=m
-CONFIG_SENSORS_GL518SM=m
-CONFIG_SENSORS_GL520SM=m
-CONFIG_SENSORS_GPIO_FAN=m
-CONFIG_SENSORS_CORETEMP=m
-CONFIG_SENSORS_IBMAEM=m
-CONFIG_SENSORS_IBMPEX=m
-CONFIG_SENSORS_IT87=m
-CONFIG_SENSORS_JC42=m
-CONFIG_SENSORS_LINEAGE=m
-CONFIG_SENSORS_LM63=m
-CONFIG_SENSORS_LM73=m
-CONFIG_SENSORS_LM75=m
-CONFIG_SENSORS_LM77=m
-CONFIG_SENSORS_LM78=m
-CONFIG_SENSORS_LM80=m
-CONFIG_SENSORS_LM83=m
-CONFIG_SENSORS_LM85=m
-CONFIG_SENSORS_LM87=m
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_LM92=m
-CONFIG_SENSORS_LM93=m
-CONFIG_SENSORS_LTC4151=m
-CONFIG_SENSORS_LTC4215=m
-CONFIG_SENSORS_LTC4245=m
-CONFIG_SENSORS_LTC4261=m
-CONFIG_SENSORS_LM95241=m
-CONFIG_SENSORS_LM95245=m
-CONFIG_SENSORS_MAX16065=m
-CONFIG_SENSORS_MAX1619=m
-CONFIG_SENSORS_MAX1668=m
-CONFIG_SENSORS_MAX6639=m
-CONFIG_SENSORS_MAX6642=m
-CONFIG_SENSORS_MAX6650=m
-CONFIG_SENSORS_NTC_THERMISTOR=m
-CONFIG_SENSORS_PC87360=m
-CONFIG_SENSORS_PC87427=m
-CONFIG_SENSORS_PCF8591=m
-CONFIG_PMBUS=m
-CONFIG_SENSORS_PMBUS=m
-CONFIG_SENSORS_ADM1275=m
-CONFIG_SENSORS_LM25066=m
-CONFIG_SENSORS_LTC2978=m
-CONFIG_SENSORS_MAX16064=m
-CONFIG_SENSORS_MAX34440=m
-CONFIG_SENSORS_MAX8688=m
-CONFIG_SENSORS_UCD9000=m
-CONFIG_SENSORS_UCD9200=m
-CONFIG_SENSORS_ZL6100=m
-CONFIG_SENSORS_SHT15=m
-CONFIG_SENSORS_SHT21=m
-CONFIG_SENSORS_SIS5595=m
-CONFIG_SENSORS_SMM665=m
-CONFIG_SENSORS_DME1737=m
-CONFIG_SENSORS_EMC1403=m
-CONFIG_SENSORS_EMC2103=m
-CONFIG_SENSORS_EMC6W201=m
-CONFIG_SENSORS_SMSC47M1=m
-CONFIG_SENSORS_SMSC47M192=m
-CONFIG_SENSORS_SMSC47B397=m
-CONFIG_SENSORS_SCH56XX_COMMON=m
-CONFIG_SENSORS_SCH5627=m
-CONFIG_SENSORS_SCH5636=m
-CONFIG_SENSORS_ADS1015=m
-CONFIG_SENSORS_ADS7828=m
-CONFIG_SENSORS_AMC6821=m
-CONFIG_SENSORS_THMC50=m
-CONFIG_SENSORS_TMP102=m
-CONFIG_SENSORS_TMP401=m
-CONFIG_SENSORS_TMP421=m
-CONFIG_SENSORS_VIA_CPUTEMP=m
-CONFIG_SENSORS_VIA686A=m
-CONFIG_SENSORS_VT1211=m
-CONFIG_SENSORS_VT8231=m
-CONFIG_SENSORS_W83781D=m
-CONFIG_SENSORS_W83791D=m
-CONFIG_SENSORS_W83792D=m
-CONFIG_SENSORS_W83793=m
-CONFIG_SENSORS_W83795=m
-# CONFIG_SENSORS_W83795_FANCTRL is not set
-CONFIG_SENSORS_W83L785TS=m
-CONFIG_SENSORS_W83L786NG=m
-CONFIG_SENSORS_W83627HF=m
-CONFIG_SENSORS_W83627EHF=m
-CONFIG_SENSORS_APPLESMC=m
-
-#
-# ACPI drivers
-#
-CONFIG_SENSORS_ACPI_POWER=m
-CONFIG_SENSORS_ATK0110=m
-CONFIG_THERMAL=m
-CONFIG_THERMAL_HWMON=y
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_CORE=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-CONFIG_SOFT_WATCHDOG=m
-CONFIG_ACQUIRE_WDT=m
-CONFIG_ADVANTECH_WDT=m
-CONFIG_ALIM1535_WDT=m
-CONFIG_ALIM7101_WDT=m
-CONFIG_F71808E_WDT=m
-CONFIG_SP5100_TCO=m
-CONFIG_GEODE_WDT=m
-CONFIG_SC520_WDT=m
-CONFIG_SBC_FITPC2_WATCHDOG=m
-CONFIG_EUROTECH_WDT=m
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
-CONFIG_WAFER_WDT=m
-CONFIG_I6300ESB_WDT=m
-CONFIG_ITCO_WDT=m
-CONFIG_ITCO_VENDOR_SUPPORT=y
-CONFIG_IT8712F_WDT=m
-CONFIG_IT87_WDT=m
-CONFIG_HP_WATCHDOG=m
-CONFIG_HPWDT_NMI_DECODING=y
-CONFIG_SC1200_WDT=m
-CONFIG_PC87413_WDT=m
-CONFIG_NV_TCO=m
-CONFIG_60XX_WDT=m
-CONFIG_SBC8360_WDT=m
-CONFIG_CPU5_WDT=m
-CONFIG_SMSC_SCH311X_WDT=m
-CONFIG_SMSC37B787_WDT=m
-CONFIG_W83627HF_WDT=m
-CONFIG_W83697HF_WDT=m
-CONFIG_W83697UG_WDT=m
-CONFIG_W83877F_WDT=m
-CONFIG_W83977F_WDT=m
-CONFIG_MACHZ_WDT=m
-CONFIG_SBC_EPX_C3_WATCHDOG=m
-
-#
-# PCI-based Watchdog Cards
-#
-CONFIG_PCIPCWATCHDOG=m
-CONFIG_WDTPCI=m
-
-#
-# USB-based Watchdog Cards
-#
-CONFIG_USBPCWATCHDOG=m
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-CONFIG_SSB=m
-CONFIG_SSB_SPROM=y
-CONFIG_SSB_BLOCKIO=y
-CONFIG_SSB_PCIHOST_POSSIBLE=y
-CONFIG_SSB_PCIHOST=y
-CONFIG_SSB_B43_PCI_BRIDGE=y
-CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
-CONFIG_SSB_PCMCIAHOST=y
-CONFIG_SSB_SDIOHOST_POSSIBLE=y
-CONFIG_SSB_SDIOHOST=y
-# CONFIG_SSB_DEBUG is not set
-CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
-CONFIG_SSB_DRIVER_PCICORE=y
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-# CONFIG_BCMA is not set
-
-#
-# Multifunction device drivers
-#
-CONFIG_MFD_CORE=m
-# CONFIG_MFD_SM501 is not set
-CONFIG_HTC_PASIC3=m
-CONFIG_UCB1400_CORE=m
-CONFIG_TPS6105X=m
-CONFIG_TPS65010=m
-CONFIG_TPS6507X=m
-# CONFIG_MFD_TMIO is not set
-CONFIG_MFD_WM8400=m
-CONFIG_MFD_PCF50633=m
-CONFIG_PCF50633_ADC=m
-CONFIG_PCF50633_GPIO=m
-# CONFIG_ABX500_CORE is not set
-CONFIG_MFD_CS5535=m
-CONFIG_MFD_TIMBERDALE=m
-CONFIG_LPC_SCH=m
-CONFIG_MFD_RDC321X=m
-CONFIG_MFD_JANZ_CMODIO=m
-CONFIG_MFD_VX855=m
-CONFIG_MFD_WL1273_CORE=m
-CONFIG_REGULATOR=y
-# CONFIG_REGULATOR_DEBUG is not set
-# CONFIG_REGULATOR_DUMMY is not set
-CONFIG_REGULATOR_FIXED_VOLTAGE=m
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-CONFIG_REGULATOR_USERSPACE_CONSUMER=m
-CONFIG_REGULATOR_GPIO=m
-CONFIG_REGULATOR_BQ24022=m
-CONFIG_REGULATOR_MAX1586=m
-CONFIG_REGULATOR_MAX8649=m
-CONFIG_REGULATOR_MAX8660=m
-CONFIG_REGULATOR_MAX8952=m
-CONFIG_REGULATOR_WM8400=m
-CONFIG_REGULATOR_PCF50633=m
-CONFIG_REGULATOR_LP3971=m
-CONFIG_REGULATOR_LP3972=m
-CONFIG_REGULATOR_TPS6105X=m
-CONFIG_REGULATOR_TPS65023=m
-CONFIG_REGULATOR_TPS6507X=m
-CONFIG_REGULATOR_ISL6271A=m
-CONFIG_REGULATOR_AD5398=m
-CONFIG_MEDIA_SUPPORT=m
-
-#
-# Multimedia core support
-#
-# CONFIG_MEDIA_CONTROLLER is not set
-CONFIG_VIDEO_DEV=m
-CONFIG_VIDEO_V4L2_COMMON=m
-CONFIG_DVB_CORE=m
-CONFIG_DVB_NET=y
-CONFIG_VIDEO_MEDIA=m
-
-#
-# Multimedia drivers
-#
-CONFIG_VIDEO_SAA7146=m
-CONFIG_VIDEO_SAA7146_VV=m
-CONFIG_RC_CORE=m
-CONFIG_LIRC=m
-CONFIG_RC_MAP=m
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_RC5_SZ_DECODER=m
-CONFIG_IR_MCE_KBD_DECODER=m
-CONFIG_IR_LIRC_CODEC=m
-CONFIG_RC_ATI_REMOTE=m
-CONFIG_IR_ENE=m
-CONFIG_IR_IMON=m
-CONFIG_IR_MCEUSB=m
-CONFIG_IR_ITE_CIR=m
-CONFIG_IR_FINTEK=m
-CONFIG_IR_NUVOTON=m
-CONFIG_IR_REDRAT3=m
-CONFIG_IR_STREAMZAP=m
-CONFIG_IR_WINBOND_CIR=m
-CONFIG_RC_LOOPBACK=m
-CONFIG_MEDIA_ATTACH=y
-CONFIG_MEDIA_TUNER=m
-# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
-CONFIG_MEDIA_TUNER_SIMPLE=m
-CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA827X=m
-CONFIG_MEDIA_TUNER_TDA18271=m
-CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_MEDIA_TUNER_TEA5761=m
-CONFIG_MEDIA_TUNER_TEA5767=m
-CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_MT2060=m
-CONFIG_MEDIA_TUNER_MT2266=m
-CONFIG_MEDIA_TUNER_MT2131=m
-CONFIG_MEDIA_TUNER_QT1010=m
-CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_MEDIA_TUNER_XC5000=m
-CONFIG_MEDIA_TUNER_XC4000=m
-CONFIG_MEDIA_TUNER_MXL5005S=m
-CONFIG_MEDIA_TUNER_MXL5007T=m
-CONFIG_MEDIA_TUNER_MC44S803=m
-CONFIG_MEDIA_TUNER_MAX2165=m
-CONFIG_MEDIA_TUNER_TDA18218=m
-CONFIG_MEDIA_TUNER_TDA18212=m
-CONFIG_VIDEO_V4L2=m
-CONFIG_VIDEOBUF_GEN=m
-CONFIG_VIDEOBUF_DMA_SG=m
-CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEOBUF_DMA_CONTIG=m
-CONFIG_VIDEOBUF_DVB=m
-CONFIG_VIDEO_BTCX=m
-CONFIG_VIDEO_TVEEPROM=m
-CONFIG_VIDEO_TUNER=m
-CONFIG_V4L2_MEM2MEM_DEV=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_DMA_CONTIG=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
-CONFIG_VIDEO_IR_I2C=m
-
-#
-# Encoders, decoders, sensors and other helper chips
-#
-
-#
-# Audio decoders, processors and mixers
-#
-CONFIG_VIDEO_TVAUDIO=m
-CONFIG_VIDEO_TDA7432=m
-CONFIG_VIDEO_TDA9840=m
-CONFIG_VIDEO_TEA6415C=m
-CONFIG_VIDEO_TEA6420=m
-CONFIG_VIDEO_MSP3400=m
-CONFIG_VIDEO_CS5345=m
-CONFIG_VIDEO_CS53L32A=m
-CONFIG_VIDEO_TLV320AIC23B=m
-CONFIG_VIDEO_WM8775=m
-CONFIG_VIDEO_WM8739=m
-CONFIG_VIDEO_VP27SMPX=m
-
-#
-# RDS decoders
-#
-CONFIG_VIDEO_SAA6588=m
-
-#
-# Video decoders
-#
-CONFIG_VIDEO_ADV7180=m
-CONFIG_VIDEO_BT819=m
-CONFIG_VIDEO_BT856=m
-CONFIG_VIDEO_BT866=m
-CONFIG_VIDEO_KS0127=m
-CONFIG_VIDEO_SAA7110=m
-CONFIG_VIDEO_SAA711X=m
-CONFIG_VIDEO_SAA7191=m
-CONFIG_VIDEO_TVP514X=m
-CONFIG_VIDEO_TVP5150=m
-CONFIG_VIDEO_TVP7002=m
-CONFIG_VIDEO_VPX3220=m
-
-#
-# Video and audio decoders
-#
-CONFIG_VIDEO_SAA717X=m
-CONFIG_VIDEO_CX25840=m
-
-#
-# MPEG video encoders
-#
-CONFIG_VIDEO_CX2341X=m
-
-#
-# Video encoders
-#
-CONFIG_VIDEO_SAA7127=m
-CONFIG_VIDEO_SAA7185=m
-CONFIG_VIDEO_ADV7170=m
-CONFIG_VIDEO_ADV7175=m
-CONFIG_VIDEO_ADV7343=m
-CONFIG_VIDEO_AK881X=m
-
-#
-# Camera sensor devices
-#
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9V011=m
-CONFIG_VIDEO_TCM825X=m
-CONFIG_VIDEO_SR030PC30=m
-
-#
-# Flash devices
-#
-
-#
-# Video improvement chips
-#
-CONFIG_VIDEO_UPD64031A=m
-CONFIG_VIDEO_UPD64083=m
-
-#
-# Miscelaneous helper chips
-#
-CONFIG_VIDEO_THS7303=m
-CONFIG_VIDEO_M52790=m
-CONFIG_VIDEO_VIVI=m
-CONFIG_VIDEO_BT848=m
-CONFIG_VIDEO_BT848_DVB=y
-CONFIG_VIDEO_BWQCAM=m
-CONFIG_VIDEO_CQCAM=m
-CONFIG_VIDEO_W9966=m
-CONFIG_VIDEO_CPIA2=m
-CONFIG_VIDEO_ZORAN=m
-CONFIG_VIDEO_ZORAN_DC30=m
-CONFIG_VIDEO_ZORAN_ZR36060=m
-CONFIG_VIDEO_ZORAN_BUZ=m
-CONFIG_VIDEO_ZORAN_DC10=m
-CONFIG_VIDEO_ZORAN_LML33=m
-CONFIG_VIDEO_ZORAN_LML33R10=m
-CONFIG_VIDEO_ZORAN_AVS6EYES=m
-CONFIG_VIDEO_MEYE=m
-CONFIG_VIDEO_SAA7134=m
-CONFIG_VIDEO_SAA7134_ALSA=m
-CONFIG_VIDEO_SAA7134_RC=y
-CONFIG_VIDEO_SAA7134_DVB=m
-CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_HEXIUM_ORION=m
-CONFIG_VIDEO_HEXIUM_GEMINI=m
-CONFIG_VIDEO_TIMBERDALE=m
-CONFIG_VIDEO_CX88=m
-CONFIG_VIDEO_CX88_ALSA=m
-CONFIG_VIDEO_CX88_BLACKBIRD=m
-CONFIG_VIDEO_CX88_DVB=m
-CONFIG_VIDEO_CX88_MPEG=m
-CONFIG_VIDEO_CX88_VP3054=m
-CONFIG_VIDEO_CX23885=m
-CONFIG_MEDIA_ALTERA_CI=m
-CONFIG_VIDEO_CX25821=m
-CONFIG_VIDEO_CX25821_ALSA=m
-CONFIG_VIDEO_AU0828=m
-CONFIG_VIDEO_IVTV=m
-CONFIG_VIDEO_FB_IVTV=m
-CONFIG_VIDEO_CX18=m
-CONFIG_VIDEO_CX18_ALSA=m
-CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_CAFE_CCIC=m
-CONFIG_VIDEO_VIA_CAMERA=m
-CONFIG_SOC_CAMERA=m
-CONFIG_SOC_CAMERA_IMX074=m
-CONFIG_SOC_CAMERA_MT9M001=m
-CONFIG_SOC_CAMERA_MT9M111=m
-CONFIG_SOC_CAMERA_MT9T031=m
-CONFIG_SOC_CAMERA_MT9T112=m
-CONFIG_SOC_CAMERA_MT9V022=m
-CONFIG_SOC_CAMERA_RJ54N1=m
-CONFIG_SOC_CAMERA_TW9910=m
-CONFIG_SOC_CAMERA_PLATFORM=m
-CONFIG_SOC_CAMERA_OV2640=m
-CONFIG_SOC_CAMERA_OV5642=m
-CONFIG_SOC_CAMERA_OV6650=m
-CONFIG_SOC_CAMERA_OV772X=m
-CONFIG_SOC_CAMERA_OV9640=m
-CONFIG_SOC_CAMERA_OV9740=m
-CONFIG_V4L_USB_DRIVERS=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-CONFIG_USB_GSPCA=m
-CONFIG_USB_M5602=m
-CONFIG_USB_STV06XX=m
-CONFIG_USB_GL860=m
-CONFIG_USB_GSPCA_BENQ=m
-CONFIG_USB_GSPCA_CONEX=m
-CONFIG_USB_GSPCA_CPIA1=m
-CONFIG_USB_GSPCA_ETOMS=m
-CONFIG_USB_GSPCA_FINEPIX=m
-CONFIG_USB_GSPCA_JEILINJ=m
-CONFIG_USB_GSPCA_KINECT=m
-CONFIG_USB_GSPCA_KONICA=m
-CONFIG_USB_GSPCA_MARS=m
-CONFIG_USB_GSPCA_MR97310A=m
-CONFIG_USB_GSPCA_NW80X=m
-CONFIG_USB_GSPCA_OV519=m
-CONFIG_USB_GSPCA_OV534=m
-CONFIG_USB_GSPCA_OV534_9=m
-CONFIG_USB_GSPCA_PAC207=m
-CONFIG_USB_GSPCA_PAC7302=m
-CONFIG_USB_GSPCA_PAC7311=m
-CONFIG_USB_GSPCA_SE401=m
-CONFIG_USB_GSPCA_SN9C2028=m
-CONFIG_USB_GSPCA_SN9C20X=m
-CONFIG_USB_GSPCA_SONIXB=m
-CONFIG_USB_GSPCA_SONIXJ=m
-CONFIG_USB_GSPCA_SPCA500=m
-CONFIG_USB_GSPCA_SPCA501=m
-CONFIG_USB_GSPCA_SPCA505=m
-CONFIG_USB_GSPCA_SPCA506=m
-CONFIG_USB_GSPCA_SPCA508=m
-CONFIG_USB_GSPCA_SPCA561=m
-CONFIG_USB_GSPCA_SPCA1528=m
-CONFIG_USB_GSPCA_SQ905=m
-CONFIG_USB_GSPCA_SQ905C=m
-CONFIG_USB_GSPCA_SQ930X=m
-CONFIG_USB_GSPCA_STK014=m
-CONFIG_USB_GSPCA_STV0680=m
-CONFIG_USB_GSPCA_SUNPLUS=m
-CONFIG_USB_GSPCA_T613=m
-CONFIG_USB_GSPCA_TOPRO=m
-CONFIG_USB_GSPCA_TV8532=m
-CONFIG_USB_GSPCA_VC032X=m
-CONFIG_USB_GSPCA_VICAM=m
-CONFIG_USB_GSPCA_XIRLINK_CIT=m
-CONFIG_USB_GSPCA_ZC3XX=m
-CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_PVRUSB2_SYSFS=y
-CONFIG_VIDEO_PVRUSB2_DVB=y
-# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
-CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_EM28XX_RC=y
-CONFIG_VIDEO_TLG2300=m
-CONFIG_VIDEO_CX231XX=m
-CONFIG_VIDEO_CX231XX_RC=y
-CONFIG_VIDEO_CX231XX_ALSA=m
-CONFIG_VIDEO_CX231XX_DVB=m
-CONFIG_VIDEO_TM6000=m
-CONFIG_VIDEO_TM6000_ALSA=m
-CONFIG_VIDEO_TM6000_DVB=m
-CONFIG_VIDEO_USBVISION=m
-CONFIG_USB_ET61X251=m
-CONFIG_USB_SN9C102=m
-CONFIG_USB_PWC=m
-# CONFIG_USB_PWC_DEBUG is not set
-CONFIG_USB_PWC_INPUT_EVDEV=y
-CONFIG_USB_ZR364XX=m
-CONFIG_USB_STKWEBCAM=m
-CONFIG_USB_S2255=m
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_MEM2MEM_TESTDEV=m
-CONFIG_RADIO_ADAPTERS=y
-CONFIG_RADIO_MAXIRADIO=m
-CONFIG_I2C_SI4713=m
-CONFIG_RADIO_SI4713=m
-CONFIG_USB_DSBR=m
-# CONFIG_RADIO_SI470X is not set
-CONFIG_USB_MR800=m
-CONFIG_RADIO_TEA5764=m
-CONFIG_RADIO_SAA7706H=m
-CONFIG_RADIO_TEF6862=m
-CONFIG_RADIO_TIMBERDALE=m
-CONFIG_RADIO_WL1273=m
-
-#
-# Texas Instruments WL128x FM driver (ST based)
-#
-CONFIG_RADIO_WL128X=m
-CONFIG_DVB_MAX_ADAPTERS=8
-# CONFIG_DVB_DYNAMIC_MINORS is not set
-CONFIG_DVB_CAPTURE_DRIVERS=y
-
-#
-# Supported SAA7146 based PCI Adapters
-#
-CONFIG_TTPCI_EEPROM=m
-CONFIG_DVB_AV7110=m
-CONFIG_DVB_AV7110_OSD=y
-CONFIG_DVB_BUDGET_CORE=m
-CONFIG_DVB_BUDGET=m
-CONFIG_DVB_BUDGET_CI=m
-CONFIG_DVB_BUDGET_AV=m
-CONFIG_DVB_BUDGET_PATCH=m
-
-#
-# Supported USB Adapters
-#
-CONFIG_DVB_USB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_DIBUSB_MB=m
-# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIB0700=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_CXUSB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-CONFIG_DVB_USB_PCTV452E=m
-CONFIG_DVB_USB_DW2102=m
-CONFIG_DVB_USB_CINERGY_T2=m
-CONFIG_DVB_USB_ANYSEE=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_USB_AF9015=m
-CONFIG_DVB_USB_CE6230=m
-CONFIG_DVB_USB_FRIIO=m
-CONFIG_DVB_USB_EC168=m
-CONFIG_DVB_USB_AZ6027=m
-CONFIG_DVB_USB_LME2510=m
-CONFIG_DVB_USB_TECHNISAT_USB2=m
-CONFIG_DVB_USB_IT913X=m
-CONFIG_DVB_USB_MXL111SF=m
-CONFIG_DVB_TTUSB_BUDGET=m
-CONFIG_DVB_TTUSB_DEC=m
-CONFIG_SMS_SIANO_MDTV=m
-
-#
-# Siano module components
-#
-CONFIG_SMS_USB_DRV=m
-CONFIG_SMS_SDIO_DRV=m
-
-#
-# Supported FlexCopII (B2C2) Adapters
-#
-CONFIG_DVB_B2C2_FLEXCOP=m
-CONFIG_DVB_B2C2_FLEXCOP_PCI=m
-CONFIG_DVB_B2C2_FLEXCOP_USB=m
-# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
-
-#
-# Supported BT878 Adapters
-#
-CONFIG_DVB_BT8XX=m
-
-#
-# Supported Pluto2 Adapters
-#
-CONFIG_DVB_PLUTO2=m
-
-#
-# Supported SDMC DM1105 Adapters
-#
-CONFIG_DVB_DM1105=m
-
-#
-# Supported FireWire (IEEE 1394) Adapters
-#
-CONFIG_DVB_FIREDTV=m
-CONFIG_DVB_FIREDTV_INPUT=y
-
-#
-# Supported Earthsoft PT1 Adapters
-#
-CONFIG_DVB_PT1=m
-
-#
-# Supported Mantis Adapters
-#
-CONFIG_MANTIS_CORE=m
-CONFIG_DVB_MANTIS=m
-CONFIG_DVB_HOPPER=m
-
-#
-# Supported nGene Adapters
-#
-CONFIG_DVB_NGENE=m
-
-#
-# Supported ddbridge ('Octopus') Adapters
-#
-CONFIG_DVB_DDBRIDGE=m
-
-#
-# Supported DVB Frontends
-#
-CONFIG_DVB_FE_CUSTOMISE=y
-
-#
-# Customise DVB Frontends
-#
-
-#
-# Multistandard (satellite) frontends
-#
-CONFIG_DVB_STB0899=m
-CONFIG_DVB_STB6100=m
-CONFIG_DVB_STV090x=m
-CONFIG_DVB_STV6110x=m
-
-#
-# Multistandard (cable + terrestrial) frontends
-#
-CONFIG_DVB_DRXK=m
-CONFIG_DVB_TDA18271C2DD=m
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_CX24110=m
-CONFIG_DVB_CX24123=m
-CONFIG_DVB_MT312=m
-CONFIG_DVB_ZL10036=m
-CONFIG_DVB_ZL10039=m
-CONFIG_DVB_S5H1420=m
-CONFIG_DVB_STV0288=m
-CONFIG_DVB_STB6000=m
-CONFIG_DVB_STV0299=m
-CONFIG_DVB_STV6110=m
-CONFIG_DVB_STV0900=m
-CONFIG_DVB_TDA8083=m
-CONFIG_DVB_TDA10086=m
-CONFIG_DVB_TDA8261=m
-CONFIG_DVB_VES1X93=m
-CONFIG_DVB_TUNER_ITD1000=m
-CONFIG_DVB_TUNER_CX24113=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_TUA6100=m
-CONFIG_DVB_CX24116=m
-CONFIG_DVB_SI21XX=m
-CONFIG_DVB_DS3000=m
-CONFIG_DVB_MB86A16=m
-CONFIG_DVB_TDA10071=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_SP8870=m
-CONFIG_DVB_SP887X=m
-CONFIG_DVB_CX22700=m
-CONFIG_DVB_CX22702=m
-CONFIG_DVB_S5H1432=m
-CONFIG_DVB_DRXD=m
-CONFIG_DVB_L64781=m
-CONFIG_DVB_TDA1004X=m
-CONFIG_DVB_NXT6000=m
-CONFIG_DVB_MT352=m
-CONFIG_DVB_ZL10353=m
-CONFIG_DVB_DIB3000MB=m
-CONFIG_DVB_DIB3000MC=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_DVB_DIB7000P=m
-CONFIG_DVB_DIB9000=m
-CONFIG_DVB_TDA10048=m
-CONFIG_DVB_AF9013=m
-CONFIG_DVB_EC100=m
-CONFIG_DVB_STV0367=m
-CONFIG_DVB_CXD2820R=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_VES1820=m
-CONFIG_DVB_TDA10021=m
-CONFIG_DVB_TDA10023=m
-CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
-CONFIG_DVB_NXT200X=m
-CONFIG_DVB_OR51211=m
-CONFIG_DVB_OR51132=m
-CONFIG_DVB_BCM3510=m
-CONFIG_DVB_LGDT330X=m
-CONFIG_DVB_LGDT3305=m
-CONFIG_DVB_S5H1409=m
-CONFIG_DVB_AU8522=m
-CONFIG_DVB_S5H1411=m
-
-#
-# ISDB-T (terrestrial) frontends
-#
-CONFIG_DVB_S921=m
-CONFIG_DVB_DIB8000=m
-CONFIG_DVB_MB86A20S=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
-CONFIG_DVB_PLL=m
-CONFIG_DVB_TUNER_DIB0070=m
-CONFIG_DVB_TUNER_DIB0090=m
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_LNBP21=m
-CONFIG_DVB_LNBP22=m
-CONFIG_DVB_ISL6405=m
-CONFIG_DVB_ISL6421=m
-CONFIG_DVB_ISL6423=m
-CONFIG_DVB_A8293=m
-CONFIG_DVB_LGS8GL5=m
-CONFIG_DVB_LGS8GXX=m
-CONFIG_DVB_ATBM8830=m
-CONFIG_DVB_TDA665x=m
-CONFIG_DVB_IX2505V=m
-CONFIG_DVB_IT913X_FE=m
-
-#
-# Tools to develop new frontends
-#
-CONFIG_DVB_DUMMY_FE=m
-
-#
-# Graphics support
-#
-CONFIG_AGP=m
-CONFIG_AGP_AMD64=m
-CONFIG_AGP_INTEL=m
-CONFIG_AGP_SIS=m
-CONFIG_AGP_VIA=m
-CONFIG_VGA_ARB=y
-CONFIG_VGA_ARB_MAX_GPUS=16
-CONFIG_VGA_SWITCHEROO=y
-CONFIG_DRM=m
-CONFIG_DRM_KMS_HELPER=m
-CONFIG_DRM_TTM=m
-CONFIG_DRM_TDFX=m
-CONFIG_DRM_R128=m
-CONFIG_DRM_RADEON=m
-CONFIG_DRM_RADEON_KMS=y
-CONFIG_DRM_I810=m
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_KMS=y
-CONFIG_DRM_MGA=m
-CONFIG_DRM_SIS=m
-CONFIG_DRM_VIA=m
-CONFIG_DRM_SAVAGE=m
-CONFIG_DRM_VMWGFX=m
-CONFIG_STUB_POULSBO=m
-CONFIG_VGASTATE=m
-CONFIG_VIDEO_OUTPUT_CONTROL=m
-CONFIG_FB=y
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB_DDC=m
-CONFIG_FB_BOOT_VESA_SUPPORT=y
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
-# CONFIG_FB_WMT_GE_ROPS is not set
-CONFIG_FB_DEFERRED_IO=y
-CONFIG_FB_HECUBA=m
-CONFIG_FB_SVGALIB=m
-# CONFIG_FB_MACMODES is not set
-CONFIG_FB_BACKLIGHT=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_TILEBLITTING=y
-
-#
-# Frame buffer hardware drivers
-#
-CONFIG_FB_CIRRUS=m
-CONFIG_FB_PM2=m
-# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
-CONFIG_FB_CYBER2000=m
-CONFIG_FB_CYBER2000_DDC=y
-CONFIG_FB_ARC=m
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_IMSTT is not set
-CONFIG_FB_VGA16=m
-# CONFIG_FB_UVESA is not set
-CONFIG_FB_VESA=y
-CONFIG_FB_EFI=y
-CONFIG_FB_N411=m
-CONFIG_FB_HGA=m
-CONFIG_FB_S1D13XXX=m
-CONFIG_FB_NVIDIA=m
-CONFIG_FB_NVIDIA_I2C=y
-# CONFIG_FB_NVIDIA_DEBUG is not set
-CONFIG_FB_NVIDIA_BACKLIGHT=y
-CONFIG_FB_RIVA=m
-CONFIG_FB_RIVA_I2C=y
-# CONFIG_FB_RIVA_DEBUG is not set
-CONFIG_FB_RIVA_BACKLIGHT=y
-CONFIG_FB_LE80578=m
-CONFIG_FB_CARILLO_RANCH=m
-CONFIG_FB_MATROX=m
-CONFIG_FB_MATROX_MILLENIUM=y
-CONFIG_FB_MATROX_MYSTIQUE=y
-CONFIG_FB_MATROX_G=y
-CONFIG_FB_MATROX_I2C=m
-CONFIG_FB_MATROX_MAVEN=m
-CONFIG_FB_RADEON=m
-CONFIG_FB_RADEON_I2C=y
-CONFIG_FB_RADEON_BACKLIGHT=y
-# CONFIG_FB_RADEON_DEBUG is not set
-CONFIG_FB_ATY128=m
-CONFIG_FB_ATY128_BACKLIGHT=y
-CONFIG_FB_ATY=m
-CONFIG_FB_ATY_CT=y
-CONFIG_FB_ATY_GENERIC_LCD=y
-CONFIG_FB_ATY_GX=y
-CONFIG_FB_ATY_BACKLIGHT=y
-CONFIG_FB_S3=m
-CONFIG_FB_S3_DDC=y
-CONFIG_FB_SAVAGE=m
-CONFIG_FB_SAVAGE_I2C=y
-CONFIG_FB_SAVAGE_ACCEL=y
-CONFIG_FB_SIS=m
-CONFIG_FB_SIS_300=y
-CONFIG_FB_SIS_315=y
-CONFIG_FB_VIA=m
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-CONFIG_FB_VIA_X_COMPATIBILITY=y
-CONFIG_FB_NEOMAGIC=m
-CONFIG_FB_KYRO=m
-CONFIG_FB_3DFX=m
-# CONFIG_FB_3DFX_ACCEL is not set
-CONFIG_FB_3DFX_I2C=y
-CONFIG_FB_VOODOO1=m
-CONFIG_FB_VT8623=m
-CONFIG_FB_TRIDENT=m
-CONFIG_FB_ARK=m
-CONFIG_FB_PM3=m
-CONFIG_FB_CARMINE=m
-CONFIG_FB_CARMINE_DRAM_EVAL=y
-# CONFIG_CARMINE_DRAM_CUSTOM is not set
-CONFIG_FB_GEODE=y
-CONFIG_FB_GEODE_LX=m
-CONFIG_FB_GEODE_GX=m
-CONFIG_FB_GEODE_GX1=m
-CONFIG_FB_TMIO=m
-CONFIG_FB_TMIO_ACCELL=y
-CONFIG_FB_SMSCUFX=m
-CONFIG_FB_UDL=m
-# CONFIG_FB_VIRTUAL is not set
-CONFIG_FB_METRONOME=m
-CONFIG_FB_MB862XX=m
-CONFIG_FB_MB862XX_PCI_GDC=y
-CONFIG_FB_MB862XX_I2C=y
-CONFIG_FB_BROADSHEET=m
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=m
-CONFIG_LCD_PLATFORM=m
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=m
-CONFIG_BACKLIGHT_PROGEAR=m
-CONFIG_BACKLIGHT_CARILLO_RANCH=m
-CONFIG_BACKLIGHT_APPLE=m
-CONFIG_BACKLIGHT_SAHARA=m
-CONFIG_BACKLIGHT_ADP8860=m
-CONFIG_BACKLIGHT_ADP8870=m
-CONFIG_BACKLIGHT_PCF50633=m
-
-#
-# Display device support
-#
-CONFIG_DISPLAY_SUPPORT=m
-
-#
-# Display hardware drivers
-#
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_7x14 is not set
-# CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
-# CONFIG_FONT_MINI_4x6 is not set
-CONFIG_FONT_SUN8x16=y
-# CONFIG_FONT_SUN12x22 is not set
-# CONFIG_FONT_10x18 is not set
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-CONFIG_SOUND=m
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-CONFIG_SND_JACK=y
-CONFIG_SND_SEQUENCER=m
-CONFIG_SND_SEQ_DUMMY=m
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
-CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_HRTIMER=m
-CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
-CONFIG_SND_DYNAMIC_MINORS=y
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_VMASTER=y
-CONFIG_SND_DMA_SGBUF=y
-CONFIG_SND_RAWMIDI_SEQ=m
-CONFIG_SND_OPL3_LIB_SEQ=m
-# CONFIG_SND_OPL4_LIB_SEQ is not set
-# CONFIG_SND_SBAWE_SEQ is not set
-CONFIG_SND_EMU10K1_SEQ=m
-CONFIG_SND_MPU401_UART=m
-CONFIG_SND_OPL3_LIB=m
-CONFIG_SND_VX_LIB=m
-CONFIG_SND_AC97_CODEC=m
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_PCSP is not set
-CONFIG_SND_DUMMY=m
-CONFIG_SND_ALOOP=m
-CONFIG_SND_VIRMIDI=m
-CONFIG_SND_MTPAV=m
-CONFIG_SND_MTS64=m
-CONFIG_SND_SERIAL_U16550=m
-CONFIG_SND_MPU401=m
-CONFIG_SND_PORTMAN2X4=m
-CONFIG_SND_AC97_POWER_SAVE=y
-CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
-CONFIG_SND_SB_COMMON=m
-CONFIG_SND_SB16_DSP=m
-CONFIG_SND_TEA575X=m
-CONFIG_SND_PCI=y
-CONFIG_SND_AD1889=m
-CONFIG_SND_ALS300=m
-CONFIG_SND_ALS4000=m
-CONFIG_SND_ALI5451=m
-CONFIG_SND_ASIHPI=m
-CONFIG_SND_ATIIXP=m
-CONFIG_SND_ATIIXP_MODEM=m
-CONFIG_SND_AU8810=m
-CONFIG_SND_AU8820=m
-CONFIG_SND_AU8830=m
-CONFIG_SND_AW2=m
-CONFIG_SND_AZT3328=m
-CONFIG_SND_BT87X=m
-# CONFIG_SND_BT87X_OVERCLOCK is not set
-CONFIG_SND_CA0106=m
-CONFIG_SND_CMIPCI=m
-CONFIG_SND_OXYGEN_LIB=m
-CONFIG_SND_OXYGEN=m
-CONFIG_SND_CS4281=m
-CONFIG_SND_CS46XX=m
-CONFIG_SND_CS46XX_NEW_DSP=y
-CONFIG_SND_CS5530=m
-CONFIG_SND_CS5535AUDIO=m
-CONFIG_SND_CTXFI=m
-CONFIG_SND_DARLA20=m
-CONFIG_SND_GINA20=m
-CONFIG_SND_LAYLA20=m
-CONFIG_SND_DARLA24=m
-CONFIG_SND_GINA24=m
-CONFIG_SND_LAYLA24=m
-CONFIG_SND_MONA=m
-CONFIG_SND_MIA=m
-CONFIG_SND_ECHO3G=m
-CONFIG_SND_INDIGO=m
-CONFIG_SND_INDIGOIO=m
-CONFIG_SND_INDIGODJ=m
-CONFIG_SND_INDIGOIOX=m
-CONFIG_SND_INDIGODJX=m
-CONFIG_SND_EMU10K1=m
-CONFIG_SND_EMU10K1X=m
-CONFIG_SND_ENS1370=m
-CONFIG_SND_ENS1371=m
-CONFIG_SND_ES1938=m
-CONFIG_SND_ES1968=m
-CONFIG_SND_ES1968_INPUT=y
-CONFIG_SND_ES1968_RADIO=y
-CONFIG_SND_FM801=m
-CONFIG_SND_FM801_TEA575X_BOOL=y
-CONFIG_SND_HDA_INTEL=m
-CONFIG_SND_HDA_PREALLOC_SIZE=2048
-CONFIG_SND_HDA_HWDEP=y
-CONFIG_SND_HDA_RECONFIG=y
-# CONFIG_SND_HDA_INPUT_BEEP is not set
-CONFIG_SND_HDA_INPUT_JACK=y
-CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_CODEC_REALTEK=y
-CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
-CONFIG_SND_HDA_CODEC_ANALOG=y
-CONFIG_SND_HDA_CODEC_SIGMATEL=y
-CONFIG_SND_HDA_CODEC_VIA=y
-CONFIG_SND_HDA_CODEC_HDMI=y
-CONFIG_SND_HDA_CODEC_CIRRUS=y
-CONFIG_SND_HDA_CODEC_CONEXANT=y
-CONFIG_SND_HDA_CODEC_CA0110=y
-CONFIG_SND_HDA_CODEC_CA0132=y
-CONFIG_SND_HDA_CODEC_CMEDIA=y
-CONFIG_SND_HDA_CODEC_SI3054=y
-CONFIG_SND_HDA_GENERIC=y
-# CONFIG_SND_HDA_POWER_SAVE is not set
-CONFIG_SND_HDSP=m
-CONFIG_SND_HDSPM=m
-CONFIG_SND_ICE1712=m
-CONFIG_SND_ICE1724=m
-CONFIG_SND_INTEL8X0=m
-CONFIG_SND_INTEL8X0M=m
-CONFIG_SND_KORG1212=m
-CONFIG_SND_LOLA=m
-CONFIG_SND_LX6464ES=m
-CONFIG_SND_MAESTRO3=m
-CONFIG_SND_MAESTRO3_INPUT=y
-CONFIG_SND_MIXART=m
-CONFIG_SND_NM256=m
-CONFIG_SND_PCXHR=m
-CONFIG_SND_RIPTIDE=m
-CONFIG_SND_RME32=m
-CONFIG_SND_RME96=m
-CONFIG_SND_RME9652=m
-CONFIG_SND_SONICVIBES=m
-CONFIG_SND_TRIDENT=m
-CONFIG_SND_VIA82XX=m
-CONFIG_SND_VIA82XX_MODEM=m
-CONFIG_SND_VIRTUOSO=m
-CONFIG_SND_VX222=m
-CONFIG_SND_YMFPCI=m
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_USB_UA101=m
-CONFIG_SND_USB_USX2Y=m
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_USB_US122L=m
-CONFIG_SND_USB_6FIRE=m
-CONFIG_SND_FIREWIRE=y
-CONFIG_SND_FIREWIRE_LIB=m
-CONFIG_SND_FIREWIRE_SPEAKERS=m
-CONFIG_SND_ISIGHT=m
-CONFIG_SND_PCMCIA=y
-CONFIG_SND_VXPOCKET=m
-CONFIG_SND_PDAUDIOCF=m
-# CONFIG_SND_SOC is not set
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=m
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=m
-CONFIG_HIDRAW=y
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=m
-CONFIG_HID_PID=y
-CONFIG_USB_HIDDEV=y
-
-#
-# Special HID drivers
-#
-CONFIG_HID_A4TECH=m
-CONFIG_HID_ACRUX=m
-CONFIG_HID_ACRUX_FF=y
-CONFIG_HID_APPLE=m
-CONFIG_HID_BELKIN=m
-CONFIG_HID_CHERRY=m
-CONFIG_HID_CHICONY=m
-CONFIG_HID_PRODIKEYS=m
-CONFIG_HID_CYPRESS=m
-CONFIG_HID_DRAGONRISE=m
-CONFIG_DRAGONRISE_FF=y
-CONFIG_HID_EMS_FF=m
-CONFIG_HID_ELECOM=m
-CONFIG_HID_EZKEY=m
-CONFIG_HID_HOLTEK=m
-CONFIG_HOLTEK_FF=y
-CONFIG_HID_KEYTOUCH=m
-CONFIG_HID_KYE=m
-CONFIG_HID_UCLOGIC=m
-CONFIG_HID_WALTOP=m
-CONFIG_HID_GYRATION=m
-CONFIG_HID_TWINHAN=m
-CONFIG_HID_KENSINGTON=m
-CONFIG_HID_LCPOWER=m
-CONFIG_HID_LOGITECH=m
-CONFIG_HID_LOGITECH_DJ=m
-CONFIG_LOGITECH_FF=y
-CONFIG_LOGIRUMBLEPAD2_FF=y
-CONFIG_LOGIG940_FF=y
-CONFIG_LOGIWHEELS_FF=y
-CONFIG_HID_MAGICMOUSE=m
-CONFIG_HID_MICROSOFT=m
-CONFIG_HID_MONTEREY=m
-CONFIG_HID_MULTITOUCH=m
-CONFIG_HID_NTRIG=m
-CONFIG_HID_ORTEK=m
-CONFIG_HID_PANTHERLORD=m
-CONFIG_PANTHERLORD_FF=y
-CONFIG_HID_PETALYNX=m
-CONFIG_HID_PICOLCD=m
-CONFIG_HID_PICOLCD_FB=y
-CONFIG_HID_PICOLCD_BACKLIGHT=y
-CONFIG_HID_PICOLCD_LCD=y
-CONFIG_HID_PICOLCD_LEDS=y
-CONFIG_HID_PRIMAX=m
-CONFIG_HID_QUANTA=m
-CONFIG_HID_ROCCAT=m
-CONFIG_HID_ROCCAT_COMMON=m
-CONFIG_HID_ROCCAT_ARVO=m
-CONFIG_HID_ROCCAT_KONE=m
-CONFIG_HID_ROCCAT_KONEPLUS=m
-CONFIG_HID_ROCCAT_KOVAPLUS=m
-CONFIG_HID_ROCCAT_PYRA=m
-CONFIG_HID_SAMSUNG=m
-CONFIG_HID_SONY=m
-CONFIG_HID_SPEEDLINK=m
-CONFIG_HID_SUNPLUS=m
-CONFIG_HID_GREENASIA=m
-CONFIG_GREENASIA_FF=y
-CONFIG_HID_SMARTJOYPLUS=m
-CONFIG_SMARTJOYPLUS_FF=y
-CONFIG_HID_TOPSEED=m
-CONFIG_HID_THRUSTMASTER=m
-CONFIG_THRUSTMASTER_FF=y
-CONFIG_HID_WACOM=m
-CONFIG_HID_WACOM_POWER_SUPPLY=y
-CONFIG_HID_WIIMOTE=m
-CONFIG_HID_ZEROPLUS=m
-CONFIG_ZEROPLUS_FF=y
-CONFIG_HID_ZYDACRON=m
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_COMMON=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB_ARCH_HAS_XHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-# CONFIG_USB_DEVICEFS is not set
-# CONFIG_USB_DEVICE_CLASS is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_SUSPEND=y
-# CONFIG_USB_OTG is not set
-CONFIG_USB_DWC3=m
-# CONFIG_USB_DWC3_DEBUG is not set
-CONFIG_USB_MON=y
-CONFIG_USB_WUSB=m
-CONFIG_USB_WUSB_CBAF=m
-# CONFIG_USB_WUSB_CBAF_DEBUG is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_C67X00_HCD=m
-CONFIG_USB_XHCI_HCD=m
-# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
-CONFIG_USB_EHCI_HCD=m
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
-CONFIG_USB_OXU210HP_HCD=m
-CONFIG_USB_ISP116X_HCD=m
-CONFIG_USB_ISP1760_HCD=m
-CONFIG_USB_ISP1362_HCD=m
-CONFIG_USB_OHCI_HCD=m
-CONFIG_USB_OHCI_HCD_SSB=y
-# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-CONFIG_USB_UHCI_HCD=m
-CONFIG_USB_U132_HCD=m
-CONFIG_USB_SL811_HCD=m
-# CONFIG_USB_SL811_HCD_ISO is not set
-CONFIG_USB_SL811_CS=m
-CONFIG_USB_R8A66597_HCD=m
-CONFIG_USB_WHCI_HCD=m
-CONFIG_USB_HWA_HCD=m
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-CONFIG_USB_WDM=m
-CONFIG_USB_TMC=m
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
-CONFIG_USB_STORAGE=m
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_REALTEK=m
-CONFIG_REALTEK_AUTOPM=y
-CONFIG_USB_STORAGE_DATAFAB=m
-CONFIG_USB_STORAGE_FREECOM=m
-CONFIG_USB_STORAGE_ISD200=m
-CONFIG_USB_STORAGE_USBAT=m
-CONFIG_USB_STORAGE_SDDR09=m
-CONFIG_USB_STORAGE_SDDR55=m
-CONFIG_USB_STORAGE_JUMPSHOT=m
-CONFIG_USB_STORAGE_ALAUDA=m
-CONFIG_USB_STORAGE_ONETOUCH=m
-CONFIG_USB_STORAGE_KARMA=m
-CONFIG_USB_STORAGE_CYPRESS_ATACB=m
-CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_UAS=m
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-CONFIG_USB_MDC800=m
-CONFIG_USB_MICROTEK=m
-
-#
-# USB port drivers
-#
-CONFIG_USB_USS720=m
-CONFIG_USB_SERIAL=m
-CONFIG_USB_EZUSB=y
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_AIRCABLE=m
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_CH341=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP210X=m
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_FUNSOFT=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_IUU=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_MOS7720=m
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
-CONFIG_USB_SERIAL_MOS7840=m
-CONFIG_USB_SERIAL_MOTOROLA=m
-CONFIG_USB_SERIAL_NAVMAN=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_OTI6858=m
-CONFIG_USB_SERIAL_QCAUX=m
-CONFIG_USB_SERIAL_QUALCOMM=m
-CONFIG_USB_SERIAL_SPCP8X5=m
-CONFIG_USB_SERIAL_HP4X=m
-CONFIG_USB_SERIAL_SAFE=m
-CONFIG_USB_SERIAL_SAFE_PADDED=y
-CONFIG_USB_SERIAL_SIEMENS_MPI=m
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-CONFIG_USB_SERIAL_SYMBOL=m
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_WWAN=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_SERIAL_OPTICON=m
-CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
-CONFIG_USB_SERIAL_ZIO=m
-CONFIG_USB_SERIAL_SSU100=m
-CONFIG_USB_SERIAL_DEBUG=m
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-CONFIG_USB_ADUTUX=m
-CONFIG_USB_SEVSEG=m
-CONFIG_USB_RIO500=m
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-CONFIG_USB_LED=m
-CONFIG_USB_CYPRESS_CY7C63=m
-CONFIG_USB_CYTHERM=m
-CONFIG_USB_IDMOUSE=m
-CONFIG_USB_FTDI_ELAN=m
-CONFIG_USB_APPLEDISPLAY=m
-CONFIG_USB_SISUSBVGA=m
-CONFIG_USB_SISUSBVGA_CON=y
-CONFIG_USB_LD=m
-CONFIG_USB_TRANCEVIBRATOR=m
-CONFIG_USB_IOWARRIOR=m
-CONFIG_USB_TEST=m
-CONFIG_USB_ISIGHTFW=m
-CONFIG_USB_YUREX=m
-CONFIG_USB_ATM=m
-CONFIG_USB_SPEEDTOUCH=m
-CONFIG_USB_CXACRU=m
-CONFIG_USB_UEAGLEATM=m
-CONFIG_USB_XUSBATM=m
-# CONFIG_USB_GADGET is not set
-
-#
-# OTG and related infrastructure
-#
-CONFIG_USB_OTG_UTILS=y
-CONFIG_USB_GPIO_VBUS=m
-CONFIG_NOP_USB_XCEIV=m
-CONFIG_UWB=m
-CONFIG_UWB_HWA=m
-CONFIG_UWB_WHCI=m
-CONFIG_UWB_I1480U=m
-CONFIG_MMC=m
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=m
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_SDIO_UART=m
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_SDHCI=m
-CONFIG_MMC_SDHCI_PCI=m
-CONFIG_MMC_RICOH_MMC=y
-CONFIG_MMC_SDHCI_PLTFM=m
-CONFIG_MMC_WBSD=m
-CONFIG_MMC_TIFM_SD=m
-CONFIG_MMC_SDRICOH_CS=m
-CONFIG_MMC_CB710=m
-CONFIG_MMC_VIA_SDMMC=m
-CONFIG_MMC_VUB300=m
-CONFIG_MMC_USHC=m
-CONFIG_MEMSTICK=m
-# CONFIG_MEMSTICK_DEBUG is not set
-
-#
-# MemoryStick drivers
-#
-# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
-CONFIG_MSPRO_BLOCK=m
-
-#
-# MemoryStick Host Controller Drivers
-#
-CONFIG_MEMSTICK_TIFM_MS=m
-CONFIG_MEMSTICK_JMICRON_38X=m
-CONFIG_MEMSTICK_R592=m
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-CONFIG_LEDS_LM3530=m
-CONFIG_LEDS_NET5501=m
-CONFIG_LEDS_PCA9532=m
-# CONFIG_LEDS_PCA9532_GPIO is not set
-CONFIG_LEDS_GPIO=m
-CONFIG_LEDS_LP3944=m
-CONFIG_LEDS_LP5521=m
-CONFIG_LEDS_LP5523=m
-CONFIG_LEDS_CLEVO_MAIL=m
-CONFIG_LEDS_PCA955X=m
-CONFIG_LEDS_REGULATOR=m
-CONFIG_LEDS_BD2802=m
-CONFIG_LEDS_INTEL_SS4200=m
-CONFIG_LEDS_LT3593=m
-CONFIG_LEDS_DELL_NETBOOKS=m
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_HEARTBEAT=m
-CONFIG_LEDS_TRIGGER_BACKLIGHT=m
-CONFIG_LEDS_TRIGGER_GPIO=m
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-CONFIG_ACCESSIBILITY=y
-CONFIG_A11Y_BRAILLE_CONSOLE=y
-CONFIG_INFINIBAND=m
-CONFIG_INFINIBAND_USER_MAD=m
-CONFIG_INFINIBAND_USER_ACCESS=m
-CONFIG_INFINIBAND_USER_MEM=y
-CONFIG_INFINIBAND_ADDR_TRANS=y
-CONFIG_INFINIBAND_MTHCA=m
-CONFIG_INFINIBAND_MTHCA_DEBUG=y
-# CONFIG_INFINIBAND_IPATH is not set
-CONFIG_INFINIBAND_QIB=m
-CONFIG_INFINIBAND_AMSO1100=m
-# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
-# CONFIG_INFINIBAND_CXGB3 is not set
-CONFIG_INFINIBAND_CXGB4=m
-CONFIG_MLX4_INFINIBAND=m
-CONFIG_INFINIBAND_NES=m
-# CONFIG_INFINIBAND_NES_DEBUG is not set
-CONFIG_INFINIBAND_IPOIB=m
-# CONFIG_INFINIBAND_IPOIB_CM is not set
-CONFIG_INFINIBAND_IPOIB_DEBUG=y
-# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
-CONFIG_INFINIBAND_SRP=m
-CONFIG_INFINIBAND_ISER=m
-CONFIG_EDAC=y
-
-#
-# Reporting subsystems
-#
-# CONFIG_EDAC_DEBUG is not set
-CONFIG_EDAC_DECODE_MCE=y
-CONFIG_EDAC_MCE_INJ=m
-# CONFIG_EDAC_MM_EDAC is not set
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-CONFIG_RTC_INTF_DEV_UIE_EMUL=y
-CONFIG_RTC_DRV_TEST=m
-
-#
-# I2C RTC drivers
-#
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_DS1374=m
-CONFIG_RTC_DRV_DS1672=m
-CONFIG_RTC_DRV_DS3232=m
-CONFIG_RTC_DRV_MAX6900=m
-CONFIG_RTC_DRV_RS5C372=m
-CONFIG_RTC_DRV_ISL1208=m
-CONFIG_RTC_DRV_ISL12022=m
-CONFIG_RTC_DRV_X1205=m
-CONFIG_RTC_DRV_PCF8563=m
-CONFIG_RTC_DRV_PCF8583=m
-CONFIG_RTC_DRV_M41T80=m
-CONFIG_RTC_DRV_M41T80_WDT=y
-CONFIG_RTC_DRV_BQ32K=m
-CONFIG_RTC_DRV_S35390A=m
-CONFIG_RTC_DRV_FM3130=m
-CONFIG_RTC_DRV_RX8581=m
-CONFIG_RTC_DRV_RX8025=m
-CONFIG_RTC_DRV_EM3027=m
-CONFIG_RTC_DRV_RV3029C2=m
-
-#
-# SPI RTC drivers
-#
-
-#
-# Platform RTC drivers
-#
-CONFIG_RTC_DRV_CMOS=y
-CONFIG_RTC_DRV_DS1286=m
-CONFIG_RTC_DRV_DS1511=m
-CONFIG_RTC_DRV_DS1553=m
-CONFIG_RTC_DRV_DS1742=m
-CONFIG_RTC_DRV_STK17TA8=m
-CONFIG_RTC_DRV_M48T86=m
-CONFIG_RTC_DRV_M48T35=m
-CONFIG_RTC_DRV_M48T59=m
-CONFIG_RTC_DRV_MSM6242=m
-CONFIG_RTC_DRV_BQ4802=m
-CONFIG_RTC_DRV_RP5C01=m
-CONFIG_RTC_DRV_V3020=m
-CONFIG_RTC_DRV_PCF50633=m
-
-#
-# on-CPU RTC drivers
-#
-CONFIG_DMADEVICES=y
-# CONFIG_DMADEVICES_DEBUG is not set
-
-#
-# DMA Devices
-#
-CONFIG_INTEL_MID_DMAC=m
-CONFIG_INTEL_IOATDMA=m
-CONFIG_TIMB_DMA=m
-CONFIG_PCH_DMA=m
-CONFIG_DMA_ENGINE=y
-
-#
-# DMA Clients
-#
-CONFIG_NET_DMA=y
-# CONFIG_ASYNC_TX_DMA is not set
-CONFIG_DMATEST=m
-CONFIG_DCA=m
-CONFIG_AUXDISPLAY=y
-# CONFIG_KS0108 is not set
-CONFIG_UIO=m
-CONFIG_UIO_CIF=m
-CONFIG_UIO_PDRV=m
-CONFIG_UIO_PDRV_GENIRQ=m
-CONFIG_UIO_AEC=m
-CONFIG_UIO_SERCOS3=m
-CONFIG_UIO_PCI_GENERIC=m
-CONFIG_UIO_NETX=m
-CONFIG_VIRTIO=m
-CONFIG_VIRTIO_RING=m
-
-#
-# Virtio drivers
-#
-CONFIG_VIRTIO_PCI=m
-CONFIG_VIRTIO_BALLOON=m
-CONFIG_VIRTIO_MMIO=m
-CONFIG_STAGING=y
-# CONFIG_ET131X is not set
-# CONFIG_SLICOSS is not set
-CONFIG_USBIP_CORE=m
-CONFIG_USBIP_VHCI_HCD=m
-CONFIG_USBIP_HOST=m
-# CONFIG_USBIP_DEBUG is not set
-# CONFIG_W35UND is not set
-# CONFIG_PRISM2_USB is not set
-# CONFIG_ECHO is not set
-# CONFIG_COMEDI is not set
-CONFIG_ASUS_OLED=m
-# CONFIG_PANEL is not set
-CONFIG_R8187SE=m
-CONFIG_RTL8192U=m
-CONFIG_RTL8192E=m
-CONFIG_R8712U=m
-CONFIG_RTS_PSTOR=m
-# CONFIG_RTS_PSTOR_DEBUG is not set
-CONFIG_RTS5139=m
-# CONFIG_RTS5139_DEBUG is not set
-# CONFIG_TRANZPORT is not set
-CONFIG_POHMELFS=m
-# CONFIG_POHMELFS_DEBUG is not set
-CONFIG_IDE_PHISON=m
-CONFIG_LINE6_USB=m
-# CONFIG_LINE6_USB_DEBUG is not set
-# CONFIG_LINE6_USB_DUMP_CTRL is not set
-# CONFIG_LINE6_USB_DUMP_MIDI is not set
-# CONFIG_LINE6_USB_DUMP_PCM is not set
-# CONFIG_LINE6_USB_RAW is not set
-# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
-CONFIG_DRM_NOUVEAU=m
-CONFIG_DRM_NOUVEAU_BACKLIGHT=y
-CONFIG_DRM_NOUVEAU_DEBUG=y
-
-#
-# I2C encoder or helper chips
-#
-CONFIG_DRM_I2C_CH7006=m
-CONFIG_DRM_I2C_SIL164=m
-CONFIG_USB_SERIAL_QUATECH2=m
-CONFIG_USB_SERIAL_QUATECH_USB2=m
-CONFIG_VT6655=m
-CONFIG_VT6656=m
-CONFIG_HYPERV_STORAGE=m
-CONFIG_HYPERV_NET=m
-CONFIG_HYPERV_MOUSE=m
-# CONFIG_VME_BUS is not set
-CONFIG_DX_SEP=m
-# CONFIG_IIO is not set
-CONFIG_XVMALLOC=y
-CONFIG_ZRAM=m
-# CONFIG_ZRAM_DEBUG is not set
-CONFIG_WLAGS49_H2=m
-CONFIG_WLAGS49_H25=m
-CONFIG_FB_SM7XX=m
-CONFIG_CRYSTALHD=m
-# CONFIG_CXT1E1 is not set
-CONFIG_FB_XGI=m
-CONFIG_ACPI_QUICKSTART=m
-CONFIG_SBE_2T3E3=m
-CONFIG_USB_ENESTORAGE=m
-CONFIG_BCM_WIMAX=m
-# CONFIG_FT1000 is not set
-
-#
-# Speakup console speech
-#
-CONFIG_SPEAKUP=m
-CONFIG_SPEAKUP_SYNTH_ACNTSA=m
-CONFIG_SPEAKUP_SYNTH_ACNTPC=m
-CONFIG_SPEAKUP_SYNTH_APOLLO=m
-CONFIG_SPEAKUP_SYNTH_AUDPTR=m
-CONFIG_SPEAKUP_SYNTH_BNS=m
-CONFIG_SPEAKUP_SYNTH_DECTLK=m
-CONFIG_SPEAKUP_SYNTH_DECEXT=m
-CONFIG_SPEAKUP_SYNTH_DECPC=m
-CONFIG_SPEAKUP_SYNTH_DTLK=m
-CONFIG_SPEAKUP_SYNTH_KEYPC=m
-CONFIG_SPEAKUP_SYNTH_LTLK=m
-CONFIG_SPEAKUP_SYNTH_SOFT=m
-CONFIG_SPEAKUP_SYNTH_SPKOUT=m
-CONFIG_SPEAKUP_SYNTH_TXPRT=m
-CONFIG_SPEAKUP_SYNTH_DUMMY=m
-CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
-CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
-CONFIG_DRM_PSB=m
-CONFIG_DRM_PSB_MRST=y
-CONFIG_DRM_PSB_MFLD=y
-CONFIG_DRM_PSB_CDV=y
-CONFIG_INTEL_MEI=m
-CONFIG_STAGING_MEDIA=y
-CONFIG_DVB_AS102=m
-CONFIG_DVB_CXD2099=m
-CONFIG_VIDEO_DT3155=m
-CONFIG_DT3155_CCIR=y
-CONFIG_DT3155_STREAMING=y
-CONFIG_EASYCAP=m
-# CONFIG_EASYCAP_DEBUG is not set
-# CONFIG_VIDEO_GO7007 is not set
-CONFIG_SOLO6X10=m
-CONFIG_LIRC_STAGING=y
-CONFIG_LIRC_BT829=m
-CONFIG_LIRC_IGORPLUGUSB=m
-CONFIG_LIRC_IMON=m
-CONFIG_LIRC_PARALLEL=m
-CONFIG_LIRC_SASEM=m
-CONFIG_LIRC_SERIAL=m
-CONFIG_LIRC_SERIAL_TRANSMITTER=y
-CONFIG_LIRC_SIR=m
-CONFIG_LIRC_TTUSBIR=m
-CONFIG_LIRC_ZILOG=m
-CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_ACER_WMI=m
-CONFIG_ACERHDF=m
-CONFIG_ASUS_LAPTOP=m
-CONFIG_DELL_LAPTOP=m
-CONFIG_DELL_WMI=m
-CONFIG_DELL_WMI_AIO=m
-CONFIG_FUJITSU_LAPTOP=m
-# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
-CONFIG_HP_ACCEL=m
-CONFIG_HP_WMI=m
-CONFIG_MSI_LAPTOP=m
-CONFIG_PANASONIC_LAPTOP=m
-CONFIG_COMPAL_LAPTOP=m
-CONFIG_SONY_LAPTOP=m
-CONFIG_SONYPI_COMPAT=y
-CONFIG_IDEAPAD_LAPTOP=m
-CONFIG_THINKPAD_ACPI=m
-CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
-# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
-# CONFIG_THINKPAD_ACPI_DEBUG is not set
-# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
-CONFIG_THINKPAD_ACPI_VIDEO=y
-CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
-CONFIG_SENSORS_HDAPS=m
-CONFIG_INTEL_MENLOW=m
-CONFIG_EEEPC_LAPTOP=m
-CONFIG_ASUS_WMI=m
-CONFIG_ASUS_NB_WMI=m
-CONFIG_EEEPC_WMI=m
-CONFIG_ACPI_WMI=m
-CONFIG_MSI_WMI=m
-CONFIG_ACPI_ASUS=m
-CONFIG_TOPSTAR_LAPTOP=m
-CONFIG_ACPI_TOSHIBA=m
-CONFIG_TOSHIBA_BT_RFKILL=m
-CONFIG_ACPI_CMPC=m
-CONFIG_INTEL_IPS=m
-CONFIG_IBM_RTL=m
-CONFIG_XO15_EBOOK=m
-CONFIG_SAMSUNG_LAPTOP=m
-CONFIG_MXM_WMI=m
-CONFIG_INTEL_OAKTRAIL=m
-CONFIG_SAMSUNG_Q10=m
-
-#
-# Hardware Spinlock drivers
-#
-CONFIG_CLKEVT_I8253=y
-CONFIG_I8253_LOCK=y
-CONFIG_CLKBLD_I8253=y
-CONFIG_IOMMU_API=y
-CONFIG_IOMMU_SUPPORT=y
-# CONFIG_AMD_IOMMU is not set
-CONFIG_DMAR_TABLE=y
-CONFIG_INTEL_IOMMU=y
-# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
-CONFIG_INTEL_IOMMU_FLOPPY_WA=y
-CONFIG_IRQ_REMAP=y
-CONFIG_VIRT_DRIVERS=y
-CONFIG_HYPERV=m
-CONFIG_HYPERV_UTILS=m
-CONFIG_PM_DEVFREQ=y
-
-#
-# DEVFREQ Governors
-#
-CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
-CONFIG_DEVFREQ_GOV_PERFORMANCE=y
-CONFIG_DEVFREQ_GOV_POWERSAVE=y
-CONFIG_DEVFREQ_GOV_USERSPACE=y
-
-#
-# DEVFREQ Drivers
-#
-
-#
-# Firmware Drivers
-#
-CONFIG_EDD=m
-CONFIG_EDD_OFF=y
-CONFIG_FIRMWARE_MEMMAP=y
-CONFIG_EFI_VARS=m
-CONFIG_DELL_RBU=m
-CONFIG_DCDBAS=m
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=m
-CONFIG_ISCSI_IBFT_FIND=y
-CONFIG_ISCSI_IBFT=m
-CONFIG_SIGMA=m
-# CONFIG_GOOGLE_FIRMWARE is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=m
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=m
-CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
-CONFIG_EXT3_FS_XATTR=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_EXT4_FS=m
-CONFIG_EXT4_FS_XATTR=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=m
-# CONFIG_JBD_DEBUG is not set
-CONFIG_JBD2=m
-# CONFIG_JBD2_DEBUG is not set
-CONFIG_FS_MBCACHE=m
-CONFIG_REISERFS_FS=m
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-CONFIG_REISERFS_FS_XATTR=y
-CONFIG_REISERFS_FS_POSIX_ACL=y
-CONFIG_REISERFS_FS_SECURITY=y
-CONFIG_JFS_FS=m
-CONFIG_JFS_POSIX_ACL=y
-CONFIG_JFS_SECURITY=y
-# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
-CONFIG_XFS_FS=m
-CONFIG_XFS_QUOTA=y
-CONFIG_XFS_POSIX_ACL=y
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_DEBUG is not set
-CONFIG_GFS2_FS=m
-CONFIG_GFS2_FS_LOCKING_DLM=y
-CONFIG_OCFS2_FS=m
-CONFIG_OCFS2_FS_O2CB=m
-CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
-# CONFIG_OCFS2_FS_STATS is not set
-CONFIG_OCFS2_DEBUG_MASKLOG=y
-# CONFIG_OCFS2_DEBUG_FS is not set
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-CONFIG_NILFS2_FS=m
-CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=m
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_FANOTIFY=y
-# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
-CONFIG_QUOTA=y
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
-# CONFIG_QUOTA_DEBUG is not set
-CONFIG_QUOTA_TREE=m
-CONFIG_QFMT_V1=m
-CONFIG_QFMT_V2=m
-CONFIG_QUOTACTL=y
-CONFIG_QUOTACTL_COMPAT=y
-CONFIG_AUTOFS4_FS=m
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-CONFIG_FSCACHE=m
-# CONFIG_FSCACHE_STATS is not set
-# CONFIG_FSCACHE_HISTOGRAM is not set
-# CONFIG_FSCACHE_DEBUG is not set
-# CONFIG_FSCACHE_OBJECT_LIST is not set
-CONFIG_CACHEFILES=m
-# CONFIG_CACHEFILES_DEBUG is not set
-# CONFIG_CACHEFILES_HISTOGRAM is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-CONFIG_NTFS_FS=m
-# CONFIG_NTFS_DEBUG is not set
-CONFIG_NTFS_RW=y
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_TMPFS_XATTR=y
-# CONFIG_HUGETLBFS is not set
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_CONFIGFS_FS=y
-CONFIG_MISC_FILESYSTEMS=y
-CONFIG_ADFS_FS=m
-# CONFIG_ADFS_FS_RW is not set
-CONFIG_AFFS_FS=m
-CONFIG_ECRYPT_FS=m
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-CONFIG_BEFS_FS=m
-# CONFIG_BEFS_DEBUG is not set
-CONFIG_BFS_FS=m
-CONFIG_EFS_FS=m
-CONFIG_JFFS2_FS=m
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-# CONFIG_JFFS2_SUMMARY is not set
-# CONFIG_JFFS2_FS_XATTR is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-# CONFIG_JFFS2_LZO is not set
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-CONFIG_UBIFS_FS=m
-CONFIG_UBIFS_FS_XATTR=y
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-CONFIG_LOGFS=m
-CONFIG_CRAMFS=m
-CONFIG_SQUASHFS=m
-CONFIG_SQUASHFS_XATTR=y
-CONFIG_SQUASHFS_ZLIB=y
-CONFIG_SQUASHFS_LZO=y
-CONFIG_SQUASHFS_XZ=y
-# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
-CONFIG_SQUASHFS_EMBEDDED=y
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
-CONFIG_VXFS_FS=m
-CONFIG_MINIX_FS=m
-CONFIG_OMFS_FS=m
-CONFIG_HPFS_FS=m
-CONFIG_QNX4FS_FS=m
-CONFIG_ROMFS_FS=y
-CONFIG_ROMFS_BACKED_BY_BLOCK=y
-CONFIG_ROMFS_ON_BLOCK=y
-CONFIG_PSTORE=y
-CONFIG_SYSV_FS=m
-CONFIG_UFS_FS=m
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_UFS_DEBUG is not set
-CONFIG_EXOFS_FS=m
-# CONFIG_EXOFS_DEBUG is not set
-CONFIG_ORE=m
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-CONFIG_NFS_V4=y
-# CONFIG_NFS_V4_1 is not set
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
-CONFIG_NFSD=m
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-CONFIG_NFSD_V4=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-CONFIG_SUNRPC_XPRT_RDMA=m
-CONFIG_RPCSEC_GSS_KRB5=m
-CONFIG_CEPH_FS=m
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-CONFIG_CIFS_WEAK_PW_HASH=y
-# CONFIG_CIFS_UPCALL is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_DFS_UPCALL is not set
-CONFIG_CIFS_FSCACHE=y
-CONFIG_NCP_FS=m
-CONFIG_NCPFS_PACKET_SIGNING=y
-CONFIG_NCPFS_IOCTL_LOCKING=y
-CONFIG_NCPFS_STRONG=y
-CONFIG_NCPFS_NFS_NS=y
-CONFIG_NCPFS_OS2_NS=y
-CONFIG_NCPFS_SMALLDOS=y
-CONFIG_NCPFS_NLS=y
-CONFIG_NCPFS_EXTRAS=y
-CONFIG_CODA_FS=m
-CONFIG_AFS_FS=m
-# CONFIG_AFS_DEBUG is not set
-# CONFIG_AFS_FSCACHE is not set
-CONFIG_9P_FS=m
-# CONFIG_9P_FSCACHE is not set
-# CONFIG_9P_FS_POSIX_ACL is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-CONFIG_OSF_PARTITION=y
-CONFIG_AMIGA_PARTITION=y
-# CONFIG_ATARI_PARTITION is not set
-CONFIG_MAC_PARTITION=y
-CONFIG_MSDOS_PARTITION=y
-CONFIG_BSD_DISKLABEL=y
-CONFIG_MINIX_SUBPARTITION=y
-CONFIG_SOLARIS_X86_PARTITION=y
-CONFIG_UNIXWARE_DISKLABEL=y
-# CONFIG_LDM_PARTITION is not set
-CONFIG_SGI_PARTITION=y
-# CONFIG_ULTRIX_PARTITION is not set
-CONFIG_SUN_PARTITION=y
-CONFIG_KARMA_PARTITION=y
-CONFIG_EFI_PARTITION=y
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=m
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=m
-CONFIG_DLM=m
-# CONFIG_DLM_DEBUG is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_PRINTK_TIME=y
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-CONFIG_ENABLE_WARN_DEPRECATED=y
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_FRAME_WARN=0
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_STRIP_ASM_SYMS=y
-CONFIG_UNUSED_SYMBOLS=y
-CONFIG_DEBUG_FS=y
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
-# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
-CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
-CONFIG_SCHED_DEBUG=y
-# CONFIG_SCHEDSTATS is not set
-CONFIG_TIMER_STATS=y
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SLUB_STATS is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-CONFIG_STACKTRACE=y
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_KOBJECT is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_VIRTUAL is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-CONFIG_DEBUG_MEMORY_INIT=y
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-CONFIG_FRAME_POINTER=y
-# CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
-# CONFIG_LKDTM is not set
-CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_USER_STACKTRACE_SUPPORT=y
-CONFIG_NOP_TRACER=y
-CONFIG_HAVE_FTRACE_NMI_ENTER=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_RING_BUFFER=y
-CONFIG_FTRACE_NMI_ENTER=y
-CONFIG_EVENT_TRACING=y
-CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
-CONFIG_CONTEXT_SWITCH_TRACER=y
-CONFIG_RING_BUFFER_ALLOW_SWAP=y
-CONFIG_TRACING=y
-CONFIG_GENERIC_TRACER=y
-CONFIG_TRACING_SUPPORT=y
-CONFIG_FTRACE=y
-CONFIG_FUNCTION_TRACER=y
-CONFIG_FUNCTION_GRAPH_TRACER=y
-# CONFIG_IRQSOFF_TRACER is not set
-# CONFIG_SCHED_TRACER is not set
-# CONFIG_FTRACE_SYSCALLS is not set
-CONFIG_BRANCH_PROFILE_NONE=y
-# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-# CONFIG_PROFILE_ALL_BRANCHES is not set
-# CONFIG_STACK_TRACER is not set
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_DYNAMIC_FTRACE=y
-# CONFIG_FUNCTION_PROFILER is not set
-CONFIG_FTRACE_MCOUNT_RECORD=y
-# CONFIG_FTRACE_STARTUP_TEST is not set
-# CONFIG_MMIOTRACE is not set
-CONFIG_RING_BUFFER_BENCHMARK=m
-# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_DMA_API_DEBUG is not set
-CONFIG_ATOMIC64_SELFTEST=y
-CONFIG_ASYNC_RAID6_TEST=m
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-CONFIG_HAVE_ARCH_KMEMCHECK=y
-# CONFIG_TEST_KSTRTOX is not set
-CONFIG_STRICT_DEVMEM=y
-CONFIG_X86_VERBOSE_BOOTUP=y
-CONFIG_EARLY_PRINTK=y
-# CONFIG_EARLY_PRINTK_DBGP is not set
-# CONFIG_DEBUG_STACKOVERFLOW is not set
-# CONFIG_X86_PTDUMP is not set
-CONFIG_DEBUG_RODATA=y
-CONFIG_DEBUG_RODATA_TEST=y
-# CONFIG_DEBUG_SET_MODULE_RONX is not set
-# CONFIG_DEBUG_NX_TEST is not set
-# CONFIG_IOMMU_DEBUG is not set
-# CONFIG_IOMMU_STRESS is not set
-CONFIG_HAVE_MMIOTRACE_SUPPORT=y
-CONFIG_IO_DELAY_TYPE_0X80=0
-CONFIG_IO_DELAY_TYPE_0XED=1
-CONFIG_IO_DELAY_TYPE_UDELAY=2
-CONFIG_IO_DELAY_TYPE_NONE=3
-CONFIG_IO_DELAY_0X80=y
-# CONFIG_IO_DELAY_0XED is not set
-# CONFIG_IO_DELAY_UDELAY is not set
-# CONFIG_IO_DELAY_NONE is not set
-CONFIG_DEFAULT_IO_DELAY_TYPE=0
-# CONFIG_DEBUG_BOOT_PARAMS is not set
-# CONFIG_CPA_DEBUG is not set
-CONFIG_OPTIMIZE_INLINING=y
-# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-CONFIG_TRUSTED_KEYS=m
-CONFIG_ENCRYPTED_KEYS=m
-CONFIG_KEYS_DEBUG_PROC_KEYS=y
-CONFIG_SECURITY_DMESG_RESTRICT=y
-CONFIG_SECURITY=y
-CONFIG_SECURITYFS=y
-CONFIG_SECURITY_NETWORK=y
-CONFIG_SECURITY_NETWORK_XFRM=y
-# CONFIG_SECURITY_PATH is not set
-# CONFIG_INTEL_TXT is not set
-# CONFIG_SECURITY_SELINUX is not set
-# CONFIG_SECURITY_TOMOYO is not set
-# CONFIG_SECURITY_APPARMOR is not set
-# CONFIG_IMA is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_XOR_BLOCKS=y
-CONFIG_ASYNC_CORE=y
-CONFIG_ASYNC_MEMCPY=y
-CONFIG_ASYNC_XOR=y
-CONFIG_ASYNC_PQ=y
-CONFIG_ASYNC_RAID6_RECOV=y
-CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
-CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=y
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG=y
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_PCOMP=m
-CONFIG_CRYPTO_PCOMP2=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_USER=m
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-CONFIG_CRYPTO_GF128MUL=y
-CONFIG_CRYPTO_NULL=y
-CONFIG_CRYPTO_PCRYPT=m
-CONFIG_CRYPTO_WORKQUEUE=y
-CONFIG_CRYPTO_CRYPTD=y
-CONFIG_CRYPTO_AUTHENC=y
-CONFIG_CRYPTO_TEST=m
-
-#
-# Authenticated Encryption with Associated Data
-#
-CONFIG_CRYPTO_CCM=y
-CONFIG_CRYPTO_GCM=y
-CONFIG_CRYPTO_SEQIV=y
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_CTR=y
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_LRW=y
-CONFIG_CRYPTO_PCBC=y
-CONFIG_CRYPTO_XTS=y
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_VMAC=m
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_CRC32C_INTEL=m
-CONFIG_CRYPTO_GHASH=y
-CONFIG_CRYPTO_MD4=y
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=y
-CONFIG_CRYPTO_RMD128=m
-CONFIG_CRYPTO_RMD160=y
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
-CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA1_SSSE3=m
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_SHA512=y
-CONFIG_CRYPTO_TGR192=y
-CONFIG_CRYPTO_WP512=y
-CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_AES_X86_64=y
-CONFIG_CRYPTO_AES_NI_INTEL=y
-CONFIG_CRYPTO_ANUBIS=y
-CONFIG_CRYPTO_ARC4=y
-CONFIG_CRYPTO_BLOWFISH=y
-CONFIG_CRYPTO_BLOWFISH_COMMON=y
-CONFIG_CRYPTO_BLOWFISH_X86_64=m
-CONFIG_CRYPTO_CAMELLIA=y
-CONFIG_CRYPTO_CAST5=y
-CONFIG_CRYPTO_CAST6=y
-CONFIG_CRYPTO_DES=y
-CONFIG_CRYPTO_FCRYPT=y
-CONFIG_CRYPTO_KHAZAD=y
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SALSA20_X86_64=m
-CONFIG_CRYPTO_SEED=y
-CONFIG_CRYPTO_SERPENT=y
-CONFIG_CRYPTO_TEA=y
-CONFIG_CRYPTO_TWOFISH=y
-CONFIG_CRYPTO_TWOFISH_COMMON=y
-CONFIG_CRYPTO_TWOFISH_X86_64=y
-CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
-
-#
-# Compression
-#
-CONFIG_CRYPTO_DEFLATE=y
-CONFIG_CRYPTO_ZLIB=m
-CONFIG_CRYPTO_LZO=m
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_USER_API=m
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_DEV_PADLOCK=m
-CONFIG_CRYPTO_DEV_PADLOCK_AES=m
-CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
-CONFIG_HAVE_KVM=y
-CONFIG_HAVE_KVM_IRQCHIP=y
-CONFIG_HAVE_KVM_EVENTFD=y
-CONFIG_KVM_APIC_ARCHITECTURE=y
-CONFIG_KVM_MMIO=y
-CONFIG_KVM_ASYNC_PF=y
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=m
-CONFIG_KVM_INTEL=m
-CONFIG_KVM_AMD=m
-CONFIG_KVM_MMU_AUDIT=y
-CONFIG_VHOST_NET=m
-CONFIG_BINARY_PRINTF=y
-
-#
-# Library routines
-#
-CONFIG_RAID6_PQ=y
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
-CONFIG_CRC_CCITT=m
-CONFIG_CRC16=y
-CONFIG_CRC_T10DIF=m
-CONFIG_CRC_ITU_T=y
-CONFIG_CRC32=y
-CONFIG_CRC7=m
-CONFIG_LIBCRC32C=y
-CONFIG_CRC8=m
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_XZ_DEC=y
-CONFIG_XZ_DEC_X86=y
-CONFIG_XZ_DEC_POWERPC=y
-CONFIG_XZ_DEC_IA64=y
-CONFIG_XZ_DEC_ARM=y
-CONFIG_XZ_DEC_ARMTHUMB=y
-CONFIG_XZ_DEC_SPARC=y
-CONFIG_XZ_DEC_BCJ=y
-# CONFIG_XZ_DEC_TEST is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_XZ=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_GENERIC_ALLOCATOR=y
-CONFIG_REED_SOLOMON=m
-CONFIG_REED_SOLOMON_DEC16=y
-CONFIG_BCH=m
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_BTREE=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_CHECK_SIGNATURE=y
-CONFIG_CPU_RMAP=y
-CONFIG_NLATTR=y
-CONFIG_LRU_CACHE=m
-CONFIG_AVERAGE=y
-CONFIG_CORDIC=m
diff --git a/source/k/config-x86_64/config-huge-3.10.17.x64 b/source/k/config-x86_64/config-huge-3.10.17.x64
new file mode 100644
index 000000000..813247533
--- /dev/null
+++ b/source/k/config-x86_64/config-huge-3.10.17.x64
@@ -0,0 +1,6228 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/x86 3.10.17 Kernel Configuration
+#
+CONFIG_64BIT=y
+CONFIG_X86_64=y
+CONFIG_X86=y
+CONFIG_INSTRUCTION_DECODER=y
+CONFIG_OUTPUT_FORMAT="elf64-x86-64"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ZONE_DMA32=y
+CONFIG_AUDIT_ARCH=y
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_X86_64_SMP=y
+CONFIG_X86_HT=y
+CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
+CONFIG_ARCH_CPU_PROBE_RELEASE=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_EXTABLE_SORT=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_BZIP2 is not set
+CONFIG_KERNEL_LZMA=y
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+CONFIG_DEFAULT_HOSTNAME="darkstar"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_FHANDLE=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_WATCH=y
+CONFIG_AUDIT_TREE=y
+# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_GENERIC_IRQ_CHIP=y
+CONFIG_IRQ_DOMAIN=y
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_ARCH_CLOCKSOURCE_DATA=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+CONFIG_RCU_STALL_COMMON=y
+# CONFIG_RCU_USER_QS is not set
+CONFIG_RCU_FANOUT=32
+CONFIG_RCU_FANOUT_LEAF=16
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_RCU_NOCB_CPU is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+# CONFIG_MEMCG is not set
+CONFIG_CGROUP_PERF=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_SCHED_AUTOGROUP is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_HAVE_UID16=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_HOTPLUG=y
+CONFIG_HAVE_PCSPKR_PLATFORM=y
+# CONFIG_EXPERT is not set
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+CONFIG_HAVE_OPROFILE=y
+CONFIG_OPROFILE_NMI_TIMER=y
+# CONFIG_KPROBES is not set
+# CONFIG_JUMP_LABEL is not set
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_PERF_EVENTS_NMI=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
+CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP_FILTER=y
+CONFIG_HAVE_CONTEXT_TRACKING=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_COMPAT_OLD_SIGACTION=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_BSGLIB=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_DEV_THROTTLING=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+CONFIG_OSF_PARTITION=y
+CONFIG_AMIGA_PARTITION=y
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+# CONFIG_LDM_PARTITION is not set
+CONFIG_SGI_PARTITION=y
+# CONFIG_ULTRIX_PARTITION is not set
+CONFIG_SUN_PARTITION=y
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_BLOCK_COMPAT=y
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_CFQ_GROUP_IOSCHED=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+CONFIG_ASN1=m
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_INLINE_READ_UNLOCK=y
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_INLINE_WRITE_UNLOCK=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_ZONE_DMA=y
+CONFIG_SMP=y
+CONFIG_X86_X2APIC=y
+CONFIG_X86_MPPARSE=y
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+CONFIG_X86_INTEL_LPSS=y
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_HYPERVISOR_GUEST=y
+# CONFIG_PARAVIRT is not set
+# CONFIG_XEN_PRIVILEGED_GUEST is not set
+CONFIG_NO_BOOTMEM=y
+CONFIG_MEMTEST=y
+# CONFIG_MK8 is not set
+# CONFIG_MPSC is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+CONFIG_GENERIC_CPU=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=64
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+CONFIG_GART_IOMMU=y
+# CONFIG_CALGARY_IOMMU is not set
+CONFIG_SWIOTLB=y
+CONFIG_IOMMU_HELPER=y
+# CONFIG_MAXSMP is not set
+CONFIG_NR_CPUS=128
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+CONFIG_X86_MCE_THRESHOLD=y
+CONFIG_X86_MCE_INJECT=m
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_I8K=m
+CONFIG_MICROCODE=m
+CONFIG_MICROCODE_INTEL=y
+CONFIG_MICROCODE_AMD=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_MICROCODE_INTEL_LIB=y
+CONFIG_MICROCODE_INTEL_EARLY=y
+CONFIG_MICROCODE_EARLY=y
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_DIRECT_GBPAGES=y
+# CONFIG_NUMA is not set
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_MEMORY_PROBE=y
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_ARCH_DISCARD_MEMBLOCK=y
+CONFIG_MEMORY_ISOLATION=y
+CONFIG_HAVE_BOOTMEM_INFO_NODE=y
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTPLUG_SPARSE=y
+CONFIG_MEMORY_HOTREMOVE=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=98304
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+# CONFIG_MEMORY_FAILURE is not set
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_CLEANCACHE is not set
+# CONFIG_FRONTSWAP is not set
+# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
+CONFIG_X86_RESERVE_LOW=64
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_ARCH_RANDOM=y
+CONFIG_X86_SMAP=y
+CONFIG_EFI=y
+CONFIG_EFI_STUB=y
+CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+CONFIG_SCHED_HRTICK=y
+# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
+CONFIG_PHYSICAL_START=0x1000000
+# CONFIG_RELOCATABLE is not set
+CONFIG_PHYSICAL_ALIGN=0x1000000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
+# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
+CONFIG_COMPAT_VDSO=y
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_ARCH_HIBERNATION_HEADER=y
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION="\"\""
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+# CONFIG_PM_AUTOSLEEP is not set
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=100
+CONFIG_PM_WAKELOCKS_GC=y
+CONFIG_PM_RUNTIME=y
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_CLK=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_PROCFS=y
+CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_EC_DEBUGFS=m
+CONFIG_ACPI_PROC_EVENT=y
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_I2C=m
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_IPMI=m
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=m
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y
+CONFIG_ACPI_BLACKLIST_YEAR=0
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=y
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_HOTPLUG_MEMORY=y
+CONFIG_ACPI_SBS=m
+CONFIG_ACPI_HED=y
+# CONFIG_ACPI_CUSTOM_METHOD is not set
+CONFIG_ACPI_BGRT=y
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_EINJ=m
+CONFIG_ACPI_APEI_ERST_DEBUG=m
+CONFIG_SFI=y
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=m
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# x86 CPU frequency scaling drivers
+#
+CONFIG_X86_INTEL_PSTATE=y
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ_CPB=y
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_AMD_FREQ_SENSITIVITY=m
+CONFIG_X86_SPEEDSTEP_CENTRINO=m
+CONFIG_X86_P4_CLOCKMOD=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_CPU_IDLE=y
+# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
+CONFIG_INTEL_IDLE=y
+
+#
+# Memory power savings
+#
+CONFIG_I7300_IDLE_IOAT_CHANNEL=y
+CONFIG_I7300_IDLE=m
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+CONFIG_PCIEAER_INJECT=m
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
+CONFIG_PCI_STUB=m
+CONFIG_HT_IRQ=y
+CONFIG_PCI_ATS=y
+# CONFIG_PCI_IOV is not set
+CONFIG_PCI_PRI=y
+CONFIG_PCI_PASID=y
+CONFIG_PCI_IOAPIC=y
+CONFIG_PCI_LABEL=y
+CONFIG_ISA_DMA_API=y
+CONFIG_AMD_NB=y
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_PCCARD_NONSTATIC=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+# CONFIG_HOTPLUG_PCI_CPCI is not set
+CONFIG_HOTPLUG_PCI_SHPC=m
+# CONFIG_RAPIDIO is not set
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_SCRIPT=y
+# CONFIG_HAVE_AOUT is not set
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+CONFIG_IA32_EMULATION=y
+# CONFIG_IA32_AOUT is not set
+CONFIG_X86_X32=y
+CONFIG_COMPAT=y
+CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
+CONFIG_SYSVIPC_COMPAT=y
+CONFIG_KEYS_COMPAT=y
+CONFIG_HAVE_TEXT_POKE_SMP=y
+CONFIG_X86_DEV_DMA_OPS=y
+CONFIG_NET=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=m
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=y
+CONFIG_XFRM_USER=y
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+# CONFIG_IP_FIB_TRIE_STATS is not set
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_PRIVACY=y
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+# CONFIG_IPV6_SIT_6RD is not set
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETLABEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NF_CONNTRACK_PROCFS is not set
+# CONFIG_NF_CONNTRACK_EVENTS is not set
+# CONFIG_NF_CONNTRACK_TIMEOUT is not set
+# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+# CONFIG_NETFILTER_NETLINK_QUEUE_CT is not set
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NETFILTER_TPROXY=m
+CONFIG_NETFILTER_XTABLES=m
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
+CONFIG_NETFILTER_XT_TARGET_AUDIT=m
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_BPF=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS SH scheduler
+#
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_IP_VS_PE_SIP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT_IPV4=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV6=m
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RPFILTER=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_NF_NAT_IPV6=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_IP6_NF_TARGET_NPT=m
+
+#
+# DECnet: Netfilter Configuration
+#
+# CONFIG_DECNET_NF_GRABULATOR is not set
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+# CONFIG_IP_DCCP_CCID3 is not set
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+CONFIG_RDS=m
+CONFIG_RDS_RDMA=m
+CONFIG_RDS_TCP=m
+# CONFIG_RDS_DEBUG is not set
+CONFIG_TIPC=m
+CONFIG_TIPC_PORTS=8191
+CONFIG_TIPC_MEDIA_IB=y
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_L2TP=m
+CONFIG_L2TP_DEBUGFS=m
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=m
+CONFIG_L2TP_ETH=m
+CONFIG_STP=m
+CONFIG_GARP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_HAVE_NET_DSA=y
+CONFIG_NET_DSA=m
+CONFIG_NET_DSA_TAG_DSA=y
+CONFIG_NET_DSA_TAG_EDSA=y
+CONFIG_NET_DSA_TAG_TRAILER=y
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+# CONFIG_VLAN_8021Q_MVRP is not set
+CONFIG_DECNET=m
+# CONFIG_DECNET_ROUTER is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+CONFIG_IEEE802154=m
+CONFIG_IEEE802154_6LOWPAN=m
+CONFIG_MAC802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_EMATCH_CANID=m
+CONFIG_NET_EMATCH_IPSET=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=y
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+# CONFIG_NET_CLS_IND is not set
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+CONFIG_BATMAN_ADV=m
+CONFIG_BATMAN_ADV_BLA=y
+CONFIG_BATMAN_ADV_DAT=y
+CONFIG_BATMAN_ADV_NC=y
+# CONFIG_BATMAN_ADV_DEBUG is not set
+CONFIG_OPENVSWITCH=m
+CONFIG_VSOCKETS=m
+CONFIG_VMWARE_VMCI_VSOCKETS=m
+CONFIG_NETLINK_MMAP=y
+CONFIG_NETLINK_DIAG=m
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+CONFIG_NETPRIO_CGROUP=m
+CONFIG_BQL=y
+CONFIG_BPF_JIT=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_DROP_MONITOR is not set
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+# CONFIG_AX25_DAMA_SLAVE is not set
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_YAM=m
+CONFIG_CAN=m
+CONFIG_CAN_RAW=m
+CONFIG_CAN_BCM=m
+CONFIG_CAN_GW=m
+
+#
+# CAN Device Drivers
+#
+CONFIG_CAN_VCAN=m
+CONFIG_CAN_SLCAN=m
+CONFIG_CAN_DEV=m
+CONFIG_CAN_CALC_BITTIMING=y
+# CONFIG_CAN_LEDS is not set
+CONFIG_CAN_JANZ_ICAN3=m
+CONFIG_PCH_CAN=m
+CONFIG_CAN_SJA1000=m
+CONFIG_CAN_SJA1000_ISA=m
+CONFIG_CAN_SJA1000_PLATFORM=m
+CONFIG_CAN_EMS_PCMCIA=m
+CONFIG_CAN_EMS_PCI=m
+CONFIG_CAN_PEAK_PCMCIA=m
+CONFIG_CAN_PEAK_PCI=m
+CONFIG_CAN_PEAK_PCIEC=y
+CONFIG_CAN_KVASER_PCI=m
+CONFIG_CAN_PLX_PCI=m
+CONFIG_CAN_C_CAN=m
+CONFIG_CAN_C_CAN_PLATFORM=m
+CONFIG_CAN_C_CAN_PCI=m
+CONFIG_CAN_CC770=m
+CONFIG_CAN_CC770_ISA=m
+CONFIG_CAN_CC770_PLATFORM=m
+
+#
+# CAN USB interfaces
+#
+CONFIG_CAN_EMS_USB=m
+CONFIG_CAN_ESD_USB2=m
+CONFIG_CAN_KVASER_USB=m
+CONFIG_CAN_PEAK_USB=m
+CONFIG_CAN_8DEV_USB=m
+CONFIG_CAN_SOFTING=m
+CONFIG_CAN_SOFTING_CS=m
+# CONFIG_CAN_DEBUG_DEVICES is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_CMTP=m
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_3WIRE=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_BT_WILINK=m
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_RFKILL_REGULATOR=m
+CONFIG_RFKILL_GPIO=m
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+CONFIG_NET_9P_RDMA=m
+# CONFIG_NET_9P_DEBUG is not set
+# CONFIG_CAIF is not set
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+CONFIG_NFC=m
+CONFIG_NFC_NCI=m
+CONFIG_NFC_HCI=m
+# CONFIG_NFC_SHDLC is not set
+
+#
+# Near Field Communication (NFC) devices
+#
+CONFIG_NFC_PN533=m
+CONFIG_NFC_WILINK=m
+# CONFIG_NFC_MEI_PHY is not set
+CONFIG_NFC_PN544=m
+CONFIG_NFC_MICROREAD=m
+CONFIG_HAVE_BPF_JIT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_GENERIC_CPU_DEVICES is not set
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=m
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+
+#
+# Bus devices
+#
+CONFIG_CONNECTOR=m
+CONFIG_MTD=m
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_REDBOOT_PARTS=m
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=m
+CONFIG_MTD_AR7_PARTS=m
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+CONFIG_SM_FTL=m
+CONFIG_MTD_OOPS=m
+CONFIG_MTD_SWAP=m
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+CONFIG_MTD_GEN_PROBE=m
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_MAP_BANK_WIDTH_8=y
+CONFIG_MTD_MAP_BANK_WIDTH_16=y
+CONFIG_MTD_MAP_BANK_WIDTH_32=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+CONFIG_MTD_CFI_I4=y
+CONFIG_MTD_CFI_I8=y
+CONFIG_MTD_OTP=y
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_CFI_UTIL=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=m
+# CONFIG_MTD_PHYSMAP_COMPAT is not set
+CONFIG_MTD_SC520CDP=m
+CONFIG_MTD_NETSC520=m
+CONFIG_MTD_TS5500=m
+CONFIG_MTD_SBC_GXX=m
+CONFIG_MTD_AMD76XROM=m
+CONFIG_MTD_ICHXROM=m
+CONFIG_MTD_ESB2ROM=m
+CONFIG_MTD_CK804XROM=m
+CONFIG_MTD_SCB2_FLASH=m
+CONFIG_MTD_NETtel=m
+CONFIG_MTD_L440GX=m
+CONFIG_MTD_PCI=m
+CONFIG_MTD_PCMCIA=m
+# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
+CONFIG_MTD_GPIO_ADDR=m
+CONFIG_MTD_INTEL_VR_NOR=m
+CONFIG_MTD_PLATRAM=m
+CONFIG_MTD_LATCH_ADDR=m
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_PMC551=m
+CONFIG_MTD_PMC551_BUGFIX=y
+# CONFIG_MTD_PMC551_DEBUG is not set
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+
+#
+# Disk-On-Chip Device Drivers
+#
+CONFIG_MTD_DOCG3=m
+CONFIG_BCH_CONST_M=14
+CONFIG_BCH_CONST_T=4
+CONFIG_MTD_NAND_ECC=m
+CONFIG_MTD_NAND_ECC_SMC=y
+CONFIG_MTD_NAND=m
+CONFIG_MTD_NAND_BCH=m
+CONFIG_MTD_NAND_ECC_BCH=y
+CONFIG_MTD_SM_COMMON=m
+CONFIG_MTD_NAND_DENALI=m
+CONFIG_MTD_NAND_DENALI_PCI=m
+CONFIG_MTD_NAND_DENALI_DT=m
+CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
+CONFIG_MTD_NAND_IDS=m
+CONFIG_MTD_NAND_RICOH=m
+CONFIG_MTD_NAND_DISKONCHIP=m
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
+CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
+CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y
+CONFIG_MTD_NAND_DOCG4=m
+CONFIG_MTD_NAND_CAFE=m
+CONFIG_MTD_NAND_NANDSIM=m
+CONFIG_MTD_NAND_PLATFORM=m
+CONFIG_MTD_ALAUDA=m
+CONFIG_MTD_ONENAND=m
+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+CONFIG_MTD_ONENAND_GENERIC=m
+CONFIG_MTD_ONENAND_OTP=y
+CONFIG_MTD_ONENAND_2X_PROGRAM=y
+
+#
+# LPDDR flash memory drivers
+#
+CONFIG_MTD_LPDDR=m
+CONFIG_MTD_QINFO_PROBE=m
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+CONFIG_MTD_UBI_GLUEBI=m
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+CONFIG_PNP_DEBUG_MESSAGES=y
+
+#
+# Protocols
+#
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=y
+CONFIG_PARIDE=m
+
+#
+# Parallel IDE high-level drivers
+#
+CONFIG_PARIDE_PD=m
+CONFIG_PARIDE_PCD=m
+CONFIG_PARIDE_PF=m
+CONFIG_PARIDE_PT=m
+CONFIG_PARIDE_PG=m
+
+#
+# Parallel IDE protocol modules
+#
+CONFIG_PARIDE_ATEN=m
+CONFIG_PARIDE_BPCK=m
+CONFIG_PARIDE_COMM=m
+CONFIG_PARIDE_DSTR=m
+CONFIG_PARIDE_FIT2=m
+CONFIG_PARIDE_FIT3=m
+CONFIG_PARIDE_EPAT=m
+CONFIG_PARIDE_EPATC8=y
+CONFIG_PARIDE_EPIA=m
+CONFIG_PARIDE_FRIQ=m
+CONFIG_PARIDE_FRPW=m
+CONFIG_PARIDE_KBIC=m
+CONFIG_PARIDE_KTTI=m
+CONFIG_PARIDE_ON20=m
+CONFIG_PARIDE_ON26=m
+CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
+CONFIG_BLK_CPQ_DA=y
+CONFIG_BLK_CPQ_CISS_DA=y
+CONFIG_CISS_SCSI_TAPE=y
+CONFIG_BLK_DEV_DAC960=y
+CONFIG_BLK_DEV_UMEM=m
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NVME=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_BLK_DEV_RBD=m
+CONFIG_BLK_DEV_RSXX=m
+
+#
+# Misc devices
+#
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_AD525X_DPOT=m
+CONFIG_AD525X_DPOT_I2C=m
+CONFIG_ATMEL_PWM=m
+CONFIG_DUMMY_IRQ=m
+CONFIG_IBM_ASM=m
+CONFIG_PHANTOM=m
+CONFIG_INTEL_MID_PTI=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+CONFIG_ATMEL_SSC=m
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+CONFIG_HP_ILO=m
+CONFIG_APDS9802ALS=m
+CONFIG_ISL29003=m
+CONFIG_ISL29020=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_SENSORS_BH1780=m
+CONFIG_SENSORS_BH1770=m
+CONFIG_SENSORS_APDS990X=m
+CONFIG_HMC6352=m
+CONFIG_DS1682=m
+CONFIG_VMWARE_BALLOON=m
+CONFIG_BMP085=y
+CONFIG_BMP085_I2C=m
+CONFIG_PCH_PHUB=m
+CONFIG_USB_SWITCH_FSA9480=m
+# CONFIG_SRAM is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+
+#
+# Texas Instruments shared transport line discipline
+#
+CONFIG_TI_ST=m
+CONFIG_SENSORS_LIS3_I2C=m
+
+#
+# Altera FPGA firmware download module
+#
+CONFIG_ALTERA_STAPL=m
+CONFIG_INTEL_MEI=m
+CONFIG_INTEL_MEI_ME=m
+CONFIG_VMWARE_VMCI=m
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+CONFIG_RAID_ATTRS=y
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=y
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_ST=y
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=y
+CONFIG_SCSI_FC_ATTRS=y
+CONFIG_SCSI_FC_TGT_ATTRS=y
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=y
+CONFIG_SCSI_SAS_LIBSAS=y
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_ISCSI_BOOT_SYSFS=y
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_CXGB4_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_SCSI_BNX2X_FCOE=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=y
+CONFIG_SCSI_HPSA=y
+CONFIG_SCSI_3W_9XXX=y
+CONFIG_SCSI_3W_SAS=y
+CONFIG_SCSI_ACARD=y
+CONFIG_SCSI_AACRAID=y
+CONFIG_SCSI_AIC7XXX=y
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_AIC7XXX_OLD=y
+CONFIG_SCSI_AIC79XX=y
+CONFIG_AIC79XX_CMDS_PER_DEVICE=4
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_AIC94XX=y
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=y
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+# CONFIG_SCSI_MVSAS_TASKLET is not set
+CONFIG_SCSI_MVUMI=m
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=y
+CONFIG_SCSI_ARCMSR=y
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=y
+CONFIG_MEGARAID_MAILBOX=y
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=y
+CONFIG_SCSI_MPT2SAS=y
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT3SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT3SAS_LOGGING is not set
+CONFIG_SCSI_UFSHCD=m
+CONFIG_SCSI_UFSHCD_PCI=m
+CONFIG_SCSI_UFSHCD_PLATFORM=m
+CONFIG_SCSI_HPTIOP=y
+CONFIG_SCSI_BUSLOGIC=y
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_LIBFC=y
+CONFIG_LIBFCOE=y
+CONFIG_FCOE=y
+CONFIG_FCOE_FNIC=y
+CONFIG_SCSI_DMX3191D=y
+CONFIG_SCSI_EATA=y
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=y
+CONFIG_SCSI_GDTH=y
+CONFIG_SCSI_ISCI=m
+CONFIG_SCSI_IPS=y
+CONFIG_SCSI_INITIO=y
+CONFIG_SCSI_INIA100=y
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_STEX=y
+CONFIG_SCSI_SYM53C8XX_2=y
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=y
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_QLOGIC_1280=y
+CONFIG_SCSI_QLA_FC=y
+CONFIG_TCM_QLA2XXX=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=y
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_DC395x=y
+CONFIG_SCSI_DC390T=y
+CONFIG_SCSI_DEBUG=m
+CONFIG_SCSI_PMCRAID=y
+CONFIG_SCSI_PM8001=y
+CONFIG_SCSI_SRP=y
+CONFIG_SCSI_BFA_FC=y
+CONFIG_SCSI_VIRTIO=m
+CONFIG_SCSI_CHELSIO_FCOE=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=1
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+# CONFIG_SATA_ZPODD is not set
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_SATA_INIC162X=y
+CONFIG_SATA_ACARD_AHCI=y
+CONFIG_SATA_SIL24=y
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+CONFIG_PDC_ADMA=y
+CONFIG_SATA_QSTOR=y
+CONFIG_SATA_SX4=y
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+CONFIG_ATA_PIIX=y
+CONFIG_SATA_HIGHBANK=m
+CONFIG_SATA_MV=y
+CONFIG_SATA_NV=y
+CONFIG_SATA_PROMISE=y
+CONFIG_SATA_SIL=y
+CONFIG_SATA_SIS=y
+CONFIG_SATA_SVW=y
+CONFIG_SATA_ULI=y
+CONFIG_SATA_VIA=y
+CONFIG_SATA_VITESSE=y
+
+#
+# PATA SFF controllers with BMDMA
+#
+CONFIG_PATA_ALI=y
+CONFIG_PATA_AMD=y
+CONFIG_PATA_ARASAN_CF=m
+CONFIG_PATA_ARTOP=y
+CONFIG_PATA_ATIIXP=y
+CONFIG_PATA_ATP867X=y
+CONFIG_PATA_CMD64X=y
+CONFIG_PATA_CS5520=y
+CONFIG_PATA_CS5530=y
+CONFIG_PATA_CS5536=y
+CONFIG_PATA_CYPRESS=y
+CONFIG_PATA_EFAR=y
+CONFIG_PATA_HPT366=y
+CONFIG_PATA_HPT37X=y
+CONFIG_PATA_HPT3X2N=y
+CONFIG_PATA_HPT3X3=y
+CONFIG_PATA_HPT3X3_DMA=y
+CONFIG_PATA_IT8213=y
+CONFIG_PATA_IT821X=y
+CONFIG_PATA_JMICRON=y
+CONFIG_PATA_MARVELL=y
+CONFIG_PATA_NETCELL=y
+CONFIG_PATA_NINJA32=y
+CONFIG_PATA_NS87415=y
+CONFIG_PATA_OLDPIIX=y
+CONFIG_PATA_OPTIDMA=y
+CONFIG_PATA_PDC2027X=y
+CONFIG_PATA_PDC_OLD=y
+CONFIG_PATA_RADISYS=y
+CONFIG_PATA_RDC=y
+CONFIG_PATA_SC1200=y
+CONFIG_PATA_SCH=y
+CONFIG_PATA_SERVERWORKS=y
+CONFIG_PATA_SIL680=y
+CONFIG_PATA_SIS=y
+CONFIG_PATA_TOSHIBA=m
+CONFIG_PATA_TRIFLEX=y
+CONFIG_PATA_VIA=y
+CONFIG_PATA_WINBOND=y
+
+#
+# PIO-only SFF controllers
+#
+CONFIG_PATA_CMD640_PCI=y
+CONFIG_PATA_MPIIX=y
+CONFIG_PATA_NS87410=y
+CONFIG_PATA_OPTI=y
+CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_RZ1000=y
+
+#
+# Generic fallback / legacy drivers
+#
+CONFIG_PATA_ACPI=y
+CONFIG_ATA_GENERIC=y
+CONFIG_PATA_LEGACY=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=y
+CONFIG_MD_AUTODETECT=y
+CONFIG_MD_LINEAR=y
+CONFIG_MD_RAID0=y
+CONFIG_MD_RAID1=y
+CONFIG_MD_RAID10=y
+CONFIG_MD_RAID456=y
+CONFIG_MD_MULTIPATH=y
+CONFIG_MD_FAULTY=m
+CONFIG_BCACHE=m
+# CONFIG_BCACHE_DEBUG is not set
+# CONFIG_BCACHE_EDEBUG is not set
+# CONFIG_BCACHE_CLOSURES_DEBUG is not set
+CONFIG_BLK_DEV_DM=y
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_BUFIO=m
+CONFIG_DM_BIO_PRISON=m
+CONFIG_DM_PERSISTENT_DATA=m
+CONFIG_DM_CRYPT=y
+CONFIG_DM_SNAPSHOT=y
+CONFIG_DM_THIN_PROVISIONING=m
+# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
+CONFIG_DM_CACHE=m
+CONFIG_DM_CACHE_MQ=m
+CONFIG_DM_CACHE_CLEANER=m
+CONFIG_DM_MIRROR=y
+CONFIG_DM_RAID=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+# CONFIG_DM_DELAY is not set
+CONFIG_DM_UEVENT=y
+CONFIG_DM_FLAKEY=m
+CONFIG_DM_VERITY=m
+CONFIG_TARGET_CORE=m
+CONFIG_TCM_IBLOCK=m
+CONFIG_TCM_FILEIO=m
+CONFIG_TCM_PSCSI=m
+CONFIG_LOOPBACK_TARGET=m
+CONFIG_TCM_FC=m
+CONFIG_ISCSI_TARGET=m
+CONFIG_SBP_TARGET=m
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=y
+CONFIG_FUSION_FC=y
+CONFIG_FUSION_SAS=y
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=y
+CONFIG_FUSION_LAN=y
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+CONFIG_FIREWIRE_NOSY=m
+CONFIG_I2O=y
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_EXT_ADAPTEC_DMA64=y
+CONFIG_I2O_CONFIG=y
+# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
+CONFIG_I2O_BUS=y
+CONFIG_I2O_BLOCK=y
+CONFIG_I2O_SCSI=y
+CONFIG_I2O_PROC=y
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_EQUALIZER=m
+CONFIG_NET_FC=y
+CONFIG_MII=m
+CONFIG_IFB=m
+CONFIG_NET_TEAM=m
+CONFIG_NET_TEAM_MODE_BROADCAST=m
+CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
+CONFIG_NET_TEAM_MODE_RANDOM=m
+CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
+CONFIG_NET_TEAM_MODE_LOADBALANCE=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_VXLAN=m
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_NTB_NETDEV=m
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=m
+CONFIG_SUNGEM_PHY=m
+CONFIG_ARCNET=m
+CONFIG_ARCNET_1201=m
+CONFIG_ARCNET_1051=m
+CONFIG_ARCNET_RAW=m
+CONFIG_ARCNET_CAP=m
+CONFIG_ARCNET_COM90xx=m
+CONFIG_ARCNET_COM90xxIO=m
+CONFIG_ARCNET_RIM_I=m
+CONFIG_ARCNET_COM20020=m
+CONFIG_ARCNET_COM20020_PCI=m
+CONFIG_ARCNET_COM20020_CS=m
+CONFIG_ATM_DRIVERS=y
+CONFIG_ATM_DUMMY=m
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E=m
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+
+#
+# CAIF transport drivers
+#
+CONFIG_VHOST_NET=m
+CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_RING=m
+
+#
+# Distributed Switch Architecture drivers
+#
+CONFIG_NET_DSA_MV88E6XXX=m
+CONFIG_NET_DSA_MV88E6060=m
+CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
+CONFIG_NET_DSA_MV88E6131=m
+CONFIG_NET_DSA_MV88E6123_61_65=m
+CONFIG_ETHERNET=y
+CONFIG_MDIO=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_3C589=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_NET_VENDOR_ADAPTEC=y
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_NET_VENDOR_ALTEON=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_NET_VENDOR_AMD=y
+CONFIG_AMD8111_ETH=m
+CONFIG_PCNET32=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_NET_VENDOR_ATHEROS=y
+CONFIG_ATL2=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_ALX=m
+CONFIG_NET_CADENCE=y
+CONFIG_ARM_AT91_ETHER=m
+CONFIG_MACB=m
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_TIGON3=m
+CONFIG_BNX2X=m
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_BNA=m
+CONFIG_NET_CALXEDA_XGMAC=m
+CONFIG_NET_VENDOR_CHELSIO=y
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4=m
+CONFIG_CHELSIO_T4VF=m
+CONFIG_NET_VENDOR_CISCO=y
+CONFIG_ENIC=m
+CONFIG_DNET=m
+CONFIG_NET_VENDOR_DEC=y
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+CONFIG_TULIP_MMIO=y
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_NET_VENDOR_DLINK=y
+CONFIG_DL2K=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_NET_VENDOR_EMULEX=y
+CONFIG_BE2NET=m
+CONFIG_NET_VENDOR_EXAR=y
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_NET_VENDOR_FUJITSU=y
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_NET_VENDOR_HP=y
+CONFIG_HP100=m
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_E100=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IGB=m
+CONFIG_IGB_HWMON=y
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_IXGB=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_HWMON=y
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_IP1000=m
+CONFIG_JME=m
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_MVMDIO=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKGE_GENESIS=y
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_NET_VENDOR_MICREL=y
+CONFIG_KS8842=m
+CONFIG_KS8851_MLL=m
+CONFIG_KSZ884X_PCI=m
+CONFIG_NET_VENDOR_MYRI=y
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_FEALNX=m
+CONFIG_NET_VENDOR_NATSEMI=y
+CONFIG_NATSEMI=m
+CONFIG_NS83820=m
+CONFIG_NET_VENDOR_8390=y
+CONFIG_PCMCIA_AXNET=m
+CONFIG_NE2K_PCI=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_NET_VENDOR_NVIDIA=y
+CONFIG_FORCEDETH=m
+CONFIG_NET_VENDOR_OKI=y
+CONFIG_PCH_GBE=m
+CONFIG_ETHOC=m
+CONFIG_NET_PACKET_ENGINE=y
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_NET_VENDOR_QLOGIC=y
+CONFIG_QLA3XXX=m
+CONFIG_QLCNIC=m
+CONFIG_QLGE=m
+CONFIG_NETXEN_NIC=m
+CONFIG_NET_VENDOR_REALTEK=y
+CONFIG_ATP=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+CONFIG_8139TOO_PIO=y
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R8169=m
+CONFIG_NET_VENDOR_RDC=y
+CONFIG_R6040=m
+CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SILAN=y
+CONFIG_SC92031=m
+CONFIG_NET_VENDOR_SIS=y
+CONFIG_SIS900=m
+CONFIG_SIS190=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_SFC_MCDI_MON=y
+CONFIG_NET_VENDOR_SMSC=y
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
+CONFIG_NET_VENDOR_STMICRO=y
+CONFIG_STMMAC_ETH=m
+CONFIG_STMMAC_PLATFORM=y
+# CONFIG_STMMAC_PCI is not set
+CONFIG_STMMAC_DEBUG_FS=y
+# CONFIG_STMMAC_DA is not set
+CONFIG_NET_VENDOR_SUN=y
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NIU=m
+CONFIG_NET_VENDOR_TEHUTI=y
+CONFIG_TEHUTI=m
+CONFIG_NET_VENDOR_TI=y
+CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VIA=y
+CONFIG_VIA_RHINE=m
+CONFIG_VIA_RHINE_MMIO=y
+CONFIG_VIA_VELOCITY=m
+CONFIG_NET_VENDOR_WIZNET=y
+CONFIG_WIZNET_W5100=m
+CONFIG_WIZNET_W5300=m
+# CONFIG_WIZNET_BUS_DIRECT is not set
+# CONFIG_WIZNET_BUS_INDIRECT is not set
+CONFIG_WIZNET_BUS_ANY=y
+CONFIG_NET_VENDOR_XIRCOM=y
+CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_FDDI=y
+CONFIG_DEFXX=m
+# CONFIG_DEFXX_MMIO is not set
+CONFIG_SKFP=m
+CONFIG_HIPPI=y
+CONFIG_ROADRUNNER=m
+# CONFIG_ROADRUNNER_LARGE_RINGS is not set
+CONFIG_NET_SB1000=m
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_AT803X_PHY=m
+CONFIG_AMD_PHY=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_BCM87XX_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+CONFIG_MDIO_BITBANG=m
+CONFIG_MDIO_GPIO=m
+CONFIG_PLIP=m
+CONFIG_PPP=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOATM=m
+CONFIG_PPPOE=m
+CONFIG_PPTP=m
+CONFIG_PPPOL2TP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_SLIP=m
+CONFIG_SLHC=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLIP_SMART=y
+# CONFIG_SLIP_MODE_SLIP6 is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_CDC_MBIM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_NET_CX82310_ETH=m
+CONFIG_USB_NET_KALMIA=m
+CONFIG_USB_NET_QMI_WWAN=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_USB_VL600=m
+CONFIG_WLAN=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_LIBERTAS_THINFIRM=m
+# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+CONFIG_ATH_CARDS=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+# CONFIG_ATH5K_TRACER is not set
+CONFIG_ATH5K_PCI=y
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
+CONFIG_ATH9K=m
+CONFIG_ATH9K_PCI=y
+# CONFIG_ATH9K_AHB is not set
+# CONFIG_ATH9K_DEBUGFS is not set
+# CONFIG_ATH9K_LEGACY_RATE_CONTROL is not set
+CONFIG_ATH9K_HTC=m
+# CONFIG_ATH9K_HTC_DEBUGFS is not set
+CONFIG_CARL9170=m
+CONFIG_CARL9170_LEDS=y
+CONFIG_CARL9170_WPC=y
+# CONFIG_CARL9170_HWRNG is not set
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_ATH6KL_USB=m
+# CONFIG_ATH6KL_DEBUG is not set
+# CONFIG_ATH6KL_TRACING is not set
+CONFIG_AR5523=m
+CONFIG_WIL6210=m
+CONFIG_WIL6210_ISR_COR=y
+CONFIG_B43=m
+CONFIG_B43_BCMA=y
+# CONFIG_B43_BCMA_EXTRA is not set
+CONFIG_B43_SSB=y
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_BCMA_PIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_N=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_PHY_HT=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_BRCMUTIL=m
+CONFIG_BRCMSMAC=m
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_SDIO=y
+CONFIG_BRCMFMAC_USB=y
+CONFIG_BRCM_TRACING=y
+# CONFIG_BRCMDBG is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+CONFIG_IWLDVM=m
+CONFIG_IWLMVM=m
+CONFIG_IWLWIFI_OPMODE_MODULAR=y
+
+#
+# Debugging Options
+#
+# CONFIG_IWLWIFI_DEBUG is not set
+# CONFIG_IWLWIFI_DEVICE_TRACING is not set
+# CONFIG_IWLWIFI_P2P is not set
+CONFIG_IWLEGACY=m
+CONFIG_IWL4965=m
+CONFIG_IWL3945=m
+
+#
+# iwl3945 / iwl4965 Debugging Options
+#
+# CONFIG_IWLEGACY_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+# CONFIG_HERMES_PRISM is not set
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_ORINOCO_USB=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT33XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2800PCI_RT53XX=y
+CONFIG_RT2800PCI_RT3290=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT33XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_RT53XX=y
+CONFIG_RT2800USB_RT55XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_MMIO=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_RTLWIFI=m
+# CONFIG_RTLWIFI_DEBUG is not set
+CONFIG_RTL8192CE=m
+CONFIG_RTL8192SE=m
+CONFIG_RTL8192DE=m
+CONFIG_RTL8723AE=m
+CONFIG_RTL8188EE=m
+CONFIG_RTL8192CU=m
+CONFIG_RTL8192C_COMMON=m
+CONFIG_WL_TI=y
+CONFIG_WL1251=m
+CONFIG_WL1251_SDIO=m
+CONFIG_WL12XX=m
+CONFIG_WL18XX=m
+CONFIG_WLCORE=m
+CONFIG_WLCORE_SDIO=m
+CONFIG_WILINK_PLATFORM_DATA=y
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_MWIFIEX_USB=m
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+CONFIG_WAN=y
+CONFIG_LANMEDIA=m
+CONFIG_HDLC=m
+CONFIG_HDLC_RAW=m
+CONFIG_HDLC_RAW_ETH=m
+CONFIG_HDLC_CISCO=m
+CONFIG_HDLC_FR=m
+CONFIG_HDLC_PPP=m
+
+#
+# X.25/LAPB support is disabled
+#
+CONFIG_PCI200SYN=m
+CONFIG_WANXL=m
+# CONFIG_PC300TOO is not set
+CONFIG_FARSYNC=m
+CONFIG_DSCC4=m
+# CONFIG_DSCC4_PCISYNC is not set
+# CONFIG_DSCC4_PCI_RST is not set
+CONFIG_DLCI=m
+CONFIG_DLCI_MAX=8
+CONFIG_SBNI=m
+# CONFIG_SBNI_MULTILINE is not set
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+CONFIG_IEEE802154_FAKELB=m
+CONFIG_VMXNET3=m
+CONFIG_HYPERV_NET=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+CONFIG_HISAX_NO_SENDCOMPLETE=y
+CONFIG_HISAX_NO_LLC=y
+CONFIG_HISAX_NO_KEYPAD=y
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+# CONFIG_GIGASET_CAPI is not set
+CONFIG_GIGASET_I4L=y
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+# CONFIG_GIGASET_M101 is not set
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=y
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+CONFIG_INPUT_MATRIXKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ADP5589=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_QT1070=m
+CONFIG_KEYBOARD_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_GPIO_POLLED=m
+CONFIG_KEYBOARD_TCA6416=m
+CONFIG_KEYBOARD_TCA8418=m
+CONFIG_KEYBOARD_MATRIX=m
+CONFIG_KEYBOARD_LM8323=m
+CONFIG_KEYBOARD_LM8333=m
+CONFIG_KEYBOARD_MAX7359=m
+CONFIG_KEYBOARD_MCS=m
+CONFIG_KEYBOARD_MPR121=m
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OPENCORES=m
+CONFIG_KEYBOARD_SAMSUNG=m
+CONFIG_KEYBOARD_STOWAWAY=m
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_CROS_EC=m
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+CONFIG_MOUSE_PS2_TOUCHKIT=y
+CONFIG_MOUSE_SERIAL=m
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_CYAPA=m
+CONFIG_MOUSE_VSXXXAA=m
+CONFIG_MOUSE_GPIO=m
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_MOUSE_SYNAPTICS_USB=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_AS5011=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_HANWANG=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
+CONFIG_TOUCHSCREEN_BU21013=m
+CONFIG_TOUCHSCREEN_CY8CTMG110=m
+CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
+CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_HAMPSHIRE=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_ILI210X=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_WACOM_I2C=m
+CONFIG_TOUCHSCREEN_MAX11801=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MMS114=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+CONFIG_TOUCHSCREEN_WM9705=y
+CONFIG_TOUCHSCREEN_WM9712=y
+CONFIG_TOUCHSCREEN_WM9713=y
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+CONFIG_TOUCHSCREEN_MC13783=m
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+CONFIG_TOUCHSCREEN_USB_ELO=y
+CONFIG_TOUCHSCREEN_USB_E2I=y
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC_SERIO=m
+CONFIG_TOUCHSCREEN_TSC2007=m
+CONFIG_TOUCHSCREEN_W90X900=m
+CONFIG_TOUCHSCREEN_ST1232=m
+CONFIG_TOUCHSCREEN_TPS6507X=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_AD714X=m
+CONFIG_INPUT_AD714X_I2C=m
+CONFIG_INPUT_BMA150=m
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_MC13783_PWRBUTTON=m
+CONFIG_INPUT_MMA8450=m
+CONFIG_INPUT_MPU3050=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_GP2A=m
+CONFIG_INPUT_GPIO_TILT_POLLED=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_KXTJ9=m
+CONFIG_INPUT_KXTJ9_POLLED_MODE=y
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_PCF8574=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+CONFIG_INPUT_ADXL34X=m
+CONFIG_INPUT_ADXL34X_I2C=m
+CONFIG_INPUT_IMS_PCU=m
+CONFIG_INPUT_CMA3000=m
+CONFIG_INPUT_CMA3000_I2C=m
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
+CONFIG_SERIO_PS2MULT=m
+CONFIG_SERIO_ARC_PS2=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=32
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+CONFIG_MOXA_INTELLIO=m
+CONFIG_MOXA_SMARTIO=m
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+CONFIG_SYNCLINK_GT=m
+CONFIG_NOZOMI=m
+CONFIG_ISI=m
+CONFIG_N_HDLC=m
+CONFIG_N_GSM=m
+CONFIG_TRACE_ROUTER=m
+CONFIG_TRACE_SINK=m
+CONFIG_DEVKMEM=y
+CONFIG_STALDRV=y
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_8250_DW=m
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_MFD_HSU=m
+CONFIG_SERIAL_UARTLITE=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_SCCNXP=m
+CONFIG_SERIAL_TIMBERDALE=m
+CONFIG_SERIAL_ALTERA_JTAGUART=m
+CONFIG_SERIAL_ALTERA_UART=m
+CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
+CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
+CONFIG_SERIAL_PCH_UART=m
+CONFIG_SERIAL_ARC=m
+CONFIG_SERIAL_ARC_NR_PORTS=1
+CONFIG_SERIAL_RP2=m
+CONFIG_SERIAL_RP2_NR_UARTS=32
+CONFIG_PRINTER=m
+CONFIG_LP_CONSOLE=y
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_VIRTIO_CONSOLE=m
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_ATMEL=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_EXYNOS=m
+CONFIG_HW_RANDOM_TPM=m
+CONFIG_NVRAM=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+CONFIG_MWAVE=m
+CONFIG_RAW_DRIVER=m
+CONFIG_MAX_RAW_DEVS=256
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_TIS_I2C_INFINEON=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TCG_ST33_I2C=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_MUX=m
+
+#
+# Multiplexer I2C Chip support
+#
+CONFIG_I2C_MUX_GPIO=m
+CONFIG_I2C_MUX_PCA9541=m
+CONFIG_I2C_MUX_PCA954x=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_ISMT=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_PLATFORM=m
+CONFIG_I2C_DESIGNWARE_PCI=m
+CONFIG_I2C_EG20T=m
+CONFIG_I2C_GPIO=m
+CONFIG_I2C_INTEL_MID=m
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_DIOLAN_U2C=m
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+CONFIG_I2C_VIPERBOARD=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_SPI is not set
+
+#
+# Qualcomm MSM SSBI bus support
+#
+# CONFIG_SSBI is not set
+CONFIG_HSI=m
+CONFIG_HSI_BOARDINFO=y
+
+#
+# HSI clients
+#
+CONFIG_HSI_CHAR=m
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_PPS_CLIENT_PARPORT=m
+CONFIG_PPS_CLIENT_GPIO=m
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=m
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+CONFIG_PTP_1588_CLOCK_PCH=m
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_GPIO_DEVRES=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_ACPI=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_GENERIC=m
+CONFIG_GPIO_MAX730X=m
+
+#
+# Memory mapped GPIO drivers:
+#
+CONFIG_GPIO_GENERIC_PLATFORM=m
+CONFIG_GPIO_IT8761E=m
+CONFIG_GPIO_TS5500=m
+CONFIG_GPIO_SCH=m
+CONFIG_GPIO_ICH=m
+CONFIG_GPIO_VX855=m
+CONFIG_GPIO_LYNXPOINT=y
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_ARIZONA=m
+CONFIG_GPIO_MAX7300=m
+CONFIG_GPIO_MAX732X=m
+CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCF857X=m
+CONFIG_GPIO_ADP5588=m
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_AMD8111=m
+# CONFIG_GPIO_LANGWELL is not set
+CONFIG_GPIO_PCH=m
+CONFIG_GPIO_ML_IOH=m
+# CONFIG_GPIO_TIMBERDALE is not set
+CONFIG_GPIO_RDC321X=m
+
+#
+# SPI GPIO expanders:
+#
+CONFIG_GPIO_MCP23S08=m
+
+#
+# AC97 GPIO expanders:
+#
+# CONFIG_GPIO_UCB1400 is not set
+
+#
+# MODULbus GPIO expanders:
+#
+CONFIG_GPIO_JANZ_TTL=m
+
+#
+# USB GPIO expanders:
+#
+CONFIG_GPIO_VIPERBOARD=m
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+#
+# 1-wire Bus Masters
+#
+CONFIG_W1_MASTER_MATROX=m
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+CONFIG_W1_MASTER_DS1WM=m
+CONFIG_W1_MASTER_GPIO=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2408=m
+# CONFIG_W1_SLAVE_DS2408_READBACK is not set
+CONFIG_W1_SLAVE_DS2413=m
+CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2431=m
+CONFIG_W1_SLAVE_DS2433=m
+CONFIG_W1_SLAVE_DS2433_CRC=y
+CONFIG_W1_SLAVE_DS2760=m
+CONFIG_W1_SLAVE_DS2780=m
+CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS28E04=m
+CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_GENERIC_ADC_BATTERY=m
+CONFIG_TEST_POWER=m
+CONFIG_BATTERY_DS2760=m
+CONFIG_BATTERY_DS2780=m
+CONFIG_BATTERY_DS2781=m
+CONFIG_BATTERY_DS2782=m
+CONFIG_BATTERY_SBS=m
+CONFIG_BATTERY_BQ27x00=m
+CONFIG_BATTERY_BQ27X00_I2C=y
+CONFIG_BATTERY_BQ27X00_PLATFORM=y
+CONFIG_BATTERY_MAX17040=m
+CONFIG_BATTERY_MAX17042=m
+CONFIG_CHARGER_PCF50633=m
+CONFIG_CHARGER_ISP1704=m
+CONFIG_CHARGER_MAX8903=m
+CONFIG_CHARGER_LP8727=m
+CONFIG_CHARGER_GPIO=m
+# CONFIG_CHARGER_MANAGER is not set
+CONFIG_CHARGER_BQ2415X=m
+CONFIG_CHARGER_SMB347=m
+CONFIG_BATTERY_GOLDFISH=m
+CONFIG_POWER_RESET=y
+CONFIG_POWER_AVS=y
+CONFIG_HWMON=m
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7X10=m
+CONFIG_SENSORS_ADT7410=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_FAM15H_POWER=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS620=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_GPIO_FAN=m
+CONFIG_SENSORS_HIH6130=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IIO_HWMON=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_JC42=m
+CONFIG_SENSORS_LINEAGE=m
+CONFIG_SENSORS_LM63=m
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4151=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LTC4261=m
+CONFIG_SENSORS_LM95234=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_LM95245=m
+CONFIG_SENSORS_MAX16065=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX1668=m
+CONFIG_SENSORS_MAX197=m
+CONFIG_SENSORS_MAX6639=m
+CONFIG_SENSORS_MAX6642=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_MAX6697=m
+CONFIG_SENSORS_MCP3021=m
+CONFIG_SENSORS_NCT6775=m
+CONFIG_SENSORS_NTC_THERMISTOR=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_PMBUS=m
+CONFIG_SENSORS_PMBUS=m
+CONFIG_SENSORS_ADM1275=m
+CONFIG_SENSORS_LM25066=m
+CONFIG_SENSORS_LTC2978=m
+CONFIG_SENSORS_MAX16064=m
+CONFIG_SENSORS_MAX34440=m
+CONFIG_SENSORS_MAX8688=m
+CONFIG_SENSORS_UCD9000=m
+CONFIG_SENSORS_UCD9200=m
+CONFIG_SENSORS_ZL6100=m
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SHT21=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_SMM665=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_EMC1403=m
+CONFIG_SENSORS_EMC2103=m
+CONFIG_SENSORS_EMC6W201=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_SCH56XX_COMMON=m
+CONFIG_SENSORS_SCH5627=m
+CONFIG_SENSORS_SCH5636=m
+CONFIG_SENSORS_ADS1015=m
+CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_INA209=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP102=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83795=m
+# CONFIG_SENSORS_W83795_FANCTRL is not set
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_APPLESMC=m
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ACPI_POWER=m
+CONFIG_SENSORS_ATK0110=m
+CONFIG_THERMAL=m
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+CONFIG_THERMAL_GOV_FAIR_SHARE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+CONFIG_THERMAL_GOV_USER_SPACE=y
+CONFIG_CPU_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+CONFIG_INTEL_POWERCLAMP=m
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_RETU_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_F71808E_WDT=m
+CONFIG_SP5100_TCO=m
+CONFIG_GEODE_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_IE6XX_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_HPWDT_NMI_DECODING=y
+CONFIG_SC1200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_NV_TCO=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_VIA_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+# CONFIG_SSB_DRIVER_GPIO is not set
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+CONFIG_BCMA=m
+CONFIG_BCMA_BLOCKIO=y
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
+CONFIG_BCMA_HOST_PCI=y
+# CONFIG_BCMA_DRIVER_GMAC_CMN is not set
+# CONFIG_BCMA_DRIVER_GPIO is not set
+# CONFIG_BCMA_DEBUG is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+CONFIG_MFD_CS5535=m
+CONFIG_MFD_CROS_EC=m
+CONFIG_MFD_CROS_EC_I2C=m
+CONFIG_MFD_MC13783=m
+CONFIG_MFD_MC13XXX=m
+CONFIG_MFD_MC13XXX_I2C=m
+CONFIG_HTC_PASIC3=m
+CONFIG_LPC_ICH=m
+CONFIG_LPC_SCH=m
+CONFIG_MFD_JANZ_CMODIO=m
+CONFIG_MFD_VIPERBOARD=m
+CONFIG_MFD_RETU=m
+CONFIG_MFD_PCF50633=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_UCB1400_CORE=m
+CONFIG_MFD_RDC321X=m
+CONFIG_MFD_RTSX_PCI=m
+CONFIG_MFD_SI476X_CORE=m
+CONFIG_MFD_SM501=m
+# CONFIG_MFD_SM501_GPIO is not set
+# CONFIG_ABX500_CORE is not set
+CONFIG_MFD_SYSCON=y
+CONFIG_MFD_TI_AM335X_TSCADC=m
+CONFIG_TPS6105X=m
+CONFIG_TPS65010=m
+CONFIG_TPS6507X=m
+CONFIG_MFD_TPS65217=m
+# CONFIG_MFD_TPS65912 is not set
+CONFIG_MFD_WL1273_CORE=m
+CONFIG_MFD_LM3533=m
+CONFIG_MFD_TIMBERDALE=m
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_VX855=m
+CONFIG_MFD_ARIZONA=y
+CONFIG_MFD_ARIZONA_I2C=m
+CONFIG_MFD_WM5102=y
+CONFIG_MFD_WM5110=y
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_DUMMY is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=m
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+CONFIG_REGULATOR_USERSPACE_CONSUMER=m
+CONFIG_REGULATOR_GPIO=m
+CONFIG_REGULATOR_AD5398=m
+CONFIG_REGULATOR_FAN53555=m
+CONFIG_REGULATOR_ANATOP=m
+CONFIG_REGULATOR_MC13XXX_CORE=m
+CONFIG_REGULATOR_MC13783=m
+CONFIG_REGULATOR_MC13892=m
+CONFIG_REGULATOR_ISL6271A=m
+CONFIG_REGULATOR_MAX1586=m
+CONFIG_REGULATOR_MAX8649=m
+CONFIG_REGULATOR_MAX8660=m
+CONFIG_REGULATOR_MAX8952=m
+CONFIG_REGULATOR_MAX8973=m
+CONFIG_REGULATOR_LP3971=m
+CONFIG_REGULATOR_LP3972=m
+CONFIG_REGULATOR_LP8755=m
+CONFIG_REGULATOR_PCF50633=m
+CONFIG_REGULATOR_TPS51632=m
+CONFIG_REGULATOR_TPS6105X=m
+CONFIG_REGULATOR_TPS62360=m
+CONFIG_REGULATOR_TPS65023=m
+CONFIG_REGULATOR_TPS6507X=m
+CONFIG_REGULATOR_TPS65217=m
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+# CONFIG_MEDIA_CONTROLLER is not set
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2=m
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_V4L2_MEM2MEM_DEV=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DMA_CONTIG=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_VIDEOBUF2_DMA_SG=m
+CONFIG_VIDEO_V4L2_INT_DEVICE=m
+CONFIG_DVB_CORE=m
+CONFIG_DVB_NET=y
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+
+#
+# Media drivers
+#
+CONFIG_RC_CORE=m
+CONFIG_RC_MAP=m
+CONFIG_RC_DECODERS=y
+CONFIG_LIRC=m
+CONFIG_IR_LIRC_CODEC=m
+CONFIG_IR_NEC_DECODER=m
+CONFIG_IR_RC5_DECODER=m
+CONFIG_IR_RC6_DECODER=m
+CONFIG_IR_JVC_DECODER=m
+CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_RC5_SZ_DECODER=m
+CONFIG_IR_SANYO_DECODER=m
+CONFIG_IR_MCE_KBD_DECODER=m
+CONFIG_RC_DEVICES=y
+CONFIG_RC_ATI_REMOTE=m
+CONFIG_IR_ENE=m
+CONFIG_IR_IMON=m
+CONFIG_IR_MCEUSB=m
+CONFIG_IR_ITE_CIR=m
+CONFIG_IR_FINTEK=m
+CONFIG_IR_NUVOTON=m
+CONFIG_IR_REDRAT3=m
+CONFIG_IR_STREAMZAP=m
+CONFIG_IR_WINBOND_CIR=m
+CONFIG_IR_IGUANA=m
+CONFIG_IR_TTUSBIR=m
+CONFIG_RC_LOOPBACK=m
+CONFIG_IR_GPIO_CIR=m
+CONFIG_MEDIA_USB_SUPPORT=y
+
+#
+# Webcam devices
+#
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_JL2005BCD=m
+CONFIG_USB_GSPCA_KINECT=m
+CONFIG_USB_GSPCA_KONICA=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_NW80X=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SE401=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SPCA1528=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_SQ930X=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TOPRO=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_VICAM=m
+CONFIG_USB_GSPCA_XIRLINK_CIT=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_VIDEO_CPIA2=m
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_USB_SN9C102=m
+
+#
+# Analog TV USB devices
+#
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_STK1160=m
+CONFIG_VIDEO_STK1160_AC97=y
+
+#
+# Analog/digital TV USB devices
+#
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_AU0828_V4L2=y
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_RC=y
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_TM6000=m
+CONFIG_VIDEO_TM6000_ALSA=m
+CONFIG_VIDEO_TM6000_DVB=m
+
+#
+# Digital TV USB devices
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_PCTV452E=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_USB_TECHNISAT_USB2=m
+CONFIG_DVB_USB_V2=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_AF9035=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_AZ6007=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_IT913X=m
+CONFIG_DVB_USB_LME2510=m
+CONFIG_DVB_USB_MXL111SF=m
+CONFIG_DVB_USB_RTL28XXU=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_USB_DRV=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG=y
+
+#
+# Webcam, TV (analog/digital) USB devices
+#
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_EM28XX_RC=m
+CONFIG_MEDIA_PCI_SUPPORT=y
+
+#
+# Media capture support
+#
+CONFIG_VIDEO_MEYE=m
+
+#
+# Media capture/analog TV support
+#
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_IVTV_ALSA=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_MXB=m
+
+#
+# Media capture/analog/hybrid TV support
+#
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_MEDIA_ALTERA_CI=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_BT848=m
+CONFIG_DVB_BT8XX=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_RC=y
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_SAA7164=m
+
+#
+# Media digital TV PCI Adapters
+#
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
+CONFIG_DVB_PLUTO2=m
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_PT1=m
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+CONFIG_DVB_NGENE=m
+CONFIG_DVB_DDBRIDGE=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_CAFE_CCIC=m
+CONFIG_VIDEO_VIA_CAMERA=m
+CONFIG_VIDEO_TIMBERDALE=m
+CONFIG_SOC_CAMERA=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+CONFIG_VIDEO_SH_MOBILE_CSI2=m
+CONFIG_VIDEO_SH_MOBILE_CEU=m
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
+CONFIG_VIDEO_SH_VEU=m
+CONFIG_V4L_TEST_DRIVERS=y
+CONFIG_VIDEO_VIVI=m
+CONFIG_VIDEO_MEM2MEM_TESTDEV=m
+
+#
+# Supported MMC/SDIO adapters
+#
+CONFIG_SMS_SDIO_DRV=m
+CONFIG_MEDIA_PARPORT_SUPPORT=y
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_W9966=m
+CONFIG_RADIO_ADAPTERS=y
+# CONFIG_RADIO_SI470X is not set
+CONFIG_USB_MR800=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_SHARK=m
+CONFIG_RADIO_SHARK2=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_KEENE=m
+CONFIG_USB_MA901=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_TIMBERDALE=m
+CONFIG_RADIO_WL1273=m
+
+#
+# Texas Instruments WL128x FM driver (ST based)
+#
+CONFIG_RADIO_WL128X=m
+
+#
+# Supported FireWire (IEEE 1394) Adapters
+#
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_INPUT=y
+CONFIG_MEDIA_COMMON_OPTIONS=y
+
+#
+# common driver options
+#
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_CYPRESS_FIRMWARE=m
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_SMS_SIANO_MDTV=m
+CONFIG_SMS_SIANO_RC=y
+# CONFIG_SMS_SIANO_DEBUGFS is not set
+
+#
+# Media ancillary drivers (tuners, sensors, i2c, frontends)
+#
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+CONFIG_MEDIA_ATTACH=y
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Audio decoders, processors and mixers
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_ADV7180=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_CX25840=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+
+#
+# Camera sensor devices
+#
+CONFIG_VIDEO_OV7670=m
+CONFIG_VIDEO_MT9V011=m
+
+#
+# Flash devices
+#
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+
+#
+# Miscelaneous helper chips
+#
+CONFIG_VIDEO_M52790=m
+
+#
+# Sensors used on soc_camera driver
+#
+
+#
+# soc_camera sensor drivers
+#
+CONFIG_SOC_CAMERA_IMX074=m
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_OV2640=m
+CONFIG_SOC_CAMERA_OV5642=m
+CONFIG_SOC_CAMERA_OV6650=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+CONFIG_SOC_CAMERA_OV9740=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_MEDIA_TUNER=m
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2063=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_XC4000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_MEDIA_TUNER_FC0011=m
+CONFIG_MEDIA_TUNER_FC0012=m
+CONFIG_MEDIA_TUNER_FC0013=m
+CONFIG_MEDIA_TUNER_TDA18212=m
+CONFIG_MEDIA_TUNER_E4000=m
+CONFIG_MEDIA_TUNER_FC2580=m
+CONFIG_MEDIA_TUNER_TUA9001=m
+CONFIG_MEDIA_TUNER_IT913X=m
+CONFIG_MEDIA_TUNER_R820T=m
+
+#
+# Multistandard (satellite) frontends
+#
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+
+#
+# Multistandard (cable + terrestrial) frontends
+#
+CONFIG_DVB_DRXK=m
+CONFIG_DVB_TDA18271C2DD=m
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_TS2020=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_TDA10071=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_DRXD=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_STV0367=m
+CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_RTL2830=m
+CONFIG_DVB_RTL2832=m
+
+#
+# DVB-C (cable) frontends
+#
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+
+#
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
+#
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_LG2160=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_AU8522_DTV=m
+CONFIG_DVB_AU8522_V4L=m
+CONFIG_DVB_S5H1411=m
+
+#
+# ISDB-T (terrestrial) frontends
+#
+CONFIG_DVB_S921=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_MB86A20S=m
+
+#
+# Digital terrestrial only tuners/PLL
+#
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_TUNER_DIB0090=m
+
+#
+# SEC control devices for DVB-S
+#
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_LNBP22=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_ISL6423=m
+CONFIG_DVB_A8293=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DVB_TDA665x=m
+CONFIG_DVB_IX2505V=m
+CONFIG_DVB_IT913X_FE=m
+CONFIG_DVB_M88RS2000=m
+CONFIG_DVB_AF9033=m
+
+#
+# Tools to develop new frontends
+#
+# CONFIG_DVB_DUMMY_FE is not set
+
+#
+# Graphics support
+#
+CONFIG_AGP=m
+CONFIG_AGP_AMD64=m
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_VIA=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM=m
+CONFIG_DRM_USB=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_TTM=m
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_DRM_I2C_SIL164=m
+CONFIG_DRM_I2C_NXP_TDA998X=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+# CONFIG_DRM_RADEON_UMS is not set
+CONFIG_DRM_NOUVEAU=m
+CONFIG_NOUVEAU_DEBUG=5
+CONFIG_NOUVEAU_DEBUG_DEFAULT=3
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_I810=m
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_VMWGFX_FBCON=y
+CONFIG_DRM_GMA500=m
+CONFIG_DRM_GMA600=y
+CONFIG_DRM_GMA3600=y
+CONFIG_DRM_UDL=m
+CONFIG_DRM_AST=m
+CONFIG_DRM_MGAG200=m
+CONFIG_DRM_CIRRUS_QEMU=m
+CONFIG_DRM_QXL=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_HDMI=y
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DDC=m
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_HECUBA=m
+CONFIG_FB_SVGALIB=m
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_CIRRUS=m
+CONFIG_FB_PM2=m
+# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
+CONFIG_FB_CYBER2000=m
+CONFIG_FB_CYBER2000_DDC=y
+CONFIG_FB_ARC=m
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_VGA16=m
+# CONFIG_FB_UVESA is not set
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+CONFIG_FB_N411=m
+CONFIG_FB_HGA=m
+CONFIG_FB_S1D13XXX=m
+CONFIG_FB_NVIDIA=m
+CONFIG_FB_NVIDIA_I2C=y
+# CONFIG_FB_NVIDIA_DEBUG is not set
+CONFIG_FB_NVIDIA_BACKLIGHT=y
+CONFIG_FB_RIVA=m
+CONFIG_FB_RIVA_I2C=y
+# CONFIG_FB_RIVA_DEBUG is not set
+CONFIG_FB_RIVA_BACKLIGHT=y
+CONFIG_FB_I740=m
+CONFIG_FB_LE80578=m
+CONFIG_FB_CARILLO_RANCH=m
+CONFIG_FB_MATROX=m
+CONFIG_FB_MATROX_MILLENIUM=y
+CONFIG_FB_MATROX_MYSTIQUE=y
+CONFIG_FB_MATROX_G=y
+CONFIG_FB_MATROX_I2C=m
+CONFIG_FB_MATROX_MAVEN=m
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+CONFIG_FB_ATY128=m
+CONFIG_FB_ATY128_BACKLIGHT=y
+CONFIG_FB_ATY=m
+CONFIG_FB_ATY_CT=y
+CONFIG_FB_ATY_GENERIC_LCD=y
+CONFIG_FB_ATY_GX=y
+CONFIG_FB_ATY_BACKLIGHT=y
+CONFIG_FB_S3=m
+CONFIG_FB_S3_DDC=y
+CONFIG_FB_SAVAGE=m
+CONFIG_FB_SAVAGE_I2C=y
+CONFIG_FB_SAVAGE_ACCEL=y
+CONFIG_FB_SIS=m
+CONFIG_FB_SIS_300=y
+CONFIG_FB_SIS_315=y
+CONFIG_FB_VIA=m
+# CONFIG_FB_VIA_DIRECT_PROCFS is not set
+CONFIG_FB_VIA_X_COMPATIBILITY=y
+CONFIG_FB_NEOMAGIC=m
+CONFIG_FB_KYRO=m
+CONFIG_FB_3DFX=m
+# CONFIG_FB_3DFX_ACCEL is not set
+CONFIG_FB_3DFX_I2C=y
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+CONFIG_FB_TRIDENT=m
+CONFIG_FB_ARK=m
+CONFIG_FB_PM3=m
+CONFIG_FB_CARMINE=m
+CONFIG_FB_CARMINE_DRAM_EVAL=y
+# CONFIG_CARMINE_DRAM_CUSTOM is not set
+CONFIG_FB_GEODE=y
+CONFIG_FB_GEODE_LX=m
+CONFIG_FB_GEODE_GX=m
+CONFIG_FB_GEODE_GX1=m
+CONFIG_FB_TMIO=m
+CONFIG_FB_TMIO_ACCELL=y
+# CONFIG_FB_SM501 is not set
+CONFIG_FB_SMSCUFX=m
+CONFIG_FB_UDL=m
+CONFIG_FB_GOLDFISH=m
+# CONFIG_FB_VIRTUAL is not set
+CONFIG_FB_METRONOME=m
+CONFIG_FB_MB862XX=m
+CONFIG_FB_MB862XX_PCI_GDC=y
+CONFIG_FB_MB862XX_I2C=y
+CONFIG_FB_BROADSHEET=m
+CONFIG_FB_AUO_K190X=m
+CONFIG_FB_AUO_K1900=m
+CONFIG_FB_AUO_K1901=m
+# CONFIG_FB_HYPERV is not set
+# CONFIG_EXYNOS_VIDEO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_PLATFORM=m
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_ATMEL_PWM=m
+CONFIG_BACKLIGHT_GENERIC=m
+CONFIG_BACKLIGHT_LM3533=m
+CONFIG_BACKLIGHT_CARILLO_RANCH=m
+CONFIG_BACKLIGHT_APPLE=m
+CONFIG_BACKLIGHT_SAHARA=m
+CONFIG_BACKLIGHT_ADP8860=m
+CONFIG_BACKLIGHT_ADP8870=m
+CONFIG_BACKLIGHT_PCF50633=m
+CONFIG_BACKLIGHT_LM3630=m
+CONFIG_BACKLIGHT_LM3639=m
+CONFIG_BACKLIGHT_LP855X=m
+CONFIG_BACKLIGHT_OT200=m
+CONFIG_BACKLIGHT_TPS65217=m
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+CONFIG_FONT_SUN8x16=y
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_KCTL_JACK=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+CONFIG_SND_DUMMY=m
+CONFIG_SND_ALOOP=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_TEA575X=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ASIHPI=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_ES1968_INPUT=y
+CONFIG_SND_ES1968_RADIO=y
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_DSP_LOADER=y
+CONFIG_SND_HDA_PREALLOC_SIZE=2048
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+# CONFIG_SND_HDA_INPUT_BEEP is not set
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_HDMI=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CA0132=y
+CONFIG_SND_HDA_CODEC_CA0132_DSP=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_LOLA=m
+CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MAESTRO3_INPUT=y
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_USB_6FIRE=m
+CONFIG_SND_FIREWIRE=y
+CONFIG_SND_FIREWIRE_LIB=m
+CONFIG_SND_FIREWIRE_SPEAKERS=m
+CONFIG_SND_ISIGHT=m
+CONFIG_SND_SCS1X=m
+CONFIG_SND_PCMCIA=y
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+
+#
+# HID support
+#
+CONFIG_HID=m
+CONFIG_HIDRAW=y
+CONFIG_UHID=m
+CONFIG_HID_GENERIC=m
+
+#
+# Special HID drivers
+#
+CONFIG_HID_A4TECH=m
+CONFIG_HID_ACRUX=m
+CONFIG_HID_ACRUX_FF=y
+CONFIG_HID_APPLE=m
+CONFIG_HID_APPLEIR=m
+CONFIG_HID_AUREAL=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_PRODIKEYS=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EMS_FF=m
+CONFIG_HID_ELECOM=m
+CONFIG_HID_EZKEY=m
+CONFIG_HID_HOLTEK=m
+CONFIG_HOLTEK_FF=y
+CONFIG_HID_KEYTOUCH=m
+CONFIG_HID_KYE=m
+CONFIG_HID_UCLOGIC=m
+CONFIG_HID_WALTOP=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_ICADE=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LCPOWER=m
+CONFIG_HID_LENOVO_TPKBD=m
+CONFIG_HID_LOGITECH=m
+CONFIG_HID_LOGITECH_DJ=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_LOGIWHEELS_FF=y
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_MULTITOUCH=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_PICOLCD=m
+CONFIG_HID_PICOLCD_FB=y
+CONFIG_HID_PICOLCD_BACKLIGHT=y
+CONFIG_HID_PICOLCD_LCD=y
+CONFIG_HID_PICOLCD_LEDS=y
+CONFIG_HID_PICOLCD_CIR=y
+CONFIG_HID_PRIMAX=m
+CONFIG_HID_PS3REMOTE=m
+CONFIG_HID_ROCCAT=m
+CONFIG_HID_SAITEK=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_SPEEDLINK=m
+CONFIG_HID_STEELSERIES=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_HYPERV_MOUSE=m
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TIVO=m
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THINGM=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_WIIMOTE=m
+CONFIG_HID_WIIMOTE_EXT=y
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
+CONFIG_HID_ZYDACRON=m
+CONFIG_HID_SENSOR_HUB=m
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=m
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# I2C HID support
+#
+CONFIG_I2C_HID=m
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB_ARCH_HAS_XHCI=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=y
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+CONFIG_USB_XHCI_PLATFORM=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=m
+CONFIG_USB_EHCI_HCD_PLATFORM=m
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_OHCI_HCD_SSB=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+# CONFIG_USB_SL811_HCD_ISO is not set
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+# CONFIG_USB_HCD_BCMA is not set
+CONFIG_USB_HCD_SSB=m
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_REALTEK=m
+CONFIG_REALTEK_AUTOPM=y
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+CONFIG_USB_STORAGE_ENE_UB6250=m
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+CONFIG_USB_DWC3=m
+CONFIG_USB_DWC3_HOST=y
+# CONFIG_USB_DWC3_DEBUG is not set
+CONFIG_USB_CHIPIDEA=m
+# CONFIG_USB_CHIPIDEA_DEBUG is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_F81232=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_METRO=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7715_PARPORT=y
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_SAFE_PADDED=y
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_WWAN=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
+CONFIG_USB_SERIAL_XSENS_MT=m
+CONFIG_USB_SERIAL_ZIO=m
+CONFIG_USB_SERIAL_WISHBONE=m
+CONFIG_USB_SERIAL_ZTE=m
+CONFIG_USB_SERIAL_SSU100=m
+CONFIG_USB_SERIAL_QT2=m
+CONFIG_USB_SERIAL_DEBUG=m
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_YUREX=m
+CONFIG_USB_EZUSB_FX2=m
+CONFIG_USB_HSIC_USB3503=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=m
+CONFIG_OMAP_CONTROL_USB=m
+CONFIG_OMAP_USB3=m
+CONFIG_SAMSUNG_USBPHY=m
+CONFIG_SAMSUNG_USB2PHY=m
+CONFIG_SAMSUNG_USB3PHY=m
+CONFIG_USB_GPIO_VBUS=m
+CONFIG_USB_ISP1301=m
+CONFIG_USB_RCAR_PHY=m
+# CONFIG_USB_GADGET is not set
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+CONFIG_UWB_I1480U=m
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+# CONFIG_MMC_CLKGATE is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_ACPI=m
+CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_SDHCI_PXAV3=m
+CONFIG_MMC_SDHCI_PXAV2=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MMC_VUB300=m
+CONFIG_MMC_USHC=m
+CONFIG_MMC_REALTEK_PCI=m
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+CONFIG_MEMSTICK_R592=m
+CONFIG_MEMSTICK_REALTEK_PCI=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_ATMEL_PWM=m
+CONFIG_LEDS_LM3530=m
+CONFIG_LEDS_LM3533=m
+CONFIG_LEDS_LM3642=m
+CONFIG_LEDS_PCA9532=m
+# CONFIG_LEDS_PCA9532_GPIO is not set
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_LP55XX_COMMON=m
+CONFIG_LEDS_LP5521=m
+CONFIG_LEDS_LP5523=m
+CONFIG_LEDS_LP5562=m
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_PCA9633=m
+CONFIG_LEDS_REGULATOR=m
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_MC13783=m
+CONFIG_LEDS_RENESAS_TPU=y
+CONFIG_LEDS_TCA6507=m
+CONFIG_LEDS_LM355x=m
+CONFIG_LEDS_OT200=m
+CONFIG_LEDS_BLINKM=m
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_ONESHOT=m
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+# CONFIG_LEDS_TRIGGER_CPU is not set
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_LEDS_TRIGGER_TRANSIENT=m
+CONFIG_LEDS_TRIGGER_CAMERA=m
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+CONFIG_INFINIBAND=m
+CONFIG_INFINIBAND_USER_MAD=m
+CONFIG_INFINIBAND_USER_ACCESS=m
+CONFIG_INFINIBAND_USER_MEM=y
+CONFIG_INFINIBAND_ADDR_TRANS=y
+CONFIG_INFINIBAND_MTHCA=m
+CONFIG_INFINIBAND_MTHCA_DEBUG=y
+# CONFIG_INFINIBAND_IPATH is not set
+CONFIG_INFINIBAND_QIB=m
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+# CONFIG_INFINIBAND_CXGB3 is not set
+CONFIG_INFINIBAND_CXGB4=m
+CONFIG_MLX4_INFINIBAND=m
+CONFIG_INFINIBAND_NES=m
+# CONFIG_INFINIBAND_NES_DEBUG is not set
+CONFIG_INFINIBAND_OCRDMA=m
+CONFIG_INFINIBAND_IPOIB=m
+# CONFIG_INFINIBAND_IPOIB_CM is not set
+CONFIG_INFINIBAND_IPOIB_DEBUG=y
+# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+CONFIG_INFINIBAND_SRP=m
+CONFIG_INFINIBAND_SRPT=m
+CONFIG_INFINIBAND_ISER=m
+CONFIG_INFINIBAND_ISERT=m
+CONFIG_EDAC=y
+CONFIG_EDAC_LEGACY_SYSFS=y
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=y
+CONFIG_EDAC_MCE_INJ=m
+# CONFIG_EDAC_MM_EDAC is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+# CONFIG_RTC_HCTOSYS is not set
+# CONFIG_RTC_SYSTOHC is not set
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_TEST=m
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_DS3232=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_ISL12022=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8523=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+CONFIG_RTC_DRV_EM3027=m
+CONFIG_RTC_DRV_RV3029C2=m
+
+#
+# SPI RTC drivers
+#
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_DS2404=m
+CONFIG_RTC_DRV_PCF50633=m
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_MC13XXX=m
+
+#
+# HID Sensor RTC drivers
+#
+CONFIG_RTC_DRV_HID_SENSOR_TIME=m
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_INTEL_MID_DMAC=m
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DW_DMAC=m
+# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
+CONFIG_TIMB_DMA=m
+CONFIG_PCH_DMA=m
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_ACPI=y
+
+#
+# DMA Clients
+#
+CONFIG_NET_DMA=y
+# CONFIG_ASYNC_TX_DMA is not set
+CONFIG_DMATEST=m
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+# CONFIG_KS0108 is not set
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV=m
+CONFIG_UIO_PDRV_GENIRQ=m
+CONFIG_UIO_DMEM_GENIRQ=m
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+CONFIG_VFIO_IOMMU_TYPE1=m
+CONFIG_VFIO=m
+CONFIG_VFIO_PCI=m
+# CONFIG_VFIO_PCI_VGA is not set
+CONFIG_VIRT_DRIVERS=y
+CONFIG_VIRTIO=m
+
+#
+# Virtio drivers
+#
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_MMIO=m
+# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+CONFIG_HYPERV=m
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_BALLOON=m
+CONFIG_STAGING=y
+# CONFIG_ET131X is not set
+# CONFIG_SLICOSS is not set
+CONFIG_USBIP_CORE=m
+CONFIG_USBIP_VHCI_HCD=m
+CONFIG_USBIP_HOST=m
+# CONFIG_USBIP_DEBUG is not set
+# CONFIG_W35UND is not set
+# CONFIG_PRISM2_USB is not set
+# CONFIG_ECHO is not set
+# CONFIG_COMEDI is not set
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192U=m
+CONFIG_RTLLIB=m
+CONFIG_RTLLIB_CRYPTO_CCMP=m
+CONFIG_RTLLIB_CRYPTO_TKIP=m
+CONFIG_RTLLIB_CRYPTO_WEP=m
+CONFIG_RTL8192E=m
+CONFIG_R8712U=m
+CONFIG_RTS5139=m
+# CONFIG_RTS5139_DEBUG is not set
+# CONFIG_TRANZPORT is not set
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_DX_SEP=m
+
+#
+# IIO staging drivers
+#
+
+#
+# Accelerometers
+#
+
+#
+# Analog to digital converters
+#
+CONFIG_AD7291=m
+CONFIG_AD7606=m
+CONFIG_AD7606_IFACE_PARALLEL=m
+CONFIG_AD799X=m
+CONFIG_AD799X_RING_BUFFER=y
+
+#
+# Analog digital bi-direction converters
+#
+CONFIG_ADT7316=m
+CONFIG_ADT7316_I2C=m
+
+#
+# Capacitance to digital converters
+#
+CONFIG_AD7150=m
+CONFIG_AD7152=m
+CONFIG_AD7746=m
+
+#
+# Direct Digital Synthesis
+#
+
+#
+# Digital gyroscope sensors
+#
+
+#
+# Network Analyzer, Impedance Converters
+#
+CONFIG_AD5933=m
+
+#
+# Light sensors
+#
+CONFIG_SENSORS_ISL29018=m
+CONFIG_SENSORS_ISL29028=m
+CONFIG_TSL2583=m
+CONFIG_TSL2x7x=m
+
+#
+# Magnetometer sensors
+#
+CONFIG_SENSORS_HMC5843=m
+
+#
+# Active energy metering IC
+#
+CONFIG_ADE7854=m
+CONFIG_ADE7854_I2C=m
+
+#
+# Resolver to digital converters
+#
+
+#
+# Triggers - standalone
+#
+CONFIG_IIO_PERIODIC_RTC_TRIGGER=m
+CONFIG_IIO_GPIO_TRIGGER=m
+CONFIG_IIO_SYSFS_TRIGGER=m
+# CONFIG_IIO_SIMPLE_DUMMY is not set
+# CONFIG_ZSMALLOC is not set
+CONFIG_WLAGS49_H2=m
+CONFIG_WLAGS49_H25=m
+CONFIG_FB_SM7XX=m
+CONFIG_CRYSTALHD=m
+# CONFIG_CXT1E1 is not set
+CONFIG_FB_XGI=m
+CONFIG_ACPI_QUICKSTART=m
+CONFIG_SBE_2T3E3=m
+CONFIG_USB_ENESTORAGE=m
+CONFIG_BCM_WIMAX=m
+# CONFIG_FT1000 is not set
+
+#
+# Speakup console speech
+#
+CONFIG_SPEAKUP=y
+CONFIG_SPEAKUP_SYNTH_ACNTSA=y
+CONFIG_SPEAKUP_SYNTH_ACNTPC=y
+CONFIG_SPEAKUP_SYNTH_APOLLO=y
+CONFIG_SPEAKUP_SYNTH_AUDPTR=y
+CONFIG_SPEAKUP_SYNTH_BNS=y
+CONFIG_SPEAKUP_SYNTH_DECTLK=y
+CONFIG_SPEAKUP_SYNTH_DECEXT=y
+CONFIG_SPEAKUP_SYNTH_DECPC=m
+CONFIG_SPEAKUP_SYNTH_DTLK=y
+CONFIG_SPEAKUP_SYNTH_KEYPC=y
+CONFIG_SPEAKUP_SYNTH_LTLK=y
+CONFIG_SPEAKUP_SYNTH_SOFT=y
+CONFIG_SPEAKUP_SYNTH_SPKOUT=y
+CONFIG_SPEAKUP_SYNTH_TXPRT=y
+CONFIG_SPEAKUP_SYNTH_DUMMY=y
+CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
+CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
+CONFIG_STAGING_MEDIA=y
+CONFIG_DVB_AS102=m
+CONFIG_DVB_CXD2099=m
+CONFIG_VIDEO_DT3155=m
+CONFIG_DT3155_CCIR=y
+CONFIG_DT3155_STREAMING=y
+# CONFIG_VIDEO_GO7007 is not set
+CONFIG_SOLO6X10=m
+CONFIG_LIRC_STAGING=y
+CONFIG_LIRC_BT829=m
+CONFIG_LIRC_IGORPLUGUSB=m
+CONFIG_LIRC_IMON=m
+CONFIG_LIRC_PARALLEL=m
+CONFIG_LIRC_SASEM=m
+CONFIG_LIRC_SERIAL=m
+CONFIG_LIRC_SERIAL_TRANSMITTER=y
+CONFIG_LIRC_SIR=m
+CONFIG_LIRC_ZILOG=m
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+CONFIG_USB_WPAN_HCD=m
+CONFIG_WIMAX_GDM72XX=m
+# CONFIG_WIMAX_GDM72XX_QOS is not set
+# CONFIG_WIMAX_GDM72XX_K_MODE is not set
+CONFIG_WIMAX_GDM72XX_WIMAX2=y
+CONFIG_WIMAX_GDM72XX_USB=y
+# CONFIG_WIMAX_GDM72XX_SDIO is not set
+# CONFIG_WIMAX_GDM72XX_USB_PM is not set
+CONFIG_CSR_WIFI=m
+CONFIG_NET_VENDOR_SILICOM=y
+CONFIG_SBYPASS=m
+CONFIG_BPCTL=m
+CONFIG_CED1401=m
+CONFIG_DGRP=m
+CONFIG_FIREWIRE_SERIAL=m
+CONFIG_USB_DWC2=m
+# CONFIG_USB_DWC2_DEBUG is not set
+# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_CHROMEOS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_DELL_WMI_AIO=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_FUJITSU_TABLET=m
+CONFIG_AMILO_RFKILL=m
+CONFIG_HP_ACCEL=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+CONFIG_SONYPI_COMPAT=y
+CONFIG_IDEAPAD_LAPTOP=m
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_SENSORS_HDAPS=m
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_ASUS_WMI=m
+CONFIG_ASUS_NB_WMI=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+CONFIG_INTEL_IPS=m
+CONFIG_IBM_RTL=m
+CONFIG_XO15_EBOOK=m
+CONFIG_SAMSUNG_LAPTOP=m
+CONFIG_MXM_WMI=m
+CONFIG_INTEL_OAKTRAIL=m
+CONFIG_SAMSUNG_Q10=m
+CONFIG_APPLE_GMUX=m
+CONFIG_PVPANIC=m
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+
+#
+# Common Clock Framework
+#
+CONFIG_COMMON_CLK_DEBUG=y
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_CLKEVT_I8253=y
+CONFIG_I8253_LOCK=y
+CONFIG_CLKBLD_I8253=y
+# CONFIG_MAILBOX is not set
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+CONFIG_AMD_IOMMU=y
+# CONFIG_AMD_IOMMU_STATS is not set
+CONFIG_AMD_IOMMU_V2=m
+CONFIG_DMAR_TABLE=y
+CONFIG_INTEL_IOMMU=y
+# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
+CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+CONFIG_IRQ_REMAP=y
+
+#
+# Remoteproc drivers
+#
+CONFIG_REMOTEPROC=m
+CONFIG_STE_MODEM_RPROC=m
+
+#
+# Rpmsg drivers
+#
+CONFIG_PM_DEVFREQ=y
+
+#
+# DEVFREQ Governors
+#
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
+CONFIG_DEVFREQ_GOV_PERFORMANCE=y
+CONFIG_DEVFREQ_GOV_POWERSAVE=y
+CONFIG_DEVFREQ_GOV_USERSPACE=y
+
+#
+# DEVFREQ Drivers
+#
+CONFIG_EXTCON=m
+
+#
+# Extcon Device Drivers
+#
+CONFIG_EXTCON_GPIO=m
+CONFIG_EXTCON_ADC_JACK=m
+CONFIG_MEMORY=y
+CONFIG_IIO=m
+CONFIG_IIO_BUFFER=y
+# CONFIG_IIO_BUFFER_CB is not set
+CONFIG_IIO_KFIFO_BUF=m
+CONFIG_IIO_TRIGGERED_BUFFER=m
+CONFIG_IIO_TRIGGER=y
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+
+#
+# Accelerometers
+#
+CONFIG_HID_SENSOR_ACCEL_3D=m
+CONFIG_IIO_ST_ACCEL_3AXIS=m
+CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
+
+#
+# Analog to digital converters
+#
+CONFIG_MAX1363=m
+CONFIG_TI_ADC081C=m
+CONFIG_TI_AM335X_ADC=m
+CONFIG_VIPERBOARD_ADC=m
+
+#
+# Amplifiers
+#
+
+#
+# Hid Sensor IIO Common
+#
+CONFIG_HID_SENSOR_IIO_COMMON=m
+CONFIG_HID_SENSOR_IIO_TRIGGER=m
+CONFIG_HID_SENSOR_ENUM_BASE_QUIRKS=y
+CONFIG_IIO_ST_SENSORS_I2C=m
+CONFIG_IIO_ST_SENSORS_CORE=m
+
+#
+# Digital to analog converters
+#
+CONFIG_AD5064=m
+CONFIG_AD5380=m
+CONFIG_AD5446=m
+CONFIG_MAX517=m
+CONFIG_MCP4725=m
+
+#
+# Frequency Synthesizers DDS/PLL
+#
+
+#
+# Clock Generator/Distribution
+#
+
+#
+# Phase-Locked Loop (PLL) frequency synthesizers
+#
+
+#
+# Digital gyroscope sensors
+#
+CONFIG_HID_SENSOR_GYRO_3D=m
+CONFIG_IIO_ST_GYRO_3AXIS=m
+CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
+CONFIG_ITG3200=m
+
+#
+# Inertial measurement units
+#
+CONFIG_INV_MPU6050_IIO=m
+
+#
+# Light sensors
+#
+CONFIG_ADJD_S311=m
+CONFIG_SENSORS_LM3533=m
+CONFIG_SENSORS_TSL2563=m
+CONFIG_VCNL4000=m
+CONFIG_HID_SENSOR_ALS=m
+
+#
+# Magnetometer sensors
+#
+CONFIG_AK8975=m
+CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
+CONFIG_IIO_ST_MAGN_3AXIS=m
+CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
+CONFIG_NTB=m
+# CONFIG_VME_BUS is not set
+# CONFIG_PWM is not set
+# CONFIG_IPACK_BUS is not set
+# CONFIG_RESET_CONTROLLER is not set
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+CONFIG_EDD_OFF=y
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=m
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=m
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_VARS=m
+CONFIG_EFI_VARS_PSTORE=m
+CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+CONFIG_REISERFS_FS=y
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=y
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
+CONFIG_XFS_FS=y
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=y
+CONFIG_OCFS2_FS_O2CB=y
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+# CONFIG_OCFS2_FS_STATS is not set
+CONFIG_OCFS2_DEBUG_MASKLOG=y
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=y
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+CONFIG_NILFS2_FS=m
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=y
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=y
+CONFIG_QUOTACTL=y
+CONFIG_QUOTACTL_COMPAT=y
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+# CONFIG_FSCACHE_STATS is not set
+# CONFIG_FSCACHE_HISTOGRAM is not set
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=y
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=y
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=y
+CONFIG_MISC_FILESYSTEMS=y
+CONFIG_ADFS_FS=m
+# CONFIG_ADFS_FS_RW is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+CONFIG_ECRYPT_FS_MESSAGING=y
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+CONFIG_BFS_FS=m
+CONFIG_EFS_FS=m
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_UBIFS_FS=m
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+CONFIG_SQUASHFS_EMBEDDED=y
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+CONFIG_VXFS_FS=m
+CONFIG_MINIX_FS=m
+CONFIG_OMFS_FS=m
+CONFIG_HPFS_FS=m
+CONFIG_QNX4FS_FS=m
+CONFIG_QNX6FS_FS=m
+# CONFIG_QNX6FS_DEBUG is not set
+CONFIG_ROMFS_FS=y
+CONFIG_ROMFS_BACKED_BY_BLOCK=y
+CONFIG_ROMFS_ON_BLOCK=y
+CONFIG_PSTORE=y
+# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_FTRACE is not set
+CONFIG_PSTORE_RAM=m
+CONFIG_SYSV_FS=m
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_F2FS_FS=m
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_EFIVAR_FS=m
+CONFIG_ORE=m
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V2=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+CONFIG_NFS_SWAP=y
+# CONFIG_NFS_V4_1 is not set
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFSD=y
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V3_ACL is not set
+CONFIG_NFSD_V4=y
+# CONFIG_NFSD_FAULT_INJECTION is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_SUNRPC_XPRT_RDMA=m
+CONFIG_SUNRPC_SWAP=y
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_SUNRPC_DEBUG is not set
+CONFIG_CEPH_FS=m
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+# CONFIG_CIFS_UPCALL is not set
+# CONFIG_CIFS_XATTR is not set
+CONFIG_CIFS_DEBUG=y
+# CONFIG_CIFS_DEBUG2 is not set
+CONFIG_CIFS_DFS_UPCALL=y
+# CONFIG_CIFS_SMB2 is not set
+CONFIG_CIFS_FSCACHE=y
+CONFIG_NCP_FS=m
+CONFIG_NCPFS_PACKET_SIGNING=y
+CONFIG_NCPFS_IOCTL_LOCKING=y
+CONFIG_NCPFS_STRONG=y
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+CONFIG_NCPFS_EXTRAS=y
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+# CONFIG_AFS_FSCACHE is not set
+CONFIG_9P_FS=m
+# CONFIG_9P_FSCACHE is not set
+# CONFIG_9P_FS_POSIX_ACL is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_MAC_ROMAN=m
+CONFIG_NLS_MAC_CELTIC=m
+CONFIG_NLS_MAC_CENTEURO=m
+CONFIG_NLS_MAC_CROATIAN=m
+CONFIG_NLS_MAC_CYRILLIC=m
+CONFIG_NLS_MAC_GAELIC=m
+CONFIG_NLS_MAC_GREEK=m
+CONFIG_NLS_MAC_ICELAND=m
+CONFIG_NLS_MAC_INUIT=m
+CONFIG_NLS_MAC_ROMANIAN=m
+CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UTF8=y
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_PRINTK_TIME=y
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=0
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
+# CONFIG_READABLE_ASM is not set
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_LOCKUP_DETECTOR is not set
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_SPARSE_RCU_POINTER is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
+# CONFIG_RCU_CPU_STALL_INFO is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_LKDTM is not set
+CONFIG_NOTIFIER_ERROR_INJECTION=m
+CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
+CONFIG_PM_NOTIFIER_ERROR_INJECT=m
+# CONFIG_MEMORY_NOTIFIER_ERROR_INJECT is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_FENTRY=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACE_CLOCK=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_FTRACE_SYSCALLS is not set
+# CONFIG_TRACER_SNAPSHOT is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_UPROBE_EVENT is not set
+# CONFIG_PROBE_EVENTS is not set
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
+# CONFIG_FUNCTION_PROFILER is not set
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_MMIOTRACE is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+CONFIG_RBTREE_TEST=m
+CONFIG_INTERVAL_TREE_TEST=m
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DMA_API_DEBUG is not set
+CONFIG_ATOMIC64_SELFTEST=y
+CONFIG_ASYNC_RAID6_TEST=m
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_TEST_STRING_HELPERS is not set
+# CONFIG_TEST_KSTRTOX is not set
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_X86_PTDUMP is not set
+CONFIG_DEBUG_RODATA=y
+CONFIG_DEBUG_RODATA_TEST=y
+# CONFIG_DEBUG_SET_MODULE_RONX is not set
+# CONFIG_DEBUG_NX_TEST is not set
+# CONFIG_DEBUG_TLBFLUSH is not set
+# CONFIG_IOMMU_DEBUG is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+CONFIG_OPTIMIZE_INLINING=y
+# CONFIG_DEBUG_NMI_SELFTEST is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_TRUSTED_KEYS=m
+CONFIG_ENCRYPTED_KEYS=m
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+CONFIG_SECURITY_DMESG_RESTRICT=y
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_SECURITY_NETWORK_XFRM=y
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_SECURITY_YAMA is not set
+# CONFIG_IMA is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=y
+CONFIG_ASYNC_CORE=y
+CONFIG_ASYNC_MEMCPY=y
+CONFIG_ASYNC_XOR=y
+CONFIG_ASYNC_PQ=y
+CONFIG_ASYNC_RAID6_RECOV=y
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=m
+CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_GF128MUL=y
+CONFIG_CRYPTO_NULL=y
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=y
+CONFIG_CRYPTO_AUTHENC=y
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_ABLK_HELPER_X86=y
+CONFIG_CRYPTO_GLUE_HELPER_X86=y
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=y
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_SEQIV=y
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTR=y
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_LRW=y
+CONFIG_CRYPTO_PCBC=y
+CONFIG_CRYPTO_XTS=y
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_CRC32=m
+CONFIG_CRYPTO_CRC32_PCLMUL=m
+CONFIG_CRYPTO_GHASH=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=y
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=y
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA1_SSSE3=m
+CONFIG_CRYPTO_SHA256_SSSE3=m
+CONFIG_CRYPTO_SHA512_SSSE3=m
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_TGR192=y
+CONFIG_CRYPTO_WP512=y
+CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_AES_X86_64=y
+CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_ANUBIS=y
+CONFIG_CRYPTO_ARC4=y
+CONFIG_CRYPTO_BLOWFISH=y
+CONFIG_CRYPTO_BLOWFISH_COMMON=y
+CONFIG_CRYPTO_BLOWFISH_X86_64=m
+CONFIG_CRYPTO_CAMELLIA=y
+CONFIG_CRYPTO_CAMELLIA_X86_64=y
+CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
+CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
+CONFIG_CRYPTO_CAST_COMMON=y
+CONFIG_CRYPTO_CAST5=y
+CONFIG_CRYPTO_CAST5_AVX_X86_64=m
+CONFIG_CRYPTO_CAST6=y
+CONFIG_CRYPTO_CAST6_AVX_X86_64=m
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_FCRYPT=y
+CONFIG_CRYPTO_KHAZAD=y
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_X86_64=m
+CONFIG_CRYPTO_SEED=y
+CONFIG_CRYPTO_SERPENT=y
+CONFIG_CRYPTO_SERPENT_SSE2_X86_64=y
+CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
+CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
+CONFIG_CRYPTO_TEA=y
+CONFIG_CRYPTO_TWOFISH=y
+CONFIG_CRYPTO_TWOFISH_COMMON=y
+CONFIG_CRYPTO_TWOFISH_X86_64=y
+CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
+CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_USER_API=m
+CONFIG_CRYPTO_USER_API_HASH=m
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_ASYMMETRIC_KEY_TYPE=m
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
+CONFIG_PUBLIC_KEY_ALGO_RSA=m
+CONFIG_X509_CERTIFICATE_PARSER=m
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_KVM_ASYNC_PF=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_KVM_MMU_AUDIT=y
+CONFIG_KVM_DEVICE_ASSIGNMENT=y
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=y
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_IO=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC_ITU_T=y
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=y
+CONFIG_CRC8=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_REED_SOLOMON=m
+CONFIG_REED_SOLOMON_ENC8=y
+CONFIG_REED_SOLOMON_DEC8=y
+CONFIG_REED_SOLOMON_DEC16=y
+CONFIG_BCH=m
+CONFIG_BCH_CONST_PARAMS=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_NLATTR=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_LRU_CACHE=m
+CONFIG_AVERAGE=y
+CONFIG_CLZ_TAB=y
+CONFIG_CORDIC=m
+# CONFIG_DDR is not set
+CONFIG_MPILIB=m
+CONFIG_OID_REGISTRY=y
+CONFIG_UCS2_STRING=y
diff --git a/source/k/config-x86_64/config-huge-3.2.29.x64 b/source/k/config-x86_64/config-huge-3.2.29.x64
deleted file mode 100644
index 1d754012b..000000000
--- a/source/k/config-x86_64/config-huge-3.2.29.x64
+++ /dev/null
@@ -1,5477 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/x86_64 3.2.29 Kernel Configuration
-#
-CONFIG_64BIT=y
-# CONFIG_X86_32 is not set
-CONFIG_X86_64=y
-CONFIG_X86=y
-CONFIG_INSTRUCTION_DECODER=y
-CONFIG_OUTPUT_FORMAT="elf64-x86-64"
-CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_ARCH_CLOCKSOURCE_DATA=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_MMU=y
-CONFIG_ZONE_DMA=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_NEED_SG_DMA_LENGTH=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_GPIO=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_TIME_VSYSCALL=y
-CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_DEFAULT_IDLE=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_ZONE_DMA32=y
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-CONFIG_AUDIT_ARCH=y
-CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
-CONFIG_HAVE_INTEL_TXT=y
-CONFIG_X86_64_SMP=y
-CONFIG_X86_HT=y
-CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
-# CONFIG_KTIME_SCALAR is not set
-CONFIG_ARCH_CPU_PROBE_RELEASE=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_HAVE_IRQ_WORK=y
-CONFIG_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_BZIP2=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_XZ=y
-CONFIG_HAVE_KERNEL_LZO=y
-# CONFIG_KERNEL_GZIP is not set
-# CONFIG_KERNEL_BZIP2 is not set
-CONFIG_KERNEL_LZMA=y
-# CONFIG_KERNEL_XZ is not set
-# CONFIG_KERNEL_LZO is not set
-CONFIG_DEFAULT_HOSTNAME="darkstar"
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-# CONFIG_FHANDLE is not set
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_AUDIT_WATCH=y
-CONFIG_AUDIT_TREE=y
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_HAVE_SPARSE_IRQ=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_GENERIC_IRQ_CHIP=y
-CONFIG_IRQ_FORCED_THREADING=y
-CONFIG_SPARSE_IRQ=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-CONFIG_RCU_FANOUT=32
-# CONFIG_RCU_FANOUT_EXACT is not set
-# CONFIG_RCU_FAST_NO_HZ is not set
-# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-CONFIG_CGROUPS=y
-# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CPUSETS=y
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_RESOURCE_COUNTERS=y
-CONFIG_CGROUP_MEM_RES_CTLR=y
-CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
-# CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED is not set
-CONFIG_CGROUP_PERF=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_CFS_BANDWIDTH=y
-CONFIG_RT_GROUP_SCHED=y
-CONFIG_BLK_CGROUP=y
-# CONFIG_DEBUG_BLK_CGROUP is not set
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_NET_NS=y
-# CONFIG_SCHED_AUTOGROUP is not set
-CONFIG_MM_OWNER=y
-# CONFIG_SYSFS_DEPRECATED is not set
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_XZ=y
-CONFIG_RD_LZO=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-# CONFIG_EXPERT is not set
-CONFIG_UID16=y
-# CONFIG_SYSCTL_SYSCALL is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_PCSPKR_PLATFORM=y
-CONFIG_HAVE_PCSPKR_PLATFORM=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-# CONFIG_EMBEDDED is not set
-CONFIG_HAVE_PERF_EVENTS=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_PCI_QUIRKS=y
-CONFIG_SLUB_DEBUG=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-CONFIG_SLUB=y
-CONFIG_PROFILING=y
-CONFIG_TRACEPOINTS=y
-CONFIG_OPROFILE=m
-# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-# CONFIG_JUMP_LABEL is not set
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_IOREMAP_PROT=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_OPTPROBES=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_DMA_ATTRS=y
-CONFIG_USE_GENERIC_SMP_HELPERS=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
-CONFIG_HAVE_USER_RETURN_NOTIFIER=y
-CONFIG_HAVE_PERF_EVENTS_NMI=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_GCOV_KERNEL is not set
-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-CONFIG_MODULE_FORCE_LOAD=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_STOP_MACHINE=y
-CONFIG_BLOCK=y
-CONFIG_BLK_DEV_BSG=y
-CONFIG_BLK_DEV_BSGLIB=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-CONFIG_BLK_DEV_THROTTLING=y
-CONFIG_BLOCK_COMPAT=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-CONFIG_CFQ_GROUP_IOSCHED=y
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_PADATA=y
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-CONFIG_MUTEX_SPIN_ON_OWNER=y
-CONFIG_FREEZER=y
-
-#
-# Processor type and features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
-CONFIG_SMP=y
-CONFIG_X86_X2APIC=y
-CONFIG_X86_MPPARSE=y
-# CONFIG_X86_EXTENDED_PLATFORM is not set
-CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-# CONFIG_PARAVIRT_GUEST is not set
-CONFIG_NO_BOOTMEM=y
-CONFIG_MEMTEST=y
-# CONFIG_MK8 is not set
-# CONFIG_MPSC is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_MATOM is not set
-CONFIG_GENERIC_CPU=y
-CONFIG_X86_INTERNODE_CACHE_SHIFT=6
-CONFIG_X86_CMPXCHG=y
-CONFIG_CMPXCHG_LOCAL=y
-CONFIG_CMPXCHG_DOUBLE=y
-CONFIG_X86_L1_CACHE_SHIFT=6
-CONFIG_X86_XADD=y
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_TSC=y
-CONFIG_X86_CMPXCHG64=y
-CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=64
-CONFIG_X86_DEBUGCTLMSR=y
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR=y
-CONFIG_HPET_TIMER=y
-CONFIG_HPET_EMULATE_RTC=y
-CONFIG_DMI=y
-CONFIG_GART_IOMMU=y
-# CONFIG_CALGARY_IOMMU is not set
-CONFIG_SWIOTLB=y
-CONFIG_IOMMU_HELPER=y
-# CONFIG_MAXSMP is not set
-CONFIG_NR_CPUS=32
-CONFIG_SCHED_SMT=y
-CONFIG_SCHED_MC=y
-# CONFIG_IRQ_TIME_ACCOUNTING is not set
-# CONFIG_PREEMPT_NONE is not set
-CONFIG_PREEMPT_VOLUNTARY=y
-# CONFIG_PREEMPT is not set
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
-CONFIG_X86_MCE=y
-CONFIG_X86_MCE_INTEL=y
-CONFIG_X86_MCE_AMD=y
-CONFIG_X86_MCE_THRESHOLD=y
-CONFIG_X86_MCE_INJECT=m
-CONFIG_X86_THERMAL_VECTOR=y
-CONFIG_I8K=m
-CONFIG_MICROCODE=m
-CONFIG_MICROCODE_INTEL=y
-CONFIG_MICROCODE_AMD=y
-CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_X86_MSR=m
-CONFIG_X86_CPUID=m
-CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
-CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_DIRECT_GBPAGES=y
-# CONFIG_NUMA is not set
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_DEFAULT=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ARCH_MEMORY_PROBE=y
-CONFIG_ARCH_PROC_KCORE_TEXT=y
-CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_SPARSEMEM_MANUAL=y
-CONFIG_SPARSEMEM=y
-CONFIG_HAVE_MEMORY_PRESENT=y
-CONFIG_SPARSEMEM_EXTREME=y
-CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
-CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
-CONFIG_SPARSEMEM_VMEMMAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_MEMORY_HOTPLUG=y
-CONFIG_MEMORY_HOTPLUG_SPARSE=y
-CONFIG_MEMORY_HOTREMOVE=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_COMPACTION=y
-CONFIG_MIGRATION=y
-CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-CONFIG_MMU_NOTIFIER=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=98304
-CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
-# CONFIG_MEMORY_FAILURE is not set
-CONFIG_TRANSPARENT_HUGEPAGE=y
-CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
-# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
-# CONFIG_CLEANCACHE is not set
-# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
-CONFIG_X86_RESERVE_LOW=64
-CONFIG_MTRR=y
-CONFIG_MTRR_SANITIZER=y
-CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
-CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
-CONFIG_X86_PAT=y
-CONFIG_ARCH_USES_PG_UNCACHED=y
-CONFIG_ARCH_RANDOM=y
-CONFIG_EFI=y
-CONFIG_SECCOMP=y
-CONFIG_CC_STACKPROTECTOR=y
-# CONFIG_HZ_100 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_300 is not set
-CONFIG_HZ_1000=y
-CONFIG_HZ=1000
-CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
-# CONFIG_CRASH_DUMP is not set
-CONFIG_PHYSICAL_START=0x1000000
-# CONFIG_RELOCATABLE is not set
-CONFIG_PHYSICAL_ALIGN=0x1000000
-CONFIG_HOTPLUG_CPU=y
-CONFIG_COMPAT_VDSO=y
-# CONFIG_CMDLINE_BOOL is not set
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
-
-#
-# Power management and ACPI options
-#
-CONFIG_ARCH_HIBERNATION_HEADER=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_HIBERNATE_CALLBACKS=y
-CONFIG_HIBERNATION=y
-CONFIG_PM_STD_PARTITION="\"\""
-CONFIG_PM_SLEEP=y
-CONFIG_PM_SLEEP_SMP=y
-CONFIG_PM_RUNTIME=y
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_ACPI=y
-CONFIG_ACPI_SLEEP=y
-CONFIG_ACPI_PROCFS=y
-CONFIG_ACPI_PROCFS_POWER=y
-CONFIG_ACPI_EC_DEBUGFS=m
-CONFIG_ACPI_PROC_EVENT=y
-CONFIG_ACPI_AC=m
-CONFIG_ACPI_BATTERY=m
-CONFIG_ACPI_BUTTON=m
-CONFIG_ACPI_VIDEO=m
-CONFIG_ACPI_FAN=m
-CONFIG_ACPI_DOCK=y
-CONFIG_ACPI_PROCESSOR=m
-CONFIG_ACPI_IPMI=m
-CONFIG_ACPI_HOTPLUG_CPU=y
-CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
-CONFIG_ACPI_THERMAL=m
-# CONFIG_ACPI_CUSTOM_DSDT is not set
-CONFIG_ACPI_BLACKLIST_YEAR=0
-# CONFIG_ACPI_DEBUG is not set
-CONFIG_ACPI_PCI_SLOT=m
-CONFIG_X86_PM_TIMER=y
-CONFIG_ACPI_CONTAINER=m
-CONFIG_ACPI_HOTPLUG_MEMORY=m
-CONFIG_ACPI_SBS=m
-CONFIG_ACPI_HED=y
-# CONFIG_ACPI_CUSTOM_METHOD is not set
-CONFIG_ACPI_APEI=y
-CONFIG_ACPI_APEI_GHES=y
-CONFIG_ACPI_APEI_PCIEAER=y
-CONFIG_ACPI_APEI_EINJ=m
-CONFIG_ACPI_APEI_ERST_DEBUG=m
-CONFIG_SFI=y
-
-#
-# CPU Frequency scaling
-#
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_TABLE=m
-CONFIG_CPU_FREQ_STAT=m
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-
-#
-# x86 CPU frequency scaling drivers
-#
-CONFIG_X86_PCC_CPUFREQ=m
-CONFIG_X86_ACPI_CPUFREQ=m
-CONFIG_X86_POWERNOW_K8=m
-CONFIG_X86_SPEEDSTEP_CENTRINO=m
-CONFIG_X86_P4_CLOCKMOD=m
-
-#
-# shared options
-#
-CONFIG_X86_SPEEDSTEP_LIB=m
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_CPU_IDLE_GOV_MENU=y
-CONFIG_INTEL_IDLE=y
-
-#
-# Memory power savings
-#
-CONFIG_I7300_IDLE_IOAT_CHANNEL=y
-CONFIG_I7300_IDLE=m
-
-#
-# Bus options (PCI etc.)
-#
-CONFIG_PCI=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_MMCONFIG=y
-CONFIG_PCI_DOMAINS=y
-# CONFIG_PCI_CNB20LE_QUIRK is not set
-CONFIG_PCIEPORTBUS=y
-CONFIG_HOTPLUG_PCI_PCIE=m
-CONFIG_PCIEAER=y
-# CONFIG_PCIE_ECRC is not set
-CONFIG_PCIEAER_INJECT=m
-CONFIG_PCIEASPM=y
-# CONFIG_PCIEASPM_DEBUG is not set
-CONFIG_PCIE_PME=y
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_PCI_MSI=y
-# CONFIG_PCI_DEBUG is not set
-CONFIG_PCI_STUB=m
-CONFIG_HT_IRQ=y
-# CONFIG_PCI_IOV is not set
-# CONFIG_PCI_PRI is not set
-# CONFIG_PCI_PASID is not set
-CONFIG_PCI_IOAPIC=y
-CONFIG_PCI_LABEL=y
-CONFIG_ISA_DMA_API=y
-CONFIG_AMD_NB=y
-CONFIG_PCCARD=m
-CONFIG_PCMCIA=m
-CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_CARDBUS=y
-
-#
-# PC-card bridges
-#
-CONFIG_YENTA=m
-CONFIG_YENTA_O2=y
-CONFIG_YENTA_RICOH=y
-CONFIG_YENTA_TI=y
-CONFIG_YENTA_ENE_TUNE=y
-CONFIG_YENTA_TOSHIBA=y
-CONFIG_PD6729=m
-CONFIG_I82092=m
-CONFIG_PCCARD_NONSTATIC=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_FAKE=m
-CONFIG_HOTPLUG_PCI_ACPI=m
-CONFIG_HOTPLUG_PCI_ACPI_IBM=m
-# CONFIG_HOTPLUG_PCI_CPCI is not set
-CONFIG_HOTPLUG_PCI_SHPC=m
-# CONFIG_RAPIDIO is not set
-
-#
-# Executable file formats / Emulations
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_COMPAT_BINFMT_ELF=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-# CONFIG_HAVE_AOUT is not set
-CONFIG_BINFMT_MISC=m
-CONFIG_IA32_EMULATION=y
-# CONFIG_IA32_AOUT is not set
-CONFIG_COMPAT=y
-CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
-CONFIG_SYSVIPC_COMPAT=y
-CONFIG_KEYS_COMPAT=y
-CONFIG_HAVE_TEXT_POKE_SMP=y
-CONFIG_NET=y
-CONFIG_COMPAT_NETLINK_MESSAGES=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=y
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_XFRM_STATISTICS is not set
-CONFIG_XFRM_IPCOMP=m
-CONFIG_NET_KEY=m
-# CONFIG_NET_KEY_MIGRATE is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-# CONFIG_IP_FIB_TRIE_STATS is not set
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_ROUTE_CLASSID=y
-# CONFIG_IP_PNP is not set
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPGRE_BROADCAST=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_XFRM_TUNNEL=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_LRO=y
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-CONFIG_IPV6=m
-CONFIG_IPV6_PRIVACY=y
-# CONFIG_IPV6_ROUTER_PREF is not set
-# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_MIP6=m
-CONFIG_INET6_XFRM_TUNNEL=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
-CONFIG_IPV6_SIT=m
-# CONFIG_IPV6_SIT_6RD is not set
-CONFIG_IPV6_NDISC_NODETYPE=y
-CONFIG_IPV6_TUNNEL=m
-# CONFIG_IPV6_MULTIPLE_TABLES is not set
-# CONFIG_IPV6_MROUTE is not set
-# CONFIG_NETLABEL is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_NETFILTER_ADVANCED=y
-CONFIG_BRIDGE_NETFILTER=y
-
-#
-# Core Netfilter Configuration
-#
-CONFIG_NETFILTER_NETLINK=m
-CONFIG_NETFILTER_NETLINK_QUEUE=m
-CONFIG_NETFILTER_NETLINK_LOG=m
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_MARK=y
-CONFIG_NF_CONNTRACK_ZONES=y
-# CONFIG_NF_CONNTRACK_EVENTS is not set
-# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
-CONFIG_NF_CT_PROTO_DCCP=m
-CONFIG_NF_CT_PROTO_GRE=m
-CONFIG_NF_CT_PROTO_SCTP=m
-CONFIG_NF_CT_PROTO_UDPLITE=m
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK_BROADCAST=m
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_PPTP=m
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-CONFIG_NF_CT_NETLINK=m
-CONFIG_NETFILTER_TPROXY=m
-CONFIG_NETFILTER_XTABLES=m
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_CONNMARK=m
-CONFIG_NETFILTER_XT_SET=m
-
-#
-# Xtables targets
-#
-CONFIG_NETFILTER_XT_TARGET_AUDIT=m
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_HL=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-CONFIG_NETFILTER_XT_TARGET_LED=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
-CONFIG_NETFILTER_XT_TARGET_RATEEST=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-CONFIG_NETFILTER_XT_TARGET_TPROXY=m
-CONFIG_NETFILTER_XT_TARGET_TRACE=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
-
-#
-# Xtables matches
-#
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_HL=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_IPVS=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_OSF=m
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_SOCKET=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-CONFIG_IP_SET=m
-CONFIG_IP_SET_MAX=256
-CONFIG_IP_SET_BITMAP_IP=m
-CONFIG_IP_SET_BITMAP_IPMAC=m
-CONFIG_IP_SET_BITMAP_PORT=m
-CONFIG_IP_SET_HASH_IP=m
-CONFIG_IP_SET_HASH_IPPORT=m
-CONFIG_IP_SET_HASH_IPPORTIP=m
-CONFIG_IP_SET_HASH_IPPORTNET=m
-CONFIG_IP_SET_HASH_NET=m
-CONFIG_IP_SET_HASH_NETPORT=m
-CONFIG_IP_SET_HASH_NETIFACE=m
-CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_VS=m
-# CONFIG_IP_VS_IPV6 is not set
-# CONFIG_IP_VS_DEBUG is not set
-CONFIG_IP_VS_TAB_BITS=12
-
-#
-# IPVS transport protocol load balancing support
-#
-CONFIG_IP_VS_PROTO_TCP=y
-CONFIG_IP_VS_PROTO_UDP=y
-CONFIG_IP_VS_PROTO_AH_ESP=y
-CONFIG_IP_VS_PROTO_ESP=y
-CONFIG_IP_VS_PROTO_AH=y
-CONFIG_IP_VS_PROTO_SCTP=y
-
-#
-# IPVS scheduler
-#
-CONFIG_IP_VS_RR=m
-CONFIG_IP_VS_WRR=m
-CONFIG_IP_VS_LC=m
-CONFIG_IP_VS_WLC=m
-CONFIG_IP_VS_LBLC=m
-CONFIG_IP_VS_LBLCR=m
-CONFIG_IP_VS_DH=m
-CONFIG_IP_VS_SH=m
-CONFIG_IP_VS_SED=m
-CONFIG_IP_VS_NQ=m
-
-#
-# IPVS application helper
-#
-CONFIG_IP_VS_FTP=m
-CONFIG_IP_VS_NFCT=y
-CONFIG_IP_VS_PE_SIP=m
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV4=m
-CONFIG_NF_CONNTRACK_IPV4=m
-CONFIG_NF_CONNTRACK_PROC_COMPAT=y
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_NF_NAT=m
-CONFIG_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_NF_NAT_SNMP_BASIC=m
-CONFIG_NF_NAT_PROTO_DCCP=m
-CONFIG_NF_NAT_PROTO_GRE=m
-CONFIG_NF_NAT_PROTO_UDPLITE=m
-CONFIG_NF_NAT_PROTO_SCTP=m
-CONFIG_NF_NAT_FTP=m
-CONFIG_NF_NAT_IRC=m
-CONFIG_NF_NAT_TFTP=m
-CONFIG_NF_NAT_AMANDA=m
-CONFIG_NF_NAT_PPTP=m
-CONFIG_NF_NAT_H323=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_CLUSTERIP=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_SECURITY=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV6=m
-CONFIG_NF_CONNTRACK_IPV6=m
-CONFIG_IP6_NF_QUEUE=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_TARGET_LOG=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_RAW=m
-CONFIG_IP6_NF_SECURITY=m
-
-#
-# DECnet: Netfilter Configuration
-#
-# CONFIG_DECNET_NF_GRABULATOR is not set
-CONFIG_BRIDGE_NF_EBTABLES=m
-CONFIG_BRIDGE_EBT_BROUTE=m
-CONFIG_BRIDGE_EBT_T_FILTER=m
-CONFIG_BRIDGE_EBT_T_NAT=m
-CONFIG_BRIDGE_EBT_802_3=m
-CONFIG_BRIDGE_EBT_AMONG=m
-CONFIG_BRIDGE_EBT_ARP=m
-CONFIG_BRIDGE_EBT_IP=m
-CONFIG_BRIDGE_EBT_IP6=m
-CONFIG_BRIDGE_EBT_LIMIT=m
-CONFIG_BRIDGE_EBT_MARK=m
-CONFIG_BRIDGE_EBT_PKTTYPE=m
-CONFIG_BRIDGE_EBT_STP=m
-CONFIG_BRIDGE_EBT_VLAN=m
-CONFIG_BRIDGE_EBT_ARPREPLY=m
-CONFIG_BRIDGE_EBT_DNAT=m
-CONFIG_BRIDGE_EBT_MARK_T=m
-CONFIG_BRIDGE_EBT_REDIRECT=m
-CONFIG_BRIDGE_EBT_SNAT=m
-CONFIG_BRIDGE_EBT_LOG=m
-CONFIG_BRIDGE_EBT_ULOG=m
-CONFIG_BRIDGE_EBT_NFLOG=m
-CONFIG_IP_DCCP=m
-CONFIG_INET_DCCP_DIAG=m
-
-#
-# DCCP CCIDs Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_DCCP_CCID2_DEBUG is not set
-# CONFIG_IP_DCCP_CCID3 is not set
-
-#
-# DCCP Kernel Hacking
-#
-# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_SCTP=m
-# CONFIG_SCTP_DBG_MSG is not set
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# CONFIG_SCTP_HMAC_NONE is not set
-# CONFIG_SCTP_HMAC_SHA1 is not set
-CONFIG_SCTP_HMAC_MD5=y
-CONFIG_RDS=m
-CONFIG_RDS_RDMA=m
-CONFIG_RDS_TCP=m
-# CONFIG_RDS_DEBUG is not set
-CONFIG_TIPC=m
-# CONFIG_TIPC_ADVANCED is not set
-# CONFIG_TIPC_DEBUG is not set
-CONFIG_ATM=m
-CONFIG_ATM_CLIP=m
-# CONFIG_ATM_CLIP_NO_ICMP is not set
-CONFIG_ATM_LANE=m
-CONFIG_ATM_MPOA=m
-CONFIG_ATM_BR2684=m
-# CONFIG_ATM_BR2684_IPFILTER is not set
-CONFIG_L2TP=m
-CONFIG_L2TP_DEBUGFS=m
-CONFIG_L2TP_V3=y
-CONFIG_L2TP_IP=m
-CONFIG_L2TP_ETH=m
-CONFIG_STP=m
-CONFIG_GARP=m
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-# CONFIG_NET_DSA is not set
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_DECNET=m
-# CONFIG_DECNET_ROUTER is not set
-CONFIG_LLC=y
-CONFIG_LLC2=m
-CONFIG_IPX=m
-# CONFIG_IPX_INTERN is not set
-CONFIG_ATALK=m
-CONFIG_DEV_APPLETALK=m
-CONFIG_IPDDP=m
-CONFIG_IPDDP_ENCAP=y
-CONFIG_IPDDP_DECAP=y
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-CONFIG_WAN_ROUTER=m
-# CONFIG_PHONET is not set
-CONFIG_IEEE802154=m
-CONFIG_IEEE802154_6LOWPAN=m
-CONFIG_NET_SCHED=y
-
-#
-# Queueing/Scheduling
-#
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_ATM=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_MULTIQ=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFB=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_NETEM=m
-CONFIG_NET_SCH_DRR=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_CHOKE=m
-CONFIG_NET_SCH_QFQ=m
-CONFIG_NET_SCH_INGRESS=m
-
-#
-# Classification
-#
-CONFIG_NET_CLS=y
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-# CONFIG_CLS_U32_PERF is not set
-CONFIG_CLS_U32_MARK=y
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_CLS_FLOW=m
-CONFIG_NET_CLS_CGROUP=y
-CONFIG_NET_EMATCH=y
-CONFIG_NET_EMATCH_STACK=32
-CONFIG_NET_EMATCH_CMP=m
-CONFIG_NET_EMATCH_NBYTE=m
-CONFIG_NET_EMATCH_U32=m
-CONFIG_NET_EMATCH_META=m
-CONFIG_NET_EMATCH_TEXT=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_POLICE=y
-CONFIG_NET_ACT_GACT=m
-CONFIG_GACT_PROB=y
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_IPT=m
-CONFIG_NET_ACT_NAT=m
-CONFIG_NET_ACT_PEDIT=m
-CONFIG_NET_ACT_SIMP=m
-CONFIG_NET_ACT_SKBEDIT=m
-CONFIG_NET_ACT_CSUM=m
-# CONFIG_NET_CLS_IND is not set
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=y
-CONFIG_BATMAN_ADV=m
-# CONFIG_BATMAN_ADV_DEBUG is not set
-CONFIG_RPS=y
-CONFIG_RFS_ACCEL=y
-CONFIG_XPS=y
-CONFIG_HAVE_BPF_JIT=y
-CONFIG_BPF_JIT=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_NET_DROP_MONITOR is not set
-CONFIG_HAMRADIO=y
-
-#
-# Packet Radio protocols
-#
-CONFIG_AX25=m
-# CONFIG_AX25_DAMA_SLAVE is not set
-CONFIG_NETROM=m
-CONFIG_ROSE=m
-
-#
-# AX.25 network device drivers
-#
-CONFIG_MKISS=m
-CONFIG_6PACK=m
-CONFIG_BPQETHER=m
-CONFIG_BAYCOM_SER_FDX=m
-CONFIG_BAYCOM_SER_HDX=m
-CONFIG_BAYCOM_PAR=m
-CONFIG_YAM=m
-CONFIG_CAN=m
-CONFIG_CAN_RAW=m
-CONFIG_CAN_BCM=m
-CONFIG_CAN_GW=m
-
-#
-# CAN Device Drivers
-#
-CONFIG_CAN_VCAN=m
-CONFIG_CAN_SLCAN=m
-CONFIG_CAN_DEV=m
-CONFIG_CAN_CALC_BITTIMING=y
-CONFIG_CAN_JANZ_ICAN3=m
-CONFIG_PCH_CAN=m
-CONFIG_CAN_SJA1000=m
-CONFIG_CAN_SJA1000_PLATFORM=m
-CONFIG_CAN_EMS_PCMCIA=m
-CONFIG_CAN_EMS_PCI=m
-CONFIG_CAN_PEAK_PCI=m
-CONFIG_CAN_KVASER_PCI=m
-CONFIG_CAN_PLX_PCI=m
-CONFIG_CAN_C_CAN=m
-CONFIG_CAN_C_CAN_PLATFORM=m
-
-#
-# CAN USB interfaces
-#
-CONFIG_CAN_EMS_USB=m
-CONFIG_CAN_ESD_USB2=m
-CONFIG_CAN_SOFTING=m
-CONFIG_CAN_SOFTING_CS=m
-# CONFIG_CAN_DEBUG_DEVICES is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-CONFIG_IRDA_CACHE_LAST_LSAP=y
-CONFIG_IRDA_FAST_RR=y
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-CONFIG_IRTTY_SIR=m
-
-#
-# Dongle support
-#
-CONFIG_DONGLE=y
-CONFIG_ESI_DONGLE=m
-CONFIG_ACTISYS_DONGLE=m
-CONFIG_TEKRAM_DONGLE=m
-CONFIG_TOIM3232_DONGLE=m
-CONFIG_LITELINK_DONGLE=m
-CONFIG_MA600_DONGLE=m
-CONFIG_GIRBIL_DONGLE=m
-CONFIG_MCP2120_DONGLE=m
-CONFIG_OLD_BELKIN_DONGLE=m
-CONFIG_ACT200L_DONGLE=m
-CONFIG_KINGSUN_DONGLE=m
-CONFIG_KSDAZZLE_DONGLE=m
-CONFIG_KS959_DONGLE=m
-
-#
-# FIR device drivers
-#
-CONFIG_USB_IRDA=m
-CONFIG_SIGMATEL_FIR=m
-CONFIG_NSC_FIR=m
-CONFIG_WINBOND_FIR=m
-CONFIG_SMC_IRCC_FIR=m
-CONFIG_ALI_FIR=m
-CONFIG_VLSI_FIR=m
-CONFIG_VIA_FIR=m
-CONFIG_MCS_FIR=m
-CONFIG_BT=m
-CONFIG_BT_L2CAP=y
-CONFIG_BT_SCO=y
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_CMTP=m
-CONFIG_BT_HIDP=m
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIVHCI=m
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-CONFIG_BT_ATH3K=m
-CONFIG_BT_WILINK=m
-CONFIG_AF_RXRPC=m
-# CONFIG_AF_RXRPC_DEBUG is not set
-CONFIG_RXKAD=m
-CONFIG_FIB_RULES=y
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=m
-# CONFIG_NL80211_TESTMODE is not set
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-# CONFIG_CFG80211_REG_DEBUG is not set
-CONFIG_CFG80211_DEFAULT_PS=y
-# CONFIG_CFG80211_DEBUGFS is not set
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_WEXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-CONFIG_LIB80211=m
-CONFIG_LIB80211_CRYPT_WEP=m
-CONFIG_LIB80211_CRYPT_CCMP=m
-CONFIG_LIB80211_CRYPT_TKIP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_MAC80211=m
-CONFIG_MAC80211_HAS_RC=y
-CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_RC_MINSTREL_HT=y
-CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
-CONFIG_MAC80211_MESH=y
-CONFIG_MAC80211_LEDS=y
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_WIMAX=m
-CONFIG_WIMAX_DEBUG_LEVEL=8
-CONFIG_RFKILL=m
-CONFIG_RFKILL_LEDS=y
-CONFIG_RFKILL_INPUT=y
-CONFIG_RFKILL_REGULATOR=m
-CONFIG_NET_9P=m
-CONFIG_NET_9P_VIRTIO=m
-CONFIG_NET_9P_RDMA=m
-# CONFIG_NET_9P_DEBUG is not set
-# CONFIG_CAIF is not set
-CONFIG_CEPH_LIB=m
-# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
-# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
-CONFIG_NFC=m
-CONFIG_NFC_NCI=m
-
-#
-# Near Field Communication (NFC) devices
-#
-CONFIG_PN544_NFC=m
-CONFIG_NFC_PN533=m
-CONFIG_NFC_WILINK=m
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-# CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-CONFIG_REGMAP=y
-CONFIG_REGMAP_I2C=m
-CONFIG_CONNECTOR=m
-CONFIG_MTD=m
-CONFIG_MTD_TESTS=m
-CONFIG_MTD_REDBOOT_PARTS=m
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-CONFIG_MTD_AR7_PARTS=m
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=m
-CONFIG_HAVE_MTD_OTP=y
-CONFIG_MTD_BLKDEVS=m
-CONFIG_MTD_BLOCK=m
-CONFIG_MTD_BLOCK_RO=m
-CONFIG_FTL=m
-CONFIG_NFTL=m
-CONFIG_NFTL_RW=y
-CONFIG_INFTL=m
-CONFIG_RFD_FTL=m
-CONFIG_SSFDC=m
-CONFIG_SM_FTL=m
-CONFIG_MTD_OOPS=m
-CONFIG_MTD_SWAP=m
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=m
-CONFIG_MTD_JEDECPROBE=m
-CONFIG_MTD_GEN_PROBE=m
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_GEOMETRY=y
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-CONFIG_MTD_MAP_BANK_WIDTH_8=y
-CONFIG_MTD_MAP_BANK_WIDTH_16=y
-CONFIG_MTD_MAP_BANK_WIDTH_32=y
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-CONFIG_MTD_CFI_I4=y
-CONFIG_MTD_CFI_I8=y
-CONFIG_MTD_OTP=y
-CONFIG_MTD_CFI_INTELEXT=m
-CONFIG_MTD_CFI_AMDSTD=m
-CONFIG_MTD_CFI_STAA=m
-CONFIG_MTD_CFI_UTIL=m
-CONFIG_MTD_RAM=m
-CONFIG_MTD_ROM=m
-CONFIG_MTD_ABSENT=m
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_PHYSMAP=m
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-CONFIG_MTD_SC520CDP=m
-CONFIG_MTD_NETSC520=m
-CONFIG_MTD_TS5500=m
-CONFIG_MTD_SBC_GXX=m
-CONFIG_MTD_AMD76XROM=m
-CONFIG_MTD_ICHXROM=m
-CONFIG_MTD_ESB2ROM=m
-CONFIG_MTD_CK804XROM=m
-CONFIG_MTD_SCB2_FLASH=m
-CONFIG_MTD_NETtel=m
-CONFIG_MTD_L440GX=m
-CONFIG_MTD_PCI=m
-CONFIG_MTD_PCMCIA=m
-# CONFIG_MTD_PCMCIA_ANONYMOUS is not set
-CONFIG_MTD_GPIO_ADDR=m
-CONFIG_MTD_INTEL_VR_NOR=m
-CONFIG_MTD_PLATRAM=m
-CONFIG_MTD_LATCH_ADDR=m
-
-#
-# Self-contained MTD device drivers
-#
-CONFIG_MTD_PMC551=m
-CONFIG_MTD_PMC551_BUGFIX=y
-# CONFIG_MTD_PMC551_DEBUG is not set
-CONFIG_MTD_SLRAM=m
-CONFIG_MTD_PHRAM=m
-CONFIG_MTD_MTDRAM=m
-CONFIG_MTDRAM_TOTAL_SIZE=4096
-CONFIG_MTDRAM_ERASE_SIZE=128
-CONFIG_MTD_BLOCK2MTD=m
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-CONFIG_MTD_DOC2001PLUS=m
-CONFIG_MTD_DOCG3=m
-CONFIG_MTD_DOCPROBE=m
-CONFIG_MTD_DOCECC=m
-CONFIG_MTD_DOCPROBE_ADVANCED=y
-CONFIG_MTD_DOCPROBE_ADDRESS=0x0000
-CONFIG_MTD_DOCPROBE_HIGH=y
-CONFIG_MTD_DOCPROBE_55AA=y
-CONFIG_MTD_NAND_ECC=m
-CONFIG_MTD_NAND_ECC_SMC=y
-CONFIG_MTD_NAND=m
-CONFIG_MTD_NAND_VERIFY_WRITE=y
-CONFIG_MTD_NAND_BCH=m
-CONFIG_MTD_NAND_ECC_BCH=y
-CONFIG_MTD_SM_COMMON=m
-CONFIG_MTD_NAND_MUSEUM_IDS=y
-CONFIG_MTD_NAND_DENALI=m
-CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
-CONFIG_MTD_NAND_IDS=m
-CONFIG_MTD_NAND_RICOH=m
-CONFIG_MTD_NAND_DISKONCHIP=m
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
-CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y
-CONFIG_MTD_NAND_CAFE=m
-CONFIG_MTD_NAND_NANDSIM=m
-CONFIG_MTD_NAND_PLATFORM=m
-CONFIG_MTD_ALAUDA=m
-CONFIG_MTD_ONENAND=m
-CONFIG_MTD_ONENAND_VERIFY_WRITE=y
-CONFIG_MTD_ONENAND_GENERIC=m
-CONFIG_MTD_ONENAND_OTP=y
-CONFIG_MTD_ONENAND_2X_PROGRAM=y
-CONFIG_MTD_ONENAND_SIM=m
-
-#
-# LPDDR flash memory drivers
-#
-CONFIG_MTD_LPDDR=m
-CONFIG_MTD_QINFO_PROBE=m
-CONFIG_MTD_UBI=m
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-CONFIG_MTD_UBI_GLUEBI=m
-# CONFIG_MTD_UBI_DEBUG is not set
-CONFIG_PARPORT=m
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_SERIAL=m
-# CONFIG_PARPORT_PC_FIFO is not set
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_GSC is not set
-CONFIG_PARPORT_AX88796=m
-CONFIG_PARPORT_1284=y
-CONFIG_PARPORT_NOT_PC=y
-CONFIG_PNP=y
-CONFIG_PNP_DEBUG_MESSAGES=y
-
-#
-# Protocols
-#
-CONFIG_PNPACPI=y
-CONFIG_BLK_DEV=y
-CONFIG_BLK_DEV_FD=y
-CONFIG_PARIDE=m
-
-#
-# Parallel IDE high-level drivers
-#
-CONFIG_PARIDE_PD=m
-CONFIG_PARIDE_PCD=m
-CONFIG_PARIDE_PF=m
-CONFIG_PARIDE_PT=m
-CONFIG_PARIDE_PG=m
-
-#
-# Parallel IDE protocol modules
-#
-CONFIG_PARIDE_ATEN=m
-CONFIG_PARIDE_BPCK=m
-CONFIG_PARIDE_COMM=m
-CONFIG_PARIDE_DSTR=m
-CONFIG_PARIDE_FIT2=m
-CONFIG_PARIDE_FIT3=m
-CONFIG_PARIDE_EPAT=m
-CONFIG_PARIDE_EPATC8=y
-CONFIG_PARIDE_EPIA=m
-CONFIG_PARIDE_FRIQ=m
-CONFIG_PARIDE_FRPW=m
-CONFIG_PARIDE_KBIC=m
-CONFIG_PARIDE_KTTI=m
-CONFIG_PARIDE_ON20=m
-CONFIG_PARIDE_ON26=m
-CONFIG_BLK_CPQ_DA=y
-CONFIG_BLK_CPQ_CISS_DA=y
-CONFIG_CISS_SCSI_TAPE=y
-CONFIG_BLK_DEV_DAC960=y
-CONFIG_BLK_DEV_UMEM=m
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-CONFIG_BLK_DEV_DRBD=m
-# CONFIG_DRBD_FAULT_INJECTION is not set
-CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_OSD=m
-CONFIG_BLK_DEV_SX8=y
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=16384
-# CONFIG_BLK_DEV_XIP is not set
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-CONFIG_ATA_OVER_ETH=m
-CONFIG_VIRTIO_BLK=m
-# CONFIG_BLK_DEV_HD is not set
-CONFIG_BLK_DEV_RBD=m
-CONFIG_SENSORS_LIS3LV02D=m
-CONFIG_MISC_DEVICES=y
-CONFIG_AD525X_DPOT=m
-CONFIG_AD525X_DPOT_I2C=m
-CONFIG_IBM_ASM=m
-CONFIG_PHANTOM=m
-CONFIG_INTEL_MID_PTI=m
-CONFIG_SGI_IOC4=m
-CONFIG_TIFM_CORE=m
-CONFIG_TIFM_7XX1=m
-CONFIG_ICS932S401=m
-CONFIG_ENCLOSURE_SERVICES=m
-CONFIG_CS5535_MFGPT=m
-CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
-CONFIG_CS5535_CLOCK_EVENT_SRC=m
-CONFIG_HP_ILO=m
-CONFIG_APDS9802ALS=m
-CONFIG_ISL29003=m
-CONFIG_ISL29020=m
-CONFIG_SENSORS_TSL2550=m
-CONFIG_SENSORS_BH1780=m
-CONFIG_SENSORS_BH1770=m
-CONFIG_SENSORS_APDS990X=m
-CONFIG_HMC6352=m
-CONFIG_DS1682=m
-CONFIG_VMWARE_BALLOON=m
-CONFIG_BMP085=m
-CONFIG_PCH_PHUB=m
-CONFIG_USB_SWITCH_FSA9480=m
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-CONFIG_EEPROM_AT24=m
-CONFIG_EEPROM_LEGACY=m
-CONFIG_EEPROM_MAX6875=m
-CONFIG_EEPROM_93CX6=m
-CONFIG_CB710_CORE=m
-# CONFIG_CB710_DEBUG is not set
-CONFIG_CB710_DEBUG_ASSUMPTIONS=y
-CONFIG_IWMC3200TOP=m
-# CONFIG_IWMC3200TOP_DEBUG is not set
-# CONFIG_IWMC3200TOP_DEBUGFS is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-CONFIG_TI_ST=m
-CONFIG_SENSORS_LIS3_I2C=m
-
-#
-# Altera FPGA firmware download module
-#
-CONFIG_ALTERA_STAPL=m
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-CONFIG_RAID_ATTRS=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_SCSI_TGT=y
-CONFIG_SCSI_NETLINK=y
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_ST=y
-CONFIG_CHR_DEV_OSST=m
-CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_CHR_DEV_SG=m
-CONFIG_CHR_DEV_SCH=m
-CONFIG_SCSI_ENCLOSURE=m
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-CONFIG_SCSI_SPI_ATTRS=y
-CONFIG_SCSI_FC_ATTRS=y
-CONFIG_SCSI_FC_TGT_ATTRS=y
-CONFIG_SCSI_ISCSI_ATTRS=m
-CONFIG_SCSI_SAS_ATTRS=y
-CONFIG_SCSI_SAS_LIBSAS=y
-CONFIG_SCSI_SAS_ATA=y
-CONFIG_SCSI_SAS_HOST_SMP=y
-CONFIG_SCSI_SRP_ATTRS=m
-CONFIG_SCSI_SRP_TGT_ATTRS=y
-CONFIG_SCSI_LOWLEVEL=y
-CONFIG_ISCSI_TCP=m
-CONFIG_ISCSI_BOOT_SYSFS=y
-CONFIG_SCSI_CXGB3_ISCSI=m
-CONFIG_SCSI_CXGB4_ISCSI=m
-CONFIG_SCSI_BNX2_ISCSI=m
-CONFIG_SCSI_BNX2X_FCOE=m
-CONFIG_BE2ISCSI=m
-CONFIG_BLK_DEV_3W_XXXX_RAID=y
-CONFIG_SCSI_HPSA=y
-CONFIG_SCSI_3W_9XXX=y
-CONFIG_SCSI_3W_SAS=y
-CONFIG_SCSI_ACARD=y
-CONFIG_SCSI_AACRAID=y
-CONFIG_SCSI_AIC7XXX=y
-CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
-CONFIG_AIC7XXX_RESET_DELAY_MS=15000
-# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
-CONFIG_AIC7XXX_DEBUG_MASK=0
-# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
-CONFIG_SCSI_AIC7XXX_OLD=y
-CONFIG_SCSI_AIC79XX=y
-CONFIG_AIC79XX_CMDS_PER_DEVICE=4
-CONFIG_AIC79XX_RESET_DELAY_MS=15000
-# CONFIG_AIC79XX_DEBUG_ENABLE is not set
-CONFIG_AIC79XX_DEBUG_MASK=0
-# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
-CONFIG_SCSI_AIC94XX=y
-# CONFIG_AIC94XX_DEBUG is not set
-CONFIG_SCSI_MVSAS=y
-# CONFIG_SCSI_MVSAS_DEBUG is not set
-# CONFIG_SCSI_MVSAS_TASKLET is not set
-CONFIG_SCSI_MVUMI=m
-CONFIG_SCSI_DPT_I2O=m
-CONFIG_SCSI_ADVANSYS=y
-CONFIG_SCSI_ARCMSR=y
-CONFIG_MEGARAID_NEWGEN=y
-CONFIG_MEGARAID_MM=y
-CONFIG_MEGARAID_MAILBOX=y
-CONFIG_MEGARAID_LEGACY=m
-CONFIG_MEGARAID_SAS=y
-CONFIG_SCSI_MPT2SAS=y
-CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT2SAS_LOGGING is not set
-CONFIG_SCSI_HPTIOP=y
-CONFIG_SCSI_BUSLOGIC=y
-CONFIG_VMWARE_PVSCSI=m
-CONFIG_LIBFC=y
-CONFIG_LIBFCOE=y
-CONFIG_FCOE=y
-CONFIG_FCOE_FNIC=y
-CONFIG_SCSI_DMX3191D=y
-CONFIG_SCSI_EATA=y
-# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
-# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
-CONFIG_SCSI_EATA_MAX_TAGS=16
-CONFIG_SCSI_FUTURE_DOMAIN=y
-CONFIG_SCSI_GDTH=y
-CONFIG_SCSI_ISCI=m
-CONFIG_SCSI_IPS=y
-CONFIG_SCSI_INITIO=y
-CONFIG_SCSI_INIA100=y
-CONFIG_SCSI_PPA=m
-CONFIG_SCSI_IMM=m
-# CONFIG_SCSI_IZIP_EPP16 is not set
-# CONFIG_SCSI_IZIP_SLOW_CTR is not set
-CONFIG_SCSI_STEX=y
-CONFIG_SCSI_SYM53C8XX_2=y
-CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
-CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
-CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
-CONFIG_SCSI_SYM53C8XX_MMIO=y
-CONFIG_SCSI_IPR=y
-# CONFIG_SCSI_IPR_TRACE is not set
-# CONFIG_SCSI_IPR_DUMP is not set
-CONFIG_SCSI_QLOGIC_1280=y
-CONFIG_SCSI_QLA_FC=y
-CONFIG_SCSI_QLA_ISCSI=m
-CONFIG_SCSI_LPFC=y
-# CONFIG_SCSI_LPFC_DEBUG_FS is not set
-CONFIG_SCSI_DC395x=y
-CONFIG_SCSI_DC390T=y
-CONFIG_SCSI_DEBUG=m
-CONFIG_SCSI_PMCRAID=y
-CONFIG_SCSI_PM8001=y
-CONFIG_SCSI_SRP=y
-CONFIG_SCSI_BFA_FC=y
-CONFIG_SCSI_LOWLEVEL_PCMCIA=y
-CONFIG_PCMCIA_AHA152X=m
-CONFIG_PCMCIA_FDOMAIN=m
-CONFIG_PCMCIA_QLOGIC=m
-CONFIG_PCMCIA_SYM53C500=m
-CONFIG_SCSI_DH=m
-CONFIG_SCSI_DH_RDAC=m
-CONFIG_SCSI_DH_HP_SW=m
-CONFIG_SCSI_DH_EMC=m
-CONFIG_SCSI_DH_ALUA=m
-CONFIG_SCSI_OSD_INITIATOR=m
-CONFIG_SCSI_OSD_ULD=m
-CONFIG_SCSI_OSD_DPRINT_SENSE=1
-# CONFIG_SCSI_OSD_DEBUG is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_ATA_ACPI=y
-CONFIG_SATA_PMP=y
-
-#
-# Controllers with non-SFF native interface
-#
-CONFIG_SATA_AHCI=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_SATA_INIC162X=y
-CONFIG_SATA_ACARD_AHCI=y
-CONFIG_SATA_SIL24=y
-CONFIG_ATA_SFF=y
-
-#
-# SFF controllers with custom DMA interface
-#
-CONFIG_PDC_ADMA=y
-CONFIG_SATA_QSTOR=y
-CONFIG_SATA_SX4=y
-CONFIG_ATA_BMDMA=y
-
-#
-# SATA SFF controllers with BMDMA
-#
-CONFIG_ATA_PIIX=y
-CONFIG_SATA_MV=y
-CONFIG_SATA_NV=y
-CONFIG_SATA_PROMISE=y
-CONFIG_SATA_SIL=y
-CONFIG_SATA_SIS=y
-CONFIG_SATA_SVW=y
-CONFIG_SATA_ULI=y
-CONFIG_SATA_VIA=y
-CONFIG_SATA_VITESSE=y
-
-#
-# PATA SFF controllers with BMDMA
-#
-CONFIG_PATA_ALI=y
-CONFIG_PATA_AMD=y
-CONFIG_PATA_ARASAN_CF=m
-CONFIG_PATA_ARTOP=y
-CONFIG_PATA_ATIIXP=y
-CONFIG_PATA_ATP867X=y
-CONFIG_PATA_CMD64X=y
-CONFIG_PATA_CS5520=y
-CONFIG_PATA_CS5530=y
-CONFIG_PATA_CS5536=y
-CONFIG_PATA_CYPRESS=y
-CONFIG_PATA_EFAR=y
-CONFIG_PATA_HPT366=y
-CONFIG_PATA_HPT37X=y
-CONFIG_PATA_HPT3X2N=y
-CONFIG_PATA_HPT3X3=y
-CONFIG_PATA_HPT3X3_DMA=y
-CONFIG_PATA_IT8213=y
-CONFIG_PATA_IT821X=y
-CONFIG_PATA_JMICRON=y
-CONFIG_PATA_MARVELL=y
-CONFIG_PATA_NETCELL=y
-CONFIG_PATA_NINJA32=y
-CONFIG_PATA_NS87415=y
-CONFIG_PATA_OLDPIIX=y
-CONFIG_PATA_OPTIDMA=y
-CONFIG_PATA_PDC2027X=y
-CONFIG_PATA_PDC_OLD=y
-CONFIG_PATA_RADISYS=y
-CONFIG_PATA_RDC=y
-CONFIG_PATA_SC1200=y
-CONFIG_PATA_SCH=y
-CONFIG_PATA_SERVERWORKS=y
-CONFIG_PATA_SIL680=y
-CONFIG_PATA_SIS=y
-CONFIG_PATA_TOSHIBA=m
-CONFIG_PATA_TRIFLEX=y
-CONFIG_PATA_VIA=y
-CONFIG_PATA_WINBOND=y
-
-#
-# PIO-only SFF controllers
-#
-CONFIG_PATA_CMD640_PCI=y
-CONFIG_PATA_MPIIX=y
-CONFIG_PATA_NS87410=y
-CONFIG_PATA_OPTI=y
-CONFIG_PATA_PCMCIA=m
-CONFIG_PATA_RZ1000=y
-
-#
-# Generic fallback / legacy drivers
-#
-CONFIG_PATA_ACPI=y
-CONFIG_ATA_GENERIC=y
-CONFIG_PATA_LEGACY=y
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=y
-CONFIG_MD_AUTODETECT=y
-CONFIG_MD_LINEAR=y
-CONFIG_MD_RAID0=y
-CONFIG_MD_RAID1=y
-CONFIG_MD_RAID10=y
-CONFIG_MD_RAID456=y
-# CONFIG_MULTICORE_RAID456 is not set
-CONFIG_MD_MULTIPATH=y
-CONFIG_MD_FAULTY=m
-CONFIG_BLK_DEV_DM=y
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_BUFIO=m
-CONFIG_DM_PERSISTENT_DATA=m
-CONFIG_DM_CRYPT=y
-CONFIG_DM_SNAPSHOT=y
-CONFIG_DM_THIN_PROVISIONING=m
-# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
-# CONFIG_DM_DEBUG_SPACE_MAPS is not set
-CONFIG_DM_MIRROR=y
-CONFIG_DM_RAID=m
-CONFIG_DM_LOG_USERSPACE=m
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-CONFIG_DM_MULTIPATH_QL=m
-CONFIG_DM_MULTIPATH_ST=m
-# CONFIG_DM_DELAY is not set
-CONFIG_DM_UEVENT=y
-CONFIG_DM_FLAKEY=m
-CONFIG_TARGET_CORE=m
-CONFIG_TCM_IBLOCK=m
-CONFIG_TCM_FILEIO=m
-CONFIG_TCM_PSCSI=m
-CONFIG_LOOPBACK_TARGET=m
-CONFIG_TCM_FC=m
-CONFIG_ISCSI_TARGET=m
-CONFIG_FUSION=y
-CONFIG_FUSION_SPI=y
-CONFIG_FUSION_FC=y
-CONFIG_FUSION_SAS=y
-CONFIG_FUSION_MAX_SGE=128
-CONFIG_FUSION_CTL=y
-CONFIG_FUSION_LAN=y
-# CONFIG_FUSION_LOGGING is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-CONFIG_FIREWIRE=m
-CONFIG_FIREWIRE_OHCI=m
-CONFIG_FIREWIRE_OHCI_DEBUG=y
-CONFIG_FIREWIRE_SBP2=m
-CONFIG_FIREWIRE_NET=m
-CONFIG_FIREWIRE_NOSY=m
-CONFIG_I2O=y
-CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
-CONFIG_I2O_EXT_ADAPTEC=y
-CONFIG_I2O_EXT_ADAPTEC_DMA64=y
-CONFIG_I2O_CONFIG=y
-# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
-CONFIG_I2O_BUS=y
-CONFIG_I2O_BLOCK=y
-CONFIG_I2O_SCSI=y
-CONFIG_I2O_PROC=y
-CONFIG_MACINTOSH_DRIVERS=y
-CONFIG_MAC_EMUMOUSEBTN=y
-CONFIG_NETDEVICES=y
-CONFIG_NET_CORE=y
-CONFIG_BONDING=m
-CONFIG_DUMMY=m
-CONFIG_EQUALIZER=m
-CONFIG_NET_FC=y
-CONFIG_MII=m
-CONFIG_IEEE802154_DRIVERS=m
-CONFIG_IEEE802154_FAKEHARD=m
-CONFIG_IFB=m
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_NETCONSOLE=m
-CONFIG_NETCONSOLE_DYNAMIC=y
-CONFIG_NETPOLL=y
-# CONFIG_NETPOLL_TRAP is not set
-CONFIG_NET_POLL_CONTROLLER=y
-CONFIG_TUN=m
-CONFIG_VETH=m
-CONFIG_VIRTIO_NET=m
-CONFIG_SUNGEM_PHY=m
-CONFIG_ARCNET=m
-CONFIG_ARCNET_1201=m
-CONFIG_ARCNET_1051=m
-CONFIG_ARCNET_RAW=m
-CONFIG_ARCNET_CAP=m
-CONFIG_ARCNET_COM90xx=m
-CONFIG_ARCNET_COM90xxIO=m
-CONFIG_ARCNET_RIM_I=m
-CONFIG_ARCNET_COM20020=m
-CONFIG_ARCNET_COM20020_PCI=m
-CONFIG_ARCNET_COM20020_CS=m
-CONFIG_ATM_DRIVERS=y
-CONFIG_ATM_DUMMY=m
-CONFIG_ATM_TCP=m
-CONFIG_ATM_LANAI=m
-CONFIG_ATM_ENI=m
-# CONFIG_ATM_ENI_DEBUG is not set
-# CONFIG_ATM_ENI_TUNE_BURST is not set
-CONFIG_ATM_FIRESTREAM=m
-CONFIG_ATM_ZATM=m
-# CONFIG_ATM_ZATM_DEBUG is not set
-CONFIG_ATM_NICSTAR=m
-# CONFIG_ATM_NICSTAR_USE_SUNI is not set
-# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
-CONFIG_ATM_IDT77252=m
-# CONFIG_ATM_IDT77252_DEBUG is not set
-# CONFIG_ATM_IDT77252_RCV_ALL is not set
-CONFIG_ATM_IDT77252_USE_SUNI=y
-CONFIG_ATM_AMBASSADOR=m
-# CONFIG_ATM_AMBASSADOR_DEBUG is not set
-CONFIG_ATM_HORIZON=m
-# CONFIG_ATM_HORIZON_DEBUG is not set
-CONFIG_ATM_IA=m
-# CONFIG_ATM_IA_DEBUG is not set
-CONFIG_ATM_FORE200E=m
-# CONFIG_ATM_FORE200E_USE_TASKLET is not set
-CONFIG_ATM_FORE200E_TX_RETRY=16
-CONFIG_ATM_FORE200E_DEBUG=0
-CONFIG_ATM_HE=m
-# CONFIG_ATM_HE_USE_SUNI is not set
-CONFIG_ATM_SOLOS=m
-
-#
-# CAIF transport drivers
-#
-CONFIG_ETHERNET=y
-CONFIG_MDIO=m
-CONFIG_NET_VENDOR_3COM=y
-CONFIG_PCMCIA_3C574=m
-CONFIG_PCMCIA_3C589=m
-CONFIG_VORTEX=m
-CONFIG_TYPHOON=m
-CONFIG_NET_VENDOR_ADAPTEC=y
-CONFIG_ADAPTEC_STARFIRE=m
-CONFIG_NET_VENDOR_ALTEON=y
-CONFIG_ACENIC=m
-# CONFIG_ACENIC_OMIT_TIGON_I is not set
-CONFIG_NET_VENDOR_AMD=y
-CONFIG_AMD8111_ETH=m
-CONFIG_PCNET32=m
-CONFIG_PCMCIA_NMCLAN=m
-CONFIG_NET_VENDOR_ATHEROS=y
-CONFIG_ATL2=m
-CONFIG_ATL1=m
-CONFIG_ATL1E=m
-CONFIG_ATL1C=m
-CONFIG_NET_VENDOR_BROADCOM=y
-CONFIG_B44=m
-CONFIG_B44_PCI_AUTOSELECT=y
-CONFIG_B44_PCICORE_AUTOSELECT=y
-CONFIG_B44_PCI=y
-CONFIG_BNX2=m
-CONFIG_CNIC=m
-CONFIG_TIGON3=m
-CONFIG_BNX2X=m
-CONFIG_NET_VENDOR_BROCADE=y
-CONFIG_BNA=m
-CONFIG_NET_VENDOR_CHELSIO=y
-CONFIG_CHELSIO_T1=m
-CONFIG_CHELSIO_T1_1G=y
-CONFIG_CHELSIO_T3=m
-CONFIG_CHELSIO_T4=m
-CONFIG_CHELSIO_T4VF=m
-CONFIG_NET_VENDOR_CISCO=y
-CONFIG_ENIC=m
-CONFIG_DNET=m
-CONFIG_NET_VENDOR_DEC=y
-CONFIG_NET_TULIP=y
-CONFIG_DE2104X=m
-CONFIG_DE2104X_DSL=0
-CONFIG_TULIP=m
-# CONFIG_TULIP_MWI is not set
-CONFIG_TULIP_MMIO=y
-# CONFIG_TULIP_NAPI is not set
-CONFIG_DE4X5=m
-CONFIG_WINBOND_840=m
-CONFIG_DM9102=m
-CONFIG_ULI526X=m
-CONFIG_PCMCIA_XIRCOM=m
-CONFIG_NET_VENDOR_DLINK=y
-CONFIG_DE600=m
-CONFIG_DE620=m
-CONFIG_DL2K=m
-CONFIG_SUNDANCE=m
-# CONFIG_SUNDANCE_MMIO is not set
-CONFIG_NET_VENDOR_EMULEX=y
-CONFIG_BE2NET=m
-CONFIG_NET_VENDOR_EXAR=y
-CONFIG_S2IO=m
-CONFIG_VXGE=m
-# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
-CONFIG_NET_VENDOR_FUJITSU=y
-CONFIG_PCMCIA_FMVJ18X=m
-CONFIG_NET_VENDOR_HP=y
-CONFIG_HP100=m
-CONFIG_NET_VENDOR_INTEL=y
-CONFIG_E100=m
-CONFIG_E1000=m
-CONFIG_E1000E=m
-CONFIG_IGB=m
-CONFIG_IGB_DCA=y
-CONFIG_IGBVF=m
-CONFIG_IXGB=m
-CONFIG_IXGBE=m
-CONFIG_IXGBE_DCA=y
-CONFIG_IXGBEVF=m
-CONFIG_NET_VENDOR_I825XX=y
-CONFIG_ZNET=m
-CONFIG_IP1000=m
-CONFIG_JME=m
-CONFIG_NET_VENDOR_MARVELL=y
-CONFIG_SKGE=m
-# CONFIG_SKGE_DEBUG is not set
-CONFIG_SKGE_GENESIS=y
-CONFIG_SKY2=m
-# CONFIG_SKY2_DEBUG is not set
-CONFIG_NET_VENDOR_MELLANOX=y
-CONFIG_MLX4_EN=m
-CONFIG_MLX4_CORE=m
-CONFIG_MLX4_DEBUG=y
-CONFIG_NET_VENDOR_MICREL=y
-CONFIG_KS8842=m
-CONFIG_KS8851_MLL=m
-CONFIG_KSZ884X_PCI=m
-CONFIG_NET_VENDOR_MYRI=y
-CONFIG_MYRI10GE=m
-CONFIG_MYRI10GE_DCA=y
-CONFIG_FEALNX=m
-CONFIG_NET_VENDOR_NATSEMI=y
-CONFIG_NATSEMI=m
-CONFIG_NS83820=m
-CONFIG_NET_VENDOR_8390=y
-CONFIG_PCMCIA_AXNET=m
-CONFIG_NE2K_PCI=m
-CONFIG_PCMCIA_PCNET=m
-CONFIG_NET_VENDOR_NVIDIA=y
-CONFIG_FORCEDETH=m
-CONFIG_NET_VENDOR_OKI=y
-CONFIG_PCH_GBE=m
-CONFIG_ETHOC=m
-CONFIG_NET_PACKET_ENGINE=y
-CONFIG_HAMACHI=m
-CONFIG_YELLOWFIN=m
-CONFIG_NET_VENDOR_QLOGIC=y
-CONFIG_QLA3XXX=m
-CONFIG_QLCNIC=m
-CONFIG_QLGE=m
-CONFIG_NETXEN_NIC=m
-CONFIG_NET_VENDOR_REALTEK=y
-CONFIG_ATP=m
-CONFIG_8139CP=m
-CONFIG_8139TOO=m
-CONFIG_8139TOO_PIO=y
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-CONFIG_8139TOO_8129=y
-# CONFIG_8139_OLD_RX_RESET is not set
-CONFIG_R8169=m
-CONFIG_NET_VENDOR_RDC=y
-CONFIG_R6040=m
-CONFIG_NET_VENDOR_SEEQ=y
-CONFIG_SEEQ8005=m
-CONFIG_NET_VENDOR_SILAN=y
-CONFIG_SC92031=m
-CONFIG_NET_VENDOR_SIS=y
-CONFIG_SIS900=m
-CONFIG_SIS190=m
-CONFIG_SFC=m
-CONFIG_SFC_MTD=y
-CONFIG_NET_VENDOR_SMSC=y
-CONFIG_PCMCIA_SMC91C92=m
-CONFIG_EPIC100=m
-CONFIG_SMSC9420=m
-CONFIG_NET_VENDOR_STMICRO=y
-CONFIG_STMMAC_ETH=m
-CONFIG_STMMAC_DEBUG_FS=y
-# CONFIG_STMMAC_DA is not set
-CONFIG_STMMAC_RING=y
-# CONFIG_STMMAC_CHAINED is not set
-CONFIG_NET_VENDOR_SUN=y
-CONFIG_HAPPYMEAL=m
-CONFIG_SUNGEM=m
-CONFIG_CASSINI=m
-CONFIG_NIU=m
-CONFIG_NET_VENDOR_TEHUTI=y
-CONFIG_TEHUTI=m
-CONFIG_NET_VENDOR_TI=y
-CONFIG_TLAN=m
-CONFIG_NET_VENDOR_VIA=y
-CONFIG_VIA_RHINE=m
-CONFIG_VIA_RHINE_MMIO=y
-CONFIG_VIA_VELOCITY=m
-CONFIG_NET_VENDOR_XIRCOM=y
-CONFIG_PCMCIA_XIRC2PS=m
-CONFIG_FDDI=y
-CONFIG_DEFXX=m
-# CONFIG_DEFXX_MMIO is not set
-CONFIG_SKFP=m
-CONFIG_HIPPI=y
-CONFIG_ROADRUNNER=m
-# CONFIG_ROADRUNNER_LARGE_RINGS is not set
-CONFIG_NET_SB1000=m
-CONFIG_PHYLIB=m
-
-#
-# MII PHY device drivers
-#
-CONFIG_MARVELL_PHY=m
-CONFIG_DAVICOM_PHY=m
-CONFIG_QSEMI_PHY=m
-CONFIG_LXT_PHY=m
-CONFIG_CICADA_PHY=m
-CONFIG_VITESSE_PHY=m
-CONFIG_SMSC_PHY=m
-CONFIG_BROADCOM_PHY=m
-CONFIG_ICPLUS_PHY=m
-CONFIG_REALTEK_PHY=m
-CONFIG_NATIONAL_PHY=m
-CONFIG_STE10XP=m
-CONFIG_LSI_ET1011C_PHY=m
-CONFIG_MICREL_PHY=m
-CONFIG_MDIO_BITBANG=m
-CONFIG_MDIO_GPIO=m
-CONFIG_PLIP=m
-CONFIG_PPP=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_MPPE=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPPOATM=m
-CONFIG_PPPOE=m
-CONFIG_PPTP=m
-CONFIG_PPPOL2TP=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_SLIP=m
-CONFIG_SLHC=m
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLIP_SMART=y
-# CONFIG_SLIP_MODE_SLIP6 is not set
-CONFIG_TR=y
-CONFIG_PCMCIA_IBMTR=m
-CONFIG_IBMOL=m
-CONFIG_3C359=m
-CONFIG_TMS380TR=m
-CONFIG_TMSPCI=m
-CONFIG_ABYSS=m
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDCETHER=m
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_NET_CDC_SUBSET=m
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_ARMLINUX=y
-# CONFIG_USB_EPSON2888 is not set
-# CONFIG_USB_KC2190 is not set
-CONFIG_USB_NET_ZAURUS=m
-CONFIG_USB_NET_CX82310_ETH=m
-CONFIG_USB_NET_KALMIA=m
-CONFIG_USB_HSO=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_VL600=m
-CONFIG_WLAN=y
-CONFIG_PCMCIA_RAYCS=m
-CONFIG_LIBERTAS_THINFIRM=m
-# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
-CONFIG_LIBERTAS_THINFIRM_USB=m
-CONFIG_AIRO=m
-CONFIG_ATMEL=m
-CONFIG_PCI_ATMEL=m
-CONFIG_PCMCIA_ATMEL=m
-CONFIG_AT76C50X_USB=m
-CONFIG_AIRO_CS=m
-CONFIG_PCMCIA_WL3501=m
-CONFIG_PRISM54=m
-CONFIG_USB_ZD1201=m
-CONFIG_USB_NET_RNDIS_WLAN=m
-CONFIG_RTL8180=m
-CONFIG_RTL8187=m
-CONFIG_RTL8187_LEDS=y
-CONFIG_ADM8211=m
-# CONFIG_MAC80211_HWSIM is not set
-CONFIG_MWL8K=m
-CONFIG_ATH_COMMON=m
-# CONFIG_ATH_DEBUG is not set
-CONFIG_ATH5K=m
-# CONFIG_ATH5K_DEBUG is not set
-# CONFIG_ATH5K_TRACER is not set
-CONFIG_ATH5K_PCI=y
-CONFIG_ATH9K_HW=m
-CONFIG_ATH9K_COMMON=m
-CONFIG_ATH9K=m
-CONFIG_ATH9K_PCI=y
-# CONFIG_ATH9K_AHB is not set
-# CONFIG_ATH9K_DEBUGFS is not set
-CONFIG_ATH9K_RATE_CONTROL=y
-CONFIG_ATH9K_HTC=m
-# CONFIG_ATH9K_HTC_DEBUGFS is not set
-CONFIG_CARL9170=m
-CONFIG_CARL9170_LEDS=y
-CONFIG_CARL9170_WPC=y
-# CONFIG_CARL9170_HWRNG is not set
-CONFIG_ATH6KL=m
-# CONFIG_ATH6KL_DEBUG is not set
-CONFIG_B43=m
-CONFIG_B43_SSB=y
-CONFIG_B43_PCI_AUTOSELECT=y
-CONFIG_B43_PCICORE_AUTOSELECT=y
-CONFIG_B43_PCMCIA=y
-CONFIG_B43_SDIO=y
-CONFIG_B43_PIO=y
-CONFIG_B43_PHY_N=y
-CONFIG_B43_PHY_LP=y
-CONFIG_B43_PHY_HT=y
-CONFIG_B43_LEDS=y
-CONFIG_B43_HWRNG=y
-# CONFIG_B43_DEBUG is not set
-CONFIG_B43LEGACY=m
-CONFIG_B43LEGACY_PCI_AUTOSELECT=y
-CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
-CONFIG_B43LEGACY_LEDS=y
-CONFIG_B43LEGACY_HWRNG=y
-# CONFIG_B43LEGACY_DEBUG is not set
-CONFIG_B43LEGACY_DMA=y
-CONFIG_B43LEGACY_PIO=y
-CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
-# CONFIG_B43LEGACY_DMA_MODE is not set
-# CONFIG_B43LEGACY_PIO_MODE is not set
-CONFIG_BRCMUTIL=m
-CONFIG_BRCMSMAC=m
-CONFIG_BRCMFMAC=m
-# CONFIG_BRCMDBG is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-CONFIG_HOSTAP_FIRMWARE_NVRAM=y
-CONFIG_HOSTAP_PLX=m
-CONFIG_HOSTAP_PCI=m
-CONFIG_HOSTAP_CS=m
-CONFIG_IPW2100=m
-CONFIG_IPW2100_MONITOR=y
-# CONFIG_IPW2100_DEBUG is not set
-CONFIG_IPW2200=m
-CONFIG_IPW2200_MONITOR=y
-CONFIG_IPW2200_RADIOTAP=y
-CONFIG_IPW2200_PROMISCUOUS=y
-CONFIG_IPW2200_QOS=y
-# CONFIG_IPW2200_DEBUG is not set
-CONFIG_LIBIPW=m
-# CONFIG_LIBIPW_DEBUG is not set
-CONFIG_IWLWIFI=m
-
-#
-# Debugging Options
-#
-# CONFIG_IWLWIFI_DEBUG is not set
-# CONFIG_IWLWIFI_DEVICE_TRACING is not set
-# CONFIG_IWLWIFI_DEVICE_SVTOOL is not set
-CONFIG_IWLWIFI_LEGACY=m
-
-#
-# Debugging Options
-#
-# CONFIG_IWLWIFI_LEGACY_DEBUG is not set
-# CONFIG_IWLWIFI_LEGACY_DEVICE_TRACING is not set
-CONFIG_IWL4965=m
-CONFIG_IWL3945=m
-CONFIG_IWM=m
-# CONFIG_IWM_DEBUG is not set
-# CONFIG_IWM_TRACING is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_CS=m
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_DEBUG is not set
-CONFIG_LIBERTAS_MESH=y
-CONFIG_HERMES=m
-# CONFIG_HERMES_PRISM is not set
-CONFIG_HERMES_CACHE_FW_ON_INIT=y
-CONFIG_PLX_HERMES=m
-CONFIG_TMD_HERMES=m
-CONFIG_NORTEL_HERMES=m
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_SPECTRUM=m
-CONFIG_ORINOCO_USB=m
-CONFIG_P54_COMMON=m
-CONFIG_P54_USB=m
-CONFIG_P54_PCI=m
-CONFIG_P54_LEDS=y
-CONFIG_RT2X00=m
-CONFIG_RT2400PCI=m
-CONFIG_RT2500PCI=m
-CONFIG_RT61PCI=m
-CONFIG_RT2800PCI=m
-CONFIG_RT2800PCI_RT33XX=y
-CONFIG_RT2800PCI_RT35XX=y
-CONFIG_RT2800PCI_RT53XX=y
-CONFIG_RT2500USB=m
-CONFIG_RT73USB=m
-CONFIG_RT2800USB=m
-CONFIG_RT2800USB_RT33XX=y
-CONFIG_RT2800USB_RT35XX=y
-CONFIG_RT2800USB_RT53XX=y
-CONFIG_RT2800USB_UNKNOWN=y
-CONFIG_RT2800_LIB=m
-CONFIG_RT2X00_LIB_PCI=m
-CONFIG_RT2X00_LIB_USB=m
-CONFIG_RT2X00_LIB=m
-CONFIG_RT2X00_LIB_FIRMWARE=y
-CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_LEDS=y
-# CONFIG_RT2X00_DEBUG is not set
-CONFIG_RTL8192CE=m
-CONFIG_RTL8192SE=m
-CONFIG_RTL8192DE=m
-CONFIG_RTL8192CU=m
-CONFIG_RTLWIFI=m
-CONFIG_RTL8192C_COMMON=m
-CONFIG_WL1251=m
-CONFIG_WL1251_SDIO=m
-CONFIG_WL12XX_MENU=m
-CONFIG_WL12XX=m
-CONFIG_WL12XX_SDIO=m
-CONFIG_WL12XX_SDIO_TEST=m
-CONFIG_WL12XX_PLATFORM_DATA=y
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_MWIFIEX_PCIE=m
-
-#
-# WiMAX Wireless Broadband devices
-#
-CONFIG_WIMAX_I2400M=m
-CONFIG_WIMAX_I2400M_USB=m
-CONFIG_WIMAX_I2400M_SDIO=m
-# CONFIG_WIMAX_IWMC3200_SDIO is not set
-CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
-CONFIG_WAN=y
-CONFIG_LANMEDIA=m
-CONFIG_HDLC=m
-CONFIG_HDLC_RAW=m
-CONFIG_HDLC_RAW_ETH=m
-CONFIG_HDLC_CISCO=m
-CONFIG_HDLC_FR=m
-CONFIG_HDLC_PPP=m
-
-#
-# X.25/LAPB support is disabled
-#
-CONFIG_PCI200SYN=m
-CONFIG_WANXL=m
-# CONFIG_PC300TOO is not set
-CONFIG_FARSYNC=m
-CONFIG_DSCC4=m
-# CONFIG_DSCC4_PCISYNC is not set
-# CONFIG_DSCC4_PCI_RST is not set
-CONFIG_DLCI=m
-CONFIG_DLCI_MAX=8
-CONFIG_WAN_ROUTER_DRIVERS=m
-CONFIG_CYCLADES_SYNC=m
-CONFIG_CYCLOMX_X25=y
-CONFIG_SBNI=m
-# CONFIG_SBNI_MULTILINE is not set
-CONFIG_VMXNET3=m
-CONFIG_ISDN=y
-CONFIG_ISDN_I4L=m
-CONFIG_ISDN_PPP=y
-CONFIG_ISDN_PPP_VJ=y
-CONFIG_ISDN_MPP=y
-CONFIG_IPPP_FILTER=y
-CONFIG_ISDN_PPP_BSDCOMP=m
-CONFIG_ISDN_AUDIO=y
-CONFIG_ISDN_TTY_FAX=y
-
-#
-# ISDN feature submodules
-#
-CONFIG_ISDN_DIVERSION=m
-
-#
-# ISDN4Linux hardware drivers
-#
-
-#
-# Passive cards
-#
-CONFIG_ISDN_DRV_HISAX=m
-
-#
-# D-channel protocol features
-#
-CONFIG_HISAX_EURO=y
-CONFIG_DE_AOC=y
-CONFIG_HISAX_NO_SENDCOMPLETE=y
-CONFIG_HISAX_NO_LLC=y
-CONFIG_HISAX_NO_KEYPAD=y
-CONFIG_HISAX_1TR6=y
-CONFIG_HISAX_NI1=y
-CONFIG_HISAX_MAX_CARDS=8
-
-#
-# HiSax supported cards
-#
-CONFIG_HISAX_16_3=y
-CONFIG_HISAX_TELESPCI=y
-CONFIG_HISAX_S0BOX=y
-CONFIG_HISAX_FRITZPCI=y
-CONFIG_HISAX_AVM_A1_PCMCIA=y
-CONFIG_HISAX_ELSA=y
-CONFIG_HISAX_DIEHLDIVA=y
-CONFIG_HISAX_SEDLBAUER=y
-CONFIG_HISAX_NETJET=y
-CONFIG_HISAX_NETJET_U=y
-CONFIG_HISAX_NICCY=y
-CONFIG_HISAX_BKM_A4T=y
-CONFIG_HISAX_SCT_QUADRO=y
-CONFIG_HISAX_GAZEL=y
-CONFIG_HISAX_HFC_PCI=y
-CONFIG_HISAX_W6692=y
-CONFIG_HISAX_HFC_SX=y
-CONFIG_HISAX_ENTERNOW_PCI=y
-# CONFIG_HISAX_DEBUG is not set
-
-#
-# HiSax PCMCIA card service modules
-#
-CONFIG_HISAX_SEDLBAUER_CS=m
-CONFIG_HISAX_ELSA_CS=m
-CONFIG_HISAX_AVM_A1_CS=m
-CONFIG_HISAX_TELES_CS=m
-
-#
-# HiSax sub driver modules
-#
-CONFIG_HISAX_ST5481=m
-CONFIG_HISAX_HFCUSB=m
-CONFIG_HISAX_HFC4S8S=m
-CONFIG_HISAX_FRITZ_PCIPNP=m
-
-#
-# Active cards
-#
-CONFIG_ISDN_CAPI=m
-CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
-CONFIG_CAPI_TRACE=y
-CONFIG_ISDN_CAPI_MIDDLEWARE=y
-CONFIG_ISDN_CAPI_CAPI20=m
-CONFIG_ISDN_CAPI_CAPIDRV=m
-
-#
-# CAPI hardware drivers
-#
-CONFIG_CAPI_AVM=y
-CONFIG_ISDN_DRV_AVMB1_B1PCI=m
-CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
-CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
-CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
-CONFIG_ISDN_DRV_AVMB1_T1PCI=m
-CONFIG_ISDN_DRV_AVMB1_C4=m
-CONFIG_CAPI_EICON=y
-CONFIG_ISDN_DIVAS=m
-CONFIG_ISDN_DIVAS_BRIPCI=y
-CONFIG_ISDN_DIVAS_PRIPCI=y
-CONFIG_ISDN_DIVAS_DIVACAPI=m
-CONFIG_ISDN_DIVAS_USERIDI=m
-CONFIG_ISDN_DIVAS_MAINT=m
-CONFIG_ISDN_DRV_GIGASET=m
-# CONFIG_GIGASET_CAPI is not set
-CONFIG_GIGASET_I4L=y
-# CONFIG_GIGASET_DUMMYLL is not set
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_M105=m
-# CONFIG_GIGASET_M101 is not set
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_HYSDN=m
-CONFIG_HYSDN_CAPI=y
-CONFIG_MISDN=m
-CONFIG_MISDN_DSP=m
-CONFIG_MISDN_L1OIP=m
-
-#
-# mISDN hardware drivers
-#
-CONFIG_MISDN_HFCPCI=m
-CONFIG_MISDN_HFCMULTI=m
-CONFIG_MISDN_HFCUSB=m
-CONFIG_MISDN_AVMFRITZ=m
-CONFIG_MISDN_SPEEDFAX=m
-CONFIG_MISDN_INFINEON=m
-CONFIG_MISDN_W6692=m
-CONFIG_MISDN_NETJET=m
-CONFIG_MISDN_IPAC=m
-CONFIG_MISDN_ISAR=m
-CONFIG_ISDN_HDLC=m
-CONFIG_PHONE=m
-CONFIG_PHONE_IXJ=m
-CONFIG_PHONE_IXJ_PCMCIA=m
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-CONFIG_INPUT_FF_MEMLESS=y
-CONFIG_INPUT_POLLDEV=m
-CONFIG_INPUT_SPARSEKMAP=m
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-CONFIG_INPUT_JOYDEV=m
-CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-CONFIG_KEYBOARD_ADP5588=m
-CONFIG_KEYBOARD_ADP5589=m
-CONFIG_KEYBOARD_ATKBD=y
-CONFIG_KEYBOARD_QT1070=m
-CONFIG_KEYBOARD_QT2160=m
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=m
-CONFIG_KEYBOARD_GPIO_POLLED=m
-CONFIG_KEYBOARD_TCA6416=m
-CONFIG_KEYBOARD_MATRIX=m
-CONFIG_KEYBOARD_LM8323=m
-CONFIG_KEYBOARD_MAX7359=m
-CONFIG_KEYBOARD_MCS=m
-CONFIG_KEYBOARD_MPR121=m
-# CONFIG_KEYBOARD_NEWTON is not set
-CONFIG_KEYBOARD_OPENCORES=m
-CONFIG_KEYBOARD_STOWAWAY=m
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=m
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_LIFEBOOK=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-CONFIG_MOUSE_PS2_ELANTECH=y
-CONFIG_MOUSE_PS2_SENTELIC=y
-CONFIG_MOUSE_PS2_TOUCHKIT=y
-CONFIG_MOUSE_SERIAL=m
-CONFIG_MOUSE_APPLETOUCH=m
-CONFIG_MOUSE_BCM5974=m
-CONFIG_MOUSE_VSXXXAA=m
-CONFIG_MOUSE_GPIO=m
-CONFIG_MOUSE_SYNAPTICS_I2C=m
-CONFIG_INPUT_JOYSTICK=y
-CONFIG_JOYSTICK_ANALOG=m
-CONFIG_JOYSTICK_A3D=m
-CONFIG_JOYSTICK_ADI=m
-CONFIG_JOYSTICK_COBRA=m
-CONFIG_JOYSTICK_GF2K=m
-CONFIG_JOYSTICK_GRIP=m
-CONFIG_JOYSTICK_GRIP_MP=m
-CONFIG_JOYSTICK_GUILLEMOT=m
-CONFIG_JOYSTICK_INTERACT=m
-CONFIG_JOYSTICK_SIDEWINDER=m
-CONFIG_JOYSTICK_TMDC=m
-CONFIG_JOYSTICK_IFORCE=m
-CONFIG_JOYSTICK_IFORCE_USB=y
-CONFIG_JOYSTICK_IFORCE_232=y
-CONFIG_JOYSTICK_WARRIOR=m
-CONFIG_JOYSTICK_MAGELLAN=m
-CONFIG_JOYSTICK_SPACEORB=m
-CONFIG_JOYSTICK_SPACEBALL=m
-CONFIG_JOYSTICK_STINGER=m
-CONFIG_JOYSTICK_TWIDJOY=m
-CONFIG_JOYSTICK_ZHENHUA=m
-CONFIG_JOYSTICK_DB9=m
-CONFIG_JOYSTICK_GAMECON=m
-CONFIG_JOYSTICK_TURBOGRAFX=m
-CONFIG_JOYSTICK_AS5011=m
-CONFIG_JOYSTICK_JOYDUMP=m
-CONFIG_JOYSTICK_XPAD=m
-CONFIG_JOYSTICK_XPAD_FF=y
-CONFIG_JOYSTICK_XPAD_LEDS=y
-CONFIG_JOYSTICK_WALKERA0701=m
-CONFIG_INPUT_TABLET=y
-CONFIG_TABLET_USB_ACECAD=m
-CONFIG_TABLET_USB_AIPTEK=m
-CONFIG_TABLET_USB_GTCO=m
-CONFIG_TABLET_USB_HANWANG=m
-CONFIG_TABLET_USB_KBTAB=m
-CONFIG_TABLET_USB_WACOM=m
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_AD7879=m
-CONFIG_TOUCHSCREEN_AD7879_I2C=m
-CONFIG_TOUCHSCREEN_ATMEL_MXT=m
-CONFIG_TOUCHSCREEN_BU21013=m
-CONFIG_TOUCHSCREEN_CY8CTMG110=m
-CONFIG_TOUCHSCREEN_DYNAPRO=m
-CONFIG_TOUCHSCREEN_HAMPSHIRE=m
-CONFIG_TOUCHSCREEN_EETI=m
-CONFIG_TOUCHSCREEN_FUJITSU=m
-CONFIG_TOUCHSCREEN_GUNZE=m
-CONFIG_TOUCHSCREEN_ELO=m
-CONFIG_TOUCHSCREEN_WACOM_W8001=m
-CONFIG_TOUCHSCREEN_MAX11801=m
-CONFIG_TOUCHSCREEN_MCS5000=m
-CONFIG_TOUCHSCREEN_MTOUCH=m
-CONFIG_TOUCHSCREEN_INEXIO=m
-CONFIG_TOUCHSCREEN_MK712=m
-CONFIG_TOUCHSCREEN_PENMOUNT=m
-CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
-CONFIG_TOUCHSCREEN_TOUCHWIN=m
-CONFIG_TOUCHSCREEN_UCB1400=m
-CONFIG_TOUCHSCREEN_WM97XX=m
-CONFIG_TOUCHSCREEN_WM9705=y
-CONFIG_TOUCHSCREEN_WM9712=y
-CONFIG_TOUCHSCREEN_WM9713=y
-CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
-CONFIG_TOUCHSCREEN_USB_EGALAX=y
-CONFIG_TOUCHSCREEN_USB_PANJIT=y
-CONFIG_TOUCHSCREEN_USB_3M=y
-CONFIG_TOUCHSCREEN_USB_ITM=y
-CONFIG_TOUCHSCREEN_USB_ETURBO=y
-CONFIG_TOUCHSCREEN_USB_GUNZE=y
-CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
-CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
-CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
-CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
-CONFIG_TOUCHSCREEN_USB_GOTOP=y
-CONFIG_TOUCHSCREEN_USB_JASTEC=y
-CONFIG_TOUCHSCREEN_USB_E2I=y
-CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
-CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
-CONFIG_TOUCHSCREEN_USB_NEXIO=y
-CONFIG_TOUCHSCREEN_TOUCHIT213=m
-CONFIG_TOUCHSCREEN_TSC_SERIO=m
-CONFIG_TOUCHSCREEN_TSC2007=m
-CONFIG_TOUCHSCREEN_ST1232=m
-CONFIG_TOUCHSCREEN_TPS6507X=m
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_AD714X=m
-CONFIG_INPUT_AD714X_I2C=m
-CONFIG_INPUT_BMA150=m
-CONFIG_INPUT_PCSPKR=m
-CONFIG_INPUT_MMA8450=m
-CONFIG_INPUT_MPU3050=m
-CONFIG_INPUT_APANEL=m
-CONFIG_INPUT_ATLAS_BTNS=m
-CONFIG_INPUT_ATI_REMOTE2=m
-CONFIG_INPUT_KEYSPAN_REMOTE=m
-CONFIG_INPUT_KXTJ9=m
-CONFIG_INPUT_KXTJ9_POLLED_MODE=y
-CONFIG_INPUT_POWERMATE=m
-CONFIG_INPUT_YEALINK=m
-CONFIG_INPUT_CM109=m
-CONFIG_INPUT_UINPUT=m
-CONFIG_INPUT_PCF50633_PMU=m
-CONFIG_INPUT_PCF8574=m
-CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
-CONFIG_INPUT_ADXL34X=m
-CONFIG_INPUT_ADXL34X_I2C=m
-CONFIG_INPUT_CMA3000=m
-CONFIG_INPUT_CMA3000_I2C=m
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-CONFIG_SERIO_SERPORT=m
-CONFIG_SERIO_CT82C710=m
-CONFIG_SERIO_PARKBD=m
-CONFIG_SERIO_PCIPS2=m
-CONFIG_SERIO_LIBPS2=y
-CONFIG_SERIO_RAW=m
-CONFIG_SERIO_ALTERA_PS2=m
-CONFIG_SERIO_PS2MULT=m
-CONFIG_GAMEPORT=m
-CONFIG_GAMEPORT_NS558=m
-CONFIG_GAMEPORT_L4=m
-CONFIG_GAMEPORT_EMU10K1=m
-CONFIG_GAMEPORT_FM801=m
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_VT_CONSOLE_SLEEP=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_UNIX98_PTYS=y
-CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=32
-CONFIG_SERIAL_NONSTANDARD=y
-CONFIG_ROCKETPORT=m
-CONFIG_CYCLADES=m
-# CONFIG_CYZ_INTR is not set
-CONFIG_MOXA_INTELLIO=m
-CONFIG_MOXA_SMARTIO=m
-CONFIG_SYNCLINK=m
-CONFIG_SYNCLINKMP=m
-CONFIG_SYNCLINK_GT=m
-CONFIG_NOZOMI=m
-CONFIG_ISI=m
-CONFIG_N_HDLC=m
-CONFIG_N_GSM=m
-CONFIG_TRACE_ROUTER=m
-CONFIG_TRACE_SINK=m
-CONFIG_DEVKMEM=y
-CONFIG_STALDRV=y
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_PNP=y
-CONFIG_SERIAL_8250_CS=m
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_8250_DETECT_IRQ=y
-CONFIG_SERIAL_8250_RSA=y
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_MFD_HSU=m
-CONFIG_SERIAL_UARTLITE=m
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_SERIAL_JSM=m
-CONFIG_SERIAL_TIMBERDALE=m
-CONFIG_SERIAL_ALTERA_JTAGUART=m
-CONFIG_SERIAL_ALTERA_UART=m
-CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
-CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
-CONFIG_SERIAL_PCH_UART=m
-CONFIG_SERIAL_XILINX_PS_UART=m
-CONFIG_PRINTER=m
-CONFIG_LP_CONSOLE=y
-CONFIG_PPDEV=m
-CONFIG_HVC_DRIVER=y
-CONFIG_VIRTIO_CONSOLE=m
-CONFIG_IPMI_HANDLER=m
-# CONFIG_IPMI_PANIC_EVENT is not set
-CONFIG_IPMI_DEVICE_INTERFACE=m
-CONFIG_IPMI_SI=m
-CONFIG_IPMI_WATCHDOG=m
-CONFIG_IPMI_POWEROFF=m
-CONFIG_HW_RANDOM=y
-CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_INTEL=m
-CONFIG_HW_RANDOM_AMD=m
-CONFIG_HW_RANDOM_VIA=m
-CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_NVRAM=m
-CONFIG_R3964=m
-CONFIG_APPLICOM=m
-
-#
-# PCMCIA character devices
-#
-CONFIG_SYNCLINK_CS=m
-CONFIG_CARDMAN_4000=m
-CONFIG_CARDMAN_4040=m
-CONFIG_IPWIRELESS=m
-CONFIG_MWAVE=m
-CONFIG_RAW_DRIVER=m
-CONFIG_MAX_RAW_DEVS=256
-CONFIG_HPET=y
-CONFIG_HPET_MMAP=y
-CONFIG_HANGCHECK_TIMER=m
-CONFIG_TCG_TPM=m
-# CONFIG_TCG_TIS is not set
-# CONFIG_TCG_NSC is not set
-CONFIG_TCG_ATMEL=m
-# CONFIG_TCG_INFINEON is not set
-CONFIG_TELCLOCK=m
-CONFIG_DEVPORT=y
-CONFIG_RAMOOPS=m
-CONFIG_I2C=m
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=m
-CONFIG_I2C_MUX=m
-
-#
-# Multiplexer I2C Chip support
-#
-CONFIG_I2C_MUX_GPIO=m
-CONFIG_I2C_MUX_PCA9541=m
-CONFIG_I2C_MUX_PCA954x=m
-CONFIG_I2C_HELPER_AUTO=y
-CONFIG_I2C_SMBUS=m
-CONFIG_I2C_ALGOBIT=m
-CONFIG_I2C_ALGOPCA=m
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# PC SMBus host controller drivers
-#
-CONFIG_I2C_ALI1535=m
-CONFIG_I2C_ALI1563=m
-CONFIG_I2C_ALI15X3=m
-CONFIG_I2C_AMD756=m
-CONFIG_I2C_AMD756_S4882=m
-CONFIG_I2C_AMD8111=m
-CONFIG_I2C_I801=m
-CONFIG_I2C_ISCH=m
-CONFIG_I2C_PIIX4=m
-CONFIG_I2C_NFORCE2=m
-CONFIG_I2C_NFORCE2_S4985=m
-CONFIG_I2C_SIS5595=m
-CONFIG_I2C_SIS630=m
-CONFIG_I2C_SIS96X=m
-CONFIG_I2C_VIA=m
-CONFIG_I2C_VIAPRO=m
-
-#
-# ACPI drivers
-#
-CONFIG_I2C_SCMI=m
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-CONFIG_I2C_DESIGNWARE_PCI=m
-CONFIG_I2C_GPIO=m
-CONFIG_I2C_INTEL_MID=m
-CONFIG_I2C_OCORES=m
-CONFIG_I2C_PCA_PLATFORM=m
-# CONFIG_I2C_PXA_PCI is not set
-CONFIG_I2C_SIMTEC=m
-CONFIG_I2C_XILINX=m
-CONFIG_I2C_EG20T=m
-
-#
-# External I2C/SMBus adapter drivers
-#
-CONFIG_I2C_DIOLAN_U2C=m
-CONFIG_I2C_PARPORT=m
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_TAOS_EVM=m
-CONFIG_I2C_TINY_USB=m
-
-#
-# Other I2C/SMBus bus drivers
-#
-CONFIG_I2C_STUB=m
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_SPI is not set
-
-#
-# PPS support
-#
-CONFIG_PPS=m
-# CONFIG_PPS_DEBUG is not set
-
-#
-# PPS clients support
-#
-# CONFIG_PPS_CLIENT_KTIMER is not set
-CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
-CONFIG_PPS_CLIENT_GPIO=m
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-CONFIG_PTP_1588_CLOCK=m
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_DEBUG_GPIO is not set
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_GENERIC=m
-CONFIG_GPIO_MAX730X=m
-
-#
-# Memory mapped GPIO drivers:
-#
-CONFIG_GPIO_GENERIC_PLATFORM=m
-CONFIG_GPIO_IT8761E=m
-CONFIG_GPIO_SCH=m
-CONFIG_GPIO_VX855=m
-
-#
-# I2C GPIO expanders:
-#
-CONFIG_GPIO_MAX7300=m
-CONFIG_GPIO_MAX732X=m
-CONFIG_GPIO_PCA953X=m
-CONFIG_GPIO_PCF857X=m
-CONFIG_GPIO_ADP5588=m
-
-#
-# PCI GPIO expanders:
-#
-CONFIG_GPIO_CS5535=m
-# CONFIG_GPIO_LANGWELL is not set
-CONFIG_GPIO_PCH=m
-CONFIG_GPIO_ML_IOH=m
-# CONFIG_GPIO_TIMBERDALE is not set
-CONFIG_GPIO_RDC321X=m
-
-#
-# SPI GPIO expanders:
-#
-CONFIG_GPIO_MCP23S08=m
-
-#
-# AC97 GPIO expanders:
-#
-# CONFIG_GPIO_UCB1400 is not set
-
-#
-# MODULbus GPIO expanders:
-#
-CONFIG_GPIO_JANZ_TTL=m
-CONFIG_W1=m
-CONFIG_W1_CON=y
-
-#
-# 1-wire Bus Masters
-#
-CONFIG_W1_MASTER_MATROX=m
-CONFIG_W1_MASTER_DS2490=m
-CONFIG_W1_MASTER_DS2482=m
-CONFIG_W1_MASTER_DS1WM=m
-CONFIG_W1_MASTER_GPIO=m
-
-#
-# 1-wire Slaves
-#
-CONFIG_W1_SLAVE_THERM=m
-CONFIG_W1_SLAVE_SMEM=m
-CONFIG_W1_SLAVE_DS2408=m
-CONFIG_W1_SLAVE_DS2423=m
-CONFIG_W1_SLAVE_DS2431=m
-CONFIG_W1_SLAVE_DS2433=m
-CONFIG_W1_SLAVE_DS2433_CRC=y
-CONFIG_W1_SLAVE_DS2760=m
-CONFIG_W1_SLAVE_DS2780=m
-CONFIG_W1_SLAVE_BQ27000=m
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_PDA_POWER=m
-CONFIG_TEST_POWER=m
-CONFIG_BATTERY_DS2760=m
-CONFIG_BATTERY_DS2780=m
-CONFIG_BATTERY_DS2782=m
-CONFIG_BATTERY_BQ20Z75=m
-CONFIG_BATTERY_BQ27x00=m
-CONFIG_BATTERY_BQ27X00_I2C=y
-CONFIG_BATTERY_BQ27X00_PLATFORM=y
-CONFIG_BATTERY_MAX17040=m
-CONFIG_BATTERY_MAX17042=m
-CONFIG_CHARGER_PCF50633=m
-CONFIG_CHARGER_ISP1704=m
-CONFIG_CHARGER_MAX8903=m
-CONFIG_CHARGER_GPIO=m
-CONFIG_HWMON=m
-CONFIG_HWMON_VID=m
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-CONFIG_SENSORS_ABITUGURU=m
-CONFIG_SENSORS_ABITUGURU3=m
-CONFIG_SENSORS_AD7414=m
-CONFIG_SENSORS_AD7418=m
-CONFIG_SENSORS_ADM1021=m
-CONFIG_SENSORS_ADM1025=m
-CONFIG_SENSORS_ADM1026=m
-CONFIG_SENSORS_ADM1029=m
-CONFIG_SENSORS_ADM1031=m
-CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADT7411=m
-CONFIG_SENSORS_ADT7462=m
-CONFIG_SENSORS_ADT7470=m
-CONFIG_SENSORS_ADT7475=m
-CONFIG_SENSORS_ASC7621=m
-CONFIG_SENSORS_K8TEMP=m
-CONFIG_SENSORS_K10TEMP=m
-CONFIG_SENSORS_FAM15H_POWER=m
-CONFIG_SENSORS_ASB100=m
-CONFIG_SENSORS_ATXP1=m
-CONFIG_SENSORS_DS620=m
-CONFIG_SENSORS_DS1621=m
-CONFIG_SENSORS_I5K_AMB=m
-CONFIG_SENSORS_F71805F=m
-CONFIG_SENSORS_F71882FG=m
-CONFIG_SENSORS_F75375S=m
-CONFIG_SENSORS_FSCHMD=m
-CONFIG_SENSORS_G760A=m
-CONFIG_SENSORS_GL518SM=m
-CONFIG_SENSORS_GL520SM=m
-CONFIG_SENSORS_GPIO_FAN=m
-CONFIG_SENSORS_CORETEMP=m
-CONFIG_SENSORS_IBMAEM=m
-CONFIG_SENSORS_IBMPEX=m
-CONFIG_SENSORS_IT87=m
-CONFIG_SENSORS_JC42=m
-CONFIG_SENSORS_LINEAGE=m
-CONFIG_SENSORS_LM63=m
-CONFIG_SENSORS_LM73=m
-CONFIG_SENSORS_LM75=m
-CONFIG_SENSORS_LM77=m
-CONFIG_SENSORS_LM78=m
-CONFIG_SENSORS_LM80=m
-CONFIG_SENSORS_LM83=m
-CONFIG_SENSORS_LM85=m
-CONFIG_SENSORS_LM87=m
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_LM92=m
-CONFIG_SENSORS_LM93=m
-CONFIG_SENSORS_LTC4151=m
-CONFIG_SENSORS_LTC4215=m
-CONFIG_SENSORS_LTC4245=m
-CONFIG_SENSORS_LTC4261=m
-CONFIG_SENSORS_LM95241=m
-CONFIG_SENSORS_LM95245=m
-CONFIG_SENSORS_MAX16065=m
-CONFIG_SENSORS_MAX1619=m
-CONFIG_SENSORS_MAX1668=m
-CONFIG_SENSORS_MAX6639=m
-CONFIG_SENSORS_MAX6642=m
-CONFIG_SENSORS_MAX6650=m
-CONFIG_SENSORS_NTC_THERMISTOR=m
-CONFIG_SENSORS_PC87360=m
-CONFIG_SENSORS_PC87427=m
-CONFIG_SENSORS_PCF8591=m
-CONFIG_PMBUS=m
-CONFIG_SENSORS_PMBUS=m
-CONFIG_SENSORS_ADM1275=m
-CONFIG_SENSORS_LM25066=m
-CONFIG_SENSORS_LTC2978=m
-CONFIG_SENSORS_MAX16064=m
-CONFIG_SENSORS_MAX34440=m
-CONFIG_SENSORS_MAX8688=m
-CONFIG_SENSORS_UCD9000=m
-CONFIG_SENSORS_UCD9200=m
-CONFIG_SENSORS_ZL6100=m
-CONFIG_SENSORS_SHT15=m
-CONFIG_SENSORS_SHT21=m
-CONFIG_SENSORS_SIS5595=m
-CONFIG_SENSORS_SMM665=m
-CONFIG_SENSORS_DME1737=m
-CONFIG_SENSORS_EMC1403=m
-CONFIG_SENSORS_EMC2103=m
-CONFIG_SENSORS_EMC6W201=m
-CONFIG_SENSORS_SMSC47M1=m
-CONFIG_SENSORS_SMSC47M192=m
-CONFIG_SENSORS_SMSC47B397=m
-CONFIG_SENSORS_SCH56XX_COMMON=m
-CONFIG_SENSORS_SCH5627=m
-CONFIG_SENSORS_SCH5636=m
-CONFIG_SENSORS_ADS1015=m
-CONFIG_SENSORS_ADS7828=m
-CONFIG_SENSORS_AMC6821=m
-CONFIG_SENSORS_THMC50=m
-CONFIG_SENSORS_TMP102=m
-CONFIG_SENSORS_TMP401=m
-CONFIG_SENSORS_TMP421=m
-CONFIG_SENSORS_VIA_CPUTEMP=m
-CONFIG_SENSORS_VIA686A=m
-CONFIG_SENSORS_VT1211=m
-CONFIG_SENSORS_VT8231=m
-CONFIG_SENSORS_W83781D=m
-CONFIG_SENSORS_W83791D=m
-CONFIG_SENSORS_W83792D=m
-CONFIG_SENSORS_W83793=m
-CONFIG_SENSORS_W83795=m
-# CONFIG_SENSORS_W83795_FANCTRL is not set
-CONFIG_SENSORS_W83L785TS=m
-CONFIG_SENSORS_W83L786NG=m
-CONFIG_SENSORS_W83627HF=m
-CONFIG_SENSORS_W83627EHF=m
-CONFIG_SENSORS_APPLESMC=m
-
-#
-# ACPI drivers
-#
-CONFIG_SENSORS_ACPI_POWER=m
-CONFIG_SENSORS_ATK0110=m
-CONFIG_THERMAL=m
-CONFIG_THERMAL_HWMON=y
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_CORE=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-CONFIG_SOFT_WATCHDOG=m
-CONFIG_ACQUIRE_WDT=m
-CONFIG_ADVANTECH_WDT=m
-CONFIG_ALIM1535_WDT=m
-CONFIG_ALIM7101_WDT=m
-CONFIG_F71808E_WDT=m
-CONFIG_SP5100_TCO=m
-CONFIG_GEODE_WDT=m
-CONFIG_SC520_WDT=m
-CONFIG_SBC_FITPC2_WATCHDOG=m
-CONFIG_EUROTECH_WDT=m
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
-CONFIG_WAFER_WDT=m
-CONFIG_I6300ESB_WDT=m
-CONFIG_ITCO_WDT=m
-CONFIG_ITCO_VENDOR_SUPPORT=y
-CONFIG_IT8712F_WDT=m
-CONFIG_IT87_WDT=m
-CONFIG_HP_WATCHDOG=m
-CONFIG_HPWDT_NMI_DECODING=y
-CONFIG_SC1200_WDT=m
-CONFIG_PC87413_WDT=m
-CONFIG_NV_TCO=m
-CONFIG_60XX_WDT=m
-CONFIG_SBC8360_WDT=m
-CONFIG_CPU5_WDT=m
-CONFIG_SMSC_SCH311X_WDT=m
-CONFIG_SMSC37B787_WDT=m
-CONFIG_W83627HF_WDT=m
-CONFIG_W83697HF_WDT=m
-CONFIG_W83697UG_WDT=m
-CONFIG_W83877F_WDT=m
-CONFIG_W83977F_WDT=m
-CONFIG_MACHZ_WDT=m
-CONFIG_SBC_EPX_C3_WATCHDOG=m
-
-#
-# PCI-based Watchdog Cards
-#
-CONFIG_PCIPCWATCHDOG=m
-CONFIG_WDTPCI=m
-
-#
-# USB-based Watchdog Cards
-#
-CONFIG_USBPCWATCHDOG=m
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-CONFIG_SSB=m
-CONFIG_SSB_SPROM=y
-CONFIG_SSB_BLOCKIO=y
-CONFIG_SSB_PCIHOST_POSSIBLE=y
-CONFIG_SSB_PCIHOST=y
-CONFIG_SSB_B43_PCI_BRIDGE=y
-CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
-CONFIG_SSB_PCMCIAHOST=y
-CONFIG_SSB_SDIOHOST_POSSIBLE=y
-CONFIG_SSB_SDIOHOST=y
-# CONFIG_SSB_DEBUG is not set
-CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
-CONFIG_SSB_DRIVER_PCICORE=y
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-# CONFIG_BCMA is not set
-
-#
-# Multifunction device drivers
-#
-CONFIG_MFD_CORE=m
-# CONFIG_MFD_SM501 is not set
-CONFIG_HTC_PASIC3=m
-CONFIG_UCB1400_CORE=m
-CONFIG_TPS6105X=m
-CONFIG_TPS65010=m
-CONFIG_TPS6507X=m
-# CONFIG_MFD_TMIO is not set
-CONFIG_MFD_WM8400=m
-CONFIG_MFD_PCF50633=m
-CONFIG_PCF50633_ADC=m
-CONFIG_PCF50633_GPIO=m
-# CONFIG_ABX500_CORE is not set
-CONFIG_MFD_CS5535=m
-CONFIG_MFD_TIMBERDALE=m
-CONFIG_LPC_SCH=m
-CONFIG_MFD_RDC321X=m
-CONFIG_MFD_JANZ_CMODIO=m
-CONFIG_MFD_VX855=m
-CONFIG_MFD_WL1273_CORE=m
-CONFIG_REGULATOR=y
-# CONFIG_REGULATOR_DEBUG is not set
-# CONFIG_REGULATOR_DUMMY is not set
-CONFIG_REGULATOR_FIXED_VOLTAGE=m
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-CONFIG_REGULATOR_USERSPACE_CONSUMER=m
-CONFIG_REGULATOR_GPIO=m
-CONFIG_REGULATOR_BQ24022=m
-CONFIG_REGULATOR_MAX1586=m
-CONFIG_REGULATOR_MAX8649=m
-CONFIG_REGULATOR_MAX8660=m
-CONFIG_REGULATOR_MAX8952=m
-CONFIG_REGULATOR_WM8400=m
-CONFIG_REGULATOR_PCF50633=m
-CONFIG_REGULATOR_LP3971=m
-CONFIG_REGULATOR_LP3972=m
-CONFIG_REGULATOR_TPS6105X=m
-CONFIG_REGULATOR_TPS65023=m
-CONFIG_REGULATOR_TPS6507X=m
-CONFIG_REGULATOR_ISL6271A=m
-CONFIG_REGULATOR_AD5398=m
-CONFIG_MEDIA_SUPPORT=m
-
-#
-# Multimedia core support
-#
-# CONFIG_MEDIA_CONTROLLER is not set
-CONFIG_VIDEO_DEV=m
-CONFIG_VIDEO_V4L2_COMMON=m
-CONFIG_DVB_CORE=m
-CONFIG_DVB_NET=y
-CONFIG_VIDEO_MEDIA=m
-
-#
-# Multimedia drivers
-#
-CONFIG_VIDEO_SAA7146=m
-CONFIG_VIDEO_SAA7146_VV=m
-CONFIG_RC_CORE=m
-CONFIG_LIRC=m
-CONFIG_RC_MAP=m
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_RC5_SZ_DECODER=m
-CONFIG_IR_MCE_KBD_DECODER=m
-CONFIG_IR_LIRC_CODEC=m
-CONFIG_RC_ATI_REMOTE=m
-CONFIG_IR_ENE=m
-CONFIG_IR_IMON=m
-CONFIG_IR_MCEUSB=m
-CONFIG_IR_ITE_CIR=m
-CONFIG_IR_FINTEK=m
-CONFIG_IR_NUVOTON=m
-CONFIG_IR_REDRAT3=m
-CONFIG_IR_STREAMZAP=m
-CONFIG_IR_WINBOND_CIR=m
-CONFIG_RC_LOOPBACK=m
-CONFIG_MEDIA_ATTACH=y
-CONFIG_MEDIA_TUNER=m
-# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
-CONFIG_MEDIA_TUNER_SIMPLE=m
-CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA827X=m
-CONFIG_MEDIA_TUNER_TDA18271=m
-CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_MEDIA_TUNER_TEA5761=m
-CONFIG_MEDIA_TUNER_TEA5767=m
-CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_MT2060=m
-CONFIG_MEDIA_TUNER_MT2266=m
-CONFIG_MEDIA_TUNER_MT2131=m
-CONFIG_MEDIA_TUNER_QT1010=m
-CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_MEDIA_TUNER_XC5000=m
-CONFIG_MEDIA_TUNER_XC4000=m
-CONFIG_MEDIA_TUNER_MXL5005S=m
-CONFIG_MEDIA_TUNER_MXL5007T=m
-CONFIG_MEDIA_TUNER_MC44S803=m
-CONFIG_MEDIA_TUNER_MAX2165=m
-CONFIG_MEDIA_TUNER_TDA18218=m
-CONFIG_MEDIA_TUNER_TDA18212=m
-CONFIG_VIDEO_V4L2=m
-CONFIG_VIDEOBUF_GEN=m
-CONFIG_VIDEOBUF_DMA_SG=m
-CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEOBUF_DMA_CONTIG=m
-CONFIG_VIDEOBUF_DVB=m
-CONFIG_VIDEO_BTCX=m
-CONFIG_VIDEO_TVEEPROM=m
-CONFIG_VIDEO_TUNER=m
-CONFIG_V4L2_MEM2MEM_DEV=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_DMA_CONTIG=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
-CONFIG_VIDEO_IR_I2C=m
-
-#
-# Encoders, decoders, sensors and other helper chips
-#
-
-#
-# Audio decoders, processors and mixers
-#
-CONFIG_VIDEO_TVAUDIO=m
-CONFIG_VIDEO_TDA7432=m
-CONFIG_VIDEO_TDA9840=m
-CONFIG_VIDEO_TEA6415C=m
-CONFIG_VIDEO_TEA6420=m
-CONFIG_VIDEO_MSP3400=m
-CONFIG_VIDEO_CS5345=m
-CONFIG_VIDEO_CS53L32A=m
-CONFIG_VIDEO_TLV320AIC23B=m
-CONFIG_VIDEO_WM8775=m
-CONFIG_VIDEO_WM8739=m
-CONFIG_VIDEO_VP27SMPX=m
-
-#
-# RDS decoders
-#
-CONFIG_VIDEO_SAA6588=m
-
-#
-# Video decoders
-#
-CONFIG_VIDEO_ADV7180=m
-CONFIG_VIDEO_BT819=m
-CONFIG_VIDEO_BT856=m
-CONFIG_VIDEO_BT866=m
-CONFIG_VIDEO_KS0127=m
-CONFIG_VIDEO_SAA7110=m
-CONFIG_VIDEO_SAA711X=m
-CONFIG_VIDEO_SAA7191=m
-CONFIG_VIDEO_TVP514X=m
-CONFIG_VIDEO_TVP5150=m
-CONFIG_VIDEO_TVP7002=m
-CONFIG_VIDEO_VPX3220=m
-
-#
-# Video and audio decoders
-#
-CONFIG_VIDEO_SAA717X=m
-CONFIG_VIDEO_CX25840=m
-
-#
-# MPEG video encoders
-#
-CONFIG_VIDEO_CX2341X=m
-
-#
-# Video encoders
-#
-CONFIG_VIDEO_SAA7127=m
-CONFIG_VIDEO_SAA7185=m
-CONFIG_VIDEO_ADV7170=m
-CONFIG_VIDEO_ADV7175=m
-CONFIG_VIDEO_ADV7343=m
-CONFIG_VIDEO_AK881X=m
-
-#
-# Camera sensor devices
-#
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9V011=m
-CONFIG_VIDEO_TCM825X=m
-CONFIG_VIDEO_SR030PC30=m
-
-#
-# Flash devices
-#
-
-#
-# Video improvement chips
-#
-CONFIG_VIDEO_UPD64031A=m
-CONFIG_VIDEO_UPD64083=m
-
-#
-# Miscelaneous helper chips
-#
-CONFIG_VIDEO_THS7303=m
-CONFIG_VIDEO_M52790=m
-CONFIG_VIDEO_VIVI=m
-CONFIG_VIDEO_BT848=m
-CONFIG_VIDEO_BT848_DVB=y
-CONFIG_VIDEO_BWQCAM=m
-CONFIG_VIDEO_CQCAM=m
-CONFIG_VIDEO_W9966=m
-CONFIG_VIDEO_CPIA2=m
-CONFIG_VIDEO_ZORAN=m
-CONFIG_VIDEO_ZORAN_DC30=m
-CONFIG_VIDEO_ZORAN_ZR36060=m
-CONFIG_VIDEO_ZORAN_BUZ=m
-CONFIG_VIDEO_ZORAN_DC10=m
-CONFIG_VIDEO_ZORAN_LML33=m
-CONFIG_VIDEO_ZORAN_LML33R10=m
-CONFIG_VIDEO_ZORAN_AVS6EYES=m
-CONFIG_VIDEO_MEYE=m
-CONFIG_VIDEO_SAA7134=m
-CONFIG_VIDEO_SAA7134_ALSA=m
-CONFIG_VIDEO_SAA7134_RC=y
-CONFIG_VIDEO_SAA7134_DVB=m
-CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_HEXIUM_ORION=m
-CONFIG_VIDEO_HEXIUM_GEMINI=m
-CONFIG_VIDEO_TIMBERDALE=m
-CONFIG_VIDEO_CX88=m
-CONFIG_VIDEO_CX88_ALSA=m
-CONFIG_VIDEO_CX88_BLACKBIRD=m
-CONFIG_VIDEO_CX88_DVB=m
-CONFIG_VIDEO_CX88_MPEG=m
-CONFIG_VIDEO_CX88_VP3054=m
-CONFIG_VIDEO_CX23885=m
-CONFIG_MEDIA_ALTERA_CI=m
-CONFIG_VIDEO_CX25821=m
-CONFIG_VIDEO_CX25821_ALSA=m
-CONFIG_VIDEO_AU0828=m
-CONFIG_VIDEO_IVTV=m
-CONFIG_VIDEO_FB_IVTV=m
-CONFIG_VIDEO_CX18=m
-CONFIG_VIDEO_CX18_ALSA=m
-CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_CAFE_CCIC=m
-CONFIG_VIDEO_VIA_CAMERA=m
-CONFIG_SOC_CAMERA=m
-CONFIG_SOC_CAMERA_IMX074=m
-CONFIG_SOC_CAMERA_MT9M001=m
-CONFIG_SOC_CAMERA_MT9M111=m
-CONFIG_SOC_CAMERA_MT9T031=m
-CONFIG_SOC_CAMERA_MT9T112=m
-CONFIG_SOC_CAMERA_MT9V022=m
-CONFIG_SOC_CAMERA_RJ54N1=m
-CONFIG_SOC_CAMERA_TW9910=m
-CONFIG_SOC_CAMERA_PLATFORM=m
-CONFIG_SOC_CAMERA_OV2640=m
-CONFIG_SOC_CAMERA_OV5642=m
-CONFIG_SOC_CAMERA_OV6650=m
-CONFIG_SOC_CAMERA_OV772X=m
-CONFIG_SOC_CAMERA_OV9640=m
-CONFIG_SOC_CAMERA_OV9740=m
-CONFIG_V4L_USB_DRIVERS=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-CONFIG_USB_GSPCA=m
-CONFIG_USB_M5602=m
-CONFIG_USB_STV06XX=m
-CONFIG_USB_GL860=m
-CONFIG_USB_GSPCA_BENQ=m
-CONFIG_USB_GSPCA_CONEX=m
-CONFIG_USB_GSPCA_CPIA1=m
-CONFIG_USB_GSPCA_ETOMS=m
-CONFIG_USB_GSPCA_FINEPIX=m
-CONFIG_USB_GSPCA_JEILINJ=m
-CONFIG_USB_GSPCA_KINECT=m
-CONFIG_USB_GSPCA_KONICA=m
-CONFIG_USB_GSPCA_MARS=m
-CONFIG_USB_GSPCA_MR97310A=m
-CONFIG_USB_GSPCA_NW80X=m
-CONFIG_USB_GSPCA_OV519=m
-CONFIG_USB_GSPCA_OV534=m
-CONFIG_USB_GSPCA_OV534_9=m
-CONFIG_USB_GSPCA_PAC207=m
-CONFIG_USB_GSPCA_PAC7302=m
-CONFIG_USB_GSPCA_PAC7311=m
-CONFIG_USB_GSPCA_SE401=m
-CONFIG_USB_GSPCA_SN9C2028=m
-CONFIG_USB_GSPCA_SN9C20X=m
-CONFIG_USB_GSPCA_SONIXB=m
-CONFIG_USB_GSPCA_SONIXJ=m
-CONFIG_USB_GSPCA_SPCA500=m
-CONFIG_USB_GSPCA_SPCA501=m
-CONFIG_USB_GSPCA_SPCA505=m
-CONFIG_USB_GSPCA_SPCA506=m
-CONFIG_USB_GSPCA_SPCA508=m
-CONFIG_USB_GSPCA_SPCA561=m
-CONFIG_USB_GSPCA_SPCA1528=m
-CONFIG_USB_GSPCA_SQ905=m
-CONFIG_USB_GSPCA_SQ905C=m
-CONFIG_USB_GSPCA_SQ930X=m
-CONFIG_USB_GSPCA_STK014=m
-CONFIG_USB_GSPCA_STV0680=m
-CONFIG_USB_GSPCA_SUNPLUS=m
-CONFIG_USB_GSPCA_T613=m
-CONFIG_USB_GSPCA_TOPRO=m
-CONFIG_USB_GSPCA_TV8532=m
-CONFIG_USB_GSPCA_VC032X=m
-CONFIG_USB_GSPCA_VICAM=m
-CONFIG_USB_GSPCA_XIRLINK_CIT=m
-CONFIG_USB_GSPCA_ZC3XX=m
-CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_PVRUSB2_SYSFS=y
-CONFIG_VIDEO_PVRUSB2_DVB=y
-# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
-CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_EM28XX_RC=y
-CONFIG_VIDEO_TLG2300=m
-CONFIG_VIDEO_CX231XX=m
-CONFIG_VIDEO_CX231XX_RC=y
-CONFIG_VIDEO_CX231XX_ALSA=m
-CONFIG_VIDEO_CX231XX_DVB=m
-CONFIG_VIDEO_TM6000=m
-CONFIG_VIDEO_TM6000_ALSA=m
-CONFIG_VIDEO_TM6000_DVB=m
-CONFIG_VIDEO_USBVISION=m
-CONFIG_USB_ET61X251=m
-CONFIG_USB_SN9C102=m
-CONFIG_USB_PWC=m
-# CONFIG_USB_PWC_DEBUG is not set
-CONFIG_USB_PWC_INPUT_EVDEV=y
-CONFIG_USB_ZR364XX=m
-CONFIG_USB_STKWEBCAM=m
-CONFIG_USB_S2255=m
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_MEM2MEM_TESTDEV=m
-CONFIG_RADIO_ADAPTERS=y
-CONFIG_RADIO_MAXIRADIO=m
-CONFIG_I2C_SI4713=m
-CONFIG_RADIO_SI4713=m
-CONFIG_USB_DSBR=m
-# CONFIG_RADIO_SI470X is not set
-CONFIG_USB_MR800=m
-CONFIG_RADIO_TEA5764=m
-CONFIG_RADIO_SAA7706H=m
-CONFIG_RADIO_TEF6862=m
-CONFIG_RADIO_TIMBERDALE=m
-CONFIG_RADIO_WL1273=m
-
-#
-# Texas Instruments WL128x FM driver (ST based)
-#
-CONFIG_RADIO_WL128X=m
-CONFIG_DVB_MAX_ADAPTERS=8
-# CONFIG_DVB_DYNAMIC_MINORS is not set
-CONFIG_DVB_CAPTURE_DRIVERS=y
-
-#
-# Supported SAA7146 based PCI Adapters
-#
-CONFIG_TTPCI_EEPROM=m
-CONFIG_DVB_AV7110=m
-CONFIG_DVB_AV7110_OSD=y
-CONFIG_DVB_BUDGET_CORE=m
-CONFIG_DVB_BUDGET=m
-CONFIG_DVB_BUDGET_CI=m
-CONFIG_DVB_BUDGET_AV=m
-CONFIG_DVB_BUDGET_PATCH=m
-
-#
-# Supported USB Adapters
-#
-CONFIG_DVB_USB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_DIBUSB_MB=m
-# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIB0700=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_CXUSB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-CONFIG_DVB_USB_PCTV452E=m
-CONFIG_DVB_USB_DW2102=m
-CONFIG_DVB_USB_CINERGY_T2=m
-CONFIG_DVB_USB_ANYSEE=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_USB_AF9015=m
-CONFIG_DVB_USB_CE6230=m
-CONFIG_DVB_USB_FRIIO=m
-CONFIG_DVB_USB_EC168=m
-CONFIG_DVB_USB_AZ6027=m
-CONFIG_DVB_USB_LME2510=m
-CONFIG_DVB_USB_TECHNISAT_USB2=m
-CONFIG_DVB_USB_IT913X=m
-CONFIG_DVB_USB_MXL111SF=m
-CONFIG_DVB_TTUSB_BUDGET=m
-CONFIG_DVB_TTUSB_DEC=m
-CONFIG_SMS_SIANO_MDTV=m
-
-#
-# Siano module components
-#
-CONFIG_SMS_USB_DRV=m
-CONFIG_SMS_SDIO_DRV=m
-
-#
-# Supported FlexCopII (B2C2) Adapters
-#
-CONFIG_DVB_B2C2_FLEXCOP=m
-CONFIG_DVB_B2C2_FLEXCOP_PCI=m
-CONFIG_DVB_B2C2_FLEXCOP_USB=m
-# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
-
-#
-# Supported BT878 Adapters
-#
-CONFIG_DVB_BT8XX=m
-
-#
-# Supported Pluto2 Adapters
-#
-CONFIG_DVB_PLUTO2=m
-
-#
-# Supported SDMC DM1105 Adapters
-#
-CONFIG_DVB_DM1105=m
-
-#
-# Supported FireWire (IEEE 1394) Adapters
-#
-CONFIG_DVB_FIREDTV=m
-CONFIG_DVB_FIREDTV_INPUT=y
-
-#
-# Supported Earthsoft PT1 Adapters
-#
-CONFIG_DVB_PT1=m
-
-#
-# Supported Mantis Adapters
-#
-CONFIG_MANTIS_CORE=m
-CONFIG_DVB_MANTIS=m
-CONFIG_DVB_HOPPER=m
-
-#
-# Supported nGene Adapters
-#
-CONFIG_DVB_NGENE=m
-
-#
-# Supported ddbridge ('Octopus') Adapters
-#
-CONFIG_DVB_DDBRIDGE=m
-
-#
-# Supported DVB Frontends
-#
-CONFIG_DVB_FE_CUSTOMISE=y
-
-#
-# Customise DVB Frontends
-#
-
-#
-# Multistandard (satellite) frontends
-#
-CONFIG_DVB_STB0899=m
-CONFIG_DVB_STB6100=m
-CONFIG_DVB_STV090x=m
-CONFIG_DVB_STV6110x=m
-
-#
-# Multistandard (cable + terrestrial) frontends
-#
-CONFIG_DVB_DRXK=m
-CONFIG_DVB_TDA18271C2DD=m
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_CX24110=m
-CONFIG_DVB_CX24123=m
-CONFIG_DVB_MT312=m
-CONFIG_DVB_ZL10036=m
-CONFIG_DVB_ZL10039=m
-CONFIG_DVB_S5H1420=m
-CONFIG_DVB_STV0288=m
-CONFIG_DVB_STB6000=m
-CONFIG_DVB_STV0299=m
-CONFIG_DVB_STV6110=m
-CONFIG_DVB_STV0900=m
-CONFIG_DVB_TDA8083=m
-CONFIG_DVB_TDA10086=m
-CONFIG_DVB_TDA8261=m
-CONFIG_DVB_VES1X93=m
-CONFIG_DVB_TUNER_ITD1000=m
-CONFIG_DVB_TUNER_CX24113=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_TUA6100=m
-CONFIG_DVB_CX24116=m
-CONFIG_DVB_SI21XX=m
-CONFIG_DVB_DS3000=m
-CONFIG_DVB_MB86A16=m
-CONFIG_DVB_TDA10071=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_SP8870=m
-CONFIG_DVB_SP887X=m
-CONFIG_DVB_CX22700=m
-CONFIG_DVB_CX22702=m
-CONFIG_DVB_S5H1432=m
-CONFIG_DVB_DRXD=m
-CONFIG_DVB_L64781=m
-CONFIG_DVB_TDA1004X=m
-CONFIG_DVB_NXT6000=m
-CONFIG_DVB_MT352=m
-CONFIG_DVB_ZL10353=m
-CONFIG_DVB_DIB3000MB=m
-CONFIG_DVB_DIB3000MC=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_DVB_DIB7000P=m
-CONFIG_DVB_DIB9000=m
-CONFIG_DVB_TDA10048=m
-CONFIG_DVB_AF9013=m
-CONFIG_DVB_EC100=m
-CONFIG_DVB_STV0367=m
-CONFIG_DVB_CXD2820R=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_VES1820=m
-CONFIG_DVB_TDA10021=m
-CONFIG_DVB_TDA10023=m
-CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
-CONFIG_DVB_NXT200X=m
-CONFIG_DVB_OR51211=m
-CONFIG_DVB_OR51132=m
-CONFIG_DVB_BCM3510=m
-CONFIG_DVB_LGDT330X=m
-CONFIG_DVB_LGDT3305=m
-CONFIG_DVB_S5H1409=m
-CONFIG_DVB_AU8522=m
-CONFIG_DVB_S5H1411=m
-
-#
-# ISDB-T (terrestrial) frontends
-#
-CONFIG_DVB_S921=m
-CONFIG_DVB_DIB8000=m
-CONFIG_DVB_MB86A20S=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
-CONFIG_DVB_PLL=m
-CONFIG_DVB_TUNER_DIB0070=m
-CONFIG_DVB_TUNER_DIB0090=m
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_LNBP21=m
-CONFIG_DVB_LNBP22=m
-CONFIG_DVB_ISL6405=m
-CONFIG_DVB_ISL6421=m
-CONFIG_DVB_ISL6423=m
-CONFIG_DVB_A8293=m
-CONFIG_DVB_LGS8GL5=m
-CONFIG_DVB_LGS8GXX=m
-CONFIG_DVB_ATBM8830=m
-CONFIG_DVB_TDA665x=m
-CONFIG_DVB_IX2505V=m
-CONFIG_DVB_IT913X_FE=m
-
-#
-# Tools to develop new frontends
-#
-CONFIG_DVB_DUMMY_FE=m
-
-#
-# Graphics support
-#
-CONFIG_AGP=m
-CONFIG_AGP_AMD64=m
-CONFIG_AGP_INTEL=m
-CONFIG_AGP_SIS=m
-CONFIG_AGP_VIA=m
-CONFIG_VGA_ARB=y
-CONFIG_VGA_ARB_MAX_GPUS=16
-CONFIG_VGA_SWITCHEROO=y
-CONFIG_DRM=m
-CONFIG_DRM_KMS_HELPER=m
-CONFIG_DRM_TTM=m
-CONFIG_DRM_TDFX=m
-CONFIG_DRM_R128=m
-CONFIG_DRM_RADEON=m
-CONFIG_DRM_RADEON_KMS=y
-CONFIG_DRM_I810=m
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_KMS=y
-CONFIG_DRM_MGA=m
-CONFIG_DRM_SIS=m
-CONFIG_DRM_VIA=m
-CONFIG_DRM_SAVAGE=m
-CONFIG_DRM_VMWGFX=m
-CONFIG_STUB_POULSBO=m
-CONFIG_VGASTATE=m
-CONFIG_VIDEO_OUTPUT_CONTROL=m
-CONFIG_FB=y
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB_DDC=m
-CONFIG_FB_BOOT_VESA_SUPPORT=y
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
-# CONFIG_FB_WMT_GE_ROPS is not set
-CONFIG_FB_DEFERRED_IO=y
-CONFIG_FB_HECUBA=m
-CONFIG_FB_SVGALIB=m
-# CONFIG_FB_MACMODES is not set
-CONFIG_FB_BACKLIGHT=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_TILEBLITTING=y
-
-#
-# Frame buffer hardware drivers
-#
-CONFIG_FB_CIRRUS=m
-CONFIG_FB_PM2=m
-# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
-CONFIG_FB_CYBER2000=m
-CONFIG_FB_CYBER2000_DDC=y
-CONFIG_FB_ARC=m
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_IMSTT is not set
-CONFIG_FB_VGA16=m
-# CONFIG_FB_UVESA is not set
-CONFIG_FB_VESA=y
-CONFIG_FB_EFI=y
-CONFIG_FB_N411=m
-CONFIG_FB_HGA=m
-CONFIG_FB_S1D13XXX=m
-CONFIG_FB_NVIDIA=m
-CONFIG_FB_NVIDIA_I2C=y
-# CONFIG_FB_NVIDIA_DEBUG is not set
-CONFIG_FB_NVIDIA_BACKLIGHT=y
-CONFIG_FB_RIVA=m
-CONFIG_FB_RIVA_I2C=y
-# CONFIG_FB_RIVA_DEBUG is not set
-CONFIG_FB_RIVA_BACKLIGHT=y
-CONFIG_FB_LE80578=m
-CONFIG_FB_CARILLO_RANCH=m
-CONFIG_FB_MATROX=m
-CONFIG_FB_MATROX_MILLENIUM=y
-CONFIG_FB_MATROX_MYSTIQUE=y
-CONFIG_FB_MATROX_G=y
-CONFIG_FB_MATROX_I2C=m
-CONFIG_FB_MATROX_MAVEN=m
-CONFIG_FB_RADEON=m
-CONFIG_FB_RADEON_I2C=y
-CONFIG_FB_RADEON_BACKLIGHT=y
-# CONFIG_FB_RADEON_DEBUG is not set
-CONFIG_FB_ATY128=m
-CONFIG_FB_ATY128_BACKLIGHT=y
-CONFIG_FB_ATY=m
-CONFIG_FB_ATY_CT=y
-CONFIG_FB_ATY_GENERIC_LCD=y
-CONFIG_FB_ATY_GX=y
-CONFIG_FB_ATY_BACKLIGHT=y
-CONFIG_FB_S3=m
-CONFIG_FB_S3_DDC=y
-CONFIG_FB_SAVAGE=m
-CONFIG_FB_SAVAGE_I2C=y
-CONFIG_FB_SAVAGE_ACCEL=y
-CONFIG_FB_SIS=m
-CONFIG_FB_SIS_300=y
-CONFIG_FB_SIS_315=y
-CONFIG_FB_VIA=m
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-CONFIG_FB_VIA_X_COMPATIBILITY=y
-CONFIG_FB_NEOMAGIC=m
-CONFIG_FB_KYRO=m
-CONFIG_FB_3DFX=m
-# CONFIG_FB_3DFX_ACCEL is not set
-CONFIG_FB_3DFX_I2C=y
-CONFIG_FB_VOODOO1=m
-CONFIG_FB_VT8623=m
-CONFIG_FB_TRIDENT=m
-CONFIG_FB_ARK=m
-CONFIG_FB_PM3=m
-CONFIG_FB_CARMINE=m
-CONFIG_FB_CARMINE_DRAM_EVAL=y
-# CONFIG_CARMINE_DRAM_CUSTOM is not set
-CONFIG_FB_GEODE=y
-CONFIG_FB_GEODE_LX=m
-CONFIG_FB_GEODE_GX=m
-CONFIG_FB_GEODE_GX1=m
-CONFIG_FB_TMIO=m
-CONFIG_FB_TMIO_ACCELL=y
-CONFIG_FB_SMSCUFX=m
-CONFIG_FB_UDL=m
-# CONFIG_FB_VIRTUAL is not set
-CONFIG_FB_METRONOME=m
-CONFIG_FB_MB862XX=m
-CONFIG_FB_MB862XX_PCI_GDC=y
-CONFIG_FB_MB862XX_I2C=y
-CONFIG_FB_BROADSHEET=m
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=m
-CONFIG_LCD_PLATFORM=m
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=m
-CONFIG_BACKLIGHT_PROGEAR=m
-CONFIG_BACKLIGHT_CARILLO_RANCH=m
-CONFIG_BACKLIGHT_APPLE=m
-CONFIG_BACKLIGHT_SAHARA=m
-CONFIG_BACKLIGHT_ADP8860=m
-CONFIG_BACKLIGHT_ADP8870=m
-CONFIG_BACKLIGHT_PCF50633=m
-
-#
-# Display device support
-#
-CONFIG_DISPLAY_SUPPORT=m
-
-#
-# Display hardware drivers
-#
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_7x14 is not set
-# CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
-# CONFIG_FONT_MINI_4x6 is not set
-CONFIG_FONT_SUN8x16=y
-# CONFIG_FONT_SUN12x22 is not set
-# CONFIG_FONT_10x18 is not set
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-CONFIG_SOUND=m
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-CONFIG_SND_JACK=y
-CONFIG_SND_SEQUENCER=m
-CONFIG_SND_SEQ_DUMMY=m
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
-CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_HRTIMER=m
-CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
-CONFIG_SND_DYNAMIC_MINORS=y
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_VMASTER=y
-CONFIG_SND_DMA_SGBUF=y
-CONFIG_SND_RAWMIDI_SEQ=m
-CONFIG_SND_OPL3_LIB_SEQ=m
-# CONFIG_SND_OPL4_LIB_SEQ is not set
-# CONFIG_SND_SBAWE_SEQ is not set
-CONFIG_SND_EMU10K1_SEQ=m
-CONFIG_SND_MPU401_UART=m
-CONFIG_SND_OPL3_LIB=m
-CONFIG_SND_VX_LIB=m
-CONFIG_SND_AC97_CODEC=m
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_PCSP is not set
-CONFIG_SND_DUMMY=m
-CONFIG_SND_ALOOP=m
-CONFIG_SND_VIRMIDI=m
-CONFIG_SND_MTPAV=m
-CONFIG_SND_MTS64=m
-CONFIG_SND_SERIAL_U16550=m
-CONFIG_SND_MPU401=m
-CONFIG_SND_PORTMAN2X4=m
-CONFIG_SND_AC97_POWER_SAVE=y
-CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
-CONFIG_SND_SB_COMMON=m
-CONFIG_SND_SB16_DSP=m
-CONFIG_SND_TEA575X=m
-CONFIG_SND_PCI=y
-CONFIG_SND_AD1889=m
-CONFIG_SND_ALS300=m
-CONFIG_SND_ALS4000=m
-CONFIG_SND_ALI5451=m
-CONFIG_SND_ASIHPI=m
-CONFIG_SND_ATIIXP=m
-CONFIG_SND_ATIIXP_MODEM=m
-CONFIG_SND_AU8810=m
-CONFIG_SND_AU8820=m
-CONFIG_SND_AU8830=m
-CONFIG_SND_AW2=m
-CONFIG_SND_AZT3328=m
-CONFIG_SND_BT87X=m
-# CONFIG_SND_BT87X_OVERCLOCK is not set
-CONFIG_SND_CA0106=m
-CONFIG_SND_CMIPCI=m
-CONFIG_SND_OXYGEN_LIB=m
-CONFIG_SND_OXYGEN=m
-CONFIG_SND_CS4281=m
-CONFIG_SND_CS46XX=m
-CONFIG_SND_CS46XX_NEW_DSP=y
-CONFIG_SND_CS5530=m
-CONFIG_SND_CS5535AUDIO=m
-CONFIG_SND_CTXFI=m
-CONFIG_SND_DARLA20=m
-CONFIG_SND_GINA20=m
-CONFIG_SND_LAYLA20=m
-CONFIG_SND_DARLA24=m
-CONFIG_SND_GINA24=m
-CONFIG_SND_LAYLA24=m
-CONFIG_SND_MONA=m
-CONFIG_SND_MIA=m
-CONFIG_SND_ECHO3G=m
-CONFIG_SND_INDIGO=m
-CONFIG_SND_INDIGOIO=m
-CONFIG_SND_INDIGODJ=m
-CONFIG_SND_INDIGOIOX=m
-CONFIG_SND_INDIGODJX=m
-CONFIG_SND_EMU10K1=m
-CONFIG_SND_EMU10K1X=m
-CONFIG_SND_ENS1370=m
-CONFIG_SND_ENS1371=m
-CONFIG_SND_ES1938=m
-CONFIG_SND_ES1968=m
-CONFIG_SND_ES1968_INPUT=y
-CONFIG_SND_ES1968_RADIO=y
-CONFIG_SND_FM801=m
-CONFIG_SND_FM801_TEA575X_BOOL=y
-CONFIG_SND_HDA_INTEL=m
-CONFIG_SND_HDA_PREALLOC_SIZE=2048
-CONFIG_SND_HDA_HWDEP=y
-CONFIG_SND_HDA_RECONFIG=y
-# CONFIG_SND_HDA_INPUT_BEEP is not set
-CONFIG_SND_HDA_INPUT_JACK=y
-CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_CODEC_REALTEK=y
-CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
-CONFIG_SND_HDA_CODEC_ANALOG=y
-CONFIG_SND_HDA_CODEC_SIGMATEL=y
-CONFIG_SND_HDA_CODEC_VIA=y
-CONFIG_SND_HDA_CODEC_HDMI=y
-CONFIG_SND_HDA_CODEC_CIRRUS=y
-CONFIG_SND_HDA_CODEC_CONEXANT=y
-CONFIG_SND_HDA_CODEC_CA0110=y
-CONFIG_SND_HDA_CODEC_CA0132=y
-CONFIG_SND_HDA_CODEC_CMEDIA=y
-CONFIG_SND_HDA_CODEC_SI3054=y
-CONFIG_SND_HDA_GENERIC=y
-# CONFIG_SND_HDA_POWER_SAVE is not set
-CONFIG_SND_HDSP=m
-CONFIG_SND_HDSPM=m
-CONFIG_SND_ICE1712=m
-CONFIG_SND_ICE1724=m
-CONFIG_SND_INTEL8X0=m
-CONFIG_SND_INTEL8X0M=m
-CONFIG_SND_KORG1212=m
-CONFIG_SND_LOLA=m
-CONFIG_SND_LX6464ES=m
-CONFIG_SND_MAESTRO3=m
-CONFIG_SND_MAESTRO3_INPUT=y
-CONFIG_SND_MIXART=m
-CONFIG_SND_NM256=m
-CONFIG_SND_PCXHR=m
-CONFIG_SND_RIPTIDE=m
-CONFIG_SND_RME32=m
-CONFIG_SND_RME96=m
-CONFIG_SND_RME9652=m
-CONFIG_SND_SONICVIBES=m
-CONFIG_SND_TRIDENT=m
-CONFIG_SND_VIA82XX=m
-CONFIG_SND_VIA82XX_MODEM=m
-CONFIG_SND_VIRTUOSO=m
-CONFIG_SND_VX222=m
-CONFIG_SND_YMFPCI=m
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_USB_UA101=m
-CONFIG_SND_USB_USX2Y=m
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_USB_US122L=m
-CONFIG_SND_USB_6FIRE=m
-CONFIG_SND_FIREWIRE=y
-CONFIG_SND_FIREWIRE_LIB=m
-CONFIG_SND_FIREWIRE_SPEAKERS=m
-CONFIG_SND_ISIGHT=m
-CONFIG_SND_PCMCIA=y
-CONFIG_SND_VXPOCKET=m
-CONFIG_SND_PDAUDIOCF=m
-# CONFIG_SND_SOC is not set
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=m
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=m
-CONFIG_HIDRAW=y
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=m
-CONFIG_HID_PID=y
-CONFIG_USB_HIDDEV=y
-
-#
-# Special HID drivers
-#
-CONFIG_HID_A4TECH=m
-CONFIG_HID_ACRUX=m
-CONFIG_HID_ACRUX_FF=y
-CONFIG_HID_APPLE=m
-CONFIG_HID_BELKIN=m
-CONFIG_HID_CHERRY=m
-CONFIG_HID_CHICONY=m
-CONFIG_HID_PRODIKEYS=m
-CONFIG_HID_CYPRESS=m
-CONFIG_HID_DRAGONRISE=m
-CONFIG_DRAGONRISE_FF=y
-CONFIG_HID_EMS_FF=m
-CONFIG_HID_ELECOM=m
-CONFIG_HID_EZKEY=m
-CONFIG_HID_HOLTEK=m
-CONFIG_HOLTEK_FF=y
-CONFIG_HID_KEYTOUCH=m
-CONFIG_HID_KYE=m
-CONFIG_HID_UCLOGIC=m
-CONFIG_HID_WALTOP=m
-CONFIG_HID_GYRATION=m
-CONFIG_HID_TWINHAN=m
-CONFIG_HID_KENSINGTON=m
-CONFIG_HID_LCPOWER=m
-CONFIG_HID_LOGITECH=m
-CONFIG_HID_LOGITECH_DJ=m
-CONFIG_LOGITECH_FF=y
-CONFIG_LOGIRUMBLEPAD2_FF=y
-CONFIG_LOGIG940_FF=y
-CONFIG_LOGIWHEELS_FF=y
-CONFIG_HID_MAGICMOUSE=m
-CONFIG_HID_MICROSOFT=m
-CONFIG_HID_MONTEREY=m
-CONFIG_HID_MULTITOUCH=m
-CONFIG_HID_NTRIG=m
-CONFIG_HID_ORTEK=m
-CONFIG_HID_PANTHERLORD=m
-CONFIG_PANTHERLORD_FF=y
-CONFIG_HID_PETALYNX=m
-CONFIG_HID_PICOLCD=m
-CONFIG_HID_PICOLCD_FB=y
-CONFIG_HID_PICOLCD_BACKLIGHT=y
-CONFIG_HID_PICOLCD_LCD=y
-CONFIG_HID_PICOLCD_LEDS=y
-CONFIG_HID_PRIMAX=m
-CONFIG_HID_QUANTA=m
-CONFIG_HID_ROCCAT=m
-CONFIG_HID_ROCCAT_COMMON=m
-CONFIG_HID_ROCCAT_ARVO=m
-CONFIG_HID_ROCCAT_KONE=m
-CONFIG_HID_ROCCAT_KONEPLUS=m
-CONFIG_HID_ROCCAT_KOVAPLUS=m
-CONFIG_HID_ROCCAT_PYRA=m
-CONFIG_HID_SAMSUNG=m
-CONFIG_HID_SONY=m
-CONFIG_HID_SPEEDLINK=m
-CONFIG_HID_SUNPLUS=m
-CONFIG_HID_GREENASIA=m
-CONFIG_GREENASIA_FF=y
-CONFIG_HID_SMARTJOYPLUS=m
-CONFIG_SMARTJOYPLUS_FF=y
-CONFIG_HID_TOPSEED=m
-CONFIG_HID_THRUSTMASTER=m
-CONFIG_THRUSTMASTER_FF=y
-CONFIG_HID_WACOM=m
-CONFIG_HID_WACOM_POWER_SUPPLY=y
-CONFIG_HID_WIIMOTE=m
-CONFIG_HID_ZEROPLUS=m
-CONFIG_ZEROPLUS_FF=y
-CONFIG_HID_ZYDACRON=m
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_COMMON=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB_ARCH_HAS_XHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-# CONFIG_USB_DEVICEFS is not set
-# CONFIG_USB_DEVICE_CLASS is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_SUSPEND=y
-# CONFIG_USB_OTG is not set
-CONFIG_USB_DWC3=m
-# CONFIG_USB_DWC3_DEBUG is not set
-CONFIG_USB_MON=y
-CONFIG_USB_WUSB=m
-CONFIG_USB_WUSB_CBAF=m
-# CONFIG_USB_WUSB_CBAF_DEBUG is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_C67X00_HCD=y
-CONFIG_USB_XHCI_HCD=y
-# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
-CONFIG_USB_OXU210HP_HCD=y
-CONFIG_USB_ISP116X_HCD=y
-CONFIG_USB_ISP1760_HCD=y
-CONFIG_USB_ISP1362_HCD=y
-CONFIG_USB_OHCI_HCD=y
-# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-CONFIG_USB_UHCI_HCD=y
-CONFIG_USB_U132_HCD=m
-CONFIG_USB_SL811_HCD=y
-# CONFIG_USB_SL811_HCD_ISO is not set
-CONFIG_USB_SL811_CS=m
-CONFIG_USB_R8A66597_HCD=y
-CONFIG_USB_WHCI_HCD=m
-CONFIG_USB_HWA_HCD=m
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-CONFIG_USB_WDM=m
-CONFIG_USB_TMC=m
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_REALTEK=m
-CONFIG_REALTEK_AUTOPM=y
-CONFIG_USB_STORAGE_DATAFAB=y
-CONFIG_USB_STORAGE_FREECOM=y
-CONFIG_USB_STORAGE_ISD200=y
-CONFIG_USB_STORAGE_USBAT=y
-CONFIG_USB_STORAGE_SDDR09=y
-CONFIG_USB_STORAGE_SDDR55=y
-CONFIG_USB_STORAGE_JUMPSHOT=y
-CONFIG_USB_STORAGE_ALAUDA=y
-CONFIG_USB_STORAGE_ONETOUCH=y
-CONFIG_USB_STORAGE_KARMA=y
-CONFIG_USB_STORAGE_CYPRESS_ATACB=y
-CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_UAS=m
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-CONFIG_USB_MDC800=m
-CONFIG_USB_MICROTEK=m
-
-#
-# USB port drivers
-#
-CONFIG_USB_USS720=m
-CONFIG_USB_SERIAL=m
-CONFIG_USB_EZUSB=y
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_AIRCABLE=m
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_CH341=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP210X=m
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_FUNSOFT=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_IUU=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_MOS7720=m
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
-CONFIG_USB_SERIAL_MOS7840=m
-CONFIG_USB_SERIAL_MOTOROLA=m
-CONFIG_USB_SERIAL_NAVMAN=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_OTI6858=m
-CONFIG_USB_SERIAL_QCAUX=m
-CONFIG_USB_SERIAL_QUALCOMM=m
-CONFIG_USB_SERIAL_SPCP8X5=m
-CONFIG_USB_SERIAL_HP4X=m
-CONFIG_USB_SERIAL_SAFE=m
-CONFIG_USB_SERIAL_SAFE_PADDED=y
-CONFIG_USB_SERIAL_SIEMENS_MPI=m
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-CONFIG_USB_SERIAL_SYMBOL=m
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_WWAN=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_SERIAL_OPTICON=m
-CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
-CONFIG_USB_SERIAL_ZIO=m
-CONFIG_USB_SERIAL_SSU100=m
-CONFIG_USB_SERIAL_DEBUG=m
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-CONFIG_USB_ADUTUX=m
-CONFIG_USB_SEVSEG=m
-CONFIG_USB_RIO500=m
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-CONFIG_USB_LED=m
-CONFIG_USB_CYPRESS_CY7C63=m
-CONFIG_USB_CYTHERM=m
-CONFIG_USB_IDMOUSE=m
-CONFIG_USB_FTDI_ELAN=m
-CONFIG_USB_APPLEDISPLAY=m
-CONFIG_USB_SISUSBVGA=m
-CONFIG_USB_SISUSBVGA_CON=y
-CONFIG_USB_LD=m
-CONFIG_USB_TRANCEVIBRATOR=m
-CONFIG_USB_IOWARRIOR=m
-CONFIG_USB_TEST=m
-CONFIG_USB_ISIGHTFW=m
-CONFIG_USB_YUREX=m
-CONFIG_USB_ATM=m
-CONFIG_USB_SPEEDTOUCH=m
-CONFIG_USB_CXACRU=m
-CONFIG_USB_UEAGLEATM=m
-CONFIG_USB_XUSBATM=m
-# CONFIG_USB_GADGET is not set
-
-#
-# OTG and related infrastructure
-#
-CONFIG_USB_OTG_UTILS=y
-CONFIG_USB_GPIO_VBUS=m
-CONFIG_NOP_USB_XCEIV=m
-CONFIG_UWB=m
-CONFIG_UWB_HWA=m
-CONFIG_UWB_WHCI=m
-CONFIG_UWB_I1480U=m
-CONFIG_MMC=m
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=m
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_SDIO_UART=m
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-CONFIG_MMC_SDHCI=m
-CONFIG_MMC_SDHCI_PCI=m
-CONFIG_MMC_RICOH_MMC=y
-CONFIG_MMC_SDHCI_PLTFM=m
-CONFIG_MMC_WBSD=m
-CONFIG_MMC_TIFM_SD=m
-CONFIG_MMC_SDRICOH_CS=m
-CONFIG_MMC_CB710=m
-CONFIG_MMC_VIA_SDMMC=m
-CONFIG_MMC_VUB300=m
-CONFIG_MMC_USHC=m
-CONFIG_MEMSTICK=m
-# CONFIG_MEMSTICK_DEBUG is not set
-
-#
-# MemoryStick drivers
-#
-# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
-CONFIG_MSPRO_BLOCK=m
-
-#
-# MemoryStick Host Controller Drivers
-#
-CONFIG_MEMSTICK_TIFM_MS=m
-CONFIG_MEMSTICK_JMICRON_38X=m
-CONFIG_MEMSTICK_R592=m
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-CONFIG_LEDS_LM3530=m
-CONFIG_LEDS_NET5501=m
-CONFIG_LEDS_PCA9532=m
-# CONFIG_LEDS_PCA9532_GPIO is not set
-CONFIG_LEDS_GPIO=m
-CONFIG_LEDS_LP3944=m
-CONFIG_LEDS_LP5521=m
-CONFIG_LEDS_LP5523=m
-CONFIG_LEDS_CLEVO_MAIL=m
-CONFIG_LEDS_PCA955X=m
-CONFIG_LEDS_REGULATOR=m
-CONFIG_LEDS_BD2802=m
-CONFIG_LEDS_INTEL_SS4200=m
-CONFIG_LEDS_LT3593=m
-CONFIG_LEDS_DELL_NETBOOKS=m
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_HEARTBEAT=m
-CONFIG_LEDS_TRIGGER_BACKLIGHT=m
-CONFIG_LEDS_TRIGGER_GPIO=m
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-CONFIG_ACCESSIBILITY=y
-CONFIG_A11Y_BRAILLE_CONSOLE=y
-CONFIG_INFINIBAND=m
-CONFIG_INFINIBAND_USER_MAD=m
-CONFIG_INFINIBAND_USER_ACCESS=m
-CONFIG_INFINIBAND_USER_MEM=y
-CONFIG_INFINIBAND_ADDR_TRANS=y
-CONFIG_INFINIBAND_MTHCA=m
-CONFIG_INFINIBAND_MTHCA_DEBUG=y
-# CONFIG_INFINIBAND_IPATH is not set
-CONFIG_INFINIBAND_QIB=m
-CONFIG_INFINIBAND_AMSO1100=m
-# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
-# CONFIG_INFINIBAND_CXGB3 is not set
-CONFIG_INFINIBAND_CXGB4=m
-CONFIG_MLX4_INFINIBAND=m
-CONFIG_INFINIBAND_NES=m
-# CONFIG_INFINIBAND_NES_DEBUG is not set
-CONFIG_INFINIBAND_IPOIB=m
-# CONFIG_INFINIBAND_IPOIB_CM is not set
-CONFIG_INFINIBAND_IPOIB_DEBUG=y
-# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
-CONFIG_INFINIBAND_SRP=m
-CONFIG_INFINIBAND_ISER=m
-CONFIG_EDAC=y
-
-#
-# Reporting subsystems
-#
-# CONFIG_EDAC_DEBUG is not set
-CONFIG_EDAC_DECODE_MCE=y
-CONFIG_EDAC_MCE_INJ=m
-# CONFIG_EDAC_MM_EDAC is not set
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-CONFIG_RTC_INTF_DEV_UIE_EMUL=y
-CONFIG_RTC_DRV_TEST=m
-
-#
-# I2C RTC drivers
-#
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_DS1374=m
-CONFIG_RTC_DRV_DS1672=m
-CONFIG_RTC_DRV_DS3232=m
-CONFIG_RTC_DRV_MAX6900=m
-CONFIG_RTC_DRV_RS5C372=m
-CONFIG_RTC_DRV_ISL1208=m
-CONFIG_RTC_DRV_ISL12022=m
-CONFIG_RTC_DRV_X1205=m
-CONFIG_RTC_DRV_PCF8563=m
-CONFIG_RTC_DRV_PCF8583=m
-CONFIG_RTC_DRV_M41T80=m
-CONFIG_RTC_DRV_M41T80_WDT=y
-CONFIG_RTC_DRV_BQ32K=m
-CONFIG_RTC_DRV_S35390A=m
-CONFIG_RTC_DRV_FM3130=m
-CONFIG_RTC_DRV_RX8581=m
-CONFIG_RTC_DRV_RX8025=m
-CONFIG_RTC_DRV_EM3027=m
-CONFIG_RTC_DRV_RV3029C2=m
-
-#
-# SPI RTC drivers
-#
-
-#
-# Platform RTC drivers
-#
-CONFIG_RTC_DRV_CMOS=y
-CONFIG_RTC_DRV_DS1286=m
-CONFIG_RTC_DRV_DS1511=m
-CONFIG_RTC_DRV_DS1553=m
-CONFIG_RTC_DRV_DS1742=m
-CONFIG_RTC_DRV_STK17TA8=m
-CONFIG_RTC_DRV_M48T86=m
-CONFIG_RTC_DRV_M48T35=m
-CONFIG_RTC_DRV_M48T59=m
-CONFIG_RTC_DRV_MSM6242=m
-CONFIG_RTC_DRV_BQ4802=m
-CONFIG_RTC_DRV_RP5C01=m
-CONFIG_RTC_DRV_V3020=m
-CONFIG_RTC_DRV_PCF50633=m
-
-#
-# on-CPU RTC drivers
-#
-CONFIG_DMADEVICES=y
-# CONFIG_DMADEVICES_DEBUG is not set
-
-#
-# DMA Devices
-#
-CONFIG_INTEL_MID_DMAC=m
-CONFIG_INTEL_IOATDMA=m
-CONFIG_TIMB_DMA=m
-CONFIG_PCH_DMA=m
-CONFIG_DMA_ENGINE=y
-
-#
-# DMA Clients
-#
-CONFIG_NET_DMA=y
-# CONFIG_ASYNC_TX_DMA is not set
-CONFIG_DMATEST=m
-CONFIG_DCA=m
-CONFIG_AUXDISPLAY=y
-# CONFIG_KS0108 is not set
-CONFIG_UIO=m
-CONFIG_UIO_CIF=m
-CONFIG_UIO_PDRV=m
-CONFIG_UIO_PDRV_GENIRQ=m
-CONFIG_UIO_AEC=m
-CONFIG_UIO_SERCOS3=m
-CONFIG_UIO_PCI_GENERIC=m
-CONFIG_UIO_NETX=m
-CONFIG_VIRTIO=m
-CONFIG_VIRTIO_RING=m
-
-#
-# Virtio drivers
-#
-CONFIG_VIRTIO_PCI=m
-CONFIG_VIRTIO_BALLOON=m
-CONFIG_VIRTIO_MMIO=m
-CONFIG_STAGING=y
-# CONFIG_ET131X is not set
-# CONFIG_SLICOSS is not set
-CONFIG_USBIP_CORE=m
-CONFIG_USBIP_VHCI_HCD=m
-CONFIG_USBIP_HOST=m
-# CONFIG_USBIP_DEBUG is not set
-# CONFIG_W35UND is not set
-# CONFIG_PRISM2_USB is not set
-# CONFIG_ECHO is not set
-# CONFIG_COMEDI is not set
-CONFIG_ASUS_OLED=m
-# CONFIG_PANEL is not set
-CONFIG_R8187SE=m
-CONFIG_RTL8192U=m
-CONFIG_RTL8192E=m
-CONFIG_R8712U=m
-CONFIG_RTS_PSTOR=m
-# CONFIG_RTS_PSTOR_DEBUG is not set
-CONFIG_RTS5139=m
-# CONFIG_RTS5139_DEBUG is not set
-# CONFIG_TRANZPORT is not set
-CONFIG_POHMELFS=m
-# CONFIG_POHMELFS_DEBUG is not set
-CONFIG_IDE_PHISON=m
-CONFIG_LINE6_USB=m
-# CONFIG_LINE6_USB_DEBUG is not set
-# CONFIG_LINE6_USB_DUMP_CTRL is not set
-# CONFIG_LINE6_USB_DUMP_MIDI is not set
-# CONFIG_LINE6_USB_DUMP_PCM is not set
-# CONFIG_LINE6_USB_RAW is not set
-# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
-CONFIG_DRM_NOUVEAU=m
-CONFIG_DRM_NOUVEAU_BACKLIGHT=y
-CONFIG_DRM_NOUVEAU_DEBUG=y
-
-#
-# I2C encoder or helper chips
-#
-CONFIG_DRM_I2C_CH7006=m
-CONFIG_DRM_I2C_SIL164=m
-CONFIG_USB_SERIAL_QUATECH2=m
-CONFIG_USB_SERIAL_QUATECH_USB2=m
-CONFIG_VT6655=m
-CONFIG_VT6656=m
-CONFIG_HYPERV_STORAGE=m
-CONFIG_HYPERV_NET=m
-CONFIG_HYPERV_MOUSE=m
-# CONFIG_VME_BUS is not set
-CONFIG_DX_SEP=m
-# CONFIG_IIO is not set
-CONFIG_XVMALLOC=y
-CONFIG_ZRAM=m
-# CONFIG_ZRAM_DEBUG is not set
-CONFIG_WLAGS49_H2=m
-CONFIG_WLAGS49_H25=m
-CONFIG_FB_SM7XX=m
-CONFIG_CRYSTALHD=m
-# CONFIG_CXT1E1 is not set
-CONFIG_FB_XGI=m
-CONFIG_ACPI_QUICKSTART=m
-CONFIG_SBE_2T3E3=m
-CONFIG_USB_ENESTORAGE=m
-CONFIG_BCM_WIMAX=m
-# CONFIG_FT1000 is not set
-
-#
-# Speakup console speech
-#
-CONFIG_SPEAKUP=y
-CONFIG_SPEAKUP_SYNTH_ACNTSA=y
-CONFIG_SPEAKUP_SYNTH_ACNTPC=y
-CONFIG_SPEAKUP_SYNTH_APOLLO=y
-CONFIG_SPEAKUP_SYNTH_AUDPTR=y
-CONFIG_SPEAKUP_SYNTH_BNS=y
-CONFIG_SPEAKUP_SYNTH_DECTLK=y
-CONFIG_SPEAKUP_SYNTH_DECEXT=y
-CONFIG_SPEAKUP_SYNTH_DECPC=m
-CONFIG_SPEAKUP_SYNTH_DTLK=y
-CONFIG_SPEAKUP_SYNTH_KEYPC=y
-CONFIG_SPEAKUP_SYNTH_LTLK=y
-CONFIG_SPEAKUP_SYNTH_SOFT=y
-CONFIG_SPEAKUP_SYNTH_SPKOUT=y
-CONFIG_SPEAKUP_SYNTH_TXPRT=y
-CONFIG_SPEAKUP_SYNTH_DUMMY=y
-CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
-CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
-CONFIG_DRM_PSB=m
-CONFIG_DRM_PSB_MRST=y
-CONFIG_DRM_PSB_MFLD=y
-CONFIG_DRM_PSB_CDV=y
-CONFIG_INTEL_MEI=m
-CONFIG_STAGING_MEDIA=y
-CONFIG_DVB_AS102=m
-CONFIG_DVB_CXD2099=m
-CONFIG_VIDEO_DT3155=m
-CONFIG_DT3155_CCIR=y
-CONFIG_DT3155_STREAMING=y
-CONFIG_EASYCAP=m
-# CONFIG_EASYCAP_DEBUG is not set
-# CONFIG_VIDEO_GO7007 is not set
-CONFIG_SOLO6X10=m
-CONFIG_LIRC_STAGING=y
-CONFIG_LIRC_BT829=m
-CONFIG_LIRC_IGORPLUGUSB=m
-CONFIG_LIRC_IMON=m
-CONFIG_LIRC_PARALLEL=m
-CONFIG_LIRC_SASEM=m
-CONFIG_LIRC_SERIAL=m
-CONFIG_LIRC_SERIAL_TRANSMITTER=y
-CONFIG_LIRC_SIR=m
-CONFIG_LIRC_TTUSBIR=m
-CONFIG_LIRC_ZILOG=m
-CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_ACER_WMI=m
-CONFIG_ACERHDF=m
-CONFIG_ASUS_LAPTOP=m
-CONFIG_DELL_LAPTOP=m
-CONFIG_DELL_WMI=m
-CONFIG_DELL_WMI_AIO=m
-CONFIG_FUJITSU_LAPTOP=m
-# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
-CONFIG_HP_ACCEL=m
-CONFIG_HP_WMI=m
-CONFIG_MSI_LAPTOP=m
-CONFIG_PANASONIC_LAPTOP=m
-CONFIG_COMPAL_LAPTOP=m
-CONFIG_SONY_LAPTOP=m
-CONFIG_SONYPI_COMPAT=y
-CONFIG_IDEAPAD_LAPTOP=m
-CONFIG_THINKPAD_ACPI=m
-CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
-# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
-# CONFIG_THINKPAD_ACPI_DEBUG is not set
-# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
-CONFIG_THINKPAD_ACPI_VIDEO=y
-CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
-CONFIG_SENSORS_HDAPS=m
-CONFIG_INTEL_MENLOW=m
-CONFIG_EEEPC_LAPTOP=m
-CONFIG_ASUS_WMI=m
-CONFIG_ASUS_NB_WMI=m
-CONFIG_EEEPC_WMI=m
-CONFIG_ACPI_WMI=m
-CONFIG_MSI_WMI=m
-CONFIG_ACPI_ASUS=m
-CONFIG_TOPSTAR_LAPTOP=m
-CONFIG_ACPI_TOSHIBA=m
-CONFIG_TOSHIBA_BT_RFKILL=m
-CONFIG_ACPI_CMPC=m
-CONFIG_INTEL_IPS=m
-CONFIG_IBM_RTL=m
-CONFIG_XO15_EBOOK=m
-CONFIG_SAMSUNG_LAPTOP=m
-CONFIG_MXM_WMI=m
-CONFIG_INTEL_OAKTRAIL=m
-CONFIG_SAMSUNG_Q10=m
-
-#
-# Hardware Spinlock drivers
-#
-CONFIG_CLKEVT_I8253=y
-CONFIG_I8253_LOCK=y
-CONFIG_CLKBLD_I8253=y
-CONFIG_IOMMU_API=y
-CONFIG_IOMMU_SUPPORT=y
-# CONFIG_AMD_IOMMU is not set
-CONFIG_DMAR_TABLE=y
-CONFIG_INTEL_IOMMU=y
-# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
-CONFIG_INTEL_IOMMU_FLOPPY_WA=y
-CONFIG_IRQ_REMAP=y
-CONFIG_VIRT_DRIVERS=y
-CONFIG_HYPERV=m
-CONFIG_HYPERV_UTILS=m
-CONFIG_PM_DEVFREQ=y
-
-#
-# DEVFREQ Governors
-#
-CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
-CONFIG_DEVFREQ_GOV_PERFORMANCE=y
-CONFIG_DEVFREQ_GOV_POWERSAVE=y
-CONFIG_DEVFREQ_GOV_USERSPACE=y
-
-#
-# DEVFREQ Drivers
-#
-
-#
-# Firmware Drivers
-#
-CONFIG_EDD=m
-CONFIG_EDD_OFF=y
-CONFIG_FIRMWARE_MEMMAP=y
-CONFIG_EFI_VARS=m
-CONFIG_DELL_RBU=m
-CONFIG_DCDBAS=m
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=m
-CONFIG_ISCSI_IBFT_FIND=y
-CONFIG_ISCSI_IBFT=m
-CONFIG_SIGMA=m
-# CONFIG_GOOGLE_FIRMWARE is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
-CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
-CONFIG_EXT3_FS_XATTR=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_EXT4_FS=y
-CONFIG_EXT4_FS_XATTR=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
-CONFIG_JBD2=y
-# CONFIG_JBD2_DEBUG is not set
-CONFIG_FS_MBCACHE=y
-CONFIG_REISERFS_FS=y
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-CONFIG_REISERFS_FS_XATTR=y
-CONFIG_REISERFS_FS_POSIX_ACL=y
-CONFIG_REISERFS_FS_SECURITY=y
-CONFIG_JFS_FS=y
-CONFIG_JFS_POSIX_ACL=y
-CONFIG_JFS_SECURITY=y
-# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
-CONFIG_XFS_FS=y
-CONFIG_XFS_QUOTA=y
-CONFIG_XFS_POSIX_ACL=y
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_DEBUG is not set
-CONFIG_GFS2_FS=y
-CONFIG_GFS2_FS_LOCKING_DLM=y
-CONFIG_OCFS2_FS=y
-CONFIG_OCFS2_FS_O2CB=y
-CONFIG_OCFS2_FS_USERSPACE_CLUSTER=y
-# CONFIG_OCFS2_FS_STATS is not set
-CONFIG_OCFS2_DEBUG_MASKLOG=y
-# CONFIG_OCFS2_DEBUG_FS is not set
-CONFIG_BTRFS_FS=y
-CONFIG_BTRFS_FS_POSIX_ACL=y
-CONFIG_NILFS2_FS=m
-CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=y
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_FANOTIFY=y
-# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
-CONFIG_QUOTA=y
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
-# CONFIG_QUOTA_DEBUG is not set
-CONFIG_QUOTA_TREE=y
-CONFIG_QFMT_V1=m
-CONFIG_QFMT_V2=y
-CONFIG_QUOTACTL=y
-CONFIG_QUOTACTL_COMPAT=y
-CONFIG_AUTOFS4_FS=m
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-CONFIG_FSCACHE=m
-# CONFIG_FSCACHE_STATS is not set
-# CONFIG_FSCACHE_HISTOGRAM is not set
-# CONFIG_FSCACHE_DEBUG is not set
-# CONFIG_FSCACHE_OBJECT_LIST is not set
-CONFIG_CACHEFILES=m
-# CONFIG_CACHEFILES_DEBUG is not set
-# CONFIG_CACHEFILES_HISTOGRAM is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=y
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=y
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-CONFIG_NTFS_FS=y
-# CONFIG_NTFS_DEBUG is not set
-CONFIG_NTFS_RW=y
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_TMPFS_XATTR=y
-# CONFIG_HUGETLBFS is not set
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_CONFIGFS_FS=y
-CONFIG_MISC_FILESYSTEMS=y
-CONFIG_ADFS_FS=m
-# CONFIG_ADFS_FS_RW is not set
-CONFIG_AFFS_FS=m
-CONFIG_ECRYPT_FS=m
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-CONFIG_BEFS_FS=m
-# CONFIG_BEFS_DEBUG is not set
-CONFIG_BFS_FS=m
-CONFIG_EFS_FS=m
-CONFIG_JFFS2_FS=m
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-# CONFIG_JFFS2_SUMMARY is not set
-# CONFIG_JFFS2_FS_XATTR is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-# CONFIG_JFFS2_LZO is not set
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-CONFIG_UBIFS_FS=m
-CONFIG_UBIFS_FS_XATTR=y
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-CONFIG_LOGFS=m
-CONFIG_CRAMFS=m
-CONFIG_SQUASHFS=m
-CONFIG_SQUASHFS_XATTR=y
-CONFIG_SQUASHFS_ZLIB=y
-CONFIG_SQUASHFS_LZO=y
-CONFIG_SQUASHFS_XZ=y
-# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
-CONFIG_SQUASHFS_EMBEDDED=y
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
-CONFIG_VXFS_FS=m
-CONFIG_MINIX_FS=m
-CONFIG_OMFS_FS=m
-CONFIG_HPFS_FS=m
-CONFIG_QNX4FS_FS=m
-CONFIG_ROMFS_FS=y
-CONFIG_ROMFS_BACKED_BY_BLOCK=y
-CONFIG_ROMFS_ON_BLOCK=y
-CONFIG_PSTORE=y
-CONFIG_SYSV_FS=m
-CONFIG_UFS_FS=m
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_UFS_DEBUG is not set
-CONFIG_EXOFS_FS=m
-# CONFIG_EXOFS_DEBUG is not set
-CONFIG_ORE=m
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-CONFIG_NFS_V4=y
-# CONFIG_NFS_V4_1 is not set
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
-CONFIG_NFSD=y
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-CONFIG_NFSD_V4=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-CONFIG_SUNRPC_XPRT_RDMA=m
-CONFIG_RPCSEC_GSS_KRB5=m
-CONFIG_CEPH_FS=m
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-CONFIG_CIFS_WEAK_PW_HASH=y
-# CONFIG_CIFS_UPCALL is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_DFS_UPCALL is not set
-CONFIG_CIFS_FSCACHE=y
-CONFIG_NCP_FS=m
-CONFIG_NCPFS_PACKET_SIGNING=y
-CONFIG_NCPFS_IOCTL_LOCKING=y
-CONFIG_NCPFS_STRONG=y
-CONFIG_NCPFS_NFS_NS=y
-CONFIG_NCPFS_OS2_NS=y
-CONFIG_NCPFS_SMALLDOS=y
-CONFIG_NCPFS_NLS=y
-CONFIG_NCPFS_EXTRAS=y
-CONFIG_CODA_FS=m
-CONFIG_AFS_FS=m
-# CONFIG_AFS_DEBUG is not set
-# CONFIG_AFS_FSCACHE is not set
-CONFIG_9P_FS=m
-# CONFIG_9P_FSCACHE is not set
-# CONFIG_9P_FS_POSIX_ACL is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-CONFIG_OSF_PARTITION=y
-CONFIG_AMIGA_PARTITION=y
-# CONFIG_ATARI_PARTITION is not set
-CONFIG_MAC_PARTITION=y
-CONFIG_MSDOS_PARTITION=y
-CONFIG_BSD_DISKLABEL=y
-CONFIG_MINIX_SUBPARTITION=y
-CONFIG_SOLARIS_X86_PARTITION=y
-CONFIG_UNIXWARE_DISKLABEL=y
-# CONFIG_LDM_PARTITION is not set
-CONFIG_SGI_PARTITION=y
-# CONFIG_ULTRIX_PARTITION is not set
-CONFIG_SUN_PARTITION=y
-CONFIG_KARMA_PARTITION=y
-CONFIG_EFI_PARTITION=y
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=y
-CONFIG_DLM=y
-# CONFIG_DLM_DEBUG is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_PRINTK_TIME=y
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-CONFIG_ENABLE_WARN_DEPRECATED=y
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_FRAME_WARN=0
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_STRIP_ASM_SYMS=y
-CONFIG_UNUSED_SYMBOLS=y
-CONFIG_DEBUG_FS=y
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
-# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
-CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
-CONFIG_SCHED_DEBUG=y
-# CONFIG_SCHEDSTATS is not set
-CONFIG_TIMER_STATS=y
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SLUB_STATS is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-CONFIG_STACKTRACE=y
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_KOBJECT is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_VIRTUAL is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-CONFIG_DEBUG_MEMORY_INIT=y
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-CONFIG_FRAME_POINTER=y
-# CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
-# CONFIG_LKDTM is not set
-CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_USER_STACKTRACE_SUPPORT=y
-CONFIG_NOP_TRACER=y
-CONFIG_HAVE_FTRACE_NMI_ENTER=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_RING_BUFFER=y
-CONFIG_FTRACE_NMI_ENTER=y
-CONFIG_EVENT_TRACING=y
-CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
-CONFIG_CONTEXT_SWITCH_TRACER=y
-CONFIG_RING_BUFFER_ALLOW_SWAP=y
-CONFIG_TRACING=y
-CONFIG_GENERIC_TRACER=y
-CONFIG_TRACING_SUPPORT=y
-CONFIG_FTRACE=y
-CONFIG_FUNCTION_TRACER=y
-CONFIG_FUNCTION_GRAPH_TRACER=y
-# CONFIG_IRQSOFF_TRACER is not set
-# CONFIG_SCHED_TRACER is not set
-# CONFIG_FTRACE_SYSCALLS is not set
-CONFIG_BRANCH_PROFILE_NONE=y
-# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-# CONFIG_PROFILE_ALL_BRANCHES is not set
-# CONFIG_STACK_TRACER is not set
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_DYNAMIC_FTRACE=y
-# CONFIG_FUNCTION_PROFILER is not set
-CONFIG_FTRACE_MCOUNT_RECORD=y
-# CONFIG_FTRACE_STARTUP_TEST is not set
-# CONFIG_MMIOTRACE is not set
-CONFIG_RING_BUFFER_BENCHMARK=m
-# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_DMA_API_DEBUG is not set
-CONFIG_ATOMIC64_SELFTEST=y
-CONFIG_ASYNC_RAID6_TEST=m
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-CONFIG_HAVE_ARCH_KMEMCHECK=y
-# CONFIG_TEST_KSTRTOX is not set
-CONFIG_STRICT_DEVMEM=y
-CONFIG_X86_VERBOSE_BOOTUP=y
-CONFIG_EARLY_PRINTK=y
-# CONFIG_EARLY_PRINTK_DBGP is not set
-# CONFIG_DEBUG_STACKOVERFLOW is not set
-# CONFIG_X86_PTDUMP is not set
-CONFIG_DEBUG_RODATA=y
-CONFIG_DEBUG_RODATA_TEST=y
-# CONFIG_DEBUG_SET_MODULE_RONX is not set
-# CONFIG_DEBUG_NX_TEST is not set
-# CONFIG_IOMMU_DEBUG is not set
-# CONFIG_IOMMU_STRESS is not set
-CONFIG_HAVE_MMIOTRACE_SUPPORT=y
-CONFIG_IO_DELAY_TYPE_0X80=0
-CONFIG_IO_DELAY_TYPE_0XED=1
-CONFIG_IO_DELAY_TYPE_UDELAY=2
-CONFIG_IO_DELAY_TYPE_NONE=3
-CONFIG_IO_DELAY_0X80=y
-# CONFIG_IO_DELAY_0XED is not set
-# CONFIG_IO_DELAY_UDELAY is not set
-# CONFIG_IO_DELAY_NONE is not set
-CONFIG_DEFAULT_IO_DELAY_TYPE=0
-# CONFIG_DEBUG_BOOT_PARAMS is not set
-# CONFIG_CPA_DEBUG is not set
-CONFIG_OPTIMIZE_INLINING=y
-# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-CONFIG_TRUSTED_KEYS=m
-CONFIG_ENCRYPTED_KEYS=m
-CONFIG_KEYS_DEBUG_PROC_KEYS=y
-CONFIG_SECURITY_DMESG_RESTRICT=y
-CONFIG_SECURITY=y
-CONFIG_SECURITYFS=y
-CONFIG_SECURITY_NETWORK=y
-CONFIG_SECURITY_NETWORK_XFRM=y
-# CONFIG_SECURITY_PATH is not set
-# CONFIG_INTEL_TXT is not set
-# CONFIG_SECURITY_SELINUX is not set
-# CONFIG_SECURITY_TOMOYO is not set
-# CONFIG_SECURITY_APPARMOR is not set
-# CONFIG_IMA is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_XOR_BLOCKS=y
-CONFIG_ASYNC_CORE=y
-CONFIG_ASYNC_MEMCPY=y
-CONFIG_ASYNC_XOR=y
-CONFIG_ASYNC_PQ=y
-CONFIG_ASYNC_RAID6_RECOV=y
-CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
-CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=y
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG=y
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_PCOMP=m
-CONFIG_CRYPTO_PCOMP2=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_USER=m
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-CONFIG_CRYPTO_GF128MUL=y
-CONFIG_CRYPTO_NULL=y
-CONFIG_CRYPTO_PCRYPT=m
-CONFIG_CRYPTO_WORKQUEUE=y
-CONFIG_CRYPTO_CRYPTD=y
-CONFIG_CRYPTO_AUTHENC=y
-CONFIG_CRYPTO_TEST=m
-
-#
-# Authenticated Encryption with Associated Data
-#
-CONFIG_CRYPTO_CCM=y
-CONFIG_CRYPTO_GCM=y
-CONFIG_CRYPTO_SEQIV=y
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_CTR=y
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_LRW=y
-CONFIG_CRYPTO_PCBC=y
-CONFIG_CRYPTO_XTS=y
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_VMAC=m
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_CRC32C_INTEL=m
-CONFIG_CRYPTO_GHASH=y
-CONFIG_CRYPTO_MD4=y
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=y
-CONFIG_CRYPTO_RMD128=m
-CONFIG_CRYPTO_RMD160=y
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
-CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA1_SSSE3=m
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_SHA512=y
-CONFIG_CRYPTO_TGR192=y
-CONFIG_CRYPTO_WP512=y
-CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_AES_X86_64=y
-CONFIG_CRYPTO_AES_NI_INTEL=y
-CONFIG_CRYPTO_ANUBIS=y
-CONFIG_CRYPTO_ARC4=y
-CONFIG_CRYPTO_BLOWFISH=y
-CONFIG_CRYPTO_BLOWFISH_COMMON=y
-CONFIG_CRYPTO_BLOWFISH_X86_64=m
-CONFIG_CRYPTO_CAMELLIA=y
-CONFIG_CRYPTO_CAST5=y
-CONFIG_CRYPTO_CAST6=y
-CONFIG_CRYPTO_DES=y
-CONFIG_CRYPTO_FCRYPT=y
-CONFIG_CRYPTO_KHAZAD=y
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SALSA20_X86_64=m
-CONFIG_CRYPTO_SEED=y
-CONFIG_CRYPTO_SERPENT=y
-CONFIG_CRYPTO_TEA=y
-CONFIG_CRYPTO_TWOFISH=y
-CONFIG_CRYPTO_TWOFISH_COMMON=y
-CONFIG_CRYPTO_TWOFISH_X86_64=y
-CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
-
-#
-# Compression
-#
-CONFIG_CRYPTO_DEFLATE=y
-CONFIG_CRYPTO_ZLIB=m
-CONFIG_CRYPTO_LZO=m
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_USER_API=m
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_DEV_PADLOCK=m
-CONFIG_CRYPTO_DEV_PADLOCK_AES=m
-CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
-CONFIG_HAVE_KVM=y
-CONFIG_HAVE_KVM_IRQCHIP=y
-CONFIG_HAVE_KVM_EVENTFD=y
-CONFIG_KVM_APIC_ARCHITECTURE=y
-CONFIG_KVM_MMIO=y
-CONFIG_KVM_ASYNC_PF=y
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=m
-CONFIG_KVM_INTEL=m
-CONFIG_KVM_AMD=m
-CONFIG_KVM_MMU_AUDIT=y
-CONFIG_VHOST_NET=m
-CONFIG_BINARY_PRINTF=y
-
-#
-# Library routines
-#
-CONFIG_RAID6_PQ=y
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
-CONFIG_CRC_CCITT=m
-CONFIG_CRC16=y
-CONFIG_CRC_T10DIF=m
-CONFIG_CRC_ITU_T=y
-CONFIG_CRC32=y
-CONFIG_CRC7=m
-CONFIG_LIBCRC32C=y
-CONFIG_CRC8=m
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_XZ_DEC=y
-CONFIG_XZ_DEC_X86=y
-CONFIG_XZ_DEC_POWERPC=y
-CONFIG_XZ_DEC_IA64=y
-CONFIG_XZ_DEC_ARM=y
-CONFIG_XZ_DEC_ARMTHUMB=y
-CONFIG_XZ_DEC_SPARC=y
-CONFIG_XZ_DEC_BCJ=y
-# CONFIG_XZ_DEC_TEST is not set
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_XZ=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_GENERIC_ALLOCATOR=y
-CONFIG_REED_SOLOMON=m
-CONFIG_REED_SOLOMON_DEC16=y
-CONFIG_BCH=m
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_BTREE=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_CHECK_SIGNATURE=y
-CONFIG_CPU_RMAP=y
-CONFIG_NLATTR=y
-CONFIG_LRU_CACHE=m
-CONFIG_AVERAGE=y
-CONFIG_CORDIC=m
diff --git a/source/k/linux-3.10.17.tar.sign b/source/k/linux-3.10.17.tar.sign
new file mode 100644
index 000000000..e07f207af
--- /dev/null
+++ b/source/k/linux-3.10.17.tar.sign
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.22 (GNU/Linux)
+
+iQIcBAABAgAGBQJSYXOOAAoJEDjbvchgkmk+NcwQAKlVE79cnWVyct13/6SZuOEP
+X/N/UIImLJwdzsEOT5ILkn/z7vRiwOQnmmM9jPnmxEH1l2wMiHxA4nvjMrqn703r
+Fr6VN8YKfbQuS0ZnSNSOc9ddDJuwCXjdUsNSMQC5HRkM/StBY19Q4m7zPxxj+IPP
+GBs6Tyrl1hgG6atlgZ9GTyGQLXZeSFHJwrLJvTfahPCLP0H1x1CpLtaulbSQhRV/
+WyGmBXUKm7hWCAA1mXJBBcvBB5LZRDQRmxnnfljnVMNBlcSkpnRnENDwKPUfHjiL
+uVVe5rvKjN9vU3LiDGCFYsjljtc8M84S54NMl9s7LJtR8ghpVm3V/pMlO4PkmizC
+MqAoLyV9YBR69c8QQIyhX7XbCjve/awLnjEnaryywCeB7hnfaTtKBaxReJ0C7lM+
+6ELieTP37hLLJaL3UNVC0RVpKHfSUpZJbwWtcoxIGYHvA+8R+lKZhC+2wI5NiawH
+jc7WZI/0AZYJAuyknk5z1gvWA6nV79Tfic0WyVksZBtG4GDeuOa90tUC26oumTlj
+zHPf8b3uq8y3nEEP4+has/yNXPiNKvDNN+K/9l6xDn0Q680ZVLDncZuR2fPi/EF1
+ILEH6c6XAIhX9nWLfeWdbD0+brUS7eIR0uzIhE+Ru0QWVOVOxK27WpUsYmYH3TiO
+FdVyGMeiiM77pSV0pWJo
+=ZyxN
+-----END PGP SIGNATURE-----
diff --git a/source/k/linux-3.2.29.tar.sign b/source/k/linux-3.2.29.tar.sign
deleted file mode 100644
index 7a5d9861a..000000000
--- a/source/k/linux-3.2.29.tar.sign
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.19 (GNU/Linux)
-
-iQIcBAABAgAGBQJQUBu6AAoJEDjbvchgkmk+Pp4P/2Tx9jVVr9oWcRgnYXW5WV42
-cdIKE79w7+R4Hh3PyFDzJb+1ph/CjJEW1ocfk87kkEuCHazAVALUKgOB7jJ039KI
-0cCbvkrY0f5TOqB5/utHQRQiO89DlY2NmdKX8ysValvRoEhBu6pgwEneDxM7QCkg
-NTtwLk73tl/duh8mk+X71FMlTXZLlb6ExV6ENHCbHbH9QgQzWIn/55sMVjppWzUt
-4t8BNj5IM/WJfIRAfh22V6urx5Iy0x62gzdvY7GeaDtmIbh/VAMU4kD22zgYksHR
-KB58alwlNlT8VlPVuXTs/Lv3ylhXf0mwhEdK0WnC+Msd8BMxWQqDTypf8SnbdVuj
-+rIOQDSZ/1SKynDrU2IGeQiMyRTfX/XNAu/WF+bIP5394A0gewejCpjm/+CXNkUj
-zIZaxdA59wm//76nYYQu4BckQe9oXi9TjOYocddZDpZB1A/5WmETTmlrGP6xbuu3
-q0Bb3XEZrFxQtPMLZ84hfKzVNZpD0AwrgdmcuiADQ5dbdzy7wgpqoebAKeAY9l2u
-zrSjX6t6brLE0DBMfVfdCW8S13rLletrd5e7I62kVG3dSuXwNE8CkZaVnGJrbp+T
-V/agjqx1cQzTDn5wei3dcsPY669a1jn1KHJoY0qow+qNEfaAo6fGPPnTX86FCg0a
-HNosOTufXwJfXU9G0YcL
-=dVDz
------END PGP SIGNATURE-----
diff --git a/source/k/packaging-x86/kernel-generic-smp/kernel-generic-smp.SlackBuild b/source/k/packaging-x86/kernel-generic-smp/kernel-generic-smp.SlackBuild
index a5ad06ce7..c4edc0524 100755
--- a/source/k/packaging-x86/kernel-generic-smp/kernel-generic-smp.SlackBuild
+++ b/source/k/packaging-x86/kernel-generic-smp/kernel-generic-smp.SlackBuild
@@ -6,7 +6,7 @@ PKG=/tmp/package-kernel
# Fill this stuff in:
KERNNAME=generic-smp
-VERSION=${VERSION:-3.2.29}
+VERSION=${VERSION:-3.10.17}
ARCH=${ARCH:-i686}
BUILD=${BUILD:-1}
@@ -47,15 +47,13 @@ fi
cat << EOF
Building kernel-$KERNNAME-${VERSION}_smp-$ARCH-$BUILD.txz
-using these source files. Please check and then hit
-enter to make the package.
+using these source files:
KERNEL = $KERNEL
SYSMAP = $SYSMAP
CONFIG = $CONFIG
EOF
-read junk;
rm -rf $PKG
mkdir -p $PKG
diff --git a/source/k/packaging-x86/kernel-generic/kernel-generic.SlackBuild b/source/k/packaging-x86/kernel-generic/kernel-generic.SlackBuild
index 95bf957f1..0c8f8ea41 100755
--- a/source/k/packaging-x86/kernel-generic/kernel-generic.SlackBuild
+++ b/source/k/packaging-x86/kernel-generic/kernel-generic.SlackBuild
@@ -5,7 +5,7 @@ PKG=/tmp/package-kernel
# Fill this stuff in:
KERNNAME=generic
-VERSION=${VERSION:-3.2.29}
+VERSION=${VERSION:-3.10.17}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
@@ -46,15 +46,13 @@ fi
cat << EOF
Building kernel-$KERNNAME-${VERSION}-$ARCH-$BUILD.txz
-using these source files. Please check and then hit
-enter to make the package.
+using these source files:
KERNEL = $KERNEL
SYSMAP = $SYSMAP
CONFIG = $CONFIG
EOF
-read junk;
rm -rf $PKG
mkdir -p $PKG
diff --git a/source/k/packaging-x86/kernel-huge-smp/kernel-huge-smp.SlackBuild b/source/k/packaging-x86/kernel-huge-smp/kernel-huge-smp.SlackBuild
index 61e53bcf2..657c06e3e 100755
--- a/source/k/packaging-x86/kernel-huge-smp/kernel-huge-smp.SlackBuild
+++ b/source/k/packaging-x86/kernel-huge-smp/kernel-huge-smp.SlackBuild
@@ -6,7 +6,7 @@ PKG=/tmp/package-kernel
# Fill this stuff in:
KERNNAME=huge-smp
-VERSION=${VERSION:-3.2.29}
+VERSION=${VERSION:-3.10.17}
ARCH=${ARCH:-i686}
BUILD=${BUILD:-1}
@@ -47,15 +47,13 @@ fi
cat << EOF
Building kernel-$KERNNAME-${VERSION}_smp-$ARCH-$BUILD.txz
-using these source files. Please check and then hit
-enter to make the package.
+using these source files:
KERNEL = $KERNEL
SYSMAP = $SYSMAP
CONFIG = $CONFIG
EOF
-read junk;
rm -rf $PKG
mkdir -p $PKG
diff --git a/source/k/packaging-x86/kernel-huge/kernel-huge.SlackBuild b/source/k/packaging-x86/kernel-huge/kernel-huge.SlackBuild
index cd274ee74..375c8f448 100755
--- a/source/k/packaging-x86/kernel-huge/kernel-huge.SlackBuild
+++ b/source/k/packaging-x86/kernel-huge/kernel-huge.SlackBuild
@@ -6,7 +6,7 @@ PKG=/tmp/package-kernel
# Fill this stuff in:
KERNNAME=huge
-VERSION=${VERSION:-3.2.29}
+VERSION=${VERSION:-3.10.17}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
@@ -47,15 +47,13 @@ fi
cat << EOF
Building kernel-$KERNNAME-${VERSION}-$ARCH-$BUILD.txz
-using these source files. Please check and then hit
-enter to make the package.
+using these source files:
KERNEL = $KERNEL
SYSMAP = $SYSMAP
CONFIG = $CONFIG
EOF
-read junk;
rm -rf $PKG
mkdir -p $PKG
diff --git a/source/k/packaging-x86/kernel-modules-smp/kernel-modules-smp.SlackBuild b/source/k/packaging-x86/kernel-modules-smp/kernel-modules-smp.SlackBuild
index c6058d67a..0aa224420 100755
--- a/source/k/packaging-x86/kernel-modules-smp/kernel-modules-smp.SlackBuild
+++ b/source/k/packaging-x86/kernel-modules-smp/kernel-modules-smp.SlackBuild
@@ -3,7 +3,7 @@ CWD=`pwd`
TMP=${TMP:-/tmp}
PKG=$TMP/package-kernel-modules-smp
-VERSION=${VERSION:-3.2.29}
+VERSION=${VERSION:-3.10.17}
ARCH=${ARCH:-i686}
BUILD=${BUILD:-1}
diff --git a/source/k/packaging-x86/kernel-modules/kernel-modules.SlackBuild b/source/k/packaging-x86/kernel-modules/kernel-modules.SlackBuild
index 5601b28fe..5975e2c81 100755
--- a/source/k/packaging-x86/kernel-modules/kernel-modules.SlackBuild
+++ b/source/k/packaging-x86/kernel-modules/kernel-modules.SlackBuild
@@ -3,7 +3,7 @@ CWD=`pwd`
TMP=${TMP:-/tmp}
PKG=$TMP/package-kernel-modules
-VERSION=${VERSION:-3.2.29}
+VERSION=${VERSION:-3.10.17}
ARCH=${ARCH:-i686}
BUILD=${BUILD:-1}
diff --git a/source/k/packaging-x86_64/kernel-generic/kernel-generic.SlackBuild b/source/k/packaging-x86_64/kernel-generic/kernel-generic.SlackBuild
index 88afa3c5b..458c000d3 100755
--- a/source/k/packaging-x86_64/kernel-generic/kernel-generic.SlackBuild
+++ b/source/k/packaging-x86_64/kernel-generic/kernel-generic.SlackBuild
@@ -22,7 +22,7 @@
KERNNAME=generic
-VERSION=${VERSION:-3.2.29}
+VERSION=${VERSION:-3.10.17}
ARCH=${ARCH:-x86_64}
KARCH=${KARCH:-x86}
BUILD=${BUILD:-1}
@@ -71,15 +71,13 @@ fi
cat << EOF
Building kernel-$KERNNAME-${VERSION}-$ARCH-$BUILD.txz
-using these source files. Please check and then hit
-enter to make the package.
+using these source files:
KERNEL = $KERNEL
SYSMAP = $SYSMAP
CONFIG = $CONFIG
EOF
-read junk;
rm -rf $PKG
mkdir -p $PKG
diff --git a/source/k/packaging-x86_64/kernel-huge/kernel-huge.SlackBuild b/source/k/packaging-x86_64/kernel-huge/kernel-huge.SlackBuild
index 6ff23395a..7ad260d46 100755
--- a/source/k/packaging-x86_64/kernel-huge/kernel-huge.SlackBuild
+++ b/source/k/packaging-x86_64/kernel-huge/kernel-huge.SlackBuild
@@ -22,7 +22,7 @@
KERNNAME=huge
-VERSION=${VERSION:-3.2.29}
+VERSION=${VERSION:-3.10.17}
ARCH=${ARCH:-x86_64}
KARCH=${KARCH:-x86}
BUILD=${BUILD:-1}
@@ -71,15 +71,13 @@ fi
cat << EOF
Building kernel-$KERNNAME-${VERSION}-$ARCH-$BUILD.txz
-using these source files. Please check and then hit
-enter to make the package.
+using these source files:
KERNEL = $KERNEL
SYSMAP = $SYSMAP
CONFIG = $CONFIG
EOF
-read junk;
rm -rf $PKG
mkdir -p $PKG
diff --git a/source/k/packaging-x86_64/kernel-modules/kernel-modules.SlackBuild b/source/k/packaging-x86_64/kernel-modules/kernel-modules.SlackBuild
index 94264ff01..24642b7b3 100755
--- a/source/k/packaging-x86_64/kernel-modules/kernel-modules.SlackBuild
+++ b/source/k/packaging-x86_64/kernel-modules/kernel-modules.SlackBuild
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-3.2.29}
+VERSION=${VERSION:-3.10.17}
ARCH=${ARCH:-x86_64}
BUILD=${BUILD:-1}
diff --git a/source/kde/KDE.SlackBuild b/source/kde/KDE.SlackBuild
index 7d40f165b..5af89d457 100755
--- a/source/kde/KDE.SlackBuild
+++ b/source/kde/KDE.SlackBuild
@@ -245,6 +245,8 @@ build_mod_pkg () {
# Run cmake, using custom cmake script if needed:
if [ -r $CWD/cmake/${PKGNAME} ]; then
. $CWD/cmake/${PKGNAME}
+ elif [ -r $CWD/cmake/${kde_module} ]; then
+ . $CWD/cmake/${kde_module}
else
# This is the default configure script:
. $CWD/cmake/cmake
@@ -328,13 +330,54 @@ build_mod_pkg () {
done
- # Nothing here? Must have been fully modular. :-)
+ # At this point, we have left the loop to build modular packages.
+ # We might need to build a package for the "<kde_module>", but to
+ # avoid needlessly repacking if there happens to be a package with
+ # the same name as "<kde_module>", we'll do some checks first.
+
+ # If every package listed in modules/"<kde_module>" is also listed
+ # in the modularize file, then there's no need to make a package
+ # for "<kde_module>":
+ echo
+ echo "Searching for packages in ${kde_module} that were not built modular:"
+ cat $CWD/modules/${kde_module} | grep -v "^#" | grep -v -w "^" | while read checkpackage ; do
+ if ! grep -wq "^$checkpackage" ${CWD}/modularize ; then
+ # Non-modular package found, so we'll have to build the package below.
+ # It might already have been built once, but in that case it is likely
+ # that more things have been added to the package directory since then.
+ echo "Found non-modular package $checkpackage."
+ exit 99
+ fi
+ done
+
+ # Exit if everything in "<kde_module>" was built modular:
+ if [ ! $? = 99 ]; then
+ echo "No non-modular components found in ${kde_module}."
+ echo "Not building catch-all package for ${kde_module}."
+ echo
+ return
+ fi
+
+ # If there's no /usr directory in the "<kde_module>" package directory,
+ # then skip it. There's nothing present worth packing up.
if [ ! -d ${SLACK_KDE_BUILD_DIR}/${kde_module}/package-${kde_module}/usr ]; then
+ echo "No /usr directory found in package-${kde_module}."
+ echo "Not building catch-all package for ${kde_module}."
+ echo
return
fi
# Build a "<kde_module>" package for anything that wasn't built modular:
# It's safer to consider these to have binaries in them. ;-)
+
+ # Put up a bit of a black-box warning, in case this was a mistake where
+ # something was meant to be listed in the modularize file and wasn't:
+ echo
+ echo "**************************************************************************"
+ echo "* Building combined package for non-modular parts of ${kde_module}"
+ echo "**************************************************************************"
+ echo
+
PKGARCH=$ARCH
cd $PKG
@@ -417,8 +460,11 @@ mkdir -p $SLACK_KDE_BUILD_DIR
# Same goes for kdelibs (at least during KDE 4.8.x) kdeutils:ksecrets needs
# kdelibs and then kdelibs needs a rebuild to pick up ksecretservice
# (this will no longer be required in KDE 4.9).
+# And kde-baseapps is rebuilt after kdewebdev because it can then pickup
+# libtidy and enable the Konqueror validators plugin to validate HTML.
KDEMODS=" \
kdelibs \
+ kdebase:nepomuk-core \
kdepimlibs \
kdebase \
kdesdk \
@@ -440,6 +486,7 @@ KDEMODS=" \
kdepim-runtime \
kdeedu \
kdewebdev \
+ kdebase:kde-baseapps \
kdeplasma-addons \
polkit-kde \
extragear \
diff --git a/source/kde/KDE.options b/source/kde/KDE.options
index debc6ea12..30ec64c2b 100644
--- a/source/kde/KDE.options
+++ b/source/kde/KDE.options
@@ -3,7 +3,7 @@
# usually has a different version number), or by setting your own
# environment variables.
-[ -z $VERSION ] && export VERSION=4.8.5
+[ -z $VERSION ] && export VERSION=4.10.5
[ -z $BUILD ] && export BUILD=1
# Automatically determine the architecture we're building on:
@@ -54,5 +54,5 @@ fi
# Additional cmake flags that are spanned across the KDE modules
# Do not use "final build" unless we build an actual release.
#export KDE_OPT_ARGS=" -DKDE4_ENABLE_FINAL=\"ON\" -DSITE=\"slackware.com\" "
-export KDE_OPT_ARGS=" -DSITE=\"slackware.com\" -DKDE_DISTRIBUTION_TEXT=\"volkerdi@slackware.com\" "
+export KDE_OPT_ARGS=" -DKDE4_BUILD_TESTS=OFF -DSITE=\"slackware.com\" -DKDE_DISTRIBUTION_TEXT=\"volkerdi@slackware.com\" "
diff --git a/source/kde/build/ark b/source/kde/build/ark
new file mode 100644
index 000000000..0cfbf0888
--- /dev/null
+++ b/source/kde/build/ark
@@ -0,0 +1 @@
+2
diff --git a/source/kde/build/increment.sh b/source/kde/build/increment.sh
new file mode 100755
index 000000000..6de5d0da6
--- /dev/null
+++ b/source/kde/build/increment.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+# A script to increment build numbers.
+# Call it with the list of the build numbers to increase by one:
+#
+# ./increment.sh xf86-input-acecad xf86-input-aiptek xf86-input-joystick
+#
+# If a build file does not exist, it will be created with a value of 2.
+
+for build in $* ; do
+ if [ ! -r $build ]; then
+ echo "Creating $build with value 2"
+ echo 2 > $build
+ else
+ echo "Incrementing $build $(cat $build) -> $(expr $(cat $build) + 1)"
+ echo $(expr $(cat $build) + 1) > $build
+ fi
+done
diff --git a/source/kde/build/kde-workspace b/source/kde/build/kde-workspace
new file mode 100644
index 000000000..0cfbf0888
--- /dev/null
+++ b/source/kde/build/kde-workspace
@@ -0,0 +1 @@
+2
diff --git a/source/kde/build/kdelibs b/source/kde/build/kdelibs
new file mode 100644
index 000000000..0cfbf0888
--- /dev/null
+++ b/source/kde/build/kdelibs
@@ -0,0 +1 @@
+2
diff --git a/source/kde/build/lskat b/source/kde/build/lskat
new file mode 100644
index 000000000..0cfbf0888
--- /dev/null
+++ b/source/kde/build/lskat
@@ -0,0 +1 @@
+2
diff --git a/source/kde/cmake/kde-runtime b/source/kde/cmake/kde-runtime
new file mode 100644
index 000000000..42ece9766
--- /dev/null
+++ b/source/kde/cmake/kde-runtime
@@ -0,0 +1,17 @@
+mkdir build
+cd build
+ cmake \
+ $KDE_OPT_ARGS \
+ -DKDE_PLATFORM_FEATURE_DISABLE_DEPRECATED=TRUE \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DSAMBA_INCLUDE_DIR=/usr/include/samba-4.0 \
+ ..
+
diff --git a/source/kde/cmake/kdebindings b/source/kde/cmake/kdebindings
index c42283099..086f96259 100644
--- a/source/kde/cmake/kdebindings
+++ b/source/kde/cmake/kdebindings
@@ -2,6 +2,10 @@
# architecture dependent perl modules):
eval $(perl '-V:vendorarch')
+# Likewise for Ruby (note that our "vendordir" is empty, so we use sitedir):
+ruby_vendorlibdir=$(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')
+ruby_vendorarchdir=$(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]')
+
mkdir -p build
cd build
#-DCMAKE_BACKWARDS_COMPATIBILITY:STRING="2.2" \
@@ -14,7 +18,9 @@ cd build
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DMAN_INSTALL_DIR=/usr/man \
- -DCUSTOM_PERL_SITE_ARCH_DIR=$vendorarch \
+ -DCUSTOM_PERL_SITE_ARCH_DIR=${vendorarch} \
+ -DRUBY_VENDORARCH_DIR:PATH=${ruby_vendorarchdir} \
+ -DRUBY_VENDORLIB_DIR:PATH=${ruby_vendorlibdir} \
-DSYSCONF_INSTALL_DIR=/etc/kde \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DENABLE_QYOTO:BOOL=OFF \
diff --git a/source/kde/cmake/kross-interpreters b/source/kde/cmake/kross-interpreters
new file mode 100644
index 000000000..b57de3f6e
--- /dev/null
+++ b/source/kde/cmake/kross-interpreters
@@ -0,0 +1,17 @@
+mkdir -p build
+cd build
+ #-DCMAKE_BACKWARDS_COMPATIBILITY:STRING="2.2" \
+ cmake \
+ $KDE_OPT_ARGS \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc/kde \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DBUILD_ruby:BOOL=OFF \
+ ..
+
diff --git a/source/kde/kde-deps-build/alldeps.SlackBuild b/source/kde/kde-deps-build/alldeps.SlackBuild
index aaf624aee..2f9baa328 100755
--- a/source/kde/kde-deps-build/alldeps.SlackBuild
+++ b/source/kde/kde-deps-build/alldeps.SlackBuild
@@ -11,7 +11,9 @@
QTDIR=/usr/lib${LIBDIRSUFFIX}/qt ; export QTDIR
ALLDEPS=" \
+ boost \
qt \
+ qjson \
polkit-qt-1 \
sip \
PyQt \
diff --git a/source/kde/kde-deps-build/boost b/source/kde/kde-deps-build/boost
new file mode 120000
index 000000000..89a8dd9be
--- /dev/null
+++ b/source/kde/kde-deps-build/boost
@@ -0,0 +1 @@
+../../l/boost \ No newline at end of file
diff --git a/source/kde/modularize b/source/kde/modularize
index 138552b06..d171550f3 100644
--- a/source/kde/modularize
+++ b/source/kde/modularize
@@ -1,14 +1,36 @@
# If a package is listed here, it will be built apart from the
# usual "grab bag" package that's made from each source directory.
+#
+# Things to note:
+#
+# Listing a package here will not cause it to be built. To do that,
+# make sure it is added to one of the files in the modules/ directory
+# that is built by the main KDE.SlackBuild script.
+#
+# If a subpackage name happens to be the same as the "grab bag" package
+# that contains it, you need to be a bit careful. Unless everything
+# in that collection will be built modular, *do not* list that name
+# here! If you do, first the module by that name will be built, and
+# then everything that's not modular in that collection will be built
+# into a "grab bag" that will replace that first package.
+#
+# If the goal is to build the most combined packages possible, the
+# easiest way to accomplish that is just to move this file out of the
+# way and replace it with an empty one before building.
# kdeaccessibility
jovie
kaccessible
-kmag
kmouth
kmousetool
+kmag
+
+# kdelibs:
+kdelibs
# kdebase:
+nepomuk-core
+nepomuk-widgets
kde-baseapps
kactivities
konsole
@@ -39,15 +61,25 @@ kturtle
kwordquiz
marble
parley
+pairs
rocs
step
+# kdeadmin
+kdeadmin
+
+# kdeartwork
+kdeartwork
+
# kdegraphics:
libkipi
libkexiv2
libkdcraw
libksane
okular
+kdegraphics-mobipocket
+kdegraphics-strigi-analyzer
+kdegraphics-thumbnailers
gwenview
kamera
kcolorchooser
@@ -57,9 +89,6 @@ kruler
ksaneplugin
ksnapshot
svgpart
-kdegraphics-mobipocket
-kdegraphics-strigi-analyzer
-kdegraphics-thumbnailers
# kdebindings
smokegen
@@ -71,6 +100,22 @@ korundum
perlkde
pykde4
kross-interpreters
+kimono
+qyoto
+
+# kdemultimedia
+libkcddb
+libkcompactdisc
+audiocd-kio
+dragon
+ffmpegthumbs
+mplayerthumbs
+juk
+kmix
+kscd
+
+# kdenetwork
+kdenetwork
# kdeutils
ark
@@ -80,17 +125,80 @@ kcharselect
kdf
kfloppy
kgpg
-printer-applet
+#printer-applet
+print-manager
kremotecontrol
ktimer
kwallet
superkaramba
sweeper
-ksecrets
+
+# kdegames
+libkdegames
+libkmahjongg
+klickety
+ksudoku
+ksquares
+kpat
+klines
+ksnakeduel
+kollision
+kshisen
+kblocks
+lskat
+kreversi
+bovo
+# Requires python-twisted:
+#kajongg
+granatier
+kmines
+kiriki
+kigo
+bomber
+kolf
+kdiamond
+kbounce
+konquest
+kapman
+knavalbattle
+killbots
+kubrick
+kgoldrunner
+knetwalk
+kbreakout
+ksirk
+kfourinline
+picmi
+kblackbox
+palapeli
+katomic
+ktuberling
+kjumpingcube
+kmahjongg
+kspaceduel
+
+# kdewebdev
+kdewebdev
# kdepim
+kdepim
kdepim-runtime
+# kdepimlibs
+kdepimlibs
+
+# kdeplasma-addons
+kdeplasma-addons
+
+# kdesdk
+kdesdk
+
+# kdetoys
+kdetoys
+
+# oxygen-icons
+oxygen-icons
+
# polkit-kde
polkit-kde-agent-1
polkit-kde-kcmodules-1
@@ -102,16 +210,20 @@ kaudiocreator
kplayer
kwebkitpart
oxygen-gtk2
+oxygen-gtk3
kdevplatform
kdevelop-pg-qt
kdevelop
-#kdevelop-php
-quanta
+kdevelop-php
+kdevelop-php-docs
+#quanta
wicd-kde
networkmanagement
skanlite
+kio-mtp
libktorrent
ktorrent
-calligra
amarok
-
+calligra
+libkscreen
+kscreen
diff --git a/source/kde/modules/extragear b/source/kde/modules/extragear
index 22668e180..f9c0940b8 100644
--- a/source/kde/modules/extragear
+++ b/source/kde/modules/extragear
@@ -4,16 +4,20 @@ kaudiocreator
kplayer
kwebkitpart
oxygen-gtk2
+oxygen-gtk3
kdevplatform
kdevelop-pg-qt
kdevelop
-#kdevelop-php
-quanta
+kdevelop-php
+kdevelop-php-docs
+#quanta
wicd-kde
networkmanagement
skanlite
+kio-mtp
libktorrent
ktorrent
amarok
calligra
-
+libkscreen
+kscreen
diff --git a/source/kde/modules/kdeaccessibility b/source/kde/modules/kdeaccessibility
index 0356ae529..c8cda11c7 100644
--- a/source/kde/modules/kdeaccessibility
+++ b/source/kde/modules/kdeaccessibility
@@ -4,4 +4,3 @@ kaccessible
kmouth
kmousetool
kmag
-
diff --git a/source/kde/modules/kdebase b/source/kde/modules/kdebase
index fa37c97bc..38337e3bc 100644
--- a/source/kde/modules/kdebase
+++ b/source/kde/modules/kdebase
@@ -1,3 +1,5 @@
+nepomuk-core
+nepomuk-widgets
kde-baseapps
kactivities
konsole
@@ -5,4 +7,4 @@ kate
kde-wallpapers
kde-workspace
kde-runtime
-#kde-base-artwork
+kde-base-artwork
diff --git a/source/kde/modules/kdebindings b/source/kde/modules/kdebindings
index 67bef4ffc..ab459d971 100644
--- a/source/kde/modules/kdebindings
+++ b/source/kde/modules/kdebindings
@@ -1,11 +1,11 @@
-smokegen
-smokeqt
-qtruby
-perlqt
+smokegen
+smokeqt
+qtruby
+perlqt
smokekde
korundum
-perlkde
+perlkde
pykde4
kross-interpreters
-kimono
-qyoto
+#kimono
+#qyoto
diff --git a/source/kde/modules/kdeedu b/source/kde/modules/kdeedu
index 74c774752..c4627592a 100644
--- a/source/kde/modules/kdeedu
+++ b/source/kde/modules/kdeedu
@@ -18,5 +18,6 @@ kturtle
kwordquiz
marble
parley
+pairs
rocs
step
diff --git a/source/kde/modules/kdegames b/source/kde/modules/kdegames
index 41e45e2c5..4d64c22ff 100644
--- a/source/kde/modules/kdegames
+++ b/source/kde/modules/kdegames
@@ -1 +1,42 @@
-kdegames
+libkdegames
+libkmahjongg
+klickety
+ksudoku
+ksquares
+kpat
+klines
+ksnakeduel
+kollision
+kshisen
+kblocks
+lskat
+kreversi
+bovo
+# Requires python-twisted:
+#kajongg
+granatier
+kmines
+kiriki
+kigo
+bomber
+kolf
+kdiamond
+kbounce
+konquest
+kapman
+knavalbattle
+killbots
+kubrick
+kgoldrunner
+knetwalk
+kbreakout
+ksirk
+kfourinline
+picmi
+kblackbox
+palapeli
+katomic
+ktuberling
+kjumpingcube
+kmahjongg
+kspaceduel
diff --git a/source/kde/modules/kdemultimedia b/source/kde/modules/kdemultimedia
index cb104a70b..a78827b15 100644
--- a/source/kde/modules/kdemultimedia
+++ b/source/kde/modules/kdemultimedia
@@ -1 +1,9 @@
-kdemultimedia
+libkcddb
+libkcompactdisc
+audiocd-kio
+dragon
+#ffmpegthumbs
+mplayerthumbs
+juk
+kmix
+#kscd
diff --git a/source/kde/modules/kdepim b/source/kde/modules/kdepim
index 7da0ed199..6594afb02 100644
--- a/source/kde/modules/kdepim
+++ b/source/kde/modules/kdepim
@@ -1,3 +1,2 @@
kdepim
kdepim-runtime
-
diff --git a/source/kde/modules/kdeutils b/source/kde/modules/kdeutils
index e4611a2f0..eb6d1ef51 100644
--- a/source/kde/modules/kdeutils
+++ b/source/kde/modules/kdeutils
@@ -6,11 +6,10 @@ kcharselect
kdf
kfloppy
kgpg
-printer-applet
+#printer-applet
+print-manager
kremotecontrol
ktimer
kwallet
superkaramba
sweeper
-ksecrets
-
diff --git a/source/kde/modules/oxygen-icons b/source/kde/modules/oxygen-icons
index ab964a4eb..825251928 100644
--- a/source/kde/modules/oxygen-icons
+++ b/source/kde/modules/oxygen-icons
@@ -1,2 +1 @@
oxygen-icons
-
diff --git a/source/kde/package-blacklist b/source/kde/package-blacklist
index 6451ed9e4..71e99c40c 100644
--- a/source/kde/package-blacklist
+++ b/source/kde/package-blacklist
@@ -6,6 +6,4 @@
# needs c-sharp:
kimono
qyoto
-# ruby errors "env.h not found":
-kross-interpreters
diff --git a/source/kde/patch/amarok.patch b/source/kde/patch/amarok.patch
deleted file mode 100644
index 35d438318..000000000
--- a/source/kde/patch/amarok.patch
+++ /dev/null
@@ -1,3 +0,0 @@
-# Build against liblastfm 1.0.1.
-cat $CWD/patch/amarok/amarok-liblastfm1.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-
diff --git a/source/kde/patch/amarok/amarok-liblastfm1.patch b/source/kde/patch/amarok/amarok-liblastfm1.patch
deleted file mode 100644
index 434993121..000000000
--- a/source/kde/patch/amarok/amarok-liblastfm1.patch
+++ /dev/null
@@ -1,704 +0,0 @@
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/CMakeLists.txt amarok-2.5.96/CMakeLists.txt
---- amarok-2.5.96.orig/CMakeLists.txt 2012-07-31 12:17:20.000000000 +0200
-+++ amarok-2.5.96/CMakeLists.txt 2012-08-02 16:34:08.465503197 +0200
-@@ -129,7 +129,7 @@
- # macro_log_feature( STRIGI_FOUND "strigi" "Index metadata of files" "http://strigi.sourceforge.net" FALSE "" "" )
-
- macro_optional_find_package(LibLastFm)
-- macro_log_feature( LIBLASTFM_FOUND "liblastfm" "Enable Last.Fm service, including scrobbling, song submissions, and suggested song dynamic playlists" "http://cdn.last.fm/src/liblastfm-0.3.0.tar.bz2" FALSE "" "version 0.3.x (versions 1.0 or higher are incompatible)" )
-+ macro_log_feature( LIBLASTFM_FOUND "liblastfm" "Enable Last.Fm service, including scrobbling, song submissions, and suggested song dynamic playlists" "http://cdn.last.fm/src/liblastfm-1.0.0.tar.gz" FALSE "1.0.0" "" )
- macro_bool_to_01( LIBLASTFM_FOUND HAVE_LIBLASTFM )
-
- macro_optional_find_package( FFmpeg )
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/cmake/modules/FindLibLastFm.cmake amarok-2.5.96/cmake/modules/FindLibLastFm.cmake
---- amarok-2.5.96.orig/cmake/modules/FindLibLastFm.cmake 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/cmake/modules/FindLibLastFm.cmake 2012-08-02 16:32:36.418653940 +0200
-@@ -6,7 +6,7 @@
- # LIBLASTFM_FOUND, whether liblastfm was found
-
-
--find_path(LIBLASTFM_INCLUDE_DIR NAMES Audioscrobbler
-+find_path(LIBLASTFM_INCLUDE_DIR NAMES lastfm
- HINTS
- ~/usr/include
- /opt/local/include
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/LastfmReadLabelCapability.cpp amarok-2.5.96/src/LastfmReadLabelCapability.cpp
---- amarok-2.5.96.orig/src/LastfmReadLabelCapability.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/LastfmReadLabelCapability.cpp 2012-08-02 16:32:36.419653927 +0200
-@@ -22,8 +22,7 @@
- #include <QMap>
- #include <QNetworkReply>
-
--#include <lastfm/XmlQuery>
--#include <ws.h>
-+#include <lastfm/XmlQuery.h>
- #include "core/support/Amarok.h"
-
- namespace Capabilities
-@@ -72,7 +71,8 @@
- {
- case QNetworkReply::NoError:
- {
-- lastfm::XmlQuery lfm = m_job->readAll();
-+ lastfm::XmlQuery lfm;
-+ lfm.parse(m_job->readAll());
- QList<lastfm::XmlQuery> tags = lfm.children( "tag" );
- QStringList ret;
- foreach( const lastfm::XmlQuery &child, tags )
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/context/engines/upcomingevents/UpcomingEventsEngine.cpp amarok-2.5.96/src/context/engines/upcomingevents/UpcomingEventsEngine.cpp
---- amarok-2.5.96.orig/src/context/engines/upcomingevents/UpcomingEventsEngine.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/context/engines/upcomingevents/UpcomingEventsEngine.cpp 2012-08-02 16:32:35.962659642 +0200
-@@ -27,10 +27,6 @@
- #include "EngineController.h"
- #include "LastFmEventXmlParser.h"
-
--// LastFm
--#include <lastfm/XmlQuery>
--#include <lastfm/ws.h>
--
- // KDE
- #include <KDateTime>
-
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/core/support/Amarok.h amarok-2.5.96/src/core/support/Amarok.h
---- amarok-2.5.96.orig/src/core/support/Amarok.h 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/core/support/Amarok.h 2012-08-02 16:32:35.962659642 +0200
-@@ -203,6 +203,7 @@
-
- inline const char* discogsApiKey() { return "91734dd989"; }
- inline const char* lastfmApiKey() { return "402d3ca8e9bc9d3cf9b85e1202944ca5"; }
-+ inline const char* lastfmApiSharedSecret() { return "fe0dcde9fcd14c2d1d50665b646335e9"; }
- inline const char* yahooBossApiKey() { return "oQepTNrV34G9Satb1dgRZ8hdl1uhJvguDSU5Knl2Xd4ALK85knYt6ylr.FTA57XMRBA-"; }
- inline const char* flickrApiKey() { return "9c5a288116c34c17ecee37877397fe31"; }
- }
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/ampache/LastfmInfoParser.cpp amarok-2.5.96/src/services/ampache/LastfmInfoParser.cpp
---- amarok-2.5.96.orig/src/services/ampache/LastfmInfoParser.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/ampache/LastfmInfoParser.cpp 2012-08-02 16:32:35.954659742 +0200
-@@ -20,8 +20,7 @@
- #include "core/support/Amarok.h"
- #include "core/support/Debug.h"
-
--#include <lastfm/XmlQuery>
--#include <lastfm/ws.h>
-+#include <lastfm/XmlQuery.h>
-
- #include <KLocale>
-
-@@ -55,7 +54,8 @@
- {
- case QNetworkReply::NoError:
- {
-- lastfm::XmlQuery lfm = m_jobs[ "getTrackInfo" ]->readAll();
-+ lastfm::XmlQuery lfm;
-+ lfm.parse( m_jobs[ "getTrackInfo" ]->readAll() );
- lastfm::XmlQuery wiki = lfm["track"]["wiki"];
- const QString contentText = wiki["content"].text();
- const QString publishedDate = wiki["published"].text();
-@@ -103,7 +103,8 @@
- {
- case QNetworkReply::NoError:
- {
-- lastfm::XmlQuery lfm = m_jobs[ "getAlbumInfo" ]->readAll();
-+ lastfm::XmlQuery lfm;
-+ lfm.parse( m_jobs[ "getAlbumInfo" ]->readAll() );
- lastfm::XmlQuery wiki = lfm["album"]["wiki"];
- const QString summaryText = wiki["summary"].text();
- const QString contentText = wiki["content"].text();
-@@ -155,7 +156,8 @@
- {
- case QNetworkReply::NoError:
- {
-- lastfm::XmlQuery lfm = m_jobs[ "getArtistInfo" ]->readAll();
-+ lastfm::XmlQuery lfm;
-+ lfm.parse( m_jobs[ "getArtistInfo" ]->readAll() );
- debug() << lfm.text();
- lastfm::XmlQuery bio = lfm["artist"]["bio"];
- const QString summaryText = bio["summary"].text();
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/LastFmService.cpp amarok-2.5.96/src/services/lastfm/LastFmService.cpp
---- amarok-2.5.96.orig/src/services/lastfm/LastFmService.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/LastFmService.cpp 2012-08-02 16:32:35.955659729 +0200
-@@ -46,8 +46,8 @@
- #include "widgets/SearchWidget.h"
- #include "NetworkAccessManagerProxy.h"
-
--#include <lastfm/Audioscrobbler> // from liblastfm
--#include <lastfm/XmlQuery>
-+#include <lastfm/Audioscrobbler.h> // from liblastfm
-+#include <lastfm/XmlQuery.h>
-
- #include <KLocale>
- #include <KPasswordDialog>
-@@ -224,10 +224,7 @@
- {
- // set the global static Lastfm::Ws stuff
- lastfm::ws::ApiKey = Amarok::lastfmApiKey();
-- lastfm::ws::SharedSecret = "fe0dcde9fcd14c2d1d50665b646335e9";
-- // testing w/ official keys
-- //Ws::SharedSecret = "73582dfc9e556d307aead069af110ab8";
-- //Ws::ApiKey = "c8c7b163b11f92ef2d33ba6cd3c2c3c3";
-+ lastfm::ws::SharedSecret = Amarok::lastfmApiSharedSecret();
- m_userNameArray = qstrdup( m_userName.toLatin1().data() );
- lastfm::ws::Username = m_userNameArray;
- if( lastfm::nam() != The::networkAccessManager() )
-@@ -309,7 +306,8 @@
- case QNetworkReply::NoError:
- {
-
-- lastfm::XmlQuery lfm = lastfm::XmlQuery( m_jobs[ "auth" ]->readAll() );
-+ lastfm::XmlQuery lfm;
-+ lfm.parse( m_jobs[ "auth" ]->readAll() );
- LastFmServiceConfig config;
-
- if( lfm.children( "error" ).size() > 0 )
-@@ -359,10 +357,8 @@
- {
- case QNetworkReply::NoError:
- {
-- try
-- {
-- lastfm::XmlQuery lfm( m_jobs[ "getUserInfo" ]->readAll() );
--
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( m_jobs[ "getUserInfo" ]->readAll() ) ) {
- m_country = lfm["user"]["country"].text();
- m_age = lfm["user"]["age"].text();
- m_gender = lfm["user"]["gender"].text();
-@@ -381,9 +377,10 @@
- }
- updateProfileInfo();
-
-- } catch( lastfm::ws::ParseError& e )
-+ }
-+ else
- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
- }
- break;
- } case QNetworkReply::AuthenticationRequiredError:
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/LastFmServiceCollection.cpp amarok-2.5.96/src/services/lastfm/LastFmServiceCollection.cpp
---- amarok-2.5.96.orig/src/services/lastfm/LastFmServiceCollection.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/LastFmServiceCollection.cpp 2012-08-02 16:32:35.956659716 +0200
-@@ -26,7 +26,7 @@
- #include "core-impl/collections/support/MemoryQueryMaker.h"
-
- #include <lastfm/ws.h>
--#include <lastfm/XmlQuery>
-+#include <lastfm/XmlQuery.h>
-
- #include <QNetworkReply>
-
-@@ -154,10 +154,9 @@
- case QNetworkReply::NoError:
- {
- // iterate through each neighbour
-- try
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( m_jobs[ "user.getNeighbours" ]->readAll() ) )
- {
-- lastfm::XmlQuery lfm( m_jobs[ "user.getNeighbours" ]->readAll() );
--
- foreach( const lastfm::XmlQuery &e, lfm[ "neighbours" ].children( "user" ) )
- {
- const QString name = e[ "name" ].text();
-@@ -168,9 +167,10 @@
- addTrack( trackPtr );
- }
-
-- } catch( lastfm::ws::ParseError& e )
-+ }
-+ else
- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
- }
- break;
- }
-@@ -195,15 +195,14 @@
- case QNetworkReply::NoError:
- {
- // iterate through each neighbour
-- try
-+ if( !m_jobs[ "user.getNeighbours" ] )
-+ {
-+ debug() << "BAD! got no result object";
-+ return;
-+ }
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( m_jobs[ "user.getNeighbours" ]->readAll() ) )
- {
-- if( !m_jobs[ "user.getNeighbours" ] )
-- {
-- debug() << "BAD! got no result object";
-- return;
-- }
-- lastfm::XmlQuery lfm( m_jobs[ "user.getNeighbours" ]->readAll() );
--
- // iterate through each neighbour
- foreach( const lastfm::XmlQuery &e, lfm[ "neighbours" ].children( "user" ) )
- {
-@@ -218,9 +217,10 @@
-
- // should be safe, as both slots SHOULD get called before we return to the event loop...
- m_jobs[ "user.getNeighbours" ]->deleteLater();
-- } catch( lastfm::ws::ParseError& e )
-+ }
-+ else
- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
- }
- break;
- }
-@@ -248,10 +248,9 @@
- {
- case QNetworkReply::NoError:
- {
-- try
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( m_jobs[ "user.getFriends" ]->readAll() ) )
- {
-- lastfm::XmlQuery lfm( m_jobs[ "user.getFriends" ]->readAll() );
--
- foreach( const lastfm::XmlQuery &e, lfm[ "friends" ].children( "user" ) )
- {
- const QString name = e[ "name" ].text();
-@@ -261,9 +260,10 @@
- addTrack( trackPtr );
- }
-
-- } catch( lastfm::ws::ParseError& e )
-+ }
-+ else
- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
- }
- break;
- }
-@@ -293,10 +293,9 @@
- {
- case QNetworkReply::NoError:
- {
-- try
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( m_jobs[ "user.getFriends" ]->readAll() ) )
- {
-- lastfm::XmlQuery lfm( m_jobs[ "user.getFriends" ]->readAll() );
--
- foreach( const lastfm::XmlQuery &e, lfm[ "friends" ].children( "user" ) )
- {
- const QString name = e[ "name" ].text();
-@@ -306,9 +305,10 @@
- addTrack( trackPtr );
- }
-
-- } catch( lastfm::ws::ParseError& e )
-+ }
-+ else
- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
- }
- break;
- }
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/LastFmServiceSettings.cpp amarok-2.5.96/src/services/lastfm/LastFmServiceSettings.cpp
---- amarok-2.5.96.orig/src/services/lastfm/LastFmServiceSettings.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/LastFmServiceSettings.cpp 2012-08-02 16:32:35.957659703 +0200
-@@ -23,9 +23,9 @@
- #include "NetworkAccessManagerProxy.h"
- #include "ui_LastFmConfigWidget.h"
-
--#include <lastfm/Audioscrobbler> // from liblastfm
-+#include <lastfm/Audioscrobbler.h> // from liblastfm
- #include <lastfm/ws.h>
--#include <lastfm/XmlQuery>
-+#include <lastfm/XmlQuery.h>
-
- #include <QCryptographicHash>
- #include <QNetworkAccessManager>
-@@ -100,7 +100,7 @@
- m_configDialog->testLogin->setText( i18n( "Testing..." ) );
- // set the global static Lastfm::Ws stuff
- lastfm::ws::ApiKey = Amarok::lastfmApiKey();
-- lastfm::ws::SharedSecret = "fe0dcde9fcd14c2d1d50665b646335e9";
-+ lastfm::ws::SharedSecret = Amarok::lastfmApiSharedSecret();
- lastfm::ws::Username = qstrdup( m_configDialog->kcfg_ScrobblerUsername->text().toLatin1().data() );
- if( lastfm::nam() != The::networkAccessManager() )
- lastfm::setNetworkAccessManager( The::networkAccessManager() );
-@@ -126,7 +126,8 @@
- {
- DEBUG_BLOCK
-
-- lastfm::XmlQuery lfm = lastfm::XmlQuery( m_authQuery->readAll() );
-+ lastfm::XmlQuery lfm;
-+ lfm.parse( m_authQuery->readAll() );
-
- switch( m_authQuery->error() )
- {
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/LastFmTreeModel.cpp amarok-2.5.96/src/services/lastfm/LastFmTreeModel.cpp
---- amarok-2.5.96.orig/src/services/lastfm/LastFmTreeModel.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/LastFmTreeModel.cpp 2012-08-02 16:32:35.958659691 +0200
-@@ -26,8 +26,8 @@
- #include "AmarokMimeData.h"
-
- #include <lastfm/ws.h>
--#include <lastfm/Tag>
--#include <lastfm/XmlQuery>
-+#include <lastfm/Tag.h>
-+#include <lastfm/XmlQuery.h>
-
- #include <KIcon>
- #include <KLocale>
-@@ -68,11 +68,12 @@
- {
- DEBUG_BLOCK
-
-- try
-- {
- // Iterate over each neighbor, in two passes: 1) Get data 2) Sort data, store in model
-
-- lastfm::XmlQuery lfm( m_jobs[ "getNeighbours" ]->readAll() );
-+ lastfm::XmlQuery lfm;
-+ lfm.parse( m_jobs[ "getNeighbours" ]->readAll() );
-+ if( lfm.parseError().enumValue() == lastfm::ws::NoError )
-+ {
- foreach( const lastfm::XmlQuery &e, lfm[ "neighbours" ].children ( "user" ) )
- {
- const QString name = e[ "name" ].text();
-@@ -88,11 +89,11 @@
- appendUserStations( neighbor, name );
- }
- m_neighbors.sort();
-+ } else {
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
-+ return;
- }
-- catch( lastfm::ws::ParseError e )
-- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-- }
-+
- emitRowChanged(LastFm::Neighbors);
- m_jobs[ "getNeighbours" ]->deleteLater();
- }
-@@ -102,11 +103,11 @@
- {
- DEBUG_BLOCK
-
-- try
-- {
-- // Iterate over each friend, in two passes: 1) Get data 2) Sort data, store in model
-+ // Iterate over each friend, in two passes: 1) Get data 2) Sort data, store in model
-
-- lastfm::XmlQuery lfm( m_jobs[ "getFriends" ]->readAll() );
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( m_jobs[ "getFriends" ]->readAll() ) )
-+ {
- foreach( const lastfm::XmlQuery &e, lfm[ "friends" ].children ( "user" ) )
- {
- const QString name = e[ "name" ].text();
-@@ -123,11 +124,11 @@
- appendUserStations( afriend, name );
- }
- m_friends.sort();
-+ } else {
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
-+ return;
- }
-- catch( lastfm::ws::ParseError e )
-- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-- }
-+
- emitRowChanged(LastFm::Friends);
- m_jobs[ "getFriends" ]->deleteLater();
- }
-@@ -137,10 +138,9 @@
- {
- DEBUG_BLOCK
- WeightedStringList list;
-- try
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( m_jobs[ "getTopArtists" ]->readAll() ) )
- {
-- lastfm::XmlQuery lfm( m_jobs[ "getTopArtists" ]->readAll() );
--
- foreach( const lastfm::XmlQuery &e, lfm[ "topartists" ].children ( "artist" ) )
- {
- const QString name = e[ "name" ].text();
-@@ -158,9 +158,10 @@
- m_myTopArtists->appendChild ( artist );
- }
-
-- } catch( lastfm::ws::ParseError e )
-+ }
-+ else
- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
- }
- emitRowChanged(LastFm::TopArtists);
- m_jobs[ "getTopArtists" ]->deleteLater();
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/LastFmTreeModel.h amarok-2.5.96/src/services/lastfm/LastFmTreeModel.h
---- amarok-2.5.96.orig/src/services/lastfm/LastFmTreeModel.h 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/LastFmTreeModel.h 2012-08-02 16:32:35.957659703 +0200
-@@ -22,7 +22,7 @@
- #include "core/meta/Meta.h"
- #include "WeightedStringList.h"
-
--#include <lastfm/User>
-+#include <lastfm/User.h>
-
- #include <QAbstractItemModel>
- #include <QHash>
-@@ -136,7 +136,7 @@
- LastFmTreeItem *m_myTopArtists;
-
- QString m_userName;
-- lastfm::AuthenticatedUser m_user;
-+ lastfm::User m_user;
-
- QStringList m_friends;
- QStringList m_neighbors;
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/ScrobblerAdapter.h amarok-2.5.96/src/services/lastfm/ScrobblerAdapter.h
---- amarok-2.5.96.orig/src/services/lastfm/ScrobblerAdapter.h 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/ScrobblerAdapter.h 2012-08-02 16:32:35.958659691 +0200
-@@ -20,8 +20,8 @@
-
- #include "core/meta/Meta.h"
-
--#include <lastfm/Audioscrobbler>
--#include <lastfm/Track>
-+#include <lastfm/Audioscrobbler.h>
-+#include <lastfm/Track.h>
-
- #include <QVariant>
-
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/biases/LastFmBias.cpp amarok-2.5.96/src/services/lastfm/biases/LastFmBias.cpp
---- amarok-2.5.96.orig/src/services/lastfm/biases/LastFmBias.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/biases/LastFmBias.cpp 2012-08-02 16:32:35.958659691 +0200
-@@ -34,9 +34,8 @@
- #include "core/collections/QueryMaker.h"
- #include "core-impl/collections/support/CollectionManager.h"
-
--#include "lastfm/Artist"
--#include "lastfm/ws.h"
--#include "lastfm/XmlQuery"
-+#include <lastfm/Artist.h>
-+#include <lastfm/ws.h>
-
- #include <QLabel>
- #include <QComboBox>
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/biases/WeeklyTopBias.cpp amarok-2.5.96/src/services/lastfm/biases/WeeklyTopBias.cpp
---- amarok-2.5.96.orig/src/services/lastfm/biases/WeeklyTopBias.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/biases/WeeklyTopBias.cpp 2012-08-02 16:32:35.960659667 +0200
-@@ -34,9 +34,9 @@
- #include "core/collections/QueryMaker.h"
- #include "core-impl/collections/support/CollectionManager.h"
-
--#include "lastfm/Artist"
--#include "lastfm/ws.h"
--#include "lastfm/XmlQuery"
-+#include <lastfm/Artist.h>
-+#include <lastfm/ws.h>
-+#include <lastfm/XmlQuery.h>
-
- #include <QNetworkReply>
-
-@@ -371,10 +371,9 @@
- }
-
-
-- try
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( reply->readAll() ) )
- {
-- lastfm::XmlQuery lfm( reply->readAll() );
--
- // debug() << "got response:" << lfm;
- QStringList artists;
- for( int i = 0; i < lfm[ "weeklyartistchart" ].children( "artist" ).size(); i++ )
-@@ -398,10 +397,10 @@
- warning() << "Got a reply for a week"<<week<<"that was not requested.";
- return;
- }
--
-- } catch( lastfm::ws::ParseError& e )
-+ }
-+ else
- {
-- debug() << "caught exception parsing weekly artist chart.";
-+ debug() << "failed to parse weekly artist chart.";
- }
-
- reply->deleteLater();
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/meta/LastFmMeta.cpp amarok-2.5.96/src/services/lastfm/meta/LastFmMeta.cpp
---- amarok-2.5.96.orig/src/services/lastfm/meta/LastFmMeta.cpp 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/meta/LastFmMeta.cpp 2012-08-02 16:32:35.961659655 +0200
-@@ -41,7 +41,7 @@
- #include <QWeakPointer>
- #include <QUrl>
-
--#include <lastfm/Track>
-+#include <lastfm/Track.h>
-
- namespace LastFm {
-
-@@ -451,8 +451,7 @@
- DEBUG_BLOCK
-
- debug() << "info:" << d->lastFmTrack.artist() << d->lastFmTrack.title();
-- d->wsReply = lastfm::MutableTrack( d->lastFmTrack ).love();
-- connect( d->wsReply, SIGNAL( finished() ), this, SLOT( slotWsReply() ) );
-+ lastfm::MutableTrack( d->lastFmTrack ).love();
- }
-
- void
-@@ -477,9 +476,9 @@
- {
- if( d->trackFetch->error() == QNetworkReply::NoError )
- {
-- try
-+ lastfm::XmlQuery lfm;
-+ if( lfm.parse( d->trackFetch->readAll() ) )
- {
-- lastfm::XmlQuery lfm( d->trackFetch->readAll() );
- QString id = lfm[ "track" ][ "id" ].text();
- QString streamable = lfm[ "track" ][ "streamable" ].text();
- if( streamable.toInt() == 1 )
-@@ -487,9 +486,10 @@
- else
- init();
-
-- } catch( lastfm::ws::ParseError& e )
-+ }
-+ else
- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
- }
- } else
- {
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/meta/LastFmMeta.h amarok-2.5.96/src/services/lastfm/meta/LastFmMeta.h
---- amarok-2.5.96.orig/src/services/lastfm/meta/LastFmMeta.h 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/meta/LastFmMeta.h 2012-08-02 16:32:35.960659667 +0200
-@@ -24,7 +24,7 @@
- #include "ServiceMetaBase.h" // for the SourceInfoProvider
-
-
--#include <lastfm/Track>
-+#include <lastfm/Track.h>
-
-
- #include <QObject>
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/meta/LastFmMeta_p.h amarok-2.5.96/src/services/lastfm/meta/LastFmMeta_p.h
---- amarok-2.5.96.orig/src/services/lastfm/meta/LastFmMeta_p.h 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/meta/LastFmMeta_p.h 2012-08-02 16:32:35.961659655 +0200
-@@ -26,10 +26,10 @@
- #include "core/statistics/StatisticsProvider.h"
- #include "core-impl/statistics/providers/tag/TagStatisticsProvider.h"
-
--#include <lastfm/Track>
-+#include <lastfm/Track.h>
- #include <lastfm/ws.h>
--#include <lastfm/RadioTuner>
--#include <lastfm/XmlQuery>
-+#include <lastfm/RadioTuner.h>
-+#include <lastfm/XmlQuery.h>
-
- #include <kio/job.h>
- #include <kio/jobclasses.h>
-@@ -144,26 +144,24 @@
- return;
- if( m_userFetch->error() == QNetworkReply::NoError )
- {
-- try
-+ lastfm::XmlQuery lfm;
-+ if( !lfm.parse( m_userFetch->readAll() ) )
- {
-- lastfm::XmlQuery lfm( m_userFetch->readAll() );
-- albumUrl = lfm[ "track" ][ "album" ][ "url" ].text();
-- trackUrl = lfm[ "track" ][ "url" ].text();
-- artistUrl = lfm[ "track" ][ "artist" ][ "url" ].text();
--
-- notifyObservers();
-+ debug() << "Got exception in parsing from last.fm:" << lfm.parseError().message();
-+ return;
-+ }
-+ albumUrl = lfm[ "track" ][ "album" ][ "url" ].text();
-+ trackUrl = lfm[ "track" ][ "url" ].text();
-+ artistUrl = lfm[ "track" ][ "artist" ][ "url" ].text();
-
-- imageUrl = lfm[ "track" ][ "album" ][ "image size=large" ].text();
-+ notifyObservers();
-
-- if( !imageUrl.isEmpty() )
-- {
-- KIO::Job* job = KIO::storedGet( KUrl( imageUrl ), KIO::Reload, KIO::HideProgressInfo );
-- connect( job, SIGNAL( result( KJob* ) ), this, SLOT( fetchImageFinished( KJob* ) ) );
-- }
-+ imageUrl = lfm[ "track" ][ "album" ][ "image size=large" ].text();
-
-- } catch( lastfm::ws::ParseError& e )
-+ if( !imageUrl.isEmpty() )
- {
-- debug() << "Got exception in parsing from last.fm:" << e.what();
-+ KIO::Job* job = KIO::storedGet( KUrl( imageUrl ), KIO::Reload, KIO::HideProgressInfo );
-+ connect( job, SIGNAL( result( KJob* ) ), this, SLOT( fetchImageFinished( KJob* ) ) );
- }
- }
-
-diff -U 3 -H -d -r -N -- amarok-2.5.96.orig/src/services/lastfm/meta/MultiPlayableCapabilityImpl_p.h amarok-2.5.96/src/services/lastfm/meta/MultiPlayableCapabilityImpl_p.h
---- amarok-2.5.96.orig/src/services/lastfm/meta/MultiPlayableCapabilityImpl_p.h 2012-07-31 12:10:56.000000000 +0200
-+++ amarok-2.5.96/src/services/lastfm/meta/MultiPlayableCapabilityImpl_p.h 2012-08-02 16:32:35.962659642 +0200
-@@ -25,8 +25,9 @@
- #include "core/meta/Meta.h"
- #include "core/capabilities/MultiPlayableCapability.h"
-
--#include <lastfm/Track>
--#include <lastfm/RadioTuner>
-+#include <lastfm/Track.h>
-+#include <lastfm/RadioStation.h>
-+#include <lastfm/RadioTuner.h>
- #include <lastfm/ws.h>
-
- #include <KLocale>
-@@ -55,24 +56,23 @@
- {
- DEBUG_BLOCK
- m_tuner = new lastfm::RadioTuner( lastfm::RadioStation( m_track->uidUrl() ) );
--
-+
- connect( m_tuner, SIGNAL( trackAvailable() ), this, SLOT( slotNewTrackAvailable() ) );
-- connect( m_tuner, SIGNAL( error( lastfm::ws::Error ) ), this, SLOT( error( lastfm::ws::Error ) ) );
-+ connect( m_tuner, SIGNAL( error(lastfm::ws::Error,QString) ), this, SLOT( error( lastfm::ws::Error ) ) );
- }
--
-+
- virtual void fetchNext()
- {
- DEBUG_BLOCK
- m_currentTrack = m_tuner->takeNextTrack();
- m_track->setTrackInfo( m_currentTrack );
--
- }
--
-+
- using Observer::metadataChanged;
- virtual void metadataChanged( Meta::TrackPtr track )
- {
- const LastFm::TrackPtr ltrack = LastFm::TrackPtr::dynamicCast( track );
--
-+
- if( ltrack.isNull() )
- return;
-
-@@ -94,7 +94,7 @@
- m_track->setTrackInfo( m_currentTrack );
- }
- }
--
-+
- virtual void skip()
- {
- fetchNext();
diff --git a/source/kde/patch/calligra.patch b/source/kde/patch/calligra.patch
deleted file mode 100644
index aac4ebf95..000000000
--- a/source/kde/patch/calligra.patch
+++ /dev/null
@@ -1,3 +0,0 @@
-# Patch an overflow vulnerability in calligra:
-zcat $CWD/patch/calligra/calligra.words.fix_overflow.diff.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-
diff --git a/source/kde/patch/calligra/calligra.words.fix_overflow.diff b/source/kde/patch/calligra/calligra.words.fix_overflow.diff
deleted file mode 100644
index 1a68b3f9d..000000000
--- a/source/kde/patch/calligra/calligra.words.fix_overflow.diff
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/filters/words/msword-odf/wv2/src/styles.cpp b/filters/words/msword-odf/wv2/src/styles.cpp
-index 02a82a0..78ac31d 100644
---- a/filters/words/msword-odf/wv2/src/styles.cpp
-+++ b/filters/words/msword-odf/wv2/src/styles.cpp
-@@ -248,6 +248,11 @@ throw(InvalidFormatException)
- #ifdef WV2_DEBUG_STYLESHEET
- wvlog << "cbUPX: " << cbUPX << endl;
- #endif
-+ // do not overflow the allocated buffer grupx
-+ if (offset + cbUPX > grupxLen) {
-+ wvlog << "====> Error: grupx would overflow!" << endl;
-+ return false;
-+ }
- for ( U16 j = 0; j < cbUPX; ++j ) {
- grupx[ offset + j ] = stream->readU8(); // read the whole UPX
- #ifdef WV2_DEBUG_STYLESHEET
diff --git a/source/kde/patch/kde-workspace.patch b/source/kde/patch/kde-workspace.patch
index 27eab8742..6cc98a91e 100644
--- a/source/kde/patch/kde-workspace.patch
+++ b/source/kde/patch/kde-workspace.patch
@@ -3,3 +3,6 @@ zcat $CWD/patch/kde-workspace/kde-workspace.kdm.server.timeout.diff.gz | patch -
# Always show 'remaining time' in the popup of the battery plasmoid:
zcat $CWD/patch/kde-workspace/kde-workspace.batteryapplet.diff.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# Fix issues with recent glibc crypt() returning NULL:
+zcat $CWD/patch/kde-workspace/kde-workspace.shadow.changeset_r7777194da6154375fc8103b8c4e29e385cd7ae2e.diff.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/patch/kde-workspace/kde-workspace.batteryapplet.diff b/source/kde/patch/kde-workspace/kde-workspace.batteryapplet.diff
index ef899e83f..795827805 100644
--- a/source/kde/patch/kde-workspace/kde-workspace.batteryapplet.diff
+++ b/source/kde/patch/kde-workspace/kde-workspace.batteryapplet.diff
@@ -1,16 +1,13 @@
-diff -ur kdebase-workspace-4.5.80/plasma/generic/applets/battery/battery.cpp kdebase-workspace-4.5.80-battery-plasmoid-showremainingtime/plasma/generic/applets/battery/battery.cpp
---- kdebase-workspace-4.5.80/plasma/generic/applets/battery/battery.cpp 2010-11-19 11:51:21.000000000 +0100
-+++ kdebase-workspace-4.5.80-battery-plasmoid-showremainingtime/plasma/generic/applets/battery/battery.cpp 2010-11-20 20:39:11.000000000 +0100
-@@ -712,7 +712,11 @@
- m_acInfoLabel->setText(i18n("<b>Not plugged in</b>"));
- }
+diff -ur kde-workspace-4.8.80/plasma/generic/applets/batterymonitor/contents/config/main.xml kde-workspace-4.8.80-battery-plasmoid-showremainingtime/plasma/generic/applets/batterymonitor/contents/config/main.xml
+--- kde-workspace-4.8.80/plasma/generic/applets/batterymonitor/contents/config/main.xml 2012-05-23 01:55:18.000000000 +0200
++++ kde-workspace-4.8.80-battery-plasmoid-showremainingtime/plasma/generic/applets/batterymonitor/contents/config/main.xml 2012-05-26 22:09:44.000000000 +0200
+@@ -10,7 +10,7 @@
+ <default>false</default>
+ </entry>
+ <entry name="showRemainingTime" type="Bool">
+- <default>false</default>
++ <default>true</default>
+ </entry>
+ </group>
-- if (batteryCount && showRemainingTime && m_remainingMSecs > 0) {
-+ // Always show the remaining time in the popup.
-+ // We don't just set m_showRemainingTime to true by default because
-+ // that'd try to use the time also for the icon. That won't fit on
-+ // small panels.
-+ if (batteryCount && m_remainingMSecs > 0) {
- m_remainingTimeLabel->show();
- m_remainingInfoLabel->show();
- // we don't have too much accuracy so only give hours and minutes
+
diff --git a/source/kde/patch/kde-workspace/kde-workspace.shadow.changeset_r7777194da6154375fc8103b8c4e29e385cd7ae2e.diff b/source/kde/patch/kde-workspace/kde-workspace.shadow.changeset_r7777194da6154375fc8103b8c4e29e385cd7ae2e.diff
new file mode 100644
index 000000000..dbb4614c2
--- /dev/null
+++ b/source/kde/patch/kde-workspace/kde-workspace.shadow.changeset_r7777194da6154375fc8103b8c4e29e385cd7ae2e.diff
@@ -0,0 +1,92 @@
+commit 7777194da6154375fc8103b8c4e29e385cd7ae2e
+Author: Michael Pyne <mpyne@kde.org>
+Date: Sat Jun 29 16:13:20 2013 -0400
+
+ kdm, kcheckpass: Check for NULL return from crypt(3) and friends.
+
+ Potential issue noted and fixed by Mancha <mancha1@hush.com>.
+
+ Patch reviewed by myself and ossi. Review request was closed out by the
+ backport commit.
+
+diff --git a/kcheckpass/checkpass_etcpasswd.c b/kcheckpass/checkpass_etcpasswd.c
+index 1dbe06f..e261b7c 100644
+--- a/kcheckpass/checkpass_etcpasswd.c
++++ b/kcheckpass/checkpass_etcpasswd.c
+@@ -35,6 +35,7 @@ AuthReturn Authenticate(const char *method,
+ {
+ struct passwd *pw;
+ char *passwd;
++ char *crpt_passwd;
+
+ if (strcmp(method, "classic"))
+ return AuthError;
+@@ -49,7 +50,7 @@ AuthReturn Authenticate(const char *method,
+ if (!(passwd = conv(ConvGetHidden, 0)))
+ return AuthAbort;
+
+- if (!strcmp(pw->pw_passwd, crypt(passwd, pw->pw_passwd))) {
++ if ((crpt_passwd = crypt(passwd, pw->pw_passwd)) && !strcmp(pw->pw_passwd, crpt_passwd)) {
+ dispose(passwd);
+ return AuthOk; /* Success */
+ }
+diff --git a/kcheckpass/checkpass_osfc2passwd.c b/kcheckpass/checkpass_osfc2passwd.c
+index 9a074f9..d181233 100644
+--- a/kcheckpass/checkpass_osfc2passwd.c
++++ b/kcheckpass/checkpass_osfc2passwd.c
+@@ -38,6 +38,7 @@ AuthReturn Authenticate(const char *method,
+ const char *login, char *(*conv) (ConvRequest, const char *))
+ {
+ char *passwd;
++ char *crpt_passwd;
+ char c2passwd[256];
+
+ if (strcmp(method, "classic"))
+@@ -52,7 +53,7 @@ AuthReturn Authenticate(const char *method,
+ if (!(passwd = conv(ConvGetHidden, 0)))
+ return AuthAbort;
+
+- if (!strcmp(c2passwd, osf1c2crypt(passwd, c2passwd))) {
++ if ((crpt_passwd = osf1c2crypt(passwd, c2passwd)) && !strcmp(c2passwd, crpt_passwd)) {
+ dispose(passwd);
+ return AuthOk; /* Success */
+ }
+diff --git a/kcheckpass/checkpass_shadow.c b/kcheckpass/checkpass_shadow.c
+index ec3a4e0..c0f6913 100644
+--- a/kcheckpass/checkpass_shadow.c
++++ b/kcheckpass/checkpass_shadow.c
+@@ -69,7 +69,7 @@ AuthReturn Authenticate(const char *method,
+ crpt_passwd = crypt(typed_in_password, password);
+ #endif
+
+- if (!strcmp(password, crpt_passwd )) {
++ if (crpt_passwd && !strcmp(password, crpt_passwd )) {
+ dispose(typed_in_password);
+ return AuthOk; /* Success */
+ }
+diff --git a/kdm/backend/client.c b/kdm/backend/client.c
+index bdff6da..26bb0b4 100644
+--- a/kdm/backend/client.c
++++ b/kdm/backend/client.c
+@@ -540,6 +540,9 @@ verify(GConvFunc gconv, int rootok)
+ # if defined(HAVE_STRUCT_PASSWD_PW_EXPIRE) || defined(USESHADOW)
+ int tim, expir, warntime, quietlog;
+ # endif
++# if !defined(ultrix) && !defined(__ultrix__) && (defined(HAVE_PW_ENCRYPT) || defined(HAVE_CRYPT))
++ char *crpt_passwd;
++# endif
+ #endif
+
+ debug("verify ...\n");
+@@ -752,9 +755,9 @@ verify(GConvFunc gconv, int rootok)
+ # if defined(ultrix) || defined(__ultrix__)
+ if (authenticate_user(p, curpass, 0) < 0)
+ # elif defined(HAVE_PW_ENCRYPT)
+- if (strcmp(pw_encrypt(curpass, p->pw_passwd), p->pw_passwd))
++ if (!(crpt_passwd = pw_encrypt(curpass, p->pw_passwd)) || strcmp(crpt_passwd, p->pw_passwd))
+ # elif defined(HAVE_CRYPT)
+- if (strcmp(crypt(curpass, p->pw_passwd), p->pw_passwd))
++ if (!(crpt_passwd = crypt(curpass, p->pw_passwd)) || strcmp(crpt_passwd, p->pw_passwd))
+ # else
+ if (strcmp(curpass, p->pw_passwd))
+ # endif
diff --git a/source/kde/patch/kdelibs.patch b/source/kde/patch/kdelibs.patch
index d66622e08..c314b559c 100644
--- a/source/kde/patch/kdelibs.patch
+++ b/source/kde/patch/kdelibs.patch
@@ -4,5 +4,11 @@ zcat $CWD/patch/kdelibs/kdelibs.docbook.patch.gz | patch -p1 --verbose || { touc
# Make uPnP support depend on the environment variable SOLID_UPNP,
# e.g. by creating an /etc/profile.d/upnp.sh file with the following contents:
# export SOLID_UPNP=1
-cat $CWD/patch/kdelibs/kdelibs.upnp_conditional.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/kdelibs/kdelibs.upnp_conditional.patch.gz | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# Revert 3 patches which (although they probably follow the FDo spec better),
+# cause incorrect icon overrides:
+zcat $CWD/patch/kdelibs/return-not-break.-copy-paste-error.patch.gz | patch -R -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/kdelibs/coding-style-fixes.patch.gz | patch -R -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/kdelibs/return-application-icons-properly.patch.gz | patch -R -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/kde/patch/kdelibs/coding-style-fixes.patch b/source/kde/patch/kdelibs/coding-style-fixes.patch
new file mode 100644
index 000000000..11108f0a4
--- /dev/null
+++ b/source/kde/patch/kdelibs/coding-style-fixes.patch
@@ -0,0 +1,62 @@
+From 2173580f070e806d4715e13048c697c49ec262e2 Mon Sep 17 00:00:00 2001
+From: Aaron Seigo <aseigo@kde.org>
+Date: Thu, 21 Feb 2013 17:59:58 +0100
+Subject: [PATCH 047/111] coding style fixes
+
+---
+ kdeui/icons/kiconloader.cpp | 27 ++++++++++++---------------
+ 1 file changed, 12 insertions(+), 15 deletions(-)
+
+diff --git a/kdeui/icons/kiconloader.cpp b/kdeui/icons/kiconloader.cpp
+index 6fed667..dba474d 100644
+--- a/kdeui/icons/kiconloader.cpp
++++ b/kdeui/icons/kiconloader.cpp
+@@ -938,32 +938,29 @@ K3Icon KIconLoaderPrivate::findMatchingIcon(const QString& name, int size) const
+ }
+ }
+
+- foreach (KIconThemeNode *themeNode, links)
+- {
++ foreach (KIconThemeNode *themeNode, links) {
+ QString currentName = name;
+
+- while (!currentName.isEmpty())
+- {
+-
++ while (!currentName.isEmpty()) {
+ //kDebug(264) << "Looking up" << currentName;
+
+-// The following code has been commented out because the Qt SVG renderer needs
+-// to be improved. If you are going to change/remove some code from this part,
+-// please contact me before (ereslibre@kde.org), or kde-core-devel@kde.org. (ereslibre)
+- for (int i = 0 ; i < 4 ; i++)
+- {
++ for (int i = 0 ; i < 4 ; i++) {
+ icon = themeNode->theme->iconPath(currentName + ext[i], size, KIconLoader::MatchExact);
+- if (icon.isValid())
+- return icon;
++ if (icon.isValid()) {
++ break;
++ }
+
+ icon = themeNode->theme->iconPath(currentName + ext[i], size, KIconLoader::MatchBest);
+- if (icon.isValid())
+- return icon;
++ if (icon.isValid()) {
++ break;
++ }
+ }
++ //kDebug(264) << "Looking up" << currentName;
+
+- if (genericFallback)
++ if (genericFallback) {
+ // we already tested the base name
+ break;
++ }
+
+ int rindex = currentName.lastIndexOf('-');
+ if (rindex > 1) { // > 1 so that we don't split x-content or x-epoc
+--
+1.8.1.4
+
+
diff --git a/source/kde/patch/kdelibs/return-application-icons-properly.patch b/source/kde/patch/kdelibs/return-application-icons-properly.patch
new file mode 100644
index 000000000..2bdb53adf
--- /dev/null
+++ b/source/kde/patch/kdelibs/return-application-icons-properly.patch
@@ -0,0 +1,56 @@
+From 613c951a1157df0d8a907a155a5eaa706816d5f9 Mon Sep 17 00:00:00 2001
+From: Aaron Seigo <aseigo@kde.org>
+Date: Thu, 21 Feb 2013 17:58:11 +0100
+Subject: return application icons properly
+
+BUG:315578
+---
+ kdeui/icons/kiconloader.cpp | 31 ++++++++++++++++++++++++++++++-
+ 1 file changed, 30 insertions(+), 1 deletion(-)
+
+diff --git a/kdeui/icons/kiconloader.cpp b/kdeui/icons/kiconloader.cpp
+index f65e941..6fed667 100644
+--- a/kdeui/icons/kiconloader.cpp
++++ b/kdeui/icons/kiconloader.cpp
+@@ -909,7 +909,36 @@ K3Icon KIconLoaderPrivate::findMatchingIcon(const QString& name, int size) const
+ const char * const ext[4] = { ".png", ".svgz", ".svg", ".xpm" };
+ bool genericFallback = name.endsWith(QLatin1String("-x-generic"));
+
+- foreach(KIconThemeNode *themeNode, links)
++ // Do two passes through themeNodes.
++ //
++ // The first pass looks for an exact match in each themeNode one after the other.
++ // If one is found and it is an app icon then return that icon.
++ //
++ // In the next pass (assuming the first pass failed), it looks for exact matches
++ // and then generic fallbacks in each themeNode one after the other
++ //
++ // The reasoning is that application icons should always match exactly, all other
++ // icons may fallback. Since we do not know what the context is here when we start
++ // looking for it, we can only go by the path found.
++ foreach (KIconThemeNode *themeNode, links) {
++ for (int i = 0 ; i < 4 ; i++) {
++ icon = themeNode->theme->iconPath(name + ext[i], size, KIconLoader::MatchExact);
++ if (icon.isValid()) {
++ break;
++ }
++
++ icon = themeNode->theme->iconPath(name + ext[i], size, KIconLoader::MatchBest);
++ if (icon.isValid()) {
++ break;
++ }
++ }
++
++ if (icon.isValid() && icon.path.contains("/apps/")) {
++ return icon;
++ }
++ }
++
++ foreach (KIconThemeNode *themeNode, links)
+ {
+ QString currentName = name;
+
+--
+1.8.1.4
+
+
diff --git a/source/kde/patch/kdelibs/return-not-break.-copy-paste-error.patch b/source/kde/patch/kdelibs/return-not-break.-copy-paste-error.patch
new file mode 100644
index 000000000..b62818ed6
--- /dev/null
+++ b/source/kde/patch/kdelibs/return-not-break.-copy-paste-error.patch
@@ -0,0 +1,31 @@
+From 0edfd42151ad57322a10a24ab4971b638e220e6e Mon Sep 17 00:00:00 2001
+From: Aaron Seigo <aseigo@kde.org>
+Date: Thu, 21 Feb 2013 18:14:54 +0100
+Subject: [PATCH 049/111] return, not break. copy/paste error
+
+---
+ kdeui/icons/kiconloader.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/kdeui/icons/kiconloader.cpp b/kdeui/icons/kiconloader.cpp
+index dba474d..ce6aeea 100644
+--- a/kdeui/icons/kiconloader.cpp
++++ b/kdeui/icons/kiconloader.cpp
+@@ -947,12 +947,12 @@ K3Icon KIconLoaderPrivate::findMatchingIcon(const QString& name, int size) const
+ for (int i = 0 ; i < 4 ; i++) {
+ icon = themeNode->theme->iconPath(currentName + ext[i], size, KIconLoader::MatchExact);
+ if (icon.isValid()) {
+- break;
++ return icon;
+ }
+
+ icon = themeNode->theme->iconPath(currentName + ext[i], size, KIconLoader::MatchBest);
+ if (icon.isValid()) {
+- break;
++ return icon;
+ }
+ }
+ //kDebug(264) << "Looking up" << currentName;
+--
+1.8.1.4
+
diff --git a/source/kde/patch/kdepim.patch b/source/kde/patch/kdepim.patch
deleted file mode 100644
index 7618dc8a8..000000000
--- a/source/kde/patch/kdepim.patch
+++ /dev/null
@@ -1,3 +0,0 @@
-# Install the kleopatra headers, or else kopete-cryptography will not build:
-cat $CWD/patch/kdepim/kdepim-4.5.85-install-headers.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-
diff --git a/source/kde/patch/kdepim/kdepim-4.5.85-install-headers.patch b/source/kde/patch/kdepim/kdepim-4.5.85-install-headers.patch
deleted file mode 100644
index aa43059af..000000000
--- a/source/kde/patch/kdepim/kdepim-4.5.85-install-headers.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-diff -ur kdepim-4.5.85/kleopatra/libkleopatraclient/CMakeLists.txt kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/CMakeLists.txt
---- kdepim-4.5.85/kleopatra/libkleopatraclient/CMakeLists.txt 2010-01-27 01:22:34.000000000 +0100
-+++ kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/CMakeLists.txt 2010-12-08 14:40:45.000000000 +0100
-@@ -6,3 +6,7 @@
-
- add_subdirectory( tests )
-
-+install(
-+ FILES kleopatraclient_export.h
-+ DESTINATION ${INCLUDE_INSTALL_DIR}/libkleopatraclient
-+ )
-diff -ur kdepim-4.5.85/kleopatra/libkleopatraclient/core/CMakeLists.txt kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/core/CMakeLists.txt
---- kdepim-4.5.85/kleopatra/libkleopatraclient/core/CMakeLists.txt 2010-11-19 11:51:51.000000000 +0100
-+++ kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/core/CMakeLists.txt 2010-12-08 14:42:12.000000000 +0100
-@@ -55,4 +55,12 @@
- DESTINATION ${LIB_INSTALL_DIR}
- )
-
--
-+install(
-+ FILES
-+ initialization.h
-+ command.h
-+ selectcertificatecommand.h
-+ signencryptfilescommand.h
-+ decryptverifyfilescommand.h
-+ DESTINATION ${INCLUDE_INSTALL_DIR}/libkleopatraclient/core
-+ )
-diff -ur kdepim-4.5.85/kleopatra/libkleopatraclient/gui/CMakeLists.txt kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/gui/CMakeLists.txt
---- kdepim-4.5.85/kleopatra/libkleopatraclient/gui/CMakeLists.txt 2010-07-29 11:58:45.000000000 +0200
-+++ kdepim-4.5.85-install-headers/kleopatra/libkleopatraclient/gui/CMakeLists.txt 2010-12-08 14:42:41.000000000 +0100
-@@ -20,3 +20,8 @@
- DESTINATION ${LIB_INSTALL_DIR}
- )
-
-+install(
-+ FILES
-+ certificaterequester.h
-+ DESTINATION ${INCLUDE_INSTALL_DIR}/libkleopatraclient/gui
-+ )
-diff -ur kdepim-4.5.85/libkleo/CMakeLists.txt kdepim-4.5.85-install-headers/libkleo/CMakeLists.txt
---- kdepim-4.5.85/libkleo/CMakeLists.txt 2010-12-01 23:23:12.000000000 +0100
-+++ kdepim-4.5.85-install-headers/libkleo/CMakeLists.txt 2010-12-08 15:22:00.000000000 +0100
-@@ -112,6 +112,64 @@
- set_target_properties(kleo PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
- install(TARGETS kleo ${INSTALL_TARGETS_DEFAULT_ARGS})
-
-+install( FILES
-+ kleo/kleo_export.h
-+ kleo/enum.h
-+ kleo/oidmap.h
-+ kleo/cryptobackend.h
-+ kleo/cryptobackendfactory.h
-+ kleo/cryptoconfig.h
-+ kleo/dn.h
-+ kleo/job.h
-+ kleo/keylistjob.h
-+ kleo/keygenerationjob.h
-+ kleo/abstractimportjob.h
-+ kleo/importjob.h
-+ kleo/importfromkeyserverjob.h
-+ kleo/exportjob.h
-+ kleo/changeexpiryjob.h
-+ kleo/changeownertrustjob.h
-+ kleo/downloadjob.h
-+ kleo/deletejob.h
-+ kleo/encryptjob.h
-+ kleo/decryptjob.h
-+ kleo/signjob.h
-+ kleo/specialjob.h
-+ kleo/verifydetachedjob.h
-+ kleo/verifyopaquejob.h
-+ kleo/decryptverifyjob.h
-+ kleo/signencryptjob.h
-+ kleo/signkeyjob.h
-+ kleo/adduseridjob.h
-+ kleo/refreshkeysjob.h
-+ kleo/multideletejob.h
-+ kleo/hierarchicalkeylistjob.h
-+ kleo/keyfilter.h
-+ kleo/keyfiltermanager.h
-+ kleo/changepasswdjob.h
-+ kleo/checksumdefinition.h
-+ kleo/exception.h
-+ kleo/kconfigbasedkeyfilter.h
-+ kleo/listallkeysjob.h
-+ kleo/stl_util.h
-+ DESTINATION ${INCLUDE_INSTALL_DIR}/kleo COMPONENT Devel)
-+
-+install ( FILES
-+ ui/kdhorizontalline.h
-+ ui/messagebox.h
-+ ui/progressbar.h
-+ ui/progressdialog.h
-+ ui/keylistview.h
-+ ui/keyselectiondialog.h
-+ ui/keyrequester.h
-+ ui/keyapprovaldialog.h
-+ ui/dnattributeorderconfigwidget.h
-+ ui/cryptoconfigmodule.h
-+ ui/cryptoconfigdialog.h
-+ ui/directoryserviceswidget.h
-+ ui/filenamerequester.h
-+ DESTINATION ${INCLUDE_INSTALL_DIR}/kleo/ui COMPONENT Devel)
-+
- if ( WIN32 )
- install ( FILES libkleopatrarc-win32.desktop DESTINATION ${CONFIG_INSTALL_DIR} RENAME libkleopatrarc )
- else ( WIN32 )
-diff -ur kdepim-4.5.85/libkpgp/CMakeLists.txt kdepim-4.5.85-install-headers/libkpgp/CMakeLists.txt
---- kdepim-4.5.85/libkpgp/CMakeLists.txt 2010-07-29 11:59:00.000000000 +0200
-+++ kdepim-4.5.85-install-headers/libkpgp/CMakeLists.txt 2010-12-08 14:43:33.000000000 +0100
-@@ -35,3 +35,11 @@
- install(FILES kpgp.upd DESTINATION ${KCONF_UPDATE_INSTALL_DIR})
- install(PROGRAMS kpgp-3.1-upgrade-address-data.pl DESTINATION ${KCONF_UPDATE_INSTALL_DIR})
-
-+install(FILES
-+ kpgp.h
-+ kpgpbase.h
-+ kpgpblock.h
-+ kpgpkey.h
-+ kpgpui.h
-+ libkpgp_export.h
-+ DESTINATION ${INCLUDE_INSTALL_DIR}/kpgp COMPONENT Devel )
-
diff --git a/source/kde/patch/korundum.patch b/source/kde/patch/korundum.patch
deleted file mode 100644
index 7a8b7cfaa..000000000
--- a/source/kde/patch/korundum.patch
+++ /dev/null
@@ -1,4 +0,0 @@
-# Build against Ruby 1.9.3.
-# See also https://bugs.kde.org/show_bug.cgi?id=287057
-cat $CWD/patch/korundum/korundum_ruby19.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-
diff --git a/source/kde/patch/korundum/korundum_ruby19.patch b/source/kde/patch/korundum/korundum_ruby19.patch
deleted file mode 100644
index 561d8de13..000000000
--- a/source/kde/patch/korundum/korundum_ruby19.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff -up korundum-4.8.0/src/krubypluginfactory.cpp.ruby19 korundum-4.8.0/src/krubypluginfactory.cpp
---- korundum-4.8.0/src/krubypluginfactory.cpp.ruby19 2011-07-27 13:37:29.000000000 -0500
-+++ korundum-4.8.0/src/krubypluginfactory.cpp 2012-02-17 08:30:38.785635819 -0600
-@@ -39,7 +39,7 @@
- extern "C" {
- extern VALUE rb_load_path;
- extern VALUE qt_internal_module;
--void Init_prelude(void);
-+// void Init_prelude(void);
- }
-
- //
-@@ -165,7 +165,7 @@ QObject *KRubyPluginFactory::create(cons
- #if RUBY_VERSION >= 0x10900
- VALUE gem = rb_define_module("Gem");
- rb_const_set(gem, rb_intern("Enable"), Qtrue);
-- Init_prelude();
-+// Init_prelude();
- #endif
-
- ruby_incpush(QFile::encodeName(program.path()));
-@@ -342,7 +342,7 @@ int kdemain(int argc, char **argv)
- #if RUBY_VERSION >= 0x10900
- VALUE gem = rb_define_module("Gem");
- rb_const_set(gem, rb_intern("Enable"), Qtrue);
-- Init_prelude();
-+// Init_prelude();
- #endif
-
- ruby_incpush(QFile::encodeName(program.path()));
-
diff --git a/source/kde/post-install/konsole.post-install b/source/kde/post-install/konsole.post-install
index b0ef9a6b1..6104e9f2f 100644
--- a/source/kde/post-install/konsole.post-install
+++ b/source/kde/post-install/konsole.post-install
@@ -2,8 +2,9 @@
# still documented in the help manual. Here's a way to get the same
# thing, and it works here, but I honestly don't know how it will act
# everywhere with every shell. I just know it works with bash and ksh
-sed -i -e 's/Exec=konsole/Exec=konsole -e $SHELL -l/' \
- $PKG/usr/share/applications/kde4/konsole.desktop
+# Removed in KDE 4.9.4 package because it does not work:
+#sed -i -e 's/^Exec=konsole/Exec=konsole -e $SHELL -l/' \
+# $PKG/usr/share/applications/kde4/konsole.desktop
## I find this a little bit too bright... <change by pjv>
## Change the konsole defaults to look like the real Linux console:
diff --git a/source/kde/pre-install/amarok.pre-install b/source/kde/pre-install/amarok.pre-install
index 2deb10632..dfb3b0095 100644
--- a/source/kde/pre-install/amarok.pre-install
+++ b/source/kde/pre-install/amarok.pre-install
@@ -1,9 +1,9 @@
-if [ ! -r /usr/lib${LIBDIRSUFFIX}/libmysqld.a ]; then
+if [ ! -r /usr/bin/mysql_embedded ]; then
cat << EOF
-ERROR: missing /usr/lib${LIBDIRSUFFIX}/libmysqld.a
+ERROR: missing /usr/bin/mysql_embedded
please use mysql-embedded.SlackBuild in source/ap/mysql/
- to build and install a mysql package containing libmysqld.a,
- and then try again.
+ or build_embedded.package.sh in source/ap/mariadb/ to
+ rebuild your database package, reinstall it, and then try again.
EOF
touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ;
fi
diff --git a/source/kde/slack-desc/audiocd-kio b/source/kde/slack-desc/audiocd-kio
new file mode 100644
index 000000000..a82bd2840
--- /dev/null
+++ b/source/kde/slack-desc/audiocd-kio
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+audiocd-kio: audiocd-kio (audiocd kio slave)
+audiocd-kio:
+audiocd-kio: Audiocd kio slave.
+audiocd-kio:
+audiocd-kio:
+audiocd-kio:
+audiocd-kio:
+audiocd-kio:
+audiocd-kio:
+audiocd-kio: For more information, visit: http://www.kde.org
+audiocd-kio:
diff --git a/source/kde/slack-desc/bomber b/source/kde/slack-desc/bomber
new file mode 100644
index 000000000..cae9a7373
--- /dev/null
+++ b/source/kde/slack-desc/bomber
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+bomber: bomber (arcade bombing game for KDE)
+bomber:
+bomber: Bomber is a single player arcade game. The player is invading various
+bomber: cities in a plane that is decreasing in height. The goal of the game
+bomber: is to destroy all the buildings and advance to the next level.
+bomber: Each level gets a bit harder by increasing the speed of the plane
+bomber: and the height of the buildings.
+bomber:
+bomber:
+bomber: For more information, visit: http://www.kde.org
+bomber:
diff --git a/source/kde/slack-desc/bovo b/source/kde/slack-desc/bovo
new file mode 100644
index 000000000..8ccebb394
--- /dev/null
+++ b/source/kde/slack-desc/bovo
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+bovo: bovo (five-in-a-row board game)
+bovo:
+bovo: Bovo is a Gomoku ("five points" in Japanese) like game for two
+bovo: players, where the opponents alternate in placing their respective
+bovo: pictogram on the game board. Also known as: Connect Five,
+bovo: Five in a row, X and O, Naughts and Crosses.
+bovo:
+bovo:
+bovo:
+bovo: For more information, visit: http://www.kde.org
+bovo:
diff --git a/source/kde/slack-desc/dragon b/source/kde/slack-desc/dragon
new file mode 100644
index 000000000..115fda182
--- /dev/null
+++ b/source/kde/slack-desc/dragon
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+dragon: dragon (KDE multimedia player)
+dragon:
+dragon: Dragon Player is a multimedia player where the focus is on simplicity,
+dragon: instead of features. Dragon Player does one thing, and only one
+dragon: thing, which is playing multimedia files.
+dragon:
+dragon:
+dragon:
+dragon:
+dragon: For more information, visit: http://www.kde.org
+dragon:
diff --git a/source/kde/slack-desc/ffmpegthumbs b/source/kde/slack-desc/ffmpegthumbs
new file mode 100644
index 000000000..6ff665ff3
--- /dev/null
+++ b/source/kde/slack-desc/ffmpegthumbs
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ffmpegthumbs: ffmpegthumbs (video thumbnail generator using ffmpeg)
+ffmpegthumbs:
+ffmpegthumbs: FFMpegThumbs is a video thumbnail generator for KDE file managers
+ffmpegthumbs: like Dolphin and Konqueror. It enables them to show preview
+ffmpegthumbs: images of video files using FFMpeg.
+ffmpegthumbs:
+ffmpegthumbs:
+ffmpegthumbs:
+ffmpegthumbs:
+ffmpegthumbs: For more information, visit: http://www.kde.org
+ffmpegthumbs:
diff --git a/source/kde/slack-desc/granatier b/source/kde/slack-desc/granatier
new file mode 100644
index 000000000..6eb369542
--- /dev/null
+++ b/source/kde/slack-desc/granatier
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+granatier: granatier (bomberman clone for KDE)
+granatier:
+granatier: Granatier is a clone of the classic Bomberman game, inspired by
+granatier: the work of the Clanbomber clone.
+granatier:
+granatier:
+granatier:
+granatier:
+granatier:
+granatier: For more information, visit: http://www.kde.org
+granatier:
diff --git a/source/kde/slack-desc/juk b/source/kde/slack-desc/juk
new file mode 100644
index 000000000..bad97bd81
--- /dev/null
+++ b/source/kde/slack-desc/juk
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+juk: juk (audio jukebox application)
+juk:
+juk: JuK is an audio jukebox application, supporting collections of MP3,
+juk: Ogg Vorbis, and FLAC audio files. It allows you to edit the "tags"
+juk: of your audio files, and manage your collection and playlists.
+juk: It's main focus, in fact, is on music management.
+juk:
+juk:
+juk:
+juk: For more information, visit: http://www.kde.org
+juk:
diff --git a/source/kde/slack-desc/kajongg b/source/kde/slack-desc/kajongg
new file mode 100644
index 000000000..eb317ef64
--- /dev/null
+++ b/source/kde/slack-desc/kajongg
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kajongg: kajongg (Mah Jongg for KDE)
+kajongg:
+kajongg: Kajongg is the ancient Chinese board game for 4 players.
+kajongg: Kajongg can be used in two different ways: Scoring a manual game where
+kajongg: you play as always and use Kajongg for the computation of scores and
+kajongg: for bookkeeping. Or you can use Kajongg to play against any
+kajongg: combination of other human players or computer players.
+kajongg:
+kajongg:
+kajongg: For more information, visit: http://www.kde.org
+kajongg:
diff --git a/source/kde/slack-desc/kapman b/source/kde/slack-desc/kapman
new file mode 100644
index 000000000..750a4efdd
--- /dev/null
+++ b/source/kde/slack-desc/kapman
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kapman: kapman (KDE version of Pac-Man)
+kapman:
+kapman: Kapman is a clone of the well known game Pac-Man.
+kapman: You must run through the maze to eat all pills without being captured
+kapman: by a ghost. By eating an energizer, Kapman gets the ability to eat
+kapman: ghosts for a few seconds. When a stage is cleared of pills and
+kapman: energizer the player is taken to the next stage with slightly
+kapman: increased game speed.
+kapman:
+kapman: For more information, visit: http://www.kde.org
+kapman:
diff --git a/source/kde/slack-desc/katomic b/source/kde/slack-desc/katomic
new file mode 100644
index 000000000..de76b5140
--- /dev/null
+++ b/source/kde/slack-desc/katomic
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+katomic: katomic (re-assemble molecules from compound atoms)
+katomic:
+katomic: Katomic is both fun and educational game built around molecular
+katomic: geometry. It employs simplistic two-dimensional looks at different
+katomic: chemical elements. You can also play an online demo version
+katomic: of this game.
+katomic:
+katomic:
+katomic:
+katomic: For more information, visit: http://www.kde.org
+katomic:
diff --git a/source/kde/slack-desc/kblackbox b/source/kde/slack-desc/kblackbox
new file mode 100644
index 000000000..a4525a2b6
--- /dev/null
+++ b/source/kde/slack-desc/kblackbox
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kblackbox: kblackbox (a game of hide and seek)
+kblackbox:
+kblackbox: KBlackbox is a game of hide and seek played on a grid of boxes
+kblackbox: where the computer has hidden several balls.
+kblackbox:
+kblackbox:
+kblackbox:
+kblackbox:
+kblackbox:
+kblackbox: For more information, visit: http://www.kde.org
+kblackbox:
diff --git a/source/kde/slack-desc/kblocks b/source/kde/slack-desc/kblocks
new file mode 100644
index 000000000..bdbfdfaa6
--- /dev/null
+++ b/source/kde/slack-desc/kblocks
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kblocks: kblocks (falling blocks game for KDE)
+kblocks:
+kblocks: KBlocks is the KDE version of the classic falling blocks game.
+kblocks:
+kblocks:
+kblocks:
+kblocks:
+kblocks:
+kblocks:
+kblocks: For more information, visit: http://www.kde.org
+kblocks:
diff --git a/source/kde/slack-desc/kbounce b/source/kde/slack-desc/kbounce
new file mode 100644
index 000000000..2a9832677
--- /dev/null
+++ b/source/kde/slack-desc/kbounce
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kbounce: kbounce (KDE Bounce Ball Game)
+kbounce:
+kbounce: KBounce is a single player arcade game with the elements of puzzle.
+kbounce: It is played on a field, surrounded by wall, with two or more balls
+kbounce: that move about in the field bouncing off of walls.
+kbounce: The player can build new walls, decreasing the size of active field.
+kbounce:
+kbounce:
+kbounce:
+kbounce: For more information, visit: http://www.kde.org
+kbounce:
diff --git a/source/kde/slack-desc/kbreakout b/source/kde/slack-desc/kbreakout
new file mode 100644
index 000000000..e9b53a145
--- /dev/null
+++ b/source/kde/slack-desc/kbreakout
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kbreakout: kbreakout (breakout-like game for KDE)
+kbreakout:
+kbreakout: KBreakout is the KDE version of a Breakout-like game.
+kbreakout:
+kbreakout:
+kbreakout:
+kbreakout:
+kbreakout:
+kbreakout:
+kbreakout: For more information, visit: http://www.kde.org
+kbreakout:
diff --git a/source/kde/slack-desc/kdeaccessibility b/source/kde/slack-desc/kdeaccessibility
index e176b3887..91669ef7d 100644
--- a/source/kde/slack-desc/kdeaccessibility
+++ b/source/kde/slack-desc/kdeaccessibility
@@ -17,3 +17,4 @@ kdeaccessibility:
kdeaccessibility:
kdeaccessibility:
kdeaccessibility:
+kdeaccessibility:
diff --git a/source/kde/slack-desc/kdevelop-php b/source/kde/slack-desc/kdevelop-php
new file mode 100644
index 000000000..be58f46cd
--- /dev/null
+++ b/source/kde/slack-desc/kdevelop-php
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdevelop-php: kdevelop-php (PHP language plugin for KDevelop)
+kdevelop-php:
+kdevelop-php: This is a KDevelop plugin that provides support for the PHP language.
+kdevelop-php:
+kdevelop-php:
+kdevelop-php:
+kdevelop-php:
+kdevelop-php:
+kdevelop-php:
+kdevelop-php:
+kdevelop-php:
diff --git a/source/kde/slack-desc/kdevelop-php-docs b/source/kde/slack-desc/kdevelop-php-docs
new file mode 100644
index 000000000..df368584c
--- /dev/null
+++ b/source/kde/slack-desc/kdevelop-php-docs
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdevelop-php-docs: kdevelop-php-docs (PHP documentation plugin for KDevelop)
+kdevelop-php-docs:
+kdevelop-php-docs: This KDevelop plugin integrates the php.net online documentation.
+kdevelop-php-docs:
+kdevelop-php-docs:
+kdevelop-php-docs:
+kdevelop-php-docs:
+kdevelop-php-docs:
+kdevelop-php-docs:
+kdevelop-php-docs:
+kdevelop-php-docs:
diff --git a/source/kde/slack-desc/kdiamond b/source/kde/slack-desc/kdiamond
new file mode 100644
index 000000000..4c2c7cc61
--- /dev/null
+++ b/source/kde/slack-desc/kdiamond
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kdiamond: kdiamond (three-in-a-row game for KDE)
+kdiamond:
+kdiamond: KDiamond is a single player puzzle game. The object of the game is
+kdiamond: to build and remove lines of three similar diamonds.
+kdiamond:
+kdiamond:
+kdiamond:
+kdiamond:
+kdiamond:
+kdiamond: For more information, visit: http://www.kde.org
+kdiamond:
diff --git a/source/kde/slack-desc/kfourinline b/source/kde/slack-desc/kfourinline
new file mode 100644
index 000000000..78b18d846
--- /dev/null
+++ b/source/kde/slack-desc/kfourinline
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kfourinline: kfourinline (four-in-a-row board game)
+kfourinline:
+kfourinline: KFourInLine is a board game for two players based on the
+kfourinline: Connect-Four game. The players try to build up a row of
+kfourinline: four pieces using different strategies.
+kfourinline:
+kfourinline:
+kfourinline:
+kfourinline:
+kfourinline: For more information, visit: http://www.kde.org
+kfourinline:
diff --git a/source/kde/slack-desc/kgoldrunner b/source/kde/slack-desc/kgoldrunner
new file mode 100644
index 000000000..6b067c102
--- /dev/null
+++ b/source/kde/slack-desc/kgoldrunner
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kgoldrunner: kgoldrunner (Hunt gold, dodge enemies and solve puzzles)
+kgoldrunner:
+kgoldrunner: KGoldrunner is a maze-threading game with a puzzle flavor.
+kgoldrunner: It has hundreds of levels where pieces of gold must be collected,
+kgoldrunner: with enemies in hot pursuit.
+kgoldrunner:
+kgoldrunner:
+kgoldrunner:
+kgoldrunner:
+kgoldrunner: For more information, visit: http://www.kde.org
+kgoldrunner:
diff --git a/source/kde/slack-desc/kigo b/source/kde/slack-desc/kigo
new file mode 100644
index 000000000..3939e01a8
--- /dev/null
+++ b/source/kde/slack-desc/kigo
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kigo: kigo (Go board game for KDE)
+kigo:
+kigo: Kigo is an open-source implementation of the popular Go game.
+kigo: Go is a strategic board game for two players. It is also known as igo
+kigo: (Japanese), weiqi or wei ch'i (Chinese) or baduk (Korean). Go is noted
+kigo: for being rich in strategic complexity despite its simple rules.
+kigo: The game is played by two players who alternately place black and
+kigo: white pieces on the vacant intersections of a grid of 19x19 lines
+kigo: (9x9 or 13x13 for easier games).
+kigo:
+kigo: For more information, visit: http://www.kde.org
diff --git a/source/kde/slack-desc/killbots b/source/kde/slack-desc/killbots
new file mode 100644
index 000000000..6acee0585
--- /dev/null
+++ b/source/kde/slack-desc/killbots
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+killbots: killbots (Robots-like game for KDE)
+killbots:
+killbots: Killbots is a simple game of evading killer robots.
+killbots:
+killbots:
+killbots:
+killbots:
+killbots:
+killbots:
+killbots: For more information, visit: http://www.kde.org
+killbots:
diff --git a/source/kde/slack-desc/kio-mtp b/source/kde/slack-desc/kio-mtp
new file mode 100644
index 000000000..38c14b162
--- /dev/null
+++ b/source/kde/slack-desc/kio-mtp
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kio-mtp: kio-mtp (Provides KIO Access to MTP devices)
+kio-mtp:
+kio-mtp: Provides KIO Access to MTP devices using the mtp:/// protocol.
+kio-mtp: MTP stands for Media Transfer Protocol” It is required in order to
+kio-mtp: access and manage files on devices running Android 4.0 and later.
+kio-mtp:
+kio-mtp:
+kio-mtp: Kio-mtp has been developed by Philipp Schmidt.
+kio-mtp:
+kio-mtp: For more information, visit: http://www.kde.org
+kio-mtp:
diff --git a/source/kde/slack-desc/kiriki b/source/kde/slack-desc/kiriki
new file mode 100644
index 000000000..cc09bbf43
--- /dev/null
+++ b/source/kde/slack-desc/kiriki
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kiriki: kiriki (yahtzee-like dice game for KDE)
+kiriki:
+kiriki: Kiriki is an addictive and fun dice game for KDE, designed to be
+kiriki: played by as many as six players. Participants have to collect points
+kiriki: by rolling five dice for up to three times per single turn.
+kiriki:
+kiriki:
+kiriki:
+kiriki:
+kiriki: For more information, visit: http://www.kde.org
+kiriki:
diff --git a/source/kde/slack-desc/kjumpingcube b/source/kde/slack-desc/kjumpingcube
new file mode 100644
index 000000000..e8646f9dc
--- /dev/null
+++ b/source/kde/slack-desc/kjumpingcube
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kjumpingcube: kjumpingcube (territory capture game)
+kjumpingcube:
+kjumpingcube: KJumpingcube is a simple dice driven tactical game.
+kjumpingcube: The playing area consists of squares containing points.
+kjumpingcube: Players move by clicking on either a vacant square,
+kjumpingcube: or on one of their own squares.
+kjumpingcube:
+kjumpingcube:
+kjumpingcube:
+kjumpingcube: For more information, visit: http://www.kde.org
+kjumpingcube:
diff --git a/source/kde/slack-desc/klickety b/source/kde/slack-desc/klickety
new file mode 100644
index 000000000..e35b2a38a
--- /dev/null
+++ b/source/kde/slack-desc/klickety
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+klickety: klickety (strategy game)
+klickety:
+klickety: Klickety is a strategy game for KDE, an adaption of the Clickomania
+klickety: game.
+klickety: The rules are similar to those of the Same game: your goal is to clear
+klickety: the board by clicking on groups to destroy them.
+klickety:
+klickety:
+klickety:
+klickety: For more information, visit: http://www.kde.org
+klickety:
diff --git a/source/kde/slack-desc/klines b/source/kde/slack-desc/klines
new file mode 100644
index 000000000..193eee19c
--- /dev/null
+++ b/source/kde/slack-desc/klines
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+klines: klines (tactical game for KDE)
+klines:
+klines: KLines is a simple but highly addictive, one player game for KDE.
+klines: KLines has been inspired by well known game of Color Lines, written
+klines: by Olga Demina, Igor Ivkin and Gennady Denisov back in 1992.
+klines: You can also play an online demo version of this game.
+klines:
+klines:
+klines:
+klines: For more information, visit: http://www.kde.org
+klines:
diff --git a/source/kde/slack-desc/kmahjongg b/source/kde/slack-desc/kmahjongg
new file mode 100644
index 000000000..cd653a971
--- /dev/null
+++ b/source/kde/slack-desc/kmahjongg
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kmahjongg: kmahjongg (KDE port of Mahjongg game)
+kmahjongg:
+kmahjongg: KMahjongg is a clone of the well known tile based patience game of
+kmahjongg: the same name. In the game you have to empty a game board filled
+kmahjongg: with pieces, by pairwise removal of pieces of the same type.
+kmahjongg:
+kmahjongg:
+kmahjongg:
+kmahjongg:
+kmahjongg: For more information, visit: http://www.kde.org
+kmahjongg:
diff --git a/source/kde/slack-desc/kmines b/source/kde/slack-desc/kmines
new file mode 100644
index 000000000..16981d23c
--- /dev/null
+++ b/source/kde/slack-desc/kmines
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kmines: kmines (minesweeper clone for KDE)
+kmines:
+kmines: KMines is the classic Minesweeper game. The idea is to uncover all
+kmines: the squares without blowing up any mines. When a mine is blown up,
+kmines: the game is over.
+kmines:
+kmines:
+kmines:
+kmines:
+kmines: For more information, visit: http://www.kde.org
+kmines:
diff --git a/source/kde/slack-desc/kmix b/source/kde/slack-desc/kmix
new file mode 100644
index 000000000..0325cdb2b
--- /dev/null
+++ b/source/kde/slack-desc/kmix
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kmix: kmix (sound mixer)
+kmix:
+kmix: KMix is an application to allow you to change the volume of your
+kmix: sound card. Though small, it is full-featured, and it supports
+kmix: several platforms and sound drivers.
+kmix:
+kmix:
+kmix:
+kmix:
+kmix: For more information, visit: http://www.kde.org
+kmix:
diff --git a/source/kde/slack-desc/knavalbattle b/source/kde/slack-desc/knavalbattle
new file mode 100644
index 000000000..a6058c5bd
--- /dev/null
+++ b/source/kde/slack-desc/knavalbattle
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+knavalbattle: knavalbattle (KDE version of battleship game)
+knavalbattle:
+knavalbattle: KNavalBattle is a battleship game with built-in game server.
+knavalbattle: Ships are placed on a board which represents the sea. Players try
+knavalbattle: to hit each others ships in turns without knowing where they are
+knavalbattle: placed. The first player to destroy all ships wins the game.
+knavalbattle:
+knavalbattle:
+knavalbattle:
+knavalbattle: For more information, visit: http://www.kde.org
+knavalbattle:
diff --git a/source/kde/slack-desc/knetwalk b/source/kde/slack-desc/knetwalk
new file mode 100644
index 000000000..df4b9bb14
--- /dev/null
+++ b/source/kde/slack-desc/knetwalk
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+knetwalk: knetwalk (turn the board pieces to get computers connected)
+knetwalk:
+knetwalk: KNetwalk is a single player logic game. Construct the network,
+knetwalk: connecting all the terminals to the server in the fewest turns
+knetwalk: possible.
+knetwalk:
+knetwalk:
+knetwalk:
+knetwalk:
+knetwalk: For more information, visit: http://www.kde.org
+knetwalk:
diff --git a/source/kde/slack-desc/kolf b/source/kde/slack-desc/kolf
new file mode 100644
index 000000000..a198a8b2a
--- /dev/null
+++ b/source/kde/slack-desc/kolf
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kolf: kolf (miniature golf game for KDE)
+kolf:
+kolf: Kolf is a miniature golf game. The game is played from an overhead
+kolf: view, with a short bar representing the golf club. Kolf features many
+kolf: different types of objects, such water hazards, slopes, sand traps,
+kolf: and black holes (warps), among others.
+kolf:
+kolf:
+kolf:
+kolf: For more information, visit: http://www.kde.org
+kolf:
diff --git a/source/kde/slack-desc/kollision b/source/kde/slack-desc/kollision
new file mode 100644
index 000000000..e0b4a2a28
--- /dev/null
+++ b/source/kde/slack-desc/kollision
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kollision: kollision (simple ball dodging game)
+kollision:
+kollision: Kollision is a simple ball dodging game.
+kollision:
+kollision:
+kollision:
+kollision:
+kollision:
+kollision:
+kollision: For more information, visit: http://www.kde.org
+kollision:
diff --git a/source/kde/slack-desc/konquest b/source/kde/slack-desc/konquest
new file mode 100644
index 000000000..e26e47473
--- /dev/null
+++ b/source/kde/slack-desc/konquest
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+konquest: konquest (KDE version of Gnu-Lactic Konquest)
+konquest:
+konquest: This the KDE version of Gnu-Lactic Konquest, a multi-player
+konquest: strategy game. The goal of the game is to expand your
+konquest: interstellar empire across the galaxy.
+konquest:
+konquest:
+konquest:
+konquest:
+konquest: For more information, visit: http://www.kde.org
+konquest:
diff --git a/source/kde/slack-desc/kpat b/source/kde/slack-desc/kpat
new file mode 100644
index 000000000..08a843995
--- /dev/null
+++ b/source/kde/slack-desc/kpat
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kpat: kpat (patience card game for KDE)
+kpat:
+kpat: KPat (aka KPatience) is a relaxing card sorting game. To win the game
+kpat: a player has to arrange a single deck of cards in certain order
+kpat: amongst each other.
+kpat:
+kpat:
+kpat:
+kpat:
+kpat: For more information, visit: http://www.kde.org
+kpat:
diff --git a/source/kde/slack-desc/kreversi b/source/kde/slack-desc/kreversi
new file mode 100644
index 000000000..fb6c5d315
--- /dev/null
+++ b/source/kde/slack-desc/kreversi
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kreversi: kreversi (reversi board game for KDE)
+kreversi:
+kreversi: KReversi is a simple one player strategy game played against the
+kreversi: computer. If a player's piece is captured by an opposing player,
+kreversi: that piece is turned over to reveal the color of that player.
+kreversi: A winner is declared when one player has more pieces of his own color
+kreversi: on the board and there are no more possible moves.
+kreversi:
+kreversi:
+kreversi: For more information, visit: http://www.kde.org
+kreversi:
diff --git a/source/kde/slack-desc/kscd b/source/kde/slack-desc/kscd
new file mode 100644
index 000000000..c45699e52
--- /dev/null
+++ b/source/kde/slack-desc/kscd
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kscd: kscd (CD player)
+kscd:
+kscd: KsCD is a small, fast, CDDB enabled audio CD player which supports
+kscd: multiple platforms.
+kscd:
+kscd:
+kscd:
+kscd:
+kscd:
+kscd: For more information, visit: http://www.kde.org
+kscd:
diff --git a/source/kde/slack-desc/kscreen b/source/kde/slack-desc/kscreen
new file mode 100644
index 000000000..90f1d636f
--- /dev/null
+++ b/source/kde/slack-desc/kscreen
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kscreen: kscreen (KDE screen management)
+kscreen:
+kscreen: KScreen is the new screen management software for KDE Plasma
+kscreen: Workspaces which tries to be as magic and automatic as possible
+kscreen: for users with basic needs and easy to configure for those
+kscreen: who want special setups.
+kscreen:
+kscreen:
+kscreen: For more information, visit:
+kscreen: http://community.kde.org/Solid/Projects/ScreenManagement
+kscreen:
diff --git a/source/kde/slack-desc/kshisen b/source/kde/slack-desc/kshisen
new file mode 100644
index 000000000..1af7d3518
--- /dev/null
+++ b/source/kde/slack-desc/kshisen
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kshisen: kshisen (Shisen-Sho Mahjongg-like tile game)
+kshisen:
+kshisen: KShisen is a solitaire-like game played using the standard set of
+kshisen: Mahjong tiles. Unlike Mahjong however, KShisen has only one layer
+kshisen: of scrambled tiles.
+kshisen:
+kshisen:
+kshisen:
+kshisen:
+kshisen: For more information, visit: http://www.kde.org
+kshisen:
diff --git a/source/kde/slack-desc/ksirk b/source/kde/slack-desc/ksirk
new file mode 100644
index 000000000..1a0826dce
--- /dev/null
+++ b/source/kde/slack-desc/ksirk
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ksirk: ksirk (KDE port of the board game risk)
+ksirk:
+ksirk: Ksirk is a KDE port of the board game risk.
+ksirk:
+ksirk:
+ksirk:
+ksirk:
+ksirk:
+ksirk:
+ksirk: For more information, visit: http://www.kde.org
+ksirk:
diff --git a/source/kde/slack-desc/ksnakeduel b/source/kde/slack-desc/ksnakeduel
new file mode 100644
index 000000000..731a77263
--- /dev/null
+++ b/source/kde/slack-desc/ksnakeduel
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ksnakeduel: ksnakeduel (simple snake duel game for KDE)
+ksnakeduel:
+ksnakeduel: KSnakeDuel is a simple snake duel game for KDE. You can play
+ksnakeduel: KSnakeDuel against the computer or a friend. The aim of the game is
+ksnakeduel: to live longer than your opponent. To do that, avoid running into
+ksnakeduel: a wall, your own tail and that of your opponent.
+ksnakeduel:
+ksnakeduel:
+ksnakeduel:
+ksnakeduel: For more information, visit: http://www.kde.org
+ksnakeduel:
diff --git a/source/kde/slack-desc/kspaceduel b/source/kde/slack-desc/kspaceduel
new file mode 100644
index 000000000..8a4435f48
--- /dev/null
+++ b/source/kde/slack-desc/kspaceduel
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kspaceduel: kspaceduel (space arcade game)
+kspaceduel:
+kspaceduel: In KSpaceduel each of two possible players controls a satellite
+kspaceduel: spaceship orbiting the sun. As the game progresses players have to
+kspaceduel: eliminate opponent's spacecraft.
+kspaceduel:
+kspaceduel:
+kspaceduel:
+kspaceduel:
+kspaceduel: For more information, visit: http://www.kde.org
+kspaceduel:
diff --git a/source/kde/slack-desc/ksquares b/source/kde/slack-desc/ksquares
new file mode 100644
index 000000000..ed147ff0f
--- /dev/null
+++ b/source/kde/slack-desc/ksquares
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ksquares: ksquares (connect the dots to create squares)
+ksquares:
+ksquares: KSquares is a fun and exciting game for desktop environment.
+ksquares: The game is modeled after the well known pen and paper based
+ksquares: game of Dots and Boxes.
+ksquares:
+ksquares:
+ksquares:
+ksquares:
+ksquares: For more information, visit: http://www.kde.org
+ksquares:
diff --git a/source/kde/slack-desc/ksudoku b/source/kde/slack-desc/ksudoku
new file mode 100644
index 000000000..530f9d7e2
--- /dev/null
+++ b/source/kde/slack-desc/ksudoku
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ksudoku: ksudoku (sudoku game)
+ksudoku:
+ksudoku: KSudoku is a logic-based symbol placement puzzle.
+ksudoku: The player has to fill a grid so that each column, row as well as
+ksudoku: each square block on the game field contains only one instance of
+ksudoku: each symbol.
+ksudoku:
+ksudoku:
+ksudoku:
+ksudoku: For more information, visit: http://www.kde.org
+ksudoku:
diff --git a/source/kde/slack-desc/ktuberling b/source/kde/slack-desc/ktuberling
new file mode 100644
index 000000000..b6386d697
--- /dev/null
+++ b/source/kde/slack-desc/ktuberling
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ktuberling: ktuberling (picture game for children)
+ktuberling:
+ktuberling: KTuberling a simple constructor game suitable for children and
+ktuberling: adults alike. The idea of the game is based around a once popular
+ktuberling: doll making concept.
+ktuberling:
+ktuberling:
+ktuberling:
+ktuberling:
+ktuberling: For more information, visit: http://www.kde.org
+ktuberling:
diff --git a/source/kde/slack-desc/kubrick b/source/kde/slack-desc/kubrick
new file mode 100644
index 000000000..15bf1df1e
--- /dev/null
+++ b/source/kde/slack-desc/kubrick
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+kubrick: kubrick (3-D game based on Rubik's Cube)
+kubrick:
+kubrick: Kubrick is a game based on the Rubik's Cube puzzle. The cube sizes
+kubrick: range from 2x2x2 up to 6x6x6, or you can play with irregular "bricks"
+kubrick: such as 5x3x2 or "mats" such as 6x4x1 or 2x2x1.
+kubrick: The game has a selection of puzzles at several levels of difficulty,
+kubrick: as well as demos of pretty patterns and solution moves, or you can
+kubrick: make up your own puzzles.
+kubrick:
+kubrick: For more information, visit: http://www.kde.org
+kubrick:
diff --git a/source/kde/slack-desc/libkcddb b/source/kde/slack-desc/libkcddb
new file mode 100644
index 000000000..40f295051
--- /dev/null
+++ b/source/kde/slack-desc/libkcddb
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkcddb: libkcddb (KDE CDDB retrieval library)
+libkcddb:
+libkcddb: A KDE CDDB retrieval library.
+libkcddb:
+libkcddb:
+libkcddb:
+libkcddb:
+libkcddb:
+libkcddb:
+libkcddb: For more information, visit: http://www.kde.org
+libkcddb:
diff --git a/source/kde/slack-desc/libkcompactdisc b/source/kde/slack-desc/libkcompactdisc
new file mode 100644
index 000000000..67ce9c92f
--- /dev/null
+++ b/source/kde/slack-desc/libkcompactdisc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkcompactdisc: libkcompactdisc (KDE library for playing & ripping CDs)
+libkcompactdisc:
+libkcompactdisc: A KDE library for playing & ripping CDs.
+libkcompactdisc:
+libkcompactdisc:
+libkcompactdisc:
+libkcompactdisc:
+libkcompactdisc:
+libkcompactdisc:
+libkcompactdisc: For more information, visit: http://www.kde.org
+libkcompactdisc:
diff --git a/source/kde/slack-desc/libkdegames b/source/kde/slack-desc/libkdegames
new file mode 100644
index 000000000..d38388579
--- /dev/null
+++ b/source/kde/slack-desc/libkdegames
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkdegames: libkdegames (common code and data for many KDE games)
+libkdegames:
+libkdegames: Libkdegames contains common code and data for many KDE games.
+libkdegames:
+libkdegames:
+libkdegames:
+libkdegames:
+libkdegames:
+libkdegames:
+libkdegames: For more information, visit: http://www.kde.org
+libkdegames:
diff --git a/source/kde/slack-desc/libkmahjongg b/source/kde/slack-desc/libkmahjongg
new file mode 100644
index 000000000..8851a3c74
--- /dev/null
+++ b/source/kde/slack-desc/libkmahjongg
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkmahjongg: libkmahjongg (library for rendering of Mahjongg tilesets)
+libkmahjongg:
+libkmahjongg: libkmahjongg is a library used by several KDE games for loading
+libkmahjongg: and rendering of Mahjongg tilesets.
+libkmahjongg:
+libkmahjongg:
+libkmahjongg:
+libkmahjongg:
+libkmahjongg:
+libkmahjongg: For more information, visit: http://www.kde.org
+libkmahjongg:
diff --git a/source/kde/slack-desc/libkscreen b/source/kde/slack-desc/libkscreen
new file mode 100644
index 000000000..d8232093b
--- /dev/null
+++ b/source/kde/slack-desc/libkscreen
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libkscreen: libkscreen (KDE screen management library)
+libkscreen:
+libkscreen: LibKScreen is a library that provides access to current configuration
+libkscreen: of connected displays and ways to change the configuration.
+libkscreen:
+libkscreen:
+libkscreen:
+libkscreen:
+libkscreen: For more information, visit:
+libkscreen: http://community.kde.org/Solid/Projects/ScreenManagement
+libkscreen:
diff --git a/source/kde/slack-desc/lskat b/source/kde/slack-desc/lskat
new file mode 100644
index 000000000..cccb8714f
--- /dev/null
+++ b/source/kde/slack-desc/lskat
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+lskat: lskat (Lieutenant Skat card game for KDE)
+lskat:
+lskat: Lieutenant Skat (from German "Offiziersskat") is a fun and engaging
+lskat: card game for two players, where the second player is either live
+lskat: opponent, or a built in artificial intelligence.
+lskat:
+lskat:
+lskat:
+lskat:
+lskat: For more information, visit: http://www.kde.org
+lskat:
diff --git a/source/kde/slack-desc/mplayerthumbs b/source/kde/slack-desc/mplayerthumbs
new file mode 100644
index 000000000..999518dbe
--- /dev/null
+++ b/source/kde/slack-desc/mplayerthumbs
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+mplayerthumbs: mplayerthumbs (video thumbnail generator)
+mplayerthumbs:
+mplayerthumbs: MPlayerThumbs is a video thumbnail generator for KDE file managers
+mplayerthumbs: like Dolphin and Konqueror. It enables them to show preview images
+mplayerthumbs: of video files.
+mplayerthumbs:
+mplayerthumbs:
+mplayerthumbs:
+mplayerthumbs:
+mplayerthumbs: For more information, visit: http://www.kde.org
+mplayerthumbs:
diff --git a/source/kde/slack-desc/nepomuk-core b/source/kde/slack-desc/nepomuk-core
new file mode 100644
index 000000000..c969b9eda
--- /dev/null
+++ b/source/kde/slack-desc/nepomuk-core
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+nepomuk-core: nepomuk-core (Nepomuk Core utilities and libraries)
+nepomuk-core:
+nepomuk-core: This package contains the Nepomuk Core utilities and libraries.
+nepomuk-core:
+nepomuk-core:
+nepomuk-core:
+nepomuk-core:
+nepomuk-core:
+nepomuk-core:
+nepomuk-core: For more information, visit: http://www.kde.org
+nepomuk-core:
diff --git a/source/kde/slack-desc/nepomuk-widgets b/source/kde/slack-desc/nepomuk-widgets
new file mode 100644
index 000000000..f31413cd4
--- /dev/null
+++ b/source/kde/slack-desc/nepomuk-widgets
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+nepomuk-widgets: nepomuk-widgets (nepomuk widgets)
+nepomuk-widgets:
+nepomuk-widgets: This package contains all of the Nepomuk widgets.
+nepomuk-widgets:
+nepomuk-widgets:
+nepomuk-widgets:
+nepomuk-widgets:
+nepomuk-widgets:
+nepomuk-widgets:
+nepomuk-widgets: For more information, visit: http://nepomuk.kde.org/
+nepomuk-widgets:
diff --git a/source/kde/slack-desc/oxygen-gtk3 b/source/kde/slack-desc/oxygen-gtk3
new file mode 100644
index 000000000..43b763672
--- /dev/null
+++ b/source/kde/slack-desc/oxygen-gtk3
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+oxygen-gtk3: oxygen-gtk3 (Oxygen GTK+3 engine)
+oxygen-gtk3:
+oxygen-gtk3: Oxygen-Gtk3 is a port of the KDE widget theme Oxygen, to GTK+3.
+oxygen-gtk3: It's primary goal is to ensure visual consistency between GTK+ and
+oxygen-gtk3: qt-based applications running under kde. A secondary objective is
+oxygen-gtk3: to also have a stand-alone nice looking GTK+ theme that would behave
+oxygen-gtk3: well on other Desktop Environments.
+oxygen-gtk3: Unlike other attempts made to port the kde oxygen theme to GTK+, this
+oxygen-gtk3: attempt does not depend on Qt.
+oxygen-gtk3:
+oxygen-gtk3: See: http://projects.kde.org/projects/playground/artwork/oxygen-gtk
diff --git a/source/kde/slack-desc/pairs b/source/kde/slack-desc/pairs
new file mode 100644
index 000000000..570aae217
--- /dev/null
+++ b/source/kde/slack-desc/pairs
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+pairs: pairs (a memory game)
+pairs:
+pairs: Pairs is a game that will help train your memory by remembering
+pairs: different images, shapes, sounds and text.
+pairs:
+pairs:
+pairs:
+pairs:
+pairs:
+pairs: For more information, visit: http://www.kde.org
+pairs:
diff --git a/source/kde/slack-desc/palapeli b/source/kde/slack-desc/palapeli
new file mode 100644
index 000000000..f0d2e8565
--- /dev/null
+++ b/source/kde/slack-desc/palapeli
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+palapeli: palapeli (jigsaw puzzle game)
+palapeli:
+palapeli: Palapeli is a single-player jigsaw puzzle game.
+palapeli: Unlike other games in that genre, you are not limited to aligning
+palapeli: pieces on imaginary grids. The pieces are freely moveable.
+palapeli: Also, Palapeli features real persistency, i.e. everything you do
+palapeli: is saved on your disk immediately.
+palapeli:
+palapeli:
+palapeli: For more information, visit: http://www.kde.org
+palapeli:
diff --git a/source/kde/slack-desc/picmi b/source/kde/slack-desc/picmi
new file mode 100644
index 000000000..bc23ac645
--- /dev/null
+++ b/source/kde/slack-desc/picmi
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+picmi: picmi (logic puzzle game)
+picmi:
+picmi: Picmi is a single player logic-based puzzle game.
+picmi: The goal is to color cells according to numbers given at the side
+picmi: of the board in order to uncover a hidden pattern or picture.
+picmi:
+picmi:
+picmi:
+picmi:
+picmi: For more information, visit: http://www.kde.org
+picmi:
diff --git a/source/kde/slack-desc/polkit-kde-agent-1 b/source/kde/slack-desc/polkit-kde-agent-1
index a1e0077d1..8b6f29bae 100644
--- a/source/kde/slack-desc/polkit-kde-agent-1
+++ b/source/kde/slack-desc/polkit-kde-agent-1
@@ -16,4 +16,3 @@ polkit-kde-agent-1:
polkit-kde-agent-1:
polkit-kde-agent-1:
polkit-kde-agent-1:
-polkit-kde-agent-1:
diff --git a/source/kde/slack-desc/polkit-kde-kcmodules-1 b/source/kde/slack-desc/polkit-kde-kcmodules-1
index a31ed0370..a98ca5fc8 100644
--- a/source/kde/slack-desc/polkit-kde-kcmodules-1
+++ b/source/kde/slack-desc/polkit-kde-kcmodules-1
@@ -16,4 +16,3 @@ polkit-kde-kcmodules-1:
polkit-kde-kcmodules-1:
polkit-kde-kcmodules-1:
polkit-kde-kcmodules-1:
-polkit-kde-kcmodules-1:
diff --git a/source/kde/slack-desc/print-manager b/source/kde/slack-desc/print-manager
new file mode 100644
index 000000000..623c0bc35
--- /dev/null
+++ b/source/kde/slack-desc/print-manager
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+print-manager: print-manager (tool for managing print jobs and printers)
+print-manager:
+print-manager: Print Manager (formerly printer-applet) is a system tray utility
+print-manager: that shows current print jobs, printer warnings, and errors.
+print-manager:
+print-manager:
+print-manager:
+print-manager:
+print-manager: Homepage:
+print-manager: https://projects.kde.org/projects/kde/kdeutils/print-manager
+print-manager:
diff --git a/source/kde/slack-desc/strigi-multimedia b/source/kde/slack-desc/strigi-multimedia
new file mode 100644
index 000000000..0f6660b3a
--- /dev/null
+++ b/source/kde/slack-desc/strigi-multimedia
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+strigi-multimedia: strigi-multimedia (Strigi multimedia analyzers)
+strigi-multimedia:
+strigi-multimedia: Various analyzers to provide multimedia support to Strigi.
+strigi-multimedia:
+strigi-multimedia:
+strigi-multimedia:
+strigi-multimedia:
+strigi-multimedia:
+strigi-multimedia:
+strigi-multimedia: For more information, visit: http://www.kde.org
+strigi-multimedia:
diff --git a/source/kdei/calligra-l10n/calligra-l10n.SlackBuild b/source/kdei/calligra-l10n/calligra-l10n.SlackBuild
index 169ed26bb..d9a28f25f 100755
--- a/source/kdei/calligra-l10n/calligra-l10n.SlackBuild
+++ b/source/kdei/calligra-l10n/calligra-l10n.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
# Copyright 2008 Robby Workman Northport, AL, USA
-# Copyright 2012 Eric Hameleers, Eindhoven, NL
-# Copyright 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2012, 2013 Eric Hameleers, Eindhoven, NL
+# Copyright 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -36,7 +36,7 @@ if [ ! -r ./languages ]; then
done
fi
-[ -z $VERSION ] && export VERSION=2.4.3
+[ -z $VERSION ] && export VERSION=2.7.4
[ -z $ARCH ] && export ARCH=noarch
[ -z $BUILD ] && export BUILD=1
diff --git a/source/kdei/calligra-l10n/languages b/source/kdei/calligra-l10n/languages
index cfdbddc8f..bf8900570 100644
--- a/source/kdei/calligra-l10n/languages
+++ b/source/kdei/calligra-l10n/languages
@@ -1,15 +1,17 @@
+bs
ca
ca@valencia
cs
da
de
el
-en_GB
es
et
fi
fr
+gl
hu
+ia
it
kk
nb
@@ -20,7 +22,9 @@ pt
pt_BR
ru
sk
+sl
sv
+tr
uk
zh_CN
zh_TW
diff --git a/source/kdei/calligra-l10n/slack-desc/slack-desc.calligra-l10n-ia b/source/kdei/calligra-l10n/slack-desc/slack-desc.calligra-l10n-ia
new file mode 100644
index 000000000..a82b25131
--- /dev/null
+++ b/source/kdei/calligra-l10n/slack-desc/slack-desc.calligra-l10n-ia
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+calligra-l10n-ia: calligra-l10n-ia
+calligra-l10n-ia:
+calligra-l10n-ia: Interlingua language support for Calligra.
+calligra-l10n-ia:
+calligra-l10n-ia:
+calligra-l10n-ia:
+calligra-l10n-ia:
+calligra-l10n-ia:
+calligra-l10n-ia:
+calligra-l10n-ia:
+calligra-l10n-ia:
diff --git a/source/kdei/kde-l10n/kde-l10n.SlackBuild b/source/kdei/kde-l10n/kde-l10n.SlackBuild
index 1c87ce70b..2adbe7a16 100755
--- a/source/kdei/kde-l10n/kde-l10n.SlackBuild
+++ b/source/kdei/kde-l10n/kde-l10n.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2008 Robby Workman Northport, AL, USA
-# Copyright 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -35,7 +35,7 @@ if [ ! -r ./languages ]; then
done
fi
-[ -z $VERSION ] && export VERSION=4.8.5
+[ -z $VERSION ] && export VERSION=4.10.5
[ -z $ARCH ] && export ARCH=noarch
[ -z $BUILD ] && export BUILD=1
diff --git a/source/kdei/kde-l10n/kdepim-l10n/kdepim-l10n-fr-4.4.5.korganizer.docbook.reorganize.diff.gz.defunct b/source/kdei/kde-l10n/kdepim-l10n/kdepim-l10n-fr-4.4.5.korganizer.docbook.reorganize.diff.gz.defunct
new file mode 100644
index 000000000..2ccf131b4
--- /dev/null
+++ b/source/kdei/kde-l10n/kdepim-l10n/kdepim-l10n-fr-4.4.5.korganizer.docbook.reorganize.diff.gz.defunct
Binary files differ
diff --git a/source/kdei/kde-l10n/languages b/source/kdei/kde-l10n/languages
index 8fe9df5d4..d8ed61617 100644
--- a/source/kdei/kde-l10n/languages
+++ b/source/kdei/kde-l10n/languages
@@ -17,10 +17,10 @@ fr
ga
gl
he
+hi
hr
hu
ia
-id
is
it
ja
@@ -29,6 +29,7 @@ km
ko
lt
lv
+mr
nb
nds
nl
diff --git a/source/l/PyQt/PyQt.SlackBuild b/source/l/PyQt/PyQt.SlackBuild
index eb21945a2..d3131e20a 100755
--- a/source/l/PyQt/PyQt.SlackBuild
+++ b/source/l/PyQt/PyQt.SlackBuild
@@ -28,7 +28,7 @@
PKGNAM=PyQt
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j7}
diff --git a/source/l/QScintilla/QScintilla.SlackBuild b/source/l/QScintilla/QScintilla.SlackBuild
index 4f24655e0..ca90d7f80 100755
--- a/source/l/QScintilla/QScintilla.SlackBuild
+++ b/source/l/QScintilla/QScintilla.SlackBuild
@@ -25,7 +25,7 @@
PKGNAM=QScintilla
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
NUMJOBS=${NUMJOBS:--j7}
diff --git a/source/l/aalib/aalib-aclocal.patch b/source/l/aalib/aalib-aclocal.patch
new file mode 100644
index 000000000..7fac434ff
--- /dev/null
+++ b/source/l/aalib/aalib-aclocal.patch
@@ -0,0 +1,11 @@
+--- ./aalib.m4.orig 2001-04-26 09:37:31.000000000 -0500
++++ ./aalib.m4 2013-06-23 14:01:12.058620076 -0500
+@@ -9,7 +9,7 @@
+ dnl AM_PATH_AALIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+ dnl Test for AALIB, and define AALIB_CFLAGS and AALIB_LIBS
+ dnl
+-AC_DEFUN(AM_PATH_AALIB,
++AC_DEFUN([AM_PATH_AALIB],
+ [dnl
+ dnl Get the cflags and libraries from the aalib-config script
+ dnl
diff --git a/source/l/aalib/aalib.SlackBuild b/source/l/aalib/aalib.SlackBuild
index 20465dd0d..2da339e5f 100755
--- a/source/l/aalib/aalib.SlackBuild
+++ b/source/l/aalib/aalib.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PKGNAM=aalib
VERSION=1.4rc5
SRCVER=1.4.0
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-5}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -59,13 +59,15 @@ else
fi
cd $TMP
-rm -rf ${PKGNAM}-${VERSION}
+rm -rf ${PKGNAM}-${SRCVER}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.gz || exit 1
cd ${PKGNAM}-${SRCVER} || exit 1
#cp /usr/share/libtool/config.{guess,sub} . # libtool-1.x
cp /usr/share/libtool/config/config.{guess,sub} . # libtool-2.x
sed -i -e "s# -lslang# -lslang1#" configure
+zcat $CWD/aalib-aclocal.patch.gz | patch -p1 --verbose || exit 1
+
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
diff --git a/source/l/alsa-lib/alsa-lib.SlackBuild b/source/l/alsa-lib/alsa-lib.SlackBuild
index b93a905dd..441ce1b84 100755
--- a/source/l/alsa-lib/alsa-lib.SlackBuild
+++ b/source/l/alsa-lib/alsa-lib.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/source/l/apr-util/apr-util.SlackBuild b/source/l/apr-util/apr-util.SlackBuild
index 7faff6dfe..551ddc703 100755
--- a/source/l/apr-util/apr-util.SlackBuild
+++ b/source/l/apr-util/apr-util.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=${VERSION:-$(echo apr-util-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/apr-util/apr-util.url b/source/l/apr-util/apr-util.url
index 264a63c01..ad13f22b7 100644
--- a/source/l/apr-util/apr-util.url
+++ b/source/l/apr-util/apr-util.url
@@ -1,2 +1,2 @@
-http://www.apache.org/dist/apr/apr-util-1.3.11.tar.bz2
-http://www.apache.org/dist/apr/apr-util-1.3.11.tar.bz2.asc
+http://www.apache.org/dist/apr/apr-util-1.5.1.tar.bz2
+http://www.apache.org/dist/apr/apr-util-1.5.1.tar.bz2.asc
diff --git a/source/l/at-spi2-atk/at-spi2-atk.SlackBuild b/source/l/at-spi2-atk/at-spi2-atk.SlackBuild
new file mode 100755
index 000000000..b6a56e1ef
--- /dev/null
+++ b/source/l/at-spi2-atk/at-spi2-atk.SlackBuild
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=at-spi2-atk
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL NEWS README* \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/l/at-spi2-atk/doinst.sh b/source/l/at-spi2-atk/doinst.sh
new file mode 100644
index 000000000..56b9e419c
--- /dev/null
+++ b/source/l/at-spi2-atk/doinst.sh
@@ -0,0 +1,6 @@
+if [ -e usr/share/glib-2.0/schemas ]; then
+ if [ -x /usr/bin/glib-compile-schemas ]; then
+ /usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas >/dev/null 2>&1
+ fi
+fi
+
diff --git a/source/l/at-spi2-atk/slack-desc b/source/l/at-spi2-atk/slack-desc
new file mode 100644
index 000000000..e3d1a82d9
--- /dev/null
+++ b/source/l/at-spi2-atk/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+at-spi2-atk: at-spi2-atk (AT-SPI2 bridge to ATK)
+at-spi2-atk:
+at-spi2-atk: The At-Spi2 Atk package contains a library that bridges ATK to the
+at-spi2-atk: At-Spi2 D-Bus service.
+at-spi2-atk:
+at-spi2-atk:
+at-spi2-atk:
+at-spi2-atk:
+at-spi2-atk:
+at-spi2-atk:
+at-spi2-atk:
diff --git a/source/l/at-spi2-core/at-spi2-core.SlackBuild b/source/l/at-spi2-core/at-spi2-core.SlackBuild
new file mode 100755
index 000000000..bea0b12a5
--- /dev/null
+++ b/source/l/at-spi2-core/at-spi2-core.SlackBuild
@@ -0,0 +1,107 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=at-spi2-core
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+mv $PKG/etc/at-spi2/accessibility.conf $PKG/etc/at-spi2/accessibility.conf.new
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING ChangeLog INSTALL NEWS README \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/l/at-spi2-core/doinst.sh b/source/l/at-spi2-core/doinst.sh
new file mode 100644
index 000000000..6a1207c1f
--- /dev/null
+++ b/source/l/at-spi2-core/doinst.sh
@@ -0,0 +1,15 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/at-spi2/accessibility.conf.new
+
diff --git a/source/l/at-spi2-core/slack-desc b/source/l/at-spi2-core/slack-desc
new file mode 100644
index 000000000..fa2cc4869
--- /dev/null
+++ b/source/l/at-spi2-core/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+at-spi2-core: at-spi2-core (Assistive Technology Service Provider Interface core)
+at-spi2-core:
+at-spi2-core: The At-Spi2 Core package is a part of the GNOME Accessibility
+at-spi2-core: Project. It provides a service provider interface for the
+at-spi2-core: assistive technologies available on the GNOME platform and a
+at-spi2-core: library against which applications can be linked.
+at-spi2-core:
+at-spi2-core:
+at-spi2-core:
+at-spi2-core:
+at-spi2-core:
diff --git a/source/l/audiofile/audiofile.SlackBuild b/source/l/audiofile/audiofile.SlackBuild
index 2a473cb03..43b136a1e 100755
--- a/source/l/audiofile/audiofile.SlackBuild
+++ b/source/l/audiofile/audiofile.SlackBuild
@@ -118,7 +118,6 @@ fi
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
COPYING* TODO README* \
- docs/* \
$PKG/usr/doc/${PKGNAM}-$VERSION
# If there's a ChangeLog, installing at least part of the recent history
diff --git a/source/l/boost/boost.SlackBuild b/source/l/boost/boost.SlackBuild
index 006c18971..aa859516f 100755
--- a/source/l/boost/boost.SlackBuild
+++ b/source/l/boost/boost.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
# Copyright 2007, 2008, 2012 Eric Hameleers, Eindhoven, NL
-# Copyright 2007-2008, 2012 Heinz Wiesinger, Amsterdam, NL
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2007-2008, 2013 Heinz Wiesinger, Amsterdam, NL
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -31,7 +31,6 @@ PKGNAM=boost
VERSION=${VERSION:-$(echo $PKGNAM_*.tar.?z* | rev | cut -f 3- -d . | rev | cut -f 2- -d _)}
BUILD=${BUILD:-3}
-ICU=${ICU:-no}
PKG_VERSION=$(echo $VERSION | tr _ .) # Leave this alone
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -75,6 +74,13 @@ rm -rf boost_$VERSION
tar xvf $CWD/boost_$VERSION.tar.?z* || exit 1
cd boost_$VERSION || exit 1
+# Revert changeset 82498, which breaks OQGRAPH support in MariaDB:
+zcat $CWD/changeset_82498.diff.gz | patch -R -p2 --verbose || exit 1
+
+# glibc as of 2.17 no longer defines __GLIBC_HAVE_LONG_LONG (it is assumed
+# to support it), so don't use that to detect long long support:
+zcat $CWD/boost.glibc.long.long.diff.gz | patch -p0 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -87,6 +93,10 @@ find . \
#
# (none currently for this $VERSION)
+# Avoid C++11 for now as it introduces potentially different behaviour.
+# Let's give applications some more time to adjust to this.
+EXTRA_CXXFLAGS="-std=gnu++98"
+
# This is the python we build against:
PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]')
PYTHON_FLAGS="-sPYTHON_ROOT=/usr -sPYTHON_VERSION=$PYTHON_VERSION"
@@ -96,7 +106,7 @@ cd tools/build/v2/engine
CFLAGS="$SLKCFLAGS -fno-strict-aliasing" CC=gcc ./build.sh cc
cd -
-BJAM=$(find tools/build/v2/engine/ -name bjam -a -type f)
+BJAM=$(find tools/build/v2/engine/ -name b2 -a -type f)
# Create build subdirectory
mkdir obj
@@ -122,6 +132,8 @@ $BJAM \
link=shared \
threading=multi \
runtime-link=shared \
+ cflags="$SLKCFLAGS" \
+ cxxflags="$SLKCFLAGS $EXTRA_CXXFLAGS" \
$PYTHON_FLAGS \
stage
@@ -142,6 +154,8 @@ $BJAM \
link=shared \
threading=multi \
runtime-link=shared \
+ cflags="$SLKCFLAGS" \
+ cxxflags="$SLKCFLAGS $EXTRA_CXXFLAGS" \
$PYTHON_FLAGS \
install
diff --git a/source/l/boost/boost.glibc.long.long.diff b/source/l/boost/boost.glibc.long.long.diff
new file mode 100644
index 000000000..3c425f324
--- /dev/null
+++ b/source/l/boost/boost.glibc.long.long.diff
@@ -0,0 +1,22 @@
+diff -up boost/cstdint.hpp\~ boost/cstdint.hpp
+--- boost/cstdint.hpp~ 2013-03-07 01:46:19.000000000 +0100
++++ boost/cstdint.hpp 2013-06-25 21:56:25.930276225 +0200
+@@ -41,7 +41,15 @@
+ // so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
+ // See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
+ //
+-#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
++// This define has been dropped altogether in GLIBC 2.17. As of then,
++// support for long long is part of baseline requirements, and
++// [u]int64_t is always defined. See here:
++// http://sourceware.org/ml/libc-alpha/2013-01/msg00440.html
++//
++#if defined(BOOST_HAS_STDINT_H) \
++ && (!defined(__GLIBC__) \
++ || defined(__GLIBC_HAVE_LONG_LONG) \
++ || (defined __GLIBC_PREREQ && __GLIBC_PREREQ(2,17)))
+
+ // The following #include is an implementation artifact; not part of interface.
+ # ifdef __hpux
+
+Diff finished. Tue Jun 25 21:56:32 2013
diff --git a/source/l/boost/changeset_82498.diff b/source/l/boost/changeset_82498.diff
new file mode 100644
index 000000000..6b7a9a705
--- /dev/null
+++ b/source/l/boost/changeset_82498.diff
@@ -0,0 +1,116 @@
+Index: /trunk/boost/graph/named_graph.hpp
+===================================================================
+--- /trunk/boost/graph/named_graph.hpp (revision 81772)
++++ /trunk/boost/graph/named_graph.hpp (revision 82498)
+@@ -12,4 +12,5 @@
+
+ #include <boost/config.hpp>
++#include <boost/static_assert.hpp>
+ #include <boost/functional/hash.hpp>
+ #include <boost/graph/graph_traits.hpp>
+@@ -20,7 +21,9 @@
+ #include <boost/optional.hpp>
+ #include <boost/pending/property.hpp> // for boost::lookup_one_property
++#include <boost/pending/container_traits.hpp>
+ #include <boost/throw_exception.hpp>
+ #include <boost/tuple/tuple.hpp> // for boost::make_tuple
+ #include <boost/type_traits/is_same.hpp>
++#include <boost/type_traits/is_base_of.hpp>
+ #include <boost/type_traits/remove_cv.hpp>
+ #include <boost/type_traits/remove_reference.hpp>
+@@ -254,5 +257,6 @@
+ /// Notify the named_graph that we are removing the given
+ /// vertex. The name of the vertex will be removed from the mapping.
+- void removing_vertex(Vertex vertex);
++ template <typename VertexIterStability>
++ void removing_vertex(Vertex vertex, VertexIterStability);
+
+ /// Notify the named_graph that we are clearing the graph.
+@@ -309,6 +313,8 @@
+
+ template<BGL_NAMED_GRAPH_PARAMS>
+-inline void BGL_NAMED_GRAPH::removing_vertex(Vertex vertex)
+-{
++template<typename VertexIterStability>
++inline void BGL_NAMED_GRAPH::removing_vertex(Vertex vertex, VertexIterStability)
++{
++ BOOST_STATIC_ASSERT_MSG ((boost::is_base_of<boost::graph_detail::stable_tag, VertexIterStability>::value), "Named graphs cannot use vecS as vertex container and remove vertices; the lack of vertex descriptor stability (which iterator stability is a proxy for) means that the name -> vertex mapping would need to be completely rebuilt after each deletion. See https://svn.boost.org/trac/boost/ticket/7863 for more information and a test case.");
+ typedef typename BGL_NAMED_GRAPH::vertex_name_type vertex_name_type;
+ const vertex_name_type& vertex_name = extract_name(derived()[vertex]);
+@@ -487,5 +493,6 @@
+ /// Notify the named_graph that we are removing the given
+ /// vertex. This is a no-op.
+- void removing_vertex(Vertex) { }
++ template <typename VertexIterStability>
++ void removing_vertex(Vertex, VertexIterStability) { }
+
+ /// Notify the named_graph that we are clearing the graph. This is a
+@@ -518,5 +525,6 @@
+ /// Notify the named_graph that we are removing the given
+ /// vertex. This is a no-op.
+- void removing_vertex(Vertex) { }
++ template <typename VertexIterStability>
++ void removing_vertex(Vertex, VertexIterStability) { }
+
+ /// Notify the named_graph that we are clearing the graph. This is a
+Index: /trunk/boost/graph/detail/adjacency_list.hpp
+===================================================================
+--- /trunk/boost/graph/detail/adjacency_list.hpp (revision 82052)
++++ /trunk/boost/graph/detail/adjacency_list.hpp (revision 82498)
+@@ -18,4 +18,5 @@
+ #include <boost/operators.hpp>
+ #include <boost/property_map/property_map.hpp>
++#include <boost/pending/container_traits.hpp>
+ #include <boost/range/irange.hpp>
+ #include <boost/graph/graph_traits.hpp>
+@@ -1904,5 +1905,5 @@
+ typedef typename Config::stored_vertex stored_vertex;
+ Derived& g = static_cast<Derived&>(g_);
+- g.removing_vertex(u);
++ g.removing_vertex(u, boost::graph_detail::iterator_stability(g_.m_vertices));
+ stored_vertex* su = (stored_vertex*)u;
+ g.m_vertices.erase(su->m_position);
+@@ -2204,5 +2205,5 @@
+ typedef typename Config::directed_category Cat;
+ Graph& g = static_cast<Graph&>(g_);
+- g.removing_vertex(v);
++ g.removing_vertex(v, boost::graph_detail::iterator_stability(g_.m_vertices));
+ detail::remove_vertex_dispatch(g, v, Cat());
+ }
+Index: /trunk/boost/graph/distributed/named_graph.hpp
+===================================================================
+--- /trunk/boost/graph/distributed/named_graph.hpp (revision 67706)
++++ /trunk/boost/graph/distributed/named_graph.hpp (revision 82498)
+@@ -268,5 +268,6 @@
+ /// Notify the named_graph that we are removing the given
+ /// vertex. This is a no-op.
+- void removing_vertex(Vertex) { }
++ template <typename VertexIterStability>
++ void removing_vertex(Vertex, VertexIterStability) { }
+
+ /// Notify the named_graph that we are clearing the graph
+@@ -1212,5 +1213,6 @@
+ /// Notify the named_graph that we are removing the given
+ /// vertex. This is a no-op.
+- void removing_vertex(Vertex) { }
++ template <typename VertexIterStability>
++ void removing_vertex(Vertex, VertexIterStability) { }
+
+ /// Notify the named_graph that we are clearing the graph
+Index: /trunk/boost/graph/distributed/adjacency_list.hpp
+===================================================================
+--- /trunk/boost/graph/distributed/adjacency_list.hpp (revision 77549)
++++ /trunk/boost/graph/distributed/adjacency_list.hpp (revision 82498)
+@@ -38,4 +38,5 @@
+ #include <boost/graph/distributed/selector.hpp>
+ #include <boost/graph/parallel/process_group.hpp>
++#include <boost/pending/container_traits.hpp>
+
+ // Callbacks
+@@ -3428,5 +3429,5 @@
+ BOOST_ASSERT(u.owner == g.processor());
+ static_cast<named_graph_mixin&>(static_cast<graph_type&>(g))
+- .removing_vertex(u);
++ .removing_vertex(u, boost::graph_detail::iterator_stability(g.base().m_vertices));
+ g.distribution().clear();
+ remove_vertex(u.local, g.base());
diff --git a/source/l/cairo/cairo-1.10.0-buggy_gradients.patch b/source/l/cairo/cairo-1.10.0-buggy_gradients.patch
deleted file mode 100644
index 13ef50b25..000000000
--- a/source/l/cairo/cairo-1.10.0-buggy_gradients.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/src/cairo-xlib-display.c 2010-08-04 11:57:49.000000000 +0200
-+++ b/src/cairo-xlib-display.c 2010-08-04 11:58:28.000000000 +0200
-@@ -353,11 +353,7 @@
- /* Prior to Render 0.10, there is no protocol support for gradients and
- * we call function stubs instead, which would silently consume the drawing.
- */
--#if RENDER_MAJOR == 0 && RENDER_MINOR < 10
- display->buggy_gradients = TRUE;
--#else
-- display->buggy_gradients = FALSE;
--#endif
- display->buggy_pad_reflect = FALSE;
- display->buggy_repeat = FALSE;
diff --git a/source/l/cairo/cairo.SlackBuild b/source/l/cairo/cairo.SlackBuild
index cd31e8ecd..1b834332d 100755
--- a/source/l/cairo/cairo.SlackBuild
+++ b/source/l/cairo/cairo.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,8 +21,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=1.10.2
-BUILD=${BUILD:-2}
+PKGNAM=cairo
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -52,14 +53,14 @@ fi
CWD=$(pwd)
TMP=${TMP:-/tmp}
-PKG=$TMP/package-cairo
+PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf cairo-$VERSION
-tar xvf $CWD/cairo-$VERSION.tar.?z* || exit 1
-cd cairo-$VERSION
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -67,10 +68,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Thanks to Ubuntu for this, but I found it at Gentoo's bugtracker
-# http://bugs.gentoo.org/show_bug.cgi?id=336696
-zcat $CWD/cairo-1.10.0-buggy_gradients.patch.gz | patch -p1 || exit 1
-
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
@@ -83,21 +80,28 @@ CFLAGS="$SLKCFLAGS" \
--disable-win32 \
--disable-trace \
--enable-xlib \
- --enable-freetype \
+ --enable-xcb \
+ --enable-xcb-shm \
+ --enable-xlib-xcb \
--enable-ps \
--enable-pdf \
--enable-svg \
--enable-tee \
--enable-gobject \
+ --enable-xml \
--build=$ARCH-slackware-linux
+
# None of these are 'stable' yet...
# --enable-qt \
# --enable-gl \
# --enable-drm \
-# --enable-xcb \
# --enable-xlib-xcb \
-# --enable-xcb-drm \
-# --enable-drm-xr \
+# --enable-xcb-shm \
+
+# Not sure if these two are needed / useful yet; --enable-xcb is now default
+# --enable-xcb-shm \
+# --enable-xlib-xcb \
+
# Skipping this, because it causes a dependency on the specific
# version of binutils installed at compile time:
# --enable-trace
@@ -108,15 +112,22 @@ make install DESTDIR=$PKG
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-mkdir -p $PKG/usr/doc/cairo-$VERSION
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
AUTHORS BIBLIOGRAPHY BUGS CODING_STYLE COPYING* HACKING NEWS PORTING_GUIDE README RELEASING \
- $PKG/usr/doc/cairo-$VERSION
-( cd $PKG/usr/doc/cairo-$VERSION ; ln -sf /usr/share/gtk-doc/html/cairo html )
+ $PKG/usr/doc/$PKGNAM-$VERSION
+( cd $PKG/usr/doc/$PKGNAM-$VERSION ; ln -sf /usr/share/gtk-doc/html/cairo html )
+
+# We do not need the entire NEWS file.
+if [ -r NEWS ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat NEWS | head -n 1000 > $DOCSDIR/NEWS
+ touch -r NEWS $DOCSDIR/NEWS
+fi
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $TMP/cairo-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/cairo/paredown.sh b/source/l/cairo/paredown.sh
new file mode 100755
index 000000000..a24369747
--- /dev/null
+++ b/source/l/cairo/paredown.sh
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Remove the reference PNG files from the cairo source tarball.
+# These are used only for build time testing, and cairo always fails
+# a large number of tests, making these files more or less useless to
+# the average end user. If you really need them for some reason, you
+# can fetch the original tarball from cairographics.org.
+#
+# Removing these files reduces the size of the source tarball by 93%.
+
+PKGNAM=cairo
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+
+if [ ! -r $PKGNAM-$VERSION.tar.xz ]; then
+ echo "$PKGNAM-$VERSION.tar.xz is not a cairo tarball. Exiting."
+ exit 1
+fi
+
+touch -r $PKGNAM-$VERSION.tar.xz tmp-timestamp || exit 1
+
+rm -rf $PKGNAM-$VERSION
+tar xvf $PKGNAM-$VERSION.tar.xz || exit 1
+rm -f $PKGNAM-$VERSION/test/reference/*
+rm -f $PKGNAM-$VERSION.tar.xz
+tar cvf $PKGNAM-$VERSION.tar $PKGNAM-$VERSION
+touch -r tmp-timestamp $PKGNAM-$VERSION.tar
+xz -9 -v $PKGNAM-$VERSION.tar
+rm -rf $PKGNAM-$VERSION tmp-timestamp
+
+echo "Repacking of $PKGNAM-$VERSION.tar.xz complete."
+
diff --git a/source/l/clucene/clucene.SlackBuild b/source/l/clucene/clucene.SlackBuild
index 8600cccff..1b8e351d1 100755
--- a/source/l/clucene/clucene.SlackBuild
+++ b/source/l/clucene/clucene.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2007 Heinz Wiesinger <hmwiesinger@gmx.at>
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -28,7 +28,7 @@
PKGNAM=clucene
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:--j7}
@@ -73,7 +73,10 @@ tar xvf $CWD/clucene-src-$VERSION.tar.?z* || exit 1
cd clucene-src-$VERSION || exit 1
# Fix the pkgconfig file by adding required shared library.
-cat $CWD/clucene.pkgconfig.patch | patch -p1 --verbose || exit 1
+zcat $CWD/clucene.pkgconfig.patch.gz | patch -p1 --verbose || exit 1
+
+# Fix contrib-libs installation:
+zcat $CWD/clucene.install_contribs_lib.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
find . \
@@ -91,6 +94,7 @@ cd build
-DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_CONTRIBS_LIB:BOOL=ON \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
..
make $NUMJOBS || make || exit 1
diff --git a/source/l/clucene/clucene.install_contribs_lib.diff b/source/l/clucene/clucene.install_contribs_lib.diff
new file mode 100644
index 000000000..8fbb3c716
--- /dev/null
+++ b/source/l/clucene/clucene.install_contribs_lib.diff
@@ -0,0 +1,42 @@
+diff -NaurpBb clucene-core-2.3.3.4/CMakeLists.txt clucene-core-2.3.3.4-mod/CMakeLists.txt
+--- clucene-core-2.3.3.4/CMakeLists.txt 2011-03-17 03:21:07.000000000 +0300
++++ clucene-core-2.3.3.4-mod/CMakeLists.txt 2011-08-16 16:56:55.968268152 +0400
+@@ -163,7 +163,7 @@ IF ( BUILD_CONTRIBS )
+ SET(BUILD_CONTRIBS_LIB 1)
+ ENDIF ( BUILD_CONTRIBS )
+ IF ( BUILD_CONTRIBS_LIB )
+- ADD_SUBDIRECTORY (src/contribs-lib EXCLUDE_FROM_ALL)
++ ADD_SUBDIRECTORY (src/contribs-lib)
+ ENDIF ( BUILD_CONTRIBS_LIB )
+
+
+diff -NaurpBb clucene-core-2.3.3.4/src/contribs-lib/CMakeLists.txt clucene-core-2.3.3.4-mod/src/contribs-lib/CMakeLists.txt
+--- clucene-core-2.3.3.4/src/contribs-lib/CMakeLists.txt 2011-03-17 03:21:07.000000000 +0300
++++ clucene-core-2.3.3.4-mod/src/contribs-lib/CMakeLists.txt 2011-08-16 17:14:13.499275499 +0400
+@@ -106,9 +106,26 @@ add_library(clucene-contribs-lib SHARED
+ )
+ TARGET_LINK_LIBRARIES(clucene-contribs-lib ${clucene_contrib_extra_libs})
+
++#install public headers.
++FOREACH(file ${HEADERS})
++ get_filename_component(apath ${file} PATH)
++ get_filename_component(aname ${file} NAME)
++ file(RELATIVE_PATH relpath ${CMAKE_SOURCE_DIR}/src/contribs-lib ${apath})
++ IF ( NOT aname MATCHES "^_.*" )
++ install(FILES ${file}
++ DESTINATION include/${relpath}
++ COMPONENT development)
++ ENDIF ( NOT aname MATCHES "^_.*" )
++ENDFOREACH(file)
++
+ #set properties on the libraries
+ SET_TARGET_PROPERTIES(clucene-contribs-lib PROPERTIES
+ VERSION ${CLUCENE_VERSION}
+ SOVERSION ${CLUCENE_SOVERSION}
+ COMPILE_DEFINITIONS_DEBUG _DEBUG
+ )
++
++#and install library
++install(TARGETS clucene-contribs-lib
++ DESTINATION ${LIB_DESTINATION}
++ COMPONENT runtime )
diff --git a/source/l/clucene/clucene.pkgconfig.patch b/source/l/clucene/clucene.pkgconfig.diff
index 61444799c..61444799c 100644
--- a/source/l/clucene/clucene.pkgconfig.patch
+++ b/source/l/clucene/clucene.pkgconfig.diff
diff --git a/source/l/dconf/dconf.SlackBuild b/source/l/dconf/dconf.SlackBuild
new file mode 100755
index 000000000..89fd7197a
--- /dev/null
+++ b/source/l/dconf/dconf.SlackBuild
@@ -0,0 +1,112 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2011 David Somero (dsomero@hotmail.com) Athens, TN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=dconf
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a COPYING* NEWS README* $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz | sed "s,@LIBDIR@,/usr/lib${LIBDIRSUFFIX}," > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/dconf/dconf.url b/source/l/dconf/dconf.url
new file mode 100644
index 000000000..faabca916
--- /dev/null
+++ b/source/l/dconf/dconf.url
@@ -0,0 +1,2 @@
+http://live.gnome.org/dconf
+ftp://ftp.gnome.org/pub/gnome/sources/dconf/
diff --git a/source/l/dconf/doinst.sh b/source/l/dconf/doinst.sh
new file mode 100644
index 000000000..5b77efb0c
--- /dev/null
+++ b/source/l/dconf/doinst.sh
@@ -0,0 +1,9 @@
+# Reload messagebus service
+if [ -x /etc/rc.d/rc.messagebus ]; then
+ sh /etc/rc.d/rc.messagebus reload
+fi
+
+# Try to run these. If they fail, no biggie.
+chroot . /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas/ 1> /dev/null 2> /dev/null
+chroot . /usr/bin/gio-querymodules @LIBDIR@/gio/modules/ 1> /dev/null 2> /dev/null
+
diff --git a/source/l/dconf/slack-desc b/source/l/dconf/slack-desc
new file mode 100644
index 000000000..4ab563a88
--- /dev/null
+++ b/source/l/dconf/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+dconf: dconf (low-level configuration system)
+dconf:
+dconf: dconf is a low-level configuration system. Its main purpose is to
+dconf: provide a backend to the GSettings API in GLib.
+dconf:
+dconf: Homepage: http://live.gnome.org/dconf
+dconf:
+dconf:
+dconf:
+dconf:
+dconf:
diff --git a/source/l/desktop-file-utils/desktop-file-utils.SlackBuild b/source/l/desktop-file-utils/desktop-file-utils.SlackBuild
index ef558c653..a98deb9e4 100755
--- a/source/l/desktop-file-utils/desktop-file-utils.SlackBuild
+++ b/source/l/desktop-file-utils/desktop-file-utils.SlackBuild
@@ -74,7 +74,6 @@ CFLAGS="$SLKCFLAGS" \
--prefix=/usr \
--mandir=/usr/man \
--docdir=/usr/doc/$PKGNAM-$VERSION \
- --disable-static \
--build=$ARCH-slackware-linux \
--host=$ARCH-slackware-linux
diff --git a/source/l/ebook-tools/ebook-tools.SlackBuild b/source/l/ebook-tools/ebook-tools.SlackBuild
index 162693f9e..44fc031e8 100755
--- a/source/l/ebook-tools/ebook-tools.SlackBuild
+++ b/source/l/ebook-tools/ebook-tools.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2010 Eric Hameleers, Eindhoven, NL
-# Copyright 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PKGNAM=ebook-tools
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -68,9 +68,6 @@ rm -rf ${PKGNAM}-${VERSION}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
cd ${PKGNAM}-$VERSION || exit 1
-# Fix some hard-coded pathnames for 64-bit:
-cat $CWD/ebook-tools.paths.diff | patch -p1 --verbose || exit 1
-
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
diff --git a/source/l/ebook-tools/ebook-tools.paths.diff b/source/l/ebook-tools/ebook-tools.paths.diff
deleted file mode 100644
index 7f857b036..000000000
--- a/source/l/ebook-tools/ebook-tools.paths.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- ebook-tools-0.2.1/src/libepub/CMakeLists.txt.orig 2010-09-13 21:31:53.000000000 +0200
-+++ ebook-tools-0.2.1/src/libepub/CMakeLists.txt 2010-12-09 14:11:39.751653250 +0100
-@@ -4,5 +4,5 @@
-
- set_target_properties (epub PROPERTIES VERSION 0.2.1 SOVERSION 0)
-
--install ( TARGETS epub RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib )
--install ( FILES epub.h epub_shared.h epub_version.h DESTINATION include )
-+install ( TARGETS epub RUNTIME DESTINATION bin LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR} )
-+install ( FILES epub.h epub_shared.h epub_version.h DESTINATION ${INCLUDE_INSTALL_DIR} )
diff --git a/source/l/enchant/enchant.SlackBuild b/source/l/enchant/enchant.SlackBuild
index d4f0eb9bc..245a9506d 100755
--- a/source/l/enchant/enchant.SlackBuild
+++ b/source/l/enchant/enchant.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2007 Alex Elliott <alex@alex-elliott.co.uk>
-# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,9 +23,10 @@
# Modified by Robby Workman <rworkman at slackware.com>
-
-VERSION=1.5.0
+PKGNAM=enchant
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
+
NUMJOBS=${NUMJOBS:-" -j6 "}
# Automatically determine the architecture we're building on:
@@ -40,7 +41,7 @@ fi
CWD=$(pwd)
TMP=${TMP:-/tmp}
-PKG=$TMP/package-enchant
+PKG=$TMP/package-${PKGNAM}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
@@ -59,9 +60,9 @@ fi
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf enchant-$VERSION
-tar xvf $CWD/enchant-$VERSION.tar.xz || exit 1
-cd enchant-$VERSION || exit 1
+rm -rf ${PKGNAM}-$VERSION
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.xz || exit 1
+cd ${PKGNAM}-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -94,12 +95,12 @@ make install DESTDIR=$PKG || exit 1
for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
)
-mkdir -p $PKG/usr/doc/enchant-$VERSION
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a AUTHORS BUGS COPYING* HACKING MAINTAINERS NEWS README TODO \
- $PKG/usr/doc/enchant-$VERSION || true
+ $PKG/usr/doc/${PKGNAM}-$VERSION || true
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $TMP/enchant-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/enchant/enchant.info b/source/l/enchant/enchant.info
deleted file mode 100644
index 6dd8406fd..000000000
--- a/source/l/enchant/enchant.info
+++ /dev/null
@@ -1,2 +0,0 @@
-http://www.abisource.com/projects/enchant/
-http://www.abisource.com/downloads/enchant/1.4.2/enchant-1.4.2.tar.gz
diff --git a/source/l/esound/esound.SlackBuild b/source/l/esound/esound.SlackBuild
index bbb8a2fe9..c7894fcd0 100755
--- a/source/l/esound/esound.SlackBuild
+++ b/source/l/esound/esound.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=esound
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/l/expat/expat-2.0.1-fixes-3.patch b/source/l/expat/expat-2.0.1-fixes-3.patch
deleted file mode 100644
index 5059f297f..000000000
--- a/source/l/expat/expat-2.0.1-fixes-3.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
-Date: 2010-12-09
-Initial Package Version: 2.0.1
-Upstream Status: From Upstream
-Origin: Unknown
-Description: Fixes for CVE-2009-2625 (infinite loop and application hang via
-malformed XML) CVE-2009-3560 (DOS via buffer overrun caused by malformed UTF-8)
-and CVE-2009-3720 (DOS via buffer overrun caused by crafted UTF-8). This
-replaces version -2 which had both the original and the revised fixes for
-CVE-2009-3560 - the revised version is supposed to replace the original, not
-add to it, because of problems with certain perl users of libexpat.
-
-
-diff -Naur expat-2.0.1.orig//lib/xmlparse.c expat-2.0.1/lib/xmlparse.c
---- expat-2.0.1.orig//lib/xmlparse.c 2007-05-08 03:25:35.000000000 +0100
-+++ expat-2.0.1/lib/xmlparse.c 2010-12-06 18:01:03.082339393 +0000
-@@ -3703,6 +3703,9 @@
- return XML_ERROR_UNCLOSED_TOKEN;
- case XML_TOK_PARTIAL_CHAR:
- return XML_ERROR_PARTIAL_CHAR;
-+ case -XML_TOK_PROLOG_S:
-+ tok = -tok;
-+ break;
- case XML_TOK_NONE:
- #ifdef XML_DTD
- /* for internal PE NOT referenced between declarations */
-diff -Naur expat-2.0.1.orig//lib/xmltok_impl.c expat-2.0.1/lib/xmltok_impl.c
---- expat-2.0.1.orig//lib/xmltok_impl.c 2006-11-26 17:34:46.000000000 +0000
-+++ expat-2.0.1/lib/xmltok_impl.c 2010-12-06 18:01:03.082339393 +0000
-@@ -1744,7 +1744,7 @@
- const char *end,
- POSITION *pos)
- {
-- while (ptr != end) {
-+ while (ptr < end) {
- switch (BYTE_TYPE(enc, ptr)) {
- #define LEAD_CASE(n) \
- case BT_LEAD ## n: \
diff --git a/source/l/expat/expat.SlackBuild b/source/l/expat/expat.SlackBuild
index 94e7e3a5b..87f1462e2 100755
--- a/source/l/expat/expat.SlackBuild
+++ b/source/l/expat/expat.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=expat
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -56,11 +56,9 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf expat-$VERSION
-tar xzvf $CWD/expat-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/expat-$VERSION.tar.?z* || exit 1
cd expat-$VERSION
-zcat $CWD/expat-2.0.1-fixes-3.patch.gz | patch -p1 --verbose || exit 1
-
chown -R root:root .
find . -perm 777 -exec chmod 755 {} \;
find . -perm 664 -exec chmod 644 {} \;
@@ -68,6 +66,7 @@ CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
--build=$ARCH-slackware-linux
make -j4 || exit 1
make install DESTDIR=$PKG
diff --git a/source/l/fftw/fftw.SlackBuild b/source/l/fftw/fftw.SlackBuild
index ffed6f95c..98cfe39f8 100755
--- a/source/l/fftw/fftw.SlackBuild
+++ b/source/l/fftw/fftw.SlackBuild
@@ -3,9 +3,10 @@
# Slackware build script for fftw
# Written by Kyle Guinn <elyk03@gmail.com>
-PRGNAM=fftw
-VERSION=${VERSION:-3.2.2}
+PKGNAM=fftw
+VERSION=${VERSION:-3.3.3}
BUILD=${BUILD:-1}
+NUMJOBS=${NUMJOBS:-" -j7 "}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -19,65 +20,39 @@ fi
CWD=$(pwd)
TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PRGNAM-$VERSION
+PKG=$TMP/package-$PKGNAM-$VERSION
OUTPUT=${OUTPUT:-/tmp}
-DOCS="AUTHORS CONVENTIONS COPY* INSTALL NEWS README* TODO doc/html"
-
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
+ SIMD="--enable-sse2 --enable-avx"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
+ SIMD="--enable-sse2 --enable-avx"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
+ SIMD="--enable-sse2 --enable-avx"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
-fi
-
-if [ "${PORTABLE:-yes}" = "no" ]; then
- # According to doc/fftw3.pdf the configure script should choose the best
- # value for $CFLAGS. These variables must be unset so that the configure
- # script will decide.
-
- # If you are interested in further optimizations such as alternative
- # multithreading and support for other processors, check this page for
- # details:
- # http://www.fftw.org/fftw3_doc/Installation-on-Unix.html
- unset CFLAGS
- unset CXXFLAGS
- unset FFLAGS
- PKGARCH="custom"
- do_portable=""
-else
- PKGARCH=$ARCH
- do_portable="--enable-portable-binary"
-fi
-
-if [ "${SSE:-no}" = "no" ]; then
- do_sse=""
-else
- do_sse="--enable-sse"
-fi
-
-if [ "${SSE2:-no}" = "no" ]; then
- do_sse2=""
-else
- do_sse2="--enable-sse2"
+ SIMD=""
fi
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.?z* || exit 1
-cd $PRGNAM-$VERSION
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
chown -R root:root .
chmod -R u+w,go+r-w,a-st .
+# fix cflags
+sed -i "s|-mtune=native|$SLKCFLAGS|" configure
+
# compile libfftw3
./configure \
--prefix=/usr \
@@ -90,10 +65,13 @@ chmod -R u+w,go+r-w,a-st .
--enable-shared \
--disable-static \
--enable-threads \
- $do_sse2 \
- $do_portable
-make -j4 || exit 1
+ --enable-openmp \
+ $SIMD \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
make install-strip DESTDIR=$PKG || exit 1
+make clean
# compile libfftw3f
./configure \
@@ -107,11 +85,14 @@ make install-strip DESTDIR=$PKG || exit 1
--enable-shared \
--disable-static \
--enable-threads \
+ --enable-openmp \
--enable-float \
- $do_sse \
- $do_portable
-make -j4 || exit 1
+ $SIMD \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
make install-strip DESTDIR=$PKG || exit 1
+make clean
# compile libfftw3l
./configure \
@@ -125,9 +106,31 @@ make install-strip DESTDIR=$PKG || exit 1
--enable-shared \
--disable-static \
--enable-threads \
+ --enable-openmp \
--enable-long-double \
- $do_portable
-make -j4 || exit 1
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install-strip DESTDIR=$PKG || exit 1
+make clean
+
+# compile libfftw3q
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/fftw-$VERSION \
+ --enable-shared \
+ --disable-static \
+ --enable-threads \
+ --enable-openmp \
+ --enable-quad-precision \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
make install-strip DESTDIR=$PKG || exit 1
( cd $PKG/usr/man
@@ -141,12 +144,13 @@ make install-strip DESTDIR=$PKG || exit 1
rm -f $PKG/usr/info/dir
gzip -9 $PKG/usr/info/*
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS CONVENTIONS COPY* INSTALL NEWS README* TODO doc/html \
+ $PKG/usr/doc/$PKGNAM-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/gc/gc.SlackBuild b/source/l/gc/gc.SlackBuild
new file mode 100755
index 000000000..70c9595af
--- /dev/null
+++ b/source/l/gc/gc.SlackBuild
@@ -0,0 +1,130 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=gc
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+rm -rf $PKG
+mkdir -p $PKG/usr
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION $PKGNAM-$(echo $VERSION | cut -b 1-3)
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION 2> /dev/null || cd $PKGNAM-$(echo $VERSION | cut -b 1-3) || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+zcat $CWD/gc.test-stack-infinite-loop.diff.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --disable-static \
+ --disable-dependency-tracking \
+ --disable-static \
+ --enable-cplusplus \
+ --enable-large-config \
+ --enable-parallel-mark \
+ --enable-threads=posix \
+ --with-libatomic-ops=no \
+ --build=$ARCH-slackware-linux
+
+# Does not like parallel make...
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* FAQ GUILE-VERSION \
+ HACKING INSTALL LICENSE NEWS README* THANKS \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/l/gc/gc.test-stack-infinite-loop.diff b/source/l/gc/gc.test-stack-infinite-loop.diff
new file mode 100644
index 000000000..49a6046e8
--- /dev/null
+++ b/source/l/gc/gc.test-stack-infinite-loop.diff
@@ -0,0 +1,67 @@
+diff --git a/libatomic_ops/tests/test_atomic.c b/libatomic_ops/tests/test_atomic.c
+index e354024..b8906e9 100644
+--- a/libatomic_ops/tests/test_atomic.c
++++ b/libatomic_ops/tests/test_atomic.c
+@@ -77,7 +77,10 @@ void * acqrel_thr(void *id)
+ {
+ AO_t my_counter1;
+ if (me != 1)
+- fprintf(stderr, "acqrel test: too many threads\n");
++ {
++ fprintf(stderr, "acqrel test: too many threads\n");
++ abort();
++ }
+ my_counter1 = AO_load(&counter1);
+ AO_store(&counter1, my_counter1 + 1);
+ AO_store_release_write(&counter2, my_counter1 + 1);
+diff --git a/libatomic_ops/tests/test_malloc.c b/libatomic_ops/tests/test_malloc.c
+index a1f4179..a19ffd5 100644
+--- a/libatomic_ops/tests/test_malloc.c
++++ b/libatomic_ops/tests/test_malloc.c
+@@ -151,6 +151,7 @@ void * run_one_test(void * arg) {
+ if (0 == p) {
+ # ifdef HAVE_MMAP
+ fprintf(stderr, "AO_malloc(%d) failed\n", LARGE_OBJ_SIZE);
++ abort();
+ # else
+ fprintf(stderr, "AO_malloc(%d) failed: This is normal without mmap\n",
+ LARGE_OBJ_SIZE);
+diff --git a/libatomic_ops/tests/test_stack.c b/libatomic_ops/tests/test_stack.c
+index bf3180d..e654c35 100644
+--- a/libatomic_ops/tests/test_stack.c
++++ b/libatomic_ops/tests/test_stack.c
+@@ -97,14 +97,23 @@ void check_list(int n)
+ p = (list_element *)AO_REAL_NEXT_PTR(p -> next))
+ {
+ if (p -> data > n || p -> data <= 0)
+- fprintf(stderr, "Found erroneous list element %d\n", p -> data);
++ {
++ fprintf(stderr, "Found erroneous list element %d\n", i);
++ abort();
++ }
+ if (marks[p -> data] != 0)
+- fprintf(stderr, "Found duplicate list element %d\n", p -> data);
++ {
++ fprintf(stderr, "Found duplicate list element %d\n", i);
++ abort();
++ }
+ marks[p -> data] = 1;
+ }
+ for (i = 1; i <= n; ++i)
+ if (marks[i] != 1)
+- fprintf(stderr, "Missing list element %d\n", i);
++ {
++ fprintf(stderr, "Missing list element %d\n", i);
++ abort();
++ }
+ }
+
+ volatile AO_t ops_performed = 0;
+@@ -218,6 +227,7 @@ int main(int argc, char **argv)
+ int code;
+ if ((code = pthread_join(thread[i], 0)) != 0) {
+ fprintf(stderr, "Thread join failed %u\n", code);
++ abort();
+ }
+ }
+ times[nthreads][exper_n] = (unsigned long)(get_msecs() - start_time);
diff --git a/source/l/gc/slack-desc b/source/l/gc/slack-desc
new file mode 100644
index 000000000..4e747f8fd
--- /dev/null
+++ b/source/l/gc/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+gc: gc (garbage collector library)
+gc:
+gc: The Boehm-Demers-Weiser conservative garbage collector can be used as
+gc: a garbage collecting replacement for C malloc or C++ new.
+gc:
+gc: Homepage: http://www.hpl.hp.com/personal/Hans_Boehm/gc/
+gc:
+gc:
+gc:
+gc:
+gc:
diff --git a/source/l/gdk-pixbuf2/gdk-pixbuf2.SlackBuild b/source/l/gdk-pixbuf2/gdk-pixbuf2.SlackBuild
index 4f4c1f440..7a5388684 100755
--- a/source/l/gdk-pixbuf2/gdk-pixbuf2.SlackBuild
+++ b/source/l/gdk-pixbuf2/gdk-pixbuf2.SlackBuild
@@ -1,7 +1,5 @@
#!/bin/sh
-# Slackware build script for gdk-pixbuf
-
# Copyright 2010, 2011 Robby Workman, Northport, Alabama, USA
# Copyright 2010, 2011 Patrick Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
@@ -25,7 +23,7 @@
PKGNAM=gdk-pixbuf
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/gegl/gegl.SlackBuild b/source/l/gegl/gegl.SlackBuild
index 5cf8e63b3..8eac6167b 100755
--- a/source/l/gegl/gegl.SlackBuild
+++ b/source/l/gegl/gegl.SlackBuild
@@ -23,7 +23,7 @@
VERSION=${VERSION:-$(echo gegl-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/glib2/glib2.SlackBuild b/source/l/glib2/glib2.SlackBuild
index 09e453e6d..12014ef09 100755
--- a/source/l/glib2/glib2.SlackBuild
+++ b/source/l/glib2/glib2.SlackBuild
@@ -68,6 +68,9 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Silly upstream, using the bleeding edge. Reconf:
+autoreconf --force --install
+
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/source/l/glibc/doinst.sh-glibc b/source/l/glibc/doinst.sh-glibc
index 1b3e03e3e..5904dc751 100644
--- a/source/l/glibc/doinst.sh-glibc
+++ b/source/l/glibc/doinst.sh-glibc
@@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (C) 2002, 2005 Slackware Linux, Inc.
-# Copyright 2005, 2006, 2007, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005, 2006, 2007, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -111,43 +111,43 @@ rm -f etc/profile.d/glibc.sh.new
# In case there's no ldconfig, make the links manually:
if [ ! -x /sbin/ldconfig ]; then
( cd lib ; rm -rf libnss_nis.so.2 )
-( cd lib ; ln -sf libnss_nis-2.15.so libnss_nis.so.2 )
+( cd lib ; ln -sf libnss_nis-2.17.so libnss_nis.so.2 )
( cd lib ; rm -rf libm.so.6 )
-( cd lib ; ln -sf libm-2.15.so libm.so.6 )
+( cd lib ; ln -sf libm-2.17.so libm.so.6 )
( cd lib ; rm -rf libnss_files.so.2 )
-( cd lib ; ln -sf libnss_files-2.15.so libnss_files.so.2 )
+( cd lib ; ln -sf libnss_files-2.17.so libnss_files.so.2 )
( cd lib ; rm -rf libresolv.so.2 )
-( cd lib ; ln -sf libresolv-2.15.so libresolv.so.2 )
+( cd lib ; ln -sf libresolv-2.17.so libresolv.so.2 )
( cd lib ; rm -rf libnsl.so.1 )
-( cd lib ; ln -sf libnsl-2.15.so libnsl.so.1 )
+( cd lib ; ln -sf libnsl-2.17.so libnsl.so.1 )
( cd lib ; rm -rf libutil.so.1 )
-( cd lib ; ln -sf libutil-2.15.so libutil.so.1 )
+( cd lib ; ln -sf libutil-2.17.so libutil.so.1 )
( cd lib ; rm -rf libnss_compat.so.2 )
-( cd lib ; ln -sf libnss_compat-2.15.so libnss_compat.so.2 )
+( cd lib ; ln -sf libnss_compat-2.17.so libnss_compat.so.2 )
( cd lib ; rm -rf libthread_db.so.1 )
( cd lib ; ln -sf libthread_db-1.0.so libthread_db.so.1 )
( cd lib ; rm -rf libnss_hesiod.so.2 )
-( cd lib ; ln -sf libnss_hesiod-2.15.so libnss_hesiod.so.2 )
+( cd lib ; ln -sf libnss_hesiod-2.17.so libnss_hesiod.so.2 )
( cd lib ; rm -rf libanl.so.1 )
-( cd lib ; ln -sf libanl-2.15.so libanl.so.1 )
+( cd lib ; ln -sf libanl-2.17.so libanl.so.1 )
( cd lib ; rm -rf libcrypt.so.1 )
-( cd lib ; ln -sf libcrypt-2.15.so libcrypt.so.1 )
+( cd lib ; ln -sf libcrypt-2.17.so libcrypt.so.1 )
( cd lib ; rm -rf libBrokenLocale.so.1 )
-( cd lib ; ln -sf libBrokenLocale-2.15.so libBrokenLocale.so.1 )
+( cd lib ; ln -sf libBrokenLocale-2.17.so libBrokenLocale.so.1 )
( cd lib ; rm -rf ld-linux.so.2 )
-( cd lib ; ln -sf ld-2.15.so ld-linux.so.2 )
+( cd lib ; ln -sf ld-2.17.so ld-linux.so.2 )
( cd lib ; rm -rf libdl.so.2 )
-( cd lib ; ln -sf libdl-2.15.so libdl.so.2 )
+( cd lib ; ln -sf libdl-2.17.so libdl.so.2 )
( cd lib ; rm -rf libnss_dns.so.2 )
-( cd lib ; ln -sf libnss_dns-2.15.so libnss_dns.so.2 )
+( cd lib ; ln -sf libnss_dns-2.17.so libnss_dns.so.2 )
( cd lib ; rm -rf libpthread.so.0 )
-( cd lib ; ln -sf libpthread-2.15.so libpthread.so.0 )
+( cd lib ; ln -sf libpthread-2.17.so libpthread.so.0 )
( cd lib ; rm -rf libnss_nisplus.so.2 )
-( cd lib ; ln -sf libnss_nisplus-2.15.so libnss_nisplus.so.2 )
+( cd lib ; ln -sf libnss_nisplus-2.17.so libnss_nisplus.so.2 )
( cd lib ; rm -rf libc.so.6 )
-( cd lib ; ln -sf libc-2.15.so libc.so.6 )
+( cd lib ; ln -sf libc-2.17.so libc.so.6 )
( cd lib ; rm -rf librt.so.1 )
-( cd lib ; ln -sf librt-2.15.so librt.so.1 )
+( cd lib ; ln -sf librt-2.17.so librt.so.1 )
fi
# More links:
@@ -190,3 +190,8 @@ fi
( cd usr/share/zoneinfo ; ln -sf /etc/localtime localtime )
( cd bin ; rm -rf sln )
( cd bin ; ln -sf /sbin/sln sln )
+
+# Reload to prevent init from holding a stale handle to glibc on shutdown:
+if [ -x /sbin/telinit ]; then
+ /sbin/telinit u
+fi
diff --git a/source/l/glibc/doinst.sh-glibc-solibs b/source/l/glibc/doinst.sh-glibc-solibs
index f6e41a96d..f721926cf 100644
--- a/source/l/glibc/doinst.sh-glibc-solibs
+++ b/source/l/glibc/doinst.sh-glibc-solibs
@@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (C) 2002, 2005 Slackware Linux, Inc.
-# Copyright 2005, 2006, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005, 2006, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -91,41 +91,47 @@ rm -f etc/profile.d/glibc.sh.new
# In case there's no ldconfig, make the links manually:
if [ ! -x /sbin/ldconfig ]; then
( cd lib ; rm -rf libnss_nis.so.2 )
-( cd lib ; ln -sf libnss_nis-2.15.so libnss_nis.so.2 )
+( cd lib ; ln -sf libnss_nis-2.17.so libnss_nis.so.2 )
( cd lib ; rm -rf libm.so.6 )
-( cd lib ; ln -sf libm-2.15.so libm.so.6 )
+( cd lib ; ln -sf libm-2.17.so libm.so.6 )
( cd lib ; rm -rf libnss_files.so.2 )
-( cd lib ; ln -sf libnss_files-2.15.so libnss_files.so.2 )
+( cd lib ; ln -sf libnss_files-2.17.so libnss_files.so.2 )
( cd lib ; rm -rf libresolv.so.2 )
-( cd lib ; ln -sf libresolv-2.15.so libresolv.so.2 )
+( cd lib ; ln -sf libresolv-2.17.so libresolv.so.2 )
( cd lib ; rm -rf libnsl.so.1 )
-( cd lib ; ln -sf libnsl-2.15.so libnsl.so.1 )
+( cd lib ; ln -sf libnsl-2.17.so libnsl.so.1 )
( cd lib ; rm -rf libutil.so.1 )
-( cd lib ; ln -sf libutil-2.15.so libutil.so.1 )
+( cd lib ; ln -sf libutil-2.17.so libutil.so.1 )
( cd lib ; rm -rf libnss_compat.so.2 )
-( cd lib ; ln -sf libnss_compat-2.15.so libnss_compat.so.2 )
+( cd lib ; ln -sf libnss_compat-2.17.so libnss_compat.so.2 )
( cd lib ; rm -rf libthread_db.so.1 )
( cd lib ; ln -sf libthread_db-1.0.so libthread_db.so.1 )
( cd lib ; rm -rf libnss_hesiod.so.2 )
-( cd lib ; ln -sf libnss_hesiod-2.15.so libnss_hesiod.so.2 )
+( cd lib ; ln -sf libnss_hesiod-2.17.so libnss_hesiod.so.2 )
( cd lib ; rm -rf libanl.so.1 )
-( cd lib ; ln -sf libanl-2.15.so libanl.so.1 )
+( cd lib ; ln -sf libanl-2.17.so libanl.so.1 )
( cd lib ; rm -rf libcrypt.so.1 )
-( cd lib ; ln -sf libcrypt-2.15.so libcrypt.so.1 )
+( cd lib ; ln -sf libcrypt-2.17.so libcrypt.so.1 )
( cd lib ; rm -rf libBrokenLocale.so.1 )
-( cd lib ; ln -sf libBrokenLocale-2.15.so libBrokenLocale.so.1 )
+( cd lib ; ln -sf libBrokenLocale-2.17.so libBrokenLocale.so.1 )
( cd lib ; rm -rf ld-linux.so.2 )
-( cd lib ; ln -sf ld-2.15.so ld-linux.so.2 )
+( cd lib ; ln -sf ld-2.17.so ld-linux.so.2 )
( cd lib ; rm -rf libdl.so.2 )
-( cd lib ; ln -sf libdl-2.15.so libdl.so.2 )
+( cd lib ; ln -sf libdl-2.17.so libdl.so.2 )
( cd lib ; rm -rf libnss_dns.so.2 )
-( cd lib ; ln -sf libnss_dns-2.15.so libnss_dns.so.2 )
+( cd lib ; ln -sf libnss_dns-2.17.so libnss_dns.so.2 )
( cd lib ; rm -rf libpthread.so.0 )
-( cd lib ; ln -sf libpthread-2.15.so libpthread.so.0 )
+( cd lib ; ln -sf libpthread-2.17.so libpthread.so.0 )
( cd lib ; rm -rf libnss_nisplus.so.2 )
-( cd lib ; ln -sf libnss_nisplus-2.15.so libnss_nisplus.so.2 )
+( cd lib ; ln -sf libnss_nisplus-2.17.so libnss_nisplus.so.2 )
( cd lib ; rm -rf libc.so.6 )
-( cd lib ; ln -sf libc-2.15.so libc.so.6 )
+( cd lib ; ln -sf libc-2.17.so libc.so.6 )
( cd lib ; rm -rf librt.so.1 )
-( cd lib ; ln -sf librt-2.15.so librt.so.1 )
+( cd lib ; ln -sf librt-2.17.so librt.so.1 )
fi
+
+# Reload to prevent init from holding a stale handle to glibc on shutdown:
+if [ -x /sbin/telinit ]; then
+ /sbin/telinit u
+fi
+
diff --git a/source/l/glibc/glibc-2.14-reexport-rpc-interface.patch b/source/l/glibc/glibc-2.14-reexport-rpc-interface.patch
deleted file mode 100644
index a0a381624..000000000
--- a/source/l/glibc/glibc-2.14-reexport-rpc-interface.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/include/libc-symbols.h b/include/libc-symbols.h
-index 67e1ca2..5e7cca5 100644
---- a/include/libc-symbols.h
-+++ b/include/libc-symbols.h
-@@ -635,7 +635,7 @@ for linking")
- # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
- # define libc_hidden_def(name) hidden_def (name)
- # define libc_hidden_weak(name) hidden_weak (name)
--# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version)
-+# define libc_hidden_nolink(name, version) hidden_def (name)
- # define libc_hidden_ver(local, name) hidden_ver (local, name)
- # define libc_hidden_data_def(name) hidden_data_def (name)
- # define libc_hidden_data_weak(name) hidden_data_weak (name)
-diff --git a/sunrpc/Makefile b/sunrpc/Makefile
-index 5134ce9..40c73d1 100644
---- a/sunrpc/Makefile
-+++ b/sunrpc/Makefile
-@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \
- des_crypt.h)
- headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \
- $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h
--headers = rpc/netdb.h
-+headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc)
- install-others = $(inst_sysconfdir)/rpc
- generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \
- $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen \ No newline at end of file
diff --git a/source/l/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch b/source/l/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
deleted file mode 100644
index 554b9e56c..000000000
--- a/source/l/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From bdd816a366c4e5bba5de7157d948e0c0737fb4fb Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab@redhat.com>
-Date: Tue, 17 May 2011 17:42:30 +0200
-Subject: [PATCH] Reinstall NIS RPC headers
-
----
- nis/Makefile | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/nis/Makefile b/nis/Makefile
-index b5c9609..d2934d9 100644
---- a/nis/Makefile
-+++ b/nis/Makefile
-@@ -23,9 +23,9 @@ subdir := nis
-
- aux := nis_hash
-
-+headers := $(wildcard rpcsvc/*.[hx])
- distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \
-- nisplus-parser.h nis_xdr.h nss \
-- $(wildcard rpcsvc/*.[hx])
-+ nisplus-parser.h nis_xdr.h nss
-
- # These are the databases available for the nis (and perhaps later nisplus)
- # service. This must be a superset of the services in nss.
---
-1.7.5.4
diff --git a/source/l/glibc/glibc-2.14.1-fixes-1.patch b/source/l/glibc/glibc-2.14.1-fixes-1.patch
deleted file mode 100644
index b2b87f12f..000000000
--- a/source/l/glibc/glibc-2.14.1-fixes-1.patch
+++ /dev/null
@@ -1,159 +0,0 @@
-Submitted By: Matt Burgess <matthew_at_linuxfromscratch_dot_org>
-Date: 2011-10-07
-Initial Package Version: 2.14.1
-Upstream Status: From upstream
-Origin: Matt Burgess
-Description: Fixes Firefox crashes and a bug when programs link to
- SDL.
-
-diff -Naur glibc-2.14.1.orig/elf/dl-close.c glibc-2.14.1/elf/dl-close.c
---- glibc-2.14.1.orig/elf/dl-close.c 2011-10-07 09:48:55.000000000 +0000
-+++ glibc-2.14.1/elf/dl-close.c 2011-10-07 19:43:10.346411120 +0000
-@@ -119,17 +119,8 @@
- if (map->l_direct_opencount > 0 || map->l_type != lt_loaded
- || dl_close_state != not_pending)
- {
-- if (map->l_direct_opencount == 0)
-- {
-- if (map->l_type == lt_loaded)
-- dl_close_state = rerun;
-- else if (map->l_type == lt_library)
-- {
-- struct link_map **oldp = map->l_initfini;
-- map->l_initfini = map->l_orig_initfini;
-- _dl_scope_free (oldp);
-- }
-- }
-+ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded)
-+ dl_close_state = rerun;
-
- /* There are still references to this object. Do nothing more. */
- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
-diff -Naur glibc-2.14.1.orig/elf/dl-deps.c glibc-2.14.1/elf/dl-deps.c
---- glibc-2.14.1.orig/elf/dl-deps.c 2011-10-07 09:48:55.000000000 +0000
-+++ glibc-2.14.1/elf/dl-deps.c 2011-10-07 19:43:10.348432639 +0000
-@@ -478,6 +478,7 @@
- nneeded * sizeof needed[0]);
- atomic_write_barrier ();
- l->l_initfini = l_initfini;
-+ l->l_free_initfini = 1;
- }
-
- /* If we have no auxiliary objects just go on to the next map. */
-@@ -678,6 +679,7 @@
- l_initfini[nlist] = NULL;
- atomic_write_barrier ();
- map->l_initfini = l_initfini;
-+ map->l_free_initfini = 1;
- if (l_reldeps != NULL)
- {
- atomic_write_barrier ();
-@@ -686,7 +688,7 @@
- _dl_scope_free (old_l_reldeps);
- }
- if (old_l_initfini != NULL)
-- map->l_orig_initfini = old_l_initfini;
-+ _dl_scope_free (old_l_initfini);
-
- if (errno_reason)
- _dl_signal_error (errno_reason == -1 ? 0 : errno_reason, objname,
-diff -Naur glibc-2.14.1.orig/elf/dl-libc.c glibc-2.14.1/elf/dl-libc.c
---- glibc-2.14.1.orig/elf/dl-libc.c 2011-10-07 09:48:55.000000000 +0000
-+++ glibc-2.14.1/elf/dl-libc.c 2011-10-07 19:43:10.352411141 +0000
-@@ -279,6 +279,10 @@
- if (! old->dont_free)
- free (old);
- }
-+
-+ /* Free the initfini dependency list. */
-+ if (l->l_free_initfini)
-+ free (l->l_initfini);
- }
-
- if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0
-diff -Naur glibc-2.14.1.orig/elf/rtld.c glibc-2.14.1/elf/rtld.c
---- glibc-2.14.1.orig/elf/rtld.c 2011-10-07 09:48:55.000000000 +0000
-+++ glibc-2.14.1/elf/rtld.c 2011-10-07 19:43:10.355406263 +0000
-@@ -2263,6 +2263,7 @@
- lnp->dont_free = 1;
- lnp = lnp->next;
- }
-+ l->l_free_initfini = 0;
-
- if (l != &GL(dl_rtld_map))
- _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0,
-diff -Naur glibc-2.14.1.orig/include/link.h glibc-2.14.1/include/link.h
---- glibc-2.14.1.orig/include/link.h 2011-10-07 09:48:55.000000000 +0000
-+++ glibc-2.14.1/include/link.h 2011-10-07 19:43:10.357462703 +0000
-@@ -192,6 +192,9 @@
- during LD_TRACE_PRELINKING=1
- contains any DT_SYMBOLIC
- libraries. */
-+ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be
-+ freed, ie. not allocated with
-+ the dummy malloc in ld.so. */
-
- /* Collected information about own RPATH directories. */
- struct r_search_path_struct l_rpath_dirs;
-@@ -240,9 +243,6 @@
-
- /* List of object in order of the init and fini calls. */
- struct link_map **l_initfini;
-- /* The init and fini list generated at startup, saved when the
-- object is also loaded dynamically. */
-- struct link_map **l_orig_initfini;
-
- /* List of the dependencies introduced through symbol binding. */
- struct link_map_reldeps
-diff -Naur glibc-2.14.1.orig/resolv/res_query.c glibc-2.14.1/resolv/res_query.c
---- glibc-2.14.1.orig/resolv/res_query.c 2011-10-07 09:48:55.000000000 +0000
-+++ glibc-2.14.1/resolv/res_query.c 2011-10-07 19:43:10.361412711 +0000
-@@ -122,6 +122,7 @@
- int *resplen2)
- {
- HEADER *hp = (HEADER *) answer;
-+ HEADER *hp2;
- int n, use_malloc = 0;
- u_int oflags = statp->_flags;
-
-@@ -239,26 +240,25 @@
- /* __libc_res_nsend might have reallocated the buffer. */
- hp = (HEADER *) *answerp;
-
-- /* We simplify the following tests by assigning HP to HP2. It
-- is easy to verify that this is the same as ignoring all
-- tests of HP2. */
-- HEADER *hp2 = answerp2 ? (HEADER *) *answerp2 : hp;
--
-- if (n < (int) sizeof (HEADER) && answerp2 != NULL
-- && *resplen2 > (int) sizeof (HEADER))
-+ /* We simplify the following tests by assigning HP to HP2 or
-+ vice versa. It is easy to verify that this is the same as
-+ ignoring all tests of HP or HP2. */
-+ if (answerp2 == NULL || *resplen2 < (int) sizeof (HEADER))
- {
-- /* Special case of partial answer. */
-- assert (hp != hp2);
-- hp = hp2;
-+ hp2 = hp;
- }
-- else if (answerp2 != NULL && *resplen2 < (int) sizeof (HEADER)
-- && n > (int) sizeof (HEADER))
-+ else
- {
-- /* Special case of partial answer. */
-- assert (hp != hp2);
-- hp2 = hp;
-+ hp2 = (HEADER *) *answerp2;
-+ if (n < (int) sizeof (HEADER))
-+ {
-+ hp = hp2;
-+ }
- }
-
-+ /* Make sure both hp and hp2 are defined */
-+ assert((hp != NULL) && (hp2 != NULL));
-+
- if ((hp->rcode != NOERROR || ntohs(hp->ancount) == 0)
- && (hp2->rcode != NOERROR || ntohs(hp2->ancount) == 0)) {
- #ifdef DEBUG
diff --git a/source/l/glibc/glibc-2.15-revert-c5a0802a.diff b/source/l/glibc/glibc-2.15-revert-c5a0802a.diff
deleted file mode 100644
index b53581b37..000000000
--- a/source/l/glibc/glibc-2.15-revert-c5a0802a.diff
+++ /dev/null
@@ -1,226 +0,0 @@
-diff -rup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
---- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:12.937212834 +0000
-+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:42.104222278 +0000
-@@ -137,7 +137,6 @@ __pthread_cond_wait:
- cmpl $PI_BIT, %eax
- jne 18f
-
--90:
- movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %ecx
- movl %ebp, %edx
- xorl %esi, %esi
-@@ -151,9 +150,6 @@ __pthread_cond_wait:
- sete 16(%esp)
- je 19f
-
-- cmpl $-EAGAIN, %eax
-- je 91f
--
- /* Normal and PI futexes dont mix. Use normal futex functions only
- if the kernel does not support the PI futex functions. */
- cmpl $-ENOSYS, %eax
-@@ -398,78 +394,6 @@ __pthread_cond_wait:
- #endif
- call __lll_unlock_wake
- jmp 11b
--
--91:
--.LcleanupSTART2:
-- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to
-- call it again. */
--
-- /* Get internal lock. */
-- movl $1, %edx
-- xorl %eax, %eax
-- LOCK
--#if cond_lock == 0
-- cmpxchgl %edx, (%ebx)
--#else
-- cmpxchgl %edx, cond_lock(%ebx)
--#endif
-- jz 92f
--
--#if cond_lock == 0
-- movl %ebx, %edx
--#else
-- leal cond_lock(%ebx), %edx
--#endif
--#if (LLL_SHARED-LLL_PRIVATE) > 255
-- xorl %ecx, %ecx
--#endif
-- cmpl $-1, dep_mutex(%ebx)
-- setne %cl
-- subl $1, %ecx
-- andl $(LLL_SHARED-LLL_PRIVATE), %ecx
--#if LLL_PRIVATE != 0
-- addl $LLL_PRIVATE, %ecx
--#endif
-- call __lll_lock_wait
--
--92:
-- /* Increment the cond_futex value again, so it can be used as a new
-- expected value. */
-- addl $1, cond_futex(%ebx)
-- movl cond_futex(%ebx), %ebp
--
-- /* Unlock. */
-- LOCK
--#if cond_lock == 0
-- subl $1, (%ebx)
--#else
-- subl $1, cond_lock(%ebx)
--#endif
-- je 93f
--#if cond_lock == 0
-- movl %ebx, %eax
--#else
-- leal cond_lock(%ebx), %eax
--#endif
--#if (LLL_SHARED-LLL_PRIVATE) > 255
-- xorl %ecx, %ecx
--#endif
-- cmpl $-1, dep_mutex(%ebx)
-- setne %cl
-- subl $1, %ecx
-- andl $(LLL_SHARED-LLL_PRIVATE), %ecx
--#if LLL_PRIVATE != 0
-- addl $LLL_PRIVATE, %ecx
--#endif
-- call __lll_unlock_wake
--
--93:
-- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
-- xorl %ecx, %ecx
-- movl dep_mutex(%ebx), %edi
-- jmp 90b
--.LcleanupEND2:
--
- .size __pthread_cond_wait, .-__pthread_cond_wait
- versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
- GLIBC_2_3_2)
-@@ -642,10 +566,6 @@ __condvar_w_cleanup:
- .long .LcleanupEND-.Lsub_cond_futex
- .long __condvar_w_cleanup-.LSTARTCODE
- .uleb128 0
-- .long .LcleanupSTART2-.LSTARTCODE
-- .long .LcleanupEND2-.LcleanupSTART2
-- .long __condvar_w_cleanup-.LSTARTCODE
-- .uleb128 0
- .long .LcallUR-.LSTARTCODE
- .long .LENDCODE-.LcallUR
- .long 0
-Only in b/nptl/sysdeps/unix/sysv/linux/i386/i486: pthread_cond_wait.S.orig
-diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
---- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:04:12.941212837 +0000
-+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:05:05.155229737 +0000
-@@ -23,7 +23,6 @@
- #include <lowlevelcond.h>
- #include <tcb-offsets.h>
- #include <pthread-pi-defines.h>
--#include <pthread-errnos.h>
-
- #include <kernel-features.h>
-
-@@ -137,14 +136,11 @@ __pthread_cond_wait:
- cmpl $PI_BIT, %eax
- jne 61f
-
--90:
- movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %esi
- movl $SYS_futex, %eax
- syscall
-
- movl $1, %r8d
-- cmpq $-EAGAIN, %rax
-- je 91f
- #ifdef __ASSUME_REQUEUE_PI
- jmp 62f
- #else
-@@ -331,70 +327,6 @@ __pthread_cond_wait:
-
- 13: movq %r10, %rax
- jmp 14b
--
--91:
--.LcleanupSTART2:
-- /* FUTEX_WAIT_REQUEUE_PI returned EAGAIN. We need to
-- call it again. */
-- movq 8(%rsp), %rdi
--
-- /* Get internal lock. */
-- movl $1, %esi
-- xorl %eax, %eax
-- LOCK
--#if cond_lock == 0
-- cmpxchgl %esi, (%rdi)
--#else
-- cmpxchgl %esi, cond_lock(%rdi)
--#endif
-- jz 92f
--
--#if cond_lock != 0
-- addq $cond_lock, %rdi
--#endif
-- cmpq $-1, dep_mutex-cond_lock(%rdi)
-- movl $LLL_PRIVATE, %eax
-- movl $LLL_SHARED, %esi
-- cmovne %eax, %esi
-- callq __lll_lock_wait
--#if cond_lock != 0
-- subq $cond_lock, %rdi
--#endif
--92:
-- /* Increment the cond_futex value again, so it can be used as a new
-- expected value. */
-- incl cond_futex(%rdi)
-- movl cond_futex(%rdi), %edx
--
-- /* Release internal lock. */
-- LOCK
--#if cond_lock == 0
-- decl (%rdi)
--#else
-- decl cond_lock(%rdi)
--#endif
-- jz 93f
--
--#if cond_lock != 0
-- addq $cond_lock, %rdi
--#endif
-- cmpq $-1, dep_mutex-cond_lock(%rdi)
-- movl $LLL_PRIVATE, %eax
-- movl $LLL_SHARED, %esi
-- cmovne %eax, %esi
-- /* The call preserves %rdx. */
-- callq __lll_unlock_wake
--#if cond_lock != 0
-- subq $cond_lock, %rdi
--#endif
--93:
-- /* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
-- xorq %r10, %r10
-- movq dep_mutex(%rdi), %r8
-- leaq cond_futex(%rdi), %rdi
-- jmp 90b
--.LcleanupEND2:
--
- .size __pthread_cond_wait, .-__pthread_cond_wait
- versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
- GLIBC_2_3_2)
-@@ -547,15 +479,11 @@ __condvar_cleanup1:
- .uleb128 .LcleanupSTART-.LSTARTCODE
- .uleb128 .LcleanupEND-.LcleanupSTART
- .uleb128 __condvar_cleanup1-.LSTARTCODE
-- .uleb128 0
-- .uleb128 .LcleanupSTART2-.LSTARTCODE
-- .uleb128 .LcleanupEND2-.LcleanupSTART2
-- .uleb128 __condvar_cleanup1-.LSTARTCODE
-- .uleb128 0
-+ .uleb128 0
- .uleb128 .LcallUR-.LSTARTCODE
- .uleb128 .LENDCODE-.LcallUR
- .uleb128 0
-- .uleb128 0
-+ .uleb128 0
- .Lcstend:
-
diff --git a/source/l/glibc/glibc-2.15.nscd-race-fix.diff b/source/l/glibc/glibc-2.15.nscd-race-fix.diff
deleted file mode 100644
index f1323570f..000000000
--- a/source/l/glibc/glibc-2.15.nscd-race-fix.diff
+++ /dev/null
@@ -1,47 +0,0 @@
---- c/nscd/nscd_gethst_r.c 2012-01-01 05:16:32.000000000 -0700
-+++ c/nscd/nscd_gethst_r.c 2012-03-28 10:45:51.546600822 -0600
-@@ -101,9 +101,27 @@ libc_freeres_fn (hst_map_free)
- uint32_t
- __nscd_get_nl_timestamp (void)
- {
-+ uint32_t retval;
- if (__nss_not_use_nscd_hosts != 0)
- return 0;
-
-+ int cnt = 0;
-+ /* __nscd_get_mapping can change hst_map_handle.mapped to NO_MAPPING.
-+ However, __nscd_get_mapping assumes the prior value was not NO_MAPPING.
-+ Thus we have to acquire the lock to prevent this thread from changing
-+ hst_map_handle.mapped to NO_MAPPING while another thread is inside
-+ __nscd_get_mapping. */
-+ while (__builtin_expect
-+ (atomic_compare_and_exchange_val_acq (&__hst_map_handle.lock,
-+ 1, 0) != 0, 0))
-+ {
-+ // XXX Best number of rounds?
-+ if (__builtin_expect (++cnt > 5, 0))
-+ return 0;
-+
-+ atomic_delay ();
-+ }
-+
- struct mapped_database *map = __hst_map_handle.mapped;
-
- if (map == NULL
-@@ -113,9 +131,14 @@ __nscd_get_nl_timestamp (void)
- map = __nscd_get_mapping (GETFDHST, "hosts", &__hst_map_handle.mapped);
-
- if (map == NO_MAPPING)
-- return 0;
-+ retval = 0;
-+ else
-+ retval = map->head->extra_data[NSCD_HST_IDX_CONF_TIMESTAMP];
-+
-+ /* Release the lock. */
-+ __hst_map_handle.lock = 0;
-
-- return map->head->extra_data[NSCD_HST_IDX_CONF_TIMESTAMP];
-+ return retval;
- }
-
-
diff --git a/source/l/glibc/glibc.CVE-2013-0242.diff b/source/l/glibc/glibc.CVE-2013-0242.diff
new file mode 100644
index 000000000..e35a0bcec
--- /dev/null
+++ b/source/l/glibc/glibc.CVE-2013-0242.diff
@@ -0,0 +1,189 @@
+From libc-alpha-return-36620-listarch-libc-alpha=sources dot redhat dot com at sourceware dot org Tue Jan 29 16:13:50 2013
+Return-Path: <libc-alpha-return-36620-listarch-libc-alpha=sources dot redhat dot com at sourceware dot org>
+Delivered-To: listarch-libc-alpha at sources dot redhat dot com
+Received: (qmail 32082 invoked by alias); 29 Jan 2013 16:13:48 -0000
+Received: (qmail 32049 invoked by uid 22791); 29 Jan 2013 16:13:43 -0000
+X-SWARE-Spam-Status: No, hits=-5.2 required=5.0
+ tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,TW_BK
+X-Spam-Check-By: sourceware.org
+From: Andreas Schwab <schwab at suse dot de>
+To: libc-alpha at sourceware dot org
+Subject: [PATCH] Fix buffer overrun in regexp matcher
+X-Yow: Are you selling NYLON OIL WELLS?? If so, we can use TWO DOZEN!!
+Date: Tue, 29 Jan 2013 17:13:35 +0100
+Message-ID: <mvma9rsq85s.fsf@hawking.suse.de>
+User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.92 (gnu/linux)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+Mailing-List: contact libc-alpha-help at sourceware dot org; run by ezmlm
+Precedence: bulk
+List-Id: <libc-alpha.sourceware.org>
+List-Subscribe: <mailto:libc-alpha-subscribe at sourceware dot org>
+List-Archive: <http://sourceware.org/ml/libc-alpha/>
+List-Post: <mailto:libc-alpha at sourceware dot org>
+List-Help: <mailto:libc-alpha-help at sourceware dot org>, <http://sourceware dot org/ml/#faqs>
+Sender: libc-alpha-owner at sourceware dot org
+Delivered-To: mailing list libc-alpha at sourceware dot org
+
+When extending regex buffers, make sure we allocate enough room for the
+state log. Merely doubling the space may not be enough if the current
+node has accepted a long run of characters. This part of the code only
+triggers with multibyte characters.
+
+Andreas.
+
+ [BZ #15078]
+ * posix/regexec.c (extend_buffers): Add parameter min_len.
+ (check_matching): Pass minimum needed length.
+ (clean_state_log_if_needed): Likewise.
+ (get_subexp): Likewise.
+ * posix/Makefile (tests): Add bug-regex34.
+ (bug-regex34-ENV): Define.
+ * posix/bug-regex34.c: New file.
+
+diff --git a/posix/Makefile b/posix/Makefile
+index 57672d8..6ceb440 100644
+--- a/posix/Makefile
++++ b/posix/Makefile
+@@ -86,7 +86,7 @@ tests := tstgetopt testfnm runtests runptests \
+ tst-rfc3484-3 \
+ tst-getaddrinfo3 tst-fnmatch2 tst-cpucount tst-cpuset \
+ bug-getopt1 bug-getopt2 bug-getopt3 bug-getopt4 \
+- bug-getopt5 tst-getopt_long1
++ bug-getopt5 tst-getopt_long1 bug-regex34
+ xtests := bug-ga2
+ ifeq (yes,$(build-shared))
+ test-srcs := globtest
+@@ -199,6 +199,7 @@ bug-regex26-ENV = LOCPATH=$(common-objpfx)localedata
+ bug-regex30-ENV = LOCPATH=$(common-objpfx)localedata
+ bug-regex32-ENV = LOCPATH=$(common-objpfx)localedata
+ bug-regex33-ENV = LOCPATH=$(common-objpfx)localedata
++bug-regex34-ENV = LOCPATH=$(common-objpfx)localedata
+ tst-rxspencer-ARGS = --utf8 rxspencer/tests
+ tst-rxspencer-ENV = LOCPATH=$(common-objpfx)localedata
+ tst-pcre-ARGS = PCRE.tests
+diff --git a/posix/bug-regex34.c b/posix/bug-regex34.c
+new file mode 100644
+index 0000000..bb3b613
+--- /dev/null
++++ b/posix/bug-regex34.c
+@@ -0,0 +1,46 @@
++/* Test re_search with multi-byte characters in UTF-8.
++ Copyright (C) 2013 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C 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 the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#define _GNU_SOURCE 1
++#include <stdio.h>
++#include <string.h>
++#include <locale.h>
++#include <regex.h>
++
++static int
++do_test (void)
++{
++ struct re_pattern_buffer r;
++ /* ????????x */
++ const char *s = "\xe1\x80\x80\xe1\x80\xbb\xe1\x80\xbd\xe1\x80\x94\xe1\x80\xba\xe1\x80\xaf\xe1\x80\x95\xe1\x80\xbax";
++
++ if (setlocale (LC_ALL, "en_US.UTF-8") == NULL)
++ {
++ puts ("setlocale failed");
++ return 1;
++ }
++ memset (&r, 0, sizeof (r));
++
++ re_compile_pattern ("[^x]x", 5, &r);
++ /* This was triggering a buffer overflow. */
++ re_search (&r, s, strlen (s), 0, strlen (s), 0);
++ return 0;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+diff --git a/posix/regexec.c b/posix/regexec.c
+index 7f2de85..5ca2bf6 100644
+--- a/posix/regexec.c
++++ b/posix/regexec.c
+@@ -197,7 +197,7 @@ static int group_nodes_into_DFAstates (const re_dfa_t *dfa,
+ static int check_node_accept (const re_match_context_t *mctx,
+ const re_token_t *node, int idx)
+ internal_function;
+-static reg_errcode_t extend_buffers (re_match_context_t *mctx)
++static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len)
+ internal_function;
+
+ /* Entry point for POSIX code. */
+@@ -1160,7 +1160,7 @@ check_matching (re_match_context_t *mctx, int fl_longest_match,
+ || (BE (next_char_idx >= mctx->input.valid_len, 0)
+ && mctx->input.valid_len < mctx->input.len))
+ {
+- err = extend_buffers (mctx);
++ err = extend_buffers (mctx, next_char_idx + 1);
+ if (BE (err != REG_NOERROR, 0))
+ {
+ assert (err == REG_ESPACE);
+@@ -1738,7 +1738,7 @@ clean_state_log_if_needed (re_match_context_t *mctx, int next_state_log_idx)
+ && mctx->input.valid_len < mctx->input.len))
+ {
+ reg_errcode_t err;
+- err = extend_buffers (mctx);
++ err = extend_buffers (mctx, next_state_log_idx + 1);
+ if (BE (err != REG_NOERROR, 0))
+ return err;
+ }
+@@ -2792,7 +2792,7 @@ get_subexp (re_match_context_t *mctx, int bkref_node, int bkref_str_idx)
+ if (bkref_str_off >= mctx->input.len)
+ break;
+
+- err = extend_buffers (mctx);
++ err = extend_buffers (mctx, bkref_str_off + 1);
+ if (BE (err != REG_NOERROR, 0))
+ return err;
+
+@@ -4102,7 +4102,7 @@ check_node_accept (const re_match_context_t *mctx, const re_token_t *node,
+
+ static reg_errcode_t
+ internal_function __attribute_warn_unused_result__
+-extend_buffers (re_match_context_t *mctx)
++extend_buffers (re_match_context_t *mctx, int min_len)
+ {
+ reg_errcode_t ret;
+ re_string_t *pstr = &mctx->input;
+@@ -4111,8 +4111,10 @@ extend_buffers (re_match_context_t *mctx)
+ if (BE (INT_MAX / 2 / sizeof (re_dfastate_t *) <= pstr->bufs_len, 0))
+ return REG_ESPACE;
+
+- /* Double the lengthes of the buffers. */
+- ret = re_string_realloc_buffers (pstr, MIN (pstr->len, pstr->bufs_len * 2));
++ /* Double the lengthes of the buffers, but allocate at least MIN_LEN. */
++ ret = re_string_realloc_buffers (pstr,
++ MAX (min_len,
++ MIN (pstr->len, pstr->bufs_len * 2)));
+ if (BE (ret != REG_NOERROR, 0))
+ return ret;
+
+--
+1.8.1.2
+
+
+--
+Andreas Schwab, SUSE Labs, schwab@suse.de
+GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
+"And now for something completely different."
+
+
diff --git a/source/l/glibc/glibc.CVE-2013-1914.diff b/source/l/glibc/glibc.CVE-2013-1914.diff
new file mode 100644
index 000000000..fc844829c
--- /dev/null
+++ b/source/l/glibc/glibc.CVE-2013-1914.diff
@@ -0,0 +1,53 @@
+From: Andreas Schwab <schwab@suse.de>
+Date: Thu, 21 Mar 2013 14:50:27 +0000 (+0100)
+Subject: Fix stack overflow in getaddrinfo with many results
+X-Git-Url: http://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=1cef1b19089528db11f221e938f60b9b048945d7
+
+Fix stack overflow in getaddrinfo with many results
+---
+
+diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
+index d95c2d1..2309281 100644
+--- a/sysdeps/posix/getaddrinfo.c
++++ b/sysdeps/posix/getaddrinfo.c
+@@ -2489,11 +2489,27 @@ getaddrinfo (const char *name, const char *service,
+ __typeof (once) old_once = once;
+ __libc_once (once, gaiconf_init);
+ /* Sort results according to RFC 3484. */
+- struct sort_result results[nresults];
+- size_t order[nresults];
++ struct sort_result *results;
++ size_t *order;
+ struct addrinfo *q;
+ struct addrinfo *last = NULL;
+ char *canonname = NULL;
++ bool malloc_results;
++
++ malloc_results
++ = !__libc_use_alloca (nresults * (sizeof (*results) + sizeof (size_t)));
++ if (malloc_results)
++ {
++ results = malloc (nresults * (sizeof (*results) + sizeof (size_t)));
++ if (results == NULL)
++ {
++ __free_in6ai (in6ai);
++ return EAI_MEMORY;
++ }
++ }
++ else
++ results = alloca (nresults * (sizeof (*results) + sizeof (size_t)));
++ order = (size_t *) (results + nresults);
+
+ /* Now we definitely need the interface information. */
+ if (! check_pf_called)
+@@ -2664,6 +2680,9 @@ getaddrinfo (const char *name, const char *service,
+
+ /* Fill in the canonical name into the new first entry. */
+ p->ai_canonname = canonname;
++
++ if (malloc_results)
++ free (results);
+ }
+
+ __free_in6ai (in6ai);
+
diff --git a/source/l/glibc/glibc.CVE-2013-2207.diff b/source/l/glibc/glibc.CVE-2013-2207.diff
new file mode 100644
index 000000000..c43ccf5cd
--- /dev/null
+++ b/source/l/glibc/glibc.CVE-2013-2207.diff
@@ -0,0 +1,241 @@
+From 5d96012d9978efe4bad88a38e2efcbeada9f7585 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Thu, 22 Aug 2013
+Subject: CVE-2013-2207, BZ #15755: Disable pt_chown.
+
+Using the setuid installed pt_chown and a weak check on whether a file
+descriptor is a tty, an attacker could fake a pty check using FUSE and
+trick pt_chown to grant ownership of a pty descriptor that the current
+user does not own. It cannot access /dev/pts/ptmx however.
+
+Pre-conditions for the attack:
+
+ * Attacker with local user account
+ * Kernel with FUSE support
+ * "user_allow_other" in /etc/fuse.conf
+ * Victim with allocated slave in /dev/pts
+
+In most modern distributions pt_chown is not needed because devpts
+is enabled by default. The fix for this CVE is to disable building
+and using pt_chown by default. We still provide a configure option
+to enable the use of pt_chown but distributions do so at their own
+risk.
+
+---
+This patch was adapted for glibc 2.17 point release from:
+http://sourceware.org/git/?p=glibc.git;a=commit;h=e4608715e6e1
+---
+
+ INSTALL | 12 ++++++++++++
+ config.h.in | 3 +++
+ config.make.in | 1 +
+ configure | 15 +++++++++++++++
+ configure.in | 10 ++++++++++
+ login/Makefile | 8 +++++++-
+ manual/install.texi | 14 ++++++++++++++
+ sysdeps/unix/grantpt.c | 8 +++++---
+ sysdeps/unix/sysv/linux/grantpt.c | 5 +++--
+ 9 files changed, 70 insertions(+), 6 deletions(-)
+---
+
+--- a/INSTALL
++++ b/INSTALL
+@@ -128,6 +128,18 @@ will be used, and CFLAGS sets optimizati
+ this can be prevented though there generally is no reason since it
+ creates compatibility problems.
+
++`--enable-pt_chown'
++ The file `pt_chown' is a helper binary for `grantpt' (*note
++ Pseudo-Terminals: Allocation.) that is installed setuid root to
++ fix up pseudo-terminal ownership. It is not built by default
++ because systems using the Linux kernel are commonly built with the
++ `devpts' filesystem enabled and mounted at `/dev/pts', which
++ manages pseudo-terminal ownership automatically. By using
++ `--enable-pt_chown', you may build `pt_chown' and install it
++ setuid and owned by `root'. The use of `pt_chown' introduces
++ additional security risks to the system and you should enable it
++ only if you understand and accept those risks.
++
+ `--build=BUILD-SYSTEM'
+ `--host=HOST-SYSTEM'
+ These options are for cross-compiling. If you specify both
+--- a/config.h.in
++++ b/config.h.in
+@@ -232,4 +232,7 @@
+ /* The ARM hard-float ABI is being used. */
+ #undef HAVE_ARM_PCS_VFP
+
++/* The pt_chown binary is being built and used by grantpt. */
++#undef HAVE_PT_CHOWN
++
+ #endif
+--- a/config.make.in
++++ b/config.make.in
+@@ -101,6 +101,7 @@ force-install = @force_install@
+ link-obsolete-rpc = @link_obsolete_rpc@
+ build-nscd = @build_nscd@
+ use-nscd = @use_nscd@
++build-pt-chown = @build_pt_chown@
+
+ # Build tools.
+ CC = @CC@
+--- a/configure
++++ b/configure
+@@ -653,6 +653,7 @@ multi_arch
+ base_machine
+ add_on_subdirs
+ add_ons
++build_pt_chown
+ build_nscd
+ link_obsolete_rpc
+ libc_cv_nss_crypt
+@@ -759,6 +760,7 @@ enable_obsolete_rpc
+ enable_systemtap
+ enable_build_nscd
+ enable_nscd
++enable_pt_chown
+ with_cpu
+ '
+ ac_precious_vars='build_alias
+@@ -1419,6 +1421,7 @@ Optional Features:
+ --enable-systemtap enable systemtap static probe points [default=no]
+ --disable-build-nscd disable building and installing the nscd daemon
+ --disable-nscd library functions will not contact the nscd daemon
++ --enable-pt_chown Enable building and installing pt_chown
+
+ Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+@@ -3933,6 +3936,18 @@ else
+ use_nscd=yes
+ fi
+
++# Check whether --enable-pt_chown was given.
++if test "${enable_pt_chown+set}" = set; then :
++ enableval=$enable_pt_chown; build_pt_chown=$enableval
++else
++ build_pt_chown=no
++fi
++
++
++if test $build_pt_chown = yes; then
++ $as_echo "#define HAVE_PT_CHOWN 1" >>confdefs.h
++
++fi
+
+ # The way shlib-versions is used to generate soversions.mk uses a
+ # fairly simplistic model for name recognition that can't distinguish
+--- a/configure.in
++++ b/configure.in
+@@ -315,6 +315,16 @@ AC_ARG_ENABLE([nscd],
+ [use_nscd=$enableval],
+ [use_nscd=yes])
+
++AC_ARG_ENABLE([pt_chown],
++ [AS_HELP_STRING([--enable-pt_chown],
++ [Enable building and installing pt_chown])],
++ [build_pt_chown=$enableval],
++ [build_pt_chown=no])
++AC_SUBST(build_pt_chown)
++if test $build_pt_chown = yes; then
++ AC_DEFINE(HAVE_PT_CHOWN)
++fi
++
+ # The way shlib-versions is used to generate soversions.mk uses a
+ # fairly simplistic model for name recognition that can't distinguish
+ # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os
+--- a/login/Makefile
++++ b/login/Makefile
+@@ -29,9 +29,15 @@ routines := getutent getutent_r getutid
+
+ CFLAGS-grantpt.c = -DLIBEXECDIR='"$(libexecdir)"'
+
+-others = utmpdump pt_chown
++others = utmpdump
++
++include ../Makeconfig
++
++ifeq (yes,$(build-pt-chown))
++others += pt_chown
+ others-pie = pt_chown
+ install-others-programs = $(inst_libexecdir)/pt_chown
++endif
+
+ subdir-dirs = programs
+ vpath %.c programs
+--- a/manual/install.texi
++++ b/manual/install.texi
+@@ -155,6 +155,20 @@ if the used tools support it. By using
+ prevented though there generally is no reason since it creates
+ compatibility problems.
+
++@pindex pt_chown
++@findex grantpt
++@item --enable-pt_chown
++The file @file{pt_chown} is a helper binary for @code{grantpt}
++(@pxref{Allocation, Pseudo-Terminals}) that is installed setuid root to
++fix up pseudo-terminal ownership. It is not built by default because
++systems using the Linux kernel are commonly built with the @code{devpts}
++filesystem enabled and mounted at @file{/dev/pts}, which manages
++pseudo-terminal ownership automatically. By using
++@samp{--enable-pt_chown}, you may build @file{pt_chown} and install it
++setuid and owned by @code{root}. The use of @file{pt_chown} introduces
++additional security risks to the system and you should enable it only if
++you understand and accept those risks.
++
+ @item --build=@var{build-system}
+ @itemx --host=@var{host-system}
+ These options are for cross-compiling. If you specify both options and
+--- a/sysdeps/unix/grantpt.c
++++ b/sysdeps/unix/grantpt.c
+@@ -173,9 +173,10 @@ grantpt (int fd)
+ retval = 0;
+ goto cleanup;
+
+- /* We have to use the helper program. */
++ /* We have to use the helper program if it is available.. */
+ helper:;
+
++#ifdef HAVE_PT_CHOWN
+ pid_t pid = __fork ();
+ if (pid == -1)
+ goto cleanup;
+@@ -190,9 +191,9 @@ grantpt (int fd)
+ if (__dup2 (fd, PTY_FILENO) < 0)
+ _exit (FAIL_EBADF);
+
+-#ifdef CLOSE_ALL_FDS
++# ifdef CLOSE_ALL_FDS
+ CLOSE_ALL_FDS ();
+-#endif
++# endif
+
+ execle (_PATH_PT_CHOWN, basename (_PATH_PT_CHOWN), NULL, NULL);
+ _exit (FAIL_EXEC);
+@@ -231,6 +232,7 @@ grantpt (int fd)
+ assert(! "getpt: internal error: invalid exit code from pt_chown");
+ }
+ }
++#endif
+
+ cleanup:
+ if (buf != _buf)
+--- a/sysdeps/unix/sysv/linux/grantpt.c
++++ b/sysdeps/unix/sysv/linux/grantpt.c
+@@ -11,7 +11,7 @@
+
+ #include "pty-private.h"
+
+-
++#if HAVE_PT_CHOWN
+ /* Close all file descriptors except the one specified. */
+ static void
+ close_all_fds (void)
+@@ -38,6 +38,7 @@ close_all_fds (void)
+ __dup2 (STDOUT_FILENO, STDERR_FILENO);
+ }
+ }
+-#define CLOSE_ALL_FDS() close_all_fds()
++# define CLOSE_ALL_FDS() close_all_fds()
++#endif
+
+ #include <sysdeps/unix/grantpt.c>
diff --git a/source/l/glibc/glibc.CVE-2013-4332.diff b/source/l/glibc/glibc.CVE-2013-4332.diff
new file mode 100644
index 000000000..9f7f5886c
--- /dev/null
+++ b/source/l/glibc/glibc.CVE-2013-4332.diff
@@ -0,0 +1,64 @@
+From 0d6085cb1b4330b835ad08a3ec8f80b30f0cadb4 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Wed, 11 Sep 2013
+Subject: CVE-2013-4332
+
+malloc: Check for integer overflow in pvalloc, valloc, and memalign.
+
+A large bytes parameter to pvalloc, valloc, or memalign could cause
+an integer overflow and corrupt allocator internals. Check the
+overflow does not occur before continuing with the allocation.
+
+Note: This is a backport to glibc 2.17 of the following three commits:
+ * https://sourceware.org/git/?p=glibc.git;a=commit;h=1159a193696a
+ * https://sourceware.org/git/?p=glibc.git;a=commit;h=55e17aadc1ef
+ * https://sourceware.org/git/?p=glibc.git;a=commit;h=b73ed247781d
+---
+
+malloc.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -3020,6 +3020,13 @@ __libc_memalign(size_t alignment, size_t
+ /* Otherwise, ensure that it is at least a minimum chunk size */
+ if (alignment < MINSIZE) alignment = MINSIZE;
+
++ /* Check for overflow. */
++ if (bytes > SIZE_MAX - alignment - MINSIZE)
++ {
++ __set_errno (ENOMEM);
++ return 0;
++ }
++
+ arena_get(ar_ptr, bytes + alignment + MINSIZE);
+ if(!ar_ptr)
+ return 0;
+@@ -3051,6 +3058,13 @@ __libc_valloc(size_t bytes)
+
+ size_t pagesz = GLRO(dl_pagesize);
+
++ /* Check for overflow. */
++ if (bytes > SIZE_MAX - pagesz - MINSIZE)
++ {
++ __set_errno (ENOMEM);
++ return 0;
++ }
++
+ __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
+ const __malloc_ptr_t)) =
+ force_reg (__memalign_hook);
+@@ -3088,6 +3102,13 @@ __libc_pvalloc(size_t bytes)
+ size_t page_mask = GLRO(dl_pagesize) - 1;
+ size_t rounded_bytes = (bytes + page_mask) & ~(page_mask);
+
++ /* Check for overflow. */
++ if (bytes > SIZE_MAX - 2*pagesz - MINSIZE)
++ {
++ __set_errno (ENOMEM);
++ return 0;
++ }
++
+ __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
+ const __malloc_ptr_t)) =
+ force_reg (__memalign_hook);
diff --git a/source/l/glibc/glibc.SlackBuild b/source/l/glibc/glibc.SlackBuild
index 0ab9e7143..c97559eee 100755
--- a/source/l/glibc/glibc.SlackBuild
+++ b/source/l/glibc/glibc.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
## build glibc-$VERSION for Slackware
-VERSION=${VERSION:-2.15}
+VERSION=${VERSION:-2.17}
CHECKOUT=${CHECKOUT:-""}
BUILD=${BUILD:-7}
@@ -30,6 +30,9 @@ BUILD=${BUILD:-7}
## glibc-libidn version
#LIBIDNVER=2.10.1
+# I was considering disabling NSCD, but MoZes talked me out of it. :)
+#DISABLE_NSCD=" --disable-nscd "
+
# $ARCH may be preset, otherwise i486 compatibility with i686 binary
# structuring is the Slackware default, since this is what gcc-3.2+
# requires for binary compatibility with previous releases.
@@ -134,13 +137,6 @@ fix_doinst() {
# This is a patch function to put all glibc patches in the build script
# up near the top.
apply_patches() {
- # Reexport the RPC interfaces that were removed in glibc-2.14.
- # Sure, it's crufy code, but stuff needs it, so rather than pull the
- # rug out from under you, we'll just humbly recommend that you consider
- # transitioning away from it... :-)
- zcat $CWD/glibc-2.14-reexport-rpc-interface.patch.gz | patch -p1 --verbose || exit 1
- # Add back the NIS and RPC headers:
- zcat $CWD/glibc-2.14-reinstall-nis-rpc-headers.patch.gz | patch -p1 --verbose || exit 1
# Use old-style locale directories rather than a single (and strangely
# formatted) /usr/lib/locale/locale-archive file:
zcat $CWD/glibc.locale.no-archive.diff.gz | patch -p1 --verbose || exit 1
@@ -172,32 +168,27 @@ apply_patches() {
# Avoid the Intel optimized asm routines for now because they break
# the flash player. We'll phase this in when it's safer to do so.
zcat $CWD/glibc.disable.broken.optimized.memcpy.diff.gz | patch -p1 --verbose || exit 1
- # Upstream fixes to avert Firefox crashes: (still applies to 2.15... probably better not to drop it)
- zcat $CWD/glibc-2.14.1-fixes-1.patch.gz | patch -p1 --verbose || exit 1
- # Upstream patch to fix relocation sorting related crashes:
- zcat $CWD/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff.gz | patch -p1 --verbose || exit 1
- # Upstream patch to fix crashes when nscd is not running:
- zcat $CWD/glibc-2.15.nscd-race-fix.diff.gz | patch -p1 --verbose || exit 1
- # Revert a patch that went into 2.15 that causes NPTL related crashes:
- zcat $CWD/glibc-2.15-revert-c5a0802a.diff.gz | patch -p1 --verbose || exit 1
- # Patch integer overflows in strtod*() functions:
- zcat $CWD/glibc.strtod.CVE-2012-3480.diff.gz | patch -p1 --verbose || exit 1
- # Update the timezone information:
- ( cd timezone
- tar xzf $CWD/tzdata?????.tar.gz
- chown root:root *
- mv yearistype.sh yearistype
- chmod 644 *
- chmod 755 yearistype
- mkdir tzcode
- cd tzcode
- tar xzf $CWD/tzcode?????.tar.gz
- # A partial build is needed here to update TZVERSION in version.h:
- make -i
- chown -R root:root .
- chmod 644 *
- cp -a *.c *.h ..
- )
+ # Fix buffer overrun in regexp matcher. This bug is deemed low impact since
+ # the buffer contents cannot be controlled, but could lead to a crash.
+ zcat $CWD/glibc.CVE-2013-0242.diff.gz | patch -p1 --verbose || exit 1
+ # Fix stack overflow in getaddrinfo with many results. This bug can only be
+ # triggered through DNS poisoning or through the use of a hostile DNS
+ # server (in which case you already have problems), and requires large
+ # amounts of data to be sent to the targeted machine. May lead to a
+ # crash. Considered low impact.
+ zcat $CWD/glibc.CVE-2013-1914.diff.gz | patch -p1 --verbose || exit 1
+ # Remove pt_chown by default, as it can be used for a local privilege
+ # escalation. However, although this is worth patching in the -current
+ # version, it requires a non-default (and known to weaken security) setting
+ # for FUSE. Additionally, the patch is not portable to older versions of
+ # glibc (but thanks Mancha for porting it to 2.17!). On older versions
+ # of glibc, making /usr/libexec/pt_chown a symlink to /bin/true will
+ # provide the same fix, if needed. But the insecure setting for FUSE
+ # probably opens up many other possible exploits and should be avoided.
+ zcat $CWD/glibc.CVE-2013-2207.diff.gz | patch -p1 --verbose || exit 1
+ # Patch integer overflows in pvalloc, valloc, and
+ # posix_memalign/memalign/aligned_alloc (CVE-2013-4332).
+ zcat $CWD/glibc.CVE-2013-4332.diff.gz | patch -p1 --verbose || exit 1
}
# This is going to be the initial $DESTDIR:
@@ -275,10 +266,12 @@ CFLAGS="-g $OPTIMIZ" \
../configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
- --enable-kernel=2.6.32 \
+ --enable-kernel=3.2.29 \
--with-headers=/usr/include \
--enable-add-ons=libidn,nptl \
+ --enable-obsolete-rpc \
--enable-profile \
+ $DISABLE_NSCD \
--infodir=/usr/info \
--mandir=/usr/man \
--with-tls \
@@ -311,6 +304,25 @@ strip -g $PKG/lib${LIBDIRSUFFIX}/l*.so*
strip -g $PKG/usr/lib${LIBDIRSUFFIX}/l*.so*
strip -g $PKG/usr/lib${LIBDIRSUFFIX}/lib*.a
+# Build and install the zoneinfo database:
+cd $TMP
+rm -rf tzcodedata-build
+mkdir tzcodedata-build
+cd tzcodedata-build
+tar xzf $CWD/tzdata?????.tar.gz
+tar xzf $CWD/tzcode?????.tar.gz
+sed -i "s,/usr/local,$(pwd),g" Makefile
+sed -i "s,/etc/zoneinfo,/zoneinfo,g" Makefile
+make
+make install
+mkdir -p $PKG/usr/share/zoneinfo/{posix,right}
+cp -a zoneinfo/* $PKG/usr/share/zoneinfo
+cp -a zoneinfo-posix/* $PKG/usr/share/zoneinfo/posix
+cp -a zoneinfo-leaps/* $PKG/usr/share/zoneinfo/right
+# Remove $PKG/usr/share/zoneinfo/localtime -- the install script will
+# create it as a link to /etc/localtime.
+rm -f $PKG/usr/share/zoneinfo/localtime
+
# Back to the sources dir to add some files/docs:
cd $TMP/glibc-$CVSVER
@@ -320,6 +332,10 @@ mkdir -p $PKG/etc
cat nscd/nscd.conf > $PKG/etc/nscd.conf.new
# Install some scripts to help select a timezone:
+( cd $CWD/timezone-scripts
+ # Try to rebuild this:
+ sh output-updated-timeconfig.sh $PKG/usr/share/zoneinfo > timeconfig 2> /dev/null
+)
mkdir -p $PKG/var/log/setup
cp -a $CWD/timezone-scripts/setup.timeconfig $PKG/var/log/setup
chown root:root $PKG/var/log/setup/setup.timeconfig
@@ -378,7 +394,7 @@ rm $PKG/etc/ld.so.cache
# glibc-zoneinfo. We will start with an easy one to avoid breaking a sweat. ;-)
cd $CWD
-ZONE_VERSIONS="$(echo tzcode* | cut -f1 -d . | cut -b7-11)_$(echo tzdata* | cut -f1 -d . | cut -b7-11)"
+ZONE_VERSIONS="$(echo tzdata* | cut -f1 -d . | cut -b7-11)"
echo $ZONE_VERSIONS
cd $PZONE
# Install some scripts to help select a timezone:
diff --git a/source/l/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff b/source/l/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff
deleted file mode 100644
index e9b3ba400..000000000
--- a/source/l/glibc/glibc.git-6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4.diff
+++ /dev/null
@@ -1,322 +0,0 @@
-From 6ee65ed6ddbf04402fad0bec6aa9c73b9d982ae4 Mon Sep 17 00:00:00 2001
-From: Ulrich Drepper <drepper@gmail.com>
-Date: Fri, 27 Jan 2012 15:05:19 -0500
-Subject: [PATCH] Sort objects before relocations
-
----
- ChangeLog | 11 ++++
- Makeconfig | 6 ++
- NEWS | 4 +-
- elf/Makefile | 15 +++++-
- elf/dl-open.c | 128 ++++++++++++++++++++++++++++++++++++------------
- elf/tst-relsort1.c | 19 +++++++
- elf/tst-relsort1mod1.c | 7 +++
- elf/tst-relsort1mod2.c | 7 +++
- 8 files changed, 160 insertions(+), 37 deletions(-)
- create mode 100644 elf/tst-relsort1.c
- create mode 100644 elf/tst-relsort1mod1.c
- create mode 100644 elf/tst-relsort1mod2.c
-
-#diff --git a/ChangeLog b/ChangeLog
-#index 24c9550..2efe17a 100644
-#--- a/ChangeLog
-#+++ b/ChangeLog
-#@@ -1,3 +1,14 @@
-#+2012-01-27 Ulrich Drepper <drepper@gmail.com>
-#+
-#+ [BZ #13618]
-#+ * elf/dl-open.c (dl_open_worker): Sort objects by dependency before
-#+ relocation.
-#+ * Makeconfig (libm): Define.
-#+ * elf/Makefile: Add rules to build and run tst-relsort1.
-#+ * elf/tst-relsort1.c: New file.
-#+ * elf/tst-relsort1mod1.c: New file.
-#+ * elf/tst-relsort1mod2.c: New file.
-#+
- 2012-01-26 Joseph Myers <joseph@codesourcery.com>
-
- * crypt/md5.h: Remove __STDC__ conditionals.
-diff --git a/Makeconfig b/Makeconfig
-index 2db2821..68547b2 100644
---- a/Makeconfig
-+++ b/Makeconfig
-@@ -900,6 +900,12 @@ else
- libdl = $(common-objpfx)dlfcn/libdl.a
- endif
-
-+ifeq ($(build-shared),yes)
-+libm = $(common-objpfx)math/libm.so$(libm.so-version)
-+else
-+libm = $(common-objpfx)math/libm.a
-+endif
-+
- # These are the subdirectories containing the library source. The order
- # is more or less arbitrary. The sorting step will take care of the
- # dependencies.
-#diff --git a/NEWS b/NEWS
-#index 42e09c1..3b502b7 100644
-#--- a/NEWS
-#+++ b/NEWS
-#@@ -1,4 +1,4 @@
-#-GNU C Library NEWS -- history of user-visible changes. 2012-1-26
-#+GNU C Library NEWS -- history of user-visible changes. 2012-1-27
- #Copyright (C) 1992-2009, 2010, 2011, 2012 Free Software Foundation, Inc.
- #See the end for copying conditions.
-#
-#@@ -10,7 +10,7 @@ Version 2.16
- #* The following bugs are resolved with this release:
-#
- #13525, 13526, 13527, 13528, 13529, 13531, 13532, 13533, 13547, 13530,
-#- 13551, 13552, 13553, 13555, 13559, 13583
-#+ 13551, 13552, 13553, 13555, 13559, 13583, 13618
-#
- #* ISO C11 support:
-#
-diff --git a/elf/Makefile b/elf/Makefile
-index 052e763..3f1772a 100644
---- a/elf/Makefile
-+++ b/elf/Makefile
-@@ -124,7 +124,8 @@ distribute := rtld-Rules \
- tst-initordera1.c tst-initordera2.c tst-initorderb1.c \
- tst-initorderb2.c tst-initordera3.c tst-initordera4.c \
- tst-initorder.c \
-- tst-initorder2.c
-+ tst-initorder2.c \
-+ tst-relsort1.c tst-relsort1mod1.c tst-relsort1mod2.c
-
- CFLAGS-dl-runtime.c = -fexceptions -fasynchronous-unwind-tables
- CFLAGS-dl-lookup.c = -fexceptions -fasynchronous-unwind-tables
-@@ -227,7 +228,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
- tst-audit1 tst-audit2 \
- tst-stackguard1 tst-addr1 tst-thrlock \
- tst-unique1 tst-unique2 tst-unique3 tst-unique4 \
-- tst-initorder tst-initorder2
-+ tst-initorder tst-initorder2 tst-relsort1
- # reldep9
- test-srcs = tst-pathopt
- selinux-enabled := $(shell cat /selinux/enforce 2> /dev/null)
-@@ -290,7 +291,9 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
- tst-initordera1 tst-initorderb1 \
- tst-initordera2 tst-initorderb2 \
- tst-initordera3 tst-initordera4 \
-- tst-initorder2a tst-initorder2b tst-initorder2c tst-initorder2d
-+ tst-initorder2a tst-initorder2b tst-initorder2c \
-+ tst-initorder2d \
-+ tst-relsort1mod1 tst-relsort1mod2
- ifeq (yes,$(have-initfini-array))
- modules-names += tst-array2dep tst-array5dep
- endif
-@@ -1195,3 +1198,9 @@ CFLAGS-tst-auditmod6b.c += $(AVX-CFLAGS)
- CFLAGS-tst-auditmod6c.c += $(AVX-CFLAGS)
- CFLAGS-tst-auditmod7b.c += $(AVX-CFLAGS)
- endif
-+
-+$(objpfx)tst-relsort1: $(libdl)
-+$(objpfx)tst-relsort1mod1.so: $(libm) $(objpfx)tst-relsort1mod2.so
-+$(objpfx)tst-relsort1mod2.so: $(libm)
-+$(objpfx)tst-relsort1.out: $(objpfx)tst-relsort1mod1.so \
-+ $(objpfx)tst-relsort1mod2.so
-diff --git a/elf/dl-open.c b/elf/dl-open.c
-index a0b5c50..a56bdc1 100644
---- a/elf/dl-open.c
-+++ b/elf/dl-open.c
-@@ -1,5 +1,5 @@
- /* Load a shared object at runtime, relocate it, and run its initializer.
-- Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc.
-+ Copyright (C) 1996-2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
-@@ -302,45 +302,109 @@ dl_open_worker (void *a)
- if (GLRO(dl_lazy))
- reloc_mode |= mode & RTLD_LAZY;
-
-- /* Relocate the objects loaded. We do this in reverse order so that copy
-- relocs of earlier objects overwrite the data written by later objects. */
--
-+ /* Sort the objects by dependency for the relocation process. This
-+ allows IFUNC relocations to work and it also means copy
-+ relocation of dependencies are if necessary overwritten. */
-+ size_t nmaps = 0;
- struct link_map *l = new;
-- while (l->l_next)
-- l = l->l_next;
-- while (1)
-+ do
-+ {
-+ if (! l->l_real->l_relocated)
-+ ++nmaps;
-+ l = l->l_next;
-+ }
-+ while (l != NULL);
-+ struct link_map *maps[nmaps];
-+ nmaps = 0;
-+ l = new;
-+ do
- {
- if (! l->l_real->l_relocated)
-+ maps[nmaps++] = l;
-+ l = l->l_next;
-+ }
-+ while (l != NULL);
-+ if (nmaps > 1)
-+ {
-+ char seen[nmaps];
-+ memset (seen, '\0', nmaps);
-+ size_t i = 0;
-+ while (1)
- {
--#ifdef SHARED
-- if (__builtin_expect (GLRO(dl_profile) != NULL, 0))
-+ ++seen[i];
-+ struct link_map *thisp = maps[i];
-+
-+ /* Find the last object in the list for which the current one is
-+ a dependency and move the current object behind the object
-+ with the dependency. */
-+ size_t k = nmaps - 1;
-+ while (k > i)
- {
-- /* If this here is the shared object which we want to profile
-- make sure the profile is started. We can find out whether
-- this is necessary or not by observing the `_dl_profile_map'
-- variable. If was NULL but is not NULL afterwars we must
-- start the profiling. */
-- struct link_map *old_profile_map = GL(dl_profile_map);
-+ struct link_map **runp = maps[k]->l_initfini;
-+ if (runp != NULL)
-+ /* Look through the dependencies of the object. */
-+ while (*runp != NULL)
-+ if (__builtin_expect (*runp++ == thisp, 0))
-+ {
-+ /* Move the current object to the back past the last
-+ object with it as the dependency. */
-+ memmove (&maps[i], &maps[i + 1],
-+ (k - i) * sizeof (maps[0]));
-+ maps[k] = thisp;
-+
-+ if (seen[i + 1] > 1)
-+ {
-+ ++i;
-+ goto next_clear;
-+ }
-+
-+ char this_seen = seen[i];
-+ memmove (&seen[i], &seen[i + 1],
-+ (k - i) * sizeof (seen[0]));
-+ seen[k] = this_seen;
-+
-+ goto next;
-+ }
-+
-+ --k;
-+ }
-
-- _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1);
-+ if (++i == nmaps)
-+ break;
-+ next_clear:
-+ memset (&seen[i], 0, (nmaps - i) * sizeof (seen[0]));
-+ next:;
-+ }
-+ }
-
-- if (old_profile_map == NULL && GL(dl_profile_map) != NULL)
-- {
-- /* We must prepare the profiling. */
-- _dl_start_profile ();
-+ for (size_t i = nmaps; i-- > 0; )
-+ {
-+ l = maps[i];
-
-- /* Prevent unloading the object. */
-- GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE;
-- }
-+#ifdef SHARED
-+ if (__builtin_expect (GLRO(dl_profile) != NULL, 0))
-+ {
-+ /* If this here is the shared object which we want to profile
-+ make sure the profile is started. We can find out whether
-+ this is necessary or not by observing the `_dl_profile_map'
-+ variable. If it was NULL but is not NULL afterwars we must
-+ start the profiling. */
-+ struct link_map *old_profile_map = GL(dl_profile_map);
-+
-+ _dl_relocate_object (l, l->l_scope, reloc_mode | RTLD_LAZY, 1);
-+
-+ if (old_profile_map == NULL && GL(dl_profile_map) != NULL)
-+ {
-+ /* We must prepare the profiling. */
-+ _dl_start_profile ();
-+
-+ /* Prevent unloading the object. */
-+ GL(dl_profile_map)->l_flags_1 |= DF_1_NODELETE;
- }
-- else
--#endif
-- _dl_relocate_object (l, l->l_scope, reloc_mode, 0);
- }
--
-- if (l == new)
-- break;
-- l = l->l_prev;
-+ else
-+#endif
-+ _dl_relocate_object (l, l->l_scope, reloc_mode, 0);
- }
-
- /* If the file is not loaded now as a dependency, add the search
-diff --git a/elf/tst-relsort1.c b/elf/tst-relsort1.c
-new file mode 100644
-index 0000000..972100c
---- /dev/null
-+++ b/elf/tst-relsort1.c
-@@ -0,0 +1,19 @@
-+#include <dlfcn.h>
-+#include <stdio.h>
-+
-+
-+static int
-+do_test ()
-+{
-+ const char lib[] = "$ORIGIN/tst-relsort1mod1.so";
-+ void *h = dlopen (lib, RTLD_NOW);
-+ if (h == NULL)
-+ {
-+ puts (dlerror ());
-+ return 1;
-+ }
-+ return 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff --git a/elf/tst-relsort1mod1.c b/elf/tst-relsort1mod1.c
-new file mode 100644
-index 0000000..9e4a943
---- /dev/null
-+++ b/elf/tst-relsort1mod1.c
-@@ -0,0 +1,7 @@
-+extern int foo (double);
-+
-+int
-+bar (void)
-+{
-+ return foo (1.2);
-+}
-diff --git a/elf/tst-relsort1mod2.c b/elf/tst-relsort1mod2.c
-new file mode 100644
-index 0000000..a2c3e55
---- /dev/null
-+++ b/elf/tst-relsort1mod2.c
-@@ -0,0 +1,7 @@
-+#include <math.h>
-+
-+int
-+foo (double d)
-+{
-+ return floor (d) != 0.0;
-+}
---
-1.7.3.4
-
diff --git a/source/l/glibc/glibc.strtod.CVE-2012-3480.diff b/source/l/glibc/glibc.strtod.CVE-2012-3480.diff
deleted file mode 100644
index 7a7bdeb7d..000000000
--- a/source/l/glibc/glibc.strtod.CVE-2012-3480.diff
+++ /dev/null
@@ -1,407 +0,0 @@
-From 8a780f7f68a1cd4c575bb17973a9e18826b05ef9 Mon Sep 17 00:00:00 2001
-From: Joseph Myers <joseph@codesourcery.com>
-Date: Mon, 27 Aug 2012 15:59:24 +0000
-Subject: [PATCH 1/1] Fix strtod integer/buffer overflow (bug 14459).
- (cherry picked from commit d6e70f4368533224e66d10b7f2126b899a3fd5e4)
-
-Conflicts:
-
- ChangeLog
- NEWS
- stdlib/Makefile
----
- ChangeLog | 17 +++++
- NEWS | 2 +-
- stdlib/Makefile | 2 +-
- stdlib/strtod_l.c | 142 ++++++++++++++++++++++++++++++++---------
- stdlib/tst-strtod-overflow.c | 48 ++++++++++++++
- 5 files changed, 178 insertions(+), 33 deletions(-)
- create mode 100644 stdlib/tst-strtod-overflow.c
-
-diff --git a/stdlib/Makefile b/stdlib/Makefile
-index 04c6ac5..b55f573 100644
---- a/stdlib/Makefile
-+++ b/stdlib/Makefile
-@@ -71,7 +71,7 @@ tests := tst-strtol tst-strtod testmb testrand testsort testdiv \
- tst-atof1 tst-atof2 tst-strtod2 tst-strtod3 tst-rand48-2 \
- tst-makecontext tst-strtod4 tst-strtod5 tst-qsort2 \
- tst-makecontext2 tst-strtod6 tst-unsetenv1 \
-- tst-makecontext3 bug-getcontext
-+ tst-makecontext3 bug-getcontext tst-strtod-overflow
-
- include ../Makeconfig
-
-diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c
-index f24d4de..0deaebf 100644
---- a/stdlib/strtod_l.c
-+++ b/stdlib/strtod_l.c
-@@ -62,6 +62,7 @@ extern unsigned long long int ____strtoull_l_internal (const char *, char **,
- #include <math.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <stdint.h>
-
- /* The gmp headers need some configuration frobs. */
- #define HAVE_ALLOCA 1
-@@ -74,7 +75,6 @@ extern unsigned long long int ____strtoull_l_internal (const char *, char **,
- #include "longlong.h"
- #include "fpioconst.h"
-
--#define NDEBUG 1
- #include <assert.h>
-
-
-@@ -176,19 +176,19 @@ extern const mp_limb_t _tens_in_limb[MAX_DIG_PER_LIMB + 1];
- /* Return a floating point number of the needed type according to the given
- multi-precision number after possible rounding. */
- static FLOAT
--round_and_return (mp_limb_t *retval, int exponent, int negative,
-+round_and_return (mp_limb_t *retval, intmax_t exponent, int negative,
- mp_limb_t round_limb, mp_size_t round_bit, int more_bits)
- {
- if (exponent < MIN_EXP - 1)
- {
-- mp_size_t shift = MIN_EXP - 1 - exponent;
--
-- if (shift > MANT_DIG)
-+ if (exponent < MIN_EXP - 1 - MANT_DIG)
- {
- __set_errno (ERANGE);
- return 0.0;
- }
-
-+ mp_size_t shift = MIN_EXP - 1 - exponent;
-+
- more_bits |= (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0;
- if (shift == MANT_DIG)
- /* This is a special case to handle the very seldom case where
-@@ -235,6 +235,9 @@ round_and_return (mp_limb_t *retval, int exponent, int negative,
- __set_errno (ERANGE);
- }
-
-+ if (exponent > MAX_EXP)
-+ goto overflow;
-+
- if ((round_limb & (((mp_limb_t) 1) << round_bit)) != 0
- && (more_bits || (retval[0] & 1) != 0
- || (round_limb & ((((mp_limb_t) 1) << round_bit) - 1)) != 0))
-@@ -260,6 +263,7 @@ round_and_return (mp_limb_t *retval, int exponent, int negative,
- }
-
- if (exponent > MAX_EXP)
-+ overflow:
- return negative ? -FLOAT_HUGE_VAL : FLOAT_HUGE_VAL;
-
- return MPN2FLOAT (retval, exponent, negative);
-@@ -273,7 +277,7 @@ round_and_return (mp_limb_t *retval, int exponent, int negative,
- factor for the resulting number (see code) multiply by it. */
- static const STRING_TYPE *
- str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
-- int *exponent
-+ intmax_t *exponent
- #ifndef USE_WIDE_CHAR
- , const char *decimal, size_t decimal_len, const char *thousands
- #endif
-@@ -303,6 +307,7 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
- cy += __mpn_add_1 (n, n, *nsize, low);
- if (cy != 0)
- {
-+ assert (*nsize < MPNSIZE);
- n[*nsize] = cy;
- ++(*nsize);
- }
-@@ -337,7 +342,7 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
- }
- while (--digcnt > 0);
-
-- if (*exponent > 0 && cnt + *exponent <= MAX_DIG_PER_LIMB)
-+ if (*exponent > 0 && *exponent <= MAX_DIG_PER_LIMB - cnt)
- {
- low *= _tens_in_limb[*exponent];
- start = _tens_in_limb[cnt + *exponent];
-@@ -357,7 +362,10 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
- cy = __mpn_mul_1 (n, n, *nsize, start);
- cy += __mpn_add_1 (n, n, *nsize, low);
- if (cy != 0)
-- n[(*nsize)++] = cy;
-+ {
-+ assert (*nsize < MPNSIZE);
-+ n[(*nsize)++] = cy;
-+ }
- }
-
- return str;
-@@ -415,7 +423,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- {
- int negative; /* The sign of the number. */
- MPN_VAR (num); /* MP representation of the number. */
-- int exponent; /* Exponent of the number. */
-+ intmax_t exponent; /* Exponent of the number. */
-
- /* Numbers starting `0X' or `0x' have to be processed with base 16. */
- int base = 10;
-@@ -437,7 +445,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- /* Points at the character following the integer and fractional digits. */
- const STRING_TYPE *expp;
- /* Total number of digit and number of digits in integer part. */
-- int dig_no, int_no, lead_zero;
-+ size_t dig_no, int_no, lead_zero;
- /* Contains the last character read. */
- CHAR_TYPE c;
-
-@@ -769,7 +777,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- are all or any is really a fractional digit will be decided
- later. */
- int_no = dig_no;
-- lead_zero = int_no == 0 ? -1 : 0;
-+ lead_zero = int_no == 0 ? (size_t) -1 : 0;
-
- /* Read the fractional digits. A special case are the 'american
- style' numbers like `16.' i.e. with decimal point but without
-@@ -791,12 +799,13 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- (base == 16 && ({ CHAR_TYPE lo = TOLOWER (c);
- lo >= L_('a') && lo <= L_('f'); })))
- {
-- if (c != L_('0') && lead_zero == -1)
-+ if (c != L_('0') && lead_zero == (size_t) -1)
- lead_zero = dig_no - int_no;
- ++dig_no;
- c = *++cp;
- }
- }
-+ assert (dig_no <= (uintmax_t) INTMAX_MAX);
-
- /* Remember start of exponent (if any). */
- expp = cp;
-@@ -819,24 +828,80 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
-
- if (c >= L_('0') && c <= L_('9'))
- {
-- int exp_limit;
-+ intmax_t exp_limit;
-
- /* Get the exponent limit. */
- if (base == 16)
-- exp_limit = (exp_negative ?
-- -MIN_EXP + MANT_DIG + 4 * int_no :
-- MAX_EXP - 4 * int_no + 4 * lead_zero + 3);
-+ {
-+ if (exp_negative)
-+ {
-+ assert (int_no <= (uintmax_t) (INTMAX_MAX
-+ + MIN_EXP - MANT_DIG) / 4);
-+ exp_limit = -MIN_EXP + MANT_DIG + 4 * (intmax_t) int_no;
-+ }
-+ else
-+ {
-+ if (int_no)
-+ {
-+ assert (lead_zero == 0
-+ && int_no <= (uintmax_t) INTMAX_MAX / 4);
-+ exp_limit = MAX_EXP - 4 * (intmax_t) int_no + 3;
-+ }
-+ else if (lead_zero == (size_t) -1)
-+ {
-+ /* The number is zero and this limit is
-+ arbitrary. */
-+ exp_limit = MAX_EXP + 3;
-+ }
-+ else
-+ {
-+ assert (lead_zero
-+ <= (uintmax_t) (INTMAX_MAX - MAX_EXP - 3) / 4);
-+ exp_limit = (MAX_EXP
-+ + 4 * (intmax_t) lead_zero
-+ + 3);
-+ }
-+ }
-+ }
- else
-- exp_limit = (exp_negative ?
-- -MIN_10_EXP + MANT_DIG + int_no :
-- MAX_10_EXP - int_no + lead_zero + 1);
-+ {
-+ if (exp_negative)
-+ {
-+ assert (int_no
-+ <= (uintmax_t) (INTMAX_MAX + MIN_10_EXP - MANT_DIG));
-+ exp_limit = -MIN_10_EXP + MANT_DIG + (intmax_t) int_no;
-+ }
-+ else
-+ {
-+ if (int_no)
-+ {
-+ assert (lead_zero == 0
-+ && int_no <= (uintmax_t) INTMAX_MAX);
-+ exp_limit = MAX_10_EXP - (intmax_t) int_no + 1;
-+ }
-+ else if (lead_zero == (size_t) -1)
-+ {
-+ /* The number is zero and this limit is
-+ arbitrary. */
-+ exp_limit = MAX_10_EXP + 1;
-+ }
-+ else
-+ {
-+ assert (lead_zero
-+ <= (uintmax_t) (INTMAX_MAX - MAX_10_EXP - 1));
-+ exp_limit = MAX_10_EXP + (intmax_t) lead_zero + 1;
-+ }
-+ }
-+ }
-+
-+ if (exp_limit < 0)
-+ exp_limit = 0;
-
- do
- {
-- exponent *= 10;
-- exponent += c - L_('0');
--
-- if (__builtin_expect (exponent > exp_limit, 0))
-+ if (__builtin_expect ((exponent > exp_limit / 10
-+ || (exponent == exp_limit / 10
-+ && c - L_('0') > exp_limit % 10)), 0))
- /* The exponent is too large/small to represent a valid
- number. */
- {
-@@ -845,7 +910,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- /* We have to take care for special situation: a joker
- might have written "0.0e100000" which is in fact
- zero. */
-- if (lead_zero == -1)
-+ if (lead_zero == (size_t) -1)
- result = negative ? -0.0 : 0.0;
- else
- {
-@@ -864,6 +929,9 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- /* NOTREACHED */
- }
-
-+ exponent *= 10;
-+ exponent += c - L_('0');
-+
- c = *++cp;
- }
- while (c >= L_('0') && c <= L_('9'));
-@@ -932,7 +1000,14 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- }
- #endif
- startp += lead_zero + decimal_len;
-- exponent -= base == 16 ? 4 * lead_zero : lead_zero;
-+ assert (lead_zero <= (base == 16
-+ ? (uintmax_t) INTMAX_MAX / 4
-+ : (uintmax_t) INTMAX_MAX));
-+ assert (lead_zero <= (base == 16
-+ ? ((uintmax_t) exponent
-+ - (uintmax_t) INTMAX_MIN) / 4
-+ : ((uintmax_t) exponent - (uintmax_t) INTMAX_MIN)));
-+ exponent -= base == 16 ? 4 * (intmax_t) lead_zero : (intmax_t) lead_zero;
- dig_no -= lead_zero;
- }
-
-@@ -974,7 +1049,10 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- }
-
- /* Adjust the exponent for the bits we are shifting in. */
-- exponent += bits - 1 + (int_no - 1) * 4;
-+ assert (int_no <= (uintmax_t) (exponent < 0
-+ ? (INTMAX_MAX - bits + 1) / 4
-+ : (INTMAX_MAX - exponent - bits + 1) / 4));
-+ exponent += bits - 1 + ((intmax_t) int_no - 1) * 4;
-
- while (--dig_no > 0 && idx >= 0)
- {
-@@ -1014,13 +1092,15 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- really integer digits or belong to the fractional part; i.e. we normalize
- 123e-2 to 1.23. */
- {
-- register int incr = (exponent < 0 ? MAX (-int_no, exponent)
-- : MIN (dig_no - int_no, exponent));
-+ register intmax_t incr = (exponent < 0
-+ ? MAX (-(intmax_t) int_no, exponent)
-+ : MIN ((intmax_t) dig_no - (intmax_t) int_no,
-+ exponent));
- int_no += incr;
- exponent -= incr;
- }
-
-- if (__builtin_expect (int_no + exponent > MAX_10_EXP + 1, 0))
-+ if (__builtin_expect (exponent > MAX_10_EXP + 1 - (intmax_t) int_no, 0))
- {
- __set_errno (ERANGE);
- return negative ? -FLOAT_HUGE_VAL : FLOAT_HUGE_VAL;
-@@ -1205,7 +1285,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- digits we should have enough bits for the result. The remaining
- decimal digits give us the information that more bits are following.
- This can be used while rounding. (Two added as a safety margin.) */
-- if (dig_no - int_no > (MANT_DIG - bits + 2) / 3 + 2)
-+ if ((intmax_t) dig_no > (intmax_t) int_no + (MANT_DIG - bits + 2) / 3 + 2)
- {
- dig_no = int_no + (MANT_DIG - bits + 2) / 3 + 2;
- more_bits = 1;
-@@ -1213,7 +1293,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
- else
- more_bits = 0;
-
-- neg_exp = dig_no - int_no - exponent;
-+ neg_exp = (intmax_t) dig_no - (intmax_t) int_no - exponent;
-
- /* Construct the denominator. */
- densize = 0;
-diff --git a/stdlib/tst-strtod-overflow.c b/stdlib/tst-strtod-overflow.c
-new file mode 100644
-index 0000000..668d55b
---- /dev/null
-+++ b/stdlib/tst-strtod-overflow.c
-@@ -0,0 +1,48 @@
-+/* Test for integer/buffer overflow in strtod.
-+ Copyright (C) 2012 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C 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.
-+
-+ The GNU C 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 the GNU C Library; if not, see
-+ <http://www.gnu.org/licenses/>. */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+
-+#define EXPONENT "e-2147483649"
-+#define SIZE 214748364
-+
-+static int
-+do_test (void)
-+{
-+ char *p = malloc (1 + SIZE + sizeof (EXPONENT));
-+ if (p == NULL)
-+ {
-+ puts ("malloc failed, cannot test for overflow");
-+ return 0;
-+ }
-+ p[0] = '1';
-+ memset (p + 1, '0', SIZE);
-+ memcpy (p + 1 + SIZE, EXPONENT, sizeof (EXPONENT));
-+ double d = strtod (p, NULL);
-+ if (d != 0)
-+ {
-+ printf ("strtod returned wrong value: %a\n", d);
-+ return 1;
-+ }
-+ return 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
---
-1.7.3.4
diff --git a/source/l/glibc/timezone-scripts/output-updated-timeconfig.sh b/source/l/glibc/timezone-scripts/output-updated-timeconfig.sh
index 5d1ade37d..a04f1b67f 100644..100755
--- a/source/l/glibc/timezone-scripts/output-updated-timeconfig.sh
+++ b/source/l/glibc/timezone-scripts/output-updated-timeconfig.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright 2006 Patrick J. Volkerding, Sebeka, MN, USA.
+# Copyright 2000, 2001, 2006, 2007, 2008, 2012 Patrick J. Volkerding, Sebeka, MN, USA.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/source/l/glibc/timezone-scripts/parts/00 b/source/l/glibc/timezone-scripts/parts/00
index 9344c5099..42d8a7e0b 100644
--- a/source/l/glibc/timezone-scripts/parts/00
+++ b/source/l/glibc/timezone-scripts/parts/00
@@ -6,6 +6,7 @@
# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000
#
# ChangeLog:
+# 2012-12-12: Updated timezones from tzdata2012j. <pjv>
# 2008-03-10: Updated timezones from tzdata2008a. <pjv>
# 2007-12-21: Updated timezones from tzdata2007j. <pjv>
# 2006-12-03: Updated timezones from tzdata2006p. <pjv>
diff --git a/source/l/glibc/timezone-scripts/parts/01 b/source/l/glibc/timezone-scripts/parts/01
index 139094470..3860d8bde 100644
--- a/source/l/glibc/timezone-scripts/parts/01
+++ b/source/l/glibc/timezone-scripts/parts/01
@@ -9,6 +9,7 @@
"US/Michigan" " " \
"US/Mountain" " " \
"US/Pacific" " " \
+"US/Pacific-New" " " \
"US/Samoa" " " \
"Africa/Abidjan" " " \
"Africa/Accra" " " \
@@ -260,6 +261,8 @@
"Asia/Karachi" " " \
"Asia/Kashgar" " " \
"Asia/Katmandu" " " \
+"Asia/Khandyga" " " \
+"Asia/Khandyga" " " \
"Asia/Krasnoyarsk" " " \
"Asia/Kuala_Lumpur" " " \
"Asia/Kuching" " " \
@@ -302,6 +305,7 @@
"Asia/Ulaanbaatar" " " \
"Asia/Ulan_Bator" " " \
"Asia/Urumqi" " " \
+"Asia/Ust-Nera" " " \
"Asia/Vientiane" " " \
"Asia/Vladivostok" " " \
"Asia/Yakutsk" " " \
@@ -408,6 +412,7 @@
"Europe/Brussels" " " \
"Europe/Bucharest" " " \
"Europe/Budapest" " " \
+"Europe/Busingen" " " \
"Europe/Chisinau" " " \
"Europe/Copenhagen" " " \
"Europe/Dublin" " " \
@@ -1096,6 +1101,7 @@
"posix/US/Michigan" " " \
"posix/US/Mountain" " " \
"posix/US/Pacific" " " \
+"posix/US/Pacific-New" " " \
"posix/US/Samoa" " " \
"posix/UTC" " " \
"posix/Universal" " " \
@@ -1649,6 +1655,7 @@
"right/US/Michigan" " " \
"right/US/Mountain" " " \
"right/US/Pacific" " " \
+"right/US/Pacific-New" " " \
"right/US/Samoa" " " \
"right/UTC" " " \
"right/Universal" " " \
diff --git a/source/l/glibc/timezone-scripts/parts/03 b/source/l/glibc/timezone-scripts/parts/03
index 9993c3487..f9a201ab7 100644
--- a/source/l/glibc/timezone-scripts/parts/03
+++ b/source/l/glibc/timezone-scripts/parts/03
@@ -9,6 +9,7 @@ US/Indiana-Starke
US/Michigan
US/Mountain
US/Pacific
+US/Pacific-New
US/Samoa
Africa/Abidjan
Africa/Accra
@@ -260,6 +261,8 @@ Asia/Kamchatka
Asia/Karachi
Asia/Kashgar
Asia/Katmandu
+Asia/Khandyga
+Asia/Kolkata
Asia/Krasnoyarsk
Asia/Kuala_Lumpur
Asia/Kuching
@@ -302,6 +305,7 @@ Asia/Ujung_Pandang
Asia/Ulaanbaatar
Asia/Ulan_Bator
Asia/Urumqi
+Asia/Ust-Nera
Asia/Vientiane
Asia/Vladivostok
Asia/Yakutsk
@@ -408,6 +412,7 @@ Europe/Bratislava
Europe/Brussels
Europe/Bucharest
Europe/Budapest
+Europe/Busingen
Europe/Chisinau
Europe/Copenhagen
Europe/Dublin
@@ -1096,6 +1101,7 @@ posix/US/Indiana-Starke
posix/US/Michigan
posix/US/Mountain
posix/US/Pacific
+posix/US/Pacific-New
posix/US/Samoa
posix/UTC
posix/Universal
@@ -1649,6 +1655,7 @@ right/US/Indiana-Starke
right/US/Michigan
right/US/Mountain
right/US/Pacific
+right/US/Pacific-New
right/US/Samoa
right/UTC
right/Universal
diff --git a/source/l/glibc/timezone-scripts/timeconfig b/source/l/glibc/timezone-scripts/timeconfig
index 56e786c38..e09550d43 100644
--- a/source/l/glibc/timezone-scripts/timeconfig
+++ b/source/l/glibc/timezone-scripts/timeconfig
@@ -6,6 +6,7 @@
# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000
#
# ChangeLog:
+# 2012-12-12: Updated timezones from tzdata2012j. <pjv>
# 2008-03-10: Updated timezones from tzdata2008a. <pjv>
# 2007-12-21: Updated timezones from tzdata2007j. <pjv>
# 2006-12-03: Updated timezones from tzdata2006p. <pjv>
@@ -138,6 +139,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"US/Michigan" " " \
"US/Mountain" " " \
"US/Pacific" " " \
+"US/Pacific-New" " " \
"US/Samoa" " " \
"Africa/Abidjan" " " \
"Africa/Accra" " " \
@@ -237,6 +239,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"America/Coral_Harbour" " " \
"America/Cordoba" " " \
"America/Costa_Rica" " " \
+"America/Creston" " " \
"America/Cuiaba" " " \
"America/Curacao" " " \
"America/Danmarkshavn" " " \
@@ -411,6 +414,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"Asia/Kashgar" " " \
"Asia/Kathmandu" " " \
"Asia/Katmandu" " " \
+"Asia/Khandyga" " " \
"Asia/Kolkata" " " \
"Asia/Krasnoyarsk" " " \
"Asia/Kuala_Lumpur" " " \
@@ -455,6 +459,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"Asia/Ulaanbaatar" " " \
"Asia/Ulan_Bator" " " \
"Asia/Urumqi" " " \
+"Asia/Ust-Nera" " " \
"Asia/Vientiane" " " \
"Asia/Vladivostok" " " \
"Asia/Yakutsk" " " \
@@ -563,6 +568,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"Europe/Brussels" " " \
"Europe/Bucharest" " " \
"Europe/Budapest" " " \
+"Europe/Busingen" " " \
"Europe/Chisinau" " " \
"Europe/Copenhagen" " " \
"Europe/Dublin" " " \
@@ -805,6 +811,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"posix/America/Coral_Harbour" " " \
"posix/America/Cordoba" " " \
"posix/America/Costa_Rica" " " \
+"posix/America/Creston" " " \
"posix/America/Cuiaba" " " \
"posix/America/Curacao" " " \
"posix/America/Danmarkshavn" " " \
@@ -979,6 +986,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"posix/Asia/Kashgar" " " \
"posix/Asia/Kathmandu" " " \
"posix/Asia/Katmandu" " " \
+"posix/Asia/Khandyga" " " \
"posix/Asia/Kolkata" " " \
"posix/Asia/Krasnoyarsk" " " \
"posix/Asia/Kuala_Lumpur" " " \
@@ -1023,6 +1031,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"posix/Asia/Ulaanbaatar" " " \
"posix/Asia/Ulan_Bator" " " \
"posix/Asia/Urumqi" " " \
+"posix/Asia/Ust-Nera" " " \
"posix/Asia/Vientiane" " " \
"posix/Asia/Vladivostok" " " \
"posix/Asia/Yakutsk" " " \
@@ -1131,6 +1140,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"posix/Europe/Brussels" " " \
"posix/Europe/Bucharest" " " \
"posix/Europe/Budapest" " " \
+"posix/Europe/Busingen" " " \
"posix/Europe/Chisinau" " " \
"posix/Europe/Copenhagen" " " \
"posix/Europe/Dublin" " " \
@@ -1281,6 +1291,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"posix/US/Michigan" " " \
"posix/US/Mountain" " " \
"posix/US/Pacific" " " \
+"posix/US/Pacific-New" " " \
"posix/US/Samoa" " " \
"posix/UTC" " " \
"posix/Universal" " " \
@@ -1386,6 +1397,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"right/America/Coral_Harbour" " " \
"right/America/Cordoba" " " \
"right/America/Costa_Rica" " " \
+"right/America/Creston" " " \
"right/America/Cuiaba" " " \
"right/America/Curacao" " " \
"right/America/Danmarkshavn" " " \
@@ -1560,6 +1572,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"right/Asia/Kashgar" " " \
"right/Asia/Kathmandu" " " \
"right/Asia/Katmandu" " " \
+"right/Asia/Khandyga" " " \
"right/Asia/Kolkata" " " \
"right/Asia/Krasnoyarsk" " " \
"right/Asia/Kuala_Lumpur" " " \
@@ -1604,6 +1617,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"right/Asia/Ulaanbaatar" " " \
"right/Asia/Ulan_Bator" " " \
"right/Asia/Urumqi" " " \
+"right/Asia/Ust-Nera" " " \
"right/Asia/Vientiane" " " \
"right/Asia/Vladivostok" " " \
"right/Asia/Yakutsk" " " \
@@ -1712,6 +1726,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"right/Europe/Brussels" " " \
"right/Europe/Bucharest" " " \
"right/Europe/Budapest" " " \
+"right/Europe/Busingen" " " \
"right/Europe/Chisinau" " " \
"right/Europe/Copenhagen" " " \
"right/Europe/Dublin" " " \
@@ -1862,6 +1877,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"right/US/Michigan" " " \
"right/US/Mountain" " " \
"right/US/Pacific" " " \
+"right/US/Pacific-New" " " \
"right/US/Samoa" " " \
"right/UTC" " " \
"right/Universal" " " \
@@ -1907,6 +1923,7 @@ US/Indiana-Starke
US/Michigan
US/Mountain
US/Pacific
+US/Pacific-New
US/Samoa
Africa/Abidjan
Africa/Accra
@@ -2006,6 +2023,7 @@ America/Chihuahua
America/Coral_Harbour
America/Cordoba
America/Costa_Rica
+America/Creston
America/Cuiaba
America/Curacao
America/Danmarkshavn
@@ -2180,6 +2198,7 @@ Asia/Karachi
Asia/Kashgar
Asia/Kathmandu
Asia/Katmandu
+Asia/Khandyga
Asia/Kolkata
Asia/Krasnoyarsk
Asia/Kuala_Lumpur
@@ -2224,6 +2243,7 @@ Asia/Ujung_Pandang
Asia/Ulaanbaatar
Asia/Ulan_Bator
Asia/Urumqi
+Asia/Ust-Nera
Asia/Vientiane
Asia/Vladivostok
Asia/Yakutsk
@@ -2332,6 +2352,7 @@ Europe/Bratislava
Europe/Brussels
Europe/Bucharest
Europe/Budapest
+Europe/Busingen
Europe/Chisinau
Europe/Copenhagen
Europe/Dublin
@@ -2574,6 +2595,7 @@ posix/America/Chihuahua
posix/America/Coral_Harbour
posix/America/Cordoba
posix/America/Costa_Rica
+posix/America/Creston
posix/America/Cuiaba
posix/America/Curacao
posix/America/Danmarkshavn
@@ -2748,6 +2770,7 @@ posix/Asia/Karachi
posix/Asia/Kashgar
posix/Asia/Kathmandu
posix/Asia/Katmandu
+posix/Asia/Khandyga
posix/Asia/Kolkata
posix/Asia/Krasnoyarsk
posix/Asia/Kuala_Lumpur
@@ -2792,6 +2815,7 @@ posix/Asia/Ujung_Pandang
posix/Asia/Ulaanbaatar
posix/Asia/Ulan_Bator
posix/Asia/Urumqi
+posix/Asia/Ust-Nera
posix/Asia/Vientiane
posix/Asia/Vladivostok
posix/Asia/Yakutsk
@@ -2900,6 +2924,7 @@ posix/Europe/Bratislava
posix/Europe/Brussels
posix/Europe/Bucharest
posix/Europe/Budapest
+posix/Europe/Busingen
posix/Europe/Chisinau
posix/Europe/Copenhagen
posix/Europe/Dublin
@@ -3050,6 +3075,7 @@ posix/US/Indiana-Starke
posix/US/Michigan
posix/US/Mountain
posix/US/Pacific
+posix/US/Pacific-New
posix/US/Samoa
posix/UTC
posix/Universal
@@ -3155,6 +3181,7 @@ right/America/Chihuahua
right/America/Coral_Harbour
right/America/Cordoba
right/America/Costa_Rica
+right/America/Creston
right/America/Cuiaba
right/America/Curacao
right/America/Danmarkshavn
@@ -3329,6 +3356,7 @@ right/Asia/Karachi
right/Asia/Kashgar
right/Asia/Kathmandu
right/Asia/Katmandu
+right/Asia/Khandyga
right/Asia/Kolkata
right/Asia/Krasnoyarsk
right/Asia/Kuala_Lumpur
@@ -3373,6 +3401,7 @@ right/Asia/Ujung_Pandang
right/Asia/Ulaanbaatar
right/Asia/Ulan_Bator
right/Asia/Urumqi
+right/Asia/Ust-Nera
right/Asia/Vientiane
right/Asia/Vladivostok
right/Asia/Yakutsk
@@ -3481,6 +3510,7 @@ right/Europe/Bratislava
right/Europe/Brussels
right/Europe/Bucharest
right/Europe/Budapest
+right/Europe/Busingen
right/Europe/Chisinau
right/Europe/Copenhagen
right/Europe/Dublin
@@ -3631,6 +3661,7 @@ right/US/Indiana-Starke
right/US/Michigan
right/US/Mountain
right/US/Pacific
+right/US/Pacific-New
right/US/Samoa
right/UTC
right/Universal
diff --git a/source/l/gmm/gmm.SlackBuild b/source/l/gmm/gmm.SlackBuild
index c5ee5ce92..2742fd106 100755
--- a/source/l/gmm/gmm.SlackBuild
+++ b/source/l/gmm/gmm.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2008 Heinz Wiesinger <hmwiesinger@gmx.at>
-# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,23 +24,23 @@
# Modified by Robby Workman <rworkman@slackware.com>
-PRGNAM=gmm
-VERSION=3.1
+PKGNAM=gmm
+VERSION=4.2
ARCH=noarch
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j6}
CWD=$(pwd)
TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PRGNAM
+PKG=$TMP/package-$PKGNAM
OUTPUT=${OUTPUT:-/tmp}
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP || exit 1
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 || exit 1
-cd $PRGNAM-$VERSION || exit 1
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
@@ -55,14 +55,14 @@ make install DESTDIR=$PKG || exit 1
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
AUTHORS COPYING* INSTALL NEWS README \
- $PKG/usr/doc/$PRGNAM-$VERSION
+ $PKG/usr/doc/$PKGNAM-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PRGNAM-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/gmp/gmp.SlackBuild b/source/l/gmp/gmp.SlackBuild
index d8a7ffd92..6280e14f8 100755
--- a/source/l/gmp/gmp.SlackBuild
+++ b/source/l/gmp/gmp.SlackBuild
@@ -90,7 +90,6 @@ CFLAGS="$SLKCFLAGS" \
--infodir=/usr/info \
--with-gnu-ld \
--enable-cxx \
- --enable-mpbsd \
--build=$TARGET
make $NUMJOBS || make || exit 1
diff --git a/source/l/gnome-icon-theme/fix_gits_configure.diff b/source/l/gnome-icon-theme/fix_gits_configure.diff
new file mode 100644
index 000000000..931b1b0f7
--- /dev/null
+++ b/source/l/gnome-icon-theme/fix_gits_configure.diff
@@ -0,0 +1,12 @@
+diff -Nur gnome-icon-theme-symbolic-3.8.0.orig/configure gnome-icon-theme-symbolic-3.8.0/configure
+--- gnome-icon-theme-symbolic-3.8.0.orig/configure 2013-03-26 03:44:16.000000000 -0500
++++ gnome-icon-theme-symbolic-3.8.0/configure 2013-03-29 20:15:33.496885348 -0500
+@@ -2685,7 +2685,7 @@
+
+
+
+-ac_config_files="$ac_config_files gnome-icon-theme-symbolic.pc Makefile src/Makefile"
++ac_config_files="$ac_config_files Makefile src/Makefile"
+
+
+ cat >confcache <<\_ACEOF
diff --git a/source/l/gnome-icon-theme/gnome-icon-theme.SlackBuild b/source/l/gnome-icon-theme/gnome-icon-theme.SlackBuild
index 477bc8232..b57abfd5c 100755
--- a/source/l/gnome-icon-theme/gnome-icon-theme.SlackBuild
+++ b/source/l/gnome-icon-theme/gnome-icon-theme.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2012 Patrick Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2012, 2013 Patrick Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,9 +21,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=3.4.0 # main package version
-SYMVERS=3.4.0 # gnome-icon-theme-symbolic version
-EXTRAVERS=3.4.0 # gnome-icon-theme-extras version
+VERSION=3.8.3 # main package version
+SYMVERS=3.8.3 # gnome-icon-theme-symbolic version
+EXTRAVERS=3.6.2 # gnome-icon-theme-extras version
BUILD=${BUILD:-1}
@@ -63,6 +63,9 @@ for ICONPKG in gnome-icon-theme-$VERSION gnome-icon-theme-symbolic-$SYMVERS gnom
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+ if [ $ICONPKG = gnome-icon-theme-symbolic-$SYMVERS ]; then
+ zcat $CWD/fix_gits_configure.diff.gz | patch -p1 || exit 1
+ fi
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/source/l/gnome-keyring/doinst.sh b/source/l/gnome-keyring/doinst.sh
index c64347e97..27c5f9e46 100644
--- a/source/l/gnome-keyring/doinst.sh
+++ b/source/l/gnome-keyring/doinst.sh
@@ -1 +1 @@
-chroot . /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas/ 2>/dev/null
+chroot . /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas/ 2>/dev/null 1>/dev/null
diff --git a/source/l/gnome-keyring/gnome-keyring.SlackBuild b/source/l/gnome-keyring/gnome-keyring.SlackBuild
index 81bc47aba..a238f1e7b 100755
--- a/source/l/gnome-keyring/gnome-keyring.SlackBuild
+++ b/source/l/gnome-keyring/gnome-keyring.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=gnome-keyring
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -58,12 +58,6 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
cd $PKGNAM-$VERSION || exit 1
-# Fix improper passphrase caching.
-# http://www.openwall.com/lists/oss-security/2012/08/09/2
-zcat $CWD/gpg-agent-Hook-up-the-TTL-cache-option.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/schema-Update-description-for-gpg-cache-method.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/secret-store-Mark-a-secret-item-as-used-when-acces.patch.gz | patch -p1 --verbose || exit 1
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -84,15 +78,12 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-nls \
--disable-debug \
--enable-ssh-agent \
- --with-root-certs=/etc/ssl/certs \
--with-pam-dir=/lib/security \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-mkdir -p $PKG/etc/gconf/gconf.xml.defaults
-
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
diff --git a/source/l/gnome-keyring/gpg-agent-Hook-up-the-TTL-cache-option.patch b/source/l/gnome-keyring/gpg-agent-Hook-up-the-TTL-cache-option.patch
deleted file mode 100644
index c1298f759..000000000
--- a/source/l/gnome-keyring/gpg-agent-Hook-up-the-TTL-cache-option.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 7b65bf04737167fae6b0204d6524215550fcc079 Mon Sep 17 00:00:00 2001
-From: Stef Walter <stefw@gnome.org>
-Date: Wed, 8 Aug 2012 06:06:58 +0200
-Subject: [PATCH] gpg-agent: Hook up the TTL cache option
-
- * So that when the gsettings gpg-cache-method is 'idle' or 'timeout'
- we use gpg-cache-ttl to control how long the passphrase is cached
- for.
- * This is a regression from 3.3.x
-
-https://bugzilla.gnome.org/show_bug.cgi?id=681081
----
- daemon/gpg-agent/gkd-gpg-agent-ops.c | 40 ++++++++++++++++++++++--------------
- 1 file changed, 25 insertions(+), 15 deletions(-)
-
-diff --git a/daemon/gpg-agent/gkd-gpg-agent-ops.c b/daemon/gpg-agent/gkd-gpg-agent-ops.c
-index a1a21ff..e1c188d 100644
---- a/daemon/gpg-agent/gkd-gpg-agent-ops.c
-+++ b/daemon/gpg-agent/gkd-gpg-agent-ops.c
-@@ -323,17 +323,6 @@ load_unlock_options (GcrPrompt *prompt)
- g_free (method);
- }
-
--static void
--save_unlock_options (GcrPrompt *prompt)
--{
-- GSettings *settings;
--
-- settings = gkd_gpg_agent_settings ();
--
-- if (gcr_prompt_get_choice_chosen (prompt))
-- g_settings_set_string (settings, "gpg-cache-method", GCR_UNLOCK_OPTION_ALWAYS);
--}
--
- static GcrPrompt *
- open_password_prompt (GckSession *session,
- const gchar *keyid,
-@@ -406,11 +395,14 @@ do_get_password (GckSession *session, const gchar *keyid, const gchar *errmsg,
- const gchar *prompt_text, const gchar *description, gboolean confirm)
- {
- GckBuilder builder = GCK_BUILDER_INIT;
-+ GSettings *settings;
- GckAttributes *attrs;
- gchar *password = NULL;
- GcrPrompt *prompt;
- gboolean chosen;
- GError *error = NULL;
-+ gint lifetime;
-+ gchar *method;
-
- g_assert (GCK_IS_SESSION (session));
-
-@@ -431,21 +423,39 @@ do_get_password (GckSession *session, const gchar *keyid, const gchar *errmsg,
- }
-
- if (password != NULL && keyid != NULL) {
-+ settings = gkd_gpg_agent_settings ();
-
- /* Load up the save options */
- chosen = gcr_prompt_get_choice_chosen (prompt);
-
-- if (chosen)
-+ if (chosen) {
-+ g_settings_set_string (settings, "gpg-cache-method", GCR_UNLOCK_OPTION_ALWAYS);
- gck_builder_add_string (&builder, CKA_G_COLLECTION, "login");
-- else
-+
-+ } else {
-+ method = g_settings_get_string (settings, "gpg-cache-method");
-+ lifetime = g_settings_get_int (settings, "gpg-cache-ttl");
-+
-+ if (g_strcmp0 (method, GCR_UNLOCK_OPTION_IDLE) == 0) {
-+ gck_builder_add_boolean (&builder, CKA_GNOME_TRANSIENT, TRUE);
-+ gck_builder_add_ulong (&builder, CKA_G_DESTRUCT_IDLE, lifetime);
-+
-+ } else if (g_strcmp0 (method, GCR_UNLOCK_OPTION_TIMEOUT) == 0) {
-+ gck_builder_add_boolean (&builder, CKA_GNOME_TRANSIENT, TRUE);
-+ gck_builder_add_ulong (&builder, CKA_G_DESTRUCT_AFTER, lifetime);
-+
-+ } else if (g_strcmp0 (method, GCR_UNLOCK_OPTION_SESSION)){
-+ g_message ("Unsupported gpg-cache-method setting: %s", method);
-+ }
-+
- gck_builder_add_string (&builder, CKA_G_COLLECTION, "session");
-+ g_free (method);
-+ }
-
- /* Now actually save the password */
- attrs = gck_attributes_ref_sink (gck_builder_end (&builder));
- do_save_password (session, keyid, description, password, attrs);
- gck_attributes_unref (attrs);
--
-- save_unlock_options (prompt);
- }
-
- g_clear_object (&prompt);
---
-1.7.11.2 \ No newline at end of file
diff --git a/source/l/gnome-keyring/schema-Update-description-for-gpg-cache-method.patch b/source/l/gnome-keyring/schema-Update-description-for-gpg-cache-method.patch
deleted file mode 100644
index 12b6fb2d1..000000000
--- a/source/l/gnome-keyring/schema-Update-description-for-gpg-cache-method.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 6387fb065d5ea16c777a0aee05b22c3cc6a0f73c Mon Sep 17 00:00:00 2001
-From: Stef Walter <stefw@gnome.org>
-Date: Wed, 8 Aug 2012 06:06:24 +0200
-Subject: [PATCH] schema: Update description for gpg-cache-method
-
- * Document the various method strings that can be present here
-
-https://bugzilla.gnome.org/show_bug.cgi?id=681081
----
- schema/org.gnome.crypto.cache.gschema.xml | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/schema/org.gnome.crypto.cache.gschema.xml b/schema/org.gnome.crypto.cache.gschema.xml
-index 9a431eb..4547399 100644
---- a/schema/org.gnome.crypto.cache.gschema.xml
-+++ b/schema/org.gnome.crypto.cache.gschema.xml
-@@ -3,7 +3,10 @@
- <key name="gpg-cache-method" type="s">
- <default>'session'</default>
- <summary>Cache Method</summary>
-- <description>The method to use for caching passphrases typed into the GPG agent.</description>
-+ <description>The method to use for caching passphrases typed into the GPG agent.
-+ Should be one of: 'always' caches permanently, 'session' caches until session end,
-+ 'idle' caches until the not used for gpg-cache-ttl seconds, 'timeout' caches until
-+ gpg-cache-ttl seconds.</description>
- </key>
- <key name="gpg-cache-ttl" type="i">
- <default>300</default>
---
-1.7.11.2 \ No newline at end of file
diff --git a/source/l/gnome-keyring/secret-store-Mark-a-secret-item-as-used-when-acces.patch b/source/l/gnome-keyring/secret-store-Mark-a-secret-item-as-used-when-acces.patch
deleted file mode 100644
index 1785b0cd2..000000000
--- a/source/l/gnome-keyring/secret-store-Mark-a-secret-item-as-used-when-acces.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From d96c49f0bf1710b69a354f4bdebf6b53bf5cb0bc Mon Sep 17 00:00:00 2001
-From: Stef Walter <stefw@gnome.org>
-Date: Wed, 8 Aug 2012 15:08:22 +0200
-Subject: [PATCH] secret-store: Mark a secret item as 'used' when accessed
-
- * This makes the gpg-agent idle feature work correctly
-
-https://bugzilla.gnome.org/show_bug.cgi?id=681081
----
- pkcs11/secret-store/gkm-secret-item.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/pkcs11/secret-store/gkm-secret-item.c b/pkcs11/secret-store/gkm-secret-item.c
-index 35698da..d7cbdb3 100644
---- a/pkcs11/secret-store/gkm-secret-item.c
-+++ b/pkcs11/secret-store/gkm-secret-item.c
-@@ -224,6 +224,7 @@ gkm_secret_item_real_get_attribute (GkmObject *base, GkmSession *session, CK_ATT
- identifier = gkm_secret_object_get_identifier (GKM_SECRET_OBJECT (self));
- secret = gkm_secret_data_get_raw (sdata, identifier, &n_secret);
- rv = gkm_attribute_set_data (attr, secret, n_secret);
-+ gkm_object_mark_used (base);
- g_object_unref (sdata);
- return rv;
-
---
-1.7.11.2 \ No newline at end of file
diff --git a/source/l/gnome-themes-standard/doinst.sh b/source/l/gnome-themes-standard/doinst.sh
new file mode 100644
index 000000000..9b0defbe9
--- /dev/null
+++ b/source/l/gnome-themes-standard/doinst.sh
@@ -0,0 +1,8 @@
+for i in HighContrast Adwaita ; do
+ if [ -e usr/share/icons/$theme/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache usr/share/icons/$theme >/dev/null 2>&1
+ fi
+ fi
+done
+
diff --git a/source/l/gnome-themes-standard/gnome-themes-standard.SlackBuild b/source/l/gnome-themes-standard/gnome-themes-standard.SlackBuild
new file mode 100755
index 000000000..7ae80c465
--- /dev/null
+++ b/source/l/gnome-themes-standard/gnome-themes-standard.SlackBuild
@@ -0,0 +1,104 @@
+#!/bin/sh
+
+# Slackware build script for gnome-themes-standard
+
+# Copyright 2013 Robby Workman, Northport, Alabama, USA
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=gnome-themes-standard
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --disable-static \
+ --enable-shared \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS README* COPYING* HACKING INSTALL NEWS \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -p -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/gnome-themes-standard/slack-desc b/source/l/gnome-themes-standard/slack-desc
new file mode 100644
index 000000000..d16605679
--- /dev/null
+++ b/source/l/gnome-themes-standard/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+gnome-themes-standard: gnome-themes-standard (default icons used by GTK+)
+gnome-themes-standard:
+gnome-themes-standard: A set of default icons used by many GTK+ applications.
+gnome-themes-standard:
+gnome-themes-standard:
+gnome-themes-standard:
+gnome-themes-standard:
+gnome-themes-standard:
+gnome-themes-standard:
+gnome-themes-standard:
+gnome-themes-standard:
diff --git a/source/l/gnu-efi/gnu-efi.SlackBuild b/source/l/gnu-efi/gnu-efi.SlackBuild
new file mode 100755
index 000000000..4ffda4958
--- /dev/null
+++ b/source/l/gnu-efi/gnu-efi.SlackBuild
@@ -0,0 +1,92 @@
+#!/bin/sh
+
+# Slackware build script for gnu-efi
+
+# Copyright 2009-2013 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=gnu-efi
+VERSION=${VERSION:-$(echo $PKGNAM_*.tar.?z* | rev | cut -f 4- -d . | cut -f 1 -d _ | rev)}
+INTERNALVER=$(echo $VERSION | tr -d [a-z])
+BUILD=${BUILD:-1}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PKGNAM-$INTERNALVER
+tar xvf $CWD/${PKGNAM}_$VERSION.orig.tar.?z* || exit 1
+cd $PKGNAM-$INTERNALVER || exit 1
+chown -R root:root .
+chmod -R u+w,go+r-w,a-s .
+
+make CPPFLAGS="$SLKCFLAGS" || exit 1
+make CPPFLAGS="$SLKCFLAGS" install INSTALLROOT=$PKG || exit
+
+# Fix install locations:
+mkdir -p $PKG/usr
+mv $PKG/include $PKG/usr/include
+mv $PKG/lib $PKG/usr/lib${LIBDIRSUFFIX}
+mkdir $PKG/usr/lib${LIBDIRSUFFIX}/gnuefi
+mv $PKG/usr/lib${LIBDIRSUFFIX}/*.lds $PKG/usr/lib${LIBDIRSUFFIX}/gnuefi
+mv $PKG/usr/lib${LIBDIRSUFFIX}/crt0*.o $PKG/usr/lib${LIBDIRSUFFIX}/gnuefi
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a ChangeLog README* \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/l/gnu-efi/slack-desc b/source/l/gnu-efi/slack-desc
new file mode 100644
index 000000000..7bc2f0721
--- /dev/null
+++ b/source/l/gnu-efi/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler-----------------------------------------------------|
+gnu-efi: gnu-efi (EFI Development files for the GNU toolchain)
+gnu-efi:
+gnu-efi: Develop EFI applications using the GNU toolchain and the EFI
+gnu-efi: development environment.
+gnu-efi:
+gnu-efi: Homepage: http://gnu-efi.sourceforge.net
+gnu-efi:
+gnu-efi:
+gnu-efi:
+gnu-efi:
+gnu-efi:
diff --git a/source/l/grantlee/grantlee.SlackBuild b/source/l/grantlee/grantlee.SlackBuild
index f44290597..086478237 100755
--- a/source/l/grantlee/grantlee.SlackBuild
+++ b/source/l/grantlee/grantlee.SlackBuild
@@ -83,8 +83,6 @@ cd build
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DSYSCONF_INSTALL_DIR=/etc \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
..
make $NUMJOBS || make || exit 1
diff --git a/source/l/gsettings-desktop-schemas/gsettings-desktop-schemas.SlackBuild b/source/l/gsettings-desktop-schemas/gsettings-desktop-schemas.SlackBuild
index e85ea1cec..e050501d2 100755
--- a/source/l/gsettings-desktop-schemas/gsettings-desktop-schemas.SlackBuild
+++ b/source/l/gsettings-desktop-schemas/gsettings-desktop-schemas.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=gsettings-desktop-schemas
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/gst-plugins-good/gst-plugins-good.SlackBuild b/source/l/gst-plugins-good/gst-plugins-good.SlackBuild
index 0db2baa85..c935a42e0 100755
--- a/source/l/gst-plugins-good/gst-plugins-good.SlackBuild
+++ b/source/l/gst-plugins-good/gst-plugins-good.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2008 Michiel van Wessem <michiel@slackbuilds.org>
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -26,7 +26,7 @@
PKGNAM=gst-plugins-good
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-5}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -68,6 +68,8 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION
+zcat $CWD/v4l.compile.fixes.diff.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/l/gst-plugins-good/v4l.compile.fixes.diff b/source/l/gst-plugins-good/v4l.compile.fixes.diff
new file mode 100644
index 000000000..e03fdac89
--- /dev/null
+++ b/source/l/gst-plugins-good/v4l.compile.fixes.diff
@@ -0,0 +1,57 @@
+From fa21c0bb253213c9dc48ce72faaf7090dc8a3554 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Thu, 2 May 2013 16:16:46 -0400
+Subject: [PATCH] sys/v4l2: Some blind compilation fixes
+
+---
+ sys/v4l2/gstv4l2bufferpool.c | 1 -
+ sys/v4l2/v4l2_calls.c | 12 ++++--------
+ 2 files changed, 4 insertions(+), 9 deletions(-)
+
+diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c
+index a0b4c84..3916815 100644
+--- a/sys/v4l2/gstv4l2bufferpool.c
++++ b/sys/v4l2/gstv4l2bufferpool.c
+@@ -182,7 +182,6 @@ gst_v4l2_buffer_new (GstV4l2BufferPool * pool, guint index, GstCaps * caps)
+ GST_LOG_OBJECT (pool->v4l2elem, " MMAP offset: %u",
+ ret->vbuffer.m.offset);
+ GST_LOG_OBJECT (pool->v4l2elem, " length: %u", ret->vbuffer.length);
+- GST_LOG_OBJECT (pool->v4l2elem, " input: %u", ret->vbuffer.input);
+
+ ret->mmap_length = ret->vbuffer.length;
+ data = (guint8 *) v4l2_mmap (0, ret->vbuffer.length,
+diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c
+index 309bfb6..ee3ff9f 100644
+--- a/sys/v4l2/v4l2_calls.c
++++ b/sys/v4l2/v4l2_calls.c
+@@ -53,14 +53,6 @@
+
+ #include "gst/gst-i18n-plugin.h"
+
+-/* Those are ioctl calls */
+-#ifndef V4L2_CID_HCENTER
+-#define V4L2_CID_HCENTER V4L2_CID_HCENTER_DEPRECATED
+-#endif
+-#ifndef V4L2_CID_VCENTER
+-#define V4L2_CID_VCENTER V4L2_CID_VCENTER_DEPRECATED
+-#endif
+-
+ GST_DEBUG_CATEGORY_EXTERN (v4l2_debug);
+ #define GST_CAT_DEFAULT v4l2_debug
+
+@@ -294,8 +286,12 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object)
+ break;
+ case V4L2_CID_HFLIP:
+ case V4L2_CID_VFLIP:
++#ifdef V4L2_CID_HCENTER
+ case V4L2_CID_HCENTER:
++#endif
++#ifdef V4L2_CID_VCENTER
+ case V4L2_CID_VCENTER:
++#endif
+ #ifdef V4L2_CID_PAN_RESET
+ case V4L2_CID_PAN_RESET:
+ #endif
+--
+1.7.1
+
diff --git a/source/l/gstreamer/gstreamer.SlackBuild b/source/l/gstreamer/gstreamer.SlackBuild
index 83d959cb2..8bf648d05 100755
--- a/source/l/gstreamer/gstreamer.SlackBuild
+++ b/source/l/gstreamer/gstreamer.SlackBuild
@@ -2,7 +2,7 @@
# Copyright 2008 Robby Workman, Northport, Alabama, USA
# Copyright 2008 Michiel van Wessem <michiel@slackbuilds.org>
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
PKGNAM=gstreamer
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -86,6 +86,7 @@ CXXFLAGS="$SLKCFLAGS" \
--disable-static \
--disable-debug \
--disable-gst-debug \
+ --enable-glib-asserts=no \
--with-package-name='gstreamer' \
--with-package-origin='http://gstreamer.freedesktop.org' \
--build=$ARCH-slackware-linux
diff --git a/source/l/gtk+2/gtk+-2.24.x.icon-compat.am.diff b/source/l/gtk+2/gtk+-2.24.x.icon-compat.am.diff
index 0464648a0..3fc35dcab 100644
--- a/source/l/gtk+2/gtk+-2.24.x.icon-compat.am.diff
+++ b/source/l/gtk+2/gtk+-2.24.x.icon-compat.am.diff
@@ -1,11 +1,11 @@
---- ./gtk/Makefile.am.orig 2011-04-01 15:44:12.000000000 -0500
-+++ ./gtk/Makefile.am 2011-04-02 12:20:03.000000000 -0500
-@@ -1324,7 +1324,171 @@
+--- gtk+-2.24.14.orig/gtk/Makefile.am 2012-08-24 18:38:09.000000000 -0500
++++ gtk+-2.24.14/gtk/Makefile.am 2012-12-12 19:03:36.039889640 -0600
+@@ -1339,7 +1339,171 @@
+ stock-icons/24/document-save.png \
stock-icons/24/folder-remote.png \
stock-icons/24/user-home.png \
- stock-icons/24/user-desktop.png \
-- stock-icons/24/text-x-generic.png
-+ stock-icons/24/text-x-generic.png \
+- stock-icons/24/user-desktop.png
++ stock-icons/24/user-desktop.png \
+ stock-icons/16/gtk-quit.png \
+ stock-icons/16/gtk-info.png \
+ stock-icons/16/gtk-file.png \
@@ -173,7 +173,7 @@
# need to copy the icons so that we can replace the generated ones with
# symlinks, even in the readonly srcdir case
-@@ -1364,6 +1528,88 @@
+@@ -1379,6 +1543,88 @@
&& $(LN_S) folder.png user-desktop.png \
&& $(RM) user-home.png \
&& $(LN_S) folder.png user-home.png \
diff --git a/source/l/gtk+2/gtk+-2.24.x.icon-compat.diff b/source/l/gtk+2/gtk+-2.24.x.icon-compat.diff
index d4df76a76..ff9a444b4 100644
--- a/source/l/gtk+2/gtk+-2.24.x.icon-compat.diff
+++ b/source/l/gtk+2/gtk+-2.24.x.icon-compat.diff
@@ -1,12 +1,11 @@
---- ./gtk/Makefile.in.orig 2011-04-01 16:41:08.000000000 -0500
-+++ ./gtk/Makefile.in 2011-04-02 12:21:32.000000000 -0500
-@@ -1614,7 +1614,172 @@
+--- gtk+-2.24.14.orig/gtk/Makefile.in 2012-12-05 21:46:20.000000000 -0600
++++ gtk+-2.24.14/gtk/Makefile.in 2012-12-12 18:59:17.734970161 -0600
+@@ -1938,7 +1938,171 @@
+ stock-icons/24/document-save.png \
stock-icons/24/folder-remote.png \
stock-icons/24/user-home.png \
- stock-icons/24/user-desktop.png \
-- stock-icons/24/text-x-generic.png
-+ stock-icons/24/text-x-generic.png \
-+ stock-icons/24/text-x-generic.png \
+- stock-icons/24/user-desktop.png
++ stock-icons/24/user-desktop.png \
+ stock-icons/16/gtk-quit.png \
+ stock-icons/16/gtk-info.png \
+ stock-icons/16/gtk-file.png \
@@ -174,7 +173,7 @@
@CROSS_COMPILING_FALSE@gtk_update_icon_cache_program = \
@CROSS_COMPILING_FALSE@ ./gtk-update-icon-cache
-@@ -2885,6 +3050,88 @@
+@@ -5401,6 +5565,88 @@
&& $(LN_S) folder.png user-desktop.png \
&& $(RM) user-home.png \
&& $(LN_S) folder.png user-home.png \
diff --git a/source/l/gtk+2/gtk+2.SlackBuild b/source/l/gtk+2/gtk+2.SlackBuild
index 9fff68c45..cc8f16511 100755
--- a/source/l/gtk+2/gtk+2.SlackBuild
+++ b/source/l/gtk+2/gtk+2.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=${VERSION:-$(echo gtk+-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -75,9 +75,6 @@ zcat $CWD/fix_build_issues_on_tutorial_and_faq.diff.gz | patch -p1 --verbose ||
# warnings (most noticable when using Firefox and Flash):
zcat $CWD/gtk.xid.nowarningflood.diff.gz | patch -p1 --verbose || exit 1
-# Use /etc/gtk-2.0/$ARCH-slackware-linux instead of /etc/gtk-2.0/ for gtk.immodules
-zcat $CWD/use_host_triplet_for_gtk_immodules.diff.gz | patch -p1 --verbose || exit 1
-
# Patch to restore commonly used icon names, otherwise everything breaks.
# I fail to see the point of this "cleanup"
zcat $CWD/gtk+-2.24.x.icon-compat.diff.gz | patch -p1 --verbose || exit 1
@@ -91,7 +88,7 @@ autoreconf -vif
# Our host is $ARCH-slackware-linux not $ARCH-slackware-linux-gnu:
sed -i -e 's#linux|linux-gnu|#linux|linux|#' config.sub
-CFLAGS="$SLKCFLAGS -DHOST='"'"${ARCH}-slackware-linux"'"'" \
+CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@@ -116,9 +113,6 @@ make install \
DESTDIR=$PKG \
|| exit 1
-mkdir -p $PKG/etc/gtk-2.0/$host
-mv $PKG/etc/gtk-2.0/gtk.immodules $PKG/etc/gtk-2.0/$host/
-
# Don't clobber im-multipress.conf
mv $PKG/etc/gtk-2.0/im-multipress.conf $PKG/etc/gtk-2.0/im-multipress.conf.new || exit 1
diff --git a/source/l/gtk+2/update-gtk-immodules-2.0 b/source/l/gtk+2/update-gtk-immodules-2.0
index d913f69f4..f12353fb8 100644
--- a/source/l/gtk+2/update-gtk-immodules-2.0
+++ b/source/l/gtk+2/update-gtk-immodules-2.0
@@ -1,5 +1,5 @@
#! /bin/sh
-# Updates the immodules in /etc/gtk-2.0/$host
+# Updates the immodules cache at /usr/lib(64)/gtk-2.0/2.10.0/immodules.cache
umask 022
@@ -11,75 +11,37 @@ case "$host" in
arm*) host=arm-slackware-linux-gnueabi ;;
esac
-# Deriving /etc/gtk-2.0/$host location
-#
-# We have had problems in the past with build systems
-# changing host from i386 to i686 and appending/dropping
-# the -gnu suffix, so try to match up the $host we got
-# with whats actually there.
-if [ ! -d /etc/gtk-2.0/$host ]; then
- case "$host" in
- i?86*)
- for d in $(ls -d /etc/gtk-2.0/i?86*); do
- host=$(basename $d)
- break
- done
- ;;
- esac
-fi
-
-FILE=/etc/gtk-2.0/$host/gtk.immodules
-
case "$host" in
s390x*|x86_64*)
if [ -x /usr/bin/gtk-query-immodules-2.0-64 ]; then
if [ "$1" = "--verbose" ]; then
echo "Updating gtk.immodules for ${host}:"
- echo " /usr/bin/gtk-query-immodules-2.0-64 \\"
- echo " > $FILE"
+ echo " /usr/bin/gtk-query-immodules-2.0-64 --update-cache"
fi
- /usr/bin/gtk-query-immodules-2.0-64 > $FILE
- # Check for x86_64 multilib:
- if ls -d /etc/gtk-2.0/i?86* 1> /dev/null 2> /dev/null ; then
- for d in $(ls -d /etc/gtk-2.0/i?86*); do
- mlhost=$(basename $d)
- break
- done
- if [ -r /etc/gtk-2.0/$mlhost/gtk.immodules -a \
- -x /usr/bin/gtk-query-immodules-2.0-32 ]; then
- FILE=/etc/gtk-2.0/$mlhost/gtk.immodules
- if [ "$1" = "--verbose" ]; then
- echo "Updating gtk.immodules for ${mlhost}:"
- echo " /usr/bin/gtk-query-immodules-2.0-32 \\"
- echo " > $FILE"
- fi
- /usr/bin/gtk-query-immodules-2.0-32 > $FILE
+ /usr/bin/gtk-query-immodules-2.0-64 --update-cache 2>/dev/null
+ # Check for multilib
+ if [ -x /usr/bin/gtk-query-immodules-2.0-32 ]; then
+ if [ "$1" = "--verbose" ]; then
+ echo "Updating 32bit gtk.immodules: "
+ echo " /usr/bin/gtk-query-immodules-2.0-32 --update-cache"
fi
+ /usr/bin/gtk-query-immodules-2.0-32 --update-cache 2>/dev/null
fi
- else
- if [ "$1" = "--verbose" ]; then
- echo "Updating gtk.immodules for ${host}:"
- echo " /usr/bin/gtk-query-immodules-2.0 \\"
- echo " > $FILE"
- fi
- /usr/bin/gtk-query-immodules-2.0 > $FILE
fi
;;
*)
if [ -x /usr/bin/gtk-query-immodules-2.0-32 ]; then
if [ "$1" = "--verbose" ]; then
echo "Updating gtk.immodules for ${host}:"
- echo " /usr/bin/gtk-query-immodules-2.0-32 \\"
- echo " > $FILE"
+ echo " /usr/bin/gtk-query-immodules-2.0-32 --update-cache"
fi
- /usr/bin/gtk-query-immodules-2.0-32 > $FILE
+ /usr/bin/gtk-query-immodules-2.0-32 --update-cache 2>/dev/null
else
if [ "$1" = "--verbose" ]; then
echo "Updating gtk.immodules for ${host}:"
- echo " /usr/bin/gtk-query-immodules-2.0 \\"
- echo " > $FILE"
+ echo " /usr/bin/gtk-query-immodules-2.0 --update-cache"
fi
- /usr/bin/gtk-query-immodules-2.0 > $FILE
+ /usr/bin/gtk-query-immodules-2.0 --update-cache 2>/dev/null
fi
;;
esac
diff --git a/source/l/gtk+2/use_host_triplet_for_gtk_immodules.diff b/source/l/gtk+2/use_host_triplet_for_gtk_immodules.diff
deleted file mode 100644
index 7f86d38d8..000000000
--- a/source/l/gtk+2/use_host_triplet_for_gtk_immodules.diff
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -Nur gtk+-2.24.0.orig/gtk/Makefile.am gtk+-2.24.0/gtk/Makefile.am
---- gtk+-2.24.0.orig/gtk/Makefile.am 2011-01-06 22:41:26.000000000 -0600
-+++ gtk+-2.24.0/gtk/Makefile.am 2011-02-11 08:52:32.734533831 -0600
-@@ -38,6 +38,7 @@
- -DGTK_DATADIR=\"$(datadir)\" \
- -DGTK_DATA_PREFIX=\"$(prefix)\" \
- -DGTK_SYSCONFDIR=\"$(sysconfdir)\" \
-+ -DHOST=\"$(host_triplet)\" \
- -DGTK_VERSION=\"$(GTK_VERSION)\" \
- -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\" \
- -DGTK_HOST=\"$(host)\" \
-diff -Nur gtk+-2.24.0.orig/gtk/gtkrc.c gtk+-2.24.0/gtk/gtkrc.c
---- gtk+-2.24.0.orig/gtk/gtkrc.c 2011-01-26 13:46:37.000000000 -0600
-+++ gtk+-2.24.0/gtk/gtkrc.c 2011-02-11 08:54:35.145348489 -0600
-@@ -450,7 +450,7 @@
- if (im_module_file)
- result = g_strdup (im_module_file);
- else
-- result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules", NULL);
-+ result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", HOST, "gtk.immodules", NULL);
- }
-
- return result;
diff --git a/source/l/gtk+3/doinst.sh b/source/l/gtk+3/doinst.sh
index 90d1085fe..da33a4e8d 100644
--- a/source/l/gtk+3/doinst.sh
+++ b/source/l/gtk+3/doinst.sh
@@ -10,6 +10,11 @@ config() {
# Otherwise, we leave the .new copy for the admin to consider...
}
+# The GTK+3 theme no longer works, so if gtkrc uses that, back up the old
+# file and install the new one:
+if grep -q GTK etc/gtk-3.0/gtkrc 2> /dev/null ; then
+ mv etc/gtk-3.0/gtkrc etc/gtk-3.0/gtkrc.bak
+fi
config etc/gtk-3.0/gtkrc.new
config etc/gtk-3.0/im-multipress.conf.new
rm -f etc/gtk-3.0/gtkrc.new
diff --git a/source/l/gtk+3/gtk+3.SlackBuild b/source/l/gtk+3/gtk+3.SlackBuild
index c4e972eb5..55a69bcac 100755
--- a/source/l/gtk+3/gtk+3.SlackBuild
+++ b/source/l/gtk+3/gtk+3.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=${VERSION:-$(echo gtk+-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -68,9 +68,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Use /etc/gtk-3.0/$ARCH-slackware-linux instead of /etc/gtk-3.0/ for gtk.immodules
-zcat $CWD/use_host_triplet_for_gtk_immodules.diff.gz | patch -p1 --verbose || exit 1
-
# Regenerate ./configure:
libtoolize --copy --force
autoreconf -vif
@@ -79,54 +76,32 @@ autoreconf -vif
# Our host is $ARCH-slackware-linux not $ARCH-slackware-linux-gnu:
sed -i -e 's#linux|linux-gnu|#linux|linux|#' config.sub
-CFLAGS="$SLKCFLAGS -DHOST='"'"${ARCH}-slackware-linux"'"'" \
+CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--mandir=/usr/man \
--enable-xkb \
- --build=$ARCH-slackware-linux \
- --host=$ARCH-slackware-linux \
- --target=$ARCH-slackware-linux
+ --enable-packagekit=no \
+ --build=$ARCH-slackware-linux
# --enable-gtk-doc-html=no \
-# See modules/input/Makefile.am
-make \
- imconffiledir=/etc/gtk-3.0/$ARCH-slackware-linux \
- $NUMJOBS || make || exit 1
+make $NUMJOBS || make || exit 1
# Check the host value that is passed to the compile to the one in this script:
host="$ARCH-slackware-linux"
-# Best I can tell, it doesn't matter if they match. Since gtk+3-3.2.0, both
-# build_triplet and host_triplet have "-gnu" appended to them, but neither of
-# those seem to actually be used anywhere. Commenting out unless I find out
-# that I'm wrong later... :-) --rworkman
-#compile_host=$(grep 'host_triplet =' gtk/Makefile | sed -e "s/.* = //")
-#if [ "x$compile_host" != "x$host" ]; then
-# echo "Host mismatch: compile='$compile_host', SlackBuild='$host'" && exit 1
-#fi
make install \
- imconffiledir=/etc/gtk-3.0/$ARCH-slackware-linux \
RUN_QUERY_IMMODULES_TEST=false RUN_QUERY_LOADER_TEST=false \
DESTDIR=$PKG \
|| exit 1
-# You'll probably need to install the newly made package right away to
-# fix the result of this next line, but we had to clear this. Sorry.
-rm -rf /etc/gtk-3.0
-# I'm spamming your root partition because /etc/gtk-3.0 won't install to $DESTDIR...
-make install imconffiledir=/etc/gtk-3.0/$ARCH-slackware-linux
-cp -a /etc/gtk-3.0 $PKG/etc || exit 1
-mv $PKG/etc/gtk-3.0/$host/im-multipress.conf $PKG/etc/gtk-3.0/im-multipress.conf.new
-rm -f $PKG/etc/gtk-3.0/$host/*
-if [ -r $PKG/etc/gtk-3.0/gtk.immodules ]; then
- mv $PKG/etc/gtk-3.0/gtk.immodules $PKG/etc/gtk-3.0/$host/
-fi
+# Don't clobber im-multipress.conf
+mv $PKG/etc/gtk-3.0/im-multipress.conf $PKG/etc/gtk-3.0/im-multipress.conf.new
# Install a "starter" gtkrc
-echo 'gtk-theme-name="GTK+"' > $PKG/etc/gtk-3.0/gtkrc.new
+echo 'gtk-theme-name="Adwaita"' > $PKG/etc/gtk-3.0/gtkrc.new
# We need to have separate 32-bit and 64-bit binaries
# for places where we have two copies of the GTK+ package installed.
diff --git a/source/l/gtk+3/update-gtk-immodules-3.0 b/source/l/gtk+3/update-gtk-immodules-3.0
index 06a705648..cd3d629b8 100644
--- a/source/l/gtk+3/update-gtk-immodules-3.0
+++ b/source/l/gtk+3/update-gtk-immodules-3.0
@@ -1,5 +1,5 @@
#! /bin/sh
-# Updates the immodules in /etc/gtk-3.0/$host
+# Updates the immodules cache at /usr/lib(64)/gtk-3.0/3.0.0/immodules.cache
umask 022
@@ -11,75 +11,37 @@ case "$host" in
arm*) host=arm-slackware-linux-gnueabi ;;
esac
-# Deriving /etc/gtk-3.0/$host location
-#
-# We have had problems in the past with build systems
-# changing host from i386 to i686 and appending/dropping
-# the -gnu suffix, so try to match up the $host we got
-# with whats actually there.
-if [ ! -d /etc/gtk-3.0/$host ]; then
- case "$host" in
- i?86*)
- for d in $(ls -d /etc/gtk-3.0/i?86*); do
- host=$(basename $d)
- break
- done
- ;;
- esac
-fi
-
-FILE=/etc/gtk-3.0/$host/gtk.immodules
-
case "$host" in
s390x*|x86_64*)
if [ -x /usr/bin/gtk-query-immodules-3.0-64 ]; then
if [ "$1" = "--verbose" ]; then
echo "Updating gtk.immodules for ${host}:"
- echo " /usr/bin/gtk-query-immodules-3.0-64 \\"
- echo " > $FILE"
+ echo " /usr/bin/gtk-query-immodules-3.0-64 --update-cache"
fi
- /usr/bin/gtk-query-immodules-3.0-64 > $FILE
- # Check for x86_64 multilib:
- if ls -d /etc/gtk-3.0/i?86* 1> /dev/null 2> /dev/null ; then
- for d in $(ls -d /etc/gtk-3.0/i?86*); do
- mlhost=$(basename $d)
- break
- done
- if [ -r /etc/gtk-3.0/$mlhost/gtk.immodules -a \
- -x /usr/bin/gtk-query-immodules-3.0-32 ]; then
- FILE=/etc/gtk-3.0/$mlhost/gtk.immodules
- if [ "$1" = "--verbose" ]; then
- echo "Updating gtk.immodules for ${mlhost}:"
- echo " /usr/bin/gtk-query-immodules-3.0-32 \\"
- echo " > $FILE"
- fi
- /usr/bin/gtk-query-immodules-3.0-32 > $FILE
+ /usr/bin/gtk-query-immodules-3.0-64 --update-cache 2>/dev/null
+ # Check for multilib
+ if [ -x /usr/bin/gtk-query-immodules-3.0-32 ]; then
+ if [ "$1" = "--verbose" ]; then
+ echo "Updating 32bit gtk.immodules: "
+ echo " /usr/bin/gtk-query-immodules-3.0-32 --update-cache"
fi
+ /usr/bin/gtk-query-immodules-3.0-32 --update-cache 2>/dev/null
fi
- else
- if [ "$1" = "--verbose" ]; then
- echo "Updating gtk.immodules for ${host}:"
- echo " /usr/bin/gtk-query-immodules-3.0 \\"
- echo " > $FILE"
- fi
- /usr/bin/gtk-query-immodules-3.0 > $FILE
fi
;;
*)
if [ -x /usr/bin/gtk-query-immodules-3.0-32 ]; then
if [ "$1" = "--verbose" ]; then
echo "Updating gtk.immodules for ${host}:"
- echo " /usr/bin/gtk-query-immodules-3.0-32 \\"
- echo " > $FILE"
+ echo " /usr/bin/gtk-query-immodules-3.0-32 --update-cache"
fi
- /usr/bin/gtk-query-immodules-3.0-32 > $FILE
+ /usr/bin/gtk-query-immodules-3.0-32 --update-cache 2>/dev/null
else
if [ "$1" = "--verbose" ]; then
echo "Updating gtk.immodules for ${host}:"
- echo " /usr/bin/gtk-query-immodules-3.0 \\"
- echo " > $FILE"
+ echo " /usr/bin/gtk-query-immodules-3.0 --update-cache"
fi
- /usr/bin/gtk-query-immodules-3.0 > $FILE
+ /usr/bin/gtk-query-immodules-3.0 --update-cache 2>/dev/null
fi
;;
esac
diff --git a/source/l/gtk+3/use_host_triplet_for_gtk_immodules.diff b/source/l/gtk+3/use_host_triplet_for_gtk_immodules.diff
deleted file mode 100644
index 92a8a121c..000000000
--- a/source/l/gtk+3/use_host_triplet_for_gtk_immodules.diff
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Nur gtk+-3.0.12.orig//gtk/Makefile.am gtk+-3.0.12/gtk/Makefile.am
---- gtk+-3.0.12.orig//gtk/Makefile.am 2011-07-27 20:34:32.000000000 -0500
-+++ gtk+-3.0.12/gtk/Makefile.am 2011-08-03 20:35:55.780035282 -0500
-@@ -37,6 +37,7 @@
- -DGTK_LIBDIR=\"$(libdir)\" \
- -DGTK_DATADIR=\"$(datadir)\" \
- -DGTK_DATA_PREFIX=\"$(prefix)\" \
-+ -DHOST=\"$(host_triplet)\" \
- -DGTK_SYSCONFDIR=\"$(sysconfdir)\" \
- -DGTK_VERSION=\"$(GTK_VERSION)\" \
- -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\" \
diff --git a/source/l/gvfs/gvfs.SlackBuild b/source/l/gvfs/gvfs.SlackBuild
index 47bdfce0f..c6eb8173f 100755
--- a/source/l/gvfs/gvfs.SlackBuild
+++ b/source/l/gvfs/gvfs.SlackBuild
@@ -75,7 +75,7 @@ CFLAGS="$SLKCFLAGS" \
--docdir=/usr/doc/$PKGNAM-$VERSION \
--enable-gtk-doc \
--disable-hal \
- --build=$ARCH-$PKGNAM-linux || exit 1
+ --build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
diff --git a/source/l/harfbuzz/harfbuzz.SlackBuild b/source/l/harfbuzz/harfbuzz.SlackBuild
new file mode 100755
index 000000000..287acb800
--- /dev/null
+++ b/source/l/harfbuzz/harfbuzz.SlackBuild
@@ -0,0 +1,105 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=harfbuzz
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING INSTALL NEWS README THANKS TODO \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/harfbuzz/slack-desc b/source/l/harfbuzz/slack-desc
new file mode 100644
index 000000000..e34915430
--- /dev/null
+++ b/source/l/harfbuzz/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+harfbuzz: harfbuzz (OpenType text shaping engine)
+harfbuzz:
+harfbuzz: HarfBuzz is an OpenType text shaping engine.
+harfbuzz:
+harfbuzz: http://www.freedesktop.org/wiki/Software/HarfBuzz
+harfbuzz:
+harfbuzz:
+harfbuzz:
+harfbuzz:
+harfbuzz:
+harfbuzz:
diff --git a/source/l/icu4c/icu4c.SlackBuild b/source/l/icu4c/icu4c.SlackBuild
index 215e9510c..1465a286e 100755
--- a/source/l/icu4c/icu4c.SlackBuild
+++ b/source/l/icu4c/icu4c.SlackBuild
@@ -2,8 +2,8 @@
# Slackware build script for icu4c
-# Copyright 2007-2012 Heinz Wiesinger, Amsterdam, The Netherlands
-# Copyright 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2007-2013 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -82,6 +82,7 @@ cd source/
--disable-static \
--sysconfdir=/etc \
--localstatedir=/var \
+ --disable-samples \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
@@ -95,7 +96,7 @@ find $PKG/usr/man -type f -exec gzip -9 {} \;
mkdir -p $PKG/usr/doc/icu4c-$VERSION
cp -a \
- license.html readme.html unicode-license.txt $PKG/usr/doc/icu4c-$VERSION
+ license.html readme.html $PKG/usr/doc/icu4c-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/source/l/ilmbase/ilmbase.SlackBuild b/source/l/ilmbase/ilmbase.SlackBuild
index 9f2705d96..a0f3b67d3 100755
--- a/source/l/ilmbase/ilmbase.SlackBuild
+++ b/source/l/ilmbase/ilmbase.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007 Heinz Wiesinger <hmwiesinger@gmx.at>
+# Copyright 2007, 2013 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
@@ -65,7 +65,12 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION || exit 1
-zcat $CWD/ilmbase.gcc4.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/ilmbase.no_undefined.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/ilmbase.secondary.diff.gz | patch -p1 --verbose || exit 1
+if [ $ARCH = i486 ]; then
+ # Upstream patch to fix ia32 build:
+ zcat $CWD/ilmbase.ucontext.diff.gz | patch -p1 --verbose || exit 1
+fi
chown -R root:root .
find . \
diff --git a/source/l/ilmbase/ilmbase.gcc4.diff b/source/l/ilmbase/ilmbase.gcc4.diff
deleted file mode 100644
index 31137a129..000000000
--- a/source/l/ilmbase/ilmbase.gcc4.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./Imath/ImathMatrix.h.orig 2010-07-16 17:48:40.000000000 -0500
-+++ ./Imath/ImathMatrix.h 2010-08-09 14:12:07.000000000 -0500
-@@ -49,6 +49,7 @@
- #include "ImathVec.h"
- #include "ImathShear.h"
-
-+#include <cstring>
- #include <iostream>
- #include <iomanip>
-
diff --git a/source/l/ilmbase/ilmbase.info b/source/l/ilmbase/ilmbase.info
deleted file mode 100644
index d31e3da49..000000000
--- a/source/l/ilmbase/ilmbase.info
+++ /dev/null
@@ -1,3 +0,0 @@
-HOMEPAGE="http://www.openexr.org/"
-DOWNLOAD="http://download.savannah.nongnu.org/releases/openexr/ilmbase-1.0.1.tar.gz"
-MD5SUM="f76f094e69a6079b0beb93d97e2a217e"
diff --git a/source/l/ilmbase/ilmbase.no_undefined.diff b/source/l/ilmbase/ilmbase.no_undefined.diff
new file mode 100644
index 000000000..da46ddbe4
--- /dev/null
+++ b/source/l/ilmbase/ilmbase.no_undefined.diff
@@ -0,0 +1,31 @@
+diff -up ilmbase-1.0.2/IlmThread/Makefile.am.pthread_hack ilmbase-1.0.2/IlmThread/Makefile.am
+--- ilmbase-1.0.2/IlmThread/Makefile.am.pthread_hack 2006-12-08 16:23:08.000000000 -0600
++++ ilmbase-1.0.2/IlmThread/Makefile.am 2010-12-08 09:25:35.753537799 -0600
+@@ -11,7 +11,7 @@ libIlmThread_la_SOURCES = IlmThreadPool.
+ IlmThreadMutexPosix.cpp
+
+ libIlmThread_la_LDFLAGS = -version-info @LIBTOOL_VERSION@ -no-undefined
+-libIlmThread_la_LIBADD = ../Iex/libIex.la
++libIlmThread_la_LIBADD = ../Iex/libIex.la $(PTHREAD_LIBS)
+
+ libIlmThreadincludedir = $(includedir)/OpenEXR
+
+@@ -23,4 +23,4 @@ noinst_HEADERS =
+ EXTRA_DIST = $(noinst_HEADERS) IlmThreadMutexWin32.cpp IlmThreadSemaphoreWin32.cpp \
+ IlmThreadWin32.cpp
+
+-INCLUDES = -I$(top_builddir) -I$(top_srcdir)/Iex -I$(top_srcdir)/config
+\ No newline at end of file
++INCLUDES = -I$(top_builddir) -I$(top_srcdir)/Iex -I$(top_srcdir)/config
+diff -up ilmbase-1.0.2/IlmThread/Makefile.in.pthread_hack ilmbase-1.0.2/IlmThread/Makefile.in
+--- ilmbase-1.0.2/IlmThread/Makefile.in.pthread_hack 2010-07-22 20:13:12.000000000 -0500
++++ ilmbase-1.0.2/IlmThread/Makefile.in 2010-12-08 09:26:10.136971078 -0600
+@@ -208,7 +208,7 @@ libIlmThread_la_SOURCES = IlmThreadPool.
+ IlmThreadMutexPosix.cpp
+
+ libIlmThread_la_LDFLAGS = -version-info @LIBTOOL_VERSION@ -no-undefined
+-libIlmThread_la_LIBADD = ../Iex/libIex.la
++libIlmThread_la_LIBADD = ../Iex/libIex.la $(PTHREAD_LIBS)
+ libIlmThreadincludedir = $(includedir)/OpenEXR
+ libIlmThreadinclude_HEADERS = IlmThreadPool.h IlmThread.h \
+ IlmThreadSemaphore.h IlmThreadMutex.h
diff --git a/source/l/ilmbase/ilmbase.secondary.diff b/source/l/ilmbase/ilmbase.secondary.diff
new file mode 100644
index 000000000..d358fbb4c
--- /dev/null
+++ b/source/l/ilmbase/ilmbase.secondary.diff
@@ -0,0 +1,12 @@
+diff -up ilmbase-1.0.3/IexMath/IexMathFpu.cpp.secondary ilmbase-1.0.3/IexMath/IexMathFpu.cpp
+--- ilmbase-1.0.3/IexMath/IexMathFpu.cpp.secondary 2012-09-04 10:26:55.000000000 +0200
++++ ilmbase-1.0.3/IexMath/IexMathFpu.cpp 2012-09-04 10:27:20.000000000 +0200
+@@ -27,7 +27,7 @@
+ #endif
+
+
+-#ifdef HAVE_UCONTEXT_H
++#if defined(HAVE_UCONTEXT_H) && (defined(__x86_64__) || defined(__i386__))
+
+
+ #include <ucontext.h>
diff --git a/source/l/ilmbase/ilmbase.ucontext.diff b/source/l/ilmbase/ilmbase.ucontext.diff
new file mode 100644
index 000000000..2a57508fd
--- /dev/null
+++ b/source/l/ilmbase/ilmbase.ucontext.diff
@@ -0,0 +1,28 @@
+diff -up ilmbase-1.0.3/IexMath/IexMathFpu.cpp.ucontext ilmbase-1.0.3/IexMath/IexMathFpu.cpp
+--- ilmbase-1.0.3/IexMath/IexMathFpu.cpp.ucontext 2012-07-26 20:51:55.000000000 +0200
++++ ilmbase-1.0.3/IexMath/IexMathFpu.cpp 2012-08-02 23:33:14.815036891 +0200
+@@ -228,6 +228,7 @@ clearExceptions ()
+ const uint16_t cwRestoreMask = ~((3 << 10) | (3 << 8));
+ const uint16_t cwRestoreVal = (0 << 10) | (3 << 8);
+
++#if 0
+ inline void
+ restoreControlRegs (const ucontext_t & ucon, bool clearExceptions)
+ {
+@@ -235,7 +236,7 @@ restoreControlRegs (const ucontext_t & u
+ setMxcsr (ucon.uc_mcontext.fpregs->mxcsr, clearExceptions);
+ }
+
+-#if 0
++#endif
+
+ //
+ // Ugly, the mxcsr isn't defined in GNU libc ucontext_t, but
+@@ -255,7 +256,6 @@ restoreControlRegs (const ucontext_t & u
+ setMxcsr (kfp->magic == 0 ? kfp->mxcsr : 0, clearExceptions);
+ }
+
+-#endif
+
+ } // namespace FpuControl
+
diff --git a/source/l/iso-codes/iso-codes.SlackBuild b/source/l/iso-codes/iso-codes.SlackBuild
index d2a6e7146..e6100a35e 100755
--- a/source/l/iso-codes/iso-codes.SlackBuild
+++ b/source/l/iso-codes/iso-codes.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008 Heinz Wiesinger <pprkut@liwjatan.at>
+# Copyright 2008, 2013 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2008, 2009, 2011 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
@@ -23,20 +23,20 @@
PKGNAM=iso-codes
-VERSION=3.24.2
+VERSION=3.41
ARCH=${ARCH:-noarch}
BUILD=${BUILD:-1}
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
-NUMJOBS=${NUMJOBS:--j6}
+NUMJOBS=${NUMJOBS:-" -j7 "}
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
find . \
diff --git a/source/l/iso-codes/iso-codes.info b/source/l/iso-codes/iso-codes.info
deleted file mode 100644
index e17632c74..000000000
--- a/source/l/iso-codes/iso-codes.info
+++ /dev/null
@@ -1,5 +0,0 @@
-PRGNAM="iso-codes"
-VERSION="3.3"
-HOMEPAGE="http://pkg-isocodes.alioth.debian.org/"
-DOWNLOAD="ftp://pkg-isocodes.alioth.debian.org/pub/pkg-isocodes/iso-codes-3.3.tar.bz2"
-MD5SUM="2fb4f5400f28923d679d7b98fd7f3ab8"
diff --git a/source/l/lcms2/lcms2.SlackBuild b/source/l/lcms2/lcms2.SlackBuild
index e695b74b1..0ca49b4ec 100755
--- a/source/l/lcms2/lcms2.SlackBuild
+++ b/source/l/lcms2/lcms2.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=lcms2
-VERSION=${VERSION:-2.3}
+VERSION=${VERSION:-2.4}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/l/libarchive/slack-desc b/source/l/libarchive/slack-desc
index 545983735..b08c61b22 100644
--- a/source/l/libarchive/slack-desc
+++ b/source/l/libarchive/slack-desc
@@ -13,7 +13,7 @@ libarchive: several different streaming archive formats, including most
libarchive: popular TAR variants and several CPIO formats. It can also
libarchive: write SHAR archives.
libarchive:
-libarchive: Homepage: http://libarchive.googlecode.com
+libarchive: Homepage: http://libarchive.org
libarchive:
libarchive:
libarchive:
diff --git a/source/l/libcroco/libcroco.SlackBuild b/source/l/libcroco/libcroco.SlackBuild
index 4eed5c617..69309787e 100755
--- a/source/l/libcroco/libcroco.SlackBuild
+++ b/source/l/libcroco/libcroco.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for libcroco
-# Copyright 2012 Robby Workman, Northport, Alabama, USA
+# Copyright 2012,2013 Robby Workman, Northport, Alabama, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=libcroco
-VERSION=${VERSION:-0.6.5}
+VERSION=${VERSION:-0.6.8}
BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
diff --git a/source/l/libevent/libevent.SlackBuild b/source/l/libevent/libevent.SlackBuild
new file mode 100755
index 000000000..8cd699dfb
--- /dev/null
+++ b/source/l/libevent/libevent.SlackBuild
@@ -0,0 +1,154 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=libevent
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | cut -f 2 -d -)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-${VERSION}-stable
+tar xvf $CWD/$PKGNAM-${VERSION}-stable.tar.xz || exit 1
+cd $PKGNAM-${VERSION}-stable || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ LICENSE README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# PKGNAM version:
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/l/libevent/slack-desc b/source/l/libevent/slack-desc
new file mode 100644
index 000000000..78604b843
--- /dev/null
+++ b/source/l/libevent/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libevent: libevent (event loop library)
+libevent:
+libevent: libevent is meant to replace the event loop found in event driven
+libevent: network servers. An application just needs to call event_dispatch()
+libevent: and then add or remove events dynamically without having to change the
+libevent: event loop. The libevent API provides a mechanism to execute a
+libevent: callback function when a specific event occurs on a file descriptor or
+libevent: after a timeout has been reached.
+libevent:
+libevent: Homepage: http://libevent.org
+libevent:
diff --git a/source/l/libffi/libffi.SlackBuild b/source/l/libffi/libffi.SlackBuild
index c1a2e848b..1eb06bf44 100755
--- a/source/l/libffi/libffi.SlackBuild
+++ b/source/l/libffi/libffi.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for libffi
# Copyright 2011,2012 Robby Workman, Northport, Alabama, USA
-# Copyright 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
PKGNAM=libffi
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -62,6 +62,9 @@ cd $TMP
rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
cd $PKGNAM-$VERSION
+
+zcat $CWD/libffi.includedir.diff.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/l/libffi/libffi.includedir.diff b/source/l/libffi/libffi.includedir.diff
new file mode 100644
index 000000000..966e16d4b
--- /dev/null
+++ b/source/l/libffi/libffi.includedir.diff
@@ -0,0 +1,36 @@
+--- libffi-3.0.11~rc1.orig/libffi.pc.in
++++ libffi-3.0.11~rc1/libffi.pc.in
+@@ -1,10 +1,10 @@
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+-includedir=${libdir}/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
++includedir=@includedir@
+
+ Name: @PACKAGE_NAME@
+ Description: Library supporting Foreign Function Interfaces
+ Version: @PACKAGE_VERSION@
+-Libs: -L${libdir} -lffi
+-Cflags: -I${includedir}
++Libs: -lffi
++Cflags:
+--- libffi-3.0.11~rc1.orig/include/Makefile.am
++++ libffi-3.0.11~rc1/include/Makefile.am
+@@ -5,5 +5,5 @@ AUTOMAKE_OPTIONS=foreign
+ DISTCLEANFILES=ffitarget.h
+ EXTRA_DIST=ffi.h.in ffi_common.h
+
+-includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
++includesdir = $(includedir)
+ nodist_includes_HEADERS = ffi.h ffitarget.h
+--- libffi-3.0.11~rc1.orig/include/Makefile.in
++++ libffi-3.0.11~rc1/include/Makefile.in
+@@ -211,7 +211,7 @@ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = foreign
+ DISTCLEANFILES = ffitarget.h
+ EXTRA_DIST = ffi.h.in ffi_common.h
+-includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
++includesdir = $(includedir)
+ nodist_includes_HEADERS = ffi.h ffitarget.h
+ all: all-am
+
diff --git a/source/l/libgphoto2/libgphoto2.SlackBuild b/source/l/libgphoto2/libgphoto2.SlackBuild
index 989653a4c..f4b823c24 100755
--- a/source/l/libgphoto2/libgphoto2.SlackBuild
+++ b/source/l/libgphoto2/libgphoto2.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=libgphoto2
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/libgsf/libgsf.SlackBuild b/source/l/libgsf/libgsf.SlackBuild
index 7d955ec48..fd96d36f6 100755
--- a/source/l/libgsf/libgsf.SlackBuild
+++ b/source/l/libgsf/libgsf.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=libgsf
VERSION=${VERSION:-$(echo libgsf-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -77,8 +77,6 @@ CFLAGS="$SLKCFLAGS" \
--with-html-dir=/usr/share/gtk-doc/html \
--mandir=/usr/man \
--disable-static \
- --without-gnome-vfs \
- --without-bonobo \
--build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
diff --git a/source/l/libical/README b/source/l/libical/README
deleted file mode 100644
index 6075373a9..000000000
--- a/source/l/libical/README
+++ /dev/null
@@ -1,9 +0,0 @@
-libical is an Open Source (MPL/LGPL) implementation of the IETF's
-iCalendar Calendaring and Scheduling protocols. (RFC 2445, 2446, and
-2447). It parses iCal components and provides C/C++/Python/Java APIs
-for manipulating the component properties, parameters, and
-subcomponents.
-
-By default c++ and python bindings are enabled. Java bindings can be
-enabled by passing JAVA=yes to the script but require the jdk from
-/extra to be installed. \ No newline at end of file
diff --git a/source/l/libical/libical.SlackBuild b/source/l/libical/libical.SlackBuild
index d94b6dc6b..6b4fce6ee 100755
--- a/source/l/libical/libical.SlackBuild
+++ b/source/l/libical/libical.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2008 Heinz Wiesinger <pprkut@liwjatan.at>
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -77,22 +77,25 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --disable-static \
- --enable-cxx \
- --enable-python \
- --${do_java}able-java \
- --build=$ARCH-slackware-linux \
- --host=$ARCH-slackware-linux
-
+mkdir build
+cd build
+cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DSTATIC_LIBRARY=false \
+ -DGOBJECT_INTROSPECTION=true \
+ ..
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
+cd ..
+
+# We don't want to package the static libraries.
+# Too bad there's no option for that...
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/{libical.a,libicalss.a,libicalvcal.a}
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
diff --git a/source/l/libmtp/libmtp.SlackBuild b/source/l/libmtp/libmtp.SlackBuild
index f7b90a3ff..4783b6765 100755
--- a/source/l/libmtp/libmtp.SlackBuild
+++ b/source/l/libmtp/libmtp.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=libmtp
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/libnl/libnl-include_limits.h.patch b/source/l/libnl/libnl-include_limits.h.patch
deleted file mode 100644
index b2171551d..000000000
--- a/source/l/libnl/libnl-include_limits.h.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Nur libnl-1.1.orig/include/netlink-local.h libnl-1.1/include/netlink-local.h
---- libnl-1.1.orig/include/netlink-local.h 2008-01-14 09:48:45.000000000 -0600
-+++ libnl-1.1/include/netlink-local.h 2009-02-22 18:08:38.242219028 -0600
-@@ -26,6 +26,7 @@
- #include <sys/socket.h>
- #include <inttypes.h>
- #include <assert.h>
-+#include <limits.h>
-
- #include <arpa/inet.h>
- #include <netdb.h>
diff --git a/source/l/libnl/libnl.SlackBuild b/source/l/libnl/libnl.SlackBuild
index a71ef4715..6c78eb2c9 100755
--- a/source/l/libnl/libnl.SlackBuild
+++ b/source/l/libnl/libnl.SlackBuild
@@ -60,7 +60,7 @@ fi
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf $PKGNAM-$SRC_VERSION
+rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
@@ -70,8 +70,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/libnl-include_limits.h.patch.gz | patch -p1 || exit 1
-
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/source/l/libnl3/libnl3.SlackBuild b/source/l/libnl3/libnl3.SlackBuild
index 3ac310f82..e8c7ddf64 100755
--- a/source/l/libnl3/libnl3.SlackBuild
+++ b/source/l/libnl3/libnl3.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for libnl3
-# Copyright 2012 Robby Workman, Northport, Alabama, USA
+# Copyright 2012, 2013 Robby Workman, Northport, Alabama, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/source/l/libpcap/slack-desc b/source/l/libpcap/slack-desc
index 3b3040977..63fb98760 100644
--- a/source/l/libpcap/slack-desc
+++ b/source/l/libpcap/slack-desc
@@ -13,7 +13,7 @@ libpcap: a portable framework for low-level network monitoring. Applications
libpcap: include network statistics collection, security monitoring, network
libpcap: debugging, etc. The tcpdump utility uses libpcap.
libpcap:
-libpcap: Project homepage: http://sourceforge.net/projects/libpcap/
+libpcap: Project homepage: http://www.tcpdump.org
libpcap:
libpcap:
libpcap:
diff --git a/source/l/libproxy/gcc47-include-unistd.h.diff b/source/l/libproxy/gcc47-include-unistd.h.diff
deleted file mode 100644
index fc08aeeae..000000000
--- a/source/l/libproxy/gcc47-include-unistd.h.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -Nur libproxy-0.4.7.orig/libproxy/modules/config_sysconfig.cpp libproxy-0.4.7/libproxy/modules/config_sysconfig.cpp
---- libproxy-0.4.7.orig/libproxy/modules/config_sysconfig.cpp 2011-06-06 16:44:37.220019451 -0500
-+++ libproxy-0.4.7/libproxy/modules/config_sysconfig.cpp 2012-04-15 23:35:45.752467960 -0500
-@@ -18,6 +18,7 @@
- ******************************************************************************/
-
- #include <sys/stat.h>
-+#include <unistd.h>
- #include <cstdlib>
- #include <map>
- #include <fstream>
-diff -Nur libproxy-0.4.7.orig/libproxy/url.cpp libproxy-0.4.7/libproxy/url.cpp
---- libproxy-0.4.7.orig/libproxy/url.cpp 2011-06-06 16:44:37.216019447 -0500
-+++ libproxy-0.4.7/libproxy/url.cpp 2012-04-15 23:35:05.654783125 -0500
-@@ -27,6 +27,7 @@
- #define close _close
- #endif
- #include <fcntl.h> // For ::open()
-+#include <unistd.h> //For close(), read()
- #include <cstring> // For memcpy()
- #include <sstream> // For int/string conversion (using stringstream)
- #include <cstdio> // For sscanf()
diff --git a/source/l/libproxy/libproxy.SlackBuild b/source/l/libproxy/libproxy.SlackBuild
index fecbceb8b..0c2a18cc5 100755
--- a/source/l/libproxy/libproxy.SlackBuild
+++ b/source/l/libproxy/libproxy.SlackBuild
@@ -1,8 +1,7 @@
#!/bin/sh
-# Slackware build script for libproxy
-
-# Copyright 2009,2010,2011 Robby Workman Northport, AL, USA
+# Copyright 2009, 2010, 2011 Robby Workman Northport, AL, USA
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +22,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=libproxy
-VERSION=${VERSION:-0.4.7}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -67,13 +66,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# 0.4.7 won't build against seamonkey's nss stuff, and the first commit in
-# svn after that release disables its use in favor of nspr and js185
-zcat $CWD/only_link_mozjs185.diff.gz | patch -p0 --verbose || exit 1
-
-# Include unistd.h for gcc-4.7.x:
-zcat $CWD/gcc47-include-unistd.h.diff.gz | patch -p1 --verbose || exit 1
-
cmake . \
-DCMAKE_C_FLAGS="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
diff --git a/source/l/libproxy/only_link_mozjs185.diff b/source/l/libproxy/only_link_mozjs185.diff
deleted file mode 100644
index 84016ac80..000000000
--- a/source/l/libproxy/only_link_mozjs185.diff
+++ /dev/null
@@ -1,46 +0,0 @@
-Index: libproxy/cmake/modules/pacrunner_mozjs.cmk
-===================================================================
---- libproxy/cmake/modules/pacrunner_mozjs.cmk (revision 814)
-+++ libproxy/cmake/modules/pacrunner_mozjs.cmk (revision 815)
-@@ -7,19 +7,15 @@
- include_directories("${MOZJS_INCLUDE_DIR}")
- endif()
- elseif(NOT APPLE)
-- set(MOZJS_SEARCH_ORDER "mozilla-js;xulrunner-js;firefox-js;seamonkey-js" CACHE STRING "MozJS search order")
- option(WITH_MOZJS "Search for MOZJS package" ON)
- if (WITH_MOZJS)
-- foreach(MOZJSLIB ${MOZJS_SEARCH_ORDER})
-- pkg_search_module(MOZJS ${MOZJSLIB}>=2.0b12)
-- if(MOZJS_FOUND)
-- include_directories(${MOZJS_INCLUDE_DIRS})
-- link_directories(${MOZJS_LIBRARY_DIRS})
-- break()
-- else()
-- set(MOZJS_FOUND 0)
-- endif()
-- endforeach()
-+ pkg_search_module(MOZJS mozjs185>=1.8.5)
-+ if(MOZJS_FOUND)
-+ include_directories(${MOZJS_INCLUDE_DIRS})
-+ link_directories(${MOZJS_LIBRARY_DIRS})
-+ else()
-+ set(MOZJS_FOUND 0)
-+ endif()
- else()
- set(MOZJS_FOUND 0)
- endif()
-Index: NEWS
-===================================================================
---- NEWS (revision 814)
-+++ NEWS (revision 815)
-@@ -1,3 +1,10 @@
-+New in version 0.4.8 (not yet released)
-+==============================
-+* Only support standalone mozjs185 as mozilla js engine.
-+ xulrunner being part of the now lightning fast moving firefox
-+ is impossible to be tracked as a dependency and it is not
-+ supported by Mozilla to be used in this scenario.
-+
- New in version 0.4.7
- ==============================
- * Support/require xulrunner 2.0+
diff --git a/source/l/libsamplerate/libsamplerate.SlackBuild b/source/l/libsamplerate/libsamplerate.SlackBuild
index 5096157a6..2c05e694e 100755
--- a/source/l/libsamplerate/libsamplerate.SlackBuild
+++ b/source/l/libsamplerate/libsamplerate.SlackBuild
@@ -5,8 +5,8 @@
# Modified by Robby Workman <rworkman@slackbuilds.org>
PKGNAM=libsamplerate
-VERSION=0.1.7
-BUILD=${BUILD:-2}
+VERSION=0.1.8
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/libsecret/libsecret.SlackBuild b/source/l/libsecret/libsecret.SlackBuild
new file mode 100755
index 000000000..d4ec6d663
--- /dev/null
+++ b/source/l/libsecret/libsecret.SlackBuild
@@ -0,0 +1,109 @@
+#!/bin/sh
+
+# Slackware build script for libsecret
+
+# Copyright 2012 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=libsecret
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL NEWS README* \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/libsecret/slack-desc b/source/l/libsecret/slack-desc
new file mode 100644
index 000000000..c18a911e9
--- /dev/null
+++ b/source/l/libsecret/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libsecret: libsecret (library to access the Secret Service API)
+libsecret:
+libsecret: libsecret is a GObject based library for accessing the
+libsecret: Secret Service API.
+libsecret:
+libsecret:
+libsecret:
+libsecret:
+libsecret:
+libsecret:
+libsecret:
diff --git a/source/l/libsoup/libsoup.SlackBuild b/source/l/libsoup/libsoup.SlackBuild
index 485883684..8c7c7cad3 100755
--- a/source/l/libsoup/libsoup.SlackBuild
+++ b/source/l/libsoup/libsoup.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=libsoup
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
diff --git a/source/l/libssh/libssh.SlackBuild b/source/l/libssh/libssh.SlackBuild
index cc60f00a4..38a732727 100755
--- a/source/l/libssh/libssh.SlackBuild
+++ b/source/l/libssh/libssh.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=libssh
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -65,9 +65,12 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf ${PKGNAM}-${VERSION}
-tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.xz || exit 1
cd ${PKGNAM}-$VERSION || exit 1
+# These fail to build and are not packaged anyway:
+zcat $CWD/libssh.no.example.build.diff.gz | patch -p1 --verbose || exit 1
+
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
diff --git a/source/l/libssh/libssh.no.example.build.diff b/source/l/libssh/libssh.no.example.build.diff
new file mode 100644
index 000000000..e7f502517
--- /dev/null
+++ b/source/l/libssh/libssh.no.example.build.diff
@@ -0,0 +1,11 @@
+--- ./CMakeLists.txt.orig 2013-01-22 04:51:59.000000000 -0600
++++ ./CMakeLists.txt 2013-03-28 18:56:18.490047174 -0500
+@@ -89,8 +89,6 @@
+ pkgconfig
+ )
+
+-add_subdirectory(examples)
+-
+ if (WITH_TESTING)
+ find_package(CMockery REQUIRED)
+ include(AddCMockeryTest)
diff --git a/source/l/libtiff/libtiff-CVE-2012-1173.patch b/source/l/libtiff/libtiff-CVE-2012-1173.patch
deleted file mode 100644
index 0ada700b4..000000000
--- a/source/l/libtiff/libtiff-CVE-2012-1173.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-This patch is submitted to upstream for CVE-2012-1173
-
-
-diff -Naur tiff-3.9.5.orig/libtiff/tif_getimage.c tiff-3.9.5/libtiff/tif_getimage.c
---- tiff-3.9.5.orig/libtiff/tif_getimage.c 2010-07-08 12:17:59.000000000 -0400
-+++ tiff-3.9.5/libtiff/tif_getimage.c 2012-03-14 14:49:25.796728783 -0400
-@@ -673,18 +673,24 @@
- unsigned char* p2;
- unsigned char* pa;
- tsize_t tilesize;
-+ tsize_t bufsize;
- int32 fromskew, toskew;
- int alpha = img->alpha;
- uint32 nrow;
- int ret = 1, flip;
-
- tilesize = TIFFTileSize(tif);
-- buf = (unsigned char*) _TIFFmalloc((alpha?4:3)*tilesize);
-+ bufsize = TIFFSafeMultiply(tsize_t,alpha?4:3,tilesize);
-+ if (bufsize == 0) {
-+ TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "Integer overflow in %s", "gtTileSeparate");
-+ return (0);
-+ }
-+ buf = (unsigned char*) _TIFFmalloc(bufsize);
- if (buf == 0) {
- TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "No space for tile buffer");
- return (0);
- }
-- _TIFFmemset(buf, 0, (alpha?4:3)*tilesize);
-+ _TIFFmemset(buf, 0, bufsize);
- p0 = buf;
- p1 = p0 + tilesize;
- p2 = p1 + tilesize;
-@@ -880,17 +886,23 @@
- uint32 rowsperstrip, offset_row;
- uint32 imagewidth = img->width;
- tsize_t stripsize;
-+ tsize_t bufsize;
- int32 fromskew, toskew;
- int alpha = img->alpha;
- int ret = 1, flip;
-
- stripsize = TIFFStripSize(tif);
-- p0 = buf = (unsigned char *)_TIFFmalloc((alpha?4:3)*stripsize);
-+ bufsize = TIFFSafeMultiply(tsize_t,alpha?4:3,stripsize);
-+ if (bufsize == 0) {
-+ TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "Integer overflow in %s", "gtStripSeparate");
-+ return (0);
-+ }
-+ p0 = buf = (unsigned char *)_TIFFmalloc(bufsize);
- if (buf == 0) {
- TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "No space for tile buffer");
- return (0);
- }
-- _TIFFmemset(buf, 0, (alpha?4:3)*stripsize);
-+ _TIFFmemset(buf, 0, bufsize);
- p1 = p0 + stripsize;
- p2 = p1 + stripsize;
- pa = (alpha?(p2+stripsize):NULL);
-diff -Naur tiff-3.9.5.orig/libtiff/tiffiop.h tiff-3.9.5/libtiff/tiffiop.h
---- tiff-3.9.5.orig/libtiff/tiffiop.h 2011-03-28 09:43:43.000000000 -0400
-+++ tiff-3.9.5/libtiff/tiffiop.h 2012-03-14 14:49:25.797728754 -0400
-@@ -246,7 +246,7 @@
- #define TIFFroundup(x, y) (TIFFhowmany(x,y)*(y))
-
- /* Safe multiply which returns zero if there is an integer overflow */
--#define TIFFSafeMultiply(t,v,m) ((((t)m != (t)0) && (((t)((v*m)/m)) == (t)v)) ? (t)(v*m) : (t)0)
-+#define TIFFSafeMultiply(t,v,m) ((((t)(m) != (t)0) && (((t)(((v)*(m))/(m))) == (t)(v))) ? (t)((v)*(m)) : (t)0)
-
- #define TIFFmax(A,B) ((A)>(B)?(A):(B))
- #define TIFFmin(A,B) ((A)<(B)?(A):(B))
diff --git a/source/l/libtiff/libtiff.SlackBuild b/source/l/libtiff/libtiff.SlackBuild
index 91ec64fad..7cdd7b71a 100755
--- a/source/l/libtiff/libtiff.SlackBuild
+++ b/source/l/libtiff/libtiff.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -63,7 +63,10 @@ rm -rf tiff-$VERSION
tar xvf $CWD/tiff-$VERSION.tar.?z* || exit 1
cd tiff-$VERSION
-zcat $CWD/libtiff-CVE-2012-1173.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/tiff-3.9.7_CVE-2013-4231.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/tiff-3.9.7_CVE-2013-4232.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/tiff-3.9.7_CVE-2013-4244.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
find . \
diff --git a/source/l/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff b/source/l/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff
new file mode 100644
index 000000000..2ee6847c6
--- /dev/null
+++ b/source/l/libtiff/tiff-3.9.7_CVE-2012-4447_CVE-2012-4564_CVE-2013-1960_CVE-2013-1961.diff
@@ -0,0 +1,3813 @@
+From 304327d825c7ba6a9f560d0ca792304f0b03e3b3 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Sun, 11 Aug 2013
+Subject: Multiple CVEs addressed and bugs fixed.
+
+Mega-patch against libtiff-3.9.7 constructed from upstream commits
+that syncs it to the last CVS revision (5/2/2013). It fixes:
+
+ a. CVE-2012-4447
+ b. CVE-2012-4564
+ c. CVE-2013-1960
+ d. CVE-2013-1961
+ e. auto-rotate option bug
+ f. TIFFPrintDirectory bug
+---
+ ChangeLog | 781 ++++++++++++++++++++++--------------------
+ Makefile.in | 2
+ aclocal.m4 | 6
+ build/Makefile.in | 2
+ contrib/Makefile.in | 2
+ contrib/acorn/Makefile.in | 2
+ contrib/addtiffo/Makefile.in | 2
+ contrib/dbs/Makefile.in | 2
+ contrib/dbs/xtiff/Makefile.in | 2
+ contrib/dbs/xtiff/xtiff.c | 6
+ contrib/iptcutil/Makefile.in | 2
+ contrib/mac-cw/Makefile.in | 2
+ contrib/mac-mpw/Makefile.in | 2
+ contrib/mfs/Makefile.in | 2
+ contrib/pds/Makefile.in | 2
+ contrib/ras/Makefile.in | 2
+ contrib/stream/Makefile.in | 2
+ contrib/tags/Makefile.in | 2
+ contrib/win_dib/Makefile.in | 2
+ html/Makefile.in | 2
+ html/images/Makefile.in | 2
+ html/man/Makefile.in | 2
+ libtiff/Makefile.in | 2
+ libtiff/tif_codec.c | 5
+ libtiff/tif_dirinfo.c | 4
+ libtiff/tif_pixarlog.c | 94 ++---
+ libtiff/tif_print.c | 15
+ man/Makefile.in | 2
+ port/Makefile.in | 2
+ test/Makefile.in | 2
+ tools/Makefile.in | 2
+ tools/ppm2tiff.c | 39 +-
+ tools/rgb2ycbcr.c | 5
+ tools/tiff2bw.c | 4
+ tools/tiff2pdf.c | 313 ++++++++--------
+ tools/tiff2ps.c | 20 -
+ tools/tiffcrop.c | 12
+ tools/tiffdither.c | 4
+ 38 files changed, 728 insertions(+), 628 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index c18d495..2d8bc7c 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,51 @@
++2013-05-02 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * tools/tiff2pdf.c: Rewrite JPEG marker parsing in
++ t2p_process_jpeg_strip to be at least marginally competent. The
++ approach is still fundamentally flawed, but at least now it won't
++ stomp all over memory when given bogus input. Fixes CVE-2013-1960.
++
++2013-05-02 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * contrib/dbs/xtiff/xtiff.c, libtiff/tif_codec.c,
++ libtiff/tif_dirinfo.c, tools/rgb2ycbcr.c, tools/tiff2bw.c,
++ tools/tiff2pdf.c, tools/tiff2ps.c, tools/tiffcrop.c,
++ tools/tiffdither.c: Enlarge some fixed-size buffers that weren't
++ large enough, and eliminate substantially all uses of sprintf(buf,
++ ...) in favor of using snprintf(buf, sizeof(buf), ...), so as to
++ protect against overflow of fixed-size buffers. This responds in
++ particular to CVE-2013-1961 concerning overflow in tiff2pdf.c's
++ t2p_write_pdf_page(), but in general it seems like a good idea to
++ deprecate use of sprintf().
++
++2013-01-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
++
++ * tools/tiff2ps.c:Fix bug in auto rotate option code. Once a
++ rotation angle was set by the auto rotate check, it was retained
++ for all pages that followed instead of being retested for each
++ page. Patch by Richard Nolde.
++
++2012-12-12 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * libtiff/tif_print.c: Back-patch recent fixes in
++ TIFFPrintDirectory to make it handle field_passcount fields sanely
++ for both TIFF_VARIABLE and TIFF_VARIABLE2 cases.
++
++2012-12-10 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * tools/ppm2tiff.c: Back-patch fix for CVE-2012-4564.
++
++2012-12-10 Tom Lane <tgl@sss.pgh.pa.us>
++
++ * libtiff/tif_pixarlog.c: Back-patch recent security fixes for
++ tif_pixarlog.c, namely the fix for CVE-2012-4447 and protections
++ against accessing outside the lookup arrays for out of range
++ inputs.
++
++2012-11-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
++
++ * automake: Update Automake to 1.12.5 release.
++
+ 2012-09-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+ * libtiff 3.9.7 released.
+@@ -31,7 +79,7 @@
+
+ * libtiff/tif_dirread.c: Avoid trusting samplesperpixel's default
+ of 1 for purposes of trimming tags. This is to get some super
+- crappy OJPEG files to work again. Grr.
++ crappy OJPEG files to work again. Grr.
+ http://bugzilla.maptools.org/show_bug.cgi?id=2348
+
+ 2012-06-01 Frank Warmerdam <warmerdam@google.com>
+@@ -101,8 +149,8 @@
+ * libtiff/tiffiop.h: avoid declaring int64/uint64 on AIX with XLC
+ where they are already available. (#2301)
+
+- * libtiff/tif_thunder.c: Correct potential buffer overflow with
+- thunder encoded files with wrong bitspersample set. The libtiff
++ * libtiff/tif_thunder.c: Correct potential buffer overflow with
++ thunder encoded files with wrong bitspersample set. The libtiff
+ development team would like to thank Marin Barbella and TippingPoint's
+ Zero Day Initiative for reporting this vulnerability (ZDI-CAN-1004,
+ CVE-2011-1167).
+@@ -110,18 +158,18 @@
+
+ 2011-03-10 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_fax3.h: Fix to last change allowing zero length
++ * libtiff/tif_fax3.h: Fix to last change allowing zero length
+ runs at the start of a scanline - needed for legal cases.
+
+ 2011-03-02 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_fax3.h: Protect against a fax VL(n) codeword commanding
+- a move left. Without this, a malicious input file can generate an
+- indefinitely large series of runs without a0 ever reaching the right
++ * libtiff/tif_fax3.h: Protect against a fax VL(n) codeword commanding
++ a move left. Without this, a malicious input file can generate an
++ indefinitely large series of runs without a0 ever reaching the right
+ margin, thus overrunning our buffer of run lengths. Per CVE-2011-0192.
+- This is a modified version of a patch proposed by Drew Yao of Apple
+- Product Security. It adds an unexpected() report, and disallows the
+- equality case, since emitting a run without increasing a0 still allows
++ This is a modified version of a patch proposed by Drew Yao of Apple
++ Product Security. It adds an unexpected() report, and disallows the
++ equality case, since emitting a run without increasing a0 still allows
+ buffer overrun.
+
+ 2011-02-25 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -133,7 +181,7 @@
+ 2011-01-03 Lee Howard <faxguy@howardsilvan.com>
+
+ * libtiff/tif_jpeg.c: Fix regressions with 2 and 3 band images
+- caused by commit on 2010-12-14. Submitted by e-mail from
++ caused by commit on 2010-12-14. Submitted by e-mail from
+ Even Rouault <even.rouault@mines-paris.org>
+
+ 2010-12-31 Olivier Paquet <olivier.paquet@gmail.com>
+@@ -188,13 +236,13 @@
+
+ 2010-12-12 Lee Howard <faxguy@howardsilvan.com>
+
+- * tools/tiff2pdf.c: fix colors for images with RGBA
++ * tools/tiff2pdf.c: fix colors for images with RGBA
+ interleaved data
+ http://bugzilla.maptools.org/show_bug.cgi?id=2250
+
+ 2010-12-11 Lee Howard <faxguy@howardsilvan.com>
+
+- * tools/tiff2pdf.c: remove invalid duplication for Lab
++ * tools/tiff2pdf.c: remove invalid duplication for Lab
+ http://bugzilla.maptools.org/show_bug.cgi?id=2162
+
+ 2010-12-11 Lee Howard <faxguy@howardsilvan.com>
+@@ -236,7 +284,7 @@
+
+ 2010-12-07 Lee Howard <faxguy@howardsilvan.com>
+
+- * libtiff/tif_jpeg.c, libtiff/tif_strip.c: apply patch for
++ * libtiff/tif_jpeg.c, libtiff/tif_strip.c: apply patch for
+ CVE-2010-3087 per bug
+ http://bugzilla.maptools.org/show_bug.cgi?id=2140
+
+@@ -248,7 +296,7 @@
+ 2010-09-25 Lee Howard <faxguy@howardsilvan.com>
+
+ * tools/tiff2ps.c: improvements and enhancements from Richard Nolde
+- with additional command line options for Document Title,
++ with additional command line options for Document Title,
+ Document Creator, and Page Orientation
+
+ 2010-07-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+@@ -349,14 +397,14 @@
+ * libtiff/tif_dirread.c: Fixed bad handling of out of order tags
+ definated late by a codec (#2210)
+
+- * libtiff/tif_dirread.c: Fixed inadequate validation of the
++ * libtiff/tif_dirread.c: Fixed inadequate validation of the
+ SubjectDistance field (#2212).
+
+- * tiff2pdf.c: Fix assorted bugs in tiff2pdf: missing "return"
+- in t2p_read_tiff_size() causes t2p->tiff_datasize to be set entirely
+- wrong for COMPRESSION_JPEG case, resulting in memory stomp if actual
+- size is larger. Also, there are a bunch of places that try to
+- memset() a malloc'd buffer before checking for malloc failure, which
++ * tiff2pdf.c: Fix assorted bugs in tiff2pdf: missing "return"
++ in t2p_read_tiff_size() causes t2p->tiff_datasize to be set entirely
++ wrong for COMPRESSION_JPEG case, resulting in memory stomp if actual
++ size is larger. Also, there are a bunch of places that try to
++ memset() a malloc'd buffer before checking for malloc failure, which
+ would result in core dump if there actually were a failure. (#2211)
+
+ 2010-06-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+@@ -452,13 +500,13 @@
+
+ 2010-05-07 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: Ensure that quality is always set in
+- JPEGPreEncode(), not just when we want to output local tables.
++ * libtiff/tif_jpeg.c: Ensure that quality is always set in
++ JPEGPreEncode(), not just when we want to output local tables.
+ Otherwise the quality used during compression may not be right and
+ might not match the tables in the tables tag. This bug only occurs
+ when seeking between directories in the midst of writing blocks.
+ http://trac.osgeo.org/gdal/ticket/3539
+-
++
+ 2010-05-05 Olivier Paquet <olivier.paquet@gmail.com>
+
+ * libtiff/tif_print.c: Have TIFFTAG_REFERENCEBLACKWHITE always print 6
+@@ -476,11 +524,11 @@
+ 2010-02-22 Lee Howard <faxguy@howardsilvan.com>
+
+ * libtiff/tif_jpeg.c: Do not generate a JPEGTables tag when creating
+- the JPEG TIFF as is is not required in order to prevent it from
+- being unused and filled with invalid data. (Leave it to be
++ the JPEG TIFF as is is not required in order to prevent it from
++ being unused and filled with invalid data. (Leave it to be
+ generated by later activity.)
+ http://bugzilla.maptools.org/show_bug.cgi?id=2135
+- * tools/tiff2pdf.c: Write the JPEG SOI headers into the TIFF strip
++ * tools/tiff2pdf.c: Write the JPEG SOI headers into the TIFF strip
+ data rather than skipping them. This fixes the ability to view in
+ Acrobat Reader, Evince, and Ghostscript.
+ http://bugzilla.maptools.org/show_bug.cgi?id=2135
+@@ -491,13 +539,13 @@
+ 2010-01-06 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_dir.c: Ensure tile and scanline sizes are reset
+- when moving to new directories.
++ when moving to new directories.
+ http://bugzilla.maptools.org/show_bug.cgi?id=1936
+
+ 2009-12-03 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_jpeg.c: Fix a couple of issues that trigger failures in
+- some cases when using TIFFReadScanline() with JPEG compressed
++ some cases when using TIFFReadScanline() with JPEG compressed
+ subsampled ycbcr images.
+ http://bugzilla.maptools.org/show_bug.cgi?id=1936
+
+@@ -610,7 +658,7 @@
+
+ 2009-06-22 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_lzw.c: Fix buffer underflow bug.
++ * libtiff/tif_lzw.c: Fix buffer underflow bug.
+ http://bugzilla.maptools.org/show_bug.cgi?id=2065
+
+ 2009-06-03 Frank Warmerdam <warmerdam@pobox.com>
+@@ -621,7 +669,7 @@
+
+ 2009-02-12 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_luv.c: Fix handling of tiled logluv images.
++ * libtiff/tif_luv.c: Fix handling of tiled logluv images.
+ http://bugzilla.maptools.org/show_bug.cgi?id=2005
+
+ 2009-01-23 Frank Warmerdam <warmerdam@pobox.com>
+@@ -635,7 +683,7 @@
+
+ 2009-01-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+- * tools/tiff2ps.c: Remove spurious message printed to stderr.
++ * tools/tiff2ps.c: Remove spurious message printed to stderr.
+
+ 2009-01-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+@@ -668,7 +716,7 @@
+ 2008-12-31 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tools/tiffcrop.c, man/tiffcrop.1: A major update from Richard
+- Nolde.
++ Nolde.
+
+ 2008-12-21 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -678,7 +726,7 @@
+
+ 2008-12-21 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_getimage.c, tiffio.h: More ABI corrections.
++ * libtiff/tif_getimage.c, tiffio.h: More ABI corrections.
+ Removed SubsamplingHor/Ver from TIFFRGBAImage structure.
+ http://bugzilla.maptools.org/show_bug.cgi?id=1980
+
+@@ -719,15 +767,15 @@
+
+ 2008-05-24 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_codec.c: Avoid NULL pointer dereferencing for exotic
++ * tif_codec.c: Avoid NULL pointer dereferencing for exotic
+ compression codec codes.
+
+ * tif_dirread.c: zero tif->tif_dir after freeing the directory
+ in TIFFReadCustomDirectory(). I don't exactly remember why this
+- was important.
++ was important.
+
+ * tif_dirwrite.c: Fix potential memory leak writing large double
+- tags.
++ tags.
+
+ * tif_dirread.c: Fix unchecked malloc result.
+
+@@ -747,12 +795,12 @@
+
+ 2007-11-22 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_write.c: Rip out the fancy logic in TIFFAppendToStrip() for
+- establishing if an existing tile can be rewritten to the same location
+- by comparing the current size to all the other blocks in the same
+- directory. This is dangerous in many situations and can easily
++ * tif_write.c: Rip out the fancy logic in TIFFAppendToStrip() for
++ establishing if an existing tile can be rewritten to the same location
++ by comparing the current size to all the other blocks in the same
++ directory. This is dangerous in many situations and can easily
+ corrupt a file. (observed in esoteric GDAL situation that's hard to
+- document). This change involves leaving the stripbytecount[] values
++ document). This change involves leaving the stripbytecount[] values
+ unaltered till TIFFAppendToStrip(). Now we only write a block back
+ to the same location it used to be at if the new data is the same
+ size or smaller - otherwise we move it to the end of file.
+@@ -760,17 +808,17 @@
+ * tif_dirwrite.c: Try to avoid writing out a full readbuffer of tile
+ data when writing the directory just because we have BEENWRITING at
+ some point in the past. This was causing odd junk to be written out
+- in a tile of data when a single tile had an interleaving of reading
+- and writing with reading last. (highlighted by gdal
+- autotest/gcore/tif_write.py test 7.
++ in a tile of data when a single tile had an interleaving of reading
++ and writing with reading last. (highlighted by gdal
++ autotest/gcore/tif_write.py test 7.
+
+ * tif_predict.c: use working buffer in PredictorEncodeTile to avoid
+- modifying callers buffer.
++ modifying callers buffer.
+ http://trac.osgeo.org/gdal/ticket/1965
+
+- * tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so that
++ * tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so that
+ predictor based encoding and decoding works in read-write update
+- mode properly.
++ mode properly.
+ http://trac.osgeo.org/gdal/ticket/1948
+
+ 2007-10-05 Frank Warmerdam <warmerdam@pobox.com>
+@@ -785,7 +833,7 @@
+
+ 2007-07-18 Andrey Kiselev <dron@ak4719.spb.edu>
+
+- * libtiff/{Makefile.am, Makefile.v}: Do not distribute tiffconf.h,
++ * libtiff/{Makefile.am, Makefile.v}: Do not distribute tiffconf.h,
+ remove tif_config.h/tiffconf.h during cleaning. As per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1573
+@@ -803,14 +851,13 @@
+ 2007-07-03 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/tiff2ps.c: Added support 16-bit images as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1566
+
+ Patch from William Bader.
+
+ * tools/tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and
+ significant upgrade of the whole utility as per bug
+-
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1560
+
+ Now we don't need tiffiop.h in tiff2pdf anymore and will open output
+@@ -828,7 +875,7 @@
+
+ * libtiff/tif_dirwrite.c: Fixed problem introduced with a fix for a
+ byte swapping issue
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1363
+
+ As per bug
+@@ -846,7 +893,7 @@
+ * libtiff/{tif_dir.h, tif_dirread.c, tif_dirinfo.c, tif_jpeg.c,
+ tif_fax3.c, tif_jbig.c, tif_luv.c, tif_ojpeg.c, tif_pixarlog.c,
+ tif_predict.c, tif_zip.c}: Finally fix bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1274
+
+ by introducing _TIFFMergeFieldInfo() returning integer error status
+@@ -857,7 +904,7 @@
+
+ 2007-04-07 Frank Warmerdam <warmerdam@pobox.com>
+
+- * contrib/addtiffo/tif_overview.c: Fix problems with odd sized output
++ * contrib/addtiffo/tif_overview.c: Fix problems with odd sized output
+ blocks in TIFF_DownSample_Subsampled() (bug 1542).
+
+ 2007-04-06 Frank Warmerdam <warmerdam@pobox.com>
+@@ -865,20 +912,20 @@
+ * libtiff/tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it
+ will convert from decompressor to compressor or compress to decompress
+ if required by the force arguments. This works around a problem in
+- where the JPEGFixupTestSubsampling() may cause a decompressor to
++ where the JPEGFixupTestSubsampling() may cause a decompressor to
+ be setup on a directory when later a compressor is required with the
+- force flag set. Occurs with the addtiffo program for instance.
++ force flag set. Occurs with the addtiffo program for instance.
+
+ 2007-04-06 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/tif_dirwrite.c: Fixed swapping of byte arrays stored
+ in-place in tag offsets as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1363
+
+ * tools/tiffcrop.c, man/tiffcrop.1: Significant update in
+ functionality from Richard Nolde. As per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1525
+
+ 2007-03-28 Frank Warmerdam <warmerdam@pobox.com>
+@@ -886,15 +933,15 @@
+ * libtiff/tif_fax3.c: "inline static" -> "static inline" for IRIC CC.
+
+ 2007-03-07 Joris Van Damme <joris.at.lebbeke@skynet.be>
+-
++
+ * libtiff/tif_getimage.c: workaround for 'Fractional scanline' error reading
+ OJPEG images with rowsperstrip that is not a multiple of vertical subsampling
+ factor. This bug is mentioned in:
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1390
+- http://www.asmail.be/msg0054766825.html
++ http://www.asmail.be/msg0054766825.html
+
+ 2007-03-07 Joris Van Damme <joris.at.lebbeke@skynet.be>
+-
++
+ * libtiff/tif_win32.c: made inclusion of windows.h unconditional
+
+ * libtiff/tif_win32.c: replaced preprocessor indication for consiously
+@@ -944,14 +991,14 @@
+ larger than 2GB. Fixes bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=890
+-
++
+ Idea submitted by Matt Hancher.
+
+ 2007-01-31 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/tif2rgba.c: This utility does not work properly on big-endian
+ architectures. It was fixed including the bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1149
+
+ 2007-01-15 Mateusz Loskot <mateusz@loskot.net>
+@@ -968,15 +1015,15 @@
+
+ 2006-11-19 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_write.c: TIFFAppendToStrip() - clear sorted flag if
+- we move a strip.
+- http://bugzilla.remotesensing.org/show_bug.cgi?id=1359
++ * libtiff/tif_write.c: TIFFAppendToStrip() - clear sorted flag if
++ we move a strip.
++ http://bugzilla.remotesensing.org/show_bug.cgi?id=1359
+
+ 2006-10-13 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/tif_dir.c: More fixes for vulnerabilities, reported
+ in Gentoo bug ():
+-
++
+ http://bugs.gentoo.org/show_bug.cgi?id=142383
+
+ * libtiff/contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable.
+@@ -1010,12 +1057,12 @@
+ * libtiff/tif_lzw.c, libtiff/tif_zip.c: Fixed problems with mixing
+ encoding and decoding on the same read-write TIFF handle. The LZW
+ code can now maintain encode and decode state at the same time. The
+- ZIP code will switch back and forth as needed.
++ ZIP code will switch back and forth as needed.
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=757
+
+ 2006-09-20 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff: Rename config.h.vc and tif_config.h.vc to config.vc.h and
++ * libtiff: Rename config.h.vc and tif_config.h.vc to config.vc.h and
+ tif_config.vc.h for easier identification by folks using an IDE.
+
+ 2006-07-25 Frank Warmerdam <warmerdam@pobox.com>
+@@ -1030,7 +1077,7 @@
+
+ 2006-07-12 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_dirwrite.c: make sure to use uint32 for wordcount in
++ * tif_dirwrite.c: make sure to use uint32 for wordcount in
+ TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields.
+ It already seems to have been done for other field types. Needed
+ for "tiffset" on files with geotiff ascii text.
+@@ -1058,9 +1105,9 @@
+ 2006-06-17 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tif_readdir.c: Added case in EstimateStripByteCounts() for tiled
+- files. Modified TIFFReadDirectory() to not invoke
++ files. Modified TIFFReadDirectory() to not invoke
+ EstimateStripByteCounts() for case where entry 0 and 1 are unequal
+- but one of them is zero.
++ but one of them is zero.
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1204
+
+ 2006-06-08 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1088,7 +1135,7 @@
+ * {configure, configure.ac, libtiff/tif_jbig.c, tools/tiffcp.c}: Added
+ support for JBIG compression scheme (34661 code) contributed by Lee
+ Howard. As per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=896
+
+ * configure, configure.ac: OJPEG support enabled by default.
+@@ -1127,7 +1174,7 @@
+ 2006-04-18 Frank Warmerdam <warmerdam@pobox.com>
+
+ * nmake.opt: use /EHsc for VS2005 compatibility. Also define
+- _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
++ _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
+
+ 2006-04-12 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+@@ -1135,7 +1182,7 @@
+ non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1])
+
+ 2006-04-11 Joris Van Damme <joris.at.lebbeke@skynet.be>
+-
++
+ * libtiff/tif_getimage.c: Revision of all RGB(A) put routines
+ - Conversion of unassociated alpha to associated alpha now done with
+ more performant LUT, and calculation more correct
+@@ -1144,21 +1191,21 @@
+ - Bugfix of handling of 16bit RGB with unassociated alpha
+
+ 2006-04-11 Joris Van Damme <joris.at.lebbeke@skynet.be>
+-
+- * libtiff/tif_getimage.c:
+- - When there is no alpha, gtTileSeparate and gtStripSeparate allocated
+- buffer for alpha strile and filled it, only to never read it back.
++
++ * libtiff/tif_getimage.c:
++ - When there is no alpha, gtTileSeparate and gtStripSeparate allocated
++ buffer for alpha strile and filled it, only to never read it back.
+ Removed allocation and fill.
+- - Minor rename of vars in gtTileSeparate and gtStripSeparate
++ - Minor rename of vars in gtTileSeparate and gtStripSeparate
+ anticipating planned functionality extension
+
+ 2006-04-08 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+- * libtiff/tif_getimage.c: renamed pickTileContigCase to PickContigCase
+- and pickTileSeparateCase to PickSeparateCase as both work on strips as
++ * libtiff/tif_getimage.c: renamed pickTileContigCase to PickContigCase
++ and pickTileSeparateCase to PickSeparateCase as both work on strips as
+ well
+
+- * libtiff/tif_getimage.c: moved img->get selection from
++ * libtiff/tif_getimage.c: moved img->get selection from
+ TIFFRGBAImageBegin into PickContigCase and PickSeparateCase to create
+ logical hook for planned functionality extension
+
+@@ -1169,9 +1216,9 @@
+
+ 2006-04-07 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+- * libtiff/tif_getimage.c: replaced usage of TIFFScanlineSize in
++ * libtiff/tif_getimage.c: replaced usage of TIFFScanlineSize in
+ gtStripContig with TIFFNewScanlineSize so as to fix buggy behaviour
+- on subsampled images - this ought to get sorted when we feel brave
++ on subsampled images - this ought to get sorted when we feel brave
+ enough to replace TIFFScanlineSize alltogether
+
+ * libtiff/tif_ojpeg.c: fixed bug in OJPEGReadSkip
+@@ -1180,13 +1227,13 @@
+
+ * libtiff/tiffio.h: added new type tstrile_t
+
+- * libtiff/tif_dir.h: changed types of td_stripsperimage and td_nstrips
+- to new tstrile_t, types of td_stripoffset and td_stripbytecount to
++ * libtiff/tif_dir.h: changed types of td_stripsperimage and td_nstrips
++ to new tstrile_t, types of td_stripoffset and td_stripbytecount to
+ toff_t*
+
+ * libtiff/tif_ojpeg.c: totally new implementation
+
+- * libtiff/tif_dirread.c: added several hacks to suit new support of
++ * libtiff/tif_dirread.c: added several hacks to suit new support of
+ OJPEG
+
+ * libtiff/tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling
+@@ -1226,7 +1273,7 @@
+
+ * libtiff/tif_getimage.c: added putcontig8bitYCbCr12tile
+
+- * libtiff/tif_read.c: added support for new TIFF_NOREADRAW flag to
++ * libtiff/tif_read.c: added support for new TIFF_NOREADRAW flag to
+ prepare the path for new tif_ojpeg.c
+
+ 2006-03-23 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1342,7 +1389,7 @@
+
+ * libtiff/tif_write.c: Small code rearrangement in TIFFWriteScanline()
+ to avoid crash as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1081.
+
+ 2006-02-26 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1392,7 +1439,7 @@
+ 2006-02-07 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tools/tiff2pdf.c: Fixed support for non-YCbCr encoded JPEG
+- compressed TIFF files, per submission from Dan Cobra.
++ compressed TIFF files, per submission from Dan Cobra.
+
+ 2006-02-07 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -1424,7 +1471,7 @@
+
+ * libtiff/tif_dirread.c: Use _TIFFGetExifFieldInfo() instead of
+ _TIFFGetFieldInfo() in TIFFReadEXIFDirectory() call as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1026.
+
+ 2006-01-23 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1490,7 +1537,7 @@
+
+ 2005-12-26 Andrey Kiselev <dron@ak4719.spb.edu>
+
+- * libtiff/{tif_dir.c, tif_dir.h, tif_dirread.c, tif_dirinfo.c}:
++ * libtiff/{tif_dir.c, tif_dir.h, tif_dirread.c, tif_dirinfo.c}:
+ tiffFieldInfo and exifFieldInfo arrays definitions moved back to
+ tif_dirinfo.c; added _TIFFGetFieldInfo() and _TIFFGetExifFieldInfo()
+ private functions to retrieve FieldInfo arrays.
+@@ -1517,10 +1564,10 @@
+
+ 2005-12-23 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+- * libtiff/tiffio.h: fixed typo that potentially resulted in
++ * libtiff/tiffio.h: fixed typo that potentially resulted in
+ redefininition of USE_WIN32_FILEIO
+
+- * libtiff/*: Added more 'dual-mode' error handling: Done TIFFWarning
++ * libtiff/*: Added more 'dual-mode' error handling: Done TIFFWarning
+ calls in core LibTiff.
+
+ 2005-12-21 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -1530,10 +1577,10 @@
+
+ 2005-12-21 Joris Van Damme <joris.at.lebbeke@skynet.be>
+
+- * libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling
++ * libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling
+ newer code to get context indicator in error handler and still
+- remain compatible with older code: Done TIFFError calls everywhere
+- except in tools
++ remain compatible with older code: Done TIFFError calls everywhere
++ except in tools
+
+ 2005-12-20 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -1606,7 +1653,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=1002
+
+ * .cvsignore: many files added, and a few update according
+- to suggestion of Brad HArds on tiff mailing list.
++ to suggestion of Brad HArds on tiff mailing list.
+
+ 2005-11-03 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -1631,7 +1678,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=946
+
+ * tools/bmp2tiff.c: Fixed possible integer overflow error as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=965
+
+ * libtiff/tif_dirinfo.c: Make XResolution, YResolution and
+@@ -1641,7 +1688,7 @@
+
+ * tools/tiffsplit.c: Copy fax related fields over splitted parts
+ as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=983
+
+ 2005-10-21 Frank Warmerdam <warmerdam@pobox.com>
+@@ -1697,7 +1744,7 @@
+
+ * libtiff/tif_dir.c: When prefreeing tv->value in TIFFSetFieldV
+ also set it to NULL to avoid double free when re-setting custom
+- string fields as per:
++ string fields as per:
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=922
+
+@@ -1733,7 +1780,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=831
+
+ Remove TIFFFetchExtraSamples() function, use TIFFFetchNormalTag()
+- instead.
++ instead.
+
+ * libtiff/tiffconf.h.in: One more attempt to fix the AIX bug
+
+@@ -1904,7 +1951,7 @@
+
+ 2005-05-22 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirread.c: Changed the code that computes
++ * libtiff/tif_dirread.c: Changed the code that computes
+ stripbytecount[0] if it appears bogus to ignore if stripoffset[0] is
+ zero. This is a common case with GDAL indicating a "null" tile/strip.
+
+@@ -1914,8 +1961,8 @@
+
+ 2005-05-06 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirread.c: Applied similar change to
+- TIFFFetchPerSampleLongs and TIFFFetchPerSampleAnys.
++ * libtiff/tif_dirread.c: Applied similar change to
++ TIFFFetchPerSampleLongs and TIFFFetchPerSampleAnys.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=843
+
+@@ -1965,7 +2012,7 @@
+
+ * man/TIFFSetField.3tiff: Fixed definition of the TIFFTAG_INKNAMES tag
+ as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=816
+
+ 2005-03-30 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -2075,7 +2122,7 @@
+
+ * libtiff/tiffio.h: Move TIFFOpenW() function into the extern "C"{}
+ block as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=763
+
+ 2005-02-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+@@ -2096,7 +2143,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=320
+
+ * tools/tiff2ps.c: Fixed problem with page sizes as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=742
+
+ 2005-01-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+@@ -2137,7 +2184,7 @@
+ TIFFRGBAImageBegin() as per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=739
+-
++
+ 2005-01-12 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/tif_jpeg.c: Added ability to read/write the fax specific
+@@ -2166,7 +2213,7 @@
+ * libtiff/tiff.h: Restore back the workaround for AIX Visual Age C
+ compiler to avoid double definition of BSD types as per bug
+
+- http://bugzilla.remotesensing.org/show_bug.cgi?id=39
++ http://bugzilla.remotesensing.org/show_bug.cgi?id=39
+
+ * libtiff/Makefile.am: Place the C++ stream API in the separate
+ library called libtiffxx to avoid unneeded dependencies. Probably
+@@ -2190,7 +2237,7 @@
+
+ * libtiff/tif_getimage.c: More fixes for multiple-alpha-channelled
+ RGB-images as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=713
+
+
+@@ -2226,7 +2273,7 @@
+ 2004-12-15 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_getimage.c: #define A1 bracketing for clean build on
+- SunPro compiler.
++ SunPro compiler.
+
+ 2004-12-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+@@ -2238,7 +2285,7 @@
+
+ * libtiff/tif_dirwrite.c: Always write TIFFTAG_SUBIFD using LONG type
+ as per bugs
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=703
+
+ and
+@@ -2258,9 +2305,9 @@
+
+ * libtiff/tif_config.in.vc: Removed unneded definitions for
+ read/open/close/lseek functions to fix the
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=680
+-
++
+ 2004-12-03 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/{tif_dir.c, tif_dirread.c}: Remove TIFFReassignTagToIgnore()
+@@ -2296,7 +2343,7 @@
+
+ 2004-11-26 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/makefile.vc: make it easier to rename the libtiff DLL.
++ * libtiff/makefile.vc: make it easier to rename the libtiff DLL.
+
+ 2004-11-24 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -2393,7 +2440,7 @@
+ per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=648
+-
++
+ * libtiff/{tif_jpeg.c, tif_ojpeg.c}: TIFFTAG_JPEGTABLES should have
+ uint32 count. Use this type everywhere.
+
+@@ -2406,7 +2453,7 @@
+ * tools/tiff2rgba.c: removed extra newlines in usage message.
+
+ 2004-10-30 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/tif_dirwrite.c: Improvements in tag writing code.
+
+ * tools/tiff2ps.c: Fixed wrong variable data type when read Position
+@@ -2421,7 +2468,7 @@
+
+ * libtiff/tif_fax3.c: Fixed case with the wrong decode routines
+ choosing when the incorrect Group4Options tag set. As per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=323
+
+ * libtiff/tif_dirwrite.c: Fixed problem with passing count variable of
+@@ -2440,7 +2487,7 @@
+ * tools/tiff2pdf.c: added casts to avoid warnings.
+
+ * libtiff/libtiff.def: Added several more entry points required
+- to link fax2tiff.c against the DLL on windows.
++ to link fax2tiff.c against the DLL on windows.
+
+ 2004-10-27 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -2511,7 +2558,7 @@
+ 2004-10-08 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_dirinfo.c: Fix bug with tif_foundfield and reallocation
+- of tif_fieldinfo.
++ of tif_fieldinfo.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=630
+
+@@ -2543,7 +2590,7 @@
+
+ 2004-09-30 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to
++ * libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to
+ TIFFTAG_BYTE instead of TIFFTAG_UNDEFINED to comply with the info
+ in the Adobe XMP Specification.
+
+@@ -2563,7 +2610,7 @@
+ 2004-09-26 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/{tif_dir.h, tif_dir.c, tif_dirread.c, tif_write.c}:
+- Optimize checking for the strip bounds.
++ Optimize checking for the strip bounds.
+
+ * libtiff/{tif_dirread.c, tif_strip.c}: TIFFScanlineSize() and
+ TIFFRasterScanlineSize() functions report zero in the case of integer
+@@ -2714,7 +2761,7 @@
+ here
+
+ http://www.asmail.be/msg0054799560.html
+-
++
+ for details.
+
+ * tools/fax2tiff.c: Use the new functions in the code.
+@@ -2842,11 +2889,11 @@
+ * tools/tiffsplit.c: Fixed problem with unproperly written multibyte
+ files. Now output files will be written using the same byte order
+ flag as in the input image. See
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=574
+-
++
+ for details.
+-
++
+ 2004-05-19 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_print.c: added (untested) support for printing
+@@ -2858,7 +2905,7 @@
+
+ * libtiff/tif_fax3.c: Avoid reading CCITT compression options
+ if compression type mismatches. See
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=565
+
+ 2004-04-30 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -2903,7 +2950,7 @@
+ 2004-04-04 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_open.c: close clientdata if TIFFClientOpen() fails
+- via bad2.
++ via bad2.
+
+ 2004-03-26 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -2930,10 +2977,10 @@
+
+ 2004-02-26 Andrey Kiselev <dron@ak4719.spb.edu>
+
+- * tools/tiffsplit.c: Copy JPEGTables tag contents for JPEG compressed
++ * tools/tiffsplit.c: Copy JPEGTables tag contents for JPEG compressed
+ images. Reported by Artem Mirolubov.
+
+- * libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED
++ * libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED
+ tag type in TIFFFetchNormalTag() as per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=508
+@@ -2955,8 +3002,8 @@
+ 2004-01-30 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/libtiff.def: Added TIFFCurrentDirOffset, TIFFWriteCheck,
+- TIFFRGBAImageOK, and TIFFNumberOfDirectories as suggested by
+- Scott Reynolds.
++ TIFFRGBAImageOK, and TIFFNumberOfDirectories as suggested by
++ Scott Reynolds.
+
+ 2004-01-29 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -2974,7 +3021,7 @@
+ file if TIFFFdOpen() failed as per bug
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=468
+-
++
+ * libtiff/tif_open.c: More fixes for
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=468
+@@ -2998,7 +3045,7 @@
+ * libtiff/tif_dirwrite.c: Fixed handling of writable ASCII tags that
+ are field_passcount=TRUE properly. Arguably anonymous custom tags
+ should be declared as passcount=FALSE, but I don't want to change
+- that without a careful review.
++ that without a careful review.
+
+ 2004-01-20 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -3161,8 +3208,8 @@
+
+ 2003-11-17 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_dirread.c: do not mark all anonymously defined tags to be
+- IGNOREd.
++ * tif_dirread.c: do not mark all anonymously defined tags to be
++ IGNOREd.
+
+ 2003-11-17 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -3202,15 +3249,15 @@
+
+ 2003-11-09 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_tile.c: remove spurious use of "s" (sample) in the
++ * libtiff/tif_tile.c: remove spurious use of "s" (sample) in the
+ planarconfig_contig case in TIFFComputeTile().
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=387
+
+ 2003-11-09 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/tiffiop.h: New macros: TIFFmax, TIFFmin and TIFFrint.
+-
++
+ 2003-11-07 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * libtiff/{tiffio.h, tif_strip.c}, man/{TIFFstrip.3t, libtiff.3t}:
+@@ -3277,11 +3324,11 @@
+ function TIFFReadRGBAImageOriented() implemented to retrieve raster
+ array with user-specified origin position as suggested by Jason Frank.
+ See
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=322
+
+ for details.
+-
++
+ * tools/tiff2rgba.c: Switched to use TIFFReadRGBAImageOriented()
+ instead of TIFFReadRGBAImage().
+
+@@ -3362,9 +3409,9 @@
+ encoded write functions use tif_postdecode() to apply byte order
+ swapping (swab) to the application passed data buffer if the same
+ would be done when reading. This allows us to write pixel data with
+- more than 8 bits per sample to existing files of a non-native byte
++ more than 8 bits per sample to existing files of a non-native byte
+ order. One side effect of this change is the applications buffer
+- itself is altered in this case by the act of writing.
++ itself is altered in this case by the act of writing.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=171
+
+@@ -3390,9 +3437,9 @@
+ 2003-07-08 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tif_aux.c, tif_codec.c, tif_dir.c, tif_dirread.c, tif_extension.c,
+- tif_fax3.c, tif_getimage.c, tif_luv.c, tif_lzw.c, tif_next.c,
++ tif_fax3.c, tif_getimage.c, tif_luv.c, tif_lzw.c, tif_next.c,
+ tif_packbits.c, tif_predict.c, tif_print.c, tif_swab.c, tif_thunder.c:
+- avoid casting warning at /W4.
++ avoid casting warning at /W4.
+
+ 2003-07-03 Andrey Kiselev <dron@ak4719.spb.edu>
+
+@@ -3414,11 +3461,11 @@
+
+ * libtiff/tif_dirinfo.c: TIFFDataWidth() returns 0 in case of
+ unknown data type.
+-
++
+ 2003-06-19 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_print.c: fixed some serious bugs when printing
+- custom tags ... almost certain to crash.
++ custom tags ... almost certain to crash.
+
+ * libtiff/tif_dirread.c: Don't ignore custom fields that are
+ autodefined. Not sure how this got to be like this.
+@@ -3429,12 +3476,12 @@
+
+ * tools/tiffcmp.c, man/tiffcmp.1: Fixed problem with unused data
+ comparing as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=349
+
+ `-z' option now can be used to set the number of reported different
+ bytes.
+-
++
+ 2003-06-09 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/tiffcp.c, man/tiffcp.1: Added possibility to specify value -1
+@@ -3460,7 +3507,7 @@
+ 2003-05-25 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/fax2tiff.c: Page numbering fixed, as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=341
+
+ 2003-05-20 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -3526,7 +3573,7 @@
+
+ * tools/tiffcp.c: Fixed problem with colorspace conversion for JPEG
+ encoded images. See bug entries
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=275
+
+ and
+@@ -3587,16 +3634,16 @@
+
+ * libtiff/tif_jpeg.c: Modified to defer initialization of jpeg
+ library so that we can check if there is already any tile/strip data
+- before deciding between creating a compressor or a decompressor.
++ before deciding between creating a compressor or a decompressor.
+
+ 2003-01-31 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_write.c: TIFFWriteCheck() now fails if the image is
+- a pre-existing compressed image. That is, image writing to
++ a pre-existing compressed image. That is, image writing to
+ pre-existing compressed images is not allowed.
+
+ * libtiff/tif_open.c: Removed error if opening a compressed file
+- in update mode.
++ in update mode.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=198
+
+@@ -3609,16 +3656,16 @@
+ * cut 3.6.0 Beta release.
+
+ 2002-12-20 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * tools/fax2ps.c, man/fax2ps.1: Page size was determined
+ in wrong way as per bug
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=239
+
+ 2002-12-17 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirread.c: Allow wrong sized arrays in
+- TIFFFetchStripThing().
++ * libtiff/tif_dirread.c: Allow wrong sized arrays in
++ TIFFFetchStripThing().
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=49
+
+@@ -3632,7 +3679,7 @@
+ * libtiff/tif_dir.c: fixed bug with resetting an existing custom
+ field value.
+
+- * libtiff/tif_dir.c: Fixed potential problem with ascii "custom"
++ * libtiff/tif_dir.c: Fixed potential problem with ascii "custom"
+ tags in TIFFVGetField() ... added missing break.
+
+ 2002-10-14 Frank Warmerdam <warmerdam@pobox.com>
+@@ -3644,11 +3691,11 @@
+ the eps by redefining the colorimage operator will get messed up.
+ Patch supplied by William Bader.
+
+- * Makefile.in: added tif_extension.c to file list as per
++ * Makefile.in: added tif_extension.c to file list as per
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=218.
+
+ 2002-10-11 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * configure, config.site, libtiff/{tif_unix.c, Makefile.in}: Fix for
+ large files (>2GiB) supporting. New option in the config.site:
+ LARGEFILE="yes". Should be enough for I/O of the large files.
+@@ -3680,13 +3727,13 @@
+ 2002-10-06 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_jpeg.c: fixed problem with boolean defined with wrong
+- size on windows. Use #define boolean hack.
++ size on windows. Use #define boolean hack.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=188
+
+ * libtiff/tiff.h: Don't do special type handling in tiff.h unless
+ USING_VISUALAGE is defined.
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=39
+
+ 2002-10-03 Frank Warmerdam <warmerdam@pobox.com>
+@@ -3697,30 +3744,30 @@
+
+ * libtiff/tif_dirread.c: Another fix for the fetching SBYTE arrays
+ by the TIFFFetchByteArray() function. Should finally resolve
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=52
+-
++
+ * configure: Set -DPIXARLOG_SUPPORT option along with -DZIP_SUPPORT
+
+ * html/Makefile.in: New targets added: html and groffhtml for
+ producing HTML representations of the manual pages automatically.
+ html target uses man2html tool, groffhtml uses groff tool.
+-
++
+ 2002-09-29 Frank Warmerdam <warmerdam@pobox.com>
+
+ * configure, libtiff/Makefile.in: Added SCO OpenServer 5.0.6 support
+- from John H. DuBois III.
++ from John H. DuBois III.
+
+ 2002-09-15 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * Makefile.in, /man/{raw2tiff.1, Makefile.in, libtiff.3}: Added
+ manual page for raw2tiff(1) tool.
+-
++
+ 2002-09-12 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * /libtiff/{tiffio.h, tif_dir.h}: TIFFDataWidth() declaration moved to
+ the tiffio.h header file.
+-
++
+ * Makefile.in, /man/{TIFFDataWidth.3t, Makefile.in, libtiff.3}: Added
+ manual page for TIFFDataWidth() function
+
+@@ -3730,8 +3777,8 @@
+ as per http://bugzilla.remotesensing.org/show_bug.cgi?id=196.
+
+ * tools/tiff2ps.c: Don't emit BeginData/EndData DSC comments
+- since we are unable to properly include the amount to skip.
+-
++ since we are unable to properly include the amount to skip.
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=80
+
+ 2002-09-02 Andrey Kiselev <dron@ak4719.spb.edu>
+@@ -3741,7 +3788,7 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=52
+
+ 2002-08-22 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * /libtiff/tif_dirinfo.c: Further additions to free custom fields
+ in _TIFFSetupFieldInfo() function.
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=169 for details.
+@@ -3750,14 +3797,14 @@
+ LZWDecode() and LZWDecodeCompat().
+ Fixes http://bugzilla.remotesensing.org/show_bug.cgi?id=190
+ and http://bugzilla.remotesensing.org/show_bug.cgi?id=100
+-
++
+ * /libtiff/tif_lzw.c:
+ Added check for valid code lengths in LZWDecode() and
+ LZWDecodeCompat(). Fixes
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=115
+
+ 2002-08-16 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * /libtiff/{Makefile.vc, libtiff.def}:
+ Missed declarations added.
+
+@@ -3768,7 +3815,7 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=177
+
+- * tif_dir.h: changed FIELD_CODEC to 66 from 64 to avoid overlap
++ * tif_dir.h: changed FIELD_CODEC to 66 from 64 to avoid overlap
+ with FIELD_CUSTOM as mentioned in bug 169.
+
+ * tif_close.c: added logic to free dynamically created anonymous
+@@ -3777,31 +3824,31 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=169
+
+ 2002-08-10 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * /tools/{raw2tiff.c, Makefile.in, Makefile.lcc, Makefile.vc}:
+ New tool: raw2tiff --- raw images to TIFF converter. No manual page yet.
+
+ 2002-07-31 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: Fixed problem with setting of nrows in
++ * libtiff/tif_jpeg.c: Fixed problem with setting of nrows in
+ JPEGDecode() as per bugzilla bug (issue 1):
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=129
+
+ * libtiff/{tif_jpeg.c,tif_strip.c,tif_print.c}: Hacked tif_jpeg.c to
+ fetch TIFFTAG_YCBCRSUBSAMPLING from the jpeg data stream if it isn't
+- present in the tiff tags.
++ present in the tiff tags.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=168
+
+ * libtiff/tif_read.c, libtiff/tif_write.c: TIFFReadScanline() and
+ TIFFWriteScanline() now set tif_row explicitly in case the codec has
+- fooled with the value.
++ fooled with the value.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=129
+
+ 2002-06-22 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * /tools/tiff2ps.c: Added workaround for some software that may crash
+ when last strip of image contains fewer number of scanlines than
+ specified by the `/Height' variable. See
+@@ -3817,8 +3864,8 @@
+
+ 2002-06-11 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/contrib/win95: renamed to contrib/win_dib. Added new
+- Tiffile.cpp example of converting TIFF files into a DIB on Win32.
++ * libtiff/contrib/win95: renamed to contrib/win_dib. Added new
++ Tiffile.cpp example of converting TIFF files into a DIB on Win32.
+ This one is described in:
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=143
+@@ -3834,21 +3881,21 @@
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=131
+
+ 2002-04-26 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/libtiff.def: Added missed declaration.
+-
++
+ 2002-04-22 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * tools/fax2tiff.c: Updated to reflect latest changes in libtiff.
+ Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=125
+
+ 2002-04-20 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/tif_open.c: Pointers to custom procedures
+ in TIFFClientOpen() are checked to be not NULL-pointers.
+-
++
+ 2002-04-18 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/libtiff.def: Added missed declarations.
+
+ * libtiff/tif_pixarlog.c: Updated for using tif_tagmethods structure.
+@@ -3858,14 +3905,14 @@
+ * libtiff/tif_lzw.c: Additional checks for data integrity introduced.
+ Should finally close
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=100
+-
++
+ 2002-04-10 Andrey Kiselev <dron@ak4719.spb.edu>
+
+ * tools/tiff2ps: Division by zero fixed.
+ Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=88
+
+ 2002-04-09 Andrey Kiselev <dron@ak4719.spb.edu>
+-
++
+ * libtiff/: tif_dirwrite.c, tif_write.c, tiffio.h:
+ TIFFCheckpointDirectory() routine added.
+ Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=124
+@@ -3897,7 +3944,7 @@
+ replaced by warnings. Now libtiff should read corrupted LZW-compressed
+ files by skipping bad strips.
+ Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=100
+-
++
+ 2002-04-03 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_dirwrite.c: Removed some dead code.
+@@ -3919,18 +3966,18 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=111
+
+- * tif_print.c: Fixed so that ASCII FIELD_CUSTOM values with
++ * tif_print.c: Fixed so that ASCII FIELD_CUSTOM values with
+ passcount set FALSE can be printed (such as TIFFTAG_SOFTWARE).
+
+- * libtiff/tif_dir.c,tif_dirinfo.c,tif_dir.h,tif_ojpeg.c: modified so
++ * libtiff/tif_dir.c,tif_dirinfo.c,tif_dir.h,tif_ojpeg.c: modified so
+ that TIFFTAG_SOFTWARE uses FIELD_CUSTOM as an example.
+
+ 2002-03-26 Dwight Kelly <dbmalloc@remotesensing.org>
+
+ * libtiff/: tiff.h, tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c,
+ tif_dirwrite.c: Added get/put code for new tag XMLPACKET as defined
+- in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 spec
+- INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes:
++ in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 spec
++ INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes:
+ CLIPPATH, XCLIPPATHUNITS, YCLIPPATHUNITS, OPIIMAGEID, OPIPROXY and
+ INDEXED. Added PHOTOMETRIC tag value from TIFF technote 4 ICCLAB (=9).
+
+@@ -3989,7 +4036,7 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=94
+
+- * man/Makefile.in: Patch DESTDIR handling
++ * man/Makefile.in: Patch DESTDIR handling
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=95
+
+@@ -4027,9 +4074,9 @@
+
+ 2002-01-04 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: fixed computation of segment_width for
+- tiles files to avoid error about it not matching the
+- cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile
++ * libtiff/tif_jpeg.c: fixed computation of segment_width for
++ tiles files to avoid error about it not matching the
++ cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile
+ size.") for ITIFF files. Apparently the problem was incorporated since
+ 3.5.5, presumably during the OJPEG/JPEG work recently.
+
+@@ -4039,7 +4086,7 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=94
+
+- * libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1
++ * libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1
+ (defined in tiffconf.h - 1 by default) then the RGBA interface
+ will assume that a fourth extra sample is ASSOCALPHA if the
+ EXTRASAMPLE value isn't set for it. This changes the behaviour of
+@@ -4051,9 +4098,9 @@
+
+ 2001-12-12 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: allow jpeg data stream sampling values to
+- override those from tiff directory. This makes this work with
+- ImageGear generated files.
++ * libtiff/tif_jpeg.c: allow jpeg data stream sampling values to
++ override those from tiff directory. This makes this work with
++ ImageGear generated files.
+
+ 2001-12-07 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4066,7 +4113,7 @@
+ * Reissue 3.5.7 release.
+
+ * libtiff/mkversion.c: Fix output of TIFF_VERSION to be
+- YYYYMMDD so that it is increasing over time.
++ YYYYMMDD so that it is increasing over time.
+
+ * Makefile.in: Ensure that tiffvers.h is regenerated in the
+ make release target.
+@@ -4091,8 +4138,8 @@
+
+ 2001-10-10 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tiff.h: I have created COMPRESSION_CCITT_T4,
+- COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases
++ * libtiff/tiff.h: I have created COMPRESSION_CCITT_T4,
++ COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases
+ in keeping with TIFF 6.0 standard in tiff.h
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=83
+@@ -4112,10 +4159,10 @@
+ error about LZW not being available.
+
+ * libtiff/tif_dir.c: propagate failure to initialize compression
+- back from TIFFSetField() as an error status, so applications can
++ back from TIFFSetField() as an error status, so applications can
+ detect failure.
+
+- * libtiff/tif_dir.c: removed the auto replacement of
++ * libtiff/tif_dir.c: removed the auto replacement of
+ COMPRESSION_LZW with COMPRESSION_NONE in _TIFFVSetField().
+
+ * Removed Makefile, tools/Makefile, port/install.sh, man/Makefile
+@@ -4123,7 +4170,7 @@
+
+ 2001-09-22 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_ojpeg.c: new update from Scott.
++ * libtiff/tif_ojpeg.c: new update from Scott.
+
+ 2001-09-09 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4142,7 +4189,7 @@
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=47
+
+- * tools/tiff2ps.c: added OJPEG YCbCr to RGB support.
++ * tools/tiff2ps.c: added OJPEG YCbCr to RGB support.
+
+ * libtiff/tif_ojpeg.c: Applied substantial patch from Scott.
+
+@@ -4151,14 +4198,14 @@
+ * libtiff/tif_packbits.c: fixed memory overrun error.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=77
+-
++
+ 2001-08-31 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_getimage.c: relax handling of contig case where
+ there are extra samples that are supposed to be ignored. This
+- should now work for 8bit greyscale or palletted images.
++ should now work for 8bit greyscale or palletted images.
+
+- http://bugzilla.remotesensing.org/show_bug.cgi?id=75
++ http://bugzilla.remotesensing.org/show_bug.cgi?id=75
+
+ 2001-08-28 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4171,15 +4218,15 @@
+
+ * libtiff/tif_getimage.c: Use memmove() instead of TIFFmemcpy()
+ in TIFFReadRGBATile() to avoid issues in cases of overlapping
+- buffers. See Bug 69 in Bugzilla.
++ buffers. See Bug 69 in Bugzilla.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=69
+-
++
+ * tools/tiff2rgba.c: fixed getopt() call so that -b works again.
+
+ 2001-08-09 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__
++ * libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__
+ when checking for 64 bit architectures as per bugzilla bug 67.
+
+ 2001-07-27 Frank Warmerdam <warmerdam@pobox.com>
+@@ -4189,7 +4236,7 @@
+
+ 2001-07-20 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H
++ * libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H
+ has been included.
+
+ 2001-07-19 Frank Warmerdam <warmerdam@pobox.com>
+@@ -4201,11 +4248,11 @@
+
+ * libtiff/tif_ojpeg.c: updates from Scott. Handles colors
+ much better. Now depends on having patched libjpeg as per
+- patch in contrib/ojpeg/*.
++ patch in contrib/ojpeg/*.
+
+ 2001-07-17 Frank Warmerdam <warmerdam@pobox.com>
+
+- * */Makefile.in: added DESTDIR support.
++ * */Makefile.in: added DESTDIR support.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=60
+
+@@ -4213,20 +4260,20 @@
+
+ * configure, libtiff/Makefile.in: applied OpenBSD patches
+ as per:
+-
++
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=61
+
+ 2001-06-28 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/tif_getimage.c: Fixed so that failure is properly
+- reported by gtTileContig, gtStripContig, gtTileSeparate and
++ reported by gtTileContig, gtStripContig, gtTileSeparate and
+ gtStripSeparate.
+
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=51
+
+- * tiffcmp.c: Fixed multi samples per pixel support for ContigCompare.
++ * tiffcmp.c: Fixed multi samples per pixel support for ContigCompare.
+ Updated bug section of tiffcmp.1 to note tiled file issues.
+-
++
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=53
+
+ 2001-06-22 Frank Warmerdam <warmerdam@pobox.com>
+@@ -4267,10 +4314,10 @@
+
+ 2001-05-08 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tif_dirinfo.c: moved pixar and copyright flags to
++ * libtiff/tif_dirinfo.c: moved pixar and copyright flags to
+ ensure everything is in order.
+
+- * libtiff/libtiff.def: added TIFFCreateDirectory and
++ * libtiff/libtiff.def: added TIFFCreateDirectory and
+ TIFFDefaultStripSize as per:
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=46
+@@ -4279,10 +4326,10 @@
+
+ * libtiff/tif_dirinfo.c: Modified the TIFF_BYTE definition for
+ TIFFTAG_PHOTOSHOP to use a writecount of TIFF_VARIABLE2 (-3) to
+- force use of uint32 counts instead of short counts.
++ force use of uint32 counts instead of short counts.
+
+ * libtiff/tif_dirwrite.c: Added support for TIFF_VARIABLE2 in the
+- case of writing TIFF_BYTE/TIFF_SBYTE fields.
++ case of writing TIFF_BYTE/TIFF_SBYTE fields.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=43
+
+@@ -4318,20 +4365,20 @@
+ with the inttypes.h include file on AIX.
+
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=39
+-
++
+ * VERSION: update to 3.5.7 beta in preparation for release.
+
+ * configure/config.site: modified to check if -lm is needed for
+ MACHDEPLIBS if not supplied by config.site. Needed for Darwin.
+
+- * config.guess: updated wholesale to an FSF version apparently
+- from 1998 (as opposed to 1994). This is mainly inspired by
++ * config.guess: updated wholesale to an FSF version apparently
++ from 1998 (as opposed to 1994). This is mainly inspired by
+ providing for MacOS X support.
+
+ 2001-03-29 Frank Warmerdam <warmerdam@pobox.com>
+
+ * configure, Makefile.in, etc: added support for OPTIMIZER being
+- set from config.site.
++ set from config.site.
+
+ 2001-03-28 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4350,7 +4397,7 @@
+ (in particular short ones) print properly.
+
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=35
+-
++
+ * tiff2ps.c/tiff2ps.1: Substantial changes to tiff2ps by
+ Bruce A. Mallett. See check message for detailed information
+ on all the changes, including a faster encoder, fixes for level
+@@ -4358,7 +4405,7 @@
+
+ 2001-03-27 Frank Warmerdam <warmerdam@pobox.com>
+
+- * libtiff/tiffio.h: Changed "#if LOGLUV_PUBLIC" to
++ * libtiff/tiffio.h: Changed "#if LOGLUV_PUBLIC" to
+ "#ifdef LOGLUV_PUBLIC" so it will work with VisualAge on AIX.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=39
+@@ -4370,7 +4417,7 @@
+
+ 2001-03-13 Frank Warmerdam <warmerdam@pobox.com>
+
+- * tif_getimage.c: Added support for 16bit minisblack/miniswhite
++ * tif_getimage.c: Added support for 16bit minisblack/miniswhite
+ images in RGBA interface.
+
+ 2001-03-02 Frank Warmerdam <warmerdam@pobox.com>
+@@ -4381,29 +4428,29 @@
+
+ * Brent Roman contributed updated tiffcp utility (and tiffcp.1)
+ with support for extracting subimages with the ,n syntax, and also
+- adding the -b bias removal flag.
++ adding the -b bias removal flag.
+
+ 2001-02-16 Frank Warmerdam <warmerdam@pobox.com>
+
+ * libtiff/libtiff.def: Brent Roman submitted new version adding
+- serveral missing entry points.
++ serveral missing entry points.
+
+ * libtiff/tif_dirinfo.c: don't declare tiffFieldInfo static on VMS.
+- Some sort of weird VMS thing.
++ Some sort of weird VMS thing.
+
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=31
+
+- * tif_luv.c/tiff.h/tiffio.h:
+- New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward
++ * tif_luv.c/tiff.h/tiffio.h:
++ New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward
+ (greg@shutterfly.com). He writes:
+
+ 1) I improved the gamut-mapping function in tif_luv.c for imaginary
+- colors, because some images were being super-saturated on the input
++ colors, because some images were being super-saturated on the input
+ side and this resulted in some strange color shifts in the output.
+
+ 2) I added a psuedotag in tiff.h to control random dithering during
+- LogLuv encoding. This is turned off by default for 32-bit LogLuv and
+- on for 24-bit LogLuv output. Dithering improves the average color
++ LogLuv encoding. This is turned off by default for 32-bit LogLuv and
++ on for 24-bit LogLuv output. Dithering improves the average color
+ accuracy over the image.
+
+ 3) I added a #define for LOG_LUV_PUBLIC, which is enabled by default in
+@@ -4416,20 +4463,20 @@
+ 2001-01-23 Frank Warmerdam <warmerdam@pobox.com>
+
+ * tif_fax3.c: keep rw_mode flag internal to fax3 state to remember
+- whether we are encoding or decoding. This is to ensure graceful
++ whether we are encoding or decoding. This is to ensure graceful
+ recovery if TIFFClientOpen() discovers an attempt to open a compressed
+- file for "r+" access, and subsequently close it, as it resets the
++ file for "r+" access, and subsequently close it, as it resets the
+ tif_mode flag to O_RDONLY in this case to avoid writes, confusing the
+ compressor's concept of whether it is in encode or decode mode.
+
+-2001-01-08 Mike Welles <mike@bangstate.com>
++2001-01-08 Mike Welles <mike@bangstate.com>
+
+ * Makefile.in: Now cleaning up after itself after creating the .tar.gz and .zip
+-
++
+ 2001-01-07 Frank Warmerdam <warmerdam@pobox.com>
+
+ * html/libtiff.html: Fixed arguments in example for TIFFRGBAImageGet()
+- as per bug report by Patrick Connor.
++ as per bug report by Patrick Connor.
+
+ 2000-12-28 Frank Warmerdam <warmerdam@pobox.com>
+
+@@ -4437,12 +4484,12 @@
+
+ * Fixed libtiff/makefile.vc to make tiffvers.h not version.h.
+
+-2000-12-22 Mike Welles <mike@bangstate.com>
++2000-12-22 Mike Welles <mike@bangstate.com>
+ * added link to CVS mirror from index.html
+-
+- * updated html/internals.html to note that LZW compression is
+- not supported by default.
+-
++
++ * updated html/internals.html to note that LZW compression is
++ not supported by default.
++
+ 2000-12-22 Frank Warmerdam <warmerdam@pobox.com>
+
+ * updated html/libtiff.html to not point at Niles' old JPL web site
+@@ -4454,19 +4501,19 @@
+ Leonard Rosenthol <leonardr@lazerware.com>. May interfere
+ with correct building on older systems. If so, please let me know.
+
+-2000-12-19 Mike Welles <mike@bangsate.com>
++2000-12-19 Mike Welles <mike@bangsate.com>
+
+- * Took out LZW Encoding from tif_lzw.c
++ * Took out LZW Encoding from tif_lzw.c
+
+ * Created HOWTO-RELEASE
+
+ * Created html/v3.5.6.html
+
+ * updated index.html
+-
++
+ 2000-12-01 Frank Warmerdam <warmerdam@pobox.com>
+
+- * Added patches for EOFB support in tif_fax3.c and tif_fax3.h.
++ * Added patches for EOFB support in tif_fax3.c and tif_fax3.h.
+ Patches supplied by Frank Cringle <fdc@cliwe.ping.de>
+ Example file at: ftp://ftp.remotesensing.org/pub/libtiff/eofb_396.tif
+
+@@ -4480,30 +4527,30 @@
+ targets so libtiff.so will be built with an explicit dependency
+ on libm.so.
+
+- * libtiff/Makefile.in: Use softlinks to link libtiff.so.3 to
+- libtiff.so.3.5.5.
++ * libtiff/Makefile.in: Use softlinks to link libtiff.so.3 to
++ libtiff.so.3.5.5.
+
+- * libtiff/Makefile.in & configure: Remove all references to the ALPHA
+- file, or ALPHA version logic. Added stuff about DIST_POINT in
++ * libtiff/Makefile.in & configure: Remove all references to the ALPHA
++ file, or ALPHA version logic. Added stuff about DIST_POINT in
+ place of DIST_TYPE and the alpha release number stuff.
+
+ 2000-11-22 Frank Warmerdam <warmerdam@pobox.com>
+
+ * I have applied a patch from Steffen Moeller <moeller@ebi.ac.uk> to
+- the configure script so that it now accepts the --prefix, and
+- --exec-prefix directives.
++ the configure script so that it now accepts the --prefix, and
++ --exec-prefix directives.
+
+ 2000-11-13 Frank Warmerdam <warmerda@cs46980-c>
+
+- * I have made a variety of modifications in an effort to ensure the
++ * I have made a variety of modifications in an effort to ensure the
+ TIFFLIB_VERSION macro is automatically generated from the RELEASE-DATE
+- file which seems to be updated regularly.
++ file which seems to be updated regularly.
+
+- o mkversion.c now reads RELEASE-DATE and emits TIFFLIB_VERSION in
+- version include file.
+- o renamed version.h to tiffvers.h because we now have to install it
+- with the public libtiff include files.
+- o include tiffvers.h in tiffio.h.
++ o mkversion.c now reads RELEASE-DATE and emits TIFFLIB_VERSION in
++ version include file.
++ o renamed version.h to tiffvers.h because we now have to install it
++ with the public libtiff include files.
++ o include tiffvers.h in tiffio.h.
+ o updated tif_version.c to use tiffvers.h.
+ o Updated Makefile.in accordingly.
+
+@@ -4517,13 +4564,13 @@
+ See http://bugzilla.remotesensing.org/show_bug.cgi?id=20
+ Some patches from Rick LaMont of Dot C Software.
+
+- * Modified tif_packbits.c encoder to avoid compressing more
++ * Modified tif_packbits.c encoder to avoid compressing more
+ data than provided if rowsize doesn't factor into provided data
+ (such as occurs for YCbCr).
+
+ 2000-10-19 Frank Warmerdam <warmerda@cs46980-c>
+
+- * tools/rgb2ycbcr.c: fixed output strip size to account for vertical
++ * tools/rgb2ycbcr.c: fixed output strip size to account for vertical
+ roundup if rows_per_strip not a multiple of vertical sample size.
+
+ 2000-10-16 Frank Warmerdam <warmerda@cs46980-c>
+@@ -4539,8 +4586,8 @@
+ 2000-10-12 Frank Warmerdam <warmerda@cs46980-c>
+
+ * Modified tiff2bw to ensure portions add to 100%, and that
+- white is properly recovered.
+-
++ white is properly recovered.
++
+ See bug http://bugzilla.remotesensing.org/show_bug.cgi?id=15
+ Patch c/o Stanislav Brabec <utx@penguin.cz>
+
+@@ -4554,26 +4601,26 @@
+
+ 2000-09-27 Frank Warmerdam <warmerda@cs46980-c>
+
+- * Added GNULDdso target an`d switched linux and freebsd to use it.
++ * Added GNULDdso target an`d switched linux and freebsd to use it.
+
+ 2000-09-26 Frank Warmerdam <warmerda@cs46980-c>
+
+ * Applied patch for 0x0000 sequences in tif_fax3.h's definition
+- of EXPAND1D() as per bug 11 (from Roman).
++ of EXPAND1D() as per bug 11 (from Roman).
+
+ 2000-09-25 Frank Warmerdam <warmerda@cs46980-c>
+ * Fixed tiffcomp.h to avoid win32 stuff if unix #defined, to improve
+ cygwin compatibility.
+
+ * Applied patch from Roman Shpount to tif_fax3.c. This seems to
+- be a proper fix to the buffer sizing problem. See
++ be a proper fix to the buffer sizing problem. See
+ http://bugzilla.remotesensing.org/show_bug.cgi?id=11
+
+ * Fixed tif_getimage.c to fix overrun bug with YCbCr images without
+ downsampling. http://bugzilla.remotesensing.org/show_bug.cgi?id=10
+ Thanks to Nick Lamb <njl98r@ecs.soton.ac.uk> for reporting the
+ bug and proving the patch.
+-
++
+ 2000-09-18 Frank Warmerdam <warmerda@cs46980-c>
+
+ * Fixed tif_jpeg.c so avoid destroying the decompressor before
+@@ -4603,15 +4650,15 @@
+ * Tentatively added support for SAMPLEFORMAT_COMPLEXIEEEFP, and
+ SAMPLEFORMAT_COMPLEXINT.
+
+-2000-07-13 Mike Welles <mike@onshore.com>
++2000-07-13 Mike Welles <mike@onshore.com>
++
++ * index.html, bugs.html: added bugzilla info.
+
+- * index.html, bugs.html: added bugzilla info.
+-
+ 2000-07-12 Frank Warmerdam <warmerda@rommel.atlsci.com>
+
+ * tif_read.c: fix subtle bug with determining the number of
+ rows for strips that are the last strip in a separation but
+- not the last strip of all in TIFFReadEncodedStrip().
++ not the last strip of all in TIFFReadEncodedStrip().
+
+ * Applied 16/32 bit fix to tif_fax3.c. Fix supplied by
+ Peter Skarpetis <peters@serendipity-software.com.au>
+@@ -4633,7 +4680,7 @@
+
+ * libtiff/tif_dirread.c: Don't use estimate strip byte count for
+ one tile/strip images with an offset, and byte count of zero. These
+- could be "unpopulated" images.
++ could be "unpopulated" images.
+
+ 2000-04-18 Frank Warmerdam <warmerda@rommel.atlsci.com>
+
+@@ -4648,17 +4695,17 @@ Tue Apr 18 16:18:08 2000 Frank Warmerdam <warmerda@esabot.atlsci.com>
+ 2000-04-12 Mike Welles <mike@onshore.com>
+ * configure: Fixed stupid mistake in libc6 test on Linux
+
+-2000-04-04 Mike Welles <mike@onshore.com>
++2000-04-04 Mike Welles <mike@onshore.com>
+ * tif_win32.c: Applied patch to fix overreads and ovverwrites
+- caught by BoundsChecker. From Arvan Pritchard
+- <arvan.pritchard@infomatix.co.uk> (untested).
+-
+- * tif_getimage.c: Applied patch to silence VC6 warnings. From
++ caught by BoundsChecker. From Arvan Pritchard
++ <arvan.pritchard@infomatix.co.uk> (untested).
++
++ * tif_getimage.c: Applied patch to silence VC6 warnings. From
+ Arvan Pritchard <arvan.pritchard@informatix.co.uk>
+-
+- * tif_lzw.c: Applied patch to silence VC6 warnings. From
++
++ * tif_lzw.c: Applied patch to silence VC6 warnings. From
+ Arvan Pritchard <arvan.pritchard@informatix.co.uk>
+-
++
+ 2000-03-28 Frank Warmerdam <warmerda@cs46980-c>
+
+ * Added contrib/stream (stream io) code submitted by Avi Bleiweiss.
+@@ -4668,34 +4715,34 @@ Tue Apr 18 16:18:08 2000 Frank Warmerdam <warmerda@esabot.atlsci.com>
+ * fax2ps: Fixed mixup of width and height in bounding box statement
+ as per submission by Nalin Dahyabhai <nalin@redhat.com>.
+
+-2000-03-27 Mike Welles <mike@onshore.com>
++2000-03-27 Mike Welles <mike@onshore.com>
+
+- * fax2ps: Modified printruns to take uint32 instead of uint16.
+- Patch courtesy of Bernt Herd <herd@herdsoft.com>
+-
+-2000-03-20 Mike Welles <mike@onshore.com>
++ * fax2ps: Modified printruns to take uint32 instead of uint16.
++ Patch courtesy of Bernt Herd <herd@herdsoft.com>
+
+- * configure: added test for libc6 for linux targets. Bug reported by
++2000-03-20 Mike Welles <mike@onshore.com>
++
++ * configure: added test for libc6 for linux targets. Bug reported by
+ Stanislav Brabec <utx@k332.feld.cvut.cz>
+
+- * Added 3.5 docs to html/Makefile.in.
++ * Added 3.5 docs to html/Makefile.in.
+ Thanks to Stanislav Brabec <utx@k332.feld.cvut.cz>
+
+- * configure: fixed bugs in sed scripts
+- (applied sed script s:/@:s;@:;s:/s;;:;: to configure).
++ * configure: fixed bugs in sed scripts
++ (applied sed script s:/@:s;@:;s:/s;;:;: to configure).
+ fix submitted to Stanislav Brabec <utx@k332.feld.cvut.cz>
+
+- * tools/iptcutil was not in files list, and wasn't being
++ * tools/iptcutil was not in files list, and wasn't being
+ added to tar archive. Updated Makefile.in.
+
+ 2000-03-17 Frank Warmerdam <warmerda@cs46980-c>
+
+ * tif_fax3.c: Fixed serious bug introduced during the uint16->uint32
+- conversion for the run arrays.
++ conversion for the run arrays.
+
+ 2000-03-03 Frank Warmerdam <warmerda@cs46980-c.mtnk1.on.wave.home.com>
+
+- * Set td_sampleformat default to SAMPLEFORMAT_UINT instead of
++ * Set td_sampleformat default to SAMPLEFORMAT_UINT instead of
+ SAMPLEFORMAT_VOID in TIFFDefaultDirectory() in tif_dir.c.
+
+ 2000-03-02 Frank Warmerdam <warmerda@cs46980-c.mtnk1.on.wave.home.com>
+@@ -4716,20 +4763,20 @@ Tue Feb 15 22:01:05 2000 Frank Warmerdam <warmerda@gdal.velocet.ca>
+ set to 1, and added default (off) setting in tiffconf.h. This
+ should eventually be set by the configure script somehow.
+
+- The original work on all these 2-4GB changes was done by
++ The original work on all these 2-4GB changes was done by
+ Peter Smith (psmith@creo.com).
+
+ * Modified tif_win32.c to support 2-4GB seeks.
+
+ * tentatively changed toff_t to be unsigned instead of signed to
+- facilitate support for 2-4GB files.
++ facilitate support for 2-4GB files.
+
+ * Updated a variety of files to use toff_t. Fixed some mixups
+ between toff_t and tsize_t.
+
+ Fri Jan 28 10:13:49 2000 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Largely reimplemented contrib/addtiffo to avoid temp files,
++ * Largely reimplemented contrib/addtiffo to avoid temp files,
+ updating the TIFF file in place. Fixed a few other bugs to.
+
+ * Set tif_rawdatasize to zero when freeing raw data buffer in
+@@ -4738,7 +4785,7 @@ Fri Jan 28 10:13:49 2000 Frank Warmerdam <warmerda@gdal.velocet.ca>
+ * Enabled "REWRITE_HACK" in tif_write.c by default.
+
+ * Fix bug in tif_write.c when switching between reading one directory
+- and writing to another.
++ and writing to another.
+
+ * Made TIFFWriteCheck() public, and added TIFFCreateDirectory()
+
+@@ -4750,41 +4797,41 @@ Tue Jan 4 13:39:00 2000 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ * Added libtiff/libtiff.def to TIFFILES distribution list.
+
+-Mon Dec 27 12:13:39 EST 1999 Mike Welles <mike@onshore.com>
++Mon Dec 27 12:13:39 EST 1999 Mike Welles <mike@onshore.com>
+
+- * Created lzw compression kit, as a new module (libtiff-lzw-compression-kit).
++ * Created lzw compression kit, as a new module (libtiff-lzw-compression-kit).
+
+ * Altered descriptions in tools to reflect "by default" lzw not supported
+
+- * Updated index.html to note lzw compression kit.
+-
++ * Updated index.html to note lzw compression kit.
++
+ Tue Dec 21 14:01:51 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Added fax3sm_winnt.c to distribution list in Makefile.in.
++ * Added fax3sm_winnt.c to distribution list in Makefile.in.
+
+ Tue Dec 21 11:04:45 EST 1999 Mike Welles <mike@onshore.com> *** 3.5.4 release ***
+-
+- * Aadded Pixar tag support. Contributed by Phil Beffery <phil@pixar.com>
+
+- * Made one more change to tif_dir.c for removal of LZW compression. Also added notice
+- when LZW compression invoked.
++ * Aadded Pixar tag support. Contributed by Phil Beffery <phil@pixar.com>
++
++ * Made one more change to tif_dir.c for removal of LZW compression. Also added notice
++ when LZW compression invoked.
+
+ * Changed default compression in tools to TIFF_PACKBITS, and changed usage descriptions
+ in tools to reflect removal of LZW compression
+-
++
+ Mon Dec 20 18:39:02 EST 1999 Mike Welles <mike@onshore.com>
+
+- * Fixed bug that caused LZW (non) compression to segfault. Added
+- warning about LZW compression removed being removed, and why.
++ * Fixed bug that caused LZW (non) compression to segfault. Added
++ warning about LZW compression removed being removed, and why.
++
++ * Added nostrip to install in tools/Makefile.in so that debugging
++ symbols are kept.
+
+- * Added nostrip to install in tools/Makefile.in so that debugging
+- symbols are kept.
+-
+ Tue Dec 7 12:04:47 EST 1999 Mike Welles <mike@onshore.com>
+
+- * Added patch from Ivo Penzar <ivo.penzar@infolink-software.com>,
+- supporting Adobe ZIP deflate. Untested.
+-
++ * Added patch from Ivo Penzar <ivo.penzar@infolink-software.com>,
++ supporting Adobe ZIP deflate. Untested.
++
+ Sat Dec 4 15:47:11 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ * Made Packbits the default compression in tools/tiff2rgba.c instead
+@@ -4794,12 +4841,12 @@ Tue Nov 30 14:41:43 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> *** 3.5
+
+ * Added tif_luv to contrib/djgpp/Makefile.lib.
+
+-Tue Nov 30 14:15:32 EST 1999 Mike Welles <mike@onshore.com>
++Tue Nov 30 14:15:32 EST 1999 Mike Welles <mike@onshore.com>
++
++ * Added zip creation to relase makefile target
+
+- * Added zip creation to relase makefile target
++ * Added html for TIFFWriteTile.3t man page.
+
+- * Added html for TIFFWriteTile.3t man page.
+-
+ Tue Nov 30 09:20:16 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ * Added some changes to tif_write.c to support rewriting existing
+@@ -4812,26 +4859,26 @@ Mon Nov 29 11:43:42 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ Sun Nov 28 20:36:18 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Added notes on use of makefile.vc in build.html, and fixed
++ * Added notes on use of makefile.vc in build.html, and fixed
+ email subscription address.
+
+-199-11-28 Mike Welles <mike@onshore.com>
++1999-11-28 Mike Welles <mike@onshore.com>
+
+- * Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c
++ * Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c
+
+ * Did some casts cleaning up to reduce compiler warnings in tif_fax3.c,
+- from Bruce Carmeron <cameron@petris.com> -- modifications of
+- changes made by Frank (sun cc still complained on cast).
++ from Bruce Carmeron <cameron@petris.com> -- modifications of
++ changes made by Frank (sun cc still complained on cast).
+
+ * Added tiffconf.h to install target per request from Bill
+ Radcliffe <billr@corbis.com>: "We need a way for ImageMagick to
+ know features have been compiled into the TIFF library in order to
+- handle things properly".
+-
++ handle things properly".
++
+ Sat Nov 27 16:49:21 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ * fixed various VC++ warnings as suggested by Gilles Vollant
+- <info@winimage.com>.
++ <info@winimage.com>.
+
+ Wed Nov 24 12:08:16 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+@@ -4840,59 +4887,59 @@ Wed Nov 24 12:08:16 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ 1999-11-22 Mike Welles <mike@onshore.com>
+ * HTML-ized the man pages, added to html/man
+-
+- * Removed LZW Compression to comply with Unisys patent extortion.
+-
+-1999-09-29 Mike Welles <mike@onshore.com>
+- * Corrected one remaining 16 -> 32 bit value in tif_fax3.c,
+- From Ivo Penzar <ivo.penzar@infolink-software.com.
++
++ * Removed LZW Compression to comply with Unisys patent extortion.
++
++1999-09-29 Mike Welles <mike@onshore.com>
++ * Corrected one remaining 16 -> 32 bit value in tif_fax3.c,
++ From Ivo Penzar <ivo.penzar@infolink-software.com.
+
+ * Added patch from Ivo Penzar to have TiffAdvanceDirectory handle
+ memory mapped files. <ivo.penzar@infolink-software.com>
+-
++
+ 1999-09-26 Mike Welles <mike@onshore.com> *** 3.5.2 release ***
+- * Corrected alpha versioning.
++ * Corrected alpha versioning.
+
+- * Removed distinction between alpha and release targets in Makefile.in.
++ * Removed distinction between alpha and release targets in Makefile.in.
+
+- * added release.stamp target, which tags cvs tree, and updates
++ * added release.stamp target, which tags cvs tree, and updates
+ "RELEASE-DATE"
+
+- * added releasediff target, which diffs tree with source as of
++ * added releasediff target, which diffs tree with source as of
+ date in "RELEASE-DATE"
+-
+- * Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving
+- away from alpha/non-alpha distinctions).
+
+- * updated html to reflect release
+-
++ * Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving
++ away from alpha/non-alpha distinctions).
++
++ * updated html to reflect release
++
+ 1999-09-23 <warmerda@CS46980-B>
+
+ * Set O_BINARY for tif_unix.c open() ... used on cygwin for instance.
+
+ * Added CYGWIN case in configure.
+
+-Fri Sep 17 00:13:51 CEST 1999 Mike Welles <mike@onshore.com>
++Fri Sep 17 00:13:51 CEST 1999 Mike Welles <mike@onshore.com>
++
++ * Applied Francois Dagand's patch to handle fax decompression bug.
++ (sizes >= 65536 were failing)
+
+- * Applied Francois Dagand's patch to handle fax decompression bug.
+- (sizes >= 65536 were failing)
+-
+ Tue Sep 14 21:31:43 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested
++ * Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested
+ by Christopher Lawton <clawton@mathworks.com>
+
+ Wed Sep 8 08:19:18 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Added IRIX/gcc, and OSF/1 4.x support on behalf of
++ * Added IRIX/gcc, and OSF/1 4.x support on behalf of
+ Albert Chin-A-Young <china@thewrittenword.com>
+
+- * Added TIFFReassignTagToIgnore() API on behalf of
++ * Added TIFFReassignTagToIgnore() API on behalf of
+ Bruce Cameron <cameron@petris.com>. Man page still pending.
+
+ Wed Aug 25 11:39:07 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * Added test target in Makefile, test_pics.sh script and pics/*.rpt
++ * Added test target in Makefile, test_pics.sh script and pics/*.rpt
+ files to provide for a rudimentary testsuite.
+
+ * Added contrib/tags back from old distribution ... fixed up a bit.
+@@ -4900,7 +4947,7 @@ Wed Aug 25 11:39:07 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+ 1999-08-16 <warmerda@CS46980-B>
+
+ * Added simple makefile.vc makefiles for building with MS VC++
+- on Windows NT/98/95 in console mode. Stuff in contrib/win* make give
++ on Windows NT/98/95 in console mode. Stuff in contrib/win* make give
+ better solutions for some users.
+
+ Mon Aug 16 21:52:11 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+@@ -4910,20 +4957,20 @@ Mon Aug 16 21:52:11 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+ 1999-08-16 Michael L. Welles <mike@kurtz.fake>
+
+- * Updated html/index.html with anon CVS instructions.
++ * Updated html/index.html with anon CVS instructions.
+
+ Mon Aug 16 13:18:41 1999 Frank Warmerdam <warmerda@gdal.velocet.ca>
+
+- * pre-remove so link before softlink in LINUXdso action in
++ * pre-remove so link before softlink in LINUXdso action in
+ libtiff/Makefile.in to avoid failure on LINUXdso builds other than
+ the first.
+
+ * Fixed problem with cvtcmap() in tif_getimage.c modifying the
+ colormaps owned by the TIFF handle itself when trying to fixup wrong
+ (eight bit) colormaps. Corrected by maintaining a private copy of
+- the colormap.
++ the colormap.
+
+- * Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in
++ * Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in
+ tif_getimage.c.
+
+ * CVS Repository placed at remotesensing.org. ChangeLog added.
+diff --git a/Makefile.in b/Makefile.in
+index 72fbbf3..2ed5682 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/aclocal.m4 b/aclocal.m4
+index d7d14c8..9293eda 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -1,4 +1,4 @@
+-# generated automatically by aclocal 1.12.4 -*- Autoconf -*-
++# generated automatically by aclocal 1.12.5 -*- Autoconf -*-
+
+ # Copyright (C) 1996-2012 Free Software Foundation, Inc.
+
+@@ -34,7 +34,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
+ [am__api_version='1.12'
+ 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.12.4], [],
++m4_if([$1], [1.12.5], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+ ])
+
+@@ -50,7 +50,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
+ # 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.12.4])dnl
++[AM_AUTOMAKE_VERSION([1.12.5])dnl
+ m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+diff --git a/build/Makefile.in b/build/Makefile.in
+index 1a316b1..cea7a08 100644
+--- a/build/Makefile.in
++++ b/build/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/Makefile.in b/contrib/Makefile.in
+index ae67554..72be7a3 100644
+--- a/contrib/Makefile.in
++++ b/contrib/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/acorn/Makefile.in b/contrib/acorn/Makefile.in
+index 1e966b4..5a73941 100644
+--- a/contrib/acorn/Makefile.in
++++ b/contrib/acorn/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/addtiffo/Makefile.in b/contrib/addtiffo/Makefile.in
+index 25a6e8b..e07640c 100644
+--- a/contrib/addtiffo/Makefile.in
++++ b/contrib/addtiffo/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/dbs/Makefile.in b/contrib/dbs/Makefile.in
+index f5b3ee5..d5e7b40 100644
+--- a/contrib/dbs/Makefile.in
++++ b/contrib/dbs/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/dbs/xtiff/Makefile.in b/contrib/dbs/xtiff/Makefile.in
+index 2d1ce94..c655c54 100644
+--- a/contrib/dbs/xtiff/Makefile.in
++++ b/contrib/dbs/xtiff/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/dbs/xtiff/xtiff.c b/contrib/dbs/xtiff/xtiff.c
+index 7fe3977..de0b2a7 100644
+--- a/contrib/dbs/xtiff/xtiff.c
++++ b/contrib/dbs/xtiff/xtiff.c
+@@ -1,5 +1,5 @@
+ /*
+- * $Id: xtiff.c,v 1.2.2.1 2010-06-08 18:50:40 bfriesen Exp $
++ * $Id: xtiff.c,v 1.2.2.2 2013-05-02 14:44:43 tgl Exp $
+ *
+ * xtiff - view a TIFF file in an X window
+ *
+@@ -512,9 +512,9 @@ SetNameLabel()
+ Arg args[1];
+
+ if (tfMultiPage)
+- sprintf(buffer, "%s - page %d", fileName, tfDirectory);
++ snprintf(buffer, sizeof(buffer), "%s - page %d", fileName, tfDirectory);
+ else
+- strcpy(buffer, fileName);
++ snprintf(buffer, sizeof(buffer), "%s", fileName);
+ XtSetArg(args[0], XtNlabel, buffer);
+ XtSetValues(labelWidget, args, 1);
+ }
+diff --git a/contrib/iptcutil/Makefile.in b/contrib/iptcutil/Makefile.in
+index 75b1ca3..5858c03 100644
+--- a/contrib/iptcutil/Makefile.in
++++ b/contrib/iptcutil/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/mac-cw/Makefile.in b/contrib/mac-cw/Makefile.in
+index a94a33a..054d44e 100644
+--- a/contrib/mac-cw/Makefile.in
++++ b/contrib/mac-cw/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/mac-mpw/Makefile.in b/contrib/mac-mpw/Makefile.in
+index 8fdaae1..7dd27d7 100644
+--- a/contrib/mac-mpw/Makefile.in
++++ b/contrib/mac-mpw/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/mfs/Makefile.in b/contrib/mfs/Makefile.in
+index 230c925..4ee41af 100644
+--- a/contrib/mfs/Makefile.in
++++ b/contrib/mfs/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/pds/Makefile.in b/contrib/pds/Makefile.in
+index 3511f62..fa0bcf7 100644
+--- a/contrib/pds/Makefile.in
++++ b/contrib/pds/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/ras/Makefile.in b/contrib/ras/Makefile.in
+index 88907bf..e33a00f 100644
+--- a/contrib/ras/Makefile.in
++++ b/contrib/ras/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/stream/Makefile.in b/contrib/stream/Makefile.in
+index 9c9dffb..1c36a7f 100644
+--- a/contrib/stream/Makefile.in
++++ b/contrib/stream/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/tags/Makefile.in b/contrib/tags/Makefile.in
+index e378f32..891d565 100644
+--- a/contrib/tags/Makefile.in
++++ b/contrib/tags/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/contrib/win_dib/Makefile.in b/contrib/win_dib/Makefile.in
+index 0f68e76..45bf928 100644
+--- a/contrib/win_dib/Makefile.in
++++ b/contrib/win_dib/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/html/Makefile.in b/html/Makefile.in
+index b9f86c8..a85ebd6 100644
+--- a/html/Makefile.in
++++ b/html/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/html/images/Makefile.in b/html/images/Makefile.in
+index 1b96240..eaf50a3 100644
+--- a/html/images/Makefile.in
++++ b/html/images/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/html/man/Makefile.in b/html/man/Makefile.in
+index 3a5278e..98226c3 100644
+--- a/html/man/Makefile.in
++++ b/html/man/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/libtiff/Makefile.in b/libtiff/Makefile.in
+index 6a7c415..69e59c7 100644
+--- a/libtiff/Makefile.in
++++ b/libtiff/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/libtiff/tif_codec.c b/libtiff/tif_codec.c
+index d5c6fd1..5a38184 100644
+--- a/libtiff/tif_codec.c
++++ b/libtiff/tif_codec.c
+@@ -1,4 +1,4 @@
+-/* $Id: tif_codec.c,v 1.10.2.2 2010-06-08 18:50:41 bfriesen Exp $ */
++/* $Id: tif_codec.c,v 1.10.2.3 2013-05-02 14:44:43 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -104,7 +104,8 @@ _notConfigured(TIFF* tif)
+ const TIFFCodec* c = TIFFFindCODEC(tif->tif_dir.td_compression);
+ char compression_code[20];
+
+- sprintf( compression_code, "%d", tif->tif_dir.td_compression );
++ snprintf(compression_code, sizeof(compression_code), "%d",
++ tif->tif_dir.td_compression );
+ TIFFErrorExt(tif->tif_clientdata, tif->tif_name,
+ "%s compression support is not configured",
+ c ? c->name : compression_code );
+diff --git a/libtiff/tif_dirinfo.c b/libtiff/tif_dirinfo.c
+index 76ef572..417a2e3 100644
+--- a/libtiff/tif_dirinfo.c
++++ b/libtiff/tif_dirinfo.c
+@@ -1,4 +1,4 @@
+-/* $Id: tif_dirinfo.c,v 1.65.2.10 2010-07-06 14:14:41 dron Exp $ */
++/* $Id: tif_dirinfo.c,v 1.65.2.11 2013-05-02 14:44:43 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -869,7 +869,7 @@ _TIFFCreateAnonFieldInfo(TIFF *tif, ttag_t tag, TIFFDataType field_type)
+ * note that this name is a special sign to TIFFClose() and
+ * _TIFFSetupFieldInfo() to free the field
+ */
+- sprintf(fld->field_name, "Tag %d", (int) tag);
++ snprintf(fld->field_name, 32, "Tag %d", (int) tag);
+
+ return fld;
+ }
+diff --git a/libtiff/tif_pixarlog.c b/libtiff/tif_pixarlog.c
+index ed8eb40..6e127fb 100644
+--- a/libtiff/tif_pixarlog.c
++++ b/libtiff/tif_pixarlog.c
+@@ -1,4 +1,4 @@
+-/* $Id: tif_pixarlog.c,v 1.15.2.4 2010-06-08 18:50:42 bfriesen Exp $ */
++/* $Id: tif_pixarlog.c,v 1.15.2.5 2012-12-10 17:38:54 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1996-1997 Sam Leffler
+@@ -117,9 +117,9 @@ horizontalAccumulateF(uint16 *wp, int n, int stride, float *op,
+ if (n >= stride) {
+ mask = CODE_MASK;
+ if (stride == 3) {
+- t0 = ToLinearF[cr = wp[0]];
+- t1 = ToLinearF[cg = wp[1]];
+- t2 = ToLinearF[cb = wp[2]];
++ t0 = ToLinearF[cr = (wp[0] & mask)];
++ t1 = ToLinearF[cg = (wp[1] & mask)];
++ t2 = ToLinearF[cb = (wp[2] & mask)];
+ op[0] = t0;
+ op[1] = t1;
+ op[2] = t2;
+@@ -136,10 +136,10 @@ horizontalAccumulateF(uint16 *wp, int n, int stride, float *op,
+ op[2] = t2;
+ }
+ } else if (stride == 4) {
+- t0 = ToLinearF[cr = wp[0]];
+- t1 = ToLinearF[cg = wp[1]];
+- t2 = ToLinearF[cb = wp[2]];
+- t3 = ToLinearF[ca = wp[3]];
++ t0 = ToLinearF[cr = (wp[0] & mask)];
++ t1 = ToLinearF[cg = (wp[1] & mask)];
++ t2 = ToLinearF[cb = (wp[2] & mask)];
++ t3 = ToLinearF[ca = (wp[3] & mask)];
+ op[0] = t0;
+ op[1] = t1;
+ op[2] = t2;
+@@ -183,9 +183,9 @@ horizontalAccumulate12(uint16 *wp, int n, int stride, int16 *op,
+ if (n >= stride) {
+ mask = CODE_MASK;
+ if (stride == 3) {
+- t0 = ToLinearF[cr = wp[0]] * SCALE12;
+- t1 = ToLinearF[cg = wp[1]] * SCALE12;
+- t2 = ToLinearF[cb = wp[2]] * SCALE12;
++ t0 = ToLinearF[cr = (wp[0] & mask)] * SCALE12;
++ t1 = ToLinearF[cg = (wp[1] & mask)] * SCALE12;
++ t2 = ToLinearF[cb = (wp[2] & mask)] * SCALE12;
+ op[0] = CLAMP12(t0);
+ op[1] = CLAMP12(t1);
+ op[2] = CLAMP12(t2);
+@@ -202,10 +202,10 @@ horizontalAccumulate12(uint16 *wp, int n, int stride, int16 *op,
+ op[2] = CLAMP12(t2);
+ }
+ } else if (stride == 4) {
+- t0 = ToLinearF[cr = wp[0]] * SCALE12;
+- t1 = ToLinearF[cg = wp[1]] * SCALE12;
+- t2 = ToLinearF[cb = wp[2]] * SCALE12;
+- t3 = ToLinearF[ca = wp[3]] * SCALE12;
++ t0 = ToLinearF[cr = (wp[0] & mask)] * SCALE12;
++ t1 = ToLinearF[cg = (wp[1] & mask)] * SCALE12;
++ t2 = ToLinearF[cb = (wp[2] & mask)] * SCALE12;
++ t3 = ToLinearF[ca = (wp[3] & mask)] * SCALE12;
+ op[0] = CLAMP12(t0);
+ op[1] = CLAMP12(t1);
+ op[2] = CLAMP12(t2);
+@@ -247,9 +247,9 @@ horizontalAccumulate16(uint16 *wp, int n, int stride, uint16 *op,
+ if (n >= stride) {
+ mask = CODE_MASK;
+ if (stride == 3) {
+- op[0] = ToLinear16[cr = wp[0]];
+- op[1] = ToLinear16[cg = wp[1]];
+- op[2] = ToLinear16[cb = wp[2]];
++ op[0] = ToLinear16[cr = (wp[0] & mask)];
++ op[1] = ToLinear16[cg = (wp[1] & mask)];
++ op[2] = ToLinear16[cb = (wp[2] & mask)];
+ n -= 3;
+ while (n > 0) {
+ wp += 3;
+@@ -260,10 +260,10 @@ horizontalAccumulate16(uint16 *wp, int n, int stride, uint16 *op,
+ op[2] = ToLinear16[(cb += wp[2]) & mask];
+ }
+ } else if (stride == 4) {
+- op[0] = ToLinear16[cr = wp[0]];
+- op[1] = ToLinear16[cg = wp[1]];
+- op[2] = ToLinear16[cb = wp[2]];
+- op[3] = ToLinear16[ca = wp[3]];
++ op[0] = ToLinear16[cr = (wp[0] & mask)];
++ op[1] = ToLinear16[cg = (wp[1] & mask)];
++ op[2] = ToLinear16[cb = (wp[2] & mask)];
++ op[3] = ToLinear16[ca = (wp[3] & mask)];
+ n -= 4;
+ while (n > 0) {
+ wp += 4;
+@@ -342,9 +342,9 @@ horizontalAccumulate8(uint16 *wp, int n, int stride, unsigned char *op,
+ if (n >= stride) {
+ mask = CODE_MASK;
+ if (stride == 3) {
+- op[0] = ToLinear8[cr = wp[0]];
+- op[1] = ToLinear8[cg = wp[1]];
+- op[2] = ToLinear8[cb = wp[2]];
++ op[0] = ToLinear8[cr = (wp[0] & mask)];
++ op[1] = ToLinear8[cg = (wp[1] & mask)];
++ op[2] = ToLinear8[cb = (wp[2] & mask)];
+ n -= 3;
+ while (n > 0) {
+ n -= 3;
+@@ -355,10 +355,10 @@ horizontalAccumulate8(uint16 *wp, int n, int stride, unsigned char *op,
+ op[2] = ToLinear8[(cb += wp[2]) & mask];
+ }
+ } else if (stride == 4) {
+- op[0] = ToLinear8[cr = wp[0]];
+- op[1] = ToLinear8[cg = wp[1]];
+- op[2] = ToLinear8[cb = wp[2]];
+- op[3] = ToLinear8[ca = wp[3]];
++ op[0] = ToLinear8[cr = (wp[0] & mask)];
++ op[1] = ToLinear8[cg = (wp[1] & mask)];
++ op[2] = ToLinear8[cb = (wp[2] & mask)];
++ op[3] = ToLinear8[ca = (wp[3] & mask)];
+ n -= 4;
+ while (n > 0) {
+ n -= 4;
+@@ -393,9 +393,9 @@ horizontalAccumulate8abgr(uint16 *wp, int n, int stride, unsigned char *op,
+ mask = CODE_MASK;
+ if (stride == 3) {
+ op[0] = 0;
+- t1 = ToLinear8[cb = wp[2]];
+- t2 = ToLinear8[cg = wp[1]];
+- t3 = ToLinear8[cr = wp[0]];
++ t1 = ToLinear8[cb = (wp[2] & mask)];
++ t2 = ToLinear8[cg = (wp[1] & mask)];
++ t3 = ToLinear8[cr = (wp[0] & mask)];
+ op[1] = t1;
+ op[2] = t2;
+ op[3] = t3;
+@@ -413,10 +413,10 @@ horizontalAccumulate8abgr(uint16 *wp, int n, int stride, unsigned char *op,
+ op[3] = t3;
+ }
+ } else if (stride == 4) {
+- t0 = ToLinear8[ca = wp[3]];
+- t1 = ToLinear8[cb = wp[2]];
+- t2 = ToLinear8[cg = wp[1]];
+- t3 = ToLinear8[cr = wp[0]];
++ t0 = ToLinear8[ca = (wp[3] & mask)];
++ t1 = ToLinear8[cb = (wp[2] & mask)];
++ t2 = ToLinear8[cg = (wp[1] & mask)];
++ t3 = ToLinear8[cr = (wp[0] & mask)];
+ op[0] = t0;
+ op[1] = t1;
+ op[2] = t2;
+@@ -630,10 +630,10 @@ PixarLogGuessDataFmt(TIFFDirectory *td)
+ return guess;
+ }
+
+-static uint32
+-multiply(size_t m1, size_t m2)
++static tsize_t
++multiply(tsize_t m1, tsize_t m2)
+ {
+- uint32 bytes = m1 * m2;
++ tsize_t bytes = m1 * m2;
+
+ if (m1 && bytes / m1 != m2)
+ bytes = 0;
+@@ -641,6 +641,20 @@ multiply(size_t m1, size_t m2)
+ return bytes;
+ }
+
++static tsize_t
++add_ms(tsize_t m1, tsize_t m2)
++{
++ tsize_t bytes = m1 + m2;
++
++ /* if either input is zero, assume overflow already occurred */
++ if (m1 == 0 || m2 == 0)
++ bytes = 0;
++ else if (bytes <= m1 || bytes <= m2)
++ bytes = 0;
++
++ return bytes;
++}
++
+ static int
+ PixarLogSetupDecode(TIFF* tif)
+ {
+@@ -661,6 +675,8 @@ PixarLogSetupDecode(TIFF* tif)
+ td->td_samplesperpixel : 1);
+ tbuf_size = multiply(multiply(multiply(sp->stride, td->td_imagewidth),
+ td->td_rowsperstrip), sizeof(uint16));
++ /* add one more stride in case input ends mid-stride */
++ tbuf_size = add_ms(tbuf_size, sizeof(uint16) * sp->stride);
+ if (tbuf_size == 0)
+ return (0);
+ sp->tbuf = (uint16 *) _TIFFmalloc(tbuf_size);
+diff --git a/libtiff/tif_print.c b/libtiff/tif_print.c
+index 7634f6e..2b255da 100644
+--- a/libtiff/tif_print.c
++++ b/libtiff/tif_print.c
+@@ -1,4 +1,4 @@
+-/* $Id: tif_print.c,v 1.36.2.5 2010-07-06 14:05:30 dron Exp $ */
++/* $Id: tif_print.c,v 1.36.2.6 2012-12-12 23:18:05 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -514,8 +514,19 @@ TIFFPrintDirectory(TIFF* tif, FILE* fd, long flags)
+ continue;
+
+ if(fip->field_passcount) {
+- if(TIFFGetField(tif, tag, &value_count, &raw_data) != 1)
++ if (fip->field_readcount == TIFF_VARIABLE2 ) {
++ if(TIFFGetField(tif, tag, &value_count, &raw_data) != 1)
++ continue;
++ } else if (fip->field_readcount == TIFF_VARIABLE ) {
++ uint16 small_value_count;
++ if(TIFFGetField(tif, tag, &small_value_count, &raw_data) != 1)
++ continue;
++ value_count = small_value_count;
++ } else {
++ assert (fip->field_readcount == TIFF_VARIABLE
++ || fip->field_readcount == TIFF_VARIABLE2);
+ continue;
++ }
+ } else {
+ if (fip->field_readcount == TIFF_VARIABLE
+ || fip->field_readcount == TIFF_VARIABLE2)
+diff --git a/man/Makefile.in b/man/Makefile.in
+index a007da7..cac0721 100644
+--- a/man/Makefile.in
++++ b/man/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/port/Makefile.in b/port/Makefile.in
+index 6674109..f95d58f 100644
+--- a/port/Makefile.in
++++ b/port/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/test/Makefile.in b/test/Makefile.in
+index 61ea1ff..f88959f 100644
+--- a/test/Makefile.in
++++ b/test/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/tools/Makefile.in b/tools/Makefile.in
+index 47dcec8..6f3d517 100644
+--- a/tools/Makefile.in
++++ b/tools/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.12.4 from Makefile.am.
++# Makefile.in generated by automake 1.12.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2012 Free Software Foundation, Inc.
+diff --git a/tools/ppm2tiff.c b/tools/ppm2tiff.c
+index 6078459..ec8be5d 100644
+--- a/tools/ppm2tiff.c
++++ b/tools/ppm2tiff.c
+@@ -1,4 +1,4 @@
+-/* $Id: ppm2tiff.c,v 1.13.2.2 2010-06-08 18:50:44 bfriesen Exp $ */
++/* $Id: ppm2tiff.c,v 1.13.2.3 2012-12-10 18:27:35 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1991-1997 Sam Leffler
+@@ -68,6 +68,17 @@ BadPPM(char* file)
+ exit(-2);
+ }
+
++static tsize_t
++multiply_ms(tsize_t m1, tsize_t m2)
++{
++ tsize_t bytes = m1 * m2;
++
++ if (m1 && bytes / m1 != m2)
++ bytes = 0;
++
++ return bytes;
++}
++
+ int
+ main(int argc, char* argv[])
+ {
+@@ -85,6 +96,7 @@ main(int argc, char* argv[])
+ int c;
+ extern int optind;
+ extern char* optarg;
++ tsize_t scanline_size;
+
+ if (argc < 2) {
+ fprintf(stderr, "%s: Too few arguments\n", argv[0]);
+@@ -217,7 +229,8 @@ main(int argc, char* argv[])
+ }
+ switch (bpp) {
+ case 1:
+- linebytes = (spp * w + (8 - 1)) / 8;
++ /* if round-up overflows, result will be zero, OK */
++ linebytes = (multiply_ms(spp, w) + (8 - 1)) / 8;
+ if (rowsperstrip == (uint32) -1) {
+ TIFFSetField(out, TIFFTAG_ROWSPERSTRIP, h);
+ } else {
+@@ -226,15 +239,31 @@ main(int argc, char* argv[])
+ }
+ break;
+ case 8:
+- linebytes = spp * w;
++ linebytes = multiply_ms(spp, w);
+ TIFFSetField(out, TIFFTAG_ROWSPERSTRIP,
+ TIFFDefaultStripSize(out, rowsperstrip));
+ break;
+ }
+- if (TIFFScanlineSize(out) > linebytes)
++ if (linebytes == 0) {
++ fprintf(stderr, "%s: scanline size overflow\n", infile);
++ (void) TIFFClose(out);
++ exit(-2);
++ }
++ scanline_size = TIFFScanlineSize(out);
++ if (scanline_size == 0) {
++ /* overflow - TIFFScanlineSize already printed a message */
++ (void) TIFFClose(out);
++ exit(-2);
++ }
++ if (scanline_size < linebytes)
+ buf = (unsigned char *)_TIFFmalloc(linebytes);
+ else
+- buf = (unsigned char *)_TIFFmalloc(TIFFScanlineSize(out));
++ buf = (unsigned char *)_TIFFmalloc(scanline_size);
++ if (buf == NULL) {
++ fprintf(stderr, "%s: Not enough memory\n", infile);
++ (void) TIFFClose(out);
++ exit(-2);
++ }
+ if (resolution > 0) {
+ TIFFSetField(out, TIFFTAG_XRESOLUTION, resolution);
+ TIFFSetField(out, TIFFTAG_YRESOLUTION, resolution);
+diff --git a/tools/rgb2ycbcr.c b/tools/rgb2ycbcr.c
+index 0b30b51..527c036 100644
+--- a/tools/rgb2ycbcr.c
++++ b/tools/rgb2ycbcr.c
+@@ -1,4 +1,4 @@
+-/* $Id: rgb2ycbcr.c,v 1.9.2.2 2010-06-08 18:50:44 bfriesen Exp $ */
++/* $Id: rgb2ycbcr.c,v 1.9.2.3 2013-05-02 14:44:44 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1991-1997 Sam Leffler
+@@ -326,7 +326,8 @@ tiffcvt(TIFF* in, TIFF* out)
+ TIFFSetField(out, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
+ { char buf[2048];
+ char *cp = strrchr(TIFFFileName(in), '/');
+- sprintf(buf, "YCbCr conversion of %s", cp ? cp+1 : TIFFFileName(in));
++ snprintf(buf, sizeof(buf), "YCbCr conversion of %s",
++ cp ? cp+1 : TIFFFileName(in));
+ TIFFSetField(out, TIFFTAG_IMAGEDESCRIPTION, buf);
+ }
+ TIFFSetField(out, TIFFTAG_SOFTWARE, TIFFGetVersion());
+diff --git a/tools/tiff2bw.c b/tools/tiff2bw.c
+index 8fbf061..98908d1 100644
+--- a/tools/tiff2bw.c
++++ b/tools/tiff2bw.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiff2bw.c,v 1.12.2.2 2010-07-02 12:03:27 dron Exp $ */
++/* $Id: tiff2bw.c,v 1.12.2.3 2013-05-02 14:44:44 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -201,7 +201,7 @@ main(int argc, char* argv[])
+ }
+ }
+ TIFFSetField(out, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK);
+- sprintf(thing, "B&W version of %s", argv[optind]);
++ snprintf(thing, sizeof(thing), "B&W version of %s", argv[optind]);
+ TIFFSetField(out, TIFFTAG_IMAGEDESCRIPTION, thing);
+ TIFFSetField(out, TIFFTAG_SOFTWARE, "tiff2bw");
+ outbuf = (unsigned char *)_TIFFmalloc(TIFFScanlineSize(out));
+diff --git a/tools/tiff2pdf.c b/tools/tiff2pdf.c
+index dee6435..c55b927 100644
+--- a/tools/tiff2pdf.c
++++ b/tools/tiff2pdf.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiff2pdf.c,v 1.37.2.22 2012-07-19 15:43:31 tgl Exp $
++/* $Id: tiff2pdf.c,v 1.37.2.24 2013-05-02 14:54:18 tgl Exp $
+ *
+ * tiff2pdf - converts a TIFF image to a PDF document
+ *
+@@ -3337,33 +3337,56 @@ int t2p_process_jpeg_strip(
+ uint32 height){
+
+ tsize_t i=0;
+- uint16 ri =0;
+- uint16 v_samp=1;
+- uint16 h_samp=1;
+- int j=0;
+-
+- i++;
+-
+- while(i<(*striplength)){
++
++ while (i < *striplength) {
++ tsize_t datalen;
++ uint16 ri;
++ uint16 v_samp;
++ uint16 h_samp;
++ int j;
++ int ncomp;
++
++ /* marker header: one or more FFs */
++ if (strip[i] != 0xff)
++ return(0);
++ i++;
++ while (i < *striplength && strip[i] == 0xff)
++ i++;
++ if (i >= *striplength)
++ return(0);
++ /* SOI is the only pre-SOS marker without a length word */
++ if (strip[i] == 0xd8)
++ datalen = 0;
++ else {
++ if ((*striplength - i) <= 2)
++ return(0);
++ datalen = (strip[i+1] << 8) | strip[i+2];
++ if (datalen < 2 || datalen >= (*striplength - i))
++ return(0);
++ }
+ switch( strip[i] ){
+- case 0xd8:
+- /* SOI - start of image */
++ case 0xd8: /* SOI - start of image */
+ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), 2);
+ *bufferoffset+=2;
+- i+=2;
+ break;
+- case 0xc0:
+- case 0xc1:
+- case 0xc3:
+- case 0xc9:
+- case 0xca:
++ case 0xc0: /* SOF0 */
++ case 0xc1: /* SOF1 */
++ case 0xc3: /* SOF3 */
++ case 0xc9: /* SOF9 */
++ case 0xca: /* SOF10 */
+ if(no==0){
+- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2);
+- for(j=0;j<buffer[*bufferoffset+9];j++){
+- if( (buffer[*bufferoffset+11+(2*j)]>>4) > h_samp)
+- h_samp = (buffer[*bufferoffset+11+(2*j)]>>4);
+- if( (buffer[*bufferoffset+11+(2*j)] & 0x0f) > v_samp)
+- v_samp = (buffer[*bufferoffset+11+(2*j)] & 0x0f);
++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2);
++ ncomp = buffer[*bufferoffset+9];
++ if (ncomp < 1 || ncomp > 4)
++ return(0);
++ v_samp=1;
++ h_samp=1;
++ for(j=0;j<ncomp;j++){
++ uint16 samp = buffer[*bufferoffset+11+(3*j)];
++ if( (samp>>4) > h_samp)
++ h_samp = (samp>>4);
++ if( (samp & 0x0f) > v_samp)
++ v_samp = (samp & 0x0f);
+ }
+ v_samp*=8;
+ h_samp*=8;
+@@ -3377,45 +3400,43 @@ int t2p_process_jpeg_strip(
+ (unsigned char) ((height>>8) & 0xff);
+ buffer[*bufferoffset+6]=
+ (unsigned char) (height & 0xff);
+- *bufferoffset+=strip[i+2]+2;
+- i+=strip[i+2]+2;
+-
++ *bufferoffset+=datalen+2;
++ /* insert a DRI marker */
+ buffer[(*bufferoffset)++]=0xff;
+ buffer[(*bufferoffset)++]=0xdd;
+ buffer[(*bufferoffset)++]=0x00;
+ buffer[(*bufferoffset)++]=0x04;
+ buffer[(*bufferoffset)++]=(ri >> 8) & 0xff;
+ buffer[(*bufferoffset)++]= ri & 0xff;
+- } else {
+- i+=strip[i+2]+2;
+ }
+ break;
+- case 0xc4:
+- case 0xdb:
+- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2);
+- *bufferoffset+=strip[i+2]+2;
+- i+=strip[i+2]+2;
++ case 0xc4: /* DHT */
++ case 0xdb: /* DQT */
++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2);
++ *bufferoffset+=datalen+2;
+ break;
+- case 0xda:
++ case 0xda: /* SOS */
+ if(no==0){
+- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2);
+- *bufferoffset+=strip[i+2]+2;
+- i+=strip[i+2]+2;
++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2);
++ *bufferoffset+=datalen+2;
+ } else {
+ buffer[(*bufferoffset)++]=0xff;
+ buffer[(*bufferoffset)++]=
+ (unsigned char)(0xd0 | ((no-1)%8));
+- i+=strip[i+2]+2;
+ }
+- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), (*striplength)-i-1);
+- *bufferoffset+=(*striplength)-i-1;
++ i += datalen + 1;
++ /* copy remainder of strip */
++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i]), *striplength - i);
++ *bufferoffset+= *striplength - i;
+ return(1);
+ default:
+- i+=strip[i+2]+2;
++ /* ignore any other marker */
++ break;
+ }
++ i += datalen + 1;
+ }
+-
+
++ /* failed to find SOS marker */
+ return(0);
+ }
+ #endif
+@@ -3605,7 +3626,9 @@ tsize_t t2p_write_pdf_header(T2P* t2p, TIFF* output){
+ char buffer[16];
+ int buflen=0;
+
+- buflen=sprintf(buffer, "%%PDF-%u.%u ", t2p->pdf_majorversion&0xff, t2p->pdf_minorversion&0xff);
++ buflen = snprintf(buffer, sizeof(buffer), "%%PDF-%u.%u ",
++ t2p->pdf_majorversion&0xff,
++ t2p->pdf_minorversion&0xff);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t)"\n%\342\343\317\323\n", 7);
+
+@@ -3619,10 +3642,10 @@ tsize_t t2p_write_pdf_header(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_obj_start(uint32 number, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+- buflen=sprintf(buffer, "%lu", (unsigned long)number);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)number);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen );
+ written += t2pWriteFile(output, (tdata_t) " 0 obj\n", 7);
+
+@@ -3661,13 +3684,13 @@ tsize_t t2p_write_pdf_name(unsigned char* name, TIFF* output){
+ written += t2pWriteFile(output, (tdata_t) "/", 1);
+ for (i=0;i<namelen;i++){
+ if ( ((unsigned char)name[i]) < 0x21){
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ nextchar=1;
+ }
+ if ( ((unsigned char)name[i]) > 0x7E){
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ nextchar=1;
+@@ -3675,57 +3698,57 @@ tsize_t t2p_write_pdf_name(unsigned char* name, TIFF* output){
+ if (nextchar==0){
+ switch (name[i]){
+ case 0x23:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x25:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x28:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x29:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x2F:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x3C:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x3E:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x5B:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x5D:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x7B:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+ case 0x7D:
+- sprintf(buffer, "#%.2X", name[i]);
++ snprintf(buffer, sizeof(buffer), "#%.2X", name[i]);
+ buffer[sizeof(buffer) - 1] = '\0';
+ written += t2pWriteFile(output, (tdata_t) buffer, 3);
+ break;
+@@ -3840,14 +3863,14 @@ tsize_t t2p_write_pdf_stream_end(TIFF* output){
+ tsize_t t2p_write_pdf_stream_dict(tsize_t len, uint32 number, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "/Length ", 8);
+ if(len!=0){
+ written += t2p_write_pdf_stream_length(len, output);
+ } else {
+- buflen=sprintf(buffer, "%lu", (unsigned long)number);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)number);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n", 6);
+ }
+@@ -3888,10 +3911,10 @@ tsize_t t2p_write_pdf_stream_dict_end(TIFF* output){
+ tsize_t t2p_write_pdf_stream_length(tsize_t len, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+- buflen=sprintf(buffer, "%lu", (unsigned long)len);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)len);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "\n", 1);
+
+@@ -3905,7 +3928,7 @@ tsize_t t2p_write_pdf_stream_length(tsize_t len, TIFF* output){
+ tsize_t t2p_write_pdf_catalog(T2P* t2p, TIFF* output)
+ {
+ tsize_t written = 0;
+- char buffer[16];
++ char buffer[32];
+ int buflen = 0;
+
+ written += t2pWriteFile(output,
+@@ -3944,7 +3967,6 @@ tsize_t t2p_write_pdf_info(T2P* t2p, TIFF* input, TIFF* output)
+ written += t2p_write_pdf_string(t2p->pdf_datetime, output);
+ }
+ written += t2pWriteFile(output, (tdata_t) "\n/Producer ", 11);
+- _TIFFmemset((tdata_t)buffer, 0x00, sizeof(buffer));
+ snprintf(buffer, sizeof(buffer), "libtiff / tiff2pdf - %d", TIFFLIB_VERSION);
+ written += t2p_write_pdf_string(buffer, output);
+ written += t2pWriteFile(output, (tdata_t) "\n", 1);
+@@ -4085,7 +4107,7 @@ tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output)
+ {
+ tsize_t written=0;
+ tdir_t i=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ int page=0;
+@@ -4093,7 +4115,7 @@ tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output)
+ (tdata_t) "<< \n/Type /Pages \n/Kids [ ", 26);
+ page = t2p->pdf_pages+1;
+ for (i=0;i<t2p->tiff_pagecount;i++){
+- buflen=sprintf(buffer, "%d", page);
++ buflen=snprintf(buffer, sizeof(buffer), "%d", page);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+ if ( ((i+1)%8)==0 ) {
+@@ -4108,8 +4130,7 @@ tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output)
+ }
+ }
+ written += t2pWriteFile(output, (tdata_t) "] \n/Count ", 10);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%d", t2p->tiff_pagecount);
++ buflen=snprintf(buffer, sizeof(buffer), "%d", t2p->tiff_pagecount);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " \n>> \n", 6);
+
+@@ -4124,28 +4145,28 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
+
+ unsigned int i=0;
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[256];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "<<\n/Type /Page \n/Parent ", 24);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_pages);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_pages);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n", 6);
+ written += t2pWriteFile(output, (tdata_t) "/MediaBox [", 11);
+- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.x1);
++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.x1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.y1);
++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.y1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.x2);
++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.x2);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen=sprintf(buffer, "%.4f",t2p->pdf_mediabox.y2);
++ buflen=snprintf(buffer, sizeof(buffer), "%.4f",t2p->pdf_mediabox.y2);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "] \n", 3);
+ written += t2pWriteFile(output, (tdata_t) "/Contents ", 10);
+- buflen=sprintf(buffer, "%lu", (unsigned long)(object + 1));
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)(object + 1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n", 6);
+ written += t2pWriteFile(output, (tdata_t) "/Resources << \n", 15);
+@@ -4153,15 +4174,13 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
+ written += t2pWriteFile(output, (tdata_t) "/XObject <<\n", 12);
+ for(i=0;i<t2p->tiff_tiles[t2p->pdf_page].tiles_tilecount;i++){
+ written += t2pWriteFile(output, (tdata_t) "/Im", 3);
+- buflen = sprintf(buffer, "%u", t2p->pdf_page+1);
++ buflen = snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_page+1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "_", 1);
+- buflen = sprintf(buffer, "%u", i+1);
++ buflen = snprintf(buffer, sizeof(buffer), "%u", i+1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen = sprintf(
+- buffer,
+- "%lu",
++ buflen = snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(object+3+(2*i)+t2p->tiff_pages[t2p->pdf_page].page_extra));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+@@ -4173,12 +4192,10 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
+ } else {
+ written += t2pWriteFile(output, (tdata_t) "/XObject <<\n", 12);
+ written += t2pWriteFile(output, (tdata_t) "/Im", 3);
+- buflen = sprintf(buffer, "%u", t2p->pdf_page+1);
++ buflen = snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_page+1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- buflen = sprintf(
+- buffer,
+- "%lu",
++ buflen = snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(object+3+(2*i)+t2p->tiff_pages[t2p->pdf_page].page_extra));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+@@ -4187,9 +4204,7 @@ tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output){
+ if(t2p->tiff_transferfunctioncount != 0) {
+ written += t2pWriteFile(output, (tdata_t) "/ExtGState <<", 13);
+ t2pWriteFile(output, (tdata_t) "/GS1 ", 5);
+- buflen = sprintf(
+- buffer,
+- "%lu",
++ buflen = snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(object + 3));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+@@ -4562,7 +4577,7 @@ tsize_t t2p_write_pdf_page_content_stream(T2P* t2p, TIFF* output){
+ if(t2p->tiff_tiles[t2p->pdf_page].tiles_tilecount>0){
+ for(i=0;i<t2p->tiff_tiles[t2p->pdf_page].tiles_tilecount; i++){
+ box=t2p->tiff_tiles[t2p->pdf_page].tiles_tiles[i].tile_box;
+- buflen=sprintf(buffer,
++ buflen=snprintf(buffer, sizeof(buffer),
+ "q %s %.4f %.4f %.4f %.4f %.4f %.4f cm /Im%d_%ld Do Q\n",
+ t2p->tiff_transferfunctioncount?"/GS1 gs ":"",
+ box.mat[0],
+@@ -4577,7 +4592,7 @@ tsize_t t2p_write_pdf_page_content_stream(T2P* t2p, TIFF* output){
+ }
+ } else {
+ box=t2p->pdf_imagebox;
+- buflen=sprintf(buffer,
++ buflen=snprintf(buffer, sizeof(buffer),
+ "q %s %.4f %.4f %.4f %.4f %.4f %.4f cm /Im%d Do Q\n",
+ t2p->tiff_transferfunctioncount?"/GS1 gs ":"",
+ box.mat[0],
+@@ -4602,59 +4617,48 @@ tsize_t t2p_write_pdf_xobject_stream_dict(ttile_t tile,
+ TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2p_write_pdf_stream_dict(0, t2p->pdf_xrefcount+1, output);
+ written += t2pWriteFile(output,
+ (tdata_t) "/Type /XObject \n/Subtype /Image \n/Name /Im",
+ 42);
+- buflen=sprintf(buffer, "%u", t2p->pdf_page+1);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_page+1);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ if(tile != 0){
+ written += t2pWriteFile(output, (tdata_t) "_", 1);
+- buflen=sprintf(buffer, "%lu", (unsigned long)tile);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)tile);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ }
+ written += t2pWriteFile(output, (tdata_t) "\n/Width ", 8);
+- _TIFFmemset((tdata_t)buffer, 0x00, 16);
+ if(tile==0){
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->tiff_width);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->tiff_width);
+ } else {
+ if(t2p_tile_is_right_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)!=0){
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilewidth);
+ } else {
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilewidth);
+ }
+ }
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "\n/Height ", 9);
+- _TIFFmemset((tdata_t)buffer, 0x00, 16);
+ if(tile==0){
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->tiff_length);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->tiff_length);
+ } else {
+ if(t2p_tile_is_bottom_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)!=0){
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilelength);
+ } else {
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilelength);
+ }
+ }
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "\n/BitsPerComponent ", 19);
+- _TIFFmemset((tdata_t)buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%u", t2p->tiff_bitspersample);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->tiff_bitspersample);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "\n/ColorSpace ", 13);
+ written += t2p_write_pdf_xobject_cs(t2p, output);
+@@ -4698,11 +4702,10 @@ tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){
+ t2p->pdf_colorspace ^= T2P_CS_PALETTE;
+ written += t2p_write_pdf_xobject_cs(t2p, output);
+ t2p->pdf_colorspace |= T2P_CS_PALETTE;
+- buflen=sprintf(buffer, "%u", (0x0001 << t2p->tiff_bitspersample)-1 );
++ buflen=snprintf(buffer, sizeof(buffer), "%u", (0x0001 << t2p->tiff_bitspersample)-1 );
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " ", 1);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_palettecs );
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_palettecs );
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ]\n", 7);
+ return(written);
+@@ -4736,10 +4739,10 @@ tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){
+ X_W /= Y_W;
+ Z_W /= Y_W;
+ Y_W = 1.0F;
+- buflen=sprintf(buffer, "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/Range ", 7);
+- buflen=sprintf(buffer, "[%d %d %d %d] \n",
++ buflen=snprintf(buffer, sizeof(buffer), "[%d %d %d %d] \n",
+ t2p->pdf_labrange[0],
+ t2p->pdf_labrange[1],
+ t2p->pdf_labrange[2],
+@@ -4755,26 +4758,26 @@ tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_transfer(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "<< /Type /ExtGState \n/TR ", 25);
+ if(t2p->tiff_transferfunctioncount == 1){
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(t2p->pdf_xrefcount + 1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+ } else {
+ written += t2pWriteFile(output, (tdata_t) "[ ", 2);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(t2p->pdf_xrefcount + 1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(t2p->pdf_xrefcount + 2));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)(t2p->pdf_xrefcount + 3));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R ", 5);
+@@ -4796,7 +4799,7 @@ tsize_t t2p_write_pdf_transfer_dict(T2P* t2p, TIFF* output, uint16 i){
+ written += t2pWriteFile(output, (tdata_t) "/FunctionType 0 \n", 17);
+ written += t2pWriteFile(output, (tdata_t) "/Domain [0.0 1.0] \n", 19);
+ written += t2pWriteFile(output, (tdata_t) "/Range [0.0 1.0] \n", 18);
+- buflen=sprintf(buffer, "/Size [%u] \n", (1<<t2p->tiff_bitspersample));
++ buflen=snprintf(buffer, sizeof(buffer), "/Size [%u] \n", (1<<t2p->tiff_bitspersample));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/BitsPerSample 16 \n", 19);
+ written += t2p_write_pdf_stream_dict(1<<(t2p->tiff_bitspersample+1), 0, output);
+@@ -4823,7 +4826,7 @@ tsize_t t2p_write_pdf_transfer_stream(T2P* t2p, TIFF* output, uint16 i){
+ tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[128];
++ char buffer[256];
+ int buflen=0;
+
+ float X_W=0.0;
+@@ -4891,16 +4894,16 @@ tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){
+ written += t2pWriteFile(output, (tdata_t) "<< \n", 4);
+ if(t2p->pdf_colorspace & T2P_CS_CALGRAY){
+ written += t2pWriteFile(output, (tdata_t) "/WhitePoint ", 12);
+- buflen=sprintf(buffer, "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/Gamma 2.2 \n", 12);
+ }
+ if(t2p->pdf_colorspace & T2P_CS_CALRGB){
+ written += t2pWriteFile(output, (tdata_t) "/WhitePoint ", 12);
+- buflen=sprintf(buffer, "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f] \n", X_W, Y_W, Z_W);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/Matrix ", 8);
+- buflen=sprintf(buffer, "[%.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f] \n",
++ buflen=snprintf(buffer, sizeof(buffer), "[%.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f] \n",
+ X_R, Y_R, Z_R,
+ X_G, Y_G, Z_G,
+ X_B, Y_B, Z_B);
+@@ -4919,11 +4922,11 @@ tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_xobject_icccs(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "[/ICCBased ", 11);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_icccs);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_icccs);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " 0 R] \n", 7);
+
+@@ -4933,11 +4936,11 @@ tsize_t t2p_write_pdf_xobject_icccs(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_xobject_icccs_dict(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ written += t2pWriteFile(output, (tdata_t) "/N ", 3);
+- buflen=sprintf(buffer, "%u \n", t2p->tiff_samplesperpixel);
++ buflen=snprintf(buffer, sizeof(buffer), "%u \n", t2p->tiff_samplesperpixel);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) "/Alternate ", 11);
+ t2p->pdf_colorspace ^= T2P_CS_ICCBASED;
+@@ -5002,7 +5005,7 @@ tsize_t t2p_write_pdf_xobject_decode(T2P* t2p, TIFF* output){
+ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[16];
++ char buffer[32];
+ int buflen=0;
+
+ if(t2p->pdf_compression==T2P_COMPRESS_NONE){
+@@ -5017,41 +5020,33 @@ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output
+ written += t2pWriteFile(output, (tdata_t) "<< /K -1 ", 9);
+ if(tile==0){
+ written += t2pWriteFile(output, (tdata_t) "/Columns ", 9);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_width);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " /Rows ", 7);
+- buflen=sprintf(buffer, "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_length);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ } else {
+ if(t2p_tile_is_right_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)==0){
+ written += t2pWriteFile(output, (tdata_t) "/Columns ", 9);
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilewidth);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ } else {
+ written += t2pWriteFile(output, (tdata_t) "/Columns ", 9);
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilewidth);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ }
+ if(t2p_tile_is_bottom_edge(t2p->tiff_tiles[t2p->pdf_page], tile-1)==0){
+ written += t2pWriteFile(output, (tdata_t) " /Rows ", 7);
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_tilelength);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ } else {
+ written += t2pWriteFile(output, (tdata_t) " /Rows ", 7);
+- buflen=sprintf(
+- buffer,
+- "%lu",
++ buflen=snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_tiles[t2p->pdf_page].tiles_edgetilelength);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ }
+@@ -5078,21 +5073,17 @@ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output
+ if(t2p->pdf_compressionquality%100){
+ written += t2pWriteFile(output, (tdata_t) "/DecodeParms ", 13);
+ written += t2pWriteFile(output, (tdata_t) "<< /Predictor ", 14);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%u", t2p->pdf_compressionquality%100);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->pdf_compressionquality%100);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " /Columns ", 10);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen = sprintf(buffer, "%lu",
++ buflen = snprintf(buffer, sizeof(buffer), "%lu",
+ (unsigned long)t2p->tiff_width);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " /Colors ", 9);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%u", t2p->tiff_samplesperpixel);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->tiff_samplesperpixel);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " /BitsPerComponent ", 19);
+- _TIFFmemset(buffer, 0x00, 16);
+- buflen=sprintf(buffer, "%u", t2p->tiff_bitspersample);
++ buflen=snprintf(buffer, sizeof(buffer), "%u", t2p->tiff_bitspersample);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) ">>\n", 3);
+ }
+@@ -5112,16 +5103,16 @@ tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p, TIFF* output
+ tsize_t t2p_write_pdf_xreftable(T2P* t2p, TIFF* output){
+
+ tsize_t written=0;
+- char buffer[21];
++ char buffer[64];
+ int buflen=0;
+ uint32 i=0;
+
+ written += t2pWriteFile(output, (tdata_t) "xref\n0 ", 7);
+- buflen=sprintf(buffer, "%lu", (unsigned long)(t2p->pdf_xrefcount + 1));
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)(t2p->pdf_xrefcount + 1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+ written += t2pWriteFile(output, (tdata_t) " \n0000000000 65535 f \n", 22);
+ for (i=0;i<t2p->pdf_xrefcount;i++){
+- sprintf(buffer, "%.10lu 00000 n \n",
++ snprintf(buffer, sizeof(buffer), "%.10lu 00000 n \n",
+ (unsigned long)t2p->pdf_xrefoffsets[i]);
+ written += t2pWriteFile(output, (tdata_t) buffer, 20);
+ }
+@@ -5145,17 +5136,14 @@ tsize_t t2p_write_pdf_trailer(T2P* t2p, TIFF* output)
+ snprintf(t2p->pdf_fileid + i, 9, "%.8X", rand());
+
+ written += t2pWriteFile(output, (tdata_t) "trailer\n<<\n/Size ", 17);
+- buflen = sprintf(buffer, "%lu", (unsigned long)(t2p->pdf_xrefcount+1));
++ buflen = snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)(t2p->pdf_xrefcount+1));
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+- _TIFFmemset(buffer, 0x00, 32);
+ written += t2pWriteFile(output, (tdata_t) "\n/Root ", 7);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_catalog);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_catalog);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+- _TIFFmemset(buffer, 0x00, 32);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n/Info ", 12);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_info);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_info);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+- _TIFFmemset(buffer, 0x00, 32);
+ written += t2pWriteFile(output, (tdata_t) " 0 R \n/ID[<", 11);
+ written += t2pWriteFile(output, (tdata_t) t2p->pdf_fileid,
+ sizeof(t2p->pdf_fileid) - 1);
+@@ -5163,9 +5151,8 @@ tsize_t t2p_write_pdf_trailer(T2P* t2p, TIFF* output)
+ written += t2pWriteFile(output, (tdata_t) t2p->pdf_fileid,
+ sizeof(t2p->pdf_fileid) - 1);
+ written += t2pWriteFile(output, (tdata_t) ">]\n>>\nstartxref\n", 16);
+- buflen=sprintf(buffer, "%lu", (unsigned long)t2p->pdf_startxref);
++ buflen=snprintf(buffer, sizeof(buffer), "%lu", (unsigned long)t2p->pdf_startxref);
+ written += t2pWriteFile(output, (tdata_t) buffer, buflen);
+- _TIFFmemset(buffer, 0x00, 32);
+ written += t2pWriteFile(output, (tdata_t) "\n%%EOF\n", 7);
+
+ return(written);
+diff --git a/tools/tiff2ps.c b/tools/tiff2ps.c
+index 2d02b23..b9befe7 100644
+--- a/tools/tiff2ps.c
++++ b/tools/tiff2ps.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiff2ps.c,v 1.35.2.7 2011-04-09 16:53:56 bfriesen Exp $ */
++/* $Id: tiff2ps.c,v 1.35.2.9 2013-05-02 14:44:44 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -44,6 +44,11 @@
+
+ /*
+ * Revision history
++ * 2013-Jan-21
++ * Richard Nolde: Fix bug in auto rotate option code. Once a
++ * rotation angle was set by the auto rotate check, it was
++ * retained for all pages that followed instead of being
++ * retested for each page.
+ *
+ * 2010-Sep-17
+ * Richard Nolde: Reinstate code from Feb 2009 that never got
+@@ -423,9 +428,10 @@ main(int argc, char* argv[])
+ /* auto rotate requires a specified page width and height */
+ if (auto_rotate == TRUE)
+ {
++ /*
+ if ((pageWidth == 0) || (pageHeight == 0))
+ TIFFWarning ("-r auto", " requires page height and width specified with -h and -w");
+-
++ */
+ if ((maxPageWidth > 0) || (maxPageHeight > 0))
+ {
+ TIFFError ("-r auto", " is incompatible with maximum page width/height specified by -H or -W");
+@@ -1594,6 +1600,8 @@ int TIFF2PS(FILE* fd, TIFF* tif, double pgwidth, double pgheight, double lm, dou
+ }
+ if (generateEPSF)
+ break;
++ if (auto_rotate)
++ rotation = 0.0;
+ TIFFGetFieldDefaulted(tif, TIFFTAG_SUBFILETYPE, &subfiletype);
+ } while (((subfiletype & FILETYPE_PAGE) || printAll) && TIFFReadDirectory(tif));
+
+@@ -1783,8 +1791,8 @@ PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32 w, uint32 h)
+ imageOp = "imagemask";
+
+ (void)strcpy(im_x, "0");
+- (void)sprintf(im_y, "%lu", (long) h);
+- (void)sprintf(im_h, "%lu", (long) h);
++ (void)snprintf(im_y, sizeof(im_y), "%lu", (long) h);
++ (void)snprintf(im_h, sizeof(im_h), "%lu", (long) h);
+ tile_width = w;
+ tile_height = h;
+ if (TIFFIsTiled(tif)) {
+@@ -1805,7 +1813,7 @@ PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32 w, uint32 h)
+ }
+ if (tile_height < h) {
+ fputs("/im_y 0 def\n", fd);
+- (void)sprintf(im_y, "%lu im_y sub", (unsigned long) h);
++ (void)snprintf(im_y, sizeof(im_y), "%lu im_y sub", (unsigned long) h);
+ }
+ } else {
+ repeat_count = tf_numberstrips;
+@@ -1817,7 +1825,7 @@ PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32 w, uint32 h)
+ fprintf(fd, "/im_h %lu def\n",
+ (unsigned long) tile_height);
+ (void)strcpy(im_h, "im_h");
+- (void)sprintf(im_y, "%lu im_y sub", (unsigned long) h);
++ (void)snprintf(im_y, sizeof(im_y), "%lu im_y sub", (unsigned long) h);
+ }
+ }
+
+diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
+index d00c912..6c53e74 100644
+--- a/tools/tiffcrop.c
++++ b/tools/tiffcrop.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiffcrop.c,v 1.3.2.15 2010-12-14 02:03:55 faxguy Exp $ */
++/* $Id: tiffcrop.c,v 1.3.2.16 2013-05-02 14:44:44 tgl Exp $ */
+
+ /* tiffcrop.c -- a port of tiffcp.c extended to include manipulations of
+ * the image data through additional options listed below
+@@ -2077,7 +2077,7 @@ update_output_file (TIFF **tiffout, char *mode, int autoindex,
+ return 1;
+ }
+
+- sprintf (filenum, "-%03d%s", findex, export_ext);
++ snprintf(filenum, sizeof(filenum), "-%03d%s", findex, export_ext);
+ filenum[14] = '\0';
+ strncat (exportname, filenum, 15);
+ }
+@@ -2230,8 +2230,8 @@ main(int argc, char* argv[])
+
+ /* dump.infilename is guaranteed to be NUL termimated and have 20 bytes
+ fewer than PATH_MAX */
+- memset (temp_filename, '\0', PATH_MAX + 1);
+- sprintf (temp_filename, "%s-read-%03d.%s", dump.infilename, dump_images,
++ snprintf(temp_filename, sizeof(temp_filename), "%s-read-%03d.%s",
++ dump.infilename, dump_images,
+ (dump.format == DUMP_TEXT) ? "txt" : "raw");
+ if ((dump.infile = fopen(temp_filename, dump.mode)) == NULL)
+ {
+@@ -2249,8 +2249,8 @@ main(int argc, char* argv[])
+
+ /* dump.outfilename is guaranteed to be NUL termimated and have 20 bytes
+ fewer than PATH_MAX */
+- memset (temp_filename, '\0', PATH_MAX + 1);
+- sprintf (temp_filename, "%s-write-%03d.%s", dump.outfilename, dump_images,
++ snprintf(temp_filename, sizeof(temp_filename), "%s-write-%03d.%s",
++ dump.outfilename, dump_images,
+ (dump.format == DUMP_TEXT) ? "txt" : "raw");
+ if ((dump.outfile = fopen(temp_filename, dump.mode)) == NULL)
+ {
+diff --git a/tools/tiffdither.c b/tools/tiffdither.c
+index dee2a02..a0cb857 100644
+--- a/tools/tiffdither.c
++++ b/tools/tiffdither.c
+@@ -1,4 +1,4 @@
+-/* $Id: tiffdither.c,v 1.9.2.1 2010-06-08 18:50:44 bfriesen Exp $ */
++/* $Id: tiffdither.c,v 1.9.2.2 2013-05-02 14:44:45 tgl Exp $ */
+
+ /*
+ * Copyright (c) 1988-1997 Sam Leffler
+@@ -256,7 +256,7 @@ main(int argc, char* argv[])
+ TIFFSetField(out, TIFFTAG_FILLORDER, fillorder);
+ else
+ CopyField(TIFFTAG_FILLORDER, shortv);
+- sprintf(thing, "Dithered B&W version of %s", argv[optind]);
++ snprintf(thing, sizeof(thing), "Dithered B&W version of %s", argv[optind]);
+ TIFFSetField(out, TIFFTAG_IMAGEDESCRIPTION, thing);
+ CopyField(TIFFTAG_PHOTOMETRIC, shortv);
+ CopyField(TIFFTAG_ORIENTATION, shortv);
diff --git a/source/l/libtiff/tiff-3.9.7_CVE-2013-4231.diff b/source/l/libtiff/tiff-3.9.7_CVE-2013-4231.diff
new file mode 100644
index 000000000..79eeb449f
--- /dev/null
+++ b/source/l/libtiff/tiff-3.9.7_CVE-2013-4231.diff
@@ -0,0 +1,23 @@
+From 5d19703933eaa59f97be9c88237fe00593f180ae Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Mon, 19 Aug 2013
+Subject: CVE-2013-4231
+
+* tools/gif2tiff.c: Be more careful about corrupt or
+ hostile input files (#2450, CVE-2013-4231)
+
+---
+ gif2tiff.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/tools/gif2tiff.c 2013-08-20
++++ b/tools/gif2tiff.c 2013-08-20
+@@ -329,6 +329,8 @@ readraster(void)
+ int status = 1;
+
+ datasize = getc(infile);
++ if (datasize > 12)
++ return 0;
+ clear = 1 << datasize;
+ eoi = clear + 1;
+ avail = clear + 2;
diff --git a/source/l/libtiff/tiff-3.9.7_CVE-2013-4232.diff b/source/l/libtiff/tiff-3.9.7_CVE-2013-4232.diff
new file mode 100644
index 000000000..b86f8f4a4
--- /dev/null
+++ b/source/l/libtiff/tiff-3.9.7_CVE-2013-4232.diff
@@ -0,0 +1,24 @@
+From 8a2f9160cc4c52c73a62adef4d9282b2bd6e7ff1 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Mon, 19 Aug 2013
+Subject: CVE-2013-4232
+
+* tools/tiff2pdf.c: terminate after failure of allocating
+ ycbcr buffer (bug #2449, CVE-2013-4232)
+
+---
+ tiff2pdf.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/tools/tiff2pdf.c 2013-08-20
++++ b/tools/tiff2pdf.c 2013-08-20
+@@ -2457,7 +2457,8 @@ tsize_t t2p_readwrite_pdf_image(T2P* t2p
+ t2p->tiff_datasize,
+ TIFFFileName(input));
+ t2p->t2p_error = T2P_ERR_ERROR;
+- _TIFFfree(buffer);
++ _TIFFfree(buffer);
++ return(0);
+ } else {
+ buffer=samplebuffer;
+ t2p->tiff_datasize *= t2p->tiff_samplesperpixel;
diff --git a/source/l/libtiff/tiff-3.9.7_CVE-2013-4244.diff b/source/l/libtiff/tiff-3.9.7_CVE-2013-4244.diff
new file mode 100644
index 000000000..4f8c54321
--- /dev/null
+++ b/source/l/libtiff/tiff-3.9.7_CVE-2013-4244.diff
@@ -0,0 +1,24 @@
+From 7f4cfaec643863fcdc260da46af8d6581974101d Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Mon, 19 Aug 2013
+Subject: CVE-2013-4244
+
+* tools/gif2tiff.c: fix possible OOB write (#2452, CVE-2013-4244)
+
+---
+ gif2tiff.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/tools/gif2tiff.c 2013-08-20
++++ b/tools/gif2tiff.c 2013-08-20
+@@ -396,6 +398,10 @@ process(register int code, unsigned char
+ }
+
+ if (oldcode == -1) {
++ if (code >= clear) {
++ fprintf(stderr, "bad input: code=%d is larger than clear=%d\n",code, clear);
++ return 0;
++ }
+ *(*fill)++ = suffix[code];
+ firstchar = oldcode = code;
+ return 1;
diff --git a/source/l/libunistring/libunistring.SlackBuild b/source/l/libunistring/libunistring.SlackBuild
new file mode 100755
index 000000000..457205bd0
--- /dev/null
+++ b/source/l/libunistring/libunistring.SlackBuild
@@ -0,0 +1,150 @@
+#!/bin/sh
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=libunistring
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i486 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --disable-rpath \
+ --build=$ARCH-slackware-linux
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS BUGS COPYING* DEPENDENCIES HACKING INSTALL NEWS README* THANKS \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/l/libunistring/slack-desc b/source/l/libunistring/slack-desc
new file mode 100644
index 000000000..81063deaa
--- /dev/null
+++ b/source/l/libunistring/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libunistring: libunistring (GNU Unicode string library)
+libunistring:
+libunistring: This library provides functions for manipulating Unicode strings and
+libunistring: for manipulating C strings according to the Unicode standard.
+libunistring:
+libunistring: Homepage: http://www.gnu.org/s/libunistring
+libunistring:
+libunistring:
+libunistring:
+libunistring:
+libunistring:
diff --git a/source/l/libusb/libusb.SlackBuild b/source/l/libusb/libusb.SlackBuild
index 64b32c3d6..d9a7b2ba6 100755
--- a/source/l/libusb/libusb.SlackBuild
+++ b/source/l/libusb/libusb.SlackBuild
@@ -80,10 +80,6 @@ CFLAGS="$SLKCFLAGS" \
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG
-if [ ! -r /usr/lib${LIBDIRSUFFIX}/pkgconfig/libusb-1.0.pc ]; then
- # We have to install this to proceed:
- make install
-fi
mkdir -p $PKG/usr/doc/libusb-$VERSION
cp -a \
diff --git a/source/l/libwnck/libwnck.SlackBuild b/source/l/libwnck/libwnck.SlackBuild
index bcaed3c65..e1d6ab9cd 100755
--- a/source/l/libwnck/libwnck.SlackBuild
+++ b/source/l/libwnck/libwnck.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=libwnck
VERSION=${VERSION:-$(echo libwnck-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/l/libxklavier/libxklavier.SlackBuild b/source/l/libxklavier/libxklavier.SlackBuild
index 5d917d522..428036f81 100755
--- a/source/l/libxklavier/libxklavier.SlackBuild
+++ b/source/l/libxklavier/libxklavier.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007-2008 Heinz Wiesinger <pprkut@liwjatan.at>
+# Copyright 2007, 2008, 2013 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
@@ -26,7 +26,7 @@
VERSION=${VERSION:-$(echo libxklavier-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
-NUMJOBS=${NUMJOBS:--j6}
+NUMJOBS=${NUMJOBS:-" -j7 "}
# Automatically determine architecture for build & packaging:
if [ -z "$ARCH" ]; then
diff --git a/source/l/libxml2/libxml2.SlackBuild b/source/l/libxml2/libxml2.SlackBuild
index bd1b759a1..1f44142ca 100755
--- a/source/l/libxml2/libxml2.SlackBuild
+++ b/source/l/libxml2/libxml2.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -68,6 +68,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+zcat $CWD/libxml2.do-not-check-crc.diff.gz | patch -p1 --verbose || exit 1
+
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/source/l/libxml2/libxml2.do-not-check-crc.diff b/source/l/libxml2/libxml2.do-not-check-crc.diff
new file mode 100644
index 000000000..3e6507764
--- /dev/null
+++ b/source/l/libxml2/libxml2.do-not-check-crc.diff
@@ -0,0 +1,35 @@
+diff -up libxml2-2.9.0/xzlib.c.do-not-check-crc libxml2-2.9.0/xzlib.c
+--- libxml2-2.9.0/xzlib.c.do-not-check-crc 2012-09-11 05:52:46.000000000 +0200
++++ libxml2-2.9.0/xzlib.c 2012-11-19 19:28:42.431700534 +0100
+@@ -552,17 +552,20 @@ xz_decomp(xz_statep state)
+ #ifdef HAVE_ZLIB_H
+ if (state->how == GZIP) {
+ if (gz_next4(state, &crc) == -1 || gz_next4(state, &len) == -1) {
+- xz_error(state, LZMA_DATA_ERROR, "unexpected end of file");
+- return -1;
+- }
+- if (crc != state->zstrm.adler) {
+- xz_error(state, LZMA_DATA_ERROR, "incorrect data check");
+- return -1;
+- }
+- if (len != (state->zstrm.total_out & 0xffffffffL)) {
+- xz_error(state, LZMA_DATA_ERROR, "incorrect length check");
+- return -1;
+- }
++ /*
++ xz_error(state, LZMA_DATA_ERROR, "unexpected end of file");
++ return -1;
++ */
++ } else {
++ if (crc != state->zstrm.adler) {
++ xz_error(state, LZMA_DATA_ERROR, "incorrect data check");
++ return -1;
++ }
++ if (len != (state->zstrm.total_out & 0xffffffffL)) {
++ xz_error(state, LZMA_DATA_ERROR, "incorrect length check");
++ return -1;
++ }
++ }
+ state->strm.avail_in = 0;
+ state->strm.next_in = NULL;
+ state->strm.avail_out = 0;
diff --git a/source/l/libxslt/libxslt.SlackBuild b/source/l/libxslt/libxslt.SlackBuild
index a365744e5..6ff4a4196 100755
--- a/source/l/libxslt/libxslt.SlackBuild
+++ b/source/l/libxslt/libxslt.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,9 +20,9 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-VERSION=1.1.26
-BUILD=${BUILD:-2}
+PKGNAM=libxslt
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/libzip/libzip.SlackBuild b/source/l/libzip/libzip.SlackBuild
index d7103a30d..a841127ee 100755
--- a/source/l/libzip/libzip.SlackBuild
+++ b/source/l/libzip/libzip.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007 Heinz Wiesinger <hmwiesinger@gmx.at>
+# Copyright 2007, 2013 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
@@ -76,39 +76,27 @@ CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
+ --includedir=/usr/include \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--disable-static \
--build=$ARCH-slackware-linux
+# Fix symbolic linking for manpages
+sed -i "s|\${LN}|\${LN_S}|g" man/Makefile
+sed -i "s|\${LN_S} \${DESTDIR}\${man3dir}/|\${LN_S} |" man/Makefile
+
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-# This installs hardlinked manpages, bleh!
-( cd $PKG/usr/man/man3
- # Break links by duplicating the files.
- for file in *.3 ; do
- cp -a $file tmp
- rm $file
- mv tmp $file
- done
-)
-# Make symlinks instead:
-( cd $PKG/usr/man/man3
- rm -rf zip_strerror.3
- ln -sf zip_file_strerror.3 zip_strerror.3
- rm -rf zip_replace.3
- ln -sf zip_add.3 zip_replace.3
- rm -rf zip_stat_index.3
- ln -sf zip_stat.3 zip_stat_index.3
- rm -rf zip_fopen_index.3
- ln -sf zip_fopen.3 zip_fopen_index.3
- rm -rf zip_file_error_get.3
- ln -sf zip_error_get.3 zip_file_error_get.3
- rm -rf zip_file_error_clear.3
- ln -sf zip_error_clear.3 zip_file_error_clear.3
-)
+# While I perhaps see the motive for putting platform-specific include files
+# in a place where they won't collide, the fact is that this breaks anything
+# currently using libzip. Adding a link to the standard include directory
+# mostly fixes this, but it is still not optimal. It's likely to cause
+# problems on multilib systems, for example (but like that whole thing isn't
+# an even uglier hack).
+( cd $PKG/usr/include ; ln -sf ../lib${LIBDIRSUFFIX}/libzip/include/zipconf.h . )
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
diff --git a/source/l/libzip/libzip.info b/source/l/libzip/libzip.info
deleted file mode 100644
index 419b34ac3..000000000
--- a/source/l/libzip/libzip.info
+++ /dev/null
@@ -1,5 +0,0 @@
-PRGNAM="libzip"
-VERSION="0.8"
-HOMEPAGE="http://www.nih.at/libzip/"
-DOWNLOAD="http://www.nih.at/libzip/libzip-0.8.tar.gz"
-MD5SUM="b0087c2a12b312f8ec2df1052b2acb4f"
diff --git a/source/l/loudmouth/loudmouth-1.4.3-glib-compile-fix.patch b/source/l/loudmouth/loudmouth-1.4.3-glib-compile-fix.patch
deleted file mode 100644
index 03d04e78a..000000000
--- a/source/l/loudmouth/loudmouth-1.4.3-glib-compile-fix.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Fix compile against new glib.
-
-From: Daniel Drake <dsd@laptop.org>
-
-Index: loudmouth-1.4.3/loudmouth/lm-error.c
-===================================================================
---- loudmouth-1.4.3.orig/loudmouth/lm-error.c
-+++ loudmouth-1.4.3/loudmouth/lm-error.c
-@@ -19,7 +19,7 @@
- */
-
- #include <config.h>
--#include <glib/gerror.h>
-+#include <glib.h>
- #include "lm-error.h"
-
- /**
diff --git a/source/l/loudmouth/loudmouth.SlackBuild b/source/l/loudmouth/loudmouth.SlackBuild
index 156a49a9e..5974e3a66 100755
--- a/source/l/loudmouth/loudmouth.SlackBuild
+++ b/source/l/loudmouth/loudmouth.SlackBuild
@@ -23,8 +23,8 @@
# -----------------------------------------------------------------------------
PKGNAM=loudmouth
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-1.5.0-20121201}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:" -j4 "}
@@ -67,15 +67,7 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION || exit 1
-zcat $CWD/loudmouth.crtpath.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/loudmouth.gnutls.configure.ac.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/loudmouth.async_assertion.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/loudmouth.sasl-md5-digest-uri.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/loudmouth.stanzadrop.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/loudmouth-1.4.3-glib-compile-fix.patch.gz | patch -p1 --verbose || exit 1
-
-# needed after the configure.ac gnutls patch
-autoreconf
+zcat $CWD/loudmouth.ld.gobject.diff.gz | patch -p1 --verbose || exit 1
# Make sure ownerships and permissions are sane:
chown -R root:root .
@@ -98,6 +90,7 @@ LDFLAGS="$SLKLDFLAGS" \
--with-ssl=gnutls \
--enable-debug=yes \
--enable-static=no \
+ --enable-gtk-doc \
--program-prefix= \
--program-suffix= \
--build=$ARCH-slackware-linux \
@@ -108,8 +101,8 @@ LDFLAGS="$SLKLDFLAGS" \
## messages to the console. Don't mess with it!
##
-# this generates a broken libtool, so use the system version:
-cp /usr/bin/libtool .
+## this generates a broken libtool, so use the system version:
+#cp /usr/bin/libtool .
# Build and install:
make $NUMJOBS || make || exit 1
@@ -142,4 +135,4 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
# Build package:
cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz
diff --git a/source/l/loudmouth/loudmouth.async_assertion.diff b/source/l/loudmouth/loudmouth.async_assertion.diff
deleted file mode 100644
index bda1d19b1..000000000
--- a/source/l/loudmouth/loudmouth.async_assertion.diff
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -urp loudmouth-1.4.3.OLD/loudmouth/lm-socket.c loudmouth-1.4.3/loudmouth/lm-socket.c
---- loudmouth-1.4.3.OLD/loudmouth/lm-socket.c 2008-10-29 12:29:16.000000000 -0400
-+++ loudmouth-1.4.3/loudmouth/lm-socket.c 2008-11-28 19:24:04.000000000 -0500
-@@ -1107,6 +1107,7 @@ lm_socket_create (GMainContext *con
- _lm_socket_create_phase1 (socket, NULL, 0);
- }
-
-+#ifndef HAVE_ASYNCNS
- if (socket->connect_data == NULL) {
- /* Open failed synchronously, probably a DNS lookup problem */
- lm_socket_unref(socket);
-@@ -1118,6 +1119,7 @@ lm_socket_create (GMainContext *con
-
- return NULL;
- }
-+#endif
-
-
- /* If the connection fails synchronously, we don't want to call the
diff --git a/source/l/loudmouth/loudmouth.crtpath.diff b/source/l/loudmouth/loudmouth.crtpath.diff
deleted file mode 100644
index ada600405..000000000
--- a/source/l/loudmouth/loudmouth.crtpath.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- loudmouth-1.4.3/loudmouth/lm-ssl-gnutls.c.orig 2008-10-29 14:45:10.000000000 +0100
-+++ loudmouth-1.4.3/loudmouth/lm-ssl-gnutls.c 2009-11-03 23:49:02.000000000 +0100
-@@ -32,7 +32,7 @@
-
- #include <gnutls/x509.h>
-
--#define CA_PEM_FILE "/etc/ssl/certs/ca-certificates.crt"
-+#define CA_PEM_FILE "/usr/share/curl/ca-bundle.crt"
-
- struct _LmSSL {
- LmSSLBase base;
diff --git a/source/l/loudmouth/loudmouth.gnutls.configure.ac.diff b/source/l/loudmouth/loudmouth.gnutls.configure.ac.diff
deleted file mode 100644
index 6719141f5..000000000
--- a/source/l/loudmouth/loudmouth.gnutls.configure.ac.diff
+++ /dev/null
@@ -1,20 +0,0 @@
---- ./configure.ac.orig 2008-10-29 15:23:52.000000000 -0500
-+++ ./configure.ac 2010-04-10 15:42:12.000000000 -0500
-@@ -146,10 +146,13 @@
- enable_ssl=no
- if test "x$ac_ssl" = "xgnutls"; then
- dnl Look for GnuTLS
-- AM_PATH_LM_LIBGNUTLS($GNUTLS_REQUIRED, have_libgnutls=yes, have_libgnutls=no)
-- if test "x$have_libgnutls" = "xyes"; then
-- CFLAGS="$CFLAGS $LIBGNUTLS_CFLAGS"
-- LIBS="$LIBS $LIBGNUTLS_LIBS"
-+
-+ PKG_CHECK_MODULES(GNUTLS, gnutls >= $GNUTLS_REQUIRED, have_gnutls=yes, have_gnutls=no)
-+ if test "x$have_gnutls" = "xyes"; then
-+ AC_SUBST(ASYNCNS_CFLAGS)
-+ AC_SUBST(ASYNCNS_LIBS)
-+ CFLAGS="$CFLAGS $GNUTLS_CFLAGS"
-+ LIBS="$LIBS $GNUTLS_LIBS"
- AC_DEFINE(HAVE_GNUTLS, 1, [whether to use GnuTSL support.])
- enable_ssl=GnuTLS
- else
diff --git a/source/l/loudmouth/loudmouth.ld.gobject.diff b/source/l/loudmouth/loudmouth.ld.gobject.diff
new file mode 100644
index 000000000..a9f5b8133
--- /dev/null
+++ b/source/l/loudmouth/loudmouth.ld.gobject.diff
@@ -0,0 +1,11 @@
+--- ./loudmouth/Makefile.in.orig 2012-12-01 12:53:52.000000000 -0600
++++ ./loudmouth/Makefile.in 2013-03-20 21:25:34.368522959 -0500
+@@ -148,7 +148,7 @@
+ CCLD = $(CC)
+ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+- $(LDFLAGS) -o $@
++ $(LDFLAGS) -o $@ -lgobject-2.0
+ SOURCES = $(libloudmouth_1_la_SOURCES) $(test_dns_SOURCES)
+ DIST_SOURCES = $(am__libloudmouth_1_la_SOURCES_DIST) \
+ $(test_dns_SOURCES)
diff --git a/source/l/loudmouth/loudmouth.sasl-md5-digest-uri.diff b/source/l/loudmouth/loudmouth.sasl-md5-digest-uri.diff
deleted file mode 100644
index 50c796e87..000000000
--- a/source/l/loudmouth/loudmouth.sasl-md5-digest-uri.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -urp loudmouth-1.4.3.OLD/loudmouth/lm-connection.c loudmouth-1.4.3/loudmouth/lm-connection.c
---- loudmouth-1.4.3.OLD/loudmouth/lm-connection.c 2008-10-29 16:38:26.000000000 -0400
-+++ loudmouth-1.4.3/loudmouth/lm-connection.c 2009-06-12 19:13:03.183960144 -0400
-@@ -1442,10 +1442,17 @@ lm_connection_authenticate (LmConnection
- connection->jid, connection->resource);
-
- if (connection->use_sasl) {
-+ gchar *domain = NULL;
-+
-+ if (!connection_get_server_from_jid (connection->jid, &domain)) {
-+ domain = g_strdup (connection->server);
-+ }
-+
- lm_sasl_authenticate (connection->sasl,
- username, password,
-- connection->server,
-+ domain,
- connection_sasl_auth_finished);
-+ g_free (domain);
-
- connection->features_cb =
- lm_message_handler_new (connection_features_cb,
diff --git a/source/l/loudmouth/loudmouth.stanzadrop.diff b/source/l/loudmouth/loudmouth.stanzadrop.diff
deleted file mode 100644
index 87b86a998..000000000
--- a/source/l/loudmouth/loudmouth.stanzadrop.diff
+++ /dev/null
@@ -1,45 +0,0 @@
-From: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-Date: Tue, 13 Jan 2009 11:28:44 +0000
-Subject: [PATCH] Drop stanzas when failing to convert them to LmMessages
-
-when a stanza comes in that for some reason can't be parsed into an LmMessage,
-just drop them on the floor instead of blocking the parser. I've seen this
-issue happen in practise because some (buggy?) client sending an iq with a
-prefix e.g. <client:iq xmlns:client="jabber:client" ... />
----
- loudmouth/lm-parser.c | 15 ++++++---------
- 1 files changed, 6 insertions(+), 9 deletions(-)
-
-diff --git a/loudmouth/lm-parser.c b/loudmouth/lm-parser.c
-index 1938d56..89f6675 100644
---- a/loudmouth/lm-parser.c
-+++ b/loudmouth/lm-parser.c
-@@ -151,19 +151,16 @@ parser_end_node_cb (GMarkupParseContext *context,
- if (!m) {
- g_warning ("Couldn't create message: %s\n",
- parser->cur_root->name);
-- return;
-- }
--
-- g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER,
-+ } else {
-+ g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER,
- "Have a new message\n");
-- if (parser->function) {
-- (* parser->function) (parser, m, parser->user_data);
-+ if (parser->function) {
-+ (* parser->function) (parser, m, parser->user_data);
-+ }
-+ lm_message_unref (m);
- }
-
-- lm_message_unref (m);
- lm_message_node_unref (parser->cur_root);
--
--
- parser->cur_node = parser->cur_root = NULL;
- } else {
- LmMessageNode *tmp_node;
---
-1.5.6.5
-
diff --git a/source/l/media-player-info/media-player-info.SlackBuild b/source/l/media-player-info/media-player-info.SlackBuild
index eff9d1938..11773225e 100755
--- a/source/l/media-player-info/media-player-info.SlackBuild
+++ b/source/l/media-player-info/media-player-info.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for media-player-info
-# Copyright 2010-2012 Robby Workman, Northport, Alabama, USA
+# Copyright 2010-2013 Robby Workman, Northport, Alabama, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/source/l/media-player-info/slack-desc b/source/l/media-player-info/slack-desc
index 509b51beb..9ccb993f6 100644
--- a/source/l/media-player-info/slack-desc
+++ b/source/l/media-player-info/slack-desc
@@ -11,7 +11,7 @@ media-player-info:
media-player-info: media-player-info is a repository of data files describing media
media-player-info: player (mostly USB Mass Storage ones) capabilities. These files
media-player-info: contain information about the directory layout to use to add music
-media-player-info: to these devices, about the supported file formats,
+media-player-info: to these devices, about the supported file formats, and so on.
media-player-info:
media-player-info:
media-player-info:
diff --git a/source/l/mozilla-nss/mozilla-nss.SlackBuild b/source/l/mozilla-nss/mozilla-nss.SlackBuild
index 2bc38d082..9c5c5ed9d 100755
--- a/source/l/mozilla-nss/mozilla-nss.SlackBuild
+++ b/source/l/mozilla-nss/mozilla-nss.SlackBuild
@@ -1,5 +1,6 @@
#!/bin/sh
# Copyright 2005, 2006, 2008, 2009, 2010, 2012 Eric Hameleers, Eindhoven, NL
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
@@ -23,9 +24,9 @@
PKGNAM=mozilla-nss
SRCNAM=nss
-VERSION=${VERSION:-3.13.5}
-NSPR=${NSPR:-4.9.1}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-3.15.2}
+NSPR=${NSPR:-4.10.1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
@@ -65,11 +66,9 @@ cd $TMP
rm -rf nss-${VERSION}
rm -rf nspr-${NSPR}
tar xvf $CWD/nss-$VERSION.tar.?z* || exit 1
-tar xvf $CWD/nspr-$NSPR.tar.?z* || exit 1
cd nss-$VERSION
-
-# NSS needs NSPR:
-ln -s ../../nspr-$NSPR/mozilla/nsprpub mozilla/nsprpub
+tar xvf $CWD/nspr-$NSPR.tar.?z* || exit 1
+mv nspr*/nspr .
# Make sure ownerships and permissions are sane:
chown -R root:root .
@@ -86,13 +85,14 @@ export CXXFLAGS="$SLKCFLAGS"
export BUILD_OPT=1
export NSDISTMODE="copy"
export NSS_USE_SYSTEM_SQLITE=1
-cd mozilla/security/nss
+export NSS_ENABLE_ECC=1
+cd nss
make nss_build_all export
cd -
# Install all the needed stuff to the package dir:
mkdir -p $PKG/usr/{bin,lib${LIBDIRSUFFIX},include/{nss,nspr}}
-cd mozilla/dist/$(uname -s)*
+cd dist/$(uname -s)*
cp -pL bin/{certutil,cmsutil,crlutil,modutil,pk12util,shlibsign,signtool,signver,ssltap} $PKG/usr/bin/
cp -pL lib/* $PKG/usr/lib${LIBDIRSUFFIX}/
chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/*.so*
@@ -105,14 +105,14 @@ cd mozilla/dist/$(uname -s)*
cp -L lib/libcrmf.a $PKG/usr/lib${LIBDIRSUFFIX}/ # yes, put this one back
cd -
-cd mozilla/security/nss/cmd/smimetools
+cd nss/cmd/smimetools
cp -a smime $PKG/usr/bin/
chmod 0755 $PKG/usr/bin/smime
sed -i -e 's#/usr/local/bin#/usr/bin#g' $PKG/usr/bin/smime
cd -
# Install nspr-config:
-cat mozilla/nsprpub/$(uname -s)*/config/nspr-config | sed -e "s,prefix=/usr/local,prefix=/usr,g" | sed -e "s,libdir=\${exec_prefix}/lib,libdir=\${exec_prefix}/lib${LIBDIRSUFFIX},g" > $PKG/usr/bin/nspr-config
+cat nspr/$(uname -s)*/config/nspr-config | sed -e "s,prefix=/usr/local,prefix=/usr,g" | sed -e "s,libdir=\${exec_prefix}/lib,libdir=\${exec_prefix}/lib${LIBDIRSUFFIX},g" > $PKG/usr/bin/nspr-config
chmod 755 $PKG/usr/bin/nspr-config
# Install nss-config:
diff --git a/source/l/ncurses/ncurses-5.9-20130504-patch.sh b/source/l/ncurses/ncurses-5.9-20130504-patch.sh
new file mode 100644
index 000000000..6db3ebb1e
--- /dev/null
+++ b/source/l/ncurses/ncurses-5.9-20130504-patch.sh
@@ -0,0 +1,106265 @@
+#!/bin/sh
+# Use this script to patch ncurses 5.9 to 5.9 (20130504)
+# Run this script inside the ncurses 5.9 source directory et voila! Updated.
+
+if ( egrep '^NCURSES_MAJOR = 5$' dist.mk >/dev/null 2>&1 \
+ && egrep '^NCURSES_MINOR = 9$' dist.mk >/dev/null 2>&1 \
+ && egrep '^NCURSES_PATCH = 20110404$' dist.mk >/dev/null 2>&1 )
+then
+ echo patching...
+ rm -f mk-dlls.sh.in
+ rm -f ncurses/base/memmove.c
+ rm -f ncurses/tinfo/setbuf.c
+ rm -f ncurses/tty/tty_display.h
+ rm -f ncurses/tty/tty_input.h
+else
+ echo 'This does not look like ncurses 5.9'
+ exit 1
+fi
+
+patch -p1 -i $0 # shell command = this script = inputfile for patch
+exit
+
+# patch by Thomas E. Dickey <dickey@invisible-island.net>
+# created Sun May 5 16:20:54 UTC 2013
+# ------------------------------------------------------------------------------
+# Ada95/aclocal.m4 | 1081 -
+# Ada95/configure | 4663 +++--
+# Ada95/configure.in | 115
+# Ada95/doc/Makefile.in | 3
+# Ada95/gen/Makefile.in | 12
+# Ada95/gen/gen.c | 45
+# Ada95/include/ncurses_defs | 7
+# Ada95/samples/Makefile.in | 7
+# Ada95/src/Makefile.in | 32
+# INSTALL | 100
+# MANIFEST | 27
+# Makefile.in | 13
+# NEWS | 1234 +
+# README | 17
+# README.MinGW | 95
+# aclocal.m4 | 1517 +
+# announce.html.in | 63
+# c++/Makefile.in | 111
+# c++/cursesapp.h | 21
+# c++/cursesf.cc | 12
+# c++/cursesf.h | 14
+# c++/cursesm.cc | 10
+# c++/cursesm.h | 13
+# c++/cursesp.h | 6
+# c++/cursespad.cc | 56
+# c++/cursesw.cc | 7
+# c++/cursesw.h | 11
+# c++/cursslk.cc | 9
+# c++/demo.cc | 9
+# c++/etip.h.in | 18
+# c++/internal.h | 6
+# c++/modules | 21
+# config.guess | 253
+# config.sub | 200
+# configure | 7253 +++++---
+# configure.in | 510
+# dist.mk | 6
+# doc/html/man/adacurses-config.1.html | 2
+# doc/html/man/captoinfo.1m.html | 11
+# doc/html/man/clear.1.html | 2
+# doc/html/man/curs_add_wch.3x.html | 24
+# doc/html/man/curs_add_wchstr.3x.html | 79
+# doc/html/man/curs_addch.3x.html | 5
+# doc/html/man/curs_addchstr.3x.html | 67
+# doc/html/man/curs_addstr.3x.html | 47
+# doc/html/man/curs_addwstr.3x.html | 54
+# doc/html/man/curs_attr.3x.html | 2
+# doc/html/man/curs_bkgrnd.3x.html | 6
+# doc/html/man/curs_border_set.3x.html | 6
+# doc/html/man/curs_get_wch.3x.html | 6
+# doc/html/man/curs_get_wstr.3x.html | 6
+# doc/html/man/curs_getcchar.3x.html | 6
+# doc/html/man/curs_getch.3x.html | 22
+# doc/html/man/curs_in_wchstr.3x.html | 6
+# doc/html/man/curs_inopts.3x.html | 52
+# doc/html/man/curs_ins_wstr.3x.html | 6
+# doc/html/man/curs_inwstr.3x.html | 6
+# doc/html/man/curs_mouse.3x.html | 4
+# doc/html/man/curs_sp_funcs.3x.html | 50
+# doc/html/man/curs_termattrs.3x.html | 10
+# doc/html/man/curs_termcap.3x.html | 129
+# doc/html/man/curs_terminfo.3x.html | 6
+# doc/html/man/curs_threads.3x.html | 8
+# doc/html/man/curs_util.3x.html | 91
+# doc/html/man/form.3x.html | 2
+# doc/html/man/form_field.3x.html | 6
+# doc/html/man/form_field_buffer.3x.html | 4
+# doc/html/man/form_fieldtype.3x.html | 4
+# doc/html/man/infocmp.1m.html | 284
+# doc/html/man/infotocap.1m.html | 6
+# doc/html/man/menu.3x.html | 2
+# doc/html/man/menu_driver.3x.html | 46
+# doc/html/man/menu_items.3x.html | 6
+# doc/html/man/ncurses.3x.html | 611
+# doc/html/man/ncurses5-config.1.html | 7
+# doc/html/man/panel.3x.html | 40
+# doc/html/man/resizeterm.3x.html | 8
+# doc/html/man/tabs.1.html | 6
+# doc/html/man/term.7.html | 10
+# doc/html/man/term_variables.3x.html | 4
+# doc/html/man/terminfo.5.html | 1319 -
+# doc/html/man/tic.1m.html | 271
+# doc/html/man/toe.1m.html | 16
+# doc/html/man/tput.1.html | 128
+# doc/html/man/tset.1.html | 149
+# doc/html/ncurses-intro.html | 5
+# doc/ncurses-intro.doc | 1
+# form/Makefile.in | 7
+# form/fld_arg.c | 6
+# form/fld_def.c | 27
+# form/fld_dup.c | 8
+# form/fld_ftchoice.c | 6
+# form/fld_ftlink.c | 10
+# form/fld_just.c | 6
+# form/fld_link.c | 8
+# form/fld_max.c | 8
+# form/fld_move.c | 8
+# form/fld_page.c | 8
+# form/fld_stat.c | 8
+# form/form.priv.h | 9
+# form/frm_def.c | 24
+# form/frm_driver.c | 164
+# form/frm_hook.c | 6
+# form/frm_opts.c | 10
+# form/frm_page.c | 6
+# form/frm_post.c | 8
+# form/frm_req_name.c | 21
+# form/fty_generic.c | 6
+# form/fty_int.c | 7
+# form/fty_num.c | 7
+# form/fty_regex.c | 14
+# include/Caps | 18
+# include/Caps.aix4 | 18
+# include/Caps.hpux11 | 18
+# include/Caps.keys | 18
+# include/Caps.osf1r5 | 6
+# include/MKkey_defs.sh | 9
+# include/MKterm.h.awk.in | 39
+# include/curses.h.in | 220
+# include/curses.tail | 4
+# include/curses.wide | 140
+# include/headers | 17
+# include/nc_alloc.h | 14
+# include/nc_tparm.h | 8
+# include/ncurses_defs | 19
+# include/ncurses_mingw.h | 100
+# include/term_entry.h | 66
+# include/tic.h | 35
+# man/Makefile.in | 3
+# man/curs_add_wch.3x | 6
+# man/curs_add_wchstr.3x | 64
+# man/curs_addchstr.3x | 50
+# man/curs_addstr.3x | 38
+# man/curs_addwstr.3x | 35
+# man/curs_bkgrnd.3x | 6
+# man/curs_border_set.3x | 6
+# man/curs_get_wch.3x | 6
+# man/curs_get_wstr.3x | 6
+# man/curs_getcchar.3x | 6
+# man/curs_getch.3x | 12
+# man/curs_in_wchstr.3x | 6
+# man/curs_inopts.3x | 47
+# man/curs_ins_wstr.3x | 6
+# man/curs_inwstr.3x | 6
+# man/curs_overlay.3x | 26
+# man/curs_termcap.3x | 61
+# man/curs_terminfo.3x | 8
+# man/curs_threads.3x | 8
+# man/curs_util.3x | 88
+# man/form_field.3x | 6
+# man/infocmp.1m | 176
+# man/menu_items.3x | 6
+# man/ncurses.3x | 142
+# man/resizeterm.3x | 6
+# man/tabs.1 | 20
+# man/term.7 | 6
+# man/term_variables.3x | 6
+# man/terminfo.head | 15
+# man/terminfo.tail | 188
+# man/tic.1m | 200
+# man/toe.1m | 21
+# man/tput.1 | 35
+# man/tset.1 | 39
+# menu/Makefile.in | 7
+# menu/m_attribs.c | 6
+# menu/m_driver.c | 12
+# menu/m_format.c | 20
+# menu/m_global.c | 38
+# menu/m_hook.c | 6
+# menu/m_item_new.c | 21
+# menu/m_pad.c | 6
+# menu/m_post.c | 40
+# menu/m_req_name.c | 19
+# menu/m_spacing.c | 10
+# menu/menu.priv.h | 15
+# menu/mf_common.h | 18
+# misc/Makefile.in | 10
+# misc/gen-pkgconfig.in | 86
+# misc/gen_edit.sh | 72
+# misc/ncurses-config.in | 49
+# misc/run_tic.in | 7
+# misc/terminfo.src | 1357 +
+# mk-0th.awk | 91
+# mk-1st.awk | 118
+# ncurses-5.9-20130504/include/nc_string.h | 77
+# ncurses-5.9-20130504/include/nc_termios.h | 171
+# ncurses-5.9-20130504/ncurses/llib-ltic | 212
+# ncurses-5.9-20130504/ncurses/llib-ltictw | 212
+# ncurses-5.9-20130504/ncurses/llib-lticw | 212
+# ncurses-5.9-20130504/ncurses/llib-ltinfo | 1504 +
+# ncurses-5.9-20130504/ncurses/llib-ltinfotw | 1646 +
+# ncurses-5.9-20130504/ncurses/llib-ltinfow | 1537 +
+# ncurses-5.9-20130504/ncurses/tinfo/obsolete.c | 102
+# ncurses-5.9-20130504/ncurses/widechar/widechars.c | 152
+# ncurses-5.9-20130504/package/debian/changelog | 11
+# ncurses-5.9-20130504/package/debian/compat | 1
+# ncurses-5.9-20130504/package/debian/control | 16
+# ncurses-5.9-20130504/package/debian/copyright | 112
+# ncurses-5.9-20130504/package/debian/rules | 123
+# ncurses-5.9-20130504/package/debian/source/format | 1
+# ncurses-5.9-20130504/package/debian/watch | 4
+# ncurses-5.9-20130504/package/ncurses.spec | 92
+# ncurses-5.9-20130504/test/color_name.h | 103
+# ncurses-5.9-20130504/test/test_vid_puts.c | 148
+# ncurses-5.9-20130504/test/test_vidputs.c | 148
+# ncurses-5.9-20130504/test/widechars.h | 71
+# ncurses/Makefile.in | 22
+# ncurses/base/MKkeyname.awk | 13
+# ncurses/base/MKlib_gen.sh | 43
+# ncurses/base/MKunctrl.awk | 6
+# ncurses/base/keybound.c | 9
+# ncurses/base/keyok.c | 66
+# ncurses/base/lib_addch.c | 16
+# ncurses/base/lib_addstr.c | 10
+# ncurses/base/lib_beep.c | 11
+# ncurses/base/lib_bkgd.c | 11
+# ncurses/base/lib_color.c | 89
+# ncurses/base/lib_dft_fgbg.c | 5
+# ncurses/base/lib_driver.c | 22
+# ncurses/base/lib_flash.c | 20
+# ncurses/base/lib_freeall.c | 20
+# ncurses/base/lib_getch.c | 39
+# ncurses/base/lib_getstr.c | 6
+# ncurses/base/lib_insch.c | 8
+# ncurses/base/lib_instr.c | 14
+# ncurses/base/lib_mouse.c | 415
+# ncurses/base/lib_newterm.c | 11
+# ncurses/base/lib_newwin.c | 17
+# ncurses/base/lib_overlay.c | 21
+# ncurses/base/lib_printw.c | 34
+# ncurses/base/lib_refresh.c | 17
+# ncurses/base/lib_restart.c | 10
+# ncurses/base/lib_scanw.c | 6
+# ncurses/base/lib_screen.c | 19
+# ncurses/base/lib_scroll.c | 8
+# ncurses/base/lib_set_term.c | 41
+# ncurses/base/lib_slkrefr.c | 22
+# ncurses/base/lib_slkset.c | 17
+# ncurses/base/lib_touch.c | 6
+# ncurses/base/lib_ungetch.c | 11
+# ncurses/base/resizeterm.c | 83
+# ncurses/base/safe_sprintf.c | 20
+# ncurses/base/vsscanf.c | 8
+# ncurses/base/wresize.c | 9
+# ncurses/build.priv.h | 6
+# ncurses/curses.priv.h | 280
+# ncurses/fifo_defs.h | 46
+# ncurses/llib-lncurses | 11
+# ncurses/llib-lncursest | 11
+# ncurses/llib-lncursestw | 11
+# ncurses/llib-lncursesw | 11
+# ncurses/modules | 8
+# ncurses/tinfo/MKcaptab.sh | 10
+# ncurses/tinfo/access.c | 43
+# ncurses/tinfo/alloc_entry.c | 31
+# ncurses/tinfo/alloc_ttype.c | 52
+# ncurses/tinfo/captoinfo.c | 212
+# ncurses/tinfo/comp_error.c | 20
+# ncurses/tinfo/comp_expand.c | 19
+# ncurses/tinfo/comp_parse.c | 189
+# ncurses/tinfo/comp_scan.c | 169
+# ncurses/tinfo/db_iterator.c | 413
+# ncurses/tinfo/doalloc.c | 21
+# ncurses/tinfo/entries.c | 11
+# ncurses/tinfo/getenv_num.c | 21
+# ncurses/tinfo/hashed_db.c | 159
+# ncurses/tinfo/home_terminfo.c | 10
+# ncurses/tinfo/lib_acs.c | 7
+# ncurses/tinfo/lib_cur_term.c | 7
+# ncurses/tinfo/lib_data.c | 14
+# ncurses/tinfo/lib_napms.c | 12
+# ncurses/tinfo/lib_options.c | 39
+# ncurses/tinfo/lib_print.c | 10
+# ncurses/tinfo/lib_raw.c | 35
+# ncurses/tinfo/lib_setup.c | 158
+# ncurses/tinfo/lib_termcap.c | 39
+# ncurses/tinfo/lib_tgoto.c | 9
+# ncurses/tinfo/lib_tparm.c | 28
+# ncurses/tinfo/lib_tputs.c | 92
+# ncurses/tinfo/lib_ttyflags.c | 10
+# ncurses/tinfo/make_hash.c | 51
+# ncurses/tinfo/make_keys.c | 6
+# ncurses/tinfo/name_match.c | 42
+# ncurses/tinfo/parse_entry.c | 40
+# ncurses/tinfo/read_entry.c | 274
+# ncurses/tinfo/read_termcap.c | 85
+# ncurses/tinfo/strings.c | 8
+# ncurses/tinfo/tinfo_driver.c | 181
+# ncurses/tinfo/trim_sgr0.c | 85
+# ncurses/tinfo/write_entry.c | 103
+# ncurses/trace/lib_trace.c | 20
+# ncurses/trace/lib_traceatr.c | 44
+# ncurses/trace/lib_tracebits.c | 24
+# ncurses/trace/lib_tracechr.c | 15
+# ncurses/trace/lib_tracedmp.c | 8
+# ncurses/trace/lib_tracemse.c | 42
+# ncurses/trace/trace_buf.c | 11
+# ncurses/trace/trace_tries.c | 37
+# ncurses/trace/varargs.c | 23
+# ncurses/trace/visbuf.c | 48
+# ncurses/tty/hardscroll.c | 24
+# ncurses/tty/hashmap.c | 6
+# ncurses/tty/lib_mvcur.c | 115
+# ncurses/tty/lib_tstp.c | 55
+# ncurses/tty/lib_twait.c | 64
+# ncurses/tty/lib_vidattr.c | 50
+# ncurses/tty/tty_update.c | 264
+# ncurses/widechar/lib_box_set.c | 6
+# ncurses/widechar/lib_cchar.c | 16
+# ncurses/widechar/lib_get_wch.c | 9
+# ncurses/widechar/lib_get_wstr.c | 8
+# ncurses/widechar/lib_ins_wch.c | 6
+# ncurses/widechar/lib_inwstr.c | 11
+# ncurses/widechar/lib_slk_wset.c | 30
+# ncurses/widechar/lib_unget_wch.c | 6
+# ncurses/widechar/lib_vid_attr.c | 40
+# ncurses/widechar/lib_wacs.c | 38
+# ncurses/widechar/lib_wunctrl.c | 17
+# ncurses/win32con/win_driver.c | 385
+# panel/Makefile.in | 8
+# panel/p_above.c | 6
+# panel/p_below.c | 6
+# panel/panel.c | 12
+# panel/panel.priv.h | 8
+# progs/Makefile.in | 30
+# progs/capconvert | 24
+# progs/dump_entry.c | 205
+# progs/dump_entry.h | 14
+# progs/infocmp.c | 467
+# progs/progs.priv.h | 22
+# progs/tabs.c | 92
+# progs/tic.c | 565
+# progs/toe.c | 442
+# progs/tput.c | 9
+# progs/transform.c | 16
+# progs/tset.c | 43
+# test/Makefile.in | 10
+# test/README | 52
+# test/aclocal.m4 | 1128 -
+# test/background.c | 228
+# test/blue.c | 12
+# test/bs.c | 60
+# test/cardfile.c | 26
+# test/chgat.c | 6
+# test/clip_printw.c | 11
+# test/color_set.c | 6
+# test/configure |16812 ++++++++++----------
+# test/configure.in | 189
+# test/demo_defkey.c | 6
+# test/demo_forms.c | 25
+# test/demo_menus.c | 33
+# test/demo_termcap.c | 289
+# test/demo_terminfo.c | 245
+# test/ditto.c | 10
+# test/dots.c | 8
+# test/dots_mvcur.c | 8
+# test/echochar.c | 6
+# test/filter.c | 8
+# test/firework.c | 16
+# test/gdc.c | 20
+# test/hanoi.c | 33
+# test/hashtest.c | 6
+# test/inchs.c | 16
+# test/ins_wide.c | 34
+# test/insdelln.c | 8
+# test/inserts.c | 29
+# test/knight.c | 70
+# test/linedata.h | 6
+# test/modules | 8
+# test/movewindow.c | 227
+# test/ncurses.c | 351
+# test/newdemo.c | 23
+# test/programs | 6
+# test/railroad.c | 8
+# test/rain.c | 8
+# test/redraw.c | 6
+# test/tclock.c | 6
+# test/test.priv.h | 111
+# test/test_add_wchstr.c | 31
+# test/test_addchstr.c | 31
+# test/test_addstr.c | 29
+# test/test_addwstr.c | 34
+# test/test_getstr.c | 15
+# test/testaddch.c | 12
+# test/testcurs.c | 64
+# test/view.c | 88
+# test/worm.c | 28
+# test/xmas.c | 6
+# 388 files changed, 39001 insertions(+), 21591 deletions(-)
+# ------------------------------------------------------------------------------
+# Please remove the following files before applying this patch.
+# (You can feed this patch to 'sh' to do so.)
+
+rm -f mk-dlls.sh.in
+rm -f ncurses/base/memmove.c
+rm -f ncurses/tinfo/setbuf.c
+rm -f ncurses/tty/tty_display.h
+rm -f ncurses/tty/tty_input.h
+exit
+
+Index: Ada95/aclocal.m4
+Prereq: 1.24
+--- ncurses-5.9/Ada95/aclocal.m4 2011-03-31 23:32:36.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/aclocal.m4 2013-04-13 23:00:18.000000000 +0000
+@@ -1,5 +1,5 @@
+ dnl***************************************************************************
+-dnl Copyright (c) 2010,2011 Free Software Foundation, Inc. *
++dnl Copyright (c) 2010-2012,2013 Free Software Foundation, Inc. *
+ dnl *
+ dnl Permission is hereby granted, free of charge, to any person obtaining a *
+ dnl copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ dnl
+ dnl Author: Thomas E. Dickey
+ dnl
+-dnl $Id: aclocal.m4,v 1.24 2011/03/31 23:32:36 tom Exp $
++dnl $Id: aclocal.m4,v 1.66 2013/04/13 23:00:18 tom Exp $
+ dnl Macros used in NCURSES Ada95 auto-configuration script.
+ dnl
+ dnl These macros are maintained separately from NCURSES. The copyright on
+@@ -39,6 +39,32 @@
+ dnl
+ dnl ---------------------------------------------------------------------------
+ dnl ---------------------------------------------------------------------------
++dnl CF_ACVERSION_CHECK version: 4 updated: 2013/03/04 19:52:56
++dnl ------------------
++dnl Conditionally generate script according to whether we're using a given autoconf.
++dnl
++dnl $1 = version to compare against
++dnl $2 = code to use if AC_ACVERSION is at least as high as $1.
++dnl $3 = code to use if AC_ACVERSION is older than $1.
++define([CF_ACVERSION_CHECK],
++[
++ifdef([AC_ACVERSION], ,[m4_copy([m4_PACKAGE_VERSION],[AC_ACVERSION])])dnl
++ifdef([m4_version_compare],
++[m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])],
++[CF_ACVERSION_COMPARE(
++AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])),
++AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_ACVERSION_COMPARE version: 3 updated: 2012/10/03 18:39:53
++dnl --------------------
++dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1,
++dnl MAJOR2, MINOR2, TERNARY2,
++dnl PRINTABLE2, not FOUND, FOUND)
++define([CF_ACVERSION_COMPARE],
++[ifelse(builtin([eval], [$2 < $5]), 1,
++[ifelse([$8], , ,[$8])],
++[ifelse([$9], , ,[$9])])])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_ADA_INCLUDE_DIRS version: 6 updated: 2010/02/26 19:52:07
+ dnl -------------------
+ dnl Construct the list of include-options for the C programs in the Ada95
+@@ -290,75 +316,34 @@
+ }
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_ANSI_CC_CHECK version: 10 updated: 2010/10/23 15:52:32
+-dnl ----------------
+-dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
+-dnl in the sharutils 4.2 distribution.
+-AC_DEFUN([CF_ANSI_CC_CHECK],
+-[
+-AC_CACHE_CHECK(for ${CC:-cc} option to accept ANSI C, cf_cv_ansi_cc,[
+-cf_cv_ansi_cc=no
+-cf_save_CFLAGS="$CFLAGS"
+-cf_save_CPPFLAGS="$CPPFLAGS"
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc
+-# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
+-for cf_arg in "-DCC_HAS_PROTOS" \
+- "" \
+- -qlanglvl=ansi \
+- -std1 \
+- -Ae \
+- "-Aa -D_HPUX_SOURCE" \
+- -Xc
+-do
+- CF_ADD_CFLAGS($cf_arg)
+- AC_TRY_COMPILE(
+-[
+-#ifndef CC_HAS_PROTOS
+-#if !defined(__STDC__) || (__STDC__ != 1)
+-choke me
+-#endif
+-#endif
+-],[
+- int test (int i, double x);
+- struct s1 {int (*f) (int a);};
+- struct s2 {int (*f) (double a);};],
+- [cf_cv_ansi_cc="$cf_arg"; break])
+-done
+-CFLAGS="$cf_save_CFLAGS"
+-CPPFLAGS="$cf_save_CPPFLAGS"
+-])
+-
+-if test "$cf_cv_ansi_cc" != "no"; then
+-if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
+- CF_ADD_CFLAGS($cf_cv_ansi_cc)
+-else
+- AC_DEFINE(CC_HAS_PROTOS)
+-fi
+-fi
+-])dnl
++dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
++dnl --------------
++dnl Allow user to disable a normally-on option.
++AC_DEFUN([CF_ARG_DISABLE],
++[CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54
+-dnl ---------------
+-dnl For programs that must use an ANSI compiler, obtain compiler options that
+-dnl will make it recognize prototypes. We'll do preprocessor checks in other
+-dnl macros, since tools such as unproto can fake prototypes, but only part of
+-dnl the preprocessor.
+-AC_DEFUN([CF_ANSI_CC_REQD],
+-[AC_REQUIRE([CF_ANSI_CC_CHECK])
+-if test "$cf_cv_ansi_cc" = "no"; then
+- AC_MSG_ERROR(
+-[Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto])
+-fi
++dnl CF_ARG_OPTION version: 4 updated: 2010/05/26 05:38:42
++dnl -------------
++dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
++dnl values.
++dnl
++dnl Parameters:
++dnl $1 = option name
++dnl $2 = help-string
++dnl $3 = action to perform if option is not default
++dnl $4 = action if perform if option is default
++dnl $5 = default option value (either 'yes' or 'no')
++AC_DEFUN([CF_ARG_OPTION],
++[AC_ARG_ENABLE([$1],[$2],[test "$enableval" != ifelse([$5],no,yes,no) && enableval=ifelse([$5],no,no,yes)
++ if test "$enableval" != "$5" ; then
++ifelse([$3],,[ :]dnl
++,[ $3]) ifelse([$4],,,[
++ else
++ $4])
++ fi],[enableval=$5 ifelse([$4],,,[
++ $4
+ ])dnl
++ ])])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_AR_FLAGS version: 5 updated: 2010/05/20 20:24:29
+ dnl -----------
+@@ -413,7 +398,7 @@
+ AC_SUBST(ARFLAGS)
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_BUILD_CC version: 6 updated: 2006/10/14 15:23:15
++dnl CF_BUILD_CC version: 7 updated: 2012/10/06 15:31:55
+ dnl -----------
+ dnl If we're cross-compiling, allow the user to override the tools and their
+ dnl options. The configure script is oriented toward identifying the host
+@@ -423,7 +408,8 @@
+ dnl $1 = default for $CPPFLAGS
+ dnl $2 = default for $LIBS
+ AC_DEFUN([CF_BUILD_CC],[
+-AC_REQUIRE([CF_PROG_EXT])
++CF_ACVERSION_CHECK(2.52,,
++ [AC_REQUIRE([CF_PROG_EXT])])
+ if test "$cross_compiling" = yes ; then
+
+ # defaults that we might want to override
+@@ -504,7 +490,33 @@
+ AC_SUBST(BUILD_OBJEXT)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CFG_DEFAULTS version: 7 updated: 2005/09/24 16:15:00
++dnl CF_CC_ENV_FLAGS version: 1 updated: 2012/10/03 05:25:49
++dnl ---------------
++dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content
++dnl into CC. This will not help with broken scripts that wrap the compiler with
++dnl options, but eliminates a more common category of user confusion.
++AC_DEFUN([CF_CC_ENV_FLAGS],
++[
++# This should have been defined by AC_PROG_CC
++: ${CC:=cc}
++
++AC_MSG_CHECKING(\$CC variable)
++case "$CC" in #(vi
++*[[\ \ ]]-[[IUD]]*)
++ AC_MSG_RESULT(broken)
++ AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
++ # humor him...
++ cf_flags=`echo "$CC" | sed -e 's/^[[^ ]]*[[ ]]//'`
++ CC=`echo "$CC" | sed -e 's/[[ ]].*//'`
++ CF_ADD_CFLAGS($cf_flags)
++ ;;
++*)
++ AC_MSG_RESULT(ok)
++ ;;
++esac
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CFG_DEFAULTS version: 9 updated: 2013/04/13 18:58:32
+ dnl ---------------
+ dnl Determine the default configuration into which we'll install ncurses. This
+ dnl can be overridden by the user's command-line options. There's two items to
+@@ -522,7 +534,7 @@
+ if test "x$prefix" = "xNONE" ; then
+ case "$cf_cv_system_name" in
+ # non-vendor systems don't have a conflict
+- openbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
++ openbsd*|freebsd*|mirbsd*|linux*|cygwin*|k*bsd*-gnu|mingw*)
+ prefix=/usr
+ ;;
+ *) prefix=$ac_default_prefix
+@@ -558,7 +570,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59
++dnl CF_CHECK_CACHE version: 12 updated: 2012/10/02 20:55:03
+ dnl --------------
+ dnl Check if we're accidentally using a cache from a different machine.
+ dnl Derive the system name, as a check for reusing the autoconf cache.
+@@ -581,7 +593,7 @@
+ system_name="`(hostname) 2>/dev/null`"
+ fi
+ fi
+-test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
++test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name",[Define to the system name.])
+ AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
+
+ test -z "$system_name" && system_name="$cf_cv_system_name"
+@@ -593,7 +605,40 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_HEADER version: 2 updated: 2010/04/28 06:02:16
++dnl CF_CLANG_COMPILER version: 1 updated: 2012/06/16 14:55:39
++dnl -----------------
++dnl Check if the given compiler is really clang. clang's C driver defines
++dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does
++dnl not ignore some gcc options.
++dnl
++dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
++dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
++dnl the wrappers for gcc and g++ warnings.
++dnl
++dnl $1 = GCC (default) or GXX
++dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
++dnl $3 = CFLAGS (default) or CXXFLAGS
++AC_DEFUN([CF_CLANG_COMPILER],[
++ifelse([$2],,CLANG_COMPILER,[$2])=no
++
++if test "$ifelse([$1],,[$1],GCC)" = yes ; then
++ AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler)
++ cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
++ ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments"
++ AC_TRY_COMPILE([],[
++#ifdef __clang__
++#else
++make an error
++#endif
++],[ifelse([$2],,CLANG_COMPILER,[$2])=yes
++cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
++],[])
++ ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
++ AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2]))
++fi
++])
++dnl ---------------------------------------------------------------------------
++dnl CF_CURSES_HEADER version: 3 updated: 2011/05/01 19:47:45
+ dnl ----------------
+ dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
+ dnl variations of ncurses' installs.
+@@ -603,10 +648,10 @@
+ AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[
+ cf_cv_ncurses_header=none
+ for cf_header in ifelse($1,,,[ \
+- $1/curses.h \
+- $1/ncurses.h]) \
+- curses.h \
+- ncurses.h ifelse($1,,[ncurses/curses.h ncurses/ncurses.h])
++ $1/ncurses.h \
++ $1/curses.h]) \
++ ncurses.h \
++ curses.h ifelse($1,,[ncurses/ncurses.h ncurses/curses.h])
+ do
+ AC_TRY_COMPILE([#include <${cf_header}>],
+ [initscr(); tgoto("?", 0,0)],
+@@ -627,6 +672,67 @@
+ dnl "dirname" is not portable, so we fake it with a shell script.
+ AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_DISABLE_ECHO version: 12 updated: 2012/10/06 16:30:28
++dnl ---------------
++dnl You can always use "make -n" to see the actual options, but it's hard to
++dnl pick out/analyze warning messages when the compile-line is long.
++dnl
++dnl Sets:
++dnl ECHO_LT - symbol to control if libtool is verbose
++dnl ECHO_LD - symbol to prefix "cc -o" lines
++dnl RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o)
++dnl SHOW_CC - symbol to put before explicit "cc -c" lines
++dnl ECHO_CC - symbol to put before any "cc" line
++dnl
++AC_DEFUN([CF_DISABLE_ECHO],[
++AC_MSG_CHECKING(if you want to see long compiling messages)
++CF_ARG_DISABLE(echo,
++ [ --disable-echo do not display "compiling" commands],
++ [
++ ECHO_LT='--silent'
++ ECHO_LD='@echo linking [$]@;'
++ RULE_CC='@echo compiling [$]<'
++ SHOW_CC='@echo compiling [$]@'
++ ECHO_CC='@'
++],[
++ ECHO_LT=''
++ ECHO_LD=''
++ RULE_CC=''
++ SHOW_CC=''
++ ECHO_CC=''
++])
++AC_MSG_RESULT($enableval)
++AC_SUBST(ECHO_LT)
++AC_SUBST(ECHO_LD)
++AC_SUBST(RULE_CC)
++AC_SUBST(SHOW_CC)
++AC_SUBST(ECHO_CC)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_ENABLE_PC_FILES version: 9 updated: 2012/08/04 13:59:54
++dnl ------------------
++dnl This is the "--enable-pc-files" option, which is available if there is a
++dnl pkg-config configuration on the local machine.
++AC_DEFUN([CF_ENABLE_PC_FILES],[
++AC_REQUIRE([CF_PKG_CONFIG])
++AC_REQUIRE([CF_WITH_PKG_CONFIG_LIBDIR])
++
++if test "$PKG_CONFIG" != none ; then
++ AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
++ AC_ARG_ENABLE(pc-files,
++ [ --enable-pc-files generate and install .pc files for pkg-config],
++ [enable_pc_files=$enableval],
++ [enable_pc_files=no])
++ AC_MSG_RESULT($enable_pc_files)
++ if test "$enable_pc_files" != no
++ then
++ CF_PATH_SYNTAX(PKG_CONFIG_LIBDIR)
++ fi
++else
++ enable_pc_files=no
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_FIND_LIBRARY version: 9 updated: 2008/03/23 14:48:54
+ dnl ---------------
+ dnl Look for a non-standard library, given parameters for AC_TRY_LINK. We
+@@ -807,7 +913,26 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_ATTRIBUTES version: 14 updated: 2010/10/23 15:52:32
++dnl CF_FIXUP_ADAFLAGS version: 1 updated: 2012/03/31 18:48:10
++dnl -----------------
++dnl make ADAFLAGS consistent with CFLAGS
++AC_DEFUN([CF_FIXUP_ADAFLAGS],[
++ AC_MSG_CHECKING(optimization options for ADAFLAGS)
++ case "$CFLAGS" in
++ *-g*)
++ CF_ADD_ADAFLAGS(-g)
++ ;;
++ esac
++ case "$CFLAGS" in
++ *-O*)
++ cf_O_flag=`echo "$CFLAGS" |sed -e 's/^.*-O/-O/' -e 's/[[ ]].*//'`
++ CF_ADD_ADAFLAGS($cf_O_flag)
++ ;;
++ esac
++ AC_MSG_RESULT($ADAFLAGS)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_GCC_ATTRIBUTES version: 16 updated: 2012/10/02 20:55:03
+ dnl -----------------
+ dnl Test for availability of useful gcc __attribute__ directives to quiet
+ dnl compiler warnings. Though useful, not all are supported -- and contrary
+@@ -885,27 +1010,27 @@
+ test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
+ cat conftest.h >>confdefs.h
+ case $cf_attribute in #(vi
++ noreturn) #(vi
++ AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc])
++ ;;
+ printf) #(vi
+- if test "$cf_printf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+-EOF
++ cf_value='/* nothing */'
++ if test "$cf_printf_attribute" != no ; then
++ cf_value='__attribute__((format(printf,fmt,var)))'
++ AC_DEFINE(GCC_PRINTF,1,[Define to 1 if the compiler supports gcc-like printf attribute.])
+ fi
++ AC_DEFINE_UNQUOTED(GCC_PRINTFLIKE(fmt,var),$cf_value,[Define to printf-attribute for gcc])
+ ;;
+ scanf) #(vi
+- if test "$cf_scanf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+-EOF
++ cf_value='/* nothing */'
++ if test "$cf_scanf_attribute" != no ; then
++ cf_value='__attribute__((format(scanf,fmt,var)))'
++ AC_DEFINE(GCC_SCANF,1,[Define to 1 if the compiler supports gcc-like scanf attribute.])
+ fi
++ AC_DEFINE_UNQUOTED(GCC_SCANFLIKE(fmt,var),$cf_value,[Define to sscanf-attribute for gcc])
++ ;;
++ unused) #(vi
++ AC_DEFINE_UNQUOTED(GCC_UNUSED,$cf_directive,[Define to unused-attribute for gcc])
+ ;;
+ esac
+ fi
+@@ -917,7 +1042,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_VERSION version: 5 updated: 2010/04/24 11:02:31
++dnl CF_GCC_VERSION version: 7 updated: 2012/10/18 06:46:33
+ dnl --------------
+ dnl Find version of gcc
+ AC_DEFUN([CF_GCC_VERSION],[
+@@ -925,13 +1050,13 @@
+ GCC_VERSION=none
+ if test "$GCC" = yes ; then
+ AC_MSG_CHECKING(version of $CC)
+- GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
++ GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[[^)]]*) //' -e 's/^.*(Debian[[^)]]*) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
+ test -z "$GCC_VERSION" && GCC_VERSION=unknown
+ AC_MSG_RESULT($GCC_VERSION)
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_WARNINGS version: 27 updated: 2010/10/23 15:52:32
++dnl CF_GCC_WARNINGS version: 29 updated: 2012/06/16 14:55:39
+ dnl ---------------
+ dnl Check if the compiler supports useful warning options. There's a few that
+ dnl we don't use, simply because they're too noisy:
+@@ -954,6 +1079,7 @@
+ [
+ AC_REQUIRE([CF_GCC_VERSION])
+ CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
++CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS)
+
+ cat > conftest.$ac_ext <<EOF
+ #line __oline__ "${as_me:-configure}"
+@@ -1029,6 +1155,13 @@
+ continue;;
+ esac
+ ;;
++ Wpointer-arith) #(vi
++ case $GCC_VERSION in
++ [[12]].*)
++ CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
++ continue;;
++ esac
++ ;;
+ esac
+ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+ fi
+@@ -1070,53 +1203,6 @@
+ AC_SUBST(cf_generic_objects)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GNAT_SIGINT version: 1 updated: 2011/03/27 20:07:59
+-dnl --------------
+-dnl Check if gnat supports SIGINT, and presumably tasking. For the latter, it
+-dnl is noted that gnat may compile a tasking unit even for configurations which
+-dnl fail at runtime.
+-AC_DEFUN([CF_GNAT_SIGINT],[
+-AC_CACHE_CHECK(if GNAT supports SIGINT,cf_cv_gnat_sigint,[
+-CF_GNAT_TRY_LINK([with Ada.Interrupts.Names;
+-
+-package ConfTest is
+-
+- pragma Warnings (Off); -- the next pragma exists since 3.11p
+- pragma Unreserve_All_Interrupts;
+- pragma Warnings (On);
+-
+- protected Process is
+- procedure Stop;
+- function Continue return Boolean;
+- pragma Attach_Handler (Stop, Ada.Interrupts.Names.SIGINT);
+- private
+- Done : Boolean := False;
+- end Process;
+-
+-end ConfTest;],
+-[package body ConfTest is
+- protected body Process is
+- procedure Stop is
+- begin
+- Done := True;
+- end Stop;
+- function Continue return Boolean is
+- begin
+- return not Done;
+- end Continue;
+- end Process;
+-end ConfTest;],
+- [cf_cv_gnat_sigint=yes],
+- [cf_cv_gnat_sigint=no])])
+-
+-if test $cf_cv_gnat_sigint = yes ; then
+- USE_GNAT_SIGINT=""
+-else
+- USE_GNAT_SIGINT="#"
+-fi
+-AC_SUBST(USE_GNAT_SIGINT)
+-])dnl
+-dnl ---------------------------------------------------------------------------
+ dnl CF_GNAT_PRAGMA_UNREF version: 1 updated: 2010/06/19 15:22:18
+ dnl --------------------
+ dnl Check if the gnat pragma "Unreferenced" works.
+@@ -1253,6 +1339,53 @@
+ AC_SUBST(USE_GNAT_LIBRARIES)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_GNAT_SIGINT version: 1 updated: 2011/03/27 20:07:59
++dnl --------------
++dnl Check if gnat supports SIGINT, and presumably tasking. For the latter, it
++dnl is noted that gnat may compile a tasking unit even for configurations which
++dnl fail at runtime.
++AC_DEFUN([CF_GNAT_SIGINT],[
++AC_CACHE_CHECK(if GNAT supports SIGINT,cf_cv_gnat_sigint,[
++CF_GNAT_TRY_LINK([with Ada.Interrupts.Names;
++
++package ConfTest is
++
++ pragma Warnings (Off); -- the next pragma exists since 3.11p
++ pragma Unreserve_All_Interrupts;
++ pragma Warnings (On);
++
++ protected Process is
++ procedure Stop;
++ function Continue return Boolean;
++ pragma Attach_Handler (Stop, Ada.Interrupts.Names.SIGINT);
++ private
++ Done : Boolean := False;
++ end Process;
++
++end ConfTest;],
++[package body ConfTest is
++ protected body Process is
++ procedure Stop is
++ begin
++ Done := True;
++ end Stop;
++ function Continue return Boolean is
++ begin
++ return not Done;
++ end Continue;
++ end Process;
++end ConfTest;],
++ [cf_cv_gnat_sigint=yes],
++ [cf_cv_gnat_sigint=no])])
++
++if test $cf_cv_gnat_sigint = yes ; then
++ USE_GNAT_SIGINT=""
++else
++ USE_GNAT_SIGINT="#"
++fi
++AC_SUBST(USE_GNAT_SIGINT)
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_GNAT_TRY_LINK version: 3 updated: 2011/03/19 14:47:45
+ dnl ----------------
+ dnl Verify that a test program compiles/links with GNAT.
+@@ -1311,7 +1444,7 @@
+ rm -rf conftest* *~conftest*
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GNAT_VERSION version: 17 updated: 2011/03/23 20:24:41
++dnl CF_GNAT_VERSION version: 18 updated: 2012/01/21 19:28:10
+ dnl ---------------
+ dnl Verify version of GNAT.
+ AC_DEFUN([CF_GNAT_VERSION],
+@@ -1323,7 +1456,7 @@
+ AC_MSG_RESULT($cf_gnat_version)
+
+ case $cf_gnat_version in #(vi
+-3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*) #(vi
++3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|20[[0-9]][[0-9]]) #(vi
+ cf_cv_prog_gnat_correct=yes
+ ;;
+ *)
+@@ -1416,7 +1549,7 @@
+ [AC_DIVERT_HELP([$1])dnl
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_INCLUDE_DIRS version: 6 updated: 2009/01/06 19:37:40
++dnl CF_INCLUDE_DIRS version: 7 updated: 2012/11/10 19:15:05
+ dnl ---------------
+ dnl Construct the list of include-options according to whether we're building
+ dnl in the source directory or using '--srcdir=DIR' option. If we're building
+@@ -1424,25 +1557,25 @@
+ dnl since that usually breaks gcc's shadow-includes.
+ AC_DEFUN([CF_INCLUDE_DIRS],
+ [
+-CPPFLAGS="$CPPFLAGS -I. -I../include"
+-if test "$srcdir" != "."; then
+- CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
+-fi
+ if test "$GCC" != yes; then
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ elif test "$includedir" != "/usr/include"; then
+ if test "$includedir" = '${prefix}/include' ; then
+ if test $prefix != /usr ; then
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ fi
+ else
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ fi
+ fi
++if test "$srcdir" != "."; then
++ CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
++fi
++CPPFLAGS="-I. -I../include $CPPFLAGS"
+ AC_SUBST(CPPFLAGS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_INTEL_COMPILER version: 4 updated: 2010/05/26 05:38:42
++dnl CF_INTEL_COMPILER version: 5 updated: 2013/02/10 10:41:05
+ dnl -----------------
+ dnl Check if the given compiler is really the Intel compiler for Linux. It
+ dnl tries to imitate gcc, but does not return an error when it finds a mismatch
+@@ -1456,6 +1589,7 @@
+ dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
+ dnl $3 = CFLAGS (default) or CXXFLAGS
+ AC_DEFUN([CF_INTEL_COMPILER],[
++AC_REQUIRE([AC_CANONICAL_HOST])
+ ifelse([$2],,INTEL_COMPILER,[$2])=no
+
+ if test "$ifelse([$1],,[$1],GCC)" = yes ; then
+@@ -1479,7 +1613,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50
++dnl CF_LARGEFILE version: 8 updated: 2012/10/06 08:57:51
+ dnl ------------
+ dnl Add checks for large file support.
+ AC_DEFUN([CF_LARGEFILE],[
+@@ -1513,12 +1647,12 @@
+ [cf_cv_struct_dirent64=yes],
+ [cf_cv_struct_dirent64=no])
+ ])
+- test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64)
++ test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64,1,[Define to 1 if we have struct dirent64])
+ fi
+ ])
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LD_RPATH_OPT version: 3 updated: 2010/06/02 05:03:05
++dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41
+ dnl ---------------
+ dnl For the given system and compiler, find the compiler flags to pass to the
+ dnl loader to use the "rpath" feature.
+@@ -1539,10 +1673,10 @@
+ linux*|gnu*|k*bsd*-gnu) #(vi
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+-openbsd[[2-9]].*) #(vi
++openbsd[[2-9]].*|mirbsd*) #(vi
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+-freebsd*) #(vi
++dragonfly*|freebsd*) #(vi
+ LD_RPATH_OPT="-rpath "
+ ;;
+ netbsd*) #(vi
+@@ -1601,11 +1735,11 @@
+ $1="$cf_library_path_list [$]$1"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LIB_PREFIX version: 8 updated: 2008/09/13 11:34:16
++dnl CF_LIB_PREFIX version: 9 updated: 2012/01/21 19:28:10
+ dnl -------------
+ dnl Compute the library-prefix for the given host system
+ dnl $1 = variable to set
+-AC_DEFUN([CF_LIB_PREFIX],
++define([CF_LIB_PREFIX],
+ [
+ case $cf_cv_system_name in #(vi
+ OS/2*|os2*) #(vi
+@@ -1618,44 +1752,7 @@
+ AC_SUBST(LIB_PREFIX)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LIB_SONAME version: 5 updated: 2010/08/14 18:25:37
+-dnl -------------
+-dnl Find the and soname for the given shared library. Set the cache variable
+-dnl cf_cv_$3_soname to this, unless it is not found. Then set the cache
+-dnl variable to "unknown".
+-dnl
+-dnl $1 = headers
+-dnl $2 = code
+-dnl $3 = library name
+-AC_DEFUN([CF_LIB_SONAME],
+-[
+-AC_CACHE_CHECK(for soname of $3 library,cf_cv_$3_soname,[
+-
+-cf_cv_$3_soname=unknown
+-if test "$cross_compiling" != yes ; then
+-cat >conftest.$ac_ext <<CF_EOF
+-$1
+-int main()
+-{
+-$2
+- ${cf_cv_main_return:-return}(0);
+-}
+-CF_EOF
+-cf_save_LIBS="$LIBS"
+- CF_ADD_LIB($3)
+- if AC_TRY_EVAL(ac_compile) ; then
+- if AC_TRY_EVAL(ac_link) ; then
+- cf_cv_$3_soname=`ldd conftest$ac_exeext 2>/dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep lib$3.`
+- test -z "$cf_cv_$3_soname" && cf_cv_$3_soname=unknown
+- fi
+- fi
+-rm -rf conftest*
+-LIBS="$cf_save_LIBS"
+-fi
+-])
+-])
+-dnl ---------------------------------------------------------------------------
+-dnl CF_LIB_SUFFIX version: 16 updated: 2008/12/27 12:30:03
++dnl CF_LIB_SUFFIX version: 18 updated: 2012/02/25 15:20:07
+ dnl -------------
+ dnl Compute the library file-suffix from the given model name
+ dnl $1 = model name
+@@ -1684,11 +1781,11 @@
+ ;;
+ shared) #(vi
+ case $cf_cv_system_name in
+- aix[[56]]*) #(vi
++ aix[[5-7]]*) #(vi
+ $2='.a'
+ $3=[$]$2
+ ;;
+- cygwin*) #(vi
++ cygwin*|mingw*) #(vi
+ $2='.dll'
+ $3='.dll.a'
+ ;;
+@@ -1735,7 +1832,7 @@
+ test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LINK_DATAONLY version: 9 updated: 2009/01/01 20:21:38
++dnl CF_LINK_DATAONLY version: 10 updated: 2012/10/06 17:41:51
+ dnl ----------------
+ dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
+ dnl only data (i.e., no functions), for example NeXT. On those systems we'll
+@@ -1792,81 +1889,12 @@
+ AC_MSG_RESULT($cf_cv_link_dataonly)
+
+ if test "$cf_cv_link_dataonly" = no ; then
+- AC_DEFINE(BROKEN_LINKER)
++ AC_DEFINE(BROKEN_LINKER,1,[if data-only library module does not link])
+ BROKEN_LINKER=1
+ fi
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LINK_FUNCS version: 7 updated: 2006/12/16 12:33:30
+-dnl -------------
+-dnl Most Unix systems have both link and symlink, a few don't have symlink.
+-dnl A few non-Unix systems implement symlink, but not link.
+-dnl A few non-systems implement neither (or have nonfunctional versions).
+-AC_DEFUN([CF_LINK_FUNCS],
+-[
+-AC_CHECK_FUNCS( \
+- remove \
+- unlink )
+-
+-if test "$cross_compiling" = yes ; then
+- AC_CHECK_FUNCS( \
+- link \
+- symlink )
+-else
+- AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
+- cf_cv_link_funcs=
+- for cf_func in link symlink ; do
+- AC_TRY_RUN([
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-#ifdef HAVE_UNISTD_H
+-#include <unistd.h>
+-#endif
+-int main()
+-{
+- int fail = 0;
+- char *src = "config.log";
+- char *dst = "conftest.chk";
+- struct stat src_sb;
+- struct stat dst_sb;
+-
+- stat(src, &src_sb);
+- fail = ($cf_func("config.log", "conftest.chk") < 0)
+- || (stat(dst, &dst_sb) < 0)
+- || (dst_sb.st_mtime != src_sb.st_mtime);
+-#ifdef HAVE_UNLINK
+- unlink(dst);
+-#else
+- remove(dst);
+-#endif
+- ${cf_cv_main_return:-return} (fail);
+-}
+- ],[
+- cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
+- eval 'ac_cv_func_'$cf_func'=yes'],[
+- eval 'ac_cv_func_'$cf_func'=no'],[
+- eval 'ac_cv_func_'$cf_func'=error'])
+- done
+- test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
+- ])
+- test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK)
+- test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
+-fi
+-])dnl
+-dnl ---------------------------------------------------------------------------
+-dnl CF_MAIN_RETURN version: 1 updated: 2006/12/10 09:51:54
+-dnl --------------
+-dnl Check if a return from main to the shell actually returns the same exit
+-dnl code. This is true for almost any POSIX environment.
+-dnl
+-dnl Some very old environments did not flush stdout, etc., on an exit. That
+-dnl would be a useful case to test for also.
+-AC_DEFUN([CF_MAIN_RETURN],
+-[
+-cf_cv_main_return=return
+-])dnl
+-dnl ---------------------------------------------------------------------------
+ dnl CF_MAKEFLAGS version: 14 updated: 2011/03/31 19:29:46
+ dnl ------------
+ dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
+@@ -1944,7 +1972,7 @@
+ AC_SUBST(MAKE_LOWER_TAGS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
++dnl CF_MIXEDCASE_FILENAMES version: 4 updated: 2012/10/02 20:55:03
+ dnl ----------------------
+ dnl Check if the file-system supports mixed-case filenames. If we're able to
+ dnl create a lowercase name and see it as uppercase, it doesn't support that.
+@@ -1971,10 +1999,10 @@
+ rm -f conftest CONFTEST
+ fi
+ ])
+-test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
++test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if filesystem supports mixed-case filenames.])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_MKSTEMP version: 7 updated: 2010/08/14 18:25:37
++dnl CF_MKSTEMP version: 9 updated: 2012/10/03 04:34:49
+ dnl ----------
+ dnl Check for a working mkstemp. This creates two files, checks that they are
+ dnl successfully created and distinct (AmigaOS apparently fails on the last).
+@@ -2016,11 +2044,13 @@
+ }
+ ],[cf_cv_func_mkstemp=yes
+ ],[cf_cv_func_mkstemp=no
+-],[AC_CHECK_FUNC(mkstemp)
+-])
++],[cf_cv_func_mkstemp=maybe])
+ ])
++if test "x$cf_cv_func_mkstemp" = xmaybe ; then
++ AC_CHECK_FUNC(mkstemp)
++fi
+ if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
+- AC_DEFINE(HAVE_MKSTEMP)
++ AC_DEFINE(HAVE_MKSTEMP,1,[Define to 1 if mkstemp() is available and working.])
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+@@ -2141,7 +2171,7 @@
+ ,[$1=no])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_CONFIG version: 8 updated: 2010/07/08 05:17:30
++dnl CF_NCURSES_CONFIG version: 10 updated: 2012/10/06 08:57:51
+ dnl -----------------
+ dnl Tie together the configure-script macros for ncurses.
+ dnl Prefer the "-config" script from ncurses 6.x, to simplify analysis.
+@@ -2153,7 +2183,10 @@
+ cf_ncuconfig_root=ifelse($1,,ncurses,$1)
+
+ echo "Looking for ${cf_ncuconfig_root}-config"
+-AC_PATH_PROGS(NCURSES_CONFIG,${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config,none)
++
++CF_ACVERSION_CHECK(2.52,
++ [AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)],
++ [AC_PATH_PROGS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)])
+
+ if test "$NCURSES_CONFIG" != none ; then
+
+@@ -2164,7 +2197,7 @@
+ CF_CURSES_HEADER(ifelse($1,,ncurses,$1))
+
+ dnl like CF_NCURSES_CPPFLAGS
+-AC_DEFINE(NCURSES)
++AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
+
+ dnl like CF_NCURSES_LIBS
+ CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncuconfig_root)
+@@ -2181,7 +2214,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_CPPFLAGS version: 20 updated: 2010/11/20 17:02:38
++dnl CF_NCURSES_CPPFLAGS version: 21 updated: 2012/10/06 08:57:51
+ dnl -------------------
+ dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting
+ dnl the CPPFLAGS variable so we can include its header.
+@@ -2227,12 +2260,12 @@
+ CF_TERM_HEADER
+
+ # some applications need this, but should check for NCURSES_VERSION
+-AC_DEFINE(NCURSES)
++AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
+
+ CF_NCURSES_VERSION
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_HEADER version: 2 updated: 2008/03/23 14:48:54
++dnl CF_NCURSES_HEADER version: 3 updated: 2012/10/06 08:57:51
+ dnl -----------------
+ dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
+ dnl variations of ncurses' installs.
+@@ -2283,16 +2316,16 @@
+
+ case $cf_cv_ncurses_header in # (vi
+ *ncurses.h)
+- AC_DEFINE(HAVE_NCURSES_H)
++ AC_DEFINE(HAVE_NCURSES_H,1,[Define to 1 if we have ncurses.h])
+ ;;
+ esac
+
+ case $cf_cv_ncurses_header in # (vi
+ ncurses/curses.h|ncurses/ncurses.h)
+- AC_DEFINE(HAVE_NCURSES_NCURSES_H)
++ AC_DEFINE(HAVE_NCURSES_NCURSES_H,1,[Define to 1 if we have ncurses/ncurses.h])
+ ;;
+ ncursesw/curses.h|ncursesw/ncurses.h)
+- AC_DEFINE(HAVE_NCURSESW_NCURSES_H)
++ AC_DEFINE(HAVE_NCURSESW_NCURSES_H,1,[Define to 1 if we have ncursesw/ncurses.h])
+ ;;
+ esac
+
+@@ -2366,7 +2399,7 @@
+ AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_VERSION version: 13 updated: 2010/10/23 15:54:49
++dnl CF_NCURSES_VERSION version: 14 updated: 2012/10/06 08:57:51
+ dnl ------------------
+ dnl Check for the version of ncurses, to aid in reporting bugs, etc.
+ dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use
+@@ -2425,55 +2458,7 @@
+ ])
+ rm -f $cf_tempfile
+ ])
+-test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES)
+-])dnl
+-dnl ---------------------------------------------------------------------------
+-dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
+-dnl ------------------
+-dnl see CF_WITH_NO_LEAKS
+-AC_DEFUN([CF_NO_LEAKS_OPTION],[
+-AC_MSG_CHECKING(if you want to use $1 for testing)
+-AC_ARG_WITH($1,
+- [$2],
+- [AC_DEFINE($3)ifelse([$4],,[
+- $4
+-])
+- : ${with_cflags:=-g}
+- : ${with_no_leaks:=yes}
+- with_$1=yes],
+- [with_$1=])
+-AC_MSG_RESULT(${with_$1:-no})
+-
+-case .$with_cflags in #(vi
+-.*-g*)
+- case .$CFLAGS in #(vi
+- .*-g*) #(vi
+- ;;
+- *)
+- CF_ADD_CFLAGS([-g])
+- ;;
+- esac
+- ;;
+-esac
+-])dnl
+-dnl ---------------------------------------------------------------------------
+-dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49
+-dnl ----------------
+-dnl Check if the given variable is a number. If not, report an error.
+-dnl $1 is the variable
+-dnl $2 is the message
+-AC_DEFUN([CF_NUMBER_SYNTAX],[
+-if test -n "$1" ; then
+- case $1 in #(vi
+- [[0-9]]*) #(vi
+- ;;
+- *)
+- AC_MSG_ERROR($2 is not a number: $1)
+- ;;
+- esac
+-else
+- AC_MSG_ERROR($2 value is empty)
+-fi
++test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31
+@@ -2496,20 +2481,23 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PATHSEP version: 5 updated: 2010/05/26 05:38:42
++dnl CF_PATHSEP version: 6 updated: 2012/09/29 18:38:12
+ dnl ----------
+-dnl Provide a value for the $PATH and similar separator
++dnl Provide a value for the $PATH and similar separator (or amend the value
++dnl as provided in autoconf 2.5x).
+ AC_DEFUN([CF_PATHSEP],
+ [
++ AC_MSG_CHECKING(for PATH separator)
+ case $cf_cv_system_name in
+ os2*) PATH_SEPARATOR=';' ;;
+- *) PATH_SEPARATOR=':' ;;
++ *) ${PATH_SEPARATOR:=':'} ;;
+ esac
+ ifelse([$1],,,[$1=$PATH_SEPARATOR])
+ AC_SUBST(PATH_SEPARATOR)
++ AC_MSG_RESULT($PATH_SEPARATOR)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PATH_SYNTAX version: 13 updated: 2010/05/26 05:38:42
++dnl CF_PATH_SYNTAX version: 14 updated: 2012/06/19 20:58:54
+ dnl --------------
+ dnl Check the argument to see that it looks like a pathname. Rewrite it if it
+ dnl begins with one of the prefix/exec_prefix variables, and then again if the
+@@ -2529,7 +2517,7 @@
+ ;;
+ .[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
+ ;;
+-.\[$]{*prefix}*) #(vi
++.\[$]{*prefix}*|.\[$]{*dir}*) #(vi
+ eval $1="[$]$1"
+ case ".[$]$1" in #(vi
+ .NONE/*)
+@@ -2546,7 +2534,7 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PKG_CONFIG version: 4 updated: 2011/02/18 20:26:24
++dnl CF_PKG_CONFIG version: 7 updated: 2011/04/29 04:53:22
+ dnl -------------
+ dnl Check for the package-config program, unless disabled by command-line.
+ AC_DEFUN([CF_PKG_CONFIG],
+@@ -2563,7 +2551,9 @@
+ PKG_CONFIG=none
+ ;;
+ yes) #(vi
+- AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)
++ CF_ACVERSION_CHECK(2.52,
++ [AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)],
++ [AC_PATH_PROG(PKG_CONFIG, pkg-config, none)])
+ ;;
+ *)
+ PKG_CONFIG=$withval
+@@ -2667,6 +2657,19 @@
+ test -z "$AWK" && AC_MSG_ERROR(No awk program found)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_PROG_CC version: 3 updated: 2012/10/06 15:31:55
++dnl ----------
++dnl standard check for CC, plus followup sanity checks
++dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name
++AC_DEFUN([CF_PROG_CC],[
++ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)])
++CF_GCC_VERSION
++CF_ACVERSION_CHECK(2.52,
++ [AC_PROG_CC_STDC],
++ [CF_ANSI_CC_REQD])
++CF_CC_ENV_FLAGS
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_PROG_CC_C_O version: 3 updated: 2010/08/14 18:25:37
+ dnl --------------
+ dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that
+@@ -2721,7 +2724,7 @@
+ test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
++dnl CF_PROG_EXT version: 11 updated: 2012/10/06 08:57:51
+ dnl -----------
+ dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
+ AC_DEFUN([CF_PROG_EXT],
+@@ -2743,10 +2746,10 @@
+
+ PROG_EXT="$EXEEXT"
+ AC_SUBST(PROG_EXT)
+-test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
++test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT",[Define to the program extension (normally blank)])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PROG_GNAT version: 1 updated: 2010/06/19 15:22:18
++dnl CF_PROG_GNAT version: 2 updated: 2011/10/22 14:01:47
+ dnl ------------
+ dnl Check for gnatmake, ensure that it is complete.
+ AC_DEFUN([CF_PROG_GNAT],[
+@@ -2754,6 +2757,7 @@
+ AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
+ if test "$ac_cv_prog_gnat_exists" = no; then
+ cf_ada_make=
++ cf_cv_prog_gnat_correct=no
+ else
+ CF_GNAT_VERSION
+ AC_CHECK_PROG(M4_exists, m4, yes, no)
+@@ -2831,7 +2835,7 @@
+ $1=`echo "$2" | sed -e 's/-l$3[[ ]]//g' -e 's/-l$3[$]//'`
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SHARED_OPTS version: 64 updated: 2010/06/05 16:51:16
++dnl CF_SHARED_OPTS version: 72 updated: 2013/01/26 16:26:12
+ dnl --------------
+ dnl --------------
+ dnl Attempt to determine the appropriate CC/LD options for creating a shared
+@@ -2887,6 +2891,7 @@
+ AC_MSG_RESULT($cf_cv_shlib_version)
+
+ cf_cv_rm_so_locs=no
++ cf_try_cflags=
+
+ # Some less-capable ports of gcc support only -fpic
+ CC_SHARED_OPTS=
+@@ -2906,10 +2911,14 @@
+ cf_cv_shlib_version_infix=no
+
+ case $cf_cv_system_name in #(vi
+- aix[[56]]*) #(vi
++ aix4.[3-9]*|aix[[5-7]]*) #(vi
+ if test "$GCC" = yes; then
+ CC_SHARED_OPTS=
+- MK_SHARED_LIB='$(CC) -shared'
++ MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
++ else
++ # CC_SHARED_OPTS='-qpic=large -G'
++ # perhaps "-bM:SRE -bnoentry -bexpall"
++ MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
+ fi
+ ;;
+ beos*) #(vi
+@@ -2935,7 +2944,7 @@
+ chmod +x mk_shared_lib.sh
+ ;;
+ darwin*) #(vi
+- EXTRA_CFLAGS="-no-cpp-precomp"
++ cf_try_cflags="no-cpp-precomp"
+ CC_SHARED_OPTS="-dynamic"
+ MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
+@@ -2949,6 +2958,14 @@
+ LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
+ fi
+ ;;
++ hpux[[7-8]]*) #(vi
++ # HP-UX 8.07 ld lacks "+b" option used for libdir search-list
++ if test "$GCC" != yes; then
++ CC_SHARED_OPTS='+Z'
++ fi
++ MK_SHARED_LIB='${LD} -b -o $[@]'
++ INSTALL_LIB="-m 555"
++ ;;
+ hpux*) #(vi
+ # (tested with gcc 2.7.2 -- I don't have c89)
+ if test "$GCC" = yes; then
+@@ -2962,9 +2979,19 @@
+ # readonly to exploit a quirk in the memory manager.
+ INSTALL_LIB="-m 555"
+ ;;
++ interix*)
++ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
++ if test "$cf_cv_shlib_version" = rel; then
++ cf_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}'
++ else
++ cf_shared_soname='`basename $@`'
++ fi
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o $@'
++ ;;
+ irix*) #(vi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ # tested with IRIX 5.2 and 'cc'.
+ if test "$GCC" != yes; then
+@@ -2981,18 +3008,39 @@
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ CF_SHARED_SONAME
+ MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
+ ;;
+- openbsd[[2-9]].*) #(vi
++ mingw*) #(vi
++ cf_cv_shlib_version=mingw
++ cf_cv_shlib_version_infix=mingw
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
++ #MK_SHARED_LIB='${CC} ${CFLAGS} -mdll -Wl,-soname,'$cf_cv_shared_soname',-stats -o $[@]'
++ #MK_SHARED_LIB='${DLLTOOL} --export-all-symbols --output-exp --output-lib $[@]'
++ cat >mk_shared_lib.sh <<-CF_EOF
++ #!/bin/sh
++ SHARED_LIB=\[$]1
++ IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
++ shift
++ cat <<-EOF
++ Linking shared library
++ ** SHARED_LIB \[$]SHARED_LIB
++ ** IMPORT_LIB \[$]IMPORT_LIB
++EOF
++ exec \[$]* -shared -Wl,--out-implib=../lib/\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\[$]{SHARED_LIB}
++CF_EOF
++ chmod +x mk_shared_lib.sh
++ ;;
++ openbsd[[2-9]].*|mirbsd*) #(vi
+ if test "$DFT_LWR_MODEL" = "shared" ; then
+ LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+ CF_SHARED_SONAME
+@@ -3003,12 +3051,12 @@
+ MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+ ;;
+- freebsd*) #(vi
++ dragonfly*|freebsd*) #(vi
+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+ LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+- LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${libdir} $LOCAL_LDFLAGS"
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ CF_SHARED_SONAME
+ MK_SHARED_LIB='${LD} -shared -Bshareable -soname=`basename $[@]` -o $[@]'
+@@ -3018,7 +3066,7 @@
+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+ LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ if test "$cf_cv_shlib_version" = auto; then
+ if test -f /usr/libexec/ld.elf_so; then
+ cf_cv_shlib_version=abi
+@@ -3123,10 +3171,40 @@
+ ;;
+ esac
+
+- if test -n "$cf_ld_rpath_opt" ; then
+- MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}"
++ if test -n "$cf_try_cflags"
++ then
++cat > conftest.$ac_ext <<EOF
++#line __oline__ "${as_me:-configure}"
++#include <stdio.h>
++int main(int argc, char *argv[[]])
++{
++ printf("hello\n");
++ return (argv[[argc-1]] == 0) ;
++}
++EOF
++ cf_save_CFLAGS="$CFLAGS"
++ for cf_opt in $cf_try_cflags
++ do
++ CFLAGS="$cf_save_CFLAGS -$cf_opt"
++ AC_MSG_CHECKING(if CFLAGS option -$cf_opt works)
++ if AC_TRY_EVAL(ac_compile); then
++ AC_MSG_RESULT(yes)
++ cf_save_CFLAGS="$CFLAGS"
++ else
++ AC_MSG_RESULT(no)
++ fi
++ done
++ CFLAGS="$cf_save_CFLAGS"
+ fi
+
++
++ # RPATH_LIST is a colon-separated list of directories
++ test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}"
++ test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}"
++
++ CF_VERBOSE(CC_SHARED_OPTS: $CC_SHARED_OPTS)
++ CF_VERBOSE(MK_SHARED_LIB: $MK_SHARED_LIB)
++
+ AC_SUBST(CC_SHARED_OPTS)
+ AC_SUBST(LD_RPATH_OPT)
+ AC_SUBST(LD_SHARED_OPTS)
+@@ -3137,6 +3215,7 @@
+ AC_SUBST(LOCAL_LDFLAGS)
+ AC_SUBST(LOCAL_LDFLAGS2)
+ AC_SUBST(INSTALL_LIB)
++ AC_SUBST(RPATH_LIST)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43
+@@ -3180,24 +3259,7 @@
+ CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SUBST version: 4 updated: 2006/06/17 12:33:03
+-dnl --------
+-dnl Shorthand macro for substituting things that the user may override
+-dnl with an environment variable.
+-dnl
+-dnl $1 = long/descriptive name
+-dnl $2 = environment variable
+-dnl $3 = default value
+-AC_DEFUN([CF_SUBST],
+-[AC_CACHE_VAL(cf_cv_subst_$2,[
+-AC_MSG_CHECKING(for $1 (symbol $2))
+-CF_SUBST_IF([-z "[$]$2"], [$2], [$3])
+-cf_cv_subst_$2=[$]$2
+-AC_MSG_RESULT([$]$2)
+-])
+-])dnl
+-dnl ---------------------------------------------------------------------------
+-dnl CF_TERM_HEADER version: 2 updated: 2010/10/23 15:54:49
++dnl CF_TERM_HEADER version: 3 updated: 2012/10/06 08:57:51
+ dnl --------------
+ dnl Look for term.h, which is part of X/Open curses. It defines the interface
+ dnl to terminfo database. Usually it is in the same include-path as curses.h,
+@@ -3230,16 +3292,16 @@
+
+ case $cf_cv_term_header in # (vi
+ *term.h)
+- AC_DEFINE(HAVE_TERM_H)
++ AC_DEFINE(HAVE_TERM_H,1,[Define to 1 if we have term.h])
+ ;;
+ esac
+
+ case $cf_cv_term_header in # (vi
+ ncurses/term.h) #(vi
+- AC_DEFINE(HAVE_NCURSES_TERM_H)
++ AC_DEFINE(HAVE_NCURSES_TERM_H,1,[Define to 1 if we have ncurses/term.h])
+ ;;
+ ncursesw/term.h)
+- AC_DEFINE(HAVE_NCURSESW_TERM_H)
++ AC_DEFINE(HAVE_NCURSESW_TERM_H,1,[Define to 1 if we have ncursesw/term.h])
+ ;;
+ esac
+ ])dnl
+@@ -3253,6 +3315,45 @@
+ AC_SUBST(top_builddir)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50
++dnl -------------------
++dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we
++dnl can define it successfully.
++AC_DEFUN([CF_TRY_XOPEN_SOURCE],[
++AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++],[
++#ifndef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_cv_xopen_source=no],
++ [cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++],[
++#ifdef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_cv_xopen_source=no],
++ [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
++ CPPFLAGS="$cf_save"
++ ])
++])
++
++if test "$cf_cv_xopen_source" != no ; then
++ CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
++ CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
++ CF_ADD_CFLAGS($cf_temp_xopen_source)
++fi
++])
++dnl ---------------------------------------------------------------------------
+ dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
+ dnl --------
+ dnl Make an uppercase version of a variable
+@@ -3262,7 +3363,7 @@
+ $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_UTF8_LIB version: 7 updated: 2010/06/20 09:24:28
++dnl CF_UTF8_LIB version: 8 updated: 2012/10/06 08:57:51
+ dnl -----------
+ dnl Check for multibyte support, and if not found, utf8 compatibility library
+ AC_DEFUN([CF_UTF8_LIB],
+@@ -3281,7 +3382,7 @@
+ # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
+ # ncurses/ncursesw:
+ if test "$cf_cv_utf8_lib" = "add-on" ; then
+- AC_DEFINE(HAVE_LIBUTF8_H)
++ AC_DEFINE(HAVE_LIBUTF8_H,1,[Define to 1 if we should include libutf8.h])
+ CF_ADD_INCDIR($cf_cv_header_path_utf8)
+ CF_ADD_LIBDIR($cf_cv_library_path_utf8)
+ CF_ADD_LIBS($cf_cv_library_file_utf8)
+@@ -3415,7 +3516,33 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WITH_PATH version: 10 updated: 2010/10/23 15:44:18
++dnl CF_WITH_LIB_PREFIX version: 1 updated: 2012/01/21 19:28:10
++dnl ------------------
++dnl Allow the library-prefix to be overridden. OS/2 EMX originally had no
++dnl "lib" prefix, e.g., because it used the dll naming convention.
++dnl
++dnl $1 = variable to set
++AC_DEFUN([CF_WITH_LIB_PREFIX],
++[
++AC_MSG_CHECKING(if you want to have a library-prefix)
++AC_ARG_WITH(lib-prefix,
++ [ --with-lib-prefix override library-prefix],
++ [with_lib_prefix=$withval],
++ [with_lib_prefix=auto])
++AC_MSG_RESULT($with_lib_prefix)
++
++if test $with_lib_prefix = auto
++then
++ CF_LIB_PREFIX($1)
++elif test $with_lib_prefix = no
++then
++ LIB_PREFIX=
++else
++ LIB_PREFIX=$with_lib_prefix
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_PATH version: 11 updated: 2012/09/29 15:04:19
+ dnl ------------
+ dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
+ dnl defaulting to yes/no.
+@@ -3432,11 +3559,54 @@
+ if ifelse([$5],,true,[test -n "$5"]) ; then
+ CF_PATH_SYNTAX(withval)
+ fi
+-$3="$withval"
++eval $3="$withval"
+ AC_SUBST($3)dnl
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WITH_PTHREAD version: 3 updated: 2010/05/29 16:31:02
++dnl CF_WITH_PKG_CONFIG_LIBDIR version: 2 updated: 2011/12/10 18:58:47
++dnl -------------------------
++dnl Allow the choice of the pkg-config library directory to be overridden.
++AC_DEFUN([CF_WITH_PKG_CONFIG_LIBDIR],[
++if test "$PKG_CONFIG" != none ; then
++ AC_MSG_CHECKING(for $PKG_CONFIG library directory)
++ AC_ARG_WITH(pkg-config-libdir,
++ [ --with-pkg-config-libdir=XXX use given directory for installing pc-files],
++ [PKG_CONFIG_LIBDIR=$withval],
++ [PKG_CONFIG_LIBDIR=yes])
++
++ case x$PKG_CONFIG_LIBDIR in #(vi
++ x/*) #(vi
++ ;;
++ xyes) #(vi
++ # look for the library directory using the same prefix as the executable
++ cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`
++ case x`(arch) 2>/dev/null` in #(vi
++ *64) #(vi
++ for cf_config in $cf_path/share $cf_path/lib64 $cf_path/lib32 $cf_path/lib
++ do
++ if test -d $cf_config/pkgconfig
++ then
++ PKG_CONFIG_LIBDIR=$cf_config/pkgconfig
++ break
++ fi
++ done
++ ;;
++ *)
++ PKG_CONFIG_LIBDIR=$cf_path/lib/pkgconfig
++ ;;
++ esac
++ ;;
++ *)
++ ;;
++ esac
++
++ AC_MSG_RESULT($PKG_CONFIG_LIBDIR)
++fi
++
++AC_SUBST(PKG_CONFIG_LIBDIR)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_PTHREAD version: 6 updated: 2012/10/06 17:41:51
+ dnl ---------------
+ dnl Check for POSIX thread library.
+ AC_DEFUN([CF_WITH_PTHREAD],
+@@ -3450,30 +3620,55 @@
+
+ if test "$with_pthread" != no ; then
+ AC_CHECK_HEADER(pthread.h,[
+- AC_DEFINE(HAVE_PTHREADS_H)
++ AC_DEFINE(HAVE_PTHREADS_H,1,[Define to 1 if we have pthreads.h header])
+
+- AC_MSG_CHECKING(if we can link with the pthread library)
+- cf_save_LIBS="$LIBS"
+- CF_ADD_LIB(pthread)
+- AC_TRY_LINK([
++ for cf_lib_pthread in pthread c_r
++ do
++ AC_MSG_CHECKING(if we can link with the $cf_lib_pthread library)
++ cf_save_LIBS="$LIBS"
++ CF_ADD_LIB($cf_lib_pthread)
++ AC_TRY_LINK([
+ #include <pthread.h>
+ ],[
+- int rc = pthread_create(0,0,0,0);
++ int rc = pthread_create(0,0,0,0);
++ int r2 = pthread_mutexattr_settype(0, 0);
+ ],[with_pthread=yes],[with_pthread=no])
+- LIBS="$cf_save_LIBS"
+- AC_MSG_RESULT($with_pthread)
++ LIBS="$cf_save_LIBS"
++ AC_MSG_RESULT($with_pthread)
++ test "$with_pthread" = yes && break
++ done
+
+- if test "$with_pthread" = yes ; then
+- CF_ADD_LIB(pthread)
+- AC_DEFINE(HAVE_LIBPTHREADS)
+- else
+- AC_MSG_ERROR(Cannot link with pthread library)
+- fi
++ if test "$with_pthread" = yes ; then
++ CF_ADD_LIB($cf_lib_pthread)
++ AC_DEFINE(HAVE_LIBPTHREADS,1,[Define to 1 if we have pthreads library])
++ else
++ AC_MSG_ERROR(Cannot link with pthread library)
++ fi
+ ])
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_XOPEN_SOURCE version: 35 updated: 2011/02/20 20:37:37
++dnl CF_WITH_SYSTYPE version: 1 updated: 2013/01/26 16:26:12
++dnl ---------------
++dnl For testing, override the derived host system-type which is used to decide
++dnl things such as the linker commands used to build shared libraries. This is
++dnl normally chosen automatically based on the type of system which you are
++dnl building on. We use it for testing the configure script.
++dnl
++dnl This is different from the --host option: it is used only for testing parts
++dnl of the configure script which would not be reachable with --host since that
++dnl relies on the build environment being real, rather than mocked up.
++AC_DEFUN([CF_WITH_SYSTYPE],[
++CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
++AC_ARG_WITH(system-type,
++ [ --with-system-type=XXX test: override derived host system-type],
++[AC_MSG_WARN(overriding system type to $withval)
++ cf_cv_system_name=$withval
++ host_os=$withval
++])
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_XOPEN_SOURCE version: 43 updated: 2013/02/10 10:41:05
+ dnl ---------------
+ dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
+ dnl or adapt to the vendor's definitions to get equivalent functionality,
+@@ -3483,13 +3678,14 @@
+ dnl $1 is the nominal value for _XOPEN_SOURCE
+ dnl $2 is the nominal value for _POSIX_C_SOURCE
+ AC_DEFUN([CF_XOPEN_SOURCE],[
++AC_REQUIRE([AC_CANONICAL_HOST])
+
+ cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
+ cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
+ cf_xopen_source=
+
+ case $host_os in #(vi
+-aix[[456]]*) #(vi
++aix[[4-7]]*) #(vi
+ cf_xopen_source="-D_ALL_SOURCE"
+ ;;
+ cygwin) #(vi
+@@ -3500,6 +3696,7 @@
+ ;;
+ darwin*) #(vi
+ cf_xopen_source="-D_DARWIN_C_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ freebsd*|dragonfly*) #(vi
+ # 5.x headers associate
+@@ -3517,15 +3714,23 @@
+ ;;
+ irix[[56]].*) #(vi
+ cf_xopen_source="-D_SGI_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ linux*|gnu*|mint*|k*bsd*-gnu) #(vi
+ CF_GNU_SOURCE
+ ;;
+ mirbsd*) #(vi
+- # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
++ # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
++ cf_XOPEN_SOURCE=
++ CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
+ ;;
+ netbsd*) #(vi
+- # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ ;;
++openbsd[[4-9]]*) #(vi
++ # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
++ cf_xopen_source="-D_BSD_SOURCE"
++ cf_XOPEN_SOURCE=600
+ ;;
+ openbsd*) #(vi
+ # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
+@@ -3539,36 +3744,11 @@
+ sco*) #(vi
+ # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
+ ;;
+-solaris2.1[[0-9]]) #(vi
+- cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- ;;
+-solaris2.[[1-9]]) #(vi
++solaris2.*) #(vi
+ cf_xopen_source="-D__EXTENSIONS__"
+ ;;
+ *)
+- AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
+- AC_TRY_COMPILE([#include <sys/types.h>],[
+-#ifndef _XOPEN_SOURCE
+-make an error
+-#endif],
+- [cf_cv_xopen_source=no],
+- [cf_save="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- AC_TRY_COMPILE([#include <sys/types.h>],[
+-#ifdef _XOPEN_SOURCE
+-make an error
+-#endif],
+- [cf_cv_xopen_source=no],
+- [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
+- CPPFLAGS="$cf_save"
+- ])
+-])
+- if test "$cf_cv_xopen_source" != no ; then
+- CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
+- CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
+- cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
+- CF_ADD_CFLAGS($cf_temp_xopen_source)
+- fi
++ CF_TRY_XOPEN_SOURCE
+ CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
+ ;;
+ esac
+@@ -3576,4 +3756,33 @@
+ if test -n "$cf_xopen_source" ; then
+ CF_ADD_CFLAGS($cf_xopen_source)
+ fi
++
++dnl In anything but the default case, we may have system-specific setting
++dnl which is still not guaranteed to provide all of the entrypoints that
++dnl _XOPEN_SOURCE would yield.
++if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
++ AC_MSG_CHECKING(if _XOPEN_SOURCE really is set)
++ AC_TRY_COMPILE([#include <stdlib.h>],[
++#ifndef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_XOPEN_SOURCE_set=yes],
++ [cf_XOPEN_SOURCE_set=no])
++ AC_MSG_RESULT($cf_XOPEN_SOURCE_set)
++ if test $cf_XOPEN_SOURCE_set = yes
++ then
++ AC_TRY_COMPILE([#include <stdlib.h>],[
++#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
++make an error
++#endif],
++ [cf_XOPEN_SOURCE_set_ok=yes],
++ [cf_XOPEN_SOURCE_set_ok=no])
++ if test $cf_XOPEN_SOURCE_set_ok = no
++ then
++ AC_MSG_WARN(_XOPEN_SOURCE is lower than requested)
++ fi
++ else
++ CF_TRY_XOPEN_SOURCE
++ fi
++fi
+ ])
+Index: Ada95/configure
+--- ncurses-5.9/Ada95/configure 2011-03-31 23:34:47.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/configure 2013-04-27 19:50:59.000000000 +0000
+@@ -1,7 +1,7 @@
+ #! /bin/sh
+-# From configure.in Revision: 1.30 .
++# From configure.in Revision: 1.47 .
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by Autoconf 2.52.20101002.
++# Generated by Autoconf 2.52.20121002.
+ #
+ # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+ # Free Software Foundation, Inc.
+@@ -135,15 +135,16 @@
+ bindir='${exec_prefix}/bin'
+ sbindir='${exec_prefix}/sbin'
+ libexecdir='${exec_prefix}/libexec'
+-datadir='${prefix}/share'
++datarootdir='${prefix}/share'
++datadir='${datarootdir}'
+ sysconfdir='${prefix}/etc'
+ sharedstatedir='${prefix}/com'
+ localstatedir='${prefix}/var'
+ libdir='${exec_prefix}/lib'
+ includedir='${prefix}/include'
+ oldincludedir='/usr/include'
+-infodir='${prefix}/info'
+-mandir='${prefix}/man'
++infodir='${datarootdir}/info'
++mandir='${datarootdir}/man'
+
+ # Identity of this package.
+ PACKAGE_NAME=
+@@ -194,6 +195,13 @@
+ | --da=*)
+ datadir=$ac_optarg ;;
+
++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
++ | --dataroo | --dataro | --datar)
++ ac_prev=datarootdir ;;
++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
++ datarootdir=$ac_optarg ;;
++
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+@@ -469,7 +477,7 @@
+ done
+
+ # Be sure to have absolute paths.
+-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
++for ac_var in bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+ do
+ eval ac_val=$`echo $ac_var`
+@@ -606,15 +614,16 @@
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+- --datadir=DIR read-only architecture-independent data [PREFIX/share]
++ --datarootdir=DIR read-only architecture-independent data [PREFIX/share]
++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --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]
+- --infodir=DIR info documentation [PREFIX/info]
+- --mandir=DIR man documentation [PREFIX/man]
++ --infodir=DIR info documentation [DATAROOTDIR/info]
++ --mandir=DIR man documentation [DATAROOTDIR/man]
+ EOF
+
+ cat <<\EOF
+@@ -645,6 +654,7 @@
+
+ --with-system-type=XXX test: override derived host system-type
+ --with-pkg-config{=path} enable/disable use of pkg-config
++ --with-pkg-config-libdir=XXX use given directory for installing pc-files
+ --enable-pc-files generate and install .pc files for pkg-config
+ --without-tests suppress build with test-programs
+ --enable-mixed-case tic should assume mixed-case filenames
+@@ -660,6 +670,7 @@
+ --with-shared generate shared C-objects (needed for --with-ada-sharedlib)
+ --enable-widec compile with wide-char/UTF-8 code
+ --with-curses-dir=DIR directory in which (n)curses is installed
++ --with-lib-prefix override library-prefix
+ --with-shlib-version=X Specify rel or abi version for shared libs
+ --enable-rpath-link link sample programs with rpath option
+ Fine-Tuning Your Configuration:
+@@ -677,7 +688,7 @@
+ --enable-reentrant compile with experimental reentrant code
+ --with-wrap-prefix=XXX override prefix used for public variables
+ Testing/development Options:
+- --enable-echo build: display "compiling" commands (default)
++ --disable-echo do not display "compiling" commands
+ --enable-warnings build: turn on GCC compiler warnings
+ --enable-assertions test: turn on generation of assertion code
+ --enable-expanded test: generate functions for certain macros
+@@ -757,7 +768,7 @@
+ running configure, to aid debugging if configure makes a mistake.
+
+ It was created by $as_me, which was
+-generated by GNU Autoconf 2.52.20101002. Invocation command line was
++generated by GNU Autoconf 2.52.20121002. Invocation command line was
+
+ $ $0 $@
+
+@@ -881,7 +892,7 @@
+ fi
+ for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+- { echo "$as_me:884: loading site script $ac_site_file" >&5
++ { echo "$as_me:895: loading site script $ac_site_file" >&5
+ echo "$as_me: loading site script $ac_site_file" >&6;}
+ cat "$ac_site_file" >&5
+ . "$ac_site_file"
+@@ -892,7 +903,7 @@
+ # 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:895: loading cache $cache_file" >&5
++ { echo "$as_me:906: loading cache $cache_file" >&5
+ echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+@@ -900,7 +911,7 @@
+ esac
+ fi
+ else
+- { echo "$as_me:903: creating cache $cache_file" >&5
++ { echo "$as_me:914: creating cache $cache_file" >&5
+ echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+ fi
+@@ -916,21 +927,21 @@
+ eval ac_new_val="\$ac_env_${ac_var}_value"
+ case $ac_old_set,$ac_new_set in
+ set,)
+- { echo "$as_me:919: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++ { echo "$as_me:930: 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;}
+ ac_cache_corrupted=: ;;
+ ,set)
+- { echo "$as_me:923: error: \`$ac_var' was not set in the previous run" >&5
++ { echo "$as_me:934: 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;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+- { echo "$as_me:929: error: \`$ac_var' has changed since the previous run:" >&5
++ { echo "$as_me:940: 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:931: former value: $ac_old_val" >&5
++ { echo "$as_me:942: former value: $ac_old_val" >&5
+ echo "$as_me: former value: $ac_old_val" >&2;}
+- { echo "$as_me:933: current value: $ac_new_val" >&5
++ { echo "$as_me:944: current value: $ac_new_val" >&5
+ echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+@@ -949,9 +960,9 @@
+ fi
+ done
+ if $ac_cache_corrupted; then
+- { echo "$as_me:952: error: changes in the environment can compromise the build" >&5
++ { echo "$as_me:963: 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:954: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
++ { { echo "$as_me:965: 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; }; }
+ fi
+@@ -972,10 +983,10 @@
+ echo "#! $SHELL" >conftest.sh
+ echo "exit 0" >>conftest.sh
+ chmod +x conftest.sh
+-if { (echo "$as_me:975: PATH=\".;.\"; conftest.sh") >&5
++if { (echo "$as_me:986: PATH=\".;.\"; conftest.sh") >&5
+ (PATH=".;."; conftest.sh) 2>&5
+ ac_status=$?
+- echo "$as_me:978: \$? = $ac_status" >&5
++ echo "$as_me:989: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ ac_path_separator=';'
+ else
+@@ -1005,7 +1016,7 @@
+ fi
+ done
+ if test -z "$ac_aux_dir"; then
+- { { echo "$as_me:1008: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
++ { { echo "$as_me:1019: 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; }; }
+ fi
+@@ -1015,11 +1026,11 @@
+
+ # Make sure we can run config.sub.
+ $ac_config_sub sun4 >/dev/null 2>&1 ||
+- { { echo "$as_me:1018: error: cannot run $ac_config_sub" >&5
++ { { echo "$as_me:1029: error: cannot run $ac_config_sub" >&5
+ echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+-echo "$as_me:1022: checking build system type" >&5
++echo "$as_me:1033: 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
+@@ -1028,23 +1039,23 @@
+ test -z "$ac_cv_build_alias" &&
+ ac_cv_build_alias=`$ac_config_guess`
+ test -z "$ac_cv_build_alias" &&
+- { { echo "$as_me:1031: error: cannot guess build type; you must specify one" >&5
++ { { echo "$as_me:1042: 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; }; }
+ ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
+- { { echo "$as_me:1035: error: $ac_config_sub $ac_cv_build_alias failed." >&5
++ { { echo "$as_me:1046: error: $ac_config_sub $ac_cv_build_alias failed." >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1040: result: $ac_cv_build" >&5
++echo "$as_me:1051: result: $ac_cv_build" >&5
+ echo "${ECHO_T}$ac_cv_build" >&6
+ build=$ac_cv_build
+ build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+ build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+ build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+-echo "$as_me:1047: checking host system type" >&5
++echo "$as_me:1058: 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
+@@ -1053,12 +1064,12 @@
+ test -z "$ac_cv_host_alias" &&
+ ac_cv_host_alias=$ac_cv_build_alias
+ ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
+- { { echo "$as_me:1056: error: $ac_config_sub $ac_cv_host_alias failed" >&5
++ { { echo "$as_me:1067: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1061: result: $ac_cv_host" >&5
++echo "$as_me:1072: result: $ac_cv_host" >&5
+ echo "${ECHO_T}$ac_cv_host" >&6
+ host=$ac_cv_host
+ host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+@@ -1066,7 +1077,7 @@
+ host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+ if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
+- echo "$as_me:1069: checking target system type" >&5
++ echo "$as_me:1080: 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
+@@ -1075,12 +1086,12 @@
+ test "x$ac_cv_target_alias" = "x" &&
+ ac_cv_target_alias=$ac_cv_host_alias
+ ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
+- { { echo "$as_me:1078: error: $ac_config_sub $ac_cv_target_alias failed" >&5
++ { { echo "$as_me:1089: error: $ac_config_sub $ac_cv_target_alias failed" >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1083: result: $ac_cv_target" >&5
++echo "$as_me:1094: result: $ac_cv_target" >&5
+ echo "${ECHO_T}$ac_cv_target" >&6
+ target=$ac_cv_target
+ target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+@@ -1100,7 +1111,8 @@
+ system_name="`(hostname) 2>/dev/null`"
+ fi
+ fi
+-test -n "$system_name" && cat >>confdefs.h <<EOF
++test -n "$system_name" &&
++cat >>confdefs.h <<EOF
+ #define SYSTEM_NAME "$system_name"
+ EOF
+
+@@ -1111,13 +1123,13 @@
+ fi
+
+ test -z "$system_name" && system_name="$cf_cv_system_name"
+-test -n "$cf_cv_system_name" && echo "$as_me:1114: result: Configuring for $cf_cv_system_name" >&5
++test -n "$cf_cv_system_name" && echo "$as_me:1126: result: Configuring for $cf_cv_system_name" >&5
+ echo "${ECHO_T}Configuring for $cf_cv_system_name" >&6
+
+ if test ".$system_name" != ".$cf_cv_system_name" ; then
+- echo "$as_me:1118: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
++ echo "$as_me:1130: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
+ echo "${ECHO_T}Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&6
+- { { echo "$as_me:1120: error: \"Please remove config.cache and try again.\"" >&5
++ { { echo "$as_me:1132: error: \"Please remove config.cache and try again.\"" >&5
+ echo "$as_me: error: \"Please remove config.cache and try again.\"" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1125,9 +1137,11 @@
+ # Check whether --with-system-type or --without-system-type was given.
+ if test "${with_system_type+set}" = set; then
+ withval="$with_system_type"
+- { echo "$as_me:1128: WARNING: overriding system type to $withval" >&5
++ { echo "$as_me:1140: WARNING: overriding system type to $withval" >&5
+ echo "$as_me: WARNING: overriding system type to $withval" >&2;}
+- cf_cv_system_name=$withval
++ cf_cv_system_name=$withval
++ host_os=$withval
++
+ fi;
+
+ ### Save the given $CFLAGS to allow user-override.
+@@ -1135,23 +1149,23 @@
+
+ ### Default install-location
+
+-echo "$as_me:1138: checking for prefix" >&5
++echo "$as_me:1152: checking for prefix" >&5
+ echo $ECHO_N "checking for prefix... $ECHO_C" >&6
+ if test "x$prefix" = "xNONE" ; then
+ case "$cf_cv_system_name" in
+ # non-vendor systems don't have a conflict
+- openbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
++ openbsd*|freebsd*|mirbsd*|linux*|cygwin*|k*bsd*-gnu|mingw*)
+ prefix=/usr
+ ;;
+ *) prefix=$ac_default_prefix
+ ;;
+ esac
+ fi
+-echo "$as_me:1150: result: $prefix" >&5
++echo "$as_me:1164: result: $prefix" >&5
+ echo "${ECHO_T}$prefix" >&6
+
+ if test "x$prefix" = "xNONE" ; then
+-echo "$as_me:1154: checking for default include-directory" >&5
++echo "$as_me:1168: checking for default include-directory" >&5
+ echo $ECHO_N "checking for default include-directory... $ECHO_C" >&6
+ test -n "$verbose" && echo 1>&6
+ for cf_symbol in \
+@@ -1174,11 +1188,12 @@
+ fi
+ test -n "$verbose" && echo " tested $cf_dir" 1>&6
+ done
+-echo "$as_me:1177: result: $includedir" >&5
++echo "$as_me:1191: result: $includedir" >&5
+ echo "${ECHO_T}$includedir" >&6
+ fi
+
+ ### Checks for programs.
++
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+@@ -1186,213 +1201,11 @@
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ ac_main_return=return
+ 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:1191: 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
+-else
+- if test -n "$CC"; then
+- ac_cv_prog_CC="$CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_CC="${ac_tool_prefix}gcc"
+-echo "$as_me:1206: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-CC=$ac_cv_prog_CC
+-if test -n "$CC"; then
+- echo "$as_me:1214: result: $CC" >&5
+-echo "${ECHO_T}$CC" >&6
+-else
+- echo "$as_me:1217: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+-fi
+-if test -z "$ac_cv_prog_CC"; then
+- 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:1226: 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
+-else
+- if test -n "$ac_ct_CC"; then
+- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_ac_ct_CC="gcc"
+-echo "$as_me:1241: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-ac_ct_CC=$ac_cv_prog_ac_ct_CC
+-if test -n "$ac_ct_CC"; then
+- echo "$as_me:1249: result: $ac_ct_CC" >&5
+-echo "${ECHO_T}$ac_ct_CC" >&6
+-else
+- echo "$as_me:1252: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+- CC=$ac_ct_CC
+-else
+- CC="$ac_cv_prog_CC"
+-fi
+-
+-if test -z "$CC"; then
+- 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:1265: 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
+-else
+- if test -n "$CC"; then
+- ac_cv_prog_CC="$CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_CC="${ac_tool_prefix}cc"
+-echo "$as_me:1280: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-CC=$ac_cv_prog_CC
+-if test -n "$CC"; then
+- echo "$as_me:1288: result: $CC" >&5
+-echo "${ECHO_T}$CC" >&6
+-else
+- echo "$as_me:1291: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+-fi
+-if test -z "$ac_cv_prog_CC"; then
+- ac_ct_CC=$CC
+- # Extract the first word of "cc", so it can be a program name with args.
+-set dummy cc; ac_word=$2
+-echo "$as_me:1300: 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
+-else
+- if test -n "$ac_ct_CC"; then
+- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_ac_ct_CC="cc"
+-echo "$as_me:1315: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-ac_ct_CC=$ac_cv_prog_ac_ct_CC
+-if test -n "$ac_ct_CC"; then
+- echo "$as_me:1323: result: $ac_ct_CC" >&5
+-echo "${ECHO_T}$ac_ct_CC" >&6
+-else
+- echo "$as_me:1326: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+- CC=$ac_ct_CC
+-else
+- CC="$ac_cv_prog_CC"
+-fi
+-
+-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:1339: 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
+-else
+- if test -n "$CC"; then
+- ac_cv_prog_CC="$CC" # Let the user override the test.
+-else
+- ac_prog_rejected=no
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+- ac_prog_rejected=yes
+- continue
+-fi
+-ac_cv_prog_CC="cc"
+-echo "$as_me:1359: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-if test $ac_prog_rejected = yes; then
+- # We found a bogon in the path, so make sure we never use it.
+- set dummy $ac_cv_prog_CC
+- shift
+- if test $# != 0; then
+- # We chose a different compiler from the bogus one.
+- # However, it has the same basename, so the bogon will be chosen
+- # first if we set CC to just the basename; use the full file name.
+- shift
+- set dummy "$ac_dir/$ac_word" ${1+"$@"}
+- shift
+- ac_cv_prog_CC="$@"
+- fi
+-fi
+-fi
+-fi
+-CC=$ac_cv_prog_CC
+-if test -n "$CC"; then
+- echo "$as_me:1381: result: $CC" >&5
+-echo "${ECHO_T}$CC" >&6
+-else
+- echo "$as_me:1384: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+-fi
+-if test -z "$CC"; then
+- if test -n "$ac_tool_prefix"; then
+- for ac_prog in cl
++ for ac_prog in gnatgcc gcc cc
+ 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:1395: checking for $ac_word" >&5
++echo "$as_me:1208: 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
+@@ -1407,7 +1220,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+-echo "$as_me:1410: found $ac_dir/$ac_word" >&5
++echo "$as_me:1223: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1415,10 +1228,10 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:1418: result: $CC" >&5
++ echo "$as_me:1231: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+- echo "$as_me:1421: result: no" >&5
++ echo "$as_me:1234: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1427,11 +1240,11 @@
+ fi
+ if test -z "$CC"; then
+ ac_ct_CC=$CC
+- for ac_prog in cl
++ for ac_prog in gnatgcc gcc cc
+ 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:1434: checking for $ac_word" >&5
++echo "$as_me:1247: 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
+@@ -1446,7 +1259,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+-echo "$as_me:1449: found $ac_dir/$ac_word" >&5
++echo "$as_me:1262: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1454,10 +1267,10 @@
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+- echo "$as_me:1457: result: $ac_ct_CC" >&5
++ echo "$as_me:1270: result: $ac_ct_CC" >&5
+ echo "${ECHO_T}$ac_ct_CC" >&6
+ else
+- echo "$as_me:1460: result: no" >&5
++ echo "$as_me:1273: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1467,34 +1280,32 @@
+ CC=$ac_ct_CC
+ fi
+
+-fi
+-
+-test -z "$CC" && { { echo "$as_me:1472: error: no acceptable cc found in \$PATH" >&5
++test -z "$CC" && { { echo "$as_me:1283: error: no acceptable cc found in \$PATH" >&5
+ echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Provide some information about the compiler.
+-echo "$as_me:1477:" \
++echo "$as_me:1288:" \
+ "checking for C compiler version" >&5
+ ac_compiler=`set X $ac_compile; echo $2`
+-{ (eval echo "$as_me:1480: \"$ac_compiler --version </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1291: \"$ac_compiler --version </dev/null >&5\"") >&5
+ (eval $ac_compiler --version </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1483: \$? = $ac_status" >&5
++ echo "$as_me:1294: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:1485: \"$ac_compiler -v </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1296: \"$ac_compiler -v </dev/null >&5\"") >&5
+ (eval $ac_compiler -v </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1488: \$? = $ac_status" >&5
++ echo "$as_me:1299: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:1490: \"$ac_compiler -V </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1301: \"$ac_compiler -V </dev/null >&5\"") >&5
+ (eval $ac_compiler -V </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1493: \$? = $ac_status" >&5
++ echo "$as_me:1304: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1497 "configure"
++#line 1308 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1510,13 +1321,13 @@
+ # 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:1513: checking for C compiler default output" >&5
++echo "$as_me:1324: checking for C compiler default output" >&5
+ echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
+ ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+-if { (eval echo "$as_me:1516: \"$ac_link_default\"") >&5
++if { (eval echo "$as_me:1327: \"$ac_link_default\"") >&5
+ (eval $ac_link_default) 2>&5
+ ac_status=$?
+- echo "$as_me:1519: \$? = $ac_status" >&5
++ echo "$as_me:1330: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Find the output, starting from the most likely. This scheme is
+ # not robust to junk in `.', hence go to wildcards (a.*) only as a last
+@@ -1539,34 +1350,34 @@
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-{ { echo "$as_me:1542: error: C compiler cannot create executables" >&5
++{ { echo "$as_me:1353: error: C compiler cannot create executables" >&5
+ echo "$as_me: error: C compiler cannot create executables" >&2;}
+ { (exit 77); exit 77; }; }
+ fi
+
+ ac_exeext=$ac_cv_exeext
+-echo "$as_me:1548: result: $ac_file" >&5
++echo "$as_me:1359: result: $ac_file" >&5
+ echo "${ECHO_T}$ac_file" >&6
+
+ # Check the compiler produces executables we can run. If not, either
+ # the compiler is broken, or we cross compile.
+-echo "$as_me:1553: checking whether the C compiler works" >&5
++echo "$as_me:1364: 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'
+- { (eval echo "$as_me:1559: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1370: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1562: \$? = $ac_status" >&5
++ echo "$as_me:1373: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+- { { echo "$as_me:1569: error: cannot run C compiled programs.
++ { { echo "$as_me:1380: error: cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'." >&5
+ echo "$as_me: error: cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'." >&2;}
+@@ -1574,24 +1385,24 @@
+ fi
+ fi
+ fi
+-echo "$as_me:1577: result: yes" >&5
++echo "$as_me:1388: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+
+ rm -f a.out a.exe conftest$ac_cv_exeext
+ ac_clean_files=$ac_clean_files_save
+ # Check the compiler produces executables we can run. If not, either
+ # the compiler is broken, or we cross compile.
+-echo "$as_me:1584: checking whether we are cross compiling" >&5
++echo "$as_me:1395: checking whether we are cross compiling" >&5
+ echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+-echo "$as_me:1586: result: $cross_compiling" >&5
++echo "$as_me:1397: result: $cross_compiling" >&5
+ echo "${ECHO_T}$cross_compiling" >&6
+
+-echo "$as_me:1589: checking for executable suffix" >&5
++echo "$as_me:1400: checking for executable suffix" >&5
+ echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6
+-if { (eval echo "$as_me:1591: \"$ac_link\"") >&5
++if { (eval echo "$as_me:1402: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:1594: \$? = $ac_status" >&5
++ echo "$as_me:1405: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+ # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+@@ -1607,25 +1418,25 @@
+ esac
+ done
+ else
+- { { echo "$as_me:1610: error: cannot compute EXEEXT: cannot compile and link" >&5
++ { { echo "$as_me:1421: error: cannot compute EXEEXT: cannot compile and link" >&5
+ echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ rm -f conftest$ac_cv_exeext
+-echo "$as_me:1616: result: $ac_cv_exeext" >&5
++echo "$as_me:1427: result: $ac_cv_exeext" >&5
+ echo "${ECHO_T}$ac_cv_exeext" >&6
+
+ rm -f conftest.$ac_ext
+ EXEEXT=$ac_cv_exeext
+ ac_exeext=$EXEEXT
+-echo "$as_me:1622: checking for object suffix" >&5
++echo "$as_me:1433: checking for object suffix" >&5
+ echo $ECHO_N "checking for object suffix... $ECHO_C" >&6
+ if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1628 "configure"
++#line 1439 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1637,10 +1448,10 @@
+ }
+ _ACEOF
+ rm -f conftest.o conftest.obj
+-if { (eval echo "$as_me:1640: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1451: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1643: \$? = $ac_status" >&5
++ echo "$as_me:1454: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+ case $ac_file in
+@@ -1652,24 +1463,24 @@
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-{ { echo "$as_me:1655: error: cannot compute OBJEXT: cannot compile" >&5
++{ { echo "$as_me:1466: error: cannot compute OBJEXT: cannot compile" >&5
+ echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ rm -f conftest.$ac_cv_objext conftest.$ac_ext
+ fi
+-echo "$as_me:1662: result: $ac_cv_objext" >&5
++echo "$as_me:1473: result: $ac_cv_objext" >&5
+ echo "${ECHO_T}$ac_cv_objext" >&6
+ OBJEXT=$ac_cv_objext
+ ac_objext=$OBJEXT
+-echo "$as_me:1666: checking whether we are using the GNU C compiler" >&5
++echo "$as_me:1477: 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
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1672 "configure"
++#line 1483 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1684,16 +1495,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1687: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1498: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1690: \$? = $ac_status" >&5
++ echo "$as_me:1501: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1693: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1504: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1696: \$? = $ac_status" >&5
++ echo "$as_me:1507: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_compiler_gnu=yes
+ else
+@@ -1705,19 +1516,19 @@
+ ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+ fi
+-echo "$as_me:1708: result: $ac_cv_c_compiler_gnu" >&5
++echo "$as_me:1519: result: $ac_cv_c_compiler_gnu" >&5
+ echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+ GCC=`test $ac_compiler_gnu = yes && echo yes`
+ ac_test_CFLAGS=${CFLAGS+set}
+ ac_save_CFLAGS=$CFLAGS
+ CFLAGS="-g"
+-echo "$as_me:1714: checking whether $CC accepts -g" >&5
++echo "$as_me:1525: 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
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1720 "configure"
++#line 1531 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1729,16 +1540,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1732: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1543: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1735: \$? = $ac_status" >&5
++ echo "$as_me:1546: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1738: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1549: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1741: \$? = $ac_status" >&5
++ echo "$as_me:1552: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_g=yes
+ else
+@@ -1748,7 +1559,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:1751: result: $ac_cv_prog_cc_g" >&5
++echo "$as_me:1562: result: $ac_cv_prog_cc_g" >&5
+ echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+@@ -1775,16 +1586,16 @@
+ #endif
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1778: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1589: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1781: \$? = $ac_status" >&5
++ echo "$as_me:1592: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1784: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1595: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1787: \$? = $ac_status" >&5
++ echo "$as_me:1598: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+ ''\
+@@ -1796,7 +1607,7 @@
+ 'void exit (int);'
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1799 "configure"
++#line 1610 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ $ac_declaration
+@@ -1809,16 +1620,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1812: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1623: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1815: \$? = $ac_status" >&5
++ echo "$as_me:1626: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1818: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1629: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1821: \$? = $ac_status" >&5
++ echo "$as_me:1632: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -1828,7 +1639,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1831 "configure"
++#line 1642 "configure"
+ #include "confdefs.h"
+ $ac_declaration
+ int
+@@ -1840,16 +1651,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1843: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1654: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1846: \$? = $ac_status" >&5
++ echo "$as_me:1657: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1849: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1660: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1852: \$? = $ac_status" >&5
++ echo "$as_me:1663: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -1879,68 +1690,259 @@
+
+ GCC_VERSION=none
+ if test "$GCC" = yes ; then
+- echo "$as_me:1882: checking version of $CC" >&5
++ echo "$as_me:1693: checking version of $CC" >&5
+ echo $ECHO_N "checking version of $CC... $ECHO_C" >&6
+- GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
++ GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[^)]*) //' -e 's/^.*(Debian[^)]*) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
+ test -z "$GCC_VERSION" && GCC_VERSION=unknown
+- echo "$as_me:1886: result: $GCC_VERSION" >&5
++ echo "$as_me:1697: result: $GCC_VERSION" >&5
+ echo "${ECHO_T}$GCC_VERSION" >&6
+ 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
+-ac_main_return=return
+-echo "$as_me:1896: 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 "$as_me:1701: checking for $CC option to accept ANSI C" >&5
++echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
++if test "${ac_cv_prog_cc_stdc+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.
+- # 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
+-#line 1917 "configure"
++ ac_cv_prog_cc_stdc=no
++ac_save_CC=$CC
++cat >conftest.$ac_ext <<_ACEOF
++#line 1709 "configure"
+ #include "confdefs.h"
+-#include <assert.h>
+- Syntax error
++#include <stdarg.h>
++#include <stdio.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++/* 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);
++static char *e (p, i)
++ char **p;
++ int i;
++{
++ return p[i];
++}
++static char *f (char * (*g) (char **, int), char **p, ...)
++{
++ char *s;
++ va_list v;
++ va_start (v,p);
++ s = g (p, va_arg (v,int));
++ va_end (v);
++ return s;
++}
++int test (int i, double x);
++struct s1 {int (*f) (int a);};
++struct s2 {int (*f) (double a);};
++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
++int argc;
++char **argv;
++int
++main ()
++{
++return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
++ ;
++ return 0;
++}
+ _ACEOF
+-if { (eval echo "$as_me:1922: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++# Don't try gcc -ansi; that turns off useful extensions and
++# breaks some systems' header files.
++# AIX -qlanglvl=ansi
++# Ultrix and OSF/1 -std1
++# HP-UX 10.20 and later -Ae
++# HP-UX older versions -Aa -D_HPUX_SOURCE
++# SVR4 -Xc -D__EXTENSIONS__
++for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
++do
++ CC="$ac_save_CC $ac_arg"
++ rm -f conftest.$ac_objext
++if { (eval echo "$as_me:1758: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:1928: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- :
++ echo "$as_me:1761: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:1764: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:1767: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_prog_cc_stdc=$ac_arg
++break
+ else
+ echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- # Broken: fails on valid input.
++cat conftest.$ac_ext >&5
++fi
++rm -f conftest.$ac_objext
++done
++rm -f conftest.$ac_ext conftest.$ac_objext
++CC=$ac_save_CC
++
++fi
++
++case "x$ac_cv_prog_cc_stdc" in
++ x|xno)
++ echo "$as_me:1784: result: none needed" >&5
++echo "${ECHO_T}none needed" >&6 ;;
++ *)
++ echo "$as_me:1787: result: $ac_cv_prog_cc_stdc" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
++ CC="$CC $ac_cv_prog_cc_stdc" ;;
++esac
++
++# This should have been defined by AC_PROG_CC
++: ${CC:=cc}
++
++echo "$as_me:1795: checking \$CC variable" >&5
++echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6
++case "$CC" in #(vi
++*[\ \ ]-[IUD]*)
++ echo "$as_me:1799: result: broken" >&5
++echo "${ECHO_T}broken" >&6
++ { echo "$as_me:1801: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
++echo "$as_me: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
++ # humor him...
++ cf_flags=`echo "$CC" | sed -e 's/^[^ ]*[ ]//'`
++ CC=`echo "$CC" | sed -e 's/[ ].*//'`
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_flags
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++ ;;
++*)
++ echo "$as_me:1887: result: ok" >&5
++echo "${ECHO_T}ok" >&6
++ ;;
++esac
++
++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
++ac_main_return=return
++echo "$as_me:1898: 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.
++ # 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
++#line 1919 "configure"
++#include "confdefs.h"
++#include <assert.h>
++ Syntax error
++_ACEOF
++if { (eval echo "$as_me:1924: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:1930: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ # Broken: fails on valid input.
+ continue
+ fi
+ rm -f conftest.err conftest.$ac_ext
+@@ -1948,17 +1950,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1951 "configure"
++#line 1953 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:1955: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:1957: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:1961: \$? = $ac_status" >&5
++ echo "$as_me:1963: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -1995,7 +1997,7 @@
+ else
+ ac_cv_prog_CPP=$CPP
+ fi
+-echo "$as_me:1998: result: $CPP" >&5
++echo "$as_me:2000: result: $CPP" >&5
+ echo "${ECHO_T}$CPP" >&6
+ ac_preproc_ok=false
+ for ac_c_preproc_warn_flag in '' yes
+@@ -2005,18 +2007,18 @@
+ # 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
+-#line 2008 "configure"
++#line 2010 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:2013: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2015: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:2019: \$? = $ac_status" >&5
++ echo "$as_me:2021: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -2039,17 +2041,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2042 "configure"
++#line 2044 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:2046: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2048: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:2052: \$? = $ac_status" >&5
++ echo "$as_me:2054: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -2077,7 +2079,7 @@
+ if $ac_preproc_ok; then
+ :
+ else
+- { { echo "$as_me:2080: error: C preprocessor \"$CPP\" fails sanity check" >&5
++ { { echo "$as_me:2082: error: C preprocessor \"$CPP\" fails sanity check" >&5
+ echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -2090,14 +2092,14 @@
+ ac_main_return=return
+
+ if test $ac_cv_c_compiler_gnu = yes; then
+- echo "$as_me:2093: checking whether $CC needs -traditional" >&5
++ echo "$as_me:2095: checking whether $CC needs -traditional" >&5
+ echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6
+ if test "${ac_cv_prog_gcc_traditional+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_pattern="Autoconf.*'x'"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2100 "configure"
++#line 2102 "configure"
+ #include "confdefs.h"
+ #include <sgtty.h>
+ int Autoconf = TIOCGETP;
+@@ -2112,7 +2114,7 @@
+
+ if test $ac_cv_prog_gcc_traditional = no; then
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2115 "configure"
++#line 2117 "configure"
+ #include "confdefs.h"
+ #include <termio.h>
+ int Autoconf = TCGETA;
+@@ -2125,14 +2127,14 @@
+
+ fi
+ fi
+-echo "$as_me:2128: result: $ac_cv_prog_gcc_traditional" >&5
++echo "$as_me:2130: result: $ac_cv_prog_gcc_traditional" >&5
+ echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6
+ if test $ac_cv_prog_gcc_traditional = yes; then
+ CC="$CC -traditional"
+ fi
+ fi
+
+-echo "$as_me:2135: checking whether $CC understands -c and -o together" >&5
++echo "$as_me:2137: checking whether $CC understands -c and -o together" >&5
+ echo $ECHO_N "checking whether $CC understands -c and -o together... $ECHO_C" >&6
+ if test "${cf_cv_prog_CC_c_o+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2148,15 +2150,15 @@
+ # 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'
+-if { (eval echo "$as_me:2151: \"$ac_try\"") >&5
++if { (eval echo "$as_me:2153: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2154: \$? = $ac_status" >&5
++ echo "$as_me:2156: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- test -f conftest2.$ac_objext && { (eval echo "$as_me:2156: \"$ac_try\"") >&5
++ test -f conftest2.$ac_objext && { (eval echo "$as_me:2158: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2159: \$? = $ac_status" >&5
++ echo "$as_me:2161: \$? = $ac_status" >&5
+ (exit $ac_status); };
+ then
+ eval cf_cv_prog_CC_c_o=yes
+@@ -2167,378 +2169,84 @@
+
+ fi
+ if test $cf_cv_prog_CC_c_o = yes; then
+- echo "$as_me:2170: result: yes" >&5
++ echo "$as_me:2172: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+- echo "$as_me:2173: result: no" >&5
++ echo "$as_me:2175: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+-echo "$as_me:2177: checking for POSIXized ISC" >&5
+-echo $ECHO_N "checking for POSIXized ISC... $ECHO_C" >&6
+-if test -d /etc/conf/kconfig.d &&
+- grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
+-then
+- echo "$as_me:2182: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- ISC=yes # If later tests want to check for ISC.
++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.
++# 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 conftest.sed
+
+-cat >>confdefs.h <<\EOF
+-#define _POSIX_SOURCE 1
+-EOF
++for ac_prog in mawk gawk 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:2196: 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
++else
++ if test -n "$AWK"; then
++ ac_cv_prog_AWK="$AWK" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_AWK="$ac_prog"
++echo "$as_me:2211: found $ac_dir/$ac_word" >&5
++break
++done
+
+- if test "$GCC" = yes; then
+- CC="$CC -posix"
+- else
+- CC="$CC -Xp"
+- fi
++fi
++fi
++AWK=$ac_cv_prog_AWK
++if test -n "$AWK"; then
++ echo "$as_me:2219: result: $AWK" >&5
++echo "${ECHO_T}$AWK" >&6
+ else
+- echo "$as_me:2196: result: no" >&5
++ echo "$as_me:2222: result: no" >&5
+ echo "${ECHO_T}no" >&6
+- ISC=
+ fi
+
+-echo "$as_me:2201: checking for ${CC:-cc} option to accept ANSI C" >&5
+-echo $ECHO_N "checking for ${CC:-cc} option to accept ANSI C... $ECHO_C" >&6
+-if test "${cf_cv_ansi_cc+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+-cf_cv_ansi_cc=no
+-cf_save_CFLAGS="$CFLAGS"
+-cf_save_CPPFLAGS="$CPPFLAGS"
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc
+-# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
+-for cf_arg in "-DCC_HAS_PROTOS" \
+- "" \
+- -qlanglvl=ansi \
+- -std1 \
+- -Ae \
+- "-Aa -D_HPUX_SOURCE" \
+- -Xc
+-do
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
++ test -n "$AWK" && break
++done
+
+-for cf_add_cflags in $cf_arg
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++test -z "$AWK" && { { echo "$as_me:2229: error: No awk program found" >&5
++echo "$as_me: error: No awk program found" >&2;}
++ { (exit 1); exit 1; }; }
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
++echo "$as_me:2233: checking for egrep" >&5
++echo $ECHO_N "checking for egrep... $ECHO_C" >&6
++if test "${ac_cv_prog_egrep+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if echo a | (grep -E '(a|b)') >/dev/null 2>&1
++ then ac_cv_prog_egrep='grep -E'
++ else ac_cv_prog_egrep='egrep'
++ fi
++fi
++echo "$as_me:2243: result: $ac_cv_prog_egrep" >&5
++echo "${ECHO_T}$ac_cv_prog_egrep" >&6
++ EGREP=$ac_cv_prog_egrep
+
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 2305 "configure"
+-#include "confdefs.h"
+-
+-#ifndef CC_HAS_PROTOS
+-#if !defined(__STDC__) || (__STDC__ != 1)
+-choke me
+-#endif
+-#endif
+-
+-int
+-main ()
+-{
+-
+- int test (int i, double x);
+- struct s1 {int (*f) (int a);};
+- struct s2 {int (*f) (double a);};
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2326: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:2329: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2332: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:2335: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_cv_ansi_cc="$cf_arg"; break
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-done
+-CFLAGS="$cf_save_CFLAGS"
+-CPPFLAGS="$cf_save_CPPFLAGS"
+-
+-fi
+-echo "$as_me:2348: result: $cf_cv_ansi_cc" >&5
+-echo "${ECHO_T}$cf_cv_ansi_cc" >&6
+-
+-if test "$cf_cv_ansi_cc" != "no"; then
+-if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_cv_ansi_cc
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+-else
+- cat >>confdefs.h <<\EOF
+-#define CC_HAS_PROTOS 1
+-EOF
+-
+-fi
+-fi
+-
+-if test "$cf_cv_ansi_cc" = "no"; then
+- { { echo "$as_me:2441: error: Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto" >&5
+-echo "$as_me: error: Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto" >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-
+-case $cf_cv_system_name in
+-os2*)
+- CFLAGS="$CFLAGS -Zmt"
+- CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
+- CXXFLAGS="$CXXFLAGS -Zmt"
+- # autoconf's macro sets -Zexe and suffix both, which conflict:w
+- LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
+- ac_cv_exeext=.exe
+- ;;
+-esac
+-
+-PROG_EXT="$EXEEXT"
+-
+-test -n "$PROG_EXT" && cat >>confdefs.h <<EOF
+-#define PROG_EXT "$PROG_EXT"
+-EOF
+-
+-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.
+-# 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 conftest.sed
+-
+-for ac_prog in mawk gawk 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:2488: 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
+-else
+- if test -n "$AWK"; then
+- ac_cv_prog_AWK="$AWK" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_AWK="$ac_prog"
+-echo "$as_me:2503: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-AWK=$ac_cv_prog_AWK
+-if test -n "$AWK"; then
+- echo "$as_me:2511: result: $AWK" >&5
+-echo "${ECHO_T}$AWK" >&6
+-else
+- echo "$as_me:2514: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+- test -n "$AWK" && break
+-done
+-
+-test -z "$AWK" && { { echo "$as_me:2521: error: No awk program found" >&5
+-echo "$as_me: error: No awk program found" >&2;}
+- { (exit 1); exit 1; }; }
+-
+-echo "$as_me:2525: checking for egrep" >&5
+-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+-if test "${ac_cv_prog_egrep+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+- then ac_cv_prog_egrep='grep -E'
+- else ac_cv_prog_egrep='egrep'
+- fi
+-fi
+-echo "$as_me:2535: result: $ac_cv_prog_egrep" >&5
+-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+- EGREP=$ac_cv_prog_egrep
+-
+-test -z "$EGREP" && { { echo "$as_me:2539: error: No egrep program found" >&5
+-echo "$as_me: error: No egrep program found" >&2;}
+- { (exit 1); exit 1; }; }
++test -z "$EGREP" && { { echo "$as_me:2247: error: No egrep program found" >&5
++echo "$as_me: error: No egrep program found" >&2;}
++ { (exit 1); exit 1; }; }
+
+ # Find a good install program. We prefer a C program (faster),
+ # so one script is as good as another. But avoid the broken or
+@@ -2552,7 +2260,7 @@
+ # AFS /usr/afsws/bin/install, which mishandles nonexistent args
+ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+ # ./install, which can be erroneously created by make from ./install.sh.
+-echo "$as_me:2555: checking for a BSD compatible install" >&5
++echo "$as_me:2263: checking for a BSD compatible install" >&5
+ echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6
+ if test -z "$INSTALL"; then
+ if test "${ac_cv_path_install+set}" = set; then
+@@ -2601,7 +2309,7 @@
+ INSTALL=$ac_install_sh
+ fi
+ fi
+-echo "$as_me:2604: result: $INSTALL" >&5
++echo "$as_me:2312: result: $INSTALL" >&5
+ echo "${ECHO_T}$INSTALL" >&6
+
+ # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+@@ -2612,18 +2320,18 @@
+
+ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+-echo "$as_me:2615: checking whether ln -s works" >&5
++echo "$as_me:2323: checking whether ln -s works" >&5
+ echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+ LN_S=$as_ln_s
+ if test "$LN_S" = "ln -s"; then
+- echo "$as_me:2619: result: yes" >&5
++ echo "$as_me:2327: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+- echo "$as_me:2622: result: no, using $LN_S" >&5
++ echo "$as_me:2330: result: no, using $LN_S" >&5
+ echo "${ECHO_T}no, using $LN_S" >&6
+ fi
+
+-echo "$as_me:2626: checking if $LN_S -f options work" >&5
++echo "$as_me:2334: checking if $LN_S -f options work" >&5
+ echo $ECHO_N "checking if $LN_S -f options work... $ECHO_C" >&6
+
+ rm -f conf$$.src conf$$dst
+@@ -2635,12 +2343,12 @@
+ cf_prog_ln_sf=no
+ fi
+ rm -f conf$$.dst conf$$src
+-echo "$as_me:2638: result: $cf_prog_ln_sf" >&5
++echo "$as_me:2346: result: $cf_prog_ln_sf" >&5
+ echo "${ECHO_T}$cf_prog_ln_sf" >&6
+
+ test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f"
+
+-echo "$as_me:2643: checking for long file names" >&5
++echo "$as_me:2351: checking for long file names" >&5
+ echo $ECHO_N "checking for long file names... $ECHO_C" >&6
+ if test "${ac_cv_sys_long_file_names+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2679,7 +2387,7 @@
+ rm -rf $ac_xdir 2>/dev/null
+ done
+ fi
+-echo "$as_me:2682: result: $ac_cv_sys_long_file_names" >&5
++echo "$as_me:2390: result: $ac_cv_sys_long_file_names" >&5
+ echo "${ECHO_T}$ac_cv_sys_long_file_names" >&6
+ if test $ac_cv_sys_long_file_names = yes; then
+
+@@ -2691,7 +2399,7 @@
+
+ # if we find pkg-config, check if we should install the ".pc" files.
+
+-echo "$as_me:2694: checking if you want to use pkg-config" >&5
++echo "$as_me:2402: checking if you want to use pkg-config" >&5
+ echo $ECHO_N "checking if you want to use pkg-config... $ECHO_C" >&6
+
+ # Check whether --with-pkg-config or --without-pkg-config was given.
+@@ -2701,7 +2409,7 @@
+ else
+ cf_pkg_config=yes
+ fi;
+-echo "$as_me:2704: result: $cf_pkg_config" >&5
++echo "$as_me:2412: result: $cf_pkg_config" >&5
+ echo "${ECHO_T}$cf_pkg_config" >&6
+
+ case $cf_pkg_config in #(vi
+@@ -2709,10 +2417,11 @@
+ PKG_CONFIG=none
+ ;;
+ yes) #(vi
+- if test -n "$ac_tool_prefix"; then
++
++if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+-echo "$as_me:2715: checking for $ac_word" >&5
++echo "$as_me:2424: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2729,7 +2438,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ if $as_executable_p "$ac_dir/$ac_word"; then
+ ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:2732: found $ac_dir/$ac_word" >&5
++ echo "$as_me:2441: found $ac_dir/$ac_word" >&5
+ break
+ fi
+ done
+@@ -2740,10 +2449,10 @@
+ PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+
+ if test -n "$PKG_CONFIG"; then
+- echo "$as_me:2743: result: $PKG_CONFIG" >&5
++ echo "$as_me:2452: result: $PKG_CONFIG" >&5
+ echo "${ECHO_T}$PKG_CONFIG" >&6
+ else
+- echo "$as_me:2746: result: no" >&5
++ echo "$as_me:2455: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2752,7 +2461,7 @@
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+ set dummy pkg-config; ac_word=$2
+-echo "$as_me:2755: checking for $ac_word" >&5
++echo "$as_me:2464: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2769,7 +2478,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ if $as_executable_p "$ac_dir/$ac_word"; then
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:2772: found $ac_dir/$ac_word" >&5
++ echo "$as_me:2481: found $ac_dir/$ac_word" >&5
+ break
+ fi
+ done
+@@ -2781,10 +2490,10 @@
+ ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+
+ if test -n "$ac_pt_PKG_CONFIG"; then
+- echo "$as_me:2784: result: $ac_pt_PKG_CONFIG" >&5
++ echo "$as_me:2493: result: $ac_pt_PKG_CONFIG" >&5
+ echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6
+ else
+- echo "$as_me:2787: result: no" >&5
++ echo "$as_me:2496: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2815,7 +2524,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval PKG_CONFIG="$PKG_CONFIG"
+ case ".$PKG_CONFIG" in #(vi
+ .NONE/*)
+@@ -2827,7 +2536,7 @@
+ PKG_CONFIG=`echo $PKG_CONFIG | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:2830: error: expected a pathname, not \"$PKG_CONFIG\"" >&5
++ { { echo "$as_me:2539: error: expected a pathname, not \"$PKG_CONFIG\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$PKG_CONFIG\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -2836,15 +2545,50 @@
+ fi
+
+ if test "$PKG_CONFIG" != none ; then
+- echo "$as_me:2839: checking if we should install .pc files for $PKG_CONFIG" >&5
+-echo $ECHO_N "checking if we should install .pc files for $PKG_CONFIG... $ECHO_C" >&6
++ echo "$as_me:2548: checking for $PKG_CONFIG library directory" >&5
++echo $ECHO_N "checking for $PKG_CONFIG library directory... $ECHO_C" >&6
+
+- # Leave this as something that can be overridden in the environment.
+- if test -z "$PKG_CONFIG_LIBDIR" ; then
+- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[^/]*/[^/]*$,,'`/lib/pkgconfig
+- fi
+- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'`
+- if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then
++# Check whether --with-pkg-config-libdir or --without-pkg-config-libdir was given.
++if test "${with_pkg_config_libdir+set}" = set; then
++ withval="$with_pkg_config_libdir"
++ PKG_CONFIG_LIBDIR=$withval
++else
++ PKG_CONFIG_LIBDIR=yes
++fi;
++
++ case x$PKG_CONFIG_LIBDIR in #(vi
++ x/*) #(vi
++ ;;
++ xyes) #(vi
++ # look for the library directory using the same prefix as the executable
++ cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[^/]*/[^/]*$,,'`
++ case x`(arch) 2>/dev/null` in #(vi
++ *64) #(vi
++ for cf_config in $cf_path/share $cf_path/lib64 $cf_path/lib32 $cf_path/lib
++ do
++ if test -d $cf_config/pkgconfig
++ then
++ PKG_CONFIG_LIBDIR=$cf_config/pkgconfig
++ break
++ fi
++ done
++ ;;
++ *)
++ PKG_CONFIG_LIBDIR=$cf_path/lib/pkgconfig
++ ;;
++ esac
++ ;;
++ *)
++ ;;
++ esac
++
++ echo "$as_me:2585: result: $PKG_CONFIG_LIBDIR" >&5
++echo "${ECHO_T}$PKG_CONFIG_LIBDIR" >&6
++fi
++
++if test "$PKG_CONFIG" != none ; then
++ echo "$as_me:2590: checking if we should install .pc files for $PKG_CONFIG" >&5
++echo $ECHO_N "checking if we should install .pc files for $PKG_CONFIG... $ECHO_C" >&6
+
+ # Check whether --enable-pc-files or --disable-pc-files was given.
+ if test "${enable_pc_files+set}" = set; then
+@@ -2853,18 +2597,48 @@
+ else
+ enable_pc_files=no
+ fi;
+- echo "$as_me:2856: result: $enable_pc_files" >&5
++ echo "$as_me:2600: result: $enable_pc_files" >&5
+ echo "${ECHO_T}$enable_pc_files" >&6
+- else
+- echo "$as_me:2859: result: no" >&5
+-echo "${ECHO_T}no" >&6
+- { echo "$as_me:2861: WARNING: did not find library $PKG_CONFIG_LIBDIR" >&5
+-echo "$as_me: WARNING: did not find library $PKG_CONFIG_LIBDIR" >&2;}
+- enable_pc_files=no
++ if test "$enable_pc_files" != no
++ then
++
++if test "x$prefix" != xNONE; then
++ cf_path_syntax="$prefix"
++else
++ cf_path_syntax="$ac_default_prefix"
++fi
++
++case ".$PKG_CONFIG_LIBDIR" in #(vi
++.\$\(*\)*|.\'*\'*) #(vi
++ ;;
++..|./*|.\\*) #(vi
++ ;;
++.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
++ ;;
++.\${*prefix}*|.\${*dir}*) #(vi
++ eval PKG_CONFIG_LIBDIR="$PKG_CONFIG_LIBDIR"
++ case ".$PKG_CONFIG_LIBDIR" in #(vi
++ .NONE/*)
++ PKG_CONFIG_LIBDIR=`echo $PKG_CONFIG_LIBDIR | sed -e s%NONE%$cf_path_syntax%`
++ ;;
++ esac
++ ;; #(vi
++.no|.NONE/*)
++ PKG_CONFIG_LIBDIR=`echo $PKG_CONFIG_LIBDIR | sed -e s%NONE%$cf_path_syntax%`
++ ;;
++*)
++ { { echo "$as_me:2630: error: expected a pathname, not \"$PKG_CONFIG_LIBDIR\"" >&5
++echo "$as_me: error: expected a pathname, not \"$PKG_CONFIG_LIBDIR\"" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++esac
++
+ fi
++else
++ enable_pc_files=no
+ fi
+
+-echo "$as_me:2867: checking if you want to build test-programs" >&5
++echo "$as_me:2641: checking if you want to build test-programs" >&5
+ echo $ECHO_N "checking if you want to build test-programs... $ECHO_C" >&6
+
+ # Check whether --with-tests or --without-tests was given.
+@@ -2874,10 +2648,10 @@
+ else
+ cf_with_tests=yes
+ fi;
+-echo "$as_me:2877: result: $cf_with_tests" >&5
++echo "$as_me:2651: result: $cf_with_tests" >&5
+ echo "${ECHO_T}$cf_with_tests" >&6
+
+-echo "$as_me:2880: checking if we should assume mixed-case filenames" >&5
++echo "$as_me:2654: checking if we should assume mixed-case filenames" >&5
+ echo $ECHO_N "checking if we should assume mixed-case filenames... $ECHO_C" >&6
+
+ # Check whether --enable-mixed-case or --disable-mixed-case was given.
+@@ -2887,11 +2661,11 @@
+ else
+ enable_mixedcase=auto
+ fi;
+-echo "$as_me:2890: result: $enable_mixedcase" >&5
++echo "$as_me:2664: result: $enable_mixedcase" >&5
+ echo "${ECHO_T}$enable_mixedcase" >&6
+ if test "$enable_mixedcase" = "auto" ; then
+
+-echo "$as_me:2894: checking if filesystem supports mixed-case filenames" >&5
++echo "$as_me:2668: checking if filesystem supports mixed-case filenames" >&5
+ echo $ECHO_N "checking if filesystem supports mixed-case filenames... $ECHO_C" >&6
+ if test "${cf_cv_mixedcase+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2918,9 +2692,10 @@
+ fi
+
+ fi
+-echo "$as_me:2921: result: $cf_cv_mixedcase" >&5
++echo "$as_me:2695: result: $cf_cv_mixedcase" >&5
+ echo "${ECHO_T}$cf_cv_mixedcase" >&6
+-test "$cf_cv_mixedcase" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_mixedcase" = yes &&
++cat >>confdefs.h <<\EOF
+ #define MIXEDCASE_FILENAMES 1
+ EOF
+
+@@ -2935,7 +2710,7 @@
+ fi
+
+ # do this after mixed-case option (tags/TAGS is not as important as tic).
+-echo "$as_me:2938: checking whether ${MAKE-make} sets \${MAKE}" >&5
++echo "$as_me:2713: checking whether ${MAKE-make} sets \${MAKE}" >&5
+ echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
+ set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
+ if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+@@ -2955,11 +2730,11 @@
+ rm -f conftest.make
+ fi
+ if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+- echo "$as_me:2958: result: yes" >&5
++ echo "$as_me:2733: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ SET_MAKE=
+ else
+- echo "$as_me:2962: result: no" >&5
++ echo "$as_me:2737: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ SET_MAKE="MAKE=${MAKE-make}"
+ fi
+@@ -2968,7 +2743,7 @@
+ 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:2971: checking for $ac_word" >&5
++echo "$as_me:2746: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CTAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2983,7 +2758,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CTAGS="$ac_prog"
+-echo "$as_me:2986: found $ac_dir/$ac_word" >&5
++echo "$as_me:2761: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2991,10 +2766,10 @@
+ fi
+ CTAGS=$ac_cv_prog_CTAGS
+ if test -n "$CTAGS"; then
+- echo "$as_me:2994: result: $CTAGS" >&5
++ echo "$as_me:2769: result: $CTAGS" >&5
+ echo "${ECHO_T}$CTAGS" >&6
+ else
+- echo "$as_me:2997: result: no" >&5
++ echo "$as_me:2772: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3005,7 +2780,7 @@
+ 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:3008: checking for $ac_word" >&5
++echo "$as_me:2783: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ETAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3020,7 +2795,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ETAGS="$ac_prog"
+-echo "$as_me:3023: found $ac_dir/$ac_word" >&5
++echo "$as_me:2798: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3028,10 +2803,10 @@
+ fi
+ ETAGS=$ac_cv_prog_ETAGS
+ if test -n "$ETAGS"; then
+- echo "$as_me:3031: result: $ETAGS" >&5
++ echo "$as_me:2806: result: $ETAGS" >&5
+ echo "${ECHO_T}$ETAGS" >&6
+ else
+- echo "$as_me:3034: result: no" >&5
++ echo "$as_me:2809: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3040,7 +2815,7 @@
+
+ # Extract the first word of "${CTAGS:-ctags}", so it can be a program name with args.
+ set dummy ${CTAGS:-ctags}; ac_word=$2
+-echo "$as_me:3043: checking for $ac_word" >&5
++echo "$as_me:2818: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_MAKE_LOWER_TAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3055,7 +2830,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_MAKE_LOWER_TAGS="yes"
+-echo "$as_me:3058: found $ac_dir/$ac_word" >&5
++echo "$as_me:2833: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3064,17 +2839,17 @@
+ fi
+ MAKE_LOWER_TAGS=$ac_cv_prog_MAKE_LOWER_TAGS
+ if test -n "$MAKE_LOWER_TAGS"; then
+- echo "$as_me:3067: result: $MAKE_LOWER_TAGS" >&5
++ echo "$as_me:2842: result: $MAKE_LOWER_TAGS" >&5
+ echo "${ECHO_T}$MAKE_LOWER_TAGS" >&6
+ else
+- echo "$as_me:3070: result: no" >&5
++ echo "$as_me:2845: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ if test "$cf_cv_mixedcase" = yes ; then
+ # Extract the first word of "${ETAGS:-etags}", so it can be a program name with args.
+ set dummy ${ETAGS:-etags}; ac_word=$2
+-echo "$as_me:3077: checking for $ac_word" >&5
++echo "$as_me:2852: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_MAKE_UPPER_TAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3089,7 +2864,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_MAKE_UPPER_TAGS="yes"
+-echo "$as_me:3092: found $ac_dir/$ac_word" >&5
++echo "$as_me:2867: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3098,10 +2873,10 @@
+ fi
+ MAKE_UPPER_TAGS=$ac_cv_prog_MAKE_UPPER_TAGS
+ if test -n "$MAKE_UPPER_TAGS"; then
+- echo "$as_me:3101: result: $MAKE_UPPER_TAGS" >&5
++ echo "$as_me:2876: result: $MAKE_UPPER_TAGS" >&5
+ echo "${ECHO_T}$MAKE_UPPER_TAGS" >&6
+ else
+- echo "$as_me:3104: result: no" >&5
++ echo "$as_me:2879: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3121,7 +2896,7 @@
+ MAKE_LOWER_TAGS="#"
+ fi
+
+-echo "$as_me:3124: checking for makeflags variable" >&5
++echo "$as_me:2899: checking for makeflags variable" >&5
+ echo $ECHO_N "checking for makeflags variable... $ECHO_C" >&6
+ if test "${cf_cv_makeflags+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3155,13 +2930,13 @@
+ rm -f cf_makeflags.tmp
+
+ fi
+-echo "$as_me:3158: result: $cf_cv_makeflags" >&5
++echo "$as_me:2933: result: $cf_cv_makeflags" >&5
+ echo "${ECHO_T}$cf_cv_makeflags" >&6
+
+ 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:3164: checking for $ac_word" >&5
++echo "$as_me:2939: 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
+@@ -3176,7 +2951,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+-echo "$as_me:3179: found $ac_dir/$ac_word" >&5
++echo "$as_me:2954: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3184,10 +2959,10 @@
+ fi
+ RANLIB=$ac_cv_prog_RANLIB
+ if test -n "$RANLIB"; then
+- echo "$as_me:3187: result: $RANLIB" >&5
++ echo "$as_me:2962: result: $RANLIB" >&5
+ echo "${ECHO_T}$RANLIB" >&6
+ else
+- echo "$as_me:3190: result: no" >&5
++ echo "$as_me:2965: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3196,7 +2971,7 @@
+ 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:3199: checking for $ac_word" >&5
++echo "$as_me:2974: 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
+@@ -3211,7 +2986,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+-echo "$as_me:3214: found $ac_dir/$ac_word" >&5
++echo "$as_me:2989: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3220,10 +2995,10 @@
+ fi
+ ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+ if test -n "$ac_ct_RANLIB"; then
+- echo "$as_me:3223: result: $ac_ct_RANLIB" >&5
++ echo "$as_me:2998: result: $ac_ct_RANLIB" >&5
+ echo "${ECHO_T}$ac_ct_RANLIB" >&6
+ else
+- echo "$as_me:3226: result: no" >&5
++ echo "$as_me:3001: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3235,7 +3010,7 @@
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}ld; ac_word=$2
+-echo "$as_me:3238: checking for $ac_word" >&5
++echo "$as_me:3013: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_LD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3250,7 +3025,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_LD="${ac_tool_prefix}ld"
+-echo "$as_me:3253: found $ac_dir/$ac_word" >&5
++echo "$as_me:3028: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3258,10 +3033,10 @@
+ fi
+ LD=$ac_cv_prog_LD
+ if test -n "$LD"; then
+- echo "$as_me:3261: result: $LD" >&5
++ echo "$as_me:3036: result: $LD" >&5
+ echo "${ECHO_T}$LD" >&6
+ else
+- echo "$as_me:3264: result: no" >&5
++ echo "$as_me:3039: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3270,7 +3045,7 @@
+ ac_ct_LD=$LD
+ # Extract the first word of "ld", so it can be a program name with args.
+ set dummy ld; ac_word=$2
+-echo "$as_me:3273: checking for $ac_word" >&5
++echo "$as_me:3048: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_LD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3285,7 +3060,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_LD="ld"
+-echo "$as_me:3288: found $ac_dir/$ac_word" >&5
++echo "$as_me:3063: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3294,10 +3069,10 @@
+ fi
+ ac_ct_LD=$ac_cv_prog_ac_ct_LD
+ if test -n "$ac_ct_LD"; then
+- echo "$as_me:3297: result: $ac_ct_LD" >&5
++ echo "$as_me:3072: result: $ac_ct_LD" >&5
+ echo "${ECHO_T}$ac_ct_LD" >&6
+ else
+- echo "$as_me:3300: result: no" >&5
++ echo "$as_me:3075: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3309,7 +3084,7 @@
+ 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:3312: checking for $ac_word" >&5
++echo "$as_me:3087: 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
+@@ -3324,7 +3099,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+-echo "$as_me:3327: found $ac_dir/$ac_word" >&5
++echo "$as_me:3102: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3332,10 +3107,10 @@
+ fi
+ AR=$ac_cv_prog_AR
+ if test -n "$AR"; then
+- echo "$as_me:3335: result: $AR" >&5
++ echo "$as_me:3110: result: $AR" >&5
+ echo "${ECHO_T}$AR" >&6
+ else
+- echo "$as_me:3338: result: no" >&5
++ echo "$as_me:3113: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3344,7 +3119,7 @@
+ 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:3347: checking for $ac_word" >&5
++echo "$as_me:3122: 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
+@@ -3359,7 +3134,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_AR="ar"
+-echo "$as_me:3362: found $ac_dir/$ac_word" >&5
++echo "$as_me:3137: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3368,10 +3143,10 @@
+ fi
+ ac_ct_AR=$ac_cv_prog_ac_ct_AR
+ if test -n "$ac_ct_AR"; then
+- echo "$as_me:3371: result: $ac_ct_AR" >&5
++ echo "$as_me:3146: result: $ac_ct_AR" >&5
+ echo "${ECHO_T}$ac_ct_AR" >&6
+ else
+- echo "$as_me:3374: result: no" >&5
++ echo "$as_me:3149: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3383,7 +3158,7 @@
+ 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:3386: checking for $ac_word" >&5
++echo "$as_me:3161: 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
+@@ -3398,7 +3173,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+-echo "$as_me:3401: found $ac_dir/$ac_word" >&5
++echo "$as_me:3176: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3406,10 +3181,10 @@
+ fi
+ AR=$ac_cv_prog_AR
+ if test -n "$AR"; then
+- echo "$as_me:3409: result: $AR" >&5
++ echo "$as_me:3184: result: $AR" >&5
+ echo "${ECHO_T}$AR" >&6
+ else
+- echo "$as_me:3412: result: no" >&5
++ echo "$as_me:3187: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3418,7 +3193,7 @@
+ 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:3421: checking for $ac_word" >&5
++echo "$as_me:3196: 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
+@@ -3433,7 +3208,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_AR="ar"
+-echo "$as_me:3436: found $ac_dir/$ac_word" >&5
++echo "$as_me:3211: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3442,10 +3217,10 @@
+ fi
+ ac_ct_AR=$ac_cv_prog_ac_ct_AR
+ if test -n "$ac_ct_AR"; then
+- echo "$as_me:3445: result: $ac_ct_AR" >&5
++ echo "$as_me:3220: result: $ac_ct_AR" >&5
+ echo "${ECHO_T}$ac_ct_AR" >&6
+ else
+- echo "$as_me:3448: result: no" >&5
++ echo "$as_me:3223: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3454,7 +3229,7 @@
+ AR="$ac_cv_prog_AR"
+ fi
+
+-echo "$as_me:3457: checking for options to update archives" >&5
++echo "$as_me:3232: checking for options to update archives" >&5
+ echo $ECHO_N "checking for options to update archives... $ECHO_C" >&6
+ if test "${cf_cv_ar_flags+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3477,13 +3252,13 @@
+ rm -f conftest.a
+
+ cat >conftest.$ac_ext <<EOF
+-#line 3480 "configure"
++#line 3255 "configure"
+ int testdata[3] = { 123, 456, 789 };
+ EOF
+- if { (eval echo "$as_me:3483: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:3258: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3486: \$? = $ac_status" >&5
++ echo "$as_me:3261: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+ echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&5
+ $AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&5 1>/dev/null
+@@ -3494,7 +3269,7 @@
+ else
+ test -n "$verbose" && echo " cannot compile test-program" 1>&6
+
+-echo "${as_me:-configure}:3497: testing cannot compile test-program ..." 1>&5
++echo "${as_me:-configure}:3272: testing cannot compile test-program ..." 1>&5
+
+ break
+ fi
+@@ -3502,7 +3277,7 @@
+ rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext
+
+ fi
+-echo "$as_me:3505: result: $cf_cv_ar_flags" >&5
++echo "$as_me:3280: result: $cf_cv_ar_flags" >&5
+ echo "${ECHO_T}$cf_cv_ar_flags" >&6
+
+ if test -n "$ARFLAGS" ; then
+@@ -3513,7 +3288,17 @@
+ ARFLAGS=$cf_cv_ar_flags
+ fi
+
+-echo "$as_me:3516: checking if you have specified an install-prefix" >&5
++ echo "$as_me:3291: checking for PATH separator" >&5
++echo $ECHO_N "checking for PATH separator... $ECHO_C" >&6
++ case $cf_cv_system_name in
++ os2*) PATH_SEPARATOR=';' ;;
++ *) ${PATH_SEPARATOR:=':'} ;;
++ esac
++
++ echo "$as_me:3298: result: $PATH_SEPARATOR" >&5
++echo "${ECHO_T}$PATH_SEPARATOR" >&6
++
++echo "$as_me:3301: checking if you have specified an install-prefix" >&5
+ echo $ECHO_N "checking if you have specified an install-prefix... $ECHO_C" >&6
+
+ # Check whether --with-install-prefix or --without-install-prefix was given.
+@@ -3526,7 +3311,7 @@
+ ;;
+ esac
+ fi;
+-echo "$as_me:3529: result: $DESTDIR" >&5
++echo "$as_me:3314: result: $DESTDIR" >&5
+ echo "${ECHO_T}$DESTDIR" >&6
+
+ ###############################################################################
+@@ -3554,7 +3339,7 @@
+ 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:3557: checking for $ac_word" >&5
++echo "$as_me:3342: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_BUILD_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3569,7 +3354,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_BUILD_CC="$ac_prog"
+-echo "$as_me:3572: found $ac_dir/$ac_word" >&5
++echo "$as_me:3357: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3577,10 +3362,10 @@
+ fi
+ BUILD_CC=$ac_cv_prog_BUILD_CC
+ if test -n "$BUILD_CC"; then
+- echo "$as_me:3580: result: $BUILD_CC" >&5
++ echo "$as_me:3365: result: $BUILD_CC" >&5
+ echo "${ECHO_T}$BUILD_CC" >&6
+ else
+- echo "$as_me:3583: result: no" >&5
++ echo "$as_me:3368: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3588,12 +3373,12 @@
+ done
+
+ fi;
+- echo "$as_me:3591: checking for native build C compiler" >&5
++ echo "$as_me:3376: checking for native build C compiler" >&5
+ echo $ECHO_N "checking for native build C compiler... $ECHO_C" >&6
+- echo "$as_me:3593: result: $BUILD_CC" >&5
++ echo "$as_me:3378: result: $BUILD_CC" >&5
+ echo "${ECHO_T}$BUILD_CC" >&6
+
+- echo "$as_me:3596: checking for native build C preprocessor" >&5
++ echo "$as_me:3381: checking for native build C preprocessor" >&5
+ echo $ECHO_N "checking for native build C preprocessor... $ECHO_C" >&6
+
+ # Check whether --with-build-cpp or --without-build-cpp was given.
+@@ -3603,10 +3388,10 @@
+ else
+ BUILD_CPP='${BUILD_CC} -E'
+ fi;
+- echo "$as_me:3606: result: $BUILD_CPP" >&5
++ echo "$as_me:3391: result: $BUILD_CPP" >&5
+ echo "${ECHO_T}$BUILD_CPP" >&6
+
+- echo "$as_me:3609: checking for native build C flags" >&5
++ echo "$as_me:3394: checking for native build C flags" >&5
+ echo $ECHO_N "checking for native build C flags... $ECHO_C" >&6
+
+ # Check whether --with-build-cflags or --without-build-cflags was given.
+@@ -3614,10 +3399,10 @@
+ withval="$with_build_cflags"
+ BUILD_CFLAGS="$withval"
+ fi;
+- echo "$as_me:3617: result: $BUILD_CFLAGS" >&5
++ echo "$as_me:3402: result: $BUILD_CFLAGS" >&5
+ echo "${ECHO_T}$BUILD_CFLAGS" >&6
+
+- echo "$as_me:3620: checking for native build C preprocessor-flags" >&5
++ echo "$as_me:3405: checking for native build C preprocessor-flags" >&5
+ echo $ECHO_N "checking for native build C preprocessor-flags... $ECHO_C" >&6
+
+ # Check whether --with-build-cppflags or --without-build-cppflags was given.
+@@ -3625,10 +3410,10 @@
+ withval="$with_build_cppflags"
+ BUILD_CPPFLAGS="$withval"
+ fi;
+- echo "$as_me:3628: result: $BUILD_CPPFLAGS" >&5
++ echo "$as_me:3413: result: $BUILD_CPPFLAGS" >&5
+ echo "${ECHO_T}$BUILD_CPPFLAGS" >&6
+
+- echo "$as_me:3631: checking for native build linker-flags" >&5
++ echo "$as_me:3416: checking for native build linker-flags" >&5
+ echo $ECHO_N "checking for native build linker-flags... $ECHO_C" >&6
+
+ # Check whether --with-build-ldflags or --without-build-ldflags was given.
+@@ -3636,10 +3421,10 @@
+ withval="$with_build_ldflags"
+ BUILD_LDFLAGS="$withval"
+ fi;
+- echo "$as_me:3639: result: $BUILD_LDFLAGS" >&5
++ echo "$as_me:3424: result: $BUILD_LDFLAGS" >&5
+ echo "${ECHO_T}$BUILD_LDFLAGS" >&6
+
+- echo "$as_me:3642: checking for native build linker-libraries" >&5
++ echo "$as_me:3427: checking for native build linker-libraries" >&5
+ echo $ECHO_N "checking for native build linker-libraries... $ECHO_C" >&6
+
+ # Check whether --with-build-libs or --without-build-libs was given.
+@@ -3647,7 +3432,7 @@
+ withval="$with_build_libs"
+ BUILD_LIBS="$withval"
+ fi;
+- echo "$as_me:3650: result: $BUILD_LIBS" >&5
++ echo "$as_me:3435: result: $BUILD_LIBS" >&5
+ echo "${ECHO_T}$BUILD_LIBS" >&6
+
+ # this assumes we're on Unix.
+@@ -3657,7 +3442,7 @@
+ : ${BUILD_CC:='${CC}'}
+
+ if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
+- { { echo "$as_me:3660: error: Cross-build requires two compilers.
++ { { echo "$as_me:3445: error: Cross-build requires two compilers.
+ Use --with-build-cc to specify the native compiler." >&5
+ echo "$as_me: error: Cross-build requires two compilers.
+ Use --with-build-cc to specify the native compiler." >&2;}
+@@ -3682,7 +3467,7 @@
+ ### shared, for example.
+ cf_list_models=""
+
+-echo "$as_me:3685: checking if you want to build shared C-objects" >&5
++echo "$as_me:3470: checking if you want to build shared C-objects" >&5
+ echo $ECHO_N "checking if you want to build shared C-objects... $ECHO_C" >&6
+
+ # Check whether --with-shared or --without-shared was given.
+@@ -3692,27 +3477,27 @@
+ else
+ with_shared=no
+ fi;
+-echo "$as_me:3695: result: $with_shared" >&5
++echo "$as_me:3480: result: $with_shared" >&5
+ echo "${ECHO_T}$with_shared" >&6
+ test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared"
+
+-echo "$as_me:3699: checking for specified models" >&5
++echo "$as_me:3484: checking for specified models" >&5
+ echo $ECHO_N "checking for specified models... $ECHO_C" >&6
+ test -z "$cf_list_models" && cf_list_models=normal
+-echo "$as_me:3702: result: $cf_list_models" >&5
++echo "$as_me:3487: result: $cf_list_models" >&5
+ echo "${ECHO_T}$cf_list_models" >&6
+
+ ### Use the first model as the default, and save its suffix for use in building
+ ### up test-applications.
+-echo "$as_me:3707: checking for default model" >&5
++echo "$as_me:3492: checking for default model" >&5
+ echo $ECHO_N "checking for default model... $ECHO_C" >&6
+ DFT_LWR_MODEL=`echo "$cf_list_models" | $AWK '{print $1}'`
+-echo "$as_me:3710: result: $DFT_LWR_MODEL" >&5
++echo "$as_me:3495: result: $DFT_LWR_MODEL" >&5
+ echo "${ECHO_T}$DFT_LWR_MODEL" >&6
+
+ DFT_UPR_MODEL=`echo "$DFT_LWR_MODEL" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+-echo "$as_me:3715: checking for specific curses-directory" >&5
++echo "$as_me:3500: checking for specific curses-directory" >&5
+ echo $ECHO_N "checking for specific curses-directory... $ECHO_C" >&6
+
+ # Check whether --with-curses-dir or --without-curses-dir was given.
+@@ -3722,7 +3507,7 @@
+ else
+ cf_cv_curses_dir=no
+ fi;
+-echo "$as_me:3725: result: $cf_cv_curses_dir" >&5
++echo "$as_me:3510: result: $cf_cv_curses_dir" >&5
+ echo "${ECHO_T}$cf_cv_curses_dir" >&6
+
+ if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
+@@ -3741,7 +3526,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval withval="$withval"
+ case ".$withval" in #(vi
+ .NONE/*)
+@@ -3753,7 +3538,7 @@
+ withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:3756: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:3541: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -3786,7 +3571,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3789 "configure"
++#line 3574 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -3798,16 +3583,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3801: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3586: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3804: \$? = $ac_status" >&5
++ echo "$as_me:3589: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3807: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3592: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3810: \$? = $ac_status" >&5
++ echo "$as_me:3595: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -3824,7 +3609,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:3827: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:3612: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -3858,7 +3643,7 @@
+ if test "$cf_have_libdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-echo "${as_me:-configure}:3861: testing adding $cf_add_libdir to library-path ..." 1>&5
++echo "${as_me:-configure}:3646: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+ fi
+@@ -3869,7 +3654,7 @@
+ fi
+ fi
+
+-echo "$as_me:3872: checking if you want wide-character code" >&5
++echo "$as_me:3657: checking if you want wide-character code" >&5
+ echo $ECHO_N "checking if you want wide-character code... $ECHO_C" >&6
+
+ # Check whether --enable-widec or --disable-widec was given.
+@@ -3879,11 +3664,11 @@
+ else
+ with_widec=no
+ fi;
+-echo "$as_me:3882: result: $with_widec" >&5
++echo "$as_me:3667: result: $with_widec" >&5
+ echo "${ECHO_T}$with_widec" >&6
+ if test "$with_widec" = yes ; then
+
+-echo "$as_me:3886: checking for multibyte character support" >&5
++echo "$as_me:3671: checking for multibyte character support" >&5
+ echo $ECHO_N "checking for multibyte character support... $ECHO_C" >&6
+ if test "${cf_cv_utf8_lib+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3891,7 +3676,7 @@
+
+ cf_save_LIBS="$LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3894 "configure"
++#line 3679 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -3904,16 +3689,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:3907: \"$ac_link\"") >&5
++if { (eval echo "$as_me:3692: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:3910: \$? = $ac_status" >&5
++ echo "$as_me:3695: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:3913: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3698: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3916: \$? = $ac_status" >&5
++ echo "$as_me:3701: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_utf8_lib=yes
+ else
+@@ -3925,12 +3710,12 @@
+ cf_cv_header_path_utf8=
+ cf_cv_library_path_utf8=
+
+-echo "${as_me:-configure}:3928: testing Starting FIND_LINKAGE(utf8,) ..." 1>&5
++echo "${as_me:-configure}:3713: testing Starting FIND_LINKAGE(utf8,) ..." 1>&5
+
+ cf_save_LIBS="$LIBS"
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3933 "configure"
++#line 3718 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -3943,16 +3728,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:3946: \"$ac_link\"") >&5
++if { (eval echo "$as_me:3731: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:3949: \$? = $ac_status" >&5
++ echo "$as_me:3734: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:3952: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3737: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3955: \$? = $ac_status" >&5
++ echo "$as_me:3740: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_find_linkage_utf8=yes
+@@ -3966,7 +3751,7 @@
+ LIBS="-lutf8 $cf_save_LIBS"
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3969 "configure"
++#line 3754 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -3979,16 +3764,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:3982: \"$ac_link\"") >&5
++if { (eval echo "$as_me:3767: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:3985: \$? = $ac_status" >&5
++ echo "$as_me:3770: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:3988: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3773: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3991: \$? = $ac_status" >&5
++ echo "$as_me:3776: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_find_linkage_utf8=yes
+@@ -4005,9 +3790,9 @@
+
+ test -n "$verbose" && echo " find linkage for utf8 library" 1>&6
+
+-echo "${as_me:-configure}:4008: testing find linkage for utf8 library ..." 1>&5
++echo "${as_me:-configure}:3793: testing find linkage for utf8 library ..." 1>&5
+
+-echo "${as_me:-configure}:4010: testing Searching for headers in FIND_LINKAGE(utf8,) ..." 1>&5
++echo "${as_me:-configure}:3795: testing Searching for headers in FIND_LINKAGE(utf8,) ..." 1>&5
+
+ cf_save_CPPFLAGS="$CPPFLAGS"
+ cf_test_CPPFLAGS="$CPPFLAGS"
+@@ -4120,11 +3905,11 @@
+ if test -d $cf_cv_header_path_utf8 ; then
+ test -n "$verbose" && echo " ... testing $cf_cv_header_path_utf8" 1>&6
+
+-echo "${as_me:-configure}:4123: testing ... testing $cf_cv_header_path_utf8 ..." 1>&5
++echo "${as_me:-configure}:3908: testing ... testing $cf_cv_header_path_utf8 ..." 1>&5
+
+ CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_utf8"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4127 "configure"
++#line 3912 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -4137,21 +3922,21 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4140: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3925: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4143: \$? = $ac_status" >&5
++ echo "$as_me:3928: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4146: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3931: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4149: \$? = $ac_status" >&5
++ echo "$as_me:3934: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ test -n "$verbose" && echo " ... found utf8 headers in $cf_cv_header_path_utf8" 1>&6
+
+-echo "${as_me:-configure}:4154: testing ... found utf8 headers in $cf_cv_header_path_utf8 ..." 1>&5
++echo "${as_me:-configure}:3939: testing ... found utf8 headers in $cf_cv_header_path_utf8 ..." 1>&5
+
+ cf_cv_find_linkage_utf8=maybe
+ cf_test_CPPFLAGS="$CPPFLAGS"
+@@ -4169,7 +3954,7 @@
+
+ if test "$cf_cv_find_linkage_utf8" = maybe ; then
+
+-echo "${as_me:-configure}:4172: testing Searching for utf8 library in FIND_LINKAGE(utf8,) ..." 1>&5
++echo "${as_me:-configure}:3957: testing Searching for utf8 library in FIND_LINKAGE(utf8,) ..." 1>&5
+
+ cf_save_LIBS="$LIBS"
+ cf_save_LDFLAGS="$LDFLAGS"
+@@ -4266,13 +4051,13 @@
+ if test -d $cf_cv_library_path_utf8 ; then
+ test -n "$verbose" && echo " ... testing $cf_cv_library_path_utf8" 1>&6
+
+-echo "${as_me:-configure}:4269: testing ... testing $cf_cv_library_path_utf8 ..." 1>&5
++echo "${as_me:-configure}:4054: testing ... testing $cf_cv_library_path_utf8 ..." 1>&5
+
+ CPPFLAGS="$cf_test_CPPFLAGS"
+ LIBS="-lutf8 $cf_save_LIBS"
+ LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_utf8"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4275 "configure"
++#line 4060 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -4285,21 +4070,21 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:4288: \"$ac_link\"") >&5
++if { (eval echo "$as_me:4073: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4291: \$? = $ac_status" >&5
++ echo "$as_me:4076: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:4294: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4079: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4297: \$? = $ac_status" >&5
++ echo "$as_me:4082: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ test -n "$verbose" && echo " ... found utf8 library in $cf_cv_library_path_utf8" 1>&6
+
+-echo "${as_me:-configure}:4302: testing ... found utf8 library in $cf_cv_library_path_utf8 ..." 1>&5
++echo "${as_me:-configure}:4087: testing ... found utf8 library in $cf_cv_library_path_utf8 ..." 1>&5
+
+ cf_cv_find_linkage_utf8=yes
+ cf_cv_library_file_utf8="-lutf8"
+@@ -4341,13 +4126,14 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:4344: result: $cf_cv_utf8_lib" >&5
++echo "$as_me:4129: result: $cf_cv_utf8_lib" >&5
+ echo "${ECHO_T}$cf_cv_utf8_lib" >&6
+
+ # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
+ # ncurses/ncursesw:
+ if test "$cf_cv_utf8_lib" = "add-on" ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_LIBUTF8_H 1
+ EOF
+
+@@ -4375,7 +4161,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4378 "configure"
++#line 4164 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -4387,16 +4173,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4390: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:4176: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4393: \$? = $ac_status" >&5
++ echo "$as_me:4179: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4396: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4182: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4399: \$? = $ac_status" >&5
++ echo "$as_me:4185: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -4413,7 +4199,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:4416: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:4202: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -4447,7 +4233,7 @@
+ if test "$cf_have_libdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-echo "${as_me:-configure}:4450: testing adding $cf_add_libdir to library-path ..." 1>&5
++echo "${as_me:-configure}:4236: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+ fi
+@@ -4461,48 +4247,87 @@
+ cf_ncuconfig_root=ncursesw
+
+ echo "Looking for ${cf_ncuconfig_root}-config"
+-for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
++
++if test -n "$ac_tool_prefix"; then
++ for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
++ 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:4256: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_NCURSES_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$NCURSES_CONFIG"; then
++ ac_cv_prog_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_NCURSES_CONFIG="$ac_tool_prefix$ac_prog"
++echo "$as_me:4271: found $ac_dir/$ac_word" >&5
++break
++done
++
++fi
++fi
++NCURSES_CONFIG=$ac_cv_prog_NCURSES_CONFIG
++if test -n "$NCURSES_CONFIG"; then
++ echo "$as_me:4279: result: $NCURSES_CONFIG" >&5
++echo "${ECHO_T}$NCURSES_CONFIG" >&6
++else
++ echo "$as_me:4282: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ test -n "$NCURSES_CONFIG" && break
++ done
++fi
++if test -z "$NCURSES_CONFIG"; then
++ ac_ct_NCURSES_CONFIG=$NCURSES_CONFIG
++ for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
+ 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:4468: checking for $ac_word" >&5
++echo "$as_me:4295: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_NCURSES_CONFIG+set}" = set; then
++if test "${ac_cv_prog_ac_ct_NCURSES_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- case $NCURSES_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
++ if test -n "$ac_ct_NCURSES_CONFIG"; then
++ ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_ct_NCURSES_CONFIG" # Let the user override the test.
++else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+- if $as_executable_p "$ac_dir/$ac_word"; then
+- ac_cv_path_NCURSES_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:4485: found $ac_dir/$ac_word" >&5
+- break
+-fi
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_prog"
++echo "$as_me:4310: found $ac_dir/$ac_word" >&5
++break
+ done
+
+- ;;
+-esac
+ fi
+-NCURSES_CONFIG=$ac_cv_path_NCURSES_CONFIG
+-
+-if test -n "$NCURSES_CONFIG"; then
+- echo "$as_me:4496: result: $NCURSES_CONFIG" >&5
+-echo "${ECHO_T}$NCURSES_CONFIG" >&6
++fi
++ac_ct_NCURSES_CONFIG=$ac_cv_prog_ac_ct_NCURSES_CONFIG
++if test -n "$ac_ct_NCURSES_CONFIG"; then
++ echo "$as_me:4318: result: $ac_ct_NCURSES_CONFIG" >&5
++echo "${ECHO_T}$ac_ct_NCURSES_CONFIG" >&6
+ else
+- echo "$as_me:4499: result: no" >&5
++ echo "$as_me:4321: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+- test -n "$NCURSES_CONFIG" && break
++ test -n "$ac_ct_NCURSES_CONFIG" && break
+ done
+-test -n "$NCURSES_CONFIG" || NCURSES_CONFIG="none"
++test -n "$ac_ct_NCURSES_CONFIG" || ac_ct_NCURSES_CONFIG="none"
++
++ NCURSES_CONFIG=$ac_ct_NCURSES_CONFIG
++fi
+
+ if test "$NCURSES_CONFIG" != none ; then
+
+@@ -4511,7 +4336,7 @@
+
+ # even with config script, some packages use no-override for curses.h
+
+-echo "$as_me:4514: checking if we have identified curses headers" >&5
++echo "$as_me:4339: checking if we have identified curses headers" >&5
+ echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4519,13 +4344,13 @@
+
+ cf_cv_ncurses_header=none
+ for cf_header in \
+- ncursesw/curses.h \
+- ncursesw/ncurses.h \
+- curses.h \
+- ncurses.h
++ ncursesw/ncurses.h \
++ ncursesw/curses.h \
++ ncurses.h \
++ curses.h
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4528 "configure"
++#line 4353 "configure"
+ #include "confdefs.h"
+ #include <${cf_header}>
+ int
+@@ -4537,16 +4362,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4540: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:4365: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4543: \$? = $ac_status" >&5
++ echo "$as_me:4368: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4546: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4371: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4549: \$? = $ac_status" >&5
++ echo "$as_me:4374: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ncurses_header=$cf_header; break
+ else
+@@ -4557,11 +4382,11 @@
+ done
+
+ fi
+-echo "$as_me:4560: result: $cf_cv_ncurses_header" >&5
++echo "$as_me:4385: result: $cf_cv_ncurses_header" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_header" >&6
+
+ if test "$cf_cv_ncurses_header" = none ; then
+- { { echo "$as_me:4564: error: No curses header-files found" >&5
++ { { echo "$as_me:4389: error: No curses header-files found" >&5
+ echo "$as_me: error: No curses header-files found" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -4571,23 +4396,23 @@
+ for ac_header in $cf_cv_ncurses_header
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:4574: checking for $ac_header" >&5
++echo "$as_me:4399: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4580 "configure"
++#line 4405 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:4584: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:4409: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:4590: \$? = $ac_status" >&5
++ echo "$as_me:4415: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -4606,7 +4431,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:4609: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:4434: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -4659,7 +4484,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4662 "configure"
++#line 4487 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -4671,16 +4496,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4674: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:4499: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4677: \$? = $ac_status" >&5
++ echo "$as_me:4502: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4680: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4505: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4683: \$? = $ac_status" >&5
++ echo "$as_me:4508: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -4697,7 +4522,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:4700: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:4525: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -4714,7 +4539,7 @@
+
+ }
+
+-echo "$as_me:4717: checking for $cf_ncuhdr_root header in include-path" >&5
++echo "$as_me:4542: checking for $cf_ncuhdr_root header in include-path" >&5
+ echo $ECHO_N "checking for $cf_ncuhdr_root header in include-path... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4726,7 +4551,7 @@
+ do
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4729 "configure"
++#line 4554 "configure"
+ #include "confdefs.h"
+
+ #define _XOPEN_SOURCE_EXTENDED
+@@ -4758,16 +4583,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4761: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:4586: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4764: \$? = $ac_status" >&5
++ echo "$as_me:4589: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4767: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4592: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4770: \$? = $ac_status" >&5
++ echo "$as_me:4595: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ncurses_h=$cf_header
+
+@@ -4782,14 +4607,14 @@
+ done
+
+ fi
+-echo "$as_me:4785: result: $cf_cv_ncurses_h" >&5
++echo "$as_me:4610: result: $cf_cv_ncurses_h" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_h" >&6
+
+ if test "$cf_cv_ncurses_h" != no ; then
+ cf_cv_ncurses_header=$cf_cv_ncurses_h
+ else
+
+-echo "$as_me:4792: checking for $cf_ncuhdr_root include-path" >&5
++echo "$as_me:4617: checking for $cf_ncuhdr_root include-path" >&5
+ echo $ECHO_N "checking for $cf_ncuhdr_root include-path... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_h2+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4929,7 +4754,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4932 "configure"
++#line 4757 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -4941,16 +4766,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4944: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:4769: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4947: \$? = $ac_status" >&5
++ echo "$as_me:4772: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4950: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4775: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4953: \$? = $ac_status" >&5
++ echo "$as_me:4778: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -4967,7 +4792,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:4970: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:4795: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -4988,7 +4813,7 @@
+ do
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4991 "configure"
++#line 4816 "configure"
+ #include "confdefs.h"
+
+ #include <$cf_header>
+@@ -5012,16 +4837,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5015: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:4840: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5018: \$? = $ac_status" >&5
++ echo "$as_me:4843: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5021: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4846: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5024: \$? = $ac_status" >&5
++ echo "$as_me:4849: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ncurses_h2=$cf_header
+
+@@ -5042,12 +4867,12 @@
+ CPPFLAGS="$cf_save2_CPPFLAGS"
+ test "$cf_cv_ncurses_h2" != no && break
+ done
+- test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:5045: error: not found" >&5
++ test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:4870: error: not found" >&5
+ echo "$as_me: error: not found" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:5050: result: $cf_cv_ncurses_h2" >&5
++echo "$as_me:4875: result: $cf_cv_ncurses_h2" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_h2" >&6
+
+ cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'`
+@@ -5080,7 +4905,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5083 "configure"
++#line 4908 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -5092,16 +4917,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5095: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:4920: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5098: \$? = $ac_status" >&5
++ echo "$as_me:4923: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5101: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4926: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5104: \$? = $ac_status" >&5
++ echo "$as_me:4929: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -5118,7 +4943,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:5121: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:4946: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -5139,7 +4964,8 @@
+
+ case $cf_cv_ncurses_header in # (vi
+ *ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_H 1
+ EOF
+
+@@ -5148,20 +4974,22 @@
+
+ case $cf_cv_ncurses_header in # (vi
+ ncurses/curses.h|ncurses/ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_NCURSES_H 1
+ EOF
+
+ ;;
+ ncursesw/curses.h|ncursesw/ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSESW_NCURSES_H 1
+ EOF
+
+ ;;
+ esac
+
+-echo "$as_me:5164: checking for terminfo header" >&5
++echo "$as_me:4992: checking for terminfo header" >&5
+ echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
+ if test "${cf_cv_term_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5179,7 +5007,7 @@
+ for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5182 "configure"
++#line 5010 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ #include <${cf_cv_ncurses_header:-curses.h}>
+@@ -5194,16 +5022,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5197: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5025: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5200: \$? = $ac_status" >&5
++ echo "$as_me:5028: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5203: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5031: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5206: \$? = $ac_status" >&5
++ echo "$as_me:5034: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_term_header="$cf_test"
+@@ -5219,14 +5047,15 @@
+ done
+
+ fi
+-echo "$as_me:5222: result: $cf_cv_term_header" >&5
++echo "$as_me:5050: result: $cf_cv_term_header" >&5
+ echo "${ECHO_T}$cf_cv_term_header" >&6
+
+ # Set definitions to allow ifdef'ing to accommodate subdirectories
+
+ case $cf_cv_term_header in # (vi
+ *term.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_TERM_H 1
+ EOF
+
+@@ -5235,13 +5064,15 @@
+
+ case $cf_cv_term_header in # (vi
+ ncurses/term.h) #(vi
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_TERM_H 1
+ EOF
+
+ ;;
+ ncursesw/term.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSESW_TERM_H 1
+ EOF
+
+@@ -5249,11 +5080,12 @@
+ esac
+
+ # some applications need this, but should check for NCURSES_VERSION
++
+ cat >>confdefs.h <<\EOF
+ #define NCURSES 1
+ EOF
+
+-echo "$as_me:5256: checking for ncurses version" >&5
++echo "$as_me:5088: checking for ncurses version" >&5
+ echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_version+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5279,10 +5111,10 @@
+ #endif
+ EOF
+ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
+- { (eval echo "$as_me:5282: \"$cf_try\"") >&5
++ { (eval echo "$as_me:5114: \"$cf_try\"") >&5
+ (eval $cf_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5285: \$? = $ac_status" >&5
++ echo "$as_me:5117: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ if test -f conftest.out ; then
+ cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
+@@ -5292,7 +5124,7 @@
+
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5295 "configure"
++#line 5127 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header:-curses.h}>
+@@ -5317,15 +5149,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:5320: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5152: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5323: \$? = $ac_status" >&5
++ echo "$as_me:5155: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:5325: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5157: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5328: \$? = $ac_status" >&5
++ echo "$as_me:5160: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_ncurses_version=`cat $cf_tempfile`
+@@ -5339,9 +5171,10 @@
+ rm -f $cf_tempfile
+
+ fi
+-echo "$as_me:5342: result: $cf_cv_ncurses_version" >&5
++echo "$as_me:5174: result: $cf_cv_ncurses_version" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_version" >&6
+-test "$cf_cv_ncurses_version" = no || cat >>confdefs.h <<\EOF
++test "$cf_cv_ncurses_version" = no ||
++cat >>confdefs.h <<\EOF
+ #define NCURSES 1
+ EOF
+
+@@ -5351,7 +5184,7 @@
+ # to link gpm.
+ cf_ncurses_LIBS=""
+ cf_ncurses_SAVE="$LIBS"
+-echo "$as_me:5354: checking for Gpm_Open in -lgpm" >&5
++echo "$as_me:5187: checking for Gpm_Open in -lgpm" >&5
+ echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5359,7 +5192,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5362 "configure"
++#line 5195 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -5378,16 +5211,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5381: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5214: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5384: \$? = $ac_status" >&5
++ echo "$as_me:5217: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5387: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5220: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5390: \$? = $ac_status" >&5
++ echo "$as_me:5223: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_Gpm_Open=yes
+ else
+@@ -5398,10 +5231,10 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:5401: result: $ac_cv_lib_gpm_Gpm_Open" >&5
++echo "$as_me:5234: result: $ac_cv_lib_gpm_Gpm_Open" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
+ if test $ac_cv_lib_gpm_Gpm_Open = yes; then
+- echo "$as_me:5404: checking for initscr in -lgpm" >&5
++ echo "$as_me:5237: checking for initscr in -lgpm" >&5
+ echo $ECHO_N "checking for initscr in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5409,7 +5242,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5412 "configure"
++#line 5245 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -5428,16 +5261,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5431: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5264: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5434: \$? = $ac_status" >&5
++ echo "$as_me:5267: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5437: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5270: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5440: \$? = $ac_status" >&5
++ echo "$as_me:5273: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_initscr=yes
+ else
+@@ -5448,7 +5281,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:5451: result: $ac_cv_lib_gpm_initscr" >&5
++echo "$as_me:5284: result: $ac_cv_lib_gpm_initscr" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_initscr" >&6
+ if test $ac_cv_lib_gpm_initscr = yes; then
+ LIBS="$cf_ncurses_SAVE"
+@@ -5463,7 +5296,7 @@
+ # This is only necessary if you are linking against an obsolete
+ # version of ncurses (but it should do no harm, since it's static).
+ if test "$cf_nculib_root" = ncurses ; then
+- echo "$as_me:5466: checking for tgoto in -lmytinfo" >&5
++ echo "$as_me:5299: checking for tgoto in -lmytinfo" >&5
+ echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
+ if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5471,7 +5304,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lmytinfo $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5474 "configure"
++#line 5307 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -5490,16 +5323,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5493: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5326: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5496: \$? = $ac_status" >&5
++ echo "$as_me:5329: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5499: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5332: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5502: \$? = $ac_status" >&5
++ echo "$as_me:5335: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_mytinfo_tgoto=yes
+ else
+@@ -5510,7 +5343,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:5513: result: $ac_cv_lib_mytinfo_tgoto" >&5
++echo "$as_me:5346: result: $ac_cv_lib_mytinfo_tgoto" >&5
+ echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
+ if test $ac_cv_lib_mytinfo_tgoto = yes; then
+ cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
+@@ -5529,13 +5362,13 @@
+
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
+ cf_libdir=""
+- echo "$as_me:5532: checking for initscr" >&5
++ echo "$as_me:5365: checking for initscr" >&5
+ echo $ECHO_N "checking for initscr... $ECHO_C" >&6
+ if test "${ac_cv_func_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5538 "configure"
++#line 5371 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char initscr (); below. */
+@@ -5558,7 +5391,7 @@
+ #if defined (__stub_initscr) || defined (__stub___initscr)
+ choke me
+ #else
+-f = initscr;
++f = initscr; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -5566,16 +5399,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5569: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5402: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5572: \$? = $ac_status" >&5
++ echo "$as_me:5405: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5575: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5408: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5578: \$? = $ac_status" >&5
++ echo "$as_me:5411: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_initscr=yes
+ else
+@@ -5585,18 +5418,18 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:5588: result: $ac_cv_func_initscr" >&5
++echo "$as_me:5421: result: $ac_cv_func_initscr" >&5
+ echo "${ECHO_T}$ac_cv_func_initscr" >&6
+ if test $ac_cv_func_initscr = yes; then
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+ else
+
+ cf_save_LIBS="$LIBS"
+- echo "$as_me:5595: checking for initscr in -l$cf_nculib_root" >&5
++ echo "$as_me:5428: checking for initscr in -l$cf_nculib_root" >&5
+ echo $ECHO_N "checking for initscr in -l$cf_nculib_root... $ECHO_C" >&6
+ LIBS="-l$cf_nculib_root $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5599 "configure"
++#line 5432 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -5608,25 +5441,25 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5611: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5444: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5614: \$? = $ac_status" >&5
++ echo "$as_me:5447: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5617: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5450: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5620: \$? = $ac_status" >&5
++ echo "$as_me:5453: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:5622: result: yes" >&5
++ echo "$as_me:5455: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:5629: result: no" >&5
++echo "$as_me:5462: result: no" >&5
+ echo "${ECHO_T}no" >&6
+
+ cf_search=
+@@ -5716,11 +5549,11 @@
+
+ for cf_libdir in $cf_search
+ do
+- echo "$as_me:5719: checking for -l$cf_nculib_root in $cf_libdir" >&5
++ echo "$as_me:5552: checking for -l$cf_nculib_root in $cf_libdir" >&5
+ echo $ECHO_N "checking for -l$cf_nculib_root in $cf_libdir... $ECHO_C" >&6
+ LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5723 "configure"
++#line 5556 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -5732,25 +5565,25 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5735: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5568: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5738: \$? = $ac_status" >&5
++ echo "$as_me:5571: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5741: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5574: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5744: \$? = $ac_status" >&5
++ echo "$as_me:5577: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:5746: result: yes" >&5
++ echo "$as_me:5579: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+ break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:5753: result: no" >&5
++echo "$as_me:5586: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ LIBS="$cf_save_LIBS"
+ fi
+@@ -5765,7 +5598,7 @@
+ eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root
+
+ if test $cf_found_library = no ; then
+- { { echo "$as_me:5768: error: Cannot link $cf_nculib_root library" >&5
++ { { echo "$as_me:5601: error: Cannot link $cf_nculib_root library" >&5
+ echo "$as_me: error: Cannot link $cf_nculib_root library" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -5773,7 +5606,7 @@
+ fi
+
+ if test -n "$cf_ncurses_LIBS" ; then
+- echo "$as_me:5776: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
++ echo "$as_me:5609: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
+ echo $ECHO_N "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS... $ECHO_C" >&6
+ cf_ncurses_SAVE="$LIBS"
+ for p in $cf_ncurses_LIBS ; do
+@@ -5783,7 +5616,7 @@
+ fi
+ done
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5786 "configure"
++#line 5619 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -5795,23 +5628,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5798: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5631: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5801: \$? = $ac_status" >&5
++ echo "$as_me:5634: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5804: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5637: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5807: \$? = $ac_status" >&5
++ echo "$as_me:5640: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:5809: result: yes" >&5
++ echo "$as_me:5642: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:5814: result: no" >&5
++echo "$as_me:5647: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ LIBS="$cf_ncurses_SAVE"
+ fi
+@@ -5831,48 +5664,87 @@
+ cf_ncuconfig_root=ncurses
+
+ echo "Looking for ${cf_ncuconfig_root}-config"
+-for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
++
++if test -n "$ac_tool_prefix"; then
++ for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
++ 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:5673: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_NCURSES_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$NCURSES_CONFIG"; then
++ ac_cv_prog_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_NCURSES_CONFIG="$ac_tool_prefix$ac_prog"
++echo "$as_me:5688: found $ac_dir/$ac_word" >&5
++break
++done
++
++fi
++fi
++NCURSES_CONFIG=$ac_cv_prog_NCURSES_CONFIG
++if test -n "$NCURSES_CONFIG"; then
++ echo "$as_me:5696: result: $NCURSES_CONFIG" >&5
++echo "${ECHO_T}$NCURSES_CONFIG" >&6
++else
++ echo "$as_me:5699: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ test -n "$NCURSES_CONFIG" && break
++ done
++fi
++if test -z "$NCURSES_CONFIG"; then
++ ac_ct_NCURSES_CONFIG=$NCURSES_CONFIG
++ for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
+ 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:5838: checking for $ac_word" >&5
++echo "$as_me:5712: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_NCURSES_CONFIG+set}" = set; then
++if test "${ac_cv_prog_ac_ct_NCURSES_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- case $NCURSES_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
++ if test -n "$ac_ct_NCURSES_CONFIG"; then
++ ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_ct_NCURSES_CONFIG" # Let the user override the test.
++else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+- if $as_executable_p "$ac_dir/$ac_word"; then
+- ac_cv_path_NCURSES_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:5855: found $ac_dir/$ac_word" >&5
+- break
+-fi
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_prog"
++echo "$as_me:5727: found $ac_dir/$ac_word" >&5
++break
+ done
+
+- ;;
+-esac
+ fi
+-NCURSES_CONFIG=$ac_cv_path_NCURSES_CONFIG
+-
+-if test -n "$NCURSES_CONFIG"; then
+- echo "$as_me:5866: result: $NCURSES_CONFIG" >&5
+-echo "${ECHO_T}$NCURSES_CONFIG" >&6
++fi
++ac_ct_NCURSES_CONFIG=$ac_cv_prog_ac_ct_NCURSES_CONFIG
++if test -n "$ac_ct_NCURSES_CONFIG"; then
++ echo "$as_me:5735: result: $ac_ct_NCURSES_CONFIG" >&5
++echo "${ECHO_T}$ac_ct_NCURSES_CONFIG" >&6
+ else
+- echo "$as_me:5869: result: no" >&5
++ echo "$as_me:5738: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+- test -n "$NCURSES_CONFIG" && break
++ test -n "$ac_ct_NCURSES_CONFIG" && break
+ done
+-test -n "$NCURSES_CONFIG" || NCURSES_CONFIG="none"
++test -n "$ac_ct_NCURSES_CONFIG" || ac_ct_NCURSES_CONFIG="none"
++
++ NCURSES_CONFIG=$ac_ct_NCURSES_CONFIG
++fi
+
+ if test "$NCURSES_CONFIG" != none ; then
+
+@@ -5881,7 +5753,7 @@
+
+ # even with config script, some packages use no-override for curses.h
+
+-echo "$as_me:5884: checking if we have identified curses headers" >&5
++echo "$as_me:5756: checking if we have identified curses headers" >&5
+ echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5889,13 +5761,13 @@
+
+ cf_cv_ncurses_header=none
+ for cf_header in \
+- ncurses/curses.h \
+- ncurses/ncurses.h \
+- curses.h \
+- ncurses.h
++ ncurses/ncurses.h \
++ ncurses/curses.h \
++ ncurses.h \
++ curses.h
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5898 "configure"
++#line 5770 "configure"
+ #include "confdefs.h"
+ #include <${cf_header}>
+ int
+@@ -5907,16 +5779,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5910: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5782: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5913: \$? = $ac_status" >&5
++ echo "$as_me:5785: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5916: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5788: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5919: \$? = $ac_status" >&5
++ echo "$as_me:5791: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ncurses_header=$cf_header; break
+ else
+@@ -5927,11 +5799,11 @@
+ done
+
+ fi
+-echo "$as_me:5930: result: $cf_cv_ncurses_header" >&5
++echo "$as_me:5802: result: $cf_cv_ncurses_header" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_header" >&6
+
+ if test "$cf_cv_ncurses_header" = none ; then
+- { { echo "$as_me:5934: error: No curses header-files found" >&5
++ { { echo "$as_me:5806: error: No curses header-files found" >&5
+ echo "$as_me: error: No curses header-files found" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -5941,23 +5813,23 @@
+ for ac_header in $cf_cv_ncurses_header
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:5944: checking for $ac_header" >&5
++echo "$as_me:5816: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5950 "configure"
++#line 5822 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:5954: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:5826: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:5960: \$? = $ac_status" >&5
++ echo "$as_me:5832: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -5976,7 +5848,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:5979: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:5851: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -6029,7 +5901,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6032 "configure"
++#line 5904 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -6041,16 +5913,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6044: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5916: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6047: \$? = $ac_status" >&5
++ echo "$as_me:5919: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6050: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5922: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6053: \$? = $ac_status" >&5
++ echo "$as_me:5925: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -6067,7 +5939,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:6070: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:5942: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -6084,7 +5956,7 @@
+
+ }
+
+-echo "$as_me:6087: checking for $cf_ncuhdr_root header in include-path" >&5
++echo "$as_me:5959: checking for $cf_ncuhdr_root header in include-path" >&5
+ echo $ECHO_N "checking for $cf_ncuhdr_root header in include-path... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6096,7 +5968,7 @@
+ do
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6099 "configure"
++#line 5971 "configure"
+ #include "confdefs.h"
+
+ #include <$cf_header>
+@@ -6120,16 +5992,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6123: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5995: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6126: \$? = $ac_status" >&5
++ echo "$as_me:5998: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6129: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6001: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6132: \$? = $ac_status" >&5
++ echo "$as_me:6004: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ncurses_h=$cf_header
+
+@@ -6144,14 +6016,14 @@
+ done
+
+ fi
+-echo "$as_me:6147: result: $cf_cv_ncurses_h" >&5
++echo "$as_me:6019: result: $cf_cv_ncurses_h" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_h" >&6
+
+ if test "$cf_cv_ncurses_h" != no ; then
+ cf_cv_ncurses_header=$cf_cv_ncurses_h
+ else
+
+-echo "$as_me:6154: checking for $cf_ncuhdr_root include-path" >&5
++echo "$as_me:6026: checking for $cf_ncuhdr_root include-path" >&5
+ echo $ECHO_N "checking for $cf_ncuhdr_root include-path... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_h2+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6291,7 +6163,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6294 "configure"
++#line 6166 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -6303,16 +6175,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6306: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:6178: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6309: \$? = $ac_status" >&5
++ echo "$as_me:6181: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6312: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6184: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6315: \$? = $ac_status" >&5
++ echo "$as_me:6187: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -6329,7 +6201,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:6332: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:6204: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -6350,7 +6222,7 @@
+ do
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6353 "configure"
++#line 6225 "configure"
+ #include "confdefs.h"
+
+ #include <$cf_header>
+@@ -6374,16 +6246,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6377: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:6249: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6380: \$? = $ac_status" >&5
++ echo "$as_me:6252: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6383: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6255: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6386: \$? = $ac_status" >&5
++ echo "$as_me:6258: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ncurses_h2=$cf_header
+
+@@ -6404,12 +6276,12 @@
+ CPPFLAGS="$cf_save2_CPPFLAGS"
+ test "$cf_cv_ncurses_h2" != no && break
+ done
+- test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:6407: error: not found" >&5
++ test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:6279: error: not found" >&5
+ echo "$as_me: error: not found" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:6412: result: $cf_cv_ncurses_h2" >&5
++echo "$as_me:6284: result: $cf_cv_ncurses_h2" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_h2" >&6
+
+ cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'`
+@@ -6442,7 +6314,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6445 "configure"
++#line 6317 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -6454,16 +6326,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6457: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:6329: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6460: \$? = $ac_status" >&5
++ echo "$as_me:6332: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6463: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6335: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6466: \$? = $ac_status" >&5
++ echo "$as_me:6338: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -6480,7 +6352,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:6483: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:6355: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -6501,7 +6373,8 @@
+
+ case $cf_cv_ncurses_header in # (vi
+ *ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_H 1
+ EOF
+
+@@ -6510,20 +6383,22 @@
+
+ case $cf_cv_ncurses_header in # (vi
+ ncurses/curses.h|ncurses/ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_NCURSES_H 1
+ EOF
+
+ ;;
+ ncursesw/curses.h|ncursesw/ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSESW_NCURSES_H 1
+ EOF
+
+ ;;
+ esac
+
+-echo "$as_me:6526: checking for terminfo header" >&5
++echo "$as_me:6401: checking for terminfo header" >&5
+ echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
+ if test "${cf_cv_term_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6541,7 +6416,7 @@
+ for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6544 "configure"
++#line 6419 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ #include <${cf_cv_ncurses_header:-curses.h}>
+@@ -6556,16 +6431,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6559: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:6434: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6562: \$? = $ac_status" >&5
++ echo "$as_me:6437: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6565: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6440: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6568: \$? = $ac_status" >&5
++ echo "$as_me:6443: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_term_header="$cf_test"
+@@ -6581,14 +6456,15 @@
+ done
+
+ fi
+-echo "$as_me:6584: result: $cf_cv_term_header" >&5
++echo "$as_me:6459: result: $cf_cv_term_header" >&5
+ echo "${ECHO_T}$cf_cv_term_header" >&6
+
+ # Set definitions to allow ifdef'ing to accommodate subdirectories
+
+ case $cf_cv_term_header in # (vi
+ *term.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_TERM_H 1
+ EOF
+
+@@ -6597,13 +6473,15 @@
+
+ case $cf_cv_term_header in # (vi
+ ncurses/term.h) #(vi
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_TERM_H 1
+ EOF
+
+ ;;
+ ncursesw/term.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSESW_TERM_H 1
+ EOF
+
+@@ -6611,11 +6489,12 @@
+ esac
+
+ # some applications need this, but should check for NCURSES_VERSION
++
+ cat >>confdefs.h <<\EOF
+ #define NCURSES 1
+ EOF
+
+-echo "$as_me:6618: checking for ncurses version" >&5
++echo "$as_me:6497: checking for ncurses version" >&5
+ echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_version+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6641,10 +6520,10 @@
+ #endif
+ EOF
+ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
+- { (eval echo "$as_me:6644: \"$cf_try\"") >&5
++ { (eval echo "$as_me:6523: \"$cf_try\"") >&5
+ (eval $cf_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6647: \$? = $ac_status" >&5
++ echo "$as_me:6526: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ if test -f conftest.out ; then
+ cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
+@@ -6654,7 +6533,7 @@
+
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6657 "configure"
++#line 6536 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header:-curses.h}>
+@@ -6679,15 +6558,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:6682: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6561: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6685: \$? = $ac_status" >&5
++ echo "$as_me:6564: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:6687: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6566: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6690: \$? = $ac_status" >&5
++ echo "$as_me:6569: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_ncurses_version=`cat $cf_tempfile`
+@@ -6701,9 +6580,10 @@
+ rm -f $cf_tempfile
+
+ fi
+-echo "$as_me:6704: result: $cf_cv_ncurses_version" >&5
++echo "$as_me:6583: result: $cf_cv_ncurses_version" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_version" >&6
+-test "$cf_cv_ncurses_version" = no || cat >>confdefs.h <<\EOF
++test "$cf_cv_ncurses_version" = no ||
++cat >>confdefs.h <<\EOF
+ #define NCURSES 1
+ EOF
+
+@@ -6713,7 +6593,7 @@
+ # to link gpm.
+ cf_ncurses_LIBS=""
+ cf_ncurses_SAVE="$LIBS"
+-echo "$as_me:6716: checking for Gpm_Open in -lgpm" >&5
++echo "$as_me:6596: checking for Gpm_Open in -lgpm" >&5
+ echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6721,7 +6601,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6724 "configure"
++#line 6604 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -6740,16 +6620,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6743: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6623: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6746: \$? = $ac_status" >&5
++ echo "$as_me:6626: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6749: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6629: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6752: \$? = $ac_status" >&5
++ echo "$as_me:6632: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_Gpm_Open=yes
+ else
+@@ -6760,10 +6640,10 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:6763: result: $ac_cv_lib_gpm_Gpm_Open" >&5
++echo "$as_me:6643: result: $ac_cv_lib_gpm_Gpm_Open" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
+ if test $ac_cv_lib_gpm_Gpm_Open = yes; then
+- echo "$as_me:6766: checking for initscr in -lgpm" >&5
++ echo "$as_me:6646: checking for initscr in -lgpm" >&5
+ echo $ECHO_N "checking for initscr in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6771,7 +6651,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6774 "configure"
++#line 6654 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -6790,16 +6670,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6793: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6673: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6796: \$? = $ac_status" >&5
++ echo "$as_me:6676: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6799: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6679: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6802: \$? = $ac_status" >&5
++ echo "$as_me:6682: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_initscr=yes
+ else
+@@ -6810,7 +6690,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:6813: result: $ac_cv_lib_gpm_initscr" >&5
++echo "$as_me:6693: result: $ac_cv_lib_gpm_initscr" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_initscr" >&6
+ if test $ac_cv_lib_gpm_initscr = yes; then
+ LIBS="$cf_ncurses_SAVE"
+@@ -6825,7 +6705,7 @@
+ # This is only necessary if you are linking against an obsolete
+ # version of ncurses (but it should do no harm, since it's static).
+ if test "$cf_nculib_root" = ncurses ; then
+- echo "$as_me:6828: checking for tgoto in -lmytinfo" >&5
++ echo "$as_me:6708: checking for tgoto in -lmytinfo" >&5
+ echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
+ if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6833,7 +6713,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lmytinfo $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6836 "configure"
++#line 6716 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -6852,16 +6732,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6855: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6735: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6858: \$? = $ac_status" >&5
++ echo "$as_me:6738: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6861: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6741: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6864: \$? = $ac_status" >&5
++ echo "$as_me:6744: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_mytinfo_tgoto=yes
+ else
+@@ -6872,7 +6752,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:6875: result: $ac_cv_lib_mytinfo_tgoto" >&5
++echo "$as_me:6755: result: $ac_cv_lib_mytinfo_tgoto" >&5
+ echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
+ if test $ac_cv_lib_mytinfo_tgoto = yes; then
+ cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
+@@ -6891,13 +6771,13 @@
+
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
+ cf_libdir=""
+- echo "$as_me:6894: checking for initscr" >&5
++ echo "$as_me:6774: checking for initscr" >&5
+ echo $ECHO_N "checking for initscr... $ECHO_C" >&6
+ if test "${ac_cv_func_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6900 "configure"
++#line 6780 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char initscr (); below. */
+@@ -6920,7 +6800,7 @@
+ #if defined (__stub_initscr) || defined (__stub___initscr)
+ choke me
+ #else
+-f = initscr;
++f = initscr; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -6928,16 +6808,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6931: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6811: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6934: \$? = $ac_status" >&5
++ echo "$as_me:6814: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6937: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6817: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6940: \$? = $ac_status" >&5
++ echo "$as_me:6820: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_initscr=yes
+ else
+@@ -6947,18 +6827,18 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:6950: result: $ac_cv_func_initscr" >&5
++echo "$as_me:6830: result: $ac_cv_func_initscr" >&5
+ echo "${ECHO_T}$ac_cv_func_initscr" >&6
+ if test $ac_cv_func_initscr = yes; then
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+ else
+
+ cf_save_LIBS="$LIBS"
+- echo "$as_me:6957: checking for initscr in -l$cf_nculib_root" >&5
++ echo "$as_me:6837: checking for initscr in -l$cf_nculib_root" >&5
+ echo $ECHO_N "checking for initscr in -l$cf_nculib_root... $ECHO_C" >&6
+ LIBS="-l$cf_nculib_root $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6961 "configure"
++#line 6841 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -6970,25 +6850,25 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6973: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6853: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6976: \$? = $ac_status" >&5
++ echo "$as_me:6856: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6979: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6859: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6982: \$? = $ac_status" >&5
++ echo "$as_me:6862: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:6984: result: yes" >&5
++ echo "$as_me:6864: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:6991: result: no" >&5
++echo "$as_me:6871: result: no" >&5
+ echo "${ECHO_T}no" >&6
+
+ cf_search=
+@@ -7078,11 +6958,11 @@
+
+ for cf_libdir in $cf_search
+ do
+- echo "$as_me:7081: checking for -l$cf_nculib_root in $cf_libdir" >&5
++ echo "$as_me:6961: checking for -l$cf_nculib_root in $cf_libdir" >&5
+ echo $ECHO_N "checking for -l$cf_nculib_root in $cf_libdir... $ECHO_C" >&6
+ LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7085 "configure"
++#line 6965 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -7094,25 +6974,25 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7097: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6977: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7100: \$? = $ac_status" >&5
++ echo "$as_me:6980: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7103: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6983: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7106: \$? = $ac_status" >&5
++ echo "$as_me:6986: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:7108: result: yes" >&5
++ echo "$as_me:6988: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+ break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:7115: result: no" >&5
++echo "$as_me:6995: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ LIBS="$cf_save_LIBS"
+ fi
+@@ -7127,7 +7007,7 @@
+ eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root
+
+ if test $cf_found_library = no ; then
+- { { echo "$as_me:7130: error: Cannot link $cf_nculib_root library" >&5
++ { { echo "$as_me:7010: error: Cannot link $cf_nculib_root library" >&5
+ echo "$as_me: error: Cannot link $cf_nculib_root library" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -7135,7 +7015,7 @@
+ fi
+
+ if test -n "$cf_ncurses_LIBS" ; then
+- echo "$as_me:7138: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
++ echo "$as_me:7018: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
+ echo $ECHO_N "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS... $ECHO_C" >&6
+ cf_ncurses_SAVE="$LIBS"
+ for p in $cf_ncurses_LIBS ; do
+@@ -7145,7 +7025,7 @@
+ fi
+ done
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7148 "configure"
++#line 7028 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -7157,23 +7037,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7160: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7040: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7163: \$? = $ac_status" >&5
++ echo "$as_me:7043: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7166: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7046: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7169: \$? = $ac_status" >&5
++ echo "$as_me:7049: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:7171: result: yes" >&5
++ echo "$as_me:7051: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:7176: result: no" >&5
++echo "$as_me:7056: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ LIBS="$cf_ncurses_SAVE"
+ fi
+@@ -7210,10 +7090,10 @@
+ AUTOCONF_$cf_name NCURSES_VERSION_$cf_name
+ CF_EOF
+ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | fgrep AUTOCONF_$cf_name >conftest.out"
+- { (eval echo "$as_me:7213: \"$cf_try\"") >&5
++ { (eval echo "$as_me:7093: \"$cf_try\"") >&5
+ (eval $cf_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7216: \$? = $ac_status" >&5
++ echo "$as_me:7096: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ if test -f conftest.out ; then
+ cf_result=`cat conftest.out | sed -e "s/^.*AUTOCONF_$cf_name[ ][ ]*//"`
+@@ -7231,9 +7111,25 @@
+
+ cf_cv_timestamp=`date`
+
+-echo "$as_me:7234: result: Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&5
++echo "$as_me:7114: result: Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&5
+ echo "${ECHO_T}Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&6
+
++echo "$as_me:7117: checking if you want to have a library-prefix" >&5
++echo $ECHO_N "checking if you want to have a library-prefix... $ECHO_C" >&6
++
++# Check whether --with-lib-prefix or --without-lib-prefix was given.
++if test "${with_lib_prefix+set}" = set; then
++ withval="$with_lib_prefix"
++ with_lib_prefix=$withval
++else
++ with_lib_prefix=auto
++fi;
++echo "$as_me:7127: result: $with_lib_prefix" >&5
++echo "${ECHO_T}$with_lib_prefix" >&6
++
++if test $with_lib_prefix = auto
++then
++
+ case $cf_cv_system_name in #(vi
+ OS/2*|os2*) #(vi
+ LIB_PREFIX=''
+@@ -7243,7 +7139,12 @@
+ esac
+ cf_prefix=$LIB_PREFIX
+
+-LIB_PREFIX=$cf_prefix
++elif test $with_lib_prefix = no
++then
++ LIB_PREFIX=
++else
++ LIB_PREFIX=$with_lib_prefix
++fi
+
+ LIB_SUFFIX=
+
+@@ -7254,7 +7155,7 @@
+ test -n "$GCC" && test "${ac_cv_prog_cc_g}" != yes && CC_G_OPT=''
+ fi
+
+-echo "$as_me:7257: checking for default loader flags" >&5
++echo "$as_me:7158: checking for default loader flags" >&5
+ echo $ECHO_N "checking for default loader flags... $ECHO_C" >&6
+ case $DFT_LWR_MODEL in
+ normal) LD_MODEL='' ;;
+@@ -7262,11 +7163,11 @@
+ profile) LD_MODEL='-pg';;
+ shared) LD_MODEL='' ;;
+ esac
+-echo "$as_me:7265: result: $LD_MODEL" >&5
++echo "$as_me:7166: result: $LD_MODEL" >&5
+ echo "${ECHO_T}$LD_MODEL" >&6
+
+ LD_RPATH_OPT=
+-echo "$as_me:7269: checking for an rpath option" >&5
++echo "$as_me:7170: checking for an rpath option" >&5
+ echo $ECHO_N "checking for an rpath option... $ECHO_C" >&6
+ case $cf_cv_system_name in #(vi
+ irix*) #(vi
+@@ -7279,10 +7180,10 @@
+ linux*|gnu*|k*bsd*-gnu) #(vi
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+-openbsd[2-9].*) #(vi
++openbsd[2-9].*|mirbsd*) #(vi
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+-freebsd*) #(vi
++dragonfly*|freebsd*) #(vi
+ LD_RPATH_OPT="-rpath "
+ ;;
+ netbsd*) #(vi
+@@ -7297,17 +7198,17 @@
+ *)
+ ;;
+ esac
+-echo "$as_me:7300: result: $LD_RPATH_OPT" >&5
++echo "$as_me:7201: result: $LD_RPATH_OPT" >&5
+ echo "${ECHO_T}$LD_RPATH_OPT" >&6
+
+ case "x$LD_RPATH_OPT" in #(vi
+ x-R*)
+- echo "$as_me:7305: checking if we need a space after rpath option" >&5
++ echo "$as_me:7206: checking if we need a space after rpath option" >&5
+ echo $ECHO_N "checking if we need a space after rpath option... $ECHO_C" >&6
+ cf_save_LIBS="$LIBS"
+ LIBS="${LD_RPATH_OPT}$libdir $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7310 "configure"
++#line 7211 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -7319,16 +7220,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7322: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7223: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7325: \$? = $ac_status" >&5
++ echo "$as_me:7226: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7328: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7229: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7331: \$? = $ac_status" >&5
++ echo "$as_me:7232: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_rpath_space=no
+ else
+@@ -7338,7 +7239,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS="$cf_save_LIBS"
+- echo "$as_me:7341: result: $cf_rpath_space" >&5
++ echo "$as_me:7242: result: $cf_rpath_space" >&5
+ echo "${ECHO_T}$cf_rpath_space" >&6
+ test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
+ ;;
+@@ -7353,7 +7254,7 @@
+ cf_ld_rpath_opt=
+ test "$cf_cv_enable_rpath" = yes && cf_ld_rpath_opt="$LD_RPATH_OPT"
+
+- echo "$as_me:7356: checking if release/abi version should be used for shared libs" >&5
++ echo "$as_me:7257: checking if release/abi version should be used for shared libs" >&5
+ echo $ECHO_N "checking if release/abi version should be used for shared libs... $ECHO_C" >&6
+
+ # Check whether --with-shlib-version or --without-shlib-version was given.
+@@ -7368,7 +7269,7 @@
+ cf_cv_shlib_version=$withval
+ ;;
+ *)
+- { { echo "$as_me:7371: error: option value must be one of: rel, abi, auto or no" >&5
++ { { echo "$as_me:7272: error: option value must be one of: rel, abi, auto or no" >&5
+ echo "$as_me: error: option value must be one of: rel, abi, auto or no" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -7377,23 +7278,24 @@
+ else
+ cf_cv_shlib_version=auto
+ fi;
+- echo "$as_me:7380: result: $cf_cv_shlib_version" >&5
++ echo "$as_me:7281: result: $cf_cv_shlib_version" >&5
+ echo "${ECHO_T}$cf_cv_shlib_version" >&6
+
+ cf_cv_rm_so_locs=no
++ cf_try_cflags=
+
+ # Some less-capable ports of gcc support only -fpic
+ CC_SHARED_OPTS=
+ if test "$GCC" = yes
+ then
+- echo "$as_me:7389: checking which $CC option to use" >&5
++ echo "$as_me:7291: checking which $CC option to use" >&5
+ echo $ECHO_N "checking which $CC option to use... $ECHO_C" >&6
+ cf_save_CFLAGS="$CFLAGS"
+ for CC_SHARED_OPTS in -fPIC -fpic ''
+ do
+ CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7396 "configure"
++#line 7298 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -7405,16 +7307,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7408: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7310: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7411: \$? = $ac_status" >&5
++ echo "$as_me:7313: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7414: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7316: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7417: \$? = $ac_status" >&5
++ echo "$as_me:7319: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -7423,7 +7325,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ done
+- echo "$as_me:7426: result: $CC_SHARED_OPTS" >&5
++ echo "$as_me:7328: result: $CC_SHARED_OPTS" >&5
+ echo "${ECHO_T}$CC_SHARED_OPTS" >&6
+ CFLAGS="$cf_save_CFLAGS"
+ fi
+@@ -7431,10 +7333,14 @@
+ cf_cv_shlib_version_infix=no
+
+ case $cf_cv_system_name in #(vi
+- aix[56]*) #(vi
++ aix4.3-9*|aix[5-7]*) #(vi
+ if test "$GCC" = yes; then
+ CC_SHARED_OPTS=
+- MK_SHARED_LIB='$(CC) -shared'
++ MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o $@'
++ else
++ # CC_SHARED_OPTS='-qpic=large -G'
++ # perhaps "-bM:SRE -bnoentry -bexpall"
++ MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o $@'
+ fi
+ ;;
+ beos*) #(vi
+@@ -7460,12 +7366,12 @@
+ chmod +x mk_shared_lib.sh
+ ;;
+ darwin*) #(vi
+- EXTRA_CFLAGS="-no-cpp-precomp"
++ cf_try_cflags="no-cpp-precomp"
+ CC_SHARED_OPTS="-dynamic"
+ MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $@` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $@'
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
+ cf_cv_shlib_version_infix=yes
+- echo "$as_me:7468: checking if ld -search_paths_first works" >&5
++ echo "$as_me:7374: checking if ld -search_paths_first works" >&5
+ echo $ECHO_N "checking if ld -search_paths_first works... $ECHO_C" >&6
+ if test "${cf_cv_ldflags_search_paths_first+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -7474,7 +7380,7 @@
+ cf_save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7477 "configure"
++#line 7383 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -7486,16 +7392,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7489: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7395: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7492: \$? = $ac_status" >&5
++ echo "$as_me:7398: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7495: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7401: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7498: \$? = $ac_status" >&5
++ echo "$as_me:7404: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ldflags_search_paths_first=yes
+ else
+@@ -7506,12 +7412,20 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$cf_save_LDFLAGS
+ fi
+-echo "$as_me:7509: result: $cf_cv_ldflags_search_paths_first" >&5
++echo "$as_me:7415: result: $cf_cv_ldflags_search_paths_first" >&5
+ echo "${ECHO_T}$cf_cv_ldflags_search_paths_first" >&6
+ if test $cf_cv_ldflags_search_paths_first = yes; then
+ LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
+ fi
+ ;;
++ hpux[7-8]*) #(vi
++ # HP-UX 8.07 ld lacks "+b" option used for libdir search-list
++ if test "$GCC" != yes; then
++ CC_SHARED_OPTS='+Z'
++ fi
++ MK_SHARED_LIB='${LD} -b -o $@'
++ INSTALL_LIB="-m 555"
++ ;;
+ hpux*) #(vi
+ # (tested with gcc 2.7.2 -- I don't have c89)
+ if test "$GCC" = yes; then
+@@ -7525,9 +7439,19 @@
+ # readonly to exploit a quirk in the memory manager.
+ INSTALL_LIB="-m 555"
+ ;;
++ interix*)
++ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
++ if test "$cf_cv_shlib_version" = rel; then
++ cf_shared_soname='`basename .${REL_VERSION}`.${ABI_VERSION}'
++ else
++ cf_shared_soname='`basename `'
++ fi
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o '
++ ;;
+ irix*) #(vi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ # tested with IRIX 5.2 and 'cc'.
+ if test "$GCC" != yes; then
+@@ -7544,7 +7468,7 @@
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+@@ -7556,13 +7480,34 @@
+
+ MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $@'
+ ;;
+- openbsd[2-9].*) #(vi
++ mingw*) #(vi
++ cf_cv_shlib_version=mingw
++ cf_cv_shlib_version_infix=mingw
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='sh ../mk_shared_lib.sh $@ ${CC} ${CFLAGS}'
++ #MK_SHARED_LIB='${CC} ${CFLAGS} -mdll -Wl,-soname,'$cf_cv_shared_soname',-stats -o $[@]'
++ #MK_SHARED_LIB='${DLLTOOL} --export-all-symbols --output-exp --output-lib $[@]'
++ cat >mk_shared_lib.sh <<-CF_EOF
++ #!/bin/sh
++ SHARED_LIB=\$1
++ IMPORT_LIB=\`echo "\$1" | sed -e 's/[0-9]*\.dll$/.dll.a/'\`
++ shift
++ cat <<-EOF
++ Linking shared library
++ ** SHARED_LIB \$SHARED_LIB
++ ** IMPORT_LIB \$IMPORT_LIB
++EOF
++ exec \$* -shared -Wl,--out-implib=../lib/\${IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\${SHARED_LIB}
++CF_EOF
++ chmod +x mk_shared_lib.sh
++ ;;
++ openbsd[2-9].*|mirbsd*) #(vi
+ if test "$DFT_LWR_MODEL" = "shared" ; then
+ LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+
+@@ -7580,12 +7525,12 @@
+ MK_SHARED_LIB='${LD} -Bshareable -o $@'
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+ ;;
+- freebsd*) #(vi
++ dragonfly*|freebsd*) #(vi
+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+ LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+- LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${libdir} $LOCAL_LDFLAGS"
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+@@ -7602,7 +7547,7 @@
+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+ LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ if test "$cf_cv_shlib_version" = auto; then
+ if test -f /usr/libexec/ld.elf_so; then
+ cf_cv_shlib_version=abi
+@@ -7686,7 +7631,7 @@
+ do
+ CFLAGS="$cf_shared_opts $cf_save_CFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7689 "configure"
++#line 7634 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -7698,16 +7643,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7701: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7646: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7704: \$? = $ac_status" >&5
++ echo "$as_me:7649: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7707: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7652: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7710: \$? = $ac_status" >&5
++ echo "$as_me:7655: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -7744,22 +7689,63 @@
+ test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
+ ;;
+ *)
+- { echo "$as_me:7747: WARNING: ignored --with-shlib-version" >&5
++ { echo "$as_me:7692: WARNING: ignored --with-shlib-version" >&5
+ echo "$as_me: WARNING: ignored --with-shlib-version" >&2;}
+ ;;
+ esac
+ ;;
+ esac
+
+- if test -n "$cf_ld_rpath_opt" ; then
+- MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}"
++ if test -n "$cf_try_cflags"
++ then
++cat > conftest.$ac_ext <<EOF
++#line 7702 "${as_me:-configure}"
++#include <stdio.h>
++int main(int argc, char *argv[])
++{
++ printf("hello\n");
++ return (argv[argc-1] == 0) ;
++}
++EOF
++ cf_save_CFLAGS="$CFLAGS"
++ for cf_opt in $cf_try_cflags
++ do
++ CFLAGS="$cf_save_CFLAGS -$cf_opt"
++ echo "$as_me:7714: checking if CFLAGS option -$cf_opt works" >&5
++echo $ECHO_N "checking if CFLAGS option -$cf_opt works... $ECHO_C" >&6
++ if { (eval echo "$as_me:7716: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:7719: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ echo "$as_me:7721: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ cf_save_CFLAGS="$CFLAGS"
++ else
++ echo "$as_me:7725: result: no" >&5
++echo "${ECHO_T}no" >&6
++ fi
++ done
++ CFLAGS="$cf_save_CFLAGS"
+ fi
+
++ # RPATH_LIST is a colon-separated list of directories
++ test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}"
++ test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}"
++
++ test -n "$verbose" && echo " CC_SHARED_OPTS: $CC_SHARED_OPTS" 1>&6
++
++echo "${as_me:-configure}:7738: testing CC_SHARED_OPTS: $CC_SHARED_OPTS ..." 1>&5
++
++ test -n "$verbose" && echo " MK_SHARED_LIB: $MK_SHARED_LIB" 1>&6
++
++echo "${as_me:-configure}:7742: testing MK_SHARED_LIB: $MK_SHARED_LIB ..." 1>&5
++
+ # The test/sample programs in the original tree link using rpath option.
+ # Make it optional for packagers.
+ if test -n "$LOCAL_LDFLAGS"
+ then
+- echo "$as_me:7762: checking if you want to link sample programs with rpath option" >&5
++ echo "$as_me:7748: checking if you want to link sample programs with rpath option" >&5
+ echo $ECHO_N "checking if you want to link sample programs with rpath option... $ECHO_C" >&6
+
+ # Check whether --enable-rpath-link or --disable-rpath-link was given.
+@@ -7769,7 +7755,7 @@
+ else
+ with_rpath_link=yes
+ fi;
+- echo "$as_me:7772: result: $with_rpath_link" >&5
++ echo "$as_me:7758: result: $with_rpath_link" >&5
+ echo "${ECHO_T}$with_rpath_link" >&6
+ if test "$with_rpath_link" = no
+ then
+@@ -7780,13 +7766,8 @@
+
+ ###############################################################################
+
+- case $cf_cv_system_name in
+- os2*) PATH_SEPARATOR=';' ;;
+- *) PATH_SEPARATOR=':' ;;
+- esac
+-
+ ### use option --enable-broken-linker to force on use of broken-linker support
+-echo "$as_me:7789: checking if you want broken-linker support code" >&5
++echo "$as_me:7770: checking if you want broken-linker support code" >&5
+ echo $ECHO_N "checking if you want broken-linker support code... $ECHO_C" >&6
+
+ # Check whether --enable-broken_linker or --disable-broken_linker was given.
+@@ -7796,7 +7777,7 @@
+ else
+ with_broken_linker=${BROKEN_LINKER:-no}
+ fi;
+-echo "$as_me:7799: result: $with_broken_linker" >&5
++echo "$as_me:7780: result: $with_broken_linker" >&5
+ echo "${ECHO_T}$with_broken_linker" >&6
+
+ BROKEN_LINKER=0
+@@ -7816,7 +7797,7 @@
+ BROKEN_LINKER=1
+ test -n "$verbose" && echo " cygwin linker is broken anyway" 1>&6
+
+-echo "${as_me:-configure}:7819: testing cygwin linker is broken anyway ..." 1>&5
++echo "${as_me:-configure}:7800: testing cygwin linker is broken anyway ..." 1>&5
+
+ ;;
+ esac
+@@ -7829,7 +7810,7 @@
+ cf_xopen_source=
+
+ case $host_os in #(vi
+-aix[456]*) #(vi
++aix[4-7]*) #(vi
+ cf_xopen_source="-D_ALL_SOURCE"
+ ;;
+ cygwin) #(vi
+@@ -7840,6 +7821,7 @@
+ ;;
+ darwin*) #(vi
+ cf_xopen_source="-D_DARWIN_C_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ freebsd*|dragonfly*) #(vi
+ # 5.x headers associate
+@@ -7857,17 +7839,18 @@
+ ;;
+ irix[56].*) #(vi
+ cf_xopen_source="-D_SGI_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ linux*|gnu*|mint*|k*bsd*-gnu) #(vi
+
+-echo "$as_me:7863: checking if we must define _GNU_SOURCE" >&5
++echo "$as_me:7846: checking if we must define _GNU_SOURCE" >&5
+ echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6
+ if test "${cf_cv_gnu_source+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7870 "configure"
++#line 7853 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -7882,16 +7865,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7885: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7868: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7888: \$? = $ac_status" >&5
++ echo "$as_me:7871: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7891: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7874: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7894: \$? = $ac_status" >&5
++ echo "$as_me:7877: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_gnu_source=no
+ else
+@@ -7900,7 +7883,7 @@
+ cf_save="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7903 "configure"
++#line 7886 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -7915,16 +7898,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7918: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7901: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7921: \$? = $ac_status" >&5
++ echo "$as_me:7904: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7924: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7907: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7927: \$? = $ac_status" >&5
++ echo "$as_me:7910: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_gnu_source=no
+ else
+@@ -7939,51 +7922,45 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:7942: result: $cf_cv_gnu_source" >&5
++echo "$as_me:7925: result: $cf_cv_gnu_source" >&5
+ echo "${ECHO_T}$cf_cv_gnu_source" >&6
+ test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+
+ ;;
+ mirbsd*) #(vi
+- # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
+- ;;
+-netbsd*) #(vi
+- # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
+- ;;
+-openbsd*) #(vi
+- # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
+- ;;
+-osf[45]*) #(vi
+- cf_xopen_source="-D_OSF_SOURCE"
+- ;;
+-nto-qnx*) #(vi
+- cf_xopen_source="-D_QNX_SOURCE"
+- ;;
+-sco*) #(vi
+- # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
+- ;;
+-solaris2.1[0-9]) #(vi
+- cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- ;;
+-solaris2.[1-9]) #(vi
+- cf_xopen_source="-D__EXTENSIONS__"
+- ;;
+-*)
+- echo "$as_me:7972: checking if we should define _XOPEN_SOURCE" >&5
+-echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
+-if test "${cf_cv_xopen_source+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++ # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
++ cf_XOPEN_SOURCE=
+
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 7979 "configure"
+-#include "confdefs.h"
+-#include <sys/types.h>
+-int
+-main ()
++cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE
++
++cf_save_CFLAGS="$CFLAGS"
++cf_save_CPPFLAGS="$CPPFLAGS"
++
++cf_trim_CFLAGS=`echo "$cf_save_CFLAGS" | \
++ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \
++ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++echo "$as_me:7947: checking if we should define _POSIX_C_SOURCE" >&5
++echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_posix_c_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++echo "${as_me:-configure}:7953: testing if the symbol is already defined go no further ..." 1>&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7956 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
+ {
+
+-#ifndef _XOPEN_SOURCE
++#ifndef _POSIX_C_SOURCE
+ make an error
+ #endif
+ ;
+@@ -7991,32 +7968,44 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7994: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7971: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7997: \$? = $ac_status" >&5
++ echo "$as_me:7974: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8000: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7977: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8003: \$? = $ac_status" >&5
++ echo "$as_me:7980: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_xopen_source=no
++ cf_cv_posix_c_source=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_save="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 8012 "configure"
++cf_want_posix_source=no
++ case .$cf_POSIX_C_SOURCE in #(vi
++ .[12]??*) #(vi
++ cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
++ ;;
++ .2) #(vi
++ cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
++ cf_want_posix_source=yes
++ ;;
++ .*)
++ cf_want_posix_source=yes
++ ;;
++ esac
++ if test "$cf_want_posix_source" = yes ; then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8001 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+ main ()
+ {
+
+-#ifdef _XOPEN_SOURCE
++#ifdef _POSIX_SOURCE
+ make an error
+ #endif
+ ;
+@@ -8024,50 +8013,87 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8027: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8016: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8030: \$? = $ac_status" >&5
++ echo "$as_me:8019: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8033: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8022: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8036: \$? = $ac_status" >&5
++ echo "$as_me:8025: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_xopen_source=no
++ :
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_xopen_source=$cf_XOPEN_SOURCE
++cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE"
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- CPPFLAGS="$cf_save"
++ fi
++
++echo "${as_me:-configure}:8036: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
++
++ CFLAGS="$cf_trim_CFLAGS"
++ CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
++
++echo "${as_me:-configure}:8041: testing if the second compile does not leave our definition intact error ..." 1>&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8044 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
+
++#ifndef _POSIX_C_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8059: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8062: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8065: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8068: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_posix_c_source=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$cf_save_CFLAGS"
++ CPPFLAGS="$cf_save_CPPFLAGS"
+
+ fi
+-echo "$as_me:8051: result: $cf_cv_xopen_source" >&5
+-echo "${ECHO_T}$cf_cv_xopen_source" >&6
+- if test "$cf_cv_xopen_source" != no ; then
+-
+-CFLAGS=`echo "$CFLAGS" | \
+- sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
++rm -f conftest.$ac_objext conftest.$ac_ext
+
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
++fi
++echo "$as_me:8084: result: $cf_cv_posix_c_source" >&5
++echo "${ECHO_T}$cf_cv_posix_c_source" >&6
+
+- cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
++if test "$cf_cv_posix_c_source" != no ; then
++ CFLAGS="$cf_trim_CFLAGS"
++ CPPFLAGS="$cf_trim_CPPFLAGS"
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+ cf_new_cppflags=
+ cf_new_extra_cppflags=
+
+-for cf_add_cflags in $cf_temp_xopen_source
++for cf_add_cflags in $cf_cv_posix_c_source
+ do
+ case $cf_fix_cppflags in
+ no)
+@@ -8140,38 +8166,550 @@
+ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+
+- fi
++fi
+
+-cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE
++ ;;
++netbsd*) #(vi
++ cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ ;;
++openbsd[4-9]*) #(vi
++ # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
++ cf_xopen_source="-D_BSD_SOURCE"
++ cf_XOPEN_SOURCE=600
++ ;;
++openbsd*) #(vi
++ # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
++ ;;
++osf[45]*) #(vi
++ cf_xopen_source="-D_OSF_SOURCE"
++ ;;
++nto-qnx*) #(vi
++ cf_xopen_source="-D_QNX_SOURCE"
++ ;;
++sco*) #(vi
++ # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
++ ;;
++solaris2.*) #(vi
++ cf_xopen_source="-D__EXTENSIONS__"
++ ;;
++*)
+
+-cf_save_CFLAGS="$CFLAGS"
+-cf_save_CPPFLAGS="$CPPFLAGS"
++echo "$as_me:8197: checking if we should define _XOPEN_SOURCE" >&5
++echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_xopen_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
+
+-cf_trim_CFLAGS=`echo "$cf_save_CFLAGS" | \
+- sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8204 "configure"
++#include "confdefs.h"
+
+-cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \
+- sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
+
+-echo "$as_me:8158: checking if we should define _POSIX_C_SOURCE" >&5
+-echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6
+-if test "${cf_cv_posix_c_source+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++int
++main ()
++{
++
++#ifndef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8223: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8226: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8229: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8232: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xopen_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8241 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#ifdef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8260: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8263: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8266: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8269: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xopen_source=no
+ else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_xopen_source=$cf_XOPEN_SOURCE
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$cf_save"
++
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++
++fi
++echo "$as_me:8284: result: $cf_cv_xopen_source" >&5
++echo "${ECHO_T}$cf_cv_xopen_source" >&6
++
++if test "$cf_cv_xopen_source" != no ; then
++
++CFLAGS=`echo "$CFLAGS" | \
++ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_temp_xopen_source
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++fi
++
++cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE
++
++cf_save_CFLAGS="$CFLAGS"
++cf_save_CPPFLAGS="$CPPFLAGS"
++
++cf_trim_CFLAGS=`echo "$cf_save_CFLAGS" | \
++ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \
++ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++echo "$as_me:8392: checking if we should define _POSIX_C_SOURCE" >&5
++echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_posix_c_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++echo "${as_me:-configure}:8398: testing if the symbol is already defined go no further ..." 1>&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8401 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
++
++#ifndef _POSIX_C_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8416: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8419: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8422: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8425: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_posix_c_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_want_posix_source=no
++ case .$cf_POSIX_C_SOURCE in #(vi
++ .[12]??*) #(vi
++ cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
++ ;;
++ .2) #(vi
++ cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
++ cf_want_posix_source=yes
++ ;;
++ .*)
++ cf_want_posix_source=yes
++ ;;
++ esac
++ if test "$cf_want_posix_source" = yes ; then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8446 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
++
++#ifdef _POSIX_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8461: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8464: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8467: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8470: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE"
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ fi
++
++echo "${as_me:-configure}:8481: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
++
++ CFLAGS="$cf_trim_CFLAGS"
++ CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
++
++echo "${as_me:-configure}:8486: testing if the second compile does not leave our definition intact error ..." 1>&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8489 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
++
++#ifndef _POSIX_C_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8504: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8507: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8510: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8513: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_posix_c_source=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$cf_save_CFLAGS"
++ CPPFLAGS="$cf_save_CPPFLAGS"
++
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++
++fi
++echo "$as_me:8529: result: $cf_cv_posix_c_source" >&5
++echo "${ECHO_T}$cf_cv_posix_c_source" >&6
++
++if test "$cf_cv_posix_c_source" != no ; then
++ CFLAGS="$cf_trim_CFLAGS"
++ CPPFLAGS="$cf_trim_CPPFLAGS"
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_cv_posix_c_source
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++fi
++
++ ;;
++esac
++
++if test -n "$cf_xopen_source" ; then
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_xopen_source
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
+
+-echo "${as_me:-configure}:8164: testing if the symbol is already defined go no further ..." 1>&5
++fi
+
++if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
++ echo "$as_me:8702: checking if _XOPEN_SOURCE really is set" >&5
++echo $ECHO_N "checking if _XOPEN_SOURCE really is set... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8167 "configure"
++#line 8705 "configure"
+ #include "confdefs.h"
+-#include <sys/types.h>
++#include <stdlib.h>
+ int
+ main ()
+ {
+
+-#ifndef _POSIX_C_SOURCE
++#ifndef _XOPEN_SOURCE
+ make an error
+ #endif
+ ;
+@@ -8179,44 +8717,37 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8182: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8720: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8185: \$? = $ac_status" >&5
++ echo "$as_me:8723: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8188: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8726: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8191: \$? = $ac_status" >&5
++ echo "$as_me:8729: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_posix_c_source=no
++ cf_XOPEN_SOURCE_set=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_want_posix_source=no
+- case .$cf_POSIX_C_SOURCE in #(vi
+- .[12]??*) #(vi
+- cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
+- ;;
+- .2) #(vi
+- cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
+- cf_want_posix_source=yes
+- ;;
+- .*)
+- cf_want_posix_source=yes
+- ;;
+- esac
+- if test "$cf_want_posix_source" = yes ; then
++cf_XOPEN_SOURCE_set=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ echo "$as_me:8738: result: $cf_XOPEN_SOURCE_set" >&5
++echo "${ECHO_T}$cf_XOPEN_SOURCE_set" >&6
++ if test $cf_XOPEN_SOURCE_set = yes
++ then
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8212 "configure"
++#line 8743 "configure"
+ #include "confdefs.h"
+-#include <sys/types.h>
++#include <stdlib.h>
+ int
+ main ()
+ {
+
+-#ifdef _POSIX_SOURCE
++#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
+ make an error
+ #endif
+ ;
+@@ -8224,42 +8755,87 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8227: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8758: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8230: \$? = $ac_status" >&5
++ echo "$as_me:8761: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8233: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8764: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8236: \$? = $ac_status" >&5
++ echo "$as_me:8767: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ cf_XOPEN_SOURCE_set_ok=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE"
++cf_XOPEN_SOURCE_set_ok=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- fi
++ if test $cf_XOPEN_SOURCE_set_ok = no
++ then
++ { echo "$as_me:8778: WARNING: _XOPEN_SOURCE is lower than requested" >&5
++echo "$as_me: WARNING: _XOPEN_SOURCE is lower than requested" >&2;}
++ fi
++ else
+
+-echo "${as_me:-configure}:8247: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
++echo "$as_me:8783: checking if we should define _XOPEN_SOURCE" >&5
++echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_xopen_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
+
+- CFLAGS="$cf_trim_CFLAGS"
+- CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8790 "configure"
++#include "confdefs.h"
+
+-echo "${as_me:-configure}:8252: testing if the second compile does not leave our definition intact error ..." 1>&5
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++int
++main ()
++{
+
++#ifndef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8809: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8812: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8815: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8818: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xopen_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8255 "configure"
++#line 8827 "configure"
+ #include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
+ #include <sys/types.h>
++
+ int
+ main ()
+ {
+
+-#ifndef _POSIX_C_SOURCE
++#ifdef _XOPEN_SOURCE
+ make an error
+ #endif
+ ;
+@@ -8267,129 +8843,51 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8270: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8846: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8273: \$? = $ac_status" >&5
++ echo "$as_me:8849: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8276: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8852: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8279: \$? = $ac_status" >&5
++ echo "$as_me:8855: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ cf_cv_xopen_source=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_posix_c_source=no
++cf_cv_xopen_source=$cf_XOPEN_SOURCE
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- CFLAGS="$cf_save_CFLAGS"
+- CPPFLAGS="$cf_save_CPPFLAGS"
++ CPPFLAGS="$cf_save"
+
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:8295: result: $cf_cv_posix_c_source" >&5
+-echo "${ECHO_T}$cf_cv_posix_c_source" >&6
+-
+-if test "$cf_cv_posix_c_source" != no ; then
+- CFLAGS="$cf_trim_CFLAGS"
+- CPPFLAGS="$cf_trim_CPPFLAGS"
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_cv_posix_c_source
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++echo "$as_me:8870: result: $cf_cv_xopen_source" >&5
++echo "${ECHO_T}$cf_cv_xopen_source" >&6
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
++if test "$cf_cv_xopen_source" != no ; then
+
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++CFLAGS=`echo "$CFLAGS" | \
++ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+ CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+-fi
+-
+- ;;
+-esac
++ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+-if test -n "$cf_xopen_source" ; then
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+ cf_new_cppflags=
+ cf_new_extra_cppflags=
+
+-for cf_add_cflags in $cf_xopen_source
++for cf_add_cflags in $cf_temp_xopen_source
+ do
+ case $cf_fix_cppflags in
+ no)
+@@ -8464,6 +8962,9 @@
+
+ fi
+
++ fi
++fi
++
+ # Check whether --enable-largefile or --disable-largefile was given.
+ if test "${enable_largefile+set}" = set; then
+ enableval="$enable_largefile"
+@@ -8471,7 +8972,7 @@
+ fi;
+ if test "$enable_largefile" != no; then
+
+- echo "$as_me:8474: checking for special C compiler options needed for large files" >&5
++ echo "$as_me:8975: checking for special C compiler options needed for large files" >&5
+ echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6
+ if test "${ac_cv_sys_largefile_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8483,7 +8984,7 @@
+ # IRIX 6.2 and later do not support large files by default,
+ # so use the C compiler's -n32 option if that helps.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8486 "configure"
++#line 8987 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+@@ -8503,16 +9004,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8506: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9007: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8509: \$? = $ac_status" >&5
++ echo "$as_me:9010: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8512: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9013: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8515: \$? = $ac_status" >&5
++ echo "$as_me:9016: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -8522,16 +9023,16 @@
+ rm -f conftest.$ac_objext
+ CC="$CC -n32"
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8525: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9026: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8528: \$? = $ac_status" >&5
++ echo "$as_me:9029: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8531: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9032: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8534: \$? = $ac_status" >&5
++ echo "$as_me:9035: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sys_largefile_CC=' -n32'; break
+ else
+@@ -8545,13 +9046,13 @@
+ rm -f conftest.$ac_ext
+ fi
+ fi
+-echo "$as_me:8548: result: $ac_cv_sys_largefile_CC" >&5
++echo "$as_me:9049: result: $ac_cv_sys_largefile_CC" >&5
+ echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6
+ if test "$ac_cv_sys_largefile_CC" != no; then
+ CC=$CC$ac_cv_sys_largefile_CC
+ fi
+
+- echo "$as_me:8554: checking for _FILE_OFFSET_BITS value needed for large files" >&5
++ echo "$as_me:9055: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+ echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6
+ if test "${ac_cv_sys_file_offset_bits+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8559,7 +9060,7 @@
+ while :; do
+ ac_cv_sys_file_offset_bits=no
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8562 "configure"
++#line 9063 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+@@ -8579,16 +9080,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8582: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9083: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8585: \$? = $ac_status" >&5
++ echo "$as_me:9086: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8588: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9089: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8591: \$? = $ac_status" >&5
++ echo "$as_me:9092: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -8597,7 +9098,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8600 "configure"
++#line 9101 "configure"
+ #include "confdefs.h"
+ #define _FILE_OFFSET_BITS 64
+ #include <sys/types.h>
+@@ -8618,16 +9119,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8621: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9122: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8624: \$? = $ac_status" >&5
++ echo "$as_me:9125: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8627: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9128: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8630: \$? = $ac_status" >&5
++ echo "$as_me:9131: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sys_file_offset_bits=64; break
+ else
+@@ -8638,7 +9139,7 @@
+ break
+ done
+ fi
+-echo "$as_me:8641: result: $ac_cv_sys_file_offset_bits" >&5
++echo "$as_me:9142: result: $ac_cv_sys_file_offset_bits" >&5
+ echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6
+ if test "$ac_cv_sys_file_offset_bits" != no; then
+
+@@ -8648,7 +9149,7 @@
+
+ fi
+ rm -rf conftest*
+- echo "$as_me:8651: checking for _LARGE_FILES value needed for large files" >&5
++ echo "$as_me:9152: checking for _LARGE_FILES value needed for large files" >&5
+ echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6
+ if test "${ac_cv_sys_large_files+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8656,7 +9157,7 @@
+ while :; do
+ ac_cv_sys_large_files=no
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8659 "configure"
++#line 9160 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+@@ -8676,16 +9177,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8679: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9180: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8682: \$? = $ac_status" >&5
++ echo "$as_me:9183: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8685: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9186: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8688: \$? = $ac_status" >&5
++ echo "$as_me:9189: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -8694,7 +9195,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8697 "configure"
++#line 9198 "configure"
+ #include "confdefs.h"
+ #define _LARGE_FILES 1
+ #include <sys/types.h>
+@@ -8715,16 +9216,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8718: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9219: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8721: \$? = $ac_status" >&5
++ echo "$as_me:9222: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8724: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9225: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8727: \$? = $ac_status" >&5
++ echo "$as_me:9228: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sys_large_files=1; break
+ else
+@@ -8735,7 +9236,7 @@
+ break
+ done
+ fi
+-echo "$as_me:8738: result: $ac_cv_sys_large_files" >&5
++echo "$as_me:9239: result: $ac_cv_sys_large_files" >&5
+ echo "${ECHO_T}$ac_cv_sys_large_files" >&6
+ if test "$ac_cv_sys_large_files" != no; then
+
+@@ -8748,7 +9249,7 @@
+ fi
+
+ if test "$enable_largefile" != no ; then
+- echo "$as_me:8751: checking for _LARGEFILE_SOURCE value needed for large files" >&5
++ echo "$as_me:9252: checking for _LARGEFILE_SOURCE value needed for large files" >&5
+ echo $ECHO_N "checking for _LARGEFILE_SOURCE value needed for large files... $ECHO_C" >&6
+ if test "${ac_cv_sys_largefile_source+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8756,7 +9257,7 @@
+ while :; do
+ ac_cv_sys_largefile_source=no
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8759 "configure"
++#line 9260 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -8768,16 +9269,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8771: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9272: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8774: \$? = $ac_status" >&5
++ echo "$as_me:9275: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8777: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9278: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8780: \$? = $ac_status" >&5
++ echo "$as_me:9281: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -8786,7 +9287,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8789 "configure"
++#line 9290 "configure"
+ #include "confdefs.h"
+ #define _LARGEFILE_SOURCE 1
+ #include <stdio.h>
+@@ -8799,16 +9300,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8802: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9303: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8805: \$? = $ac_status" >&5
++ echo "$as_me:9306: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8808: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9309: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8811: \$? = $ac_status" >&5
++ echo "$as_me:9312: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sys_largefile_source=1; break
+ else
+@@ -8819,7 +9320,7 @@
+ break
+ done
+ fi
+-echo "$as_me:8822: result: $ac_cv_sys_largefile_source" >&5
++echo "$as_me:9323: result: $ac_cv_sys_largefile_source" >&5
+ echo "${ECHO_T}$ac_cv_sys_largefile_source" >&6
+ if test "$ac_cv_sys_largefile_source" != no; then
+
+@@ -8833,13 +9334,13 @@
+ # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug
+ # in glibc 2.1.3, but that breaks too many other things.
+ # If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
+-echo "$as_me:8836: checking for fseeko" >&5
++echo "$as_me:9337: checking for fseeko" >&5
+ echo $ECHO_N "checking for fseeko... $ECHO_C" >&6
+ if test "${ac_cv_func_fseeko+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8842 "configure"
++#line 9343 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -8851,16 +9352,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8854: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9355: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8857: \$? = $ac_status" >&5
++ echo "$as_me:9358: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8860: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9361: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8863: \$? = $ac_status" >&5
++ echo "$as_me:9364: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_fseeko=yes
+ else
+@@ -8870,7 +9371,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:8873: result: $ac_cv_func_fseeko" >&5
++echo "$as_me:9374: result: $ac_cv_func_fseeko" >&5
+ echo "${ECHO_T}$ac_cv_func_fseeko" >&6
+ if test $ac_cv_func_fseeko = yes; then
+
+@@ -8891,14 +9392,14 @@
+ test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
+ test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
+
+- echo "$as_me:8894: checking whether to use struct dirent64" >&5
++ echo "$as_me:9395: checking whether to use struct dirent64" >&5
+ echo $ECHO_N "checking whether to use struct dirent64... $ECHO_C" >&6
+ if test "${cf_cv_struct_dirent64+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8901 "configure"
++#line 9402 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -8919,16 +9420,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8922: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9423: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8925: \$? = $ac_status" >&5
++ echo "$as_me:9426: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8928: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9429: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8931: \$? = $ac_status" >&5
++ echo "$as_me:9432: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_struct_dirent64=yes
+ else
+@@ -8939,16 +9440,17 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:8942: result: $cf_cv_struct_dirent64" >&5
++echo "$as_me:9443: result: $cf_cv_struct_dirent64" >&5
+ echo "${ECHO_T}$cf_cv_struct_dirent64" >&6
+- test "$cf_cv_struct_dirent64" = yes && cat >>confdefs.h <<\EOF
++ test "$cf_cv_struct_dirent64" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_STRUCT_DIRENT64 1
+ EOF
+
+ fi
+
+ ### Enable compiling-in rcs id's
+-echo "$as_me:8951: checking if RCS identifiers should be compiled-in" >&5
++echo "$as_me:9453: checking if RCS identifiers should be compiled-in" >&5
+ echo $ECHO_N "checking if RCS identifiers should be compiled-in... $ECHO_C" >&6
+
+ # Check whether --with-rcs-ids or --without-rcs-ids was given.
+@@ -8958,16 +9460,17 @@
+ else
+ with_rcs_ids=no
+ fi;
+-echo "$as_me:8961: result: $with_rcs_ids" >&5
++echo "$as_me:9463: result: $with_rcs_ids" >&5
+ echo "${ECHO_T}$with_rcs_ids" >&6
+-test "$with_rcs_ids" = yes && cat >>confdefs.h <<\EOF
++test "$with_rcs_ids" = yes &&
++cat >>confdefs.h <<\EOF
+ #define USE_RCS_IDS 1
+ EOF
+
+ ###############################################################################
+
+ ### Note that some functions (such as const) are normally disabled anyway.
+-echo "$as_me:8970: checking if you want to build with function extensions" >&5
++echo "$as_me:9473: checking if you want to build with function extensions" >&5
+ echo $ECHO_N "checking if you want to build with function extensions... $ECHO_C" >&6
+
+ # Check whether --enable-ext-funcs or --disable-ext-funcs was given.
+@@ -8977,15 +9480,16 @@
+ else
+ with_ext_funcs=yes
+ fi;
+-echo "$as_me:8980: result: $with_ext_funcs" >&5
++echo "$as_me:9483: result: $with_ext_funcs" >&5
+ echo "${ECHO_T}$with_ext_funcs" >&6
+ if test "$with_ext_funcs" = yes ; then
+ NCURSES_EXT_FUNCS=1
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_USE_DEFAULT_COLORS 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define NCURSES_EXT_FUNCS 1
+ EOF
+
+@@ -8994,7 +9498,7 @@
+ fi
+
+ ### use option --enable-const to turn on use of const beyond that in XSI.
+-echo "$as_me:8997: checking for extended use of const keyword" >&5
++echo "$as_me:9501: checking for extended use of const keyword" >&5
+ echo $ECHO_N "checking for extended use of const keyword... $ECHO_C" >&6
+
+ # Check whether --enable-const or --disable-const was given.
+@@ -9004,7 +9508,7 @@
+ else
+ with_ext_const=no
+ fi;
+-echo "$as_me:9007: result: $with_ext_const" >&5
++echo "$as_me:9511: result: $with_ext_const" >&5
+ echo "${ECHO_T}$with_ext_const" >&6
+ NCURSES_CONST='/*nothing*/'
+ if test "$with_ext_const" = yes ; then
+@@ -9014,7 +9518,7 @@
+ ###############################################################################
+ # These options are relatively safe to experiment with.
+
+-echo "$as_me:9017: checking if you want all development code" >&5
++echo "$as_me:9521: checking if you want all development code" >&5
+ echo $ECHO_N "checking if you want all development code... $ECHO_C" >&6
+
+ # Check whether --with-develop or --without-develop was given.
+@@ -9024,7 +9528,7 @@
+ else
+ with_develop=no
+ fi;
+-echo "$as_me:9027: result: $with_develop" >&5
++echo "$as_me:9531: result: $with_develop" >&5
+ echo "${ECHO_T}$with_develop" >&6
+
+ ###############################################################################
+@@ -9033,7 +9537,7 @@
+ # This is still experimental (20080329), but should ultimately be moved to
+ # the script-block --with-normal, etc.
+
+-echo "$as_me:9036: checking if you want to link with the pthread library" >&5
++echo "$as_me:9540: checking if you want to link with the pthread library" >&5
+ echo $ECHO_N "checking if you want to link with the pthread library... $ECHO_C" >&6
+
+ # Check whether --with-pthread or --without-pthread was given.
+@@ -9043,27 +9547,27 @@
+ else
+ with_pthread=no
+ fi;
+-echo "$as_me:9046: result: $with_pthread" >&5
++echo "$as_me:9550: result: $with_pthread" >&5
+ echo "${ECHO_T}$with_pthread" >&6
+
+ if test "$with_pthread" != no ; then
+- echo "$as_me:9050: checking for pthread.h" >&5
++ echo "$as_me:9554: checking for pthread.h" >&5
+ echo $ECHO_N "checking for pthread.h... $ECHO_C" >&6
+ if test "${ac_cv_header_pthread_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9056 "configure"
++#line 9560 "configure"
+ #include "confdefs.h"
+ #include <pthread.h>
+ _ACEOF
+-if { (eval echo "$as_me:9060: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:9564: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:9066: \$? = $ac_status" >&5
++ echo "$as_me:9570: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -9082,20 +9586,22 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:9085: result: $ac_cv_header_pthread_h" >&5
++echo "$as_me:9589: result: $ac_cv_header_pthread_h" >&5
+ echo "${ECHO_T}$ac_cv_header_pthread_h" >&6
+ if test $ac_cv_header_pthread_h = yes; then
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_PTHREADS_H 1
+ EOF
+
+- echo "$as_me:9093: checking if we can link with the pthread library" >&5
+-echo $ECHO_N "checking if we can link with the pthread library... $ECHO_C" >&6
+- cf_save_LIBS="$LIBS"
+- LIBS="-lpthread $LIBS"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 9098 "configure"
++ for cf_lib_pthread in pthread c_r
++ do
++ echo "$as_me:9599: checking if we can link with the $cf_lib_pthread library" >&5
++echo $ECHO_N "checking if we can link with the $cf_lib_pthread library... $ECHO_C" >&6
++ cf_save_LIBS="$LIBS"
++ LIBS="-l$cf_lib_pthread $LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9604 "configure"
+ #include "confdefs.h"
+
+ #include <pthread.h>
+@@ -9104,23 +9610,24 @@
+ main ()
+ {
+
+- int rc = pthread_create(0,0,0,0);
++ int rc = pthread_create(0,0,0,0);
++ int r2 = pthread_mutexattr_settype(0, 0);
+
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9114: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9621: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9117: \$? = $ac_status" >&5
++ echo "$as_me:9624: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9120: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9627: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9123: \$? = $ac_status" >&5
++ echo "$as_me:9630: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ with_pthread=yes
+ else
+@@ -9129,27 +9636,30 @@
+ with_pthread=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- LIBS="$cf_save_LIBS"
+- echo "$as_me:9133: result: $with_pthread" >&5
++ LIBS="$cf_save_LIBS"
++ echo "$as_me:9640: result: $with_pthread" >&5
+ echo "${ECHO_T}$with_pthread" >&6
++ test "$with_pthread" = yes && break
++ done
++
++ if test "$with_pthread" = yes ; then
++ LIBS="-l$cf_lib_pthread $LIBS"
+
+- if test "$with_pthread" = yes ; then
+- LIBS="-lpthread $LIBS"
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_LIBPTHREADS 1
+ EOF
+
+- else
+- { { echo "$as_me:9143: error: Cannot link with pthread library" >&5
++ else
++ { { echo "$as_me:9653: error: Cannot link with pthread library" >&5
+ echo "$as_me: error: Cannot link with pthread library" >&2;}
+ { (exit 1); exit 1; }; }
+- fi
++ fi
+
+ fi
+
+ fi
+
+-echo "$as_me:9152: checking if you want to use weak-symbols for pthreads" >&5
++echo "$as_me:9662: checking if you want to use weak-symbols for pthreads" >&5
+ echo $ECHO_N "checking if you want to use weak-symbols for pthreads... $ECHO_C" >&6
+
+ # Check whether --enable-weak-symbols or --disable-weak-symbols was given.
+@@ -9159,18 +9669,18 @@
+ else
+ use_weak_symbols=no
+ fi;
+-echo "$as_me:9162: result: $use_weak_symbols" >&5
++echo "$as_me:9672: result: $use_weak_symbols" >&5
+ echo "${ECHO_T}$use_weak_symbols" >&6
+ if test "$use_weak_symbols" = yes ; then
+
+-echo "$as_me:9166: checking if $CC supports weak symbols" >&5
++echo "$as_me:9676: checking if $CC supports weak symbols" >&5
+ echo $ECHO_N "checking if $CC supports weak symbols... $ECHO_C" >&6
+ if test "${cf_cv_weak_symbols+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9173 "configure"
++#line 9683 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -9196,16 +9706,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9199: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9709: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9202: \$? = $ac_status" >&5
++ echo "$as_me:9712: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9205: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9715: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9208: \$? = $ac_status" >&5
++ echo "$as_me:9718: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_weak_symbols=yes
+ else
+@@ -9216,7 +9726,7 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:9219: result: $cf_cv_weak_symbols" >&5
++echo "$as_me:9729: result: $cf_cv_weak_symbols" >&5
+ echo "${ECHO_T}$cf_cv_weak_symbols" >&6
+
+ else
+@@ -9224,7 +9734,8 @@
+ fi
+
+ if test $cf_cv_weak_symbols = yes ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_WEAK_SYMBOLS 1
+ EOF
+
+@@ -9232,7 +9743,8 @@
+
+ PTHREAD=
+ if test "$with_pthread" = "yes" ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_PTHREADS 1
+ EOF
+
+@@ -9243,13 +9755,13 @@
+ fi
+
+ # OpenSUSE is installing ncurses6, using reentrant option.
+-echo "$as_me:9246: checking for _nc_TABSIZE" >&5
++echo "$as_me:9758: checking for _nc_TABSIZE" >&5
+ echo $ECHO_N "checking for _nc_TABSIZE... $ECHO_C" >&6
+ if test "${ac_cv_func__nc_TABSIZE+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9252 "configure"
++#line 9764 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char _nc_TABSIZE (); below. */
+@@ -9272,7 +9784,7 @@
+ #if defined (__stub__nc_TABSIZE) || defined (__stub____nc_TABSIZE)
+ choke me
+ #else
+-f = _nc_TABSIZE;
++f = _nc_TABSIZE; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -9280,16 +9792,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9283: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9795: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9286: \$? = $ac_status" >&5
++ echo "$as_me:9798: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9289: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9801: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9292: \$? = $ac_status" >&5
++ echo "$as_me:9804: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func__nc_TABSIZE=yes
+ else
+@@ -9299,7 +9811,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:9302: result: $ac_cv_func__nc_TABSIZE" >&5
++echo "$as_me:9814: result: $ac_cv_func__nc_TABSIZE" >&5
+ echo "${ECHO_T}$ac_cv_func__nc_TABSIZE" >&6
+ if test $ac_cv_func__nc_TABSIZE = yes; then
+ assume_reentrant=yes
+@@ -9311,7 +9823,7 @@
+ # opaque outside of that, so there is no --enable-opaque option. We can use
+ # this option without --with-pthreads, but this will be always set for
+ # pthreads.
+-echo "$as_me:9314: checking if you want experimental reentrant code" >&5
++echo "$as_me:9826: checking if you want experimental reentrant code" >&5
+ echo $ECHO_N "checking if you want experimental reentrant code... $ECHO_C" >&6
+
+ # Check whether --enable-reentrant or --disable-reentrant was given.
+@@ -9321,7 +9833,7 @@
+ else
+ with_reentrant=$assume_reentrant
+ fi;
+-echo "$as_me:9324: result: $with_reentrant" >&5
++echo "$as_me:9836: result: $with_reentrant" >&5
+ echo "${ECHO_T}$with_reentrant" >&6
+ if test "$with_reentrant" = yes ; then
+ cf_cv_enable_reentrant=1
+@@ -9333,7 +9845,8 @@
+ elif test "$assume_reentrant" = no ; then
+ LIB_SUFFIX="t${LIB_SUFFIX}"
+ fi
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_REENTRANT 1
+ EOF
+
+@@ -9343,7 +9856,7 @@
+
+ ### Allow using a different wrap-prefix
+ if test "$cf_cv_enable_reentrant" != 0 || test "$BROKEN_LINKER" = 1 ; then
+- echo "$as_me:9346: checking for prefix used to wrap public variables" >&5
++ echo "$as_me:9859: checking for prefix used to wrap public variables" >&5
+ echo $ECHO_N "checking for prefix used to wrap public variables... $ECHO_C" >&6
+
+ # Check whether --with-wrap-prefix or --without-wrap-prefix was given.
+@@ -9353,7 +9866,7 @@
+ else
+ NCURSES_WRAP_PREFIX=_nc_
+ fi;
+- echo "$as_me:9356: result: $NCURSES_WRAP_PREFIX" >&5
++ echo "$as_me:9869: result: $NCURSES_WRAP_PREFIX" >&5
+ echo "${ECHO_T}$NCURSES_WRAP_PREFIX" >&6
+ else
+ NCURSES_WRAP_PREFIX=_nc_
+@@ -9366,26 +9879,46 @@
+ ###############################################################################
+
+ ### use option --disable-echo to suppress full display compiling commands
+-echo "$as_me:9369: checking if you want to display full commands during build" >&5
+-echo $ECHO_N "checking if you want to display full commands during build... $ECHO_C" >&6
++
++echo "$as_me:9883: checking if you want to see long compiling messages" >&5
++echo $ECHO_N "checking if you want to see long compiling messages... $ECHO_C" >&6
+
+ # Check whether --enable-echo or --disable-echo was given.
+ if test "${enable_echo+set}" = set; then
+ enableval="$enable_echo"
+- with_echo=$enableval
++ test "$enableval" != no && enableval=yes
++ if test "$enableval" != "yes" ; then
++
++ ECHO_LT='--silent'
++ ECHO_LD='@echo linking $@;'
++ RULE_CC='@echo compiling $<'
++ SHOW_CC='@echo compiling $@'
++ ECHO_CC='@'
++
++ else
++
++ ECHO_LT=''
++ ECHO_LD=''
++ RULE_CC=''
++ SHOW_CC=''
++ ECHO_CC=''
++
++ fi
+ else
+- with_echo=yes
++ enableval=yes
++
++ ECHO_LT=''
++ ECHO_LD=''
++ RULE_CC=''
++ SHOW_CC=''
++ ECHO_CC=''
++
+ fi;
+-if test "$with_echo" = yes; then
+- ECHO_LINK=
+-else
+- ECHO_LINK='@ echo linking $@ ... ;'
+-fi
+-echo "$as_me:9384: result: $with_echo" >&5
+-echo "${ECHO_T}$with_echo" >&6
++echo "$as_me:9917: result: $enableval" >&5
++echo "${ECHO_T}$enableval" >&6
+
+ ### use option --enable-warnings to turn on all gcc warnings
+-echo "$as_me:9388: checking if you want to see compiler warnings" >&5
++echo "$as_me:9921: checking if you want to see compiler warnings" >&5
+ echo $ECHO_N "checking if you want to see compiler warnings... $ECHO_C" >&6
+
+ # Check whether --enable-warnings or --disable-warnings was given.
+@@ -9393,7 +9926,7 @@
+ enableval="$enable_warnings"
+ with_warnings=$enableval
+ fi;
+-echo "$as_me:9396: result: $with_warnings" >&5
++echo "$as_me:9929: result: $with_warnings" >&5
+ echo "${ECHO_T}$with_warnings" >&6
+
+ if test "x$with_warnings" = "xyes"; then
+@@ -9405,12 +9938,12 @@
+ if test "$GCC" = yes ; then
+ case $host_os in
+ linux*|gnu*)
+- echo "$as_me:9408: checking if this is really Intel C compiler" >&5
++ echo "$as_me:9941: checking if this is really Intel C compiler" >&5
+ echo $ECHO_N "checking if this is really Intel C compiler... $ECHO_C" >&6
+ cf_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -no-gcc"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9413 "configure"
++#line 9946 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -9427,16 +9960,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9430: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9963: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9433: \$? = $ac_status" >&5
++ echo "$as_me:9966: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9436: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9969: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9439: \$? = $ac_status" >&5
++ echo "$as_me:9972: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ INTEL_COMPILER=yes
+ cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
+@@ -9447,14 +9980,63 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$cf_save_CFLAGS"
+- echo "$as_me:9450: result: $INTEL_COMPILER" >&5
++ echo "$as_me:9983: result: $INTEL_COMPILER" >&5
+ echo "${ECHO_T}$INTEL_COMPILER" >&6
+ ;;
+ esac
+ fi
+
++CLANG_COMPILER=no
++
++if test "$GCC" = yes ; then
++ echo "$as_me:9992: checking if this is really Clang C compiler" >&5
++echo $ECHO_N "checking if this is really Clang C compiler... $ECHO_C" >&6
++ cf_save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -Qunused-arguments"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9997 "configure"
++#include "confdefs.h"
++
++int
++main ()
++{
++
++#ifdef __clang__
++#else
++make an error
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:10014: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:10017: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:10020: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:10023: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ CLANG_COMPILER=yes
++cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
++
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$cf_save_CFLAGS"
++ echo "$as_me:10034: result: $CLANG_COMPILER" >&5
++echo "${ECHO_T}$CLANG_COMPILER" >&6
++fi
++
+ cat > conftest.$ac_ext <<EOF
+-#line 9457 "${as_me:-configure}"
++#line 10039 "${as_me:-configure}"
+ int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
+ EOF
+
+@@ -9471,7 +10053,7 @@
+ # remark #981: operands are evaluated in unspecified order
+ # warning #279: controlling expression is constant
+
+- { echo "$as_me:9474: checking for $CC warning options..." >&5
++ { echo "$as_me:10056: checking for $CC warning options..." >&5
+ echo "$as_me: checking for $CC warning options..." >&6;}
+ cf_save_CFLAGS="$CFLAGS"
+ EXTRA_CFLAGS="-Wall"
+@@ -9487,12 +10069,12 @@
+ wd981
+ do
+ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
+- if { (eval echo "$as_me:9490: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:10072: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9493: \$? = $ac_status" >&5
++ echo "$as_me:10075: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:9495: result: ... -$cf_opt" >&5
++ test -n "$verbose" && echo "$as_me:10077: result: ... -$cf_opt" >&5
+ echo "${ECHO_T}... -$cf_opt" >&6
+ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+ fi
+@@ -9501,7 +10083,7 @@
+
+ elif test "$GCC" = yes
+ then
+- { echo "$as_me:9504: checking for $CC warning options..." >&5
++ { echo "$as_me:10086: checking for $CC warning options..." >&5
+ echo "$as_me: checking for $CC warning options..." >&6;}
+ cf_save_CFLAGS="$CFLAGS"
+ EXTRA_CFLAGS=
+@@ -9521,12 +10103,12 @@
+ Wundef $cf_warn_CONST Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum
+ do
+ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
+- if { (eval echo "$as_me:9524: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:10106: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9527: \$? = $ac_status" >&5
++ echo "$as_me:10109: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:9529: result: ... -$cf_opt" >&5
++ test -n "$verbose" && echo "$as_me:10111: result: ... -$cf_opt" >&5
+ echo "${ECHO_T}... -$cf_opt" >&6
+ case $cf_opt in #(vi
+ Wcast-qual) #(vi
+@@ -9537,7 +10119,17 @@
+ [34].*)
+ test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6
+
+-echo "${as_me:-configure}:9540: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
++echo "${as_me:-configure}:10122: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
++
++ continue;;
++ esac
++ ;;
++ Wpointer-arith) #(vi
++ case $GCC_VERSION in
++ [12].*)
++ test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6
++
++echo "${as_me:-configure}:10132: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
+
+ continue;;
+ esac
+@@ -9570,10 +10162,10 @@
+ EOF
+ if test "$GCC" = yes
+ then
+- { echo "$as_me:9573: checking for $CC __attribute__ directives..." >&5
++ { echo "$as_me:10165: checking for $CC __attribute__ directives..." >&5
+ echo "$as_me: checking for $CC __attribute__ directives..." >&6;}
+ cat > conftest.$ac_ext <<EOF
+-#line 9576 "${as_me:-configure}"
++#line 10168 "${as_me:-configure}"
+ #include "confdefs.h"
+ #include "conftest.h"
+ #include "conftest.i"
+@@ -9622,36 +10214,60 @@
+ ;;
+ esac
+
+- if { (eval echo "$as_me:9625: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:10217: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9628: \$? = $ac_status" >&5
++ echo "$as_me:10220: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:9630: result: ... $cf_attribute" >&5
++ test -n "$verbose" && echo "$as_me:10222: result: ... $cf_attribute" >&5
+ echo "${ECHO_T}... $cf_attribute" >&6
+ cat conftest.h >>confdefs.h
+ case $cf_attribute in #(vi
+- printf) #(vi
+- if test "$cf_printf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) /* nothing */
++ noreturn) #(vi
++
++cat >>confdefs.h <<EOF
++#define GCC_NORETURN $cf_directive
+ EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
++
++ ;;
++ printf) #(vi
++ cf_value='/* nothing */'
++ if test "$cf_printf_attribute" != no ; then
++ cf_value='__attribute__((format(printf,fmt,var)))'
++
++cat >>confdefs.h <<\EOF
++#define GCC_PRINTF 1
+ EOF
++
+ fi
++
++cat >>confdefs.h <<EOF
++#define GCC_PRINTFLIKE(fmt,var) $cf_value
++EOF
++
+ ;;
+ scanf) #(vi
+- if test "$cf_scanf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
++ cf_value='/* nothing */'
++ if test "$cf_scanf_attribute" != no ; then
++ cf_value='__attribute__((format(scanf,fmt,var)))'
++
++cat >>confdefs.h <<\EOF
++#define GCC_SCANF 1
+ EOF
++
+ fi
++
++cat >>confdefs.h <<EOF
++#define GCC_SCANFLIKE(fmt,var) $cf_value
++EOF
++
++ ;;
++ unused) #(vi
++
++cat >>confdefs.h <<EOF
++#define GCC_UNUSED $cf_directive
++EOF
++
+ ;;
+ esac
+ fi
+@@ -9663,7 +10279,7 @@
+ fi
+
+ ### use option --enable-assertions to turn on generation of assertion code
+-echo "$as_me:9666: checking if you want to enable runtime assertions" >&5
++echo "$as_me:10282: checking if you want to enable runtime assertions" >&5
+ echo $ECHO_N "checking if you want to enable runtime assertions... $ECHO_C" >&6
+
+ # Check whether --enable-assertions or --disable-assertions was given.
+@@ -9673,16 +10289,12 @@
+ else
+ with_assertions=no
+ fi;
+-echo "$as_me:9676: result: $with_assertions" >&5
++echo "$as_me:10292: result: $with_assertions" >&5
+ echo "${ECHO_T}$with_assertions" >&6
+ if test -n "$GCC"
+ then
+ if test "$with_assertions" = no
+ then
+- cat >>confdefs.h <<\EOF
+-#define NDEBUG 1
+-EOF
+-
+ CPPFLAGS="$CPPFLAGS -DNDEBUG"
+ else
+
+@@ -9692,6 +10304,7 @@
+ fi
+
+ ### use option --disable-leaks to suppress "permanent" leaks, for testing
++
+ cat >>confdefs.h <<\EOF
+ #define HAVE_NC_ALLOC_H 1
+ EOF
+@@ -9701,7 +10314,8 @@
+ # Check whether --enable-expanded or --disable-expanded was given.
+ if test "${enable_expanded+set}" = set; then
+ enableval="$enable_expanded"
+- test "$enableval" = yes && cat >>confdefs.h <<\EOF
++ test "$enableval" = yes &&
++cat >>confdefs.h <<\EOF
+ #define NCURSES_EXPANDED 1
+ EOF
+
+@@ -9712,7 +10326,8 @@
+ # Check whether --enable-macros or --disable-macros was given.
+ if test "${enable_macros+set}" = set; then
+ enableval="$enable_macros"
+- test "$enableval" = no && cat >>confdefs.h <<\EOF
++ test "$enableval" = no &&
++cat >>confdefs.h <<\EOF
+ #define NCURSES_NOMACROS 1
+ EOF
+
+@@ -9727,7 +10342,7 @@
+ ;;
+ esac
+
+-echo "$as_me:9730: checking whether to add trace feature to all models" >&5
++echo "$as_me:10345: checking whether to add trace feature to all models" >&5
+ echo $ECHO_N "checking whether to add trace feature to all models... $ECHO_C" >&6
+
+ # Check whether --with-trace or --without-trace was given.
+@@ -9737,7 +10352,7 @@
+ else
+ cf_with_trace=$cf_all_traces
+ fi;
+-echo "$as_me:9740: result: $cf_with_trace" >&5
++echo "$as_me:10355: result: $cf_with_trace" >&5
+ echo "${ECHO_T}$cf_with_trace" >&6
+
+ if test "$cf_with_trace" = yes ; then
+@@ -9830,13 +10445,13 @@
+ *mingw32*) #(vi
+ ;;
+ *)
+-echo "$as_me:9833: checking for gettimeofday" >&5
++echo "$as_me:10448: checking for gettimeofday" >&5
+ echo $ECHO_N "checking for gettimeofday... $ECHO_C" >&6
+ if test "${ac_cv_func_gettimeofday+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9839 "configure"
++#line 10454 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char gettimeofday (); below. */
+@@ -9859,7 +10474,7 @@
+ #if defined (__stub_gettimeofday) || defined (__stub___gettimeofday)
+ choke me
+ #else
+-f = gettimeofday;
++f = gettimeofday; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -9867,16 +10482,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9870: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10485: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9873: \$? = $ac_status" >&5
++ echo "$as_me:10488: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9876: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10491: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9879: \$? = $ac_status" >&5
++ echo "$as_me:10494: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_gettimeofday=yes
+ else
+@@ -9886,7 +10501,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:9889: result: $ac_cv_func_gettimeofday" >&5
++echo "$as_me:10504: result: $ac_cv_func_gettimeofday" >&5
+ echo "${ECHO_T}$ac_cv_func_gettimeofday" >&6
+ if test $ac_cv_func_gettimeofday = yes; then
+ cat >>confdefs.h <<\EOF
+@@ -9895,7 +10510,7 @@
+
+ else
+
+-echo "$as_me:9898: checking for gettimeofday in -lbsd" >&5
++echo "$as_me:10513: checking for gettimeofday in -lbsd" >&5
+ echo $ECHO_N "checking for gettimeofday in -lbsd... $ECHO_C" >&6
+ if test "${ac_cv_lib_bsd_gettimeofday+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -9903,7 +10518,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lbsd $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9906 "configure"
++#line 10521 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -9922,16 +10537,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9925: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10540: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9928: \$? = $ac_status" >&5
++ echo "$as_me:10543: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9931: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10546: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9934: \$? = $ac_status" >&5
++ echo "$as_me:10549: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_bsd_gettimeofday=yes
+ else
+@@ -9942,10 +10557,11 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:9945: result: $ac_cv_lib_bsd_gettimeofday" >&5
++echo "$as_me:10560: result: $ac_cv_lib_bsd_gettimeofday" >&5
+ echo "${ECHO_T}$ac_cv_lib_bsd_gettimeofday" >&6
+ if test $ac_cv_lib_bsd_gettimeofday = yes; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_GETTIMEOFDAY 1
+ EOF
+
+@@ -9957,13 +10573,13 @@
+ esac
+
+ ### Checks for header files.
+-echo "$as_me:9960: checking for ANSI C header files" >&5
++echo "$as_me:10576: 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
+-#line 9966 "configure"
++#line 10582 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ #include <stdarg.h>
+@@ -9971,13 +10587,13 @@
+ #include <float.h>
+
+ _ACEOF
+-if { (eval echo "$as_me:9974: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:10590: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:9980: \$? = $ac_status" >&5
++ echo "$as_me:10596: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -9999,7 +10615,7 @@
+ 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
+-#line 10002 "configure"
++#line 10618 "configure"
+ #include "confdefs.h"
+ #include <string.h>
+
+@@ -10017,7 +10633,7 @@
+ 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
+-#line 10020 "configure"
++#line 10636 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+
+@@ -10038,7 +10654,7 @@
+ :
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10041 "configure"
++#line 10657 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ #if ((' ' & 0x0FF) == 0x020)
+@@ -10064,15 +10680,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:10067: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10683: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10070: \$? = $ac_status" >&5
++ echo "$as_me:10686: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:10072: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10688: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10075: \$? = $ac_status" >&5
++ echo "$as_me:10691: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -10085,7 +10701,7 @@
+ fi
+ fi
+ fi
+-echo "$as_me:10088: result: $ac_cv_header_stdc" >&5
++echo "$as_me:10704: result: $ac_cv_header_stdc" >&5
+ echo "${ECHO_T}$ac_cv_header_stdc" >&6
+ if test $ac_cv_header_stdc = yes; then
+
+@@ -10098,13 +10714,13 @@
+ ac_header_dirent=no
+ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
+ as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+-echo "$as_me:10101: checking for $ac_hdr that defines DIR" >&5
++echo "$as_me:10717: checking for $ac_hdr that defines DIR" >&5
+ echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10107 "configure"
++#line 10723 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <$ac_hdr>
+@@ -10119,16 +10735,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10122: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:10738: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10125: \$? = $ac_status" >&5
++ echo "$as_me:10741: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10128: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10744: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10131: \$? = $ac_status" >&5
++ echo "$as_me:10747: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_Header=yes"
+ else
+@@ -10138,7 +10754,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:10141: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:10757: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -10151,7 +10767,7 @@
+ done
+ # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+ if test $ac_header_dirent = dirent.h; then
+- echo "$as_me:10154: checking for opendir in -ldir" >&5
++ echo "$as_me:10770: checking for opendir in -ldir" >&5
+ echo $ECHO_N "checking for opendir in -ldir... $ECHO_C" >&6
+ if test "${ac_cv_lib_dir_opendir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10159,7 +10775,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-ldir $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10162 "configure"
++#line 10778 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -10178,16 +10794,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10181: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10797: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10184: \$? = $ac_status" >&5
++ echo "$as_me:10800: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10187: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10803: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10190: \$? = $ac_status" >&5
++ echo "$as_me:10806: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dir_opendir=yes
+ else
+@@ -10198,14 +10814,14 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:10201: result: $ac_cv_lib_dir_opendir" >&5
++echo "$as_me:10817: result: $ac_cv_lib_dir_opendir" >&5
+ echo "${ECHO_T}$ac_cv_lib_dir_opendir" >&6
+ if test $ac_cv_lib_dir_opendir = yes; then
+ LIBS="$LIBS -ldir"
+ fi
+
+ else
+- echo "$as_me:10208: checking for opendir in -lx" >&5
++ echo "$as_me:10824: checking for opendir in -lx" >&5
+ echo $ECHO_N "checking for opendir in -lx... $ECHO_C" >&6
+ if test "${ac_cv_lib_x_opendir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10213,7 +10829,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lx $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10216 "configure"
++#line 10832 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -10232,16 +10848,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10235: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10851: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10238: \$? = $ac_status" >&5
++ echo "$as_me:10854: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10241: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10857: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10244: \$? = $ac_status" >&5
++ echo "$as_me:10860: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_x_opendir=yes
+ else
+@@ -10252,7 +10868,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:10255: result: $ac_cv_lib_x_opendir" >&5
++echo "$as_me:10871: result: $ac_cv_lib_x_opendir" >&5
+ echo "${ECHO_T}$ac_cv_lib_x_opendir" >&6
+ if test $ac_cv_lib_x_opendir = yes; then
+ LIBS="$LIBS -lx"
+@@ -10260,13 +10876,13 @@
+
+ fi
+
+-echo "$as_me:10263: checking whether time.h and sys/time.h may both be included" >&5
++echo "$as_me:10879: checking whether time.h and sys/time.h may both be included" >&5
+ echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
+ if test "${ac_cv_header_time+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10269 "configure"
++#line 10885 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/time.h>
+@@ -10282,16 +10898,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10285: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:10901: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10288: \$? = $ac_status" >&5
++ echo "$as_me:10904: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10291: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10907: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10294: \$? = $ac_status" >&5
++ echo "$as_me:10910: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_header_time=yes
+ else
+@@ -10301,7 +10917,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:10304: result: $ac_cv_header_time" >&5
++echo "$as_me:10920: result: $ac_cv_header_time" >&5
+ echo "${ECHO_T}$ac_cv_header_time" >&6
+ if test $ac_cv_header_time = yes; then
+
+@@ -10319,104 +10935,13 @@
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ ac_main_return=return
+
+-echo "$as_me:10322: checking for $CC option to accept ANSI C" >&5
+-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+-if test "${ac_cv_prog_cc_stdc+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_cv_prog_cc_stdc=no
+-ac_save_CC=$CC
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 10330 "configure"
+-#include "confdefs.h"
+-#include <stdarg.h>
+-#include <stdio.h>
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-/* 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);
+-static char *e (p, i)
+- char **p;
+- int i;
+-{
+- return p[i];
+-}
+-static char *f (char * (*g) (char **, int), char **p, ...)
+-{
+- char *s;
+- va_list v;
+- va_start (v,p);
+- s = g (p, va_arg (v,int));
+- va_end (v);
+- return s;
+-}
+-int test (int i, double x);
+-struct s1 {int (*f) (int a);};
+-struct s2 {int (*f) (double a);};
+-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+-int argc;
+-char **argv;
+-int
+-main ()
+-{
+-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+- ;
+- return 0;
+-}
+-_ACEOF
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX 10.20 and later -Ae
+-# HP-UX older versions -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc -D__EXTENSIONS__
+-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+-do
+- CC="$ac_save_CC $ac_arg"
+- rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10379: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:10382: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10385: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:10388: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_prog_cc_stdc=$ac_arg
+-break
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-fi
+-rm -f conftest.$ac_objext
+-done
+-rm -f conftest.$ac_ext conftest.$ac_objext
+-CC=$ac_save_CC
+-
+-fi
+-
+-case "x$ac_cv_prog_cc_stdc" in
+- x|xno)
+- echo "$as_me:10405: result: none needed" >&5
+-echo "${ECHO_T}none needed" >&6 ;;
+- *)
+- echo "$as_me:10408: result: $ac_cv_prog_cc_stdc" >&5
+-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+- CC="$CC $ac_cv_prog_cc_stdc" ;;
+-esac
+-
+-echo "$as_me:10413: checking for an ANSI C-conforming const" >&5
++echo "$as_me:10938: checking for an ANSI C-conforming const" >&5
+ echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
+ if test "${ac_cv_c_const+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10419 "configure"
++#line 10944 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -10474,16 +10999,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10477: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:11002: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10480: \$? = $ac_status" >&5
++ echo "$as_me:11005: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10483: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11008: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10486: \$? = $ac_status" >&5
++ echo "$as_me:11011: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_c_const=yes
+ else
+@@ -10493,7 +11018,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:10496: result: $ac_cv_c_const" >&5
++echo "$as_me:11021: result: $ac_cv_c_const" >&5
+ echo "${ECHO_T}$ac_cv_c_const" >&6
+ if test $ac_cv_c_const = no; then
+
+@@ -10505,7 +11030,7 @@
+
+ ### Checks for external-data
+
+-echo "$as_me:10508: checking if data-only library module links" >&5
++echo "$as_me:11033: checking if data-only library module links" >&5
+ echo $ECHO_N "checking if data-only library module links... $ECHO_C" >&6
+ if test "${cf_cv_link_dataonly+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10513,20 +11038,20 @@
+
+ rm -f conftest.a
+ cat >conftest.$ac_ext <<EOF
+-#line 10516 "configure"
++#line 11041 "configure"
+ int testdata[3] = { 123, 456, 789 };
+ EOF
+- if { (eval echo "$as_me:10519: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:11044: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10522: \$? = $ac_status" >&5
++ echo "$as_me:11047: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+ mv conftest.o data.o && \
+ ( $AR $ARFLAGS conftest.a data.o ) 2>&5 1>/dev/null
+ fi
+ rm -f conftest.$ac_ext data.o
+ cat >conftest.$ac_ext <<EOF
+-#line 10529 "configure"
++#line 11054 "configure"
+ int testfunc()
+ {
+ #if defined(NeXT)
+@@ -10539,10 +11064,10 @@
+ #endif
+ }
+ EOF
+- if { (eval echo "$as_me:10542: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:11067: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10545: \$? = $ac_status" >&5
++ echo "$as_me:11070: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ mv conftest.o func.o && \
+ ( $AR $ARFLAGS conftest.a func.o ) 2>&5 1>/dev/null
+@@ -10555,7 +11080,7 @@
+ cf_cv_link_dataonly=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10558 "configure"
++#line 11083 "configure"
+ #include "confdefs.h"
+
+ int main()
+@@ -10566,15 +11091,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:10569: \"$ac_link\"") >&5
++if { (eval echo "$as_me:11094: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10572: \$? = $ac_status" >&5
++ echo "$as_me:11097: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:10574: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11099: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10577: \$? = $ac_status" >&5
++ echo "$as_me:11102: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_link_dataonly=yes
+ else
+@@ -10589,11 +11114,12 @@
+
+ fi
+
+-echo "$as_me:10592: result: $cf_cv_link_dataonly" >&5
++echo "$as_me:11117: result: $cf_cv_link_dataonly" >&5
+ echo "${ECHO_T}$cf_cv_link_dataonly" >&6
+
+ if test "$cf_cv_link_dataonly" = no ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define BROKEN_LINKER 1
+ EOF
+
+@@ -10602,7 +11128,7 @@
+
+ ### Checks for library functions.
+
+-echo "$as_me:10605: checking for working mkstemp" >&5
++echo "$as_me:11131: checking for working mkstemp" >&5
+ echo $ECHO_N "checking for working mkstemp... $ECHO_C" >&6
+ if test "${cf_cv_func_mkstemp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10610,68 +11136,10 @@
+
+ rm -rf conftest*
+ if test "$cross_compiling" = yes; then
+- echo "$as_me:10613: checking for mkstemp" >&5
+-echo $ECHO_N "checking for mkstemp... $ECHO_C" >&6
+-if test "${ac_cv_func_mkstemp+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 10619 "configure"
+-#include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char mkstemp (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char mkstemp ();
+-char (*f) ();
+-
+-int
+-main ()
+-{
+-/* 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_mkstemp) || defined (__stub___mkstemp)
+-choke me
+-#else
+-f = mkstemp;
+-#endif
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10650: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:10653: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10656: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:10659: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_mkstemp=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_func_mkstemp=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:10669: result: $ac_cv_func_mkstemp" >&5
+-echo "${ECHO_T}$ac_cv_func_mkstemp" >&6
+-
++ cf_cv_func_mkstemp=maybe
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10674 "configure"
++#line 11142 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -10709,15 +11177,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:10712: \"$ac_link\"") >&5
++if { (eval echo "$as_me:11180: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10715: \$? = $ac_status" >&5
++ echo "$as_me:11183: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:10717: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11185: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10720: \$? = $ac_status" >&5
++ echo "$as_me:11188: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_func_mkstemp=yes
+
+@@ -10732,80 +11200,89 @@
+ fi
+
+ fi
+-echo "$as_me:10735: result: $cf_cv_func_mkstemp" >&5
++echo "$as_me:11203: result: $cf_cv_func_mkstemp" >&5
+ echo "${ECHO_T}$cf_cv_func_mkstemp" >&6
+-if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
+- cat >>confdefs.h <<\EOF
+-#define HAVE_MKSTEMP 1
+-EOF
+-
+-fi
+-
+-echo "$as_me:10744: checking return type of signal handlers" >&5
+-echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
+-if test "${ac_cv_type_signal+set}" = set; then
++if test "x$cf_cv_func_mkstemp" = xmaybe ; then
++ echo "$as_me:11206: checking for mkstemp" >&5
++echo $ECHO_N "checking for mkstemp... $ECHO_C" >&6
++if test "${ac_cv_func_mkstemp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10750 "configure"
++#line 11212 "configure"
+ #include "confdefs.h"
+-#include <sys/types.h>
+-#include <signal.h>
+-#ifdef signal
+-# undef signal
+-#endif
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char mkstemp (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
+ #ifdef __cplusplus
+-extern "C" void (*signal (int, void (*)(int)))(int);
+-#else
+-void (*signal ()) ();
++extern "C"
+ #endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char mkstemp ();
++char (*f) ();
+
+ int
+ main ()
+ {
+-int i;
++/* 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_mkstemp) || defined (__stub___mkstemp)
++choke me
++#else
++f = mkstemp; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10772: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:11243: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10775: \$? = $ac_status" >&5
++ echo "$as_me:11246: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10778: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:11249: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10781: \$? = $ac_status" >&5
++ echo "$as_me:11252: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_type_signal=void
++ ac_cv_func_mkstemp=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_type_signal=int
++ac_cv_func_mkstemp=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:10791: result: $ac_cv_type_signal" >&5
+-echo "${ECHO_T}$ac_cv_type_signal" >&6
++echo "$as_me:11262: result: $ac_cv_func_mkstemp" >&5
++echo "${ECHO_T}$ac_cv_func_mkstemp" >&6
+
+-cat >>confdefs.h <<EOF
+-#define RETSIGTYPE $ac_cv_type_signal
++fi
++if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
++
++cat >>confdefs.h <<\EOF
++#define HAVE_MKSTEMP 1
+ EOF
+
++fi
++
+ if test -z "$cf_user_CFLAGS" && test "$with_no_leaks" = no ; then
+ CFLAGS=`echo ${CFLAGS} | sed -e 's%-g %%' -e 's%-g$%%'`
+ CXXFLAGS=`echo ${CXXFLAGS} | sed -e 's%-g %%' -e 's%-g$%%'`
+ fi
+
++cf_with_ada=yes
+ if test "$cf_with_ada" != "no" ; then
+
+ cf_ada_make=gnatmake
+ # Extract the first word of "$cf_ada_make", so it can be a program name with args.
+ set dummy $cf_ada_make; ac_word=$2
+-echo "$as_me:10808: checking for $ac_word" >&5
++echo "$as_me:11285: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_gnat_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10820,7 +11297,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_gnat_exists="yes"
+-echo "$as_me:10823: found $ac_dir/$ac_word" >&5
++echo "$as_me:11300: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -10829,31 +11306,32 @@
+ fi
+ gnat_exists=$ac_cv_prog_gnat_exists
+ if test -n "$gnat_exists"; then
+- echo "$as_me:10832: result: $gnat_exists" >&5
++ echo "$as_me:11309: result: $gnat_exists" >&5
+ echo "${ECHO_T}$gnat_exists" >&6
+ else
+- echo "$as_me:10835: result: no" >&5
++ echo "$as_me:11312: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ if test "$ac_cv_prog_gnat_exists" = no; then
+ cf_ada_make=
++ cf_cv_prog_gnat_correct=no
+ else
+
+-echo "$as_me:10843: checking for gnat version" >&5
++echo "$as_me:11321: checking for gnat version" >&5
+ echo $ECHO_N "checking for gnat version... $ECHO_C" >&6
+ cf_gnat_version=`${cf_ada_make:-gnatmake} -v 2>&1 | \
+ grep '[0-9].[0-9][0-9]*' |\
+ sed -e '2,$d' -e 's/[^0-9 \.]//g' -e 's/^[ ]*//' -e 's/ .*//'`
+-echo "$as_me:10848: result: $cf_gnat_version" >&5
++echo "$as_me:11326: result: $cf_gnat_version" >&5
+ echo "${ECHO_T}$cf_gnat_version" >&6
+
+ case $cf_gnat_version in #(vi
+-3.1[1-9]*|3.[2-9]*|[4-9].*) #(vi
++3.1[1-9]*|3.[2-9]*|[4-9].*|20[0-9][0-9]) #(vi
+ cf_cv_prog_gnat_correct=yes
+ ;;
+ *)
+- { echo "$as_me:10856: WARNING: Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding." >&5
++ { echo "$as_me:11334: WARNING: Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding." >&5
+ echo "$as_me: WARNING: Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding." >&2;}
+ cf_cv_prog_gnat_correct=no
+ ;;
+@@ -10861,7 +11339,7 @@
+
+ # Extract the first word of "m4", so it can be a program name with args.
+ set dummy m4; ac_word=$2
+-echo "$as_me:10864: checking for $ac_word" >&5
++echo "$as_me:11342: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_M4_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10876,7 +11354,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_M4_exists="yes"
+-echo "$as_me:10879: found $ac_dir/$ac_word" >&5
++echo "$as_me:11357: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -10885,10 +11363,10 @@
+ fi
+ M4_exists=$ac_cv_prog_M4_exists
+ if test -n "$M4_exists"; then
+- echo "$as_me:10888: result: $M4_exists" >&5
++ echo "$as_me:11366: result: $M4_exists" >&5
+ echo "${ECHO_T}$M4_exists" >&6
+ else
+- echo "$as_me:10891: result: no" >&5
++ echo "$as_me:11369: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -10897,7 +11375,7 @@
+ echo Ada95 binding required program m4 not found. Ada95 binding disabled.
+ fi
+ if test "$cf_cv_prog_gnat_correct" = yes; then
+- echo "$as_me:10900: checking if GNAT works" >&5
++ echo "$as_me:11378: checking if GNAT works" >&5
+ echo $ECHO_N "checking if GNAT works... $ECHO_C" >&6
+
+ rm -rf conftest* *~conftest*
+@@ -10925,30 +11403,34 @@
+ fi
+ rm -rf conftest* *~conftest*
+
+- echo "$as_me:10928: result: $cf_cv_prog_gnat_correct" >&5
++ echo "$as_me:11406: result: $cf_cv_prog_gnat_correct" >&5
+ echo "${ECHO_T}$cf_cv_prog_gnat_correct" >&6
+ fi
+ fi
+
+ if test "$cf_cv_prog_gnat_correct" = yes; then
+
+- # make ADAFLAGS consistent with CFLAGS
+- case "$CFLAGS" in
+- *-g*)
++ echo "$as_me:11413: checking optimization options for ADAFLAGS" >&5
++echo $ECHO_N "checking optimization options for ADAFLAGS... $ECHO_C" >&6
++ case "$CFLAGS" in
++ *-g*)
+
+ ADAFLAGS="$ADAFLAGS -g"
+
+- ;;
+- esac
+- case "$CFLAGS" in
+- *-O*)
++ ;;
++ esac
++ case "$CFLAGS" in
++ *-O*)
++ cf_O_flag=`echo "$CFLAGS" |sed -e 's/^.*-O/-O/' -e 's/[ ].*//'`
+
+- ADAFLAGS="$ADAFLAGS -O3"
++ ADAFLAGS="$ADAFLAGS $cf_O_flag"
+
+- ;;
+- esac
++ ;;
++ esac
++ echo "$as_me:11430: result: $ADAFLAGS" >&5
++echo "${ECHO_T}$ADAFLAGS" >&6
+
+-echo "$as_me:10951: checking if GNAT supports generics" >&5
++echo "$as_me:11433: checking if GNAT supports generics" >&5
+ echo $ECHO_N "checking if GNAT supports generics... $ECHO_C" >&6
+ case $cf_gnat_version in #(vi
+ 3.[1-9]*|[4-9].*) #(vi
+@@ -10958,7 +11440,7 @@
+ cf_gnat_generics=no
+ ;;
+ esac
+-echo "$as_me:10961: result: $cf_gnat_generics" >&5
++echo "$as_me:11443: result: $cf_gnat_generics" >&5
+ echo "${ECHO_T}$cf_gnat_generics" >&6
+
+ if test "$cf_gnat_generics" = yes
+@@ -10970,7 +11452,7 @@
+ cf_generic_objects=
+ fi
+
+-echo "$as_me:10973: checking if GNAT supports SIGINT" >&5
++echo "$as_me:11455: checking if GNAT supports SIGINT" >&5
+ echo $ECHO_N "checking if GNAT supports SIGINT... $ECHO_C" >&6
+ if test "${cf_cv_gnat_sigint+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -11018,7 +11500,7 @@
+ rm -rf conftest* *~conftest*
+
+ fi
+-echo "$as_me:11021: result: $cf_cv_gnat_sigint" >&5
++echo "$as_me:11503: result: $cf_cv_gnat_sigint" >&5
+ echo "${ECHO_T}$cf_cv_gnat_sigint" >&6
+
+ if test $cf_cv_gnat_sigint = yes ; then
+@@ -11027,7 +11509,7 @@
+ USE_GNAT_SIGINT="#"
+ fi
+
+-echo "$as_me:11030: checking if GNAT pragma Unreferenced works" >&5
++echo "$as_me:11512: checking if GNAT pragma Unreferenced works" >&5
+ echo $ECHO_N "checking if GNAT pragma Unreferenced works... $ECHO_C" >&6
+ if test "${cf_cv_pragma_unreferenced+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -11058,7 +11540,7 @@
+ rm -rf conftest* *~conftest*
+
+ fi
+-echo "$as_me:11061: result: $cf_cv_pragma_unreferenced" >&5
++echo "$as_me:11543: result: $cf_cv_pragma_unreferenced" >&5
+ echo "${ECHO_T}$cf_cv_pragma_unreferenced" >&6
+
+ # if the pragma is supported, use it (needed in the Trace code).
+@@ -11071,7 +11553,7 @@
+ cf_gnat_libraries=no
+ cf_gnat_projects=no
+
+-echo "$as_me:11074: checking if GNAT supports project files" >&5
++echo "$as_me:11556: checking if GNAT supports project files" >&5
+ echo $ECHO_N "checking if GNAT supports project files... $ECHO_C" >&6
+ case $cf_gnat_version in #(vi
+ 3.[0-9]*) #(vi
+@@ -11139,14 +11621,14 @@
+ esac
+ ;;
+ esac
+-echo "$as_me:11142: result: $cf_gnat_projects" >&5
++echo "$as_me:11624: result: $cf_gnat_projects" >&5
+ echo "${ECHO_T}$cf_gnat_projects" >&6
+
+ if test $cf_gnat_projects = yes
+ then
+- echo "$as_me:11147: checking if GNAT supports libraries" >&5
++ echo "$as_me:11629: checking if GNAT supports libraries" >&5
+ echo $ECHO_N "checking if GNAT supports libraries... $ECHO_C" >&6
+- echo "$as_me:11149: result: $cf_gnat_libraries" >&5
++ echo "$as_me:11631: result: $cf_gnat_libraries" >&5
+ echo "${ECHO_T}$cf_gnat_libraries" >&6
+ fi
+
+@@ -11166,7 +11648,7 @@
+ USE_GNAT_LIBRARIES="#"
+ fi
+
+-echo "$as_me:11169: checking for ada-compiler" >&5
++echo "$as_me:11651: checking for ada-compiler" >&5
+ echo $ECHO_N "checking for ada-compiler... $ECHO_C" >&6
+
+ # Check whether --with-ada-compiler or --without-ada-compiler was given.
+@@ -11177,12 +11659,12 @@
+ cf_ada_compiler=gnatmake
+ fi;
+
+-echo "$as_me:11180: result: $cf_ada_compiler" >&5
++echo "$as_me:11662: result: $cf_ada_compiler" >&5
+ echo "${ECHO_T}$cf_ada_compiler" >&6
+
+ cf_ada_package=terminal_interface
+
+-echo "$as_me:11185: checking for ada-include" >&5
++echo "$as_me:11667: checking for ada-include" >&5
+ echo $ECHO_N "checking for ada-include... $ECHO_C" >&6
+
+ # Check whether --with-ada-include or --without-ada-include was given.
+@@ -11206,7 +11688,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval withval="$withval"
+ case ".$withval" in #(vi
+ .NONE/*)
+@@ -11218,19 +11700,19 @@
+ withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:11221: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:11703: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+ fi
+-ADA_INCLUDE="$withval"
++eval ADA_INCLUDE="$withval"
+
+-echo "$as_me:11230: result: $ADA_INCLUDE" >&5
++echo "$as_me:11712: result: $ADA_INCLUDE" >&5
+ echo "${ECHO_T}$ADA_INCLUDE" >&6
+
+-echo "$as_me:11233: checking for ada-objects" >&5
++echo "$as_me:11715: checking for ada-objects" >&5
+ echo $ECHO_N "checking for ada-objects... $ECHO_C" >&6
+
+ # Check whether --with-ada-objects or --without-ada-objects was given.
+@@ -11254,7 +11736,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval withval="$withval"
+ case ".$withval" in #(vi
+ .NONE/*)
+@@ -11266,19 +11748,19 @@
+ withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:11269: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:11751: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+ fi
+-ADA_OBJECTS="$withval"
++eval ADA_OBJECTS="$withval"
+
+-echo "$as_me:11278: result: $ADA_OBJECTS" >&5
++echo "$as_me:11760: result: $ADA_OBJECTS" >&5
+ echo "${ECHO_T}$ADA_OBJECTS" >&6
+
+-echo "$as_me:11281: checking if an Ada95 shared-library should be built" >&5
++echo "$as_me:11763: checking if an Ada95 shared-library should be built" >&5
+ echo $ECHO_N "checking if an Ada95 shared-library should be built... $ECHO_C" >&6
+
+ # Check whether --with-ada-sharedlib or --without-ada-sharedlib was given.
+@@ -11288,7 +11770,7 @@
+ else
+ with_ada_sharedlib=no
+ fi;
+-echo "$as_me:11291: result: $with_ada_sharedlib" >&5
++echo "$as_me:11773: result: $with_ada_sharedlib" >&5
+ echo "${ECHO_T}$with_ada_sharedlib" >&6
+
+ ADA_SHAREDLIB='lib$(LIB_NAME).so.1'
+@@ -11304,12 +11786,12 @@
+ fi
+
+ else
+- { { echo "$as_me:11307: error: No usable Ada compiler found" >&5
++ { { echo "$as_me:11789: error: No usable Ada compiler found" >&5
+ echo "$as_me: error: No usable Ada compiler found" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ else
+- { { echo "$as_me:11312: error: The Ada compiler is needed for this package" >&5
++ { { echo "$as_me:11794: error: The Ada compiler is needed for this package" >&5
+ echo "$as_me: error: The Ada compiler is needed for this package" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -11317,25 +11799,27 @@
+ ################################################################################
+
+ # not needed
+-TINFO_ARGS2=
++TINFO_LDFLAGS2=
++
++TINFO_LIBS=
+
+ ### Construct the list of include-directories to be generated
+
+-CPPFLAGS="$CPPFLAGS -I. -I../include"
+-if test "$srcdir" != "."; then
+- CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
+-fi
+ if test "$GCC" != yes; then
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ elif test "$includedir" != "/usr/include"; then
+ if test "$includedir" = '${prefix}/include' ; then
+ if test $prefix != /usr ; then
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ fi
+ else
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ fi
+ fi
++if test "$srcdir" != "."; then
++ CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
++fi
++CPPFLAGS="-I. -I../include $CPPFLAGS"
+
+ ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS"
+ if test "$srcdir" != "."; then
+@@ -11354,7 +11838,7 @@
+ fi
+
+ ### Build up pieces for makefile rules
+-echo "$as_me:11357: checking default library suffix" >&5
++echo "$as_me:11841: checking default library suffix" >&5
+ echo $ECHO_N "checking default library suffix... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in
+@@ -11365,10 +11849,10 @@
+ shared) DFT_ARG_SUFFIX='' ;;
+ esac
+ test -n "$LIB_SUFFIX" && DFT_ARG_SUFFIX="${LIB_SUFFIX}${DFT_ARG_SUFFIX}"
+-echo "$as_me:11368: result: $DFT_ARG_SUFFIX" >&5
++echo "$as_me:11852: result: $DFT_ARG_SUFFIX" >&5
+ echo "${ECHO_T}$DFT_ARG_SUFFIX" >&6
+
+-echo "$as_me:11371: checking default library-dependency suffix" >&5
++echo "$as_me:11855: checking default library-dependency suffix" >&5
+ echo $ECHO_N "checking default library-dependency suffix... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in #(vi
+@@ -11390,11 +11874,11 @@
+ ;;
+ shared) #(vi
+ case $cf_cv_system_name in
+- aix[56]*) #(vi
++ aix[5-7]*) #(vi
+ DFT_LIB_SUFFIX='.a'
+ DFT_DEP_SUFFIX=$DFT_LIB_SUFFIX
+ ;;
+- cygwin*) #(vi
++ cygwin*|mingw*) #(vi
+ DFT_LIB_SUFFIX='.dll'
+ DFT_DEP_SUFFIX='.dll.a'
+ ;;
+@@ -11421,10 +11905,10 @@
+ esac
+ test -n "$LIB_SUFFIX" && DFT_LIB_SUFFIX="${LIB_SUFFIX}${DFT_LIB_SUFFIX}"
+ test -n "$LIB_SUFFIX" && DFT_DEP_SUFFIX="${LIB_SUFFIX}${DFT_DEP_SUFFIX}"
+-echo "$as_me:11424: result: $DFT_DEP_SUFFIX" >&5
++echo "$as_me:11908: result: $DFT_DEP_SUFFIX" >&5
+ echo "${ECHO_T}$DFT_DEP_SUFFIX" >&6
+
+-echo "$as_me:11427: checking default object directory" >&5
++echo "$as_me:11911: checking default object directory" >&5
+ echo $ECHO_N "checking default object directory... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in
+@@ -11440,7 +11924,7 @@
+ DFT_OBJ_SUBDIR='obj_s' ;;
+ esac
+ esac
+-echo "$as_me:11443: result: $DFT_OBJ_SUBDIR" >&5
++echo "$as_me:11927: result: $DFT_OBJ_SUBDIR" >&5
+ echo "${ECHO_T}$DFT_OBJ_SUBDIR" >&6
+
+ ### Set up low-level terminfo dependencies for makefiles.
+@@ -11656,7 +12140,7 @@
+ : ${CONFIG_STATUS=./config.status}
+ ac_clean_files_save=$ac_clean_files
+ ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+-{ echo "$as_me:11659: creating $CONFIG_STATUS" >&5
++{ echo "$as_me:12143: creating $CONFIG_STATUS" >&5
+ echo "$as_me: creating $CONFIG_STATUS" >&6;}
+ cat >$CONFIG_STATUS <<_ACEOF
+ #! $SHELL
+@@ -11788,7 +12272,7 @@
+ cat >>$CONFIG_STATUS <<EOF
+ ac_cs_version="\\
+ config.status
+-configured by $0, generated by GNU Autoconf 2.52.20101002,
++configured by $0, generated by GNU Autoconf 2.52.20121002,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+@@ -11832,7 +12316,7 @@
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+- { { echo "$as_me:11835: error: ambiguous option: $1
++ { { echo "$as_me:12319: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&2;}
+@@ -11851,7 +12335,7 @@
+ ac_need_defaults=false;;
+
+ # This is an error.
+- -*) { { echo "$as_me:11854: error: unrecognized option: $1
++ -*) { { echo "$as_me:12338: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&2;}
+@@ -11870,7 +12354,7 @@
+ ## Running config.status. ##
+ ## ----------------------- ##
+
+-This file was extended by $as_me 2.52.20101002, executed with
++This file was extended by $as_me 2.52.20121002, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+@@ -11892,8 +12376,8 @@
+ AWK="$AWK"
+ DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
+ DFT_LWR_MODEL="$DFT_LWR_MODEL"
+-ECHO_LINK="$ECHO_LINK"
+ LIB_NAME="$LIB_NAME"
++LIB_PREFIX="$LIB_PREFIX"
+ LIB_SUFFIX="$LIB_SUFFIX"
+ LN_S="$LN_S"
+ NCURSES_MAJOR="$NCURSES_MAJOR"
+@@ -11922,7 +12406,7 @@
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+ "include/ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/ncurses_cfg.h:include/ncurses_cfg.hin" ;;
+- *) { { echo "$as_me:11925: error: invalid argument: $ac_config_target" >&5
++ *) { { echo "$as_me:12409: error: invalid argument: $ac_config_target" >&5
+ echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+@@ -11981,6 +12465,7 @@
+ s,@bindir@,$bindir,;t t
+ s,@sbindir@,$sbindir,;t t
+ s,@libexecdir@,$libexecdir,;t t
++s,@datarootdir@,$datarootdir,;t t
+ s,@datadir@,$datadir,;t t
+ s,@sysconfdir@,$sysconfdir,;t t
+ s,@sharedstatedir@,$sharedstatedir,;t t
+@@ -12024,9 +12509,8 @@
+ s,@ac_ct_CC@,$ac_ct_CC,;t t
+ s,@EXEEXT@,$EXEEXT,;t t
+ s,@OBJEXT@,$OBJEXT,;t t
+-s,@CPP@,$CPP,;t t
+ s,@EXTRA_CPPFLAGS@,$EXTRA_CPPFLAGS,;t t
+-s,@PROG_EXT@,$PROG_EXT,;t t
++s,@CPP@,$CPP,;t t
+ s,@AWK@,$AWK,;t t
+ s,@EGREP@,$EGREP,;t t
+ s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+@@ -12061,6 +12545,7 @@
+ s,@DFT_LWR_MODEL@,$DFT_LWR_MODEL,;t t
+ s,@DFT_UPR_MODEL@,$DFT_UPR_MODEL,;t t
+ s,@NCURSES_CONFIG@,$NCURSES_CONFIG,;t t
++s,@ac_ct_NCURSES_CONFIG@,$ac_ct_NCURSES_CONFIG,;t t
+ s,@NCURSES_MAJOR@,$NCURSES_MAJOR,;t t
+ s,@NCURSES_MINOR@,$NCURSES_MINOR,;t t
+ s,@NCURSES_PATCH@,$NCURSES_PATCH,;t t
+@@ -12083,13 +12568,18 @@
+ s,@LOCAL_LDFLAGS@,$LOCAL_LDFLAGS,;t t
+ s,@LOCAL_LDFLAGS2@,$LOCAL_LDFLAGS2,;t t
+ s,@INSTALL_LIB@,$INSTALL_LIB,;t t
++s,@RPATH_LIST@,$RPATH_LIST,;t t
+ s,@BROKEN_LINKER@,$BROKEN_LINKER,;t t
+ s,@NCURSES_EXT_FUNCS@,$NCURSES_EXT_FUNCS,;t t
+ s,@NCURSES_CONST@,$NCURSES_CONST,;t t
+ s,@PTHREAD@,$PTHREAD,;t t
+ s,@cf_cv_enable_reentrant@,$cf_cv_enable_reentrant,;t t
+ s,@NCURSES_WRAP_PREFIX@,$NCURSES_WRAP_PREFIX,;t t
+-s,@ECHO_LINK@,$ECHO_LINK,;t t
++s,@ECHO_LT@,$ECHO_LT,;t t
++s,@ECHO_LD@,$ECHO_LD,;t t
++s,@RULE_CC@,$RULE_CC,;t t
++s,@SHOW_CC@,$SHOW_CC,;t t
++s,@ECHO_CC@,$ECHO_CC,;t t
+ s,@ADAFLAGS@,$ADAFLAGS,;t t
+ s,@EXTRA_CFLAGS@,$EXTRA_CFLAGS,;t t
+ s,@ADA_TRACE@,$ADA_TRACE,;t t
+@@ -12109,7 +12599,8 @@
+ s,@ADA_OBJECTS@,$ADA_OBJECTS,;t t
+ s,@ADA_SHAREDLIB@,$ADA_SHAREDLIB,;t t
+ s,@MAKE_ADA_SHAREDLIB@,$MAKE_ADA_SHAREDLIB,;t t
+-s,@TINFO_ARGS2@,$TINFO_ARGS2,;t t
++s,@TINFO_LDFLAGS2@,$TINFO_LDFLAGS2,;t t
++s,@TINFO_LIBS@,$TINFO_LIBS,;t t
+ s,@ACPPFLAGS@,$ACPPFLAGS,;t t
+ s,@DFT_ARG_SUFFIX@,$DFT_ARG_SUFFIX,;t t
+ s,@DFT_DEP_SUFFIX@,$DFT_DEP_SUFFIX,;t t
+@@ -12237,7 +12728,7 @@
+ esac
+
+ if test x"$ac_file" != x-; then
+- { echo "$as_me:12240: creating $ac_file" >&5
++ { echo "$as_me:12731: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+@@ -12255,7 +12746,7 @@
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:12258: error: cannot find input file: $f" >&5
++ test -f "$f" || { { echo "$as_me:12749: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+@@ -12268,13 +12759,45 @@
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+- { { echo "$as_me:12271: error: cannot find input file: $f" >&5
++ { { echo "$as_me:12762: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ EOF
++cat >>$CONFIG_STATUS <<\EOF
++ ac_warn_datarootdir=no
++ if test x"$ac_file" != x-; then
++ for ac_item in $ac_file_inputs
++ do
++ ac_seen=`grep '@\(datadir\|mandir\|infodir\)@' $ac_item`
++ if test -n "$ac_seen"; then
++ ac_used=`grep '@datarootdir@' $ac_item`
++ if test -z "$ac_used"; then
++ { echo "$as_me:12778: WARNING: datarootdir was used implicitly but not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: datarootdir was used implicitly but not set:
++$ac_seen" >&2;}
++ ac_warn_datarootdir=yes
++ fi
++ fi
++ ac_seen=`grep '${datarootdir}' $ac_item`
++ if test -n "$ac_seen"; then
++ { echo "$as_me:12787: WARNING: datarootdir was used explicitly but not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: datarootdir was used explicitly but not set:
++$ac_seen" >&2;}
++ ac_warn_datarootdir=yes
++ fi
++ done
++ fi
++
++if test "x$ac_warn_datarootdir" = xyes; then
++ ac_sed_cmds="$ac_sed_cmds | sed -e 's,@datarootdir@,\${prefix}/share,g' -e 's,\${datarootdir},\${prefix}/share,g'"
++fi
++
++EOF
+ cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+ $extrasub
+@@ -12289,11 +12812,35 @@
+ " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+- mv $tmp/out $ac_file
++ cp $tmp/out $ac_file
++
++ for ac_name in prefix exec_prefix datarootdir
++ do
++ ac_seen=`fgrep -n '${'$ac_name'[:=].*}' $ac_file`
++ if test -n "$ac_seen"; then
++ ac_init=`egrep '[ ]*'$ac_name'[ ]*=' $ac_file`
++ if test -z "$ac_init"; then
++ ac_seen=`echo "$ac_seen" |sed -e 's,^,'$ac_file':,'`
++ { echo "$as_me:12824: WARNING: Variable $ac_name is used but was not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: Variable $ac_name is used but was not set:
++$ac_seen" >&2;}
++ fi
++ fi
++ done
++ egrep -n '@[a-z_][a-z_0-9]+@' $ac_file >$tmp/out
++ egrep -n '@[A-Z_][A-Z_0-9]+@' $ac_file >>$tmp/out
++ if test -s $tmp/out; then
++ ac_seen=`sed -e 's,^,'$ac_file':,' < $tmp/out`
++ { echo "$as_me:12835: WARNING: Some variables may not be substituted:
++$ac_seen" >&5
++echo "$as_me: WARNING: Some variables may not be substituted:
++$ac_seen" >&2;}
++ fi
+ else
+ cat $tmp/out
+- rm -f $tmp/out
+ fi
++ rm -f $tmp/out
+
+ done
+ EOF
+@@ -12334,7 +12881,7 @@
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+- test x"$ac_file" != x- && { echo "$as_me:12337: creating $ac_file" >&5
++ test x"$ac_file" != x- && { echo "$as_me:12884: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+@@ -12345,7 +12892,7 @@
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:12348: error: cannot find input file: $f" >&5
++ test -f "$f" || { { echo "$as_me:12895: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+@@ -12358,7 +12905,7 @@
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+- { { echo "$as_me:12361: error: cannot find input file: $f" >&5
++ { { echo "$as_me:12908: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+@@ -12416,7 +12963,7 @@
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+- { echo "$as_me:12419: $ac_file is unchanged" >&5
++ { echo "$as_me:12966: $ac_file is unchanged" >&5
+ echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+Index: Ada95/configure.in
+Prereq: 1.30
+--- ncurses-5.9/Ada95/configure.in 2011-03-31 22:49:22.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/configure.in 2013-04-27 19:50:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ dnl***************************************************************************
+-dnl Copyright (c) 2010,2011 Free Software Foundation, Inc. *
++dnl Copyright (c) 2010-2012,2013 Free Software Foundation, Inc. *
+ dnl *
+ dnl Permission is hereby granted, free of charge, to any person obtaining a *
+ dnl copy of this software and associated documentation files (the *
+@@ -28,24 +28,20 @@
+ dnl
+ dnl Author: Thomas E. Dickey
+ dnl
+-dnl $Id: configure.in,v 1.30 2011/03/31 22:49:22 tom Exp $
++dnl $Id: configure.in,v 1.47 2013/04/27 19:50:17 tom Exp $
+ dnl Process this file with autoconf to produce a configure script.
+ dnl
+ dnl See http://invisible-island.net/autoconf/ for additional information.
+ dnl
+ dnl ---------------------------------------------------------------------------
+-AC_PREREQ(2.13.20020210)
+-AC_REVISION($Revision: 1.30 $)
++AC_PREREQ(2.52.20030208)
++AC_REVISION($Revision: 1.47 $)
+ AC_INIT(gen/gen.c)
+ AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
+
+ CF_TOP_BUILDDIR
+
+-CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
+-AC_ARG_WITH(system-type,
+-[ --with-system-type=XXX test: override derived host system-type],
+-[AC_MSG_WARN(overriding system type to $withval)
+- cf_cv_system_name=$withval])
++CF_WITH_SYSTYPE
+
+ ### Save the given $CFLAGS to allow user-override.
+ cf_user_CFLAGS="$CFLAGS"
+@@ -54,15 +50,10 @@
+ CF_CFG_DEFAULTS
+
+ ### Checks for programs.
+-AC_PROG_CC
+-CF_GCC_VERSION
+-
++CF_PROG_CC(gnatgcc gcc cc)
+ AC_PROG_CPP
+ AC_PROG_GCC_TRADITIONAL
+ CF_PROG_CC_C_O(CC)
+-AC_ISC_POSIX
+-CF_ANSI_CC_REQD
+-CF_PROG_EXT
+
+ AC_ARG_PROGRAM
+
+@@ -75,28 +66,8 @@
+
+ # if we find pkg-config, check if we should install the ".pc" files.
+ CF_PKG_CONFIG
+-
+-if test "$PKG_CONFIG" != none ; then
+- AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
+-
+- # Leave this as something that can be overridden in the environment.
+- if test -z "$PKG_CONFIG_LIBDIR" ; then
+- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`/lib/pkgconfig
+- fi
+- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'`
+- if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then
+- AC_ARG_ENABLE(pc-files,
+- [ --enable-pc-files generate and install .pc files for pkg-config],
+- [enable_pc_files=$enableval],
+- [enable_pc_files=no])
+- AC_MSG_RESULT($enable_pc_files)
+- else
+- AC_MSG_RESULT(no)
+- AC_MSG_WARN(did not find library $PKG_CONFIG_LIBDIR)
+- enable_pc_files=no
+- fi
+-fi
+-AC_SUBST(PKG_CONFIG_LIBDIR)
++CF_WITH_PKG_CONFIG_LIBDIR
++CF_ENABLE_PC_FILES
+
+ AC_MSG_CHECKING(if you want to build test-programs)
+ AC_ARG_WITH(tests,
+@@ -130,6 +101,7 @@
+ AC_CHECK_TOOL(LD, ld, ld)
+ AC_CHECK_TOOL(AR, ar, ar)
+ CF_AR_FLAGS
++CF_PATHSEP
+
+ dnl Special option for use by system-builders: the install-prefix is used to
+ dnl adjust the location into which the actual install is done, so that an
+@@ -186,9 +158,7 @@
+
+ CF_NCURSES_ADDON
+
+-CF_LIB_PREFIX(cf_prefix)
+-LIB_PREFIX=$cf_prefix
+-AC_SUBST(LIB_PREFIX)
++CF_WITH_LIB_PREFIX(cf_prefix)
+
+ LIB_SUFFIX=
+ AC_SUBST(LIB_SUFFIX)
+@@ -235,8 +205,6 @@
+ ###############################################################################
+ CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
+
+-CF_PATHSEP
+-
+ ### use option --enable-broken-linker to force on use of broken-linker support
+ AC_MSG_CHECKING(if you want broken-linker support code)
+ AC_ARG_ENABLE(broken_linker,
+@@ -272,7 +240,7 @@
+ [with_rcs_ids=$withval],
+ [with_rcs_ids=no])
+ AC_MSG_RESULT($with_rcs_ids)
+-test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
++test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS,1,[Define to 1 if RCS identifiers should be compiled-in)])
+
+ ###############################################################################
+ CF_HELP_MESSAGE(Extensions:)
+@@ -286,8 +254,8 @@
+ AC_MSG_RESULT($with_ext_funcs)
+ if test "$with_ext_funcs" = yes ; then
+ NCURSES_EXT_FUNCS=1
+- AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
+- AC_DEFINE(NCURSES_EXT_FUNCS)
++ AC_DEFINE(HAVE_USE_DEFAULT_COLORS,1,[Define to 1 if we have use_default_colors function])
++ AC_DEFINE(NCURSES_EXT_FUNCS,1,[Define to 1 if we have ncurses extended functions])
+ else
+ NCURSES_EXT_FUNCS=0
+ fi
+@@ -337,12 +305,12 @@
+ fi
+
+ if test $cf_cv_weak_symbols = yes ; then
+- AC_DEFINE(USE_WEAK_SYMBOLS)
++ AC_DEFINE(USE_WEAK_SYMBOLS,1,[Define to 1 to enable weak-symbols for pthreads])
+ fi
+
+ PTHREAD=
+ if test "$with_pthread" = "yes" ; then
+- AC_DEFINE(USE_PTHREADS)
++ AC_DEFINE(USE_PTHREADS,1,[Define to 1 to use the pthreads library])
+ enable_reentrant=yes
+ if test $cf_cv_weak_symbols = yes ; then
+ PTHREAD=-lpthread
+@@ -370,7 +338,7 @@
+ elif test "$assume_reentrant" = no ; then
+ LIB_SUFFIX="t${LIB_SUFFIX}"
+ fi
+- AC_DEFINE(USE_REENTRANT)
++ AC_DEFINE(USE_REENTRANT,1,[Define to 1 to compile with experimental reentrant code])
+ else
+ cf_cv_enable_reentrant=0
+ fi
+@@ -388,24 +356,13 @@
+ NCURSES_WRAP_PREFIX=_nc_
+ fi
+ AC_SUBST(NCURSES_WRAP_PREFIX)
+-AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX")
++AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX",[Define to override _nc_ ncurses internal prefix])
+
+ ###############################################################################
+ CF_HELP_MESSAGE(Testing/development Options:)
+
+ ### use option --disable-echo to suppress full display compiling commands
+-AC_MSG_CHECKING(if you want to display full commands during build)
+-AC_ARG_ENABLE(echo,
+- [ --enable-echo build: display "compiling" commands (default)],
+- [with_echo=$enableval],
+- [with_echo=yes])
+-if test "$with_echo" = yes; then
+- ECHO_LINK=
+-else
+- ECHO_LINK='@ echo linking $@ ... ;'
+-fi
+-AC_MSG_RESULT($with_echo)
+-AC_SUBST(ECHO_LINK)
++CF_DISABLE_ECHO
+
+ ### use option --enable-warnings to turn on all gcc warnings
+ AC_MSG_CHECKING(if you want to see compiler warnings)
+@@ -431,7 +388,6 @@
+ then
+ if test "$with_assertions" = no
+ then
+- AC_DEFINE(NDEBUG)
+ CPPFLAGS="$CPPFLAGS -DNDEBUG"
+ else
+ CF_ADD_ADAFLAGS(-gnata)
+@@ -439,17 +395,17 @@
+ fi
+
+ ### use option --disable-leaks to suppress "permanent" leaks, for testing
+-AC_DEFINE(HAVE_NC_ALLOC_H)
++AC_DEFINE(HAVE_NC_ALLOC_H,1,[Define to 1 if we have nc_alloc.h header])
+
+ ### use option --enable-expanded to generate certain macros as functions
+ AC_ARG_ENABLE(expanded,
+ [ --enable-expanded test: generate functions for certain macros],
+- [test "$enableval" = yes && AC_DEFINE(NCURSES_EXPANDED)])
++ [test "$enableval" = yes && AC_DEFINE(NCURSES_EXPANDED,1,[Define to 1 if ncurses macros should be expanded as functions])])
+
+ ### use option --disable-macros to suppress macros in favor of functions
+ AC_ARG_ENABLE(macros,
+ [ --disable-macros test: use functions rather than macros],
+- [test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS)])
++ [test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS,1,[Define to 1 if ncurses macros should be expanded as functions])])
+
+ # Normally we only add trace() to the debug-library. Allow this to be
+ # extended to all models of the ncurses library:
+@@ -485,7 +441,7 @@
+ AC_DEFINE(HAVE_GETTIMEOFDAY),[
+
+ AC_CHECK_LIB(bsd, gettimeofday,
+- AC_DEFINE(HAVE_GETTIMEOFDAY)
++ AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday])
+ LIBS="$LIBS -lbsd")])dnl CLIX: bzero, select, gettimeofday
+ ;;
+ esac
+@@ -505,8 +461,6 @@
+ ### Checks for library functions.
+ CF_MKSTEMP
+
+-AC_TYPE_SIGNAL
+-
+ dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
+ if test -z "$cf_user_CFLAGS" && test "$with_no_leaks" = no ; then
+ CF_STRIP_G_OPT(CFLAGS)
+@@ -514,24 +468,13 @@
+ fi
+
+ CF_HELP_MESSAGE(Ada95 Binding Options:)
+-
++cf_with_ada=yes
+ dnl Check for availability of GNU Ada Translator (GNAT).
+ dnl At the moment we support no other Ada95 compiler.
+ if test "$cf_with_ada" != "no" ; then
+ CF_PROG_GNAT
+ if test "$cf_cv_prog_gnat_correct" = yes; then
+-
+- # make ADAFLAGS consistent with CFLAGS
+- case "$CFLAGS" in
+- *-g*)
+- CF_ADD_ADAFLAGS(-g)
+- ;;
+- esac
+- case "$CFLAGS" in
+- *-O*)
+- CF_ADD_ADAFLAGS(-O3)
+- ;;
+- esac
++ CF_FIXUP_ADAFLAGS
+
+ CF_GNAT_GENERICS
+ CF_GNAT_SIGINT
+@@ -556,8 +499,10 @@
+ ################################################################################
+
+ # not needed
+-TINFO_ARGS2=
+-AC_SUBST(TINFO_ARGS2)
++TINFO_LDFLAGS2=
++AC_SUBST(TINFO_LDFLAGS2)
++TINFO_LIBS=
++AC_SUBST(TINFO_LIBS)
+
+ ### Construct the list of include-directories to be generated
+ CF_INCLUDE_DIRS
+@@ -594,7 +539,7 @@
+
+ SUB_MAKEFILES="gen/adacurses${DFT_ARG_SUFFIX}-config:gen/adacurses-config.in"
+
+-AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR')
++AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR',[Define to override ':' as the library path-separator])
+
+ ### Now that we're done running tests, add the compiler-warnings, if any
+ CF_ADD_CFLAGS($EXTRA_CFLAGS)
+@@ -656,8 +601,8 @@
+ AWK="$AWK"
+ DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
+ DFT_LWR_MODEL="$DFT_LWR_MODEL"
+-ECHO_LINK="$ECHO_LINK"
+ LIB_NAME="$LIB_NAME"
++LIB_PREFIX="$LIB_PREFIX"
+ LIB_SUFFIX="$LIB_SUFFIX"
+ LN_S="$LN_S"
+ NCURSES_MAJOR="$NCURSES_MAJOR"
+Index: Ada95/doc/Makefile.in
+Prereq: 1.2
+--- ncurses-5.9/Ada95/doc/Makefile.in 2011-03-26 19:26:17.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/doc/Makefile.in 2012-08-11 21:31:56.000000000 +0000
+@@ -1,4 +1,4 @@
+-# $Id: Makefile.in,v 1.2 2011/03/26 19:26:17 tom Exp $
++# $Id: Makefile.in,v 1.3 2012/08/11 21:31:56 tom Exp $
+ ##############################################################################
+ # Copyright (c) 2011 Free Software Foundation, Inc. #
+ # #
+@@ -38,6 +38,7 @@
+ srcdir = @srcdir@
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
++datarootdir = @datarootdir@
+ datadir = @datadir@
+ mandir = @mandir@
+
+Index: Ada95/gen/Makefile.in
+Prereq: 1.74
+--- ncurses-5.9/Ada95/gen/Makefile.in 2011-03-26 23:36:30.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/gen/Makefile.in 2012-10-06 18:58:48.000000000 +0000
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -28,7 +28,7 @@
+ #
+ # Author: Juergen Pfeifer, 1996
+ #
+-# $Id: Makefile.in,v 1.74 2011/03/26 23:36:30 tom Exp $
++# $Id: Makefile.in,v 1.77 2012/10/06 18:58:48 tom Exp $
+ #
+ .SUFFIXES:
+
+@@ -36,7 +36,7 @@
+ VPATH = @srcdir@
+ THIS = Makefile
+
+-x = @PROG_EXT@
++x = @EXEEXT@
+
+ top_srcdir = @top_srcdir@
+ DESTDIR = @DESTDIR@
+@@ -73,7 +73,7 @@
+ LOCAL_LIBDIR = @top_builddir@/lib
+
+ LINK = $(HOST_CC)
+-LD_FLAGS = @LD_MODEL@ $(LOCAL_LIBS) @LDFLAGS@ @LIBS@ @LOCAL_LDFLAGS2@ $(LDFLAGS) @TINFO_ARGS2@
++LD_FLAGS = @LD_MODEL@ $(LOCAL_LIBS) @TINFO_LDFLAGS2@ @LDFLAGS@ @LIBS@ @LOCAL_LDFLAGS2@ $(LDFLAGS) @TINFO_LIBS@
+
+ RANLIB = @RANLIB@
+
+@@ -179,7 +179,7 @@
+ -rm -f $(DESTDIR)$(bindir)/$(ADACURSES_CONFIG)
+
+ $(PROG_GENERATE): gen.o
+- @ECHO_LINK@ $(LINK) $(CFLAGS_NORMAL) gen.o $(LD_FLAGS) -o $@
++ @ECHO_LD@ $(LINK) $(CFLAGS_NORMAL) gen.o $(LD_FLAGS) -o $@
+
+ gen.o: $(srcdir)/gen.c
+ $(HOST_CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/gen.c
+@@ -411,7 +411,7 @@
+ @mkdir -p $(HTML_DIR)
+ cp -p ../src/*.ad[sb] . && chmod +w *.ad[sb]
+ @USE_OLD_MAKERULES@ ln -sf ../src/*.ali .
+-@USE_GNAT_PROJECTS@ ln -sf ../static-ali/*.ali .
++@USE_GNAT_PROJECTS@ ln -sf ../static-ali/*.ali .
+ @echo "Filtering generated files"
+ @for f in $(GEN_SRC); do \
+ h=`basename $$f` ;\
+Index: Ada95/gen/gen.c
+Prereq: 1.59
+--- ncurses-5.9/Ada95/gen/gen.c 2011-03-31 23:50:24.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/gen/gen.c 2011-04-30 19:47:19.000000000 +0000
+@@ -32,7 +32,7 @@
+
+ /*
+ Version Control
+- $Id: gen.c,v 1.59 2011/03/31 23:50:24 tom Exp $
++ $Id: gen.c,v 1.60 2011/04/30 19:47:19 Nicolas.Boulenguez Exp $
+ --------------------------------------------------------------------------*/
+ /*
+ This program generates various record structures and constants from the
+@@ -124,19 +124,15 @@
+ int len, /* size of the record in bytes */
+ int bias)
+ {
+- const char *unused_name = "Unused";
+- int long_bits = (8 * (int)sizeof(unsigned long));
+- int len_bits = (8 * len);
+- int i, j, n, l, cnt = 0, low, high;
++ const int len_bits = (8 * len);
++ int i, l, low, high;
+ int width = strlen(RES_NAME) + 3;
+ unsigned long a;
+- unsigned long mask = 0;
+
+ assert(nap != NULL);
+
+ for (i = 0; nap[i].name != (char *)0; i++)
+ {
+- cnt++;
+ l = (int)strlen(nap[i].name);
+ if (l > width)
+ width = l;
+@@ -147,32 +143,8 @@
+ printf(" record\n");
+ for (i = 0; nap[i].name != (char *)0; i++)
+ {
+- mask |= nap[i].attr;
+ printf(" %-*s : Boolean;\n", width, nap[i].name);
+ }
+-
+- /*
+- * Compute a mask for the unused bits in this target.
+- */
+- mask = ~mask;
+- /*
+- * Bits in the biased area are unused by the target.
+- */
+- for (j = 0; j < bias; ++j)
+- {
+- mask &= (unsigned long)(~(1L << j));
+- }
+- /*
+- * Bits past the target's size are really unused.
+- */
+- for (j = len_bits + bias; j < long_bits; ++j)
+- {
+- mask &= (unsigned long)(~(1L << j));
+- }
+- if (mask != 0)
+- {
+- printf(" %-*s : Boolean;\n", width, unused_name);
+- }
+ printf(" end record;\n");
+ printf(" pragma Convention (C, %s);\n\n", name);
+
+@@ -187,17 +159,10 @@
+ printf(" %-*s at 0 range %2d .. %2d;\n", width, nap[i].name,
+ low - bias, high - bias);
+ }
+- if (mask != 0)
+- {
+- l = find_pos((char *)&mask, sizeof(mask), &low, &high);
+- if (l >= 0)
+- printf(" %-*s at 0 range %2d .. %2d;\n", width, unused_name,
+- low - bias, high - bias);
+- }
+- i = 1;
+- n = cnt;
+ printf(" end record;\n");
++ printf(" pragma Warnings (Off);");
+ printf(" for %s'Size use %d;\n", name, len_bits);
++ printf(" pragma Warnings (On);\n");
+ printf(" -- Please note: this rep. clause is generated and may be\n");
+ printf(" -- different on your system.");
+ }
+Index: Ada95/include/ncurses_defs
+Prereq: 1.41
+--- ncurses-5.9/Ada95/include/ncurses_defs 2008-11-16 00:19:59.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/include/ncurses_defs 2013-04-27 19:50:17.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: ncurses_defs,v 1.41 2008/11/16 00:19:59 juergen Exp $
++# $Id: ncurses_defs,v 1.44 2013/04/27 19:50:17 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2000-2007,2008 Free Software Foundation, Inc. #
++# Copyright (c) 2000-2012,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -33,7 +33,6 @@
+
+ BROKEN_LINKER
+ BSD_TPUTS
+-CC_HAS_PROTOS
+ CPP_HAS_PARAM_INIT
+ CURSES_ACS_ARRAY acs_map
+ CURSES_WACS_ARRAY _nc_wacs
+@@ -120,7 +119,6 @@
+ HAVE_SIZECHANGE
+ HAVE_SLK_COLOR
+ HAVE_SLK_INIT 1
+-HAVE_STRDUP
+ HAVE_STRSTR
+ HAVE_SYMLINK
+ HAVE_SYS_BSDTYPES_H
+@@ -174,7 +172,6 @@
+ NEED_PTEM_H
+ NO_LEAKS
+ PURE_TERMINFO
+-RETSIGTYPE
+ STDC_HEADERS
+ SVR4_ACTION
+ SVR4_TERMIO
+Index: Ada95/samples/Makefile.in
+Prereq: 1.46
+--- ncurses-5.9/Ada95/samples/Makefile.in 2011-03-28 23:45:08.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/samples/Makefile.in 2012-10-06 19:00:42.000000000 +0000
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -28,7 +28,7 @@
+ #
+ # Author: Juergen Pfeifer, 1996
+ #
+-# $Id: Makefile.in,v 1.46 2011/03/28 23:45:08 tom Exp $
++# $Id: Makefile.in,v 1.48 2012/10/06 19:00:42 tom Exp $
+ #
+ .SUFFIXES:
+
+@@ -36,12 +36,13 @@
+ VPATH = @srcdir@
+ THIS = Makefile
+
+-x = @PROG_EXT@
++x = @EXEEXT@
+
+ srcdir = @srcdir@
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+ bindir = @bindir@
++datarootdir = @datarootdir@
+ datadir = @datadir@
+ libdir = @libdir@
+ includedir = @includedir@
+Index: Ada95/src/Makefile.in
+Prereq: 1.60
+--- ncurses-5.9/Ada95/src/Makefile.in 2011-03-31 09:46:16.000000000 +0000
++++ ncurses-5.9-20130504/Ada95/src/Makefile.in 2011-04-30 22:24:45.000000000 +0000
+@@ -28,7 +28,7 @@
+ #
+ # Author: Juergen Pfeifer, 1996
+ #
+-# $Id: Makefile.in,v 1.60 2011/03/31 09:46:16 tom Exp $
++# $Id: Makefile.in,v 1.62 2011/04/30 22:24:45 tom Exp $
+ #
+ .SUFFIXES:
+
+@@ -218,7 +218,9 @@
+ $(ADAPREP) -DADA_TRACE=@ADA_TRACE@ -DPRAGMA_UNREF=@PRAGMA_UNREF@ $(srcdir)/$(ABASE)-trace.adb_p $@
+
+ ###############################################################################
+-C_OBJS = c_varargs_to_ada.o ncurses_compat.o
++# Use these definitions when building a shared library.
++SHARED_C_OBJS = c_varargs_to_ada.o ncurses_compat.o
++SHARED_OBJS = $(SHARED_C_OBJS) @USE_OLD_MAKERULES@$(LIBOBJS) @cf_generic_objects@
+
+ c_varargs_to_ada.o : $(srcdir)/c_varargs_to_ada.c
+ $(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/c_varargs_to_ada.c
+@@ -227,13 +229,22 @@
+ $(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/ncurses_compat.c
+
+ ###############################################################################
++# Use these definitions when building a static library.
++STATIC_C_OBJS = static_c_varargs_to_ada.o static_ncurses_compat.o
++STATIC_OBJS = $(STATIC_C_OBJS) @USE_OLD_MAKERULES@$(LIBOBJS) @cf_generic_objects@
+
+-MIXED_OBJS = $(C_OBJS) @USE_OLD_MAKERULES@$(LIBOBJS) @cf_generic_objects@
++static_c_varargs_to_ada.o : $(srcdir)/c_varargs_to_ada.c
++ $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/c_varargs_to_ada.c
++
++static_ncurses_compat.o : $(srcdir)/ncurses_compat.c
++ $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/ncurses_compat.c
++
++###############################################################################
+
+ @USE_OLD_MAKERULES@$(BUILD_DIR_LIB)/$(STATIC_LIBNAME) :: \
+ @USE_OLD_MAKERULES@ $(BUILD_DIR_LIB) \
+-@USE_OLD_MAKERULES@ $(MIXED_OBJS)
+-@USE_OLD_MAKERULES@ $(AR) $(ARFLAGS) $@ $(MIXED_OBJS)
++@USE_OLD_MAKERULES@ $(STATIC_OBJS)
++@USE_OLD_MAKERULES@ $(AR) $(ARFLAGS) $@ $(STATIC_OBJS)
+
+ $(BUILD_DIR)/static-ali : ; mkdir -p $@
+ $(BUILD_DIR)/static-obj : ; mkdir -p $@
+@@ -245,10 +256,10 @@
+
+ @USE_GNAT_PROJECTS@$(BUILD_DIR_LIB)/$(STATIC_LIBNAME) :: \
+ @USE_GNAT_PROJECTS@ $(ABASE)-trace.adb \
+-@USE_GNAT_PROJECTS@ $(C_OBJS) \
++@USE_GNAT_PROJECTS@ $(STATIC_C_OBJS) \
+ @USE_GNAT_PROJECTS@ $(STATIC_DIRS)
+ @USE_GNAT_PROJECTS@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=static
+-@USE_GNAT_PROJECTS@ $(AR) $(ARFLAGS) $@ $(C_OBJS)
++@USE_GNAT_PROJECTS@ $(AR) $(ARFLAGS) $@ $(STATIC_C_OBJS)
+ @USE_GNAT_PROJECTS@
+ @USE_GNAT_LIBRARIES@install \
+ @USE_GNAT_LIBRARIES@install.libs :: \
+@@ -274,8 +285,11 @@
+ $(BUILD_DIR)/dynamic-obj
+
+ @MAKE_ADA_SHAREDLIB@all :: $(BUILD_DIR_LIB)/$(SHARED_LIBNAME)
+-@MAKE_ADA_SHAREDLIB@$(BUILD_DIR_LIB)/$(SHARED_LIBNAME) :: $(ABASE)-trace.adb $(SHARED_DIRS)
+-@MAKE_ADA_SHAREDLIB@ cp $(MIXED_OBJS) $(BUILD_DIR)/dynamic-obj/
++@MAKE_ADA_SHAREDLIB@$(BUILD_DIR_LIB)/$(SHARED_LIBNAME) :: \
++@MAKE_ADA_SHAREDLIB@ $(ABASE)-trace.adb \
++@MAKE_ADA_SHAREDLIB@ $(SHARED_DIRS) \
++@MAKE_ADA_SHAREDLIB@ $(SHARED_OBJS)
++@MAKE_ADA_SHAREDLIB@ cp $(SHARED_OBJS) $(BUILD_DIR)/dynamic-obj/
+ @MAKE_ADA_SHAREDLIB@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=dynamic
+
+ install \
+Index: INSTALL
+Prereq: 1.155
+--- ncurses-5.9/INSTALL 2011-03-31 08:27:24.000000000 +0000
++++ ncurses-5.9-20130504/INSTALL 2013-03-09 21:22:04.000000000 +0000
+@@ -1,5 +1,5 @@
+ -------------------------------------------------------------------------------
+--- Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. --
++-- Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. --
+ -- --
+ -- Permission is hereby granted, free of charge, to any person obtaining a --
+ -- copy of this software and associated documentation files (the --
+@@ -25,7 +25,7 @@
+ -- sale, use or other dealings in this Software without prior written --
+ -- authorization. --
+ -------------------------------------------------------------------------------
+--- $Id: INSTALL,v 1.155 2011/03/31 08:27:24 tom Exp $
++-- $Id: INSTALL,v 1.167 2013/03/09 21:22:04 tom Exp $
+ ---------------------------------------------------------------------
+ How to install Ncurses/Terminfo on your system
+ ---------------------------------------------------------------------
+@@ -407,13 +407,14 @@
+
+ --disable-tic-depends
+ When building shared libraries, normally the tic library is linked to
+- depend upon the ncurses library (and in turn, on the term-library if
+- the --with-termlib option was given). The tic- and term-libraries
+- ABI does not depend on the --enable-widec option. Some packagers have
+- used this to reduce the number of library files which are packaged
+- by using only one copy of those libraries. To make this work properly,
++ depend upon the ncurses library (or equivalently, on the tinfo-library
++ if the --with-termlib option was given). The tic- and tinfo-library
++ ABIs do not depend on the --enable-widec option. Some packagers have
++ used this to reduce the number of library files which are packaged by
++ using only one copy of those libraries. To make this work properly,
+ the tic library must be built without an explicit dependency on the
+- ncurses (or ncursesw) library. Use this configure option to do that.
++ underlying library (ncurses vs ncursesw, tinfo vs tinfow). Use this
++ configure option to do that.
+ For example
+ configure --with-ticlib --with-shared --disable-tic-depends
+
+@@ -555,6 +556,9 @@
+ library by reducing global and static variables. This option is also
+ set if --with-pthread is used.
+
++ Enabling this option adds a "t" to the library names, except for the
++ special case when --enable-weak-symbols is also used.
++
+ --enable-rpath
+ Use rpath option when generating shared libraries, and (with some
+ restrictions) when linking the corresponding programs. This originally
+@@ -595,6 +599,14 @@
+ reducing the need for juggling the global SP value with set_term() and
+ delscreen().
+
++ --enable-string-hacks
++ Controls whether strlcat and strlcpy may be used. The same issue
++ applies to OpenBSD's warnings about snprintf, noting that this function
++ is weakly standardized.
++
++ Aside from stifling these warnings, there is no functional improvement
++ in ncurses.
++
+ --enable-symlinks
+ If your system supports symbolic links, make tic use symbolic links
+ rather than hard links to save diskspace when writing aliases in the
+@@ -616,6 +628,12 @@
+ match is found in the terminfo database. See also the --enable-getcap
+ and --enable-getcap-cache options.
+
++ Termcap support requires run-time parsing rather than loading
++ predigested data. If you have specified --with-ticlib, then you
++ cannot have termcap support since run-time parsing is done in the
++ tic library, which is intentionally not part of normal linkage
++ dependencies.
++
+ --enable-warnings
+ Turn on GCC compiler warnings. There should be only a few.
+
+@@ -740,6 +758,12 @@
+ executables, e.g., by setting "--with-chtype=long" (the configure
+ script supplies "unsigned").
+
++ --with-cxx-shared
++ When --with-shared is set, build libncurses++ as a shared library.
++ This implicitly relies upon building with gcc/g++, since other
++ compiler suites may have differences in the way shared libraries are
++ built. libtool by the way has similar limitations.
++
+ --with-database=XXX
+ Specify the terminfo source file to install. Usually you will wish
+ to install ncurses' default (misc/terminfo.src). Certain systems
+@@ -824,7 +848,17 @@
+ NOTE: a few systems build shared libraries with fixed pathnames; this
+ option probably will not work for those configurations.
+
+- --with-libtool[=XXX]
++ --with-lib-prefix=XXX
++ OS/2 EMX used a different naming convention from most Unix-like
++ platforms. It required that the "lib" part of a library name was
++ omitted. Newer EMX as part of eComStation does not follow that
++ convention. Use this option to override the configure script's
++ assumptions about the library-prefix. If this option is omitted, it
++ uses the original OS/2 EMX convention for that platform. Use
++ "--with-lib-prefix=lib" for the newer EMX in eComStation. Use
++ "--without-lib-prefix" to suppress it for other odd platforms.
++
++ --with-libtool[=XXX]
+ Generate libraries with libtool. If this option is selected, then it
+ overrides all other library model specifications. Note that libtool
+ must already be installed, uses makefile rules dependent on GNU make,
+@@ -904,6 +938,10 @@
+ --with-pkg-config=[DIR]
+ Check for pkg-config, optionally specifying its path.
+
++ --with-pkg-config-libdir=[DIR]
++ If pkg-config was found, override the automatic check for its library
++ path.
++
+ --with-profile
+ Generate profile-libraries These are named by adding "_p" to the root,
+ e.g., libncurses_p.a
+@@ -996,10 +1034,27 @@
+ library dependencies for tic and other programs built with the tic
+ library.
+
++ --with-tparm-arg[=XXX]
++ Override the type used for tparm() arguments, which normally is a
++ "long". However the function must assume that its arguments can hold a
++ pointer to char's which is not always workable for 64-bit platforms. A
++ better choice would be intptr_t, which was not available at the time
++ tparm's interface was defined.
++
++ If the option is not given, this defaults to "long".
++
+ --with-trace
+ Configure the trace() function as part of the all models of the ncurses
+ library. Normally it is part of the debug (libncurses_g) library only.
+
++ --with-xterm-kbs=XXX
++ Configure xterm's terminfo entries to use either BS (^H, i.e., ASCII
++ backspace) or DEL (^?, or 127). XXX can be BS (or bs, 8) or DEL
++ (or del, 127).
++
++ During installation, the makefile and scripts modifies the "xterm+kbs"
++ terminfo entry to use this setting.
++
+ --with-valgrind
+ For testing, compile with debug option.
+ This also sets the --disable-leaks option.
+@@ -1024,6 +1079,8 @@
+ install as "ncurses.h" and modify the installed headers and manpages
+ accordingly.
+
++ Likewise, do not install an alias "curses" for the ncurses manpage.
++
+ --without-cxx
+ XSI curses declares "bool" as part of the interface. C++ also declares
+ "bool". Neither specifies the size and type of booleans, but both
+@@ -1726,20 +1783,37 @@
+ By default, there are no entries on the fallback list. After you have
+ built the ncurses suite for the first time, you can change the list
+ (the process needs infocmp(1)). To do so, use the script
+- ncurses/tinfo/MKfallback.sh. A configure script option
++ ncurses/tinfo/MKfallback.sh. The configure script option
+ --with-fallbacks does this (it accepts a comma-separated list of the
+ names you wish, and does not require a rebuild).
+
+ If you wanted (say) to have linux, vt100, and xterm fallbacks, you
+- would use the commands
++ might use the commands
+
+ cd ncurses;
+- tinfo/MKfallback.sh linux vt100 xterm >fallback.c
++ tinfo/MKfallback.sh \
++ $TERMINFO \
++ ../misc/terminfo.src \
++ `which tic` \
++ linux vt100 xterm >fallback.c
++
++ The first three parameters of the script are normally supplied by
++ the configured makefiles via the "--with-fallbacks" option. They
++ are
++
++ 1) the location of the terminfo database
++ 2) the source for the terminfo entries
++ 3) the location of the tic program, used to create a terminfo
++ database.
+
+ Then just rebuild and reinstall the library as you would normally.
+ You can restore the default empty fallback list with
+
+- tinfo/MKfallback.sh >fallback.c
++ tinfo/MKfallback.sh \
++ $TERMINFO \
++ ../misc/terminfo.src \
++ `which tic` \
++ >fallback.c
+
+ The overhead for an empty fallback list is one trivial stub function.
+ Any non-empty fallback list is const-ed and therefore lives in sharable
+Index: MANIFEST
+--- ncurses-5.9/MANIFEST 2011-03-28 00:29:04.000000000 +0000
++++ ncurses-5.9-20130504/MANIFEST 2013-01-26 22:19:36.000000000 +0000
+@@ -545,6 +545,8 @@
+ ./include/nc_alloc.h
+ ./include/nc_mingw.h
+ ./include/nc_panel.h
++./include/nc_string.h
++./include/nc_termios.h
+ ./include/nc_tparm.h
+ ./include/ncurses_cfg.hin
+ ./include/ncurses_defs
+@@ -764,7 +766,6 @@
+ ./mk-0th.awk
+ ./mk-1st.awk
+ ./mk-2nd.awk
+-./mk-dlls.sh.in
+ ./mk-hdr.awk
+ ./ncurses/Makefile.in
+ ./ncurses/README
+@@ -850,7 +851,6 @@
+ ./ncurses/base/lib_wattron.c
+ ./ncurses/base/lib_winch.c
+ ./ncurses/base/lib_window.c
+-./ncurses/base/memmove.c
+ ./ncurses/base/nc_panel.c
+ ./ncurses/base/resizeterm.c
+ ./ncurses/base/safe_sprintf.c
+@@ -867,6 +867,12 @@
+ ./ncurses/llib-lncursest
+ ./ncurses/llib-lncursestw
+ ./ncurses/llib-lncursesw
++./ncurses/llib-ltic
++./ncurses/llib-ltictw
++./ncurses/llib-lticw
++./ncurses/llib-ltinfo
++./ncurses/llib-ltinfotw
++./ncurses/llib-ltinfow
+ ./ncurses/modules
+ ./ncurses/tinfo/MKcaptab.awk
+ ./ncurses/tinfo/MKcaptab.sh
+@@ -915,10 +921,10 @@
+ ./ncurses/tinfo/make_hash.c
+ ./ncurses/tinfo/make_keys.c
+ ./ncurses/tinfo/name_match.c
++./ncurses/tinfo/obsolete.c
+ ./ncurses/tinfo/parse_entry.c
+ ./ncurses/tinfo/read_entry.c
+ ./ncurses/tinfo/read_termcap.c
+-./ncurses/tinfo/setbuf.c
+ ./ncurses/tinfo/strings.c
+ ./ncurses/tinfo/tinfo_driver.c
+ ./ncurses/tinfo/trim_sgr0.c
+@@ -943,8 +949,6 @@
+ ./ncurses/tty/lib_tstp.c
+ ./ncurses/tty/lib_twait.c
+ ./ncurses/tty/lib_vidattr.c
+-./ncurses/tty/tty_display.h
+-./ncurses/tty/tty_input.h
+ ./ncurses/tty/tty_update.c
+ ./ncurses/wcwidth.h
+ ./ncurses/widechar/charable.c
+@@ -967,9 +971,18 @@
+ ./ncurses/widechar/lib_vline_set.c
+ ./ncurses/widechar/lib_wacs.c
+ ./ncurses/widechar/lib_wunctrl.c
++./ncurses/widechar/widechars.c
+ ./ncurses/win32con/gettimeofday.c
+ ./ncurses/win32con/wcwidth.c
+ ./ncurses/win32con/win_driver.c
++./package/debian/changelog
++./package/debian/compat
++./package/debian/control
++./package/debian/copyright
++./package/debian/rules
++./package/debian/source/format
++./package/debian/watch
++./package/ncurses.spec
+ ./panel/Makefile.in
+ ./panel/headers
+ ./panel/llib-lpanel
+@@ -1022,6 +1035,7 @@
+ ./test/cardfile.dat
+ ./test/chgat.c
+ ./test/clip_printw.c
++./test/color_name.h
+ ./test/color_set.c
+ ./test/configure
+ ./test/configure.in
+@@ -1092,12 +1106,15 @@
+ ./test/test_instr.c
+ ./test/test_inwstr.c
+ ./test/test_opaque.c
++./test/test_vid_puts.c
++./test/test_vidputs.c
+ ./test/testaddch.c
+ ./test/testcurs.c
+ ./test/testscanw.c
+ ./test/tracemunch
+ ./test/view.c
+ ./test/widechars-utf8.txt
++./test/widechars.h
+ ./test/worm.c
+ ./test/xmas.c
+ ./test/xterm-16color.dat
+Index: Makefile.in
+Prereq: 1.30
+--- ncurses-5.9/Makefile.in 2010-11-27 21:45:27.000000000 +0000
++++ ncurses-5.9-20130504/Makefile.in 2012-10-06 17:31:01.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.30 2010/11/27 21:45:27 tom Exp $
++# $Id: Makefile.in,v 1.35 2012/10/06 17:31:01 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -35,7 +35,8 @@
+ VPATH = @srcdir@
+
+ DESTDIR=@DESTDIR@
+-CF_MFLAGS = @cf_cv_makeflags@ DESTDIR="$(DESTDIR)"
++RPATH_LIST=@RPATH_LIST@
++TOP_MFLAGS = @cf_cv_makeflags@ DESTDIR="$(DESTDIR)" RPATH_LIST="$(RPATH_LIST)"
+
+ @SET_MAKE@
+
+@@ -48,6 +49,7 @@
+
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
++datarootdir = @datarootdir@
+
+ bindir = @bindir@
+ ticdir = @TERMINFO@
+@@ -87,12 +89,9 @@
+ fgrep NCURSES_VERSION $(includedir)/curses.h >/dev/null || \
+ echo '** Will overwrite non-ncurses curses.h'
+
+-dlls: libs
+- $(SHELL) $(srcdir)/mk-dlls.sh
+-
+ distclean \
+ realclean ::
+- -rm -f mk-dlls.sh mingw_arch
++
+
+ # Put the common rules here so that we can easily construct the list of
+ # directories to visit.
+Index: NEWS
+Prereq: 1.1682
+--- ncurses-5.9/NEWS 2011-04-04 00:02:42.000000000 +0000
++++ ncurses-5.9-20130504/NEWS 2013-05-04 23:03:37.000000000 +0000
+@@ -1,5 +1,5 @@
+ -------------------------------------------------------------------------------
+--- Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. --
++-- Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. --
+ -- --
+ -- Permission is hereby granted, free of charge, to any person obtaining a --
+ -- copy of this software and associated documentation files (the --
+@@ -25,7 +25,7 @@
+ -- sale, use or other dealings in this Software without prior written --
+ -- authorization. --
+ -------------------------------------------------------------------------------
+--- $Id: NEWS,v 1.1682 2011/04/04 00:02:42 tom Exp $
++-- $Id: NEWS,v 1.2053 2013/05/04 23:03:37 tom Exp $
+ -------------------------------------------------------------------------------
+
+ This is a log of changes that ncurses has gone through since Zeyd started
+@@ -45,6 +45,1074 @@
+ Changes through 1.9.9e did not credit all contributions;
+ it is not possible to add this information.
+
++20130504
++ + fixes for issues found by Coverity:
++ + correct FNKEY() macro in progs/dump_entry.c, allowing kf11-kf63 to
++ display when infocmp's -R option is used for HP or AIX subsets.
++ + fix dead-code issue with test/movewindow.c
++ + improve limited-checking in _nc_read_termtype().
++
++20130427
++ + fix clang 3.2 warning in progs/dump_entry.c
++ + drop AC_TYPE_SIGNAL check; ncurses relies on c89 and later.
++
++20130413
++ + add MinGW to cases where ncurses installs by default into /usr
++ (prompted by discussion with Daniel Silva Ferreira).
++ + add -D option to infocmp's usage-message (patch by Miroslav Lichvar).
++ + add a missing 'int' type for main function in configure check for
++ type of bool variable, to work with clang 3.2 (report by Dmitri
++ Gribenko).
++ + improve configure check for static_cast, to work with clang 3.2
++ (report by Dmitri Gribenko).
++ + re-order rule for demo.o and macros defining header dependencies in
++ c++/Makefile.in to accommodate gmake (report by Dmitri Gribenko).
++
++20130406
++ + improve parameter checking in copywin().
++ + modify configure script to work around OS X's "libtool" program, to
++ choose glibtool instead. At the same time, chance the autoconf macro
++ to look for a "tool" rather than a "prog", to help with potential use
++ in cross-compiling.
++ + separate the rpath usage for c++ library from demo program
++ (Redhat #911540)
++ + update/correct header-dependencies in c++ makefile (report by Werner
++ Fink).
++ + add --with-cxx-shared to dpkg-script, as done for rpm-script.
++
++20130324
++ + build-fix for libtool configuration (reports by Daniel Silva Ferreira
++ and Roumen Petrov).
++
++20130323
++ + build-fix for OS X, to handle changes for --with-cxx-shared feature
++ (report by Christian Ebert).
++ + change initialization for vt220, similar entries for consistency
++ with cursor-key strings (NetBSD #47674) -TD
++ + further improvements to linux-16color (Benjamin Sittler)
++
++20130316
++ + additional fix for tic.c, to allocate missing buffer space.
++ + eliminate configure-script warnings for gen-pkgconfig.in
++ + correct typo in sgr string for sun-color,
++ add bold for consistency with sgr,
++ change smso for consistency with sgr -TD
++ + correct typo in sgr string for terminator -TD
++ + add blink to the attributes masked by ncv in linux-16color (report
++ by Benjamin Sittler)
++ + improve warning message from post-load checking for missing "%?"
++ operator by tic/infocmp by showing the entry name and capability.
++ + minor formatting improvement to tic/infocmp -f option to ensure
++ line split after "%;".
++ + amend scripting for --with-cxx-shared option to handle the debug
++ library "libncurses++_g.a" (report by Sven Joachim).
++
++20130309
++ + amend change to toe.c for reading from /dev/zero, to ensure that
++ there is a buffer for the temporary filename (cf: 20120324).
++ + regenerated html manpages.
++ + fix typo in terminfo.head (report by Sven Joachim, cf: 20130302).
++ + updated some autoconf macros:
++ + CF_ACVERSION_CHECK, from byacc 1.9 20130304
++ + CF_INTEL_COMPILER, CF_XOPEN_SOURCE from luit 2.0-20130217
++ + add configure option --with-cxx-shared to permit building
++ libncurses++ as a shared library when using g++, e.g., the same
++ limitations as libtool but better integrated with the usual build
++ configuration (Redhat #911540).
++ + modify MKkey_defs.sh to filter out build-path which was unnecessarily
++ shown in curses.h (Debian #689131).
++
++20130302
++ + add section to terminfo manpage discussing user-defined capabilities.
++ + update manpage description of NCURSES_NO_SETBUF, explaining why it
++ is obsolete.
++ + add a check in waddch_nosync() to ensure that tab characters are
++ treated as control characters; some broken locales claim they are
++ printable.
++ + add some traces to the Windows console driver.
++ + initialize a temporary array in _nc_mbtowc, needed for some cases
++ of raw input in MinGW port.
++
++20130218
++ + correct ifdef on change to lib_twait.c (report by Werner Fink).
++ + update config.guess, config.sub
++
++20130216
++ + modify test/testcurs.c to work with mouse for ncurses as it does for
++ pdcurses.
++ + modify test/knight.c to work with mouse for pdcurses as it does for
++ ncurses.
++ + modify internal recursion in wgetch() which handles cooked mode to
++ check if the call to wgetnstr() returned an error. This can happen
++ when both nocbreak() and nodelay() are set, for instance (report by
++ Nils Christopher Brause) (cf: 960418).
++ + fixes for issues found by Coverity:
++ + add a check for valid position in ClearToEOS()
++ + fix in lib_twait.c when --enable-wgetch-events is used, pointer
++ use after free.
++ + improve a limit-check in make_hash.c
++ + fix a memory leak in hashed_db.c
++
++20130209
++ + modify test/configure script to make it simpler to override names
++ of curses-related libraries, to help with linking with pdcurses in
++ mingw environment.
++ + if the --with-terminfo-dirs configure option is not used, there is
++ no corresponding compiled-in value for that. Fill in "no default
++ value" for that part of the manpage substitution.
++
++20130202
++ + correct initialization in knight.c which let it occasionally make
++ an incorrect move (cf: 20001028).
++ + improve documentation of the terminfo/termcap search path.
++
++20130126
++ + further fixes to mvcur to pass callback function (cf: 20130112),
++ needed to make test/dots_mvcur work.
++ + reduce calls to SetConsoleActiveScreenBuffer in win_driver.c, to
++ help reduce flicker.
++ + modify configure script to omit "+b" from linker options for very
++ old HP-UX systems (report by Dennis Grevenstein)
++ + add HP-UX workaround for missing EILSEQ on old HP-UX systems (patch
++ by Dennis Grevenstein).
++ + restore memmove/strdup support for antique systems (request by
++ Dennis Grevenstein).
++ + change %l behavior in tparm to push the string length onto the stack
++ rather than saving the formatted length into the output buffer
++ (report by Roy Marples, cf: 980620).
++
++20130119
++ + fixes for issues found by Coverity:
++ + fix memory leak in safe_sprintf.c
++ + add check for return-value in tty_update.c
++ + correct initialization for -s option in test/view.c
++ + add check for numeric overflow in lib_instr.c
++ + improve error-checking in copywin
++ + add advice in infocmp manpage for termcap users (Debian #698469).
++ + add "-y" option to test/demo_termcap and test/demo_terminfo to
++ demonstrate behavior with/without extended capabilities.
++ + updated termcap manpage to document legacy termcap behavior for
++ matching capability names.
++ + modify name-comparison for tgetstr, etc., to accommodate legacy
++ applications as well as to improve compatbility with BSD 4.2
++ termcap implementations (Debian #698299) (cf: 980725).
++
++20130112
++ + correct prototype in manpage for vid_puts.
++ + drop ncurses/tty/tty_display.h, ncurses/tty/tty_input.h, since they
++ are unused in the current driver model.
++ + modify mvcur to use stdout except when called within the ncurses
++ library.
++ + modify vidattr and vid_attr to use stdout as documented in manpage.
++ + amend changes made to buffering in 20120825 so that the low-level
++ putp() call uses stdout rather than ncurses' internal buffering.
++ The putp_sp() call does the same, for consistency (Redhat #892674).
++
++20130105
++ + add "-s" option to test/view.c to allow it to start in single-step
++ mode, reducing size of trace files when it is used for debugging
++ MinGW changes.
++ + revert part of 20121222 change to tinfo_driver.c
++ + add experimental logic in win_driver.c to improve optimization of
++ screen updates. This does not yet work with double-width characters,
++ so it is ifdef'd out for the moment (prompted by report by Erwin
++ Waterlander regarding screen flicker).
++
++20121229
++ + fix coverity warnings regarding copying into fixed-size buffers.
++ + add throw-declarations in the c++ binding per Coverity warning.
++ + minor changes to new-items for consistent reference to bug-report
++ numbers.
++
++20121222
++ + add *.dSYM directories to clean-rule in ncurses directory makefile,
++ for Mac OS builds.
++ + add a configure check for gcc option -no-cpp-precomp, which is not
++ available in all Mac OS X configurations (report by Andras Salamon,
++ cf: 20011208).
++ + improve 20021221 workaround for broken acs, handling a case where
++ that ACS_xxx character is not in the acsc string but there is a known
++ wide-character which can be used.
++
++20121215
++ + fix several warnings from clang 3.1 --analyze, includes correcting
++ a null-pointer check in _nc_mvcur_resume.
++ + correct display of double-width characters with MinGW port (report
++ by Erwin Waterlander).
++ + replace MinGW's wcrtomb(), fixing a problem with _nc_viscbuf
++ > fixes based on Coverity report:
++ + correct coloring in test/bs.c
++ + correct check for 8-bit value in _nc_insert_ch().
++ + remove dead code in progs/tset.c, test/linedata.h
++ + add null-pointer checks in lib_tracemse.c, panel.priv.h, and some
++ test-programs.
++
++20121208
++ + modify test/knight.c to show the number of choices possible for
++ each position in automove option, e.g., to allow user to follow
++ Warnsdorff's rule to solve the puzzle.
++ + modify test/hanoi.c to show the minimum number of moves possible for
++ the given number of tiles (prompted by patch by Lucas Gioia).
++ > fixes based on Coverity report:
++ + remove a few redundant checks.
++ + correct logic in test/bs.c, when randomly placing a specific type of
++ ship.
++ + check return value from remove/unlink in tic.
++ + check return value from sscanf in test/ncurses.c
++ + fix a null dereference in c++/cursesw.cc
++ + fix two instances of uninitialized variables when configuring for the
++ terminal driver.
++ + correct scope of variable used in SetSafeOutcWrapper macro.
++ + set umask when calling mkstemp in tic.
++ + initialize wbkgrndset() temporary variable when extended-colors are
++ used.
++
++20121201
++ + also replace MinGW's wctomb(), fixing a problem with setcchar().
++ + modify test/view.c to load UTF-8 when built with MinGW by using
++ regular win32 API because the MinGW functions mblen() and mbtowc()
++ do not work.
++
++20121124
++ + correct order of color initialization versus display in some of the
++ test-programs, e.g., test_addstr.c
++ > fixes based on Coverity report:
++ + delete windows on exit from some of the test-programs.
++
++20121117
++ > fixes based on Coverity report:
++ + add missing braces around FreeAndNull in two places.
++ + various fixes in test/ncurses.c
++ + improve limit-checks in tinfo/make_hash.c, tinfo/read_entry.c
++ + correct malloc size in progs/infocmp.c
++ + guard against negative array indices in test/knight.c
++ + fix off-by-one limit check in test/color_name.h
++ + add null-pointer check in progs/tabs.c, test/bs.c, test/demo_forms.c,
++ test/inchs.c
++ + fix memory-leak in tinfo/lib_setup.c, progs/toe.c,
++ test/clip_printw.c, test/demo_menus.c
++ + delete unused windows in test/chgat.c, test/clip_printw.c,
++ test/insdelln.c, test/newdemo.c on error-return.
++
++20121110
++ + modify configure macro CF_INCLUDE_DIRS to put $CPPFLAGS after the
++ local -I include options in case someone has set conflicting -I
++ options in $CPPFLAGS (prompted by patch for ncurses/Makefile.in by
++ Vassili Courzakis).
++ + modify the ncurses*-config scripts to eliminate relative paths from
++ the RPATH_LIST variable, e.g., "../lib" as used in installing shared
++ libraries or executables.
++
++20121102
++ + realign these related pages:
++ curs_add_wchstr.3x
++ curs_addchstr.3x
++ curs_addstr.3x
++ curs_addwstr.3x
++ and fix a long-ago error in curs_addstr.3x which said that a -1
++ length parameter would only write as much as fit onto one line
++ (report by Reuben Thomas).
++ + remove obsolete fallback _nc_memmove() for memmove()/bcopy().
++ + remove obsolete fallback _nc_strdup() for strdup().
++ + cancel any debug-rpm in package/ncurses.spec
++ + reviewed vte-2012, reverted most of the change since it was incorrect
++ based on testing with tack -TD
++ + un-cancel the initc in vte-256color, since this was implemented
++ starting with version 0.20 in 2009 -TD
++
++20121026
++ + improve malloc/realloc checking (prompted by discussion in Redhat
++ #866989).
++ + add ncurses test-program as "ncurses6" to the rpm- and dpkg-scripts.
++ + updated configure macros CF_GCC_VERSION and CF_WITH_PATHLIST. The
++ first corrects pattern used for Mac OS X's customization of gcc.
++
++20121017
++ + fix change to _nc_scroll_optimize(), which incorrectly freed memory
++ (Redhat #866989).
++
++20121013
++ + add vte-2012, gnome-2012, making these the defaults for vte/gnome
++ (patch by Christian Persch).
++
++20121006
++ + improve CF_GCC_VERSION to work around Debian's customization of gcc
++ --version message.
++ + improve configure macros as done in byacc:
++ + drop 2.13 compatibility; use 2.52.xxxx version only since EMX port
++ has used that for a while.
++ + add 3rd parameter to AC_DEFINE's to allow autoheader to run, i.e.,
++ for experimental use.
++ + remove unused configure macros.
++ + modify configure script and makefiles to quiet new autoconf warning
++ for LIBS_TO_MAKE variable.
++ + modify configure script to show $PATH_SEPARATOR variable.
++ + update config.guess, config.sub
++
++20120922
++ + modify setupterm to set its copy of TERM to "unknown" if configured
++ for the terminal driver and TERM was null or empty.
++ + modify treatment of TERM variable for MinGW port to allow explicit
++ use of the windows console driver by checking if $TERM is set to
++ "#win32con" or an abbreviation of that.
++ + undo recent change to fallback definition of vsscanf() to build with
++ older Solaris compilers (cf: 20120728).
++
++20120908
++ + add test-screens to test/ncurses to show 256-characters at a time,
++ to help with MinGW port.
++
++20120903
++ + simplify varargs logic in lib_printw.c; va_copy is no longer needed
++ there.
++ + modifications for MinGW port to make wide-character display usable.
++
++20120902
++ + regenerate configure script (report by Sven Joachim, cf: 20120901).
++
++20120901
++ + add a null-pointer check in _nc_flush (cf: 20120825).
++ + fix a case in _nc_scroll_optimize() where the _oldnums_list array
++ might not be allocated.
++ + improve comparisons in configure.in for unset shell variables.
++
++20120826
++ + increase size of ncurses' output-buffer, in case of very small
++ initial screen-sizes.
++ + fix evaluation of TERMINFO and TERMINFO_DIRS default values as needed
++ after changes to use --datarootdir (reports by Gabriele Balducci,
++ Roumen Petrov).
++
++20120825
++ + change output buffering scheme, using buffer maintained by ncurses
++ rather than stdio, to avoid problems with SIGTSTP handling (report
++ by Brian Bloniarz).
++
++20120811
++ + update autoconf patch to 2.52.20120811, adding --datarootdir
++ (prompted by discussion with Erwin Waterlander).
++ + improve description of --enable-reentrant option in README and the
++ INSTALL file.
++ + add nsterm-256color, make this the default nsterm -TD
++ + remove bw from nsterm-bce, per testing with tack -TD
++
++20120804
++ + update test/configure, adding check for tinfo library.
++ + improve limit-checks for the getch fifo (report by Werner Fink).
++ + fix a remaining mismatch between $with_echo and the symbols updated
++ for CF_DISABLE_ECHO affecting parameters for mk-2nd.awk (report by
++ Sven Joachim, cf: 20120317).
++ + modify followup check for pkg-config's library directory in the
++ --enable-pc-files option to validate syntax (report by Sven Joachim,
++ cf: 20110716).
++
++20120728
++ + correct path for ncurses_mingw.h in include/headers, in case build
++ is done outside source-tree (patch by Roumen Petrov).
++ + modify some older xterm entries to align with xterm source -TD
++ + separate "xterm-old" alias from "xterm-r6" -TD
++ + add E3 extended capability to xterm-basic and putty -TD
++ + parenthesize parameters of other macros in curses.h -TD
++ + parenthesize parameter of COLOR_PAIR and PAIR_NUMBER in curses.h
++ in case it happens to be a comma-expression, etc. (patch by Nick
++ Black).
++
++20120721
++ + improved form_request_by_name() and menu_request_by_name().
++ + eliminate two fixed-size buffers in toe.c
++ + extend use_tioctl() to have expected behavior when use_env(FALSE) and
++ use_tioctl(TRUE) are called.
++ + modify ncurses test-program, adding -E and -T options to demonstrate
++ use_env() versus use_tioctl().
++
++20120714
++ + add use_tioctl() function (adapted from patch by Werner Fink,
++ Novell #769788):
++
++20120707
++ + add ncurses_mingw.h to installed headers (prompted by patch by
++ Juergen Pfeifer).
++ + clarify return-codes from wgetch() in response to SIGWINCH (prompted
++ by Novell #769788).
++ + modify resizeterm() to always push a KEY_RESIZE onto the fifo, even
++ if screensize is unchanged. Modify _nc_update_screensize() to push a
++ KEY_RESIZE if there was a SIGWINCH, even if it does not call
++ resizeterm(). These changes eliminate the case where a SIGWINCH is
++ received, but ERR returned from wgetch or wgetnstr because the screen
++ dimensions did not change (Novell #769788).
++
++20120630
++ + add --enable-interop to sample package scripts (suggested by Juergen
++ Pfeifer).
++ + update CF_PATH_SYNTAX macro, from mawk changes.
++ + modify mk-0th.awk to allow for generating llib-ltic, etc., though
++ some work is needed on cproto to work with lib_gen.c to update
++ llib-lncurses.
++ + remove redundant getenv() cal in database-iterator leftover from
++ cleanup in 20120622 changes (report by Sven Joachim).
++
++20120622
++ + add -d, -e and -q options to test/demo_terminfo and test/demo_termcap
++ + fix caching of environment variables in database-iterator (patch by
++ Philippe Troin, Redhat #831366).
++
++20120616
++ + add configure check to distinguish clang from gcc to eliminate
++ warnings about unused command-line parameters when compiler warnings
++ are enabled.
++ + improve behavior when updating terminfo entries which are hardlinked
++ by allowing for the possibility that an alias has been repurposed to
++ a new primary name.
++ + fix some strict compiler warnings based on package scripts.
++ + further fixes for configure check for working poll (Debian #676461).
++
++20120608
++ + fix an uninitialized variable in -c/-n logic for infocmp changes
++ (cf: 20120526).
++ + corrected fix for building c++ binding with clang 3.0 (report/patch
++ by Richard Yao, Gentoo #417613, cf: 20110409)
++ + correct configure check for working poll, fixing the case where stdin
++ is redirected, e.g., in rpm/dpkg builds (Debian #676461).
++ + add rpm- and dpkg-scripts, to test those build-environments.
++ The resulting packages are used only for testing.
++
++20120602
++ + add kdch1 aka "Remove" to vt220 and vt220-8 entries -TD
++ + add kdch1, etc., to qvt108 -TD
++ + add dl1/il1 to some entries based on dl/il values -TD
++ + add dl to simpleterm -TD
++ + add consistency-checks in tic for insert-line vs delete-line
++ controls, and insert/delete-char keys
++ + correct no-leaks logic in infocmp when doing comparisons, fixing
++ duplicate free of entries given via the command-line, and freeing
++ entries loaded from the last-but-one of files specified on the
++ command-line.
++ + add kdch1 to wsvt25 entry from NetBSD CVS (reported by David Lord,
++ analysis by Martin Husemann).
++ + add cnorm/civis to wsvt25 entry from NetBSD CVS (report/analysis by
++ Onno van der Linden).
++
++20120526
++ + extend -c and -n options of infocmp to allow comparing more than two
++ entries.
++ + correct check in infocmp for number of terminal names when more than
++ two are given.
++ + correct typo in curs_threads.3x (report by Yanhui Shen on
++ freebsd-hackers mailing list).
++
++20120512
++ + corrected 'op' for bterm (report by Samuel Thibault) -TD
++ + modify test/background.c to demonstrate a background character
++ holding a colored ACS_HLINE. The behavior differs from SVr4 due to
++ the thick- and double-line extension (cf: 20091003).
++ + modify handling of acs characters in PutAttrChar to avoid mapping an
++ unmapped character to a space with A_ALTCHARSET set.
++ + rewrite vt520 entry based on vt420 -TD
++
++20120505
++ + remove p6 (bold) from opus3n1+ for consistency -TD
++ + remove acs stuff from env230 per clues in Ingres termcap -TD
++ + modify env230 sgr/sgr0 to match other capabilities -TD
++ + modify smacs/rmacs in bq300-8 to match sgr/sgr0 -TD
++ + make sgr for dku7202 agree with other caps -TD
++ + make sgr for ibmpc agree with other caps -TD
++ + make sgr for tek4107 agree with other caps -TD
++ + make sgr for ndr9500 agree with other caps -TD
++ + make sgr for sco-ansi agree with other caps -TD
++ + make sgr for d410 agree with other caps -TD
++ + make sgr for d210 agree with other caps -TD
++ + make sgr for d470c, d470c-7b agree with other caps -TD
++ + remove redundant AC_DEFINE for NDEBUG versus Makefile definition.
++ + fix a back-link in _nc_delink_entry(), which is needed if ncurses is
++ configured with --enable-termcap and --disable-getcap.
++
++20120428
++ + fix some inconsistencies between vt320/vt420, e.g., cnorm/civis -TD
++ + add eslok flag to dec+sl -TD
++ + dec+sl applies to vt320 and up -TD
++ + drop wsl width from xterm+sl -TD
++ + reuse xterm+sl in putty and nsca-m -TD
++ + add ansi+tabs to vt520 -TD
++ + add ansi+enq to vt220-vt520 -TD
++ + fix a compiler warning in example in ncurses-intro.doc (Paul Waring).
++ + added paragraph in keyname manpage telling how extended capabilities
++ are interpreted as key definitions.
++ + modify tic's check of conflicting key definitions to include extended
++ capability strings in addition to the existing check on predefined
++ keys.
++
++20120421
++ + improve cleanup of temporary files in tic using atexit().
++ + add msgr to vt420, similar DEC vtXXX entries -TD
++ + add several missing vt420 capabilities from vt220 -TD
++ + factor out ansi+pp from several entries -TD
++ + change xterm+sl and xterm+sl-twm to include only the status-line
++ capabilities and not "use=xterm", making them more generally useful
++ as building-blocks -TD
++ + add dec+sl building block, as example -TD
++
++20120414
++ + add XT to some terminfo entries to improve usefulness for other
++ applications than screen, which would like to pretend that xterm's
++ title is a status-line. -TD
++ + change use-clauses in ansi-mtabs, hp2626, and hp2622 based on review
++ of ordering and overrides -TD
++ + add consistency check in tic for screen's "XT" capability.
++ + add section in terminfo.src summarizing the user-defined capabilities
++ used in that file -TD
++
++20120407
++ + fix an inconsistency between tic/infocmp "-x" option; tic omits all
++ non-standard capabilities, while infocmp was ignoring only the user
++ definable capabilities.
++ + improve special case in tic parsing of description to allow it to be
++ followed by terminfo capabilities. Previously the description had to
++ be the last field on an input line to allow tic to distinguish
++ between termcap and terminfo format while still allowing commas to be
++ embedded in the description.
++ + correct variable name in gen_edit.sh which broke configurability of
++ the --with-xterm-kbs option.
++ + revert 2011-07-16 change to "linux" alias, return to "linux2.2" -TD
++ + further amend 20110910 change, providing for configure-script
++ override of the "linux" terminfo entry to install and changing the
++ default for that to "linux2.2" (Debian #665959).
++
++20120331
++ + update Ada95/configure to use CF_DISABLE_ECHO (cf: 20120317).
++ + correct order of use-clauses in st-256color -TD
++ + modify configure script to look for gnatgcc if the Ada95 binding
++ is built, in preference to the default gcc/cc (suggested by
++ Nicolas Boulenguez).
++ + modify configure script to ensure that the same -On option used for
++ the C compiler in CFLAGS is used for ADAFLAGS rather than simply
++ using "-O3" (suggested by Nicolas Boulenguez)
++
++20120324
++ + amend an old fix so that next_char() exits properly for empty files,
++ e.g., from reading /dev/null (cf: 20080804).
++ + modify tic so that it can read from the standard input, or from
++ a character device. Because tic uses seek's, this requires writing
++ the data to a temporary file first (prompted by remark by Sven
++ Joachim) (cf: 20000923).
++
++20120317
++ + correct a check made in lib_napms.c, so that terminfo applications
++ can again use napms() (cf: 20110604).
++ + add a note in tic.h regarding required casts for ABSENT_BOOLEAN
++ (cf: 20040327).
++ + correct scripting for --disable-echo option in test/configure.
++ + amend check for missing c++ compiler to work when no error is
++ reported, and no variables set (cf: 20021206).
++ + add/use configure macro CF_DISABLE_ECHO.
++
++20120310
++ + fix some strict compiler warnings for abi6 and 64-bits.
++ + use begin_va_copy/end_va_copy macros in lib_printw.c (cf: 20120303).
++ + improve a limit-check in infocmp.c (Werner Fink):
++
++20120303
++ + minor tidying of terminfo.tail, clarify reason for limitation
++ regarding mapping of \0 to \200
++ + minor improvement to _nc_copy_termtype(), using memcpy to replace
++ loops.
++ + fix no-leaks checking in test/demo_termcap.c to account for multiple
++ calls to setupterm().
++ + modified the libgpm change to show previous load as a problem in the
++ debug-trace.
++ > merge some patches from OpenSUSE rpm (Werner Fink):
++ + ncurses-5.7-printw.dif, fixes for varargs handling in lib_printw.c
++ + ncurses-5.7-gpm.dif, do not dlopen libgpm if already loaded by
++ runtime linker
++ + ncurses-5.6-fallback.dif, do not free arrays and strings from static
++ fallback entries
++
++20120228
++ + fix breakage in tic/infocmp from 20120225 (report by Werner Fink).
++
++20120225
++ + modify configure script to allow creating dll's for MinGW when
++ cross-compiling.
++ + add --enable-string-hacks option to control whether strlcat and
++ strlcpy may be used. The same issue applies to OpenBSD's warnings
++ about snprintf, noting that this function is weakly standardized.
++ + add configure checks for strlcat, strlcpy and snprintf, to help
++ reduce bogus warnings with OpenBSD builds.
++ + build-fix for OpenBSD 4.9 to supply consistent intptr_t declaration
++ (cf:20111231)
++ + update config.guess, config.sub
++
++20120218
++ + correct CF_ETIP_DEFINES configure macro, making it exit properly on
++ the first success (patch by Pierre Labastie).
++ + improve configure macro CF_MKSTEMP by moving existence-check for
++ mkstemp out of the AC_TRY_RUN, to help with cross-compiles.
++ + improve configure macro CF_FUNC_POLL from luit changes to detect
++ broken implementations, e.g., with Mac OS X.
++ + add configure option --with-tparm-arg
++ + build-fix for MinGW cross-compiling, so that make_hash does not
++ depend on TTY definition (cf: 20111008).
++
++20120211
++ + make sgr for xterm-pcolor agree with other caps -TD
++ + make sgr for att5425 agree with other caps -TD
++ + make sgr for att630 agree with other caps -TD
++ + make sgr for linux entries agree with other caps -TD
++ + make sgr for tvi9065 agree with other caps -TD
++ + make sgr for ncr260vt200an agree with other caps -TD
++ + make sgr for ncr160vt100pp agree with other caps -TD
++ + make sgr for ncr260vt300an agree with other caps -TD
++ + make sgr for aaa-60-dec-rv, aaa+dec agree with other caps -TD
++ + make sgr for cygwin, cygwinDBG agree with other caps -TD
++ + add configure option --with-xterm-kbs to simplify configuration for
++ Linux versus most other systems.
++
++20120204
++ + improved tic -D option, avoid making target directory and provide
++ better diagnostics.
++
++20120128
++ + add mach-gnu (Debian #614316, patch by Samuel Thibault)
++ + add mach-gnu-color, tweaks to mach-gnu terminfo -TD
++ + make sgr for sun-color agree with smso -TD
++ + make sgr for prism9 agree with other caps -TD
++ + make sgr for icl6404 agree with other caps -TD
++ + make sgr for ofcons agree with other caps -TD
++ + make sgr for att5410v1, att4415, att620 agree with other caps -TD
++ + make sgr for aaa-unk, aaa-rv agree with other caps -TD
++ + make sgr for avt-ns agree with other caps -TD
++ + amend fix intended to separate fixups for acsc to allow "tic -cv" to
++ give verbose warnings (cf: 20110730).
++ + modify misc/gen-edit.sh to make the location of the tabset directory
++ consistent with misc/Makefile.in, i.e., using ${datadir}/tabset
++ (Debian #653435, patch by Sven Joachim).
++
++20120121
++ + add --with-lib-prefix option to allow configuring for old/new flavors
++ of OS/2 EMX.
++ + modify check for gnat version to allow for year, as used in FreeBSD
++ port.
++ + modify check_existence() in db_iterator.c to simply check if the
++ path is a directory or file, according to the need. Checking for
++ directory size also gives no usable result with OS/2 (cf: 20120107).
++ + support OS/2 kLIBC (patch by KO Myung-Han).
++
++20120114
++ + several improvements to test/movewindow.c (prompted by discussion on
++ Linux Mint forum):
++ + modify movement commands to make them continuous
++ + rewrote the test for mvderwin
++ + rewrote the test for recursive mvwin
++ + split-out reusable CF_WITH_NCURSES_ETC macro in test/configure.in
++ + updated configure macro CF_XOPEN_SOURCE, build-fixes for Mac OS X
++ and OpenBSD.
++ + regenerated html manpages.
++
++20120107
++ + various improvments for MinGW (Juergen Pfeifer):
++ + modify stat() calls to ignore the st_size member
++ + drop mk-dlls.sh script.
++ + change recommended regular expression library.
++ + modify rain.c to allow for threaded configuraton.
++ + modify tset.c to allow for case when size-change logic is not used.
++
++20111231
++ + modify toe's report when -a and -s options are combined, to add
++ a column showing which entries belong to a given database.
++ + add -s option to toe, to sort its output.
++ + modify progs/toe.c, simplifying use of db-iterator results to use
++ caching improvements from 20111001 and 20111126.
++ + correct generation of pc-files when ticlib or termlib options are
++ given to rename the corresponding tic- or tinfo-libraries (report
++ by Sven Joachim).
++
++20111224
++ + document a portability issue with tput, i.e., that scripts which work
++ with ncurses may fail in other implementations that do no parameter
++ analysis.
++ + add putty-sco entry -TD
++
++20111217
++ + review/fix places in manpages where --program-prefix configure option
++ was not being used.
++ + add -D option to infocmp, to show the database locations that it
++ could use.
++ + fix build for the special case where term-driver, ticlib and termlib
++ are all enabled. The terminal driver depends on a few features in
++ the base ncurses library, so tic's dependencies include both ncurses
++ and termlib.
++ + fix build work for term-driver when --enable-wgetch-events option is
++ enabled.
++ + use <stdint.h> types to fix some questionable casts to void*.
++
++20111210
++ + modify configure script to check if thread library provides
++ pthread_mutexattr_settype(), e.g., not provided by Solaris 2.6
++ + modify configure script to suppress check to define _XOPEN_SOURCE
++ for IRIX64, since its header files have a conflict versus
++ _SGI_SOURCE.
++ + modify configure script to add ".pc" files for tic- and
++ tinfo-libraries, which were omitted in recent change (cf: 20111126).
++ + fix inconsistent checks on $PKG_CONFIG variable in configure script.
++
++20111203
++ + modify configure-check for etip.h dependencies, supplying a temporary
++ copy of ncurses_dll.h since it is a generated file (prompted by
++ Debian #646977).
++ + modify CF_CPP_PARAM_INIT "main" function to work with current C++.
++
++20111126
++ + correct database iterator's check for duplicate entries
++ (cf: 20111001).
++ + modify database iterator to ignore $TERMCAP when it is not an
++ absolute pathname.
++ + add -D option to tic, to show the database locations that it could
++ use.
++ + improve description of database locations in tic manpage.
++ + modify the configure script to generate a list of the ".pc" files to
++ generate, rather than deriving the list from the libraries which have
++ been built (patch by Mike Frysinger).
++ + use AC_CHECK_TOOLS in preference to AC_PATH_PROGS when searching for
++ ncurses*-config, e.g., in Ada95/configure and test/configure (adapted
++ from patch by Mike Frysinger).
++
++20111119
++ + remove obsolete/conflicting fallback definition for _POSIX_SOURCE
++ from curses.priv.h, fixing a regression with IRIX64 and Tru64
++ (cf: 20110416)
++ + modify _nc_tic_dir() to ensure that its return-value is nonnull,
++ i.e., the database iterator was not initialized. This case is needed
++ to when tic is translating to termcap, rather than loading the
++ database (cf: 20111001).
++
++20111112
++ + add pccon entries for OpenBSD console (Alexei Malinin).
++ + build-fix for OpenBSD 4.9 with gcc 4.2.1, setting _XOPEN_SOURCE to
++ 600 to work around inconsistent ifdef'ing of wcstof between C and
++ C++ header files.
++ + modify capconvert script to accept more than exact match on "xterm",
++ e.g., the "xterm-*" variants, to exclude from the conversion (patch
++ by Robert Millan).
++ + add -lc_r as alternative for -lpthread, allows build of threaded code
++ in older FreeBSD machines.
++ + build-fix for MirBSD, which fails when either _XOPEN_SOURCE or
++ _POSIX_SOURCE are defined.
++ + fix a typo misc/Makefile.in, used in uninstalling pc-files.
++
++20111030
++ + modify make_db_path() to allow creating "terminfo.db" in the same
++ directory as an existing "terminfo" directory. This fixes a case
++ where switching between hashed/filesystem databases would cause the
++ new hashed database to be installed in the next best location -
++ root's home directory.
++ + add variable cf_cv_prog_gnat_correct to those passed to
++ config.status, fixing a problem with Ada95 builds (cf: 20111022).
++ + change feature test from _XPG5 to _XOPEN_SOURCE in two places, to
++ accommodate broken implementations for _XPG6.
++ + eliminate usage of NULL symbol from etip.h, to reduce header
++ interdependencies.
++ + add configure check to decide when to add _XOPEN_SOURCE define to
++ compiler options, i.e., for Solaris 10 and later (cf: 20100403).
++ This is a workaround for gcc 4.6, which fails to build the c++
++ binding if that symbol is defined by the application, due to
++ incorrectly combining the corresponding feature test macros
++ (report by Peter Kruse).
++
++20111022
++ + correct logic for discarding mouse events, retaining the partial
++ events used to build up click, double-click, etc, until needed
++ (cf: 20110917).
++ + fix configure script to avoid creating unused Ada95 makefile when
++ gnat does not work.
++ + cleanup width-related gcc 3.4.3 warnings for 64-bit platform, for the
++ internal functions of libncurses. The external interface of courses
++ uses bool, which still produces these warnings.
++
++20111015
++ + improve description of --disable-tic-depends option to make it
++ clear that it may be useful whether or not the --with-termlib
++ option is also given (report by Sven Joachim).
++ + amend termcap equivalent for set_pglen_inch to use the X/Open
++ "YI" rather than the obsolete Solaris 2.5 "sL" (cf: 990109).
++ + improve manpage for tgetent differences from termcap library.
++
++20111008
++ + moved static data from db_iterator.c to lib_data.c
++ + modify db_iterator.c for memory-leak checking, fix one leak.
++ + modify misc/gen-pkgconfig.in to use Requires.private for the parts
++ of ncurses rather than Requires, as well as Libs.private for the
++ other library dependencies (prompted by Debian #644728).
++
++20111001
++ + modify tic "-K" option to only set the strict-flag rather than force
++ source-output. That allows the same flag to control the parser for
++ input and output of termcap source.
++ + modify _nc_getent() to ignore backslash at the end of a comment line,
++ making it consistent with ncurses' parser.
++ + restore a special-case check for directory needed to make termcap
++ text files load as if they were databases (cf: 20110924).
++ + modify tic's resolution/collision checking to attempt to remove the
++ conflicting alias from the second entry in the pair, which is
++ normally following in the source file. Also improved the warning
++ message to make it simpler to see which alias is the problem.
++ + improve performance of the database iterator by caching search-list.
++
++20110925
++ + add a missing "else" in changes to _nc_read_tic_entry().
++
++20110924
++ + modify _nc_read_tic_entry() so that hashed-database is checked before
++ filesystem.
++ + updated CF_CURSES_LIBS check in test/configure script.
++ + modify configure script and makefiles to split TIC_ARGS and
++ TINFO_ARGS into pieces corresponding to LDFLAGS and LIBS variables,
++ to help separate searches for tic- and tinfo-libraries (patch by Nick
++ Alcock aka "Nix").
++ + build-fix for lib_mouse.c changes (cf: 20110917).
++
++20110917
++ + fix compiler warning for clang 2.9
++ + improve merging of mouse events (integrated patch by Damien
++ Guibouret).
++ + correct mask-check used in lib_mouse for wheel mouse buttons 4/5
++ (patch by Damien Guibouret).
++
++20110910
++ + modify misc/gen_edit.sh to select a "linux" entry which works with
++ the current kernel rather than assuming it is always "linux3.0"
++ (cf: 20110716).
++ + revert a change to getmouse() which had the undesirable side-effect
++ of suppressing button-release events (report by Damien Guibouret,
++ cf: 20100102).
++ + add xterm+kbs fragment from xterm #272 -TD
++ + add configure option --with-pkg-config-libdir to provide control over
++ the actual directory into which pc-files are installed, do not use
++ the pkg-config environment variables (discussion with Frederic L W
++ Meunier).
++ + add link to mailing-list archive in announce.html.in, as done in
++ FAQ (prompted by question by Andrius Bentkus).
++ + improve manpage install by adjusting the "#include" examples to
++ show the ncurses-subdirectory used when --disable-overwrite option
++ is used.
++ + install an alias for "curses" to the ncurses manpage, tied to the
++ --with-curses-h configure option (suggested by Reuben Thomas).
++
++20110903
++ + propagate error-returns from wresize, i.e., the internal
++ increase_size and decrease_size functions through resize_term (report
++ by Tim van der Molen, cf: 20020713).
++ + fix typo in tset manpage (patch by Sven Joachim).
++
++20110820
++ + add a check to ensure that termcap files which might have "^?" do
++ not use the terminfo interpretation as "\177".
++ + minor cleanup of X-terminal emulator section of terminfo.src -TD
++ + add terminator entry -TD
++ + add simpleterm entry -TD
++ + improve wattr_get macros by ensuring that if the window pointer is
++ null, then the attribute and color values returned will be zero
++ (cf: 20110528).
++
++20110813
++ + add substitution for $RPATH_LIST to misc/ncurses-config.in
++ + improve performance of tic with hashed-database by caching the
++ database connection, using atexit() to cleanup.
++ + modify treatment of 2-character aliases at the beginning of termcap
++ entries so they are not counted in use-resolution, since these are
++ guaranteed to be unique. Also ignore these aliases when reporting
++ the primary name of the entry (cf: 20040501)
++ + double-check gn (generic) flag in terminal descriptions to
++ accommodate old/buggy termcap databases which misused that feature.
++ + minor fixes to _nc_tgetent(), ensure buffer is initialized even on
++ error-return.
++
++20110807
++ + improve rpath fix from 20110730 by ensuring that the new $RPATH_LIST
++ variable is defined in the makefiles which use it.
++ + build-fix for DragonFlyBSD's pkgsrc in test/configure script.
++ + build-fixes for NetBSD 5.1 with termcap support enabled.
++ + corrected k9 in dg460-ansi, add other features based on manuals -TD
++ + improve trimming of whitespace at the end of terminfo/termcap output
++ from tic/infocmp.
++ + when writing termcap source, ensure that colons in the description
++ field are translated to a non-delimiter, i.e., "=".
++ + add "-0" option to tic/infocmp, to make the termcap/terminfo source
++ use a single line.
++ + add a null-pointer check when handling the $CC variable.
++
++20110730
++ + modify configure script and makefiles in c++ and progs to allow the
++ directory used for rpath option to be overridden, e.g., to work
++ around updates to the variables used by tic during an install.
++ + add -K option to tic/infocmp, to provide stricter BSD-compatibility
++ for termcap output.
++ + add _nc_strict_bsd variable in tic library which controls the
++ "strict" BSD termcap compatibility from 20110723, plus these
++ features:
++ + allow escapes such as "\8" and "\9" when reading termcap
++ + disallow "\a", "\e", "\l", "\s" and "\:" escapes when reading
++ termcap files, passing through "a", "e", etc.
++ + expand "\:" as "\072" on output.
++ + modify _nc_get_token() to reset the token's string value in case
++ there is a string-typed token lacking the "=" marker.
++ + fix a few memory leaks in _nc_tgetent.
++ + fix a few places where reading from a termcap file could refer to
++ freed memory.
++ + add an overflow check when converting terminfo/termcap numeric
++ values, since terminfo stores those in a short, and they must be
++ positive.
++ + correct internal variables used for translating to termcap "%>"
++ feature, and translating from termcap %B to terminfo, needed by
++ tctest (cf: 19991211).
++ + amend a minor fix to acsc when loading a termcap file to separate it
++ from warnings needed for tic (cf: 20040710)
++ + modify logic in _nc_read_entry() and _nc_read_tic_entry() to allow
++ a termcap file to be handled via TERMINFO_DIRS.
++ + modify _nc_infotocap() to include non-mandatory padding when
++ translating to termcap.
++ + modify _nc_read_termcap_entry(), passing a flag in the case where
++ getcap is used, to reduce interactive warning messages.
++
++20110723
++ + add a check in start_color() to limit color-pairs to 256 when
++ extended colors are not supported (patch by David Benjamin).
++ + modify setcchar to omit no-longer-needed OR'ing of color pair in
++ the SetAttr() macro (patch by David Benjamin).
++ + add kich1 to sun terminfo entry (Yuri Pankov)
++ + use bold rather than reverse for smso in sun-color terminfo entry
++ (Yuri Pankov).
++ + improve generation of termcap using tic/infocmp -C option, e.g.,
++ to correspond with 4.2BSD (prompted by discussion with Yuri Pankov
++ regarding Schilling's test program):
++ + translate %02 and %03 to %2 and %3 respectively.
++ + suppress string capabilities which use %s, not supported by tgoto
++ + use \040 rather than \s
++ + expand null characters as \200 rather than \0
++ + modify configure script to support shared libraries for DragonFlyBSD.
++
++20110716
++ + replace an assert() in _nc_Free_Argument() with a regular null
++ pointer check (report/analysis by Franjo Ivancic).
++ + modify configure --enable-pc-files option to take into account the
++ PKG_CONFIG_PATH variable (report by Frederic L W Meunier).
++ + add/use xterm+tmux chunk from xterm #271 -TD
++ + resync xterm-new entry from xterm #271 -TD
++ + add E3 extended capability to linux-basic (Miroslav Lichvar)
++ + add linux2.2, linux2.6, linux3.0 entries to give context for E3 -TD
++ + add SI/SO change to linux2.6 entry (Debian #515609) -TD
++ + fix inconsistent tabset path in pcmw (Todd C. Miller).
++ + remove a backslash which continued comment, obscuring altos3
++ definition with OpenBSD toolset (Nicholas Marriott).
++
++20110702
++ + add workaround from xterm #271 changes to ensure that compiler flags
++ are not used in the $CC variable.
++ + improve support for shared libraries, tested with AIX 5.3, 6.1 and
++ 7.1 with both gcc 4.2.4 and cc.
++ + modify configure checks for AIX to include release 7.x
++ + add loader flags/libraries to libtool options so that dynamic loading
++ works properly, adapted from ncurses-5.7-ldflags-with-libtool.patch
++ at gentoo prefix repository (patch by Michael Haubenwallner).
++
++20110626
++ + move include of nc_termios.h out of term_entry.h, since the latter
++ is installed, e.g., for tack while the former is not (report by
++ Sven Joachim).
++
++20110625
++ + improve cleanup() function in lib_tstp.c, using _exit() rather than
++ exit() and checking for SIGTERM rather than SIGQUIT (prompted by
++ comments forwarded by Nicholas Marriott).
++ + reduce name pollution from term.h, moving fallback #define's for
++ tcgetattr(), etc., to new private header nc_termios.h (report by
++ Sergio NNX).
++ + two minor fixes for tracing (patch by Vassili Courzakis).
++ + improve trace initialization by starting it in use_env() and
++ ripoffline().
++ + review old email, add details for some changelog entries.
++
++20110611
++ + update minix entry to minix 3.2 (Thomas Cort).
++ + fix a strict compiler warning in change to wattr_get (cf: 20110528).
++
++20110604
++ + fixes for MirBSD port:
++ + set default prefix to /usr.
++ + add support for shared libraries in configure script.
++ + use S_ISREG and S_ISDIR consistently, with fallback definitions.
++ + add a few more checks based on ncurses/link_test.
++ + modify MKlib_gen.sh to handle sp-funcs renaming of NCURSES_OUTC type.
++
++20110528
++ + add case to CF_SHARED_OPTS for Interix (patch by Markus Duft).
++ + used ncurses/link_test to check for behavior when the terminal has
++ not been initialized and when an application passes null pointers
++ to the library. Added checks to cover this (prompted by Redhat
++ #707344).
++ + modify MKlib_gen.sh to make its main() function call each function
++ with zero parameters, to help find inconsistent checking for null
++ pointers, etc.
++
++20110521
++ + fix warnings from clang 2.7 "--analyze"
++
++20110514
++ + compiler-warning fixes in panel and progs.
++ + modify CF_PKG_CONFIG macro, from changes to tin -TD
++ + modify CF_CURSES_FUNCS configure macro, used in test directory
++ configure script:
++ + work around (non-optimizer) bug in gcc 4.2.1 which caused
++ test-expression to be omitted from executable.
++ + force the linker to see a link-time expression of a symbol, to
++ help work around weak-symbol issues.
++
++20110507
++ + update discussion of MKfallback.sh script in INSTALL; normally the
++ script is used automatically via the configured makefiles. However
++ there are still occasions when it might be used directly by packagers
++ (report by Gunter Schaffler).
++ + modify misc/ncurses-config.in to omit the "-L" option from the
++ "--libs" output if the library directory is /usr/lib.
++ + change order of tests for curses.h versus ncurses.h headers in the
++ configure scripts for Ada95 and test-directories, to look for
++ ncurses.h, from fixes to tin -TD
++ + modify ncurses/tinfo/access.c to account for Tandem's root uid
++ (report by Joachim Schmitz).
++
++20110430
++ + modify rules in Ada95/src/Makefile.in to ensure that the PIC option
++ is not used when building a static library (report by Nicolas
++ Boulenguez):
++ + Ada95 build-fix for big-endian architectures such as sparc. This
++ undoes one of the fixes from 20110319, which added an "Unused" member
++ to representation clauses, replacing that with pragmas to suppress
++ warnings about unused bits (patch by Nicolas Boulenguez):
++
++20110423
++ + add check in test/configure for use_window, use_screen.
++ + add configure-checks for getopt's variables, which may be declared
++ as different types on some Unix systems.
++ + add check in test/configure for some legacy curses types of the
++ function pointer passed to tputs().
++ + modify init_pair() to accept -1's for color value after
++ assume_default_colors() has been called (Debian #337095).
++ + modify test/background.c, adding commmand-line options to demonstrate
++ assume_default_colors() and use_default_colors().
++
++20110416
++ + modify configure script/source-code to only define _POSIX_SOURCE if
++ the checks for sigaction and/or termios fail, and if _POSIX_C_SOURCE
++ and _XOPEN_SOURCE are undefined (report by Valentin Ochs).
++ + update config.guess, config.sub
++
++20110409
++ + fixes to build c++ binding with clang 3.0 (patch by Alexander
++ Kolesen).
++ + add check for unctrl.h in test/configure, to work around breakage in
++ some ncurses packages.
++ + add "--disable-widec" option to test/configure script.
++ + add "--with-curses-colr" and "--with-curses-5lib" options to the
++ test/configure script to address testing with very old machines.
++
+ 20110404 5.9 release for upload to ftp.gnu.org
+
+ 20110402
+@@ -100,7 +1168,7 @@
+ + modify configure script to provide value for HTML_DIR in
+ Ada95/gen/Makefile.in, which depends on whether the Ada95 binding is
+ distributed separately (report by Nicolas Boulenguez).
+- + modify configure script to add -g and/or -O3 to ADAFLAGS if the
++ + modify configure script to add "-g" and/or "-O3" to ADAFLAGS if the
+ CFLAGS for the build has these options.
+ + amend change from 20070324, to not add 1 to the result of getmaxx
+ and getmaxy in the Ada binding (report by Nicolas Boulenguez for
+@@ -155,7 +1223,7 @@
+ 20110212
+ + regenerated html manpages.
+ + use _tracef() in show_where() function of tic, to work correctly with
+- special case of trace configuration.
++ special case of trace configuration.
+
+ 20110205
+ + add xterm-utf8 entry as a demo of the U8 feature -TD
+@@ -219,7 +1287,7 @@
+ version which works with termcap.
+ + remove obsolete emacs "Local Variables" section from documentation
+ (request by Sven Joachim).
+- + update doc/html/index.html to include NCURSES-Programming-HOWTO.html
++ + update doc/html/index.html to include NCURSES-Programming-HOWTO.html
+ (report by Sven Joachim).
+
+ 20101128
+@@ -294,8 +1362,8 @@
+ Sven Joachim).
+ + add parameterized cursor-controls to linux-basic (report by Dae) -TD
+ > patch by Juergen Pfeifer:
+- + document how to build 32-bit libraries in README.MinGW
+- + fixes to filename computation in mk-dlls.sh.in
++ + document how to build 32-bit libraries in README.MinGW
++ + fixes to filename computation in mk-dlls.sh.in
+ + use POSIX locale in mk-dlls.sh.in rather than en_US (report by Sven
+ Joachim).
+ + add a check in mk-dlls.sh.in to obtain the size of a pointer to
+@@ -478,7 +1546,7 @@
+ 20100417
+ + modify _nc_capcmp() to work with cancelled strings.
+ + correct translation of "^" in _nc_infotocap(), used to transform
+- terminfo to termcap strings
++ terminfo to termcap strings
+ + add configure --disable-rpath-hack, to allow disabling the feature
+ which adds rpath options for libraries in unusual places.
+ + improve CF_RPATH_HACK_2 by checking if the rpath option for a given
+@@ -1533,8 +2601,8 @@
+ that library.
+ + add/modify null-pointer checks in several functions for SP and/or
+ the WINDOW* parameter (report by Thorben Krueger).
+- + fixes for field_buffer() in formw library (see Redhat Bugzilla
+- #310071, patches by Miroslav Lichvar).
++ + fixes for field_buffer() in formw library (see Redhat #310071,
++ patches by Miroslav Lichvar).
+ + improve performance of NCURSES_CHAR_EQ code (patch by Miroslav
+ Lichvar).
+ + update/improve mlterm and rxvt terminfo entries, e.g., for
+@@ -1645,7 +2713,7 @@
+ + modify configure script to quiet c++ build with libtool when the
+ --disable-echo option is used.
+ + modify configure script to disable ada95 if libtool is selected,
+- writing a warning message (addresses FreeBSD ports/114493).
++ writing a warning message (addresses FreeBSD #114493).
+ + update config.guess, config.sub
+
+ 20070707
+@@ -2130,8 +3198,7 @@
+ + workaround for 20050806 ifdef's change to allow visbuf.c to compile
+ when using --with-termlib --with-trace options.
+ + improve tgetstr() by making the return value point into the user's
+- buffer, if provided (patch by Miroslav Lichvar (see Redhat Bugzilla
+- #202480)).
++ buffer, if provided (patch by Miroslav Lichvar (see Redhat #202480)).
+ + correct libraries needed for foldkeys (report by Stanislav Ievlev)
+
+ 20060826
+@@ -2144,10 +3211,10 @@
+ source output (Debian #378783).
+ + modify configure script to ensure that if the C compiler is used
+ rather than the loader in making shared libraries, the $(CFLAGS)
+- variable is also used (Redhat Bugzilla #199369).
++ variable is also used (Redhat #199369).
+ + port hashed-db code to db2 and db3.
+ + fix a bug in tgetent() from 20060625 and 20060715 changes
+- (patch/analysis by Miroslav Lichvar (see Redhat Bugzilla #202480)).
++ (patch/analysis by Miroslav Lichvar (see Redhat #202480)).
+
+ 20060805
+ + updated xterm function-keys terminfo to match xterm #216 -TD
+@@ -2939,7 +4006,7 @@
+ of cur_term if the same output was selected. This now reuses it only
+ when setupterm() is called from tgetent(), which has no notion of
+ separate SCREENs. Note that tgetent() must be called after initscr()
+- or newterm() to use this feature (Redhat Bugzilla #140326).
++ or newterm() to use this feature (Redhat #140326).
+ + add a check in CF_BUILD_CC macro to ensure that developer has given
+ the --with-build-cc option when cross-compiling (report by Alexandre
+ Campo).
+@@ -3032,7 +4099,7 @@
+ entries, e.g., so it can analyze the xterm-8bit entry.
+ + add morphos terminfo entry, improve amiga-8bit entry (Pavel Fedin).
+ + correct translation of "%%" in terminfo format to termcap, e.g.,
+- using "tic -C" (Redhat Bugzilla #130921).
++ using "tic -C" (Redhat #130921).
+ + modified configure script CF_XOPEN_SOURCE macro to ensure that if
+ it defines _POSIX_C_SOURCE, that it defines it to a specific value
+ (comp.os.stratus newsgroup comment).
+@@ -3043,9 +4110,9 @@
+ However that did find a coding error in Assume_Default_Colors().
+ + modify several terminfo entries to ensure xterm mouse and cursor
+ visibility are reset in rs2 string: hurd, putty, gnome,
+- konsole-base, mlterm, Eterm, screen (Debian #265784, #55637). The
+- xterm entries are left alone - old ones for compatibility, and the
+- new ones do not require this change. -TD
++ konsole-base, mlterm, Eterm, screen (Debian #265784, Debian #55637).
++ The xterm entries are left alone - old ones for compatibility, and
++ the new ones do not require this change. -TD
+
+ 20040814
+ + fake a SIGWINCH in newterm() to accommodate buggy terminal emulators
+@@ -3076,8 +4143,8 @@
+ + modify "tic -cv" to ignore delays when comparing strings. Also
+ modify it to ignore a canceled sgr string, e.g., for terminals which
+ cannot properly combine attributes in one control sequence.
+- + corrections for gnome and konsole entries (Redhat Bugzilla #122815,
+- patch by Hans de Goede)
++ + corrections for gnome and konsole entries (Redhat #122815, patch by
++ Hans de Goede)
+ > terminfo updates -TD
+ + make ncsa-m rmacs/smacs consistent with sgr
+ + add sgr, rc/sc and ech to syscons entries
+@@ -3090,7 +4157,7 @@
+ > terminfo updates -TD
+ + add xterm-pc-fkeys
+ + review/update gnome and gnome-rh90 entries (prompted by Redhat
+- Bugzilla #122815).
++ #122815).
+ + review/update konsole entries
+ + add sgr, correct sgr0 for kterm and mlterm
+ + correct tsl string in kterm
+@@ -4204,7 +5271,7 @@
+ + add a check in kgetch() for cooked characters in the fifo to avoid
+ calling fifo_push() when a KEY_RESIZE is available (report/analysis
+ by Sam Varshavchik <mrsam@courier-mta.com>).
+- + fix an overlooked case for bugzilla #68199 (Philippe Blain).
++ + fix an overlooked case for Redhat #68199 (Philippe Blain).
+ + ensure clearerr() is called before using ferror() e.g., in
+ lib_screen.c (report by Philippe Blain).
+
+@@ -4212,7 +5279,7 @@
+ + modify lib_screen.c and lib_newwin.c to maintain the SCREEN-specific
+ pointers for curscr/stdscr/newscr when scr_save() and scr_restore()
+ modify the global curscr/stdscr/newscr variables. Fixes Redhat
+- bugzilla #68199 dated 2002-07-07.
++ #68199.
+ + add checks for null pointer in calls to tparm() and tgoto() based on
+ FreeBSD bug report. If ncurses were built with termcap support, and
+ the first call to tgoto() were a zero-length string, the result would
+@@ -4245,7 +5312,7 @@
+ Olaf Buddenhagen <olafBuddenhagen@web.de>).
+ + modified wresize() to ensure that a failed realloc will not corrupt
+ the window structure, and to make subwindows fit within the resized
+- window (completes Debian #87678, #101699)
++ window (completes Debian #87678, Debian #101699)
+
+ 20020803
+ + fix an off-by-one in lib_pad.c check for limits of pad (patch by
+@@ -4940,9 +6007,9 @@
+ which may be in libutf8.
+ + remove some unnecessary text from curs_extend.3x and
+ default_colors.3x which caused man-db to make incorrect symbolic
+- links (Debian bug report #99550).
++ links (Debian #99550).
+ + add configure check if cast for _IO_va_list is needed to compile
+- C++ vscan code (Debian bug report #97945).
++ C++ vscan code (Debian #97945).
+ > several patches from Sven Verdoolaege:
+ + correct code that used non-standard auto-initialization of a struct,
+ which gcc allows (report by Larry Virden).
+@@ -5077,7 +6144,7 @@
+ + add some examples of customizing screen's terminfo:
+ screen.xterm-xfree86, screen.xterm-r6, screen.teraterm -TD
+ + modify screen's terminfo entry to match the khome/kend in screen
+- 3.09.08 (Debian bug report #92215).
++ 3.09.08 (Debian #92215).
+ + correct a memory leak in forms library (report by Stefan Vogtner
+ <stefan@vogtner.de>) (patch by Juergen Pfeifer).
+
+@@ -5091,12 +6158,12 @@
+ + add .cc.ii rule to c++ makefile, to get preprocessor output for
+ debugging.
+ + correct configure script handling of @keyword@ substitutions when the
+- --with-manpage-renames option is given (cf: 20000715, fixes Debian
+- bug #89939).
++ --with-manpage-renames option is given (cf: 20000715, fixes Debian
++ #89939).
+ + report stack underflow/overflow in tparm() when tic -cv option is
+ given.
+ + remove spurious "%|" operator from xterm-xfree86 terminfo entry,
+- (reported by Adam Costello <amc@cs.berkeley.edu>, Debian bug #89222).
++ (reported by Adam Costello <amc@cs.berkeley.edu>, Debian #89222).
+
+ 20010310
+ + cleanup of newdemo.c, fixing some ambiguous expressions noted by gcc
+@@ -5800,7 +6867,7 @@
+ + correct spelling error in terminfo entry name: bq300-rv was given as
+ bg300-rv in esr's version.
+ + modify redrawwin() macro so its parameter is fully parenthesized
+- (fixes Debian bug report #61088).
++ (fixes Debian #61088).
+ + correct formatting error in dump_entry() which set incorrect column
+ value when no newline trimming was needed at the end of an entry,
+ before appending "use=" clauses (cf: 960406).
+@@ -6530,7 +7597,7 @@
+ handling in lynx (reported by Kim DeVaughn).
+
+ 990306 pre-release
+- + add -G option to tic and infocmp, to reverse the -g option.
++ + add -G option to tic and infocmp, to reverse the "-g" option.
+ + recode functions in name_match.c to avoid use of strncpy, which
+ caused a 4-fold slowdown in tic (cf: 980530).
+ + correct a few warnings about sign-extension in recent changes.
+@@ -6901,7 +7968,7 @@
+ since that is a little more efficient.
+ + minor correction to infocmp to avoid displaying "difference" between
+ two capabilities that are rendered in equivalent forms.
+- + add -g option to tic/infocmp to force character constants to be
++ + add "-g" option to tic/infocmp to force character constants to be
+ displayed in quoted form. Otherwise their decimal values are shown.
+ + modify setupterm so that cancelled strings are treated the same as
+ absent strings, cancelled and absent booleans false (does not affect
+@@ -8979,15 +10046,18 @@
+ + correction to #317.
+ > patch 317 (ESR):
+ + re-add _nc_hash_map
+- + modify EmitRange to maintain position as per original design.
+- + add hashtest.c, program to time the hashmap optimization.
++ + modify EmitRange to maintain position as per original design
++ (patch by A. Lukyanov).
++ + modify test/ncurses.c and tputs, etc., to allow trace counting
++ output characters.
++ + add hashtest.c program to time the hashmap optimization.
+ > patch 316 (ESR):
+ + add logic to deal with magic-cookie (how was this tested?)
+ (lib_doupdate.c).
+ + add ncurses.c driver for magic-cookie, some fixes to ncurses.c
+ > patch 315 (ESR):
+- + merged Alexander V Lukyanov's patch to use ech and rep - untested
+- (lib_doupdate.c).
++ + merge changes to lib_doupdate.c to use ech and rep - untested
++ (patch by Alexander V Lukyanov).
+ + modified handling of interrupted system calls - untested
+ (lib_getch.c, lib_twait.c).
+ + new function _nc_mvcur_resume()
+@@ -9059,12 +10129,12 @@
+ + corrected typo in dtterm description.
+ > patch 313 (ESR):
+ + add dtterm description
+- + clarify ncurses 'i' test (drop vscanf subtest)
++ + clarify ncurses 'i' test (drop mvwscanw subtest)
+
+ 960810 - snapshot
+ + correct nl()/nonl() to work as per SVr4 & XSI.
+ + minor fixes to ncurses.c (use 'noraw()', mvscanw return-code)
+- + refine configure-test for -g option (Tim Mooney).
++ + refine configure-test for "-g" option (Tim Mooney).
+ + correct interaction between O_BLANK and NEW_LINE request in form
+ library (Juergen Pfeifer)
+
+@@ -9073,7 +10143,8 @@
+ > patch 312 (ESR):
+ correct terminfo.src corrupted by #310
+ > patch 311 (ESR):
+- + fix idlok() and idcok() and the default of the idlok switch.
++ + fix idlok() and idcok() and the default of the idlok switch (report
++ by Ville Sulko).
+
+ 960803 - snapshot
+ + corrected tparm to handle capability strings without explicit pop
+@@ -9083,7 +10154,7 @@
+ > patch 310 (ESR):
+ + documentation and prototyping errors for has_color, immedok and idcok
+ (reported by William P Setzer <wsetzer@pams.ncsu.edu>)
+- + updated qnx terminfo entry (by Michael Hunter)
++ + updated qnx terminfo entry (patch by Michael Hunter)
+
+ 960730
+ + eliminate quoted includes in ncurses subdirectory, ensure config.h
+@@ -9095,7 +10166,7 @@
+ + call cbreak() in initscr(), as per XSI & SVr4.
+ + turn off hardware echo in initscr() as per XSI & SVr4
+ > patch 309 (ESR):
+- + terminfo changes (9.3.10), from BRL
++ + terminfo changes (9.3.9), from BRL
+ + add more checks to terminfo parser.
+ + add more symbols to infocmp.
+
+@@ -9114,6 +10185,7 @@
+ > patch 308 (ESR):
+ + terminfo changes (9.3.8)
+ + modified logic of error-reporting in terminfo parser
++ + fix option-processing bug in toe.
+
+ 960713 - snapshot
+ + always check for <sys/bsdtypes.h> since ISC needs it to declare
+@@ -9122,9 +10194,19 @@
+ by Juergen Pfeifer, Mike Long)
+ + add LOCAL_LDFLAGS2 symbol (Juergen Pfeifer)
+ + corrected prototype for delay_output() -- bump ABI to 3.2
+- + terminfo patches #306/307 (ESR).
++ + patch 307 (ESR):
++ + enable more translations of nonstandard caps, and document them.
++ + misc/terminfo.src update to 9.13.8
++ + patch 306 (ESR):
+ + moved logic that filters out rmul and rmso from setupterm to newterm
+ where it is less likely to interfere with termcap applications.
++ + cosmetic fixes to test/ncurses.c
++ + modify open() call in ncurses/read_entry.c to use O_RDONLY symbol
++ rather than constant (report by mib).
++ + misc/terminfo.src sgr0 and acsc changes (report by Philippe De
++ Muyter).
++ + modify ncurses/comp_parse.c so that entries containing a "+" can
++ have missing rmcup vs smcup.
+
+ 960707
+ + rollback ESR's #305 change to terminfo.src (it breaks existing
+@@ -9139,7 +10221,6 @@
+ + make lib_vidattr.c more readable using macros.
+ + filter out rmul, rmso that conflict with sgr0 when reading terminal
+ descriptions.
+- + added sanity-checking of various paired string attributes (ESR).
+ + work around autoconf bug, force $INSTALL to absolute path
+ (reported by Zeyd).
+ + modify man-page install for BSDI to install preformatted .0 files
+@@ -9152,6 +10233,12 @@
+ + disable scrollok during the ncurses 'p' test; if it is enabled the
+ stdscr will scroll when putting the box-corners in the lower-right
+ of the screen.
++ > patch 305 (ESR):
++ + added sanity-checking of various paired string attributes.
++ + misc/terminfo.src update to 9.13.7 (report by A. Lukyanov).
++ + modify man/Makefile.in to make terminfo.5 during normal build.
++ > patch 304 (ESR):
++ + corrected allocation-length for $HOME/.terminfo path.
+
+ 960629 - snapshot
+ + check return code of _nc_mvcur_scrolln() in _nc_scroll_optimize() for
+@@ -9234,6 +10321,7 @@
+ + better fix for nvi refresh-bug (Rick Marshall)
+ + fix for bug in handling of interrupted keystroke waits,
+ (Werner Fleck).
++ + misc/ncurses-intro.html syntax fix (Kajiyama Tamito).
+
+ 960601 - snapshot
+ + auto-configure man-page compression-format and renames for Debian.
+@@ -9248,7 +10336,7 @@
+ + enhancement to the control over the new PC-style soft key format.
+ allow caller now to select whether or not one wants to have
+ the index-line; see curs_slk.3x for documentation (Juergen Pfeifer).
+- + typos, don't use inline with -g (Philippe De Muyter)
++ + typos, don't use inline with "-g" (Philippe De Muyter)
+ + fixes for menus & wattr-, slk-functions (Juergen Pfeifer)
+
+ 960526 - snapshot
+@@ -9263,6 +10351,9 @@
+ + include sys/types.h in case stdlib.h does not declare size_t.
+ + fixes for makefile (Tim Mooney)
+ + fixes for menus & forms (Juergen Pfeifer)
++ > patch 302 (ESR):
++ + improve hash function (suggested by Alexander V Lukyanov).
++ + 9.13.4 update for terminfo.src
+
+ 960518 - snapshot
+ + revised ncurses.c panner test, let pad abut all 4 sides of screen.
+@@ -9275,6 +10366,8 @@
+ confusion, and made this check for the /usr/lib/terminfo pre-existing
+ directory.
+ > patches 299-301 (ESR):
++ + html fixes (Phillippe de Muyter).
++ + fix typo in ncurses-intro.html (report by Fabrizio Polacco).
+ + added hashmap.c
+ + mods to tracing, especially for ACS chars.
+ + corrected off-by-one in IDCtransform.
+@@ -9294,13 +10387,21 @@
+ > patches 297, 298 (ESR):
+ + implement TERMINFO_DIRS, and -o option of tic
+ + added TRACE_IEVENT
+- + removed boolean version of 'getm'
+- + added lib_print.c (for Rick Marshall)
+- + added has_key()
++ + fix REQ_TOGGLE_ITEM in menu/menu_driver.c; it could select but not
++ deselect.
++ + added lib_print.c (request by Rick Marshall).
++ + added has_key() (request by Juergen Pfeifer).
++ + do not issue clrtoeol or clrtobot if the relevant portion of the line
++ is already blank (analysis by Keith Bostic).
++ + add parentheses for parameters of COLOR_PAIR and PAIR_NUMBER macros
++ (analysis by Jurgen Eidt).
++ + update screen's notion of cursor position in endwin() (analysis by
++ Alexander Lukyanov).
+ + added 't' to ncurses.c test.
+ + moved delay_output() to lib_tputs.c
+ + removed tparam() (was added in 1.9.9, but conflicts with emacs and
+ is not part of X/Open Curses).
++ + removed boolean version of 'getm'.
+ + misc cursor & optimization fixes.
+
+ 960504 - snapshot
+@@ -9326,11 +10427,20 @@
+ + make TIOCGWINSZ configure test less stringent, in case user
+ configures via terminal that cannot get screen size.
+ > patches 295, 296 (ESR):
+- + new "-e" option of tic.
+- + fix for "infocmp -e".
+- + restore working-directory in read_termcap.c
+ + split lib_kernel.c, lib_setup.c and names.c in order to reduce
+ overhead for programs that use only termcap features.
++ + new "-e" and "-h" options of tic (request by Tony Nugent).
++ + fix bug in mandatory-delay logic in lib_tputs.c (report by Sven
++ Verdoolaege).
++ + fix for "infocmp -e" to emit correct initializers (reported by Manual
++ J Novoa III).
++ + restore working-directory in read_termcap.c (report by Kayvan
++ Sylvan).
++ + use "-h" option on Solaris when generating shared libraries on
++ Solaris 2.5 to record the library name in the file, for assisting
++ the loader (patch by Scott Kramer).
++ + undo patch #294 changes to form and menu libraries (request by
++ Juergen Pfeifer).
+
+ 960418 - snapshot
+ + use autoconf 2.9
+@@ -9338,10 +10448,22 @@
+ definitions via <termios.h>, modified macros in lib_raw.c to avoid
+ K&R-style substitution)
+ > patches 293, 294 (ESR):
+- + mods to wgetch() in cooked mode
+- + corrected askuser() logic in tset
+- + correct interaction of endwin() with mouse processing
++ + rewrite wsyncup(), wsyncdown(), as well as small fixes to form and
++ menu libraries to fix echo-breakage introduced by 1.8.9, 1.9.9e
++ changes (patches by Juergen Pfeifer).
++ + fix compile under QNX 4.2 by defining ONLCR in lib_raw.c when
++ __QNX__ is defined (patch by Michael Hunter).
++ + modify setupterm() to match documentation for its return value, fix
++ newterm to work with this change (report by Emmet Lazich).
++ + add checks in getch() for error, return ERR as appropriate (report by
++ Emmet Lazich).
++ + mods to wgetch() in cooked mode (report by Pete Seebach).
++ + corrected askuser() logic in tset (patch by Remco Treffkorn).
++ + correct interaction of endwin() with mouse processing (report by
++ Michael Elkins).
+ + added trace support for TTY flags
++ + update terminfo.src to 9.13.1
++ + FreeBSD console entries (patch by Andrew Chernov).
+
+ 960406
+ + fixes for NeXT, ISC and HPUX auto-configure
+Index: README
+Prereq: 1.23
+--- ncurses-5.9/README 2006-04-22 22:19:37.000000000 +0000
++++ ncurses-5.9-20130504/README 2012-08-11 20:11:26.000000000 +0000
+@@ -1,5 +1,5 @@
+ -------------------------------------------------------------------------------
+--- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. --
++-- Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. --
+ -- --
+ -- Permission is hereby granted, free of charge, to any person obtaining a --
+ -- copy of this software and associated documentation files (the --
+@@ -25,7 +25,7 @@
+ -- sale, use or other dealings in this Software without prior written --
+ -- authorization. --
+ -------------------------------------------------------------------------------
+--- $Id: README,v 1.23 2006/04/22 22:19:37 tom Exp $
++-- $Id: README,v 1.25 2012/08/11 20:11:26 tom Exp $
+ -------------------------------------------------------------------------------
+ README file for the ncurses package
+
+@@ -78,6 +78,10 @@
+ library interfaces are not binary-compatible with the non-wide-character
+ version.
+
++If you configure using the --enable-reentrant option, a "t" is appended to the
++library names (e.g., libncursest.a) and the resulting libraries have a
++different binary interface which makes the ncurses interface more "opaque".
++
+ The ncurses libraries implement the curses API. The panel, menu and forms
+ libraries implement clones of the SVr4 panel, menu and forms APIs. The source
+ code for these lives in the `ncurses', `panel', `menu', and `form' directories
+@@ -122,8 +126,9 @@
+ tic -- terminfo source to binary compiler
+ infocmp -- terminfo binary to source decompiler/comparator
+ clear -- emits clear-screen for current terminal
++ tabs -- set tabs on a terminal
+ tput -- shell-script access to terminal capabilities.
+- toe -- table of entries utility
++ toe -- table of entries utility
+ tset -- terminal-initialization utility
+
+ The first two (tic and infocmp) are used for manipulating terminfo
+@@ -153,8 +158,10 @@
+ configuration scripts, porting, mods to adhere to XSI Curses in the
+ areas of background color, terminal modes. Also memory leak testing,
+ the wresize, default colors and key definition extensions and numerous
+- bug fixes (more than half of those enumerated in NEWS beginning with
+- the internal release 1.8.9).
++ bug fixes -- more than half of those enumerated in NEWS beginning with
++ the internal release 1.8.9, see
++
++ http://invisible-island.net/personal/changelogs.html
+
+ Florian La Roche (official maintainer for FSF's ncurses 4.2)
+ Beginning with release 4.2, ncurses is distributed under an MIT-style
+Index: README.MinGW
+Prereq: 1.5
+--- ncurses-5.9/README.MinGW 2011-02-26 16:57:17.000000000 +0000
++++ ncurses-5.9-20130504/README.MinGW 2012-09-22 17:46:04.000000000 +0000
+@@ -1,5 +1,5 @@
+ -------------------------------------------------------------------------------
+--- Copyright (c) 2008-2010,2011 Free Software Foundation, Inc. --
++-- Copyright (c) 2008-2011,2012 Free Software Foundation, Inc. --
+ -- --
+ -- Permission is hereby granted, free of charge, to any person obtaining a --
+ -- copy of this software and associated documentation files (the --
+@@ -25,7 +25,7 @@
+ -- sale, use or other dealings in this Software without prior written --
+ -- authorization. --
+ -------------------------------------------------------------------------------
+--- $Id: README.MinGW,v 1.5 2011/02/26 16:57:17 tom Exp $
++-- $Id: README.MinGW,v 1.9 2012/09/22 17:46:04 tom Exp $
+ -- Author: Juergen Pfeifer
+ -------------------------------------------------------------------------------
+
+@@ -39,7 +39,7 @@
+ To build ncurses for native Windows, you need the MinGW toolchain. The
+ original MinGW toolchain from the above site is only for 32-Bit Windows. As
+ Windows Server - and also regular workstations - are moving to 64-Bit, it
+-seems to be reasonable to have a toolchain that supports both architectures.
++seems to be reasonable to have a toolchain that supports both architectures.
+ I recommend to use the TDM gcc toolchain which you can find at
+ http://tdm-gcc.tdragon.net/download. Go to the download section and select
+ the bundle installer for tdm64 (MinGW-w64). This installs a multilib version
+@@ -47,7 +47,7 @@
+ versions. It also comes with a working pthread implementation.
+
+ The latest config and build scripts we use for MinGW have only been tested
+-for the gcc-4.4 compiler toolchain (or better).
++for the gcc-4.6.1 compiler toolchain (or better).
+
+ Using MinGW is a pragmatic decision, it's the easiest way to port this
+ heavily UNIX based sourcebase to native Windows. The goal is of course
+@@ -55,22 +55,13 @@
+ common traditional development environments on Windows, mainly with
+ Microsoft Visual Studio.
+
+-If you start a bash from the MSYS environment, please make sure that the
+-Microsoft Development tools are in your PATH right after the MinGW
+-tools. The LIB.EXE tool is the only one needed. You need this only if
+-you want to build DLLs that work with native Windows programs. If you
+-don't have any Microsoft Development tools on your machine, consider
+-at least to get the free "Visual C++ 2010 Express Edition".
+-It contains the LIB.EXE tool. You may also use this compiler to test
+-writing native Windows programs using the ncurses DLLs without using
+-MinGW then for writing apps.
+-
+-It is necessary to unset the TERM environment variable, to activate the
+-Windows console-driver.
++The TERM environment variable must be set specially to active the Windows
++console-driver. The driver checks if TERM is set to "#win32con" (explicit
++use) or if TERM is unset or empty (implicit).
+
+ Please also make sure that MSYS links to the correct directory containing
+ your MinGW toolchain. For TDM this is usually C:\MinGW64. In your Windows
+-CMD.EXE command shell go to the MSYS root directory (most probably
++CMD.EXE command shell go to the MSYS root directory (most probably
+ C:\MSYS or C:\MSYS\1.0) and verify, that there is a junction point mingw
+ that points to the MinGW toolchain directory. If not, delete the mingw
+ directory and use the mklink command (or the linkd.exe utility on older
+@@ -79,62 +70,60 @@
+ This code requires WindowsNT 5.1 or better, which means on the client
+ Windows XP or better, on the server Windows Server 2003 or better.
+
+-In order to build ncurses for the planned interop layer with .NET, we
+-recommend to use these options with configure
++I recommend using libtool to build ncurses on MinGW, because libtool
++knows exactly how to build dll's on Windows for use with MinGW.
++
++To build a modern but still small footprint ncurses that provides
++hooks for interop, I recommend using these options:
+
++ --with-libtool
+ --disable-home-terminfo
+- --enable-reentrant
++ --enable-database
++ --disable-termcap
+ --enable-sp-funcs
+ --enable-term-driver
+ --enable-interop
+- --with-pthread (if using TDM toolchain as recommended)
+
+-This is the configuration commandline as I'm using it at the moment:
++This is the configuration commandline as I'm using it at the moment (assuming
++environment variable MINGW_ROOT to hold the root directory name of your MinGW
++build):
+
+ ./configure \
+- --prefix=/mingw \
+- --without-cxx-binding \
++ --prefix=$MINGW_ROOT \
++ --with-cxx \
+ --without-ada \
+ --enable-warnings \
+ --enable-assertions \
+- --enable-reentrant \
+- --with-debug \
+- --with-normal \
+ --disable-home-terminfo \
++ --enable-database \
+ --enable-sp-funcs \
+ --enable-term-driver \
+ --enable-interop \
+- --with-pthread
++ --disable-termcap \
++ --with-progs \
++ --with-libtool \
++ --enable-pc-files \
++ --mandir=$MINGW_ROOT/share/man
+
+-If you are on a 64-Bit Windows system and want to build a 32-Bit version
+-of ncurses, you may use this commandline for configuration (when using
+-the TDM toolchain):
+-
+-CC="gcc -m32" LD="ld -m32" ./configure \
+- --prefix=/mingw \
+- --without-cxx-binding \
+- --without-ada \
+- --enable-warnings \
+- --enable-assertions \
+- --enable-reentrant \
+- --with-debug \
+- --with-normal \
+- --disable-home-terminfo \
+- --enable-sp-funcs \
+- --enable-term-driver \
+- --enable-interop \
+- --with-pthread
++Please note that it is also necessary to set this environment variable:
+
+-All the options above are - like the whole Windows support -
+-experimental.
++export PATH_SEPARATOR=";"
++
++in order to parse the terminfo paths correctly. Terminfo paths should
++always be separated by a seeeemicolon,even when running under MSYS.
+
+-In order to build the DLLs, after your regular make you must call
++To support regular expressions properly, ncurses under MinGW should be
++linked against the gnurx regex library, which must be built separately
++under MinGW. See
+
+- make dlls
++ ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/libgnurx-src-2.5.zip
++
++All the options above are - like the whole Windows support -
++experimental.
+
+ A lot is still TODO, e.g.:
+
+- - Wide Character support
++ - Wide Character support (display is workable, but input untested)
+ The Win32Con driver should actually only use Unicode in the
+ future.
+ - Thread support (locking). If using TDM toolchain this is done by
+@@ -145,5 +134,5 @@
+ - Workarounds for MinGW's filesystem access are necessary to make infocmp
+ work (though tic works).
+
+-To support terminfo, we need to have an ioctl() simulation for the
+-serial and networked Terminals.
++To support terminfo, we would need to have an ioctl() simulation for the
++serial and networked terminals.
+Index: aclocal.m4
+Prereq: 1.553
+--- ncurses-5.9/aclocal.m4 2011-03-31 23:35:38.000000000 +0000
++++ ncurses-5.9-20130504/aclocal.m4 2013-04-13 22:59:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ dnl***************************************************************************
+-dnl Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++dnl Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ dnl *
+ dnl Permission is hereby granted, free of charge, to any person obtaining a *
+ dnl copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ dnl
+ dnl Author: Thomas E. Dickey 1995-on
+ dnl
+-dnl $Id: aclocal.m4,v 1.553 2011/03/31 23:35:38 tom Exp $
++dnl $Id: aclocal.m4,v 1.666 2013/04/13 22:59:35 tom Exp $
+ dnl Macros used in NCURSES auto-configuration script.
+ dnl
+ dnl These macros are maintained separately from NCURSES. The copyright on
+@@ -62,6 +62,32 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_ACVERSION_CHECK version: 4 updated: 2013/03/04 19:52:56
++dnl ------------------
++dnl Conditionally generate script according to whether we're using a given autoconf.
++dnl
++dnl $1 = version to compare against
++dnl $2 = code to use if AC_ACVERSION is at least as high as $1.
++dnl $3 = code to use if AC_ACVERSION is older than $1.
++define([CF_ACVERSION_CHECK],
++[
++ifdef([AC_ACVERSION], ,[m4_copy([m4_PACKAGE_VERSION],[AC_ACVERSION])])dnl
++ifdef([m4_version_compare],
++[m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])],
++[CF_ACVERSION_COMPARE(
++AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])),
++AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_ACVERSION_COMPARE version: 3 updated: 2012/10/03 18:39:53
++dnl --------------------
++dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1,
++dnl MAJOR2, MINOR2, TERNARY2,
++dnl PRINTABLE2, not FOUND, FOUND)
++define([CF_ACVERSION_COMPARE],
++[ifelse(builtin([eval], [$2 < $5]), 1,
++[ifelse([$8], , ,[$8])],
++[ifelse([$9], , ,[$9])])])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_ADA_INCLUDE_DIRS version: 6 updated: 2010/02/26 19:52:07
+ dnl -------------------
+ dnl Construct the list of include-options for the C programs in the Ada95
+@@ -313,76 +339,6 @@
+ }
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_ANSI_CC_CHECK version: 10 updated: 2010/10/23 15:52:32
+-dnl ----------------
+-dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
+-dnl in the sharutils 4.2 distribution.
+-AC_DEFUN([CF_ANSI_CC_CHECK],
+-[
+-AC_CACHE_CHECK(for ${CC:-cc} option to accept ANSI C, cf_cv_ansi_cc,[
+-cf_cv_ansi_cc=no
+-cf_save_CFLAGS="$CFLAGS"
+-cf_save_CPPFLAGS="$CPPFLAGS"
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc
+-# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
+-for cf_arg in "-DCC_HAS_PROTOS" \
+- "" \
+- -qlanglvl=ansi \
+- -std1 \
+- -Ae \
+- "-Aa -D_HPUX_SOURCE" \
+- -Xc
+-do
+- CF_ADD_CFLAGS($cf_arg)
+- AC_TRY_COMPILE(
+-[
+-#ifndef CC_HAS_PROTOS
+-#if !defined(__STDC__) || (__STDC__ != 1)
+-choke me
+-#endif
+-#endif
+-],[
+- int test (int i, double x);
+- struct s1 {int (*f) (int a);};
+- struct s2 {int (*f) (double a);};],
+- [cf_cv_ansi_cc="$cf_arg"; break])
+-done
+-CFLAGS="$cf_save_CFLAGS"
+-CPPFLAGS="$cf_save_CPPFLAGS"
+-])
+-
+-if test "$cf_cv_ansi_cc" != "no"; then
+-if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
+- CF_ADD_CFLAGS($cf_cv_ansi_cc)
+-else
+- AC_DEFINE(CC_HAS_PROTOS)
+-fi
+-fi
+-])dnl
+-dnl ---------------------------------------------------------------------------
+-dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54
+-dnl ---------------
+-dnl For programs that must use an ANSI compiler, obtain compiler options that
+-dnl will make it recognize prototypes. We'll do preprocessor checks in other
+-dnl macros, since tools such as unproto can fake prototypes, but only part of
+-dnl the preprocessor.
+-AC_DEFUN([CF_ANSI_CC_REQD],
+-[AC_REQUIRE([CF_ANSI_CC_CHECK])
+-if test "$cf_cv_ansi_cc" = "no"; then
+- AC_MSG_ERROR(
+-[Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto])
+-fi
+-])dnl
+-dnl ---------------------------------------------------------------------------
+ dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
+ dnl --------------
+ dnl Allow user to disable a normally-on option.
+@@ -465,7 +421,7 @@
+ AC_SUBST(ARFLAGS)
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_AWK_BIG_PRINTF version: 3 updated: 2008/12/27 12:30:03
++dnl CF_AWK_BIG_PRINTF version: 4 updated: 2011/10/30 17:09:50
+ dnl -----------------
+ dnl Check if awk can handle big strings using printf. Some older versions of
+ dnl awk choke on large strings passed via "%s".
+@@ -479,8 +435,8 @@
+ eval $2=no
+ ;;
+ *) #(vi
+- if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < $1) { xx = xx "x"; }; printf("%s\n", xx); }' \
+- | $AWK '{ printf "%d\n", length([$]0); }' | $AWK 'BEGIN { eqls=0; recs=0; } { recs++; if ([$]0 == 12000) eqls++; } END { if (recs != 1 || eqls != 1) exit 1; }' 2>/dev/null >/dev/null ) ; then
++ if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < $1) { xx = xx "x"; }; printf("%s\n", xx); }' 2>/dev/null \
++ | $AWK '{ printf "%d\n", length([$]0); }' 2>/dev/null | $AWK 'BEGIN { eqls=0; recs=0; } { recs++; if ([$]0 == 12000) eqls++; } END { if (recs != 1 || eqls != 1) exit 1; }' 2>/dev/null >/dev/null ) ; then
+ eval $2=yes
+ else
+ eval $2=no
+@@ -536,7 +492,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_BOOL_SIZE version: 12 updated: 2006/12/16 12:33:30
++dnl CF_BOOL_SIZE version: 13 updated: 2013/04/13 18:03:21
+ dnl ------------
+ dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
+ dnl Don't bother looking for bool.h, since it's been deprecated.
+@@ -570,7 +526,7 @@
+
+ #endif
+
+-main()
++int main()
+ {
+ FILE *fp = fopen("cf_test.out", "w");
+ if (fp != 0) {
+@@ -604,7 +560,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_BUILD_CC version: 6 updated: 2006/10/14 15:23:15
++dnl CF_BUILD_CC version: 7 updated: 2012/10/06 15:31:55
+ dnl -----------
+ dnl If we're cross-compiling, allow the user to override the tools and their
+ dnl options. The configure script is oriented toward identifying the host
+@@ -614,7 +570,8 @@
+ dnl $1 = default for $CPPFLAGS
+ dnl $2 = default for $LIBS
+ AC_DEFUN([CF_BUILD_CC],[
+-AC_REQUIRE([CF_PROG_EXT])
++CF_ACVERSION_CHECK(2.52,,
++ [AC_REQUIRE([CF_PROG_EXT])])
+ if test "$cross_compiling" = yes ; then
+
+ # defaults that we might want to override
+@@ -695,7 +652,33 @@
+ AC_SUBST(BUILD_OBJEXT)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CFG_DEFAULTS version: 7 updated: 2005/09/24 16:15:00
++dnl CF_CC_ENV_FLAGS version: 1 updated: 2012/10/03 05:25:49
++dnl ---------------
++dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content
++dnl into CC. This will not help with broken scripts that wrap the compiler with
++dnl options, but eliminates a more common category of user confusion.
++AC_DEFUN([CF_CC_ENV_FLAGS],
++[
++# This should have been defined by AC_PROG_CC
++: ${CC:=cc}
++
++AC_MSG_CHECKING(\$CC variable)
++case "$CC" in #(vi
++*[[\ \ ]]-[[IUD]]*)
++ AC_MSG_RESULT(broken)
++ AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
++ # humor him...
++ cf_flags=`echo "$CC" | sed -e 's/^[[^ ]]*[[ ]]//'`
++ CC=`echo "$CC" | sed -e 's/[[ ]].*//'`
++ CF_ADD_CFLAGS($cf_flags)
++ ;;
++*)
++ AC_MSG_RESULT(ok)
++ ;;
++esac
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CFG_DEFAULTS version: 9 updated: 2013/04/13 18:58:32
+ dnl ---------------
+ dnl Determine the default configuration into which we'll install ncurses. This
+ dnl can be overridden by the user's command-line options. There's two items to
+@@ -713,7 +696,7 @@
+ if test "x$prefix" = "xNONE" ; then
+ case "$cf_cv_system_name" in
+ # non-vendor systems don't have a conflict
+- openbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
++ openbsd*|freebsd*|mirbsd*|linux*|cygwin*|k*bsd*-gnu|mingw*)
+ prefix=/usr
+ ;;
+ *) prefix=$ac_default_prefix
+@@ -749,30 +732,51 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CGETENT version: 3 updated: 2000/08/12 23:18:52
++dnl CF_CGETENT version: 5 updated: 2012/10/06 17:56:13
+ dnl ----------
+ dnl Check if the terminal-capability database functions are available. If not,
+ dnl ncurses has a much-reduced version.
+ AC_DEFUN([CF_CGETENT],[
+-AC_MSG_CHECKING(for terminal-capability database functions)
+-AC_CACHE_VAL(cf_cv_cgetent,[
++AC_CACHE_CHECK(for terminal-capability database functions,cf_cv_cgetent,[
+ AC_TRY_LINK([
+ #include <stdlib.h>],[
+ char temp[128];
+ char *buf = temp;
+ char *db_array = temp;
+- cgetent(&buf, /* int *, */ &db_array, "vt100");
++ cgetent(&buf, &db_array, "vt100");
+ cgetcap(buf, "tc", '=');
+ cgetmatch(buf, "tc");
+ ],
+ [cf_cv_cgetent=yes],
+ [cf_cv_cgetent=no])
+ ])
+-AC_MSG_RESULT($cf_cv_cgetent)
+-test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT)
++
++if test "$cf_cv_cgetent" = yes
++then
++ AC_DEFINE(HAVE_BSD_CGETENT,1,[Define to 1 if we have BSD cgetent])
++AC_CACHE_CHECK(if cgetent uses const parameter,cf_cv_cgetent_const,[
++AC_TRY_LINK([
++#include <stdlib.h>],[
++ char temp[128];
++ char *buf = temp;
++#ifndef _NETBSD_SOURCE /* given, since April 2004 in stdlib.h */
++ const char *db_array = temp;
++ cgetent(&buf, &db_array, "vt100");
++#endif
++ cgetcap(buf, "tc", '=');
++ cgetmatch(buf, "tc");
++ ],
++ [cf_cv_cgetent_const=yes],
++ [cf_cv_cgetent_const=no])
++])
++ if test "$cf_cv_cgetent_const" = yes
++ then
++ AC_DEFINE_UNQUOTED(CGETENT_CONST,const,[Define to const if needed for some BSD cgetent variations])
++ fi
++fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59
++dnl CF_CHECK_CACHE version: 12 updated: 2012/10/02 20:55:03
+ dnl --------------
+ dnl Check if we're accidentally using a cache from a different machine.
+ dnl Derive the system name, as a check for reusing the autoconf cache.
+@@ -795,7 +799,7 @@
+ system_name="`(hostname) 2>/dev/null`"
+ fi
+ fi
+-test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
++test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name",[Define to the system name.])
+ AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
+
+ test -z "$system_name" && system_name="$cf_cv_system_name"
+@@ -908,7 +912,82 @@
+ fi
+ ])])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18
++dnl CF_CHECK_LIBTOOL_VERSION version: 1 updated: 2013/04/06 18:03:09
++dnl ------------------------
++dnl Show the version of libtool
++dnl
++dnl Save the version in a cache variable - this is not entirely a good thing,
++dnl but the version string from libtool is very ugly, and for bug reports it
++dnl might be useful to have the original string.
++AC_DEFUN([CF_CHECK_LIBTOOL_VERSION],[
++if test -n "$LIBTOOL" && test "$LIBTOOL" != none
++then
++ AC_MSG_CHECKING(version of $LIBTOOL)
++ CF_LIBTOOL_VERSION
++ AC_MSG_RESULT($cf_cv_libtool_version)
++ if test -z "$cf_cv_libtool_version" ; then
++ AC_MSG_ERROR(This is not GNU libtool)
++ fi
++else
++ AC_MSG_ERROR(GNU libtool has not been found)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CHECK_WCHAR_H version: 1 updated: 2011/10/29 15:01:05
++dnl ----------------
++dnl Check if wchar.h can be used, i.e., without defining _XOPEN_SOURCE_EXTENDED
++AC_DEFUN([CF_CHECK_WCHAR_H],[
++AC_CACHE_CHECK(if wchar.h can be used as is,cf_cv_wchar_h_okay,[
++AC_TRY_COMPILE(
++[
++#include <stdlib.h>
++#include <wchar.h>
++],[
++ wint_t foo = 0;
++ int bar = iswpunct(foo)],
++ [cf_cv_wchar_h_okay=yes],
++ [cf_cv_wchar_h_okay=no])])
++
++if test $cf_cv_wchar_h_okay = no
++then
++ CF_PREDEFINE(_XOPEN_SOURCE_EXTENDED)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CLANG_COMPILER version: 1 updated: 2012/06/16 14:55:39
++dnl -----------------
++dnl Check if the given compiler is really clang. clang's C driver defines
++dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does
++dnl not ignore some gcc options.
++dnl
++dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
++dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
++dnl the wrappers for gcc and g++ warnings.
++dnl
++dnl $1 = GCC (default) or GXX
++dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
++dnl $3 = CFLAGS (default) or CXXFLAGS
++AC_DEFUN([CF_CLANG_COMPILER],[
++ifelse([$2],,CLANG_COMPILER,[$2])=no
++
++if test "$ifelse([$1],,[$1],GCC)" = yes ; then
++ AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler)
++ cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
++ ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments"
++ AC_TRY_COMPILE([],[
++#ifdef __clang__
++#else
++make an error
++#endif
++],[ifelse([$2],,CLANG_COMPILER,[$2])=yes
++cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
++],[])
++ ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
++ AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2]))
++fi
++])
++dnl ---------------------------------------------------------------------------
++dnl CF_CPP_PARAM_INIT version: 6 updated: 2012/10/06 17:56:13
+ dnl -----------------
+ dnl Check if the C++ compiler accepts duplicate parameter initialization. This
+ dnl is a late feature for the standard and is not in some recent compilers
+@@ -932,7 +1011,7 @@
+ {
+ value = x;
+ }
+-void main() { }
++int main() { }
+ ],
+ [cf_cv_cpp_param_init=yes],
+ [cf_cv_cpp_param_init=no],
+@@ -940,10 +1019,10 @@
+ AC_LANG_RESTORE
+ ])
+ fi
+-test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT)
++test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT,1,[Define to 1 if C++ has parameter initialization])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CPP_STATIC_CAST version: 1 updated: 2005/07/23 16:52:43
++dnl CF_CPP_STATIC_CAST version: 3 updated: 2013/04/13 18:03:21
+ dnl ------------------
+ dnl Check if the C++ compiler accepts static_cast in generics. This appears to
+ dnl not be supported in g++ before 3.0
+@@ -965,7 +1044,7 @@
+ int begin_x = 0)
+ {
+ }
+-
++ NCursesPanel();
+ ~NCursesPanel();
+ };
+
+@@ -996,10 +1075,58 @@
+
+ fi
+
+-test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST)
++test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST,1,[Define to 1 if C++ has static_cast])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_C_INLINE version: 3 updated: 2010/05/01 15:14:41
++dnl CF_CXX_AR_FLAGS version: 1 updated: 2011/10/29 08:35:34
++dnl ---------------
++dnl Setup special archiver flags for given compilers.
++AC_DEFUN([CF_CXX_AR_FLAGS],[
++ CXX_AR='$(AR)'
++ CXX_ARFLAGS='$(ARFLAGS)'
++ case $cf_cv_system_name in #(vi
++ irix*) #(vi
++ if test "$GXX" != yes ; then
++ CXX_AR='$(CXX)'
++ CXX_ARFLAGS='-ar -o'
++ fi
++ ;;
++ sco3.2v5*) #(vi
++ CXXLDFLAGS="-u main"
++ ;;
++ solaris2*)
++ if test "$GXX" != yes ; then
++ CXX_AR='$(CXX)'
++ CXX_ARFLAGS='-xar -o'
++ fi
++ ;;
++ esac
++ AC_SUBST(CXXLDFLAGS)
++ AC_SUBST(CXX_AR)
++ AC_SUBST(CXX_ARFLAGS)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CXX_IOSTREAM_NAMESPACE version: 2 updated: 2012/10/06 17:56:13
++dnl -------------------------
++dnl For c++, check if iostream uses "std::" namespace.
++AC_DEFUN([CF_CXX_IOSTREAM_NAMESPACE],[
++AC_CHECK_HEADERS(iostream)
++if test x"$ac_cv_header_iostream" = xyes ; then
++ AC_MSG_CHECKING(if iostream uses std-namespace)
++ AC_TRY_COMPILE([
++#include <iostream>
++using std::endl;
++using std::cerr;],[
++cerr << "testing" << endl;
++],[cf_iostream_namespace=yes],[cf_iostream_namespace=no])
++ AC_MSG_RESULT($cf_iostream_namespace)
++ if test "$cf_iostream_namespace" = yes ; then
++ AC_DEFINE(IOSTREAM_NAMESPACE,1,[Define to 1 if C++ has namespace iostream])
++ fi
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_C_INLINE version: 4 updated: 2012/06/16 14:55:39
+ dnl -----------
+ dnl Check if the C compiler supports "inline".
+ dnl $1 is the name of a shell variable to set if inline is supported
+@@ -1012,6 +1139,9 @@
+ if test "$INTEL_COMPILER" = yes
+ then
+ :
++ elif test "$CLANG_COMPILER" = yes
++ then
++ :
+ elif test "$GCC" = yes
+ then
+ AC_CACHE_CHECK(if $CC supports options to tune inlining,cf_cv_gcc_inline,[
+@@ -1057,7 +1187,44 @@
+ AC_SUBST(DIRS_TO_MAKE)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_DISABLE_LEAKS version: 6 updated: 2010/07/23 04:14:32
++dnl CF_DISABLE_ECHO version: 12 updated: 2012/10/06 16:30:28
++dnl ---------------
++dnl You can always use "make -n" to see the actual options, but it's hard to
++dnl pick out/analyze warning messages when the compile-line is long.
++dnl
++dnl Sets:
++dnl ECHO_LT - symbol to control if libtool is verbose
++dnl ECHO_LD - symbol to prefix "cc -o" lines
++dnl RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o)
++dnl SHOW_CC - symbol to put before explicit "cc -c" lines
++dnl ECHO_CC - symbol to put before any "cc" line
++dnl
++AC_DEFUN([CF_DISABLE_ECHO],[
++AC_MSG_CHECKING(if you want to see long compiling messages)
++CF_ARG_DISABLE(echo,
++ [ --disable-echo do not display "compiling" commands],
++ [
++ ECHO_LT='--silent'
++ ECHO_LD='@echo linking [$]@;'
++ RULE_CC='@echo compiling [$]<'
++ SHOW_CC='@echo compiling [$]@'
++ ECHO_CC='@'
++],[
++ ECHO_LT=''
++ ECHO_LD=''
++ RULE_CC=''
++ SHOW_CC=''
++ ECHO_CC=''
++])
++AC_MSG_RESULT($enableval)
++AC_SUBST(ECHO_LT)
++AC_SUBST(ECHO_LD)
++AC_SUBST(RULE_CC)
++AC_SUBST(SHOW_CC)
++AC_SUBST(ECHO_CC)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_DISABLE_LEAKS version: 7 updated: 2012/10/02 20:55:03
+ dnl ----------------
+ dnl Combine no-leak checks with the libraries or tools that are used for the
+ dnl checks.
+@@ -1075,8 +1242,8 @@
+ AC_MSG_RESULT($with_no_leaks)
+
+ if test "$with_no_leaks" = yes ; then
+- AC_DEFINE(NO_LEAKS)
+- AC_DEFINE(YY_NO_LEAKS)
++ AC_DEFINE(NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.])
++ AC_DEFINE(YY_NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.])
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+@@ -1123,6 +1290,30 @@
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
++dnl CF_ENABLE_PC_FILES version: 9 updated: 2012/08/04 13:59:54
++dnl ------------------
++dnl This is the "--enable-pc-files" option, which is available if there is a
++dnl pkg-config configuration on the local machine.
++AC_DEFUN([CF_ENABLE_PC_FILES],[
++AC_REQUIRE([CF_PKG_CONFIG])
++AC_REQUIRE([CF_WITH_PKG_CONFIG_LIBDIR])
++
++if test "$PKG_CONFIG" != none ; then
++ AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
++ AC_ARG_ENABLE(pc-files,
++ [ --enable-pc-files generate and install .pc files for pkg-config],
++ [enable_pc_files=$enableval],
++ [enable_pc_files=no])
++ AC_MSG_RESULT($enable_pc_files)
++ if test "$enable_pc_files" != no
++ then
++ CF_PATH_SYNTAX(PKG_CONFIG_LIBDIR)
++ fi
++else
++ enable_pc_files=no
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_ENABLE_RPATH version: 2 updated: 2010/03/27 18:39:42
+ dnl ---------------
+ dnl Check if the rpath option should be used, setting cache variable
+@@ -1137,6 +1328,37 @@
+ AC_MSG_RESULT($cf_cv_enable_rpath)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_ENABLE_STRING_HACKS version: 3 updated: 2013/01/26 16:26:12
++dnl ----------------------
++dnl On a few platforms, the compiler and/or loader nags with untruthful
++dnl comments stating that "most" uses of strcat/strcpy/sprintf are incorrect,
++dnl and implying that most uses of the recommended alternatives are correct.
++dnl
++dnl Factually speaking, no one has actually counted the number of uses of these
++dnl functions versus the total of incorrect uses. Samples of a few thousand
++dnl instances are meaningless compared to the hundreds of millions of lines of
++dnl existing C code.
++dnl
++dnl strlcat/strlcpy are (as of 2012) non-standard, and are available on some
++dnl platforms, in implementations of varying quality. Likewise, snprintf is
++dnl standard - but evolved through phases, and older implementations are likely
++dnl to yield surprising results, as documented in manpages on various systems.
++AC_DEFUN([CF_ENABLE_STRING_HACKS],
++[
++AC_MSG_CHECKING(if you want to work around bogus compiler/loader warnings)
++AC_ARG_ENABLE(string-hacks,
++ [ --enable-string-hacks work around bogus compiler/loader warnings],
++ [with_string_hacks=$enableval],
++ [with_string_hacks=no])
++AC_MSG_RESULT($with_string_hacks)
++
++if test "x$with_string_hacks" = "xyes"; then
++ AC_DEFINE(USE_STRING_HACKS,1,[Define to 1 to work around bogus compiler/loader warnings])
++ AC_MSG_WARN(enabling string-hacks to work around bogus compiler/loader warnings)
++ AC_CHECK_FUNCS( strlcat strlcpy snprintf )
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39
+ dnl --------
+ dnl Check if 'errno' is declared in <errno.h>
+@@ -1145,7 +1367,7 @@
+ CF_CHECK_ERRNO(errno)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_ETIP_DEFINES version: 3 updated: 2003/03/22 19:13:43
++dnl CF_ETIP_DEFINES version: 5 updated: 2012/02/18 17:51:07
+ dnl ---------------
+ dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between
+ dnl math.h and builtin.h, only for ncurses
+@@ -1154,11 +1376,17 @@
+ AC_MSG_CHECKING(for special defines needed for etip.h)
+ cf_save_CXXFLAGS="$CXXFLAGS"
+ cf_result="none"
++
++# etip.h includes ncurses.h which includes ncurses_dll.h
++# But ncurses_dll.h is generated - fix here.
++test -d include || mkdir include
++test -f include/ncurses_dll.h || sed -e 's/@NCURSES_WRAP_PREFIX@/'$NCURSES_WRAP_PREFIX'/g' ${srcdir}/include/ncurses_dll.h.in >include/ncurses_dll.h
++
+ for cf_math in "" MATH_H
+ do
+ for cf_excp in "" MATH_EXCEPTION
+ do
+- CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include"
++ CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -Iinclude -I${srcdir}/include"
+ test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
+ test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
+ AC_TRY_COMPILE([
+@@ -1167,7 +1395,7 @@
+ test -n "$cf_math" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_math})
+ test -n "$cf_excp" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_excp})
+ cf_result="$cf_math $cf_excp"
+- break
++ break 2
+ ],[])
+ done
+ done
+@@ -1305,7 +1533,35 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_FUNC_DLSYM version: 2 updated: 2010/05/29 16:31:02
++dnl CF_FIXUP_ADAFLAGS version: 1 updated: 2012/03/31 18:48:10
++dnl -----------------
++dnl make ADAFLAGS consistent with CFLAGS
++AC_DEFUN([CF_FIXUP_ADAFLAGS],[
++ AC_MSG_CHECKING(optimization options for ADAFLAGS)
++ case "$CFLAGS" in
++ *-g*)
++ CF_ADD_ADAFLAGS(-g)
++ ;;
++ esac
++ case "$CFLAGS" in
++ *-O*)
++ cf_O_flag=`echo "$CFLAGS" |sed -e 's/^.*-O/-O/' -e 's/[[ ]].*//'`
++ CF_ADD_ADAFLAGS($cf_O_flag)
++ ;;
++ esac
++ AC_MSG_RESULT($ADAFLAGS)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_FORGET_TOOL version: 1 updated: 2013/04/06 18:03:09
++dnl --------------
++dnl Forget that we saw the given tool.
++AC_DEFUN([CF_FORGET_TOOL],[
++unset ac_cv_prog_ac_ct_$1
++unset ac_ct_$1
++unset $1
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_FUNC_DLSYM version: 3 updated: 2012/10/06 11:17:15
+ dnl -------------
+ dnl Test for dlsym() and related functions, as well as libdl.
+ dnl
+@@ -1332,7 +1588,7 @@
+ dlclose(obj);
+ }
+ }],[
+- AC_DEFINE(HAVE_LIBDL)],[
++ AC_DEFINE(HAVE_LIBDL,1,[Define to 1 if we have dl library])],[
+ AC_MSG_ERROR(Cannot link test program for libdl)])
+ AC_MSG_RESULT(ok)
+ else
+@@ -1340,7 +1596,7 @@
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_FUNC_MEMMOVE version: 7 updated: 2006/12/16 12:33:30
++dnl CF_FUNC_MEMMOVE version: 8 updated: 2012/10/04 20:12:20
+ dnl ---------------
+ dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither
+ dnl is found, add our own version of memmove to the list of objects.
+@@ -1365,13 +1621,13 @@
+ ])
+ ],[cf_cv_good_bcopy=no])
+ if test "$cf_cv_good_bcopy" = yes ; then
+- AC_DEFINE(USE_OK_BCOPY)
++ AC_DEFINE(USE_OK_BCOPY,1,[Define to 1 to use bcopy when memmove is unavailable])
+ else
+- AC_DEFINE(USE_MY_MEMMOVE)
++ AC_DEFINE(USE_MY_MEMMOVE,1,[Define to 1 to use replacement function when memmove is unavailable])
+ fi
+ ])])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_FUNC_NANOSLEEP version: 3 updated: 2006/12/16 12:33:30
++dnl CF_FUNC_NANOSLEEP version: 4 updated: 2012/10/06 17:56:13
+ dnl -----------------
+ dnl Check for existence of workable nanosleep() function. Some systems, e.g.,
+ dnl AIX 4.x, provide a non-working version.
+@@ -1402,7 +1658,7 @@
+ [cf_cv_func_nanosleep=no],
+ [cf_cv_func_nanosleep=unknown])])
+
+-test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP)
++test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP,1,[Define to 1 if we have nanosleep()])
+ ])
+ dnl ---------------------------------------------------------------------------
+ dnl CF_FUNC_OPENPTY version: 3 updated: 2010/05/29 16:31:02
+@@ -1433,14 +1689,17 @@
+ ])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_FUNC_POLL version: 4 updated: 2006/12/16 12:33:30
++dnl CF_FUNC_POLL version: 8 updated: 2012/10/04 05:24:07
+ dnl ------------
+ dnl See if the poll function really works. Some platforms have poll(), but
+ dnl it does not work for terminals or files.
+ AC_DEFUN([CF_FUNC_POLL],[
+ AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
+ AC_TRY_RUN([
++#include <stdlib.h>
+ #include <stdio.h>
++#include <unistd.h>
++#include <fcntl.h>
+ #ifdef HAVE_POLL_H
+ #include <poll.h>
+ #else
+@@ -1450,19 +1709,42 @@
+ struct pollfd myfds;
+ int ret;
+
+- myfds.fd = 0;
++ /* check for Darwin bug with respect to "devices" */
++ myfds.fd = open("/dev/null", 1); /* O_WRONLY */
++ if (myfds.fd < 0)
++ myfds.fd = 0;
+ myfds.events = POLLIN;
++ myfds.revents = 0;
+
+ ret = poll(&myfds, 1, 100);
+- ${cf_cv_main_return:-return}(ret != 0);
++
++ if (ret < 0 || (myfds.revents & POLLNVAL)) {
++ ret = -1;
++ } else {
++ int fd = 0;
++ if (!isatty(fd)) {
++ fd = open("/dev/tty", 2); /* O_RDWR */
++ }
++
++ if (fd >= 0) {
++ /* also check with standard input */
++ myfds.fd = fd;
++ myfds.events = POLLIN;
++ myfds.revents = 0;
++ ret = poll(&myfds, 1, 100);
++ } else {
++ ret = -1;
++ }
++ }
++ ${cf_cv_main_return:-return}(ret < 0);
+ }],
+ [cf_cv_working_poll=yes],
+ [cf_cv_working_poll=no],
+ [cf_cv_working_poll=unknown])])
+-test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL)
++test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL,1,[Define to 1 if the poll function seems to work])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_FUNC_TERMIOS version: 2 updated: 2000/07/22 23:37:24
++dnl CF_FUNC_TERMIOS version: 3 updated: 2012/10/06 17:56:13
+ dnl ---------------
+ dnl Some old/broken variations define tcgetattr() only as a macro in
+ dnl termio(s).h
+@@ -1488,10 +1770,10 @@
+ tcgetattr(1, &foo);],
+ [cf_cv_have_tcgetattr=yes],
+ [cf_cv_have_tcgetattr=no])])
+-test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR)
++test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR,1,[Define to 1 if we have tcgetattr])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_FUNC_VSSCANF version: 3 updated: 2001/12/19 00:50:10
++dnl CF_FUNC_VSSCANF version: 4 updated: 2012/10/06 17:56:13
+ dnl ---------------
+ dnl Check for vsscanf() function, which is in c9x but generally not in earlier
+ dnl versions of C. It is in the GNU C library, and can often be simulated by
+@@ -1529,14 +1811,14 @@
+ cf_cv_func_vsscanf=no])])])])
+
+ case $cf_cv_func_vsscanf in #(vi
+-vsscanf) AC_DEFINE(HAVE_VSSCANF);; #(vi
+-vfscanf) AC_DEFINE(HAVE_VFSCANF);; #(vi
+-_doscan) AC_DEFINE(HAVE__DOSCAN);;
++vsscanf) AC_DEFINE(HAVE_VSSCANF,1,[Define to 1 if we have vsscanf]);; #(vi
++vfscanf) AC_DEFINE(HAVE_VFSCANF,1,[Define to 1 if we have vfscanf]);; #(vi
++_doscan) AC_DEFINE(HAVE__DOSCAN,1,[Define to 1 if we have _doscan]);;
+ esac
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_ATTRIBUTES version: 14 updated: 2010/10/23 15:52:32
++dnl CF_GCC_ATTRIBUTES version: 16 updated: 2012/10/02 20:55:03
+ dnl -----------------
+ dnl Test for availability of useful gcc __attribute__ directives to quiet
+ dnl compiler warnings. Though useful, not all are supported -- and contrary
+@@ -1614,27 +1896,27 @@
+ test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
+ cat conftest.h >>confdefs.h
+ case $cf_attribute in #(vi
++ noreturn) #(vi
++ AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc])
++ ;;
+ printf) #(vi
+- if test "$cf_printf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+-EOF
++ cf_value='/* nothing */'
++ if test "$cf_printf_attribute" != no ; then
++ cf_value='__attribute__((format(printf,fmt,var)))'
++ AC_DEFINE(GCC_PRINTF,1,[Define to 1 if the compiler supports gcc-like printf attribute.])
+ fi
++ AC_DEFINE_UNQUOTED(GCC_PRINTFLIKE(fmt,var),$cf_value,[Define to printf-attribute for gcc])
+ ;;
+ scanf) #(vi
+- if test "$cf_scanf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+-EOF
++ cf_value='/* nothing */'
++ if test "$cf_scanf_attribute" != no ; then
++ cf_value='__attribute__((format(scanf,fmt,var)))'
++ AC_DEFINE(GCC_SCANF,1,[Define to 1 if the compiler supports gcc-like scanf attribute.])
+ fi
++ AC_DEFINE_UNQUOTED(GCC_SCANFLIKE(fmt,var),$cf_value,[Define to sscanf-attribute for gcc])
++ ;;
++ unused) #(vi
++ AC_DEFINE_UNQUOTED(GCC_UNUSED,$cf_directive,[Define to unused-attribute for gcc])
+ ;;
+ esac
+ fi
+@@ -1646,7 +1928,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_VERSION version: 5 updated: 2010/04/24 11:02:31
++dnl CF_GCC_VERSION version: 7 updated: 2012/10/18 06:46:33
+ dnl --------------
+ dnl Find version of gcc
+ AC_DEFUN([CF_GCC_VERSION],[
+@@ -1654,13 +1936,13 @@
+ GCC_VERSION=none
+ if test "$GCC" = yes ; then
+ AC_MSG_CHECKING(version of $CC)
+- GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
++ GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[[^)]]*) //' -e 's/^.*(Debian[[^)]]*) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
+ test -z "$GCC_VERSION" && GCC_VERSION=unknown
+ AC_MSG_RESULT($GCC_VERSION)
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_WARNINGS version: 27 updated: 2010/10/23 15:52:32
++dnl CF_GCC_WARNINGS version: 29 updated: 2012/06/16 14:55:39
+ dnl ---------------
+ dnl Check if the compiler supports useful warning options. There's a few that
+ dnl we don't use, simply because they're too noisy:
+@@ -1683,6 +1965,7 @@
+ [
+ AC_REQUIRE([CF_GCC_VERSION])
+ CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
++CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS)
+
+ cat > conftest.$ac_ext <<EOF
+ #line __oline__ "${as_me:-configure}"
+@@ -1758,6 +2041,13 @@
+ continue;;
+ esac
+ ;;
++ Wpointer-arith) #(vi
++ case $GCC_VERSION in
++ [[12]].*)
++ CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
++ continue;;
++ esac
++ ;;
+ esac
+ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+ fi
+@@ -1769,6 +2059,29 @@
+ AC_SUBST(EXTRA_CFLAGS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_GETOPT_HEADER version: 5 updated: 2012/10/06 16:39:58
++dnl ----------------
++dnl Check for getopt's variables which are commonly defined in stdlib.h,
++dnl unistd.h or (nonstandard) in getopt.h
++AC_DEFUN([CF_GETOPT_HEADER],
++[
++AC_HAVE_HEADERS(unistd.h getopt.h)
++AC_CACHE_CHECK(for header declaring getopt variables,cf_cv_getopt_header,[
++cf_cv_getopt_header=none
++for cf_header in stdio.h stdlib.h unistd.h getopt.h
++do
++AC_TRY_COMPILE([
++#include <$cf_header>],
++[int x = optind; char *y = optarg],
++[cf_cv_getopt_header=$cf_header
++ break])
++done
++])
++if test $cf_cv_getopt_header != none ; then
++ AC_DEFINE(HAVE_GETOPT_HEADER,1,[Define to 1 if we need to include getopt.h])
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_GNAT_GENERICS version: 2 updated: 2011/03/23 20:24:41
+ dnl ----------------
+ AC_DEFUN([CF_GNAT_GENERICS],
+@@ -2040,7 +2353,7 @@
+ rm -rf conftest* *~conftest*
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GNAT_VERSION version: 17 updated: 2011/03/23 20:24:41
++dnl CF_GNAT_VERSION version: 18 updated: 2012/01/21 19:28:10
+ dnl ---------------
+ dnl Verify version of GNAT.
+ AC_DEFUN([CF_GNAT_VERSION],
+@@ -2052,7 +2365,7 @@
+ AC_MSG_RESULT($cf_gnat_version)
+
+ case $cf_gnat_version in #(vi
+-3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*) #(vi
++3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|20[[0-9]][[0-9]]) #(vi
+ cf_cv_prog_gnat_correct=yes
+ ;;
+ *)
+@@ -2092,7 +2405,7 @@
+ test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GPP_LIBRARY version: 10 updated: 2010/05/29 16:31:02
++dnl CF_GPP_LIBRARY version: 11 updated: 2012/10/06 17:56:13
+ dnl --------------
+ dnl If we're trying to use g++, test if libg++ is installed (a rather common
+ dnl problem :-). If we have the compiler but no library, we'll be able to
+@@ -2119,9 +2432,9 @@
+ [cf_cxx_library=yes
+ CF_ADD_LIB($cf_gpp_libname,CXXLIBS)
+ if test "$cf_gpp_libname" = cpp ; then
+- AC_DEFINE(HAVE_GPP_BUILTIN_H)
++ AC_DEFINE(HAVE_GPP_BUILTIN_H,1,[Define to 1 if we have gpp builtin.h])
+ else
+- AC_DEFINE(HAVE_GXX_BUILTIN_H)
++ AC_DEFINE(HAVE_GXX_BUILTIN_H,1,[Define to 1 if we have g++ builtin.h])
+ fi],
+ [AC_TRY_LINK([
+ #include <builtin.h>
+@@ -2129,28 +2442,28 @@
+ [two_arg_error_handler_t foo2 = lib_error_handler],
+ [cf_cxx_library=yes
+ CF_ADD_LIB($cf_gpp_libname,CXXLIBS)
+- AC_DEFINE(HAVE_BUILTIN_H)],
++ AC_DEFINE(HAVE_BUILTIN_H,1,[Define to 1 if we have builtin.h])],
+ [cf_cxx_library=no])])
+ LIBS="$cf_save"
+ AC_MSG_RESULT($cf_cxx_library)
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GXX_VERSION version: 6 updated: 2010/10/23 15:44:18
++dnl CF_GXX_VERSION version: 7 updated: 2012/06/16 14:55:39
+ dnl --------------
+ dnl Check for version of g++
+ AC_DEFUN([CF_GXX_VERSION],[
+ AC_REQUIRE([AC_PROG_CPP])
+ GXX_VERSION=none
+ if test "$GXX" = yes; then
+- AC_MSG_CHECKING(version of g++)
++ AC_MSG_CHECKING(version of ${CXX:-g++})
+ GXX_VERSION="`${CXX:-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
+ test -z "$GXX_VERSION" && GXX_VERSION=unknown
+ AC_MSG_RESULT($GXX_VERSION)
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GXX_WARNINGS version: 6 updated: 2010/08/14 18:25:37
++dnl CF_GXX_WARNINGS version: 7 updated: 2012/06/16 14:55:39
+ dnl ---------------
+ dnl Check if the compiler supports useful warning options.
+ dnl
+@@ -2173,6 +2486,7 @@
+ [
+
+ CF_INTEL_COMPILER(GXX,INTEL_CPLUSPLUS,CXXFLAGS)
++CF_CLANG_COMPILER(GXX,CLANG_CPLUSPLUS,CXXFLAGS)
+
+ AC_REQUIRE([CF_GXX_VERSION])
+
+@@ -2464,7 +2778,7 @@
+ [AC_DIVERT_HELP([$1])dnl
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_INCLUDE_DIRS version: 6 updated: 2009/01/06 19:37:40
++dnl CF_INCLUDE_DIRS version: 7 updated: 2012/11/10 19:15:05
+ dnl ---------------
+ dnl Construct the list of include-options according to whether we're building
+ dnl in the source directory or using '--srcdir=DIR' option. If we're building
+@@ -2472,25 +2786,25 @@
+ dnl since that usually breaks gcc's shadow-includes.
+ AC_DEFUN([CF_INCLUDE_DIRS],
+ [
+-CPPFLAGS="$CPPFLAGS -I. -I../include"
+-if test "$srcdir" != "."; then
+- CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
+-fi
+ if test "$GCC" != yes; then
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ elif test "$includedir" != "/usr/include"; then
+ if test "$includedir" = '${prefix}/include' ; then
+ if test $prefix != /usr ; then
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ fi
+ else
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ fi
+ fi
++if test "$srcdir" != "."; then
++ CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
++fi
++CPPFLAGS="-I. -I../include $CPPFLAGS"
+ AC_SUBST(CPPFLAGS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_INTEL_COMPILER version: 4 updated: 2010/05/26 05:38:42
++dnl CF_INTEL_COMPILER version: 5 updated: 2013/02/10 10:41:05
+ dnl -----------------
+ dnl Check if the given compiler is really the Intel compiler for Linux. It
+ dnl tries to imitate gcc, but does not return an error when it finds a mismatch
+@@ -2504,6 +2818,7 @@
+ dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
+ dnl $3 = CFLAGS (default) or CXXFLAGS
+ AC_DEFUN([CF_INTEL_COMPILER],[
++AC_REQUIRE([AC_CANONICAL_HOST])
+ ifelse([$2],,INTEL_COMPILER,[$2])=no
+
+ if test "$ifelse([$1],,[$1],GCC)" = yes ; then
+@@ -2527,7 +2842,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_ISASCII version: 3 updated: 2000/08/12 23:18:52
++dnl CF_ISASCII version: 4 updated: 2012/10/06 17:56:13
+ dnl ----------
+ dnl Check if we have either a function or macro for 'isascii()'.
+ AC_DEFUN([CF_ISASCII],
+@@ -2539,10 +2854,10 @@
+ [cf_cv_have_isascii=no])
+ ])dnl
+ AC_MSG_RESULT($cf_cv_have_isascii)
+-test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
++test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII,1,[Define to 1 if we have isascii()])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50
++dnl CF_LARGEFILE version: 8 updated: 2012/10/06 08:57:51
+ dnl ------------
+ dnl Add checks for large file support.
+ AC_DEFUN([CF_LARGEFILE],[
+@@ -2576,12 +2891,12 @@
+ [cf_cv_struct_dirent64=yes],
+ [cf_cv_struct_dirent64=no])
+ ])
+- test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64)
++ test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64,1,[Define to 1 if we have struct dirent64])
+ fi
+ ])
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LDFLAGS_STATIC version: 8 updated: 2010/10/23 14:39:56
++dnl CF_LDFLAGS_STATIC version: 10 updated: 2011/09/24 12:51:48
+ dnl -----------------
+ dnl Check for compiler/linker flags used to temporarily force usage of static
+ dnl libraries. This depends on the compiler and platform. Use this to help
+@@ -2602,7 +2917,7 @@
+ esac
+ else
+ case $cf_cv_system_name in #(
+- aix[[456]]*) #( from ld manpage
++ aix[[4-7]]*) #( from ld manpage
+ LDFLAGS_STATIC=-bstatic
+ LDFLAGS_SHARED=-bdynamic
+ ;;
+@@ -2652,7 +2967,17 @@
+ int cf_ldflags_static(FILE *fp);
+ ],[
+ return cf_ldflags_static(stdin);
+-],[cf_ldflags_static=yes],[cf_ldflags_static=no])
++],[
++ # some linkers simply ignore the -dynamic
++ case x`file conftest$ac_exeext 2>/dev/null` in #(vi
++ *static*) # (vi
++ cf_ldflags_static=no
++ ;;
++ *)
++ cf_ldflags_static=yes
++ ;;
++ esac
++],[cf_ldflags_static=no])
+
+ rm -f libconftest.*
+ LIBS="$cf_save_LIBS"
+@@ -2673,7 +2998,7 @@
+ AC_SUBST(LDFLAGS_SHARED)
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LD_RPATH_OPT version: 3 updated: 2010/06/02 05:03:05
++dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41
+ dnl ---------------
+ dnl For the given system and compiler, find the compiler flags to pass to the
+ dnl loader to use the "rpath" feature.
+@@ -2694,10 +3019,10 @@
+ linux*|gnu*|k*bsd*-gnu) #(vi
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+-openbsd[[2-9]].*) #(vi
++openbsd[[2-9]].*|mirbsd*) #(vi
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+-freebsd*) #(vi
++dragonfly*|freebsd*) #(vi
+ LD_RPATH_OPT="-rpath "
+ ;;
+ netbsd*) #(vi
+@@ -2756,11 +3081,23 @@
+ $1="$cf_library_path_list [$]$1"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LIB_PREFIX version: 8 updated: 2008/09/13 11:34:16
++dnl CF_LIBTOOL_VERSION version: 1 updated: 2013/04/06 18:03:09
++dnl ------------------
++AC_DEFUN([CF_LIBTOOL_VERSION],[
++if test -n "$LIBTOOL" && test "$LIBTOOL" != none
++then
++ cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
++else
++ cf_cv_libtool_version=
++fi
++test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_LIB_PREFIX version: 9 updated: 2012/01/21 19:28:10
+ dnl -------------
+ dnl Compute the library-prefix for the given host system
+ dnl $1 = variable to set
+-AC_DEFUN([CF_LIB_PREFIX],
++define([CF_LIB_PREFIX],
+ [
+ case $cf_cv_system_name in #(vi
+ OS/2*|os2*) #(vi
+@@ -2773,11 +3110,11 @@
+ AC_SUBST(LIB_PREFIX)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LIB_RULES version: 61 updated: 2010/10/23 16:10:30
++dnl CF_LIB_RULES version: 72 updated: 2013/03/24 17:10:41
+ dnl ------------
+ dnl Append definitions and rules for the given models to the subdirectory
+ dnl Makefiles, and the recursion rule for the top-level Makefile. If the
+-dnl subdirectory is a library-source directory, modify the LIBS_TO_MAKE list in
++dnl subdirectory is a library-source directory, modify the Libs_To_Make list in
+ dnl the corresponding makefile to list the models that we'll generate.
+ dnl
+ dnl For shared libraries, make a list of symbolic links to construct when
+@@ -2786,15 +3123,19 @@
+ dnl lib<name>.so ->
+ dnl lib<name>.so.<major> ->
+ dnl lib<name>.so.<maj>.<minor>
++dnl
++dnl Note: Libs_To_Make is mixed case, since it is not a pure autoconf variable.
+ AC_DEFUN([CF_LIB_RULES],
+ [
+-CF_LIB_PREFIX(cf_prefix)
++cf_prefix=$LIB_PREFIX
+ AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
+
+-if test $cf_cv_shlib_version = cygdll ; then
++case $cf_cv_shlib_version in #(vi
++cygdll|mingw)
+ TINFO_NAME=$TINFO_ARG_SUFFIX
+ TINFO_SUFFIX=.dll
+-fi
++ ;;
++esac
+
+ if test -n "$TINFO_SUFFIX" ; then
+ case $TINFO_SUFFIX in
+@@ -2820,79 +3161,73 @@
+ elif test -f $srcdir/$cf_dir/modules; then
+
+ SHARED_LIB=
+- LIBS_TO_MAKE=
++ Libs_To_Make=
+ for cf_item in $cf_LIST_MODELS
+ do
+ CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
++ cf_libname=$cf_dir
++ test "$cf_dir" = c++ && cf_libname=ncurses++
+ if test $cf_item = shared ; then
+- if test "$cf_cv_do_symlinks" = yes ; then
+- case "$cf_cv_shlib_version" in #(vi
+- rel) #(vi
+- case "$cf_cv_system_name" in #(vi
+- darwin*)
+- case .${LIB_SUFFIX} in
+- .tw*)
+- cf_suffix=`echo $cf_suffix | sed 's/^tw//'`
+- cf_suffix=tw'.${REL_VERSION}'"$cf_suffix"
+- ;;
+- .t*)
+- cf_suffix=`echo $cf_suffix | sed 's/^t//'`
+- cf_suffix=t'.${REL_VERSION}'"$cf_suffix"
+- ;;
+- .w*)
+- cf_suffix=`echo $cf_suffix | sed 's/^w//'`
+- cf_suffix=w'.${REL_VERSION}'"$cf_suffix"
++ if test -n "${LIB_SUFFIX}"
++ then
++ cf_shared_suffix=`echo "$cf_suffix" | sed 's/^'"${LIB_SUFFIX}"'//'`
++ else
++ cf_shared_suffix="$cf_suffix"
++ fi
++ if test "$cf_cv_do_symlinks" = yes ; then
++ cf_version_name=
++
++ case "$cf_cv_shlib_version" in #(vi
++ rel) #(vi
++ cf_version_name=REL_VERSION
+ ;;
+- *)
+- cf_suffix='.${REL_VERSION}'"$cf_suffix"
++ abi)
++ cf_version_name=ABI_VERSION
+ ;;
+ esac
+- ;; #(vi
+- *) cf_suffix="$cf_suffix"'.${REL_VERSION}' ;;
+- esac
++
++ if test -n "$cf_version_name"
++ then
++ case "$cf_cv_system_name" in #(vi
++ darwin*)
++ # "w", etc?
++ cf_suffix="${LIB_SUFFIX}"'.${'$cf_version_name'}'"$cf_shared_suffix"
++ ;; #(vi
++ *)
++ cf_suffix="$cf_suffix"'.${'$cf_version_name'}'
++ ;;
++ esac
++ fi
++ if test -n "${LIB_SUFFIX}"
++ then
++ cf_shared_suffix=`echo "$cf_suffix" | sed 's/^'"${LIB_SUFFIX}"'//'`
++ else
++ cf_shared_suffix="$cf_suffix"
++ fi
++ fi
++ # cygwin needs import library, and has unique naming convention
++ # use autodetected ${cf_prefix} for import lib and static lib, but
++ # use 'cyg' prefix for shared lib.
++ case $cf_cv_shlib_version in #(vi
++ cygdll) #(vi
++ cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
++ Libs_To_Make="$Libs_To_Make ../lib/cyg${cf_libname}${cf_cygsuf}"
++ continue
+ ;;
+- abi)
+- case "$cf_cv_system_name" in #(vi
+- darwin*)
+- case .${LIB_SUFFIX} in
+- .tw*)
+- cf_suffix=`echo $cf_suffix | sed 's/^tw//'`
+- cf_suffix=tw'.${ABI_VERSION}'"$cf_suffix"
+- ;;
+- .t*)
+- cf_suffix=`echo $cf_suffix | sed 's/^t//'`
+- cf_suffix=t'.${ABI_VERSION}'"$cf_suffix"
+- ;;
+- .w*)
+- cf_suffix=`echo $cf_suffix | sed 's/^w//'`
+- cf_suffix=w'.${ABI_VERSION}'"$cf_suffix"
+- ;;
+- *)
+- cf_suffix='.${ABI_VERSION}'"$cf_suffix"
+- ;;
+- esac
+- ;; #(vi
+- *) cf_suffix="$cf_suffix"'.${ABI_VERSION}' ;;
+- esac
++ mingw)
++ cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
++ Libs_To_Make="$Libs_To_Make ../lib/lib${cf_libname}${cf_cygsuf}"
++ continue
+ ;;
+ esac
+ fi
+- # cygwin needs import library, and has unique naming convention
+- # use autodetected ${cf_prefix} for import lib and static lib, but
+- # use 'cyg' prefix for shared lib.
+- if test $cf_cv_shlib_version = cygdll ; then
+- cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
+- LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/cyg${cf_dir}${cf_cygsuf}"
+- continue
+- fi
+- fi
+- LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}"
++ Libs_To_Make="$Libs_To_Make ../lib/${cf_prefix}${cf_libname}${cf_suffix}"
+ done
+
+ if test $cf_dir = ncurses ; then
+ cf_subsets="$LIB_SUBSETS"
+ cf_r_parts="$cf_subsets"
+- cf_liblist="$LIBS_TO_MAKE"
++ cf_liblist="$Libs_To_Make"
+
+ while test -n "$cf_r_parts"
+ do
+@@ -2912,7 +3247,7 @@
+ ;;
+ esac
+ if test -n "$cf_item"; then
+- LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
++ Libs_To_Make="$cf_item $Libs_To_Make"
+ fi
+ else
+ break
+@@ -2922,13 +3257,40 @@
+ cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
+ fi
+
+- sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \
++ if test $cf_dir = c++; then
++ if test "x$with_shared_cxx" != xyes && test -n "$cf_shared_suffix"; then
++ cf_list=
++ for cf_item in $Libs_To_Make
++ do
++ case $cf_item in
++ *.a)
++ ;;
++ *)
++ cf_item=`echo "$cf_item" | sed -e "s,"$cf_shared_suffix",.a,"`
++ ;;
++ esac
++ for cf_test in $cf_list
++ do
++ if test "$cf_test" = "$cf_item"
++ then
++ cf_LIST_MODELS=`echo "$cf_LIST_MODELS" | sed -e 's/normal//'`
++ cf_item=
++ break
++ fi
++ done
++ test -n "$cf_item" && cf_list="$cf_list $cf_item"
++ done
++ Libs_To_Make="$cf_list"
++ fi
++ fi
++
++ sed -e "s%@Libs_To_Make@%$Libs_To_Make%" \
+ -e "s%@SHARED_LIB@%$SHARED_LIB%" \
+ $cf_dir/Makefile >$cf_dir/Makefile.out
+ mv $cf_dir/Makefile.out $cf_dir/Makefile
+
+ $AWK -f $srcdir/mk-0th.awk \
+- libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \
++ libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" ticlib="$TICS_LIB_SUFFIX" termlib="$TINFO_LIB_SUFFIX" \
+ $srcdir/$cf_dir/modules >>$cf_dir/Makefile
+
+ for cf_subset in $cf_subsets
+@@ -2936,8 +3298,23 @@
+ cf_subdirs=
+ for cf_item in $cf_LIST_MODELS
+ do
++
+ echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
+ CF_UPPER(cf_ITEM,$cf_item)
++
++ CXX_MODEL=$cf_ITEM
++ if test "$CXX_MODEL" = SHARED; then
++ case $cf_cv_shlib_version in #(vi
++ cygdll|mingw) #(vi
++ test "x$with_shared_cxx" = xno && CF_VERBOSE(overriding CXX_MODEL to SHARED)
++ with_shared_cxx=yes
++ ;;
++ *)
++ test "x$with_shared_cxx" = xno && CXX_MODEL=NORMAL
++ ;;
++ esac
++ fi
++
+ CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
+ CF_OBJ_SUBDIR($cf_item,cf_subdir)
+
+@@ -2955,6 +3332,8 @@
+ cf_libname=$TICS_LIB_SUFFIX
+ ;;
+ esac
++ elif test $cf_dir = c++ ; then
++ cf_libname=ncurses++$LIB_SUFFIX
+ else
+ cf_libname=${cf_libname}$LIB_SUFFIX
+ fi
+@@ -3006,10 +3385,12 @@
+ name=${cf_libname}${cf_dir_suffix} \
+ traces=$LIB_TRACING \
+ MODEL=$cf_ITEM \
++ CXX_MODEL=$CXX_MODEL \
+ model=$cf_subdir \
+ prefix=$cf_prefix \
+ suffix=$cf_suffix \
+ subset=$cf_subset \
++ driver=$cf_cv_term_driver \
+ SymLink="$LN_S" \
+ TermlibRoot=$TINFO_NAME \
+ TermlibSuffix=$TINFO_SUFFIX \
+@@ -3048,7 +3429,7 @@
+ done
+ fi
+
+- echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >>Makefile
++ echo ' cd '$cf_dir' && ${MAKE} ${TOP_MFLAGS} [$]@' >>Makefile
+ done
+
+ for cf_dir in $SRC_SUBDIRS
+@@ -3063,7 +3444,7 @@
+ echo 'libs \' >> Makefile
+ echo 'install.libs \' >> Makefile
+ echo 'uninstall.libs ::' >> Makefile
+- echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >> Makefile
++ echo ' cd '$cf_dir' && ${MAKE} ${TOP_MFLAGS} [$]@' >> Makefile
+ ;;
+ esac
+ fi
+@@ -3086,7 +3467,7 @@
+ uninstall.libs \\
+ install.$cf_dir \\
+ uninstall.$cf_dir ::
+- cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@
++ cd $cf_dir && \${MAKE} \${TOP_MFLAGS} \[$]@
+ CF_EOF
+ elif test -f $srcdir/$cf_dir/headers; then
+ cat >> Makefile <<CF_EOF
+@@ -3096,7 +3477,7 @@
+ uninstall.libs \\
+ install.includes \\
+ uninstall.includes ::
+- cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@
++ cd $cf_dir && \${MAKE} \${TOP_MFLAGS} \[$]@
+ CF_EOF
+ fi
+ done
+@@ -3105,7 +3486,7 @@
+
+ install.libs uninstall.libs \\
+ install.data uninstall.data ::
+-$MAKE_TERMINFO cd misc && \${MAKE} \${CF_MFLAGS} \[$]@
++$MAKE_TERMINFO cd misc && \${MAKE} \${TOP_MFLAGS} \[$]@
+ CF_EOF
+
+ if test "x$cf_with_manpages" = xyes; then
+@@ -3113,7 +3494,7 @@
+
+ install.man \\
+ uninstall.man ::
+- cd man && \${MAKE} \${CF_MFLAGS} \[$]@
++ cd man && \${MAKE} \${TOP_MFLAGS} \[$]@
+ CF_EOF
+ fi
+
+@@ -3134,7 +3515,7 @@
+
+ install.man \\
+ uninstall.man ::
+- cd tack && \${MAKE} \${CF_MFLAGS} \[$]@
++ cd tack && \${MAKE} \${TOP_MFLAGS} \[$]@
+ CF_EOF
+ fi
+ fi
+@@ -3252,7 +3633,7 @@
+ fi
+ fi
+ done
+-AC_SUBST(LIBS_TO_MAKE)
++AC_SUBST(Libs_To_Make)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_LIB_SONAME version: 5 updated: 2010/08/14 18:25:37
+@@ -3292,7 +3673,7 @@
+ ])
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LIB_SUFFIX version: 16 updated: 2008/12/27 12:30:03
++dnl CF_LIB_SUFFIX version: 18 updated: 2012/02/25 15:20:07
+ dnl -------------
+ dnl Compute the library file-suffix from the given model name
+ dnl $1 = model name
+@@ -3321,11 +3702,11 @@
+ ;;
+ shared) #(vi
+ case $cf_cv_system_name in
+- aix[[56]]*) #(vi
++ aix[[5-7]]*) #(vi
+ $2='.a'
+ $3=[$]$2
+ ;;
+- cygwin*) #(vi
++ cygwin*|mingw*) #(vi
+ $2='.dll'
+ $3='.dll.a'
+ ;;
+@@ -3372,7 +3753,7 @@
+ test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LINK_DATAONLY version: 9 updated: 2009/01/01 20:21:38
++dnl CF_LINK_DATAONLY version: 10 updated: 2012/10/06 17:41:51
+ dnl ----------------
+ dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
+ dnl only data (i.e., no functions), for example NeXT. On those systems we'll
+@@ -3429,13 +3810,13 @@
+ AC_MSG_RESULT($cf_cv_link_dataonly)
+
+ if test "$cf_cv_link_dataonly" = no ; then
+- AC_DEFINE(BROKEN_LINKER)
++ AC_DEFINE(BROKEN_LINKER,1,[if data-only library module does not link])
+ BROKEN_LINKER=1
+ fi
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_LINK_FUNCS version: 7 updated: 2006/12/16 12:33:30
++dnl CF_LINK_FUNCS version: 8 updated: 2012/10/06 17:56:13
+ dnl -------------
+ dnl Most Unix systems have both link and symlink, a few don't have symlink.
+ dnl A few non-Unix systems implement symlink, but not link.
+@@ -3487,23 +3868,11 @@
+ done
+ test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
+ ])
+- test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK)
+- test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
++ test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK,1,[Define to 1 if we have link() function])
++ test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK,1,[Define to 1 if we have symlink() function])
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_MAIN_RETURN version: 1 updated: 2006/12/10 09:51:54
+-dnl --------------
+-dnl Check if a return from main to the shell actually returns the same exit
+-dnl code. This is true for almost any POSIX environment.
+-dnl
+-dnl Some very old environments did not flush stdout, etc., on an exit. That
+-dnl would be a useful case to test for also.
+-AC_DEFUN([CF_MAIN_RETURN],
+-[
+-cf_cv_main_return=return
+-])dnl
+-dnl ---------------------------------------------------------------------------
+ dnl CF_MAKEFLAGS version: 14 updated: 2011/03/31 19:29:46
+ dnl ------------
+ dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
+@@ -3799,7 +4168,7 @@
+ AC_MSG_RESULT($MANPAGE_TBL)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_MAN_PAGES version: 39 updated: 2010/10/23 15:44:18
++dnl CF_MAN_PAGES version: 43 updated: 2013/02/09 12:53:45
+ dnl ------------
+ dnl Try to determine if the man-pages on the system are compressed, and if
+ dnl so, what format is used. Use this information to construct a script that
+@@ -3856,6 +4225,7 @@
+ # this script is generated by the configure-script CF_MAN_PAGES macro.
+
+ prefix="$cf_prefix"
++datarootdir="$datarootdir"
+ datadir="$datadir"
+
+ NCURSES_MAJOR="$NCURSES_MAJOR"
+@@ -3916,11 +4286,12 @@
+ if test ! -f $cf_man_alias ; then
+ cat >>$cf_man_alias <<-CF_EOF2
+ s,@DATADIR@,\$datadir,g
+- s,@TERMINFO@,\$TERMINFO,g
+- s,@NCURSES_MAJOR@,\$NCURSES_MAJOR,g
+- s,@NCURSES_MINOR@,\$NCURSES_MINOR,g
+- s,@NCURSES_PATCH@,\$NCURSES_PATCH,g
+- s,@NCURSES_OSPEED@,\$NCURSES_OSPEED,g
++ s,@TERMINFO@,\${TERMINFO:="no default value"},g
++ s,@TERMINFO_DIRS@,\${TERMINFO_DIRS:="no default value"},g
++ s,@NCURSES_MAJOR@,\${NCURSES_MAJOR:="no default value"},g
++ s,@NCURSES_MINOR@,\${NCURSES_MINOR:="no default value"},g
++ s,@NCURSES_PATCH@,\${NCURSES_PATCH:="no default value"},g
++ s,@NCURSES_OSPEED@,\${NCURSES_OSPEED:="no default value"},g
+ CF_EOF
+ ifelse($1,,,[
+ for cf_name in $1
+@@ -3949,7 +4320,9 @@
+
+ if test "$MANPAGE_ALIASES" != no ; then
+ cat >>$cf_edit_man <<CF_EOF
+- aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u\`
++ nCurses=ignore.3x
++ test $with_curses_h = yes && nCurses=ncurses.3x
++ aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u; test \$inalias = \$nCurses && echo curses\`
+ CF_EOF
+ fi
+
+@@ -3995,6 +4368,13 @@
+ fi
+ CF_EOF
+
++if test $with_overwrite != yes ; then
++cat >>$cf_edit_man <<CF_EOF
++ sed -e "/\#[ ]*include/s,<curses.h,<ncurses$LIB_SUFFIX/curses.h," < \$TMP >\$TMP.out
++ mv \$TMP.out \$TMP
++CF_EOF
++fi
++
+ if test $with_curses_h != yes ; then
+ cat >>$cf_edit_man <<CF_EOF
+ sed -e "/\#[ ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
+@@ -4154,7 +4534,7 @@
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
++dnl CF_MIXEDCASE_FILENAMES version: 4 updated: 2012/10/02 20:55:03
+ dnl ----------------------
+ dnl Check if the file-system supports mixed-case filenames. If we're able to
+ dnl create a lowercase name and see it as uppercase, it doesn't support that.
+@@ -4181,10 +4561,10 @@
+ rm -f conftest CONFTEST
+ fi
+ ])
+-test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
++test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if filesystem supports mixed-case filenames.])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_MKSTEMP version: 7 updated: 2010/08/14 18:25:37
++dnl CF_MKSTEMP version: 9 updated: 2012/10/03 04:34:49
+ dnl ----------
+ dnl Check for a working mkstemp. This creates two files, checks that they are
+ dnl successfully created and distinct (AmigaOS apparently fails on the last).
+@@ -4226,11 +4606,13 @@
+ }
+ ],[cf_cv_func_mkstemp=yes
+ ],[cf_cv_func_mkstemp=no
+-],[AC_CHECK_FUNC(mkstemp)
+-])
++],[cf_cv_func_mkstemp=maybe])
+ ])
++if test "x$cf_cv_func_mkstemp" = xmaybe ; then
++ AC_CHECK_FUNC(mkstemp)
++fi
+ if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
+- AC_DEFINE(HAVE_MKSTEMP)
++ AC_DEFINE(HAVE_MKSTEMP,1,[Define to 1 if mkstemp() is available and working.])
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+@@ -4258,14 +4640,14 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
++dnl CF_NO_LEAKS_OPTION version: 5 updated: 2012/10/02 20:55:03
+ dnl ------------------
+ dnl see CF_WITH_NO_LEAKS
+ AC_DEFUN([CF_NO_LEAKS_OPTION],[
+ AC_MSG_CHECKING(if you want to use $1 for testing)
+ AC_ARG_WITH($1,
+ [$2],
+- [AC_DEFINE($3)ifelse([$4],,[
++ [AC_DEFINE_UNQUOTED($3,1,"Define to 1 if you want to use $1 for testing.")ifelse([$4],,[
+ $4
+ ])
+ : ${with_cflags:=-g}
+@@ -4326,20 +4708,23 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PATHSEP version: 5 updated: 2010/05/26 05:38:42
++dnl CF_PATHSEP version: 6 updated: 2012/09/29 18:38:12
+ dnl ----------
+-dnl Provide a value for the $PATH and similar separator
++dnl Provide a value for the $PATH and similar separator (or amend the value
++dnl as provided in autoconf 2.5x).
+ AC_DEFUN([CF_PATHSEP],
+ [
++ AC_MSG_CHECKING(for PATH separator)
+ case $cf_cv_system_name in
+ os2*) PATH_SEPARATOR=';' ;;
+- *) PATH_SEPARATOR=':' ;;
++ *) ${PATH_SEPARATOR:=':'} ;;
+ esac
+ ifelse([$1],,,[$1=$PATH_SEPARATOR])
+ AC_SUBST(PATH_SEPARATOR)
++ AC_MSG_RESULT($PATH_SEPARATOR)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PATH_SYNTAX version: 13 updated: 2010/05/26 05:38:42
++dnl CF_PATH_SYNTAX version: 14 updated: 2012/06/19 20:58:54
+ dnl --------------
+ dnl Check the argument to see that it looks like a pathname. Rewrite it if it
+ dnl begins with one of the prefix/exec_prefix variables, and then again if the
+@@ -4359,7 +4744,7 @@
+ ;;
+ .[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
+ ;;
+-.\[$]{*prefix}*) #(vi
++.\[$]{*prefix}*|.\[$]{*dir}*) #(vi
+ eval $1="[$]$1"
+ case ".[$]$1" in #(vi
+ .NONE/*)
+@@ -4376,7 +4761,7 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PKG_CONFIG version: 4 updated: 2011/02/18 20:26:24
++dnl CF_PKG_CONFIG version: 7 updated: 2011/04/29 04:53:22
+ dnl -------------
+ dnl Check for the package-config program, unless disabled by command-line.
+ AC_DEFUN([CF_PKG_CONFIG],
+@@ -4393,7 +4778,9 @@
+ PKG_CONFIG=none
+ ;;
+ yes) #(vi
+- AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)
++ CF_ACVERSION_CHECK(2.52,
++ [AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)],
++ [AC_PATH_PROG(PKG_CONFIG, pkg-config, none)])
+ ;;
+ *)
+ PKG_CONFIG=$withval
+@@ -4554,6 +4941,19 @@
+ test -z "$AWK" && AC_MSG_ERROR(No awk program found)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_PROG_CC version: 3 updated: 2012/10/06 15:31:55
++dnl ----------
++dnl standard check for CC, plus followup sanity checks
++dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name
++AC_DEFUN([CF_PROG_CC],[
++ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)])
++CF_GCC_VERSION
++CF_ACVERSION_CHECK(2.52,
++ [AC_PROG_CC_STDC],
++ [CF_ANSI_CC_REQD])
++CF_CC_ENV_FLAGS
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_PROG_CC_C_O version: 3 updated: 2010/08/14 18:25:37
+ dnl --------------
+ dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that
+@@ -4593,31 +4993,6 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PROG_CC_U_D version: 1 updated: 2005/07/14 16:59:30
+-dnl --------------
+-dnl Check if C (preprocessor) -U and -D options are processed in the order
+-dnl given rather than by type of option. Some compilers insist on apply all
+-dnl of the -U options after all of the -D options. Others allow mixing them,
+-dnl and may predefine symbols that conflict with those we define.
+-AC_DEFUN([CF_PROG_CC_U_D],
+-[
+-AC_CACHE_CHECK(if $CC -U and -D options work together,cf_cv_cc_u_d_options,[
+- cf_save_CPPFLAGS="$CPPFLAGS"
+- CPPFLAGS="-UU_D_OPTIONS -DU_D_OPTIONS -DD_U_OPTIONS -UD_U_OPTIONS"
+- AC_TRY_COMPILE([],[
+-#ifndef U_D_OPTIONS
+-make an undefined-error
+-#endif
+-#ifdef D_U_OPTIONS
+-make a defined-error
+-#endif
+- ],[
+- cf_cv_cc_u_d_options=yes],[
+- cf_cv_cc_u_d_options=no])
+- CPPFLAGS="$cf_save_CPPFLAGS"
+-])
+-])dnl
+-dnl ---------------------------------------------------------------------------
+ dnl CF_PROG_EGREP version: 1 updated: 2006/09/16 11:40:59
+ dnl -------------
+ dnl AC_PROG_EGREP was introduced in autoconf 2.53.
+@@ -4633,32 +5008,7 @@
+ test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
+-dnl -----------
+-dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
+-AC_DEFUN([CF_PROG_EXT],
+-[
+-AC_REQUIRE([CF_CHECK_CACHE])
+-case $cf_cv_system_name in
+-os2*)
+- CFLAGS="$CFLAGS -Zmt"
+- CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
+- CXXFLAGS="$CXXFLAGS -Zmt"
+- # autoconf's macro sets -Zexe and suffix both, which conflict:w
+- LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
+- ac_cv_exeext=.exe
+- ;;
+-esac
+-
+-AC_EXEEXT
+-AC_OBJEXT
+-
+-PROG_EXT="$EXEEXT"
+-AC_SUBST(PROG_EXT)
+-test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
+-])dnl
+-dnl ---------------------------------------------------------------------------
+-dnl CF_PROG_GNAT version: 1 updated: 2010/06/19 15:22:18
++dnl CF_PROG_GNAT version: 2 updated: 2011/10/22 14:01:47
+ dnl ------------
+ dnl Check for gnatmake, ensure that it is complete.
+ AC_DEFUN([CF_PROG_GNAT],[
+@@ -4666,6 +5016,7 @@
+ AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
+ if test "$ac_cv_prog_gnat_exists" = no; then
+ cf_ada_make=
++ cf_cv_prog_gnat_correct=no
+ else
+ CF_GNAT_VERSION
+ AC_CHECK_PROG(M4_exists, m4, yes, no)
+@@ -4709,7 +5060,7 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PROG_LDCONFIG version: 2 updated: 2008/12/13 14:08:40
++dnl CF_PROG_LDCONFIG version: 3 updated: 2011/06/04 20:09:13
+ dnl ----------------
+ dnl Check for ldconfig, needed to fixup shared libraries that would be built
+ dnl and then used in the install.
+@@ -4718,7 +5069,7 @@
+ LDCONFIG=:
+ else
+ case "$cf_cv_system_name" in #(vi
+-dragonfly*|freebsd*) #(vi
++dragonfly*|mirbsd*|freebsd*) #(vi
+ test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
+ ;;
+ *) LDPATH=$PATH:/sbin:/usr/sbin
+@@ -4759,7 +5110,7 @@
+ test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_REGEX version: 8 updated: 2010/08/07 14:09:44
++dnl CF_REGEX version: 10 updated: 2012/10/04 20:12:20
+ dnl --------
+ dnl Attempt to determine if we've got one of the flavors of regular-expression
+ dnl code that we can support.
+@@ -4771,7 +5122,7 @@
+ cf_regex_libs="regex re"
+ case $host_os in #(vi
+ mingw*)
+- cf_regex_libs="regex.dll $cf_regex_libs"
++ cf_regex_libs="gnurx $cf_regex_libs"
+ ;;
+ esac
+
+@@ -4833,9 +5184,9 @@
+
+ case $cf_cv_regex_hdrs in #(vi
+ no) AC_MSG_WARN(no regular expression header found) ;; #(vi
+- regex.h) AC_DEFINE(HAVE_REGEX_H_FUNCS) ;; #(vi
+- regexp.h) AC_DEFINE(HAVE_REGEXP_H_FUNCS) ;; #(vi
+- regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS) ;;
++ regex.h) AC_DEFINE(HAVE_REGEX_H_FUNCS,1,[Define to 1 to include regex.h for regular expressions]) ;; #(vi
++ regexp.h) AC_DEFINE(HAVE_REGEXP_H_FUNCS,1,[Define to 1 to include regexp.h for regular expressions]) ;; #(vi
++ regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS,1,[Define to 1 to include regexpr.h for regular expressions]) ;;
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+@@ -4984,7 +5335,7 @@
+ AC_SUBST(EXTRA_LDFLAGS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SHARED_OPTS version: 64 updated: 2010/06/05 16:51:16
++dnl CF_SHARED_OPTS version: 72 updated: 2013/01/26 16:26:12
+ dnl --------------
+ dnl --------------
+ dnl Attempt to determine the appropriate CC/LD options for creating a shared
+@@ -5040,6 +5391,7 @@
+ AC_MSG_RESULT($cf_cv_shlib_version)
+
+ cf_cv_rm_so_locs=no
++ cf_try_cflags=
+
+ # Some less-capable ports of gcc support only -fpic
+ CC_SHARED_OPTS=
+@@ -5059,10 +5411,14 @@
+ cf_cv_shlib_version_infix=no
+
+ case $cf_cv_system_name in #(vi
+- aix[[56]]*) #(vi
++ aix4.[3-9]*|aix[[5-7]]*) #(vi
+ if test "$GCC" = yes; then
+ CC_SHARED_OPTS=
+- MK_SHARED_LIB='$(CC) -shared'
++ MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
++ else
++ # CC_SHARED_OPTS='-qpic=large -G'
++ # perhaps "-bM:SRE -bnoentry -bexpall"
++ MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
+ fi
+ ;;
+ beos*) #(vi
+@@ -5088,7 +5444,7 @@
+ chmod +x mk_shared_lib.sh
+ ;;
+ darwin*) #(vi
+- EXTRA_CFLAGS="-no-cpp-precomp"
++ cf_try_cflags="no-cpp-precomp"
+ CC_SHARED_OPTS="-dynamic"
+ MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
+@@ -5102,6 +5458,14 @@
+ LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
+ fi
+ ;;
++ hpux[[7-8]]*) #(vi
++ # HP-UX 8.07 ld lacks "+b" option used for libdir search-list
++ if test "$GCC" != yes; then
++ CC_SHARED_OPTS='+Z'
++ fi
++ MK_SHARED_LIB='${LD} -b -o $[@]'
++ INSTALL_LIB="-m 555"
++ ;;
+ hpux*) #(vi
+ # (tested with gcc 2.7.2 -- I don't have c89)
+ if test "$GCC" = yes; then
+@@ -5115,9 +5479,19 @@
+ # readonly to exploit a quirk in the memory manager.
+ INSTALL_LIB="-m 555"
+ ;;
++ interix*)
++ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
++ if test "$cf_cv_shlib_version" = rel; then
++ cf_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}'
++ else
++ cf_shared_soname='`basename $@`'
++ fi
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o $@'
++ ;;
+ irix*) #(vi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ # tested with IRIX 5.2 and 'cc'.
+ if test "$GCC" != yes; then
+@@ -5134,18 +5508,39 @@
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ CF_SHARED_SONAME
+ MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
+ ;;
+- openbsd[[2-9]].*) #(vi
++ mingw*) #(vi
++ cf_cv_shlib_version=mingw
++ cf_cv_shlib_version_infix=mingw
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
++ #MK_SHARED_LIB='${CC} ${CFLAGS} -mdll -Wl,-soname,'$cf_cv_shared_soname',-stats -o $[@]'
++ #MK_SHARED_LIB='${DLLTOOL} --export-all-symbols --output-exp --output-lib $[@]'
++ cat >mk_shared_lib.sh <<-CF_EOF
++ #!/bin/sh
++ SHARED_LIB=\[$]1
++ IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
++ shift
++ cat <<-EOF
++ Linking shared library
++ ** SHARED_LIB \[$]SHARED_LIB
++ ** IMPORT_LIB \[$]IMPORT_LIB
++EOF
++ exec \[$]* -shared -Wl,--out-implib=../lib/\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\[$]{SHARED_LIB}
++CF_EOF
++ chmod +x mk_shared_lib.sh
++ ;;
++ openbsd[[2-9]].*|mirbsd*) #(vi
+ if test "$DFT_LWR_MODEL" = "shared" ; then
+ LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+ CF_SHARED_SONAME
+@@ -5156,12 +5551,12 @@
+ MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+ ;;
+- freebsd*) #(vi
++ dragonfly*|freebsd*) #(vi
+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+ LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+- LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${libdir} $LOCAL_LDFLAGS"
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ CF_SHARED_SONAME
+ MK_SHARED_LIB='${LD} -shared -Bshareable -soname=`basename $[@]` -o $[@]'
+@@ -5171,7 +5566,7 @@
+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+ LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ if test "$cf_cv_shlib_version" = auto; then
+ if test -f /usr/libexec/ld.elf_so; then
+ cf_cv_shlib_version=abi
+@@ -5276,10 +5671,40 @@
+ ;;
+ esac
+
+- if test -n "$cf_ld_rpath_opt" ; then
+- MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}"
++ if test -n "$cf_try_cflags"
++ then
++cat > conftest.$ac_ext <<EOF
++#line __oline__ "${as_me:-configure}"
++#include <stdio.h>
++int main(int argc, char *argv[[]])
++{
++ printf("hello\n");
++ return (argv[[argc-1]] == 0) ;
++}
++EOF
++ cf_save_CFLAGS="$CFLAGS"
++ for cf_opt in $cf_try_cflags
++ do
++ CFLAGS="$cf_save_CFLAGS -$cf_opt"
++ AC_MSG_CHECKING(if CFLAGS option -$cf_opt works)
++ if AC_TRY_EVAL(ac_compile); then
++ AC_MSG_RESULT(yes)
++ cf_save_CFLAGS="$CFLAGS"
++ else
++ AC_MSG_RESULT(no)
++ fi
++ done
++ CFLAGS="$cf_save_CFLAGS"
+ fi
+
++
++ # RPATH_LIST is a colon-separated list of directories
++ test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}"
++ test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}"
++
++ CF_VERBOSE(CC_SHARED_OPTS: $CC_SHARED_OPTS)
++ CF_VERBOSE(MK_SHARED_LIB: $MK_SHARED_LIB)
++
+ AC_SUBST(CC_SHARED_OPTS)
+ AC_SUBST(LD_RPATH_OPT)
+ AC_SUBST(LD_SHARED_OPTS)
+@@ -5290,6 +5715,7 @@
+ AC_SUBST(LOCAL_LDFLAGS)
+ AC_SUBST(LOCAL_LDFLAGS2)
+ AC_SUBST(INSTALL_LIB)
++ AC_SUBST(RPATH_LIST)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43
+@@ -5369,7 +5795,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SIG_ATOMIC_T version: 2 updated: 2005/09/18 17:27:12
++dnl CF_SIG_ATOMIC_T version: 3 updated: 2012/10/04 20:12:20
+ dnl ---------------
+ dnl signal handler, but there are some gcc depedencies in that recommendation.
+ dnl Try anyway.
+@@ -5401,10 +5827,10 @@
+ done
+ ])
+ AC_MSG_RESULT($cf_cv_sig_atomic_t)
+-test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t)
++test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t,[Define to signal global datatype])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16
++dnl CF_SIZECHANGE version: 9 updated: 2012/10/06 11:17:15
+ dnl -------------
+ dnl Check for definitions & structures needed for window size-changing
+ dnl FIXME: check that this works with "snake" (HP-UX 10.x)
+@@ -5465,7 +5891,7 @@
+ done
+ ])
+ if test "$cf_cv_sizechange" != no ; then
+- AC_DEFINE(HAVE_SIZECHANGE)
++ AC_DEFINE(HAVE_SIZECHANGE,1,[Define to 1 if sizechar declarations are provided])
+ case $cf_cv_sizechange in #(vi
+ NEED*)
+ AC_DEFINE_UNQUOTED($cf_cv_sizechange )
+@@ -5474,7 +5900,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SRC_MODULES version: 21 updated: 2010/09/04 17:37:40
++dnl CF_SRC_MODULES version: 26 updated: 2012/01/07 15:08:24
+ dnl --------------
+ dnl For each parameter, test if the source-directory exists, and if it contains
+ dnl a 'modules' file. If so, add to the list $cf_cv_src_modules which we'll
+@@ -5497,6 +5923,7 @@
+ TEST_ARG2="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARG2"
+ fi
+
++PC_MODULES_TO_MAKE="ncurses${DFT_ARG_SUFFIX}"
+ cf_cv_src_modules=
+ for cf_dir in $1
+ do
+@@ -5535,6 +5962,7 @@
+ TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS"
+ TEST_ARG2="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARG2"
+ fi
++ PC_MODULES_TO_MAKE="${PC_MODULES_TO_MAKE} ${cf_dir}${DFT_ARG_SUFFIX}"
+ fi
+ fi
+ done
+@@ -5562,10 +5990,18 @@
+ SRC_SUBDIRS="$SRC_SUBDIRS test"
+ fi
+ test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc"
+-test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++"
++if test "$cf_with_cxx_binding" != no; then
++ PC_MODULES_TO_MAKE="${PC_MODULES_TO_MAKE} ncurses++${DFT_ARG_SUFFIX}"
++ SRC_SUBDIRS="$SRC_SUBDIRS c++"
++fi
++
++test "x$with_termlib" != xno && PC_MODULES_TO_MAKE="$PC_MODULES_TO_MAKE $TINFO_ARG_SUFFIX"
++test "x$with_ticlib" != xno && PC_MODULES_TO_MAKE="$PC_MODULES_TO_MAKE $TICS_ARG_SUFFIX"
++
++AC_SUBST(PC_MODULES_TO_MAKE)
+
+ ADA_SUBDIRS=
+-if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then
++if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = xyes && test -f $srcdir/Ada95/Makefile.in; then
+ SRC_SUBDIRS="$SRC_SUBDIRS Ada95"
+ ADA_SUBDIRS="gen src"
+ if test "x$cf_with_tests" != "xno" ; then
+@@ -5624,13 +6060,13 @@
+ AC_DEFUN([CF_STRIP_G_OPT],
+ [$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_STRUCT_SIGACTION version: 3 updated: 2000/08/12 23:18:52
++dnl CF_STRUCT_SIGACTION version: 5 updated: 2012/10/06 17:56:13
+ dnl -------------------
+ dnl Check if we need _POSIX_SOURCE defined to use struct sigaction. We'll only
+ dnl do this if we've found the sigaction function.
+-dnl
+-dnl If needed, define SVR4_ACTION.
+ AC_DEFUN([CF_STRUCT_SIGACTION],[
++AC_REQUIRE([CF_XOPEN_SOURCE])
++
+ if test "$ac_cv_func_sigaction" = yes; then
+ AC_MSG_CHECKING(whether sigaction needs _POSIX_SOURCE)
+ AC_TRY_COMPILE([
+@@ -5645,22 +6081,24 @@
+ #include <signal.h>],
+ [struct sigaction act],
+ [sigact_bad=yes
+- AC_DEFINE(SVR4_ACTION)],
++ AC_DEFINE(_POSIX_SOURCE,1,[Define to 1 if we must define _POSIX_SOURCE])],
+ [sigact_bad=unknown])])
+ AC_MSG_RESULT($sigact_bad)
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_STRUCT_TERMIOS version: 5 updated: 2000/11/04 12:22:46
++dnl CF_STRUCT_TERMIOS version: 7 updated: 2012/10/06 17:56:13
+ dnl -----------------
+ dnl Some machines require _POSIX_SOURCE to completely define struct termios.
+-dnl If so, define SVR4_TERMIO
+ AC_DEFUN([CF_STRUCT_TERMIOS],[
++AC_REQUIRE([CF_XOPEN_SOURCE])
++
+ AC_CHECK_HEADERS( \
+ termio.h \
+ termios.h \
+ unistd.h \
+ )
++
+ if test "$ISC" = yes ; then
+ AC_CHECK_HEADERS( sys/termio.h )
+ fi
+@@ -5680,7 +6118,7 @@
+ #include <termios.h>],
+ [struct termios foo; int x = foo.c_iflag],
+ termios_bad=unknown,
+- termios_bad=yes AC_DEFINE(SVR4_TERMIO))
++ termios_bad=yes AC_DEFINE(_POSIX_SOURCE,1,[Define to 1 if we must define _POSIX_SOURCE]))
+ ])
+ AC_MSG_RESULT($termios_bad)
+ fi
+@@ -5704,23 +6142,6 @@
+ CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SUBST version: 4 updated: 2006/06/17 12:33:03
+-dnl --------
+-dnl Shorthand macro for substituting things that the user may override
+-dnl with an environment variable.
+-dnl
+-dnl $1 = long/descriptive name
+-dnl $2 = environment variable
+-dnl $3 = default value
+-AC_DEFUN([CF_SUBST],
+-[AC_CACHE_VAL(cf_cv_subst_$2,[
+-AC_MSG_CHECKING(for $1 (symbol $2))
+-CF_SUBST_IF([-z "[$]$2"], [$2], [$3])
+-cf_cv_subst_$2=[$]$2
+-AC_MSG_RESULT([$]$2)
+-])
+-])dnl
+-dnl ---------------------------------------------------------------------------
+ dnl CF_SUBST_IF version: 2 updated: 2006/06/17 12:33:03
+ dnl -----------
+ dnl Shorthand macro for substituting things that the user may override
+@@ -5766,7 +6187,7 @@
+ AC_SUBST(cf_cv_type_of_bool)dnl
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40
++dnl CF_SYS_TIME_SELECT version: 5 updated: 2012/10/04 05:24:07
+ dnl ------------------
+ dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
+ dnl older SCO configurations.
+@@ -5786,7 +6207,7 @@
+ [cf_cv_sys_time_select=no])
+ ])
+ AC_MSG_RESULT($cf_cv_sys_time_select)
+-test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
++test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT,1,[Define to 1 if we can include <sys/time.h> with <sys/select.h>])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_TOP_BUILDDIR version: 1 updated: 2006/10/15 16:33:23
+@@ -5798,7 +6219,46 @@
+ AC_SUBST(top_builddir)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_TYPEOF_CHTYPE version: 8 updated: 2006/12/16 12:33:30
++dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50
++dnl -------------------
++dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we
++dnl can define it successfully.
++AC_DEFUN([CF_TRY_XOPEN_SOURCE],[
++AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++],[
++#ifndef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_cv_xopen_source=no],
++ [cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++],[
++#ifdef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_cv_xopen_source=no],
++ [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
++ CPPFLAGS="$cf_save"
++ ])
++])
++
++if test "$cf_cv_xopen_source" != no ; then
++ CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
++ CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
++ CF_ADD_CFLAGS($cf_temp_xopen_source)
++fi
++])
++dnl ---------------------------------------------------------------------------
++dnl CF_TYPEOF_CHTYPE version: 9 updated: 2012/10/06 17:56:13
+ dnl ----------------
+ dnl Determine the type we should use for chtype (and attr_t, which is treated
+ dnl as the same thing). We want around 32 bits, so on most machines want a
+@@ -5847,10 +6307,10 @@
+ AC_MSG_RESULT($cf_cv_typeof_chtype)
+
+ AC_SUBST(cf_cv_typeof_chtype)
+-AC_DEFINE_UNQUOTED(TYPEOF_CHTYPE,$cf_cv_typeof_chtype)
++AC_DEFINE_UNQUOTED(TYPEOF_CHTYPE,$cf_cv_typeof_chtype,[Define to actual type if needed for chtype])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_TYPE_SIGACTION version: 3 updated: 2000/08/12 23:18:52
++dnl CF_TYPE_SIGACTION version: 4 updated: 2012/10/06 17:56:13
+ dnl -----------------
+ dnl
+ AC_DEFUN([CF_TYPE_SIGACTION],
+@@ -5863,7 +6323,7 @@
+ [cf_cv_type_sigaction=yes],
+ [cf_cv_type_sigaction=no])])
+ AC_MSG_RESULT($cf_cv_type_sigaction)
+-test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION)
++test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION,1,[Define to 1 if we have the sigaction_t type])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_UNSIGNED_LITERALS version: 2 updated: 1998/02/07 22:10:16
+@@ -5890,7 +6350,7 @@
+ $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_UTF8_LIB version: 7 updated: 2010/06/20 09:24:28
++dnl CF_UTF8_LIB version: 8 updated: 2012/10/06 08:57:51
+ dnl -----------
+ dnl Check for multibyte support, and if not found, utf8 compatibility library
+ AC_DEFUN([CF_UTF8_LIB],
+@@ -5909,14 +6369,14 @@
+ # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
+ # ncurses/ncursesw:
+ if test "$cf_cv_utf8_lib" = "add-on" ; then
+- AC_DEFINE(HAVE_LIBUTF8_H)
++ AC_DEFINE(HAVE_LIBUTF8_H,1,[Define to 1 if we should include libutf8.h])
+ CF_ADD_INCDIR($cf_cv_header_path_utf8)
+ CF_ADD_LIBDIR($cf_cv_library_path_utf8)
+ CF_ADD_LIBS($cf_cv_library_file_utf8)
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_VA_COPY version: 2 updated: 2010/03/04 05:37:29
++dnl CF_VA_COPY version: 3 updated: 2012/10/06 11:17:15
+ dnl ----------
+ dnl check for va_copy, part of stdarg.h
+ dnl Also, workaround for glibc's __va_copy, by checking for both.
+@@ -5931,7 +6391,7 @@
+ cf_cv_have_va_copy=yes,
+ cf_cv_have_va_copy=no)])
+
+-test "$cf_cv_have_va_copy" = yes && AC_DEFINE(HAVE_VA_COPY)
++test "$cf_cv_have_va_copy" = yes && AC_DEFINE(HAVE_VA_COPY,1,[Define to 1 if we have va_copy])
+
+ AC_CACHE_CHECK(for __va_copy, cf_cv_have___va_copy,[
+ AC_TRY_LINK([
+@@ -5943,7 +6403,7 @@
+ cf_cv_have___va_copy=yes,
+ cf_cv_have___va_copy=no)])
+
+-test "$cf_cv_have___va_copy" = yes && AC_DEFINE(HAVE___VA_COPY)
++test "$cf_cv_have___va_copy" = yes && AC_DEFINE(HAVE___VA_COPY,1,[Define to 1 if we have __va_copy])
+ ])
+ dnl ---------------------------------------------------------------------------
+ dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
+@@ -5954,7 +6414,7 @@
+ CF_MSG_LOG([$1])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WCHAR_TYPE version: 3 updated: 2010/05/26 16:44:57
++dnl CF_WCHAR_TYPE version: 4 updated: 2012/10/06 16:39:58
+ dnl -------------
+ dnl Check if type wide-character type $1 is declared, and if so, which header
+ dnl file is needed. The second parameter is used to set a shell variable when
+@@ -5986,7 +6446,7 @@
+ [cf_cv_$1=unknown])])])
+
+ if test "$cf_cv_$1" = yes ; then
+- AC_DEFINE(NEED_WCHAR_H)
++ AC_DEFINE(NEED_WCHAR_H,1,[Define to 1 if we must include wchar.h])
+ NEED_WCHAR_H=1
+ fi
+
+@@ -6149,7 +6609,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WITH_GPM version: 7 updated: 2008/03/23 14:48:54
++dnl CF_WITH_GPM version: 8 updated: 2012/10/06 17:56:13
+ dnl -----------
+ dnl
+ dnl The option parameter (if neither yes/no) is assumed to be the name of
+@@ -6165,10 +6625,10 @@
+
+ if test "$with_gpm" != no ; then
+ AC_CHECK_HEADER(gpm.h,[
+- AC_DEFINE(HAVE_GPM_H)
++ AC_DEFINE(HAVE_GPM_H,1,[Define to 1 if we have gpm.h header])
+ if test "$with_gpm" != yes && test "$with_gpm" != maybe ; then
+ CF_VERBOSE(assuming we really have GPM library)
+- AC_DEFINE(HAVE_LIBGPM)
++ AC_DEFINE(HAVE_LIBGPM,1,[Define to 1 if we have the gpm library])
+ else
+ AC_CHECK_LIB(gpm,Gpm_Open,[:],[
+ AC_MSG_ERROR(Cannot link with GPM library)
+@@ -6182,7 +6642,7 @@
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WITH_LIBTOOL version: 26 updated: 2010/10/23 15:55:24
++dnl CF_WITH_LIBTOOL version: 29 updated: 2013/04/06 18:03:09
+ dnl ---------------
+ dnl Provide a configure option to incorporate libtool. Define several useful
+ dnl symbols for the makefile rules.
+@@ -6252,13 +6712,20 @@
+ CF_PATH_SYNTAX(with_libtool)
+ LIBTOOL=$with_libtool
+ else
+- AC_PATH_PROG(LIBTOOL,libtool)
++ AC_CHECK_TOOLS(LIBTOOL,[libtool glibtool],none)
++ CF_LIBTOOL_VERSION
++ if test -z "$cf_cv_libtool_version" && test "$LIBTOOL" = libtool
++ then
++ CF_FORGET_TOOL(LIBTOOL)
++ AC_CHECK_TOOLS(LIBTOOL,[glibtool],none)
++ CF_LIBTOOL_VERSION
++ fi
+ fi
+ if test -z "$LIBTOOL" ; then
+ AC_MSG_ERROR(Cannot find libtool)
+ fi
+ ])dnl
+- LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} -o'
++ LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} $(LIBS) -o'
+ LIB_OBJECT='${OBJECTS:.o=.lo}'
+ LIB_SUFFIX=.la
+ LIB_CLEAN='${LIBTOOL} --mode=clean'
+@@ -6268,22 +6735,12 @@
+ LIB_UNINSTALL='${LIBTOOL} --mode=uninstall'
+ LIB_PREP=:
+
+- # Show the version of libtool
+- AC_MSG_CHECKING(version of libtool)
+-
+- # Save the version in a cache variable - this is not entirely a good
+- # thing, but the version string from libtool is very ugly, and for
+- # bug reports it might be useful to have the original string. "("
+- cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
+- AC_MSG_RESULT($cf_cv_libtool_version)
+- if test -z "$cf_cv_libtool_version" ; then
+- AC_MSG_ERROR(This is not GNU libtool)
+- fi
++ CF_CHECK_LIBTOOL_VERSION
+
+ # special hack to add -no-undefined (which libtool should do for itself)
+ LT_UNDEF=
+ case "$cf_cv_system_name" in #(vi
+- cygwin*|mingw32*|uwin*|aix[[456]]) #(vi
++ cygwin*|mingw32*|uwin*|aix[[4-7]]) #(vi
+ LT_UNDEF=-no-undefined
+ ;;
+ esac
+@@ -6323,7 +6780,33 @@
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WITH_PATH version: 10 updated: 2010/10/23 15:44:18
++dnl CF_WITH_LIB_PREFIX version: 1 updated: 2012/01/21 19:28:10
++dnl ------------------
++dnl Allow the library-prefix to be overridden. OS/2 EMX originally had no
++dnl "lib" prefix, e.g., because it used the dll naming convention.
++dnl
++dnl $1 = variable to set
++AC_DEFUN([CF_WITH_LIB_PREFIX],
++[
++AC_MSG_CHECKING(if you want to have a library-prefix)
++AC_ARG_WITH(lib-prefix,
++ [ --with-lib-prefix override library-prefix],
++ [with_lib_prefix=$withval],
++ [with_lib_prefix=auto])
++AC_MSG_RESULT($with_lib_prefix)
++
++if test $with_lib_prefix = auto
++then
++ CF_LIB_PREFIX($1)
++elif test $with_lib_prefix = no
++then
++ LIB_PREFIX=
++else
++ LIB_PREFIX=$with_lib_prefix
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_PATH version: 11 updated: 2012/09/29 15:04:19
+ dnl ------------
+ dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
+ dnl defaulting to yes/no.
+@@ -6340,11 +6823,11 @@
+ if ifelse([$5],,true,[test -n "$5"]) ; then
+ CF_PATH_SYNTAX(withval)
+ fi
+-$3="$withval"
++eval $3="$withval"
+ AC_SUBST($3)dnl
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WITH_PATHLIST version: 7 updated: 2010/10/23 16:10:30
++dnl CF_WITH_PATHLIST version: 9 updated: 2012/10/18 05:05:24
+ dnl ----------------
+ dnl Process an option specifying a list of colon-separated paths.
+ dnl
+@@ -6365,7 +6848,7 @@
+ for cf_src_path in $withval
+ do
+ CF_PATH_SYNTAX(cf_src_path)
+- test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}:"
++ test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}$PATH_SEPARATOR"
+ cf_dst_path="${cf_dst_path}${cf_src_path}"
+ done
+ IFS="$ac_save_ifs"
+@@ -6381,12 +6864,65 @@
+ cf_dst_path=`echo "$cf_dst_path" | sed -e 's/\\\\/\\\\\\\\/g'`
+ ])
+
+-eval '$3="$cf_dst_path"'
++# This may use the prefix/exec_prefix symbols which will only yield "NONE"
++# so we have to check/work around. We do prefer the result of "eval"...
++eval cf_dst_eval="$cf_dst_path"
++case "x$cf_dst_eval" in #(vi
++xNONE*) #(vi
++ $3=$cf_dst_path
++ ;;
++*)
++ $3="$cf_dst_eval"
++ ;;
++esac
+ AC_SUBST($3)dnl
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WITH_PTHREAD version: 3 updated: 2010/05/29 16:31:02
++dnl CF_WITH_PKG_CONFIG_LIBDIR version: 2 updated: 2011/12/10 18:58:47
++dnl -------------------------
++dnl Allow the choice of the pkg-config library directory to be overridden.
++AC_DEFUN([CF_WITH_PKG_CONFIG_LIBDIR],[
++if test "$PKG_CONFIG" != none ; then
++ AC_MSG_CHECKING(for $PKG_CONFIG library directory)
++ AC_ARG_WITH(pkg-config-libdir,
++ [ --with-pkg-config-libdir=XXX use given directory for installing pc-files],
++ [PKG_CONFIG_LIBDIR=$withval],
++ [PKG_CONFIG_LIBDIR=yes])
++
++ case x$PKG_CONFIG_LIBDIR in #(vi
++ x/*) #(vi
++ ;;
++ xyes) #(vi
++ # look for the library directory using the same prefix as the executable
++ cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`
++ case x`(arch) 2>/dev/null` in #(vi
++ *64) #(vi
++ for cf_config in $cf_path/share $cf_path/lib64 $cf_path/lib32 $cf_path/lib
++ do
++ if test -d $cf_config/pkgconfig
++ then
++ PKG_CONFIG_LIBDIR=$cf_config/pkgconfig
++ break
++ fi
++ done
++ ;;
++ *)
++ PKG_CONFIG_LIBDIR=$cf_path/lib/pkgconfig
++ ;;
++ esac
++ ;;
++ *)
++ ;;
++ esac
++
++ AC_MSG_RESULT($PKG_CONFIG_LIBDIR)
++fi
++
++AC_SUBST(PKG_CONFIG_LIBDIR)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_PTHREAD version: 6 updated: 2012/10/06 17:41:51
+ dnl ---------------
+ dnl Check for POSIX thread library.
+ AC_DEFUN([CF_WITH_PTHREAD],
+@@ -6400,25 +6936,30 @@
+
+ if test "$with_pthread" != no ; then
+ AC_CHECK_HEADER(pthread.h,[
+- AC_DEFINE(HAVE_PTHREADS_H)
++ AC_DEFINE(HAVE_PTHREADS_H,1,[Define to 1 if we have pthreads.h header])
+
+- AC_MSG_CHECKING(if we can link with the pthread library)
+- cf_save_LIBS="$LIBS"
+- CF_ADD_LIB(pthread)
+- AC_TRY_LINK([
++ for cf_lib_pthread in pthread c_r
++ do
++ AC_MSG_CHECKING(if we can link with the $cf_lib_pthread library)
++ cf_save_LIBS="$LIBS"
++ CF_ADD_LIB($cf_lib_pthread)
++ AC_TRY_LINK([
+ #include <pthread.h>
+ ],[
+- int rc = pthread_create(0,0,0,0);
++ int rc = pthread_create(0,0,0,0);
++ int r2 = pthread_mutexattr_settype(0, 0);
+ ],[with_pthread=yes],[with_pthread=no])
+- LIBS="$cf_save_LIBS"
+- AC_MSG_RESULT($with_pthread)
++ LIBS="$cf_save_LIBS"
++ AC_MSG_RESULT($with_pthread)
++ test "$with_pthread" = yes && break
++ done
+
+- if test "$with_pthread" = yes ; then
+- CF_ADD_LIB(pthread)
+- AC_DEFINE(HAVE_LIBPTHREADS)
+- else
+- AC_MSG_ERROR(Cannot link with pthread library)
+- fi
++ if test "$with_pthread" = yes ; then
++ CF_ADD_LIB($cf_lib_pthread)
++ AC_DEFINE(HAVE_LIBPTHREADS,1,[Define to 1 if we have pthreads library])
++ else
++ AC_MSG_ERROR(Cannot link with pthread library)
++ fi
+ ])
+ fi
+ ])
+@@ -6448,7 +6989,7 @@
+ ])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WITH_SYSMOUSE version: 2 updated: 2003/03/22 19:13:43
++dnl CF_WITH_SYSMOUSE version: 3 updated: 2012/10/06 17:56:13
+ dnl ----------------
+ dnl If we can compile with sysmouse, make it available unless it is not wanted.
+ AC_DEFUN([CF_WITH_SYSMOUSE],[
+@@ -6474,10 +7015,30 @@
+ ],[cf_with_sysmouse=yes],[cf_with_sysmouse=no])
+ fi
+ AC_MSG_RESULT($cf_with_sysmouse)
+-test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE)
++test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE,1,[Define to 1 if we can/should use the sysmouse interface])
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_WITH_SYSTYPE version: 1 updated: 2013/01/26 16:26:12
++dnl ---------------
++dnl For testing, override the derived host system-type which is used to decide
++dnl things such as the linker commands used to build shared libraries. This is
++dnl normally chosen automatically based on the type of system which you are
++dnl building on. We use it for testing the configure script.
++dnl
++dnl This is different from the --host option: it is used only for testing parts
++dnl of the configure script which would not be reachable with --host since that
++dnl relies on the build environment being real, rather than mocked up.
++AC_DEFUN([CF_WITH_SYSTYPE],[
++CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
++AC_ARG_WITH(system-type,
++ [ --with-system-type=XXX test: override derived host system-type],
++[AC_MSG_WARN(overriding system type to $withval)
++ cf_cv_system_name=$withval
++ host_os=$withval
++])
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21
+ dnl ----------------
+ AC_DEFUN([CF_WITH_VALGRIND],[
+@@ -6486,7 +7047,7 @@
+ [USE_VALGRIND])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_XOPEN_SOURCE version: 35 updated: 2011/02/20 20:37:37
++dnl CF_XOPEN_SOURCE version: 43 updated: 2013/02/10 10:41:05
+ dnl ---------------
+ dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
+ dnl or adapt to the vendor's definitions to get equivalent functionality,
+@@ -6496,13 +7057,14 @@
+ dnl $1 is the nominal value for _XOPEN_SOURCE
+ dnl $2 is the nominal value for _POSIX_C_SOURCE
+ AC_DEFUN([CF_XOPEN_SOURCE],[
++AC_REQUIRE([AC_CANONICAL_HOST])
+
+ cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
+ cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
+ cf_xopen_source=
+
+ case $host_os in #(vi
+-aix[[456]]*) #(vi
++aix[[4-7]]*) #(vi
+ cf_xopen_source="-D_ALL_SOURCE"
+ ;;
+ cygwin) #(vi
+@@ -6513,6 +7075,7 @@
+ ;;
+ darwin*) #(vi
+ cf_xopen_source="-D_DARWIN_C_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ freebsd*|dragonfly*) #(vi
+ # 5.x headers associate
+@@ -6530,15 +7093,23 @@
+ ;;
+ irix[[56]].*) #(vi
+ cf_xopen_source="-D_SGI_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ linux*|gnu*|mint*|k*bsd*-gnu) #(vi
+ CF_GNU_SOURCE
+ ;;
+ mirbsd*) #(vi
+- # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
++ # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
++ cf_XOPEN_SOURCE=
++ CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
+ ;;
+ netbsd*) #(vi
+- # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ ;;
++openbsd[[4-9]]*) #(vi
++ # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
++ cf_xopen_source="-D_BSD_SOURCE"
++ cf_XOPEN_SOURCE=600
+ ;;
+ openbsd*) #(vi
+ # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
+@@ -6552,36 +7123,11 @@
+ sco*) #(vi
+ # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
+ ;;
+-solaris2.1[[0-9]]) #(vi
+- cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- ;;
+-solaris2.[[1-9]]) #(vi
++solaris2.*) #(vi
+ cf_xopen_source="-D__EXTENSIONS__"
+ ;;
+ *)
+- AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
+- AC_TRY_COMPILE([#include <sys/types.h>],[
+-#ifndef _XOPEN_SOURCE
+-make an error
+-#endif],
+- [cf_cv_xopen_source=no],
+- [cf_save="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- AC_TRY_COMPILE([#include <sys/types.h>],[
+-#ifdef _XOPEN_SOURCE
+-make an error
+-#endif],
+- [cf_cv_xopen_source=no],
+- [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
+- CPPFLAGS="$cf_save"
+- ])
+-])
+- if test "$cf_cv_xopen_source" != no ; then
+- CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
+- CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
+- cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
+- CF_ADD_CFLAGS($cf_temp_xopen_source)
+- fi
++ CF_TRY_XOPEN_SOURCE
+ CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
+ ;;
+ esac
+@@ -6589,4 +7135,33 @@
+ if test -n "$cf_xopen_source" ; then
+ CF_ADD_CFLAGS($cf_xopen_source)
+ fi
++
++dnl In anything but the default case, we may have system-specific setting
++dnl which is still not guaranteed to provide all of the entrypoints that
++dnl _XOPEN_SOURCE would yield.
++if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
++ AC_MSG_CHECKING(if _XOPEN_SOURCE really is set)
++ AC_TRY_COMPILE([#include <stdlib.h>],[
++#ifndef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_XOPEN_SOURCE_set=yes],
++ [cf_XOPEN_SOURCE_set=no])
++ AC_MSG_RESULT($cf_XOPEN_SOURCE_set)
++ if test $cf_XOPEN_SOURCE_set = yes
++ then
++ AC_TRY_COMPILE([#include <stdlib.h>],[
++#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
++make an error
++#endif],
++ [cf_XOPEN_SOURCE_set_ok=yes],
++ [cf_XOPEN_SOURCE_set_ok=no])
++ if test $cf_XOPEN_SOURCE_set_ok = no
++ then
++ AC_MSG_WARN(_XOPEN_SOURCE is lower than requested)
++ fi
++ else
++ CF_TRY_XOPEN_SOURCE
++ fi
++fi
+ ])
+Index: announce.html.in
+Prereq: 1.85
+--- ncurses-5.9/announce.html.in 2011-04-04 00:05:34.000000000 +0000
++++ ncurses-5.9-20130504/announce.html.in 2011-09-10 18:11:12.000000000 +0000
+@@ -1,6 +1,6 @@
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+ <!--
+- $Id: announce.html.in,v 1.85 2011/04/04 00:05:34 tom Exp $
++ $Id: announce.html.in,v 1.86 2011/09/10 18:11:12 tom Exp $
+ ****************************************************************************
+ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+@@ -77,30 +77,38 @@
+ compatible from ncurses 5.0 through 5.8; very few applications
+ will require recompilation, depending on the platform. These are
+ the highlights from the change-log since ncurses 5.8 release.
+- <p>
+- This is a bug-fix release, correcting a small number of urgent problems
+- in the ncurses library from the 5.8 release.
+- <p>
+- It also improves the Ada95 binding:
++
++ <p>This is a bug-fix release, correcting a small number of urgent
++ problems in the ncurses library from the 5.8 release.</p>
++
++ <p>It also improves the Ada95 binding:</p>
++
+ <ul>
+- <li>fixes a longstanding portability problem with its use of the
+- <a href="http://invisible-island.net/ncurses/man/form_fieldtype.3x">set_field_type</a>
+- function. Because that function uses variable-length argument lists,
+- its interface with gnat does not work with certain platforms.
+- <li>improves configurability and portability, particularly when built
+- separately from the main ncurses tree. The 5.8 release introduced
+- scripts which can be used to construct separate tarballs for the
+- Ada95 and ncurses examples.
+- <p>Those were a proof of concept. For the 5.9 release, those
+- scripts are augmented with rpm- and dpkg-scripts used in test builds
+- against a variety of gnat- and system ncurses versions as old as
+- gnat 3.15 and ncurses 5.4 (see snapshots and systems tested
+- <a href="http://invisible-island.net/ncurses/ncurses-Ada95.html">here</a>.
+- <li>additional improvements were made for portability of the
+- ncurses examples, adding rpm- and dpkg-scripts for test-builds.
+- See
+- <a href="http://invisible-island.net/ncurses/ncurses-examples.html">this page</a>
+- for snapshots and other information.
++ <li>fixes a longstanding portability problem with its use of
++ the <a href=
++ "http://invisible-island.net/ncurses/man/form_fieldtype.3x">set_field_type</a>
++ function. Because that function uses variable-length argument
++ lists, its interface with gnat does not work with certain
++ platforms.</li>
++
++ <li>improves configurability and portability, particularly when
++ built separately from the main ncurses tree. The 5.8 release
++ introduced scripts which can be used to construct separate
++ tarballs for the Ada95 and ncurses examples.
++
++ <p>Those were a proof of concept. For the 5.9 release, those
++ scripts are augmented with rpm- and dpkg-scripts used in test
++ builds against a variety of gnat- and system ncurses versions
++ as old as gnat 3.15 and ncurses 5.4 (see snapshots and
++ systems tested <a href=
++ "http://invisible-island.net/ncurses/ncurses-Ada95.html">here</a>.</p>
++ </li>
++
++ <li>additional improvements were made for portability of the
++ ncurses examples, adding rpm- and dpkg-scripts for test-builds.
++ See <a href=
++ "http://invisible-island.net/ncurses/ncurses-examples.html">this
++ page</a> for snapshots and other information.</li>
+ </ul>
+
+ <h1>Features of Ncurses</h1>The ncurses package is fully
+@@ -364,6 +372,13 @@
+ are made available at <a href=
+ "ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a>&nbsp;.</p>
+
++ <p>There is an archive of the mailing list here:</p>
++
++ <p><a href=
++ "http://lists.gnu.org/archive/html/bug-ncurses">http://lists.gnu.org/archive/html/bug-ncurses</a>
++ (also <a href=
++ "https://lists.gnu.org/archive/html/bug-ncurses">https</a>)</p>
++
+ <h2>Future Plans</h2>
+
+ <ul>
+Index: c++/Makefile.in
+Prereq: 1.93
+--- ncurses-5.9/c++/Makefile.in 2010-11-27 21:45:27.000000000 +0000
++++ ncurses-5.9-20130504/c++/Makefile.in 2013-04-13 18:24:43.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.93 2010/11/27 21:45:27 tom Exp $
++# $Id: Makefile.in,v 1.104 2013/04/13 18:24:43 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -65,6 +65,9 @@
+
+ AR = @AR@
+ ARFLAGS = @ARFLAGS@
++AWK = @AWK@
++LD = @LD@
++LN_S = @LN_S@
+
+ CXX_AR = @CXX_AR@
+ CXX_ARFLAGS = @CXX_ARFLAGS@
+@@ -109,35 +112,41 @@
+ LIBNAME_NORMAL = @LIB_PREFIX@$(LIBROOT)@LIB_SUFFIX@.a
+ LIBNAME = @LIB_PREFIX@$(LIBROOT)@CXX_LIB_SUFFIX@
+
+-MY_LIBRARY = ../lib/$(LIBNAME)
++LIBRARIES = @Libs_To_Make@
+
+ LINK_FLAGS = @EXTRA_LDFLAGS@ -L../lib -l$(LIBROOT)@LIB_SUFFIX@
++RPATH_LIST = @RPATH_LIST@
++MK_SHARED_LIB = @MK_SHARED_LIB@
+
+-LINK_LIBTOOL = @EXTRA_LDFLAGS@ -L../lib $(MY_LIBRARY)
++LINK_LIBTOOL = @EXTRA_LDFLAGS@ -L../lib $(LIBRARIES)
+ LINK_NORMAL = $(LINK_FLAGS)
+ LINK_DEBUG = $(LINK_FLAGS)
+ LINK_PROFILE = $(LINK_FLAGS)
+ LINK_SHARED = $(LINK_FLAGS)
+
++# flags for test-programs
+ TEST_LIBS = @TEST_LIBS@
+ TEST_ARGS = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@
+-
+-LDFLAGS = $(TEST_ARGS) @LDFLAGS@ \
++TEST_LDFLAGS = $(TEST_ARGS) @LDFLAGS@ \
+ @LD_MODEL@ $(TEST_LIBS) @LIBS@ @LOCAL_LDFLAGS@ $(CXXLIBS)
+
+-LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL)
+-LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL)
+-LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG)
+-LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
+-LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
++LDFLAGS_LIBTOOL = $(TEST_LDFLAGS) $(CFLAGS_LIBTOOL)
++LDFLAGS_NORMAL = $(TEST_LDFLAGS) $(CFLAGS_NORMAL)
++LDFLAGS_DEBUG = $(TEST_LDFLAGS) $(CFLAGS_DEBUG)
++LDFLAGS_PROFILE = $(TEST_LDFLAGS) $(CFLAGS_PROFILE)
++LDFLAGS_SHARED = $(TEST_LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
+
+ LDFLAGS_DEFAULT = $(LINK_@DFT_UPR_MODEL@) $(LDFLAGS_@DFT_UPR_MODEL@)
+
++# flags for library built by this makefile
++LDFLAGS = $(TEST_ARGS) @LDFLAGS@ \
++ @LD_MODEL@ $(TEST_LIBS) @LIBS@ $(CXXLIBS)
++
+ AUTO_SRC = \
+ etip.h
+
+ all \
+-libs :: $(AUTO_SRC) $(MY_LIBRARY)
++libs :: $(AUTO_SRC) $(LIBRARIES)
+
+ @MAKE_TESTS@all :: demo$x
+
+@@ -148,61 +157,16 @@
+ tags:
+ $(CTAGS) *.[h] *.cc
+
+-# Build a conventional library for installing, since a shared library would
+-# pull in all of the ncurses libraries (panel, menu, form, ncurses) as direct
+-# dependencies.
+-LIB_OBJS = \
+- $(MODEL)/cursesf$o \
+- $(MODEL)/cursesm$o \
+- $(MODEL)/cursesw$o \
+- $(MODEL)/cursespad$o \
+- $(MODEL)/cursesp$o \
+- $(MODEL)/cursslk$o \
+- $(MODEL)/cursesapp$o \
+- $(MODEL)/cursesmain$o
+-
+-../lib/$(LIBNAME_NORMAL) : $(LIB_OBJS)
+- $(CXX_AR) $(CXX_ARFLAGS) $@ $?
+- $(RANLIB) $@
+-
+-../lib/$(LIBNAME_LIBTOOL) : $(LIB_OBJS)
+- cd ../lib && $(LIBTOOL_LINK) $(CXX) $(CXXFLAGS) \
+- -o $(LIBNAME) $(LIB_OBJS:$o=.lo) \
+- -rpath $(INSTALL_PREFIX)$(libdir) \
+- $(LIBTOOL_VERSION) $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(SHLIB_LIST)
+-
+-OBJS_DEMO = $(MODEL)/demo$o
+-
+-$(MODEL)/demo$o : $(srcdir)/demo.cc \
+- $(cursesf_h) $(cursesm_h) $(cursesapp_h)
+-
+-demo$x: $(OBJS_DEMO) \
+- $(MY_LIBRARY) \
+- @TEST_DEPS@
+- @ECHO_LINK@ $(LINK) -o $@ $(OBJS_DEMO) $(LDFLAGS_DEFAULT)
+-
+-etip.h: $(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh
+- cp $(srcdir)/etip.h.in $@
+- sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
+-
+ $(DESTDIR)$(libdir) :
+ mkdir -p $@
+
+-install \
+-install.libs:: $(MY_LIBRARY) $(DESTDIR)$(libdir)
+- $(LIBTOOL_INSTALL) $(INSTALL_LIB) $(MY_LIBRARY) $(DESTDIR)$(libdir)/$(LIBNAME)
+-
+-uninstall \
+-uninstall.libs::
+- -$(LIBTOOL_UNINSTALL) rm -f $(DESTDIR)$(libdir)/$(LIBNAME)
+-
+ mostlyclean ::
+ -rm -f core tags TAGS *~ *.bak *.i *.ii *.ln *.atac trace
+
+ clean :: mostlyclean
+ -sh -c "if test -n '$x' ; then $(MAKE) clean x=''; fi"
+ -rm -rf $(MODEL)/SunWS_cache
+- -$(LIBTOOL_CLEAN) rm -f demo$x $(AUTO_SRC) $(MY_LIBRARY) $(LIB_OBJS) $(OBJS_DEMO)
++ -$(LIBTOOL_CLEAN) rm -f demo$x $(AUTO_SRC) $(LIBRARIES) $(OBJS_DEMO)
+ -rm -rf .libs
+
+ distclean :: clean
+@@ -212,8 +176,16 @@
+
+ ###############################################################################
+
++internal_h = $(srcdir)/internal.h \
++ $(INCDIR)/ncurses_cfg.h \
++ $(INCDIR)/nc_mingw.h \
++ $(INCDIR)/nc_string.h
++
++etip_h = etip.h \
++ $(INCDIR)/ncurses_dll.h
++
+ cursesw_h = $(srcdir)/cursesw.h \
+- etip.h \
++ $(etip_h) \
+ $(INCDIR)/curses.h
+
+ cursesp_h = $(srcdir)/cursesp.h \
+@@ -244,5 +216,26 @@
+ cd ../panel && $(MAKE) $@
+
+ ###############################################################################
++
++OBJS_DEMO = $(MODEL)/demo$o
++
++$(MODEL)/demo$o : $(srcdir)/demo.cc \
++ $(internal_h) \
++ $(cursesf_h) \
++ $(cursesm_h) \
++ $(cursesapp_h)
++ @echo 'compiling demo (obj_s)'
++ @$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEFAULT) -c $(srcdir)/demo.cc -o $@
++
++demo$x: $(OBJS_DEMO) \
++ $(LIBRARIES) \
++ @TEST_DEPS@
++ @ECHO_LD@ $(LINK) -o $@ $(OBJS_DEMO) $(LDFLAGS_DEFAULT)
++
++etip.h: $(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh
++ cp $(srcdir)/etip.h.in $@
++ sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
++
++###############################################################################
+ # The remainder of this file is automatically generated during configuration
+ ###############################################################################
+Index: c++/cursesapp.h
+Prereq: 1.11
+--- ncurses-5.9/c++/cursesapp.h 2005-05-28 21:57:44.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursesapp.h 2011-09-17 22:12:10.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * This makes emacs happy -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2005,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -31,7 +31,7 @@
+ * Author: Juergen Pfeifer, 1997 *
+ ****************************************************************************/
+
+-// $Id: cursesapp.h,v 1.11 2005/05/28 21:57:44 tom Exp $
++// $Id: cursesapp.h,v 1.12 2011/09/17 22:12:10 tom Exp $
+
+ #ifndef NCURSES_CURSESAPP_H_incl
+ #define NCURSES_CURSESAPP_H_incl
+@@ -80,6 +80,7 @@
+ // This method is called to initialize the SLKs. Default is nothing.
+ // You may rewrite this in your derived class
+ virtual void init_labels(Soft_Label_Key_Set& S) const {
++ (void) S;
+ }
+
+ // Your derived class must implement this method. The return value must
+@@ -118,6 +119,8 @@
+ // Process the commandline arguments. The default implementation simply
+ // ignores them. Your derived class may rewrite this.
+ virtual void handleArgs(int argc, char* argv[]) {
++ (void) argc;
++ (void) argv;
+ }
+
+ // Does this application use colors?
+@@ -138,37 +141,37 @@
+
+ // Attributes to use for menu and forms foregrounds
+ virtual chtype foregrounds() const {
+- return b_Colors ? COLOR_PAIR(1) : A_BOLD;
++ return b_Colors ? static_cast<chtype>(COLOR_PAIR(1)) : A_BOLD;
+ }
+
+ // Attributes to use for menu and forms backgrounds
+ virtual chtype backgrounds() const {
+- return b_Colors ? COLOR_PAIR(2) : A_NORMAL;
++ return b_Colors ? static_cast<chtype>(COLOR_PAIR(2)) : A_NORMAL;
+ }
+
+ // Attributes to use for inactive (menu) elements
+ virtual chtype inactives() const {
+- return b_Colors ? (COLOR_PAIR(3)|A_DIM) : A_DIM;
++ return b_Colors ? static_cast<chtype>(COLOR_PAIR(3)|A_DIM) : A_DIM;
+ }
+
+ // Attributes to use for (form) labels and SLKs
+ virtual chtype labels() const {
+- return b_Colors ? COLOR_PAIR(4) : A_NORMAL;
++ return b_Colors ? static_cast<chtype>(COLOR_PAIR(4)) : A_NORMAL;
+ }
+
+ // Attributes to use for form backgrounds
+ virtual chtype dialog_backgrounds() const {
+- return b_Colors ? COLOR_PAIR(4) : A_NORMAL;
++ return b_Colors ? static_cast<chtype>(COLOR_PAIR(4)) : A_NORMAL;
+ }
+
+ // Attributes to use as default for (form) window backgrounds
+ virtual chtype window_backgrounds() const {
+- return b_Colors ? COLOR_PAIR(5) : A_NORMAL;
++ return b_Colors ? static_cast<chtype>(COLOR_PAIR(5)) : A_NORMAL;
+ }
+
+ // Attributes to use for the title window
+ virtual chtype screen_titles() const {
+- return b_Colors ? COLOR_PAIR(6) : A_BOLD;
++ return b_Colors ? static_cast<chtype>(COLOR_PAIR(6)) : A_BOLD;
+ }
+
+ };
+Index: c++/cursesf.cc
+Prereq: 1.21
+--- ncurses-5.9/c++/cursesf.cc 2005-08-13 18:09:06.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursesf.cc 2011-09-17 22:12:10.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * this is for making emacs happy: -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2005,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+ #include "cursesf.h"
+ #include "cursesapp.h"
+
+-MODULE_ID("$Id: cursesf.cc,v 1.21 2005/08/13 18:09:06 tom Exp $")
++MODULE_ID("$Id: cursesf.cc,v 1.22 2011/09/17 22:12:10 tom Exp $")
+
+ NCursesFormField::~NCursesFormField ()
+ {
+@@ -234,11 +234,13 @@
+ void
+ NCursesForm::On_Field_Init(NCursesFormField& field)
+ {
++ (void) field;
+ }
+
+ void
+ NCursesForm::On_Field_Termination(NCursesFormField& field)
+ {
++ (void) field;
+ }
+
+ // call the form driver and do basic error checking.
+@@ -260,16 +262,19 @@
+
+ void NCursesForm::On_Request_Denied(int c) const
+ {
++ (void) c;
+ ::beep();
+ }
+
+ void NCursesForm::On_Invalid_Field(int c) const
+ {
++ (void) c;
+ ::beep();
+ }
+
+ void NCursesForm::On_Unknown_Command(int c) const
+ {
++ (void) c;
+ ::beep();
+ }
+
+@@ -373,6 +378,7 @@
+ //
+ bool _nc_xx_fld_fcheck(FIELD *f, const void *u)
+ {
++ (void) f;
+ NCursesFormField* F = reinterpret_cast<NCursesFormField*>(const_cast<void *>(u));
+ assert(F != 0);
+ UserDefinedFieldType* udf = reinterpret_cast<UserDefinedFieldType*>(F->fieldtype());
+@@ -405,6 +411,7 @@
+
+ bool _nc_xx_next_choice(FIELD *f, const void *u)
+ {
++ (void) f;
+ NCursesFormField* F = reinterpret_cast<NCursesFormField*>(const_cast<void *>(u));
+ assert(F != 0);
+ UserDefinedFieldType_With_Choice* udf =
+@@ -415,6 +422,7 @@
+
+ bool _nc_xx_prev_choice(FIELD *f, const void *u)
+ {
++ (void) f;
+ NCursesFormField* F = reinterpret_cast<NCursesFormField*>(const_cast<void *>(u));
+ assert(F != 0);
+ UserDefinedFieldType_With_Choice* udf =
+Index: c++/cursesf.h
+Prereq: 1.28
+--- ncurses-5.9/c++/cursesf.h 2005-08-13 18:08:24.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursesf.h 2012-12-29 21:49:58.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * This makes emacs happy -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -31,7 +31,7 @@
+ * Author: Juergen Pfeifer, 1997 *
+ ****************************************************************************/
+
+-// $Id: cursesf.h,v 1.28 2005/08/13 18:08:24 tom Exp $
++// $Id: cursesf.h,v 1.31 2012/12/29 21:49:58 tom Exp $
+
+ #ifndef NCURSES_CURSESF_H_incl
+ #define NCURSES_CURSESF_H_incl 1
+@@ -61,7 +61,7 @@
+ protected:
+ FIELDTYPE* fieldtype;
+
+- inline void OnError(int err) const THROWS(NCursesFormException) {
++ inline void OnError(int err) const THROW2(NCursesException const, NCursesFormException) {
+ if (err!=E_OK)
+ THROW(new NCursesFormException (err));
+ }
+@@ -109,7 +109,7 @@
+ NCursesFieldType* ftype; // Associated field type
+
+ // Error handler
+- inline void OnError (int err) const THROWS(NCursesFormException) {
++ inline void OnError (int err) const THROW2(NCursesException const, NCursesFormException) {
+ if (err != E_OK)
+ THROW(new NCursesFormException (err));
+ }
+@@ -391,7 +391,7 @@
+ bool with_frame,
+ bool autoDeleteFields);
+
+- inline void OnError (int err) const THROWS(NCursesFormException) {
++ inline void OnError (int err) const THROW2(NCursesException const, NCursesFormException) {
+ if (err != E_OK)
+ THROW(new NCursesFormException (err));
+ }
+@@ -677,7 +677,7 @@
+ }
+
+ public:
+- NCursesUserForm (NCursesFormField Fields[],
++ NCursesUserForm (NCursesFormField* Fields[],
+ const T* p_UserData = STATIC_CAST(T*)(0),
+ bool with_frame=FALSE,
+ bool autoDelete_Fields=FALSE)
+@@ -686,7 +686,7 @@
+ set_user (const_cast<void *>(p_UserData));
+ };
+
+- NCursesUserForm (NCursesFormField Fields[],
++ NCursesUserForm (NCursesFormField* Fields[],
+ int nlines,
+ int ncols,
+ int begin_y = 0,
+Index: c++/cursesm.cc
+Prereq: 1.22
+--- ncurses-5.9/c++/cursesm.cc 2005-04-02 20:39:05.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursesm.cc 2011-09-17 22:11:32.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * this is for making emacs happy: -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2005,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+ #include "cursesm.h"
+ #include "cursesapp.h"
+
+-MODULE_ID("$Id: cursesm.cc,v 1.22 2005/04/02 20:39:05 tom Exp $")
++MODULE_ID("$Id: cursesm.cc,v 1.23 2011/09/17 22:11:32 tom Exp $")
+
+ NCursesMenuItem::~NCursesMenuItem()
+ {
+@@ -375,33 +375,39 @@
+ void
+ NCursesMenu::On_Item_Init(NCursesMenuItem& item)
+ {
++ (void) item;
+ }
+
+ void
+ NCursesMenu::On_Item_Termination(NCursesMenuItem& item)
+ {
++ (void) item;
+ }
+
+ void
+ NCursesMenu::On_Request_Denied(int c) const
+ {
++ (void) c;
+ ::beep();
+ }
+
+ void
+ NCursesMenu::On_Not_Selectable(int c) const
+ {
++ (void) c;
+ ::beep();
+ }
+
+ void
+ NCursesMenu::On_No_Match(int c) const
+ {
++ (void) c;
+ ::beep();
+ }
+
+ void
+ NCursesMenu::On_Unknown_Command(int c) const
+ {
++ (void) c;
+ ::beep();
+ }
+Index: c++/cursesm.h
+Prereq: 1.25
+--- ncurses-5.9/c++/cursesm.h 2005-08-13 18:10:36.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursesm.h 2012-12-29 21:48:33.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * This makes emacs happy -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -31,7 +31,7 @@
+ * Author: Juergen Pfeifer, 1997 *
+ ****************************************************************************/
+
+-// $Id: cursesm.h,v 1.25 2005/08/13 18:10:36 tom Exp $
++// $Id: cursesm.h,v 1.29 2012/12/29 21:48:33 tom Exp $
+
+ #ifndef NCURSES_CURSESM_H_incl
+ #define NCURSES_CURSESM_H_incl 1
+@@ -53,7 +53,7 @@
+ protected:
+ ITEM *item;
+
+- inline void OnError (int err) const THROWS(NCursesMenuException) {
++ inline void OnError (int err) const THROW2(NCursesException const, NCursesMenuException) {
+ if (err != E_OK)
+ THROW(new NCursesMenuException (err));
+ }
+@@ -82,6 +82,7 @@
+ NCursesMenuItem(const NCursesMenuItem& rhs)
+ : item(0)
+ {
++ (void) rhs;
+ }
+
+ virtual ~NCursesMenuItem ();
+@@ -252,7 +253,7 @@
+ bool with_frame,
+ bool autoDeleteItems);
+
+- inline void OnError (int err) const THROWS(NCursesMenuException) {
++ inline void OnError (int err) const THROW2(NCursesException const, NCursesMenuException) {
+ if (err != E_OK)
+ THROW(new NCursesMenuException (this, err));
+ }
+@@ -635,7 +636,7 @@
+ }
+
+ public:
+- NCursesUserMenu (NCursesMenuItem Items[],
++ NCursesUserMenu (NCursesMenuItem* Items[],
+ const T* p_UserData = STATIC_CAST(T*)(0),
+ bool with_frame=FALSE,
+ bool autoDelete_Items=FALSE)
+@@ -644,7 +645,7 @@
+ set_user (const_cast<void *>(p_UserData));
+ };
+
+- NCursesUserMenu (NCursesMenuItem Items[],
++ NCursesUserMenu (NCursesMenuItem* Items[],
+ int nlines,
+ int ncols,
+ int begin_y = 0,
+Index: c++/cursesp.h
+Prereq: 1.29
+--- ncurses-5.9/c++/cursesp.h 2008-08-16 17:20:23.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursesp.h 2012-12-29 21:50:55.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * This makes emacs happy -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2008,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+ #ifndef NCURSES_CURSESP_H_incl
+ #define NCURSES_CURSESP_H_incl 1
+
+-// $Id: cursesp.h,v 1.29 2008/08/16 17:20:23 tom Exp $
++// $Id: cursesp.h,v 1.30 2012/12/29 21:50:55 tom Exp $
+
+ #include <cursesw.h>
+
+@@ -86,7 +86,7 @@
+ return result;
+ }
+
+- void OnError (int err) const THROWS(NCursesPanelException)
++ void OnError (int err) const THROW2(NCursesException const, NCursesPanelException)
+ {
+ if (err==ERR)
+ THROW(new NCursesPanelException (this, err));
+Index: c++/cursespad.cc
+Prereq: 1.13
+--- ncurses-5.9/c++/cursespad.cc 2008-08-04 18:59:22.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursespad.cc 2013-03-30 19:45:36.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * this is for making emacs happy: -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,10 +33,9 @@
+
+ #include "internal.h"
+
+-#include <etip.h>
+ #include <cursesw.h>
+
+-MODULE_ID("$Id: cursespad.cc,v 1.13 2008/08/04 18:59:22 tom Exp $")
++MODULE_ID("$Id: cursespad.cc,v 1.17 2013/03/30 19:45:36 tom Exp $")
+
+ NCursesPad::NCursesPad(int nlines, int ncols)
+ : NCursesWindow(),
+@@ -220,6 +219,7 @@
+
+ void NCursesFramedPad::OnOperation(int pad_req)
+ {
++ (void) pad_req;
+ NCursesWindow* W = Win();
+ NCursesWindow* W2 = getWindow();
+
+@@ -228,25 +228,45 @@
+ int Height = W->height();
+ int i, row, col, h_len, v_len;
+
+- h_len = (Width*Width + width() - 1)/width();
+- if (h_len==0)
++ int my_width = width();
++
++ if (my_width != 0) {
++ h_len = (Width*Width + my_width - 1) / my_width;
++ if (h_len==0)
++ h_len = 1;
++ if (h_len > Width)
++ h_len = Width;
++ } else {
+ h_len = 1;
+- if (h_len > Width)
+- h_len = Width;
++ }
+
+- v_len = (Height*Height + height() - 1)/height();
+- if (v_len==0)
++ int my_height = height();
++
++ if (my_height != 0) {
++ v_len = (Height*Height + my_height - 1) / my_height;
++ if (v_len==0)
++ v_len = 1;
++ if (v_len > Height)
++ v_len = Height;
++ } else {
+ v_len = 1;
+- if (v_len > Height)
+- v_len = Height;
++ }
+
+- col = (min_col * Width + width() - 1) / width();
+- if (col + h_len > Width)
+- col = Width - h_len;
+-
+- row = (min_row * Height + height() - 1) / height();
+- if (row + v_len > Height)
+- row = Height - v_len;
++ if (my_width != 0) {
++ col = (min_col * Width + my_width - 1) / my_width;
++ if (col + h_len > Width)
++ col = Width - h_len;
++ } else {
++ col = 0;
++ }
++
++ if (my_height != 0) {
++ row = (min_row * Height + my_height - 1) / my_height;
++ if (row + v_len > Height)
++ row = Height - v_len;
++ } else {
++ row = 0;
++ }
+
+ W2->vline(1,Width+1,Height);
+ W2->attron(A_REVERSE);
+Index: c++/cursesw.cc
+Prereq: 1.51
+--- ncurses-5.9/c++/cursesw.cc 2009-03-28 21:31:37.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursesw.cc 2012-12-08 22:06:41.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * this is for making emacs happy: -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 2007-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 2007-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+ #include "internal.h"
+ #include "cursesw.h"
+
+-MODULE_ID("$Id: cursesw.cc,v 1.51 2009/03/28 21:31:37 tom Exp $")
++MODULE_ID("$Id: cursesw.cc,v 1.53 2012/12/08 22:06:41 tom Exp $")
+
+ #define COLORS_NEED_INITIALIZATION -1
+ #define COLORS_NOT_INITIALIZED 0
+@@ -192,7 +192,6 @@
+ constructing();
+
+ w = static_cast<WINDOW *>(0);
+- set_keyboard();
+ }
+
+ NCursesWindow::NCursesWindow(int nlines, int ncols, int begin_y, int begin_x)
+@@ -285,12 +284,14 @@
+ NCursesWindow::NCursesWindow(WINDOW *win, int ncols)
+ : w(0), alloced(FALSE), par(0), subwins(0), sib(0)
+ {
++ (void) ncols;
+ initialize();
+ w = win;
+ }
+
+ int _nc_xx_ripoff_init(WINDOW *w, int ncols)
+ {
++ (void) ncols;
+ int res = ERR;
+
+ RIPOFFINIT init = *prip++;
+Index: c++/cursesw.h
+Prereq: 1.48
+--- ncurses-5.9/c++/cursesw.h 2008-01-19 21:09:10.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursesw.h 2011-09-17 22:12:10.000000000 +0000
+@@ -1,7 +1,7 @@
+ // * This makes emacs happy -*-Mode: C++;-*-
+ // vile:cppmode
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2008,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -31,7 +31,7 @@
+ #ifndef NCURSES_CURSESW_H_incl
+ #define NCURSES_CURSESW_H_incl 1
+
+-// $Id: cursesw.h,v 1.48 2008/01/19 21:09:10 tom Exp $
++// $Id: cursesw.h,v 1.49 2011/09/17 22:12:10 tom Exp $
+
+ #include <etip.h>
+
+@@ -1438,16 +1438,19 @@
+ // The driver translates the keystroke c into an Pad_Request
+
+ virtual void OnUnknownOperation(int pad_req) {
++ (void) pad_req;
+ ::beep();
+ }
+ // This is called if the driver returns an unknown op-code
+
+ virtual void OnNavigationError(int pad_req) {
++ (void) pad_req;
+ ::beep();
+ }
+ // This is called if a navigation request couldn't be satisfied
+
+ virtual void OnOperation(int pad_req) {
++ (void) pad_req;
+ };
+ // OnOperation is called if a Pad_Operation was executed and just before
+ // the refresh() operation is done.
+@@ -1542,11 +1545,15 @@
+ }
+
+ void setWindow(NCursesWindow& view, int v_grid = 1, int h_grid = 1) {
++ (void) view;
++ (void) v_grid;
++ (void) h_grid;
+ err_handler("Operation not allowed");
+ }
+ // Disable this call; the viewport is already defined
+
+ void setSubWindow(NCursesWindow& sub) {
++ (void) sub;
+ err_handler("Operation not allowed");
+ }
+ // Disable this call; the viewport subwindow is already defined
+Index: c++/cursslk.cc
+Prereq: 1.15
+--- ncurses-5.9/c++/cursslk.cc 2005-08-06 22:12:36.000000000 +0000
++++ ncurses-5.9-20130504/c++/cursslk.cc 2012-02-23 10:41:56.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * this is for making emacs happy: -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2005,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,14 +35,15 @@
+ #include "cursslk.h"
+ #include "cursesapp.h"
+
+-MODULE_ID("$Id: cursslk.cc,v 1.15 2005/08/06 22:12:36 tom Exp $")
++MODULE_ID("$Id: cursslk.cc,v 1.16 2012/02/23 10:41:56 tom Exp $")
+
+ Soft_Label_Key_Set::Soft_Label_Key&
+ Soft_Label_Key_Set::Soft_Label_Key::operator=(char *text)
+ {
+ delete[] label;
+- label = new char[1 + ::strlen(text)];
+- (::strcpy)(label,text);
++ size_t need = 1 + ::strlen(text);
++ label = new char[need];
++ ::_nc_STRCPY(label,text,need);
+ return *this;
+ }
+
+Index: c++/demo.cc
+Prereq: 1.39
+--- ncurses-5.9/c++/demo.cc 2008-12-07 02:07:34.000000000 +0000
++++ ncurses-5.9-20130504/c++/demo.cc 2012-02-23 10:41:56.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * This makes emacs happy -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+ * Demo code for NCursesMenu and NCursesForm written by
+ * Juergen Pfeifer
+ *
+- * $Id: demo.cc,v 1.39 2008/12/07 02:07:34 juergen Exp $
++ * $Id: demo.cc,v 1.41 2012/02/23 10:41:56 tom Exp $
+ */
+
+ #include "internal.h"
+@@ -220,6 +220,7 @@
+ int chk;
+ protected:
+ bool field_check(NCursesFormField& f) {
++ (void) f;
+ return TRUE;
+ }
+ bool char_check(int c) {
+@@ -319,7 +320,7 @@
+ for(int i=1; i <= S->labels(); i++) {
+ char buf[8];
+ assert(i < 100);
+- ::sprintf(buf, "Frm%02d", i);
++ ::_nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf)) "Frm%02d", i);
+ (*S)[i] = buf; // Text
+ (*S)[i] = Soft_Label_Key_Set::Soft_Label_Key::Left; // Justification
+ }
+@@ -539,7 +540,7 @@
+ for(int i=1; i <= S.labels(); i++) {
+ char buf[8];
+ assert(i < 100);
+- ::sprintf(buf, "Key%02d", i);
++ ::_nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf)) "Key%02d", i);
+ S[i] = buf; // Text
+ S[i] = Soft_Label_Key_Set::Soft_Label_Key::Left; // Justification
+ }
+Index: c++/etip.h.in
+Prereq: 1.37
+--- ncurses-5.9/c++/etip.h.in 2008-08-30 19:27:32.000000000 +0000
++++ ncurses-5.9-20130504/c++/etip.h.in 2012-12-29 21:50:44.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * This makes emacs happy -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -31,7 +31,7 @@
+ * Author: Juergen Pfeifer, 1997 *
+ ****************************************************************************/
+
+-// $Id: etip.h.in,v 1.37 2008/08/30 19:27:32 tom Exp $
++// $Id: etip.h.in,v 1.39 2012/12/29 21:50:44 tom Exp $
+
+ #ifndef NCURSES_ETIP_H_incl
+ #define NCURSES_ETIP_H_incl 1
+@@ -184,7 +184,7 @@
+
+ NCursesPanelException (const char *msg, int err) :
+ NCursesException (msg, err),
+- p (NULL)
++ p (0)
+ {};
+
+ NCursesPanelException (const NCursesPanel* panel,
+@@ -196,7 +196,7 @@
+
+ NCursesPanelException (int err) :
+ NCursesException ("panel library error", err),
+- p (NULL)
++ p (0)
+ {};
+
+ NCursesPanelException (const NCursesPanel* panel,
+@@ -235,7 +235,7 @@
+
+ NCursesMenuException (const char *msg, int err) :
+ NCursesException (msg, err),
+- m (NULL)
++ m (0)
+ {};
+
+ NCursesMenuException (const NCursesMenu* menu,
+@@ -247,7 +247,7 @@
+
+ NCursesMenuException (int err) :
+ NCursesException ("menu library error", err),
+- m (NULL)
++ m (0)
+ {};
+
+ NCursesMenuException (const NCursesMenu* menu,
+@@ -286,7 +286,7 @@
+
+ NCursesFormException (const char *msg, int err) :
+ NCursesException (msg, err),
+- f (NULL)
++ f (0)
+ {};
+
+ NCursesFormException (const NCursesForm* form,
+@@ -298,7 +298,7 @@
+
+ NCursesFormException (int err) :
+ NCursesException ("form library error", err),
+- f (NULL)
++ f (0)
+ {};
+
+ NCursesFormException (const NCursesForm* form,
+@@ -367,11 +367,13 @@
+ #define NCURSES_CPP_TRY /* nothing */
+ #define NCURSES_CPP_CATCH(e) if (false)
+ #define THROWS(s) /* nothing */
++#define THROW2(s,t) /* nothing */
+ #elif CPP_HAS_TRY_CATCH
+ throw *e;
+ #define NCURSES_CPP_TRY try
+ #define NCURSES_CPP_CATCH(e) catch(e)
+ #define THROWS(s) throw(s)
++#define THROW2(s,t) throw(s,t)
+ #endif
+ }
+
+Index: c++/internal.h
+Prereq: 1.17
+--- ncurses-5.9/c++/internal.h 2008-12-07 02:07:34.000000000 +0000
++++ ncurses-5.9-20130504/c++/internal.h 2012-02-23 10:41:56.000000000 +0000
+@@ -1,6 +1,6 @@
+ // * This makes emacs happy -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2008,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -31,7 +31,7 @@
+ * Author: Juergen Pfeifer, 1997 *
+ ****************************************************************************/
+
+-// $Id: internal.h,v 1.17 2008/12/07 02:07:34 juergen Exp $
++// $Id: internal.h,v 1.18 2012/02/23 10:41:56 tom Exp $
+
+ #ifndef NCURSES_CPLUS_INTERNAL_H
+ #define NCURSES_CPLUS_INTERNAL_H 1
+@@ -62,4 +62,6 @@
+ #define NULL 0
+ #endif
+
++#include <nc_string.h>
++
+ #endif /* NCURSES_CPLUS_INTERNAL_H */
+Index: c++/modules
+Prereq: 1.7
+--- ncurses-5.9/c++/modules 2006-12-24 00:53:08.000000000 +0000
++++ ncurses-5.9-20130504/c++/modules 2013-03-30 19:41:11.000000000 +0000
+@@ -1,7 +1,7 @@
+ # Program modules
+-# $Id: modules,v 1.7 2006/12/24 00:53:08 tom Exp $
++# $Id: modules,v 1.11 2013/03/30 19:41:11 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998,2006 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2006,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -32,14 +32,13 @@
+ #
+
+ @ base
+-cursesf c++ $(srcdir) $(cursesf_h) $(cursesapp_h)
+-cursesm c++ $(srcdir) $(cursesm_h) $(cursesapp_h)
+-cursesp c++ $(srcdir) $(cursesp_h)
+-cursesw c++ $(srcdir) $(cursesw_h)
+-cursespad c++ $(srcdir) $(cursesw_h)
+-cursslk c++ $(srcdir) $(cursslk_h) $(cursesapp_h)
+-cursesapp c++ $(srcdir) $(cursesapp_h)
+-cursesmain c++ $(srcdir) $(cursesapp_h)
+-demo c++ $(srcdir) $(cursesf_h) $(cursesm_h) $(cursesapp_h)
++cursesf c++ $(srcdir) $(internal_h) $(cursesf_h) $(cursesapp_h)
++cursesm c++ $(srcdir) $(internal_h) $(cursesm_h) $(cursesapp_h)
++cursesw c++ $(srcdir) $(internal_h) $(cursesw_h)
++cursespad c++ $(srcdir) $(internal_h) $(cursesw_h)
++cursesp c++ $(srcdir) $(internal_h) $(cursesp_h)
++cursslk c++ $(srcdir) $(internal_h) $(cursesapp_h)
++cursesapp c++ $(srcdir) $(internal_h) $(cursesapp_h)
++cursesmain c++ $(srcdir) $(internal_h) $(cursesapp_h) $(INCDIR)/nc_alloc.h
+
+ # vile:makemode
+Index: config.guess
+--- ncurses-5.9/config.guess 2010-09-28 23:11:39.000000000 +0000
++++ ncurses-5.9-20130504/config.guess 2013-02-10 14:28:37.000000000 +0000
+@@ -1,14 +1,12 @@
+ #! /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, 2010
+-# Free Software Foundation, Inc.
++# Copyright 1992-2013 Free Software Foundation, Inc.
+
+-timestamp='2010-09-24'
++timestamp='2013-02-04'
+
+ # 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
+@@ -17,26 +15,22 @@
+ # 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,.*/,,'`
+
+@@ -56,9 +50,7 @@
+ 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, 2009, 2010 Free
+-Software Foundation, Inc.
++Copyright 1992-2013 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."
+@@ -92,7 +84,7 @@
+ exit 1
+ fi
+
+-trap 'exit 1' HUP INT TERM
++trap 'exit 1' 1 2 15
+
+ # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+ # compiler to aid in system detection is discouraged as it requires
+@@ -106,7 +98,7 @@
+
+ set_cc_for_build='
+ trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ;
++trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+ : ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+@@ -145,7 +137,7 @@
+ 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
+@@ -202,6 +194,10 @@
+ # 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}
+@@ -220,10 +216,10 @@
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+- *4.0)
++ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+- *5.*)
++ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+@@ -270,7 +266,10 @@
+ # 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
+@@ -301,7 +300,7 @@
+ 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:*:*)
+@@ -326,8 +325,8 @@
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ s390x:SunOS:*:*)
+- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+- exit ;;
++ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+@@ -495,7 +494,7 @@
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+- exit ;;
++ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+@@ -597,50 +596,50 @@
+ 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" ;;
++ 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>
+-
+- 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);
+- }
++ #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);
++
++ 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
+@@ -789,21 +788,26 @@
+ 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 ;;
++ i*:MSYS*:*)
++ echo ${UNAME_MACHINE}-pc-msys
++ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+@@ -820,8 +824,8 @@
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+- echo ia64-unknown-interix${UNAME_RELEASE}
+- exit ;;
++ echo ia64-unknown-interix${UNAME_RELEASE}
++ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+@@ -858,15 +862,22 @@
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
++ aarch64:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
++ exit ;;
++ aarch64_be:Linux:*:*)
++ UNAME_MACHINE=aarch64_be
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
++ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+- EV5) UNAME_MACHINE=alphaev5 ;;
+- EV56) UNAME_MACHINE=alphaev56 ;;
+- PCA56) UNAME_MACHINE=alphapca56 ;;
+- PCA57) UNAME_MACHINE=alphapca56 ;;
+- EV6) UNAME_MACHINE=alphaev6 ;;
+- EV67) UNAME_MACHINE=alphaev67 ;;
+- EV68*) UNAME_MACHINE=alphaev68 ;;
++ EV5) UNAME_MACHINE=alphaev5 ;;
++ EV56) UNAME_MACHINE=alphaev56 ;;
++ PCA56) UNAME_MACHINE=alphapca56 ;;
++ PCA57) UNAME_MACHINE=alphapca56 ;;
++ EV6) UNAME_MACHINE=alphaev6 ;;
++ EV67) UNAME_MACHINE=alphaev67 ;;
++ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+@@ -874,30 +885,39 @@
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+- if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null | \
+- grep -q __ARM_EABI__
++ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
++ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 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-gnueabi
++ else
++ echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
++ fi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ cris:Linux:*:*)
+- echo cris-axis-linux-gnu
++ echo ${UNAME_MACHINE}-axis-linux-gnu
+ exit ;;
+ crisv32:Linux:*:*)
+- echo crisv32-axis-linux-gnu
++ echo ${UNAME_MACHINE}-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+- echo frv-unknown-linux-gnu
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
++ exit ;;
++ hexagon:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ LIBC=gnu
+ eval $set_cc_for_build
+- sed 's/^ //' << EOF >$dummy.c
++ sed 's/^ //' << EOF >$dummy.c
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
+@@ -934,14 +954,14 @@
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ or32:Linux:*:*)
+- echo or32-unknown-linux-gnu
+- exit ;;
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
++ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-gnu
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+- echo hppa64-unknown-linux-gnu
+- exit ;;
++ echo hppa64-unknown-linux-gnu
++ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+@@ -969,13 +989,13 @@
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ tile*:Linux:*:*)
+- echo ${UNAME_MACHINE}-tilera-linux-gnu
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
+ x86_64:Linux:*:*)
+- echo x86_64-unknown-linux-gnu
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+@@ -1093,7 +1113,7 @@
+ && { 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; } ;;
++ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+@@ -1136,8 +1156,8 @@
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+- # says <Richard.M.Bartel@ccMail.Census.GOV>
++ 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*)
+@@ -1165,9 +1185,9 @@
+ 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 ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+@@ -1182,6 +1202,9 @@
+ 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 ;;
+@@ -1212,12 +1235,12 @@
+ 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
++ 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
+@@ -1226,8 +1249,8 @@
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+- UNAME_PROCESSOR=i386
+- UNAME_MACHINE=pc
++ UNAME_PROCESSOR=i386
++ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+@@ -1237,7 +1260,7 @@
+ NEO-?:NONSTOP_KERNEL:*:*)
+ echo neo-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+- NSE-?:NONSTOP_KERNEL:*:*)
++ NSE-*:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+@@ -1306,11 +1329,11 @@
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
++ x86_64:VMkernel:*:*)
++ echo ${UNAME_MACHINE}-unknown-esx
++ 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_
+@@ -1328,11 +1351,11 @@
+ #include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+ #ifdef NEWSOS4
+- "4"
++ "4"
+ #else
+- ""
++ ""
+ #endif
+- ); exit (0);
++ ); exit (0);
+ #endif
+ #endif
+
+Index: config.sub
+--- ncurses-5.9/config.sub 2010-09-10 22:25:58.000000000 +0000
++++ ncurses-5.9-20130504/config.sub 2013-02-10 14:28:47.000000000 +0000
+@@ -1,38 +1,31 @@
+ #! /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, 2010
+-# Free Software Foundation, Inc.
+-
+-timestamp='2010-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
++# Copyright 1992-2013 Free Software Foundation, Inc.
++
++timestamp='2013-02-04'
++
++# 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.
+@@ -75,9 +68,7 @@
+ version="\
+ GNU config.sub ($timestamp)
+
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+-Software Foundation, Inc.
++Copyright 1992-2013 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."
+@@ -125,13 +116,17 @@
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+ case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
++ 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 ]
+@@ -154,7 +149,7 @@
+ -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
+ ;;
+@@ -175,10 +170,10 @@
+ os=-chorusos
+ basic_machine=$1
+ ;;
+- -chorusrdb)
+- os=-chorusrdb
++ -chorusrdb)
++ os=-chorusrdb
+ basic_machine=$1
+- ;;
++ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+@@ -223,6 +218,12 @@
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
++ -lynx*178)
++ os=-lynxos178
++ ;;
++ -lynx*5)
++ os=-lynxos5
++ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+@@ -247,20 +248,27 @@
+ # 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 \
++ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
++ | avr | avr32 \
++ | be32 | be64 \
+ | bfin \
+ | c4x | 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 \
++ | 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 \
+@@ -278,30 +286,32 @@
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
++ | mipsr5900 | mipsr5900el \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+- | nds32 | nds32le | nds32be\
+- | nios | nios2 \
++ | nds32 | nds32le | nds32be \
++ | nios | nios2 | nios2eb | nios2el \
+ | ns16k | ns32k \
++ | open8 \
+ | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
++ | powerpc | powerpc64 | powerpc64le | powerpcle \
+ | pyramid \
+- | rx \
++ | 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 | tic54x | tic55x | tic6x | 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
+ ;;
+@@ -314,8 +324,7 @@
+ c6x)
+ basic_machine=tic6x-unknown
+ ;;
+- m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+- # Motorola 68HC11/12.
++ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+@@ -325,12 +334,27 @@
+ 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.
+ i*86 | x86_64)
+- basic_machine=$basic_machine-pc
+- ;;
++ basic_machine=$basic_machine-pc
++ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+@@ -339,11 +363,13 @@
+ # 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-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
++ | be32-* | be64-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
+ | clipper-* | craynv-* | cydra-* \
+@@ -352,12 +378,15 @@
+ | 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-* \
++ | 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-* \
+@@ -375,31 +404,34 @@
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
++ | mipsr5900-* | mipsr5900el-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nds32-* | nds32le-* | nds32be-* \
+- | nios-* | nios2-* \
++ | nios-* | nios2-* | nios2eb-* | nios2el-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
++ | open8-* \
+ | 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-* \
++ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
++ | tahoe-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+- | tile-* | tilegx-* \
++ | 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-*)
+@@ -539,7 +571,7 @@
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+- cr16)
++ cr16 | cr16-*)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+@@ -697,7 +729,6 @@
+ 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
+@@ -755,9 +786,13 @@
+ 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
+ os=-mingw32
+@@ -794,10 +829,18 @@
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
++ msys)
++ basic_machine=i386-pc
++ os=-msys
++ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
++ nacl)
++ basic_machine=le32-unknown
++ os=-nacl
++ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+@@ -950,9 +993,10 @@
+ ;;
+ 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
+@@ -977,7 +1021,11 @@
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+- rdos)
++ rdos | rdos64)
++ basic_machine=x86_64-pc
++ os=-rdos
++ ;;
++ rdos32)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+@@ -1046,6 +1094,9 @@
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
++ strongarm-* | thumb-*)
++ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+@@ -1102,13 +1153,8 @@
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+- # This must be matched before tile*.
+- tilegx*)
+- basic_machine=tilegx-unknown
+- os=-linux-gnu
+- ;;
+ tile*)
+- basic_machine=tile-unknown
++ basic_machine=$basic_machine-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+@@ -1178,6 +1224,9 @@
+ 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
+@@ -1303,21 +1352,21 @@
+ -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-android* \
+- | -linux-newlib* | -linux-uclibc* \
++ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
++ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
++ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+@@ -1449,9 +1498,6 @@
+ -aros*)
+ os=-aros
+ ;;
+- -kaos*)
+- os=-kaos
+- ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+@@ -1500,6 +1546,9 @@
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
++ hexagon-*)
++ os=-elf
++ ;;
+ tic54x-*)
+ os=-coff
+ ;;
+@@ -1527,9 +1576,6 @@
+ ;;
+ m68000-sun)
+ os=-sunos3
+- # This also exists in the configure program, but was not the
+- # default.
+- # os=-sunos4
+ ;;
+ m68*-cisco)
+ os=-aout
+Index: configure
+--- ncurses-5.9/configure 2011-03-31 23:35:51.000000000 +0000
++++ ncurses-5.9-20130504/configure 2013-04-27 19:50:56.000000000 +0000
+@@ -1,7 +1,7 @@
+ #! /bin/sh
+-# From configure.in Revision: 1.520 .
++# From configure.in Revision: 1.565 .
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by Autoconf 2.52.20101002.
++# Generated by Autoconf 2.52.20121002.
+ #
+ # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+ # Free Software Foundation, Inc.
+@@ -171,15 +171,16 @@
+ bindir='${exec_prefix}/bin'
+ sbindir='${exec_prefix}/sbin'
+ libexecdir='${exec_prefix}/libexec'
+-datadir='${prefix}/share'
++datarootdir='${prefix}/share'
++datadir='${datarootdir}'
+ sysconfdir='${prefix}/etc'
+ sharedstatedir='${prefix}/com'
+ localstatedir='${prefix}/var'
+ libdir='${exec_prefix}/lib'
+ includedir='${prefix}/include'
+ oldincludedir='/usr/include'
+-infodir='${prefix}/info'
+-mandir='${prefix}/man'
++infodir='${datarootdir}/info'
++mandir='${datarootdir}/man'
+
+ # Identity of this package.
+ PACKAGE_NAME=
+@@ -230,6 +231,13 @@
+ | --da=*)
+ datadir=$ac_optarg ;;
+
++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
++ | --dataroo | --dataro | --datar)
++ ac_prev=datarootdir ;;
++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
++ datarootdir=$ac_optarg ;;
++
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+@@ -505,7 +513,7 @@
+ done
+
+ # Be sure to have absolute paths.
+-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
++for ac_var in bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+ do
+ eval ac_val=$`echo $ac_var`
+@@ -654,15 +662,16 @@
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+- --datadir=DIR read-only architecture-independent data [PREFIX/share]
++ --datarootdir=DIR read-only architecture-independent data [PREFIX/share]
++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --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]
+- --infodir=DIR info documentation [PREFIX/info]
+- --mandir=DIR man documentation [PREFIX/man]
++ --infodir=DIR info documentation [DATAROOTDIR/info]
++ --mandir=DIR man documentation [DATAROOTDIR/man]
+ EOF
+
+ cat <<\EOF
+@@ -694,14 +703,15 @@
+ --with-rel-version=XXX override derived release version
+ --with-abi-version=XXX override derived ABI version
+ --with-system-type=XXX test: override derived host system-type
++ --without-ada suppress check for Ada95, don't build demo
+ --without-cxx do not adjust ncurses bool to match C++
+ --without-cxx-binding do not build C++ binding and demo
+- --without-ada suppress check for Ada95, don't build demo
+ --without-manpages suppress install of manpages
+ --without-progs suppress build with programs (e.g., tic)
+ --without-tests suppress build with test-programs
+ --without-curses-h install curses.h as ncurses.h only
+ --with-pkg-config{=path} enable/disable use of pkg-config
++ --with-pkg-config-libdir=XXX use given directory for installing pc-files
+ --enable-pc-files generate and install .pc files for pkg-config
+ --enable-mixed-case tic should assume mixed-case filenames
+ --with-install-prefix prefixes actual install-location ($DESTDIR)
+@@ -719,6 +729,8 @@
+ --with-normal generate normal-libraries (default)
+ --with-debug generate debug-libraries (default)
+ --with-profile generate profile-libraries
++ --with-cxx-shared generate C++ shared-libraries
++ --with-lib-prefix override library-prefix
+ --with-termlib generate separate terminfo library
+ --with-ticlib generate separate tic library
+ --with-gpm use Alessandro Rubini's GPM library
+@@ -735,6 +747,7 @@
+ --with-hashed-db specify hashed-database library
+ --with-fallbacks=XXX specify list of fallback terminal descriptions
+ --without-xterm-new specify if xterm terminfo should be old version
++ --with-xterm-kbs=XXX specify if xterm backspace sends BS or DEL
+ --with-terminfo-dirs=XXX specify list of terminfo directories (default: DATADIR/terminfo)
+ --with-default-terminfo-dir=DIR default terminfo directory (default: DATADIR/terminfo)
+ --disable-big-core assume machine has little memory
+@@ -759,6 +772,7 @@
+ --with-ospeed=TYPE override type of ospeed variable
+ --with-mmask-t=TYPE override type of mmask_t
+ --with-ccharw-max=XXX override size CCHARW_MAX
++ --with-tparm-arg=TYPE override parameter type of tparm
+ --with-rcs-ids compile-in RCS identifiers
+ Options to Specify How Manpages are Installed:
+ --with-manpage-format specify manpage-format: gzip/compress/BSDI/normal and
+@@ -796,8 +810,9 @@
+ --disable-scroll-hints compile without scroll-hints code
+ --enable-wgetch-events compile with experimental wgetch-events code
+ Testing/development Options:
+- --enable-echo build: display "compiling" commands (default)
++ --disable-echo do not display "compiling" commands
+ --enable-warnings build: turn on GCC compiler warnings
++ --enable-string-hacks work around bogus compiler/loader warnings
+ --enable-assertions test: turn on generation of assertion code
+ --with-dmalloc test: use Gray Watson's dmalloc library
+ --with-dbmalloc test: use Conor Cahill's dbmalloc library
+@@ -883,7 +898,7 @@
+ running configure, to aid debugging if configure makes a mistake.
+
+ It was created by $as_me, which was
+-generated by GNU Autoconf 2.52.20101002. Invocation command line was
++generated by GNU Autoconf 2.52.20121002. Invocation command line was
+
+ $ $0 $@
+
+@@ -1007,7 +1022,7 @@
+ fi
+ for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+- { echo "$as_me:1010: loading site script $ac_site_file" >&5
++ { echo "$as_me:1025: loading site script $ac_site_file" >&5
+ echo "$as_me: loading site script $ac_site_file" >&6;}
+ cat "$ac_site_file" >&5
+ . "$ac_site_file"
+@@ -1018,7 +1033,7 @@
+ # 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:1021: loading cache $cache_file" >&5
++ { echo "$as_me:1036: loading cache $cache_file" >&5
+ echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+@@ -1026,7 +1041,7 @@
+ esac
+ fi
+ else
+- { echo "$as_me:1029: creating cache $cache_file" >&5
++ { echo "$as_me:1044: creating cache $cache_file" >&5
+ echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+ fi
+@@ -1042,21 +1057,21 @@
+ eval ac_new_val="\$ac_env_${ac_var}_value"
+ case $ac_old_set,$ac_new_set in
+ set,)
+- { echo "$as_me:1045: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++ { echo "$as_me:1060: 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;}
+ ac_cache_corrupted=: ;;
+ ,set)
+- { echo "$as_me:1049: error: \`$ac_var' was not set in the previous run" >&5
++ { echo "$as_me:1064: 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;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+- { echo "$as_me:1055: error: \`$ac_var' has changed since the previous run:" >&5
++ { echo "$as_me:1070: 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:1057: former value: $ac_old_val" >&5
++ { echo "$as_me:1072: former value: $ac_old_val" >&5
+ echo "$as_me: former value: $ac_old_val" >&2;}
+- { echo "$as_me:1059: current value: $ac_new_val" >&5
++ { echo "$as_me:1074: current value: $ac_new_val" >&5
+ echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+@@ -1075,9 +1090,9 @@
+ fi
+ done
+ if $ac_cache_corrupted; then
+- { echo "$as_me:1078: error: changes in the environment can compromise the build" >&5
++ { echo "$as_me:1093: 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:1080: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
++ { { echo "$as_me:1095: 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; }; }
+ fi
+@@ -1098,10 +1113,10 @@
+ echo "#! $SHELL" >conftest.sh
+ echo "exit 0" >>conftest.sh
+ chmod +x conftest.sh
+-if { (echo "$as_me:1101: PATH=\".;.\"; conftest.sh") >&5
++if { (echo "$as_me:1116: PATH=\".;.\"; conftest.sh") >&5
+ (PATH=".;."; conftest.sh) 2>&5
+ ac_status=$?
+- echo "$as_me:1104: \$? = $ac_status" >&5
++ echo "$as_me:1119: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ ac_path_separator=';'
+ else
+@@ -1114,7 +1129,7 @@
+
+ top_builddir=`pwd`
+
+-echo "$as_me:1117: checking for egrep" >&5
++echo "$as_me:1132: checking for egrep" >&5
+ echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+ if test "${ac_cv_prog_egrep+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1124,11 +1139,11 @@
+ else ac_cv_prog_egrep='egrep'
+ fi
+ fi
+-echo "$as_me:1127: result: $ac_cv_prog_egrep" >&5
++echo "$as_me:1142: result: $ac_cv_prog_egrep" >&5
+ echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+ EGREP=$ac_cv_prog_egrep
+
+-test -z "$EGREP" && { { echo "$as_me:1131: error: No egrep program found" >&5
++test -z "$EGREP" && { { echo "$as_me:1146: error: No egrep program found" >&5
+ echo "$as_me: error: No egrep program found" >&2;}
+ { (exit 1); exit 1; }; }
+
+@@ -1138,7 +1153,7 @@
+ cf_cv_abi_version=${NCURSES_MAJOR}
+ cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
+ cf_cv_timestamp=`date`
+-echo "$as_me:1141: result: Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&5
++echo "$as_me:1156: result: Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&5
+ echo "${ECHO_T}Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&6
+
+ test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0
+@@ -1146,7 +1161,7 @@
+ # Check whether --with-rel-version or --without-rel-version was given.
+ if test "${with_rel_version+set}" = set; then
+ withval="$with_rel_version"
+- { echo "$as_me:1149: WARNING: overriding release version $cf_cv_rel_version to $withval" >&5
++ { echo "$as_me:1164: WARNING: overriding release version $cf_cv_rel_version to $withval" >&5
+ echo "$as_me: WARNING: overriding release version $cf_cv_rel_version to $withval" >&2;}
+ cf_cv_rel_version=$withval
+ fi;
+@@ -1159,13 +1174,13 @@
+ [0-9]*) #(vi
+ ;;
+ *)
+- { { echo "$as_me:1162: error: Release major-version is not a number: $NCURSES_MAJOR" >&5
++ { { echo "$as_me:1177: error: Release major-version is not a number: $NCURSES_MAJOR" >&5
+ echo "$as_me: error: Release major-version is not a number: $NCURSES_MAJOR" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+ else
+- { { echo "$as_me:1168: error: Release major-version value is empty" >&5
++ { { echo "$as_me:1183: error: Release major-version value is empty" >&5
+ echo "$as_me: error: Release major-version value is empty" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1175,13 +1190,13 @@
+ [0-9]*) #(vi
+ ;;
+ *)
+- { { echo "$as_me:1178: error: Release minor-version is not a number: $NCURSES_MINOR" >&5
++ { { echo "$as_me:1193: error: Release minor-version is not a number: $NCURSES_MINOR" >&5
+ echo "$as_me: error: Release minor-version is not a number: $NCURSES_MINOR" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+ else
+- { { echo "$as_me:1184: error: Release minor-version value is empty" >&5
++ { { echo "$as_me:1199: error: Release minor-version value is empty" >&5
+ echo "$as_me: error: Release minor-version value is empty" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1191,7 +1206,7 @@
+ # Check whether --with-abi-version or --without-abi-version was given.
+ if test "${with_abi_version+set}" = set; then
+ withval="$with_abi_version"
+- { echo "$as_me:1194: WARNING: overriding ABI version $cf_cv_abi_version to $withval" >&5
++ { echo "$as_me:1209: WARNING: overriding ABI version $cf_cv_abi_version to $withval" >&5
+ echo "$as_me: WARNING: overriding ABI version $cf_cv_abi_version to $withval" >&2;}
+ cf_cv_abi_version=$withval
+ fi;
+@@ -1201,13 +1216,13 @@
+ [0-9]*) #(vi
+ ;;
+ *)
+- { { echo "$as_me:1204: error: ABI version is not a number: $cf_cv_abi_version" >&5
++ { { echo "$as_me:1219: error: ABI version is not a number: $cf_cv_abi_version" >&5
+ echo "$as_me: error: ABI version is not a number: $cf_cv_abi_version" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+ else
+- { { echo "$as_me:1210: error: ABI version value is empty" >&5
++ { { echo "$as_me:1225: error: ABI version value is empty" >&5
+ echo "$as_me: error: ABI version value is empty" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1229,7 +1244,7 @@
+ fi
+ done
+ if test -z "$ac_aux_dir"; then
+- { { echo "$as_me:1232: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
++ { { echo "$as_me:1247: 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; }; }
+ fi
+@@ -1239,11 +1254,11 @@
+
+ # Make sure we can run config.sub.
+ $ac_config_sub sun4 >/dev/null 2>&1 ||
+- { { echo "$as_me:1242: error: cannot run $ac_config_sub" >&5
++ { { echo "$as_me:1257: error: cannot run $ac_config_sub" >&5
+ echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+-echo "$as_me:1246: checking build system type" >&5
++echo "$as_me:1261: 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
+@@ -1252,23 +1267,23 @@
+ test -z "$ac_cv_build_alias" &&
+ ac_cv_build_alias=`$ac_config_guess`
+ test -z "$ac_cv_build_alias" &&
+- { { echo "$as_me:1255: error: cannot guess build type; you must specify one" >&5
++ { { echo "$as_me:1270: 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; }; }
+ ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
+- { { echo "$as_me:1259: error: $ac_config_sub $ac_cv_build_alias failed." >&5
++ { { echo "$as_me:1274: error: $ac_config_sub $ac_cv_build_alias failed." >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1264: result: $ac_cv_build" >&5
++echo "$as_me:1279: result: $ac_cv_build" >&5
+ echo "${ECHO_T}$ac_cv_build" >&6
+ build=$ac_cv_build
+ build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+ build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+ build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+-echo "$as_me:1271: checking host system type" >&5
++echo "$as_me:1286: 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
+@@ -1277,12 +1292,12 @@
+ test -z "$ac_cv_host_alias" &&
+ ac_cv_host_alias=$ac_cv_build_alias
+ ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
+- { { echo "$as_me:1280: error: $ac_config_sub $ac_cv_host_alias failed" >&5
++ { { echo "$as_me:1295: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1285: result: $ac_cv_host" >&5
++echo "$as_me:1300: result: $ac_cv_host" >&5
+ echo "${ECHO_T}$ac_cv_host" >&6
+ host=$ac_cv_host
+ host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+@@ -1290,7 +1305,7 @@
+ host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+ if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
+- echo "$as_me:1293: checking target system type" >&5
++ echo "$as_me:1308: 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
+@@ -1299,12 +1314,12 @@
+ test "x$ac_cv_target_alias" = "x" &&
+ ac_cv_target_alias=$ac_cv_host_alias
+ ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
+- { { echo "$as_me:1302: error: $ac_config_sub $ac_cv_target_alias failed" >&5
++ { { echo "$as_me:1317: error: $ac_config_sub $ac_cv_target_alias failed" >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1307: result: $ac_cv_target" >&5
++echo "$as_me:1322: result: $ac_cv_target" >&5
+ echo "${ECHO_T}$ac_cv_target" >&6
+ target=$ac_cv_target
+ target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+@@ -1324,7 +1339,8 @@
+ system_name="`(hostname) 2>/dev/null`"
+ fi
+ fi
+-test -n "$system_name" && cat >>confdefs.h <<EOF
++test -n "$system_name" &&
++cat >>confdefs.h <<EOF
+ #define SYSTEM_NAME "$system_name"
+ EOF
+
+@@ -1335,13 +1351,13 @@
+ fi
+
+ test -z "$system_name" && system_name="$cf_cv_system_name"
+-test -n "$cf_cv_system_name" && echo "$as_me:1338: result: Configuring for $cf_cv_system_name" >&5
++test -n "$cf_cv_system_name" && echo "$as_me:1354: result: Configuring for $cf_cv_system_name" >&5
+ echo "${ECHO_T}Configuring for $cf_cv_system_name" >&6
+
+ if test ".$system_name" != ".$cf_cv_system_name" ; then
+- echo "$as_me:1342: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
++ echo "$as_me:1358: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
+ echo "${ECHO_T}Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&6
+- { { echo "$as_me:1344: error: \"Please remove config.cache and try again.\"" >&5
++ { { echo "$as_me:1360: error: \"Please remove config.cache and try again.\"" >&5
+ echo "$as_me: error: \"Please remove config.cache and try again.\"" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1349,9 +1365,11 @@
+ # Check whether --with-system-type or --without-system-type was given.
+ if test "${with_system_type+set}" = set; then
+ withval="$with_system_type"
+- { echo "$as_me:1352: WARNING: overriding system type to $withval" >&5
++ { echo "$as_me:1368: WARNING: overriding system type to $withval" >&5
+ echo "$as_me: WARNING: overriding system type to $withval" >&2;}
+- cf_cv_system_name=$withval
++ cf_cv_system_name=$withval
++ host_os=$withval
++
+ fi;
+
+ ### Save the given $CFLAGS to allow user-override.
+@@ -1359,23 +1377,23 @@
+
+ ### Default install-location
+
+-echo "$as_me:1362: checking for prefix" >&5
++echo "$as_me:1380: checking for prefix" >&5
+ echo $ECHO_N "checking for prefix... $ECHO_C" >&6
+ if test "x$prefix" = "xNONE" ; then
+ case "$cf_cv_system_name" in
+ # non-vendor systems don't have a conflict
+- openbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
++ openbsd*|freebsd*|mirbsd*|linux*|cygwin*|k*bsd*-gnu|mingw*)
+ prefix=/usr
+ ;;
+ *) prefix=$ac_default_prefix
+ ;;
+ esac
+ fi
+-echo "$as_me:1374: result: $prefix" >&5
++echo "$as_me:1392: result: $prefix" >&5
+ echo "${ECHO_T}$prefix" >&6
+
+ if test "x$prefix" = "xNONE" ; then
+-echo "$as_me:1378: checking for default include-directory" >&5
++echo "$as_me:1396: checking for default include-directory" >&5
+ echo $ECHO_N "checking for default include-directory... $ECHO_C" >&6
+ test -n "$verbose" && echo 1>&6
+ for cf_symbol in \
+@@ -1398,11 +1416,26 @@
+ fi
+ test -n "$verbose" && echo " tested $cf_dir" 1>&6
+ done
+-echo "$as_me:1401: result: $includedir" >&5
++echo "$as_me:1419: result: $includedir" >&5
+ echo "${ECHO_T}$includedir" >&6
+ fi
+
+ ### Checks for programs.
++
++# Check whether --with-ada or --without-ada was given.
++if test "${with_ada+set}" = set; then
++ withval="$with_ada"
++ cf_with_ada=$withval
++else
++ cf_with_ada=yes
++fi;
++if test "x$cf_with_ada" = xyes
++then
++ cf_PROG_CC="gnatgcc gcc cc"
++else
++ cf_PROG_CC="gcc cc"
++fi
++
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+@@ -1410,213 +1443,11 @@
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ ac_main_return=return
+ 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:1415: 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
+-else
+- if test -n "$CC"; then
+- ac_cv_prog_CC="$CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_CC="${ac_tool_prefix}gcc"
+-echo "$as_me:1430: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-CC=$ac_cv_prog_CC
+-if test -n "$CC"; then
+- echo "$as_me:1438: result: $CC" >&5
+-echo "${ECHO_T}$CC" >&6
+-else
+- echo "$as_me:1441: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+-fi
+-if test -z "$ac_cv_prog_CC"; then
+- 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:1450: 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
+-else
+- if test -n "$ac_ct_CC"; then
+- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_ac_ct_CC="gcc"
+-echo "$as_me:1465: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-ac_ct_CC=$ac_cv_prog_ac_ct_CC
+-if test -n "$ac_ct_CC"; then
+- echo "$as_me:1473: result: $ac_ct_CC" >&5
+-echo "${ECHO_T}$ac_ct_CC" >&6
+-else
+- echo "$as_me:1476: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+- CC=$ac_ct_CC
+-else
+- CC="$ac_cv_prog_CC"
+-fi
+-
+-if test -z "$CC"; then
+- 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:1489: 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
+-else
+- if test -n "$CC"; then
+- ac_cv_prog_CC="$CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_CC="${ac_tool_prefix}cc"
+-echo "$as_me:1504: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-CC=$ac_cv_prog_CC
+-if test -n "$CC"; then
+- echo "$as_me:1512: result: $CC" >&5
+-echo "${ECHO_T}$CC" >&6
+-else
+- echo "$as_me:1515: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+-fi
+-if test -z "$ac_cv_prog_CC"; then
+- ac_ct_CC=$CC
+- # Extract the first word of "cc", so it can be a program name with args.
+-set dummy cc; ac_word=$2
+-echo "$as_me:1524: 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
+-else
+- if test -n "$ac_ct_CC"; then
+- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_ac_ct_CC="cc"
+-echo "$as_me:1539: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-ac_ct_CC=$ac_cv_prog_ac_ct_CC
+-if test -n "$ac_ct_CC"; then
+- echo "$as_me:1547: result: $ac_ct_CC" >&5
+-echo "${ECHO_T}$ac_ct_CC" >&6
+-else
+- echo "$as_me:1550: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+- CC=$ac_ct_CC
+-else
+- CC="$ac_cv_prog_CC"
+-fi
+-
+-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:1563: 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
+-else
+- if test -n "$CC"; then
+- ac_cv_prog_CC="$CC" # Let the user override the test.
+-else
+- ac_prog_rejected=no
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+- ac_prog_rejected=yes
+- continue
+-fi
+-ac_cv_prog_CC="cc"
+-echo "$as_me:1583: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-if test $ac_prog_rejected = yes; then
+- # We found a bogon in the path, so make sure we never use it.
+- set dummy $ac_cv_prog_CC
+- shift
+- if test $# != 0; then
+- # We chose a different compiler from the bogus one.
+- # However, it has the same basename, so the bogon will be chosen
+- # first if we set CC to just the basename; use the full file name.
+- shift
+- set dummy "$ac_dir/$ac_word" ${1+"$@"}
+- shift
+- ac_cv_prog_CC="$@"
+- fi
+-fi
+-fi
+-fi
+-CC=$ac_cv_prog_CC
+-if test -n "$CC"; then
+- echo "$as_me:1605: result: $CC" >&5
+-echo "${ECHO_T}$CC" >&6
+-else
+- echo "$as_me:1608: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+-fi
+-if test -z "$CC"; then
+- if test -n "$ac_tool_prefix"; then
+- for ac_prog in cl
++ for ac_prog in $cf_PROG_CC
+ 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:1619: checking for $ac_word" >&5
++echo "$as_me:1450: 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
+@@ -1631,7 +1462,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+-echo "$as_me:1634: found $ac_dir/$ac_word" >&5
++echo "$as_me:1465: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1639,10 +1470,10 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:1642: result: $CC" >&5
++ echo "$as_me:1473: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+- echo "$as_me:1645: result: no" >&5
++ echo "$as_me:1476: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1651,11 +1482,11 @@
+ fi
+ if test -z "$CC"; then
+ ac_ct_CC=$CC
+- for ac_prog in cl
++ for ac_prog in $cf_PROG_CC
+ 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:1658: checking for $ac_word" >&5
++echo "$as_me:1489: 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
+@@ -1670,7 +1501,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+-echo "$as_me:1673: found $ac_dir/$ac_word" >&5
++echo "$as_me:1504: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1678,10 +1509,10 @@
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+- echo "$as_me:1681: result: $ac_ct_CC" >&5
++ echo "$as_me:1512: result: $ac_ct_CC" >&5
+ echo "${ECHO_T}$ac_ct_CC" >&6
+ else
+- echo "$as_me:1684: result: no" >&5
++ echo "$as_me:1515: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1691,34 +1522,32 @@
+ CC=$ac_ct_CC
+ fi
+
+-fi
+-
+-test -z "$CC" && { { echo "$as_me:1696: error: no acceptable cc found in \$PATH" >&5
++test -z "$CC" && { { echo "$as_me:1525: error: no acceptable cc found in \$PATH" >&5
+ echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Provide some information about the compiler.
+-echo "$as_me:1701:" \
++echo "$as_me:1530:" \
+ "checking for C compiler version" >&5
+ ac_compiler=`set X $ac_compile; echo $2`
+-{ (eval echo "$as_me:1704: \"$ac_compiler --version </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1533: \"$ac_compiler --version </dev/null >&5\"") >&5
+ (eval $ac_compiler --version </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1707: \$? = $ac_status" >&5
++ echo "$as_me:1536: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:1709: \"$ac_compiler -v </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1538: \"$ac_compiler -v </dev/null >&5\"") >&5
+ (eval $ac_compiler -v </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1712: \$? = $ac_status" >&5
++ echo "$as_me:1541: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:1714: \"$ac_compiler -V </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1543: \"$ac_compiler -V </dev/null >&5\"") >&5
+ (eval $ac_compiler -V </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1717: \$? = $ac_status" >&5
++ echo "$as_me:1546: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1721 "configure"
++#line 1550 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1734,13 +1563,13 @@
+ # 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:1737: checking for C compiler default output" >&5
++echo "$as_me:1566: checking for C compiler default output" >&5
+ echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
+ ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+-if { (eval echo "$as_me:1740: \"$ac_link_default\"") >&5
++if { (eval echo "$as_me:1569: \"$ac_link_default\"") >&5
+ (eval $ac_link_default) 2>&5
+ ac_status=$?
+- echo "$as_me:1743: \$? = $ac_status" >&5
++ echo "$as_me:1572: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Find the output, starting from the most likely. This scheme is
+ # not robust to junk in `.', hence go to wildcards (a.*) only as a last
+@@ -1763,34 +1592,34 @@
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-{ { echo "$as_me:1766: error: C compiler cannot create executables" >&5
++{ { echo "$as_me:1595: error: C compiler cannot create executables" >&5
+ echo "$as_me: error: C compiler cannot create executables" >&2;}
+ { (exit 77); exit 77; }; }
+ fi
+
+ ac_exeext=$ac_cv_exeext
+-echo "$as_me:1772: result: $ac_file" >&5
++echo "$as_me:1601: result: $ac_file" >&5
+ echo "${ECHO_T}$ac_file" >&6
+
+ # Check the compiler produces executables we can run. If not, either
+ # the compiler is broken, or we cross compile.
+-echo "$as_me:1777: checking whether the C compiler works" >&5
++echo "$as_me:1606: 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'
+- { (eval echo "$as_me:1783: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1612: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1786: \$? = $ac_status" >&5
++ echo "$as_me:1615: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+- { { echo "$as_me:1793: error: cannot run C compiled programs.
++ { { echo "$as_me:1622: error: cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'." >&5
+ echo "$as_me: error: cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'." >&2;}
+@@ -1798,24 +1627,24 @@
+ fi
+ fi
+ fi
+-echo "$as_me:1801: result: yes" >&5
++echo "$as_me:1630: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+
+ rm -f a.out a.exe conftest$ac_cv_exeext
+ ac_clean_files=$ac_clean_files_save
+ # Check the compiler produces executables we can run. If not, either
+ # the compiler is broken, or we cross compile.
+-echo "$as_me:1808: checking whether we are cross compiling" >&5
++echo "$as_me:1637: checking whether we are cross compiling" >&5
+ echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+-echo "$as_me:1810: result: $cross_compiling" >&5
++echo "$as_me:1639: result: $cross_compiling" >&5
+ echo "${ECHO_T}$cross_compiling" >&6
+
+-echo "$as_me:1813: checking for executable suffix" >&5
++echo "$as_me:1642: checking for executable suffix" >&5
+ echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6
+-if { (eval echo "$as_me:1815: \"$ac_link\"") >&5
++if { (eval echo "$as_me:1644: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:1818: \$? = $ac_status" >&5
++ echo "$as_me:1647: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+ # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+@@ -1831,25 +1660,25 @@
+ esac
+ done
+ else
+- { { echo "$as_me:1834: error: cannot compute EXEEXT: cannot compile and link" >&5
++ { { echo "$as_me:1663: error: cannot compute EXEEXT: cannot compile and link" >&5
+ echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ rm -f conftest$ac_cv_exeext
+-echo "$as_me:1840: result: $ac_cv_exeext" >&5
++echo "$as_me:1669: result: $ac_cv_exeext" >&5
+ echo "${ECHO_T}$ac_cv_exeext" >&6
+
+ rm -f conftest.$ac_ext
+ EXEEXT=$ac_cv_exeext
+ ac_exeext=$EXEEXT
+-echo "$as_me:1846: checking for object suffix" >&5
++echo "$as_me:1675: checking for object suffix" >&5
+ echo $ECHO_N "checking for object suffix... $ECHO_C" >&6
+ if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1852 "configure"
++#line 1681 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1861,10 +1690,10 @@
+ }
+ _ACEOF
+ rm -f conftest.o conftest.obj
+-if { (eval echo "$as_me:1864: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1693: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1867: \$? = $ac_status" >&5
++ echo "$as_me:1696: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+ case $ac_file in
+@@ -1876,24 +1705,24 @@
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-{ { echo "$as_me:1879: error: cannot compute OBJEXT: cannot compile" >&5
++{ { echo "$as_me:1708: error: cannot compute OBJEXT: cannot compile" >&5
+ echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ rm -f conftest.$ac_cv_objext conftest.$ac_ext
+ fi
+-echo "$as_me:1886: result: $ac_cv_objext" >&5
++echo "$as_me:1715: result: $ac_cv_objext" >&5
+ echo "${ECHO_T}$ac_cv_objext" >&6
+ OBJEXT=$ac_cv_objext
+ ac_objext=$OBJEXT
+-echo "$as_me:1890: checking whether we are using the GNU C compiler" >&5
++echo "$as_me:1719: 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
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1896 "configure"
++#line 1725 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1908,16 +1737,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1911: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1740: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1914: \$? = $ac_status" >&5
++ echo "$as_me:1743: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1917: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1746: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1920: \$? = $ac_status" >&5
++ echo "$as_me:1749: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_compiler_gnu=yes
+ else
+@@ -1929,19 +1758,19 @@
+ ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+ fi
+-echo "$as_me:1932: result: $ac_cv_c_compiler_gnu" >&5
++echo "$as_me:1761: result: $ac_cv_c_compiler_gnu" >&5
+ echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+ GCC=`test $ac_compiler_gnu = yes && echo yes`
+ ac_test_CFLAGS=${CFLAGS+set}
+ ac_save_CFLAGS=$CFLAGS
+ CFLAGS="-g"
+-echo "$as_me:1938: checking whether $CC accepts -g" >&5
++echo "$as_me:1767: 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
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1944 "configure"
++#line 1773 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1953,16 +1782,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1956: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1785: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1959: \$? = $ac_status" >&5
++ echo "$as_me:1788: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1962: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1791: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1965: \$? = $ac_status" >&5
++ echo "$as_me:1794: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_g=yes
+ else
+@@ -1972,7 +1801,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:1975: result: $ac_cv_prog_cc_g" >&5
++echo "$as_me:1804: result: $ac_cv_prog_cc_g" >&5
+ echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+@@ -1999,16 +1828,16 @@
+ #endif
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2002: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1831: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2005: \$? = $ac_status" >&5
++ echo "$as_me:1834: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2008: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1837: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2011: \$? = $ac_status" >&5
++ echo "$as_me:1840: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+ ''\
+@@ -2020,7 +1849,7 @@
+ 'void exit (int);'
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2023 "configure"
++#line 1852 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ $ac_declaration
+@@ -2033,16 +1862,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2036: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1865: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2039: \$? = $ac_status" >&5
++ echo "$as_me:1868: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2042: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1871: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2045: \$? = $ac_status" >&5
++ echo "$as_me:1874: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -2052,7 +1881,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2055 "configure"
++#line 1884 "configure"
+ #include "confdefs.h"
+ $ac_declaration
+ int
+@@ -2064,16 +1893,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2067: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1896: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2070: \$? = $ac_status" >&5
++ echo "$as_me:1899: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2073: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1902: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2076: \$? = $ac_status" >&5
++ echo "$as_me:1905: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -2103,55 +1932,246 @@
+
+ GCC_VERSION=none
+ if test "$GCC" = yes ; then
+- echo "$as_me:2106: checking version of $CC" >&5
++ echo "$as_me:1935: checking version of $CC" >&5
+ echo $ECHO_N "checking version of $CC... $ECHO_C" >&6
+- GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
++ GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[^)]*) //' -e 's/^.*(Debian[^)]*) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
+ test -z "$GCC_VERSION" && GCC_VERSION=unknown
+- echo "$as_me:2110: result: $GCC_VERSION" >&5
++ echo "$as_me:1939: result: $GCC_VERSION" >&5
+ echo "${ECHO_T}$GCC_VERSION" >&6
+ 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
+-ac_main_return=return
+-echo "$as_me:2120: 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 "$as_me:1943: checking for $CC option to accept ANSI C" >&5
++echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
++if test "${ac_cv_prog_cc_stdc+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.
+- # 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
+-#line 2141 "configure"
++ ac_cv_prog_cc_stdc=no
++ac_save_CC=$CC
++cat >conftest.$ac_ext <<_ACEOF
++#line 1951 "configure"
+ #include "confdefs.h"
+-#include <assert.h>
+- Syntax error
++#include <stdarg.h>
++#include <stdio.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++/* 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);
++static char *e (p, i)
++ char **p;
++ int i;
++{
++ return p[i];
++}
++static char *f (char * (*g) (char **, int), char **p, ...)
++{
++ char *s;
++ va_list v;
++ va_start (v,p);
++ s = g (p, va_arg (v,int));
++ va_end (v);
++ return s;
++}
++int test (int i, double x);
++struct s1 {int (*f) (int a);};
++struct s2 {int (*f) (double a);};
++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
++int argc;
++char **argv;
++int
++main ()
++{
++return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
++ ;
++ return 0;
++}
+ _ACEOF
+-if { (eval echo "$as_me:2146: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:2152: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
++# Don't try gcc -ansi; that turns off useful extensions and
++# breaks some systems' header files.
++# AIX -qlanglvl=ansi
++# Ultrix and OSF/1 -std1
++# HP-UX 10.20 and later -Ae
++# HP-UX older versions -Aa -D_HPUX_SOURCE
++# SVR4 -Xc -D__EXTENSIONS__
++for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
++do
++ CC="$ac_save_CC $ac_arg"
++ rm -f conftest.$ac_objext
++if { (eval echo "$as_me:2000: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:2003: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:2006: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:2009: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_prog_cc_stdc=$ac_arg
++break
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++fi
++rm -f conftest.$ac_objext
++done
++rm -f conftest.$ac_ext conftest.$ac_objext
++CC=$ac_save_CC
++
++fi
++
++case "x$ac_cv_prog_cc_stdc" in
++ x|xno)
++ echo "$as_me:2026: result: none needed" >&5
++echo "${ECHO_T}none needed" >&6 ;;
++ *)
++ echo "$as_me:2029: result: $ac_cv_prog_cc_stdc" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
++ CC="$CC $ac_cv_prog_cc_stdc" ;;
++esac
++
++# This should have been defined by AC_PROG_CC
++: ${CC:=cc}
++
++echo "$as_me:2037: checking \$CC variable" >&5
++echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6
++case "$CC" in #(vi
++*[\ \ ]-[IUD]*)
++ echo "$as_me:2041: result: broken" >&5
++echo "${ECHO_T}broken" >&6
++ { echo "$as_me:2043: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
++echo "$as_me: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
++ # humor him...
++ cf_flags=`echo "$CC" | sed -e 's/^[^ ]*[ ]//'`
++ CC=`echo "$CC" | sed -e 's/[ ].*//'`
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_flags
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++ ;;
++*)
++ echo "$as_me:2129: result: ok" >&5
++echo "${ECHO_T}ok" >&6
++ ;;
++esac
++
++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
++ac_main_return=return
++echo "$as_me:2140: 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.
++ # 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
++#line 2161 "configure"
++#include "confdefs.h"
++#include <assert.h>
++ Syntax error
++_ACEOF
++if { (eval echo "$as_me:2166: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:2172: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+ else
+ ac_cpp_err=
+@@ -2172,17 +2192,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2175 "configure"
++#line 2195 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:2179: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2199: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:2185: \$? = $ac_status" >&5
++ echo "$as_me:2205: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -2219,7 +2239,7 @@
+ else
+ ac_cv_prog_CPP=$CPP
+ fi
+-echo "$as_me:2222: result: $CPP" >&5
++echo "$as_me:2242: result: $CPP" >&5
+ echo "${ECHO_T}$CPP" >&6
+ ac_preproc_ok=false
+ for ac_c_preproc_warn_flag in '' yes
+@@ -2229,18 +2249,18 @@
+ # 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
+-#line 2232 "configure"
++#line 2252 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:2237: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2257: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:2243: \$? = $ac_status" >&5
++ echo "$as_me:2263: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -2263,17 +2283,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2266 "configure"
++#line 2286 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:2270: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2290: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:2276: \$? = $ac_status" >&5
++ echo "$as_me:2296: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -2301,7 +2321,7 @@
+ if $ac_preproc_ok; then
+ :
+ else
+- { { echo "$as_me:2304: error: C preprocessor \"$CPP\" fails sanity check" >&5
++ { { echo "$as_me:2324: error: C preprocessor \"$CPP\" fails sanity check" >&5
+ echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -2314,14 +2334,14 @@
+ ac_main_return=return
+
+ if test $ac_cv_c_compiler_gnu = yes; then
+- echo "$as_me:2317: checking whether $CC needs -traditional" >&5
++ echo "$as_me:2337: checking whether $CC needs -traditional" >&5
+ echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6
+ if test "${ac_cv_prog_gcc_traditional+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_pattern="Autoconf.*'x'"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2324 "configure"
++#line 2344 "configure"
+ #include "confdefs.h"
+ #include <sgtty.h>
+ int Autoconf = TIOCGETP;
+@@ -2336,7 +2356,7 @@
+
+ if test $ac_cv_prog_gcc_traditional = no; then
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2339 "configure"
++#line 2359 "configure"
+ #include "confdefs.h"
+ #include <termio.h>
+ int Autoconf = TCGETA;
+@@ -2349,14 +2369,14 @@
+
+ fi
+ fi
+-echo "$as_me:2352: result: $ac_cv_prog_gcc_traditional" >&5
++echo "$as_me:2372: result: $ac_cv_prog_gcc_traditional" >&5
+ echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6
+ if test $ac_cv_prog_gcc_traditional = yes; then
+ CC="$CC -traditional"
+ fi
+ fi
+
+-echo "$as_me:2359: checking whether $CC understands -c and -o together" >&5
++echo "$as_me:2379: checking whether $CC understands -c and -o together" >&5
+ echo $ECHO_N "checking whether $CC understands -c and -o together... $ECHO_C" >&6
+ if test "${cf_cv_prog_CC_c_o+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2372,15 +2392,15 @@
+ # 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'
+-if { (eval echo "$as_me:2375: \"$ac_try\"") >&5
++if { (eval echo "$as_me:2395: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2378: \$? = $ac_status" >&5
++ echo "$as_me:2398: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- test -f conftest2.$ac_objext && { (eval echo "$as_me:2380: \"$ac_try\"") >&5
++ test -f conftest2.$ac_objext && { (eval echo "$as_me:2400: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2383: \$? = $ac_status" >&5
++ echo "$as_me:2403: \$? = $ac_status" >&5
+ (exit $ac_status); };
+ then
+ eval cf_cv_prog_CC_c_o=yes
+@@ -2391,318 +2411,24 @@
+
+ fi
+ if test $cf_cv_prog_CC_c_o = yes; then
+- echo "$as_me:2394: result: yes" >&5
++ echo "$as_me:2414: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+- echo "$as_me:2397: result: no" >&5
++ echo "$as_me:2417: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+-echo "$as_me:2401: checking for POSIXized ISC" >&5
+-echo $ECHO_N "checking for POSIXized ISC... $ECHO_C" >&6
+-if test -d /etc/conf/kconfig.d &&
+- grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
+-then
+- echo "$as_me:2406: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- ISC=yes # If later tests want to check for ISC.
+-
+-cat >>confdefs.h <<\EOF
+-#define _POSIX_SOURCE 1
+-EOF
+-
+- if test "$GCC" = yes; then
+- CC="$CC -posix"
+- else
+- CC="$CC -Xp"
+- fi
+-else
+- echo "$as_me:2420: result: no" >&5
+-echo "${ECHO_T}no" >&6
+- ISC=
+-fi
+-
+-echo "$as_me:2425: checking for ${CC:-cc} option to accept ANSI C" >&5
+-echo $ECHO_N "checking for ${CC:-cc} option to accept ANSI C... $ECHO_C" >&6
+-if test "${cf_cv_ansi_cc+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+-cf_cv_ansi_cc=no
+-cf_save_CFLAGS="$CFLAGS"
+-cf_save_CPPFLAGS="$CPPFLAGS"
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc
+-# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
+-for cf_arg in "-DCC_HAS_PROTOS" \
+- "" \
+- -qlanglvl=ansi \
+- -std1 \
+- -Ae \
+- "-Aa -D_HPUX_SOURCE" \
+- -Xc
+-do
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_arg
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 2529 "configure"
+-#include "confdefs.h"
+-
+-#ifndef CC_HAS_PROTOS
+-#if !defined(__STDC__) || (__STDC__ != 1)
+-choke me
+-#endif
+-#endif
+-
+-int
+-main ()
+-{
+-
+- int test (int i, double x);
+- struct s1 {int (*f) (int a);};
+- struct s2 {int (*f) (double a);};
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2550: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:2553: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2556: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:2559: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_cv_ansi_cc="$cf_arg"; break
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-done
+-CFLAGS="$cf_save_CFLAGS"
+-CPPFLAGS="$cf_save_CPPFLAGS"
+-
+-fi
+-echo "$as_me:2572: result: $cf_cv_ansi_cc" >&5
+-echo "${ECHO_T}$cf_cv_ansi_cc" >&6
+-
+-if test "$cf_cv_ansi_cc" != "no"; then
+-if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_cv_ansi_cc
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+-else
+- cat >>confdefs.h <<\EOF
+-#define CC_HAS_PROTOS 1
+-EOF
+-
+-fi
+-fi
+-
+-if test "$cf_cv_ansi_cc" = "no"; then
+- { { echo "$as_me:2665: error: Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto" >&5
+-echo "$as_me: error: Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto" >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-
+-case $cf_cv_system_name in
+-os2*)
+- CFLAGS="$CFLAGS -Zmt"
+- CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
+- CXXFLAGS="$CXXFLAGS -Zmt"
+- # autoconf's macro sets -Zexe and suffix both, which conflict:w
+- LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
+- ac_cv_exeext=.exe
+- ;;
+-esac
+-
+-PROG_EXT="$EXEEXT"
+-
+-test -n "$PROG_EXT" && cat >>confdefs.h <<EOF
+-#define PROG_EXT "$PROG_EXT"
+-EOF
+-
+ if test "$cross_compiling" = yes ; then
+ LDCONFIG=:
+ else
+ case "$cf_cv_system_name" in #(vi
+-dragonfly*|freebsd*) #(vi
++dragonfly*|mirbsd*|freebsd*) #(vi
+ test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
+ ;;
+ *) LDPATH=$PATH:/sbin:/usr/sbin
+ # Extract the first word of "ldconfig", so it can be a program name with args.
+ set dummy ldconfig; ac_word=$2
+-echo "$as_me:2705: checking for $ac_word" >&5
++echo "$as_me:2431: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_LDCONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2719,7 +2445,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ if $as_executable_p "$ac_dir/$ac_word"; then
+ ac_cv_path_LDCONFIG="$ac_dir/$ac_word"
+- echo "$as_me:2722: found $ac_dir/$ac_word" >&5
++ echo "$as_me:2448: found $ac_dir/$ac_word" >&5
+ break
+ fi
+ done
+@@ -2730,10 +2456,10 @@
+ LDCONFIG=$ac_cv_path_LDCONFIG
+
+ if test -n "$LDCONFIG"; then
+- echo "$as_me:2733: result: $LDCONFIG" >&5
++ echo "$as_me:2459: result: $LDCONFIG" >&5
+ echo "${ECHO_T}$LDCONFIG" >&6
+ else
+- echo "$as_me:2736: result: no" >&5
++ echo "$as_me:2462: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2741,7 +2467,7 @@
+ esac
+ fi
+
+-echo "$as_me:2744: checking if you want to ensure bool is consistent with C++" >&5
++echo "$as_me:2470: checking if you want to ensure bool is consistent with C++" >&5
+ echo $ECHO_N "checking if you want to ensure bool is consistent with C++... $ECHO_C" >&6
+
+ # Check whether --with-cxx or --without-cxx was given.
+@@ -2751,7 +2477,7 @@
+ else
+ cf_with_cxx=yes
+ fi;
+-echo "$as_me:2754: result: $cf_with_cxx" >&5
++echo "$as_me:2480: result: $cf_with_cxx" >&5
+ echo "${ECHO_T}$cf_with_cxx" >&6
+ if test "X$cf_with_cxx" = Xno ; then
+ CXX=""
+@@ -2769,7 +2495,7 @@
+ 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:2772: checking for $ac_word" >&5
++echo "$as_me:2498: 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
+@@ -2784,7 +2510,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+-echo "$as_me:2787: found $ac_dir/$ac_word" >&5
++echo "$as_me:2513: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2792,10 +2518,10 @@
+ fi
+ CXX=$ac_cv_prog_CXX
+ if test -n "$CXX"; then
+- echo "$as_me:2795: result: $CXX" >&5
++ echo "$as_me:2521: result: $CXX" >&5
+ echo "${ECHO_T}$CXX" >&6
+ else
+- echo "$as_me:2798: result: no" >&5
++ echo "$as_me:2524: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2808,7 +2534,7 @@
+ 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:2811: checking for $ac_word" >&5
++echo "$as_me:2537: 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
+@@ -2823,7 +2549,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+-echo "$as_me:2826: found $ac_dir/$ac_word" >&5
++echo "$as_me:2552: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2831,10 +2557,10 @@
+ fi
+ ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+ if test -n "$ac_ct_CXX"; then
+- echo "$as_me:2834: result: $ac_ct_CXX" >&5
++ echo "$as_me:2560: result: $ac_ct_CXX" >&5
+ echo "${ECHO_T}$ac_ct_CXX" >&6
+ else
+- echo "$as_me:2837: result: no" >&5
++ echo "$as_me:2563: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2846,32 +2572,32 @@
+ fi
+
+ # Provide some information about the compiler.
+-echo "$as_me:2849:" \
++echo "$as_me:2575:" \
+ "checking for C++ compiler version" >&5
+ ac_compiler=`set X $ac_compile; echo $2`
+-{ (eval echo "$as_me:2852: \"$ac_compiler --version </dev/null >&5\"") >&5
++{ (eval echo "$as_me:2578: \"$ac_compiler --version </dev/null >&5\"") >&5
+ (eval $ac_compiler --version </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:2855: \$? = $ac_status" >&5
++ echo "$as_me:2581: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:2857: \"$ac_compiler -v </dev/null >&5\"") >&5
++{ (eval echo "$as_me:2583: \"$ac_compiler -v </dev/null >&5\"") >&5
+ (eval $ac_compiler -v </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:2860: \$? = $ac_status" >&5
++ echo "$as_me:2586: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:2862: \"$ac_compiler -V </dev/null >&5\"") >&5
++{ (eval echo "$as_me:2588: \"$ac_compiler -V </dev/null >&5\"") >&5
+ (eval $ac_compiler -V </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:2865: \$? = $ac_status" >&5
++ echo "$as_me:2591: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+-echo "$as_me:2868: checking whether we are using the GNU C++ compiler" >&5
++echo "$as_me:2594: 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
+-#line 2874 "configure"
++#line 2600 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -2886,16 +2612,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2889: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2615: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2892: \$? = $ac_status" >&5
++ echo "$as_me:2618: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2895: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2621: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2898: \$? = $ac_status" >&5
++ echo "$as_me:2624: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_compiler_gnu=yes
+ else
+@@ -2907,19 +2633,19 @@
+ ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+ fi
+-echo "$as_me:2910: result: $ac_cv_cxx_compiler_gnu" >&5
++echo "$as_me:2636: 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
+ CXXFLAGS="-g"
+-echo "$as_me:2916: checking whether $CXX accepts -g" >&5
++echo "$as_me:2642: 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
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2922 "configure"
++#line 2648 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -2931,16 +2657,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2934: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2660: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2937: \$? = $ac_status" >&5
++ echo "$as_me:2663: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2940: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2666: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2943: \$? = $ac_status" >&5
++ echo "$as_me:2669: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cxx_g=yes
+ else
+@@ -2950,7 +2676,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:2953: result: $ac_cv_prog_cxx_g" >&5
++echo "$as_me:2679: 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
+@@ -2977,7 +2703,7 @@
+ 'void exit (int);'
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2980 "configure"
++#line 2706 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ $ac_declaration
+@@ -2990,16 +2716,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2993: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2719: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2996: \$? = $ac_status" >&5
++ echo "$as_me:2722: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2999: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2725: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3002: \$? = $ac_status" >&5
++ echo "$as_me:2728: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -3009,7 +2735,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3012 "configure"
++#line 2738 "configure"
+ #include "confdefs.h"
+ $ac_declaration
+ int
+@@ -3021,16 +2747,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3024: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2750: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3027: \$? = $ac_status" >&5
++ echo "$as_me:2753: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3030: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2756: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3033: \$? = $ac_status" >&5
++ echo "$as_me:2759: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -3053,11 +2779,11 @@
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ ac_main_return=return
+
+- # autoconf 2.5x removed the error - by hardcoding it to g++.
++ # autoconf 2.5x removed the error (hardcoding it to g++, or just blank)
+ if test "$CXX" = "g++" ; then
+ # Extract the first word of "g++", so it can be a program name with args.
+ set dummy g++; ac_word=$2
+-echo "$as_me:3060: checking for $ac_word" >&5
++echo "$as_me:2786: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3074,7 +2800,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ if $as_executable_p "$ac_dir/$ac_word"; then
+ ac_cv_path_CXX="$ac_dir/$ac_word"
+- echo "$as_me:3077: found $ac_dir/$ac_word" >&5
++ echo "$as_me:2803: found $ac_dir/$ac_word" >&5
+ break
+ fi
+ done
+@@ -3085,28 +2811,30 @@
+ CXX=$ac_cv_path_CXX
+
+ if test -n "$CXX"; then
+- echo "$as_me:3088: result: $CXX" >&5
++ echo "$as_me:2814: result: $CXX" >&5
+ echo "${ECHO_T}$CXX" >&6
+ else
+- echo "$as_me:3091: result: no" >&5
++ echo "$as_me:2817: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ fi
+- if test "$CXX" = "g++" ; then
+- { echo "$as_me:3097: WARNING: ignoring hardcoded g++" >&5
+-echo "$as_me: WARNING: ignoring hardcoded g++" >&2;}
++ case "x$CXX" in #(vi
++ x|xg++)
++ { echo "$as_me:2824: WARNING: You don't have any C++ compiler, too bad" >&5
++echo "$as_me: WARNING: You don't have any C++ compiler, too bad" >&2;}
+ cf_with_cxx=no; CXX=""; GXX="";
+- fi
++ ;;
++ esac
+ fi
+
+ GXX_VERSION=none
+ if test "$GXX" = yes; then
+- echo "$as_me:3105: checking version of g++" >&5
+-echo $ECHO_N "checking version of g++... $ECHO_C" >&6
++ echo "$as_me:2833: checking version of ${CXX:-g++}" >&5
++echo $ECHO_N "checking version of ${CXX:-g++}... $ECHO_C" >&6
+ GXX_VERSION="`${CXX:-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
+ test -z "$GXX_VERSION" && GXX_VERSION=unknown
+- echo "$as_me:3109: result: $GXX_VERSION" >&5
++ echo "$as_me:2837: result: $GXX_VERSION" >&5
+ echo "${ECHO_T}$GXX_VERSION" >&6
+ fi
+
+@@ -3114,12 +2842,12 @@
+ 1*|2.[0-6]*)
+ # GXX=""; CXX=""; ac_cv_prog_gxx=no
+ # cf_cxx_library=no
+- { echo "$as_me:3117: WARNING: templates do not work" >&5
++ { echo "$as_me:2845: WARNING: templates do not work" >&5
+ echo "$as_me: WARNING: templates do not work" >&2;}
+ ;;
+ esac
+
+-echo "$as_me:3122: checking if you want to build C++ binding and demo" >&5
++echo "$as_me:2850: checking if you want to build C++ binding and demo" >&5
+ echo $ECHO_N "checking if you want to build C++ binding and demo... $ECHO_C" >&6
+
+ # Check whether --with-cxx-binding or --without-cxx-binding was given.
+@@ -3129,23 +2857,15 @@
+ else
+ cf_with_cxx_binding=$cf_with_cxx
+ fi;
+-echo "$as_me:3132: result: $cf_with_cxx_binding" >&5
++echo "$as_me:2860: result: $cf_with_cxx_binding" >&5
+ echo "${ECHO_T}$cf_with_cxx_binding" >&6
+
+-echo "$as_me:3135: checking if you want to build with Ada95" >&5
++echo "$as_me:2863: checking if you want to build with Ada95" >&5
+ echo $ECHO_N "checking if you want to build with Ada95... $ECHO_C" >&6
+-
+-# Check whether --with-ada or --without-ada was given.
+-if test "${with_ada+set}" = set; then
+- withval="$with_ada"
+- cf_with_ada=$withval
+-else
+- cf_with_ada=yes
+-fi;
+-echo "$as_me:3145: result: $cf_with_ada" >&5
++echo "$as_me:2865: result: $cf_with_ada" >&5
+ echo "${ECHO_T}$cf_with_ada" >&6
+
+-echo "$as_me:3148: checking if you want to install manpages" >&5
++echo "$as_me:2868: checking if you want to install manpages" >&5
+ echo $ECHO_N "checking if you want to install manpages... $ECHO_C" >&6
+
+ # Check whether --with-manpages or --without-manpages was given.
+@@ -3155,10 +2875,10 @@
+ else
+ cf_with_manpages=yes
+ fi;
+-echo "$as_me:3158: result: $cf_with_manpages" >&5
++echo "$as_me:2878: result: $cf_with_manpages" >&5
+ echo "${ECHO_T}$cf_with_manpages" >&6
+
+-echo "$as_me:3161: checking if you want to build programs such as tic" >&5
++echo "$as_me:2881: checking if you want to build programs such as tic" >&5
+ echo $ECHO_N "checking if you want to build programs such as tic... $ECHO_C" >&6
+
+ # Check whether --with-progs or --without-progs was given.
+@@ -3168,10 +2888,10 @@
+ else
+ cf_with_progs=yes
+ fi;
+-echo "$as_me:3171: result: $cf_with_progs" >&5
++echo "$as_me:2891: result: $cf_with_progs" >&5
+ echo "${ECHO_T}$cf_with_progs" >&6
+
+-echo "$as_me:3174: checking if you want to build test-programs" >&5
++echo "$as_me:2894: checking if you want to build test-programs" >&5
+ echo $ECHO_N "checking if you want to build test-programs... $ECHO_C" >&6
+
+ # Check whether --with-tests or --without-tests was given.
+@@ -3181,10 +2901,10 @@
+ else
+ cf_with_tests=yes
+ fi;
+-echo "$as_me:3184: result: $cf_with_tests" >&5
++echo "$as_me:2904: result: $cf_with_tests" >&5
+ echo "${ECHO_T}$cf_with_tests" >&6
+
+-echo "$as_me:3187: checking if you wish to install curses.h" >&5
++echo "$as_me:2907: checking if you wish to install curses.h" >&5
+ echo $ECHO_N "checking if you wish to install curses.h... $ECHO_C" >&6
+
+ # Check whether --with-curses-h or --without-curses-h was given.
+@@ -3194,7 +2914,7 @@
+ else
+ with_curses_h=yes
+ fi;
+-echo "$as_me:3197: result: $with_curses_h" >&5
++echo "$as_me:2917: result: $with_curses_h" >&5
+ echo "${ECHO_T}$with_curses_h" >&6
+
+ modules_to_build="ncurses"
+@@ -3220,7 +2940,7 @@
+ 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:3223: checking for $ac_word" >&5
++echo "$as_me:2943: 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
+@@ -3235,7 +2955,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_AWK="$ac_prog"
+-echo "$as_me:3238: found $ac_dir/$ac_word" >&5
++echo "$as_me:2958: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3243,21 +2963,21 @@
+ fi
+ AWK=$ac_cv_prog_AWK
+ if test -n "$AWK"; then
+- echo "$as_me:3246: result: $AWK" >&5
++ echo "$as_me:2966: result: $AWK" >&5
+ echo "${ECHO_T}$AWK" >&6
+ else
+- echo "$as_me:3249: result: no" >&5
++ echo "$as_me:2969: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ test -n "$AWK" && break
+ done
+
+-test -z "$AWK" && { { echo "$as_me:3256: error: No awk program found" >&5
++test -z "$AWK" && { { echo "$as_me:2976: error: No awk program found" >&5
+ echo "$as_me: error: No awk program found" >&2;}
+ { (exit 1); exit 1; }; }
+
+-echo "$as_me:3260: checking for egrep" >&5
++echo "$as_me:2980: checking for egrep" >&5
+ echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+ if test "${ac_cv_prog_egrep+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3267,11 +2987,11 @@
+ else ac_cv_prog_egrep='egrep'
+ fi
+ fi
+-echo "$as_me:3270: result: $ac_cv_prog_egrep" >&5
++echo "$as_me:2990: result: $ac_cv_prog_egrep" >&5
+ echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+ EGREP=$ac_cv_prog_egrep
+
+-test -z "$EGREP" && { { echo "$as_me:3274: error: No egrep program found" >&5
++test -z "$EGREP" && { { echo "$as_me:2994: error: No egrep program found" >&5
+ echo "$as_me: error: No egrep program found" >&2;}
+ { (exit 1); exit 1; }; }
+
+@@ -3287,7 +3007,7 @@
+ # AFS /usr/afsws/bin/install, which mishandles nonexistent args
+ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+ # ./install, which can be erroneously created by make from ./install.sh.
+-echo "$as_me:3290: checking for a BSD compatible install" >&5
++echo "$as_me:3010: checking for a BSD compatible install" >&5
+ echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6
+ if test -z "$INSTALL"; then
+ if test "${ac_cv_path_install+set}" = set; then
+@@ -3336,7 +3056,7 @@
+ INSTALL=$ac_install_sh
+ fi
+ fi
+-echo "$as_me:3339: result: $INSTALL" >&5
++echo "$as_me:3059: result: $INSTALL" >&5
+ echo "${ECHO_T}$INSTALL" >&6
+
+ # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+@@ -3361,7 +3081,7 @@
+ 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:3364: checking for $ac_word" >&5
++echo "$as_me:3084: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_LINT+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3376,7 +3096,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_LINT="$ac_prog"
+-echo "$as_me:3379: found $ac_dir/$ac_word" >&5
++echo "$as_me:3099: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3384,28 +3104,28 @@
+ fi
+ LINT=$ac_cv_prog_LINT
+ if test -n "$LINT"; then
+- echo "$as_me:3387: result: $LINT" >&5
++ echo "$as_me:3107: result: $LINT" >&5
+ echo "${ECHO_T}$LINT" >&6
+ else
+- echo "$as_me:3390: result: no" >&5
++ echo "$as_me:3110: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ test -n "$LINT" && break
+ done
+
+-echo "$as_me:3397: checking whether ln -s works" >&5
++echo "$as_me:3117: checking whether ln -s works" >&5
+ echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+ LN_S=$as_ln_s
+ if test "$LN_S" = "ln -s"; then
+- echo "$as_me:3401: result: yes" >&5
++ echo "$as_me:3121: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+- echo "$as_me:3404: result: no, using $LN_S" >&5
++ echo "$as_me:3124: result: no, using $LN_S" >&5
+ echo "${ECHO_T}no, using $LN_S" >&6
+ fi
+
+-echo "$as_me:3408: checking if $LN_S -f options work" >&5
++echo "$as_me:3128: checking if $LN_S -f options work" >&5
+ echo $ECHO_N "checking if $LN_S -f options work... $ECHO_C" >&6
+
+ rm -f conf$$.src conf$$dst
+@@ -3417,12 +3137,12 @@
+ cf_prog_ln_sf=no
+ fi
+ rm -f conf$$.dst conf$$src
+-echo "$as_me:3420: result: $cf_prog_ln_sf" >&5
++echo "$as_me:3140: result: $cf_prog_ln_sf" >&5
+ echo "${ECHO_T}$cf_prog_ln_sf" >&6
+
+ test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f"
+
+-echo "$as_me:3425: checking for long file names" >&5
++echo "$as_me:3145: checking for long file names" >&5
+ echo $ECHO_N "checking for long file names... $ECHO_C" >&6
+ if test "${ac_cv_sys_long_file_names+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3461,7 +3181,7 @@
+ rm -rf $ac_xdir 2>/dev/null
+ done
+ fi
+-echo "$as_me:3464: result: $ac_cv_sys_long_file_names" >&5
++echo "$as_me:3184: result: $ac_cv_sys_long_file_names" >&5
+ echo "${ECHO_T}$ac_cv_sys_long_file_names" >&6
+ if test $ac_cv_sys_long_file_names = yes; then
+
+@@ -3473,7 +3193,7 @@
+
+ # if we find pkg-config, check if we should install the ".pc" files.
+
+-echo "$as_me:3476: checking if you want to use pkg-config" >&5
++echo "$as_me:3196: checking if you want to use pkg-config" >&5
+ echo $ECHO_N "checking if you want to use pkg-config... $ECHO_C" >&6
+
+ # Check whether --with-pkg-config or --without-pkg-config was given.
+@@ -3483,7 +3203,7 @@
+ else
+ cf_pkg_config=yes
+ fi;
+-echo "$as_me:3486: result: $cf_pkg_config" >&5
++echo "$as_me:3206: result: $cf_pkg_config" >&5
+ echo "${ECHO_T}$cf_pkg_config" >&6
+
+ case $cf_pkg_config in #(vi
+@@ -3491,10 +3211,11 @@
+ PKG_CONFIG=none
+ ;;
+ yes) #(vi
+- if test -n "$ac_tool_prefix"; then
++
++if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+-echo "$as_me:3497: checking for $ac_word" >&5
++echo "$as_me:3218: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3511,7 +3232,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ if $as_executable_p "$ac_dir/$ac_word"; then
+ ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:3514: found $ac_dir/$ac_word" >&5
++ echo "$as_me:3235: found $ac_dir/$ac_word" >&5
+ break
+ fi
+ done
+@@ -3522,10 +3243,10 @@
+ PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+
+ if test -n "$PKG_CONFIG"; then
+- echo "$as_me:3525: result: $PKG_CONFIG" >&5
++ echo "$as_me:3246: result: $PKG_CONFIG" >&5
+ echo "${ECHO_T}$PKG_CONFIG" >&6
+ else
+- echo "$as_me:3528: result: no" >&5
++ echo "$as_me:3249: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3534,7 +3255,7 @@
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+ set dummy pkg-config; ac_word=$2
+-echo "$as_me:3537: checking for $ac_word" >&5
++echo "$as_me:3258: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3551,7 +3272,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ if $as_executable_p "$ac_dir/$ac_word"; then
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:3554: found $ac_dir/$ac_word" >&5
++ echo "$as_me:3275: found $ac_dir/$ac_word" >&5
+ break
+ fi
+ done
+@@ -3563,10 +3284,10 @@
+ ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+
+ if test -n "$ac_pt_PKG_CONFIG"; then
+- echo "$as_me:3566: result: $ac_pt_PKG_CONFIG" >&5
++ echo "$as_me:3287: result: $ac_pt_PKG_CONFIG" >&5
+ echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6
+ else
+- echo "$as_me:3569: result: no" >&5
++ echo "$as_me:3290: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3597,7 +3318,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval PKG_CONFIG="$PKG_CONFIG"
+ case ".$PKG_CONFIG" in #(vi
+ .NONE/*)
+@@ -3609,7 +3330,7 @@
+ PKG_CONFIG=`echo $PKG_CONFIG | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:3612: error: expected a pathname, not \"$PKG_CONFIG\"" >&5
++ { { echo "$as_me:3333: error: expected a pathname, not \"$PKG_CONFIG\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$PKG_CONFIG\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -3617,16 +3338,51 @@
+
+ fi
+
+-if test "$PKG_CONFIG" != no ; then
+- echo "$as_me:3621: checking if we should install .pc files for $PKG_CONFIG" >&5
+-echo $ECHO_N "checking if we should install .pc files for $PKG_CONFIG... $ECHO_C" >&6
++if test "$PKG_CONFIG" != none ; then
++ echo "$as_me:3342: checking for $PKG_CONFIG library directory" >&5
++echo $ECHO_N "checking for $PKG_CONFIG library directory... $ECHO_C" >&6
+
+- # Leave this as something that can be overridden in the environment.
+- if test -z "$PKG_CONFIG_LIBDIR" ; then
+- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[^/]*/[^/]*$,,'`/lib/pkgconfig
+- fi
+- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'`
+- if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then
++# Check whether --with-pkg-config-libdir or --without-pkg-config-libdir was given.
++if test "${with_pkg_config_libdir+set}" = set; then
++ withval="$with_pkg_config_libdir"
++ PKG_CONFIG_LIBDIR=$withval
++else
++ PKG_CONFIG_LIBDIR=yes
++fi;
++
++ case x$PKG_CONFIG_LIBDIR in #(vi
++ x/*) #(vi
++ ;;
++ xyes) #(vi
++ # look for the library directory using the same prefix as the executable
++ cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[^/]*/[^/]*$,,'`
++ case x`(arch) 2>/dev/null` in #(vi
++ *64) #(vi
++ for cf_config in $cf_path/share $cf_path/lib64 $cf_path/lib32 $cf_path/lib
++ do
++ if test -d $cf_config/pkgconfig
++ then
++ PKG_CONFIG_LIBDIR=$cf_config/pkgconfig
++ break
++ fi
++ done
++ ;;
++ *)
++ PKG_CONFIG_LIBDIR=$cf_path/lib/pkgconfig
++ ;;
++ esac
++ ;;
++ *)
++ ;;
++ esac
++
++ echo "$as_me:3379: result: $PKG_CONFIG_LIBDIR" >&5
++echo "${ECHO_T}$PKG_CONFIG_LIBDIR" >&6
++fi
++
++if test "$PKG_CONFIG" != none ; then
++ echo "$as_me:3384: checking if we should install .pc files for $PKG_CONFIG" >&5
++echo $ECHO_N "checking if we should install .pc files for $PKG_CONFIG... $ECHO_C" >&6
+
+ # Check whether --enable-pc-files or --disable-pc-files was given.
+ if test "${enable_pc_files+set}" = set; then
+@@ -3635,18 +3391,48 @@
+ else
+ enable_pc_files=no
+ fi;
+- echo "$as_me:3638: result: $enable_pc_files" >&5
++ echo "$as_me:3394: result: $enable_pc_files" >&5
+ echo "${ECHO_T}$enable_pc_files" >&6
+- else
+- echo "$as_me:3641: result: no" >&5
+-echo "${ECHO_T}no" >&6
+- { echo "$as_me:3643: WARNING: did not find library $PKG_CONFIG_LIBDIR" >&5
+-echo "$as_me: WARNING: did not find library $PKG_CONFIG_LIBDIR" >&2;}
+- enable_pc_files=no
++ if test "$enable_pc_files" != no
++ then
++
++if test "x$prefix" != xNONE; then
++ cf_path_syntax="$prefix"
++else
++ cf_path_syntax="$ac_default_prefix"
++fi
++
++case ".$PKG_CONFIG_LIBDIR" in #(vi
++.\$\(*\)*|.\'*\'*) #(vi
++ ;;
++..|./*|.\\*) #(vi
++ ;;
++.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
++ ;;
++.\${*prefix}*|.\${*dir}*) #(vi
++ eval PKG_CONFIG_LIBDIR="$PKG_CONFIG_LIBDIR"
++ case ".$PKG_CONFIG_LIBDIR" in #(vi
++ .NONE/*)
++ PKG_CONFIG_LIBDIR=`echo $PKG_CONFIG_LIBDIR | sed -e s%NONE%$cf_path_syntax%`
++ ;;
++ esac
++ ;; #(vi
++.no|.NONE/*)
++ PKG_CONFIG_LIBDIR=`echo $PKG_CONFIG_LIBDIR | sed -e s%NONE%$cf_path_syntax%`
++ ;;
++*)
++ { { echo "$as_me:3424: error: expected a pathname, not \"$PKG_CONFIG_LIBDIR\"" >&5
++echo "$as_me: error: expected a pathname, not \"$PKG_CONFIG_LIBDIR\"" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++esac
++
+ fi
++else
++ enable_pc_files=no
+ fi
+
+-echo "$as_me:3649: checking if we should assume mixed-case filenames" >&5
++echo "$as_me:3435: checking if we should assume mixed-case filenames" >&5
+ echo $ECHO_N "checking if we should assume mixed-case filenames... $ECHO_C" >&6
+
+ # Check whether --enable-mixed-case or --disable-mixed-case was given.
+@@ -3656,11 +3442,11 @@
+ else
+ enable_mixedcase=auto
+ fi;
+-echo "$as_me:3659: result: $enable_mixedcase" >&5
++echo "$as_me:3445: result: $enable_mixedcase" >&5
+ echo "${ECHO_T}$enable_mixedcase" >&6
+ if test "$enable_mixedcase" = "auto" ; then
+
+-echo "$as_me:3663: checking if filesystem supports mixed-case filenames" >&5
++echo "$as_me:3449: checking if filesystem supports mixed-case filenames" >&5
+ echo $ECHO_N "checking if filesystem supports mixed-case filenames... $ECHO_C" >&6
+ if test "${cf_cv_mixedcase+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3687,16 +3473,18 @@
+ fi
+
+ fi
+-echo "$as_me:3690: result: $cf_cv_mixedcase" >&5
++echo "$as_me:3476: result: $cf_cv_mixedcase" >&5
+ echo "${ECHO_T}$cf_cv_mixedcase" >&6
+-test "$cf_cv_mixedcase" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_mixedcase" = yes &&
++cat >>confdefs.h <<\EOF
+ #define MIXEDCASE_FILENAMES 1
+ EOF
+
+ else
+ cf_cv_mixedcase=$enable_mixedcase
+- if test "$enable_mixedcase" = "yes" ; then
+- cat >>confdefs.h <<\EOF
++ if test "x$enable_mixedcase" = "xyes" ; then
++
++cat >>confdefs.h <<\EOF
+ #define MIXEDCASE_FILENAMES 1
+ EOF
+
+@@ -3704,7 +3492,7 @@
+ fi
+
+ # do this after mixed-case option (tags/TAGS is not as important as tic).
+-echo "$as_me:3707: checking whether ${MAKE-make} sets \${MAKE}" >&5
++echo "$as_me:3495: checking whether ${MAKE-make} sets \${MAKE}" >&5
+ echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
+ set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
+ if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+@@ -3724,11 +3512,11 @@
+ rm -f conftest.make
+ fi
+ if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+- echo "$as_me:3727: result: yes" >&5
++ echo "$as_me:3515: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ SET_MAKE=
+ else
+- echo "$as_me:3731: result: no" >&5
++ echo "$as_me:3519: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ SET_MAKE="MAKE=${MAKE-make}"
+ fi
+@@ -3737,7 +3525,7 @@
+ 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:3740: checking for $ac_word" >&5
++echo "$as_me:3528: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CTAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3752,7 +3540,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CTAGS="$ac_prog"
+-echo "$as_me:3755: found $ac_dir/$ac_word" >&5
++echo "$as_me:3543: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3760,10 +3548,10 @@
+ fi
+ CTAGS=$ac_cv_prog_CTAGS
+ if test -n "$CTAGS"; then
+- echo "$as_me:3763: result: $CTAGS" >&5
++ echo "$as_me:3551: result: $CTAGS" >&5
+ echo "${ECHO_T}$CTAGS" >&6
+ else
+- echo "$as_me:3766: result: no" >&5
++ echo "$as_me:3554: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3774,7 +3562,7 @@
+ 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:3777: checking for $ac_word" >&5
++echo "$as_me:3565: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ETAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3789,7 +3577,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ETAGS="$ac_prog"
+-echo "$as_me:3792: found $ac_dir/$ac_word" >&5
++echo "$as_me:3580: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3797,10 +3585,10 @@
+ fi
+ ETAGS=$ac_cv_prog_ETAGS
+ if test -n "$ETAGS"; then
+- echo "$as_me:3800: result: $ETAGS" >&5
++ echo "$as_me:3588: result: $ETAGS" >&5
+ echo "${ECHO_T}$ETAGS" >&6
+ else
+- echo "$as_me:3803: result: no" >&5
++ echo "$as_me:3591: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3809,7 +3597,7 @@
+
+ # Extract the first word of "${CTAGS:-ctags}", so it can be a program name with args.
+ set dummy ${CTAGS:-ctags}; ac_word=$2
+-echo "$as_me:3812: checking for $ac_word" >&5
++echo "$as_me:3600: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_MAKE_LOWER_TAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3824,7 +3612,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_MAKE_LOWER_TAGS="yes"
+-echo "$as_me:3827: found $ac_dir/$ac_word" >&5
++echo "$as_me:3615: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3833,17 +3621,17 @@
+ fi
+ MAKE_LOWER_TAGS=$ac_cv_prog_MAKE_LOWER_TAGS
+ if test -n "$MAKE_LOWER_TAGS"; then
+- echo "$as_me:3836: result: $MAKE_LOWER_TAGS" >&5
++ echo "$as_me:3624: result: $MAKE_LOWER_TAGS" >&5
+ echo "${ECHO_T}$MAKE_LOWER_TAGS" >&6
+ else
+- echo "$as_me:3839: result: no" >&5
++ echo "$as_me:3627: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ if test "$cf_cv_mixedcase" = yes ; then
+ # Extract the first word of "${ETAGS:-etags}", so it can be a program name with args.
+ set dummy ${ETAGS:-etags}; ac_word=$2
+-echo "$as_me:3846: checking for $ac_word" >&5
++echo "$as_me:3634: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_MAKE_UPPER_TAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3858,7 +3646,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_MAKE_UPPER_TAGS="yes"
+-echo "$as_me:3861: found $ac_dir/$ac_word" >&5
++echo "$as_me:3649: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3867,10 +3655,10 @@
+ fi
+ MAKE_UPPER_TAGS=$ac_cv_prog_MAKE_UPPER_TAGS
+ if test -n "$MAKE_UPPER_TAGS"; then
+- echo "$as_me:3870: result: $MAKE_UPPER_TAGS" >&5
++ echo "$as_me:3658: result: $MAKE_UPPER_TAGS" >&5
+ echo "${ECHO_T}$MAKE_UPPER_TAGS" >&6
+ else
+- echo "$as_me:3873: result: no" >&5
++ echo "$as_me:3661: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3890,7 +3678,7 @@
+ MAKE_LOWER_TAGS="#"
+ fi
+
+-echo "$as_me:3893: checking for makeflags variable" >&5
++echo "$as_me:3681: checking for makeflags variable" >&5
+ echo $ECHO_N "checking for makeflags variable... $ECHO_C" >&6
+ if test "${cf_cv_makeflags+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3924,13 +3712,13 @@
+ rm -f cf_makeflags.tmp
+
+ fi
+-echo "$as_me:3927: result: $cf_cv_makeflags" >&5
++echo "$as_me:3715: result: $cf_cv_makeflags" >&5
+ echo "${ECHO_T}$cf_cv_makeflags" >&6
+
+ 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:3933: checking for $ac_word" >&5
++echo "$as_me:3721: 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
+@@ -3945,7 +3733,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+-echo "$as_me:3948: found $ac_dir/$ac_word" >&5
++echo "$as_me:3736: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3953,10 +3741,10 @@
+ fi
+ RANLIB=$ac_cv_prog_RANLIB
+ if test -n "$RANLIB"; then
+- echo "$as_me:3956: result: $RANLIB" >&5
++ echo "$as_me:3744: result: $RANLIB" >&5
+ echo "${ECHO_T}$RANLIB" >&6
+ else
+- echo "$as_me:3959: result: no" >&5
++ echo "$as_me:3747: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3965,7 +3753,7 @@
+ 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:3968: checking for $ac_word" >&5
++echo "$as_me:3756: 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
+@@ -3980,7 +3768,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+-echo "$as_me:3983: found $ac_dir/$ac_word" >&5
++echo "$as_me:3771: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3989,10 +3777,10 @@
+ fi
+ ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+ if test -n "$ac_ct_RANLIB"; then
+- echo "$as_me:3992: result: $ac_ct_RANLIB" >&5
++ echo "$as_me:3780: result: $ac_ct_RANLIB" >&5
+ echo "${ECHO_T}$ac_ct_RANLIB" >&6
+ else
+- echo "$as_me:3995: result: no" >&5
++ echo "$as_me:3783: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -4004,7 +3792,7 @@
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}ld; ac_word=$2
+-echo "$as_me:4007: checking for $ac_word" >&5
++echo "$as_me:3795: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_LD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4019,7 +3807,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_LD="${ac_tool_prefix}ld"
+-echo "$as_me:4022: found $ac_dir/$ac_word" >&5
++echo "$as_me:3810: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -4027,10 +3815,10 @@
+ fi
+ LD=$ac_cv_prog_LD
+ if test -n "$LD"; then
+- echo "$as_me:4030: result: $LD" >&5
++ echo "$as_me:3818: result: $LD" >&5
+ echo "${ECHO_T}$LD" >&6
+ else
+- echo "$as_me:4033: result: no" >&5
++ echo "$as_me:3821: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -4039,7 +3827,7 @@
+ ac_ct_LD=$LD
+ # Extract the first word of "ld", so it can be a program name with args.
+ set dummy ld; ac_word=$2
+-echo "$as_me:4042: checking for $ac_word" >&5
++echo "$as_me:3830: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_LD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4054,7 +3842,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_LD="ld"
+-echo "$as_me:4057: found $ac_dir/$ac_word" >&5
++echo "$as_me:3845: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -4063,10 +3851,10 @@
+ fi
+ ac_ct_LD=$ac_cv_prog_ac_ct_LD
+ if test -n "$ac_ct_LD"; then
+- echo "$as_me:4066: result: $ac_ct_LD" >&5
++ echo "$as_me:3854: result: $ac_ct_LD" >&5
+ echo "${ECHO_T}$ac_ct_LD" >&6
+ else
+- echo "$as_me:4069: result: no" >&5
++ echo "$as_me:3857: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -4078,7 +3866,7 @@
+ 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:4081: checking for $ac_word" >&5
++echo "$as_me:3869: 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
+@@ -4093,7 +3881,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+-echo "$as_me:4096: found $ac_dir/$ac_word" >&5
++echo "$as_me:3884: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -4101,10 +3889,10 @@
+ fi
+ AR=$ac_cv_prog_AR
+ if test -n "$AR"; then
+- echo "$as_me:4104: result: $AR" >&5
++ echo "$as_me:3892: result: $AR" >&5
+ echo "${ECHO_T}$AR" >&6
+ else
+- echo "$as_me:4107: result: no" >&5
++ echo "$as_me:3895: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -4113,7 +3901,7 @@
+ 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:4116: checking for $ac_word" >&5
++echo "$as_me:3904: 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
+@@ -4128,7 +3916,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_AR="ar"
+-echo "$as_me:4131: found $ac_dir/$ac_word" >&5
++echo "$as_me:3919: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -4137,10 +3925,10 @@
+ fi
+ ac_ct_AR=$ac_cv_prog_ac_ct_AR
+ if test -n "$ac_ct_AR"; then
+- echo "$as_me:4140: result: $ac_ct_AR" >&5
++ echo "$as_me:3928: result: $ac_ct_AR" >&5
+ echo "${ECHO_T}$ac_ct_AR" >&6
+ else
+- echo "$as_me:4143: result: no" >&5
++ echo "$as_me:3931: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -4152,7 +3940,7 @@
+ 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:4155: checking for $ac_word" >&5
++echo "$as_me:3943: 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
+@@ -4167,7 +3955,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+-echo "$as_me:4170: found $ac_dir/$ac_word" >&5
++echo "$as_me:3958: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -4175,10 +3963,10 @@
+ fi
+ AR=$ac_cv_prog_AR
+ if test -n "$AR"; then
+- echo "$as_me:4178: result: $AR" >&5
++ echo "$as_me:3966: result: $AR" >&5
+ echo "${ECHO_T}$AR" >&6
+ else
+- echo "$as_me:4181: result: no" >&5
++ echo "$as_me:3969: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -4187,7 +3975,7 @@
+ 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:4190: checking for $ac_word" >&5
++echo "$as_me:3978: 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
+@@ -4202,7 +3990,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_AR="ar"
+-echo "$as_me:4205: found $ac_dir/$ac_word" >&5
++echo "$as_me:3993: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -4211,10 +3999,10 @@
+ fi
+ ac_ct_AR=$ac_cv_prog_ac_ct_AR
+ if test -n "$ac_ct_AR"; then
+- echo "$as_me:4214: result: $ac_ct_AR" >&5
++ echo "$as_me:4002: result: $ac_ct_AR" >&5
+ echo "${ECHO_T}$ac_ct_AR" >&6
+ else
+- echo "$as_me:4217: result: no" >&5
++ echo "$as_me:4005: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -4223,7 +4011,7 @@
+ AR="$ac_cv_prog_AR"
+ fi
+
+-echo "$as_me:4226: checking for options to update archives" >&5
++echo "$as_me:4014: checking for options to update archives" >&5
+ echo $ECHO_N "checking for options to update archives... $ECHO_C" >&6
+ if test "${cf_cv_ar_flags+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4246,13 +4034,13 @@
+ rm -f conftest.a
+
+ cat >conftest.$ac_ext <<EOF
+-#line 4249 "configure"
++#line 4037 "configure"
+ int testdata[3] = { 123, 456, 789 };
+ EOF
+- if { (eval echo "$as_me:4252: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:4040: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4255: \$? = $ac_status" >&5
++ echo "$as_me:4043: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+ echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&5
+ $AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&5 1>/dev/null
+@@ -4263,7 +4051,7 @@
+ else
+ test -n "$verbose" && echo " cannot compile test-program" 1>&6
+
+-echo "${as_me:-configure}:4266: testing cannot compile test-program ..." 1>&5
++echo "${as_me:-configure}:4054: testing cannot compile test-program ..." 1>&5
+
+ break
+ fi
+@@ -4271,7 +4059,7 @@
+ rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext
+
+ fi
+-echo "$as_me:4274: result: $cf_cv_ar_flags" >&5
++echo "$as_me:4062: result: $cf_cv_ar_flags" >&5
+ echo "${ECHO_T}$cf_cv_ar_flags" >&6
+
+ if test -n "$ARFLAGS" ; then
+@@ -4282,20 +4070,20 @@
+ ARFLAGS=$cf_cv_ar_flags
+ fi
+
+-echo "$as_me:4285: checking if you have specified an install-prefix" >&5
++echo "$as_me:4073: checking if you have specified an install-prefix" >&5
+ echo $ECHO_N "checking if you have specified an install-prefix... $ECHO_C" >&6
+
+ # Check whether --with-install-prefix or --without-install-prefix was given.
+ if test "${with_install_prefix+set}" = set; then
+ withval="$with_install_prefix"
+- case "$withval" in #(vi
+- yes|no) #(vi
++ case "x$withval" in #(vi
++ xyes|xno) #(vi
+ ;;
+ *) DESTDIR="$withval"
+ ;;
+ esac
+ fi;
+-echo "$as_me:4298: result: $DESTDIR" >&5
++echo "$as_me:4086: result: $DESTDIR" >&5
+ echo "${ECHO_T}$DESTDIR" >&6
+
+ ###############################################################################
+@@ -4323,7 +4111,7 @@
+ 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:4326: checking for $ac_word" >&5
++echo "$as_me:4114: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_BUILD_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4338,7 +4126,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_BUILD_CC="$ac_prog"
+-echo "$as_me:4341: found $ac_dir/$ac_word" >&5
++echo "$as_me:4129: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -4346,10 +4134,10 @@
+ fi
+ BUILD_CC=$ac_cv_prog_BUILD_CC
+ if test -n "$BUILD_CC"; then
+- echo "$as_me:4349: result: $BUILD_CC" >&5
++ echo "$as_me:4137: result: $BUILD_CC" >&5
+ echo "${ECHO_T}$BUILD_CC" >&6
+ else
+- echo "$as_me:4352: result: no" >&5
++ echo "$as_me:4140: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -4357,12 +4145,12 @@
+ done
+
+ fi;
+- echo "$as_me:4360: checking for native build C compiler" >&5
++ echo "$as_me:4148: checking for native build C compiler" >&5
+ echo $ECHO_N "checking for native build C compiler... $ECHO_C" >&6
+- echo "$as_me:4362: result: $BUILD_CC" >&5
++ echo "$as_me:4150: result: $BUILD_CC" >&5
+ echo "${ECHO_T}$BUILD_CC" >&6
+
+- echo "$as_me:4365: checking for native build C preprocessor" >&5
++ echo "$as_me:4153: checking for native build C preprocessor" >&5
+ echo $ECHO_N "checking for native build C preprocessor... $ECHO_C" >&6
+
+ # Check whether --with-build-cpp or --without-build-cpp was given.
+@@ -4372,10 +4160,10 @@
+ else
+ BUILD_CPP='${BUILD_CC} -E'
+ fi;
+- echo "$as_me:4375: result: $BUILD_CPP" >&5
++ echo "$as_me:4163: result: $BUILD_CPP" >&5
+ echo "${ECHO_T}$BUILD_CPP" >&6
+
+- echo "$as_me:4378: checking for native build C flags" >&5
++ echo "$as_me:4166: checking for native build C flags" >&5
+ echo $ECHO_N "checking for native build C flags... $ECHO_C" >&6
+
+ # Check whether --with-build-cflags or --without-build-cflags was given.
+@@ -4383,10 +4171,10 @@
+ withval="$with_build_cflags"
+ BUILD_CFLAGS="$withval"
+ fi;
+- echo "$as_me:4386: result: $BUILD_CFLAGS" >&5
++ echo "$as_me:4174: result: $BUILD_CFLAGS" >&5
+ echo "${ECHO_T}$BUILD_CFLAGS" >&6
+
+- echo "$as_me:4389: checking for native build C preprocessor-flags" >&5
++ echo "$as_me:4177: checking for native build C preprocessor-flags" >&5
+ echo $ECHO_N "checking for native build C preprocessor-flags... $ECHO_C" >&6
+
+ # Check whether --with-build-cppflags or --without-build-cppflags was given.
+@@ -4394,10 +4182,10 @@
+ withval="$with_build_cppflags"
+ BUILD_CPPFLAGS="$withval"
+ fi;
+- echo "$as_me:4397: result: $BUILD_CPPFLAGS" >&5
++ echo "$as_me:4185: result: $BUILD_CPPFLAGS" >&5
+ echo "${ECHO_T}$BUILD_CPPFLAGS" >&6
+
+- echo "$as_me:4400: checking for native build linker-flags" >&5
++ echo "$as_me:4188: checking for native build linker-flags" >&5
+ echo $ECHO_N "checking for native build linker-flags... $ECHO_C" >&6
+
+ # Check whether --with-build-ldflags or --without-build-ldflags was given.
+@@ -4405,10 +4193,10 @@
+ withval="$with_build_ldflags"
+ BUILD_LDFLAGS="$withval"
+ fi;
+- echo "$as_me:4408: result: $BUILD_LDFLAGS" >&5
++ echo "$as_me:4196: result: $BUILD_LDFLAGS" >&5
+ echo "${ECHO_T}$BUILD_LDFLAGS" >&6
+
+- echo "$as_me:4411: checking for native build linker-libraries" >&5
++ echo "$as_me:4199: checking for native build linker-libraries" >&5
+ echo $ECHO_N "checking for native build linker-libraries... $ECHO_C" >&6
+
+ # Check whether --with-build-libs or --without-build-libs was given.
+@@ -4416,7 +4204,7 @@
+ withval="$with_build_libs"
+ BUILD_LIBS="$withval"
+ fi;
+- echo "$as_me:4419: result: $BUILD_LIBS" >&5
++ echo "$as_me:4207: result: $BUILD_LIBS" >&5
+ echo "${ECHO_T}$BUILD_LIBS" >&6
+
+ # this assumes we're on Unix.
+@@ -4426,7 +4214,7 @@
+ : ${BUILD_CC:='${CC}'}
+
+ if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
+- { { echo "$as_me:4429: error: Cross-build requires two compilers.
++ { { echo "$as_me:4217: error: Cross-build requires two compilers.
+ Use --with-build-cc to specify the native compiler." >&5
+ echo "$as_me: error: Cross-build requires two compilers.
+ Use --with-build-cc to specify the native compiler." >&2;}
+@@ -4451,7 +4239,7 @@
+ ### shared, for example.
+ cf_list_models=""
+
+-echo "$as_me:4454: checking if libtool -version-number should be used" >&5
++echo "$as_me:4242: checking if libtool -version-number should be used" >&5
+ echo $ECHO_N "checking if libtool -version-number should be used... $ECHO_C" >&6
+
+ # Check whether --enable-libtool-version or --disable-libtool-version was given.
+@@ -4468,7 +4256,7 @@
+ cf_libtool_version=yes
+
+ fi;
+-echo "$as_me:4471: result: $cf_libtool_version" >&5
++echo "$as_me:4259: result: $cf_libtool_version" >&5
+ echo "${ECHO_T}$cf_libtool_version" >&6
+
+ if test "$cf_libtool_version" = yes ; then
+@@ -4493,7 +4281,7 @@
+ LIB_INSTALL=
+ LIB_UNINSTALL=
+
+-echo "$as_me:4496: checking if you want to build libraries with libtool" >&5
++echo "$as_me:4284: checking if you want to build libraries with libtool" >&5
+ echo $ECHO_N "checking if you want to build libraries with libtool... $ECHO_C" >&6
+
+ # Check whether --with-libtool or --without-libtool was given.
+@@ -4503,7 +4291,7 @@
+ else
+ with_libtool=no
+ fi;
+-echo "$as_me:4506: result: $with_libtool" >&5
++echo "$as_me:4294: result: $with_libtool" >&5
+ echo "${ECHO_T}$with_libtool" >&6
+ if test "$with_libtool" != "no"; then
+
+@@ -4522,7 +4310,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval with_libtool="$with_libtool"
+ case ".$with_libtool" in #(vi
+ .NONE/*)
+@@ -4534,7 +4322,7 @@
+ with_libtool=`echo $with_libtool | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:4537: error: expected a pathname, not \"$with_libtool\"" >&5
++ { { echo "$as_me:4325: error: expected a pathname, not \"$with_libtool\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$with_libtool\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -4542,50 +4330,199 @@
+
+ LIBTOOL=$with_libtool
+ else
+- # Extract the first word of "libtool", so it can be a program name with args.
+-set dummy libtool; ac_word=$2
+-echo "$as_me:4547: checking for $ac_word" >&5
++ if test -n "$ac_tool_prefix"; then
++ for ac_prog in libtool glibtool
++ 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:4338: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_LIBTOOL+set}" = set; then
++if test "${ac_cv_prog_LIBTOOL+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- case $LIBTOOL in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_LIBTOOL="$LIBTOOL" # Let the user override the test with a path.
+- ;;
+- *)
++ if test -n "$LIBTOOL"; then
++ ac_cv_prog_LIBTOOL="$LIBTOOL" # Let the user override the test.
++else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+- if $as_executable_p "$ac_dir/$ac_word"; then
+- ac_cv_path_LIBTOOL="$ac_dir/$ac_word"
+- echo "$as_me:4564: found $ac_dir/$ac_word" >&5
+- break
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_LIBTOOL="$ac_tool_prefix$ac_prog"
++echo "$as_me:4353: found $ac_dir/$ac_word" >&5
++break
++done
++
++fi
++fi
++LIBTOOL=$ac_cv_prog_LIBTOOL
++if test -n "$LIBTOOL"; then
++ echo "$as_me:4361: result: $LIBTOOL" >&5
++echo "${ECHO_T}$LIBTOOL" >&6
++else
++ echo "$as_me:4364: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ test -n "$LIBTOOL" && break
++ done
+ fi
++if test -z "$LIBTOOL"; then
++ ac_ct_LIBTOOL=$LIBTOOL
++ for ac_prog in libtool glibtool
++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:4377: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_LIBTOOL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_LIBTOOL"; then
++ ac_cv_prog_ac_ct_LIBTOOL="$ac_ct_LIBTOOL" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_ac_ct_LIBTOOL="$ac_prog"
++echo "$as_me:4392: found $ac_dir/$ac_word" >&5
++break
+ done
+
+- ;;
+-esac
+ fi
+-LIBTOOL=$ac_cv_path_LIBTOOL
++fi
++ac_ct_LIBTOOL=$ac_cv_prog_ac_ct_LIBTOOL
++if test -n "$ac_ct_LIBTOOL"; then
++ echo "$as_me:4400: result: $ac_ct_LIBTOOL" >&5
++echo "${ECHO_T}$ac_ct_LIBTOOL" >&6
++else
++ echo "$as_me:4403: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ test -n "$ac_ct_LIBTOOL" && break
++done
++test -n "$ac_ct_LIBTOOL" || ac_ct_LIBTOOL="none"
++
++ LIBTOOL=$ac_ct_LIBTOOL
++fi
++
++if test -n "$LIBTOOL" && test "$LIBTOOL" != none
++then
++ cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([^)]*)//g' -e 's/^[^1-9]*//' -e 's/[^0-9.].*//'`
++else
++ cf_cv_libtool_version=
++fi
++test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version
++
++ if test -z "$cf_cv_libtool_version" && test "$LIBTOOL" = libtool
++ then
++
++unset ac_cv_prog_ac_ct_LIBTOOL
++unset ac_ct_LIBTOOL
++unset LIBTOOL
++
++ if test -n "$ac_tool_prefix"; then
++ for ac_prog in glibtool
++ 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:4434: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_LIBTOOL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$LIBTOOL"; then
++ ac_cv_prog_LIBTOOL="$LIBTOOL" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_LIBTOOL="$ac_tool_prefix$ac_prog"
++echo "$as_me:4449: found $ac_dir/$ac_word" >&5
++break
++done
+
++fi
++fi
++LIBTOOL=$ac_cv_prog_LIBTOOL
+ if test -n "$LIBTOOL"; then
+- echo "$as_me:4575: result: $LIBTOOL" >&5
++ echo "$as_me:4457: result: $LIBTOOL" >&5
+ echo "${ECHO_T}$LIBTOOL" >&6
+ else
+- echo "$as_me:4578: result: no" >&5
++ echo "$as_me:4460: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
++ test -n "$LIBTOOL" && break
++ done
++fi
++if test -z "$LIBTOOL"; then
++ ac_ct_LIBTOOL=$LIBTOOL
++ for ac_prog in glibtool
++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:4473: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_LIBTOOL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_LIBTOOL"; then
++ ac_cv_prog_ac_ct_LIBTOOL="$ac_ct_LIBTOOL" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_ac_ct_LIBTOOL="$ac_prog"
++echo "$as_me:4488: found $ac_dir/$ac_word" >&5
++break
++done
++
++fi
++fi
++ac_ct_LIBTOOL=$ac_cv_prog_ac_ct_LIBTOOL
++if test -n "$ac_ct_LIBTOOL"; then
++ echo "$as_me:4496: result: $ac_ct_LIBTOOL" >&5
++echo "${ECHO_T}$ac_ct_LIBTOOL" >&6
++else
++ echo "$as_me:4499: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ test -n "$ac_ct_LIBTOOL" && break
++done
++test -n "$ac_ct_LIBTOOL" || ac_ct_LIBTOOL="none"
++
++ LIBTOOL=$ac_ct_LIBTOOL
++fi
++
++if test -n "$LIBTOOL" && test "$LIBTOOL" != none
++then
++ cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([^)]*)//g' -e 's/^[^1-9]*//' -e 's/[^0-9.].*//'`
++else
++ cf_cv_libtool_version=
++fi
++test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version
++
++ fi
+ fi
+ if test -z "$LIBTOOL" ; then
+- { { echo "$as_me:4584: error: Cannot find libtool" >&5
++ { { echo "$as_me:4521: error: Cannot find libtool" >&5
+ echo "$as_me: error: Cannot find libtool" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+- LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} -o'
++ LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} $(LIBS) -o'
+ LIB_OBJECT='${OBJECTS:.o=.lo}'
+ LIB_SUFFIX=.la
+ LIB_CLEAN='${LIBTOOL} --mode=clean'
+@@ -4595,26 +4532,36 @@
+ LIB_UNINSTALL='${LIBTOOL} --mode=uninstall'
+ LIB_PREP=:
+
+- # Show the version of libtool
+- echo "$as_me:4599: checking version of libtool" >&5
+-echo $ECHO_N "checking version of libtool... $ECHO_C" >&6
+-
+- # Save the version in a cache variable - this is not entirely a good
+- # thing, but the version string from libtool is very ugly, and for
+- # bug reports it might be useful to have the original string. "("
++if test -n "$LIBTOOL" && test "$LIBTOOL" != none
++then
++ echo "$as_me:4537: checking version of $LIBTOOL" >&5
++echo $ECHO_N "checking version of $LIBTOOL... $ECHO_C" >&6
++
++if test -n "$LIBTOOL" && test "$LIBTOOL" != none
++then
+ cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([^)]*)//g' -e 's/^[^1-9]*//' -e 's/[^0-9.].*//'`
+- echo "$as_me:4606: result: $cf_cv_libtool_version" >&5
++else
++ cf_cv_libtool_version=
++fi
++test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version
++
++ echo "$as_me:4548: result: $cf_cv_libtool_version" >&5
+ echo "${ECHO_T}$cf_cv_libtool_version" >&6
+ if test -z "$cf_cv_libtool_version" ; then
+- { { echo "$as_me:4609: error: This is not GNU libtool" >&5
++ { { echo "$as_me:4551: error: This is not GNU libtool" >&5
+ echo "$as_me: error: This is not GNU libtool" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
++else
++ { { echo "$as_me:4556: error: GNU libtool has not been found" >&5
++echo "$as_me: error: GNU libtool has not been found" >&2;}
++ { (exit 1); exit 1; }; }
++fi
+
+ # special hack to add -no-undefined (which libtool should do for itself)
+ LT_UNDEF=
+ case "$cf_cv_system_name" in #(vi
+- cygwin*|mingw32*|uwin*|aix[456]) #(vi
++ cygwin*|mingw32*|uwin*|aix[4-7]) #(vi
+ LT_UNDEF=-no-undefined
+ ;;
+ esac
+@@ -4642,7 +4589,7 @@
+
+ else
+
+-echo "$as_me:4645: checking if you want to build shared libraries" >&5
++echo "$as_me:4592: checking if you want to build shared libraries" >&5
+ echo $ECHO_N "checking if you want to build shared libraries... $ECHO_C" >&6
+
+ # Check whether --with-shared or --without-shared was given.
+@@ -4652,11 +4599,11 @@
+ else
+ with_shared=no
+ fi;
+-echo "$as_me:4655: result: $with_shared" >&5
++echo "$as_me:4602: result: $with_shared" >&5
+ echo "${ECHO_T}$with_shared" >&6
+-test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared"
++test "x$with_shared" = "xyes" && cf_list_models="$cf_list_models shared"
+
+-echo "$as_me:4659: checking if you want to build static libraries" >&5
++echo "$as_me:4606: checking if you want to build static libraries" >&5
+ echo $ECHO_N "checking if you want to build static libraries... $ECHO_C" >&6
+
+ # Check whether --with-normal or --without-normal was given.
+@@ -4666,11 +4613,11 @@
+ else
+ with_normal=yes
+ fi;
+-echo "$as_me:4669: result: $with_normal" >&5
++echo "$as_me:4616: result: $with_normal" >&5
+ echo "${ECHO_T}$with_normal" >&6
+-test "$with_normal" = "yes" && cf_list_models="$cf_list_models normal"
++test "x$with_normal" = "xyes" && cf_list_models="$cf_list_models normal"
+
+-echo "$as_me:4673: checking if you want to build debug libraries" >&5
++echo "$as_me:4620: checking if you want to build debug libraries" >&5
+ echo $ECHO_N "checking if you want to build debug libraries... $ECHO_C" >&6
+
+ # Check whether --with-debug or --without-debug was given.
+@@ -4680,11 +4627,11 @@
+ else
+ with_debug=yes
+ fi;
+-echo "$as_me:4683: result: $with_debug" >&5
++echo "$as_me:4630: result: $with_debug" >&5
+ echo "${ECHO_T}$with_debug" >&6
+-test "$with_debug" = "yes" && cf_list_models="$cf_list_models debug"
++test "x$with_debug" = "xyes" && cf_list_models="$cf_list_models debug"
+
+-echo "$as_me:4687: checking if you want to build profiling libraries" >&5
++echo "$as_me:4634: checking if you want to build profiling libraries" >&5
+ echo $ECHO_N "checking if you want to build profiling libraries... $ECHO_C" >&6
+
+ # Check whether --with-profile or --without-profile was given.
+@@ -4694,27 +4641,44 @@
+ else
+ with_profile=no
+ fi;
+-echo "$as_me:4697: result: $with_profile" >&5
++echo "$as_me:4644: result: $with_profile" >&5
+ echo "${ECHO_T}$with_profile" >&6
+-test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
++test "x$with_profile" = "xyes" && cf_list_models="$cf_list_models profile"
++
++fi
++
++if test "X$cf_with_cxx_binding" != Xno; then
++if test "x$with_shared" = "xyes"; then
++echo "$as_me:4652: checking if you want to build C++ shared libraries" >&5
++echo $ECHO_N "checking if you want to build C++ shared libraries... $ECHO_C" >&6
+
++# Check whether --with-cxx-shared or --without-cxx-shared was given.
++if test "${with_cxx_shared+set}" = set; then
++ withval="$with_cxx_shared"
++ with_shared_cxx=$withval
++else
++ with_shared_cxx=no
++fi;
++echo "$as_me:4662: result: $with_shared_cxx" >&5
++echo "${ECHO_T}$with_shared_cxx" >&6
++fi
+ fi
+
+ ###############################################################################
+
+-echo "$as_me:4705: checking for specified models" >&5
++echo "$as_me:4669: checking for specified models" >&5
+ echo $ECHO_N "checking for specified models... $ECHO_C" >&6
+ test -z "$cf_list_models" && cf_list_models=normal
+ test "$with_libtool" != "no" && cf_list_models=libtool
+-echo "$as_me:4709: result: $cf_list_models" >&5
++echo "$as_me:4673: result: $cf_list_models" >&5
+ echo "${ECHO_T}$cf_list_models" >&6
+
+ ### Use the first model as the default, and save its suffix for use in building
+ ### up test-applications.
+-echo "$as_me:4714: checking for default model" >&5
++echo "$as_me:4678: checking for default model" >&5
+ echo $ECHO_N "checking for default model... $ECHO_C" >&6
+ DFT_LWR_MODEL=`echo "$cf_list_models" | $AWK '{print $1}'`
+-echo "$as_me:4717: result: $DFT_LWR_MODEL" >&5
++echo "$as_me:4681: result: $DFT_LWR_MODEL" >&5
+ echo "${ECHO_T}$DFT_LWR_MODEL" >&6
+
+ DFT_UPR_MODEL=`echo "$DFT_LWR_MODEL" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+@@ -4728,6 +4692,22 @@
+ LIB_DIR=../lib
+ LIB_2ND=../../lib
+
++echo "$as_me:4695: checking if you want to have a library-prefix" >&5
++echo $ECHO_N "checking if you want to have a library-prefix... $ECHO_C" >&6
++
++# Check whether --with-lib-prefix or --without-lib-prefix was given.
++if test "${with_lib_prefix+set}" = set; then
++ withval="$with_lib_prefix"
++ with_lib_prefix=$withval
++else
++ with_lib_prefix=auto
++fi;
++echo "$as_me:4705: result: $with_lib_prefix" >&5
++echo "${ECHO_T}$with_lib_prefix" >&6
++
++if test $with_lib_prefix = auto
++then
++
+ case $cf_cv_system_name in #(vi
+ OS/2*|os2*) #(vi
+ LIB_PREFIX=''
+@@ -4737,13 +4717,28 @@
+ esac
+ cf_prefix=$LIB_PREFIX
+
+-LIB_PREFIX=$cf_prefix
++elif test $with_lib_prefix = no
++then
++ LIB_PREFIX=
++else
++ LIB_PREFIX=$with_lib_prefix
++fi
+
+ LIB_SUFFIX=
+
++ echo "$as_me:4729: checking for PATH separator" >&5
++echo $ECHO_N "checking for PATH separator... $ECHO_C" >&6
++ case $cf_cv_system_name in
++ os2*) PATH_SEPARATOR=';' ;;
++ *) ${PATH_SEPARATOR:=':'} ;;
++ esac
++
++ echo "$as_me:4736: result: $PATH_SEPARATOR" >&5
++echo "${ECHO_T}$PATH_SEPARATOR" >&6
++
+ ###############################################################################
+
+-echo "$as_me:4746: checking if you want to build a separate terminfo library" >&5
++echo "$as_me:4741: checking if you want to build a separate terminfo library" >&5
+ echo $ECHO_N "checking if you want to build a separate terminfo library... $ECHO_C" >&6
+
+ # Check whether --with-termlib or --without-termlib was given.
+@@ -4753,10 +4748,10 @@
+ else
+ with_termlib=no
+ fi;
+-echo "$as_me:4756: result: $with_termlib" >&5
++echo "$as_me:4751: result: $with_termlib" >&5
+ echo "${ECHO_T}$with_termlib" >&6
+
+-echo "$as_me:4759: checking if you want to build a separate tic library" >&5
++echo "$as_me:4754: checking if you want to build a separate tic library" >&5
+ echo $ECHO_N "checking if you want to build a separate tic library... $ECHO_C" >&6
+
+ # Check whether --with-ticlib or --without-ticlib was given.
+@@ -4766,13 +4761,13 @@
+ else
+ with_ticlib=no
+ fi;
+-echo "$as_me:4769: result: $with_ticlib" >&5
++echo "$as_me:4764: result: $with_ticlib" >&5
+ echo "${ECHO_T}$with_ticlib" >&6
+
+ ### Checks for special libraries, must be done up-front.
+ SHLIB_LIST=""
+
+-echo "$as_me:4775: checking if you want to link with the GPM mouse library" >&5
++echo "$as_me:4770: checking if you want to link with the GPM mouse library" >&5
+ echo $ECHO_N "checking if you want to link with the GPM mouse library... $ECHO_C" >&6
+
+ # Check whether --with-gpm or --without-gpm was given.
+@@ -4782,27 +4777,27 @@
+ else
+ with_gpm=maybe
+ fi;
+-echo "$as_me:4785: result: $with_gpm" >&5
++echo "$as_me:4780: result: $with_gpm" >&5
+ echo "${ECHO_T}$with_gpm" >&6
+
+ if test "$with_gpm" != no ; then
+- echo "$as_me:4789: checking for gpm.h" >&5
++ echo "$as_me:4784: checking for gpm.h" >&5
+ echo $ECHO_N "checking for gpm.h... $ECHO_C" >&6
+ if test "${ac_cv_header_gpm_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4795 "configure"
++#line 4790 "configure"
+ #include "confdefs.h"
+ #include <gpm.h>
+ _ACEOF
+-if { (eval echo "$as_me:4799: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:4794: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:4805: \$? = $ac_status" >&5
++ echo "$as_me:4800: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -4821,25 +4816,25 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:4824: result: $ac_cv_header_gpm_h" >&5
++echo "$as_me:4819: result: $ac_cv_header_gpm_h" >&5
+ echo "${ECHO_T}$ac_cv_header_gpm_h" >&6
+ if test $ac_cv_header_gpm_h = yes; then
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_GPM_H 1
+ EOF
+
+ if test "$with_gpm" != yes && test "$with_gpm" != maybe ; then
+ test -n "$verbose" && echo " assuming we really have GPM library" 1>&6
+
+-echo "${as_me:-configure}:4835: testing assuming we really have GPM library ..." 1>&5
++echo "${as_me:-configure}:4830: testing assuming we really have GPM library ..." 1>&5
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_LIBGPM 1
+ EOF
+
+ else
+- echo "$as_me:4842: checking for Gpm_Open in -lgpm" >&5
++ echo "$as_me:4837: checking for Gpm_Open in -lgpm" >&5
+ echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4847,7 +4842,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4850 "configure"
++#line 4845 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -4866,16 +4861,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:4869: \"$ac_link\"") >&5
++if { (eval echo "$as_me:4864: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4872: \$? = $ac_status" >&5
++ echo "$as_me:4867: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:4875: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4870: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4878: \$? = $ac_status" >&5
++ echo "$as_me:4873: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_Gpm_Open=yes
+ else
+@@ -4886,13 +4881,13 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:4889: result: $ac_cv_lib_gpm_Gpm_Open" >&5
++echo "$as_me:4884: result: $ac_cv_lib_gpm_Gpm_Open" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
+ if test $ac_cv_lib_gpm_Gpm_Open = yes; then
+ :
+ else
+
+- { { echo "$as_me:4895: error: Cannot link with GPM library" >&5
++ { { echo "$as_me:4890: error: Cannot link with GPM library" >&5
+ echo "$as_me: error: Cannot link with GPM library" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -4902,7 +4897,7 @@
+
+ else
+
+- test "$with_gpm" != maybe && { echo "$as_me:4905: WARNING: Cannot find GPM header" >&5
++ test "$with_gpm" != maybe && { echo "$as_me:4900: WARNING: Cannot find GPM header" >&5
+ echo "$as_me: WARNING: Cannot find GPM header" >&2;}
+ with_gpm=no
+
+@@ -4911,7 +4906,7 @@
+ fi
+
+ if test "$with_gpm" != no ; then
+- echo "$as_me:4914: checking if you want to load GPM dynamically" >&5
++ echo "$as_me:4909: checking if you want to load GPM dynamically" >&5
+ echo $ECHO_N "checking if you want to load GPM dynamically... $ECHO_C" >&6
+
+ # Check whether --with-dlsym or --without-dlsym was given.
+@@ -4921,18 +4916,18 @@
+ else
+ with_dlsym=yes
+ fi;
+- echo "$as_me:4924: result: $with_dlsym" >&5
++ echo "$as_me:4919: result: $with_dlsym" >&5
+ echo "${ECHO_T}$with_dlsym" >&6
+- if test "$with_dlsym" = yes ; then
++ if test "x$with_dlsym" = xyes ; then
+
+ cf_have_dlsym=no
+-echo "$as_me:4929: checking for dlsym" >&5
++echo "$as_me:4924: checking for dlsym" >&5
+ echo $ECHO_N "checking for dlsym... $ECHO_C" >&6
+ if test "${ac_cv_func_dlsym+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4935 "configure"
++#line 4930 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char dlsym (); below. */
+@@ -4955,7 +4950,7 @@
+ #if defined (__stub_dlsym) || defined (__stub___dlsym)
+ choke me
+ #else
+-f = dlsym;
++f = dlsym; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -4963,16 +4958,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:4966: \"$ac_link\"") >&5
++if { (eval echo "$as_me:4961: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4969: \$? = $ac_status" >&5
++ echo "$as_me:4964: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:4972: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4967: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4975: \$? = $ac_status" >&5
++ echo "$as_me:4970: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_dlsym=yes
+ else
+@@ -4982,14 +4977,14 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:4985: result: $ac_cv_func_dlsym" >&5
++echo "$as_me:4980: result: $ac_cv_func_dlsym" >&5
+ echo "${ECHO_T}$ac_cv_func_dlsym" >&6
+ if test $ac_cv_func_dlsym = yes; then
+ cf_have_dlsym=yes
+ else
+
+ cf_have_libdl=no
+-echo "$as_me:4992: checking for dlsym in -ldl" >&5
++echo "$as_me:4987: checking for dlsym in -ldl" >&5
+ echo $ECHO_N "checking for dlsym in -ldl... $ECHO_C" >&6
+ if test "${ac_cv_lib_dl_dlsym+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4997,7 +4992,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-ldl $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5000 "configure"
++#line 4995 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -5016,16 +5011,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5019: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5014: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5022: \$? = $ac_status" >&5
++ echo "$as_me:5017: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5025: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5020: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5028: \$? = $ac_status" >&5
++ echo "$as_me:5023: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dl_dlsym=yes
+ else
+@@ -5036,7 +5031,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:5039: result: $ac_cv_lib_dl_dlsym" >&5
++echo "$as_me:5034: result: $ac_cv_lib_dl_dlsym" >&5
+ echo "${ECHO_T}$ac_cv_lib_dl_dlsym" >&6
+ if test $ac_cv_lib_dl_dlsym = yes; then
+
+@@ -5049,10 +5044,10 @@
+ if test "$cf_have_dlsym" = yes ; then
+ test "$cf_have_libdl" = yes && LIBS="-ldl $LIBS"
+
+- echo "$as_me:5052: checking whether able to link to dl*() functions" >&5
++ echo "$as_me:5047: checking whether able to link to dl*() functions" >&5
+ echo $ECHO_N "checking whether able to link to dl*() functions... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5055 "configure"
++#line 5050 "configure"
+ #include "confdefs.h"
+ #include <dlfcn.h>
+ int
+@@ -5070,19 +5065,19 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5073: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5068: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5076: \$? = $ac_status" >&5
++ echo "$as_me:5071: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5079: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5074: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5082: \$? = $ac_status" >&5
++ echo "$as_me:5077: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_LIBDL 1
+ EOF
+
+@@ -5090,28 +5085,28 @@
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+
+- { { echo "$as_me:5093: error: Cannot link test program for libdl" >&5
++ { { echo "$as_me:5088: error: Cannot link test program for libdl" >&5
+ echo "$as_me: error: Cannot link test program for libdl" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- echo "$as_me:5098: result: ok" >&5
++ echo "$as_me:5093: result: ok" >&5
+ echo "${ECHO_T}ok" >&6
+ else
+- { { echo "$as_me:5101: error: Cannot find dlsym function" >&5
++ { { echo "$as_me:5096: error: Cannot find dlsym function" >&5
+ echo "$as_me: error: Cannot find dlsym function" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+- if test "$with_gpm" != yes ; then
++ if test "x$with_gpm" != xyes ; then
+ test -n "$verbose" && echo " assuming soname for gpm is $with_gpm" 1>&6
+
+-echo "${as_me:-configure}:5109: testing assuming soname for gpm is $with_gpm ..." 1>&5
++echo "${as_me:-configure}:5104: testing assuming soname for gpm is $with_gpm ..." 1>&5
+
+ cf_cv_gpm_soname="$with_gpm"
+ else
+
+-echo "$as_me:5114: checking for soname of gpm library" >&5
++echo "$as_me:5109: checking for soname of gpm library" >&5
+ echo $ECHO_N "checking for soname of gpm library... $ECHO_C" >&6
+ if test "${cf_cv_gpm_soname+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5129,15 +5124,15 @@
+ CF_EOF
+ cf_save_LIBS="$LIBS"
+ LIBS="-lgpm $LIBS"
+- if { (eval echo "$as_me:5132: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:5127: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5135: \$? = $ac_status" >&5
++ echo "$as_me:5130: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+- if { (eval echo "$as_me:5137: \"$ac_link\"") >&5
++ if { (eval echo "$as_me:5132: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5140: \$? = $ac_status" >&5
++ echo "$as_me:5135: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+ cf_cv_gpm_soname=`ldd conftest$ac_exeext 2>/dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep libgpm.`
+ test -z "$cf_cv_gpm_soname" && cf_cv_gpm_soname=unknown
+@@ -5148,11 +5143,12 @@
+ fi
+
+ fi
+-echo "$as_me:5151: result: $cf_cv_gpm_soname" >&5
++echo "$as_me:5146: result: $cf_cv_gpm_soname" >&5
+ echo "${ECHO_T}$cf_cv_gpm_soname" >&6
+
+ fi
+- test "$cf_cv_gpm_soname" != "unknown" && cat >>confdefs.h <<EOF
++ test "$cf_cv_gpm_soname" != "unknown" &&
++cat >>confdefs.h <<EOF
+ #define LIBGPM_SONAME "$cf_cv_gpm_soname"
+ EOF
+
+@@ -5161,11 +5157,12 @@
+ SHLIB_LIST="-lgpm $SHLIB_LIST"
+ TEST_LIBS="-lgpm $TEST_LIBS"
+ fi
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_LIBGPM 1
+ EOF
+
+-echo "$as_me:5168: checking for Gpm_Wgetch in -lgpm" >&5
++echo "$as_me:5165: checking for Gpm_Wgetch in -lgpm" >&5
+ echo $ECHO_N "checking for Gpm_Wgetch in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_Gpm_Wgetch+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5173,7 +5170,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5176 "configure"
++#line 5173 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -5192,16 +5189,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5195: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5192: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5198: \$? = $ac_status" >&5
++ echo "$as_me:5195: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5201: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5198: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5204: \$? = $ac_status" >&5
++ echo "$as_me:5201: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_Gpm_Wgetch=yes
+ else
+@@ -5212,11 +5209,11 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:5215: result: $ac_cv_lib_gpm_Gpm_Wgetch" >&5
++echo "$as_me:5212: result: $ac_cv_lib_gpm_Gpm_Wgetch" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Wgetch" >&6
+ if test $ac_cv_lib_gpm_Gpm_Wgetch = yes; then
+
+-echo "$as_me:5219: checking if GPM is weakly bound to curses library" >&5
++echo "$as_me:5216: checking if GPM is weakly bound to curses library" >&5
+ echo $ECHO_N "checking if GPM is weakly bound to curses library... $ECHO_C" >&6
+ if test "${cf_cv_check_gpm_wgetch+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5240,15 +5237,15 @@
+ # to rely on the static library, noting that some packagers may not
+ # include it.
+ LIBS="-static -lgpm -dynamic $LIBS"
+- if { (eval echo "$as_me:5243: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:5240: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5246: \$? = $ac_status" >&5
++ echo "$as_me:5243: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+- if { (eval echo "$as_me:5248: \"$ac_link\"") >&5
++ if { (eval echo "$as_me:5245: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5251: \$? = $ac_status" >&5
++ echo "$as_me:5248: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+ cf_cv_check_gpm_wgetch=`nm conftest$ac_exeext | egrep '\<wgetch\>' | egrep '\<[vVwW]\>'`
+ test -n "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=yes
+@@ -5260,11 +5257,11 @@
+ fi
+
+ fi
+-echo "$as_me:5263: result: $cf_cv_check_gpm_wgetch" >&5
++echo "$as_me:5260: result: $cf_cv_check_gpm_wgetch" >&5
+ echo "${ECHO_T}$cf_cv_check_gpm_wgetch" >&6
+
+ if test "$cf_cv_check_gpm_wgetch" != yes ; then
+- { echo "$as_me:5267: WARNING: GPM library is already linked with curses - read the FAQ" >&5
++ { echo "$as_me:5264: WARNING: GPM library is already linked with curses - read the FAQ" >&5
+ echo "$as_me: WARNING: GPM library is already linked with curses - read the FAQ" >&2;}
+ fi
+
+@@ -5274,7 +5271,7 @@
+
+ # not everyone has "test -c"
+ if test -c /dev/sysmouse 2>/dev/null ; then
+-echo "$as_me:5277: checking if you want to use sysmouse" >&5
++echo "$as_me:5274: checking if you want to use sysmouse" >&5
+ echo $ECHO_N "checking if you want to use sysmouse... $ECHO_C" >&6
+
+ # Check whether --with-sysmouse or --without-sysmouse was given.
+@@ -5286,7 +5283,7 @@
+ fi;
+ if test "$cf_with_sysmouse" != no ; then
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5289 "configure"
++#line 5286 "configure"
+ #include "confdefs.h"
+
+ #include <osreldate.h>
+@@ -5309,16 +5306,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5312: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5309: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5315: \$? = $ac_status" >&5
++ echo "$as_me:5312: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5318: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5315: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5321: \$? = $ac_status" >&5
++ echo "$as_me:5318: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_with_sysmouse=yes
+ else
+@@ -5328,9 +5325,10 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:5331: result: $cf_with_sysmouse" >&5
++echo "$as_me:5328: result: $cf_with_sysmouse" >&5
+ echo "${ECHO_T}$cf_with_sysmouse" >&6
+-test "$cf_with_sysmouse" = yes && cat >>confdefs.h <<\EOF
++test "$cf_with_sysmouse" = yes &&
++cat >>confdefs.h <<\EOF
+ #define USE_SYSMOUSE 1
+ EOF
+
+@@ -5338,15 +5336,15 @@
+
+ if test X"$CC_G_OPT" = X"" ; then
+ CC_G_OPT='-g'
+- test -n "$GCC" && test "${ac_cv_prog_cc_g}" != yes && CC_G_OPT=''
++ test -n "$GCC" && test "x${ac_cv_prog_cc_g}" != xyes && CC_G_OPT=''
+ fi
+
+ if test X"$CXX_G_OPT" = X"" ; then
+ CXX_G_OPT='-g'
+- test -n "$GXX" && test "${ac_cv_prog_cxx_g}" != yes && CXX_G_OPT=''
++ test -n "$GXX" && test "x${ac_cv_prog_cxx_g}" != xyes && CXX_G_OPT=''
+ fi
+
+-echo "$as_me:5349: checking for default loader flags" >&5
++echo "$as_me:5347: checking for default loader flags" >&5
+ echo $ECHO_N "checking for default loader flags... $ECHO_C" >&6
+ case $DFT_LWR_MODEL in
+ libtool) LD_MODEL='' ;;
+@@ -5355,13 +5353,13 @@
+ profile) LD_MODEL='-pg';;
+ shared) LD_MODEL='' ;;
+ esac
+-echo "$as_me:5358: result: $LD_MODEL" >&5
++echo "$as_me:5356: result: $LD_MODEL" >&5
+ echo "${ECHO_T}$LD_MODEL" >&6
+
+ case $DFT_LWR_MODEL in
+ shared)
+
+-echo "$as_me:5364: checking if rpath option should be used" >&5
++echo "$as_me:5362: checking if rpath option should be used" >&5
+ echo $ECHO_N "checking if rpath option should be used... $ECHO_C" >&6
+
+ # Check whether --enable-rpath or --disable-rpath was given.
+@@ -5371,10 +5369,10 @@
+ else
+ cf_cv_enable_rpath=no
+ fi;
+-echo "$as_me:5374: result: $cf_cv_enable_rpath" >&5
++echo "$as_me:5372: result: $cf_cv_enable_rpath" >&5
+ echo "${ECHO_T}$cf_cv_enable_rpath" >&6
+
+-echo "$as_me:5377: checking if shared libraries should be relinked during install" >&5
++echo "$as_me:5375: checking if shared libraries should be relinked during install" >&5
+ echo $ECHO_N "checking if shared libraries should be relinked during install... $ECHO_C" >&6
+
+ # Check whether --enable-relink or --disable-relink was given.
+@@ -5384,13 +5382,13 @@
+ else
+ cf_cv_do_relink=yes
+ fi;
+-echo "$as_me:5387: result: $cf_cv_do_relink" >&5
++echo "$as_me:5385: result: $cf_cv_do_relink" >&5
+ echo "${ECHO_T}$cf_cv_do_relink" >&6
+ ;;
+ esac
+
+ LD_RPATH_OPT=
+-echo "$as_me:5393: checking for an rpath option" >&5
++echo "$as_me:5391: checking for an rpath option" >&5
+ echo $ECHO_N "checking for an rpath option... $ECHO_C" >&6
+ case $cf_cv_system_name in #(vi
+ irix*) #(vi
+@@ -5403,10 +5401,10 @@
+ linux*|gnu*|k*bsd*-gnu) #(vi
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+-openbsd[2-9].*) #(vi
++openbsd[2-9].*|mirbsd*) #(vi
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+-freebsd*) #(vi
++dragonfly*|freebsd*) #(vi
+ LD_RPATH_OPT="-rpath "
+ ;;
+ netbsd*) #(vi
+@@ -5421,17 +5419,17 @@
+ *)
+ ;;
+ esac
+-echo "$as_me:5424: result: $LD_RPATH_OPT" >&5
++echo "$as_me:5422: result: $LD_RPATH_OPT" >&5
+ echo "${ECHO_T}$LD_RPATH_OPT" >&6
+
+ case "x$LD_RPATH_OPT" in #(vi
+ x-R*)
+- echo "$as_me:5429: checking if we need a space after rpath option" >&5
++ echo "$as_me:5427: checking if we need a space after rpath option" >&5
+ echo $ECHO_N "checking if we need a space after rpath option... $ECHO_C" >&6
+ cf_save_LIBS="$LIBS"
+ LIBS="${LD_RPATH_OPT}$libdir $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5434 "configure"
++#line 5432 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -5443,16 +5441,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5446: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5444: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5449: \$? = $ac_status" >&5
++ echo "$as_me:5447: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5452: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5450: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5455: \$? = $ac_status" >&5
++ echo "$as_me:5453: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_rpath_space=no
+ else
+@@ -5462,7 +5460,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS="$cf_save_LIBS"
+- echo "$as_me:5465: result: $cf_rpath_space" >&5
++ echo "$as_me:5463: result: $cf_rpath_space" >&5
+ echo "${ECHO_T}$cf_rpath_space" >&6
+ test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
+ ;;
+@@ -5477,7 +5475,7 @@
+ cf_ld_rpath_opt=
+ test "$cf_cv_enable_rpath" = yes && cf_ld_rpath_opt="$LD_RPATH_OPT"
+
+- echo "$as_me:5480: checking if release/abi version should be used for shared libs" >&5
++ echo "$as_me:5478: checking if release/abi version should be used for shared libs" >&5
+ echo $ECHO_N "checking if release/abi version should be used for shared libs... $ECHO_C" >&6
+
+ # Check whether --with-shlib-version or --without-shlib-version was given.
+@@ -5492,7 +5490,7 @@
+ cf_cv_shlib_version=$withval
+ ;;
+ *)
+- { { echo "$as_me:5495: error: option value must be one of: rel, abi, auto or no" >&5
++ { { echo "$as_me:5493: error: option value must be one of: rel, abi, auto or no" >&5
+ echo "$as_me: error: option value must be one of: rel, abi, auto or no" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -5501,23 +5499,24 @@
+ else
+ cf_cv_shlib_version=auto
+ fi;
+- echo "$as_me:5504: result: $cf_cv_shlib_version" >&5
++ echo "$as_me:5502: result: $cf_cv_shlib_version" >&5
+ echo "${ECHO_T}$cf_cv_shlib_version" >&6
+
+ cf_cv_rm_so_locs=no
++ cf_try_cflags=
+
+ # Some less-capable ports of gcc support only -fpic
+ CC_SHARED_OPTS=
+ if test "$GCC" = yes
+ then
+- echo "$as_me:5513: checking which $CC option to use" >&5
++ echo "$as_me:5512: checking which $CC option to use" >&5
+ echo $ECHO_N "checking which $CC option to use... $ECHO_C" >&6
+ cf_save_CFLAGS="$CFLAGS"
+ for CC_SHARED_OPTS in -fPIC -fpic ''
+ do
+ CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5520 "configure"
++#line 5519 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -5529,16 +5528,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5532: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5531: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5535: \$? = $ac_status" >&5
++ echo "$as_me:5534: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5538: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5537: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5541: \$? = $ac_status" >&5
++ echo "$as_me:5540: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -5547,7 +5546,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ done
+- echo "$as_me:5550: result: $CC_SHARED_OPTS" >&5
++ echo "$as_me:5549: result: $CC_SHARED_OPTS" >&5
+ echo "${ECHO_T}$CC_SHARED_OPTS" >&6
+ CFLAGS="$cf_save_CFLAGS"
+ fi
+@@ -5555,10 +5554,14 @@
+ cf_cv_shlib_version_infix=no
+
+ case $cf_cv_system_name in #(vi
+- aix[56]*) #(vi
++ aix4.3-9*|aix[5-7]*) #(vi
+ if test "$GCC" = yes; then
+ CC_SHARED_OPTS=
+- MK_SHARED_LIB='$(CC) -shared'
++ MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o $@'
++ else
++ # CC_SHARED_OPTS='-qpic=large -G'
++ # perhaps "-bM:SRE -bnoentry -bexpall"
++ MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o $@'
+ fi
+ ;;
+ beos*) #(vi
+@@ -5584,12 +5587,12 @@
+ chmod +x mk_shared_lib.sh
+ ;;
+ darwin*) #(vi
+- EXTRA_CFLAGS="-no-cpp-precomp"
++ cf_try_cflags="no-cpp-precomp"
+ CC_SHARED_OPTS="-dynamic"
+ MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $@` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $@'
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
+ cf_cv_shlib_version_infix=yes
+- echo "$as_me:5592: checking if ld -search_paths_first works" >&5
++ echo "$as_me:5595: checking if ld -search_paths_first works" >&5
+ echo $ECHO_N "checking if ld -search_paths_first works... $ECHO_C" >&6
+ if test "${cf_cv_ldflags_search_paths_first+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5598,7 +5601,7 @@
+ cf_save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5601 "configure"
++#line 5604 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -5610,16 +5613,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5613: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5616: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5616: \$? = $ac_status" >&5
++ echo "$as_me:5619: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5619: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5622: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5622: \$? = $ac_status" >&5
++ echo "$as_me:5625: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ldflags_search_paths_first=yes
+ else
+@@ -5630,12 +5633,20 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$cf_save_LDFLAGS
+ fi
+-echo "$as_me:5633: result: $cf_cv_ldflags_search_paths_first" >&5
++echo "$as_me:5636: result: $cf_cv_ldflags_search_paths_first" >&5
+ echo "${ECHO_T}$cf_cv_ldflags_search_paths_first" >&6
+ if test $cf_cv_ldflags_search_paths_first = yes; then
+ LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
+ fi
+ ;;
++ hpux[7-8]*) #(vi
++ # HP-UX 8.07 ld lacks "+b" option used for libdir search-list
++ if test "$GCC" != yes; then
++ CC_SHARED_OPTS='+Z'
++ fi
++ MK_SHARED_LIB='${LD} -b -o $@'
++ INSTALL_LIB="-m 555"
++ ;;
+ hpux*) #(vi
+ # (tested with gcc 2.7.2 -- I don't have c89)
+ if test "$GCC" = yes; then
+@@ -5649,9 +5660,19 @@
+ # readonly to exploit a quirk in the memory manager.
+ INSTALL_LIB="-m 555"
+ ;;
++ interix*)
++ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
++ if test "$cf_cv_shlib_version" = rel; then
++ cf_shared_soname='`basename .${REL_VERSION}`.${ABI_VERSION}'
++ else
++ cf_shared_soname='`basename `'
++ fi
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o '
++ ;;
+ irix*) #(vi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ # tested with IRIX 5.2 and 'cc'.
+ if test "$GCC" != yes; then
+@@ -5668,7 +5689,7 @@
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+@@ -5680,13 +5701,34 @@
+
+ MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $@'
+ ;;
+- openbsd[2-9].*) #(vi
++ mingw*) #(vi
++ cf_cv_shlib_version=mingw
++ cf_cv_shlib_version_infix=mingw
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='sh ../mk_shared_lib.sh $@ ${CC} ${CFLAGS}'
++ #MK_SHARED_LIB='${CC} ${CFLAGS} -mdll -Wl,-soname,'$cf_cv_shared_soname',-stats -o $[@]'
++ #MK_SHARED_LIB='${DLLTOOL} --export-all-symbols --output-exp --output-lib $[@]'
++ cat >mk_shared_lib.sh <<-CF_EOF
++ #!/bin/sh
++ SHARED_LIB=\$1
++ IMPORT_LIB=\`echo "\$1" | sed -e 's/[0-9]*\.dll$/.dll.a/'\`
++ shift
++ cat <<-EOF
++ Linking shared library
++ ** SHARED_LIB \$SHARED_LIB
++ ** IMPORT_LIB \$IMPORT_LIB
++EOF
++ exec \$* -shared -Wl,--out-implib=../lib/\${IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\${SHARED_LIB}
++CF_EOF
++ chmod +x mk_shared_lib.sh
++ ;;
++ openbsd[2-9].*|mirbsd*) #(vi
+ if test "$DFT_LWR_MODEL" = "shared" ; then
+ LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ if test "$cf_cv_enable_rpath" = yes ; then
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+
+@@ -5704,12 +5746,12 @@
+ MK_SHARED_LIB='${LD} -Bshareable -o $@'
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+ ;;
+- freebsd*) #(vi
++ dragonfly*|freebsd*) #(vi
+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+ LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+- LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${libdir} $LOCAL_LDFLAGS"
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ fi
+
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+@@ -5726,7 +5768,7 @@
+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+ LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+- EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
++ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
+ if test "$cf_cv_shlib_version" = auto; then
+ if test -f /usr/libexec/ld.elf_so; then
+ cf_cv_shlib_version=abi
+@@ -5810,7 +5852,7 @@
+ do
+ CFLAGS="$cf_shared_opts $cf_save_CFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5813 "configure"
++#line 5855 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -5822,16 +5864,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5825: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5867: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5828: \$? = $ac_status" >&5
++ echo "$as_me:5870: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5831: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5873: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5834: \$? = $ac_status" >&5
++ echo "$as_me:5876: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -5868,21 +5910,62 @@
+ test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
+ ;;
+ *)
+- { echo "$as_me:5871: WARNING: ignored --with-shlib-version" >&5
++ { echo "$as_me:5913: WARNING: ignored --with-shlib-version" >&5
+ echo "$as_me: WARNING: ignored --with-shlib-version" >&2;}
+ ;;
+ esac
+ ;;
+ esac
+
+- if test -n "$cf_ld_rpath_opt" ; then
+- MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}"
++ if test -n "$cf_try_cflags"
++ then
++cat > conftest.$ac_ext <<EOF
++#line 5923 "${as_me:-configure}"
++#include <stdio.h>
++int main(int argc, char *argv[])
++{
++ printf("hello\n");
++ return (argv[argc-1] == 0) ;
++}
++EOF
++ cf_save_CFLAGS="$CFLAGS"
++ for cf_opt in $cf_try_cflags
++ do
++ CFLAGS="$cf_save_CFLAGS -$cf_opt"
++ echo "$as_me:5935: checking if CFLAGS option -$cf_opt works" >&5
++echo $ECHO_N "checking if CFLAGS option -$cf_opt works... $ECHO_C" >&6
++ if { (eval echo "$as_me:5937: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:5940: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ echo "$as_me:5942: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ cf_save_CFLAGS="$CFLAGS"
++ else
++ echo "$as_me:5946: result: no" >&5
++echo "${ECHO_T}no" >&6
++ fi
++ done
++ CFLAGS="$cf_save_CFLAGS"
+ fi
+
++ # RPATH_LIST is a colon-separated list of directories
++ test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}"
++ test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}"
++
++ test -n "$verbose" && echo " CC_SHARED_OPTS: $CC_SHARED_OPTS" 1>&6
++
++echo "${as_me:-configure}:5959: testing CC_SHARED_OPTS: $CC_SHARED_OPTS ..." 1>&5
++
++ test -n "$verbose" && echo " MK_SHARED_LIB: $MK_SHARED_LIB" 1>&6
++
++echo "${as_me:-configure}:5963: testing MK_SHARED_LIB: $MK_SHARED_LIB ..." 1>&5
++
+ if test "$CC_SHARED_OPTS" = "unknown"; then
+ for model in $cf_list_models; do
+ if test "$model" = "shared"; then
+- { { echo "$as_me:5885: error: Shared libraries are not supported in this version" >&5
++ { { echo "$as_me:5968: error: Shared libraries are not supported in this version" >&5
+ echo "$as_me: error: Shared libraries are not supported in this version" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -5892,7 +5975,7 @@
+ ### If we're building with rpath, try to link non-standard libs that way too.
+ if test "$DFT_LWR_MODEL" = "shared"; then
+
+-echo "$as_me:5895: checking if rpath-hack should be disabled" >&5
++echo "$as_me:5978: checking if rpath-hack should be disabled" >&5
+ echo $ECHO_N "checking if rpath-hack should be disabled... $ECHO_C" >&6
+
+ # Check whether --enable-rpath-hack or --disable-rpath-hack was given.
+@@ -5909,21 +5992,21 @@
+ cf_disable_rpath_hack=no
+
+ fi;
+-echo "$as_me:5912: result: $cf_disable_rpath_hack" >&5
++echo "$as_me:5995: result: $cf_disable_rpath_hack" >&5
+ echo "${ECHO_T}$cf_disable_rpath_hack" >&6
+ if test "$cf_disable_rpath_hack" = no ; then
+
+-echo "$as_me:5916: checking for updated LDFLAGS" >&5
++echo "$as_me:5999: checking for updated LDFLAGS" >&5
+ echo $ECHO_N "checking for updated LDFLAGS... $ECHO_C" >&6
+ if test -n "$LD_RPATH_OPT" ; then
+- echo "$as_me:5919: result: maybe" >&5
++ echo "$as_me:6002: result: maybe" >&5
+ echo "${ECHO_T}maybe" >&6
+
+ for ac_prog in ldd
+ 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:5926: checking for $ac_word" >&5
++echo "$as_me:6009: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_cf_ldd_prog+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5938,7 +6021,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_cf_ldd_prog="$ac_prog"
+-echo "$as_me:5941: found $ac_dir/$ac_word" >&5
++echo "$as_me:6024: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -5946,10 +6029,10 @@
+ fi
+ cf_ldd_prog=$ac_cv_prog_cf_ldd_prog
+ if test -n "$cf_ldd_prog"; then
+- echo "$as_me:5949: result: $cf_ldd_prog" >&5
++ echo "$as_me:6032: result: $cf_ldd_prog" >&5
+ echo "${ECHO_T}$cf_ldd_prog" >&6
+ else
+- echo "$as_me:5952: result: no" >&5
++ echo "$as_me:6035: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -5963,7 +6046,7 @@
+ cf_rpath_oops=
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5966 "configure"
++#line 6049 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -5975,16 +6058,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5978: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6061: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5981: \$? = $ac_status" >&5
++ echo "$as_me:6064: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5984: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6067: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5987: \$? = $ac_status" >&5
++ echo "$as_me:6070: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_rpath_oops=`$cf_ldd_prog conftest$ac_exeext | fgrep ' not found' | sed -e 's% =>.*$%%' |sort -u`
+ cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[ ]/%/%' -e 's%/[^/][^/]*$%%' |sort -u`
+@@ -6012,7 +6095,7 @@
+ then
+ test -n "$verbose" && echo " ...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src" 1>&6
+
+-echo "${as_me:-configure}:6015: testing ...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src ..." 1>&5
++echo "${as_me:-configure}:6098: testing ...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src ..." 1>&5
+
+ LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib"
+ break
+@@ -6024,11 +6107,11 @@
+
+ test -n "$verbose" && echo " ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS" 1>&6
+
+-echo "${as_me:-configure}:6027: testing ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5
++echo "${as_me:-configure}:6110: testing ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5
+
+ test -n "$verbose" && echo " ...checking LDFLAGS $LDFLAGS" 1>&6
+
+-echo "${as_me:-configure}:6031: testing ...checking LDFLAGS $LDFLAGS ..." 1>&5
++echo "${as_me:-configure}:6114: testing ...checking LDFLAGS $LDFLAGS ..." 1>&5
+
+ cf_rpath_dst=
+ for cf_rpath_src in $LDFLAGS
+@@ -6065,7 +6148,7 @@
+ then
+ test -n "$verbose" && echo " ...Filter $cf_rpath_src ->$cf_rpath_tmp" 1>&6
+
+-echo "${as_me:-configure}:6068: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5
++echo "${as_me:-configure}:6151: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5
+
+ EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
+ fi
+@@ -6078,11 +6161,11 @@
+
+ test -n "$verbose" && echo " ...checked LDFLAGS $LDFLAGS" 1>&6
+
+-echo "${as_me:-configure}:6081: testing ...checked LDFLAGS $LDFLAGS ..." 1>&5
++echo "${as_me:-configure}:6164: testing ...checked LDFLAGS $LDFLAGS ..." 1>&5
+
+ test -n "$verbose" && echo " ...checking LIBS $LIBS" 1>&6
+
+-echo "${as_me:-configure}:6085: testing ...checking LIBS $LIBS ..." 1>&5
++echo "${as_me:-configure}:6168: testing ...checking LIBS $LIBS ..." 1>&5
+
+ cf_rpath_dst=
+ for cf_rpath_src in $LIBS
+@@ -6119,7 +6202,7 @@
+ then
+ test -n "$verbose" && echo " ...Filter $cf_rpath_src ->$cf_rpath_tmp" 1>&6
+
+-echo "${as_me:-configure}:6122: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5
++echo "${as_me:-configure}:6205: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5
+
+ EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
+ fi
+@@ -6132,11 +6215,11 @@
+
+ test -n "$verbose" && echo " ...checked LIBS $LIBS" 1>&6
+
+-echo "${as_me:-configure}:6135: testing ...checked LIBS $LIBS ..." 1>&5
++echo "${as_me:-configure}:6218: testing ...checked LIBS $LIBS ..." 1>&5
+
+ test -n "$verbose" && echo " ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS" 1>&6
+
+-echo "${as_me:-configure}:6139: testing ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5
++echo "${as_me:-configure}:6222: testing ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5
+
+ fi
+
+@@ -6147,7 +6230,7 @@
+ ###############################################################################
+
+ ### use option --disable-overwrite to leave out the link to -lcurses
+-echo "$as_me:6150: checking if you wish to install ncurses overwriting curses" >&5
++echo "$as_me:6233: checking if you wish to install ncurses overwriting curses" >&5
+ echo $ECHO_N "checking if you wish to install ncurses overwriting curses... $ECHO_C" >&6
+
+ # Check whether --enable-overwrite or --disable-overwrite was given.
+@@ -6157,10 +6240,10 @@
+ else
+ if test "$prefix" = "/usr" ; then with_overwrite=yes; else with_overwrite=no; fi
+ fi;
+-echo "$as_me:6160: result: $with_overwrite" >&5
++echo "$as_me:6243: result: $with_overwrite" >&5
+ echo "${ECHO_T}$with_overwrite" >&6
+
+-echo "$as_me:6163: checking if external terminfo-database is used" >&5
++echo "$as_me:6246: checking if external terminfo-database is used" >&5
+ echo $ECHO_N "checking if external terminfo-database is used... $ECHO_C" >&6
+
+ # Check whether --enable-database or --disable-database was given.
+@@ -6170,7 +6253,7 @@
+ else
+ use_database=yes
+ fi;
+-echo "$as_me:6173: result: $use_database" >&5
++echo "$as_me:6256: result: $use_database" >&5
+ echo "${ECHO_T}$use_database" >&6
+
+ case $host_os in #(vi
+@@ -6178,21 +6261,17 @@
+ TERMINFO_SRC='${top_srcdir}/misc/emx.src'
+ ;;
+ *) #(vi
+- TERMINFO_SRC='${top_srcdir}/misc/terminfo.src'
+- ;;
+-esac
+-
+- case $cf_cv_system_name in
+- os2*) PATH_SEPARATOR=';' ;;
+- *) PATH_SEPARATOR=':' ;;
+- esac
++ TERMINFO_SRC='${top_srcdir}/misc/terminfo.src'
++ ;;
++esac
+
+ if test "$use_database" != no ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_DATABASE 1
+ EOF
+
+- echo "$as_me:6195: checking which terminfo source-file will be installed" >&5
++ echo "$as_me:6274: checking which terminfo source-file will be installed" >&5
+ echo $ECHO_N "checking which terminfo source-file will be installed... $ECHO_C" >&6
+
+ # Check whether --with-database or --without-database was given.
+@@ -6200,10 +6279,10 @@
+ withval="$with_database"
+ TERMINFO_SRC=$withval
+ fi;
+- echo "$as_me:6203: result: $TERMINFO_SRC" >&5
++ echo "$as_me:6282: result: $TERMINFO_SRC" >&5
+ echo "${ECHO_T}$TERMINFO_SRC" >&6
+
+- echo "$as_me:6206: checking whether to use hashed database instead of directory/tree" >&5
++ echo "$as_me:6285: checking whether to use hashed database instead of directory/tree" >&5
+ echo $ECHO_N "checking whether to use hashed database instead of directory/tree... $ECHO_C" >&6
+
+ # Check whether --with-hashed-db or --without-hashed-db was given.
+@@ -6213,13 +6292,13 @@
+ else
+ with_hashed_db=no
+ fi;
+- echo "$as_me:6216: result: $with_hashed_db" >&5
++ echo "$as_me:6295: result: $with_hashed_db" >&5
+ echo "${ECHO_T}$with_hashed_db" >&6
+ else
+ with_hashed_db=no
+ fi
+
+-echo "$as_me:6222: checking for list of fallback descriptions" >&5
++echo "$as_me:6301: checking for list of fallback descriptions" >&5
+ echo $ECHO_N "checking for list of fallback descriptions... $ECHO_C" >&6
+
+ # Check whether --with-fallbacks or --without-fallbacks was given.
+@@ -6229,11 +6308,11 @@
+ else
+ with_fallback=
+ fi;
+-echo "$as_me:6232: result: $with_fallback" >&5
++echo "$as_me:6311: result: $with_fallback" >&5
+ echo "${ECHO_T}$with_fallback" >&6
+ FALLBACK_LIST=`echo "$with_fallback" | sed -e 's/,/ /g'`
+
+-echo "$as_me:6236: checking if you want modern xterm or antique" >&5
++echo "$as_me:6315: checking if you want modern xterm or antique" >&5
+ echo $ECHO_N "checking if you want modern xterm or antique... $ECHO_C" >&6
+
+ # Check whether --with-xterm-new or --without-xterm-new was given.
+@@ -6247,17 +6326,42 @@
+ no) with_xterm_new=xterm-old;;
+ *) with_xterm_new=xterm-new;;
+ esac
+-echo "$as_me:6250: result: $with_xterm_new" >&5
++echo "$as_me:6329: result: $with_xterm_new" >&5
+ echo "${ECHO_T}$with_xterm_new" >&6
+ WHICH_XTERM=$with_xterm_new
+
++echo "$as_me:6333: checking if xterm backspace sends BS or DEL" >&5
++echo $ECHO_N "checking if xterm backspace sends BS or DEL... $ECHO_C" >&6
++
++# Check whether --with-xterm-kbs or --without-xterm-kbs was given.
++if test "${with_xterm_kbs+set}" = set; then
++ withval="$with_xterm_kbs"
++ with_xterm_kbs=$withval
++else
++ with_xterm_kbs=BS
++fi;
++case x$with_xterm_kbs in
++xyes|xno|xBS|xbs|x8)
++ with_xterm_kbs=BS
++ ;;
++xDEL|xdel|x127)
++ with_xterm_kbs=DEL
++ ;;
++*)
++ with_xterm_kbs=$withval
++ ;;
++esac
++echo "$as_me:6354: result: $with_xterm_kbs" >&5
++echo "${ECHO_T}$with_xterm_kbs" >&6
++XTERM_KBS=$with_xterm_kbs
++
+ MAKE_TERMINFO=
+ if test "$use_database" = no ; then
+ TERMINFO="${datadir}/terminfo"
+ MAKE_TERMINFO="#"
+ else
+
+-echo "$as_me:6260: checking for list of terminfo directories" >&5
++echo "$as_me:6364: checking for list of terminfo directories" >&5
+ echo $ECHO_N "checking for list of terminfo directories... $ECHO_C" >&6
+
+ # Check whether --with-terminfo-dirs or --without-terminfo-dirs was given.
+@@ -6285,7 +6389,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval cf_src_path="$cf_src_path"
+ case ".$cf_src_path" in #(vi
+ .NONE/*)
+@@ -6297,26 +6401,37 @@
+ cf_src_path=`echo $cf_src_path | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:6300: error: expected a pathname, not \"$cf_src_path\"" >&5
++ { { echo "$as_me:6404: error: expected a pathname, not \"$cf_src_path\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$cf_src_path\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+- test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}:"
++ test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}$PATH_SEPARATOR"
+ cf_dst_path="${cf_dst_path}${cf_src_path}"
+ done
+ IFS="$ac_save_ifs"
+
+-eval 'TERMINFO_DIRS="$cf_dst_path"'
++# This may use the prefix/exec_prefix symbols which will only yield "NONE"
++# so we have to check/work around. We do prefer the result of "eval"...
++eval cf_dst_eval="$cf_dst_path"
++case "x$cf_dst_eval" in #(vi
++xNONE*) #(vi
++ TERMINFO_DIRS=$cf_dst_path
++ ;;
++*)
++ TERMINFO_DIRS="$cf_dst_eval"
++ ;;
++esac
+
+-echo "$as_me:6313: result: $TERMINFO_DIRS" >&5
++echo "$as_me:6427: result: $TERMINFO_DIRS" >&5
+ echo "${ECHO_T}$TERMINFO_DIRS" >&6
+-test -n "$TERMINFO_DIRS" && cat >>confdefs.h <<EOF
++test -n "$TERMINFO_DIRS" &&
++cat >>confdefs.h <<EOF
+ #define TERMINFO_DIRS "$TERMINFO_DIRS"
+ EOF
+
+-echo "$as_me:6319: checking for default terminfo directory" >&5
++echo "$as_me:6434: checking for default terminfo directory" >&5
+ echo $ECHO_N "checking for default terminfo directory... $ECHO_C" >&6
+
+ # Check whether --with-default-terminfo-dir or --without-default-terminfo-dir was given.
+@@ -6340,7 +6455,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval withval="$withval"
+ case ".$withval" in #(vi
+ .NONE/*)
+@@ -6352,17 +6467,18 @@
+ withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:6355: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:6470: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+ fi
+-TERMINFO="$withval"
++eval TERMINFO="$withval"
+
+-echo "$as_me:6364: result: $TERMINFO" >&5
++echo "$as_me:6479: result: $TERMINFO" >&5
+ echo "${ECHO_T}$TERMINFO" >&6
++
+ cat >>confdefs.h <<EOF
+ #define TERMINFO "$TERMINFO"
+ EOF
+@@ -6371,7 +6487,7 @@
+
+ ### use option --disable-big-core to make tic run on small machines
+ ### We need 4Mb, check if we can allocate 50% more than that.
+-echo "$as_me:6374: checking if big-core option selected" >&5
++echo "$as_me:6490: checking if big-core option selected" >&5
+ echo $ECHO_N "checking if big-core option selected... $ECHO_C" >&6
+
+ # Check whether --enable-big-core or --disable-big-core was given.
+@@ -6383,7 +6499,7 @@
+ with_big_core=no
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6386 "configure"
++#line 6502 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -6397,15 +6513,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:6400: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6516: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6403: \$? = $ac_status" >&5
++ echo "$as_me:6519: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:6405: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6521: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6408: \$? = $ac_status" >&5
++ echo "$as_me:6524: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ with_big_core=yes
+ else
+@@ -6417,16 +6533,17 @@
+ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi;
+-echo "$as_me:6420: result: $with_big_core" >&5
++echo "$as_me:6536: result: $with_big_core" >&5
+ echo "${ECHO_T}$with_big_core" >&6
+-test "$with_big_core" = "yes" && cat >>confdefs.h <<\EOF
++test "x$with_big_core" = "xyes" &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_BIG_CORE 1
+ EOF
+
+ ### ISO C only guarantees 512-char strings, we have tables which load faster
+ ### when constructed using "big" strings. More than the C compiler, the awk
+ ### program is a limit on most vendor UNIX systems. Check that we can build.
+-echo "$as_me:6429: checking if big-strings option selected" >&5
++echo "$as_me:6546: checking if big-strings option selected" >&5
+ echo $ECHO_N "checking if big-strings option selected... $ECHO_C" >&6
+
+ # Check whether --enable-big-strings or --disable-big-strings was given.
+@@ -6440,8 +6557,8 @@
+ eval with_big_strings=no
+ ;;
+ *) #(vi
+- if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < 12000) { xx = xx "x"; }; printf("%s\n", xx); }' \
+- | $AWK '{ printf "%d\n", length($0); }' | $AWK 'BEGIN { eqls=0; recs=0; } { recs++; if ($0 == 12000) eqls++; } END { if (recs != 1 || eqls != 1) exit 1; }' 2>/dev/null >/dev/null ) ; then
++ if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < 12000) { xx = xx "x"; }; printf("%s\n", xx); }' 2>/dev/null \
++ | $AWK '{ printf "%d\n", length($0); }' 2>/dev/null | $AWK 'BEGIN { eqls=0; recs=0; } { recs++; if ($0 == 12000) eqls++; } END { if (recs != 1 || eqls != 1) exit 1; }' 2>/dev/null >/dev/null ) ; then
+ eval with_big_strings=yes
+ else
+ eval with_big_strings=no
+@@ -6450,14 +6567,14 @@
+ esac
+
+ fi;
+-echo "$as_me:6453: result: $with_big_strings" >&5
++echo "$as_me:6570: result: $with_big_strings" >&5
+ echo "${ECHO_T}$with_big_strings" >&6
+
+ USE_BIG_STRINGS=0
+-test "$with_big_strings" = "yes" && USE_BIG_STRINGS=1
++test "x$with_big_strings" = "xyes" && USE_BIG_STRINGS=1
+
+ ### use option --enable-termcap to compile in the termcap fallback support
+-echo "$as_me:6460: checking if you want termcap-fallback support" >&5
++echo "$as_me:6577: checking if you want termcap-fallback support" >&5
+ echo $ECHO_N "checking if you want termcap-fallback support... $ECHO_C" >&6
+
+ # Check whether --enable-termcap or --disable-termcap was given.
+@@ -6467,25 +6584,26 @@
+ else
+ with_termcap=no
+ fi;
+-echo "$as_me:6470: result: $with_termcap" >&5
++echo "$as_me:6587: result: $with_termcap" >&5
+ echo "${ECHO_T}$with_termcap" >&6
+
+-if test "$with_termcap" != "yes" ; then
++if test "x$with_termcap" != "xyes" ; then
+ if test "$use_database" = no ; then
+ if test -z "$with_fallback" ; then
+- { { echo "$as_me:6476: error: You have disabled the database w/o specifying fallbacks" >&5
++ { { echo "$as_me:6593: error: You have disabled the database w/o specifying fallbacks" >&5
+ echo "$as_me: error: You have disabled the database w/o specifying fallbacks" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define PURE_TERMINFO 1
+ EOF
+
+ else
+
+ if test "$with_ticlib" != no ; then
+- { { echo "$as_me:6488: error: Options --with-ticlib and --enable-termcap cannot be combined" >&5
++ { { echo "$as_me:6606: error: Options --with-ticlib and --enable-termcap cannot be combined" >&5
+ echo "$as_me: error: Options --with-ticlib and --enable-termcap cannot be combined" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -6494,7 +6612,7 @@
+ #define USE_TERMCAP 1
+ EOF
+
+-echo "$as_me:6497: checking for list of termcap files" >&5
++echo "$as_me:6615: checking for list of termcap files" >&5
+ echo $ECHO_N "checking for list of termcap files... $ECHO_C" >&6
+
+ # Check whether --with-termpath or --without-termpath was given.
+@@ -6522,7 +6640,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval cf_src_path="$cf_src_path"
+ case ".$cf_src_path" in #(vi
+ .NONE/*)
+@@ -6534,27 +6652,38 @@
+ cf_src_path=`echo $cf_src_path | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:6537: error: expected a pathname, not \"$cf_src_path\"" >&5
++ { { echo "$as_me:6655: error: expected a pathname, not \"$cf_src_path\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$cf_src_path\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+- test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}:"
++ test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}$PATH_SEPARATOR"
+ cf_dst_path="${cf_dst_path}${cf_src_path}"
+ done
+ IFS="$ac_save_ifs"
+
+-eval 'TERMPATH="$cf_dst_path"'
++# This may use the prefix/exec_prefix symbols which will only yield "NONE"
++# so we have to check/work around. We do prefer the result of "eval"...
++eval cf_dst_eval="$cf_dst_path"
++case "x$cf_dst_eval" in #(vi
++xNONE*) #(vi
++ TERMPATH=$cf_dst_path
++ ;;
++*)
++ TERMPATH="$cf_dst_eval"
++ ;;
++esac
+
+-echo "$as_me:6550: result: $TERMPATH" >&5
++echo "$as_me:6678: result: $TERMPATH" >&5
+ echo "${ECHO_T}$TERMPATH" >&6
+-test -n "$TERMPATH" && cat >>confdefs.h <<EOF
++test -n "$TERMPATH" &&
++cat >>confdefs.h <<EOF
+ #define TERMPATH "$TERMPATH"
+ EOF
+
+ ### use option --enable-getcap to use a hacked getcap for reading termcaps
+-echo "$as_me:6557: checking if fast termcap-loader is needed" >&5
++echo "$as_me:6686: checking if fast termcap-loader is needed" >&5
+ echo $ECHO_N "checking if fast termcap-loader is needed... $ECHO_C" >&6
+
+ # Check whether --enable-getcap or --disable-getcap was given.
+@@ -6564,13 +6693,14 @@
+ else
+ with_getcap=no
+ fi;
+-echo "$as_me:6567: result: $with_getcap" >&5
++echo "$as_me:6696: result: $with_getcap" >&5
+ echo "${ECHO_T}$with_getcap" >&6
+-test "$with_getcap" = "yes" && cat >>confdefs.h <<\EOF
++test "x$with_getcap" = "xyes" &&
++cat >>confdefs.h <<\EOF
+ #define USE_GETCAP 1
+ EOF
+
+-echo "$as_me:6573: checking if translated termcaps will be cached in ~/.terminfo" >&5
++echo "$as_me:6703: checking if translated termcaps will be cached in ~/.terminfo" >&5
+ echo $ECHO_N "checking if translated termcaps will be cached in ~/.terminfo... $ECHO_C" >&6
+
+ # Check whether --enable-getcap-cache or --disable-getcap-cache was given.
+@@ -6580,16 +6710,17 @@
+ else
+ with_getcap_cache=no
+ fi;
+-echo "$as_me:6583: result: $with_getcap_cache" >&5
++echo "$as_me:6713: result: $with_getcap_cache" >&5
+ echo "${ECHO_T}$with_getcap_cache" >&6
+-test "$with_getcap_cache" = "yes" && cat >>confdefs.h <<\EOF
++test "x$with_getcap_cache" = "xyes" &&
++cat >>confdefs.h <<\EOF
+ #define USE_GETCAP_CACHE 1
+ EOF
+
+ fi
+
+ ### Use option --disable-home-terminfo to completely remove ~/.terminfo
+-echo "$as_me:6592: checking if ~/.terminfo is wanted" >&5
++echo "$as_me:6723: checking if ~/.terminfo is wanted" >&5
+ echo $ECHO_N "checking if ~/.terminfo is wanted... $ECHO_C" >&6
+
+ # Check whether --enable-home-terminfo or --disable-home-terminfo was given.
+@@ -6599,13 +6730,14 @@
+ else
+ with_home_terminfo=yes
+ fi;
+-echo "$as_me:6602: result: $with_home_terminfo" >&5
++echo "$as_me:6733: result: $with_home_terminfo" >&5
+ echo "${ECHO_T}$with_home_terminfo" >&6
+-test "$with_home_terminfo" = "yes" && cat >>confdefs.h <<\EOF
++test "x$with_home_terminfo" = "xyes" &&
++cat >>confdefs.h <<\EOF
+ #define USE_HOME_TERMINFO 1
+ EOF
+
+-echo "$as_me:6608: checking if you want to use restricted environment when running as root" >&5
++echo "$as_me:6740: checking if you want to use restricted environment when running as root" >&5
+ echo $ECHO_N "checking if you want to use restricted environment when running as root... $ECHO_C" >&6
+
+ # Check whether --enable-root-environ or --disable-root-environ was given.
+@@ -6615,9 +6747,10 @@
+ else
+ with_root_environ=yes
+ fi;
+-echo "$as_me:6618: result: $with_root_environ" >&5
++echo "$as_me:6750: result: $with_root_environ" >&5
+ echo "${ECHO_T}$with_root_environ" >&6
+-test "$with_root_environ" = yes && cat >>confdefs.h <<\EOF
++test "x$with_root_environ" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_ROOT_ENVIRON 1
+ EOF
+
+@@ -6629,13 +6762,13 @@
+ unlink
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:6632: checking for $ac_func" >&5
++echo "$as_me:6765: checking for $ac_func" >&5
+ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6638 "configure"
++#line 6771 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below. */
+@@ -6658,7 +6791,7 @@
+ #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+ choke me
+ #else
+-f = $ac_func;
++f = $ac_func; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -6666,16 +6799,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6669: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6802: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6672: \$? = $ac_status" >&5
++ echo "$as_me:6805: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6675: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6808: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6678: \$? = $ac_status" >&5
++ echo "$as_me:6811: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+ else
+@@ -6685,7 +6818,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:6688: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "$as_me:6821: result: `eval echo '${'$as_ac_var'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -6702,13 +6835,13 @@
+ symlink
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:6705: checking for $ac_func" >&5
++echo "$as_me:6838: checking for $ac_func" >&5
+ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6711 "configure"
++#line 6844 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below. */
+@@ -6731,7 +6864,7 @@
+ #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+ choke me
+ #else
+-f = $ac_func;
++f = $ac_func; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -6739,16 +6872,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6742: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6875: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6745: \$? = $ac_status" >&5
++ echo "$as_me:6878: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6748: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6881: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6751: \$? = $ac_status" >&5
++ echo "$as_me:6884: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+ else
+@@ -6758,7 +6891,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:6761: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "$as_me:6894: result: `eval echo '${'$as_ac_var'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -6769,7 +6902,7 @@
+ done
+
+ else
+- echo "$as_me:6772: checking if link/symlink functions work" >&5
++ echo "$as_me:6905: checking if link/symlink functions work" >&5
+ echo $ECHO_N "checking if link/symlink functions work... $ECHO_C" >&6
+ if test "${cf_cv_link_funcs+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6782,7 +6915,7 @@
+ eval 'ac_cv_func_'$cf_func'=error'
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6785 "configure"
++#line 6918 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -6812,15 +6945,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:6815: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6948: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6818: \$? = $ac_status" >&5
++ echo "$as_me:6951: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:6820: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6953: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6823: \$? = $ac_status" >&5
++ echo "$as_me:6956: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
+@@ -6838,13 +6971,15 @@
+ test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
+
+ fi
+-echo "$as_me:6841: result: $cf_cv_link_funcs" >&5
++echo "$as_me:6974: result: $cf_cv_link_funcs" >&5
+ echo "${ECHO_T}$cf_cv_link_funcs" >&6
+- test "$ac_cv_func_link" = yes && cat >>confdefs.h <<\EOF
++ test "$ac_cv_func_link" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_LINK 1
+ EOF
+
+- test "$ac_cv_func_symlink" = yes && cat >>confdefs.h <<\EOF
++ test "$ac_cv_func_symlink" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_SYMLINK 1
+ EOF
+
+@@ -6855,8 +6990,8 @@
+
+ # soft links (symbolic links) are useful for some systems where hard links do
+ # not work, or to make it simpler to copy terminfo trees around.
+-if test "$ac_cv_func_symlink" = yes ; then
+- echo "$as_me:6859: checking if tic should use symbolic links" >&5
++if test "x$ac_cv_func_symlink" = xyes ; then
++ echo "$as_me:6994: checking if tic should use symbolic links" >&5
+ echo $ECHO_N "checking if tic should use symbolic links... $ECHO_C" >&6
+
+ # Check whether --enable-symlinks or --disable-symlinks was given.
+@@ -6866,34 +7001,36 @@
+ else
+ with_symlinks=no
+ fi;
+- echo "$as_me:6869: result: $with_symlinks" >&5
++ echo "$as_me:7004: result: $with_symlinks" >&5
+ echo "${ECHO_T}$with_symlinks" >&6
+ fi
+
+ # If we have hard links and did not choose to use soft links instead, there is
+ # no reason to make this choice optional - use the hard links.
+ if test "$with_symlinks" = no ; then
+- echo "$as_me:6876: checking if tic should use hard links" >&5
++ echo "$as_me:7011: checking if tic should use hard links" >&5
+ echo $ECHO_N "checking if tic should use hard links... $ECHO_C" >&6
+- if test "$ac_cv_func_link" = yes ; then
++ if test "x$ac_cv_func_link" = xyes ; then
+ with_links=yes
+ else
+ with_links=no
+ fi
+- echo "$as_me:6883: result: $with_links" >&5
++ echo "$as_me:7018: result: $with_links" >&5
+ echo "${ECHO_T}$with_links" >&6
+ fi
+
+-test "$with_links" = yes && cat >>confdefs.h <<\EOF
++test "x$with_links" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_LINKS 1
+ EOF
+
+-test "$with_symlinks" = yes && cat >>confdefs.h <<\EOF
++test "x$with_symlinks" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_SYMLINKS 1
+ EOF
+
+ ### use option --enable-broken-linker to force on use of broken-linker support
+-echo "$as_me:6896: checking if you want broken-linker support code" >&5
++echo "$as_me:7033: checking if you want broken-linker support code" >&5
+ echo $ECHO_N "checking if you want broken-linker support code... $ECHO_C" >&6
+
+ # Check whether --enable-broken_linker or --disable-broken_linker was given.
+@@ -6903,12 +7040,13 @@
+ else
+ with_broken_linker=${BROKEN_LINKER:-no}
+ fi;
+-echo "$as_me:6906: result: $with_broken_linker" >&5
++echo "$as_me:7043: result: $with_broken_linker" >&5
+ echo "${ECHO_T}$with_broken_linker" >&6
+
+ BROKEN_LINKER=0
+-if test "$with_broken_linker" = yes ; then
+- cat >>confdefs.h <<\EOF
++if test "x$with_broken_linker" = xyes ; then
++
++cat >>confdefs.h <<\EOF
+ #define BROKEN_LINKER 1
+ EOF
+
+@@ -6916,21 +7054,22 @@
+ elif test "$DFT_LWR_MODEL" = shared ; then
+ case $cf_cv_system_name in #(vi
+ cygwin*)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define BROKEN_LINKER 1
+ EOF
+
+ BROKEN_LINKER=1
+ test -n "$verbose" && echo " cygwin linker is broken anyway" 1>&6
+
+-echo "${as_me:-configure}:6926: testing cygwin linker is broken anyway ..." 1>&5
++echo "${as_me:-configure}:7065: testing cygwin linker is broken anyway ..." 1>&5
+
+ ;;
+ esac
+ fi
+
+ ### use option --enable-bsdpad to have tputs process BSD-style prefix padding
+-echo "$as_me:6933: checking if tputs should process BSD-style prefix padding" >&5
++echo "$as_me:7072: checking if tputs should process BSD-style prefix padding" >&5
+ echo $ECHO_N "checking if tputs should process BSD-style prefix padding... $ECHO_C" >&6
+
+ # Check whether --enable-bsdpad or --disable-bsdpad was given.
+@@ -6940,9 +7079,10 @@
+ else
+ with_bsdpad=no
+ fi;
+-echo "$as_me:6943: result: $with_bsdpad" >&5
++echo "$as_me:7082: result: $with_bsdpad" >&5
+ echo "${ECHO_T}$with_bsdpad" >&6
+-test "$with_bsdpad" = yes && cat >>confdefs.h <<\EOF
++test "x$with_bsdpad" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define BSD_TPUTS 1
+ EOF
+
+@@ -6962,7 +7102,7 @@
+ cf_xopen_source=
+
+ case $host_os in #(vi
+-aix[456]*) #(vi
++aix[4-7]*) #(vi
+ cf_xopen_source="-D_ALL_SOURCE"
+ ;;
+ cygwin) #(vi
+@@ -6973,6 +7113,7 @@
+ ;;
+ darwin*) #(vi
+ cf_xopen_source="-D_DARWIN_C_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ freebsd*|dragonfly*) #(vi
+ # 5.x headers associate
+@@ -6990,17 +7131,18 @@
+ ;;
+ irix[56].*) #(vi
+ cf_xopen_source="-D_SGI_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ linux*|gnu*|mint*|k*bsd*-gnu) #(vi
+
+-echo "$as_me:6996: checking if we must define _GNU_SOURCE" >&5
++echo "$as_me:7138: checking if we must define _GNU_SOURCE" >&5
+ echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6
+ if test "${cf_cv_gnu_source+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7003 "configure"
++#line 7145 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -7015,16 +7157,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7018: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7160: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7021: \$? = $ac_status" >&5
++ echo "$as_me:7163: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7024: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7166: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7027: \$? = $ac_status" >&5
++ echo "$as_me:7169: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_gnu_source=no
+ else
+@@ -7033,7 +7175,7 @@
+ cf_save="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7036 "configure"
++#line 7178 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -7048,16 +7190,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7051: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7193: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7054: \$? = $ac_status" >&5
++ echo "$as_me:7196: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7057: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7199: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7060: \$? = $ac_status" >&5
++ echo "$as_me:7202: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_gnu_source=no
+ else
+@@ -7065,23 +7207,267 @@
+ cat conftest.$ac_ext >&5
+ cf_cv_gnu_source=yes
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- CPPFLAGS="$cf_save"
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$cf_save"
++
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++
++fi
++echo "$as_me:7217: result: $cf_cv_gnu_source" >&5
++echo "${ECHO_T}$cf_cv_gnu_source" >&6
++test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
++
++ ;;
++mirbsd*) #(vi
++ # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
++ cf_XOPEN_SOURCE=
++
++cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE
++
++cf_save_CFLAGS="$CFLAGS"
++cf_save_CPPFLAGS="$CPPFLAGS"
++
++cf_trim_CFLAGS=`echo "$cf_save_CFLAGS" | \
++ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \
++ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++echo "$as_me:7239: checking if we should define _POSIX_C_SOURCE" >&5
++echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_posix_c_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++echo "${as_me:-configure}:7245: testing if the symbol is already defined go no further ..." 1>&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7248 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
++
++#ifndef _POSIX_C_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:7263: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:7266: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:7269: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:7272: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_posix_c_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_want_posix_source=no
++ case .$cf_POSIX_C_SOURCE in #(vi
++ .[12]??*) #(vi
++ cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
++ ;;
++ .2) #(vi
++ cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
++ cf_want_posix_source=yes
++ ;;
++ .*)
++ cf_want_posix_source=yes
++ ;;
++ esac
++ if test "$cf_want_posix_source" = yes ; then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7293 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
++
++#ifdef _POSIX_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:7308: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:7311: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:7314: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:7317: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE"
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ fi
++
++echo "${as_me:-configure}:7328: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
++
++ CFLAGS="$cf_trim_CFLAGS"
++ CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
++
++echo "${as_me:-configure}:7333: testing if the second compile does not leave our definition intact error ..." 1>&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7336 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
++
++#ifndef _POSIX_C_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:7351: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:7354: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:7357: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:7360: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_posix_c_source=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$cf_save_CFLAGS"
++ CPPFLAGS="$cf_save_CPPFLAGS"
++
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++
++fi
++echo "$as_me:7376: result: $cf_cv_posix_c_source" >&5
++echo "${ECHO_T}$cf_cv_posix_c_source" >&6
++
++if test "$cf_cv_posix_c_source" != no ; then
++ CFLAGS="$cf_trim_CFLAGS"
++ CPPFLAGS="$cf_trim_CPPFLAGS"
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_cv_posix_c_source
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
+
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:7075: result: $cf_cv_gnu_source" >&5
+-echo "${ECHO_T}$cf_cv_gnu_source" >&6
+-test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+
+- ;;
+-mirbsd*) #(vi
+- # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
+ ;;
+ netbsd*) #(vi
+- # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ ;;
++openbsd[4-9]*) #(vi
++ # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
++ cf_xopen_source="-D_BSD_SOURCE"
++ cf_XOPEN_SOURCE=600
+ ;;
+ openbsd*) #(vi
+ # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
+@@ -7095,23 +7481,25 @@
+ sco*) #(vi
+ # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
+ ;;
+-solaris2.1[0-9]) #(vi
+- cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- ;;
+-solaris2.[1-9]) #(vi
++solaris2.*) #(vi
+ cf_xopen_source="-D__EXTENSIONS__"
+ ;;
+ *)
+- echo "$as_me:7105: checking if we should define _XOPEN_SOURCE" >&5
++
++echo "$as_me:7489: checking if we should define _XOPEN_SOURCE" >&5
+ echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
+ if test "${cf_cv_xopen_source+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7112 "configure"
++#line 7496 "configure"
+ #include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
+ #include <sys/types.h>
++
+ int
+ main ()
+ {
+@@ -7124,16 +7512,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7127: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7515: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7130: \$? = $ac_status" >&5
++ echo "$as_me:7518: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7133: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7521: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7136: \$? = $ac_status" >&5
++ echo "$as_me:7524: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_xopen_source=no
+ else
+@@ -7142,9 +7530,13 @@
+ cf_save="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7145 "configure"
++#line 7533 "configure"
+ #include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
+ #include <sys/types.h>
++
+ int
+ main ()
+ {
+@@ -7157,16 +7549,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7160: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7552: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7163: \$? = $ac_status" >&5
++ echo "$as_me:7555: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7166: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7558: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7169: \$? = $ac_status" >&5
++ echo "$as_me:7561: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_xopen_source=no
+ else
+@@ -7181,9 +7573,10 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:7184: result: $cf_cv_xopen_source" >&5
++echo "$as_me:7576: result: $cf_cv_xopen_source" >&5
+ echo "${ECHO_T}$cf_cv_xopen_source" >&6
+- if test "$cf_cv_xopen_source" != no ; then
++
++if test "$cf_cv_xopen_source" != no ; then
+
+ CFLAGS=`echo "$CFLAGS" | \
+ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+@@ -7193,7 +7586,7 @@
+ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+- cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+@@ -7273,7 +7666,7 @@
+ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+
+- fi
++fi
+
+ cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE
+
+@@ -7288,16 +7681,16 @@
+ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+-echo "$as_me:7291: checking if we should define _POSIX_C_SOURCE" >&5
++echo "$as_me:7684: checking if we should define _POSIX_C_SOURCE" >&5
+ echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6
+ if test "${cf_cv_posix_c_source+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-echo "${as_me:-configure}:7297: testing if the symbol is already defined go no further ..." 1>&5
++echo "${as_me:-configure}:7690: testing if the symbol is already defined go no further ..." 1>&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7300 "configure"
++#line 7693 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -7312,16 +7705,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7315: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7708: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7318: \$? = $ac_status" >&5
++ echo "$as_me:7711: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7321: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7714: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7324: \$? = $ac_status" >&5
++ echo "$as_me:7717: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_posix_c_source=no
+ else
+@@ -7342,7 +7735,7 @@
+ esac
+ if test "$cf_want_posix_source" = yes ; then
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7345 "configure"
++#line 7738 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -7357,16 +7750,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7360: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7753: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7363: \$? = $ac_status" >&5
++ echo "$as_me:7756: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7366: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7759: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7369: \$? = $ac_status" >&5
++ echo "$as_me:7762: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -7377,15 +7770,15 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+
+-echo "${as_me:-configure}:7380: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
++echo "${as_me:-configure}:7773: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
+
+ CFLAGS="$cf_trim_CFLAGS"
+ CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
+
+-echo "${as_me:-configure}:7385: testing if the second compile does not leave our definition intact error ..." 1>&5
++echo "${as_me:-configure}:7778: testing if the second compile does not leave our definition intact error ..." 1>&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7388 "configure"
++#line 7781 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -7400,16 +7793,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7403: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7796: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7406: \$? = $ac_status" >&5
++ echo "$as_me:7799: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7409: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7802: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7412: \$? = $ac_status" >&5
++ echo "$as_me:7805: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -7425,7 +7818,7 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:7428: result: $cf_cv_posix_c_source" >&5
++echo "$as_me:7821: result: $cf_cv_posix_c_source" >&5
+ echo "${ECHO_T}$cf_cv_posix_c_source" >&6
+
+ if test "$cf_cv_posix_c_source" != no ; then
+@@ -7500,29 +7893,293 @@
+ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++fi
++
++ ;;
++esac
++
++if test -n "$cf_xopen_source" ; then
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_xopen_source
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++fi
++
++if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
++ echo "$as_me:7994: checking if _XOPEN_SOURCE really is set" >&5
++echo $ECHO_N "checking if _XOPEN_SOURCE really is set... $ECHO_C" >&6
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7997 "configure"
++#include "confdefs.h"
++#include <stdlib.h>
++int
++main ()
++{
++
++#ifndef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8012: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8015: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8018: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8021: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_XOPEN_SOURCE_set=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_XOPEN_SOURCE_set=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ echo "$as_me:8030: result: $cf_XOPEN_SOURCE_set" >&5
++echo "${ECHO_T}$cf_XOPEN_SOURCE_set" >&6
++ if test $cf_XOPEN_SOURCE_set = yes
++ then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8035 "configure"
++#include "confdefs.h"
++#include <stdlib.h>
++int
++main ()
++{
++
++#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8050: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8053: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8056: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8059: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_XOPEN_SOURCE_set_ok=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_XOPEN_SOURCE_set_ok=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ if test $cf_XOPEN_SOURCE_set_ok = no
++ then
++ { echo "$as_me:8070: WARNING: _XOPEN_SOURCE is lower than requested" >&5
++echo "$as_me: WARNING: _XOPEN_SOURCE is lower than requested" >&2;}
++ fi
++ else
++
++echo "$as_me:8075: checking if we should define _XOPEN_SOURCE" >&5
++echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_xopen_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8082 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#ifndef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8101: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8104: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8107: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8110: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xopen_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 8119 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#ifdef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8138: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8141: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8144: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8147: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xopen_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_xopen_source=$cf_XOPEN_SOURCE
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$cf_save"
++
+ fi
++rm -f conftest.$ac_objext conftest.$ac_ext
+
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
++echo "$as_me:8162: result: $cf_cv_xopen_source" >&5
++echo "${ECHO_T}$cf_cv_xopen_source" >&6
+
+-fi
++if test "$cf_cv_xopen_source" != no ; then
+
+- ;;
+-esac
++CFLAGS=`echo "$CFLAGS" | \
++ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+-if test -n "$cf_xopen_source" ; then
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+ cf_new_cppflags=
+ cf_new_extra_cppflags=
+
+-for cf_add_cflags in $cf_xopen_source
++for cf_add_cflags in $cf_temp_xopen_source
+ do
+ case $cf_fix_cppflags in
+ no)
+@@ -7597,16 +8254,19 @@
+
+ fi
+
++ fi
++fi
++
+ # Work around breakage on OS X
+
+-echo "$as_me:7602: checking if SIGWINCH is defined" >&5
++echo "$as_me:8262: checking if SIGWINCH is defined" >&5
+ echo $ECHO_N "checking if SIGWINCH is defined... $ECHO_C" >&6
+ if test "${cf_cv_define_sigwinch+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7609 "configure"
++#line 8269 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -7621,23 +8281,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7624: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8284: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7627: \$? = $ac_status" >&5
++ echo "$as_me:8287: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7630: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8290: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7633: \$? = $ac_status" >&5
++ echo "$as_me:8293: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_define_sigwinch=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7640 "configure"
++#line 8300 "configure"
+ #include "confdefs.h"
+
+ #undef _XOPEN_SOURCE
+@@ -7655,16 +8315,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7658: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8318: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7661: \$? = $ac_status" >&5
++ echo "$as_me:8321: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7664: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8324: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7667: \$? = $ac_status" >&5
++ echo "$as_me:8327: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_define_sigwinch=maybe
+ else
+@@ -7678,11 +8338,11 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:7681: result: $cf_cv_define_sigwinch" >&5
++echo "$as_me:8341: result: $cf_cv_define_sigwinch" >&5
+ echo "${ECHO_T}$cf_cv_define_sigwinch" >&6
+
+ if test "$cf_cv_define_sigwinch" = maybe ; then
+-echo "$as_me:7685: checking for actual SIGWINCH definition" >&5
++echo "$as_me:8345: checking for actual SIGWINCH definition" >&5
+ echo $ECHO_N "checking for actual SIGWINCH definition... $ECHO_C" >&6
+ if test "${cf_cv_fixup_sigwinch+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -7693,7 +8353,7 @@
+ while test $cf_sigwinch != 1
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7696 "configure"
++#line 8356 "configure"
+ #include "confdefs.h"
+
+ #undef _XOPEN_SOURCE
+@@ -7715,16 +8375,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7718: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8378: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7721: \$? = $ac_status" >&5
++ echo "$as_me:8381: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7724: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8384: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7727: \$? = $ac_status" >&5
++ echo "$as_me:8387: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_fixup_sigwinch=$cf_sigwinch
+ break
+@@ -7738,7 +8398,7 @@
+ done
+
+ fi
+-echo "$as_me:7741: result: $cf_cv_fixup_sigwinch" >&5
++echo "$as_me:8401: result: $cf_cv_fixup_sigwinch" >&5
+ echo "${ECHO_T}$cf_cv_fixup_sigwinch" >&6
+
+ if test "$cf_cv_fixup_sigwinch" != unknown ; then
+@@ -7748,13 +8408,13 @@
+
+ # Checks for CODESET support.
+
+- echo "$as_me:7751: checking for nl_langinfo and CODESET" >&5
++ echo "$as_me:8411: 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
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7757 "configure"
++#line 8417 "configure"
+ #include "confdefs.h"
+ #include <langinfo.h>
+ int
+@@ -7766,16 +8426,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7769: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8429: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7772: \$? = $ac_status" >&5
++ echo "$as_me:8432: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7775: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8435: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7778: \$? = $ac_status" >&5
++ echo "$as_me:8438: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ am_cv_langinfo_codeset=yes
+ else
+@@ -7786,7 +8446,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+ fi
+-echo "$as_me:7789: result: $am_cv_langinfo_codeset" >&5
++echo "$as_me:8449: result: $am_cv_langinfo_codeset" >&5
+ echo "${ECHO_T}$am_cv_langinfo_codeset" >&6
+ if test $am_cv_langinfo_codeset = yes; then
+
+@@ -7800,7 +8460,7 @@
+ NCURSES_OK_WCHAR_T=
+ NCURSES_OK_WINT_T=
+
+-echo "$as_me:7803: checking if you want wide-character code" >&5
++echo "$as_me:8463: checking if you want wide-character code" >&5
+ echo $ECHO_N "checking if you want wide-character code... $ECHO_C" >&6
+
+ # Check whether --enable-widec or --disable-widec was given.
+@@ -7810,23 +8470,72 @@
+ else
+ with_widec=no
+ fi;
+-echo "$as_me:7813: result: $with_widec" >&5
++echo "$as_me:8473: result: $with_widec" >&5
+ echo "${ECHO_T}$with_widec" >&6
+-if test "$with_widec" = yes ; then
++if test "x$with_widec" = xyes ; then
+ LIB_SUFFIX="w${LIB_SUFFIX}"
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_WIDEC_SUPPORT 1
+ EOF
+
+- case "$CFLAGS $CPPFLAGS" in #(vi
+- *-D_XOPEN_SOURCE=500) #(vi
+- ;;
+- *)
++cat >>confdefs.h <<\EOF
++#define NCURSES_WIDECHAR 1
++EOF
++
++echo "$as_me:8486: checking if wchar.h can be used as is" >&5
++echo $ECHO_N "checking if wchar.h can be used as is... $ECHO_C" >&6
++if test "${cf_cv_wchar_h_okay+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 8493 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <wchar.h>
++
++int
++main ()
++{
++
++ wint_t foo = 0;
++ int bar = iswpunct(foo)
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:8510: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:8513: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:8516: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8519: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_wchar_h_okay=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_wchar_h_okay=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:8529: result: $cf_cv_wchar_h_okay" >&5
++echo "${ECHO_T}$cf_cv_wchar_h_okay" >&6
+
+-echo "$as_me:7826: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5
++if test $cf_cv_wchar_h_okay = no
++then
++
++echo "$as_me:8535: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5
+ echo $ECHO_N "checking if we must define _XOPEN_SOURCE_EXTENDED... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7829 "configure"
++#line 8538 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+
+@@ -7842,16 +8551,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7845: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8554: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7848: \$? = $ac_status" >&5
++ echo "$as_me:8557: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7851: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8560: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7854: \$? = $ac_status" >&5
++ echo "$as_me:8563: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_result=no
+ else
+@@ -7860,16 +8569,16 @@
+ cf_result=yes
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:7863: result: $cf_result" >&5
++echo "$as_me:8572: result: $cf_result" >&5
+ echo "${ECHO_T}$cf_result" >&6
+
+ if test "$cf_result" = yes ; then
+ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
+ elif test "x" != "x" ; then
+- echo "$as_me:7869: checking checking for compatible value versus " >&5
++ echo "$as_me:8578: checking checking for compatible value versus " >&5
+ echo $ECHO_N "checking checking for compatible value versus ... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7872 "configure"
++#line 8581 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+
+@@ -7885,16 +8594,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7888: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8597: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7891: \$? = $ac_status" >&5
++ echo "$as_me:8600: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7894: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8603: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7897: \$? = $ac_status" >&5
++ echo "$as_me:8606: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_result=yes
+ else
+@@ -7903,7 +8612,7 @@
+ cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- echo "$as_me:7906: result: $cf_result" >&5
++ echo "$as_me:8615: result: $cf_result" >&5
+ echo "${ECHO_T}$cf_result" >&6
+ if test "$cf_result" = no ; then
+ # perhaps we can override it - try...
+@@ -7911,8 +8620,7 @@
+ fi
+ fi
+
+- ;;
+- esac
++fi
+
+ # with_overwrite=no
+ NCURSES_CH_T=cchar_t
+@@ -7920,13 +8628,13 @@
+ for ac_func in putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc wcsrtombs mbsrtowcs wcstombs mbstowcs
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:7923: checking for $ac_func" >&5
++echo "$as_me:8631: checking for $ac_func" >&5
+ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7929 "configure"
++#line 8637 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below. */
+@@ -7949,7 +8657,7 @@
+ #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+ choke me
+ #else
+-f = $ac_func;
++f = $ac_func; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -7957,16 +8665,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7960: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8668: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7963: \$? = $ac_status" >&5
++ echo "$as_me:8671: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7966: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8674: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7969: \$? = $ac_status" >&5
++ echo "$as_me:8677: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+ else
+@@ -7976,7 +8684,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:7979: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "$as_me:8687: result: `eval echo '${'$as_ac_var'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -7986,9 +8694,9 @@
+ fi
+ done
+
+- if test "$ac_cv_func_putwc" != yes ; then
++ if test "x$ac_cv_func_putwc" != xyes ; then
+
+-echo "$as_me:7991: checking for multibyte character support" >&5
++echo "$as_me:8699: checking for multibyte character support" >&5
+ echo $ECHO_N "checking for multibyte character support... $ECHO_C" >&6
+ if test "${cf_cv_utf8_lib+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -7996,7 +8704,7 @@
+
+ cf_save_LIBS="$LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7999 "configure"
++#line 8707 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -8009,16 +8717,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8012: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8720: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8015: \$? = $ac_status" >&5
++ echo "$as_me:8723: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8018: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8726: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8021: \$? = $ac_status" >&5
++ echo "$as_me:8729: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_utf8_lib=yes
+ else
+@@ -8030,12 +8738,12 @@
+ cf_cv_header_path_utf8=
+ cf_cv_library_path_utf8=
+
+-echo "${as_me:-configure}:8033: testing Starting FIND_LINKAGE(utf8,) ..." 1>&5
++echo "${as_me:-configure}:8741: testing Starting FIND_LINKAGE(utf8,) ..." 1>&5
+
+ cf_save_LIBS="$LIBS"
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8038 "configure"
++#line 8746 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -8048,16 +8756,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8051: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8759: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8054: \$? = $ac_status" >&5
++ echo "$as_me:8762: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8057: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8765: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8060: \$? = $ac_status" >&5
++ echo "$as_me:8768: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_find_linkage_utf8=yes
+@@ -8071,7 +8779,7 @@
+ LIBS="-lutf8 $cf_save_LIBS"
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8074 "configure"
++#line 8782 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -8084,16 +8792,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8087: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8795: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8090: \$? = $ac_status" >&5
++ echo "$as_me:8798: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8093: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8801: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8096: \$? = $ac_status" >&5
++ echo "$as_me:8804: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_find_linkage_utf8=yes
+@@ -8110,9 +8818,9 @@
+
+ test -n "$verbose" && echo " find linkage for utf8 library" 1>&6
+
+-echo "${as_me:-configure}:8113: testing find linkage for utf8 library ..." 1>&5
++echo "${as_me:-configure}:8821: testing find linkage for utf8 library ..." 1>&5
+
+-echo "${as_me:-configure}:8115: testing Searching for headers in FIND_LINKAGE(utf8,) ..." 1>&5
++echo "${as_me:-configure}:8823: testing Searching for headers in FIND_LINKAGE(utf8,) ..." 1>&5
+
+ cf_save_CPPFLAGS="$CPPFLAGS"
+ cf_test_CPPFLAGS="$CPPFLAGS"
+@@ -8225,11 +8933,11 @@
+ if test -d $cf_cv_header_path_utf8 ; then
+ test -n "$verbose" && echo " ... testing $cf_cv_header_path_utf8" 1>&6
+
+-echo "${as_me:-configure}:8228: testing ... testing $cf_cv_header_path_utf8 ..." 1>&5
++echo "${as_me:-configure}:8936: testing ... testing $cf_cv_header_path_utf8 ..." 1>&5
+
+ CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_utf8"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8232 "configure"
++#line 8940 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -8242,21 +8950,21 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8245: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8953: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8248: \$? = $ac_status" >&5
++ echo "$as_me:8956: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8251: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8959: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8254: \$? = $ac_status" >&5
++ echo "$as_me:8962: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ test -n "$verbose" && echo " ... found utf8 headers in $cf_cv_header_path_utf8" 1>&6
+
+-echo "${as_me:-configure}:8259: testing ... found utf8 headers in $cf_cv_header_path_utf8 ..." 1>&5
++echo "${as_me:-configure}:8967: testing ... found utf8 headers in $cf_cv_header_path_utf8 ..." 1>&5
+
+ cf_cv_find_linkage_utf8=maybe
+ cf_test_CPPFLAGS="$CPPFLAGS"
+@@ -8274,7 +8982,7 @@
+
+ if test "$cf_cv_find_linkage_utf8" = maybe ; then
+
+-echo "${as_me:-configure}:8277: testing Searching for utf8 library in FIND_LINKAGE(utf8,) ..." 1>&5
++echo "${as_me:-configure}:8985: testing Searching for utf8 library in FIND_LINKAGE(utf8,) ..." 1>&5
+
+ cf_save_LIBS="$LIBS"
+ cf_save_LDFLAGS="$LDFLAGS"
+@@ -8371,13 +9079,13 @@
+ if test -d $cf_cv_library_path_utf8 ; then
+ test -n "$verbose" && echo " ... testing $cf_cv_library_path_utf8" 1>&6
+
+-echo "${as_me:-configure}:8374: testing ... testing $cf_cv_library_path_utf8 ..." 1>&5
++echo "${as_me:-configure}:9082: testing ... testing $cf_cv_library_path_utf8 ..." 1>&5
+
+ CPPFLAGS="$cf_test_CPPFLAGS"
+ LIBS="-lutf8 $cf_save_LIBS"
+ LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_utf8"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8380 "configure"
++#line 9088 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -8390,21 +9098,21 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8393: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9101: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8396: \$? = $ac_status" >&5
++ echo "$as_me:9104: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8399: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9107: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8402: \$? = $ac_status" >&5
++ echo "$as_me:9110: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ test -n "$verbose" && echo " ... found utf8 library in $cf_cv_library_path_utf8" 1>&6
+
+-echo "${as_me:-configure}:8407: testing ... found utf8 library in $cf_cv_library_path_utf8 ..." 1>&5
++echo "${as_me:-configure}:9115: testing ... found utf8 library in $cf_cv_library_path_utf8 ..." 1>&5
+
+ cf_cv_find_linkage_utf8=yes
+ cf_cv_library_file_utf8="-lutf8"
+@@ -8446,13 +9154,14 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:8449: result: $cf_cv_utf8_lib" >&5
++echo "$as_me:9157: result: $cf_cv_utf8_lib" >&5
+ echo "${ECHO_T}$cf_cv_utf8_lib" >&6
+
+ # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
+ # ncurses/ncursesw:
+ if test "$cf_cv_utf8_lib" = "add-on" ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_LIBUTF8_H 1
+ EOF
+
+@@ -8480,7 +9189,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8483 "configure"
++#line 9192 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -8492,16 +9201,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8495: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9204: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8498: \$? = $ac_status" >&5
++ echo "$as_me:9207: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8501: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9210: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8504: \$? = $ac_status" >&5
++ echo "$as_me:9213: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -8518,7 +9227,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:8521: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:9230: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -8552,7 +9261,7 @@
+ if test "$cf_have_libdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-echo "${as_me:-configure}:8555: testing adding $cf_add_libdir to library-path ..." 1>&5
++echo "${as_me:-configure}:9264: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+ fi
+@@ -8569,14 +9278,14 @@
+ fi
+
+ # This is needed on Tru64 5.0 to declare mbstate_t
+-echo "$as_me:8572: checking if we must include wchar.h to declare mbstate_t" >&5
++echo "$as_me:9281: checking if we must include wchar.h to declare mbstate_t" >&5
+ echo $ECHO_N "checking if we must include wchar.h to declare mbstate_t... $ECHO_C" >&6
+ if test "${cf_cv_mbstate_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8579 "configure"
++#line 9288 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -8594,23 +9303,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8597: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9306: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8600: \$? = $ac_status" >&5
++ echo "$as_me:9309: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8603: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9312: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8606: \$? = $ac_status" >&5
++ echo "$as_me:9315: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_mbstate_t=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8613 "configure"
++#line 9322 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -8629,16 +9338,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8632: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9341: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8635: \$? = $ac_status" >&5
++ echo "$as_me:9344: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8638: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9347: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8641: \$? = $ac_status" >&5
++ echo "$as_me:9350: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_mbstate_t=yes
+ else
+@@ -8650,11 +9359,12 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:8653: result: $cf_cv_mbstate_t" >&5
++echo "$as_me:9362: result: $cf_cv_mbstate_t" >&5
+ echo "${ECHO_T}$cf_cv_mbstate_t" >&6
+
+ if test "$cf_cv_mbstate_t" = yes ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define NEED_WCHAR_H 1
+ EOF
+
+@@ -8667,14 +9377,14 @@
+ fi
+
+ # This is needed on Tru64 5.0 to declare wchar_t
+-echo "$as_me:8670: checking if we must include wchar.h to declare wchar_t" >&5
++echo "$as_me:9380: checking if we must include wchar.h to declare wchar_t" >&5
+ echo $ECHO_N "checking if we must include wchar.h to declare wchar_t... $ECHO_C" >&6
+ if test "${cf_cv_wchar_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8677 "configure"
++#line 9387 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -8692,23 +9402,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8695: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9405: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8698: \$? = $ac_status" >&5
++ echo "$as_me:9408: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8701: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9411: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8704: \$? = $ac_status" >&5
++ echo "$as_me:9414: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_wchar_t=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8711 "configure"
++#line 9421 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -8727,16 +9437,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8730: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9440: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8733: \$? = $ac_status" >&5
++ echo "$as_me:9443: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8736: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9446: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8739: \$? = $ac_status" >&5
++ echo "$as_me:9449: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_wchar_t=yes
+ else
+@@ -8748,11 +9458,12 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:8751: result: $cf_cv_wchar_t" >&5
++echo "$as_me:9461: result: $cf_cv_wchar_t" >&5
+ echo "${ECHO_T}$cf_cv_wchar_t" >&6
+
+ if test "$cf_cv_wchar_t" = yes ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define NEED_WCHAR_H 1
+ EOF
+
+@@ -8770,14 +9481,14 @@
+ fi
+
+ # This is needed on Tru64 5.0 to declare wint_t
+-echo "$as_me:8773: checking if we must include wchar.h to declare wint_t" >&5
++echo "$as_me:9484: checking if we must include wchar.h to declare wint_t" >&5
+ echo $ECHO_N "checking if we must include wchar.h to declare wint_t... $ECHO_C" >&6
+ if test "${cf_cv_wint_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8780 "configure"
++#line 9491 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -8795,23 +9506,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8798: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9509: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8801: \$? = $ac_status" >&5
++ echo "$as_me:9512: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8804: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9515: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8807: \$? = $ac_status" >&5
++ echo "$as_me:9518: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_wint_t=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8814 "configure"
++#line 9525 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -8830,16 +9541,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8833: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9544: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8836: \$? = $ac_status" >&5
++ echo "$as_me:9547: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8839: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9550: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8842: \$? = $ac_status" >&5
++ echo "$as_me:9553: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_wint_t=yes
+ else
+@@ -8851,11 +9562,12 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:8854: result: $cf_cv_wint_t" >&5
++echo "$as_me:9565: result: $cf_cv_wint_t" >&5
+ echo "${ECHO_T}$cf_cv_wint_t" >&6
+
+ if test "$cf_cv_wint_t" = yes ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define NEED_WCHAR_H 1
+ EOF
+
+@@ -8873,7 +9585,8 @@
+ fi
+
+ if test "$NCURSES_MBSTATE_T" != 0; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define NEED_MBSTATE_T_DEF 1
+ EOF
+
+@@ -8890,7 +9603,7 @@
+ ;;
+ esac
+
+-echo "$as_me:8893: checking whether to enable _LP64 definition in curses.h" >&5
++echo "$as_me:9606: checking whether to enable _LP64 definition in curses.h" >&5
+ echo $ECHO_N "checking whether to enable _LP64 definition in curses.h... $ECHO_C" >&6
+
+ # Check whether --enable-lp64 or --disable-lp64 was given.
+@@ -8900,10 +9613,10 @@
+ else
+ with_lp64=$default_with_lp64
+ fi;
+-echo "$as_me:8903: result: $with_lp64" >&5
++echo "$as_me:9616: result: $with_lp64" >&5
+ echo "${ECHO_T}$with_lp64" >&6
+
+-if test "$with_lp64" = yes ; then
++if test "x$with_lp64" = xyes ; then
+ cf_cv_enable_lp64=1
+ else
+ cf_cv_enable_lp64=0
+@@ -8916,7 +9629,7 @@
+ fi;
+ if test "$enable_largefile" != no; then
+
+- echo "$as_me:8919: checking for special C compiler options needed for large files" >&5
++ echo "$as_me:9632: checking for special C compiler options needed for large files" >&5
+ echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6
+ if test "${ac_cv_sys_largefile_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8928,7 +9641,7 @@
+ # IRIX 6.2 and later do not support large files by default,
+ # so use the C compiler's -n32 option if that helps.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8931 "configure"
++#line 9644 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+@@ -8948,16 +9661,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8951: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9664: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8954: \$? = $ac_status" >&5
++ echo "$as_me:9667: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8957: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9670: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8960: \$? = $ac_status" >&5
++ echo "$as_me:9673: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -8967,16 +9680,16 @@
+ rm -f conftest.$ac_objext
+ CC="$CC -n32"
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8970: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9683: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8973: \$? = $ac_status" >&5
++ echo "$as_me:9686: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8976: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9689: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8979: \$? = $ac_status" >&5
++ echo "$as_me:9692: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sys_largefile_CC=' -n32'; break
+ else
+@@ -8990,13 +9703,13 @@
+ rm -f conftest.$ac_ext
+ fi
+ fi
+-echo "$as_me:8993: result: $ac_cv_sys_largefile_CC" >&5
++echo "$as_me:9706: result: $ac_cv_sys_largefile_CC" >&5
+ echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6
+ if test "$ac_cv_sys_largefile_CC" != no; then
+ CC=$CC$ac_cv_sys_largefile_CC
+ fi
+
+- echo "$as_me:8999: checking for _FILE_OFFSET_BITS value needed for large files" >&5
++ echo "$as_me:9712: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+ echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6
+ if test "${ac_cv_sys_file_offset_bits+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -9004,7 +9717,7 @@
+ while :; do
+ ac_cv_sys_file_offset_bits=no
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9007 "configure"
++#line 9720 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+@@ -9024,16 +9737,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9027: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9740: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9030: \$? = $ac_status" >&5
++ echo "$as_me:9743: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9033: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9746: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9036: \$? = $ac_status" >&5
++ echo "$as_me:9749: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -9042,7 +9755,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9045 "configure"
++#line 9758 "configure"
+ #include "confdefs.h"
+ #define _FILE_OFFSET_BITS 64
+ #include <sys/types.h>
+@@ -9063,16 +9776,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9066: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9779: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9069: \$? = $ac_status" >&5
++ echo "$as_me:9782: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9072: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9785: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9075: \$? = $ac_status" >&5
++ echo "$as_me:9788: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sys_file_offset_bits=64; break
+ else
+@@ -9083,7 +9796,7 @@
+ break
+ done
+ fi
+-echo "$as_me:9086: result: $ac_cv_sys_file_offset_bits" >&5
++echo "$as_me:9799: result: $ac_cv_sys_file_offset_bits" >&5
+ echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6
+ if test "$ac_cv_sys_file_offset_bits" != no; then
+
+@@ -9093,7 +9806,7 @@
+
+ fi
+ rm -rf conftest*
+- echo "$as_me:9096: checking for _LARGE_FILES value needed for large files" >&5
++ echo "$as_me:9809: checking for _LARGE_FILES value needed for large files" >&5
+ echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6
+ if test "${ac_cv_sys_large_files+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -9101,7 +9814,7 @@
+ while :; do
+ ac_cv_sys_large_files=no
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9104 "configure"
++#line 9817 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+@@ -9121,16 +9834,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9124: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9837: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9127: \$? = $ac_status" >&5
++ echo "$as_me:9840: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9130: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9843: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9133: \$? = $ac_status" >&5
++ echo "$as_me:9846: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -9139,7 +9852,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9142 "configure"
++#line 9855 "configure"
+ #include "confdefs.h"
+ #define _LARGE_FILES 1
+ #include <sys/types.h>
+@@ -9160,16 +9873,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9163: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9876: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9166: \$? = $ac_status" >&5
++ echo "$as_me:9879: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9169: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9882: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9172: \$? = $ac_status" >&5
++ echo "$as_me:9885: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sys_large_files=1; break
+ else
+@@ -9180,7 +9893,7 @@
+ break
+ done
+ fi
+-echo "$as_me:9183: result: $ac_cv_sys_large_files" >&5
++echo "$as_me:9896: result: $ac_cv_sys_large_files" >&5
+ echo "${ECHO_T}$ac_cv_sys_large_files" >&6
+ if test "$ac_cv_sys_large_files" != no; then
+
+@@ -9193,7 +9906,7 @@
+ fi
+
+ if test "$enable_largefile" != no ; then
+- echo "$as_me:9196: checking for _LARGEFILE_SOURCE value needed for large files" >&5
++ echo "$as_me:9909: checking for _LARGEFILE_SOURCE value needed for large files" >&5
+ echo $ECHO_N "checking for _LARGEFILE_SOURCE value needed for large files... $ECHO_C" >&6
+ if test "${ac_cv_sys_largefile_source+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -9201,7 +9914,7 @@
+ while :; do
+ ac_cv_sys_largefile_source=no
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9204 "configure"
++#line 9917 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -9213,16 +9926,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9216: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9929: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9219: \$? = $ac_status" >&5
++ echo "$as_me:9932: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9222: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9935: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9225: \$? = $ac_status" >&5
++ echo "$as_me:9938: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -9231,7 +9944,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9234 "configure"
++#line 9947 "configure"
+ #include "confdefs.h"
+ #define _LARGEFILE_SOURCE 1
+ #include <stdio.h>
+@@ -9244,16 +9957,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9247: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9960: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9250: \$? = $ac_status" >&5
++ echo "$as_me:9963: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9253: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9966: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9256: \$? = $ac_status" >&5
++ echo "$as_me:9969: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sys_largefile_source=1; break
+ else
+@@ -9264,7 +9977,7 @@
+ break
+ done
+ fi
+-echo "$as_me:9267: result: $ac_cv_sys_largefile_source" >&5
++echo "$as_me:9980: result: $ac_cv_sys_largefile_source" >&5
+ echo "${ECHO_T}$ac_cv_sys_largefile_source" >&6
+ if test "$ac_cv_sys_largefile_source" != no; then
+
+@@ -9278,13 +9991,13 @@
+ # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug
+ # in glibc 2.1.3, but that breaks too many other things.
+ # If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
+-echo "$as_me:9281: checking for fseeko" >&5
++echo "$as_me:9994: checking for fseeko" >&5
+ echo $ECHO_N "checking for fseeko... $ECHO_C" >&6
+ if test "${ac_cv_func_fseeko+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9287 "configure"
++#line 10000 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -9296,16 +10009,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9299: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10012: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9302: \$? = $ac_status" >&5
++ echo "$as_me:10015: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9305: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10018: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9308: \$? = $ac_status" >&5
++ echo "$as_me:10021: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_fseeko=yes
+ else
+@@ -9315,7 +10028,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:9318: result: $ac_cv_func_fseeko" >&5
++echo "$as_me:10031: result: $ac_cv_func_fseeko" >&5
+ echo "${ECHO_T}$ac_cv_func_fseeko" >&6
+ if test $ac_cv_func_fseeko = yes; then
+
+@@ -9336,14 +10049,14 @@
+ test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
+ test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
+
+- echo "$as_me:9339: checking whether to use struct dirent64" >&5
++ echo "$as_me:10052: checking whether to use struct dirent64" >&5
+ echo $ECHO_N "checking whether to use struct dirent64... $ECHO_C" >&6
+ if test "${cf_cv_struct_dirent64+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9346 "configure"
++#line 10059 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -9364,16 +10077,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9367: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:10080: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9370: \$? = $ac_status" >&5
++ echo "$as_me:10083: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9373: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10086: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9376: \$? = $ac_status" >&5
++ echo "$as_me:10089: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_struct_dirent64=yes
+ else
+@@ -9384,16 +10097,17 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:9387: result: $cf_cv_struct_dirent64" >&5
++echo "$as_me:10100: result: $cf_cv_struct_dirent64" >&5
+ echo "${ECHO_T}$cf_cv_struct_dirent64" >&6
+- test "$cf_cv_struct_dirent64" = yes && cat >>confdefs.h <<\EOF
++ test "$cf_cv_struct_dirent64" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_STRUCT_DIRENT64 1
+ EOF
+
+ fi
+
+ ### use option --disable-tparm-varargs to make tparm() conform to X/Open
+-echo "$as_me:9396: checking if you want tparm not to use X/Open fixed-parameter list" >&5
++echo "$as_me:10110: checking if you want tparm not to use X/Open fixed-parameter list" >&5
+ echo $ECHO_N "checking if you want tparm not to use X/Open fixed-parameter list... $ECHO_C" >&6
+
+ # Check whether --enable-tparm-varargs or --disable-tparm-varargs was given.
+@@ -9403,14 +10117,14 @@
+ else
+ with_tparm_varargs=yes
+ fi;
+-echo "$as_me:9406: result: $with_tparm_varargs" >&5
++echo "$as_me:10120: result: $with_tparm_varargs" >&5
+ echo "${ECHO_T}$with_tparm_varargs" >&6
+ NCURSES_TPARM_VARARGS=0
+-test "$with_tparm_varargs" = yes && NCURSES_TPARM_VARARGS=1
++test "x$with_tparm_varargs" = xyes && NCURSES_TPARM_VARARGS=1
+
+ ### use option --disable-tic-depends to make libtic not explicitly depend on ncurses/ncursesw
+ if test "$with_ticlib" != no ; then
+-echo "$as_me:9413: checking if you want tic library to use explicit dependency on ncurses$LIB_SUFFIX library" >&5
++echo "$as_me:10127: checking if you want tic library to use explicit dependency on ncurses$LIB_SUFFIX library" >&5
+ echo $ECHO_N "checking if you want tic library to use explicit dependency on ncurses$LIB_SUFFIX library... $ECHO_C" >&6
+
+ # Check whether --enable-tic-depends or --disable-tic-depends was given.
+@@ -9420,14 +10134,14 @@
+ else
+ with_tic_depends=yes
+ fi;
+-echo "$as_me:9423: result: $with_tic_depends" >&5
++echo "$as_me:10137: result: $with_tic_depends" >&5
+ echo "${ECHO_T}$with_tic_depends" >&6
+ else
+ with_tic_depends=no
+ fi
+
+ ### use option --with-bool to override bool's type
+-echo "$as_me:9430: checking for type of bool" >&5
++echo "$as_me:10144: checking for type of bool" >&5
+ echo $ECHO_N "checking for type of bool... $ECHO_C" >&6
+
+ # Check whether --with-bool or --without-bool was given.
+@@ -9437,10 +10151,10 @@
+ else
+ NCURSES_BOOL=auto
+ fi;
+-echo "$as_me:9440: result: $NCURSES_BOOL" >&5
++echo "$as_me:10154: result: $NCURSES_BOOL" >&5
+ echo "${ECHO_T}$NCURSES_BOOL" >&6
+
+-echo "$as_me:9443: checking for alternate terminal capabilities file" >&5
++echo "$as_me:10157: checking for alternate terminal capabilities file" >&5
+ echo $ECHO_N "checking for alternate terminal capabilities file... $ECHO_C" >&6
+
+ # Check whether --with-caps or --without-caps was given.
+@@ -9451,11 +10165,11 @@
+ TERMINFO_CAPS=Caps
+ fi;
+ test -f "${srcdir}/include/${TERMINFO_CAPS}" || TERMINFO_CAPS=Caps
+-echo "$as_me:9454: result: $TERMINFO_CAPS" >&5
++echo "$as_me:10168: result: $TERMINFO_CAPS" >&5
+ echo "${ECHO_T}$TERMINFO_CAPS" >&6
+
+ ### use option --with-chtype to override chtype's type
+-echo "$as_me:9458: checking for type of chtype" >&5
++echo "$as_me:10172: checking for type of chtype" >&5
+ echo $ECHO_N "checking for type of chtype... $ECHO_C" >&6
+
+ # Check whether --with-chtype or --without-chtype was given.
+@@ -9465,11 +10179,11 @@
+ else
+ NCURSES_CHTYPE=auto
+ fi;
+-echo "$as_me:9468: result: $NCURSES_CHTYPE" >&5
++echo "$as_me:10182: result: $NCURSES_CHTYPE" >&5
+ echo "${ECHO_T}$NCURSES_CHTYPE" >&6
+
+ ### use option --with-ospeed to override ospeed's type
+-echo "$as_me:9472: checking for type of ospeed" >&5
++echo "$as_me:10186: checking for type of ospeed" >&5
+ echo $ECHO_N "checking for type of ospeed... $ECHO_C" >&6
+
+ # Check whether --with-ospeed or --without-ospeed was given.
+@@ -9479,11 +10193,11 @@
+ else
+ NCURSES_OSPEED=short
+ fi;
+-echo "$as_me:9482: result: $NCURSES_OSPEED" >&5
++echo "$as_me:10196: result: $NCURSES_OSPEED" >&5
+ echo "${ECHO_T}$NCURSES_OSPEED" >&6
+
+ ### use option --with-mmask-t to override mmask_t's type
+-echo "$as_me:9486: checking for type of mmask_t" >&5
++echo "$as_me:10200: checking for type of mmask_t" >&5
+ echo $ECHO_N "checking for type of mmask_t... $ECHO_C" >&6
+
+ # Check whether --with-mmask-t or --without-mmask-t was given.
+@@ -9493,11 +10207,11 @@
+ else
+ NCURSES_MMASK_T=auto
+ fi;
+-echo "$as_me:9496: result: $NCURSES_MMASK_T" >&5
++echo "$as_me:10210: result: $NCURSES_MMASK_T" >&5
+ echo "${ECHO_T}$NCURSES_MMASK_T" >&6
+
+ ### use option --with-ccharw-max to override CCHARW_MAX size
+-echo "$as_me:9500: checking for size CCHARW_MAX" >&5
++echo "$as_me:10214: checking for size CCHARW_MAX" >&5
+ echo $ECHO_N "checking for size CCHARW_MAX... $ECHO_C" >&6
+
+ # Check whether --with-ccharw-max or --without-ccharw-max was given.
+@@ -9507,11 +10221,25 @@
+ else
+ NCURSES_CCHARW_MAX=5
+ fi;
+-echo "$as_me:9510: result: $NCURSES_CCHARW_MAX" >&5
++echo "$as_me:10224: result: $NCURSES_CCHARW_MAX" >&5
+ echo "${ECHO_T}$NCURSES_CCHARW_MAX" >&6
+
++### use option --with-tparm-arg to override tparm's argument type
++echo "$as_me:10228: checking for type of tparm args" >&5
++echo $ECHO_N "checking for type of tparm args... $ECHO_C" >&6
++
++# Check whether --with-tparm-arg or --without-tparm-arg was given.
++if test "${with_tparm_arg+set}" = set; then
++ withval="$with_tparm_arg"
++ NCURSES_TPARM_ARG="$withval"
++else
++ NCURSES_TPARM_ARG=long
++fi;
++echo "$as_me:10238: result: $NCURSES_TPARM_ARG" >&5
++echo "${ECHO_T}$NCURSES_TPARM_ARG" >&6
++
+ ### Enable compiling-in rcs id's
+-echo "$as_me:9514: checking if RCS identifiers should be compiled-in" >&5
++echo "$as_me:10242: checking if RCS identifiers should be compiled-in" >&5
+ echo $ECHO_N "checking if RCS identifiers should be compiled-in... $ECHO_C" >&6
+
+ # Check whether --with-rcs-ids or --without-rcs-ids was given.
+@@ -9521,15 +10249,16 @@
+ else
+ with_rcs_ids=no
+ fi;
+-echo "$as_me:9524: result: $with_rcs_ids" >&5
++echo "$as_me:10252: result: $with_rcs_ids" >&5
+ echo "${ECHO_T}$with_rcs_ids" >&6
+-test "$with_rcs_ids" = yes && cat >>confdefs.h <<\EOF
++test "x$with_rcs_ids" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_RCS_IDS 1
+ EOF
+
+ ###############################################################################
+
+-echo "$as_me:9532: checking format of man-pages" >&5
++echo "$as_me:10261: checking format of man-pages" >&5
+ echo $ECHO_N "checking format of man-pages... $ECHO_C" >&6
+
+ # Check whether --with-manpage-format or --without-manpage-format was given.
+@@ -9618,14 +10347,14 @@
+ ;;
+ esac
+
+-echo "$as_me:9621: result: $MANPAGE_FORMAT" >&5
++echo "$as_me:10350: result: $MANPAGE_FORMAT" >&5
+ echo "${ECHO_T}$MANPAGE_FORMAT" >&6
+ if test -n "$cf_unknown" ; then
+- { echo "$as_me:9624: WARNING: Unexpected manpage-format $cf_unknown" >&5
++ { echo "$as_me:10353: WARNING: Unexpected manpage-format $cf_unknown" >&5
+ echo "$as_me: WARNING: Unexpected manpage-format $cf_unknown" >&2;}
+ fi
+
+-echo "$as_me:9628: checking for manpage renaming" >&5
++echo "$as_me:10357: checking for manpage renaming" >&5
+ echo $ECHO_N "checking for manpage renaming... $ECHO_C" >&6
+
+ # Check whether --with-manpage-renames or --without-manpage-renames was given.
+@@ -9653,7 +10382,7 @@
+ if test -f $srcdir/man/$MANPAGE_RENAMES ; then
+ MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES
+ elif test ! -f $MANPAGE_RENAMES ; then
+- { { echo "$as_me:9656: error: not a filename: $MANPAGE_RENAMES" >&5
++ { { echo "$as_me:10385: error: not a filename: $MANPAGE_RENAMES" >&5
+ echo "$as_me: error: not a filename: $MANPAGE_RENAMES" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -9667,10 +10396,10 @@
+ fi
+ fi
+
+-echo "$as_me:9670: result: $MANPAGE_RENAMES" >&5
++echo "$as_me:10399: result: $MANPAGE_RENAMES" >&5
+ echo "${ECHO_T}$MANPAGE_RENAMES" >&6
+
+-echo "$as_me:9673: checking if manpage aliases will be installed" >&5
++echo "$as_me:10402: checking if manpage aliases will be installed" >&5
+ echo $ECHO_N "checking if manpage aliases will be installed... $ECHO_C" >&6
+
+ # Check whether --with-manpage-aliases or --without-manpage-aliases was given.
+@@ -9681,7 +10410,7 @@
+ MANPAGE_ALIASES=yes
+ fi;
+
+-echo "$as_me:9684: result: $MANPAGE_ALIASES" >&5
++echo "$as_me:10413: result: $MANPAGE_ALIASES" >&5
+ echo "${ECHO_T}$MANPAGE_ALIASES" >&6
+
+ case "x$LN_S" in #(vi
+@@ -9695,7 +10424,7 @@
+
+ MANPAGE_SYMLINKS=no
+ if test "$MANPAGE_ALIASES" = yes ; then
+-echo "$as_me:9698: checking if manpage symlinks should be used" >&5
++echo "$as_me:10427: checking if manpage symlinks should be used" >&5
+ echo $ECHO_N "checking if manpage symlinks should be used... $ECHO_C" >&6
+
+ # Check whether --with-manpage-symlinks or --without-manpage-symlinks was given.
+@@ -9708,17 +10437,17 @@
+
+ if test "$$cf_use_symlinks" = no; then
+ if test "$MANPAGE_SYMLINKS" = yes ; then
+- { echo "$as_me:9711: WARNING: cannot make symlinks" >&5
++ { echo "$as_me:10440: WARNING: cannot make symlinks" >&5
+ echo "$as_me: WARNING: cannot make symlinks" >&2;}
+ MANPAGE_SYMLINKS=no
+ fi
+ fi
+
+-echo "$as_me:9717: result: $MANPAGE_SYMLINKS" >&5
++echo "$as_me:10446: result: $MANPAGE_SYMLINKS" >&5
+ echo "${ECHO_T}$MANPAGE_SYMLINKS" >&6
+ fi
+
+-echo "$as_me:9721: checking for manpage tbl" >&5
++echo "$as_me:10450: checking for manpage tbl" >&5
+ echo $ECHO_N "checking for manpage tbl... $ECHO_C" >&6
+
+ # Check whether --with-manpage-tbl or --without-manpage-tbl was given.
+@@ -9729,7 +10458,7 @@
+ MANPAGE_TBL=no
+ fi;
+
+-echo "$as_me:9732: result: $MANPAGE_TBL" >&5
++echo "$as_me:10461: result: $MANPAGE_TBL" >&5
+ echo "${ECHO_T}$MANPAGE_TBL" >&6
+
+ if test "$prefix" = "NONE" ; then
+@@ -9776,6 +10505,7 @@
+ # this script is generated by the configure-script CF_MAN_PAGES macro.
+
+ prefix="$cf_prefix"
++datarootdir="$datarootdir"
+ datadir="$datadir"
+
+ NCURSES_MAJOR="$NCURSES_MAJOR"
+@@ -9836,11 +10566,12 @@
+ if test ! -f $cf_man_alias ; then
+ cat >>$cf_man_alias <<-CF_EOF2
+ s,@DATADIR@,\$datadir,g
+- s,@TERMINFO@,\$TERMINFO,g
+- s,@NCURSES_MAJOR@,\$NCURSES_MAJOR,g
+- s,@NCURSES_MINOR@,\$NCURSES_MINOR,g
+- s,@NCURSES_PATCH@,\$NCURSES_PATCH,g
+- s,@NCURSES_OSPEED@,\$NCURSES_OSPEED,g
++ s,@TERMINFO@,\${TERMINFO:="no default value"},g
++ s,@TERMINFO_DIRS@,\${TERMINFO_DIRS:="no default value"},g
++ s,@NCURSES_MAJOR@,\${NCURSES_MAJOR:="no default value"},g
++ s,@NCURSES_MINOR@,\${NCURSES_MINOR:="no default value"},g
++ s,@NCURSES_PATCH@,\${NCURSES_PATCH:="no default value"},g
++ s,@NCURSES_OSPEED@,\${NCURSES_OSPEED:="no default value"},g
+ CF_EOF
+
+ for cf_name in captoinfo clear infocmp infotocap tabs tic toe tput tset
+@@ -9869,7 +10600,9 @@
+
+ if test "$MANPAGE_ALIASES" != no ; then
+ cat >>$cf_edit_man <<CF_EOF
+- aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u\`
++ nCurses=ignore.3x
++ test $with_curses_h = yes && nCurses=ncurses.3x
++ aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u; test \$inalias = \$nCurses && echo curses\`
+ CF_EOF
+ fi
+
+@@ -9915,6 +10648,13 @@
+ fi
+ CF_EOF
+
++if test $with_overwrite != yes ; then
++cat >>$cf_edit_man <<CF_EOF
++ sed -e "/\#[ ]*include/s,<curses.h,<ncurses$LIB_SUFFIX/curses.h," < \$TMP >\$TMP.out
++ mv \$TMP.out \$TMP
++CF_EOF
++fi
++
+ if test $with_curses_h != yes ; then
+ cat >>$cf_edit_man <<CF_EOF
+ sed -e "/\#[ ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
+@@ -10051,7 +10791,7 @@
+ ###############################################################################
+
+ ### Note that some functions (such as const) are normally disabled anyway.
+-echo "$as_me:10054: checking if you want to build with function extensions" >&5
++echo "$as_me:10794: checking if you want to build with function extensions" >&5
+ echo $ECHO_N "checking if you want to build with function extensions... $ECHO_C" >&6
+
+ # Check whether --enable-ext-funcs or --disable-ext-funcs was given.
+@@ -10061,39 +10801,52 @@
+ else
+ with_ext_funcs=yes
+ fi;
+-echo "$as_me:10064: result: $with_ext_funcs" >&5
++echo "$as_me:10804: result: $with_ext_funcs" >&5
+ echo "${ECHO_T}$with_ext_funcs" >&6
+-if test "$with_ext_funcs" = yes ; then
++if test "x$with_ext_funcs" = xyes ; then
+ NCURSES_EXT_FUNCS=1
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
++#define HAVE_ASSUME_DEFAULT_COLORS 1
++EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_CURSES_VERSION 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_HAS_KEY 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_RESIZETERM 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_RESIZE_TERM 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_TERM_ENTRY_H 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_USE_DEFAULT_COLORS 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
++#define HAVE_USE_SCREEN 1
++EOF
++
++cat >>confdefs.h <<\EOF
++#define HAVE_USE_WINDOW 1
++EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_WRESIZE 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define NCURSES_EXT_FUNCS 1
+ EOF
+
+@@ -10103,7 +10856,7 @@
+ GENERATED_EXT_FUNCS=
+ fi
+
+-echo "$as_me:10106: checking if you want to build with experimental SCREEN extensions" >&5
++echo "$as_me:10859: checking if you want to build with experimental SCREEN extensions" >&5
+ echo $ECHO_N "checking if you want to build with experimental SCREEN extensions... $ECHO_C" >&6
+
+ # Check whether --enable-sp-funcs or --disable-sp-funcs was given.
+@@ -10113,11 +10866,12 @@
+ else
+ with_sp_funcs=no
+ fi;
+-echo "$as_me:10116: result: $with_sp_funcs" >&5
++echo "$as_me:10869: result: $with_sp_funcs" >&5
+ echo "${ECHO_T}$with_sp_funcs" >&6
+-if test "$with_sp_funcs" = yes ; then
++if test "x$with_sp_funcs" = xyes ; then
+ NCURSES_SP_FUNCS=1
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define NCURSES_SP_FUNCS 1
+ EOF
+
+@@ -10127,7 +10881,7 @@
+ GENERATED_SP_FUNCS=
+ fi
+
+-echo "$as_me:10130: checking if you want to build with experimental terminal-driver" >&5
++echo "$as_me:10884: checking if you want to build with experimental terminal-driver" >&5
+ echo $ECHO_N "checking if you want to build with experimental terminal-driver... $ECHO_C" >&6
+
+ # Check whether --enable-term-driver or --disable-term-driver was given.
+@@ -10137,22 +10891,23 @@
+ else
+ with_term_driver=no
+ fi;
+-echo "$as_me:10140: result: $with_term_driver" >&5
++echo "$as_me:10894: result: $with_term_driver" >&5
+ echo "${ECHO_T}$with_term_driver" >&6
+-if test "$with_term_driver" = yes ; then
+- cat >>confdefs.h <<\EOF
++if test "x$with_term_driver" = xyes ; then
++
++cat >>confdefs.h <<\EOF
+ #define USE_TERM_DRIVER 1
+ EOF
+
+- if test "$with_sp_funcs" != yes ; then
+- { { echo "$as_me:10148: error: The term-driver option relies upon sp-funcs" >&5
++ if test "x$with_sp_funcs" != xyes ; then
++ { { echo "$as_me:10903: error: The term-driver option relies upon sp-funcs" >&5
+ echo "$as_me: error: The term-driver option relies upon sp-funcs" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+
+ ### use option --enable-const to turn on use of const beyond that in XSI.
+-echo "$as_me:10155: checking for extended use of const keyword" >&5
++echo "$as_me:10910: checking for extended use of const keyword" >&5
+ echo $ECHO_N "checking for extended use of const keyword... $ECHO_C" >&6
+
+ # Check whether --enable-const or --disable-const was given.
+@@ -10162,15 +10917,15 @@
+ else
+ with_ext_const=no
+ fi;
+-echo "$as_me:10165: result: $with_ext_const" >&5
++echo "$as_me:10920: result: $with_ext_const" >&5
+ echo "${ECHO_T}$with_ext_const" >&6
+ NCURSES_CONST='/*nothing*/'
+-if test "$with_ext_const" = yes ; then
++if test "x$with_ext_const" = xyes ; then
+ NCURSES_CONST=const
+ fi
+
+ ### use option --enable-ext-colors to turn on use of colors beyond 16.
+-echo "$as_me:10173: checking if you want to use extended colors" >&5
++echo "$as_me:10928: checking if you want to use extended colors" >&5
+ echo $ECHO_N "checking if you want to use extended colors... $ECHO_C" >&6
+
+ # Check whether --enable-ext-colors or --disable-ext-colors was given.
+@@ -10180,12 +10935,12 @@
+ else
+ with_ext_colors=no
+ fi;
+-echo "$as_me:10183: result: $with_ext_colors" >&5
++echo "$as_me:10938: result: $with_ext_colors" >&5
+ echo "${ECHO_T}$with_ext_colors" >&6
+ NCURSES_EXT_COLORS=0
+-if test "$with_ext_colors" = yes ; then
+- if test "$with_widec" != yes ; then
+- { { echo "$as_me:10188: error: This option applies only to wide-character library" >&5
++if test "x$with_ext_colors" = xyes ; then
++ if test "x$with_widec" != xyes ; then
++ { { echo "$as_me:10943: error: This option applies only to wide-character library" >&5
+ echo "$as_me: error: This option applies only to wide-character library" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+@@ -10196,7 +10951,7 @@
+ 5.*)
+ cf_cv_rel_version=6.0
+ cf_cv_abi_version=6
+- { echo "$as_me:10199: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5
++ { echo "$as_me:10954: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5
+ echo "$as_me: WARNING: Overriding ABI version to $cf_cv_abi_version" >&2;}
+ ;;
+ esac
+@@ -10204,14 +10959,15 @@
+
+ fi
+ NCURSES_EXT_COLORS=1
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define NCURSES_EXT_COLORS 1
+ EOF
+
+ fi
+
+ ### use option --enable-ext-mouse to modify coding to support 5-button mice
+-echo "$as_me:10214: checking if you want to use extended mouse encoding" >&5
++echo "$as_me:10970: checking if you want to use extended mouse encoding" >&5
+ echo $ECHO_N "checking if you want to use extended mouse encoding... $ECHO_C" >&6
+
+ # Check whether --enable-ext-mouse or --disable-ext-mouse was given.
+@@ -10221,10 +10977,10 @@
+ else
+ with_ext_mouse=no
+ fi;
+-echo "$as_me:10224: result: $with_ext_mouse" >&5
++echo "$as_me:10980: result: $with_ext_mouse" >&5
+ echo "${ECHO_T}$with_ext_mouse" >&6
+ NCURSES_MOUSE_VERSION=1
+-if test "$with_ext_mouse" = yes ; then
++if test "x$with_ext_mouse" = xyes ; then
+ NCURSES_MOUSE_VERSION=2
+
+ if test "${with_abi_version+set}" != set; then
+@@ -10232,7 +10988,7 @@
+ 5.*)
+ cf_cv_rel_version=6.0
+ cf_cv_abi_version=6
+- { echo "$as_me:10235: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5
++ { echo "$as_me:10991: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5
+ echo "$as_me: WARNING: Overriding ABI version to $cf_cv_abi_version" >&2;}
+ ;;
+ esac
+@@ -10240,7 +10996,7 @@
+
+ fi
+
+-echo "$as_me:10243: checking if you want \$NCURSES_NO_PADDING code" >&5
++echo "$as_me:10999: checking if you want \$NCURSES_NO_PADDING code" >&5
+ echo $ECHO_N "checking if you want \$NCURSES_NO_PADDING code... $ECHO_C" >&6
+
+ # Check whether --enable-no-padding or --disable-no-padding was given.
+@@ -10250,19 +11006,20 @@
+ else
+ with_no_padding=$with_ext_funcs
+ fi;
+-echo "$as_me:10253: result: $with_no_padding" >&5
++echo "$as_me:11009: result: $with_no_padding" >&5
+ echo "${ECHO_T}$with_no_padding" >&6
+-test "$with_no_padding" = yes && cat >>confdefs.h <<\EOF
++test "x$with_no_padding" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define NCURSES_NO_PADDING 1
+ EOF
+
+-echo "$as_me:10259: checking for ANSI C header files" >&5
++echo "$as_me:11016: 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
+-#line 10265 "configure"
++#line 11022 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ #include <stdarg.h>
+@@ -10270,13 +11027,13 @@
+ #include <float.h>
+
+ _ACEOF
+-if { (eval echo "$as_me:10273: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:11030: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:10279: \$? = $ac_status" >&5
++ echo "$as_me:11036: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -10298,7 +11055,7 @@
+ 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
+-#line 10301 "configure"
++#line 11058 "configure"
+ #include "confdefs.h"
+ #include <string.h>
+
+@@ -10316,7 +11073,7 @@
+ 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
+-#line 10319 "configure"
++#line 11076 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+
+@@ -10337,7 +11094,7 @@
+ :
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10340 "configure"
++#line 11097 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ #if ((' ' & 0x0FF) == 0x020)
+@@ -10363,15 +11120,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:10366: \"$ac_link\"") >&5
++if { (eval echo "$as_me:11123: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10369: \$? = $ac_status" >&5
++ echo "$as_me:11126: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:10371: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11128: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10374: \$? = $ac_status" >&5
++ echo "$as_me:11131: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -10384,7 +11141,7 @@
+ fi
+ fi
+ fi
+-echo "$as_me:10387: result: $ac_cv_header_stdc" >&5
++echo "$as_me:11144: result: $ac_cv_header_stdc" >&5
+ echo "${ECHO_T}$ac_cv_header_stdc" >&6
+ if test $ac_cv_header_stdc = yes; then
+
+@@ -10400,28 +11157,28 @@
+ inttypes.h stdint.h unistd.h
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:10403: checking for $ac_header" >&5
++echo "$as_me:11160: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10409 "configure"
++#line 11166 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ #include <$ac_header>
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10415: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:11172: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10418: \$? = $ac_status" >&5
++ echo "$as_me:11175: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10421: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11178: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10424: \$? = $ac_status" >&5
++ echo "$as_me:11181: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_Header=yes"
+ else
+@@ -10431,7 +11188,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:10434: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:11191: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -10441,13 +11198,13 @@
+ fi
+ done
+
+-echo "$as_me:10444: checking for signed char" >&5
++echo "$as_me:11201: checking for signed char" >&5
+ echo $ECHO_N "checking for signed char... $ECHO_C" >&6
+ if test "${ac_cv_type_signed_char+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10450 "configure"
++#line 11207 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -10462,16 +11219,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10465: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:11222: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10468: \$? = $ac_status" >&5
++ echo "$as_me:11225: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10471: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11228: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10474: \$? = $ac_status" >&5
++ echo "$as_me:11231: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_type_signed_char=yes
+ else
+@@ -10481,10 +11238,10 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:10484: result: $ac_cv_type_signed_char" >&5
++echo "$as_me:11241: result: $ac_cv_type_signed_char" >&5
+ echo "${ECHO_T}$ac_cv_type_signed_char" >&6
+
+-echo "$as_me:10487: checking size of signed char" >&5
++echo "$as_me:11244: checking size of signed char" >&5
+ echo $ECHO_N "checking size of signed char... $ECHO_C" >&6
+ if test "${ac_cv_sizeof_signed_char+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10493,7 +11250,7 @@
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10496 "configure"
++#line 11253 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -10505,21 +11262,21 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10508: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:11265: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10511: \$? = $ac_status" >&5
++ echo "$as_me:11268: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10514: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11271: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10517: \$? = $ac_status" >&5
++ echo "$as_me:11274: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10522 "configure"
++#line 11279 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -10531,16 +11288,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10534: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:11291: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10537: \$? = $ac_status" >&5
++ echo "$as_me:11294: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10540: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11297: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10543: \$? = $ac_status" >&5
++ echo "$as_me:11300: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_hi=$ac_mid; break
+ else
+@@ -10556,7 +11313,7 @@
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10559 "configure"
++#line 11316 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -10568,16 +11325,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10571: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:11328: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10574: \$? = $ac_status" >&5
++ echo "$as_me:11331: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10577: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11334: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10580: \$? = $ac_status" >&5
++ echo "$as_me:11337: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_lo=$ac_mid; break
+ else
+@@ -10593,7 +11350,7 @@
+ while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10596 "configure"
++#line 11353 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -10605,16 +11362,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:10608: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:11365: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:10611: \$? = $ac_status" >&5
++ echo "$as_me:11368: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:10614: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11371: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10617: \$? = $ac_status" >&5
++ echo "$as_me:11374: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_hi=$ac_mid
+ else
+@@ -10627,12 +11384,12 @@
+ ac_cv_sizeof_signed_char=$ac_lo
+ else
+ if test "$cross_compiling" = yes; then
+- { { echo "$as_me:10630: error: cannot run test program while cross compiling" >&5
++ { { echo "$as_me:11387: error: cannot run test program while cross compiling" >&5
+ echo "$as_me: error: cannot run test program while cross compiling" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10635 "configure"
++#line 11392 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -10648,15 +11405,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:10651: \"$ac_link\"") >&5
++if { (eval echo "$as_me:11408: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10654: \$? = $ac_status" >&5
++ echo "$as_me:11411: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:10656: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11413: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10659: \$? = $ac_status" >&5
++ echo "$as_me:11416: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_signed_char=`cat conftest.val`
+ else
+@@ -10672,7 +11429,7 @@
+ ac_cv_sizeof_signed_char=0
+ fi
+ fi
+-echo "$as_me:10675: result: $ac_cv_sizeof_signed_char" >&5
++echo "$as_me:11432: result: $ac_cv_sizeof_signed_char" >&5
+ echo "${ECHO_T}$ac_cv_sizeof_signed_char" >&6
+ cat >>confdefs.h <<EOF
+ #define SIZEOF_SIGNED_CHAR $ac_cv_sizeof_signed_char
+@@ -10683,7 +11440,7 @@
+ else
+ NCURSES_SBOOL="char"
+ fi
+-echo "$as_me:10686: checking if you want to use signed Boolean array in term.h" >&5
++echo "$as_me:11443: checking if you want to use signed Boolean array in term.h" >&5
+ echo $ECHO_N "checking if you want to use signed Boolean array in term.h... $ECHO_C" >&6
+
+ # Check whether --enable-signed-char or --disable-signed-char was given.
+@@ -10693,12 +11450,12 @@
+ else
+ with_signed_char=no
+ fi;
+-echo "$as_me:10696: result: $with_signed_char" >&5
++echo "$as_me:11453: result: $with_signed_char" >&5
+ echo "${ECHO_T}$with_signed_char" >&6
+-test "$with_signed_char" != yes && NCURSES_SBOOL="char"
++test "x$with_signed_char" != xyes && NCURSES_SBOOL="char"
+
+ ### use option --enable-sigwinch to turn on use of SIGWINCH logic
+-echo "$as_me:10701: checking if you want SIGWINCH handler" >&5
++echo "$as_me:11458: checking if you want SIGWINCH handler" >&5
+ echo $ECHO_N "checking if you want SIGWINCH handler... $ECHO_C" >&6
+
+ # Check whether --enable-sigwinch or --disable-sigwinch was given.
+@@ -10708,14 +11465,15 @@
+ else
+ with_sigwinch=$with_ext_funcs
+ fi;
+-echo "$as_me:10711: result: $with_sigwinch" >&5
++echo "$as_me:11468: result: $with_sigwinch" >&5
+ echo "${ECHO_T}$with_sigwinch" >&6
+-test "$with_sigwinch" = yes && cat >>confdefs.h <<\EOF
++test "x$with_sigwinch" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_SIGWINCH 1
+ EOF
+
+ ### use option --enable-tcap-names to allow user to define new capabilities
+-echo "$as_me:10718: checking if you want user-definable terminal capabilities like termcap" >&5
++echo "$as_me:11476: checking if you want user-definable terminal capabilities like termcap" >&5
+ echo $ECHO_N "checking if you want user-definable terminal capabilities like termcap... $ECHO_C" >&6
+
+ # Check whether --enable-tcap-names or --disable-tcap-names was given.
+@@ -10725,15 +11483,15 @@
+ else
+ with_tcap_names=$with_ext_funcs
+ fi;
+-echo "$as_me:10728: result: $with_tcap_names" >&5
++echo "$as_me:11486: result: $with_tcap_names" >&5
+ echo "${ECHO_T}$with_tcap_names" >&6
+ NCURSES_XNAMES=0
+-test "$with_tcap_names" = yes && NCURSES_XNAMES=1
++test "x$with_tcap_names" = xyes && NCURSES_XNAMES=1
+
+ ###############################################################################
+ # These options are relatively safe to experiment with.
+
+-echo "$as_me:10736: checking if you want all development code" >&5
++echo "$as_me:11494: checking if you want all development code" >&5
+ echo $ECHO_N "checking if you want all development code... $ECHO_C" >&6
+
+ # Check whether --with-develop or --without-develop was given.
+@@ -10743,11 +11501,11 @@
+ else
+ with_develop=no
+ fi;
+-echo "$as_me:10746: result: $with_develop" >&5
++echo "$as_me:11504: result: $with_develop" >&5
+ echo "${ECHO_T}$with_develop" >&6
+
+ ### use option --enable-hard-tabs to turn on use of hard-tabs optimize
+-echo "$as_me:10750: checking if you want hard-tabs code" >&5
++echo "$as_me:11508: checking if you want hard-tabs code" >&5
+ echo $ECHO_N "checking if you want hard-tabs code... $ECHO_C" >&6
+
+ # Check whether --enable-hard-tabs or --disable-hard-tabs was given.
+@@ -10757,14 +11515,15 @@
+ else
+ enable_hard_tabs=$with_develop
+ fi;
+-echo "$as_me:10760: result: $enable_hard_tabs" >&5
++echo "$as_me:11518: result: $enable_hard_tabs" >&5
+ echo "${ECHO_T}$enable_hard_tabs" >&6
+-test "$enable_hard_tabs" = yes && cat >>confdefs.h <<\EOF
++test "x$enable_hard_tabs" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_HARD_TABS 1
+ EOF
+
+ ### use option --enable-xmc-glitch to turn on use of magic-cookie optimize
+-echo "$as_me:10767: checking if you want limited support for xmc" >&5
++echo "$as_me:11526: checking if you want limited support for xmc" >&5
+ echo $ECHO_N "checking if you want limited support for xmc... $ECHO_C" >&6
+
+ # Check whether --enable-xmc-glitch or --disable-xmc-glitch was given.
+@@ -10774,16 +11533,17 @@
+ else
+ enable_xmc_glitch=$with_develop
+ fi;
+-echo "$as_me:10777: result: $enable_xmc_glitch" >&5
++echo "$as_me:11536: result: $enable_xmc_glitch" >&5
+ echo "${ECHO_T}$enable_xmc_glitch" >&6
+-test "$enable_xmc_glitch" = yes && cat >>confdefs.h <<\EOF
++test "x$enable_xmc_glitch" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_XMC_SUPPORT 1
+ EOF
+
+ ###############################################################################
+ # These are just experimental, probably should not be in a package:
+
+-echo "$as_me:10786: checking if you do not want to assume colors are white-on-black" >&5
++echo "$as_me:11546: checking if you do not want to assume colors are white-on-black" >&5
+ echo $ECHO_N "checking if you do not want to assume colors are white-on-black... $ECHO_C" >&6
+
+ # Check whether --enable-assumed-color or --disable-assumed-color was given.
+@@ -10793,14 +11553,15 @@
+ else
+ with_assumed_color=yes
+ fi;
+-echo "$as_me:10796: result: $with_assumed_color" >&5
++echo "$as_me:11556: result: $with_assumed_color" >&5
+ echo "${ECHO_T}$with_assumed_color" >&6
+-test "$with_assumed_color" = yes && cat >>confdefs.h <<\EOF
++test "x$with_assumed_color" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_ASSUMED_COLOR 1
+ EOF
+
+ ### use option --enable-hashmap to turn on use of hashmap scrolling logic
+-echo "$as_me:10803: checking if you want hashmap scrolling-optimization code" >&5
++echo "$as_me:11564: checking if you want hashmap scrolling-optimization code" >&5
+ echo $ECHO_N "checking if you want hashmap scrolling-optimization code... $ECHO_C" >&6
+
+ # Check whether --enable-hashmap or --disable-hashmap was given.
+@@ -10810,14 +11571,15 @@
+ else
+ with_hashmap=yes
+ fi;
+-echo "$as_me:10813: result: $with_hashmap" >&5
++echo "$as_me:11574: result: $with_hashmap" >&5
+ echo "${ECHO_T}$with_hashmap" >&6
+-test "$with_hashmap" = yes && cat >>confdefs.h <<\EOF
++test "x$with_hashmap" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_HASHMAP 1
+ EOF
+
+ ### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
+-echo "$as_me:10820: checking if you want colorfgbg code" >&5
++echo "$as_me:11582: checking if you want colorfgbg code" >&5
+ echo $ECHO_N "checking if you want colorfgbg code... $ECHO_C" >&6
+
+ # Check whether --enable-colorfgbg or --disable-colorfgbg was given.
+@@ -10827,14 +11589,15 @@
+ else
+ with_colorfgbg=no
+ fi;
+-echo "$as_me:10830: result: $with_colorfgbg" >&5
++echo "$as_me:11592: result: $with_colorfgbg" >&5
+ echo "${ECHO_T}$with_colorfgbg" >&6
+-test "$with_colorfgbg" = yes && cat >>confdefs.h <<\EOF
++test "x$with_colorfgbg" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_COLORFGBG 1
+ EOF
+
+ ### use option --enable-interop to turn on use of bindings used for interop
+-echo "$as_me:10837: checking if you want interop bindings" >&5
++echo "$as_me:11600: checking if you want interop bindings" >&5
+ echo $ECHO_N "checking if you want interop bindings... $ECHO_C" >&6
+
+ # Check whether --enable-interop or --disable-interop was given.
+@@ -10844,16 +11607,16 @@
+ else
+ with_exp_interop=no
+ fi;
+-echo "$as_me:10847: result: $with_exp_interop" >&5
++echo "$as_me:11610: result: $with_exp_interop" >&5
+ echo "${ECHO_T}$with_exp_interop" >&6
+
+ NCURSES_INTEROP_FUNCS=0
+-test "$with_exp_interop" = yes && NCURSES_INTEROP_FUNCS=1
++test "x$with_exp_interop" = xyes && NCURSES_INTEROP_FUNCS=1
+
+ # This is still experimental (20080329), but should ultimately be moved to
+ # the script-block --with-normal, etc.
+
+-echo "$as_me:10856: checking if you want to link with the pthread library" >&5
++echo "$as_me:11619: checking if you want to link with the pthread library" >&5
+ echo $ECHO_N "checking if you want to link with the pthread library... $ECHO_C" >&6
+
+ # Check whether --with-pthread or --without-pthread was given.
+@@ -10863,27 +11626,27 @@
+ else
+ with_pthread=no
+ fi;
+-echo "$as_me:10866: result: $with_pthread" >&5
++echo "$as_me:11629: result: $with_pthread" >&5
+ echo "${ECHO_T}$with_pthread" >&6
+
+ if test "$with_pthread" != no ; then
+- echo "$as_me:10870: checking for pthread.h" >&5
++ echo "$as_me:11633: checking for pthread.h" >&5
+ echo $ECHO_N "checking for pthread.h... $ECHO_C" >&6
+ if test "${ac_cv_header_pthread_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10876 "configure"
++#line 11639 "configure"
+ #include "confdefs.h"
+ #include <pthread.h>
+ _ACEOF
+-if { (eval echo "$as_me:10880: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:11643: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:10886: \$? = $ac_status" >&5
++ echo "$as_me:11649: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -10902,20 +11665,22 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:10905: result: $ac_cv_header_pthread_h" >&5
++echo "$as_me:11668: result: $ac_cv_header_pthread_h" >&5
+ echo "${ECHO_T}$ac_cv_header_pthread_h" >&6
+ if test $ac_cv_header_pthread_h = yes; then
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_PTHREADS_H 1
+ EOF
+
+- echo "$as_me:10913: checking if we can link with the pthread library" >&5
+-echo $ECHO_N "checking if we can link with the pthread library... $ECHO_C" >&6
+- cf_save_LIBS="$LIBS"
+- LIBS="-lpthread $LIBS"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 10918 "configure"
++ for cf_lib_pthread in pthread c_r
++ do
++ echo "$as_me:11678: checking if we can link with the $cf_lib_pthread library" >&5
++echo $ECHO_N "checking if we can link with the $cf_lib_pthread library... $ECHO_C" >&6
++ cf_save_LIBS="$LIBS"
++ LIBS="-l$cf_lib_pthread $LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 11683 "configure"
+ #include "confdefs.h"
+
+ #include <pthread.h>
+@@ -10924,23 +11689,24 @@
+ main ()
+ {
+
+- int rc = pthread_create(0,0,0,0);
++ int rc = pthread_create(0,0,0,0);
++ int r2 = pthread_mutexattr_settype(0, 0);
+
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10934: \"$ac_link\"") >&5
++if { (eval echo "$as_me:11700: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10937: \$? = $ac_status" >&5
++ echo "$as_me:11703: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10940: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11706: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10943: \$? = $ac_status" >&5
++ echo "$as_me:11709: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ with_pthread=yes
+ else
+@@ -10949,34 +11715,37 @@
+ with_pthread=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- LIBS="$cf_save_LIBS"
+- echo "$as_me:10953: result: $with_pthread" >&5
++ LIBS="$cf_save_LIBS"
++ echo "$as_me:11719: result: $with_pthread" >&5
+ echo "${ECHO_T}$with_pthread" >&6
++ test "$with_pthread" = yes && break
++ done
++
++ if test "$with_pthread" = yes ; then
++ LIBS="-l$cf_lib_pthread $LIBS"
+
+- if test "$with_pthread" = yes ; then
+- LIBS="-lpthread $LIBS"
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define HAVE_LIBPTHREADS 1
+ EOF
+
+- else
+- { { echo "$as_me:10963: error: Cannot link with pthread library" >&5
++ else
++ { { echo "$as_me:11732: error: Cannot link with pthread library" >&5
+ echo "$as_me: error: Cannot link with pthread library" >&2;}
+ { (exit 1); exit 1; }; }
+- fi
++ fi
+
+ fi
+
+ fi
+
+ if test "x$with_pthread" != xno; then
+- echo "$as_me:10973: checking for pthread_kill" >&5
++ echo "$as_me:11742: checking for pthread_kill" >&5
+ echo $ECHO_N "checking for pthread_kill... $ECHO_C" >&6
+ if test "${ac_cv_func_pthread_kill+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10979 "configure"
++#line 11748 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char pthread_kill (); below. */
+@@ -10999,7 +11768,7 @@
+ #if defined (__stub_pthread_kill) || defined (__stub___pthread_kill)
+ choke me
+ #else
+-f = pthread_kill;
++f = pthread_kill; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -11007,16 +11776,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11010: \"$ac_link\"") >&5
++if { (eval echo "$as_me:11779: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:11013: \$? = $ac_status" >&5
++ echo "$as_me:11782: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11016: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11785: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11019: \$? = $ac_status" >&5
++ echo "$as_me:11788: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_pthread_kill=yes
+ else
+@@ -11026,11 +11795,11 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:11029: result: $ac_cv_func_pthread_kill" >&5
++echo "$as_me:11798: result: $ac_cv_func_pthread_kill" >&5
+ echo "${ECHO_T}$ac_cv_func_pthread_kill" >&6
+ if test $ac_cv_func_pthread_kill = yes; then
+
+- echo "$as_me:11033: checking if you want to allow EINTR in wgetch with pthreads" >&5
++ echo "$as_me:11802: checking if you want to allow EINTR in wgetch with pthreads" >&5
+ echo $ECHO_N "checking if you want to allow EINTR in wgetch with pthreads... $ECHO_C" >&6
+
+ # Check whether --enable-pthreads-eintr or --disable-pthreads-eintr was given.
+@@ -11040,17 +11809,18 @@
+ else
+ use_pthreads_eintr=no
+ fi;
+- echo "$as_me:11043: result: $use_pthreads_eintr" >&5
++ echo "$as_me:11812: result: $use_pthreads_eintr" >&5
+ echo "${ECHO_T}$use_pthreads_eintr" >&6
+- if test $use_pthreads_eintr = yes ; then
+- cat >>confdefs.h <<\EOF
++ if test "x$use_pthreads_eintr" = xyes ; then
++
++cat >>confdefs.h <<\EOF
+ #define USE_PTHREADS_EINTR 1
+ EOF
+
+ fi
+ fi
+
+- echo "$as_me:11053: checking if you want to use weak-symbols for pthreads" >&5
++ echo "$as_me:11823: checking if you want to use weak-symbols for pthreads" >&5
+ echo $ECHO_N "checking if you want to use weak-symbols for pthreads... $ECHO_C" >&6
+
+ # Check whether --enable-weak-symbols or --disable-weak-symbols was given.
+@@ -11060,18 +11830,18 @@
+ else
+ use_weak_symbols=no
+ fi;
+- echo "$as_me:11063: result: $use_weak_symbols" >&5
++ echo "$as_me:11833: result: $use_weak_symbols" >&5
+ echo "${ECHO_T}$use_weak_symbols" >&6
+- if test "$use_weak_symbols" = yes ; then
++ if test "x$use_weak_symbols" = xyes ; then
+
+-echo "$as_me:11067: checking if $CC supports weak symbols" >&5
++echo "$as_me:11837: checking if $CC supports weak symbols" >&5
+ echo $ECHO_N "checking if $CC supports weak symbols... $ECHO_C" >&6
+ if test "${cf_cv_weak_symbols+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 11074 "configure"
++#line 11844 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -11097,16 +11867,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:11100: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:11870: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11103: \$? = $ac_status" >&5
++ echo "$as_me:11873: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:11106: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11876: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11109: \$? = $ac_status" >&5
++ echo "$as_me:11879: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_weak_symbols=yes
+ else
+@@ -11117,15 +11887,16 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:11120: result: $cf_cv_weak_symbols" >&5
++echo "$as_me:11890: result: $cf_cv_weak_symbols" >&5
+ echo "${ECHO_T}$cf_cv_weak_symbols" >&6
+
+ else
+ cf_cv_weak_symbols=no
+ fi
+
+- if test $cf_cv_weak_symbols = yes ; then
+- cat >>confdefs.h <<\EOF
++ if test "x$cf_cv_weak_symbols" = xyes ; then
++
++cat >>confdefs.h <<\EOF
+ #define USE_WEAK_SYMBOLS 1
+ EOF
+
+@@ -11133,13 +11904,14 @@
+ fi
+
+ PTHREAD=
+-if test "$with_pthread" = "yes" ; then
+- cat >>confdefs.h <<\EOF
++if test "x$with_pthread" = "xyes" ; then
++
++cat >>confdefs.h <<\EOF
+ #define USE_PTHREADS 1
+ EOF
+
+ enable_reentrant=yes
+- if test $cf_cv_weak_symbols = yes ; then
++ if test "x$cf_cv_weak_symbols" = xyes ; then
+ PTHREAD=-lpthread
+ fi
+ fi
+@@ -11148,7 +11920,7 @@
+ # opaque outside of that, so there is no --enable-opaque option. We can use
+ # this option without --with-pthreads, but this will be always set for
+ # pthreads.
+-echo "$as_me:11151: checking if you want experimental reentrant code" >&5
++echo "$as_me:11923: checking if you want experimental reentrant code" >&5
+ echo $ECHO_N "checking if you want experimental reentrant code... $ECHO_C" >&6
+
+ # Check whether --enable-reentrant or --disable-reentrant was given.
+@@ -11158,14 +11930,14 @@
+ else
+ with_reentrant=no
+ fi;
+-echo "$as_me:11161: result: $with_reentrant" >&5
++echo "$as_me:11933: result: $with_reentrant" >&5
+ echo "${ECHO_T}$with_reentrant" >&6
+-if test "$with_reentrant" = yes ; then
++if test "x$with_reentrant" = xyes ; then
+ cf_cv_enable_reentrant=1
+ cf_cv_enable_opaque="NCURSES_INTERNALS"
+ NCURSES_OPAQUE=1
+ NCURSES_SIZE_T=int
+- if test $cf_cv_weak_symbols = yes ; then
++ if test "x$cf_cv_weak_symbols" = xyes ; then
+
+ # remove pthread library from $LIBS
+ LIBS=`echo "$LIBS" | sed -e 's/-lpthread[ ]//g' -e 's/-lpthread$//'`
+@@ -11175,7 +11947,8 @@
+ else
+ LIB_SUFFIX="t${LIB_SUFFIX}"
+ fi
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_REENTRANT 1
+ EOF
+
+@@ -11184,7 +11957,7 @@
+ 5.*)
+ cf_cv_rel_version=6.0
+ cf_cv_abi_version=6
+- { echo "$as_me:11187: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5
++ { echo "$as_me:11960: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5
+ echo "$as_me: WARNING: Overriding ABI version to $cf_cv_abi_version" >&2;}
+ ;;
+ esac
+@@ -11199,7 +11972,7 @@
+
+ ### Allow using a different wrap-prefix
+ if test "$cf_cv_enable_reentrant" != 0 || test "$BROKEN_LINKER" = 1 ; then
+- echo "$as_me:11202: checking for prefix used to wrap public variables" >&5
++ echo "$as_me:11975: checking for prefix used to wrap public variables" >&5
+ echo $ECHO_N "checking for prefix used to wrap public variables... $ECHO_C" >&6
+
+ # Check whether --with-wrap-prefix or --without-wrap-prefix was given.
+@@ -11209,7 +11982,7 @@
+ else
+ NCURSES_WRAP_PREFIX=_nc_
+ fi;
+- echo "$as_me:11212: result: $NCURSES_WRAP_PREFIX" >&5
++ echo "$as_me:11985: result: $NCURSES_WRAP_PREFIX" >&5
+ echo "${ECHO_T}$NCURSES_WRAP_PREFIX" >&6
+ else
+ NCURSES_WRAP_PREFIX=_nc_
+@@ -11219,7 +11992,7 @@
+ #define NCURSES_WRAP_PREFIX "$NCURSES_WRAP_PREFIX"
+ EOF
+
+-echo "$as_me:11222: checking if you want experimental safe-sprintf code" >&5
++echo "$as_me:11995: checking if you want experimental safe-sprintf code" >&5
+ echo $ECHO_N "checking if you want experimental safe-sprintf code... $ECHO_C" >&6
+
+ # Check whether --enable-safe-sprintf or --disable-safe-sprintf was given.
+@@ -11229,16 +12002,17 @@
+ else
+ with_safe_sprintf=no
+ fi;
+-echo "$as_me:11232: result: $with_safe_sprintf" >&5
++echo "$as_me:12005: result: $with_safe_sprintf" >&5
+ echo "${ECHO_T}$with_safe_sprintf" >&6
+-test "$with_safe_sprintf" = yes && cat >>confdefs.h <<\EOF
++test "x$with_safe_sprintf" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_SAFE_SPRINTF 1
+ EOF
+
+ ### use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
+ # when hashmap is used scroll hints are useless
+ if test "$with_hashmap" = no ; then
+-echo "$as_me:11241: checking if you want to experiment without scrolling-hints code" >&5
++echo "$as_me:12015: checking if you want to experiment without scrolling-hints code" >&5
+ echo $ECHO_N "checking if you want to experiment without scrolling-hints code... $ECHO_C" >&6
+
+ # Check whether --enable-scroll-hints or --disable-scroll-hints was given.
+@@ -11248,15 +12022,16 @@
+ else
+ with_scroll_hints=yes
+ fi;
+-echo "$as_me:11251: result: $with_scroll_hints" >&5
++echo "$as_me:12025: result: $with_scroll_hints" >&5
+ echo "${ECHO_T}$with_scroll_hints" >&6
+-test "$with_scroll_hints" = yes && cat >>confdefs.h <<\EOF
++test "x$with_scroll_hints" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define USE_SCROLL_HINTS 1
+ EOF
+
+ fi
+
+-echo "$as_me:11259: checking if you want experimental wgetch-events code" >&5
++echo "$as_me:12034: checking if you want experimental wgetch-events code" >&5
+ echo $ECHO_N "checking if you want experimental wgetch-events code... $ECHO_C" >&6
+
+ # Check whether --enable-wgetch-events or --disable-wgetch-events was given.
+@@ -11266,37 +12041,64 @@
+ else
+ with_wgetch_events=no
+ fi;
+-echo "$as_me:11269: result: $with_wgetch_events" >&5
++echo "$as_me:12044: result: $with_wgetch_events" >&5
+ echo "${ECHO_T}$with_wgetch_events" >&6
+-test "$with_wgetch_events" = yes && cat >>confdefs.h <<\EOF
++test "x$with_wgetch_events" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define NCURSES_WGETCH_EVENTS 1
+ EOF
+
+ ###############################################################################
+
+ ### use option --disable-echo to suppress full display compiling commands
+-echo "$as_me:11278: checking if you want to display full commands during build" >&5
+-echo $ECHO_N "checking if you want to display full commands during build... $ECHO_C" >&6
++
++echo "$as_me:12055: checking if you want to see long compiling messages" >&5
++echo $ECHO_N "checking if you want to see long compiling messages... $ECHO_C" >&6
+
+ # Check whether --enable-echo or --disable-echo was given.
+ if test "${enable_echo+set}" = set; then
+ enableval="$enable_echo"
+- with_echo=$enableval
++ test "$enableval" != no && enableval=yes
++ if test "$enableval" != "yes" ; then
++
++ ECHO_LT='--silent'
++ ECHO_LD='@echo linking $@;'
++ RULE_CC='@echo compiling $<'
++ SHOW_CC='@echo compiling $@'
++ ECHO_CC='@'
++
++ else
++
++ ECHO_LT=''
++ ECHO_LD=''
++ RULE_CC=''
++ SHOW_CC=''
++ ECHO_CC=''
++
++ fi
+ else
+- with_echo=yes
++ enableval=yes
++
++ ECHO_LT=''
++ ECHO_LD=''
++ RULE_CC=''
++ SHOW_CC=''
++ ECHO_CC=''
++
+ fi;
+-if test "$with_echo" = yes; then
++echo "$as_me:12089: result: $enableval" >&5
++echo "${ECHO_T}$enableval" >&6
++
++if test "x$enable_echo" = xyes; then
+ ECHO_LINK=
+ else
+ ECHO_LINK='@ echo linking $@ ... ;'
+ test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
+ test -n "$LIBTOOL_CXX" && LIBTOOL_CXX="$LIBTOOL_CXX --silent"
+ fi
+-echo "$as_me:11295: result: $with_echo" >&5
+-echo "${ECHO_T}$with_echo" >&6
+
+ ### use option --enable-warnings to turn on all gcc warnings
+-echo "$as_me:11299: checking if you want to see compiler warnings" >&5
++echo "$as_me:12101: checking if you want to see compiler warnings" >&5
+ echo $ECHO_N "checking if you want to see compiler warnings... $ECHO_C" >&6
+
+ # Check whether --enable-warnings or --disable-warnings was given.
+@@ -11304,7 +12106,7 @@
+ enableval="$enable_warnings"
+ with_warnings=$enableval
+ fi;
+-echo "$as_me:11307: result: $with_warnings" >&5
++echo "$as_me:12109: result: $with_warnings" >&5
+ echo "${ECHO_T}$with_warnings" >&6
+
+ if test "x$with_warnings" = "xyes"; then
+@@ -11316,12 +12118,12 @@
+ if test "$GCC" = yes ; then
+ case $host_os in
+ linux*|gnu*)
+- echo "$as_me:11319: checking if this is really Intel C compiler" >&5
++ echo "$as_me:12121: checking if this is really Intel C compiler" >&5
+ echo $ECHO_N "checking if this is really Intel C compiler... $ECHO_C" >&6
+ cf_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -no-gcc"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 11324 "configure"
++#line 12126 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -11338,16 +12140,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:11341: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:12143: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11344: \$? = $ac_status" >&5
++ echo "$as_me:12146: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:11347: \"$ac_try\"") >&5
++ { (eval echo "$as_me:12149: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11350: \$? = $ac_status" >&5
++ echo "$as_me:12152: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ INTEL_COMPILER=yes
+ cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
+@@ -11358,14 +12160,63 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$cf_save_CFLAGS"
+- echo "$as_me:11361: result: $INTEL_COMPILER" >&5
++ echo "$as_me:12163: result: $INTEL_COMPILER" >&5
+ echo "${ECHO_T}$INTEL_COMPILER" >&6
+ ;;
+ esac
+ fi
+
++CLANG_COMPILER=no
++
++if test "$GCC" = yes ; then
++ echo "$as_me:12172: checking if this is really Clang C compiler" >&5
++echo $ECHO_N "checking if this is really Clang C compiler... $ECHO_C" >&6
++ cf_save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -Qunused-arguments"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12177 "configure"
++#include "confdefs.h"
++
++int
++main ()
++{
++
++#ifdef __clang__
++#else
++make an error
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:12194: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:12197: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:12200: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:12203: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ CLANG_COMPILER=yes
++cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
++
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$cf_save_CFLAGS"
++ echo "$as_me:12214: result: $CLANG_COMPILER" >&5
++echo "${ECHO_T}$CLANG_COMPILER" >&6
++fi
++
+ cat > conftest.$ac_ext <<EOF
+-#line 11368 "${as_me:-configure}"
++#line 12219 "${as_me:-configure}"
+ int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
+ EOF
+
+@@ -11382,7 +12233,7 @@
+ # remark #981: operands are evaluated in unspecified order
+ # warning #279: controlling expression is constant
+
+- { echo "$as_me:11385: checking for $CC warning options..." >&5
++ { echo "$as_me:12236: checking for $CC warning options..." >&5
+ echo "$as_me: checking for $CC warning options..." >&6;}
+ cf_save_CFLAGS="$CFLAGS"
+ EXTRA_CFLAGS="-Wall"
+@@ -11398,12 +12249,12 @@
+ wd981
+ do
+ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
+- if { (eval echo "$as_me:11401: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:12252: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11404: \$? = $ac_status" >&5
++ echo "$as_me:12255: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:11406: result: ... -$cf_opt" >&5
++ test -n "$verbose" && echo "$as_me:12257: result: ... -$cf_opt" >&5
+ echo "${ECHO_T}... -$cf_opt" >&6
+ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+ fi
+@@ -11412,7 +12263,7 @@
+
+ elif test "$GCC" = yes
+ then
+- { echo "$as_me:11415: checking for $CC warning options..." >&5
++ { echo "$as_me:12266: checking for $CC warning options..." >&5
+ echo "$as_me: checking for $CC warning options..." >&6;}
+ cf_save_CFLAGS="$CFLAGS"
+ EXTRA_CFLAGS=
+@@ -11432,12 +12283,12 @@
+ Wundef $cf_warn_CONST Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum
+ do
+ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
+- if { (eval echo "$as_me:11435: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:12286: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11438: \$? = $ac_status" >&5
++ echo "$as_me:12289: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:11440: result: ... -$cf_opt" >&5
++ test -n "$verbose" && echo "$as_me:12291: result: ... -$cf_opt" >&5
+ echo "${ECHO_T}... -$cf_opt" >&6
+ case $cf_opt in #(vi
+ Wcast-qual) #(vi
+@@ -11448,7 +12299,17 @@
+ [34].*)
+ test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6
+
+-echo "${as_me:-configure}:11451: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
++echo "${as_me:-configure}:12302: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
++
++ continue;;
++ esac
++ ;;
++ Wpointer-arith) #(vi
++ case $GCC_VERSION in
++ [12].*)
++ test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6
++
++echo "${as_me:-configure}:12312: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
+
+ continue;;
+ esac
+@@ -11461,19 +12322,19 @@
+ fi
+ rm -rf conftest*
+
+- if test "$cf_with_cxx" = yes ; then
++ if test "x$cf_with_cxx" = xyes ; then
+
+ INTEL_CPLUSPLUS=no
+
+ if test "$GCC" = yes ; then
+ case $host_os in
+ linux*|gnu*)
+- echo "$as_me:11471: checking if this is really Intel C++ compiler" >&5
++ echo "$as_me:12332: checking if this is really Intel C++ compiler" >&5
+ echo $ECHO_N "checking if this is really Intel C++ compiler... $ECHO_C" >&6
+ cf_save_CFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -no-gcc"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 11476 "configure"
++#line 12337 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -11490,16 +12351,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:11493: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:12354: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11496: \$? = $ac_status" >&5
++ echo "$as_me:12357: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:11499: \"$ac_try\"") >&5
++ { (eval echo "$as_me:12360: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11502: \$? = $ac_status" >&5
++ echo "$as_me:12363: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ INTEL_CPLUSPLUS=yes
+ cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
+@@ -11510,12 +12371,61 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ CXXFLAGS="$cf_save_CFLAGS"
+- echo "$as_me:11513: result: $INTEL_CPLUSPLUS" >&5
++ echo "$as_me:12374: result: $INTEL_CPLUSPLUS" >&5
+ echo "${ECHO_T}$INTEL_CPLUSPLUS" >&6
+ ;;
+ esac
+ fi
+
++CLANG_CPLUSPLUS=no
++
++if test "$GCC" = yes ; then
++ echo "$as_me:12383: checking if this is really Clang C++ compiler" >&5
++echo $ECHO_N "checking if this is really Clang C++ compiler... $ECHO_C" >&6
++ cf_save_CFLAGS="$CXXFLAGS"
++ CXXFLAGS="$CXXFLAGS -Qunused-arguments"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12388 "configure"
++#include "confdefs.h"
++
++int
++main ()
++{
++
++#ifdef __clang__
++#else
++make an error
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:12405: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:12408: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:12411: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:12414: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ CLANG_CPLUSPLUS=yes
++cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
++
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CXXFLAGS="$cf_save_CFLAGS"
++ echo "$as_me:12425: result: $CLANG_CPLUSPLUS" >&5
++echo "${ECHO_T}$CLANG_CPLUSPLUS" >&6
++fi
++
+ ac_ext=cc
+ ac_cpp='$CXXCPP $CPPFLAGS'
+ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+@@ -11524,7 +12434,7 @@
+ ac_main_return=return
+
+ cat > conftest.$ac_ext <<EOF
+-#line 11527 "configure"
++#line 12437 "configure"
+ int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
+ EOF
+
+@@ -11542,7 +12452,7 @@
+ # remark #981: operands are evaluated in unspecified order
+ # warning #269: invalid format string conversion
+
+- { echo "$as_me:11545: checking for $CC warning options..." >&5
++ { echo "$as_me:12455: checking for $CC warning options..." >&5
+ echo "$as_me: checking for $CC warning options..." >&6;}
+ cf_save_CXXFLAGS="$CXXFLAGS"
+ EXTRA_CXXFLAGS="-Wall"
+@@ -11559,12 +12469,12 @@
+ wd981
+ do
+ CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -$cf_opt"
+- if { (eval echo "$as_me:11562: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:12472: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11565: \$? = $ac_status" >&5
++ echo "$as_me:12475: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:11567: result: ... -$cf_opt" >&5
++ test -n "$verbose" && echo "$as_me:12477: result: ... -$cf_opt" >&5
+ echo "${ECHO_T}... -$cf_opt" >&6
+ EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
+ fi
+@@ -11573,7 +12483,7 @@
+
+ elif test "$GXX" = yes
+ then
+- { echo "$as_me:11576: checking for $CXX warning options..." >&5
++ { echo "$as_me:12486: checking for $CXX warning options..." >&5
+ echo "$as_me: checking for $CXX warning options..." >&6;}
+ cf_save_CXXFLAGS="$CXXFLAGS"
+ EXTRA_CXXFLAGS="-W -Wall"
+@@ -11602,16 +12512,16 @@
+ Wundef $cf_gxx_extra_warnings Wno-unused
+ do
+ CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -Werror -$cf_opt"
+- if { (eval echo "$as_me:11605: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:12515: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11608: \$? = $ac_status" >&5
++ echo "$as_me:12518: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:11610: result: ... -$cf_opt" >&5
++ test -n "$verbose" && echo "$as_me:12520: result: ... -$cf_opt" >&5
+ echo "${ECHO_T}... -$cf_opt" >&6
+ EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
+ else
+- test -n "$verbose" && echo "$as_me:11614: result: ... no -$cf_opt" >&5
++ test -n "$verbose" && echo "$as_me:12524: result: ... no -$cf_opt" >&5
+ echo "${ECHO_T}... no -$cf_opt" >&6
+ fi
+ done
+@@ -11647,10 +12557,10 @@
+ EOF
+ if test "$GCC" = yes
+ then
+- { echo "$as_me:11650: checking for $CC __attribute__ directives..." >&5
++ { echo "$as_me:12560: checking for $CC __attribute__ directives..." >&5
+ echo "$as_me: checking for $CC __attribute__ directives..." >&6;}
+ cat > conftest.$ac_ext <<EOF
+-#line 11653 "${as_me:-configure}"
++#line 12563 "${as_me:-configure}"
+ #include "confdefs.h"
+ #include "conftest.h"
+ #include "conftest.i"
+@@ -11699,36 +12609,60 @@
+ ;;
+ esac
+
+- if { (eval echo "$as_me:11702: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:12612: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11705: \$? = $ac_status" >&5
++ echo "$as_me:12615: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:11707: result: ... $cf_attribute" >&5
++ test -n "$verbose" && echo "$as_me:12617: result: ... $cf_attribute" >&5
+ echo "${ECHO_T}... $cf_attribute" >&6
+ cat conftest.h >>confdefs.h
+ case $cf_attribute in #(vi
++ noreturn) #(vi
++
++cat >>confdefs.h <<EOF
++#define GCC_NORETURN $cf_directive
++EOF
++
++ ;;
+ printf) #(vi
+- if test "$cf_printf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
++ cf_value='/* nothing */'
++ if test "$cf_printf_attribute" != no ; then
++ cf_value='__attribute__((format(printf,fmt,var)))'
++
++cat >>confdefs.h <<\EOF
++#define GCC_PRINTF 1
+ EOF
++
+ fi
++
++cat >>confdefs.h <<EOF
++#define GCC_PRINTFLIKE(fmt,var) $cf_value
++EOF
++
+ ;;
+ scanf) #(vi
+- if test "$cf_scanf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
++ cf_value='/* nothing */'
++ if test "$cf_scanf_attribute" != no ; then
++ cf_value='__attribute__((format(scanf,fmt,var)))'
++
++cat >>confdefs.h <<\EOF
++#define GCC_SCANF 1
+ EOF
++
+ fi
++
++cat >>confdefs.h <<EOF
++#define GCC_SCANFLIKE(fmt,var) $cf_value
++EOF
++
++ ;;
++ unused) #(vi
++
++cat >>confdefs.h <<EOF
++#define GCC_UNUSED $cf_directive
++EOF
++
+ ;;
+ esac
+ fi
+@@ -11739,8 +12673,101 @@
+ rm -rf conftest*
+ fi
+
++echo "$as_me:12676: checking if you want to work around bogus compiler/loader warnings" >&5
++echo $ECHO_N "checking if you want to work around bogus compiler/loader warnings... $ECHO_C" >&6
++
++# Check whether --enable-string-hacks or --disable-string-hacks was given.
++if test "${enable_string_hacks+set}" = set; then
++ enableval="$enable_string_hacks"
++ with_string_hacks=$enableval
++else
++ with_string_hacks=no
++fi;
++echo "$as_me:12686: result: $with_string_hacks" >&5
++echo "${ECHO_T}$with_string_hacks" >&6
++
++if test "x$with_string_hacks" = "xyes"; then
++
++cat >>confdefs.h <<\EOF
++#define USE_STRING_HACKS 1
++EOF
++
++ { echo "$as_me:12695: WARNING: enabling string-hacks to work around bogus compiler/loader warnings" >&5
++echo "$as_me: WARNING: enabling string-hacks to work around bogus compiler/loader warnings" >&2;}
++
++for ac_func in strlcat strlcpy snprintf
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++echo "$as_me:12701: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
++if eval "test \"\${$as_ac_var+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12707 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char $ac_func ();
++char (*f) ();
++
++int
++main ()
++{
++/* 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_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++f = $ac_func; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:12738: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:12741: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:12744: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:12747: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++eval "$as_ac_var=no"
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:12757: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++EOF
++
++fi
++done
++
++fi
++
+ ### use option --enable-assertions to turn on generation of assertion code
+-echo "$as_me:11743: checking if you want to enable runtime assertions" >&5
++echo "$as_me:12770: checking if you want to enable runtime assertions" >&5
+ echo $ECHO_N "checking if you want to enable runtime assertions... $ECHO_C" >&6
+
+ # Check whether --enable-assertions or --disable-assertions was given.
+@@ -11750,16 +12777,12 @@
+ else
+ with_assertions=no
+ fi;
+-echo "$as_me:11753: result: $with_assertions" >&5
++echo "$as_me:12780: result: $with_assertions" >&5
+ echo "${ECHO_T}$with_assertions" >&6
+ if test -n "$GCC"
+ then
+ if test "$with_assertions" = no
+ then
+- cat >>confdefs.h <<\EOF
+-#define NDEBUG 1
+-EOF
+-
+ CPPFLAGS="$CPPFLAGS -DNDEBUG"
+ else
+
+@@ -11770,13 +12793,14 @@
+
+ ### use option --disable-leaks to suppress "permanent" leaks, for testing
+
+-echo "$as_me:11773: checking if you want to use dmalloc for testing" >&5
++echo "$as_me:12796: checking if you want to use dmalloc for testing" >&5
+ echo $ECHO_N "checking if you want to use dmalloc for testing... $ECHO_C" >&6
+
+ # Check whether --with-dmalloc or --without-dmalloc was given.
+ if test "${with_dmalloc+set}" = set; then
+ withval="$with_dmalloc"
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<EOF
+ #define USE_DMALLOC 1
+ EOF
+
+@@ -11786,7 +12810,7 @@
+ else
+ with_dmalloc=
+ fi;
+-echo "$as_me:11789: result: ${with_dmalloc:-no}" >&5
++echo "$as_me:12813: result: ${with_dmalloc:-no}" >&5
+ echo "${ECHO_T}${with_dmalloc:-no}" >&6
+
+ case .$with_cflags in #(vi
+@@ -11880,23 +12904,23 @@
+ esac
+
+ if test "$with_dmalloc" = yes ; then
+- echo "$as_me:11883: checking for dmalloc.h" >&5
++ echo "$as_me:12907: checking for dmalloc.h" >&5
+ echo $ECHO_N "checking for dmalloc.h... $ECHO_C" >&6
+ if test "${ac_cv_header_dmalloc_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 11889 "configure"
++#line 12913 "configure"
+ #include "confdefs.h"
+ #include <dmalloc.h>
+ _ACEOF
+-if { (eval echo "$as_me:11893: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:12917: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:11899: \$? = $ac_status" >&5
++ echo "$as_me:12923: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -11915,11 +12939,11 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:11918: result: $ac_cv_header_dmalloc_h" >&5
++echo "$as_me:12942: result: $ac_cv_header_dmalloc_h" >&5
+ echo "${ECHO_T}$ac_cv_header_dmalloc_h" >&6
+ if test $ac_cv_header_dmalloc_h = yes; then
+
+-echo "$as_me:11922: checking for dmalloc_debug in -ldmalloc" >&5
++echo "$as_me:12946: checking for dmalloc_debug in -ldmalloc" >&5
+ echo $ECHO_N "checking for dmalloc_debug in -ldmalloc... $ECHO_C" >&6
+ if test "${ac_cv_lib_dmalloc_dmalloc_debug+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -11927,7 +12951,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-ldmalloc $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 11930 "configure"
++#line 12954 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -11946,16 +12970,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11949: \"$ac_link\"") >&5
++if { (eval echo "$as_me:12973: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:11952: \$? = $ac_status" >&5
++ echo "$as_me:12976: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11955: \"$ac_try\"") >&5
++ { (eval echo "$as_me:12979: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11958: \$? = $ac_status" >&5
++ echo "$as_me:12982: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dmalloc_dmalloc_debug=yes
+ else
+@@ -11966,7 +12990,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:11969: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
++echo "$as_me:12993: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
+ echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_debug" >&6
+ if test $ac_cv_lib_dmalloc_dmalloc_debug = yes; then
+ cat >>confdefs.h <<EOF
+@@ -11981,13 +13005,14 @@
+
+ fi
+
+-echo "$as_me:11984: checking if you want to use dbmalloc for testing" >&5
++echo "$as_me:13008: checking if you want to use dbmalloc for testing" >&5
+ echo $ECHO_N "checking if you want to use dbmalloc for testing... $ECHO_C" >&6
+
+ # Check whether --with-dbmalloc or --without-dbmalloc was given.
+ if test "${with_dbmalloc+set}" = set; then
+ withval="$with_dbmalloc"
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<EOF
+ #define USE_DBMALLOC 1
+ EOF
+
+@@ -11997,7 +13022,7 @@
+ else
+ with_dbmalloc=
+ fi;
+-echo "$as_me:12000: result: ${with_dbmalloc:-no}" >&5
++echo "$as_me:13025: result: ${with_dbmalloc:-no}" >&5
+ echo "${ECHO_T}${with_dbmalloc:-no}" >&6
+
+ case .$with_cflags in #(vi
+@@ -12091,23 +13116,23 @@
+ esac
+
+ if test "$with_dbmalloc" = yes ; then
+- echo "$as_me:12094: checking for dbmalloc.h" >&5
++ echo "$as_me:13119: checking for dbmalloc.h" >&5
+ echo $ECHO_N "checking for dbmalloc.h... $ECHO_C" >&6
+ if test "${ac_cv_header_dbmalloc_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12100 "configure"
++#line 13125 "configure"
+ #include "confdefs.h"
+ #include <dbmalloc.h>
+ _ACEOF
+-if { (eval echo "$as_me:12104: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:13129: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:12110: \$? = $ac_status" >&5
++ echo "$as_me:13135: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -12126,11 +13151,11 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:12129: result: $ac_cv_header_dbmalloc_h" >&5
++echo "$as_me:13154: result: $ac_cv_header_dbmalloc_h" >&5
+ echo "${ECHO_T}$ac_cv_header_dbmalloc_h" >&6
+ if test $ac_cv_header_dbmalloc_h = yes; then
+
+-echo "$as_me:12133: checking for debug_malloc in -ldbmalloc" >&5
++echo "$as_me:13158: checking for debug_malloc in -ldbmalloc" >&5
+ echo $ECHO_N "checking for debug_malloc in -ldbmalloc... $ECHO_C" >&6
+ if test "${ac_cv_lib_dbmalloc_debug_malloc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -12138,7 +13163,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-ldbmalloc $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12141 "configure"
++#line 13166 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -12157,16 +13182,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12160: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13185: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12163: \$? = $ac_status" >&5
++ echo "$as_me:13188: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12166: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13191: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12169: \$? = $ac_status" >&5
++ echo "$as_me:13194: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dbmalloc_debug_malloc=yes
+ else
+@@ -12177,7 +13202,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:12180: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
++echo "$as_me:13205: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
+ echo "${ECHO_T}$ac_cv_lib_dbmalloc_debug_malloc" >&6
+ if test $ac_cv_lib_dbmalloc_debug_malloc = yes; then
+ cat >>confdefs.h <<EOF
+@@ -12192,13 +13217,14 @@
+
+ fi
+
+-echo "$as_me:12195: checking if you want to use valgrind for testing" >&5
++echo "$as_me:13220: checking if you want to use valgrind for testing" >&5
+ echo $ECHO_N "checking if you want to use valgrind for testing... $ECHO_C" >&6
+
+ # Check whether --with-valgrind or --without-valgrind was given.
+ if test "${with_valgrind+set}" = set; then
+ withval="$with_valgrind"
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<EOF
+ #define USE_VALGRIND 1
+ EOF
+
+@@ -12208,7 +13234,7 @@
+ else
+ with_valgrind=
+ fi;
+-echo "$as_me:12211: result: ${with_valgrind:-no}" >&5
++echo "$as_me:13237: result: ${with_valgrind:-no}" >&5
+ echo "${ECHO_T}${with_valgrind:-no}" >&6
+
+ case .$with_cflags in #(vi
+@@ -12301,7 +13327,7 @@
+ ;;
+ esac
+
+-echo "$as_me:12304: checking if you want to perform memory-leak testing" >&5
++echo "$as_me:13330: checking if you want to perform memory-leak testing" >&5
+ echo $ECHO_N "checking if you want to perform memory-leak testing... $ECHO_C" >&6
+
+ # Check whether --enable-leaks or --disable-leaks was given.
+@@ -12311,15 +13337,16 @@
+ else
+ : ${with_no_leaks:=no}
+ fi;
+-echo "$as_me:12314: result: $with_no_leaks" >&5
++echo "$as_me:13340: result: $with_no_leaks" >&5
+ echo "${ECHO_T}$with_no_leaks" >&6
+
+ if test "$with_no_leaks" = yes ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define NO_LEAKS 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define YY_NO_LEAKS 1
+ EOF
+
+@@ -12334,7 +13361,8 @@
+ # Check whether --enable-expanded or --disable-expanded was given.
+ if test "${enable_expanded+set}" = set; then
+ enableval="$enable_expanded"
+- test "$enableval" = yes && cat >>confdefs.h <<\EOF
++ test "x$enableval" = xyes &&
++cat >>confdefs.h <<\EOF
+ #define NCURSES_EXPANDED 1
+ EOF
+
+@@ -12345,7 +13373,8 @@
+ # Check whether --enable-macros or --disable-macros was given.
+ if test "${enable_macros+set}" = set; then
+ enableval="$enable_macros"
+- test "$enableval" = no && cat >>confdefs.h <<\EOF
++ test "$enableval" = no &&
++cat >>confdefs.h <<\EOF
+ #define NCURSES_NOMACROS 1
+ EOF
+
+@@ -12360,7 +13389,7 @@
+ ;;
+ esac
+
+-echo "$as_me:12363: checking whether to add trace feature to all models" >&5
++echo "$as_me:13392: checking whether to add trace feature to all models" >&5
+ echo $ECHO_N "checking whether to add trace feature to all models... $ECHO_C" >&6
+
+ # Check whether --with-trace or --without-trace was given.
+@@ -12370,10 +13399,10 @@
+ else
+ cf_with_trace=$cf_all_traces
+ fi;
+-echo "$as_me:12373: result: $cf_with_trace" >&5
++echo "$as_me:13402: result: $cf_with_trace" >&5
+ echo "${ECHO_T}$cf_with_trace" >&6
+
+-if test "$cf_with_trace" = yes ; then
++if test "x$cf_with_trace" = xyes ; then
+ LIB_TRACING=all
+ ADA_TRACE=TRUE
+
+@@ -12465,13 +13494,13 @@
+ *mingw32*) #(vi
+ ;;
+ *)
+-echo "$as_me:12468: checking for gettimeofday" >&5
++echo "$as_me:13497: checking for gettimeofday" >&5
+ echo $ECHO_N "checking for gettimeofday... $ECHO_C" >&6
+ if test "${ac_cv_func_gettimeofday+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12474 "configure"
++#line 13503 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char gettimeofday (); below. */
+@@ -12494,7 +13523,7 @@
+ #if defined (__stub_gettimeofday) || defined (__stub___gettimeofday)
+ choke me
+ #else
+-f = gettimeofday;
++f = gettimeofday; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -12502,16 +13531,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12505: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13534: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12508: \$? = $ac_status" >&5
++ echo "$as_me:13537: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12511: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13540: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12514: \$? = $ac_status" >&5
++ echo "$as_me:13543: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_gettimeofday=yes
+ else
+@@ -12521,16 +13550,17 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:12524: result: $ac_cv_func_gettimeofday" >&5
++echo "$as_me:13553: result: $ac_cv_func_gettimeofday" >&5
+ echo "${ECHO_T}$ac_cv_func_gettimeofday" >&6
+ if test $ac_cv_func_gettimeofday = yes; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_GETTIMEOFDAY 1
+ EOF
+
+ else
+
+-echo "$as_me:12533: checking for gettimeofday in -lbsd" >&5
++echo "$as_me:13563: checking for gettimeofday in -lbsd" >&5
+ echo $ECHO_N "checking for gettimeofday in -lbsd... $ECHO_C" >&6
+ if test "${ac_cv_lib_bsd_gettimeofday+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -12538,7 +13568,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lbsd $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12541 "configure"
++#line 13571 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -12557,16 +13587,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12560: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13590: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12563: \$? = $ac_status" >&5
++ echo "$as_me:13593: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12566: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13596: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12569: \$? = $ac_status" >&5
++ echo "$as_me:13599: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_bsd_gettimeofday=yes
+ else
+@@ -12577,10 +13607,11 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:12580: result: $ac_cv_lib_bsd_gettimeofday" >&5
++echo "$as_me:13610: result: $ac_cv_lib_bsd_gettimeofday" >&5
+ echo "${ECHO_T}$ac_cv_lib_bsd_gettimeofday" >&6
+ if test $ac_cv_lib_bsd_gettimeofday = yes; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_GETTIMEOFDAY 1
+ EOF
+
+@@ -12591,14 +13622,14 @@
+ ;;
+ esac
+
+-echo "$as_me:12594: checking if -lm needed for math functions" >&5
++echo "$as_me:13625: checking if -lm needed for math functions" >&5
+ echo $ECHO_N "checking if -lm needed for math functions... $ECHO_C" >&6
+ if test "${cf_cv_need_libm+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12601 "configure"
++#line 13632 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -12613,16 +13644,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12616: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13647: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12619: \$? = $ac_status" >&5
++ echo "$as_me:13650: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12622: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13653: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12625: \$? = $ac_status" >&5
++ echo "$as_me:13656: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_need_libm=no
+ else
+@@ -12632,7 +13663,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:12635: result: $cf_cv_need_libm" >&5
++echo "$as_me:13666: result: $cf_cv_need_libm" >&5
+ echo "${ECHO_T}$cf_cv_need_libm" >&6
+ if test "$cf_cv_need_libm" = yes
+ then
+@@ -12640,13 +13671,13 @@
+ fi
+
+ ### Checks for header files.
+-echo "$as_me:12643: checking for ANSI C header files" >&5
++echo "$as_me:13674: 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
+-#line 12649 "configure"
++#line 13680 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ #include <stdarg.h>
+@@ -12654,13 +13685,13 @@
+ #include <float.h>
+
+ _ACEOF
+-if { (eval echo "$as_me:12657: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:13688: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:12663: \$? = $ac_status" >&5
++ echo "$as_me:13694: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -12682,7 +13713,7 @@
+ 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
+-#line 12685 "configure"
++#line 13716 "configure"
+ #include "confdefs.h"
+ #include <string.h>
+
+@@ -12700,7 +13731,7 @@
+ 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
+-#line 12703 "configure"
++#line 13734 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+
+@@ -12721,7 +13752,7 @@
+ :
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12724 "configure"
++#line 13755 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ #if ((' ' & 0x0FF) == 0x020)
+@@ -12747,15 +13778,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:12750: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13781: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12753: \$? = $ac_status" >&5
++ echo "$as_me:13784: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:12755: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13786: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12758: \$? = $ac_status" >&5
++ echo "$as_me:13789: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -12768,7 +13799,7 @@
+ fi
+ fi
+ fi
+-echo "$as_me:12771: result: $ac_cv_header_stdc" >&5
++echo "$as_me:13802: result: $ac_cv_header_stdc" >&5
+ echo "${ECHO_T}$ac_cv_header_stdc" >&6
+ if test $ac_cv_header_stdc = yes; then
+
+@@ -12781,13 +13812,13 @@
+ ac_header_dirent=no
+ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
+ as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+-echo "$as_me:12784: checking for $ac_hdr that defines DIR" >&5
++echo "$as_me:13815: checking for $ac_hdr that defines DIR" >&5
+ echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12790 "configure"
++#line 13821 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <$ac_hdr>
+@@ -12802,16 +13833,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:12805: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:13836: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:12808: \$? = $ac_status" >&5
++ echo "$as_me:13839: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:12811: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13842: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12814: \$? = $ac_status" >&5
++ echo "$as_me:13845: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_Header=yes"
+ else
+@@ -12821,7 +13852,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:12824: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:13855: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -12834,7 +13865,7 @@
+ done
+ # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+ if test $ac_header_dirent = dirent.h; then
+- echo "$as_me:12837: checking for opendir in -ldir" >&5
++ echo "$as_me:13868: checking for opendir in -ldir" >&5
+ echo $ECHO_N "checking for opendir in -ldir... $ECHO_C" >&6
+ if test "${ac_cv_lib_dir_opendir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -12842,7 +13873,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-ldir $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12845 "configure"
++#line 13876 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -12861,16 +13892,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12864: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13895: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12867: \$? = $ac_status" >&5
++ echo "$as_me:13898: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12870: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13901: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12873: \$? = $ac_status" >&5
++ echo "$as_me:13904: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dir_opendir=yes
+ else
+@@ -12881,14 +13912,14 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:12884: result: $ac_cv_lib_dir_opendir" >&5
++echo "$as_me:13915: result: $ac_cv_lib_dir_opendir" >&5
+ echo "${ECHO_T}$ac_cv_lib_dir_opendir" >&6
+ if test $ac_cv_lib_dir_opendir = yes; then
+ LIBS="$LIBS -ldir"
+ fi
+
+ else
+- echo "$as_me:12891: checking for opendir in -lx" >&5
++ echo "$as_me:13922: checking for opendir in -lx" >&5
+ echo $ECHO_N "checking for opendir in -lx... $ECHO_C" >&6
+ if test "${ac_cv_lib_x_opendir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -12896,7 +13927,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lx $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12899 "configure"
++#line 13930 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -12915,16 +13946,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12918: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13949: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12921: \$? = $ac_status" >&5
++ echo "$as_me:13952: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12924: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13955: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12927: \$? = $ac_status" >&5
++ echo "$as_me:13958: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_x_opendir=yes
+ else
+@@ -12935,7 +13966,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:12938: result: $ac_cv_lib_x_opendir" >&5
++echo "$as_me:13969: result: $ac_cv_lib_x_opendir" >&5
+ echo "${ECHO_T}$ac_cv_lib_x_opendir" >&6
+ if test $ac_cv_lib_x_opendir = yes; then
+ LIBS="$LIBS -lx"
+@@ -12943,13 +13974,13 @@
+
+ fi
+
+-echo "$as_me:12946: checking whether time.h and sys/time.h may both be included" >&5
++echo "$as_me:13977: checking whether time.h and sys/time.h may both be included" >&5
+ echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
+ if test "${ac_cv_header_time+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12952 "configure"
++#line 13983 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/time.h>
+@@ -12965,16 +13996,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:12968: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:13999: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:12971: \$? = $ac_status" >&5
++ echo "$as_me:14002: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:12974: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14005: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12977: \$? = $ac_status" >&5
++ echo "$as_me:14008: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_header_time=yes
+ else
+@@ -12984,7 +14015,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:12987: result: $ac_cv_header_time" >&5
++echo "$as_me:14018: result: $ac_cv_header_time" >&5
+ echo "${ECHO_T}$ac_cv_header_time" >&6
+ if test $ac_cv_header_time = yes; then
+
+@@ -12999,17 +14030,17 @@
+ cf_regex_libs="regex re"
+ case $host_os in #(vi
+ mingw*)
+- cf_regex_libs="regex.dll $cf_regex_libs"
++ cf_regex_libs="gnurx $cf_regex_libs"
+ ;;
+ esac
+
+-echo "$as_me:13006: checking for regcomp" >&5
++echo "$as_me:14037: checking for regcomp" >&5
+ echo $ECHO_N "checking for regcomp... $ECHO_C" >&6
+ if test "${ac_cv_func_regcomp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13012 "configure"
++#line 14043 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char regcomp (); below. */
+@@ -13032,7 +14063,7 @@
+ #if defined (__stub_regcomp) || defined (__stub___regcomp)
+ choke me
+ #else
+-f = regcomp;
++f = regcomp; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -13040,16 +14071,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13043: \"$ac_link\"") >&5
++if { (eval echo "$as_me:14074: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13046: \$? = $ac_status" >&5
++ echo "$as_me:14077: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13049: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14080: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13052: \$? = $ac_status" >&5
++ echo "$as_me:14083: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_regcomp=yes
+ else
+@@ -13059,7 +14090,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:13062: result: $ac_cv_func_regcomp" >&5
++echo "$as_me:14093: result: $ac_cv_func_regcomp" >&5
+ echo "${ECHO_T}$ac_cv_func_regcomp" >&6
+ if test $ac_cv_func_regcomp = yes; then
+ cf_regex_func=regcomp
+@@ -13068,7 +14099,7 @@
+ for cf_regex_lib in $cf_regex_libs
+ do
+ as_ac_Lib=`echo "ac_cv_lib_$cf_regex_lib''_regcomp" | $as_tr_sh`
+-echo "$as_me:13071: checking for regcomp in -l$cf_regex_lib" >&5
++echo "$as_me:14102: checking for regcomp in -l$cf_regex_lib" >&5
+ echo $ECHO_N "checking for regcomp in -l$cf_regex_lib... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -13076,7 +14107,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-l$cf_regex_lib $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13079 "configure"
++#line 14110 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -13095,16 +14126,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13098: \"$ac_link\"") >&5
++if { (eval echo "$as_me:14129: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13101: \$? = $ac_status" >&5
++ echo "$as_me:14132: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13104: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14135: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13107: \$? = $ac_status" >&5
++ echo "$as_me:14138: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_Lib=yes"
+ else
+@@ -13115,7 +14146,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:13118: result: `eval echo '${'$as_ac_Lib'}'`" >&5
++echo "$as_me:14149: result: `eval echo '${'$as_ac_Lib'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+ if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+
+@@ -13129,13 +14160,13 @@
+ fi
+
+ if test "$cf_regex_func" = no ; then
+- echo "$as_me:13132: checking for compile" >&5
++ echo "$as_me:14163: checking for compile" >&5
+ echo $ECHO_N "checking for compile... $ECHO_C" >&6
+ if test "${ac_cv_func_compile+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13138 "configure"
++#line 14169 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char compile (); below. */
+@@ -13158,7 +14189,7 @@
+ #if defined (__stub_compile) || defined (__stub___compile)
+ choke me
+ #else
+-f = compile;
++f = compile; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -13166,16 +14197,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13169: \"$ac_link\"") >&5
++if { (eval echo "$as_me:14200: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13172: \$? = $ac_status" >&5
++ echo "$as_me:14203: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13175: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14206: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13178: \$? = $ac_status" >&5
++ echo "$as_me:14209: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_compile=yes
+ else
+@@ -13185,13 +14216,13 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:13188: result: $ac_cv_func_compile" >&5
++echo "$as_me:14219: result: $ac_cv_func_compile" >&5
+ echo "${ECHO_T}$ac_cv_func_compile" >&6
+ if test $ac_cv_func_compile = yes; then
+ cf_regex_func=compile
+ else
+
+- echo "$as_me:13194: checking for compile in -lgen" >&5
++ echo "$as_me:14225: checking for compile in -lgen" >&5
+ echo $ECHO_N "checking for compile in -lgen... $ECHO_C" >&6
+ if test "${ac_cv_lib_gen_compile+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -13199,7 +14230,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgen $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13202 "configure"
++#line 14233 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -13218,16 +14249,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13221: \"$ac_link\"") >&5
++if { (eval echo "$as_me:14252: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13224: \$? = $ac_status" >&5
++ echo "$as_me:14255: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13227: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14258: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13230: \$? = $ac_status" >&5
++ echo "$as_me:14261: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gen_compile=yes
+ else
+@@ -13238,7 +14269,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:13241: result: $ac_cv_lib_gen_compile" >&5
++echo "$as_me:14272: result: $ac_cv_lib_gen_compile" >&5
+ echo "${ECHO_T}$ac_cv_lib_gen_compile" >&6
+ if test $ac_cv_lib_gen_compile = yes; then
+
+@@ -13251,11 +14282,11 @@
+ fi
+
+ if test "$cf_regex_func" = no ; then
+- { echo "$as_me:13254: WARNING: cannot find regular expression library" >&5
++ { echo "$as_me:14285: WARNING: cannot find regular expression library" >&5
+ echo "$as_me: WARNING: cannot find regular expression library" >&2;}
+ fi
+
+-echo "$as_me:13258: checking for regular-expression headers" >&5
++echo "$as_me:14289: checking for regular-expression headers" >&5
+ echo $ECHO_N "checking for regular-expression headers... $ECHO_C" >&6
+ if test "${cf_cv_regex_hdrs+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -13267,7 +14298,7 @@
+ for cf_regex_hdr in regexp.h regexpr.h
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13270 "configure"
++#line 14301 "configure"
+ #include "confdefs.h"
+ #include <$cf_regex_hdr>
+ int
+@@ -13282,16 +14313,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13285: \"$ac_link\"") >&5
++if { (eval echo "$as_me:14316: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13288: \$? = $ac_status" >&5
++ echo "$as_me:14319: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13291: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14322: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13294: \$? = $ac_status" >&5
++ echo "$as_me:14325: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_regex_hdrs=$cf_regex_hdr
+@@ -13308,7 +14339,7 @@
+ for cf_regex_hdr in regex.h
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13311 "configure"
++#line 14342 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <$cf_regex_hdr>
+@@ -13326,16 +14357,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13329: \"$ac_link\"") >&5
++if { (eval echo "$as_me:14360: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13332: \$? = $ac_status" >&5
++ echo "$as_me:14363: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13335: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14366: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13338: \$? = $ac_status" >&5
++ echo "$as_me:14369: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_regex_hdrs=$cf_regex_hdr
+@@ -13351,21 +14382,24 @@
+ esac
+
+ fi
+-echo "$as_me:13354: result: $cf_cv_regex_hdrs" >&5
++echo "$as_me:14385: result: $cf_cv_regex_hdrs" >&5
+ echo "${ECHO_T}$cf_cv_regex_hdrs" >&6
+
+ case $cf_cv_regex_hdrs in #(vi
+- no) { echo "$as_me:13358: WARNING: no regular expression header found" >&5
++ no) { echo "$as_me:14389: WARNING: no regular expression header found" >&5
+ echo "$as_me: WARNING: no regular expression header found" >&2;} ;; #(vi
+- regex.h) cat >>confdefs.h <<\EOF
++ regex.h)
++cat >>confdefs.h <<\EOF
+ #define HAVE_REGEX_H_FUNCS 1
+ EOF
+ ;; #(vi
+- regexp.h) cat >>confdefs.h <<\EOF
++ regexp.h)
++cat >>confdefs.h <<\EOF
+ #define HAVE_REGEXP_H_FUNCS 1
+ EOF
+ ;; #(vi
+- regexpr.h) cat >>confdefs.h <<\EOF
++ regexpr.h)
++cat >>confdefs.h <<\EOF
+ #define HAVE_REGEXPR_H_FUNCS 1
+ EOF
+ ;;
+@@ -13391,23 +14425,71 @@
+
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:13394: checking for $ac_header" >&5
++echo "$as_me:14428: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 14434 "configure"
++#include "confdefs.h"
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:14438: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:14444: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ eval "$as_ac_Header=yes"
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ eval "$as_ac_Header=no"
++fi
++rm -f conftest.err conftest.$ac_ext
++fi
++echo "$as_me:14463: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++EOF
++
++fi
++done
++
++for ac_header in unistd.h getopt.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:14476: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13400 "configure"
++#line 14482 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:13404: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:14486: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:13410: \$? = $ac_status" >&5
++ echo "$as_me:14492: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -13426,7 +14508,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:13429: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:14511: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -13436,11 +14518,65 @@
+ fi
+ done
+
++echo "$as_me:14521: checking for header declaring getopt variables" >&5
++echo $ECHO_N "checking for header declaring getopt variables... $ECHO_C" >&6
++if test "${cf_cv_getopt_header+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cf_cv_getopt_header=none
++for cf_header in stdio.h stdlib.h unistd.h getopt.h
++do
++cat >conftest.$ac_ext <<_ACEOF
++#line 14531 "configure"
++#include "confdefs.h"
++
++#include <$cf_header>
++int
++main ()
++{
++int x = optind; char *y = optarg
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:14544: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:14547: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:14550: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:14553: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_getopt_header=$cf_header
++ break
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++done
++
++fi
++echo "$as_me:14565: result: $cf_cv_getopt_header" >&5
++echo "${ECHO_T}$cf_cv_getopt_header" >&6
++if test $cf_cv_getopt_header != none ; then
++
++cat >>confdefs.h <<\EOF
++#define HAVE_GETOPT_HEADER 1
++EOF
++
++fi
++
+ # check for ISC (this may also define _POSIX_SOURCE)
+ # Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
+-if test "$ISC" = yes ; then
++if test "x$ISC" = xyes ; then
+
+-echo "$as_me:13443: checking for main in -lcposix" >&5
++echo "$as_me:14579: checking for main in -lcposix" >&5
+ echo $ECHO_N "checking for main in -lcposix... $ECHO_C" >&6
+ if test "${ac_cv_lib_cposix_main+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -13448,7 +14584,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lcposix $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13451 "configure"
++#line 14587 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -13460,16 +14596,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13463: \"$ac_link\"") >&5
++if { (eval echo "$as_me:14599: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13466: \$? = $ac_status" >&5
++ echo "$as_me:14602: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13469: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14605: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13472: \$? = $ac_status" >&5
++ echo "$as_me:14608: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_cposix_main=yes
+ else
+@@ -13480,7 +14616,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:13483: result: $ac_cv_lib_cposix_main" >&5
++echo "$as_me:14619: result: $ac_cv_lib_cposix_main" >&5
+ echo "${ECHO_T}$ac_cv_lib_cposix_main" >&6
+ if test $ac_cv_lib_cposix_main = yes; then
+ cat >>confdefs.h <<EOF
+@@ -13491,7 +14627,7 @@
+
+ fi
+
+- echo "$as_me:13494: checking for bzero in -linet" >&5
++ echo "$as_me:14630: checking for bzero in -linet" >&5
+ echo $ECHO_N "checking for bzero in -linet... $ECHO_C" >&6
+ if test "${ac_cv_lib_inet_bzero+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -13499,7 +14635,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-linet $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13502 "configure"
++#line 14638 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -13518,16 +14654,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13521: \"$ac_link\"") >&5
++if { (eval echo "$as_me:14657: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13524: \$? = $ac_status" >&5
++ echo "$as_me:14660: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13527: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14663: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13530: \$? = $ac_status" >&5
++ echo "$as_me:14666: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_inet_bzero=yes
+ else
+@@ -13538,173 +14674,83 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:13541: result: $ac_cv_lib_inet_bzero" >&5
++echo "$as_me:14677: result: $ac_cv_lib_inet_bzero" >&5
+ echo "${ECHO_T}$ac_cv_lib_inet_bzero" >&6
+ if test $ac_cv_lib_inet_bzero = yes; then
+ LIBS="-linet $LIBS"
+ fi
+ fi
+-
+-echo "$as_me:13548: checking if sys/time.h works with sys/select.h" >&5
+-echo $ECHO_N "checking if sys/time.h works with sys/select.h... $ECHO_C" >&6
+-if test "${cf_cv_sys_time_select+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 13555 "configure"
+-#include "confdefs.h"
+-
+-#include <sys/types.h>
+-#ifdef HAVE_SYS_TIME_H
+-#include <sys/time.h>
+-#endif
+-#ifdef HAVE_SYS_SELECT_H
+-#include <sys/select.h>
+-#endif
+-
+-int
+-main ()
+-{
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13575: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:13578: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13581: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:13584: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_cv_sys_time_select=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_cv_sys_time_select=no
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-
+-fi
+-
+-echo "$as_me:13596: result: $cf_cv_sys_time_select" >&5
+-echo "${ECHO_T}$cf_cv_sys_time_select" >&6
+-test "$cf_cv_sys_time_select" = yes && cat >>confdefs.h <<\EOF
+-#define HAVE_SYS_TIME_SELECT 1
+-EOF
+-
+-### checks for compiler characteristics
+-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
+-ac_main_return=return
+-
+-echo "$as_me:13610: checking for $CC option to accept ANSI C" >&5
+-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+-if test "${ac_cv_prog_cc_stdc+set}" = set; then
++
++echo "$as_me:14684: checking if sys/time.h works with sys/select.h" >&5
++echo $ECHO_N "checking if sys/time.h works with sys/select.h... $ECHO_C" >&6
++if test "${cf_cv_sys_time_select+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_cv_prog_cc_stdc=no
+-ac_save_CC=$CC
++
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13618 "configure"
++#line 14691 "configure"
+ #include "confdefs.h"
+-#include <stdarg.h>
+-#include <stdio.h>
++
+ #include <sys/types.h>
+-#include <sys/stat.h>
+-/* 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);
+-static char *e (p, i)
+- char **p;
+- int i;
+-{
+- return p[i];
+-}
+-static char *f (char * (*g) (char **, int), char **p, ...)
+-{
+- char *s;
+- va_list v;
+- va_start (v,p);
+- s = g (p, va_arg (v,int));
+- va_end (v);
+- return s;
+-}
+-int test (int i, double x);
+-struct s1 {int (*f) (int a);};
+-struct s2 {int (*f) (double a);};
+-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+-int argc;
+-char **argv;
++#ifdef HAVE_SYS_TIME_H
++#include <sys/time.h>
++#endif
++#ifdef HAVE_SYS_SELECT_H
++#include <sys/select.h>
++#endif
++
+ int
+ main ()
+ {
+-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX 10.20 and later -Ae
+-# HP-UX older versions -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc -D__EXTENSIONS__
+-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+-do
+- CC="$ac_save_CC $ac_arg"
+- rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13667: \"$ac_compile\"") >&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:14711: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13670: \$? = $ac_status" >&5
++ echo "$as_me:14714: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13673: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14717: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13676: \$? = $ac_status" >&5
++ echo "$as_me:14720: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_prog_cc_stdc=$ac_arg
+-break
++ cf_cv_sys_time_select=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_cv_sys_time_select=no
+ fi
+-rm -f conftest.$ac_objext
+-done
+-rm -f conftest.$ac_ext conftest.$ac_objext
+-CC=$ac_save_CC
++rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+
+-case "x$ac_cv_prog_cc_stdc" in
+- x|xno)
+- echo "$as_me:13693: result: none needed" >&5
+-echo "${ECHO_T}none needed" >&6 ;;
+- *)
+- echo "$as_me:13696: result: $ac_cv_prog_cc_stdc" >&5
+-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+- CC="$CC $ac_cv_prog_cc_stdc" ;;
+-esac
++echo "$as_me:14732: result: $cf_cv_sys_time_select" >&5
++echo "${ECHO_T}$cf_cv_sys_time_select" >&6
++test "$cf_cv_sys_time_select" = yes &&
++cat >>confdefs.h <<\EOF
++#define HAVE_SYS_TIME_SELECT 1
++EOF
++
++### checks for compiler characteristics
++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
++ac_main_return=return
+
+-echo "$as_me:13701: checking for an ANSI C-conforming const" >&5
++echo "$as_me:14747: checking for an ANSI C-conforming const" >&5
+ echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
+ if test "${ac_cv_c_const+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13707 "configure"
++#line 14753 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -13762,16 +14808,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13765: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:14811: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13768: \$? = $ac_status" >&5
++ echo "$as_me:14814: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13771: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14817: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13774: \$? = $ac_status" >&5
++ echo "$as_me:14820: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_c_const=yes
+ else
+@@ -13781,7 +14827,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:13784: result: $ac_cv_c_const" >&5
++echo "$as_me:14830: result: $ac_cv_c_const" >&5
+ echo "${ECHO_T}$ac_cv_c_const" >&6
+ if test $ac_cv_c_const = no; then
+
+@@ -13791,7 +14837,7 @@
+
+ fi
+
+-echo "$as_me:13794: checking for inline" >&5
++echo "$as_me:14840: checking for inline" >&5
+ echo $ECHO_N "checking for inline... $ECHO_C" >&6
+ if test "${ac_cv_c_inline+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -13799,7 +14845,7 @@
+ ac_cv_c_inline=no
+ for ac_kw in inline __inline__ __inline; do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13802 "configure"
++#line 14848 "configure"
+ #include "confdefs.h"
+ #ifndef __cplusplus
+ static $ac_kw int static_foo () {return 0; }
+@@ -13808,16 +14854,16 @@
+
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13811: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:14857: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13814: \$? = $ac_status" >&5
++ echo "$as_me:14860: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13817: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14863: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13820: \$? = $ac_status" >&5
++ echo "$as_me:14866: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_c_inline=$ac_kw; break
+ else
+@@ -13828,7 +14874,7 @@
+ done
+
+ fi
+-echo "$as_me:13831: result: $ac_cv_c_inline" >&5
++echo "$as_me:14877: result: $ac_cv_c_inline" >&5
+ echo "${ECHO_T}$ac_cv_c_inline" >&6
+ case $ac_cv_c_inline in
+ inline | yes) ;;
+@@ -13849,9 +14895,12 @@
+ if test "$INTEL_COMPILER" = yes
+ then
+ :
++ elif test "$CLANG_COMPILER" = yes
++ then
++ :
+ elif test "$GCC" = yes
+ then
+- echo "$as_me:13854: checking if $CC supports options to tune inlining" >&5
++ echo "$as_me:14903: checking if $CC supports options to tune inlining" >&5
+ echo $ECHO_N "checking if $CC supports options to tune inlining... $ECHO_C" >&6
+ if test "${cf_cv_gcc_inline+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -13860,7 +14909,7 @@
+ cf_save_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS --param max-inline-insns-single=1200"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13863 "configure"
++#line 14912 "configure"
+ #include "confdefs.h"
+ inline int foo(void) { return 1; }
+ int
+@@ -13872,16 +14921,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13875: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:14924: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13878: \$? = $ac_status" >&5
++ echo "$as_me:14927: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13881: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14930: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13884: \$? = $ac_status" >&5
++ echo "$as_me:14933: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_gcc_inline=yes
+ else
+@@ -13893,7 +14942,7 @@
+ CFLAGS=$cf_save_CFLAGS
+
+ fi
+-echo "$as_me:13896: result: $cf_cv_gcc_inline" >&5
++echo "$as_me:14945: result: $cf_cv_gcc_inline" >&5
+ echo "${ECHO_T}$cf_cv_gcc_inline" >&6
+ if test "$cf_cv_gcc_inline" = yes ; then
+
+@@ -13979,7 +15028,7 @@
+ fi
+ fi
+
+-echo "$as_me:13982: checking for signal global datatype" >&5
++echo "$as_me:15031: checking for signal global datatype" >&5
+ echo $ECHO_N "checking for signal global datatype... $ECHO_C" >&6
+ if test "${cf_cv_sig_atomic_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -13991,7 +15040,7 @@
+ "int"
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13994 "configure"
++#line 15043 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -14014,16 +15063,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14017: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:15066: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14020: \$? = $ac_status" >&5
++ echo "$as_me:15069: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14023: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15072: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14026: \$? = $ac_status" >&5
++ echo "$as_me:15075: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_sig_atomic_t=$cf_type
+ else
+@@ -14037,15 +15086,16 @@
+
+ fi
+
+-echo "$as_me:14040: result: $cf_cv_sig_atomic_t" >&5
++echo "$as_me:15089: result: $cf_cv_sig_atomic_t" >&5
+ echo "${ECHO_T}$cf_cv_sig_atomic_t" >&6
+-test "$cf_cv_sig_atomic_t" != no && cat >>confdefs.h <<EOF
++test "$cf_cv_sig_atomic_t" != no &&
++cat >>confdefs.h <<EOF
+ #define SIG_ATOMIC_T $cf_cv_sig_atomic_t
+ EOF
+
+ if test $NCURSES_CHTYPE = auto ; then
+
+-echo "$as_me:14048: checking for type of chtype" >&5
++echo "$as_me:15098: checking for type of chtype" >&5
+ echo $ECHO_N "checking for type of chtype... $ECHO_C" >&6
+ if test "${cf_cv_typeof_chtype+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -14055,7 +15105,7 @@
+ cf_cv_typeof_chtype=long
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14058 "configure"
++#line 15108 "configure"
+ #include "confdefs.h"
+
+ #define WANT_BITS 31
+@@ -14090,15 +15140,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:14093: \"$ac_link\"") >&5
++if { (eval echo "$as_me:15143: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14096: \$? = $ac_status" >&5
++ echo "$as_me:15146: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:14098: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15148: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14101: \$? = $ac_status" >&5
++ echo "$as_me:15151: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_typeof_chtype=`cat cf_test.out`
+ else
+@@ -14113,7 +15163,7 @@
+
+ fi
+
+-echo "$as_me:14116: result: $cf_cv_typeof_chtype" >&5
++echo "$as_me:15166: result: $cf_cv_typeof_chtype" >&5
+ echo "${ECHO_T}$cf_cv_typeof_chtype" >&6
+
+ cat >>confdefs.h <<EOF
+@@ -14125,14 +15175,14 @@
+ fi
+ test "$cf_cv_typeof_chtype" = unsigned && cf_cv_typeof_chtype=""
+
+-echo "$as_me:14128: checking if unsigned literals are legal" >&5
++echo "$as_me:15178: checking if unsigned literals are legal" >&5
+ echo $ECHO_N "checking if unsigned literals are legal... $ECHO_C" >&6
+ if test "${cf_cv_unsigned_literals+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14135 "configure"
++#line 15185 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -14144,16 +15194,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14147: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:15197: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14150: \$? = $ac_status" >&5
++ echo "$as_me:15200: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14153: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15203: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14156: \$? = $ac_status" >&5
++ echo "$as_me:15206: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_unsigned_literals=yes
+ else
+@@ -14165,7 +15215,7 @@
+
+ fi
+
+-echo "$as_me:14168: result: $cf_cv_unsigned_literals" >&5
++echo "$as_me:15218: result: $cf_cv_unsigned_literals" >&5
+ echo "${ECHO_T}$cf_cv_unsigned_literals" >&6
+
+ cf_cv_1UL="1"
+@@ -14181,14 +15231,14 @@
+
+ ### Checks for external-data
+
+-echo "$as_me:14184: checking if external errno is declared" >&5
++echo "$as_me:15234: checking if external errno is declared" >&5
+ echo $ECHO_N "checking if external errno is declared... $ECHO_C" >&6
+ if test "${cf_cv_dcl_errno+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14191 "configure"
++#line 15241 "configure"
+ #include "confdefs.h"
+
+ #ifdef HAVE_STDLIB_H
+@@ -14206,16 +15256,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14209: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:15259: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14212: \$? = $ac_status" >&5
++ echo "$as_me:15262: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14215: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15265: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14218: \$? = $ac_status" >&5
++ echo "$as_me:15268: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_dcl_errno=yes
+ else
+@@ -14226,7 +15276,7 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:14229: result: $cf_cv_dcl_errno" >&5
++echo "$as_me:15279: result: $cf_cv_dcl_errno" >&5
+ echo "${ECHO_T}$cf_cv_dcl_errno" >&6
+
+ if test "$cf_cv_dcl_errno" = no ; then
+@@ -14241,14 +15291,14 @@
+
+ # It's possible (for near-UNIX clones) that the data doesn't exist
+
+-echo "$as_me:14244: checking if external errno exists" >&5
++echo "$as_me:15294: checking if external errno exists" >&5
+ echo $ECHO_N "checking if external errno exists... $ECHO_C" >&6
+ if test "${cf_cv_have_errno+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14251 "configure"
++#line 15301 "configure"
+ #include "confdefs.h"
+
+ #undef errno
+@@ -14263,16 +15313,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14266: \"$ac_link\"") >&5
++if { (eval echo "$as_me:15316: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14269: \$? = $ac_status" >&5
++ echo "$as_me:15319: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14272: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15322: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14275: \$? = $ac_status" >&5
++ echo "$as_me:15325: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_have_errno=yes
+ else
+@@ -14283,7 +15333,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+ fi
+-echo "$as_me:14286: result: $cf_cv_have_errno" >&5
++echo "$as_me:15336: result: $cf_cv_have_errno" >&5
+ echo "${ECHO_T}$cf_cv_have_errno" >&6
+
+ if test "$cf_cv_have_errno" = yes ; then
+@@ -14296,7 +15346,7 @@
+
+ fi
+
+-echo "$as_me:14299: checking if data-only library module links" >&5
++echo "$as_me:15349: checking if data-only library module links" >&5
+ echo $ECHO_N "checking if data-only library module links... $ECHO_C" >&6
+ if test "${cf_cv_link_dataonly+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -14304,20 +15354,20 @@
+
+ rm -f conftest.a
+ cat >conftest.$ac_ext <<EOF
+-#line 14307 "configure"
++#line 15357 "configure"
+ int testdata[3] = { 123, 456, 789 };
+ EOF
+- if { (eval echo "$as_me:14310: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:15360: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14313: \$? = $ac_status" >&5
++ echo "$as_me:15363: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+ mv conftest.o data.o && \
+ ( $AR $ARFLAGS conftest.a data.o ) 2>&5 1>/dev/null
+ fi
+ rm -f conftest.$ac_ext data.o
+ cat >conftest.$ac_ext <<EOF
+-#line 14320 "configure"
++#line 15370 "configure"
+ int testfunc()
+ {
+ #if defined(NeXT)
+@@ -14330,10 +15380,10 @@
+ #endif
+ }
+ EOF
+- if { (eval echo "$as_me:14333: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:15383: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14336: \$? = $ac_status" >&5
++ echo "$as_me:15386: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ mv conftest.o func.o && \
+ ( $AR $ARFLAGS conftest.a func.o ) 2>&5 1>/dev/null
+@@ -14346,7 +15396,7 @@
+ cf_cv_link_dataonly=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14349 "configure"
++#line 15399 "configure"
+ #include "confdefs.h"
+
+ int main()
+@@ -14357,15 +15407,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:14360: \"$ac_link\"") >&5
++if { (eval echo "$as_me:15410: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14363: \$? = $ac_status" >&5
++ echo "$as_me:15413: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:14365: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15415: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14368: \$? = $ac_status" >&5
++ echo "$as_me:15418: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_link_dataonly=yes
+ else
+@@ -14380,11 +15430,12 @@
+
+ fi
+
+-echo "$as_me:14383: result: $cf_cv_link_dataonly" >&5
++echo "$as_me:15433: result: $cf_cv_link_dataonly" >&5
+ echo "${ECHO_T}$cf_cv_link_dataonly" >&6
+
+ if test "$cf_cv_link_dataonly" = no ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define BROKEN_LINKER 1
+ EOF
+
+@@ -14400,10 +15451,12 @@
+ getttynam \
+ issetugid \
+ poll \
++putenv \
+ remove \
+ select \
+ setbuf \
+ setbuffer \
++setenv \
+ setvbuf \
+ sigaction \
+ sigvec \
+@@ -14415,13 +15468,13 @@
+
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:14418: checking for $ac_func" >&5
++echo "$as_me:15471: checking for $ac_func" >&5
+ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14424 "configure"
++#line 15477 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below. */
+@@ -14444,7 +15497,7 @@
+ #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+ choke me
+ #else
+-f = $ac_func;
++f = $ac_func; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -14452,16 +15505,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14455: \"$ac_link\"") >&5
++if { (eval echo "$as_me:15508: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14458: \$? = $ac_status" >&5
++ echo "$as_me:15511: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14461: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15514: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14464: \$? = $ac_status" >&5
++ echo "$as_me:15517: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+ else
+@@ -14471,7 +15524,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:14474: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "$as_me:15527: result: `eval echo '${'$as_ac_var'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -14481,16 +15534,16 @@
+ fi
+ done
+
+-if test "$with_getcap" = "yes" ; then
++if test "x$with_getcap" = "xyes" ; then
+
+-echo "$as_me:14486: checking for terminal-capability database functions" >&5
++echo "$as_me:15539: checking for terminal-capability database functions" >&5
+ echo $ECHO_N "checking for terminal-capability database functions... $ECHO_C" >&6
+ if test "${cf_cv_cgetent+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14493 "configure"
++#line 15546 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -14501,7 +15554,7 @@
+ char temp[128];
+ char *buf = temp;
+ char *db_array = temp;
+- cgetent(&buf, /* int *, */ &db_array, "vt100");
++ cgetent(&buf, &db_array, "vt100");
+ cgetcap(buf, "tc", '=');
+ cgetmatch(buf, "tc");
+
+@@ -14510,16 +15563,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14513: \"$ac_link\"") >&5
++if { (eval echo "$as_me:15566: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14516: \$? = $ac_status" >&5
++ echo "$as_me:15569: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14519: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15572: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14522: \$? = $ac_status" >&5
++ echo "$as_me:15575: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_cgetent=yes
+ else
+@@ -14530,23 +15583,87 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+ fi
+-
+-echo "$as_me:14534: result: $cf_cv_cgetent" >&5
++echo "$as_me:15586: result: $cf_cv_cgetent" >&5
+ echo "${ECHO_T}$cf_cv_cgetent" >&6
+-test "$cf_cv_cgetent" = yes && cat >>confdefs.h <<\EOF
++
++if test "$cf_cv_cgetent" = yes
++then
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_BSD_CGETENT 1
+ EOF
+
++echo "$as_me:15596: checking if cgetent uses const parameter" >&5
++echo $ECHO_N "checking if cgetent uses const parameter... $ECHO_C" >&6
++if test "${cf_cv_cgetent_const+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 15603 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++int
++main ()
++{
++
++ char temp[128];
++ char *buf = temp;
++#ifndef _NETBSD_SOURCE /* given, since April 2004 in stdlib.h */
++ const char *db_array = temp;
++ cgetent(&buf, &db_array, "vt100");
++#endif
++ cgetcap(buf, "tc", '=');
++ cgetmatch(buf, "tc");
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:15625: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:15628: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:15631: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:15634: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_cgetent_const=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_cgetent_const=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++
++fi
++echo "$as_me:15645: result: $cf_cv_cgetent_const" >&5
++echo "${ECHO_T}$cf_cv_cgetent_const" >&6
++ if test "$cf_cv_cgetent_const" = yes
++ then
++
++cat >>confdefs.h <<EOF
++#define CGETENT_CONST const
++EOF
++
++ fi
++fi
++
+ fi
+
+-echo "$as_me:14542: checking for isascii" >&5
++echo "$as_me:15659: checking for isascii" >&5
+ echo $ECHO_N "checking for isascii... $ECHO_C" >&6
+ if test "${cf_cv_have_isascii+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14549 "configure"
++#line 15666 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ int
+@@ -14558,16 +15675,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14561: \"$ac_link\"") >&5
++if { (eval echo "$as_me:15678: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14564: \$? = $ac_status" >&5
++ echo "$as_me:15681: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14567: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15684: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14570: \$? = $ac_status" >&5
++ echo "$as_me:15687: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_have_isascii=yes
+ else
+@@ -14578,17 +15695,18 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+ fi
+-echo "$as_me:14581: result: $cf_cv_have_isascii" >&5
++echo "$as_me:15698: result: $cf_cv_have_isascii" >&5
+ echo "${ECHO_T}$cf_cv_have_isascii" >&6
+-test "$cf_cv_have_isascii" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_have_isascii" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_ISASCII 1
+ EOF
+
+ if test "$ac_cv_func_sigaction" = yes; then
+-echo "$as_me:14588: checking whether sigaction needs _POSIX_SOURCE" >&5
++echo "$as_me:15706: checking whether sigaction needs _POSIX_SOURCE" >&5
+ echo $ECHO_N "checking whether sigaction needs _POSIX_SOURCE... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14591 "configure"
++#line 15709 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -14602,16 +15720,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14605: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:15723: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14608: \$? = $ac_status" >&5
++ echo "$as_me:15726: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14611: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15729: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14614: \$? = $ac_status" >&5
++ echo "$as_me:15732: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ sigact_bad=no
+ else
+@@ -14619,7 +15737,7 @@
+ cat conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14622 "configure"
++#line 15740 "configure"
+ #include "confdefs.h"
+
+ #define _POSIX_SOURCE
+@@ -14634,20 +15752,21 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14637: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:15755: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14640: \$? = $ac_status" >&5
++ echo "$as_me:15758: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14643: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15761: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14646: \$? = $ac_status" >&5
++ echo "$as_me:15764: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ sigact_bad=yes
+- cat >>confdefs.h <<\EOF
+-#define SVR4_ACTION 1
++
++cat >>confdefs.h <<\EOF
++#define _POSIX_SOURCE 1
+ EOF
+
+ else
+@@ -14658,11 +15777,11 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:14661: result: $sigact_bad" >&5
++echo "$as_me:15780: result: $sigact_bad" >&5
+ echo "${ECHO_T}$sigact_bad" >&6
+ fi
+
+-echo "$as_me:14665: checking if nanosleep really works" >&5
++echo "$as_me:15784: checking if nanosleep really works" >&5
+ echo $ECHO_N "checking if nanosleep really works... $ECHO_C" >&6
+ if test "${cf_cv_func_nanosleep+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -14672,7 +15791,7 @@
+ cf_cv_func_nanosleep=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14675 "configure"
++#line 15794 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -14697,15 +15816,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:14700: \"$ac_link\"") >&5
++if { (eval echo "$as_me:15819: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14703: \$? = $ac_status" >&5
++ echo "$as_me:15822: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:14705: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15824: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14708: \$? = $ac_status" >&5
++ echo "$as_me:15827: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_func_nanosleep=yes
+ else
+@@ -14717,10 +15836,11 @@
+ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
+-echo "$as_me:14720: result: $cf_cv_func_nanosleep" >&5
++echo "$as_me:15839: result: $cf_cv_func_nanosleep" >&5
+ echo "${ECHO_T}$cf_cv_func_nanosleep" >&6
+
+-test "$cf_cv_func_nanosleep" = "yes" && cat >>confdefs.h <<\EOF
++test "$cf_cv_func_nanosleep" = "yes" &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_NANOSLEEP 1
+ EOF
+
+@@ -14731,23 +15851,23 @@
+
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:14734: checking for $ac_header" >&5
++echo "$as_me:15854: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14740 "configure"
++#line 15860 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:14744: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:15864: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:14750: \$? = $ac_status" >&5
++ echo "$as_me:15870: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -14766,7 +15886,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:14769: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:15889: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -14781,23 +15901,23 @@
+ for ac_header in sys/termio.h
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:14784: checking for $ac_header" >&5
++echo "$as_me:15904: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14790 "configure"
++#line 15910 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:14794: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:15914: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:14800: \$? = $ac_status" >&5
++ echo "$as_me:15920: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -14816,7 +15936,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:14819: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:15939: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -14834,10 +15954,10 @@
+ *) termios_bad=maybe ;;
+ esac
+ if test "$termios_bad" = maybe ; then
+- echo "$as_me:14837: checking whether termios.h needs _POSIX_SOURCE" >&5
++ echo "$as_me:15957: checking whether termios.h needs _POSIX_SOURCE" >&5
+ echo $ECHO_N "checking whether termios.h needs _POSIX_SOURCE... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14840 "configure"
++#line 15960 "configure"
+ #include "confdefs.h"
+ #include <termios.h>
+ int
+@@ -14849,16 +15969,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14852: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:15972: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14855: \$? = $ac_status" >&5
++ echo "$as_me:15975: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14858: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15978: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14861: \$? = $ac_status" >&5
++ echo "$as_me:15981: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ termios_bad=no
+ else
+@@ -14866,7 +15986,7 @@
+ cat conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14869 "configure"
++#line 15989 "configure"
+ #include "confdefs.h"
+
+ #define _POSIX_SOURCE
+@@ -14880,23 +16000,24 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14883: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:16003: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14886: \$? = $ac_status" >&5
++ echo "$as_me:16006: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14889: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16009: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14892: \$? = $ac_status" >&5
++ echo "$as_me:16012: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ termios_bad=unknown
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-termios_bad=yes cat >>confdefs.h <<\EOF
+-#define SVR4_TERMIO 1
++termios_bad=yes
++cat >>confdefs.h <<\EOF
++#define _POSIX_SOURCE 1
+ EOF
+
+ fi
+@@ -14904,19 +16025,19 @@
+
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- echo "$as_me:14907: result: $termios_bad" >&5
++ echo "$as_me:16028: result: $termios_bad" >&5
+ echo "${ECHO_T}$termios_bad" >&6
+ fi
+ fi
+
+-echo "$as_me:14912: checking for tcgetattr" >&5
++echo "$as_me:16033: checking for tcgetattr" >&5
+ echo $ECHO_N "checking for tcgetattr... $ECHO_C" >&6
+ if test "${cf_cv_have_tcgetattr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14919 "configure"
++#line 16040 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -14944,16 +16065,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14947: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16068: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14950: \$? = $ac_status" >&5
++ echo "$as_me:16071: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14953: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16074: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14956: \$? = $ac_status" >&5
++ echo "$as_me:16077: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_have_tcgetattr=yes
+ else
+@@ -14963,20 +16084,21 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:14966: result: $cf_cv_have_tcgetattr" >&5
++echo "$as_me:16087: result: $cf_cv_have_tcgetattr" >&5
+ echo "${ECHO_T}$cf_cv_have_tcgetattr" >&6
+-test "$cf_cv_have_tcgetattr" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_have_tcgetattr" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_TCGETATTR 1
+ EOF
+
+-echo "$as_me:14972: checking for vsscanf function or workaround" >&5
++echo "$as_me:16094: checking for vsscanf function or workaround" >&5
+ echo $ECHO_N "checking for vsscanf function or workaround... $ECHO_C" >&6
+ if test "${cf_cv_func_vsscanf+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14979 "configure"
++#line 16101 "configure"
+ #include "confdefs.h"
+
+ #include <stdarg.h>
+@@ -14992,16 +16114,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14995: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16117: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14998: \$? = $ac_status" >&5
++ echo "$as_me:16120: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15001: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16123: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15004: \$? = $ac_status" >&5
++ echo "$as_me:16126: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_func_vsscanf=vsscanf
+ else
+@@ -15009,7 +16131,7 @@
+ cat conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15012 "configure"
++#line 16134 "configure"
+ #include "confdefs.h"
+
+ #include <stdarg.h>
+@@ -15031,16 +16153,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:15034: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16156: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15037: \$? = $ac_status" >&5
++ echo "$as_me:16159: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15040: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16162: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15043: \$? = $ac_status" >&5
++ echo "$as_me:16165: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_func_vsscanf=vfscanf
+ else
+@@ -15048,7 +16170,7 @@
+ cat conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15051 "configure"
++#line 16173 "configure"
+ #include "confdefs.h"
+
+ #include <stdarg.h>
+@@ -15070,16 +16192,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:15073: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16195: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15076: \$? = $ac_status" >&5
++ echo "$as_me:16198: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15079: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16201: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15082: \$? = $ac_status" >&5
++ echo "$as_me:16204: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_func_vsscanf=_doscan
+ else
+@@ -15094,25 +16216,28 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:15097: result: $cf_cv_func_vsscanf" >&5
++echo "$as_me:16219: result: $cf_cv_func_vsscanf" >&5
+ echo "${ECHO_T}$cf_cv_func_vsscanf" >&6
+
+ case $cf_cv_func_vsscanf in #(vi
+-vsscanf) cat >>confdefs.h <<\EOF
++vsscanf)
++cat >>confdefs.h <<\EOF
+ #define HAVE_VSSCANF 1
+ EOF
+ ;; #(vi
+-vfscanf) cat >>confdefs.h <<\EOF
++vfscanf)
++cat >>confdefs.h <<\EOF
+ #define HAVE_VFSCANF 1
+ EOF
+ ;; #(vi
+-_doscan) cat >>confdefs.h <<\EOF
++_doscan)
++cat >>confdefs.h <<\EOF
+ #define HAVE__DOSCAN 1
+ EOF
+ ;;
+ esac
+
+-echo "$as_me:15115: checking for working mkstemp" >&5
++echo "$as_me:16240: checking for working mkstemp" >&5
+ echo $ECHO_N "checking for working mkstemp... $ECHO_C" >&6
+ if test "${cf_cv_func_mkstemp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -15120,13 +16245,80 @@
+
+ rm -rf conftest*
+ if test "$cross_compiling" = yes; then
+- echo "$as_me:15123: checking for mkstemp" >&5
++ cf_cv_func_mkstemp=maybe
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 16251 "configure"
++#include "confdefs.h"
++
++#include <sys/types.h>
++#include <stdlib.h>
++#include <stdio.h>
++#include <string.h>
++#include <sys/stat.h>
++int main()
++{
++ char *tmpl = "conftestXXXXXX";
++ char name[2][80];
++ int n;
++ int result = 0;
++ int fd;
++ struct stat sb;
++
++ umask(077);
++ for (n = 0; n < 2; ++n) {
++ strcpy(name[n], tmpl);
++ if ((fd = mkstemp(name[n])) >= 0) {
++ if (!strcmp(name[n], tmpl)
++ || stat(name[n], &sb) != 0
++ || (sb.st_mode & S_IFMT) != S_IFREG
++ || (sb.st_mode & 077) != 0) {
++ result = 1;
++ }
++ close(fd);
++ }
++ }
++ if (result == 0
++ && !strcmp(name[0], name[1]))
++ result = 1;
++ ${cf_cv_main_return:-return}(result);
++}
++
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:16289: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:16292: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (eval echo "$as_me:16294: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:16297: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_func_mkstemp=yes
++
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_func_mkstemp=no
++
++fi
++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++fi
++echo "$as_me:16312: result: $cf_cv_func_mkstemp" >&5
++echo "${ECHO_T}$cf_cv_func_mkstemp" >&6
++if test "x$cf_cv_func_mkstemp" = xmaybe ; then
++ echo "$as_me:16315: checking for mkstemp" >&5
+ echo $ECHO_N "checking for mkstemp... $ECHO_C" >&6
+ if test "${ac_cv_func_mkstemp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15129 "configure"
++#line 16321 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char mkstemp (); below. */
+@@ -15148,104 +16340,41 @@
+ something starting with __ and the normal name is an alias. */
+ #if defined (__stub_mkstemp) || defined (__stub___mkstemp)
+ choke me
+-#else
+-f = mkstemp;
+-#endif
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:15160: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:15163: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15166: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:15169: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_mkstemp=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_func_mkstemp=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:15179: result: $ac_cv_func_mkstemp" >&5
+-echo "${ECHO_T}$ac_cv_func_mkstemp" >&6
+-
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 15184 "configure"
+-#include "confdefs.h"
+-
+-#include <sys/types.h>
+-#include <stdlib.h>
+-#include <stdio.h>
+-#include <string.h>
+-#include <sys/stat.h>
+-int main()
+-{
+- char *tmpl = "conftestXXXXXX";
+- char name[2][80];
+- int n;
+- int result = 0;
+- int fd;
+- struct stat sb;
++#else
++f = mkstemp; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
+
+- umask(077);
+- for (n = 0; n < 2; ++n) {
+- strcpy(name[n], tmpl);
+- if ((fd = mkstemp(name[n])) >= 0) {
+- if (!strcmp(name[n], tmpl)
+- || stat(name[n], &sb) != 0
+- || (sb.st_mode & S_IFMT) != S_IFREG
+- || (sb.st_mode & 077) != 0) {
+- result = 1;
+- }
+- close(fd);
+- }
+- }
+- if (result == 0
+- && !strcmp(name[0], name[1]))
+- result = 1;
+- ${cf_cv_main_return:-return}(result);
++ ;
++ return 0;
+ }
+-
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:15222: \"$ac_link\"") >&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:16352: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15225: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:15227: \"$ac_try\"") >&5
++ echo "$as_me:16355: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:16358: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15230: \$? = $ac_status" >&5
++ echo "$as_me:16361: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_func_mkstemp=yes
+-
++ ac_cv_func_mkstemp=yes
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_func_mkstemp=no
+-
++ac_cv_func_mkstemp=no
+ fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
++echo "$as_me:16371: result: $ac_cv_func_mkstemp" >&5
++echo "${ECHO_T}$ac_cv_func_mkstemp" >&6
+
+ fi
+-echo "$as_me:15245: result: $cf_cv_func_mkstemp" >&5
+-echo "${ECHO_T}$cf_cv_func_mkstemp" >&6
+ if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_MKSTEMP 1
+ EOF
+
+@@ -15259,22 +16388,22 @@
+ HAVE_VSSCANF=0
+ fi
+
+-if test "$cross_compiling" = yes ; then
+- { echo "$as_me:15263: WARNING: cross compiling: assume setvbuf params not reversed" >&5
++if test "x$cross_compiling" = xyes ; then
++ { echo "$as_me:16392: WARNING: cross compiling: assume setvbuf params not reversed" >&5
+ echo "$as_me: WARNING: cross compiling: assume setvbuf params not reversed" >&2;}
+ else
+- echo "$as_me:15266: checking whether setvbuf arguments are reversed" >&5
++ echo "$as_me:16395: checking whether setvbuf arguments are reversed" >&5
+ echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6
+ if test "${ac_cv_func_setvbuf_reversed+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ if test "$cross_compiling" = yes; then
+- { { echo "$as_me:15272: error: cannot run test program while cross compiling" >&5
++ { { echo "$as_me:16401: error: cannot run test program while cross compiling" >&5
+ echo "$as_me: error: cannot run test program while cross compiling" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15277 "configure"
++#line 16406 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ /* If setvbuf has the reversed format, exit 0. */
+@@ -15291,15 +16420,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:15294: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16423: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15297: \$? = $ac_status" >&5
++ echo "$as_me:16426: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:15299: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16428: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15302: \$? = $ac_status" >&5
++ echo "$as_me:16431: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_setvbuf_reversed=yes
+ else
+@@ -15312,7 +16441,7 @@
+ fi
+ rm -f core core.* *.core
+ fi
+-echo "$as_me:15315: result: $ac_cv_func_setvbuf_reversed" >&5
++echo "$as_me:16444: result: $ac_cv_func_setvbuf_reversed" >&5
+ echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6
+ if test $ac_cv_func_setvbuf_reversed = yes; then
+
+@@ -15323,68 +16452,66 @@
+ fi
+
+ fi
+-echo "$as_me:15326: checking return type of signal handlers" >&5
+-echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
+-if test "${ac_cv_type_signal+set}" = set; then
++echo "$as_me:16455: checking for intptr_t" >&5
++echo $ECHO_N "checking for intptr_t... $ECHO_C" >&6
++if test "${ac_cv_type_intptr_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15332 "configure"
++#line 16461 "configure"
+ #include "confdefs.h"
+-#include <sys/types.h>
+-#include <signal.h>
+-#ifdef signal
+-# undef signal
+-#endif
+-#ifdef __cplusplus
+-extern "C" void (*signal (int, void (*)(int)))(int);
+-#else
+-void (*signal ()) ();
+-#endif
+-
++$ac_includes_default
+ int
+ main ()
+ {
+-int i;
++if ((intptr_t *) 0)
++ return 0;
++if (sizeof (intptr_t))
++ return 0;
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:15354: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:16476: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:15357: \$? = $ac_status" >&5
++ echo "$as_me:16479: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:15360: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16482: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15363: \$? = $ac_status" >&5
++ echo "$as_me:16485: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_type_signal=void
++ ac_cv_type_intptr_t=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_type_signal=int
++ac_cv_type_intptr_t=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:15373: result: $ac_cv_type_signal" >&5
+-echo "${ECHO_T}$ac_cv_type_signal" >&6
++echo "$as_me:16495: result: $ac_cv_type_intptr_t" >&5
++echo "${ECHO_T}$ac_cv_type_intptr_t" >&6
++if test $ac_cv_type_intptr_t = yes; then
++ :
++else
+
+ cat >>confdefs.h <<EOF
+-#define RETSIGTYPE $ac_cv_type_signal
++#define intptr_t long
+ EOF
+
+-echo "$as_me:15380: checking for type sigaction_t" >&5
++fi
++
++echo "$as_me:16507: checking for type sigaction_t" >&5
+ echo $ECHO_N "checking for type sigaction_t... $ECHO_C" >&6
+ if test "${cf_cv_type_sigaction+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15387 "configure"
++#line 16514 "configure"
+ #include "confdefs.h"
+
+ #include <signal.h>
+@@ -15397,16 +16524,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:15400: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:16527: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:15403: \$? = $ac_status" >&5
++ echo "$as_me:16530: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:15406: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16533: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15409: \$? = $ac_status" >&5
++ echo "$as_me:16536: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_type_sigaction=yes
+ else
+@@ -15417,13 +16544,14 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+
+-echo "$as_me:15420: result: $cf_cv_type_sigaction" >&5
++echo "$as_me:16547: result: $cf_cv_type_sigaction" >&5
+ echo "${ECHO_T}$cf_cv_type_sigaction" >&6
+-test "$cf_cv_type_sigaction" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_type_sigaction" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_TYPE_SIGACTION 1
+ EOF
+
+-echo "$as_me:15426: checking declaration of size-change" >&5
++echo "$as_me:16554: checking declaration of size-change" >&5
+ echo $ECHO_N "checking declaration of size-change... $ECHO_C" >&6
+ if test "${cf_cv_sizechange+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -15438,7 +16566,7 @@
+ CPPFLAGS="$cf_save_CPPFLAGS"
+ test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15441 "configure"
++#line 16569 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #ifdef HAVE_TERMIOS_H
+@@ -15482,16 +16610,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:15485: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:16613: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:15488: \$? = $ac_status" >&5
++ echo "$as_me:16616: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:15491: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16619: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15494: \$? = $ac_status" >&5
++ echo "$as_me:16622: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_sizechange=yes
+ else
+@@ -15510,10 +16638,11 @@
+ done
+
+ fi
+-echo "$as_me:15513: result: $cf_cv_sizechange" >&5
++echo "$as_me:16641: result: $cf_cv_sizechange" >&5
+ echo "${ECHO_T}$cf_cv_sizechange" >&6
+ if test "$cf_cv_sizechange" != no ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_SIZECHANGE 1
+ EOF
+
+@@ -15527,13 +16656,13 @@
+ esac
+ fi
+
+-echo "$as_me:15530: checking for memmove" >&5
++echo "$as_me:16659: checking for memmove" >&5
+ echo $ECHO_N "checking for memmove... $ECHO_C" >&6
+ if test "${ac_cv_func_memmove+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15536 "configure"
++#line 16665 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char memmove (); below. */
+@@ -15556,7 +16685,7 @@
+ #if defined (__stub_memmove) || defined (__stub___memmove)
+ choke me
+ #else
+-f = memmove;
++f = memmove; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -15564,16 +16693,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:15567: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16696: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15570: \$? = $ac_status" >&5
++ echo "$as_me:16699: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15573: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16702: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15576: \$? = $ac_status" >&5
++ echo "$as_me:16705: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_memmove=yes
+ else
+@@ -15583,19 +16712,19 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:15586: result: $ac_cv_func_memmove" >&5
++echo "$as_me:16715: result: $ac_cv_func_memmove" >&5
+ echo "${ECHO_T}$ac_cv_func_memmove" >&6
+ if test $ac_cv_func_memmove = yes; then
+ :
+ else
+
+-echo "$as_me:15592: checking for bcopy" >&5
++echo "$as_me:16721: checking for bcopy" >&5
+ echo $ECHO_N "checking for bcopy... $ECHO_C" >&6
+ if test "${ac_cv_func_bcopy+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15598 "configure"
++#line 16727 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char bcopy (); below. */
+@@ -15618,7 +16747,7 @@
+ #if defined (__stub_bcopy) || defined (__stub___bcopy)
+ choke me
+ #else
+-f = bcopy;
++f = bcopy; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -15626,16 +16755,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:15629: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16758: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15632: \$? = $ac_status" >&5
++ echo "$as_me:16761: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15635: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16764: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15638: \$? = $ac_status" >&5
++ echo "$as_me:16767: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_bcopy=yes
+ else
+@@ -15645,11 +16774,11 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:15648: result: $ac_cv_func_bcopy" >&5
++echo "$as_me:16777: result: $ac_cv_func_bcopy" >&5
+ echo "${ECHO_T}$ac_cv_func_bcopy" >&6
+ if test $ac_cv_func_bcopy = yes; then
+
+- echo "$as_me:15652: checking if bcopy does overlapping moves" >&5
++ echo "$as_me:16781: checking if bcopy does overlapping moves" >&5
+ echo $ECHO_N "checking if bcopy does overlapping moves... $ECHO_C" >&6
+ if test "${cf_cv_good_bcopy+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -15659,7 +16788,7 @@
+ cf_cv_good_bcopy=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15662 "configure"
++#line 16791 "configure"
+ #include "confdefs.h"
+
+ int main() {
+@@ -15673,15 +16802,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:15676: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16805: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15679: \$? = $ac_status" >&5
++ echo "$as_me:16808: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:15681: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16810: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15684: \$? = $ac_status" >&5
++ echo "$as_me:16813: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_good_bcopy=yes
+ else
+@@ -15694,7 +16823,7 @@
+ fi
+
+ fi
+-echo "$as_me:15697: result: $cf_cv_good_bcopy" >&5
++echo "$as_me:16826: result: $cf_cv_good_bcopy" >&5
+ echo "${ECHO_T}$cf_cv_good_bcopy" >&6
+
+ else
+@@ -15702,12 +16831,14 @@
+ fi
+
+ if test "$cf_cv_good_bcopy" = yes ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_OK_BCOPY 1
+ EOF
+
+ else
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_MY_MEMMOVE 1
+ EOF
+
+@@ -15715,7 +16846,7 @@
+
+ fi
+
+-echo "$as_me:15718: checking if poll really works" >&5
++echo "$as_me:16849: checking if poll really works" >&5
+ echo $ECHO_N "checking if poll really works... $ECHO_C" >&6
+ if test "${cf_cv_working_poll+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -15725,10 +16856,13 @@
+ cf_cv_working_poll=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15728 "configure"
++#line 16859 "configure"
+ #include "confdefs.h"
+
++#include <stdlib.h>
+ #include <stdio.h>
++#include <unistd.h>
++#include <fcntl.h>
+ #ifdef HAVE_POLL_H
+ #include <poll.h>
+ #else
+@@ -15738,23 +16872,46 @@
+ struct pollfd myfds;
+ int ret;
+
+- myfds.fd = 0;
++ /* check for Darwin bug with respect to "devices" */
++ myfds.fd = open("/dev/null", 1); /* O_WRONLY */
++ if (myfds.fd < 0)
++ myfds.fd = 0;
+ myfds.events = POLLIN;
++ myfds.revents = 0;
+
+ ret = poll(&myfds, 1, 100);
+- ${cf_cv_main_return:-return}(ret != 0);
++
++ if (ret < 0 || (myfds.revents & POLLNVAL)) {
++ ret = -1;
++ } else {
++ int fd = 0;
++ if (!isatty(fd)) {
++ fd = open("/dev/tty", 2); /* O_RDWR */
++ }
++
++ if (fd >= 0) {
++ /* also check with standard input */
++ myfds.fd = fd;
++ myfds.events = POLLIN;
++ myfds.revents = 0;
++ ret = poll(&myfds, 1, 100);
++ } else {
++ ret = -1;
++ }
++ }
++ ${cf_cv_main_return:-return}(ret < 0);
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:15749: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16906: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15752: \$? = $ac_status" >&5
++ echo "$as_me:16909: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:15754: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16911: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15757: \$? = $ac_status" >&5
++ echo "$as_me:16914: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_working_poll=yes
+ else
+@@ -15766,20 +16923,21 @@
+ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
+-echo "$as_me:15769: result: $cf_cv_working_poll" >&5
++echo "$as_me:16926: result: $cf_cv_working_poll" >&5
+ echo "${ECHO_T}$cf_cv_working_poll" >&6
+-test "$cf_cv_working_poll" = "yes" && cat >>confdefs.h <<\EOF
++test "$cf_cv_working_poll" = "yes" &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_WORKING_POLL 1
+ EOF
+
+-echo "$as_me:15775: checking for va_copy" >&5
++echo "$as_me:16933: checking for va_copy" >&5
+ echo $ECHO_N "checking for va_copy... $ECHO_C" >&6
+ if test "${cf_cv_have_va_copy+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15782 "configure"
++#line 16940 "configure"
+ #include "confdefs.h"
+
+ #include <stdarg.h>
+@@ -15796,16 +16954,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:15799: \"$ac_link\"") >&5
++if { (eval echo "$as_me:16957: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15802: \$? = $ac_status" >&5
++ echo "$as_me:16960: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15805: \"$ac_try\"") >&5
++ { (eval echo "$as_me:16963: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15808: \$? = $ac_status" >&5
++ echo "$as_me:16966: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_have_va_copy=yes
+ else
+@@ -15815,21 +16973,22 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:15818: result: $cf_cv_have_va_copy" >&5
++echo "$as_me:16976: result: $cf_cv_have_va_copy" >&5
+ echo "${ECHO_T}$cf_cv_have_va_copy" >&6
+
+-test "$cf_cv_have_va_copy" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_have_va_copy" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE_VA_COPY 1
+ EOF
+
+-echo "$as_me:15825: checking for __va_copy" >&5
++echo "$as_me:16984: checking for __va_copy" >&5
+ echo $ECHO_N "checking for __va_copy... $ECHO_C" >&6
+ if test "${cf_cv_have___va_copy+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15832 "configure"
++#line 16991 "configure"
+ #include "confdefs.h"
+
+ #include <stdarg.h>
+@@ -15846,16 +17005,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:15849: \"$ac_link\"") >&5
++if { (eval echo "$as_me:17008: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15852: \$? = $ac_status" >&5
++ echo "$as_me:17011: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15855: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17014: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15858: \$? = $ac_status" >&5
++ echo "$as_me:17017: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_have___va_copy=yes
+ else
+@@ -15865,20 +17024,21 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:15868: result: $cf_cv_have___va_copy" >&5
++echo "$as_me:17027: result: $cf_cv_have___va_copy" >&5
+ echo "${ECHO_T}$cf_cv_have___va_copy" >&6
+
+-test "$cf_cv_have___va_copy" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_have___va_copy" = yes &&
++cat >>confdefs.h <<\EOF
+ #define HAVE___VA_COPY 1
+ EOF
+
+-echo "$as_me:15875: checking for pid_t" >&5
++echo "$as_me:17035: checking for pid_t" >&5
+ echo $ECHO_N "checking for pid_t... $ECHO_C" >&6
+ if test "${ac_cv_type_pid_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15881 "configure"
++#line 17041 "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ int
+@@ -15893,16 +17053,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:15896: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:17056: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:15899: \$? = $ac_status" >&5
++ echo "$as_me:17059: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:15902: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17062: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15905: \$? = $ac_status" >&5
++ echo "$as_me:17065: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_type_pid_t=yes
+ else
+@@ -15912,7 +17072,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:15915: result: $ac_cv_type_pid_t" >&5
++echo "$as_me:17075: result: $ac_cv_type_pid_t" >&5
+ echo "${ECHO_T}$ac_cv_type_pid_t" >&6
+ if test $ac_cv_type_pid_t = yes; then
+ :
+@@ -15927,23 +17087,23 @@
+ for ac_header in unistd.h vfork.h
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:15930: checking for $ac_header" >&5
++echo "$as_me:17090: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15936 "configure"
++#line 17096 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:15940: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:17100: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:15946: \$? = $ac_status" >&5
++ echo "$as_me:17106: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -15962,7 +17122,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:15965: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:17125: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -15975,13 +17135,13 @@
+ for ac_func in fork vfork
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:15978: checking for $ac_func" >&5
++echo "$as_me:17138: checking for $ac_func" >&5
+ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 15984 "configure"
++#line 17144 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below. */
+@@ -16004,7 +17164,7 @@
+ #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+ choke me
+ #else
+-f = $ac_func;
++f = $ac_func; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -16012,16 +17172,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:16015: \"$ac_link\"") >&5
++if { (eval echo "$as_me:17175: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:16018: \$? = $ac_status" >&5
++ echo "$as_me:17178: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:16021: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17181: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16024: \$? = $ac_status" >&5
++ echo "$as_me:17184: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+ else
+@@ -16031,7 +17191,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:16034: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "$as_me:17194: result: `eval echo '${'$as_ac_var'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -16043,7 +17203,7 @@
+
+ ac_cv_func_fork_works=$ac_cv_func_fork
+ if test "x$ac_cv_func_fork" = xyes; then
+- echo "$as_me:16046: checking for working fork" >&5
++ echo "$as_me:17206: checking for working fork" >&5
+ echo $ECHO_N "checking for working fork... $ECHO_C" >&6
+ if test "${ac_cv_func_fork_works+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -16066,15 +17226,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:16069: \"$ac_link\"") >&5
++if { (eval echo "$as_me:17229: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:16072: \$? = $ac_status" >&5
++ echo "$as_me:17232: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:16074: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17234: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16077: \$? = $ac_status" >&5
++ echo "$as_me:17237: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_fork_works=yes
+ else
+@@ -16086,7 +17246,7 @@
+ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
+-echo "$as_me:16089: result: $ac_cv_func_fork_works" >&5
++echo "$as_me:17249: result: $ac_cv_func_fork_works" >&5
+ echo "${ECHO_T}$ac_cv_func_fork_works" >&6
+
+ fi
+@@ -16100,12 +17260,12 @@
+ ac_cv_func_fork_works=yes
+ ;;
+ esac
+- { echo "$as_me:16103: WARNING: CROSS: Result $ac_cv_func_fork_works guessed due to cross-compiling." >&5
++ { echo "$as_me:17263: WARNING: CROSS: Result $ac_cv_func_fork_works guessed due to cross-compiling." >&5
+ echo "$as_me: WARNING: CROSS: Result $ac_cv_func_fork_works guessed due to cross-compiling." >&2;}
+ fi
+ ac_cv_func_vfork_works=$ac_cv_func_vfork
+ if test "x$ac_cv_func_vfork" = xyes; then
+- echo "$as_me:16108: checking for working vfork" >&5
++ echo "$as_me:17268: checking for working vfork" >&5
+ echo $ECHO_N "checking for working vfork... $ECHO_C" >&6
+ if test "${ac_cv_func_vfork_works+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -16114,7 +17274,7 @@
+ ac_cv_func_vfork_works=cross
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16117 "configure"
++#line 17277 "configure"
+ #include "confdefs.h"
+ /* Thanks to Paul Eggert for this test. */
+ #include <stdio.h>
+@@ -16211,15 +17371,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:16214: \"$ac_link\"") >&5
++if { (eval echo "$as_me:17374: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:16217: \$? = $ac_status" >&5
++ echo "$as_me:17377: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:16219: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17379: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16222: \$? = $ac_status" >&5
++ echo "$as_me:17382: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_vfork_works=yes
+ else
+@@ -16231,13 +17391,13 @@
+ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
+-echo "$as_me:16234: result: $ac_cv_func_vfork_works" >&5
++echo "$as_me:17394: result: $ac_cv_func_vfork_works" >&5
+ echo "${ECHO_T}$ac_cv_func_vfork_works" >&6
+
+ fi;
+ if test "x$ac_cv_func_fork_works" = xcross; then
+ ac_cv_func_vfork_works=ac_cv_func_vfork
+- { echo "$as_me:16240: WARNING: CROSS: Result $ac_cv_func_vfork_works guessed due to cross-compiling." >&5
++ { echo "$as_me:17400: WARNING: CROSS: Result $ac_cv_func_vfork_works guessed due to cross-compiling." >&5
+ echo "$as_me: WARNING: CROSS: Result $ac_cv_func_vfork_works guessed due to cross-compiling." >&2;}
+ fi
+
+@@ -16264,7 +17424,7 @@
+
+ # special check for test/ditto.c
+
+-echo "$as_me:16267: checking for openpty in -lutil" >&5
++echo "$as_me:17427: checking for openpty in -lutil" >&5
+ echo $ECHO_N "checking for openpty in -lutil... $ECHO_C" >&6
+ if test "${ac_cv_lib_util_openpty+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -16272,7 +17432,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lutil $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16275 "configure"
++#line 17435 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -16291,16 +17451,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:16294: \"$ac_link\"") >&5
++if { (eval echo "$as_me:17454: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:16297: \$? = $ac_status" >&5
++ echo "$as_me:17457: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:16300: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17460: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16303: \$? = $ac_status" >&5
++ echo "$as_me:17463: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_util_openpty=yes
+ else
+@@ -16311,7 +17471,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:16314: result: $ac_cv_lib_util_openpty" >&5
++echo "$as_me:17474: result: $ac_cv_lib_util_openpty" >&5
+ echo "${ECHO_T}$ac_cv_lib_util_openpty" >&6
+ if test $ac_cv_lib_util_openpty = yes; then
+ cf_cv_lib_util=yes
+@@ -16319,7 +17479,7 @@
+ cf_cv_lib_util=no
+ fi
+
+-echo "$as_me:16322: checking for openpty header" >&5
++echo "$as_me:17482: checking for openpty header" >&5
+ echo $ECHO_N "checking for openpty header... $ECHO_C" >&6
+ if test "${cf_cv_func_openpty+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -16330,7 +17490,7 @@
+ for cf_header in pty.h libutil.h util.h
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16333 "configure"
++#line 17493 "configure"
+ #include "confdefs.h"
+
+ #include <$cf_header>
+@@ -16347,16 +17507,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:16350: \"$ac_link\"") >&5
++if { (eval echo "$as_me:17510: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:16353: \$? = $ac_status" >&5
++ echo "$as_me:17513: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:16356: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17516: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16359: \$? = $ac_status" >&5
++ echo "$as_me:17519: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_func_openpty=$cf_header
+@@ -16374,25 +17534,27 @@
+ LIBS="$cf_save_LIBS"
+
+ fi
+-echo "$as_me:16377: result: $cf_cv_func_openpty" >&5
++echo "$as_me:17537: result: $cf_cv_func_openpty" >&5
+ echo "${ECHO_T}$cf_cv_func_openpty" >&6
+
+ if test "$cf_cv_func_openpty" != no ; then
+- cat >>confdefs.h <<EOF
++
++cat >>confdefs.h <<EOF
+ #define USE_OPENPTY_HEADER <$cf_cv_func_openpty>
+ EOF
+
+- cat >>confdefs.h <<\EOF
++cat >>confdefs.h <<\EOF
+ #define USE_XTERM_PTY 1
+ EOF
+
+- if test "$cf_cv_lib_util" = yes ; then
++ if test "x$cf_cv_lib_util" = xyes ; then
+ TEST_LIBS="-lutil $TEST_LIBS"
+ fi
+ fi
+
+ if test "$with_hashed_db" != no ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define USE_HASHED_DB 1
+ EOF
+
+@@ -16426,7 +17588,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16429 "configure"
++#line 17591 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -16438,16 +17600,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:16441: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:17603: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:16444: \$? = $ac_status" >&5
++ echo "$as_me:17606: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:16447: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17609: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16450: \$? = $ac_status" >&5
++ echo "$as_me:17612: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -16464,7 +17626,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:16467: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:17629: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -16498,7 +17660,7 @@
+ if test "$cf_have_libdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-echo "${as_me:-configure}:16501: testing adding $cf_add_libdir to library-path ..." 1>&5
++echo "${as_me:-configure}:17663: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+ fi
+@@ -16509,23 +17671,23 @@
+ fi
+ esac
+
+-echo "$as_me:16512: checking for db.h" >&5
++echo "$as_me:17674: checking for db.h" >&5
+ echo $ECHO_N "checking for db.h... $ECHO_C" >&6
+ if test "${ac_cv_header_db_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16518 "configure"
++#line 17680 "configure"
+ #include "confdefs.h"
+ #include <db.h>
+ _ACEOF
+-if { (eval echo "$as_me:16522: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:17684: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:16528: \$? = $ac_status" >&5
++ echo "$as_me:17690: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -16544,11 +17706,11 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:16547: result: $ac_cv_header_db_h" >&5
++echo "$as_me:17709: result: $ac_cv_header_db_h" >&5
+ echo "${ECHO_T}$ac_cv_header_db_h" >&6
+ if test $ac_cv_header_db_h = yes; then
+
+-echo "$as_me:16551: checking for version of db" >&5
++echo "$as_me:17713: checking for version of db" >&5
+ echo $ECHO_N "checking for version of db... $ECHO_C" >&6
+ if test "${cf_cv_hashed_db_version+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -16559,10 +17721,10 @@
+ for cf_db_version in 1 2 3 4 5
+ do
+
+-echo "${as_me:-configure}:16562: testing checking for db version $cf_db_version ..." 1>&5
++echo "${as_me:-configure}:17724: testing checking for db version $cf_db_version ..." 1>&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16565 "configure"
++#line 17727 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -16592,16 +17754,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:16595: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:17757: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:16598: \$? = $ac_status" >&5
++ echo "$as_me:17760: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:16601: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17763: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16604: \$? = $ac_status" >&5
++ echo "$as_me:17766: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_hashed_db_version=$cf_db_version
+@@ -16615,16 +17777,16 @@
+ done
+
+ fi
+-echo "$as_me:16618: result: $cf_cv_hashed_db_version" >&5
++echo "$as_me:17780: result: $cf_cv_hashed_db_version" >&5
+ echo "${ECHO_T}$cf_cv_hashed_db_version" >&6
+
+ if test "$cf_cv_hashed_db_version" = unknown ; then
+- { { echo "$as_me:16622: error: Cannot determine version of db" >&5
++ { { echo "$as_me:17784: error: Cannot determine version of db" >&5
+ echo "$as_me: error: Cannot determine version of db" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+
+-echo "$as_me:16627: checking for db libraries" >&5
++echo "$as_me:17789: checking for db libraries" >&5
+ echo $ECHO_N "checking for db libraries... $ECHO_C" >&6
+ if test "${cf_cv_hashed_db_libs+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -16638,10 +17800,10 @@
+ LIBS="-l$cf_db_libs $LIBS"
+ fi
+
+-echo "${as_me:-configure}:16641: testing checking for library "$cf_db_libs" ..." 1>&5
++echo "${as_me:-configure}:17803: testing checking for library "$cf_db_libs" ..." 1>&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16644 "configure"
++#line 17806 "configure"
+ #include "confdefs.h"
+
+ $ac_includes_default
+@@ -16696,16 +17858,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:16699: \"$ac_link\"") >&5
++if { (eval echo "$as_me:17861: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:16702: \$? = $ac_status" >&5
++ echo "$as_me:17864: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:16705: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17867: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16708: \$? = $ac_status" >&5
++ echo "$as_me:17870: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ if test -n "$cf_db_libs" ; then
+@@ -16725,11 +17887,11 @@
+ done
+
+ fi
+-echo "$as_me:16728: result: $cf_cv_hashed_db_libs" >&5
++echo "$as_me:17890: result: $cf_cv_hashed_db_libs" >&5
+ echo "${ECHO_T}$cf_cv_hashed_db_libs" >&6
+
+ if test "$cf_cv_hashed_db_libs" = unknown ; then
+- { { echo "$as_me:16732: error: Cannot determine library for db" >&5
++ { { echo "$as_me:17894: error: Cannot determine library for db" >&5
+ echo "$as_me: error: Cannot determine library for db" >&2;}
+ { (exit 1); exit 1; }; }
+ elif test "$cf_cv_hashed_db_libs" != default ; then
+@@ -16739,7 +17901,7 @@
+
+ else
+
+- { { echo "$as_me:16742: error: Cannot find db.h" >&5
++ { { echo "$as_me:17904: error: Cannot find db.h" >&5
+ echo "$as_me: error: Cannot find db.h" >&2;}
+ { (exit 1); exit 1; }; }
+
+@@ -16754,7 +17916,7 @@
+
+ # Just in case, check if the C compiler has a bool type.
+
+-echo "$as_me:16757: checking if we should include stdbool.h" >&5
++echo "$as_me:17919: checking if we should include stdbool.h" >&5
+ echo $ECHO_N "checking if we should include stdbool.h... $ECHO_C" >&6
+
+ if test "${cf_cv_header_stdbool_h+set}" = set; then
+@@ -16762,7 +17924,7 @@
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16765 "configure"
++#line 17927 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -16774,23 +17936,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:16777: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:17939: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:16780: \$? = $ac_status" >&5
++ echo "$as_me:17942: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:16783: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17945: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16786: \$? = $ac_status" >&5
++ echo "$as_me:17948: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_header_stdbool_h=0
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16793 "configure"
++#line 17955 "configure"
+ #include "confdefs.h"
+
+ #ifndef __BEOS__
+@@ -16806,16 +17968,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:16809: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:17971: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:16812: \$? = $ac_status" >&5
++ echo "$as_me:17974: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:16815: \"$ac_try\"") >&5
++ { (eval echo "$as_me:17977: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16818: \$? = $ac_status" >&5
++ echo "$as_me:17980: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_header_stdbool_h=1
+ else
+@@ -16829,13 +17991,13 @@
+ fi
+
+ if test "$cf_cv_header_stdbool_h" = 1
+-then echo "$as_me:16832: result: yes" >&5
++then echo "$as_me:17994: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+-else echo "$as_me:16834: result: no" >&5
++else echo "$as_me:17996: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+-echo "$as_me:16838: checking for builtin bool type" >&5
++echo "$as_me:18000: checking for builtin bool type" >&5
+ echo $ECHO_N "checking for builtin bool type... $ECHO_C" >&6
+
+ if test "${cf_cv_cc_bool_type+set}" = set; then
+@@ -16843,7 +18005,7 @@
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16846 "configure"
++#line 18008 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -16858,16 +18020,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:16861: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:18023: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:16864: \$? = $ac_status" >&5
++ echo "$as_me:18026: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:16867: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18029: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16870: \$? = $ac_status" >&5
++ echo "$as_me:18032: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_cc_bool_type=1
+ else
+@@ -16880,9 +18042,9 @@
+ fi
+
+ if test "$cf_cv_cc_bool_type" = 1
+-then echo "$as_me:16883: result: yes" >&5
++then echo "$as_me:18045: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+-else echo "$as_me:16885: result: no" >&5
++else echo "$as_me:18047: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -16904,7 +18066,7 @@
+ cf_stdcpp_libname=stdc++
+ ;;
+ esac
+-echo "$as_me:16907: checking for library $cf_stdcpp_libname" >&5
++echo "$as_me:18069: checking for library $cf_stdcpp_libname" >&5
+ echo $ECHO_N "checking for library $cf_stdcpp_libname... $ECHO_C" >&6
+ if test "${cf_cv_libstdcpp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -16913,7 +18075,7 @@
+ cf_save="$LIBS"
+ LIBS="-l$cf_stdcpp_libname $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 16916 "configure"
++#line 18078 "configure"
+ #include "confdefs.h"
+
+ #include <strstream.h>
+@@ -16929,16 +18091,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:16932: \"$ac_link\"") >&5
++if { (eval echo "$as_me:18094: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:16935: \$? = $ac_status" >&5
++ echo "$as_me:18097: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:16938: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18100: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16941: \$? = $ac_status" >&5
++ echo "$as_me:18103: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_libstdcpp=yes
+ else
+@@ -16950,12 +18112,12 @@
+ LIBS="$cf_save"
+
+ fi
+-echo "$as_me:16953: result: $cf_cv_libstdcpp" >&5
++echo "$as_me:18115: result: $cf_cv_libstdcpp" >&5
+ echo "${ECHO_T}$cf_cv_libstdcpp" >&6
+ test "$cf_cv_libstdcpp" = yes && CXXLIBS="-l$cf_stdcpp_libname $CXXLIBS"
+ fi
+
+- echo "$as_me:16958: checking whether $CXX understands -c and -o together" >&5
++ echo "$as_me:18120: checking whether $CXX understands -c and -o together" >&5
+ echo $ECHO_N "checking whether $CXX understands -c and -o together... $ECHO_C" >&6
+ if test "${cf_cv_prog_CXX_c_o+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -16971,15 +18133,15 @@
+ # We do the test twice because some compilers refuse to overwrite an
+ # existing .o file with -o, though they will create one.
+ ac_try='$CXX -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+-if { (eval echo "$as_me:16974: \"$ac_try\"") >&5
++if { (eval echo "$as_me:18136: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16977: \$? = $ac_status" >&5
++ echo "$as_me:18139: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- test -f conftest2.$ac_objext && { (eval echo "$as_me:16979: \"$ac_try\"") >&5
++ test -f conftest2.$ac_objext && { (eval echo "$as_me:18141: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:16982: \$? = $ac_status" >&5
++ echo "$as_me:18144: \$? = $ac_status" >&5
+ (exit $ac_status); };
+ then
+ eval cf_cv_prog_CXX_c_o=yes
+@@ -16990,10 +18152,10 @@
+
+ fi
+ if test $cf_cv_prog_CXX_c_o = yes; then
+- echo "$as_me:16993: result: yes" >&5
++ echo "$as_me:18155: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+- echo "$as_me:16996: result: no" >&5
++ echo "$as_me:18158: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -17013,12 +18175,12 @@
+ ;;
+ esac
+ if test "$GXX" = yes; then
+- echo "$as_me:17016: checking for lib$cf_gpp_libname" >&5
++ echo "$as_me:18178: checking for lib$cf_gpp_libname" >&5
+ echo $ECHO_N "checking for lib$cf_gpp_libname... $ECHO_C" >&6
+ cf_save="$LIBS"
+ LIBS="-l$cf_gpp_libname $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17021 "configure"
++#line 18183 "configure"
+ #include "confdefs.h"
+
+ #include <$cf_gpp_libname/builtin.h>
+@@ -17032,26 +18194,28 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:17035: \"$ac_link\"") >&5
++if { (eval echo "$as_me:18197: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:17038: \$? = $ac_status" >&5
++ echo "$as_me:18200: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:17041: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18203: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17044: \$? = $ac_status" >&5
++ echo "$as_me:18206: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cxx_library=yes
+ CXXLIBS="-l$cf_gpp_libname $CXXLIBS"
+ if test "$cf_gpp_libname" = cpp ; then
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_GPP_BUILTIN_H 1
+ EOF
+
+ else
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_GXX_BUILTIN_H 1
+ EOF
+
+@@ -17060,7 +18224,7 @@
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17063 "configure"
++#line 18227 "configure"
+ #include "confdefs.h"
+
+ #include <builtin.h>
+@@ -17074,20 +18238,21 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:17077: \"$ac_link\"") >&5
++if { (eval echo "$as_me:18241: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:17080: \$? = $ac_status" >&5
++ echo "$as_me:18244: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:17083: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18247: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17086: \$? = $ac_status" >&5
++ echo "$as_me:18250: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cxx_library=yes
+ CXXLIBS="-l$cf_gpp_libname $CXXLIBS"
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_BUILTIN_H 1
+ EOF
+
+@@ -17100,7 +18265,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS="$cf_save"
+- echo "$as_me:17103: result: $cf_cxx_library" >&5
++ echo "$as_me:18268: result: $cf_cxx_library" >&5
+ echo "${ECHO_T}$cf_cxx_library" >&6
+ fi
+
+@@ -17116,7 +18281,7 @@
+ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ ac_main_return=return
+-echo "$as_me:17119: checking how to run the C++ preprocessor" >&5
++echo "$as_me:18284: 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
+@@ -17133,18 +18298,18 @@
+ # 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
+-#line 17136 "configure"
++#line 18301 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:17141: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:18306: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:17147: \$? = $ac_status" >&5
++ echo "$as_me:18312: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -17167,17 +18332,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17170 "configure"
++#line 18335 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:17174: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:18339: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:17180: \$? = $ac_status" >&5
++ echo "$as_me:18345: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -17214,7 +18379,7 @@
+ else
+ ac_cv_prog_CXXCPP=$CXXCPP
+ fi
+-echo "$as_me:17217: result: $CXXCPP" >&5
++echo "$as_me:18382: result: $CXXCPP" >&5
+ echo "${ECHO_T}$CXXCPP" >&6
+ ac_preproc_ok=false
+ for ac_cxx_preproc_warn_flag in '' yes
+@@ -17224,18 +18389,18 @@
+ # 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
+-#line 17227 "configure"
++#line 18392 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:17232: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:18397: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:17238: \$? = $ac_status" >&5
++ echo "$as_me:18403: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -17258,17 +18423,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17261 "configure"
++#line 18426 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:17265: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:18430: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:17271: \$? = $ac_status" >&5
++ echo "$as_me:18436: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -17296,7 +18461,7 @@
+ if $ac_preproc_ok; then
+ :
+ else
+- { { echo "$as_me:17299: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5
++ { { echo "$as_me:18464: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5
+ echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -17308,26 +18473,74 @@
+ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ ac_main_return=return
+
+-for ac_header in iostream typeinfo
++for ac_header in typeinfo
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:18479: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 18485 "configure"
++#include "confdefs.h"
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:18489: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:18495: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_cxx_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ eval "$as_ac_Header=yes"
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ eval "$as_ac_Header=no"
++fi
++rm -f conftest.err conftest.$ac_ext
++fi
++echo "$as_me:18514: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++EOF
++
++fi
++done
++
++for ac_header in iostream
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:17314: checking for $ac_header" >&5
++echo "$as_me:18527: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17320 "configure"
++#line 18533 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:17324: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:18537: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:17330: \$? = $ac_status" >&5
++ echo "$as_me:18543: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -17346,7 +18559,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:17349: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:18562: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -17356,11 +18569,11 @@
+ fi
+ done
+
+- if test x"$ac_cv_header_iostream" = xyes ; then
+- echo "$as_me:17360: checking if iostream uses std-namespace" >&5
++if test x"$ac_cv_header_iostream" = xyes ; then
++ echo "$as_me:18573: checking if iostream uses std-namespace" >&5
+ echo $ECHO_N "checking if iostream uses std-namespace... $ECHO_C" >&6
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 17363 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 18576 "configure"
+ #include "confdefs.h"
+
+ #include <iostream>
+@@ -17377,16 +18590,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:17380: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:18593: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:17383: \$? = $ac_status" >&5
++ echo "$as_me:18596: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:17386: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18599: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17389: \$? = $ac_status" >&5
++ echo "$as_me:18602: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_iostream_namespace=yes
+ else
+@@ -17395,17 +18608,18 @@
+ cf_iostream_namespace=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- echo "$as_me:17398: result: $cf_iostream_namespace" >&5
++ echo "$as_me:18611: result: $cf_iostream_namespace" >&5
+ echo "${ECHO_T}$cf_iostream_namespace" >&6
+- if test "$cf_iostream_namespace" = yes ; then
+- cat >>confdefs.h <<\EOF
++ if test "$cf_iostream_namespace" = yes ; then
++
++cat >>confdefs.h <<\EOF
+ #define IOSTREAM_NAMESPACE 1
+ EOF
+
+- fi
+- fi
++ fi
++fi
+
+-echo "$as_me:17408: checking if we should include stdbool.h" >&5
++echo "$as_me:18622: checking if we should include stdbool.h" >&5
+ echo $ECHO_N "checking if we should include stdbool.h... $ECHO_C" >&6
+
+ if test "${cf_cv_header_stdbool_h+set}" = set; then
+@@ -17413,7 +18627,7 @@
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17416 "configure"
++#line 18630 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -17425,23 +18639,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:17428: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:18642: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:17431: \$? = $ac_status" >&5
++ echo "$as_me:18645: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:17434: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18648: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17437: \$? = $ac_status" >&5
++ echo "$as_me:18651: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_header_stdbool_h=0
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17444 "configure"
++#line 18658 "configure"
+ #include "confdefs.h"
+
+ #ifndef __BEOS__
+@@ -17457,16 +18671,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:17460: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:18674: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:17463: \$? = $ac_status" >&5
++ echo "$as_me:18677: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:17466: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18680: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17469: \$? = $ac_status" >&5
++ echo "$as_me:18683: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_header_stdbool_h=1
+ else
+@@ -17480,13 +18694,13 @@
+ fi
+
+ if test "$cf_cv_header_stdbool_h" = 1
+-then echo "$as_me:17483: result: yes" >&5
++then echo "$as_me:18697: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+-else echo "$as_me:17485: result: no" >&5
++else echo "$as_me:18699: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+-echo "$as_me:17489: checking for builtin bool type" >&5
++echo "$as_me:18703: checking for builtin bool type" >&5
+ echo $ECHO_N "checking for builtin bool type... $ECHO_C" >&6
+
+ if test "${cf_cv_builtin_bool+set}" = set; then
+@@ -17494,7 +18708,7 @@
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17497 "configure"
++#line 18711 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -17509,16 +18723,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:17512: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:18726: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:17515: \$? = $ac_status" >&5
++ echo "$as_me:18729: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:17518: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18732: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17521: \$? = $ac_status" >&5
++ echo "$as_me:18735: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_builtin_bool=1
+ else
+@@ -17531,13 +18745,13 @@
+ fi
+
+ if test "$cf_cv_builtin_bool" = 1
+-then echo "$as_me:17534: result: yes" >&5
++then echo "$as_me:18748: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+-else echo "$as_me:17536: result: no" >&5
++else echo "$as_me:18750: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+-echo "$as_me:17540: checking for size of bool" >&5
++echo "$as_me:18754: checking for size of bool" >&5
+ echo $ECHO_N "checking for size of bool... $ECHO_C" >&6
+ if test "${cf_cv_type_of_bool+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -17548,7 +18762,7 @@
+ cf_cv_type_of_bool=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17551 "configure"
++#line 18765 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -17572,7 +18786,7 @@
+
+ #endif
+
+-main()
++int main()
+ {
+ FILE *fp = fopen("cf_test.out", "w");
+ if (fp != 0) {
+@@ -17590,15 +18804,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:17593: \"$ac_link\"") >&5
++if { (eval echo "$as_me:18807: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:17596: \$? = $ac_status" >&5
++ echo "$as_me:18810: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:17598: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18812: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17601: \$? = $ac_status" >&5
++ echo "$as_me:18815: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_type_of_bool=`cat cf_test.out`
+ if test -z "$cf_cv_type_of_bool"; then
+@@ -17616,30 +18830,36 @@
+ fi
+
+ rm -f cf_test.out
+-echo "$as_me:17619: result: $cf_cv_type_of_bool" >&5
++echo "$as_me:18833: result: $cf_cv_type_of_bool" >&5
+ echo "${ECHO_T}$cf_cv_type_of_bool" >&6
+ if test "$cf_cv_type_of_bool" = unknown ; then
+ case .$NCURSES_BOOL in #(vi
+ .auto|.) NCURSES_BOOL=unsigned;;
+ esac
+- { echo "$as_me:17625: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
++ { echo "$as_me:18839: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
+ echo "$as_me: WARNING: Assuming $NCURSES_BOOL for type of bool" >&2;}
+ cf_cv_type_of_bool=$NCURSES_BOOL
+ fi
+
+-echo "$as_me:17630: checking for special defines needed for etip.h" >&5
++echo "$as_me:18844: checking for special defines needed for etip.h" >&5
+ echo $ECHO_N "checking for special defines needed for etip.h... $ECHO_C" >&6
+ cf_save_CXXFLAGS="$CXXFLAGS"
+ cf_result="none"
++
++# etip.h includes ncurses.h which includes ncurses_dll.h
++# But ncurses_dll.h is generated - fix here.
++test -d include || mkdir include
++test -f include/ncurses_dll.h || sed -e 's/@NCURSES_WRAP_PREFIX@/'$NCURSES_WRAP_PREFIX'/g' ${srcdir}/include/ncurses_dll.h.in >include/ncurses_dll.h
++
+ for cf_math in "" MATH_H
+ do
+ for cf_excp in "" MATH_EXCEPTION
+ do
+- CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include"
++ CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -Iinclude -I${srcdir}/include"
+ test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
+ test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17642 "configure"
++#line 18862 "configure"
+ #include "confdefs.h"
+
+ #include <etip.h.in>
+@@ -17653,16 +18873,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:17656: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:18876: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:17659: \$? = $ac_status" >&5
++ echo "$as_me:18879: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:17662: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18882: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17665: \$? = $ac_status" >&5
++ echo "$as_me:18885: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ test -n "$cf_math" && cat >>confdefs.h <<EOF
+@@ -17674,7 +18894,7 @@
+ EOF
+
+ cf_result="$cf_math $cf_excp"
+- break
++ break 2
+
+ else
+ echo "$as_me: failed program was:" >&5
+@@ -17683,12 +18903,12 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ done
+ done
+-echo "$as_me:17686: result: $cf_result" >&5
++echo "$as_me:18906: result: $cf_result" >&5
+ echo "${ECHO_T}$cf_result" >&6
+ CXXFLAGS="$cf_save_CXXFLAGS"
+
+ if test -n "$CXX"; then
+-echo "$as_me:17691: checking if $CXX accepts parameter initialization" >&5
++echo "$as_me:18911: checking if $CXX accepts parameter initialization" >&5
+ echo $ECHO_N "checking if $CXX accepts parameter initialization... $ECHO_C" >&6
+ if test "${cf_cv_cpp_param_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -17705,7 +18925,7 @@
+ cf_cv_cpp_param_init=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17708 "configure"
++#line 18928 "configure"
+ #include "confdefs.h"
+
+ class TEST {
+@@ -17720,19 +18940,19 @@
+ {
+ value = x;
+ }
+-void main() { }
++int main() { }
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:17727: \"$ac_link\"") >&5
++if { (eval echo "$as_me:18947: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:17730: \$? = $ac_status" >&5
++ echo "$as_me:18950: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:17732: \"$ac_try\"") >&5
++ { (eval echo "$as_me:18952: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17735: \$? = $ac_status" >&5
++ echo "$as_me:18955: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_cpp_param_init=yes
+ else
+@@ -17751,16 +18971,17 @@
+ ac_main_return=return
+
+ fi
+-echo "$as_me:17754: result: $cf_cv_cpp_param_init" >&5
++echo "$as_me:18974: result: $cf_cv_cpp_param_init" >&5
+ echo "${ECHO_T}$cf_cv_cpp_param_init" >&6
+ fi
+-test "$cf_cv_cpp_param_init" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_cpp_param_init" = yes &&
++cat >>confdefs.h <<\EOF
+ #define CPP_HAS_PARAM_INIT 1
+ EOF
+
+ if test -n "$CXX"; then
+
+-echo "$as_me:17763: checking if $CXX accepts static_cast" >&5
++echo "$as_me:18984: checking if $CXX accepts static_cast" >&5
+ echo $ECHO_N "checking if $CXX accepts static_cast... $ECHO_C" >&6
+ if test "${cf_cv_cpp_static_cast+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -17774,7 +18995,7 @@
+ ac_main_return=return
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17777 "configure"
++#line 18998 "configure"
+ #include "confdefs.h"
+
+ class NCursesPanel
+@@ -17786,7 +19007,7 @@
+ int begin_x = 0)
+ {
+ }
+-
++ NCursesPanel();
+ ~NCursesPanel();
+ };
+
+@@ -17818,16 +19039,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:17821: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:19042: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:17824: \$? = $ac_status" >&5
++ echo "$as_me:19045: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:17827: \"$ac_try\"") >&5
++ { (eval echo "$as_me:19048: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17830: \$? = $ac_status" >&5
++ echo "$as_me:19051: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_cpp_static_cast=yes
+ else
+@@ -17845,12 +19066,13 @@
+ ac_main_return=return
+
+ fi
+-echo "$as_me:17848: result: $cf_cv_cpp_static_cast" >&5
++echo "$as_me:19069: result: $cf_cv_cpp_static_cast" >&5
+ echo "${ECHO_T}$cf_cv_cpp_static_cast" >&6
+
+ fi
+
+-test "$cf_cv_cpp_static_cast" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_cpp_static_cast" = yes &&
++cat >>confdefs.h <<\EOF
+ #define CPP_HAS_STATIC_CAST 1
+ EOF
+
+@@ -17893,7 +19115,7 @@
+ else
+ if test "$cf_cv_header_stdbool_h" = 1 ; then
+
+-echo "$as_me:17896: checking for size of bool" >&5
++echo "$as_me:19118: checking for size of bool" >&5
+ echo $ECHO_N "checking for size of bool... $ECHO_C" >&6
+ if test "${cf_cv_type_of_bool+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -17904,7 +19126,7 @@
+ cf_cv_type_of_bool=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 17907 "configure"
++#line 19129 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -17928,7 +19150,7 @@
+
+ #endif
+
+-main()
++int main()
+ {
+ FILE *fp = fopen("cf_test.out", "w");
+ if (fp != 0) {
+@@ -17946,15 +19168,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:17949: \"$ac_link\"") >&5
++if { (eval echo "$as_me:19171: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:17952: \$? = $ac_status" >&5
++ echo "$as_me:19174: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:17954: \"$ac_try\"") >&5
++ { (eval echo "$as_me:19176: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:17957: \$? = $ac_status" >&5
++ echo "$as_me:19179: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_type_of_bool=`cat cf_test.out`
+ if test -z "$cf_cv_type_of_bool"; then
+@@ -17972,25 +19194,25 @@
+ fi
+
+ rm -f cf_test.out
+-echo "$as_me:17975: result: $cf_cv_type_of_bool" >&5
++echo "$as_me:19197: result: $cf_cv_type_of_bool" >&5
+ echo "${ECHO_T}$cf_cv_type_of_bool" >&6
+ if test "$cf_cv_type_of_bool" = unknown ; then
+ case .$NCURSES_BOOL in #(vi
+ .auto|.) NCURSES_BOOL=unsigned;;
+ esac
+- { echo "$as_me:17981: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
++ { echo "$as_me:19203: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
+ echo "$as_me: WARNING: Assuming $NCURSES_BOOL for type of bool" >&2;}
+ cf_cv_type_of_bool=$NCURSES_BOOL
+ fi
+
+ else
+- echo "$as_me:17987: checking for fallback type of bool" >&5
++ echo "$as_me:19209: checking for fallback type of bool" >&5
+ echo $ECHO_N "checking for fallback type of bool... $ECHO_C" >&6
+ case "$host_cpu" in #(vi
+ i?86) cf_cv_type_of_bool=char ;; #(vi
+ *) cf_cv_type_of_bool=int ;;
+ esac
+- echo "$as_me:17993: result: $cf_cv_type_of_bool" >&5
++ echo "$as_me:19215: result: $cf_cv_type_of_bool" >&5
+ echo "${ECHO_T}$cf_cv_type_of_bool" >&6
+ fi
+ fi
+@@ -18019,7 +19241,7 @@
+
+ if test "$cf_with_ada" != "no" ; then
+ if test "$with_libtool" != "no"; then
+- { echo "$as_me:18022: WARNING: libtool does not support Ada - disabling feature" >&5
++ { echo "$as_me:19244: WARNING: libtool does not support Ada - disabling feature" >&5
+ echo "$as_me: WARNING: libtool does not support Ada - disabling feature" >&2;}
+ cf_with_ada=no
+ fi
+@@ -18030,7 +19252,7 @@
+ cf_ada_make=gnatmake
+ # Extract the first word of "$cf_ada_make", so it can be a program name with args.
+ set dummy $cf_ada_make; ac_word=$2
+-echo "$as_me:18033: checking for $ac_word" >&5
++echo "$as_me:19255: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_gnat_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -18045,7 +19267,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_gnat_exists="yes"
+-echo "$as_me:18048: found $ac_dir/$ac_word" >&5
++echo "$as_me:19270: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -18054,31 +19276,32 @@
+ fi
+ gnat_exists=$ac_cv_prog_gnat_exists
+ if test -n "$gnat_exists"; then
+- echo "$as_me:18057: result: $gnat_exists" >&5
++ echo "$as_me:19279: result: $gnat_exists" >&5
+ echo "${ECHO_T}$gnat_exists" >&6
+ else
+- echo "$as_me:18060: result: no" >&5
++ echo "$as_me:19282: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ if test "$ac_cv_prog_gnat_exists" = no; then
+ cf_ada_make=
++ cf_cv_prog_gnat_correct=no
+ else
+
+-echo "$as_me:18068: checking for gnat version" >&5
++echo "$as_me:19291: checking for gnat version" >&5
+ echo $ECHO_N "checking for gnat version... $ECHO_C" >&6
+ cf_gnat_version=`${cf_ada_make:-gnatmake} -v 2>&1 | \
+ grep '[0-9].[0-9][0-9]*' |\
+ sed -e '2,$d' -e 's/[^0-9 \.]//g' -e 's/^[ ]*//' -e 's/ .*//'`
+-echo "$as_me:18073: result: $cf_gnat_version" >&5
++echo "$as_me:19296: result: $cf_gnat_version" >&5
+ echo "${ECHO_T}$cf_gnat_version" >&6
+
+ case $cf_gnat_version in #(vi
+-3.1[1-9]*|3.[2-9]*|[4-9].*) #(vi
++3.1[1-9]*|3.[2-9]*|[4-9].*|20[0-9][0-9]) #(vi
+ cf_cv_prog_gnat_correct=yes
+ ;;
+ *)
+- { echo "$as_me:18081: WARNING: Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding." >&5
++ { echo "$as_me:19304: WARNING: Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding." >&5
+ echo "$as_me: WARNING: Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding." >&2;}
+ cf_cv_prog_gnat_correct=no
+ ;;
+@@ -18086,7 +19309,7 @@
+
+ # Extract the first word of "m4", so it can be a program name with args.
+ set dummy m4; ac_word=$2
+-echo "$as_me:18089: checking for $ac_word" >&5
++echo "$as_me:19312: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_M4_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -18101,7 +19324,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_M4_exists="yes"
+-echo "$as_me:18104: found $ac_dir/$ac_word" >&5
++echo "$as_me:19327: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -18110,10 +19333,10 @@
+ fi
+ M4_exists=$ac_cv_prog_M4_exists
+ if test -n "$M4_exists"; then
+- echo "$as_me:18113: result: $M4_exists" >&5
++ echo "$as_me:19336: result: $M4_exists" >&5
+ echo "${ECHO_T}$M4_exists" >&6
+ else
+- echo "$as_me:18116: result: no" >&5
++ echo "$as_me:19339: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -18122,7 +19345,7 @@
+ echo Ada95 binding required program m4 not found. Ada95 binding disabled.
+ fi
+ if test "$cf_cv_prog_gnat_correct" = yes; then
+- echo "$as_me:18125: checking if GNAT works" >&5
++ echo "$as_me:19348: checking if GNAT works" >&5
+ echo $ECHO_N "checking if GNAT works... $ECHO_C" >&6
+
+ rm -rf conftest* *~conftest*
+@@ -18150,32 +19373,36 @@
+ fi
+ rm -rf conftest* *~conftest*
+
+- echo "$as_me:18153: result: $cf_cv_prog_gnat_correct" >&5
++ echo "$as_me:19376: result: $cf_cv_prog_gnat_correct" >&5
+ echo "${ECHO_T}$cf_cv_prog_gnat_correct" >&6
+ fi
+ fi
+
+- if test "$cf_cv_prog_gnat_correct" = yes; then
++ if test "x$cf_cv_prog_gnat_correct" = xyes; then
+
+ ADAFLAGS="$ADAFLAGS -gnatpn"
+
+- # make ADAFLAGS consistent with CFLAGS
+- case "$CFLAGS" in
+- *-g*)
++ echo "$as_me:19385: checking optimization options for ADAFLAGS" >&5
++echo $ECHO_N "checking optimization options for ADAFLAGS... $ECHO_C" >&6
++ case "$CFLAGS" in
++ *-g*)
+
+ ADAFLAGS="$ADAFLAGS -g"
+
+- ;;
+- esac
+- case "$CFLAGS" in
+- *-O*)
++ ;;
++ esac
++ case "$CFLAGS" in
++ *-O*)
++ cf_O_flag=`echo "$CFLAGS" |sed -e 's/^.*-O/-O/' -e 's/[ ].*//'`
+
+- ADAFLAGS="$ADAFLAGS -O3"
++ ADAFLAGS="$ADAFLAGS $cf_O_flag"
+
+- ;;
+- esac
++ ;;
++ esac
++ echo "$as_me:19402: result: $ADAFLAGS" >&5
++echo "${ECHO_T}$ADAFLAGS" >&6
+
+-echo "$as_me:18178: checking if GNAT supports generics" >&5
++echo "$as_me:19405: checking if GNAT supports generics" >&5
+ echo $ECHO_N "checking if GNAT supports generics... $ECHO_C" >&6
+ case $cf_gnat_version in #(vi
+ 3.[1-9]*|[4-9].*) #(vi
+@@ -18185,7 +19412,7 @@
+ cf_gnat_generics=no
+ ;;
+ esac
+-echo "$as_me:18188: result: $cf_gnat_generics" >&5
++echo "$as_me:19415: result: $cf_gnat_generics" >&5
+ echo "${ECHO_T}$cf_gnat_generics" >&6
+
+ if test "$cf_gnat_generics" = yes
+@@ -18197,7 +19424,7 @@
+ cf_generic_objects=
+ fi
+
+-echo "$as_me:18200: checking if GNAT supports SIGINT" >&5
++echo "$as_me:19427: checking if GNAT supports SIGINT" >&5
+ echo $ECHO_N "checking if GNAT supports SIGINT... $ECHO_C" >&6
+ if test "${cf_cv_gnat_sigint+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -18245,7 +19472,7 @@
+ rm -rf conftest* *~conftest*
+
+ fi
+-echo "$as_me:18248: result: $cf_cv_gnat_sigint" >&5
++echo "$as_me:19475: result: $cf_cv_gnat_sigint" >&5
+ echo "${ECHO_T}$cf_cv_gnat_sigint" >&6
+
+ if test $cf_cv_gnat_sigint = yes ; then
+@@ -18254,7 +19481,7 @@
+ USE_GNAT_SIGINT="#"
+ fi
+
+-echo "$as_me:18257: checking if GNAT pragma Unreferenced works" >&5
++echo "$as_me:19484: checking if GNAT pragma Unreferenced works" >&5
+ echo $ECHO_N "checking if GNAT pragma Unreferenced works... $ECHO_C" >&6
+ if test "${cf_cv_pragma_unreferenced+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -18285,7 +19512,7 @@
+ rm -rf conftest* *~conftest*
+
+ fi
+-echo "$as_me:18288: result: $cf_cv_pragma_unreferenced" >&5
++echo "$as_me:19515: result: $cf_cv_pragma_unreferenced" >&5
+ echo "${ECHO_T}$cf_cv_pragma_unreferenced" >&6
+
+ # if the pragma is supported, use it (needed in the Trace code).
+@@ -18298,7 +19525,7 @@
+ cf_gnat_libraries=no
+ cf_gnat_projects=no
+
+-echo "$as_me:18301: checking if GNAT supports project files" >&5
++echo "$as_me:19528: checking if GNAT supports project files" >&5
+ echo $ECHO_N "checking if GNAT supports project files... $ECHO_C" >&6
+ case $cf_gnat_version in #(vi
+ 3.[0-9]*) #(vi
+@@ -18366,14 +19593,14 @@
+ esac
+ ;;
+ esac
+-echo "$as_me:18369: result: $cf_gnat_projects" >&5
++echo "$as_me:19596: result: $cf_gnat_projects" >&5
+ echo "${ECHO_T}$cf_gnat_projects" >&6
+
+ if test $cf_gnat_projects = yes
+ then
+- echo "$as_me:18374: checking if GNAT supports libraries" >&5
++ echo "$as_me:19601: checking if GNAT supports libraries" >&5
+ echo $ECHO_N "checking if GNAT supports libraries... $ECHO_C" >&6
+- echo "$as_me:18376: result: $cf_gnat_libraries" >&5
++ echo "$as_me:19603: result: $cf_gnat_libraries" >&5
+ echo "${ECHO_T}$cf_gnat_libraries" >&6
+ fi
+
+@@ -18393,7 +19620,7 @@
+ USE_GNAT_LIBRARIES="#"
+ fi
+
+-echo "$as_me:18396: checking for ada-compiler" >&5
++echo "$as_me:19623: checking for ada-compiler" >&5
+ echo $ECHO_N "checking for ada-compiler... $ECHO_C" >&6
+
+ # Check whether --with-ada-compiler or --without-ada-compiler was given.
+@@ -18404,12 +19631,12 @@
+ cf_ada_compiler=gnatmake
+ fi;
+
+-echo "$as_me:18407: result: $cf_ada_compiler" >&5
++echo "$as_me:19634: result: $cf_ada_compiler" >&5
+ echo "${ECHO_T}$cf_ada_compiler" >&6
+
+ cf_ada_package=terminal_interface
+
+-echo "$as_me:18412: checking for ada-include" >&5
++echo "$as_me:19639: checking for ada-include" >&5
+ echo $ECHO_N "checking for ada-include... $ECHO_C" >&6
+
+ # Check whether --with-ada-include or --without-ada-include was given.
+@@ -18433,7 +19660,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval withval="$withval"
+ case ".$withval" in #(vi
+ .NONE/*)
+@@ -18445,19 +19672,19 @@
+ withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:18448: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:19675: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+ fi
+-ADA_INCLUDE="$withval"
++eval ADA_INCLUDE="$withval"
+
+-echo "$as_me:18457: result: $ADA_INCLUDE" >&5
++echo "$as_me:19684: result: $ADA_INCLUDE" >&5
+ echo "${ECHO_T}$ADA_INCLUDE" >&6
+
+-echo "$as_me:18460: checking for ada-objects" >&5
++echo "$as_me:19687: checking for ada-objects" >&5
+ echo $ECHO_N "checking for ada-objects... $ECHO_C" >&6
+
+ # Check whether --with-ada-objects or --without-ada-objects was given.
+@@ -18481,7 +19708,7 @@
+ ;;
+ .[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+ ;;
+-.\${*prefix}*) #(vi
++.\${*prefix}*|.\${*dir}*) #(vi
+ eval withval="$withval"
+ case ".$withval" in #(vi
+ .NONE/*)
+@@ -18493,19 +19720,19 @@
+ withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
+ ;;
+ *)
+- { { echo "$as_me:18496: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:19723: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ esac
+
+ fi
+-ADA_OBJECTS="$withval"
++eval ADA_OBJECTS="$withval"
+
+-echo "$as_me:18505: result: $ADA_OBJECTS" >&5
++echo "$as_me:19732: result: $ADA_OBJECTS" >&5
+ echo "${ECHO_T}$ADA_OBJECTS" >&6
+
+-echo "$as_me:18508: checking if an Ada95 shared-library should be built" >&5
++echo "$as_me:19735: checking if an Ada95 shared-library should be built" >&5
+ echo $ECHO_N "checking if an Ada95 shared-library should be built... $ECHO_C" >&6
+
+ # Check whether --with-ada-sharedlib or --without-ada-sharedlib was given.
+@@ -18515,7 +19742,7 @@
+ else
+ with_ada_sharedlib=no
+ fi;
+-echo "$as_me:18518: result: $with_ada_sharedlib" >&5
++echo "$as_me:19745: result: $with_ada_sharedlib" >&5
+ echo "${ECHO_T}$with_ada_sharedlib" >&6
+
+ ADA_SHAREDLIB='lib$(LIB_NAME).so.1'
+@@ -18546,11 +19773,11 @@
+ ### chooses to split module lists into libraries.
+ ###
+ ### (see CF_LIB_RULES).
+-echo "$as_me:18549: checking for library subsets" >&5
++echo "$as_me:19776: checking for library subsets" >&5
+ echo $ECHO_N "checking for library subsets... $ECHO_C" >&6
+ LIB_SUBSETS=
+
+-if test "$cf_with_progs" = yes || test "$with_ticlib" != no || test "$with_termcap" != no; then
++if test "x$cf_with_progs" = xyes || test "$with_ticlib" != no || test "$with_termcap" != no; then
+ LIB_SUBSETS="${LIB_SUBSETS}ticlib"
+ if test "$with_ticlib" != no ; then
+ LIB_SUBSETS="${LIB_SUBSETS} "
+@@ -18560,7 +19787,7 @@
+ fi
+
+ LIB_SUBSETS="${LIB_SUBSETS}termlib"
+-test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
++test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
+
+ if test "$with_termlib" != no ; then
+ LIB_SUBSETS="${LIB_SUBSETS} "
+@@ -18584,29 +19811,29 @@
+ esac
+ fi
+
+-test "$with_widec" = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
+-test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
++test "x$with_widec" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
++test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
+
+-echo "$as_me:18590: result: $LIB_SUBSETS" >&5
++echo "$as_me:19817: result: $LIB_SUBSETS" >&5
+ echo "${ECHO_T}$LIB_SUBSETS" >&6
+
+ ### Construct the list of include-directories to be generated
+
+-CPPFLAGS="$CPPFLAGS -I. -I../include"
+-if test "$srcdir" != "."; then
+- CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
+-fi
+ if test "$GCC" != yes; then
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ elif test "$includedir" != "/usr/include"; then
+ if test "$includedir" = '${prefix}/include' ; then
+ if test $prefix != /usr ; then
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ fi
+ else
+- CPPFLAGS="$CPPFLAGS -I\${includedir}"
++ CPPFLAGS="-I\${includedir} $CPPFLAGS"
+ fi
+ fi
++if test "$srcdir" != "."; then
++ CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
++fi
++CPPFLAGS="-I. -I../include $CPPFLAGS"
+
+ ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS"
+ if test "$srcdir" != "."; then
+@@ -18625,7 +19852,7 @@
+ fi
+
+ ### Build up pieces for makefile rules
+-echo "$as_me:18628: checking default library suffix" >&5
++echo "$as_me:19855: checking default library suffix" >&5
+ echo $ECHO_N "checking default library suffix... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in
+@@ -18636,10 +19863,10 @@
+ shared) DFT_ARG_SUFFIX='' ;;
+ esac
+ test -n "$LIB_SUFFIX" && DFT_ARG_SUFFIX="${LIB_SUFFIX}${DFT_ARG_SUFFIX}"
+-echo "$as_me:18639: result: $DFT_ARG_SUFFIX" >&5
++echo "$as_me:19866: result: $DFT_ARG_SUFFIX" >&5
+ echo "${ECHO_T}$DFT_ARG_SUFFIX" >&6
+
+-echo "$as_me:18642: checking default library-dependency suffix" >&5
++echo "$as_me:19869: checking default library-dependency suffix" >&5
+ echo $ECHO_N "checking default library-dependency suffix... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in #(vi
+@@ -18661,11 +19888,11 @@
+ ;;
+ shared) #(vi
+ case $cf_cv_system_name in
+- aix[56]*) #(vi
++ aix[5-7]*) #(vi
+ DFT_LIB_SUFFIX='.a'
+ DFT_DEP_SUFFIX=$DFT_LIB_SUFFIX
+ ;;
+- cygwin*) #(vi
++ cygwin*|mingw*) #(vi
+ DFT_LIB_SUFFIX='.dll'
+ DFT_DEP_SUFFIX='.dll.a'
+ ;;
+@@ -18692,10 +19919,10 @@
+ esac
+ test -n "$LIB_SUFFIX" && DFT_LIB_SUFFIX="${LIB_SUFFIX}${DFT_LIB_SUFFIX}"
+ test -n "$LIB_SUFFIX" && DFT_DEP_SUFFIX="${LIB_SUFFIX}${DFT_DEP_SUFFIX}"
+-echo "$as_me:18695: result: $DFT_DEP_SUFFIX" >&5
++echo "$as_me:19922: result: $DFT_DEP_SUFFIX" >&5
+ echo "${ECHO_T}$DFT_DEP_SUFFIX" >&6
+
+-echo "$as_me:18698: checking default object directory" >&5
++echo "$as_me:19925: checking default object directory" >&5
+ echo $ECHO_N "checking default object directory... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in
+@@ -18711,16 +19938,20 @@
+ DFT_OBJ_SUBDIR='obj_s' ;;
+ esac
+ esac
+-echo "$as_me:18714: result: $DFT_OBJ_SUBDIR" >&5
++echo "$as_me:19941: result: $DFT_OBJ_SUBDIR" >&5
+ echo "${ECHO_T}$DFT_OBJ_SUBDIR" >&6
+
+-# libtool thinks it can make c++ shared libraries (perhaps only g++)
+-if test "$cf_with_cxx" = yes ; then
+-echo "$as_me:18719: checking c++ library-dependency suffix" >&5
++if test "x$cf_with_cxx" = xyes ; then
++echo "$as_me:19945: checking c++ library-dependency suffix" >&5
+ echo $ECHO_N "checking c++ library-dependency suffix... $ECHO_C" >&6
+ if test "$with_libtool" != "no"; then
++ # libtool thinks it can make c++ shared libraries (perhaps only g++)
++ CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
++elif test "$with_shared_cxx" != "no"; then
++ # also for g++ users...
+ CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
+ else
++ # we normally make a static library because C/C++ library rules differ
+
+ case normal in #(vi
+ libtool) #(vi
+@@ -18741,11 +19972,11 @@
+ ;;
+ shared) #(vi
+ case $cf_cv_system_name in
+- aix[56]*) #(vi
++ aix[5-7]*) #(vi
+ CXX_LIB_SUFFIX='.a'
+ CXX_DEP_SUFFIX=$CXX_LIB_SUFFIX
+ ;;
+- cygwin*) #(vi
++ cygwin*|mingw*) #(vi
+ CXX_LIB_SUFFIX='.dll'
+ CXX_DEP_SUFFIX='.dll.a'
+ ;;
+@@ -18772,14 +20003,15 @@
+ esac
+ test -n "$LIB_SUFFIX" && CXX_LIB_SUFFIX="${LIB_SUFFIX}${CXX_LIB_SUFFIX}"
+ test -n "$LIB_SUFFIX" && CXX_DEP_SUFFIX="${LIB_SUFFIX}${CXX_DEP_SUFFIX}"
++
+ fi
+-echo "$as_me:18776: result: $CXX_LIB_SUFFIX" >&5
++echo "$as_me:20008: result: $CXX_LIB_SUFFIX" >&5
+ echo "${ECHO_T}$CXX_LIB_SUFFIX" >&6
+
+ fi
+
+ # do not want -ldl in build except as needed for -lncurses dependency
+-if test "$with_dlsym" = yes ; then
++if test "x$with_dlsym" = xyes ; then
+ if test $DFT_LWR_MODEL = shared || \
+ test $DFT_LWR_MODEL = libtool ; then
+
+@@ -18793,7 +20025,7 @@
+ # TICS_LIST and TINFO_LIST are needed to build libtic.so and libterm.so, but
+ # do not need libdl
+ TICS_LIST=
+-if test "$with_dlsym" = yes ; then
++if test "x$with_dlsym" = xyes ; then
+
+ # remove dl library from $SHLIB_LIST
+ TINFO_LIST=`echo "$SHLIB_LIST" | sed -e 's/-ldl[ ]//g' -e 's/-ldl$//'`
+@@ -18802,7 +20034,7 @@
+
+ if test "$with_ticlib" != no ; then
+
+- if test "$with_ticlib" != yes ; then
++ if test "x$with_ticlib" != xyes ; then
+ TICS_NAME=$with_ticlib
+ TICS_ARG_SUFFIX="${with_ticlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+ TICS_DEP_SUFFIX="${with_ticlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+@@ -18812,14 +20044,16 @@
+ TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}"
+ TICS_LIB_SUFFIX="${TICS_NAME}${LIB_SUFFIX}"
+ fi
+- TICS_ARGS="-L${LIB_DIR} -l${TICS_LIB_SUFFIX}"
++ TICS_LDFLAGS="-L${LIB_DIR}"
++ TICS_LIBS="-l${TICS_LIB_SUFFIX}"
+ else
+- TICS_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
++ TICS_LDFLAGS="-L${LIB_DIR}"
++ TICS_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX}"
+ fi
+
+ if test "$with_termlib" != no ; then
+
+- if test "$with_termlib" != yes ; then
++ if test "x$with_termlib" != xyes ; then
+ TINFO_NAME=$with_termlib
+ TINFO_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+ TINFO_ARG_SUFFIX="${with_termlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+@@ -18837,14 +20071,22 @@
+ if test "$DFT_LWR_MODEL" = "libtool"; then
+ TEST_ARGS="${TEST_DEPS}"
+ TEST_ARG2="${TEST_DEP2}"
+- TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
++ TINFO_LDFLAGS="-L${LIB_DIR}"
++ TINFO_LIBS="$TEST_ARGS"
+ TICS_LIST="$SHLIB_LIST $TEST_ARGS"
+ SHLIB_LIST="${SHLIB_LIST} $TEST_ARGS"
+ else
+ TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
+ TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
+- TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
+- TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
++ if test "x$with_term_driver" != xno ; then
++ TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
++ TICS_LIBS="$TICS_LIBS -l${LIB_NAME}${DFT_ARG_SUFFIX}"
++ TINFO_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
++ else
++ TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
++ TINFO_LIBS="$TEST_ARGS"
++ fi
++ TINFO_LDFLAGS="-L${LIB_DIR}"
+ SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
+ fi
+ else
+@@ -18852,13 +20094,14 @@
+ TINFO_NAME=${LIB_NAME}
+ TINFO_SUFFIX=${DFT_LIB_SUFFIX}
+ TINFO_ARG_SUFFIX=${LIB_NAME}${DFT_ARG_SUFFIX}
+- if test "$with_tic_depends" = yes ; then
++ if test "x$with_tic_depends" = xyes ; then
+ TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
+ else
+ TICS_LIST="$SHLIB_LIST"
+ fi
+
+- TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
++ TINFO_LDFLAGS="-L${LIB_DIR}"
++ TINFO_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX}"
+ fi
+
+ if test "$DFT_LWR_MODEL" = shared ; then
+@@ -18870,7 +20113,7 @@
+ esac
+ fi
+
+-if test "$with_dlsym" = yes ; then
++if test "x$with_dlsym" = xyes ; then
+
+ # remove dl library from $TICS_LIST
+ TICS_LIST=`echo "$TICS_LIST" | sed -e 's/-ldl[ ]//g' -e 's/-ldl$//'`
+@@ -18882,7 +20125,7 @@
+ fi
+
+ # needed for Ada95
+-TINFO_ARGS2=`echo "$TINFO_ARGS" | sed -e 's,-L\.\./,-L../../,'`
++TINFO_LDFLAGS2=`echo "$TINFO_LDFLAGS" | sed -e 's,-L\.\./,-L../../,'`
+
+ case $DFT_LWR_MODEL in
+ normal|debug|profile)
+@@ -18900,7 +20143,7 @@
+ esac
+ else
+ case $cf_cv_system_name in #(
+- aix[456]*) #( from ld manpage
++ aix[4-7]*) #( from ld manpage
+ LDFLAGS_STATIC=-bstatic
+ LDFLAGS_SHARED=-bdynamic
+ ;;
+@@ -18927,19 +20170,19 @@
+
+ if test -n "$LDFLAGS_STATIC" && test -n "$LDFLAGS_SHARED"
+ then
+- echo "$as_me:18930: checking if linker supports switching between static/dynamic" >&5
++ echo "$as_me:20173: checking if linker supports switching between static/dynamic" >&5
+ echo $ECHO_N "checking if linker supports switching between static/dynamic... $ECHO_C" >&6
+
+ rm -f libconftest.a
+ cat >conftest.$ac_ext <<EOF
+-#line 18935 "configure"
++#line 20178 "configure"
+ #include <stdio.h>
+ int cf_ldflags_static(FILE *fp) { return fflush(fp); }
+ EOF
+- if { (eval echo "$as_me:18939: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:20182: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:18942: \$? = $ac_status" >&5
++ echo "$as_me:20185: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+ ( $AR $ARFLAGS libconftest.a conftest.o ) 2>&5 1>/dev/null
+ ( eval $RANLIB libconftest.a ) 2>&5 >/dev/null
+@@ -18950,10 +20193,10 @@
+
+ LIBS="$LDFLAGS_STATIC -L`pwd` -lconftest $LDFLAGS_DYNAMIC $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 18953 "configure"
++#line 20196 "configure"
+ #include "confdefs.h"
+
+-#line 18956 "configure"
++#line 20199 "configure"
+ #include <stdio.h>
+ int cf_ldflags_static(FILE *fp);
+
+@@ -18968,18 +20211,28 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:18971: \"$ac_link\"") >&5
++if { (eval echo "$as_me:20214: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:18974: \$? = $ac_status" >&5
++ echo "$as_me:20217: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:18977: \"$ac_try\"") >&5
++ { (eval echo "$as_me:20220: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:18980: \$? = $ac_status" >&5
++ echo "$as_me:20223: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_ldflags_static=yes
++
++ # some linkers simply ignore the -dynamic
++ case x`file conftest$ac_exeext 2>/dev/null` in #(vi
++ *static*) # (vi
++ cf_ldflags_static=no
++ ;;
++ *)
++ cf_ldflags_static=yes
++ ;;
++ esac
++
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+@@ -18990,7 +20243,7 @@
+ rm -f libconftest.*
+ LIBS="$cf_save_LIBS"
+
+- echo "$as_me:18993: result: $cf_ldflags_static" >&5
++ echo "$as_me:20246: result: $cf_ldflags_static" >&5
+ echo "${ECHO_T}$cf_ldflags_static" >&6
+
+ if test $cf_ldflags_static != yes
+@@ -19006,12 +20259,12 @@
+ ;;
+ esac
+
+-echo "$as_me:19009: checking where we will install curses.h" >&5
++echo "$as_me:20262: checking where we will install curses.h" >&5
+ echo $ECHO_N "checking where we will install curses.h... $ECHO_C" >&6
+ test "$with_overwrite" = no && \
+ test "x$includedir" = 'x${prefix}/include' && \
+ includedir='${prefix}/include/ncurses'${LIB_SUFFIX}
+-echo "$as_me:19014: result: $includedir" >&5
++echo "$as_me:20267: result: $includedir" >&5
+ echo "${ECHO_T}$includedir" >&6
+
+ ### Resolve a conflict between normal and wide-curses by forcing applications
+@@ -19019,7 +20272,7 @@
+ if test "$with_overwrite" != no ; then
+ if test "$NCURSES_LIBUTF8" = 1 ; then
+ NCURSES_LIBUTF8='defined(HAVE_LIBUTF8_H)'
+- { echo "$as_me:19022: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&5
++ { echo "$as_me:20275: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&5
+ echo "$as_me: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&2;}
+ fi
+ fi
+@@ -19029,6 +20282,7 @@
+ NCURSES_TREE=
+
+ ### predefined stuff for the test programs
++
+ cat >>confdefs.h <<\EOF
+ #define HAVE_SLK_COLOR 1
+ EOF
+@@ -19036,7 +20290,7 @@
+ ### Construct the list of subdirectories for which we'll customize makefiles
+ ### with the appropriate compile-rules.
+
+-echo "$as_me:19039: checking for src modules" >&5
++echo "$as_me:20293: checking for src modules" >&5
+ echo $ECHO_N "checking for src modules... $ECHO_C" >&6
+
+ # dependencies and linker-arguments for test-programs
+@@ -19050,6 +20304,7 @@
+ TEST_ARG2="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARG2"
+ fi
+
++PC_MODULES_TO_MAKE="ncurses${DFT_ARG_SUFFIX}"
+ cf_cv_src_modules=
+ for cf_dir in $modules_to_build
+ do
+@@ -19096,10 +20351,11 @@
+ TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS"
+ TEST_ARG2="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARG2"
+ fi
++ PC_MODULES_TO_MAKE="${PC_MODULES_TO_MAKE} ${cf_dir}${DFT_ARG_SUFFIX}"
+ fi
+ fi
+ done
+-echo "$as_me:19102: result: $cf_cv_src_modules" >&5
++echo "$as_me:20358: result: $cf_cv_src_modules" >&5
+ echo "${ECHO_T}$cf_cv_src_modules" >&6
+
+ TEST_ARGS="-L${LIB_DIR} $TEST_ARGS"
+@@ -19118,10 +20374,16 @@
+ SRC_SUBDIRS="$SRC_SUBDIRS test"
+ fi
+ test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc"
+-test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++"
++if test "$cf_with_cxx_binding" != no; then
++ PC_MODULES_TO_MAKE="${PC_MODULES_TO_MAKE} ncurses++${DFT_ARG_SUFFIX}"
++ SRC_SUBDIRS="$SRC_SUBDIRS c++"
++fi
++
++test "x$with_termlib" != xno && PC_MODULES_TO_MAKE="$PC_MODULES_TO_MAKE $TINFO_ARG_SUFFIX"
++test "x$with_ticlib" != xno && PC_MODULES_TO_MAKE="$PC_MODULES_TO_MAKE $TICS_ARG_SUFFIX"
+
+ ADA_SUBDIRS=
+-if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then
++if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = xyes && test -f $srcdir/Ada95/Makefile.in; then
+ SRC_SUBDIRS="$SRC_SUBDIRS Ada95"
+ ADA_SUBDIRS="gen src"
+ if test "x$cf_with_tests" != "xno" ; then
+@@ -19143,7 +20405,7 @@
+
+ fi
+
+-if test "$cf_with_ada" != "no" && test "$cf_cv_prog_gnat_correct" != "no"; then
++if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
+ SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses${DFT_ARG_SUFFIX}-config:Ada95/gen/adacurses-config.in"
+ SUB_MAKEFILES="$SUB_MAKEFILES man/adacurses${DFT_ARG_SUFFIX}-config.1:man/MKada_config.in"
+ fi
+@@ -19181,6 +20443,7 @@
+ NCURSES_SHLIB2='sh $(top_srcdir)/misc/shlib'
+
+ # values to use as strings
++
+ cat >>confdefs.h <<EOF
+ #define NCURSES_PATHSEP '$PATH_SEPARATOR'
+ EOF
+@@ -19271,32 +20534,32 @@
+
+ ### Define substitutions for header files to avoid name-pollution
+
+-if test "$cf_cv_have_tcgetattr" = yes ; then
++if test "x$cf_cv_have_tcgetattr" = xyes ; then
+ HAVE_TCGETATTR=1
+ else
+ HAVE_TCGETATTR=0
+ fi
+
+-if test "$ac_cv_header_termio_h" = yes ; then
++if test "x$ac_cv_header_termio_h" = xyes ; then
+ HAVE_TERMIO_H=1
+ else
+ HAVE_TERMIO_H=0
+ fi
+
+-if test "$ac_cv_header_termios_h" = yes ; then
++if test "x$ac_cv_header_termios_h" = xyes ; then
+ HAVE_TERMIOS_H=1
+ else
+ HAVE_TERMIOS_H=0
+ fi
+
+ ################################################################################
+-test "$use_database" = yes && \
++test "x$use_database" = xyes && \
+ SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
+
+ SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
+ SUB_MAKEFILES="$SUB_MAKEFILES man/ncurses${DFT_ARG_SUFFIX}${cf_cv_abi_version}-config.1:man/MKncu_config.in"
+
+-if test x"$enable_pc_files" = xyes ; then \
++if test "x$enable_pc_files" = xyes ; then \
+ SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"
+ MAKE_PC_FILES=
+ else
+@@ -19305,7 +20568,7 @@
+
+ # Extract the first word of "tic", so it can be a program name with args.
+ set dummy tic; ac_word=$2
+-echo "$as_me:19308: checking for $ac_word" >&5
++echo "$as_me:20571: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_TIC_PATH+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -19322,7 +20585,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ if $as_executable_p "$ac_dir/$ac_word"; then
+ ac_cv_path_TIC_PATH="$ac_dir/$ac_word"
+- echo "$as_me:19325: found $ac_dir/$ac_word" >&5
++ echo "$as_me:20588: found $ac_dir/$ac_word" >&5
+ break
+ fi
+ done
+@@ -19334,10 +20597,10 @@
+ TIC_PATH=$ac_cv_path_TIC_PATH
+
+ if test -n "$TIC_PATH"; then
+- echo "$as_me:19337: result: $TIC_PATH" >&5
++ echo "$as_me:20600: result: $TIC_PATH" >&5
+ echo "${ECHO_T}$TIC_PATH" >&6
+ else
+- echo "$as_me:19340: result: no" >&5
++ echo "$as_me:20603: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -19345,7 +20608,7 @@
+ then
+ if test "$TIC_PATH" = unknown
+ then
+- { echo "$as_me:19348: WARNING: no tic program found for fallbacks" >&5
++ { echo "$as_me:20611: WARNING: no tic program found for fallbacks" >&5
+ echo "$as_me: WARNING: no tic program found for fallbacks" >&2;}
+ fi
+ fi
+@@ -19358,12 +20621,13 @@
+
+ ADAHTML_DIR=../../doc/html/ada
+
++# these could be configurable, but are not currently
++PANEL_NAME=panel
++MENU_NAME=menu
++FORM_NAME=form
++CXX_NAME=ncurses++
++
+ SUB_SCRIPTS=
+-case $cf_cv_system_name in #(vi
+-*mingw32*) #(vi
+- SUB_SCRIPTS="mk-dlls.sh"
+- ;;
+-esac
+
+ ac_config_files="$ac_config_files include/MKterm.h.awk include/curses.head:include/curses.h.in include/ncurses_dll.h include/termcap.h include/unctrl.h $SUB_SCRIPTS $SUB_MAKEFILES Makefile"
+ ac_config_commands="$ac_config_commands default"
+@@ -19446,7 +20710,7 @@
+ : ${CONFIG_STATUS=./config.status}
+ ac_clean_files_save=$ac_clean_files
+ ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+-{ echo "$as_me:19449: creating $CONFIG_STATUS" >&5
++{ echo "$as_me:20713: creating $CONFIG_STATUS" >&5
+ echo "$as_me: creating $CONFIG_STATUS" >&6;}
+ cat >$CONFIG_STATUS <<_ACEOF
+ #! $SHELL
+@@ -19578,7 +20842,7 @@
+ cat >>$CONFIG_STATUS <<EOF
+ ac_cs_version="\\
+ config.status
+-configured by $0, generated by GNU Autoconf 2.52.20101002,
++configured by $0, generated by GNU Autoconf 2.52.20121002,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+@@ -19622,7 +20886,7 @@
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+- { { echo "$as_me:19625: error: ambiguous option: $1
++ { { echo "$as_me:20889: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&2;}
+@@ -19641,7 +20905,7 @@
+ ac_need_defaults=false;;
+
+ # This is an error.
+- -*) { { echo "$as_me:19644: error: unrecognized option: $1
++ -*) { { echo "$as_me:20908: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&2;}
+@@ -19660,7 +20924,7 @@
+ ## Running config.status. ##
+ ## ----------------------- ##
+
+-This file was extended by $as_me 2.52.20101002, executed with
++This file was extended by $as_me 2.52.20121002, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+@@ -19682,10 +20946,11 @@
+ AWK="$AWK"
+ DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
+ DFT_LWR_MODEL="$DFT_LWR_MODEL"
+-ECHO_LINK="$ECHO_LINK"
++ECHO_LD="$ECHO_LD"
+ LDCONFIG="$LDCONFIG"
+ LIBTOOL_VERSION="$LIBTOOL_VERSION"
+ LIB_NAME="$LIB_NAME"
++LIB_PREFIX="$LIB_PREFIX"
+ LIB_SUBSETS="$LIB_SUBSETS"
+ LIB_SUFFIX="$LIB_SUFFIX"
+ LIB_TRACING="$LIB_TRACING"
+@@ -19707,7 +20972,7 @@
+ TINFO_SUFFIX="$TINFO_SUFFIX"
+ USE_OLD_MAKERULES="$USE_OLD_MAKERULES"
+ WITH_CURSES_H="$with_curses_h"
+-WITH_ECHO="$with_echo"
++WITH_ECHO="${enable_echo:=yes}"
+ WITH_OVERWRITE="$with_overwrite"
+ cf_LIST_MODELS="$cf_list_models"
+ cf_cv_abi_version="$cf_cv_abi_version"
+@@ -19717,16 +20982,19 @@
+ cf_cv_enable_opaque="$cf_cv_enable_opaque"
+ cf_cv_prog_CC_c_o=$cf_cv_prog_CC_c_o
+ cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o
++cf_cv_prog_gnat_correct=$cf_cv_prog_gnat_correct
+ cf_cv_rel_version="$cf_cv_rel_version"
+ cf_cv_rm_so_locs="$cf_cv_rm_so_locs"
+ cf_cv_shared_soname='$cf_cv_shared_soname'
+ cf_cv_shlib_version="$cf_cv_shlib_version"
+ cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
+ cf_cv_system_name="$cf_cv_system_name"
++cf_cv_term_driver="$with_term_driver"
+ cf_with_ada="$cf_with_ada"
+ cf_with_cxx_binding="$cf_with_cxx_binding"
+ cf_with_manpages="$cf_with_manpages"
+ cf_with_tests="$cf_with_tests"
++with_shared_cxx="$with_shared_cxx"
+ host="$host"
+ target="$target"
+
+@@ -19747,7 +21015,7 @@
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+ "include/ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/ncurses_cfg.h:include/ncurses_cfg.hin" ;;
+- *) { { echo "$as_me:19750: error: invalid argument: $ac_config_target" >&5
++ *) { { echo "$as_me:21018: error: invalid argument: $ac_config_target" >&5
+ echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+@@ -19806,6 +21074,7 @@
+ s,@bindir@,$bindir,;t t
+ s,@sbindir@,$sbindir,;t t
+ s,@libexecdir@,$libexecdir,;t t
++s,@datarootdir@,$datarootdir,;t t
+ s,@datadir@,$datadir,;t t
+ s,@sysconfdir@,$sysconfdir,;t t
+ s,@sharedstatedir@,$sharedstatedir,;t t
+@@ -19858,9 +21127,8 @@
+ s,@ac_ct_CC@,$ac_ct_CC,;t t
+ s,@EXEEXT@,$EXEEXT,;t t
+ s,@OBJEXT@,$OBJEXT,;t t
+-s,@CPP@,$CPP,;t t
+ s,@EXTRA_CPPFLAGS@,$EXTRA_CPPFLAGS,;t t
+-s,@PROG_EXT@,$PROG_EXT,;t t
++s,@CPP@,$CPP,;t t
+ s,@LDCONFIG@,$LDCONFIG,;t t
+ s,@CXX@,$CXX,;t t
+ s,@CXXFLAGS@,$CXXFLAGS,;t t
+@@ -19900,6 +21168,7 @@
+ s,@cf_list_models@,$cf_list_models,;t t
+ s,@LIBTOOL_VERSION@,$LIBTOOL_VERSION,;t t
+ s,@LIBTOOL@,$LIBTOOL,;t t
++s,@ac_ct_LIBTOOL@,$ac_ct_LIBTOOL,;t t
+ s,@LT_UNDEF@,$LT_UNDEF,;t t
+ s,@LIBTOOL_CXX@,$LIBTOOL_CXX,;t t
+ s,@LIBTOOL_OPTS@,$LIBTOOL_OPTS,;t t
+@@ -19931,10 +21200,12 @@
+ s,@LOCAL_LDFLAGS@,$LOCAL_LDFLAGS,;t t
+ s,@LOCAL_LDFLAGS2@,$LOCAL_LDFLAGS2,;t t
+ s,@INSTALL_LIB@,$INSTALL_LIB,;t t
++s,@RPATH_LIST@,$RPATH_LIST,;t t
+ s,@cf_ldd_prog@,$cf_ldd_prog,;t t
+ s,@TERMINFO_SRC@,$TERMINFO_SRC,;t t
+ s,@FALLBACK_LIST@,$FALLBACK_LIST,;t t
+ s,@WHICH_XTERM@,$WHICH_XTERM,;t t
++s,@XTERM_KBS@,$XTERM_KBS,;t t
+ s,@TERMINFO_DIRS@,$TERMINFO_DIRS,;t t
+ s,@TERMINFO@,$TERMINFO,;t t
+ s,@MAKE_TERMINFO@,$MAKE_TERMINFO,;t t
+@@ -19955,6 +21226,7 @@
+ s,@TERMINFO_CAPS@,$TERMINFO_CAPS,;t t
+ s,@NCURSES_OSPEED@,$NCURSES_OSPEED,;t t
+ s,@NCURSES_CCHARW_MAX@,$NCURSES_CCHARW_MAX,;t t
++s,@NCURSES_TPARM_ARG@,$NCURSES_TPARM_ARG,;t t
+ s,@MANPAGE_RENAMES@,$MANPAGE_RENAMES,;t t
+ s,@NCURSES_EXT_FUNCS@,$NCURSES_EXT_FUNCS,;t t
+ s,@GENERATED_EXT_FUNCS@,$GENERATED_EXT_FUNCS,;t t
+@@ -19972,6 +21244,11 @@
+ s,@NCURSES_OPAQUE@,$NCURSES_OPAQUE,;t t
+ s,@NCURSES_SIZE_T@,$NCURSES_SIZE_T,;t t
+ s,@NCURSES_WRAP_PREFIX@,$NCURSES_WRAP_PREFIX,;t t
++s,@ECHO_LT@,$ECHO_LT,;t t
++s,@ECHO_LD@,$ECHO_LD,;t t
++s,@RULE_CC@,$RULE_CC,;t t
++s,@SHOW_CC@,$SHOW_CC,;t t
++s,@ECHO_CC@,$ECHO_CC,;t t
+ s,@ECHO_LINK@,$ECHO_LINK,;t t
+ s,@ADAFLAGS@,$ADAFLAGS,;t t
+ s,@EXTRA_CFLAGS@,$EXTRA_CFLAGS,;t t
+@@ -20015,12 +21292,14 @@
+ s,@TICS_ARG_SUFFIX@,$TICS_ARG_SUFFIX,;t t
+ s,@TICS_DEP_SUFFIX@,$TICS_DEP_SUFFIX,;t t
+ s,@TICS_LIB_SUFFIX@,$TICS_LIB_SUFFIX,;t t
+-s,@TICS_ARGS@,$TICS_ARGS,;t t
++s,@TICS_LDFLAGS@,$TICS_LDFLAGS,;t t
++s,@TICS_LIBS@,$TICS_LIBS,;t t
+ s,@TINFO_ARG_SUFFIX@,$TINFO_ARG_SUFFIX,;t t
+ s,@TINFO_DEP_SUFFIX@,$TINFO_DEP_SUFFIX,;t t
+ s,@TINFO_LIB_SUFFIX@,$TINFO_LIB_SUFFIX,;t t
+-s,@TINFO_ARGS@,$TINFO_ARGS,;t t
+-s,@TINFO_ARGS2@,$TINFO_ARGS2,;t t
++s,@TINFO_LDFLAGS@,$TINFO_LDFLAGS,;t t
++s,@TINFO_LIBS@,$TINFO_LIBS,;t t
++s,@TINFO_LDFLAGS2@,$TINFO_LDFLAGS2,;t t
+ s,@LDFLAGS_STATIC@,$LDFLAGS_STATIC,;t t
+ s,@LDFLAGS_SHARED@,$LDFLAGS_SHARED,;t t
+ s,@WITH_OVERWRITE@,$WITH_OVERWRITE,;t t
+@@ -20032,6 +21311,7 @@
+ s,@TEST_DEPS@,$TEST_DEPS,;t t
+ s,@TEST_ARG2@,$TEST_ARG2,;t t
+ s,@TEST_DEP2@,$TEST_DEP2,;t t
++s,@PC_MODULES_TO_MAKE@,$PC_MODULES_TO_MAKE,;t t
+ s,@ADA_SUBDIRS@,$ADA_SUBDIRS,;t t
+ s,@DIRS_TO_MAKE@,$DIRS_TO_MAKE,;t t
+ s,@NCURSES_SHLIB2@,$NCURSES_SHLIB2,;t t
+@@ -20043,6 +21323,10 @@
+ s,@TIC_PATH@,$TIC_PATH,;t t
+ s,@MAKE_TESTS@,$MAKE_TESTS,;t t
+ s,@ADAHTML_DIR@,$ADAHTML_DIR,;t t
++s,@PANEL_NAME@,$PANEL_NAME,;t t
++s,@MENU_NAME@,$MENU_NAME,;t t
++s,@FORM_NAME@,$FORM_NAME,;t t
++s,@CXX_NAME@,$CXX_NAME,;t t
+ CEOF
+
+ EOF
+@@ -20157,7 +21441,7 @@
+ esac
+
+ if test x"$ac_file" != x-; then
+- { echo "$as_me:20160: creating $ac_file" >&5
++ { echo "$as_me:21444: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+@@ -20175,7 +21459,7 @@
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:20178: error: cannot find input file: $f" >&5
++ test -f "$f" || { { echo "$as_me:21462: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+@@ -20188,13 +21472,45 @@
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+- { { echo "$as_me:20191: error: cannot find input file: $f" >&5
++ { { echo "$as_me:21475: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ EOF
++cat >>$CONFIG_STATUS <<\EOF
++ ac_warn_datarootdir=no
++ if test x"$ac_file" != x-; then
++ for ac_item in $ac_file_inputs
++ do
++ ac_seen=`grep '@\(datadir\|mandir\|infodir\)@' $ac_item`
++ if test -n "$ac_seen"; then
++ ac_used=`grep '@datarootdir@' $ac_item`
++ if test -z "$ac_used"; then
++ { echo "$as_me:21491: WARNING: datarootdir was used implicitly but not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: datarootdir was used implicitly but not set:
++$ac_seen" >&2;}
++ ac_warn_datarootdir=yes
++ fi
++ fi
++ ac_seen=`grep '${datarootdir}' $ac_item`
++ if test -n "$ac_seen"; then
++ { echo "$as_me:21500: WARNING: datarootdir was used explicitly but not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: datarootdir was used explicitly but not set:
++$ac_seen" >&2;}
++ ac_warn_datarootdir=yes
++ fi
++ done
++ fi
++
++if test "x$ac_warn_datarootdir" = xyes; then
++ ac_sed_cmds="$ac_sed_cmds | sed -e 's,@datarootdir@,\${prefix}/share,g' -e 's,\${datarootdir},\${prefix}/share,g'"
++fi
++
++EOF
+ cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+ $extrasub
+@@ -20209,11 +21525,35 @@
+ " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+- mv $tmp/out $ac_file
++ cp $tmp/out $ac_file
++
++ for ac_name in prefix exec_prefix datarootdir
++ do
++ ac_seen=`fgrep -n '${'$ac_name'[:=].*}' $ac_file`
++ if test -n "$ac_seen"; then
++ ac_init=`egrep '[ ]*'$ac_name'[ ]*=' $ac_file`
++ if test -z "$ac_init"; then
++ ac_seen=`echo "$ac_seen" |sed -e 's,^,'$ac_file':,'`
++ { echo "$as_me:21537: WARNING: Variable $ac_name is used but was not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: Variable $ac_name is used but was not set:
++$ac_seen" >&2;}
++ fi
++ fi
++ done
++ egrep -n '@[a-z_][a-z_0-9]+@' $ac_file >$tmp/out
++ egrep -n '@[A-Z_][A-Z_0-9]+@' $ac_file >>$tmp/out
++ if test -s $tmp/out; then
++ ac_seen=`sed -e 's,^,'$ac_file':,' < $tmp/out`
++ { echo "$as_me:21548: WARNING: Some variables may not be substituted:
++$ac_seen" >&5
++echo "$as_me: WARNING: Some variables may not be substituted:
++$ac_seen" >&2;}
++ fi
+ else
+ cat $tmp/out
+- rm -f $tmp/out
+ fi
++ rm -f $tmp/out
+
+ done
+ EOF
+@@ -20254,7 +21594,7 @@
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+- test x"$ac_file" != x- && { echo "$as_me:20257: creating $ac_file" >&5
++ test x"$ac_file" != x- && { echo "$as_me:21597: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+@@ -20265,7 +21605,7 @@
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:20268: error: cannot find input file: $f" >&5
++ test -f "$f" || { { echo "$as_me:21608: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+@@ -20278,7 +21618,7 @@
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+- { { echo "$as_me:20281: error: cannot find input file: $f" >&5
++ { { echo "$as_me:21621: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+@@ -20336,7 +21676,7 @@
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+- { echo "$as_me:20339: $ac_file is unchanged" >&5
++ { echo "$as_me:21679: $ac_file is unchanged" >&5
+ echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+@@ -20394,25 +21734,20 @@
+ if test ! -d $srcdir/$cf_dir; then
+ continue
+ elif test -f $srcdir/$cf_dir/programs; then
+- $AWK -f $srcdir/test/mk-test.awk INSTALL=no ECHO_LINK="$ECHO_LINK" $srcdir/$cf_dir/programs >>$cf_dir/Makefile
++ $AWK -f $srcdir/test/mk-test.awk INSTALL=no ECHO_LINK="$ECHO_LD" $srcdir/$cf_dir/programs >>$cf_dir/Makefile
+ fi
+ done
+
+ fi
+
+- case $cf_cv_system_name in #(vi
+- OS/2*|os2*) #(vi
+- LIB_PREFIX=''
+- ;;
+- *) LIB_PREFIX='lib'
+- ;;
+- esac
+ cf_prefix=$LIB_PREFIX
+
+-if test $cf_cv_shlib_version = cygdll ; then
++case $cf_cv_shlib_version in #(vi
++cygdll|mingw)
+ TINFO_NAME=$TINFO_ARG_SUFFIX
+ TINFO_SUFFIX=.dll
+-fi
++ ;;
++esac
+
+ if test -n "$TINFO_SUFFIX" ; then
+ case $TINFO_SUFFIX in
+@@ -20438,7 +21773,7 @@
+ elif test -f $srcdir/$cf_dir/modules; then
+
+ SHARED_LIB=
+- LIBS_TO_MAKE=
++ Libs_To_Make=
+ for cf_item in $cf_LIST_MODELS
+ do
+
+@@ -20461,11 +21796,11 @@
+ ;;
+ shared) #(vi
+ case $cf_cv_system_name in
+- aix[56]*) #(vi
++ aix[5-7]*) #(vi
+ cf_suffix='.a'
+ cf_depsuf=$cf_suffix
+ ;;
+- cygwin*) #(vi
++ cygwin*|mingw*) #(vi
+ cf_suffix='.dll'
+ cf_depsuf='.dll.a'
+ ;;
+@@ -20493,75 +21828,69 @@
+ test -n "$LIB_SUFFIX" && cf_suffix="${LIB_SUFFIX}${cf_suffix}"
+ test -n "$LIB_SUFFIX" && cf_depsuf="${LIB_SUFFIX}${cf_depsuf}"
+
++ cf_libname=$cf_dir
++ test "$cf_dir" = c++ && cf_libname=ncurses++
+ if test $cf_item = shared ; then
+- if test "$cf_cv_do_symlinks" = yes ; then
+- case "$cf_cv_shlib_version" in #(vi
+- rel) #(vi
+- case "$cf_cv_system_name" in #(vi
+- darwin*)
+- case .${LIB_SUFFIX} in
+- .tw*)
+- cf_suffix=`echo $cf_suffix | sed 's/^tw//'`
+- cf_suffix=tw'.${REL_VERSION}'"$cf_suffix"
+- ;;
+- .t*)
+- cf_suffix=`echo $cf_suffix | sed 's/^t//'`
+- cf_suffix=t'.${REL_VERSION}'"$cf_suffix"
+- ;;
+- .w*)
+- cf_suffix=`echo $cf_suffix | sed 's/^w//'`
+- cf_suffix=w'.${REL_VERSION}'"$cf_suffix"
++ if test -n "${LIB_SUFFIX}"
++ then
++ cf_shared_suffix=`echo "$cf_suffix" | sed 's/^'"${LIB_SUFFIX}"'//'`
++ else
++ cf_shared_suffix="$cf_suffix"
++ fi
++ if test "$cf_cv_do_symlinks" = yes ; then
++ cf_version_name=
++
++ case "$cf_cv_shlib_version" in #(vi
++ rel) #(vi
++ cf_version_name=REL_VERSION
+ ;;
+- *)
+- cf_suffix='.${REL_VERSION}'"$cf_suffix"
++ abi)
++ cf_version_name=ABI_VERSION
+ ;;
+ esac
+- ;; #(vi
+- *) cf_suffix="$cf_suffix"'.${REL_VERSION}' ;;
+- esac
++
++ if test -n "$cf_version_name"
++ then
++ case "$cf_cv_system_name" in #(vi
++ darwin*)
++ # "w", etc?
++ cf_suffix="${LIB_SUFFIX}"'.${'$cf_version_name'}'"$cf_shared_suffix"
++ ;; #(vi
++ *)
++ cf_suffix="$cf_suffix"'.${'$cf_version_name'}'
++ ;;
++ esac
++ fi
++ if test -n "${LIB_SUFFIX}"
++ then
++ cf_shared_suffix=`echo "$cf_suffix" | sed 's/^'"${LIB_SUFFIX}"'//'`
++ else
++ cf_shared_suffix="$cf_suffix"
++ fi
++ fi
++ # cygwin needs import library, and has unique naming convention
++ # use autodetected ${cf_prefix} for import lib and static lib, but
++ # use 'cyg' prefix for shared lib.
++ case $cf_cv_shlib_version in #(vi
++ cygdll) #(vi
++ cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
++ Libs_To_Make="$Libs_To_Make ../lib/cyg${cf_libname}${cf_cygsuf}"
++ continue
+ ;;
+- abi)
+- case "$cf_cv_system_name" in #(vi
+- darwin*)
+- case .${LIB_SUFFIX} in
+- .tw*)
+- cf_suffix=`echo $cf_suffix | sed 's/^tw//'`
+- cf_suffix=tw'.${ABI_VERSION}'"$cf_suffix"
+- ;;
+- .t*)
+- cf_suffix=`echo $cf_suffix | sed 's/^t//'`
+- cf_suffix=t'.${ABI_VERSION}'"$cf_suffix"
+- ;;
+- .w*)
+- cf_suffix=`echo $cf_suffix | sed 's/^w//'`
+- cf_suffix=w'.${ABI_VERSION}'"$cf_suffix"
+- ;;
+- *)
+- cf_suffix='.${ABI_VERSION}'"$cf_suffix"
+- ;;
+- esac
+- ;; #(vi
+- *) cf_suffix="$cf_suffix"'.${ABI_VERSION}' ;;
+- esac
++ mingw)
++ cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
++ Libs_To_Make="$Libs_To_Make ../lib/lib${cf_libname}${cf_cygsuf}"
++ continue
+ ;;
+ esac
+ fi
+- # cygwin needs import library, and has unique naming convention
+- # use autodetected ${cf_prefix} for import lib and static lib, but
+- # use 'cyg' prefix for shared lib.
+- if test $cf_cv_shlib_version = cygdll ; then
+- cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
+- LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/cyg${cf_dir}${cf_cygsuf}"
+- continue
+- fi
+- fi
+- LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}"
++ Libs_To_Make="$Libs_To_Make ../lib/${cf_prefix}${cf_libname}${cf_suffix}"
+ done
+
+ if test $cf_dir = ncurses ; then
+ cf_subsets="$LIB_SUBSETS"
+ cf_r_parts="$cf_subsets"
+- cf_liblist="$LIBS_TO_MAKE"
++ cf_liblist="$Libs_To_Make"
+
+ while test -n "$cf_r_parts"
+ do
+@@ -20581,7 +21910,7 @@
+ ;;
+ esac
+ if test -n "$cf_item"; then
+- LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
++ Libs_To_Make="$cf_item $Libs_To_Make"
+ fi
+ else
+ break
+@@ -20591,13 +21920,40 @@
+ cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
+ fi
+
+- sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \
++ if test $cf_dir = c++; then
++ if test "x$with_shared_cxx" != xyes && test -n "$cf_shared_suffix"; then
++ cf_list=
++ for cf_item in $Libs_To_Make
++ do
++ case $cf_item in
++ *.a)
++ ;;
++ *)
++ cf_item=`echo "$cf_item" | sed -e "s,"$cf_shared_suffix",.a,"`
++ ;;
++ esac
++ for cf_test in $cf_list
++ do
++ if test "$cf_test" = "$cf_item"
++ then
++ cf_LIST_MODELS=`echo "$cf_LIST_MODELS" | sed -e 's/normal//'`
++ cf_item=
++ break
++ fi
++ done
++ test -n "$cf_item" && cf_list="$cf_list $cf_item"
++ done
++ Libs_To_Make="$cf_list"
++ fi
++ fi
++
++ sed -e "s%@Libs_To_Make@%$Libs_To_Make%" \
+ -e "s%@SHARED_LIB@%$SHARED_LIB%" \
+ $cf_dir/Makefile >$cf_dir/Makefile.out
+ mv $cf_dir/Makefile.out $cf_dir/Makefile
+
+ $AWK -f $srcdir/mk-0th.awk \
+- libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \
++ libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" ticlib="$TICS_LIB_SUFFIX" termlib="$TINFO_LIB_SUFFIX" \
+ $srcdir/$cf_dir/modules >>$cf_dir/Makefile
+
+ for cf_subset in $cf_subsets
+@@ -20605,10 +21961,27 @@
+ cf_subdirs=
+ for cf_item in $cf_LIST_MODELS
+ do
++
+ echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
+
+ cf_ITEM=`echo "$cf_item" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
++ CXX_MODEL=$cf_ITEM
++ if test "$CXX_MODEL" = SHARED; then
++ case $cf_cv_shlib_version in #(vi
++ cygdll|mingw) #(vi
++ test "x$with_shared_cxx" = xno && test -n "$verbose" && echo " overriding CXX_MODEL to SHARED" 1>&6
++
++echo "${as_me:-configure}:21975: testing overriding CXX_MODEL to SHARED ..." 1>&5
++
++ with_shared_cxx=yes
++ ;;
++ *)
++ test "x$with_shared_cxx" = xno && CXX_MODEL=NORMAL
++ ;;
++ esac
++ fi
++
+ case $cf_item in #(vi
+ libtool) #(vi
+ cf_suffix='.la'
+@@ -20628,11 +22001,11 @@
+ ;;
+ shared) #(vi
+ case $cf_cv_system_name in
+- aix[56]*) #(vi
++ aix[5-7]*) #(vi
+ cf_suffix='.a'
+ cf_depsuf=$cf_suffix
+ ;;
+- cygwin*) #(vi
++ cygwin*|mingw*) #(vi
+ cf_suffix='.dll'
+ cf_depsuf='.dll.a'
+ ;;
+@@ -20688,6 +22061,8 @@
+ cf_libname=$TICS_LIB_SUFFIX
+ ;;
+ esac
++ elif test $cf_dir = c++ ; then
++ cf_libname=ncurses++$LIB_SUFFIX
+ else
+ cf_libname=${cf_libname}$LIB_SUFFIX
+ fi
+@@ -20739,10 +22114,12 @@
+ name=${cf_libname}${cf_dir_suffix} \
+ traces=$LIB_TRACING \
+ MODEL=$cf_ITEM \
++ CXX_MODEL=$CXX_MODEL \
+ model=$cf_subdir \
+ prefix=$cf_prefix \
+ suffix=$cf_suffix \
+ subset=$cf_subset \
++ driver=$cf_cv_term_driver \
+ SymLink="$LN_S" \
+ TermlibRoot=$TINFO_NAME \
+ TermlibSuffix=$TINFO_SUFFIX \
+@@ -20781,7 +22158,7 @@
+ done
+ fi
+
+- echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} $@' >>Makefile
++ echo ' cd '$cf_dir' && ${MAKE} ${TOP_MFLAGS} $@' >>Makefile
+ done
+
+ for cf_dir in $SRC_SUBDIRS
+@@ -20796,7 +22173,7 @@
+ echo 'libs \' >> Makefile
+ echo 'install.libs \' >> Makefile
+ echo 'uninstall.libs ::' >> Makefile
+- echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} $@' >> Makefile
++ echo ' cd '$cf_dir' && ${MAKE} ${TOP_MFLAGS} $@' >> Makefile
+ ;;
+ esac
+ fi
+@@ -20819,7 +22196,7 @@
+ uninstall.libs \\
+ install.$cf_dir \\
+ uninstall.$cf_dir ::
+- cd $cf_dir && \${MAKE} \${CF_MFLAGS} \$@
++ cd $cf_dir && \${MAKE} \${TOP_MFLAGS} \$@
+ CF_EOF
+ elif test -f $srcdir/$cf_dir/headers; then
+ cat >> Makefile <<CF_EOF
+@@ -20829,7 +22206,7 @@
+ uninstall.libs \\
+ install.includes \\
+ uninstall.includes ::
+- cd $cf_dir && \${MAKE} \${CF_MFLAGS} \$@
++ cd $cf_dir && \${MAKE} \${TOP_MFLAGS} \$@
+ CF_EOF
+ fi
+ done
+@@ -20838,7 +22215,7 @@
+
+ install.libs uninstall.libs \\
+ install.data uninstall.data ::
+-$MAKE_TERMINFO cd misc && \${MAKE} \${CF_MFLAGS} \$@
++$MAKE_TERMINFO cd misc && \${MAKE} \${TOP_MFLAGS} \$@
+ CF_EOF
+
+ if test "x$cf_with_manpages" = xyes; then
+@@ -20846,7 +22223,7 @@
+
+ install.man \\
+ uninstall.man ::
+- cd man && \${MAKE} \${CF_MFLAGS} \$@
++ cd man && \${MAKE} \${TOP_MFLAGS} \$@
+ CF_EOF
+ fi
+
+@@ -20867,7 +22244,7 @@
+
+ install.man \\
+ uninstall.man ::
+- cd tack && \${MAKE} \${CF_MFLAGS} \$@
++ cd tack && \${MAKE} \${TOP_MFLAGS} \$@
+ CF_EOF
+ fi
+ fi
+@@ -20979,7 +22356,7 @@
+ fi
+ done
+
+-if test "x$cf_with_ada" != xno ; then
++if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
+ if test -z "$USE_OLD_MAKERULES" ; then
+ $AWK -f $srcdir/Ada95/mk-1st.awk <$srcdir/Ada95/src/modules >>Ada95/src/Makefile
+ fi
+Index: configure.in
+Prereq: 1.520
+--- ncurses-5.9/configure.in 2011-03-28 00:22:26.000000000 +0000
++++ ncurses-5.9-20130504/configure.in 2013-04-27 19:37:40.000000000 +0000
+@@ -1,5 +1,5 @@
+ dnl***************************************************************************
+-dnl Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++dnl Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ dnl *
+ dnl Permission is hereby granted, free of charge, to any person obtaining a *
+ dnl copy of this software and associated documentation files (the *
+@@ -28,14 +28,14 @@
+ dnl
+ dnl Author: Thomas E. Dickey 1995-on
+ dnl
+-dnl $Id: configure.in,v 1.520 2011/03/28 00:22:26 tom Exp $
++dnl $Id: configure.in,v 1.565 2013/04/27 19:37:40 tom Exp $
+ dnl Process this file with autoconf to produce a configure script.
+ dnl
+ dnl See http://invisible-island.net/autoconf/ for additional information.
+ dnl
+ dnl ---------------------------------------------------------------------------
+-AC_PREREQ(2.13.20020210)
+-AC_REVISION($Revision: 1.520 $)
++AC_PREREQ(2.52.20030208)
++AC_REVISION($Revision: 1.565 $)
+ AC_INIT(ncurses/base/lib_initscr.c)
+ AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
+
+@@ -45,11 +45,7 @@
+ CF_WITH_REL_VERSION(NCURSES)
+ CF_WITH_ABI_VERSION
+
+-CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
+-AC_ARG_WITH(system-type,
+-[ --with-system-type=XXX test: override derived host system-type],
+-[AC_MSG_WARN(overriding system type to $withval)
+- cf_cv_system_name=$withval])
++CF_WITH_SYSTYPE
+
+ ### Save the given $CFLAGS to allow user-override.
+ cf_user_CFLAGS="$CFLAGS"
+@@ -58,15 +54,22 @@
+ CF_CFG_DEFAULTS
+
+ ### Checks for programs.
+-AC_PROG_CC
+-CF_GCC_VERSION
++AC_ARG_WITH(ada,
++ [ --without-ada suppress check for Ada95, don't build demo],
++ [cf_with_ada=$withval],
++ [cf_with_ada=yes])
++if test "x$cf_with_ada" = xyes
++then
++ cf_PROG_CC="gnatgcc gcc cc"
++else
++ cf_PROG_CC="gcc cc"
++fi
++
++CF_PROG_CC($cf_PROG_CC)
+
+ AC_PROG_CPP
+ AC_PROG_GCC_TRADITIONAL
+ CF_PROG_CC_C_O(CC)
+-AC_ISC_POSIX
+-CF_ANSI_CC_REQD
+-CF_PROG_EXT
+ CF_PROG_LDCONFIG
+
+ dnl DEFECT in autoconf 2.12: an attempt to set policy, this breaks the
+@@ -89,14 +92,16 @@
+ cf_with_cxx=no; CXX=""; GXX="";])dnl
+ AC_PROG_CXX
+ popdef([AC_MSG_ERROR])dnl
+- # autoconf 2.5x removed the error - by hardcoding it to g++.
++ # autoconf 2.5x removed the error (hardcoding it to g++, or just blank)
+ if test "$CXX" = "g++" ; then
+ AC_PATH_PROG(CXX,g++)
+ fi
+- if test "$CXX" = "g++" ; then
+- AC_MSG_WARN(ignoring hardcoded g++)
++ case "x$CXX" in #(vi
++ x|xg++)
++ AC_MSG_WARN([You don't have any C++ compiler, too bad])
+ cf_with_cxx=no; CXX=""; GXX="";
+- fi
++ ;;
++ esac
+ fi
+
+ CF_GXX_VERSION
+@@ -116,10 +121,6 @@
+ AC_MSG_RESULT($cf_with_cxx_binding)
+
+ AC_MSG_CHECKING(if you want to build with Ada95)
+-AC_ARG_WITH(ada,
+- [ --without-ada suppress check for Ada95, don't build demo],
+- [cf_with_ada=$withval],
+- [cf_with_ada=yes])
+ AC_MSG_RESULT($cf_with_ada)
+
+ AC_MSG_CHECKING(if you want to install manpages)
+@@ -168,28 +169,8 @@
+
+ # if we find pkg-config, check if we should install the ".pc" files.
+ CF_PKG_CONFIG
+-
+-if test "$PKG_CONFIG" != no ; then
+- AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
+-
+- # Leave this as something that can be overridden in the environment.
+- if test -z "$PKG_CONFIG_LIBDIR" ; then
+- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`/lib/pkgconfig
+- fi
+- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'`
+- if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then
+- AC_ARG_ENABLE(pc-files,
+- [ --enable-pc-files generate and install .pc files for pkg-config],
+- [enable_pc_files=$enableval],
+- [enable_pc_files=no])
+- AC_MSG_RESULT($enable_pc_files)
+- else
+- AC_MSG_RESULT(no)
+- AC_MSG_WARN(did not find library $PKG_CONFIG_LIBDIR)
+- enable_pc_files=no
+- fi
+-fi
+-AC_SUBST(PKG_CONFIG_LIBDIR)
++CF_WITH_PKG_CONFIG_LIBDIR
++CF_ENABLE_PC_FILES
+
+ AC_MSG_CHECKING(if we should assume mixed-case filenames)
+ AC_ARG_ENABLE(mixed-case,
+@@ -201,8 +182,8 @@
+ CF_MIXEDCASE_FILENAMES
+ else
+ cf_cv_mixedcase=$enable_mixedcase
+- if test "$enable_mixedcase" = "yes" ; then
+- AC_DEFINE(MIXEDCASE_FILENAMES)
++ if test "x$enable_mixedcase" = "xyes" ; then
++ AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if tic should assume mixed-case filenames])
+ fi
+ fi
+
+@@ -223,8 +204,8 @@
+ AC_MSG_CHECKING(if you have specified an install-prefix)
+ AC_ARG_WITH(install-prefix,
+ [ --with-install-prefix prefixes actual install-location ($DESTDIR)],
+- [case "$withval" in #(vi
+- yes|no) #(vi
++ [case "x$withval" in #(vi
++ xyes|xno) #(vi
+ ;;
+ *) DESTDIR="$withval"
+ ;;
+@@ -261,7 +242,7 @@
+ [with_shared=$withval],
+ [with_shared=no])
+ AC_MSG_RESULT($with_shared)
+-test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared"
++test "x$with_shared" = "xyes" && cf_list_models="$cf_list_models shared"
+
+ AC_MSG_CHECKING(if you want to build static libraries)
+ AC_ARG_WITH(normal,
+@@ -269,7 +250,7 @@
+ [with_normal=$withval],
+ [with_normal=yes])
+ AC_MSG_RESULT($with_normal)
+-test "$with_normal" = "yes" && cf_list_models="$cf_list_models normal"
++test "x$with_normal" = "xyes" && cf_list_models="$cf_list_models normal"
+
+ AC_MSG_CHECKING(if you want to build debug libraries)
+ AC_ARG_WITH(debug,
+@@ -277,7 +258,7 @@
+ [with_debug=$withval],
+ [with_debug=yes])
+ AC_MSG_RESULT($with_debug)
+-test "$with_debug" = "yes" && cf_list_models="$cf_list_models debug"
++test "x$with_debug" = "xyes" && cf_list_models="$cf_list_models debug"
+
+ AC_MSG_CHECKING(if you want to build profiling libraries)
+ AC_ARG_WITH(profile,
+@@ -285,10 +266,21 @@
+ [with_profile=$withval],
+ [with_profile=no])
+ AC_MSG_RESULT($with_profile)
+-test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
++test "x$with_profile" = "xyes" && cf_list_models="$cf_list_models profile"
+
+ fi
+
++if test "X$cf_with_cxx_binding" != Xno; then
++if test "x$with_shared" = "xyes"; then
++AC_MSG_CHECKING(if you want to build C++ shared libraries)
++AC_ARG_WITH(cxx-shared,
++ [ --with-cxx-shared generate C++ shared-libraries],
++ [with_shared_cxx=$withval],
++ [with_shared_cxx=no])
++AC_MSG_RESULT($with_shared_cxx)
++fi
++fi
++
+ ###############################################################################
+
+ AC_MSG_CHECKING(for specified models)
+@@ -321,12 +313,11 @@
+ LIB_DIR=../lib
+ LIB_2ND=../../lib
+
+-CF_LIB_PREFIX(cf_prefix)
+-LIB_PREFIX=$cf_prefix
+-AC_SUBST(LIB_PREFIX)
++CF_WITH_LIB_PREFIX(cf_prefix)
+
+ LIB_SUFFIX=
+ AC_SUBST(LIB_SUFFIX)
++CF_PATHSEP
+
+ ###############################################################################
+
+@@ -354,21 +345,21 @@
+ [with_dlsym=$withval],
+ [with_dlsym=yes])
+ AC_MSG_RESULT($with_dlsym)
+- if test "$with_dlsym" = yes ; then
++ if test "x$with_dlsym" = xyes ; then
+ CF_FUNC_DLSYM
+- if test "$with_gpm" != yes ; then
++ if test "x$with_gpm" != xyes ; then
+ CF_VERBOSE(assuming soname for gpm is $with_gpm)
+ cf_cv_gpm_soname="$with_gpm"
+ else
+ CF_LIB_SONAME([#include <gpm.h>],[if (Gpm_Open(0,0)) Gpm_Close();],gpm)
+ fi
+- test "$cf_cv_gpm_soname" != "unknown" && AC_DEFINE_UNQUOTED(LIBGPM_SONAME,"$cf_cv_gpm_soname")
++ test "$cf_cv_gpm_soname" != "unknown" && AC_DEFINE_UNQUOTED(LIBGPM_SONAME,"$cf_cv_gpm_soname",[Define as needed to set the gpm share library soname])
+ SHLIB_LIST="-ldl $SHLIB_LIST"
+ else
+ SHLIB_LIST="-lgpm $SHLIB_LIST"
+ CF_ADD_LIB(gpm,TEST_LIBS)
+ fi
+- AC_DEFINE(HAVE_LIBGPM)
++ AC_DEFINE(HAVE_LIBGPM,1,[Define to 1 if we have the gpm library])
+ CF_CHECK_GPM_WGETCH
+ fi
+
+@@ -378,13 +369,13 @@
+
+ if test X"$CC_G_OPT" = X"" ; then
+ CC_G_OPT='-g'
+- test -n "$GCC" && test "${ac_cv_prog_cc_g}" != yes && CC_G_OPT=''
++ test -n "$GCC" && test "x${ac_cv_prog_cc_g}" != xyes && CC_G_OPT=''
+ fi
+ AC_SUBST(CC_G_OPT)
+
+ if test X"$CXX_G_OPT" = X"" ; then
+ CXX_G_OPT='-g'
+- test -n "$GXX" && test "${ac_cv_prog_cxx_g}" != yes && CXX_G_OPT=''
++ test -n "$GXX" && test "x${ac_cv_prog_cxx_g}" != xyes && CXX_G_OPT=''
+ fi
+ AC_SUBST(CXX_G_OPT)
+
+@@ -453,9 +444,8 @@
+ esac
+ AC_SUBST(TERMINFO_SRC)
+
+-CF_PATHSEP
+ if test "$use_database" != no ; then
+- AC_DEFINE(USE_DATABASE)
++ AC_DEFINE(USE_DATABASE,1,[Define to 1 if we should use the terminal database])
+
+ AC_MSG_CHECKING(which terminfo source-file will be installed)
+ AC_ARG_WITH(database,
+@@ -494,6 +484,26 @@
+ WHICH_XTERM=$with_xterm_new
+ AC_SUBST(WHICH_XTERM)
+
++AC_MSG_CHECKING(if xterm backspace sends BS or DEL)
++AC_ARG_WITH(xterm-kbs,
++ [ --with-xterm-kbs=XXX specify if xterm backspace sends BS or DEL],
++ [with_xterm_kbs=$withval],
++ [with_xterm_kbs=BS])
++case x$with_xterm_kbs in
++xyes|xno|xBS|xbs|x8)
++ with_xterm_kbs=BS
++ ;;
++xDEL|xdel|x127)
++ with_xterm_kbs=DEL
++ ;;
++*)
++ with_xterm_kbs=$withval
++ ;;
++esac
++AC_MSG_RESULT($with_xterm_kbs)
++XTERM_KBS=$with_xterm_kbs
++AC_SUBST(XTERM_KBS)
++
+ MAKE_TERMINFO=
+ if test "$use_database" = no ; then
+ TERMINFO="${datadir}/terminfo"
+@@ -507,7 +517,7 @@
+ DATADIR/terminfo,
+ ${datadir}/terminfo)
+ AC_MSG_RESULT($TERMINFO_DIRS)
+-test -n "$TERMINFO_DIRS" && AC_DEFINE_UNQUOTED(TERMINFO_DIRS,"$TERMINFO_DIRS")
++test -n "$TERMINFO_DIRS" && AC_DEFINE_UNQUOTED(TERMINFO_DIRS,"$TERMINFO_DIRS",[Define as needed to predefine the TERMINFO_DIR searchlist])
+
+ AC_MSG_CHECKING(for default terminfo directory)
+ CF_WITH_PATH(default-terminfo-dir,
+@@ -516,7 +526,7 @@
+ DATADIR/terminfo,
+ ${datadir}/terminfo)
+ AC_MSG_RESULT($TERMINFO)
+-AC_DEFINE_UNQUOTED(TERMINFO,"$TERMINFO")
++AC_DEFINE_UNQUOTED(TERMINFO,"$TERMINFO",[Define to set the default terminal database path])
+
+ fi
+
+@@ -543,7 +553,7 @@
+ [with_big_core=no],
+ [with_big_core=no])])
+ AC_MSG_RESULT($with_big_core)
+-test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
++test "x$with_big_core" = "xyes" && AC_DEFINE(HAVE_BIG_CORE,1,[Define to 1 if machine has ample memory for tic])
+
+ ### ISO C only guarantees 512-char strings, we have tables which load faster
+ ### when constructed using "big" strings. More than the C compiler, the awk
+@@ -556,7 +566,7 @@
+ AC_MSG_RESULT($with_big_strings)
+
+ USE_BIG_STRINGS=0
+-test "$with_big_strings" = "yes" && USE_BIG_STRINGS=1
++test "x$with_big_strings" = "xyes" && USE_BIG_STRINGS=1
+ AC_SUBST(USE_BIG_STRINGS)
+
+ ### use option --enable-termcap to compile in the termcap fallback support
+@@ -567,27 +577,27 @@
+ [with_termcap=no])
+ AC_MSG_RESULT($with_termcap)
+
+-if test "$with_termcap" != "yes" ; then
++if test "x$with_termcap" != "xyes" ; then
+ if test "$use_database" = no ; then
+ if test -z "$with_fallback" ; then
+ AC_ERROR(You have disabled the database w/o specifying fallbacks)
+ fi
+ fi
+- AC_DEFINE(PURE_TERMINFO)
++ AC_DEFINE(PURE_TERMINFO,1,[Define to 1 if we should support only terminfo])
+ else
+
+ if test "$with_ticlib" != no ; then
+ AC_ERROR(Options --with-ticlib and --enable-termcap cannot be combined)
+ fi
+
+-AC_DEFINE(USE_TERMCAP)
++AC_DEFINE(USE_TERMCAP,1,[Define to 1 if we should support termcap])
+ AC_MSG_CHECKING(for list of termcap files)
+ CF_WITH_PATHLIST(termpath,
+ [ --with-termpath=XXX specify list of termcap files],
+ TERMPATH,
+ /etc/termcap:/usr/share/misc/termcap)
+ AC_MSG_RESULT($TERMPATH)
+-test -n "$TERMPATH" && AC_DEFINE_UNQUOTED(TERMPATH,"$TERMPATH")
++test -n "$TERMPATH" && AC_DEFINE_UNQUOTED(TERMPATH,"$TERMPATH",[Define to set the termcap searchlist])
+
+ ### use option --enable-getcap to use a hacked getcap for reading termcaps
+ AC_MSG_CHECKING(if fast termcap-loader is needed)
+@@ -596,7 +606,7 @@
+ [with_getcap=$enableval],
+ [with_getcap=no])
+ AC_MSG_RESULT($with_getcap)
+-test "$with_getcap" = "yes" && AC_DEFINE(USE_GETCAP)
++test "x$with_getcap" = "xyes" && AC_DEFINE(USE_GETCAP,1,[Define to 1 to use fast termcap-loader])
+
+ AC_MSG_CHECKING(if translated termcaps will be cached in ~/.terminfo)
+ AC_ARG_ENABLE(getcap-cache,
+@@ -604,7 +614,7 @@
+ [with_getcap_cache=$enableval],
+ [with_getcap_cache=no])
+ AC_MSG_RESULT($with_getcap_cache)
+-test "$with_getcap_cache" = "yes" && AC_DEFINE(USE_GETCAP_CACHE)
++test "x$with_getcap_cache" = "xyes" && AC_DEFINE(USE_GETCAP_CACHE,1,[Define to 1 if translated termcap should be stored in $HOME/.terminfo])
+
+ fi
+
+@@ -615,7 +625,7 @@
+ [with_home_terminfo=$enableval],
+ [with_home_terminfo=yes])
+ AC_MSG_RESULT($with_home_terminfo)
+-test "$with_home_terminfo" = "yes" && AC_DEFINE(USE_HOME_TERMINFO)
++test "x$with_home_terminfo" = "xyes" && AC_DEFINE(USE_HOME_TERMINFO,1,[Define to 1 if $HOME/.terminfo feature is wanted])
+
+ AC_MSG_CHECKING(if you want to use restricted environment when running as root)
+ AC_ARG_ENABLE(root-environ,
+@@ -623,7 +633,7 @@
+ [with_root_environ=$enableval],
+ [with_root_environ=yes])
+ AC_MSG_RESULT($with_root_environ)
+-test "$with_root_environ" = yes && AC_DEFINE(USE_ROOT_ENVIRON)
++test "x$with_root_environ" = xyes && AC_DEFINE(USE_ROOT_ENVIRON,1,[Define to 1 if environment should be restricted for root user])
+
+ ### Use option --enable-symlinks to make tic use symlinks, not hard links
+ ### to reduce storage requirements for the terminfo database.
+@@ -634,7 +644,7 @@
+
+ # soft links (symbolic links) are useful for some systems where hard links do
+ # not work, or to make it simpler to copy terminfo trees around.
+-if test "$ac_cv_func_symlink" = yes ; then
++if test "x$ac_cv_func_symlink" = xyes ; then
+ AC_MSG_CHECKING(if tic should use symbolic links)
+ AC_ARG_ENABLE(symlinks,
+ [ --enable-symlinks make tic use symbolic links not hard links],
+@@ -647,7 +657,7 @@
+ # no reason to make this choice optional - use the hard links.
+ if test "$with_symlinks" = no ; then
+ AC_MSG_CHECKING(if tic should use hard links)
+- if test "$ac_cv_func_link" = yes ; then
++ if test "x$ac_cv_func_link" = xyes ; then
+ with_links=yes
+ else
+ with_links=no
+@@ -655,8 +665,8 @@
+ AC_MSG_RESULT($with_links)
+ fi
+
+-test "$with_links" = yes && AC_DEFINE(USE_LINKS)
+-test "$with_symlinks" = yes && AC_DEFINE(USE_SYMLINKS)
++test "x$with_links" = xyes && AC_DEFINE(USE_LINKS,1,[Define to 1 if hardlinks should be used in terminfo database])
++test "x$with_symlinks" = xyes && AC_DEFINE(USE_SYMLINKS,1,[Define to 1 if symbolic links should be used in terminfo database])
+
+ ### use option --enable-broken-linker to force on use of broken-linker support
+ AC_MSG_CHECKING(if you want broken-linker support code)
+@@ -667,13 +677,13 @@
+ AC_MSG_RESULT($with_broken_linker)
+
+ BROKEN_LINKER=0
+-if test "$with_broken_linker" = yes ; then
+- AC_DEFINE(BROKEN_LINKER)
++if test "x$with_broken_linker" = xyes ; then
++ AC_DEFINE(BROKEN_LINKER,1,[Define to 1 to work around linkers which cannot link data-only modules])
+ BROKEN_LINKER=1
+ elif test "$DFT_LWR_MODEL" = shared ; then
+ case $cf_cv_system_name in #(vi
+ cygwin*)
+- AC_DEFINE(BROKEN_LINKER)
++ AC_DEFINE(BROKEN_LINKER,1,[Define to 1 to work around linkers which cannot link data-only modules])
+ BROKEN_LINKER=1
+ CF_VERBOSE(cygwin linker is broken anyway)
+ ;;
+@@ -688,7 +698,7 @@
+ [with_bsdpad=$enableval],
+ [with_bsdpad=no])
+ AC_MSG_RESULT($with_bsdpad)
+-test "$with_bsdpad" = yes && AC_DEFINE(BSD_TPUTS)
++test "x$with_bsdpad" = xyes && AC_DEFINE(BSD_TPUTS,1,[Define to 1 to recognize BSD-style prefix padding])
+
+ ### use option --enable-widec to turn on use of wide-character support
+ NCURSES_CH_T=chtype
+@@ -718,22 +728,17 @@
+ [with_widec=$enableval],
+ [with_widec=no])
+ AC_MSG_RESULT($with_widec)
+-if test "$with_widec" = yes ; then
++if test "x$with_widec" = xyes ; then
+ LIB_SUFFIX="w${LIB_SUFFIX}"
+- AC_DEFINE(USE_WIDEC_SUPPORT)
++ AC_DEFINE(USE_WIDEC_SUPPORT,1,[Define to 1 to compile with wide-char/UTF-8 code])
++ AC_DEFINE(NCURSES_WIDECHAR,1,[Define to 1 to compile with wide-char/UTF-8 code])
+
+- case "$CFLAGS $CPPFLAGS" in #(vi
+- *-D_XOPEN_SOURCE=500) #(vi
+- ;;
+- *)
+- CF_PREDEFINE(_XOPEN_SOURCE_EXTENDED)
+- ;;
+- esac
++ CF_CHECK_WCHAR_H
+
+ # with_overwrite=no
+ NCURSES_CH_T=cchar_t
+ AC_CHECK_FUNCS(putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc wcsrtombs mbsrtowcs wcstombs mbstowcs)
+- if test "$ac_cv_func_putwc" != yes ; then
++ if test "x$ac_cv_func_putwc" != xyes ; then
+ CF_UTF8_LIB
+ if test "$cf_cv_utf8_lib" != no ; then
+ NCURSES_LIBUTF8=1
+@@ -744,7 +749,7 @@
+ CF_WCHAR_TYPE(wint_t, NCURSES_WINT_T, NCURSES_OK_WINT_T)
+
+ if test "$NCURSES_MBSTATE_T" != 0; then
+- AC_DEFINE(NEED_MBSTATE_T_DEF)
++ AC_DEFINE(NEED_MBSTATE_T_DEF,1,[Define to 1 if we must declare mbstate_t])
+ fi
+ fi
+ AC_SUBST(NCURSES_CH_T)
+@@ -775,7 +780,7 @@
+ [with_lp64=$default_with_lp64])
+ AC_MSG_RESULT($with_lp64)
+
+-if test "$with_lp64" = yes ; then
++if test "x$with_lp64" = xyes ; then
+ cf_cv_enable_lp64=1
+ else
+ cf_cv_enable_lp64=0
+@@ -792,7 +797,7 @@
+ [with_tparm_varargs=yes])
+ AC_MSG_RESULT($with_tparm_varargs)
+ NCURSES_TPARM_VARARGS=0
+-test "$with_tparm_varargs" = yes && NCURSES_TPARM_VARARGS=1
++test "x$with_tparm_varargs" = xyes && NCURSES_TPARM_VARARGS=1
+ AC_SUBST(NCURSES_TPARM_VARARGS)
+
+ ### use option --disable-tic-depends to make libtic not explicitly depend on ncurses/ncursesw
+@@ -859,6 +864,15 @@
+ AC_MSG_RESULT($NCURSES_CCHARW_MAX)
+ AC_SUBST(NCURSES_CCHARW_MAX)
+
++### use option --with-tparm-arg to override tparm's argument type
++AC_MSG_CHECKING(for type of tparm args)
++AC_ARG_WITH(tparm-arg,
++ [ --with-tparm-arg=TYPE override parameter type of tparm],
++ [NCURSES_TPARM_ARG="$withval"],
++ [NCURSES_TPARM_ARG=long])
++AC_MSG_RESULT($NCURSES_TPARM_ARG)
++AC_SUBST(NCURSES_TPARM_ARG)
++
+ ### Enable compiling-in rcs id's
+ AC_MSG_CHECKING(if RCS identifiers should be compiled-in)
+ AC_ARG_WITH(rcs-ids,
+@@ -866,7 +880,7 @@
+ [with_rcs_ids=$withval],
+ [with_rcs_ids=no])
+ AC_MSG_RESULT($with_rcs_ids)
+-test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
++test "x$with_rcs_ids" = xyes && AC_DEFINE(USE_RCS_IDS,1,[Define to 1 to compile-in RCS identifiers])
+
+ ###############################################################################
+ CF_MAN_PAGES([ captoinfo clear infocmp infotocap tabs tic toe tput tset ])
+@@ -881,16 +895,19 @@
+ [with_ext_funcs=$enableval],
+ [with_ext_funcs=yes])
+ AC_MSG_RESULT($with_ext_funcs)
+-if test "$with_ext_funcs" = yes ; then
++if test "x$with_ext_funcs" = xyes ; then
+ NCURSES_EXT_FUNCS=1
+- AC_DEFINE(HAVE_CURSES_VERSION)
+- AC_DEFINE(HAVE_HAS_KEY)
+- AC_DEFINE(HAVE_RESIZETERM)
+- AC_DEFINE(HAVE_RESIZE_TERM)
+- AC_DEFINE(HAVE_TERM_ENTRY_H)
+- AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
+- AC_DEFINE(HAVE_WRESIZE)
+- AC_DEFINE(NCURSES_EXT_FUNCS)
++ AC_DEFINE(HAVE_ASSUME_DEFAULT_COLORS,1,[Define to 1 to enable assume_default_colors() function])
++ AC_DEFINE(HAVE_CURSES_VERSION,1,[Define to 1 to enable curses_version() function])
++ AC_DEFINE(HAVE_HAS_KEY,1,[Define to 1 to enable has_key() function])
++ AC_DEFINE(HAVE_RESIZETERM,1,[Define to 1 to enable resizeterm() function])
++ AC_DEFINE(HAVE_RESIZE_TERM,1,[Define to 1 to enable resize_term() function])
++ AC_DEFINE(HAVE_TERM_ENTRY_H,1,[Define to 1 to enable term_entry() function])
++ AC_DEFINE(HAVE_USE_DEFAULT_COLORS,1,[Define to 1 to enable use_default_colors() function])
++ AC_DEFINE(HAVE_USE_SCREEN,1,[Define to 1 to enable use_screen() function])
++ AC_DEFINE(HAVE_USE_WINDOW,1,[Define to 1 to enable use_window() function])
++ AC_DEFINE(HAVE_WRESIZE,1,[Define to 1 to enable wresize() function])
++ AC_DEFINE(NCURSES_EXT_FUNCS,1,[Define to 1 to enable ncurses extended functions])
+ GENERATED_EXT_FUNCS=generated
+ else
+ NCURSES_EXT_FUNCS=0
+@@ -905,9 +922,9 @@
+ [with_sp_funcs=$enableval],
+ [with_sp_funcs=no])
+ AC_MSG_RESULT($with_sp_funcs)
+-if test "$with_sp_funcs" = yes ; then
++if test "x$with_sp_funcs" = xyes ; then
+ NCURSES_SP_FUNCS=1
+- AC_DEFINE(NCURSES_SP_FUNCS)
++ AC_DEFINE(NCURSES_SP_FUNCS,1,[Define to 1 to enable experimental SCREEN-extensions])
+ GENERATED_SP_FUNCS=generated
+ else
+ NCURSES_SP_FUNCS=0
+@@ -922,9 +939,9 @@
+ [with_term_driver=$enableval],
+ [with_term_driver=no])
+ AC_MSG_RESULT($with_term_driver)
+-if test "$with_term_driver" = yes ; then
+- AC_DEFINE(USE_TERM_DRIVER)
+- if test "$with_sp_funcs" != yes ; then
++if test "x$with_term_driver" = xyes ; then
++ AC_DEFINE(USE_TERM_DRIVER,1,[Define to 1 to enable experimental terminal-driver])
++ if test "x$with_sp_funcs" != xyes ; then
+ AC_MSG_ERROR(The term-driver option relies upon sp-funcs)
+ fi
+ fi
+@@ -937,7 +954,7 @@
+ [with_ext_const=no])
+ AC_MSG_RESULT($with_ext_const)
+ NCURSES_CONST='/*nothing*/'
+-if test "$with_ext_const" = yes ; then
++if test "x$with_ext_const" = xyes ; then
+ NCURSES_CONST=const
+ fi
+ AC_SUBST(NCURSES_CONST)
+@@ -950,15 +967,15 @@
+ [with_ext_colors=no])
+ AC_MSG_RESULT($with_ext_colors)
+ NCURSES_EXT_COLORS=0
+-if test "$with_ext_colors" = yes ; then
+- if test "$with_widec" != yes ; then
++if test "x$with_ext_colors" = xyes ; then
++ if test "x$with_widec" != xyes ; then
+ AC_MSG_ERROR(This option applies only to wide-character library)
+ else
+ # cannot be ABI 5 since it changes sizeof(cchar_t)
+ CF_NCURSES_ABI_6
+ fi
+ NCURSES_EXT_COLORS=1
+- AC_DEFINE(NCURSES_EXT_COLORS)
++ AC_DEFINE(NCURSES_EXT_COLORS,1,[Define to 1 to compile for 256-color support])
+ fi
+ AC_SUBST(NCURSES_EXT_COLORS)
+
+@@ -970,7 +987,7 @@
+ [with_ext_mouse=no])
+ AC_MSG_RESULT($with_ext_mouse)
+ NCURSES_MOUSE_VERSION=1
+-if test "$with_ext_mouse" = yes ; then
++if test "x$with_ext_mouse" = xyes ; then
+ NCURSES_MOUSE_VERSION=2
+ CF_NCURSES_ABI_6
+ fi
+@@ -982,7 +999,7 @@
+ [with_no_padding=$enableval],
+ [with_no_padding=$with_ext_funcs])
+ AC_MSG_RESULT($with_no_padding)
+-test "$with_no_padding" = yes && AC_DEFINE(NCURSES_NO_PADDING)
++test "x$with_no_padding" = xyes && AC_DEFINE(NCURSES_NO_PADDING,1,[Define to 1 to compile with $NCURSES_NO_PADDING code])
+
+ AC_CHECK_SIZEOF([signed char], 0)
+ if test "$ac_cv_sizeof_signed_char" = 1 ; then
+@@ -996,7 +1013,7 @@
+ [with_signed_char=$enableval],
+ [with_signed_char=no])
+ AC_MSG_RESULT($with_signed_char)
+-test "$with_signed_char" != yes && NCURSES_SBOOL="char"
++test "x$with_signed_char" != xyes && NCURSES_SBOOL="char"
+ AC_SUBST(NCURSES_SBOOL)
+
+ ### use option --enable-sigwinch to turn on use of SIGWINCH logic
+@@ -1006,7 +1023,7 @@
+ [with_sigwinch=$enableval],
+ [with_sigwinch=$with_ext_funcs])
+ AC_MSG_RESULT($with_sigwinch)
+-test "$with_sigwinch" = yes && AC_DEFINE(USE_SIGWINCH)
++test "x$with_sigwinch" = xyes && AC_DEFINE(USE_SIGWINCH,1,[Define to 1 to compile with SIGWINCH handler])
+
+ ### use option --enable-tcap-names to allow user to define new capabilities
+ AC_MSG_CHECKING(if you want user-definable terminal capabilities like termcap)
+@@ -1016,7 +1033,7 @@
+ [with_tcap_names=$with_ext_funcs])
+ AC_MSG_RESULT($with_tcap_names)
+ NCURSES_XNAMES=0
+-test "$with_tcap_names" = yes && NCURSES_XNAMES=1
++test "x$with_tcap_names" = xyes && NCURSES_XNAMES=1
+ AC_SUBST(NCURSES_XNAMES)
+
+ ###############################################################################
+@@ -1035,7 +1052,7 @@
+ [ --enable-hard-tabs compile with hard-tabs code],,
+ [enable_hard_tabs=$with_develop])
+ AC_MSG_RESULT($enable_hard_tabs)
+-test "$enable_hard_tabs" = yes && AC_DEFINE(USE_HARD_TABS)
++test "x$enable_hard_tabs" = xyes && AC_DEFINE(USE_HARD_TABS,1,[Define to 1 to compile with hard-tabs code])
+
+ ### use option --enable-xmc-glitch to turn on use of magic-cookie optimize
+ AC_MSG_CHECKING(if you want limited support for xmc)
+@@ -1043,7 +1060,7 @@
+ [ --enable-xmc-glitch compile with support for xmc (magic-cookie)],,
+ [enable_xmc_glitch=$with_develop])
+ AC_MSG_RESULT($enable_xmc_glitch)
+-test "$enable_xmc_glitch" = yes && AC_DEFINE(USE_XMC_SUPPORT)
++test "x$enable_xmc_glitch" = xyes && AC_DEFINE(USE_XMC_SUPPORT,1,[Define to 1 to compile with support for xmc (magic-cookie)])
+
+ ###############################################################################
+ # These are just experimental, probably should not be in a package:
+@@ -1055,7 +1072,7 @@
+ [with_assumed_color=$enableval],
+ [with_assumed_color=yes])
+ AC_MSG_RESULT($with_assumed_color)
+-test "$with_assumed_color" = yes && AC_DEFINE(USE_ASSUMED_COLOR)
++test "x$with_assumed_color" = xyes && AC_DEFINE(USE_ASSUMED_COLOR,1,[Define to 1 to assume things about default-colors])
+
+ ### use option --enable-hashmap to turn on use of hashmap scrolling logic
+ AC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
+@@ -1064,7 +1081,7 @@
+ [with_hashmap=$enableval],
+ [with_hashmap=yes])
+ AC_MSG_RESULT($with_hashmap)
+-test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
++test "x$with_hashmap" = xyes && AC_DEFINE(USE_HASHMAP,1,[Define to 1 to compile with hashmap scrolling-optimization])
+
+ ### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
+ AC_MSG_CHECKING(if you want colorfgbg code)
+@@ -1073,7 +1090,7 @@
+ [with_colorfgbg=$enableval],
+ [with_colorfgbg=no])
+ AC_MSG_RESULT($with_colorfgbg)
+-test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG)
++test "x$with_colorfgbg" = xyes && AC_DEFINE(USE_COLORFGBG,1,[Define to 1 to compile-in experimental $COLORFGBG code])
+
+ ### use option --enable-interop to turn on use of bindings used for interop
+ AC_MSG_CHECKING(if you want interop bindings)
+@@ -1084,7 +1101,7 @@
+ AC_MSG_RESULT($with_exp_interop)
+
+ NCURSES_INTEROP_FUNCS=0
+-test "$with_exp_interop" = yes && NCURSES_INTEROP_FUNCS=1
++test "x$with_exp_interop" = xyes && NCURSES_INTEROP_FUNCS=1
+ AC_SUBST(NCURSES_INTEROP_FUNCS)
+
+ # This is still experimental (20080329), but should ultimately be moved to
+@@ -1099,8 +1116,8 @@
+ [use_pthreads_eintr=$enableval],
+ [use_pthreads_eintr=no])
+ AC_MSG_RESULT($use_pthreads_eintr)
+- if test $use_pthreads_eintr = yes ; then
+- AC_DEFINE(USE_PTHREADS_EINTR)
++ if test "x$use_pthreads_eintr" = xyes ; then
++ AC_DEFINE(USE_PTHREADS_EINTR,1,[Define to 1 to enable EINTR in wgetch with pthreads])
+ fi])
+
+ AC_MSG_CHECKING(if you want to use weak-symbols for pthreads)
+@@ -1109,22 +1126,22 @@
+ [use_weak_symbols=$enableval],
+ [use_weak_symbols=no])
+ AC_MSG_RESULT($use_weak_symbols)
+- if test "$use_weak_symbols" = yes ; then
++ if test "x$use_weak_symbols" = xyes ; then
+ CF_WEAK_SYMBOLS
+ else
+ cf_cv_weak_symbols=no
+ fi
+
+- if test $cf_cv_weak_symbols = yes ; then
+- AC_DEFINE(USE_WEAK_SYMBOLS)
++ if test "x$cf_cv_weak_symbols" = xyes ; then
++ AC_DEFINE(USE_WEAK_SYMBOLS,1,[Define to 1 to enable weak-symbols for pthreads])
+ fi
+ fi
+
+ PTHREAD=
+-if test "$with_pthread" = "yes" ; then
+- AC_DEFINE(USE_PTHREADS)
++if test "x$with_pthread" = "xyes" ; then
++ AC_DEFINE(USE_PTHREADS,1,[Define to 1 to use pthreads feature])
+ enable_reentrant=yes
+- if test $cf_cv_weak_symbols = yes ; then
++ if test "x$cf_cv_weak_symbols" = xyes ; then
+ PTHREAD=-lpthread
+ fi
+ fi
+@@ -1140,19 +1157,19 @@
+ [with_reentrant=$enableval],
+ [with_reentrant=no])
+ AC_MSG_RESULT($with_reentrant)
+-if test "$with_reentrant" = yes ; then
++if test "x$with_reentrant" = xyes ; then
+ cf_cv_enable_reentrant=1
+ cf_cv_enable_opaque="NCURSES_INTERNALS"
+ NCURSES_OPAQUE=1
+ NCURSES_SIZE_T=int
+- if test $cf_cv_weak_symbols = yes ; then
++ if test "x$cf_cv_weak_symbols" = xyes ; then
+ CF_REMOVE_LIB(LIBS,$LIBS,pthread)
+ CF_ADD_LIB(pthread,TEST_LIBS)
+ CF_ADD_LIB(pthread,TEST_LIBS2)
+ else
+ LIB_SUFFIX="t${LIB_SUFFIX}"
+ fi
+- AC_DEFINE(USE_REENTRANT)
++ AC_DEFINE(USE_REENTRANT,1,[Define to 1 to use experimental reentrant feature])
+ CF_NCURSES_ABI_6
+ else
+ cf_cv_enable_reentrant=0
+@@ -1177,7 +1194,7 @@
+ NCURSES_WRAP_PREFIX=_nc_
+ fi
+ AC_SUBST(NCURSES_WRAP_PREFIX)
+-AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX")
++AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX",[Define to override _nc_ prefix])
+
+ AC_MSG_CHECKING(if you want experimental safe-sprintf code)
+ AC_ARG_ENABLE(safe-sprintf,
+@@ -1185,7 +1202,7 @@
+ [with_safe_sprintf=$enableval],
+ [with_safe_sprintf=no])
+ AC_MSG_RESULT($with_safe_sprintf)
+-test "$with_safe_sprintf" = yes && AC_DEFINE(USE_SAFE_SPRINTF)
++test "x$with_safe_sprintf" = xyes && AC_DEFINE(USE_SAFE_SPRINTF,1,[Define to 1 to compile with experimental safe-sprintf code])
+
+ ### use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
+ # when hashmap is used scroll hints are useless
+@@ -1196,7 +1213,7 @@
+ [with_scroll_hints=$enableval],
+ [with_scroll_hints=yes])
+ AC_MSG_RESULT($with_scroll_hints)
+-test "$with_scroll_hints" = yes && AC_DEFINE(USE_SCROLL_HINTS)
++test "x$with_scroll_hints" = xyes && AC_DEFINE(USE_SCROLL_HINTS,1,[Define to 1 to compile without scroll-hints code])
+ fi
+
+ AC_MSG_CHECKING(if you want experimental wgetch-events code)
+@@ -1205,25 +1222,20 @@
+ [with_wgetch_events=$enableval],
+ [with_wgetch_events=no])
+ AC_MSG_RESULT($with_wgetch_events)
+-test "$with_wgetch_events" = yes && AC_DEFINE(NCURSES_WGETCH_EVENTS)
++test "x$with_wgetch_events" = xyes && AC_DEFINE(NCURSES_WGETCH_EVENTS,1,[Define to 1 to compile with experimental wgetch-events code])
+
+ ###############################################################################
+ CF_HELP_MESSAGE(Testing/development Options:)
+
+ ### use option --disable-echo to suppress full display compiling commands
+-AC_MSG_CHECKING(if you want to display full commands during build)
+-AC_ARG_ENABLE(echo,
+- [ --enable-echo build: display "compiling" commands (default)],
+- [with_echo=$enableval],
+- [with_echo=yes])
+-if test "$with_echo" = yes; then
++CF_DISABLE_ECHO
++if test "x$enable_echo" = xyes; then
+ ECHO_LINK=
+ else
+ ECHO_LINK='@ echo linking $@ ... ;'
+ test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
+ test -n "$LIBTOOL_CXX" && LIBTOOL_CXX="$LIBTOOL_CXX --silent"
+ fi
+-AC_MSG_RESULT($with_echo)
+ AC_SUBST(ECHO_LINK)
+
+ ### use option --enable-warnings to turn on all gcc warnings
+@@ -1236,11 +1248,12 @@
+ if test "x$with_warnings" = "xyes"; then
+ CF_ADD_ADAFLAGS(-gnatg)
+ CF_GCC_WARNINGS(Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum)
+- if test "$cf_with_cxx" = yes ; then
++ if test "x$cf_with_cxx" = xyes ; then
+ CF_GXX_WARNINGS(Wno-unused)
+ fi
+ fi
+ CF_GCC_ATTRIBUTES
++CF_ENABLE_STRING_HACKS
+
+ ### use option --enable-assertions to turn on generation of assertion code
+ AC_MSG_CHECKING(if you want to enable runtime assertions)
+@@ -1253,7 +1266,6 @@
+ then
+ if test "$with_assertions" = no
+ then
+- AC_DEFINE(NDEBUG)
+ CPPFLAGS="$CPPFLAGS -DNDEBUG"
+ else
+ CF_ADD_ADAFLAGS(-gnata)
+@@ -1262,17 +1274,17 @@
+
+ ### use option --disable-leaks to suppress "permanent" leaks, for testing
+ CF_DISABLE_LEAKS
+-AC_DEFINE(HAVE_NC_ALLOC_H)
++AC_DEFINE(HAVE_NC_ALLOC_H,1,[Define to 1 if we have nc_alloc.h header])
+
+ ### use option --enable-expanded to generate certain macros as functions
+ AC_ARG_ENABLE(expanded,
+ [ --enable-expanded test: generate functions for certain macros],
+- [test "$enableval" = yes && AC_DEFINE(NCURSES_EXPANDED)])
++ [test "x$enableval" = xyes && AC_DEFINE(NCURSES_EXPANDED,1,[Define to 1 to generate functions for certain macros])])
+
+ ### use option --disable-macros to suppress macros in favor of functions
+ AC_ARG_ENABLE(macros,
+ [ --disable-macros test: use functions rather than macros],
+- [test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS)])
++ [test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS,1,[Define to 1 to use functions rather than macros])])
+
+ # Normally we only add trace() to the debug-library. Allow this to be
+ # extended to all models of the ncurses library:
+@@ -1290,7 +1302,7 @@
+ [cf_with_trace=$cf_all_traces])
+ AC_MSG_RESULT($cf_with_trace)
+
+-if test "$cf_with_trace" = yes ; then
++if test "x$cf_with_trace" = xyes ; then
+ LIB_TRACING=all
+ ADA_TRACE=TRUE
+ CF_ADD_CFLAGS(-DTRACE)
+@@ -1307,10 +1319,10 @@
+ ;;
+ *)
+ AC_CHECK_FUNC(gettimeofday,
+- AC_DEFINE(HAVE_GETTIMEOFDAY),[
++ AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday function]),[
+
+ AC_CHECK_LIB(bsd, gettimeofday,
+- AC_DEFINE(HAVE_GETTIMEOFDAY)
++ AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday function])
+ CF_ADD_LIB(bsd))])dnl CLIX: bzero, select, gettimeofday
+ ;;
+ esac
+@@ -1344,9 +1356,11 @@
+ wctype.h \
+ )
+
++CF_GETOPT_HEADER
++
+ # check for ISC (this may also define _POSIX_SOURCE)
+ # Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
+-if test "$ISC" = yes ; then
++if test "x$ISC" = xyes ; then
+ AC_CHECK_LIB(cposix,main)
+ AC_CHECK_LIB(inet,bzero,CF_ADD_LIB(inet))dnl also 'select()'
+ fi
+@@ -1393,10 +1407,12 @@
+ getttynam \
+ issetugid \
+ poll \
++putenv \
+ remove \
+ select \
+ setbuf \
+ setbuffer \
++setenv \
+ setvbuf \
+ sigaction \
+ sigvec \
+@@ -1406,7 +1422,7 @@
+ times \
+ vsnprintf \
+ )
+-if test "$with_getcap" = "yes" ; then
++if test "x$with_getcap" = "xyes" ; then
+ CF_CGETENT
+ fi
+
+@@ -1421,12 +1437,12 @@
+ CF_SUBST_IF(["$cf_cv_func_vsscanf" = vsscanf], HAVE_VSSCANF, 1, 0)
+
+ dnl FIXME (may need this) AC_SYS_RESTARTABLE_SYSCALLS
+-if test "$cross_compiling" = yes ; then
++if test "x$cross_compiling" = xyes ; then
+ AC_MSG_WARN(cross compiling: assume setvbuf params not reversed)
+ else
+ AC_FUNC_SETVBUF_REVERSED
+ fi
+-AC_TYPE_SIGNAL
++AC_CHECK_TYPE(intptr_t, long)
+ CF_TYPE_SIGACTION
+ CF_SIZECHANGE
+ CF_FUNC_MEMMOVE
+@@ -1437,9 +1453,9 @@
+ # special check for test/ditto.c
+ CF_FUNC_OPENPTY
+ if test "$cf_cv_func_openpty" != no ; then
+- AC_DEFINE_UNQUOTED(USE_OPENPTY_HEADER,<$cf_cv_func_openpty>)
+- AC_DEFINE(USE_XTERM_PTY)
+- if test "$cf_cv_lib_util" = yes ; then
++ AC_DEFINE_UNQUOTED(USE_OPENPTY_HEADER,<$cf_cv_func_openpty>,[Define to actual header for openpty function])
++ AC_DEFINE(USE_XTERM_PTY,1,[Define to 1 if we should assume xterm pseudoterminal interface])
++ if test "x$cf_cv_lib_util" = xyes ; then
+ CF_ADD_LIB(util,TEST_LIBS)
+ fi
+ fi
+@@ -1447,7 +1463,7 @@
+ AC_SUBST(TEST_LIBS2)
+
+ if test "$with_hashed_db" != no ; then
+- AC_DEFINE(USE_HASHED_DB)
++ AC_DEFINE(USE_HASHED_DB,1,[Define to 1 if we should build terminfo in hashed database])
+ CF_HASHED_DB($with_hashed_db)
+ fi
+
+@@ -1478,50 +1494,14 @@
+ ;;
+ esac
+
+- AC_CHECK_HEADERS(iostream typeinfo)
+-
+- if test x"$ac_cv_header_iostream" = xyes ; then
+- AC_MSG_CHECKING(if iostream uses std-namespace)
+- AC_TRY_COMPILE([
+-#include <iostream>
+-using std::endl;
+-using std::cerr;],[
+-cerr << "testing" << endl;
+-],[cf_iostream_namespace=yes],[cf_iostream_namespace=no])
+- AC_MSG_RESULT($cf_iostream_namespace)
+- if test "$cf_iostream_namespace" = yes ; then
+- AC_DEFINE(IOSTREAM_NAMESPACE)
+- fi
+- fi
+-
++ AC_CHECK_HEADERS(typeinfo)
++ CF_CXX_IOSTREAM_NAMESPACE
+ CF_BOOL_DECL
+ CF_BOOL_SIZE
+ CF_ETIP_DEFINES
+ CF_CPP_PARAM_INIT
+ CF_CPP_STATIC_CAST
+-
+- CXX_AR='$(AR)'
+- CXX_ARFLAGS='$(ARFLAGS)'
+- case $cf_cv_system_name in #(vi
+- irix*) #(vi
+- if test "$GXX" != yes ; then
+- CXX_AR='$(CXX)'
+- CXX_ARFLAGS='-ar -o'
+- fi
+- ;;
+- sco3.2v5*) #(vi
+- CXXLDFLAGS="-u main"
+- ;;
+- solaris2*)
+- if test "$GXX" != yes ; then
+- CXX_AR='$(CXX)'
+- CXX_ARFLAGS='-xar -o'
+- fi
+- ;;
+- esac
+- AC_SUBST(CXXLDFLAGS)
+- AC_SUBST(CXX_AR)
+- AC_SUBST(CXX_ARFLAGS)
++ CF_CXX_AR_FLAGS
+ else
+ cf_cxx_library=no
+ cf_cv_builtin_bool=1
+@@ -1593,20 +1573,9 @@
+ dnl At the moment we support no other Ada95 compiler.
+ if test "$cf_with_ada" != "no" ; then
+ CF_PROG_GNAT
+- if test "$cf_cv_prog_gnat_correct" = yes; then
++ if test "x$cf_cv_prog_gnat_correct" = xyes; then
+ CF_ADD_ADAFLAGS(-gnatpn)
+-
+- # make ADAFLAGS consistent with CFLAGS
+- case "$CFLAGS" in
+- *-g*)
+- CF_ADD_ADAFLAGS(-g)
+- ;;
+- esac
+- case "$CFLAGS" in
+- *-O*)
+- CF_ADD_ADAFLAGS(-O3)
+- ;;
+- esac
++ CF_FIXUP_ADAFLAGS
+
+ CF_GNAT_GENERICS
+ CF_GNAT_SIGINT
+@@ -1640,7 +1609,7 @@
+ AC_MSG_CHECKING(for library subsets)
+ LIB_SUBSETS=
+
+-if test "$cf_with_progs" = yes || test "$with_ticlib" != no || test "$with_termcap" != no; then
++if test "x$cf_with_progs" = xyes || test "$with_ticlib" != no || test "$with_termcap" != no; then
+ LIB_SUBSETS="${LIB_SUBSETS}ticlib"
+ if test "$with_ticlib" != no ; then
+ LIB_SUBSETS="${LIB_SUBSETS} "
+@@ -1650,7 +1619,7 @@
+ fi
+
+ LIB_SUBSETS="${LIB_SUBSETS}termlib"
+-test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
++test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
+
+ if test "$with_termlib" != no ; then
+ LIB_SUBSETS="${LIB_SUBSETS} "
+@@ -1674,8 +1643,8 @@
+ esac
+ fi
+
+-test "$with_widec" = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
+-test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
++test "x$with_widec" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
++test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
+
+ AC_MSG_RESULT($LIB_SUBSETS)
+
+@@ -1699,20 +1668,24 @@
+ AC_SUBST(DFT_OBJ_SUBDIR)dnl the default object-directory ("obj")
+ AC_MSG_RESULT($DFT_OBJ_SUBDIR)
+
+-# libtool thinks it can make c++ shared libraries (perhaps only g++)
+-if test "$cf_with_cxx" = yes ; then
++if test "x$cf_with_cxx" = xyes ; then
+ AC_MSG_CHECKING(c++ library-dependency suffix)
+ if test "$with_libtool" != "no"; then
++ # libtool thinks it can make c++ shared libraries (perhaps only g++)
++ CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
++elif test "$with_shared_cxx" != "no"; then
++ # also for g++ users...
+ CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
+ else
+- CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX,CXX_DEP_SUFFIX)dnl we normally make a static library
++ # we normally make a static library because C/C++ library rules differ
++ CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX,CXX_DEP_SUFFIX)
+ fi
+ AC_MSG_RESULT($CXX_LIB_SUFFIX)
+ AC_SUBST(CXX_LIB_SUFFIX)
+ fi
+
+ # do not want -ldl in build except as needed for -lncurses dependency
+-if test "$with_dlsym" = yes ; then
++if test "x$with_dlsym" = xyes ; then
+ if test $DFT_LWR_MODEL = shared || \
+ test $DFT_LWR_MODEL = libtool ; then
+ CF_REMOVE_LIB(LIBS,$LIBS,dl)
+@@ -1723,13 +1696,13 @@
+ # TICS_LIST and TINFO_LIST are needed to build libtic.so and libterm.so, but
+ # do not need libdl
+ TICS_LIST=
+-if test "$with_dlsym" = yes ; then
++if test "x$with_dlsym" = xyes ; then
+ CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl)
+ fi
+
+ if test "$with_ticlib" != no ; then
+
+- if test "$with_ticlib" != yes ; then
++ if test "x$with_ticlib" != xyes ; then
+ TICS_NAME=$with_ticlib
+ TICS_ARG_SUFFIX="${with_ticlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+ TICS_DEP_SUFFIX="${with_ticlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+@@ -1739,18 +1712,21 @@
+ TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}"
+ TICS_LIB_SUFFIX="${TICS_NAME}${LIB_SUFFIX}"
+ fi
+- TICS_ARGS="-L${LIB_DIR} -l${TICS_LIB_SUFFIX}"
++ TICS_LDFLAGS="-L${LIB_DIR}"
++ TICS_LIBS="-l${TICS_LIB_SUFFIX}"
+ else
+- TICS_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
++ TICS_LDFLAGS="-L${LIB_DIR}"
++ TICS_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX}"
+ fi
+ AC_SUBST(TICS_ARG_SUFFIX)
+ AC_SUBST(TICS_DEP_SUFFIX)
+ AC_SUBST(TICS_LIB_SUFFIX)
+-AC_SUBST(TICS_ARGS)
++AC_SUBST(TICS_LDFLAGS)
++AC_SUBST(TICS_LIBS)
+
+ if test "$with_termlib" != no ; then
+
+- if test "$with_termlib" != yes ; then
++ if test "x$with_termlib" != xyes ; then
+ TINFO_NAME=$with_termlib
+ TINFO_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+ TINFO_ARG_SUFFIX="${with_termlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+@@ -1768,14 +1744,22 @@
+ if test "$DFT_LWR_MODEL" = "libtool"; then
+ TEST_ARGS="${TEST_DEPS}"
+ TEST_ARG2="${TEST_DEP2}"
+- TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
++ TINFO_LDFLAGS="-L${LIB_DIR}"
++ TINFO_LIBS="$TEST_ARGS"
+ TICS_LIST="$SHLIB_LIST $TEST_ARGS"
+ SHLIB_LIST="${SHLIB_LIST} $TEST_ARGS"
+ else
+ TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
+ TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
+- TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
+- TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
++ if test "x$with_term_driver" != xno ; then
++ TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
++ TICS_LIBS="$TICS_LIBS -l${LIB_NAME}${DFT_ARG_SUFFIX}"
++ TINFO_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
++ else
++ TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
++ TINFO_LIBS="$TEST_ARGS"
++ fi
++ TINFO_LDFLAGS="-L${LIB_DIR}"
+ SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
+ fi
+ else
+@@ -1783,13 +1767,14 @@
+ TINFO_NAME=${LIB_NAME}
+ TINFO_SUFFIX=${DFT_LIB_SUFFIX}
+ TINFO_ARG_SUFFIX=${LIB_NAME}${DFT_ARG_SUFFIX}
+- if test "$with_tic_depends" = yes ; then
++ if test "x$with_tic_depends" = xyes ; then
+ TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
+ else
+ TICS_LIST="$SHLIB_LIST"
+ fi
+
+- TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
++ TINFO_LDFLAGS="-L${LIB_DIR}"
++ TINFO_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX}"
+ fi
+
+ if test "$DFT_LWR_MODEL" = shared ; then
+@@ -1804,9 +1789,10 @@
+ AC_SUBST(TINFO_ARG_SUFFIX)
+ AC_SUBST(TINFO_DEP_SUFFIX)
+ AC_SUBST(TINFO_LIB_SUFFIX)
+-AC_SUBST(TINFO_ARGS)
++AC_SUBST(TINFO_LDFLAGS)
++AC_SUBST(TINFO_LIBS)
+
+-if test "$with_dlsym" = yes ; then
++if test "x$with_dlsym" = xyes ; then
+ CF_REMOVE_LIB(TICS_LIST,$TICS_LIST,dl)
+ fi
+
+@@ -1815,8 +1801,8 @@
+ fi
+
+ # needed for Ada95
+-TINFO_ARGS2=`echo "$TINFO_ARGS" | sed -e 's,-L\.\./,-L../../,'`
+-AC_SUBST(TINFO_ARGS2)
++TINFO_LDFLAGS2=`echo "$TINFO_LDFLAGS" | sed -e 's,-L\.\./,-L../../,'`
++AC_SUBST(TINFO_LDFLAGS2)
+
+ case $DFT_LWR_MODEL in
+ normal|debug|profile)
+@@ -1850,14 +1836,14 @@
+ AC_SUBST(NCURSES_TREE)
+
+ ### predefined stuff for the test programs
+-AC_DEFINE(HAVE_SLK_COLOR)
++AC_DEFINE(HAVE_SLK_COLOR,1,[Define to 1 if we have slk_color for test-programs])
+
+ ### Construct the list of subdirectories for which we'll customize makefiles
+ ### with the appropriate compile-rules.
+
+ CF_SRC_MODULES($modules_to_build)
+
+-if test "$cf_with_ada" != "no" && test "$cf_cv_prog_gnat_correct" != "no"; then
++if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
+ SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses${DFT_ARG_SUFFIX}-config:Ada95/gen/adacurses-config.in"
+ SUB_MAKEFILES="$SUB_MAKEFILES man/adacurses${DFT_ARG_SUFFIX}-config.1:man/MKada_config.in"
+ fi
+@@ -1869,26 +1855,26 @@
+ AC_SUBST(NCURSES_SHLIB2)
+
+ # values to use as strings
+-AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR')
++AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR',[Define to override ':' as library path-separator])
+
+-AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}")
++AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}",[Define to 1 if machine has ample memory for tic])
+
+ ### Now that we're done running tests, add the compiler-warnings, if any
+ CF_ADD_CFLAGS($EXTRA_CFLAGS)
+
+ ### Define substitutions for header files to avoid name-pollution
+-CF_SUBST_IF(["$cf_cv_have_tcgetattr" = yes], HAVE_TCGETATTR, 1, 0)
+-CF_SUBST_IF(["$ac_cv_header_termio_h" = yes], HAVE_TERMIO_H, 1, 0)
+-CF_SUBST_IF(["$ac_cv_header_termios_h" = yes], HAVE_TERMIOS_H, 1, 0)
++CF_SUBST_IF(["x$cf_cv_have_tcgetattr" = xyes], HAVE_TCGETATTR, 1, 0)
++CF_SUBST_IF(["x$ac_cv_header_termio_h" = xyes], HAVE_TERMIO_H, 1, 0)
++CF_SUBST_IF(["x$ac_cv_header_termios_h" = xyes], HAVE_TERMIOS_H, 1, 0)
+
+ ################################################################################
+-test "$use_database" = yes && \
++test "x$use_database" = xyes && \
+ SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
+
+ SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
+ SUB_MAKEFILES="$SUB_MAKEFILES man/ncurses${DFT_ARG_SUFFIX}${cf_cv_abi_version}-config.1:man/MKncu_config.in"
+
+-if test x"$enable_pc_files" = xyes ; then \
++if test "x$enable_pc_files" = xyes ; then \
+ SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"
+ MAKE_PC_FILES=
+ else
+@@ -1917,12 +1903,18 @@
+ ADAHTML_DIR=../../doc/html/ada
+ AC_SUBST(ADAHTML_DIR)
+
++# these could be configurable, but are not currently
++PANEL_NAME=panel
++MENU_NAME=menu
++FORM_NAME=form
++CXX_NAME=ncurses++
++
++AC_SUBST(PANEL_NAME)
++AC_SUBST(MENU_NAME)
++AC_SUBST(FORM_NAME)
++AC_SUBST(CXX_NAME)
++
+ SUB_SCRIPTS=
+-case $cf_cv_system_name in #(vi
+-*mingw32*) #(vi
+- SUB_SCRIPTS="mk-dlls.sh"
+- ;;
+-esac
+
+ AC_OUTPUT( \
+ include/MKterm.h.awk \
+@@ -1934,11 +1926,11 @@
+ $SUB_MAKEFILES \
+ Makefile,[
+ if test "x$cf_with_tests" != xno ; then
+- CF_PRG_RULES([$srcdir/test/mk-test.awk INSTALL=no ECHO_LINK="$ECHO_LINK"], test)
++ CF_PRG_RULES([$srcdir/test/mk-test.awk INSTALL=no ECHO_LINK="$ECHO_LD"], test)
+ fi
+ CF_LIB_RULES($SRC_SUBDIRS)
+
+-if test "x$cf_with_ada" != xno ; then
++if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
+ if test -z "$USE_OLD_MAKERULES" ; then
+ $AWK -f $srcdir/Ada95/mk-1st.awk <$srcdir/Ada95/src/modules >>Ada95/src/Makefile
+ fi
+@@ -1950,10 +1942,11 @@
+ AWK="$AWK"
+ DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
+ DFT_LWR_MODEL="$DFT_LWR_MODEL"
+-ECHO_LINK="$ECHO_LINK"
++ECHO_LD="$ECHO_LD"
+ LDCONFIG="$LDCONFIG"
+ LIBTOOL_VERSION="$LIBTOOL_VERSION"
+ LIB_NAME="$LIB_NAME"
++LIB_PREFIX="$LIB_PREFIX"
+ LIB_SUBSETS="$LIB_SUBSETS"
+ LIB_SUFFIX="$LIB_SUFFIX"
+ LIB_TRACING="$LIB_TRACING"
+@@ -1975,7 +1968,7 @@
+ TINFO_SUFFIX="$TINFO_SUFFIX"
+ USE_OLD_MAKERULES="$USE_OLD_MAKERULES"
+ WITH_CURSES_H="$with_curses_h"
+-WITH_ECHO="$with_echo"
++WITH_ECHO="${enable_echo:=yes}"
+ WITH_OVERWRITE="$with_overwrite"
+ cf_LIST_MODELS="$cf_list_models"
+ cf_cv_abi_version="$cf_cv_abi_version"
+@@ -1985,16 +1978,19 @@
+ cf_cv_enable_opaque="$cf_cv_enable_opaque"
+ cf_cv_prog_CC_c_o=$cf_cv_prog_CC_c_o
+ cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o
++cf_cv_prog_gnat_correct=$cf_cv_prog_gnat_correct
+ cf_cv_rel_version="$cf_cv_rel_version"
+ cf_cv_rm_so_locs="$cf_cv_rm_so_locs"
+ cf_cv_shared_soname='$cf_cv_shared_soname'
+ cf_cv_shlib_version="$cf_cv_shlib_version"
+ cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
+ cf_cv_system_name="$cf_cv_system_name"
++cf_cv_term_driver="$with_term_driver"
+ cf_with_ada="$cf_with_ada"
+ cf_with_cxx_binding="$cf_with_cxx_binding"
+ cf_with_manpages="$cf_with_manpages"
+ cf_with_tests="$cf_with_tests"
++with_shared_cxx="$with_shared_cxx"
+ host="$host"
+ target="$target"
+
+Index: dist.mk
+Prereq: 1.810
+--- ncurses-5.9/dist.mk 2011-04-04 22:42:20.000000000 +0000
++++ ncurses-5.9-20130504/dist.mk 2013-05-04 14:55:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -25,7 +25,7 @@
+ # use or other dealings in this Software without prior written #
+ # authorization. #
+ ##############################################################################
+-# $Id: dist.mk,v 1.810 2011/04/04 22:42:20 tom Exp $
++# $Id: dist.mk,v 1.926 2013/05/04 14:55:13 tom Exp $
+ # Makefile for creating ncurses distributions.
+ #
+ # This only needs to be used directly as a makefile by developers, but
+@@ -37,7 +37,7 @@
+ # These define the major/minor/patch versions of ncurses.
+ NCURSES_MAJOR = 5
+ NCURSES_MINOR = 9
+-NCURSES_PATCH = 20110404
++NCURSES_PATCH = 20130504
+
+ # We don't append the patch to the version, since this only applies to releases
+ VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
+Index: doc/html/man/adacurses-config.1.html
+--- ncurses-5.9/doc/html/man/adacurses-config.1.html 2011-04-04 22:46:28.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/adacurses-config.1.html 2013-03-09 22:11:58.000000000 +0000
+@@ -83,7 +83,7 @@
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/man/captoinfo.1m.html
+--- ncurses-5.9/doc/html/man/captoinfo.1m.html 2011-04-04 22:46:28.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/captoinfo.1m.html 2013-03-09 22:11:58.000000000 +0000
+@@ -87,8 +87,8 @@
+
+ </PRE>
+ <H2>FILES</H2><PRE>
+- /usr/share/terminfo Compiled terminal description
+- database.
++ /usr/share/terminfo Compiled terminal description data-
++ base.
+
+
+ </PRE>
+@@ -101,7 +101,6 @@
+ has not mistakenly translated a completely unknown and
+ random capability and/or syntax error.
+
+-
+ Nonstd Std From Terminfo
+ name name capability
+ -----------------------------------------------
+@@ -116,8 +115,8 @@
+ EN @7 XENIX key_end
+ GE ae XENIX exit_alt_charset_mode
+ GS as XENIX enter_alt_charset_mode
+-
+ HM kh XENIX key_home
++
+ LD kL XENIX key_dl
+ PD kN XENIX key_npage
+ PN po XENIX prtr_off
+@@ -139,7 +138,6 @@
+ bilities for forms drawing, designed to take advantage of
+ the IBM PC high-half graphics. They were as follows:
+
+-
+ Cap Graphic
+ -----------------------------
+ G2 upper left
+@@ -182,7 +180,6 @@
+ font0 s0ds
+ font1 s1ds
+ font2 s2ds
+-
+ font3 s3ds
+
+ Additionally, the AIX <EM>box1</EM> capability will be automati-
+@@ -208,7 +205,7 @@
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+ </PRE>
+Index: doc/html/man/clear.1.html
+--- ncurses-5.9/doc/html/man/clear.1.html 2011-04-04 22:46:28.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/clear.1.html 2013-03-09 22:11:58.000000000 +0000
+@@ -69,7 +69,7 @@
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/man/curs_add_wch.3x.html
+--- ncurses-5.9/doc/html/man/curs_add_wch.3x.html 2011-02-25 23:24:49.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_add_wch.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2001-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_add_wch.3x,v 1.14 2011/01/15 15:27:43 tom Exp @
++ * @Id: curs_add_wch.3x,v 1.15 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -77,17 +77,17 @@
+ ous character at that location is removed. A new
+ character specified by <EM>wch</EM> is placed at that location
+ with rendition specified by <EM>wch</EM>. The cursor then
+- advances to the next spacing character on the screen.
++ advances to the next spacing character on the screen.
+
+ <STRONG>o</STRONG> If <EM>wch</EM> refers to a non-spacing character, all previous
+- characters at that location are preserved. The non-
+- spacing characters of <EM>wch</EM> are added to the spacing
+- complex character, and the rendition specified by <EM>wch</EM>
++ characters at that location are preserved. The non-
++ spacing characters of <EM>wch</EM> are added to the spacing
++ complex character, and the rendition specified by <EM>wch</EM>
+ is ignored.
+
+- <STRONG>o</STRONG> If the character part of <EM>wch</EM> is a tab, newline,
+- backspace or other control character, the window is
+- updated and the cursor moves as if <STRONG>addch</STRONG> were called.
++ <STRONG>o</STRONG> If the character part of <EM>wch</EM> is a tab, newline,
++ backspace or other control character, the window is
++ updated and the cursor moves as if <STRONG>addch</STRONG> were called.
+
+ The <STRONG>echo_wchar</STRONG> function is functionally equivalent to a
+ call to <STRONG>add_wch</STRONG> followed by a call to <STRONG>refresh</STRONG>. Similarly,
+@@ -104,15 +104,14 @@
+ characters. These symbols correspond to the same VT100
+ line-drawing set as <STRONG><A HREF="addch.3x.html">addch(3x)</A></STRONG>.
+
+-
+ <EM>Name</EM> <EM>Unicode</EM> <EM>Default</EM> <EM>Description</EM>
+ ----------------------------------------------------------------
+ WACS_BLOCK 0x25ae # solid square block
+ WACS_BOARD 0x2592 # board of squares
+ WACS_BTEE 0x2534 + bottom tee
+ WACS_BULLET 0x00b7 o bullet
+-
+ WACS_CKBOARD 0x2592 : checker board (stipple)
++
+ WACS_DARROW 0x2193 v arrow pointing down
+ WACS_DEGREE 0x00b0 ' degree symbol
+ WACS_DIAMOND 0x25c6 + diamond
+@@ -144,7 +143,6 @@
+ The wide-character configuration of ncurses also defines
+ symbols for thick- and double-lines:
+
+-
+ <EM>Name</EM> <EM>Unicode</EM> <EM>Default</EM> <EM>Description</EM>
+ ---------------------------------------------------------------------
+ WACS_T_ULCORNER 0x250f + thick upper left corner
+@@ -172,7 +170,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
+ success.
+
+Index: doc/html/man/curs_add_wchstr.3x.html
+--- ncurses-5.9/doc/html/man/curs_add_wchstr.3x.html 2011-01-09 01:03:05.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_add_wchstr.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2005,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_add_wchstr.3x,v 1.9 2010/12/04 18:36:44 tom Exp @
++ * @Id: curs_add_wchstr.3x,v 1.10 2012/11/03 22:54:43 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -47,7 +47,7 @@
+
+ </PRE>
+ <H2>NAME</H2><PRE>
+- <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>,
++ <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>,
+ <STRONG>mvadd_wchstr</STRONG>, <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG>
+ - add an array of complex characters (and attributes) to a
+ curses window
+@@ -69,39 +69,42 @@
+
+ </PRE>
+ <H2>DESCRIPTION</H2><PRE>
+- These routines copy the array of complex characters <EM>wchstr</EM>
+- into the window image structure at and after the current
+- cursor position. The four routines with <EM>n</EM> as the last
+- argument copy at most <EM>n</EM> elements, but no more than will
+- fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is copied,
+- to the maximum number of characters that will fit on the
+- line.
+-
+- The window cursor is <EM>not</EM> advanced. These routines work
+- faster than <STRONG>waddnstr</STRONG>. On the other hand, they do not per-
+- form checking (such as for the newline, backspace, or car-
+- riage return characters), they do not advance the current
+- cursor position, they do not expand other control charac-
+- ters to ^-escapes, and they truncate the string if it
+- crosses the right margin, rather than wrapping it around
+- to the new line.
+-
+- These routines end successfully on encountering a null
+- <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>, or when they have filled the current line. If a
+- complex character cannot completely fit at the end of the
+- current line, the remaining columns are filled with the
++ These functions copy the (null-terminated) array of com-
++ plex characters <EM>wchstr</EM> into the window image structure
++ starting at the current cursor position. The four func-
++ tions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements,
++ but no more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the
++ whole array is copied, to the maximum number of characters
++ that will fit on the line.
++
++ The window cursor is <EM>not</EM> advanced. These functions work
++ faster than <STRONG>waddnstr</STRONG>. On the other hand:
++
++ <STRONG>o</STRONG> they do not perform checking (such as for the newline,
++ backspace, or carriage return characters),
++
++ <STRONG>o</STRONG> they do not advance the current cursor position,
++
++ <STRONG>o</STRONG> they do not expand other control characters to ^-es-
++ capes, and
++
++ <STRONG>o</STRONG> they truncate the string if it crosses the right mar-
++ gin, rather than wrapping it around to the new line.
++
++ These functions end successfully on encountering a null
++ <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>, or when they have filled the current line. If a
++ complex character cannot completely fit at the end of the
++ current line, the remaining columns are filled with the
+ background character and rendition.
+
+
+ </PRE>
+-<H2>NOTES</H2><PRE>
+- All functions except <STRONG>wadd_wchnstr</STRONG> may be macros.
++<H2>RETURN VALUE</H2><PRE>
++ All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
++ on success.
+
+-
+-</PRE>
+-<H2>RETURN VALUES</H2><PRE>
+- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
+- success.
++ X/Open does not define any error conditions. This imple-
++ mentation returns an error if the window pointer is null.
+
+ Functions with a "mv" prefix first perform a cursor move-
+ ment using <STRONG>wmove</STRONG>, and return an error if the position is
+@@ -109,14 +112,22 @@
+
+
+ </PRE>
++<H2>NOTES</H2><PRE>
++ All functions except <STRONG>wadd_wchnstr</STRONG> may be macros.
++
++
++</PRE>
+ <H2>PORTABILITY</H2><PRE>
+- All these entry points are described in the XSI Curses
+- standard, Issue 4.
++ These entry points are described in the XSI Curses stan-
++ dard, Issue 4.
+
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>, <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
++ <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
++
++ Comparable functions in the narrow-character (ncurses) li-
++ brary are described in <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>.
+
+
+
+Index: doc/html/man/curs_addch.3x.html
+--- ncurses-5.9/doc/html/man/curs_addch.3x.html 2011-02-25 23:24:50.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_addch.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -112,9 +112,8 @@
+ characters to the screen with routines of the <STRONG>addch</STRONG> fam-
+ ily. The default character listed below is used if the
+ <STRONG>acsc</STRONG> capability does not define a terminal-specific
+- replacement for it. The names are taken from VT100
+- nomenclature.
+-
++ replacement for it. The names are taken from VT100 nomen-
++ clature.
+
+ <EM>Name</EM> <EM>Default</EM> <EM>Description</EM>
+ --------------------------------------------------
+Index: doc/html/man/curs_addchstr.3x.html
+--- ncurses-5.9/doc/html/man/curs_addchstr.3x.html 2011-01-09 01:03:04.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_addchstr.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addchstr.3x,v 1.15 2010/12/04 18:36:44 tom Exp @
++ * @Id: curs_addchstr.3x,v 1.16 2012/11/03 22:54:43 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -62,62 +62,63 @@
+ <STRONG>int</STRONG> <STRONG>waddchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvaddchstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvaddchnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwaddchstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG>
+- <STRONG>*chstr);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwaddchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG>
+- <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwaddchstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwaddchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+
+
+ </PRE>
+ <H2>DESCRIPTION</H2><PRE>
+- These routines copy <EM>chstr</EM> into the window image structure
+- at and after the current cursor position. The four rou-
+- tines with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements,
+- but no more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the
+- whole string is copied, to the maximum number of charac-
+- ters that will fit on the line.
+-
+- The window cursor is <EM>not</EM> advanced, and these routines work
+- faster than <STRONG>waddnstr</STRONG>. On the other hand, they do not per-
+- form any kind of checking (such as for the newline,
+- backspace, or carriage return characters), they do not ad-
+- vance the current cursor position, they do not expand oth-
+- er control characters to ^-escapes, and they truncate the
+- string if it crosses the right margin, rather than wrap-
+- ping it around to the new line.
++ These functions copy the (null-terminated) <EM>chstr</EM> array in-
++ to the window image structure starting at the current cur-
++ sor position. The four functions with <EM>n</EM> as the last argu-
++ ment copy at most <EM>n</EM> elements, but no more than will fit on
++ the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is copied, to the
++ maximum number of characters that will fit on the line.
++
++ The window cursor is <EM>not</EM> advanced. These functions work
++ faster than <STRONG>waddnstr</STRONG>. On the other hand:
++
++ <STRONG>o</STRONG> they do not perform checking (such as for the newline,
++ backspace, or carriage return characters),
++
++ <STRONG>o</STRONG> they do not advance the current cursor position,
++
++ <STRONG>o</STRONG> they do not expand other control characters to ^-es-
++ capes, and
++
++ <STRONG>o</STRONG> they truncate the string if it crosses the right mar-
++ gin, rather than wrapping it around to the new line.
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
+- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
+- success (the SVr4 manuals specify only "an integer value
+- other than <STRONG>ERR</STRONG>") upon successful completion, unless other-
+- wise noted in the preceding routine descriptions.
++<H2>RETURN VALUE</H2><PRE>
++ All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
++ on success.
+
+- X/Open does not define any error conditions. This imple-
++ X/Open does not define any error conditions. This imple-
+ mentation returns an error if the window pointer is null.
+
+- Functions with a "mv" prefix first perform a cursor move-
+- ment using <STRONG>wmove</STRONG>, and return an error if the position is
++ Functions with a "mv" prefix first perform a cursor move-
++ ment using <STRONG>wmove</STRONG>, and return an error if the position is
+ outside the window, or if the window pointer is null.
+
+
+ </PRE>
+ <H2>NOTES</H2><PRE>
+- Note that all routines except <STRONG>waddchnstr</STRONG> may be macros.
++ All functions except <STRONG>waddchnstr</STRONG> may be macros.
+
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- These entry points are described in the XSI Curses stan-
++ These entry points are described in the XSI Curses stan-
+ dard, Issue 4.
+
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
++ <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+
+- Comparable functions in the wide-character (ncursesw) li-
++ Comparable functions in the wide-character (ncursesw) li-
+ brary are described in <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>.
+
+
+Index: doc/html/man/curs_addstr.3x.html
+--- ncurses-5.9/doc/html/man/curs_addstr.3x.html 2011-01-09 01:03:05.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_addstr.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addstr.3x,v 1.16 2010/12/04 18:36:44 tom Exp @
++ * @Id: curs_addstr.3x,v 1.17 2012/11/03 22:57:31 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -68,26 +68,32 @@
+
+ </PRE>
+ <H2>DESCRIPTION</H2><PRE>
+- These routines write the characters of the (null-terminat-
+- ed) character string <EM>str</EM> on the given window. It is simi-
+- lar to calling <STRONG>waddch</STRONG> once for each character in the
+- string. The four routines with <EM>n</EM> as the last argument
+- write at most <EM>n</EM> characters. If <EM>n</EM> is -1, then the entire
+- string will be added, up to the maximum number of charac-
+- ters that will fit on the line, or until a terminating
+- null is reached.
++ These functions write the (null-terminated) character
++ string <EM>str</EM> on the given window. It is similar to calling
++ <STRONG>waddch</STRONG> once for each character in the string.
++
++ The <EM>mv</EM> functions perform cursor movement once, before
++ writing any characters. Thereafter, the cursor is ad-
++ vanced as a side-effect of writing to the window.
++
++ The four functions with <EM>n</EM> as the last argument write at
++ most <EM>n</EM> characters, or until a terminating null is reached.
++ If <EM>n</EM> is -1, then the entire string will be added.
+
+
+ </PRE>
+ <H2>RETURN VALUE</H2><PRE>
+- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
+- success (the SVr4 manuals specify only "an integer value
+- other than <STRONG>ERR</STRONG>") upon successful completion.
++ All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
++ on success.
+
+ X/Open does not define any error conditions. This imple-
+- mentation returns an error if the window pointer is null
+- or if the string pointer is null or if the corresponding
+- calls to <STRONG>waddch</STRONG> return an error.
++ mentation returns an error
++
++ <STRONG>o</STRONG> if the window pointer is null or
++
++ <STRONG>o</STRONG> if the string pointer is null or
++
++ <STRONG>o</STRONG> if the corresponding calls to <STRONG>waddch</STRONG> return an error.
+
+ Functions with a "mv" prefix first perform a cursor move-
+ ment using <STRONG>wmove</STRONG>, and return an error if the position is
+@@ -96,16 +102,13 @@
+
+ </PRE>
+ <H2>NOTES</H2><PRE>
+- Note that all of these routines except <STRONG>waddstr</STRONG> and
+- <STRONG>waddnstr</STRONG> may be macros.
++ All of these functions except <STRONG>waddnstr</STRONG> may be macros.
+
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- All these entry points are described in the XSI Curses
+- standard, Issue 4. The XSI errors EILSEQ and EOVERFLOW,
+- associated with extended-level conformance, are not yet
+- detected.
++ These functions are described in the XSI Curses standard,
++ Issue 4.
+
+
+ </PRE>
+Index: doc/html/man/curs_addwstr.3x.html
+--- ncurses-5.9/doc/html/man/curs_addwstr.3x.html 2011-01-09 01:03:05.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_addwstr.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addwstr.3x,v 1.10 2010/12/04 18:36:44 tom Exp @
++ * @Id: curs_addwstr.3x,v 1.11 2012/11/03 22:57:31 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -68,43 +68,51 @@
+
+ </PRE>
+ <H2>DESCRIPTION</H2><PRE>
+- These routines write the characters of the (null-terminat-
+- ed) <STRONG>wchar_t</STRONG> character string <EM>wstr</EM> on the given window. It
+- is similar to constructing a <STRONG>cchar_t</STRONG> for each wchar_t in
+- the string, then calling <STRONG>wadd_wch</STRONG> for the resulting
++ These functions write the characters of the (null-termi-
++ nated) <STRONG>wchar_t</STRONG> character string <EM>wstr</EM> on the given window.
++ It is similar to constructing a <STRONG>cchar_t</STRONG> for each wchar_t
++ in the string, then calling <STRONG>wadd_wch</STRONG> for the resulting
+ <STRONG>cchar_t</STRONG>.
+
+- The <EM>mv</EM> routines perform cursor movement once, before writ-
+- ing any characters. Thereafter, the cursor is advanced as
+- a side-effect of writing to the window.
++ The <EM>mv</EM> functions perform cursor movement once, before
++ writing any characters. Thereafter, the cursor is ad-
++ vanced as a side-effect of writing to the window.
+
+- The four routines with <EM>n</EM> as the last argument write at
+- most <EM>n</EM> <STRONG>wchar_t</STRONG> characters. If <EM>n</EM> is -1, then the entire
+- string will be added, up to the maximum number of charac-
+- ters that will fit on the line, or until a terminating
+- null is reached.
++ The four functions with <EM>n</EM> as the last argument write at
++ most <EM>n</EM> <STRONG>wchar_t</STRONG> characters, or until a terminating null is
++ reached. If <EM>n</EM> is -1, then the entire string will be
++ added.
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
+- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
+- success.
++<H2>RETURN VALUE</H2><PRE>
++ All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
++ on success.
+
+- Functions with a "mv" prefix first perform a cursor move-
+- ment using <STRONG>wmove</STRONG>, and return an error if the position is
++ X/Open does not define any error conditions. This imple-
++ mentation returns an error
++
++ <STRONG>o</STRONG> if the window pointer is null or
++
++ <STRONG>o</STRONG> if the string pointer is null or
++
++ <STRONG>o</STRONG> if the corresponding calls to <STRONG>wadd_wch</STRONG> return an er-
++ ror.
++
++ Functions with a "mv" prefix first perform a cursor move-
++ ment using <STRONG>wmove</STRONG>, and return an error if the position is
+ outside the window, or if the window pointer is null.
+
+
+ </PRE>
+ <H2>NOTES</H2><PRE>
+- Note that all of these routines except <STRONG>waddnwstr</STRONG> may be
+- macros.
++ All of these functions except <STRONG>waddnwstr</STRONG> may be macros.
+
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- All these entry points are described in the XSI Curses
+- standard, Issue 4.
++ These functions are described in the XSI Curses standard,
++ Issue 4.
+
+
+ </PRE>
+Index: doc/html/man/curs_attr.3x.html
+--- ncurses-5.9/doc/html/man/curs_attr.3x.html 2011-02-25 23:24:50.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_attr.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -148,7 +148,6 @@
+ be passed to the routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or
+ OR'd with the characters passed to <STRONG>addch</STRONG>.
+
+-
+ <STRONG>A_NORMAL</STRONG> Normal display (no highlight)
+ <STRONG>A_STANDOUT</STRONG> Best highlighting mode of the terminal.
+ <STRONG>A_UNDERLINE</STRONG> Underlining
+@@ -211,7 +210,6 @@
+ the screen when changing the attributes. Use <STRONG>touchwin</STRONG> to
+ force the screen to match the updated attributes.
+
+-
+ <STRONG>WA_NORMAL</STRONG> Normal display (no highlight)
+ <STRONG>WA_STANDOUT</STRONG> Best highlighting mode of the terminal.
+ <STRONG>WA_UNDERLINE</STRONG> Underlining
+Index: doc/html/man/curs_bkgrnd.3x.html
+--- ncurses-5.9/doc/html/man/curs_bkgrnd.3x.html 2011-01-09 01:03:06.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_bkgrnd.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_bkgrnd.3x,v 1.4 2010/12/04 18:49:20 tom Exp @
++ * @Id: curs_bkgrnd.3x,v 1.5 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -102,7 +102,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines do not return a
+ value.
+
+Index: doc/html/man/curs_border_set.3x.html
+--- ncurses-5.9/doc/html/man/curs_border_set.3x.html 2011-01-22 21:01:21.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_border_set.3x.html 2013-03-09 22:11:58.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_border_set.3x,v 1.10 2011/01/15 12:56:18 tom Exp @
++ * @Id: curs_border_set.3x,v 1.11 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -154,7 +154,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ Upon successful completion, these functions return <STRONG>OK</STRONG>.
+ Otherwise, they return <STRONG>ERR</STRONG>.
+
+Index: doc/html/man/curs_get_wch.3x.html
+--- ncurses-5.9/doc/html/man/curs_get_wch.3x.html 2010-09-18 21:35:17.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_get_wch.3x.html 2013-03-09 22:11:59.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_get_wch.3x,v 1.7 2010/08/14 23:31:42 tom Exp @
++ * @Id: curs_get_wch.3x,v 1.8 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -122,7 +122,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ When <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> func-
+ tions successfully report the pressing of a function key,
+ they return <STRONG>KEY_CODE_YES</STRONG>. When they successfully report a
+Index: doc/html/man/curs_get_wstr.3x.html
+--- ncurses-5.9/doc/html/man/curs_get_wstr.3x.html 2011-01-09 01:03:08.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_get_wstr.3x.html 2013-03-09 22:11:59.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_get_wstr.3x,v 1.8 2010/12/04 18:36:44 tom Exp @
++ * @Id: curs_get_wstr.3x,v 1.9 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -118,7 +118,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ All of these functions return <STRONG>OK</STRONG> upon successful comple-
+ tion. Otherwise, they return <STRONG>ERR</STRONG>.
+
+Index: doc/html/man/curs_getcchar.3x.html
+--- ncurses-5.9/doc/html/man/curs_getcchar.3x.html 2011-01-09 01:03:07.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_getcchar.3x.html 2013-03-09 22:11:59.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2001-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_getcchar.3x,v 1.15 2010/12/04 18:36:44 tom Exp @
++ * @Id: curs_getcchar.3x,v 1.16 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -128,7 +128,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ When <EM>wch</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of
+ wide characters referenced by <EM>wcval</EM>, including one for a
+ trailing null.
+Index: doc/html/man/curs_getch.3x.html
+--- ncurses-5.9/doc/html/man/curs_getch.3x.html 2011-02-25 23:24:52.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_getch.3x.html 2013-03-09 22:11:59.000000000 +0000
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_getch.3x,v 1.36 2011/01/22 19:38:51 tom Exp @
++ * @Id: curs_getch.3x,v 1.37 2012/07/07 20:04:56 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -110,7 +110,6 @@
+ be returned by the next call to <STRONG>wgetch</STRONG>. There is just one
+ input queue for all windows.
+
+-
+ <STRONG>Function</STRONG> <STRONG>Keys</STRONG>
+ The following function keys, defined in <STRONG>&lt;curses.h&gt;</STRONG>, might
+ be returned by <STRONG>getch</STRONG> if <STRONG>keypad</STRONG> has been enabled. Note
+@@ -179,8 +178,8 @@
+ KEY_REPLACE Replace key
+ KEY_RESIZE Screen resized
+ KEY_RESTART Restart key
+- KEY_RESUME Resume key
+
++ KEY_RESUME Resume key
+ KEY_SAVE Save key
+ KEY_SBEG Shifted beginning key
+ KEY_SCANCEL Shifted cancel key
+@@ -233,21 +232,18 @@
+ sion of <STRONG>KEY_MOUSE</STRONG>.
+
+
+-
+ </PRE>
+ <H2>RETURN VALUE</H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an
+ integer value other than <STRONG>ERR</STRONG> (<STRONG>OK</STRONG> in the case of ungetch())
+ upon successful completion.
+
+- <STRONG>ungetch</STRONG>
+- returns an error if there is no more room in
+- the FIFO.
+-
+- <STRONG>wgetch</STRONG>
+- returns an error if the window pointer is
+- null, or if its timeout expires without having
+- any data.
++ <STRONG>ungetch</STRONG>
++ returns ERR if there is no more room in the FIFO.
++
++ <STRONG>wgetch</STRONG>
++ returns ERR if the window pointer is null, or if
++ its timeout expires without having any data.
+
+ Functions with a "mv" prefix first perform a cursor move-
+ ment using <STRONG>wmove</STRONG>, and return an error if the position is
+Index: doc/html/man/curs_in_wchstr.3x.html
+--- ncurses-5.9/doc/html/man/curs_in_wchstr.3x.html 2011-01-09 01:03:10.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_in_wchstr.3x.html 2013-03-09 22:11:59.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_in_wchstr.3x,v 1.8 2010/12/04 18:36:44 tom Exp @
++ * @Id: curs_in_wchstr.3x,v 1.9 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -90,7 +90,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ Upon successful completion, these functions return <STRONG>OK</STRONG>.
+ Otherwise, they return <STRONG>ERR</STRONG>.
+
+Index: doc/html/man/curs_inopts.3x.html
+--- ncurses-5.9/doc/html/man/curs_inopts.3x.html 2011-01-09 01:03:09.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_inopts.3x.html 2013-03-09 22:11:59.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_inopts.3x,v 1.15 2010/12/04 18:40:45 tom Exp @
++ * @Id: curs_inopts.3x,v 1.17 2012/04/28 19:09:15 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -229,24 +229,58 @@
+ ty, set echo or noecho explicitly just after initializa-
+ tion, even if your program remains in cooked mode.
+
++ When <STRONG>keypad</STRONG> is first enabled, ncurses loads the key-defi-
++ nitions for the current terminal description. If the ter-
++ minal description includes extended string capabilities,
++ e.g., from using the <STRONG>-x</STRONG> option of tic, then ncurses also
++ defines keys for the capabilities whose names begin with
++ "k". The corresponding keycodes are generated and (de-
++ pending on previous loads of terminal descriptions) may
++ differ from one execution of a program to the next. The
++ generated keycodes are recognized by the <STRONG>keyname</STRONG> function
++ (which will then return a name beginning with "k" denoting
++ the terminfo capability name rather than "K", used for
++ curses key-names). On the other hand, an application can
++ use <STRONG>define_key</STRONG> to establish a specific keycode for a given
++ string. This makes it possible for an application to
++ check for an extended capability's presence with <EM>tigetstr</EM>,
++ and reassign the keycode to match its own needs.
++
++ Low-level applications can use <STRONG>tigetstr</STRONG> to obtain the def-
++ inition of any particular string capability. Higher-level
++ applications which use the curses <STRONG>wgetch</STRONG> and similar func-
++ tions to return keycodes rely upon the order in which the
++ strings are loaded. If more than one key definition has
++ the same string value, then <STRONG>wgetch</STRONG> can return only one
++ keycode. Most curses implementations (including ncurses)
++ load key definitions in the order defined by the array of
++ string capability names. The last key to be loaded deter-
++ mines the keycode which will be returned. In ncurses, you
++ may also have extended capabilities interpreted as key
++ definitions. These are loaded after the predefined keys,
++ and if a capability's value is the same as a previously-
++ loaded key definition, the later definition is the one
++ used.
++
+
+ </PRE>
+ <H2>NOTES</H2><PRE>
+- Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>node-</STRONG>
+- <STRONG>lay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG>
++ Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>node-</STRONG>
++ <STRONG>lay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG>
+ may be macros.
+
+ The <STRONG>noraw</STRONG> and <STRONG>nocbreak</STRONG> calls follow historical practice in
+- that they attempt to restore to normal (`cooked') mode
+- from raw and cbreak modes respectively. Mixing raw/noraw
+- and cbreak/nocbreak calls leads to tty driver control
+- states that are hard to predict or understand; it is not
++ that they attempt to restore to normal (`cooked') mode
++ from raw and cbreak modes respectively. Mixing raw/noraw
++ and cbreak/nocbreak calls leads to tty driver control
++ states that are hard to predict or understand; it is not
+ recommended.
+
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="termio.7.html">termio(7)</A></STRONG>
++ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,
++ <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="termio.7.html">termio(7)</A></STRONG>
+
+
+
+Index: doc/html/man/curs_ins_wstr.3x.html
+--- ncurses-5.9/doc/html/man/curs_ins_wstr.3x.html 2011-01-09 01:03:10.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_ins_wstr.3x.html 2013-03-09 22:11:59.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2005,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_ins_wstr.3x,v 1.6 2010/12/04 18:38:55 tom Exp @
++ * @Id: curs_ins_wstr.3x,v 1.7 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -102,7 +102,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ Upon successful completion, these functions return OK.
+ Otherwise, they return ERR.
+
+Index: doc/html/man/curs_inwstr.3x.html
+--- ncurses-5.9/doc/html/man/curs_inwstr.3x.html 2011-01-09 01:03:11.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_inwstr.3x.html 2013-03-09 22:12:00.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_inwstr.3x,v 1.7 2010/12/04 18:38:55 tom Exp @
++ * @Id: curs_inwstr.3x,v 1.8 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -87,7 +87,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ All routines return <STRONG>ERR</STRONG> upon failure. Upon successful com-
+ pletion, the *<STRONG>inwstr</STRONG> routines return <STRONG>OK</STRONG>, and the *<STRONG>innwstr</STRONG>
+ routines return the number of characters read into the
+Index: doc/html/man/curs_mouse.3x.html
+--- ncurses-5.9/doc/html/man/curs_mouse.3x.html 2011-02-25 23:24:55.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_mouse.3x.html 2013-03-09 22:12:00.000000000 +0000
+@@ -98,7 +98,6 @@
+
+ Here are the mouse event type masks which may be defined:
+
+-
+ <EM>Name</EM> <EM>Description</EM>
+ ---------------------------------------------------------------------
+ BUTTON1_PRESSED mouse button 1 down
+@@ -111,10 +110,9 @@
+ BUTTON2_RELEASED mouse button 2 up
+ BUTTON2_CLICKED mouse button 2 clicked
+ BUTTON2_DOUBLE_CLICKED mouse button 2 double clicked
+-
+-
+ BUTTON2_TRIPLE_CLICKED mouse button 2 triple clicked
+ ---------------------------------------------------------------------
++
+ BUTTON3_PRESSED mouse button 3 down
+ BUTTON3_RELEASED mouse button 3 up
+ BUTTON3_CLICKED mouse button 3 clicked
+Index: doc/html/man/curs_sp_funcs.3x.html
+--- ncurses-5.9/doc/html/man/curs_sp_funcs.3x.html 2011-02-25 23:24:57.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_sp_funcs.3x.html 2013-03-09 22:12:01.000000000 +0000
+@@ -193,16 +193,15 @@
+ functions which improve the ability to manage multiple
+ screens. This feature can be added to any of the configu-
+ rations supported by ncurses; it adds new entrypoints
+- without changing the meaning of any of the existing ones.
+-
++ without changing the meaning of any of the existing ones.
+
+ <STRONG>IMPROVED</STRONG> <STRONG>FUNCTIONS</STRONG>
+- Most of the functions are new versions of existing func-
++ Most of the functions are new versions of existing func-
+ tions. A parameter is added at the front of the parameter
+ list. It is a SCREEN pointer.
+
+- The existing functions all use the current screen, which
+- is a static variable. The extended functions use the
++ The existing functions all use the current screen, which
++ is a static variable. The extended functions use the
+ specified screen, thereby reducing the number of variables
+ which must be modified to update multiple screens.
+
+@@ -210,22 +209,22 @@
+ Here are the new functions:
+
+ ceiling_panel
+- this returns a pointer to the topmost panel in the
++ this returns a pointer to the topmost panel in the
+ given screen.
+
+ ground_panel
+- this returns a pointer to the lowest panel in the
++ this returns a pointer to the lowest panel in the
+ given screen.
+
+ new_prescr
+- when creating a new screen, the library uses static
+- variables which have been preset, e.g., by
++ when creating a new screen, the library uses static
++ variables which have been preset, e.g., by
+ <STRONG><A HREF="use_env.3x.html">use_env(3x)</A></STRONG>, <STRONG><A HREF="filter.3x.html">filter(3x)</A></STRONG>, etc. With the screen-point-
+ er extension, there are situations where it must cre-
+- ate a current screen before the unextended library
+- does. The <STRONG>new_prescr</STRONG> function is used internally to
++ ate a current screen before the unextended library
++ does. The <STRONG>new_prescr</STRONG> function is used internally to
+ handle these cases. It is also provided as an entry-
+- point to allow applications to customize the library
++ point to allow applications to customize the library
+ initialization.
+
+
+@@ -234,37 +233,36 @@
+ This extension introduces some new names:
+
+ NCURSES_SP_FUNCS
+- This is set to the library patch-level number. In
+- the unextended library, this is zero (0), to make it
++ This is set to the library patch-level number. In
++ the unextended library, this is zero (0), to make it
+ useful for checking if the extension is provided.
+
+ NCURSES_SP_NAME
+- The new functions are named using the macro <EM>NCURS-</EM>
+- <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>, which hides the actual implementation.
++ The new functions are named using the macro <EM>NCURS-</EM>
++ <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>, which hides the actual implementation.
+ Currently this adds a "_sp" suffix to the name of the
+- unextended function. This manual page indexes the
++ unextended function. This manual page indexes the
+ extensions showing the full name. However the proper
+- usage of these functions uses the macro, to provide
++ usage of these functions uses the macro, to provide
+ for the possibility of changing the naming convention
+ for specific library configurations.
+
+ NCURSES_SP_OUTC
+- This is a new function-pointer type to use in the
+- screen-pointer functions where an <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM> is
++ This is a new function-pointer type to use in the
++ screen-pointer functions where an <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM> is
+ used in the unextended library.
+
+ NCURSES_OUTC
+- This is a function-pointer type used for the cases
+- where a function passes characters to the output
++ This is a function-pointer type used for the cases
++ where a function passes characters to the output
+ stream, e.g., <STRONG><A HREF="vidputs.3x.html">vidputs(3x)</A></STRONG>.
+
+
+-
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- These routines are specific to ncurses. They were not
+- supported on Version 7, BSD or System V implementations.
+- It is recommended that any code depending on ncurses ex-
++ These routines are specific to ncurses. They were not
++ supported on Version 7, BSD or System V implementations.
++ It is recommended that any code depending on ncurses ex-
+ tensions be conditioned using <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>.
+
+
+Index: doc/html/man/curs_termattrs.3x.html
+--- ncurses-5.9/doc/html/man/curs_termattrs.3x.html 2011-02-25 23:24:58.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_termattrs.3x.html 2013-03-09 22:12:01.000000000 +0000
+@@ -111,11 +111,11 @@
+
+ If a given terminal does not support a video attribute
+ that an application program is trying to use, <STRONG>curses</STRONG> may
+- substitute a different video attribute for it. The
+- <STRONG>termattrs</STRONG> and <STRONG>term_attrs</STRONG> functions return a logical <STRONG>OR</STRONG> of
+- all video attributes supported by the terminal using <EM>A</EM><STRONG>_</STRONG>
+- and <EM>WA</EM><STRONG>_</STRONG> constants respectively. This information is use-
+- ful when a <STRONG>curses</STRONG> program needs complete control over the
++ substitute a different video attribute for it. The <STRONG>ter-</STRONG>
++ <STRONG>mattrs</STRONG> and <STRONG>term_attrs</STRONG> functions return a logical <STRONG>OR</STRONG> of all
++ video attributes supported by the terminal using <EM>A</EM><STRONG>_</STRONG> and
++ <EM>WA</EM><STRONG>_</STRONG> constants respectively. This information is useful
++ when a <STRONG>curses</STRONG> program needs complete control over the
+ appearance of the screen.
+
+ The <STRONG>termname</STRONG> routine returns the terminal name used by
+Index: doc/html/man/curs_termcap.3x.html
+--- ncurses-5.9/doc/html/man/curs_termcap.3x.html 2011-01-09 01:03:14.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_termcap.3x.html 2013-03-09 22:12:01.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_termcap.3x,v 1.26 2010/12/04 18:38:55 tom Exp @
++ * @Id: curs_termcap.3x,v 1.30 2013/01/19 15:58:48 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -79,39 +79,62 @@
+ bilities of entries for which a terminfo entry has been
+ compiled.
+
+- The <STRONG>tgetent</STRONG> routine loads the entry for <EM>name</EM>. It returns
+- 1 on success, 0 if there is no such entry, and -1 if the
+- terminfo database could not be found. The emulation ig-
+- nores the buffer pointer <EM>bp</EM>.
++ <STRONG>INITIALIZATION</STRONG>
++ The <STRONG>tgetent</STRONG> routine loads the entry for <EM>name</EM>. It returns:
+
++ 1 on success,
++
++ 0 if there is no such entry (or that it is a generic
++ type, having too little information for curses ap-
++ plications to run), and
++
++ -1 if the terminfo database could not be found.
++
++ This differs from the <EM>termcap</EM> library in two ways:
++
++ <STRONG>o</STRONG> The emulation ignores the buffer pointer <EM>bp</EM>. The
++ <EM>termcap</EM> library would store a copy of the terminal
++ description in the area referenced by this pointer.
++ However, ncurses stores its terminal descriptions
++ in compiled binary form, which is not the same
++ thing.
++
++ <STRONG>o</STRONG> There is a difference in return codes. The <EM>termcap</EM>
++ library does not check if the terminal description
++ is marked with the <EM>generic</EM> capability, or if the
++ terminal description has cursor-addressing.
++
++ <STRONG>CAPABILITY</STRONG> <STRONG>VALUES</STRONG>
+ The <STRONG>tgetflag</STRONG> routine gets the boolean entry for <EM>id</EM>, or ze-
+ ro if it is not available.
+
+- The <STRONG>tgetnum</STRONG> routine gets the numeric entry for <EM>id</EM>, or -1
++ The <STRONG>tgetnum</STRONG> routine gets the numeric entry for <EM>id</EM>, or -1
+ if it is not available.
+
+- The <STRONG>tgetstr</STRONG> routine returns the string entry for <EM>id</EM>, or
+- zero if it is not available. Use <STRONG>tputs</STRONG> to output the re-
+- turned string. The return value will also be copied to
+- the buffer pointed to by <EM>area</EM>, and the <EM>area</EM> value will be
++ The <STRONG>tgetstr</STRONG> routine returns the string entry for <EM>id</EM>, or
++ zero if it is not available. Use <STRONG>tputs</STRONG> to output the re-
++ turned string. The return value will also be copied to
++ the buffer pointed to by <EM>area</EM>, and the <EM>area</EM> value will be
+ updated to point past the null ending this value.
+
+ Only the first two characters of the <STRONG>id</STRONG> parameter of <STRONG>tget-</STRONG>
+ <STRONG>flag</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetstr</STRONG> are compared in lookups.
+
+- The <STRONG>tgoto</STRONG> routine instantiates the parameters into the
+- given capability. The output from this routine is to be
++ <STRONG>FORMATTING</STRONG> <STRONG>CAPABILITIES</STRONG>
++ The <STRONG>tgoto</STRONG> routine instantiates the parameters into the
++ given capability. The output from this routine is to be
+ passed to <STRONG>tputs</STRONG>.
+
+- The <STRONG>tputs</STRONG> routine is described on the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
++ The <STRONG>tputs</STRONG> routine is described on the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ manual page. It can retrieve capabilities by either term-
+ cap or terminfo name.
+
++ <STRONG>GLOBAL</STRONG> <STRONG>VARIABLES</STRONG>
+ The variables <STRONG>PC</STRONG>, <STRONG>UP</STRONG> and <STRONG>BC</STRONG> are set by <STRONG>tgetent</STRONG> to the ter-
+ minfo entry's data for <STRONG>pad_char</STRONG>, <STRONG>cursor_up</STRONG> and
+- <STRONG>backspace_if_not_bs</STRONG>, respectively. <STRONG>UP</STRONG> is not used by
++ <STRONG>backspace_if_not_bs</STRONG>, respectively. <STRONG>UP</STRONG> is not used by
+ ncurses. <STRONG>PC</STRONG> is used in the <STRONG>tdelay_output</STRONG> function. <STRONG>BC</STRONG> is
+- used in the <STRONG>tgoto</STRONG> emulation. The variable <STRONG>ospeed</STRONG> is set
++ used in the <STRONG>tgoto</STRONG> emulation. The variable <STRONG>ospeed</STRONG> is set
+ by ncurses in a system-specific coding to reflect the ter-
+ minal speed.
+
+@@ -119,7 +142,7 @@
+ </PRE>
+ <H2>RETURN VALUE</H2><PRE>
+ Except where explicitly noted, routines that return an in-
+- teger return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 only specifies
++ teger return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 only specifies
+ "an integer value other than <STRONG>ERR</STRONG>") upon successful comple-
+ tion.
+
+@@ -129,55 +152,77 @@
+ </PRE>
+ <H2>BUGS</H2><PRE>
+ If you call <STRONG>tgetstr</STRONG> to fetch <STRONG>ca</STRONG> or any other parameterized
+- string, be aware that it will be returned in terminfo no-
++ string, be aware that it will be returned in terminfo no-
+ tation, not the older and not-quite-compatible termcap no-
+- tation. This will not cause problems if all you do with
+- it is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>, which both expand terminfo-
+- style strings as terminfo. (The <STRONG>tgoto</STRONG> function, if con-
+- figured to support termcap, will check if the string is
+- indeed terminfo-style by looking for "%p" parameters or
+- "$&lt;..&gt;" delays, and invoke a termcap-style parser if the
++ tation. This will not cause problems if all you do with
++ it is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>, which both expand terminfo-
++ style strings as terminfo. (The <STRONG>tgoto</STRONG> function, if con-
++ figured to support termcap, will check if the string is
++ indeed terminfo-style by looking for "%p" parameters or
++ "$&lt;..&gt;" delays, and invoke a termcap-style parser if the
+ string does not appear to be terminfo).
+
+- Because terminfo conventions for representing padding in
+- string capabilities differ from termcap's, <STRONG>tputs("50");</STRONG>
+- will put out a literal "50" rather than busy-waiting for
++ Because terminfo conventions for representing padding in
++ string capabilities differ from termcap's, <STRONG>tputs("50");</STRONG>
++ will put out a literal "50" rather than busy-waiting for
+ 50 milliseconds. Cope with it.
+
+- Note that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG>
+- string. One consequence of this is that termcap applica-
+- tions assume me (terminfo <STRONG>sgr0</STRONG>) does not reset the alter-
+- nate character set. This implementation checks for, and
++ Note that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG>
++ string. One consequence of this is that termcap applica-
++ tions assume me (terminfo <STRONG>sgr0</STRONG>) does not reset the alter-
++ nate character set. This implementation checks for, and
+ modifies the data shown to the termcap interface to accom-
+ modate termcap's limitation in this respect.
+
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- The XSI Curses standard, Issue 4 describes these func-
+- tions. However, they are marked TO BE WITHDRAWN and may
++ The XSI Curses standard, Issue 4 describes these func-
++ tions. However, they are marked TO BE WITHDRAWN and may
+ be removed in future versions.
+
+- Neither the XSI Curses standard nor the SVr4 man pages
+- documented the return values of <STRONG>tgetent</STRONG> correctly, though
+- all three were in fact returned ever since SVr1. In par-
+- ticular, an omission in the XSI Curses documentation has
+- been misinterpreted to mean that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG> or
++ Neither the XSI Curses standard nor the SVr4 man pages
++ documented the return values of <STRONG>tgetent</STRONG> correctly, though
++ all three were in fact returned ever since SVr1. In par-
++ ticular, an omission in the XSI Curses documentation has
++ been misinterpreted to mean that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG> or
+ <STRONG>ERR</STRONG>. Because the purpose of these functions is to provide
+- compatibility with the <EM>termcap</EM> library, that is a defect
++ compatibility with the <EM>termcap</EM> library, that is a defect
+ in XCurses, Issue 4, Version 2 rather than in ncurses.
+
+- External variables are provided for support of certain
+- termcap applications. However, termcap applications' use
++ External variables are provided for support of certain
++ termcap applications. However, termcap applications' use
+ of those variables is poorly documented, e.g., not distin-
+- guishing between input and output. In particular, some
++ guishing between input and output. In particular, some
+ applications are reported to declare and/or modify <STRONG>ospeed</STRONG>.
+
++ The comment that only the first two characters of the <STRONG>id</STRONG>
++ parameter are used escapes many application developers.
++ The original BSD 4.2 termcap library (and historical
++ relics thereof) did not require a trailing null NUL on the
++ parameter name passed to <STRONG>tgetstr</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetflag</STRONG>.
++ Some applications assume that the termcap interface does
++ not require the trailing NUL for the parameter name. Tak-
++ ing into account these issues:
++
++ <STRONG>o</STRONG> As a special case, <STRONG>tgetflag</STRONG> matched against a single-
++ character identifier provided that was at the end of
++ the terminal description. You should not rely upon
++ this behavior in portable programs. This implementa-
++ tion disallows matches against single-character capa-
++ bility names.
++
++ <STRONG>o</STRONG> This implementation disallows matches by the termcap
++ interface against extended capability names which are
++ longer than two characters.
++
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="putc.3.html">putc(3)</A></STRONG>.
+
++ http://invisible-island.net/ncurses/tctest.html
++
+
+
+ <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+Index: doc/html/man/curs_terminfo.3x.html
+--- ncurses-5.9/doc/html/man/curs_terminfo.3x.html 2011-01-09 01:03:15.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_terminfo.3x.html 2013-03-09 22:12:01.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1999-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2011,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_terminfo.3x,v 1.35 2010/12/04 18:38:55 tom Exp @
++ * @Id: curs_terminfo.3x,v 1.37 2013/01/12 18:11:40 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -68,7 +68,7 @@
+ <STRONG>int</STRONG> <STRONG>putp(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>vidputs(chtype</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
+ <STRONG>int</STRONG> <STRONG>vidattr(chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>vid_puts(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(char));</STRONG>
++ <STRONG>int</STRONG> <STRONG>vid_puts(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
+ <STRONG>int</STRONG> <STRONG>vid_attr(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvcur(int</STRONG> <EM>oldrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newrow</EM>, int <EM>newcol</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tigetflag(char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+Index: doc/html/man/curs_threads.3x.html
+--- ncurses-5.9/doc/html/man/curs_threads.3x.html 2011-01-09 01:03:15.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_threads.3x.html 2013-03-09 22:12:01.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2008-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_threads.3x,v 1.18 2010/12/04 18:38:55 tom Exp @
++ * @Id: curs_threads.3x,v 1.19 2012/05/26 17:03:26 tom Exp @
+ * ***************************************************************************
+ * ***************************************************************************
+ -->
+@@ -61,9 +61,9 @@
+ <STRONG>int</STRONG> <STRONG>get_escdelay(void);</STRONG>
+ <STRONG>int</STRONG> <STRONG>set_escdelay(int</STRONG> <STRONG>size);</STRONG>
+ <STRONG>int</STRONG> <STRONG>set_tabsize(int</STRONG> <STRONG>size);</STRONG>
+- <STRONG>int</STRONG> <STRONG>use_screen(SCREEN</STRONG> <STRONG>*scr,</STRONG> <STRONG>NCURSES_WINDOW_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG>
++ <STRONG>int</STRONG> <STRONG>use_screen(SCREEN</STRONG> <STRONG>*scr,</STRONG> <STRONG>NCURSES_SCREEN_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG>
+ <STRONG>*data);</STRONG>
+- <STRONG>int</STRONG> <STRONG>use_window(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>NCURSES_SCREEN_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG>
++ <STRONG>int</STRONG> <STRONG>use_window(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>NCURSES_WINDOW_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG>
+ <STRONG>*data);</STRONG>
+
+
+Index: doc/html/man/curs_util.3x.html
+--- ncurses-5.9/doc/html/man/curs_util.3x.html 2011-02-25 23:24:59.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/curs_util.3x.html 2013-03-09 22:12:01.000000000 +0000
+@@ -1,7 +1,8 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
++ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_util.3x,v 1.32 2010/12/04 18:38:55 tom Exp @
++ * @Id: curs_util.3x,v 1.36 2012/07/21 18:51:10 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -48,8 +49,8 @@
+ </PRE>
+ <H2>NAME</H2><PRE>
+ <STRONG>delay_output</STRONG>, <STRONG>filter</STRONG>, <STRONG>flushinp</STRONG>, <STRONG>getwin</STRONG>, <STRONG>key_name</STRONG>, <STRONG>keyname</STRONG>,
+- <STRONG>nofilter</STRONG>, <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>wunctrl</STRONG> - miscellaneous
+- <STRONG>curses</STRONG> utility routines
++ <STRONG>nofilter</STRONG>, <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>use_tioctl</STRONG>, <STRONG>wunctrl</STRONG> -
++ miscellaneous <STRONG>curses</STRONG> utility routines
+
+
+ </PRE>
+@@ -63,6 +64,7 @@
+ <STRONG>void</STRONG> <STRONG>filter(void);</STRONG>
+ <STRONG>void</STRONG> <STRONG>nofilter(void);</STRONG>
+ <STRONG>void</STRONG> <STRONG>use_env(bool</STRONG> <STRONG>f);</STRONG>
++ <STRONG>void</STRONG> <STRONG>use_tioctl(bool</STRONG> <STRONG>f);</STRONG>
+ <STRONG>int</STRONG> <STRONG>putwin(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>FILE</STRONG> <STRONG>*filep);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*getwin(FILE</STRONG> <STRONG>*filep);</STRONG>
+ <STRONG>int</STRONG> <STRONG>delay_output(int</STRONG> <STRONG>ms);</STRONG>
+@@ -122,16 +124,66 @@
+ <STRONG>$TERM</STRONG>. The limitation arises because the <STRONG>filter</STRONG> routine
+ modifies the in-memory copy of the terminal information.
+
+- The <STRONG>use_env</STRONG> routine, if used, is called before <STRONG>initscr</STRONG> or
+- <STRONG>newterm</STRONG> are called. When called with <STRONG>FALSE</STRONG> as an argu-
+- ment, the values of <STRONG>lines</STRONG> and <STRONG>columns</STRONG> specified in the
+- <EM>terminfo</EM> database will be used, even if environment vari-
+- ables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> (used by default) are set, or if
+- <STRONG>curses</STRONG> is running in a window (in which case default be-
+- havior would be to use the window size if <STRONG>LINES</STRONG> and
+- <STRONG>COLUMNS</STRONG> are not set). Note that setting <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG>
+- overrides the corresponding size which may be obtained
+- from the operating system.
++ The <STRONG>use_env</STRONG> routine, if used, should be called before
++ <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> are called (because those compute the
++ screen size). It modifies the way <STRONG>ncurses</STRONG> treats environ-
++ ment variables when determining the screen size.
++
++ <STRONG>o</STRONG> Normally ncurses looks first at the terminal database
++ for the screen size.
++
++ If <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> for parameter, it
++ stops here unless If <STRONG>use_tioctl</STRONG> was also called with
++ <STRONG>TRUE</STRONG> for parameter.
++
++ <STRONG>o</STRONG> Then it asks for the screen size via operating system
++ calls. If successful, it overrides the values from
++ the terminal database.
++
++ <STRONG>o</STRONG> Finally (unless <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> parame-
++ ter), ncurses examines the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environ-
++ ment variables, using a value in those to override the
++ results from the operating system or terminal data-
++ base.
++
++ Ncurses also updates the screen size in response to
++ SIGWINCH, unless overridden by the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG>
++ environment variables,
++
++ The <STRONG>use_tioctl</STRONG> routine, if used, should be called before
++ <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> are called (because those compute the
++ screen size). After <STRONG>use_tioctl</STRONG> is called with <STRONG>TRUE</STRONG> as an
++ argument, ncurses modifies the last step in its computa-
++ tion of screen size as follows:
++
++ <STRONG>o</STRONG> checks if the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables
++ are set to a number greater than zero.
++
++ <STRONG>o</STRONG> for each, ncurses updates the corresponding environ-
++ ment variable with the value that it has obtained via
++ operating system call or from the terminal database.
++
++ <STRONG>o</STRONG> ncurses re-fetches the value of the environment vari-
++ ables so that it is still the environment variables
++ which set the screen size.
++
++ The <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> routines combine as summarized
++ here:
++
++ <EM>use</EM><STRONG>_</STRONG><EM>env</EM> <EM>use</EM><STRONG>_</STRONG><EM>tioctl</EM> <EM>Summary</EM>
++ ----------------------------------------------------------------
++ TRUE FALSE This is the default behavior. ncurses
++ uses operating system calls unless over-
++ ridden by $LINES or $COLUMNS environment
++ variables.
++ TRUE TRUE ncurses updates $LINES and $COLUMNS
++ based on operating system calls.
++
++ FALSE TRUE ncurses ignores $LINES and $COLUMNS, us-
++ es operating system calls to obtain
++ size.
++ FALSE FALSE ncurses relies on the terminal database
++ to determine size.
+
+ The <STRONG>putwin</STRONG> routine writes all data associated with window
+ <EM>win</EM> into the file to which <EM>filep</EM> points. This information
+@@ -241,16 +293,17 @@
+ loaded when the terminal description is read by the li-
+ brary.
+
+- The <STRONG>nofilter</STRONG> routine is specific to ncurses. It was not
+- supported on Version 7, BSD or System V implementations.
+- It is recommended that any code depending on ncurses ex-
+- tensions be conditioned using NCURSES_VERSION.
++ The <STRONG>nofilter</STRONG> and <STRONG>use_tioctl</STRONG> routines are specific to
++ ncurses. They were not supported on Version 7, BSD or
++ System V implementations. It is recommended that any code
++ depending on ncurses extensions be conditioned using
++ NCURSES_VERSION.
+
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG>curs_ker-</STRONG>
+- <STRONG><A HREF="curs_kernel.3x.html">nel(3x)</A></STRONG>, <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>lega-</STRONG>
++ <STRONG><A HREF="curs_kernel.3x.html">nel(3x)</A></STRONG>, <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>lega-</STRONG>
+ <STRONG><A HREF="legacy_coding.3x.html">cy_coding(3x)</A></STRONG>.
+
+
+Index: doc/html/man/form.3x.html
+--- ncurses-5.9/doc/html/man/form.3x.html 2011-04-04 22:46:40.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/form.3x.html 2013-03-09 22:12:01.000000000 +0000
+@@ -243,7 +243,7 @@
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/man/form_field.3x.html
+--- ncurses-5.9/doc/html/man/form_field.3x.html 2011-01-09 01:03:18.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/form_field.3x.html 2013-03-09 22:12:01.000000000 +0000
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: form_field.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
++ * @Id: form_field.3x,v 1.11 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -78,7 +78,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ The function <STRONG>form_fields</STRONG> returns a pointer (which may be
+ <STRONG>NULL</STRONG>). It does not set errno.
+
+Index: doc/html/man/form_field_buffer.3x.html
+--- ncurses-5.9/doc/html/man/form_field_buffer.3x.html 2011-02-25 23:25:01.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/form_field_buffer.3x.html 2013-03-09 22:12:02.000000000 +0000
+@@ -151,8 +151,8 @@
+ When configured for wide characters, <STRONG>field_buffer</STRONG> returns
+ a pointer to temporary storage (allocated and freed by the
+ library). The application should not attempt to modify
+- the data. It will be freed on the next call to
+- <STRONG>field_buffer</STRONG> to return the same buffer. <STRONG>&lt;curses.h&gt;</STRONG>.
++ the data. It will be freed on the next call to <STRONG>field_buf-</STRONG>
++ <STRONG>fer</STRONG> to return the same buffer. <STRONG>&lt;curses.h&gt;</STRONG>.
+
+
+ </PRE>
+Index: doc/html/man/form_fieldtype.3x.html
+--- ncurses-5.9/doc/html/man/form_fieldtype.3x.html 2011-02-25 23:25:02.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/form_fieldtype.3x.html 2013-03-09 22:12:02.000000000 +0000
+@@ -112,8 +112,8 @@
+ <STRONG>REQ_PREV_CHOICE</STRONG> assume that the possible values of a field
+ form an ordered set, and provide the forms user with a way
+ to move through the set. The <STRONG>set_fieldtype_choice</STRONG> func-
+- tion allows forms programmers to define successor and
+- predecessor functions for the field type. These functions
++ tion allows forms programmers to define successor and pre-
++ decessor functions for the field type. These functions
+ take the field pointer and an argument-block structure as
+ arguments.
+
+Index: doc/html/man/infocmp.1m.html
+--- ncurses-5.9/doc/html/man/infocmp.1m.html 2011-04-04 22:46:44.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/infocmp.1m.html 2013-03-09 22:12:03.000000000 +0000
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: infocmp.1m,v 1.46 2010/12/04 18:40:45 tom Exp @
++ * @Id: infocmp.1m,v 1.53 2013/02/02 22:07:35 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -53,7 +53,7 @@
+
+ </PRE>
+ <H2>SYNOPSIS</H2><PRE>
+- <STRONG>infocmp</STRONG> [<STRONG>-1CEFGILTUVcdegilnpqrtux</STRONG>]
++ <STRONG>infocmp</STRONG> [<STRONG>-1CDEFGIKLTUVcdegilnpqrtux</STRONG>]
+ [<STRONG>-v</STRONG> <EM>n</EM>] [<STRONG>-s</STRONG> <STRONG>d</STRONG>| <STRONG>i</STRONG>| <STRONG>l</STRONG>| <STRONG>c</STRONG>] [<STRONG>-R</STRONG> <STRONG>subset</STRONG>]
+ [<STRONG>-w</STRONG> <EM>width</EM>] [<STRONG>-A</STRONG> <EM>directory</EM>] [<STRONG>-B</STRONG> <EM>directory</EM>]
+ [<EM>termname</EM>...]
+@@ -72,76 +72,91 @@
+ <STRONG>Default</STRONG> <STRONG>Options</STRONG>
+ If no options are specified and zero or one <EM>termnames</EM> are
+ specified, the <STRONG>-I</STRONG> option will be assumed. If more than
+- one <EM>termname</EM> is specified, the <STRONG>-d</STRONG> option will be assumed.
++ one <EM>termname</EM> is specified, the <STRONG>-d</STRONG> option will be assumed.
+
+ <STRONG>Comparison</STRONG> <STRONG>Options</STRONG> <STRONG>[-d]</STRONG> <STRONG>[-c]</STRONG> <STRONG>[-n]</STRONG>
+- <STRONG>infocmp</STRONG> compares the <STRONG>terminfo</STRONG> description of the first
+- terminal <EM>termname</EM> with each of the descriptions given by
+- the entries for the other terminal's <EM>termnames</EM>. If a
+- capability is defined for only one of the terminals, the
+- value returned will depend on the type of the capability:
+- <STRONG>F</STRONG> for boolean variables, <STRONG>-1</STRONG> for integer variables, and
++ <STRONG>infocmp</STRONG> compares the <STRONG>terminfo</STRONG> description of the first
++ terminal <EM>termname</EM> with each of the descriptions given by
++ the entries for the other terminal's <EM>termnames</EM>. If a
++ capability is defined for only one of the terminals, the
++ value returned will depend on the type of the capability:
++ <STRONG>F</STRONG> for boolean variables, <STRONG>-1</STRONG> for integer variables, and
+ <STRONG>NULL</STRONG> for string variables.
+
+- The <STRONG>-d</STRONG> option produces a list of each capability that is
+- different between two entries. This option is useful to
+- show the difference between two entries, created by dif-
++ The <STRONG>-d</STRONG> option produces a list of each capability that is
++ different between two entries. This option is useful to
++ show the difference between two entries, created by dif-
+ ferent people, for the same or similar terminals.
+
+- The <STRONG>-c</STRONG> option produces a list of each capability that is
+- common between two entries. Capabilities that are not set
+- are ignored. This option can be used as a quick check to
+- see if the <STRONG>-u</STRONG> option is worth using.
+-
+- The <STRONG>-n</STRONG> option produces a list of each capability that is
+- in neither entry. If no <EM>termnames</EM> are given, the environ-
+- ment variable <STRONG>TERM</STRONG> will be used for both of the <EM>termnames</EM>.
+- This can be used as a quick check to see if anything was
+- left out of a description.
++ The <STRONG>-c</STRONG> option produces a list of each capability that is
++ common between two or more entries. Capabilities that are
++ not set are ignored. This option can be used as a quick
++ check to see if the <STRONG>-u</STRONG> option is worth using.
++
++ The <STRONG>-n</STRONG> option produces a list of each capability that is
++ in none of the given entries. If no <EM>termnames</EM> are given,
++ the environment variable <STRONG>TERM</STRONG> will be used for both of the
++ <EM>termnames</EM>. This can be used as a quick check to see if
++ anything was left out of a description.
+
+ <STRONG>Source</STRONG> <STRONG>Listing</STRONG> <STRONG>Options</STRONG> <STRONG>[-I]</STRONG> <STRONG>[-L]</STRONG> <STRONG>[-C]</STRONG> <STRONG>[-r]</STRONG>
+- The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing
++ The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing
+ for each terminal named.
+
+ <STRONG>-I</STRONG> use the <STRONG>terminfo</STRONG> names
+ <STRONG>-L</STRONG> use the long C variable name listed in &lt;<STRONG>term.h</STRONG>&gt;
+ <STRONG>-C</STRONG> use the <STRONG>termcap</STRONG> names
+ <STRONG>-r</STRONG> when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form
++ <STRONG>-K</STRONG> modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility.
+
+- If no <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG>
++ If no <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG>
+ will be used for the terminal name.
+
+- The source produced by the <STRONG>-C</STRONG> option may be used directly
+- as a <STRONG>termcap</STRONG> entry, but not all parameterized strings can
++ The source produced by the <STRONG>-C</STRONG> option may be used directly
++ as a <STRONG>termcap</STRONG> entry, but not all parameterized strings can
+ be changed to the <STRONG>termcap</STRONG> format. <STRONG>infocmp</STRONG> will attempt to
+- convert most of the parameterized information, and any-
+- thing not converted will be plainly marked in the output
++ convert most of the parameterized information, and any-
++ thing not converted will be plainly marked in the output
+ and commented out. These should be edited by hand.
+
+- All padding information for strings will be collected
+- together and placed at the beginning of the string where
+- <STRONG>termcap</STRONG> expects it. Mandatory padding (padding informa-
++ For best results when converting to <STRONG>termcap</STRONG> format, you
++ should use both <STRONG>-C</STRONG> and <STRONG>-r</STRONG>. Normally a termcap description
++ is limited to 1023 bytes. infocmp trims away less essen-
++ tial parts to make it fit. If you are converting to one
++ of the (rare) termcap implementations which accept an
++ unlimited size of termcap, you may want to add the <STRONG>-T</STRONG>
++ option. More often however, you must help the termcap
++ implementation, and trim excess whitespace (use the <STRONG>-0</STRONG>
++ option for that).
++
++ All padding information for strings will be collected
++ together and placed at the beginning of the string where
++ <STRONG>termcap</STRONG> expects it. Mandatory padding (padding informa-
+ tion with a trailing '/') will become optional.
+
+ All <STRONG>termcap</STRONG> variables no longer supported by <STRONG>terminfo</STRONG>, but
+ which are derivable from other <STRONG>terminfo</STRONG> variables, will be
+ output. Not all <STRONG>terminfo</STRONG> capabilities will be translated;
+- only those variables which were part of <STRONG>termcap</STRONG> will nor-
+- mally be output. Specifying the <STRONG>-r</STRONG> option will take off
+- this restriction, allowing all capabilities to be output
+- in <EM>termcap</EM> form.
++ only those variables which were part of <STRONG>termcap</STRONG> will nor-
++ mally be output. Specifying the <STRONG>-r</STRONG> option will take off
++ this restriction, allowing all capabilities to be output
++ in <EM>termcap</EM> form. Normally you would use both the <STRONG>-C</STRONG> and
++ <STRONG>-r</STRONG> options. The actual format used incorporates some
++ improvements for escaped characters from terminfo format.
++ For a stricter BSD-compatible translation, use the <STRONG>-K</STRONG>
++ option rather than <STRONG>-C</STRONG>.
+
+ Note that because padding is collected to the beginning of
+- the capability, not all capabilities are output. Manda-
+- tory padding is not supported. Because <STRONG>termcap</STRONG> strings
+- are not as flexible, it is not always possible to convert
+- a <STRONG>terminfo</STRONG> string capability into an equivalent <STRONG>termcap</STRONG>
+- format. A subsequent conversion of the <STRONG>termcap</STRONG> file back
+- into <STRONG>terminfo</STRONG> format will not necessarily reproduce the
++ the capability, not all capabilities are output. Manda-
++ tory padding is not supported. Because <STRONG>termcap</STRONG> strings
++ are not as flexible, it is not always possible to convert
++ a <STRONG>terminfo</STRONG> string capability into an equivalent <STRONG>termcap</STRONG>
++ format. A subsequent conversion of the <STRONG>termcap</STRONG> file back
++ into <STRONG>terminfo</STRONG> format will not necessarily reproduce the
+ original <STRONG>terminfo</STRONG> source.
+
+- Some common <STRONG>terminfo</STRONG> parameter sequences, their <STRONG>termcap</STRONG>
+- equivalents, and some terminal types which commonly have
++ Some common <STRONG>terminfo</STRONG> parameter sequences, their <STRONG>termcap</STRONG>
++ equivalents, and some terminal types which commonly have
+ such sequences, are:
+
+ <STRONG>terminfo</STRONG> <STRONG>termcap</STRONG> Representative Terminals
+@@ -154,66 +169,77 @@
+ <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG> <STRONG>%r</STRONG> hp
+
+ <STRONG>Use=</STRONG> <STRONG>Option</STRONG> <STRONG>[-u]</STRONG>
+- The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of
+- the first terminal <EM>termname</EM> which is relative to the sum
+- of the descriptions given by the entries for the other
+- terminals <EM>termnames</EM>. It does this by analyzing the dif-
+- ferences between the first <EM>termname</EM> and the other
++ The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of
++ the first terminal <EM>termname</EM> which is relative to the sum
++ of the descriptions given by the entries for the other
++ terminals <EM>termnames</EM>. It does this by analyzing the dif-
++ ferences between the first <EM>termname</EM> and the other
+ <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields for
+- the other terminals. In this manner, it is possible to
+- retrofit generic terminfo entries into a terminal's
++ the other terminals. In this manner, it is possible to
++ retrofit generic terminfo entries into a terminal's
+ description. Or, if two similar terminals exist, but were
+- coded at different times or by different people so that
++ coded at different times or by different people so that
+ each description is a full description, using <STRONG>infocmp</STRONG> will
+ show what can be done to change one description to be rel-
+ ative to the other.
+
+ A capability will get printed with an at-sign (@) if it no
+- longer exists in the first <EM>termname</EM>, but one of the other
+- <EM>termname</EM> entries contains a value for it. A capability's
+- value gets printed if the value in the first <EM>termname</EM> is
+- not found in any of the other <EM>termname</EM> entries, or if the
++ longer exists in the first <EM>termname</EM>, but one of the other
++ <EM>termname</EM> entries contains a value for it. A capability's
++ value gets printed if the value in the first <EM>termname</EM> is
++ not found in any of the other <EM>termname</EM> entries, or if the
+ first of the other <EM>termname</EM> entries that has this capabil-
+- ity gives a different value for the capability than that
++ ity gives a different value for the capability than that
+ in the first <EM>termname</EM>.
+
+- The order of the other <EM>termname</EM> entries is significant.
+- Since the terminfo compiler <STRONG>tic</STRONG> does a left-to-right scan
++ The order of the other <EM>termname</EM> entries is significant.
++ Since the terminfo compiler <STRONG>tic</STRONG> does a left-to-right scan
+ of the capabilities, specifying two <STRONG>use=</STRONG> entries that con-
+ tain differing entries for the same capabilities will pro-
+- duce different results depending on the order that the
+- entries are given in. <STRONG>infocmp</STRONG> will flag any such incon-
+- sistencies between the other <EM>termname</EM> entries as they are
++ duce different results depending on the order that the
++ entries are given in. <STRONG>infocmp</STRONG> will flag any such incon-
++ sistencies between the other <EM>termname</EM> entries as they are
+ found.
+
+- Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry
++ Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry
+ that contains that capability will cause the second speci-
+- fication to be ignored. Using <STRONG>infocmp</STRONG> to recreate a
++ fication to be ignored. Using <STRONG>infocmp</STRONG> to recreate a
+ description can be a useful check to make sure that every-
+- thing was specified correctly in the original source
++ thing was specified correctly in the original source
+ description.
+
+- Another error that does not cause incorrect compiled
+- files, but will slow down the compilation time, is speci-
+- fying extra <STRONG>use=</STRONG> fields that are superfluous. <STRONG>infocmp</STRONG>
+- will flag any other <EM>termname</EM> <EM>use=</EM> fields that were not
++ Another error that does not cause incorrect compiled
++ files, but will slow down the compilation time, is speci-
++ fying extra <STRONG>use=</STRONG> fields that are superfluous. <STRONG>infocmp</STRONG>
++ will flag any other <EM>termname</EM> <EM>use=</EM> fields that were not
+ needed.
+
+ <STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>]
+- The location of the compiled <STRONG>terminfo</STRONG> database is taken
+- from the environment variable <STRONG>TERMINFO</STRONG> . If the variable
+- is not defined, or the terminal is not found in that loca-
+- tion, the system <STRONG>terminfo</STRONG> database, in <STRONG>/usr/share/ter-</STRONG>
+- <STRONG>minfo</STRONG>, will be used. The options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> may be used to
+- override this location. The <STRONG>-A</STRONG> option will set <STRONG>TERMINFO</STRONG>
+- for the first <EM>termname</EM> and the <STRONG>-B</STRONG> option will set <STRONG>TERMINFO</STRONG>
+- for the other <EM>termnames</EM>. With this, it is possible to
+- compare descriptions for a terminal with the same name
+- located in two different databases. This is useful for
+- comparing descriptions for the same terminal created by
+- different people.
++ Like other <STRONG>ncurses</STRONG> utilities, infocmp looks for the termi-
++ nal descriptions in several places. You can use the <STRONG>TER-</STRONG>
++ <STRONG>MINFO</STRONG> and <STRONG>TERMINFO_DIRS</STRONG> environment variables to override
++ the compiled-in default list of places to search (see
++ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details).
++
++ You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the
++ list of places to search when comparing terminal descrip-
++ tions:
++
++ <STRONG>o</STRONG> The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM>
++
++ <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other
++ <EM>termnames</EM>.
++
++ Using these options, it is possible to compare descrip-
++ tions for a terminal with the same name located in two
++ different databases. For instance, you can use this fea-
++ ture for comparing descriptions for the same terminal cre-
++ ated by different people.
+
+ <STRONG>Other</STRONG> <STRONG>Options</STRONG>
++ <STRONG>-0</STRONG> causes the fields to be printed on one line, without
++ wrapping.
++
+ <STRONG>-1</STRONG> causes the fields to be printed out one to a line.
+ Otherwise, the fields will be printed several to a
+ line to a maximum width of 60 characters.
+@@ -222,67 +248,71 @@
+ rather than discarding them. Capabilities are com-
+ mented by prefixing them with a period.
+
++ <STRONG>-D</STRONG> tells <STRONG>infocmp</STRONG> to print the database locations that it
++ knows about, and exit.
++
+ <STRONG>-E</STRONG> Dump the capabilities of the given terminal as
+- tables, needed in the C initializer for a TERMTYPE
+- structure (the terminal capability structure in the
+- <STRONG>&lt;term.h&gt;</STRONG>). This option is useful for preparing ver-
+- sions of the curses library hardwired for a given
+- terminal type. The tables are all declared static,
+- and are named according to the type and the name of
++ tables, needed in the C initializer for a TERMTYPE
++ structure (the terminal capability structure in the
++ <STRONG>&lt;term.h&gt;</STRONG>). This option is useful for preparing ver-
++ sions of the curses library hardwired for a given
++ terminal type. The tables are all declared static,
++ and are named according to the type and the name of
+ the corresponding terminal entry.
+
+- Before ncurses 5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG>
+- options was not needed; but support for extended
++ Before ncurses 5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG>
++ options was not needed; but support for extended
+ names required making the arrays of terminal capabil-
+ ities separate from the TERMTYPE structure.
+
+- <STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C
+- initializer for a TERMTYPE structure (the terminal
+- capability structure in the <STRONG>&lt;term.h&gt;</STRONG>). This option
++ <STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C
++ initializer for a TERMTYPE structure (the terminal
++ capability structure in the <STRONG>&lt;term.h&gt;</STRONG>). This option
+ is useful for preparing versions of the curses
+ library hardwired for a given terminal type.
+
+- <STRONG>-F</STRONG> compare terminfo files. This assumes that two fol-
+- lowing arguments are filenames. The files are
+- searched for pairwise matches between entries, with
++ <STRONG>-F</STRONG> compare terminfo files. This assumes that two fol-
++ lowing arguments are filenames. The files are
++ searched for pairwise matches between entries, with
+ two entries considered to match if any of their names
+- do. The report printed to standard output lists
+- entries with no matches in the other file, and
+- entries with more than one match. For entries with
+- exactly one match it includes a difference report.
+- Normally, to reduce the volume of the report, use
+- references are not resolved before looking for dif-
++ do. The report printed to standard output lists
++ entries with no matches in the other file, and
++ entries with more than one match. For entries with
++ exactly one match it includes a difference report.
++ Normally, to reduce the volume of the report, use
++ references are not resolved before looking for dif-
+ ferences, but resolution can be forced by also speci-
+ fying <STRONG>-r</STRONG>.
+
+- <STRONG>-f</STRONG> Display complex terminfo strings which contain
++ <STRONG>-f</STRONG> Display complex terminfo strings which contain
+ if/then/else/endif expressions indented for readabil-
+ ity.
+
+ <STRONG>-G</STRONG> Display constant literals in decimal form rather than
+ their character equivalents.
+
+- <STRONG>-g</STRONG> Display constant character literals in quoted form
++ <STRONG>-g</STRONG> Display constant character literals in quoted form
+ rather than their decimal equivalents.
+
+ <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset
+- (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>), strings in the entry. For each
+- string, the code tries to analyze it into actions in
++ (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>), strings in the entry. For each
++ string, the code tries to analyze it into actions in
+ terms of the other capabilities in the entry, certain
+- X3.64/ISO 6429/ECMA-48 capabilities, and certain DEC
+- VT-series private modes (the set of recognized spe-
+- cial sequences has been selected for completeness
+- over the existing terminfo database). Each report
+- line consists of the capability name, followed by a
++ X3.64/ISO 6429/ECMA-48 capabilities, and certain DEC
++ VT-series private modes (the set of recognized spe-
++ cial sequences has been selected for completeness
++ over the existing terminfo database). Each report
++ line consists of the capability name, followed by a
+ colon and space, followed by a printable expansion of
+- the capability string with sections matching recog-
+- nized actions translated into {}-bracketed descrip-
+- tions. Here is a list of the DEC/ANSI special
++ the capability string with sections matching recog-
++ nized actions translated into {}-bracketed descrip-
++ tions. Here is a list of the DEC/ANSI special
+ sequences recognized: i.
+
+ Action Meaning
+ -----------------------------------------
+ RIS full reset
++
+ SC save cursor
+ RC restore cursor
+ LL home-down
+@@ -310,17 +340,16 @@
+ DEC[+-]CKM application cursor keys
+ DEC[+-]ANM set VT52 mode
+ DEC[+-]COLM 132-column mode
+-
+ DEC[+-]SCLM smooth scroll
+ DEC[+-]SCNM reverse video mode
+ DEC[+-]OM origin mode
+ DEC[+-]AWM wraparound mode
+ DEC[+-]ARM auto-repeat mode
+
+- It also recognizes a SGR action corresponding to
+- ANSI/ISO 6429/ECMA Set Graphics Rendition, with the
+- values NORMAL, BOLD, UNDERLINE, BLINK, and REVERSE.
+- All but NORMAL may be prefixed with `+' (turn on) or
++ It also recognizes a SGR action corresponding to
++ ANSI/ISO 6429/ECMA Set Graphics Rendition, with the
++ values NORMAL, BOLD, UNDERLINE, BLINK, and REVERSE.
++ All but NORMAL may be prefixed with `+' (turn on) or
+ `-' (turn off).
+
+ An SGR0 designates an empty highlight sequence (equivalent
+@@ -398,18 +427,19 @@
+
+ </PRE>
+ <H2>FILES</H2><PRE>
+- /usr/share/terminfo Compiled terminal description
+- database.
++ /usr/share/terminfo Compiled terminal description data-
++ base.
+
+
+ </PRE>
+ <H2>EXTENSIONS</H2><PRE>
+- The <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG>
+- and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
++ The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>,
++ <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG> and <STRONG>-t</STRONG> options are not supported in SVr4
++ curses.
+
+ The <STRONG>-r</STRONG> option's notion of `termcap' capabilities is System
+- V Release 4's. Actual BSD curses versions will have a
+- more restricted set. To see only the 4.4BSD set, use <STRONG>-r</STRONG>
++ V Release 4's. Actual BSD curses versions will have a
++ more restricted set. To see only the 4.4BSD set, use <STRONG>-r</STRONG>
+ <STRONG>-RBSD</STRONG>.
+
+
+@@ -420,10 +450,12 @@
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
++ <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ http://invisible-island.net/ncurses/tctest.html
++
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+ </PRE>
+Index: doc/html/man/infotocap.1m.html
+--- ncurses-5.9/doc/html/man/infotocap.1m.html 2011-04-04 22:46:44.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/infotocap.1m.html 2013-03-09 22:12:03.000000000 +0000
+@@ -80,8 +80,8 @@
+
+ </PRE>
+ <H2>FILES</H2><PRE>
+- /usr/share/terminfo Compiled terminal description
+- database.
++ /usr/share/terminfo Compiled terminal description data-
++ base.
+
+
+ </PRE>
+@@ -94,7 +94,7 @@
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+ </PRE>
+Index: doc/html/man/menu.3x.html
+--- ncurses-5.9/doc/html/man/menu.3x.html 2011-04-04 22:46:45.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/menu.3x.html 2013-03-09 22:12:03.000000000 +0000
+@@ -226,7 +226,7 @@
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/man/menu_driver.3x.html
+--- ncurses-5.9/doc/html/man/menu_driver.3x.html 2011-02-25 23:25:05.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/menu_driver.3x.html 2013-03-09 22:12:03.000000000 +0000
+@@ -119,8 +119,8 @@
+ Clear the menu pattern buffer.
+
+ REQ_BACK_PATTERN
+- Delete the previous character from the pattern
+- buffer.
++ Delete the previous character from the pattern buf-
++ fer.
+
+ REQ_NEXT_MATCH
+ Move to the next item matching the pattern match.
+@@ -128,20 +128,20 @@
+ REQ_PREV_MATCH
+ Move to the previous item matching the pattern match.
+
+- If the second argument is a printable character, the code
+- appends it to the pattern buffer and attempts to move to
+- the next item matching the new pattern. If there is no
++ If the second argument is a printable character, the code
++ appends it to the pattern buffer and attempts to move to
++ the next item matching the new pattern. If there is no
+ such match, <STRONG>menu_driver</STRONG> returns <STRONG>E_NO_MATCH</STRONG> and deletes the
+ appended character from the buffer.
+
+- If the second argument is one of the above pre-defined
++ If the second argument is one of the above pre-defined
+ requests, the corresponding action is performed.
+
+ <STRONG>MOUSE</STRONG> <STRONG>HANDLING</STRONG>
+- If the second argument is the KEY_MOUSE special key, the
++ If the second argument is the KEY_MOUSE special key, the
+ associated mouse event is translated into one of the above
+- pre-defined requests. Currently only clicks in the user
+- window (e.g., inside the menu display area or the decora-
++ pre-defined requests. Currently only clicks in the user
++ window (e.g., inside the menu display area or the decora-
+ tion window) are handled.
+
+ If you click above the display region of the menu:
+@@ -160,32 +160,32 @@
+
+ <STRONG>o</STRONG> a REQ_LAST_ITEM is generated for a triple-click.
+
+- If you click at an item inside the display area of the
++ If you click at an item inside the display area of the
+ menu:
+
+ <STRONG>o</STRONG> the menu cursor is positioned to that item.
+
+- <STRONG>o</STRONG> If you double-click an item a REQ_TOGGLE_ITEM is gen-
++ <STRONG>o</STRONG> If you double-click an item a REQ_TOGGLE_ITEM is gen-
+ erated and <STRONG>E_UNKNOWN_COMMAND</STRONG> is returned. This return
+- value makes sense, because a double click usually
++ value makes sense, because a double click usually
+ means that an item-specific action should be returned.
+ It is exactly the purpose of this return value to sig-
+- nal that an application specific command should be
++ nal that an application specific command should be
+ executed.
+
+- <STRONG>o</STRONG> If a translation into a request was done, <STRONG>menu_driver</STRONG>
++ <STRONG>o</STRONG> If a translation into a request was done, <STRONG>menu_driver</STRONG>
+ returns the result of this request.
+
+- If you clicked outside the user window or the mouse event
+- could not be translated into a menu request an
++ If you clicked outside the user window or the mouse event
++ could not be translated into a menu request an
+ <STRONG>E_REQUEST_DENIED</STRONG> is returned.
+
+ <STRONG>APPLICATION-DEFINED</STRONG> <STRONG>COMMANDS</STRONG>
+ If the second argument is neither printable nor one of the
+- above pre-defined menu requests or KEY_MOUSE, the drive
+- assumes it is an application-specific command and returns
++ above pre-defined menu requests or KEY_MOUSE, the drive
++ assumes it is an application-specific command and returns
+ <STRONG>E_UNKNOWN_COMMAND</STRONG>. Application-defined commands should be
+- defined relative to <STRONG>MAX_COMMAND</STRONG>, the maximum value of
++ defined relative to <STRONG>MAX_COMMAND</STRONG>, the maximum value of
+ these pre-defined requests.
+
+
+@@ -199,7 +199,7 @@
+ System error occurred (see <STRONG>errno</STRONG>).
+
+ <STRONG>E_BAD_ARGUMENT</STRONG>
+- Routine detected an incorrect or out-of-range argu-
++ Routine detected an incorrect or out-of-range argu-
+ ment.
+
+ <STRONG>E_BAD_STATE</STRONG>
+@@ -232,14 +232,14 @@
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- These routines emulate the System V menu library. They
+- were not supported on Version 7 or BSD versions. The sup-
++ These routines emulate the System V menu library. They
++ were not supported on Version 7 or BSD versions. The sup-
+ port for mouse events is ncurses specific.
+
+
+ </PRE>
+ <H2>AUTHORS</H2><PRE>
+- Juergen Pfeifer. Manual pages and adaptation for new
++ Juergen Pfeifer. Manual pages and adaptation for new
+ curses by Eric S. Raymond.
+
+
+Index: doc/html/man/menu_items.3x.html
+--- ncurses-5.9/doc/html/man/menu_items.3x.html 2011-01-09 01:03:24.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/menu_items.3x.html 2013-03-09 22:12:03.000000000 +0000
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: menu_items.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
++ * @Id: menu_items.3x,v 1.10 2012/11/03 23:03:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -74,7 +74,7 @@
+
+
+ </PRE>
+-<H2>RETURN VALUES</H2><PRE>
++<H2>RETURN VALUE</H2><PRE>
+ The function <STRONG>menu_items</STRONG> returns a pointer (which may be
+ <STRONG>NULL</STRONG>). It does not set errno.
+
+Index: doc/html/man/ncurses.3x.html
+--- ncurses-5.9/doc/html/man/ncurses.3x.html 2011-04-04 22:46:49.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/ncurses.3x.html 2013-03-09 22:12:04.000000000 +0000
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: ncurses.3x,v 1.103 2011/02/05 23:21:29 tom Exp @
++ * @Id: ncurses.3x,v 1.111 2013/03/02 22:15:25 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -63,7 +63,7 @@
+ sonable optimization. This implementation is ``new
+ curses'' (ncurses) and is the approved replacement for
+ 4.4BSD classic curses, which has been discontinued. This
+- describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+ The <STRONG>ncurses</STRONG> library emulates the curses library of System
+ V Release 4 UNIX, and XPG4 (X/Open Portability Guide)
+@@ -150,48 +150,48 @@
+ Among those, the most basic routines are <STRONG>move</STRONG> and <STRONG>addch</STRONG>.
+ More general versions of these routines are included with
+ names beginning with <STRONG>w</STRONG>, allowing the user to specify a
+- window. The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
++ window. The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
+
+- After using routines to manipulate a window, <STRONG>refresh</STRONG> is
+- called, telling <STRONG>curses</STRONG> to make the user's CRT screen look
+- like <STRONG>stdscr</STRONG>. The characters in a window are actually of
+- type <STRONG>chtype</STRONG>, (character and attribute data) so that other
+- information about the character may also be stored with
++ After using routines to manipulate a window, <STRONG>refresh</STRONG> is
++ called, telling <STRONG>curses</STRONG> to make the user's CRT screen look
++ like <STRONG>stdscr</STRONG>. The characters in a window are actually of
++ type <STRONG>chtype</STRONG>, (character and attribute data) so that other
++ information about the character may also be stored with
+ each character.
+
+- Special windows called <EM>pads</EM> may also be manipulated.
++ Special windows called <EM>pads</EM> may also be manipulated.
+ These are windows which are not constrained to the size of
+- the screen and whose contents need not be completely dis-
++ the screen and whose contents need not be completely dis-
+ played. See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for more information.
+
+- In addition to drawing characters on the screen, video
+- attributes and colors may be supported, causing the char-
+- acters to show up in such modes as underlined, in reverse
+- video, or in color on terminals that support such display
++ In addition to drawing characters on the screen, video
++ attributes and colors may be supported, causing the char-
++ acters to show up in such modes as underlined, in reverse
++ video, or in color on terminals that support such display
+ enhancements. Line drawing characters may be specified to
+- be output. On input, <STRONG>curses</STRONG> is also able to translate
+- arrow and function keys that transmit escape sequences
+- into single values. The video attributes, line drawing
+- characters, and input values use names, defined in
++ be output. On input, <STRONG>curses</STRONG> is also able to translate
++ arrow and function keys that transmit escape sequences
++ into single values. The video attributes, line drawing
++ characters, and input values use names, defined in
+ <STRONG>&lt;curses.h&gt;</STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>, and <STRONG>KEY_LEFT</STRONG>.
+
+ If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or
+- if the program is executing in a window environment, line
+- and column information in the environment will override
++ if the program is executing in a window environment, line
++ and column information in the environment will override
+ information read by <EM>terminfo</EM>. This would affect a program
+- running in an AT&amp;T 630 layer, for example, where the size
++ running in an AT&amp;T 630 layer, for example, where the size
+ of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
+
+- If the environment variable <STRONG>TERMINFO</STRONG> is defined, any pro-
+- gram using <STRONG>curses</STRONG> checks for a local terminal definition
+- before checking in the standard place. For example, if
++ If the environment variable <STRONG>TERMINFO</STRONG> is defined, any pro-
++ gram using <STRONG>curses</STRONG> checks for a local terminal definition
++ before checking in the standard place. For example, if
+ <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the compiled terminal defini-
+ tion is found in
+
+ <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
+
+ (The <STRONG>a</STRONG> is copied from the first letter of <STRONG>att4424</STRONG> to avoid
+- creation of huge directories.) However, if <STRONG>TERMINFO</STRONG> is
++ creation of huge directories.) However, if <STRONG>TERMINFO</STRONG> is
+ set to <STRONG>$HOME/myterms</STRONG>, <STRONG>curses</STRONG> first checks
+
+ <STRONG>$HOME/myterms/a/att4424</STRONG>,
+@@ -200,119 +200,117 @@
+
+ <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
+
+- This is useful for developing experimental definitions or
++ This is useful for developing experimental definitions or
+ when write permission in <STRONG>/usr/share/terminfo</STRONG> is not avail-
+ able.
+
+- The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in
+- <STRONG>&lt;curses.h&gt;</STRONG> and will be filled in by <STRONG>initscr</STRONG> with the size
++ The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in
++ <STRONG>&lt;curses.h&gt;</STRONG> and will be filled in by <STRONG>initscr</STRONG> with the size
+ of the screen. The constants <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the val-
+ ues <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively.
+
+- The <STRONG>curses</STRONG> routines also define the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable
++ The <STRONG>curses</STRONG> routines also define the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable
+ <STRONG>curscr</STRONG> which is used for certain low-level operations like
+- clearing and redrawing a screen containing garbage. The
++ clearing and redrawing a screen containing garbage. The
+ <STRONG>curscr</STRONG> can be used in only a few routines.
+
+ <STRONG>Routine</STRONG> <STRONG>and</STRONG> <STRONG>Argument</STRONG> <STRONG>Names</STRONG>
+- Many <STRONG>curses</STRONG> routines have two or more versions. The rou-
++ Many <STRONG>curses</STRONG> routines have two or more versions. The rou-
+ tines prefixed with <STRONG>w</STRONG> require a window argument. The rou-
+ tines prefixed with <STRONG>p</STRONG> require a pad argument. Those with-
+ out a prefix generally use <STRONG>stdscr</STRONG>.
+
+ The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate
+- to move to before performing the appropriate action. The
+- <STRONG>mv</STRONG> routines imply a call to <STRONG>move</STRONG> before the call to the
+- other routine. The coordinate <EM>y</EM> always refers to the row
+- (of the window), and <EM>x</EM> always refers to the column. The
++ to move to before performing the appropriate action. The
++ <STRONG>mv</STRONG> routines imply a call to <STRONG>move</STRONG> before the call to the
++ other routine. The coordinate <EM>y</EM> always refers to the row
++ (of the window), and <EM>x</EM> always refers to the column. The
+ upper left-hand corner is always (0,0), not (1,1).
+
+ The routines prefixed with <STRONG>mvw</STRONG> take both a window argument
+- and <EM>x</EM> and <EM>y</EM> coordinates. The window argument is always
++ and <EM>x</EM> and <EM>y</EM> coordinates. The window argument is always
+ specified before the coordinates.
+
+- In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the
++ In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the
+ pad affected; <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WIN-</STRONG>
+ <STRONG>DOW</STRONG>.
+
+ Option setting routines require a Boolean flag <EM>bf</EM> with the
+- value <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>. Most of
+- the data types used in the library routines, such as <STRONG>WIN-</STRONG>
+- <STRONG>DOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are defined in <STRONG>&lt;curses.h&gt;</STRONG>.
+- Types used for the terminfo routines such as <STRONG>TERMINAL</STRONG> are
++ value <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>. Most of
++ the data types used in the library routines, such as <STRONG>WIN-</STRONG>
++ <STRONG>DOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are defined in <STRONG>&lt;curses.h&gt;</STRONG>.
++ Types used for the terminfo routines such as <STRONG>TERMINAL</STRONG> are
+ defined in <STRONG>&lt;term.h&gt;</STRONG>.
+
+- This manual page describes functions which may appear in
+- any configuration of the library. There are two common
++ This manual page describes functions which may appear in
++ any configuration of the library. There are two common
+ configurations of the library:
+
+ ncurses
+ the "normal" library, which handles 8-bit
+ characters. The normal (8-bit) library stores
+- characters combined with attributes in <STRONG>chtype</STRONG>
++ characters combined with attributes in <STRONG>chtype</STRONG>
+ data.
+
+- Attributes alone (no corresponding character)
+- may be stored in <STRONG>chtype</STRONG> or the equivalent
+- <STRONG>attr_t</STRONG> data. In either case, the data is
++ Attributes alone (no corresponding character)
++ may be stored in <STRONG>chtype</STRONG> or the equivalent
++ <STRONG>attr_t</STRONG> data. In either case, the data is
+ stored in something like an integer.
+
+- Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
++ Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
+ stored as a <STRONG>chtype</STRONG>.
+
+ ncursesw
+- the so-called "wide" library, which handles
+- multibyte characters (see the section on
++ the so-called "wide" library, which handles
++ multibyte characters (see the section on
+ <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>). The "wide" library
+- includes all of the calls from the "normal"
+- library. It adds about one third more calls
++ includes all of the calls from the "normal"
++ library. It adds about one third more calls
+ using data types which store multibyte charac-
+ ters:
+
+ <STRONG>cchar_t</STRONG>
+- corresponds to <STRONG>chtype</STRONG>. However it is a
+- structure, because more data is stored
+- than can fit into an integer. The char-
++ corresponds to <STRONG>chtype</STRONG>. However it is a
++ structure, because more data is stored
++ than can fit into an integer. The char-
+ acters are large enough to require a full
+- integer value - and there may be more
+- than one character per cell. The video
+- attributes and color are stored in sepa-
++ integer value - and there may be more
++ than one character per cell. The video
++ attributes and color are stored in sepa-
+ rate fields of the structure.
+
+ Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
+ stored as a <STRONG>cchar_t</STRONG>.
+
+ <STRONG>wchar_t</STRONG>
+- stores a "wide" character. Like <STRONG>chtype</STRONG>,
++ stores a "wide" character. Like <STRONG>chtype</STRONG>,
+ this may be an integer.
+
+ <STRONG>wint_t</STRONG>
+- stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same,
++ stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same,
+ though both may have the same size.
+
+ The "wide" library provides new functions
+- which are analogous to functions in the "nor-
+- mal" library. There is a naming convention
+- which relates many of the normal/wide vari-
+- ants: a "_w" is inserted into the name. For
++ which are analogous to functions in the "nor-
++ mal" library. There is a naming convention
++ which relates many of the normal/wide vari-
++ ants: a "_w" is inserted into the name. For
+ example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>.
+
+-
+ <STRONG>Routine</STRONG> <STRONG>Name</STRONG> <STRONG>Index</STRONG>
+ The following table lists each <STRONG>curses</STRONG> routine and the name
+- of the manual page on which it is described. Routines
+- flagged with `*' are ncurses-specific, not described by
++ of the manual page on which it is described. Routines
++ flagged with `*' are ncurses-specific, not described by
+ XPG4 or present in SVr4.
+
+-
+ <STRONG>curses</STRONG> Routine Name Manual Page Name
+ --------------------------------------------
+ COLOR_PAIR <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ PAIR_NUMBER <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ _nc_free_and_exit <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+-
+ _nc_freeall <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+ _nc_tracebits <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
++
+ _traceattr <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _traceattr2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _tracechar <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+@@ -376,9 +374,9 @@
+ echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ echo_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ echochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+-
+ endwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ erase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
++
+ erasechar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ erasewchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ filter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+@@ -442,9 +440,9 @@
+ intrflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ inwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ is_cleared <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+-
+ is_idcok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_idlok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
++
+ is_immedok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_keypad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_leaveok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+@@ -508,9 +506,9 @@
+ mvinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ mvinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ mvinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+-
+ mvinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ mvinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
++
+ mvprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ mvscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ mvvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+@@ -574,9 +572,9 @@
+ pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ pechochar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ pnoutrefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+-
+ prefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
++
+ putp <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ putwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ qiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+@@ -640,9 +638,9 @@
+ tigetstr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ timeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ touchline <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+-
+ touchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ tparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
++
+ tputs <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ trace <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+@@ -656,6 +654,7 @@
+ use_env <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ use_extended_names <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
+ use_legacy_coding <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
++ use_tioctl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ vid_attr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ vid_puts <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ vidattr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+@@ -706,8 +705,8 @@
+ wgetbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ wgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ wgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+-
+ wgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
++
+ wgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ whline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ whline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+@@ -752,11 +751,14 @@
+
+ </PRE>
+ <H2>RETURN VALUE</H2><PRE>
+- Routines that return an integer return <STRONG>ERR</STRONG> upon failure
+- and an integer value other than <STRONG>ERR</STRONG> upon successful com-
+- pletion, unless otherwise noted in the routine descrip-
++ Routines that return an integer return <STRONG>ERR</STRONG> upon failure
++ and an integer value other than <STRONG>ERR</STRONG> upon successful com-
++ pletion, unless otherwise noted in the routine descrip-
+ tions.
+
++ As a general rule, routines check for null pointers passed
++ as parameters, and handle this as an error.
++
+ All macros return the value of the <STRONG>w</STRONG> version, except
+ <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>. The
+ return values of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>,
+@@ -773,52 +775,56 @@
+ important ones have been already discussed in detail.
+
+ BAUDRATE
+- The debugging library checks this environment symbol
+- when the application has redirected output to a file.
+- The symbol's numeric value is used for the baudrate.
+- If no value is found, <STRONG>ncurses</STRONG> uses 9600. This allows
+- testers to construct repeatable test-cases that take
+- into account costs that depend on baudrate.
++ The debugging library checks this environment vari-
++ able when the application has redirected output to a
++ file. The variable's numeric value is used for the
++ baudrate. If no value is found, <STRONG>ncurses</STRONG> uses 9600.
++ This allows testers to construct repeatable test-
++ cases that take into account costs that depend on
++ baudrate.
+
+ CC When set, change occurrences of the command_character
+- (i.e., the <STRONG>cmdch</STRONG> capability) of the loaded terminfo
+- entries to the value of this symbol. Very few ter-
++ (i.e., the <STRONG>cmdch</STRONG> capability) of the loaded terminfo
++ entries to the value of this variable. Very few ter-
+ minfo entries provide this feature.
+
+- Because this name is also used in development envi-
+- ronments to represent the C compiler's name, <STRONG>ncurses</STRONG>
++ Because this name is also used in development envi-
++ ronments to represent the C compiler's name, <STRONG>ncurses</STRONG>
+ ignores it if it does not happen to be a single char-
+ acter.
+
+ COLUMNS
+ Specify the width of the screen in characters.
+- Applications running in a windowing environment usu-
+- ally are able to obtain the width of the window in
+- which they are executing. If neither the <STRONG>COLUMNS</STRONG>
+- value nor the terminal's screen size is available,
+- <STRONG>ncurses</STRONG> uses the size which may be specified in the
++ Applications running in a windowing environment usu-
++ ally are able to obtain the width of the window in
++ which they are executing. If neither the <STRONG>COLUMNS</STRONG>
++ value nor the terminal's screen size is available,
++ <STRONG>ncurses</STRONG> uses the size which may be specified in the
+ terminfo database (i.e., the <STRONG>cols</STRONG> capability).
+
+- It is important that your application use a correct
+- size for the screen. This is not always possible
+- because your application may be running on a host
+- which does not honor NAWS (Negotiations About Window
+- Size), or because you are temporarily running as
+- another user. However, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG>
++ It is important that your application use a correct
++ size for the screen. This is not always possible
++ because your application may be running on a host
++ which does not honor NAWS (Negotiations About Window
++ Size), or because you are temporarily running as
++ another user. However, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG>
+ overrides the library's use of the screen size
+ obtained from the operating system.
+
+- Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified
+- independently. This is mainly useful to circumvent
+- legacy misfeatures of terminal descriptions, e.g.,
++ Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified
++ independently. This is mainly useful to circumvent
++ legacy misfeatures of terminal descriptions, e.g.,
+ xterm which commonly specifies a 65 line screen. For
+- best results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified
++ best results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified
+ in a terminal description for terminals which are run
+ as emulations.
+
+ Use the <STRONG>use_env</STRONG> function to disable all use of exter-
+- nal environment (including system calls) to determine
+- the screen size.
++ nal environment (but not including system calls) to
++ determine the screen size. Use the <STRONG>use_tioctl</STRONG> func-
++ tion to update <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen
++ size obtained from system calls or the terminal data-
++ base.
+
+ ESCDELAY
+ Specifies the total time, in milliseconds, for which
+@@ -858,234 +864,278 @@
+
+ LINES
+ Like COLUMNS, specify the height of the screen in
+- characters. See COLUMNS for a detailed description.
++ characters. See COLUMNS for a detailed description.
+
+ MOUSE_BUTTONS_123
+ This applies only to the OS/2 EMX port. It specifies
+- the order of buttons on the mouse. OS/2 numbers a
++ the order of buttons on the mouse. OS/2 numbers a
+ 3-button mouse inconsistently from other platforms:
+
+ 1 = left
+ 2 = right
+ 3 = middle.
+
+- This symbol lets you customize the mouse. The symbol
+- must be three numeric digits 1-3 in any order, e.g.,
+- 123 or 321. If it is not specified, <STRONG>ncurses</STRONG> uses
+- 132.
++ This variable lets you customize the mouse. The
++ variable must be three numeric digits 1-3 in any
++ order, e.g., 123 or 321. If it is not specified,
++ <STRONG>ncurses</STRONG> uses 132.
+
+ NCURSES_ASSUMED_COLORS
+- Override the compiled-in assumption that the termi-
+- nal's default colors are white-on-black (see
+- <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>). You may set the foreground and
+- background color values with this environment vari-
+- able by proving a 2-element list: foreground,back-
+- ground. For example, to tell ncurses to not assume
+- anything about the colors, set this to "-1,-1". To
+- make it green-on-black, set it to "2,0". Any posi-
++ Override the compiled-in assumption that the termi-
++ nal's default colors are white-on-black (see
++ <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>). You may set the foreground and
++ background color values with this environment vari-
++ able by proving a 2-element list: foreground,back-
++ ground. For example, to tell ncurses to not assume
++ anything about the colors, set this to "-1,-1". To
++ make it green-on-black, set it to "2,0". Any posi-
+ tive value from zero to the terminfo <STRONG>max_colors</STRONG> value
+ is allowed.
+
+ NCURSES_GPM_TERMS
+- This applies only to ncurses configured to use the
++ This applies only to ncurses configured to use the
+ GPM interface.
+
+ If present, the environment variable is a list of one
+- or more terminal names against which the TERM envi-
+- ronment variable is matched. Setting it to an empty
+- value disables the GPM interface; using the built-in
++ or more terminal names against which the TERM envi-
++ ronment variable is matched. Setting it to an empty
++ value disables the GPM interface; using the built-in
+ support for xterm, etc.
+
+- If the environment variable is absent, ncurses will
++ If the environment variable is absent, ncurses will
+ attempt to open GPM if TERM contains "linux".
+
+ NCURSES_NO_HARD_TABS
+- <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement
+- optimization. In some cases, your terminal driver
+- may not handle these properly. Set this environment
++ <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement
++ optimization. In some cases, your terminal driver
++ may not handle these properly. Set this environment
+ variable to disable the feature. You can also adjust
+ your <STRONG>stty</STRONG> settings to avoid the problem.
+
+ NCURSES_NO_MAGIC_COOKIES
+ Some terminals use a magic-cookie feature which
+- requires special handling to make highlighting and
+- other video attributes display properly. You can
+- suppress the highlighting entirely for these termi-
++ requires special handling to make highlighting and
++ other video attributes display properly. You can
++ suppress the highlighting entirely for these termi-
+ nals by setting this environment variable.
+
+ NCURSES_NO_PADDING
+- Most of the terminal descriptions in the terminfo
+- database are written for real "hardware" terminals.
+- Many people use terminal emulators which run in a
+- windowing environment and use curses-based applica-
+- tions. Terminal emulators can duplicate all of the
++ Most of the terminal descriptions in the terminfo
++ database are written for real "hardware" terminals.
++ Many people use terminal emulators which run in a
++ windowing environment and use curses-based applica-
++ tions. Terminal emulators can duplicate all of the
+ important aspects of a hardware terminal, but they do
+- not have the same limitations. The chief limitation
+- of a hardware terminal from the standpoint of your
++ not have the same limitations. The chief limitation
++ of a hardware terminal from the standpoint of your
+ application is the management of dataflow, i.e., tim-
+ ing. Unless a hardware terminal is interfaced into a
+- terminal concentrator (which does flow control), it
+- (or your application) must manage dataflow, prevent-
+- ing overruns. The cheapest solution (no hardware
++ terminal concentrator (which does flow control), it
++ (or your application) must manage dataflow, prevent-
++ ing overruns. The cheapest solution (no hardware
+ cost) is for your program to do this by pausing after
+- operations that the terminal does slowly, such as
++ operations that the terminal does slowly, such as
+ clearing the display.
+
+- As a result, many terminal descriptions (including
+- the vt100) have delay times embedded. You may wish
+- to use these descriptions, but not want to pay the
++ As a result, many terminal descriptions (including
++ the vt100) have delay times embedded. You may wish
++ to use these descriptions, but not want to pay the
+ performance penalty.
+
+- Set the NCURSES_NO_PADDING symbol to disable all but
+- mandatory padding. Mandatory padding is used as a
+- part of special control sequences such as <EM>flash</EM>.
++ Set the NCURSES_NO_PADDING environment variable to
++ disable all but mandatory padding. Mandatory padding
++ is used as a part of special control sequences such
++ as <EM>flash</EM>.
+
+ NCURSES_NO_SETBUF
+- Normally <STRONG>ncurses</STRONG> enables buffered output during ter-
+- minal initialization. This is done (as in SVr4
+- curses) for performance reasons. For testing pur-
+- poses, both of <STRONG>ncurses</STRONG> and certain applications, this
+- feature is made optional. Setting the
+- NCURSES_NO_SETBUF variable disables output buffering,
+- leaving the output in the original (usually line
+- buffered) mode.
++ This setting is obsolete. Before changes
++
++ <STRONG>o</STRONG> started with 5.9 patch 20120825 and
++
++ <STRONG>o</STRONG> continued though 5.9 patch 20130126
++
++ <STRONG>ncurses</STRONG> enabled buffered output during terminal ini-
++ tialization. This was done (as in SVr4 curses) for
++ performance reasons. For testing purposes, both of
++ <STRONG>ncurses</STRONG> and certain applications, this feature was
++ made optional. Setting the NCURSES_NO_SETBUF vari-
++ able disabled output buffering, leaving the output in
++ the original (usually line buffered) mode.
++
++ In the current implementation, ncurses performs its
++ own buffering and does not require this workaround.
++ It does not modify the buffering of the standard out-
++ put.
++
++ The reason for the change was to make the behavior
++ for interrupts and other signals more robust. One
++ drawback is that certain nonconventional programs
++ would mix ordinary stdio calls with ncurses calls and
++ (usually) work. This is no longer possible since
++ ncurses is not using the buffered standard output but
++ its own output (to the same file descriptor). As a
++ special case, the low-level calls such as <STRONG>putp</STRONG> still
++ use the standard output. But high-level curses calls
++ do not.
+
+ NCURSES_NO_UTF8_ACS
+ During initialization, the <STRONG>ncurses</STRONG> library checks for
+- special cases where VT100 line-drawing (and the cor-
+- responding alternate character set capabilities)
+- described in the terminfo are known to be missing.
+- Specifically, when running in a UTF-8 locale, the
+- Linux console emulator and the GNU screen program
+- ignore these. Ncurses checks the TERM environment
+- variable for these. For other special cases, you
+- should set this environment variable. Doing this
+- tells ncurses to use Unicode values which correspond
++ special cases where VT100 line-drawing (and the cor-
++ responding alternate character set capabilities)
++ described in the terminfo are known to be missing.
++ Specifically, when running in a UTF-8 locale, the
++ Linux console emulator and the GNU screen program
++ ignore these. Ncurses checks the TERM environment
++ variable for these. For other special cases, you
++ should set this environment variable. Doing this
++ tells ncurses to use Unicode values which correspond
+ to the VT100 line-drawing glyphs. That works for the
+ special cases cited, and is likely to work for termi-
+ nal emulators.
+
+- When setting this variable, you should set it to a
+- nonzero value. Setting it to zero (or to a nonnum-
+- ber) disables the special check for "linux" and
++ When setting this variable, you should set it to a
++ nonzero value. Setting it to zero (or to a nonnum-
++ ber) disables the special check for "linux" and
+ "screen".
+
+- As an alternative to the environment variable,
+- ncurses checks for an extended terminfo capability
+- <STRONG>U8</STRONG>. This is a numeric capability which can be com-
++ As an alternative to the environment variable,
++ ncurses checks for an extended terminfo capability
++ <STRONG>U8</STRONG>. This is a numeric capability which can be com-
+ piled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>. For example
+
+ # linux console, if patched to provide working
+ # VT100 shift-in/shift-out, with corresponding font.
+ linux-vt100|linux console with VT100 line-graphics,
+- U8#0, use=linux,
++ U8#0, use=linux,
+
+ # uxterm with vt100Graphics resource set to false
+ xterm-utf8|xterm relying on UTF-8 line-graphics,
+- U8#1, use=xterm,
++ U8#1, use=xterm,
+
+ The name "U8" is chosen to be two characters, to per-
+- mit it to be used by applications that use ncurses'
++ mit it to be used by applications that use ncurses'
+ termcap interface.
+
+ NCURSES_TRACE
+- During initialization, the <STRONG>ncurses</STRONG> debugging library
+- checks the NCURSES_TRACE symbol. If it is defined,
+- to a numeric value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> function,
+- using that value as the argument.
+-
+- The argument values, which are defined in <STRONG>curses.h</STRONG>,
+- provide several types of information. When running
+- with traces enabled, your application will write the
++ During initialization, the <STRONG>ncurses</STRONG> debugging library
++ checks the NCURSES_TRACE environment variable. If it
++ is defined, to a numeric value, <STRONG>ncurses</STRONG> calls the
++ <STRONG>trace</STRONG> function, using that value as the argument.
++
++ The argument values, which are defined in <STRONG>curses.h</STRONG>,
++ provide several types of information. When running
++ with traces enabled, your application will write the
+ file <STRONG>trace</STRONG> to the current directory.
+
+- TERM Denotes your terminal type. Each terminal type is
++ TERM Denotes your terminal type. Each terminal type is
+ distinct, though many are similar.
+
+ TERMCAP
+ If the <STRONG>ncurses</STRONG> library has been configured with <EM>term-</EM>
+- <EM>cap</EM> support, <STRONG>ncurses</STRONG> will check for a terminal's
++ <EM>cap</EM> support, <STRONG>ncurses</STRONG> will check for a terminal's
+ description in termcap form if it is not available in
+ the terminfo database.
+
+- The TERMCAP symbol contains either a terminal
+- description (with newlines stripped out), or a file
+- name telling where the information denoted by the
+- TERM symbol exists. In either case, setting it
+- directs <STRONG>ncurses</STRONG> to ignore the usual place for this
+- information, e.g., /etc/termcap.
++ The TERMCAP environment variable contains either a
++ terminal description (with newlines stripped out), or
++ a file name telling where the information denoted by
++ the TERM environment variable exists. In either
++ case, setting it directs <STRONG>ncurses</STRONG> to ignore the usual
++ place for this information, e.g., /etc/termcap.
+
+ TERMINFO
+ Overrides the directory in which <STRONG>ncurses</STRONG> searches for
+ your terminal description. This is the simplest, but
+- not the only way to change the list of directories.
++ not the only way to change the list of directories.
+ The complete list of directories in order follows:
+
+- <STRONG>o</STRONG> the last directory to which <STRONG>ncurses</STRONG> wrote, if
++ <STRONG>o</STRONG> the last directory to which <STRONG>ncurses</STRONG> wrote, if
+ any, is searched first
+
+- <STRONG>o</STRONG> the directory specified by the TERMINFO symbol
++ <STRONG>o</STRONG> the directory specified by the TERMINFO environ-
++ ment variable
+
+ <STRONG>o</STRONG> $HOME/.terminfo
+
+- <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS symbol
++ <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS environ-
++ ment variable
++
++ <STRONG>o</STRONG> one or more directories whose names are config-
++ ured and compiled into the ncurses library, i.e.,
+
+- <STRONG>o</STRONG> one or more directories whose names are config-
+- ured and compiled into the ncurses library, e.g.,
+- /usr/share/terminfo
++ <STRONG>o</STRONG> /usr/local/ncurses/share/ter-
++ minfo:/usr/share/terminfo (corresponding to
++ the TERMINFO_DIRS variable)
++
++ <STRONG>o</STRONG> /usr/share/terminfo (corresponding to the
++ TERMINFO variable)
+
+ TERMINFO_DIRS
+- Specifies a list of directories to search for termi-
+- nal descriptions. The list is separated by colons
+- (i.e., ":") on Unix, semicolons on OS/2 EMX. All of
+- the terminal descriptions are in terminfo form, which
+- makes a subdirectory named for the first letter of
+- the terminal names therein.
++ Specifies a list of directories to search for termi-
++ nal descriptions. The list is separated by colons
++ (i.e., ":") on Unix, semicolons on OS/2 EMX.
++
++ All of the terminal descriptions are in terminfo
++ form. Normally these are stored in a directory tree,
++ using subdirectories named by the first letter of the
++ terminal names therein.
++
++ If <STRONG>ncurses</STRONG> is built with a hashed database, then each
++ entry in this list can also be the path of the corre-
++ sponding database file.
++
++ If <STRONG>ncurses</STRONG> is built with a support for reading term-
++ cap files directly, then an entry in this list may be
++ the path of a termcap file.
+
+ TERMPATH
+- If TERMCAP does not hold a file name then <STRONG>ncurses</STRONG>
+- checks the TERMPATH symbol. This is a list of file-
+- names separated by spaces or colons (i.e., ":") on
+- Unix, semicolons on OS/2 EMX. If the TERMPATH symbol
+- is not set, <STRONG>ncurses</STRONG> looks in the files /etc/termcap,
+- /usr/share/misc/termcap and $HOME/.termcap, in that
++ If TERMCAP does not hold a file name then <STRONG>ncurses</STRONG>
++ checks the TERMPATH environment variable. This is a
++ list of filenames separated by spaces or colons
++ (i.e., ":") on Unix, semicolons on OS/2 EMX.
++
++ If the TERMPATH environment variable is not set,
++ <STRONG>ncurses</STRONG> looks in the files /etc/termcap,
++ /usr/share/misc/termcap and $HOME/.termcap, in that
+ order.
+
+- The library may be configured to disregard the following
+- variables when the current user is the superuser (root),
+- or if the application uses setuid or setgid permissions:
+- $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
++ The library may be configured to disregard the following
++ variables when the current user is the superuser (root),
++ or if the application uses setuid or setgid permissions:
++
++ $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as
++ $HOME.
+
+
+ </PRE>
+ <H2>ALTERNATE CONFIGURATIONS</H2><PRE>
+- Several different configurations are possible, depending
+- on the configure script options used when building
+- <STRONG>ncurses</STRONG>. There are a few main options whose effects are
++ Several different configurations are possible, depending
++ on the configure script options used when building
++ <STRONG>ncurses</STRONG>. There are a few main options whose effects are
+ visible to the applications developer using <STRONG>ncurses</STRONG>:
+
+ --disable-overwrite
+- The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYN-</STRONG>
++ The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYN-</STRONG>
+ <STRONG>OPSIS</STRONG>:
+
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+- This option is used to avoid filename conflicts when
+- <STRONG>ncurses</STRONG> is not the main implementation of curses of
+- the computer. If <STRONG>ncurses</STRONG> is installed disabling
+- overwrite, it puts its headers in a subdirectory,
++ This option is used to avoid filename conflicts when
++ <STRONG>ncurses</STRONG> is not the main implementation of curses of
++ the computer. If <STRONG>ncurses</STRONG> is installed disabling
++ overwrite, it puts its headers in a subdirectory,
+ e.g.,
+
+ <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
+
+- It also omits a symbolic link which would allow you
++ It also omits a symbolic link which would allow you
+ to use <STRONG>-lcurses</STRONG> to build executables.
+
+ --enable-widec
+- The configure script renames the library and (if the
+- <STRONG>--disable-overwrite</STRONG> option is used) puts the header
++ The configure script renames the library and (if the
++ <STRONG>--disable-overwrite</STRONG> option is used) puts the header
+ files in a different subdirectory. All of the
+- library names have a "w" appended to them, i.e.,
++ library names have a "w" appended to them, i.e.,
+ instead of
+
+ <STRONG>-lncurses</STRONG>
+@@ -1095,16 +1145,16 @@
+ <STRONG>-lncursesw</STRONG>
+
+ You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when com-
+- piling for the wide-character library to use the
+- extended (wide-character) functions. The <STRONG>curses.h</STRONG>
+- file which is installed for the wide-character
+- library is designed to be compatible with the normal
++ piling for the wide-character library to use the
++ extended (wide-character) functions. The <STRONG>curses.h</STRONG>
++ file which is installed for the wide-character
++ library is designed to be compatible with the normal
+ library's header. Only the size of the <STRONG>WINDOW</STRONG> struc-
+- ture differs, and very few applications require more
+- than a pointer to <STRONG>WINDOW</STRONG>s. If the headers are
+- installed allowing overwrite, the wide-character
+- library's headers should be installed last, to allow
+- applications to be built using either library from
++ ture differs, and very few applications require more
++ than a pointer to <STRONG>WINDOW</STRONG>s. If the headers are
++ installed allowing overwrite, the wide-character
++ library's headers should be installed last, to allow
++ applications to be built using either library from
+ the same set of headers.
+
+ --with-shared
+@@ -1114,16 +1164,16 @@
+ --with-debug
+
+ --with-profile
+- The shared and normal (static) library names differ
+- by their suffixes, e.g., <STRONG>libncurses.so</STRONG> and
+- <STRONG>libncurses.a</STRONG>. The debug and profiling libraries add
+- a "_g" and a "_p" to the root names respectively,
+- e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
++ The shared and normal (static) library names differ
++ by their suffixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libn-</STRONG>
++ <STRONG>curses.a</STRONG>. The debug and profiling libraries add a
++ "_g" and a "_p" to the root names respectively, e.g.,
++ <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
+
+ --with-trace
+- The <STRONG>trace</STRONG> function normally resides in the debug
++ The <STRONG>trace</STRONG> function normally resides in the debug
+ library, but it is sometimes useful to configure this
+- in the shared library. Configure scripts should
++ in the shared library. Configure scripts should
+ check for the function's existence rather than assum-
+ ing it is always in the debug library.
+
+@@ -1131,14 +1181,14 @@
+ </PRE>
+ <H2>FILES</H2><PRE>
+ /usr/share/tabset
+- directory containing initialization files for the
++ directory containing initialization files for the
+ terminal capability database /usr/share/terminfo ter-
+ minal capability database
+
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin "curs_"
++ <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin "curs_"
+ for detailed routine descriptions.
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+
+@@ -1148,52 +1198,61 @@
+ The <STRONG>ncurses</STRONG> library can be compiled with an option
+ (<STRONG>-DUSE_GETCAP</STRONG>) that falls back to the old-style /etc/term-
+ cap file if the terminal setup code cannot find a terminfo
+- entry corresponding to <STRONG>TERM</STRONG>. Use of this feature is not
+- recommended, as it essentially includes an entire termcap
+- compiler in the <STRONG>ncurses</STRONG> startup code, at significant cost
++ entry corresponding to <STRONG>TERM</STRONG>. Use of this feature is not
++ recommended, as it essentially includes an entire termcap
++ compiler in the <STRONG>ncurses</STRONG> startup code, at significant cost
+ in core and startup cycles.
+
+- The <STRONG>ncurses</STRONG> library includes facilities for capturing
+- mouse events on certain terminals (including xterm). See
++ The <STRONG>ncurses</STRONG> library includes facilities for capturing
++ mouse events on certain terminals (including xterm). See
+ the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
+
+- The <STRONG>ncurses</STRONG> library includes facilities for responding to
+- window resizing events, e.g., when running in an xterm.
+- See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for
+- details. In addition, the library may be configured with
++ The <STRONG>ncurses</STRONG> library includes facilities for responding to
++ window resizing events, e.g., when running in an xterm.
++ See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for
++ details. In addition, the library may be configured with
+ a SIGWINCH handler.
+
+- The <STRONG>ncurses</STRONG> library extends the fixed set of function key
+- capabilities of terminals by allowing the application
+- designer to define additional key sequences at runtime.
++ The <STRONG>ncurses</STRONG> library extends the fixed set of function key
++ capabilities of terminals by allowing the application
++ designer to define additional key sequences at runtime.
+ See the <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> man-
+ ual pages for details.
+
+ The <STRONG>ncurses</STRONG> library can exploit the capabilities of termi-
+- nals which implement the ISO-6429 SGR 39 and SGR 49 con-
++ nals which implement the ISO-6429 SGR 39 and SGR 49 con-
+ trols, which allow an application to reset the terminal to
+- its original foreground and background colors. From the
+- users' perspective, the application is able to draw col-
+- ored text on a background whose color is set indepen-
+- dently, providing better control over color contrasts.
++ its original foreground and background colors. From the
++ users' perspective, the application is able to draw col-
++ ored text on a background whose color is set indepen-
++ dently, providing better control over color contrasts.
+ See the <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details.
+
+- The <STRONG>ncurses</STRONG> library includes a function for directing
+- application output to a printer attached to the terminal
++ The <STRONG>ncurses</STRONG> library includes a function for directing
++ application output to a printer attached to the terminal
+ device. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
+
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- The <STRONG>ncurses</STRONG> library is intended to be BASE-level confor-
++ The <STRONG>ncurses</STRONG> library is intended to be BASE-level confor-
+ mant with XSI Curses. The EXTENDED XSI Curses functional-
+ ity (including color support) is supported.
+
+- A small number of local differences (that is, individual
+- differences between the XSI Curses and <STRONG>ncurses</STRONG> calls) are
+- described in <STRONG>PORTABILITY</STRONG> sections of the library man
++ A small number of local differences (that is, individual
++ differences between the XSI Curses and <STRONG>ncurses</STRONG> calls) are
++ described in <STRONG>PORTABILITY</STRONG> sections of the library man
+ pages.
+
++ Unlike other implementations, this one checks parameters
++ such as pointers to WINDOW structures to ensure they are
++ not null. The main reason for providing this behavior is
++ to guard against programmer error. The standard interface
++ does not provide a way for the library to tell an applica-
++ tion which of several possible errors were detected.
++ Relying on this (or some other) extension will adversely
++ affect the portability of curses applications.
++
+ This implementation also contains several extensions:
+
+ <STRONG>o</STRONG> The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it
+@@ -1227,31 +1286,31 @@
+
+ <STRONG>o</STRONG> This implementation can also be configured to provide
+ a set of functions which improve the ability to manage
+- multiple screens. See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
++ multiple screens. See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
+
+- In historic curses versions, delays embedded in the capa-
++ In historic curses versions, delays embedded in the capa-
+ bilities <STRONG>cr</STRONG>, <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding
+- delay bits in the UNIX tty driver. In this implementa-
+- tion, all padding is done by sending NUL bytes. This
+- method is slightly more expensive, but narrows the inter-
+- face to the UNIX kernel significantly and increases the
++ delay bits in the UNIX tty driver. In this implementa-
++ tion, all padding is done by sending NUL bytes. This
++ method is slightly more expensive, but narrows the inter-
++ face to the UNIX kernel significantly and increases the
+ package's portability correspondingly.
+
+
+ </PRE>
+ <H2>NOTES</H2><PRE>
+- The header file <STRONG>&lt;curses.h&gt;</STRONG> automatically includes the
++ The header file <STRONG>&lt;curses.h&gt;</STRONG> automatically includes the
+ header files <STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
+
+- If standard output from a <STRONG>ncurses</STRONG> program is re-directed
+- to something which is not a tty, screen updates will be
++ If standard output from a <STRONG>ncurses</STRONG> program is re-directed
++ to something which is not a tty, screen updates will be
+ directed to standard error. This was an undocumented fea-
+ ture of AT&amp;T System V Release 3 curses.
+
+
+ </PRE>
+ <H2>AUTHORS</H2><PRE>
+- Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
++ Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
+ Based on pcurses by Pavel Curtis.
+
+
+Index: doc/html/man/ncurses5-config.1.html
+--- ncurses-5.9/doc/html/man/ncurses5-config.1.html 2011-04-04 22:46:49.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/ncurses5-config.1.html 2013-03-09 22:12:04.000000000 +0000
+@@ -105,10 +105,11 @@
+
+ <STRONG>--terminfo-dirs</STRONG>
+ echos the $TERMINFO_DIRS directory list, e.g.,
+- /usr/local/ncurses/lib/terminfo:/usr/share/terminfo
++ /usr/local/ncurses/share/terminfo:/usr/share/ter-
++ minfo
+
+ <STRONG>--termpath</STRONG>
+- echos the $TERMPATH termcap list, if support for
++ echos the $TERMPATH termcap list, if support for
+ termcap is configured.
+
+ <STRONG>--help</STRONG> prints this message
+@@ -118,7 +119,7 @@
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/man/panel.3x.html
+--- ncurses-5.9/doc/html/man/panel.3x.html 2011-04-04 22:46:49.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/panel.3x.html 2013-03-09 22:12:04.000000000 +0000
+@@ -174,35 +174,35 @@
+
+ </PRE>
+ <H2>DIAGNOSTICS</H2><PRE>
+- Each routine that returns a pointer returns <STRONG>NULL</STRONG> if an
+- error occurs. Each routine that returns an int value
++ Each routine that returns a pointer returns <STRONG>NULL</STRONG> if an
++ error occurs. Each routine that returns an int value
+ returns <STRONG>OK</STRONG> if it executes successfully and <STRONG>ERR</STRONG> if not.
+
+
+ </PRE>
+ <H2>COMPATIBILITY</H2><PRE>
+- Reasonable care has been taken to ensure compatibility
+- with the native panel facility introduced in SVr3.2
+- (inspection of the SVr4 manual pages suggests the
+- programming interface is unchanged). The <STRONG>PANEL</STRONG> data
+- structures are merely similar. The programmer is cau-
+- tioned not to directly use <STRONG>PANEL</STRONG> fields.
++ Reasonable care has been taken to ensure compatibility
++ with the native panel facility introduced in SVr3.2
++ (inspection of the SVr4 manual pages suggests the program-
++ ming interface is unchanged). The <STRONG>PANEL</STRONG> data structures
++ are merely similar. The programmer is cautioned not to
++ directly use <STRONG>PANEL</STRONG> fields.
+
+- The functions <STRONG>show_panel()</STRONG> and <STRONG>top_panel()</STRONG> are identical
+- in this implementation, and work equally well with dis-
++ The functions <STRONG>show_panel()</STRONG> and <STRONG>top_panel()</STRONG> are identical
++ in this implementation, and work equally well with dis-
+ played or hidden panels. In the native System V implemen-
+ tation, <STRONG>show_panel()</STRONG> is intended for making a hidden panel
+- visible (at the top of the stack) and <STRONG>top_panel()</STRONG> is
+- intended for making an already-visible panel move to the
+- top of the stack. You are cautioned to use the correct
+- function to ensure compatibility with native panel
++ visible (at the top of the stack) and <STRONG>top_panel()</STRONG> is
++ intended for making an already-visible panel move to the
++ top of the stack. You are cautioned to use the correct
++ function to ensure compatibility with native panel
+ libraries.
+
+
+ </PRE>
+ <H2>NOTE</H2><PRE>
+- In your library list, libpanel.a should be before libn-
+- curses.a; that is, you want to say `-lpanel -lncurses',
++ In your library list, libpanel.a should be before libn-
++ curses.a; that is, you want to say `-lpanel -lncurses',
+ not the other way around (which would usually give a link-
+ error).
+
+@@ -218,14 +218,14 @@
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+ </PRE>
+ <H2>AUTHOR</H2><PRE>
+- Originally written by Warren Tucker &lt;wht@n4hgf.mt-
+- park.ga.us&gt;, primarily to assist in porting u386mon to
+- systems without a native panels library. Repackaged for
++ Originally written by Warren Tucker &lt;wht@n4hgf.mt-
++ park.ga.us&gt;, primarily to assist in porting u386mon to
++ systems without a native panels library. Repackaged for
+ ncurses by Zeyd ben-Halim.
+
+
+Index: doc/html/man/resizeterm.3x.html
+--- ncurses-5.9/doc/html/man/resizeterm.3x.html 2011-01-09 01:03:28.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/resizeterm.3x.html 2013-03-09 22:12:04.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * authorization. *
+ ****************************************************************************
+ * Author: Thomas E. Dickey 1996-2005
+- * @Id: resizeterm.3x,v 1.14 2010/12/04 18:38:55 tom Exp @
++ * @Id: resizeterm.3x,v 1.15 2012/07/07 18:38:21 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -113,9 +113,7 @@
+ If the environment variables <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> are set,
+ this overrides the library's use of the window size
+ obtained from the operating system. Thus, even if a SIG-
+- WINCH is received, no screen size change may be recorded.
+- In that case, no <STRONG>KEY_RESIZE</STRONG> is queued for the next call to
+- <STRONG>getch</STRONG>; an <STRONG>ERR</STRONG> will be returned instead.
++ WINCH is received, no screen size change may be recorded.
+
+
+ </PRE>
+Index: doc/html/man/tabs.1.html
+--- ncurses-5.9/doc/html/man/tabs.1.html 2011-04-04 22:46:50.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/tabs.1.html 2013-03-09 22:12:04.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2008-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: tabs.1,v 1.8 2010/12/04 18:40:45 tom Exp @
++ * @Id: tabs.1,v 1.9 2011/12/17 23:31:59 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -156,7 +156,7 @@
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/man/term.7.html
+--- ncurses-5.9/doc/html/man/term.7.html 2011-02-25 23:25:09.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/term.7.html 2013-03-09 22:12:05.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: term.7,v 1.22 2010/12/04 18:41:07 tom Exp @
++ * @Id: term.7,v 1.23 2011/12/17 23:32:17 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -85,9 +85,9 @@
+ the tty device and baud rate.
+
+ Setting your own <STRONG>TERM</STRONG> value may also be useful if you have
+- created a custom entry incorporating options (such as
+- visual bell or reverse-video) which you wish to override
+- the system default type for your line.
++ created a custom entry incorporating options (such as vis-
++ ual bell or reverse-video) which you wish to override the
++ system default type for your line.
+
+ Terminal type descriptions are stored as files of capabil-
+ ity data underneath /usr/share/terminfo. To browse a list
+Index: doc/html/man/term_variables.3x.html
+--- ncurses-5.9/doc/html/man/term_variables.3x.html 2011-01-09 01:03:29.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/term_variables.3x.html 2012-01-09 18:36:45.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: term_variables.3x,v 1.2 2010/12/04 18:38:55 tom Exp @
++ * @Id: term_variables.3x,v 1.3 2011/12/17 23:31:50 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+Index: doc/html/man/terminfo.5.html
+--- ncurses-5.9/doc/html/man/terminfo.5.html 2011-04-04 22:46:51.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/terminfo.5.html 2013-03-09 22:12:05.000000000 +0000
+@@ -6,7 +6,7 @@
+ * Note: this must be run through tbl before nroff.
+ * The magic cookie on the first line triggers this under some man programs.
+ ****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,9 +32,9 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: terminfo.head,v 1.18 2010/07/31 16:08:48 tom Exp @
++ * @Id: terminfo.head,v 1.20 2013/03/02 23:52:37 tom Exp @
+ * Head of terminfo man page ends here
+- * @Id: terminfo.tail,v 1.53 2010/12/04 18:38:55 tom Exp @
++ * @Id: terminfo.tail,v 1.61 2013/03/03 00:06:39 tom Exp @
+ * Beginning of terminfo.tail file
+ * This file is part of ncurses.
+ * See "terminfo.head" for copyright.
+@@ -78,7 +78,7 @@
+ nals by giving a set of capabilities which they have, by
+ specifying how to perform screen operations, and by speci-
+ fying padding requirements and initialization sequences.
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+ Entries in <EM>terminfo</EM> consist of a sequence of `,' separated
+ fields (embedded commas may be escaped with a backslash or
+@@ -106,14 +106,13 @@
+ Terminal names (except for the last, verbose entry) should
+ be chosen using the following conventions. The particular
+ piece of hardware making up the terminal should have a
+- root name, thus ``hp2621''. This name should not contain
++ root name, thus "hp2621". This name should not contain
+ hyphens. Modes that the hardware can be in, or user pref-
+ erences, should be indicated by appending a hyphen and a
+ mode suffix. Thus, a vt100 in 132 column mode would be
+ vt100-w. The following suffixes should be used where pos-
+ sible:
+
+-
+ <STRONG>Suffix</STRONG> <STRONG>Meaning</STRONG> <STRONG>Example</STRONG>
+ -<EM>nn</EM> Number of lines on the screen aaa-60
+ -<EM>n</EM>p Number of pages of memory c100-4p
+@@ -126,14 +125,14 @@
+ -ns No status line hp2626-ns
+ -rv Reverse video c100-rv
+ -s Enable status line vt100-s
+-
+ -vb Use visible bell instead of beep wy370-vb
++
+ -w Wide mode (&gt; 80 columns, usually 132) vt100-w
+
+ For more on terminal naming conventions, see the <STRONG>term(7)</STRONG>
+ manual page.
+
+- <STRONG>Capabilities</STRONG>
++ <STRONG>Predefined</STRONG> <STRONG>Capabilities</STRONG>
+ The following is a complete table of the capabilities
+ included in a terminfo description block and available to
+ terminfo-using code. In each line of the table,
+@@ -176,133 +175,134 @@
+ These are the boolean capabilities:
+
+
+- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+- <STRONG>Booleans</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+- auto_left_margin bw bw cub1 wraps from col-
++ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
++ <STRONG>Booleans</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
++ auto_left_margin bw bw cub1 wraps from col-
+ umn 0 to last column
+- auto_right_margin am am terminal has auto-
++ auto_right_margin am am terminal has auto-
+ matic margins
+- back_color_erase bce ut screen erased with
++ back_color_erase bce ut screen erased with
+ background color
+- can_change ccc cc terminal can re-
++ can_change ccc cc terminal can re-
+ define existing col-
+ ors
+- ceol_standout_glitch xhp xs standout not erased
++ ceol_standout_glitch xhp xs standout not erased
+ by overwriting (hp)
+- col_addr_glitch xhpa YA only positive motion
++ col_addr_glitch xhpa YA only positive motion
+ for hpa/mhpa caps
+
+
+- cpi_changes_res cpix YF changing character
++
++ cpi_changes_res cpix YF changing character
+ pitch changes reso-
+ lution
+- cr_cancels_micro_mode crxm YB using cr turns off
++ cr_cancels_micro_mode crxm YB using cr turns off
+ micro mode
+- dest_tabs_magic_smso xt xt tabs destructive,
++ dest_tabs_magic_smso xt xt tabs destructive,
+ magic so char
+ (t1061)
+- eat_newline_glitch xenl xn newline ignored
++ eat_newline_glitch xenl xn newline ignored
+ after 80 cols (con-
+ cept)
+- erase_overstrike eo eo can erase over-
++ erase_overstrike eo eo can erase over-
+ strikes with a blank
+- generic_type gn gn generic line type
+- hard_copy hc hc hardcopy terminal
+- hard_cursor chts HC cursor is hard to
++ generic_type gn gn generic line type
++ hard_copy hc hc hardcopy terminal
++ hard_cursor chts HC cursor is hard to
+ see
+- has_meta_key km km Has a meta key
++ has_meta_key km km Has a meta key
+ (i.e., sets 8th-bit)
+- has_print_wheel daisy YC printer needs opera-
++ has_print_wheel daisy YC printer needs opera-
+ tor to change char-
+ acter set
+- has_status_line hs hs has extra status
++ has_status_line hs hs has extra status
+ line
+- hue_lightness_saturation hls hl terminal uses only
++ hue_lightness_saturation hls hl terminal uses only
+ HLS color notation
+ (Tektronix)
+- insert_null_glitch in in insert mode distin-
++ insert_null_glitch in in insert mode distin-
+ guishes nulls
+- lpi_changes_res lpix YG changing line pitch
++ lpi_changes_res lpix YG changing line pitch
+ changes resolution
+- memory_above da da display may be
++ memory_above da da display may be
+ retained above the
+ screen
+- memory_below db db display may be
++ memory_below db db display may be
+ retained below the
+ screen
+- move_insert_mode mir mi safe to move while
++ move_insert_mode mir mi safe to move while
+ in insert mode
+- move_standout_mode msgr ms safe to move while
++ move_standout_mode msgr ms safe to move while
+ in standout mode
+- needs_xon_xoff nxon nx padding will not
++ needs_xon_xoff nxon nx padding will not
+ work, xon/xoff
+ required
+- no_esc_ctlc xsb xb beehive (f1=escape,
++ no_esc_ctlc xsb xb beehive (f1=escape,
+ f2=ctrl C)
+- no_pad_char npc NP pad character does
++ no_pad_char npc NP pad character does
+ not exist
+- non_dest_scroll_region ndscr ND scrolling region is
++ non_dest_scroll_region ndscr ND scrolling region is
+ non-destructive
+- non_rev_rmcup nrrmc NR smcup does not
++ non_rev_rmcup nrrmc NR smcup does not
+ reverse rmcup
+- over_strike os os terminal can over-
++ over_strike os os terminal can over-
+ strike
+- prtr_silent mc5i 5i printer will not
++ prtr_silent mc5i 5i printer will not
+ echo on screen
+- row_addr_glitch xvpa YD only positive motion
++ row_addr_glitch xvpa YD only positive motion
+ for vpa/mvpa caps
+- semi_auto_right_margin sam YE printing in last
++ semi_auto_right_margin sam YE printing in last
+ column causes cr
+- status_line_esc_ok eslok es escape can be used
++ status_line_esc_ok eslok es escape can be used
+ on the status line
+- tilde_glitch hz hz cannot print ~'s
++ tilde_glitch hz hz cannot print ~'s
+ (hazeltine)
+
+
+- transparent_underline ul ul underline character
++ transparent_underline ul ul underline character
+ overstrikes
+- xon_xoff xon xo terminal uses
++ xon_xoff xon xo terminal uses
+ xon/xoff handshaking
+
+ These are the numeric capabilities:
+
+
+- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+- <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+- columns cols co number of columns in
++ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
++ <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
++ columns cols co number of columns in
+ a line
+- init_tabs it it tabs initially every
++ init_tabs it it tabs initially every
+ # spaces
+- label_height lh lh rows in each label
+- label_width lw lw columns in each
++ label_height lh lh rows in each label
++ label_width lw lw columns in each
+ label
+- lines lines li number of lines on
++ lines lines li number of lines on
+ screen or page
+- lines_of_memory lm lm lines of memory if &gt;
++ lines_of_memory lm lm lines of memory if &gt;
+ line. 0 means varies
+- magic_cookie_glitch xmc sg number of blank
++ magic_cookie_glitch xmc sg number of blank
+ characters left by
+ smso or rmso
+- max_attributes ma ma maximum combined
++ max_attributes ma ma maximum combined
+ attributes terminal
+ can handle
+- max_colors colors Co maximum number of
++ max_colors colors Co maximum number of
+ colors on screen
+- max_pairs pairs pa maximum number of
++ max_pairs pairs pa maximum number of
+ color-pairs on the
+ screen
+- maximum_windows wnum MW maximum number of
++ maximum_windows wnum MW maximum number of
+ defineable windows
+- no_color_video ncv NC video attributes
++ no_color_video ncv NC video attributes
+ that cannot be used
+ with colors
+- num_labels nlab Nl number of labels on
++ num_labels nlab Nl number of labels on
+ screen
+- padding_baud_rate pb pb lowest baud rate
++ padding_baud_rate pb pb lowest baud rate
+ where padding needed
+- virtual_terminal vt vt virtual terminal
++ virtual_terminal vt vt virtual terminal
+ number (CB/unix)
+- width_status_line wsl ws number of columns in
++ width_status_line wsl ws number of columns in
+ status line
+
+ The following numeric capabilities are present in the
+@@ -310,47 +310,47 @@
+ man page. They came in with SVr4's printer support.
+
+
+- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+- <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+- bit_image_entwining bitwin Yo number of passes for
++ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
++ <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
++ bit_image_entwining bitwin Yo number of passes for
+ each bit-image row
+- bit_image_type bitype Yp type of bit-image
++ bit_image_type bitype Yp type of bit-image
+ device
+- buffer_capacity bufsz Ya numbers of bytes
++ buffer_capacity bufsz Ya numbers of bytes
+ buffered before
+ printing
+- buttons btns BT number of buttons on
++ buttons btns BT number of buttons on
+ mouse
+- dot_horz_spacing spinh Yc spacing of dots hor-
++ dot_horz_spacing spinh Yc spacing of dots hor-
+ izontally in dots
+ per inch
+
+- dot_vert_spacing spinv Yb spacing of pins ver-
++ dot_vert_spacing spinv Yb spacing of pins ver-
+ tically in pins per
+ inch
+- max_micro_address maddr Yd maximum value in
++ max_micro_address maddr Yd maximum value in
+ micro_..._address
+- max_micro_jump mjump Ye maximum value in
++ max_micro_jump mjump Ye maximum value in
+ parm_..._micro
+- micro_col_size mcs Yf character step size
++ micro_col_size mcs Yf character step size
+ when in micro mode
+- micro_line_size mls Yg line step size when
++ micro_line_size mls Yg line step size when
+ in micro mode
+- number_of_pins npins Yh numbers of pins in
++ number_of_pins npins Yh numbers of pins in
+ print-head
+- output_res_char orc Yi horizontal resolu-
++ output_res_char orc Yi horizontal resolu-
+ tion in units per
+ line
+- output_res_horz_inch orhi Yk horizontal resolu-
++ output_res_horz_inch orhi Yk horizontal resolu-
+ tion in units per
+ inch
+- output_res_line orl Yj vertical resolution
++ output_res_line orl Yj vertical resolution
+ in units per line
+- output_res_vert_inch orvi Yl vertical resolution
++ output_res_vert_inch orvi Yl vertical resolution
+ in units per inch
+- print_rate cps Ym print rate in char-
++ print_rate cps Ym print rate in char-
+ acters per second
+- wide_char_size widcs Yn character step size
++ wide_char_size widcs Yn character step size
+ when in double wide
+ mode
+
+@@ -402,8 +402,8 @@
+ prototype !?
+ create_window cwin CW define a window #1
+ from #2,#3 to #4,#5
+- cursor_address cup cm move to row #1
+- columns #2
++ cursor_address cup cm move to row #1 col-
++ umns #2
+ cursor_down cud1 do down one line
+ cursor_home home ho home cursor (if no
+ cup)
+@@ -904,8 +904,8 @@
+ zero_motion zerom Zx No motion for subse-
+ quent character
+
+- The following string capabilities are present in the
+- SVr4.0 term structure, but were originally not documented
++ The following string capabilities are present in the
++ SVr4.0 term structure, but were originally not documented
+ in the man page.
+
+
+@@ -989,13 +989,14 @@
+ bottom margins to
+ #1, #2
+
+- The XSI Curses standard added these. They are some
+- post-4.1 versions of System V curses, e.g., Solaris 2.5
+- and IRIX 6.x. The <STRONG>ncurses</STRONG> termcap names for them are
+- invented; according to the XSI Curses standard, they have
+- no termcap names. If your compiled terminfo entries use
+- these, they may not be binary-compatible with System V
+- terminfo entries after SVr4.1; beware!
++ The XSI Curses standard added these hardcopy capabili-
++ ties. They were used in some post-4.1 versions of System
++ V curses, e.g., Solaris 2.5 and IRIX 6.x. Except for <STRONG>YI</STRONG>,
++ the <STRONG>ncurses</STRONG> termcap names for them are invented. Accord-
++ ing to the XSI Curses standard, they have no termcap
++ names. If your compiled terminfo entries use these, they
++ may not be binary-compatible with System V terminfo
++ entries after SVr4.1; beware!
+
+
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+@@ -1015,13 +1016,57 @@
+ set_a_attributes sgr1 sA Define second set of
+ video attributes
+ #1-#6
+- set_pglen_inch slengthsL YI Set page length
+- to #1 hundredth of
+- an inch
++ set_pglen_inch slengthYI Set page length to
++ #1 hundredth of an
++ inch (some implemen-
++ tations use sL for
++ termcap).
++
++ <STRONG>User-Defined</STRONG> <STRONG>Capabilities</STRONG>
++ The preceding section listed the <EM>predefined</EM> capabilities.
++ They deal with some special features for terminals no
++ longer (or possibly never) produced. Occasionally there
++ are special features of newer terminals which are awkward
++ or impossible to represent by reusing the predefined capa-
++ bilities.
++
++ <STRONG>ncurses</STRONG> addresses this limitation by allowing user-defined
++ capabilities. The <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG>
++ option for this purpose. When <STRONG>-x</STRONG> is set, <STRONG>tic</STRONG> treats
++ unknown capabilities as user-defined. That is, if <STRONG>tic</STRONG>
++ encounters a capability name which it does not recognize,
++ it infers its type (boolean, number or string) from the
++ syntax and makes an extended table entry for that capabil-
++ ity. The <STRONG>use_extended_names</STRONG> function makes this informa-
++ tion conditionally available to applications. The ncurses
++ library provides the data leaving most of the behavior to
++ applications:
++
++ <STRONG>o</STRONG> User-defined capability strings whose name begins with
++ "k" are treated as function keys.
++
++ <STRONG>o</STRONG> The types (boolean, number, string) determined by <STRONG>tic</STRONG>
++ can be inferred by successful calls on <STRONG>tigetflag</STRONG>, etc.
++
++ <STRONG>o</STRONG> If the capability name happens to be two characters,
++ the capability is also available through the termcap
++ interface.
++
++ While termcap is said to be extensible because it does not
++ use a predefined set of capabilities, in practice it has
++ been limited to the capabilities defined by terminfo
++ implementations. As a rule, user-defined capabilities
++ intended for use by termcap applications should be limited
++ to booleans and numbers to avoid running past the 1023
++ byte limit assumed by termcap implementations and their
++ applications. In particular, providing extended sets of
++ function keys (past the 60 numbered keys and the handful
++ of special named keys) is best done using the longer names
++ available using terminfo.
+
+ <STRONG>A</STRONG> <STRONG>Sample</STRONG> <STRONG>Entry</STRONG>
+ The following entry, describing an ANSI-standard terminal,
+- is representative of what a <STRONG>terminfo</STRONG> entry for a modern
++ is representative of what a <STRONG>terminfo</STRONG> entry for a modern
+ terminal typically looks like.
+
+ ansi|ansi/pc-term compatible with color,
+@@ -1045,93 +1090,126 @@
+ sgr0=\E[0;10m, tbc=\E[2g, u6=\E[%d;%dR, u7=\E[6n,
+ u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%p1%dd,
+
+- Entries may continue onto multiple lines by placing white
+- space at the beginning of each line except the first.
+- Comments may be included on lines beginning with ``#''.
+- Capabilities in <EM>terminfo</EM> are of three types: Boolean capa-
+- bilities which indicate that the terminal has some partic-
+- ular feature, numeric capabilities giving the size of the
+- terminal or the size of particular delays, and string
+- capabilities, which give a sequence which can be used to
+- perform particular terminal operations.
++ Entries may continue onto multiple lines by placing white
++ space at the beginning of each line except the first.
++ Comments may be included on lines beginning with "#".
++ Capabilities in <EM>terminfo</EM> are of three types:
++
++ <STRONG>o</STRONG> Boolean capabilities which indicate that the terminal
++ has some particular feature,
+
++ <STRONG>o</STRONG> numeric capabilities giving the size of the terminal
++ or the size of particular delays, and
++
++ <STRONG>o</STRONG> string capabilities, which give a sequence which can
++ be used to perform particular terminal operations.
+
+ <STRONG>Types</STRONG> <STRONG>of</STRONG> <STRONG>Capabilities</STRONG>
+- All capabilities have names. For instance, the fact that
+- ANSI-standard terminals have <EM>automatic</EM> <EM>margins</EM> (i.e., an
+- automatic return and line-feed when the end of a line is
+- reached) is indicated by the capability <STRONG>am</STRONG>. Hence the
++ All capabilities have names. For instance, the fact that
++ ANSI-standard terminals have <EM>automatic</EM> <EM>margins</EM> (i.e., an
++ automatic return and line-feed when the end of a line is
++ reached) is indicated by the capability <STRONG>am</STRONG>. Hence the
+ description of ansi includes <STRONG>am</STRONG>. Numeric capabilities are
+- followed by the character `#' and then a positive value.
+- Thus <STRONG>cols</STRONG>, which indicates the number of columns the ter-
+- minal has, gives the value `80' for ansi. Values for
++ followed by the character `#' and then a positive value.
++ Thus <STRONG>cols</STRONG>, which indicates the number of columns the ter-
++ minal has, gives the value `80' for ansi. Values for
+ numeric capabilities may be specified in decimal, octal or
+- hexadecimal, using the C programming language conventions
++ hexadecimal, using the C programming language conventions
+ (e.g., 255, 0377 and 0xff or 0xFF).
+
+- Finally, string valued capabilities, such as <STRONG>el</STRONG> (clear to
++ Finally, string valued capabilities, such as <STRONG>el</STRONG> (clear to
+ end of line sequence) are given by the two-character code,
+- an `=', and then a string ending at the next following
++ an `=', and then a string ending at the next following
+ `,'.
+
+- A number of escape sequences are provided in the string
++ A number of escape sequences are provided in the string
+ valued capabilities for easy encoding of characters there.
+- Both <STRONG>\E</STRONG> and <STRONG>\e</STRONG> map to an ESCAPE character, <STRONG>^x</STRONG> maps to a
+- control-x for any appropriate x, and the sequences <STRONG>\n</STRONG> <STRONG>\l</STRONG>
+- <STRONG>\r</STRONG> <STRONG>\t</STRONG> <STRONG>\b</STRONG> <STRONG>\f</STRONG> <STRONG>\s</STRONG> give a newline, line-feed, return, tab,
+- backspace, form-feed, and space. Other escapes include <STRONG>\^</STRONG>
+- for <STRONG>^</STRONG>, <STRONG>\\</STRONG> for <STRONG>\</STRONG>, <STRONG>\</STRONG>, for comma, <STRONG>\:</STRONG> for <STRONG>:</STRONG>, and <STRONG>\0</STRONG> for null.
+- (<STRONG>\0</STRONG> will produce \200, which does not terminate a string
+- but behaves as a null character on most terminals, provid-
+- ing CS7 is specified. See <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>.) Finally, characters
+- may be given as three octal digits after a <STRONG>\</STRONG>.
+-
+- A delay in milliseconds may appear anywhere in a string
+- capability, enclosed in $&lt;..&gt; brackets, as in <STRONG>el</STRONG>=\EK$&lt;5&gt;,
+- and padding characters are supplied by <EM>tputs</EM> to provide
+- this delay. The delay must be a number with at most one
++ Both <STRONG>\E</STRONG> and <STRONG>\e</STRONG> map to an ESCAPE character, <STRONG>^x</STRONG> maps to a
++ control-x for any appropriate x, and the sequences <STRONG>\n</STRONG> <STRONG>\l</STRONG>
++ <STRONG>\r</STRONG> <STRONG>\t</STRONG> <STRONG>\b</STRONG> <STRONG>\f</STRONG> <STRONG>\s</STRONG> give a newline, line-feed, return, tab,
++ backspace, form-feed, and space. Other escapes include
++
++ <STRONG>o</STRONG> <STRONG>\^</STRONG> for <STRONG>^</STRONG>,
++
++ <STRONG>o</STRONG> <STRONG>\\</STRONG> for <STRONG>\</STRONG>,
++
++ <STRONG>o</STRONG> <STRONG>\</STRONG>, for comma,
++
++ <STRONG>o</STRONG> <STRONG>\:</STRONG> for <STRONG>:</STRONG>,
++
++ <STRONG>o</STRONG> and <STRONG>\0</STRONG> for null.
++
++ <STRONG>\0</STRONG> will produce \200, which does not terminate a
++ string but behaves as a null character on most termi-
++ nals, providing CS7 is specified. See <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>.
++
++ The reason for this quirk is to maintain binary com-
++ patibility of the compiled terminfo files with other
++ implementations, e.g., the SVr4 systems, which docu-
++ ment this. Compiled terminfo files use null-termi-
++ nated strings, with no lengths. Modifying this would
++ require a new binary format, which would not work with
++ other implementations.
++
++ Finally, characters may be given as three octal digits
++ after a <STRONG>\</STRONG>.
++
++ A delay in milliseconds may appear anywhere in a string
++ capability, enclosed in $&lt;..&gt; brackets, as in <STRONG>el</STRONG>=\EK$&lt;5&gt;,
++ and padding characters are supplied by <EM>tputs</EM> to provide
++ this delay. The delay must be a number with at most one
+ decimal place of precision; it may be followed by suffixes
+- `*' or '/' or both. A `*' indicates that the padding
+- required is proportional to the number of lines affected
+- by the operation, and the amount given is the per-
+- affected-unit padding required. (In the case of insert
++ `*' or '/' or both. A `*' indicates that the padding
++ required is proportional to the number of lines affected
++ by the operation, and the amount given is the per-
++ affected-unit padding required. (In the case of insert
+ character, the factor is still the number of <EM>lines</EM>
+- affected.) Normally, padding is advisory if the device
+- has the <STRONG>xon</STRONG> capability; it is used for cost computation
+- but does not trigger delays. A `/' suffix indicates that
+- the padding is mandatory and forces a delay of the given
+- number of milliseconds even on devices for which <STRONG>xon</STRONG> is
++ affected.) Normally, padding is advisory if the device
++ has the <STRONG>xon</STRONG> capability; it is used for cost computation
++ but does not trigger delays. A `/' suffix indicates that
++ the padding is mandatory and forces a delay of the given
++ number of milliseconds even on devices for which <STRONG>xon</STRONG> is
+ present to indicate flow control.
+
+- Sometimes individual capabilities must be commented out.
+- To do this, put a period before the capability name. For
++ Sometimes individual capabilities must be commented out.
++ To do this, put a period before the capability name. For
+ example, see the second <STRONG>ind</STRONG> in the example above.
+
+-
+ <STRONG>Fetching</STRONG> <STRONG>Compiled</STRONG> <STRONG>Descriptions</STRONG>
+- If the environment variable TERMINFO is set, it is inter-
+- preted as the pathname of a directory containing the com-
+- piled description you are working on. Only that directory
+- is searched.
+-
+- If TERMINFO is not set, the <STRONG>ncurses</STRONG> version of the ter-
+- minfo reader code will instead look in the directory
+- <STRONG>$HOME/.terminfo</STRONG> for a compiled description. If it fails
+- to find one there, and the environment variable TER-
+- MINFO_DIRS is set, it will interpret the contents of that
+- variable as a list of colon- separated directories to be
+- searched (an empty entry is interpreted as a command to
+- search <EM>/usr/share/terminfo</EM>). If no description is found
+- in any of the TERMINFO_DIRS directories, the fetch fails.
+-
+- If neither TERMINFO nor TERMINFO_DIRS is set, the last
+- place tried will be the system terminfo directory,
+- <EM>/usr/share/terminfo</EM>.
+-
+- (Neither the <STRONG>$HOME/.terminfo</STRONG> lookups nor TERMINFO_DIRS
+- extensions are supported under stock System V ter-
+- minfo/curses.)
++ The <STRONG>ncurses</STRONG> library searches for terminal descriptions in
++ several places. It uses only the first description found.
++ The library has a compiled-in list of places to search
++ which can be overridden by environment variables. Before
++ starting to search, <STRONG>ncurses</STRONG> eliminates duplicates in its
++ search list.
++
++ <STRONG>o</STRONG> If the environment variable TERMINFO is set, it is
++ interpreted as the pathname of a directory containing
++ the compiled description you are working on. Only
++ that directory is searched.
++
++ <STRONG>o</STRONG> If TERMINFO is not set, <STRONG>ncurses</STRONG> will instead look in
++ the directory <STRONG>$HOME/.terminfo</STRONG> for a compiled descrip-
++ tion.
++
++ <STRONG>o</STRONG> Next, if the environment variable TERMINFO_DIRS is
++ set, <STRONG>ncurses</STRONG> will interpret the contents of that vari-
++ able as a list of colon-separated directories (or
++ database files) to be searched.
++
++ An empty directory name (i.e., if the variable begins
++ or ends with a colon, or contains adacent colons) is
++ interpreted as the system location <EM>/usr/share/ter-</EM>
++ <EM>minfo</EM>.
++
++ <STRONG>o</STRONG> Finally, <STRONG>ncurses</STRONG> searches these compiled-in locations:
++
++ <STRONG>o</STRONG> a list of directories
++ (/usr/local/ncurses/share/terminfo:/usr/share/ter-
++ minfo), and
+
++ <STRONG>o</STRONG> the system terminfo directory, <EM>/usr/share/terminfo</EM>
++ (the compiled-in default).
+
+ <STRONG>Preparing</STRONG> <STRONG>Descriptions</STRONG>
+ We now outline how to prepare descriptions of terminals.
+@@ -1152,7 +1230,6 @@
+ ally needed. A similar test can be used for insert char-
+ acter.
+
+-
+ <STRONG>Basic</STRONG> <STRONG>Capabilities</STRONG>
+ The number of columns on each line for the terminal is
+ given by the <STRONG>cols</STRONG> numeric capability. If the terminal is
+@@ -1190,35 +1267,35 @@
+ left corner of the screen and send the <STRONG>ind</STRONG> (index) string.
+
+ To scroll text down, a program goes to the top left corner
+- of the screen and sends the <STRONG>ri</STRONG> (reverse index) string.
+- The strings <STRONG>ind</STRONG> and <STRONG>ri</STRONG> are undefined when not on their
++ of the screen and sends the <STRONG>ri</STRONG> (reverse index) string.
++ The strings <STRONG>ind</STRONG> and <STRONG>ri</STRONG> are undefined when not on their
+ respective corners of the screen.
+
+ Parameterized versions of the scrolling sequences are <STRONG>indn</STRONG>
+ and <STRONG>rin</STRONG> which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except
+- that they take one parameter, and scroll that many lines.
+- They are also undefined except at the appropriate edge of
++ that they take one parameter, and scroll that many lines.
++ They are also undefined except at the appropriate edge of
+ the screen.
+
+- The <STRONG>am</STRONG> capability tells whether the cursor sticks at the
+- right edge of the screen when text is output, but this
++ The <STRONG>am</STRONG> capability tells whether the cursor sticks at the
++ right edge of the screen when text is output, but this
+ does not necessarily apply to a <STRONG>cuf1</STRONG> from the last column.
+- The only local motion which is defined from the left edge
+- is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge will
+- move to the right edge of the previous row. If <STRONG>bw</STRONG> is not
+- given, the effect is undefined. This is useful for draw-
+- ing a box around the edge of the screen, for example. If
+- the terminal has switch selectable automatic margins, the
+- <EM>terminfo</EM> file usually assumes that this is on; i.e., <STRONG>am</STRONG>.
+- If the terminal has a command which moves to the first
+- column of the next line, that command can be given as <STRONG>nel</STRONG>
+- (newline). It does not matter if the command clears the
+- remainder of the current line, so if the terminal has no
+- <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be possible to craft a working <STRONG>nel</STRONG>
++ The only local motion which is defined from the left edge
++ is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge will
++ move to the right edge of the previous row. If <STRONG>bw</STRONG> is not
++ given, the effect is undefined. This is useful for draw-
++ ing a box around the edge of the screen, for example. If
++ the terminal has switch selectable automatic margins, the
++ <EM>terminfo</EM> file usually assumes that this is on; i.e., <STRONG>am</STRONG>.
++ If the terminal has a command which moves to the first
++ column of the next line, that command can be given as <STRONG>nel</STRONG>
++ (newline). It does not matter if the command clears the
++ remainder of the current line, so if the terminal has no
++ <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be possible to craft a working <STRONG>nel</STRONG>
+ out of one or both of them.
+
+ These capabilities suffice to describe hard-copy and
+- "glass-tty" terminals. Thus the model 33 teletype is
++ "glass-tty" terminals. Thus the model 33 teletype is
+ described as
+
+ 33|tty33|tty|model 33 teletype,
+@@ -1230,34 +1307,32 @@
+ am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J,
+ ind=^J, lines#24,
+
+-
+ <STRONG>Parameterized</STRONG> <STRONG>Strings</STRONG>
+- Cursor addressing and other strings requiring parameters
+- in the terminal are described by a parameterized string
+- capability, with <STRONG><A HREF="printf.3.html">printf(3)</A></STRONG> like escapes <STRONG>%x</STRONG> in it. For
+- example, to address the cursor, the <STRONG>cup</STRONG> capability is
++ Cursor addressing and other strings requiring parameters
++ in the terminal are described by a parameterized string
++ capability, with <STRONG><A HREF="printf.3.html">printf(3)</A></STRONG> like escapes <STRONG>%x</STRONG> in it. For
++ example, to address the cursor, the <STRONG>cup</STRONG> capability is
+ given, using two parameters: the row and column to address
+ to. (Rows and columns are numbered from zero and refer to
+ the physical screen visible to the user, not to any unseen
+- memory.) If the terminal has memory relative cursor
++ memory.) If the terminal has memory relative cursor
+ addressing, that can be indicated by <STRONG>mrcup</STRONG>.
+
+- The parameter mechanism uses a stack and special <STRONG>%</STRONG> codes
+- to manipulate it. Typically a sequence will push one of
+- the parameters onto the stack and then print it in some
+- format. Print (e.g., "%d") is a special case. Other
+- operations, including "%t" pop their operand from the
++ The parameter mechanism uses a stack and special <STRONG>%</STRONG> codes
++ to manipulate it. Typically a sequence will push one of
++ the parameters onto the stack and then print it in some
++ format. Print (e.g., "%d") is a special case. Other
++ operations, including "%t" pop their operand from the
+ stack. It is noted that more complex operations are often
+ necessary, e.g., in the <STRONG>sgr</STRONG> string.
+
+ The <STRONG>%</STRONG> encodings have the following meanings:
+
+-
+ %% outputs `%'
+
+ %<EM>[[</EM>:<EM>]flags][width[.precision]][</EM>doxXs<EM>]</EM>
+- as in <STRONG>printf</STRONG>, flags are [-+#] and space. Use a `:'
+- to allow the next character to be a `-' flag, avoid-
++ as in <STRONG>printf</STRONG>, flags are [-+#] and space. Use a `:'
++ to allow the next character to be a `-' flag, avoid-
+ ing interpreting "%-" as an operator.
+
+ %c print pop() like %c in <STRONG>printf</STRONG>
+@@ -1279,11 +1354,11 @@
+ %g[A-Z]
+ get static variable [a-z] and push it
+
+- The terms "static" and "dynamic" are misleading.
+- Historically, these are simply two different sets of
+- variables, whose values are not reset between calls
+- to <STRONG>tparm</STRONG>. However, that fact is not documented in
+- other implementations. Relying on it will adversely
++ The terms "static" and "dynamic" are misleading.
++ Historically, these are simply two different sets of
++ variables, whose values are not reset between calls
++ to <STRONG>tparm</STRONG>. However, that fact is not documented in
++ other implementations. Relying on it will adversely
+ impact portability to other implementations.
+
+ %'<EM>c</EM>' char constant <EM>c</EM>
+@@ -1307,16 +1382,16 @@
+ logical AND and OR operations (for conditionals)
+
+ %! %~
+- unary operations (logical and bit complement):
++ unary operations (logical and bit complement):
+ push(op pop())
+
+ %i add 1 to first two parameters (for ANSI terminals)
+
+ %? <EM>expr</EM> %t <EM>thenpart</EM> %e <EM>elsepart</EM> %;
+- This forms an if-then-else. The %e <EM>elsepart</EM> is
+- optional. Usually the %? <EM>expr</EM> part pushes a value
+- onto the stack, and %t pops it from the stack, test-
+- ing if it is nonzero (true). If it is zero (false),
++ This forms an if-then-else. The %e <EM>elsepart</EM> is
++ optional. Usually the %? <EM>expr</EM> part pushes a value
++ onto the stack, and %t pops it from the stack, test-
++ ing if it is nonzero (true). If it is zero (false),
+ control passes to the %e (else) part.
+
+ It is possible to form else-if's a la Algol 68:
+@@ -1342,241 +1417,238 @@
+ its. Thus its <STRONG>cup</STRONG> capability is "cup=6\E&amp;%p2%2dc%p1%2dY".
+
+ The Microterm ACT-IV needs the current row and column sent
+- preceded by a <STRONG>^T</STRONG>, with the row and column simply encoded
+- in binary, "cup=^T%p1%c%p2%c". Terminals which use "%c"
+- need to be able to backspace the cursor (<STRONG>cub1</STRONG>), and to
++ preceded by a <STRONG>^T</STRONG>, with the row and column simply encoded
++ in binary, "cup=^T%p1%c%p2%c". Terminals which use "%c"
++ need to be able to backspace the cursor (<STRONG>cub1</STRONG>), and to
+ move the cursor up one line on the screen (<STRONG>cuu1</STRONG>). This is
+- necessary because it is not always safe to transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG>
+- and <STRONG>\r</STRONG>, as the system may change or discard them. (The
+- library routines dealing with terminfo set tty modes so
++ necessary because it is not always safe to transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG>
++ and <STRONG>\r</STRONG>, as the system may change or discard them. (The
++ library routines dealing with terminfo set tty modes so
+ that tabs are never expanded, so \t is safe to send. This
+ turns out to be essential for the Ann Arbor 4080.)
+
+ A final example is the LSI ADM-3a, which uses row and col-
+ umn offset by a blank character, thus "cup=\E=%p1%'
+- '%+%c%p2%' '%+%c". After sending `\E=', this pushes the
+- first parameter, pushes the ASCII value for a space (32),
+- adds them (pushing the sum on the stack in place of the
+- two previous values) and outputs that value as a charac-
+- ter. Then the same is done for the second parameter.
++ '%+%c%p2%' '%+%c". After sending `\E=', this pushes the
++ first parameter, pushes the ASCII value for a space (32),
++ adds them (pushing the sum on the stack in place of the
++ two previous values) and outputs that value as a charac-
++ ter. Then the same is done for the second parameter.
+ More complex arithmetic is possible using the stack.
+
+-
+ <STRONG>Cursor</STRONG> <STRONG>Motions</STRONG>
+ If the terminal has a fast way to home the cursor (to very
+- upper left corner of screen) then this can be given as
+- <STRONG>home</STRONG>; similarly a fast way of getting to the lower left-
+- hand corner can be given as <STRONG>ll</STRONG>; this may involve going up
+- with <STRONG>cuu1</STRONG> from the home position, but a program should
+- never do this itself (unless <STRONG>ll</STRONG> does) because it can make
+- no assumption about the effect of moving up from the home
+- position. Note that the home position is the same as
++ upper left corner of screen) then this can be given as
++ <STRONG>home</STRONG>; similarly a fast way of getting to the lower left-
++ hand corner can be given as <STRONG>ll</STRONG>; this may involve going up
++ with <STRONG>cuu1</STRONG> from the home position, but a program should
++ never do this itself (unless <STRONG>ll</STRONG> does) because it can make
++ no assumption about the effect of moving up from the home
++ position. Note that the home position is the same as
+ addressing to (0,0): to the top left corner of the screen,
+- not of memory. (Thus, the \EH sequence on HP terminals
++ not of memory. (Thus, the \EH sequence on HP terminals
+ cannot be used for <STRONG>home</STRONG>.)
+
+ If the terminal has row or column absolute cursor address-
+- ing, these can be given as single parameter capabilities
++ ing, these can be given as single parameter capabilities
+ <STRONG>hpa</STRONG> (horizontal position absolute) and <STRONG>vpa</STRONG> (vertical posi-
+ tion absolute). Sometimes these are shorter than the more
+- general two parameter sequence (as with the hp2645) and
+- can be used in preference to <STRONG>cup</STRONG>. If there are
+- parameterized local motions (e.g., move <EM>n</EM> spaces to the
+- right) these can be given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a
+- single parameter indicating how many spaces to move.
+- These are primarily useful if the terminal does not have
+- <STRONG>cup</STRONG>, such as the TEKTRONIX 4025.
++ general two parameter sequence (as with the hp2645) and
++ can be used in preference to <STRONG>cup</STRONG>. If there are parameter-
++ ized local motions (e.g., move <EM>n</EM> spaces to the right)
++ these can be given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a single
++ parameter indicating how many spaces to move. These are
++ primarily useful if the terminal does not have <STRONG>cup</STRONG>, such
++ as the TEKTRONIX 4025.
+
+ If the terminal needs to be in a special mode when running
+ a program that uses these capabilities, the codes to enter
+- and exit this mode can be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>. This
+- arises, for example, from terminals like the Concept with
+- more than one page of memory. If the terminal has only
+- memory relative cursor addressing and not screen relative
++ and exit this mode can be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>. This
++ arises, for example, from terminals like the Concept with
++ more than one page of memory. If the terminal has only
++ memory relative cursor addressing and not screen relative
+ cursor addressing, a one screen-sized window must be fixed
+- into the terminal for cursor addressing to work properly.
++ into the terminal for cursor addressing to work properly.
+ This is also used for the TEKTRONIX 4025, where <STRONG>smcup</STRONG> sets
+- the command character to be the one used by terminfo. If
+- the <STRONG>smcup</STRONG> sequence will not restore the screen after an
++ the command character to be the one used by terminfo. If
++ the <STRONG>smcup</STRONG> sequence will not restore the screen after an
+ <STRONG>rmcup</STRONG> sequence is output (to the state prior to outputting
+ <STRONG>rmcup</STRONG>), specify <STRONG>nrrmc</STRONG>.
+
+-
+ <STRONG>Area</STRONG> <STRONG>Clears</STRONG>
+ If the terminal can clear from the current position to the
+- end of the line, leaving the cursor where it is, this
++ end of the line, leaving the cursor where it is, this
+ should be given as <STRONG>el</STRONG>. If the terminal can clear from the
+- beginning of the line to the current position inclusive,
+- leaving the cursor where it is, this should be given as
+- <STRONG>el1</STRONG>. If the terminal can clear from the current position
+- to the end of the display, then this should be given as
+- <STRONG>ed</STRONG>. <STRONG>Ed</STRONG> is only defined from the first column of a line.
+- (Thus, it can be simulated by a request to delete a large
++ beginning of the line to the current position inclusive,
++ leaving the cursor where it is, this should be given as
++ <STRONG>el1</STRONG>. If the terminal can clear from the current position
++ to the end of the display, then this should be given as
++ <STRONG>ed</STRONG>. <STRONG>Ed</STRONG> is only defined from the first column of a line.
++ (Thus, it can be simulated by a request to delete a large
+ number of lines, if a true <STRONG>ed</STRONG> is not available.)
+
+-
+ <STRONG>Insert/delete</STRONG> <STRONG>line</STRONG> <STRONG>and</STRONG> <STRONG>vertical</STRONG> <STRONG>motions</STRONG>
+- If the terminal can open a new blank line before the line
+- where the cursor is, this should be given as <STRONG>il1</STRONG>; this is
+- done only from the first position of a line. The cursor
++ If the terminal can open a new blank line before the line
++ where the cursor is, this should be given as <STRONG>il1</STRONG>; this is
++ done only from the first position of a line. The cursor
+ must then appear on the newly blank line. If the terminal
+- can delete the line which the cursor is on, then this
+- should be given as <STRONG>dl1</STRONG>; this is done only from the first
+- position on the line to be deleted. Versions of <STRONG>il1</STRONG> and
+- <STRONG>dl1</STRONG> which take a single parameter and insert or delete
++ can delete the line which the cursor is on, then this
++ should be given as <STRONG>dl1</STRONG>; this is done only from the first
++ position on the line to be deleted. Versions of <STRONG>il1</STRONG> and
++ <STRONG>dl1</STRONG> which take a single parameter and insert or delete
+ that many lines can be given as <STRONG>il</STRONG> and <STRONG>dl</STRONG>.
+
+- If the terminal has a settable scrolling region (like the
+- vt100) the command to set this can be described with the
+- <STRONG>csr</STRONG> capability, which takes two parameters: the top and
++ If the terminal has a settable scrolling region (like the
++ vt100) the command to set this can be described with the
++ <STRONG>csr</STRONG> capability, which takes two parameters: the top and
+ bottom lines of the scrolling region. The cursor position
+ is, alas, undefined after using this command.
+
+- It is possible to get the effect of insert or delete line
++ It is possible to get the effect of insert or delete line
+ using <STRONG>csr</STRONG> on a properly chosen region; the <STRONG>sc</STRONG> and <STRONG>rc</STRONG> (save
+- and restore cursor) commands may be useful for ensuring
+- that your synthesized insert/delete string does not move
+- the cursor. (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library does this
+- synthesis automatically, so you need not compose
++ and restore cursor) commands may be useful for ensuring
++ that your synthesized insert/delete string does not move
++ the cursor. (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library does this
++ synthesis automatically, so you need not compose
+ insert/delete strings for an entry with <STRONG>csr</STRONG>).
+
+ Yet another way to construct insert and delete might be to
+- use a combination of index with the memory-lock feature
+- found on some terminals (like the HP-700/90 series, which
++ use a combination of index with the memory-lock feature
++ found on some terminals (like the HP-700/90 series, which
+ however also has insert/delete).
+
+- Inserting lines at the top or bottom of the screen can
+- also be done using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a
+- true insert/delete line, and is often faster even on ter-
++ Inserting lines at the top or bottom of the screen can
++ also be done using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a
++ true insert/delete line, and is often faster even on ter-
+ minals with those features.
+
+- The boolean <STRONG>non_dest_scroll_region</STRONG> should be set if each
+- scrolling window is effectively a view port on a screen-
+- sized canvas. To test for this capability, create a
+- scrolling region in the middle of the screen, write some-
+- thing to the bottom line, move the cursor to the top of
++ The boolean <STRONG>non_dest_scroll_region</STRONG> should be set if each
++ scrolling window is effectively a view port on a screen-
++ sized canvas. To test for this capability, create a
++ scrolling region in the middle of the screen, write some-
++ thing to the bottom line, move the cursor to the top of
+ the region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>. If the data
+- scrolled off the bottom of the region by the <STRONG>ri</STRONG> re-
+- appears, then scrolling is non-destructive. System V and
+- XSI Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>, and <STRONG>rin</STRONG> will simu-
+- late destructive scrolling; their documentation cautions
+- you not to define <STRONG>csr</STRONG> unless this is true. This <STRONG>curses</STRONG>
++ scrolled off the bottom of the region by the <STRONG>ri</STRONG> re-
++ appears, then scrolling is non-destructive. System V and
++ XSI Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>, and <STRONG>rin</STRONG> will simu-
++ late destructive scrolling; their documentation cautions
++ you not to define <STRONG>csr</STRONG> unless this is true. This <STRONG>curses</STRONG>
+ implementation is more liberal and will do explicit erases
+ after scrolling if <STRONG>ndstr</STRONG> is defined.
+
+ If the terminal has the ability to define a window as part
+- of memory, which all commands affect, it should be given
++ of memory, which all commands affect, it should be given
+ as the parameterized string <STRONG>wind</STRONG>. The four parameters are
+- the starting and ending lines in memory and the starting
++ the starting and ending lines in memory and the starting
+ and ending columns in memory, in that order.
+
+- If the terminal can retain display memory above, then the
+- <STRONG>da</STRONG> capability should be given; if display memory can be
+- retained below, then <STRONG>db</STRONG> should be given. These indicate
+- that deleting a line or scrolling may bring non-blank
+- lines up from below or that scrolling back with <STRONG>ri</STRONG> may
++ If the terminal can retain display memory above, then the
++ <STRONG>da</STRONG> capability should be given; if display memory can be
++ retained below, then <STRONG>db</STRONG> should be given. These indicate
++ that deleting a line or scrolling may bring non-blank
++ lines up from below or that scrolling back with <STRONG>ri</STRONG> may
+ bring down non-blank lines.
+
+-
+ <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG>
+- There are two basic kinds of intelligent terminals with
+- respect to insert/delete character which can be described
+- using <EM>terminfo.</EM> The most common insert/delete character
+- operations affect only the characters on the current line
+- and shift characters off the end of the line rigidly.
+- Other terminals, such as the Concept 100 and the Perkin
+- Elmer Owl, make a distinction between typed and untyped
+- blanks on the screen, shifting upon an insert or delete
+- only to an untyped blank on the screen which is either
+- eliminated, or expanded to two untyped blanks. You can
+- determine the kind of terminal you have by clearing the
+- screen and then typing text separated by cursor motions.
+- Type "abc def" using local cursor motions (not spaces)
+- between the "abc" and the "def". Then position the cursor
+- before the "abc" and put the terminal in insert mode. If
+- typing characters causes the rest of the line to shift
+- rigidly and characters to fall off the end, then your ter-
+- minal does not distinguish between blanks and untyped
+- positions. If the "abc" shifts over to the "def" which
+- then move together around the end of the current line and
+- onto the next as you insert, you have the second type of
+- terminal, and should give the capability <STRONG>in</STRONG>, which stands
+- for "insert null". While these are two logically separate
+- attributes (one line versus multi-line insert mode, and
+- special treatment of untyped spaces) we have seen no ter-
+- minals whose insert mode cannot be described with the sin-
+- gle attribute.
++ There are two basic kinds of intelligent terminals with
++ respect to insert/delete character which can be described
++ using <EM>terminfo.</EM> The most common insert/delete character
++ operations affect only the characters on the current line
++ and shift characters off the end of the line rigidly.
++ Other terminals, such as the Concept 100 and the Perkin
++ Elmer Owl, make a distinction between typed and untyped
++ blanks on the screen, shifting upon an insert or delete
++ only to an untyped blank on the screen which is either
++ eliminated, or expanded to two untyped blanks.
++
++ You can determine the kind of terminal you have by clear-
++ ing the screen and then typing text separated by cursor
++ motions. Type "abc def" using local cursor motions
++ (not spaces) between the "abc" and the "def". Then posi-
++ tion the cursor before the "abc" and put the terminal in
++ insert mode. If typing characters causes the rest of the
++ line to shift rigidly and characters to fall off the end,
++ then your terminal does not distinguish between blanks and
++ untyped positions. If the "abc" shifts over to the "def"
++ which then move together around the end of the current
++ line and onto the next as you insert, you have the second
++ type of terminal, and should give the capability <STRONG>in</STRONG>, which
++ stands for "insert null".
++
++ While these are two logically separate attributes (one
++ line versus multi-line insert mode, and special treatment
++ of untyped spaces) we have seen no terminals whose insert
++ mode cannot be described with the single attribute.
+
+- Terminfo can describe both terminals which have an insert
++ Terminfo can describe both terminals which have an insert
+ mode, and terminals which send a simple sequence to open a
+- blank position on the current line. Give as <STRONG>smir</STRONG> the
+- sequence to get into insert mode. Give as <STRONG>rmir</STRONG> the
+- sequence to leave insert mode. Now give as <STRONG>ich1</STRONG> any
+- sequence needed to be sent just before sending the
+- character to be inserted. Most terminals with a true
+- insert mode will not give <STRONG>ich1</STRONG>; terminals which send a
+- sequence to open a screen position should give it here.
+-
+- If your terminal has both, insert mode is usually prefer-
+- able to <STRONG>ich1</STRONG>. Technically, you should not give both
+- unless the terminal actually requires both to be used in
+- combination. Accordingly, some non-curses applications
+- get confused if both are present; the symptom is doubled
++ blank position on the current line. Give as <STRONG>smir</STRONG> the
++ sequence to get into insert mode. Give as <STRONG>rmir</STRONG> the
++ sequence to leave insert mode. Now give as <STRONG>ich1</STRONG> any
++ sequence needed to be sent just before sending the charac-
++ ter to be inserted. Most terminals with a true insert
++ mode will not give <STRONG>ich1</STRONG>; terminals which send a sequence
++ to open a screen position should give it here.
++
++ If your terminal has both, insert mode is usually prefer-
++ able to <STRONG>ich1</STRONG>. Technically, you should not give both
++ unless the terminal actually requires both to be used in
++ combination. Accordingly, some non-curses applications
++ get confused if both are present; the symptom is doubled
+ characters in an update using insert. This requirement is
+ now rare; most <STRONG>ich</STRONG> sequences do not require previous smir,
+ and most smir insert modes do not require <STRONG>ich1</STRONG> before each
+- character. Therefore, the new <STRONG>curses</STRONG> actually assumes
+- this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as
++ character. Therefore, the new <STRONG>curses</STRONG> actually assumes
++ this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as
+ appropriate (but not both). If you have to write an entry
+- to be used under new curses for a terminal old enough to
++ to be used under new curses for a terminal old enough to
+ need both, include the <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> sequences in <STRONG>ich1</STRONG>.
+
+ If post insert padding is needed, give this as a number of
+- milliseconds in <STRONG>ip</STRONG> (a string option). Any other sequence
+- which may need to be sent after an insert of a single
++ milliseconds in <STRONG>ip</STRONG> (a string option). Any other sequence
++ which may need to be sent after an insert of a single
+ character may also be given in <STRONG>ip</STRONG>. If your terminal needs
+ both to be placed into an `insert mode' and a special code
+- to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG>
+- and <STRONG>ich1</STRONG> can be given, and both will be used. The <STRONG>ich</STRONG>
++ to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG>
++ and <STRONG>ich1</STRONG> can be given, and both will be used. The <STRONG>ich</STRONG>
+ capability, with one parameter, <EM>n</EM>, will repeat the effects
+ of <STRONG>ich1</STRONG> <EM>n</EM> times.
+
+ If padding is necessary between characters typed while not
+- in insert mode, give this as a number of milliseconds
+- padding in <STRONG>rmp</STRONG>.
++ in insert mode, give this as a number of milliseconds pad-
++ ding in <STRONG>rmp</STRONG>.
+
+- It is occasionally necessary to move around while in
+- insert mode to delete characters on the same line (e.g.,
+- if there is a tab after the insertion position). If your
+- terminal allows motion while in insert mode you can give
+- the capability <STRONG>mir</STRONG> to speed up inserting in this case.
+- Omitting <STRONG>mir</STRONG> will affect only speed. Some terminals
++ It is occasionally necessary to move around while in
++ insert mode to delete characters on the same line (e.g.,
++ if there is a tab after the insertion position). If your
++ terminal allows motion while in insert mode you can give
++ the capability <STRONG>mir</STRONG> to speed up inserting in this case.
++ Omitting <STRONG>mir</STRONG> will affect only speed. Some terminals
+ (notably Datamedia's) must not have <STRONG>mir</STRONG> because of the way
+ their insert mode works.
+
+- Finally, you can specify <STRONG>dch1</STRONG> to delete a single charac-
+- ter, <STRONG>dch</STRONG> with one parameter, <EM>n</EM>, to delete <EM>n</EM> <EM>characters,</EM>
+- and delete mode by giving <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit
+- delete mode (any mode the terminal needs to be placed in
++ Finally, you can specify <STRONG>dch1</STRONG> to delete a single charac-
++ ter, <STRONG>dch</STRONG> with one parameter, <EM>n</EM>, to delete <EM>n</EM> <EM>characters,</EM>
++ and delete mode by giving <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit
++ delete mode (any mode the terminal needs to be placed in
+ for <STRONG>dch1</STRONG> to work).
+
+- A command to erase <EM>n</EM> characters (equivalent to outputting
+- <EM>n</EM> blanks without moving the cursor) can be given as <STRONG>ech</STRONG>
++ A command to erase <EM>n</EM> characters (equivalent to outputting
++ <EM>n</EM> blanks without moving the cursor) can be given as <STRONG>ech</STRONG>
+ with one parameter.
+
+-
+ <STRONG>Highlighting,</STRONG> <STRONG>Underlining,</STRONG> <STRONG>and</STRONG> <STRONG>Visible</STRONG> <STRONG>Bells</STRONG>
+ If your terminal has one or more kinds of display
+- attributes, these can be represented in a number of dif-
++ attributes, these can be represented in a number of dif-
+ ferent ways. You should choose one display form as <EM>stand-</EM>
+ <EM>out</EM> <EM>mode</EM>, representing a good, high contrast, easy-on-the-
+- eyes, format for highlighting error messages and other
+- attention getters. (If you have a choice, reverse video
+- plus half-bright is good, or reverse video alone.) The
+- sequences to enter and exit standout mode are given as
+- <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively. If the code to change into
+- or out of standout mode leaves one or even two blank
+- spaces on the screen, as the TVI 912 and Teleray 1061 do,
++ eyes, format for highlighting error messages and other
++ attention getters. (If you have a choice, reverse video
++ plus half-bright is good, or reverse video alone.) The
++ sequences to enter and exit standout mode are given as
++ <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively. If the code to change into
++ or out of standout mode leaves one or even two blank spa-
++ ces on the screen, as the TVI 912 and Teleray 1061 do,
+ then <STRONG>xmc</STRONG> should be given to tell how many spaces are left.
+
+ Codes to begin underlining and end underlining can be
+@@ -1605,19 +1677,18 @@
+
+ For example, the DEC vt220 supports most of the modes:
+
++ <STRONG>tparm</STRONG> <STRONG>parameter</STRONG> <STRONG>attribute</STRONG> <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
+
+- <STRONG>tparm</STRONG> <STRONG>parameter</STRONG> <STRONG>attribute</STRONG> <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
+-
+- none none \E[0m
+- p1 standout \E[0;1;7m
+- p2 underline \E[0;4m
+- p3 reverse \E[0;7m
+- p4 blink \E[0;5m
+- p5 dim not available
+- p6 bold \E[0;1m
+- p7 invis \E[0;8m
+- p8 protect not used
+- p9 altcharset ^O (off) ^N (on)
++ none none \E[0m
++ p1 standout \E[0;1;7m
++ p2 underline \E[0;4m
++ p3 reverse \E[0;7m
++ p4 blink \E[0;5m
++ p5 dim not available
++ p6 bold \E[0;1m
++ p7 invis \E[0;8m
++ p8 protect not used
++ p9 altcharset ^O (off) ^N (on)
+
+ We begin each escape sequence by turning off any existing
+ modes, since there is no quick way to determine whether
+@@ -1637,18 +1708,17 @@
+ Writing out the above sequences, along with their depen-
+ dencies yields
+
++ <STRONG>sequence</STRONG> <STRONG>when</STRONG> <STRONG>to</STRONG> <STRONG>output</STRONG> <STRONG>terminfo</STRONG> <STRONG>translation</STRONG>
+
+- <STRONG>sequence</STRONG> <STRONG>when</STRONG> <STRONG>to</STRONG> <STRONG>output</STRONG> <STRONG>terminfo</STRONG> <STRONG>translation</STRONG>
+
+- \E[0 always \E[0
+- ;1 if p1 or p6 %?%p1%p6%|%t;1%;
+- ;4 if p2 %?%p2%|%t;4%;
+- ;5 if p4 %?%p4%|%t;5%;
+-
+- ;7 if p1 or p3 %?%p1%p3%|%t;7%;
+- ;8 if p7 %?%p7%|%t;8%;
+- m always m
+- ^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%;
++ \E[0 always \E[0
++ ;1 if p1 or p6 %?%p1%p6%|%t;1%;
++ ;4 if p2 %?%p2%|%t;4%;
++ ;5 if p4 %?%p4%|%t;5%;
++ ;7 if p1 or p3 %?%p1%p3%|%t;7%;
++ ;8 if p7 %?%p7%|%t;8%;
++ m always m
++ ^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%;
+
+ Putting this all together into the sgr sequence gives:
+
+@@ -1664,8 +1734,8 @@
+ assumes that sgr0 does not exit alternate character set
+ mode.
+
+- Terminals with the ``magic cookie'' glitch (<STRONG>xmc</STRONG>) deposit
+- special ``cookies'' when they receive mode-setting
++ Terminals with the "magic cookie" glitch (<STRONG>xmc</STRONG>) deposit
++ special "cookies" when they receive mode-setting
+ sequences, which affect the display algorithm rather than
+ having extra bits for each character. Some terminals,
+ such as the HP 2621, automatically leave standout mode
+@@ -1695,7 +1765,6 @@
+ erasable with a blank, then this should be indicated by
+ giving <STRONG>eo</STRONG>.
+
+-
+ <STRONG>Keypad</STRONG> <STRONG>and</STRONG> <STRONG>Function</STRONG> <STRONG>Keys</STRONG>
+ If the terminal has a keypad that transmits codes when the
+ keys are pressed, this information can be given. Note
+@@ -1704,27 +1773,57 @@
+ unshifted HP 2621 keys). If the keypad can be set to
+ transmit or not transmit, give these codes as <STRONG>smkx</STRONG> and
+ <STRONG>rmkx</STRONG>. Otherwise the keypad is assumed to always transmit.
+- The codes sent by the left arrow, right arrow, up arrow,
+- down arrow, and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG>
+- <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG> respectively. If there are func-
+- tion keys such as f0, f1, ..., f10, the codes they send
+- can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys have
+- labels other than the default f0 through f10, the labels
+- can be given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>. The codes
+- transmitted by certain other special keys can be given:
+- <STRONG>kll</STRONG> (home down), <STRONG>kbs</STRONG> (backspace), <STRONG>ktbc</STRONG> (clear all tabs),
+- <STRONG>kctab</STRONG> (clear the tab stop in this column), <STRONG>kclr</STRONG> (clear
+- screen or erase key), <STRONG>kdch1</STRONG> (delete character), <STRONG>kdl1</STRONG>
+- (delete line), <STRONG>krmir</STRONG> (exit insert mode), <STRONG>kel</STRONG> (clear to end
+- of line), <STRONG>ked</STRONG> (clear to end of screen), <STRONG>kich1</STRONG> (insert
+- character or enter insert mode), <STRONG>kil1</STRONG> (insert line), <STRONG>knp</STRONG>
+- (next page), <STRONG>kpp</STRONG> (previous page), <STRONG>kind</STRONG> (scroll for-
+- ward/down), <STRONG>kri</STRONG> (scroll backward/up), <STRONG>khts</STRONG> (set a tab stop
+- in this column). In addition, if the keypad has a 3 by 3
+- array of keys including the four arrow keys, the other
+- five keys can be given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>, <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>.
+- These keys are useful when the effects of a 3 by 3 direc-
+- tional pad are needed.
++
++ The codes sent by the left arrow, right arrow, up arrow,
++ down arrow, and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG>
++ <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG> respectively. If there are func-
++ tion keys such as f0, f1, ..., f10, the codes they send
++ can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys have
++ labels other than the default f0 through f10, the labels
++ can be given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.
++
++ The codes transmitted by certain other special keys can be
++ given:
++
++ <STRONG>o</STRONG> <STRONG>kll</STRONG> (home down),
++
++ <STRONG>o</STRONG> <STRONG>kbs</STRONG> (backspace),
++
++ <STRONG>o</STRONG> <STRONG>ktbc</STRONG> (clear all tabs),
++
++ <STRONG>o</STRONG> <STRONG>kctab</STRONG> (clear the tab stop in this column),
++
++ <STRONG>o</STRONG> <STRONG>kclr</STRONG> (clear screen or erase key),
++
++ <STRONG>o</STRONG> <STRONG>kdch1</STRONG> (delete character),
++
++ <STRONG>o</STRONG> <STRONG>kdl1</STRONG> (delete line),
++
++ <STRONG>o</STRONG> <STRONG>krmir</STRONG> (exit insert mode),
++
++ <STRONG>o</STRONG> <STRONG>kel</STRONG> (clear to end of line),
++
++ <STRONG>o</STRONG> <STRONG>ked</STRONG> (clear to end of screen),
++
++ <STRONG>o</STRONG> <STRONG>kich1</STRONG> (insert character or enter insert mode),
++
++ <STRONG>o</STRONG> <STRONG>kil1</STRONG> (insert line),
++
++ <STRONG>o</STRONG> <STRONG>knp</STRONG> (next page),
++
++ <STRONG>o</STRONG> <STRONG>kpp</STRONG> (previous page),
++
++ <STRONG>o</STRONG> <STRONG>kind</STRONG> (scroll forward/down),
++
++ <STRONG>o</STRONG> <STRONG>kri</STRONG> (scroll backward/up),
++
++ <STRONG>o</STRONG> <STRONG>khts</STRONG> (set a tab stop in this column).
++
++ In addition, if the keypad has a 3 by 3 array of keys
++ including the four arrow keys, the other five keys can be
++ given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>, <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>. These keys are use-
++ ful when the effects of a 3 by 3 directional pad are
++ needed.
+
+ Strings to program function keys can be given as <STRONG>pfkey</STRONG>,
+ <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>. A string to program screen labels should
+@@ -1746,12 +1845,11 @@
+ or more pln sequences to make sure that the change becomes
+ visible.
+
+-
+ <STRONG>Tabs</STRONG> <STRONG>and</STRONG> <STRONG>Initialization</STRONG>
+ If the terminal has hardware tabs, the command to advance
+ to the next tab stop can be given as <STRONG>ht</STRONG> (usually control
+- I). A ``back-tab'' command which moves leftward to the
+- preceding tab stop can be given as <STRONG>cbt</STRONG>. By convention, if
++ I). A "back-tab" command which moves leftward to the pre-
++ ceding tab stop can be given as <STRONG>cbt</STRONG>. By convention, if
+ the teletype modes indicate that tabs are being expanded
+ by the computer rather than being sent to the terminal,
+ programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are
+@@ -1851,7 +1949,6 @@
+ ter as a pad, then this can be given as <STRONG>pad</STRONG>. Only the
+ first character of the <STRONG>pad</STRONG> string is used.
+
+-
+ <STRONG>Status</STRONG> <STRONG>Lines</STRONG>
+ Some terminals have an extra `status line' which is not
+ normally used by software (and thus not counted in the
+@@ -1883,110 +1980,105 @@
+ The boolean capability <STRONG>eslok</STRONG> specifies that escape
+ sequences, tabs, etc., work ordinarily in the status line.
+
+- The <STRONG>ncurses</STRONG> implementation does not yet use any of these
+- capabilities. They are documented here in case they ever
++ The <STRONG>ncurses</STRONG> implementation does not yet use any of these
++ capabilities. They are documented here in case they ever
+ become important.
+
+-
+ <STRONG>Line</STRONG> <STRONG>Graphics</STRONG>
+- Many terminals have alternate character sets useful for
+- forms-drawing. Terminfo and <STRONG>curses</STRONG> build in support for
+- the drawing characters supported by the VT100, with some
+- characters from the AT&amp;T 4410v1 added. This alternate
++ Many terminals have alternate character sets useful for
++ forms-drawing. Terminfo and <STRONG>curses</STRONG> build in support for
++ the drawing characters supported by the VT100, with some
++ characters from the AT&amp;T 4410v1 added. This alternate
+ character set may be specified by the <STRONG>acsc</STRONG> capability.
+
+-
+- <STRONG>Glyph</STRONG> <STRONG>ACS</STRONG> <STRONG>Ascii</STRONG> <STRONG>VT100</STRONG>
+- <STRONG>Name</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Name</STRONG>
+- UK pound sign ACS_STERLING f }
+- arrow pointing down ACS_DARROW v .
+- arrow pointing left ACS_LARROW &lt; ,
+- arrow pointing right ACS_RARROW &gt; +
+- arrow pointing up ACS_UARROW ^ -
+- board of squares ACS_BOARD # h
+- bullet ACS_BULLET o ~
+- checker board (stipple) ACS_CKBOARD : a
+- degree symbol ACS_DEGREE \ f
+- diamond ACS_DIAMOND + `
+- greater-than-or-equal-to ACS_GEQUAL &gt; z
+- greek pi ACS_PI * {
+- horizontal line ACS_HLINE - q
+- lantern symbol ACS_LANTERN # i
+- large plus or crossover ACS_PLUS + n
+- less-than-or-equal-to ACS_LEQUAL &lt; y
+-
+- lower left corner ACS_LLCORNER + m
+- lower right corner ACS_LRCORNER + j
+- not-equal ACS_NEQUAL ! |
+- plus/minus ACS_PLMINUS # g
+- scan line 1 ACS_S1 ~ o
+- scan line 3 ACS_S3 - p
+- scan line 7 ACS_S7 - r
+- scan line 9 ACS_S9 _ s
+- solid square block ACS_BLOCK # 0
+- tee pointing down ACS_TTEE + w
+- tee pointing left ACS_RTEE + u
+- tee pointing right ACS_LTEE + t
+- tee pointing up ACS_BTEE + v
+- upper left corner ACS_ULCORNER + l
+- upper right corner ACS_URCORNER + k
+- vertical line ACS_VLINE | x
+-
+- The best way to define a new device's graphics set is to
+- add a column to a copy of this table for your terminal,
+- giving the character which (when emitted between
+- <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the correspond-
+- ing graphic. Then read off the VT100/your terminal char-
+- acter pairs right to left in sequence; these become the
++ <STRONG>Glyph</STRONG> <STRONG>ACS</STRONG> <STRONG>Ascii</STRONG> <STRONG>VT100</STRONG>
++ <STRONG>Name</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Name</STRONG>
++ UK pound sign ACS_STERLING f }
++ arrow pointing down ACS_DARROW v .
++ arrow pointing left ACS_LARROW &lt; ,
++ arrow pointing right ACS_RARROW &gt; +
++ arrow pointing up ACS_UARROW ^ -
++ board of squares ACS_BOARD # h
++ bullet ACS_BULLET o ~
++ checker board (stipple) ACS_CKBOARD : a
++ degree symbol ACS_DEGREE \ f
++ diamond ACS_DIAMOND + `
++ greater-than-or-equal-to ACS_GEQUAL &gt; z
++ greek pi ACS_PI * {
++ horizontal line ACS_HLINE - q
++ lantern symbol ACS_LANTERN # i
++ large plus or crossover ACS_PLUS + n
++ less-than-or-equal-to ACS_LEQUAL &lt; y
++ lower left corner ACS_LLCORNER + m
++ lower right corner ACS_LRCORNER + j
++ not-equal ACS_NEQUAL ! |
++ plus/minus ACS_PLMINUS # g
++ scan line 1 ACS_S1 ~ o
++ scan line 3 ACS_S3 - p
++ scan line 7 ACS_S7 - r
++ scan line 9 ACS_S9 _ s
++ solid square block ACS_BLOCK # 0
++ tee pointing down ACS_TTEE + w
++ tee pointing left ACS_RTEE + u
++ tee pointing right ACS_LTEE + t
++ tee pointing up ACS_BTEE + v
++ upper left corner ACS_ULCORNER + l
++ upper right corner ACS_URCORNER + k
++ vertical line ACS_VLINE | x
++
++ The best way to define a new device's graphics set is to
++ add a column to a copy of this table for your terminal,
++ giving the character which (when emitted between
++ <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the correspond-
++ ing graphic. Then read off the VT100/your terminal char-
++ acter pairs right to left in sequence; these become the
+ ACSC string.
+
+-
+ <STRONG>Color</STRONG> <STRONG>Handling</STRONG>
+- Most color terminals are either `Tektronix-like' or `HP-
+- like'. Tektronix-like terminals have a predefined set of
+- N colors (where N usually 8), and can set character-cell
++ Most color terminals are either `Tektronix-like' or `HP-
++ like'. Tektronix-like terminals have a predefined set of
++ N colors (where N usually 8), and can set character-cell
+ foreground and background characters independently, mixing
+- them into N * N color-pairs. On HP-like terminals, the
++ them into N * N color-pairs. On HP-like terminals, the
+ use must set each color pair up separately (foreground and
+- background are not independently settable). Up to M
+- color-pairs may be set up from 2*M different colors.
++ background are not independently settable). Up to M
++ color-pairs may be set up from 2*M different colors.
+ ANSI-compatible terminals are Tektronix-like.
+
+ Some basic color capabilities are independent of the color
+ method. The numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify
+- the maximum numbers of colors and color-pairs that can be
+- displayed simultaneously. The <STRONG>op</STRONG> (original pair) string
+- resets foreground and background colors to their default
+- values for the terminal. The <STRONG>oc</STRONG> string resets all colors
+- or color-pairs to their default values for the terminal.
+- Some terminals (including many PC terminal emulators)
+- erase screen areas with the current background color
+- rather than the power-up default background; these should
++ the maximum numbers of colors and color-pairs that can be
++ displayed simultaneously. The <STRONG>op</STRONG> (original pair) string
++ resets foreground and background colors to their default
++ values for the terminal. The <STRONG>oc</STRONG> string resets all colors
++ or color-pairs to their default values for the terminal.
++ Some terminals (including many PC terminal emulators)
++ erase screen areas with the current background color
++ rather than the power-up default background; these should
+ have the boolean capability <STRONG>bce</STRONG>.
+
+- To change the current foreground or background color on a
+- Tektronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground)
+- and <STRONG>setab</STRONG> (set ANSI background) or <STRONG>setf</STRONG> (set foreground)
+- and <STRONG>setb</STRONG> (set background). These take one parameter, the
++ To change the current foreground or background color on a
++ Tektronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground)
++ and <STRONG>setab</STRONG> (set ANSI background) or <STRONG>setf</STRONG> (set foreground)
++ and <STRONG>setb</STRONG> (set background). These take one parameter, the
+ color number. The SVr4 documentation describes only
+- <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that "If the terminal
++ <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that "If the terminal
+ supports ANSI escape sequences to set background and fore-
+- ground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec-
+- tively. If the terminal supports other escape sequences
+- to set background and foreground, they should be coded as
+- <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respectively. The <EM>vidputs()</EM> function and
+- the refresh functions use <STRONG>setaf</STRONG> and <STRONG>setab</STRONG> if they are
++ ground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec-
++ tively. If the terminal supports other escape sequences
++ to set background and foreground, they should be coded as
++ <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respectively. The <EM>vidputs()</EM> function and
++ the refresh functions use <STRONG>setaf</STRONG> and <STRONG>setab</STRONG> if they are
+ defined."
+
+- The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single
++ The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single
+ numeric argument each. Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>
+- are portably defined as follows (the middle column is the
++ are portably defined as follows (the middle column is the
+ symbolic #define available in the header for the <STRONG>curses</STRONG> or
+- <STRONG>ncurses</STRONG> libraries). The terminal hardware is free to map
+- these as it likes, but the RGB values indicate normal
++ <STRONG>ncurses</STRONG> libraries). The terminal hardware is free to map
++ these as it likes, but the RGB values indicate normal
+ locations in color space.
+
+-
+ <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
+ black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
+ red <STRONG>COLOR_RED</STRONG> 1 max,0,0
+@@ -1997,7 +2089,7 @@
+ cyan <STRONG>COLOR_CYAN</STRONG> 6 0,max,max
+ white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
+
+- The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG> historically correspond
++ The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG> historically correspond
+ to a different mapping, i.e.,
+
+ <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
+@@ -2009,132 +2101,130 @@
+ magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max
+ yellow <STRONG>COLOR_YELLOW</STRONG> 6 max,max,0
+ white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
++
+ It is important to not confuse the two sets of color capa-
+- bilities; otherwise red/blue will be interchanged on the
++ bilities; otherwise red/blue will be interchanged on the
+ display.
+
+- On an HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number
++ On an HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number
+ parameter to set which color pair is current.
+
+- On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be
+- present to indicate that colors can be modified. If so,
++ On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be
++ present to indicate that colors can be modified. If so,
+ the <STRONG>initc</STRONG> capability will take a color number (0 to <STRONG>colors</STRONG>
+- - 1)and three more parameters which describe the color.
++ - 1)and three more parameters which describe the color.
+ These three parameters default to being interpreted as RGB
+- (Red, Green, Blue) values. If the boolean capability <STRONG>hls</STRONG>
++ (Red, Green, Blue) values. If the boolean capability <STRONG>hls</STRONG>
+ is present, they are instead as HLS (Hue, Lightness, Satu-
+ ration) indices. The ranges are terminal-dependent.
+
+- On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for
+- changing a color-pair value. It will take seven parame-
+- ters; a color-pair number (0 to <STRONG>max_pairs</STRONG> - 1), and two
+- triples describing first background and then foreground
+- colors. These parameters must be (Red, Green, Blue) or
++ On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for
++ changing a color-pair value. It will take seven parame-
++ ters; a color-pair number (0 to <STRONG>max_pairs</STRONG> - 1), and two
++ triples describing first background and then foreground
++ colors. These parameters must be (Red, Green, Blue) or
+ (Hue, Lightness, Saturation) depending on <STRONG>hls</STRONG>.
+
+- On some color terminals, colors collide with highlights.
++ On some color terminals, colors collide with highlights.
+ You can register these collisions with the <STRONG>ncv</STRONG> capability.
+- This is a bit-mask of attributes not to be used when col-
+- ors are enabled. The correspondence with the attributes
++ This is a bit-mask of attributes not to be used when col-
++ ors are enabled. The correspondence with the attributes
+ understood by <STRONG>curses</STRONG> is as follows:
+
+-
+- <STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG>
+- A_STANDOUT 0 1
+- A_UNDERLINE 1 2
+- A_REVERSE 2 4
+- A_BLINK 3 8
+- A_DIM 4 16
+- A_BOLD 5 32
+- A_INVIS 6 64
+- A_PROTECT 7 128
+- A_ALTCHARSET 8 256
+-
+- For example, on many IBM PC consoles, the underline
+- attribute collides with the foreground color blue and is
+- not available in color mode. These should have an <STRONG>ncv</STRONG>
++ <STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG>
++ A_STANDOUT 0 1
++ A_UNDERLINE 1 2
++ A_REVERSE 2 4
++ A_BLINK 3 8
++ A_DIM 4 16
++ A_BOLD 5 32
++ A_INVIS 6 64
++ A_PROTECT 7 128
++ A_ALTCHARSET 8 256
++
++ For example, on many IBM PC consoles, the underline
++ attribute collides with the foreground color blue and is
++ not available in color mode. These should have an <STRONG>ncv</STRONG>
+ capability of 2.
+
+- SVr4 curses does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it
++ SVr4 curses does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it
+ and optimizes the output in favor of colors.
+
+-
+ <STRONG>Miscellaneous</STRONG>
+- If the terminal requires other than a null (zero) charac-
+- ter as a pad, then this can be given as pad. Only the
+- first character of the pad string is used. If the termi-
++ If the terminal requires other than a null (zero) charac-
++ ter as a pad, then this can be given as pad. Only the
++ first character of the pad string is used. If the termi-
+ nal does not have a pad character, specify npc. Note that
+- ncurses implements the termcap-compatible <STRONG>PC</STRONG> variable;
+- though the application may set this value to something
+- other than a null, ncurses will test <STRONG>npc</STRONG> first and use
++ ncurses implements the termcap-compatible <STRONG>PC</STRONG> variable;
++ though the application may set this value to something
++ other than a null, ncurses will test <STRONG>npc</STRONG> first and use
+ napms if the terminal has no pad character.
+
+- If the terminal can move up or down half a line, this can
+- be indicated with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line
++ If the terminal can move up or down half a line, this can
++ be indicated with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line
+ down). This is primarily useful for superscripts and sub-
+- scripts on hard-copy terminals. If a hard-copy terminal
+- can eject to the next page (form feed), give this as <STRONG>ff</STRONG>
++ scripts on hard-copy terminals. If a hard-copy terminal
++ can eject to the next page (form feed), give this as <STRONG>ff</STRONG>
+ (usually control L).
+
+- If there is a command to repeat a given character a given
+- number of times (to save time transmitting a large number
+- of identical characters) this can be indicated with the
+- parameterized string <STRONG>rep</STRONG>. The first parameter is the
+- character to be repeated and the second is the number of
+- times to repeat it. Thus, tparm(repeat_char, 'x', 10) is
++ If there is a command to repeat a given character a given
++ number of times (to save time transmitting a large number
++ of identical characters) this can be indicated with the
++ parameterized string <STRONG>rep</STRONG>. The first parameter is the
++ character to be repeated and the second is the number of
++ times to repeat it. Thus, tparm(repeat_char, 'x', 10) is
+ the same as `xxxxxxxxxx'.
+
+- If the terminal has a settable command character, such as
+- the TEKTRONIX 4025, this can be indicated with <STRONG>cmdch</STRONG>. A
++ If the terminal has a settable command character, such as
++ the TEKTRONIX 4025, this can be indicated with <STRONG>cmdch</STRONG>. A
+ prototype command character is chosen which is used in all
+- capabilities. This character is given in the <STRONG>cmdch</STRONG> capa-
+- bility to identify it. The following convention is sup-
+- ported on some UNIX systems: The environment is to be
+- searched for a <STRONG>CC</STRONG> variable, and if found, all occurrences
++ capabilities. This character is given in the <STRONG>cmdch</STRONG> capa-
++ bility to identify it. The following convention is sup-
++ ported on some UNIX systems: The environment is to be
++ searched for a <STRONG>CC</STRONG> variable, and if found, all occurrences
+ of the prototype character are replaced with the character
+ in the environment variable.
+
+- Terminal descriptions that do not represent a specific
++ Terminal descriptions that do not represent a specific
+ kind of known terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and
+- <EM>network</EM>, should include the <STRONG>gn</STRONG> (generic) capability so
+- that programs can complain that they do not know how to
+- talk to the terminal. (This capability does not apply to
+- <EM>virtual</EM> terminal descriptions for which the escape
++ <EM>network</EM>, should include the <STRONG>gn</STRONG> (generic) capability so
++ that programs can complain that they do not know how to
++ talk to the terminal. (This capability does not apply to
++ <EM>virtual</EM> terminal descriptions for which the escape
+ sequences are known.)
+
+- If the terminal has a ``meta key'' which acts as a shift
+- key, setting the 8th bit of any character transmitted,
+- this fact can be indicated with <STRONG>km</STRONG>. Otherwise, software
++ If the terminal has a "meta key" which acts as a shift
++ key, setting the 8th bit of any character transmitted,
++ this fact can be indicated with <STRONG>km</STRONG>. Otherwise, software
+ will assume that the 8th bit is parity and it will usually
+- be cleared. If strings exist to turn this ``meta mode''
+- on and off, they can be given as <STRONG>smm</STRONG> and <STRONG>rmm</STRONG>.
++ be cleared. If strings exist to turn this "meta mode" on
++ and off, they can be given as <STRONG>smm</STRONG> and <STRONG>rmm</STRONG>.
+
+- If the terminal has more lines of memory than will fit on
+- the screen at once, the number of lines of memory can be
+- indicated with <STRONG>lm</STRONG>. A value of <STRONG>lm</STRONG>#0 indicates that the
++ If the terminal has more lines of memory than will fit on
++ the screen at once, the number of lines of memory can be
++ indicated with <STRONG>lm</STRONG>. A value of <STRONG>lm</STRONG>#0 indicates that the
+ number of lines is not fixed, but that there is still more
+ memory than fits on the screen.
+
+ If the terminal is one of those supported by the UNIX vir-
+- tual terminal protocol, the terminal number can be given
++ tual terminal protocol, the terminal number can be given
+ as <STRONG>vt</STRONG>.
+
+ Media copy strings which control an auxiliary printer con-
+ nected to the terminal can be given as <STRONG>mc0</STRONG>: print the con-
+- tents of the screen, <STRONG>mc4</STRONG>: turn off the printer, and <STRONG>mc5</STRONG>:
+- turn on the printer. When the printer is on, all text
+- sent to the terminal will be sent to the printer. It is
++ tents of the screen, <STRONG>mc4</STRONG>: turn off the printer, and <STRONG>mc5</STRONG>:
++ turn on the printer. When the printer is on, all text
++ sent to the terminal will be sent to the printer. It is
+ undefined whether the text is also displayed on the termi-
+ nal screen when the printer is on. A variation <STRONG>mc5p</STRONG> takes
+ one parameter, and leaves the printer on for as many char-
+- acters as the value of the parameter, then turns the
+- printer off. The parameter should not exceed 255. All
++ acters as the value of the parameter, then turns the
++ printer off. The parameter should not exceed 255. All
+ text, including <STRONG>mc4</STRONG>, is transparently passed to the
+ printer while an <STRONG>mc5p</STRONG> is in effect.
+
+-
+ <STRONG>Glitches</STRONG> <STRONG>and</STRONG> <STRONG>Braindamage</STRONG>
+- Hazeltine terminals, which do not allow `~' characters to
++ Hazeltine terminals, which do not allow `~' characters to
+ be displayed should indicate <STRONG>hz</STRONG>.
+
+ Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG>
+@@ -2149,8 +2239,8 @@
+ Note: the variable indicating this is now
+ `dest_tabs_magic_smso'; in older versions, it was tel-
+ eray_glitch. This glitch is also taken to mean that it is
+- not possible to position the cursor on top of a ``magic
+- cookie'', that to erase standout mode it is instead neces-
++ not possible to position the cursor on top of a "magic
++ cookie", that to erase standout mode it is instead neces-
+ sary to use delete and insert line. The ncurses implemen-
+ tation ignores this glitch.
+
+@@ -2165,7 +2255,6 @@
+ Other specific terminal problems may be corrected by
+ adding more capabilities of the form <STRONG>x</STRONG><EM>x</EM>.
+
+-
+ <STRONG>Similar</STRONG> <STRONG>Terminals</STRONG>
+ If there are two very similar terminals, one (the variant)
+ can be defined as being just like the other (the base)
+@@ -2183,14 +2272,13 @@
+ the use reference that imports it, where <EM>xx</EM> is the capa-
+ bility. For example, the entry
+
+- 2621-nl, smkx@, rmkx@, use=2621,
++ 2621-nl, smkx@, rmkx@, use=2621,
+
+ defines a 2621-nl that does not have the <STRONG>smkx</STRONG> or <STRONG>rmkx</STRONG>
+ capabilities, and hence does not turn on the function key
+ labels when in visual mode. This is useful for different
+ modes for a terminal, or for different user preferences.
+
+-
+ <STRONG>Pitfalls</STRONG> <STRONG>of</STRONG> <STRONG>Long</STRONG> <STRONG>Entries</STRONG>
+ Long terminfo entries are unlikely to be a problem; to
+ date, no entry has even approached terminfo's 4096-byte
+@@ -2229,21 +2317,21 @@
+ libraries strip off the final newline, too (GNU termcap
+ does not). Now suppose:
+
+- * a termcap entry before expansion is more than 1023
+- bytes long,
++ <STRONG>o</STRONG> a termcap entry before expansion is more than 1023
++ bytes long,
+
+- * and the application has only allocated a 1k buffer,
++ <STRONG>o</STRONG> and the application has only allocated a 1k buffer,
+
+- * and the termcap library (like the one in BSD/OS 1.1
+- and GNU) reads the whole entry into the buffer, no
+- matter what its length, to see if it is the entry it
+- wants,
+-
+- * and <STRONG>tgetent()</STRONG> is searching for a terminal type that
+- either is the long entry, appears in the termcap file
+- after the long entry, or does not appear in the file
+- at all (so that <STRONG>tgetent()</STRONG> has to search the whole
+- termcap file).
++ <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1
++ and GNU) reads the whole entry into the buffer, no
++ matter what its length, to see if it is the entry it
++ wants,
++
++ <STRONG>o</STRONG> and <STRONG>tgetent()</STRONG> is searching for a terminal type that
++ either is the long entry, appears in the termcap file
++ after the long entry, or does not appear in the file
++ at all (so that <STRONG>tgetent()</STRONG> has to search the whole
++ termcap file).
+
+ Then <STRONG>tgetent()</STRONG> will overwrite memory, perhaps its stack,
+ and probably core dump the program. Programs like telnet
+@@ -2288,61 +2376,64 @@
+
+ </PRE>
+ <H2>EXTENSIONS</H2><PRE>
+- Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to
+- SVr4, do not interpret the %A and %O operators in parame-
++ Searching for terminal descriptions in <STRONG>$HOME/.terminfo</STRONG> and
++ TERMINFO_DIRS is not supported by older implementations.
++
++ Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to
++ SVr4, do not interpret the %A and %O operators in parame-
+ ter strings.
+
+- SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement
+- while in an alternate-character-set mode (such modes may,
+- among other things, map CR and NL to characters that do
+- not trigger local motions). The <STRONG>ncurses</STRONG> implementation
+- ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises the possi-
+- bility that an XPG4 implementation making the opposite
+- interpretation may need terminfo entries made for <STRONG>ncurses</STRONG>
++ SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement
++ while in an alternate-character-set mode (such modes may,
++ among other things, map CR and NL to characters that do
++ not trigger local motions). The <STRONG>ncurses</STRONG> implementation
++ ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises the possi-
++ bility that an XPG4 implementation making the opposite
++ interpretation may need terminfo entries made for <STRONG>ncurses</STRONG>
+ to have <STRONG>msgr</STRONG> turned off.
+
+- The <STRONG>ncurses</STRONG> library handles insert-character and insert-
++ The <STRONG>ncurses</STRONG> library handles insert-character and insert-
+ character modes in a slightly non-standard way to get bet-
+- ter update efficiency. See the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG>
++ ter update efficiency. See the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG>
+ subsection above.
+
+- The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>dis-</STRONG>
+- <STRONG>play_clock</STRONG> are not documented in SVr4 or the XSI Curses
++ The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>dis-</STRONG>
++ <STRONG>play_clock</STRONG> are not documented in SVr4 or the XSI Curses
+ standard. They are deduced from the documentation for the
+ AT&amp;T 505 terminal.
+
+- Be careful assigning the <STRONG>kmous</STRONG> capability. The <STRONG>ncurses</STRONG>
+- wants to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals
+- and emulators like xterm that can return mouse-tracking
++ Be careful assigning the <STRONG>kmous</STRONG> capability. The <STRONG>ncurses</STRONG>
++ wants to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals
++ and emulators like xterm that can return mouse-tracking
+ information in the keyboard-input stream.
+
+- Different commercial ports of terminfo and curses support
+- different subsets of the XSI Curses standard and (in some
++ Different commercial ports of terminfo and curses support
++ different subsets of the XSI Curses standard and (in some
+ cases) different extension sets. Here is a summary, accu-
+ rate as of October 1995:
+
+ <STRONG>SVR4,</STRONG> <STRONG>Solaris,</STRONG> <STRONG>ncurses</STRONG> -- These support all SVr4 capabili-
+ ties.
+
+- <STRONG>SGI</STRONG> -- Supports the SVr4 set, adds one undocumented
++ <STRONG>SGI</STRONG> -- Supports the SVr4 set, adds one undocumented
+ extended string capability (<STRONG>set_pglen</STRONG>).
+
+- <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These support a restricted subset of ter-
+- minfo capabilities. The booleans end with <STRONG>xon_xoff</STRONG>; the
+- numerics with <STRONG>width_status_line</STRONG>; and the strings with
++ <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These support a restricted subset of ter-
++ minfo capabilities. The booleans end with <STRONG>xon_xoff</STRONG>; the
++ numerics with <STRONG>width_status_line</STRONG>; and the strings with
+ <STRONG>prtr_non</STRONG>.
+
+- <STRONG>HP/UX</STRONG> -- Supports the SVr1 subset, plus the SVr[234]
++ <STRONG>HP/UX</STRONG> -- Supports the SVr1 subset, plus the SVr[234]
+ numerics <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus func-
+- tion keys 11 through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and
++ tion keys 11 through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and
+ <STRONG>label_off</STRONG>, plus some incompatible extensions in the string
+ table.
+
+- <STRONG>AIX</STRONG> -- Supports the SVr1 subset, plus function keys 11
+- through 63, plus a number of incompatible string table
++ <STRONG>AIX</STRONG> -- Supports the SVr1 subset, plus function keys 11
++ through 63, plus a number of incompatible string table
+ extensions.
+
+- <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the AIX extensions.
++ <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the AIX extensions.
+
+
+ </PRE>
+Index: doc/html/man/tic.1m.html
+--- ncurses-5.9/doc/html/man/tic.1m.html 2011-04-04 22:46:51.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/tic.1m.html 2013-03-09 22:12:05.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: tic.1m,v 1.47 2010/12/04 18:38:55 tom Exp @
++ * @Id: tic.1m,v 1.57 2013/02/02 22:09:02 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -52,84 +52,141 @@
+
+ </PRE>
+ <H2>SYNOPSIS</H2><PRE>
+- <STRONG>tic</STRONG> [<STRONG>-1CGILNTUVacfgrstx</STRONG>] [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-R</STRONG> <EM>subset</EM>]
+- [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM>
++ <STRONG>tic</STRONG> [<STRONG>-01CDGIKLNTUVacfgrstx</STRONG>] [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-R</STRONG> <EM>sub-</EM>
++ <EM>set</EM>] [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM>
+
+
+ </PRE>
+ <H2>DESCRIPTION</H2><PRE>
+- The command <STRONG>tic</STRONG> translates a <STRONG>terminfo</STRONG> file from source
++ The <STRONG>tic</STRONG> command translates a <STRONG>terminfo</STRONG> file from source
+ format into compiled format. The compiled format is nec-
+ essary for use with the library routines in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+- The results are normally placed in the system terminfo
+- directory <STRONG>/usr/share/terminfo</STRONG>. There are two ways to
+- change this behavior.
++ As described in <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, the database may be either a
++ directory tree (one file per terminal entry) or a hashed
++ database (one record per entry). The <STRONG>tic</STRONG> command writes
++ only one type of entry, depending on how it was built:
++
++ <STRONG>o</STRONG> For directory trees, the top-level directory, e.g.,
++ /usr/share/terminfo, specifies the location of the
++ database.
++
++ <STRONG>o</STRONG> For hashed databases, a filename is needed. If the
++ given file is not found by that name, but can be found
++ by adding the suffix ".db", then that is used.
++
++ The default name for the hashed database is the same
++ as the default directory name (only adding a ".db"
++ suffix).
++
++ In either case (directory or hashed database), <STRONG>tic</STRONG> will
++ create the container if it does not exist. For a direc-
++ tory, this would be the "terminfo" leaf, versus a "ter-
++ minfo.db" file.
+
+- First, you may override the system default by setting the
+- variable <STRONG>TERMINFO</STRONG> in your shell environment to a valid
+- (existing) directory name.
+-
+- Secondly, if <STRONG>tic</STRONG> cannot get access to <EM>/usr/share/terminfo</EM>
+- or your TERMINFO directory, it looks for the directory
+- <EM>$HOME/.terminfo</EM>; if that directory exists, the entry is
+- placed there.
++ The results are normally placed in the system terminfo
++ database <STRONG>/usr/share/terminfo</STRONG>. The compiled terminal
++ description can be placed in a different terminfo data-
++ base. There are two ways to achieve this:
++
++ <STRONG>o</STRONG> First, you may override the system default either by
++ using the <STRONG>-o</STRONG> option, or by setting the variable <STRONG>TER-</STRONG>
++ <STRONG>MINFO</STRONG> in your shell environment to a valid database
++ location.
++
++ <STRONG>o</STRONG> Secondly, if <STRONG>tic</STRONG> cannot write in <EM>/usr/share/terminfo</EM>
++ or the location specified using your TERMINFO vari-
++ able, it looks for the directory <EM>$HOME/.terminfo</EM> (or
++ hashed database <EM>$HOME/.terminfo.db)</EM>; if that location
++ exists, the entry is placed there.
+
+ Libraries that read terminfo entries are expected to check
+- for a TERMINFO directory first, look at <EM>$HOME/.terminfo</EM> if
+- TERMINFO is not set, and finally look in <EM>/usr/share/ter-</EM>
+- <EM>minfo</EM>.
++ in succession
++
++ <STRONG>o</STRONG> a location specified with the TERMINFO environment
++ variable,
++
++ <STRONG>o</STRONG> <EM>$HOME/.terminfo</EM>,
++
++ <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS environment
++ variable,
++
++ <STRONG>o</STRONG> a compiled-in list of directories
++ (/usr/local/ncurses/share/terminfo:/usr/share/ter-
++ minfo), and
++
++ <STRONG>o</STRONG> the system terminfo database (<EM>/usr/share/terminfo</EM>).
++
++ <STRONG>OPTIONS</STRONG>
++ <STRONG>-0</STRONG> restricts the output to a single line
+
+ <STRONG>-1</STRONG> restricts the output to a single column
+
+ <STRONG>-a</STRONG> tells <STRONG>tic</STRONG> to retain commented-out capabilities
+ rather than discarding them. Capabilities are com-
+- mented by prefixing them with a period. This sets
+- the <STRONG>-x</STRONG> option, because it treats the commented-out
+- entries as user-defined names. If the source is
+- termcap, accept the 2-character names required by
++ mented by prefixing them with a period. This sets
++ the <STRONG>-x</STRONG> option, because it treats the commented-out
++ entries as user-defined names. If the source is
++ termcap, accept the 2-character names required by
+ version 6. Otherwise these are ignored.
+
+- <STRONG>-C</STRONG> Force source translation to termcap format. Note:
+- this differs from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in
++ <STRONG>-C</STRONG> Force source translation to termcap format. Note:
++ this differs from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in
+ that it does not merely translate capability names,
+- but also translates terminfo strings to termcap
++ but also translates terminfo strings to termcap
+ format. Capabilities that are not translatable are
+- left in the entry under their terminfo names but
+- commented out with two preceding dots.
++ left in the entry under their terminfo names but
++ commented out with two preceding dots. The actual
++ format used incorporates some improvements for
++ escaped characters from terminfo format. For a
++ stricter BSD-compatible translation, add the <STRONG>-K</STRONG>
++ option.
+
+- <STRONG>-c</STRONG> tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including
+- syntax problems and bad use links. If you specify
++ <STRONG>-c</STRONG> tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including
++ syntax problems and bad use links. If you specify
+ <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this option, the code will print warn-
+ ings about entries which, after use resolution, are
+- more than 1023 (4096) bytes long. Due to a fixed
+- buffer length in older termcap libraries (and a
+- documented limit in terminfo), these entries may
+- cause core dumps.
++ more than 1023 (4096) bytes long. Due to a fixed
++ buffer length in older termcap libraries, as well
++ as buggy checking for the buffer length (and a doc-
++ umented limit in terminfo), these entries may cause
++ core dumps with other implementations.
++
++ <STRONG>-D</STRONG> tells <STRONG>tic</STRONG> to print the database locations that it
++ knows about, and exit. The first location shown is
++ the one to which it would write compiled terminal
++ descriptions. If <STRONG>tic</STRONG> is not able to find a
++ writable database location according to the rules
++ summarized above, it will print a diagnostic and
++ exit with an error rather than printing a list of
++ database locations.
+
+ <STRONG>-e</STRONG> <EM>names</EM>
+- Limit writes and translations to the following
+- comma-separated list of terminals. If any name or
++ Limit writes and translations to the following
++ comma-separated list of terminals. If any name or
+ alias of a terminal matches one of the names in the
+- list, the entry will be written or translated as
+- normal. Otherwise no output will be generated for
++ list, the entry will be written or translated as
++ normal. Otherwise no output will be generated for
+ it. The option value is interpreted as a file con-
+- taining the list if it contains a '/'. (Note:
+- depending on how tic was compiled, this option may
++ taining the list if it contains a '/'. (Note:
++ depending on how tic was compiled, this option may
+ require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
+
+ <STRONG>-f</STRONG> Display complex terminfo strings which contain
+- if/then/else/endif expressions indented for read-
++ if/then/else/endif expressions indented for read-
+ ability.
+
+- <STRONG>-G</STRONG> Display constant literals in decimal form rather
++ <STRONG>-G</STRONG> Display constant literals in decimal form rather
+ than their character equivalents.
+
+- <STRONG>-g</STRONG> Display constant character literals in quoted form
++ <STRONG>-g</STRONG> Display constant character literals in quoted form
+ rather than their decimal equivalents.
+
+ <STRONG>-I</STRONG> Force source translation to terminfo format.
+
++ <STRONG>-K</STRONG> Suppress some longstanding ncurses extensions to
++ termcap format, e.g., "\s" for space.
++
+ <STRONG>-L</STRONG> Force source translation to terminfo format using
+ the long C variable names listed in &lt;<STRONG>term.h</STRONG>&gt;
+
+@@ -145,8 +202,8 @@
+ This option forces a more literal translation that
+ also preserves the obsolete capabilities.
+
+- <STRONG>-o</STRONG><EM>dir</EM> Write compiled entries to given directory. Over-
+- rides the TERMINFO environment variable.
++ <STRONG>-o</STRONG><EM>dir</EM> Write compiled entries to given database location.
++ Overrides the TERMINFO environment variable.
+
+ <STRONG>-R</STRONG><EM>subset</EM>
+ Restrict output to a given subset. This option is
+@@ -160,15 +217,15 @@
+
+ <STRONG>-r</STRONG> Force entry resolution (so there are no remaining
+ tc capabilities) even when doing translation to
+- termcap format. This may be needed if you are
+- preparing a termcap file for a termcap library
+- (such as GNU termcap through version 1.3 or BSD
+- termcap through 4.3BSD) that does not handle multi-
+- ple tc capabilities per entry.
+-
+- <STRONG>-s</STRONG> Summarize the compile by showing the directory into
+- which entries are written, and the number of
+- entries which are compiled.
++ termcap format. This may be needed if you are pre-
++ paring a termcap file for a termcap library (such
++ as GNU termcap through version 1.3 or BSD termcap
++ through 4.3BSD) that does not handle multiple tc
++ capabilities per entry.
++
++ <STRONG>-s</STRONG> Summarize the compile by showing the database loca-
++ tion into which entries are written, and the number
++ of entries which are compiled.
+
+ <STRONG>-T</STRONG> eliminates size-restrictions on the generated text.
+ This is mainly useful for testing and analysis,
+@@ -195,41 +252,48 @@
+ 1. If <EM>n</EM> is specified and greater than 1, the level
+ of detail is increased.
+
+- <STRONG>-w</STRONG><EM>n</EM> specifies the width of the output. The parameter is
+- optional. If it is omitted, it defaults to 60.
++ The debug flag levels are as follows:
+
+- <STRONG>-x</STRONG> Treat unknown capabilities as user-defined. That is,
+- if you supply a capability name which <STRONG>tic</STRONG> does not
+- recognize, it will infer its type (boolean, number or
+- string) from the syntax and make an extended table
+- entry for that. User-defined capability strings
+- whose name begins with ``k'' are treated as function
+- keys.
++ 1 Names of files created and linked
+
+- <EM>file</EM> contains one or more <STRONG>terminfo</STRONG> terminal descriptions
+- in source format [see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>]. Each description
+- in the file describes the capabilities of a particu-
+- lar terminal.
++ 2 Information related to the ``use'' facility
+
+- The debug flag levels are as follows:
++ 3 Statistics from the hashing algorithm
+
+- 1 Names of files created and linked
++ 5 String-table memory allocations
+
+- 2 Information related to the ``use'' facility
++ 7 Entries into the string-table
+
+- 3 Statistics from the hashing algorithm
++ 8 List of tokens encountered by scanner
+
+- 5 String-table memory allocations
++ 9 All values computed in construction of the
++ hash table
+
+- 7 Entries into the string-table
++ If the debug level <EM>n</EM> is not given, it is taken to be
++ one.
+
+- 8 List of tokens encountered by scanner
++ <STRONG>-w</STRONG><EM>n</EM> specifies the width of the output. The parameter is
++ optional. If it is omitted, it defaults to 60.
+
+- 9 All values computed in construction of the hash ta-
+- ble
++ <STRONG>-x</STRONG> Treat unknown capabilities as user-defined. That is,
++ if you supply a capability name which <STRONG>tic</STRONG> does not
++ recognize, it will infer its type (boolean, number or
++ string) from the syntax and make an extended table
++ entry for that. User-defined capability strings
++ whose name begins with ``k'' are treated as function
++ keys.
+
+- If the debug level <EM>n</EM> is not given, it is taken to be one.
++ <STRONG>PARAMETERS</STRONG>
++ <EM>file</EM> contains one or more <STRONG>terminfo</STRONG> terminal descriptions
++ in source format [see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>]. Each descrip-
++ tion in the file describes the capabilities of a
++ particular terminal.
++
++ If <EM>file</EM> is ``-'', then the data is read from the
++ standard input. The <EM>file</EM> parameter may also be the
++ path of a character-device.
+
++ <STRONG>PROCESSING</STRONG>
+ All but one of the capabilities recognized by <STRONG>tic</STRONG> are doc-
+ umented in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. The exception is the <STRONG>use</STRONG> capabil-
+ ity.
+@@ -237,10 +301,8 @@
+ When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered in a terminal
+ entry currently being compiled, <STRONG>tic</STRONG> reads in the binary
+ from <STRONG>/usr/share/terminfo</STRONG> to complete the entry. (Entries
+- created from <EM>file</EM> will be used first. If the environment
+- variable <STRONG>TERMINFO</STRONG> is set, that directory is searched
+- instead of <STRONG>/usr/share/terminfo</STRONG>.) <STRONG>tic</STRONG> duplicates the capa-
+- bilities in <EM>entry</EM>-<EM>name</EM> for the current entry, with the
++ created from <EM>file</EM> will be used first. <STRONG>tic</STRONG> duplicates the
++ capabilities in <EM>entry</EM>-<EM>name</EM> for the current entry, with the
+ exception of those capabilities that explicitly are
+ defined in the current entry.
+
+@@ -249,52 +311,49 @@
+ <EM>entry</EM>_<EM>name</EM>_<EM>2</EM> must also appear in <STRONG>entry_name_1</STRONG> before <STRONG>use=</STRONG>
+ for these capabilities to be canceled in <STRONG>entry_name_1</STRONG>.
+
+- If the environment variable <STRONG>TERMINFO</STRONG> is set, the compiled
+- results are placed there instead of <STRONG>/usr/share/terminfo</STRONG>.
+-
+ Total compiled entries cannot exceed 4096 bytes. The name
+- field cannot exceed 512 bytes. Terminal names exceeding
+- the maximum alias length (32 characters on systems with
++ field cannot exceed 512 bytes. Terminal names exceeding
++ the maximum alias length (32 characters on systems with
+ long filenames, 14 characters otherwise) will be truncated
+- to the maximum alias length and a warning message will be
++ to the maximum alias length and a warning message will be
+ printed.
+
+
+ </PRE>
+ <H2>COMPATIBILITY</H2><PRE>
+- There is some evidence that historic <STRONG>tic</STRONG> implementations
+- treated description fields with no whitespace in them as
+- additional aliases or short names. This <STRONG>tic</STRONG> does not do
+- that, but it does warn when description fields may be
+- treated that way and check them for dangerous characters.
++ There is some evidence that historic <STRONG>tic</STRONG> implementations
++ treated description fields with no whitespace in them as
++ additional aliases or short names. This <STRONG>tic</STRONG> does not do
++ that, but it does warn when description fields may be
++ treated that way and check them for dangerous characters.
+
+
+ </PRE>
+ <H2>EXTENSIONS</H2><PRE>
+- Unlike the stock SVr4 <STRONG>tic</STRONG> command, this implementation can
+- actually compile termcap sources. In fact, entries in
+- terminfo and termcap syntax can be mixed in a single
+- source file. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for the list of termcap
+- names taken to be equivalent to terminfo names.
++ Unlike the SVr4 <STRONG>tic</STRONG> command, this implementation can actu-
++ ally compile termcap sources. In fact, entries in ter-
++ minfo and termcap syntax can be mixed in a single source
++ file. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for the list of termcap names taken
++ to be equivalent to terminfo names.
+
+ The SVr4 manual pages are not clear on the resolution
+ rules for <STRONG>use</STRONG> capabilities. This implementation of <STRONG>tic</STRONG>
+ will find <STRONG>use</STRONG> targets anywhere in the source file, or any-
+ where in the file tree rooted at <STRONG>TERMINFO</STRONG> (if <STRONG>TERMINFO</STRONG> is
+- defined), or in the user's <EM>$HOME/.terminfo</EM> directory (if
+- it exists), or (finally) anywhere in the system's file
+- tree of compiled entries.
++ defined), or in the user's <EM>$HOME/.terminfo</EM> database (if it
++ exists), or (finally) anywhere in the system's file tree
++ of compiled entries.
+
+ The error messages from this <STRONG>tic</STRONG> have the same format as
+ GNU C error messages, and can be parsed by GNU Emacs's
+ compile facility.
+
+- The <STRONG>-C</STRONG>, <STRONG>-G</STRONG>, <STRONG>-I</STRONG>, <STRONG>-N</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-o</STRONG>, <STRONG>-r</STRONG>,
+- <STRONG>-s</STRONG>, <STRONG>-t</STRONG> and <STRONG>-x</STRONG> options are not supported under SVr4. The
+- SVr4 <STRONG>-c</STRONG> mode does not report bad use links.
++ The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-C</STRONG>, <STRONG>-G</STRONG>, <STRONG>-I</STRONG>, <STRONG>-N</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>,
++ <STRONG>-o</STRONG>, <STRONG>-r</STRONG>, <STRONG>-s</STRONG>, <STRONG>-t</STRONG> and <STRONG>-x</STRONG> options are not supported under
++ SVr4. The SVr4 <STRONG>-c</STRONG> mode does not report bad use links.
+
+ System V does not compile entries to or read entries from
+- your <EM>$HOME/.terminfo</EM> directory unless TERMINFO is explic-
++ your <EM>$HOME/.terminfo</EM> database unless TERMINFO is explic-
+ itly set to it.
+
+
+@@ -307,9 +366,9 @@
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
+- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
++ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+ </PRE>
+Index: doc/html/man/toe.1m.html
+--- ncurses-5.9/doc/html/man/toe.1m.html 2011-04-04 22:46:51.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/toe.1m.html 2013-03-09 22:12:05.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: toe.1m,v 1.23 2010/12/04 18:40:45 tom Exp @
++ * @Id: toe.1m,v 1.26 2012/01/01 00:40:51 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -52,7 +52,7 @@
+
+ </PRE>
+ <H2>SYNOPSIS</H2><PRE>
+- <STRONG>toe</STRONG> [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-ahuUV</STRONG>] <EM>file...</EM>
++ <STRONG>toe</STRONG> [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-ahsuUV</STRONG>] <EM>file...</EM>
+
+
+ </PRE>
+@@ -71,6 +71,14 @@
+ ncurses would search, rather than only the first
+ one that it finds.
+
++ If the <STRONG>-s</STRONG> is also given, <STRONG>toe</STRONG> adds a column to the
++ report, showing (like <STRONG><A HREF="conflict.1.html">conflict(1)</A></STRONG>) which entries
++ which belong to a given terminal database. An "*"
++ marks entries which differ, and "+" marks equiva-
++ lent entries.
++
++ <STRONG>-s</STRONG> sort the output by the entry names.
++
+ <STRONG>-u</STRONG> <EM>file</EM>
+ says to write a report to the standard output,
+ listing dependencies in the given terminfo/termcap
+@@ -111,7 +119,7 @@
+ <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/man/tput.1.html
+--- ncurses-5.9/doc/html/man/tput.1.html 2011-04-04 22:46:51.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/tput.1.html 2013-03-09 22:12:05.000000000 +0000
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: tput.1,v 1.29 2010/12/04 18:41:07 tom Exp @
++ * @Id: tput.1,v 1.32 2012/07/14 21:06:45 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -95,54 +95,53 @@
+ option is unnecessary, because the default is taken
+ from the environment variable <STRONG>TERM</STRONG>. If <STRONG>-T</STRONG> is spec-
+ ified, then the shell variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG>
+- will be ignored,and the operating system will not
+- be queried for the actual screen size.
++ will also be ignored.
+
+ <EM>capname</EM>
+- indicates the capability from the <STRONG>terminfo</STRONG>
+- database. When <STRONG>termcap</STRONG> support is compiled in, the
++ indicates the capability from the <STRONG>terminfo</STRONG> data-
++ base. When <STRONG>termcap</STRONG> support is compiled in, the
+ <STRONG>termcap</STRONG> name for the capability is also accepted.
+
+- <EM>parms</EM> If the capability is a string that takes parame-
++ <EM>parms</EM> If the capability is a string that takes parame-
+ ters, the arguments <EM>parms</EM> will be instantiated into
+ the string.
+
+- Most parameters are numbers. Only a few terminfo
++ Most parameters are numbers. Only a few terminfo
+ capabilities require string parameters; <STRONG>tput</STRONG> uses a
+ table to decide which to pass as strings. Normally
+- <STRONG>tput</STRONG> uses <STRONG>tparm</STRONG> (3x) to perform the substitution.
++ <STRONG>tput</STRONG> uses <STRONG>tparm</STRONG> (3x) to perform the substitution.
+ If no parameters are given for the capability, <STRONG>tput</STRONG>
+- writes the string without performing the
+- substitution.
++ writes the string without performing the substitu-
++ tion.
+
+- <STRONG>-S</STRONG> allows more than one capability per invocation of
++ <STRONG>-S</STRONG> allows more than one capability per invocation of
+ <STRONG>tput</STRONG>. The capabilities must be passed to <STRONG>tput</STRONG> from
+ the standard input instead of from the command line
+- (see example). Only one <EM>capname</EM> is allowed per
+- line. The <STRONG>-S</STRONG> option changes the meaning of the <STRONG>0</STRONG>
+- and <STRONG>1</STRONG> boolean and string exit codes (see the EXIT
++ (see example). Only one <EM>capname</EM> is allowed per
++ line. The <STRONG>-S</STRONG> option changes the meaning of the <STRONG>0</STRONG>
++ and <STRONG>1</STRONG> boolean and string exit codes (see the EXIT
+ CODES section).
+
+ Again, <STRONG>tput</STRONG> uses a table and the presence of param-
+- eters in its input to decide whether to use <STRONG>tparm</STRONG>
++ eters in its input to decide whether to use <STRONG>tparm</STRONG>
+ (3x), and how to interpret the parameters.
+
+- <STRONG>-V</STRONG> reports the version of ncurses which was used in
++ <STRONG>-V</STRONG> reports the version of ncurses which was used in
+ this program, and exits.
+
+- <STRONG>init</STRONG> If the <STRONG>terminfo</STRONG> database is present and an entry
++ <STRONG>init</STRONG> If the <STRONG>terminfo</STRONG> database is present and an entry
+ for the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM>, above),
+ the following will occur:
+
+- (1) if present, the terminal's initialization
+- strings will be output as detailed in the
+- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> section on <EM>Tabs</EM> <EM>and</EM> <EM>Initializa-</EM>
++ (1) if present, the terminal's initialization
++ strings will be output as detailed in the
++ <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> section on <EM>Tabs</EM> <EM>and</EM> <EM>Initializa-</EM>
+ <EM>tion</EM>,
+
+- (2) any delays (e.g., newline) specified in the
++ (2) any delays (e.g., newline) specified in the
+ entry will be set in the tty driver,
+
+- (3) tabs expansion will be turned on or off
++ (3) tabs expansion will be turned on or off
+ according to the specification in the entry,
+ and
+
+@@ -153,22 +152,22 @@
+ for any of the four above activities, that activity
+ will silently be skipped.
+
+- <STRONG>reset</STRONG> Instead of putting out initialization strings, the
+- terminal's reset strings will be output if present
+- (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>). If the reset strings are not
+- present, but initialization strings are, the ini-
+- tialization strings will be output. Otherwise,
++ <STRONG>reset</STRONG> Instead of putting out initialization strings, the
++ terminal's reset strings will be output if present
++ (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>). If the reset strings are not
++ present, but initialization strings are, the ini-
++ tialization strings will be output. Otherwise,
+ <STRONG>reset</STRONG> acts identically to <STRONG>init</STRONG>.
+
+ <STRONG>longname</STRONG>
+- If the <STRONG>terminfo</STRONG> database is present and an entry
+- for the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM> above),
++ If the <STRONG>terminfo</STRONG> database is present and an entry
++ for the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM> above),
+ then the long name of the terminal will be put out.
+ The long name is the last name in the first line of
+ the terminal's description in the <STRONG>terminfo</STRONG> database
+ [see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>].
+
+- If <STRONG>tput</STRONG> is invoked by a link named <STRONG>reset</STRONG>, this has the
++ If <STRONG>tput</STRONG> is invoked by a link named <STRONG>reset</STRONG>, this has the
+ same effect as <STRONG>tput</STRONG> <STRONG>reset</STRONG>. See <STRONG>tset</STRONG> for comparison, which
+ has similar behavior.
+
+@@ -177,13 +176,13 @@
+ <H2>EXAMPLES</H2><PRE>
+ <STRONG>tput</STRONG> <STRONG>init</STRONG>
+ Initialize the terminal according to the type of ter-
+- minal in the environmental variable <STRONG>TERM</STRONG>. This com-
+- mand should be included in everyone's .profile after
++ minal in the environmental variable <STRONG>TERM</STRONG>. This com-
++ mand should be included in everyone's .profile after
+ the environmental variable <STRONG>TERM</STRONG> has been exported, as
+ illustrated on the <STRONG><A HREF="profile.5.html">profile(5)</A></STRONG> manual page.
+
+ <STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG>
+- Reset an AT&amp;T 5620 terminal, overriding the type of
++ Reset an AT&amp;T 5620 terminal, overriding the type of
+ terminal in the environmental variable <STRONG>TERM</STRONG>.
+
+ <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>0</STRONG> <STRONG>0</STRONG>
+@@ -263,29 +262,29 @@
+ type of <EM>capname</EM>:
+
+ <EM>boolean</EM>
+- a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
++ a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
+
+- <EM>string</EM> a value of <STRONG>0</STRONG> is set if the <EM>capname</EM> is defined
+- for this terminal <EM>type</EM> (the value of <EM>capname</EM>
+- is returned on standard output); a value of <STRONG>1</STRONG>
++ <EM>string</EM> a value of <STRONG>0</STRONG> is set if the <EM>capname</EM> is defined
++ for this terminal <EM>type</EM> (the value of <EM>capname</EM>
++ is returned on standard output); a value of <STRONG>1</STRONG>
+ is set if <EM>capname</EM> is not defined for this ter-
+- minal <EM>type</EM> (nothing is written to standard
++ minal <EM>type</EM> (nothing is written to standard
+ output).
+
+ <EM>integer</EM>
+- a value of <STRONG>0</STRONG> is always set, whether or not
++ a value of <STRONG>0</STRONG> is always set, whether or not
+ <EM>capname</EM> is defined for this terminal <EM>type</EM>. To
+- determine if <EM>capname</EM> is defined for this ter-
++ determine if <EM>capname</EM> is defined for this ter-
+ minal <EM>type</EM>, the user must test the value writ-
+- ten to standard output. A value of <STRONG>-1</STRONG> means
+- that <EM>capname</EM> is not defined for this terminal
++ ten to standard output. A value of <STRONG>-1</STRONG> means
++ that <EM>capname</EM> is not defined for this terminal
+ <EM>type</EM>.
+
+- <EM>other</EM> <STRONG>reset</STRONG> or <STRONG>init</STRONG> may fail to find their respec-
+- tive files. In that case, the exit code is
++ <EM>other</EM> <STRONG>reset</STRONG> or <STRONG>init</STRONG> may fail to find their respec-
++ tive files. In that case, the exit code is
+ set to 4 + <STRONG>errno</STRONG>.
+
+- Any other exit code indicates an error; see the DIAGNOS-
++ Any other exit code indicates an error; see the DIAGNOS-
+ TICS section.
+
+
+@@ -294,11 +293,10 @@
+ <STRONG>tput</STRONG> prints the following error messages and sets the cor-
+ responding exit codes.
+
+-
+ exit code error message
+ ---------------------------------------------------------------------
+- <STRONG>0</STRONG> (<EM>capname</EM> is a numeric variable that is not specified in
+- the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> database for this terminal type, e.g.
++ <STRONG>0</STRONG> (<EM>capname</EM> is a numeric variable that is not specified in
++ the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> database for this terminal type, e.g.
+ <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>lines</STRONG> and <STRONG>tput</STRONG> <STRONG>-T2621</STRONG> <STRONG>xmc</STRONG>)
+ <STRONG>1</STRONG> no error message is printed, see the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> section.
+ <STRONG>2</STRONG> usage error
+@@ -310,25 +308,37 @@
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and the parameter-substitu-
+- tion features used in the <STRONG>cup</STRONG> example, are not supported
++ The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and the parameter-substitu-
++ tion features used in the <STRONG>cup</STRONG> example, are not supported
+ in BSD curses or in AT&amp;T/USL curses before SVr4.
+
+- X/Open documents only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and
+- <STRONG>reset</STRONG>. In this implementation, <STRONG>clear</STRONG> is part of the <EM>cap-</EM>
++ X/Open documents only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and
++ <STRONG>reset</STRONG>. In this implementation, <STRONG>clear</STRONG> is part of the <EM>cap-</EM>
+ <EM>name</EM> support. Other implementations of <STRONG>tput</STRONG> on SVr4-based
+ systems such as Solaris, IRIX64 and HPUX as well as others
+- such as AIX and Tru64 provide support for <EM>capname</EM>
+- operands. A few platforms such as FreeBSD and NetBSD rec-
+- ognize termcap names rather than terminfo capability names
+- in their respective <STRONG>tput</STRONG> commands.
++ such as AIX and Tru64 provide support for <EM>capname</EM> oper-
++ ands.
++
++ A few platforms such as FreeBSD and NetBSD recognize term-
++ cap names rather than terminfo capability names in their
++ respective <STRONG>tput</STRONG> commands.
++
++ Most implementations which provide support for <EM>capname</EM> op-
++ erands use the <EM>tparm</EM> function to expand parameters in it.
++ That function expects a mixture of numeric and string
++ parameters, requiring <STRONG>tput</STRONG> to know which type to use.
++ This implementation uses a table to determine that for the
++ standard <EM>capname</EM> operands, and an internal library func-
++ tion to analyze nonstandard <EM>capname</EM> operands. Other
++ implementations may simply guess that an operand contain-
++ ing only digits is intended to be a number.
+
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
++ <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/man/tset.1.html
+--- ncurses-5.9/doc/html/man/tset.1.html 2011-04-04 22:46:52.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/man/tset.1.html 2013-03-09 22:12:05.000000000 +0000
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: tset.1,v 1.25 2010/12/04 18:38:55 tom Exp @
++ * @Id: tset.1,v 1.27 2011/12/17 23:20:35 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -116,8 +116,9 @@
+
+ The options are as follows:
+
+- <STRONG>-c</STRONG> Set control characters and modes. <STRONG>-e</STRONG> Set the erase
+- character to <EM>ch</EM>.
++ <STRONG>-c</STRONG> Set control characters and modes.
++
++ <STRONG>-e</STRONG> Set the erase character to <EM>ch</EM>.
+
+ <STRONG>-I</STRONG> Do not send the terminal or tab initialization
+ strings to the terminal.
+@@ -126,51 +127,51 @@
+
+ <STRONG>-k</STRONG> Set the line kill character to <EM>ch</EM>.
+
+- <STRONG>-m</STRONG> Specify a mapping from a port type to a terminal.
++ <STRONG>-m</STRONG> Specify a mapping from a port type to a terminal.
+ See the section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more infor-
+ mation.
+
+- <STRONG>-Q</STRONG> Do not display any values for the erase, interrupt
++ <STRONG>-Q</STRONG> Do not display any values for the erase, interrupt
+ and line kill characters. Normally <STRONG>tset</STRONG> displays the
+- values for control characters which differ from the
++ values for control characters which differ from the
+ system's default values.
+
+- <STRONG>-q</STRONG> The terminal type is displayed to the standard out-
+- put, and the terminal is not initialized in any way.
++ <STRONG>-q</STRONG> The terminal type is displayed to the standard out-
++ put, and the terminal is not initialized in any way.
+ The option `-' by itself is equivalent but archaic.
+
+ <STRONG>-r</STRONG> Print the terminal type to the standard error output.
+
+ <STRONG>-s</STRONG> Print the sequence of shell commands to initialize
+ the environment variable <STRONG>TERM</STRONG> to the standard output.
+- See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG> <STRONG>ENVIRONMENT</STRONG> for details.
++ See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG> <STRONG>ENVIRONMENT</STRONG> for details.
+
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this
+ program, and exits.
+
+- <STRONG>-w</STRONG> Resize the window to match the size deduced via
++ <STRONG>-w</STRONG> Resize the window to match the size deduced via
+ <STRONG>setupterm</STRONG>. Normally this has no effect, unless
+ <STRONG>setupterm</STRONG> is not able to detect the window size.
+
+ The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be
+- entered as actual characters or by using the `hat' nota-
+- tion, i.e., control-h may be specified as ``^H'' or
++ entered as actual characters or by using the `hat' nota-
++ tion, i.e., control-h may be specified as ``^H'' or
+ ``^h''.
+
+
+ </PRE>
+ <H2>SETTING THE ENVIRONMENT</H2><PRE>
+- It is often desirable to enter the terminal type and
+- information about the terminal's capabilities into the
++ It is often desirable to enter the terminal type and
++ information about the terminal's capabilities into the
+ shell's environment. This is done using the <STRONG>-s</STRONG> option.
+
+ When the <STRONG>-s</STRONG> option is specified, the commands to enter the
+- information into the shell's environment are written to
+- the standard output. If the <STRONG>SHELL</STRONG> environmental variable
++ information into the shell's environment are written to
++ the standard output. If the <STRONG>SHELL</STRONG> environmental variable
+ ends in ``csh'', the commands are for <STRONG>csh</STRONG>, otherwise, they
+- are for <STRONG>sh</STRONG>. Note, the <STRONG>csh</STRONG> commands set and unset the
+- shell variable <STRONG>noglob</STRONG>, leaving it unset. The following
+- line in the <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will initialize the
++ are for <STRONG>sh</STRONG>. Note, the <STRONG>csh</STRONG> commands set and unset the
++ shell variable <STRONG>noglob</STRONG>, leaving it unset. The following
++ line in the <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will initialize the
+ environment correctly:
+
+ eval `tset -s options ... `
+@@ -180,107 +181,107 @@
+ <H2>TERMINAL TYPE MAPPING</H2><PRE>
+ When the terminal is not hardwired into the system (or the
+ current system information is incorrect) the terminal type
+- derived from the <EM>/etc/ttys</EM> file or the <STRONG>TERM</STRONG> environmental
+- variable is often something generic like <STRONG>network</STRONG>, <STRONG>dialup</STRONG>,
+- or <STRONG>unknown</STRONG>. When <STRONG>tset</STRONG> is used in a startup script it is
+- often desirable to provide information about the type of
++ derived from the <EM>/etc/ttys</EM> file or the <STRONG>TERM</STRONG> environmental
++ variable is often something generic like <STRONG>network</STRONG>, <STRONG>dialup</STRONG>,
++ or <STRONG>unknown</STRONG>. When <STRONG>tset</STRONG> is used in a startup script it is
++ often desirable to provide information about the type of
+ terminal used on such ports.
+
+- The purpose of the <STRONG>-m</STRONG> option is to map from some set of
+- conditions to a terminal type, that is, to tell <STRONG>tset</STRONG> ``If
+- I'm on this port at a particular speed, guess that I'm on
++ The purpose of the <STRONG>-m</STRONG> option is to map from some set of
++ conditions to a terminal type, that is, to tell <STRONG>tset</STRONG> ``If
++ I'm on this port at a particular speed, guess that I'm on
+ that kind of terminal''.
+
+ The argument to the <STRONG>-m</STRONG> option consists of an optional port
+ type, an optional operator, an optional baud rate specifi-
+ cation, an optional colon (``:'') character and a terminal
+- type. The port type is a string (delimited by either the
++ type. The port type is a string (delimited by either the
+ operator or the colon character). The operator may be any
+ combination of ``&gt;'', ``&lt;'', ``@'', and ``!''; ``&gt;'' means
+- greater than, ``&lt;'' means less than, ``@'' means equal to
++ greater than, ``&lt;'' means less than, ``@'' means equal to
+ and ``!'' inverts the sense of the test. The baud rate is
+- specified as a number and is compared with the speed of
+- the standard error output (which should be the control
++ specified as a number and is compared with the speed of
++ the standard error output (which should be the control
+ terminal). The terminal type is a string.
+
+ If the terminal type is not specified on the command line,
+- the <STRONG>-m</STRONG> mappings are applied to the terminal type. If the
+- port type and baud rate match the mapping, the terminal
+- type specified in the mapping replaces the current type.
+- If more than one mapping is specified, the first applica-
++ the <STRONG>-m</STRONG> mappings are applied to the terminal type. If the
++ port type and baud rate match the mapping, the terminal
++ type specified in the mapping replaces the current type.
++ If more than one mapping is specified, the first applica-
+ ble mapping is used.
+
+- For example, consider the following mapping:
++ For example, consider the following mapping:
+ <STRONG>dialup&gt;9600:vt100</STRONG>. The port type is dialup , the operator
+- is &gt;, the baud rate specification is 9600, and the termi-
++ is &gt;, the baud rate specification is 9600, and the termi-
+ nal type is vt100. The result of this mapping is to spec-
+ ify that if the terminal type is <STRONG>dialup</STRONG>, and the baud rate
+- is greater than 9600 baud, a terminal type of <STRONG>vt100</STRONG> will
++ is greater than 9600 baud, a terminal type of <STRONG>vt100</STRONG> will
+ be used.
+
+ If no baud rate is specified, the terminal type will match
+ any baud rate. If no port type is specified, the terminal
+- type will match any port type. For example, <STRONG>-m</STRONG>
++ type will match any port type. For example, <STRONG>-m</STRONG>
+ <STRONG>dialup:vt100</STRONG> <STRONG>-m</STRONG> <STRONG>:?xterm</STRONG> will cause any dialup port,
+ regardless of baud rate, to match the terminal type vt100,
+- and any non-dialup port type to match the terminal type
+- ?xterm. Note, because of the leading question mark, the
+- user will be queried on a default port as to whether they
++ and any non-dialup port type to match the terminal type
++ ?xterm. Note, because of the leading question mark, the
++ user will be queried on a default port as to whether they
+ are actually using an xterm terminal.
+
+- No whitespace characters are permitted in the <STRONG>-m</STRONG> option
+- argument. Also, to avoid problems with meta-characters,
+- it is suggested that the entire <STRONG>-m</STRONG> option argument be
+- placed within single quote characters, and that <STRONG>csh</STRONG> users
+- insert a backslash character (``\'') before any exclama-
++ No whitespace characters are permitted in the <STRONG>-m</STRONG> option
++ argument. Also, to avoid problems with meta-characters,
++ it is suggested that the entire <STRONG>-m</STRONG> option argument be
++ placed within single quote characters, and that <STRONG>csh</STRONG> users
++ insert a backslash character (``\'') before any exclama-
+ tion marks (``!'').
+
+
+ </PRE>
+ <H2>HISTORY</H2><PRE>
+- The <STRONG>tset</STRONG> command appeared in BSD 3.0. The <STRONG>ncurses</STRONG> imple-
+- mentation was lightly adapted from the 4.4BSD sources for
++ The <STRONG>tset</STRONG> command appeared in BSD 3.0. The <STRONG>ncurses</STRONG> imple-
++ mentation was lightly adapted from the 4.4BSD sources for
+ a terminfo environment by Eric S. Raymond &lt;esr@snark.thyr-
+ sus.com&gt;.
+
+
+ </PRE>
+ <H2>COMPATIBILITY</H2><PRE>
+- The <STRONG>tset</STRONG> utility has been provided for backward-compati-
+- bility with BSD environments (under most modern UNIXes,
+- <STRONG>/etc/inittab</STRONG> and <STRONG><A HREF="getty.1.html">getty(1)</A></STRONG> can set <STRONG>TERM</STRONG> appropriately for
+- each dial-up line; this obviates what was <STRONG>tset</STRONG>'s most
+- important use). This implementation behaves like 4.4BSD
++ The <STRONG>tset</STRONG> utility has been provided for backward-compati-
++ bility with BSD environments (under most modern UNIXes,
++ <STRONG>/etc/inittab</STRONG> and <STRONG><A HREF="getty.1.html">getty(1)</A></STRONG> can set <STRONG>TERM</STRONG> appropriately for
++ each dial-up line; this obviates what was <STRONG>tset</STRONG>'s most
++ important use). This implementation behaves like 4.4BSD
+ tset, with a few exceptions specified here.
+
+- The <STRONG>-S</STRONG> option of BSD tset no longer works; it prints an
++ The <STRONG>-S</STRONG> option of BSD tset no longer works; it prints an
+ error message to stderr and dies. The <STRONG>-s</STRONG> option only sets
+- <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>. Both these changes are because the
+- <STRONG>TERMCAP</STRONG> variable is no longer supported under terminfo-
++ <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>. Both these changes are because the
++ <STRONG>TERMCAP</STRONG> variable is no longer supported under terminfo-
+ based <STRONG>ncurses</STRONG>, which makes <STRONG>tset</STRONG> <STRONG>-S</STRONG> useless (we made it die
+ noisily rather than silently induce lossage).
+
+- There was an undocumented 4.4BSD feature that invoking
++ There was an undocumented 4.4BSD feature that invoking
+ tset via a link named `TSET` (or via any other name begin-
+- ning with an upper-case letter) set the terminal to use
++ ning with an upper-case letter) set the terminal to use
+ upper-case only. This feature has been omitted.
+
+- The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the
+- <STRONG>tset</STRONG> utility in 4.4BSD. None of them were documented in
+- 4.3BSD and all are of limited utility at best. The <STRONG>-a</STRONG>,
++ The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the
++ <STRONG>tset</STRONG> utility in 4.4BSD. None of them were documented in
++ 4.3BSD and all are of limited utility at best. The <STRONG>-a</STRONG>,
+ <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options are similarly not documented or useful,
+- but were retained as they appear to be in widespread use.
+- It is strongly recommended that any usage of these three
+- options be changed to use the <STRONG>-m</STRONG> option instead. The <STRONG>-n</STRONG>
+- option remains, but has no effect. The <STRONG>-adnp</STRONG> options are
++ but were retained as they appear to be in widespread use.
++ It is strongly recommended that any usage of these three
++ options be changed to use the <STRONG>-m</STRONG> option instead. The <STRONG>-n</STRONG>
++ option remains, but has no effect. The <STRONG>-adnp</STRONG> options are
+ therefore omitted from the usage summary above.
+
+- It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG>
+- options without arguments, although it is strongly recom-
+- mended that such usage be fixed to explicitly specify the
++ It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG>
++ options without arguments, although it is strongly recom-
++ mended that such usage be fixed to explicitly specify the
+ character.
+
+- As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies
++ As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies
+ the <STRONG>-Q</STRONG> option. Also, the interaction between the - option
+ and the <EM>terminal</EM> argument in some historic implementations
+ of <STRONG>tset</STRONG> has been removed.
+@@ -294,7 +295,7 @@
+ tells <STRONG>tset</STRONG> whether to initialize <STRONG>TERM</STRONG> using <STRONG>sh</STRONG> or <STRONG>csh</STRONG>
+ syntax.
+
+- TERM Denotes your terminal type. Each terminal type is
++ TERM Denotes your terminal type. Each terminal type is
+ distinct, though many are similar.
+
+ TERMCAP
+@@ -307,7 +308,7 @@
+ </PRE>
+ <H2>FILES</H2><PRE>
+ /etc/ttys
+- system port name to terminal type mapping database
++ system port name to terminal type mapping database
+ (BSD versions only).
+
+ /usr/share/terminfo
+@@ -316,10 +317,10 @@
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- <STRONG><A HREF="csh.1.html">csh(1)</A></STRONG>, <STRONG><A HREF="sh.1.html">sh(1)</A></STRONG>, <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="tty.4.html">tty(4)</A></STRONG>, ter-
++ <STRONG><A HREF="csh.1.html">csh(1)</A></STRONG>, <STRONG><A HREF="sh.1.html">sh(1)</A></STRONG>, <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="tty.4.html">tty(4)</A></STRONG>, ter-
+ <STRONG><A HREF="minfo.5.html">minfo(5)</A></STRONG>, <STRONG><A HREF="ttys.5.html">ttys(5)</A></STRONG>, <STRONG><A HREF="environ.7.html">environ(7)</A></STRONG>
+
+- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20110404).
++ This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20130309).
+
+
+
+Index: doc/html/ncurses-intro.html
+Prereq: 1.44
+--- ncurses-5.9/doc/html/ncurses-intro.html 2010-12-04 16:46:22.000000000 +0000
++++ ncurses-5.9-20130504/doc/html/ncurses-intro.html 2012-04-28 21:39:17.000000000 +0000
+@@ -1,8 +1,8 @@
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+ <!--
+- $Id: ncurses-intro.html,v 1.44 2010/12/04 16:46:22 tom Exp $
++ $Id: ncurses-intro.html,v 1.45 2012/04/28 21:39:17 Paul.Waring Exp $
+ ****************************************************************************
+- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -431,6 +431,7 @@
+ Here is a sample program to motivate the discussion:
+
+ <PRE>
++#include &lt;stdlib.h&gt;
+ #include &lt;curses.h&gt;
+ #include &lt;signal.h&gt;
+
+Index: doc/ncurses-intro.doc
+--- ncurses-5.9/doc/ncurses-intro.doc 2007-03-03 23:45:04.000000000 +0000
++++ ncurses-5.9-20130504/doc/ncurses-intro.doc 2012-04-28 22:48:33.000000000 +0000
+@@ -333,6 +333,7 @@
+
+ Here is a sample program to motivate the discussion:
+ #include <curses.h>
++#include <curses.h>
+ #include <signal.h>
+
+ static void finish(int sig);
+Index: form/Makefile.in
+Prereq: 1.53
+--- ncurses-5.9/form/Makefile.in 2010-11-27 21:45:27.000000000 +0000
++++ ncurses-5.9-20130504/form/Makefile.in 2012-09-29 19:37:34.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.53 2010/11/27 21:45:27 tom Exp $
++# $Id: Makefile.in,v 1.55 2012/09/29 19:37:34 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -102,6 +102,7 @@
+ SHLIB_DIRS = -L../lib
+ SHLIB_LIST = $(SHLIB_DIRS) -lncurses@LIB_SUFFIX@ @SHLIB_LIST@
+
++RPATH_LIST = @RPATH_LIST@
+ MK_SHARED_LIB = @MK_SHARED_LIB@
+
+ NCURSES_MAJOR = @NCURSES_MAJOR@
+@@ -111,7 +112,7 @@
+
+ RANLIB = @LIB_PREP@
+
+-LIBRARIES = @LIBS_TO_MAKE@
++LIBRARIES = @Libs_To_Make@
+
+ LINT = @LINT@
+ LINT_OPTS = @LINT_OPTS@
+Index: form/fld_arg.c
+Prereq: 1.12
+--- ncurses-5.9/form/fld_arg.c 2010-01-23 21:14:35.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_arg.c 2012-06-10 00:27:49.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_arg.c,v 1.12 2010/01/23 21:14:35 tom Exp $")
++MODULE_ID("$Id: fld_arg.c,v 1.13 2012/06/10 00:27:49 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -71,7 +71,7 @@
+
+ if (typ != 0 && make_arg != (void *)0)
+ {
+- typ->status |= _HAS_ARGS;
++ SetStatus(typ, _HAS_ARGS);
+ typ->makearg = make_arg;
+ typ->copyarg = copy_arg;
+ typ->freearg = free_arg;
+Index: form/fld_def.c
+Prereq: 1.38
+--- ncurses-5.9/form/fld_def.c 2010-01-23 21:14:35.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_def.c 2012-03-11 00:37:16.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_def.c,v 1.38 2010/01/23 21:14:35 tom Exp $")
++MODULE_ID("$Id: fld_def.c,v 1.40 2012/03/11 00:37:16 tom Exp $")
+
+ /* this can't be readonly */
+ static FIELD default_field =
+@@ -65,8 +65,7 @@
+ NCURSES_FIELD_EXTENSION
+ };
+
+-NCURSES_EXPORT_VAR(FIELD *)
+-_nc_Default_Field = &default_field;
++NCURSES_EXPORT_VAR(FIELD *) _nc_Default_Field = &default_field;
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -186,10 +185,12 @@
+ {
+ if ((typ->status & _LINKED_TYPE) != 0)
+ {
+- assert(argp != 0);
+- _nc_Free_Argument(typ->left, argp->left);
+- _nc_Free_Argument(typ->right, argp->right);
+- free(argp);
++ if (argp != 0)
++ {
++ _nc_Free_Argument(typ->left, argp->left);
++ _nc_Free_Argument(typ->right, argp->right);
++ free(argp);
++ }
+ }
+ else
+ {
+@@ -293,14 +294,14 @@
+ {
+ T((T_CREATE("field %p"), (void *)New_Field));
+ *New_Field = default_field;
+- New_Field->rows = rows;
+- New_Field->cols = cols;
++ New_Field->rows = (short) rows;
++ New_Field->cols = (short) cols;
+ New_Field->drows = rows + nrow;
+ New_Field->dcols = cols;
+- New_Field->frow = frow;
+- New_Field->fcol = fcol;
++ New_Field->frow = (short) frow;
++ New_Field->fcol = (short) fcol;
+ New_Field->nrow = nrow;
+- New_Field->nbuf = nbuf;
++ New_Field->nbuf = (short) nbuf;
+ New_Field->link = New_Field;
+
+ #if USE_WIDEC_SUPPORT
+Index: form/fld_dup.c
+Prereq: 1.13
+--- ncurses-5.9/form/fld_dup.c 2010-01-23 21:14:35.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_dup.c 2012-03-11 00:37:16.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_dup.c,v 1.13 2010/01/23 21:14:35 tom Exp $")
++MODULE_ID("$Id: fld_dup.c,v 1.14 2012/03/11 00:37:16 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -60,8 +60,8 @@
+ {
+ T((T_CREATE("field %p"), (void *)New_Field));
+ *New_Field = *_nc_Default_Field;
+- New_Field->frow = frow;
+- New_Field->fcol = fcol;
++ New_Field->frow = (short) frow;
++ New_Field->fcol = (short) fcol;
+ New_Field->link = New_Field;
+ New_Field->rows = field->rows;
+ New_Field->cols = field->cols;
+Index: form/fld_ftchoice.c
+Prereq: 1.12
+--- ncurses-5.9/form/fld_ftchoice.c 2010-01-23 21:14:35.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_ftchoice.c 2012-06-10 00:27:49.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_ftchoice.c,v 1.12 2010/01/23 21:14:35 tom Exp $")
++MODULE_ID("$Id: fld_ftchoice.c,v 1.13 2012/06/10 00:27:49 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -56,7 +56,7 @@
+ if (!typ || !next_choice || !prev_choice)
+ RETURN(E_BAD_ARGUMENT);
+
+- typ->status |= _HAS_CHOICE;
++ SetStatus(typ, _HAS_CHOICE);
+ #if NCURSES_INTEROP_FUNCS
+ typ->enum_next.onext = next_choice;
+ typ->enum_prev.oprev = prev_choice;
+Index: form/fld_ftlink.c
+Prereq: 1.14
+--- ncurses-5.9/form/fld_ftlink.c 2010-01-23 21:14:35.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_ftlink.c 2012-06-10 00:27:49.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_ftlink.c,v 1.14 2010/01/23 21:14:35 tom Exp $")
++MODULE_ID("$Id: fld_ftlink.c,v 1.15 2012/06/10 00:27:49 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -62,11 +62,11 @@
+ {
+ T((T_CREATE("fieldtype %p"), (void *)nftyp));
+ *nftyp = *_nc_Default_FieldType;
+- nftyp->status |= _LINKED_TYPE;
++ SetStatus(nftyp, _LINKED_TYPE);
+ if ((type1->status & _HAS_ARGS) || (type2->status & _HAS_ARGS))
+- nftyp->status |= _HAS_ARGS;
++ SetStatus(nftyp, _HAS_ARGS);
+ if ((type1->status & _HAS_CHOICE) || (type2->status & _HAS_CHOICE))
+- nftyp->status |= _HAS_CHOICE;
++ SetStatus(nftyp, _HAS_CHOICE);
+ nftyp->left = type1;
+ nftyp->right = type2;
+ type1->ref++;
+Index: form/fld_just.c
+Prereq: 1.12
+--- ncurses-5.9/form/fld_just.c 2010-01-23 21:14:35.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_just.c 2012-03-11 00:37:16.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_just.c,v 1.12 2010/01/23 21:14:35 tom Exp $")
++MODULE_ID("$Id: fld_just.c,v 1.13 2012/03/11 00:37:16 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -59,7 +59,7 @@
+ Normalize_Field(field);
+ if (field->just != just)
+ {
+- field->just = just;
++ field->just = (short) just;
+ res = _nc_Synchronize_Attributes(field);
+ }
+ else
+Index: form/fld_link.c
+Prereq: 1.12
+--- ncurses-5.9/form/fld_link.c 2010-01-23 21:14:35.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_link.c 2012-03-11 00:37:16.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_link.c,v 1.12 2010/01/23 21:14:35 tom Exp $")
++MODULE_ID("$Id: fld_link.c,v 1.13 2012/03/11 00:37:16 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -61,8 +61,8 @@
+ {
+ T((T_CREATE("field %p"), (void *)New_Field));
+ *New_Field = *_nc_Default_Field;
+- New_Field->frow = frow;
+- New_Field->fcol = fcol;
++ New_Field->frow = (short) frow;
++ New_Field->fcol = (short) fcol;
+
+ New_Field->link = field->link;
+ field->link = New_Field;
+Index: form/fld_max.c
+Prereq: 1.10
+--- ncurses-5.9/form/fld_max.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_max.c 2012-06-10 00:21:24.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_max.c,v 1.10 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: fld_max.c,v 1.12 2012/06/10 00:21:24 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -62,13 +62,13 @@
+ RETURN(E_BAD_ARGUMENT);
+ }
+ field->maxgrow = maxgrow;
+- field->status &= ~_MAY_GROW;
++ ClrStatus(field, _MAY_GROW);
+ if (!(field->opts & O_STATIC))
+ {
+ if ((maxgrow == 0) ||
+ (single_line_field && (field->dcols < maxgrow)) ||
+ (!single_line_field && (field->drows < maxgrow)))
+- field->status |= _MAY_GROW;
++ SetStatus(field, _MAY_GROW);
+ }
+ }
+ RETURN(E_OK);
+Index: form/fld_move.c
+Prereq: 1.10
+--- ncurses-5.9/form/fld_move.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_move.c 2012-03-11 00:37:16.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_move.c,v 1.10 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: fld_move.c,v 1.11 2012/03/11 00:37:16 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -56,8 +56,8 @@
+ if (field->form)
+ RETURN(E_CONNECTED);
+
+- field->frow = frow;
+- field->fcol = fcol;
++ field->frow = (short) frow;
++ field->fcol = (short) fcol;
+ RETURN(E_OK);
+ }
+
+Index: form/fld_page.c
+Prereq: 1.10
+--- ncurses-5.9/form/fld_page.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_page.c 2012-06-10 00:12:47.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_page.c,v 1.10 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: fld_page.c,v 1.12 2012/06/10 00:12:47 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -54,9 +54,9 @@
+ RETURN(E_CONNECTED);
+
+ if (new_page_flag)
+- field->status |= _NEWPAGE;
++ SetStatus(field, _NEWPAGE);
+ else
+- field->status &= ~_NEWPAGE;
++ ClrStatus(field, _NEWPAGE);
+
+ RETURN(E_OK);
+ }
+Index: form/fld_stat.c
+Prereq: 1.12
+--- ncurses-5.9/form/fld_stat.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/fld_stat.c 2012-06-10 00:13:09.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fld_stat.c,v 1.12 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: fld_stat.c,v 1.14 2012/06/10 00:13:09 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -51,9 +51,9 @@
+ Normalize_Field(field);
+
+ if (status)
+- field->status |= _CHANGED;
++ SetStatus(field, _CHANGED);
+ else
+- field->status &= ~_CHANGED;
++ ClrStatus(field, _CHANGED);
+
+ RETURN(E_OK);
+ }
+Index: form/form.priv.h
+Prereq: 0.32
+--- ncurses-5.9/form/form.priv.h 2009-11-07 21:26:43.000000000 +0000
++++ ncurses-5.9-20130504/form/form.priv.h 2012-03-11 00:37:46.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -30,11 +30,11 @@
+ * Author: Juergen Pfeifer, 1995,1997 *
+ ****************************************************************************/
+
+-/* $Id: form.priv.h,v 0.32 2009/11/07 21:26:43 tom Exp $ */
++/* $Id: form.priv.h,v 0.33 2012/03/11 00:37:46 tom Exp $ */
+
+ #ifndef FORM_PRIV_H
+ #define FORM_PRIV_H 1
+-
++/* *INDENT-OFF*/
+ #include "curses.priv.h"
+ #include "mf_common.h"
+
+@@ -119,7 +119,7 @@
+
+ /* Calculate the total size of all buffers for this field */
+ #define Total_Buffer_Size(field) \
+- ( (Buffer_Length(field) + 1) * (1+(field)->nbuf) * sizeof(FIELD_CELL) )
++ ( (size_t)(Buffer_Length(field) + 1) * (size_t)(1+(field)->nbuf) * sizeof(FIELD_CELL) )
+
+ /* Logic to determine whether or not a field is single lined */
+ #define Single_Line_Field(field) \
+@@ -293,5 +293,6 @@
+ result = ((*buffer || (l < width)) ? FALSE : TRUE); \
+ }
+ #endif
++/* *INDENT-ON*/
+
+ #endif /* FORM_PRIV_H */
+Index: form/frm_def.c
+Prereq: 1.25
+--- ncurses-5.9/form/frm_def.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/frm_def.c 2012-03-11 00:37:16.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_def.c,v 1.25 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: frm_def.c,v 1.26 2012/03/11 00:37:16 tom Exp $")
+
+ /* this can't be readonly */
+ static FORM default_form =
+@@ -199,14 +199,14 @@
+ for (j = 0; j < field_cnt; j++)
+ {
+ if (j == 0)
+- pg->pmin = j;
++ pg->pmin = (short) j;
+ else
+ {
+ if (fields[j]->status & _NEWPAGE)
+ {
+- pg->pmax = j - 1;
++ pg->pmax = (short) (j - 1);
+ pg++;
+- pg->pmin = j;
++ pg->pmin = (short) j;
+ }
+ }
+
+@@ -214,14 +214,14 @@
+ maximum_col_in_field = fields[j]->fcol + fields[j]->cols;
+
+ if (form->rows < maximum_row_in_field)
+- form->rows = maximum_row_in_field;
++ form->rows = (short) maximum_row_in_field;
+ if (form->cols < maximum_col_in_field)
+- form->cols = maximum_col_in_field;
++ form->cols = (short) maximum_col_in_field;
+ }
+
+- pg->pmax = field_cnt - 1;
+- form->maxfield = field_cnt;
+- form->maxpage = page_nr;
++ pg->pmax = (short) (field_cnt - 1);
++ form->maxfield = (short) field_cnt;
++ form->maxpage = (short) page_nr;
+
+ /* Sort fields on form pages */
+ for (page_nr = 0; page_nr < form->maxpage; page_nr++)
+@@ -230,8 +230,8 @@
+
+ for (j = form->page[page_nr].pmin; j <= form->page[page_nr].pmax; j++)
+ {
+- fields[j]->index = j;
+- fields[j]->page = page_nr;
++ fields[j]->index = (short) j;
++ fields[j]->page = (short) page_nr;
+ fld = Insert_Field_By_Position(fields[j], fld);
+ }
+ if (fld)
+Index: form/frm_driver.c
+Prereq: 1.98
+--- ncurses-5.9/form/frm_driver.c 2010-05-01 21:11:43.000000000 +0000
++++ ncurses-5.9-20130504/form/frm_driver.c 2013-03-09 22:48:47.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_driver.c,v 1.98 2010/05/01 21:11:43 tom Exp $")
++MODULE_ID("$Id: frm_driver.c,v 1.103 2013/03/09 22:48:47 tom Exp $")
+
+ /*----------------------------------------------------------------------------
+ This is the core module of the form library. It contains the majority
+@@ -172,7 +172,7 @@
+ instead of a derived window because it contains invisible parts.
+ This is true for non-public fields and for scrollable fields. */
+ #define Has_Invisible_Parts(field) \
+- (!((field)->opts & O_PUBLIC) || \
++ (!((unsigned)(field)->opts & O_PUBLIC) || \
+ Is_Scroll_Field(field))
+
+ /* Logic to decide whether or not a field needs justification */
+@@ -180,7 +180,7 @@
+ (((field)->just != NO_JUSTIFICATION) && \
+ (Single_Line_Field(field)) && \
+ (((field)->dcols == (field)->cols) && \
+- ((field)->opts & O_STATIC)) )
++ ((unsigned)(field)->opts & O_STATIC)))
+
+ /* Logic to determine whether or not a dynamic field may still grow */
+ #define Growable(field) ((field)->status & _MAY_GROW)
+@@ -188,13 +188,13 @@
+ /* Macro to set the attributes for a fields window */
+ #define Set_Field_Window_Attributes(field,win) \
+ ( wbkgdset((win),(chtype)((field)->pad | (field)->back)), \
+- (void) wattrset((win),(field)->fore) )
++ (void) wattrset((win), (int)(field)->fore) )
+
+ /* Logic to decide whether or not a field really appears on the form */
+ #define Field_Really_Appears(field) \
+ ((field->form) &&\
+ (field->form->status & _POSTED) &&\
+- (field->opts & O_VISIBLE) &&\
++ ((unsigned)field->opts & O_VISIBLE) &&\
+ (field->page == field->form->curpage))
+
+ /* Logic to determine whether or not we are on the first position in the
+@@ -601,8 +601,8 @@
+ {
+ if (form->status & _WINDOW_MODIFIED)
+ {
+- form->status &= ~_WINDOW_MODIFIED;
+- form->status |= _FCHECK_REQUIRED;
++ ClrStatus(form, _WINDOW_MODIFIED);
++ SetStatus(form, _FCHECK_REQUIRED);
+ Window_To_Buffer(form, form->current);
+ wmove(form->w, form->currow, form->curcol);
+ }
+@@ -653,7 +653,7 @@
+ growth = Minimum(field->maxgrow - field->dcols, growth);
+ field->dcols += growth;
+ if (field->dcols == field->maxgrow)
+- field->status &= ~_MAY_GROW;
++ ClrStatus(field, _MAY_GROW);
+ }
+ else
+ {
+@@ -662,7 +662,7 @@
+ growth = Minimum(field->maxgrow - field->drows, growth);
+ field->drows += growth;
+ if (field->drows == field->maxgrow)
+- field->status &= ~_MAY_GROW;
++ ClrStatus(field, _MAY_GROW);
+ }
+ /* drows, dcols changed, so we get really the new buffer length */
+ new_buflen = Buffer_Length(field);
+@@ -674,7 +674,7 @@
+ field->drows = old_drows;
+ if ((single_line_field && (field->dcols != field->maxgrow)) ||
+ (!single_line_field && (field->drows != field->maxgrow)))
+- field->status |= _MAY_GROW;
++ SetStatus(field, _MAY_GROW);
+ }
+ else
+ {
+@@ -753,7 +753,7 @@
+ (field->dcols != field->maxgrow)) ||
+ (!single_line_field &&
+ (field->drows != field->maxgrow)))
+- field->status |= _MAY_GROW;
++ SetStatus(field, _MAY_GROW);
+ free(newbuf);
+ }
+ }
+@@ -860,7 +860,7 @@
+ field = form->current;
+ formwin = Get_Form_Window(form);
+
+- if (field->opts & O_PUBLIC)
++ if ((unsigned)field->opts & O_PUBLIC)
+ {
+ if (Is_Scroll_Field(field))
+ {
+@@ -897,19 +897,19 @@
+ if (form->currow < form->toprow)
+ {
+ form->toprow = form->currow;
+- field->status |= _NEWTOP;
++ SetStatus(field, _NEWTOP);
+ }
+ if (form->currow >= row_after_bottom)
+ {
+ form->toprow = form->currow - field->rows + 1;
+- field->status |= _NEWTOP;
++ SetStatus(field, _NEWTOP);
+ }
+ if (field->status & _NEWTOP)
+ {
+ /* means we have to copy whole range */
+ first_modified_row = form->toprow;
+ first_unmodified_row = first_modified_row + field->rows;
+- field->status &= ~_NEWTOP;
++ ClrStatus(field, _NEWTOP);
+ }
+ else
+ {
+@@ -1111,27 +1111,27 @@
+ return E_SYSTEM_ERROR;
+ else
+ {
+- if (field->opts & O_VISIBLE)
++ if ((unsigned)field->opts & O_VISIBLE)
+ {
+ Set_Field_Window_Attributes(field, win);
+ }
+ else
+ {
+- (void)wattrset(win, WINDOW_ATTRS(fwin));
++ (void)wattrset(win, (int)WINDOW_ATTRS(fwin));
+ }
+ werase(win);
+ }
+
+ if (!bEraseFlag)
+ {
+- if (field->opts & O_PUBLIC)
++ if ((unsigned)field->opts & O_PUBLIC)
+ {
+ if (Justification_Allowed(field))
+ Perform_Justification(field, win);
+ else
+ Buffer_To_Window(field, win);
+ }
+- field->status &= ~_NEWTOP;
++ ClrStatus(field, _NEWTOP);
+ }
+ wsyncup(win);
+ delwin(win);
+@@ -1170,18 +1170,18 @@
+ form->currow = form->curcol = form->toprow = form->begincol = 0;
+ werase(form->w);
+
+- if ((field->opts & O_PUBLIC) && Justification_Allowed(field))
++ if (((unsigned)field->opts & O_PUBLIC) && Justification_Allowed(field))
+ Undo_Justification(field, form->w);
+ else
+ Buffer_To_Window(field, form->w);
+
+- field->status |= _NEWTOP;
++ SetStatus(field, _NEWTOP);
+ res = _nc_Refresh_Current_Field(form);
+ }
+ else
+ res = Display_Field(field);
+ }
+- field->status |= _CHANGED;
++ SetStatus(field, _CHANGED);
+ return (res);
+ }
+
+@@ -1211,7 +1211,7 @@
+ return (E_SYSTEM_ERROR);
+
+ for (linked_field = field->link;
+- linked_field != field;
++ (linked_field != field) && (linked_field != 0);
+ linked_field = linked_field->link)
+ {
+ if (((syncres = Synchronize_Field(linked_field)) != E_OK) &&
+@@ -1256,7 +1256,7 @@
+ werase(form->w);
+ wmove(form->w, form->currow, form->curcol);
+
+- if (field->opts & O_PUBLIC)
++ if ((unsigned)field->opts & O_PUBLIC)
+ {
+ if (Justification_Allowed(field))
+ Undo_Justification(field, form->w);
+@@ -1272,7 +1272,7 @@
+ field->rows - 1, field->cols - 1, 0);
+ wsyncup(formwin);
+ Buffer_To_Window(field, form->w);
+- field->status |= _NEWTOP; /* fake refresh to paint all */
++ SetStatus(field, _NEWTOP); /* fake refresh to paint all */
+ _nc_Refresh_Current_Field(form);
+ }
+ }
+@@ -1326,34 +1326,34 @@
+ field->opts = oldopts;
+ returnCode(E_CURRENT);
+ }
+- if ((form->curpage == field->page))
++ if (form->curpage == field->page)
+ {
+- if (changed_opts & O_VISIBLE)
++ if ((unsigned)changed_opts & O_VISIBLE)
+ {
+- if (newopts & O_VISIBLE)
++ if ((unsigned)newopts & O_VISIBLE)
+ res = Display_Field(field);
+ else
+ res = Erase_Field(field);
+ }
+ else
+ {
+- if ((changed_opts & O_PUBLIC) &&
+- (newopts & O_VISIBLE))
++ if (((unsigned)changed_opts & O_PUBLIC) &&
++ ((unsigned)newopts & O_VISIBLE))
+ res = Display_Field(field);
+ }
+ }
+ }
+ }
+
+- if (changed_opts & O_STATIC)
++ if ((unsigned)changed_opts & O_STATIC)
+ {
+ bool single_line_field = Single_Line_Field(field);
+ int res2 = E_OK;
+
+- if (newopts & O_STATIC)
++ if ((unsigned)newopts & O_STATIC)
+ {
+ /* the field becomes now static */
+- field->status &= ~_MAY_GROW;
++ ClrStatus(field, _MAY_GROW);
+ /* if actually we have no hidden columns, justification may
+ occur again */
+ if (single_line_field &&
+@@ -1371,7 +1371,7 @@
+ (single_line_field && (field->dcols < field->maxgrow)) ||
+ (!single_line_field && (field->drows < field->maxgrow)))
+ {
+- field->status |= _MAY_GROW;
++ SetStatus(field, _MAY_GROW);
+ /* a field with justification now changes its behavior,
+ so we must redisplay it */
+ if (single_line_field &&
+@@ -1424,18 +1424,18 @@
+ !(form->status & _POSTED))
+ {
+ if ((form->w) &&
+- (field->opts & O_VISIBLE) &&
++ ((unsigned)field->opts & O_VISIBLE) &&
+ (field->form->curpage == field->page))
+ {
+ _nc_Refresh_Current_Field(form);
+- if (field->opts & O_PUBLIC)
++ if ((unsigned)field->opts & O_PUBLIC)
+ {
+ if (field->drows > field->rows)
+ {
+ if (form->toprow == 0)
+- field->status &= ~_NEWTOP;
++ ClrStatus(field, _NEWTOP);
+ else
+- field->status |= _NEWTOP;
++ SetStatus(field, _NEWTOP);
+ }
+ else
+ {
+@@ -1469,7 +1469,7 @@
+ delwin(form->w);
+ form->w = new_window;
+
+- form->status &= ~_WINDOW_MODIFIED;
++ ClrStatus(form, _WINDOW_MODIFIED);
+ Set_Field_Window_Attributes(field, form->w);
+
+ if (Has_Invisible_Parts(field))
+@@ -1998,7 +1998,7 @@
+ {
+ res = fct(form);
+ if (res == E_OK)
+- form->current->status |= _NEWTOP;
++ SetStatus(form, _NEWTOP);
+ }
+ return (res);
+ }
+@@ -2430,7 +2430,7 @@
+ int result = E_REQUEST_DENIED;
+ bool Last_Row = ((field->drows - 1) == form->currow);
+
+- if ((field->opts & O_WRAP) && /* wrapping wanted */
++ if (((unsigned)field->opts & O_WRAP) && /* wrapping wanted */
+ (!Single_Line_Field(field)) && /* must be multi-line */
+ (There_Is_No_Room_For_A_Char_In_Line(form)) && /* line is full */
+ (!Last_Row || Growable(field))) /* there are more lines */
+@@ -2513,7 +2513,7 @@
+ editable fields.
+ */
+ if ((fct == FE_Delete_Previous) &&
+- (form->opts & O_BS_OVERLOAD) &&
++ ((unsigned)form->opts & O_BS_OVERLOAD) &&
+ First_Position_In_Current_Field(form))
+ {
+ res = Inter_Field_Navigation(FN_Previous_Field, form);
+@@ -2522,7 +2522,7 @@
+ {
+ if (fct == FE_New_Line)
+ {
+- if ((form->opts & O_NL_OVERLOAD) &&
++ if (((unsigned)form->opts & O_NL_OVERLOAD) &&
+ First_Position_In_Current_Field(form))
+ {
+ res = Inter_Field_Navigation(FN_Next_Field, form);
+@@ -2534,11 +2534,11 @@
+ else
+ {
+ /* From now on, everything must be editable */
+- if (form->current->opts & O_EDIT)
++ if ((unsigned)form->current->opts & O_EDIT)
+ {
+ res = fct(form);
+ if (res == E_OK)
+- form->status |= _WINDOW_MODIFIED;
++ SetStatus(form, _WINDOW_MODIFIED);
+ }
+ }
+ }
+@@ -2571,7 +2571,7 @@
+ if (Last_Row &&
+ (!(Growable(field) && !Single_Line_Field(field))))
+ {
+- if (!(form->opts & O_NL_OVERLOAD))
++ if (!((unsigned)form->opts & O_NL_OVERLOAD))
+ returnCode(E_REQUEST_DENIED);
+ wmove(form->w, form->currow, form->curcol);
+ wclrtoeol(form->w);
+@@ -2579,7 +2579,7 @@
+ handled in the generic routine. The reason is,
+ that FN_Next_Field may fail, but the form is
+ definitively changed */
+- form->status |= _WINDOW_MODIFIED;
++ SetStatus(form, _WINDOW_MODIFIED);
+ returnCode(Inter_Field_Navigation(FN_Next_Field, form));
+ }
+ else
+@@ -2595,7 +2595,7 @@
+ wclrtoeol(form->w);
+ form->currow++;
+ form->curcol = 0;
+- form->status |= _WINDOW_MODIFIED;
++ SetStatus(form, _WINDOW_MODIFIED);
+ returnCode(E_OK);
+ }
+ }
+@@ -2605,7 +2605,7 @@
+ if (Last_Row &&
+ !(Growable(field) && !Single_Line_Field(field)))
+ {
+- if (!(form->opts & O_NL_OVERLOAD))
++ if (!((unsigned)form->opts & O_NL_OVERLOAD))
+ returnCode(E_REQUEST_DENIED);
+ returnCode(Inter_Field_Navigation(FN_Next_Field, form));
+ }
+@@ -2627,7 +2627,7 @@
+ wmove(form->w, form->currow, form->curcol);
+ winsertln(form->w);
+ myADDNSTR(form->w, bp, (int)(t - bp));
+- form->status |= _WINDOW_MODIFIED;
++ SetStatus(form, _WINDOW_MODIFIED);
+ returnCode(E_OK);
+ }
+ }
+@@ -2926,7 +2926,7 @@
+ EM_Overlay_Mode(FORM *form)
+ {
+ T((T_CALLED("EM_Overlay_Mode(%p)"), (void *)form));
+- form->status |= _OVLMODE;
++ SetStatus(form, _OVLMODE);
+ returnCode(E_OK);
+ }
+
+@@ -2942,7 +2942,7 @@
+ EM_Insert_Mode(FORM *form)
+ {
+ T((T_CALLED("EM_Insert_Mode(%p)"), (void *)form));
+- form->status &= ~_OVLMODE;
++ ClrStatus(form, _OVLMODE);
+ returnCode(E_OK);
+ }
+
+@@ -3111,7 +3111,7 @@
+ {
+ if (typ)
+ {
+- if (field->opts & O_NULLOK)
++ if ((unsigned)field->opts & O_NULLOK)
+ {
+ FIELD_CELL *bp = field->buf;
+
+@@ -3168,12 +3168,12 @@
+
+ Synchronize_Buffer(form);
+ if ((form->status & _FCHECK_REQUIRED) ||
+- (!(field->opts & O_PASSOK)))
++ (!((unsigned)field->opts & O_PASSOK)))
+ {
+ if (!Check_Field(form, field->type, field, (TypeArgument *)(field->arg)))
+ return FALSE;
+- form->status &= ~_FCHECK_REQUIRED;
+- field->status |= _CHANGED;
++ ClrStatus(form, _FCHECK_REQUIRED);
++ SetStatus(field, _CHANGED);
+ Synchronize_Linked_Fields(field);
+ }
+ return TRUE;
+@@ -3273,14 +3273,15 @@
+ do
+ {
+ field = (field == last_on_page) ? first : field + 1;
+- if (((*field)->opts & O_VISIBLE))
++ if (((unsigned)(*field)->opts & O_VISIBLE))
+ break;
+ }
+ while (proposed != (*field));
+
+ proposed = *field;
+
+- if ((proposed == *last_on_page) && !(proposed->opts & O_VISIBLE))
++ if ((proposed == *last_on_page) &&
++ !((unsigned)proposed->opts & O_VISIBLE))
+ {
+ /* This means, there is also no visible field on the page.
+ So we propose the first one and hope the very best...
+@@ -3816,11 +3817,11 @@
+ FIELD *last_field, *field_on_page;
+
+ werase(Get_Form_Window(form));
+- form->curpage = page;
++ form->curpage = (short)page;
+ last_field = field_on_page = form->field[form->page[page].smin];
+ do
+ {
+- if (field_on_page->opts & O_VISIBLE)
++ if ((unsigned)field_on_page->opts & O_VISIBLE)
+ if ((res = Display_Field(field_on_page)) != E_OK)
+ return (res);
+ field_on_page = field_on_page->snext;
+@@ -3999,13 +4000,13 @@
+ int result = E_REQUEST_DENIED;
+
+ T((T_CALLED("Data_Entry(%p,%s)"), (void *)form, _tracechtype((chtype)c)));
+- if ((field->opts & O_EDIT)
++ if (((unsigned)field->opts & O_EDIT)
+ #if FIX_FORM_INACTIVE_BUG
+- && (field->opts & O_ACTIVE)
++ && ((unsigned)field->opts & O_ACTIVE)
+ #endif
+ )
+ {
+- if ((field->opts & O_BLANK) &&
++ if (((unsigned)field->opts & O_BLANK) &&
+ First_Position_In_Current_Field(form) &&
+ !(form->status & _FCHECK_REQUIRED) &&
+ !(form->status & _WINDOW_MODIFIED))
+@@ -4035,8 +4036,8 @@
+ bool End_Of_Field = (((field->drows - 1) == form->currow) &&
+ ((field->dcols - 1) == form->curcol));
+
+- form->status |= _WINDOW_MODIFIED;
+- if (End_Of_Field && !Growable(field) && (field->opts & O_AUTOSKIP))
++ SetStatus(form, _WINDOW_MODIFIED);
++ if (End_Of_Field && !Growable(field) && ((unsigned)field->opts & O_AUTOSKIP))
+ result = Inter_Field_Navigation(FN_Next_Field, form);
+ else
+ {
+@@ -4228,7 +4229,10 @@
+
+ if ((c >= MIN_FORM_COMMAND && c <= MAX_FORM_COMMAND) &&
+ ((bindings[c - MIN_FORM_COMMAND].keycode & Key_Mask) == c))
+- BI = &(bindings[c - MIN_FORM_COMMAND]);
++ {
++ TR(TRACE_CALLS, ("form_request %s", form_request_name(c)));
++ BI = &(bindings[c - MIN_FORM_COMMAND]);
++ }
+
+ if (BI)
+ {
+@@ -4246,7 +4250,7 @@
+ NULL /* Choice Request is generic */
+ };
+ size_t nMethods = (sizeof(Generic_Methods) / sizeof(Generic_Methods[0]));
+- size_t method = (BI->keycode >> ID_Shft) & 0xffff; /* see ID_Mask */
++ size_t method = (size_t) ((BI->keycode >> ID_Shft) & 0xffff); /* see ID_Mask */
+
+ if ((method >= nMethods) || !(BI->cmd))
+ res = E_SYSTEM_ERROR;
+@@ -4255,9 +4259,13 @@
+ Generic_Method fct = Generic_Methods[method];
+
+ if (fct)
+- res = fct(BI->cmd, form);
++ {
++ res = fct(BI->cmd, form);
++ }
+ else
+- res = (BI->cmd) (form);
++ {
++ res = (BI->cmd) (form);
++ }
+ }
+ }
+ #ifdef NCURSES_MOUSE_VERSION
+@@ -4401,14 +4409,14 @@
+ if (!field || !value || ((buffer < 0) || (buffer > field->nbuf)))
+ RETURN(E_BAD_ARGUMENT);
+
+- len = Buffer_Length(field);
++ len = (unsigned)Buffer_Length(field);
+
+ if (Growable(field))
+ {
+ /* for a growable field we must assume zero terminated strings, because
+ somehow we have to detect the length of what should be copied.
+ */
+- unsigned int vlen = strlen(value);
++ unsigned vlen = (unsigned)strlen(value);
+
+ if (vlen > len)
+ {
+@@ -4438,7 +4446,7 @@
+ delwin(field->working);
+ field->working = newpad(1, Buffer_Length(field) + 1);
+ }
+- len = Buffer_Length(field);
++ len = (unsigned)Buffer_Length(field);
+ wclear(field->working);
+ (void)mvwaddstr(field->working, 0, 0, value);
+
+@@ -4450,8 +4458,8 @@
+ {
+ for (i = 0; i < (unsigned)field->drows; ++i)
+ {
+- (void)mvwin_wchnstr(field->working, 0, i * field->dcols,
+- widevalue + (i * field->dcols),
++ (void)mvwin_wchnstr(field->working, 0, (int)i * field->dcols,
++ widevalue + ((int)i * field->dcols),
+ field->dcols);
+ }
+ for (i = 0; i < len; ++i)
+@@ -4512,7 +4520,7 @@
+ {
+ #if USE_WIDEC_SUPPORT
+ FIELD_CELL *data = Address_Of_Nth_Buffer(field, buffer);
+- unsigned need = 0;
++ size_t need = 0;
+ int size = Buffer_Length(field);
+ int n;
+
+@@ -4613,7 +4621,7 @@
+ {
+ result[need] = wch;
+ }
+- passed += status;
++ passed += (size_t) status;
+ ++need;
+ }
+ else
+@@ -4633,7 +4641,7 @@
+ break;
+ result = typeCalloc(wchar_t, need);
+
+- *lengthp = need;
++ *lengthp = (int)need;
+ if (result == 0)
+ break;
+ }
+Index: form/frm_hook.c
+Prereq: 1.15
+--- ncurses-5.9/form/frm_hook.c 2010-01-23 21:12:08.000000000 +0000
++++ ncurses-5.9-20130504/form/frm_hook.c 2012-03-11 00:37:16.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,13 +32,13 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_hook.c,v 1.15 2010/01/23 21:12:08 tom Exp $")
++MODULE_ID("$Id: frm_hook.c,v 1.16 2012/03/11 00:37:16 tom Exp $")
+
+ /* "Template" macro to generate function to set application specific hook */
+ #define GEN_HOOK_SET_FUNCTION( typ, name ) \
+ NCURSES_IMPEXP int NCURSES_API set_ ## typ ## _ ## name (FORM *form, Form_Hook func)\
+ {\
+- T((T_CALLED("set_" #typ"_"#name"(%p,%p)"), form, func));\
++ T((T_CALLED("set_" #typ"_"#name"(%p,%p)"), (void *) form, func));\
+ (Normalize_Form( form ) -> typ ## name) = func ;\
+ RETURN(E_OK);\
+ }
+Index: form/frm_opts.c
+Prereq: 1.15
+--- ncurses-5.9/form/frm_opts.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/frm_opts.c 2012-06-09 20:29:33.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_opts.c,v 1.15 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: frm_opts.c,v 1.16 2012/06/09 20:29:33 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -49,7 +49,7 @@
+ {
+ T((T_CALLED("set_form_opts(%p,%d)"), (void *)form, opts));
+
+- opts &= ALL_FORM_OPTS;
++ opts &= (Form_Options) ALL_FORM_OPTS;
+ if (opts & ~ALL_FORM_OPTS)
+ RETURN(E_BAD_ARGUMENT);
+ else
+@@ -89,7 +89,7 @@
+ {
+ T((T_CALLED("form_opts_on(%p,%d)"), (void *)form, opts));
+
+- opts &= ALL_FORM_OPTS;
++ opts &= (Form_Options) ALL_FORM_OPTS;
+ if (opts & ~ALL_FORM_OPTS)
+ RETURN(E_BAD_ARGUMENT);
+ else
+@@ -114,7 +114,7 @@
+ {
+ T((T_CALLED("form_opts_off(%p,%d)"), (void *)form, opts));
+
+- opts &= ALL_FORM_OPTS;
++ opts &= (Form_Options) ALL_FORM_OPTS;
+ if (opts & ~ALL_FORM_OPTS)
+ RETURN(E_BAD_ARGUMENT);
+ else
+Index: form/frm_page.c
+Prereq: 1.11
+--- ncurses-5.9/form/frm_page.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/frm_page.c 2012-06-10 00:28:04.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_page.c,v 1.11 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: frm_page.c,v 1.12 2012/06/10 00:28:04 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -58,7 +58,7 @@
+
+ if (!(form->status & _POSTED))
+ {
+- form->curpage = page;
++ form->curpage = (short)page;
+ form->current = _nc_First_Active_Field(form);
+ }
+ else
+Index: form/frm_post.c
+Prereq: 1.10
+--- ncurses-5.9/form/frm_post.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/frm_post.c 2012-06-10 00:27:49.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_post.c,v 1.10 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: frm_post.c,v 1.11 2012/06/10 00:27:49 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+@@ -77,7 +77,7 @@
+ if ((err = _nc_Set_Form_Page(form, page, form->current)) != E_OK)
+ RETURN(err);
+
+- form->status |= _POSTED;
++ SetStatus(form, _POSTED);
+
+ Call_Hook(form, forminit);
+ Call_Hook(form, fieldinit);
+@@ -117,7 +117,7 @@
+ werase(Get_Form_Window(form));
+ delwin(form->w);
+ form->w = (WINDOW *)0;
+- form->status &= ~_POSTED;
++ ClrStatus(form, _POSTED);
+ RETURN(E_OK);
+ }
+
+Index: form/frm_req_name.c
+Prereq: 1.17
+--- ncurses-5.9/form/frm_req_name.c 2009-10-10 16:17:01.000000000 +0000
++++ ncurses-5.9-20130504/form/frm_req_name.c 2012-07-21 23:17:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_req_name.c,v 1.17 2009/10/10 16:17:01 tom Exp $")
++MODULE_ID("$Id: frm_req_name.c,v 1.18 2012/07/21 23:17:23 tom Exp $")
+
+ static const char *request_names[MAX_FORM_COMMAND - MIN_FORM_COMMAND + 1] =
+ {
+@@ -144,23 +144,26 @@
+ /* because the table is so small, it doesn't really hurt
+ to run sequentially through it.
+ */
+- unsigned int i = 0;
+- char buf[16];
++ size_t i = 0;
++ char buf[16]; /* longest name is 10 chars */
+
+ T((T_CALLED("form_request_by_name(%s)"), _nc_visbuf(str)));
+
+- if (str)
++ if (str != 0 && (i = strlen(str)) != 0)
+ {
+- strncpy(buf, str, sizeof(buf));
+- while ((i < sizeof(buf)) && (buf[i] != '\0'))
++ if (i > sizeof(buf) - 2)
++ i = sizeof(buf) - 2;
++ memcpy(buf, str, i);
++ buf[i] = '\0';
++
++ for (i = 0; buf[i] != '\0'; ++i)
+ {
+ buf[i] = (char)toupper(UChar(buf[i]));
+- i++;
+ }
+
+ for (i = 0; i < A_SIZE; i++)
+ {
+- if (strncmp(request_names[i], buf, sizeof(buf)) == 0)
++ if (strcmp(request_names[i], buf) == 0)
+ returnCode(MIN_FORM_COMMAND + (int)i);
+ }
+ }
+Index: form/fty_generic.c
+Prereq: 1.5
+--- ncurses-5.9/form/fty_generic.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/fty_generic.c 2012-06-10 00:27:49.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2008-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fty_generic.c,v 1.5 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: fty_generic.c,v 1.6 2012/06/10 00:27:49 tom Exp $")
+
+ /*
+ * This is not a full implementation of a field type, but adds some
+@@ -119,7 +119,7 @@
+ if (res)
+ {
+ *res = *_nc_Default_FieldType;
+- res->status |= (_HAS_ARGS | _GENERIC);
++ SetStatus(res, (_HAS_ARGS | _GENERIC));
+ res->fieldcheck.gfcheck = field_check;
+ res->charcheck.gccheck = char_check;
+ res->genericarg = Generic_This_Type;
+Index: form/fty_int.c
+Prereq: 1.25
+--- ncurses-5.9/form/fty_int.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/fty_int.c 2012-02-23 10:02:15.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fty_int.c,v 1.25 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: fty_int.c,v 1.26 2012/02/23 10:02:15 tom Exp $")
+
+ #if USE_WIDEC_SUPPORT
+ #define isDigit(c) (iswdigit((wint_t)(c)) || isdigit(UChar(c)))
+@@ -233,7 +233,8 @@
+ }
+ if (result)
+ {
+- sprintf(buf, "%.*ld", (prec > 0 ? prec : 0), val);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf))
++ "%.*ld", (prec > 0 ? prec : 0), val);
+ set_field_buffer(field, 0, buf);
+ }
+ }
+Index: form/fty_num.c
+Prereq: 1.28
+--- ncurses-5.9/form/fty_num.c 2010-01-23 21:14:36.000000000 +0000
++++ ncurses-5.9-20130504/form/fty_num.c 2012-02-23 10:02:15.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fty_num.c,v 1.28 2010/01/23 21:14:36 tom Exp $")
++MODULE_ID("$Id: fty_num.c,v 1.29 2012/02/23 10:02:15 tom Exp $")
+
+ #if HAVE_LOCALE_H
+ #include <locale.h>
+@@ -271,7 +271,8 @@
+ }
+ if (result)
+ {
+- sprintf(buf, "%.*f", (prec > 0 ? prec : 0), val);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf))
++ "%.*f", (prec > 0 ? prec : 0), val);
+ set_field_buffer(field, 0, buf);
+ }
+ }
+Index: form/fty_regex.c
+Prereq: 1.24
+--- ncurses-5.9/form/fty_regex.c 2010-01-23 21:14:37.000000000 +0000
++++ ncurses-5.9-20130504/form/fty_regex.c 2012-10-27 20:12:53.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: fty_regex.c,v 1.24 2010/01/23 21:14:37 tom Exp $")
++MODULE_ID("$Id: fty_regex.c,v 1.25 2012/10/27 20:12:53 tom Exp $")
+
+ #if HAVE_REGEX_H_FUNCS /* We prefer POSIX regex */
+ #include <regex.h>
+@@ -123,9 +123,8 @@
+ (REG_EXTENDED | REG_NOSUB | REG_NEWLINE)))
+ {
+ T((T_CREATE("regex_t %p"), (void *)preg->pRegExp));
+- preg->refCount = typeMalloc(unsigned long, 1);
+-
+- *(preg->refCount) = 1;
++ if ((preg->refCount = typeMalloc(unsigned long, 1)) != 0)
++ *(preg->refCount) = 1;
+ }
+ else
+ {
+@@ -151,9 +150,8 @@
+
+ T((T_CREATE("RegExp_Arg %p"), pArg));
+ pArg->compiled_expression = NULL;
+- pArg->refCount = typeMalloc(unsigned long, 1);
+-
+- *(pArg->refCount) = 1;
++ if ((pArg->refCount = typeMalloc(unsigned long, 1)) != 0)
++ *(pArg->refCount) = 1;
+
+ do
+ {
+Index: include/Caps
+Prereq: 1.37
+--- ncurses-5.9/include/Caps 2010-12-04 18:47:13.000000000 +0000
++++ ncurses-5.9-20130504/include/Caps 2011-10-15 23:10:18.000000000 +0000
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -29,7 +29,7 @@
+ # Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995
+ # and: Eric S. Raymond <esr@snark.thyrsus.com>
+ #
+-# $Id: Caps,v 1.37 2010/12/04 18:47:13 tom Exp $
++# $Id: Caps,v 1.38 2011/10/15 23:10:18 tom Exp $
+ #
+ # This is the master termcap/terminfo capability table.
+ #
+@@ -738,11 +738,13 @@
+ #%.ad
+ #%
+ #%.in .8i
+-#%The XSI Curses standard added these. They are some post-4.1
+-#%versions of System V curses, e.g., Solaris 2.5 and IRIX 6.x.
+-#%The \fBncurses\fR termcap names for them are invented; according to the
+-#%XSI Curses standard, they have no termcap names. If your compiled terminfo
+-#%entries use these, they may not be binary-compatible with System V terminfo
++#%The XSI Curses standard added these hardcopy capabilities.
++#%They were used in some post-4.1 versions of System V curses,
++#%e.g., Solaris 2.5 and IRIX 6.x.
++#%Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented.
++#%According to the XSI Curses standard, they have no termcap names.
++#%If your compiled terminfo entries use these,
++#%they may not be binary-compatible with System V terminfo
+ #%entries after SVr4.1; beware!
+ #%
+ #%.na
+@@ -760,7 +762,7 @@
+ enter_top_hl_mode ethlm str Xt - - ----- Enter top highlight mode
+ enter_vertical_hl_mode evhlm str Xv - - ----- Enter vertical highlight mode
+ set_a_attributes sgr1 str sA - - ----- Define second set of video attributes #1-#6
+-set_pglen_inch slength str sL - - ----- YI Set page length to #1 hundredth of an inch
++set_pglen_inch slength str YI - - ----- Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
+ #%.TE
+ #%.ad
+ #
+Index: include/Caps.aix4
+Prereq: 1.8
+--- ncurses-5.9/include/Caps.aix4 2010-12-04 18:47:13.000000000 +0000
++++ ncurses-5.9-20130504/include/Caps.aix4 2011-10-15 23:19:16.000000000 +0000
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 2001-2006,2010 Free Software Foundation, Inc. #
++# Copyright (c) 2001-2010,2011 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -28,7 +28,7 @@
+ #
+ # Author: Thomas Dickey
+ #
+-# $Id: Caps.aix4,v 1.8 2010/12/04 18:47:13 tom Exp $
++# $Id: Caps.aix4,v 1.9 2011/10/15 23:19:16 tom Exp $
+ #
+ # This is an adaptation of ncurses' termcap/terminfo capability table, which
+ # is designed to align with AIX 4.x's terminfo.
+@@ -840,11 +840,13 @@
+ #%.ad
+ #%
+ #%.in .8i
+-#%The XSI Curses standard added these. They are some post-4.1
+-#%versions of System V curses, e.g., Solaris 2.5 and IRIX 6.x.
+-#%The \fBncurses\fR termcap names for them are invented; according to the
+-#%XSI Curses standard, they have no termcap names. If your compiled terminfo
+-#%entries use these, they may not be binary-compatible with System V terminfo
++#%The XSI Curses standard added these hardcopy capabilities.
++#%They were used in some post-4.1 versions of System V curses,
++#%e.g., Solaris 2.5 and IRIX 6.x.
++#%Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented.
++#%According to the XSI Curses standard, they have no termcap names.
++#%If your compiled terminfo entries use these,
++#%they may not be binary-compatible with System V terminfo
+ #%entries after SVr4.1; beware!
+ #%
+ #%.na
+@@ -862,7 +864,7 @@
+ enter_top_hl_mode ethlm str Xt - - ----- Enter top highlight mode
+ enter_vertical_hl_mode evhlm str Xv - - ----- Enter vertical highlight mode
+ set_a_attributes sgr1 str sA - - ----- Define second set of video attributes #1-#6
+-set_pglen_inch slength str sL - - ----- YI Set page length to #1 hundredth of an inch
++set_pglen_inch slength str YI - - ----- Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
+ #%.TE
+ #%.ad
+ #
+Index: include/Caps.hpux11
+Prereq: 1.5
+--- ncurses-5.9/include/Caps.hpux11 2010-12-04 18:47:13.000000000 +0000
++++ ncurses-5.9-20130504/include/Caps.hpux11 2011-10-15 23:20:04.000000000 +0000
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. #
++# Copyright (c) 2002-2010,2011 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -28,7 +28,7 @@
+ #
+ # Author: Thomas Dickey
+ #
+-# $Id: Caps.hpux11,v 1.5 2010/12/04 18:47:13 tom Exp $
++# $Id: Caps.hpux11,v 1.6 2011/10/15 23:20:04 tom Exp $
+ #
+ # This is an adaptation of ncurses' termcap/terminfo capability table, which
+ # is designed to align with HPUX 11.x's terminfo.
+@@ -746,11 +746,13 @@
+ #%.ad
+ #%
+ #%.in .8i
+-#%The XSI Curses standard added these. They are some post-4.1
+-#%versions of System V curses, e.g., Solaris 2.5 and IRIX 6.x.
+-#%The \fBncurses\fR termcap names for them are invented; according to the
+-#%XSI Curses standard, they have no termcap names. If your compiled terminfo
+-#%entries use these, they may not be binary-compatible with System V terminfo
++#%The XSI Curses standard added these hardcopy capabilities.
++#%They were used in some post-4.1 versions of System V curses,
++#%e.g., Solaris 2.5 and IRIX 6.x.
++#%Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented.
++#%According to the XSI Curses standard, they have no termcap names.
++#%If your compiled terminfo entries use these,
++#%they may not be binary-compatible with System V terminfo
+ #%entries after SVr4.1; beware!
+ #%
+ #%.na
+@@ -761,7 +763,7 @@
+ #%lw25 lw6 lw2 lw20.
+ #%\fBVariable Cap- TCap Description\fR
+ #%\fBString name Code\fR
+-set_pglen_inch slength str sL - - ----- YI Set page length to #1 hundredth of an inch
++set_pglen_inch slength str YI - - ----- Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
+ enter_horizontal_hl_mode ehhlm str Xh - - ----- Enter horizontal highlight mode
+ enter_left_hl_mode elhlm str Xl - - ----- Enter left highlight mode
+ enter_low_hl_mode elohlm str Xo - - ----- Enter low highlight mode
+Index: include/Caps.keys
+Prereq: 1.4
+--- ncurses-5.9/include/Caps.keys 2010-12-04 18:47:13.000000000 +0000
++++ ncurses-5.9-20130504/include/Caps.keys 2011-10-15 23:19:52.000000000 +0000
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 2001-2006,2010 Free Software Foundation, Inc. #
++# Copyright (c) 2001-2010,2011 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -29,7 +29,7 @@
+ # Author: Thomas Dickey
+ # and: Ilya Zakharevich
+ #
+-# $Id: Caps.keys,v 1.4 2010/12/04 18:47:13 tom Exp $
++# $Id: Caps.keys,v 1.5 2011/10/15 23:19:52 tom Exp $
+ #
+ # This is an adaptation of ncurses' termcap/terminfo capability table, which
+ # is illustrates an experimental extension to describe alt-, shift- and
+@@ -828,11 +828,13 @@
+ #%.ad
+ #%
+ #%.in .8i
+-#%The XSI Curses standard added these. They are some post-4.1
+-#%versions of System V curses, e.g., Solaris 2.5 and IRIX 6.x.
+-#%The \fBncurses\fR termcap names for them are invented; according to the
+-#%XSI Curses standard, they have no termcap names. If your compiled terminfo
+-#%entries use these, they may not be binary-compatible with System V terminfo
++#%The XSI Curses standard added these hardcopy capabilities.
++#%They were used in some post-4.1 versions of System V curses,
++#%e.g., Solaris 2.5 and IRIX 6.x.
++#%Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented.
++#%According to the XSI Curses standard, they have no termcap names.
++#%If your compiled terminfo entries use these,
++#%they may not be binary-compatible with System V terminfo
+ #%entries after SVr4.1; beware!
+ #%
+ #%.na
+@@ -850,7 +852,7 @@
+ enter_top_hl_mode ethlm str Xt - - ----- Enter top highlight mode
+ enter_vertical_hl_mode evhlm str Xv - - ----- Enter vertical highlight mode
+ set_a_attributes sgr1 str sA - - ----- Define second set of video attributes #1-#6
+-set_pglen_inch slength str sL - - ----- YI Set page length to #1 hundredth of an inch
++set_pglen_inch slength str YI - - ----- Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
+ #%.TE
+ #%.ad
+ #
+Index: include/Caps.osf1r5
+Prereq: 1.5
+--- ncurses-5.9/include/Caps.osf1r5 2010-12-04 18:47:13.000000000 +0000
++++ ncurses-5.9-20130504/include/Caps.osf1r5 2011-10-15 22:52:09.000000000 +0000
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. #
++# Copyright (c) 2002-2010,2011 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -28,7 +28,7 @@
+ #
+ # Author: Thomas Dickey
+ #
+-# $Id: Caps.osf1r5,v 1.5 2010/12/04 18:47:13 tom Exp $
++# $Id: Caps.osf1r5,v 1.6 2011/10/15 22:52:09 tom Exp $
+ #
+ # This is an adaptation of ncurses' termcap/terminfo capability table, which
+ # is designed to align with OSF/1 version 5 (Tru64) terminfo.
+@@ -769,7 +769,7 @@
+ xoff_character xoffc str XF - - ----- XOFF character
+ xon_character xonc str XN - - ----- XON character
+ zero_motion zerom str Zx - - ----- No motion for subsequent character
+-set_pglen_inch slength str sL - - ----- YI Set page length to #1 hundredth of an inch
++set_pglen_inch slength str YI - - ----- Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
+ enter_horizontal_hl_mode ehhlm str Xh - - ----- Enter horizontal highlight mode
+ enter_left_hl_mode elhlm str Xl - - ----- Enter left highlight mode
+ enter_low_hl_mode elohlm str Xo - - ----- Enter low highlight mode
+Index: include/MKkey_defs.sh
+Prereq: 1.14
+--- ncurses-5.9/include/MKkey_defs.sh 2003-12-06 17:10:09.000000000 +0000
++++ ncurses-5.9-20130504/include/MKkey_defs.sh 2013-03-09 16:32:01.000000000 +0000
+@@ -1,7 +1,7 @@
+ #! /bin/sh
+-# $Id: MKkey_defs.sh,v 1.14 2003/12/06 17:10:09 tom Exp $
++# $Id: MKkey_defs.sh,v 1.15 2013/03/09 16:32:01 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2001-2002,2003 Free Software Foundation, Inc. #
++# Copyright (c) 2001-2003,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -65,9 +65,12 @@
+ key_event kv1 str V1 KEY_EVENT + ----- We were interrupted by an event
+ EOF
+
++THIS=./`basename $0`
++PARM=./`basename $DATA`
++
+ cat <<EOF
+ /*
+- * These definitions were generated by $0 $DATA
++ * These definitions were generated by $THIS $PARM
+ */
+ EOF
+
+Index: include/MKterm.h.awk.in
+Prereq: 1.58
+--- ncurses-5.9/include/MKterm.h.awk.in 2010-01-09 19:53:26.000000000 +0000
++++ ncurses-5.9-20130504/include/MKterm.h.awk.in 2011-06-25 20:51:00.000000000 +0000
+@@ -1,7 +1,7 @@
+ # vile:awkmode
+ BEGIN {
+ print "/****************************************************************************"
+- print " * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *"
++ print " * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *"
+ print " * *"
+ print " * Permission is hereby granted, free of charge, to any person obtaining a *"
+ print " * copy of this software and associated documentation files (the *"
+@@ -34,7 +34,7 @@
+ print "/* and: Thomas E. Dickey 1995-on */"
+ print "/****************************************************************************/"
+ print ""
+- print "/* $Id: MKterm.h.awk.in,v 1.58 2010/01/09 19:53:26 tom Exp $ */"
++ print "/* $Id: MKterm.h.awk.in,v 1.60 2011/06/25 20:51:00 tom Exp $ */"
+ print ""
+ print "/*"
+ print "** term.h -- Definition of struct term"
+@@ -93,41 +93,6 @@
+ print "#include <termio.h>"
+ print "#define TTY struct termio"
+ print ""
+- print "/* Add definitions to make termio look like termios."
+- print " * But ifdef it, since there are some implementations"
+- print " * that try to do this for us in a fake <termio.h>."
+- print " */"
+- print "#ifndef TCSANOW"
+- print "#define TCSANOW TCSETA"
+- print "#endif"
+- print "#ifndef TCSADRAIN"
+- print "#define TCSADRAIN TCSETAW"
+- print "#endif"
+- print "#ifndef TCSAFLUSH"
+- print "#define TCSAFLUSH TCSETAF"
+- print "#endif"
+- print "#ifndef tcsetattr"
+- print "#define tcsetattr(fd, cmd, arg) ioctl(fd, cmd, arg)"
+- print "#endif"
+- print "#ifndef tcgetattr"
+- print "#define tcgetattr(fd, arg) ioctl(fd, TCGETA, arg)"
+- print "#endif"
+- print "#ifndef cfgetospeed"
+- print "#define cfgetospeed(t) ((t)->c_cflag & CBAUD)"
+- print "#endif"
+- print "#ifndef TCIFLUSH "
+- print "#define TCIFLUSH 0"
+- print "#endif"
+- print "#ifndef TCOFLUSH "
+- print "#define TCOFLUSH 1"
+- print "#endif"
+- print "#ifndef TCIOFLUSH "
+- print "#define TCIOFLUSH 2"
+- print "#endif"
+- print "#ifndef tcflush"
+- print "#define tcflush(fd, arg) ioctl(fd, TCFLSH, arg)"
+- print "#endif"
+- print ""
+ print "#else /* !HAVE_TERMIO_H */"
+ print ""
+ print "#if __MINGW32__"
+Index: include/curses.h.in
+Prereq: 1.220
+--- ncurses-5.9/include/curses.h.in 2011-01-22 19:47:20.000000000 +0000
++++ ncurses-5.9-20130504/include/curses.h.in 2012-09-16 21:05:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+ * and: Thomas E. Dickey 1996-on *
+ ****************************************************************************/
+
+-/* $Id: curses.h.in,v 1.220 2011/01/22 19:47:20 tom Exp $ */
++/* $Id: curses.h.in,v 1.233 2012/09/16 21:05:02 tom Exp $ */
+
+ #ifndef __NCURSES_H
+ #define __NCURSES_H
+@@ -129,6 +129,13 @@
+ #define NCURSES_TPARM_VARARGS @NCURSES_TPARM_VARARGS@
+
+ /*
++ * Control type used for tparm's arguments. While X/Open equates long and
++ * char* values, this is not always workable for 64-bit platforms.
++ */
++#undef NCURSES_TPARM_ARG
++#define NCURSES_TPARM_ARG @NCURSES_TPARM_ARG@
++
++/*
+ * NCURSES_CH_T is used in building the library, but not used otherwise in
+ * this header file, since that would make the normal/wide-character versions
+ * of the header incompatible.
+@@ -151,15 +158,21 @@
+
+ /*
+ * With XPG4, you must define _XOPEN_SOURCE_EXTENDED, it is redundant (or
+- * conflicting) when _XOPEN_SOURCE is 500 or greater.
++ * conflicting) when _XOPEN_SOURCE is 500 or greater. If NCURSES_WIDECHAR is
++ * not already defined, e.g., if the platform relies upon nonstandard feature
++ * test macros, define it at this point if the standard feature test macros
++ * indicate that it should be defined.
+ */
+-#undef NCURSES_WIDECHAR
+-#if defined(_XOPEN_SOURCE_EXTENDED) || defined(_XPG5)
+-#define NCURSES_WIDECHAR
++#ifndef NCURSES_WIDECHAR
++#if defined(_XOPEN_SOURCE_EXTENDED) || (defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE - 0 >= 500))
++#define NCURSES_WIDECHAR 1
++#else
++#define NCURSES_WIDECHAR 0
+ #endif
++#endif /* NCURSES_WIDECHAR */
+
+ #include <stdarg.h> /* we need va_list */
+-#ifdef NCURSES_WIDECHAR
++#if NCURSES_WIDECHAR
+ #include <stddef.h> /* we want wchar_t */
+ #endif
+
+@@ -250,7 +263,7 @@
+ extern NCURSES_EXPORT_VAR(chtype) acs_map[];
+ #endif
+
+-#define NCURSES_ACS(c) (acs_map[NCURSES_CAST(unsigned char,c)])
++#define NCURSES_ACS(c) (acs_map[NCURSES_CAST(unsigned char,(c))])
+
+ /* VT100 symbols begin here */
+ #define ACS_ULCORNER NCURSES_ACS('l') /* upper left corner */
+@@ -342,7 +355,7 @@
+
+ typedef chtype attr_t; /* ...must be at least as wide as chtype */
+
+-#ifdef NCURSES_WIDECHAR
++#if NCURSES_WIDECHAR
+
+ #if @NCURSES_LIBUTF8@
+ #ifdef mblen /* libutf8.h defines it w/o undefining first */
+@@ -366,7 +379,7 @@
+ /*
+ * cchar_t stores an array of CCHARW_MAX wide characters. The first is
+ * normally a spacing character. The others are non-spacing. If those
+- * (spacing and nonspacing) do not fill the array, a null L'\0' follows.
++ * (spacing and nonspacing) do not fill the array, a null L'\0' follows.
+ * Otherwise, a null is assumed to follow when extracting via getcchar().
+ */
+ #define CCHARW_MAX @NCURSES_CCHARW_MAX@
+@@ -434,7 +447,7 @@
+
+ NCURSES_SIZE_T _yoffset; /* real begy is _begy + _yoffset */
+
+-#ifdef NCURSES_WIDECHAR
++#if NCURSES_WIDECHAR
+ cchar_t _bkgrnd; /* current background char/attribute pair */
+ #if @NCURSES_EXT_COLORS@
+ int _color; /* current color-pair for non-space character */
+@@ -757,6 +770,7 @@
+ extern NCURSES_EXPORT(int) ungetch (int); /* implemented */
+ extern NCURSES_EXPORT(int) untouchwin (WINDOW *); /* generated */
+ extern NCURSES_EXPORT(void) use_env (bool); /* implemented */
++extern NCURSES_EXPORT(void) use_tioctl (bool); /* implemented */
+ extern NCURSES_EXPORT(int) vidattr (chtype); /* implemented */
+ extern NCURSES_EXPORT(int) vidputs (chtype, NCURSES_OUTC); /* implemented */
+ extern NCURSES_EXPORT(int) vline (chtype, int); /* generated */
+@@ -832,7 +846,7 @@
+ #if NCURSES_TPARM_VARARGS
+ extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* special */
+ #else
+-extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* special */
++extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG); /* special */
+ extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */
+ #endif
+
+@@ -854,7 +868,7 @@
+ /*
+ * vid_attr() was implemented originally based on a draft of X/Open curses.
+ */
+-#ifndef NCURSES_WIDECHAR
++#if !NCURSES_WIDECHAR
+ #define vid_attr(a,pair,opts) vidattr(a)
+ #endif
+
+@@ -994,6 +1008,7 @@
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(typeahead) (SCREEN*, int); /* implemented:SP_FUNC */
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ungetch) (SCREEN*, int); /* implemented:SP_FUNC */
+ extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_env) (SCREEN*, bool); /* implemented:SP_FUNC */
++extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_tioctl) (SCREEN*, bool); /* implemented:SP_FUNC */
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidattr) (SCREEN*, chtype); /* implemented:SP_FUNC */
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidputs) (SCREEN*, chtype, NCURSES_SP_OUTC); /* implemented:SP_FUNC */
+ #if @NCURSES_EXT_FUNCS@
+@@ -1084,7 +1099,7 @@
+ */
+
+ #define wgetstr(w, s) wgetnstr(w, s, -1)
+-#define getnstr(s, n) wgetnstr(stdscr, s, n)
++#define getnstr(s, n) wgetnstr(stdscr, s, (n))
+
+ #define setterm(term) setupterm(term, 1, (int *)0)
+
+@@ -1115,7 +1130,7 @@
+ #define wattroff(win,at) wattr_off(win, NCURSES_CAST(attr_t, at), NULL)
+
+ #if !NCURSES_OPAQUE
+-#if defined(NCURSES_WIDECHAR) && @NCURSES_EXT_COLORS@
++#if NCURSES_WIDECHAR && @NCURSES_EXT_COLORS@
+ #define wattrset(win,at) ((win) \
+ ? ((win)->_color = PAIR_NUMBER(at), \
+ (win)->_attrs = NCURSES_CAST(attr_t, at), \
+@@ -1137,15 +1152,15 @@
+
+ #define box(win, v, h) wborder(win, v, v, h, h, 0, 0, 0, 0)
+ #define border(ls, rs, ts, bs, tl, tr, bl, br) wborder(stdscr, ls, rs, ts, bs, tl, tr, bl, br)
+-#define hline(ch, n) whline(stdscr, ch, n)
+-#define vline(ch, n) wvline(stdscr, ch, n)
++#define hline(ch, n) whline(stdscr, ch, (n))
++#define vline(ch, n) wvline(stdscr, ch, (n))
+
+ #define winstr(w, s) winnstr(w, s, -1)
+ #define winchstr(w, s) winchnstr(w, s, -1)
+ #define winsstr(w, s) winsnstr(w, s, -1)
+
+ #if !NCURSES_OPAQUE
+-#define redrawwin(win) wredrawln(win, 0, (win)->_maxy+1)
++#define redrawwin(win) wredrawln(win, 0, ((win) ? (win)->_maxy+1 : -1))
+ #endif /* NCURSES_OPAQUE */
+
+ #define waddstr(win,str) waddnstr(win,str,-1)
+@@ -1154,55 +1169,55 @@
+ /*
+ * These apply to the first 256 color pairs.
+ */
+-#define COLOR_PAIR(n) NCURSES_BITS(n, 0)
+-#define PAIR_NUMBER(a) (NCURSES_CAST(int,((NCURSES_CAST(unsigned long,a) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
++#define COLOR_PAIR(n) NCURSES_BITS((n), 0)
++#define PAIR_NUMBER(a) (NCURSES_CAST(int,((NCURSES_CAST(unsigned long,(a)) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
+
+ /*
+ * pseudo functions for standard screen
+ */
+
+-#define addch(ch) waddch(stdscr,ch)
+-#define addchnstr(str,n) waddchnstr(stdscr,str,n)
+-#define addchstr(str) waddchstr(stdscr,str)
+-#define addnstr(str,n) waddnstr(stdscr,str,n)
+-#define addstr(str) waddnstr(stdscr,str,-1)
+-#define attroff(at) wattroff(stdscr,at)
+-#define attron(at) wattron(stdscr,at)
+-#define attrset(at) wattrset(stdscr,at)
+-#define attr_get(ap,cp,o) wattr_get(stdscr,ap,cp,o)
+-#define attr_off(a,o) wattr_off(stdscr,a,o)
+-#define attr_on(a,o) wattr_on(stdscr,a,o)
+-#define attr_set(a,c,o) wattr_set(stdscr,a,c,o)
+-#define bkgd(ch) wbkgd(stdscr,ch)
+-#define bkgdset(ch) wbkgdset(stdscr,ch)
+-#define chgat(n,a,c,o) wchgat(stdscr,n,a,c,o)
++#define addch(ch) waddch(stdscr,(ch))
++#define addchnstr(str,n) waddchnstr(stdscr,(str),(n))
++#define addchstr(str) waddchstr(stdscr,(str))
++#define addnstr(str,n) waddnstr(stdscr,(str),(n))
++#define addstr(str) waddnstr(stdscr,(str),-1)
++#define attroff(at) wattroff(stdscr,(at))
++#define attron(at) wattron(stdscr,(at))
++#define attrset(at) wattrset(stdscr,(at))
++#define attr_get(ap,cp,o) wattr_get(stdscr,(ap),(cp),(o))
++#define attr_off(a,o) wattr_off(stdscr,(a),(o))
++#define attr_on(a,o) wattr_on(stdscr,(a),(o))
++#define attr_set(a,c,o) wattr_set(stdscr,(a),(c),(o))
++#define bkgd(ch) wbkgd(stdscr,(ch))
++#define bkgdset(ch) wbkgdset(stdscr,(ch))
++#define chgat(n,a,c,o) wchgat(stdscr,(n),(a),(c),(o))
+ #define clear() wclear(stdscr)
+ #define clrtobot() wclrtobot(stdscr)
+ #define clrtoeol() wclrtoeol(stdscr)
+-#define color_set(c,o) wcolor_set(stdscr,c,o)
++#define color_set(c,o) wcolor_set(stdscr,(c),(o))
+ #define delch() wdelch(stdscr)
+ #define deleteln() winsdelln(stdscr,-1)
+-#define echochar(c) wechochar(stdscr,c)
++#define echochar(c) wechochar(stdscr,(c))
+ #define erase() werase(stdscr)
+ #define getch() wgetch(stdscr)
+-#define getstr(str) wgetstr(stdscr,str)
++#define getstr(str) wgetstr(stdscr,(str))
+ #define inch() winch(stdscr)
+-#define inchnstr(s,n) winchnstr(stdscr,s,n)
+-#define inchstr(s) winchstr(stdscr,s)
+-#define innstr(s,n) winnstr(stdscr,s,n)
+-#define insch(c) winsch(stdscr,c)
+-#define insdelln(n) winsdelln(stdscr,n)
++#define inchnstr(s,n) winchnstr(stdscr,(s),(n))
++#define inchstr(s) winchstr(stdscr,(s))
++#define innstr(s,n) winnstr(stdscr,(s),(n))
++#define insch(c) winsch(stdscr,(c))
++#define insdelln(n) winsdelln(stdscr,(n))
+ #define insertln() winsdelln(stdscr,1)
+-#define insnstr(s,n) winsnstr(stdscr,s,n)
+-#define insstr(s) winsstr(stdscr,s)
+-#define instr(s) winstr(stdscr,s)
+-#define move(y,x) wmove(stdscr,y,x)
++#define insnstr(s,n) winsnstr(stdscr,(s),(n))
++#define insstr(s) winsstr(stdscr,(s))
++#define instr(s) winstr(stdscr,(s))
++#define move(y,x) wmove(stdscr,(y),(x))
+ #define refresh() wrefresh(stdscr)
+-#define scrl(n) wscrl(stdscr,n)
+-#define setscrreg(t,b) wsetscrreg(stdscr,t,b)
++#define scrl(n) wscrl(stdscr,(n))
++#define setscrreg(t,b) wsetscrreg(stdscr,(t),(b))
+ #define standend() wstandend(stdscr)
+ #define standout() wstandout(stdscr)
+-#define timeout(delay) wtimeout(stdscr,delay)
++#define timeout(delay) wtimeout(stdscr,(delay))
+ #define wdeleteln(win) winsdelln(win,-1)
+ #define winsertln(win) winsdelln(win,1)
+
+@@ -1210,70 +1225,75 @@
+ * mv functions
+ */
+
+-#define mvwaddch(win,y,x,ch) (wmove(win,y,x) == ERR ? ERR : waddch(win,ch))
+-#define mvwaddchnstr(win,y,x,str,n) (wmove(win,y,x) == ERR ? ERR : waddchnstr(win,str,n))
+-#define mvwaddchstr(win,y,x,str) (wmove(win,y,x) == ERR ? ERR : waddchnstr(win,str,-1))
+-#define mvwaddnstr(win,y,x,str,n) (wmove(win,y,x) == ERR ? ERR : waddnstr(win,str,n))
+-#define mvwaddstr(win,y,x,str) (wmove(win,y,x) == ERR ? ERR : waddnstr(win,str,-1))
+-#define mvwdelch(win,y,x) (wmove(win,y,x) == ERR ? ERR : wdelch(win))
+-#define mvwchgat(win,y,x,n,a,c,o) (wmove(win,y,x) == ERR ? ERR : wchgat(win,n,a,c,o))
+-#define mvwgetch(win,y,x) (wmove(win,y,x) == ERR ? ERR : wgetch(win))
+-#define mvwgetnstr(win,y,x,str,n) (wmove(win,y,x) == ERR ? ERR : wgetnstr(win,str,n))
+-#define mvwgetstr(win,y,x,str) (wmove(win,y,x) == ERR ? ERR : wgetstr(win,str))
+-#define mvwhline(win,y,x,c,n) (wmove(win,y,x) == ERR ? ERR : whline(win,c,n))
+-#define mvwinch(win,y,x) (wmove(win,y,x) == ERR ? NCURSES_CAST(chtype, ERR) : winch(win))
+-#define mvwinchnstr(win,y,x,s,n) (wmove(win,y,x) == ERR ? ERR : winchnstr(win,s,n))
+-#define mvwinchstr(win,y,x,s) (wmove(win,y,x) == ERR ? ERR : winchstr(win,s))
+-#define mvwinnstr(win,y,x,s,n) (wmove(win,y,x) == ERR ? ERR : winnstr(win,s,n))
+-#define mvwinsch(win,y,x,c) (wmove(win,y,x) == ERR ? ERR : winsch(win,c))
+-#define mvwinsnstr(win,y,x,s,n) (wmove(win,y,x) == ERR ? ERR : winsnstr(win,s,n))
+-#define mvwinsstr(win,y,x,s) (wmove(win,y,x) == ERR ? ERR : winsstr(win,s))
+-#define mvwinstr(win,y,x,s) (wmove(win,y,x) == ERR ? ERR : winstr(win,s))
+-#define mvwvline(win,y,x,c,n) (wmove(win,y,x) == ERR ? ERR : wvline(win,c,n))
+-
+-#define mvaddch(y,x,ch) mvwaddch(stdscr,y,x,ch)
+-#define mvaddchnstr(y,x,str,n) mvwaddchnstr(stdscr,y,x,str,n)
+-#define mvaddchstr(y,x,str) mvwaddchstr(stdscr,y,x,str)
+-#define mvaddnstr(y,x,str,n) mvwaddnstr(stdscr,y,x,str,n)
+-#define mvaddstr(y,x,str) mvwaddstr(stdscr,y,x,str)
+-#define mvchgat(y,x,n,a,c,o) mvwchgat(stdscr,y,x,n,a,c,o)
+-#define mvdelch(y,x) mvwdelch(stdscr,y,x)
+-#define mvgetch(y,x) mvwgetch(stdscr,y,x)
+-#define mvgetnstr(y,x,str,n) mvwgetnstr(stdscr,y,x,str,n)
+-#define mvgetstr(y,x,str) mvwgetstr(stdscr,y,x,str)
+-#define mvhline(y,x,c,n) mvwhline(stdscr,y,x,c,n)
+-#define mvinch(y,x) mvwinch(stdscr,y,x)
+-#define mvinchnstr(y,x,s,n) mvwinchnstr(stdscr,y,x,s,n)
+-#define mvinchstr(y,x,s) mvwinchstr(stdscr,y,x,s)
+-#define mvinnstr(y,x,s,n) mvwinnstr(stdscr,y,x,s,n)
+-#define mvinsch(y,x,c) mvwinsch(stdscr,y,x,c)
+-#define mvinsnstr(y,x,s,n) mvwinsnstr(stdscr,y,x,s,n)
+-#define mvinsstr(y,x,s) mvwinsstr(stdscr,y,x,s)
+-#define mvinstr(y,x,s) mvwinstr(stdscr,y,x,s)
+-#define mvvline(y,x,c,n) mvwvline(stdscr,y,x,c,n)
++#define mvwaddch(win,y,x,ch) (wmove((win),(y),(x)) == ERR ? ERR : waddch((win),(ch)))
++#define mvwaddchnstr(win,y,x,str,n) (wmove((win),(y),(x)) == ERR ? ERR : waddchnstr((win),(str),(n)))
++#define mvwaddchstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddchnstr((win),(str),-1))
++#define mvwaddnstr(win,y,x,str,n) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),(n)))
++#define mvwaddstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1))
++#define mvwdelch(win,y,x) (wmove((win),(y),(x)) == ERR ? ERR : wdelch(win))
++#define mvwchgat(win,y,x,n,a,c,o) (wmove((win),(y),(x)) == ERR ? ERR : wchgat((win),(n),(a),(c),(o)))
++#define mvwgetch(win,y,x) (wmove((win),(y),(x)) == ERR ? ERR : wgetch(win))
++#define mvwgetnstr(win,y,x,str,n) (wmove((win),(y),(x)) == ERR ? ERR : wgetnstr((win),(str),(n)))
++#define mvwgetstr(win,y,x,str) (wmove((win),(y),(x)) == ERR ? ERR : wgetstr((win),(str)))
++#define mvwhline(win,y,x,c,n) (wmove((win),(y),(x)) == ERR ? ERR : whline((win),(c),(n)))
++#define mvwinch(win,y,x) (wmove((win),(y),(x)) == ERR ? NCURSES_CAST(chtype, ERR) : winch(win))
++#define mvwinchnstr(win,y,x,s,n) (wmove((win),(y),(x)) == ERR ? ERR : winchnstr((win),(s),(n)))
++#define mvwinchstr(win,y,x,s) (wmove((win),(y),(x)) == ERR ? ERR : winchstr((win),(s)))
++#define mvwinnstr(win,y,x,s,n) (wmove((win),(y),(x)) == ERR ? ERR : winnstr((win),(s),(n)))
++#define mvwinsch(win,y,x,c) (wmove((win),(y),(x)) == ERR ? ERR : winsch((win),(c)))
++#define mvwinsnstr(win,y,x,s,n) (wmove((win),(y),(x)) == ERR ? ERR : winsnstr((win),(s),(n)))
++#define mvwinsstr(win,y,x,s) (wmove((win),(y),(x)) == ERR ? ERR : winsstr((win),(s)))
++#define mvwinstr(win,y,x,s) (wmove((win),(y),(x)) == ERR ? ERR : winstr((win),(s)))
++#define mvwvline(win,y,x,c,n) (wmove((win),(y),(x)) == ERR ? ERR : wvline((win),(c),(n)))
++
++#define mvaddch(y,x,ch) mvwaddch(stdscr,(y),(x),(ch))
++#define mvaddchnstr(y,x,str,n) mvwaddchnstr(stdscr,(y),(x),(str),(n))
++#define mvaddchstr(y,x,str) mvwaddchstr(stdscr,(y),(x),(str))
++#define mvaddnstr(y,x,str,n) mvwaddnstr(stdscr,(y),(x),(str),(n))
++#define mvaddstr(y,x,str) mvwaddstr(stdscr,(y),(x),(str))
++#define mvchgat(y,x,n,a,c,o) mvwchgat(stdscr,(y),(x),(n),(a),(c),(o))
++#define mvdelch(y,x) mvwdelch(stdscr,(y),(x))
++#define mvgetch(y,x) mvwgetch(stdscr,(y),(x))
++#define mvgetnstr(y,x,str,n) mvwgetnstr(stdscr,(y),(x),(str),(n))
++#define mvgetstr(y,x,str) mvwgetstr(stdscr,(y),(x),(str))
++#define mvhline(y,x,c,n) mvwhline(stdscr,(y),(x),(c),(n))
++#define mvinch(y,x) mvwinch(stdscr,(y),(x))
++#define mvinchnstr(y,x,s,n) mvwinchnstr(stdscr,(y),(x),(s),(n))
++#define mvinchstr(y,x,s) mvwinchstr(stdscr,(y),(x),(s))
++#define mvinnstr(y,x,s,n) mvwinnstr(stdscr,(y),(x),(s),(n))
++#define mvinsch(y,x,c) mvwinsch(stdscr,(y),(x),(c))
++#define mvinsnstr(y,x,s,n) mvwinsnstr(stdscr,(y),(x),(s),(n))
++#define mvinsstr(y,x,s) mvwinsstr(stdscr,(y),(x),(s))
++#define mvinstr(y,x,s) mvwinstr(stdscr,(y),(x),(s))
++#define mvvline(y,x,c,n) mvwvline(stdscr,(y),(x),(c),(n))
+
+ /*
+ * Some wide-character functions can be implemented without the extensions.
+ */
+ #if !NCURSES_OPAQUE
+-#define getbkgd(win) ((win)->_bkgd)
++#define getbkgd(win) ((win) ? ((win)->_bkgd) : 0)
+ #endif /* NCURSES_OPAQUE */
+
+ #define slk_attr_off(a,v) ((v) ? ERR : slk_attroff(a))
+ #define slk_attr_on(a,v) ((v) ? ERR : slk_attron(a))
+
+ #if !NCURSES_OPAQUE
+-#if defined(NCURSES_WIDECHAR) && @NCURSES_EXT_COLORS@
+-#define wattr_set(win,a,p,opts) ((win)->_attrs = ((a) & ~A_COLOR), \
+- (win)->_color = (p), \
++#if NCURSES_WIDECHAR && @NCURSES_EXT_COLORS@
++#define wattr_set(win,a,p,opts) (((win) \
++ ? ((win)->_attrs = ((a) & ~A_COLOR), \
++ (win)->_color = (p)) \
++ : OK), \
+ OK)
+-#define wattr_get(win,a,p,opts) ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
+- (void)((p) != (void *)0 && (*(p) = (short)(win)->_color)), \
++#define wattr_get(win,a,p,opts) ((void)(((a) != (void *)0) ? (*(a) = (win) ? (win)->_attrs : 0) : OK), \
++ (void)(((p) != (void *)0) ? (*(p) = (win) ? (short)(win)->_color : 0) : OK), \
+ OK)
+ #else
+-#define wattr_set(win,a,p,opts) ((win)->_attrs = (((a) & ~A_COLOR) | (attr_t)COLOR_PAIR(p)), OK)
+-#define wattr_get(win,a,p,opts) ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
+- (void)((p) != (void *)0 && (*(p) = (short)PAIR_NUMBER((win)->_attrs))), \
++#define wattr_set(win,a,p,opts) (((win) \
++ ? ((win)->_attrs = (((a) & ~A_COLOR) | (attr_t)COLOR_PAIR(p))) \
++ : OK), \
++ OK)
++#define wattr_get(win,a,p,opts) ((void)(((a) != (void *)0) ? (*(a) = (win) ? (win)->_attrs : 0) : OK), \
++ (void)(((p) != (void *)0) ? (*(p) = (win) ? (short)PAIR_NUMBER((win)->_attrs) : 0) : OK), \
+ OK)
+ #endif
+ #endif /* NCURSES_OPAQUE */
+Index: include/curses.tail
+Prereq: 1.20
+--- ncurses-5.9/include/curses.tail 2010-03-28 19:10:55.000000000 +0000
++++ ncurses-5.9-20130504/include/curses.tail 2011-10-29 20:03:22.000000000 +0000
+@@ -1,4 +1,4 @@
+-/* $Id: curses.tail,v 1.20 2010/03/28 19:10:55 tom Exp $ */
++/* $Id: curses.tail,v 1.21 2011/10/29 20:03:22 tom Exp $ */
+ /*
+ * vile:cmode:
+ * This file is part of ncurses, designed to be appended after curses.h.in
+@@ -133,7 +133,7 @@
+ extern NCURSES_EXPORT(char *) _tracechar (int);
+ extern NCURSES_EXPORT(char *) _tracechtype (chtype);
+ extern NCURSES_EXPORT(char *) _tracechtype2 (int, chtype);
+-#ifdef NCURSES_WIDECHAR
++#if NCURSES_WIDECHAR
+ #define _tracech_t _tracecchar_t
+ extern NCURSES_EXPORT(char *) _tracecchar_t (const cchar_t *);
+ #define _tracech_t2 _tracecchar_t2
+Index: include/curses.wide
+Prereq: 1.42
+--- ncurses-5.9/include/curses.wide 2010-03-30 00:39:41.000000000 +0000
++++ ncurses-5.9-20130504/include/curses.wide 2012-07-28 18:10:02.000000000 +0000
+@@ -1,4 +1,4 @@
+-/* $Id: curses.wide,v 1.42 2010/03/30 00:39:41 tom Exp $ */
++/* $Id: curses.wide,v 1.45 2012/07/28 18:10:02 tom Exp $ */
+ /*
+ * vile:cmode:
+ * This file is part of ncurses, designed to be appended after curses.h.in
+@@ -6,11 +6,11 @@
+ */
+ #define _XOPEN_CURSES 1
+
+-#ifdef NCURSES_WIDECHAR
++#if NCURSES_WIDECHAR
+
+ extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
+
+-#define NCURSES_WACS(c) (&_nc_wacs[(unsigned char)c])
++#define NCURSES_WACS(c) (&_nc_wacs[NCURSES_CAST(unsigned char,(c))])
+
+ #define WACS_BSSB NCURSES_WACS('l')
+ #define WACS_SSBB NCURSES_WACS('m')
+@@ -230,77 +230,77 @@
+ /*
+ * XSI curses macros for XPG4 conformance.
+ */
+-#define add_wch(c) wadd_wch(stdscr,c)
+-#define add_wchnstr(str,n) wadd_wchnstr(stdscr,str,n)
+-#define add_wchstr(str) wadd_wchstr(stdscr,str)
+-#define addnwstr(wstr,n) waddnwstr(stdscr,wstr,n)
+-#define addwstr(wstr) waddwstr(stdscr,wstr)
+-#define bkgrnd(c) wbkgrnd(stdscr,c)
+-#define bkgrndset(c) wbkgrndset(stdscr,c)
+-#define border_set(l,r,t,b,tl,tr,bl,br) wborder_set(stdscr,l,r,t,b,tl,tr,bl,br)
+-#define box_set(w,v,h) wborder_set(w,v,v,h,h,0,0,0,0)
+-#define echo_wchar(c) wecho_wchar(stdscr,c)
+-#define get_wch(c) wget_wch(stdscr,c)
+-#define get_wstr(t) wget_wstr(stdscr,t)
+-#define getbkgrnd(wch) wgetbkgrnd(stdscr,wch)
+-#define getn_wstr(t,n) wgetn_wstr(stdscr,t,n)
+-#define hline_set(c,n) whline_set(stdscr,c,n)
+-#define in_wch(c) win_wch(stdscr,c)
+-#define in_wchnstr(c,n) win_wchnstr(stdscr,c,n)
+-#define in_wchstr(c) win_wchstr(stdscr,c)
+-#define innwstr(c,n) winnwstr(stdscr,c,n)
+-#define ins_nwstr(t,n) wins_nwstr(stdscr,t,n)
+-#define ins_wch(c) wins_wch(stdscr,c)
+-#define ins_wstr(t) wins_wstr(stdscr,t)
+-#define inwstr(c) winwstr(stdscr,c)
+-#define vline_set(c,n) wvline_set(stdscr,c,n)
+-#define wadd_wchstr(win,str) wadd_wchnstr(win,str,-1)
+-#define waddwstr(win,wstr) waddnwstr(win,wstr,-1)
+-#define wget_wstr(w,t) wgetn_wstr(w,t,-1)
+-#define win_wchstr(w,c) win_wchnstr(w,c,-1)
+-#define wins_wstr(w,t) wins_nwstr(w,t,-1)
++#define add_wch(c) wadd_wch(stdscr,(c))
++#define add_wchnstr(str,n) wadd_wchnstr(stdscr,(str),(n))
++#define add_wchstr(str) wadd_wchstr(stdscr,(str))
++#define addnwstr(wstr,n) waddnwstr(stdscr,(wstr),(n))
++#define addwstr(wstr) waddwstr(stdscr,(wstr))
++#define bkgrnd(c) wbkgrnd(stdscr,(c))
++#define bkgrndset(c) wbkgrndset(stdscr,(c))
++#define border_set(l,r,t,b,tl,tr,bl,br) wborder_set(stdscr,(l),(r),(t),(b),tl,tr,bl,br)
++#define box_set(w,v,h) wborder_set((w),(v),(v),(h),(h),0,0,0,0)
++#define echo_wchar(c) wecho_wchar(stdscr,(c))
++#define get_wch(c) wget_wch(stdscr,(c))
++#define get_wstr(t) wget_wstr(stdscr,(t))
++#define getbkgrnd(wch) wgetbkgrnd(stdscr,(wch))
++#define getn_wstr(t,n) wgetn_wstr(stdscr,(t),(n))
++#define hline_set(c,n) whline_set(stdscr,(c),(n))
++#define in_wch(c) win_wch(stdscr,(c))
++#define in_wchnstr(c,n) win_wchnstr(stdscr,(c),(n))
++#define in_wchstr(c) win_wchstr(stdscr,(c))
++#define innwstr(c,n) winnwstr(stdscr,(c),(n))
++#define ins_nwstr(t,n) wins_nwstr(stdscr,(t),(n))
++#define ins_wch(c) wins_wch(stdscr,(c))
++#define ins_wstr(t) wins_wstr(stdscr,(t))
++#define inwstr(c) winwstr(stdscr,(c))
++#define vline_set(c,n) wvline_set(stdscr,(c),(n))
++#define wadd_wchstr(win,str) wadd_wchnstr((win),(str),-1)
++#define waddwstr(win,wstr) waddnwstr((win),(wstr),-1)
++#define wget_wstr(w,t) wgetn_wstr((w),(t),-1)
++#define win_wchstr(w,c) win_wchnstr((w),(c),-1)
++#define wins_wstr(w,t) wins_nwstr((w),(t),-1)
+
+ #if !NCURSES_OPAQUE
+-#define wgetbkgrnd(win,wch) (*wch = win->_bkgrnd, OK)
++#define wgetbkgrnd(win,wch) ((win) ? (*(wch) = (win)->_bkgrnd) : *(wch), OK)
+ #endif
+
+-#define mvadd_wch(y,x,c) mvwadd_wch(stdscr,y,x,c)
+-#define mvadd_wchnstr(y,x,s,n) mvwadd_wchnstr(stdscr,y,x,s,n)
+-#define mvadd_wchstr(y,x,s) mvwadd_wchstr(stdscr,y,x,s)
+-#define mvaddnwstr(y,x,wstr,n) mvwaddnwstr(stdscr,y,x,wstr,n)
+-#define mvaddwstr(y,x,wstr) mvwaddwstr(stdscr,y,x,wstr)
+-#define mvget_wch(y,x,c) mvwget_wch(stdscr,y,x,c)
+-#define mvget_wstr(y,x,t) mvwget_wstr(stdscr,y,x,t)
+-#define mvgetn_wstr(y,x,t,n) mvwgetn_wstr(stdscr,y,x,t,n)
+-#define mvhline_set(y,x,c,n) mvwhline_set(stdscr,y,x,c,n)
+-#define mvin_wch(y,x,c) mvwin_wch(stdscr,y,x,c)
+-#define mvin_wchnstr(y,x,c,n) mvwin_wchnstr(stdscr,y,x,c,n)
+-#define mvin_wchstr(y,x,c) mvwin_wchstr(stdscr,y,x,c)
+-#define mvinnwstr(y,x,c,n) mvwinnwstr(stdscr,y,x,c,n)
+-#define mvins_nwstr(y,x,t,n) mvwins_nwstr(stdscr,y,x,t,n)
+-#define mvins_wch(y,x,c) mvwins_wch(stdscr,y,x,c)
+-#define mvins_wstr(y,x,t) mvwins_wstr(stdscr,y,x,t)
+-#define mvinwstr(y,x,c) mvwinwstr(stdscr,y,x,c)
+-#define mvvline_set(y,x,c,n) mvwvline_set(stdscr,y,x,c,n)
+-
+-#define mvwadd_wch(win,y,x,c) (wmove(win,y,x) == ERR ? ERR : wadd_wch(win,c))
+-#define mvwadd_wchnstr(win,y,x,s,n) (wmove(win,y,x) == ERR ? ERR : wadd_wchnstr(win,s,n))
+-#define mvwadd_wchstr(win,y,x,s) (wmove(win,y,x) == ERR ? ERR : wadd_wchstr(win,s))
+-#define mvwaddnwstr(win,y,x,wstr,n) (wmove(win,y,x) == ERR ? ERR : waddnwstr(win,wstr,n))
+-#define mvwaddwstr(win,y,x,wstr) (wmove(win,y,x) == ERR ? ERR : waddwstr(win,wstr))
+-#define mvwget_wch(win,y,x,c) (wmove(win,y,x) == ERR ? ERR : wget_wch(win,c))
+-#define mvwget_wstr(win,y,x,t) (wmove(win,y,x) == ERR ? ERR : wget_wstr(win,t))
+-#define mvwgetn_wstr(win,y,x,t,n) (wmove(win,y,x) == ERR ? ERR : wgetn_wstr(win,t,n))
+-#define mvwhline_set(win,y,x,c,n) (wmove(win,y,x) == ERR ? ERR : whline_set(win,c,n))
+-#define mvwin_wch(win,y,x,c) (wmove(win,y,x) == ERR ? ERR : win_wch(win,c))
+-#define mvwin_wchnstr(win,y,x,c,n) (wmove(win,y,x) == ERR ? ERR : win_wchnstr(win,c,n))
+-#define mvwin_wchstr(win,y,x,c) (wmove(win,y,x) == ERR ? ERR : win_wchstr(win,c))
+-#define mvwinnwstr(win,y,x,c,n) (wmove(win,y,x) == ERR ? ERR : winnwstr(win,c,n))
+-#define mvwins_nwstr(win,y,x,t,n) (wmove(win,y,x) == ERR ? ERR : wins_nwstr(win,t,n))
+-#define mvwins_wch(win,y,x,c) (wmove(win,y,x) == ERR ? ERR : wins_wch(win,c))
+-#define mvwins_wstr(win,y,x,t) (wmove(win,y,x) == ERR ? ERR : wins_wstr(win,t))
+-#define mvwinwstr(win,y,x,c) (wmove(win,y,x) == ERR ? ERR : winwstr(win,c))
+-#define mvwvline_set(win,y,x,c,n) (wmove(win,y,x) == ERR ? ERR : wvline_set(win,c,n))
++#define mvadd_wch(y,x,c) mvwadd_wch(stdscr,(y),(x),(c))
++#define mvadd_wchnstr(y,x,s,n) mvwadd_wchnstr(stdscr,(y),(x),(s),(n))
++#define mvadd_wchstr(y,x,s) mvwadd_wchstr(stdscr,(y),(x),(s))
++#define mvaddnwstr(y,x,wstr,n) mvwaddnwstr(stdscr,(y),(x),(wstr),(n))
++#define mvaddwstr(y,x,wstr) mvwaddwstr(stdscr,(y),(x),(wstr))
++#define mvget_wch(y,x,c) mvwget_wch(stdscr,(y),(x),(c))
++#define mvget_wstr(y,x,t) mvwget_wstr(stdscr,(y),(x),(t))
++#define mvgetn_wstr(y,x,t,n) mvwgetn_wstr(stdscr,(y),(x),(t),(n))
++#define mvhline_set(y,x,c,n) mvwhline_set(stdscr,(y),(x),(c),(n))
++#define mvin_wch(y,x,c) mvwin_wch(stdscr,(y),(x),(c))
++#define mvin_wchnstr(y,x,c,n) mvwin_wchnstr(stdscr,(y),(x),(c),(n))
++#define mvin_wchstr(y,x,c) mvwin_wchstr(stdscr,(y),(x),(c))
++#define mvinnwstr(y,x,c,n) mvwinnwstr(stdscr,(y),(x),(c),(n))
++#define mvins_nwstr(y,x,t,n) mvwins_nwstr(stdscr,(y),(x),(t),(n))
++#define mvins_wch(y,x,c) mvwins_wch(stdscr,(y),(x),(c))
++#define mvins_wstr(y,x,t) mvwins_wstr(stdscr,(y),(x),(t))
++#define mvinwstr(y,x,c) mvwinwstr(stdscr,(y),(x),(c))
++#define mvvline_set(y,x,c,n) mvwvline_set(stdscr,(y),(x),(c),(n))
++
++#define mvwadd_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : wadd_wch((win),(c)))
++#define mvwadd_wchnstr(win,y,x,s,n) (wmove(win,(y),(x)) == ERR ? ERR : wadd_wchnstr((win),(s),(n)))
++#define mvwadd_wchstr(win,y,x,s) (wmove(win,(y),(x)) == ERR ? ERR : wadd_wchstr((win),(s)))
++#define mvwaddnwstr(win,y,x,wstr,n) (wmove(win,(y),(x)) == ERR ? ERR : waddnwstr((win),(wstr),(n)))
++#define mvwaddwstr(win,y,x,wstr) (wmove(win,(y),(x)) == ERR ? ERR : waddwstr((win),(wstr)))
++#define mvwget_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : wget_wch((win),(c)))
++#define mvwget_wstr(win,y,x,t) (wmove(win,(y),(x)) == ERR ? ERR : wget_wstr((win),(t)))
++#define mvwgetn_wstr(win,y,x,t,n) (wmove(win,(y),(x)) == ERR ? ERR : wgetn_wstr((win),(t),(n)))
++#define mvwhline_set(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : whline_set((win),(c),(n)))
++#define mvwin_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : win_wch((win),(c)))
++#define mvwin_wchnstr(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : win_wchnstr((win),(c),(n)))
++#define mvwin_wchstr(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : win_wchstr((win),(c)))
++#define mvwinnwstr(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : winnwstr((win),(c),(n)))
++#define mvwins_nwstr(win,y,x,t,n) (wmove(win,(y),(x)) == ERR ? ERR : wins_nwstr((win),(t),(n)))
++#define mvwins_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : wins_wch((win),(c)))
++#define mvwins_wstr(win,y,x,t) (wmove(win,(y),(x)) == ERR ? ERR : wins_wstr((win),(t)))
++#define mvwinwstr(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : winwstr((win),(c)))
++#define mvwvline_set(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : wvline_set((win),(c),(n)))
+
+ #endif /* NCURSES_NOMACROS */
+
+Index: include/headers
+Prereq: 1.10
+--- ncurses-5.9/include/headers 2009-09-05 17:46:30.000000000 +0000
++++ ncurses-5.9-20130504/include/headers 2012-07-28 22:41:34.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: headers,v 1.10 2009/09/05 17:46:30 tom Exp $
++# $Id: headers,v 1.12 2012/07/28 22:41:34 Roumen.Petrov Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -29,14 +29,23 @@
+ #
+ # Author: Thomas E. Dickey 1996-on
+ #
+-term.h
+ curses.h
+ unctrl.h
+-termcap.h
+ ncurses_dll.h
++
++# Support for termcap (and tic, etc.), which can be a separate library
++@ termlib
++term.h
++termcap.h
++
++# Headers used only for tic, other programs using internal interfaces
+ @ ticlib
+ $(srcdir)/tic.h
+ $(srcdir)/term_entry.h
+ $(srcdir)/nc_tparm.h
+
++# Porting
++@ port_win32con
++$(srcdir)/ncurses_mingw.h
++
+ # vile:makemode
+Index: include/nc_alloc.h
+Prereq: 1.18
+--- ncurses-5.9/include/nc_alloc.h 2010-11-20 22:59:49.000000000 +0000
++++ ncurses-5.9-20130504/include/nc_alloc.h 2013-01-26 21:56:51.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,10 +29,11 @@
+ /****************************************************************************
+ * Author: Thomas E. Dickey 1996-on *
+ ****************************************************************************/
+-/* $Id: nc_alloc.h,v 1.18 2010/11/20 22:59:49 tom Exp $ */
++/* $Id: nc_alloc.h,v 1.22 2013/01/26 21:56:51 tom Exp $ */
+
+ #ifndef NC_ALLOC_included
+ #define NC_ALLOC_included 1
++/* *INDENT-OFF* */
+
+ #ifdef __cplusplus
+ extern "C" {
+@@ -94,6 +95,7 @@
+ /* doalloc.c */
+ extern NCURSES_EXPORT(void *) _nc_doalloc(void *, size_t);
+ #if !HAVE_STRDUP
++#undef strdup
+ #define strdup _nc_strdup
+ extern NCURSES_EXPORT(char *) _nc_strdup(const char *);
+ #endif
+@@ -101,12 +103,14 @@
+ /* entries.c */
+ extern NCURSES_EXPORT(void) _nc_leaks_tinfo(void);
+
+-#define typeMalloc(type,elts) (type *)malloc((elts)*sizeof(type))
+-#define typeCalloc(type,elts) (type *)calloc((elts),sizeof(type))
+-#define typeRealloc(type,elts,ptr) (type *)_nc_doalloc(ptr, (elts)*sizeof(type))
++#define typeMalloc(type,elts) (type *)malloc((size_t)(elts)*sizeof(type))
++#define typeCalloc(type,elts) (type *)calloc((size_t)(elts),sizeof(type))
++#define typeRealloc(type,elts,ptr) (type *)_nc_doalloc(ptr, (size_t)(elts)*sizeof(type))
+
+ #ifdef __cplusplus
+ }
+ #endif
+
++/* *INDENT-ON* */
++
+ #endif /* NC_ALLOC_included */
+Index: include/nc_string.h
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/include/nc_string.h 2012-02-23 10:21:17.000000000 +0000
+@@ -0,0 +1,77 @@
++/****************************************************************************
++ * Copyright (c) 2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2012 *
++ ****************************************************************************/
++
++#ifndef STRING_HACKS_H
++#define STRING_HACKS_H 1
++
++#include <ncurses_cfg.h>
++
++/*
++ * $Id: nc_string.h,v 1.3 2012/02/23 10:21:17 tom Exp $
++ *
++ * String-hacks. Use these macros to stifle warnings on (presumably) correct
++ * uses of strcat, strcpy and sprintf.
++ *
++ * By the way -
++ * A fundamental limitation of the interfaces (and frequent issue in bug
++ * reports using these functions) is that sizes are passed as unsigned values
++ * (with associated sign-extension problems), limiting their effectiveness
++ * when checking for buffer overflow.
++ */
++
++#ifdef __cplusplus
++#define NCURSES_VOID /* nothing */
++#else
++#define NCURSES_VOID (void)
++#endif
++
++#if USE_STRING_HACKS && HAVE_STRLCAT
++#define _nc_STRCAT(d,s,n) NCURSES_VOID strlcat((d),(s),(n))
++#else
++#define _nc_STRCAT(d,s,n) NCURSES_VOID strcat((d),(s))
++#endif
++
++#if USE_STRING_HACKS && HAVE_STRLCPY
++#define _nc_STRCPY(d,s,n) NCURSES_VOID strlcpy((d),(s),(n))
++#else
++#define _nc_STRCPY(d,s,n) NCURSES_VOID strcpy((d),(s))
++#endif
++
++#if USE_STRING_HACKS && HAVE_SNPRINTF
++#define _nc_SPRINTF NCURSES_VOID snprintf
++#define _nc_SLIMIT(n) (n),
++#else
++#define _nc_SPRINTF NCURSES_VOID sprintf
++#define _nc_SLIMIT(n) /* nothing */
++#endif
++
++#endif /* STRING_HACKS_H */
+Index: include/nc_termios.h
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/include/nc_termios.h 2011-06-25 20:44:05.000000000 +0000
+@@ -0,0 +1,171 @@
++/****************************************************************************
++ * Copyright (c) 2011 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2011 *
++ ****************************************************************************/
++
++/* $Id: nc_termios.h,v 1.2 2011/06/25 20:44:05 tom Exp $ */
++
++#ifndef NC_TERMIOS_included
++#define NC_TERMIOS_included 1
++
++#if HAVE_TERMIOS_H && HAVE_TCGETATTR
++
++#else /* !HAVE_TERMIOS_H */
++
++#if HAVE_TERMIO_H
++
++/* Add definitions to make termio look like termios.
++ * But ifdef it, since there are some implementations
++ * that try to do this for us in a fake <termio.h>.
++ */
++#ifndef TCSADRAIN
++#define TCSADRAIN TCSETAW
++#endif
++#ifndef TCSAFLUSH
++#define TCSAFLUSH TCSETAF
++#endif
++#ifndef tcsetattr
++#define tcsetattr(fd, cmd, arg) ioctl(fd, cmd, arg)
++#endif
++#ifndef tcgetattr
++#define tcgetattr(fd, arg) ioctl(fd, TCGETA, arg)
++#endif
++#ifndef cfgetospeed
++#define cfgetospeed(t) ((t)->c_cflag & CBAUD)
++#endif
++#ifndef TCIFLUSH
++#define TCIFLUSH 0
++#endif
++#ifndef tcflush
++#define tcflush(fd, arg) ioctl(fd, TCFLSH, arg)
++#endif
++
++#else /* !HAVE_TERMIO_H */
++
++#if __MINGW32__
++
++/* c_cc chars */
++#define VINTR 0
++#define VQUIT 1
++#define VERASE 2
++#define VKILL 3
++#define VEOF 4
++#define VTIME 5
++#define VMIN 6
++
++/* c_iflag bits */
++#define ISTRIP 0000040
++#define INLCR 0000100
++#define IGNCR 0000200
++#define ICRNL 0000400
++#define BRKINT 0000002
++#define PARMRK 0000010
++#define IXON 0002000
++#define IGNBRK 0000001
++#define IGNPAR 0000004
++#define INPCK 0000020
++#define IXOFF 0010000
++
++/* c_oflag bits */
++#define OPOST 0000001
++
++/* c_cflag bit meaning */
++#define CBAUD 0010017
++#define CSIZE 0000060
++#define CS8 0000060
++#define B0 0000000
++#define B50 0000001
++#define B75 0000002
++#define B110 0000003
++#define B134 0000004
++#define B150 0000005
++#define B200 0000006
++#define B300 0000007
++#define B600 0000010
++#define B1200 0000011
++#define B1800 0000012
++#define B2400 0000013
++#define B4800 0000014
++#define B9600 0000015
++#define CLOCAL 0004000
++#define CREAD 0000200
++#define CSTOPB 0000100
++#define HUPCL 0002000
++#define PARENB 0000400
++#define PARODD 0001000
++
++/* c_lflag bits */
++#define ECHO 0000010
++#define ECHONL 0000100
++#define ISIG 0000001
++#define IEXTEN 0100000
++#define ICANON 0000002
++#define NOFLSH 0000200
++#define ECHOE 0000020
++#define ECHOK 0000040
++
++/* tcflush() */
++#define TCIFLUSH 0
++
++/* tcsetattr uses these */
++#define TCSADRAIN 1
++
++/* ioctls */
++#define TCGETA 0x5405
++#define TCFLSH 0x540B
++#define TIOCGWINSZ 0x5413
++
++#ifndef cfgetospeed
++#define cfgetospeed(t) ((t)->c_cflag & CBAUD)
++#endif
++
++#ifndef tcsetattr
++#define tcsetattr(fd, cmd, arg) _nc_mingw_ioctl(fd, cmd, arg)
++#endif
++
++#ifndef tcgetattr
++#define tcgetattr(fd, arg) _nc_mingw_ioctl(fd, TCGETA, arg)
++#endif
++
++#ifndef tcflush
++#define tcflush(fd, arg) _nc_mingw_ioctl(fd, TCFLSH, arg)
++#endif
++
++#undef ttyname
++#define ttyname(fd) NULL
++
++#else
++
++#endif /* __MINGW32__ */
++#endif /* HAVE_TERMIO_H */
++
++#endif /* HAVE_TERMIOS_H */
++
++#endif /* NC_TERMIOS_included */
+Index: include/nc_tparm.h
+Prereq: 1.5
+--- ncurses-5.9/include/nc_tparm.h 2010-12-25 20:27:22.000000000 +0000
++++ ncurses-5.9-20130504/include/nc_tparm.h 2012-02-18 21:34:42.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2006-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -30,7 +30,7 @@
+ * Author: Thomas E. Dickey 2006 *
+ ****************************************************************************/
+
+-/* $Id: nc_tparm.h,v 1.5 2010/12/25 20:27:22 tom Exp $ */
++/* $Id: nc_tparm.h,v 1.6 2012/02/18 21:34:42 tom Exp $ */
+
+ #ifndef NC_TPARM_included
+ #define NC_TPARM_included 1
+@@ -40,8 +40,12 @@
+ * assumption of the varargs code.
+ */
+ #ifndef TPARM_ARG
++#ifdef NCURSES_TPARM_ARG
++#define TPARM_ARG NCURSES_TPARM_ARG
++#else
+ #define TPARM_ARG long
+ #endif
++#endif /* TPARAM_ARG */
+
+ #define TPARM_N(n) (TPARM_ARG)(n)
+
+Index: include/ncurses_defs
+Prereq: 1.46
+--- ncurses-5.9/include/ncurses_defs 2011-03-22 09:17:59.000000000 +0000
++++ ncurses-5.9-20130504/include/ncurses_defs 2013-04-27 19:46:53.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: ncurses_defs,v 1.46 2011/03/22 09:17:59 tom Exp $
++# $Id: ncurses_defs,v 1.59 2013/04/27 19:46:53 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2000-2010,2011 Free Software Foundation, Inc. #
++# Copyright (c) 2000-2012,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -33,7 +33,7 @@
+
+ BROKEN_LINKER
+ BSD_TPUTS
+-CC_HAS_PROTOS
++CGETENT_CONST /* nothing */
+ CPP_HAS_PARAM_INIT
+ CURSES_ACS_ARRAY acs_map
+ CURSES_WACS_ARRAY _nc_wacs
+@@ -41,6 +41,7 @@
+ ETIP_NEEDS_MATH_H
+ GCC_NORETURN /* nothing */
+ GCC_UNUSED /* nothing */
++HAVE_ASSUME_DEFAULT_COLORS
+ HAVE_BIG_CORE
+ HAVE_BSD_CGETENT
+ HAVE_BSD_SIGNAL_H
+@@ -102,6 +103,7 @@
+ HAVE_POLL
+ HAVE_POLL_H
+ HAVE_PURIFY
++HAVE_PUTENV
+ HAVE_PUTWC
+ HAVE_PUTWIN 1
+ HAVE_REGEXPR_H_FUNCS
+@@ -115,6 +117,7 @@
+ HAVE_SELECT
+ HAVE_SETBUF
+ HAVE_SETBUFFER
++HAVE_SETENV
+ HAVE_SETUPTERM 1
+ HAVE_SETVBUF
+ HAVE_SGTTY_H
+@@ -123,7 +126,11 @@
+ HAVE_SIZECHANGE
+ HAVE_SLK_COLOR
+ HAVE_SLK_INIT 1
++HAVE_SNPRINTF
++HAVE_STDINT_H
+ HAVE_STRDUP
++HAVE_STRLCAT
++HAVE_STRLCPY
+ HAVE_STRSTR
+ HAVE_SYMLINK
+ HAVE_SYS_BSDTYPES_H
+@@ -153,9 +160,12 @@
+ HAVE_TYPEINFO
+ HAVE_TYPE_ATTR_T
+ HAVE_TYPE_SIGACTION
++HAVE_UNCTRL_H 1
+ HAVE_UNISTD_H
+ HAVE_UNLINK
+ HAVE_USE_DEFAULT_COLORS
++HAVE_USE_SCREEN
++HAVE_USE_WINDOW
+ HAVE_VFSCANF
+ HAVE_VSNPRINTF
+ HAVE_VSSCANF
+@@ -176,10 +186,10 @@
+ NCURSES_EXT_FUNCS
+ NCURSES_NO_PADDING
+ NCURSES_PATHSEP ':'
++NCURSES_WIDECHAR
+ NEED_PTEM_H
+ NO_LEAKS
+ PURE_TERMINFO
+-RETSIGTYPE
+ STDC_HEADERS
+ SVR4_ACTION
+ SVR4_TERMIO
+@@ -205,6 +215,7 @@
+ USE_SAFE_SPRINTF
+ USE_SCROLL_HINTS
+ USE_SIGWINCH
++USE_STRING_HACKS
+ USE_SYMLINKS
+ USE_SYSMOUSE
+ USE_TERMCAP
+Index: include/ncurses_mingw.h
+Prereq: 1.1
+--- ncurses-5.9/include/ncurses_mingw.h 2008-12-14 19:22:16.000000000 +0000
++++ ncurses-5.9-20130504/include/ncurses_mingw.h 2011-06-25 20:51:00.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2008,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -31,10 +31,10 @@
+ * *
+ ****************************************************************************/
+
+-/* $Id: ncurses_mingw.h,v 1.1 2008/12/14 19:22:16 juergen Exp $ */
++/* $Id: ncurses_mingw.h,v 1.2 2011/06/25 20:51:00 tom Exp $ */
+
+ /*
+- * This is a placholder up to now and describes what needs to be implemented
++ * This is a placeholder up to now and describes what needs to be implemented
+ * to support I/O to external terminals with ncurses on the Windows OS.
+ */
+
+@@ -67,98 +67,8 @@
+ speed_t c_ospeed; /* c_ospeed */
+ };
+
+-/* c_cc chars */
+-#define VINTR 0
+-#define VQUIT 1
+-#define VERASE 2
+-#define VKILL 3
+-#define VEOF 4
+-#define VTIME 5
+-#define VMIN 6
+-
+-/* c_iflag bits */
+-#define ISTRIP 0000040
+-#define INLCR 0000100
+-#define IGNCR 0000200
+-#define ICRNL 0000400
+-#define BRKINT 0000002
+-#define PARMRK 0000010
+-#define IXON 0002000
+-#define IGNBRK 0000001
+-#define IGNPAR 0000004
+-#define INPCK 0000020
+-#define IXOFF 0010000
+-
+-/* c_oflag bits */
+-#define OPOST 0000001
+-
+-/* c_cflag bit meaning */
+-#define CBAUD 0010017
+-#define CSIZE 0000060
+-#define CS8 0000060
+-#define B0 0000000
+-#define B50 0000001
+-#define B75 0000002
+-#define B110 0000003
+-#define B134 0000004
+-#define B150 0000005
+-#define B200 0000006
+-#define B300 0000007
+-#define B600 0000010
+-#define B1200 0000011
+-#define B1800 0000012
+-#define B2400 0000013
+-#define B4800 0000014
+-#define B9600 0000015
+-#define CLOCAL 0004000
+-#define CREAD 0000200
+-#define CSTOPB 0000100
+-#define HUPCL 0002000
+-#define PARENB 0000400
+-#define PARODD 0001000
+-
+-/* c_lflag bits */
+-#define ECHO 0000010
+-#define ECHONL 0000100
+-#define ISIG 0000001
+-#define IEXTEN 0100000
+-#define ICANON 0000002
+-#define NOFLSH 0000200
+-#define ECHOE 0000020
+-#define ECHOK 0000040
+-
+-/* tcflush() */
+-#define TCIFLUSH 0
+-
+-/* tcsetattr uses these */
+-#define TCSADRAIN 1
+-
+-/* ioctls */
+-#define TCGETA 0x5405
+-#define TCFLSH 0x540B
+-#define TIOCGWINSZ 0x5413
+-
+ extern int _nc_mingw_ioctl(int fd, long int request, struct termios* arg);
+ extern void _nc_set_term_driver(void* term);
+
+-#ifndef cfgetospeed
+-#define cfgetospeed(t) ((t)->c_cflag & CBAUD)
+-#endif
+-
+-#ifndef tcsetattr
+-#define tcsetattr(fd, cmd, arg) _nc_mingw_ioctl(fd, cmd, arg)
+-#endif
+-
+-#ifndef tcgetattr
+-#define tcgetattr(fd, arg) _nc_mingw_ioctl(fd, TCGETA, arg)
+-#endif
+-
+-#ifndef tcflush
+-#define tcflush(fd, arg) _nc_mingw_ioctl(fd, TCFLSH, arg)
+-#endif
+-
+-#undef ttyname
+-#define ttyname(fd) NULL
+-
+-#endif
+-#endif
++#endif /* _NC_MINGWH */
++#endif /* __MINGW32__ */
+Index: include/term_entry.h
+Prereq: 1.37
+--- ncurses-5.9/include/term_entry.h 2009-07-11 16:52:29.000000000 +0000
++++ ncurses-5.9-20130504/include/term_entry.h 2013-02-02 20:07:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+ * and: Thomas E. Dickey 1998-on *
+ ****************************************************************************/
+
+-/* $Id: term_entry.h,v 1.37 2009/07/11 16:52:29 tom Exp $ */
++/* $Id: term_entry.h,v 1.43 2013/02/02 20:07:23 tom Exp $ */
+
+ /*
+ * term_entry.h -- interface to entry-manipulation code
+@@ -47,28 +47,46 @@
+
+ #include <term.h>
+
++ /*
++ * see db_iterator.c - this enumeration lists the places searched for a
++ * terminal description and defines the order in which they are searched.
++ */
++ typedef enum {
++ dbdTIC = 0, /* special, used by tic when writing entry */
++#if USE_DATABASE
++ dbdEnvOnce, /* the $TERMINFO environment variable */
++ dbdHome, /* $HOME/.terminfo */
++ dbdEnvList, /* the $TERMINFO_DIRS environment variable */
++ dbdCfgList, /* the compiled-in TERMINFO_DIRS value */
++ dbdCfgOnce, /* the compiled-in TERMINFO value */
++#endif
++#if USE_TERMCAP
++ dbdEnvOnce2, /* the $TERMCAP environment variable */
++ dbdEnvList2, /* the $TERMPATH environment variable */
++ dbdCfgList2, /* the compiled-in TERMPATH */
++#endif
++ dbdLAST
++ } DBDIRS;
++
+ #define MAX_USES 32
+ #define MAX_CROSSLINKS 16
+
+-typedef struct entry {
+- TERMTYPE tterm;
+- unsigned nuses;
+- struct
+- {
+- char *name;
+- struct entry *link;
+- long line;
+- }
+- uses[MAX_USES];
+- int ncrosslinks;
+- struct entry *crosslinks[MAX_CROSSLINKS];
+- long cstart, cend;
+- long startline;
+- struct entry *next;
+- struct entry *last;
+-}
+-ENTRY;
+-
++ typedef struct entry {
++ TERMTYPE tterm;
++ unsigned nuses;
++ struct {
++ char *name;
++ struct entry *link;
++ long line;
++ } uses[MAX_USES];
++ int ncrosslinks;
++ struct entry *crosslinks[MAX_CROSSLINKS];
++ long cstart, cend;
++ long startline;
++ struct entry *next;
++ struct entry *last;
++ } ENTRY;
++/* *INDENT-OFF* */
+ #if NCURSES_XNAMES
+ #define NUM_BOOLEANS(tp) (tp)->num_Booleans
+ #define NUM_NUMBERS(tp) (tp)->num_Numbers
+@@ -132,7 +150,7 @@
+
+ /* alloc_ttype.c: elementary allocation code */
+ extern NCURSES_EXPORT(void) _nc_align_termtype (TERMTYPE *, TERMTYPE *);
+-extern NCURSES_EXPORT(void) _nc_copy_termtype (TERMTYPE *, TERMTYPE *);
++extern NCURSES_EXPORT(void) _nc_copy_termtype (TERMTYPE *, const TERMTYPE *);
+
+ /* free_ttype.c: elementary allocation code */
+ extern NCURSES_EXPORT(void) _nc_free_termtype (TERMTYPE *);
+@@ -166,9 +184,9 @@
+
+ /* trace_xnames.c */
+ extern NCURSES_EXPORT(void) _nc_trace_xnames (TERMTYPE *);
++/* *INDENT-ON* */
+
+ #ifdef __cplusplus
+ }
+ #endif
+-
+-#endif /* NCURSES_TERM_ENTRY_H_incl */
++#endif /* NCURSES_TERM_ENTRY_H_incl */
+Index: include/tic.h
+Prereq: 1.65
+--- ncurses-5.9/include/tic.h 2009-08-08 17:52:46.000000000 +0000
++++ ncurses-5.9-20130504/include/tic.h 2012-03-17 18:22:10.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,14 +33,14 @@
+ ****************************************************************************/
+
+ /*
+- * $Id: tic.h,v 1.65 2009/08/08 17:52:46 tom Exp $
++ * $Id: tic.h,v 1.69 2012/03/17 18:22:10 tom Exp $
+ * tic.h - Global variables and structures for the terminfo
+ * compiler.
+ */
+
+ #ifndef __TIC_H
+ #define __TIC_H
+-
++/* *INDENT-OFF* */
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -224,6 +224,12 @@
+
+ #define NOTFOUND ((struct name_table_entry *) 0)
+
++/*
++ * The casts are required for correct sign-propagation with systems such as
++ * AIX, IRIX64, Solaris which default to unsigned characters. The C standard
++ * leaves this detail unspecified.
++ */
++
+ /* out-of-band values for representing absent capabilities */
+ #define ABSENT_BOOLEAN ((signed char)-1) /* 255 */
+ #define ABSENT_NUMERIC (-1)
+@@ -248,6 +254,8 @@
+ #define TERMINFO "/usr/share/terminfo"
+ #endif
+
++#ifdef NCURSES_TERM_ENTRY_H_incl
++
+ /* access.c */
+ extern NCURSES_EXPORT(unsigned) _nc_pathlast (const char *);
+ extern NCURSES_EXPORT(bool) _nc_is_abs_path (const char *);
+@@ -270,6 +278,7 @@
+ extern NCURSES_EXPORT_VAR(int) _nc_curr_col;
+ extern NCURSES_EXPORT_VAR(int) _nc_curr_line;
+ extern NCURSES_EXPORT_VAR(int) _nc_syntax;
++extern NCURSES_EXPORT_VAR(int) _nc_strict_bsd;
+ extern NCURSES_EXPORT_VAR(long) _nc_comment_end;
+ extern NCURSES_EXPORT_VAR(long) _nc_comment_start;
+ extern NCURSES_EXPORT_VAR(long) _nc_curr_file_pos;
+@@ -314,23 +323,6 @@
+ extern const char * _nc_progname;
+
+ /* db_iterator.c */
+-typedef enum {
+- dbdTIC = 0,
+-#if USE_DATABASE
+- dbdEnvOnce,
+- dbdHome,
+- dbdEnvList,
+- dbdCfgList,
+- dbdCfgOnce,
+-#endif
+-#if USE_TERMCAP
+- dbdEnvOnce2,
+- dbdEnvList2,
+- dbdCfgList2,
+-#endif
+- dbdLAST
+-} DBDIRS;
+-
+ extern NCURSES_EXPORT(const char *) _nc_next_db(DBDIRS *, int *);
+ extern NCURSES_EXPORT(const char *) _nc_tic_dir (const char *);
+ extern NCURSES_EXPORT(void) _nc_first_db(DBDIRS *, int *);
+@@ -339,8 +331,11 @@
+ /* write_entry.c */
+ extern NCURSES_EXPORT(int) _nc_tic_written (void);
+
++#endif /* NCURSES_TERM_ENTRY_H_incl */
++
+ #ifdef __cplusplus
+ }
+ #endif
+
++/* *INDENT-ON* */
+ #endif /* __TIC_H */
+Index: man/Makefile.in
+Prereq: 1.45
+--- ncurses-5.9/man/Makefile.in 2010-11-27 21:45:27.000000000 +0000
++++ ncurses-5.9-20130504/man/Makefile.in 2012-08-11 21:31:56.000000000 +0000
+@@ -1,4 +1,4 @@
+-# $Id: Makefile.in,v 1.45 2010/11/27 21:45:27 tom Exp $
++# $Id: Makefile.in,v 1.46 2012/08/11 21:31:56 tom Exp $
+ ##############################################################################
+ # Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. #
+ # #
+@@ -41,6 +41,7 @@
+ srcdir = @srcdir@
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
++datarootdir = @datarootdir@
+ datadir = @datadir@
+ mandir = @mandir@
+
+Index: man/curs_add_wch.3x
+Prereq: 1.14
+--- ncurses-5.9/man/curs_add_wch.3x 2011-01-15 15:27:43.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_add_wch.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2001-2010,2011 Free Software Foundation, Inc. *
++.\" Copyright (c) 2001-2011,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_add_wch.3x,v 1.14 2011/01/15 15:27:43 tom Exp $
++.\" $Id: curs_add_wch.3x,v 1.15 2012/11/03 23:03:59 tom Exp $
+ .TH curs_add_wch 3X ""
+ .de bP
+ .IP \(bu 4
+@@ -176,7 +176,7 @@
+ WACS_D_VLINE 0x2551 | double vertical line
+ WACS_D_PLUS 0x256c + double large plus or crossover
+ .TE
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ .PP
+ All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
+ .PP
+Index: man/curs_add_wchstr.3x
+Prereq: 1.9
+--- ncurses-5.9/man/curs_add_wchstr.3x 2010-12-04 18:36:44.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_add_wchstr.3x 2012-11-03 22:54:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2005,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,8 +26,13 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_add_wchstr.3x,v 1.9 2010/12/04 18:36:44 tom Exp $
++.\" $Id: curs_add_wchstr.3x,v 1.10 2012/11/03 22:54:43 tom Exp $
+ .TH curs_add_wchstr 3X ""
++.de bP
++.IP \(bu 4
++..
++.na
++.hy 0
+ .SH NAME
+ \fBadd_wchstr\fR,
+ \fBadd_wchnstr\fR,
+@@ -37,10 +42,12 @@
+ \fBmvadd_wchnstr\fR,
+ \fBmvwadd_wchstr\fR,
+ \fBmvwadd_wchnstr\fR \- add an array of complex characters (and attributes) to a curses window
++.ad
++.hy
+ .SH SYNOPSIS
+-.B #include <curses.h>
+-.PP
+ .nf
++\fB#include <curses.h>\fR
++.PP
+ \fBint add_wchstr(const cchar_t *\fR\fIwchstr\fR\fB);\fR
+ .br
+ \fBint add_wchnstr(const cchar_t *\fR\fIwchstr\fR\fB, int \fR\fIn\fR\fB);\fR
+@@ -58,38 +65,53 @@
+ \fBint mvwadd_wchnstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const cchar_t *\fR\fIwchstr\fR\fB, int \fR\fIn\fR\fB);\fR
+ .fi
+ .SH DESCRIPTION
+-These routines copy the array of complex characters \fIwchstr\fR
+-into the window image structure at and after the current cursor position.
+-The four routines with \fIn\fR as the last
+-argument copy at most \fIn\fR elements, but no more than will fit on the line.
++These functions copy the (null-terminated)
++array of complex characters \fIwchstr\fR
++into the window image structure
++starting at the current cursor position.
++The four functions with \fIn\fR as the last
++argument copy at most \fIn\fR elements,
++but no more than will fit on the line.
+ If \fBn\fR=\fB\-1\fR then the whole array is copied,
+ to the maximum number of characters that will fit on the line.
+ .PP
+ The window cursor is \fInot\fR advanced.
+-These routines work faster than \fBwaddnstr\fR.
+-On the other hand, they do not perform checking
++These functions work faster than \fBwaddnstr\fR.
++On the other hand:
++.bP
++they do not perform checking
+ (such as for the newline, backspace, or carriage return characters),
++.bP
+ they do not advance the current cursor position,
+-they do not expand other control characters to ^-escapes,
+-and they truncate the string if it crosses the right margin,
++.bP
++they do not expand other control characters to ^-escapes, and
++.bP
++they truncate the string if it crosses the right margin,
+ rather than wrapping it around to the new line.
+ .PP
+-These routines end successfully
++These functions end successfully
+ on encountering a null \fIcchar_t\fR, or
+ when they have filled the current line.
+ If a complex character cannot completely fit at the end of the current line,
+ the remaining columns are filled with the background character and rendition.
+-.SH NOTES
+-All functions except \fBwadd_wchnstr\fR may be macros.
+-.SH RETURN VALUES
+-All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
++.SH RETURN VALUE
++All functions return the integer \fBERR\fR upon failure and \fBOK\fR on success.
++.PP
++X/Open does not define any error conditions.
++This implementation returns an error
++if the window pointer is null.
+ .PP
+ Functions with a "mv" prefix first perform a cursor movement using
+ \fBwmove\fP, and return an error if the position is outside the window,
+ or if the window pointer is null.
++.SH NOTES
++All functions except \fBwadd_wchnstr\fR may be macros.
+ .SH PORTABILITY
+-All these entry points are described in the XSI Curses standard, Issue 4.
++These entry points are described in the XSI Curses standard, Issue 4.
+ .SH SEE ALSO
+-\fBcurses\fR(3X),
+-\fBcurs_addchstr\fR(3X),
+-\fBcurs_addwstr\fR(3X)
++\fBcurs_addwstr\fR(3X),
++\fBcurses\fR(3X).
++.PP
++Comparable functions in the narrow-character (ncurses) library are
++described in
++\fBcurs_addchstr\fR(3X).
+Index: man/curs_addchstr.3x
+Prereq: 1.15
+--- ncurses-5.9/man/curs_addchstr.3x 2010-12-04 18:36:44.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_addchstr.3x 2012-11-03 22:54:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,8 +26,11 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addchstr.3x,v 1.15 2010/12/04 18:36:44 tom Exp $
++.\" $Id: curs_addchstr.3x,v 1.16 2012/11/03 22:54:43 tom Exp $
+ .TH curs_addchstr 3X ""
++.de bP
++.IP \(bu 4
++..
+ .na
+ .hy 0
+ .SH NAME
+@@ -42,6 +45,7 @@
+ .ad
+ .hy
+ .SH SYNOPSIS
++.nf
+ \fB#include <curses.h>\fR
+ .PP
+ \fBint addchstr(const chtype *chstr);\fR
+@@ -59,24 +63,33 @@
+ \fBint mvwaddchstr(WINDOW *win, int y, int x, const chtype *chstr);\fR
+ .br
+ \fBint mvwaddchnstr(WINDOW *win, int y, int x, const chtype *chstr, int n);\fR
++.fi
+ .SH DESCRIPTION
+-These routines copy \fIchstr\fR into the window image structure at and after
+-the current cursor position. The four routines with \fIn\fR as the last
+-argument copy at most \fIn\fR elements, but no more than will fit on the line.
+-If \fBn\fR=\fB\-1\fR then the whole string is copied, to the maximum number of
+-characters that will fit on the line.
++These functions copy the (null-terminated)
++\fIchstr\fR array
++into the window image structure
++starting at the current cursor position.
++The four functions with \fIn\fR as the last
++argument copy at most \fIn\fR elements,
++but no more than will fit on the line.
++If \fBn\fR=\fB\-1\fR then the whole array is copied,
++to the maximum number of characters that will fit on the line.
+ .PP
+-The window cursor is \fInot\fR advanced, and these routines work faster than
+-\fBwaddnstr\fR. On the other hand, they do not perform any kind of checking
+-(such as for the newline, backspace, or carriage return characters), they do not
+-advance the current cursor position, they do not expand other control characters
+-to ^-escapes, and they truncate the string if it crosses the right margin,
++The window cursor is \fInot\fR advanced.
++These functions work faster than \fBwaddnstr\fR.
++On the other hand:
++.bP
++they do not perform checking
++(such as for the newline, backspace, or carriage return characters),
++.bP
++they do not advance the current cursor position,
++.bP
++they do not expand other control characters to ^-escapes, and
++.bP
++they truncate the string if it crosses the right margin,
+ rather than wrapping it around to the new line.
+-.SH RETURN VALUES
+-All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success
+-(the SVr4 manuals specify only "an integer value other than \fBERR\fR") upon
+-successful completion, unless otherwise noted in the preceding routine
+-descriptions.
++.SH RETURN VALUE
++All functions return the integer \fBERR\fR upon failure and \fBOK\fR on success.
+ .PP
+ X/Open does not define any error conditions.
+ This implementation returns an error
+@@ -86,10 +99,11 @@
+ \fBwmove\fP, and return an error if the position is outside the window,
+ or if the window pointer is null.
+ .SH NOTES
+-Note that all routines except \fBwaddchnstr\fR may be macros.
++All functions except \fBwaddchnstr\fR may be macros.
+ .SH PORTABILITY
+ These entry points are described in the XSI Curses standard, Issue 4.
+ .SH SEE ALSO
++\fBcurs_addstr\fR(3X),
+ \fBcurses\fR(3X).
+ .PP
+ Comparable functions in the wide-character (ncursesw) library are
+Index: man/curs_addstr.3x
+Prereq: 1.16
+--- ncurses-5.9/man/curs_addstr.3x 2010-12-04 18:36:44.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_addstr.3x 2012-11-03 22:57:31.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,8 +26,11 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addstr.3x,v 1.16 2010/12/04 18:36:44 tom Exp $
++.\" $Id: curs_addstr.3x,v 1.17 2012/11/03 22:57:31 tom Exp $
+ .TH curs_addstr 3X ""
++.de bP
++.IP \(bu 4
++..
+ .na
+ .hy 0
+ .SH NAME
+@@ -62,34 +65,37 @@
+ \fBint mvwaddnstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const char *\fR\fIstr, int \fR\fIn\fR\fB);\fR
+ .fi
+ .SH DESCRIPTION
+-These routines write the characters of the (null-terminated) character string
++These functions write the (null-terminated) character string
+ \fIstr\fR on the given window.
+ It is similar to calling \fBwaddch\fR once for each character in the string.
+-The four routines with \fIn\fR as the last argument
+-write at most \fIn\fR characters.
+-If \fIn\fR is \-1, then the entire string will be added,
+-up to the maximum number of characters that will fit on the line,
++.PP
++The \fImv\fR functions perform cursor movement once, before writing any
++characters.
++Thereafter, the cursor is advanced as a side-effect of writing to the window.
++.PP
++The four functions with \fIn\fR as the last argument
++write at most \fIn\fR characters,
+ or until a terminating null is reached.
++If \fIn\fR is \-1, then the entire string will be added.
+ .SH RETURN VALUE
+-All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success
+-(the SVr4 manuals specify only "an integer value other than \fBERR\fR") upon
+-successful completion.
++All functions return the integer \fBERR\fR upon failure and \fBOK\fR on success.
+ .PP
+ X/Open does not define any error conditions.
+ This implementation returns an error
++.bP
+ if the window pointer is null or
++.bP
+ if the string pointer is null or
++.bP
+ if the corresponding calls to \fBwaddch\fP return an error.
+ .PP
+ Functions with a "mv" prefix first perform a cursor movement using
+ \fBwmove\fP, and return an error if the position is outside the window,
+ or if the window pointer is null.
+ .SH NOTES
+-Note that all of these routines except \fBwaddstr\fR and \fBwaddnstr\fR may be
+-macros.
++All of these functions except \fBwaddnstr\fR may be macros.
+ .SH PORTABILITY
+-All these entry points are described in the XSI Curses standard, Issue 4. The
+-XSI errors EILSEQ and EOVERFLOW, associated with extended-level conformance,
+-are not yet detected.
++These functions are described in the XSI Curses standard, Issue 4.
+ .SH SEE ALSO
+-\fBcurses\fR(3X), \fBcurs_addch\fR(3X).
++\fBcurses\fR(3X),
++\fBcurs_addch\fR(3X).
+Index: man/curs_addwstr.3x
+Prereq: 1.10
+--- ncurses-5.9/man/curs_addwstr.3x 2010-12-04 18:36:44.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_addwstr.3x 2012-11-03 22:57:31.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,8 +26,11 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addwstr.3x,v 1.10 2010/12/04 18:36:44 tom Exp $
++.\" $Id: curs_addwstr.3x,v 1.11 2012/11/03 22:57:31 tom Exp $
+ .TH curs_addwstr 3X ""
++.de bP
++.IP \(bu 4
++..
+ .na
+ .hy 0
+ .SH NAME
+@@ -62,31 +65,39 @@
+ \fBint mvwaddnwstr(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, const wchar_t *\fR\fIwstr\fR\fB, int \fR\fIn\fR\fB);\fR
+ .fi
+ .SH DESCRIPTION
+-These routines write the characters of the
++These functions write the characters of the
+ (null-terminated) \fBwchar_t\fR character string
+ \fIwstr\fR on the given window.
+ It is similar to constructing a \fBcchar_t\fR for each wchar_t in the string,
+ then calling \fBwadd_wch\fR for the resulting \fBcchar_t\fR.
+ .PP
+-The \fImv\fR routines perform cursor movement once, before writing any
++The \fImv\fR functions perform cursor movement once, before writing any
+ characters.
+ Thereafter, the cursor is advanced as a side-effect of writing to the window.
+ .PP
+-The four routines with \fIn\fR as the last argument
+-write at most \fIn\fR \fBwchar_t\fR characters.
+-If \fIn\fR is \-1, then the entire string will be added,
+-up to the maximum number of characters that will fit on the line,
++The four functions with \fIn\fR as the last argument
++write at most \fIn\fR \fBwchar_t\fR characters,
+ or until a terminating null is reached.
+-.SH RETURN VALUES
+-All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
++If \fIn\fR is \-1, then the entire string will be added.
++.SH RETURN VALUE
++All functions return the integer \fBERR\fR upon failure and \fBOK\fR on success.
++.PP
++X/Open does not define any error conditions.
++This implementation returns an error
++.bP
++if the window pointer is null or
++.bP
++if the string pointer is null or
++.bP
++if the corresponding calls to \fBwadd_wch\fP return an error.
+ .PP
+ Functions with a "mv" prefix first perform a cursor movement using
+ \fBwmove\fP, and return an error if the position is outside the window,
+ or if the window pointer is null.
+ .SH NOTES
+-Note that all of these routines except \fBwaddnwstr\fR may be macros.
++All of these functions except \fBwaddnwstr\fR may be macros.
+ .SH PORTABILITY
+-All these entry points are described in the XSI Curses standard, Issue 4.
++These functions are described in the XSI Curses standard, Issue 4.
+ .SH SEE ALSO
+ \fBcurses\fR(3X),
+ \fBcurs_add_wch\fR(3X)
+Index: man/curs_bkgrnd.3x
+Prereq: 1.4
+--- ncurses-5.9/man/curs_bkgrnd.3x 2010-12-04 18:49:20.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_bkgrnd.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_bkgrnd.3x,v 1.4 2010/12/04 18:49:20 tom Exp $
++.\" $Id: curs_bkgrnd.3x,v 1.5 2012/11/03 23:03:59 tom Exp $
+ .TH curs_bkgrnd 3X ""
+ .SH NAME
+ \fBbkgrnd\fR,
+@@ -89,7 +89,7 @@
+ \fBbkgrndset\fR, and
+ \fBgetbkgrnd\fR
+ may be macros.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ The \fBbkgrndset\fR and \fBwbkgrndset\fR routines do not return a value.
+ .PP
+ Upon successful completion, the other functions return \fBOK\fR.
+Index: man/curs_border_set.3x
+Prereq: 1.10
+--- ncurses-5.9/man/curs_border_set.3x 2011-01-15 12:56:18.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_border_set.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2010,2011 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2011,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_border_set.3x,v 1.10 2011/01/15 12:56:18 tom Exp $
++.\" $Id: curs_border_set.3x,v 1.11 2012/11/03 23:03:59 tom Exp $
+ .TH curs_border_set 3X ""
+ .na
+ .hy 0
+@@ -187,7 +187,7 @@
+ \fBvline_set\fR
+ may be macros.
+ .br
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ .PP
+ Upon successful completion, these functions return
+ \fBOK\fR.
+Index: man/curs_get_wch.3x
+Prereq: 1.7
+--- ncurses-5.9/man/curs_get_wch.3x 2010-08-14 23:31:42.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_get_wch.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_get_wch.3x,v 1.7 2010/08/14 23:31:42 tom Exp $
++.\" $Id: curs_get_wch.3x,v 1.8 2012/11/03 23:03:59 tom Exp $
+ .TH curs_get_wch 3X ""
+ .SH NAME
+ \fBget_wch\fR,
+@@ -132,7 +132,7 @@
+ .PP
+ All functions except \fBwget_wch\fR and \fBunget_wch\fR
+ may be macros.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ When
+ \fBget_wch\fR,
+ \fBwget_wch\fR,
+Index: man/curs_get_wstr.3x
+Prereq: 1.8
+--- ncurses-5.9/man/curs_get_wstr.3x 2010-12-04 18:36:44.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_get_wstr.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_get_wstr.3x,v 1.8 2010/12/04 18:36:44 tom Exp $
++.\" $Id: curs_get_wstr.3x,v 1.9 2012/11/03 23:03:59 tom Exp $
+ .TH curs_get_wstr 3X ""
+ .na
+ .hy 0
+@@ -144,7 +144,7 @@
+ is no way to distinguish a \fBKEY_\fR value from a valid \fBwchar_t\fR value.
+ .PP
+ All of these routines except \fBwgetn_wstr\fR may be macros.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ All of these functions return \fBOK\fR upon successful completion.
+ Otherwise, they return \fBERR\fR.
+ .PP
+Index: man/curs_getcchar.3x
+Prereq: 1.15
+--- ncurses-5.9/man/curs_getcchar.3x 2010-12-04 18:36:44.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_getcchar.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2001-2009,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2001-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_getcchar.3x,v 1.15 2010/12/04 18:36:44 tom Exp $
++.\" $Id: curs_getcchar.3x,v 1.16 2012/11/03 23:03:59 tom Exp $
+ .TH curs_getcchar 3X ""
+ .de bP
+ .IP \(bu 4
+@@ -116,7 +116,7 @@
+ The \fIwcval\fP argument may be a value generated by a call to
+ \fBsetcchar\fP or by a function that has a \fBcchar_t\fP output argument.
+ If \fIwcval\fP is constructed by any other means, the effect is unspecified.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ .PP
+ When \fIwch\fP is a null pointer,
+ \fBgetcchar\fP returns the number of wide characters referenced by
+Index: man/curs_getch.3x
+Prereq: 1.36
+--- ncurses-5.9/man/curs_getch.3x 2011-01-22 19:38:51.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_getch.3x 2012-07-07 20:04:56.000000000 +0000
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_getch.3x,v 1.36 2011/01/22 19:38:51 tom Exp $
++.\" $Id: curs_getch.3x,v 1.37 2012/07/07 20:04:56 tom Exp $
+ .TH curs_getch 3X ""
+ .na
+ .hy 0
+@@ -237,14 +237,14 @@
+ All routines return the integer \fBERR\fR upon failure and an integer value
+ other than \fBERR\fR (\fBOK\fR in the case of ungetch()) upon successful
+ completion.
+-.RS
++.RS 3
+ .TP 5
+ \fBungetch\fP
+-returns an error
++returns ERR
+ if there is no more room in the FIFO.
+-.TP 5
++.TP
+ \fBwgetch\fP
+-returns an error
++returns ERR
+ if the window pointer is null, or
+ if its timeout expires without having any data.
+ .RE
+Index: man/curs_in_wchstr.3x
+Prereq: 1.8
+--- ncurses-5.9/man/curs_in_wchstr.3x 2010-12-04 18:36:44.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_in_wchstr.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_in_wchstr.3x,v 1.8 2010/12/04 18:36:44 tom Exp $
++.\" $Id: curs_in_wchstr.3x,v 1.9 2012/11/03 23:03:59 tom Exp $
+ .TH curs_in_wchstr 3X ""
+ .na
+ .hy 0
+@@ -98,7 +98,7 @@
+ \fBmvwin_wchnstr\fR, or
+ \fBwin_wchnstr\fR
+ is recommended.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ Upon successful completion, these functions return
+ \fBOK\fR.
+ Otherwise, they return
+Index: man/curs_inopts.3x
+Prereq: 1.15
+--- ncurses-5.9/man/curs_inopts.3x 2010-12-04 18:40:45.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_inopts.3x 2012-04-28 19:09:15.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_inopts.3x,v 1.15 2010/12/04 18:40:45 tom Exp $
++.\" $Id: curs_inopts.3x,v 1.17 2012/04/28 19:09:15 tom Exp $
+ .TH curs_inopts 3X ""
+ .na
+ .hy 0
+@@ -223,6 +223,42 @@
+ left the echo bit on at initialization, but the BSD \fBraw\fR call turned it
+ off as a side-effect. For best portability, set echo or noecho explicitly
+ just after initialization, even if your program remains in cooked mode.
++.PP
++When \fBkeypad\fP is first enabled,
++ncurses loads the key-definitions for the current terminal description.
++If the terminal description includes extended string capabilities,
++e.g., from using the \fB\-x\fP option of @TIC@,
++then ncurses also defines keys for the capabilities whose names
++begin with "k".
++The corresponding keycodes are generated and (depending on previous
++loads of terminal descriptions) may differ from one execution of a
++program to the next.
++The generated keycodes are recognized by the \fBkeyname\fP function
++(which will then return a name beginning with "k" denoting the
++terminfo capability name rather than "K", used for curses key-names).
++On the other hand, an application can use \fBdefine_key\fP to establish
++a specific keycode for a given string.
++This makes it possible for an application to check for an extended
++capability's presence with \fItigetstr\fP,
++and reassign the keycode to match its own needs.
++.PP
++Low-level applications can use \fBtigetstr\fP to obtain the definition
++of any particular string capability.
++Higher-level applications which use the curses \fBwgetch\fP
++and similar functions to return keycodes rely upon the order in which
++the strings are loaded.
++If more than one key definition has the same string value,
++then \fBwgetch\fP can return only one keycode.
++Most curses implementations (including ncurses)
++load key definitions in the order
++defined by the array of string capability names.
++The last key to be loaded determines the keycode which will be returned.
++In ncurses, you may also have extended capabilities interpreted as
++key definitions.
++These are loaded after the predefined keys,
++and if a capability's value is the same as a previously-loaded
++key definition,
++the later definition is the one used.
+ .SH NOTES
+ Note that \fBecho\fR, \fBnoecho\fR, \fBhalfdelay\fR, \fBintrflush\fR,
+ \fBmeta\fR, \fBnodelay\fR, \fBnotimeout\fR, \fBnoqiflush\fR,
+@@ -233,4 +269,9 @@
+ respectively. Mixing raw/noraw and cbreak/nocbreak calls leads to tty driver
+ control states that are hard to predict or understand; it is not recommended.
+ .SH SEE ALSO
+-\fBcurses\fR(3X), \fBcurs_getch\fR(3X), \fBcurs_initscr\fR(3X), \fBtermio\fR(7)
++\fBcurses\fR(3X),
++\fBcurs_getch\fR(3X),
++\fBcurs_initscr\fR(3X),
++\fBcurs_util\fR(3X),
++\fBdefine_key\fR(3X),
++\fBtermio\fR(7)
+Index: man/curs_ins_wstr.3x
+Prereq: 1.6
+--- ncurses-5.9/man/curs_ins_wstr.3x 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_ins_wstr.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2005,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_ins_wstr.3x,v 1.6 2010/12/04 18:38:55 tom Exp $
++.\" $Id: curs_ins_wstr.3x,v 1.7 2012/11/03 23:03:59 tom Exp $
+ .TH curs_ins_wstr 3X ""
+ .na
+ .hy 0
+@@ -92,7 +92,7 @@
+ functions will fail.
+ XSI does not define what will happen if a nonspacing character follows
+ a control character.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ Upon successful completion, these functions return OK.
+ Otherwise, they return ERR.
+ .PP
+Index: man/curs_inwstr.3x
+Prereq: 1.7
+--- ncurses-5.9/man/curs_inwstr.3x 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_inwstr.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_inwstr.3x,v 1.7 2010/12/04 18:38:55 tom Exp $
++.\" $Id: curs_inwstr.3x,v 1.8 2012/11/03 23:03:59 tom Exp $
+ .TH curs_inwstr 3X ""
+ .SH NAME
+ \fBinwstr\fR,
+@@ -72,7 +72,7 @@
+ Note that all routines except
+ \fBwinnwstr\fR
+ may be macros.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ All routines return
+ \fBERR\fR
+ upon failure. Upon
+Index: man/curs_overlay.3x
+Prereq: 1.16
+--- ncurses-5.9/man/curs_overlay.3x 2010-12-04 18:40:45.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_overlay.3x 2013-04-06 23:48:51.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_overlay.3x,v 1.16 2010/12/04 18:40:45 tom Exp $
++.\" $Id: curs_overlay.3x,v 1.17 2013/04/06 23:48:51 tom Exp $
+ .TH curs_overlay 3X ""
+ .na
+ .hy 0
+@@ -48,18 +48,21 @@
+ \fBint dmaxcol, int overlay);\fR
+ .SH DESCRIPTION
+ The \fBoverlay\fR and \fBoverwrite\fR routines overlay \fIsrcwin\fR on
+-top of \fIdstwin\fR. \fIscrwin\fR and \fIdstwin\fR are not required
+-to be the same size; only text where the two windows overlap is
+-copied. The difference is that \fBoverlay\fR is non-destructive
++top of \fIdstwin\fR.
++\fIscrwin\fR and \fIdstwin\fR are not required
++to be the same size; only text where the two windows overlap is copied.
++The difference is that \fBoverlay\fR is non-destructive
+ (blanks are not copied) whereas \fBoverwrite\fR is destructive.
+ .PP
+ The \fBcopywin\fR routine provides a finer granularity of control over the
+-\fBoverlay\fR and \fBoverwrite\fR routines. Like in the \fBprefresh\fR
+-routine, a rectangle is specified in the destination window, (\fIdminrow\fR,
++\fBoverlay\fR and \fBoverwrite\fR routines.
++As in the \fBprefresh\fR routine,
++a rectangle is specified in the destination window, (\fIdminrow\fR,
+ \fIdmincol\fR) and (\fIdmaxrow\fR, \fIdmaxcol\fR), and the upper-left-corner
+-coordinates of the source window, (\fIsminrow\fR, \fIsmincol\fR). If the
+-argument \fIoverlay\fR is \fBtrue\fR, then copying is non-destructive, as in
+-\fBoverlay\fR.
++coordinates of the source window, (\fIsminrow\fR, \fIsmincol\fR).
++If the argument \fIoverlay\fR is \fBtrue\fR,
++then copying is non-destructive,
++as in \fBoverlay\fR.
+ .SH RETURN VALUE
+ Routines that return an integer return \fBERR\fR upon failure, and \fBOK\fR
+ (SVr4 only specifies "an integer value other than \fBERR\fR") upon successful
+@@ -75,7 +78,8 @@
+ Note that \fBoverlay\fR and \fBoverwrite\fR may be macros.
+ .SH PORTABILITY
+ The XSI Curses standard, Issue 4 describes these functions (adding the const
+-qualifiers). It further specifies their behavior in the presence of characters
++qualifiers).
++It further specifies their behavior in the presence of characters
+ with multibyte renditions (not yet supported in this implementation).
+ .SH SEE ALSO
+ \fBcurses\fR(3X), \fBcurs_pad\fR(3X), \fBcurs_refresh\fR(3X)
+Index: man/curs_termcap.3x
+Prereq: 1.26
+--- ncurses-5.9/man/curs_termcap.3x 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_termcap.3x 2013-01-19 15:58:48.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,8 +26,11 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_termcap.3x,v 1.26 2010/12/04 18:38:55 tom Exp $
++.\" $Id: curs_termcap.3x,v 1.30 2013/01/19 15:58:48 tom Exp $
+ .TH curs_termcap 3X ""
++.de bP
++.IP \(bu 4
++..
+ .na
+ .hy 0
+ .ds n 5
+@@ -75,11 +78,39 @@
+ routines are emulated using the \fIterminfo\fR database. Thus, they
+ can only be used to query the capabilities of entries for which a
+ terminfo entry has been compiled.
++.SS INITIALIZATION
+ .PP
+ The \fBtgetent\fR routine loads the entry for \fIname\fR.
+-It returns 1 on success, 0 if there is no such entry, and \-1 if the
+-terminfo database could not be found.
++It returns:
++.RS 3
++.TP 3
++1
++on success,
++.TP 3
++0
++if there is no such entry
++(or that it is a generic type, having too little information for curses
++applications to run), and
++.TP 3
++\-1
++if the terminfo database could not be found.
++.RE
++.PP
++This differs from the \fItermcap\fP library in two ways:
++.RS 3
++.bP
+ The emulation ignores the buffer pointer \fIbp\fR.
++The \fItermcap\fP library would store a copy of the terminal
++description in the area referenced by this pointer.
++However, ncurses stores its terminal descriptions in compiled
++binary form, which is not the same thing.
++.bP
++There is a difference in return codes.
++The \fItermcap\fP library does not check if the terminal
++description is marked with the \fIgeneric\fP capability,
++or if the terminal description has cursor-addressing.
++.RE
++.SS CAPABILITY VALUES
+ .PP
+ The \fBtgetflag\fR routine gets the boolean entry for \fIid\fR,
+ or zero if it is not available.
+@@ -98,12 +129,14 @@
+ \fBtgetflag\fR,
+ \fBtgetnum\fR and
+ \fBtgetstr\fR are compared in lookups.
++.SS FORMATTING CAPABILITIES
+ .PP
+ The \fBtgoto\fR routine instantiates the parameters into the given capability.
+ The output from this routine is to be passed to \fBtputs\fR.
+ .PP
+ The \fBtputs\fR routine is described on the \fBcurs_terminfo\fR(3X) manual
+ page. It can retrieve capabilities by either termcap or terminfo name.
++.SS GLOBAL VARIABLES
+ .PP
+ The variables
+ \fBPC\fR,
+@@ -165,8 +198,28 @@
+ e.g., not distinguishing between input and output.
+ In particular, some applications are reported to declare and/or
+ modify \fBospeed\fR.
++.PP
++The comment that only the first two characters of the \fBid\fR parameter
++are used escapes many application developers.
++The original BSD 4.2 termcap library (and historical relics thereof)
++did not require a trailing null NUL on the parameter name passed
++to \fBtgetstr\fP, \fBtgetnum\fP and \fBtgetflag\fP.
++Some applications assume that the termcap interface does not require
++the trailing NUL for the parameter name.
++Taking into account these issues:
++.bP
++As a special case,
++\fBtgetflag\fP matched against a single-character identifier
++provided that was at the end of the terminal description.
++You should not rely upon this behavior in portable programs.
++This implementation disallows matches against single-character capability names.
++.bP
++This implementation disallows matches by the termcap interface against
++extended capability names which are longer than two characters.
+ .SH SEE ALSO
+ \fBcurses\fR(3X),
+ \fBterminfo\fR(\*n),
+ \fBterm_variables\fR(3X),
+ \fBputc\fR(3).
++.sp
++http://invisible-island.net/ncurses/tctest.html
+Index: man/curs_terminfo.3x
+Prereq: 1.35
+--- ncurses-5.9/man/curs_terminfo.3x 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_terminfo.3x 2013-01-12 18:11:40.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1999-2008,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1999-2011,2013 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_terminfo.3x,v 1.35 2010/12/04 18:38:55 tom Exp $
++.\" $Id: curs_terminfo.3x,v 1.37 2013/01/12 18:11:40 tom Exp $
+ .TH curs_terminfo 3X ""
+ .ds n 5
+ .na
+@@ -77,7 +77,7 @@
+ .br
+ \fBint vidattr(chtype \fR\fIattrs\fR\fB);\fR
+ .br
+-\fBint vid_puts(attr_t \fR\fIattrs\fR\fB, short \fR\fIpair\fR\fB, void *\fR\fIopts\fR\fB, int (*\fR\fIputc\fR\fB)(char));\fR
++\fBint vid_puts(attr_t \fR\fIattrs\fR\fB, short \fR\fIpair\fR\fB, void *\fR\fIopts\fR\fB, int (*\fR\fIputc\fR\fB)(int));\fR
+ .br
+ \fBint vid_attr(attr_t \fR\fIattrs\fR\fB, short \fR\fIpair\fR\fB, void *\fR\fIopts\fR\fB);\fR
+ .br
+@@ -346,7 +346,7 @@
+ This implementation allows the caller to use \-1's for the old ordinates.
+ In that case, the old location is unknown.
+ .PP
+-Extended terminal capability names, e.g., as defined by \fBtic\ \-x\fP,
++Extended terminal capability names, e.g., as defined by \fB@TIC@\ \-x\fP,
+ are not stored in the arrays described in this section.
+ .SH SEE ALSO
+ \fBcurses\fR(3X),
+Index: man/curs_threads.3x
+Prereq: 1.18
+--- ncurses-5.9/man/curs_threads.3x 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_threads.3x 2012-05-26 17:03:26.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2008,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2008-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_threads.3x,v 1.18 2010/12/04 18:38:55 tom Exp $
++.\" $Id: curs_threads.3x,v 1.19 2012/05/26 17:03:26 tom Exp $
+ .TH curs_threads 3X ""
+ .de bP
+ .IP \(bu 4
+@@ -51,9 +51,9 @@
+ .br
+ \fBint set_tabsize(int size);\fR
+ .br
+-\fBint use_screen(SCREEN *scr, NCURSES_WINDOW_CB func, void *data);\fR
++\fBint use_screen(SCREEN *scr, NCURSES_SCREEN_CB func, void *data);\fR
+ .br
+-\fBint use_window(WINDOW *win, NCURSES_SCREEN_CB func, void *data);\fR
++\fBint use_window(WINDOW *win, NCURSES_WINDOW_CB func, void *data);\fR
+ .br
+ .SH DESCRIPTION
+ This implementation can be configured to provide rudimentary support
+Index: man/curs_util.3x
+Prereq: 1.32
+--- ncurses-5.9/man/curs_util.3x 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/curs_util.3x 2012-07-21 18:51:10.000000000 +0000
+@@ -1,5 +1,6 @@
++'\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_util.3x,v 1.32 2010/12/04 18:38:55 tom Exp $
++.\" $Id: curs_util.3x,v 1.36 2012/07/21 18:51:10 tom Exp $
+ .TH curs_util 3X ""
+ .de bP
+ .IP \(bu 4
+@@ -44,6 +45,7 @@
+ \fBputwin\fR,
+ \fBunctrl\fR,
+ \fBuse_env\fR,
++\fBuse_tioctl\fR,
+ \fBwunctrl\fR \- miscellaneous \fBcurses\fR utility routines
+ .ad
+ .hy
+@@ -64,6 +66,8 @@
+ .br
+ \fBvoid use_env(bool f);\fR
+ .br
++\fBvoid use_tioctl(bool f);\fR
++.br
+ \fBint putwin(WINDOW *win, FILE *filep);\fR
+ .br
+ \fBWINDOW *getwin(FILE *filep);\fR
+@@ -123,16 +127,70 @@
+ The limitation arises because the \fBfilter\fP routine modifies the
+ in-memory copy of the terminal information.
+ .PP
+-The \fBuse_env\fR routine, if used, is called before \fBinitscr\fR or
+-\fBnewterm\fR are called. When called with \fBFALSE\fR as an
+-argument, the values of \fBlines\fR and \fBcolumns\fR specified in the
+-\fIterminfo\fR database will be used, even if environment variables
+-\fBLINES\fR and \fBCOLUMNS\fR (used by default) are set, or if
+-\fBcurses\fR is running in a window (in which case default behavior
+-would be to use the window size if \fBLINES\fR and \fBCOLUMNS\fR are
+-not set).
+-Note that setting \fBLINES\fR or \fBCOLUMNS\fR overrides the
+-corresponding size which may be obtained from the operating system.
++The \fBuse_env\fR routine, if used,
++should be called before \fBinitscr\fR or
++\fBnewterm\fR are called
++(because those compute the screen size).
++It modifies the way \fBncurses\fP treats environment variables
++when determining the screen size.
++.bP
++Normally ncurses looks first at the terminal database for the screen size.
++.IP
++If \fBuse_env\fP was called with \fBFALSE\fP for parameter,
++it stops here unless
++If \fBuse_tioctl\fP was also called with \fBTRUE\fP for parameter.
++.bP
++Then it asks for the screen size via operating system calls.
++If successful,
++it overrides the values from the terminal database.
++.bP
++Finally (unless \fBuse_env\fP was called with \fBFALSE\fP parameter),
++ncurses examines the \fBLINES\fR or \fBCOLUMNS\fR environment variables,
++using a value in those to override the results
++from the operating system or terminal database.
++.IP
++Ncurses also updates the screen size in response to SIGWINCH,
++unless overridden by the \fBLINES\fR or \fBCOLUMNS\fR environment variables,
++.PP
++The \fBuse_tioctl\fR routine, if used,
++should be called before \fBinitscr\fR or \fBnewterm\fR are called
++(because those compute the screen size).
++After \fBuse_tioctl\fR is called with \fBTRUE\fR as an argument,
++ncurses modifies the last step in its computation of screen size as follows:
++.bP
++checks if the \fBLINES\fR and \fBCOLUMNS\fR environment variables
++are set to a number greater than zero.
++.bP
++for each, ncurses updates the corresponding environment variable
++with the value that it has obtained via operating system call
++or from the terminal database.
++.bP
++ncurses re-fetches the value of the environment variables so that
++it is still the environment variables which set the screen size.
++.PP
++The \fBuse_env\fP and \fBuse_tioctl\fP routines combine as
++summarized here:
++.TS
++center tab(/);
++l l l
++_ _ _
++lw7 lw7 lw40.
++\fIuse_env\fR/\fIuse_tioctl\fR/\fISummary\fR
++TRUE/FALSE/T{
++This is the default behavior.
++ncurses uses operating system calls
++unless overridden by $LINES or $COLUMNS environment variables.
++T}
++TRUE/TRUE/T{
++ncurses updates $LINES and $COLUMNS based on operating system calls.
++T}
++FALSE/TRUE/T{
++ncurses ignores $LINES and $COLUMNS, uses operating system calls to obtain size.
++T}
++FALSE/FALSE/T{
++ncurses relies on the terminal database to determine size.
++T}
++.TE
+ .PP
+ The \fBputwin\fR routine writes all data associated with window \fIwin\fR into
+ the file to which \fIfilep\fR points. This information can be later retrieved
+@@ -224,7 +282,7 @@
+ .PP
+ The \fBkeyname\fP function may return the names of user-defined
+ string capabilities which are defined in the terminfo entry via the \fB\-x\fP
+-option of \fBtic\fP.
++option of \fB@TIC@\fP.
+ This implementation automatically assigns at run-time keycodes to
+ user-defined strings which begin with "k".
+ The keycodes start at KEY_MAX, but are not guaranteed to be
+@@ -233,8 +291,8 @@
+ The \fBuse_extended_names\fP function controls whether this data is
+ loaded when the terminal description is read by the library.
+ .PP
+-The \fBnofilter\fP routine is specific to ncurses.
+-It was not supported on Version 7, BSD or System V implementations.
++The \fBnofilter\fP and \fBuse_tioctl\fP routines are specific to ncurses.
++They were not supported on Version 7, BSD or System V implementations.
+ It is recommended that any code depending on ncurses extensions
+ be conditioned using NCURSES_VERSION.
+ .SH SEE ALSO
+Index: man/form_field.3x
+Prereq: 1.10
+--- ncurses-5.9/man/form_field.3x 2010-12-04 18:40:45.000000000 +0000
++++ ncurses-5.9-20130504/man/form_field.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: form_field.3x,v 1.10 2010/12/04 18:40:45 tom Exp $
++.\" $Id: form_field.3x,v 1.11 2012/11/03 23:03:59 tom Exp $
+ .TH form_field 3X ""
+ .SH NAME
+ \fBform_field\fR \- make and break connections between fields and forms
+@@ -52,7 +52,7 @@
+ .PP
+ The function \fBmove_field\fR moves the given field (which must be disconnected)
+ to a specified location on the screen.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ The function \fBform_fields\fR returns a pointer (which may be \fBNULL\fR).
+ It does not set errno.
+ .PP
+Index: man/infocmp.1m
+Prereq: 1.46
+--- ncurses-5.9/man/infocmp.1m 2010-12-04 18:40:45.000000000 +0000
++++ ncurses-5.9-20130504/man/infocmp.1m 2013-02-02 22:07:35.000000000 +0000
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,9 +27,12 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: infocmp.1m,v 1.46 2010/12/04 18:40:45 tom Exp $
++.\" $Id: infocmp.1m,v 1.53 2013/02/02 22:07:35 tom Exp $
+ .TH @INFOCMP@ 1M ""
+ .ds n 5
++.de bP
++.IP \(bu 4
++..
+ .ds d @TERMINFO@
+ .SH NAME
+ \fB@INFOCMP@\fR \- compare or print out \fIterminfo\fR descriptions
+@@ -37,10 +40,12 @@
+ \fB@INFOCMP@\fR [\fB\-\
+ 1\
+ C\
++D\
+ E\
+ F\
+ G\
+ I\
++K\
+ L\
+ T\
+ U\
+@@ -69,32 +74,40 @@
+ \fB@INFOCMP@\fR can be used to compare a binary \fBterminfo\fR entry with other
+ terminfo entries, rewrite a \fBterminfo\fR description to take advantage of the
+ \fBuse=\fR terminfo field, or print out a \fBterminfo\fR description from the
+-binary file (\fBterm\fR) in a variety of formats. In all cases, the boolean
++binary file (\fBterm\fR) in a variety of formats.
++In all cases, the boolean
+ fields will be printed first, followed by the numeric fields, followed by the
+ string fields.
+ .SS Default Options
+ If no options are specified and zero or one \fItermnames\fR are specified, the
+-\fB\-I\fR option will be assumed. If more than one \fItermname\fR is specified,
++\fB\-I\fR option will be assumed.
++If more than one \fItermname\fR is specified,
+ the \fB\-d\fR option will be assumed.
+ .SS Comparison Options [\-d] [\-c] [\-n]
+ \fB@INFOCMP@\fR compares the \fBterminfo\fR description of the first terminal
+ \fItermname\fR with each of the descriptions given by the entries for the other
+-terminal's \fItermnames\fR. If a capability is defined for only one of the
++terminal's \fItermnames\fR.
++If a capability is defined for only one of the
+ terminals, the value returned will depend on the type of the capability:
+ \fBF\fR for boolean variables, \fB\-1\fR for integer variables, and \fBNULL\fR
+ for string variables.
+ .PP
+ The \fB\-d\fR option produces a list of each capability that is different
+-between two entries. This option is useful to show the difference between two
++between two entries.
++This option is useful to show the difference between two
+ entries, created by different people, for the same or similar terminals.
+ .PP
+ The \fB\-c\fR option produces a list of each capability that is common between
+-two entries. Capabilities that are not set are ignored. This option can be
++two or more entries.
++Capabilities that are not set are ignored.
++This option can be
+ used as a quick check to see if the \fB\-u\fR option is worth using.
+ .PP
+-The \fB\-n\fR option produces a list of each capability that is in neither
+-entry. If no \fItermnames\fR are given, the environment variable \fBTERM\fR
+-will be used for both of the \fItermnames\fR. This can be used as a quick
++The \fB\-n\fR option produces a list of each capability that is in none of
++the given entries.
++If no \fItermnames\fR are given, the environment variable \fBTERM\fR
++will be used for both of the \fItermnames\fR.
++This can be used as a quick
+ check to see if anything was left out of a description.
+ .SS Source Listing Options [\-I] [\-L] [\-C] [\-r]
+ The \fB\-I\fR, \fB\-L\fR, and \fB\-C\fR options will produce a source listing for
+@@ -107,6 +120,7 @@
+ \fB\-L\fR/use the long C variable name listed in <\fBterm.h\fR>
+ \fB\-C\fR/use the \fBtermcap\fR names
+ \fB\-r\fR/when using \fB\-C\fR, put out all capabilities in \fBtermcap\fR form
++\fB\-K\fR/modifies the \fB\-C\fP option, improving BSD-compatibility.
+ .TE
+ .PP
+ If no \fItermnames\fR are given, the environment variable \fBTERM\fR will be
+@@ -114,26 +128,48 @@
+ .PP
+ The source produced by the \fB\-C\fR option may be used directly as a
+ \fBtermcap\fR entry, but not all parameterized strings can be changed to
+-the \fBtermcap\fR format. \fB@INFOCMP@\fR will attempt to convert most of the
++the \fBtermcap\fR format.
++\fB@INFOCMP@\fR will attempt to convert most of the
+ parameterized information, and anything not converted will be plainly marked in
+-the output and commented out. These should be edited by hand.
++the output and commented out.
++These should be edited by hand.
++.PP
++For best results when converting to \fBtermcap\fP format,
++you should use both \fB\-C\fP and \fB\-r\fP.
++Normally a termcap description is limited to 1023 bytes.
++@INFOCMP@ trims away less essential parts to make it fit.
++If you are converting to one of the (rare) termcap implementations
++which accept an unlimited size of termcap,
++you may want to add the \fB\-T\fP option.
++More often however, you must help the termcap implementation,
++and trim excess whitespace (use the \fB\-0\fP option for that).
+ .PP
+ All padding information for strings will be collected together and placed
+-at the beginning of the string where \fBtermcap\fR expects it. Mandatory
++at the beginning of the string where \fBtermcap\fR expects it.
++Mandatory
+ padding (padding information with a trailing '/') will become optional.
+ .PP
+ All \fBtermcap\fR variables no longer supported by \fBterminfo\fR, but which
+-are derivable from other \fBterminfo\fR variables, will be output. Not all
++are derivable from other \fBterminfo\fR variables, will be output.
++Not all
+ \fBterminfo\fR capabilities will be translated; only those variables which were
+-part of \fBtermcap\fR will normally be output. Specifying the \fB\-r\fR option
++part of \fBtermcap\fR will normally be output.
++Specifying the \fB\-r\fR option
+ will take off this restriction, allowing all capabilities to be output in
+ \fItermcap\fR form.
++Normally you would use both the \fB\-C\fP and \fB\-r\fP options.
++The actual format used incorporates some improvements for escaped characters
++from terminfo format.
++For a stricter BSD-compatible translation, use the \fB\-K\fR option
++rather than \fB\-C\fP.
+ .PP
+ Note that because padding is collected to the beginning of the capability, not
+-all capabilities are output. Mandatory padding is not supported. Because
++all capabilities are output.
++Mandatory padding is not supported.
++Because
+ \fBtermcap\fR strings are not as flexible, it is not always possible to convert
+-a \fBterminfo\fR string capability into an equivalent \fBtermcap\fR format. A
+-subsequent conversion of the \fBtermcap\fR file back into \fBterminfo\fR format
++a \fBterminfo\fR string capability into an equivalent \fBtermcap\fR format.
++A subsequent conversion of the \fBtermcap\fR file back into \fBterminfo\fR format
+ will not necessarily reproduce the original \fBterminfo\fR
+ source.
+ .PP
+@@ -156,27 +192,33 @@
+ .SS Use= Option [\-u]
+ The \fB\-u\fR option produces a \fBterminfo\fR source description of the first
+ terminal \fItermname\fR which is relative to the sum of the descriptions given
+-by the entries for the other terminals \fItermnames\fR. It does this by
++by the entries for the other terminals \fItermnames\fR.
++It does this by
+ analyzing the differences between the first \fItermname\fR and the other
+ \fItermnames\fR and producing a description with \fBuse=\fR fields for the
+-other terminals. In this manner, it is possible to retrofit generic terminfo
+-entries into a terminal's description. Or, if two similar terminals exist, but
++other terminals.
++In this manner, it is possible to retrofit generic terminfo
++entries into a terminal's description.
++Or, if two similar terminals exist, but
+ were coded at different times or by different people so that each description
+ is a full description, using \fB@INFOCMP@\fR will show what can be done to change
+ one description to be relative to the other.
+ .PP
+ A capability will get printed with an at-sign (@) if it no longer exists in the
+ first \fItermname\fR, but one of the other \fItermname\fR entries contains a
+-value for it. A capability's value gets printed if the value in the first
++value for it.
++A capability's value gets printed if the value in the first
+ \fItermname\fR is not found in any of the other \fItermname\fR entries, or if
+ the first of the other \fItermname\fR entries that has this capability gives a
+ different value for the capability than that in the first \fItermname\fR.
+ .PP
+-The order of the other \fItermname\fR entries is significant. Since the
+-terminfo compiler \fBtic\fR does a left-to-right scan of the capabilities,
++The order of the other \fItermname\fR entries is significant.
++Since the
++terminfo compiler \fB@TIC@\fR does a left-to-right scan of the capabilities,
+ specifying two \fBuse=\fR entries that contain differing entries for the same
+ capabilities will produce different results depending on the order that the
+-entries are given in. \fB@INFOCMP@\fR will flag any such inconsistencies between
++entries are given in.
++\fB@INFOCMP@\fR will flag any such inconsistencies between
+ the other \fItermname\fR entries as they are found.
+ .PP
+ Alternatively, specifying a capability \fIafter\fR a \fBuse=\fR entry that
+@@ -187,29 +229,48 @@
+ .PP
+ Another error that does not cause incorrect compiled files, but will slow down
+ the compilation time, is specifying extra \fBuse=\fR fields that are
+-superfluous. \fB@INFOCMP@\fR will flag any other \fItermname use=\fR fields that
++superfluous.
++\fB@INFOCMP@\fR will flag any other \fItermname use=\fR fields that
+ were not needed.
+ .SS Changing Databases [\-A \fIdirectory\fR] [\-B \fIdirectory\fR]
+-The location of the compiled \fBterminfo\fR database is taken from the
+-environment variable \fBTERMINFO\fR . If the variable is not defined, or the
+-terminal is not found in that location, the system \fBterminfo\fR database,
+-in \fB@TERMINFO@\fR, will be used. The options \fB\-A\fR
+-and \fB\-B\fR may be used to override this location. The \fB\-A\fR option will
+-set \fBTERMINFO\fR for the first \fItermname\fR and the \fB\-B\fR option will
+-set \fBTERMINFO\fR for the other \fItermnames\fR. With this, it is possible to
++Like other \fBncurses\fP utilities,
++@INFOCMP@ looks for the terminal descriptions in several places.
++You can use the \fBTERMINFO\fP and \fBTERMINFO_DIRS\fP environment variables
++to override the compiled-in default list of places to search
++(see \fBcurses\fP(3X) for details).
++.PP
++You can also use the options \fB\-A\fR
++and \fB\-B\fR to override the list of places to search
++when comparing terminal descriptions:
++.bP
++The \fB\-A\fR option sets the location for the first \fItermname\fR
++.bP
++The \fB\-B\fR option sets the location for the other \fItermnames\fR.
++.PP
++Using these options, it is possible to
+ compare descriptions for a terminal with the same name located in two different
+-databases. This is useful for comparing descriptions for the same terminal
++databases.
++For instance,
++you can use this feature for comparing descriptions for the same terminal
+ created by different people.
+ .SS Other Options
+ .TP 5
++\fB\-0\fR
++causes the fields to be printed on one line, without wrapping.
++.TP 5
+ \fB\-1\fR
+-causes the fields to be printed out one to a line. Otherwise,
++causes the fields to be printed out one to a line.
++Otherwise,
+ the fields will be printed several to a line to a maximum width
+ of 60 characters.
+ .TP
+ \fB\-a\fR
+ tells \fB@INFOCMP@\fP to retain commented-out capabilities rather than discarding
+-them. Capabilities are commented by prefixing them with a period.
++them.
++Capabilities are commented by prefixing them with a period.
++.TP
++\fB\-D\fR
++tells \fB@INFOCMP@\fP to print the database locations that it knows about, and exit.
+ .TP 5
+ \fB\-E\fR
+ Dump the capabilities of the given terminal as tables, needed in
+@@ -231,12 +292,15 @@
+ for a given terminal type.
+ .TP 5
+ \fB\-F\fR
+-compare terminfo files. This assumes that two following arguments are
+-filenames. The files are searched for pairwise matches between
++compare terminfo files.
++This assumes that two following arguments are filenames.
++The files are searched for pairwise matches between
+ entries, with two entries considered to match if any of their names do.
+ The report printed to standard output lists entries with no matches in
+-the other file, and entries with more than one match. For entries
+-with exactly one match it includes a difference report. Normally,
++the other file, and entries with more than one match.
++For entries
++with exactly one match it includes a difference report.
++Normally,
+ to reduce the volume of the report, use references are
+ not resolved before looking for differences, but resolution can be forced
+ by also specifying \fB\-r\fR.
+@@ -255,14 +319,17 @@
+ .TP 5
+ \fB\-i\fR
+ Analyze the initialization (\fBis1\fR, \fBis2\fR, \fBis3\fR), and reset
+-(\fBrs1\fR, \fBrs2\fR, \fBrs3\fR), strings in the entry. For each string, the
++(\fBrs1\fR, \fBrs2\fR, \fBrs3\fR), strings in the entry.
++For each string, the
+ code tries to analyze it into actions in terms of the other capabilities in the
+ entry, certain X3.64/ISO 6429/ECMA\-48 capabilities, and certain DEC VT-series
+ private modes (the set of recognized special sequences has been selected for
+-completeness over the existing terminfo database). Each report line consists
++completeness over the existing terminfo database).
++Each report line consists
+ of the capability name, followed by a colon and space, followed by a printable
+ expansion of the capability string with sections matching recognized actions
+-translated into {}-bracketed descriptions. Here is a list of the DEC/ANSI
++translated into {}-bracketed descriptions.
++Here is a list of the DEC/ANSI
+ special sequences recognized:
+ i.
+ .TS
+@@ -308,7 +375,8 @@
+ .sp
+ It also recognizes a SGR action corresponding to ANSI/ISO 6429/ECMA Set
+ Graphics Rendition, with the values NORMAL, BOLD, UNDERLINE, BLINK, and
+-REVERSE. All but NORMAL may be prefixed with `+' (turn on) or `\-' (turn off).
++REVERSE.
++All but NORMAL may be prefixed with `+' (turn on) or `\-' (turn off).
+ .PP
+ An SGR0 designates an empty highlight sequence (equivalent to {SGR:NORMAL}).
+ .TP 5
+@@ -323,12 +391,15 @@
+ "\-" for absent capabilities, "@" for canceled rather than "NULL".
+ .TP 5
+ \fB\-R\fR\fIsubset\fR
+-Restrict output to a given subset. This option is for use with archaic
++Restrict output to a given subset.
++This option is for use with archaic
+ versions of terminfo like those on SVr1, Ultrix, or HP/UX that do not support
+ the full set of SVR4/XSI Curses terminfo; and variants such as AIX
+-that have their own extensions incompatible with SVr4/XSI. Available terminfo
++that have their own extensions incompatible with SVr4/XSI.
++Available terminfo
+ subsets are "SVr1", "Ultrix", "HP", and "AIX"; see \fBterminfo\fR(\*n) for
+-details. You can also choose the subset "BSD" which selects only capabilities
++details.
++You can also choose the subset "BSD" which selects only capabilities
+ with termcap equivalents recognized by 4.4BSD.
+ .TP
+ \fB\-s \fR\fI[d|i|l|c]\fR
+@@ -362,7 +433,7 @@
+ descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
+ .TP
+ \fB\-t\fR
+-tells \fBtic\fP to discard commented-out capabilities.
++tells \fB@TIC@\fP to discard commented-out capabilities.
+ Normally when translating from terminfo to termcap,
+ untranslatable capabilities are commented-out.
+ .TP 5
+@@ -385,13 +456,15 @@
+ \fB\-x\fR
+ print information for user-defined capabilities.
+ These are extensions to the terminfo repertoire which can be loaded
+-using the \fB\-x\fR option of \fBtic\fP.
++using the \fB\-x\fR option of \fB@TIC@\fP.
+ .SH FILES
+ .TP 20
+ \*d
+ Compiled terminal description database.
+ .SH EXTENSIONS
+ The
++\fB\-0\fR,
++\fB\-1\fR,
+ \fB\-E\fR,
+ \fB\-F\fR,
+ \fB\-G\fR,
+@@ -410,7 +483,8 @@
+ options are not supported in SVr4 curses.
+ .PP
+ The \fB\-r\fR option's notion of `termcap' capabilities is System V Release 4's.
+-Actual BSD curses versions will have a more restricted set. To see only the
++Actual BSD curses versions will have a more restricted set.
++To see only the
+ 4.4BSD set, use \fB\-r\fR \fB\-RBSD\fR.
+ .SH BUGS
+ The \fB\-F\fR option of \fB@INFOCMP@\fR(1M) should be a \fB@TOE@\fR(1M) mode.
+@@ -421,6 +495,8 @@
+ \fB@TOE@\fR(1M),
+ \fBcurses\fR(3X),
+ \fBterminfo\fR(\*n).
++.sp
++http://invisible-island.net/ncurses/tctest.html
+ .PP
+ This describes \fBncurses\fR
+ version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
+Index: man/menu_items.3x
+Prereq: 1.9
+--- ncurses-5.9/man/menu_items.3x 2010-12-04 18:40:45.000000000 +0000
++++ ncurses-5.9-20130504/man/menu_items.3x 2012-11-03 23:03:59.000000000 +0000
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: menu_items.3x,v 1.9 2010/12/04 18:40:45 tom Exp $
++.\" $Id: menu_items.3x,v 1.10 2012/11/03 23:03:59 tom Exp $
+ .TH menu_items 3X ""
+ .SH NAME
+ \fBmenu_items\fR \- make and break connections between items and menus
+@@ -47,7 +47,7 @@
+ The function \fBmenu_items\fR returns the item array of the given menu.
+ .PP
+ The function \fBitem_count\fR returns the count of items in \fImenu\fR.
+-.SH RETURN VALUES
++.SH RETURN VALUE
+ The function \fBmenu_items\fR returns a pointer (which may be \fBNULL\fR).
+ It does not set errno.
+ .PP
+Index: man/ncurses.3x
+Prereq: 1.103
+--- ncurses-5.9/man/ncurses.3x 2011-02-05 23:21:29.000000000 +0000
++++ ncurses-5.9-20130504/man/ncurses.3x 2013-03-02 22:15:25.000000000 +0000
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: ncurses.3x,v 1.103 2011/02/05 23:21:29 tom Exp $
++.\" $Id: ncurses.3x,v 1.111 2013/03/02 22:15:25 tom Exp $
+ .hy 0
+ .TH ncurses 3X ""
+ .de bP
+@@ -55,8 +55,10 @@
+ XSI stands for X/Open System Interfaces Extension.
+ The \fBncurses\fR library is freely redistributable in source form.
+ Differences from the SVr4
+-curses are summarized under the \fBEXTENSIONS\fP and \fBPORTABILITY\fP sections below and
+-described in detail in the respective \fBEXTENSIONS\fP, \fBPORTABILITY\fP and \fBBUGS\fP sections
++curses are summarized under the
++\fBEXTENSIONS\fP and \fBPORTABILITY\fP sections below and
++described in detail in the respective
++\fBEXTENSIONS\fP, \fBPORTABILITY\fP and \fBBUGS\fP sections
+ of individual man pages.
+ .PP
+ The \fBncurses\fR library also provides many useful extensions,
+@@ -108,9 +110,9 @@
+ .sp
+ Before a \fBcurses\fR program is run, the tab stops of the terminal
+ should be set and its initialization strings, if defined, must be output.
+-This can be done by executing the \fBtput init\fR command
++This can be done by executing the \fB@TPUT@ init\fR command
+ after the shell environment variable \fBTERM\fR has been exported.
+-\fBtset(1)\fR is usually responsible for doing this.
++\fB@TSET@(1)\fR is usually responsible for doing this.
+ [See \fBterminfo\fR(\*n) for further details.]
+ .PP
+ The \fBncurses\fR library permits manipulation of data structures,
+@@ -637,6 +639,7 @@
+ use_env/\fBcurs_util\fR(3X)
+ use_extended_names/\fBcurs_extend\fR(3X)*
+ use_legacy_coding/\fBlegacy_coding\fR(3X)*
++use_tioctl/\fBcurs_util\fR(3X)
+ vid_attr/\fBcurs_terminfo\fR(3X)
+ vid_puts/\fBcurs_terminfo\fR(3X)
+ vidattr/\fBcurs_terminfo\fR(3X)
+@@ -734,9 +737,16 @@
+ integer value other than \fBERR\fR upon successful completion, unless
+ otherwise noted in the routine descriptions.
+ .PP
++As a general rule, routines check for null pointers passed as parameters,
++and handle this as an error.
++.PP
+ All macros return the value of the \fBw\fR version, except \fBsetscrreg\fR,
+ \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and \fBgetmaxyx\fR.
+-The return values of \fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and
++The return values of
++\fBsetscrreg\fR,
++\fBwsetscrreg\fR,
++\fBgetyx\fR,
++\fBgetbegyx\fR, and
+ \fBgetmaxyx\fR are undefined (i.e., these should not be used as the
+ right-hand side of assignment statements).
+ .PP
+@@ -747,9 +757,9 @@
+ The most important ones have been already discussed in detail.
+ .TP 5
+ BAUDRATE
+-The debugging library checks this environment symbol when the application
++The debugging library checks this environment variable when the application
+ has redirected output to a file.
+-The symbol's numeric value is used for the baudrate.
++The variable's numeric value is used for the baudrate.
+ If no value is found, \fBncurses\fR uses 9600.
+ This allows testers to construct repeatable test-cases
+ that take into account costs that depend on baudrate.
+@@ -757,7 +767,7 @@
+ CC
+ When set, change occurrences of the command_character
+ (i.e., the \fBcmdch\fP capability)
+-of the loaded terminfo entries to the value of this symbol.
++of the loaded terminfo entries to the value of this variable.
+ Very few terminfo entries provide this feature.
+ .IP
+ Because this name is also used in development environments to represent
+@@ -786,7 +796,9 @@
+ a terminal description for terminals which are run as emulations.
+ .IP
+ Use the \fBuse_env\fR function to disable all use of external environment
+-(including system calls) to determine the screen size.
++(but not including system calls) to determine the screen size.
++Use the \fBuse_tioctl\fR function to update \fBCOLUMNS\fP or \fBLINES\fP
++to match the screen size obtained from system calls or the terminal database.
+ .TP 5
+ ESCDELAY
+ Specifies the total time, in milliseconds, for which ncurses will
+@@ -837,8 +849,8 @@
+ .br
+ 3 = middle.
+ .sp
+-This symbol lets you customize the mouse.
+-The symbol must be three numeric digits 1\-3 in any order, e.g., 123 or 321.
++This variable lets you customize the mouse.
++The variable must be three numeric digits 1\-3 in any order, e.g., 123 or 321.
+ If it is not specified, \fBncurses\fR uses 132.
+ .TP 5
+ NCURSES_ASSUMED_COLORS
+@@ -899,19 +911,44 @@
+ You may wish to use these descriptions,
+ but not want to pay the performance penalty.
+ .IP
+-Set the NCURSES_NO_PADDING symbol to disable all but mandatory
++Set the NCURSES_NO_PADDING environment variable to disable all but mandatory
+ padding.
+ Mandatory padding is used as a part of special control
+ sequences such as \fIflash\fR.
+ .TP 5
+ NCURSES_NO_SETBUF
+-Normally \fBncurses\fR enables buffered output during terminal initialization.
+-This is done (as in SVr4 curses) for performance reasons.
++This setting is obsolete.
++Before changes
++.RS
++.bP
++started with 5.9 patch 20120825
++and
++.bP
++continued
++though 5.9 patch 20130126
++.RE
++.IP
++\fBncurses\fR enabled buffered output during terminal initialization.
++This was done (as in SVr4 curses) for performance reasons.
+ For testing purposes, both of \fBncurses\fR and certain applications,
+-this feature is made optional.
++this feature was made optional.
+ Setting the NCURSES_NO_SETBUF variable
+-disables output buffering, leaving the output in the original (usually
++disabled output buffering, leaving the output in the original (usually
+ line buffered) mode.
++.IP
++In the current implementation,
++ncurses performs its own buffering and does not require this workaround.
++It does not modify the buffering of the standard output.
++.IP
++The reason for the change was to make the behavior for interrupts and
++other signals more robust.
++One drawback is that certain nonconventional programs would mix
++ordinary stdio calls with ncurses calls and (usually) work.
++This is no longer possible since ncurses is not using
++the buffered standard output but its own output (to the same file descriptor).
++As a special case, the low-level calls such as \fBputp\fP still use the
++standard output.
++But high-level curses calls do not.
+ .TP 5
+ NCURSES_NO_UTF8_ACS
+ During initialization, the \fBncurses\fR library
+@@ -933,20 +970,22 @@
+ .IP
+ As an alternative to the environment variable,
+ ncurses checks for an extended terminfo capability \fBU8\fP.
+-This is a numeric capability which can be compiled using \fBtic\ \-x\fP.
++This is a numeric capability which can be compiled using \fB@TIC@\ \-x\fP.
+ For example
+ .RS 5
++.ft CW
+ .sp
+ .nf
+ # linux console, if patched to provide working
+ # VT100 shift-in/shift-out, with corresponding font.
+ linux-vt100|linux console with VT100 line-graphics,
+- U8#0, use=linux,
++ U8#0, use=linux,
+ .sp
+ # uxterm with vt100Graphics resource set to false
+ xterm-utf8|xterm relying on UTF-8 line-graphics,
+- U8#1, use=xterm,
++ U8#1, use=xterm,
+ .fi
++.ft
+ .RE
+ .IP
+ The name "U8" is chosen to be two characters,
+@@ -955,7 +994,7 @@
+ .TP 5
+ NCURSES_TRACE
+ During initialization, the \fBncurses\fR debugging library
+-checks the NCURSES_TRACE symbol.
++checks the NCURSES_TRACE environment variable.
+ If it is defined, to a numeric value, \fBncurses\fR calls the \fBtrace\fR
+ function, using that value as the argument.
+ .IP
+@@ -973,9 +1012,10 @@
+ support, \fBncurses\fR will check for a terminal's description in
+ termcap form if it is not available in the terminfo database.
+ .IP
+-The TERMCAP symbol contains either a terminal description (with
++The TERMCAP environment variable contains either a terminal description (with
+ newlines stripped out),
+-or a file name telling where the information denoted by the TERM symbol exists.
++or a file name telling where the information denoted by
++the TERM environment variable exists.
+ In either case, setting it directs \fBncurses\fR to ignore
+ the usual place for this information, e.g., /etc/termcap.
+ .TP 5
+@@ -988,33 +1028,51 @@
+ .bP
+ the last directory to which \fBncurses\fR wrote, if any, is searched first
+ .bP
+-the directory specified by the TERMINFO symbol
++the directory specified by the TERMINFO environment variable
+ .bP
+ $HOME/.terminfo
+ .bP
+-directories listed in the TERMINFO_DIRS symbol
++directories listed in the TERMINFO_DIRS environment variable
+ .bP
+ one or more directories whose names are configured and compiled into the
+-ncurses library, e.g.,
+-@TERMINFO@
++ncurses library, i.e.,
++.RS
++.bP
++@TERMINFO_DIRS@ (corresponding to the TERMINFO_DIRS variable)
++.bP
++@TERMINFO@ (corresponding to the TERMINFO variable)
++.RE
+ .RE
+ .TP 5
+ TERMINFO_DIRS
+ Specifies a list of directories to search for terminal descriptions.
+ The list is separated by colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
+-All of the terminal descriptions are in terminfo form, which makes
+-a subdirectory named for the first letter of the terminal names therein.
++.IP
++All of the terminal descriptions are in terminfo form.
++Normally these are stored in a directory tree,
++using subdirectories named by the first letter of the terminal names therein.
++.IP
++If \fBncurses\fP is built with a hashed database,
++then each entry in this list can also be the path of the corresponding
++database file.
++.IP
++If \fBncurses\fP is built with a support for reading termcap files
++directly, then an entry in this list may be the path of a termcap file.
+ .TP 5
+ TERMPATH
+ If TERMCAP does not hold a file name then \fBncurses\fR checks
+-the TERMPATH symbol.
+-This is a list of filenames separated by spaces or colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
+-If the TERMPATH symbol is not set, \fBncurses\fR looks in the files
++the TERMPATH environment variable.
++This is a list of filenames separated by spaces or colons (i.e., ":") on Unix,
++semicolons on OS/2 EMX.
++.IP
++If the TERMPATH environment variable is not set,
++\fBncurses\fR looks in the files
+ /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap, in that order.
+ .PP
+ The library may be configured to disregard the following variables when the
+ current user is the superuser (root), or if the application uses setuid or
+ setgid permissions:
++.IP
+ $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
+ .SH ALTERNATE CONFIGURATIONS
+ Several different configurations are possible,
+@@ -1042,8 +1100,9 @@
+ to build executables.
+ .TP 5
+ \-\-enable\-widec
+-The configure script renames the library and (if the \fB\-\-disable\-overwrite\fP
+-option is used) puts the header files in a different subdirectory.
++The configure script renames the library and
++(if the \fB\-\-disable\-overwrite\fP option is used)
++puts the header files in a different subdirectory.
+ All of the library names have a "w" appended to them,
+ i.e., instead of
+ .RS
+@@ -1093,8 +1152,8 @@
+ @TERMINFO@
+ terminal capability database
+ .SH SEE ALSO
+-\fBterminfo\fR(\*n) and related pages whose names begin "curs_" for detailed routine
+-descriptions.
++\fBterminfo\fR(\*n) and related pages whose names begin
++"curs_" for detailed routine descriptions.
+ .br
+ \fBcurs_variables\fR(3X)
+ .SH EXTENSIONS
+@@ -1144,6 +1203,15 @@
+ the XSI Curses and \fBncurses\fR calls) are described in \fBPORTABILITY\fR
+ sections of the library man pages.
+ .PP
++Unlike other implementations, this one checks parameters such as pointers
++to WINDOW structures to ensure they are not null.
++The main reason for providing this behavior is to guard against programmer
++error.
++The standard interface does not provide a way for the library
++to tell an application which of several possible errors were detected.
++Relying on this (or some other) extension will adversely affect the
++portability of curses applications.
++.PP
+ This implementation also contains several extensions:
+ .bP
+ The routine \fBhas_key\fR is not part of XPG4, nor is it present in SVr4.
+Index: man/resizeterm.3x
+Prereq: 1.14
+--- ncurses-5.9/man/resizeterm.3x 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/resizeterm.3x 2012-07-07 18:38:21.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ .\"
+ .\" Author: Thomas E. Dickey 1996-2005
+ .\"
+-.\" $Id: resizeterm.3x,v 1.14 2010/12/04 18:38:55 tom Exp $
++.\" $Id: resizeterm.3x,v 1.15 2012/07/07 18:38:21 tom Exp $
+ .TH resizeterm 3X ""
+ .SH NAME
+ \fBis_term_resized\fR,
+@@ -86,8 +86,6 @@
+ the operating system.
+ Thus, even if a SIGWINCH is received,
+ no screen size change may be recorded.
+-In that case, no \fBKEY_RESIZE\fP is queued for the next call to \fBgetch\fP;
+-an \fBERR\fP will be returned instead.
+ .SH SEE ALSO
+ \fBcurs_variables\fR(3X),
+ \fBwresize\fR(3X).
+Index: man/tabs.1
+Prereq: 1.8
+--- ncurses-5.9/man/tabs.1 2010-12-04 18:40:45.000000000 +0000
++++ ncurses-5.9-20130504/man/tabs.1 2011-12-17 23:31:59.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2008-2010,2011 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,19 +26,19 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: tabs.1,v 1.8 2010/12/04 18:40:45 tom Exp $
++.\" $Id: tabs.1,v 1.9 2011/12/17 23:31:59 tom Exp $
+ .TH @TABS@ 1 ""
+ .ds n 5
+ .SH NAME
+-\fBtabs\fR \- set tabs on a terminal
++\fB@TABS@\fR \- set tabs on a terminal
+ .SH SYNOPSIS
+-\fBtabs\fR [\fB\-v\fR[\fIn\fR]] [\fB\-ahuUV\fR] \fIfile...\fR
++\fB@TABS@\fR [\fB\-v\fR[\fIn\fR]] [\fB\-ahuUV\fR] \fIfile...\fR
+ .br
+ .SH DESCRIPTION
+ .PP
+-The \fBtabs\fP program clears and sets tab-stops on the terminal.
++The \fB@TABS@\fP program clears and sets tab-stops on the terminal.
+ This uses the terminfo \fIclear_all_tabs\fP and \fIset_tab\fP capabilities.
+-If either is absent, \fBtabs\fP is unable to clear/set tab-stops.
++If either is absent, \fB@TABS@\fP is unable to clear/set tab-stops.
+ The terminal should be configured to use hard tabs, e.g.,
+ .sp
+ .RS
+@@ -48,8 +48,8 @@
+ .SS General Options
+ .TP 5
+ .BI \-T "name"
+-Tell \fBtabs\fP which terminal type to use.
+-If this option is not given, \fBtabs\fP will use the \fB$TERM\fP
++Tell \fB@TABS@\fP which terminal type to use.
++If this option is not given, \fB@TABS@\fP will use the \fB$TERM\fP
+ environment variable.
+ If that is not set, it will use the \fIansi+tabs\fP entry.
+ .TP 5
+@@ -59,10 +59,10 @@
+ The second data line shows the actual tab-stops, marked with asterisks.
+ .TP 5
+ .B \-n
+-This option tells \fBtabs\fP to check the options and run any debugging
++This option tells \fB@TABS@\fP to check the options and run any debugging
+ option, but not to modify the terminal settings.
+ .PP
+-The \fBtabs\fP program processes a single list of tab stops.
++The \fB@TABS@\fP program processes a single list of tab stops.
+ The last option to be processed which defines a list is the one that
+ determines the list to be processed.
+ .SS Implicit Lists
+Index: man/term.7
+Prereq: 1.22
+--- ncurses-5.9/man/term.7 2010-12-04 18:41:07.000000000 +0000
++++ ncurses-5.9-20130504/man/term.7 2011-12-17 23:32:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: term.7,v 1.22 2010/12/04 18:41:07 tom Exp $
++.\" $Id: term.7,v 1.23 2011/12/17 23:32:17 tom Exp $
+ .TH term 7
+ .ds n 5
+ .ds d @TERMINFO@
+@@ -55,7 +55,7 @@
+ are in fact using a VT100-superset console, terminal, or terminal emulator.)
+ .PP
+ In any case, you are free to override the system \fBTERM\fR setting to your
+-taste in your shell profile. The \fBtset\fP(1) utility may be of assistance;
++taste in your shell profile. The \fB@TSET@\fP(1) utility may be of assistance;
+ you can give it a set of rules for deducing or requesting a terminal type based
+ on the tty device and baud rate.
+ .PP
+Index: man/term_variables.3x
+Prereq: 1.2
+--- ncurses-5.9/man/term_variables.3x 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/term_variables.3x 2011-12-17 23:31:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 2010,2011 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: term_variables.3x,v 1.2 2010/12/04 18:38:55 tom Exp $
++.\" $Id: term_variables.3x,v 1.3 2011/12/17 23:31:50 tom Exp $
+ .TH term_variables 3X ""
+ .ds n 5
+ .na
+@@ -110,7 +110,7 @@
+ Alternatively, one can save the return value from \fBnewterm\fP
+ or \fBsetupterm\fP to reuse in \fBset_term\fP.
+ .SS Terminfo Names
+-The \fBtic\fP(1) and \fBinfocmp\fP(1) programs use lookup tables for
++The \fB@TIC@\fP(1) and \fB@INFOCMP@\fP(1) programs use lookup tables for
+ the long and short names of terminfo capabilities,
+ as well as the corresponding names for termcap capabilities.
+ These are available to other applications,
+Index: man/terminfo.head
+Prereq: 1.18
+--- ncurses-5.9/man/terminfo.head 2010-07-31 16:08:48.000000000 +0000
++++ ncurses-5.9-20130504/man/terminfo.head 2013-03-09 22:11:36.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,10 +26,17 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: terminfo.head,v 1.18 2010/07/31 16:08:48 tom Exp $
++.\" $Id: terminfo.head,v 1.21 2013/03/09 22:11:36 tom Exp $
+ .TH terminfo 5 "" "" "File Formats"
+ .ds n 5
+ .ds d @TERMINFO@
++.ie \n(.g .ds `` \(lq
++.el .ds `` ``
++.ie \n(.g .ds '' \(rq
++.el .ds '' ''
++.de bP
++.IP \(bu 4
++..
+ .SH NAME
+ terminfo \- terminal capability data base
+ .SH SYNOPSIS
+@@ -74,7 +81,7 @@
+ Terminal names (except for the last, verbose entry) should
+ be chosen using the following conventions.
+ The particular piece of hardware making up the terminal should
+-have a root name, thus ``hp2621''.
++have a root name, thus \*(``hp2621\*(''.
+ This name should not contain hyphens.
+ Modes that the hardware can be in, or user preferences, should
+ be indicated by appending a hyphen and a mode suffix.
+@@ -102,6 +109,6 @@
+ .TE
+ .PP
+ For more on terminal naming conventions, see the \fBterm(7)\fR manual page.
+-.SS Capabilities
++.SS Predefined Capabilities
+ .\" Head of terminfo man page ends here
+ .ps -1
+Index: man/terminfo.tail
+Prereq: 1.53
+--- ncurses-5.9/man/terminfo.tail 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/terminfo.tail 2013-03-03 00:06:39.000000000 +0000
+@@ -1,8 +1,51 @@
+-.\" $Id: terminfo.tail,v 1.53 2010/12/04 18:38:55 tom Exp $
++.\" $Id: terminfo.tail,v 1.61 2013/03/03 00:06:39 tom Exp $
+ .\" Beginning of terminfo.tail file
+ .\" This file is part of ncurses.
+ .\" See "terminfo.head" for copyright.
+ .ps +1
++.SS User-Defined Capabilities
++.
++The preceding section listed the \fIpredefined\fP capabilities.
++They deal with some special features for terminals no longer
++(or possibly never) produced.
++Occasionally there are special features of newer terminals which
++are awkward or impossible to represent by reusing the predefined
++capabilities.
++.PP
++\fBncurses\fP addresses this limitation by allowing user-defined capabilities.
++The \fB@TIC@\fP and \fB@INFOCMP@\fP programs provide
++the \fB\-x\fP option for this purpose.
++When \fB\-x\fP is set,
++\fB@TIC@\fP treats unknown capabilities as user-defined.
++That is, if \fB@TIC@\fP encounters a capability name
++which it does not recognize,
++it infers its type (boolean, number or string) from the syntax
++and makes an extended table entry for that capability.
++The \fBuse_extended_names\fP function makes this information
++conditionally available to applications.
++The ncurses library provides the data leaving most of the behavior
++to applications:
++.bP
++User-defined capability strings whose name begins
++with \*(``k\*('' are treated as function keys.
++.bP
++The types (boolean, number, string) determined by \fB@TIC@\fP
++can be inferred by successful calls on \fBtigetflag\fP, etc.
++.bP
++If the capability name happens to be two characters,
++the capability is also available through the termcap interface.
++.PP
++While termcap is said to be extensible because it does not use a predefined set
++of capabilities,
++in practice it has been limited to the capabilities defined by
++terminfo implementations.
++As a rule,
++user-defined capabilities intended for use by termcap applications should
++be limited to booleans and numbers to avoid running past the 1023 byte
++limit assumed by termcap implementations and their applications.
++In particular, providing extended sets of function keys (past the 60
++numbered keys and the handful of special named keys) is best done using
++the longer names available using terminfo.
+ .
+ .SS A Sample Entry
+ .
+@@ -39,13 +82,18 @@
+ .PP
+ Entries may continue onto multiple lines by placing white space at
+ the beginning of each line except the first.
+-Comments may be included on lines beginning with ``#''.
++Comments may be included on lines beginning with \*(``#\*(''.
+ Capabilities in
+ .I terminfo
+ are of three types:
++.bP
+ Boolean capabilities which indicate that the terminal has
+-some particular feature, numeric capabilities giving the size of the terminal
+-or the size of particular delays, and string
++some particular feature,
++.bP
++numeric capabilities giving the size of the terminal
++or the size of particular delays, and
++.bP
++string
+ capabilities, which give a sequence which can be used to perform particular
+ terminal operations.
+ .PP
+@@ -75,14 +123,29 @@
+ \fB^x\fR maps to a control-x for any appropriate x, and the sequences
+ \fB\en \el \er \et \eb \ef \es\fR give
+ a newline, line-feed, return, tab, backspace, form-feed, and space.
+-Other escapes include \fB\e^\fR for \fB^\fR,
++Other escapes include
++.bP
++\fB\e^\fR for \fB^\fR,
++.bP
+ \fB\e\e\fR for \fB\e\fR,
++.bP
+ \fB\e\fR, for comma,
++.bP
+ \fB\e:\fR for \fB:\fR,
++.bP
+ and \fB\e0\fR for null.
+-(\fB\e0\fR will produce \e200, which does not terminate a string but behaves
++.IP
++\fB\e0\fR will produce \e200, which does not terminate a string but behaves
+ as a null character on most terminals, providing CS7 is specified.
+-See stty(1).)
++See stty(1).
++.IP
++The reason for this quirk is to maintain binary compatibility of the
++compiled terminfo files with other implementations,
++e.g., the SVr4 systems, which document this.
++Compiled terminfo files use null-terminated strings, with no lengths.
++Modifying this would require a new binary format,
++which would not work with other implementations.
++.PP
+ Finally, characters may be given as three octal digits after a \fB\e\fR.
+ .PP
+ A delay in milliseconds may appear anywhere in a string capability, enclosed in
+@@ -115,27 +178,36 @@
+ .PP
+ .SS Fetching Compiled Descriptions
+ .PP
++The \fBncurses\fP library searches for terminal descriptions in several places.
++It uses only the first description found.
++The library has a compiled-in list of places to search
++which can be overridden by environment variables.
++Before starting to search,
++\fBncurses\fP eliminates duplicates in its search list.
++.bP
+ If the environment variable TERMINFO is set, it is interpreted as the pathname
+ of a directory containing the compiled description you are working on.
+-Only
+-that directory is searched.
+-.PP
+-If TERMINFO is not set, the \fBncurses\fR version of the terminfo reader code
+-will instead look in the directory \fB$HOME/.terminfo\fR
++Only that directory is searched.
++.bP
++If TERMINFO is not set,
++\fBncurses\fR will instead look in the directory \fB$HOME/.terminfo\fR
+ for a compiled description.
+-If it fails to find one there, and the environment variable TERMINFO_DIRS is
+-set, it will interpret the contents of that variable as a list of colon-
+-separated directories to be searched (an empty entry is interpreted as a
+-command to search \fI\*d\fR).
+-If no description is found in any of the
+-TERMINFO_DIRS directories, the fetch fails.
+-.PP
+-If neither TERMINFO nor TERMINFO_DIRS is set, the last place tried will be the
+-system terminfo directory, \fI\*d\fR.
+-.PP
+-(Neither the \fB$HOME/.terminfo\fR lookups nor TERMINFO_DIRS extensions are
+-supported under stock System V terminfo/curses.)
+-.PP
++.bP
++Next, if the environment variable TERMINFO_DIRS is set,
++\fBncurses\fR will interpret the contents of that variable
++as a list of colon-separated directories (or database files) to be searched.
++.IP
++An empty directory name (i.e., if the variable begins or ends
++with a colon, or contains adacent colons)
++is interpreted as the system location \fI\*d\fR.
++.bP
++Finally, \fBncurses\fP searches these compiled-in locations:
++.RS
++.bP
++a list of directories (@TERMINFO_DIRS@), and
++.bP
++the system terminfo directory, \fI\*d\fR (the compiled-in default).
++.RE
+ .SS Preparing Descriptions
+ .PP
+ We now outline how to prepare descriptions of terminals.
+@@ -397,7 +469,7 @@
+ .IP
+ where c\di\u are conditions, b\di\u are bodies.
+ .IP
+-Use the \fB\-f\fP option of \fBtic\fP or \fB@INFOCMP@\fP to see
++Use the \fB\-f\fP option of \fB@TIC@\fP or \fB@INFOCMP@\fP to see
+ the structure of if-then-else's.
+ Some strings, e.g., \fBsgr\fP can be very complicated when written
+ on one line.
+@@ -593,6 +665,7 @@
+ a distinction between typed and untyped blanks on the screen, shifting
+ upon an insert or delete only to an untyped blank on the screen which is
+ either eliminated, or expanded to two untyped blanks.
++.PP
+ You can determine the
+ kind of terminal you have by clearing the screen and then typing
+ text separated by cursor motions.
+@@ -608,6 +681,7 @@
+ current line and onto the next as you insert, you have the second type of
+ terminal, and should give the capability \fBin\fR, which stands for
+ \*(lqinsert null\*(rq.
++.PP
+ While these are two logically separate attributes (one line versus multi-line
+ insert mode, and special treatment of untyped spaces) we have seen no
+ terminals whose insert mode cannot be described with the single attribute.
+@@ -824,9 +898,9 @@
+ The only drawback to adding an sgr string is that termcap also
+ assumes that sgr0 does not exit alternate character set mode.
+ .PP
+-Terminals with the ``magic cookie'' glitch
++Terminals with the \*(``magic cookie\*('' glitch
+ .RB ( xmc )
+-deposit special ``cookies'' when they receive mode-setting sequences,
++deposit special \*(``cookies\*('' when they receive mode-setting sequences,
+ which affect the display algorithm rather than having extra bits for
+ each character.
+ Some terminals, such as the HP 2621, automatically leave standout
+@@ -871,6 +945,7 @@
+ If the keypad can be set to transmit or not transmit,
+ give these codes as \fBsmkx\fR and \fBrmkx\fR.
+ Otherwise the keypad is assumed to always transmit.
++.PP
+ The codes sent by the left arrow, right arrow, up arrow, down arrow,
+ and home keys can be given as
+ \fBkcub1, kcuf1, kcuu1, kcud1, \fRand\fB khome\fR respectively.
+@@ -878,41 +953,60 @@
+ can be given as \fBkf0, kf1, ..., kf10\fR.
+ If these keys have labels other than the default f0 through f10, the labels
+ can be given as \fBlf0, lf1, ..., lf10\fR.
++.PP
+ The codes transmitted by certain other special keys can be given:
++.bP
+ .B kll
+ (home down),
++.bP
+ .B kbs
+ (backspace),
++.bP
+ .B ktbc
+ (clear all tabs),
++.bP
+ .B kctab
+ (clear the tab stop in this column),
++.bP
+ .B kclr
+ (clear screen or erase key),
++.bP
+ .B kdch1
+ (delete character),
++.bP
+ .B kdl1
+ (delete line),
++.bP
+ .B krmir
+ (exit insert mode),
++.bP
+ .B kel
+ (clear to end of line),
++.bP
+ .B ked
+ (clear to end of screen),
++.bP
+ .B kich1
+ (insert character or enter insert mode),
++.bP
+ .B kil1
+ (insert line),
++.bP
+ .B knp
+ (next page),
++.bP
+ .B kpp
+ (previous page),
++.bP
+ .B kind
+ (scroll forward/down),
++.bP
+ .B kri
+ (scroll backward/up),
++.bP
+ .B khts
+ (set a tab stop in this column).
++.PP
+ In addition, if the keypad has a 3 by 3 array of keys including the four
+ arrow keys, the other five keys can be given as
+ .BR ka1 ,
+@@ -956,7 +1050,7 @@
+ tab stop can be given as
+ .B ht
+ (usually control I).
+-A ``back-tab'' command which moves leftward to the preceding tab stop can
++A \*(``back-tab\*('' command which moves leftward to the preceding tab stop can
+ be given as
+ .BR cbt .
+ By convention, if the teletype modes indicate that tabs are being
+@@ -974,7 +1068,7 @@
+ .B it
+ is given, showing the number of spaces the tabs are set to.
+ This is normally used by the
+-.IR tset
++.IR @TSET@
+ command to determine whether to set the mode for hardware tab expansion,
+ and whether to set the tab stops.
+ If the terminal has tab stops that can be saved in non-volatile memory,
+@@ -1303,6 +1397,7 @@
+ yellow \fBCOLOR_YELLOW\fR 6 max,max,0
+ white \fBCOLOR_WHITE\fR 7 max,max,max
+ .TE
++.PP
+ It is important to not confuse the two sets of color capabilities;
+ otherwise red/blue will be interchanged on the display.
+ .PP
+@@ -1420,13 +1515,13 @@
+ .I virtual
+ terminal descriptions for which the escape sequences are known.)
+ .PP
+-If the terminal has a ``meta key'' which acts as a shift key,
++If the terminal has a \*(``meta key\*('' which acts as a shift key,
+ setting the 8th bit of any character transmitted, this fact can
+ be indicated with
+ .BR km .
+ Otherwise, software will assume that the 8th bit is parity and it
+ will usually be cleared.
+-If strings exist to turn this ``meta mode'' on and off, they
++If strings exist to turn this \*(``meta mode\*('' on and off, they
+ can be given as
+ .B smm
+ and
+@@ -1488,7 +1583,7 @@
+ Note: the variable indicating this is now `dest_tabs_magic_smso'; in
+ older versions, it was teleray_glitch.
+ This glitch is also taken to mean that it is not possible to position
+-the cursor on top of a ``magic cookie'',
++the cursor on top of a \*(``magic cookie\*('',
+ that to erase standout mode it is instead necessary to use
+ delete and insert line.
+ The ncurses implementation ignores this glitch.
+@@ -1524,8 +1619,10 @@
+ A capability can be canceled by placing \fBxx@\fR to the left of the
+ use reference that imports it, where \fIxx\fP is the capability.
+ For example, the entry
++.RS
+ .PP
+- 2621\-nl, smkx@, rmkx@, use=2621,
++2621\-nl, smkx@, rmkx@, use=2621,
++.RE
+ .PP
+ defines a 2621\-nl that does not have the \fBsmkx\fR or \fBrmkx\fR capabilities,
+ and hence does not turn on the function key labels when in visual mode.
+@@ -1570,19 +1667,15 @@
+ backslash-newline pairs, which \fBtgetent()\fP strips out while reading it.
+ Some termcap libraries strip off the final newline, too (GNU termcap does not).
+ Now suppose:
+-.TP 5
+-*
++.bP
+ a termcap entry before expansion is more than 1023 bytes long,
+-.TP 5
+-*
++.bP
+ and the application has only allocated a 1k buffer,
+-.TP 5
+-*
++.bP
+ and the termcap library (like the one in BSD/OS 1.1 and GNU) reads
+ the whole entry into the buffer, no matter what its length, to see
+ if it is the entry it wants,
+-.TP 5
+-*
++.bP
+ and \fBtgetent()\fP is searching for a terminal type that either is the
+ long entry, appears in the termcap file after the long entry, or
+ does not appear in the file at all (so that \fBtgetent()\fP has to search
+@@ -1625,6 +1718,11 @@
+ SVr1, and have added extension capabilities to the string table that (in the
+ binary format) collide with System V and XSI Curses extensions.
+ .SH EXTENSIONS
++.PP
++Searching for terminal descriptions in
++\fB$HOME/.terminfo\fR and TERMINFO_DIRS
++is not supported by older implementations.
++.PP
+ Some SVr4 \fBcurses\fR implementations, and all previous to SVr4, do not
+ interpret the %A and %O operators in parameter strings.
+ .PP
+@@ -1666,9 +1764,9 @@
+ .PP
+ \fBSVr1, Ultrix\fR \-\-
+ These support a restricted subset of terminfo capabilities.
+-The booleans
+-end with \fBxon_xoff\fR; the numerics with \fBwidth_status_line\fR; and the
+-strings with \fBprtr_non\fR.
++The booleans end with \fBxon_xoff\fR;
++the numerics with \fBwidth_status_line\fR;
++and the strings with \fBprtr_non\fR.
+ .PP
+ \fBHP/UX\fR \-\-
+ Supports the SVr1 subset, plus the SVr[234] numerics \fBnum_labels\fR,
+Index: man/tic.1m
+Prereq: 1.47
+--- ncurses-5.9/man/tic.1m 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/tic.1m 2013-02-02 22:09:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,19 +26,25 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: tic.1m,v 1.47 2010/12/04 18:38:55 tom Exp $
++.\" $Id: tic.1m,v 1.57 2013/02/02 22:09:02 tom Exp $
+ .TH @TIC@ 1M ""
+ .ds n 5
+ .ds d @TERMINFO@
++.de bP
++.IP \(bu 4
++..
+ .SH NAME
+-\fBtic\fR \- the \fIterminfo\fR entry-description compiler
++\fB@TIC@\fR \- the \fIterminfo\fR entry-description compiler
+ .SH SYNOPSIS
+-\fBtic\fR
++\fB@TIC@\fR
+ [\fB\-\
++0\
+ 1\
+ C\
++D\
+ G\
+ I\
++K\
+ L\
+ N\
+ T\
+@@ -61,31 +67,69 @@
+ \fIfile\fR
+ .br
+ .SH DESCRIPTION
+-The command \fBtic\fR translates a \fBterminfo\fR file from source
++The \fB@TIC@\fR command translates a \fBterminfo\fR file from source
+ format into compiled format.
+ The compiled format is necessary for use with
+ the library routines in \fBncurses\fR(3X).
+ .PP
+-The results are normally placed in the system terminfo
+-directory \fB\*d\fR.
+-There are two ways to change this behavior.
+-.PP
+-First, you may override the system default by setting the variable
+-\fBTERMINFO\fR in your shell environment to a valid (existing) directory name.
+-.PP
+-Secondly, if \fBtic\fR cannot get access to \fI\*d\fR or your TERMINFO
+-directory, it looks for the directory \fI$HOME/.terminfo\fR; if that directory
+-exists, the entry is placed there.
+-.PP
+-Libraries that read terminfo entries are expected to check for a TERMINFO
+-directory first, look at \fI$HOME/.terminfo\fR if TERMINFO is not set, and
+-finally look in \fI\*d\fR.
++As described in \fBterm\fR(\*n), the database may be either a directory
++tree (one file per terminal entry) or a hashed database (one record per entry).
++The \fB@TIC@\fR command writes only one type of entry,
++depending on how it was built:
++.bP
++For directory trees, the top-level directory, e.g., /usr/share/terminfo,
++specifies the location of the database.
++.bP
++For hashed databases, a filename is needed.
++If the given file is not found by that name,
++but can be found by adding the suffix ".db",
++then that is used.
++.IP
++The default name for the hashed database is the same as the
++default directory name (only adding a ".db" suffix).
++.PP
++In either case (directory or hashed database),
++\fB@TIC@\fP will create the container if it does not exist.
++For a directory, this would be the "terminfo" leaf,
++versus a "terminfo.db" file.
++.PP
++The results are normally placed in the system terminfo database \fB\*d\fR.
++The compiled terminal description can be placed
++in a different terminfo database.
++There are two ways to achieve this:
++.bP
++First, you may override the system default either by
++using the \fB\-o\fP option,
++or by setting the variable \fBTERMINFO\fR
++in your shell environment to a valid database location.
++.bP
++Secondly, if \fB@TIC@\fR cannot write in \fI\*d\fR
++or the location specified using your TERMINFO variable,
++it looks for the directory \fI$HOME/.terminfo\fR
++(or hashed database \fI$HOME/.terminfo.db)\fR;
++if that location exists, the entry is placed there.
++.PP
++Libraries that read terminfo entries are expected to check in succession
++.bP
++a location specified with the TERMINFO environment variable,
++.bP
++\fI$HOME/.terminfo\fR,
++.bP
++directories listed in the TERMINFO_DIRS environment variable,
++.bP
++a compiled-in list of directories (@TERMINFO_DIRS@), and
++.bP
++the system terminfo database (\fI\*d\fR).
++.SS OPTIONS
++.TP
++\fB\-0\fR
++restricts the output to a single line
+ .TP
+ \fB\-1\fR
+ restricts the output to a single column
+ .TP
+ \fB\-a\fR
+-tells \fBtic\fP to retain commented-out capabilities rather than discarding
++tells \fB@TIC@\fP to retain commented-out capabilities rather than discarding
+ them.
+ Capabilities are commented by prefixing them with a period.
+ This sets the \fB\-x\fR option, because it treats the commented-out
+@@ -101,16 +145,30 @@
+ Capabilities
+ that are not translatable are left in the entry under their terminfo names
+ but commented out with two preceding dots.
++The actual format used incorporates some improvements for escaped characters
++from terminfo format.
++For a stricter BSD-compatible translation, add the \fB\-K\fR option.
+ .TP
+ \fB\-c\fR
+-tells \fBtic\fP to only check \fIfile\fR for errors, including syntax problems and
++tells \fB@TIC@\fP to only check \fIfile\fR for errors, including syntax problems and
+ bad use links.
+ If you specify \fB\-C\fR (\fB\-I\fR) with this option, the code
+ will print warnings about entries which, after use resolution, are more than
+ 1023 (4096) bytes long.
+-Due to a fixed buffer length in older termcap
+-libraries (and a documented limit in terminfo), these entries may cause core
+-dumps.
++Due to a fixed buffer length in older termcap libraries,
++as well as buggy checking for the buffer length
++(and a documented limit in terminfo),
++these entries may cause core
++dumps with other implementations.
++.TP
++\fB\-D\fR
++tells \fB@TIC@\fP to print the database locations that it knows about, and exit.
++The first location shown is the one to which it would write compiled
++terminal descriptions.
++If \fB@TIC@\fP is not able to find a writable database location
++according to the rules summarized above,
++it will print a diagnostic and exit with an error rather than
++printing a list of database locations.
+ .TP
+ \fB\-e \fR\fInames\fR
+ Limit writes and translations to the following comma-separated list of
+@@ -137,6 +195,10 @@
+ \fB\-I\fR
+ Force source translation to terminfo format.
+ .TP
++\fB\-K\fR
++Suppress some longstanding ncurses extensions to termcap format,
++e.g., "\\s" for space.
++.TP
+ \fB\-L\fR
+ Force source translation to terminfo format
+ using the long C variable names listed in <\fBterm.h\fR>
+@@ -155,9 +217,8 @@
+ obsolete capabilities.
+ .TP
+ \fB\-o\fR\fIdir\fR
+-Write compiled entries to given directory.
+-Overrides the TERMINFO environment
+-variable.
++Write compiled entries to given database location.
++Overrides the TERMINFO environment variable.
+ .TP
+ \fB\-R\fR\fIsubset\fR
+ Restrict output to a given subset.
+@@ -177,7 +238,7 @@
+ tc capabilities per entry.
+ .TP
+ \fB\-s\fR
+-Summarize the compile by showing the directory into which entries
++Summarize the compile by showing the database location into which entries
+ are written, and the number of entries which are compiled.
+ .TP
+ \fB\-T\fR
+@@ -186,12 +247,12 @@
+ descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
+ .TP
+ \fB\-t\fR
+-tells \fBtic\fP to discard commented-out capabilities.
++tells \fB@TIC@\fP to discard commented-out capabilities.
+ Normally when translating from terminfo to termcap,
+ untranslatable capabilities are commented-out.
+ .TP 5
+ \fB\-U\fR
+-tells \fBtic\fP to not post-process the data after parsing the source file.
++tells \fB@TIC@\fP to not post-process the data after parsing the source file.
+ Normally, it infers data which is commonly missing in older terminfo data,
+ or in termcaps.
+ .TP
+@@ -200,31 +261,13 @@
+ .TP
+ \fB\-v\fR\fIn\fR
+ specifies that (verbose) output be written to standard error trace
+-information showing \fBtic\fR's progress.
++information showing \fB@TIC@\fR's progress.
+ The optional parameter \fIn\fR is a number from 1 to 10, inclusive,
+ indicating the desired level of detail of information.
+ If \fIn\fR is omitted, the default level is 1.
+ If \fIn\fR is specified and greater than 1, the level of
+ detail is increased.
+-.TP
+-\fB\-w\fR\fIn\fR
+-specifies the width of the output.
+-The parameter is optional.
+-If it is omitted, it defaults to 60.
+-.TP
+-\fB\-x\fR
+-Treat unknown capabilities as user-defined.
+-That is, if you supply a capability name which \fBtic\fP does not recognize,
+-it will infer its type (boolean, number or string) from the syntax and
+-make an extended table entry for that.
+-User-defined capability strings
+-whose name begins with ``k'' are treated as function keys.
+-.TP
+-\fIfile\fR
+-contains one or more \fBterminfo\fR terminal descriptions in source
+-format [see \fBterminfo\fR(\*n)].
+-Each description in the file
+-describes the capabilities of a particular terminal.
++.RS
+ .PP
+ The debug flag levels are as follows:
+ .TP
+@@ -250,19 +293,42 @@
+ All values computed in construction of the hash table
+ .LP
+ If the debug level \fIn\fR is not given, it is taken to be one.
++.RE
++.TP
++\fB\-w\fR\fIn\fR
++specifies the width of the output.
++The parameter is optional.
++If it is omitted, it defaults to 60.
++.TP
++\fB\-x\fR
++Treat unknown capabilities as user-defined.
++That is, if you supply a capability name which \fB@TIC@\fP does not recognize,
++it will infer its type (boolean, number or string) from the syntax and
++make an extended table entry for that.
++User-defined capability strings
++whose name begins with ``k'' are treated as function keys.
++.SS PARAMETERS
++.TP
++\fIfile\fR
++contains one or more \fBterminfo\fR terminal descriptions in source
++format [see \fBterminfo\fR(\*n)].
++Each description in the file
++describes the capabilities of a particular terminal.
++.IP
++If \fIfile\fR is ``-'', then the data is read from the standard input.
++The \fIfile\fR parameter may also be the path of a character-device.
++.SS PROCESSING
+ .PP
+-All but one of the capabilities recognized by \fBtic\fR are documented
++All but one of the capabilities recognized by \fB@TIC@\fR are documented
+ in \fBterminfo\fR(\*n).
+ The exception is the \fBuse\fR capability.
+ .PP
+ When a \fBuse\fR=\fIentry\fR\-\fIname\fR field is discovered in a
+-terminal entry currently being compiled, \fBtic\fR reads in the binary
++terminal entry currently being compiled, \fB@TIC@\fR reads in the binary
+ from \fB\*d\fR to complete the entry.
+ (Entries created from
+ \fIfile\fR will be used first.
+-If the environment variable
+-\fBTERMINFO\fR is set, that directory is searched instead of
+-\fB\*d\fR.) \fBtic\fR duplicates the capabilities in
++\fB@TIC@\fR duplicates the capabilities in
+ \fIentry\fR\-\fIname\fR for the current entry, with the exception of
+ those capabilities that explicitly are defined in the current entry.
+ .PP
+@@ -272,9 +338,6 @@
+ \fBentry_name_1\fR before \fBuse=\fR for these capabilities to be
+ canceled in \fBentry_name_1\fR.
+ .PP
+-If the environment variable \fBTERMINFO\fR is set, the compiled
+-results are placed there instead of \fB\*d\fR.
+-.PP
+ Total compiled entries cannot exceed 4096 bytes.
+ The name field cannot
+ exceed 512 bytes.
+@@ -282,14 +345,14 @@
+ (32 characters on systems with long filenames, 14 characters otherwise)
+ will be truncated to the maximum alias length and a warning message will be printed.
+ .SH COMPATIBILITY
+-There is some evidence that historic \fBtic\fR implementations treated
++There is some evidence that historic \fB@TIC@\fR implementations treated
+ description fields with no whitespace in them as additional aliases or
+ short names.
+-This \fBtic\fR does not do that, but it does warn when
++This \fB@TIC@\fR does not do that, but it does warn when
+ description fields may be treated that way and check them for dangerous
+ characters.
+ .SH EXTENSIONS
+-Unlike the stock SVr4 \fBtic\fR command, this implementation can actually
++Unlike the SVr4 \fB@TIC@\fR command, this implementation can actually
+ compile termcap sources.
+ In fact, entries in terminfo and termcap syntax can
+ be mixed in a single source file.
+@@ -298,16 +361,20 @@
+ .PP
+ The SVr4 manual pages are not clear on the resolution rules for \fBuse\fR
+ capabilities.
+-This implementation of \fBtic\fR will find \fBuse\fR targets anywhere
++This implementation of \fB@TIC@\fR will find \fBuse\fR targets anywhere
+ in the source file, or anywhere in the file tree rooted at \fBTERMINFO\fR (if
+-\fBTERMINFO\fR is defined), or in the user's \fI$HOME/.terminfo\fR directory
+-(if it exists), or (finally) anywhere in the system's file tree of
++\fBTERMINFO\fR is defined),
++or in the user's \fI$HOME/.terminfo\fR database
++(if it exists),
++or (finally) anywhere in the system's file tree of
+ compiled entries.
+ .PP
+-The error messages from this \fBtic\fR have the same format as GNU C
++The error messages from this \fB@TIC@\fR have the same format as GNU C
+ error messages, and can be parsed by GNU Emacs's compile facility.
+ .PP
+ The
++\fB\-0\fR,
++\fB\-1\fR,
+ \fB\-C\fR,
+ \fB\-G\fR,
+ \fB\-I\fR,
+@@ -329,7 +396,7 @@
+ The SVr4 \fB\-c\fR mode does not report bad use links.
+ .PP
+ System V does not compile entries to or read entries from your
+-\fI$HOME/.terminfo\fR directory unless TERMINFO is explicitly set to it.
++\fI$HOME/.terminfo\fR database unless TERMINFO is explicitly set to it.
+ .SH FILES
+ .TP 5
+ \fB\*d/?/*\fR
+@@ -340,6 +407,7 @@
+ \fB@INFOTOCAP@\fR(1M),
+ \fB@TOE@\fR(1M),
+ \fBcurses\fR(3X),
++\fBterm\fR(\*n).
+ \fBterminfo\fR(\*n).
+ .PP
+ This describes \fBncurses\fR
+Index: man/toe.1m
+Prereq: 1.23
+--- ncurses-5.9/man/toe.1m 2010-12-04 18:40:45.000000000 +0000
++++ ncurses-5.9-20130504/man/toe.1m 2012-01-01 00:40:51.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,19 +26,19 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: toe.1m,v 1.23 2010/12/04 18:40:45 tom Exp $
++.\" $Id: toe.1m,v 1.26 2012/01/01 00:40:51 tom Exp $
+ .TH @TOE@ 1M ""
+ .ds n 5
+ .ds d @TERMINFO@
+ .SH NAME
+-\fBtoe\fR \- table of (terminfo) entries
++\fB@TOE@\fR \- table of (terminfo) entries
+ .SH SYNOPSIS
+-\fBtoe\fR [\fB\-v\fR[\fIn\fR]] [\fB\-ahuUV\fR] \fIfile...\fR
++\fB@TOE@\fR [\fB\-v\fR[\fIn\fR]] [\fB\-ahsuUV\fR] \fIfile...\fR
+ .br
+ .SH DESCRIPTION
+ .PP
+ With no options,
+-\fBtoe\fR lists all available terminal types by primary name
++\fB@TOE@\fR lists all available terminal types by primary name
+ with descriptions.
+ File arguments specify the directories to be scanned; if no
+ such arguments are given,
+@@ -52,6 +52,15 @@
+ \fB\-a\fR
+ report on all of the terminal databases which ncurses would search,
+ rather than only the first one that it finds.
++.IP
++If the \fB\-s\fR is also given, \fB@TOE@\fR
++adds a column to the report,
++showing (like \fBconflict\fP(1)) which entries which
++belong to a given terminal database.
++An "*" marks entries which differ, and "+" marks equivalent entries.
++.TP
++\fB\-s\fR
++sort the output by the entry names.
+ .TP
+ \fB\-u\fR \fIfile\fR
+ says to write a report to the standard output,
+@@ -78,7 +87,7 @@
+ .TP
+ \fB\-v\fR\fIn\fR
+ specifies that (verbose) output be written to standard error,
+-showing \fBtoe\fR's progress.
++showing \fB@TOE@\fR's progress.
+ The optional parameter \fIn\fR is a number from 1 to 10,
+ interpreted as for \fB@TIC@\fR(1M).
+ .TP
+Index: man/tput.1
+Prereq: 1.29
+--- ncurses-5.9/man/tput.1 2010-12-04 18:41:07.000000000 +0000
++++ ncurses-5.9-20130504/man/tput.1 2012-07-14 21:06:45.000000000 +0000
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: tput.1,v 1.29 2010/12/04 18:41:07 tom Exp $
++.\" $Id: tput.1,v 1.32 2012/07/14 21:06:45 tom Exp $
+ .TH @TPUT@ 1 ""
+ .ds d @TERMINFO@
+ .ds n 1
+@@ -77,11 +77,12 @@
+ and the \fIcapname\fR associated with each, see \fBterminfo\fR(5).
+ .TP
+ \fB\-T\fR\fItype\fR
+-indicates the \fItype\fR of terminal. Normally this option is
++indicates the \fItype\fR of terminal.
++Normally this option is
+ unnecessary, because the default is taken from the environment
+-variable \fBTERM\fR. If \fB\-T\fR is specified, then the shell
+-variables \fBLINES\fR and \fBCOLUMNS\fR will be ignored,and the
+-operating system will not be queried for the actual screen size.
++variable \fBTERM\fR.
++If \fB\-T\fR is specified, then the shell
++variables \fBLINES\fR and \fBCOLUMNS\fR will also be ignored.
+ .TP
+ \fIcapname\fR
+ indicates the capability from the \fBterminfo\fR database. When
+@@ -159,7 +160,7 @@
+ .PP
+ If \fB@TPUT@\fR is invoked by a link named \fBreset\fR, this has the
+ same effect as \fB@TPUT@ reset\fR.
+-See \fBtset\fR for comparison, which has similar behavior.
++See \fB@TSET@\fR for comparison, which has similar behavior.
+ .SH EXAMPLES
+ .TP 5
+ \fB@TPUT@ init\fR
+@@ -275,7 +276,7 @@
+ .PP
+ Any other exit code indicates an error; see the DIAGNOSTICS section.
+ .SH DIAGNOSTICS
+-\fBtput\fR prints the following error messages and sets the corresponding exit
++\fB@TPUT@\fR prints the following error messages and sets the corresponding exit
+ codes.
+ .PP
+ .ne 15
+@@ -303,17 +304,29 @@
+ .PP
+ X/Open documents only the operands for \fBclear\fP, \fBinit\fP and \fBreset\fP.
+ In this implementation, \fBclear\fP is part of the \fIcapname\fR support.
+-Other implementations of \fBtput\fP on
++Other implementations of \fB@TPUT@\fP on
+ SVr4-based systems such as Solaris, IRIX64 and HPUX
+ as well as others such as AIX and Tru64
+ provide support for \fIcapname\fR operands.
++.PP
+ A few platforms such as FreeBSD and NetBSD recognize termcap names rather
+-than terminfo capability names in their respective \fBtput\fP commands.
++than terminfo capability names in their respective \fB@TPUT@\fP commands.
++.PP
++Most implementations which provide support for \fIcapname\fR operands
++use the \fItparm\fP function to expand parameters in it.
++That function expects a mixture of numeric and string parameters,
++requiring \fB@TPUT@\fP to know which type to use.
++This implementation uses a table to determine that for
++the standard \fIcapname\fR operands, and an internal library
++function to analyze nonstandard \fIcapname\fR operands.
++Other implementations may simply guess that an operand containing only digits
++is intended to be a number.
+ .SH SEE ALSO
+ \fB@CLEAR@\fR(1),
+ \fBstty\fR(1),
+ \fBtabs\fR(\*n),
+-\fBterminfo\fR(5).
++\fBterminfo\fR(5),
++\fBcurs_termcap\fR(3X).
+ .PP
+ This describes \fBncurses\fR
+ version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
+Index: man/tset.1
+Prereq: 1.25
+--- ncurses-5.9/man/tset.1 2010-12-04 18:38:55.000000000 +0000
++++ ncurses-5.9-20130504/man/tset.1 2011-12-17 23:20:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,12 +26,12 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: tset.1,v 1.25 2010/12/04 18:38:55 tom Exp $
++.\" $Id: tset.1,v 1.27 2011/12/17 23:20:35 tom Exp $
+ .TH @TSET@ 1 ""
+ .SH NAME
+-\fBtset\fR, \fBreset\fR \- terminal initialization
++\fB@TSET@\fR, \fBreset\fR \- terminal initialization
+ .SH SYNOPSIS
+-\fBtset\fR [\fB\-IQVcqrsw\fR] [\fB\-\fR] [\fB\-e\fR \fIch\fR] [\fB\-i\fR \fIch\fR] [\fB\-k\fR \fIch\fR] [\fB\-m\fR \fImapping\fR] [\fIterminal\fR]
++\fB@TSET@\fR [\fB\-IQVcqrsw\fR] [\fB\-\fR] [\fB\-e\fR \fIch\fR] [\fB\-i\fR \fIch\fR] [\fB\-k\fR \fIch\fR] [\fB\-m\fR \fImapping\fR] [\fIterminal\fR]
+ .br
+ \fBreset\fR [\fB\-IQVcqrsw\fR] [\fB\-\fR] [\fB\-e\fR \fIch\fR] [\fB\-i\fR \fIch\fR] [\fB\-k\fR \fIch\fR] [\fB\-m\fR \fImapping\fR] [\fIterminal\fR]
+ .SH DESCRIPTION
+@@ -72,7 +72,7 @@
+ versus the other initialization.
+ If neither option is given, both are assumed.
+ .PP
+-When invoked as \fBreset\fR, \fBtset\fR sets cooked and echo modes,
++When invoked as \fBreset\fR, \fB@TSET@\fR sets cooked and echo modes,
+ turns off cbreak and raw modes, turns on newline translation and
+ resets any unset special characters to their default values before
+ doing the terminal initialization described above. This is useful
+@@ -89,6 +89,7 @@
+ .TP 5
+ .B \-c
+ Set control characters and modes.
++.TP 5
+ .B \-e
+ Set the erase character to \fIch\fR.
+ .TP
+@@ -109,7 +110,7 @@
+ .TP
+ .B \-Q
+ Do not display any values for the erase, interrupt and line kill characters.
+-Normally \fBtset\fR displays the values for control characters which
++Normally \fB@TSET@\fR displays the values for control characters which
+ differ from the system's default values.
+ .TP
+ .B \-q
+@@ -152,19 +153,19 @@
+ \fBnoglob\fR, leaving it unset. The following line in the \fB.login\fR
+ or \fB.profile\fR files will initialize the environment correctly:
+ .sp
+- eval \`tset \-s options ... \`
++ eval \`@TSET@ \-s options ... \`
+ .
+ .SH TERMINAL TYPE MAPPING
+ When the terminal is not hardwired into the system (or the current
+ system information is incorrect) the terminal type derived from the
+ \fI/etc/ttys\fR file or the \fBTERM\fR environmental variable is often
+ something generic like \fBnetwork\fR, \fBdialup\fR, or \fBunknown\fR.
+-When \fBtset\fR is used in a startup script it is often desirable to
++When \fB@TSET@\fR is used in a startup script it is often desirable to
+ provide information about the type of terminal used on such ports.
+ .PP
+ The purpose of the \fB\-m\fR option is to map
+ from some set of conditions to a terminal type, that is, to
+-tell \fBtset\fR
++tell \fB@TSET@\fR
+ ``If I'm on this port at a particular speed, guess that I'm on that
+ kind of terminal''.
+ .PP
+@@ -207,20 +208,20 @@
+ and that \fBcsh\fR users insert a backslash character (``\e'') before
+ any exclamation marks (``!'').
+ .SH HISTORY
+-The \fBtset\fR command appeared in BSD 3.0. The \fBncurses\fR implementation
++The \fB@TSET@\fR command appeared in BSD 3.0. The \fBncurses\fR implementation
+ was lightly adapted from the 4.4BSD sources for a terminfo environment by Eric
+ S. Raymond <esr@snark.thyrsus.com>.
+ .SH COMPATIBILITY
+-The \fBtset\fR utility has been provided for backward-compatibility with BSD
++The \fB@TSET@\fR utility has been provided for backward-compatibility with BSD
+ environments (under most modern UNIXes, \fB/etc/inittab\fR and \fIgetty\fR(1)
+ can set \fBTERM\fR appropriately for each dial-up line; this obviates what was
+-\fBtset\fR's most important use). This implementation behaves like 4.4BSD
++\fB@TSET@\fR's most important use). This implementation behaves like 4.4BSD
+ tset, with a few exceptions specified here.
+ .PP
+ The \fB\-S\fR option of BSD tset no longer works; it prints an error message to stderr
+ and dies. The \fB\-s\fR option only sets \fBTERM\fR, not \fBTERMCAP\fP. Both these
+ changes are because the \fBTERMCAP\fR variable is no longer supported under
+-terminfo-based \fBncurses\fR, which makes \fBtset \-S\fR useless (we made it die
++terminfo-based \fBncurses\fR, which makes \fB@TSET@ \-S\fR useless (we made it die
+ noisily rather than silently induce lossage).
+ .PP
+ There was an undocumented 4.4BSD feature that invoking tset via a link named
+@@ -228,7 +229,7 @@
+ terminal to use upper-case only. This feature has been omitted.
+ .PP
+ The \fB\-A\fR, \fB\-E\fR, \fB\-h\fR, \fB\-u\fR and \fB\-v\fR
+-options were deleted from the \fBtset\fR
++options were deleted from the \fB@TSET@\fR
+ utility in 4.4BSD.
+ None of them were documented in 4.3BSD and all are
+ of limited utility at best.
+@@ -243,14 +244,14 @@
+ arguments, although it is strongly recommended that such usage be fixed to
+ explicitly specify the character.
+ .PP
+-As of 4.4BSD, executing \fBtset\fR as \fBreset\fR no longer implies the \fB\-Q\fR
++As of 4.4BSD, executing \fB@TSET@\fR as \fBreset\fR no longer implies the \fB\-Q\fR
+ option. Also, the interaction between the \- option and the \fIterminal\fR
+-argument in some historic implementations of \fBtset\fR has been removed.
++argument in some historic implementations of \fB@TSET@\fR has been removed.
+ .SH ENVIRONMENT
+-The \fBtset\fR command uses these environment variables:
++The \fB@TSET@\fR command uses these environment variables:
+ .TP 5
+ SHELL
+-tells \fBtset\fP whether to initialize \fBTERM\fP using \fBsh\fP or
++tells \fB@TSET@\fP whether to initialize \fBTERM\fP using \fBsh\fP or
+ \fBcsh\fP syntax.
+ .TP 5
+ TERM
+@@ -260,7 +261,7 @@
+ TERMCAP
+ may denote the location of a termcap database.
+ If it is not an absolute pathname, e.g., begins with a `/',
+-\fBtset\fP removes the variable from the environment before looking
++\fB@TSET@\fP removes the variable from the environment before looking
+ for the terminal description.
+ .SH FILES
+ .TP 5
+Index: menu/Makefile.in
+Prereq: 1.54
+--- ncurses-5.9/menu/Makefile.in 2010-11-27 21:45:27.000000000 +0000
++++ ncurses-5.9-20130504/menu/Makefile.in 2012-09-29 19:37:34.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.54 2010/11/27 21:45:27 tom Exp $
++# $Id: Makefile.in,v 1.56 2012/09/29 19:37:34 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -102,6 +102,7 @@
+ SHLIB_DIRS = -L../lib
+ SHLIB_LIST = $(SHLIB_DIRS) -lncurses@LIB_SUFFIX@ @SHLIB_LIST@
+
++RPATH_LIST = @RPATH_LIST@
+ MK_SHARED_LIB = @MK_SHARED_LIB@
+
+ NCURSES_MAJOR = @NCURSES_MAJOR@
+@@ -111,7 +112,7 @@
+
+ RANLIB = @LIB_PREP@
+
+-LIBRARIES = @LIBS_TO_MAKE@
++LIBRARIES = @Libs_To_Make@
+
+ LINT = @LINT@
+ LINT_OPTS = @LINT_OPTS@
+Index: menu/m_attribs.c
+Prereq: 1.16
+--- ncurses-5.9/menu/m_attribs.c 2010-01-23 21:16:54.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_attribs.c 2012-03-10 23:43:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_attribs.c,v 1.16 2010/01/23 21:16:54 tom Exp $")
++MODULE_ID("$Id: m_attribs.c,v 1.17 2012/03/10 23:43:41 tom Exp $")
+
+ /* Macro to redraw menu if it is posted and changed */
+ #define Refresh_Menu(menu) \
+@@ -51,7 +51,7 @@
+ #define GEN_MENU_ATTR_SET_FCT( name ) \
+ NCURSES_IMPEXP int NCURSES_API set_menu_ ## name (MENU* menu, chtype attr) \
+ {\
+- T((T_CALLED("set_menu_" #name "(%p,%s)"), menu, _traceattr(attr))); \
++ T((T_CALLED("set_menu_" #name "(%p,%s)"), (void *) menu, _traceattr(attr))); \
+ if (!(attr==A_NORMAL || (attr & A_ATTRIBUTES)==attr))\
+ RETURN(E_BAD_ARGUMENT);\
+ if (menu && ( menu -> name != attr))\
+Index: menu/m_driver.c
+Prereq: 1.29
+--- ncurses-5.9/menu/m_driver.c 2010-01-23 21:20:10.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_driver.c 2012-03-10 23:43:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_driver.c,v 1.29 2010/01/23 21:20:10 tom Exp $")
++MODULE_ID("$Id: m_driver.c,v 1.31 2012/03/10 23:43:41 tom Exp $")
+
+ /* Macros */
+
+@@ -47,7 +47,7 @@
+
+ /* Add a new character to the match pattern buffer */
+ #define Add_Character_To_Pattern(menu,ch) \
+- { (menu)->pattern[((menu)->pindex)++] = (ch);\
++ { (menu)->pattern[((menu)->pindex)++] = (char) (ch);\
+ (menu)->pattern[(menu)->pindex] = '\0'; }
+
+ /*---------------------------------------------------------------------------
+@@ -537,7 +537,11 @@
+ result = E_UNKNOWN_COMMAND;
+ }
+
+- if (E_OK == result)
++ if (item == 0)
++ {
++ result = E_BAD_STATE;
++ }
++ else if (E_OK == result)
+ {
+ /* Adjust the top row if it turns out that the current item unfortunately
+ doesn't appear in the menu window */
+Index: menu/m_format.c
+Prereq: 1.16
+--- ncurses-5.9/menu/m_format.c 2010-01-23 21:20:10.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_format.c 2012-06-09 23:54:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_format.c,v 1.16 2010/01/23 21:20:10 tom Exp $")
++MODULE_ID("$Id: m_format.c,v 1.18 2012/06/09 23:54:02 tom Exp $")
+
+ #define minimum(a,b) ((a)<(b) ? (a): (b))
+
+@@ -81,8 +81,8 @@
+ if (menu->pattern)
+ Reset_Pattern(menu);
+
+- menu->frows = rows;
+- menu->fcols = cols;
++ menu->frows = (short)rows;
++ menu->fcols = (short)cols;
+
+ assert(rows > 0 && cols > 0);
+ total_rows = (menu->nitems - 1) / cols + 1;
+@@ -90,21 +90,21 @@
+ minimum(menu->nitems, cols) :
+ (menu->nitems - 1) / total_rows + 1;
+
+- menu->rows = total_rows;
+- menu->cols = total_cols;
+- menu->arows = minimum(total_rows, rows);
++ menu->rows = (short)total_rows;
++ menu->cols = (short)total_cols;
++ menu->arows = (short)minimum(total_rows, rows);
+ menu->toprow = 0;
+ menu->curitem = *(menu->items);
+ assert(menu->curitem);
+- menu->status |= _LINK_NEEDED;
++ SetStatus(menu, _LINK_NEEDED);
+ _nc_Calculate_Item_Length_and_Width(menu);
+ }
+ else
+ {
+ if (rows > 0)
+- _nc_Default_Menu.frows = rows;
++ _nc_Default_Menu.frows = (short)rows;
+ if (cols > 0)
+- _nc_Default_Menu.fcols = cols;
++ _nc_Default_Menu.fcols = (short)cols;
+ }
+
+ RETURN(E_OK);
+Index: menu/m_global.c
+Prereq: 1.25
+--- ncurses-5.9/menu/m_global.c 2010-01-23 21:20:10.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_global.c 2012-06-10 00:09:15.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_global.c,v 1.25 2010/01/23 21:20:10 tom Exp $")
++MODULE_ID("$Id: m_global.c,v 1.27 2012/06/10 00:09:15 tom Exp $")
+
+ static char mark[] = "-";
+ /* *INDENT-OFF* */
+@@ -117,17 +117,17 @@
+ assert(menu && menu->items);
+ for (items = menu->items; *items; items++)
+ {
+- check = _nc_Calculate_Text_Width(&((*items)->name));
++ check = (unsigned)_nc_Calculate_Text_Width(&((*items)->name));
+ if (check > MaximumNameLength)
+ MaximumNameLength = check;
+
+- check = _nc_Calculate_Text_Width(&((*items)->description));
++ check = (unsigned)_nc_Calculate_Text_Width(&((*items)->description));
+ if (check > MaximumDescriptionLength)
+ MaximumDescriptionLength = check;
+ }
+
+- menu->namelen = MaximumNameLength;
+- menu->desclen = MaximumDescriptionLength;
++ menu->namelen = (short)MaximumNameLength;
++ menu->desclen = (short)MaximumDescriptionLength;
+ T(("ComputeMaximum_NameDesc_Lengths %d,%d", menu->namelen, menu->desclen));
+ }
+
+@@ -195,7 +195,7 @@
+ {
+ (*item)->value = FALSE;
+ }
+- (*item)->index = ItemCount++;
++ (*item)->index = (short)ItemCount++;
+ (*item)->imenu = menu;
+ }
+ }
+@@ -206,7 +206,7 @@
+ if (ItemCount != 0)
+ {
+ menu->items = items;
+- menu->nitems = ItemCount;
++ menu->nitems = (short)ItemCount;
+ ComputeMaximum_NameDesc_Lengths(menu);
+ if ((menu->pattern = typeMalloc(char, (unsigned)(1 + menu->namelen))))
+ {
+@@ -256,7 +256,7 @@
+ T((T_CALLED("_nc_menu_text_width(%p)"), (const void *)item));
+ if (result != 0 && item->str != 0)
+ {
+- int count = mbstowcs(0, item->str, 0);
++ int count = (int)mbstowcs(0, item->str, 0);
+ wchar_t *temp = 0;
+
+ if (count > 0
+@@ -343,7 +343,7 @@
+
+ assert(menu);
+
+- menu->height = 1 + menu->spc_rows * (menu->arows - 1);
++ menu->height = (short)(1 + menu->spc_rows * (menu->arows - 1));
+
+ l = calculate_actual_width(menu, TRUE);
+ l += menu->marklen;
+@@ -354,10 +354,10 @@
+ l += menu->spc_desc;
+ }
+
+- menu->itemlen = l;
++ menu->itemlen = (short)l;
+ l *= menu->cols;
+ l += (menu->cols - 1) * menu->spc_cols; /* for the padding between the columns */
+- menu->width = l;
++ menu->width = (short)l;
+
+ T(("_nc_CalculateItem_Length_and_Width columns %d, item %d, width %d",
+ menu->cols,
+@@ -388,7 +388,7 @@
+ int Last_in_Column;
+ bool cycle = (menu->opt & O_NONCYCLIC) ? FALSE : TRUE;
+
+- menu->status &= ~_LINK_NEEDED;
++ ClrStatus(menu, _LINK_NEEDED);
+
+ if (menu->opt & O_ROWMAJOR)
+ {
+@@ -431,8 +431,8 @@
+ (cycle ? menu->items[(row + 1) < menu->rows ?
+ Number_Of_Items - 1 : col] :
+ (ITEM *) 0);
+- item->x = col;
+- item->y = row;
++ item->x = (short)col;
++ item->y = (short)row;
+ if (++col == Number_Of_Columns)
+ {
+ row++;
+@@ -482,8 +482,8 @@
+ (ITEM *) 0
+ );
+
+- item->x = col;
+- item->y = row;
++ item->x = (short)col;
++ item->y = (short)row;
+ if ((++row) == Number_Of_Rows)
+ {
+ col++;
+@@ -568,7 +568,7 @@
+
+ cur_item = menu->curitem;
+ assert(cur_item);
+- menu->toprow = new_toprow;
++ menu->toprow = (short)new_toprow;
+ menu->curitem = new_current_item;
+
+ if (mterm_called)
+@@ -590,7 +590,7 @@
+ }
+ else
+ { /* if we are not posted, this is quite simple */
+- menu->toprow = new_toprow;
++ menu->toprow = (short)new_toprow;
+ menu->curitem = new_current_item;
+ }
+ }
+Index: menu/m_hook.c
+Prereq: 1.15
+--- ncurses-5.9/menu/m_hook.c 2010-01-23 21:16:54.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_hook.c 2012-03-10 23:43:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,13 +37,13 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_hook.c,v 1.15 2010/01/23 21:16:54 tom Exp $")
++MODULE_ID("$Id: m_hook.c,v 1.16 2012/03/10 23:43:41 tom Exp $")
+
+ /* "Template" macro to generate function to set application specific hook */
+ #define GEN_HOOK_SET_FUNCTION( typ, name ) \
+ NCURSES_IMPEXP int NCURSES_API set_ ## typ ## _ ## name (MENU *menu, Menu_Hook func )\
+ {\
+- T((T_CALLED("set_" #typ "_" #name "(%p,%p)"), menu, func));\
++ T((T_CALLED("set_" #typ "_" #name "(%p,%p)"), (void *) menu, func));\
+ (Normalize_Menu(menu) -> typ ## name = func );\
+ RETURN(E_OK);\
+ }
+Index: menu/m_item_new.c
+Prereq: 1.30
+--- ncurses-5.9/menu/m_item_new.c 2010-01-23 21:20:11.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_item_new.c 2012-06-09 23:55:15.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -44,7 +44,7 @@
+ #endif
+ #endif
+
+-MODULE_ID("$Id: m_item_new.c,v 1.30 2010/01/23 21:20:11 tom Exp $")
++MODULE_ID("$Id: m_item_new.c,v 1.33 2012/06/09 23:55:15 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnmenu
+@@ -62,7 +62,7 @@
+ int result = TRUE;
+
+ #if USE_WIDEC_SUPPORT
+- int count = mbstowcs(0, s, 0);
++ int count = (int)mbstowcs(0, s, 0);
+ wchar_t *temp = 0;
+
+ assert(s);
+@@ -127,13 +127,13 @@
+ {
+ *item = _nc_Default_Item; /* hope we have struct assignment */
+
+- item->name.length = strlen(name);
++ item->name.length = (unsigned short)strlen(name);
+ item->name.str = name;
+
+ if (description && (*description != '\0') &&
+ Is_Printable_String(description))
+ {
+- item->description.length = strlen(description);
++ item->description.length = (unsigned short)strlen(description);
+ item->description.str = description;
+ }
+ else
+@@ -195,12 +195,12 @@
+ NCURSES_EXPORT(int)
+ set_menu_mark(MENU * menu, const char *mark)
+ {
+- unsigned l;
++ short l;
+
+ T((T_CALLED("set_menu_mark(%p,%s)"), (void *)menu, _nc_visbuf(mark)));
+
+ if (mark && (*mark != '\0') && Is_Printable_String(mark))
+- l = strlen(mark);
++ l = (short)strlen(mark);
+ else
+ l = 0;
+
+@@ -213,7 +213,7 @@
+ {
+ /* If the menu is already posted, the geometry is fixed. Then
+ we can only accept a mark with exactly the same length */
+- if (menu->marklen != (int)l)
++ if (menu->marklen != l)
+ RETURN(E_BAD_ARGUMENT);
+ }
+ menu->marklen = l;
+@@ -222,14 +222,13 @@
+ menu->mark = strdup(mark);
+ if (menu->mark)
+ {
+- strcpy(menu->mark, mark);
+ if (menu != &_nc_Default_Menu)
+- menu->status |= _MARK_ALLOCATED;
++ SetStatus(menu, _MARK_ALLOCATED);
+ }
+ else
+ {
+ menu->mark = old_mark;
+- menu->marklen = (old_mark != 0) ? strlen(old_mark) : 0;
++ menu->marklen = (short)((old_mark != 0) ? strlen(old_mark) : 0);
+ RETURN(E_SYSTEM_ERROR);
+ }
+ }
+Index: menu/m_pad.c
+Prereq: 1.12
+--- ncurses-5.9/menu/m_pad.c 2010-01-23 21:20:10.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_pad.c 2012-03-10 23:43:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_pad.c,v 1.12 2010/01/23 21:20:10 tom Exp $")
++MODULE_ID("$Id: m_pad.c,v 1.13 2012/03/10 23:43:41 tom Exp $")
+
+ /* Macro to redraw menu if it is posted and changed */
+ #define Refresh_Menu(menu) \
+@@ -69,7 +69,7 @@
+ RETURN(E_BAD_ARGUMENT);
+
+ Normalize_Menu(menu);
+- menu->pad = pad;
++ menu->pad = (unsigned char)pad;
+
+ if (do_refresh)
+ Refresh_Menu(menu);
+Index: menu/m_post.c
+Prereq: 1.29
+--- ncurses-5.9/menu/m_post.c 2010-05-01 19:18:27.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_post.c 2012-06-09 23:54:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_post.c,v 1.29 2010/05/01 19:18:27 tom Exp $")
++MODULE_ID("$Id: m_post.c,v 1.31 2012/06/09 23:54:35 tom Exp $")
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnmenu
+@@ -67,7 +67,7 @@
+ - it is a onevalued menu and it is the current item
+ - or it has a selection value
+ */
+- wattron(menu->win, menu->back);
++ wattron(menu->win, (int)menu->back);
+ if (item->value || (item == menu->curitem))
+ {
+ if (menu->marklen)
+@@ -79,13 +79,13 @@
+ item. */
+ if (!(menu->opt & O_ONEVALUE) && item->value && item != menu->curitem)
+ {
+- wattron(menu->win, menu->fore);
++ wattron(menu->win, (int)menu->fore);
+ isfore = TRUE;
+ }
+ waddstr(menu->win, menu->mark);
+ if (isfore)
+ {
+- wattron(menu->win, menu->fore);
++ wattron(menu->win, (int)menu->fore);
+ isfore = FALSE;
+ }
+ }
+@@ -93,7 +93,7 @@
+ else /* otherwise we have to wipe out the marker area */
+ for (ch = ' ', i = menu->marklen; i > 0; i--)
+ waddch(menu->win, ch);
+- wattroff(menu->win, menu->back);
++ wattroff(menu->win, (int)menu->back);
+ count += menu->marklen;
+
+ /* First we have to calculate the attribute depending on selectability
+@@ -101,19 +101,19 @@
+ */
+ if (!(item->opt & O_SELECTABLE))
+ {
+- wattron(menu->win, menu->grey);
++ wattron(menu->win, (int)menu->grey);
+ isgrey = TRUE;
+ }
+ else
+ {
+ if (item->value || item == menu->curitem)
+ {
+- wattron(menu->win, menu->fore);
++ wattron(menu->win, (int)menu->fore);
+ isfore = TRUE;
+ }
+ else
+ {
+- wattron(menu->win, menu->back);
++ wattron(menu->win, (int)menu->back);
+ isback = TRUE;
+ }
+ }
+@@ -158,10 +158,10 @@
+ assert(cx >= 0 && cy >= 0);
+ getyx(menu->win, ncy, ncx);
+ if (isgrey)
+- wattroff(menu->win, menu->grey);
++ wattroff(menu->win, (int)menu->grey);
+ else if (isfore)
+- wattroff(menu->win, menu->fore);
+- wattron(menu->win, menu->back);
++ wattroff(menu->win, (int)menu->fore);
++ wattron(menu->win, (int)menu->back);
+ for (j = 1; j < menu->spc_rows; j++)
+ {
+ if ((item_y + j) < getmaxy(menu->win))
+@@ -175,17 +175,17 @@
+ }
+ wmove(menu->win, ncy, ncx);
+ if (!isback)
+- wattroff(menu->win, menu->back);
++ wattroff(menu->win, (int)menu->back);
+ }
+ }
+
+ /* Remove attributes */
+ if (isfore)
+- wattroff(menu->win, menu->fore);
++ wattroff(menu->win, (int)menu->fore);
+ if (isback)
+- wattroff(menu->win, menu->back);
++ wattroff(menu->win, (int)menu->back);
+ if (isgrey)
+- wattroff(menu->win, menu->grey);
++ wattroff(menu->win, (int)menu->grey);
+ }
+
+ /*---------------------------------------------------------------------------
+@@ -225,7 +225,7 @@
+ {
+ _nc_Post_Item(menu, hitem);
+
+- wattron(menu->win, menu->back);
++ wattron(menu->win, (int)menu->back);
+ if (((hitem = hitem->right) != lasthor) && hitem)
+ {
+ int i, j, cy, cx;
+@@ -244,7 +244,7 @@
+ }
+ }
+ while (hitem && (hitem != lasthor));
+- wattroff(menu->win, menu->back);
++ wattroff(menu->win, (int)menu->back);
+
+ item = item->down;
+ y += menu->spc_rows;
+@@ -305,7 +305,7 @@
+ else
+ RETURN(E_NOT_CONNECTED);
+
+- menu->status |= _POSTED;
++ SetStatus(menu, _POSTED);
+
+ if (!(menu->opt & O_ONEVALUE))
+ {
+@@ -369,7 +369,7 @@
+ delwin(menu->win);
+ menu->win = (WINDOW *)0;
+
+- menu->status &= ~_POSTED;
++ ClrStatus(menu, _POSTED);
+
+ RETURN(E_OK);
+ }
+Index: menu/m_req_name.c
+Prereq: 1.21
+--- ncurses-5.9/menu/m_req_name.c 2009-10-10 16:17:23.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_req_name.c 2012-07-21 23:27:32.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_req_name.c,v 1.21 2009/10/10 16:17:23 tom Exp $")
++MODULE_ID("$Id: m_req_name.c,v 1.22 2012/07/21 23:27:32 tom Exp $")
+
+ static const char *request_names[MAX_MENU_COMMAND - MIN_MENU_COMMAND + 1] =
+ {
+@@ -99,23 +99,26 @@
+ /* because the table is so small, it doesn't really hurt
+ to run sequentially through it.
+ */
+- unsigned int i = 0;
++ size_t i = 0;
+ char buf[16];
+
+ T((T_CALLED("menu_request_by_name(%s)"), _nc_visbuf(str)));
+
+- if (str)
++ if (str != 0 && (i = strlen(str)) != 0)
+ {
+- strncpy(buf, str, sizeof(buf));
+- while ((i < sizeof(buf)) && (buf[i] != '\0'))
++ if (i > sizeof(buf) - 2)
++ i = sizeof(buf) - 2;
++ memcpy(buf, str, i);
++ buf[i] = '\0';
++
++ for (i = 0; buf[i] != '\0'; ++i)
+ {
+ buf[i] = (char)toupper(UChar(buf[i]));
+- i++;
+ }
+
+ for (i = 0; i < A_SIZE; i++)
+ {
+- if (strncmp(request_names[i], buf, sizeof(buf)) == 0)
++ if (strcmp(request_names[i], buf) == 0)
+ returnCode(MIN_MENU_COMMAND + (int)i);
+ }
+ }
+Index: menu/m_spacing.c
+Prereq: 1.18
+--- ncurses-5.9/menu/m_spacing.c 2010-01-23 21:20:10.000000000 +0000
++++ ncurses-5.9-20130504/menu/m_spacing.c 2012-03-10 23:43:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include "menu.priv.h"
+
+-MODULE_ID("$Id: m_spacing.c,v 1.18 2010/01/23 21:20:10 tom Exp $")
++MODULE_ID("$Id: m_spacing.c,v 1.19 2012/03/10 23:43:41 tom Exp $")
+
+ #define MAX_SPC_DESC ((TABSIZE) ? (TABSIZE) : 8)
+ #define MAX_SPC_COLS ((TABSIZE) ? (TABSIZE) : 8)
+@@ -70,9 +70,9 @@
+ ((s_col < 0) || (s_col > MAX_SPC_COLS)))
+ RETURN(E_BAD_ARGUMENT);
+
+- m->spc_desc = s_desc ? s_desc : 1;
+- m->spc_rows = s_row ? s_row : 1;
+- m->spc_cols = s_col ? s_col : 1;
++ m->spc_desc = (short)(s_desc ? s_desc : 1);
++ m->spc_rows = (short)(s_row ? s_row : 1);
++ m->spc_cols = (short)(s_col ? s_col : 1);
+ _nc_Calculate_Item_Length_and_Width(m);
+
+ RETURN(E_OK);
+Index: menu/menu.priv.h
+Prereq: 1.23
+--- ncurses-5.9/menu/menu.priv.h 2009-02-28 21:02:57.000000000 +0000
++++ ncurses-5.9-20130504/menu/menu.priv.h 2012-03-10 23:43:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -30,7 +30,7 @@
+ * Author: Juergen Pfeifer, 1995,1997 *
+ ****************************************************************************/
+
+-/* $Id: menu.priv.h,v 1.23 2009/02/28 21:02:57 juergen Exp $ */
++/* $Id: menu.priv.h,v 1.24 2012/03/10 23:43:41 tom Exp $ */
+
+ /***************************************************************************
+ * Module menu.priv.h *
+@@ -39,6 +39,7 @@
+
+ #ifndef MENU_PRIV_H_incl
+ #define MENU_PRIV_H_incl 1
++/* *INDENT-OFF* */
+
+ #include "curses.priv.h"
+ #include "mf_common.h"
+@@ -99,10 +100,11 @@
+ */
+ #define Adjust_Current_Item(menu,row,item) \
+ { if ((item)->y < row) \
+- row = (item)->y;\
+- if ( (item)->y >= (row + (menu)->arows) )\
+- row = ( (item)->y < ((menu)->rows - row) ) ? \
+- (item)->y : (menu)->rows - (menu)->arows;\
++ row = (short) (item)->y; \
++ if ( (item)->y >= (row + (menu)->arows) ) \
++ row = (short) (( (item)->y < ((menu)->rows - row) ) \
++ ? (item)->y \
++ : (menu)->rows - (menu)->arows); \
+ _nc_New_TopRow_and_CurrentItem(menu,row,item); }
+
+ /* Reset the match pattern buffer */
+@@ -152,5 +154,6 @@
+ #define returnMenuOpts(code) return code
+
+ #endif /* TRACE/!TRACE */
++/* *INDENT-ON* */
+
+ #endif /* MENU_PRIV_H_incl */
+Index: menu/mf_common.h
+Prereq: 0.22
+--- ncurses-5.9/menu/mf_common.h 2005-11-26 15:26:52.000000000 +0000
++++ ncurses-5.9-20130504/menu/mf_common.h 2012-06-10 00:06:54.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2004,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -30,7 +30,7 @@
+ * Author: Juergen Pfeifer, 1995,1997 *
+ ****************************************************************************/
+
+-/* $Id: mf_common.h,v 0.22 2005/11/26 15:26:52 tom Exp $ */
++/* $Id: mf_common.h,v 0.24 2012/06/10 00:06:54 tom Exp $ */
+
+ /* Common internal header for menu and form library */
+
+@@ -63,10 +63,9 @@
+ #if USE_RCS_IDS
+ #define MODULE_ID(id) static const char Ident[] = id;
+ #else
+-#define MODULE_ID(id) /*nothing*/
++#define MODULE_ID(id) /*nothing */
+ #endif
+
+-
+ /* Maximum regular 8-bit character code */
+ #define MAX_REGULAR_CHARACTER (0xff)
+
+@@ -80,16 +79,19 @@
+ #endif
+
+ /* The few common values in the status fields for menus and forms */
+-#define _POSTED (0x01U) /* menu or form is posted */
+-#define _IN_DRIVER (0x02U) /* menu or form is processing hook routine */
++#define _POSTED (0x01U) /* menu or form is posted */
++#define _IN_DRIVER (0x02U) /* menu or form is processing hook routine */
++
++#define SetStatus(target,mask) (target)->status |= (unsigned short) (mask)
++#define ClrStatus(target,mask) (target)->status = (unsigned short) (target->status & (~mask))
+
+ /* Call object hook */
+ #define Call_Hook( object, handler ) \
+ if ( (object) != 0 && ((object)->handler) != (void *) 0 )\
+ {\
+- (object)->status |= _IN_DRIVER;\
++ SetStatus(object, _IN_DRIVER);\
+ (object)->handler(object);\
+- (object)->status &= ~_IN_DRIVER;\
++ ClrStatus(object, _IN_DRIVER);\
+ }
+
+ #endif /* MF_COMMON_H_incl */
+Index: misc/Makefile.in
+Prereq: 1.56
+--- ncurses-5.9/misc/Makefile.in 2011-02-21 01:09:31.000000000 +0000
++++ ncurses-5.9-20130504/misc/Makefile.in 2012-08-11 21:31:56.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.56 2011/02/21 01:09:31 tom Exp $
++# $Id: Makefile.in,v 1.60 2012/08/11 21:31:56 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -56,6 +56,7 @@
+ exec_prefix = @exec_prefix@
+ bindir = @bindir@
+ libdir = @libdir@
++datarootdir = @datarootdir@
+ datadir = @datadir@
+
+ tabsetdir = $(datadir)/tabset
+@@ -120,7 +121,8 @@
+
+ run_tic.sed :
+ WHICH_XTERM=@WHICH_XTERM@ \
+- ticdir=${ticdir} \
++ XTERM_KBS=@XTERM_KBS@ \
++ datadir=${datadir} \
+ $(SHELL) $(srcdir)/gen_edit.sh >$@
+
+ $(DESTDIR)$(bindir) \
+@@ -139,7 +141,7 @@
+
+ uninstall.libs :
+ -rm -f $(DESTDIR)$(bindir)/$(NCURSES_CONFIG)
+-@MAKE_PC_FILES@ $(SHELL) 'for name in *.pc; do rm -f $(DESTDIR)$(PKG_CONFIG_LIBDIR)/$$name; done'
++@MAKE_PC_FILES@ $(SHELL) -c 'for name in *.pc; do rm -f $(DESTDIR)$(PKG_CONFIG_LIBDIR)/$$name; done'
+
+ tags :
+
+Index: misc/gen-pkgconfig.in
+Prereq: 1.8
+--- ncurses-5.9/misc/gen-pkgconfig.in 2010-02-06 22:12:07.000000000 +0000
++++ ncurses-5.9-20130504/misc/gen-pkgconfig.in 2013-03-16 23:33:34.000000000 +0000
+@@ -1,7 +1,7 @@
+ #!@SHELL@
+-# $Id: gen-pkgconfig.in,v 1.8 2010/02/06 22:12:07 Miroslav.Lichvar Exp $
++# $Id: gen-pkgconfig.in,v 1.15 2013/03/16 23:33:34 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 2009-2012,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -28,7 +28,7 @@
+ # authorization. #
+ ##############################################################################
+ #
+-# Author: Thomas E. Dickey, 2009
++# Author: Thomas E. Dickey
+ #
+ # The complete configure script for ncurses is the ncurses5-config (or similar
+ # name, depending on the flavor, e.g., ncursesw5-config, ncurses6-config, etc).
+@@ -39,10 +39,10 @@
+ # library, except that the tinfo library does not depend on ncurses.
+ LIB_NAME=@LIB_NAME@
+ TINFO_NAME=@TINFO_NAME@
+-PANEL_NAME=panel # @PANEL_NAME@
+-MENU_NAME=menu # @MENU_NAME@
+-FORM_NAME=form # @FORM_NAME@
+-CXX_NAME=ncurses++ # @CXX_NAME@
++PANEL_NAME=@PANEL_NAME@
++MENU_NAME=@MENU_NAME@
++FORM_NAME=@FORM_NAME@
++CXX_NAME=@CXX_NAME@
+ DFT_DEP_SUFFIX=@DFT_DEP_SUFFIX@
+ TINFO_ARG_SUFFIX=@TINFO_ARG_SUFFIX@
+ CXX_LIB_SUFFIX=@CXX_LIB_SUFFIX@
+@@ -63,63 +63,48 @@
+ MENU_LIBRARY="${MENU_NAME}@DFT_ARG_SUFFIX@"
+ FORM_LIBRARY="${FORM_NAME}@DFT_ARG_SUFFIX@"
+
+-SUB_LIBRARY_REQ=${SUB_LIBRARY}
+-if test $TINFO_NAME = $LIB_NAME ; then
+- SUB_LIBRARY_REQ=
++if test "$includedir" = "/usr/include" ; then
++ CFLAGS=
++else
++ CFLAGS="-I\${includedir}"
+ fi
+
+-for lib in ../lib/*
+-do
+- name=`basename $lib`
+- if test "$name" = "*" ; then
+- break
+- fi
+-
+- root=`basename $name "$DFT_DEP_SUFFIX"`
+- if test "$name" = "$root" ; then
+- root=`basename $name "$CXX_LIB_SUFFIX"`
+- if test "$name" = "$root" ; then
+- continue
+- fi
+- fi
++if test "$libdir" = "/usr/lib" ; then
++ LDFLAGS=
++else
++ LDFLAGS="-L\${libdir}"
++fi
+
+- name=`echo "$name" | sed -e 's/^lib//' -e 's/\..*$//'`
++for name in @PC_MODULES_TO_MAKE@
++do
++ name="${name}"
+
+ desc="ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@"
++ reqs=
++
+ if test $name = $MAIN_LIBRARY ; then
+- reqs=$SUB_LIBRARY_REQ
+ desc="$desc library"
+ elif test $name = $SUB_LIBRARY ; then
+- reqs=
+ desc="$desc terminal interface library"
+ elif expr $name : ".*${CXX_NAME}.*" >/dev/null ; then
+- reqs="$PANEL_LIBRARY $MENU_LIBRARY $FORM_LIBRARY $MAIN_LIBRARY $SUB_LIBRARY_REQ"
++ reqs="$PANEL_LIBRARY, $MENU_LIBRARY, $FORM_LIBRARY, $MAIN_LIBRARY"
+ desc="$desc add-on library"
+ else
+- reqs="$MAIN_LIBRARY $SUB_LIBRARY_REQ"
++ reqs="$MAIN_LIBRARY"
+ desc="$desc add-on library"
+ fi
+
+- if test "$includedir" = "/usr/include" ; then
+- cflags=
+- else
+- cflags="-I\${includedir}"
+- fi
+-
+- if test "$libdir" = "/usr/lib" ; then
+- libs=
+- else
+- libs="-L\${libdir}"
+- fi
+- libs="$libs -l$name"
+-
+- # add dependencies that pkg-config cannot guess about
+- if test -z "$reqs" ; then
+- libs="$libs @LIBS@"
++ if test $name != $SUB_LIBRARY && test $SUB_LIBRARY != $MAIN_LIBRARY ; then
++ if test $name != $TINFO_NAME ; then
++ test -n "$reqs" && reqs="$reqs, "
++ reqs="${reqs}${SUB_LIBRARY}"
++ fi
+ fi
+
+ echo "** creating ${name}.pc"
+ cat >${name}.pc <<EOF
++# vile:makemode
++
+ prefix=$show_prefix
+ exec_prefix=$show_exec_prefix
+ libdir=$show_libdir
+@@ -130,10 +115,13 @@
+ Name: $name
+ Description: $desc
+ Version: \${version}
+-Requires: $reqs
+-Libs: $libs
+-Cflags: $cflags
++URL: http://invisible-island.net/ncurses
++Requires.private: $reqs
++Libs: $LDFLAGS -l$name
++Libs.private: @LIBS@
++Cflags: $CFLAGS
+ EOF
+- # pr -f ${name}.pc
++
++ #pr -f ${name}.pc
+ done
+ # vile:shmode
+Index: misc/gen_edit.sh
+Prereq: 1.1
+--- ncurses-5.9/misc/gen_edit.sh 2004-07-11 15:01:29.000000000 +0000
++++ ncurses-5.9-20130504/misc/gen_edit.sh 2012-04-01 15:04:37.000000000 +0000
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+ ##############################################################################
+-# Copyright (c) 2004 Free Software Foundation, Inc. #
++# Copyright (c) 2004-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -29,7 +29,7 @@
+ #
+ # Author: Thomas E. Dickey
+ #
+-# $Id: gen_edit.sh,v 1.1 2004/07/11 15:01:29 tom Exp $
++# $Id: gen_edit.sh,v 1.5 2012/04/01 15:04:37 tom Exp $
+ # Generate a sed-script for converting the terminfo.src to the form which will
+ # be installed.
+ #
+@@ -37,22 +37,82 @@
+ # The leaf directory names (lib, tabset, terminfo)
+ #
+
+-: ${ticdir=@TERMINFO@}
+-: ${xterm_new=@WHICH_XTERM@}
++linux_dft=linux2.2
++
++: ${datadir=/usr/share}
++: ${WHICH_LINUX=$linux_dft}
++: ${WHICH_XTERM=xterm-new}
++: ${XTERM_KBS=BS}
+
+ # If we're not installing into /usr/share/, we'll have to adjust the location
+ # of the tabset files in terminfo.src (which are in a parallel directory).
+-TABSET=`echo $ticdir | sed -e 's%/terminfo$%/tabset%'`
++TABSET=${datadir}/tabset
+ if test "x$TABSET" != "x/usr/share/tabset" ; then
+ cat <<EOF
+ s%/usr/share/tabset%$TABSET%g
+ EOF
+ fi
+
+-if test "$xterm_new" != "xterm-new" ; then
++if test "$WHICH_XTERM" != "xterm-new" ; then
++echo "** using $WHICH_XTERM terminal description for XTerm entry" >&2
+ cat <<EOF
+ /^# This is xterm for ncurses/,/^$/{
+ s/use=xterm-new,/use=$WHICH_XTERM,/
+ }
+ EOF
+ fi
++
++if test "$XTERM_KBS" != "BS" ; then
++echo "** using DEL for XTerm backspace-key" >&2
++cat <<EOF
++/^xterm+kbs|fragment for backspace key/,/^#/{
++ s/kbs=^H,/kbs=^?,/
++}
++EOF
++fi
++
++# Work around incompatibities built into Linux console. The 2.6 series added
++# a patch to fixup the SI/SO behavior, which is closer to vt100, but the older
++# kernels do not recognize those controls. All of the kernels recognize the
++# older flavor of rmacs/smacs, but beginning in the late 1990s, changes made
++# as part of implementing UTF-8 prevent using those for line-drawing when the
++# console is in UTF-8 mode. Taking into account the fact that it took about
++# ten years to provide (and distribute) the 2.6 series' change for SI/SO, the
++# default remains "linux2.2".
++case x$WHICH_LINUX in #(vi
++xauto)
++ system=`uname -s 2>/dev/null`
++ if test "x$system" = xLinux
++ then
++ case x`uname -r` in
++ x1.*)
++ WHICH_LINUX=linux-c
++ ;;
++ x2.[0-4]*)
++ WHICH_LINUX=linux2.2
++ ;;
++ *)
++ WHICH_LINUX=linux3.0
++ ;;
++ esac
++ else
++ WHICH_LINUX=$linux_dft
++ fi
++ ;;
++xlinux*)
++ # allow specific setting
++ ;;
++*)
++ WHICH_LINUX=$linux_dft
++ ;;
++esac
++
++if test $WHICH_LINUX != $linux_dft
++then
++echo "** using $WHICH_LINUX terminal description for Linux console" >&2
++cat <<EOF
++/^# This is Linux console for ncurses/,/^$/{
++ s/use=$linux_dft,/use=$WHICH_LINUX,/
++}
++EOF
++fi
+Index: misc/ncurses-config.in
+Prereq: 1.25
+--- ncurses-5.9/misc/ncurses-config.in 2011-03-19 22:43:38.000000000 +0000
++++ ncurses-5.9-20130504/misc/ncurses-config.in 2012-11-11 00:14:28.000000000 +0000
+@@ -1,7 +1,7 @@
+ #!@SHELL@
+-# $Id: ncurses-config.in,v 1.25 2011/03/19 22:43:38 tom Exp $
++# $Id: ncurses-config.in,v 1.30 2012/11/11 00:14:28 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2006-2010,2011 Free Software Foundation, Inc. #
++# Copyright (c) 2006-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -30,22 +30,48 @@
+ #
+ # Author: Thomas E. Dickey, 2006-on
+
++LANG=C; export LANG
++LANGUAGE=C; export LANGUAGE
++LC_ALL=C; export LC_ALL
++LC_CTYPE=C; export LC_CTYPE
++
+ prefix="@prefix@"
+ exec_prefix="@exec_prefix@"
+
+ bindir="@bindir@"
+ includedir="@includedir@"
+ libdir="@libdir@"
++datarootdir="@datarootdir@"
+ datadir="@datadir@"
+ mandir="@mandir@"
+
+ THIS="@LIB_NAME@@DFT_ARG_SUFFIX@"
+ TINFO_LIB="@TINFO_ARG_SUFFIX@"
++RPATH_LIST="@RPATH_LIST@"
+
+-LANG=C; export LANG
+-LANGUAGE=C; export LANGUAGE
+-LC_ALL=C; export LC_ALL
+-LC_CTYPE=C; export LC_CTYPE
++# Ensure that RPATH_LIST contains only absolute pathnames, if it is nonempty.
++# We cannot filter it out within the build-process since the variable is used
++# in some special cases of installation using a relative path.
++if test -n "$RPATH_LIST"
++then
++ save_IFS="$IFS"
++ IFS='@PATH_SEPARATOR@'
++ filtered=
++ for item in $RPATH_LIST
++ do
++ case "$item" in
++ ./*|../*|*/..|*/../*)
++ ;;
++ *)
++ test -n "$filtered" && filtered="${filtered}@PATH_SEPARATOR@"
++ filtered="${filtered}${item}"
++ ;;
++ esac
++ done
++ IFS="$save_IFS"
++ # if the result is empty, there is little we can do to fix it
++ RPATH_LIST="$filtered"
++fi
+
+ # with --disable-overwrite, we installed into a subdirectory, but transformed
+ # the headers to include like this:
+@@ -83,13 +109,19 @@
+ ENDECHO
+ ;;
+ --libs)
++ if test "$libdir" = /usr/lib
++ then
++ LIBDIR=
++ else
++ LIBDIR=-L$libdir
++ fi
+ if test @TINFO_NAME@ = @LIB_NAME@ ; then
+ sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO
+- -L$libdir @EXTRA_LDFLAGS@ -l${THIS} @LIBS@
++ $LIBDIR @EXTRA_LDFLAGS@ -l${THIS} @LIBS@
+ ENDECHO
+ else
+ sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO
+- -L$libdir @EXTRA_LDFLAGS@ -l${THIS} -l${TINFO_LIB} @LIBS@
++ $LIBDIR @EXTRA_LDFLAGS@ -l${THIS} -l${TINFO_LIB} @LIBS@
+ ENDECHO
+ fi
+ ;;
+@@ -163,4 +195,5 @@
+ esac
+ shift
+ done
++# vi:ts=4 sw=4
+ # vile:shmode
+Index: misc/run_tic.in
+Prereq: 1.32
+--- ncurses-5.9/misc/run_tic.in 2011-02-23 23:30:15.000000000 +0000
++++ ncurses-5.9-20130504/misc/run_tic.in 2012-10-06 19:00:51.000000000 +0000
+@@ -1,7 +1,7 @@
+ #!@SHELL@
+-# $Id: run_tic.in,v 1.32 2011/02/23 23:30:15 tom Exp $
++# $Id: run_tic.in,v 1.34 2012/10/06 19:00:51 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -41,13 +41,14 @@
+ # The script is designed to be run from the misc/Makefile as
+ # make install.data
+
+-: ${suffix:=@PROG_EXT@}
++: ${suffix:=@EXEEXT@}
+ : ${DESTDIR:=@DESTDIR@}
+ : ${prefix:=@prefix@}
+ : ${exec_prefix:=@exec_prefix@}
+ : ${bindir:=@bindir@}
+ : ${top_srcdir:=@top_srcdir@}
+ : ${srcdir:=@srcdir@}
++: ${datarootdir:=@datarootdir@}
+ : ${datadir:=@datadir@}
+ : ${TIC_PATH:=@TIC_PATH@}
+ : ${ticdir:=@TERMINFO@}
+Index: misc/terminfo.src
+--- ncurses-5.9/misc/terminfo.src 2011-02-20 20:46:53.000000000 +0000
++++ ncurses-5.9-20130504/misc/terminfo.src 2013-03-30 19:51:04.000000000 +0000
+@@ -6,8 +6,8 @@
+ # Report bugs and new terminal descriptions to
+ # bug-ncurses@gnu.org
+ #
+-# $Revision: 1.383 $
+-# $Date: 2011/02/20 20:46:53 $
++# $Revision: 1.475 $
++# $Date: 2013/03/30 19:51:04 $
+ #
+ # The original header is preserved below for reference. It is noted that there
+ # is a "newer" version which differs in some cosmetic details (but actually
+@@ -321,7 +321,7 @@
+ # DEL and ^C are hardcoded to act as kill characters.
+ # ^D acts as a line break (just like newline).
+ # It also interprets
+-# \033];xxx\007
++# \033];xxx\007
+ # for compatibility with xterm -TD
+ 9term|Plan9 terminal emulator for X,
+ am,
+@@ -376,11 +376,19 @@
+ dim=\E[2m,
+ sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p5%t2;%;%?%p7%t8;%;m,
+ use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul,
+-ansi+pp|ansi printer port,
+- mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
+ ansi+csr|ansi scroll-region plus cursor save & restore,
+ csr=\E[%i%p1%d;%p2%dr, rc=\E8, sc=\E7,
+
++# The normal (ANSI) flavor of "media copy" building block asserts that
++# characters sent to the printer do not echo on the screen. DEC terminals
++# can also be put into autoprinter mode, where each line is sent to the
++# printer as you move off that line, e.g., by a carriage return.
++ansi+pp|ansi printer port,
++ mc5i,
++ mc0=\E[i, mc4=\E[4i, mc5=\E[5i,
++dec+pp|DEC autoprinter mode,
++ mc0=\E[i, mc4=\E[?4i, mc5=\E[?5i,
++
+ # The IBM PC alternate character set. Plug this into any Intel console entry.
+ # We use \E[11m for rmacs rather than \E[12m so the <acsc> string can use the
+ # ROM graphics for control characters such as the diamond, up- and down-arrow.
+@@ -456,9 +464,10 @@
+ cud=\E[%p1%dB, cud1=\E[1B, cuf=\E[%p1%dC, cuf1=\E[1C,
+ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[1A,
+ dch=\E[%p1%dP, dispc=\E=%p1%dg, ech=\E[%p1%dX,
+- hpa=\E[%i%p1%dG, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL,
+- indn=\E[%p1%dS, rc=\E7, rin=\E[%p1%dT, rmam=\E[?7l, sc=\E7,
+- smam=\E[?7h, tbc=\E[g, vpa=\E[%i%p1%dd,
++ hpa=\E[%i%p1%dG, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
++ il=\E[%p1%dL, indn=\E[%p1%dS, rc=\E7, rin=\E[%p1%dT,
++ rmam=\E[?7l, sc=\E7, smam=\E[?7h, tbc=\E[g,
++ vpa=\E[%i%p1%dd,
+
+ #### ANSI/ECMA-48 terminals and terminal emulators
+ #
+@@ -488,7 +497,7 @@
+ # ansi-mtabs adds relative addressing and minimal tab support
+ ansi-mtabs|any ansi terminal with pessimistic assumptions,
+ it#8,
+- ht=^I, use=ansi+local1, use=ansi-mini,
++ ht=^I, use=ansi-mini, use=ansi+local1,
+
+ # ANSI X3.64 from emory!mlhhh (Hugh Hansard) via BRL
+ #
+@@ -690,9 +699,7 @@
+ use=ansi.sysk,
+
+ #### ANSI console types
+-#
+
+-#############################################################################
+ #
+ # Atari ST terminals.
+ # From Guido Flohr <gufl0000@stud.uni-sb.de>.
+@@ -909,7 +916,7 @@
+ khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+ kspd=^Z, nel=^M^J, rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l,
+ rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R, sc=\E7,
+- sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
++ sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p9%t;11%;m,
+ smam=\E[?7h, smir=\E[4h, smul=\E[4m, tbc=\E[3g,
+ vpa=\E[%i%p1%dd, use=vt102+enq, use=klone+sgr,
+ use=ecma+color,
+@@ -936,10 +943,30 @@
+ # The 2.2.x kernels add a private mode that sets the cursor type; use that to
+ # get a block cursor for cvvis.
+ # reported by Frank Heckenbach <frank@g-n-u.de>.
+-linux|linux console,
++linux2.2|linux 2.2.x console,
+ civis=\E[?25l\E[?1c, cnorm=\E[?25h\E[?0c,
+ cvvis=\E[?25h\E[?8c, use=linux-c-nc,
+
++# Linux 2.6.x has a fix for SI/SO to work with UTF-8 encoding added here:
++# http://lkml.indiana.edu/hypermail/linux/kernel/0602.2/0868.html
++# Using SI/SO has the drawback that it confuses screen. SCS would work.
++# However, SCS is buggy (see comment in Debian #515609) -TD
++# Further, this breaks longstanding workarounds for Linux console's line
++# drawing (see Debian 665959) -TD
++linux2.6|linux 2.6.x console,
++ rmacs=^O,
++ sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;,
++ sgr0=\E[m\017, smacs=^N, use=linux2.2,
++
++# The 3.0 kernel adds support for clearing scrollback buffer (capability E3).
++# It is the same as xterm's erase-saved-lines feature.
++linux3.0|linux 3.0 kernels,
++ E3=\E[3;J, use=linux2.6,
++
++# This is Linux console for ncurses.
++linux|linux console,
++ use=linux2.2,
++
+ # Subject: linux 2.6.26 vt back_color_erase
+ # Changes to the Linux console driver broke bce model as reported in
+ # https://bugzilla.novell.com/show_bug.cgi?id=418613
+@@ -947,7 +974,7 @@
+ # http://lkml.org/lkml/2008/4/26/305
+ # http://groups.google.com/group/fa.linux.kernel/browse_thread/thread/87f98338f0d636bb/aa96e8b86cee0d1e?lnk=st&q=#aa96e8b86cee0d1e
+ linux2.6.26|linux console w/o bce,
+- bce@, use=linux,
++ bce@, use=linux2.6,
+
+ # See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
+ linux-nic|linux with ich/ich1 suppressed for non-curses programs,
+@@ -998,9 +1025,9 @@
+ # you use a 512-character console font. This uses bold for bright
+ # foreground colors and blink for bright background colors.
+ linux-16color|linux console with 16 colors,
+- colors#16, ncv#54, pairs#256,
+- setab=\E[4%p1%{8}%m%d%?%p1%{8}%>%t;5%e%p1%{8}%=%t;2%e;25%;m,
+- setaf=\E[3%p1%{8}%m%d%?%p1%{8}%>%t;1%e%p1%{8}%=%t;2%e;21%;m,
++ colors#16, ncv#63, pairs#256,
++ setab=\E[4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m,
++ setaf=\E[3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;21%;m,
+ use=linux,
+
+ # bterm (bogl 0.1.18)
+@@ -1024,7 +1051,7 @@
+ kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
+ kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~,
+ kmous=\E[M, knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J,
+- op=\E49;39m, rev=\E[7m, ri=\EM, rmacs=^O, rmso=\E[27m,
++ op=\E[49m\E[39m, rev=\E[7m, ri=\EM, rmacs=^O, rmso=\E[27m,
+ rmul=\E[24m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+ sgr0=\E[0m, smacs=^N, smso=\E[7m, smul=\E[4m,
+
+@@ -1053,6 +1080,24 @@
+ dim=\E[2m, invis=\E[8m, op=\E[37;40m, rmso=\E[27m,
+ setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=mach,
+
++# From: Samuel Thibault
++# Source: git://git.sv.gnu.org/hurd/gnumach.git
++# Files: i386/i386at/kd.c
++#
++# Added nel, hpa, sgr and removed rmacs, smacs based on source -TD
++mach-gnu|GNU Mach,
++ acsc=+>\,<-\^.v0\333`+a\261f\370g\361h\260i#j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
++ dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ech=\E[%p1%dX,
++ el1=\E[1K, hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ich1=\E[@,
++ indn=\E[%p1%dS, invis=\E[8m, nel=\EE, rin=\E[%p1%dT,
++ sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m,
++ use=mach,
++
++mach-gnu-color|Mach Console with ANSI color,
++ colors#8, pairs#64,
++ op=\E[37;40m, rmso=\E[27m, setab=\E[4%p1%dm,
++ setaf=\E[3%p1%dm, use=mach-gnu,
++
+ # From: Marcus Brinkmann
+ # http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/hurd/hurd/console/
+ #
+@@ -1183,7 +1228,7 @@
+ civis=\E[=0c, cnorm=\E[=1c, csr=\E[%i%p1%d;%p2%dr,
+ cvvis=\E[=2c, mgc=\E[=r, oc=\E[51m, op=\E[50m,
+ rep=\E[%p1%d;%p2%db, rmm=\E[=11L,
+- sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m,
++ sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%e;10%;m,
+ smgb=\E[=1;0m, smgbp=\E[=1;%i%p1%dm,
+ smglp=\E[=2;%i%p1%dm, smgr=\E[=3;0m,
+ smgrp=\E[=3;%i%p1%dm, smgt=\E[=0;0m,
+@@ -1649,6 +1694,56 @@
+ qansi-w|QNX ansi for windows,
+ xvpa, use=qansi-m,
+
++#### OpenBSD consoles
++#
++# From: Alexei Malinin <Alexei.Malinin@mail.ru>; October, 2011.
++#
++# The following terminal descriptions for the AMD/Intel PC console
++# were prepared based on information contained in the OpenBSD-4.9
++# termtypes.master and wscons(4) & vga(4) manuals (2010, November).
++#
++# Added bce based on testing with tack -TD
++# Added several capabilities to pccon+base, reading wsemul_vt100_subr.c -TD
++# Changed kbs to DEL and removed keys that duplicate stty settings -TD
++#
++pccon+keys|OpenBSD PC keyboard keys,
++ kbs=\177, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
++ kdch1=\E[3~, kend=\E[8~, kent=^M, kf1=\E[11~, kf10=\E[21~,
++ kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~,
++ kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
++ kf9=\E[20~, khome=\E[7~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
++ krfr=^R,
++pccon+sgr+acs0|sgr and simple ASCII pseudographics for OpenBSD PC console,
++ acsc=+>\,<-\^.v0#`+a\:f\\h#i#j+k+l+m+n+o~p-q-r-s_t+u+v+w+x|y#z#{*|!}#~o,
++ sgr=\E[0%?%p1%p3%|%t;7%;m, sgr0=\E[m,
++pccon+sgr+acs|sgr and default ASCII pseudographics for OpenBSD PC console,
++ acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
++ enacs=\E)0$<5>, rmacs=\E(B$<5>,
++ sgr=\E[0%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<5>,
++ sgr0=\E[m\E(B$<5>, smacs=\E(0$<5>,
++pccon+colors|ANSI colors for OpenBSD PC console,
++ bce,
++ colors#8, pairs#64,
++ op=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
++pccon+base|base capabilities for OpenBSD PC console,
++ am, km, mc5i, msgr, npc, nxon, xenl, xon,
++ cols#80, it#8, lines#24,
++ bel=^G, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C,
++ cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
++ dch1=\E[P, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
++ el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
++ il1=\E[L, ind=\ED, nel=\EE, rev=\E[7m, ri=\EM, rmam=\E[?7l,
++ rmso=\E[m, rs2=\Ec$<50>, smam=\E[?7h, smso=\E[7m,
++ tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
++pccon0-m|OpenBSD PC console without colors & with simple ASCII pseudographics,
++ use=pccon+base, use=pccon+sgr+acs0, use=pccon+keys,
++pccon0|OpenBSD PC console with simple ASCII pseudographics,
++ use=pccon0-m, use=pccon+colors,
++pccon-m|OpenBSD PC console without colors,
++ use=pccon+base, use=pccon+sgr+acs, use=pccon+keys,
++pccon|OpenBSD PC console,
++ use=pccon-m, use=pccon+colors,
++
+ #### NetBSD consoles
+ #
+ # pcvt termcap database entries (corresponding to release 3.31)
+@@ -1786,7 +1881,7 @@
+ ofcons|DNARD OpenFirmware console,
+ bw,
+ cols#80, lines#30,
+- bel=^G, blink=\2337;2m, bold=\2331m, clear=^L, cr=^M,
++ bel=^G, blink=\2335m, bold=\2331m, clear=^L, cr=^M,
+ cub=\233%p1%dD, cub1=\233D, cud=\233%p1%dB, cud1=\233B,
+ cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH,
+ cuu=\233%p1%dA, cuu1=\233A, dch=\233%p1%dP, dch1=\233P,
+@@ -1798,8 +1893,8 @@
+ kf4=\2330x, kf5=\2330t, kf6=\2330u, kf7=\2330q, kf8=\2330r,
+ kf9=\2330p, knp=\233/, kpp=\233?, nel=^M^J, rev=\2337m,
+ rmso=\2330m, rmul=\2330m,
+- sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
+- sgr0=\2330m,
++ sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t2%;%?%p7%t8%;%?%p1%p3%|%t;7%;m,
++ sgr0=\2330m, smso=\2337m, smul=\2334m,
+
+ # NetBSD "wscons" emulator in vt220 mode.
+ # This entry is based on the NetBSD termcap entry, correcting the ncv value.
+@@ -1816,7 +1911,8 @@
+ wsvt25|NetBSD wscons in 25 line DEC VT220 mode,
+ bce, msgr,
+ colors#8, cols#80, it#8, lines#25, ncv#2, pairs#64,
+- is2=\E[r\E[25;1H, kend=\E[8~, kf1=\E[11~, kf10=\E[21~,
++ civis=\E[?25l, cnorm=\E[?25h, is2=\E[r\E[25;1H,
++ kdch1=\E[3~, kend=\E[8~, kf1=\E[11~, kf10=\E[21~,
+ kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~,
+ kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+ kf9=\E[20~, khome=\E[7~, op=\E[m, rs1=\Ec,
+@@ -2377,8 +2473,9 @@
+ # with the key marked (ESC) on the vt220. See vt220d for an alternate mapping.
+ # PF1--PF4 are used as F1--F4.
+ #
++# added msgr -TD
+ vt220-old|vt200-old|DEC VT220 in vt100 emulation mode,
+- OTbs, OTpt, am, mir, xenl, xon,
++ OTbs, OTpt, am, mir, msgr, xenl, xon,
+ cols#80, lines#24, vt#3,
+ OTnl=^J,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+@@ -2404,8 +2501,15 @@
+ # A much better description of the VT200/220; used to be vt220-8
+ # changed rmacs/smacs from shift-in/shift-out to vt200-old's explicit G0/G1
+ # designation to accommodate bug in pcvt -TD
++#
++# Here's a picture of the VT220 editing keypad:
++# +--------+--------+--------+
++# | Find | Insert | Remove |
++# +--------+--------+--------+
++# | Select | Prev | Next |
++# +--------+--------+--------+
+ vt220|vt200|dec vt220,
+- OTbs, am, mc5i, mir, msgr, xenl, xon,
++ OTbs, am, mir, msgr, xenl, xon,
+ cols#80, it#8, lines#24, vt#3,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M,
+@@ -2417,20 +2521,21 @@
+ flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I, hts=\EH,
+ ich=\E[%p1%d@, if=/usr/share/tabset/vt100,
+ il=\E[%p1%dL, il1=\E[L, ind=\ED,
+- is2=\E[?7h\E[>\E[?1h\E F\E[?4l, kbs=^H, kcub1=\E[D,
+- kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf10=\E[21~,
+- kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+- kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ,
+- kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~,
+- kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~,
+- kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~,
+- lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\E[i, mc4=\E[4i,
+- mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM,
+- rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m,
+- rmul=\E[24m, rs1=\E[?3l, sc=\E7,
++ is2=\E[?7h\E[>\E[?1l\E F\E[?4l, kbs=^H, kcub1=\E[D,
++ kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP,
++ kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
++ kf14=\E[26~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
++ kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
++ kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
++ khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
++ krdo=\E[29~, kslt=\E[4~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4,
++ nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B$<4>,
++ rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
++ rs1=\E[?3l, sc=\E7,
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+ sgr0=\E[m\E(B, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
+- smso=\E[7m, smul=\E[4m, tbc=\E[3g,
++ smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=ansi+pp,
++ use=ansi+enq,
+ vt220-w|vt200-w|DEC vt220 in wide mode,
+ cols#132,
+ rs3=\E[?3h, use=vt220,
+@@ -2447,18 +2552,18 @@
+ flash=\233?5h$<200/>\233?5l, home=\233H, ht=^I, hts=\EH,
+ ich=\233%p1%d@, if=/usr/share/tabset/vt100,
+ il=\233%p1%dL, il1=\233L, ind=\ED,
+- is2=\233?7h\233>\233?1h\E F\233?4l, kbs=^H,
++ is2=\233?7h\233>\233?1l\E F\233?4l, kbs=^H,
+ kcub1=\233D, kcud1=\233B, kcuf1=\233C, kcuu1=\233A,
+- kf1=\EOP, kf10=\23321~, kf11=\23323~, kf12=\23324~,
+- kf13=\23325~, kf14=\23326~, kf17=\23331~, kf18=\23332~,
+- kf19=\23333~, kf2=\EOQ, kf20=\23334~, kf3=\EOR, kf4=\EOS,
+- kf6=\23317~, kf7=\23318~, kf8=\23319~, kf9=\23320~,
+- kfnd=\2331~, khlp=\23328~, khome=\233H, kich1=\2332~,
+- knp=\2336~, kpp=\2335~, krdo=\23329~, kslt=\2334~, lf1=pf1,
+- lf2=pf2, lf3=pf3, lf4=pf4, mc0=\233i, mc4=\2334i, mc5=\2335i,
+- nel=\EE, rc=\E8, rev=\2337m, ri=\EM, rmacs=\E(B,
+- rmam=\233?7l, rmir=\2334l, rmso=\23327m, rmul=\23324m,
+- rs1=\233?3l, sc=\E7,
++ kdch1=\2333~, kf1=\EOP, kf10=\23321~, kf11=\23323~,
++ kf12=\23324~, kf13=\23325~, kf14=\23326~, kf17=\23331~,
++ kf18=\23332~, kf19=\23333~, kf2=\EOQ, kf20=\23334~,
++ kf3=\EOR, kf4=\EOS, kf6=\23317~, kf7=\23318~, kf8=\23319~,
++ kf9=\23320~, kfnd=\2331~, khlp=\23328~, khome=\233H,
++ kich1=\2332~, knp=\2336~, kpp=\2335~, krdo=\23329~,
++ kslt=\2334~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\233i,
++ mc4=\2334i, mc5=\2335i, nel=\EE, rc=\E8, rev=\2337m, ri=\EM,
++ rmacs=\E(B, rmam=\233?7l, rmir=\2334l, rmso=\23327m,
++ rmul=\23324m, rs1=\233?3l, sc=\E7,
+ sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+ sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h, smir=\2334h,
+ smso=\2337m, smul=\2334m, tbc=\2333g,
+@@ -2495,14 +2600,15 @@
+ #
+ # From: Alexander Latzko <latzko@marsenius.rutgers.edu>, 30 Dec 1996
+ # (Added vt100 <rc>,<sc> to quiet a tic warning -- esr)
++# added msgr -TD
+ vt200-js|vt220-js|dec vt200 series with jump scroll,
+- am,
++ am, msgr,
+ cols#80,
+ bel=^G, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+ cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+ cuu1=\E[A, dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H,
+ ht=^I, il1=\E[L, ind=\ED,
+- is2=\E[61"p\E[H\E[?3l\E[?4l\E[?1l\E[?5l\E[?6l\E[?7h\E[?8h\E[?25h\E>\E[m,
++ is2=\E[61"p\E[H\E[?3l\E[?4l\E[?1h\E[?5l\E[?6l\E[?7h\E[?8h\E[?25h\E>\E[m,
+ kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+ kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=^M\ED, rc=\E8,
+ rf=/usr/share/tabset/vt100, ri=\EM, rmdc=, rmir=\E[4l,
+@@ -2534,7 +2640,7 @@
+ # From: Adam Thompson <athompso@pangea.ca> Sept 10 1995
+ # (vt320: uncommented <fsl> --esr)
+ vt320|vt300|dec vt320 7 bit terminal,
+- am, eslok, hs, mir, msgr, xenl,
++ am, hs, mir, msgr, xenl,
+ cols#80, lines#24, wsl#80,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+@@ -2543,9 +2649,8 @@
+ cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+ dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+- ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, fsl=\E[0$},
+- home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL,
+- il1=\E[L, ind=\ED,
++ ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, ht=^I,
++ hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED,
+ is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+ kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+ kdch1=\E[3~, kel=\E[4~, kf10=\E[21~, kf11=\E[23~,
+@@ -2553,8 +2658,7 @@
+ kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+ kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+ kf9=\E[20~, khome=\E[1~, kich1=\E[2~, knp=\E[6~, knxt=^I,
+- kpp=\E[5~, kprv=\E[Z, kslt=\E[4~, mc0=\E[i, mc4=\E[?4i,
+- mc5=\E[?5i, nel=\EE, rc=\E8, rev=\E[7m,
++ kpp=\E[5~, kprv=\E[Z, kslt=\E[4~, nel=\EE, rc=\E8, rev=\E[7m,
+ rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B,
+ rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m,
+ rmul=\E[m,
+@@ -2563,7 +2667,7 @@
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+ sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+ smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+- tsl=\E[1$}\E[H\E[K, use=vt220+keypad,
++ use=dec+pp, use=vt220+keypad, use=dec+sl, use=ansi+enq,
+ vt320-nam|vt300-nam|dec vt320 7 bit terminal with no am to make SAS happy,
+ am@,
+ is2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H,
+@@ -2673,33 +2777,38 @@
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+ sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+ smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+- tsl=\E[2$~\E[1$}\E[1;%dH,
++ tsl=\E[2$~\E[1$}\E[1;%dH, use=dec+sl,
+
+ # (vt420: I removed <kf0>, it collided with <kf10>. I also restored
+ # a missing <sc> -- esr)
++# add msgr and other capabilities from vt220 -TD
+ vt420|DEC VT420,
+- am, mir, xenl, xon,
+- cols#80, lines#24, vt#3,
++ am, mir, msgr, xenl, xon,
++ cols#80, it#8, lines#24, vt#3,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+- bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+- clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+- cub1=^H, cud1=\E[B, cuf1=\E[C,
+- cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P,
+- dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I,
+- if=/usr/share/tabset/vt300, il1=\E[L, ind=\ED,
+- is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H,
+- kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+- kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR,
+- kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~,
+- kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+- kslt=\E[4~, rc=\E8, rev=\E[7m$<2>,
+- rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B$<4>,
+- rmam=\E[?7l, rmir=\E[4l, rmkx=\E>,
++ bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, civis=\E[?25l,
++ clear=\E[H\E[2J$<50>, cnorm=\E[?25h, cr=^M,
++ csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
++ cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
++ cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA, cuu1=\E[A,
++ dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
++ ech=\E[%p1%dX, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K,
++ enacs=\E)0, flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I,
++ hts=\EH, ich=\E[%p1%d@, if=/usr/share/tabset/vt300,
++ il=\E[%p1%dL, il1=\E[L, ind=\ED, is2=\E[1;24r\E[24;1H,
++ is3=\E[?67h\E[64;1"p, kbs=^H, kcub1=\E[D, kcud1=\E[B,
++ kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP, kf10=\E[29~,
++ kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[17~, kf6=\E[18~,
++ kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, kfnd=\E[1~,
++ kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, nel=\EE,
++ rc=\E8, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300,
++ ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>,
+ rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+- rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7,
++ rmso=\E[27m, rmul=\E[24m, rs3=\E[?67h\E[64;1"p, sc=\E7,
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+- sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
+- smkx=\E=, smso=\E[7m, smul=\E[4m,
++ sgr0=\E[m\E(B$<2>, smacs=\E(0$<2>, smam=\E[?7h,
++ smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
++ use=ansi+pp, use=dec+sl, use=ansi+enq,
+
+ # DEC VT220 and up support DECUDK (user-defined keys). DECUDK (i.e., pfx)
+ # takes two parameters, the key and the string. Translating the key is
+@@ -2772,58 +2881,11 @@
+ # terminal mode is being used. If Set-Up has been disabled or
+ # assigned to an unknown key, Set-Up may be entered by pressing
+ # [F3] as the first key after power up, regardless of keyboard type.
+-# (vt520: I added <rmam>/<smam> based on the init string, also <sc> -- esr)
+ vt520|DEC VT520,
+- am, mir, xenl, xon,
+- cols#80, lines#24, vt#3,
+- acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+- bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+- clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+- cub1=^H, cud1=\E[B, cuf1=\E[C,
+- cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P,
+- dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I,
+- if=/usr/share/tabset/vt300, il1=\E[L, ind=\ED,
+- is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H,
+- kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+- kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR,
+- kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~,
+- kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+- kslt=\E[4~,
+- pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\,
+- rc=\E8, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300,
+- ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l,
+- rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+- rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7,
+- sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+- sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
+- smso=\E[7m, smul=\E[4m,
++ use=ansi+rca, use=vt420, use=ansi+tabs,
+
+-# (vt525: I added <rmam>/<smam> based on the init string;
+-# removed <rmso>=\E[m, <rmul>=\E[m, added <sc> -- esr)
+ vt525|DEC VT525,
+- am, mir, xenl, xon,
+- cols#80, lines#24, vt#3,
+- acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+- bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+- clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
+- cub1=^H, cud1=\E[B, cuf1=\E[C,
+- cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P,
+- dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I,
+- if=/usr/share/tabset/vt300, il1=\E[L, ind=\ED,
+- is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H,
+- kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+- kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR,
+- kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~,
+- kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+- kslt=\E[4~,
+- pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\,
+- rc=\E8, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300,
+- ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l,
+- rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+- rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7,
+- sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
+- sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
+- smso=\E[7m, smul=\E[4m,
++ use=vt520,
+
+ #### VT100 emulations
+ #
+@@ -2887,7 +2949,7 @@
+ # the default behavior -TD
+
+ putty|PuTTY terminal emulator,
+- am, bce, bw, ccc, hs, mir, msgr, xenl, xon, XT,
++ am, bce, bw, ccc, mir, msgr, xenl, xon, XT,
+ colors#8, it#8, ncv#22, pairs#64, U8#1,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+@@ -2897,11 +2959,10 @@
+ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
+ dch=\E[%p1%dP, dch1=\E[P,
+ dispc=%?%p1%{8}%=%t\E%%G\342\227\230\E%%@%e%p1%{10}%=%t\E%%G\342\227\231\E%%@%e%p1%{12}%=%t\E%%G\342\231\0\E%%@%e%p1%{13}%=%t\E%%G\342\231\252\E%%@%e%p1%{14}%=%t\E%%G\342\231\253\E%%@%e%p1%{15}%=%t\E%%G\342\230\274\E%%@%e%p1%{27}%=%t\E%%G\342\206\220\E%%@%e%p1%{155}%=%t\E%%G\340\202\242\E%%@%e%p1%c%;,
+- dl=\E[%p1%dM, dl1=\E[M, dsl=\E]0;\007, ech=\E[%p1%dX,
+- ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
+- flash=\E[?5h\E[?5l, fsl=^G, home=\E[H, hpa=\E[%i%p1%dG,
+- ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J,
+- indn=\E[%p1%dS,
++ dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
++ el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h\E[?5l, home=\E[H,
++ hpa=\E[%i%p1%dG, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L,
++ ind=^J, indn=\E[%p1%dS,
+ initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x,
+ is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R,
+ kb2=\E[G, kbs=\177, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
+@@ -2922,7 +2983,8 @@
+ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[?47h,
+ smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m,
+- tbc=\E[3g, tsl=\E]0;, vpa=\E[%i%p1%dd, use=vt102+enq,
++ tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3;J, use=vt102+enq,
++ use=xterm+sl,
+ vt100-putty|Reset PuTTY to pure vt100,
+ rs2=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p,
+ use=vt100,
+@@ -2937,6 +2999,28 @@
+ kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
+ kf9=\EOX, use=putty,
+
++# Unlike xterm-sco, this leaves kmous ambiguous with kf1.
++#
++# Use modifiers to obtain function keys past 12:
++# F1-F12 - normal
++# F13-F24 - shift
++# F25-F36 - control/alt
++# F37-F48 - control/shift
++#
++putty-sco|putty with SCO function keys,
++ kbeg=\E[E, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
++ kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W,
++ kf12=\E[X, kf13=\E[Y, kf14=\E[Z, kf15=\E[a, kf16=\E[b,
++ kf17=\E[c, kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f,
++ kf21=\E[g, kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k,
++ kf26=\E[l, kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O,
++ kf30=\E[p, kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t,
++ kf35=\E[u, kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y,
++ kf4=\E[P, kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\,
++ kf44=\E[], kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{,
++ kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
++ kich1=\E[L, knp=\E[G, kpp=\E[I, use=putty,
++
+ # This entry is for Tera Term Pro version 2.3, for MS-Windows 95/NT written by
+ # T. Teranishi dated Mar 10, 1998. It is a free software terminal emulator
+ # (communication program) which supports:
+@@ -3091,7 +3175,8 @@
+ kf9=\EOX, rmkx=\E[?1l\E>, rmso=\E[m, smkx=\E[?1h\E,
+ smso=\E[7m,
+
+-#### X terminal emulators
++######## X TERMINAL EMULATORS
++#### XTERM
+ #
+ # You can add the following line to your .Xdefaults to change the terminal type
+ # set by the xterms you start up to my-xterm:
+@@ -3154,7 +3239,7 @@
+ # added khome/kend, hts based on the R6 xterm code - TD
+ # (khome/kend do not actually work in X11R5 or X11R6, but many people use this
+ # for compatibility with other emulators).
+-xterm-r6|xterm-old|xterm X11R6 version,
++xterm-r6|xterm X11R6 version,
+ OTbs, am, km, mir, msgr, xenl,
+ cols#80, it#8, lines#24,
+ acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+@@ -3180,10 +3265,12 @@
+ sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h,
+ smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+ use=vt100+enq,
++xterm-old|antique xterm version,
++ use=xterm-r6,
+ # This is the base xterm entry for the xterm supplied with XFree86 3.2 & up.
+ # The name has been changed and some aliases have been removed.
+ xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System),
+- OTbs, am, bce, km, mir, msgr, xenl,
++ OTbs, am, bce, km, mir, msgr, xenl, XT,
+ cols#80, it#8, lines#24, ncv@,
+ acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+@@ -3227,13 +3314,13 @@
+ # xterm to use terminfo-based descriptions with the titeInhibit resource.
+ # -- the distribution contained incorrect khome/kend values -TD
+ xterm-xf86-v333|xterm terminal emulator (XFree86 3.3.3 Window System),
+- mc5i,
+ blink=\E[5m, ich1@, invis=\E[8m,
+ is2=\E[!p\E[?3;4l\E[4l\E>, kdch1=\E[3~, kfnd@, kslt@,
+- mc0=\E[i, mc4=\E[4i, mc5=\E[5i, rmcup=\E[?1047l\E[?1048l,
+- rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>,
++ rmcup=\E[?1047l\E[?1048l, rs1=\Ec,
++ rs2=\E[!p\E[?3;4l\E[4l\E>,
+ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+- smcup=\E[?1048h\E[?1047h, use=xterm-xf86-v33,
++ smcup=\E[?1048h\E[?1047h, use=ansi+pp,
++ use=xterm-xf86-v33,
+
+ # This version was released in XFree86 4.0.
+ xterm-xf86-v40|xterm terminal emulator (XFree86 4.0 Window System),
+@@ -3274,12 +3361,14 @@
+ # This version reflects the current xterm features.
+ xterm-new|modern xterm terminal emulator,
+ npc,
+- indn=\E[%p1%dS, kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H,
+- kIC=\E[2;2~, kNXT=\E[6;2~, kPRV=\E[5;2~, kb2=\EOE,
+- kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+- kend=\EOF, kent=\EOM, khome=\EOH, kich1=\E[2~, kmous=\E[M,
+- knp=\E[6~, kpp=\E[5~, rin=\E[%p1%dT, use=xterm+pcfkeys,
++ indn=\E[%p1%dS, kb2=\EOE, kcbt=\E[Z, kent=\EOM,
++ rin=\E[%p1%dT, use=xterm+pcfkeys, use=xterm+tmux,
+ use=xterm-basic,
++
++# This fragment is for people who cannot agree on what the backspace key
++# should send.
++xterm+kbs|fragment for backspace key,
++ kbs=^H,
+ #
+ # This fragment describes as much of XFree86 xterm's "pc-style" function
+ # keys as will fit into terminfo's 60 function keys.
+@@ -3445,7 +3534,7 @@
+ #
+ # This chunk is used for building the VT220/Sun/PC keyboard variants.
+ xterm-basic|modern xterm terminal emulator - common,
+- OTbs, am, bce, km, mc5i, mir, msgr, xenl, AX,
++ OTbs, am, bce, km, mir, msgr, xenl, AX, XT,
+ colors#8, cols#80, it#8, lines#24, pairs#64,
+ acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+@@ -3457,19 +3546,20 @@
+ dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+ flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+ ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
+- ind=^J, invis=\E[8m, is2=\E[!p\E[?3;4l\E[4l\E>, kbs=^H,
+- kmous=\E[M, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, meml=\El,
+- memu=\Em, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM,
+- rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?1049l, rmir=\E[4l,
+- rmkx=\E[?1l\E>, rmm=\E[?1034l, rmso=\E[27m, rmul=\E[24m,
+- rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7,
+- setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
++ ind=^J, invis=\E[8m, is2=\E[!p\E[?3;4l\E[4l\E>,
++ kmous=\E[M, meml=\El, memu=\Em, op=\E[39;49m, rc=\E8,
++ rev=\E[7m, ri=\EM, rmacs=\E(B, rmam=\E[?7l,
++ rmcup=\E[?1049l, rmir=\E[4l, rmkx=\E[?1l\E>,
++ rmm=\E[?1034l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
++ rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, setab=\E[4%p1%dm,
++ setaf=\E[3%p1%dm,
+ setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+ setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
+ sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smcup=\E[?1049h,
+ smir=\E[4h, smkx=\E[?1h\E=, smm=\E[?1034h, smso=\E[7m,
+- smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, use=vt100+enq,
++ smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3;J,
++ use=ansi+pp, use=xterm+kbs, use=vt100+enq,
+
+ # From: David J. MacKenzie <djm@va.pubnix.com>, 14 Nov 1997
+ # In retrospect, something like xterm-r6 was intended here -TD
+@@ -3527,6 +3617,28 @@
+ xterm-1003|testing xterm-mouse,
+ XM=\E[?1003%?%p1%{1}%=%th%el%;, use=xterm-new,
+
++# This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who
++# asked for some of xterm's advanced features to be added to its terminfo
++# entry. It defines extended capabilities not found in standard terminfo or
++# termcap. These are useful in tmux, for instance, hence the name.
++#
++# One caveat in adding extended capabilities in ncurses is that if the names
++# are longer than two characters, then they will not be visible through the
++# termcap interface.
++#
++# Ms modifies the selection/clipboard. Its parameters are
++# p1 = the storage unit (clipboard, selection or cut buffer)
++# p2 = the base64-encoded clipboard content.
++#
++# Ss is used to set the cursor style as described by the DECSCUSR
++# function to a block or underline.
++# Se resets the cursor style to the terminal power-on default.
++#
++# Cs and Cr set and reset the cursor colour.
++xterm+tmux|advanced xterm features used in tmux,
++ Cr=\E]112\007, Cs=\E]12;%p1%s\007,
++ Ms=\E]52;%p1%s;%p2%s\007, Se=\E[2 q, Ss=\E[%p1%d q,
++
+ # This is another variant, for XFree86 4.0 xterm (T.Dickey)
+ # This is an 8-bit version of xterm, which emulates DEC vt220 with ANSI color.
+ # To use it, your decTerminalID resource must be set to 200 or above.
+@@ -3552,8 +3664,8 @@
+ hpa=\233%i%p1%dG, ht=^I, hts=\210, ich=\233%p1%d@,
+ il=\233%p1%dL, il1=\233L, ind=^J, invis=\2338m,
+ is2=\E[62"p\E G\233m\233?7h\E>\E7\233?1;3;4;6l\2334l\233r\E8,
+- ka1=\217w, ka3=\217u, kb2=\217y, kbeg=\217E, kbs=^H,
+- kc1=\217q, kc3=\217s, kcbt=\233Z, kcub1=\217D, kcud1=\217B,
++ ka1=\217w, ka3=\217u, kb2=\217y, kbeg=\217E, kc1=\217q,
++ kc3=\217s, kcbt=\233Z, kcub1=\217D, kcud1=\217B,
+ kcuf1=\217C, kcuu1=\217A, kdch1=\2333~, kend=\2334~,
+ kent=\217M, kf1=\23311~, kf10=\23321~, kf11=\23323~,
+ kf12=\23324~, kf13=\23325~, kf14=\23326~, kf15=\23328~,
+@@ -3575,6 +3687,7 @@
+ smcup=\233?1049h, smir=\2334h, smkx=\233?1h\E=,
+ smso=\2337m, smul=\2334m, tbc=\2333g, u6=\233[%i%d;%dR,
+ u7=\E[6n, u8=\233[?1;2c, u9=\E[c, vpa=\233%i%p1%dd,
++ use=xterm+kbs,
+
+ xterm-hp|xterm with hpterm function keys,
+ kclr=\EJ, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
+@@ -3621,8 +3734,9 @@
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, clear=\EH\EJ, cr=^M, cub1=\ED, cud1=\EB, cuf1=\EC,
+ cup=\EY%p1%' '%+%c%p2%' '%+%c, cuu1=\EA, ed=\EJ, el=\EK,
+- home=\EH, ht=^I, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB,
+- kcuf1=\EC, kcuu1=\EA, nel=^M^J, ri=\EI, rmacs=\EG, smacs=\EF,
++ home=\EH, ht=^I, ind=^J, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
++ kcuu1=\EA, nel=^M^J, ri=\EI, rmacs=\EG, smacs=\EF,
++ use=xterm+kbs,
+
+ xterm-noapp|xterm with cursor keys in normal mode,
+ rmcup@, rmkx=\E>, smcup@, smkx=\E=, use=xterm+noapp,
+@@ -3640,25 +3754,68 @@
+ xterm-utf8|xterm with no VT100 line-drawing in UTF-8 mode,
+ U8#1, use=xterm,
+
+-# These entries allow access to the X titlebar and icon name as a status line.
+-# Note that twm (and possibly window managers descended from it such as tvtwm,
+-# ctwm, and vtwm) track windows by icon-name; thus, you don't want to mess
+-# with it.
++# These building-blocks allow access to the X titlebar and icon name as a
++# status line. There are a few problems in using them in entries:
++#
++# a) tsl should have a parameter to denote the column on which to transfer to
++# the status line.
++# b) the "0" code for xterm updates both icon-title and window title. Some
++# window managers such as twm (and possibly window managers descended from
++# it such as tvtwm, ctwm, and vtwm) track windows by icon-name. Thus, you
++# don't want to mess with icon-name when using those window managers.
+ xterm+sl|access X title line and icon name,
+ hs,
+- wsl#40,
+- dsl=\E]0;\007, fsl=^G, tsl=\E]0;, use=xterm,
++ dsl=\E]0;\007, fsl=^G, tsl=\E]0;,
+ xterm+sl-twm|access X title line (pacify twm-descended window managers),
+ hs,
+- wsl#40,
+- dsl=\E]2;\007, fsl=^G, tsl=\E]2;, use=xterm,
++ dsl=\E]2;\007, fsl=^G, tsl=\E]2;,
++
++# In contrast, this block can be used for a DEC vt320 and up. There are two
++# controls used.
++#
++# DECSASD (select active status display)
++# \E[0$} Main display
++# \E[1$} Status line
++#
++# DECSSDT (select status line type)
++# \E[0$~ No status line
++# \E[1$~ Indicator status line
++# \E[2$~ Host-writable status line
++#
++# The building block assumes that the terminal always shows something at the
++# status line (either the indicator, or status line). That is because if no
++# status line is used, then the terminal makes that line part of the user
++# window, changing its size without notice.
++#
++# Because there is no "esl" (enable status line) capability, the "tsl"
++# capability ensures that the status line is host-writable. A DEC terminal
++# will clear the status line when changing from indicator to host-writable
++# mode.
++#
++# Once on the status line, the row part of cursor addressing is ignored. Since
++# tsl expects a parameter (to specify the column), the shortest addressing that
++# can be used for this purpose is HPA, e.g., \E[5d to go to column 5.
++#
++dec+sl|DEC VTxx status line,
++ eslok, hs,
++ dsl=\E[1$~, fsl=\E[0$}, tsl=\E[2$~\E[1$}\E[%i%p1%d`,
+
+ #
+ # The following xterm variants don't depend on your base version
+ #
+ # xterm with bold instead of underline
+ xterm-bold|xterm terminal emulator (X11R6 Window System) standout w/bold,
++ sgr=%?%p9%t\016%e\017%;B\E[0%?%p6%t;1%;%?%p2%t;1%;%?%p1%p3%|%t;7%;m,
+ smso=\E[7m, smul=\E[1m, use=xterm-old,
++
++# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
++xterm-nic|xterm with ich/ich1 suppressed for non-curses programs,
++ ich@, ich1@, use=xterm,
++# From: Mark Sheppard <kimble@mistral.co.uk>, 4 May 1996
++xterm1|xterm terminal emulator ignoring the alternate screen buffer,
++ rmcup@, smcup@, use=xterm,
++
++#### KTERM
+ # (kterm: this had extension capabilities ":KJ:TY=ascii:" -- esr)
+ # (kterm should not invoke DEC Graphics as the alternate character set
+ # -- Kenji Rikitake)
+@@ -3676,12 +3833,51 @@
+ tsl=\E[?E\E[?%i%p1%dT, use=xterm-r6, use=ecma+color,
+ kterm-color|kterm-co|kterm with ANSI colors,
+ ncv@, use=kterm, use=ecma+color,
+-# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
+-xterm-nic|xterm with ich/ich1 suppressed for non-curses programs,
+- ich@, ich1@, use=xterm,
+-# From: Mark Sheppard <kimble@mistral.co.uk>, 4 May 1996
+-xterm1|xterm terminal emulator ignoring the alternate screen buffer,
+- rmcup@, smcup@, use=xterm,
++
++#### Other XTERM
++# These (xtermc and xtermm) are distributed with Solaris. They refer to a
++# variant of xterm which is apparently no longer supported, but are interesting
++# because they illustrate SVr4 curses mouse controls - T.Dickey
++xtermm|xterm terminal emulator (monocrome),
++ OTbs, am, km, mir, msgr, xenl,
++ btns#3, cols#80, it#8, lines#24,
++ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
++ bel=^G, blink@, bold=\E[1m, clear=\E[H\E[2J, cr=^M,
++ csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
++ cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
++ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
++ dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
++ el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, getm=\E[%p1%dY,
++ home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
++ il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD,
++ kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kf0=\EOy,
++ kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf5=\EOT, kf6=\EOU,
++ kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kmous=\E[^_,
++ knp=\E[U, kpp=\E[V, rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM,
++ rmacs=^O, rmcup=\E@0\E[?4r, rmso=\E[m,
++ rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
++ rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
++ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
++ sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1,
++ smso=\E[7m, tbc=\E[3g, use=vt100+fnkeys,
++
++xtermc|xterm terminal emulator (color),
++ colors#8, ncv#7, pairs#64,
++ op=\E[100m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
++ setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
++ setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
++ use=xtermm,
++
++# From: David J. MacKenzie <djm@va.pubnix.com> 20 Apr 1995
++# Here's a termcap entry I've been using for xterm_color, which comes
++# with BSD/OS 2.0, and the X11R6 contrib tape too I think. Besides the
++# color stuff, I also have a status line defined as the window manager
++# title bar. [I have translated it to terminfo -- ESR]
++xterm-pcolor|xterm with color used for highlights and status line,
++ wsl#40,
++ bold=\E[1;43m, rev=\E[7;34m,
++ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1;43%;%?%p2%t;4;42%;%?%p1%t;7;31%;%?%p3%t;7;34%;%?%p4%t;5%;%?%p7%t;8%;m,
++ smso=\E[7;31m, smul=\E[4;42m, use=xterm+sl, use=xterm-r6,
+
+ # This describes the capabilities of color_xterm, an xterm variant from
+ # before ECMA-64 color support was folded into the main-line xterm release.
+@@ -3729,6 +3925,32 @@
+ ncv@,
+ op=\E[m, use=xterm-r6, use=klone+color,
+
++# This entry describes an xterm with Sun-style function keys enabled
++# via the X resource setting "xterm*sunFunctionKeys:true"
++# To understand <kf11>/<kf12> note that L1,L2 and F11,F12 are the same.
++# The <kf13>...<kf20> keys are L3-L10. We don't set <kf16=\E[197z>
++# because we want it to be seen as <kcpy>.
++# The <kf31>...<kf45> keys are R1-R15. We treat some of these in accordance
++# with their Sun keyboard labels instead.
++# From: Simon J. Gerraty <sjg@zen.void.oz.au> 10 Jan 1996
++xterm-sun|xterm with sunFunctionKeys true,
++ kb2=\E[218z, kcpy=\E[197z, kcub1=\EOD, kcud1=\EOB,
++ kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3z, kend=\E[220z,
++ kent=\EOM, kf1=\E[224z, kf10=\E[233z, kf11=\E[192z,
++ kf12=\E[193z, kf13=\E[194z, kf14=\E[195z, kf15=\E[196z,
++ kf17=\E[198z, kf18=\E[199z, kf19=\E[200z, kf2=\E[225z,
++ kf20=\E[201z, kf3=\E[226z, kf31=\E[208z, kf32=\E[209z,
++ kf33=\E[210z, kf34=\E[211z, kf35=\E[212z, kf36=\E[213z,
++ kf38=\E[215z, kf4=\E[227z, kf40=\E[217z, kf42=\E[219z,
++ kf44=\E[221z, kf45=\E[222z, kf46=\E[234z, kf47=\E[235z,
++ kf5=\E[228z, kf6=\E[229z, kf7=\E[230z, kf8=\E[231z,
++ kf9=\E[232z, kfnd=\E[200z, khlp=\E[196z, khome=\E[214z,
++ kich1=\E[2z, knp=\E[222z, kpp=\E[216z, kund=\E[195z,
++ use=xterm-basic,
++xterms-sun|small (80x24) xterm with sunFunctionKeys true,
++ cols#80, lines#24, use=xterm-sun,
++
++#### GNOME (VTE)
+ # this describes the alpha-version of Gnome terminal shipped with Redhat 6.0
+ gnome-rh62|Gnome terminal,
+ bce,
+@@ -3782,7 +4004,7 @@
+ #
+ # bce and msgr are repaired.
+ gnome-rh90|GNOME Terminal,
+- bce, msgr,
++ bce, msgr, XT,
+ hpa=\E[%i%p1%dG, kDC=\E[3;2~, kLFT=\EO2D, kRIT=\EO2C,
+ kb2=\E[E, kcbt=\E[Z, kend=\EOF, khome=\EOH, tbc=\E[3g,
+ vpa=\E[%i%p1%dd, use=xterm+pcf0, use=xterm+pcfkeys,
+@@ -3820,6 +4042,19 @@
+ gnome-2008|GNOME Terminal snapshot 2.22.3,
+ use=vte-2008,
+
++# GNOME Terminal 3.6.0 (2012)
++# VTE 0.34.1 was marked in git 2012-10-15 (three days after patch was applied
++# in ncurses). It inherited from gnome-fc5, which broke the modified forms
++# of f1-f4 -TD
++#
++# Testing with tack shows that flash does not/has not worked -TD
++vte-2012|VTE 0.34.1,
++ flash@, ritm=\E[23m, sitm=\E[3m, use=vte-2008,
++# Version 3.6.1 sets TERM to xterm-256color (still hardcoded), which has
++# 61 differences from a correct entry for gnome terminal.
++gnome-2012|GNOME Terminal 3.6.0,
++ use=vte-2012,
++
+ # GNOME terminal may automatically use the contents of the "xterm" terminfo to
+ # supply key information which is not built into the program. With 2.22.3,
+ # this list is built into the program (which addresses the inadvertant use of
+@@ -3848,13 +4083,13 @@
+ use=vte+pcfkeys,
+
+ vte|VTE aka GNOME Terminal,
+- use=vte-2008,
++ use=vte-2012,
+ gnome|GNOME Terminal,
+ use=vte,
+
+ # palette is hardcoded...
+ vte-256color|VTE with xterm 256-colors,
+- initc@, use=xterm+256color, use=vte,
++ use=xterm+256color, use=vte,
+ gnome-256color|GNOME Terminal with xterm 256-colors,
+ use=vte-256color,
+
+@@ -3865,8 +4100,9 @@
+ # Since most of the terminfo-related behavior is due to the VTE library,
+ # the terminfo is the same as gnome-terminal.
+ xfce|Xfce Terminal,
+- use=vte,
++ use=vte-2008,
+
++#### Other GNOME
+ # Multi-Gnome-Terminal 1.6.2
+ #
+ # This does not use VTE, and does have different behavior (compare xfce and
+@@ -3874,6 +4110,7 @@
+ mgt|Multi GNOME Terminal,
+ indn=\E[%p1%dS, rin=\E[%p1%dT, use=xterm-xf86-v333,
+
++#### KDE
+ # This is kvt 0-18.7, shipped with Redhat 6.0 (though whether it supports bce
+ # or not is debatable).
+ kvt|KDE terminal,
+@@ -3922,7 +4159,7 @@
+ ncv@,
+ bel@, blink=\E[5m, civis=\E[?25l, cnorm=\E[?25h,
+ ech=\E[%p1%dX, flash=\E[?5h$<100/>\E[?5l,
+- hpa=\E[%i%p1%dG, indn=\E[%p1%dS, kbs=\177, kdch1@,
++ hpa=\E[%i%p1%dG, indn=\E[%p1%dS, kbs=\177, kdch1=\E[3~,
+ kend=\E[4~, kf1@, kf10@, kf11@, kf12@, kf13@, kf14@, kf15@, kf16@,
+ kf17@, kf18@, kf19@, kf2@, kf20@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@,
+ kf9@, kfnd@, khome=\E[1~, kslt@, rin=\E[%p1%dT, rmam=\E[?7l,
+@@ -3932,11 +4169,10 @@
+ sgr0=\E[0m\017, smam=\E[?7h, vpa=\E[%i%p1%dd,
+ use=ecma+color, use=xterm-r6,
+ konsole-linux|KDE console window with linux keyboard,
+- kdch1=\E[3~, kf1=\E[[A, kf10=\E[21~, kf11=\E[23~,
+- kf12=\E[24~, kf13@, kf14@, kf15@, kf16@, kf17@, kf18@, kf19@,
+- kf2=\E[[B, kf20@, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
+- kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+- use=konsole-base,
++ kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13@,
++ kf14@, kf15@, kf16@, kf17@, kf18@, kf19@, kf2=\E[[B, kf20@,
++ kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
++ kf8=\E[19~, kf9=\E[20~, use=konsole-base,
+ konsole-solaris|KDE console window with Solaris keyboard,
+ kbs=^H, kend=\E[4~, khome=\E[1~, use=konsole-vt100,
+ # KDE's "XFree86 3.x.x" keyboard is based on reading the xterm terminfo rather
+@@ -3972,6 +4208,7 @@
+ konsole-256color|KDE console window with xterm 256-colors,
+ initc@, use=xterm+256color, use=konsole,
+
++#### MLTERM
+ # This is mlterm 2.9.3's mlterm.ti, with some additions/corrections -TD
+ #
+ # It is nominally a vt102 emulator, with features borrowed from rxvt and
+@@ -4037,6 +4274,7 @@
+ mlterm-256color|mlterm 3.0 with xterm 256-colors,
+ use=xterm+256color, use=rxvt,
+
++#### RXVT
+ # From: Thomas Dickey <dickey@clark.net> 04 Oct 1997
+ # Updated: Oezguer Kesim <kesim@math.fu-berlin.de> 02 Nov 1997
+ # Notes:
+@@ -4208,6 +4446,7 @@
+ rxvt-16color|xterm with 16 colors like aixterm,
+ ncv#32, use=ibm+16color, use=rxvt,
+
++#### MRXVT
+ # mrxvt 0.5.4
+ #
+ # mrxvt is based on rxvt 2.7.11, but has by default XTERM_FKEYS defined, which
+@@ -4225,6 +4464,7 @@
+ mrxvt-256color|multitabbed rxvt with 256 colors,
+ use=xterm+256color, use=mrxvt,
+
++#### ETERM
+ # From: Michael Jennings <mej@valinux.com>
+ #
+ # Eterm 0.9.3
+@@ -4270,11 +4510,13 @@
+ Eterm-88color|Eterm with 88 colors,
+ use=xterm+88color, use=Eterm,
+
++#### ATERM
+ # Based on rxvt 2.4.8, it has a few differences in key bindings
+ aterm|AfterStep terminal,
+ XT,
+ kbs=\177, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, use=rxvt,
+
++#### XITERM
+ # xiterm 0.5-5.2
+ # This is not based on xterm's source...
+ # vttest shows several problems with keyboard, cursor-movements.
+@@ -4283,48 +4525,8 @@
+ km@,
+ kbs=\177, kdch1=\E[3~, use=klone+color, use=xterm-r6,
+
+-# These (xtermc and xtermm) are distributed with Solaris. They refer to a
+-# variant of xterm which is apparently no longer supported, but are interesting
+-# because they illustrate SVr4 curses mouse controls - T.Dickey
+-xtermm|xterm terminal emulator (monocrome),
+- OTbs, am, km, mir, msgr, xenl,
+- btns#3, cols#80, it#8, lines#24,
+- acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+- bel=^G, blink@, bold=\E[1m, clear=\E[H\E[2J, cr=^M,
+- csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
+- cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+- cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+- dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+- el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, getm=\E[%p1%dY,
+- home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+- il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD,
+- kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kf0=\EOy,
+- kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf5=\EOT, kf6=\EOU,
+- kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kmous=\E[^_,
+- knp=\E[U, kpp=\E[V, rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM,
+- rmacs=^O, rmcup=\E@0\E[?4r, rmso=\E[m,
+- rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+- rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+- sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+- sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1,
+- smso=\E[7m, tbc=\E[3g, use=vt100+fnkeys,
+-
+-xtermc|xterm terminal emulator (color),
+- colors#8, ncv#7, pairs#64,
+- op=\E[100m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+- setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+- setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+- use=xtermm,
+-
+-# From: David J. MacKenzie <djm@va.pubnix.com> 20 Apr 1995
+-# Here's a termcap entry I've been using for xterm_color, which comes
+-# with BSD/OS 2.0, and the X11R6 contrib tape too I think. Besides the
+-# color stuff, I also have a status line defined as the window manager
+-# title bar. [I have translated it to terminfo -- ESR]
+-xterm-pcolor|xterm with color used for highlights and status line,
+- bold=\E[1m\E[43m, rev=\E[7m\E[34m, smso=\E[7m\E[31m,
+- smul=\E[4m\E[42m, use=xterm+sl, use=xterm-r6,
+
++#### HPTERM
+ # HP ships this (HPUX 9 and 10), except for the pb#9600 which was merged in
+ # from BSD termcap. (hpterm: added empty <acsc>, we have no idea what ACS
+ # chars look like --esr)
+@@ -4357,31 +4559,7 @@
+ initp=\E&v%p2%da%p3%db%p4%dc%p5%dx%p6%dy%p7%dz%p1%dI,
+ op=\E&v0S, scp=\E&v%p1%dS, use=hpterm,
+
+-# This entry describes an xterm with Sun-style function keys enabled
+-# via the X resource setting "xterm*sunFunctionKeys:true"
+-# To understand <kf11>/<kf12> note that L1,L2 and F11,F12 are the same.
+-# The <kf13>...<kf20> keys are L3-L10. We don't set <kf16=\E[197z>
+-# because we want it to be seen as <kcpy>.
+-# The <kf31>...<kf45> keys are R1-R15. We treat some of these in accordance
+-# with their Sun keyboard labels instead.
+-# From: Simon J. Gerraty <sjg@zen.void.oz.au> 10 Jan 1996
+-xterm-sun|xterm with sunFunctionKeys true,
+- kb2=\E[218z, kcpy=\E[197z, kcub1=\EOD, kcud1=\EOB,
+- kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3z, kend=\E[220z,
+- kent=\EOM, kf1=\E[224z, kf10=\E[233z, kf11=\E[192z,
+- kf12=\E[193z, kf13=\E[194z, kf14=\E[195z, kf15=\E[196z,
+- kf17=\E[198z, kf18=\E[199z, kf19=\E[200z, kf2=\E[225z,
+- kf20=\E[201z, kf3=\E[226z, kf31=\E[208z, kf32=\E[209z,
+- kf33=\E[210z, kf34=\E[211z, kf35=\E[212z, kf36=\E[213z,
+- kf38=\E[215z, kf4=\E[227z, kf40=\E[217z, kf42=\E[219z,
+- kf44=\E[221z, kf45=\E[222z, kf46=\E[234z, kf47=\E[235z,
+- kf5=\E[228z, kf6=\E[229z, kf7=\E[230z, kf8=\E[231z,
+- kf9=\E[232z, kfnd=\E[200z, khlp=\E[196z, khome=\E[214z,
+- kich1=\E[2z, knp=\E[222z, kpp=\E[216z, kund=\E[195z,
+- use=xterm-basic,
+-xterms-sun|small (80x24) xterm with sunFunctionKeys true,
+- cols#80, lines#24, use=xterm-sun,
+-
++#### EMU
+ # This is for the extensible terminal emulator on the X11R6 contrib tape.
+ # It corresponds to emu's internal emulation:
+ # emu -term emu
+@@ -4443,6 +4621,8 @@
+ sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+ sgr0=\E[m, smacs=^N, smcup=\E[?1l\E=, smkx=\E=,
+ smso=\E[0;7m, smul=\E[0;4m, tbc=\E[3g,
++
++#### MVTERM
+ # A commercial product, Reportedly a version of Xterm with an OPEN LOOK UI,
+ # print interface, ANSI X3.64 colour escape sequences, etc. Newsgroup postings
+ # indicate that it emulates more than one terminal, but incompletely.
+@@ -4477,7 +4657,7 @@
+ smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+ tsl=\E[?E\E[?%i%p1%dT, use=vt100+fnkeys,
+
+-### MTERM
++#### MTERM
+ #
+ # This application is available by email from <mouse@Rodents.Montreal.QC.CA>.
+ #
+@@ -4598,6 +4778,123 @@
+ kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+ khome=\E[1~, knp=\E[6~, kpp=\E[5~, use=mgr,
+
++#### SIMPLETERM
++# st.suckless.org
++# st-0.1.1
++#
++# Note: the original terminfo description uses leading blank to persuade
++# ncurses to use "st" as its name. Proper fix for that is to use "st" as an
++# alias.
++#
++# Reading the code shows it should work for aixterm 16-colors
++# - added st-16color
++#
++# Using tack:
++# - set eo (erase-overstrike)
++# - set xenl
++# - tbc doesn't work
++# - hts works
++# - cbt doesn't work
++# - shifted cursor-keys send sequences like rxvt
++# - sgr referred to unimplemented "invis" mode.
++# Fixes: add eo and xenl per tack, remove nonworking cbt, hts and tbc, invis
++simpleterm|st| simpleterm,
++ am, eo, mir, msgr, ul, xenl,
++ colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64,
++ acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
++ bel=^G, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[2J,
++ cnorm=\E[?12l\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr,
++ cub1=^H, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
++ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
++ dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K,
++ home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@,
++ il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, kbs=\177,
++ kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
++ kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~,
++ kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
++ kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
++ khome=\E[1~, knp=\E[6~, kpp=\E[5~, op=\E[37;40m, rc=\E8,
++ rev=\E[7m, rmacs=\E(B, rmso=\E[m, rmul=\E[m, sc=\E7,
++ setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
++ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
++ sgr0=\E[0m, smacs=\E(0, smso=\E[7m, smul=\E[4m,
++st-16color|simpleterm with 16-colors,
++ use=ibm+16color, use=simpleterm,
++# 256 colors "works", but when running xterm's test-scripts, some garbage is
++# shown in the titlebar.
++st-256color|simpleterm with 256 colors,
++ ccc@,
++ initc@, use=xterm+256color, use=simpleterm,
++
++#### TERMINATOR
++# http://software.jessies.org/terminator/
++# Tested using their Debian package org.jessies.terminator 6.104.3256 on 64-bit
++# Debian/current -TD (2011/8/20)
++#
++# There are some packaging problems:
++# a) using Java, the program starts off using 50Mb, and climbs from there,
++# up to 114Mb after testing (no scrollback).
++# b) it insists on reinstalling its terminal description in $HOME/.terminfo
++# (two copies, just in case the host happens to be Mac OS X).
++# I deleted this after testing with tack.
++#
++# Issues/features found with tack:
++# a) tbc does not work (implying that hts also is broken).
++# Comparing with the tabs utility shows a problem with the last tabstop on
++# a line.
++# b) has xterm-style shifted function-key strings
++# meta also is used, but control is ignored.
++# c) has xterm-style modifiers for cursor keys (shift, control, shift+control, meta)
++# d) some combinations of shift/control send xterm-style sequences for
++# insert/delete/home/end.
++# e) numeric keypad sends only numbers (compare with vttest).
++# f) meta mode (km) is not implemented.
++#
++# Issues found with ncurses test-program:
++# a) bce is inconsistently implemented
++# b) widths of Unicode values above 256 do not always agree with wcwidth.
++#
++# Checked with vttest, found low degree of compatibility there.
++#
++# Checked with xterm's scripts, found that the 256-color palette is fixed.
++#
++# Fixes:
++# a) add sgr string
++# b) corrected sgr0 to reset alternate character set
++# c) modified smacs/rmacs to use SCS rather than SI/SO
++# d) removed bce
++# e) removed km
++terminator|Terminator no line wrap,
++ eo, mir, msgr, xenl, xon,
++ colors#256, cols#80, it#8, lines#24, lm#0, pairs#32767,
++ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
++ bold=\E[1m, civis=\E[?25l, clear=\E[H\E[2J,
++ cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr,
++ cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
++ cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
++ cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
++ dl=\E[%p1%dM, dl1=\E[M, dsl=\E]2;\007, ed=\E[J, el=\E[K,
++ el1=\E[1K, enacs=\E(B\E)0, flash=^G, fsl=^G, home=\E[H,
++ hpa=\E[%i%p1%dG, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L,
++ ind=^J, is1=\E[?47l\E=\E[?1l,
++ is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H,
++ kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
++ kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~,
++ kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
++ kf15=\E[28~, kf16=\E[29~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
++ kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
++ khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
++ op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B,
++ rmcup=\E[?47l\E8, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
++ rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
++ rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>,
++ s0ds=\E(B, s1ds=\E(0, sc=\E7, setab=\E[48;5;%p1%dm,
++ setaf=\E[38;5;%p1%dm,
++ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;,
++ sgr0=\E[m\E(B, smacs=\E(0, smcup=\E7\E[?47h, smir=\E[4h,
++ smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E]2;%p1,
++ vpa=\E[%i%p1%dd,
++
+ ######## UNIX VIRTUAL TERMINALS, VIRTUAL CONSOLES, AND TELNET CLIENTS
+ #
+
+@@ -4780,7 +5077,7 @@
+ bce@, bw,
+ invis@, kIC@, kNXT@, kPRV@, meml@, memu@,
+ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m,
+- use=screen+fkeys, use=xterm-new,
++ E3@, use=screen+fkeys, use=xterm-new,
+ # xterm-r6 does not really support khome/kend unless it is propped up by
+ # the translations resource.
+ screen.xterm-r6|screen customized for X11R6 xterm,
+@@ -4920,18 +5217,18 @@
+ # sequences for setting the window-title. So you must use tsl and fsl in
+ # pairs, since the latter ends the string that is loaded to the window-title.
+ ncsa-m|ncsa-vt220-8|NCSA Telnet 2.6 for Macintosh in vt220-8 mode,
+- am, hs, km, mir, msgr, xenl,
++ am, km, mir, msgr, xenl,
+ acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+ clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M,
+ csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+ cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+- dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+- dsl=\E]0;\007, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
+- flash=\E[?5h\E[?5l, fsl=^G, home=\E[H, ht=^I, hts=\EH,
+- ich=\E[%p1%d@, if=/usr/share/tabset/vt100,
+- il=\E[%p1%dL, il1=\E[L, ind=\n$<150*>,
++ dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
++ el=\E[K, el1=\E[1K, enacs=\E)0, flash=\E[?5h\E[?5l,
++ home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
++ if=/usr/share/tabset/vt100, il=\E[%p1%dL, il1=\E[L,
++ ind=\n$<150*>,
+ is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>, kbs=^H,
+ kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+ kdch1=\E[4~, kend=\E[5~, kf1=\E[17~, kf10=\E[28~,
+@@ -4945,8 +5242,8 @@
+ rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;4;6l\E[4l\E>, sc=\E7,
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;,
+ sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smcup=\E7,
+- smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E]0;,
+- u8=\E[?62;1;6c, use=ansi+enq,
++ smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
++ u8=\E[?62;1;6c, use=xterm+sl, use=ansi+enq,
+ ncsa|NCSA Telnet 2.7 for Macintosh in vt220-8 mode,
+ use=ncsa-m, use=klone+color,
+ ncsa-ns|NCSA Telnet 2.7 for Macintosh in vt220-8 mode,
+@@ -5064,10 +5361,10 @@
+ kf10=\E[233z, kf11=\E[234z, kf12=\E[235z, kf2=\E[225z,
+ kf3=\E[226z, kf4=\E[227z, kf5=\E[228z, kf6=\E[229z,
+ kf7=\E[230z, kf8=\E[231z, kf9=\E[232z, khome=\E[214z,
+- knp=\E[222z, kopt=\E[194z, kpp=\E[216z, kres=\E[193z,
+- kund=\E[195z, rev=\E[7m, rmso=\E[m, rmul@, rs2=\E[s,
+- sgr=\E[0%?%p1%p3%|%t;7%;m, sgr0=\E[m, smso=\E[7m,
+- u8=\E[1t, u9=\E[11t,
++ kich1=\E[247z, knp=\E[222z, kopt=\E[194z, kpp=\E[216z,
++ kres=\E[193z, kund=\E[195z, rev=\E[7m, rmso=\E[m, rmul@,
++ rs2=\E[s, sgr=\E[0%?%p1%p3%|%t;7%;m, sgr0=\E[m,
++ smso=\E[7m, u8=\E[1t, u9=\E[11t,
+ # On some versions of CGSIX framebuffer firmware (SparcStation 5), <il1>/<il>
+ # flake out on the last line. Unfortunately, without them the terminal has no
+ # way to scroll.
+@@ -5077,6 +5374,10 @@
+ sun|sun1|sun2|Sun Microsystems Inc. workstation console,
+ use=sun-il,
+
++sun+sl|Sun Workstation window status line,
++ hs,
++ dsl=\E]l\E\\, fsl=\E\\, tsl=\E]l,
++
+ # From: <john@ucbrenoir> Tue Sep 24 13:14:44 1985
+ sun-s|Sun Microsystems Workstation window with status line,
+ hs,
+@@ -5130,12 +5431,13 @@
+ # It supports bold, but not underline -TD (2009-09-19)
+ sun-color|Sun Microsystems Workstation console with color support (IA systems),
+ colors#8, ncv#3, pairs#64,
+- cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
+- cuu=\E[%p1%dA, home=\E[H, op=\E[0m, setab=\E[4%p1%dm,
+- setaf=\E[3%p1%dm,
++ bold=\E[1m, cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
++ cuu=\E[%p1%dA, home=\E[H, op=\E[0m, rs2=\E[s,
++ setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+ setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+ setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+- use=sun,
++ sgr=\E[0%?%p6%t;1%;%?%p1%p3%|%t;7%;m, sgr0=\E[m,
++ smso=\E[7m, use=sun,
+
+ #### Iris consoles
+ #
+@@ -5230,7 +5532,7 @@
+ cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M,
+ ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+ if=/usr/share/tabset/vt100, il=\E[%p1%dL, il1=\E[L,
+- is2=\E[?7h\E[?1l\E[?3l\E7\E8, kbs=^H, kcub1=\EOD,
++ is2=\E[?7h\E[?1h\E[?3l\E7\E8, kbs=^H, kcub1=\EOD,
+ kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOY, kf1=\EOP,
+ kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV,
+ kf8=\EOW, kf9=\EOX, rc=\E8, rev=\E[7m, ri=\EM,
+@@ -5278,7 +5580,7 @@
+ cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C,
+ cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K,
+ home=\E[H, ht=^I, if=/usr/share/tabset/vt100, kbs=^H,
+- kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP,
++ kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP,
+ kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m, ri=\EM,
+ rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+ rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+@@ -5405,7 +5707,7 @@
+ #### Non-Unix Consoles
+ #
+
+-### EMX termcap.dat compatibility modes
++#### EMX termcap.dat compatibility modes
+ #
+ # Also (possibly only EMX, so we don't put it in ansi.sys, etc): set the
+ # no_color_video to inform the application that standout(1), underline(2)
+@@ -5544,7 +5846,7 @@
+ rmacs=\E[10m, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l,
+ rmpch=\E[10m, rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R,
+ sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+- sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
++ sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
+ sgr0=\E[0;10m, smacs=\E[11m, smcup=\E7\E[?47h,
+ smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m, tsl=\E];,
+ vpa=\E[%i%p1%dd, use=vt102+enq,
+@@ -5579,7 +5881,7 @@
+ rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E[10m, rmir=\E[4l,
+ rmso=\E[m, rmul=\E[m, rs1=\Ec\E]R, sc=\E7,
+ setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+- sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m,
++ sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m,
+ sgr0=\E[0;10m, smacs=\E[11m, smir=\E[4h, smso=\E[7m,
+ smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, use=vt102+enq,
+
+@@ -5825,7 +6127,7 @@
+ ht=^I, hts=\EH$<2/>, ind=\ED$<5/>, is2=\E[1;24r\E[24;1H,
+ kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+ kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\r\ED$<5/>,
+- rc=\E8, rev=\E[7m$<2/>, rf=/usr/share/lib/tabset/vt100,
++ rc=\E8, rev=\E[7m$<2/>, rf=/usr/share/tabset/vt100,
+ ri=\EM$<5/>, rmso=\E[m$<2/>, rmul=\E[m$<2/>,
+ rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+ sgr0=\E[m$<2/>, smso=\E[7m$<2/>, smul=\E[4m$<2/>,
+@@ -5968,7 +6270,7 @@
+ # :cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r:
+ # :XU=^Aq\r:XD=^Ar\r:XR=^As\r:XL=^At\r:\
+ # :HL=^AP\r:SP=\E[i:\
+-# :IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:\
++# :IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:
+ altos3|altos5|alt3|alt5|altos-3|altos-5|altos III or V,
+ blink=\E[5p, ri=\EM, sgr0=\E[p, use=altos2,
+ altos4|alt4|altos-4|altos IV,
+@@ -6183,7 +6485,7 @@
+ da, db,
+ lm#0, pb#19200,
+ ed=\ED\EJ$<500>\EC, indn=\E&r%p1%dD, ip=$<4>,
+- is2=\E&j@\r, rin=\E&r%p1%dU, use=hp+pfk+cr,
++ is2=\E&j@\r, rin=\E&r%p1%dU, use=hp+pfk-cr,
+ use=hp+labels, use=scrhp,
+
+ # This entry is for sysline. It allocates a 23 line window with
+@@ -6384,7 +6686,7 @@
+ hp2622|hp2622a|hp 2622,
+ da, db,
+ lm#0, pb#19200,
+- is2=\E&dj@\r, use=hp+pfk+cr, use=hp+labels, use=scrhp,
++ is2=\E&dj@\r, use=hp+pfk-cr, use=hp+labels, use=scrhp,
+
+ # The 2623 is a 2622 with extra graphics hardware.
+ hp2623|hp2623a|hp 2623,
+@@ -7088,6 +7390,9 @@
+ # What seems to be going on here is that this entry was designed so that
+ # the normal highlight is bold and standout is dim plus something else
+ # (reverse-video maybe? But then, are there two <rev> sequences?)
++#
++# Added kdch1, kil1, kdl1 based on screenshot -TD:
++# http://www.vintagecomputer.net/qume/qvt-108/qume_qvt-108_keyboard.jpg
+ qvt101+|qvt101p|qume qvt 101 PLUS product,
+ am, bw, hs, ul,
+ cols#80, lines#24, xmc#0,
+@@ -7096,11 +7401,11 @@
+ dch1=\EW, dl1=\ER, dsl=\Eg\Ef\r, ed=\EY, el=\ET,
+ flash=\Eb$<200>\Ed, fsl=^M, home=^^, ht=^I, hts=\E1,
+ ich1=\EQ, il1=\EE, ind=^J, invis@, kbs=^H, kcbt=\EI, kcub1=^H,
+- kcud1=^J, kcuf1=^L, kcuu1=^K, kdl1=\ER, ked=\EY, kel=\ET,
+- kf1=^A@\r, kf10=^AI\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r,
+- kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r,
+- khome=^^, kich1=\EQ, kil1=\EE, mc4=\EA, mc5=\E@, rmso=\E(,
+- smso=\E0P\E), tbc=\E3, tsl=\Eg\Ef, use=adm+sgr,
++ kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY,
++ kel=\ET, kf1=^A@\r, kf10=^AI\r, kf2=^AA\r, kf3=^AB\r,
++ kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r,
++ kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, mc4=\EA, mc5=\E@,
++ rmso=\E(, smso=\E0P\E), tbc=\E3, tsl=\Eg\Ef, use=adm+sgr,
+ qvt102|qume qvt 102,
+ cnorm=\E., use=qvt101,
+ # (qvt103: added <rmam>/<smam> based on init string -- esr)
+@@ -8212,8 +8517,8 @@
+ rmxon=^N, rs1=\EC\EDF\E[0;0v\E[8;1v\E[=65l,
+ rs2=\E.b\E[10;20v\E[14;1v\E[3;0v\E[7;0v\E[=11.h\E[=12.h\E[=13.h\E[=14.h\E[=15l\E[=20h\E[=60l\E[=61h\E[=9l\E[=10l\E[=21l\E[=23l\E[=3l\E_40\E_50\En\Ew\Ee \Ex0\0\0\Ex1\0\0\Ex2\0\0\Ex3\0\0\Ex4\0\0\E1,
+ rs3=\E[=19h\E.3\E9\E0O\0\0\0\0\0\E0o\0\0\0\0\0\E0J\177\0\0\0\0,
+- sgr=\EG0%?%p1%t\EGt%;%?%p2%t\EG8%;%?%p3%t\EG4%;%?%p4%t\EG2%;%?%p5%t\EGp%;%?%p6%t\EG\,%;%?%p7%t\EG1%;%?%p9%t\E$%e\E%%%;,
+- sgr0=\EG0, smacs=\E$, smam=\E=7h, smcup=\E.2, smdc=\Er,
++ sgr=\EG0%?%p1%t\EGt%;%?%p2%t\EG8%;%?%p3%t\EG4%;%?%p4%t\EG2%;%?%p5%t\EGp%;%?%p6%t\EG\,%;%?%p7%t\EG1%;%?%p8%t\E&%;%?%p9%t\E$%e\E%%%;,
++ sgr0=\EG0\E%, smacs=\E$, smam=\E=7h, smcup=\E.2, smdc=\Er,
+ smir=\Eq, smln=\E[4;2v, smso=\EGt, smul=\EG8, smxon=^O,
+ tbc=\E3, tsl=\E[4;1v\E_30, uc=\EG8\EG0,
+
+@@ -9726,7 +10031,7 @@
+ flash=\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l,
+ fsl=\E[0$}, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH,
+ ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J,
+- is2=\E>\E F\E[?1l\E[?7h\E[r\E[2$~, kbs=^H, kcub1=\EOD,
++ is2=\E>\E F\E[?1h\E[?7h\E[r\E[2$~, kbs=^H, kcub1=\EOD,
+ kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdl1=\E[3~, kf0=\E[21~,
+ kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
+ kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kich1=\E[2~, knp=\E[6~,
+@@ -9980,7 +10285,7 @@
+ pln=\E[%p1%d;00q%p2%:-16s, rc=\E8, rev=\E[7m, ri=\EM,
+ rmacs=^O, rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y,
+ sc=\E7,
+- sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
++ sgr=\E[0%?%p1%p5%|%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smacs=^N, smso=\E[7m, smul=\E[4m,
+ tsl=\E7\E[25;%p1%{1}%+%dH,
+
+@@ -10078,7 +10383,7 @@
+ pln=\E[%p1%d;0;0;0q%p2%:-16.16s, prot=\EV,
+ rin=\E[%p1%dF, rmam=\E[?7l, rmir=\E[4l,
+ rmkx=\E[19;0j\E[21;1j\212, rmln=\E|,
+- sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
++ sgr=\E[0%?%p1%p5%|%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p8%t\EV%;%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smam=\E[?7h, smir=\E[4h,
+ smkx=\E[19;1j\E[21;4j\Eent, smln=\E~, tbc=\E[3g,
+ tsl=\E7\E[25;%p1%{8}%+%dH, vpa=\E[%p1%{1}%+%dd,
+@@ -10284,7 +10589,7 @@
+ rev=\E[7m, ri=\EM, rin=\E[%p1%dF, rmacs=^O, rmam=\E[?7l,
+ rmir=\E[4l, rmkx=\E[21;0j\E[25;1j\212, rmln=\E|,
+ rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y, sc=\E7,
+- sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
++ sgr=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p8%t\EV%;%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+ smkx=\E[21;1j\E[25;4j\Eent\E~, smln=\E~, smso=\E[7m,
+ smul=\E[4m, tbc=\E[3g, tsl=\E7\E[25;%p1%{8}%+%dH,
+@@ -10681,7 +10986,7 @@
+ ri=\EM, rin=\E[%p1%dT, rmacs=\E(B\017, rmam=\E[?7l,
+ rmir=\E[4l, rmln=\E[2p, rmso=\E[m, rmul=\E[m,
+ rs2=\Ec\E[?3l, sc=\E7,
+- sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
++ sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\E)0\016%e\E(B\017%;,
+ sgr0=\E[m\E(B\017, smacs=\E)0\016, smam=\E[?7h,
+ smir=\E[4h, smln=\E[p, smso=\E[7m, smul=\E[4m,
+ tsl=\E7\E[25;%i%p1%dx,
+@@ -10741,7 +11046,7 @@
+ mc5=\E[?5i, nel=^M^J, pfx=\E[%p1%d;%p2%l%dq%p2%s, rc=\E8,
+ rev=\E[7m, ri=\EM, rin=\E[%p1%dT, rmir=\E[4l, rmso=\E[m,
+ rmul=\E[m, rs2=\Ec, sc=\E7,
+- sgr=\E[0%?%p2%t;4%;%?%p1%p3%|%p4%|%p5%|%t;7%;m,
++ sgr=\E[0%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%p4%|%t;7%;m,
+ sgr0=\E[m, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+ att630-24|5630-24|5630DMD-24|630MTG-24|AT&T 630 windowing terminal 24 lines,
+ lines#24, use=att630,
+@@ -11391,7 +11696,7 @@
+ rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m,
+ rmkx=\EP`>y~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\E\\,
+ rmm=\E[>52l, rmso=\E[m, rmul=\E[m, sc=\E7,
+- sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m,
++ sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m,
+ sgr0=\E[m,
+ smkx=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\,
+ smm=\E[>52h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+@@ -11401,13 +11706,13 @@
+ blink=\E[5;7m, bold=\E[1;7m, invis=\E[7;8m,
+ is1=\E[7m\E7\E[H\E9\E8, rev=\E[m, rmso=\E[7m, rmul=\E[7m,
+ rs1=\E[H\E[7m\E[J$<156>,
+- sgr=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m,
++ sgr=\E[%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p1%p2%|%p3%!%t7;%;%?%p7%t8;%;m\016,
+ sgr0=\E[7m\016, smso=\E[m, smul=\E[4;7m,
+ # Ambassador with the DEC option, for partial vt100 compatibility.
+ aaa+dec|ann arbor ambassador in dec vt100 mode,
+ acsc=aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}},
+ csr=\E[%i%p1%d;%p2%dr, enacs=\E(0, rmacs=^N,
+- sgr=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m%?%p9%t\017%e\016%;,
++ sgr=\E[%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p1%p3%|%!%t7;%;%?%p7%t8;%;m%?%p9%t\017%e\016%;,
+ smacs=^O,
+ aaa-18|ann arbor ambassador/18 lines,
+ lines#18,
+@@ -11574,7 +11879,7 @@
+ blink=\E[5;7m, bold=\E[1;7m, home=\E[H, invis=\E[7;8m,
+ is1=\E[7m\E7\E[H\E9\E8, rev=\E[m, rmso=\E[7m, rmul=\E[7m,
+ rs1=\E[H\E[7m\E[J,
+- sgr=\E[%?%p1%!%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m,
++ sgr=\E[%?%p6%t1;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p1%!%t7;%;%?%p7%t8;%;m,
+ sgr0=\E[7m, smso=\E[m, smul=\E[4;7m,
+
+ #### Applied Digital Data Systems (adds)
+@@ -12416,7 +12721,7 @@
+ # and mc5= should use the \E[?4i and \E[?5i strings instead).
+
+ hds200|Human Designed Systems HDS200,
+- am, bw, eslok, hs, km, mc5i, mir, msgr, xenl, xon,
++ am, bw, eslok, hs, km, mir, msgr, xenl, xon,
+ cols#80, it#8, lines#24, lm#0,
+ acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
+ blink=\E[0;5m, bold=\E[0;1m, cbt=\E[Z, civis=\E[6+{,
+@@ -12445,13 +12750,12 @@
+ kf51=^\051\r, kf52=^\052\r, kf53=^\053\r, kf6=^\006\r,
+ kf7=^\007\r, kf8=^\008\r, kf9=^\009\r, khome=\E[H,
+ kind=\E[T, knp=\E[U, kpp=\E[V, kri=\E[S, ll=\E[H\E[A,
+- mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=\E[E, rc=\E8,
+- rev=\E[0;7m, ri=\EM, rmacs=^O, rmir=\E[4l, rmso=\E[m\017,
+- rmul=\E[m\017, sc=\E7,
++ nel=\E[E, rc=\E8, rev=\E[0;7m, ri=\EM, rmacs=^O, rmir=\E[4l,
++ rmso=\E[m\017, rmul=\E[m\017, sc=\E7,
+ sgr=\E[0%?%p1%p6%O%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%O%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smacs=^N, smir=\E[4h, smso=\E[0;1;7m,
+ smul=\E[0;4m, tbc=\E[3g, tsl=\E[2!w\E[%i%p1%dG,
+- vpa=\E[%i%p1%dd,
++ vpa=\E[%i%p1%dd, use=ansi+pp,
+
+ # <ht> through <el> included to specify padding needed in raw mode.
+ # (avt-ns: added empty <acsc> to suppress a tic warning --esr)
+@@ -12478,10 +12782,11 @@
+ ri=\EM$<4>, rmacs=\016$<1>, rmcup=\E[w\E2\r\n,
+ rmir=\E[4l, rmkx=\E[!z\E[0;2u, rmso=\E[7!{, rmul=\E[4!{,
+ sc=\E7,
+- sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m,
+- sgr0=\E[m, smacs=\017$<1>, smcup=\E[=4l\E[1;24w\E2\r,
+- smir=\E[4h, smkx=\E[1!z\E[0;3u, smso=\E[7m, smul=\E[4m,
+- tbc=\E[3g, vpa=\E[%p1%{1}%+%dd,
++ sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;%?%p8%t99;%;m%?%p5%t\E[1!{%;%?%p9%t\017%e\016%;$<1>,
++ sgr0=\E[m\016$<1>, smacs=\017$<1>,
++ smcup=\E[=4l\E[1;24w\E2\r, smir=\E[4h,
++ smkx=\E[1!z\E[0;3u, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
++ vpa=\E[%p1%{1}%+%dd,
+ avt-rv-ns|concept avt in reverse video mode/no status line,
+ flash=\E[=205l$<200>\E[=205h, is1=\E[=103l\E[=205h,
+ use=avt-ns,
+@@ -12763,7 +13068,6 @@
+ # backspace on all terminals. This is not so in DG mode.
+ # (dg460-ansi: removed obsolete ":kn#6:"; also removed ":mu=\EW:", on the
+ # grounds that there is no matching ":ml:"
+-# fixed garbled ":k9=\E[00\:z:" capability -- esr)
+ dg460-ansi|Data General Dasher 460 in ANSI-mode,
+ OTbs, am, msgr, ul,
+ cols#80, it#8, lines#24,
+@@ -12774,10 +13078,12 @@
+ kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+ kf0=\E[001z, kf1=\E[002z, kf2=\E[003z, kf3=\E[004z,
+ kf4=\E[005z, kf5=\E[006z, kf6=\E[007z, kf7=\E[008z,
+- kf8=\E[009z, kf9=\E[010z, khome=\E[H, lf0=f1, lf1=f2, lf2=f3,
+- lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf9=f10, rev=\E[7m,
+- ri=\E[T, rmso=\E[m, rmul=\E[05, sgr0=\E[m, smso=\E[7m,
+- smul=\E[4m,
++ kf8=\E[009z, kf9=\E[00\:z, khome=\E[H, lf0=f1, lf1=f2,
++ lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf9=f10,
++ mc0=\E[i, rev=\E[7m, ri=\E[T, rmso=\E[m, rmul=\E[05,
++ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m,
++ sgr0=\E(B\E[m, smso=\E[7m, smul=\E[4m, u6=\E[%d;%dR,
++ u7=\E[6n, u8=\E[5n, u9=\E[0n,
+ # From: Wayne Throop <mcnc!rti-sel!rtp47!throopw> (not official)
+ # Data General 605x
+ # Ought to work for a Model 6242, Type D210 as well as a 605x.
+@@ -12824,7 +13130,7 @@
+ cuu=\E[%p1%dA, cuu1=\E[A, dim=\E[2m, ed=\E[J, el=\E[K,
+ el1=\E[1K, home=\E[H, ind=^J, is1=\E[<0;<1;<4l,
+ ll=\E[H\E[A, nel=^J, rev=\E[7m, rmso=\E[m, rmul=\E[m,
+- sgr=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m,
++ sgr=\E[%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;%?%p1%p3%|%p6%|%t7;%;m,
+ sgr0=\E[m, smso=\E[2;7m, smul=\E[4m, use=dgkeys+7b,
+
+ # DASHER D210 series terminals in DG mode.
+@@ -13026,7 +13332,7 @@
+ is2=\E[3;2;2;1;1;1v\E(B\E)4\017, mc4=\E[4i, mc5=\E[5i,
+ ri=\EM, rmacs=\E)4\017, rs1=\Ec\E[<2h,
+ rs2=\E[4;0;2;1;1;1v\E(B\E)4,
+- sgr=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m\E)%?%p9%t6\016%e4\017%;,
++ sgr=\E[%?%p1%t2;7%;%?%p3%t7;%;%?%p4%t5;%;%?%p2%t4;%;%?%p1%p5%|%t2;%;%?%p6%t4;7;%;m\E)%?%p9%t6\016%e4\017%;,
+ sgr0=\E[m\E)4\017, smacs=\E)6\016, use=d211,
+
+ # Initialization string 2 sets:
+@@ -13196,12 +13502,12 @@
+ #
+ d470c|d470|Data General DASHER D470C,
+ is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h,
+- sgr=\E[%?%p1%p3%|%p6%|%t7;%{1}%e%{0}%;%PR%?%p4%t5;%{1}%e%{0}%;%PB%?%p2%p6%|%t4;%{1}%e%{0}%;%PU%?%p1%p5%|%t2;%{1}%e%{0}%;%PDm\E)%?%p9%t6\016%e4\017%;,
++ sgr=\E[%?%p3%t7;%;%?%p4%t5;%;%?%p2%t4;%;%?%p6%t4;7;%;%?%p1%t2;7;%;%?%p5%t2;%;m\E)%?%p9%t6\016%e4\017%;,
+ use=dg+color, use=d460,
+
+ d470c-7b|d470-7b|Data General DASHER D470C in 7 bit mode,
+ is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h,
+- sgr=\E[%?%p1%p3%|%p6%|%t7;%{1}%e%{0}%;%PR%?%p4%t5;%{1}%e%{0}%;%PB%?%p2%p6%|%t4;%{1}%e%{0}%;%PU%?%p1%p5%|%t2;%{1}%e%{0}%;%PDm%?%p9%t\016%e\017%;,
++ sgr=\E[%?%p3%t7;%;%?%p4%t5;%;%?%p2%t4;%;%?%p6%t4;7;%;%?%p1%t2;7;%;%?%p5%t2;%;m%?%p9%t\016%e\017%;,
+ use=dg+color, use=d460-7b,
+
+ # Initialization string 2 sets:
+@@ -13757,7 +14063,7 @@
+ sb2|sb3|fixed superbee,
+ xsb@, use=superbee,
+
+-#### Beehive Medical Electronics
++#### Beehive Medical Electronics
+ #
+ # Steve Seymour <srseymour@mindspring.com> writes (Wed, 03 Feb 1999):
+ # Regarding your question though; Beehive terminals weren't made by Harris.
+@@ -14224,6 +14530,8 @@
+ sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;,
+ sgr0=\E[0m, smacs=\E(0, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+ tbc=\E[3g,
++# "Megapel" refers to the display adapter, which was used with the IBM RT
++# aka IBM 6150.
+ ibm5081|hft|IBM Megapel Color display,
+ acsc=jjkkllmmnnqqttuuvvwwxx, blink@, bold@, s0ds=\E(B,
+ s1ds=\E(0, sgr0=\E[0m\E(B, use=ibm5154,
+@@ -14578,7 +14886,7 @@
+ is1=\EC\E.3\EDF\EV1\Eg\E[0ZZ, nel=^_, rev=\E[4ZZ,
+ rmir=\Er, rmso=\E[%gh%{4}%^%Ph%gh%dZZ,
+ rmul=\E[%gh%{8}%^%Ph%gh%dZZ, rs2=\Eo1,
+- sgr=\E[%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;ZZ,
++ sgr=\E[%'0'%?%p1%t%'8'%|%;%?%p2%t%'8'%|%;%?%p3%t%'4'%|%;%?%p4%t%'2'%|%;%?%p7%t%'1'%|%;%cZZ,
+ sgr0=\E[0ZZ, smir=\Eq, smso=\E[8ZZ, smul=\E[8ZZ, tbc=\E3,
+ icl6404-w|kds7372-w|ICL 6404 aka Kokusai Display Systems 7372 132 cols,
+ rs2=\Eo1, use=icl6404,
+@@ -14895,7 +15203,7 @@
+ # (esr: commented out <smacs>/<rmacs> because there's no <acsc>)
+ #
+ prism9|p9|P9|MDC Prism-9 in ANSII mode,
+- am, bw, hs, mc5i, msgr, xenl, xon,
++ am, bw, hs, msgr, xenl, xon,
+ cols#80, it#8, lines#24, vt#3, wsl#72,
+ bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[<4l,
+ clear=^L, cnorm=\E[<4h, cr=^M, csr=\E[%i%p1%d;%p2%d%%v,
+@@ -14911,14 +15219,15 @@
+ kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+ kf18=\E[32~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~,
+ kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+- khome=\E[H, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=^M^J,
+- prot=\E[32%{, rc=\E[%z, rep=\E[%p2%db%p1%c, rev=\E[7m,
+- ri=\E[L, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
++ khome=\E[H, nel=^M^J, prot=\E[32%{, rc=\E[%z,
++ rep=\E[%p2%db%p1%c, rev=\E[7m, ri=\E[L, rmir=\E[4l,
++ rmso=\E[27m, rmul=\E[24m,
+ rs2=\E[&p\E[<12l\E F\E[3g\E[9;17;25;33;41;49;57;65;73 N,
+ sc=\E[%y,
+- sgr=\E[%{0}%?%p1%p3%|%t%{7}%+%;%?%p2%t%{2}%+%;%?%p4%t%{5}%+%;%?%p6%t%{1}%+%;m%?%p8%t\E[%{32}%+%d%%{%;%?%p9%t\016%e\017%;,
++ sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;m%?%p8%t\E[32%%{%;%?%p9%t\016%e\017%;,
+ sgr0=\E[0m\017, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+ tbc=\E[3g, tsl=\E[%i%p1%d%%}, vpa=\E[%i%p1%dd,
++ use=ansi+pp,
+
+ # p9-w: Prism-9 in 132 column mode
+ # --------------------------------
+@@ -15282,7 +15591,7 @@
+ rmkx=\E[?1l\E>, rmso=\E[0m, rmul=\E[0m,
+ rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+ sc=\E7,
+- sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>,
++ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>,
+ sgr0=\E[0m\017$<20>, smacs=^N, smir=\E[4h,
+ smkx=\E[?1h\E=, smso=\E[1;7m, smul=\E[4m, tbc=\E[3g,
+ tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, use=vt220+keypad,
+@@ -15339,7 +15648,7 @@
+ rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
+ rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+ sc=\E7,
+- sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>,
++ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>,
+ sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h,
+ smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+ tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>,
+@@ -15395,7 +15704,7 @@
+ rmul=\E[24m,
+ rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+ sc=\E7,
+- sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>,
++ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>,
+ sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h,
+ smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+ tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>,
+@@ -15785,7 +16094,7 @@
+ # Manufactured in the early/mid eighties, behaves almost the same as a
+ # Televideo 950. Take a 950, change its cabinet for a more 80s-ish one (but
+ # keep the same keyboard layout), add an optional 25-line mode, replace the DIP
+-# switches with a menu and remove the "lock line" feature (ESC ! 1 and ESC !
++# switches with a menu and remove the "lock line" feature (ESC ! 1 and ESC !
+ # 2), here is the NDR 9500. Even the line-lock, albeit disabled, is
+ # recognized: if you type in "ESC !", the next (third) character is not
+ # echoed, showing that the terminal was actually waiting for a parameter!
+@@ -15809,7 +16118,7 @@
+ pfloc=\E|%{48}%p1%+%c2%p2\031,
+ pfx=\E|%{48}%p1%+%c1%p2\031, prot=\E), ri=\Ej,
+ rmacs=\E%%, rmir=\Er, rmso=\E(, rmxon=^N,
+- sgr=\E%%\E(%?%p1%p5%p8%|%|%t\E)%;%?%p9%t\E$%;,
++ sgr=\EG0\E%%%%\E(%?%p1%p5%p8%|%|%t\E)%;%?%p9%t\E$%;,
+ sgr0=\EG0\E%%\E(, smacs=\E$, smir=\Eq, smso=\E), smxon=^O,
+ tbc=\E3, tsl=\Eg\Ef\011%p1%{32}%+%c, .kbs=^H,
+
+@@ -16279,7 +16588,7 @@
+ kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
+ rev=\E%!1\E[7m$<2>\E%!0, ri=\EI,
+ rmso=\E%!1\E[m$<2>\E%!0, rmul=\E%!1\E[m$<2>\E%!0,
+- sgr=\E%%!1\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>\E%%!0,
++ sgr=\E%%!1\E[%?%p1%t;7;5%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t<0%;%?%p6%t;1%;m$<2>\E%%!0,
+ sgr0=\E%!1\E[m$<2>\E%!0, smso=\E%!1\E[7;5m$<2>\E%!0,
+ smul=\E%!1\E[4m$<2>\E%!0,
+ # Tektronix 4207 with sysline. In the ancestral termcap file this was 4107-s;
+@@ -16466,9 +16775,10 @@
+ clear=\E[2J\E[H, cr=^M, cub=\E[%p1%dD, cub1=\E[D,
+ cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+- dch1=\E[1P, dim=\E[=1;<6m, dl1=\E[1M, ech=\E%p1%dX,
+- ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, home=\E[H, ht=^I,
+- ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[1L, ind=\ED,
++ dch1=\E[1P, dim=\E[=1;<6m, dl=\E[%p1%dM, dl1=\E[1M,
++ ech=\E%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
++ home=\E[H, ht=^I, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[1L,
++ ind=\ED,
+ initc=\E%%!0\ETF4%?%p1%{0}%=%t0%e%p1%{1}%=%t4%e%p1%{2}%=%t3%e%p1%{3}%=%t5%e%p1%{4}%=%t2%e%p1%{5}%=%t6%e%p1%{6}%=%t7%e1%;%?%p2%{125}%<%t0%e%p2%{250}%<%tA2%e%p2%{375}%<%tA?%e%p2%{500}%<%tC8%e%p2%{625}%<%tD4%e%p2%{750}%<%tE1%e%p2%{875}%<%tE\:%eF4%;%?%p3%{125}%<%t0%e%p3%{250}%<%tA2%e%p3%{375}%<%tA?%e%p3%{500}%<%tC8%e%p3%{625}%<%tD4%e%p3%{750}%<%tE1%e%p3%{875}%<%tE\:%eF4%;%?%p4%{125}%<%t0%e%p4%{250}%<%tA2%e%p4%{375}%<%tA?%e%p4%{500}%<%tC8%e%p4%{625}%<%tD4%e%p4%{750}%<%tE1%e%p4%{875}%<%tE\:%eF4%;\E%%!1,
+ invis=\E[=6;<5, is1=\E%!0\ETM1\E%!1\E[m, kbs=^H,
+ kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\EOA,
+@@ -16639,7 +16949,7 @@
+ kf9=\250, khome=\E[H, kich1=\E[^H, knp=\E[U, kpp=\E[V,
+ ll=\E[24;1H, nel=^M, rev=\E[7m, ri=\E[T\E[A,
+ rin=\E[%p1%dT\E[%p1%dA, rmso=\E[m, rmul=\E[m,
+- sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m,
++ sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t30;40%;m,
+ sgr0=\E[m, smso=\E[7m, smul=\E[4m,
+
+ #### Apple II
+@@ -16885,6 +17195,8 @@
+ #
+ # echo "$TERM_PROGRAM" "$TERM_PROGRAM_VERSION"
+ #
++# For Apple_Terminal v309+, use "nsterm-256color" (or "nsterm-bce")
++#
+ # For Apple_Terminal v200+, use "nsterm-16color" (a.k.a. "nsterm")
+ #
+ # For Apple_Terminal v71+/v100+, use "nsterm-bce".
+@@ -17101,6 +17413,7 @@
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smacs=^N, use=nsterm+7,
+
++# compare with xterm+sl-twm
+ nsterm+s|AppKit Terminal.app v41+ status-line (window titlebar) support,
+ hs,
+ wsl#50,
+@@ -17186,6 +17499,10 @@
+ # and it is still not settable from the preferences dialog. This is
+ # tracked under rdar://problem/7365108 and rdar://problem/7365134
+ # in Apple's bug reporter.
++#
++# In OS X 10.7 (Leopard) the TERM which can be set in the preferences dialog
++# defaults to xterm-color. Alternative selections are ansi, dtterm, rxvt,
++# vt52, vt100, vt102 and xterm.
+ nsterm-16color|AppKit Terminal.app v240.2+ with Mac OS X version 10.5,
+ bw@, mir, npc,
+ civis=\E[?25l, cnorm=\E[?25h, dch=\E[%p1%dP, dch1=\E[P,
+@@ -17197,10 +17514,10 @@
+ kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[H,
+ knp=\E[6~, kpp=\E[5~, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l,
+ smcup=\E7\E[?47h, smir=\E[4h, vpa=\E[%i%p1%dd,
+- use=nsterm-c-s-acs,
++ kLFT5=\E[5D, kRIT5=\E[5C, use=nsterm-c-s-acs,
+
+ # The versions of Terminal.app in Mac OS X version 10.3.x seem to have
+-# the background color erase bug. The newer version 240.2 in Mac OS X
++# the background color erase feature. The newer version 240.2 in Mac OS X
+ # version 10.5 does not.
+ #
+ # This entry is based on newsgroup comments by Alain Bench, Christian Ebert,
+@@ -17212,12 +17529,40 @@
+ # defaults write com.apple.Terminal TermCapString nsterm-bce
+ #
+ # and that it is not set in Terminal's preferences dialog.
++#
++# Modified for OS X 10.8, omitting bw based on testing with tack -TD
++#
++# Notes:
++# * The terminal description matches the default settings.
++# * The keyboard is configurable via a dialog.
++# * By default khome, kend, knext and kprev are honored only with a
++# shift-modifier.
++# * There are bindings for control left/right arrow (but not up/down).
++# Added those to nsterm-16color, which is the version used for OS X 10.6
++# * "Allow VT100 application keypage mode" is by default disabled.
++# There is no way to press keypad-comma unless application mode is enabled
++# and used.
++# * 132-column mode stopped working during vttest's tests. Consider it broken.
++# * CHT, REP, SU, SD are buggy.
++# * ECH works (also in Leopard), but is not used here for compatibility.
++# * The terminal preferences dialog replaces xterm-color by xterm-16color and
++# xterm-256color. However, it adds "nsterm", so it is possible to use the
++# nsterm entry from this file to override the MacPorts (20110404) or
++# system (20081102) copy of this file.
+ nsterm-bce|AppKit Terminal.app v71+/v100.1.8+ with Mac OS X version 10.3/10.4 (bce),
+- bce, bw, use=nsterm-16color,
++ bce, use=nsterm-16color,
++
++# This is tested with OS X 10.8 (Mountain Lion), 2012/08/11
++# TERM_PROGRAM_VERSION=309
++# Earlier reports state that these differences also apply to OS X 10.7 (Lion),
++# TERM_PROGRAM_VERSION=303
++nsterm-256color|Terminal.app in OS X 10.8,
++ ccc@,
++ initc@, use=xterm+256color, use=nsterm-bce,
+
+ # This is an alias which should always point to the "current" version
+ nsterm|Apple_Terminal|AppKit Terminal.app,
+- use=nsterm-16color,
++ use=nsterm-256color,
+
+ # iTerm.app from http://iterm.sourceforge.net/ is an alternative (and
+ # more featureful) terminal emulator for Mac OS X. It is similar
+@@ -17752,6 +18097,23 @@
+ # See
+ # http://www.minix3.org/manpages/man4/console.4.html
+ minix|minix console (v3),
++ acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
++ kdch1=\177, kend=\E[Y, kf0=\E[21~, kf1=\E[11~, kf10=\E[21~,
++ kf11=\E[11;2~, kf12=\E[12;2~, kf13=\E[13;2~,
++ kf14=\E[14;2~, kf15=\E[15;2~, kf16=\E[17;2~,
++ kf17=\E[18;2~, kf18=\E[19;2~, kf19=\E[20;2~, kf2=\E[12~,
++ kf20=\E[21;2~, kf21=\E[11;5~, kf22=\E[12;5~,
++ kf23=\E[13;5~, kf24=\E[14;5~, kf25=\E[15;5~,
++ kf26=\E[17;5~, kf27=\E[18;5~, kf28=\E[19;5~,
++ kf29=\E[20;5~, kf3=\E[13~, kf30=\E[21;5~, kf31=\E[11;6~,
++ kf32=\E[12;6~, kf33=\E[13;6~, kf34=\E[14;6~,
++ kf35=\E[15;6~, kf36=\E[17;6~, kf37=\E[18;6~,
++ kf38=\E[19;6~, kf39=\E[20;6~, kf4=\E[14~, kf40=\E[21;6~,
++ kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
++ kich1=\E[@, knp=\E[U, kpp=\E[V, lf0@, lf1@, lf2@, lf3@, lf4@, lf5@,
++ use=minix-3.0,
++
++minix-3.0|minix console (v3.0),
+ use=ecma+color, use=minix-1.7,
+
+ # See
+@@ -17792,7 +18154,7 @@
+ am, use=minix-old,
+
+ pc-minix|minix console on an Intel box,
+- use=klone+acs, use=minix,
++ use=klone+acs, use=minix-3.0,
+
+ # According to the Coherent 2.3 manual, the PC console is similar
+ # to a z19. The differences seem to be (1) 25 lines, (2) no status
+@@ -18195,6 +18557,7 @@
+ use=tws-generic,
+ dku7202|BULL Questar 200 DKU7202 (colour/character attributes),
+ blink=\E[0;2;4m, dim=\E[0;5m, ht=^I, is3=\E[?3h\Eb,
++ sgr=\E[0%?%p1%t;2;4;5;7%;%?%p3%t;7%;%?%p2%t;2%;%?%p4%t;2;4%;%?%p5%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+ smso=\E[0;4;5;7m, smul=\E[0;2m, use=tws-generic,
+
+ #=========================================================#
+@@ -18274,7 +18637,7 @@
+
+ # This entry covers BQ303, BQ306, BQ310, Q303, Q306, Q310
+ bq300|Bull vt320 ISO Latin 1 80 columns terminal,
+- am, eo, eslok, hs, km, mc5i, mir, msgr, xenl, xon,
++ am, eo, eslok, hs, km, mir, msgr, xenl, xon,
+ cols#80, it#8, lines#24, vt#3, wsl#80,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+@@ -18298,14 +18661,14 @@
+ kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
+ khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+ krdo=\E[29~, kslt=\E[4~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4,
+- mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m,
+- ri=\EM, rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?7h, rmir=\E[4l,
+- rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, rs1=\E[!p,
+- rs2=\E[?3l, s0ds=\E(B, s1ds=\E(0, sc=\E7,
++ nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B, rmam=\E[?7l,
++ rmcup=\E[?7h, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
++ rmul=\E[24m, rs1=\E[!p, rs2=\E[?3l, s0ds=\E(B, s1ds=\E(0,
++ sc=\E7,
+ sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;,
+ sgr0=\E[0m\E(B, smacs=\E(0, smam=\E[?7h,
+ smcup=\E[?7l\E[?1l\E(B, smir=\E[4h, smso=\E[7m,
+- smul=\E[4m, tbc=\E[3g, tsl=\E[1$}\E[2$~,
++ smul=\E[4m, tbc=\E[3g, tsl=\E[1$}\E[2$~, use=ansi+pp,
+ bq300-rv|Bull vt320 reverse 80 columns,
+ flash=\E[?5l$<50>\E[?5h,
+ is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l,
+@@ -18383,12 +18746,12 @@
+ csr=\233%i%p1%d;%p2%dr, cub=\233%p1%dD, cub1=\2331D,
+ cud=\233%p1%dB, cud1=\2331B, cuf=\233%p1%dC, cuf1=\2331C,
+ cup=\233%i%p1%d;%p2%dH, cuu=\233%p1%dA, cuu1=\2331A,
+- dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM,
++ dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, dl1=\233M,
+ dsl=\2331$}\2332$~\n\2330$}, ech=\233%p1%dX, ed=\233J,
+ el=\233K, el1=\2331K, enacs=\E(B\E)0,
+ flash=\233?5h$<50>\233?5l, fsl=\2330$}, home=\233H,
+- ht=^I, hts=\EH, ich=\233%p1%d@, il=\233%p1%dL, ind=\ED,
+- is1=\E[63;2"p\E[2h,
++ ht=^I, hts=\EH, ich=\233%p1%d@, il=\233%p1%dL, il1=\233L,
++ ind=\ED, is1=\E[63;2"p\E[2h,
+ is2=\E[?2h\E[?3l\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l,
+ is3=\2330$}\233?25h\2332l\233H\233J, ka1=\217w,
+ ka3=\217y, kb2=\217u, kbs=^H, kc1=\217q, kc3=\217s,
+@@ -18401,11 +18764,12 @@
+ khlp=\23328~, kich1=\2332~, knp=\2336~, kpp=\2335~,
+ krdo=\23329~, kslt=\2334~, lf1=pf1, lf2=pf2, lf3=pf3,
+ lf4=pf4, mc0=\233i, mc4=\2334i, mc5=\2335i, nel=\EE, rc=\E8,
+- rev=\2337m, ri=\EM, rmacs=^O, rmam=\233?7l, rmcup=\233?7h,
+- rmir=\2334l, rmkx=\233?1l\E>, rmso=\23327m, rmul=\23324m,
+- rs1=\E[!p, rs2=\E[?3l, s0ds=\E(B, s1ds=\E(0, sc=\E7,
++ rev=\2337m, ri=\EM, rmacs=\E(B, rmam=\233?7l,
++ rmcup=\233?7h, rmir=\2334l, rmkx=\233?1l\E>,
++ rmso=\23327m, rmul=\23324m, rs1=\E[!p, rs2=\E[?3l,
++ s0ds=\E(B, s1ds=\E(0, sc=\E7,
+ sgr=\233%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;,
+- sgr0=\2330m\E(B, smacs=^N, smam=\233?7h,
++ sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h,
+ smcup=\233?7l\233?1l\E(B, smir=\2334h, smso=\2337m,
+ smul=\2334m, tbc=\2333g, tsl=\2331$}\2332$~,
+ bq300-8rv|Bull vt320 8-bit reverse mode 80 columns,
+@@ -19010,14 +19374,14 @@
+ cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
+ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+ dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, dl=\E[%p1%dM,
+- dsl=\E[>1l, ed=\E[J, el=\E[K, fsl=\E[u\E[>5l, home=\E[H,
+- ht=^I, hts=\EH, if=/usr/share/tabset/vt100, il=\E[%p1%dL,
+- ind=\ED, kbs=^H, kclr=\E[J, kcub1=\EOD, kcud1=\EOB,
+- kcuf1=\EOC, kcuu1=\EOA, ked=\E[J, kf0=\E[~, kf1=\EOS,
+- kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP, kf7=\EOQ,
+- kf8=\EOR, kf9=\EOX, khome=\E[H, lf0=help, mc0=\E#7,
+- nel=^M\ED, rc=\E[r, rev=\E[7m, ri=\EM, rmcup=\E[?7h,
+- rmso=\E[m, rmul=\E[m,
++ dl1=\E[M, dsl=\E[>1l, ed=\E[J, el=\E[K, fsl=\E[u\E[>5l,
++ home=\E[H, ht=^I, hts=\EH, if=/usr/share/tabset/vt100,
++ il=\E[%p1%dL, il1=\E[L, ind=\ED, kbs=^H, kclr=\E[J,
++ kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, ked=\E[J,
++ kf0=\E[~, kf1=\EOS, kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW,
++ kf6=\EOP, kf7=\EOQ, kf8=\EOR, kf9=\EOX, khome=\E[H, lf0=help,
++ mc0=\E#7, nel=^M\ED, rc=\E[r, rev=\E[7m, ri=\EM,
++ rmcup=\E[?7h, rmso=\E[m, rmul=\E[m,
+ rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>4h\E[>1;2;3;5;6;7;8;9l\E[m\E[11m,
+ sc=\E[s, sgr0=\E[m, smcup=\E[?7l, smso=\E[7;2m, smul=\E[4m,
+ tbc=\E[3g, tsl=\E[s\E[>5;1h\E[25;%i%dH\E[1K,
+@@ -20217,9 +20581,9 @@
+ sgr0=\EX, smacs=\EF, smso=\ET,
+ env230|envision230|envision 230 graphics terminal,
+ xenl@,
+- mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
+- sgr=\E[%?%p1%t;1%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>,
+- use=vt100,
++ enacs@, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rmacs@,
++ sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>,
++ sgr0=\E[0m$<2>, smacs@, use=vt100,
+ # These execuports were impact-printer ttys with a 30- or maybe 15-cps acoustic
+ # coupler attached, the whole rig fitting in a suitcase and more or less
+ # portable. Hot stuff for c.1977 :-) -- esr
+@@ -20274,7 +20638,7 @@
+ rmacs=\EH^C, rmam=\Ed., rmcup=, rmir=\Er, rmln=\EA11,
+ rmxon=\Ec20, rs1=\E~!\E~4$<150>, rs2=\EeF$<150>,
+ rs3=\EwG\Ee($<150>,
+- sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;\EG%{48}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c,
++ sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c,
+ sgr0=\E(\EH\003\EG0\EcD, smacs=\EH^B, smam=\Ed/,
+ smcup=\Ezz&\E[A\177\Ezz'\E[B\177\Ezz(\E[D\177\Ezz)\E[C\177\Ezz<\E[Q\177,
+ smir=\Eq, smln=\EA10, smxon=\Ec21, tbc=\E0, tsl=\Ez(,
+@@ -20881,7 +21245,7 @@
+ # assigned in System V terminfo. There are some variant extension sets out
+ # there. We try to describe them here.
+ #
+-# XENIX extensions:
++#### XENIX extensions:
+ #
+ # The XENIX extensions include a set of function-key capabilities as follows:
+ #
+@@ -20946,7 +21310,7 @@
+ # When translating a termcap file, ncurses tic will do this automatically.
+ # The double forms characters don't fit the SVr4 terminfo model.
+ #
+-# AT&T Extensions:
++#### AT&T Extensions:
+ #
+ # The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of
+ # nonstandard capabilities. Its signature is the KM capability, used to name
+@@ -20957,7 +21321,7 @@
+ # FL=:LO: (enable soft labels), FE=:LF: (disable soft labels), CI=:vi: (make
+ # cursor invisible), and CV=:ve: (make cursor normal).
+ #
+-# HP Extensions
++#### HP Extensions
+ #
+ # The HP library (as of mid-1995, their term.h file version 70.1) appears to
+ # have the System V capabilities up to SVr1 level. After that, it supports
+@@ -20966,7 +21330,7 @@
+ # label_off, and key_f11..key_f63 capabilities like SVr4's. This makes the
+ # HP binary format incompatible with SVr4's.
+ #
+-# IBM Extensions
++#### IBM Extensions
+ #
+ # There is a set of nonstandard terminfos used by IBM's AIX operating system.
+ # The AIX terminfo library diverged from SVr1 terminfo, and replaces all
+@@ -20994,7 +21358,7 @@
+ # The box2 characters are the double-line versions of these forms graphics.
+ # The AIX binary terminfo format is incompatible with SVr4's.
+ #
+-# Iris console extensions:
++#### Iris console extensions:
+ #
+ # HS is half-intensity start; HE is half-intensity end
+ # CT is color terminal type (for Curses & rogue)
+@@ -21003,7 +21367,7 @@
+ #
+ # The ncurses tic utility recognizes HS as an alias for mh <dim>.
+ #
+-# TC Extensions:
++#### TC Extensions:
+ #
+ # There is a set of extended termcaps associated with something
+ # called the "Terminal Control" or TC package created by MainStream Systems,
+@@ -21011,11 +21375,110 @@
+ # CF for civis and CO for cvvis. Finally, they define a boolean :ct:
+ # that flags color terminals.
+ #
++######## NCURSES USER-DEFINABLE CAPABILITIES
++#
++# Extensions added after ncurses 5.0 generally use the "-x" option of tic and
++# infocmp to manipulate user-definable capabilities. Those that are intended
++# for use in either terminfo or termcap use 2-character names. Extended
++# function keys do not use 2-character names, and are available only with
++# terminfo.
++#
++# As of mid-2012, no other terminfo/termcap implementation than ncurses
++# supports this extension; termcap libraries can as noted above make limited
++# use of the feature.
++#
++# ncurses makes explicit checks for a few user-definable capabilities: AX, U8,
++# XM.
++#
++#### SCREEN Extensions:
++#
++# The screen program uses the termcap interface. It recognizes a few useful
++# nonstandard capabilities. Those are used in this file.
++#
++# AX (bool) Does understand ANSI set default fg/bg color (\E[39m /
++# \E[49m).
++# G0 (bool) Terminal can deal with ISO 2022 font selection sequences.
++# E0 (str) Switch charset 'G0' back to standard charset.
++# S0 (str) Switch charset 'G0' to the specified charset.
++# XT (bool) Terminal understands special xterm sequences (OSC, mouse
++# tracking).
++#
++# AX is relatively straightforward; it is interpreted by ncurses to say that
++# SGR 39/49 reset the terminal's foreground and background colors to their
++# "default".
++#
++# XT is harder, since screen's manpage does not give more details. For that,
++# we must read screen's source-code. When XT is set, screen assumes
++#
++# a) OSC 1 sets the title string, e.g., for the icon. Recent versions of
++# screen may also set the terminal's name, which is (for xterm) distinct
++# from the icon name.
++# b) OSC 20 sets the background pixmap. This is an rxvt feature.
++# c) OSC 39 and OSC 49 set the default foreground/background colors. Again
++# this is an rxvt feature.
++# d) certain mode settings enable the mouse: 9, 1000, 1001, 1002, 1003.
++# These are from xterm, although xterm accepts mouse codes that may not be
++# recognized by screen, e.g., 1005, 1006.
++# e) colors beyond 0..7 are implemented by xterm's aixterm-like 16-color
++# sequence. However, because screen uses only termcap, the values returned
++# by Af/Ab are not usable because they rely on expressions that termcap
++# does not support. Therefore, screen uses a hardcoded string to work
++# around the limitation.
++# f) all entries named "*xterm*" or "*rxvt*" have the bce flag set.
++#
++# The other ISO-2022 features are rarely used, but provided here to make
++# screen's termcap features available.
++#
++#### XTERM Extensions:
++#
++# Most of the xterm extensions are for function-keys. Since patch #94 (in
++# 1999), xterm has supported shift/control/alt/meta modifiers which produce
++# additional function-key strings. Some other developers copied the feature,
++# though they did not follow xterm's lead in patch #167 (in 2002), to make
++# these key definitions less ambiguous.
++#
++# A few terminals provide similar functionality (sending distinct keys when
++# a modifier is used), including rxvt.
++#
++# These are the extended keys defined in this file:
++#
++# kDC3 kDC4 kDC5 kDC6 kDC7 kDN kDN3 kDN4 kDN5 kDN6 kDN7 kEND3 kEND4 kEND5 kEND6
++# kEND7 kHOM3 kHOM4 kHOM5 kHOM6 kHOM7 kIC3 kIC4 kIC5 kIC6 kIC7 kLFT3 kLFT4
++# kLFT5 kLFT6 kLFT7 kNXT3 kNXT4 kNXT5 kNXT6 kNXT7 kPRV3 kPRV4 kPRV5 kPRV6 kPRV7
++# kRIT3 kRIT4 kRIT5 kRIT6 kRIT7 kUP kUP3 kUP4 kUP5 kUP6 kUP7 ka2 kb1 kb3 kc2
++#
++# Here are the other xterm-related extensions which are used in this file:
++#
++# Cr is a string capability which resets the cursor color
++# Cs is a string capability which sets the cursor color to a given value.
++# The single string parameter is the color name/number, according to the
++# implementation.
++# Ms modifies the selection/clipboard. Its parameters are
++# p1 = the storage unit (clipboard, selection or cut buffer)
++# p2 = the base64-encoded clipboard content.
++# Se resets the cursor style to the terminal power-on default.
++# Ss is a string capability with one numeric parameter. It is used to set the
++# cursor style as described by the DECSCUSR function to a block or
++# underline.
++# XM is a string capability which overrides ncurses's built-in string which
++# enables xterm mouse mode.
++#
++#### Miscellaneous extensions:
++#
++# gsbom/grbom are used to enable/disable real bold (not intensity bright) mode.
++# This was implemented for the Hurd.
++# E3 clears the terminal's scrollback buffer. This was implemented in the
++# Linux 3.0 kernel as a security feature. It matches a feature which was
++# added in xterm patch #107.
++# U8 is a numeric capability which denotes a terminal emulator which does not
++# support VT100 SI/SO when processing UTF-8 encoding. Set this to a nonzero
++# value to enable it.
++#
+ ######## CHANGE HISTORY
+ #
+ # The last /etc/termcap version maintained by John Kunze was 8.3, dated 8/5/94.
+-# Releases 9 and up are maintained by Eric S. Raymond as part of the ncurses
+-# project.
++# Releases 9 and 10 (up until the release of ncurses 4.2 in 1998) were
++# maintained by Eric S. Raymond as part of the ncurses project.
+ #
+ # This file contains all the capability information present in John Kunze's
+ # last version of the termcap master file, except as noted in the change
+@@ -21115,7 +21578,7 @@
+ # * Replaced HP entries up to hpsub with purpose-built ones.
+ # * Blank rmir/smir/rmdc/smdc capabilities removed.
+ # * Small fixes merged in from SCO entries for lpr, fos, tvi910+, tvi924.
+-# 9.4.8 (Fri Apr 7 09:36:34 EDT 199):
++# 9.4.8 (Fri Apr 7 09:36:34 EDT 1995):
+ # * Replaced the Ann Arbor entries with SCO's, the init strings are
+ # more efficient (but the entries otherwise identical).
+ # * Added dg211 from Shuford archive.
+@@ -22224,7 +22687,7 @@
+ # * add screen.rxvt -TD
+ #
+ # 2008-04-28
+-# * add screen+fkeys (prompted by Debian # 478094) -TD
++# * add screen+fkeys (prompted by Debian #478094) -TD
+ #
+ # 2008-06-28
+ # * add screen.mlterm -TD
+@@ -22280,7 +22743,7 @@
+ # 2009-12-12
+ # * updated nsterm* entries (Benjamin Sittler, Emanuele Giaquinta)
+ #
+-# 2009-12-12
++# 2009-12-19
+ # * add bw (auto-left-margin) to nsterm* entries (Benjamin Sittler)
+ # * rename minix to minix-1.7, add minix entry for Minux3 -TD
+ #
+@@ -22354,6 +22817,162 @@
+ # * add xterm-utf8 as a demo of the U8 feature -TD
+ #
+ # 2011-02-20
+-# * add cons25-debian entry (Brian M Carlson, Debina #607662).
++# * add cons25-debian entry (Brian M Carlson, Debian #607662).
++#
++# 2011-06-11
++# * update minix entry to minix 3.2 (Thomas Cort).
++#
++# 2011-07-09
++# * fix inconsistent tabset path in pcmw (Todd C. Miller).
++# * remove a backslash which continued comment, obscuring altos3
++# definition with OpenBSD toolset (Nicholas Marriott).
++#
++# 2011-07-16
++# * add/use xterm+tmux chunk from xterm #271 -TD
++# * resync xterm-new entry from xterm #271 -TD
++# * add E3 extended capability to linux-basic (Miroslav Lichvar)
++# * add linux2.2, linux2.6, linux3.0 entries to give context for E3 -TD
++# * add SI/SO change to linux2.6 entry (Debian #515609) -TD
++#
++# 2011-07-21
++# * add kich1 to sun (Yuri Pankov)
++# * use bold rather than reverse for smso in sun-color (Yuri Pankov).
++#
++# 2011-08-06
++# * corrected k9 in dg460-ansi, add other features based on manuals -TD
++#
++# 2011-08-20
++# * minor cleanup of X-terminal emulator section -TD
++# * add terminator entry -TD
++# * add simpleterm entry -TD
++#
++# 2011-09-10
++# * add xterm+kbs fragment from xterm #272 -TD
++#
++# 2011-11-12
++# * add pccon entries for OpenBSD console (Alexei Malinin)
++#
++# 2011-12-17
++# * corrected old changelog comments -TD
++#
++# 2011-11-24
++# * add putty-sco -TD
++#
++# 2012-01-28
++# * add mach-gnu (Samuel Thibault)
++# * add mach-gnu-color, tweaks to mach-gnu -TD
++# * make sgr for sun-color agree with smso -TD
++# * make sgr for prism9 agree with other caps -TD
++# * make sgr for icl6404 agree with other caps -TD
++# * make sgr for ofcons agree with other caps -TD
++# * make sgr for att5410v1, att4415, att620 agree with other caps -TD
++# * make sgr for aaa-unk, aaa-rv agree with other caps -TD
++# * make sgr for avt-ns agree with other caps -TD
++#
++# 2012-02-11
++# * make sgr for xterm-pcolor agree with other caps -TD
++# * make sgr for att5425 agree with other caps -TD
++# * make sgr for att630 agree with other caps -TD
++# * make sgr for linux entries agree with other caps -TD
++# * make sgr for tvi9065 agree with other caps -TD
++# * make sgr for ncr260vt200an agree with other caps -TD
++# * make sgr for ncr160vt100pp agree with other caps -TD
++# * make sgr for ncr260vt300an agree with other caps -TD
++# * make sgr for aaa-60-dec-rv, aaa+dec agree with other caps -TD
++# * make sgr for cygwin, cygwinDBG agree with other caps -TD
++#
++# 2012-03-31
++# * correct order of use-clauses in st-256color -TD
++#
++# 2012-04-01
++# * revert 2011-07-16 change to "linux" alias, return to "linux2.2" -TD
++#
++# 2012-04-14
++# * document all of the user-defined capabilities in one place -TD
++# * add XT to some places to improve usefulness for other applications
++# than screen, which would like to pretend that xterm's title is
++# a status-line. -TD
++# * change use-clauses in ansi-mtabs, hp2626, and hp2622 based on review
++# of ordering and overrides -TD
++#
++# 2012-04-21
++# * add msgr to vt420, similar DEC vtXXX entries -TD
++# * add several missing vt420 capabilities from vt220 -TD
++# * factor out ansi+pp from several entries -TD
++# * change xterm+sl and xterm+sl-twm to include only the status-line
++# capabilities and not "use=xterm", making them more generally useful
++# as building-blocks -TD
++# * add dec+sl building block, as example -TD
++#
++# 2012-04-28
++# * fix some inconsistencies between vt320/vt420, e.g., cnorm/civis -TD
++# * add eslok flag to dec+sl -TD
++# * dec+sl applies to vt320 and up -TD
++# * drop wsl width from xterm+sl -TD
++# * reuse xterm+sl in putty and nsca-m -TD
++# * add ansi+tabs to vt520 -TD
++# * add ansi+enq to vt220-vt520 -TD
++#
++# 2012-05-05
++# * remove p6 (bold) from opus3n1+ for consistency -TD
++# * remove acs stuff from env230 per clues in Ingres termcap -TD
++# * modify env230 sgr/sgr0 to match other capabilities -TD
++# * modify smacs/rmacs in bq300-8 to match sgr/sgr0 -TD
++# * make sgr for dku7202 agree with other caps -TD
++# * make sgr for ibmpc agree with other caps -TD
++# * make sgr for tek4107 agree with other caps -TD
++# * make sgr for ndr9500 agree with other caps -TD
++# * make sgr for sco-ansi agree with other caps -TD
++# * make sgr for d410 agree with other caps -TD
++# * make sgr for d210 agree with other caps -TD
++# * make sgr for d470c, d470c-7b agree with other caps -TD
++#
++# 2012-05-12
++# * rewrite vt520 entry based on vt420 -TD
++# * corrected 'op' for bterm (report by Samuel Thibault) -TD
++#
++# 2012-06-02
++# * add kdch1 to wsvt25 entry from NetBSD CVS (reported by David Lord,
++# analysis by Martin Husemann).
++# * add cnorm/civis to wsvt25 entry from NetBSD CVS (report/analysis by
++# Onno van der Linden).
++# * add kdch1 aka "Remove" to vt220 and vt220-8 entries -TD
++# * add kdch1, etc., to qvt108 -TD
++# * add dl1/il1 to some entries based on dl/il values -TD
++# * add dl to simpleterm -TD
++#
++# 2012-06-10
++# * modify some older xterm entries to align with xterm source -TD
++# * separate "xterm-old" alias from "xterm-r6" -TD
++#
++# 2012-07-28
++# * add E3 to xterm-basic and putty -TD
++#
++# 2012-08-11
++# * add nsterm-256color, make this the default nsterm -TD
++# * remove bw from nsterm-bce, per testing with tack -TD
++#
++# 2012-10-12
++# * add vte-2012, gnome-2012, making these the defaults for vte/gnome
++# (patch by Christian Persch).
++#
++# 2012-11-02
++# * reviewed vte-2012, reverted most of the change since it was incorrect
++# based on testing with tack -TD
++# * un-cancel the initc in vte-256color, since this was implemented
++# starting with version 0.20 in 2009 -TD
++#
++# 2013-03-16
++# * correct typo in sgr string for sun-color,
++# add bold for consistency with sgr,
++# change smso for consistency with sgr -TD
++# * correct typo in sgr string for terminator -TD
++# * add blink to the attributes masked by ncv in linux-16color (report
++# by Benjamin Sittler)
++#
++# 2013-03-23
++# * change initialization for vt220, similar entries for consistency
++# with cursor-key strings (NetBSD #47674) -TD
++# * further improvements to linux-16color (Benjamin Sittler)
+ #
+ ######## SHANTIH! SHANTIH! SHANTIH!
+Index: mk-0th.awk
+Prereq: 1.18
+--- ncurses-5.9/mk-0th.awk 2010-01-09 21:45:41.000000000 +0000
++++ ncurses-5.9-20130504/mk-0th.awk 2012-06-30 20:56:11.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: mk-0th.awk,v 1.18 2010/01/09 21:45:41 tom Exp $
++# $Id: mk-0th.awk,v 1.22 2012/06/30 20:56:11 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -34,14 +34,62 @@
+ # Variables:
+ # libname (library name, e.g., "ncurses", "panel", "forms", "menus")
+ # subsets (is used here to decide if wide-character code is used)
++# ticlib (library name for libtic, e.g., "tic")
++# termlib (library name for libtinfo, e.g., "tinfo")
+ #
++function make_lintlib(name,sources) {
++ print ""
++ print "clean ::"
++ printf "\trm -f llib-l%s.*\n", name
++ print ""
++ print "realclean ::"
++ printf "\trm -f llib-l%s\n", name
++ print ""
++ printf "llib-l%s : %s\n", name, sources
++ printf "\tcproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) %s >$@\n", sources
++ print ""
++ print "lintlib ::"
++ printf "\tsh $(srcdir)/../misc/makellib %s $(CPPFLAGS)\n", name
++ print ""
++ print "lint ::"
++ printf "\t$(LINT) $(LINT_OPTS) $(CPPFLAGS) %s $(LINT_LIBS)\n", sources
++}
++
++# A blank in "subsets" indicates a split-off of the library into a separate
++# file, e.g., for libtic or libtinfo. They are all logical parts of the same
++# library.
++function which_library() {
++ if ( ( which == "ticlib" ) && ( subsets ~ /ticlib / ) ) {
++ return ticlib;
++ } else if ( ( which == "termlib" || which == "ext_tinfo" ) && ( subsets ~ /[[:space:]]base/ ) ) {
++ return termlib;
++ } else {
++ return libname;
++ }
++}
++
++function show_list(name, len, list) {
++ if ( len > 0 ) {
++ printf "\n%s_SRC =", toupper(name);
++ for (n = 0; n < len; ++n)
++ printf " \\\n\t%s", list[n];
++ print "";
++ make_lintlib(name, sprintf("$(%s_SRC)", toupper(name)));
++ }
++}
++
+ BEGIN {
+ which = libname;
+ using = 0;
+ found = 0;
++ count_ticlib = 0;
++ count_termlib = 0;
++ count_library = 0;
+ }
+ /^@/ {
+ which = $0;
++ sub(/^@[[:blank:]]+/, "", which);
++ sub(/[[:blank:]]+$/, "", which);
+ }
+ !/^[@#]/ {
+ if (using == 0)
+@@ -50,6 +98,10 @@
+ print "# generated by mk-0th.awk"
+ printf "# libname: %s\n", libname
+ printf "# subsets: %s\n", subsets
++ if ( libname ~ /ncurses/ ) {
++ printf "# ticlib: %s\n", ticlib
++ printf "# termlib: %s\n", termlib
++ }
+ print ""
+ print ".SUFFIXES: .c .cc .h .i .ii"
+ print ".c.i :"
+@@ -80,9 +132,18 @@
+ found = 2
+ }
+ if ( libname == "c++" || libname == "c++w" ) {
+- printf " \\\n\t%s/%s.cc", $3, $1
++ srcname = sprintf("%s/%s.cc", $3, $1);
++ printf " \\\n\t%s", srcname;
+ } else if ( widechar == 1 || $3 != "$(wide)" ) {
+- printf " \\\n\t%s/%s.c", $3, $1
++ srcname = sprintf("%s/%s.c", $3, $1);
++ printf " \\\n\t%s", srcname;
++ if ( which_library() == libname ) {
++ list_library[count_library++] = srcname;
++ } else if ( which_library() == ticlib ) {
++ list_ticlib[count_ticlib++] = srcname;
++ } else {
++ list_termlib[count_termlib++] = srcname;
++ }
+ }
+ }
+ }
+@@ -91,22 +152,11 @@
+ if ( found == 1 )
+ {
+ print ""
+- printf "# Producing llib-l%s is time-consuming, so there's no direct-dependency for\n", libname
+- print "# it in the lintlib rule. We'll only remove in the cleanest setup."
+- print "clean ::"
+- printf "\trm -f llib-l%s.*\n", libname
+- print ""
+- print "realclean ::"
+- printf "\trm -f llib-l%s\n", libname
+- print ""
+- printf "llib-l%s : $(C_SRC)\n", libname
+- printf "\tcproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(C_SRC) >$@\n"
+- print ""
+- print "lintlib :"
+- printf "\tsh $(srcdir)/../misc/makellib %s $(CPPFLAGS)", libname
+- print ""
+- print "lint :"
+- print "\t$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(C_SRC) $(LINT_LIBS)"
++ printf "# Producing llib-l%s is time-consuming, so there's no direct-dependency for\n", libname;
++ print "# it in the lintlib rule. We'll only remove in the cleanest setup.";
++ show_list(libname, count_library, list_library);
++ show_list(ticlib, count_ticlib, list_ticlib);
++ show_list(termlib, count_termlib, list_termlib);
+ }
+ else
+ {
+@@ -115,3 +165,4 @@
+ print "\t@echo no action needed"
+ }
+ }
++# vile:ts=4 sw=4
+Index: mk-1st.awk
+Prereq: 1.85
+--- ncurses-5.9/mk-1st.awk 2010-08-07 20:42:30.000000000 +0000
++++ ncurses-5.9-20130504/mk-1st.awk 2013-03-12 11:09:40.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: mk-1st.awk,v 1.85 2010/08/07 20:42:30 Gabriele.Balducci Exp $
++# $Id: mk-1st.awk,v 1.95 2013/03/12 11:09:40 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -34,10 +34,12 @@
+ # name (library name, e.g., "ncurses", "panel", "forms", "menus")
+ # traces ("all" or "DEBUG", to control whether tracing is compiled in)
+ # MODEL (e.g., "DEBUG", uppercase; toupper is not portable)
++# CXX_MODEL (e.g., "DEBUG", uppercase)
+ # model (directory into which we compile, e.g., "obj")
+ # prefix (e.g., "lib", for Unix-style libraries)
+ # suffix (e.g., "_g.a", for debug libraries)
+ # subset ("none", "base", "base+ext_funcs" or "termlib", etc.)
++# driver ("yes" or "no", depends on --enable-term-driver)
+ # ShlibVer ("rel", "abi" or "auto", to augment DoLinks variable)
+ # ShlibVerInfix ("yes" or "no", determines location of version #)
+ # SymLink ("ln -s", etc)
+@@ -69,7 +71,7 @@
+ }
+ # see imp_name
+ function imp_name_of(a_name) {
+- if (ShlibVerInfix == "cygdll") {
++ if (ShlibVerInfix == "cygdll" || ShlibVerInfix == "mingw") {
+ result = sprintf("%s%s%s.a", prefix, a_name, suffix);
+ } else {
+ result = "";
+@@ -80,6 +82,8 @@
+ function abi_name_of(a_name) {
+ if (ShlibVerInfix == "cygdll") {
+ result = sprintf("%s%s$(ABI_VERSION)%s", "cyg", a_name, suffix);
++ } else if (ShlibVerInfix == "mingw") {
++ result = sprintf("%s%s$(ABI_VERSION)%s", prefix, a_name, suffix);
+ } else if (ShlibVerInfix == "yes") {
+ result = sprintf("%s%s.$(ABI_VERSION)%s", prefix, a_name, suffix);
+ } else {
+@@ -91,6 +95,8 @@
+ function rel_name_of(a_name) {
+ if (ShlibVerInfix == "cygdll") {
+ result = sprintf("%s%s$(REL_VERSION)%s", "cyg", a_name, suffix);
++ } else if (ShlibVerInfix == "mingw") {
++ result = sprintf("%s%s$(REL_VERSION)%s", prefix, a_name, suffix);
+ } else if (ShlibVerInfix == "yes") {
+ result = sprintf("%s%s.$(REL_VERSION)%s", prefix, a_name, suffix);
+ } else {
+@@ -107,7 +113,7 @@
+ } else {
+ if ( ShlibVer == "rel" ) {
+ result = rel_name_of(a_name);
+- } else if ( ShlibVer == "abi" || ShlibVer == "cygdll" ) {
++ } else if ( ShlibVer == "abi" || ShlibVer == "cygdll" || ShlibVer == "mingw" ) {
+ result = abi_name_of(a_name);
+ } else {
+ result = lib_name_of(a_name);
+@@ -124,23 +130,38 @@
+ }
+ }
+ function rmlink(directory, dst) {
+- printf "\t-rm -f %s/%s\n", directory, dst
++ if ( dst != "" ) {
++ printf "\t-rm -f %s/%s\n", directory, dst
++ }
+ }
+ function removelinks(directory) {
+- rmlink(directory, end_name);
++ nlinks = 0;
++ links[nlinks++] = end_name;
+ if ( DoLinks == "reverse" ) {
+ if ( ShlibVer == "rel" ) {
+- rmlink(directory, abi_name);
+- rmlink(directory, rel_name);
++ links[nlinks++] = abi_name;
++ links[nlinks++] = rel_name;
+ } else if ( ShlibVer == "abi" ) {
+- rmlink(directory, abi_name);
++ links[nlinks++] = abi_name;
+ }
+ } else {
+ if ( ShlibVer == "rel" ) {
+- rmlink(directory, abi_name);
+- rmlink(directory, lib_name);
++ links[nlinks++] = abi_name;
++ links[nlinks++] = lib_name;
+ } else if ( ShlibVer == "abi" ) {
+- rmlink(directory, lib_name);
++ links[nlinks++] = lib_name;
++ }
++ }
++ for (j = 0; j < nlinks; ++j) {
++ found = 0;
++ for (k = 0; k < j; ++k ) {
++ if ( links[j] == links[k] ) {
++ found = 1;
++ break;
++ }
++ }
++ if ( !found ) {
++ rmlink(directory, links[j]);
+ }
+ }
+ }
+@@ -148,7 +169,7 @@
+ printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(%s) $(LDFLAGS)\n", objs, shlib_list
+ }
+ function sharedlinks(directory) {
+- if ( ShlibVer != "auto" && ShlibVer != "cygdll" ) {
++ if ( ShlibVer != "auto" && ShlibVer != "cygdll" && ShlibVer != "mingw" ) {
+ printf "\tcd %s && (", directory
+ if ( DoLinks == "reverse" ) {
+ if ( ShlibVer == "rel" ) {
+@@ -181,6 +202,11 @@
+ dst_libs = sprintf("%s/%s", directory, end_name);
+ printf "%s : \\\n", dst_libs
+ printf "\t\t%s \\\n", directory
++ if (subset == "ticlib" && driver == "yes" ) {
++ base = name;
++ sub(/^tic/, "ncurses", base); # workaround for "w"
++ printf "\t\t%s/%s \\\n", directory, end_name_of(base);
++ }
+ if (subset ~ /^base/ || subset == "ticlib" ) {
+ save_suffix = suffix
+ sub(/^[^.]\./,".",suffix)
+@@ -223,8 +249,9 @@
+ printf "\t%s %s %s\n", program, src_name, dst_name
+ }
+ BEGIN {
+- found = 0
+- using = 0
++ TOOL_PREFIX = "";
++ found = 0;
++ using = 0;
+ }
+ /^@/ {
+ using = 0
+@@ -233,15 +260,26 @@
+ } else if (index(subset,$2) > 0) {
+ if (using == 0) {
+ if (found == 0) {
++ if ( name ~ /^.*\+\+.*/ ) {
++ if ( CXX_MODEL == "NORMAL" && MODEL == "SHARED" ) {
++ print ""
++ printf "# overriding model from %s to match CXX_MODEL\n", MODEL;
++ MODEL = "NORMAL";
++ suffix = ".a";
++ DoLinks = "no";
++ }
++ }
+ print ""
+ printf "# generated by mk-1st.awk (subset=%s)\n", subset
+ printf "# name: %s\n", name
+ printf "# traces: %s\n", traces
+ printf "# MODEL: %s\n", MODEL
++ printf "# CXX_MODEL: %s\n", CXX_MODEL
+ printf "# model: %s\n", model
+ printf "# prefix: %s\n", prefix
+ printf "# suffix: %s\n", suffix
+ printf "# subset: %s\n", subset
++ printf "# driver: %s\n", driver
+ printf "# ShlibVer: %s\n", ShlibVer
+ printf "# ShlibVerInfix: %s\n", ShlibVerInfix
+ printf "# SymLink: %s\n", SymLink
+@@ -285,12 +323,23 @@
+ if ( found == 0 )
+ {
+ printf "%s_OBJS =", OBJS
+- if ( $2 == "lib" )
+- found = 1
+- else
+- found = 2
++ if ( $2 == "lib" ) {
++ found = 1;
++ } else if ( $2 == "c++" ) {
++ TOOL_PREFIX = "CXX_";
++ found = 1;
++ } else {
++ found = 2;
++ }
++ if ( $2 == "c++" ) {
++ CC_NAME="CXX"
++ CC_FLAG="CXXFLAGS"
++ } else {
++ CC_NAME="CC"
++ CC_FLAG="CFLAGS"
++ }
+ }
+- printf " \\\n\t../%s/%s$o", model, $1
++ printf " \\\n\t../%s/%s$o", model, $1;
+ }
+ }
+ END {
+@@ -316,7 +365,7 @@
+ print "install \\"
+ print "install.libs \\"
+
+- if ( ShlibVer == "cygdll" ) {
++ if ( ShlibVer == "cygdll" || ShlibVer == "mingw") {
+
+ dst_dirs = "$(DESTDIR)$(bindir) $(DESTDIR)$(libdir)";
+ printf "install.%s :: %s $(LIBRARIES)\n", name, dst_dirs
+@@ -337,7 +386,7 @@
+
+ if ( overwrite == "yes" && name == "ncurses" )
+ {
+- if ( ShlibVer == "cygdll" ) {
++ if ( ShlibVer == "cygdll" || ShlibVer == "mingw") {
+ ovr_name = sprintf("libcurses%s.a", suffix)
+ printf "\t@echo linking %s to %s\n", imp_name, ovr_name
+ printf "\tcd $(DESTDIR)$(libdir) && ("
+@@ -358,7 +407,7 @@
+ print "uninstall \\"
+ print "uninstall.libs \\"
+ printf "uninstall.%s ::\n", name
+- if ( ShlibVer == "cygdll" ) {
++ if ( ShlibVer == "cygdll" || ShlibVer == "mingw") {
+
+ printf "\t@echo uninstalling $(DESTDIR)$(bindir)/%s\n", end_name
+ printf "\t-@rm -f $(DESTDIR)$(bindir)/%s\n", end_name
+@@ -371,11 +420,7 @@
+ removelinks("$(DESTDIR)$(libdir)")
+ if ( overwrite == "yes" && name == "ncurses" )
+ {
+- if ( ShlibVer == "cygdll" ) {
+- ovr_name = sprintf("libcurses%s.a", suffix)
+- } else {
+- ovr_name = sprintf("libcurses%s", suffix)
+- }
++ ovr_name = sprintf("libcurses%s", suffix)
+ printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", ovr_name
+ }
+ }
+@@ -388,20 +433,19 @@
+ }
+ else if ( MODEL == "LIBTOOL" )
+ {
+- if ( $2 == "c++" ) {
+- compile="CXX"
+- } else {
+- compile="CC"
+- }
+ end_name = lib_name;
+ printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS
+ if ( is_ticlib() ) {
+- printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) %s $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(TICS_LIST)\n", compile, lib_name, OBJS, libtool_version
++ which_list = "TICS_LIST";
+ } else if ( is_termlib() ) {
+- printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) %s $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(TINFO_LIST)\n", compile, lib_name, OBJS, libtool_version
++ which_list = "TINFO_LIST";
+ } else {
+- printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) %s $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(SHLIB_LIST)\n", compile, lib_name, OBJS, libtool_version
++ which_list = "SHLIB_LIST";
+ }
++ printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) $(%s) \\\n", CC_NAME, CC_FLAG;
++ printf "\t\t-o %s $(%s_OBJS:$o=.lo) \\\n", lib_name, OBJS;
++ printf "\t\t-rpath $(DESTDIR)$(libdir) \\\n";
++ printf "\t\t%s $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(%s) $(LDFLAGS)\n", libtool_version, which_list;
+ print ""
+ print "install \\"
+ print "install.libs \\"
+@@ -419,7 +463,7 @@
+ {
+ end_name = lib_name;
+ printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS
+- printf "\t$(AR) $(ARFLAGS) $@ $?\n"
++ printf "\t$(%sAR) $(%sARFLAGS) $@ $?\n", TOOL_PREFIX, TOOL_PREFIX;
+ printf "\t$(RANLIB) $@\n"
+ if ( host == "vxworks" )
+ {
+Index: ncurses/Makefile.in
+Prereq: 1.130
+--- ncurses-5.9/ncurses/Makefile.in 2010-11-27 21:45:27.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/Makefile.in 2012-12-22 23:34:40.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.130 2010/11/27 21:45:27 tom Exp $
++# $Id: Makefile.in,v 1.136 2012/12/22 23:34:40 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -64,6 +64,7 @@
+ bindir = @bindir@
+ libdir = @libdir@
+ includedir = @includedir@
++datarootdir = @datarootdir@
+ datadir = @datadir@
+
+ LIBTOOL = @LIBTOOL@
+@@ -107,7 +108,7 @@
+ # is compiled into the build, or are test-programs that are not installed.
+
+ BUILD_EXEEXT = @BUILD_EXEEXT@
+-x = @PROG_EXT@
++x = @EXEEXT@
+
+ CFLAGS_LIBTOOL = $(CCFLAGS)
+ CFLAGS_NORMAL = $(CCFLAGS)
+@@ -125,6 +126,7 @@
+ TINFO_LIST = $(SHLIB_DIRS) @TINFO_LIST@
+ TICS_LIST = $(SHLIB_DIRS) @TICS_LIST@
+
++RPATH_LIST = @RPATH_LIST@
+ MK_SHARED_LIB = @MK_SHARED_LIB@
+
+ NCURSES_MAJOR = @NCURSES_MAJOR@
+@@ -134,7 +136,7 @@
+
+ RANLIB = @LIB_PREP@
+
+-LIBRARIES = @LIBS_TO_MAKE@
++LIBRARIES = @Libs_To_Make@
+
+ LINT = @LINT@
+ LINT_OPTS = @LINT_OPTS@
+@@ -262,7 +264,7 @@
+ -rm -f $(AUTO_SRC)
+ -rm -f make_keys$(BUILD_EXEEXT)
+ -rm -f make_hash$(BUILD_EXEEXT)
+- -rm -rf .libs
++ -rm -rf .libs *.dSYM
+
+ distclean :: clean
+ -rm -f Makefile
+@@ -282,21 +284,21 @@
+ sh -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" implemented <../include/curses.h >$@
+
+ captoinfo$x : $(tinfo)/captoinfo.c $(TEST_DEPS)
+- @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(TEST_LDFLAGS)
++ @ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(TEST_LDFLAGS)
+
+ hardscroll$x : $(serial)/hardscroll.c $(TEST_DEPS)
+- @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DSCROLLDEBUG $(serial)/hardscroll.c $(TEST_LDFLAGS)
++ @ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DSCROLLDEBUG $(serial)/hardscroll.c $(TEST_LDFLAGS)
+
+ hashmap$x : $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_DEPS)
+- @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DHASHDEBUG $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_LDFLAGS)
++ @ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DHASHDEBUG $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_LDFLAGS)
+
+ lib_mvcur$x : $(serial)/lib_mvcur.c $(TEST_DEPS) \
+ ../@DFT_OBJ_SUBDIR@/dump_entry$o
+- @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c ../@DFT_OBJ_SUBDIR@/dump_entry$o $(TEST_LDFLAGS)
++ @ECHO_LD@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c ../@DFT_OBJ_SUBDIR@/dump_entry$o $(TEST_LDFLAGS)
+
+ link_test$x : ./link_test.c $(TEST_DEPS) \
+ ../@DFT_OBJ_SUBDIR@/link_test$o
+- @ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) ../@DFT_OBJ_SUBDIR@/link_test$o $(TEST_LDFLAGS)
++ @ECHO_LD@ $(CC) -o $@ $(CFLAGS_DEFAULT) ../@DFT_OBJ_SUBDIR@/link_test$o $(TEST_LDFLAGS)
+
+ ../@DFT_OBJ_SUBDIR@/dump_entry$o:
+ cd ../progs && $(MAKE) ../@DFT_OBJ_SUBDIR@/dump_entry$o
+Index: ncurses/base/MKkeyname.awk
+Prereq: 1.45
+--- ncurses-5.9/ncurses/base/MKkeyname.awk 2010-12-19 01:36:14.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/MKkeyname.awk 2012-02-22 22:35:41.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: MKkeyname.awk,v 1.45 2010/12/19 01:36:14 tom Exp $
++# $Id: MKkeyname.awk,v 1.47 2012/02/22 22:35:41 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1999-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1999-2010,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -100,17 +100,18 @@
+ print " if (MyTable[c] == 0) {"
+ print " int cc = c;"
+ print " p = name;"
++ print "#define P_LIMIT (sizeof(name) - (size_t) (p - name))"
+ print " if (cc >= 128 && (sp == 0 || sp->_use_meta)) {"
+- print " strcpy(p, \"M-\");"
++ print " _nc_STRCPY(p, \"M-\", P_LIMIT);"
+ print " p += 2;"
+ print " cc -= 128;"
+ print " }"
+ print " if (cc < 32)"
+- print " sprintf(p, \"^%c\", cc + '@');"
++ print " _nc_SPRINTF(p, _nc_SLIMIT(P_LIMIT) \"^%c\", cc + '@');"
+ print " else if (cc == 127)"
+- print " strcpy(p, \"^?\");"
++ print " _nc_STRCPY(p, \"^?\", P_LIMIT);"
+ print " else"
+- print " sprintf(p, \"%c\", cc);"
++ print " _nc_SPRINTF(p, _nc_SLIMIT(P_LIMIT) \"%c\", cc);"
+ print " MyTable[c] = strdup(name);"
+ print " }"
+ print " result = MyTable[c];"
+Index: ncurses/base/MKlib_gen.sh
+Prereq: 1.43
+--- ncurses-5.9/ncurses/base/MKlib_gen.sh 2011-01-22 19:47:29.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/MKlib_gen.sh 2011-06-04 19:14:08.000000000 +0000
+@@ -2,7 +2,7 @@
+ #
+ # MKlib_gen.sh -- generate sources from curses.h macro definitions
+ #
+-# ($Id: MKlib_gen.sh,v 1.43 2011/01/22 19:47:29 tom Exp $)
++# ($Id: MKlib_gen.sh,v 1.46 2011/06/04 19:14:08 tom Exp $)
+ #
+ ##############################################################################
+ # Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
+@@ -410,10 +410,45 @@
+ print "#undef vwprintw"
+ }
+ /^DECLARATIONS/ {start = 1; next;}
+- {if (start) print \$0;}
++ {
++ if (start) {
++ if ( "$USE" == "generated" ) {
++ print \$0;
++ } else if ( \$0 ~ /^[{}]?\$/ ) {
++ print \$0;
++ } else if ( \$0 ~ /;/ ) {
++ print \$0;
++ } else {
++ calls[start] = \$0;
++ print \$0;
++ start++;
++ }
++ }
++ }
+ END {
+ if ( "$USE" != "generated" ) {
+- print "int main(void) { return 0; }"
++ print "int main(void)"
++ print "{"
++ for (n = 1; n < start; ++n) {
++ value = calls[n];
++ if ( value !~ /P_POUNDC/ ) {
++ gsub(/[[:blank:]]+/," ",value);
++ sub(/^[[:alnum:]_]+ /,"",value);
++ sub(/^\* /,"",value);
++ gsub(/[[:alnum:]_]+ \* /,"",value);
++ gsub(/ (const) /," ",value);
++ gsub(/ (int|short|attr_t|chtype|wchar_t|NCURSES_BOOL|NCURSES_OUTC|NCURSES_OUTC_sp|va_list) /," ",value);
++ gsub(/ void /,"",value);
++ sub(/^/,"call_",value);
++ gsub(/ (a[[:digit:]]|z) /, " 0 ", value);
++ gsub(/ int[[:blank:]]*[(][^)]+[)][(][^)]+[)]/, "0", value);
++ printf "\t%s;\n", value;
++ } else {
++ print value;
++ }
++ }
++ print " return 0;"
++ print "}"
+ }
+ }
+ EOF1
+@@ -422,6 +457,8 @@
+ #include <ncurses_cfg.h>
+ #undef NCURSES_NOMACROS
+ #include <curses.h>
++#include <term.h>
++#include <unctrl.h>
+
+ DECLARATIONS
+
+Index: ncurses/base/MKunctrl.awk
+Prereq: 1.26
+--- ncurses-5.9/ncurses/base/MKunctrl.awk 2009-07-04 22:05:15.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/MKunctrl.awk 2012-06-09 20:29:33.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: MKunctrl.awk,v 1.26 2009/07/04 22:05:15 Clemens.Ladisch Exp $
++# $Id: MKunctrl.awk,v 1.27 2012/06/09 20:29:33 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -140,7 +140,7 @@
+ } else {
+ stringname = "unctrl"
+ }
+- print "\tint check = ChCharOf(ch);"
++ print "\tint check = (int) ChCharOf(ch);"
+ print "\tconst char *result;"
+ print ""
+ print "\tif (check >= 0 && check < (int)SIZEOF(unctrl_table)) {"
+Index: ncurses/base/keybound.c
+Prereq: 1.10
+--- ncurses-5.9/ncurses/base/keybound.c 2009-10-24 22:15:47.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/keybound.c 2011-10-22 16:47:05.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1999-2006,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,7 +33,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: keybound.c,v 1.10 2009/10/24 22:15:47 tom Exp $")
++MODULE_ID("$Id: keybound.c,v 1.11 2011/10/22 16:47:05 tom Exp $")
+
+ /*
+ * Returns the count'th string definition which is associated with the
+@@ -46,7 +46,10 @@
+
+ T((T_CALLED("keybound(%p, %d,%d)"), (void *) SP_PARM, code, count));
+ if (SP_PARM != 0 && code >= 0) {
+- result = _nc_expand_try(SP_PARM->_keytry, (unsigned) code, &count, 0);
++ result = _nc_expand_try(SP_PARM->_keytry,
++ (unsigned) code,
++ &count,
++ (size_t) 0);
+ }
+ returnPtr(result);
+ }
+Index: ncurses/base/keyok.c
+Prereq: 1.10
+--- ncurses-5.9/ncurses/base/keyok.c 2009-10-24 22:15:47.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/keyok.c 2012-11-18 02:14:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,7 +33,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: keyok.c,v 1.10 2009/10/24 22:15:47 tom Exp $")
++MODULE_ID("$Id: keyok.c,v 1.13 2012/11/18 02:14:35 tom Exp $")
+
+ /*
+ * Enable (or disable) ncurses' interpretation of a keycode by adding (or
+@@ -50,37 +50,47 @@
+ {
+ int code = ERR;
+
+- T((T_CALLED("keyok(%p, %d,%d)"), (void *) SP_PARM, c, flag));
++ if (HasTerminal(SP_PARM)) {
++ T((T_CALLED("keyok(%p, %d,%d)"), (void *) SP_PARM, c, flag));
+ #ifdef USE_TERM_DRIVER
+- code = CallDriver_2(sp, kyOk, c, flag);
++ code = CallDriver_2(sp, kyOk, c, flag);
+ #else
+- T((T_CALLED("keyok(%d,%d)"), c, flag));
+- if (c >= 0) {
+- int count = 0;
+- char *s;
+- unsigned ch = (unsigned) c;
+-
+- if (flag) {
+- while ((s = _nc_expand_try(SP_PARM->_key_ok, ch, &count, 0)) != 0
+- && _nc_remove_key(&(SP_PARM->_key_ok), ch)) {
+- code = _nc_add_to_try(&(SP_PARM->_keytry), s, ch);
+- free(s);
+- count = 0;
+- if (code != OK)
+- break;
+- }
+- } else {
+- while ((s = _nc_expand_try(SP_PARM->_keytry, ch, &count, 0)) != 0
+- && _nc_remove_key(&(SP_PARM->_keytry), ch)) {
+- code = _nc_add_to_try(&(SP_PARM->_key_ok), s, ch);
+- free(s);
+- count = 0;
+- if (code != OK)
+- break;
++ T((T_CALLED("keyok(%d,%d)"), c, flag));
++ if (c >= 0) {
++ int count = 0;
++ char *s;
++ unsigned ch = (unsigned) c;
++
++ if (flag) {
++ while ((s = _nc_expand_try(SP_PARM->_key_ok,
++ ch, &count, (size_t) 0)) != 0) {
++ if (_nc_remove_key(&(SP_PARM->_key_ok), ch)) {
++ code = _nc_add_to_try(&(SP_PARM->_keytry), s, ch);
++ free(s);
++ count = 0;
++ if (code != OK)
++ break;
++ } else {
++ free(s);
++ }
++ }
++ } else {
++ while ((s = _nc_expand_try(SP_PARM->_keytry,
++ ch, &count, (size_t) 0)) != 0) {
++ if (_nc_remove_key(&(SP_PARM->_keytry), ch)) {
++ code = _nc_add_to_try(&(SP_PARM->_key_ok), s, ch);
++ free(s);
++ count = 0;
++ if (code != OK)
++ break;
++ } else {
++ free(s);
++ }
++ }
+ }
+ }
+- }
+ #endif
++ }
+ returnCode(code);
+ }
+
+Index: ncurses/base/lib_addch.c
+Prereq: 1.124
+--- ncurses-5.9/ncurses/base/lib_addch.c 2010-04-24 22:41:05.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_addch.c 2013-03-17 00:30:29.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,7 +36,7 @@
+ #include <curses.priv.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_addch.c,v 1.124 2010/04/24 22:41:05 tom Exp $")
++MODULE_ID("$Id: lib_addch.c,v 1.127 2013/03/17 00:30:29 tom Exp $")
+
+ static const NCURSES_CH_T blankchar = NewChar(BLANK_TEXT);
+
+@@ -209,7 +209,8 @@
+ buffer[WINDOW_EXT(win, addch_used)] = '\0';
+ if ((len = (int) mbrtowc(&result,
+ buffer,
+- WINDOW_EXT(win, addch_used), &state)) > 0) {
++ (size_t) WINDOW_EXT(win, addch_used),
++ &state)) > 0) {
+ attr_t attrs = AttrOf(CHDEREF(ch));
+ if_EXT_COLORS(int pair = GetPair(CHDEREF(ch)));
+ SetChar(CHDEREF(ch), result, attrs);
+@@ -411,10 +412,12 @@
+ #endif
+ const char *s = NCURSES_SP_NAME(unctrl) (NCURSES_SP_ARGx t);
+ int tabsize = 8;
++
+ /*
+ * If we are using the alternate character set, forget about locale.
+ * Otherwise, if unctrl() returns a single-character or the locale
+- * claims the code is printable, treat it that way.
++ * claims the code is printable (and not also a control character),
++ * treat it that way.
+ */
+ if ((AttrOf(ch) & A_ALTCHARSET)
+ || (
+@@ -424,14 +427,15 @@
+ s[1] == 0
+ )
+ || (
+- isprint(t)
++ (isprint(t) && !iscntrl(t))
+ #if USE_WIDEC_SUPPORT
+ || ((sp == 0 || !sp->_legacy_coding) &&
+ (WINDOW_EXT(win, addch_used)
+ || !_nc_is_charable(CharOf(ch))))
+ #endif
+- ))
++ )) {
+ return waddch_literal(win, ch);
++ }
+
+ /*
+ * Handle carriage control and other codes that are not printable, or are
+Index: ncurses/base/lib_addstr.c
+Prereq: 1.51
+--- ncurses-5.9/ncurses/base/lib_addstr.c 2010-12-19 01:22:58.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_addstr.c 2011-05-28 23:02:09.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -44,7 +44,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_addstr.c,v 1.51 2010/12/19 01:22:58 tom Exp $")
++MODULE_ID("$Id: lib_addstr.c,v 1.52 2011/05/28 23:02:09 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ waddnstr(WINDOW *win, const char *astr, int n)
+@@ -119,8 +119,10 @@
+ _nc_wchstrlen(const cchar_t *s)
+ {
+ int result = 0;
+- while (CharOf(s[result]) != L'\0') {
+- result++;
++ if (s != 0) {
++ while (CharOf(s[result]) != L'\0') {
++ result++;
++ }
+ }
+ return result;
+ }
+Index: ncurses/base/lib_beep.c
+Prereq: 1.15
+--- ncurses-5.9/ncurses/base/lib_beep.c 2009-10-24 22:02:14.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_beep.c 2013-01-12 17:26:25.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -46,7 +46,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_beep.c,v 1.15 2009/10/24 22:02:14 tom Exp $")
++MODULE_ID("$Id: lib_beep.c,v 1.16 2013/01/12 17:26:25 tom Exp $")
+
+ /*
+ * beep()
+@@ -71,12 +71,9 @@
+ if (cur_term == 0) {
+ res = ERR;
+ } else if (bell) {
+- TPUTS_TRACE("bell");
+- res = putp(bell);
+- _nc_flush();
++ res = NCURSES_PUTP2_FLUSH("bell", bell);
+ } else if (flash_screen) {
+- TPUTS_TRACE("flash_screen");
+- res = putp(flash_screen);
++ res = NCURSES_PUTP2_FLUSH("flash_screen", flash_screen);
+ _nc_flush();
+ }
+ #endif
+Index: ncurses/base/lib_bkgd.c
+Prereq: 1.43
+--- ncurses-5.9/ncurses/base/lib_bkgd.c 2011-01-22 19:47:37.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_bkgd.c 2012-12-09 01:01:19.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,7 +36,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_bkgd.c,v 1.43 2011/01/22 19:47:37 tom Exp $")
++MODULE_ID("$Id: lib_bkgd.c,v 1.48 2012/12/09 01:01:19 tom Exp $")
+
+ /*
+ * Set the window's background information.
+@@ -85,6 +85,7 @@
+ cchar_t wch;
+ int tmp;
+
++ memset(&wch, 0, sizeof(wch));
+ (void) wgetbkgrnd(win, &wch);
+ tmp = _nc_to_char((wint_t) CharOf(wch));
+
+@@ -118,16 +119,18 @@
+ {
+ int code = ERR;
+ int x, y;
+- NCURSES_CH_T new_bkgd = CHDEREF(ch);
+
+ T((T_CALLED("wbkgd(%p,%s)"), (void *) win, _tracech_t(ch)));
+
+ if (win) {
++ NCURSES_CH_T new_bkgd = CHDEREF(ch);
+ NCURSES_CH_T old_bkgrnd;
++
++ memset(&old_bkgrnd, 0, sizeof(old_bkgrnd));
+ wgetbkgrnd(win, &old_bkgrnd);
+
+ (void) wbkgrndset(win, CHREF(new_bkgd));
+- (void) wattrset(win, AttrOf(win->_nc_bkgd));
++ (void) wattrset(win, (int) AttrOf(win->_nc_bkgd));
+
+ for (y = 0; y <= win->_maxy; y++) {
+ for (x = 0; x <= win->_maxx; x++) {
+Index: ncurses/base/lib_color.c
+Prereq: 1.98
+--- ncurses-5.9/ncurses/base/lib_color.c 2010-04-24 22:57:53.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_color.c 2013-03-09 22:33:38.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -45,7 +45,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_color.c,v 1.98 2010/04/24 22:57:53 tom Exp $")
++MODULE_ID("$Id: lib_color.c,v 1.108 2013/03/09 22:33:38 tom Exp $")
+
+ #ifdef USE_TERM_DRIVER
+ #define CanChange InfoOf(SP_PARM).canchange
+@@ -264,8 +264,7 @@
+
+ (void) SP_PARM;
+ if (orig_pair != 0) {
+- TPUTS_TRACE("orig_pair");
+- putp(orig_pair);
++ (void) NCURSES_PUTP2("orig_pair", orig_pair);
+ result = TRUE;
+ }
+ return result;
+@@ -292,8 +291,7 @@
+ result = CallDriver(SP_PARM, rescolors);
+ #else
+ if (orig_colors != 0) {
+- TPUTS_TRACE("orig_colors");
+- putp(orig_colors);
++ NCURSES_PUTP2("orig_colors", orig_colors);
+ result = TRUE;
+ }
+ #endif
+@@ -331,6 +329,13 @@
+ default_bg(NCURSES_SP_ARG),
+ NCURSES_SP_NAME(_nc_outch));
+ }
++#if !NCURSES_EXT_COLORS
++ /*
++ * Without ext-colors, we cannot represent more than 256 color pairs.
++ */
++ if (maxpairs > 256)
++ maxpairs = 256;
++#endif
+
+ if (maxpairs > 0 && maxcolors > 0) {
+ SP_PARM->_pair_limit = maxpairs;
+@@ -383,10 +388,10 @@
+
+ /* This function was originally written by Daniel Weaver <danw@znyx.com> */
+ static void
+-rgb2hls(short r, short g, short b, short *h, short *l, short *s)
++rgb2hls(int r, int g, int b, short *h, short *l, short *s)
+ /* convert RGB to HLS system */
+ {
+- short min, max, t;
++ int min, max, t;
+
+ if ((min = g < r ? g : r) > b)
+ min = b;
+@@ -416,7 +421,7 @@
+ else
+ t = (short) (360 + ((r - g) * 60) / (max - min));
+
+- *h = t % 360;
++ *h = (short) (t % 360);
+ }
+
+ /*
+@@ -439,7 +444,7 @@
+
+ previous = SP_PARM->_color_pairs[pair];
+ #if NCURSES_EXT_FUNCS
+- if (SP_PARM->_default_color) {
++ if (SP_PARM->_default_color || SP_PARM->_assumed_color) {
+ bool isDefault = FALSE;
+ bool wasDefault = FALSE;
+ int default_pairs = SP_PARM->_default_pairs;
+@@ -498,8 +503,9 @@
+ {
+ if ((f < 0) || !OkColorHi(f)
+ || (b < 0) || !OkColorHi(b)
+- || (pair < 1))
++ || (pair < 1)) {
+ returnCode(ERR);
++ }
+ }
+
+ /*
+@@ -545,11 +551,11 @@
+ tp[f].red, tp[f].green, tp[f].blue,
+ tp[b].red, tp[b].green, tp[b].blue));
+
+- TPUTS_TRACE("initialize_pair");
+- putp(TPARM_7(initialize_pair,
+- pair,
+- tp[f].red, tp[f].green, tp[f].blue,
+- tp[b].red, tp[b].green, tp[b].blue));
++ NCURSES_PUTP2("initialize_pair",
++ TPARM_7(initialize_pair,
++ pair,
++ tp[f].red, tp[f].green, tp[f].blue,
++ tp[b].red, tp[b].green, tp[b].blue));
+ }
+ #endif
+
+@@ -607,8 +613,8 @@
+ #ifdef USE_TERM_DRIVER
+ CallDriver_4(SP_PARM, initcolor, color, r, g, b);
+ #else
+- TPUTS_TRACE("initialize_color");
+- putp(TPARM_4(initialize_color, color, r, g, b));
++ NCURSES_PUTP2("initialize_color",
++ TPARM_4(initialize_color, color, r, g, b));
+ #endif
+ SP_PARM->_color_defs = max(color + 1, SP_PARM->_color_defs);
+
+@@ -628,8 +634,15 @@
+ NCURSES_EXPORT(bool)
+ NCURSES_SP_NAME(can_change_color) (NCURSES_SP_DCL)
+ {
++ int result = FALSE;
++
+ T((T_CALLED("can_change_color(%p)"), (void *) SP_PARM));
+- returnCode((CanChange != 0) ? TRUE : FALSE);
++
++ if (HasTerminal(SP_PARM) && (CanChange != 0)) {
++ result = TRUE;
++ }
++
++ returnCode(result);
+ }
+
+ #if NCURSES_SP_FUNCS
+@@ -643,20 +656,22 @@
+ NCURSES_EXPORT(bool)
+ NCURSES_SP_NAME(has_colors) (NCURSES_SP_DCL0)
+ {
+- int code;
++ int code = FALSE;
+
+ (void) SP_PARM;
+ T((T_CALLED("has_colors()")));
++ if (HasTerminal(SP_PARM)) {
+ #ifdef USE_TERM_DRIVER
+- code = HasColor;
++ code = HasColor;
+ #else
+- code = ((VALID_NUMERIC(max_colors) && VALID_NUMERIC(max_pairs)
+- && (((set_foreground != NULL)
+- && (set_background != NULL))
+- || ((set_a_foreground != NULL)
+- && (set_a_background != NULL))
+- || set_color_pair)) ? TRUE : FALSE);
++ code = ((VALID_NUMERIC(max_colors) && VALID_NUMERIC(max_pairs)
++ && (((set_foreground != NULL)
++ && (set_background != NULL))
++ || ((set_a_foreground != NULL)
++ && (set_a_background != NULL))
++ || set_color_pair)) ? TRUE : FALSE);
+ #endif
++ }
+ returnCode(code);
+ }
+
+@@ -731,8 +746,8 @@
+ if (!ValidPair(pair)) {
+ result = ERR;
+ } else {
+- NCURSES_COLOR_T fg = FORE_OF(SP_PARM->_color_pairs[pair]);
+- NCURSES_COLOR_T bg = BACK_OF(SP_PARM->_color_pairs[pair]);
++ NCURSES_COLOR_T fg = (NCURSES_COLOR_T) FORE_OF(SP_PARM->_color_pairs[pair]);
++ NCURSES_COLOR_T bg = (NCURSES_COLOR_T) BACK_OF(SP_PARM->_color_pairs[pair]);
+
+ #if NCURSES_EXT_FUNCS
+ if (fg == COLOR_DEFAULT)
+@@ -765,9 +780,9 @@
+
+ NCURSES_EXPORT(void)
+ NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_DCLx
+- short old_pair,
+- short pair,
+- bool reverse,
++ int old_pair,
++ int pair,
++ int reverse,
+ NCURSES_SP_OUTC outc)
+ {
+ #ifdef USE_TERM_DRIVER
+@@ -775,7 +790,8 @@
+ #else
+ NCURSES_COLOR_T fg = COLOR_DEFAULT;
+ NCURSES_COLOR_T bg = COLOR_DEFAULT;
+- NCURSES_COLOR_T old_fg, old_bg;
++ NCURSES_COLOR_T old_fg = -1;
++ NCURSES_COLOR_T old_bg = -1;
+
+ if (!ValidPair(pair)) {
+ return;
+@@ -787,13 +803,14 @@
+ 1, outc);
+ return;
+ } else if (SP_PARM != 0) {
+- pair_content((short) pair, &fg, &bg);
++ if (pair_content((short) pair, &fg, &bg) == ERR)
++ return;
+ }
+ }
+
+ if (old_pair >= 0
+ && SP_PARM != 0
+- && pair_content(old_pair, &old_fg, &old_bg) != ERR) {
++ && pair_content((short) old_pair, &old_fg, &old_bg) != ERR) {
+ if ((isDefaultColor(fg) && !isDefaultColor(old_fg))
+ || (isDefaultColor(bg) && !isDefaultColor(old_bg))) {
+ #if NCURSES_EXT_FUNCS
+@@ -847,7 +864,7 @@
+
+ #if NCURSES_SP_FUNCS
+ NCURSES_EXPORT(void)
+-_nc_do_color(short old_pair, short pair, bool reverse, NCURSES_OUTC outc)
++_nc_do_color(int old_pair, int pair, int reverse, NCURSES_OUTC outc)
+ {
+ SetSafeOutcWrapper(outc);
+ NCURSES_SP_NAME(_nc_do_color) (CURRENT_SCREEN,
+Index: ncurses/base/lib_dft_fgbg.c
+Prereq: 1.25
+--- ncurses-5.9/ncurses/base/lib_dft_fgbg.c 2009-10-24 22:15:00.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_dft_fgbg.c 2011-04-23 18:28:18.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_dft_fgbg.c,v 1.25 2009/10/24 22:15:00 tom Exp $")
++MODULE_ID("$Id: lib_dft_fgbg.c,v 1.26 2011/04/23 18:28:18 tom Exp $")
+
+ /*
+ * Modify the behavior of color-pair 0 so that the library doesn't assume that
+@@ -80,6 +80,7 @@
+ SP_PARM->_default_bg = isDefaultColor(bg) ? COLOR_DEFAULT : (bg & C_MASK);
+ if (SP_PARM->_color_pairs != 0) {
+ bool save = SP_PARM->_default_color;
++ SP_PARM->_assumed_color = TRUE;
+ SP_PARM->_default_color = TRUE;
+ init_pair(0, (short) fg, (short) bg);
+ SP_PARM->_default_color = save;
+Index: ncurses/base/lib_driver.c
+Prereq: 1.3
+--- ncurses-5.9/ncurses/base/lib_driver.c 2010-12-20 00:29:17.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_driver.c 2012-09-22 19:32:46.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2008-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,7 +33,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_driver.c,v 1.3 2010/12/20 00:29:17 tom Exp $")
++MODULE_ID("$Id: lib_driver.c,v 1.4 2012/09/22 19:32:46 tom Exp $")
+
+ typedef struct DriverEntry {
+ const char *name;
+@@ -43,9 +43,9 @@
+ static DRIVER_ENTRY DriverTable[] =
+ {
+ #ifdef __MINGW32__
+- {"win", &_nc_WIN_DRIVER},
++ {"win32con", &_nc_WIN_DRIVER},
+ #endif
+- {"tinfo", &_nc_TINFO_DRIVER}
++ {"tinfo", &_nc_TINFO_DRIVER} /* must be last */
+ };
+
+ NCURSES_EXPORT(int)
+@@ -63,6 +63,20 @@
+
+ for (i = 0; i < SIZEOF(DriverTable); i++) {
+ res = DriverTable[i].driver;
++ /*
++ * Use "#" (a character which cannot begin a terminal's name) to
++ * select specific driver from the table.
++ *
++ * In principle, we could have more than one non-terminfo driver,
++ * e.g., "win32gui".
++ */
++ if (name != 0 && *name == '#') {
++ size_t n = strlen(name + 1);
++ if (n != 0
++ && strncmp(name + 1, DriverTable[i].name, n)) {
++ continue;
++ }
++ }
+ if (res->CanHandle(TCB, name, errret)) {
+ use = res;
+ break;
+Index: ncurses/base/lib_flash.c
+Prereq: 1.11
+--- ncurses-5.9/ncurses/base/lib_flash.c 2009-10-24 22:02:14.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_flash.c 2013-01-12 17:26:07.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -46,7 +46,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_flash.c,v 1.11 2009/10/24 22:02:14 tom Exp $")
++MODULE_ID("$Id: lib_flash.c,v 1.13 2013/01/12 17:26:07 tom Exp $")
+
+ /*
+ * flash()
+@@ -66,15 +66,13 @@
+ if (SP_PARM != 0)
+ res = CallDriver_1(SP_PARM, doBeepOrFlash, FALSE);
+ #else
+- /* FIXME: should make sure that we are not in altchar mode */
+- if (flash_screen) {
+- TPUTS_TRACE("flash_screen");
+- res = putp(flash_screen);
+- _nc_flush();
+- } else if (bell) {
+- TPUTS_TRACE("bell");
+- res = putp(bell);
+- _nc_flush();
++ if (HasTerminal(SP_PARM)) {
++ /* FIXME: should make sure that we are not in altchar mode */
++ if (flash_screen) {
++ res = NCURSES_PUTP2_FLUSH("flash_screen", flash_screen);
++ } else if (bell) {
++ res = NCURSES_PUTP2_FLUSH("bell", bell);
++ }
+ }
+ #endif
+ returnCode(res);
+Index: ncurses/base/lib_freeall.c
+Prereq: 1.59
+--- ncurses-5.9/ncurses/base/lib_freeall.c 2010-01-23 17:57:43.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_freeall.c 2012-11-17 23:53:03.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ extern int malloc_errfd; /* FIXME */
+ #endif
+
+-MODULE_ID("$Id: lib_freeall.c,v 1.59 2010/01/23 17:57:43 tom Exp $")
++MODULE_ID("$Id: lib_freeall.c,v 1.62 2012/11/17 23:53:03 tom Exp $")
+
+ /*
+ * Free all ncurses data. This is used for testing only (there's no practical
+@@ -70,19 +70,21 @@
+
+ /* Delete only windows that're not a parent */
+ for (each_window(SP_PARM, p)) {
++ WINDOW *p_win = &(p->win);
+ bool found = FALSE;
+
+ for (each_window(SP_PARM, q)) {
++ WINDOW *q_win = &(q->win);
+ if ((p != q)
+- && (q->win._flags & _SUBWIN)
+- && (&(p->win) == q->win._parent)) {
++ && (q_win->_flags & _SUBWIN)
++ && (p_win == q_win->_parent)) {
+ found = TRUE;
+ break;
+ }
+ }
+
+ if (!found) {
+- if (delwin(&(p->win)) != ERR)
++ if (delwin(p_win) != ERR)
+ deleted = TRUE;
+ break;
+ }
+@@ -100,7 +102,7 @@
+
+ (void) _nc_printf_string(0, empty_va);
+ #ifdef TRACE
+- (void) _nc_trace_buf(-1, 0);
++ (void) _nc_trace_buf(-1, (size_t) 0);
+ #endif
+ #if USE_WIDEC_SUPPORT
+ FreeIfNeeded(_nc_wacs);
+@@ -129,8 +131,9 @@
+ NCURSES_EXPORT(void)
+ NCURSES_SP_NAME(_nc_free_and_exit) (NCURSES_SP_DCLx int code)
+ {
+- char *last_setbuf = (SP_PARM != 0) ? SP_PARM->_setbuf : 0;
++ char *last_buffer = (SP_PARM != 0) ? SP_PARM->out_buffer : 0;
+
++ NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
+ NCURSES_SP_NAME(_nc_freeall) (NCURSES_SP_ARG);
+ #ifdef TRACE
+ trace(0); /* close trace file, freeing its setbuf */
+@@ -139,8 +142,7 @@
+ free(_nc_varargs("?", fake));
+ }
+ #endif
+- fclose(stdout);
+- FreeIfNeeded(last_setbuf);
++ FreeIfNeeded(last_buffer);
+ exit(code);
+ }
+
+Index: ncurses/base/lib_getch.c
+Prereq: 1.121
+--- ncurses-5.9/ncurses/base/lib_getch.c 2010-12-25 23:24:04.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_getch.c 2013-02-16 18:30:37.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_getch.c,v 1.121 2010/12/25 23:24:04 tom Exp $")
++MODULE_ID("$Id: lib_getch.c,v 1.126 2013/02/16 18:30:37 tom Exp $")
+
+ #include <fifo_defs.h>
+
+@@ -133,7 +133,7 @@
+ int rc;
+
+ #ifdef USE_TERM_DRIVER
+- rc = TCBOf(sp)->drv->testmouse(TCBOf(sp), delay);
++ rc = TCBOf(sp)->drv->testmouse(TCBOf(sp), delay EVENTLIST_2nd(evl));
+ #else
+ #if USE_SYSMOUSE
+ if ((sp->_mouse_type == M_SYSMOUSE)
+@@ -163,7 +163,7 @@
+ static NCURSES_INLINE int
+ fifo_peek(SCREEN *sp)
+ {
+- int ch = sp->_fifo[peek];
++ int ch = (peek >= 0) ? sp->_fifo[peek] : ERR;
+ TR(TRACE_IEVENT, ("peeking at %d", peek));
+
+ p_inc();
+@@ -173,15 +173,16 @@
+ static NCURSES_INLINE int
+ fifo_pull(SCREEN *sp)
+ {
+- int ch;
+- ch = sp->_fifo[head];
++ int ch = (head >= 0) ? sp->_fifo[head] : ERR;
++
+ TR(TRACE_IEVENT, ("pulling %s from %d", _nc_tracechar(sp, ch), head));
+
+ if (peek == head) {
+ h_inc();
+ peek = head;
+- } else
++ } else {
+ h_inc();
++ }
+
+ #ifdef TRACE
+ if (USE_TRACEF(TRACE_IEVENT)) {
+@@ -200,7 +201,7 @@
+ int mask = 0;
+
+ (void) mask;
+- if (tail == -1)
++ if (tail < 0)
+ return ERR;
+
+ #ifdef HIDE_EINTR
+@@ -257,6 +258,13 @@
+ n = 1;
+ } else
+ #endif
++#if USE_KLIBC_KBD
++ if (isatty(sp->_ifd) && sp->_cbreak) {
++ ch = _read_kbd(0, 1, !sp->_raw);
++ n = (ch == -1) ? -1 : 1;
++ sp->_extended_key = (ch == 0);
++ } else
++#endif
+ { /* Can block... */
+ #ifdef USE_TERM_DRIVER
+ int buf;
+@@ -270,7 +278,7 @@
+ # endif
+ _nc_globals.read_thread = pthread_self();
+ # endif
+- n = (int) read(sp->_ifd, &c2, 1);
++ n = (int) read(sp->_ifd, &c2, (size_t) 1);
+ #if USE_PTHREADS_EINTR
+ _nc_globals.read_thread = 0;
+ #endif
+@@ -431,11 +439,11 @@
+ /* ungetch in reverse order */
+ #ifdef NCURSES_WGETCH_EVENTS
+ rc = recur_wgetnstr(win, buf);
+- if (rc != KEY_EVENT)
++ if (rc != KEY_EVENT && rc != ERR)
+ safe_ungetch(sp, '\n');
+ #else
+- (void) recur_wgetnstr(win, buf);
+- safe_ungetch(sp, '\n');
++ if (recur_wgetnstr(win, buf) != ERR)
++ safe_ungetch(sp, '\n');
+ #endif
+ for (bufp = buf + strlen(buf); bufp > buf; bufp--)
+ safe_ungetch(sp, bufp[-1]);
+@@ -569,7 +577,7 @@
+ *
+ * If carriage return is defined as a function key in the
+ * terminfo, e.g., kent, then Solaris may return either ^J (or ^M
+- * if nonl() is set) or KEY_ENTER depending on the echo() mode.
++ * if nonl() is set) or KEY_ENTER depending on the echo() mode.
+ * We echo before translating carriage return based on nonl(),
+ * since the visual result simply moves the cursor to column 0.
+ *
+@@ -709,10 +717,11 @@
+
+ if (ptr->value != 0) { /* sequence terminated */
+ TR(TRACE_IEVENT, ("end of sequence"));
+- if (peek == tail)
++ if (peek == tail) {
+ fifo_clear(sp);
+- else
++ } else {
+ head = peek;
++ }
+ return (ptr->value);
+ }
+
+Index: ncurses/base/lib_getstr.c
+Prereq: 1.29
+--- ncurses-5.9/ncurses/base/lib_getstr.c 2009-10-24 21:59:02.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_getstr.c 2011-10-22 16:31:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,14 +40,14 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_getstr.c,v 1.29 2009/10/24 21:59:02 tom Exp $")
++MODULE_ID("$Id: lib_getstr.c,v 1.30 2011/10/22 16:31:35 tom Exp $")
+
+ /*
+ * This wipes out the last character, no matter whether it was a tab, control
+ * or other character, and handles reverse wraparound.
+ */
+ static char *
+-WipeOut(WINDOW *win, int y, int x, char *first, char *last, bool echoed)
++WipeOut(WINDOW *win, int y, int x, char *first, char *last, int echoed)
+ {
+ if (last > first) {
+ *--last = '\0';
+Index: ncurses/base/lib_insch.c
+Prereq: 1.32
+--- ncurses-5.9/ncurses/base/lib_insch.c 2009-10-24 22:04:35.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_insch.c 2012-12-15 22:51:12.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -43,7 +43,7 @@
+ #include <curses.priv.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_insch.c,v 1.32 2009/10/24 22:04:35 tom Exp $")
++MODULE_ID("$Id: lib_insch.c,v 1.33 2012/12/15 22:51:12 tom Exp $")
+
+ /*
+ * Insert the given character, updating the current location to simplify
+@@ -82,7 +82,7 @@
+ #if USE_WIDEC_SUPPORT
+ WINDOW_EXT(win, addch_used) == 0 &&
+ #endif
+- is8bits(ChCharOf(ch)) &&
++ is8bits(ch) &&
+ (isprint(ChCharOf(ch)) ||
+ (ChAttrOf(ch) & A_ALTCHARSET) ||
+ (sp != 0 && sp->_legacy_coding && !iscntrl(ChCharOf(ch))))) {
+@@ -101,7 +101,7 @@
+ *temp1 = _nc_render(win, wch);
+ win->_curx++;
+ }
+- } else if (is8bits(ChCharOf(ch)) && iscntrl(ChCharOf(ch))) {
++ } else if (is8bits(ch) && iscntrl(ChCharOf(ch))) {
+ s = NCURSES_SP_NAME(unctrl) (NCURSES_SP_ARGx ChCharOf(ch));
+ while (*s != '\0') {
+ code = _nc_insert_ch(sp, win, ChAttrOf(ch) | UChar(*s));
+Index: ncurses/base/lib_instr.c
+Prereq: 1.17
+--- ncurses-5.9/ncurses/base/lib_instr.c 2009-10-24 22:55:45.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_instr.c 2013-01-20 01:58:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -41,7 +41,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_instr.c,v 1.17 2009/10/24 22:55:45 tom Exp $")
++MODULE_ID("$Id: lib_instr.c,v 1.20 2013/01/20 01:58:13 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ winnstr(WINDOW *win, char *str, int n)
+@@ -78,11 +78,15 @@
+ if (getcchar(cell, wch, &attrs, &pair, 0) == OK) {
+
+ init_mb(state);
+- n3 = wcstombs(0, wch, 0);
++ n3 = wcstombs(0, wch, (size_t) 0);
+ if (!isEILSEQ(n3) && (n3 != 0)) {
+- if (((int) n3 + i) > n) {
++ size_t need = n3 + 10 + (size_t) i;
++ int have = (int) n3 + i;
++
++ /* check for loop-done as well as overflow */
++ if (have > n || (int) need <= 0) {
+ done = TRUE;
+- } else if ((tmp = typeCalloc(char, n3 + 10)) == 0) {
++ } else if ((tmp = typeCalloc(char, need)) == 0) {
+ done = TRUE;
+ } else {
+ init_mb(state);
+Index: ncurses/base/lib_mouse.c
+Prereq: 1.121
+--- ncurses-5.9/ncurses/base/lib_mouse.c 2011-01-22 19:47:47.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_mouse.c 2013-01-12 16:35:34.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -84,7 +84,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_mouse.c,v 1.121 2011/01/22 19:47:47 tom Exp $")
++MODULE_ID("$Id: lib_mouse.c,v 1.140 2013/01/12 16:35:34 tom Exp $")
+
+ #include <tic.h>
+
+@@ -120,6 +120,17 @@
+ #endif
+ #endif /* use_SYSMOUSE */
+
++#if USE_KLIBC_MOUSE
++#include <sys/socket.h>
++#define pipe(handles) socketpair(AF_LOCAL, SOCK_STREAM, 0, handles)
++#define DosWrite(hfile, pbuffer, cbwrite, pcbactual) \
++ write(hfile, pbuffer, cbwrite)
++#define DosExit(action, result ) /* do nothing */
++#define DosCreateThread(ptid, pfn, param, flag, cbStack) \
++ (*(ptid) = _beginthread(pfn, NULL, cbStack, \
++ (void *)param), (*(ptid) == -1))
++#endif
++
+ #define MY_TRACE TRACE_ICALLS|TRACE_IEVENT
+
+ #define MASK_RELEASE(x) (mmask_t) NCURSES_MOUSE_MASK(x, 001)
+@@ -148,6 +159,9 @@
+ #define INVALID_EVENT -1
+ #define NORMAL_EVENT 0
+
++#define ValidEvent(ep) ((ep)->id != INVALID_EVENT)
++#define Invalidate(ep) (ep)->id = INVALID_EVENT
++
+ #if USE_GPM_SUPPORT
+
+ #ifndef LIBGPM_SONAME
+@@ -211,7 +225,7 @@
+ char buf[6];
+ unsigned long ignore;
+
+- strncpy(buf, key_mouse, 3); /* should be "\033[M" */
++ strcpy(buf, "\033[M"); /* should be the same as key_mouse */
+ buf[3] = ' ' + (button - 1) + (down ? 0 : 0x40);
+ buf[4] = ' ' + x - LEFT_COL + 1;
+ buf[5] = ' ' + y - TOP_ROW + 1;
+@@ -219,7 +233,11 @@
+ }
+
+ static void
++#if USE_KLIBC_MOUSE
++mouse_server(void *param)
++#else
+ mouse_server(unsigned long param)
++#endif
+ {
+ SCREEN *sp = (SCREEN *) param;
+ unsigned short fWait = MOU_WAIT;
+@@ -245,7 +263,8 @@
+ /* sit and wait on the event queue */
+ rc = MouReadEventQue(&mouev, &fWait, hmou);
+ if (rc) {
+- sprintf(err, "Error reading mouse queue, rc=%lu.\r\n", rc);
++ _nc_SPRINTF(err, _nc_SLIMIT(sizeof(err))
++ "Error reading mouse queue, rc=%lu.\r\n", rc);
+ break;
+ }
+ if (!sp->_emxmouse_activated)
+@@ -271,9 +290,11 @@
+ finish:
+ oldstate = mouev.fs;
+ }
+- } else
+- sprintf(err, "Error setting event mask, buttons=%d, rc=%lu.\r\n",
+- nbuttons, rc);
++ } else {
++ _nc_SPRINTF(err, _nc_SLIMIT(sizeof(err))
++ "Error setting event mask, buttons=%d, rc=%lu.\r\n",
++ nbuttons, rc);
++ }
+
+ DosWrite(2, err, strlen(err), &rc);
+ MouClose(hmou);
+@@ -367,20 +388,26 @@
+ #if USE_EMX_MOUSE
+ sp->_emxmouse_activated = enable;
+ #else
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "xterm-mouse",
+- TPARM_1(sp->_mouse_xtermcap, enable));
++ NCURSES_PUTP2("xterm-mouse", TPARM_1(sp->_mouse_xtermcap, enable));
+ #endif
+ sp->_mouse_active = enable;
+ }
+
+ #if USE_GPM_SUPPORT
+ static bool
+-allow_gpm_mouse(void)
++allow_gpm_mouse(SCREEN *sp)
+ {
+ bool result = FALSE;
+
+- /* GPM does printf's without checking if stdout is a terminal */
++#if USE_WEAK_SYMBOLS
++ /* Danger Robinson: do not use dlopen for libgpm if already loaded */
++ if ((Gpm_Wgetch)) {
++ if (!sp->_mouse_gpm_loaded) {
++ T(("GPM library was already dlopen'd, not by us"));
++ }
++ } else
++#endif
++ /* GPM does printf's without checking if stdout is a terminal */
+ if (isatty(fileno(stdout))) {
+ char *list = getenv("NCURSES_GPM_TERMS");
+ char *env = getenv("TERM");
+@@ -506,7 +533,7 @@
+
+ /* Try gpm first, because gpm may be configured to run in xterm */
+ #if USE_GPM_SUPPORT
+- if (allow_gpm_mouse()) {
++ if (allow_gpm_mouse(sp)) {
+ if (!sp->_mouse_gpm_loaded) {
+ #ifdef HAVE_LIBDL
+ load_gpm_library(sp);
+@@ -673,7 +700,7 @@
+
+ sp->_mouse_eventp = FirstEV(sp);
+ for (i = 0; i < EV_MAX; i++)
+- sp->_mouse_events[i].id = INVALID_EVENT;
++ Invalidate(sp->_mouse_events + i);
+
+ initialize_mousetype(sp);
+
+@@ -750,6 +777,7 @@
+ eventp->bstate |= BUTTON3_RELEASED;
+ break;
+ default:
++ eventp->bstate |= REPORT_MOUSE_POSITION;
+ break;
+ }
+
+@@ -830,7 +858,6 @@
+
+ if (sp->_mouse_type == M_XTERM) {
+ unsigned char kbuf[4];
+- mmask_t prev;
+ size_t grabbed;
+ int res;
+
+@@ -896,35 +923,51 @@
+
+ /* processing code goes here */
+ eventp->bstate = 0;
+- prev = PREV(eventp)->bstate;
+
+ #if USE_EMX_MOUSE
+ #define PRESS_POSITION(n) \
+- eventp->bstate = MASK_PRESS(n); \
+- if (kbuf[0] & 0x40) \
+- eventp->bstate = MASK_RELEASE(n)
++ do { \
++ eventp->bstate = MASK_PRESS(n); \
++ sp->_mouse_bstate |= MASK_PRESS(n); \
++ if (kbuf[0] & 0x40) { \
++ eventp->bstate = MASK_RELEASE(n); \
++ sp->_mouse_bstate &= ~MASK_PRESS(n); \
++ } \
++ } while (0)
+ #else
+ #define PRESS_POSITION(n) \
+- eventp->bstate = (mmask_t) (prev & MASK_PRESS(n) \
+- ? REPORT_MOUSE_POSITION \
+- : MASK_PRESS(n))
++ do { \
++ eventp->bstate = (mmask_t) (sp->_mouse_bstate & MASK_PRESS(n) \
++ ? REPORT_MOUSE_POSITION \
++ : MASK_PRESS(n)); \
++ sp->_mouse_bstate |= MASK_PRESS(n); \
++ } while (0)
+ #endif
+
+ switch (kbuf[0] & 0x3) {
+ case 0x0:
+- if (kbuf[0] & 64)
++ if ((kbuf[0] & 96) == 96) {
+ eventp->bstate = MASK_PRESS(4);
+- else
++ /* Do not record in sp->_mouse_bstate; there will be no
++ * corresponding release event.
++ */
++ } else {
+ PRESS_POSITION(1);
++ }
+ break;
+
+ case 0x1:
++ if ((kbuf[0] & 96) == 96) {
+ #if NCURSES_MOUSE_VERSION == 2
+- if (kbuf[0] & 64)
+ eventp->bstate = MASK_PRESS(5);
+- else
++ /* See comment above for button 4 */
++#else
++ /* Ignore this event as it is not a true press of the button */
++ eventp->bstate = REPORT_MOUSE_POSITION;
+ #endif
++ } else {
+ PRESS_POSITION(2);
++ }
+ break;
+
+ case 0x2:
+@@ -939,12 +982,13 @@
+ * release, we can infer the button actually released by looking at
+ * the previous event.
+ */
+- if (prev & (BUTTON_PRESSED | BUTTON_RELEASED)) {
++ if (sp->_mouse_bstate & BUTTON_PRESSED) {
+ eventp->bstate = BUTTON_RELEASED;
+ for (b = 1; b <= MAX_BUTTONS; ++b) {
+- if (!(prev & MASK_PRESS(b)))
++ if (!(sp->_mouse_bstate & MASK_PRESS(b)))
+ eventp->bstate &= ~MASK_RELEASE(b);
+ }
++ sp->_mouse_bstate = 0;
+ } else {
+ /*
+ * XFree86 xterm will return a stream of release-events to
+@@ -985,7 +1029,7 @@
+ }
+
+ static void
+-mouse_activate(SCREEN *sp, bool on)
++mouse_activate(SCREEN *sp, int on)
+ {
+ if (!on && !sp->_mouse_initialized)
+ return;
+@@ -994,7 +1038,7 @@
+ return;
+
+ if (on) {
+-
++ sp->_mouse_bstate = 0;
+ switch (sp->_mouse_type) {
+ case M_XTERM:
+ #if NCURSES_EXT_FUNCS
+@@ -1074,10 +1118,13 @@
+ /* parse a run of atomic mouse events into a gesture */
+ {
+ MEVENT *eventp = sp->_mouse_eventp;
+- MEVENT *ep, *runp, *next, *prev = PREV(eventp);
++ MEVENT *next, *ep;
++ MEVENT *first_valid = NULL;
++ MEVENT *first_invalid = NULL;
+ int n;
+ int b;
+ bool merge;
++ bool endLoop;
+
+ TR(MY_TRACE, ("_nc_mouse_parse(%d) called", runcount));
+
+@@ -1094,7 +1141,8 @@
+ *
+ * It's possible that the run may not resolve to a single event (for
+ * example, if the user quadruple-clicks). If so, leading events
+- * in the run are ignored.
++ * in the run are ignored if user does not call getmouse in a loop (getting
++ * them from newest to older).
+ *
+ * Note that this routine is independent of the format of the specific
+ * format of the pointing-device's reports. We can use it to parse
+@@ -1102,79 +1150,110 @@
+ * button basis, as long as the device-dependent mouse code puts stuff
+ * on the queue in MEVENT format.
+ */
+- if (runcount == 1) {
+- TR(MY_TRACE,
+- ("_nc_mouse_parse: returning simple mouse event %s at slot %ld",
+- _nc_tracemouse(sp, prev),
+- (long) IndexEV(sp, prev)));
+- return (prev->id >= NORMAL_EVENT)
+- ? ((prev->bstate & sp->_mouse_mask) ? TRUE : FALSE)
+- : FALSE;
+- }
+
+- /* find the start of the run */
+- runp = eventp;
+- for (n = runcount; n > 0; n--) {
+- runp = PREV(runp);
++ /*
++ * Reset all events that were not set, in case the user sometimes calls
++ * getmouse only once and other times until there are no more events in
++ * queue.
++ *
++ * This also allows reaching the beginning of the run.
++ */
++ ep = eventp;
++ for (n = runcount; n < EV_MAX; n++) {
++ Invalidate(ep);
++ ep = NEXT(ep);
+ }
+
+ #ifdef TRACE
+ if (USE_TRACEF(TRACE_IEVENT)) {
+ _trace_slot(sp, "before mouse press/release merge:");
+ _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
+- RunParams(sp, eventp, runp),
++ RunParams(sp, eventp, ep),
+ runcount);
+ _nc_unlock_global(tracef);
+ }
+ #endif /* TRACE */
+
+ /* first pass; merge press/release pairs */
+- do {
+- merge = FALSE;
+- for (ep = runp; (next = NEXT(ep)) != eventp; ep = next) {
++ endLoop = FALSE;
++ while (!endLoop) {
++ next = NEXT(ep);
++ if (next == eventp) {
++ /* Will end the loop, but compact before */
++ endLoop = TRUE;
++ } else {
+
+ #define MASK_CHANGED(x) (!(ep->bstate & MASK_PRESS(x)) \
+ == !(next->bstate & MASK_RELEASE(x)))
+
+- if (ep->x == next->x && ep->y == next->y
++ if (ValidEvent(ep) && ValidEvent(next)
++ && ep->x == next->x && ep->y == next->y
+ && (ep->bstate & BUTTON_PRESSED)
+- && MASK_CHANGED(1)
+- && MASK_CHANGED(2)
+- && MASK_CHANGED(3)
+- && MASK_CHANGED(4)
+-#if NCURSES_MOUSE_VERSION == 2
+- && MASK_CHANGED(5)
+-#endif
+- ) {
++ && (!(next->bstate & BUTTON_PRESSED))) {
++ bool changed = TRUE;
++
+ for (b = 1; b <= MAX_BUTTONS; ++b) {
+- if ((sp->_mouse_mask & MASK_CLICK(b))
+- && (ep->bstate & MASK_PRESS(b))) {
+- ep->bstate &= ~MASK_PRESS(b);
+- ep->bstate |= MASK_CLICK(b);
+- merge = TRUE;
++ if (!MASK_CHANGED(b)) {
++ changed = FALSE;
++ break;
++ }
++ }
++
++ if (changed) {
++ merge = FALSE;
++ for (b = 1; b <= MAX_BUTTONS; ++b) {
++ if ((sp->_mouse_mask & MASK_CLICK(b))
++ && (ep->bstate & MASK_PRESS(b))) {
++ next->bstate &= ~MASK_RELEASE(b);
++ next->bstate |= MASK_CLICK(b);
++ merge = TRUE;
++ }
++ }
++ if (merge) {
++ Invalidate(ep);
+ }
+ }
+- if (merge)
+- next->id = INVALID_EVENT;
+ }
+ }
+- } while
+- (merge);
+
++ /* Compact valid events */
++ if (!ValidEvent(ep)) {
++ if ((first_valid != NULL) && (first_invalid == NULL)) {
++ first_invalid = ep;
++ }
++ } else {
++ if (first_valid == NULL) {
++ first_valid = ep;
++ } else if (first_invalid != NULL) {
++ *first_invalid = *ep;
++ Invalidate(ep);
++ first_invalid = NEXT(first_invalid);
++ }
++ }
++
++ ep = next;
++ }
++
++ if (first_invalid != NULL) {
++ eventp = first_invalid;
++ }
+ #ifdef TRACE
+ if (USE_TRACEF(TRACE_IEVENT)) {
+ _trace_slot(sp, "before mouse click merge:");
+- _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
+- RunParams(sp, eventp, runp),
+- runcount);
+- _nc_unlock_global(tracef);
++ if (first_valid == NULL) {
++ _tracef("_nc_mouse_parse: no valid event");
++ } else {
++ _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
++ RunParams(sp, eventp, first_valid),
++ runcount);
++ _nc_unlock_global(tracef);
++ }
+ }
+ #endif /* TRACE */
+
+ /*
+- * Second pass; merge click runs. At this point, click events are
+- * each followed by one invalid event. We merge click events
+- * forward in the queue.
++ * Second pass; merge click runs. We merge click events forward in the
++ * queue. For example, double click can be changed to triple click.
+ *
+ * NOTE: There is a problem with this design! If the application
+ * allows enough click events to pile up in the circular queue so
+@@ -1187,87 +1266,102 @@
+ * but the timer element would have to have sub-second resolution,
+ * which would get us into portability trouble.
+ */
+- do {
+- MEVENT *follower;
+-
+- merge = FALSE;
+- for (ep = runp; (next = NEXT(ep)) != eventp; ep = next)
+- if (ep->id != INVALID_EVENT) {
+- if (next->id != INVALID_EVENT)
+- continue;
+- follower = NEXT(next);
+- if (follower->id == INVALID_EVENT)
+- continue;
+-
+- /* merge click events forward */
+- if ((ep->bstate & BUTTON_CLICKED)
+- && (follower->bstate & BUTTON_CLICKED)) {
+- for (b = 1; b <= MAX_BUTTONS; ++b) {
+- if ((sp->_mouse_mask & MASK_DOUBLE_CLICK(b))
+- && (follower->bstate & MASK_CLICK(b))) {
+- follower->bstate &= ~MASK_CLICK(b);
+- follower->bstate |= MASK_DOUBLE_CLICK(b);
+- merge = TRUE;
+- }
++ first_invalid = NULL;
++ endLoop = (first_valid == NULL);
++ ep = first_valid;
++ while (!endLoop) {
++ next = NEXT(ep);
++
++ if (next == eventp) {
++ /* Will end the loop, but check event type and compact before */
++ endLoop = TRUE;
++ } else if (!ValidEvent(next)) {
++ continue;
++ } else {
++ /* merge click events forward */
++ if ((ep->bstate & BUTTON_CLICKED)
++ && (next->bstate & BUTTON_CLICKED)) {
++ merge = FALSE;
++ for (b = 1; b <= MAX_BUTTONS; ++b) {
++ if ((sp->_mouse_mask & MASK_DOUBLE_CLICK(b))
++ && (ep->bstate & MASK_CLICK(b))
++ && (next->bstate & MASK_CLICK(b))) {
++ next->bstate &= ~MASK_CLICK(b);
++ next->bstate |= MASK_DOUBLE_CLICK(b);
++ merge = TRUE;
+ }
+- if (merge)
+- ep->id = INVALID_EVENT;
+ }
++ if (merge) {
++ Invalidate(ep);
++ }
++ }
+
+- /* merge double-click events forward */
+- if ((ep->bstate & BUTTON_DOUBLE_CLICKED)
+- && (follower->bstate & BUTTON_CLICKED)) {
+- for (b = 1; b <= MAX_BUTTONS; ++b) {
+- if ((sp->_mouse_mask & MASK_TRIPLE_CLICK(b))
+- && (follower->bstate & MASK_CLICK(b))) {
+- follower->bstate &= ~MASK_CLICK(b);
+- follower->bstate |= MASK_TRIPLE_CLICK(b);
+- merge = TRUE;
+- }
++ /* merge double-click events forward */
++ if ((ep->bstate & BUTTON_DOUBLE_CLICKED)
++ && (next->bstate & BUTTON_CLICKED)) {
++ merge = FALSE;
++ for (b = 1; b <= MAX_BUTTONS; ++b) {
++ if ((sp->_mouse_mask & MASK_TRIPLE_CLICK(b))
++ && (ep->bstate & MASK_DOUBLE_CLICK(b))
++ && (next->bstate & MASK_CLICK(b))) {
++ next->bstate &= ~MASK_CLICK(b);
++ next->bstate |= MASK_TRIPLE_CLICK(b);
++ merge = TRUE;
+ }
+- if (merge)
+- ep->id = INVALID_EVENT;
++ }
++ if (merge) {
++ Invalidate(ep);
+ }
+ }
+- } while
+- (merge);
++ }
+
+-#ifdef TRACE
+- if (USE_TRACEF(TRACE_IEVENT)) {
+- _trace_slot(sp, "before mouse event queue compaction:");
+- _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
+- RunParams(sp, eventp, runp),
+- runcount);
+- _nc_unlock_global(tracef);
+- }
+-#endif /* TRACE */
++ /* Discard event if it does not match event mask */
++ if (!(ep->bstate & sp->_mouse_mask2)) {
++ Invalidate(ep);
++ }
+
+- /*
+- * Now try to throw away trailing events flagged invalid, or that
+- * don't match the current event mask.
+- */
+- for (; runcount; prev = PREV(eventp), runcount--)
+- if (prev->id == INVALID_EVENT || !(prev->bstate & sp->_mouse_mask)) {
+- sp->_mouse_eventp = eventp = prev;
++ /* Compact valid events */
++ if (!ValidEvent(ep)) {
++ if (ep == first_valid) {
++ first_valid = next;
++ } else if (first_invalid == NULL) {
++ first_invalid = ep;
++ }
++ } else if (first_invalid != NULL) {
++ *first_invalid = *ep;
++ Invalidate(ep);
++ first_invalid = NEXT(first_invalid);
+ }
++
++ ep = next;
++ }
++
++ if (first_invalid == NULL) {
++ first_invalid = eventp;
++ }
++ sp->_mouse_eventp = first_invalid;
++
+ #ifdef TRACE
+- if (USE_TRACEF(TRACE_IEVENT)) {
+- _trace_slot(sp, "after mouse event queue compaction:");
+- _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
+- RunParams(sp, eventp, runp),
+- runcount);
+- _nc_unlock_global(tracef);
++ if (first_valid != NULL) {
++ if (USE_TRACEF(TRACE_IEVENT)) {
++ _trace_slot(sp, "after mouse event queue compaction:");
++ _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
++ RunParams(sp, first_invalid, first_valid),
++ runcount);
++ _nc_unlock_global(tracef);
++ }
++ for (ep = first_valid; ep != first_invalid; ep = NEXT(ep)) {
++ if (ValidEvent(ep))
++ TR(MY_TRACE,
++ ("_nc_mouse_parse: returning composite mouse event %s at slot %ld",
++ _nc_tracemouse(sp, ep),
++ (long) IndexEV(sp, ep)));
++ }
+ }
+- for (ep = runp; ep != eventp; ep = NEXT(ep))
+- if (ep->id != INVALID_EVENT)
+- TR(MY_TRACE,
+- ("_nc_mouse_parse: returning composite mouse event %s at slot %ld",
+- _nc_tracemouse(sp, ep),
+- (long) IndexEV(sp, ep)));
+ #endif /* TRACE */
+
+ /* after all this, do we have a valid event? */
+- return (PREV(eventp)->id != INVALID_EVENT);
++ return ValidEvent(PREV(first_invalid));
+ }
+
+ static void
+@@ -1359,7 +1453,16 @@
+ /* compute the current-event pointer */
+ MEVENT *prev = PREV(eventp);
+
+- if (prev->id != INVALID_EVENT) {
++ /*
++ * Discard events not matching mask (there could be still some if
++ * _nc_mouse_parse was not called, e.g., when _nc_mouse_inline returns
++ * false).
++ */
++ while (ValidEvent(prev) && (!(prev->bstate & SP_PARM->_mouse_mask2))) {
++ Invalidate(prev);
++ prev = PREV(prev);
++ }
++ if (ValidEvent(prev)) {
+ /* copy the event we find there */
+ *aevent = *prev;
+
+@@ -1367,9 +1470,16 @@
+ _nc_tracemouse(SP_PARM, prev),
+ (long) IndexEV(SP_PARM, prev)));
+
+- prev->id = INVALID_EVENT; /* so the queue slot becomes free */
+- SP_PARM->_mouse_eventp = PREV(prev);
++ Invalidate(prev); /* so the queue slot becomes free */
++ SP_PARM->_mouse_eventp = prev;
+ result = OK;
++ } else {
++ /* Reset the provided event */
++ aevent->bstate = 0;
++ Invalidate(aevent);
++ aevent->x = 0;
++ aevent->y = 0;
++ aevent->z = 0;
+ }
+ }
+ returnCode(result);
+@@ -1420,6 +1530,7 @@
+ /* set the mouse event mask */
+ {
+ mmask_t result = 0;
++ int b;
+
+ T((T_CALLED("mousemask(%p,%#lx,%p)"),
+ (void *) SP_PARM,
+@@ -1447,6 +1558,22 @@
+ mouse_activate(SP_PARM, (bool) (result != 0));
+
+ SP_PARM->_mouse_mask = result;
++ SP_PARM->_mouse_mask2 = result;
++
++ /*
++ * Make a mask corresponding to the states we will need to
++ * retain (temporarily) while building up the state that the
++ * user asked for.
++ */
++ for (b = 1; b <= MAX_BUTTONS; ++b) {
++ if (SP_PARM->_mouse_mask2 & MASK_TRIPLE_CLICK(b))
++ SP_PARM->_mouse_mask2 |= MASK_DOUBLE_CLICK(b);
++ if (SP_PARM->_mouse_mask2 & MASK_DOUBLE_CLICK(b))
++ SP_PARM->_mouse_mask2 |= MASK_CLICK(b);
++ if (SP_PARM->_mouse_mask2 & MASK_CLICK(b))
++ SP_PARM->_mouse_mask2 |= (MASK_PRESS(b) |
++ MASK_RELEASE(b));
++ }
+ }
+ }
+ }
+Index: ncurses/base/lib_newterm.c
+Prereq: 1.86
+--- ncurses-5.9/ncurses/base/lib_newterm.c 2010-05-20 23:25:18.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_newterm.c 2012-01-21 19:21:29.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,17 +42,13 @@
+
+ #include <curses.priv.h>
+
+-#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
+-#define _POSIX_SOURCE
+-#endif
+-
+ #ifndef CUR
+ #define CUR SP_TERMTYPE
+ #endif
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: lib_newterm.c,v 1.86 2010/05/20 23:25:18 tom Exp $")
++MODULE_ID("$Id: lib_newterm.c,v 1.88 2012/01/21 19:21:29 KO.Myung-Hun Exp $")
+
+ #ifdef USE_TERM_DRIVER
+ #define NumLabels InfoOf(SP_PARM).numlabels
+@@ -283,7 +279,8 @@
+ NCURSES_SP_NAME(typeahead) (NCURSES_SP_ARGx fileno(_ifp));
+ #ifdef TERMIOS
+ SP_PARM->_use_meta = ((new_term->Ottyb.c_cflag & CSIZE) == CS8 &&
+- !(new_term->Ottyb.c_iflag & ISTRIP));
++ !(new_term->Ottyb.c_iflag & ISTRIP)) ||
++ USE_KLIBC_KBD;
+ #else
+ SP_PARM->_use_meta = FALSE;
+ #endif
+Index: ncurses/base/lib_newwin.c
+Prereq: 1.69
+--- ncurses-5.9/ncurses/base/lib_newwin.c 2011-03-07 21:58:17.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_newwin.c 2011-05-28 21:32:51.000000000 +0000
+@@ -43,7 +43,7 @@
+ #include <curses.priv.h>
+ #include <stddef.h>
+
+-MODULE_ID("$Id: lib_newwin.c,v 1.69 2011/03/07 21:58:17 tom Exp $")
++MODULE_ID("$Id: lib_newwin.c,v 1.71 2011/05/28 21:32:51 tom Exp $")
+
+ #define window_is(name) ((sp)->_##name == win)
+
+@@ -141,7 +141,11 @@
+ T((T_CALLED("newwin(%p, %d,%d,%d,%d)"), (void *) SP_PARM, num_lines, num_columns,
+ begy, begx));
+
+- if (begy < 0 || begx < 0 || num_lines < 0 || num_columns < 0)
++ if (begy < 0
++ || begx < 0
++ || num_lines < 0
++ || num_columns < 0
++ || SP_PARM == 0)
+ returnWin(0);
+
+ if (num_lines == 0)
+@@ -235,10 +239,15 @@
+ NCURSES_EXPORT(WINDOW *)
+ subwin(WINDOW *w, int l, int c, int y, int x)
+ {
++ WINDOW *result = 0;
++
+ T((T_CALLED("subwin(%p, %d, %d, %d, %d)"), (void *) w, l, c, y, x));
+- T(("parent has begy = %ld, begx = %ld", (long) w->_begy, (long) w->_begx));
++ if (w != 0) {
++ T(("parent has begy = %ld, begx = %ld", (long) w->_begy, (long) w->_begx));
+
+- returnWin(derwin(w, l, c, y - w->_begy, x - w->_begx));
++ result = derwin(w, l, c, y - w->_begy, x - w->_begx);
++ }
++ returnWin(result);
+ }
+
+ static bool
+Index: ncurses/base/lib_overlay.c
+Prereq: 1.29
+--- ncurses-5.9/ncurses/base/lib_overlay.c 2009-10-24 23:21:31.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_overlay.c 2013-04-06 23:47:13.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,7 +40,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_overlay.c,v 1.29 2009/10/24 23:21:31 tom Exp $")
++MODULE_ID("$Id: lib_overlay.c,v 1.31 2013/04/06 23:47:13 tom Exp $")
+
+ static int
+ overlap(const WINDOW *const src, WINDOW *const dst, int const flag)
+@@ -151,7 +151,10 @@
+ dminrow, dmincol,
+ dmaxrow, dmaxcol, over));
+
+- if (src && dst) {
++ if (src != 0
++ && dst != 0
++ && dmaxrow >= dminrow
++ && dmaxcol >= dmincol) {
+ _nc_lock_global(curses);
+
+ bk = AttrOf(dst->_nc_bkgd);
+@@ -160,6 +163,7 @@
+ /* make sure rectangle exists in source */
+ if ((sminrow + dmaxrow - dminrow) <= (src->_maxy + 1) &&
+ (smincol + dmaxcol - dmincol) <= (src->_maxx + 1)) {
++ bool copied = FALSE;
+
+ T(("rectangle exists in source"));
+
+@@ -172,10 +176,18 @@
+ dy <= dmaxrow;
+ sy++, dy++) {
+
++ if (dy < 0 || sy < 0)
++ continue;
++
+ touched = FALSE;
+ for (dx = dmincol, sx = smincol;
+ dx <= dmaxcol;
+ sx++, dx++) {
++
++ if (dx < 0 || sx < 0)
++ continue;
++ copied = TRUE;
++
+ if (over) {
+ if ((CharOf(src->_line[sy].text[sx]) != L(' ')) &&
+ (!CharEq(dst->_line[dy].text[dx],
+@@ -201,7 +213,8 @@
+ }
+ }
+ T(("finished copywin"));
+- rc = OK;
++ if (copied)
++ rc = OK;
+ }
+ }
+ _nc_unlock_global(curses);
+Index: ncurses/base/lib_printw.c
+Prereq: 1.20
+--- ncurses-5.9/ncurses/base/lib_printw.c 2009-10-24 22:07:03.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_printw.c 2012-09-03 17:55:28.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2005,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ ****************************************************************************/
+
+ /****************************************************************************
+- * Author: Thomas E. Dickey <dickey@clark.net> 1997 *
++ * Author: Thomas E. Dickey 1997-on *
+ ****************************************************************************/
+
+ /*
+@@ -39,7 +39,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_printw.c,v 1.20 2009/10/24 22:07:03 tom Exp $")
++MODULE_ID("$Id: lib_printw.c,v 1.23 2012/09/03 17:55:28 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ printw(const char *fmt,...)
+@@ -48,10 +48,11 @@
+ int code;
+
+ #ifdef TRACE
+- va_start(argp, fmt);
++ va_list argq;
++ va_start(argq, fmt);
+ T((T_CALLED("printw(%s%s)"),
+- _nc_visbuf(fmt), _nc_varargs(fmt, argp)));
+- va_end(argp);
++ _nc_visbuf(fmt), _nc_varargs(fmt, argq)));
++ va_end(argq);
+ #endif
+
+ va_start(argp, fmt);
+@@ -68,10 +69,11 @@
+ int code;
+
+ #ifdef TRACE
+- va_start(argp, fmt);
++ va_list argq;
++ va_start(argq, fmt);
+ T((T_CALLED("wprintw(%p,%s%s)"),
+- (void *) win, _nc_visbuf(fmt), _nc_varargs(fmt, argp)));
+- va_end(argp);
++ (void *) win, _nc_visbuf(fmt), _nc_varargs(fmt, argq)));
++ va_end(argq);
+ #endif
+
+ va_start(argp, fmt);
+@@ -88,10 +90,11 @@
+ int code;
+
+ #ifdef TRACE
+- va_start(argp, fmt);
++ va_list argq;
++ va_start(argq, fmt);
+ T((T_CALLED("mvprintw(%d,%d,%s%s)"),
+- y, x, _nc_visbuf(fmt), _nc_varargs(fmt, argp)));
+- va_end(argp);
++ y, x, _nc_visbuf(fmt), _nc_varargs(fmt, argq)));
++ va_end(argq);
+ #endif
+
+ if ((code = move(y, x)) != ERR) {
+@@ -109,10 +112,11 @@
+ int code;
+
+ #ifdef TRACE
+- va_start(argp, fmt);
++ va_list argq;
++ va_start(argq, fmt);
+ T((T_CALLED("mvwprintw(%d,%d,%p,%s%s)"),
+- y, x, (void *) win, _nc_visbuf(fmt), _nc_varargs(fmt, argp)));
+- va_end(argp);
++ y, x, (void *) win, _nc_visbuf(fmt), _nc_varargs(fmt, argq)));
++ va_end(argq);
+ #endif
+
+ if ((code = wmove(win, y, x)) != ERR) {
+Index: ncurses/base/lib_refresh.c
+Prereq: 1.44
+--- ncurses-5.9/ncurses/base/lib_refresh.c 2010-12-19 01:22:58.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_refresh.c 2011-06-25 19:02:22.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_refresh.c,v 1.44 2010/12/19 01:22:58 tom Exp $")
++MODULE_ID("$Id: lib_refresh.c,v 1.45 2011/06/25 19:02:22 Vassili.Courzakis Exp $")
+
+ NCURSES_EXPORT(int)
+ wrefresh(WINDOW *win)
+@@ -90,12 +90,6 @@
+ #endif
+
+ T((T_CALLED("wnoutrefresh(%p)"), (void *) win));
+-#ifdef TRACE
+- if (USE_TRACEF(TRACE_UPDATE)) {
+- _tracedump("...win", win);
+- _nc_unlock_global(tracef);
+- }
+-#endif /* TRACE */
+
+ /*
+ * This function will break badly if we try to refresh a pad.
+@@ -104,6 +98,13 @@
+ || (win->_flags & _ISPAD))
+ returnCode(ERR);
+
++#ifdef TRACE
++ if (USE_TRACEF(TRACE_UPDATE)) {
++ _tracedump("...win", win);
++ _nc_unlock_global(tracef);
++ }
++#endif /* TRACE */
++
+ /* put them here so "win == 0" won't break our code */
+ begx = win->_begx;
+ begy = win->_begy;
+Index: ncurses/base/lib_restart.c
+Prereq: 1.13
+--- ncurses-5.9/ncurses/base/lib_restart.c 2009-10-24 22:47:43.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_restart.c 2012-12-08 20:40:06.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -41,11 +41,7 @@
+
+ #include <curses.priv.h>
+
+-#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
+-#define _POSIX_SOURCE
+-#endif
+-
+-MODULE_ID("$Id: lib_restart.c,v 1.13 2009/10/24 22:47:43 tom Exp $")
++MODULE_ID("$Id: lib_restart.c,v 1.15 2012/12/08 20:40:06 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ NCURSES_SP_NAME(restartterm) (NCURSES_SP_DCLx
+@@ -55,7 +51,7 @@
+ {
+ int result;
+ #ifdef USE_TERM_DRIVER
+- TERMINAL *new_term;
++ TERMINAL *new_term = 0;
+ #endif
+
+ T((T_CALLED("restartterm(%p,%s,%d,%p)"),
+Index: ncurses/base/lib_scanw.c
+Prereq: 1.12
+--- ncurses-5.9/ncurses/base/lib_scanw.c 2009-10-24 22:35:14.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_scanw.c 2011-10-22 16:31:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,14 +40,14 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_scanw.c,v 1.12 2009/10/24 22:35:14 tom Exp $")
++MODULE_ID("$Id: lib_scanw.c,v 1.13 2011/10/22 16:31:35 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ vwscanw(WINDOW *win, NCURSES_CONST char *fmt, va_list argp)
+ {
+ char buf[BUFSIZ];
+
+- if (wgetnstr(win, buf, sizeof(buf) - 1) == ERR)
++ if (wgetnstr(win, buf, (int) sizeof(buf) - 1) == ERR)
+ return (ERR);
+
+ return (vsscanf(buf, fmt, argp));
+Index: ncurses/base/lib_screen.c
+Prereq: 1.38
+--- ncurses-5.9/ncurses/base/lib_screen.c 2009-10-24 22:08:55.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_screen.c 2011-10-22 15:03:11.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_screen.c,v 1.38 2009/10/24 22:08:55 tom Exp $")
++MODULE_ID("$Id: lib_screen.c,v 1.41 2011/10/22 15:03:11 tom Exp $")
+
+ #define MAX_SIZE 0x3fff /* 16k is big enough for a window or pad */
+
+@@ -51,8 +51,11 @@
+
+ T((T_CALLED("getwin(%p)"), (void *) filep));
+
++ if (filep == 0) {
++ returnWin(0);
++ }
+ clearerr(filep);
+- if (fread(&tmp, 1, sizeof(WINDOW), filep) < sizeof(WINDOW)
++ if (fread(&tmp, (size_t) 1, sizeof(WINDOW), filep) < sizeof(WINDOW)
+ || ferror(filep)
+ || tmp._maxy == 0
+ || tmp._maxy > MAX_SIZE
+@@ -110,7 +113,7 @@
+
+ for (n = 0; n <= nwin->_maxy; n++) {
+ clearerr(filep);
+- if (fread(nwin->_line[n].text, 1, linesize, filep) < linesize
++ if (fread(nwin->_line[n].text, (size_t) 1, linesize, filep) < linesize
+ || ferror(filep)) {
+ delwin(nwin);
+ returnWin(0);
+@@ -141,7 +144,7 @@
+ size_t len = (size_t) (win->_maxx + 1);
+
+ clearerr(filep);
+- if (fwrite(win, sizeof(WINDOW), 1, filep) != 1
++ if (fwrite(win, sizeof(WINDOW), (size_t) 1, filep) != 1
+ || ferror(filep))
+ returnCode(code);
+
+@@ -189,18 +192,20 @@
+ NCURSES_EXPORT(int)
+ scr_dump(const char *file)
+ {
++ int result;
+ FILE *fp = 0;
+
+ T((T_CALLED("scr_dump(%s)"), _nc_visbuf(file)));
+
+ if (_nc_access(file, W_OK) < 0
+ || (fp = fopen(file, "wb")) == 0) {
+- returnCode(ERR);
++ result = ERR;
+ } else {
+ (void) putwin(newscr, fp);
+ (void) fclose(fp);
+- returnCode(OK);
++ result = OK;
+ }
++ returnCode(result);
+ }
+
+ NCURSES_EXPORT(int)
+Index: ncurses/base/lib_scroll.c
+Prereq: 1.28
+--- ncurses-5.9/ncurses/base/lib_scroll.c 2010-12-19 01:48:09.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_scroll.c 2011-10-22 16:34:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -43,13 +43,13 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_scroll.c,v 1.28 2010/12/19 01:48:09 tom Exp $")
++MODULE_ID("$Id: lib_scroll.c,v 1.29 2011/10/22 16:34:50 tom Exp $")
+
+ NCURSES_EXPORT(void)
+ _nc_scroll_window(WINDOW *win,
+ int const n,
+- NCURSES_SIZE_T const top,
+- NCURSES_SIZE_T const bottom,
++ int const top,
++ int const bottom,
+ NCURSES_CH_T blank)
+ {
+ int limit;
+Index: ncurses/base/lib_set_term.c
+Prereq: 1.138
+--- ncurses-5.9/ncurses/base/lib_set_term.c 2010-12-20 00:42:20.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_set_term.c 2012-12-22 21:30:04.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -47,7 +47,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_set_term.c,v 1.138 2010/12/20 00:42:20 tom Exp $")
++MODULE_ID("$Id: lib_set_term.c,v 1.147 2012/12/22 21:30:04 tom Exp $")
+
+ #ifdef USE_TERM_DRIVER
+ #define MaxColors InfoOf(sp).maxcolors
+@@ -188,18 +188,7 @@
+ FreeIfNeeded(sp->_acs_map);
+ FreeIfNeeded(sp->_screen_acs_map);
+
+- /*
+- * If the associated output stream has been closed, we can discard the
+- * set-buffer. Limit the error check to EBADF, since fflush may fail
+- * for other reasons than trying to operate upon a closed stream.
+- */
+- if (sp->_ofp != 0
+- && sp->_setbuf != 0
+- && fflush(sp->_ofp) != 0
+- && errno == EBADF) {
+- free(sp->_setbuf);
+- }
+-
++ NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
+ NCURSES_SP_NAME(del_curterm) (NCURSES_SP_ARGx sp->_term);
+ free(sp);
+
+@@ -272,8 +261,8 @@
+ }
+ #endif
+
+-#define ReturnScreenError() _nc_set_screen(0); \
+- returnCode(ERR)
++#define ReturnScreenError() { _nc_set_screen(0); \
++ returnCode(ERR); } while (0)
+
+ /* OS-independent screen initializations */
+ NCURSES_EXPORT(int)
+@@ -284,7 +273,7 @@
+ int slines,
+ int scolumns,
+ FILE *output,
+- bool filtered,
++ int filtered,
+ int slk_format)
+ {
+ char *env;
+@@ -383,7 +372,15 @@
+ sp->_lines = (NCURSES_SIZE_T) slines;
+ sp->_lines_avail = (NCURSES_SIZE_T) slines;
+ sp->_columns = (NCURSES_SIZE_T) scolumns;
++
++ fflush(output);
++ sp->_ofd = output ? fileno(output) : -1;
+ sp->_ofp = output;
++ sp->out_limit = (size_t) ((2 + slines) * (6 + scolumns));
++ if ((sp->out_buffer = malloc(sp->out_limit)) == 0)
++ sp->out_limit = 0;
++ sp->out_inuse = 0;
++
+ SP_PRE_INIT(sp);
+ SetNoPadding(sp);
+
+@@ -584,9 +581,13 @@
+
+ NCURSES_SP_NAME(_nc_init_acs) (NCURSES_SP_ARG);
+ #if USE_WIDEC_SUPPORT
++ sp->_screen_unicode = _nc_unicode_locale();
+ _nc_init_wacs();
++ if (_nc_wacs == 0) {
++ ReturnScreenError();
++ }
+
+- sp->_screen_acs_fix = (_nc_unicode_locale()
++ sp->_screen_acs_fix = (sp->_screen_unicode
+ && _nc_locale_breaks_acs(sp->_term));
+ #endif
+ env = _nc_get_locale();
+@@ -619,6 +620,7 @@
+ #endif
+ #if USE_SIZECHANGE
+ sp->_resize = NCURSES_SP_NAME(resizeterm);
++ sp->_ungetch = safe_ungetch;
+ #endif
+
+ NewScreen(sp)->_clear = TRUE;
+@@ -695,7 +697,7 @@
+ _nc_setupscreen(int slines GCC_UNUSED,
+ int scolumns GCC_UNUSED,
+ FILE *output,
+- bool filtered,
++ int filtered,
+ int slk_format)
+ {
+ SCREEN *sp = 0;
+@@ -759,6 +761,7 @@
+ int line,
+ int (*init) (WINDOW *, int))
+ {
++ START_TRACE();
+ return NCURSES_SP_NAME(_nc_ripoffline) (NCURSES_SP_ARGx
+ (line < 0) ? -1 : 1,
+ init);
+Index: ncurses/base/lib_slkrefr.c
+Prereq: 1.26
+--- ncurses-5.9/ncurses/base/lib_slkrefr.c 2010-05-01 19:17:28.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_slkrefr.c 2013-01-12 17:25:48.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -43,7 +43,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_slkrefr.c,v 1.26 2010/05/01 19:17:28 tom Exp $")
++MODULE_ID("$Id: lib_slkrefr.c,v 1.29 2013/01/12 17:25:48 tom Exp $")
+
+ #ifdef USE_TERM_DRIVER
+ #define NumLabels InfoOf(SP_PARM).numlabels
+@@ -100,22 +100,22 @@
+ CallDriver_2(sp, hwlabel, i + 1, slk->ent[i].form_text);
+ #else
+ if (i < num_labels) {
+- TPUTS_TRACE("plab_norm");
+- putp(TPARM_2(plab_norm, i + 1, slk->ent[i].form_text));
++ NCURSES_PUTP2("plab_norm",
++ TPARM_2(plab_norm,
++ i + 1,
++ slk->ent[i].form_text));
+ }
+ #endif
+ } else {
+ if (fmt == 4)
+ slk_paint_info(slk->win);
+ wmove(slk->win, SLK_LINES(fmt) - 1, slk->ent[i].ent_x);
+- if (sp->_slk) {
+- (void) wattrset(slk->win, AttrOf(sp->_slk->attr));
+- }
++ (void) wattrset(slk->win, (int) AttrOf(slk->attr));
+ waddstr(slk->win, slk->ent[i].form_text);
+ /* if we simulate SLK's, it's looking much more
+ natural to use the current ATTRIBUTE also
+ for the label window */
+- (void) wattrset(slk->win, WINDOW_ATTRS(StdScreen(sp)));
++ (void) wattrset(slk->win, (int) WINDOW_ATTRS(StdScreen(sp)));
+ }
+ }
+ slk->ent[i].dirty = FALSE;
+@@ -128,11 +128,9 @@
+ CallDriver_1(sp, hwlabelOnOff, slk->hidden ? FALSE : TRUE);
+ #else
+ if (slk->hidden) {
+- TPUTS_TRACE("label_off");
+- putp(label_off);
++ NCURSES_PUTP2("label_off", label_off);
+ } else {
+- TPUTS_TRACE("label_on");
+- putp(label_on);
++ NCURSES_PUTP2("label_on", label_on);
+ }
+ #endif
+ }
+Index: ncurses/base/lib_slkset.c
+Prereq: 1.21
+--- ncurses-5.9/ncurses/base/lib_slkset.c 2010-12-25 23:43:58.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_slkset.c 2012-12-08 23:09:25.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -44,13 +44,13 @@
+ #endif
+ #endif
+
+-MODULE_ID("$Id: lib_slkset.c,v 1.21 2010/12/25 23:43:58 tom Exp $")
++MODULE_ID("$Id: lib_slkset.c,v 1.24 2012/12/08 23:09:25 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ NCURSES_SP_NAME(slk_set) (NCURSES_SP_DCLx int i, const char *astr, int format)
+ {
+ SLK *slk;
+- int offset;
++ int offset = 0;
+ int numchrs;
+ int numcols;
+ int limit;
+@@ -111,13 +111,12 @@
+ slk->ent[i].ent_text[numchrs] = '\0';
+
+ if ((slk->ent[i].form_text = (char *) _nc_doalloc(slk->ent[i].form_text,
+- (unsigned) (limit +
+- numchrs + 1))
++ (size_t) (limit +
++ numchrs + 1))
+ ) == 0)
+ returnCode(ERR);
+
+ switch (format) {
+- default:
+ case 0: /* left-justified */
+ offset = 0;
+ break;
+@@ -131,16 +130,16 @@
+ if (offset <= 0)
+ offset = 0;
+ else
+- memset(slk->ent[i].form_text, ' ', (unsigned) offset);
++ memset(slk->ent[i].form_text, ' ', (size_t) offset);
+
+ memcpy(slk->ent[i].form_text + offset,
+ slk->ent[i].ent_text,
+- (unsigned) numchrs);
++ (size_t) numchrs);
+
+ if (offset < limit) {
+ memset(slk->ent[i].form_text + offset + numchrs,
+ ' ',
+- (unsigned) (limit - (offset + numcols)));
++ (size_t) (limit - (offset + numcols)));
+ }
+
+ slk->ent[i].form_text[numchrs - numcols + limit] = 0;
+Index: ncurses/base/lib_touch.c
+Prereq: 1.11
+--- ncurses-5.9/ncurses/base/lib_touch.c 2010-12-19 01:22:58.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_touch.c 2012-06-09 20:29:33.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -43,7 +43,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_touch.c,v 1.11 2010/12/19 01:22:58 tom Exp $")
++MODULE_ID("$Id: lib_touch.c,v 1.12 2012/06/09 20:29:33 tom Exp $")
+
+ NCURSES_EXPORT(bool)
+ is_linetouched(WINDOW *win, int line)
+@@ -84,7 +84,7 @@
+ for (i = y; i < y + n; i++) {
+ if (i > win->_maxy)
+ break;
+- win->_line[i].firstchar = changed ? 0 : _NOCHANGE;
++ win->_line[i].firstchar = (NCURSES_SIZE_T) (changed ? 0 : _NOCHANGE);
+ win->_line[i].lastchar = (NCURSES_SIZE_T) (changed
+ ? win->_maxx
+ : _NOCHANGE);
+Index: ncurses/base/lib_ungetch.c
+Prereq: 1.14
+--- ncurses-5.9/ncurses/base/lib_ungetch.c 2009-10-24 22:12:21.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/lib_ungetch.c 2012-08-04 17:38:53.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_ungetch.c,v 1.14 2009/10/24 22:12:21 tom Exp $")
++MODULE_ID("$Id: lib_ungetch.c,v 1.16 2012/08/04 17:38:53 tom Exp $")
+
+ #include <fifo_defs.h>
+
+@@ -64,13 +64,14 @@
+
+ T((T_CALLED("ungetch(%p,%s)"), (void *) sp, _nc_tracechar(sp, ch)));
+
+- if (tail != -1) {
+- if (head == -1) {
++ if (sp != 0 && tail >= 0) {
++ if (head < 0) {
+ head = 0;
+ t_inc();
+ peek = tail; /* no raw keys */
+- } else
++ } else {
+ h_dec();
++ }
+
+ sp->_fifo[head] = ch;
+ T(("ungetch %s ok", _nc_tracechar(sp, ch)));
+Index: ncurses/base/resizeterm.c
+Prereq: 1.43
+--- ncurses-5.9/ncurses/base/resizeterm.c 2011-01-10 01:34:49.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/resizeterm.c 2012-07-07 17:07:23.000000000 +0000
+@@ -45,7 +45,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: resizeterm.c,v 1.43 2011/01/10 01:34:49 tom Exp $")
++MODULE_ID("$Id: resizeterm.c,v 1.45 2012/07/07 17:07:23 tom Exp $")
+
+ /*
+ * If we're trying to be reentrant, do not want any local statics.
+@@ -365,58 +365,71 @@
+ }
+ #endif
+ if (ToLines > screen_lines(SP_PARM)) {
+- increase_size(NCURSES_SP_ARGx
+- myLines = ToLines, myCols, was_stolen EXTRA_ARGS);
++ result = increase_size(NCURSES_SP_ARGx
++ myLines = ToLines,
++ myCols,
++ was_stolen EXTRA_ARGS);
+ CurLines = myLines;
+ CurCols = myCols;
+ }
+
+- if (ToCols > screen_columns(SP_PARM)) {
+- increase_size(NCURSES_SP_ARGx
+- myLines, myCols = ToCols, was_stolen EXTRA_ARGS);
++ if ((result == OK)
++ && (ToCols > screen_columns(SP_PARM))) {
++ result = increase_size(NCURSES_SP_ARGx
++ myLines,
++ myCols = ToCols,
++ was_stolen EXTRA_ARGS);
+ CurLines = myLines;
+ CurCols = myCols;
+ }
+
+- if (ToLines < myLines ||
+- ToCols < myCols) {
+- decrease_size(NCURSES_SP_ARGx ToLines, ToCols, was_stolen EXTRA_ARGS);
++ if ((result == OK)
++ && (ToLines < myLines ||
++ ToCols < myCols)) {
++ result = decrease_size(NCURSES_SP_ARGx
++ ToLines,
++ ToCols,
++ was_stolen EXTRA_ARGS);
+ }
+
+- screen_lines(SP_PARM) = (NCURSES_SIZE_T) ToLines;
+- screen_columns(SP_PARM) = (NCURSES_SIZE_T) ToCols;
++ if (result == OK) {
++ screen_lines(SP_PARM) = (NCURSES_SIZE_T) ToLines;
++ screen_columns(SP_PARM) = (NCURSES_SIZE_T) ToCols;
+
+ #ifdef USE_TERM_DRIVER
+- CallDriver_2(SP_PARM, setsize, ToLines, ToCols);
++ CallDriver_2(SP_PARM, setsize, ToLines, ToCols);
+ #else
+- lines = (NCURSES_SIZE_T) ToLines;
+- columns = (NCURSES_SIZE_T) ToCols;
++ lines = (NCURSES_SIZE_T) ToLines;
++ columns = (NCURSES_SIZE_T) ToCols;
+ #endif
+
+- SP_PARM->_lines_avail = (NCURSES_SIZE_T) (ToLines - was_stolen);
++ SP_PARM->_lines_avail = (NCURSES_SIZE_T) (ToLines - was_stolen);
+
+- if (SP_PARM->oldhash) {
+- FreeAndNull(SP_PARM->oldhash);
+- }
+- if (SP_PARM->newhash) {
+- FreeAndNull(SP_PARM->newhash);
+- }
++ if (SP_PARM->oldhash) {
++ FreeAndNull(SP_PARM->oldhash);
++ }
++ if (SP_PARM->newhash) {
++ FreeAndNull(SP_PARM->newhash);
++ }
+ #ifdef TRACE
+- if (USE_TRACEF(TRACE_UPDATE)) {
+- SET_LINES(ToLines - was_stolen);
+- SET_COLS(ToCols);
+- show_window_sizes("after");
+- _nc_unlock_global(tracef);
+- }
++ if (USE_TRACEF(TRACE_UPDATE)) {
++ SET_LINES(ToLines - was_stolen);
++ SET_COLS(ToCols);
++ show_window_sizes("after");
++ _nc_unlock_global(tracef);
++ }
+ #endif
++ }
+ }
+
+- /*
+- * Always update LINES, to allow for call from lib_doupdate.c which
+- * needs to have the count adjusted by the stolen (ripped off) lines.
+- */
+- SET_LINES(ToLines - was_stolen);
+- SET_COLS(ToCols);
++ if (result == OK) {
++ /*
++ * Always update LINES, to allow for call from lib_doupdate.c which
++ * needs to have the count adjusted by the stolen (ripped off) lines.
++ */
++ SET_LINES(ToLines - was_stolen);
++ SET_COLS(ToCols);
++ }
+
+ _nc_nonsp_unlock_global(curses);
+
+@@ -471,7 +484,6 @@
+ result = NCURSES_SP_NAME(resize_term) (NCURSES_SP_ARGx ToLines, ToCols);
+
+ #if USE_SIGWINCH
+- safe_ungetch(SP_PARM, KEY_RESIZE); /* so application can know this */
+ clearok(CurScreen(SP_PARM), TRUE); /* screen contents are unknown */
+
+ /* ripped-off lines are a special case: if we did not lengthen
+@@ -501,6 +513,9 @@
+ }
+ #endif
+ }
++#if USE_SIGWINCH
++ safe_ungetch(SP_PARM, KEY_RESIZE); /* so application can know this */
++#endif
+ }
+
+ returnCode(result);
+Index: ncurses/base/safe_sprintf.c
+Prereq: 1.24
+--- ncurses-5.9/ncurses/base/safe_sprintf.c 2010-06-05 22:22:27.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/safe_sprintf.c 2013-01-20 01:04:32.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,13 +27,13 @@
+ ****************************************************************************/
+
+ /****************************************************************************
+- * Author: Thomas E. Dickey <dickey@clark.net> 1997 *
++ * Author: Thomas E. Dickey 1997-on *
+ ****************************************************************************/
+
+ #include <curses.priv.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: safe_sprintf.c,v 1.24 2010/06/05 22:22:27 tom Exp $")
++MODULE_ID("$Id: safe_sprintf.c,v 1.27 2013/01/20 01:04:32 tom Exp $")
+
+ #if USE_SAFE_SPRINTF
+
+@@ -109,12 +109,16 @@
+ } else if (state == Prec) {
+ prec = ival;
+ }
+- sprintf(fmt_arg, "%d", ival);
++ _nc_SPRINTF(fmt_arg,
++ _nc_SLIMIT(sizeof(fmt_arg))
++ "%d", ival);
+ fmt_len += strlen(fmt_arg);
+ if ((format = _nc_doalloc(format, fmt_len)) == 0) {
++ free(buffer);
+ return -1;
+ }
+- strcpy(&format[--f], fmt_arg);
++ --f;
++ _nc_STRCPY(&format[f], fmt_arg, fmt_len - f);
+ f = strlen(format);
+ } else if (isalpha(UChar(*fmt))) {
+ done = TRUE;
+@@ -185,13 +189,13 @@
+ format[f] = '\0';
+ switch (used) {
+ case 'i':
+- sprintf(buffer, format, ival);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(length) format, ival);
+ break;
+ case 'f':
+- sprintf(buffer, format, fval);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(length) format, fval);
+ break;
+ default:
+- sprintf(buffer, format, pval);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(length) format, pval);
+ break;
+ }
+ len += (int) strlen(buffer);
+Index: ncurses/base/vsscanf.c
+Prereq: 1.18
+--- ncurses-5.9/ncurses/base/vsscanf.c 2004-04-03 20:27:02.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/vsscanf.c 2012-02-22 22:26:58.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2004,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -38,7 +38,7 @@
+
+ #if !HAVE_VSSCANF
+
+-MODULE_ID("$Id: vsscanf.c,v 1.18 2004/04/03 20:27:02 tom Exp $")
++MODULE_ID("$Id: vsscanf.c,v 1.20 2012/02/22 22:26:58 tom Exp $")
+
+ #if !(HAVE_VFSCANF || HAVE__DOSCAN)
+
+@@ -293,12 +293,12 @@
+
+ /* add %n, if the format was not that */
+ if (chunk != cAssigned) {
+- strcat(my_fmt, "%n");
++ _nc_STRCAT(my_fmt, "%n", len_fmt);
+ }
+
+ switch (chunk) {
+ case cAssigned:
+- strcat(my_fmt, "%n");
++ _nc_STRCAT(my_fmt, "%n", len_fmt);
+ pointer = &eaten;
+ break;
+ case cInt:
+Index: ncurses/base/wresize.c
+Prereq: 1.34
+--- ncurses-5.9/ncurses/base/wresize.c 2010-06-05 22:36:26.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/base/wresize.c 2011-05-21 18:55:07.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,7 +33,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: wresize.c,v 1.34 2010/06/05 22:36:26 tom Exp $")
++MODULE_ID("$Id: wresize.c,v 1.35 2011/05/21 18:55:07 tom Exp $")
+
+ static int
+ cleanup_lines(struct ldat *data, int length)
+@@ -175,9 +175,10 @@
+ for (col = 0; col <= ToCols; ++col)
+ s[col] = win->_nc_bkgd;
+ }
+- } else {
+- assert(pline != 0);
++ } else if (pline != 0 && pline[win->_pary + row].text != 0) {
+ s = &pline[win->_pary + row].text[win->_parx];
++ } else {
++ s = 0;
+ }
+
+ if_USE_SCROLL_HINTS(new_lines[row].oldindex = row);
+Index: ncurses/build.priv.h
+Prereq: 1.6
+--- ncurses-5.9/ncurses/build.priv.h 2010-05-22 20:30:35.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/build.priv.h 2012-02-22 22:17:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -30,9 +30,8 @@
+ * Author: Thomas E. Dickey 2010 *
+ ****************************************************************************/
+
+-
+ /*
+- * $Id: build.priv.h,v 1.6 2010/05/22 20:30:35 tom Exp $
++ * $Id: build.priv.h,v 1.9 2012/02/22 22:17:02 tom Exp $
+ *
+ * build.priv.h
+ *
+@@ -83,6 +82,7 @@
+ #define SIZEOF(v) (sizeof(v) / sizeof(v[0]))
+
+ #include <nc_alloc.h>
++#include <nc_string.h>
+
+ /* declare these, to avoid needing term.h */
+ #if BROKEN_LINKER || USE_REENTRANT
+Index: ncurses/curses.priv.h
+Prereq: 1.475
+--- ncurses-5.9/ncurses/curses.priv.h 2011-01-22 21:10:19.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/curses.priv.h 2013-01-26 21:51:56.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+ ****************************************************************************/
+
+ /*
+- * $Id: curses.priv.h,v 1.475 2011/01/22 21:10:19 tom Exp $
++ * $Id: curses.priv.h,v 1.523 2013/01/26 21:51:56 tom Exp $
+ *
+ * curses.priv.h
+ *
+@@ -65,6 +65,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/types.h>
++#include <sys/stat.h>
+
+ #if HAVE_UNISTD_H
+ #include <unistd.h>
+@@ -85,6 +86,12 @@
+
+ #include <errno.h>
+
++#if defined __hpux
++# ifndef EILSEQ
++# define EILSEQ 47
++# endif
++#endif
++
+ #ifndef PATH_MAX
+ # if defined(_POSIX_PATH_MAX)
+ # define PATH_MAX _POSIX_PATH_MAX
+@@ -111,6 +118,14 @@
+ #define USE_FUNC_POLL 0
+ #endif
+
++#if HAVE_INTTYPES_H
++# include <inttypes.h>
++#else
++# if HAVE_STDINT_H
++# include <stdint.h>
++# endif
++#endif
++
+ /* include signal.h before curses.h to work-around defect in glibc 2.1.3 */
+ #include <signal.h>
+
+@@ -135,6 +150,15 @@
+ #define USE_EMX_MOUSE 0
+ #endif
+
++/* kLIBC keyboard/mouse support */
++#if defined(__OS2__) && defined(__KLIBC__)
++#define USE_KLIBC_KBD 1
++#define USE_KLIBC_MOUSE 1
++#else
++#define USE_KLIBC_KBD 0
++#define USE_KLIBC_MOUSE 0
++#endif
++
+ #define DEFAULT_MAXCLICK 166
+ #define EV_MAX 8 /* size of mouse circular event queue */
+
+@@ -192,6 +216,18 @@
+ #endif
+
+ /*
++ * Either/both S_ISxxx and/or S_IFxxx are defined in sys/types.h; some systems
++ * lack one or the other.
++ */
++#ifndef S_ISDIR
++#define S_ISDIR(mode) ((mode & S_IFMT) == S_IFDIR)
++#endif
++
++#ifndef S_ISREG
++#define S_ISREG(mode) ((mode & S_IFMT) == S_IFREG)
++#endif
++
++/*
+ * Scroll hints are useless when hashmap is used
+ */
+ #if !USE_SCROLL_HINTS
+@@ -208,6 +244,8 @@
+ #define if_USE_SCROLL_HINTS(stmt) /*nothing*/
+ #endif
+
++#include <nc_string.h>
++
+ /*
+ * Options for terminal drivers, etc...
+ */
+@@ -325,6 +363,7 @@
+ #endif
+
+ #include <term.h>
++#include <nc_termios.h>
+
+ /*
+ * Reduce dependency on cur_term global by using terminfo data from SCREEN's
+@@ -365,7 +404,7 @@
+ #define if_EXT_COLORS(stmt) stmt
+ #define SetPair(value,p) SetPair2((value).ext_color, AttrOf(value), p)
+ #define SetPair2(c,a,p) c = (p), \
+- a = (unColor2(a) | (A_COLOR & ColorPair(oldColor(c))))
++ a = (unColor2(a) | (A_COLOR & (unsigned) ColorPair(oldColor(c))))
+ #define GetPair(value) GetPair2((value).ext_color, AttrOf(value))
+ #define GetPair2(c,a) ((c) ? (c) : PairNumber(a))
+ #define oldColor(p) (((p) > 255) ? 255 : (p))
+@@ -373,11 +412,7 @@
+ #define SET_WINDOW_PAIR(w,p) (w)->_color = (p)
+ #define SameAttrOf(a,b) (AttrOf(a) == AttrOf(b) && GetPair(a) == GetPair(b))
+
+-#if NCURSES_SP_FUNCS
+-#define VIDATTR(sp,attr,pair) NCURSES_SP_NAME(vid_attr)(sp, attr, pair, 0)
+-#else
+-#define VIDATTR(sp,attr,pair) vid_attr(attr, pair, 0)
+-#endif
++#define VIDATTR(sp,attr,pair) NCURSES_SP_NAME(vid_puts)(NCURSES_SP_ARGx attr, (short) pair, 0, NCURSES_OUTC_FUNC)
+
+ #else /* !NCURSES_EXT_COLORS */
+
+@@ -390,14 +425,14 @@
+ WINDOW_ATTRS(w) |= (A_COLOR & (attr_t) ColorPair(p))
+ #define SameAttrOf(a,b) (AttrOf(a) == AttrOf(b))
+
+-#if NCURSES_SP_FUNCS
+-#define VIDATTR(sp,attr,pair) NCURSES_SP_NAME(vidattr)(sp, attr)
+-#else
+-#define VIDATTR(sp,attr,pair) vidattr(attr)
+-#endif
++#define VIDATTR(sp,attr,pair) NCURSES_SP_NAME(vidputs)(NCURSES_SP_ARGx attr, NCURSES_OUTC_FUNC)
+
+ #endif /* NCURSES_EXT_COLORS */
+
++#define NCURSES_OUTC_FUNC NCURSES_SP_NAME(_nc_outch)
++#define NCURSES_PUTP2(name,value) NCURSES_SP_NAME(_nc_putp)(NCURSES_SP_ARGx name, value)
++#define NCURSES_PUTP2_FLUSH(name,value) NCURSES_SP_NAME(_nc_putp_flush)(NCURSES_SP_ARGx name, value)
++
+ #if NCURSES_NO_PADDING
+ #define GetNoPadding(sp) ((sp) ? (sp)->_no_padding : _nc_prescreen._no_padding)
+ #define SetNoPadding(sp) _nc_set_no_padding(sp)
+@@ -467,6 +502,9 @@
+ # endif
+ # define _declare(name) __extension__ extern __typeof__(name) name
+ # define weak_symbol(name) _weak_pragma(name) _declare(name) __attribute__((weak))
++#else
++# undef USE_WEAK_SYMBOLS
++# define USE_WEAK_SYMBOLS 0
+ #endif
+ #endif
+
+@@ -665,6 +703,9 @@
+ #if USE_GPM_SUPPORT
+ #undef buttons /* term.h defines this, and gpm uses it! */
+ #include <gpm.h>
++#if USE_WEAK_SYMBOLS
++weak_symbol(Gpm_Wgetch);
++#endif
+
+ #ifdef HAVE_LIBDL
+ /* link dynamically to GPM */
+@@ -766,17 +807,23 @@
+ #define INIT_TERM_DRIVER() /* nothing */
+ #endif
+
++typedef struct {
++ const char *name;
++ char *value;
++} ITERATOR_VARS;
++
+ /*
+ * Global data which is not specific to a screen.
+ */
+ typedef struct {
++ SIG_ATOMIC_T have_sigtstp;
+ SIG_ATOMIC_T have_sigwinch;
+ SIG_ATOMIC_T cleanup_nested;
+
+ bool init_signals;
+ bool init_screen;
+
+- const char *comp_sourcename;
++ char *comp_sourcename;
+ char *comp_termtype;
+
+ bool have_tic_directory;
+@@ -798,6 +845,12 @@
+ int tgetent_index;
+ long tgetent_sequence;
+
++ char *dbd_blob; /* string-heap for dbd_list[] */
++ char **dbd_list; /* distinct places to look for data */
++ int dbd_size; /* length of dbd_list[] */
++ time_t dbd_time; /* cache last updated */
++ ITERATOR_VARS dbd_vars[dbdLAST];
++
+ #ifndef USE_SP_WINDOWLIST
+ WINDOWLIST *_nc_windowlist;
+ #define WindowList(sp) _nc_globals._nc_windowlist
+@@ -891,6 +944,7 @@
+ const char *_tputs_trace;
+ #endif
+ #endif
++ bool use_tioctl;
+ } NCURSES_PRESCREEN;
+
+ /*
+@@ -911,11 +965,13 @@
+ */
+
+ struct screen {
+- int _ifd; /* input file ptr for screen */
++ int _ifd; /* input file descriptor for screen */
++ int _ofd; /* output file descriptor for screen */
+ FILE *_ofp; /* output file ptr for screen */
+- char *_setbuf; /* buffered I/O for output */
++ char *out_buffer; /* output buffer */
++ size_t out_limit; /* output buffer size */
++ size_t out_inuse; /* output buffer current use */
+ bool _filtered; /* filter() was called */
+- bool _buffered; /* setvbuf uses _setbuf data */
+ bool _prescreen; /* is in prescreen phase */
+ bool _use_env; /* LINES & COLS from environment? */
+ int _checkfd; /* filedesc for typeahead check */
+@@ -1015,6 +1071,7 @@
+ int _pair_count; /* count of color pairs */
+ int _pair_limit; /* actual limit of color-pairs */
+ #if NCURSES_EXT_FUNCS
++ bool _assumed_color; /* use assumed colors */
+ bool _default_color; /* use default colors */
+ bool _has_sgr_39_49; /* has ECMA default color support */
+ int _default_fg; /* assumed default foreground */
+@@ -1032,6 +1089,10 @@
+ bool _use_rmso; /* true if we may use 'rmso' */
+ bool _use_rmul; /* true if we may use 'rmul' */
+
++#if USE_KLIBC_KBD
++ bool _extended_key; /* true if an extended key */
++#endif
++
+ /*
+ * These data correspond to the state of the idcok() and idlok()
+ * functions. A caveat is in order here: the XSI and SVr4
+@@ -1055,7 +1116,9 @@
+ void (*_mouse_wrap) (SCREEN *);
+ int _mouse_fd; /* file-descriptor, if any */
+ bool _mouse_active; /* true if initialized */
+- mmask_t _mouse_mask;
++ mmask_t _mouse_mask; /* set via mousemask() */
++ mmask_t _mouse_mask2; /* OR's in press/release bits */
++ mmask_t _mouse_bstate;
+ NCURSES_CONST char *_mouse_xtermcap; /* string to enable/disable mouse */
+ MEVENT _mouse_events[EV_MAX]; /* hold the last mouse event seen */
+ MEVENT *_mouse_eventp; /* next free slot in event queue */
+@@ -1102,6 +1165,7 @@
+ */
+ #if USE_SIZECHANGE
+ int (*_resize)(NCURSES_SP_DCLx int y, int x);
++ int (*_ungetch)(SCREEN *, int);
+ #endif
+
+ /*
+@@ -1120,7 +1184,6 @@
+ int *_oldnum_list;
+ int _oldnum_size;
+
+- bool _cleanup; /* cleanup after int/quit signal */
+ NCURSES_SP_OUTC _outch; /* output handler if not putc */
+
+ int _legacy_coding; /* see use_legacy_coding() */
+@@ -1158,7 +1221,10 @@
+ * UTF-8, but do not permit ACS at the same time (see tty_update.c).
+ */
+ bool _screen_acs_fix;
++ bool _screen_unicode;
+ #endif
++
++ bool _use_tioctl;
+ };
+
+ extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain;
+@@ -1168,7 +1234,7 @@
+ WINDOWLIST *next;
+ SCREEN *screen; /* screen containing the window */
+ WINDOW win; /* WINDOW_EXT() needs to account for offset */
+-#ifdef NCURSES_WIDECHAR
++#if NCURSES_WIDECHAR
+ char addch_work[(MB_LEN_MAX * 9) + 1];
+ unsigned addch_used; /* number of bytes in addch_work[] */
+ int addch_x; /* x-position for addch_work[] */
+@@ -1189,7 +1255,7 @@
+ sp->_endwin = TRUE; \
+ sp->_cursor = -1; \
+ WindowList(sp) = 0; \
+- sp->_outch = NCURSES_SP_NAME(_nc_outch); \
++ sp->_outch = NCURSES_OUTC_FUNC; \
+ sp->jump = 0 \
+
+ /* usually in <limits.h> */
+@@ -1322,9 +1388,9 @@
+ #define PUTC_DATA char PUTC_buf[MB_LEN_MAX]; int PUTC_i, PUTC_n; \
+ mbstate_t PUT_st; wchar_t PUTC_ch
+ #define PUTC_INIT init_mb (PUT_st)
+-#define PUTC(ch,b) do { if(!isWidecExt(ch)) { \
++#define PUTC(ch) do { if(!isWidecExt(ch)) { \
+ if (Charable(ch)) { \
+- fputc(CharOf(ch), b); \
++ NCURSES_OUTC_FUNC (NCURSES_SP_ARGx CharOf(ch)); \
+ COUNT_OUTCHARS(1); \
+ } else { \
+ PUTC_INIT; \
+@@ -1336,10 +1402,14 @@
+ (ch).chars[PUTC_i], &PUT_st); \
+ if (PUTC_n <= 0) { \
+ if (PUTC_ch && is8bits(PUTC_ch) && PUTC_i == 0) \
+- putc(PUTC_ch,b); \
++ NCURSES_OUTC_FUNC (NCURSES_SP_ARGx CharOf(ch)); \
+ break; \
++ } else { \
++ int PUTC_j; \
++ for (PUTC_j = 0; PUTC_j < PUTC_n; ++PUTC_j) { \
++ NCURSES_OUTC_FUNC (NCURSES_SP_ARGx PUTC_buf[PUTC_j]); \
++ } \
+ } \
+- IGNORE_RC(fwrite(PUTC_buf, (unsigned) PUTC_n, 1, b)); \
+ } \
+ COUNT_OUTCHARS(PUTC_i); \
+ } } } while (0)
+@@ -1362,7 +1432,7 @@
+ AttrOf(dst) |= (attr_t) (ext + 1)
+
+ #define if_WIDEC(code) code
+-#define Charable(ch) ((SP_PARM != 0 && SP_PARM->_legacy_coding) \
++#define Charable(ch) ((SP_PARM->_legacy_coding) \
+ || (AttrOf(ch) & A_ALTCHARSET) \
+ || (!isWidecExt(ch) && \
+ (ch).chars[1] == L'\0' && \
+@@ -1383,8 +1453,8 @@
+ #define CHDEREF(wch) wch
+ #define ARG_CH_T NCURSES_CH_T
+ #define CARG_CH_T NCURSES_CH_T
+-#define PUTC_DATA int data = 0
+-#define PUTC(ch,b) do { data = CharOf(ch); putc(data,b); } while (0)
++#define PUTC_DATA /* nothing */
++#define PUTC(ch) NCURSES_OUTC_FUNC (NCURSES_SP_ARGx (int) ch)
+
+ #define BLANK (' '|A_NORMAL)
+ #define ZEROS ('\0'|A_NORMAL)
+@@ -1412,25 +1482,25 @@
+
+ #define CHANGED_CELL(line,col) \
+ if (line->firstchar == _NOCHANGE) \
+- line->firstchar = line->lastchar = (NCURSES_SIZE_T) col; \
++ line->firstchar = line->lastchar = (NCURSES_SIZE_T) (col); \
+ else if ((col) < line->firstchar) \
+- line->firstchar = (NCURSES_SIZE_T) col; \
++ line->firstchar = (NCURSES_SIZE_T) (col); \
+ else if ((col) > line->lastchar) \
+- line->lastchar = (NCURSES_SIZE_T) col
++ line->lastchar = (NCURSES_SIZE_T) (col)
+
+ #define CHANGED_RANGE(line,start,end) \
+ if (line->firstchar == _NOCHANGE \
+ || line->firstchar > (start)) \
+- line->firstchar = (NCURSES_SIZE_T) start; \
++ line->firstchar = (NCURSES_SIZE_T) (start); \
+ if (line->lastchar == _NOCHANGE \
+ || line->lastchar < (end)) \
+- line->lastchar = (NCURSES_SIZE_T) end
++ line->lastchar = (NCURSES_SIZE_T) (end)
+
+ #define CHANGED_TO_EOL(line,start,end) \
+ if (line->firstchar == _NOCHANGE \
+ || line->firstchar > (start)) \
+- line->firstchar = (NCURSES_SIZE_T) start; \
+- line->lastchar = (NCURSES_SIZE_T) end
++ line->firstchar = (NCURSES_SIZE_T) (start); \
++ line->lastchar = (NCURSES_SIZE_T) (end)
+
+ #define SIZEOF(v) (sizeof(v)/sizeof(v[0]))
+
+@@ -1444,6 +1514,20 @@
+ #include <nc_alloc.h>
+
+ /*
++ * Use these for tic/infocmp malloc failures. Generally the ncurses library
++ * tries to limp along after a failure.
++ */
++#define TYPE_MALLOC(type, size, name) \
++ name = typeMalloc(type, size); \
++ if (name == 0) \
++ _nc_err_abort(MSG_NO_MEMORY)
++
++#define TYPE_REALLOC(type, size, name) \
++ name = typeRealloc(type, size, name); \
++ if (name == 0) \
++ _nc_err_abort(MSG_NO_MEMORY)
++
++/*
+ * TTY bit definition for converting tabs to spaces.
+ */
+ #ifdef TAB3
+@@ -1528,7 +1612,7 @@
+ #define returnVoidPtr(code) TRACE_RETURN(code,void_ptr)
+ #define returnWin(code) TRACE_RETURN(code,win)
+
+-extern NCURSES_EXPORT(NCURSES_BOOL) _nc_retrace_bool (NCURSES_BOOL);
++extern NCURSES_EXPORT(NCURSES_BOOL) _nc_retrace_bool (int);
+ extern NCURSES_EXPORT(NCURSES_CONST void *) _nc_retrace_cvoid_ptr (NCURSES_CONST void *);
+ extern NCURSES_EXPORT(SCREEN *) _nc_retrace_sp (SCREEN *);
+ extern NCURSES_EXPORT(WINDOW *) _nc_retrace_win (WINDOW *);
+@@ -1539,7 +1623,7 @@
+ extern NCURSES_EXPORT(chtype) _nc_retrace_chtype (chtype);
+ extern NCURSES_EXPORT(const char *) _nc_altcharset_name(attr_t, chtype);
+ extern NCURSES_EXPORT(const char *) _nc_retrace_cptr (const char *);
+-extern NCURSES_EXPORT(char) _nc_retrace_char (char);
++extern NCURSES_EXPORT(char) _nc_retrace_char (int);
+ extern NCURSES_EXPORT(int) _nc_retrace_int (int);
+ extern NCURSES_EXPORT(int) _nc_retrace_int_attr_t (attr_t);
+ extern NCURSES_EXPORT(mmask_t) _nc_retrace_mmask_t (SCREEN *, mmask_t);
+@@ -1795,6 +1879,8 @@
+ /* lib_mvcur.c */
+ #define INFINITY 1000000 /* cost: too high to use */
+
++extern NCURSES_EXPORT(int) _nc_mvcur(int yold, int xold, int ynew, int xnew);
++
+ extern NCURSES_EXPORT(void) _nc_mvcur_init (void);
+ extern NCURSES_EXPORT(void) _nc_mvcur_resume (void);
+ extern NCURSES_EXPORT(void) _nc_mvcur_wrap (void);
+@@ -1816,12 +1902,31 @@
+ extern NCURSES_EXPORT(char *) _nc_get_locale(void);
+ extern NCURSES_EXPORT(int) _nc_unicode_locale(void);
+ extern NCURSES_EXPORT(int) _nc_locale_breaks_acs(TERMINAL *);
+-extern NCURSES_EXPORT(int) _nc_setupterm(NCURSES_CONST char *, int, int *, bool);
+-extern NCURSES_EXPORT(void) _nc_tinfo_cmdch(TERMINAL *, char);
++extern NCURSES_EXPORT(int) _nc_setupterm(NCURSES_CONST char *, int, int *, int);
++extern NCURSES_EXPORT(void) _nc_tinfo_cmdch(TERMINAL *, int);
+
+ /* lib_set_term.c */
+ extern NCURSES_EXPORT(int) _nc_ripoffline(int, int(*)(WINDOW*, int));
+
++/* lib_setup.c */
++#define ret_error(code, fmt, arg) if (errret) {\
++ *errret = code;\
++ returnCode(ERR);\
++ } else {\
++ fprintf(stderr, fmt, arg);\
++ exit(EXIT_FAILURE);\
++ }
++
++#define ret_error1(code, fmt, arg) ret_error(code, "'%s': " fmt, arg)
++
++#define ret_error0(code, msg) if (errret) {\
++ *errret = code;\
++ returnCode(ERR);\
++ } else {\
++ fprintf(stderr, msg);\
++ exit(EXIT_FAILURE);\
++ }
++
+ /* lib_tstp.c */
+ #if USE_SIGWINCH
+ extern NCURSES_EXPORT(int) _nc_handle_sigwinch(SCREEN *);
+@@ -1875,16 +1980,17 @@
+ extern NCURSES_EXPORT(int) _nc_baudrate (int);
+ extern NCURSES_EXPORT(int) _nc_freewin (WINDOW *);
+ extern NCURSES_EXPORT(int) _nc_getenv_num (const char *);
+-extern NCURSES_EXPORT(int) _nc_keypad (SCREEN *, bool);
++extern NCURSES_EXPORT(int) _nc_keypad (SCREEN *, int);
+ extern NCURSES_EXPORT(int) _nc_ospeed (int);
+ extern NCURSES_EXPORT(int) _nc_outch (int);
++extern NCURSES_EXPORT(int) _nc_putchar (int);
+ extern NCURSES_EXPORT(int) _nc_putp(const char *, const char *);
+ extern NCURSES_EXPORT(int) _nc_putp_flush(const char *, const char *);
+ extern NCURSES_EXPORT(int) _nc_read_termcap_entry (const char *const, TERMTYPE *const);
+-extern NCURSES_EXPORT(int) _nc_setupscreen (int, int, FILE *, bool, int);
+ extern NCURSES_EXPORT(int) _nc_setup_tinfo(const char *, TERMTYPE *);
++extern NCURSES_EXPORT(int) _nc_setupscreen (int, int, FILE *, int, int);
+ extern NCURSES_EXPORT(int) _nc_timed_wait (SCREEN *, int, int, int * EVENTLIST_2nd(_nc_eventlist *));
+-extern NCURSES_EXPORT(void) _nc_do_color (short, short, bool, NCURSES_OUTC);
++extern NCURSES_EXPORT(void) _nc_do_color (int, int, int, NCURSES_OUTC);
+ extern NCURSES_EXPORT(void) _nc_flush (void);
+ extern NCURSES_EXPORT(void) _nc_free_and_exit (int) GCC_NORETURN;
+ extern NCURSES_EXPORT(void) _nc_free_entry (ENTRY *, TERMTYPE *);
+@@ -1895,8 +2001,9 @@
+ extern NCURSES_EXPORT(void) _nc_make_oldhash (int i);
+ extern NCURSES_EXPORT(void) _nc_scroll_oldhash (int n, int top, int bot);
+ extern NCURSES_EXPORT(void) _nc_scroll_optimize (void);
+-extern NCURSES_EXPORT(void) _nc_set_buffer (FILE *, bool);
+-extern NCURSES_EXPORT(void) _nc_signal_handler (bool);
++extern NCURSES_EXPORT(void) _nc_set_buffer (FILE *, int);
++extern NCURSES_EXPORT(void) _nc_setenv_num (const char *, int);
++extern NCURSES_EXPORT(void) _nc_signal_handler (int);
+ extern NCURSES_EXPORT(void) _nc_synchook (WINDOW *);
+ extern NCURSES_EXPORT(void) _nc_trace_tries (TRIES *);
+
+@@ -1905,7 +2012,9 @@
+ extern NCURSES_EXPORT(void) _nc_captoinfo_leaks(void);
+ extern NCURSES_EXPORT(void) _nc_codes_leaks(void);
+ extern NCURSES_EXPORT(void) _nc_comp_captab_leaks(void);
++extern NCURSES_EXPORT(void) _nc_comp_error_leaks(void);
+ extern NCURSES_EXPORT(void) _nc_comp_scan_leaks(void);
++extern NCURSES_EXPORT(void) _nc_db_iterator_leaks(void);
+ extern NCURSES_EXPORT(void) _nc_keyname_leaks(void);
+ extern NCURSES_EXPORT(void) _nc_names_leaks(void);
+ extern NCURSES_EXPORT(void) _nc_tgetent_leaks(void);
+@@ -1914,7 +2023,7 @@
+ #if !(defined(USE_TERMLIB) || defined(USE_BUILD_CC))
+ extern NCURSES_EXPORT(NCURSES_CH_T) _nc_render (WINDOW *, NCURSES_CH_T);
+ extern NCURSES_EXPORT(int) _nc_waddch_nosync (WINDOW *, const NCURSES_CH_T);
+-extern NCURSES_EXPORT(void) _nc_scroll_window (WINDOW *, int const, NCURSES_SIZE_T const, NCURSES_SIZE_T const, NCURSES_CH_T);
++extern NCURSES_EXPORT(void) _nc_scroll_window (WINDOW *, int const, int const, int const, NCURSES_CH_T);
+ #endif
+
+ #if USE_WIDEC_SUPPORT
+@@ -1946,8 +2055,26 @@
+ * Wide-character macros to hide some platform-differences.
+ */
+ #if USE_WIDEC_SUPPORT
++
++#if defined(__MINGW32__)
++/*
++ * MinGW has wide-character functions, but they do not work correctly.
++ */
++
++extern int __MINGW_NOTHROW _nc_wctomb(char *, wchar_t);
++#define wctomb(s,wc) _nc_wctomb(s,wc)
++#define wcrtomb(s,wc,n) _nc_wctomb(s,wc)
++
++extern int __MINGW_NOTHROW _nc_mbtowc(wchar_t *, const char *, size_t);
++#define mbtowc(pwc,s,n) _nc_mbtowc(pwc,s,n)
++
++extern int __MINGW_NOTHROW _nc_mblen(const char *, size_t);
++#define mblen(s,n) _nc_mblen(s, n)
++
++#endif /* __MINGW32__ */
++
+ #if HAVE_MBTOWC && HAVE_MBLEN
+-#define reset_mbytes(state) IGNORE_RC(mblen(NULL, 0)), IGNORE_RC(mbtowc(NULL, NULL, 0))
++#define reset_mbytes(state) IGNORE_RC(mblen(NULL, (size_t) 0)), IGNORE_RC(mbtowc(NULL, NULL, (size_t) 0))
+ #define count_mbytes(buffer,length,state) mblen(buffer,length)
+ #define check_mbytes(wch,buffer,length,state) \
+ (int) mbtowc(&wch, buffer, length)
+@@ -1960,7 +2087,8 @@
+ #else
+ make an error
+ #endif
+-#endif
++
++#endif /* USE_WIDEC_SUPPORT */
+
+ /*
+ * Not everyone has vsscanf(), but we'd like to use it for scanw().
+@@ -2049,9 +2177,9 @@
+
+ #define SetSafeOutcWrapper(outc) \
+ SCREEN* sp = CURRENT_SCREEN; \
++ struct screen outc_wrapper; \
+ if (sp==0) { \
+- struct screen dummy; \
+- sp = &dummy; \
++ sp = &outc_wrapper; \
+ memset(sp,0,sizeof(struct screen)); \
+ sp->_outch = _nc_outc_wrapper; \
+ }\
+@@ -2084,39 +2212,39 @@
+
+ typedef struct term_driver {
+ bool isTerminfo;
+- bool (*CanHandle)(struct DriverTCB*,const char*,int*);
++ bool (*CanHandle)(struct DriverTCB*, const char*, int*);
+ void (*init)(struct DriverTCB*);
+ void (*release)(struct DriverTCB*);
+ int (*size)(struct DriverTCB*, int* Line, int *Cols);
+- int (*sgmode)(struct DriverTCB*, bool setFlag, TTY*);
++ int (*sgmode)(struct DriverTCB*, int setFlag, TTY*);
+ chtype (*conattr)(struct DriverTCB*);
+ int (*hwcur)(struct DriverTCB*, int yold, int xold, int y, int x);
+- int (*mode)(struct DriverTCB*, bool progFlag, bool defFlag);
++ int (*mode)(struct DriverTCB*, int progFlag, int defFlag);
+ bool (*rescol)(struct DriverTCB*);
+ bool (*rescolors)(struct DriverTCB*);
+- void (*color)(struct DriverTCB*,bool fore, int color, int(*)(SCREEN*,int));
+- int (*doBeepOrFlash)(struct DriverTCB*, bool);
+- void (*initpair)(struct DriverTCB*,short,short,short);
+- void (*initcolor)(struct DriverTCB*,short,short,short,short);
+- void (*docolor)(struct DriverTCB*,short,short,bool,int(*)(SCREEN*,int));
++ void (*color)(struct DriverTCB*, int fore, int color, int(*)(SCREEN*, int));
++ int (*doBeepOrFlash)(struct DriverTCB*, int);
++ void (*initpair)(struct DriverTCB*, int, int, int);
++ void (*initcolor)(struct DriverTCB*, int, int, int, int);
++ void (*docolor)(struct DriverTCB*, int, int, int, int(*)(SCREEN*, int));
+ void (*initmouse)(struct DriverTCB*);
+- int (*testmouse)(struct DriverTCB*,int);
++ int (*testmouse)(struct DriverTCB*, int EVENTLIST_2nd(_nc_eventlist*));
+ void (*setfilter)(struct DriverTCB*);
+- void (*hwlabel)(struct DriverTCB*,int,char*);
+- void (*hwlabelOnOff)(struct DriverTCB*,bool);
++ void (*hwlabel)(struct DriverTCB*, int, char*);
++ void (*hwlabelOnOff)(struct DriverTCB*, int);
+ int (*update)(struct DriverTCB*);
+- int (*defaultcolors)(struct DriverTCB*,int,int);
+- int (*print)(struct DriverTCB*,char*,int);
+- int (*getsize)(struct DriverTCB*,int*,int*);
+- int (*setsize)(struct DriverTCB*,int,int);
+- void (*initacs)(struct DriverTCB*,chtype*,chtype*);
++ int (*defaultcolors)(struct DriverTCB*, int, int);
++ int (*print)(struct DriverTCB*, char*, int);
++ int (*getsize)(struct DriverTCB*, int*, int*);
++ int (*setsize)(struct DriverTCB*, int, int);
++ void (*initacs)(struct DriverTCB*, chtype*, chtype*);
+ void (*scinit)(SCREEN *);
+ void (*scexit)(SCREEN *);
+- int (*twait)(struct DriverTCB*,int,int,int* EVENTLIST_2nd(_nc_eventlist*));
+- int (*read)(struct DriverTCB*,int*);
+- int (*nap)(struct DriverTCB*,int);
+- int (*kpad)(struct DriverTCB*, bool);
+- int (*kyOk)(struct DriverTCB*, int, bool);
++ int (*twait)(struct DriverTCB*, int, int, int* EVENTLIST_2nd(_nc_eventlist*));
++ int (*read)(struct DriverTCB*, int*);
++ int (*nap)(struct DriverTCB*, int);
++ int (*kpad)(struct DriverTCB*, int);
++ int (*kyOk)(struct DriverTCB*, int, int);
+ bool (*kyExist)(struct DriverTCB*, int);
+ } TERM_DRIVER;
+
+@@ -2166,7 +2294,7 @@
+ #else
+ #define TINFO_HAS_KEY NCURSES_SP_NAME(has_key)
+ #define TINFO_DOUPDATE NCURSES_SP_NAME(doupdate)
+-#define TINFO_MVCUR NCURSES_SP_NAME(mvcur)
++#define TINFO_MVCUR NCURSES_SP_NAME(_nc_mvcur)
+ #endif
+
+ /*
+@@ -2174,7 +2302,7 @@
+ */
+ #ifdef USE_TERM_DRIVER
+ extern NCURSES_EXPORT(void) _nc_get_screensize(SCREEN *, TERMINAL *, int *, int *);
+-extern NCURSES_EXPORT(int) _nc_setupterm_ex(TERMINAL **, NCURSES_CONST char *, int , int *, bool);
++extern NCURSES_EXPORT(int) _nc_setupterm_ex(TERMINAL **, NCURSES_CONST char *, int , int *, int);
+ #define TINFO_GET_SIZE(sp, tp, lp, cp) \
+ _nc_get_screensize(sp, tp, lp, cp)
+ #define TINFO_SET_CURTERM(sp, tp) \
+@@ -2239,7 +2367,9 @@
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_get_tty_mode)(SCREEN*,TTY*);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_mcprint)(SCREEN*,char*, int);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_msec_cost)(SCREEN*, const char *, int);
++extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_mvcur)(SCREEN*, int, int, int, int);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_outch)(SCREEN*, int);
++extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_putchar)(SCREEN*, int);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_putp)(SCREEN*, const char *, const char*);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_putp_flush)(SCREEN*, const char *, const char *);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_resetty)(SCREEN*);
+@@ -2250,12 +2380,12 @@
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_scr_restore)(SCREEN*, const char*);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_scrolln)(SCREEN*, int, int, int, int);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_set_tty_mode)(SCREEN*, TTY*);
+-extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_setupscreen)(SCREEN**, int, int, FILE *, bool, int);
++extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_setupscreen)(SCREEN**, int, int, FILE *, int, int);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_tgetent)(SCREEN*,char*,const char *);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_tigetnum)(SCREEN*,NCURSES_CONST char*);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_vid_attr)(SCREEN *, attr_t, short, void *);
+ extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_vidputs)(SCREEN*,chtype,int(*) (SCREEN*, int));
+-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_do_color)(SCREEN*, short, short, bool, NCURSES_SP_OUTC);
++extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_do_color)(SCREEN*, int, int, int, NCURSES_SP_OUTC);
+ extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_do_xmc_glitch)(SCREEN*, attr_t);
+ extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_flush)(SCREEN*);
+ extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_free_and_exit)(SCREEN*, int) GCC_NORETURN;
+@@ -2271,7 +2401,7 @@
+ extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_screen_wrap)(SCREEN*);
+ extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_scroll_oldhash)(SCREEN*, int n, int top, int bot);
+ extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_scroll_optimize)(SCREEN*);
+-extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_set_buffer)(SCREEN*, FILE *, bool);
++extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_set_buffer)(SCREEN*, FILE *, int);
+
+ extern NCURSES_EXPORT(void) _nc_cookie_init(SCREEN *sp);
+
+Index: ncurses/fifo_defs.h
+Prereq: 1.6
+--- ncurses-5.9/ncurses/fifo_defs.h 2008-06-28 15:52:32.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/fifo_defs.h 2012-08-04 15:59:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2002,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2008,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+ /*
+ * Common macros for lib_getch.c, lib_ungetch.c
+ *
+- * $Id: fifo_defs.h,v 1.6 2008/06/28 15:52:32 tom Exp $
++ * $Id: fifo_defs.h,v 1.7 2012/08/04 15:59:17 tom Exp $
+ */
+
+ #ifndef FIFO_DEFS_H
+@@ -45,14 +45,42 @@
+ /* peek points to next uninterpreted character */
+ #define peek sp->_fifopeek
+
+-#define h_inc() { head == FIFO_SIZE-1 ? head = 0 : head++; if (head == tail) head = -1, tail = 0;}
+-#define h_dec() { head == 0 ? head = FIFO_SIZE-1 : head--; if (head == tail) tail = -1;}
+-#define t_inc() { tail == FIFO_SIZE-1 ? tail = 0 : tail++; if (tail == head) tail = -1;}
+-#define t_dec() { tail == 0 ? tail = FIFO_SIZE-1 : tail--; if (head == tail) fifo_clear(sp);}
+-#define p_inc() { peek == FIFO_SIZE-1 ? peek = 0 : peek++;}
++#define h_inc() { \
++ (head >= FIFO_SIZE-1) \
++ ? head = 0 \
++ : head++; \
++ if (head == tail) \
++ head = -1, tail = 0; \
++ }
++#define h_dec() { \
++ (head <= 0) \
++ ? head = FIFO_SIZE-1 \
++ : head--; \
++ if (head == tail) \
++ tail = -1; \
++ }
++#define t_inc() { \
++ (tail >= FIFO_SIZE-1) \
++ ? tail = 0 \
++ : tail++; \
++ if (tail == head) \
++ tail = -1; \
++ }
++#define t_dec() { \
++ (tail <= 0) \
++ ? tail = FIFO_SIZE-1 \
++ : tail--; \
++ if (head == tail) \
++ fifo_clear(sp); \
++ }
++#define p_inc() { \
++ (peek >= FIFO_SIZE-1) \
++ ? peek = 0 \
++ : peek++; \
++ }
+
+-#define cooked_key_in_fifo() ((head != -1) && (peek != head))
+-#define raw_key_in_fifo() ((head != -1) && (peek != tail))
++#define cooked_key_in_fifo() ((head >= 0) && (peek != head))
++#define raw_key_in_fifo() ((head >= 0) && (peek != tail))
+
+ #undef HIDE_EINTR
+
+Index: ncurses/llib-lncurses
+--- ncurses-5.9/ncurses/llib-lncurses 2011-01-08 18:57:00.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/llib-lncurses 2012-07-14 17:39:00.000000000 +0000
+@@ -3369,6 +3369,17 @@
+ NCURSES_BOOL f)
+ { /* void */ }
+
++#undef use_tioctl_sp
++void use_tioctl_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl
++void use_tioctl(
++ NCURSES_BOOL f)
++ { /* void */ }
++
+ #undef _nc_get_screensize
+ void _nc_get_screensize(
+ SCREEN *sp,
+Index: ncurses/llib-lncursest
+--- ncurses-5.9/ncurses/llib-lncursest 2011-01-08 19:03:20.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/llib-lncursest 2012-07-14 17:39:00.000000000 +0000
+@@ -3449,6 +3449,17 @@
+ NCURSES_BOOL f)
+ { /* void */ }
+
++#undef use_tioctl_sp
++void use_tioctl_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl
++void use_tioctl(
++ NCURSES_BOOL f)
++ { /* void */ }
++
+ #undef _nc_get_screensize
+ void _nc_get_screensize(
+ SCREEN *sp,
+Index: ncurses/llib-lncursestw
+--- ncurses-5.9/ncurses/llib-lncursestw 2011-01-08 19:11:35.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/llib-lncursestw 2012-07-14 17:39:00.000000000 +0000
+@@ -4234,6 +4234,17 @@
+ NCURSES_BOOL f)
+ { /* void */ }
+
++#undef use_tioctl_sp
++void use_tioctl_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioct
++void use_tioct(
++ NCURSES_BOOL f)
++ { /* void */ }
++
+ #undef _nc_get_screensize
+ void _nc_get_screensize(
+ SCREEN *sp,
+Index: ncurses/llib-lncursesw
+--- ncurses-5.9/ncurses/llib-lncursesw 2011-01-08 19:01:11.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/llib-lncursesw 2012-07-14 17:39:00.000000000 +0000
+@@ -4154,6 +4154,17 @@
+ NCURSES_BOOL f)
+ { /* void */ }
+
++#undef use_tioctl_sp
++void use_tioctl_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl
++void use_tioctl(
++ NCURSES_BOOL f)
++ { /* void */ }
++
+ #undef _nc_get_screensize
+ void _nc_get_screensize(
+ SCREEN *sp,
+Index: ncurses/llib-ltic
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/ncurses/llib-ltic 2012-06-30 20:16:16.000000000 +0000
+@@ -0,0 +1,212 @@
++/****************************************************************************
++ * Copyright (c) 2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2012 *
++ ****************************************************************************/
++/* LINTLIBRARY */
++
++/* ./tinfo/alloc_entry.c */
++
++#include <curses.priv.h>
++#include <tic.h>
++
++#undef _nc_init_entry
++void _nc_init_entry(
++ TERMTYPE *const tp)
++ { /* void */ }
++
++#undef _nc_copy_entry
++ENTRY *_nc_copy_entry(
++ ENTRY *oldp)
++ { return(*(ENTRY **)0); }
++
++#undef _nc_save_str
++char *_nc_save_str(
++ const char *const string)
++ { return(*(char **)0); }
++
++#undef _nc_wrap_entry
++void _nc_wrap_entry(
++ ENTRY *const ep,
++ NCURSES_BOOL copy_strings)
++ { /* void */ }
++
++#undef _nc_merge_entry
++void _nc_merge_entry(
++ TERMTYPE *const to,
++ TERMTYPE *const from)
++ { /* void */ }
++
++/* ./tinfo/captoinfo.c */
++
++#include <ctype.h>
++
++#undef _nc_captoinfo
++char *_nc_captoinfo(
++ const char *cap,
++ const char *s,
++ int const parameterized)
++ { return(*(char **)0); }
++
++#undef _nc_infotocap
++char *_nc_infotocap(
++ const char *cap,
++ const char *str,
++ int const parameterized)
++ { return(*(char **)0); }
++
++/* ./tinfo/comp_expand.c */
++
++#undef _nc_tic_expand
++char *_nc_tic_expand(
++ const char *srcp,
++ NCURSES_BOOL tic_format,
++ int numbers)
++ { return(*(char **)0); }
++
++/* ./tinfo/comp_parse.c */
++
++#undef _nc_check_termtype2
++void (*_nc_check_termtype2)(
++ TERMTYPE *p1,
++ NCURSES_BOOL p2);
++#undef _nc_check_termtype
++void (*_nc_check_termtype)(
++ TERMTYPE *p1);
++
++#undef _nc_entry_match
++NCURSES_BOOL _nc_entry_match(
++ char *n1,
++ char *n2)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_read_entry_source
++void _nc_read_entry_source(
++ FILE *fp,
++ char *buf,
++ int literal,
++ NCURSES_BOOL silent,
++ NCURSES_BOOL (*hook)(
++ ENTRY *p1))
++ { /* void */ }
++
++#undef _nc_resolve_uses2
++int _nc_resolve_uses2(
++ NCURSES_BOOL fullresolve,
++ NCURSES_BOOL literal)
++ { return(*(int *)0); }
++
++#undef _nc_resolve_uses
++int _nc_resolve_uses(
++ NCURSES_BOOL fullresolve)
++ { return(*(int *)0); }
++
++/* ./tinfo/comp_scan.c */
++
++#undef _nc_syntax
++int _nc_syntax;
++#undef _nc_strict_bsd
++int _nc_strict_bsd;
++#undef _nc_curr_file_pos
++long _nc_curr_file_pos;
++#undef _nc_comment_start
++long _nc_comment_start;
++#undef _nc_comment_end
++long _nc_comment_end;
++#undef _nc_start_line
++long _nc_start_line;
++#undef _nc_curr_token
++struct token _nc_curr_token;
++#undef _nc_disable_period
++NCURSES_BOOL _nc_disable_period;
++
++#undef _nc_reset_input
++void _nc_reset_input(
++ FILE *fp,
++ char *buf)
++ { /* void */ }
++
++#undef _nc_get_token
++int _nc_get_token(
++ NCURSES_BOOL silent)
++ { return(*(int *)0); }
++
++#undef _nc_trans_string
++int _nc_trans_string(
++ char *ptr,
++ char *last)
++ { return(*(int *)0); }
++
++#undef _nc_push_token
++void _nc_push_token(
++ int tokclass)
++ { /* void */ }
++
++#undef _nc_panic_mode
++void _nc_panic_mode(
++ char ch)
++ { /* void */ }
++
++/* ./tinfo/parse_entry.c */
++
++#undef _nc_parse_entry
++int _nc_parse_entry(
++ struct entry *entryp,
++ int literal,
++ NCURSES_BOOL silent)
++ { return(*(int *)0); }
++
++#undef _nc_capcmp
++int _nc_capcmp(
++ const char *s,
++ const char *t)
++ { return(*(int *)0); }
++
++typedef struct {
++ const char *from;
++ const char *to;
++} assoc;
++
++/* ./tinfo/write_entry.c */
++
++#include <hashed_db.h>
++
++#undef _nc_set_writedir
++void _nc_set_writedir(
++ char *dir)
++ { /* void */ }
++
++#undef _nc_write_entry
++void _nc_write_entry(
++ TERMTYPE *const tp)
++ { /* void */ }
++
++#undef _nc_tic_written
++int _nc_tic_written(void)
++ { return(*(int *)0); }
+Index: ncurses/llib-ltictw
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/ncurses/llib-ltictw 2012-06-30 21:24:08.000000000 +0000
+@@ -0,0 +1,212 @@
++/****************************************************************************
++ * Copyright (c) 2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2012 *
++ ****************************************************************************/
++/* LINTLIBRARY */
++
++/* ./tinfo/alloc_entry.c */
++
++#include <curses.priv.h>
++#include <tic.h>
++
++#undef _nc_init_entry
++void _nc_init_entry(
++ TERMTYPE *const tp)
++ { /* void */ }
++
++#undef _nc_copy_entry
++ENTRY *_nc_copy_entry(
++ ENTRY *oldp)
++ { return(*(ENTRY **)0); }
++
++#undef _nc_save_str
++char *_nc_save_str(
++ const char *const string)
++ { return(*(char **)0); }
++
++#undef _nc_wrap_entry
++void _nc_wrap_entry(
++ ENTRY *const ep,
++ NCURSES_BOOL copy_strings)
++ { /* void */ }
++
++#undef _nc_merge_entry
++void _nc_merge_entry(
++ TERMTYPE *const to,
++ TERMTYPE *const from)
++ { /* void */ }
++
++/* ./tinfo/captoinfo.c */
++
++#include <ctype.h>
++
++#undef _nc_captoinfo
++char *_nc_captoinfo(
++ const char *cap,
++ const char *s,
++ int const parameterized)
++ { return(*(char **)0); }
++
++#undef _nc_infotocap
++char *_nc_infotocap(
++ const char *cap,
++ const char *str,
++ int const parameterized)
++ { return(*(char **)0); }
++
++/* ./tinfo/comp_expand.c */
++
++#undef _nc_tic_expand
++char *_nc_tic_expand(
++ const char *srcp,
++ NCURSES_BOOL tic_format,
++ int numbers)
++ { return(*(char **)0); }
++
++/* ./tinfo/comp_parse.c */
++
++#undef _nc_check_termtype2
++void (*_nc_check_termtype2)(
++ TERMTYPE *p1,
++ NCURSES_BOOL p2);
++#undef _nc_check_termtype
++void (*_nc_check_termtype)(
++ TERMTYPE *p1);
++
++#undef _nc_entry_match
++NCURSES_BOOL _nc_entry_match(
++ char *n1,
++ char *n2)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_read_entry_source
++void _nc_read_entry_source(
++ FILE *fp,
++ char *buf,
++ int literal,
++ NCURSES_BOOL silent,
++ NCURSES_BOOL (*hook)(
++ ENTRY *p1))
++ { /* void */ }
++
++#undef _nc_resolve_uses2
++int _nc_resolve_uses2(
++ NCURSES_BOOL fullresolve,
++ NCURSES_BOOL literal)
++ { return(*(int *)0); }
++
++#undef _nc_resolve_uses
++int _nc_resolve_uses(
++ NCURSES_BOOL fullresolve)
++ { return(*(int *)0); }
++
++/* ./tinfo/comp_scan.c */
++
++#undef _nc_syntax
++int _nc_syntax;
++#undef _nc_strict_bsd
++int _nc_strict_bsd;
++#undef _nc_curr_file_pos
++long _nc_curr_file_pos;
++#undef _nc_comment_start
++long _nc_comment_start;
++#undef _nc_comment_end
++long _nc_comment_end;
++#undef _nc_start_line
++long _nc_start_line;
++#undef _nc_curr_token
++struct token _nc_curr_token;
++#undef _nc_disable_period
++NCURSES_BOOL _nc_disable_period;
++
++#undef _nc_reset_input
++void _nc_reset_input(
++ FILE *fp,
++ char *buf)
++ { /* void */ }
++
++#undef _nc_get_token
++int _nc_get_token(
++ NCURSES_BOOL silent)
++ { return(*(int *)0); }
++
++#undef _nc_trans_string
++int _nc_trans_string(
++ char *ptr,
++ char *last)
++ { return(*(int *)0); }
++
++#undef _nc_push_token
++void _nc_push_token(
++ int tokclass)
++ { /* void */ }
++
++#undef _nc_panic_mode
++void _nc_panic_mode(
++ char ch)
++ { /* void */ }
++
++/* ./tinfo/parse_entry.c */
++
++#undef _nc_parse_entry
++int _nc_parse_entry(
++ struct entry *entryp,
++ int literal,
++ NCURSES_BOOL silent)
++ { return(*(int *)0); }
++
++#undef _nc_capcmp
++int _nc_capcmp(
++ const char *s,
++ const char *t)
++ { return(*(int *)0); }
++
++typedef struct {
++ const char *from;
++ const char *to;
++} assoc;
++
++/* ./tinfo/write_entry.c */
++
++#include <hashed_db.h>
++
++#undef _nc_set_writedir
++void _nc_set_writedir(
++ char *dir)
++ { /* void */ }
++
++#undef _nc_write_entry
++void _nc_write_entry(
++ TERMTYPE *const tp)
++ { /* void */ }
++
++#undef _nc_tic_written
++int _nc_tic_written(void)
++ { return(*(int *)0); }
+Index: ncurses/llib-lticw
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/ncurses/llib-lticw 2012-06-30 21:00:26.000000000 +0000
+@@ -0,0 +1,212 @@
++/****************************************************************************
++ * Copyright (c) 2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2012 *
++ ****************************************************************************/
++/* LINTLIBRARY */
++
++/* ./tinfo/alloc_entry.c */
++
++#include <curses.priv.h>
++#include <tic.h>
++
++#undef _nc_init_entry
++void _nc_init_entry(
++ TERMTYPE *const tp)
++ { /* void */ }
++
++#undef _nc_copy_entry
++ENTRY *_nc_copy_entry(
++ ENTRY *oldp)
++ { return(*(ENTRY **)0); }
++
++#undef _nc_save_str
++char *_nc_save_str(
++ const char *const string)
++ { return(*(char **)0); }
++
++#undef _nc_wrap_entry
++void _nc_wrap_entry(
++ ENTRY *const ep,
++ NCURSES_BOOL copy_strings)
++ { /* void */ }
++
++#undef _nc_merge_entry
++void _nc_merge_entry(
++ TERMTYPE *const to,
++ TERMTYPE *const from)
++ { /* void */ }
++
++/* ./tinfo/captoinfo.c */
++
++#include <ctype.h>
++
++#undef _nc_captoinfo
++char *_nc_captoinfo(
++ const char *cap,
++ const char *s,
++ int const parameterized)
++ { return(*(char **)0); }
++
++#undef _nc_infotocap
++char *_nc_infotocap(
++ const char *cap,
++ const char *str,
++ int const parameterized)
++ { return(*(char **)0); }
++
++/* ./tinfo/comp_expand.c */
++
++#undef _nc_tic_expand
++char *_nc_tic_expand(
++ const char *srcp,
++ NCURSES_BOOL tic_format,
++ int numbers)
++ { return(*(char **)0); }
++
++/* ./tinfo/comp_parse.c */
++
++#undef _nc_check_termtype2
++void (*_nc_check_termtype2)(
++ TERMTYPE *p1,
++ NCURSES_BOOL p2);
++#undef _nc_check_termtype
++void (*_nc_check_termtype)(
++ TERMTYPE *p1);
++
++#undef _nc_entry_match
++NCURSES_BOOL _nc_entry_match(
++ char *n1,
++ char *n2)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_read_entry_source
++void _nc_read_entry_source(
++ FILE *fp,
++ char *buf,
++ int literal,
++ NCURSES_BOOL silent,
++ NCURSES_BOOL (*hook)(
++ ENTRY *p1))
++ { /* void */ }
++
++#undef _nc_resolve_uses2
++int _nc_resolve_uses2(
++ NCURSES_BOOL fullresolve,
++ NCURSES_BOOL literal)
++ { return(*(int *)0); }
++
++#undef _nc_resolve_uses
++int _nc_resolve_uses(
++ NCURSES_BOOL fullresolve)
++ { return(*(int *)0); }
++
++/* ./tinfo/comp_scan.c */
++
++#undef _nc_syntax
++int _nc_syntax;
++#undef _nc_strict_bsd
++int _nc_strict_bsd;
++#undef _nc_curr_file_pos
++long _nc_curr_file_pos;
++#undef _nc_comment_start
++long _nc_comment_start;
++#undef _nc_comment_end
++long _nc_comment_end;
++#undef _nc_start_line
++long _nc_start_line;
++#undef _nc_curr_token
++struct token _nc_curr_token;
++#undef _nc_disable_period
++NCURSES_BOOL _nc_disable_period;
++
++#undef _nc_reset_input
++void _nc_reset_input(
++ FILE *fp,
++ char *buf)
++ { /* void */ }
++
++#undef _nc_get_token
++int _nc_get_token(
++ NCURSES_BOOL silent)
++ { return(*(int *)0); }
++
++#undef _nc_trans_string
++int _nc_trans_string(
++ char *ptr,
++ char *last)
++ { return(*(int *)0); }
++
++#undef _nc_push_token
++void _nc_push_token(
++ int tokclass)
++ { /* void */ }
++
++#undef _nc_panic_mode
++void _nc_panic_mode(
++ char ch)
++ { /* void */ }
++
++/* ./tinfo/parse_entry.c */
++
++#undef _nc_parse_entry
++int _nc_parse_entry(
++ struct entry *entryp,
++ int literal,
++ NCURSES_BOOL silent)
++ { return(*(int *)0); }
++
++#undef _nc_capcmp
++int _nc_capcmp(
++ const char *s,
++ const char *t)
++ { return(*(int *)0); }
++
++typedef struct {
++ const char *from;
++ const char *to;
++} assoc;
++
++/* ./tinfo/write_entry.c */
++
++#include <hashed_db.h>
++
++#undef _nc_set_writedir
++void _nc_set_writedir(
++ char *dir)
++ { /* void */ }
++
++#undef _nc_write_entry
++void _nc_write_entry(
++ TERMTYPE *const tp)
++ { /* void */ }
++
++#undef _nc_tic_written
++int _nc_tic_written(void)
++ { return(*(int *)0); }
+Index: ncurses/llib-ltinfo
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/ncurses/llib-ltinfo 2012-07-14 17:39:00.000000000 +0000
+@@ -0,0 +1,1504 @@
++/****************************************************************************
++ * Copyright (c) 2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2012 *
++ ****************************************************************************/
++/* LINTLIBRARY */
++
++/* ./tinfo/access.c */
++
++#include <curses.priv.h>
++#include <ctype.h>
++#include <tic.h>
++
++#undef _nc_rootname
++char *_nc_rootname(
++ char *path)
++ { return(*(char **)0); }
++
++#undef _nc_is_abs_path
++NCURSES_BOOL _nc_is_abs_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_pathlast
++unsigned _nc_pathlast(
++ const char *path)
++ { return(*(unsigned *)0); }
++
++#undef _nc_basename
++char *_nc_basename(
++ char *path)
++ { return(*(char **)0); }
++
++#undef _nc_access
++int _nc_access(
++ const char *path,
++ int mode)
++ { return(*(int *)0); }
++
++#undef _nc_is_dir_path
++NCURSES_BOOL _nc_is_dir_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_is_file_path
++NCURSES_BOOL _nc_is_file_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_env_access
++int _nc_env_access(void)
++ { return(*(int *)0); }
++
++/* ./tinfo/add_tries.c */
++
++#undef _nc_add_to_try
++int _nc_add_to_try(
++ TRIES **tree,
++ const char *str,
++ unsigned code)
++ { return(*(int *)0); }
++
++/* ./tinfo/alloc_ttype.c */
++
++#undef _nc_align_termtype
++void _nc_align_termtype(
++ TERMTYPE *to,
++ TERMTYPE *from)
++ { /* void */ }
++
++#undef _nc_copy_termtype
++void _nc_copy_termtype(
++ TERMTYPE *dst,
++ const TERMTYPE *src)
++ { /* void */ }
++
++/* ./codes.c */
++
++#undef boolcodes
++char *const boolcodes[] = {0};
++#undef numcodes
++char *const numcodes[] = {0};
++#undef strcodes
++char *const strcodes[] = {0};
++
++/* ./comp_captab.c */
++
++#include <hashsize.h>
++
++#undef _nc_get_table
++const struct name_table_entry *_nc_get_table(
++ NCURSES_BOOL termcap)
++ { return(*(const struct name_table_entry **)0); }
++
++#undef _nc_get_hash_table
++const HashValue *_nc_get_hash_table(
++ NCURSES_BOOL termcap)
++ { return(*(const HashValue **)0); }
++
++#undef _nc_get_alias_table
++const struct alias *_nc_get_alias_table(
++ NCURSES_BOOL termcap)
++ { return(*(const struct alias **)0); }
++
++#undef _nc_get_hash_info
++const HashData *_nc_get_hash_info(
++ NCURSES_BOOL termcap)
++ { return(*(const HashData **)0); }
++
++/* ./tinfo/comp_error.c */
++
++#undef _nc_suppress_warnings
++NCURSES_BOOL _nc_suppress_warnings;
++#undef _nc_curr_line
++int _nc_curr_line;
++#undef _nc_curr_col
++int _nc_curr_col;
++
++#undef _nc_get_source
++const char *_nc_get_source(void)
++ { return(*(const char **)0); }
++
++#undef _nc_set_source
++void _nc_set_source(
++ const char *const name)
++ { /* void */ }
++
++#undef _nc_set_type
++void _nc_set_type(
++ const char *const name)
++ { /* void */ }
++
++#undef _nc_get_type
++void _nc_get_type(
++ char *name)
++ { /* void */ }
++
++#undef _nc_warning
++void _nc_warning(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_err_abort
++void _nc_err_abort(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_syserr_abort
++void _nc_syserr_abort(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++/* ./tinfo/comp_hash.c */
++
++#undef _nc_find_entry
++struct name_table_entry const *_nc_find_entry(
++ const char *string,
++ const HashValue *hash_table)
++ { return(*(struct name_table_entry const **)0); }
++
++#undef _nc_find_type_entry
++struct name_table_entry const *_nc_find_type_entry(
++ const char *string,
++ int type,
++ NCURSES_BOOL termcap)
++ { return(*(struct name_table_entry const **)0); }
++
++/* ./tinfo/db_iterator.c */
++
++#include <time.h>
++
++#undef _nc_tic_dir
++const char *_nc_tic_dir(
++ const char *path)
++ { return(*(const char **)0); }
++
++#undef _nc_keep_tic_dir
++void _nc_keep_tic_dir(
++ const char *path)
++ { /* void */ }
++
++#undef _nc_last_db
++void _nc_last_db(void)
++ { /* void */ }
++
++#undef _nc_next_db
++const char *_nc_next_db(
++ DBDIRS *state,
++ int *offset)
++ { return(*(const char **)0); }
++
++#undef _nc_first_db
++void _nc_first_db(
++ DBDIRS *state,
++ int *offset)
++ { /* void */ }
++
++/* ./tinfo/doalloc.c */
++
++#undef _nc_doalloc
++void *_nc_doalloc(
++ void *oldp,
++ size_t amount)
++ { return(*(void **)0); }
++
++/* ./tinfo/entries.c */
++
++#undef _nc_head
++ENTRY *_nc_head;
++#undef _nc_tail
++ENTRY *_nc_tail;
++
++#undef _nc_free_entry
++void _nc_free_entry(
++ ENTRY *headp,
++ TERMTYPE *tterm)
++ { /* void */ }
++
++#undef _nc_free_entries
++void _nc_free_entries(
++ ENTRY *headp)
++ { /* void */ }
++
++#undef _nc_delink_entry
++ENTRY *_nc_delink_entry(
++ ENTRY *headp,
++ TERMTYPE *tterm)
++ { return(*(ENTRY **)0); }
++
++#undef _nc_leaks_tinfo
++void _nc_leaks_tinfo(void)
++ { /* void */ }
++
++/* ./fallback.c */
++
++#undef _nc_fallback
++const TERMTYPE *_nc_fallback(
++ const char *name)
++ { return(*(const TERMTYPE **)0); }
++
++/* ./tinfo/free_ttype.c */
++
++#undef _nc_free_termtype
++void _nc_free_termtype(
++ TERMTYPE *ptr)
++ { /* void */ }
++
++#undef _nc_user_definable
++NCURSES_BOOL _nc_user_definable;
++
++#undef use_extended_names
++int use_extended_names(
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/getenv_num.c */
++
++#undef _nc_getenv_num
++int _nc_getenv_num(
++ const char *name)
++ { return(*(int *)0); }
++
++/* ./tinfo/home_terminfo.c */
++
++#undef _nc_home_terminfo
++char *_nc_home_terminfo(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/init_keytry.c */
++
++#if 0
++
++#include <init_keytry.h>
++
++#undef _nc_tinfo_fkeys
++const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
++
++#endif
++
++#undef _nc_init_keytry
++void _nc_init_keytry(
++ SCREEN *sp)
++ { /* void */ }
++
++/* ./tinfo/lib_acs.c */
++
++#undef acs_map
++chtype acs_map[128];
++
++#undef _nc_init_acs_sp
++void _nc_init_acs_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_init_acs
++void _nc_init_acs(void)
++ { /* void */ }
++
++/* ./tinfo/lib_baudrate.c */
++
++#include <termcap.h>
++
++struct speed {
++ int s;
++ int sp;
++};
++
++#undef _nc_baudrate
++int _nc_baudrate(
++ int OSpeed)
++ { return(*(int *)0); }
++
++#undef _nc_ospeed
++int _nc_ospeed(
++ int BaudRate)
++ { return(*(int *)0); }
++
++#undef baudrate_sp
++int baudrate_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef baudrate
++int baudrate(void)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_cur_term.c */
++
++#undef cur_term
++TERMINAL *cur_term;
++
++#undef set_curterm_sp
++TERMINAL *set_curterm_sp(
++ SCREEN *sp,
++ TERMINAL *termp)
++ { return(*(TERMINAL **)0); }
++
++#undef set_curterm
++TERMINAL *set_curterm(
++ TERMINAL *termp)
++ { return(*(TERMINAL **)0); }
++
++#undef del_curterm_sp
++int del_curterm_sp(
++ SCREEN *sp,
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++#undef del_curterm
++int del_curterm(
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_data.c */
++
++#undef stdscr
++WINDOW *stdscr;
++#undef curscr
++WINDOW *curscr;
++#undef newscr
++WINDOW *newscr;
++#undef _nc_screen_chain
++SCREEN *_nc_screen_chain;
++#undef SP
++SCREEN *SP;
++#undef _nc_globals
++NCURSES_GLOBALS _nc_globals;
++#undef _nc_prescreen
++NCURSES_PRESCREEN _nc_prescreen;
++
++#undef _nc_screen_of
++SCREEN *_nc_screen_of(
++ WINDOW *win)
++ { return(*(SCREEN **)0); }
++
++/* ./tinfo/lib_has_cap.c */
++
++#undef has_ic_sp
++NCURSES_BOOL has_ic_sp(
++ SCREEN *sp)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_ic
++NCURSES_BOOL has_ic(void)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_il_sp
++NCURSES_BOOL has_il_sp(
++ SCREEN *sp)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_il
++NCURSES_BOOL has_il(void)
++ { return(*(NCURSES_BOOL *)0); }
++
++/* ./tinfo/lib_kernel.c */
++
++#undef erasechar_sp
++char erasechar_sp(
++ SCREEN *sp)
++ { return(*(char *)0); }
++
++#undef erasechar
++char erasechar(void)
++ { return(*(char *)0); }
++
++#undef killchar_sp
++char killchar_sp(
++ SCREEN *sp)
++ { return(*(char *)0); }
++
++#undef killchar
++char killchar(void)
++ { return(*(char *)0); }
++
++#undef flushinp_sp
++int flushinp_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef flushinp
++int flushinp(void)
++ { return(*(int *)0); }
++
++/* ./lib_keyname.c */
++
++struct kn { short offset; int code; };
++
++#undef keyname_sp
++char *keyname_sp(
++ SCREEN *sp,
++ int c)
++ { return(*(char **)0); }
++
++#undef keyname
++char *keyname(
++ int c)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_longname.c */
++
++#undef longname
++char *longname(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_napms.c */
++
++#include <sys/time.h>
++
++#undef napms_sp
++int napms_sp(
++ SCREEN *sp,
++ int ms)
++ { return(*(int *)0); }
++
++#undef napms
++int napms(
++ int ms)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_options.c */
++
++#undef idlok
++int idlok(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef idcok
++void idcok(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { /* void */ }
++
++#undef halfdelay_sp
++int halfdelay_sp(
++ SCREEN *sp,
++ int t)
++ { return(*(int *)0); }
++
++#undef halfdelay
++int halfdelay(
++ int t)
++ { return(*(int *)0); }
++
++#undef nodelay
++int nodelay(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef notimeout
++int notimeout(
++ WINDOW *win,
++ NCURSES_BOOL f)
++ { return(*(int *)0); }
++
++#undef wtimeout
++void wtimeout(
++ WINDOW *win,
++ int delay)
++ { /* void */ }
++
++#undef keypad
++int keypad(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef meta
++int meta(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef curs_set_sp
++int curs_set_sp(
++ SCREEN *sp,
++ int vis)
++ { return(*(int *)0); }
++
++#undef curs_set
++int curs_set(
++ int vis)
++ { return(*(int *)0); }
++
++#undef typeahead_sp
++int typeahead_sp(
++ SCREEN *sp,
++ int fd)
++ { return(*(int *)0); }
++
++#undef typeahead
++int typeahead(
++ int fd)
++ { return(*(int *)0); }
++
++#undef has_key_sp
++int has_key_sp(
++ SCREEN *sp,
++ int keycode)
++ { return(*(int *)0); }
++
++#undef has_key
++int has_key(
++ int keycode)
++ { return(*(int *)0); }
++
++#undef _nc_putp_flush_sp
++int _nc_putp_flush_sp(
++ SCREEN *sp,
++ const char *name,
++ const char *value)
++ { return(*(int *)0); }
++
++#undef _nc_keypad
++int _nc_keypad(
++ SCREEN *sp,
++ int flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_raw.c */
++
++#undef raw_sp
++int raw_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef raw
++int raw(void)
++ { return(*(int *)0); }
++
++#undef cbreak_sp
++int cbreak_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef cbreak
++int cbreak(void)
++ { return(*(int *)0); }
++
++#undef qiflush_sp
++void qiflush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef qiflush
++void qiflush(void)
++ { /* void */ }
++
++#undef noraw_sp
++int noraw_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef noraw
++int noraw(void)
++ { return(*(int *)0); }
++
++#undef nocbreak_sp
++int nocbreak_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef nocbreak
++int nocbreak(void)
++ { return(*(int *)0); }
++
++#undef noqiflush_sp
++void noqiflush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef noqiflush
++void noqiflush(void)
++ { /* void */ }
++
++#undef intrflush_sp
++int intrflush_sp(
++ SCREEN *sp,
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef intrflush
++int intrflush(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_setup.c */
++
++#include <locale.h>
++#include <sys/ioctl.h>
++#include <langinfo.h>
++
++#undef ttytype
++char ttytype[256];
++#undef LINES
++int LINES;
++#undef COLS
++int COLS;
++#undef TABSIZE
++int TABSIZE;
++
++#undef set_tabsize_sp
++int set_tabsize_sp(
++ SCREEN *sp,
++ int value)
++ { return(*(int *)0); }
++
++#undef set_tabsize
++int set_tabsize(
++ int value)
++ { return(*(int *)0); }
++
++#undef _nc_handle_sigwinch
++int _nc_handle_sigwinch(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef use_env_sp
++void use_env_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_env
++void use_env(
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl_sp
++void use_tioctl_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl
++void use_tioctl(
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef _nc_get_screensize
++void _nc_get_screensize(
++ SCREEN *sp,
++ int *linep,
++ int *colp)
++ { /* void */ }
++
++#undef _nc_update_screensize
++void _nc_update_screensize(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_setup_tinfo
++int _nc_setup_tinfo(
++ const char *const tn,
++ TERMTYPE *const tp)
++ { return(*(int *)0); }
++
++#undef _nc_tinfo_cmdch
++void _nc_tinfo_cmdch(
++ TERMINAL *termp,
++ int proto)
++ { /* void */ }
++
++#undef _nc_get_locale
++char *_nc_get_locale(void)
++ { return(*(char **)0); }
++
++#undef _nc_unicode_locale
++int _nc_unicode_locale(void)
++ { return(*(int *)0); }
++
++#undef _nc_locale_breaks_acs
++int _nc_locale_breaks_acs(
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++#undef _nc_setupterm
++int _nc_setupterm(
++ char *tname,
++ int Filedes,
++ int *errret,
++ int reuse)
++ { return(*(int *)0); }
++
++#undef new_prescr
++SCREEN *new_prescr(void)
++ { return(*(SCREEN **)0); }
++
++#undef setupterm
++int setupterm(
++ char *tname,
++ int Filedes,
++ int *errret)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_termcap.c */
++
++#undef UP
++char *UP;
++#undef BC
++char *BC;
++
++#undef tgetent_sp
++int tgetent_sp(
++ SCREEN *sp,
++ char *bufp,
++ const char *name)
++ { return(*(int *)0); }
++
++#if 0
++
++#include <capdefaults.c>
++
++#endif
++
++#undef tgetent
++int tgetent(
++ char *bufp,
++ const char *name)
++ { return(*(int *)0); }
++
++#undef tgetflag_sp
++int tgetflag_sp(
++ SCREEN *sp,
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetflag
++int tgetflag(
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetnum_sp
++int tgetnum_sp(
++ SCREEN *sp,
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetnum
++int tgetnum(
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetstr_sp
++char *tgetstr_sp(
++ SCREEN *sp,
++ char *id,
++ char **area)
++ { return(*(char **)0); }
++
++#undef tgetstr
++char *tgetstr(
++ char *id,
++ char **area)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_termname.c */
++
++#undef termname_sp
++char *termname_sp(
++ SCREEN *sp)
++ { return(*(char **)0); }
++
++#undef termname
++char *termname(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tgoto.c */
++
++#undef tgoto
++char *tgoto(
++ const char *string,
++ int x,
++ int y)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_ti.c */
++
++#undef tigetflag_sp
++int tigetflag_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetflag
++int tigetflag(
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetnum_sp
++int tigetnum_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetnum
++int tigetnum(
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetstr_sp
++char *tigetstr_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(char **)0); }
++
++#undef tigetstr
++char *tigetstr(
++ char *str)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tparm.c */
++
++#undef _nc_tparm_err
++int _nc_tparm_err;
++
++#undef _nc_tparm_analyze
++int _nc_tparm_analyze(
++ const char *string,
++ char *p_is_s[9],
++ int *popcount)
++ { return(*(int *)0); }
++
++#undef tparm
++char *tparm(
++ char *string,
++ ...)
++ { return(*(char **)0); }
++
++#undef tiparm
++char *tiparm(
++ const char *string,
++ ...)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tputs.c */
++
++#undef PC
++char PC;
++#undef ospeed
++short ospeed;
++#undef _nc_nulls_sent
++int _nc_nulls_sent;
++
++#undef _nc_set_no_padding
++void _nc_set_no_padding(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef delay_output_sp
++int delay_output_sp(
++ SCREEN *sp,
++ int ms)
++ { return(*(int *)0); }
++
++#undef delay_output
++int delay_output(
++ int ms)
++ { return(*(int *)0); }
++
++#undef _nc_flush_sp
++void _nc_flush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_flush
++void _nc_flush(void)
++ { /* void */ }
++
++#undef _nc_outch_sp
++int _nc_outch_sp(
++ SCREEN *sp,
++ int ch)
++ { return(*(int *)0); }
++
++#undef _nc_outch
++int _nc_outch(
++ int ch)
++ { return(*(int *)0); }
++
++#undef putp_sp
++int putp_sp(
++ SCREEN *sp,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef _nc_putp_sp
++int _nc_putp_sp(
++ SCREEN *sp,
++ const char *name,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef putp
++int putp(
++ const char *string)
++ { return(*(int *)0); }
++
++#undef _nc_putp
++int _nc_putp(
++ const char *name,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef tputs_sp
++int tputs_sp(
++ SCREEN *sp,
++ const char *string,
++ int affcnt,
++ NCURSES_OUTC_sp outc)
++ { return(*(int *)0); }
++
++#undef _nc_outc_wrapper
++int _nc_outc_wrapper(
++ SCREEN *sp,
++ int c)
++ { return(*(int *)0); }
++
++#undef tputs
++int tputs(
++ const char *string,
++ int affcnt,
++ int (*outc)(
++ int p1))
++ { return(*(int *)0); }
++
++/* ./trace/lib_trace.c */
++
++#undef _nc_tracing
++unsigned _nc_tracing;
++#undef _nc_tputs_trace
++const char *_nc_tputs_trace = {0};
++#undef _nc_outchars
++long _nc_outchars;
++
++#undef trace
++void trace(
++ const unsigned int tracelevel)
++ { /* void */ }
++
++#undef _tracef
++void _tracef(
++ const char *fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_retrace_bool
++NCURSES_BOOL _nc_retrace_bool(
++ int code)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_retrace_char
++char _nc_retrace_char(
++ int code)
++ { return(*(char *)0); }
++
++#undef _nc_retrace_int
++int _nc_retrace_int(
++ int code)
++ { return(*(int *)0); }
++
++#undef _nc_retrace_unsigned
++unsigned _nc_retrace_unsigned(
++ unsigned code)
++ { return(*(unsigned *)0); }
++
++#undef _nc_retrace_ptr
++char *_nc_retrace_ptr(
++ char *code)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_cptr
++const char *_nc_retrace_cptr(
++ const char *code)
++ { return(*(const char **)0); }
++
++#undef _nc_retrace_cvoid_ptr
++void *_nc_retrace_cvoid_ptr(
++ void *code)
++ { return(*(void **)0); }
++
++#undef _nc_retrace_void_ptr
++void *_nc_retrace_void_ptr(
++ void *code)
++ { return(*(void **)0); }
++
++#undef _nc_retrace_sp
++SCREEN *_nc_retrace_sp(
++ SCREEN *code)
++ { return(*(SCREEN **)0); }
++
++#undef _nc_retrace_win
++WINDOW *_nc_retrace_win(
++ WINDOW *code)
++ { return(*(WINDOW **)0); }
++
++/* ./trace/lib_traceatr.c */
++
++#undef _traceattr2
++char *_traceattr2(
++ int bufnum,
++ chtype newmode)
++ { return(*(char **)0); }
++
++#undef _traceattr
++char *_traceattr(
++ attr_t newmode)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_int_attr_t
++int _nc_retrace_int_attr_t(
++ attr_t code)
++ { return(*(int *)0); }
++
++#undef _nc_retrace_attr_t
++attr_t _nc_retrace_attr_t(
++ attr_t code)
++ { return(*(attr_t *)0); }
++
++#undef _nc_altcharset_name
++const char *_nc_altcharset_name(
++ attr_t attr,
++ chtype ch)
++ { return(*(const char **)0); }
++
++#undef _tracechtype2
++char *_tracechtype2(
++ int bufnum,
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef _tracechtype
++char *_tracechtype(
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_chtype
++chtype _nc_retrace_chtype(
++ chtype code)
++ { return(*(chtype *)0); }
++
++/* ./trace/lib_tracebits.c */
++
++typedef struct {
++ unsigned int val;
++ const char *name;
++} BITNAMES;
++
++#undef _nc_trace_ttymode
++char *_nc_trace_ttymode(
++ struct termios *tty)
++ { return(*(char **)0); }
++
++#undef _nc_tracebits
++char *_nc_tracebits(void)
++ { return(*(char **)0); }
++
++/* ./trace/lib_tracechr.c */
++
++#undef _nc_tracechar
++char *_nc_tracechar(
++ SCREEN *sp,
++ int ch)
++ { return(*(char **)0); }
++
++#undef _tracechar
++char *_tracechar(
++ int ch)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_ttyflags.c */
++
++#undef _nc_get_tty_mode_sp
++int _nc_get_tty_mode_sp(
++ SCREEN *sp,
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_get_tty_mode
++int _nc_get_tty_mode(
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_set_tty_mode_sp
++int _nc_set_tty_mode_sp(
++ SCREEN *sp,
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_set_tty_mode
++int _nc_set_tty_mode(
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef def_shell_mode_sp
++int def_shell_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef def_shell_mode
++int def_shell_mode(void)
++ { return(*(int *)0); }
++
++#undef def_prog_mode_sp
++int def_prog_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef def_prog_mode
++int def_prog_mode(void)
++ { return(*(int *)0); }
++
++#undef reset_prog_mode_sp
++int reset_prog_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef reset_prog_mode
++int reset_prog_mode(void)
++ { return(*(int *)0); }
++
++#undef reset_shell_mode_sp
++int reset_shell_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef reset_shell_mode
++int reset_shell_mode(void)
++ { return(*(int *)0); }
++
++#undef savetty_sp
++int savetty_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef savetty
++int savetty(void)
++ { return(*(int *)0); }
++
++#undef resetty_sp
++int resetty_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef resetty
++int resetty(void)
++ { return(*(int *)0); }
++
++/* ./tty/lib_twait.c */
++
++#undef _nc_timed_wait
++int _nc_timed_wait(
++ SCREEN *sp,
++ int mode,
++ int milliseconds,
++ int *timeleft)
++ { return(*(int *)0); }
++
++/* ./tinfo/name_match.c */
++
++#undef _nc_first_name
++char *_nc_first_name(
++ const char *const sp)
++ { return(*(char **)0); }
++
++#undef _nc_name_match
++int _nc_name_match(
++ const char *const namelst,
++ const char *const name,
++ const char *const delim)
++ { return(*(int *)0); }
++
++/* ./names.c */
++
++#undef boolnames
++char *const boolnames[] = {0};
++#undef boolfnames
++char *const boolfnames[] = {0};
++#undef numnames
++char *const numnames[] = {0};
++#undef numfnames
++char *const numfnames[] = {0};
++#undef strnames
++char *const strnames[] = {0};
++#undef strfnames
++char *const strfnames[] = {0};
++
++/* ./tinfo/read_entry.c */
++
++#include <hashed_db.h>
++
++#undef _nc_read_termtype
++int _nc_read_termtype(
++ TERMTYPE *ptr,
++ char *buffer,
++ int limit)
++ { return(*(int *)0); }
++
++#undef _nc_read_file_entry
++int _nc_read_file_entry(
++ const char *const filename,
++ TERMTYPE *ptr)
++ { return(*(int *)0); }
++
++#undef _nc_read_entry
++int _nc_read_entry(
++ const char *const name,
++ char *const filename,
++ TERMTYPE *const tp)
++ { return(*(int *)0); }
++
++/* ./tinfo/read_termcap.c */
++
++#include <sys/types.h>
++
++#undef _nc_read_termcap
++void _nc_read_termcap(void)
++ { /* void */ }
++
++/* ./tinfo/setbuf.c */
++
++#undef _nc_set_buffer_sp
++void _nc_set_buffer_sp(
++ SCREEN *sp,
++ FILE *ofp,
++ int buffered)
++ { /* void */ }
++
++#undef _nc_set_buffer
++void _nc_set_buffer(
++ FILE *ofp,
++ int buffered)
++ { /* void */ }
++
++/* ./tinfo/strings.c */
++
++#undef _nc_str_init
++string_desc *_nc_str_init(
++ string_desc *dst,
++ char *src,
++ size_t len)
++ { return(*(string_desc **)0); }
++
++#undef _nc_str_null
++string_desc *_nc_str_null(
++ string_desc *dst,
++ size_t len)
++ { return(*(string_desc **)0); }
++
++#undef _nc_str_copy
++string_desc *_nc_str_copy(
++ string_desc *dst,
++ string_desc *src)
++ { return(*(string_desc **)0); }
++
++#undef _nc_safe_strcat
++NCURSES_BOOL _nc_safe_strcat(
++ string_desc *dst,
++ const char *src)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_safe_strcpy
++NCURSES_BOOL _nc_safe_strcpy(
++ string_desc *dst,
++ const char *src)
++ { return(*(NCURSES_BOOL *)0); }
++
++/* ./trace/trace_buf.c */
++
++#undef _nc_trace_buf
++char *_nc_trace_buf(
++ int bufnum,
++ size_t want)
++ { return(*(char **)0); }
++
++#undef _nc_trace_bufcat
++char *_nc_trace_bufcat(
++ int bufnum,
++ const char *value)
++ { return(*(char **)0); }
++
++/* ./trace/trace_tries.c */
++
++#undef _nc_trace_tries
++void _nc_trace_tries(
++ TRIES *tree)
++ { /* void */ }
++
++/* ./base/tries.c */
++
++#undef _nc_expand_try
++char *_nc_expand_try(
++ TRIES *tree,
++ unsigned code,
++ int *count,
++ size_t len)
++ { return(*(char **)0); }
++
++#undef _nc_remove_key
++int _nc_remove_key(
++ TRIES **tree,
++ unsigned code)
++ { return(*(int *)0); }
++
++#undef _nc_remove_string
++int _nc_remove_string(
++ TRIES **tree,
++ const char *string)
++ { return(*(int *)0); }
++
++/* ./tinfo/trim_sgr0.c */
++
++#undef _nc_trim_sgr0
++char *_nc_trim_sgr0(
++ TERMTYPE *tp)
++ { return(*(char **)0); }
++
++/* ./unctrl.c */
++
++#undef unctrl_sp
++char *unctrl_sp(
++ SCREEN *sp,
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef unctrl
++char *unctrl(
++ chtype ch)
++ { return(*(char **)0); }
++
++/* ./trace/visbuf.c */
++
++#undef _nc_visbuf2
++const char *_nc_visbuf2(
++ int bufnum,
++ const char *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_visbuf
++const char *_nc_visbuf(
++ const char *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_visbufn
++const char *_nc_visbufn(
++ const char *buf,
++ int len)
++ { return(*(const char **)0); }
++
++#undef _nc_viscbuf2
++const char *_nc_viscbuf2(
++ int bufnum,
++ const chtype *buf,
++ int len)
++ { return(*(const char **)0); }
++
++#undef _nc_viscbuf
++const char *_nc_viscbuf(
++ const chtype *buf,
++ int len)
++ { return(*(const char **)0); }
++
++/* ./base/define_key.c */
++
++#undef define_key_sp
++int define_key_sp(
++ SCREEN *sp,
++ const char *str,
++ int keycode)
++ { return(*(int *)0); }
++
++#undef define_key
++int define_key(
++ const char *str,
++ int keycode)
++ { return(*(int *)0); }
++
++/* ./tinfo/hashed_db.c */
++
++#undef _nc_hashed_db
++void _nc_hashed_db(void)
++ { /* void */ }
++
++/* ./base/key_defined.c */
++
++#undef key_defined_sp
++int key_defined_sp(
++ SCREEN *sp,
++ const char *str)
++ { return(*(int *)0); }
++
++#undef key_defined
++int key_defined(
++ const char *str)
++ { return(*(int *)0); }
++
++/* ./base/keybound.c */
++
++#undef keybound_sp
++char *keybound_sp(
++ SCREEN *sp,
++ int code,
++ int count)
++ { return(*(char **)0); }
++
++#undef keybound
++char *keybound(
++ int code,
++ int count)
++ { return(*(char **)0); }
++
++/* ./base/keyok.c */
++
++#undef keyok_sp
++int keyok_sp(
++ SCREEN *sp,
++ int c,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef keyok
++int keyok(
++ int c,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./base/version.c */
++
++#undef curses_version
++const char *curses_version(void)
++ { return(*(const char **)0); }
+Index: ncurses/llib-ltinfotw
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/ncurses/llib-ltinfotw 2012-07-14 17:39:00.000000000 +0000
+@@ -0,0 +1,1646 @@
++/****************************************************************************
++ * Copyright (c) 2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2012 *
++ ****************************************************************************/
++/* LINTLIBRARY */
++
++/* ./tinfo/access.c */
++
++#include <curses.priv.h>
++#include <ctype.h>
++#include <tic.h>
++
++#undef _nc_rootname
++char *_nc_rootname(
++ char *path)
++ { return(*(char **)0); }
++
++#undef _nc_is_abs_path
++NCURSES_BOOL _nc_is_abs_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_pathlast
++unsigned _nc_pathlast(
++ const char *path)
++ { return(*(unsigned *)0); }
++
++#undef _nc_basename
++char *_nc_basename(
++ char *path)
++ { return(*(char **)0); }
++
++#undef _nc_access
++int _nc_access(
++ const char *path,
++ int mode)
++ { return(*(int *)0); }
++
++#undef _nc_is_dir_path
++NCURSES_BOOL _nc_is_dir_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_is_file_path
++NCURSES_BOOL _nc_is_file_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_env_access
++int _nc_env_access(void)
++ { return(*(int *)0); }
++
++/* ./tinfo/add_tries.c */
++
++#undef _nc_add_to_try
++int _nc_add_to_try(
++ TRIES **tree,
++ const char *str,
++ unsigned code)
++ { return(*(int *)0); }
++
++/* ./tinfo/alloc_ttype.c */
++
++#undef _nc_align_termtype
++void _nc_align_termtype(
++ TERMTYPE *to,
++ TERMTYPE *from)
++ { /* void */ }
++
++#undef _nc_copy_termtype
++void _nc_copy_termtype(
++ TERMTYPE *dst,
++ const TERMTYPE *src)
++ { /* void */ }
++
++/* ./codes.c */
++
++#undef _nc_boolcodes
++char *const *_nc_boolcodes(void)
++ { return(*(char **)0); }
++
++#undef _nc_numcodes
++char *const *_nc_numcodes(void)
++ { return(*(char **)0); }
++
++#undef _nc_strcodes
++char *const *_nc_strcodes(void)
++ { return(*(char **)0); }
++
++/* ./comp_captab.c */
++
++#include <hashsize.h>
++
++#undef _nc_get_table
++const struct name_table_entry *_nc_get_table(
++ NCURSES_BOOL termcap)
++ { return(*(const struct name_table_entry **)0); }
++
++#undef _nc_get_hash_table
++const HashValue *_nc_get_hash_table(
++ NCURSES_BOOL termcap)
++ { return(*(const HashValue **)0); }
++
++#undef _nc_get_alias_table
++const struct alias *_nc_get_alias_table(
++ NCURSES_BOOL termcap)
++ { return(*(const struct alias **)0); }
++
++#undef _nc_get_hash_info
++const HashData *_nc_get_hash_info(
++ NCURSES_BOOL termcap)
++ { return(*(const HashData **)0); }
++
++/* ./tinfo/comp_error.c */
++
++#undef _nc_suppress_warnings
++NCURSES_BOOL _nc_suppress_warnings;
++#undef _nc_curr_line
++int _nc_curr_line;
++#undef _nc_curr_col
++int _nc_curr_col;
++
++#undef _nc_get_source
++const char *_nc_get_source(void)
++ { return(*(const char **)0); }
++
++#undef _nc_set_source
++void _nc_set_source(
++ const char *const name)
++ { /* void */ }
++
++#undef _nc_set_type
++void _nc_set_type(
++ const char *const name)
++ { /* void */ }
++
++#undef _nc_get_type
++void _nc_get_type(
++ char *name)
++ { /* void */ }
++
++#undef _nc_warning
++void _nc_warning(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_err_abort
++void _nc_err_abort(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_syserr_abort
++void _nc_syserr_abort(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++/* ./tinfo/comp_hash.c */
++
++#undef _nc_find_entry
++struct name_table_entry const *_nc_find_entry(
++ const char *string,
++ const HashValue *hash_table)
++ { return(*(struct name_table_entry const **)0); }
++
++#undef _nc_find_type_entry
++struct name_table_entry const *_nc_find_type_entry(
++ const char *string,
++ int type,
++ NCURSES_BOOL termcap)
++ { return(*(struct name_table_entry const **)0); }
++
++/* ./tinfo/db_iterator.c */
++
++#include <time.h>
++
++#undef _nc_tic_dir
++const char *_nc_tic_dir(
++ const char *path)
++ { return(*(const char **)0); }
++
++#undef _nc_keep_tic_dir
++void _nc_keep_tic_dir(
++ const char *path)
++ { /* void */ }
++
++#undef _nc_last_db
++void _nc_last_db(void)
++ { /* void */ }
++
++#undef _nc_next_db
++const char *_nc_next_db(
++ DBDIRS *state,
++ int *offset)
++ { return(*(const char **)0); }
++
++#undef _nc_first_db
++void _nc_first_db(
++ DBDIRS *state,
++ int *offset)
++ { /* void */ }
++
++/* ./tinfo/doalloc.c */
++
++#undef _nc_doalloc
++void *_nc_doalloc(
++ void *oldp,
++ size_t amount)
++ { return(*(void **)0); }
++
++/* ./tinfo/entries.c */
++
++#undef _nc_head
++ENTRY *_nc_head;
++#undef _nc_tail
++ENTRY *_nc_tail;
++
++#undef _nc_free_entry
++void _nc_free_entry(
++ ENTRY *headp,
++ TERMTYPE *tterm)
++ { /* void */ }
++
++#undef _nc_free_entries
++void _nc_free_entries(
++ ENTRY *headp)
++ { /* void */ }
++
++#undef _nc_delink_entry
++ENTRY *_nc_delink_entry(
++ ENTRY *headp,
++ TERMTYPE *tterm)
++ { return(*(ENTRY **)0); }
++
++#undef _nc_leaks_tinfo
++void _nc_leaks_tinfo(void)
++ { /* void */ }
++
++/* ./fallback.c */
++
++#undef _nc_fallback
++const TERMTYPE *_nc_fallback(
++ const char *name)
++ { return(*(const TERMTYPE **)0); }
++
++/* ./tinfo/free_ttype.c */
++
++#undef _nc_free_termtype
++void _nc_free_termtype(
++ TERMTYPE *ptr)
++ { /* void */ }
++
++#undef _nc_user_definable
++NCURSES_BOOL _nc_user_definable;
++
++#undef use_extended_names
++int use_extended_names(
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/getenv_num.c */
++
++#undef _nc_getenv_num
++int _nc_getenv_num(
++ const char *name)
++ { return(*(int *)0); }
++
++/* ./tinfo/home_terminfo.c */
++
++#undef _nc_home_terminfo
++char *_nc_home_terminfo(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/init_keytry.c */
++
++#if 0
++
++#include <init_keytry.h>
++
++#undef _nc_tinfo_fkeys
++const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
++
++#endif
++
++#undef _nc_init_keytry
++void _nc_init_keytry(
++ SCREEN *sp)
++ { /* void */ }
++
++/* ./tinfo/lib_acs.c */
++
++#undef _nc_acs_map
++chtype *_nc_acs_map(void)
++ { return(*(chtype **)0); }
++
++#undef _nc_init_acs_sp
++void _nc_init_acs_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_init_acs
++void _nc_init_acs(void)
++ { /* void */ }
++
++/* ./tinfo/lib_baudrate.c */
++
++#include <termcap.h>
++
++struct speed {
++ int s;
++ int sp;
++};
++
++#undef _nc_baudrate
++int _nc_baudrate(
++ int OSpeed)
++ { return(*(int *)0); }
++
++#undef _nc_ospeed
++int _nc_ospeed(
++ int BaudRate)
++ { return(*(int *)0); }
++
++#undef baudrate_sp
++int baudrate_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef baudrate
++int baudrate(void)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_cur_term.c */
++
++#undef _nc_get_cur_term_sp
++TERMINAL *_nc_get_cur_term_sp(
++ SCREEN *sp)
++ { return(*(TERMINAL **)0); }
++
++#undef _nc_get_cur_term
++TERMINAL *_nc_get_cur_term(void)
++ { return(*(TERMINAL **)0); }
++
++#undef _nc_cur_term
++TERMINAL *_nc_cur_term(void)
++ { return(*(TERMINAL **)0); }
++
++#undef set_curterm_sp
++TERMINAL *set_curterm_sp(
++ SCREEN *sp,
++ TERMINAL *termp)
++ { return(*(TERMINAL **)0); }
++
++#undef set_curterm
++TERMINAL *set_curterm(
++ TERMINAL *termp)
++ { return(*(TERMINAL **)0); }
++
++#undef del_curterm_sp
++int del_curterm_sp(
++ SCREEN *sp,
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++#undef del_curterm
++int del_curterm(
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_data.c */
++
++#undef _nc_stdscr
++WINDOW *_nc_stdscr(void)
++ { return(*(WINDOW **)0); }
++
++#undef _nc_curscr
++WINDOW *_nc_curscr(void)
++ { return(*(WINDOW **)0); }
++
++#undef _nc_newscr
++WINDOW *_nc_newscr(void)
++ { return(*(WINDOW **)0); }
++
++#undef _nc_screen_chain
++SCREEN *_nc_screen_chain;
++#undef SP
++SCREEN *SP;
++#undef _nc_globals
++NCURSES_GLOBALS _nc_globals;
++#undef _nc_prescreen
++NCURSES_PRESCREEN _nc_prescreen;
++
++#undef _nc_screen_of
++SCREEN *_nc_screen_of(
++ WINDOW *win)
++ { return(*(SCREEN **)0); }
++
++#undef _nc_init_pthreads
++void _nc_init_pthreads(void)
++ { /* void */ }
++
++#undef _nc_mutex_init
++void _nc_mutex_init(
++ pthread_mutex_t *obj)
++ { /* void */ }
++
++#undef _nc_mutex_lock
++int _nc_mutex_lock(
++ pthread_mutex_t *obj)
++ { return(*(int *)0); }
++
++#undef _nc_mutex_trylock
++int _nc_mutex_trylock(
++ pthread_mutex_t *obj)
++ { return(*(int *)0); }
++
++#undef _nc_mutex_unlock
++int _nc_mutex_unlock(
++ pthread_mutex_t *obj)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_has_cap.c */
++
++#undef has_ic_sp
++NCURSES_BOOL has_ic_sp(
++ SCREEN *sp)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_ic
++NCURSES_BOOL has_ic(void)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_il_sp
++NCURSES_BOOL has_il_sp(
++ SCREEN *sp)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_il
++NCURSES_BOOL has_il(void)
++ { return(*(NCURSES_BOOL *)0); }
++
++/* ./tinfo/lib_kernel.c */
++
++#undef erasechar_sp
++char erasechar_sp(
++ SCREEN *sp)
++ { return(*(char *)0); }
++
++#undef erasechar
++char erasechar(void)
++ { return(*(char *)0); }
++
++#undef killchar_sp
++char killchar_sp(
++ SCREEN *sp)
++ { return(*(char *)0); }
++
++#undef killchar
++char killchar(void)
++ { return(*(char *)0); }
++
++#undef flushinp_sp
++int flushinp_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef flushinp
++int flushinp(void)
++ { return(*(int *)0); }
++
++/* ./lib_keyname.c */
++
++struct kn { short offset; int code; };
++
++#undef keyname_sp
++char *keyname_sp(
++ SCREEN *sp,
++ int c)
++ { return(*(char **)0); }
++
++#undef keyname
++char *keyname(
++ int c)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_longname.c */
++
++#undef longname_sp
++char *longname_sp(
++ SCREEN *sp)
++ { return(*(char **)0); }
++
++#undef longname
++char *longname(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_napms.c */
++
++#undef napms_sp
++int napms_sp(
++ SCREEN *sp,
++ int ms)
++ { return(*(int *)0); }
++
++#undef napms
++int napms(
++ int ms)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_options.c */
++
++#undef idlok
++int idlok(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef idcok
++void idcok(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { /* void */ }
++
++#undef halfdelay_sp
++int halfdelay_sp(
++ SCREEN *sp,
++ int t)
++ { return(*(int *)0); }
++
++#undef halfdelay
++int halfdelay(
++ int t)
++ { return(*(int *)0); }
++
++#undef nodelay
++int nodelay(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef notimeout
++int notimeout(
++ WINDOW *win,
++ NCURSES_BOOL f)
++ { return(*(int *)0); }
++
++#undef wtimeout
++void wtimeout(
++ WINDOW *win,
++ int delay)
++ { /* void */ }
++
++#undef keypad
++int keypad(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef meta
++int meta(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef curs_set_sp
++int curs_set_sp(
++ SCREEN *sp,
++ int vis)
++ { return(*(int *)0); }
++
++#undef curs_set
++int curs_set(
++ int vis)
++ { return(*(int *)0); }
++
++#undef typeahead_sp
++int typeahead_sp(
++ SCREEN *sp,
++ int fd)
++ { return(*(int *)0); }
++
++#undef typeahead
++int typeahead(
++ int fd)
++ { return(*(int *)0); }
++
++#undef has_key_sp
++int has_key_sp(
++ SCREEN *sp,
++ int keycode)
++ { return(*(int *)0); }
++
++#undef has_key
++int has_key(
++ int keycode)
++ { return(*(int *)0); }
++
++#undef _nc_putp_flush_sp
++int _nc_putp_flush_sp(
++ SCREEN *sp,
++ const char *name,
++ const char *value)
++ { return(*(int *)0); }
++
++#undef _nc_keypad
++int _nc_keypad(
++ SCREEN *sp,
++ int flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_raw.c */
++
++#undef raw_sp
++int raw_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef raw
++int raw(void)
++ { return(*(int *)0); }
++
++#undef cbreak_sp
++int cbreak_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef cbreak
++int cbreak(void)
++ { return(*(int *)0); }
++
++#undef qiflush_sp
++void qiflush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef qiflush
++void qiflush(void)
++ { /* void */ }
++
++#undef noraw_sp
++int noraw_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef noraw
++int noraw(void)
++ { return(*(int *)0); }
++
++#undef nocbreak_sp
++int nocbreak_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef nocbreak
++int nocbreak(void)
++ { return(*(int *)0); }
++
++#undef noqiflush_sp
++void noqiflush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef noqiflush
++void noqiflush(void)
++ { /* void */ }
++
++#undef intrflush_sp
++int intrflush_sp(
++ SCREEN *sp,
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef intrflush
++int intrflush(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_setup.c */
++
++#include <locale.h>
++#include <sys/ioctl.h>
++#include <langinfo.h>
++
++#undef _nc_ttytype
++char *_nc_ttytype(void)
++ { return(*(char **)0); }
++
++#undef _nc_ptr_Lines
++int *_nc_ptr_Lines(
++ SCREEN *sp)
++ { return(*(int **)0); }
++
++#undef _nc_LINES
++int _nc_LINES(void)
++ { return(*(int *)0); }
++
++#undef _nc_ptr_Cols
++int *_nc_ptr_Cols(
++ SCREEN *sp)
++ { return(*(int **)0); }
++
++#undef _nc_COLS
++int _nc_COLS(void)
++ { return(*(int *)0); }
++
++#undef _nc_ptr_Tabsize
++int *_nc_ptr_Tabsize(
++ SCREEN *sp)
++ { return(*(int **)0); }
++
++#undef _nc_TABSIZE
++int _nc_TABSIZE(void)
++ { return(*(int *)0); }
++
++#undef set_tabsize_sp
++int set_tabsize_sp(
++ SCREEN *sp,
++ int value)
++ { return(*(int *)0); }
++
++#undef set_tabsize
++int set_tabsize(
++ int value)
++ { return(*(int *)0); }
++
++#undef _nc_handle_sigwinch
++int _nc_handle_sigwinch(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef use_env_sp
++void use_env_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_env
++void use_env(
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl_sp
++void use_tioctl_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl
++void use_tioctl(
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef _nc_get_screensize
++void _nc_get_screensize(
++ SCREEN *sp,
++ int *linep,
++ int *colp)
++ { /* void */ }
++
++#undef _nc_update_screensize
++void _nc_update_screensize(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_setup_tinfo
++int _nc_setup_tinfo(
++ const char *const tn,
++ TERMTYPE *const tp)
++ { return(*(int *)0); }
++
++#undef _nc_tinfo_cmdch
++void _nc_tinfo_cmdch(
++ TERMINAL *termp,
++ int proto)
++ { /* void */ }
++
++#undef _nc_get_locale
++char *_nc_get_locale(void)
++ { return(*(char **)0); }
++
++#undef _nc_unicode_locale
++int _nc_unicode_locale(void)
++ { return(*(int *)0); }
++
++#undef _nc_locale_breaks_acs
++int _nc_locale_breaks_acs(
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++#undef _nc_setupterm
++int _nc_setupterm(
++ char *tname,
++ int Filedes,
++ int *errret,
++ int reuse)
++ { return(*(int *)0); }
++
++#undef new_prescr
++SCREEN *new_prescr(void)
++ { return(*(SCREEN **)0); }
++
++#undef setupterm
++int setupterm(
++ char *tname,
++ int Filedes,
++ int *errret)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_termcap.c */
++
++#undef UP
++char *UP;
++#undef BC
++char *BC;
++
++#undef tgetent_sp
++int tgetent_sp(
++ SCREEN *sp,
++ char *bufp,
++ const char *name)
++ { return(*(int *)0); }
++
++#if 0
++
++#include <capdefaults.c>
++
++#endif
++
++#undef tgetent
++int tgetent(
++ char *bufp,
++ const char *name)
++ { return(*(int *)0); }
++
++#undef tgetflag_sp
++int tgetflag_sp(
++ SCREEN *sp,
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetflag
++int tgetflag(
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetnum_sp
++int tgetnum_sp(
++ SCREEN *sp,
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetnum
++int tgetnum(
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetstr_sp
++char *tgetstr_sp(
++ SCREEN *sp,
++ char *id,
++ char **area)
++ { return(*(char **)0); }
++
++#undef tgetstr
++char *tgetstr(
++ char *id,
++ char **area)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_termname.c */
++
++#undef termname_sp
++char *termname_sp(
++ SCREEN *sp)
++ { return(*(char **)0); }
++
++#undef termname
++char *termname(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tgoto.c */
++
++#undef tgoto
++char *tgoto(
++ const char *string,
++ int x,
++ int y)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_ti.c */
++
++#undef tigetflag_sp
++int tigetflag_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetflag
++int tigetflag(
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetnum_sp
++int tigetnum_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetnum
++int tigetnum(
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetstr_sp
++char *tigetstr_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(char **)0); }
++
++#undef tigetstr
++char *tigetstr(
++ char *str)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tparm.c */
++
++#undef _nc_tparm_err
++int _nc_tparm_err;
++
++#undef _nc_tparm_analyze
++int _nc_tparm_analyze(
++ const char *string,
++ char *p_is_s[9],
++ int *popcount)
++ { return(*(int *)0); }
++
++#undef tparm
++char *tparm(
++ char *string,
++ ...)
++ { return(*(char **)0); }
++
++#undef tiparm
++char *tiparm(
++ const char *string,
++ ...)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tputs.c */
++
++#undef PC
++char PC;
++#undef ospeed
++short ospeed;
++#undef _nc_nulls_sent
++int _nc_nulls_sent;
++
++#undef _nc_set_no_padding
++void _nc_set_no_padding(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef delay_output_sp
++int delay_output_sp(
++ SCREEN *sp,
++ int ms)
++ { return(*(int *)0); }
++
++#undef delay_output
++int delay_output(
++ int ms)
++ { return(*(int *)0); }
++
++#undef _nc_flush_sp
++void _nc_flush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_flush
++void _nc_flush(void)
++ { /* void */ }
++
++#undef _nc_outch_sp
++int _nc_outch_sp(
++ SCREEN *sp,
++ int ch)
++ { return(*(int *)0); }
++
++#undef _nc_outch
++int _nc_outch(
++ int ch)
++ { return(*(int *)0); }
++
++#undef putp_sp
++int putp_sp(
++ SCREEN *sp,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef _nc_putp_sp
++int _nc_putp_sp(
++ SCREEN *sp,
++ const char *name,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef putp
++int putp(
++ const char *string)
++ { return(*(int *)0); }
++
++#undef _nc_putp
++int _nc_putp(
++ const char *name,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef tputs_sp
++int tputs_sp(
++ SCREEN *sp,
++ const char *string,
++ int affcnt,
++ NCURSES_OUTC_sp outc)
++ { return(*(int *)0); }
++
++#undef _nc_outc_wrapper
++int _nc_outc_wrapper(
++ SCREEN *sp,
++ int c)
++ { return(*(int *)0); }
++
++#undef tputs
++int tputs(
++ const char *string,
++ int affcnt,
++ int (*outc)(
++ int p1))
++ { return(*(int *)0); }
++
++/* ./trace/lib_trace.c */
++
++#undef _nc_tracing
++unsigned _nc_tracing;
++
++#undef _nc__nc_tputs_trace
++const char *_nc__nc_tputs_trace(void)
++ { return(*(const char **)0); }
++
++#undef _nc__nc_outchars
++long _nc__nc_outchars(void)
++ { return(*(long *)0); }
++
++#undef _nc_set_tputs_trace
++void _nc_set_tputs_trace(
++ const char *s)
++ { /* void */ }
++
++#undef _nc_count_outchars
++void _nc_count_outchars(
++ long increment)
++ { /* void */ }
++
++#undef trace
++void trace(
++ const unsigned int tracelevel)
++ { /* void */ }
++
++#undef _tracef
++void _tracef(
++ const char *fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_retrace_bool
++NCURSES_BOOL _nc_retrace_bool(
++ int code)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_retrace_char
++char _nc_retrace_char(
++ int code)
++ { return(*(char *)0); }
++
++#undef _nc_retrace_int
++int _nc_retrace_int(
++ int code)
++ { return(*(int *)0); }
++
++#undef _nc_retrace_unsigned
++unsigned _nc_retrace_unsigned(
++ unsigned code)
++ { return(*(unsigned *)0); }
++
++#undef _nc_retrace_ptr
++char *_nc_retrace_ptr(
++ char *code)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_cptr
++const char *_nc_retrace_cptr(
++ const char *code)
++ { return(*(const char **)0); }
++
++#undef _nc_retrace_cvoid_ptr
++void *_nc_retrace_cvoid_ptr(
++ void *code)
++ { return(*(void **)0); }
++
++#undef _nc_retrace_void_ptr
++void *_nc_retrace_void_ptr(
++ void *code)
++ { return(*(void **)0); }
++
++#undef _nc_retrace_sp
++SCREEN *_nc_retrace_sp(
++ SCREEN *code)
++ { return(*(SCREEN **)0); }
++
++#undef _nc_retrace_win
++WINDOW *_nc_retrace_win(
++ WINDOW *code)
++ { return(*(WINDOW **)0); }
++
++#undef _nc_use_tracef
++int _nc_use_tracef(
++ unsigned mask)
++ { return(*(int *)0); }
++
++#undef _nc_locked_tracef
++void _nc_locked_tracef(
++ const char *fmt,
++ ...)
++ { /* void */ }
++
++/* ./trace/lib_traceatr.c */
++
++#undef _traceattr2
++char *_traceattr2(
++ int bufnum,
++ chtype newmode)
++ { return(*(char **)0); }
++
++#undef _traceattr
++char *_traceattr(
++ attr_t newmode)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_int_attr_t
++int _nc_retrace_int_attr_t(
++ attr_t code)
++ { return(*(int *)0); }
++
++#undef _nc_retrace_attr_t
++attr_t _nc_retrace_attr_t(
++ attr_t code)
++ { return(*(attr_t *)0); }
++
++#undef _nc_altcharset_name
++const char *_nc_altcharset_name(
++ attr_t attr,
++ chtype ch)
++ { return(*(const char **)0); }
++
++#undef _tracechtype2
++char *_tracechtype2(
++ int bufnum,
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef _tracechtype
++char *_tracechtype(
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_chtype
++chtype _nc_retrace_chtype(
++ chtype code)
++ { return(*(chtype *)0); }
++
++#undef _tracecchar_t2
++char *_tracecchar_t2(
++ int bufnum,
++ const cchar_t *ch)
++ { return(*(char **)0); }
++
++#undef _tracecchar_t
++char *_tracecchar_t(
++ const cchar_t *ch)
++ { return(*(char **)0); }
++
++/* ./trace/lib_tracebits.c */
++
++typedef struct {
++ unsigned int val;
++ const char *name;
++} BITNAMES;
++
++#undef _nc_trace_ttymode
++char *_nc_trace_ttymode(
++ struct termios *tty)
++ { return(*(char **)0); }
++
++#undef _nc_tracebits
++char *_nc_tracebits(void)
++ { return(*(char **)0); }
++
++/* ./trace/lib_tracechr.c */
++
++#undef _nc_tracechar
++char *_nc_tracechar(
++ SCREEN *sp,
++ int ch)
++ { return(*(char **)0); }
++
++#undef _tracechar
++char *_tracechar(
++ int ch)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_ttyflags.c */
++
++#undef _nc_get_tty_mode_sp
++int _nc_get_tty_mode_sp(
++ SCREEN *sp,
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_get_tty_mode
++int _nc_get_tty_mode(
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_set_tty_mode_sp
++int _nc_set_tty_mode_sp(
++ SCREEN *sp,
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_set_tty_mode
++int _nc_set_tty_mode(
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef def_shell_mode_sp
++int def_shell_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef def_shell_mode
++int def_shell_mode(void)
++ { return(*(int *)0); }
++
++#undef def_prog_mode_sp
++int def_prog_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef def_prog_mode
++int def_prog_mode(void)
++ { return(*(int *)0); }
++
++#undef reset_prog_mode_sp
++int reset_prog_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef reset_prog_mode
++int reset_prog_mode(void)
++ { return(*(int *)0); }
++
++#undef reset_shell_mode_sp
++int reset_shell_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef reset_shell_mode
++int reset_shell_mode(void)
++ { return(*(int *)0); }
++
++#undef savetty_sp
++int savetty_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef savetty
++int savetty(void)
++ { return(*(int *)0); }
++
++#undef resetty_sp
++int resetty_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef resetty
++int resetty(void)
++ { return(*(int *)0); }
++
++/* ./tty/lib_twait.c */
++
++#include <sys/time.h>
++
++#undef _nc_timed_wait
++int _nc_timed_wait(
++ SCREEN *sp,
++ int mode,
++ int milliseconds,
++ int *timeleft)
++ { return(*(int *)0); }
++
++/* ./tinfo/name_match.c */
++
++#undef _nc_first_name
++char *_nc_first_name(
++ const char *const sp)
++ { return(*(char **)0); }
++
++#undef _nc_name_match
++int _nc_name_match(
++ const char *const namelst,
++ const char *const name,
++ const char *const delim)
++ { return(*(int *)0); }
++
++/* ./names.c */
++
++#undef _nc_boolnames
++char *const *_nc_boolnames(void)
++ { return(*(char **)0); }
++
++#undef _nc_boolfnames
++char *const *_nc_boolfnames(void)
++ { return(*(char **)0); }
++
++#undef _nc_numnames
++char *const *_nc_numnames(void)
++ { return(*(char **)0); }
++
++#undef _nc_numfnames
++char *const *_nc_numfnames(void)
++ { return(*(char **)0); }
++
++#undef _nc_strnames
++char *const *_nc_strnames(void)
++ { return(*(char **)0); }
++
++#undef _nc_strfnames
++char *const *_nc_strfnames(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/read_entry.c */
++
++#include <hashed_db.h>
++
++#undef _nc_read_termtype
++int _nc_read_termtype(
++ TERMTYPE *ptr,
++ char *buffer,
++ int limit)
++ { return(*(int *)0); }
++
++#undef _nc_read_file_entry
++int _nc_read_file_entry(
++ const char *const filename,
++ TERMTYPE *ptr)
++ { return(*(int *)0); }
++
++#undef _nc_read_entry
++int _nc_read_entry(
++ const char *const name,
++ char *const filename,
++ TERMTYPE *const tp)
++ { return(*(int *)0); }
++
++/* ./tinfo/read_termcap.c */
++
++#include <sys/types.h>
++
++#undef _nc_read_termcap
++void _nc_read_termcap(void)
++ { /* void */ }
++
++/* ./tinfo/setbuf.c */
++
++#undef _nc_set_buffer_sp
++void _nc_set_buffer_sp(
++ SCREEN *sp,
++ FILE *ofp,
++ int buffered)
++ { /* void */ }
++
++#undef _nc_set_buffer
++void _nc_set_buffer(
++ FILE *ofp,
++ int buffered)
++ { /* void */ }
++
++/* ./tinfo/strings.c */
++
++#undef _nc_str_init
++string_desc *_nc_str_init(
++ string_desc *dst,
++ char *src,
++ size_t len)
++ { return(*(string_desc **)0); }
++
++#undef _nc_str_null
++string_desc *_nc_str_null(
++ string_desc *dst,
++ size_t len)
++ { return(*(string_desc **)0); }
++
++#undef _nc_str_copy
++string_desc *_nc_str_copy(
++ string_desc *dst,
++ string_desc *src)
++ { return(*(string_desc **)0); }
++
++#undef _nc_safe_strcat
++NCURSES_BOOL _nc_safe_strcat(
++ string_desc *dst,
++ const char *src)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_safe_strcpy
++NCURSES_BOOL _nc_safe_strcpy(
++ string_desc *dst,
++ const char *src)
++ { return(*(NCURSES_BOOL *)0); }
++
++/* ./trace/trace_buf.c */
++
++#undef _nc_trace_buf
++char *_nc_trace_buf(
++ int bufnum,
++ size_t want)
++ { return(*(char **)0); }
++
++#undef _nc_trace_bufcat
++char *_nc_trace_bufcat(
++ int bufnum,
++ const char *value)
++ { return(*(char **)0); }
++
++/* ./trace/trace_tries.c */
++
++#undef _nc_trace_tries
++void _nc_trace_tries(
++ TRIES *tree)
++ { /* void */ }
++
++/* ./base/tries.c */
++
++#undef _nc_expand_try
++char *_nc_expand_try(
++ TRIES *tree,
++ unsigned code,
++ int *count,
++ size_t len)
++ { return(*(char **)0); }
++
++#undef _nc_remove_key
++int _nc_remove_key(
++ TRIES **tree,
++ unsigned code)
++ { return(*(int *)0); }
++
++#undef _nc_remove_string
++int _nc_remove_string(
++ TRIES **tree,
++ const char *string)
++ { return(*(int *)0); }
++
++/* ./tinfo/trim_sgr0.c */
++
++#undef _nc_trim_sgr0
++char *_nc_trim_sgr0(
++ TERMTYPE *tp)
++ { return(*(char **)0); }
++
++/* ./unctrl.c */
++
++#undef unctrl_sp
++char *unctrl_sp(
++ SCREEN *sp,
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef unctrl
++char *unctrl(
++ chtype ch)
++ { return(*(char **)0); }
++
++/* ./trace/visbuf.c */
++
++#undef _nc_visbuf2
++const char *_nc_visbuf2(
++ int bufnum,
++ const char *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_visbuf
++const char *_nc_visbuf(
++ const char *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_visbufn
++const char *_nc_visbufn(
++ const char *buf,
++ int len)
++ { return(*(const char **)0); }
++
++#undef _nc_viswbuf2
++const char *_nc_viswbuf2(
++ int bufnum,
++ const wchar_t *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_viswbuf
++const char *_nc_viswbuf(
++ const wchar_t *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_viswbufn
++const char *_nc_viswbufn(
++ const wchar_t *buf,
++ int len)
++ { return(*(const char **)0); }
++
++#undef _nc_viswibuf
++const char *_nc_viswibuf(
++ const wint_t *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_viscbuf2
++const char *_nc_viscbuf2(
++ int bufnum,
++ const cchar_t *buf,
++ int len)
++ { return(*(const char **)0); }
++
++#undef _nc_viscbuf
++const char *_nc_viscbuf(
++ const cchar_t *buf,
++ int len)
++ { return(*(const char **)0); }
++
++/* ./base/define_key.c */
++
++#undef define_key_sp
++int define_key_sp(
++ SCREEN *sp,
++ const char *str,
++ int keycode)
++ { return(*(int *)0); }
++
++#undef define_key
++int define_key(
++ const char *str,
++ int keycode)
++ { return(*(int *)0); }
++
++/* ./tinfo/hashed_db.c */
++
++#undef _nc_hashed_db
++void _nc_hashed_db(void)
++ { /* void */ }
++
++/* ./base/key_defined.c */
++
++#undef key_defined_sp
++int key_defined_sp(
++ SCREEN *sp,
++ const char *str)
++ { return(*(int *)0); }
++
++#undef key_defined
++int key_defined(
++ const char *str)
++ { return(*(int *)0); }
++
++/* ./base/keybound.c */
++
++#undef keybound_sp
++char *keybound_sp(
++ SCREEN *sp,
++ int code,
++ int count)
++ { return(*(char **)0); }
++
++#undef keybound
++char *keybound(
++ int code,
++ int count)
++ { return(*(char **)0); }
++
++/* ./base/keyok.c */
++
++#undef keyok_sp
++int keyok_sp(
++ SCREEN *sp,
++ int c,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef keyok
++int keyok(
++ int c,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./base/version.c */
++
++#undef curses_version
++const char *curses_version(void)
++ { return(*(const char **)0); }
+Index: ncurses/llib-ltinfow
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/ncurses/llib-ltinfow 2012-07-14 17:39:00.000000000 +0000
+@@ -0,0 +1,1537 @@
++/****************************************************************************
++ * Copyright (c) 2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2012 *
++ ****************************************************************************/
++/* LINTLIBRARY */
++
++/* ./tinfo/access.c */
++
++#include <curses.priv.h>
++#include <ctype.h>
++#include <tic.h>
++
++#undef _nc_rootname
++char *_nc_rootname(
++ char *path)
++ { return(*(char **)0); }
++
++#undef _nc_is_abs_path
++NCURSES_BOOL _nc_is_abs_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_pathlast
++unsigned _nc_pathlast(
++ const char *path)
++ { return(*(unsigned *)0); }
++
++#undef _nc_basename
++char *_nc_basename(
++ char *path)
++ { return(*(char **)0); }
++
++#undef _nc_access
++int _nc_access(
++ const char *path,
++ int mode)
++ { return(*(int *)0); }
++
++#undef _nc_is_dir_path
++NCURSES_BOOL _nc_is_dir_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_is_file_path
++NCURSES_BOOL _nc_is_file_path(
++ const char *path)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_env_access
++int _nc_env_access(void)
++ { return(*(int *)0); }
++
++/* ./tinfo/add_tries.c */
++
++#undef _nc_add_to_try
++int _nc_add_to_try(
++ TRIES **tree,
++ const char *str,
++ unsigned code)
++ { return(*(int *)0); }
++
++/* ./tinfo/alloc_ttype.c */
++
++#undef _nc_align_termtype
++void _nc_align_termtype(
++ TERMTYPE *to,
++ TERMTYPE *from)
++ { /* void */ }
++
++#undef _nc_copy_termtype
++void _nc_copy_termtype(
++ TERMTYPE *dst,
++ const TERMTYPE *src)
++ { /* void */ }
++
++/* ./codes.c */
++
++#undef boolcodes
++char *const boolcodes[] = {0};
++#undef numcodes
++char *const numcodes[] = {0};
++#undef strcodes
++char *const strcodes[] = {0};
++
++/* ./comp_captab.c */
++
++#include <hashsize.h>
++
++#undef _nc_get_table
++const struct name_table_entry *_nc_get_table(
++ NCURSES_BOOL termcap)
++ { return(*(const struct name_table_entry **)0); }
++
++#undef _nc_get_hash_table
++const HashValue *_nc_get_hash_table(
++ NCURSES_BOOL termcap)
++ { return(*(const HashValue **)0); }
++
++#undef _nc_get_alias_table
++const struct alias *_nc_get_alias_table(
++ NCURSES_BOOL termcap)
++ { return(*(const struct alias **)0); }
++
++#undef _nc_get_hash_info
++const HashData *_nc_get_hash_info(
++ NCURSES_BOOL termcap)
++ { return(*(const HashData **)0); }
++
++/* ./tinfo/comp_error.c */
++
++#undef _nc_suppress_warnings
++NCURSES_BOOL _nc_suppress_warnings;
++#undef _nc_curr_line
++int _nc_curr_line;
++#undef _nc_curr_col
++int _nc_curr_col;
++
++#undef _nc_get_source
++const char *_nc_get_source(void)
++ { return(*(const char **)0); }
++
++#undef _nc_set_source
++void _nc_set_source(
++ const char *const name)
++ { /* void */ }
++
++#undef _nc_set_type
++void _nc_set_type(
++ const char *const name)
++ { /* void */ }
++
++#undef _nc_get_type
++void _nc_get_type(
++ char *name)
++ { /* void */ }
++
++#undef _nc_warning
++void _nc_warning(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_err_abort
++void _nc_err_abort(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_syserr_abort
++void _nc_syserr_abort(
++ const char *const fmt,
++ ...)
++ { /* void */ }
++
++/* ./tinfo/comp_hash.c */
++
++#undef _nc_find_entry
++struct name_table_entry const *_nc_find_entry(
++ const char *string,
++ const HashValue *hash_table)
++ { return(*(struct name_table_entry const **)0); }
++
++#undef _nc_find_type_entry
++struct name_table_entry const *_nc_find_type_entry(
++ const char *string,
++ int type,
++ NCURSES_BOOL termcap)
++ { return(*(struct name_table_entry const **)0); }
++
++/* ./tinfo/db_iterator.c */
++
++#include <time.h>
++
++#undef _nc_tic_dir
++const char *_nc_tic_dir(
++ const char *path)
++ { return(*(const char **)0); }
++
++#undef _nc_keep_tic_dir
++void _nc_keep_tic_dir(
++ const char *path)
++ { /* void */ }
++
++#undef _nc_last_db
++void _nc_last_db(void)
++ { /* void */ }
++
++#undef _nc_next_db
++const char *_nc_next_db(
++ DBDIRS *state,
++ int *offset)
++ { return(*(const char **)0); }
++
++#undef _nc_first_db
++void _nc_first_db(
++ DBDIRS *state,
++ int *offset)
++ { /* void */ }
++
++/* ./tinfo/doalloc.c */
++
++#undef _nc_doalloc
++void *_nc_doalloc(
++ void *oldp,
++ size_t amount)
++ { return(*(void **)0); }
++
++/* ./tinfo/entries.c */
++
++#undef _nc_head
++ENTRY *_nc_head;
++#undef _nc_tail
++ENTRY *_nc_tail;
++
++#undef _nc_free_entry
++void _nc_free_entry(
++ ENTRY *headp,
++ TERMTYPE *tterm)
++ { /* void */ }
++
++#undef _nc_free_entries
++void _nc_free_entries(
++ ENTRY *headp)
++ { /* void */ }
++
++#undef _nc_delink_entry
++ENTRY *_nc_delink_entry(
++ ENTRY *headp,
++ TERMTYPE *tterm)
++ { return(*(ENTRY **)0); }
++
++#undef _nc_leaks_tinfo
++void _nc_leaks_tinfo(void)
++ { /* void */ }
++
++/* ./fallback.c */
++
++#undef _nc_fallback
++const TERMTYPE *_nc_fallback(
++ const char *name)
++ { return(*(const TERMTYPE **)0); }
++
++/* ./tinfo/free_ttype.c */
++
++#undef _nc_free_termtype
++void _nc_free_termtype(
++ TERMTYPE *ptr)
++ { /* void */ }
++
++#undef _nc_user_definable
++NCURSES_BOOL _nc_user_definable;
++
++#undef use_extended_names
++int use_extended_names(
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/getenv_num.c */
++
++#undef _nc_getenv_num
++int _nc_getenv_num(
++ const char *name)
++ { return(*(int *)0); }
++
++/* ./tinfo/home_terminfo.c */
++
++#undef _nc_home_terminfo
++char *_nc_home_terminfo(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/init_keytry.c */
++
++#if 0
++
++#include <init_keytry.h>
++
++#undef _nc_tinfo_fkeys
++const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
++
++#endif
++
++#undef _nc_init_keytry
++void _nc_init_keytry(
++ SCREEN *sp)
++ { /* void */ }
++
++/* ./tinfo/lib_acs.c */
++
++#undef acs_map
++chtype acs_map[128];
++
++#undef _nc_init_acs_sp
++void _nc_init_acs_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_init_acs
++void _nc_init_acs(void)
++ { /* void */ }
++
++/* ./tinfo/lib_baudrate.c */
++
++#include <termcap.h>
++
++struct speed {
++ int s;
++ int sp;
++};
++
++#undef _nc_baudrate
++int _nc_baudrate(
++ int OSpeed)
++ { return(*(int *)0); }
++
++#undef _nc_ospeed
++int _nc_ospeed(
++ int BaudRate)
++ { return(*(int *)0); }
++
++#undef baudrate_sp
++int baudrate_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef baudrate
++int baudrate(void)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_cur_term.c */
++
++#undef cur_term
++TERMINAL *cur_term;
++
++#undef set_curterm_sp
++TERMINAL *set_curterm_sp(
++ SCREEN *sp,
++ TERMINAL *termp)
++ { return(*(TERMINAL **)0); }
++
++#undef set_curterm
++TERMINAL *set_curterm(
++ TERMINAL *termp)
++ { return(*(TERMINAL **)0); }
++
++#undef del_curterm_sp
++int del_curterm_sp(
++ SCREEN *sp,
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++#undef del_curterm
++int del_curterm(
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_data.c */
++
++#undef stdscr
++WINDOW *stdscr;
++#undef curscr
++WINDOW *curscr;
++#undef newscr
++WINDOW *newscr;
++#undef _nc_screen_chain
++SCREEN *_nc_screen_chain;
++#undef SP
++SCREEN *SP;
++#undef _nc_globals
++NCURSES_GLOBALS _nc_globals;
++#undef _nc_prescreen
++NCURSES_PRESCREEN _nc_prescreen;
++
++#undef _nc_screen_of
++SCREEN *_nc_screen_of(
++ WINDOW *win)
++ { return(*(SCREEN **)0); }
++
++/* ./tinfo/lib_has_cap.c */
++
++#undef has_ic_sp
++NCURSES_BOOL has_ic_sp(
++ SCREEN *sp)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_ic
++NCURSES_BOOL has_ic(void)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_il_sp
++NCURSES_BOOL has_il_sp(
++ SCREEN *sp)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef has_il
++NCURSES_BOOL has_il(void)
++ { return(*(NCURSES_BOOL *)0); }
++
++/* ./tinfo/lib_kernel.c */
++
++#undef erasechar_sp
++char erasechar_sp(
++ SCREEN *sp)
++ { return(*(char *)0); }
++
++#undef erasechar
++char erasechar(void)
++ { return(*(char *)0); }
++
++#undef killchar_sp
++char killchar_sp(
++ SCREEN *sp)
++ { return(*(char *)0); }
++
++#undef killchar
++char killchar(void)
++ { return(*(char *)0); }
++
++#undef flushinp_sp
++int flushinp_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef flushinp
++int flushinp(void)
++ { return(*(int *)0); }
++
++/* ./lib_keyname.c */
++
++struct kn { short offset; int code; };
++
++#undef keyname_sp
++char *keyname_sp(
++ SCREEN *sp,
++ int c)
++ { return(*(char **)0); }
++
++#undef keyname
++char *keyname(
++ int c)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_longname.c */
++
++#undef longname
++char *longname(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_napms.c */
++
++#include <sys/time.h>
++
++#undef napms_sp
++int napms_sp(
++ SCREEN *sp,
++ int ms)
++ { return(*(int *)0); }
++
++#undef napms
++int napms(
++ int ms)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_options.c */
++
++#undef idlok
++int idlok(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef idcok
++void idcok(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { /* void */ }
++
++#undef halfdelay_sp
++int halfdelay_sp(
++ SCREEN *sp,
++ int t)
++ { return(*(int *)0); }
++
++#undef halfdelay
++int halfdelay(
++ int t)
++ { return(*(int *)0); }
++
++#undef nodelay
++int nodelay(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef notimeout
++int notimeout(
++ WINDOW *win,
++ NCURSES_BOOL f)
++ { return(*(int *)0); }
++
++#undef wtimeout
++void wtimeout(
++ WINDOW *win,
++ int delay)
++ { /* void */ }
++
++#undef keypad
++int keypad(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef meta
++int meta(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef curs_set_sp
++int curs_set_sp(
++ SCREEN *sp,
++ int vis)
++ { return(*(int *)0); }
++
++#undef curs_set
++int curs_set(
++ int vis)
++ { return(*(int *)0); }
++
++#undef typeahead_sp
++int typeahead_sp(
++ SCREEN *sp,
++ int fd)
++ { return(*(int *)0); }
++
++#undef typeahead
++int typeahead(
++ int fd)
++ { return(*(int *)0); }
++
++#undef has_key_sp
++int has_key_sp(
++ SCREEN *sp,
++ int keycode)
++ { return(*(int *)0); }
++
++#undef has_key
++int has_key(
++ int keycode)
++ { return(*(int *)0); }
++
++#undef _nc_putp_flush_sp
++int _nc_putp_flush_sp(
++ SCREEN *sp,
++ const char *name,
++ const char *value)
++ { return(*(int *)0); }
++
++#undef _nc_keypad
++int _nc_keypad(
++ SCREEN *sp,
++ int flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_raw.c */
++
++#undef raw_sp
++int raw_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef raw
++int raw(void)
++ { return(*(int *)0); }
++
++#undef cbreak_sp
++int cbreak_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef cbreak
++int cbreak(void)
++ { return(*(int *)0); }
++
++#undef qiflush_sp
++void qiflush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef qiflush
++void qiflush(void)
++ { /* void */ }
++
++#undef noraw_sp
++int noraw_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef noraw
++int noraw(void)
++ { return(*(int *)0); }
++
++#undef nocbreak_sp
++int nocbreak_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef nocbreak
++int nocbreak(void)
++ { return(*(int *)0); }
++
++#undef noqiflush_sp
++void noqiflush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef noqiflush
++void noqiflush(void)
++ { /* void */ }
++
++#undef intrflush_sp
++int intrflush_sp(
++ SCREEN *sp,
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef intrflush
++int intrflush(
++ WINDOW *win,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_setup.c */
++
++#include <locale.h>
++#include <sys/ioctl.h>
++#include <langinfo.h>
++
++#undef ttytype
++char ttytype[256];
++#undef LINES
++int LINES;
++#undef COLS
++int COLS;
++#undef TABSIZE
++int TABSIZE;
++
++#undef set_tabsize_sp
++int set_tabsize_sp(
++ SCREEN *sp,
++ int value)
++ { return(*(int *)0); }
++
++#undef set_tabsize
++int set_tabsize(
++ int value)
++ { return(*(int *)0); }
++
++#undef _nc_handle_sigwinch
++int _nc_handle_sigwinch(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef use_env_sp
++void use_env_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_env
++void use_env(
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl_sp
++void use_tioctl_sp(
++ SCREEN *sp,
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef use_tioctl
++void use_tioctl(
++ NCURSES_BOOL f)
++ { /* void */ }
++
++#undef _nc_get_screensize
++void _nc_get_screensize(
++ SCREEN *sp,
++ int *linep,
++ int *colp)
++ { /* void */ }
++
++#undef _nc_update_screensize
++void _nc_update_screensize(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_setup_tinfo
++int _nc_setup_tinfo(
++ const char *const tn,
++ TERMTYPE *const tp)
++ { return(*(int *)0); }
++
++#undef _nc_tinfo_cmdch
++void _nc_tinfo_cmdch(
++ TERMINAL *termp,
++ int proto)
++ { /* void */ }
++
++#undef _nc_get_locale
++char *_nc_get_locale(void)
++ { return(*(char **)0); }
++
++#undef _nc_unicode_locale
++int _nc_unicode_locale(void)
++ { return(*(int *)0); }
++
++#undef _nc_locale_breaks_acs
++int _nc_locale_breaks_acs(
++ TERMINAL *termp)
++ { return(*(int *)0); }
++
++#undef _nc_setupterm
++int _nc_setupterm(
++ char *tname,
++ int Filedes,
++ int *errret,
++ int reuse)
++ { return(*(int *)0); }
++
++#undef new_prescr
++SCREEN *new_prescr(void)
++ { return(*(SCREEN **)0); }
++
++#undef setupterm
++int setupterm(
++ char *tname,
++ int Filedes,
++ int *errret)
++ { return(*(int *)0); }
++
++/* ./tinfo/lib_termcap.c */
++
++#undef UP
++char *UP;
++#undef BC
++char *BC;
++
++#undef tgetent_sp
++int tgetent_sp(
++ SCREEN *sp,
++ char *bufp,
++ const char *name)
++ { return(*(int *)0); }
++
++#if 0
++
++#include <capdefaults.c>
++
++#endif
++
++#undef tgetent
++int tgetent(
++ char *bufp,
++ const char *name)
++ { return(*(int *)0); }
++
++#undef tgetflag_sp
++int tgetflag_sp(
++ SCREEN *sp,
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetflag
++int tgetflag(
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetnum_sp
++int tgetnum_sp(
++ SCREEN *sp,
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetnum
++int tgetnum(
++ char *id)
++ { return(*(int *)0); }
++
++#undef tgetstr_sp
++char *tgetstr_sp(
++ SCREEN *sp,
++ char *id,
++ char **area)
++ { return(*(char **)0); }
++
++#undef tgetstr
++char *tgetstr(
++ char *id,
++ char **area)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_termname.c */
++
++#undef termname_sp
++char *termname_sp(
++ SCREEN *sp)
++ { return(*(char **)0); }
++
++#undef termname
++char *termname(void)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tgoto.c */
++
++#undef tgoto
++char *tgoto(
++ const char *string,
++ int x,
++ int y)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_ti.c */
++
++#undef tigetflag_sp
++int tigetflag_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetflag
++int tigetflag(
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetnum_sp
++int tigetnum_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetnum
++int tigetnum(
++ char *str)
++ { return(*(int *)0); }
++
++#undef tigetstr_sp
++char *tigetstr_sp(
++ SCREEN *sp,
++ char *str)
++ { return(*(char **)0); }
++
++#undef tigetstr
++char *tigetstr(
++ char *str)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tparm.c */
++
++#undef _nc_tparm_err
++int _nc_tparm_err;
++
++#undef _nc_tparm_analyze
++int _nc_tparm_analyze(
++ const char *string,
++ char *p_is_s[9],
++ int *popcount)
++ { return(*(int *)0); }
++
++#undef tparm
++char *tparm(
++ char *string,
++ ...)
++ { return(*(char **)0); }
++
++#undef tiparm
++char *tiparm(
++ const char *string,
++ ...)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_tputs.c */
++
++#undef PC
++char PC;
++#undef ospeed
++short ospeed;
++#undef _nc_nulls_sent
++int _nc_nulls_sent;
++
++#undef _nc_set_no_padding
++void _nc_set_no_padding(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef delay_output_sp
++int delay_output_sp(
++ SCREEN *sp,
++ int ms)
++ { return(*(int *)0); }
++
++#undef delay_output
++int delay_output(
++ int ms)
++ { return(*(int *)0); }
++
++#undef _nc_flush_sp
++void _nc_flush_sp(
++ SCREEN *sp)
++ { /* void */ }
++
++#undef _nc_flush
++void _nc_flush(void)
++ { /* void */ }
++
++#undef _nc_outch_sp
++int _nc_outch_sp(
++ SCREEN *sp,
++ int ch)
++ { return(*(int *)0); }
++
++#undef _nc_outch
++int _nc_outch(
++ int ch)
++ { return(*(int *)0); }
++
++#undef putp_sp
++int putp_sp(
++ SCREEN *sp,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef _nc_putp_sp
++int _nc_putp_sp(
++ SCREEN *sp,
++ const char *name,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef putp
++int putp(
++ const char *string)
++ { return(*(int *)0); }
++
++#undef _nc_putp
++int _nc_putp(
++ const char *name,
++ const char *string)
++ { return(*(int *)0); }
++
++#undef tputs_sp
++int tputs_sp(
++ SCREEN *sp,
++ const char *string,
++ int affcnt,
++ NCURSES_OUTC_sp outc)
++ { return(*(int *)0); }
++
++#undef _nc_outc_wrapper
++int _nc_outc_wrapper(
++ SCREEN *sp,
++ int c)
++ { return(*(int *)0); }
++
++#undef tputs
++int tputs(
++ const char *string,
++ int affcnt,
++ int (*outc)(
++ int p1))
++ { return(*(int *)0); }
++
++/* ./trace/lib_trace.c */
++
++#undef _nc_tracing
++unsigned _nc_tracing;
++#undef _nc_tputs_trace
++const char *_nc_tputs_trace = {0};
++#undef _nc_outchars
++long _nc_outchars;
++
++#undef trace
++void trace(
++ const unsigned int tracelevel)
++ { /* void */ }
++
++#undef _tracef
++void _tracef(
++ const char *fmt,
++ ...)
++ { /* void */ }
++
++#undef _nc_retrace_bool
++NCURSES_BOOL _nc_retrace_bool(
++ int code)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_retrace_char
++char _nc_retrace_char(
++ int code)
++ { return(*(char *)0); }
++
++#undef _nc_retrace_int
++int _nc_retrace_int(
++ int code)
++ { return(*(int *)0); }
++
++#undef _nc_retrace_unsigned
++unsigned _nc_retrace_unsigned(
++ unsigned code)
++ { return(*(unsigned *)0); }
++
++#undef _nc_retrace_ptr
++char *_nc_retrace_ptr(
++ char *code)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_cptr
++const char *_nc_retrace_cptr(
++ const char *code)
++ { return(*(const char **)0); }
++
++#undef _nc_retrace_cvoid_ptr
++void *_nc_retrace_cvoid_ptr(
++ void *code)
++ { return(*(void **)0); }
++
++#undef _nc_retrace_void_ptr
++void *_nc_retrace_void_ptr(
++ void *code)
++ { return(*(void **)0); }
++
++#undef _nc_retrace_sp
++SCREEN *_nc_retrace_sp(
++ SCREEN *code)
++ { return(*(SCREEN **)0); }
++
++#undef _nc_retrace_win
++WINDOW *_nc_retrace_win(
++ WINDOW *code)
++ { return(*(WINDOW **)0); }
++
++/* ./trace/lib_traceatr.c */
++
++#undef _traceattr2
++char *_traceattr2(
++ int bufnum,
++ chtype newmode)
++ { return(*(char **)0); }
++
++#undef _traceattr
++char *_traceattr(
++ attr_t newmode)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_int_attr_t
++int _nc_retrace_int_attr_t(
++ attr_t code)
++ { return(*(int *)0); }
++
++#undef _nc_retrace_attr_t
++attr_t _nc_retrace_attr_t(
++ attr_t code)
++ { return(*(attr_t *)0); }
++
++#undef _nc_altcharset_name
++const char *_nc_altcharset_name(
++ attr_t attr,
++ chtype ch)
++ { return(*(const char **)0); }
++
++#undef _tracechtype2
++char *_tracechtype2(
++ int bufnum,
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef _tracechtype
++char *_tracechtype(
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef _nc_retrace_chtype
++chtype _nc_retrace_chtype(
++ chtype code)
++ { return(*(chtype *)0); }
++
++#undef _tracecchar_t2
++char *_tracecchar_t2(
++ int bufnum,
++ const cchar_t *ch)
++ { return(*(char **)0); }
++
++#undef _tracecchar_t
++char *_tracecchar_t(
++ const cchar_t *ch)
++ { return(*(char **)0); }
++
++/* ./trace/lib_tracebits.c */
++
++typedef struct {
++ unsigned int val;
++ const char *name;
++} BITNAMES;
++
++#undef _nc_trace_ttymode
++char *_nc_trace_ttymode(
++ struct termios *tty)
++ { return(*(char **)0); }
++
++#undef _nc_tracebits
++char *_nc_tracebits(void)
++ { return(*(char **)0); }
++
++/* ./trace/lib_tracechr.c */
++
++#undef _nc_tracechar
++char *_nc_tracechar(
++ SCREEN *sp,
++ int ch)
++ { return(*(char **)0); }
++
++#undef _tracechar
++char *_tracechar(
++ int ch)
++ { return(*(char **)0); }
++
++/* ./tinfo/lib_ttyflags.c */
++
++#undef _nc_get_tty_mode_sp
++int _nc_get_tty_mode_sp(
++ SCREEN *sp,
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_get_tty_mode
++int _nc_get_tty_mode(
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_set_tty_mode_sp
++int _nc_set_tty_mode_sp(
++ SCREEN *sp,
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef _nc_set_tty_mode
++int _nc_set_tty_mode(
++ struct termios *buf)
++ { return(*(int *)0); }
++
++#undef def_shell_mode_sp
++int def_shell_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef def_shell_mode
++int def_shell_mode(void)
++ { return(*(int *)0); }
++
++#undef def_prog_mode_sp
++int def_prog_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef def_prog_mode
++int def_prog_mode(void)
++ { return(*(int *)0); }
++
++#undef reset_prog_mode_sp
++int reset_prog_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef reset_prog_mode
++int reset_prog_mode(void)
++ { return(*(int *)0); }
++
++#undef reset_shell_mode_sp
++int reset_shell_mode_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef reset_shell_mode
++int reset_shell_mode(void)
++ { return(*(int *)0); }
++
++#undef savetty_sp
++int savetty_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef savetty
++int savetty(void)
++ { return(*(int *)0); }
++
++#undef resetty_sp
++int resetty_sp(
++ SCREEN *sp)
++ { return(*(int *)0); }
++
++#undef resetty
++int resetty(void)
++ { return(*(int *)0); }
++
++/* ./tty/lib_twait.c */
++
++#undef _nc_timed_wait
++int _nc_timed_wait(
++ SCREEN *sp,
++ int mode,
++ int milliseconds,
++ int *timeleft)
++ { return(*(int *)0); }
++
++/* ./tinfo/name_match.c */
++
++#undef _nc_first_name
++char *_nc_first_name(
++ const char *const sp)
++ { return(*(char **)0); }
++
++#undef _nc_name_match
++int _nc_name_match(
++ const char *const namelst,
++ const char *const name,
++ const char *const delim)
++ { return(*(int *)0); }
++
++/* ./names.c */
++
++#undef boolnames
++char *const boolnames[] = {0};
++#undef boolfnames
++char *const boolfnames[] = {0};
++#undef numnames
++char *const numnames[] = {0};
++#undef numfnames
++char *const numfnames[] = {0};
++#undef strnames
++char *const strnames[] = {0};
++#undef strfnames
++char *const strfnames[] = {0};
++
++/* ./tinfo/read_entry.c */
++
++#include <hashed_db.h>
++
++#undef _nc_read_termtype
++int _nc_read_termtype(
++ TERMTYPE *ptr,
++ char *buffer,
++ int limit)
++ { return(*(int *)0); }
++
++#undef _nc_read_file_entry
++int _nc_read_file_entry(
++ const char *const filename,
++ TERMTYPE *ptr)
++ { return(*(int *)0); }
++
++#undef _nc_read_entry
++int _nc_read_entry(
++ const char *const name,
++ char *const filename,
++ TERMTYPE *const tp)
++ { return(*(int *)0); }
++
++/* ./tinfo/read_termcap.c */
++
++#include <sys/types.h>
++
++#undef _nc_read_termcap
++void _nc_read_termcap(void)
++ { /* void */ }
++
++/* ./tinfo/setbuf.c */
++
++#undef _nc_set_buffer_sp
++void _nc_set_buffer_sp(
++ SCREEN *sp,
++ FILE *ofp,
++ int buffered)
++ { /* void */ }
++
++#undef _nc_set_buffer
++void _nc_set_buffer(
++ FILE *ofp,
++ int buffered)
++ { /* void */ }
++
++/* ./tinfo/strings.c */
++
++#undef _nc_str_init
++string_desc *_nc_str_init(
++ string_desc *dst,
++ char *src,
++ size_t len)
++ { return(*(string_desc **)0); }
++
++#undef _nc_str_null
++string_desc *_nc_str_null(
++ string_desc *dst,
++ size_t len)
++ { return(*(string_desc **)0); }
++
++#undef _nc_str_copy
++string_desc *_nc_str_copy(
++ string_desc *dst,
++ string_desc *src)
++ { return(*(string_desc **)0); }
++
++#undef _nc_safe_strcat
++NCURSES_BOOL _nc_safe_strcat(
++ string_desc *dst,
++ const char *src)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_safe_strcpy
++NCURSES_BOOL _nc_safe_strcpy(
++ string_desc *dst,
++ const char *src)
++ { return(*(NCURSES_BOOL *)0); }
++
++/* ./trace/trace_buf.c */
++
++#undef _nc_trace_buf
++char *_nc_trace_buf(
++ int bufnum,
++ size_t want)
++ { return(*(char **)0); }
++
++#undef _nc_trace_bufcat
++char *_nc_trace_bufcat(
++ int bufnum,
++ const char *value)
++ { return(*(char **)0); }
++
++/* ./trace/trace_tries.c */
++
++#undef _nc_trace_tries
++void _nc_trace_tries(
++ TRIES *tree)
++ { /* void */ }
++
++/* ./base/tries.c */
++
++#undef _nc_expand_try
++char *_nc_expand_try(
++ TRIES *tree,
++ unsigned code,
++ int *count,
++ size_t len)
++ { return(*(char **)0); }
++
++#undef _nc_remove_key
++int _nc_remove_key(
++ TRIES **tree,
++ unsigned code)
++ { return(*(int *)0); }
++
++#undef _nc_remove_string
++int _nc_remove_string(
++ TRIES **tree,
++ const char *string)
++ { return(*(int *)0); }
++
++/* ./tinfo/trim_sgr0.c */
++
++#undef _nc_trim_sgr0
++char *_nc_trim_sgr0(
++ TERMTYPE *tp)
++ { return(*(char **)0); }
++
++/* ./unctrl.c */
++
++#undef unctrl_sp
++char *unctrl_sp(
++ SCREEN *sp,
++ chtype ch)
++ { return(*(char **)0); }
++
++#undef unctrl
++char *unctrl(
++ chtype ch)
++ { return(*(char **)0); }
++
++/* ./trace/visbuf.c */
++
++#undef _nc_visbuf2
++const char *_nc_visbuf2(
++ int bufnum,
++ const char *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_visbuf
++const char *_nc_visbuf(
++ const char *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_visbufn
++const char *_nc_visbufn(
++ const char *buf,
++ int len)
++ { return(*(const char **)0); }
++
++#undef _nc_viswbuf2
++const char *_nc_viswbuf2(
++ int bufnum,
++ const wchar_t *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_viswbuf
++const char *_nc_viswbuf(
++ const wchar_t *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_viswbufn
++const char *_nc_viswbufn(
++ const wchar_t *buf,
++ int len)
++ { return(*(const char **)0); }
++
++#undef _nc_viswibuf
++const char *_nc_viswibuf(
++ const wint_t *buf)
++ { return(*(const char **)0); }
++
++#undef _nc_viscbuf2
++const char *_nc_viscbuf2(
++ int bufnum,
++ const cchar_t *buf,
++ int len)
++ { return(*(const char **)0); }
++
++#undef _nc_viscbuf
++const char *_nc_viscbuf(
++ const cchar_t *buf,
++ int len)
++ { return(*(const char **)0); }
++
++/* ./base/define_key.c */
++
++#undef define_key_sp
++int define_key_sp(
++ SCREEN *sp,
++ const char *str,
++ int keycode)
++ { return(*(int *)0); }
++
++#undef define_key
++int define_key(
++ const char *str,
++ int keycode)
++ { return(*(int *)0); }
++
++/* ./tinfo/hashed_db.c */
++
++#undef _nc_hashed_db
++void _nc_hashed_db(void)
++ { /* void */ }
++
++/* ./base/key_defined.c */
++
++#undef key_defined_sp
++int key_defined_sp(
++ SCREEN *sp,
++ const char *str)
++ { return(*(int *)0); }
++
++#undef key_defined
++int key_defined(
++ const char *str)
++ { return(*(int *)0); }
++
++/* ./base/keybound.c */
++
++#undef keybound_sp
++char *keybound_sp(
++ SCREEN *sp,
++ int code,
++ int count)
++ { return(*(char **)0); }
++
++#undef keybound
++char *keybound(
++ int code,
++ int count)
++ { return(*(char **)0); }
++
++/* ./base/keyok.c */
++
++#undef keyok_sp
++int keyok_sp(
++ SCREEN *sp,
++ int c,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++#undef keyok
++int keyok(
++ int c,
++ NCURSES_BOOL flag)
++ { return(*(int *)0); }
++
++/* ./base/version.c */
++
++#undef curses_version
++const char *curses_version(void)
++ { return(*(const char **)0); }
+Index: ncurses/modules
+Prereq: 1.117
+--- ncurses-5.9/ncurses/modules 2010-08-07 18:41:02.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/modules 2013-01-26 22:17:55.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: modules,v 1.117 2010/08/07 18:41:02 tom Exp $
++# $Id: modules,v 1.120 2013/01/26 22:17:55 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -115,7 +115,6 @@
+ varargs lib $(trace) $(HEADER_DEPS)
+
+ # Modules for porting
+-memmove lib $(base) $(HEADER_DEPS)
+ vsscanf lib $(base) $(HEADER_DEPS)
+
+ # actually an extension, but with its own configure option (--disable-leaks)
+@@ -199,9 +198,9 @@
+ lib_twait lib $(serial) $(HEADER_DEPS)
+ name_match lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
+ names lib . $(HEADER_DEPS)
++obsolete lib $(tinfo) $(HEADER_DEPS)
+ read_entry lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h $(INCDIR)/hashed_db.h
+ read_termcap lib $(tinfo) $(HEADER_DEPS) $(INCDIR)/tic.h
+-setbuf lib $(tinfo) $(HEADER_DEPS)
+ strings lib $(tinfo) $(HEADER_DEPS)
+ trace_buf lib $(trace) $(HEADER_DEPS)
+ trace_tries lib $(trace) $(HEADER_DEPS)
+@@ -236,6 +235,7 @@
+ @ port_win32con
+ gettimeofday lib $(win32con) $(HEADER_DEPS)
+ wcwidth lib $(win32con) $(HEADER_DEPS)
++widechars lib $(wide) $(HEADER_DEPS)
+ win_driver lib $(win32con) $(HEADER_DEPS)
+
+ @ port_tinfo
+Index: ncurses/tinfo/MKcaptab.sh
+Prereq: 1.13
+--- ncurses-5.9/ncurses/tinfo/MKcaptab.sh 2010-12-25 23:43:58.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/MKcaptab.sh 2011-10-22 16:34:50.000000000 +0000
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+ ##############################################################################
+-# Copyright (c) 2007-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 2007-2010,2011 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -26,7 +26,7 @@
+ # use or other dealings in this Software without prior written #
+ # authorization. #
+ ##############################################################################
+-# $Id: MKcaptab.sh,v 1.13 2010/12/25 23:43:58 tom Exp $
++# $Id: MKcaptab.sh,v 1.14 2011/10/22 16:34:50 tom Exp $
+ AWK=${1-awk}
+ OPT1=${2-0}
+ OPT2=${3-tinfo/MKcaptab.awk}
+@@ -99,12 +99,12 @@
+ _nc_build_alias(struct alias **actual,
+ const alias_table_data *source,
+ const char *strings,
+- unsigned tablesize)
++ size_t tablesize)
+ {
+ if (*actual == 0) {
+ *actual = typeCalloc(struct alias, tablesize + 1);
+ if (*actual != 0) {
+- unsigned n;
++ size_t n;
+ for (n = 0; n < tablesize; ++n) {
+ add_alias(from);
+ add_alias(to);
+@@ -178,7 +178,7 @@
+ static int
+ compare_tcap_names(const char *a, const char *b)
+ {
+- return !strncmp(a, b, TCAP_LEN);
++ return !strncmp(a, b, (size_t) TCAP_LEN);
+ }
+
+ static int
+Index: ncurses/tinfo/access.c
+Prereq: 1.16
+--- ncurses-5.9/ncurses/tinfo/access.c 2010-01-23 17:57:43.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/access.c 2012-09-01 19:21:29.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,11 +33,18 @@
+ #include <curses.priv.h>
+
+ #include <ctype.h>
+-#include <sys/stat.h>
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: access.c,v 1.16 2010/01/23 17:57:43 tom Exp $")
++MODULE_ID("$Id: access.c,v 1.23 2012/09/01 19:21:29 tom Exp $")
++
++#ifdef __TANDEM
++#define ROOT_UID 65535
++#endif
++
++#ifndef ROOT_UID
++#define ROOT_UID 0
++#endif
+
+ #define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c))
+
+@@ -53,7 +60,7 @@
+ result = temp;
+ #if !MIXEDCASE_FILENAMES
+ for (s = result; *s != '\0'; ++s) {
+- *s = LOWERCASE(*s);
++ *s = (char) LOWERCASE(*s);
+ }
+ #endif
+ #if defined(PROG_EXT)
+@@ -108,24 +115,33 @@
+ NCURSES_EXPORT(int)
+ _nc_access(const char *path, int mode)
+ {
+- if (access(path, mode) < 0) {
++ int result;
++
++ if (path == 0) {
++ result = -1;
++ } else if (access(path, mode) < 0) {
+ if ((mode & W_OK) != 0
+ && errno == ENOENT
+ && strlen(path) < PATH_MAX) {
+ char head[PATH_MAX];
+- char *leaf = _nc_basename(strcpy(head, path));
++ char *leaf;
+
++ _nc_STRCPY(head, path, sizeof(head));
++ leaf = _nc_basename(head);
+ if (leaf == 0)
+ leaf = head;
+ *leaf = '\0';
+ if (head == leaf)
+- (void) strcpy(head, ".");
++ _nc_STRCPY(head, ".", sizeof(head));
+
+- return access(head, R_OK | W_OK | X_OK);
++ result = access(head, R_OK | W_OK | X_OK);
++ } else {
++ result = -1;
+ }
+- return -1;
++ } else {
++ result = 0;
+ }
+- return 0;
++ return result;
+ }
+
+ NCURSES_EXPORT(bool)
+@@ -135,7 +151,7 @@
+ struct stat sb;
+
+ if (stat(path, &sb) == 0
+- && (sb.st_mode & S_IFMT) == S_IFDIR) {
++ && S_ISDIR(sb.st_mode)) {
+ result = TRUE;
+ }
+ return result;
+@@ -148,7 +164,7 @@
+ struct stat sb;
+
+ if (stat(path, &sb) == 0
+- && (sb.st_mode & S_IFMT) == S_IFREG) {
++ && S_ISREG(sb.st_mode)) {
+ result = TRUE;
+ }
+ return result;
+@@ -170,6 +186,7 @@
+ || getgid() != getegid())
+ return FALSE;
+ #endif
+- return getuid() != 0 && geteuid() != 0; /* ...finally, disallow root */
++ /* ...finally, disallow root */
++ return (getuid() != ROOT_UID) && (geteuid() != ROOT_UID);
+ }
+ #endif
+Index: ncurses/tinfo/alloc_entry.c
+Prereq: 1.51
+--- ncurses-5.9/ncurses/tinfo/alloc_entry.c 2010-12-25 23:06:01.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/alloc_entry.c 2012-10-27 21:32:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -47,7 +47,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: alloc_entry.c,v 1.51 2010/12/25 23:06:01 tom Exp $")
++MODULE_ID("$Id: alloc_entry.c,v 1.57 2012/10/27 21:32:23 tom Exp $")
+
+ #define ABSENT_OFFSET -1
+ #define CANCELLED_OFFSET -2
+@@ -73,7 +73,7 @@
+ #endif
+
+ if (stringbuf == 0)
+- stringbuf = (char *) malloc(MAX_STRTAB);
++ TYPE_MALLOC(char, (size_t) MAX_STRTAB, stringbuf);
+
+ #if NCURSES_XNAMES
+ tp->num_Booleans = BOOLCOUNT;
+@@ -84,11 +84,11 @@
+ tp->ext_Strings = 0;
+ #endif
+ if (tp->Booleans == 0)
+- tp->Booleans = typeMalloc(NCURSES_SBOOL, BOOLCOUNT);
++ TYPE_MALLOC(NCURSES_SBOOL, BOOLCOUNT, tp->Booleans);
+ if (tp->Numbers == 0)
+- tp->Numbers = typeMalloc(short, NUMCOUNT);
++ TYPE_MALLOC(short, NUMCOUNT, tp->Numbers);
+ if (tp->Strings == 0)
+- tp->Strings = typeMalloc(char *, STRCOUNT);
++ TYPE_MALLOC(char *, STRCOUNT, tp->Strings);
+
+ for_each_boolean(i, tp)
+ tp->Booleans[i] = FALSE;
+@@ -131,7 +131,7 @@
+ result = (stringbuf + next_free - 1);
+ }
+ } else if (next_free + len < MAX_STRTAB) {
+- strcpy(&stringbuf[next_free], string);
++ _nc_STRCPY(&stringbuf[next_free], string, MAX_STRTAB);
+ DEBUG(7, ("Saved string %s", _nc_visbuf(string)));
+ DEBUG(7, ("at location %d", (int) next_free));
+ next_free += len;
+@@ -194,8 +194,7 @@
+ useoffsets[i] = (int) (ep->uses[i].name - stringbuf);
+ }
+
+- if ((tp->str_table = typeMalloc(char, next_free)) == (char *) 0)
+- _nc_err_abort(MSG_NO_MEMORY);
++ TYPE_MALLOC(char, next_free, tp->str_table);
+ (void) memcpy(tp->str_table, stringbuf, next_free);
+
+ tp->term_names = tp->str_table + n;
+@@ -216,16 +215,18 @@
+ if ((n = (unsigned) NUM_EXT_NAMES(tp)) != 0) {
+ if (n < SIZEOF(offsets)) {
+ size_t length = 0;
++ size_t offset;
+ for (i = 0; i < n; i++) {
+ length += strlen(tp->ext_Names[i]) + 1;
+ offsets[i] = (int) (tp->ext_Names[i] - stringbuf);
+ }
+- if ((tp->ext_str_table = typeMalloc(char, length)) == 0)
+- _nc_err_abort(MSG_NO_MEMORY);
+- for (i = 0, length = 0; i < n; i++) {
+- tp->ext_Names[i] = tp->ext_str_table + length;
+- strcpy(tp->ext_Names[i], stringbuf + offsets[i]);
+- length += strlen(tp->ext_Names[i]) + 1;
++ TYPE_MALLOC(char, length, tp->ext_str_table);
++ for (i = 0, offset = 0; i < n; i++) {
++ tp->ext_Names[i] = tp->ext_str_table + offset;
++ _nc_STRCPY(tp->ext_Names[i],
++ stringbuf + offsets[i],
++ length - offset);
++ offset += strlen(tp->ext_Names[i]) + 1;
+ }
+ }
+ }
+Index: ncurses/tinfo/alloc_ttype.c
+Prereq: 1.22
+--- ncurses-5.9/ncurses/tinfo/alloc_ttype.c 2010-12-19 00:24:09.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/alloc_ttype.c 2012-10-27 21:23:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1999-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: alloc_ttype.c,v 1.22 2010/12/19 00:24:09 tom Exp $")
++MODULE_ID("$Id: alloc_ttype.c,v 1.26 2012/10/27 21:23:17 tom Exp $")
+
+ #if NCURSES_XNAMES
+ /*
+@@ -104,7 +104,7 @@
+
+ if (to->ext_Booleans != ext_Booleans) {
+ EXTEND_NUM(num_Booleans, ext_Booleans);
+- to->Booleans = typeRealloc(NCURSES_SBOOL, to->num_Booleans, to->Booleans);
++ TYPE_REALLOC(NCURSES_SBOOL, to->num_Booleans, to->Booleans);
+ for (n = to->ext_Booleans - 1,
+ m = ext_Booleans - 1,
+ base = to->num_Booleans - (m + 1); m >= 0; m--) {
+@@ -116,9 +116,10 @@
+ }
+ to->ext_Booleans = UShort(ext_Booleans);
+ }
++
+ if (to->ext_Numbers != ext_Numbers) {
+ EXTEND_NUM(num_Numbers, ext_Numbers);
+- to->Numbers = typeRealloc(short, to->num_Numbers, to->Numbers);
++ TYPE_REALLOC(short, to->num_Numbers, to->Numbers);
+ for (n = to->ext_Numbers - 1,
+ m = ext_Numbers - 1,
+ base = to->num_Numbers - (m + 1); m >= 0; m--) {
+@@ -132,7 +133,7 @@
+ }
+ if (to->ext_Strings != ext_Strings) {
+ EXTEND_NUM(num_Strings, ext_Strings);
+- to->Strings = typeRealloc(char *, to->num_Strings, to->Strings);
++ TYPE_REALLOC(char *, to->num_Strings, to->Strings);
+ for (n = to->ext_Strings - 1,
+ m = ext_Strings - 1,
+ base = to->num_Strings - (m + 1); m >= 0; m--) {
+@@ -301,7 +302,7 @@
+ }
+ }
+
+- tp->ext_Names = typeRealloc(char *, total, tp->ext_Names);
++ TYPE_REALLOC(char *, total, tp->ext_Names);
+ for (k = total - 1; k > j; k--)
+ tp->ext_Names[k] = tp->ext_Names[k - 1];
+ tp->ext_Names[j] = name;
+@@ -311,21 +312,21 @@
+ case BOOLEAN:
+ tp->ext_Booleans++;
+ tp->num_Booleans++;
+- tp->Booleans = typeRealloc(NCURSES_SBOOL, tp->num_Booleans, tp->Booleans);
++ TYPE_REALLOC(NCURSES_SBOOL, tp->num_Booleans, tp->Booleans);
+ for (k = (unsigned) (tp->num_Booleans - 1); k > j; k--)
+ tp->Booleans[k] = tp->Booleans[k - 1];
+ break;
+ case NUMBER:
+ tp->ext_Numbers++;
+ tp->num_Numbers++;
+- tp->Numbers = typeRealloc(short, tp->num_Numbers, tp->Numbers);
++ TYPE_REALLOC(short, tp->num_Numbers, tp->Numbers);
+ for (k = (unsigned) (tp->num_Numbers - 1); k > j; k--)
+ tp->Numbers[k] = tp->Numbers[k - 1];
+ break;
+ case STRING:
+ tp->ext_Strings++;
+ tp->num_Strings++;
+- tp->Strings = typeRealloc(char *, tp->num_Strings, tp->Strings);
++ TYPE_REALLOC(char *, tp->num_Strings, tp->Strings);
+ for (k = (unsigned) (tp->num_Strings - 1); k > j; k--)
+ tp->Strings[k] = tp->Strings[k - 1];
+ break;
+@@ -417,7 +418,7 @@
+ * into it, updating to's counts for booleans, etc. Fortunately we do
+ * this only for the terminfo compiler (tic) and comparer (infocmp).
+ */
+- ext_Names = typeMalloc(char *, (size_t)(na + nb));
++ TYPE_MALLOC(char *, (size_t)(na + nb), ext_Names);
+
+ if (to->ext_Strings && (from->ext_Booleans + from->ext_Numbers))
+ adjust_cancels(to, from);
+@@ -461,7 +462,7 @@
+ if (nb != (ext_Booleans + ext_Numbers + ext_Strings)) {
+ nb = (ext_Booleans + ext_Numbers + ext_Strings);
+ realign_data(from, ext_Names, ext_Booleans, ext_Numbers, ext_Strings);
+- from->ext_Names = typeRealloc(char *, (size_t) nb, from->ext_Names);
++ TYPE_REALLOC(char *, (size_t) nb, from->ext_Names);
+ memcpy(from->ext_Names, ext_Names, sizeof(char *) * (size_t) nb);
+ DEBUG(2, ("realigned %d extended names for '%s' (from)",
+ NUM_EXT_NAMES(from), from->term_names));
+@@ -473,22 +474,25 @@
+ #endif
+
+ NCURSES_EXPORT(void)
+-_nc_copy_termtype(TERMTYPE *dst, TERMTYPE *src)
++_nc_copy_termtype(TERMTYPE *dst, const TERMTYPE *src)
+ {
+ unsigned i;
+
+ *dst = *src; /* ...to copy the sizes and string-tables */
+- dst->Booleans = typeMalloc(NCURSES_SBOOL, NUM_BOOLEANS(dst));
+- dst->Numbers = typeMalloc(short, NUM_NUMBERS(dst));
+- dst->Strings = typeMalloc(char *, NUM_STRINGS(dst));
+-
+- /* FIXME: use memcpy for these and similar loops */
+- for_each_boolean(i, dst)
+- dst->Booleans[i] = src->Booleans[i];
+- for_each_number(i, dst)
+- dst->Numbers[i] = src->Numbers[i];
+- for_each_string(i, dst)
+- dst->Strings[i] = src->Strings[i];
++
++ TYPE_MALLOC(NCURSES_SBOOL, NUM_BOOLEANS(dst), dst->Booleans);
++ TYPE_MALLOC(short, NUM_NUMBERS(dst), dst->Numbers);
++ TYPE_MALLOC(char *, NUM_STRINGS(dst), dst->Strings);
++
++ memcpy(dst->Booleans,
++ src->Booleans,
++ NUM_BOOLEANS(dst) * sizeof(dst->Booleans[0]));
++ memcpy(dst->Numbers,
++ src->Numbers,
++ NUM_NUMBERS(dst) * sizeof(dst->Numbers[0]));
++ memcpy(dst->Strings,
++ src->Strings,
++ NUM_STRINGS(dst) * sizeof(dst->Strings[0]));
+
+ /* FIXME: we probably should also copy str_table and ext_str_table,
+ * but tic and infocmp are not written to exploit that (yet).
+@@ -496,7 +500,7 @@
+
+ #if NCURSES_XNAMES
+ if ((i = NUM_EXT_NAMES(src)) != 0) {
+- dst->ext_Names = typeMalloc(char *, i);
++ TYPE_MALLOC(char *, i, dst->ext_Names);
+ memcpy(dst->ext_Names, src->ext_Names, i * sizeof(char *));
+ } else {
+ dst->ext_Names = 0;
+Index: ncurses/tinfo/captoinfo.c
+Prereq: 1.58
+--- ncurses-5.9/ncurses/tinfo/captoinfo.c 2010-12-04 20:08:19.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/captoinfo.c 2012-12-30 00:50:40.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -93,7 +93,7 @@
+ #include <ctype.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: captoinfo.c,v 1.58 2010/12/04 20:08:19 tom Exp $")
++MODULE_ID("$Id: captoinfo.c,v 1.77 2012/12/30 00:50:40 tom Exp $")
+
+ #define MAX_PUSHED 16 /* max # args we can push onto the stack */
+
+@@ -114,9 +114,7 @@
+ /* initialize 'my_string', 'my_length' */
+ {
+ if (my_string == 0)
+- my_string = typeMalloc(char, my_length = 256);
+- if (my_string == 0)
+- _nc_err_abort(MSG_NO_MEMORY);
++ TYPE_MALLOC(char, my_length = 256, my_string);
+
+ *my_string = '\0';
+ return my_string;
+@@ -133,7 +131,7 @@
+ _nc_err_abort(MSG_NO_MEMORY);
+ d = my_string + have;
+ }
+- (void) strcpy(d, s);
++ _nc_STRCPY(d, s, my_length - have);
+ return d + strlen(d);
+ }
+
+@@ -240,6 +238,12 @@
+ else if (parm == 2)
+ parm = 1;
+ }
++
++ while (n--) {
++ dp = save_string(dp, "%p");
++ dp = save_char(dp, '0' + parm);
++ }
++
+ if (onstack == parm) {
+ if (n > 1) {
+ _nc_warning("string may not be optimal");
+@@ -255,11 +259,6 @@
+
+ onstack = parm;
+
+- while (n--) {
+- dp = save_string(dp, "%p");
+- dp = save_char(dp, '0' + parm);
+- }
+-
+ if (seenn && parm < 3) {
+ dp = save_string(dp, "%{96}%^");
+ }
+@@ -469,73 +468,9 @@
+ break;
+ }
+ break;
+-#ifdef REVISIBILIZE
+- case '\\':
+- dp = save_char(dp, *s++);
+- dp = save_char(dp, *s++);
+- break;
+- case '\n':
+- dp = save_string(dp, "\\n");
+- s++;
+- break;
+- case '\t':
+- dp = save_string(dp, "\\t");
+- s++;
+- break;
+- case '\r':
+- dp = save_string(dp, "\\r");
+- s++;
+- break;
+- case '\200':
+- dp = save_string(dp, "\\0");
+- s++;
+- break;
+- case '\f':
+- dp = save_string(dp, "\\f");
+- s++;
+- break;
+- case '\b':
+- dp = save_string(dp, "\\b");
+- s++;
+- break;
+- case ' ':
+- dp = save_string(dp, "\\s");
+- s++;
+- break;
+- case '^':
+- dp = save_string(dp, "\\^");
+- s++;
+- break;
+- case ':':
+- dp = save_string(dp, "\\:");
+- s++;
+- break;
+- case ',':
+- dp = save_string(dp, "\\,");
+- s++;
+- break;
+- default:
+- if (*s == '\033') {
+- dp = save_string(dp, "\\E");
+- s++;
+- } else if (*s > 0 && *s < 32) {
+- dp = save_char(dp, '^');
+- dp = save_char(dp, *s + '@');
+- s++;
+- } else if (*s <= 0 || *s >= 127) {
+- dp = save_char(dp, '\\');
+- dp = save_char(dp, ((*s & 0300) >> 6) + '0');
+- dp = save_char(dp, ((*s & 0070) >> 3) + '0');
+- dp = save_char(dp, (*s & 0007) + '0');
+- s++;
+- } else
+- dp = save_char(dp, *s++);
+- break;
+-#else
+ default:
+ dp = save_char(dp, *s++);
+ break;
+-#endif
+ }
+ }
+
+@@ -578,7 +513,7 @@
+ {
+ char buffer[80];
+ int tst;
+- sprintf(buffer, fmt, ch1, ch2);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer)) fmt, ch1, ch2);
+ tst = strlen(buffer) - 1;
+ assert(len == tst);
+ }
+@@ -597,10 +532,13 @@
+ bufptr = save_char(bufptr, '\\');
+ bufptr = save_char(bufptr, c1);
+ } else {
+- if (c1 == (c1 & 0x1f)) /* iscntrl() returns T on 255 */
+- (void) strcpy(temp, unctrl((chtype) c1));
+- else
+- (void) sprintf(temp, "\\%03o", c1);
++ if (c1 == (c1 & 0x1f)) { /* iscntrl() returns T on 255 */
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp))
++ "%.20s", unctrl((chtype) c1));
++ } else {
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp))
++ "\\%03o", c1);
++ }
+ bufptr = save_string(bufptr, temp);
+ }
+ return bufptr;
+@@ -646,13 +584,15 @@
+ int in0, in1, in2;
+ char ch1 = 0, ch2 = 0;
+ char *bufptr = init_string();
++ char octal[4];
+ int len;
+ bool syntax_error = FALSE;
+
+ /* we may have to move some trailing mandatory padding up front */
+ padding = str + strlen(str) - 1;
+- if (padding > str && *padding == '>' && *--padding == '/') {
+- --padding;
++ if (padding > str && *padding == '>') {
++ if (*--padding == '/')
++ --padding;
+ while (isdigit(UChar(*padding)) || *padding == '.' || *padding == '*')
+ padding--;
+ if (padding > str && *padding == '<' && *--padding == '$')
+@@ -663,7 +603,7 @@
+ bufptr = save_char(bufptr, *padding++);
+ }
+
+- for (; *str && str != trimmed; str++) {
++ for (; *str && ((trimmed == 0) || (str < trimmed)); str++) {
+ int c1, c2;
+ char *cp = 0;
+
+@@ -685,8 +625,72 @@
+ } else if (str[1] == ',') {
+ bufptr = save_char(bufptr, *++str);
+ } else {
++ int xx1, xx2;
++
+ bufptr = save_char(bufptr, *str++);
+- bufptr = save_char(bufptr, *str);
++ xx1 = *str;
++ if (_nc_strict_bsd) {
++ if (isdigit(UChar(xx1))) {
++ int pad = 0;
++
++ if (!isdigit(UChar(str[1])))
++ pad = 2;
++ else if (str[1] && !isdigit(UChar(str[2])))
++ pad = 1;
++
++ /*
++ * Test for "\0", "\00" or "\000" and transform those
++ * into "\200".
++ */
++ if (xx1 == '0'
++ && ((pad == 2) || (str[1] == '0'))
++ && ((pad >= 1) || (str[2] == '0'))) {
++ xx2 = '2';
++ } else {
++ xx2 = '0';
++ pad = 0; /* FIXME - optionally pad to 3 digits */
++ }
++ while (pad-- > 0) {
++ bufptr = save_char(bufptr, xx2);
++ xx2 = '0';
++ }
++ } else if (strchr("E\\nrtbf", xx1) == 0) {
++ switch (xx1) {
++ case 'e':
++ xx1 = 'E';
++ break;
++ case 'l':
++ xx1 = 'n';
++ break;
++ case 's':
++ bufptr = save_char(bufptr, '0');
++ bufptr = save_char(bufptr, '4');
++ xx1 = '0';
++ break;
++ case ':':
++ /*
++ * Note: termcap documentation claims that ":"
++ * must be escaped as "\072", however the
++ * documentation is incorrect - read the code.
++ * The replacement does not work reliably,
++ * so the advice is not helpful.
++ */
++ bufptr = save_char(bufptr, '0');
++ bufptr = save_char(bufptr, '7');
++ xx1 = '2';
++ break;
++ default:
++ /* should not happen, but handle this anyway */
++ _nc_SPRINTF(octal, _nc_SLIMIT(sizeof(octal))
++ "%03o", UChar(xx1));
++ bufptr = save_char(bufptr, octal[0]);
++ bufptr = save_char(bufptr, octal[1]);
++ xx1 = octal[2];
++ break;
++ }
++ }
++ }
++ bufptr = save_char(bufptr, xx1);
+ }
+ } else if (str[0] == '$' && str[1] == '<') { /* discard padding */
+ str += 2;
+@@ -703,7 +707,8 @@
+ && ((in0 == 4 && in1 == 10 && in2 == 48)
+ || (in0 == 3 && in1 == 9 && in2 == 38))) {
+ /* dumb-down an optimized case from xterm-256color for termcap */
+- str = strstr(str, ";m");
++ if ((str = strstr(str, ";m")) == 0)
++ break; /* cannot happen */
+ ++str;
+ if (in2 == 48) {
+ bufptr = save_string(bufptr, "[48;5;%dm");
+@@ -720,13 +725,13 @@
+ bufptr = save_tc_inequality(bufptr, c1, c2);
+ } else if (sscanf(str, "%%?%%{%d}%%>%%t%%'%c'%%+%%;", &c1, &ch2) == 2) {
+ str = strchr(str, ';');
+- bufptr = save_tc_inequality(bufptr, c1, c2);
++ bufptr = save_tc_inequality(bufptr, c1, ch2);
+ } else if (sscanf(str, "%%?%%'%c'%%>%%t%%{%d}%%+%%;", &ch1, &c2) == 2) {
+ str = strchr(str, ';');
+- bufptr = save_tc_inequality(bufptr, c1, c2);
++ bufptr = save_tc_inequality(bufptr, ch1, c2);
+ } else if (sscanf(str, "%%?%%'%c'%%>%%t%%'%c'%%+%%;", &ch1, &ch2) == 2) {
+ str = strchr(str, ';');
+- bufptr = save_tc_inequality(bufptr, c1, c2);
++ bufptr = save_tc_inequality(bufptr, ch1, ch2);
+ } else if ((len = bcd_expression(str)) != 0) {
+ str += len;
+ bufptr = save_string(bufptr, "%B");
+@@ -741,15 +746,15 @@
+ bufptr = save_tc_char(bufptr, c1);
+ }
+ /* FIXME: this "works" for 'delta' */
+- else if (strncmp(str, "%{2}%*%-", 8) == 0) {
++ else if (strncmp(str, "%{2}%*%-", (size_t) 8) == 0) {
+ str += 7;
+ bufptr = save_string(bufptr, "%D");
+- } else if (strncmp(str, "%{96}%^", 7) == 0) {
++ } else if (strncmp(str, "%{96}%^", (size_t) 7) == 0) {
+ str += 6;
+ if (saw_m++ == 0) {
+ bufptr = save_string(bufptr, "%n");
+ }
+- } else if (strncmp(str, "%{127}%^", 8) == 0) {
++ } else if (strncmp(str, "%{127}%^", (size_t) 8) == 0) {
+ str += 7;
+ if (saw_n++ == 0) {
+ bufptr = save_string(bufptr, "%m");
+@@ -772,8 +777,25 @@
+ case '8':
+ case '9':
+ bufptr = save_char(bufptr, '%');
+- while (isdigit(UChar(*str)))
+- bufptr = save_char(bufptr, *str++);
++ ch1 = 0;
++ ch2 = 0;
++ while (isdigit(UChar(*str))) {
++ ch2 = ch1;
++ ch1 = *str++;
++ if (_nc_strict_bsd) {
++ if (ch1 > '3')
++ return 0;
++ } else {
++ bufptr = save_char(bufptr, ch1);
++ }
++ }
++ if (_nc_strict_bsd) {
++ if (ch2 != 0 && ch2 != '0')
++ return 0;
++ if (ch1 < '2')
++ ch1 = 'd';
++ bufptr = save_char(bufptr, ch1);
++ }
+ if (strchr("doxX.", *str)) {
+ if (*str != 'd') /* termcap doesn't have octal, hex */
+ return 0;
+@@ -794,6 +816,8 @@
+ * termcap notation.
+ */
+ case 's':
++ if (_nc_strict_bsd)
++ return 0;
+ bufptr = save_string(bufptr, "%s");
+ break;
+
+@@ -826,7 +850,7 @@
+ * but that may not be the end of the string.
+ */
+ assert(str != 0);
+- if (*str == '\0')
++ if (str == 0 || *str == '\0')
+ break;
+
+ } /* endwhile (*str) */
+Index: ncurses/tinfo/comp_error.c
+Prereq: 1.31
+--- ncurses-5.9/ncurses/tinfo/comp_error.c 2007-04-21 23:38:32.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/comp_error.c 2012-02-22 22:34:31.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2005,2007 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -41,7 +41,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: comp_error.c,v 1.31 2007/04/21 23:38:32 tom Exp $")
++MODULE_ID("$Id: comp_error.c,v 1.36 2012/02/22 22:34:31 tom Exp $")
+
+ NCURSES_EXPORT_VAR(bool) _nc_suppress_warnings = FALSE;
+ NCURSES_EXPORT_VAR(int) _nc_curr_line = 0; /* current line # in input */
+@@ -59,7 +59,8 @@
+ NCURSES_EXPORT(void)
+ _nc_set_source(const char *const name)
+ {
+- SourceName = name;
++ FreeIfNeeded(SourceName);
++ SourceName = strdup(name);
+ }
+
+ NCURSES_EXPORT(void)
+@@ -70,7 +71,7 @@
+ if (TermType != 0) {
+ TermType[0] = '\0';
+ if (name)
+- strncat(TermType, name, MAX_NAME_SIZE);
++ strncat(TermType, name, (size_t) MAX_NAME_SIZE);
+ }
+ }
+
+@@ -84,7 +85,7 @@
+ }
+ #endif
+ if (name != 0)
+- strcpy(name, TermType != 0 ? TermType : "");
++ _nc_STRCPY(name, TermType != 0 ? TermType : "", MAX_NAME_SIZE);
+ }
+
+ static NCURSES_INLINE void
+@@ -151,3 +152,12 @@
+ exit(EXIT_FAILURE);
+ #endif
+ }
++
++#if NO_LEAKS
++NCURSES_EXPORT(void)
++_nc_comp_error_leaks(void)
++{
++ FreeAndNull(SourceName);
++ FreeAndNull(TermType);
++}
++#endif
+Index: ncurses/tinfo/comp_expand.c
+Prereq: 1.21
+--- ncurses-5.9/ncurses/tinfo/comp_expand.c 2010-01-16 17:11:23.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/comp_expand.c 2012-03-24 18:37:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+ #include <ctype.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: comp_expand.c,v 1.21 2010/01/16 17:11:23 tom Exp $")
++MODULE_ID("$Id: comp_expand.c,v 1.25 2012/03/24 18:37:17 tom Exp $")
+
+ static int
+ trailing_spaces(const char *src)
+@@ -49,6 +49,8 @@
+ #define REALCTL(s) (UChar(*(s)) < 127 && iscntrl(UChar(*(s))))
+ #define REALPRINT(s) (UChar(*(s)) < 127 && isprint(UChar(*(s))))
+
++#define P_LIMIT(p) (length - (size_t)(p))
++
+ NCURSES_EXPORT(char *)
+ _nc_tic_expand(const char *srcp, bool tic_format, int numbers)
+ {
+@@ -61,15 +63,15 @@
+ size_t need = (2 + strlen(str)) * 4;
+ int ch;
+
+-#if NO_LEAKS
+ if (srcp == 0) {
++#if NO_LEAKS
+ if (buffer != 0) {
+ FreeAndNull(buffer);
+ length = 0;
+ }
++#endif
+ return 0;
+ }
+-#endif
+ if (buffer == 0 || need > length) {
+ if ((buffer = typeRealloc(char, length = need, buffer)) == 0)
+ return 0;
+@@ -90,7 +92,8 @@
+ && str[1] != '\\'
+ && REALPRINT(str + 1)
+ && str[2] == S_QUOTE) {
+- sprintf(buffer + bufp, "{%d}", str[1]);
++ _nc_SPRINTF(buffer + bufp, _nc_SLIMIT(P_LIMIT(bufp))
++ "{%d}", str[1]);
+ bufp += (int) strlen(buffer + bufp);
+ str += 2;
+ } else {
+@@ -177,10 +180,12 @@
+ #define UnCtl(c) ((c) + '@')
+ else if (REALCTL(str) && ch != '\\'
+ && (!islong || isdigit(UChar(str[1])))) {
+- (void) sprintf(&buffer[bufp], "^%c", UnCtl(ch));
++ _nc_SPRINTF(&buffer[bufp], _nc_SLIMIT(P_LIMIT(bufp))
++ "^%c", UnCtl(ch));
+ bufp += 2;
+ } else {
+- (void) sprintf(&buffer[bufp], "\\%03o", ch);
++ _nc_SPRINTF(&buffer[bufp], _nc_SLIMIT(P_LIMIT(bufp))
++ "\\%03o", ch);
+ bufp += 4;
+ }
+
+Index: ncurses/tinfo/comp_parse.c
+Prereq: 1.73
+--- ncurses-5.9/ncurses/tinfo/comp_parse.c 2010-12-25 23:06:37.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/comp_parse.c 2012-10-27 21:48:03.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,15 +35,10 @@
+ /*
+ * comp_parse.c -- parser driver loop and use handling.
+ *
+- * _nc_read_entry_source(FILE *, literal, bool, bool (*hook)())
+- * _nc_resolve_uses2(void)
+- * _nc_free_entries(void)
+- *
+ * Use this code by calling _nc_read_entry_source() on as many source
+ * files as you like (either terminfo or termcap syntax). If you
+ * want use-resolution, call _nc_resolve_uses2(). To free the list
+ * storage, do _nc_free_entries().
+- *
+ */
+
+ #include <curses.priv.h>
+@@ -52,7 +47,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: comp_parse.c,v 1.73 2010/12/25 23:06:37 tom Exp $")
++MODULE_ID("$Id: comp_parse.c,v 1.86 2012/10/27 21:48:03 tom Exp $")
+
+ static void sanity_check2(TERMTYPE *, bool);
+ NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype2) (TERMTYPE *, bool) = sanity_check2;
+@@ -61,6 +56,8 @@
+ static void sanity_check(TERMTYPE *);
+ NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype) (TERMTYPE *) = sanity_check;
+
++static void fixup_acsc(TERMTYPE *, int);
++
+ static void
+ enqueue(ENTRY * ep)
+ /* add an entry to the in-core list */
+@@ -86,16 +83,28 @@
+ if (len > MAX_NAME_SIZE)
+ len = MAX_NAME_SIZE;
+ (void) strncpy(dst, src, len);
+- (void) strcpy(dst + len, "|");
++ _nc_STRCPY(dst + len, "|", MAX_NAME_SIZE);
+ src = dst;
+ }
+ return src;
+ }
+ #define ForceBar(dst, src) ((strchr(src, '|') == 0) ? force_bar(dst, src) : src)
+
+-NCURSES_EXPORT(bool)
+-_nc_entry_match(char *n1, char *n2)
+-/* do any of the aliases in a pair of terminal names match? */
++#if USE_TERMCAP && NCURSES_XNAMES
++static char *
++skip_index(char *name)
++{
++ char *bar = strchr(name, '|');
++
++ if (bar != 0 && (bar - name) == 2)
++ name = bar + 1;
++
++ return name;
++}
++#endif
++
++static bool
++check_collisions(char *n1, char *n2, int counter)
+ {
+ char *pstart, *qstart, *pend, *qend;
+ char nc1[MAX_NAME_SIZE + 2];
+@@ -104,15 +113,98 @@
+ n1 = ForceBar(nc1, n1);
+ n2 = ForceBar(nc2, n2);
+
+- for (pstart = n1; (pend = strchr(pstart, '|')); pstart = pend + 1)
+- for (qstart = n2; (qend = strchr(qstart, '|')); qstart = qend + 1)
++#if USE_TERMCAP && NCURSES_XNAMES
++ if ((_nc_syntax == SYN_TERMCAP) && _nc_user_definable) {
++ n1 = skip_index(n1);
++ n2 = skip_index(n2);
++ }
++#endif
++
++ for (pstart = n1; (pend = strchr(pstart, '|')); pstart = pend + 1) {
++ for (qstart = n2; (qend = strchr(qstart, '|')); qstart = qend + 1) {
+ if ((pend - pstart == qend - qstart)
+- && memcmp(pstart, qstart, (size_t) (pend - pstart)) == 0)
++ && memcmp(pstart, qstart, (size_t) (pend - pstart)) == 0) {
++ if (counter > 0)
++ (void) fprintf(stderr, "Name collision '%.*s' between\n",
++ (int) (pend - pstart), pstart);
+ return (TRUE);
++ }
++ }
++ }
+
+ return (FALSE);
+ }
+
++static char *
++next_name(char *name)
++{
++ if (*name != '\0')
++ ++name;
++ return name;
++}
++
++static char *
++name_ending(char *name)
++{
++ if (*name == '\0') {
++ name = 0;
++ } else {
++ while (*name != '\0' && *name != '|')
++ ++name;
++ }
++ return name;
++}
++
++/*
++ * Essentially, find the conflict reported in check_collisions() and remove
++ * it from the second name, unless that happens to be the last alias.
++ */
++static bool
++remove_collision(char *n1, char *n2)
++{
++ char *p1 = n1;
++ char *p2 = n2;
++ char *pstart, *qstart, *pend, *qend;
++ bool removed = FALSE;
++
++#if USE_TERMCAP && NCURSES_XNAMES
++ if ((_nc_syntax == SYN_TERMCAP) && _nc_user_definable) {
++ p1 = n1 = skip_index(n1);
++ p2 = n2 = skip_index(n2);
++ }
++#else
++ (void) p1;
++#endif
++
++ for (pstart = n1; (pend = name_ending(pstart)); pstart = next_name(pend)) {
++ for (qstart = n2; (qend = name_ending(qstart)); qstart = next_name(qend)) {
++ if ((pend - pstart == qend - qstart)
++ && memcmp(pstart, qstart, (size_t) (pend - pstart)) == 0) {
++ if (qstart != p2 || *qend == '|') {
++ if (*qend == '|')
++ ++qend;
++ while ((*qstart++ = *qend++) != '\0') ;
++ fprintf(stderr, "...now\t%s\n", p2);
++ } else {
++ fprintf(stderr, "Cannot remove alias '%.*s'\n",
++ (int) (qend - qstart), qstart);
++ }
++ removed = TRUE;
++ break;
++ }
++ }
++ }
++
++ return removed;
++}
++
++/* do any of the aliases in a pair of terminal names match? */
++NCURSES_EXPORT(bool)
++_nc_entry_match(char *n1, char *n2)
++{
++ return check_collisions(n1, n2, 0);
++}
++
+ /****************************************************************************
+ *
+ * Entry compiler and resolution logic
+@@ -198,19 +290,19 @@
+
+ for_entry_list(rp) {
+ if (qp > rp
+- && _nc_entry_match(qp->tterm.term_names, rp->tterm.term_names)) {
+- matchcount++;
+- if (matchcount == 1) {
+- (void) fprintf(stderr, "Name collision between %s",
+- _nc_first_name(qp->tterm.term_names));
+- multiples++;
++ && check_collisions(qp->tterm.term_names,
++ rp->tterm.term_names,
++ matchcount + 1)) {
++ if (!matchcount++) {
++ (void) fprintf(stderr, "\t%s\n", rp->tterm.term_names);
++ }
++ (void) fprintf(stderr, "and\t%s\n", qp->tterm.term_names);
++ if (!remove_collision(rp->tterm.term_names,
++ qp->tterm.term_names)) {
++ ++multiples;
+ }
+- if (matchcount >= 1)
+- (void) fprintf(stderr, " %s", _nc_first_name(rp->tterm.term_names));
+ }
+ }
+- if (matchcount >= 1)
+- (void) putc('\n', stderr);
+ }
+ if (multiples > 0)
+ return (FALSE);
+@@ -256,9 +348,7 @@
+ DEBUG(2, ("%s: resolving use=%s (compiled)",
+ child, lookfor));
+
+- rp = typeMalloc(ENTRY, 1);
+- if (rp == 0)
+- _nc_err_abort(MSG_NO_MEMORY);
++ TYPE_MALLOC(ENTRY, 1, rp);
+ rp->tterm = thisterm;
+ rp->nuses = 0;
+ rp->next = lastread;
+@@ -378,7 +468,34 @@
+ for_entry_list(qp) {
+ _nc_curr_line = (int) qp->startline;
+ _nc_set_type(_nc_first_name(qp->tterm.term_names));
+- _nc_check_termtype2(&qp->tterm, literal);
++ /*
++ * tic overrides this function pointer to provide more verbose
++ * checking.
++ */
++ if (_nc_check_termtype2 != sanity_check2) {
++ SCREEN *save_SP = SP;
++ SCREEN fake_sp;
++ TERMINAL fake_tm;
++ TERMINAL *save_tm = cur_term;
++
++ /*
++ * Setup so that tic can use ordinary terminfo interface
++ * to obtain capability information.
++ */
++ memset(&fake_sp, 0, sizeof(fake_sp));
++ memset(&fake_tm, 0, sizeof(fake_tm));
++ fake_sp._term = &fake_tm;
++ fake_tm.type = qp->tterm;
++ SP = &fake_sp;
++ set_curterm(&fake_tm);
++
++ _nc_check_termtype2(&qp->tterm, literal);
++
++ SP = save_SP;
++ set_curterm(save_tm);
++ } else {
++ fixup_acsc(&qp->tterm, literal);
++ }
+ }
+ DEBUG(2, ("SANITY CHECK FINISHED"));
+ }
+@@ -403,6 +520,17 @@
+ #define CUR tp->
+
+ static void
++fixup_acsc(TERMTYPE *tp, int literal)
++{
++ if (!literal) {
++ if (acs_chars == 0
++ && enter_alt_charset_mode != 0
++ && exit_alt_charset_mode != 0)
++ acs_chars = strdup(VT_ACSC);
++ }
++}
++
++static void
+ sanity_check2(TERMTYPE *tp, bool literal)
+ {
+ if (!PRESENT(exit_attribute_mode)) {
+@@ -428,10 +556,7 @@
+ * prefer to bypass it...
+ */
+ if (!literal) {
+- if (acs_chars == 0
+- && enter_alt_charset_mode != 0
+- && exit_alt_charset_mode != 0)
+- acs_chars = strdup(VT_ACSC);
++ fixup_acsc(tp, literal);
+ ANDMISSING(enter_alt_charset_mode, acs_chars);
+ ANDMISSING(exit_alt_charset_mode, acs_chars);
+ }
+Index: ncurses/tinfo/comp_scan.c
+Prereq: 1.89
+--- ncurses-5.9/ncurses/tinfo/comp_scan.c 2010-12-25 23:06:37.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/comp_scan.c 2012-12-08 22:19:25.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -50,7 +50,7 @@
+ #include <ctype.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: comp_scan.c,v 1.89 2010/12/25 23:06:37 tom Exp $")
++MODULE_ID("$Id: comp_scan.c,v 1.101 2012/12/08 22:19:25 tom Exp $")
+
+ /*
+ * Maximum length of string capability we'll accept before raising an error.
+@@ -61,6 +61,7 @@
+ #define iswhite(ch) (ch == ' ' || ch == '\t')
+
+ NCURSES_EXPORT_VAR (int) _nc_syntax = 0; /* termcap or terminfo? */
++NCURSES_EXPORT_VAR (int) _nc_strict_bsd = 1; /* ncurses extended termcap? */
+ NCURSES_EXPORT_VAR (long) _nc_curr_file_pos = 0; /* file offset of current line */
+ NCURSES_EXPORT_VAR (long) _nc_comment_start = 0; /* start of comment range before name */
+ NCURSES_EXPORT_VAR (long) _nc_comment_end = 0; /* end of comment range before name */
+@@ -127,14 +128,19 @@
+ * Returns the final nonblank character on the current input buffer
+ */
+ static int
+-last_char(void)
++last_char(int from_end)
+ {
+ size_t len = strlen(bufptr);
++ int result = 0;
++
+ while (len--) {
+- if (!isspace(UChar(bufptr[len])))
+- return bufptr[len];
++ if (!isspace(UChar(bufptr[len]))) {
++ if (from_end < (int) len)
++ result = bufptr[(int) len - from_end];
++ break;
++ }
+ }
+- return 0;
++ return result;
+ }
+
+ /*
+@@ -195,7 +201,8 @@
+ result = typeRealloc(char, allocated, result);
+ if (result == 0)
+ return (EOF);
+- bufstart = result;
++ if (bufstart)
++ bufstart = result;
+ }
+ if (used == 0)
+ _nc_curr_file_pos = ftell(yyin);
+@@ -212,7 +219,7 @@
+ }
+ } else {
+ if (used != 0)
+- strcat(result, "\n");
++ _nc_STRCAT(result, "\n", allocated);
+ }
+ if ((bufptr = bufstart) != 0) {
+ used = strlen(bufptr);
+@@ -256,12 +263,12 @@
+ }
+
+ static void
+-push_back(char c)
++push_back(int c)
+ /* push a character back onto the input stream */
+ {
+ if (bufptr == bufstart)
+ _nc_syserr_abort("Can't backspace off beginning of line");
+- *--bufptr = c;
++ *--bufptr = (char) c;
+ _nc_curr_col--;
+ }
+
+@@ -299,6 +306,8 @@
+ *tok_ptr++ = (char) ch; \
+ *tok_ptr = '\0'
+
++static char *tok_buf;
++
+ /*
+ * int
+ * get_token()
+@@ -336,15 +345,14 @@
+ _nc_get_token(bool silent)
+ {
+ static const char terminfo_punct[] = "@%&*!#";
+- static char *tok_buf;
+
+- char *after_list;
+- char *after_name;
++ char *after_name; /* after primary name */
++ char *after_list; /* after primary and alias list */
+ char *numchk;
+ char *tok_ptr;
+ char *s;
+ char numbuf[80];
+- int ch;
++ int ch, c0, c1;
+ int dot_flag = FALSE;
+ int type;
+ long number;
+@@ -372,11 +380,10 @@
+
+ if (end_of_stream()) {
+ yyin = 0;
+- next_char(); /* frees its allocated memory */
++ (void) next_char(); /* frees its allocated memory */
+ if (tok_buf != 0) {
+ if (_nc_curr_token.tk_name == tok_buf)
+ _nc_curr_token.tk_name = 0;
+- FreeAndNull(tok_buf);
+ }
+ return (EOF);
+ }
+@@ -390,6 +397,7 @@
+ }
+
+ ch = eat_escaped_newline(ch);
++ _nc_curr_token.tk_valstring = 0;
+
+ #ifdef TRACE
+ old_line = _nc_curr_line;
+@@ -457,7 +465,7 @@
+ after_list = tok_ptr;
+ if (after_name == 0)
+ after_name = tok_ptr;
+- } else if (ch == ':' && last_char() != ',') {
++ } else if (ch == ':' && last_char(0) != ',') {
+ _nc_syntax = SYN_TERMCAP;
+ separator = ':';
+ break;
+@@ -471,12 +479,64 @@
+ if (after_name == 0)
+ break;
+ /*
+- * If we see a comma, we assume this is terminfo unless we
+- * subsequently run into a colon. But we don't stop
+- * looking for a colon until hitting a newline. This
+- * allows commas to be embedded in description fields of
+- * either syntax.
++ * We saw a comma, but are not entirely sure this is
++ * terminfo format, since we can still be parsing the
++ * description field (for either syntax).
++ *
++ * A properly formatted termcap line ends with either a
++ * colon, or a backslash after a colon. It is possible
++ * to have a backslash in the middle of a capability, but
++ * then there would be no leading whitespace on the next
++ * line - something we want to discourage.
+ */
++ c0 = last_char(0);
++ c1 = last_char(1);
++ if (c1 != ':' && c0 != '\\' && c0 != ':') {
++ bool capability = FALSE;
++
++ /*
++ * Since it is not termcap, assume the line is terminfo
++ * format. However, the comma can be embedded in a
++ * description field. It also can be a separator
++ * between a description field and a capability.
++ *
++ * Improve the guess by checking if the next word after
++ * the comma does not look like a capability. In that
++ * case, extend the description past the comma.
++ */
++ for (s = bufptr; isspace(UChar(*s)); ++s) {
++ ;
++ }
++ if (islower(UChar(*s))) {
++ char *name = s;
++ while (isalnum(UChar(*s))) {
++ ++s;
++ }
++ if (*s == '#' || *s == '=' || *s == '@') {
++ /*
++ * Checking solely with syntax allows us to
++ * support extended capabilities with string
++ * values.
++ */
++ capability = TRUE;
++ } else if (*s == ',') {
++ c0 = *s;
++ *s = '\0';
++ /*
++ * Otherwise, we can handle predefined boolean
++ * capabilities, still aided by syntax.
++ */
++ if (_nc_find_entry(name,
++ _nc_get_hash_table(FALSE))) {
++ capability = TRUE;
++ }
++ *s = (char) c0;
++ }
++ }
++ if (capability) {
++ break;
++ }
++ }
+ } else
+ ch = eat_escaped_newline(ch);
+
+@@ -748,7 +808,7 @@
+ if (!(is7bits(c) && isprint(c))) {
+ _nc_warning("Illegal ^ character - '%s'", unctrl(UChar(c)));
+ }
+- if (c == '?') {
++ if (c == '?' && (_nc_syntax != SYN_TERMCAP)) {
+ *(ptr++) = '\177';
+ if (_nc_tracing)
+ _nc_warning("Allow ^? as synonym for \\177");
+@@ -758,23 +818,29 @@
+ *(ptr++) = (char) (c);
+ }
+ } else if (c == '\\') {
++ bool strict_bsd = ((_nc_syntax == SYN_TERMCAP) && _nc_strict_bsd);
++
+ c = next_char();
+ if (c == EOF)
+ _nc_err_abort(MSG_NO_INPUTS);
+
+- if (c >= '0' && c <= '7') {
++#define isoctal(c) ((c) >= '0' && (c) <= '7')
++
++ if (isoctal(c) || (strict_bsd && isdigit(c))) {
+ number = c - '0';
+ for (i = 0; i < 2; i++) {
+ c = next_char();
+ if (c == EOF)
+ _nc_err_abort(MSG_NO_INPUTS);
+
+- if (c < '0' || c > '7') {
++ if (!isoctal(c)) {
+ if (isdigit(c)) {
+- _nc_warning("Non-octal digit `%c' in \\ sequence", c);
+- /* allow the digit; it'll do less harm */
++ if (!strict_bsd) {
++ _nc_warning("Non-octal digit `%c' in \\ sequence", c);
++ /* allow the digit; it'll do less harm */
++ }
+ } else {
+- push_back((char) c);
++ push_back(c);
+ break;
+ }
+ }
+@@ -782,21 +848,16 @@
+ number = number * 8 + c - '0';
+ }
+
+- if (number == 0)
++ number = UChar(number);
++ if (number == 0 && !strict_bsd)
+ number = 0200;
+ *(ptr++) = (char) number;
+ } else {
+ switch (c) {
+ case 'E':
+- case 'e':
+ *(ptr++) = '\033';
+ break;
+
+- case 'a':
+- *(ptr++) = '\007';
+- break;
+-
+- case 'l':
+ case 'n':
+ *(ptr++) = '\n';
+ break;
+@@ -809,10 +870,6 @@
+ *(ptr++) = '\010';
+ break;
+
+- case 's':
+- *(ptr++) = ' ';
+- break;
+-
+ case 'f':
+ *(ptr++) = '\014';
+ break;
+@@ -833,16 +890,33 @@
+ *(ptr++) = ',';
+ break;
+
+- case ':':
+- *(ptr++) = ':';
+- break;
+-
+ case '\n':
+ continue;
+
+ default:
+- _nc_warning("Illegal character '%s' in \\ sequence",
+- unctrl(UChar(c)));
++ if ((_nc_syntax == SYN_TERMINFO) || !_nc_strict_bsd) {
++ switch (c) {
++ case 'a':
++ c = '\007';
++ break;
++ case 'e':
++ c = '\033';
++ break;
++ case 'l':
++ c = '\n';
++ break;
++ case 's':
++ c = ' ';
++ break;
++ case ':':
++ c = ':';
++ break;
++ default:
++ _nc_warning("Illegal character '%s' in \\ sequence",
++ unctrl(UChar(c)));
++ break;
++ }
++ }
+ /* FALLTHRU */
+ case '|':
+ *(ptr++) = (char) c;
+@@ -862,7 +936,7 @@
+
+ if (!ignored) {
+ if (_nc_curr_col <= 1) {
+- push_back((char) c);
++ push_back(c);
+ c = '\n';
+ break;
+ }
+@@ -934,5 +1008,8 @@
+ if (pushname != 0) {
+ FreeAndNull(pushname);
+ }
++ if (tok_buf != 0) {
++ FreeAndNull(tok_buf);
++ }
+ }
+ #endif
+Index: ncurses/tinfo/db_iterator.c
+Prereq: 1.9
+--- ncurses-5.9/ncurses/tinfo/db_iterator.c 2010-12-25 23:00:25.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/db_iterator.c 2012-08-25 21:55:00.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2006-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,13 +36,142 @@
+
+ #include <curses.priv.h>
+
++#include <time.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: db_iterator.c,v 1.9 2010/12/25 23:00:25 tom Exp $")
++#if USE_HASHED_DB
++#include <hashed_db.h>
++#endif
++
++MODULE_ID("$Id: db_iterator.c,v 1.35 2012/08/25 21:55:00 tom Exp $")
+
+ #define HaveTicDirectory _nc_globals.have_tic_directory
+ #define KeepTicDirectory _nc_globals.keep_tic_directory
+ #define TicDirectory _nc_globals.tic_directory
++#define my_blob _nc_globals.dbd_blob
++#define my_list _nc_globals.dbd_list
++#define my_size _nc_globals.dbd_size
++#define my_time _nc_globals.dbd_time
++#define my_vars _nc_globals.dbd_vars
++
++static void
++add_to_blob(const char *text, size_t limit)
++{
++ (void) limit;
++
++ if (*text != '\0') {
++ char *last = my_blob + strlen(my_blob);
++ if (last != my_blob)
++ *last++ = NCURSES_PATHSEP;
++ _nc_STRCPY(last, text, limit);
++ }
++}
++
++static bool
++check_existence(const char *name, struct stat *sb)
++{
++ bool result = FALSE;
++
++ if (stat(name, sb) == 0
++ && (S_ISDIR(sb->st_mode) || S_ISREG(sb->st_mode))) {
++ result = TRUE;
++ }
++#if USE_HASHED_DB
++ else if (strlen(name) < PATH_MAX - sizeof(DBM_SUFFIX)) {
++ char temp[PATH_MAX];
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp)) "%s%s", name, DBM_SUFFIX);
++ if (stat(temp, sb) == 0 && S_ISREG(sb->st_mode)) {
++ result = TRUE;
++ }
++ }
++#endif
++ return result;
++}
++
++/*
++ * Store the latest value of an environment variable in my_vars[] so we can
++ * detect if one changes, invalidating the cached search-list.
++ */
++static bool
++update_getenv(const char *name, DBDIRS which)
++{
++ bool result = FALSE;
++
++ if (which < dbdLAST) {
++ char *value;
++
++ if ((value = getenv(name)) == 0 || (value = strdup(value)) == 0) {
++ ;
++ } else if (my_vars[which].name == 0 || strcmp(my_vars[which].name, name)) {
++ FreeIfNeeded(my_vars[which].value);
++ my_vars[which].name = name;
++ my_vars[which].value = value;
++ result = TRUE;
++ } else if ((my_vars[which].value != 0) ^ (value != 0)) {
++ FreeIfNeeded(my_vars[which].value);
++ my_vars[which].value = value;
++ result = TRUE;
++ } else if (value != 0 && strcmp(value, my_vars[which].value)) {
++ FreeIfNeeded(my_vars[which].value);
++ my_vars[which].value = value;
++ result = TRUE;
++ } else {
++ free(value);
++ }
++ }
++ return result;
++}
++
++static char *
++cache_getenv(const char *name, DBDIRS which)
++{
++ char *result = 0;
++
++ (void) update_getenv(name, which);
++ if (which < dbdLAST) {
++ result = my_vars[which].value;
++ }
++ return result;
++}
++
++/*
++ * The cache expires if at least a second has passed since the initial lookup,
++ * or if one of the environment variables changed.
++ *
++ * Only a few applications use multiple lookups of terminal entries, seems that
++ * aside from bulk I/O such as tic and toe, that leaves interactive programs
++ * which should not be modifying the terminal databases in a way that would
++ * invalidate the search-list.
++ *
++ * The "1-second" is to allow for user-directed changes outside the program.
++ */
++static bool
++cache_expired(void)
++{
++ bool result = FALSE;
++ time_t now = time((time_t *) 0);
++
++ if (now > my_time) {
++ result = TRUE;
++ } else {
++ DBDIRS n;
++ for (n = (DBDIRS) 0; n < dbdLAST; ++n) {
++ if (my_vars[n].name != 0
++ && update_getenv(my_vars[n].name, n)) {
++ result = TRUE;
++ break;
++ }
++ }
++ }
++ return result;
++}
++
++static void
++free_cache(void)
++{
++ FreeAndNull(my_blob);
++ FreeAndNull(my_list);
++}
+
+ /*
+ * Record the "official" location of the terminfo directory, according to
+@@ -51,6 +180,7 @@
+ NCURSES_EXPORT(const char *)
+ _nc_tic_dir(const char *path)
+ {
++ T(("_nc_tic_dir %s", NonNull(path)));
+ if (!KeepTicDirectory) {
+ if (path != 0) {
+ TicDirectory = path;
+@@ -61,7 +191,7 @@
+ return _nc_tic_dir(envp);
+ }
+ }
+- return TicDirectory;
++ return TicDirectory ? TicDirectory : TERMINFO;
+ }
+
+ /*
+@@ -77,61 +207,16 @@
+ }
+
+ /*
+- * Process the list of :-separated directories, looking for the terminal type.
+- * We don't use strtok because it does not show us empty tokens.
+- */
+-#define ThisDbList _nc_globals.dbi_list
+-#define ThisDbSize _nc_globals.dbi_size
+-
+-/*
+ * Cleanup.
+ */
+ NCURSES_EXPORT(void)
+ _nc_last_db(void)
+ {
+- if (ThisDbList != 0) {
+- FreeAndNull(ThisDbList);
+- }
+- ThisDbSize = 0;
+-}
+-
+-/* The TERMINFO_DIRS value, if defined by the configure script, begins with a
+- * ":", which will be interpreted as TERMINFO.
+- */
+-static const char *
+-next_list_item(const char *source, int *offset)
+-{
+- if (source != 0) {
+- FreeIfNeeded(ThisDbList);
+- ThisDbList = strdup(source);
+- ThisDbSize = (int) strlen(source);
+- }
+-
+- if (ThisDbList != 0 && ThisDbSize && *offset < ThisDbSize) {
+- static char system_db[] = TERMINFO;
+- char *result = ThisDbList + *offset;
+- char *marker = strchr(result, NCURSES_PATHSEP);
+-
+- /*
+- * Put a null on the marker if a separator was found. Set the offset
+- * to the next position after the marker so we can call this function
+- * again, using the data at the offset.
+- */
+- if (marker == 0) {
+- *offset += (int) strlen(result);
+- } else {
+- *marker++ = 0;
+- *offset = (int) (marker - ThisDbList);
+- }
+- if (*result == 0 && result != (ThisDbList + ThisDbSize))
+- result = system_db;
+- return result;
++ if (my_blob != 0 && cache_expired()) {
++ free_cache();
+ }
+- return 0;
+ }
+
+-#define NEXT_DBD(var, offset) next_list_item((*offset == 0) ? var : 0, offset)
+-
+ /*
+ * This is a simple iterator which allows the caller to step through the
+ * possible locations for a terminfo directory. ncurses uses this to find
+@@ -141,84 +226,186 @@
+ _nc_next_db(DBDIRS * state, int *offset)
+ {
+ const char *result;
+- char *envp;
+-
+- while (*state < dbdLAST) {
+- DBDIRS next = (DBDIRS) ((int) (*state) + 1);
+
++ (void) offset;
++ if ((int) *state < my_size
++ && my_list != 0
++ && my_list[*state] != 0) {
++ result = my_list[*state];
++ (*state)++;
++ } else {
+ result = 0;
++ }
++ if (result != 0) {
++ T(("_nc_next_db %d %s", *state, result));
++ }
++ return result;
++}
++
++NCURSES_EXPORT(void)
++_nc_first_db(DBDIRS * state, int *offset)
++{
++ bool cache_has_expired = FALSE;
++ *state = dbdTIC;
++ *offset = 0;
++
++ T(("_nc_first_db"));
++
++ /* build a blob containing all of the strings we will use for a lookup
++ * table.
++ */
++ if (my_blob == 0 || (cache_has_expired = cache_expired())) {
++ size_t blobsize = 0;
++ const char *values[dbdLAST];
++ struct stat *my_stat;
++ int j, k;
++
++ if (cache_has_expired)
++ free_cache();
++
++ for (j = 0; j < dbdLAST; ++j)
++ values[j] = 0;
++
++ /*
++ * This is the first item in the list, and is used only when tic is
++ * writing to the database, as a performance improvement.
++ */
++ values[dbdTIC] = TicDirectory;
+
+- switch (*state) {
+- case dbdTIC:
+- if (HaveTicDirectory)
+- result = _nc_tic_dir(0);
+- break;
+ #if USE_DATABASE
+- case dbdEnvOnce:
+- if (use_terminfo_vars()) {
+- if ((envp = getenv("TERMINFO")) != 0)
+- result = _nc_tic_dir(envp);
+- }
+- break;
+- case dbdHome:
+- if (use_terminfo_vars()) {
+- result = _nc_home_terminfo();
+- }
+- break;
+- case dbdEnvList:
+- if (use_terminfo_vars()) {
+- if ((result = NEXT_DBD(getenv("TERMINFO_DIRS"), offset)) != 0)
+- next = *state;
+- }
+- break;
+- case dbdCfgList:
+ #ifdef TERMINFO_DIRS
+- if ((result = NEXT_DBD(TERMINFO_DIRS, offset)) != 0)
+- next = *state;
++ values[dbdCfgList] = TERMINFO_DIRS;
++#endif
++#ifdef TERMINFO
++ values[dbdCfgOnce] = TERMINFO;
+ #endif
+- break;
+- case dbdCfgOnce:
+-#ifndef TERMINFO_DIRS
+- result = TERMINFO;
+ #endif
+- break;
+-#endif /* USE_DATABASE */
++
+ #if USE_TERMCAP
+- case dbdEnvOnce2:
+- if (use_terminfo_vars()) {
+- if ((envp = getenv("TERMCAP")) != 0)
+- result = _nc_tic_dir(envp);
+- }
+- break;
+- case dbdEnvList2:
+- if (use_terminfo_vars()) {
+- if ((result = NEXT_DBD(getenv("TERMPATH"), offset)) != 0)
+- next = *state;
++ values[dbdCfgList2] = TERMPATH;
++#endif
++
++ if (use_terminfo_vars()) {
++#if USE_DATABASE
++ values[dbdEnvOnce] = cache_getenv("TERMINFO", dbdEnvOnce);
++ values[dbdHome] = _nc_home_terminfo();
++ (void) cache_getenv("HOME", dbdHome);
++ values[dbdEnvList] = cache_getenv("TERMINFO_DIRS", dbdEnvList);
++
++#endif
++#if USE_TERMCAP
++ values[dbdEnvOnce2] = cache_getenv("TERMCAP", dbdEnvOnce2);
++ /* only use $TERMCAP if it is an absolute path */
++ if (values[dbdEnvOnce2] != 0
++ && *values[dbdEnvOnce2] != '/') {
++ values[dbdEnvOnce2] = 0;
+ }
+- break;
+- case dbdCfgList2:
+- if ((result = NEXT_DBD(TERMPATH, offset)) != 0)
+- next = *state;
+- break;
++ values[dbdEnvList2] = cache_getenv("TERMPATH", dbdEnvList2);
+ #endif /* USE_TERMCAP */
+- case dbdLAST:
+- break;
+ }
+- if (*state != next) {
+- *state = next;
+- *offset = 0;
+- _nc_last_db();
++
++ for (j = 0; j < dbdLAST; ++j) {
++ if (values[j] == 0)
++ values[j] = "";
++ blobsize += 2 + strlen(values[j]);
+ }
+- if (result != 0) {
+- return result;
++
++ my_blob = malloc(blobsize);
++ if (my_blob != 0) {
++ *my_blob = '\0';
++ for (j = 0; j < dbdLAST; ++j) {
++ add_to_blob(values[j], blobsize);
++ }
++
++ /* Now, build an array which will be pointers to the distinct
++ * strings in the blob.
++ */
++ blobsize = 2;
++ for (j = 0; my_blob[j] != '\0'; ++j) {
++ if (my_blob[j] == NCURSES_PATHSEP)
++ ++blobsize;
++ }
++ my_list = typeCalloc(char *, blobsize);
++ my_stat = typeCalloc(struct stat, blobsize);
++ if (my_list != 0 && my_stat != 0) {
++ k = 0;
++ my_list[k++] = my_blob;
++ for (j = 0; my_blob[j] != '\0'; ++j) {
++ if (my_blob[j] == NCURSES_PATHSEP) {
++ my_blob[j] = '\0';
++ my_list[k++] = &my_blob[j + 1];
++ }
++ }
++
++ /*
++ * Eliminate duplicates from the list.
++ */
++ for (j = 0; my_list[j] != 0; ++j) {
++#ifdef TERMINFO
++ if (*my_list[j] == '\0')
++ my_list[j] = strdup(TERMINFO);
++#endif
++ for (k = 0; k < j; ++k) {
++ if (!strcmp(my_list[j], my_list[k])) {
++ k = j - 1;
++ while ((my_list[j] = my_list[j + 1]) != 0) {
++ ++j;
++ }
++ j = k;
++ break;
++ }
++ }
++ }
++
++ /*
++ * Eliminate non-existent databases, and those that happen to
++ * be symlinked to another location.
++ */
++ for (j = 0; my_list[j] != 0; ++j) {
++ bool found = check_existence(my_list[j], &my_stat[j]);
++#if HAVE_LINK
++ if (found) {
++ for (k = 0; k < j; ++k) {
++ if (my_stat[j].st_dev == my_stat[k].st_dev
++ && my_stat[j].st_ino == my_stat[k].st_ino) {
++ found = FALSE;
++ break;
++ }
++ }
++ }
++#endif
++ if (!found) {
++ k = j;
++ while ((my_list[k] = my_list[k + 1]) != 0) {
++ ++k;
++ }
++ --j;
++ }
++ }
++ my_size = j;
++ my_time = time((time_t *) 0);
++ } else {
++ FreeAndNull(my_blob);
++ }
++ free(my_stat);
+ }
+ }
+- return 0;
+ }
+
+-NCURSES_EXPORT(void)
+-_nc_first_db(DBDIRS * state, int *offset)
++#if NO_LEAKS
++void
++_nc_db_iterator_leaks(void)
+ {
+- *state = dbdTIC;
+- *offset = 0;
++ DBDIRS which;
++
++ if (my_blob != 0)
++ FreeAndNull(my_blob);
++ if (my_list != 0)
++ FreeAndNull(my_list);
++ for (which = 0; (int) which < dbdLAST; ++which) {
++ my_vars[which].name = 0;
++ FreeIfNeeded(my_vars[which].value);
++ my_vars[which].value = 0;
++ }
+ }
++#endif
+Index: ncurses/tinfo/doalloc.c
+Prereq: 1.8
+--- ncurses-5.9/ncurses/tinfo/doalloc.c 2002-08-31 21:48:11.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/doalloc.c 2012-11-03 19:27:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: doalloc.c,v 1.8 2002/08/31 21:48:11 Philippe.Blain Exp $")
++MODULE_ID("$Id: doalloc.c,v 1.11 2012/11/03 19:27:41 tom Exp $")
+
+ NCURSES_EXPORT(void *)
+ _nc_doalloc(void *oldp, size_t amount)
+@@ -56,20 +56,3 @@
+ }
+ return newp;
+ }
+-
+-#if !HAVE_STRDUP
+-NCURSES_EXPORT(char *)
+-_nc_strdup(const char *src)
+-{
+- char *dst;
+- if (src != 0) {
+- dst = typeMalloc(char, strlen(src) + 1);
+- if (dst != 0) {
+- (void) strcpy(dst, src);
+- }
+- } else {
+- dst = 0;
+- }
+- return dst;
+-}
+-#endif
+Index: ncurses/tinfo/entries.c
+Prereq: 1.17
+--- ncurses-5.9/ncurses/tinfo/entries.c 2010-01-23 17:57:43.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/entries.c 2012-05-05 20:33:44.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2006-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: entries.c,v 1.17 2010/01/23 17:57:43 tom Exp $")
++MODULE_ID("$Id: entries.c,v 1.21 2012/05/05 20:33:44 tom Exp $")
+
+ /****************************************************************************
+ *
+@@ -96,6 +96,9 @@
+ if (last != 0) {
+ last->next = ep->next;
+ }
++ if (ep->next != 0) {
++ ep->next->last = last;
++ }
+ if (ep == _nc_head) {
+ _nc_head = ep->next;
+ }
+@@ -128,19 +131,21 @@
+ _nc_free_entries(_nc_head);
+ _nc_get_type(0);
+ _nc_first_name(0);
++ _nc_db_iterator_leaks();
+ _nc_keyname_leaks();
+ #if BROKEN_LINKER || USE_REENTRANT
+ _nc_names_leaks();
+ _nc_codes_leaks();
+ FreeIfNeeded(_nc_prescreen.real_acs_map);
+ #endif
++ _nc_comp_error_leaks();
+
+ if ((s = _nc_home_terminfo()) != 0)
+ free(s);
+
+ #ifdef TRACE
+ trace(0);
+- _nc_trace_buf(-1, 0);
++ _nc_trace_buf(-1, (size_t) 0);
+ #endif
+
+ #endif /* NO_LEAKS */
+Index: ncurses/tinfo/getenv_num.c
+Prereq: 1.3
+--- ncurses-5.9/ncurses/tinfo/getenv_num.c 2000-12-10 02:55:07.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/getenv_num.c 2012-07-14 21:17:19.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,7 +36,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: getenv_num.c,v 1.3 2000/12/10 02:55:07 tom Exp $")
++MODULE_ID("$Id: getenv_num.c,v 1.4 2012/07/14 21:17:19 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ _nc_getenv_num(const char *name)
+@@ -54,3 +54,20 @@
+
+ return (int) value;
+ }
++
++NCURSES_EXPORT(void)
++_nc_setenv_num(const char *name, int value)
++{
++ if (name != 0 && value >= 0) {
++ char buffer[128];
++#if HAVE_SETENV
++ sprintf(buffer, "%d", value);
++ setenv(name, buffer, 1);
++#elif HAVE_PUTENV
++ char *s;
++ sprintf(buffer, "%s=%d", name, value);
++ if ((s = strdup(buffer)) != 0)
++ putenv(s);
++#endif
++ }
++}
+Index: ncurses/tinfo/hashed_db.c
+Prereq: 1.14
+--- ncurses-5.9/ncurses/tinfo/hashed_db.c 2008-12-13 20:59:02.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/hashed_db.c 2013-02-16 21:50:03.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 2006-2011,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,12 +36,81 @@
+
+ #if USE_HASHED_DB
+
+-MODULE_ID("$Id: hashed_db.c,v 1.14 2008/12/13 20:59:02 tom Exp $")
++MODULE_ID("$Id: hashed_db.c,v 1.16 2013/02/16 21:50:03 tom Exp $")
+
+ #if HASHED_DB_API >= 2
+ static DBC *cursor;
+ #endif
+
++typedef struct _myconn {
++ struct _myconn *next;
++ DB *db;
++ char *path;
++ bool modify;
++} MYCONN;
++
++static MYCONN *connections;
++
++static void
++cleanup(void)
++{
++ while (connections != 0) {
++ _nc_db_close(connections->db);
++ }
++}
++
++static DB *
++find_connection(const char *path, bool modify)
++{
++ DB *result = 0;
++ MYCONN *p;
++
++ for (p = connections; p != 0; p = p->next) {
++ if (!strcmp(p->path, path) && p->modify == modify) {
++ result = p->db;
++ break;
++ }
++ }
++
++ return result;
++}
++
++static void
++drop_connection(DB * db)
++{
++ MYCONN *p, *q;
++
++ for (p = connections, q = 0; p != 0; q = p, p = p->next) {
++ if (p->db == db) {
++ if (q != 0)
++ q->next = p->next;
++ else
++ connections = p->next;
++ free(p->path);
++ free(p);
++ break;
++ }
++ }
++}
++
++static void
++make_connection(DB * db, const char *path, bool modify)
++{
++ MYCONN *p = typeCalloc(MYCONN, 1);
++
++ if (p != 0) {
++ p->db = db;
++ p->path = strdup(path);
++ p->modify = modify;
++ if (p->path != 0) {
++ p->next = connections;
++ connections = p;
++ } else {
++ free(p);
++ }
++ }
++}
++
+ /*
+ * Open the database.
+ */
+@@ -51,50 +120,57 @@
+ DB *result = 0;
+ int code;
+
++ if (connections == 0)
++ atexit(cleanup);
++
++ if ((result = find_connection(path, modify)) == 0) {
++
+ #if HASHED_DB_API >= 4
+- db_create(&result, NULL, 0);
+- if ((code = result->open(result,
+- NULL,
+- path,
+- NULL,
+- DB_HASH,
+- modify ? DB_CREATE : DB_RDONLY,
+- 0644)) != 0) {
+- result = 0;
+- }
++ db_create(&result, NULL, 0);
++ if ((code = result->open(result,
++ NULL,
++ path,
++ NULL,
++ DB_HASH,
++ modify ? DB_CREATE : DB_RDONLY,
++ 0644)) != 0) {
++ result = 0;
++ }
+ #elif HASHED_DB_API >= 3
+- db_create(&result, NULL, 0);
+- if ((code = result->open(result,
+- path,
+- NULL,
+- DB_HASH,
+- modify ? DB_CREATE : DB_RDONLY,
+- 0644)) != 0) {
+- result = 0;
+- }
++ db_create(&result, NULL, 0);
++ if ((code = result->open(result,
++ path,
++ NULL,
++ DB_HASH,
++ modify ? DB_CREATE : DB_RDONLY,
++ 0644)) != 0) {
++ result = 0;
++ }
+ #elif HASHED_DB_API >= 2
+- if ((code = db_open(path,
+- DB_HASH,
+- modify ? DB_CREATE : DB_RDONLY,
+- 0644,
+- (DB_ENV *) 0,
+- (DB_INFO *) 0,
+- &result)) != 0) {
+- result = 0;
+- }
++ if ((code = db_open(path,
++ DB_HASH,
++ modify ? DB_CREATE : DB_RDONLY,
++ 0644,
++ (DB_ENV *) 0,
++ (DB_INFO *) 0,
++ &result)) != 0) {
++ result = 0;
++ }
+ #else
+- if ((result = dbopen(path,
+- modify ? (O_CREAT | O_RDWR) : O_RDONLY,
+- 0644,
+- DB_HASH,
+- NULL)) == 0) {
+- code = errno;
+- }
++ if ((result = dbopen(path,
++ modify ? (O_CREAT | O_RDWR) : O_RDONLY,
++ 0644,
++ DB_HASH,
++ NULL)) == 0) {
++ code = errno;
++ }
+ #endif
+- if (result != 0) {
+- T(("opened %s", path));
+- } else {
+- T(("cannot open %s: %s", path, strerror(code)));
++ if (result != 0) {
++ make_connection(result, path, modify);
++ T(("opened %s", path));
++ } else {
++ T(("cannot open %s: %s", path, strerror(code)));
++ }
+ }
+ return result;
+ }
+@@ -107,6 +183,7 @@
+ {
+ int result;
+
++ drop_connection(db);
+ #if HASHED_DB_API >= 2
+ result = db->close(db, 0);
+ #else
+Index: ncurses/tinfo/home_terminfo.c
+Prereq: 1.12
+--- ncurses-5.9/ncurses/tinfo/home_terminfo.c 2010-12-25 23:43:58.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/home_terminfo.c 2012-10-27 21:49:14.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+ #include <curses.priv.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: home_terminfo.c,v 1.12 2010/12/25 23:43:58 tom Exp $")
++MODULE_ID("$Id: home_terminfo.c,v 1.15 2012/10/27 21:49:14 tom Exp $")
+
+ /* ncurses extension...fall back on user's private directory */
+
+@@ -54,10 +54,8 @@
+ if (MyBuffer == 0) {
+ if ((home = getenv("HOME")) != 0) {
+ size_t want = (strlen(home) + sizeof(PRIVATE_INFO));
+- MyBuffer = typeMalloc(char, want);
+- if (MyBuffer == 0)
+- _nc_err_abort(MSG_NO_MEMORY);
+- (void) sprintf(MyBuffer, PRIVATE_INFO, home);
++ TYPE_MALLOC(char, want, MyBuffer);
++ _nc_SPRINTF(MyBuffer, _nc_SLIMIT(want) PRIVATE_INFO, home);
+ }
+ }
+ result = MyBuffer;
+Index: ncurses/tinfo/lib_acs.c
+Prereq: 1.43
+--- ncurses-5.9/ncurses/tinfo/lib_acs.c 2010-12-25 23:00:45.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_acs.c 2013-01-12 17:24:42.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_acs.c,v 1.43 2010/12/25 23:00:45 tom Exp $")
++MODULE_ID("$Id: lib_acs.c,v 1.44 2013/01/12 17:24:42 tom Exp $")
+
+ #if BROKEN_LINKER || USE_REENTRANT
+ #define MyBuffer _nc_prescreen.real_acs_map
+@@ -169,8 +169,7 @@
+ CallDriver_2(SP_PARM, initacs, real_map, fake_map);
+ #else
+ if (ena_acs != NULL) {
+- TPUTS_TRACE("ena_acs");
+- putp(ena_acs);
++ NCURSES_PUTP2("ena_acs", ena_acs);
+ }
+ #if NCURSES_EXT_FUNCS
+ /*
+Index: ncurses/tinfo/lib_cur_term.c
+Prereq: 1.30
+--- ncurses-5.9/ncurses/tinfo/lib_cur_term.c 2010-12-19 01:38:45.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_cur_term.c 2012-11-18 02:12:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ #include <curses.priv.h>
+ #include <termcap.h> /* ospeed */
+
+-MODULE_ID("$Id: lib_cur_term.c,v 1.30 2010/12/19 01:38:45 tom Exp $")
++MODULE_ID("$Id: lib_cur_term.c,v 1.31 2012/11/18 02:12:43 tom Exp $")
+
+ #undef CUR
+ #define CUR termp->type.
+@@ -148,8 +148,9 @@
+
+ FreeIfNeeded(termp->_termname);
+ #if USE_HOME_TERMINFO
+- if (_nc_globals.home_terminfo != 0)
++ if (_nc_globals.home_terminfo != 0) {
+ FreeAndNull(_nc_globals.home_terminfo);
++ }
+ #endif
+ #ifdef USE_TERM_DRIVER
+ if (TCB->drv)
+Index: ncurses/tinfo/lib_data.c
+Prereq: 1.61
+--- ncurses-5.9/ncurses/tinfo/lib_data.c 2010-05-15 22:06:56.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_data.c 2012-08-25 18:38:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_data.c,v 1.61 2010/05/15 22:06:56 tom Exp $")
++MODULE_ID("$Id: lib_data.c,v 1.65 2012/08/25 18:38:43 tom Exp $")
+
+ /*
+ * OS/2's native linker complains if we don't initialize public data when
+@@ -114,6 +114,7 @@
+ #define TGETENT_0s { TGETENT_0, TGETENT_0, TGETENT_0, TGETENT_0 }
+
+ NCURSES_EXPORT_VAR(NCURSES_GLOBALS) _nc_globals = {
++ 0, /* have_sigtstp */
+ 0, /* have_sigwinch */
+ 0, /* cleanup_nested */
+
+@@ -125,7 +126,7 @@
+
+ FALSE, /* have_tic_directory */
+ FALSE, /* keep_tic_directory */
+- TERMINFO, /* tic_directory */
++ 0, /* tic_directory */
+
+ NULL, /* dbi_list */
+ 0, /* dbi_size */
+@@ -142,6 +143,12 @@
+ 0, /* tgetent_index */
+ 0, /* tgetent_sequence */
+
++ 0, /* dbd_blob */
++ 0, /* dbd_list */
++ 0, /* dbd_size */
++ 0, /* dbd_time */
++ { { 0, 0 } }, /* dbd_vars */
++
+ #ifndef USE_SP_WINDOWLIST
+ 0, /* _nc_windowlist */
+ #endif
+@@ -249,6 +256,7 @@
+ NULL, /* _tputs_trace */
+ #endif
+ #endif
++ FALSE, /* use_tioctl */
+ };
+ /* *INDENT-ON* */
+
+Index: ncurses/tinfo/lib_napms.c
+Prereq: 1.20
+--- ncurses-5.9/ncurses/tinfo/lib_napms.c 2009-11-07 20:37:30.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_napms.c 2012-06-30 22:08:24.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -51,17 +51,21 @@
+ #endif
+ #endif
+
+-MODULE_ID("$Id: lib_napms.c,v 1.20 2009/11/07 20:37:30 tom Exp $")
++MODULE_ID("$Id: lib_napms.c,v 1.23 2012/06/30 22:08:24 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ NCURSES_SP_NAME(napms) (NCURSES_SP_DCLx int ms)
+ {
+- (void) SP_PARM;
+ T((T_CALLED("napms(%d)"), ms));
+
+ #ifdef USE_TERM_DRIVER
+- CallDriver_1(SP_PARM, nap, ms);
++ if (HasTerminal(SP_PARM)) {
++ CallDriver_1(SP_PARM, nap, ms);
++ }
+ #else /* !USE_TERM_DRIVER */
++#if NCURSES_SP_FUNCS
++ (void) sp;
++#endif
+ #if HAVE_NANOSLEEP
+ {
+ struct timespec request, remaining;
+Index: ncurses/tinfo/lib_options.c
+Prereq: 1.71
+--- ncurses-5.9/ncurses/tinfo/lib_options.c 2009-10-24 21:56:15.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_options.c 2013-01-12 16:44:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -46,7 +46,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_options.c,v 1.71 2009/10/24 21:56:15 tom Exp $")
++MODULE_ID("$Id: lib_options.c,v 1.74 2013/01/12 16:44:17 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ idlok(WINDOW *win, bool flag)
+@@ -165,16 +165,16 @@
+ #ifdef USE_TERM_DRIVER
+ if (IsTermInfo(sp)) {
+ if (flag) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "meta_on", meta_on);
++ NCURSES_PUTP2("meta_on", meta_on);
+ } else {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "meta_off", meta_off);
++ NCURSES_PUTP2("meta_off", meta_off);
+ }
+ }
+ #else
+ if (flag) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "meta_on", meta_on);
++ NCURSES_PUTP2("meta_on", meta_on);
+ } else {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "meta_off", meta_off);
++ NCURSES_PUTP2("meta_off", meta_off);
+ }
+ #endif
+ result = OK;
+@@ -199,19 +199,16 @@
+ if (!bBuiltIn) {
+ switch (vis) {
+ case 2:
+- code = NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_ARGx
+- "cursor_visible",
+- cursor_visible);
++ code = NCURSES_PUTP2_FLUSH("cursor_visible",
++ cursor_visible);
+ break;
+ case 1:
+- code = NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_ARGx
+- "cursor_normal",
+- cursor_normal);
++ code = NCURSES_PUTP2_FLUSH("cursor_normal",
++ cursor_normal);
+ break;
+ case 0:
+- code = NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_ARGx
+- "cursor_invisible",
+- cursor_invisible);
++ code = NCURSES_PUTP2_FLUSH("cursor_invisible",
++ cursor_invisible);
+ break;
+ }
+ } else
+@@ -301,7 +298,7 @@
+ NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_DCLx
+ const char *name, const char *value)
+ {
+- int rc = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx name, value);
++ int rc = NCURSES_PUTP2(name, value);
+ if (rc != ERR) {
+ _nc_flush();
+ }
+@@ -324,7 +321,7 @@
+ * the terminal state _before_ switching modes.
+ */
+ NCURSES_EXPORT(int)
+-_nc_keypad(SCREEN *sp, bool flag)
++_nc_keypad(SCREEN *sp, int flag)
+ {
+ int rc = ERR;
+
+@@ -354,13 +351,9 @@
+ sp->_keypad_on = flag;
+ #else
+ if (flag) {
+- (void) NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_ARGx
+- "keypad_xmit",
+- keypad_xmit);
++ (void) NCURSES_PUTP2_FLUSH("keypad_xmit", keypad_xmit);
+ } else if (!flag && keypad_local) {
+- (void) NCURSES_SP_NAME(_nc_putp_flush) (NCURSES_SP_ARGx
+- "keypad_local",
+- keypad_local);
++ (void) NCURSES_PUTP2_FLUSH("keypad_local", keypad_local);
+ }
+
+ if (flag && !sp->_tried) {
+Index: ncurses/tinfo/lib_print.c
+Prereq: 1.20
+--- ncurses-5.9/ncurses/tinfo/lib_print.c 2010-06-05 22:18:35.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_print.c 2012-02-22 22:34:31.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_print.c,v 1.20 2010/06/05 22:18:35 tom Exp $")
++MODULE_ID("$Id: lib_print.c,v 1.23 2012/02/22 22:34:31 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ NCURSES_SP_NAME(mcprint) (NCURSES_SP_DCLx char *data, int len)
+@@ -76,10 +76,10 @@
+ return (ERR);
+ }
+
+- (void) strcpy(mybuf, switchon);
+- memcpy(mybuf + onsize, data, (unsigned) len);
++ _nc_STRCPY(mybuf, switchon, need);
++ memcpy(mybuf + onsize, data, (size_t) len);
+ if (offsize)
+- (void) strcpy(mybuf + onsize + len, prtr_off);
++ _nc_STRCPY(mybuf + onsize + len, prtr_off, need);
+
+ /*
+ * We're relying on the atomicity of UNIX writes here. The
+Index: ncurses/tinfo/lib_raw.c
+Prereq: 1.19
+--- ncurses-5.9/ncurses/tinfo/lib_raw.c 2010-04-24 23:49:12.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_raw.c 2012-01-21 19:21:29.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -49,11 +49,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_raw.c,v 1.19 2010/04/24 23:49:12 tom Exp $")
+-
+-#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
+-#define _POSIX_SOURCE
+-#endif
++MODULE_ID("$Id: lib_raw.c,v 1.21 2012/01/21 19:21:29 KO.Myung-Hun Exp $")
+
+ #if HAVE_SYS_TERMIO_H
+ #include <sys/termio.h> /* needed for ISC */
+@@ -66,6 +62,11 @@
+ #define _nc_setmode(mode) /* nothing */
+ #endif
+
++#if USE_KLIBC_KBD
++#define INCL_KBD
++#include <os2.h>
++#endif
++
+ #define COOKED_INPUT (IXON|BRKINT|PARMRK)
+
+ #ifdef TRACE
+@@ -100,6 +101,17 @@
+ #endif
+ result = NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx &buf);
+ if (result == OK) {
++#if USE_KLIBC_KBD
++ KBDINFO kbdinfo;
++
++ kbdinfo.cb = sizeof(kbdinfo);
++ KbdGetStatus(&kbdinfo, 0);
++
++ kbdinfo.cb = sizeof(kbdinfo);
++ kbdinfo.fsMask &= ~KEYBOARD_ASCII_MODE;
++ kbdinfo.fsMask |= KEYBOARD_BINARY_MODE;
++ KbdSetStatus(&kbdinfo, 0);
++#endif
+ SP_PARM->_raw = TRUE;
+ SP_PARM->_cbreak = 1;
+ termp->Nttyb = buf;
+@@ -218,6 +230,17 @@
+ #endif
+ result = NCURSES_SP_NAME(_nc_set_tty_mode) (NCURSES_SP_ARGx &buf);
+ if (result == OK) {
++#if USE_KLIBC_KBD
++ KBDINFO kbdinfo;
++
++ kbdinfo.cb = sizeof(kbdinfo);
++ KbdGetStatus(&kbdinfo, 0);
++
++ kbdinfo.cb = sizeof(kbdinfo);
++ kbdinfo.fsMask &= ~KEYBOARD_BINARY_MODE;
++ kbdinfo.fsMask |= KEYBOARD_ASCII_MODE;
++ KbdSetStatus(&kbdinfo, 0);
++#endif
+ SP_PARM->_raw = FALSE;
+ SP_PARM->_cbreak = 0;
+ termp->Nttyb = buf;
+Index: ncurses/tinfo/lib_setup.c
+Prereq: 1.135
+--- ncurses-5.9/ncurses/tinfo/lib_setup.c 2011-02-06 01:04:21.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_setup.c 2012-12-15 19:04:54.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,21 +37,18 @@
+ * Terminal setup routines common to termcap and terminfo:
+ *
+ * use_env(bool)
++ * use_tioctl(bool)
+ * setupterm(char *, int, int *)
+ */
+
+ #include <curses.priv.h>
+ #include <tic.h> /* for MAX_NAME_SIZE */
+
+-#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
+-#define _POSIX_SOURCE
+-#endif
+-
+ #if HAVE_LOCALE_H
+ #include <locale.h>
+ #endif
+
+-MODULE_ID("$Id: lib_setup.c,v 1.135 2011/02/06 01:04:21 tom Exp $")
++MODULE_ID("$Id: lib_setup.c,v 1.155 2012/12/15 19:04:54 tom Exp $")
+
+ /****************************************************************************
+ *
+@@ -225,6 +222,7 @@
+ {
+ T((T_CALLED("use_env(%p,%d)"), (void *) SP_PARM, (int) f));
+ #if NCURSES_SP_FUNCS
++ START_TRACE();
+ if (IsPreScreen(SP_PARM)) {
+ SP_PARM->_use_env = f;
+ }
+@@ -234,14 +232,39 @@
+ returnVoid;
+ }
+
++NCURSES_EXPORT(void)
++NCURSES_SP_NAME(use_tioctl) (NCURSES_SP_DCLx bool f)
++{
++ T((T_CALLED("use_tioctl(%p,%d)"), (void *) SP_PARM, (int) f));
++#if NCURSES_SP_FUNCS
++ START_TRACE();
++ if (IsPreScreen(SP_PARM)) {
++ SP_PARM->_use_tioctl = f;
++ }
++#else
++ _nc_prescreen.use_tioctl = f;
++#endif
++ returnVoid;
++}
++
+ #if NCURSES_SP_FUNCS
+ NCURSES_EXPORT(void)
+ use_env(bool f)
+ {
+ T((T_CALLED("use_env(%d)"), (int) f));
++ START_TRACE();
+ _nc_prescreen.use_env = f;
+ returnVoid;
+ }
++
++NCURSES_EXPORT(void)
++use_tioctl(bool f)
++{
++ T((T_CALLED("use_tioctl(%d)"), (int) f));
++ START_TRACE();
++ _nc_prescreen.use_tioctl = f;
++ returnVoid;
++}
+ #endif
+
+ NCURSES_EXPORT(void)
+@@ -281,7 +304,7 @@
+ *linep = (int) lines;
+ *colp = (int) columns;
+
+- if (_nc_prescreen.use_env) {
++ if (_nc_prescreen.use_env || _nc_prescreen.use_tioctl) {
+ int value;
+
+ #ifdef __EMX__
+@@ -289,7 +312,9 @@
+ int screendata[2];
+ _scrsize(screendata);
+ *colp = screendata[0];
+- *linep = screendata[1];
++ *linep = ((sp != 0 && sp->_filtered)
++ ? 1
++ : screendata[1]);
+ T(("EMX screen size: environment LINES = %d COLUMNS = %d",
+ *linep, *colp));
+ }
+@@ -315,19 +340,33 @@
+ }
+ #endif /* HAVE_SIZECHANGE */
+
+- /*
+- * Finally, look for environment variables.
+- *
+- * Solaris lets users override either dimension with an environment
+- * variable.
+- */
+- if ((value = _nc_getenv_num("LINES")) > 0) {
+- *linep = value;
+- T(("screen size: environment LINES = %d", *linep));
+- }
+- if ((value = _nc_getenv_num("COLUMNS")) > 0) {
+- *colp = value;
+- T(("screen size: environment COLUMNS = %d", *colp));
++ if (_nc_prescreen.use_env) {
++ if (_nc_prescreen.use_tioctl) {
++ /*
++ * If environment variables are used, update them.
++ */
++ if ((sp == 0 || !sp->_filtered) && _nc_getenv_num("LINES") > 0) {
++ _nc_setenv_num("LINES", *linep);
++ }
++ if (_nc_getenv_num("COLUMNS") > 0) {
++ _nc_setenv_num("COLUMNS", *colp);
++ }
++ }
++
++ /*
++ * Finally, look for environment variables.
++ *
++ * Solaris lets users override either dimension with an environment
++ * variable.
++ */
++ if ((value = _nc_getenv_num("LINES")) > 0) {
++ *linep = value;
++ T(("screen size: environment LINES = %d", *linep));
++ }
++ if ((value = _nc_getenv_num("COLUMNS")) > 0) {
++ *colp = value;
++ T(("screen size: environment COLUMNS = %d", *colp));
++ }
+ }
+
+ /* if we can't get dynamic info about the size, use static */
+@@ -399,10 +438,12 @@
+ * We're doing it this way because those functions belong to the upper
+ * ncurses library, while this resides in the lower terminfo library.
+ */
+- if (sp != 0
+- && sp->_resize != 0) {
+- if ((new_lines != old_lines) || (new_cols != old_cols))
++ if (sp != 0 && sp->_resize != 0) {
++ if ((new_lines != old_lines) || (new_cols != old_cols)) {
+ sp->_resize(NCURSES_SP_ARGx new_lines, new_cols);
++ } else if (sp->_sig_winch && (sp->_ungetch != 0)) {
++ sp->_ungetch(SP_PARM, KEY_RESIZE); /* so application can know this */
++ }
+ sp->_sig_winch = FALSE;
+ }
+ }
+@@ -414,22 +455,6 @@
+ *
+ ****************************************************************************/
+
+-#define ret_error(code, fmt, arg) if (errret) {\
+- *errret = code;\
+- returnCode(ERR);\
+- } else {\
+- fprintf(stderr, fmt, arg);\
+- exit(EXIT_FAILURE);\
+- }
+-
+-#define ret_error0(code, msg) if (errret) {\
+- *errret = code;\
+- returnCode(ERR);\
+- } else {\
+- fprintf(stderr, msg);\
+- exit(EXIT_FAILURE);\
+- }
+-
+ #if USE_DATABASE || USE_TERMCAP
+ /*
+ * Return 1 if entry found, 0 if not found, -1 if database not accessible,
+@@ -467,7 +492,7 @@
+ ** and substitute it in for the prototype given in 'command_character'.
+ */
+ void
+-_nc_tinfo_cmdch(TERMINAL * termp, char proto)
++_nc_tinfo_cmdch(TERMINAL * termp, int proto)
+ {
+ unsigned i;
+ char CC;
+@@ -481,8 +506,8 @@
+ if ((tmp = getenv("CC")) != 0 && strlen(tmp) == 1) {
+ CC = *tmp;
+ for_each_string(i, &(termp->type)) {
+- for (tmp = termp->type.Strings[i]; *tmp; tmp++) {
+- if (*tmp == proto)
++ for (tmp = termp->type.Strings[i]; tmp && *tmp; tmp++) {
++ if (UChar(*tmp) == proto)
+ *tmp = CC;
+ }
+ }
+@@ -520,7 +545,9 @@
+ _nc_unicode_locale(void)
+ {
+ int result = 0;
+-#if HAVE_LANGINFO_CODESET
++#if defined(__MINGW32__) && USE_WIDEC_SUPPORT
++ result = 1;
++#elif HAVE_LANGINFO_CODESET
+ char *env = nl_langinfo(CODESET);
+ result = !strcmp(env, "UTF-8");
+ T(("_nc_unicode_locale(%s) ->%d", env, result));
+@@ -551,7 +578,7 @@
+ int value;
+ int result = 0;
+
+- if ((env = getenv(env_name)) != 0) {
++ if (getenv(env_name) != 0) {
+ result = _nc_getenv_num(env_name);
+ } else if ((value = tigetnum("U8")) >= 0) {
+ result = value; /* use extension feature */
+@@ -578,7 +605,7 @@
+ NCURSES_CONST char *tname,
+ int Filedes,
+ int *errret,
+- bool reuse)
++ int reuse)
+ {
+ #ifdef USE_TERM_DRIVER
+ TERMINAL_CONTROL_BLOCK *TCB = 0;
+@@ -608,7 +635,11 @@
+ if (tname == 0) {
+ tname = getenv("TERM");
+ if (tname == 0 || *tname == '\0') {
++#ifdef USE_TERM_DRIVER
++ tname = "unknown";
++#else
+ ret_error0(TGETENT_ERR, "TERM environment variable not set.\n");
++#endif
+ }
+ }
+
+@@ -651,6 +682,9 @@
+ && _nc_name_match(termp->type.term_names, tname, "|")) {
+ T(("reusing existing terminal information and mode-settings"));
+ code = OK;
++#ifdef USE_TERM_DRIVER
++ TCB = (TERMINAL_CONTROL_BLOCK *) termp;
++#endif
+ } else {
+ #ifdef USE_TERM_DRIVER
+ termp = (TERMINAL *) typeCalloc(TERMINAL_CONTROL_BLOCK, 1);
+@@ -684,7 +718,7 @@
+ const TERMTYPE *fallback = _nc_fallback(tname);
+
+ if (fallback) {
+- termp->type = *fallback;
++ _nc_copy_termtype(&(termp->type), fallback);
+ status = TGETENT_YES;
+ }
+ }
+@@ -694,11 +728,11 @@
+ if (status == TGETENT_ERR) {
+ ret_error0(status, "terminals database is inaccessible\n");
+ } else if (status == TGETENT_NO) {
+- ret_error(status, "'%s': unknown terminal type.\n", tname);
++ ret_error1(status, "unknown terminal type.\n", tname);
+ }
+ }
+ #if !USE_REENTRANT
+- strncpy(ttytype, termp->type.term_names, NAMESIZE - 1);
++ strncpy(ttytype, termp->type.term_names, (size_t) (NAMESIZE - 1));
+ ttytype[NAMESIZE - 1] = '\0';
+ #endif
+
+@@ -708,7 +742,7 @@
+ set_curterm(termp);
+
+ if (command_character)
+- _nc_tinfo_cmdch(termp, *command_character);
++ _nc_tinfo_cmdch(termp, UChar(*command_character));
+
+ /*
+ * If an application calls setupterm() rather than initscr() or
+@@ -742,10 +776,22 @@
+
+ #ifndef USE_TERM_DRIVER
+ if (generic_type) {
+- ret_error(TGETENT_NO, "'%s': I need something more specific.\n", tname);
+- }
+- if (hard_copy) {
+- ret_error(TGETENT_YES, "'%s': I can't handle hardcopy terminals.\n", tname);
++ /*
++ * BSD 4.3's termcap contains mis-typed "gn" for wy99. Do a sanity
++ * check before giving up.
++ */
++ if ((VALID_STRING(cursor_address)
++ || (VALID_STRING(cursor_down) && VALID_STRING(cursor_home)))
++ && VALID_STRING(clear_screen)) {
++ free(termp);
++ ret_error1(TGETENT_YES, "terminal is not really generic.\n", tname);
++ } else {
++ free(termp);
++ ret_error1(TGETENT_NO, "I need something more specific.\n", tname);
++ }
++ } else if (hard_copy) {
++ free(termp);
++ ret_error1(TGETENT_YES, "I can't handle hardcopy terminals.\n", tname);
+ }
+ #endif
+ returnCode(code);
+@@ -798,10 +844,10 @@
+ _nc_setupterm(NCURSES_CONST char *tname,
+ int Filedes,
+ int *errret,
+- bool reuse)
++ int reuse)
+ {
+ int res;
+- TERMINAL *termp;
++ TERMINAL *termp = 0;
+ res = TINFO_SETUP_TERM(&termp, tname, Filedes, errret, reuse);
+ if (ERR != res)
+ NCURSES_SP_NAME(set_curterm) (CURRENT_SCREEN_PRE, termp);
+Index: ncurses/tinfo/lib_termcap.c
+Prereq: 1.73
+--- ncurses-5.9/ncurses/tinfo/lib_termcap.c 2010-12-25 19:27:12.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_termcap.c 2013-01-19 18:20:05.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -48,7 +48,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_termcap.c,v 1.73 2010/12/25 19:27:12 tom Exp $")
++MODULE_ID("$Id: lib_termcap.c,v 1.79 2013/01/19 18:20:05 tom Exp $")
+
+ NCURSES_EXPORT_VAR(char *) UP = 0;
+ NCURSES_EXPORT_VAR(char *) BC = 0;
+@@ -63,6 +63,15 @@
+ #define LAST_USE MyCache[CacheInx].last_used
+ #define LAST_SEQ MyCache[CacheInx].sequence
+
++/*
++ * Termcap names are matched only using the first two bytes.
++ * Ignore any extended names longer than two bytes, to avoid problems
++ * with legacy code which passes in parameters whose use is long forgotten.
++ */
++#define ValidCap(cap) (((cap)[0] != '\0') && ((cap)[1] != '\0'))
++#define SameCap(a,b) (((a)[0] == (b)[0]) && ((a)[1] == (b)[1]))
++#define ValidExt(ext) (ValidCap(ext) && (ext)[2] == '\0')
++
+ /***************************************************************************
+ *
+ * tgetent(bufp, term)
+@@ -97,7 +106,7 @@
+ #ifdef USE_TERM_DRIVER
+ if (termp == 0 ||
+ !((TERMINAL_CONTROL_BLOCK *) termp)->drv->isTerminfo)
+- return (rc);
++ returnCode(rc);
+ #endif
+
+ /*
+@@ -202,11 +211,13 @@
+ static bool
+ same_tcname(const char *a, const char *b)
+ {
+- fprintf(stderr, "compare(%s,%s)\n", a, b);
+- return !strncmp(a, b, 2);
++ bool code = SameCap(a, b);
++ fprintf(stderr, "compare(%s,%s) %s\n", a, b, code ? "same" : "diff");
++ return code;
+ }
++
+ #else
+-#define same_tcname(a,b) !strncmp(a,b,2)
++#define same_tcname(a,b) SameCap(a,b)
+ #endif
+
+ /***************************************************************************
+@@ -225,7 +236,7 @@
+ int i, j;
+
+ T((T_CALLED("tgetflag(%p, %s)"), (void *) SP_PARM, id));
+- if (HasTInfoTerminal(SP_PARM)) {
++ if (HasTInfoTerminal(SP_PARM) && ValidCap(id)) {
+ TERMTYPE *tp = &(TerminalOf(SP_PARM)->type);
+ struct name_table_entry const *entry_ptr;
+
+@@ -238,7 +249,7 @@
+ j = -1;
+ for_each_ext_boolean(i, tp) {
+ const char *capname = ExtBoolname(tp, i, boolcodes);
+- if (same_tcname(id, capname)) {
++ if (same_tcname(id, capname) && ValidExt(capname)) {
+ j = i;
+ break;
+ }
+@@ -277,7 +288,7 @@
+ int i, j;
+
+ T((T_CALLED("tgetnum(%p, %s)"), (void *) SP_PARM, id));
+- if (HasTInfoTerminal(SP_PARM)) {
++ if (HasTInfoTerminal(SP_PARM) && ValidCap(id)) {
+ TERMTYPE *tp = &(TerminalOf(SP_PARM)->type);
+ struct name_table_entry const *entry_ptr;
+
+@@ -290,7 +301,7 @@
+ j = -1;
+ for_each_ext_number(i, tp) {
+ const char *capname = ExtNumname(tp, i, numcodes);
+- if (same_tcname(id, capname)) {
++ if (same_tcname(id, capname) && ValidExt(capname)) {
+ j = i;
+ break;
+ }
+@@ -329,7 +340,7 @@
+ int i, j;
+
+ T((T_CALLED("tgetstr(%s,%p)"), id, (void *) area));
+- if (HasTInfoTerminal(SP_PARM)) {
++ if (HasTInfoTerminal(SP_PARM) && ValidCap(id)) {
+ TERMTYPE *tp = &(TerminalOf(SP_PARM)->type);
+ struct name_table_entry const *entry_ptr;
+
+@@ -342,7 +353,7 @@
+ j = -1;
+ for_each_ext_string(i, tp) {
+ const char *capname = ExtStrname(tp, i, strcodes);
+- if (same_tcname(id, capname)) {
++ if (same_tcname(id, capname) && ValidExt(capname)) {
+ j = i;
+ break;
+ }
+@@ -351,7 +362,7 @@
+ #endif
+ if (j >= 0) {
+ result = tp->Strings[j];
+- TR(TRACE_DATABASE, ("found match : %s", _nc_visbuf(result)));
++ TR(TRACE_DATABASE, ("found match %d: %s", j, _nc_visbuf(result)));
+ /* setupterm forces canceled strings to null */
+ if (VALID_STRING(result)) {
+ if (result == exit_attribute_mode
+@@ -361,7 +372,7 @@
+ }
+ if (area != 0
+ && *area != 0) {
+- (void) strcpy(*area, result);
++ _nc_STRCPY(*area, result, 1024);
+ result = *area;
+ *area += strlen(*area) + 1;
+ }
+Index: ncurses/tinfo/lib_tgoto.c
+Prereq: 1.13
+--- ncurses-5.9/ncurses/tinfo/lib_tgoto.c 2008-08-16 19:29:32.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_tgoto.c 2012-02-24 02:08:08.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2000-2006,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 2000-2008,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+ #include <ctype.h>
+ #include <termcap.h>
+
+-MODULE_ID("$Id: lib_tgoto.c,v 1.13 2008/08/16 19:29:32 tom Exp $")
++MODULE_ID("$Id: lib_tgoto.c,v 1.16 2012/02/24 02:08:08 tom Exp $")
+
+ #if !PURE_TERMINFO
+ static bool
+@@ -159,7 +159,8 @@
+ break;
+ }
+ if (fmt != 0) {
+- sprintf(result + used, fmt, *value++);
++ _nc_SPRINTF(result + used, _nc_SLIMIT(length - used)
++ fmt, *value++);
+ used += strlen(result + used);
+ fmt = 0;
+ }
+@@ -174,7 +175,7 @@
+ }
+ if (result != 0) {
+ if (need_BC) {
+- strcpy(result + used, BC);
++ _nc_STRCPY(result + used, BC, length - used);
+ used += strlen(BC);
+ }
+ result[used] = '\0';
+Index: ncurses/tinfo/lib_tparm.c
+Prereq: 1.82
+--- ncurses-5.9/ncurses/tinfo/lib_tparm.c 2011-01-15 22:19:12.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_tparm.c 2013-01-26 17:07:05.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+ #include <ctype.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: lib_tparm.c,v 1.82 2011/01/15 22:19:12 tom Exp $")
++MODULE_ID("$Id: lib_tparm.c,v 1.88 2013/01/26 17:07:05 tom Exp $")
+
+ /*
+ * char *
+@@ -128,9 +128,7 @@
+ need += TPS(out_used);
+ if (need > TPS(out_size)) {
+ TPS(out_size) = need * 2;
+- TPS(out_buff) = typeRealloc(char, TPS(out_size), TPS(out_buff));
+- if (TPS(out_buff) == 0)
+- _nc_err_abort(MSG_NO_MEMORY);
++ TYPE_REALLOC(char, TPS(out_size), TPS(out_buff));
+ }
+ }
+
+@@ -143,7 +141,9 @@
+
+ get_space(s_len + 1);
+
+- (void) sprintf(TPS(out_buff) + TPS(out_used), fmt, s);
++ _nc_SPRINTF(TPS(out_buff) + TPS(out_used),
++ _nc_SLIMIT(TPS(out_size) - TPS(out_used))
++ fmt, s);
+ TPS(out_used) += strlen(TPS(out_buff) + TPS(out_used));
+ }
+
+@@ -153,9 +153,11 @@
+ if (len < 30)
+ len = 30; /* actually log10(MAX_INT)+1 */
+
+- get_space((unsigned) len + 1);
++ get_space((size_t) len + 1);
+
+- (void) sprintf(TPS(out_buff) + TPS(out_used), fmt, number);
++ _nc_SPRINTF(TPS(out_buff) + TPS(out_used),
++ _nc_SLIMIT(TPS(out_size) - TPS(out_used))
++ fmt, number);
+ TPS(out_used) += strlen(TPS(out_buff) + TPS(out_used));
+ }
+
+@@ -164,7 +166,7 @@
+ {
+ if (c == 0)
+ c = 0200;
+- get_space(1);
++ get_space((size_t) 1);
+ TPS(out_buff)[TPS(out_used)++] = (char) c;
+ }
+
+@@ -450,7 +452,7 @@
+ }
+
+ static NCURSES_INLINE char *
+-tparam_internal(bool use_TPARM_ARG, const char *string, va_list ap)
++tparam_internal(int use_TPARM_ARG, const char *string, va_list ap)
+ {
+ char *p_is_s[NUM_PARM];
+ TPARM_ARG param[NUM_PARM];
+@@ -522,7 +524,7 @@
+ }
+ #ifdef TRACE
+ if (USE_TRACEF(TRACE_CALLS)) {
+- for (i = 0; i < popcount; i++) {
++ for (i = 0; i < num_args; i++) {
+ if (p_is_s[i] != 0)
+ save_text(", %s", _nc_visbuf(p_is_s[i]), 0);
+ else
+@@ -559,7 +561,7 @@
+ break;
+
+ case 'l':
+- save_number("%d", (int) strlen(spop()), 0);
++ npush((int) strlen(spop()));
+ break;
+
+ case 's':
+@@ -757,7 +759,7 @@
+ cp++;
+ } /* endwhile (*cp) */
+
+- get_space(1);
++ get_space((size_t) 1);
+ TPS(out_buff)[TPS(out_used)] = '\0';
+
+ T((T_RETURN("%s"), _nc_visbuf(TPS(out_buff))));
+Index: ncurses/tinfo/lib_tputs.c
+Prereq: 1.81
+--- ncurses-5.9/ncurses/tinfo/lib_tputs.c 2010-12-20 00:42:50.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_tputs.c 2013-01-12 20:57:32.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -51,7 +51,7 @@
+ #include <termcap.h> /* ospeed */
+ #include <tic.h>
+
+-MODULE_ID("$Id: lib_tputs.c,v 1.81 2010/12/20 00:42:50 tom Exp $")
++MODULE_ID("$Id: lib_tputs.c,v 1.93 2013/01/12 20:57:32 tom Exp $")
+
+ NCURSES_EXPORT_VAR(char) PC = 0; /* used by termcap library */
+ NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed = 0; /* used by termcap library */
+@@ -119,7 +119,17 @@
+ NCURSES_EXPORT(void)
+ NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_DCL0)
+ {
+- (void) fflush(NC_OUTPUT(SP_PARM));
++ if (SP_PARM != 0 && SP_PARM->_ofd >= 0) {
++ if (SP_PARM->out_inuse) {
++ size_t amount = SP->out_inuse;
++ /*
++ * Help a little, if the write is interrupted, by first resetting
++ * our amount.
++ */
++ SP->out_inuse = 0;
++ IGNORE_RC(write(SP_PARM->_ofd, SP_PARM->out_buffer, amount));
++ }
++ }
+ }
+
+ #if NCURSES_SP_FUNCS
+@@ -138,17 +148,23 @@
+ COUNT_OUTCHARS(1);
+
+ if (HasTInfoTerminal(SP_PARM)
+- && SP_PARM != 0
+- && SP_PARM->_cleanup) {
+- char tmp = (char) ch;
+- /*
+- * POSIX says write() is safe in a signal handler, but the
+- * buffered I/O is not.
+- */
+- if (write(fileno(NC_OUTPUT(SP_PARM)), &tmp, 1) == -1)
+- rc = ERR;
++ && SP_PARM != 0) {
++ if (SP_PARM->out_buffer != 0) {
++ if (SP_PARM->out_inuse + 1 >= SP_PARM->out_limit)
++ NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
++ SP_PARM->out_buffer[SP_PARM->out_inuse++] = (char) ch;
++ } else {
++ char tmp = (char) ch;
++ /*
++ * POSIX says write() is safe in a signal handler, but the
++ * buffered I/O is not.
++ */
++ if (write(fileno(NC_OUTPUT(SP_PARM)), &tmp, (size_t) 1) == -1)
++ rc = ERR;
++ }
+ } else {
+- if (putc(ch, NC_OUTPUT(SP_PARM)) == EOF)
++ char tmp = (char) ch;
++ if (write(fileno(stdout), &tmp, (size_t) 1) == -1)
+ rc = ERR;
+ }
+ return rc;
+@@ -162,13 +178,48 @@
+ }
+ #endif
+
++/*
++ * This is used for the putp special case.
++ */
++NCURSES_EXPORT(int)
++NCURSES_SP_NAME(_nc_putchar) (NCURSES_SP_DCLx int ch)
++{
++ (void) SP_PARM;
++ return putchar(ch);
++}
++
++#if NCURSES_SP_FUNCS
++NCURSES_EXPORT(int)
++_nc_putchar(int ch)
++{
++ return putchar(ch);
++}
++#endif
++
++/*
++ * putp is special - per documentation it calls tputs with putchar as the
++ * parameter for outputting characters. This means that it uses stdio, which
++ * is not signal-safe. Applications call this entrypoint; we do not call it
++ * from within the library.
++ */
+ NCURSES_EXPORT(int)
+ NCURSES_SP_NAME(putp) (NCURSES_SP_DCLx const char *string)
+ {
+ return NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
+- string, 1, NCURSES_SP_NAME(_nc_outch));
++ string, 1, NCURSES_SP_NAME(_nc_putchar));
+ }
+
++#if NCURSES_SP_FUNCS
++NCURSES_EXPORT(int)
++putp(const char *string)
++{
++ return NCURSES_SP_NAME(putp) (CURRENT_SCREEN, string);
++}
++#endif
++
++/*
++ * Use these entrypoints rather than "putp" within the library.
++ */
+ NCURSES_EXPORT(int)
+ NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_DCLx
+ const char *name GCC_UNUSED,
+@@ -178,19 +229,14 @@
+
+ if (string != 0) {
+ TPUTS_TRACE(name);
+- rc = NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx string);
++ rc = NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
++ string, 1, NCURSES_SP_NAME(_nc_outch));
+ }
+ return rc;
+ }
+
+ #if NCURSES_SP_FUNCS
+ NCURSES_EXPORT(int)
+-putp(const char *string)
+-{
+- return NCURSES_SP_NAME(putp) (CURRENT_SCREEN, string);
+-}
+-
+-NCURSES_EXPORT(int)
+ _nc_putp(const char *name, const char *string)
+ {
+ return NCURSES_SP_NAME(_nc_putp) (CURRENT_SCREEN, name, string);
+@@ -216,9 +262,9 @@
+
+ if (USE_TRACEF(TRACE_TPUTS)) {
+ if (outc == NCURSES_SP_NAME(_nc_outch))
+- (void) strcpy(addrbuf, "_nc_outch");
++ _nc_STRCPY(addrbuf, "_nc_outch", sizeof(addrbuf));
+ else
+- (void) sprintf(addrbuf, "%p", outc);
++ _nc_SPRINTF(addrbuf, _nc_SLIMIT(sizeof(addrbuf)) "%p", outc);
+ if (_nc_tputs_trace) {
+ _tracef("tputs(%s = %s, %d, %s) called", _nc_tputs_trace,
+ _nc_visbuf(string), affcnt, addrbuf);
+Index: ncurses/tinfo/lib_ttyflags.c
+Prereq: 1.27
+--- ncurses-5.9/ncurses/tinfo/lib_ttyflags.c 2010-12-25 23:43:58.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/lib_ttyflags.c 2012-01-21 19:21:29.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -41,7 +41,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_ttyflags.c,v 1.27 2010/12/25 23:43:58 tom Exp $")
++MODULE_ID("$Id: lib_ttyflags.c,v 1.28 2012/01/21 19:21:29 KO.Myung-Hun Exp $")
+
+ NCURSES_EXPORT(int)
+ NCURSES_SP_NAME(_nc_get_tty_mode) (NCURSES_SP_DCLx TTY * buf)
+@@ -105,7 +105,11 @@
+ result = CallDriver_2(SP_PARM, sgmode, TRUE, buf);
+ #else
+ for (;;) {
+- if (SET_TTY(termp->Filedes, buf) != 0) {
++ if ((SET_TTY(termp->Filedes, buf) != 0)
++#if USE_KLIBC_KBD
++ && !isatty(termp->Filedes)
++#endif
++ ) {
+ if (errno == EINTR)
+ continue;
+ if ((errno == ENOTTY) && (SP_PARM != 0))
+Index: ncurses/tinfo/make_hash.c
+Prereq: 1.3
+--- ncurses-5.9/ncurses/tinfo/make_hash.c 2010-05-22 18:02:50.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/make_hash.c 2013-02-16 21:27:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -44,7 +44,7 @@
+
+ #include <ctype.h>
+
+-MODULE_ID("$Id: make_hash.c,v 1.3 2010/05/22 18:02:50 tom Exp $")
++MODULE_ID("$Id: make_hash.c,v 1.12 2013/02/16 21:27:50 tom Exp $")
+
+ /*
+ * _nc_make_hash_table()
+@@ -59,6 +59,23 @@
+ #define MODULE_ID(id) /*nothing */
+ #include <tinfo/doalloc.c>
+
++static void
++failed(const char *s)
++{
++ perror(s);
++ exit(EXIT_FAILURE);
++}
++
++static char *
++strmalloc(char *s)
++{
++ char *result = malloc(strlen(s) + 1);
++ if (result == 0)
++ failed("strmalloc");
++ strcpy(result, s);
++ return result;
++}
++
+ /*
+ * int hash_function(string)
+ *
+@@ -119,6 +136,18 @@
+
+ #define MAX_COLUMNS BUFSIZ /* this _has_ to be worst-case */
+
++static int
++count_columns(char **list)
++{
++ int result = 0;
++ if (list != 0) {
++ while (*list++) {
++ ++result;
++ }
++ }
++ return result;
++}
++
+ static char **
+ parse_columns(char *buffer)
+ {
+@@ -126,7 +155,7 @@
+
+ int col = 0;
+
+- if (list == 0 && (list = typeCalloc(char *, MAX_COLUMNS)) == 0)
++ if (list == 0 && (list = typeCalloc(char *, (MAX_COLUMNS + 1))) == 0)
+ return (0);
+
+ if (*buffer != '#') {
+@@ -201,8 +230,15 @@
+ list = parse_columns(buffer);
+ if (list == 0) /* blank or comment */
+ continue;
++ if (column > count_columns(list)) {
++ fprintf(stderr, "expected %d columns, have %d:\n%s\n",
++ column,
++ count_columns(list),
++ buffer);
++ exit(EXIT_FAILURE);
++ }
+ name_table[n].nte_link = -1; /* end-of-hash */
+- name_table[n].nte_name = strdup(list[column]);
++ name_table[n].nte_name = strmalloc(list[column]);
+ if (!strcmp(list[2], "bool")) {
+ name_table[n].nte_type = BOOLEAN;
+ name_table[n].nte_index = BoolCount++;
+@@ -256,13 +292,12 @@
+ printf("static struct name_table_entry *_nc_%s_table = 0;\n\n", root_name);
+ } else {
+
+- printf("static struct name_table_entry %s _nc_%s_table[] =\n",
+- bigstring ? "" : "const",
++ printf("static struct name_table_entry const _nc_%s_table[] =\n",
+ root_name);
+ printf("{\n");
+ for (n = 0; n < CAPTABSIZE; n++) {
+- sprintf(buffer, "\"%s\"",
+- name_table[n].nte_name);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer)) "\"%s\"",
++ name_table[n].nte_name);
+ printf("\t{ %15s,\t%10s,\t%3d, %3d }%c\n",
+ buffer,
+ typenames[name_table[n].nte_type],
+Index: ncurses/tinfo/make_keys.c
+Prereq: 1.19
+--- ncurses-5.9/ncurses/tinfo/make_keys.c 2010-06-05 22:08:00.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/make_keys.c 2011-10-22 16:34:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ #define USE_TERMLIB 1
+ #include <build.priv.h>
+
+-MODULE_ID("$Id: make_keys.c,v 1.19 2010/06/05 22:08:00 tom Exp $")
++MODULE_ID("$Id: make_keys.c,v 1.20 2011/10/22 16:34:50 tom Exp $")
+
+ #include <names.c>
+
+@@ -76,7 +76,7 @@
+ unsigned maxlen = 16;
+ int scanned;
+
+- while (fgets(buffer, sizeof(buffer), ifp) != 0) {
++ while (fgets(buffer, (int) sizeof(buffer), ifp) != 0) {
+ if (*buffer == '#')
+ continue;
+
+Index: ncurses/tinfo/name_match.c
+Prereq: 1.18
+--- ncurses-5.9/ncurses/tinfo/name_match.c 2008-11-16 00:19:59.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/name_match.c 2012-11-18 02:10:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1999-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,25 +33,38 @@
+ #include <curses.priv.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: name_match.c,v 1.18 2008/11/16 00:19:59 juergen Exp $")
++MODULE_ID("$Id: name_match.c,v 1.22 2012/11/18 02:10:17 tom Exp $")
+
+-/*
+- * _nc_first_name(char *names)
+- *
+- * Extract the primary name from a compiled entry.
+- */
+ #define FirstName _nc_globals.first_name
+
++#if USE_TERMCAP && NCURSES_XNAMES
++static const char *
++skip_index(const char *name)
++{
++ if ((_nc_syntax == SYN_TERMCAP) && _nc_user_definable) {
++ const char *bar = strchr(name, '|');
++ if (bar != 0 && (bar - name) == 2)
++ name = bar + 1;
++ }
++ return name;
++}
++#endif
++
++/*
++ * Get the primary name from the given name list. For terminfo, this is the
++ * first name. For termcap, this may be the second name, if the first one
++ * happens to be two characters.
++ */
+ NCURSES_EXPORT(char *)
+ _nc_first_name(const char *const sp)
+-/* get the first name from the given name list */
+ {
+ unsigned n;
+
+ #if NO_LEAKS
+ if (sp == 0) {
+- if (FirstName != 0)
++ if (FirstName != 0) {
+ FreeAndNull(FirstName);
++ }
+ } else
+ #endif
+ {
+@@ -59,8 +72,12 @@
+ FirstName = typeMalloc(char, MAX_NAME_SIZE + 1);
+
+ if (FirstName != 0) {
++ const char *src = sp;
++#if USE_TERMCAP && NCURSES_XNAMES
++ src = skip_index(sp);
++#endif
+ for (n = 0; n < MAX_NAME_SIZE; n++) {
+- if ((FirstName[n] = sp[n]) == '\0'
++ if ((FirstName[n] = src[n]) == '\0'
+ || (FirstName[n] == '|'))
+ break;
+ }
+@@ -71,11 +88,8 @@
+ }
+
+ /*
+- * int _nc_name_match(namelist, name, delim)
+- *
+- * Is the given name matched in namelist?
++ * Is the given name matched in namelist?
+ */
+-
+ NCURSES_EXPORT(int)
+ _nc_name_match(const char *const namelst, const char *const name, const char *const delim)
+ {
+Index: ncurses/tinfo/obsolete.c
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/obsolete.c 2013-01-26 22:07:51.000000000 +0000
+@@ -0,0 +1,102 @@
++/****************************************************************************
++ * Copyright (c) 2013 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey 2013 *
++ ****************************************************************************/
++
++/*
++** Support for obsolete features.
++*/
++
++#include <curses.priv.h>
++
++MODULE_ID("$Id: obsolete.c,v 1.1 2013/01/26 22:07:51 tom Exp $")
++
++/*
++ * Obsolete entrypoint retained for binary compatbility.
++ */
++NCURSES_EXPORT(void)
++NCURSES_SP_NAME(_nc_set_buffer) (NCURSES_SP_DCLx FILE *ofp, int buffered)
++{
++#if NCURSES_SP_FUNCS
++ (void) SP_PARM;
++#endif
++ (void) ofp;
++ (void) buffered;
++}
++
++#if NCURSES_SP_FUNCS
++NCURSES_EXPORT(void)
++_nc_set_buffer(FILE *ofp, int buffered)
++{
++ NCURSES_SP_NAME(_nc_set_buffer) (CURRENT_SCREEN, ofp, buffered);
++}
++#endif
++
++#if !HAVE_STRDUP
++NCURSES_EXPORT(char *)
++_nc_strdup(const char *s)
++{
++ char *result = 0;
++ if (s != 0) {
++ size_t need = strlen(s);
++ result = malloc(need + 1);
++ if (result != 0) {
++ strcpy(result, s);
++ }
++ }
++ return result;
++}
++#endif
++
++#if USE_MY_MEMMOVE
++#define DST ((char *)s1)
++#define SRC ((const char *)s2)
++NCURSES_EXPORT(void *)
++_nc_memmove(void *s1, const void *s2, size_t n)
++{
++ if (n != 0) {
++ if ((DST + n > SRC) && (SRC + n > DST)) {
++ static char *bfr;
++ static size_t length;
++ register size_t j;
++ if (length < n) {
++ length = (n * 3) / 2;
++ bfr = typeRealloc(char, length, bfr);
++ }
++ for (j = 0; j < n; j++)
++ bfr[j] = SRC[j];
++ s2 = bfr;
++ }
++ while (n-- != 0)
++ DST[n] = SRC[n];
++ }
++ return s1;
++}
++#endif /* USE_MY_MEMMOVE */
+Index: ncurses/tinfo/parse_entry.c
+Prereq: 1.75
+--- ncurses-5.9/ncurses/tinfo/parse_entry.c 2010-05-01 19:35:09.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/parse_entry.c 2012-10-27 21:43:45.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -47,7 +47,7 @@
+ #include <ctype.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: parse_entry.c,v 1.75 2010/05/01 19:35:09 tom Exp $")
++MODULE_ID("$Id: parse_entry.c,v 1.79 2012/10/27 21:43:45 tom Exp $")
+
+ #ifdef LINT
+ static short const parametrized[] =
+@@ -145,27 +145,27 @@
+ case BOOLEAN:
+ tp->ext_Booleans++;
+ tp->num_Booleans++;
+- tp->Booleans = typeRealloc(NCURSES_SBOOL, tp->num_Booleans, tp->Booleans);
++ TYPE_REALLOC(NCURSES_SBOOL, tp->num_Booleans, tp->Booleans);
+ for_each_value(tp->num_Booleans)
+ tp->Booleans[last] = tp->Booleans[last - 1];
+ break;
+ case NUMBER:
+ tp->ext_Numbers++;
+ tp->num_Numbers++;
+- tp->Numbers = typeRealloc(short, tp->num_Numbers, tp->Numbers);
++ TYPE_REALLOC(short, tp->num_Numbers, tp->Numbers);
+ for_each_value(tp->num_Numbers)
+ tp->Numbers[last] = tp->Numbers[last - 1];
+ break;
+ case STRING:
+ tp->ext_Strings++;
+ tp->num_Strings++;
+- tp->Strings = typeRealloc(char *, tp->num_Strings, tp->Strings);
++ TYPE_REALLOC(char *, tp->num_Strings, tp->Strings);
+ for_each_value(tp->num_Strings)
+ tp->Strings[last] = tp->Strings[last - 1];
+ break;
+ }
+ actual = NUM_EXT_NAMES(tp);
+- tp->ext_Names = typeRealloc(char *, actual, tp->ext_Names);
++ TYPE_REALLOC(char *, actual, tp->ext_Names);
+ while (--actual > offset)
+ tp->ext_Names[actual] = tp->ext_Names[actual - 1];
+ tp->ext_Names[offset] = _nc_save_str(name);
+@@ -203,6 +203,8 @@
+ { bad_tc_usage = TRUE; \
+ _nc_warning("Legacy termcap allows only a trailing tc= clause"); }
+
++#define MAX_NUMBER 0x7fff /* positive shorts only */
++
+ NCURSES_EXPORT(int)
+ _nc_parse_entry(struct entry *entryp, int literal, bool silent)
+ {
+@@ -444,8 +446,12 @@
+ break;
+
+ case NUMBER:
+- entryp->tterm.Numbers[entry_ptr->nte_index] =
+- (short) _nc_curr_token.tk_valnumber;
++ if (_nc_curr_token.tk_valnumber > MAX_NUMBER) {
++ entryp->tterm.Numbers[entry_ptr->nte_index] = MAX_NUMBER;
++ } else {
++ entryp->tterm.Numbers[entry_ptr->nte_index] =
++ (short) _nc_curr_token.tk_valnumber;
++ }
+ break;
+
+ case STRING:
+@@ -654,14 +660,16 @@
+
+ if (WANTED(carriage_return)) {
+ if (carriage_return_delay > 0) {
+- sprintf(buf, "%s$<%d>", C_CR, carriage_return_delay);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf))
++ "%s$<%d>", C_CR, carriage_return_delay);
+ carriage_return = _nc_save_str(buf);
+ } else
+ carriage_return = _nc_save_str(C_CR);
+ }
+ if (WANTED(cursor_left)) {
+ if (backspace_delay > 0) {
+- sprintf(buf, "%s$<%d>", C_BS, backspace_delay);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf))
++ "%s$<%d>", C_BS, backspace_delay);
+ cursor_left = _nc_save_str(buf);
+ } else if (backspaces_with_bs == 1)
+ cursor_left = _nc_save_str(C_BS);
+@@ -674,7 +682,8 @@
+ cursor_down = linefeed_if_not_lf;
+ else if (linefeed_is_newline != 1) {
+ if (new_line_delay > 0) {
+- sprintf(buf, "%s$<%d>", C_LF, new_line_delay);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf))
++ "%s$<%d>", C_LF, new_line_delay);
+ cursor_down = _nc_save_str(buf);
+ } else
+ cursor_down = _nc_save_str(C_LF);
+@@ -685,7 +694,8 @@
+ cursor_down = linefeed_if_not_lf;
+ else if (linefeed_is_newline != 1) {
+ if (new_line_delay > 0) {
+- sprintf(buf, "%s$<%d>", C_LF, new_line_delay);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf))
++ "%s$<%d>", C_LF, new_line_delay);
+ scroll_forward = _nc_save_str(buf);
+ } else
+ scroll_forward = _nc_save_str(C_LF);
+@@ -694,7 +704,8 @@
+ if (WANTED(newline)) {
+ if (linefeed_is_newline == 1) {
+ if (new_line_delay > 0) {
+- sprintf(buf, "%s$<%d>", C_LF, new_line_delay);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf))
++ "%s$<%d>", C_LF, new_line_delay);
+ newline = _nc_save_str(buf);
+ } else
+ newline = _nc_save_str(C_LF);
+@@ -736,7 +747,8 @@
+ */
+ if (WANTED(tab)) {
+ if (horizontal_tab_delay > 0) {
+- sprintf(buf, "%s$<%d>", C_HT, horizontal_tab_delay);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf))
++ "%s$<%d>", C_HT, horizontal_tab_delay);
+ tab = _nc_save_str(buf);
+ } else
+ tab = _nc_save_str(C_HT);
+Index: ncurses/tinfo/read_entry.c
+Prereq: 1.108
+--- ncurses-5.9/ncurses/tinfo/read_entry.c 2011-02-26 15:36:06.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/read_entry.c 2013-05-04 22:53:42.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -41,7 +41,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: read_entry.c,v 1.108 2011/02/26 15:36:06 tom Exp $")
++MODULE_ID("$Id: read_entry.c,v 1.122 2013/05/04 22:53:42 tom Exp $")
+
+ #define TYPE_CALLOC(type,elts) typeCalloc(type, (unsigned)(elts))
+
+@@ -99,7 +99,7 @@
+ if (have > 0) {
+ if ((int) want > have)
+ want = (unsigned) have;
+- memcpy(dst, src + *offset, want);
++ memcpy(dst, src + *offset, (size_t) want);
+ *offset += (int) want;
+ } else {
+ want = 0;
+@@ -107,22 +107,24 @@
+ return (int) want;
+ }
+
+-#define Read(buf, count) fake_read(buffer, &offset, limit, buf, count)
++#define Read(buf, count) fake_read(buffer, &offset, limit, buf, (unsigned) count)
+
+ #define read_shorts(buf, count) \
+- (Read(buf, (unsigned) (count)*2) == (int) (count)*2)
++ (Read(buf, (count)*2) == (int) (count)*2)
+
+ #define even_boundary(value) \
+ if ((value) % 2 != 0) Read(buf, 1)
+
++/*
++ * Return TGETENT_YES if read, TGETENT_NO if not found or garbled.
++ */
+ NCURSES_EXPORT(int)
+ _nc_read_termtype(TERMTYPE *ptr, char *buffer, int limit)
+-/* return 1 if read, 0 if not found or garbled */
+ {
+ int offset = 0;
+ int name_size, bool_count, num_count, str_count, str_size;
+ int i;
+- char buf[MAX_ENTRY_SIZE + 1];
++ char buf[MAX_ENTRY_SIZE + 2];
+ char *string_table;
+ unsigned want, have;
+
+@@ -157,7 +159,7 @@
+ want = (unsigned) (str_size + name_size + 1);
+ if (str_size) {
+ /* try to allocate space for the string table */
+- if (str_count * 2 >= (int) sizeof(buf)
++ if (str_count * 2 >= MAX_ENTRY_SIZE
+ || (string_table = typeMalloc(char, want)) == 0) {
+ return (TGETENT_NO);
+ }
+@@ -173,7 +175,7 @@
+ ptr->str_table = string_table;
+ ptr->term_names = string_table;
+ if ((have = (unsigned) Read(ptr->term_names, want)) != want) {
+- memset(ptr->term_names + have, 0, want - have);
++ memset(ptr->term_names + have, 0, (size_t) (want - have));
+ }
+ ptr->term_names[want] = '\0';
+ string_table += (want + 1);
+@@ -236,9 +238,9 @@
+ unsigned need = (unsigned) (ext_bool_count + ext_num_count + ext_str_count);
+ int base = 0;
+
+- if (need >= sizeof(buf)
+- || ext_str_size >= (int) sizeof(buf)
+- || ext_str_limit >= (int) sizeof(buf)
++ if (need >= (MAX_ENTRY_SIZE / 2)
++ || ext_str_size >= MAX_ENTRY_SIZE
++ || ext_str_limit >= MAX_ENTRY_SIZE
+ || ext_bool_count < 0
+ || ext_num_count < 0
+ || ext_str_count < 0
+@@ -250,9 +252,9 @@
+ ptr->num_Numbers = UShort(NUMCOUNT + ext_num_count);
+ ptr->num_Strings = UShort(STRCOUNT + ext_str_count);
+
+- ptr->Booleans = typeRealloc(NCURSES_SBOOL, ptr->num_Booleans, ptr->Booleans);
+- ptr->Numbers = typeRealloc(short, ptr->num_Numbers, ptr->Numbers);
+- ptr->Strings = typeRealloc(char *, ptr->num_Strings, ptr->Strings);
++ TYPE_REALLOC(NCURSES_SBOOL, ptr->num_Booleans, ptr->Booleans);
++ TYPE_REALLOC(short, ptr->num_Numbers, ptr->Numbers);
++ TYPE_REALLOC(char *, ptr->num_Strings, ptr->Strings);
+
+ TR(TRACE_DATABASE, ("extended header is %d/%d/%d(%d:%d)",
+ ext_bool_count, ext_num_count, ext_str_count,
+@@ -277,6 +279,8 @@
+ }
+
+ TR(TRACE_DATABASE, ("READ extended-offsets @%d", offset));
++ if ((unsigned) (ext_str_count + (int) need) >= (MAX_ENTRY_SIZE / 2))
++ return (TGETENT_NO);
+ if ((ext_str_count || need)
+ && !read_shorts(buf, ext_str_count + (int) need))
+ return (TGETENT_NO);
+@@ -313,7 +317,7 @@
+ }
+
+ if (need) {
+- if (ext_str_count >= (MAX_ENTRY_SIZE * 2))
++ if (ext_str_count >= (MAX_ENTRY_SIZE / 2))
+ return (TGETENT_NO);
+ if ((ptr->ext_Names = TYPE_CALLOC(char *, need)) == 0)
+ return (TGETENT_NO);
+@@ -326,17 +330,18 @@
+ ext_str_limit, ptr->ext_str_table + base);
+ }
+
+- T(("...done reading terminfo bool %d(%d) num %d(%d) str %d(%d)",
+- ptr->num_Booleans, ptr->ext_Booleans,
+- ptr->num_Numbers, ptr->ext_Numbers,
+- ptr->num_Strings, ptr->ext_Strings));
++ TR(TRACE_DATABASE,
++ ("...done reading terminfo bool %d(%d) num %d(%d) str %d(%d)",
++ ptr->num_Booleans, ptr->ext_Booleans,
++ ptr->num_Numbers, ptr->ext_Numbers,
++ ptr->num_Strings, ptr->ext_Strings));
+
+ TR(TRACE_DATABASE, ("extend: num_Booleans:%d", ptr->num_Booleans));
+ } else
+ #endif /* NCURSES_XNAMES */
+ {
+- T(("...done reading terminfo bool %d num %d str %d",
+- bool_count, num_count, str_count));
++ TR(TRACE_DATABASE, ("...done reading terminfo bool %d num %d str %d",
++ bool_count, num_count, str_count));
+ #if NCURSES_XNAMES
+ TR(TRACE_DATABASE, ("normal: num_Booleans:%d", ptr->num_Booleans));
+ #endif
+@@ -371,13 +376,13 @@
+
+ if (_nc_access(filename, R_OK) < 0
+ || (fp = fopen(filename, "rb")) == 0) {
+- T(("cannot open terminfo %s (errno=%d)", filename, errno));
++ TR(TRACE_DATABASE, ("cannot open terminfo %s (errno=%d)", filename, errno));
+ code = TGETENT_NO;
+ } else {
+ if ((limit = (int) fread(buffer, sizeof(char), sizeof(buffer), fp))
+ > 0) {
+
+- T(("read terminfo %s", filename));
++ TR(TRACE_DATABASE, ("read terminfo %s", filename));
+ if ((code = _nc_read_termtype(ptr, buffer, limit)) == TGETENT_NO) {
+ _nc_free_termtype(ptr);
+ }
+@@ -390,6 +395,58 @@
+ return (code);
+ }
+
++#if USE_HASHED_DB
++/*
++ * Return if if we can build the filename of a ".db" file.
++ */
++static bool
++make_db_filename(char *filename, unsigned limit, const char *const path)
++{
++ static const char suffix[] = DBM_SUFFIX;
++
++ unsigned lens = sizeof(suffix) - 1;
++ unsigned size = strlen(path);
++ unsigned test = lens + size;
++ bool result = FALSE;
++
++ if (test < limit) {
++ if (size >= lens
++ && !strcmp(path + size - lens, suffix))
++ _nc_STRCPY(filename, path, limit);
++ else
++ _nc_SPRINTF(filename, _nc_SLIMIT(limit) "%s%s", path, suffix);
++ result = TRUE;
++ }
++ return result;
++}
++#endif
++
++/*
++ * Return true if we can build the name of a filesystem entry.
++ */
++static bool
++make_dir_filename(char *filename,
++ unsigned limit,
++ const char *const path,
++ const char *name)
++{
++ bool result = FALSE;
++
++#if USE_TERMCAP
++ if (_nc_is_dir_path(path))
++#endif
++ {
++ unsigned need = (unsigned) (LEAF_LEN + 3 + strlen(path) + strlen(name));
++
++ if (need <= limit) {
++ _nc_SPRINTF(filename, _nc_SLIMIT(limit)
++ "%s/" LEAF_FMT "/%s", path, *name, name);
++ result = TRUE;
++ }
++ }
++ return result;
++}
++
+ /*
+ * Build a terminfo pathname and try to read the data. Returns TGETENT_YES on
+ * success, TGETENT_NO on failure.
+@@ -401,101 +458,80 @@
+ const char *name,
+ TERMTYPE *const tp)
+ {
+- int result = TGETENT_NO;
+-
+- /*
+- * If we are looking in a directory, assume the entry is a file under that,
+- * according to the normal rules.
+- */
+- unsigned need = (unsigned) (LEAF_LEN + 3 + strlen(path) + strlen(name));
+- if (need <= limit)
+- (void) sprintf(filename, "%s/" LEAF_FMT "/%s", path, *name, name);
++ int code = TGETENT_NO;
+
+- if (_nc_is_dir_path(path))
+- result = _nc_read_file_entry(filename, tp);
+ #if USE_HASHED_DB
+- else {
+- static const char suffix[] = DBM_SUFFIX;
+- DB *capdbp;
+- unsigned lens = sizeof(suffix) - 1;
+- unsigned size = strlen(path);
+- unsigned test = lens + size;
+-
+- if (test < limit) {
+- if (size >= lens
+- && !strcmp(path + size - lens, suffix))
+- (void) strcpy(filename, path);
+- else
+- (void) sprintf(filename, "%s%s", path, suffix);
++ DB *capdbp;
+
+- /*
+- * It would be nice to optimize the dbopen/close activity, as
+- * done in the cgetent implementation for tc= clauses. However,
+- * since we support multiple database locations, we cannot do
+- * that.
+- */
+- if ((capdbp = _nc_db_open(filename, FALSE)) != 0) {
+- DBT key, data;
+- int reccnt = 0;
+- char *save = strdup(name);
+-
+- memset(&key, 0, sizeof(key));
+- key.data = save;
+- key.size = strlen(save);
+-
+- /*
+- * This lookup could return termcap data, which we do not want.
+- * We are looking for compiled (binary) terminfo data.
+- *
+- * cgetent uses a two-level lookup. On the first it uses the
+- * given name to return a record containing only the aliases
+- * for an entry. On the second (using that list of aliases as
+- * a key), it returns the content of the terminal description.
+- * We expect second lookup to return data beginning with the
+- * same set of aliases.
+- *
+- * For compiled terminfo, the list of aliases in the second
+- * case will be null-terminated. A termcap entry will not be,
+- * and will run on into the description. So we can easily
+- * distinguish between the two (source/binary) by checking the
+- * lengths.
+- */
+- while (_nc_db_get(capdbp, &key, &data) == 0) {
+- int used = data.size - 1;
+- char *have = (char *) data.data;
+-
+- if (*have++ == 0) {
+- if (data.size > key.size
+- && IS_TIC_MAGIC(have)) {
+- result = _nc_read_termtype(tp, have, used);
+- if (result == TGETENT_NO) {
+- _nc_free_termtype(tp);
+- }
+- }
+- break;
+- }
++ if (make_db_filename(filename, limit, path)
++ && (capdbp = _nc_db_open(filename, FALSE)) != 0) {
+
+- /*
+- * Just in case we have a corrupt database, do not waste
+- * time with it.
+- */
+- if (++reccnt >= 3)
+- break;
+-
+- /*
+- * Prepare for the second level.
+- */
+- key.data = have;
+- key.size = used;
++ DBT key, data;
++ int reccnt = 0;
++ char *save = strdup(name);
++
++ memset(&key, 0, sizeof(key));
++ key.data = save;
++ key.size = strlen(save);
++
++ /*
++ * This lookup could return termcap data, which we do not want. We are
++ * looking for compiled (binary) terminfo data.
++ *
++ * cgetent uses a two-level lookup. On the first it uses the given
++ * name to return a record containing only the aliases for an entry.
++ * On the second (using that list of aliases as a key), it returns the
++ * content of the terminal description. We expect second lookup to
++ * return data beginning with the same set of aliases.
++ *
++ * For compiled terminfo, the list of aliases in the second case will
++ * be null-terminated. A termcap entry will not be, and will run on
++ * into the description. So we can easily distinguish between the two
++ * (source/binary) by checking the lengths.
++ */
++ while (_nc_db_get(capdbp, &key, &data) == 0) {
++ int used = data.size - 1;
++ char *have = (char *) data.data;
++
++ if (*have++ == 0) {
++ if (data.size > key.size
++ && IS_TIC_MAGIC(have)) {
++ code = _nc_read_termtype(tp, have, used);
++ if (code == TGETENT_NO) {
++ _nc_free_termtype(tp);
++ }
+ }
+-
+- _nc_db_close(capdbp);
+- free(save);
++ break;
+ }
++
++ /*
++ * Just in case we have a corrupt database, do not waste time with
++ * it.
++ */
++ if (++reccnt >= 3)
++ break;
++
++ /*
++ * Prepare for the second level.
++ */
++ key.data = have;
++ key.size = used;
+ }
++
++ free(save);
++ } else /* may be either filesystem or flat file */
++#endif
++ if (make_dir_filename(filename, limit, path, name)) {
++ code = _nc_read_file_entry(filename, tp);
++ }
++#if USE_TERMCAP
++ else if (code != TGETENT_YES) {
++ code = _nc_read_termcap_entry(name, tp);
++ _nc_SPRINTF(filename, _nc_SLIMIT(PATH_MAX)
++ "%.*s", PATH_MAX - 1, _nc_get_source());
+ }
+ #endif
+- return result;
++ return code;
+ }
+ #endif /* USE_DATABASE */
+
+@@ -513,31 +549,35 @@
+ {
+ int code = TGETENT_NO;
+
+- sprintf(filename, "%.*s", PATH_MAX - 1, name);
++ _nc_SPRINTF(filename, _nc_SLIMIT(PATH_MAX)
++ "%.*s", PATH_MAX - 1, name);
++
+ if (strlen(name) == 0
+ || strcmp(name, ".") == 0
+ || strcmp(name, "..") == 0
+ || _nc_pathlast(name) != 0
+ || strchr(name, NCURSES_PATHSEP) != 0) {
+- T(("illegal or missing entry name '%s'", name));
++ TR(TRACE_DATABASE, ("illegal or missing entry name '%s'", name));
+ } else {
+ #if USE_DATABASE
+- DBDIRS state = dbdTIC;
+- int offset = 0;
++ DBDIRS state;
++ int offset;
+ const char *path;
+
++ _nc_first_db(&state, &offset);
+ while ((path = _nc_next_db(&state, &offset)) != 0) {
++ TR(TRACE_DATABASE, ("_nc_read_tic_entry path=%s, name=%s", path, name));
+ code = _nc_read_tic_entry(filename, PATH_MAX, path, name, tp);
+ if (code == TGETENT_YES) {
+ _nc_last_db();
+ break;
+ }
+ }
+-#endif
+-#if USE_TERMCAP
++#elif USE_TERMCAP
+ if (code != TGETENT_YES) {
+ code = _nc_read_termcap_entry(name, tp);
+- sprintf(filename, "%.*s", PATH_MAX - 1, _nc_get_source());
++ _nc_SPRINTF(filename, _nc_SLIMIT(PATH_MAX)
++ "%.*s", PATH_MAX - 1, _nc_get_source());
+ }
+ #endif
+ }
+Index: ncurses/tinfo/read_termcap.c
+Prereq: 1.74
+--- ncurses-5.9/ncurses/tinfo/read_termcap.c 2010-01-23 17:57:43.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/read_termcap.c 2012-05-05 19:40:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -54,10 +54,9 @@
+
+ #include <ctype.h>
+ #include <sys/types.h>
+-#include <sys/stat.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: read_termcap.c,v 1.74 2010/01/23 17:57:43 tom Exp $")
++MODULE_ID("$Id: read_termcap.c,v 1.87 2012/05/05 19:40:50 tom Exp $")
+
+ #if !PURE_TERMINFO
+
+@@ -74,7 +73,7 @@
+
+ if (!use_terminfo_vars() || (result = getenv("TERMPATH")) == 0)
+ result = TERMPATH;
+- T(("TERMPATH is %s", result));
++ TR(TRACE_DATABASE, ("TERMPATH is %s", result));
+ return result;
+ }
+
+@@ -162,7 +161,7 @@
+ return (-1);
+ }
+ gottoprec = 0;
+- (void) strcpy(toprec, ent);
++ _nc_STRCPY(toprec, ent, topreclen);
+ return (0);
+ }
+
+@@ -295,7 +294,7 @@
+ errno = ENOMEM;
+ return (TC_SYS_ERR);
+ }
+- (void) strcpy(record, toprec);
++ _nc_STRCPY(record, toprec, topreclen + BFRAG);
+ rp = record + topreclen + 1;
+ r_end = rp + BFRAG;
+ current = in_array;
+@@ -384,7 +383,14 @@
+ c = *bp++;
+ if (c == '\n') {
+ lineno++;
+- if (rp == record || *(rp - 1) != '\\')
++ /*
++ * Unlike BSD 4.3, this ignores a backslash at the
++ * end of a comment-line. That makes it consistent
++ * with the rest of ncurses -TD
++ */
++ if (rp == record
++ || *record == '#'
++ || *(rp - 1) != '\\')
+ break;
+ }
+ *rp++ = c;
+@@ -442,8 +448,10 @@
+ break;
+ }
+
+- if (!foundit)
++ if (!foundit) {
++ free(record);
+ return (TC_NOT_FOUND);
++ }
+ }
+
+ /*
+@@ -455,7 +463,7 @@
+ register int newilen;
+ unsigned ilen;
+ int diff, iret, tclen, oline;
+- char *icap, *scan, *tc, *tcstart, *tcend;
++ char *icap = 0, *scan, *tc, *tcstart, *tcend;
+
+ /*
+ * Loop invariants:
+@@ -468,8 +476,9 @@
+ scan = record;
+ tc_not_resolved = FALSE;
+ for (;;) {
+- if ((tc = _nc_cgetcap(scan, "tc", '=')) == 0)
++ if ((tc = _nc_cgetcap(scan, "tc", '=')) == 0) {
+ break;
++ }
+
+ /*
+ * Find end of tc=name and stomp on the trailing `:'
+@@ -486,6 +495,7 @@
+ tclen = s - tcstart;
+ tcend = s;
+
++ icap = 0;
+ iret = _nc_getent(&icap, &ilen, &oline, current, db_array, fd,
+ tc, depth + 1, 0);
+ newicap = icap; /* Put into a register. */
+@@ -496,12 +506,13 @@
+ if (myfd)
+ (void) close(fd);
+ free(record);
++ FreeIfNeeded(icap);
+ return (iret);
+ }
+- if (iret == TC_UNRESOLVED)
++ if (iret == TC_UNRESOLVED) {
+ tc_not_resolved = TRUE;
+- /* couldn't resolve tc */
+- if (iret == TC_NOT_FOUND) {
++ /* couldn't resolve tc */
++ } else if (iret == TC_NOT_FOUND) {
+ *(s - 1) = ':';
+ scan = s - 1;
+ tc_not_resolved = TRUE;
+@@ -581,8 +592,9 @@
+ }
+
+ *cap = record;
+- if (tc_not_resolved)
++ if (tc_not_resolved) {
+ return (TC_UNRESOLVED);
++ }
+ return (current);
+ }
+
+@@ -697,8 +709,6 @@
+ #define PVECSIZ 32 /* max number of names in path */
+ #define TBUFSIZ (2048*2)
+
+-static char *tbuf;
+-
+ /*
+ * On entry, srcp points to a non ':' character which is the beginning of the
+ * token, if any. We'll try to return a string that doesn't end with a ':'.
+@@ -776,18 +786,18 @@
+ register char *p;
+ register char *cp;
+ char *dummy = NULL;
+- char **fname;
++ CGETENT_CONST char **fname;
+ char *home;
+ int i;
+ char pathbuf[PBUFSIZ]; /* holds raw path of filenames */
+- char *pathvec[PVECSIZ]; /* to point to names in pathbuf */
+- char **pvec; /* holds usable tail of path vector */
++ CGETENT_CONST char *pathvec[PVECSIZ]; /* point to names in pathbuf */
++ CGETENT_CONST char **pvec; /* holds usable tail of path vector */
+ NCURSES_CONST char *termpath;
+ string_desc desc;
+
++ *lineno = 1;
+ fname = pathvec;
+ pvec = pathvec;
+- tbuf = bp;
+ p = pathbuf;
+ cp = use_terminfo_vars()? getenv("TERMCAP") : NULL;
+
+@@ -812,10 +822,11 @@
+ if ((home = getenv("HOME")) != 0 && *home != '\0'
+ && strchr(home, ' ') == 0
+ && strlen(home) < sizeof(temp) - 10) { /* setup path */
+- sprintf(temp, "%s/", home); /* $HOME first */
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp))
++ "%s/", home); /* $HOME first */
+ }
+ /* if no $HOME look in current directory */
+- strcat(temp, ".termcap");
++ _nc_STRCAT(temp, ".termcap", sizeof(temp));
+ _nc_safe_strcat(&desc, temp);
+ _nc_safe_strcat(&desc, " ");
+ _nc_safe_strcat(&desc, get_termpath());
+@@ -841,6 +852,9 @@
+ }
+ }
+ *fname = 0; /* mark end of vector */
++#if !HAVE_BSD_CGETENT
++ (void) _nc_cgetset(0);
++#endif
+ if (_nc_is_abs_path(cp)) {
+ if (_nc_cgetset(cp) < 0) {
+ return (TC_SYS_ERR);
+@@ -853,6 +867,7 @@
+ * empty fields, and mistakenly use the last valid cap entry instead of
+ * the first (breaks tc= includes)
+ */
++ *bp = '\0';
+ if (i >= 0) {
+ char *pd, *ps, *tok;
+ int endflag = FALSE;
+@@ -932,7 +947,7 @@
+ if (count < MAXPATHS
+ && _nc_access(path, R_OK) == 0) {
+ termpaths[count++] = path;
+- T(("Adding termpath %s", path));
++ TR(TRACE_DATABASE, ("Adding termpath %s", path));
+ }
+ termpaths[count] = 0;
+ if (save != 0)
+@@ -956,13 +971,13 @@
+ static char *source;
+ static int lineno;
+
+- T(("read termcap entry for %s", tn));
++ TR(TRACE_DATABASE, ("read termcap entry for %s", tn));
+
+ if (strlen(tn) == 0
+ || strcmp(tn, ".") == 0
+ || strcmp(tn, "..") == 0
+ || _nc_pathlast(tn) != 0) {
+- T(("illegal or missing entry name '%s'", tn));
++ TR(TRACE_DATABASE, ("illegal or missing entry name '%s'", tn));
+ return TGETENT_NO;
+ }
+
+@@ -980,7 +995,7 @@
+ _nc_curr_line = lineno;
+ _nc_set_source(source);
+ }
+- _nc_read_entry_source((FILE *) 0, tc, FALSE, FALSE, NULLHOOK);
++ _nc_read_entry_source((FILE *) 0, tc, FALSE, TRUE, NULLHOOK);
+ #else
+ /*
+ * Here is what the 4.4BSD termcap(3) page prescribes:
+@@ -1027,7 +1042,9 @@
+ normal = FALSE;
+ } else if (_nc_name_match(tc, tn, "|:")) { /* treat as a capability file */
+ use_buffer = TRUE;
+- (void) sprintf(tc_buf, "%.*s\n", (int) sizeof(tc_buf) - 2, tc);
++ _nc_SPRINTF(tc_buf,
++ _nc_SLIMIT(sizeof(tc_buf))
++ "%.*s\n", (int) sizeof(tc_buf) - 2, tc);
+ normal = FALSE;
+ }
+ }
+@@ -1049,8 +1066,9 @@
+ if (use_terminfo_vars() && (h = getenv("HOME")) != NULL && *h != '\0'
+ && (strlen(h) + sizeof(PRIVATE_CAP)) < PATH_MAX) {
+ /* user's .termcap, if any, should override it */
+- (void) strcpy(envhome, h);
+- (void) sprintf(pathbuf, PRIVATE_CAP, envhome);
++ _nc_STRCPY(envhome, h, sizeof(envhome));
++ _nc_SPRINTF(pathbuf, _nc_SLIMIT(sizeof(pathbuf))
++ PRIVATE_CAP, envhome);
+ ADD_TC(pathbuf, filecount);
+ }
+ }
+@@ -1063,7 +1081,7 @@
+ for (j = 0; j < filecount; j++) {
+ bool omit = FALSE;
+ if (stat(termpaths[j], &test_stat[j]) != 0
+- || (test_stat[j].st_mode & S_IFMT) != S_IFREG) {
++ || !S_ISREG(test_stat[j].st_mode)) {
+ omit = TRUE;
+ } else {
+ for (k = 0; k < j; k++) {
+@@ -1075,7 +1093,7 @@
+ }
+ }
+ if (omit) {
+- T(("Path %s is a duplicate", termpaths[j]));
++ TR(TRACE_DATABASE, ("Path %s is a duplicate", termpaths[j]));
+ for (k = j + 1; k < filecount; k++) {
+ termpaths[k - 1] = termpaths[k];
+ test_stat[k - 1] = test_stat[k];
+@@ -1100,7 +1118,7 @@
+
+ for (i = 0; i < filecount; i++) {
+
+- T(("Looking for %s in %s", tn, termpaths[i]));
++ TR(TRACE_DATABASE, ("Looking for %s in %s", tn, termpaths[i]));
+ if (_nc_access(termpaths[i], R_OK) == 0
+ && (fp = fopen(termpaths[i], "r")) != (FILE *) 0) {
+ _nc_set_source(termpaths[i]);
+@@ -1138,8 +1156,7 @@
+ * from the list.
+ */
+ *tp = ep->tterm;
+- _nc_delink_entry(_nc_head, &(ep->tterm));
+- free(ep);
++ _nc_free_entry(_nc_head, &(ep->tterm));
+
+ /*
+ * OK, now try to write the type to user's terminfo directory.
+Index: ncurses/tinfo/strings.c
+Prereq: 1.6
+--- ncurses-5.9/ncurses/tinfo/strings.c 2007-08-11 17:12:17.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/strings.c 2012-02-22 22:34:31.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2000-2003,2007 Free Software Foundation, Inc. *
++ * Copyright (c) 2000-2007,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,7 +36,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: strings.c,v 1.6 2007/08/11 17:12:17 tom Exp $")
++MODULE_ID("$Id: strings.c,v 1.8 2012/02/22 22:34:31 tom Exp $")
+
+ /****************************************************************************
+ * Useful string functions (especially for mvcur)
+@@ -110,7 +110,7 @@
+
+ if (len < dst->s_size) {
+ if (dst->s_tail != 0) {
+- strcpy(dst->s_tail, src);
++ _nc_STRCPY(dst->s_tail, src, dst->s_size);
+ dst->s_tail += len;
+ }
+ dst->s_size -= len;
+@@ -131,7 +131,7 @@
+
+ if (len < dst->s_size) {
+ if (dst->s_head != 0) {
+- strcpy(dst->s_head, src);
++ _nc_STRCPY(dst->s_head, src, dst->s_size);
+ dst->s_tail = dst->s_head + len;
+ }
+ dst->s_size = dst->s_init - len;
+Index: ncurses/tinfo/tinfo_driver.c
+Prereq: 1.13
+--- ncurses-5.9/ncurses/tinfo/tinfo_driver.c 2010-12-20 01:47:09.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/tinfo_driver.c 2013-01-12 22:01:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2008-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -50,7 +50,7 @@
+ # endif
+ #endif
+
+-MODULE_ID("$Id: tinfo_driver.c,v 1.13 2010/12/20 01:47:09 tom Exp $")
++MODULE_ID("$Id: tinfo_driver.c,v 1.29 2013/01/12 22:01:43 tom Exp $")
+
+ /*
+ * SCO defines TIOCGSIZE and the corresponding struct. Other systems (SunOS,
+@@ -93,7 +93,7 @@
+
+ #define TCBMAGIC NCDRV_MAGIC(NCDRV_TINFO)
+ #define AssertTCB() assert(TCB!=0 && TCB->magic==TCBMAGIC)
+-#define SetSP() assert(TCB->csp!=0); sp = TCB->csp
++#define SetSP() assert(TCB->csp!=0); sp = TCB->csp; (void) sp
+
+ /*
+ * This routine needs to do all the work to make curscr look
+@@ -106,22 +106,6 @@
+ return TINFO_DOUPDATE(TCB->csp);
+ }
+
+-#define ret_error(code, fmt, arg) if (errret) {\
+- *errret = code;\
+- return(FALSE); \
+- } else {\
+- fprintf(stderr, fmt, arg);\
+- exit(EXIT_FAILURE);\
+- }
+-
+-#define ret_error0(code, msg) if (errret) {\
+- *errret = code;\
+- return(FALSE);\
+- } else {\
+- fprintf(stderr, msg);\
+- exit(EXIT_FAILURE);\
+- }
+-
+ static bool
+ drv_CanHandle(TERMINAL_CONTROL_BLOCK * TCB, const char *tname, int *errret)
+ {
+@@ -156,12 +140,12 @@
+ if (status == TGETENT_ERR) {
+ ret_error0(status, "terminals database is inaccessible\n");
+ } else if (status == TGETENT_NO) {
+- ret_error(status, "'%s': unknown terminal type.\n", tname);
++ ret_error1(status, "unknown terminal type.\n", tname);
+ }
+ }
+ result = TRUE;
+ #if !USE_REENTRANT
+- strncpy(ttytype, termp->type.term_names, NAMESIZE - 1);
++ strncpy(ttytype, termp->type.term_names, (size_t) NAMESIZE - 1);
+ ttytype[NAMESIZE - 1] = '\0';
+ #endif
+
+@@ -169,17 +153,27 @@
+ _nc_tinfo_cmdch(termp, *command_character);
+
+ if (generic_type) {
+- ret_error(TGETENT_NO, "'%s': I need something more specific.\n", tname);
++ /*
++ * BSD 4.3's termcap contains mis-typed "gn" for wy99. Do a sanity
++ * check before giving up.
++ */
++ if ((VALID_STRING(cursor_address)
++ || (VALID_STRING(cursor_down) && VALID_STRING(cursor_home)))
++ && VALID_STRING(clear_screen)) {
++ ret_error1(TGETENT_YES, "terminal is not really generic.\n", tname);
++ } else {
++ ret_error1(TGETENT_NO, "I need something more specific.\n", tname);
++ }
+ }
+ if (hard_copy) {
+- ret_error(TGETENT_YES, "'%s': I can't handle hardcopy terminals.\n", tname);
++ ret_error1(TGETENT_YES, "I can't handle hardcopy terminals.\n", tname);
+ }
+
+ return result;
+ }
+
+ static int
+-drv_dobeepflash(TERMINAL_CONTROL_BLOCK * TCB, bool beepFlag)
++drv_dobeepflash(TERMINAL_CONTROL_BLOCK * TCB, int beepFlag)
+ {
+ SCREEN *sp;
+ int res = ERR;
+@@ -190,22 +184,18 @@
+ /* FIXME: should make sure that we are not in altchar mode */
+ if (beepFlag) {
+ if (bell) {
+- res = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "bell", bell);
++ res = NCURSES_PUTP2("bell", bell);
+ NCURSES_SP_NAME(_nc_flush) (sp);
+ } else if (flash_screen) {
+- res = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "flash_screen",
+- flash_screen);
++ res = NCURSES_PUTP2("flash_screen", flash_screen);
+ NCURSES_SP_NAME(_nc_flush) (sp);
+ }
+ } else {
+ if (flash_screen) {
+- res = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "flash_screen",
+- flash_screen);
++ res = NCURSES_PUTP2("flash_screen", flash_screen);
+ NCURSES_SP_NAME(_nc_flush) (sp);
+ } else if (bell) {
+- res = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "bell", bell);
++ res = NCURSES_PUTP2("bell", bell);
+ NCURSES_SP_NAME(_nc_flush) (sp);
+ }
+ }
+@@ -277,7 +267,7 @@
+
+ static void
+ drv_setcolor(TERMINAL_CONTROL_BLOCK * TCB,
+- bool fore,
++ int fore,
+ int color,
+ NCURSES_SP_OUTC outc)
+ {
+@@ -321,7 +311,7 @@
+ SetSP();
+
+ if (orig_pair != 0) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "orig_pair", orig_pair);
++ NCURSES_PUTP2("orig_pair", orig_pair);
+ result = TRUE;
+ }
+ return result;
+@@ -337,7 +327,7 @@
+ SetSP();
+
+ if (orig_colors != 0) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "orig_colors", orig_colors);
++ NCURSES_PUTP2("orig_colors", orig_colors);
+ result = TRUE;
+ }
+ return result;
+@@ -348,14 +338,18 @@
+ {
+ SCREEN *sp;
+ bool useEnv = TRUE;
++ bool useTioctl = TRUE;
+
+ AssertTCB();
+ sp = TCB->csp; /* can be null here */
+
+ if (sp) {
+ useEnv = sp->_use_env;
+- } else
++ useTioctl = sp->_use_tioctl;
++ } else {
+ useEnv = _nc_prescreen.use_env;
++ useTioctl = _nc_prescreen.use_tioctl;
++ }
+
+ /* figure out the size of the screen */
+ T(("screen size: terminfo lines = %d columns = %d", lines, columns));
+@@ -363,7 +357,7 @@
+ *linep = (int) lines;
+ *colp = (int) columns;
+
+- if (useEnv) {
++ if (useEnv || useTioctl) {
+ int value;
+
+ #ifdef __EMX__
+@@ -371,7 +365,9 @@
+ int screendata[2];
+ _scrsize(screendata);
+ *colp = screendata[0];
+- *linep = screendata[1];
++ *linep = ((sp != 0 && sp->_filtered)
++ ? 1
++ : screendata[1]);
+ T(("EMX screen size: environment LINES = %d COLUMNS = %d",
+ *linep, *colp));
+ }
+@@ -400,19 +396,33 @@
+ }
+ #endif /* HAVE_SIZECHANGE */
+
+- /*
+- * Finally, look for environment variables.
+- *
+- * Solaris lets users override either dimension with an environment
+- * variable.
+- */
+- if ((value = _nc_getenv_num("LINES")) > 0) {
+- *linep = value;
+- T(("screen size: environment LINES = %d", *linep));
+- }
+- if ((value = _nc_getenv_num("COLUMNS")) > 0) {
+- *colp = value;
+- T(("screen size: environment COLUMNS = %d", *colp));
++ if (useEnv) {
++ if (useTioctl) {
++ /*
++ * If environment variables are used, update them.
++ */
++ if ((sp == 0 || !sp->_filtered) && _nc_getenv_num("LINES") > 0) {
++ _nc_setenv_num("LINES", *linep);
++ }
++ if (_nc_getenv_num("COLUMNS") > 0) {
++ _nc_setenv_num("COLUMNS", *colp);
++ }
++ }
++
++ /*
++ * Finally, look for environment variables.
++ *
++ * Solaris lets users override either dimension with an environment
++ * variable.
++ */
++ if ((value = _nc_getenv_num("LINES")) > 0) {
++ *linep = value;
++ T(("screen size: environment LINES = %d", *linep));
++ }
++ if ((value = _nc_getenv_num("COLUMNS")) > 0) {
++ *colp = value;
++ T(("screen size: environment COLUMNS = %d", *colp));
++ }
+ }
+
+ /* if we can't get dynamic info about the size, use static */
+@@ -463,7 +473,7 @@
+ }
+
+ static int
+-drv_sgmode(TERMINAL_CONTROL_BLOCK * TCB, bool setFlag, TTY * buf)
++drv_sgmode(TERMINAL_CONTROL_BLOCK * TCB, int setFlag, TTY * buf)
+ {
+ SCREEN *sp = TCB->csp;
+ TERMINAL *_term = (TERMINAL *) TCB;
+@@ -497,7 +507,7 @@
+ }
+
+ static int
+-drv_mode(TERMINAL_CONTROL_BLOCK * TCB, bool progFlag, bool defFlag)
++drv_mode(TERMINAL_CONTROL_BLOCK * TCB, int progFlag, int defFlag)
+ {
+ SCREEN *sp;
+ TERMINAL *_term = (TERMINAL *) TCB;
+@@ -620,15 +630,13 @@
+ static void
+ drv_init(TERMINAL_CONTROL_BLOCK * TCB)
+ {
+- SCREEN *sp;
+ TERMINAL *trm;
+
+ AssertTCB();
+
+ trm = (TERMINAL *) TCB;
+- sp = TCB->csp;
+
+- TCB->info.initcolor = initialize_color;
++ TCB->info.initcolor = VALID_STRING(initialize_color);
+ TCB->info.canchange = can_change;
+ TCB->info.hascolor = ((VALID_NUMERIC(max_colors) && VALID_NUMERIC(max_pairs)
+ && (((set_foreground != NULL)
+@@ -665,7 +673,7 @@
+ #define InPalette(n) ((n) >= 0 && (n) < MAX_PALETTE)
+
+ static void
+-drv_initpair(TERMINAL_CONTROL_BLOCK * TCB, short pair, short f, short b)
++drv_initpair(TERMINAL_CONTROL_BLOCK * TCB, int pair, int f, int b)
+ {
+ SCREEN *sp;
+
+@@ -681,12 +689,11 @@
+ tp[f].red, tp[f].green, tp[f].blue,
+ tp[b].red, tp[b].green, tp[b].blue));
+
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "initialize_pair",
+- TPARM_7(initialize_pair,
+- pair,
+- tp[f].red, tp[f].green, tp[f].blue,
+- tp[b].red, tp[b].green, tp[b].blue));
++ NCURSES_PUTP2("initialize_pair",
++ TPARM_7(initialize_pair,
++ pair,
++ tp[f].red, tp[f].green, tp[f].blue,
++ tp[b].red, tp[b].green, tp[b].blue));
+ }
+ }
+
+@@ -712,23 +719,22 @@
+
+ static void
+ drv_initcolor(TERMINAL_CONTROL_BLOCK * TCB,
+- short color, short r, short g, short b)
++ int color, int r, int g, int b)
+ {
+ SCREEN *sp = TCB->csp;
+
+ AssertTCB();
+ if (initialize_color != NULL) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "initialize_color",
+- TPARM_4(initialize_color, color, r, g, b));
++ NCURSES_PUTP2("initialize_color",
++ TPARM_4(initialize_color, color, r, g, b));
+ }
+ }
+
+ static void
+ drv_do_color(TERMINAL_CONTROL_BLOCK * TCB,
+- short old_pair,
+- short pair,
+- bool reverse,
++ int old_pair,
++ int pair,
++ int reverse,
+ NCURSES_SP_OUTC outc)
+ {
+ SCREEN *sp = TCB->csp;
+@@ -759,7 +765,7 @@
+ if (old_pair >= 0
+ && sp != 0
+ && NCURSES_SP_NAME(pair_content) (NCURSES_SP_ARGx
+- old_pair,
++ (short) old_pair,
+ &old_fg,
+ &old_bg) !=ERR) {
+ if ((isDefaultColor(fg) && !isDefaultColor(old_fg))
+@@ -845,7 +851,9 @@
+ }
+
+ static int
+-drv_testmouse(TERMINAL_CONTROL_BLOCK * TCB, int delay)
++drv_testmouse(TERMINAL_CONTROL_BLOCK * TCB,
++ int delay
++ EVENTLIST_2nd(_nc_eventlist * evl))
+ {
+ int rc = 0;
+ SCREEN *sp;
+@@ -882,7 +890,7 @@
+ {
+ SCREEN *sp = TCB->csp;
+ AssertTCB();
+- return TINFO_MVCUR(sp, yold, xold, ynew, xnew);
++ return NCURSES_SP_NAME(_nc_mvcur) (sp, yold, xold, ynew, xnew);
+ }
+
+ static void
+@@ -892,22 +900,21 @@
+
+ AssertTCB();
+ if (labnum > 0 && labnum <= num_labels) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "plab_norm",
+- TPARM_2(plab_norm, labnum, text));
++ NCURSES_PUTP2("plab_norm",
++ TPARM_2(plab_norm, labnum, text));
+ }
+ }
+
+ static void
+-drv_hwlabelOnOff(TERMINAL_CONTROL_BLOCK * TCB, bool OnFlag)
++drv_hwlabelOnOff(TERMINAL_CONTROL_BLOCK * TCB, int OnFlag)
+ {
+ SCREEN *sp = TCB->csp;
+
+ AssertTCB();
+ if (OnFlag) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "label_on", label_on);
++ NCURSES_PUTP2("label_on", label_on);
+ } else {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "label_off", label_off);
++ NCURSES_PUTP2("label_off", label_off);
+ }
+ }
+
+@@ -972,7 +979,7 @@
+ AssertTCB();
+ assert(sp != 0);
+ if (ena_acs != NULL) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "ena_acs", ena_acs);
++ NCURSES_PUTP2("ena_acs", ena_acs);
+ }
+ #if NCURSES_EXT_FUNCS
+ /*
+@@ -1176,7 +1183,7 @@
+ if ((pthread_self) && (pthread_kill) && (pthread_equal))
+ _nc_globals.read_thread = pthread_self();
+ # endif
+- n = read(sp->_ifd, &c2, 1);
++ n = read(sp->_ifd, &c2, (size_t) 1);
+ #if USE_PTHREADS_EINTR
+ _nc_globals.read_thread = 0;
+ #endif
+@@ -1209,7 +1216,7 @@
+ int rc = ERR;
+
+ if (value) {
+- rc = NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx name, value);
++ rc = NCURSES_PUTP2(name, value);
+ }
+ return rc;
+ }
+@@ -1225,7 +1232,7 @@
+ }
+
+ static int
+-drv_kpad(TERMINAL_CONTROL_BLOCK * TCB, bool flag)
++drv_kpad(TERMINAL_CONTROL_BLOCK * TCB, int flag)
+ {
+ int ret = ERR;
+ SCREEN *sp;
+@@ -1251,7 +1258,7 @@
+ }
+
+ static int
+-drv_keyok(TERMINAL_CONTROL_BLOCK * TCB, int c, bool flag)
++drv_keyok(TERMINAL_CONTROL_BLOCK * TCB, int c, int flag)
+ {
+ SCREEN *sp;
+ int code = ERR;
+@@ -1264,7 +1271,8 @@
+ if (c >= 0) {
+ unsigned ch = (unsigned) c;
+ if (flag) {
+- while ((s = _nc_expand_try(sp->_key_ok, ch, &count, 0)) != 0
++ while ((s = _nc_expand_try(sp->_key_ok,
++ ch, &count, (size_t) 0)) != 0
+ && _nc_remove_key(&(sp->_key_ok), ch)) {
+ code = _nc_add_to_try(&(sp->_keytry), s, ch);
+ free(s);
+@@ -1273,7 +1281,8 @@
+ break;
+ }
+ } else {
+- while ((s = _nc_expand_try(sp->_keytry, ch, &count, 0)) != 0
++ while ((s = _nc_expand_try(sp->_keytry,
++ ch, &count, (size_t) 0)) != 0
+ && _nc_remove_key(&(sp->_keytry), ch)) {
+ code = _nc_add_to_try(&(sp->_key_ok), s, ch);
+ free(s);
+Index: ncurses/tinfo/trim_sgr0.c
+Prereq: 1.12
+--- ncurses-5.9/ncurses/tinfo/trim_sgr0.c 2010-12-25 23:03:57.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/trim_sgr0.c 2012-12-15 20:57:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2005-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2005-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,7 +36,7 @@
+
+ #include <tic.h>
+
+-MODULE_ID("$Id: trim_sgr0.c,v 1.12 2010/12/25 23:03:57 tom Exp $")
++MODULE_ID("$Id: trim_sgr0.c,v 1.15 2012/12/15 20:57:17 tom Exp $")
+
+ #undef CUR
+ #define CUR tp->
+@@ -48,21 +48,28 @@
+ static char *
+ set_attribute_9(TERMTYPE *tp, int flag)
+ {
+- const char *result;
++ const char *value;
++ char *result;
+
+- if ((result = tparm(set_attributes, 0, 0, 0, 0, 0, 0, 0, 0, flag)) == 0)
+- result = "";
+- return strdup(result);
++ value = tparm(set_attributes, 0, 0, 0, 0, 0, 0, 0, 0, flag);
++ if (PRESENT(value))
++ result = strdup(value);
++ else
++ result = 0;
++ return result;
+ }
+
+ static int
+ is_csi(const char *s)
+ {
+- if (UChar(s[0]) == CSI)
+- return 1;
+- else if (s[0] == ESC && s[1] == L_BRACK)
+- return 2;
+- return 0;
++ int result = 0;
++ if (s != 0) {
++ if (UChar(s[0]) == CSI)
++ result = 1;
++ else if (s[0] == ESC && s[1] == L_BRACK)
++ result = 2;
++ }
++ return result;
+ }
+
+ static char *
+@@ -97,7 +104,7 @@
+ static bool
+ rewrite_sgr(char *s, char *attr)
+ {
+- if (PRESENT(s)) {
++ if (s != 0) {
+ if (PRESENT(attr)) {
+ size_t len_s = strlen(s);
+ size_t len_a = strlen(attr);
+@@ -108,7 +115,7 @@
+ for (n = 0; n < len_s - len_a; ++n) {
+ s[n] = s[n + len_a];
+ }
+- strcpy(s + n, attr);
++ _nc_STRCPY(s + n, attr, strlen(s) + 1);
+ TR(TRACE_DATABASE, ("to:\n\t%s", s));
+ }
+ }
+@@ -121,33 +128,35 @@
+ similar_sgr(char *a, char *b)
+ {
+ bool result = FALSE;
+- int csi_a = is_csi(a);
+- int csi_b = is_csi(b);
+- size_t len_a;
+- size_t len_b;
+-
+- TR(TRACE_DATABASE, ("similar_sgr:\n\t%s\n\t%s",
+- _nc_visbuf2(1, a),
+- _nc_visbuf2(2, b)));
+- if (csi_a != 0 && csi_b != 0 && csi_a == csi_b) {
+- a += csi_a;
+- b += csi_b;
+- if (*a != *b) {
+- a = skip_zero(a);
+- b = skip_zero(b);
++ if (a != 0 && b != 0) {
++ int csi_a = is_csi(a);
++ int csi_b = is_csi(b);
++ size_t len_a;
++ size_t len_b;
++
++ TR(TRACE_DATABASE, ("similar_sgr:\n\t%s\n\t%s",
++ _nc_visbuf2(1, a),
++ _nc_visbuf2(2, b)));
++ if (csi_a != 0 && csi_b != 0 && csi_a == csi_b) {
++ a += csi_a;
++ b += csi_b;
++ if (*a != *b) {
++ a = skip_zero(a);
++ b = skip_zero(b);
++ }
+ }
++ len_a = strlen(a);
++ len_b = strlen(b);
++ if (len_a && len_b) {
++ if (len_a > len_b)
++ result = (strncmp(a, b, len_b) == 0);
++ else
++ result = (strncmp(a, b, len_a) == 0);
++ }
++ TR(TRACE_DATABASE, ("...similar_sgr: %d\n\t%s\n\t%s", result,
++ _nc_visbuf2(1, a),
++ _nc_visbuf2(2, b)));
+ }
+- len_a = strlen(a);
+- len_b = strlen(b);
+- if (len_a && len_b) {
+- if (len_a > len_b)
+- result = (strncmp(a, b, len_b) == 0);
+- else
+- result = (strncmp(a, b, len_a) == 0);
+- }
+- TR(TRACE_DATABASE, ("...similar_sgr: %d\n\t%s\n\t%s", result,
+- _nc_visbuf2(1, a),
+- _nc_visbuf2(2, b)));
+ return result;
+ }
+
+Index: ncurses/tinfo/write_entry.c
+Prereq: 1.78
+--- ncurses-5.9/ncurses/tinfo/write_entry.c 2010-12-25 23:23:08.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tinfo/write_entry.c 2012-12-29 23:12:22.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,21 +39,15 @@
+ #include <curses.priv.h>
+ #include <hashed_db.h>
+
+-#include <sys/stat.h>
+-
+ #include <tic.h>
+
+-#ifndef S_ISDIR
+-#define S_ISDIR(mode) ((mode & S_IFMT) == S_IFDIR)
+-#endif
+-
+ #if 1
+ #define TRACE_OUT(p) DEBUG(2, p)
+ #else
+ #define TRACE_OUT(p) /*nothing */
+ #endif
+
+-MODULE_ID("$Id: write_entry.c,v 1.78 2010/12/25 23:23:08 tom Exp $")
++MODULE_ID("$Id: write_entry.c,v 1.87 2012/12/29 23:12:22 tom Exp $")
+
+ static int total_written;
+
+@@ -76,7 +70,7 @@
+ DEBUG(1, ("Created %s", filename));
+
+ if (write_object(tp, buffer, &offset, limit) == ERR
+- || fwrite(buffer, sizeof(char), offset, fp) != offset) {
++ || fwrite(buffer, sizeof(char), (size_t) offset, fp) != offset) {
+ _nc_syserr_abort("error writing %s/%s", _nc_tic_dir(0), filename);
+ }
+
+@@ -105,7 +99,7 @@
+ if (verified[s - dirnames])
+ return;
+
+- sprintf(dir, LEAF_FMT, code);
++ _nc_SPRINTF(dir, _nc_SLIMIT(sizeof(dir)) LEAF_FMT, code);
+ if (make_db_root(dir) < 0) {
+ _nc_err_abort("%s/%s: permission denied", _nc_tic_dir(0), dir);
+ }
+@@ -115,36 +109,35 @@
+ #endif /* !USE_HASHED_DB */
+
+ static int
+-make_db_path(char *dst, const char *src, unsigned limit)
++make_db_path(char *dst, const char *src, size_t limit)
+ {
+ int rc = -1;
+ const char *top = _nc_tic_dir(0);
+
+ if (src == top || _nc_is_abs_path(src)) {
+ if (strlen(src) + 1 <= limit) {
+- (void) strcpy(dst, src);
++ _nc_STRCPY(dst, src, limit);
+ rc = 0;
+ }
+ } else {
+ if (strlen(top) + strlen(src) + 2 <= limit) {
+- (void) sprintf(dst, "%s/%s", top, src);
++ _nc_SPRINTF(dst, _nc_SLIMIT(limit) "%s/%s", top, src);
+ rc = 0;
+ }
+ }
+ #if USE_HASHED_DB
+ if (rc == 0) {
+- if (_nc_is_dir_path(dst)) {
+- rc = -1;
+- } else {
+- static const char suffix[] = DBM_SUFFIX;
+- unsigned have = strlen(dst);
+- unsigned need = strlen(suffix);
+- if (have > need && strcmp(dst + have - need, suffix)) {
+- if (have + need <= limit)
+- strcat(dst, suffix);
+- else
+- rc = -1;
++ static const char suffix[] = DBM_SUFFIX;
++ size_t have = strlen(dst);
++ size_t need = strlen(suffix);
++ if (have > need && strcmp(dst + (int) (have - need), suffix)) {
++ if (have + need <= limit) {
++ _nc_STRCAT(dst, suffix, limit);
++ } else {
++ rc = -1;
+ }
++ } else if (_nc_is_dir_path(dst)) {
++ rc = -1;
+ }
+ }
+ #endif
+@@ -164,10 +157,11 @@
+ #if USE_HASHED_DB
+ DB *capdbp;
+
+- if ((capdbp = _nc_db_open(fullpath, TRUE)) == NULL)
++ if ((capdbp = _nc_db_open(fullpath, TRUE)) == NULL) {
+ rc = -1;
+- else if (_nc_db_close(capdbp) < 0)
++ } else if (_nc_db_close(capdbp) < 0) {
+ rc = -1;
++ }
+ #else
+ struct stat statbuf;
+
+@@ -279,16 +273,21 @@
+ char name_list[MAX_TERMINFO_LENGTH];
+ char *first_name, *other_names;
+ char *ptr;
++ const char *term_names = tp->term_names;
++ size_t name_size = strlen(term_names);
+
+- assert(strlen(tp->term_names) != 0);
+- assert(strlen(tp->term_names) < sizeof(name_list));
++ if (name_size == 0) {
++ _nc_syserr_abort("no terminal name found.");
++ } else if (name_size >= sizeof(name_list) - 1) {
++ _nc_syserr_abort("terminal name too long: %s", term_names);
++ }
+
+- (void) strcpy(name_list, tp->term_names);
++ _nc_STRCPY(name_list, term_names, sizeof(name_list));
+ DEBUG(7, ("Name list = '%s'", name_list));
+
+ first_name = name_list;
+
+- ptr = &name_list[strlen(name_list) - 1];
++ ptr = &name_list[name_size - 1];
+ other_names = ptr + 1;
+
+ while (ptr > name_list && *ptr != '|')
+@@ -322,8 +321,8 @@
+ buffer[0] = 0;
+
+ memset(&key, 0, sizeof(key));
+- key.data = tp->term_names;
+- key.size = strlen(tp->term_names);
++ key.data = term_names;
++ key.size = name_size;
+
+ memset(&data, 0, sizeof(data));
+ data.data = buffer;
+@@ -334,10 +333,12 @@
+ buffer[0] = 2;
+
+ key.data = name_list;
+- key.size = strlen(name_list);
++ key.size = name_size;
+
+- strcpy(buffer + 1, tp->term_names);
+- data.size = strlen(tp->term_names) + 1;
++ _nc_STRCPY(buffer + 1,
++ term_names,
++ sizeof(buffer) - 1);
++ data.size = name_size + 1;
+
+ _nc_db_put(capdb, &key, &data);
+
+@@ -355,7 +356,6 @@
+
+ _nc_db_put(capdb, &key, &data);
+ }
+- _nc_db_close(capdb);
+ }
+ }
+ #else /* !USE_HASHED_DB */
+@@ -366,7 +366,8 @@
+ if (strlen(first_name) >= sizeof(filename) - (2 + LEAF_LEN))
+ _nc_warning("terminal name too long.");
+
+- sprintf(filename, LEAF_FMT "/%s", first_name[0], first_name);
++ _nc_SPRINTF(filename, _nc_SLIMIT(sizeof(filename))
++ LEAF_FMT "/%s", first_name[0], first_name);
+
+ /*
+ * Has this primary name been written since the first call to
+@@ -376,7 +377,22 @@
+ if (start_time > 0 &&
+ stat(filename, &statbuf) >= 0
+ && statbuf.st_mtime >= start_time) {
++#if HAVE_LINK && !USE_SYMLINKS
++ /*
++ * If the file has more than one link, the reason for the previous
++ * write could be that the current primary name used to be an alias for
++ * the previous entry. In that case, unlink the file so that we will
++ * not modify the previous entry as we write this one.
++ */
++ if (statbuf.st_nlink > 1) {
++ _nc_warning("name redefined.");
++ unlink(filename);
++ } else {
++ _nc_warning("name multiply defined.");
++ }
++#else
+ _nc_warning("name multiply defined.");
++#endif
+ }
+
+ check_writeable(first_name[0]);
+@@ -407,7 +423,8 @@
+ }
+
+ check_writeable(ptr[0]);
+- sprintf(linkname, LEAF_FMT "/%s", ptr[0], ptr);
++ _nc_SPRINTF(linkname, _nc_SLIMIT(sizeof(linkname))
++ LEAF_FMT "/%s", ptr[0], ptr);
+
+ if (strcmp(filename, linkname) == 0) {
+ _nc_warning("self-synonym ignored");
+@@ -422,7 +439,7 @@
+ if (first_name[0] == linkname[0])
+ strncpy(symlinkname, first_name, sizeof(symlinkname) - 1);
+ else {
+- strcpy(symlinkname, "../");
++ _nc_STRCPY(symlinkname, "../", sizeof(suymlinkname));
+ strncat(symlinkname, filename, sizeof(symlinkname) - 4);
+ }
+ symlinkname[sizeof(symlinkname) - 1] = '\0';
+@@ -491,7 +508,7 @@
+ return (want / size);
+ }
+
+-#define Write(buf, size, count) fake_write(buffer, offset, limit, (char *) buf, count, size)
++#define Write(buf, size, count) fake_write(buffer, offset, (size_t) limit, (char *) buf, (size_t) count, (size_t) size)
+
+ #undef LITTLE_ENDIAN /* BSD/OS defines this as a feature macro */
+ #define HI(x) ((x) / 256)
+@@ -706,7 +723,7 @@
+ return (ERR);
+
+ nextfree = compute_offsets(tp->Strings + STRCOUNT,
+- tp->ext_Strings,
++ (size_t) tp->ext_Strings,
+ offsets);
+ TRACE_OUT(("after extended string capabilities, nextfree=%d", nextfree));
+
+@@ -714,7 +731,7 @@
+ return (ERR);
+
+ nextfree += compute_offsets(tp->ext_Names,
+- extcnt,
++ (size_t) extcnt,
+ offsets + tp->ext_Strings);
+ TRACE_OUT(("after extended capnames, nextfree=%d", nextfree));
+ strmax = tp->ext_Strings + extcnt;
+@@ -742,7 +759,7 @@
+
+ TRACE_OUT(("WRITE %d numbers @%d", tp->ext_Numbers, *offset));
+ if (tp->ext_Numbers) {
+- convert_shorts(buf, tp->Numbers + NUMCOUNT, tp->ext_Numbers);
++ convert_shorts(buf, tp->Numbers + NUMCOUNT, (size_t) tp->ext_Numbers);
+ if (Write(buf, 2, tp->ext_Numbers) != tp->ext_Numbers)
+ return (ERR);
+ }
+Index: ncurses/trace/lib_trace.c
+Prereq: 1.76
+--- ncurses-5.9/ncurses/trace/lib_trace.c 2010-12-19 01:21:19.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/lib_trace.c 2012-04-29 00:20:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -47,7 +47,7 @@
+
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_trace.c,v 1.76 2010/12/19 01:21:19 tom Exp $")
++MODULE_ID("$Id: lib_trace.c,v 1.81 2012/04/29 00:20:43 tom Exp $")
+
+ NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0; /* always define this */
+
+@@ -103,9 +103,9 @@
+ }
+ TracePath[size] = '\0';
+ assert(strlen(TracePath) <= size);
+- strcat(TracePath, "/trace");
++ _nc_STRCAT(TracePath, "/trace", sizeof(TracePath));
+ if (_nc_is_dir_path(TracePath)) {
+- strcat(TracePath, ".log");
++ _nc_STRCAT(TracePath, ".log", sizeof(TracePath));
+ }
+ }
+
+@@ -121,7 +121,7 @@
+ * end of each line. This is useful in case the program dies.
+ */
+ #if HAVE_SETVBUF /* ANSI */
+- (void) setvbuf(TraceFP, (char *) 0, _IOLBF, 0);
++ (void) setvbuf(TraceFP, (char *) 0, _IOLBF, (size_t) 0);
+ #elif HAVE_SETBUF /* POSIX */
+ (void) setbuffer(TraceFP, (char *) 0);
+ #endif
+@@ -185,9 +185,9 @@
+ if ((pthread_self))
+ # endif
+ #ifdef __MINGW32__
+- fprintf(TraceFP, "%#lx:", (long) (void *) pthread_self().p);
++ fprintf(TraceFP, "%#lx:", (long) (intptr_t) pthread_self().p);
+ #else
+- fprintf(TraceFP, "%#lx:", (long) (void *) pthread_self());
++ fprintf(TraceFP, "%#lx:", (long) (intptr_t) pthread_self());
+ #endif
+ #endif
+ if (before || after) {
+@@ -218,7 +218,7 @@
+
+ /* Trace 'bool' return-values */
+ NCURSES_EXPORT(NCURSES_BOOL)
+-_nc_retrace_bool(NCURSES_BOOL code)
++_nc_retrace_bool(int code)
+ {
+ T((T_RETURN("%s"), code ? "TRUE" : "FALSE"));
+ return code;
+@@ -226,10 +226,10 @@
+
+ /* Trace 'char' return-values */
+ NCURSES_EXPORT(char)
+-_nc_retrace_char(char code)
++_nc_retrace_char(int code)
+ {
+ T((T_RETURN("%c"), code));
+- return code;
++ return (char) code;
+ }
+
+ /* Trace 'int' return-values */
+Index: ncurses/trace/lib_traceatr.c
+Prereq: 1.74
+--- ncurses-5.9/ncurses/trace/lib_traceatr.c 2011-01-22 19:48:01.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/lib_traceatr.c 2012-02-22 22:40:24.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -43,10 +43,13 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_traceatr.c,v 1.74 2011/01/22 19:48:01 tom Exp $")
++MODULE_ID("$Id: lib_traceatr.c,v 1.79 2012/02/22 22:40:24 tom Exp $")
+
+ #define COLOR_OF(c) ((c < 0) ? "default" : (c > 7 ? color_of(c) : colors[c].name))
+
++#define TRACE_BUF_SIZE(num) (_nc_globals.tracebuf_ptr[num].size)
++#define COLOR_BUF_SIZE(num) (sizeof(my_buffer[num]))
++
+ #ifdef TRACE
+
+ static const char l_brace[] = StringOf(L_BRACE);
+@@ -65,9 +68,12 @@
+ my_cached = c;
+ my_select = !my_select;
+ if (c == COLOR_DEFAULT)
+- strcpy(my_buffer[my_select], "default");
++ _nc_STRCPY(my_buffer[my_select], "default",
++ COLOR_BUF_SIZE(my_select));
+ else
+- sprintf(my_buffer[my_select], "color%d", c);
++ _nc_SPRINTF(my_buffer[my_select],
++ _nc_SLIMIT(COLOR_BUF_SIZE(my_select))
++ "color%d", c);
+ }
+ return my_buffer[my_select];
+ }
+@@ -120,14 +126,14 @@
+ ;
+ size_t n;
+ char temp[80];
+- char *result = _nc_trace_buf(bufnum, BUFSIZ);
++ char *result = _nc_trace_buf(bufnum, (size_t) BUFSIZ);
+
+ if (result != 0) {
+ unsigned save_nc_tracing = _nc_tracing;
+
+ _nc_tracing = 0;
+
+- strcpy(result, l_brace);
++ _nc_STRCPY(result, l_brace, TRACE_BUF_SIZE(bufnum));
+
+ for (n = 0; n < SIZEOF(names); n++) {
+ if ((newmode & names[n].val) != 0) {
+@@ -139,18 +145,20 @@
+ short pairnum = (short) PairNumber(newmode);
+ #ifdef USE_TERMLIB
+ /* pair_content lives in libncurses */
+- (void) sprintf(temp, "{%d}", pairnum);
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp))
++ "{%d}", pairnum);
+ #else
+ short fg, bg;
+
+ if (pair_content(pairnum, &fg, &bg) == OK) {
+- (void) sprintf(temp,
+- "{%d = {%s, %s}}",
+- pairnum,
+- COLOR_OF(fg),
+- COLOR_OF(bg));
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp))
++ "{%d = {%s, %s}}",
++ pairnum,
++ COLOR_OF(fg),
++ COLOR_OF(bg));
+ } else {
+- (void) sprintf(temp, "{%d}", pairnum);
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp))
++ "{%d}", pairnum);
+ }
+ #endif
+ result = _nc_trace_bufcat(bufnum, temp);
+@@ -243,7 +251,7 @@
+ #if NCURSES_SP_FUNCS
+ (void) sp;
+ #endif
+- if ((attr & A_ALTCHARSET) && (acs_chars != 0)) {
++ if (SP_PARM != 0 && (attr & A_ALTCHARSET) && (acs_chars != 0)) {
+ char *cp;
+ char *found = 0;
+ const ALT_NAMES *strp;
+@@ -271,10 +279,10 @@
+ _tracechtype2(int bufnum, chtype ch)
+ {
+ const char *found;
+- char *result = _nc_trace_buf(bufnum, BUFSIZ);
++ char *result = _nc_trace_buf(bufnum, (size_t) BUFSIZ);
+
+ if (result != 0) {
+- strcpy(result, l_brace);
++ _nc_STRCPY(result, l_brace, TRACE_BUF_SIZE(bufnum));
+ if ((found = _nc_altcharset_name(ChAttrOf(ch), ch)) != 0) {
+ (void) _nc_trace_bufcat(bufnum, found);
+ } else
+@@ -311,12 +319,12 @@
+ NCURSES_EXPORT(char *)
+ _tracecchar_t2(int bufnum, const cchar_t *ch)
+ {
+- char *result = _nc_trace_buf(bufnum, BUFSIZ);
++ char *result = _nc_trace_buf(bufnum, (size_t) BUFSIZ);
+ attr_t attr;
+ const char *found;
+
+ if (result != 0) {
+- strcpy(result, l_brace);
++ _nc_STRCPY(result, l_brace, TRACE_BUF_SIZE(bufnum));
+ if (ch != 0) {
+ attr = AttrOfD(ch);
+ if ((found = _nc_altcharset_name(attr, (chtype) CharOfD(ch))) != 0) {
+Index: ncurses/trace/lib_tracebits.c
+Prereq: 1.19
+--- ncurses-5.9/ncurses/trace/lib_tracebits.c 2011-01-09 00:23:03.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/lib_tracebits.c 2012-06-09 19:55:46.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,11 +34,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_tracebits.c,v 1.19 2011/01/09 00:23:03 tom Exp $")
+-
+-#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
+-#define _POSIX_SOURCE
+-#endif
++MODULE_ID("$Id: lib_tracebits.c,v 1.23 2012/06/09 19:55:46 tom Exp $")
+
+ #if HAVE_SYS_TERMIO_H
+ #include <sys/termio.h> /* needed for ISC */
+@@ -80,22 +76,24 @@
+ const char *name;
+ } BITNAMES;
+
++#define TRACE_BUF_SIZE(num) (_nc_globals.tracebuf_ptr[num].size)
++
+ static void
+ lookup_bits(char *buf, const BITNAMES * table, const char *label, unsigned int val)
+ {
+ const BITNAMES *sp;
+
+- (void) strcat(buf, label);
+- (void) strcat(buf, ": {");
++ _nc_STRCAT(buf, label, TRACE_BUF_SIZE(0));
++ _nc_STRCAT(buf, ": {", TRACE_BUF_SIZE(0));
+ for (sp = table; sp->name; sp++)
+ if (sp->val != 0
+ && (val & sp->val) == sp->val) {
+- (void) strcat(buf, sp->name);
+- (void) strcat(buf, ", ");
++ _nc_STRCAT(buf, sp->name, TRACE_BUF_SIZE(0));
++ _nc_STRCAT(buf, ", ", TRACE_BUF_SIZE(0));
+ }
+ if (buf[strlen(buf) - 2] == ',')
+ buf[strlen(buf) - 2] = '\0';
+- (void) strcat(buf, "} ");
++ _nc_STRCAT(buf, "} ", TRACE_BUF_SIZE(0));
+ }
+
+ NCURSES_EXPORT(char *)
+@@ -192,7 +190,7 @@
+ CS_DATA(CS8),
+ };
+ const char *result = "CSIZE? ";
+- int value = (tty->c_cflag & CSIZE);
++ int value = (int) (tty->c_cflag & CSIZE);
+ unsigned n;
+
+ if (value != 0) {
+@@ -203,7 +201,7 @@
+ }
+ }
+ }
+- strcat(buf, result);
++ _nc_STRCAT(buf, result, TRACE_BUF_SIZE(0));
+ }
+ #endif
+
+Index: ncurses/trace/lib_tracechr.c
+Prereq: 1.20
+--- ncurses-5.9/ncurses/trace/lib_tracechr.c 2009-04-18 22:48:29.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/lib_tracechr.c 2012-02-22 22:40:24.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,10 +39,12 @@
+
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_tracechr.c,v 1.20 2009/04/18 22:48:29 tom Exp $")
++MODULE_ID("$Id: lib_tracechr.c,v 1.22 2012/02/22 22:40:24 tom Exp $")
+
+ #ifdef TRACE
+
++#define MyBufSize sizeof(_nc_globals.tracechr_buf)
++
+ NCURSES_EXPORT(char *)
+ _nc_tracechar(SCREEN *sp, int ch)
+ {
+@@ -55,19 +57,22 @@
+ name = safe_keyname(SP_PARM, ch);
+ if (name == 0 || *name == '\0')
+ name = "NULL";
+- (void) sprintf(MyBuffer, "'%.30s' = %#03o", name, ch);
++ _nc_SPRINTF(MyBuffer, _nc_SLIMIT(MyBufSize)
++ "'%.30s' = %#03o", name, ch);
+ } else if (!is8bits(ch) || !isprint(UChar(ch))) {
+ /*
+ * workaround for glibc bug:
+ * sprintf changes the result from unctrl() to an empty string if it
+ * does not correspond to a valid multibyte sequence.
+ */
+- (void) sprintf(MyBuffer, "%#03o", ch);
++ _nc_SPRINTF(MyBuffer, _nc_SLIMIT(MyBufSize)
++ "%#03o", ch);
+ } else {
+ name = safe_unctrl(SP_PARM, (chtype) ch);
+ if (name == 0 || *name == 0)
+ name = "null"; /* shouldn't happen */
+- (void) sprintf(MyBuffer, "'%.30s' = %#03o", name, ch);
++ _nc_SPRINTF(MyBuffer, _nc_SLIMIT(MyBufSize)
++ "'%.30s' = %#03o", name, ch);
+ }
+ return (MyBuffer);
+ }
+Index: ncurses/trace/lib_tracedmp.c
+Prereq: 1.32
+--- ncurses-5.9/ncurses/trace/lib_tracedmp.c 2009-04-18 21:01:38.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/lib_tracedmp.c 2012-10-27 20:54:42.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ #include <curses.priv.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_tracedmp.c,v 1.32 2009/04/18 21:01:38 tom Exp $")
++MODULE_ID("$Id: lib_tracedmp.c,v 1.34 2012/10/27 20:54:42 tom Exp $")
+
+ #ifdef TRACE
+
+@@ -70,6 +70,8 @@
+ if (++width + 1 > (int) my_length) {
+ my_length = (unsigned) (2 * (width + 1));
+ my_buffer = typeRealloc(char, my_length, my_buffer);
++ if (my_buffer == 0)
++ return;
+ }
+
+ for (n = 0; n <= win->_maxy; ++n) {
+@@ -111,7 +113,7 @@
+ if (multicolumn) {
+ ep = my_buffer;
+ for (j = 0; j < width; ++j) {
+- chtype test = WidecExt(win->_line[n].text[j]);
++ int test = WidecExt(win->_line[n].text[j]);
+ if (test) {
+ ep[j] = (char) (test + '0');
+ } else {
+Index: ncurses/trace/lib_tracemse.c
+Prereq: 1.18
+--- ncurses-5.9/ncurses/trace/lib_tracemse.c 2011-01-22 19:48:08.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/lib_tracemse.c 2012-12-15 23:51:19.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -38,7 +38,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_tracemse.c,v 1.18 2011/01/22 19:48:08 tom Exp $")
++MODULE_ID("$Id: lib_tracemse.c,v 1.21 2012/12/15 23:51:19 tom Exp $")
+
+ #ifdef TRACE
+
+@@ -47,7 +47,11 @@
+ static char *
+ _trace_mmask_t(SCREEN *sp, mmask_t code)
+ {
+-#define SHOW(m, s) if ((code & m) == m) strcat(strcat(my_buffer, s), ", ")
++#define SHOW(m, s) \
++ if ((code & m) == m) { \
++ _nc_STRCAT(my_buffer, s, sizeof(my_buffer)); \
++ _nc_STRCAT(my_buffer, ", ", sizeof(my_buffer)); \
++ }
+
+ SHOW(BUTTON1_RELEASED, "release-1");
+ SHOW(BUTTON1_PRESSED, "press-1");
+@@ -110,23 +114,33 @@
+ NCURSES_EXPORT(char *)
+ _nc_tracemouse(SCREEN *sp, MEVENT const *ep)
+ {
+- (void) sprintf(my_buffer, TRACEMSE_FMT,
+- ep->id,
+- ep->x,
+- ep->y,
+- ep->z,
+- (unsigned long) ep->bstate);
++ char *result = 0;
+
+- (void) _trace_mmask_t(sp, ep->bstate);
+- (void) strcat(my_buffer, "}");
+- return (my_buffer);
++ if (sp != 0) {
++ _nc_SPRINTF(my_buffer, _nc_SLIMIT(sizeof(my_buffer))
++ TRACEMSE_FMT,
++ ep->id,
++ ep->x,
++ ep->y,
++ ep->z,
++ (unsigned long) ep->bstate);
++
++ (void) _trace_mmask_t(sp, ep->bstate);
++ _nc_STRCAT(my_buffer, "}", sizeof(my_buffer));
++ result = (my_buffer);
++ }
++ return result;
+ }
+
+ NCURSES_EXPORT(mmask_t)
+ _nc_retrace_mmask_t(SCREEN *sp, mmask_t code)
+ {
+- *my_buffer = '\0';
+- T((T_RETURN("{%s}"), _trace_mmask_t(sp, code)));
++ if (sp != 0) {
++ *my_buffer = '\0';
++ T((T_RETURN("{%s}"), _trace_mmask_t(sp, code)));
++ } else {
++ T((T_RETURN("{?}")));
++ }
+ return code;
+ }
+
+Index: ncurses/trace/trace_buf.c
+Prereq: 1.17
+--- ncurses-5.9/ncurses/trace/trace_buf.c 2011-01-22 19:48:16.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/trace_buf.c 2012-02-22 22:34:31.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: trace_buf.c,v 1.17 2011/01/22 19:48:16 tom Exp $")
++MODULE_ID("$Id: trace_buf.c,v 1.20 2012/02/22 22:34:31 tom Exp $")
+
+ #ifdef TRACE
+
+@@ -103,13 +103,14 @@
+ NCURSES_EXPORT(char *)
+ _nc_trace_bufcat(int bufnum, const char *value)
+ {
+- char *buffer = _nc_trace_alloc(bufnum, 0);
++ char *buffer = _nc_trace_alloc(bufnum, (size_t) 0);
+ if (buffer != 0) {
+ size_t have = strlen(buffer);
++ size_t need = strlen(value) + have;
+
+- buffer = _nc_trace_alloc(bufnum, 1 + have + strlen(value));
++ buffer = _nc_trace_alloc(bufnum, 1 + need);
+ if (buffer != 0)
+- (void) strcpy(buffer + have, value);
++ _nc_STRCPY(buffer + have, value, need);
+
+ }
+ return buffer;
+Index: ncurses/trace/trace_tries.c
+Prereq: 1.16
+--- ncurses-5.9/ncurses/trace/trace_tries.c 2011-01-09 00:23:27.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/trace_tries.c 2012-10-27 20:50:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1999-2009,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: trace_tries.c,v 1.16 2011/01/09 00:23:27 tom Exp $")
++MODULE_ID("$Id: trace_tries.c,v 1.17 2012/10/27 20:50:50 tom Exp $")
+
+ #ifdef TRACE
+ #define my_buffer _nc_globals.tracetry_buf
+@@ -49,28 +49,31 @@
+ my_buffer = (unsigned char *) _nc_doalloc(my_buffer, my_length);
+ }
+
+- while (tree != 0) {
+- if ((my_buffer[level] = tree->ch) == 0)
+- my_buffer[level] = 128;
+- my_buffer[level + 1] = 0;
+- if (tree->value != 0) {
+- _tracef("%5d: %s (%s)", tree->value,
+- _nc_visbuf((char *) my_buffer), keyname(tree->value));
++ if (my_buffer != 0) {
++ while (tree != 0) {
++ if ((my_buffer[level] = tree->ch) == 0)
++ my_buffer[level] = 128;
++ my_buffer[level + 1] = 0;
++ if (tree->value != 0) {
++ _tracef("%5d: %s (%s)", tree->value,
++ _nc_visbuf((char *) my_buffer), keyname(tree->value));
++ }
++ if (tree->child)
++ recur_tries(tree->child, level + 1);
++ tree = tree->sibling;
+ }
+- if (tree->child)
+- recur_tries(tree->child, level + 1);
+- tree = tree->sibling;
+ }
+ }
+
+ NCURSES_EXPORT(void)
+ _nc_trace_tries(TRIES * tree)
+ {
+- my_buffer = typeMalloc(unsigned char, my_length = 80);
+- _tracef("BEGIN tries %p", (void *) tree);
+- recur_tries(tree, 0);
+- _tracef(". . . tries %p", (void *) tree);
+- free(my_buffer);
++ if ((my_buffer = typeMalloc(unsigned char, my_length = 80)) != 0) {
++ _tracef("BEGIN tries %p", (void *) tree);
++ recur_tries(tree, 0);
++ _tracef(". . . tries %p", (void *) tree);
++ free(my_buffer);
++ }
+ }
+
+ #else
+Index: ncurses/trace/varargs.c
+Prereq: 1.8
+--- ncurses-5.9/ncurses/trace/varargs.c 2008-11-16 00:19:59.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/varargs.c 2012-10-27 21:03:28.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2001-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2008,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+
+ #include <ctype.h>
+
+-MODULE_ID("$Id: varargs.c,v 1.8 2008/11/16 00:19:59 juergen Exp $")
++MODULE_ID("$Id: varargs.c,v 1.11 2012/10/27 21:03:28 tom Exp $")
+
+ #ifdef TRACE
+
+@@ -149,25 +149,32 @@
+ param = buffer;
+ switch (used) {
+ case atInteger:
+- sprintf(buffer, "%d", ival);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%d", ival);
+ break;
+ case atFloat:
+- sprintf(buffer, "%f", fval);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%f", fval);
+ break;
+ case atPoint:
+- sprintf(buffer, "%p", pval);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%p", pval);
+ break;
+ case atString:
+ param = _nc_visbuf2(1, sval);
+ break;
+ case atUnknown:
+ default:
+- strcpy(buffer, "?");
++ _nc_STRCPY(buffer, "?", sizeof(buffer));
+ break;
+ }
+ MyLength += strlen(param) + 2;
+ MyBuffer = typeRealloc(char, MyLength, MyBuffer);
+- sprintf(MyBuffer + strlen(MyBuffer), ", %s", param);
++ if (MyBuffer != 0) {
++ _nc_SPRINTF(MyBuffer + strlen(MyBuffer),
++ _nc_SLIMIT(MyLength - strlen(MyBuffer))
++ ", %s", param);
++ }
+ }
+ }
+ used = atUnknown;
+@@ -177,7 +184,7 @@
+ }
+ }
+
+- return (MyBuffer);
++ return (MyBuffer ? MyBuffer : dummy);
+ }
+ #else
+ EMPTY_MODULE(_nc_varargs)
+Index: ncurses/trace/visbuf.c
+Prereq: 1.37
+--- ncurses-5.9/ncurses/trace/visbuf.c 2010-05-29 18:51:41.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/trace/visbuf.c 2012-10-27 20:58:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2001-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+ #include <tic.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: visbuf.c,v 1.37 2010/05/29 18:51:41 tom Exp $")
++MODULE_ID("$Id: visbuf.c,v 1.42 2012/10/27 20:58:50 tom Exp $")
+
+ #define NUM_VISBUFS 4
+
+@@ -55,8 +55,16 @@
+ static const char r_brace[] = StringOf(R_BRACE);
+ #endif
+
++#if USE_STRING_HACKS && HAVE_SNPRINTF
++#define VisChar(tp, chr, limit) _nc_vischar(tp, chr, limit)
++#define LIMIT_ARG ,size_t limit
++#else
++#define VisChar(tp, chr, limit) _nc_vischar(tp, chr)
++#define LIMIT_ARG /* nothing */
++#endif
++
+ static char *
+-_nc_vischar(char *tp, unsigned c)
++_nc_vischar(char *tp, unsigned c LIMIT_ARG)
+ {
+ if (c == '"' || c == '\\') {
+ *tp++ = '\\';
+@@ -84,7 +92,8 @@
+ *tp++ = '^';
+ *tp++ = (char) ('@' + c);
+ } else {
+- sprintf(tp, "\\%03lo", (unsigned long) ChCharOf(c));
++ _nc_SPRINTF(tp, _nc_SLIMIT(limit)
++ "\\%03lo", (unsigned long) ChCharOf(c));
+ tp += strlen(tp);
+ }
+ *tp = 0;
+@@ -97,6 +106,7 @@
+ const char *vbuf = 0;
+ char *tp;
+ int c;
++ int count;
+
+ if (buf == 0)
+ return ("(null)");
+@@ -106,6 +116,7 @@
+ if (len < 0)
+ len = (int) strlen(buf);
+
++ count = len;
+ #ifdef TRACE
+ vbuf = tp = _nc_trace_buf(bufnum, NormalLen(len));
+ #else
+@@ -124,8 +135,8 @@
+ #endif
+ if (tp != 0) {
+ *tp++ = D_QUOTE;
+- while ((--len >= 0) && (c = *buf++) != '\0') {
+- tp = _nc_vischar(tp, UChar(c));
++ while ((--count >= 0) && (c = *buf++) != '\0') {
++ tp = VisChar(tp, UChar(c), NormalLen(len));
+ }
+ *tp++ = D_QUOTE;
+ *tp = '\0';
+@@ -175,6 +186,7 @@
+ const char *vbuf;
+ char *tp;
+ wchar_t c;
++ int count;
+
+ if (buf == 0)
+ return ("(null)");
+@@ -182,6 +194,7 @@
+ if (len < 0)
+ len = (int) wcslen(buf);
+
++ count = len;
+ #ifdef TRACE
+ vbuf = tp = _nc_trace_buf(bufnum, WideLen(len));
+ #else
+@@ -193,15 +206,16 @@
+ #endif
+ if (tp != 0) {
+ *tp++ = D_QUOTE;
+- while ((--len >= 0) && (c = *buf++) != '\0') {
++ while ((--count >= 0) && (c = *buf++) != '\0') {
+ char temp[CCHARW_MAX + 80];
+ int j = wctomb(temp, c), k;
+ if (j <= 0) {
+- sprintf(temp, "\\u%08X", (unsigned) c);
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp))
++ "\\u%08X", (unsigned) c);
+ j = (int) strlen(temp);
+ }
+ for (k = 0; k < j; ++k) {
+- tp = _nc_vischar(tp, UChar(temp[k]));
++ tp = VisChar(tp, UChar(temp[k]), WideLen(len));
+ }
+ }
+ *tp++ = D_QUOTE;
+@@ -248,10 +262,12 @@
+ else
+ mybuf = typeMalloc(wchar_t, mylen);
+ }
+- for (n = 0; buf[n] != 0; ++n) {
+- mybuf[n] = (wchar_t) buf[n];
++ if (mybuf != 0) {
++ for (n = 0; buf[n] != 0; ++n) {
++ mybuf[n] = (wchar_t) buf[n];
++ }
++ mybuf[n] = L'\0';
+ }
+- mybuf[n] = L'\0';
+
+ return _nc_viswbuf2(0, mybuf);
+ }
+@@ -261,7 +277,7 @@
+ NCURSES_EXPORT(const char *)
+ _nc_viscbuf2(int bufnum, const NCURSES_CH_T * buf, int len)
+ {
+- char *result = _nc_trace_buf(bufnum, BUFSIZ);
++ char *result = _nc_trace_buf(bufnum, (size_t) BUFSIZ);
+ int first;
+ const char *found;
+
+@@ -315,7 +331,7 @@
+ break;
+ for (k = 0; k < PUTC_n; k++) {
+ char temp[80];
+- _nc_vischar(temp, UChar(PUTC_buf[k]));
++ VisChar(temp, UChar(PUTC_buf[k]), sizeof(temp));
+ (void) _nc_trace_bufcat(bufnum, temp);
+ }
+ }
+@@ -323,8 +339,8 @@
+ #else
+ {
+ char temp[80];
+- _nc_vischar(temp, UChar(buf[j]));
+- result = _nc_trace_bufcat(bufnum, temp);
++ VisChar(temp, UChar(buf[j]), sizeof(temp));
++ (void) _nc_trace_bufcat(bufnum, temp);
+ }
+ #endif /* USE_WIDEC_SUPPORT */
+ }
+Index: ncurses/tty/hardscroll.c
+Prereq: 1.47
+--- ncurses-5.9/ncurses/tty/hardscroll.c 2010-04-24 23:46:47.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tty/hardscroll.c 2012-10-17 09:01:10.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -147,7 +147,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: hardscroll.c,v 1.47 2010/04/24 23:46:47 tom Exp $")
++MODULE_ID("$Id: hardscroll.c,v 1.51 2012/10/17 09:01:10 tom Exp $")
+
+ #if defined(SCROLLDEBUG) || defined(HASHDEBUG)
+
+@@ -173,9 +173,9 @@
+ # if USE_HASHMAP
+ # define oldnums(sp) (sp)->_oldnum_list
+ # define OLDNUM(sp,n) oldnums(sp)[n]
+-# else /* !USE_HASHMAP */
++# else /* !USE_HASHMAP */
+ # define OLDNUM(sp,n) NewScreen(sp)->_line[n].oldindex
+-# endif /* !USE_HASHMAP */
++# endif /* !USE_HASHMAP */
+
+ #define OLDNUM_SIZE(sp) (sp)->_oldnum_size
+
+@@ -193,14 +193,20 @@
+ #if !defined(SCROLLDEBUG) && !defined(HASHDEBUG)
+ #if USE_HASHMAP
+ /* get enough storage */
+- if (OLDNUM_SIZE(SP_PARM) < screen_lines(SP_PARM)) {
++ assert(OLDNUM_SIZE(SP_PARM) >= 0);
++ assert(screen_lines(SP_PARM) > 0);
++ if ((oldnums(SP_PARM) == 0)
++ || (OLDNUM_SIZE(SP_PARM) < screen_lines(SP_PARM))) {
++ int need_lines = ((OLDNUM_SIZE(SP_PARM) < screen_lines(SP_PARM))
++ ? screen_lines(SP_PARM)
++ : OLDNUM_SIZE(SP_PARM));
+ int *new_oldnums = typeRealloc(int,
+- (size_t) screen_lines(SP_PARM),
++ (size_t) need_lines,
+ oldnums(SP_PARM));
+ if (!new_oldnums)
+ return;
+ oldnums(SP_PARM) = new_oldnums;
+- OLDNUM_SIZE(SP_PARM) = screen_lines(SP_PARM);
++ OLDNUM_SIZE(SP_PARM) = need_lines;
+ }
+ /* calculate the indices */
+ NCURSES_SP_NAME(_nc_hash_map) (NCURSES_SP_ARG);
+@@ -302,7 +308,9 @@
+
+ *buf = '\0';
+ for (n = 0; n < screen_lines(SP_PARM); n++)
+- (void) sprintf(buf + strlen(buf), " %02d", OLDNUM(SP_PARM, n));
++ _nc_SPRINTF(buf + strlen(buf),
++ _nc_SLIMIT(want - strlen(buf))
++ " %02d", OLDNUM(SP_PARM, n));
+ TR(TRACE_UPDATE | TRACE_MOVE, ("virt %s", buf));
+ free(buf);
+ }
+Index: ncurses/tty/hashmap.c
+Prereq: 1.62
+--- ncurses-5.9/ncurses/tty/hashmap.c 2010-04-24 23:46:07.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tty/hashmap.c 2011-10-22 16:34:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -73,7 +73,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: hashmap.c,v 1.62 2010/04/24 23:46:07 tom Exp $")
++MODULE_ID("$Id: hashmap.c,v 1.63 2011/10/22 16:34:50 tom Exp $")
+
+ #ifdef HASHDEBUG
+
+@@ -163,7 +163,7 @@
+ * effective. 'blank' indicates whether the line 'to' would become blank.
+ */
+ static NCURSES_INLINE bool
+-cost_effective(SCREEN *sp, const int from, const int to, const bool blank)
++cost_effective(SCREEN *sp, const int from, const int to, const int blank)
+ {
+ int new_from;
+
+Index: ncurses/tty/lib_mvcur.c
+Prereq: 1.126
+--- ncurses-5.9/ncurses/tty/lib_mvcur.c 2011-01-22 19:48:21.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tty/lib_mvcur.c 2013-01-27 01:40:01.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -159,7 +159,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_mvcur.c,v 1.126 2011/01/22 19:48:21 tom Exp $")
++MODULE_ID("$Id: lib_mvcur.c,v 1.132 2013/01/27 01:40:01 tom Exp $")
+
+ #define WANT_CHAR(sp, y, x) NewScreen(sp)->_line[y].text[x] /* desired state */
+
+@@ -176,6 +176,9 @@
+ static float diff;
+ #endif /* MAIN */
+
++#undef NCURSES_OUTC_FUNC
++#define NCURSES_OUTC_FUNC myOutCh
++
+ #define OPT_SIZE 512
+
+ static int normalized_cost(NCURSES_SP_DCLx const char *const cap, int affcnt);
+@@ -274,10 +277,9 @@
+ /* Set the scroll-region to a known state (the default) */
+ {
+ if (change_scroll_region) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "change_scroll_region",
+- TPARM_2(change_scroll_region,
+- 0, screen_lines(SP_PARM) - 1));
++ NCURSES_PUTP2("change_scroll_region",
++ TPARM_2(change_scroll_region,
++ 0, screen_lines(SP_PARM) - 1));
+ }
+ }
+
+@@ -285,14 +287,12 @@
+ NCURSES_SP_NAME(_nc_mvcur_resume) (NCURSES_SP_DCL0)
+ /* what to do at initialization time and after each shellout */
+ {
+- if (SP_PARM && !IsTermInfo(SP_PARM))
++ if (!SP_PARM || !IsTermInfo(SP_PARM))
+ return;
+
+ /* initialize screen for cursor access */
+ if (enter_ca_mode) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "enter_ca_mode",
+- enter_ca_mode);
++ NCURSES_PUTP2("enter_ca_mode", enter_ca_mode);
+ }
+
+ /*
+@@ -327,13 +327,14 @@
+ NCURSES_SP_NAME(_nc_mvcur_init) (NCURSES_SP_DCL0)
+ /* initialize the cost structure */
+ {
+- if (SP_PARM->_ofp && isatty(fileno(SP_PARM->_ofp)))
++ if (SP_PARM->_ofp && isatty(fileno(SP_PARM->_ofp))) {
+ SP_PARM->_char_padding = ((BAUDBYTE * 1000 * 10)
+ / (BAUDRATE(SP_PARM) > 0
+ ? BAUDRATE(SP_PARM)
+ : 9600));
+- else
++ } else {
+ SP_PARM->_char_padding = 1; /* must be nonzero */
++ }
+ if (SP_PARM->_char_padding <= 0)
+ SP_PARM->_char_padding = 1; /* must be nonzero */
+ TR(TRACE_CHARPUT | TRACE_MOVE, ("char_padding %d msecs", SP_PARM->_char_padding));
+@@ -481,9 +482,7 @@
+ }
+
+ if (exit_ca_mode) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "exit_ca_mode",
+- exit_ca_mode);
++ NCURSES_PUTP2("exit_ca_mode", exit_ca_mode);
+ }
+ /*
+ * Reset terminal's tab counter. There's a long-time bug that
+@@ -549,7 +548,7 @@
+ int from_x,
+ int to_y,
+ int to_x,
+- bool ovw)
++ int ovw)
+ /* move via local motions (cuu/cuu1/cud/cud1/cub1/cub/cuf1/cuf/vpa/hpa) */
+ {
+ string_desc save;
+@@ -770,7 +769,10 @@
+ */
+
+ static NCURSES_INLINE int
+-onscreen_mvcur(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew, bool ovw)
++onscreen_mvcur(NCURSES_SP_DCLx
++ int yold, int xold,
++ int ynew, int xnew, int ovw,
++ NCURSES_SP_OUTC myOutCh)
+ /* onscreen move from (yold, xold) to (ynew, xnew) */
+ {
+ string_desc result;
+@@ -935,7 +937,7 @@
+ if (usecost != INFINITY) {
+ TPUTS_TRACE("mvcur");
+ NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
+- buffer, 1, NCURSES_SP_NAME(_nc_outch));
++ buffer, 1, myOutCh);
+ SP_PARM->_cursrow = ynew;
+ SP_PARM->_curscol = xnew;
+ return (OK);
+@@ -943,9 +945,14 @@
+ return (ERR);
+ }
+
+-NCURSES_EXPORT(int)
+-TINFO_MVCUR(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew)
+-/* optimized cursor move from (yold, xold) to (ynew, xnew) */
++/*
++ * optimized cursor move from (yold, xold) to (ynew, xnew)
++ */
++static int
++_nc_real_mvcur(NCURSES_SP_DCLx
++ int yold, int xold,
++ int ynew, int xnew,
++ NCURSES_SP_OUTC myOutCh)
+ {
+ NCURSES_CH_T oldattr;
+ int code;
+@@ -994,20 +1001,16 @@
+
+ if (l > 0) {
+ if (carriage_return) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "carriage_return",
+- carriage_return);
++ NCURSES_PUTP2("carriage_return", carriage_return);
+ } else
+- NCURSES_SP_NAME(_nc_outch) (NCURSES_SP_ARGx '\r');
++ myOutCh(NCURSES_SP_ARGx '\r');
+ xold = 0;
+
+ while (l > 0) {
+ if (newline) {
+- NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx
+- "newline",
+- newline);
++ NCURSES_PUTP2("newline", newline);
+ } else
+- NCURSES_SP_NAME(_nc_outch) (NCURSES_SP_ARGx '\n');
++ myOutCh(NCURSES_SP_ARGx '\n');
+ l--;
+ }
+ }
+@@ -1027,7 +1030,7 @@
+ ynew = screen_lines(SP_PARM) - 1;
+
+ /* destination location is on screen now */
+- code = onscreen_mvcur(NCURSES_SP_ARGx yold, xold, ynew, xnew, TRUE);
++ code = onscreen_mvcur(NCURSES_SP_ARGx yold, xold, ynew, xnew, TRUE, myOutCh);
+
+ /*
+ * Restore attributes if we disabled them before moving.
+@@ -1042,13 +1045,63 @@
+ returnCode(code);
+ }
+
+-#if NCURSES_SP_FUNCS && !defined(USE_TERM_DRIVER)
++/*
++ * These entrypoints are used within the library.
++ */
++NCURSES_EXPORT(int)
++NCURSES_SP_NAME(_nc_mvcur) (NCURSES_SP_DCLx
++ int yold, int xold,
++ int ynew, int xnew)
++{
++ return _nc_real_mvcur(NCURSES_SP_ARGx yold, xold, ynew, xnew,
++ NCURSES_SP_NAME(_nc_outch));
++}
++
++#if NCURSES_SP_FUNCS
++NCURSES_EXPORT(int)
++_nc_mvcur(int yold, int xold,
++ int ynew, int xnew)
++{
++ return NCURSES_SP_NAME(_nc_mvcur) (CURRENT_SCREEN, yold, xold, ynew, xnew);
++}
++#endif
++
++#if defined(USE_TERM_DRIVER)
++/*
++ * The terminal driver does not support the external "mvcur()".
++ */
++NCURSES_EXPORT(int)
++TINFO_MVCUR(NCURSES_SP_DCLx int yold, int xold, int ynew, int xnew)
++{
++ return _nc_real_mvcur(NCURSES_SP_ARGx
++ yold, xold,
++ ynew, xnew,
++ NCURSES_SP_NAME(_nc_outch));
++}
++
++#else /* !USE_TERM_DRIVER */
++
++/*
++ * These entrypoints support users of the library.
++ */
++NCURSES_EXPORT(int)
++NCURSES_SP_NAME(mvcur) (NCURSES_SP_DCLx int yold, int xold, int ynew,
++ int xnew)
++{
++ return _nc_real_mvcur(NCURSES_SP_ARGx
++ yold, xold,
++ ynew, xnew,
++ NCURSES_SP_NAME(_nc_putchar));
++}
++
++#if NCURSES_SP_FUNCS
+ NCURSES_EXPORT(int)
+ mvcur(int yold, int xold, int ynew, int xnew)
+ {
+ return NCURSES_SP_NAME(mvcur) (CURRENT_SCREEN, yold, xold, ynew, xnew);
+ }
+ #endif
++#endif /* USE_TERM_DRIVER */
+
+ #if defined(TRACE) || defined(NCURSES_TEST)
+ NCURSES_EXPORT_VAR(int) _nc_optimize_enable = OPTIMIZE_ALL;
+Index: ncurses/tty/lib_tstp.c
+Prereq: 1.41
+--- ncurses-5.9/ncurses/tty/lib_tstp.c 2010-05-15 21:31:12.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tty/lib_tstp.c 2013-04-27 19:50:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,11 +42,7 @@
+
+ #include <SigAction.h>
+
+-#if SVR4_ACTION && !defined(_POSIX_SOURCE)
+-#define _POSIX_SOURCE
+-#endif
+-
+-MODULE_ID("$Id: lib_tstp.c,v 1.41 2010/05/15 21:31:12 tom Exp $")
++MODULE_ID("$Id: lib_tstp.c,v 1.47 2013/04/27 19:50:17 tom Exp $")
+
+ #if defined(SIGTSTP) && (HAVE_SIGACTION || HAVE_SIGVEC)
+ #define USE_SIGTSTP 1
+@@ -138,7 +134,7 @@
+
+ #if USE_SIGTSTP
+ static void
+-tstp(int dummy GCC_UNUSED)
++handle_SIGTSTP(int dummy GCC_UNUSED)
+ {
+ SCREEN *sp = CURRENT_SCREEN;
+ sigset_t mask, omask;
+@@ -148,7 +144,8 @@
+ int sigttou_blocked;
+ #endif
+
+- T(("tstp() called"));
++ _nc_globals.have_sigtstp = 1;
++ T(("handle_SIGTSTP() called"));
+
+ /*
+ * The user may have changed the prog_mode tty bits, so save them.
+@@ -239,21 +236,24 @@
+ #endif /* USE_SIGTSTP */
+
+ static void
+-cleanup(int sig)
++handle_SIGINT(int sig)
+ {
+ SCREEN *sp = CURRENT_SCREEN;
+
+ /*
+- * Actually, doing any sort of I/O from within an signal handler is
+- * "unsafe". But we'll _try_ to clean up the screen and terminal
+- * settings on the way out.
++ * Much of this is unsafe from a signal handler. But we'll _try_ to clean
++ * up the screen and terminal settings on the way out.
++ *
++ * There are at least the following problems:
++ * 1) Walking the SCREEN list is unsafe, since all list management
++ * is done without any signal blocking.
++ * 2) On systems which have REENTRANT turned on, set_term() uses
++ * _nc_lock_global() which could deadlock or misbehave in other ways.
++ * 3) endwin() calls all sorts of stuff, many of which use stdio or
++ * other library functions which are clearly unsafe.
+ */
+ if (!_nc_globals.cleanup_nested++
+- && (sig == SIGINT
+-#ifdef SIGQUIT
+- || sig == SIGQUIT
+-#endif
+- )) {
++ && (sig == SIGINT || sig == SIGTERM)) {
+ #if HAVE_SIGACTION || HAVE_SIGVEC
+ sigaction_t act;
+ sigemptyset(&act.sa_mask);
+@@ -268,22 +268,21 @@
+ for (each_screen(scan)) {
+ if (scan->_ofp != 0
+ && isatty(fileno(scan->_ofp))) {
+- scan->_cleanup = TRUE;
+ scan->_outch = NCURSES_SP_NAME(_nc_outch);
+ }
+ set_term(scan);
+ NCURSES_SP_NAME(endwin) (NCURSES_SP_ARG);
+ if (sp)
+- sp->_endwin = FALSE; /* in case we have an atexit! */
++ sp->_endwin = FALSE; /* in case of reuse */
+ }
+ }
+ }
+- exit(EXIT_FAILURE);
++ _exit(EXIT_FAILURE);
+ }
+
+ #if USE_SIGWINCH
+ static void
+-sigwinch(int sig GCC_UNUSED)
++handle_SIGWINCH(int sig GCC_UNUSED)
+ {
+ _nc_globals.have_sigwinch = 1;
+ # if USE_PTHREADS_EINTR
+@@ -301,7 +300,7 @@
+ * handler.
+ */
+ static int
+-CatchIfDefault(int sig, RETSIGTYPE (*handler) (int))
++CatchIfDefault(int sig, void (*handler) (int))
+ {
+ int result;
+ #if HAVE_SIGACTION || HAVE_SIGVEC
+@@ -331,7 +330,7 @@
+ result = FALSE;
+ }
+ #else /* !HAVE_SIGACTION */
+- RETSIGTYPE (*ohandler) (int);
++ void (*ohandler) (int);
+
+ ohandler = signal(sig, SIG_IGN);
+ if (ohandler == SIG_DFL
+@@ -364,7 +363,7 @@
+ * the caller later changes its mind, but that doesn't seem correct.
+ */
+ NCURSES_EXPORT(void)
+-_nc_signal_handler(bool enable)
++_nc_signal_handler(int enable)
+ {
+ T((T_CALLED("_nc_signal_handler(%d)"), enable));
+ #if USE_SIGTSTP /* Xenix 2.x doesn't have SIGTSTP, for example */
+@@ -385,7 +384,7 @@
+ #ifdef SA_RESTART
+ new_sigaction.sa_flags |= SA_RESTART;
+ #endif /* SA_RESTART */
+- new_sigaction.sa_handler = tstp;
++ new_sigaction.sa_handler = handle_SIGTSTP;
+ (void) sigaction(SIGTSTP, &new_sigaction, NULL);
+ } else {
+ ignore_tstp = TRUE;
+@@ -396,10 +395,10 @@
+
+ if (!_nc_globals.init_signals) {
+ if (enable) {
+- CatchIfDefault(SIGINT, cleanup);
+- CatchIfDefault(SIGTERM, cleanup);
++ CatchIfDefault(SIGINT, handle_SIGINT);
++ CatchIfDefault(SIGTERM, handle_SIGINT);
+ #if USE_SIGWINCH
+- CatchIfDefault(SIGWINCH, sigwinch);
++ CatchIfDefault(SIGWINCH, handle_SIGWINCH);
+ #endif
+ _nc_globals.init_signals = TRUE;
+ }
+Index: ncurses/tty/lib_twait.c
+Prereq: 1.61
+--- ncurses-5.9/ncurses/tty/lib_twait.c 2010-12-25 23:43:58.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tty/lib_twait.c 2013-02-18 09:22:27.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -53,6 +53,11 @@
+ #include <OS.h>
+ #endif
+
++#if USE_KLIBC_KBD
++#define INCL_KBD
++#include <os2.h>
++#endif
++
+ #if USE_FUNC_POLL
+ # if HAVE_SYS_TIME_H
+ # include <sys/time.h>
+@@ -70,10 +75,10 @@
+ #endif
+ #undef CUR
+
+-MODULE_ID("$Id: lib_twait.c,v 1.61 2010/12/25 23:43:58 tom Exp $")
++MODULE_ID("$Id: lib_twait.c,v 1.67 2013/02/18 09:22:27 tom Exp $")
+
+ static long
+-_nc_gettime(TimeType * t0, bool first)
++_nc_gettime(TimeType * t0, int first)
+ {
+ long res;
+
+@@ -184,6 +189,12 @@
+ fd_set set;
+ #endif
+
++#if USE_KLIBC_KBD
++ fd_set saved_set;
++ KBDKEYINFO ki;
++ struct timeval tv;
++#endif
++
+ long starttime, returntime;
+
+ TR(TRACE_IEVENT, ("start twait: %d milliseconds, mode: %d",
+@@ -207,6 +218,7 @@
+ starttime = _nc_gettime(&t0, TRUE);
+
+ count = 0;
++ (void) count;
+
+ #ifdef NCURSES_WGETCH_EVENTS
+ if ((mode & TW_EVENT) && evl)
+@@ -217,8 +229,11 @@
+ memset(fd_list, 0, sizeof(fd_list));
+
+ #ifdef NCURSES_WGETCH_EVENTS
+- if ((mode & TW_EVENT) && evl)
++ if ((mode & TW_EVENT) && evl) {
+ fds = typeMalloc(struct pollfd, MIN_FDS + evl->count);
++ if (fds == 0)
++ return TW_NONE;
++ }
+ #endif
+
+ if (mode & TW_INPUT) {
+@@ -247,7 +262,7 @@
+ }
+ #endif
+
+- result = poll(fds, (unsigned) count, milliseconds);
++ result = poll(fds, (size_t) count, milliseconds);
+
+ #ifdef NCURSES_WGETCH_EVENTS
+ if ((mode & TW_EVENT) && evl) {
+@@ -274,10 +289,6 @@
+ }
+ }
+ }
+-
+- if (fds != fd_list)
+- free((char *) fds);
+-
+ #endif
+
+ #elif defined(__BEOS__)
+@@ -329,10 +340,12 @@
+ */
+ FD_ZERO(&set);
+
++#if !USE_KLIBC_KBD
+ if (mode & TW_INPUT) {
+ FD_SET(sp->_ifd, &set);
+ count = sp->_ifd + 1;
+ }
++#endif
+ if ((mode & TW_MOUSE)
+ && (fd = sp->_mouse_fd) >= 0) {
+ FD_SET(fd, &set);
+@@ -352,6 +365,31 @@
+ }
+ #endif
+
++#if USE_KLIBC_KBD
++ for (saved_set = set;; set = saved_set) {
++ if ((mode & TW_INPUT)
++ && (sp->_extended_key
++ || (KbdPeek(&ki, 0) == 0
++ && (ki.fbStatus & KBDTRF_FINAL_CHAR_IN)))) {
++ FD_ZERO(&set);
++ FD_SET(sp->_ifd, &set);
++ result = 1;
++ break;
++ }
++
++ tv.tv_sec = 0;
++ tv.tv_usec = (milliseconds == 0) ? 0 : (10 * 1000);
++
++ if ((result = select(count, &set, NULL, NULL, &tv)) != 0)
++ break;
++
++ /* Time out ? */
++ if (milliseconds >= 0 && _nc_gettime(&t0, FALSE) >= milliseconds) {
++ result = 0;
++ break;
++ }
++ }
++#else
+ if (milliseconds >= 0) {
+ struct timeval ntimeout;
+ ntimeout.tv_sec = milliseconds / 1000;
+@@ -360,6 +398,7 @@
+ } else {
+ result = select(count, &set, NULL, NULL, NULL);
+ }
++#endif
+
+ #ifdef NCURSES_WGETCH_EVENTS
+ if ((mode & TW_EVENT) && evl) {
+@@ -462,5 +501,12 @@
+ result |= TW_EVENT;
+ #endif
+
++#if USE_FUNC_POLL
++#ifdef NCURSES_WGETCH_EVENTS
++ if (fds != fd_list)
++ free((char *) fds);
++#endif
++#endif
++
+ return (result);
+ }
+Index: ncurses/tty/lib_vidattr.c
+Prereq: 1.61
+--- ncurses-5.9/ncurses/tty/lib_vidattr.c 2010-06-05 22:22:04.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tty/lib_vidattr.c 2013-01-12 18:00:54.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -69,7 +69,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_vidattr.c,v 1.61 2010/06/05 22:22:04 tom Exp $")
++MODULE_ID("$Id: lib_vidattr.c,v 1.63 2013/01/12 18:00:54 tom Exp $")
+
+ #define doPut(mode) \
+ TPUTS_TRACE(#mode); \
+@@ -324,7 +324,7 @@
+ T((T_CALLED("vidattr(%p,%s)"), (void *) SP_PARM, _traceattr(newmode)));
+ returnCode(NCURSES_SP_NAME(vidputs) (NCURSES_SP_ARGx
+ newmode,
+- NCURSES_SP_NAME(_nc_outch)));
++ NCURSES_SP_NAME(_nc_putchar)));
+ }
+
+ #if NCURSES_SP_FUNCS
+@@ -341,42 +341,44 @@
+ chtype attrs = A_NORMAL;
+
+ T((T_CALLED("termattrs(%p)"), (void *) SP_PARM));
++
++ if (HasTerminal(SP_PARM)) {
+ #ifdef USE_TERM_DRIVER
+- if (HasTerminal(SP_PARM))
+ attrs = CallDriver(SP_PARM, conattr);
+ #else
+
+- if (enter_alt_charset_mode)
+- attrs |= A_ALTCHARSET;
++ if (enter_alt_charset_mode)
++ attrs |= A_ALTCHARSET;
+
+- if (enter_blink_mode)
+- attrs |= A_BLINK;
++ if (enter_blink_mode)
++ attrs |= A_BLINK;
+
+- if (enter_bold_mode)
+- attrs |= A_BOLD;
++ if (enter_bold_mode)
++ attrs |= A_BOLD;
+
+- if (enter_dim_mode)
+- attrs |= A_DIM;
++ if (enter_dim_mode)
++ attrs |= A_DIM;
+
+- if (enter_reverse_mode)
+- attrs |= A_REVERSE;
++ if (enter_reverse_mode)
++ attrs |= A_REVERSE;
+
+- if (enter_standout_mode)
+- attrs |= A_STANDOUT;
++ if (enter_standout_mode)
++ attrs |= A_STANDOUT;
+
+- if (enter_protected_mode)
+- attrs |= A_PROTECT;
++ if (enter_protected_mode)
++ attrs |= A_PROTECT;
+
+- if (enter_secure_mode)
+- attrs |= A_INVIS;
++ if (enter_secure_mode)
++ attrs |= A_INVIS;
+
+- if (enter_underline_mode)
+- attrs |= A_UNDERLINE;
++ if (enter_underline_mode)
++ attrs |= A_UNDERLINE;
+
+- if (SP_PARM->_coloron)
+- attrs |= A_COLOR;
++ if (SP_PARM->_coloron)
++ attrs |= A_COLOR;
+
+ #endif
++ }
+ returnChtype(attrs);
+ }
+
+Index: ncurses/tty/tty_update.c
+Prereq: 1.264
+--- ncurses-5.9/ncurses/tty/tty_update.c 2010-12-19 01:21:02.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/tty/tty_update.c 2013-02-16 21:12:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -82,7 +82,7 @@
+
+ #include <ctype.h>
+
+-MODULE_ID("$Id: tty_update.c,v 1.264 2010/12/19 01:21:02 tom Exp $")
++MODULE_ID("$Id: tty_update.c,v 1.276 2013/02/16 21:12:02 tom Exp $")
+
+ /*
+ * This define controls the line-breakout optimization. Every once in a
+@@ -145,8 +145,7 @@
+
+ NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
+ memset(buf, '\0', sizeof(buf));
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx "\033[6n"); /* only works on ANSI-compatibles */
+- NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
++ NCURSES_PUTP2_FLUSH("cpr", "\033[6n"); /* only works on ANSI-compatibles */
+ *(s = buf) = 0;
+ do {
+ int ask = sizeof(buf) - 1 - (s - buf);
+@@ -209,7 +208,9 @@
+ {
+ int chlen = 1;
+ NCURSES_CH_T my_ch;
++#if USE_WIDEC_SUPPORT
+ PUTC_DATA;
++#endif
+ NCURSES_CH_T tilde;
+ NCURSES_CH_T attr = CHDEREF(ch);
+
+@@ -276,6 +277,11 @@
+ && SP_PARM->_screen_acs_map[CharOf(my_ch)]) {
+ RemAttr(attr, A_ALTCHARSET);
+ my_ch = _nc_wacs[CharOf(my_ch)];
++ } else if (SP_PARM->_screen_unicode
++ && !SP_PARM->_screen_acs_map[CharOf(my_ch)]
++ && _nc_wacs[CharOf(my_ch)].chars[0]) {
++ RemAttr(attr, A_ALTCHARSET);
++ my_ch = _nc_wacs[CharOf(my_ch)];
+ }
+ #endif
+ /*
+@@ -288,13 +294,12 @@
+ int j = CharOfD(ch);
+ chtype temp = UChar(SP_PARM->_acs_map[j]);
+
+- if (!(SP_PARM->_screen_acs_map[j])) {
++ if (temp != 0) {
++ SetChar(my_ch, temp, AttrOf(attr));
++ } else {
++ my_ch = CHDEREF(ch);
+ RemAttr(attr, A_ALTCHARSET);
+- if (temp == 0)
+- temp = ' ';
+ }
+- if (temp != 0)
+- SetChar(my_ch, temp, AttrOf(attr));
+ }
+ ch = CHREF(my_ch);
+ }
+@@ -304,22 +309,13 @@
+ }
+
+ UpdateAttrs(SP_PARM, attr);
++ PUTC(CHDEREF(ch));
+ #if !USE_WIDEC_SUPPORT
+- /* FIXME - we do this special case for signal handling, should see how to
+- * make it work for wide characters.
+- */
+- if (SP_PARM->_outch != 0) {
+- SP_PARM->_outch(NCURSES_SP_ARGx UChar(ch));
+- } else
++ COUNT_OUTCHARS(1);
+ #endif
+- {
+- PUTC(CHDEREF(ch), SP_PARM->_ofp); /* macro's fastest... */
+- COUNT_OUTCHARS(1);
+- }
+ SP_PARM->_curscol += chlen;
+ if (char_padding) {
+- TPUTS_TRACE("char_padding");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx char_padding);
++ NCURSES_PUTP2("char_padding", char_padding);
+ }
+ }
+
+@@ -342,7 +338,7 @@
+ struct pollfd fds[1];
+ fds[0].fd = SP_PARM->_checkfd;
+ fds[0].events = POLLIN;
+- if (poll(fds, 1, 0) > 0) {
++ if (poll(fds, (size_t) 1, 0) > 0) {
+ have_pending = TRUE;
+ }
+ #elif defined(__BEOS__)
+@@ -390,8 +386,7 @@
+ PutAttrChar(NCURSES_SP_ARGx ch);
+ } else if (enter_am_mode && exit_am_mode) {
+ /* we can suppress automargin */
+- TPUTS_TRACE("exit_am_mode");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_am_mode);
++ NCURSES_PUTP2("exit_am_mode", exit_am_mode);
+
+ PutAttrChar(NCURSES_SP_ARGx ch);
+ SP_PARM->_curscol--;
+@@ -400,8 +395,7 @@
+ SP_PARM->_curscol,
+ "exit_am_mode");
+
+- TPUTS_TRACE("enter_am_mode");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx enter_am_mode);
++ NCURSES_PUTP2("enter_am_mode", enter_am_mode);
+ } else if ((enter_insert_mode && exit_insert_mode)
+ || insert_character || parm_ich) {
+ GoTo(NCURSES_SP_ARGx
+@@ -497,11 +491,12 @@
+ return FALSE;
+ if ((pair = GetPair(CHDEREF(ch))) != 0) {
+ short fg, bg;
+- NCURSES_SP_NAME(pair_content) (NCURSES_SP_ARGx
+- (short) pair,
+- &fg, &bg);
+- if (fg != C_MASK || bg != C_MASK)
++ if (NCURSES_SP_NAME(pair_content) (NCURSES_SP_ARGx
++ (short) pair,
++ &fg, &bg) == ERR
++ || (fg != C_MASK || bg != C_MASK)) {
+ return FALSE;
++ }
+ }
+ #else
+ if (AttrOfD(ch) & A_COLOR)
+@@ -563,8 +558,7 @@
+ && runcount > SP_PARM->_ech_cost + SP_PARM->_cup_ch_cost
+ && can_clear_with(NCURSES_SP_ARGx CHREF(ntext0))) {
+ UpdateAttrs(SP_PARM, ntext0);
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
+- TPARM_1(erase_chars, runcount));
++ NCURSES_PUTP2("erase_chars", TPARM_1(erase_chars, runcount));
+
+ /*
+ * If this is the last part of the given interval,
+@@ -677,6 +671,9 @@
+
+ T((T_CALLED("_nc_tinfo:doupdate(%p)"), (void *) SP_PARM));
+
++ if (SP_PARM == 0)
++ returnCode(ERR);
++
+ #if !USE_REENTRANT
+ /*
+ * It is "legal" but unlikely that an application could assign a new
+@@ -1076,32 +1073,29 @@
+ */
+
+ static void
+-ClrToEOL(NCURSES_SP_DCLx NCURSES_CH_T blank, bool needclear)
++ClrToEOL(NCURSES_SP_DCLx NCURSES_CH_T blank, int needclear)
+ {
+ int j;
+
+- if (SP_PARM != 0) {
+- if (CurScreen(SP_PARM) != 0
+- && SP_PARM->_cursrow >= 0) {
+- for (j = SP_PARM->_curscol; j < screen_columns(SP_PARM); j++) {
+- if (j >= 0) {
+- NCURSES_CH_T *cp =
+- &(CurScreen(SP_PARM)->_line[SP_PARM->_cursrow].text[j]);
+-
+- if (!CharEq(*cp, blank)) {
+- *cp = blank;
+- needclear = TRUE;
+- }
++ if (CurScreen(SP_PARM) != 0
++ && SP_PARM->_cursrow >= 0) {
++ for (j = SP_PARM->_curscol; j < screen_columns(SP_PARM); j++) {
++ if (j >= 0) {
++ NCURSES_CH_T *cp =
++ &(CurScreen(SP_PARM)->_line[SP_PARM->_cursrow].text[j]);
++
++ if (!CharEq(*cp, blank)) {
++ *cp = blank;
++ needclear = TRUE;
+ }
+ }
+ }
+ }
+
+- if (needclear && (SP_PARM != 0)) {
++ if (needclear) {
+ UpdateAttrs(SP_PARM, blank);
+- TPUTS_TRACE("clr_eol");
+ if (clr_eol && SP_PARM->_el_cost <= (screen_columns(SP_PARM) - SP_PARM->_curscol)) {
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx clr_eol);
++ NCURSES_PUTP2("clr_eol", clr_eol);
+ } else {
+ int count = (screen_columns(SP_PARM) - SP_PARM->_curscol);
+ while (count-- > 0)
+@@ -1121,12 +1115,14 @@
+ {
+ int row, col;
+
+- if (0 == SP_PARM)
+- return;
+-
+ row = SP_PARM->_cursrow;
+ col = SP_PARM->_curscol;
+
++ if (row < 0)
++ row = 0;
++ if (col < 0)
++ col = 0;
++
+ UpdateAttrs(SP_PARM, blank);
+ TPUTS_TRACE("clr_eos");
+ NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
+@@ -1370,13 +1366,11 @@
+ && SP_PARM->_el_cost <= SP_PARM->_el1_cost) {
+ GoTo(NCURSES_SP_ARGx lineno, 0);
+ UpdateAttrs(SP_PARM, blank);
+- TPUTS_TRACE("clr_eol");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx clr_eol);
++ NCURSES_PUTP2("clr_eol", clr_eol);
+ } else {
+ GoTo(NCURSES_SP_ARGx lineno, nFirstChar - 1);
+ UpdateAttrs(SP_PARM, blank);
+- TPUTS_TRACE("clr_bol");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx clr_bol);
++ NCURSES_PUTP2("clr_bol", clr_bol);
+ }
+
+ while (firstChar < nFirstChar)
+@@ -1574,8 +1568,7 @@
+ if (fast_clear) {
+ if (clear_screen) {
+ UpdateAttrs(SP_PARM, blank);
+- TPUTS_TRACE("clear_screen");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx clear_screen);
++ NCURSES_PUTP2("clear_screen", clear_screen);
+ SP_PARM->_cursrow = SP_PARM->_curscol = 0;
+ position_check(SP_PARM,
+ SP_PARM->_cursrow,
+@@ -1595,8 +1588,7 @@
+ UpdateAttrs(SP_PARM, blank);
+ for (i = 0; i < screen_lines(SP_PARM); i++) {
+ GoTo(NCURSES_SP_ARGx i, 0);
+- TPUTS_TRACE("clr_eol");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx clr_eol);
++ NCURSES_PUTP2("clr_eol", clr_eol);
+ }
+ GoTo(NCURSES_SP_ARGx 0, 0);
+ }
+@@ -1647,27 +1639,22 @@
+ count--;
+ }
+ } else if (enter_insert_mode && exit_insert_mode) {
+- TPUTS_TRACE("enter_insert_mode");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx enter_insert_mode);
++ NCURSES_PUTP2("enter_insert_mode", enter_insert_mode);
+ while (count) {
+ PutAttrChar(NCURSES_SP_ARGx CHREF(*line));
+ if (insert_padding) {
+- TPUTS_TRACE("insert_padding");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_padding);
++ NCURSES_PUTP2("insert_padding", insert_padding);
+ }
+ line++;
+ count--;
+ }
+- TPUTS_TRACE("exit_insert_mode");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_insert_mode);
++ NCURSES_PUTP2("exit_insert_mode", exit_insert_mode);
+ } else {
+ while (count) {
+- TPUTS_TRACE("insert_character");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_character);
++ NCURSES_PUTP2("insert_character", insert_character);
+ PutAttrChar(NCURSES_SP_ARGx CHREF(*line));
+ if (insert_padding) {
+- TPUTS_TRACE("insert_padding");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_padding);
++ NCURSES_PUTP2("insert_padding", insert_padding);
+ }
+ line++;
+ count--;
+@@ -1701,8 +1688,7 @@
+ NCURSES_SP_NAME(_nc_outch));
+ } else {
+ for (n = 0; n < count; n++) {
+- TPUTS_TRACE("delete_character");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx delete_character);
++ NCURSES_PUTP2("delete_character", delete_character);
+ }
+ }
+ }
+@@ -1754,13 +1740,11 @@
+ if (n == 1 && scroll_forward && top == miny && bot == maxy) {
+ GoTo(NCURSES_SP_ARGx bot, 0);
+ UpdateAttrs(SP_PARM, blank);
+- TPUTS_TRACE("scroll_forward");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx scroll_forward);
++ NCURSES_PUTP2("scroll_forward", scroll_forward);
+ } else if (n == 1 && delete_line && bot == maxy) {
+ GoTo(NCURSES_SP_ARGx top, 0);
+ UpdateAttrs(SP_PARM, blank);
+- TPUTS_TRACE("delete_line");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx delete_line);
++ NCURSES_PUTP2("delete_line", delete_line);
+ } else if (parm_index && top == miny && bot == maxy) {
+ GoTo(NCURSES_SP_ARGx bot, 0);
+ UpdateAttrs(SP_PARM, blank);
+@@ -1781,15 +1765,13 @@
+ GoTo(NCURSES_SP_ARGx bot, 0);
+ UpdateAttrs(SP_PARM, blank);
+ for (i = 0; i < n; i++) {
+- TPUTS_TRACE("scroll_forward");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx scroll_forward);
++ NCURSES_PUTP2("scroll_forward", scroll_forward);
+ }
+ } else if (delete_line && bot == maxy) {
+ GoTo(NCURSES_SP_ARGx top, 0);
+ UpdateAttrs(SP_PARM, blank);
+ for (i = 0; i < n; i++) {
+- TPUTS_TRACE("delete_line");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx delete_line);
++ NCURSES_PUTP2("delete_line", delete_line);
+ }
+ } else
+ return ERR;
+@@ -1823,13 +1805,11 @@
+ if (n == 1 && scroll_reverse && top == miny && bot == maxy) {
+ GoTo(NCURSES_SP_ARGx top, 0);
+ UpdateAttrs(SP_PARM, blank);
+- TPUTS_TRACE("scroll_reverse");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx scroll_reverse);
++ NCURSES_PUTP2("scroll_reverse", scroll_reverse);
+ } else if (n == 1 && insert_line && bot == maxy) {
+ GoTo(NCURSES_SP_ARGx top, 0);
+ UpdateAttrs(SP_PARM, blank);
+- TPUTS_TRACE("insert_line");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_line);
++ NCURSES_PUTP2("insert_line", insert_line);
+ } else if (parm_rindex && top == miny && bot == maxy) {
+ GoTo(NCURSES_SP_ARGx top, 0);
+ UpdateAttrs(SP_PARM, blank);
+@@ -1850,15 +1830,13 @@
+ GoTo(NCURSES_SP_ARGx top, 0);
+ UpdateAttrs(SP_PARM, blank);
+ for (i = 0; i < n; i++) {
+- TPUTS_TRACE("scroll_reverse");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx scroll_reverse);
++ NCURSES_PUTP2("scroll_reverse", scroll_reverse);
+ }
+ } else if (insert_line && bot == maxy) {
+ GoTo(NCURSES_SP_ARGx top, 0);
+ UpdateAttrs(SP_PARM, blank);
+ for (i = 0; i < n; i++) {
+- TPUTS_TRACE("insert_line");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_line);
++ NCURSES_PUTP2("insert_line", insert_line);
+ }
+ } else
+ return ERR;
+@@ -1889,8 +1867,7 @@
+ GoTo(NCURSES_SP_ARGx del, 0);
+ UpdateAttrs(SP_PARM, blank);
+ if (n == 1 && delete_line) {
+- TPUTS_TRACE("delete_line");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx delete_line);
++ NCURSES_PUTP2("delete_line", delete_line);
+ } else if (parm_delete_line) {
+ TPUTS_TRACE("parm_delete_line");
+ NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
+@@ -1899,16 +1876,14 @@
+ NCURSES_SP_NAME(_nc_outch));
+ } else { /* if (delete_line) */
+ for (i = 0; i < n; i++) {
+- TPUTS_TRACE("delete_line");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx delete_line);
++ NCURSES_PUTP2("delete_line", delete_line);
+ }
+ }
+
+ GoTo(NCURSES_SP_ARGx ins, 0);
+ UpdateAttrs(SP_PARM, blank);
+ if (n == 1 && insert_line) {
+- TPUTS_TRACE("insert_line");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_line);
++ NCURSES_PUTP2("insert_line", insert_line);
+ } else if (parm_insert_line) {
+ TPUTS_TRACE("parm_insert_line");
+ NCURSES_SP_NAME(tputs) (NCURSES_SP_ARGx
+@@ -1917,8 +1892,7 @@
+ NCURSES_SP_NAME(_nc_outch));
+ } else { /* if (insert_line) */
+ for (i = 0; i < n; i++) {
+- TPUTS_TRACE("insert_line");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx insert_line);
++ NCURSES_PUTP2("insert_line", insert_line);
+ }
+ }
+
+@@ -1975,24 +1949,20 @@
+ && (SP_PARM->_cursrow == bot || SP_PARM->_cursrow == bot - 1))
+ && save_cursor && restore_cursor) {
+ cursor_saved = TRUE;
+- TPUTS_TRACE("save_cursor");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx save_cursor);
++ NCURSES_PUTP2("save_cursor", save_cursor);
+ }
+- TPUTS_TRACE("change_scroll_region");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
+- TPARM_2(change_scroll_region, top, bot));
++ NCURSES_PUTP2("change_scroll_region",
++ TPARM_2(change_scroll_region, top, bot));
+ if (cursor_saved) {
+- TPUTS_TRACE("restore_cursor");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx restore_cursor);
++ NCURSES_PUTP2("restore_cursor", restore_cursor);
+ } else {
+ SP_PARM->_cursrow = SP_PARM->_curscol = -1;
+ }
+
+ res = scroll_csr_forward(NCURSES_SP_ARGx n, top, bot, top, bot, blank);
+
+- TPUTS_TRACE("change_scroll_region");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
+- TPARM_2(change_scroll_region, 0, maxy));
++ NCURSES_PUTP2("change_scroll_region",
++ TPARM_2(change_scroll_region, 0, maxy));
+ SP_PARM->_cursrow = SP_PARM->_curscol = -1;
+ }
+
+@@ -2025,15 +1995,12 @@
+ SP_PARM->_cursrow == top - 1)
+ && save_cursor && restore_cursor) {
+ cursor_saved = TRUE;
+- TPUTS_TRACE("save_cursor");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx save_cursor);
++ NCURSES_PUTP2("save_cursor", save_cursor);
+ }
+- TPUTS_TRACE("change_scroll_region");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
+- TPARM_2(change_scroll_region, top, bot));
++ NCURSES_PUTP2("change_scroll_region",
++ TPARM_2(change_scroll_region, top, bot));
+ if (cursor_saved) {
+- TPUTS_TRACE("restore_cursor");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx restore_cursor);
++ NCURSES_PUTP2("restore_cursor", restore_cursor);
+ } else {
+ SP_PARM->_cursrow = SP_PARM->_curscol = -1;
+ }
+@@ -2041,9 +2008,8 @@
+ res = scroll_csr_backward(NCURSES_SP_ARGx
+ -n, top, bot, top, bot, blank);
+
+- TPUTS_TRACE("change_scroll_region");
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
+- TPARM_2(change_scroll_region, 0, maxy));
++ NCURSES_PUTP2("change_scroll_region",
++ TPARM_2(change_scroll_region, 0, maxy));
+ SP_PARM->_cursrow = SP_PARM->_curscol = -1;
+ }
+
+@@ -2114,23 +2080,25 @@
+ }
+
+ if (exit_attribute_mode)
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_attribute_mode);
++ NCURSES_PUTP2("exit_attribute_mode", exit_attribute_mode);
+ else {
+ /* turn off attributes */
+ if (exit_alt_charset_mode)
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_alt_charset_mode);
++ NCURSES_PUTP2("exit_alt_charset_mode", exit_alt_charset_mode);
+ if (exit_standout_mode)
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_standout_mode);
++ NCURSES_PUTP2("exit_standout_mode", exit_standout_mode);
+ if (exit_underline_mode)
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_underline_mode);
++ NCURSES_PUTP2("exit_underline_mode", exit_underline_mode);
+ }
+ if (exit_insert_mode)
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx exit_insert_mode);
+- if (enter_am_mode && exit_am_mode)
+- NCURSES_SP_NAME(putp) (NCURSES_SP_ARGx
+- (auto_right_margin
+- ? enter_am_mode
+- : exit_am_mode));
++ NCURSES_PUTP2("exit_insert_mode", exit_insert_mode);
++ if (enter_am_mode && exit_am_mode) {
++ if (auto_right_margin) {
++ NCURSES_PUTP2("enter_am_mode", enter_am_mode);
++ } else {
++ NCURSES_PUTP2("exit_am_mode", exit_am_mode);
++ }
++ }
+ }
+
+ #if NCURSES_SP_FUNCS
+@@ -2159,33 +2127,33 @@
+ NCURSES_EXPORT(void)
+ NCURSES_SP_NAME(_nc_screen_wrap) (NCURSES_SP_DCL0)
+ {
+- if (SP_PARM == 0)
+- return;
++ if (SP_PARM != 0) {
+
+- UpdateAttrs(SP_PARM, normal);
++ UpdateAttrs(SP_PARM, normal);
+ #if NCURSES_EXT_FUNCS
+- if (SP_PARM->_coloron
+- && !SP_PARM->_default_color) {
+- static const NCURSES_CH_T blank = NewChar(BLANK_TEXT);
+- SP_PARM->_default_color = TRUE;
+- NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_ARGx
+- -1,
+- 0,
+- FALSE,
+- NCURSES_SP_NAME(_nc_outch));
+- SP_PARM->_default_color = FALSE;
+-
+- TINFO_MVCUR(NCURSES_SP_ARGx
+- SP_PARM->_cursrow,
+- SP_PARM->_curscol,
+- screen_lines(SP_PARM) - 1,
+- 0);
++ if (SP_PARM->_coloron
++ && !SP_PARM->_default_color) {
++ static const NCURSES_CH_T blank = NewChar(BLANK_TEXT);
++ SP_PARM->_default_color = TRUE;
++ NCURSES_SP_NAME(_nc_do_color) (NCURSES_SP_ARGx
++ -1,
++ 0,
++ FALSE,
++ NCURSES_SP_NAME(_nc_outch));
++ SP_PARM->_default_color = FALSE;
++
++ TINFO_MVCUR(NCURSES_SP_ARGx
++ SP_PARM->_cursrow,
++ SP_PARM->_curscol,
++ screen_lines(SP_PARM) - 1,
++ 0);
+
+- ClrToEOL(NCURSES_SP_ARGx blank, TRUE);
+- }
++ ClrToEOL(NCURSES_SP_ARGx blank, TRUE);
++ }
+ #endif
+- if (SP_PARM->_color_defs) {
+- NCURSES_SP_NAME(_nc_reset_colors) (NCURSES_SP_ARG);
++ if (SP_PARM->_color_defs) {
++ NCURSES_SP_NAME(_nc_reset_colors) (NCURSES_SP_ARG);
++ }
+ }
+ }
+
+Index: ncurses/widechar/lib_box_set.c
+Prereq: 1.5
+--- ncurses-5.9/ncurses/widechar/lib_box_set.c 2009-10-24 22:36:56.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_box_set.c 2011-06-25 19:02:07.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2003,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_box_set.c,v 1.5 2009/10/24 22:36:56 tom Exp $")
++MODULE_ID("$Id: lib_box_set.c,v 1.6 2011/06/25 19:02:07 Vassili.Courzakis Exp $")
+
+ NCURSES_EXPORT(int)
+ wborder_set(WINDOW *win,
+@@ -52,7 +52,7 @@
+ NCURSES_SIZE_T endx, endy;
+ NCURSES_CH_T wls, wrs, wts, wbs, wtl, wtr, wbl, wbr;
+
+- T((T_CALLED("wborder(%p,%s,%s,%s,%s,%s,%s,%s,%s)"),
++ T((T_CALLED("wborder_set(%p,%s,%s,%s,%s,%s,%s,%s,%s)"),
+ (void *) win,
+ _tracech_t2(1, ls),
+ _tracech_t2(2, rs),
+Index: ncurses/widechar/lib_cchar.c
+Prereq: 1.20
+--- ncurses-5.9/ncurses/widechar/lib_cchar.c 2010-12-25 23:46:26.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_cchar.c 2012-03-24 18:37:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2001-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_cchar.c,v 1.20 2010/12/25 23:46:26 tom Exp $")
++MODULE_ID("$Id: lib_cchar.c,v 1.26 2012/03/24 18:37:17 tom Exp $")
+
+ /*
+ * The SuSv2 description leaves some room for interpretation. We'll assume wch
+@@ -58,9 +58,9 @@
+ (void *) wcval, _nc_viswbuf(wch),
+ (unsigned long) attrs, color_pair, opts));
+
+- len = (unsigned) wcslen(wch);
+ if (opts != NULL
+- || (len > 1 && wcwidth(wch[0]) < 0)) {
++ || wch == NULL
++ || ((len = (unsigned) wcslen(wch)) > 1 && wcwidth(wch[0]) < 0)) {
+ code = ERR;
+ } else {
+ if (len > CCHARW_MAX)
+@@ -80,7 +80,7 @@
+ memset(wcval, 0, sizeof(*wcval));
+
+ if (len != 0) {
+- SetAttr(*wcval, attrs | (attr_t) ColorPair(color_pair));
++ SetAttr(*wcval, attrs);
+ SetPair(CHDEREF(wcval), color_pair);
+ memcpy(&wcval->chars, wch, len * sizeof(wchar_t));
+ TR(TRACE_CCALLS, ("copy %d wchars, first is %s", len,
+@@ -110,8 +110,8 @@
+ (void *) color_pair,
+ opts));
+
+- if (opts == NULL) {
+- len = ((wp = wmemchr(wcval->chars, L'\0', CCHARW_MAX))
++ if (opts == NULL && wcval != NULL) {
++ len = ((wp = wmemchr(wcval->chars, L'\0', (size_t) CCHARW_MAX))
+ ? (int) (wp - wcval->chars)
+ : CCHARW_MAX);
+
+@@ -126,7 +126,7 @@
+ } else if (len >= 0) {
+ *attrs = AttrOf(*wcval) & A_ATTRIBUTES;
+ *color_pair = (short) GetPair(*wcval);
+- wmemcpy(wch, wcval->chars, (unsigned) len);
++ wmemcpy(wch, wcval->chars, (size_t) len);
+ wch[len] = L'\0';
+ code = OK;
+ }
+Index: ncurses/widechar/lib_get_wch.c
+Prereq: 1.22
+--- ncurses-5.9/ncurses/widechar/lib_get_wch.c 2010-08-28 21:00:35.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_get_wch.c 2011-05-28 23:00:29.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,7 +40,7 @@
+ #include <curses.priv.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_get_wch.c,v 1.22 2010/08/28 21:00:35 tom Exp $")
++MODULE_ID("$Id: lib_get_wch.c,v 1.23 2011/05/28 23:00:29 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ wget_wch(WINDOW *win, wint_t *result)
+@@ -106,7 +106,10 @@
+ } else {
+ code = ERR;
+ }
+- *result = (wint_t) value;
++
++ if (result != 0)
++ *result = (wint_t) value;
++
+ _nc_unlock_global(curses);
+ T(("result %#o", value));
+ returnCode(code);
+Index: ncurses/widechar/lib_get_wstr.c
+Prereq: 1.12
+--- ncurses-5.9/ncurses/widechar/lib_get_wstr.c 2009-10-24 22:38:11.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_get_wstr.c 2011-10-22 16:31:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_get_wstr.c,v 1.12 2009/10/24 22:38:11 tom Exp $")
++MODULE_ID("$Id: lib_get_wstr.c,v 1.13 2011/10/22 16:31:35 tom Exp $")
+
+ static int
+ wadd_wint(WINDOW *win, wint_t *src)
+@@ -49,7 +49,7 @@
+
+ wch[0] = (wchar_t) (*src);
+ wch[1] = 0;
+- setcchar(&tmp, wch, A_NORMAL, 0, NULL);
++ setcchar(&tmp, wch, A_NORMAL, (short) 0, NULL);
+ return wadd_wch(win, &tmp);
+ }
+
+@@ -58,7 +58,7 @@
+ * or other character, and handles reverse wraparound.
+ */
+ static wint_t *
+-WipeOut(WINDOW *win, int y, int x, wint_t *first, wint_t *last, bool echoed)
++WipeOut(WINDOW *win, int y, int x, wint_t *first, wint_t *last, int echoed)
+ {
+ if (last > first) {
+ *--last = '\0';
+Index: ncurses/widechar/lib_ins_wch.c
+Prereq: 1.16
+--- ncurses-5.9/ncurses/widechar/lib_ins_wch.c 2010-12-19 01:34:04.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_ins_wch.c 2011-10-22 16:34:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_ins_wch.c,v 1.16 2010/12/19 01:34:04 tom Exp $")
++MODULE_ID("$Id: lib_ins_wch.c,v 1.17 2011/10/22 16:34:50 tom Exp $")
+
+ /*
+ * Insert the given character, updating the current location to simplify
+@@ -132,7 +132,7 @@
+ (void) setcchar(&tmp_cchar,
+ &tmp_wchar,
+ WA_NORMAL,
+- 0,
++ (short) 0,
+ (void *) 0);
+ code = _nc_insert_wch(win, &tmp_cchar);
+ } else {
+Index: ncurses/widechar/lib_inwstr.c
+Prereq: 1.5
+--- ncurses-5.9/ncurses/widechar/lib_inwstr.c 2009-10-24 22:37:29.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_inwstr.c 2011-05-28 22:49:49.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2004,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2009,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_inwstr.c,v 1.5 2009/10/24 22:37:29 tom Exp $")
++MODULE_ID("$Id: lib_inwstr.c,v 1.6 2011/05/28 22:49:49 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ winnwstr(WINDOW *win, wchar_t *wstr, int n)
+@@ -93,8 +93,13 @@
+ winwstr(WINDOW *win, wchar_t *wstr)
+ {
+ int result = OK;
++
+ T((T_CALLED("winwstr(%p,%p)"), (void *) win, (void *) wstr));
+- if (winnwstr(win, wstr, CCHARW_MAX * (win->_maxx - win->_curx + 1)) == ERR)
++ if (win == 0) {
++ result = ERR;
++ } else if (winnwstr(win, wstr,
++ CCHARW_MAX * (win->_maxx - win->_curx + 1)) == ERR) {
+ result = ERR;
++ }
+ returnCode(result);
+ }
+Index: ncurses/widechar/lib_slk_wset.c
+Prereq: 1.11
+--- ncurses-5.9/ncurses/widechar/lib_slk_wset.c 2005-01-16 01:03:53.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_slk_wset.c 2011-10-22 15:52:20.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2003-2004,2005 Free Software Foundation, Inc. *
++ * Copyright (c) 2003-2002,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,7 +40,7 @@
+ #include <wctype.h>
+ #endif
+
+-MODULE_ID("$Id: lib_slk_wset.c,v 1.11 2005/01/16 01:03:53 tom Exp $")
++MODULE_ID("$Id: lib_slk_wset.c,v 1.13 2011/10/22 15:52:20 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ slk_wset(int i, const wchar_t *astr, int format)
+@@ -53,19 +53,21 @@
+
+ T((T_CALLED("slk_wset(%d, %s, %d)"), i, _nc_viswbuf(astr), format));
+
+- init_mb(state);
+- str = astr;
+- if ((arglen = wcsrtombs(NULL, &str, 0, &state)) != (size_t) -1) {
+- if ((mystr = (char *) _nc_doalloc(0, arglen + 1)) != 0) {
+- str = astr;
+- if (wcsrtombs(mystr, &str, arglen, &state) != (size_t) -1) {
+- /* glibc documentation claims that the terminating L'\0'
+- * is written, but it is not...
+- */
+- mystr[arglen] = 0;
+- result = slk_set(i, mystr, format);
++ if (astr != 0) {
++ init_mb(state);
++ str = astr;
++ if ((arglen = wcsrtombs(NULL, &str, (size_t) 0, &state)) != (size_t) -1) {
++ if ((mystr = (char *) _nc_doalloc(0, arglen + 1)) != 0) {
++ str = astr;
++ if (wcsrtombs(mystr, &str, arglen, &state) != (size_t) -1) {
++ /* glibc documentation claims that the terminating L'\0'
++ * is written, but it is not...
++ */
++ mystr[arglen] = 0;
++ result = slk_set(i, mystr, format);
++ }
++ free(mystr);
+ }
+- free(mystr);
+ }
+ }
+ returnCode(result);
+Index: ncurses/widechar/lib_unget_wch.c
+Prereq: 1.14
+--- ncurses-5.9/ncurses/widechar/lib_unget_wch.c 2010-07-24 11:35:21.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_unget_wch.c 2011-10-22 16:34:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_unget_wch.c,v 1.14 2010/07/24 11:35:21 tom Exp $")
++MODULE_ID("$Id: lib_unget_wch.c,v 1.15 2011/10/22 16:34:50 tom Exp $")
+
+ /*
+ * Wrapper for wcrtomb() which obtains the length needed for the given
+@@ -55,7 +55,7 @@
+ const wchar_t *tempp = temp;
+ temp[0] = source;
+ temp[1] = 0;
+- result = (int) wcsrtombs(NULL, &tempp, 0, state);
++ result = (int) wcsrtombs(NULL, &tempp, (size_t) 0, state);
+ } else {
+ result = (int) wcrtomb(target, source, state);
+ }
+Index: ncurses/widechar/lib_vid_attr.c
+Prereq: 1.14
+--- ncurses-5.9/ncurses/widechar/lib_vid_attr.c 2010-12-19 01:44:24.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_vid_attr.c 2013-01-12 18:01:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,7 +36,7 @@
+ #define CUR SP_TERMTYPE
+ #endif
+
+-MODULE_ID("$Id: lib_vid_attr.c,v 1.14 2010/12/19 01:44:24 tom Exp $")
++MODULE_ID("$Id: lib_vid_attr.c,v 1.17 2013/01/12 18:01:35 tom Exp $")
+
+ #define doPut(mode) TPUTS_TRACE(#mode); NCURSES_SP_NAME(tputs)(NCURSES_SP_ARGx mode, 1, outc)
+
+@@ -120,7 +120,7 @@
+ * A_ALTCHARSET (256) down 2 to line up. We use the NCURSES_BITS
+ * macro so this will work properly for the wide-character layout.
+ */
+- unsigned value = no_color_video;
++ unsigned value = (unsigned) no_color_video;
+ attr_t mask = NCURSES_BITS((value & 63)
+ | ((value & 192) << 1)
+ | ((value & 256) >> 2), 8);
+@@ -278,7 +278,7 @@
+ newmode,
+ pair,
+ opts,
+- NCURSES_SP_NAME(_nc_outch)));
++ NCURSES_SP_NAME(_nc_putchar)));
+ }
+
+ #if NCURSES_SP_FUNCS
+@@ -296,24 +296,26 @@
+ NCURSES_EXPORT(attr_t)
+ NCURSES_SP_NAME(term_attrs) (NCURSES_SP_DCL0)
+ {
+- attr_t attrs;
++ attr_t attrs = 0;
+
+ T((T_CALLED("term_attrs()")));
+- attrs = SP_PARM ? NCURSES_SP_NAME(termattrs) (NCURSES_SP_ARG) : 0;
++ if (SP_PARM) {
++ attrs = NCURSES_SP_NAME(termattrs) (NCURSES_SP_ARG);
+
+- /* these are only supported for wide-character mode */
+- if (enter_horizontal_hl_mode)
+- attrs |= WA_HORIZONTAL;
+- if (enter_left_hl_mode)
+- attrs |= WA_LEFT;
+- if (enter_low_hl_mode)
+- attrs |= WA_LOW;
+- if (enter_right_hl_mode)
+- attrs |= WA_RIGHT;
+- if (enter_top_hl_mode)
+- attrs |= WA_TOP;
+- if (enter_vertical_hl_mode)
+- attrs |= WA_VERTICAL;
++ /* these are only supported for wide-character mode */
++ if (enter_horizontal_hl_mode)
++ attrs |= WA_HORIZONTAL;
++ if (enter_left_hl_mode)
++ attrs |= WA_LEFT;
++ if (enter_low_hl_mode)
++ attrs |= WA_LOW;
++ if (enter_right_hl_mode)
++ attrs |= WA_RIGHT;
++ if (enter_top_hl_mode)
++ attrs |= WA_TOP;
++ if (enter_vertical_hl_mode)
++ attrs |= WA_VERTICAL;
++ }
+
+ returnAttr(attrs);
+ }
+Index: ncurses/widechar/lib_wacs.c
+Prereq: 1.10
+--- ncurses-5.9/ncurses/widechar/lib_wacs.c 2010-12-19 01:43:19.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_wacs.c 2013-02-02 17:10:48.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_wacs.c,v 1.10 2010/12/19 01:43:19 tom Exp $")
++MODULE_ID("$Id: lib_wacs.c,v 1.13 2013/02/02 17:10:48 tom Exp $")
+
+ NCURSES_EXPORT_VAR(cchar_t) * _nc_wacs = 0;
+
+@@ -119,22 +119,24 @@
+ T(("initializing WIDE-ACS map (Unicode is%s active)",
+ active ? "" : " not"));
+
+- _nc_wacs = typeCalloc(cchar_t, ACS_LEN);
+- for (n = 0; n < SIZEOF(table); ++n) {
+- int wide = wcwidth(table[n].value[active]);
+-
+- m = table[n].map;
+- if (active && (wide == 1)) {
+- SetChar(_nc_wacs[m], table[n].value[active], A_NORMAL);
+- } else if (acs_map[m] & A_ALTCHARSET) {
+- SetChar(_nc_wacs[m], m, A_ALTCHARSET);
+- } else {
+- SetChar(_nc_wacs[m], table[n].value[0], A_NORMAL);
+- }
++ if ((_nc_wacs = typeCalloc(cchar_t, ACS_LEN)) != 0) {
++
++ for (n = 0; n < SIZEOF(table); ++n) {
++ int wide = wcwidth(table[n].value[active]);
+
+- T(("#%d, SetChar(%c, %#04x) = %s",
+- n, m,
+- table[n].value[active],
+- _tracecchar_t(&_nc_wacs[m])));
++ m = table[n].map;
++ if (active && (wide == 1)) {
++ SetChar(_nc_wacs[m], table[n].value[1], A_NORMAL);
++ } else if (acs_map[m] & A_ALTCHARSET) {
++ SetChar(_nc_wacs[m], m, A_ALTCHARSET);
++ } else {
++ SetChar(_nc_wacs[m], table[n].value[0], A_NORMAL);
++ }
++
++ T(("#%d, SetChar(%c, %#04x) = %s",
++ n, m,
++ table[n].value[active],
++ _tracecchar_t(&_nc_wacs[m])));
++ }
+ }
+ }
+Index: ncurses/widechar/lib_wunctrl.c
+Prereq: 1.14
+--- ncurses-5.9/ncurses/widechar/lib_wunctrl.c 2010-12-19 01:42:15.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/lib_wunctrl.c 2012-12-15 20:53:42.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2001-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,14 +35,17 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_wunctrl.c,v 1.14 2010/12/19 01:42:15 tom Exp $")
++MODULE_ID("$Id: lib_wunctrl.c,v 1.16 2012/12/15 20:53:42 tom Exp $")
+
+ NCURSES_EXPORT(wchar_t *)
+ NCURSES_SP_NAME(wunctrl) (NCURSES_SP_DCLx cchar_t *wc)
+ {
+ static wchar_t str[CCHARW_MAX + 1], *wsp;
++ wchar_t *result;
+
+- if (Charable(*wc)) {
++ if (wc == 0) {
++ result = 0;
++ } else if (SP_PARM != 0 && Charable(*wc)) {
+ const char *p =
+ NCURSES_SP_NAME(unctrl) (NCURSES_SP_ARGx
+ (unsigned) _nc_to_char((wint_t)CharOf(*wc)));
+@@ -51,9 +54,11 @@
+ *wsp++ = (wchar_t) _nc_to_widechar(*p);
+ }
+ *wsp = 0;
+- return str;
+- } else
+- return wc->chars;
++ result = str;
++ } else {
++ result = wc->chars;
++ }
++ return result;
+ }
+
+ #if NCURSES_SP_FUNCS
+Index: ncurses/widechar/widechars.c
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/ncurses/widechar/widechars.c 2013-03-02 18:55:51.000000000 +0000
+@@ -0,0 +1,152 @@
++/****************************************************************************
++ * Copyright (c) 2012,2013 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++#include <curses.priv.h>
++
++#if USE_WIDEC_SUPPORT
++
++MODULE_ID("$Id: widechars.c,v 1.5 2013/03/02 18:55:51 tom Exp $")
++
++#if defined(__MINGW32__)
++/*
++ * MinGW has wide-character functions, but they do not work correctly.
++ */
++
++int
++_nc_mbtowc(wchar_t *pwc, const char *s, size_t n)
++{
++ int result;
++ int count;
++ int try;
++
++ if (s != 0 && n != 0) {
++ /*
++ * MultiByteToWideChar() can decide to return more than one
++ * wide-character. We want only one. Ignore any trailing null, both
++ * in the initial count and in the conversion.
++ */
++ count = 0;
++ for (try = 1; try <= (int) n; ++try) {
++ count = MultiByteToWideChar(CP_UTF8,
++ MB_ERR_INVALID_CHARS,
++ s,
++ try,
++ pwc,
++ 0);
++ TR(TRACE_BITS, ("...try %d:%d", try, count));
++ if (count > 0) {
++ break;
++ }
++ }
++ if (count < 1 || count > 2) {
++ result = -1;
++ } else {
++ wchar_t actual[2];
++ memset(&actual, 0, sizeof(actual));
++ count = MultiByteToWideChar(CP_UTF8,
++ MB_ERR_INVALID_CHARS,
++ s,
++ try,
++ actual,
++ 2);
++ TR(TRACE_BITS, ("\twin32 ->%#x, %#x", actual[0], actual[1]));
++ *pwc = actual[0];
++ if (actual[1] != 0)
++ result = -1;
++ else
++ result = try;
++ }
++ } else {
++ result = 0;
++ }
++
++ return result;
++}
++
++int
++_nc_mblen(const char *s, size_t n)
++{
++ int result = -1;
++ int count;
++ wchar_t temp;
++
++ if (s != 0 && n != 0) {
++ count = _nc_mbtowc(&temp, s, n);
++ if (count == 1) {
++ int check = WideCharToMultiByte(CP_UTF8,
++ 0,
++ &temp,
++ 1,
++ NULL,
++ 0, /* compute length only */
++ NULL,
++ NULL);
++ TR(TRACE_BITS, ("\tcheck ->%d\n", check));
++ if (check > 0 && (size_t) check <= n) {
++ result = check;
++ }
++ }
++ } else {
++ result = 0;
++ }
++
++ return result;
++}
++
++int __MINGW_NOTHROW
++_nc_wctomb(char *s, wchar_t wc)
++{
++ int result;
++ int check;
++
++ check = WideCharToMultiByte(CP_UTF8,
++ 0,
++ &wc,
++ 1,
++ NULL,
++ 0, /* compute length only */
++ NULL,
++ NULL);
++ if (check > 0) {
++ result = WideCharToMultiByte(CP_UTF8,
++ 0,
++ &wc,
++ 1,
++ s,
++ check + 1,
++ NULL,
++ NULL);
++ } else {
++ result = -1;
++ }
++ return result;
++}
++
++#endif /* __MINGW32__ */
++
++#endif /* USE_WIDEC_SUPPORT */
+Index: ncurses/win32con/win_driver.c
+Prereq: 1.10
+--- ncurses-5.9/ncurses/win32con/win_driver.c 2010-12-25 19:28:21.000000000 +0000
++++ ncurses-5.9-20130504/ncurses/win32con/win_driver.c 2013-03-02 19:48:06.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,6 @@
+
+ /****************************************************************************
+ * Author: Juergen Pfeifer *
+- * *
+ ****************************************************************************/
+
+ /*
+@@ -39,12 +38,16 @@
+ #include <curses.priv.h>
+ #define CUR my_term.type.
+
+-MODULE_ID("$Id: win_driver.c,v 1.10 2010/12/25 19:28:21 tom Exp $")
++MODULE_ID("$Id: win_driver.c,v 1.18 2013/03/02 19:48:06 tom Exp $")
+
+ #define WINMAGIC NCDRV_MAGIC(NCDRV_WINCONSOLE)
+
+-#define AssertTCB() assert(TCB!=0 && TCB->magic==WINMAGIC)
+-#define SetSP() assert(TCB->csp!=0); sp = TCB->csp
++#define EXP_OPTIMIZE 0
++
++#define okConsoleHandle(TCB) (TCB != 0 && !InvalidConsoleHandle(TCB->hdl))
++
++#define AssertTCB() assert(TCB != 0 && (TCB->magic == WINMAGIC))
++#define SetSP() assert(TCB->csp != 0); sp = TCB->csp; (void) sp
+
+ #define GenMap(vKey,key) MAKELONG(key, vKey)
+
+@@ -69,6 +72,7 @@
+ typedef struct props {
+ CONSOLE_SCREEN_BUFFER_INFO SBI;
+ bool progMode;
++ TERM_HANDLE lastOut;
+ DWORD map[MAPSIZE];
+ DWORD rmap[MAPSIZE];
+ WORD pairs[NUMPAIRS];
+@@ -103,7 +107,7 @@
+ }
+
+ static WORD
+-MapAttr(TERMINAL_CONTROL_BLOCK * TCB, WORD res, chtype ch)
++MapAttr(TERMINAL_CONTROL_BLOCK * TCB, WORD res, attr_t ch)
+ {
+ if (ch & A_COLOR) {
+ int p;
+@@ -135,8 +139,68 @@
+ return res;
+ }
+
++#if USE_WIDEC_SUPPORT
++/*
++ * TODO: support surrogate pairs
++ * TODO: support combining characters
++ * TODO: support acsc
++ * TODO: check wcwidth of base character, fill if needed for double-width
++ * TODO: _nc_wacs should be part of sp.
++ */
+ static BOOL
+-con_write(TERMINAL_CONTROL_BLOCK * TCB, int y, int x, chtype *str, int n)
++con_write16(TERMINAL_CONTROL_BLOCK * TCB, int y, int x, cchar_t *str, int limit)
++{
++ int actual = 0;
++ CHAR_INFO ci[limit];
++ COORD loc, siz;
++ SMALL_RECT rec;
++ int i;
++ cchar_t ch;
++ SCREEN *sp;
++
++ AssertTCB();
++
++ SetSP();
++
++ for (i = actual = 0; i < limit; i++) {
++ ch = str[i];
++ if (isWidecExt(ch))
++ continue;
++ ci[actual].Char.UnicodeChar = CharOf(ch);
++ ci[actual].Attributes = MapAttr(TCB,
++ PropOf(TCB)->SBI.wAttributes,
++ AttrOf(ch));
++ if (AttrOf(ch) & A_ALTCHARSET) {
++ if (_nc_wacs) {
++ int which = CharOf(ch);
++ if (which > 0
++ && which < ACS_LEN
++ && CharOf(_nc_wacs[which]) != 0) {
++ ci[actual].Char.UnicodeChar = CharOf(_nc_wacs[which]);
++ } else {
++ ci[actual].Char.UnicodeChar = ' ';
++ }
++ }
++ }
++ ++actual;
++ }
++
++ loc.X = (short) 0;
++ loc.Y = (short) 0;
++ siz.X = (short) actual;
++ siz.Y = 1;
++
++ rec.Left = (short) x;
++ rec.Top = (short) y;
++ rec.Right = (short) (x + limit - 1);
++ rec.Bottom = rec.Top;
++
++ return WriteConsoleOutputW(TCB->hdl, ci, siz, loc, &rec);
++}
++#define con_write(tcb, y, x, str, n) con_write16(tcb, y, x, str, n)
++#else
++static BOOL
++con_write8(TERMINAL_CONTROL_BLOCK * TCB, int y, int x, chtype *str, int n)
+ {
+ CHAR_INFO ci[n];
+ COORD loc, siz;
+@@ -147,9 +211,6 @@
+
+ AssertTCB();
+
+- if (TCB == 0 || InvalidConsoleHandle(TCB->hdl))
+- return FALSE;
+-
+ SetSP();
+
+ for (i = 0; i < n; i++) {
+@@ -177,55 +238,163 @@
+
+ return WriteConsoleOutput(TCB->hdl, ci, siz, loc, &rec);
+ }
++#define con_write(tcb, y, x, str, n) con_write8(tcb, y, x, str, n)
++#endif
++
++#if EXP_OPTIMIZE
++/*
++ * Comparing new/current screens, determine the last column-index for a change
++ * beginning on the given row,col position. Unlike a serial terminal, there is
++ * no cost for "moving" the "cursor" on the line as we update it.
++ */
++static int
++find_end_of_change(SCREEN *sp, int row, int col)
++{
++ int result = col;
++ struct ldat *curdat = CurScreen(sp)->_line + row;
++ struct ldat *newdat = NewScreen(sp)->_line + row;
++
++ while (col <= newdat->lastchar) {
++#if USE_WIDEC_SUPPORT
++ if (isWidecExt(curdat->text[col]) || isWidecExt(newdat->text[col])) {
++ result = col;
++ } else if (memcmp(&curdat->text[col],
++ &newdat->text[col],
++ sizeof(curdat->text[0]))) {
++ result = col;
++ } else {
++ break;
++ }
++#else
++ if (curdat->text[col] != newdat->text[col]) {
++ result = col;
++ } else {
++ break;
++ }
++#endif
++ ++col;
++ }
++ return result;
++}
++
++/*
++ * Given a row,col position at the end of a change-chunk, look for the
++ * beginning of the next change-chunk.
++ */
++static int
++find_next_change(SCREEN *sp, int row, int col)
++{
++ struct ldat *curdat = CurScreen(sp)->_line + row;
++ struct ldat *newdat = NewScreen(sp)->_line + row;
++ int result = newdat->lastchar + 1;
++
++ while (++col <= newdat->lastchar) {
++#if USE_WIDEC_SUPPORT
++ if (isWidecExt(curdat->text[col]) != isWidecExt(newdat->text[col])) {
++ result = col;
++ break;
++ } else if (memcmp(&curdat->text[col],
++ &newdat->text[col],
++ sizeof(curdat->text[0]))) {
++ result = col;
++ break;
++ }
++#else
++ if (curdat->text[col] != newdat->text[col]) {
++ result = col;
++ break;
++ }
++#endif
++ }
++ return result;
++}
++
++#define EndChange(first) \
++ find_end_of_change(sp, y, first)
++#define NextChange(last) \
++ find_next_change(sp, y, last)
++
++#endif /* EXP_OPTIMIZE */
+
+ #define MARK_NOCHANGE(win,row) \
+ win->_line[row].firstchar = _NOCHANGE; \
+ win->_line[row].lastchar = _NOCHANGE
+
++static void
++selectActiveHandle(TERMINAL_CONTROL_BLOCK * TCB)
++{
++ if (PropOf(TCB)->lastOut != TCB->hdl) {
++ PropOf(TCB)->lastOut = TCB->hdl;
++ SetConsoleActiveScreenBuffer(PropOf(TCB)->lastOut);
++ }
++}
++
+ static int
+ drv_doupdate(TERMINAL_CONTROL_BLOCK * TCB)
+ {
++ int result = ERR;
+ int y, nonempty, n, x0, x1, Width, Height;
+ SCREEN *sp;
+
+ AssertTCB();
+ SetSP();
+
+- Width = screen_columns(sp);
+- Height = screen_lines(sp);
+- nonempty = min(Height, NewScreen(sp)->_maxy + 1);
+-
+- if ((CurScreen(sp)->_clear || NewScreen(sp)->_clear)) {
+- int x;
+- chtype empty[Width];
++ T((T_CALLED("win32con::drv_doupdate(%p)"), TCB));
++ if (okConsoleHandle(TCB)) {
++
++ Width = screen_columns(sp);
++ Height = screen_lines(sp);
++ nonempty = min(Height, NewScreen(sp)->_maxy + 1);
++
++ if ((CurScreen(sp)->_clear || NewScreen(sp)->_clear)) {
++ int x;
++#if USE_WIDEC_SUPPORT
++ cchar_t empty[Width];
++ wchar_t blank[2] =
++ {
++ L' ', L'\0'
++ };
+
+- for (x = 0; x < Width; x++)
+- empty[x] = ' ';
++ for (x = 0; x < Width; x++)
++ setcchar(&empty[x], blank, 0, 0, 0);
++#else
++ chtype empty[Width];
++
++ for (x = 0; x < Width; x++)
++ empty[x] = ' ';
++#endif
++
++ for (y = 0; y < nonempty; y++) {
++ con_write(TCB, y, 0, empty, Width);
++ memcpy(empty,
++ CurScreen(sp)->_line[y].text,
++ Width * sizeof(empty[0]));
++ }
++ CurScreen(sp)->_clear = FALSE;
++ NewScreen(sp)->_clear = FALSE;
++ touchwin(NewScreen(sp));
++ }
+
+ for (y = 0; y < nonempty; y++) {
+- con_write(TCB, y, 0, empty, Width);
+- memcpy(empty,
+- CurScreen(sp)->_line[y].text,
+- Width * sizeof(chtype));
+- }
+- CurScreen(sp)->_clear = FALSE;
+- NewScreen(sp)->_clear = FALSE;
+- touchwin(NewScreen(sp));
+- }
+-
+- for (y = 0; y < nonempty; y++) {
+- x0 = NewScreen(sp)->_line[y].firstchar;
+- if (x0 != _NOCHANGE) {
+- x1 = NewScreen(sp)->_line[y].lastchar;
+- n = x1 - x0 + 1;
+- if (n > 0) {
+- memcpy(CurScreen(sp)->_line[y].text + x0,
+- NewScreen(sp)->_line[y].text + x0,
+- n * sizeof(chtype));
+- con_write(TCB,
+- y,
+- x0,
+- ((chtype *) CurScreen(sp)->_line[y].text) + x0, n);
++ x0 = NewScreen(sp)->_line[y].firstchar;
++ if (x0 != _NOCHANGE) {
++#if EXP_OPTIMIZE
++ int x2;
++ int limit = NewScreen(sp)->_line[y].lastchar;
++ while ((x1 = EndChange(x0)) <= limit) {
++ while ((x2 = NextChange(x1)) <= limit && x2 <= (x1 + 2)) {
++ x1 = x2;
++ }
++ n = x1 - x0 + 1;
++ memcpy(&CurScreen(sp)->_line[y].text[x0],
++ &NewScreen(sp)->_line[y].text[x0],
++ n * sizeof(CurScreen(sp)->_line[y].text[x0]));
++ con_write(TCB,
++ y,
++ x0,
++ &CurScreen(sp)->_line[y].text[x0], n);
++ x0 = NextChange(x1);
++ }
+
+ /* mark line changed successfully */
+ if (y <= NewScreen(sp)->_maxy) {
+@@ -234,26 +403,50 @@
+ if (y <= CurScreen(sp)->_maxy) {
+ MARK_NOCHANGE(CurScreen(sp), y);
+ }
++#else
++ x1 = NewScreen(sp)->_line[y].lastchar;
++ n = x1 - x0 + 1;
++ if (n > 0) {
++ memcpy(&CurScreen(sp)->_line[y].text[x0],
++ &NewScreen(sp)->_line[y].text[x0],
++ n * sizeof(CurScreen(sp)->_line[y].text[x0]));
++ con_write(TCB,
++ y,
++ x0,
++ &CurScreen(sp)->_line[y].text[x0], n);
++
++ /* mark line changed successfully */
++ if (y <= NewScreen(sp)->_maxy) {
++ MARK_NOCHANGE(NewScreen(sp), y);
++ }
++ if (y <= CurScreen(sp)->_maxy) {
++ MARK_NOCHANGE(CurScreen(sp), y);
++ }
++ }
++#endif
+ }
+ }
+- }
+
+- /* put everything back in sync */
+- for (y = nonempty; y <= NewScreen(sp)->_maxy; y++) {
+- MARK_NOCHANGE(NewScreen(sp), y);
+- }
+- for (y = nonempty; y <= CurScreen(sp)->_maxy; y++) {
+- MARK_NOCHANGE(CurScreen(sp), y);
+- }
+-
+- if (!NewScreen(sp)->_leaveok) {
+- CurScreen(sp)->_curx = NewScreen(sp)->_curx;
+- CurScreen(sp)->_cury = NewScreen(sp)->_cury;
++ /* put everything back in sync */
++ for (y = nonempty; y <= NewScreen(sp)->_maxy; y++) {
++ MARK_NOCHANGE(NewScreen(sp), y);
++ }
++ for (y = nonempty; y <= CurScreen(sp)->_maxy; y++) {
++ MARK_NOCHANGE(CurScreen(sp), y);
++ }
+
+- TCB->drv->hwcur(TCB, 0, 0, CurScreen(sp)->_cury, CurScreen(sp)->_curx);
++ if (!NewScreen(sp)->_leaveok) {
++ CurScreen(sp)->_curx = NewScreen(sp)->_curx;
++ CurScreen(sp)->_cury = NewScreen(sp)->_cury;
++
++ TCB->drv->hwcur(TCB,
++ 0, 0,
++ CurScreen(sp)->_cury, CurScreen(sp)->_curx);
++ }
++ selectActiveHandle(TCB);
++ result = OK;
+ }
+- SetConsoleActiveScreenBuffer(TCB->hdl);
+- return OK;
++ returnCode(result);
+ }
+
+ static bool
+@@ -269,7 +462,7 @@
+ assert(tname != 0);
+
+ TCB->magic = WINMAGIC;
+- if (*tname == 0 || *tname == 0) {
++ if (*tname == 0 || *tname == 0 || *tname == '#') {
+ code = TRUE;
+ } else {
+ TERMINAL my_term;
+@@ -308,7 +501,7 @@
+
+ static int
+ drv_dobeepflash(TERMINAL_CONTROL_BLOCK * TCB,
+- bool beepFlag GCC_UNUSED)
++ int beepFlag GCC_UNUSED)
+ {
+ SCREEN *sp;
+ int res = ERR;
+@@ -348,13 +541,13 @@
+
+ static void
+ drv_setcolor(TERMINAL_CONTROL_BLOCK * TCB,
+- bool fore,
++ int fore,
+ int color,
+ int (*outc) (SCREEN *, int) GCC_UNUSED)
+ {
+ AssertTCB();
+
+- if (TCB && !InvalidConsoleHandle(TCB->hdl)) {
++ if (okConsoleHandle(TCB)) {
+ WORD a = MapColor(fore, color);
+ a = ((PropOf(TCB)->SBI.wAttributes) & (fore ? 0xfff8 : 0xff8f)) | a;
+ SetConsoleTextAttribute(TCB->hdl, a);
+@@ -368,7 +561,7 @@
+ bool res = FALSE;
+
+ AssertTCB();
+- if (TCB && !InvalidConsoleHandle(TCB->hdl)) {
++ if (okConsoleHandle(TCB)) {
+ WORD a = FOREGROUND_BLUE | FOREGROUND_RED | FOREGROUND_GREEN;
+ SetConsoleTextAttribute(TCB->hdl, a);
+ GetConsoleScreenBufferInfo(TCB->hdl, &(PropOf(TCB)->SBI));
+@@ -392,14 +585,20 @@
+ static int
+ drv_size(TERMINAL_CONTROL_BLOCK * TCB, int *Lines, int *Cols)
+ {
++ int result = ERR;
++
+ AssertTCB();
+
+- if (TCB == NULL || Lines == NULL || Cols == NULL || InvalidConsoleHandle(TCB->hdl))
+- return ERR;
++ T((T_CALLED("win32con::drv_size(%p)"), TCB));
+
+- *Lines = (int) (PropOf(TCB)->SBI.dwSize.Y);
+- *Cols = (int) (PropOf(TCB)->SBI.dwSize.X);
+- return OK;
++ if (okConsoleHandle(TCB) &&
++ Lines != NULL &&
++ Cols != NULL) {
++ *Lines = (int) (PropOf(TCB)->SBI.dwSize.Y);
++ *Cols = (int) (PropOf(TCB)->SBI.dwSize.X);
++ result = OK;
++ }
++ returnCode(result);
+ }
+
+ static int
+@@ -412,7 +611,7 @@
+ }
+
+ static int
+-drv_sgmode(TERMINAL_CONTROL_BLOCK * TCB, bool setFlag, TTY * buf)
++drv_sgmode(TERMINAL_CONTROL_BLOCK * TCB, int setFlag, TTY * buf)
+ {
+ DWORD dwFlag = 0;
+ tcflag_t iflag;
+@@ -479,7 +678,7 @@
+ }
+
+ static int
+-drv_mode(TERMINAL_CONTROL_BLOCK * TCB, bool progFlag, bool defFlag)
++drv_mode(TERMINAL_CONTROL_BLOCK * TCB, int progFlag, int defFlag)
+ {
+ SCREEN *sp;
+ TERMINAL *_term = (TERMINAL *) TCB;
+@@ -489,7 +688,8 @@
+ sp = TCB->csp;
+
+ PropOf(TCB)->progMode = progFlag;
+- SetConsoleActiveScreenBuffer(progFlag ? TCB->hdl : TCB->out);
++ PropOf(TCB)->lastOut = progFlag ? TCB->hdl : TCB->out;
++ SetConsoleActiveScreenBuffer(PropOf(TCB)->lastOut);
+
+ if (progFlag) /* prog mode */ {
+ if (defFlag) {
+@@ -674,9 +874,9 @@
+
+ static void
+ drv_initpair(TERMINAL_CONTROL_BLOCK * TCB,
+- short pair,
+- short f,
+- short b)
++ int pair,
++ int f,
++ int b)
+ {
+ SCREEN *sp;
+
+@@ -691,10 +891,10 @@
+
+ static void
+ drv_initcolor(TERMINAL_CONTROL_BLOCK * TCB,
+- short color GCC_UNUSED,
+- short r GCC_UNUSED,
+- short g GCC_UNUSED,
+- short b GCC_UNUSED)
++ int color GCC_UNUSED,
++ int r GCC_UNUSED,
++ int g GCC_UNUSED,
++ int b GCC_UNUSED)
+ {
+ SCREEN *sp;
+
+@@ -704,9 +904,9 @@
+
+ static void
+ drv_do_color(TERMINAL_CONTROL_BLOCK * TCB,
+- short old_pair GCC_UNUSED,
+- short pair GCC_UNUSED,
+- bool reverse GCC_UNUSED,
++ int old_pair GCC_UNUSED,
++ int pair GCC_UNUSED,
++ int reverse GCC_UNUSED,
+ int (*outc) (SCREEN *, int) GCC_UNUSED
+ )
+ {
+@@ -755,7 +955,7 @@
+ int y, int x)
+ {
+ int ret = ERR;
+- if (TCB && !InvalidConsoleHandle(TCB->hdl)) {
++ if (okConsoleHandle(TCB)) {
+ COORD loc;
+ loc.X = (short) x;
+ loc.Y = (short) y;
+@@ -778,7 +978,7 @@
+
+ static void
+ drv_hwlabelOnOff(TERMINAL_CONTROL_BLOCK * TCB,
+- bool OnFlag GCC_UNUSED)
++ int OnFlag GCC_UNUSED)
+ {
+ SCREEN *sp;
+
+@@ -999,8 +1199,7 @@
+ }
+ continue;
+ default:
+- SetConsoleActiveScreenBuffer(!PropOf(TCB)->progMode ?
+- TCB->hdl : TCB->out);
++ selectActiveHandle(TCB);
+ continue;
+ }
+ }
+@@ -1080,7 +1279,6 @@
+ BOOL b;
+ DWORD nRead;
+ WORD vk;
+- WORD sc;
+
+ AssertTCB();
+ assert(buf);
+@@ -1096,7 +1294,6 @@
+ continue;
+ *buf = (int) inp_rec.Event.KeyEvent.uChar.AsciiChar;
+ vk = inp_rec.Event.KeyEvent.wVirtualKeyCode;
+- sc = inp_rec.Event.KeyEvent.wVirtualScanCode;
+ if (*buf == 0) {
+ if (sp->_keypad_on) {
+ *buf = MapKey(TCB, vk);
+@@ -1124,8 +1321,9 @@
+ static int
+ drv_nap(TERMINAL_CONTROL_BLOCK * TCB GCC_UNUSED, int ms)
+ {
++ T((T_CALLED("win32con::drv_nap(%p, %d)"), TCB, ms));
+ Sleep(ms);
+- return OK;
++ returnCode(OK);
+ }
+
+ static bool
+@@ -1142,6 +1340,7 @@
+
+ AssertTCB();
+
++ T((T_CALLED("win32con::drv_kyExist(%p, %d)"), TCB, keycode));
+ res = bsearch(&key,
+ PropOf(TCB)->rmap,
+ (size_t) (N_INI + FKEYS),
+@@ -1153,11 +1352,11 @@
+ if (!(nKey & 0x8000))
+ found = TRUE;
+ }
+- return found;
++ returnCode(found);
+ }
+
+ static int
+-drv_kpad(TERMINAL_CONTROL_BLOCK * TCB, bool flag GCC_UNUSED)
++drv_kpad(TERMINAL_CONTROL_BLOCK * TCB, int flag GCC_UNUSED)
+ {
+ SCREEN *sp;
+ int code = ERR;
+@@ -1165,14 +1364,15 @@
+ AssertTCB();
+ sp = TCB->csp;
+
++ T((T_CALLED("win32con::drv_kpad(%p, %d)"), TCB, flag));
+ if (sp) {
+ code = OK;
+ }
+- return code;
++ returnCode(code);
+ }
+
+ static int
+-drv_keyok(TERMINAL_CONTROL_BLOCK * TCB, int keycode, bool flag)
++drv_keyok(TERMINAL_CONTROL_BLOCK * TCB, int keycode, int flag)
+ {
+ int code = ERR;
+ SCREEN *sp;
+@@ -1184,6 +1384,7 @@
+ AssertTCB();
+ SetSP();
+
++ T((T_CALLED("win32con::drv_keyok(%p, %d, %d)"), TCB, keycode, flag));
+ if (sp) {
+ res = bsearch(&key,
+ PropOf(TCB)->rmap,
+@@ -1199,7 +1400,7 @@
+ *(LONG *) res = GenMap(vKey, nKey);
+ }
+ }
+- return code;
++ returnCode(code);
+ }
+
+ NCURSES_EXPORT_VAR (TERM_DRIVER) _nc_WIN_DRIVER = {
+Index: package/debian/changelog
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/package/debian/changelog 2013-05-04 14:56:00.000000000 +0000
+@@ -0,0 +1,11 @@
++ncurses6 (5.9-20130504) unstable; urgency=low
++
++ * latest weekly patch
++
++ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 04 May 2013 10:55:57 -0400
++
++ncurses6 (5.9-20120608) unstable; urgency=low
++
++ * initial release
++
++ -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 08 Jun 2012 07:54:29 -0400
+Index: package/debian/compat
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/package/debian/compat 2010-04-20 19:47:10.000000000 +0000
+@@ -0,0 +1 @@
++5
+Index: package/debian/control
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/package/debian/control 2012-06-08 13:29:14.000000000 +0000
+@@ -0,0 +1,16 @@
++Source: ncurses6
++Section: libdevel
++Priority: optional
++Maintainer: Thomas E. Dickey <dickey@invisible-island.net>
++Homepage: http://invisible-island.net/ncurses/
++Build-Depends: debhelper (>= 7)
++Standards-Version: 3.8.2
++
++Package: ncurses6
++Architecture: any
++Depends: ${misc:Depends}
++Description: shared libraries for terminal handling
++ The ncurses library routines are a terminal-independent method of
++ updating character screens with reasonable optimization.
++ .
++ This package is used for testing ABI 6.
+Index: package/debian/copyright
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/package/debian/copyright 2012-06-08 12:27:36.000000000 +0000
+@@ -0,0 +1,112 @@
++This package is used for testing builds of ncurses.
++
++Copyright (c) 1998-2012 Free Software Foundation, Inc.
++Copyright © 2001 by Pradeep Padala
++
++Permission is hereby granted, free of charge, to any person obtaining a
++copy of this software and associated documentation files (the
++"Software"), to deal in the Software without restriction, including
++without limitation the rights to use, copy, modify, merge, publish,
++distribute, distribute with modifications, sublicense, and/or sell
++copies of the Software, and to permit persons to whom the Software is
++furnished to do so, subject to the following conditions:
++
++The above copyright notice and this permission notice shall be included
++in all copies or substantial portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
++OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
++DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
++OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
++THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++Except as contained in this notice, the name(s) of the above copyright
++holders shall not be used in advertising or otherwise to promote the
++sale, use or other dealings in this Software without prior written
++authorization.
++
++
++Copyright (C) 1994 X Consortium
++
++Permission is hereby granted, free of charge, to any person obtaining a copy
++of this software and associated documentation files (the "Software"), to
++deal in the Software without restriction, including without limitation the
++rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
++sell copies of the Software, and to permit persons to whom the Software is
++furnished to do so, subject to the following conditions:
++
++The above copyright notice and this permission notice shall be included in
++all copies or substantial portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
++AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
++TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++Except as contained in this notice, the name of the X Consortium shall not
++be used in advertising or otherwise to promote the sale, use or other deal-
++ings in this Software without prior written authorization from the X Consor-
++tium.
++
++
++Copyright (c) 1980, 1991, 1992, 1993
++ The Regents of the University of California. All rights reserved.
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions
++are met:
++1. Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++2. Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in the
++ documentation and/or other materials provided with the distribution.
++3. Neither the name of the University nor the names of its contributors
++ may be used to endorse or promote products derived from this software
++ without specific prior written permission.
++
++THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
++ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
++FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++SUCH DAMAGE.
++
++
++Copyright 1996-2007 by Thomas E. Dickey
++
++ All Rights Reserved
++
++Permission is hereby granted, free of charge, to any person obtaining a
++copy of this software and associated documentation files (the
++"Software"), to deal in the Software without restriction, including
++without limitation the rights to use, copy, modify, merge, publish,
++distribute, sublicense, and/or sell copies of the Software, and to
++permit persons to whom the Software is furnished to do so, subject to
++the following conditions:
++
++The above copyright notice and this permission notice shall be included
++in all copies or substantial portions of the Software.
++
++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
++OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
++CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
++TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
++SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++Except as contained in this notice, the name(s) of the above copyright
++holders shall not be used in advertising or otherwise to promote the
++sale, use or other dealings in this Software without prior written
++authorization.
++
++-- vile: txtmode file-encoding=utf-8
+Index: package/debian/rules
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/package/debian/rules 2013-03-30 18:58:01.000000000 +0000
+@@ -0,0 +1,123 @@
++#!/usr/bin/make -f
++# MAde with the aid of dh_make, by Craig Small
++# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
++# Some lines taken from debmake, by Cristoph Lameter.
++
++# Uncomment this to turn on verbose mode.
++#export DH_VERBOSE=1
++
++# These are used for cross-compiling and for saving the configure script
++# from having to guess our platform (since we know it already)
++DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
++DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
++
++CC_NORMAL = -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wconversion
++CC_STRICT = $(CC_NORMAL) -W -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wwrite-strings -ansi -pedantic
++
++MY_DIR=/usr/local/ncurses6
++MYDATA=/usr/local/ncurses/share/terminfo
++BUILD_DIR=$(CURDIR)/debian/ncurses6
++
++CFLAGS = $(CC_NORMAL)
++
++ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
++ CFLAGS += -O0
++else
++ CFLAGS += -O2
++endif
++ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
++ INSTALL_PROGRAM += -s
++endif
++
++
++configure: configure-stamp
++configure-stamp:
++ dh_testdir
++
++ RPATH_LIST=../lib:$(MY_DIR)/lib \
++ CFLAGS="$(CFLAGS)" ./configure \
++ --host=$(DEB_HOST_GNU_TYPE) \
++ --build=$(DEB_BUILD_GNU_TYPE) \
++ --prefix=$(MY_DIR) \
++ --with-default-terminfo-dir=$(MYDATA) \
++ --with-terminfo-dirs=$(MYDATA):/usr/share/terminfo \
++ --disable-echo \
++ --disable-getcap \
++ --disable-leaks \
++ --disable-macros \
++ --disable-termcap \
++ --enable-const \
++ --enable-ext-colors \
++ --enable-ext-mouse \
++ --enable-hard-tabs \
++ --enable-interop \
++ --enable-rpath \
++ --enable-sp-funcs \
++ --enable-warnings \
++ --enable-widec \
++ --verbose \
++ --with-develop \
++ --with-shared \
++ --with-termlib \
++ --with-ticlib \
++ --with-trace \
++ --with-cxx-shared \
++ --with-xterm-kbs=DEL \
++ --without-ada \
++ --without-debug \
++ --without-normal
++
++ touch configure-stamp
++
++build: build-stamp
++build-stamp: configure-stamp
++ dh_testdir
++
++ $(MAKE)
++
++ touch build-stamp
++
++clean:
++ dh_testdir
++ dh_testroot
++
++ [ ! -f makefile ] || $(MAKE) distclean
++
++ rm -f configure-stamp build-stamp install-stamp
++
++ dh_clean
++
++install: install-stamp
++install-stamp: build-stamp
++ dh_testdir
++ dh_testroot
++ dh_clean -k
++ dh_installdirs
++
++ $(MAKE) install.libs install.progs DESTDIR=$(BUILD_DIR)
++
++ ( cd test && make ncurses LOCAL_LIBDIR=$(MY_DIR)/lib )
++ mv test/ncurses $(BUILD_DIR)$(MY_DIR)/bin/ncurses6
++
++ touch install-stamp
++
++# Build architecture-independent files here.
++binary-indep: build install
++# No binary-indep target.
++
++# Build architecture-dependent files here.
++binary-arch: build install
++ dh_testdir
++ dh_testroot
++ dh_installchangelogs NEWS
++ dh_strip
++ dh_compress
++ dh_fixperms
++ dh_installdeb
++ dh_shlibdeps
++ dh_gencontrol
++ dh_md5sums
++ dh_builddeb
++
++binary: binary-indep binary-arch
++.PHONY: build clean binary-indep binary-arch binary install install-stamp
+Index: package/debian/source/format
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/package/debian/source/format 2010-06-22 21:37:16.000000000 +0000
+@@ -0,0 +1 @@
++3.0 (native)
+Index: package/debian/watch
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/package/debian/watch 2012-06-08 11:53:43.000000000 +0000
+@@ -0,0 +1,4 @@
++version=3
++
++opts=passive ftp://invisible-island.net/ncurses/current/ncurses\.tar.gz \
++ debian uupdate
+Index: package/ncurses.spec
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/package/ncurses.spec 2013-05-04 14:56:00.000000000 +0000
+@@ -0,0 +1,92 @@
++Summary: shared libraries for terminal handling
++Name: ncurses6
++Release: 5.9
++Version: 20130504
++License: X11
++Group: Development/Libraries
++Source: ncurses-%{release}-%{version}.tgz
++# URL: http://invisible-island.net/ncurses/
++
++%define CC_NORMAL -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wconversion
++%define CC_STRICT %{CC_NORMAL} -W -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wnested-externs -Wpointer-arith -Wwrite-strings -ansi -pedantic
++
++%define _prefix /usr/local/ncurses6
++%define MYDATA /usr/local/ncurses/share/terminfo
++
++%description
++The ncurses library routines are a terminal-independent method of
++updating character screens with reasonable optimization.
++
++This package is used for testing ABI 6.
++
++%prep
++
++%define debug_package %{nil}
++%setup -q -n ncurses-%{release}-%{version}
++
++%build
++CFLAGS="%{CC_NORMAL}" \
++RPATH_LIST=../lib:%{_prefix}/lib \
++%configure \
++ --target %{_target_platform} \
++ --prefix=%{_prefix} \
++ --includedir='${prefix}/include' \
++ --with-default-terminfo-dir=%{MYDATA} \
++ --with-install-prefix=$RPM_BUILD_ROOT \
++ --with-terminfo-dirs=%{MYDATA}:/usr/share/terminfo \
++ --disable-echo \
++ --disable-getcap \
++ --disable-leaks \
++ --disable-macros \
++ --disable-overwrite \
++ --disable-termcap \
++ --enable-const \
++ --enable-ext-colors \
++ --enable-ext-mouse \
++ --enable-hard-tabs \
++ --enable-interop \
++ --enable-rpath \
++ --enable-sp-funcs \
++ --enable-warnings \
++ --enable-widec \
++ --verbose \
++ --with-develop \
++ --with-shared \
++ --with-termlib \
++ --with-ticlib \
++ --with-trace \
++ --with-cxx-shared \
++ --with-xterm-kbs=DEL \
++ --without-ada \
++ --without-debug \
++ --without-normal
++
++make
++
++%install
++rm -rf $RPM_BUILD_ROOT
++
++make install.libs install.progs
++rm -f test/ncurses
++( cd test && make ncurses LOCAL_LIBDIR=%{_libdir} && mv ncurses $RPM_BUILD_ROOT/%{_bindir}/ncurses6 )
++
++%clean
++rm -rf $RPM_BUILD_ROOT
++
++%files
++%defattr(-,root,root,-)
++%{_bindir}/*
++%{_includedir}/*
++%{_libdir}/*
++#%{_datadir}/*
++
++%changelog
++
++* Sat Mar 09 2013 Thomas E. Dickey
++- add --with-cxx-shared option to demonstrate c++ binding as shared library
++
++* Sat Oct 26 2012 Thomas E. Dickey
++- add ncurses program as "ncurses6" to provide demonstration.
++
++* Fri Jun 08 2012 Thomas E. Dickey
++- initial version.
+Index: panel/Makefile.in
+Prereq: 1.58
+--- ncurses-5.9/panel/Makefile.in 2010-11-27 21:45:27.000000000 +0000
++++ ncurses-5.9-20130504/panel/Makefile.in 2012-09-29 19:37:34.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.58 2010/11/27 21:45:27 tom Exp $
++# $Id: Makefile.in,v 1.61 2012/09/29 19:37:34 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -57,6 +57,7 @@
+ bindir = @bindir@
+ libdir = @libdir@
+ includedir = @includedir@
++datarootdir = @datarootdir@
+ datadir = @datadir@
+
+ LIBTOOL = @LIBTOOL@
+@@ -103,6 +104,7 @@
+ SHLIB_DIRS = -L../lib
+ SHLIB_LIST = $(SHLIB_DIRS) -lncurses@LIB_SUFFIX@ @SHLIB_LIST@
+
++RPATH_LIST = @RPATH_LIST@
+ MK_SHARED_LIB = @MK_SHARED_LIB@
+
+ NCURSES_MAJOR = @NCURSES_MAJOR@
+@@ -112,7 +114,7 @@
+
+ RANLIB = @LIB_PREP@
+
+-LIBRARIES = @LIBS_TO_MAKE@
++LIBRARIES = @Libs_To_Make@
+
+ LINT = @LINT@
+ LINT_OPTS = @LINT_OPTS@
+Index: panel/p_above.c
+Prereq: 1.8
+--- ncurses-5.9/panel/p_above.c 2010-01-23 21:22:15.000000000 +0000
++++ ncurses-5.9-20130504/panel/p_above.c 2012-03-10 23:43:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,13 +36,13 @@
+ */
+ #include "panel.priv.h"
+
+-MODULE_ID("$Id: p_above.c,v 1.8 2010/01/23 21:22:15 tom Exp $")
++MODULE_ID("$Id: p_above.c,v 1.9 2012/03/10 23:43:41 tom Exp $")
+
+ #if NCURSES_SP_FUNCS
+ NCURSES_EXPORT(PANEL *)
+ ground_panel(SCREEN * sp)
+ {
+- T((T_CALLED("ground_panel(%p)"), sp));
++ T((T_CALLED("ground_panel(%p)"), (void *)sp));
+ if (sp)
+ {
+ struct panelhook *ph = NCURSES_SP_NAME(_nc_panelhook) (sp);
+Index: panel/p_below.c
+Prereq: 1.8
+--- ncurses-5.9/panel/p_below.c 2010-01-23 21:22:15.000000000 +0000
++++ ncurses-5.9-20130504/panel/p_below.c 2012-03-10 23:43:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,13 +36,13 @@
+ */
+ #include "panel.priv.h"
+
+-MODULE_ID("$Id: p_below.c,v 1.8 2010/01/23 21:22:15 tom Exp $")
++MODULE_ID("$Id: p_below.c,v 1.9 2012/03/10 23:43:41 tom Exp $")
+
+ #if NCURSES_SP_FUNCS
+ NCURSES_EXPORT(PANEL *)
+ ceiling_panel(SCREEN * sp)
+ {
+- T((T_CALLED("ceiling_panel(%p)"), sp));
++ T((T_CALLED("ceiling_panel(%p)"), (void *)sp));
+ if (sp)
+ {
+ struct panelhook *ph = NCURSES_SP_NAME(_nc_panelhook) (sp);
+Index: panel/panel.c
+Prereq: 1.25
+--- ncurses-5.9/panel/panel.c 2010-01-23 21:22:16.000000000 +0000
++++ ncurses-5.9-20130504/panel/panel.c 2012-02-23 10:02:15.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,7 +36,7 @@
+ /* panel.c -- implementation of panels library, some core routines */
+ #include "panel.priv.h"
+
+-MODULE_ID("$Id: panel.c,v 1.25 2010/01/23 21:22:16 tom Exp $")
++MODULE_ID("$Id: panel.c,v 1.26 2012/02/23 10:02:15 tom Exp $")
+
+ /*+-------------------------------------------------------------------------
+ _nc_retrace_panel (pan)
+@@ -61,9 +61,9 @@
+ char temp[32];
+
+ if (ptr != 0)
+- sprintf(temp, "ptr:%p", ptr);
++ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp)) "ptr:%p", ptr);
+ else
+- strcpy(temp, "<null>");
++ _nc_STRCPY(temp, "<null>", sizeof(temp));
+ return _nc_visbuf(temp);
+ }
+ #endif
+@@ -95,7 +95,7 @@
+
+ GetPanelHook(pan);
+
+- sprintf(s80, fmt, num, pan);
++ _nc_SPRINTF(s80, _nc_SLIMIT(sizeof(s80)) fmt, num, pan);
+ _tracef("%s b=%s t=%s", s80,
+ (_nc_bottom_panel) ? USER_PTR(_nc_bottom_panel->user) : "--",
+ (_nc_top_panel) ? USER_PTR(_nc_top_panel->user) : "--");
+@@ -143,7 +143,7 @@
+ {
+ char s80[80];
+
+- sprintf(s80, "Touchline s=%d c=%d", start, count);
++ _nc_SPRINTF(s80, _nc_SLIMIT(sizeof(s80)) "Touchline s=%d c=%d", start, count);
+ dPanel(s80, pan);
+ touchline(pan->win, start, count);
+ }
+Index: panel/panel.priv.h
+Prereq: 1.23
+--- ncurses-5.9/panel/panel.priv.h 2009-04-11 20:33:55.000000000 +0000
++++ ncurses-5.9-20130504/panel/panel.priv.h 2012-12-15 23:57:43.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+
+-/* $Id: panel.priv.h,v 1.23 2009/04/11 20:33:55 tom Exp $ */
++/* $Id: panel.priv.h,v 1.25 2012/12/15 23:57:43 tom Exp $ */
+
+ #ifndef NCURSES_PANEL_PRIV_H
+ #define NCURSES_PANEL_PRIV_H 1
+@@ -89,7 +89,7 @@
+ #define GetScreenHook(sp) \
+ struct panelhook* ph = NCURSES_SP_NAME(_nc_panelhook)(sp)
+ #define GetPanelHook(pan) \
+- GetScreenHook(_nc_screen_of((pan)->win))
++ GetScreenHook(pan ? _nc_screen_of((pan)->win) : 0)
+ #define GetWindowHook(win) \
+ SCREEN* sp = _nc_screen_of(win); \
+ GetScreenHook(sp)
+@@ -160,7 +160,7 @@
+ ---------------------------------------------------------------------------*/
+ #define PANEL_UPDATE(pan,panstart)\
+ { PANEL* pan2 = ((panstart) ? (panstart) : _nc_bottom_panel);\
+- while(pan2) {\
++ while(pan2 && pan2->win) {\
+ if ((pan2 != pan) && PANELS_OVERLAPPED(pan,pan2)) {\
+ int y, ix1, ix2, iy1, iy2;\
+ COMPUTE_INTERSECTION(pan, pan2, ix1, ix2, iy1, iy2);\
+Index: progs/Makefile.in
+Prereq: 1.85
+--- ncurses-5.9/progs/Makefile.in 2010-11-27 21:45:27.000000000 +0000
++++ ncurses-5.9-20130504/progs/Makefile.in 2012-08-11 21:31:56.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.85 2010/11/27 21:45:27 tom Exp $
++# $Id: Makefile.in,v 1.89 2012/08/11 21:31:56 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -61,6 +61,7 @@
+ bindir = @bindir@
+ libdir = @libdir@
+ includedir = @includedir@
++datarootdir = @datarootdir@
+ datadir = @datadir@
+
+ LIBTOOL = @LIBTOOL@
+@@ -104,20 +105,21 @@
+ LD = @LD@
+ LINK = @LINK_PROGS@ $(LIBTOOL_LINK)
+ LDFLAGS = @EXTRA_LDFLAGS@ @LDFLAGS@
++RPATH_LIST = @RPATH_LIST@
+
+ LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL)
+ LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL)
+ LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG)
+-LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
++LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
+ LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
+
+ LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@)
+
+-LIBS_TIC = @LDFLAGS_STATIC@ @TICS_ARGS@ @TINFO_ARGS@ @LDFLAGS_SHARED@ @LD_MODEL@ @LIBS@
+-LDFLAGS_TIC = $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_TIC)
++LIBS_TIC = @TINFO_LDFLAGS@ @LDFLAGS_STATIC@ @TICS_LIBS@ @TINFO_LIBS@ @LDFLAGS_SHARED@ @LD_MODEL@ @LIBS@
++LDFLAGS_TIC = @TICS_LDFLAGS@ $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_TIC)
+
+-LIBS_TINFO = @LDFLAGS_STATIC@ @TINFO_ARGS@ @LDFLAGS_SHARED@ @LD_MODEL@ @LIBS@
+-LDFLAGS_TINFO = $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_TINFO)
++LIBS_TINFO = @LDFLAGS_STATIC@ @TINFO_LIBS@ @LDFLAGS_SHARED@ @LD_MODEL@ @LIBS@
++LDFLAGS_TINFO = @TINFO_LDFLAGS@ $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_TINFO)
+
+ LINT = @LINT@
+ LINT_OPTS = @LINT_OPTS@
+@@ -230,46 +232,46 @@
+ $(MODEL)/transform$o
+
+ tic$x: $(DEPS_TIC) $(DEPS_CURSES) transform.h
+- @ECHO_LINK@ $(LINK) $(DEPS_TIC) $(LDFLAGS_TIC) -o $@
++ @ECHO_LD@ $(LINK) $(DEPS_TIC) $(LDFLAGS_TIC) -o $@
+
+ DEPS_TOE = \
+ $(MODEL)/toe$o
+
+ toe$x: $(DEPS_TOE) $(DEPS_CURSES)
+- @ECHO_LINK@ $(LINK) $(DEPS_TOE) $(LDFLAGS_TIC) -o $@
++ @ECHO_LD@ $(LINK) $(DEPS_TOE) $(LDFLAGS_TIC) -o $@
+
+ DEPS_CLEAR = \
+ $(MODEL)/clear$o
+
+ clear$x: $(DEPS_CLEAR) $(DEPS_CURSES)
+- @ECHO_LINK@ $(LINK) $(DEPS_CLEAR) $(LDFLAGS_TINFO) -o $@
++ @ECHO_LD@ $(LINK) $(DEPS_CLEAR) $(LDFLAGS_TINFO) -o $@
+
+ DEPS_TABS = \
+ $(MODEL)/tabs$o
+
+ tabs$x: $(DEPS_TABS) $(DEPS_TABS)
+- @ECHO_LINK@ $(LINK) $(DEPS_TABS) $(LDFLAGS_TINFO) -o $@
++ @ECHO_LD@ $(LINK) $(DEPS_TABS) $(LDFLAGS_TINFO) -o $@
+
+ DEPS_TPUT = \
+ $(MODEL)/tput$o \
+ $(MODEL)/transform$o
+
+ tput$x: $(DEPS_TPUT) $(DEPS_CURSES) transform.h
+- @ECHO_LINK@ $(LINK) $(DEPS_TPUT) $(LDFLAGS_TINFO) -o $@
++ @ECHO_LD@ $(LINK) $(DEPS_TPUT) $(LDFLAGS_TINFO) -o $@
+
+ DEPS_INFOCMP = \
+ $(MODEL)/infocmp$o \
+ $(MODEL)/dump_entry$o
+
+ infocmp$x: $(DEPS_INFOCMP) $(DEPS_CURSES)
+- @ECHO_LINK@ $(LINK) $(DEPS_INFOCMP) $(LDFLAGS_TIC) -o $@
++ @ECHO_LD@ $(LINK) $(DEPS_INFOCMP) $(LDFLAGS_TIC) -o $@
+
+ DEPS_TSET = \
+ $(MODEL)/tset$o \
+ $(MODEL)/transform$o
+
+ tset$x: $(DEPS_TSET) $(DEPS_CURSES) transform.h
+- @ECHO_LINK@ $(LINK) $(DEPS_TSET) $(LDFLAGS_TINFO) -o $@
++ @ECHO_LD@ $(LINK) $(DEPS_TSET) $(LDFLAGS_TINFO) -o $@
+
+ termsort.c: $(srcdir)/MKtermsort.sh
+ sh $(srcdir)/MKtermsort.sh $(AWK) $(srcdir)/../include/@TERMINFO_CAPS@ >$@
+Index: progs/capconvert
+Prereq: 1.4
+--- ncurses-5.9/progs/capconvert 2006-04-22 21:46:17.000000000 +0000
++++ ncurses-5.9-20130504/progs/capconvert 2011-11-12 23:28:07.000000000 +0000
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+ ##############################################################################
+-# Copyright (c) 1998,2006 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2006,2011 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -26,7 +26,7 @@
+ # use or other dealings in this Software without prior written #
+ # authorization. #
+ ##############################################################################
+-# $Id: capconvert,v 1.4 2006/04/22 21:46:17 tom Exp $
++# $Id: capconvert,v 1.5 2011/11/12 23:28:07 Robert.Millan Exp $
+ #
+ # capconvert -- automated conversion from termcap to terminfo
+ #
+@@ -77,16 +77,18 @@
+ # Assumes the terminfo master covers all canned terminal types
+ exit;
+ fi
+- if test "$TERM" = "xterm"
+- then
++ case $TERM in
++ xterm | xterm-*)
+ echo "You are running xterm, which usually sets TERMCAP itself."
+ echo "We can ignore this, because terminfo knows about xterm."
+ echo "So you will just use the system-wide terminfo tree."
+- exit;
+- else
++ exit
++ ;;
++ *)
+ echo "We will have to make a local one for you anyway, to capture the effect"
+ echo "of your TERMCAP variable."
+- fi
++ ;;
++ esac
+ else
+ echo "No system-wide terminfo tree. We will make you a local one."
+ fi
+@@ -109,7 +111,7 @@
+ for x in $PATH .
+ do
+ if test $OPT $x/tic
+- then
++ then
+ TIC=$x/tic
+ break
+ fi
+@@ -141,7 +143,7 @@
+ then
+ echo "It appears you already have a private terminfo directory"
+ echo "at $HOME/.terminfo; this seems odd, because TERMINFO"
+- echo "is not defined. I am not going to second-guess this -- if you"
++ echo "is not defined. I am not going to second-guess this -- if you"
+ echo "really want me to try auto-configuring for you, remove or"
+ echo "rename $HOME/terminfo and run me again."
+ exit;
+@@ -214,7 +216,7 @@
+ #
+ echo "You now have a private tree under $HOME/.terminfo;"
+ echo "the ncurses library will automatically read from it,"
+-echo "and ncurses tic will automatically compile entries to it."
++echo "and ncurses tic will automatically compile entries to it."
+
+ # We're done unless user has a .termcap file or equivalent named by TERMCAP
+ if test -z "$TERMCAP"
+@@ -235,7 +237,7 @@
+ echo "Done."
+ echo "Note that editing $HOME/.termcap will no longer change the data curses sees."
+ elif test -f "$TERMCAP"
+-then
++then
+ echo "Your TERMCAP names the file $TERMCAP. I will compile that."
+ eval $TIC $TERMCAP
+ echo "Done."
+Index: progs/dump_entry.c
+Prereq: 1.89
+--- ncurses-5.9/progs/dump_entry.c 2010-05-01 22:04:08.000000000 +0000
++++ ncurses-5.9-20130504/progs/dump_entry.c 2013-05-04 18:48:56.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ #include "termsort.c" /* this C file is generated */
+ #include <parametrized.h> /* so is this */
+
+-MODULE_ID("$Id: dump_entry.c,v 1.89 2010/05/01 22:04:08 tom Exp $")
++MODULE_ID("$Id: dump_entry.c,v 1.109 2013/05/04 18:48:56 tom Exp $")
+
+ #define INDENT 8
+ #define DISCARD(string) string = ABSENT_STRING
+@@ -57,6 +57,7 @@
+ static int outform; /* output format to use */
+ static int sortmode; /* sort mode to use */
+ static int width = 60; /* max line width for listings */
++static int height = 65535; /* max number of lines for listings */
+ static int column; /* current column, limited by 'width' */
+ static int oldcol; /* last value of column before wrap */
+ static bool pretty; /* true if we format if-then-else strings */
+@@ -72,7 +73,7 @@
+ static NCURSES_CONST char *const *num_names;
+ static NCURSES_CONST char *const *str_names;
+
+-static const char *separator, *trailer;
++static const char *separator = "", *trailer = "";
+
+ /* cover various ports and variants of terminfo */
+ #define V_ALLCAPS 0 /* all capabilities (SVr4, XSI, ncurses) */
+@@ -99,6 +100,15 @@
+ #define StrIndirect(j) ((sortmode == S_NOSORT) ? (j) : str_indirect[j])
+ #endif
+
++static void failed(const char *) GCC_NORETURN;
++
++static void
++failed(const char *s)
++{
++ perror(s);
++ ExitProgram(EXIT_FAILURE);
++}
++
+ static void
+ strncpy_DYN(DYNBUF * dst, const char *src, size_t need)
+ {
+@@ -106,6 +116,8 @@
+ if (want > dst->size) {
+ dst->size += (want + 1024); /* be generous */
+ dst->text = typeRealloc(char, dst->size, dst->text);
++ if (dst->text == 0)
++ failed("strncpy_DYN");
+ }
+ (void) strncpy(dst->text + dst->used, src, need);
+ dst->used += need;
+@@ -172,11 +184,17 @@
+ }
+
+ void
+-dump_init(const char *version, int mode, int sort, int twidth, int traceval,
++dump_init(const char *version,
++ int mode,
++ int sort,
++ int twidth,
++ int theight,
++ unsigned traceval,
+ bool formatted)
+ /* set up for entry display */
+ {
+ width = twidth;
++ height = theight;
+ pretty = formatted;
+
+ /* versions */
+@@ -201,7 +219,7 @@
+ bool_names = boolnames;
+ num_names = numnames;
+ str_names = strnames;
+- separator = twidth ? ", " : ",";
++ separator = (twidth > 0 && theight > 1) ? ", " : ",";
+ trailer = "\n\t";
+ break;
+
+@@ -209,7 +227,7 @@
+ bool_names = boolfnames;
+ num_names = numfnames;
+ str_names = strfnames;
+- separator = twidth ? ", " : ",";
++ separator = (twidth > 0 && theight > 1) ? ", " : ",";
+ trailer = "\n\t";
+ break;
+
+@@ -291,7 +309,11 @@
+ static void set_obsolete_termcaps(TERMTYPE *tp);
+
+ /* is this the index of a function key string? */
+-#define FNKEY(i) (((i)<= 65 && (i)>= 75) || ((i)<= 216 && (i)>= 268))
++#define FNKEY(i) \
++ (((i) >= STR_IDX(key_f0) && \
++ (i) <= STR_IDX(key_f9)) || \
++ ((i) >= STR_IDX(key_f11) && \
++ (i) <= STR_IDX(key_f63)))
+
+ /*
+ * If we configure with a different Caps file, the offsets into the arrays
+@@ -393,8 +415,8 @@
+ static void
+ wrap_concat(const char *src)
+ {
+- unsigned need = strlen(src);
+- unsigned want = strlen(separator) + need;
++ size_t need = strlen(src);
++ size_t want = strlen(separator) + need;
+
+ if (column > INDENT
+ && column + (int) want > width) {
+@@ -473,7 +495,7 @@
+ }
+
+ static char *
+-fmt_complex(char *src, int level)
++fmt_complex(TERMTYPE *tterm, const char *capability, char *src, int level)
+ {
+ bool percent = FALSE;
+ bool params = has_params(src);
+@@ -509,13 +531,15 @@
+ strncpy_DYN(&tmpbuf, "%", 1);
+ strncpy_DYN(&tmpbuf, src, 1);
+ if (*src++ == '?') {
+- src = fmt_complex(src, level + 1);
++ src = fmt_complex(tterm, capability, src, level + 1);
+ if (*src != '\0' && *src != '%') {
+ strncpy_DYN(&tmpbuf, "\n", 1);
+ indent_DYN(&tmpbuf, level + 1);
+ }
+ } else if (level == 1) {
+- _nc_warning("%%%c without %%?", *src);
++ _nc_warning("%s: %%%c without %%? in %s",
++ _nc_first_name(tterm->term_names),
++ *src, capability);
+ }
+ }
+ continue;
+@@ -529,9 +553,17 @@
+ indent_DYN(&tmpbuf, level);
+ strncpy_DYN(&tmpbuf, "%", 1);
+ strncpy_DYN(&tmpbuf, src++, 1);
++ if (src[0] == '%'
++ && src[1] != '\0'
++ && (strchr("?e;", src[1])) == 0) {
++ tmpbuf.text[tmpbuf.used++] = '\n';
++ indent_DYN(&tmpbuf, level);
++ }
+ return src;
+ }
+- _nc_warning("%%; without %%?");
++ _nc_warning("%s: %%; without %%? in %s",
++ _nc_first_name(tterm->term_names),
++ capability);
+ }
+ break;
+ case 'p':
+@@ -593,14 +625,28 @@
+ column = INDENT; /* FIXME: workaround to prevent empty lines */
+ } else {
+ strcpy_DYN(&outbuf, tterm->term_names);
++
++ /*
++ * Colon is legal in terminfo descriptions, but not in termcap.
++ */
++ if (!infodump) {
++ char *p = outbuf.text;
++ while (*p) {
++ if (*p == ':') {
++ *p = '=';
++ }
++ ++p;
++ }
++ }
+ strcpy_DYN(&outbuf, separator);
+ column = (int) outbuf.used;
+- force_wrap();
++ if (height > 1)
++ force_wrap();
+ }
+
+ for_each_boolean(j, tterm) {
+ i = BoolIndirect(j);
+- name = ExtBoolname(tterm, i, bool_names);
++ name = ExtBoolname(tterm, (int) i, bool_names);
+ assert(strlen(name) < sizeof(buffer) - EXTRA_CAP);
+
+ if (!version_filter(BOOLEAN, i))
+@@ -610,21 +656,21 @@
+
+ predval = pred(BOOLEAN, i);
+ if (predval != FAIL) {
+- (void) strcpy(buffer, name);
++ _nc_STRCPY(buffer, name, sizeof(buffer));
+ if (predval <= 0)
+- (void) strcat(buffer, "@");
++ _nc_STRCAT(buffer, "@", sizeof(buffer));
+ else if (i + 1 > num_bools)
+ num_bools = i + 1;
+ WRAP_CONCAT;
+ }
+ }
+
+- if (column != INDENT)
++ if (column != INDENT && height > 1)
+ force_wrap();
+
+ for_each_number(j, tterm) {
+ i = NumIndirect(j);
+- name = ExtNumname(tterm, i, num_names);
++ name = ExtNumname(tterm, (int) i, num_names);
+ assert(strlen(name) < sizeof(buffer) - EXTRA_CAP);
+
+ if (!version_filter(NUMBER, i))
+@@ -635,9 +681,11 @@
+ predval = pred(NUMBER, i);
+ if (predval != FAIL) {
+ if (tterm->Numbers[i] < 0) {
+- sprintf(buffer, "%s@", name);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%s@", name);
+ } else {
+- sprintf(buffer, "%s#%d", name, tterm->Numbers[i]);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%s#%d", name, tterm->Numbers[i]);
+ if (i + 1 > num_values)
+ num_values = i + 1;
+ }
+@@ -645,7 +693,7 @@
+ }
+ }
+
+- if (column != INDENT)
++ if (column != INDENT && height > 1)
+ force_wrap();
+
+ len += (int) (num_bools
+@@ -670,7 +718,7 @@
+
+ for_each_string(j, tterm) {
+ i = StrIndirect(j);
+- name = ExtStrname(tterm, i, str_names);
++ name = ExtStrname(tterm, (int) i, str_names);
+ assert(strlen(name) < sizeof(buffer) - EXTRA_CAP);
+
+ capability = tterm->Strings[i];
+@@ -698,14 +746,14 @@
+ if (PRESENT(insert_character) || PRESENT(parm_ich)) {
+ if (SAME_CAP(i, enter_insert_mode)
+ && enter_insert_mode == ABSENT_STRING) {
+- (void) strcpy(buffer, "im=");
++ _nc_STRCPY(buffer, "im=", sizeof(buffer));
+ WRAP_CONCAT;
+ continue;
+ }
+
+ if (SAME_CAP(i, exit_insert_mode)
+ && exit_insert_mode == ABSENT_STRING) {
+- (void) strcpy(buffer, "ei=");
++ _nc_STRCPY(buffer, "ei=", sizeof(buffer));
+ WRAP_CONCAT;
+ continue;
+ }
+@@ -739,7 +787,8 @@
+ num_strings = i + 1;
+
+ if (!VALID_STRING(capability)) {
+- sprintf(buffer, "%s@", name);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%s@", name);
+ WRAP_CONCAT;
+ } else if (outform == F_TERMCAP || outform == F_TCONVERR) {
+ int params = ((i < (int) SIZEOF(parametrized))
+@@ -750,13 +799,14 @@
+
+ if (cv == 0) {
+ if (outform == F_TCONVERR) {
+- sprintf(buffer, "%s=!!! %s WILL NOT CONVERT !!!",
+- name, srccap);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%s=!!! %s WILL NOT CONVERT !!!",
++ name, srccap);
+ } else if (suppress_untranslatable) {
+ continue;
+ } else {
+ char *s = srccap, *d = buffer;
+- sprintf(d, "..%s=", name);
++ _nc_SPRINTF(d, _nc_SLIMIT(sizeof(buffer)) "..%s=", name);
+ d += strlen(d);
+ while ((*d = *s++) != 0) {
+ if (*d == ':') {
+@@ -769,7 +819,8 @@
+ }
+ }
+ } else {
+- sprintf(buffer, "%s=%s", name, cv);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%s=%s", name, cv);
+ }
+ len += (int) strlen(capability) + 1;
+ WRAP_CONCAT;
+@@ -783,7 +834,7 @@
+ if (pretty
+ && (outform == F_TERMINFO
+ || outform == F_VARIABLE)) {
+- fmt_complex(src, 1);
++ fmt_complex(tterm, name, src, 1);
+ } else {
+ strcpy_DYN(&tmpbuf, src);
+ }
+@@ -793,7 +844,9 @@
+ }
+ }
+ /* e.g., trimmed_sgr0 */
+- if (capability != tterm->Strings[i])
++ if (capability != ABSENT_STRING &&
++ capability != CANCELLED_STRING &&
++ capability != tterm->Strings[i])
+ free(capability);
+ }
+ len += (int) (num_strings * 2);
+@@ -805,11 +858,13 @@
+ */
+ if (tversion == V_HPUX) {
+ if (VALID_STRING(memory_lock)) {
+- (void) sprintf(buffer, "meml=%s", memory_lock);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "meml=%s", memory_lock);
+ WRAP_CONCAT;
+ }
+ if (VALID_STRING(memory_unlock)) {
+- (void) sprintf(buffer, "memu=%s", memory_unlock);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "memu=%s", memory_unlock);
+ WRAP_CONCAT;
+ }
+ } else if (tversion == V_AIX) {
+@@ -832,9 +887,41 @@
+ tp[0] = '\0';
+
+ if (box_ok) {
+- (void) strcpy(buffer, "box1=");
+- (void) strcat(buffer, _nc_tic_expand(boxchars,
+- outform == F_TERMINFO, numbers));
++ char *tmp = _nc_tic_expand(boxchars,
++ (outform == F_TERMINFO),
++ numbers);
++ _nc_STRCPY(buffer, "box1=", sizeof(buffer));
++ while (*tmp != '\0') {
++ size_t have = strlen(buffer);
++ size_t next = strlen(tmp);
++ size_t want = have + next + 1;
++ size_t last = next;
++ char save = '\0';
++
++ /*
++ * If the expanded string is too long for the buffer,
++ * chop it off and save the location where we chopped it.
++ */
++ if (want >= sizeof(buffer)) {
++ save = tmp[last];
++ tmp[last] = '\0';
++ }
++ _nc_STRCAT(buffer, tmp, sizeof(buffer));
++
++ /*
++ * If we chopped the buffer, replace the missing piece and
++ * shift everything to append the remainder.
++ */
++ if (save != '\0') {
++ next = 0;
++ tmp[last] = save;
++ while ((tmp[next] = tmp[last + next]) != '\0') {
++ ++next;
++ }
++ } else {
++ break;
++ }
++ }
+ WRAP_CONCAT;
+ }
+ }
+@@ -846,7 +933,7 @@
+ */
+ if (outcount) {
+ bool trimmed = FALSE;
+- j = outbuf.used;
++ j = (PredIdx) outbuf.used;
+ if (j >= 2
+ && outbuf.text[j - 1] == '\t'
+ && outbuf.text[j - 2] == '\n') {
+@@ -926,7 +1013,7 @@
+ char name[10];
+
+ for (n = 0; n <= 10; ++n) {
+- sprintf(name, "lf%d", n);
++ _nc_SPRINTF(name, _nc_SLIMIT(sizeof(name)) "lf%d", n);
+ if ((cap = find_string(tterm, name)) != ABSENT_STRING
+ && kill_string(tterm, cap)) {
+ target -= (int) (strlen(cap) + 5);
+@@ -951,7 +1038,7 @@
+ char name[10];
+
+ for (n = 60; n >= 0; --n) {
+- sprintf(name, "kf%d", n);
++ _nc_SPRINTF(name, _nc_SLIMIT(sizeof(name)) "kf%d", n);
+ if ((cap = find_string(tterm, name)) != ABSENT_STRING
+ && kill_string(tterm, cap)) {
+ target -= (int) (strlen(cap) + 5);
+@@ -1064,7 +1151,7 @@
+ */
+ unsigned n;
+ for (n = STRCOUNT; n < NUM_STRINGS(tterm); n++) {
+- const char *name = ExtStrname(tterm, n, strnames);
++ const char *name = ExtStrname(tterm, (int) n, strnames);
+
+ if (VALID_STRING(tterm->Strings[n])) {
+ set_attributes = ABSENT_STRING;
+@@ -1144,21 +1231,45 @@
+
+ if (outform == F_TERMCAP || outform == F_TCONVERR)
+ trim_trailing();
+- (void) sprintf(buffer, "%s%s", infodump ? "use=" : "tc=", name);
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "%s%s", infodump ? "use=" : "tc=", name);
+ wrap_concat(buffer);
+ }
+
+ int
+ show_entry(void)
+ {
+- trim_trailing();
++ /*
++ * Trim any remaining whitespace.
++ */
++ if (outbuf.used != 0) {
++ bool infodump = (outform != F_TERMCAP && outform != F_TCONVERR);
++ char delim = (char) (infodump ? ',' : ':');
++ int j;
++
++ for (j = (int) outbuf.used - 1; j > 0; --j) {
++ char ch = outbuf.text[j];
++ if (ch == '\n') {
++ ;
++ } else if (isspace(UChar(ch))) {
++ outbuf.used = (size_t) j;
++ } else if (!infodump && ch == '\\') {
++ outbuf.used = (size_t) j;
++ } else if (ch == delim && (j == 0 || outbuf.text[j - 1] != '\\')) {
++ outbuf.used = (size_t) (j + 1);
++ } else {
++ break;
++ }
++ }
++ outbuf.text[outbuf.used] = '\0';
++ }
+ (void) fputs(outbuf.text, stdout);
+ putchar('\n');
+ return (int) outbuf.used;
+ }
+
+ void
+-compare_entry(void (*hook) (PredType t, PredIdx i, const char *name),
++compare_entry(PredHook hook,
+ TERMTYPE *tp GCC_UNUSED,
+ bool quiet)
+ /* compare two entries */
+@@ -1170,7 +1281,7 @@
+ fputs(" comparing booleans.\n", stdout);
+ for_each_boolean(j, tp) {
+ i = BoolIndirect(j);
+- name = ExtBoolname(tp, i, bool_names);
++ name = ExtBoolname(tp, (int) i, bool_names);
+
+ if (isObsolete(outform, name))
+ continue;
+@@ -1182,7 +1293,7 @@
+ fputs(" comparing numbers.\n", stdout);
+ for_each_number(j, tp) {
+ i = NumIndirect(j);
+- name = ExtNumname(tp, i, num_names);
++ name = ExtNumname(tp, (int) i, num_names);
+
+ if (isObsolete(outform, name))
+ continue;
+@@ -1194,7 +1305,7 @@
+ fputs(" comparing strings.\n", stdout);
+ for_each_string(j, tp) {
+ i = StrIndirect(j);
+- name = ExtStrname(tp, i, str_names);
++ name = ExtStrname(tp, (int) i, str_names);
+
+ if (isObsolete(outform, name))
+ continue;
+Index: progs/dump_entry.h
+Prereq: 1.30
+--- ncurses-5.9/progs/dump_entry.h 2008-07-12 20:23:03.000000000 +0000
++++ ncurses-5.9-20130504/progs/dump_entry.h 2011-08-06 16:33:05.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2008,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,9 +32,8 @@
+ * and: Thomas E. Dickey 1996-on *
+ ****************************************************************************/
+
+-
+ /*
+- * $Id: dump_entry.h,v 1.30 2008/07/12 20:23:03 tom Exp $
++ * $Id: dump_entry.h,v 1.32 2011/08/06 16:33:05 tom Exp $
+ *
+ * Dump control definitions and variables
+ */
+@@ -64,16 +63,17 @@
+
+ typedef unsigned PredType;
+ typedef unsigned PredIdx;
+-typedef int (*PredFunc)(PredType, PredIdx);
++typedef int (*PredFunc) (PredType, PredIdx);
++typedef void (*PredHook) (PredType, PredIdx, const char *);
+
+ extern NCURSES_CONST char *nametrans(const char *);
+ extern int fmt_entry(TERMTYPE *, PredFunc, bool, bool, bool, int);
+ extern int show_entry(void);
+-extern void compare_entry(void (*)(PredType, PredIdx, const char *), TERMTYPE *, bool);
++extern void compare_entry(PredHook, TERMTYPE *, bool);
+ extern void dump_entry(TERMTYPE *, bool, bool, int, PredFunc);
+-extern void dump_init(const char *, int, int, int, int, bool);
++extern void dump_init(const char *, int, int, int, int, unsigned, bool);
+ extern void dump_uses(const char *, bool);
+-extern void repair_acsc(TERMTYPE * tp);
++extern void repair_acsc(TERMTYPE *tp);
+
+ #define FAIL -1
+
+Index: progs/infocmp.c
+Prereq: 1.105
+--- ncurses-5.9/progs/infocmp.c 2010-05-01 22:04:08.000000000 +0000
++++ ncurses-5.9-20130504/progs/infocmp.c 2013-04-13 22:15:14.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,7 +42,7 @@
+
+ #include <dump_entry.h>
+
+-MODULE_ID("$Id: infocmp.c,v 1.105 2010/05/01 22:04:08 tom Exp $")
++MODULE_ID("$Id: infocmp.c,v 1.124 2013/04/13 22:15:14 Miroslav.Lichvar Exp $")
+
+ #define L_CURL "{"
+ #define R_CURL "}"
+@@ -70,8 +70,9 @@
+ static const char *s_absent = "NULL";
+ static const char *s_cancel = "NULL";
+ static const char *tversion; /* terminfo version selected */
+-static int itrace; /* trace flag for debugging */
++static unsigned itrace; /* trace flag for debugging */
+ static int mwidth = 60;
++static int mheight = 65535;
+ static int numbers = 0; /* format "%'char'" to/from "%{number}" */
+ static int outform = F_TERMINFO; /* output format */
+ static int sortmode; /* sort_mode */
+@@ -86,27 +87,52 @@
+ static bool ignorepads; /* ignore pad prefixes when diffing */
+
+ #if NO_LEAKS
++
++typedef struct {
++ ENTRY *head;
++ ENTRY *tail;
++} ENTERED;
++
++static ENTERED *entered;
++
+ #undef ExitProgram
+ static void ExitProgram(int code) GCC_NORETURN;
+ /* prototype is to get gcc to accept the noreturn attribute */
+ static void
+ ExitProgram(int code)
+ {
+- while (termcount-- > 0)
+- _nc_free_termtype(&entries[termcount].tterm);
++ int n;
++
++ for (n = 0; n < termcount; ++n) {
++ ENTRY *new_head = _nc_head;
++ ENTRY *new_tail = _nc_tail;
++ _nc_head = entered[n].head;
++ _nc_tail = entered[n].tail;
++ _nc_free_entries(entered[n].head);
++ _nc_head = new_head;
++ _nc_tail = new_tail;
++ }
+ _nc_leaks_dump_entry();
+ free(entries);
++ free(entered);
+ _nc_free_tic(code);
+ }
+ #endif
+
++static void
++failed(const char *s)
++{
++ perror(s);
++ ExitProgram(EXIT_FAILURE);
++}
++
+ static char *
+ canonical_name(char *ptr, char *buf)
+ /* extract the terminal type's primary name */
+ {
+ char *bp;
+
+- (void) strcpy(buf, ptr);
++ _nc_STRCPY(buf, ptr, NAMESIZE);
+ if ((bp = strchr(buf, '|')) != 0)
+ *bp = '\0';
+
+@@ -307,13 +333,13 @@
+ {
+ switch (val) {
+ case ABSENT_NUMERIC:
+- strcpy(buf, s_absent);
++ _nc_STRCPY(buf, s_absent, MAX_STRING);
+ break;
+ case CANCELLED_NUMERIC:
+- strcpy(buf, s_cancel);
++ _nc_STRCPY(buf, s_cancel, MAX_STRING);
+ break;
+ default:
+- sprintf(buf, "%d", val);
++ _nc_SPRINTF(buf, _nc_SLIMIT(MAX_STRING) "%d", val);
+ break;
+ }
+ }
+@@ -323,31 +349,90 @@
+ /* display the value of a string capability */
+ {
+ if (val == ABSENT_STRING)
+- strcpy(buf, s_absent);
++ _nc_STRCPY(buf, s_absent, MAX_STRING);
+ else if (val == CANCELLED_STRING)
+- strcpy(buf, s_cancel);
++ _nc_STRCPY(buf, s_cancel, MAX_STRING);
+ else {
+- sprintf(buf, "'%.*s'", MAX_STRING - 3, TIC_EXPAND(val));
++ _nc_SPRINTF(buf, _nc_SLIMIT(MAX_STRING)
++ "'%.*s'", MAX_STRING - 3, TIC_EXPAND(val));
++ }
++}
++
++/*
++ * Show "comparing..." message for the given terminal names.
++ */
++static void
++show_comparing(char **names)
++{
++ if (itrace) {
++ switch (compare) {
++ case C_DIFFERENCE:
++ (void) fprintf(stderr, "%s: dumping differences\n", _nc_progname);
++ break;
++
++ case C_COMMON:
++ (void) fprintf(stderr, "%s: dumping common capabilities\n", _nc_progname);
++ break;
++
++ case C_NAND:
++ (void) fprintf(stderr, "%s: dumping differences\n", _nc_progname);
++ break;
++ }
++ }
++ if (*names) {
++ printf("comparing %s", *names++);
++ if (*names) {
++ printf(" to %s", *names++);
++ while (*names) {
++ printf(", %s", *names++);
++ }
++ }
++ printf(".\n");
+ }
+ }
+
++/*
++ * ncurses stores two types of non-standard capabilities:
++ * a) capabilities listed past the "STOP-HERE" comment in the Caps file.
++ * These are used in the terminfo source file to provide data for termcaps,
++ * e.g., when there is no equivalent capability in terminfo, as well as for
++ * widely-used non-standard capabilities.
++ * b) user-definable capabilities, via "tic -x".
++ *
++ * However, if "-x" is omitted from the tic command, both types of
++ * non-standard capability are not loaded into the terminfo database. This
++ * macro is used for limit-checks against the symbols that tic uses to omit
++ * the two types of non-standard entry.
++ */
++#define check_user_definable(n,limit) if (!_nc_user_definable && (n) > (limit)) break
++
++/*
++ * Use these macros to simplify loops on C_COMMON and C_NAND:
++ */
++#define for_each_entry() while (entries[extra].tterm.term_names)
++#define next_entry (&(entries[extra++].tterm))
++
+ static void
+ compare_predicate(PredType type, PredIdx idx, const char *name)
+ /* predicate function to use for entry difference reports */
+ {
+- register ENTRY *e1 = &entries[0];
+- register ENTRY *e2 = &entries[1];
+- char buf1[MAX_STRING], buf2[MAX_STRING];
++ ENTRY *e1 = &entries[0];
++ ENTRY *e2 = &entries[1];
++ char buf1[MAX_STRING];
++ char buf2[MAX_STRING];
+ int b1, b2;
+ int n1, n2;
+ char *s1, *s2;
++ bool found;
++ int extra = 1;
+
+ switch (type) {
+ case CMP_BOOLEAN:
++ check_user_definable(idx, BOOLWRITE);
+ b1 = e1->tterm.Booleans[idx];
+- b2 = e2->tterm.Booleans[idx];
+ switch (compare) {
+ case C_DIFFERENCE:
++ b2 = next_entry->Booleans[idx];
+ if (!(b1 == ABSENT_BOOLEAN && b2 == ABSENT_BOOLEAN) && b1 != b2)
+ (void) printf("\t%s: %s%s%s.\n",
+ name,
+@@ -357,45 +442,93 @@
+ break;
+
+ case C_COMMON:
+- if (b1 == b2 && b1 != ABSENT_BOOLEAN)
+- (void) printf("\t%s= %s.\n", name, dump_boolean(b1));
++ if (b1 != ABSENT_BOOLEAN) {
++ found = TRUE;
++ for_each_entry() {
++ b2 = next_entry->Booleans[idx];
++ if (b1 != b2) {
++ found = FALSE;
++ break;
++ }
++ }
++ if (found) {
++ (void) printf("\t%s= %s.\n", name, dump_boolean(b1));
++ }
++ }
+ break;
+
+ case C_NAND:
+- if (b1 == ABSENT_BOOLEAN && b2 == ABSENT_BOOLEAN)
+- (void) printf("\t!%s.\n", name);
++ if (b1 == ABSENT_BOOLEAN) {
++ found = TRUE;
++ for_each_entry() {
++ b2 = next_entry->Booleans[idx];
++ if (b1 != b2) {
++ found = FALSE;
++ break;
++ }
++ }
++ if (found) {
++ (void) printf("\t!%s.\n", name);
++ }
++ }
+ break;
+ }
+ break;
+
+ case CMP_NUMBER:
++ check_user_definable(idx, NUMWRITE);
+ n1 = e1->tterm.Numbers[idx];
+- n2 = e2->tterm.Numbers[idx];
+- dump_numeric(n1, buf1);
+- dump_numeric(n2, buf2);
+ switch (compare) {
+ case C_DIFFERENCE:
+- if (!((n1 == ABSENT_NUMERIC && n2 == ABSENT_NUMERIC)) && n1 != n2)
++ n2 = next_entry->Numbers[idx];
++ if (!((n1 == ABSENT_NUMERIC && n2 == ABSENT_NUMERIC)) && n1 != n2) {
++ dump_numeric(n1, buf1);
++ dump_numeric(n2, buf2);
+ (void) printf("\t%s: %s, %s.\n", name, buf1, buf2);
++ }
+ break;
+
+ case C_COMMON:
+- if (n1 != ABSENT_NUMERIC && n2 != ABSENT_NUMERIC && n1 == n2)
+- (void) printf("\t%s= %s.\n", name, buf1);
++ if (n1 != ABSENT_NUMERIC) {
++ found = TRUE;
++ for_each_entry() {
++ n2 = next_entry->Numbers[idx];
++ if (n1 != n2) {
++ found = FALSE;
++ break;
++ }
++ }
++ if (found) {
++ dump_numeric(n1, buf1);
++ (void) printf("\t%s= %s.\n", name, buf1);
++ }
++ }
+ break;
+
+ case C_NAND:
+- if (n1 == ABSENT_NUMERIC && n2 == ABSENT_NUMERIC)
+- (void) printf("\t!%s.\n", name);
++ if (n1 == ABSENT_NUMERIC) {
++ found = TRUE;
++ for_each_entry() {
++ n2 = next_entry->Numbers[idx];
++ if (n1 != n2) {
++ found = FALSE;
++ break;
++ }
++ }
++ if (found) {
++ (void) printf("\t!%s.\n", name);
++ }
++ }
+ break;
+ }
+ break;
+
+ case CMP_STRING:
++ check_user_definable(idx, STRWRITE);
+ s1 = e1->tterm.Strings[idx];
+- s2 = e2->tterm.Strings[idx];
+ switch (compare) {
+ case C_DIFFERENCE:
++ s2 = next_entry->Strings[idx];
+ if (capcmp(idx, s1, s2)) {
+ dump_string(s1, buf1);
+ dump_string(s2, buf2);
+@@ -405,13 +538,35 @@
+ break;
+
+ case C_COMMON:
+- if (s1 && s2 && !capcmp(idx, s1, s2))
+- (void) printf("\t%s= '%s'.\n", name, TIC_EXPAND(s1));
++ if (s1 != ABSENT_STRING) {
++ found = TRUE;
++ for_each_entry() {
++ s2 = next_entry->Strings[idx];
++ if (capcmp(idx, s1, s2) != 0) {
++ found = FALSE;
++ break;
++ }
++ }
++ if (found) {
++ (void) printf("\t%s= '%s'.\n", name, TIC_EXPAND(s1));
++ }
++ }
+ break;
+
+ case C_NAND:
+- if (!s1 && !s2)
+- (void) printf("\t!%s.\n", name);
++ if (s1 == ABSENT_STRING) {
++ found = TRUE;
++ for_each_entry() {
++ s2 = next_entry->Strings[idx];
++ if (s2 != s1) {
++ found = FALSE;
++ break;
++ }
++ }
++ if (found) {
++ (void) printf("\t!%s.\n", name);
++ }
++ }
+ break;
+ }
+ break;
+@@ -430,16 +585,37 @@
+ break;
+
+ case C_COMMON:
+- if (e1->nuses && e2->nuses && useeq(e1, e2)) {
+- (void) fputs("\tuse: ", stdout);
+- print_uses(e1, stdout);
+- fputs(".\n", stdout);
++ if (e1->nuses) {
++ found = TRUE;
++ for_each_entry() {
++ e2 = &entries[extra++];
++ if (e2->nuses != e1->nuses || !useeq(e1, e2)) {
++ found = FALSE;
++ break;
++ }
++ }
++ if (found) {
++ (void) fputs("\tuse: ", stdout);
++ print_uses(e1, stdout);
++ fputs(".\n", stdout);
++ }
+ }
+ break;
+
+ case C_NAND:
+- if (!e1->nuses && !e2->nuses)
+- (void) printf("\t!use.\n");
++ if (!e1->nuses) {
++ found = TRUE;
++ for_each_entry() {
++ e2 = &entries[extra++];
++ if (e2->nuses != e1->nuses) {
++ found = FALSE;
++ break;
++ }
++ }
++ if (found) {
++ (void) printf("\t!use.\n");
++ }
++ }
+ break;
+ }
+ }
+@@ -556,7 +732,7 @@
+ }
+
+ static bool
+-same_param(const char *table, const char *param, unsigned length)
++same_param(const char *table, const char *param, size_t length)
+ {
+ bool result = FALSE;
+ if (strncmp(table, param, length) == 0) {
+@@ -581,15 +757,15 @@
+ size_t tlen = strlen(ap->from);
+
+ if (same_param(ap->from, ep, tlen)) {
+- (void) strcat(dst, ap->to);
++ _nc_STRCAT(dst, ap->to, MAX_TERMINFO_LENGTH);
+ found = TRUE;
+ break;
+ }
+ }
+
+ if (!found)
+- (void) strcat(dst, ep);
+- (void) strcat(dst, ";");
++ _nc_STRCAT(dst, ep, MAX_TERMINFO_LENGTH);
++ _nc_STRCAT(dst, ";", MAX_TERMINFO_LENGTH);
+ } while
+ ((ep = strtok((char *) 0, ";")));
+
+@@ -682,7 +858,11 @@
+ && (next = (size_t) csi + len)
+ && ((sp[next] == 'h') || (sp[next] == 'l'))) {
+
+- (void) strcpy(buf2, (sp[next] == 'h') ? "ECMA+" : "ECMA-");
++ _nc_STRCPY(buf2,
++ ((sp[next] == 'h')
++ ? "ECMA+"
++ : "ECMA-"),
++ sizeof(buf2));
+ (void) strncpy(buf3, sp + csi, len);
+ buf3[len] = '\0';
+ len += (size_t) csi + 1;
+@@ -699,7 +879,11 @@
+ && (next = (size_t) csi + 1 + len)
+ && ((sp[next] == 'h') || (sp[next] == 'l'))) {
+
+- (void) strcpy(buf2, (sp[next] == 'h') ? "DEC+" : "DEC-");
++ _nc_STRCPY(buf2,
++ ((sp[next] == 'h')
++ ? "DEC+"
++ : "DEC-"),
++ sizeof(buf2));
+ (void) strncpy(buf3, sp + csi + 1, len);
+ buf3[len] = '\0';
+ len += (size_t) csi + 2;
+@@ -715,7 +899,7 @@
+ && (next = (size_t) csi + len)
+ && sp[next] == 'm') {
+
+- (void) strcpy(buf2, "SGR:");
++ _nc_STRCPY(buf2, "SGR:", sizeof(buf2));
+ (void) strncpy(buf3, sp + csi, len);
+ buf3[len] = '\0';
+ len += (size_t) csi + 1;
+@@ -727,8 +911,8 @@
+ && (csi = skip_csi(sp)) != 0
+ && sp[csi] == 'm') {
+ len = (size_t) csi + 1;
+- (void) strcpy(buf2, "SGR:");
+- strcat(buf2, ecma_highlights[0].to);
++ _nc_STRCPY(buf2, "SGR:", sizeof(buf2));
++ _nc_STRCAT(buf2, ecma_highlights[0].to, sizeof(buf2));
+ expansion = buf2;
+ }
+
+@@ -739,7 +923,7 @@
+ expansion = "RSR";
+ len = 1;
+ } else {
+- (void) sprintf(buf2, "1;%dr", tp_lines);
++ _nc_SPRINTF(buf2, _nc_SLIMIT(sizeof(buf2)) "1;%dr", tp_lines);
+ len = strlen(buf2);
+ if (strncmp(buf2, sp + csi, len) == 0)
+ expansion = "RSR";
+@@ -750,12 +934,12 @@
+ /* now check for home-down */
+ if (!expansion
+ && (csi = skip_csi(sp)) != 0) {
+- (void) sprintf(buf2, "%d;1H", tp_lines);
++ _nc_SPRINTF(buf2, _nc_SLIMIT(sizeof(buf2)) "%d;1H", tp_lines);
+ len = strlen(buf2);
+ if (strncmp(buf2, sp + csi, len) == 0) {
+ expansion = "LL";
+ } else {
+- (void) sprintf(buf2, "%dH", tp_lines);
++ _nc_SPRINTF(buf2, _nc_SLIMIT(sizeof(buf2)) "%dH", tp_lines);
+ len = strlen(buf2);
+ if (strncmp(buf2, sp + csi, len) == 0) {
+ expansion = "LL";
+@@ -795,12 +979,16 @@
+ int i, n;
+
+ memset(heads, 0, sizeof(heads));
+- dump_init((char *) 0, F_LITERAL, S_TERMINFO, 0, itrace, FALSE);
++ dump_init((char *) 0, F_LITERAL, S_TERMINFO, 0, 65535, itrace, FALSE);
+
+ for (n = 0; n < argc && n < MAXCOMPARE; n++) {
+ if (freopen(argv[n], "r", stdin) == 0)
+ _nc_err_abort("Can't open %s", argv[n]);
+
++#if NO_LEAKS
++ entered[n].head = _nc_head;
++ entered[n].tail = _nc_tail;
++#endif
+ _nc_head = _nc_tail = 0;
+
+ /* parse entries out of the source file */
+@@ -925,6 +1113,11 @@
+ #endif
+ if (!(entryeq(&qp->tterm, &rp->tterm) && useeq(qp, rp))) {
+ char name1[NAMESIZE], name2[NAMESIZE];
++ char *names[3];
++
++ names[0] = name1;
++ names[1] = name2;
++ names[2] = 0;
+
+ entries[0] = *qp;
+ entries[1] = *rp;
+@@ -934,29 +1127,17 @@
+
+ switch (compare) {
+ case C_DIFFERENCE:
+- if (itrace)
+- (void) fprintf(stderr,
+- "%s: dumping differences\n",
+- _nc_progname);
+- (void) printf("comparing %s to %s.\n", name1, name2);
++ show_comparing(names);
+ compare_entry(compare_predicate, &entries->tterm, quiet);
+ break;
+
+ case C_COMMON:
+- if (itrace)
+- (void) fprintf(stderr,
+- "%s: dumping common capabilities\n",
+- _nc_progname);
+- (void) printf("comparing %s to %s.\n", name1, name2);
++ show_comparing(names);
+ compare_entry(compare_predicate, &entries->tterm, quiet);
+ break;
+
+ case C_NAND:
+- if (itrace)
+- (void) fprintf(stderr,
+- "%s: dumping differences\n",
+- _nc_progname);
+- (void) printf("comparing %s to %s.\n", name1, name2);
++ show_comparing(names);
+ compare_entry(compare_predicate, &entries->tterm, quiet);
+ break;
+
+@@ -974,7 +1155,9 @@
+ "Usage: infocmp [options] [-A directory] [-B directory] [termname...]"
+ ,""
+ ,"Options:"
++ ," -0 print single-row"
+ ," -1 print single-column"
++ ," -K use termcap-names and BSD syntax"
+ ," -C use termcap-names"
+ ," -F compare terminfo-files"
+ ," -I use terminfo-names"
+@@ -982,6 +1165,7 @@
+ ," -R subset (see manpage)"
+ ," -T eliminate size limits (test)"
+ ," -U eliminate post-processing of entries"
++ ," -D print database locations"
+ ," -V print version"
+ #if NCURSES_XNAMES
+ ," -a with -F, list commented-out caps"
+@@ -1030,19 +1214,25 @@
+ any_initializer(const char *fmt, const char *type)
+ {
+ static char *initializer;
++ static size_t need;
+ char *s;
+
+- if (initializer == 0)
+- initializer = (char *) malloc(strlen(entries->tterm.term_names) +
+- strlen(type) + strlen(fmt));
++ if (initializer == 0) {
++ need = (strlen(entries->tterm.term_names)
++ + strlen(type)
++ + strlen(fmt));
++ initializer = (char *) malloc(need + 1);
++ if (initializer == 0)
++ failed("any_initializer");
++ }
+
+- (void) strcpy(initializer, entries->tterm.term_names);
++ _nc_STRCPY(initializer, entries->tterm.term_names, need);
+ for (s = initializer; *s != 0 && *s != '|'; s++) {
+ if (!isalnum(UChar(*s)))
+ *s = '_';
+ }
+ *s = 0;
+- (void) sprintf(s, fmt, type);
++ _nc_SPRINTF(s, _nc_SLIMIT(need) fmt, type);
+ return initializer;
+ }
+
+@@ -1073,9 +1263,10 @@
+
+ if (VALID_STRING(term->Strings[n])) {
+ tp = buf;
++#define TP_LIMIT ((MAX_STRING - 5) - (size_t)(tp - buf))
+ *tp++ = '"';
+ for (sp = term->Strings[n];
+- *sp != 0 && (tp - buf) < MAX_STRING - 6;
++ *sp != 0 && TP_LIMIT > 2;
+ sp++) {
+ if (isascii(UChar(*sp))
+ && isprint(UChar(*sp))
+@@ -1083,14 +1274,15 @@
+ && *sp != '"')
+ *tp++ = *sp;
+ else {
+- (void) sprintf(tp, "\\%03o", UChar(*sp));
++ _nc_SPRINTF(tp, _nc_SLIMIT(TP_LIMIT) "\\%03o", UChar(*sp));
+ tp += 4;
+ }
+ }
+ *tp++ = '"';
+ *tp = '\0';
+ (void) printf("static char %-20s[] = %s;\n",
+- string_variable(ExtStrname(term, n, strnames)), buf);
++ string_variable(ExtStrname(term, (int) n, strnames)),
++ buf);
+ }
+ }
+ printf("\n");
+@@ -1116,7 +1308,7 @@
+ break;
+ }
+ (void) printf("\t/* %3u: %-8s */\t%s,\n",
+- n, ExtBoolname(term, n, boolnames), str);
++ n, ExtBoolname(term, (int) n, boolnames), str);
+ }
+ (void) printf("%s;\n", R_CURL);
+
+@@ -1132,12 +1324,12 @@
+ str = "CANCELLED_NUMERIC";
+ break;
+ default:
+- sprintf(buf, "%d", term->Numbers[n]);
++ _nc_SPRINTF(buf, _nc_SLIMIT(sizeof(buf)) "%d", term->Numbers[n]);
+ str = buf;
+ break;
+ }
+ (void) printf("\t/* %3u: %-8s */\t%s,\n", n,
+- ExtNumname(term, n, numnames), str);
++ ExtNumname(term, (int) n, numnames), str);
+ }
+ (void) printf("%s;\n", R_CURL);
+
+@@ -1150,10 +1342,10 @@
+ else if (term->Strings[n] == CANCELLED_STRING)
+ str = "CANCELLED_STRING";
+ else {
+- str = string_variable(ExtStrname(term, n, strnames));
++ str = string_variable(ExtStrname(term, (int) n, strnames));
+ }
+ (void) printf("\t/* %3u: %-8s */\t%s,\n", n,
+- ExtStrname(term, n, strnames), str);
++ ExtStrname(term, (int) n, strnames), str);
+ }
+ (void) printf("%s;\n", R_CURL);
+
+@@ -1165,15 +1357,15 @@
+ name_initializer("string_ext"), L_CURL);
+ for (n = BOOLCOUNT; n < NUM_BOOLEANS(term); ++n) {
+ (void) printf("\t/* %3u: bool */\t\"%s\",\n",
+- n, ExtBoolname(term, n, boolnames));
++ n, ExtBoolname(term, (int) n, boolnames));
+ }
+ for (n = NUMCOUNT; n < NUM_NUMBERS(term); ++n) {
+ (void) printf("\t/* %3u: num */\t\"%s\",\n",
+- n, ExtNumname(term, n, numnames));
++ n, ExtNumname(term, (int) n, numnames));
+ }
+ for (n = STRCOUNT; n < NUM_STRINGS(term); ++n) {
+ (void) printf("\t/* %3u: str */\t\"%s\",\n",
+- n, ExtStrname(term, n, strnames));
++ n, ExtStrname(term, (int) n, strnames));
+ }
+ (void) printf("%s;\n", R_CURL);
+ }
+@@ -1247,6 +1439,23 @@
+ return terminal;
+ }
+
++/*
++ * Show the databases that infocmp knows about. The location to which it writes is
++ */
++static void
++show_databases(void)
++{
++ DBDIRS state;
++ int offset;
++ const char *path2;
++
++ _nc_first_db(&state, &offset);
++ while ((path2 = _nc_next_db(&state, &offset)) != 0) {
++ printf("%s\n", path2);
++ }
++ _nc_last_db();
++}
++
+ /***************************************************************************
+ *
+ * Main sequence
+@@ -1269,7 +1478,7 @@
+ /* Also avoid overflowing smaller stacks on systems like AmigaOS */
+ path *tfile = 0;
+ char **tname = 0;
+- int maxterms;
++ size_t maxterms;
+
+ char **myargv;
+
+@@ -1287,18 +1496,27 @@
+ #if NCURSES_XNAMES
+ use_extended_names(FALSE);
+ #endif
++ _nc_strict_bsd = 0;
+
+ _nc_progname = _nc_rootname(argv[0]);
+
+ /* make sure we have enough space to add two terminal entries */
+ myargv = typeCalloc(char *, (size_t) (argc + 3));
++ if (myargv == 0)
++ failed("myargv");
++
+ memcpy(myargv, argv, (sizeof(char *) * (size_t) argc));
+ argv = myargv;
+
+ while ((c = getopt(argc,
+ argv,
+- "1A:aB:CcdEeFfGgIiLlnpqR:rs:TtUuVv:w:x")) != -1) {
++ "01A:aB:CcDdEeFfGgIiKLlnpqR:rs:TtUuVv:w:x")) != -1) {
+ switch (c) {
++ case '0':
++ mwidth = 65535;
++ mheight = 1;
++ break;
++
+ case '1':
+ mwidth = 0;
+ break;
+@@ -1317,6 +1535,9 @@
+ restdir = optarg;
+ break;
+
++ case 'K':
++ _nc_strict_bsd = 1;
++ /* FALLTHRU */
+ case 'C':
+ outform = F_TERMCAP;
+ tversion = "BSD";
+@@ -1324,6 +1545,11 @@
+ sortmode = S_TERMCAP;
+ break;
+
++ case 'D':
++ show_databases();
++ ExitProgram(EXIT_SUCCESS);
++ break;
++
+ case 'c':
+ compare = C_COMMON;
+ break;
+@@ -1441,7 +1667,7 @@
+ ExitProgram(EXIT_SUCCESS);
+
+ case 'v':
+- itrace = optarg_to_number();
++ itrace = (unsigned) optarg_to_number();
+ set_trace_level(itrace);
+ break;
+
+@@ -1460,10 +1686,17 @@
+ }
+ }
+
+- maxterms = (argc + 2 - optind);
+- tfile = typeMalloc(path, maxterms);
+- tname = typeCalloc(char *, maxterms);
+- entries = typeCalloc(ENTRY, maxterms);
++ maxterms = (size_t) (argc + 2 - optind);
++ if ((tfile = typeMalloc(path, maxterms)) == 0)
++ failed("tfile");
++ if ((tname = typeCalloc(char *, maxterms)) == 0)
++ failed("tname");
++ if ((entries = typeCalloc(ENTRY, maxterms)) == 0)
++ failed("entries");
++#if NO_LEAKS
++ if ((entered = typeCalloc(ENTERED, maxterms)) == 0)
++ failed("entered");
++#endif
+
+ if (tfile == 0
+ || tname == 0
+@@ -1476,9 +1709,6 @@
+ if (sortmode == S_DEFAULT)
+ sortmode = S_TERMINFO;
+
+- /* set up for display */
+- dump_init(tversion, outform, sortmode, mwidth, itrace, formatted);
+-
+ /* make sure we have at least one terminal name to work with */
+ if (optind >= argc)
+ argv[argc++] = terminal_env();
+@@ -1487,9 +1717,23 @@
+ if (compare != C_DEFAULT && optind >= argc - 1)
+ argv[argc++] = terminal_env();
+
++ /* exactly one terminal name with no options means display it */
+ /* exactly two terminal names with no options means do -d */
+- if (argc - optind == 2 && compare == C_DEFAULT)
+- compare = C_DIFFERENCE;
++ if (compare == C_DEFAULT) {
++ switch (argc - optind) {
++ default:
++ fprintf(stderr, "%s: too many names to compare\n", _nc_progname);
++ ExitProgram(EXIT_FAILURE);
++ case 1:
++ break;
++ case 2:
++ compare = C_DIFFERENCE;
++ break;
++ }
++ }
++
++ /* set up for display */
++ dump_init(tversion, outform, sortmode, mwidth, mheight, itrace, formatted);
+
+ if (!filecompare) {
+ /* grab the entries */
+@@ -1507,9 +1751,11 @@
+ #else
+ #define LEAF_FMT "%02x"
+ #endif
+- (void) sprintf(tfile[termcount], "%s/" LEAF_FMT "/%s",
+- directory,
+- UChar(*argv[optind]), argv[optind]);
++ _nc_SPRINTF(tfile[termcount],
++ _nc_SLIMIT(sizeof(path))
++ "%s/" LEAF_FMT "/%s",
++ directory,
++ UChar(*argv[optind]), argv[optind]);
+ if (itrace)
+ (void) fprintf(stderr,
+ "%s: reading entry %s from file %s\n",
+@@ -1599,27 +1845,17 @@
+ break;
+
+ case C_DIFFERENCE:
+- if (itrace)
+- (void) fprintf(stderr, "%s: dumping differences\n", _nc_progname);
+- (void) printf("comparing %s to %s.\n", tname[0], tname[1]);
++ show_comparing(tname);
+ compare_entry(compare_predicate, &entries->tterm, quiet);
+ break;
+
+ case C_COMMON:
+- if (itrace)
+- (void) fprintf(stderr,
+- "%s: dumping common capabilities\n",
+- _nc_progname);
+- (void) printf("comparing %s to %s.\n", tname[0], tname[1]);
++ show_comparing(tname);
+ compare_entry(compare_predicate, &entries->tterm, quiet);
+ break;
+
+ case C_NAND:
+- if (itrace)
+- (void) fprintf(stderr,
+- "%s: dumping differences\n",
+- _nc_progname);
+- (void) printf("comparing %s to %s.\n", tname[0], tname[1]);
++ show_comparing(tname);
+ compare_entry(compare_predicate, &entries->tterm, quiet);
+ break;
+
+@@ -1640,15 +1876,16 @@
+ break;
+ }
+ }
+- } else if (compare == C_USEALL)
++ } else if (compare == C_USEALL) {
+ (void) fprintf(stderr, "Sorry, -u doesn't work with -F\n");
+- else if (compare == C_DEFAULT)
++ } else if (compare == C_DEFAULT) {
+ (void) fprintf(stderr, "Use `tic -[CI] <file>' for this.\n");
+- else if (argc - optind != 2)
++ } else if (argc - optind != 2) {
+ (void) fprintf(stderr,
+ "File comparison needs exactly two file arguments.\n");
+- else
++ } else {
+ file_comparison(argc - optind, argv + optind);
++ }
+
+ MAIN_LEAKS();
+ ExitProgram(EXIT_SUCCESS);
+Index: progs/progs.priv.h
+Prereq: 1.34
+--- ncurses-5.9/progs/progs.priv.h 2008-08-03 17:43:05.000000000 +0000
++++ ncurses-5.9-20130504/progs/progs.priv.h 2012-02-22 22:11:27.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -30,7 +30,7 @@
+ * Author: Thomas E. Dickey 1997-on *
+ ****************************************************************************/
+ /*
+- * $Id: progs.priv.h,v 1.34 2008/08/03 17:43:05 tom Exp $
++ * $Id: progs.priv.h,v 1.39 2012/02/22 22:11:27 tom Exp $
+ *
+ * progs.priv.h
+ *
+@@ -42,7 +42,7 @@
+ #if USE_RCS_IDS
+ #define MODULE_ID(id) static const char Ident[] = id;
+ #else
+-#define MODULE_ID(id) /*nothing*/
++#define MODULE_ID(id) /*nothing */
+ #endif
+
+ #include <stdlib.h>
+@@ -90,6 +90,14 @@
+ # endif
+ #endif
+
++#if HAVE_INTTYPES_H
++# include <inttypes.h>
++#else
++# if HAVE_STDINT_H
++# include <stdint.h>
++# endif
++#endif
++
+ #include <assert.h>
+ #include <errno.h>
+
+@@ -99,7 +107,7 @@
+
+ #if HAVE_GETOPT_H
+ #include <getopt.h>
+-#else
++#elif !defined(HAVE_GETOPT_HEADER)
+ /* 'getopt()' may be prototyped in <stdlib.h>, but declaring its
+ * variables doesn't hurt.
+ */
+@@ -109,9 +117,11 @@
+
+ #include <curses.h>
+ #include <term_entry.h>
++#include <nc_termios.h>
+ #include <tic.h>
+ #include <nc_tparm.h>
+
++#include <nc_string.h>
+ #include <nc_alloc.h>
+ #if HAVE_NC_FREEALL
+ #undef ExitProgram
+@@ -171,7 +181,7 @@
+ # elif defined(MAXPATHLEN)
+ # define PATH_MAX MAXPATHLEN
+ # else
+-# define PATH_MAX 255 /* the Posix minimum pathsize */
++# define PATH_MAX 255 /* the Posix minimum pathsize */
+ # endif
+ #endif
+
+@@ -183,7 +193,7 @@
+ # if ('z'-'a' == 25) && ('z' < 127) && ('Z'-'A' == 25) && ('Z' < 127) && ('9' < 127)
+ # define isascii(c) (UChar(c) <= 127)
+ # else
+-# define isascii(c) 1 /* not really ascii anyway */
++# define isascii(c) 1 /* not really ascii anyway */
+ # endif
+ #endif
+
+Index: progs/tabs.c
+Prereq: 1.19
+--- ncurses-5.9/progs/tabs.c 2010-10-23 22:26:01.000000000 +0000
++++ ncurses-5.9-20130504/progs/tabs.c 2012-11-18 01:21:47.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2008-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,12 +37,19 @@
+ #define USE_LIBTINFO
+ #include <progs.priv.h>
+
+-MODULE_ID("$Id: tabs.c,v 1.19 2010/10/23 22:26:01 tom Exp $")
++MODULE_ID("$Id: tabs.c,v 1.25 2012/11/18 01:21:47 tom Exp $")
+
+ static void usage(void) GCC_NORETURN;
+
+ static int max_cols;
+
++static void
++failed(const char *s)
++{
++ perror(s);
++ ExitProgram(EXIT_FAILURE);
++}
++
+ static int
+ putch(int c)
+ {
+@@ -83,28 +90,29 @@
+ int prior = 0;
+ int ch;
+
+- if (result != 0) {
+- while ((ch = *tab_list++) != '\0') {
+- if (isdigit(UChar(ch))) {
+- value *= 10;
+- value += (ch - '0');
+- } else if (ch == ',') {
+- result[n] = value + prior;
+- if (n > 0 && result[n] <= result[n - 1]) {
+- fprintf(stderr,
+- "tab-stops are not in increasing order: %d %d\n",
+- value, result[n - 1]);
+- free(result);
+- result = 0;
+- break;
+- }
+- ++n;
+- value = 0;
+- prior = 0;
+- } else if (ch == '+') {
+- if (n)
+- prior = result[n - 1];
++ if (result == 0)
++ failed("decode_tabs");
++
++ while ((ch = *tab_list++) != '\0') {
++ if (isdigit(UChar(ch))) {
++ value *= 10;
++ value += (ch - '0');
++ } else if (ch == ',') {
++ result[n] = value + prior;
++ if (n > 0 && result[n] <= result[n - 1]) {
++ fprintf(stderr,
++ "tab-stops are not in increasing order: %d %d\n",
++ value, result[n - 1]);
++ free(result);
++ result = 0;
++ break;
+ }
++ ++n;
++ value = 0;
++ prior = 0;
++ } else if (ch == '+') {
++ if (n)
++ prior = result[n - 1];
+ }
+ }
+
+@@ -126,6 +134,7 @@
+ result[n++] = value + prior;
+ result[n] = 0;
+ }
++
+ return result;
+ }
+
+@@ -140,10 +149,11 @@
+ for (n = 0; n < max_cols; n += 10) {
+ int ch = 1 + (n / 10);
+ char buffer[20];
+- sprintf(buffer, "----+----%c",
+- ((ch < 10)
+- ? (ch + '0')
+- : (ch + 'A' - 10)));
++ _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
++ "----+----%c",
++ ((ch < 10)
++ ? (ch + '0')
++ : (ch + 'A' - 10)));
+ printf("%.*s", ((max_cols - n) > 10) ? 10 : (max_cols - n), buffer);
+ }
+ putchar('\n');
+@@ -227,7 +237,7 @@
+ bool result = FALSE;
+
+ if (source != 0) {
+- unsigned len = strlen(source);
++ size_t len = strlen(source);
+ if (len != 0)
+ result = (source[len - 1] != ',');
+ } else {
+@@ -251,7 +261,7 @@
+
+ if (copied != 0 && *copied != '\0') {
+ const char *comma = ",";
+- unsigned need = 1 + strlen(copied);
++ size_t need = 1 + strlen(copied);
+
+ if (*copied == ',')
+ comma = "";
+@@ -263,15 +273,16 @@
+ need += strlen(*append);
+
+ result = malloc(need);
+- if (result != 0) {
+- *result = '\0';
+- if (*append != 0) {
+- strcpy(result, *append);
+- free(*append);
+- }
+- strcat(result, comma);
+- strcat(result, copied);
++ if (result == 0)
++ failed("add_to_tab_list");
++
++ *result = '\0';
++ if (*append != 0) {
++ _nc_STRCPY(result, *append, need);
++ free(*append);
+ }
++ _nc_STRCAT(result, comma, need);
++ _nc_STRCAT(result, copied, need);
+
+ *append = result;
+ }
+@@ -353,7 +364,6 @@
+ bool no_op = FALSE;
+ int n, ch;
+ NCURSES_CONST char *term_name = 0;
+- const char *mar_list = 0; /* ignored */
+ char *append = 0;
+ const char *tab_list = 0;
+
+@@ -446,7 +456,11 @@
+ while ((ch = *++option) != '\0') {
+ switch (ch) {
+ case 'm':
+- mar_list = option;
++ /*
++ * The "+mXXX" option is unimplemented because only the long-obsolete
++ * att510d implements smgl, which is needed to support
++ * this option.
++ */
+ break;
+ default:
+ /* special case of relative stops separated by spaces? */
+Index: progs/tic.c
+Prereq: 1.147
+--- ncurses-5.9/progs/tic.c 2011-02-12 18:39:08.000000000 +0000
++++ ncurses-5.9-20130504/progs/tic.c 2013-03-17 00:57:05.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,6 +35,7 @@
+ /*
+ * tic.c --- Main program for terminfo compiler
+ * by Eric S. Raymond
++ * and Thomas E Dickey
+ *
+ */
+
+@@ -42,9 +43,12 @@
+ #include <sys/stat.h>
+
+ #include <dump_entry.h>
++#include <hashed_db.h>
+ #include <transform.h>
+
+-MODULE_ID("$Id: tic.c,v 1.147 2011/02/12 18:39:08 tom Exp $")
++MODULE_ID("$Id: tic.c,v 1.185 2013/03/17 00:57:05 tom Exp $")
++
++#define STDIN_NAME "<stdin>"
+
+ const char *_nc_progname = "tic";
+
+@@ -53,6 +57,7 @@
+ static bool capdump = FALSE; /* running as infotocap? */
+ static bool infodump = FALSE; /* running as captoinfo? */
+ static bool showsummary = FALSE;
++static char **namelst = 0;
+ static const char *to_remove;
+
+ static void (*save_check_termtype) (TERMTYPE *, bool);
+@@ -69,11 +74,13 @@
+ 1\
+ a\
+ C\
++D\
+ c\
+ f\
+ G\
+ g\
+ I\
++K\
+ L\
+ N\
+ r\
+@@ -99,8 +106,10 @@
+ #endif
+
+ static void
+-cleanup(char **namelst GCC_UNUSED)
++cleanup(void)
+ {
++ int rc;
++
+ #if NO_LEAKS
+ free_namelist(namelst);
+ #endif
+@@ -108,10 +117,12 @@
+ fclose(tmp_fp);
+ if (to_remove != 0) {
+ #if HAVE_REMOVE
+- remove(to_remove);
++ rc = remove(to_remove);
+ #else
+- unlink(to_remove);
++ rc = unlink(to_remove);
+ #endif
++ if (rc != 0)
++ perror(to_remove);
+ }
+ }
+
+@@ -119,7 +130,6 @@
+ failed(const char *msg)
+ {
+ perror(msg);
+- cleanup((char **) 0);
+ ExitProgram(EXIT_FAILURE);
+ }
+
+@@ -133,7 +143,9 @@
+ #if NCURSES_XNAMES
+ " -a retain commented-out capabilities (sets -x also)",
+ #endif
++ " -K translate entries to termcap source form with BSD syntax",
+ " -C translate entries to termcap source form",
++ " -D print list of tic's database locations (first must be writable)",
+ " -c check only, validate input without compiling or translating",
+ " -e<names> translate/compile only entries named by comma-separated list",
+ " -f format complex strings for readability",
+@@ -173,7 +185,7 @@
+
+ #define L_BRACE '{'
+ #define R_BRACE '}'
+-#define S_QUOTE '\'';
++#define S_QUOTE '\''
+
+ static void
+ write_it(ENTRY * ep)
+@@ -216,12 +228,12 @@
+ }
+ *d = 0;
+ if (strlen(result) < strlen(s))
+- strcpy(s, result);
++ _nc_STRCPY(s, result, strlen(s) + 1);
+ }
+ }
+
+ _nc_set_type(_nc_first_name(ep->tterm.term_names));
+- _nc_curr_line = ep->startline;
++ _nc_curr_line = (int) ep->startline;
+ _nc_write_entry(&ep->tterm);
+ }
+
+@@ -286,8 +298,10 @@
+ if (in_name) {
+ if (used + 1 >= have) {
+ have += 132;
+- namebuf = typeRealloc(char, have, namebuf);
+- suffix = typeRealloc(char, have, suffix);
++ if ((namebuf = typeRealloc(char, have, namebuf)) == 0)
++ failed("put_translate namebuf");
++ if ((suffix = typeRealloc(char, have, suffix)) == 0)
++ failed("put_translate suffix");
+ }
+ if (c == '\n' || c == '@') {
+ namebuf[used++] = '\0';
+@@ -308,7 +322,7 @@
+ if ((up = strchr(namebuf, '#')) != 0
+ || (up = strchr(namebuf, '=')) != 0
+ || ((up = strchr(namebuf, '@')) != 0 && up[1] == '>')) {
+- (void) strcpy(suffix, up);
++ _nc_STRCPY(suffix, up, have);
+ *up = '\0';
+ }
+
+@@ -339,39 +353,122 @@
+ static char *
+ stripped(char *src)
+ {
++ char *dst = 0;
++
+ while (isspace(UChar(*src)))
+ src++;
++
+ if (*src != '\0') {
+- char *dst;
+ size_t len;
+
+- if ((dst = strdup(src)) == NULL)
++ if ((dst = strdup(src)) == NULL) {
+ failed("strdup");
++ } else {
++ len = strlen(dst);
++ while (--len != 0 && isspace(UChar(dst[len])))
++ dst[len] = '\0';
++ }
++ }
++ return dst;
++}
+
+- assert(dst != 0);
++static FILE *
++open_tempfile(char *filename)
++{
++ FILE *result = 0;
+
+- len = strlen(dst);
+- while (--len != 0 && isspace(UChar(dst[len])))
+- dst[len] = '\0';
+- return dst;
++ _nc_STRCPY(filename, "/tmp/XXXXXX", PATH_MAX);
++#if HAVE_MKSTEMP
++ {
++ int oldmask = umask(077);
++ int fd = mkstemp(filename);
++ if (fd >= 0)
++ result = fdopen(fd, "w");
++ umask(oldmask);
+ }
+- return 0;
++#else
++ if (tmpnam(filename) != 0)
++ result = fopen(filename, "w");
++#endif
++ return result;
+ }
+
+ static FILE *
+-open_input(const char *filename)
++copy_input(FILE *source, const char *filename, char *alt_file)
+ {
+- FILE *fp = fopen(filename, "r");
++ char my_altfile[PATH_MAX];
++ FILE *result = 0;
++ FILE *target = 0;
++ int ch;
++
++ if (alt_file == 0)
++ alt_file = my_altfile;
++
++ if (source == 0) {
++ failed("copy_input (source)");
++ } else if ((target = open_tempfile(alt_file)) == 0) {
++ failed("copy_input (target)");
++ } else {
++ clearerr(source);
++ for (;;) {
++ ch = fgetc(source);
++ if (feof(source)) {
++ break;
++ } else if (ferror(source)) {
++ failed(filename);
++ } else if (ch == 0) {
++ /* don't loop in case someone wants to convert /dev/zero */
++ fprintf(stderr, "%s: %s is not a text-file\n", _nc_progname, filename);
++ ExitProgram(EXIT_FAILURE);
++ }
++ fputc(ch, target);
++ }
++ fclose(source);
++ /*
++ * rewind() does not force the target file's data to disk (not does
++ * fflush()...). So open a second stream on the data and then close
++ * the one that we were writing on before starting to read from the
++ * second stream.
++ */
++ result = fopen(alt_file, "r+");
++ fclose(target);
++ to_remove = strdup(alt_file);
++ }
++ return result;
++}
++
++static FILE *
++open_input(const char *filename, char *alt_file)
++{
++ FILE *fp;
+ struct stat sb;
++ int mode;
+
+- if (fp == 0) {
+- fprintf(stderr, "%s: Can't open %s\n", _nc_progname, filename);
++ if (!strcmp(filename, "-")) {
++ fp = copy_input(stdin, STDIN_NAME, alt_file);
++ } else if (stat(filename, &sb) < 0) {
++ fprintf(stderr, "%s: %s %s\n", _nc_progname, filename, strerror(errno));
+ ExitProgram(EXIT_FAILURE);
+- }
+- if (fstat(fileno(fp), &sb) < 0
+- || (sb.st_mode & S_IFMT) != S_IFREG) {
++ } else if ((mode = (sb.st_mode & S_IFMT)) == S_IFDIR
++ || (mode != S_IFREG && mode != S_IFCHR)) {
+ fprintf(stderr, "%s: %s is not a file\n", _nc_progname, filename);
+ ExitProgram(EXIT_FAILURE);
++ } else {
++ fp = fopen(filename, "r");
++
++ if (fp == 0) {
++ fprintf(stderr, "%s: Can't open %s\n", _nc_progname, filename);
++ ExitProgram(EXIT_FAILURE);
++ }
++ if (mode != S_IFREG) {
++ if (alt_file != 0) {
++ FILE *fp2 = copy_input(fp, filename, alt_file);
++ fp = fp2;
++ } else {
++ fprintf(stderr, "%s: %s is not a file\n", _nc_progname, filename);
++ ExitProgram(EXIT_FAILURE);
++ }
++ }
+ }
+ return fp;
+ }
+@@ -389,7 +486,7 @@
+ if (src == 0) {
+ /* EMPTY */ ;
+ } else if (strchr(src, '/') != 0) { /* a filename */
+- FILE *fp = open_input(src);
++ FILE *fp = open_input(src, (char *) 0);
+
+ for (pass = 1; pass <= 2; pass++) {
+ nn = 0;
+@@ -403,7 +500,8 @@
+ }
+ }
+ if (pass == 1) {
+- dst = typeCalloc(char *, nn + 1);
++ if ((dst = typeCalloc(char *, nn + 1)) == 0)
++ failed("make_namelist");
+ rewind(fp);
+ }
+ }
+@@ -425,8 +523,10 @@
+ if (mark == '\0')
+ break;
+ }
+- if (pass == 1)
+- dst = typeCalloc(char *, nn + 1);
++ if (pass == 1) {
++ if ((dst = typeCalloc(char *, nn + 1)) == 0)
++ failed("make_namelist");
++ }
+ }
+ }
+ if (showsummary && (dst != 0)) {
+@@ -456,26 +556,118 @@
+ return (code);
+ }
+
+-static FILE *
+-open_tempfile(char *name)
++static char *
++valid_db_path(const char *nominal)
+ {
+- FILE *result = 0;
+-#if HAVE_MKSTEMP
+- int fd = mkstemp(name);
+- if (fd >= 0)
+- result = fdopen(fd, "w");
++ struct stat sb;
++#if USE_HASHED_DB
++ char suffix[] = DBM_SUFFIX;
++ size_t need = strlen(nominal) + sizeof(suffix);
++ char *result = malloc(need);
++
++ if (result == 0)
++ failed("valid_db_path");
++ _nc_STRCPY(result, nominal, need);
++ if (strcmp(result + need - sizeof(suffix), suffix)) {
++ _nc_STRCAT(result, suffix, need);
++ }
+ #else
+- if (tmpnam(name) != 0)
+- result = fopen(name, "w");
++ char *result = strdup(nominal);
+ #endif
++
++ DEBUG(1, ("** stat(%s)", result));
++ if (stat(result, &sb) >= 0) {
++#if USE_HASHED_DB
++ if (!S_ISREG(sb.st_mode)
++ || access(result, R_OK | W_OK) != 0) {
++ DEBUG(1, ("...not a writable file"));
++ free(result);
++ result = 0;
++ }
++#else
++ if (!S_ISDIR(sb.st_mode)
++ || access(result, R_OK | W_OK | X_OK) != 0) {
++ DEBUG(1, ("...not a writable directory"));
++ free(result);
++ result = 0;
++ }
++#endif
++ } else {
++ /* check if parent is directory and is writable */
++ unsigned leaf = _nc_pathlast(result);
++
++ DEBUG(1, ("...not found"));
++ if (leaf) {
++ char save = result[leaf];
++ result[leaf] = 0;
++ if (stat(result, &sb) >= 0
++ && S_ISDIR(sb.st_mode)
++ && access(result, R_OK | W_OK | X_OK) == 0) {
++ result[leaf] = save;
++ } else {
++ DEBUG(1, ("...parent directory %s is not writable", result));
++ free(result);
++ result = 0;
++ }
++ } else {
++ DEBUG(1, ("... no parent directory"));
++ free(result);
++ result = 0;
++ }
++ }
+ return result;
+ }
+
++/*
++ * Show the databases to which tic could write. The location to which it
++ * writes is always the first one. If none are writable, print an error
++ * message.
++ */
++static void
++show_databases(const char *outdir)
++{
++ bool specific = (outdir != 0) || getenv("TERMINFO") != 0;
++ char *result;
++ const char *tried = 0;
++
++ if (outdir == 0) {
++ outdir = _nc_tic_dir(0);
++ }
++ if ((result = valid_db_path(outdir)) != 0) {
++ printf("%s\n", result);
++ free(result);
++ } else {
++ tried = outdir;
++ }
++
++ if ((outdir = _nc_home_terminfo())) {
++ if ((result = valid_db_path(outdir)) != 0) {
++ printf("%s\n", result);
++ free(result);
++ } else if (!specific) {
++ tried = outdir;
++ }
++ }
++
++ /*
++ * If we can write in neither location, give an error message.
++ */
++ if (tried) {
++ fflush(stdout);
++ fprintf(stderr, "%s: %s (no permission)\n", _nc_progname, tried);
++ ExitProgram(EXIT_FAILURE);
++ }
++}
++
++#define VtoTrace(opt) (unsigned) ((opt > 0) ? opt : (opt == 0))
++
+ int
+ main(int argc, char *argv[])
+ {
+ char my_tmpname[PATH_MAX];
+- int v_opt = -1, debug_level;
++ char my_altfile[PATH_MAX];
++ int v_opt = -1;
++ unsigned debug_level;
+ int smart_defaults = TRUE;
+ char *termcap;
+ ENTRY *qp;
+@@ -486,6 +678,7 @@
+ int sortmode = S_TERMINFO; /* sort_mode */
+
+ int width = 60;
++ int height = 65535;
+ bool formatted = FALSE; /* reformat complex strings? */
+ bool literal = FALSE; /* suppress post-processing? */
+ int numbers = 0; /* format "%'char'" to/from "%{number}" */
+@@ -493,7 +686,6 @@
+ bool limited = TRUE;
+ char *tversion = (char *) NULL;
+ const char *source_file = "terminfo";
+- char **namelst = 0;
+ char *outdir = (char *) NULL;
+ bool check_only = FALSE;
+ bool suppress_untranslatable = FALSE;
+@@ -501,6 +693,7 @@
+ log_fp = stderr;
+
+ _nc_progname = _nc_rootname(argv[0]);
++ atexit(cleanup);
+
+ if ((infodump = same_program(_nc_progname, PROG_CAPTOINFO)) != FALSE) {
+ outform = F_TERMINFO;
+@@ -513,6 +706,7 @@
+ #if NCURSES_XNAMES
+ use_extended_names(FALSE);
+ #endif
++ _nc_strict_bsd = 0;
+
+ /*
+ * Processing arguments is a little complicated, since someone made a
+@@ -520,7 +714,7 @@
+ * be optional.
+ */
+ while ((this_opt = getopt(argc, argv,
+- "0123456789CILNR:TUVace:fGgo:rstvwx")) != -1) {
++ "0123456789CDIKLNR:TUVace:fGgo:rstvwx")) != -1) {
+ if (isdigit(this_opt)) {
+ switch (last_opt) {
+ case 'v':
+@@ -530,19 +724,40 @@
+ width = (width * 10) + (this_opt - '0');
+ break;
+ default:
+- if (this_opt != '1')
++ switch (this_opt) {
++ case '0':
++ last_opt = this_opt;
++ width = 65535;
++ height = 1;
++ break;
++ case '1':
++ last_opt = this_opt;
++ width = 0;
++ break;
++ default:
+ usage();
+- last_opt = this_opt;
+- width = 0;
++ }
+ }
+ continue;
+ }
+ switch (this_opt) {
++ case 'K':
++ _nc_strict_bsd = 1;
++ /* the initial version of -K in 20110730 fell-thru here, but the
++ * same flag is useful when reading sources -TD
++ */
++ break;
+ case 'C':
+ capdump = TRUE;
+ outform = F_TERMCAP;
+ sortmode = S_TERMCAP;
+ break;
++ case 'D':
++ debug_level = VtoTrace(v_opt);
++ set_trace_level(debug_level);
++ show_databases(outdir);
++ ExitProgram(EXIT_SUCCESS);
++ break;
+ case 'I':
+ infodump = TRUE;
+ outform = F_TERMINFO;
+@@ -568,7 +783,6 @@
+ break;
+ case 'V':
+ puts(curses_version());
+- cleanup(namelst);
+ ExitProgram(EXIT_SUCCESS);
+ case 'c':
+ check_only = TRUE;
+@@ -618,7 +832,7 @@
+ last_opt = this_opt;
+ }
+
+- debug_level = (v_opt > 0) ? v_opt : (v_opt == 0);
++ debug_level = VtoTrace(v_opt);
+ set_trace_level(debug_level);
+
+ if (_nc_tracing) {
+@@ -638,8 +852,8 @@
+ */
+ if (namelst && (!infodump && !capdump)) {
+ (void) fprintf(stderr,
+- "Sorry, -e can't be used without -I or -C\n");
+- cleanup(namelst);
++ "%s: Sorry, -e can't be used without -I or -C\n",
++ _nc_progname);
+ ExitProgram(EXIT_FAILURE);
+ }
+ #endif /* HAVE_BIG_CORE */
+@@ -663,16 +877,16 @@
+ if (access(termcap, F_OK) == 0) {
+ /* file exists */
+ source_file = termcap;
+- } else if ((tmp_fp = open_tempfile(strcpy(my_tmpname,
+- "/tmp/XXXXXX")))
+- != 0) {
+- source_file = my_tmpname;
+- fprintf(tmp_fp, "%s\n", termcap);
+- fclose(tmp_fp);
+- tmp_fp = open_input(source_file);
+- to_remove = source_file;
+ } else {
+- failed("tmpnam");
++ if ((tmp_fp = open_tempfile(my_tmpname)) != 0) {
++ source_file = my_tmpname;
++ fprintf(tmp_fp, "%s\n", termcap);
++ fclose(tmp_fp);
++ tmp_fp = open_input(source_file, (char *) 0);
++ to_remove = source_file;
++ } else {
++ failed("tmpnam");
++ }
+ }
+ }
+ } else {
+@@ -682,24 +896,28 @@
+ _nc_progname,
+ _nc_progname,
+ usage_string);
+- cleanup(namelst);
+ ExitProgram(EXIT_FAILURE);
+ }
+ }
+
+- if (tmp_fp == 0)
+- tmp_fp = open_input(source_file);
++ if (tmp_fp == 0) {
++ tmp_fp = open_input(source_file, my_altfile);
++ if (!strcmp(source_file, "-")) {
++ source_file = STDIN_NAME;
++ }
++ }
+
+- if (infodump)
++ if (infodump) {
+ dump_init(tversion,
+ smart_defaults
+ ? outform
+ : F_LITERAL,
+- sortmode, width, debug_level, formatted);
+- else if (capdump)
++ sortmode, width, height, debug_level, formatted);
++ } else if (capdump) {
+ dump_init(tversion,
+ outform,
+- sortmode, width, debug_level, FALSE);
++ sortmode, width, height, debug_level, FALSE);
++ }
+
+ /* parse entries out of the source file */
+ _nc_set_source(source_file);
+@@ -716,7 +934,6 @@
+ /* do use resolution */
+ if (check_only || (!infodump && !capdump) || forceresolve) {
+ if (!_nc_resolve_uses2(TRUE, literal) && !check_only) {
+- cleanup(namelst);
+ ExitProgram(EXIT_FAILURE);
+ }
+ }
+@@ -750,7 +967,7 @@
+
+ for_entry_list(qp) {
+ if (matches(namelst, qp->tterm.term_names)) {
+- int j = qp->cend - qp->cstart;
++ long j = qp->cend - qp->cstart;
+ int len = 0;
+
+ /* this is in case infotocap() generates warnings */
+@@ -767,7 +984,7 @@
+ repair_acsc(&qp->tterm);
+ dump_entry(&qp->tterm, suppress_untranslatable,
+ limited, numbers, NULL);
+- for (j = 0; j < (int) qp->nuses; j++)
++ for (j = 0; j < (long) qp->nuses; j++)
+ dump_uses(qp->uses[j].name, !capdump);
+ len = show_entry();
+ if (debug_level != 0 && !limited)
+@@ -811,7 +1028,6 @@
+ else
+ fprintf(log_fp, "No entries written\n");
+ }
+- cleanup(namelst);
+ ExitProgram(EXIT_SUCCESS);
+ }
+
+@@ -915,18 +1131,18 @@
+ return result;
+ }
+
+-static int
++static long
+ keypad_index(const char *string)
+ {
+ char *test;
+ const char *list = "PQRSwxymtuvlqrsPpn"; /* app-keypad except "Enter" */
+ int ch;
+- int result = -1;
++ long result = -1;
+
+ if ((ch = keypad_final(string)) != '\0') {
+ test = strchr(list, ch);
+ if (test != 0)
+- result = (test - list);
++ result = (long) (test - list);
+ }
+ return result;
+ }
+@@ -1015,13 +1231,18 @@
+ int count;
+ char *list[4];
+
++ /* it is rare to have an insert-line feature without a matching delete */
++ ANDMISSING(parm_insert_line, insert_line);
++ ANDMISSING(parm_delete_line, delete_line);
++ ANDMISSING(parm_insert_line, parm_delete_line);
++
+ /* if we have a parameterized form, then the non-parameterized is easy */
+ ANDMISSING(parm_down_cursor, cursor_down);
+ ANDMISSING(parm_up_cursor, cursor_up);
+ ANDMISSING(parm_left_cursor, cursor_left);
+ ANDMISSING(parm_right_cursor, cursor_right);
+
+- /* Given any of a set of cursor movement, the whole set should be present.
++ /* Given any of a set of cursor movement, the whole set should be present.
+ * Technically this is not true (we could use cursor_address to fill in
+ * unsupported controls), but it is likely.
+ */
+@@ -1097,11 +1318,11 @@
+ VALID_STRING(key_c1) &&
+ VALID_STRING(key_c3)) {
+ char final[MAX_KP + 1];
+- int list[MAX_KP];
++ long list[MAX_KP];
+ int increase = 0;
+ int j, k, kk;
+- int last;
+- int test;
++ long last;
++ long test;
+
+ final[0] = keypad_final(key_a1);
+ final[1] = keypad_final(key_a3);
+@@ -1149,19 +1370,19 @@
+ assert(strlen(show) < (MAX_KP * 4));
+ switch (kk) {
+ case 0:
+- strcat(show, " ka1");
++ _nc_STRCAT(show, " ka1", sizeof(show));
+ break;
+ case 1:
+- strcat(show, " ka3");
++ _nc_STRCAT(show, " ka3", sizeof(show));
+ break;
+ case 2:
+- strcat(show, " kb2");
++ _nc_STRCAT(show, " kb2", sizeof(show));
+ break;
+ case 3:
+- strcat(show, " kc1");
++ _nc_STRCAT(show, " kc1", sizeof(show));
+ break;
+ case 4:
+- strcat(show, " kc3");
++ _nc_STRCAT(show, " kc3", sizeof(show));
+ break;
+ }
+ }
+@@ -1176,18 +1397,24 @@
+ VALID_STRING(key_c3)) {
+ show[0] = '\0';
+ if (keypad_index(key_a1) >= 0)
+- strcat(show, " ka1");
++ _nc_STRCAT(show, " ka1", sizeof(show));
+ if (keypad_index(key_a3) >= 0)
+- strcat(show, " ka3");
++ _nc_STRCAT(show, " ka3", sizeof(show));
+ if (keypad_index(key_b2) >= 0)
+- strcat(show, " kb2");
++ _nc_STRCAT(show, " kb2", sizeof(show));
+ if (keypad_index(key_c1) >= 0)
+- strcat(show, " kc1");
++ _nc_STRCAT(show, " kc1", sizeof(show));
+ if (keypad_index(key_c3) >= 0)
+- strcat(show, " kc3");
++ _nc_STRCAT(show, " kc3", sizeof(show));
+ if (*show != '\0')
+ _nc_warning("vt100 keypad map incomplete:%s", show);
+ }
++
++ /*
++ * These warnings are useful for consistency checks - it is possible that
++ * there are real terminals with mismatches in these
++ */
++ ANDMISSING(key_ic, key_dc);
+ }
+
+ static void
+@@ -1216,6 +1443,72 @@
+ ANDMISSING(parm_up_micro, micro_up);
+ }
+
++static bool
++uses_SGR_39_49(const char *value)
++{
++ return (strstr(value, "39;49") != 0
++ || strstr(value, "49;39") != 0);
++}
++
++/*
++ * Check consistency of termcap extensions related to "screen".
++ */
++static void
++check_screen(TERMTYPE *tp)
++{
++ if (_nc_user_definable) {
++ int have_XT = tigetflag("XT");
++ int have_XM = tigetflag("XM");
++ int have_bce = back_color_erase;
++ bool have_kmouse = FALSE;
++ bool use_sgr_39_49 = FALSE;
++ char *name = _nc_first_name(tp->term_names);
++
++ if (!VALID_BOOLEAN(have_bce)) {
++ have_bce = FALSE;
++ }
++ if (!VALID_BOOLEAN(have_XM)) {
++ have_XM = FALSE;
++ }
++ if (!VALID_BOOLEAN(have_XT)) {
++ have_XT = FALSE;
++ }
++ if (VALID_STRING(key_mouse)) {
++ have_kmouse = !strcmp("\033[M", key_mouse);
++ }
++ if (VALID_STRING(orig_colors)) {
++ use_sgr_39_49 = uses_SGR_39_49(orig_colors);
++ } else if (VALID_STRING(orig_pair)) {
++ use_sgr_39_49 = uses_SGR_39_49(orig_pair);
++ }
++
++ if (have_XM && have_XT) {
++ _nc_warning("Screen's XT capability conflicts with XM");
++ } else if (have_XT
++ && strstr(name, "screen") != 0
++ && strchr(name, '.') != 0) {
++ _nc_warning("Screen's \"screen\" entries should not have XT set");
++ } else if (have_XT) {
++ if (!have_kmouse && have_bce) {
++ if (VALID_STRING(key_mouse)) {
++ _nc_warning("Value of kmous inconsistent with screen's usage");
++ } else {
++ _nc_warning("Expected kmous capability with XT");
++ }
++ }
++ if (!have_bce && max_colors > 0)
++ _nc_warning("Expected bce capability with XT");
++ if (!use_sgr_39_49 && have_bce && max_colors > 0)
++ _nc_warning("Expected orig_colors capability with XT to have 39/49 parameters");
++ if (VALID_STRING(to_status_line))
++ _nc_warning("\"tsl\" capability is redundant, given XT");
++ } else {
++ if (have_kmouse && !have_XM)
++ _nc_warning("Expected XT to be set, given kmous");
++ }
++ }
++}
++
+ /*
+ * Returns the expected number of parameters for the given capability.
+ */
+@@ -1527,7 +1820,7 @@
+ show_where(unsigned level)
+ {
+ if (_nc_tracing >= DEBUG_LEVEL(level)) {
+- char my_name[256];
++ char my_name[MAX_NAME_SIZE];
+ _nc_get_type(my_name);
+ _tracef("\"%s\", line %d, '%s'",
+ _nc_get_source(),
+@@ -1539,6 +1832,58 @@
+ #define show_where(level) /* nothing */
+ #endif
+
++typedef struct {
++ int keycode;
++ const char *name;
++ const char *value;
++} NAME_VALUE;
++
++static NAME_VALUE *
++get_fkey_list(TERMTYPE *tp)
++{
++ NAME_VALUE *result = typeMalloc(NAME_VALUE, NUM_STRINGS(tp) + 1);
++ const struct tinfo_fkeys *all_fkeys = _nc_tinfo_fkeys;
++ int used = 0;
++ int j;
++
++ if (result == 0)
++ failed("get_fkey_list");
++
++ for (j = 0; all_fkeys[j].code; j++) {
++ char *a = tp->Strings[all_fkeys[j].offset];
++ if (VALID_STRING(a)) {
++ result[used].keycode = (int) all_fkeys[j].code;
++ result[used].name = strnames[all_fkeys[j].offset];
++ result[used].value = a;
++ ++used;
++ }
++ }
++#if NCURSES_XNAMES
++ for (j = STRCOUNT; j < NUM_STRINGS(tp); ++j) {
++ const char *name = ExtStrname(tp, j, strnames);
++ if (*name == 'k') {
++ result[used].keycode = -1;
++ result[used].name = name;
++ result[used].value = tp->Strings[j];
++ ++used;
++ }
++ }
++#endif
++ result[used].keycode = 0;
++ return result;
++}
++
++static void
++show_fkey_name(NAME_VALUE * data)
++{
++ if (data->keycode > 0) {
++ fprintf(stderr, " %s", keyname(data->keycode));
++ fprintf(stderr, " (capability \"%s\")", data->name);
++ } else {
++ fprintf(stderr, " capability \"%s\"", data->name);
++ }
++}
++
+ /* other sanity-checks (things that we don't want in the normal
+ * logic that reads a terminfo entry)
+ */
+@@ -1547,7 +1892,6 @@
+ {
+ bool conflict = FALSE;
+ unsigned j, k;
+- char fkeys[STRCOUNT];
+
+ /*
+ * A terminal entry may contain more than one keycode assigned to
+@@ -1555,44 +1899,50 @@
+ * return one (the last one assigned).
+ */
+ if (!(_nc_syntax == SYN_TERMCAP && capdump)) {
+- memset(fkeys, 0, sizeof(fkeys));
+- for (j = 0; _nc_tinfo_fkeys[j].code; j++) {
+- char *a = tp->Strings[_nc_tinfo_fkeys[j].offset];
++ char *check = calloc((size_t) (NUM_STRINGS(tp) + 1), sizeof(char));
++ NAME_VALUE *given = get_fkey_list(tp);
++
++ if (check == 0)
++ failed("check_termtype");
++
++ for (j = 0; given[j].keycode; ++j) {
++ const char *a = given[j].value;
+ bool first = TRUE;
+- if (!VALID_STRING(a))
+- continue;
+- for (k = j + 1; _nc_tinfo_fkeys[k].code; k++) {
+- char *b = tp->Strings[_nc_tinfo_fkeys[k].offset];
+- if (!VALID_STRING(b)
+- || fkeys[k])
++
++ for (k = j + 1; given[k].keycode; k++) {
++ const char *b = given[k].value;
++ if (check[k])
+ continue;
+ if (!_nc_capcmp(a, b)) {
+- fkeys[j] = 1;
+- fkeys[k] = 1;
++ check[j] = 1;
++ check[k] = 1;
+ if (first) {
+ if (!conflict) {
+ _nc_warning("Conflicting key definitions (using the last)");
+ conflict = TRUE;
+ }
+- fprintf(stderr, "... %s is the same as %s",
+- keyname((int) _nc_tinfo_fkeys[j].code),
+- keyname((int) _nc_tinfo_fkeys[k].code));
++ fprintf(stderr, "...");
++ show_fkey_name(given + j);
++ fprintf(stderr, " is the same as");
++ show_fkey_name(given + k);
+ first = FALSE;
+ } else {
+- fprintf(stderr, ", %s",
+- keyname((int) _nc_tinfo_fkeys[k].code));
++ fprintf(stderr, ", ");
++ show_fkey_name(given + k);
+ }
+ }
+ }
+ if (!first)
+ fprintf(stderr, "\n");
+ }
++ free(given);
++ free(check);
+ }
+
+- for (j = 0; j < NUM_STRINGS(tp); j++) {
++ for_each_string(j, tp) {
+ char *a = tp->Strings[j];
+ if (VALID_STRING(a))
+- check_params(tp, ExtStrname(tp, j, strnames), a);
++ check_params(tp, ExtStrname(tp, (int) j, strnames), a);
+ }
+
+ check_acs(tp);
+@@ -1600,6 +1950,7 @@
+ check_cursor(tp);
+ check_keypad(tp);
+ check_printer(tp);
++ check_screen(tp);
+
+ /*
+ * These may be mismatched because the terminal description relies on
+Index: progs/toe.c
+Prereq: 1.52
+--- ncurses-5.9/progs/toe.c 2010-05-01 22:04:08.000000000 +0000
++++ ncurses-5.9-20130504/progs/toe.c 2013-03-09 22:45:23.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -44,12 +44,23 @@
+ #include <hashed_db.h>
+ #endif
+
+-MODULE_ID("$Id: toe.c,v 1.52 2010/05/01 22:04:08 tom Exp $")
++MODULE_ID("$Id: toe.c,v 1.71 2013/03/09 22:45:23 tom Exp $")
+
+ #define isDotname(name) (!strcmp(name, ".") || !strcmp(name, ".."))
+
++typedef struct {
++ int db_index;
++ unsigned long checksum;
++ char *term_name;
++ char *description;
++} TERMDATA;
++
+ const char *_nc_progname;
+
++static TERMDATA *ptr_termdata; /* array of terminal data */
++static size_t use_termdata; /* actual usage in ptr_termdata[] */
++static size_t len_termdata; /* allocated size of ptr_termdata[] */
++
+ #if NO_LEAKS
+ #undef ExitProgram
+ static void ExitProgram(int code) GCC_NORETURN;
+@@ -61,6 +72,8 @@
+ }
+ #endif
+
++static void failed(const char *) GCC_NORETURN;
++
+ static void
+ failed(const char *msg)
+ {
+@@ -68,6 +81,150 @@
+ ExitProgram(EXIT_FAILURE);
+ }
+
++static char *
++strmalloc(const char *value)
++{
++ char *result = strdup(value);
++ if (result == 0) {
++ failed("strmalloc");
++ }
++ return result;
++}
++
++static TERMDATA *
++new_termdata(void)
++{
++ size_t want = use_termdata + 1;
++
++ if (want >= len_termdata) {
++ len_termdata = (2 * want) + 10;
++ ptr_termdata = typeRealloc(TERMDATA, len_termdata, ptr_termdata);
++ if (ptr_termdata == 0)
++ failed("ptr_termdata");
++ }
++
++ return ptr_termdata + use_termdata++;
++}
++
++static int
++compare_termdata(const void *a, const void *b)
++{
++ const TERMDATA *p = (const TERMDATA *) a;
++ const TERMDATA *q = (const TERMDATA *) b;
++ int result = strcmp(p->term_name, q->term_name);
++
++ if (result == 0) {
++ result = (p->db_index - q->db_index);
++ }
++ return result;
++}
++
++/*
++ * Sort the array of TERMDATA and print it. If more than one database is being
++ * reported, add a column to show which database has a given entry.
++ */
++static void
++show_termdata(int eargc, char **eargv)
++{
++ int j, k;
++ size_t n;
++
++ if (use_termdata) {
++ if (eargc > 1) {
++ for (j = 0; j < eargc; ++j) {
++ for (k = 0; k <= j; ++k) {
++ printf("--");
++ }
++ printf("> ");
++ printf("%s\n", eargv[j]);
++ }
++ }
++ if (use_termdata > 1)
++ qsort(ptr_termdata, use_termdata, sizeof(TERMDATA), compare_termdata);
++ for (n = 0; n < use_termdata; ++n) {
++
++ /*
++ * If there is more than one database, show how they differ.
++ */
++ if (eargc > 1) {
++ unsigned long check = 0;
++ k = 0;
++ for (;;) {
++ for (; k < ptr_termdata[n].db_index; ++k) {
++ printf("--");
++ }
++
++ /*
++ * If this is the first entry, or its checksum differs
++ * from the first entry's checksum, print "*". Otherwise
++ * it looks enough like a duplicate to print "+".
++ */
++ printf("%c-", ((check == 0
++ || (check != ptr_termdata[n].checksum))
++ ? '*'
++ : '+'));
++ check = ptr_termdata[n].checksum;
++
++ ++k;
++ if ((n + 1) >= use_termdata
++ || strcmp(ptr_termdata[n].term_name,
++ ptr_termdata[n + 1].term_name)) {
++ break;
++ }
++ ++n;
++ }
++ for (; k < eargc; ++k) {
++ printf("--");
++ }
++ printf(":\t");
++ }
++
++ (void) printf("%-10s\t%s\n",
++ ptr_termdata[n].term_name,
++ ptr_termdata[n].description);
++ }
++ }
++}
++
++static void
++free_termdata(void)
++{
++ if (ptr_termdata != 0) {
++ while (use_termdata != 0) {
++ --use_termdata;
++ free(ptr_termdata[use_termdata].term_name);
++ free(ptr_termdata[use_termdata].description);
++ }
++ free(ptr_termdata);
++ ptr_termdata = 0;
++ }
++ use_termdata = 0;
++ len_termdata = 0;
++}
++
++static char **
++allocArgv(size_t count)
++{
++ char **result = typeCalloc(char *, count + 1);
++ if (result == 0)
++ failed("realloc eargv");
++
++ assert(result != 0);
++ return result;
++}
++
++static void
++freeArgv(char **argv)
++{
++ if (argv) {
++ int count = 0;
++ while (argv[count]) {
++ free(argv[count++]);
++ }
++ free(argv);
++ }
++}
++
+ #if USE_HASHED_DB
+ static bool
+ make_db_name(char *dst, const char *src, unsigned limit)
+@@ -81,61 +238,94 @@
+
+ if (need <= limit) {
+ if (size >= lens
+- && !strcmp(src + size - lens, suffix))
+- (void) strcpy(dst, src);
+- else
+- (void) sprintf(dst, "%s%s", src, suffix);
++ && !strcmp(src + size - lens, suffix)) {
++ _nc_STRCPY(dst, src, PATH_MAX);
++ } else {
++ _nc_SPRINTF(dst, _nc_SLIMIT(PATH_MAX) "%s%s", src, suffix);
++ }
+ result = TRUE;
+ }
+ return result;
+ }
+ #endif
+
+-static bool
+-is_database(const char *path)
++typedef void (DescHook) (int /* db_index */ ,
++ int /* db_limit */ ,
++ const char * /* term_name */ ,
++ TERMTYPE * /* term */ );
++
++static const char *
++term_description(TERMTYPE *tp)
+ {
+- bool result = FALSE;
+-#if USE_DATABASE
+- if (_nc_is_dir_path(path) && access(path, R_OK | X_OK) == 0) {
+- result = TRUE;
+- }
+-#endif
+-#if USE_TERMCAP
+- if (_nc_is_file_path(path) && access(path, R_OK) == 0) {
+- result = TRUE;
++ const char *desc;
++
++ if (tp->term_names == 0
++ || (desc = strrchr(tp->term_names, '|')) == 0
++ || (*++desc == '\0')) {
++ desc = "(No description)";
+ }
+-#endif
+-#if USE_HASHED_DB
+- if (!result) {
+- char filename[PATH_MAX];
+- if (_nc_is_file_path(path) && access(path, R_OK) == 0) {
+- result = TRUE;
+- } else if (make_db_name(filename, path, sizeof(filename))) {
+- if (_nc_is_file_path(filename) && access(filename, R_OK) == 0) {
+- result = TRUE;
+- }
++
++ return desc;
++}
++
++/* display a description for the type */
++static void
++deschook(int db_index, int db_limit, const char *term_name, TERMTYPE *tp)
++{
++ (void) db_index;
++ (void) db_limit;
++ (void) printf("%-10s\t%s\n", term_name, term_description(tp));
++}
++
++static unsigned long
++string_sum(const char *value)
++{
++ unsigned long result = 0;
++
++ if ((intptr_t) value == (intptr_t) (-1)) {
++ result = ~result;
++ } else if (value) {
++ while (*value) {
++ result += UChar(*value);
++ ++value;
+ }
+ }
+-#endif
+ return result;
+ }
+
+-static void
+-deschook(const char *cn, TERMTYPE *tp)
+-/* display a description for the type */
++static unsigned long
++checksum_of(TERMTYPE *tp)
+ {
+- const char *desc;
++ unsigned long result = string_sum(tp->term_names);
++ unsigned i;
+
+- if ((desc = strrchr(tp->term_names, '|')) == 0 || *++desc == '\0')
+- desc = "(No description)";
++ for (i = 0; i < NUM_BOOLEANS(tp); i++) {
++ result += (unsigned long) (tp->Booleans[i]);
++ }
++ for (i = 0; i < NUM_NUMBERS(tp); i++) {
++ result += (unsigned long) (tp->Numbers[i]);
++ }
++ for (i = 0; i < NUM_STRINGS(tp); i++) {
++ result += string_sum(tp->Strings[i]);
++ }
++ return result;
++}
++
++/* collect data, to sort before display */
++static void
++sorthook(int db_index, int db_limit, const char *term_name, TERMTYPE *tp)
++{
++ TERMDATA *data = new_termdata();
+
+- (void) printf("%-10s\t%s\n", cn, desc);
++ data->db_index = db_index;
++ data->checksum = ((db_limit > 1) ? checksum_of(tp) : 0);
++ data->term_name = strmalloc(term_name);
++ data->description = strmalloc(term_description(tp));
+ }
+
+ #if USE_TERMCAP
+ static void
+-show_termcap(char *buffer,
+- void (*hook) (const char *, TERMTYPE *tp))
++show_termcap(int db_index, int db_limit, char *buffer, DescHook hook)
+ {
+ TERMTYPE data;
+ char *next = strchr(buffer, ':');
+@@ -149,20 +339,36 @@
+ if (last)
+ ++last;
+
+- data.term_names = strdup(buffer);
++ memset(&data, 0, sizeof(data));
++ data.term_names = strmalloc(buffer);
+ while ((next = strtok(list, "|")) != 0) {
+ if (next != last)
+- hook(next, &data);
++ hook(db_index, db_limit, next, &data);
+ list = 0;
+ }
+ free(data.term_names);
+ }
+ #endif
+
++#if USE_DATABASE
++static char *
++copy_entryname(DIRENT * src)
++{
++ size_t len = NAMLEN(src);
++ char *result = malloc(len + 1);
++ if (result == 0)
++ failed("copy entryname");
++ memcpy(result, src->d_name, len);
++ result[len] = '\0';
++
++ return result;
++}
++#endif
++
+ static int
+ typelist(int eargc, char *eargv[],
+ bool verbosity,
+- void (*hook) (const char *, TERMTYPE *tp))
++ DescHook hook)
+ /* apply a function to each entry in given terminfo directories */
+ {
+ int i;
+@@ -179,28 +385,35 @@
+ (void) fprintf(stderr,
+ "%s: can't open terminfo directory %s\n",
+ _nc_progname, eargv[i]);
+- return (EXIT_FAILURE);
+- } else if (verbosity)
++ continue;
++ }
++
++ if (verbosity)
+ (void) printf("#\n#%s:\n#\n", eargv[i]);
+
+ while ((subdir = readdir(termdir)) != 0) {
+- size_t len = NAMLEN(subdir);
+- size_t cwd_len = len + strlen(eargv[i]) + 3;
+- char name_1[PATH_MAX];
++ size_t cwd_len;
++ char *name_1;
+ DIR *entrydir;
+ DIRENT *entry;
+
++ name_1 = copy_entryname(subdir);
++ if (isDotname(name_1)) {
++ free(name_1);
++ continue;
++ }
++
++ cwd_len = NAMLEN(subdir) + strlen(eargv[i]) + 3;
+ cwd_buf = typeRealloc(char, cwd_len, cwd_buf);
+ if (cwd_buf == 0)
+ failed("realloc cwd_buf");
+
+ assert(cwd_buf != 0);
+
+- strncpy(name_1, subdir->d_name, len)[len] = '\0';
+- if (isDotname(name_1))
+- continue;
++ _nc_SPRINTF(cwd_buf, _nc_SLIMIT(cwd_len)
++ "%s/%s/", eargv[i], name_1);
++ free(name_1);
+
+- (void) sprintf(cwd_buf, "%s/%.*s/", eargv[i], (int) len, name_1);
+ if (chdir(cwd_buf) != 0)
+ continue;
+
+@@ -210,15 +423,16 @@
+ continue;
+ }
+ while ((entry = readdir(entrydir)) != 0) {
+- char name_2[PATH_MAX];
++ char *name_2;
+ TERMTYPE lterm;
+ char *cn;
+ int status;
+
+- len = NAMLEN(entry);
+- strncpy(name_2, entry->d_name, len)[len] = '\0';
+- if (isDotname(name_2) || !_nc_is_file_path(name_2))
++ name_2 = copy_entryname(entry);
++ if (isDotname(name_2) || !_nc_is_file_path(name_2)) {
++ free(name_2);
+ continue;
++ }
+
+ status = _nc_read_file_entry(name_2, &lterm);
+ if (status <= 0) {
+@@ -226,6 +440,10 @@
+ (void) fprintf(stderr,
+ "%s: couldn't open terminfo file %s.\n",
+ _nc_progname, name_2);
++ free(cwd_buf);
++ free(name_2);
++ closedir(entrydir);
++ closedir(termdir);
+ return (EXIT_FAILURE);
+ }
+
+@@ -233,21 +451,26 @@
+ cn = _nc_first_name(lterm.term_names);
+ if (!strcmp(cn, name_2)) {
+ /* apply the selected hook function */
+- (*hook) (cn, &lterm);
++ hook(i, eargc, cn, &lterm);
+ }
+ _nc_free_termtype(&lterm);
++ free(name_2);
+ }
+ closedir(entrydir);
+ }
+ closedir(termdir);
+ if (cwd_buf != 0)
+ free(cwd_buf);
++ continue;
+ }
+ #if USE_HASHED_DB
+ else {
+ DB *capdbp;
+ char filename[PATH_MAX];
+
++ if (verbosity)
++ (void) printf("#\n#%s:\n#\n", eargv[i]);
++
+ if (make_db_name(filename, eargv[i], sizeof(filename))) {
+ if ((capdbp = _nc_db_open(filename, FALSE)) != 0) {
+ DBT key, data;
+@@ -265,7 +488,7 @@
+ /* only visit things once, by primary name */
+ cn = _nc_first_name(lterm.term_names);
+ /* apply the selected hook function */
+- (*hook) (cn, &lterm);
++ hook(i, eargc, cn, &lterm);
+ _nc_free_termtype(&lterm);
+ }
+ }
+@@ -273,6 +496,7 @@
+ }
+
+ _nc_db_close(capdbp);
++ continue;
+ }
+ }
+ }
+@@ -280,37 +504,43 @@
+ #endif
+ #if USE_TERMCAP
+ #if HAVE_BSD_CGETENT
+- char *db_array[2];
+- char *buffer = 0;
++ {
++ CGETENT_CONST char *db_array[2];
++ char *buffer = 0;
+
+- if (verbosity)
+- (void) printf("#\n#%s:\n#\n", eargv[i]);
++ if (verbosity)
++ (void) printf("#\n#%s:\n#\n", eargv[i]);
+
+- db_array[0] = eargv[i];
+- db_array[1] = 0;
++ db_array[0] = eargv[i];
++ db_array[1] = 0;
+
+- if (cgetfirst(&buffer, db_array)) {
+- show_termcap(buffer, hook);
+- free(buffer);
+- while (cgetnext(&buffer, db_array)) {
+- show_termcap(buffer, hook);
++ if (cgetfirst(&buffer, db_array) > 0) {
++ show_termcap(i, eargc, buffer, hook);
+ free(buffer);
++ while (cgetnext(&buffer, db_array) > 0) {
++ show_termcap(i, eargc, buffer, hook);
++ free(buffer);
++ }
++ cgetclose();
++ continue;
+ }
+ }
+- cgetclose();
+ #else
+ /* scan termcap text-file only */
+ if (_nc_is_file_path(eargv[i])) {
+ char buffer[2048];
+ FILE *fp;
+
++ if (verbosity)
++ (void) printf("#\n#%s:\n#\n", eargv[i]);
++
+ if ((fp = fopen(eargv[i], "r")) != 0) {
+ while (fgets(buffer, sizeof(buffer), fp) != 0) {
+ if (*buffer == '#')
+ continue;
+ if (isspace(*buffer))
+ continue;
+- show_termcap(buffer, hook);
++ show_termcap(i, eargc, buffer, hook);
+ }
+ fclose(fp);
+ }
+@@ -319,13 +549,18 @@
+ #endif
+ }
+
++ if (hook == sorthook) {
++ show_termdata(eargc, eargv);
++ free_termdata();
++ }
++
+ return (EXIT_SUCCESS);
+ }
+
+ static void
+ usage(void)
+ {
+- (void) fprintf(stderr, "usage: %s [-ahuUV] [-v n] [file...]\n", _nc_progname);
++ (void) fprintf(stderr, "usage: %s [-ahsuUV] [-v n] [file...]\n", _nc_progname);
+ ExitProgram(EXIT_FAILURE);
+ }
+
+@@ -340,23 +575,24 @@
+ unsigned i;
+ int code;
+ int this_opt, last_opt = '?';
+- int v_opt = 0;
++ unsigned v_opt = 0;
++ DescHook *hook = deschook;
+
+ _nc_progname = _nc_rootname(argv[0]);
+
+- while ((this_opt = getopt(argc, argv, "0123456789ahu:vU:V")) != -1) {
++ while ((this_opt = getopt(argc, argv, "0123456789ahsu:vU:V")) != -1) {
+ /* handle optional parameter */
+ if (isdigit(this_opt)) {
+ switch (last_opt) {
+ case 'v':
+- v_opt = (this_opt - '0');
++ v_opt = (unsigned) (this_opt - '0');
+ break;
+ default:
+ if (isdigit(last_opt))
+ v_opt *= 10;
+ else
+ v_opt = 0;
+- v_opt += (this_opt - '0');
++ v_opt += (unsigned) (this_opt - '0');
+ last_opt = this_opt;
+ }
+ continue;
+@@ -368,6 +604,9 @@
+ case 'h':
+ header = TRUE;
+ break;
++ case 's':
++ hook = sorthook;
++ break;
+ case 'u':
+ direct_dependencies = TRUE;
+ report_file = optarg;
+@@ -450,7 +689,7 @@
+ * If we get this far, user wants a simple terminal type listing.
+ */
+ if (optind < argc) {
+- code = typelist(argc - optind, argv + optind, header, deschook);
++ code = typelist(argc - optind, argv + optind, header, hook);
+ } else if (all_dirs) {
+ DBDIRS state;
+ int offset;
+@@ -460,64 +699,41 @@
+
+ code = EXIT_FAILURE;
+ for (pass = 0; pass < 2; ++pass) {
+- unsigned count = 0;
++ size_t count = 0;
+
+ _nc_first_db(&state, &offset);
+ while ((path = _nc_next_db(&state, &offset)) != 0) {
+- if (!is_database(path)) {
+- ;
+- } else if (eargv != 0) {
+- unsigned n;
+- int found = FALSE;
+-
+- /* eliminate duplicates */
+- for (n = 0; n < count; ++n) {
+- if (!strcmp(path, eargv[n])) {
+- found = TRUE;
+- break;
+- }
+- }
+- if (!found) {
+- eargv[count] = strdup(path);
+- ++count;
+- }
+- } else {
+- ++count;
++ if (pass) {
++ eargv[count] = strmalloc(path);
+ }
++ ++count;
+ }
+ if (!pass) {
+- eargv = typeCalloc(char *, count + 1);
++ eargv = allocArgv(count);
+ if (eargv == 0)
+- failed("realloc eargv");
+-
+- assert(eargv != 0);
++ failed("eargv");
+ } else {
+- code = typelist((int) count, eargv, header, deschook);
+- while (count-- > 0)
+- free(eargv[count]);
+- free(eargv);
++ code = typelist((int) count, eargv, header, hook);
++ freeArgv(eargv);
+ }
+ }
+ } else {
+ DBDIRS state;
+ int offset;
+ const char *path;
+- char *eargv[3];
+- int count = 0;
++ char **eargv = allocArgv(2);
++ size_t count = 0;
+
++ if (eargv == 0)
++ failed("eargv");
+ _nc_first_db(&state, &offset);
+- while ((path = _nc_next_db(&state, &offset)) != 0) {
+- if (is_database(path)) {
+- eargv[count++] = strdup(path);
+- break;
+- }
++ if ((path = _nc_next_db(&state, &offset)) != 0) {
++ eargv[count++] = strmalloc(path);
+ }
+- eargv[count] = 0;
+
+- code = typelist(count, eargv, header, deschook);
++ code = typelist((int) count, eargv, header, hook);
+
+- while (count-- > 0)
+- free(eargv[count]);
++ freeArgv(eargv);
+ }
+ _nc_last_db();
+
+Index: progs/tput.c
+Prereq: 1.46
+--- ncurses-5.9/progs/tput.c 2010-01-09 16:53:24.000000000 +0000
++++ ncurses-5.9-20130504/progs/tput.c 2012-02-18 21:51:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -47,7 +47,7 @@
+ #endif
+ #include <transform.h>
+
+-MODULE_ID("$Id: tput.c,v 1.46 2010/01/09 16:53:24 tom Exp $")
++MODULE_ID("$Id: tput.c,v 1.48 2012/02/18 21:51:17 tom Exp $")
+
+ #define PUTS(s) fputs(s, stdout)
+ #define PUTCHAR(c) putchar(c)
+@@ -94,9 +94,6 @@
+ * Lookup the type of call we should make to tparm(). This ignores the actual
+ * terminfo capability (bad, because it is not extensible), but makes this
+ * code portable to platforms where sizeof(int) != sizeof(char *).
+- *
+- * FIXME: If we want extensibility, analyze the capability string as we do
+- * in tparm() to decide how to parse the varargs list.
+ */
+ static TParams
+ tparm_type(const char *name)
+@@ -338,7 +335,7 @@
+ case Numbers:
+ default:
+ (void) _nc_tparm_analyze(s, p_is_s, &popcount);
+-#define myParam(n) (p_is_s[n - 1] != 0 ? ((long) strings[n]) : numbers[n])
++#define myParam(n) (p_is_s[n - 1] != 0 ? ((TPARM_ARG) strings[n]) : numbers[n])
+ s = TPARM_9(s,
+ myParam(1),
+ myParam(2),
+Index: progs/transform.c
+Prereq: 1.2
+--- ncurses-5.9/progs/transform.c 2010-09-04 21:16:17.000000000 +0000
++++ ncurses-5.9-20130504/progs/transform.c 2011-05-14 22:41:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2009-2010,2011 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,21 +34,21 @@
+
+ #include <transform.h>
+
+-MODULE_ID("$Id: transform.c,v 1.2 2010/09/04 21:16:17 tom Exp $")
++MODULE_ID("$Id: transform.c,v 1.3 2011/05/14 22:41:17 tom Exp $")
+
+ #ifdef SUFFIX_IGNORED
+ static void
+-trim_suffix(const char *a, unsigned *len)
++trim_suffix(const char *a, size_t *len)
+ {
+ const char ignore[] = SUFFIX_IGNORED;
+
+ if (sizeof(ignore) != 0) {
+ bool trim = FALSE;
+- unsigned need = (sizeof(ignore) - 1);
++ size_t need = (sizeof(ignore) - 1);
+
+ if (*len > need) {
+- unsigned first = *len - need;
+- unsigned n;
++ size_t first = *len - need;
++ size_t n;
+ trim = TRUE;
+ for (n = first; n < *len; ++n) {
+ if (tolower(UChar(a[n])) != tolower(UChar(ignore[n - first]))) {
+@@ -69,8 +69,8 @@
+ bool
+ same_program(const char *a, const char *b)
+ {
+- unsigned len_a = strlen(a);
+- unsigned len_b = strlen(b);
++ size_t len_a = strlen(a);
++ size_t len_b = strlen(b);
+
+ trim_suffix(a, &len_a);
+ trim_suffix(b, &len_b);
+Index: progs/tset.c
+Prereq: 1.82
+--- ncurses-5.9/progs/tset.c 2010-05-01 21:42:46.000000000 +0000
++++ ncurses-5.9-20130504/progs/tset.c 2013-03-23 21:38:08.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -119,7 +119,7 @@
+ #include <dump_entry.h>
+ #include <transform.h>
+
+-MODULE_ID("$Id: tset.c,v 1.82 2010/05/01 21:42:46 tom Exp $")
++MODULE_ID("$Id: tset.c,v 1.91 2013/03/23 21:38:08 tom Exp $")
+
+ /*
+ * SCO defines TIOCGSIZE and the corresponding struct. Other systems (SunOS,
+@@ -148,6 +148,10 @@
+ #undef CTRL
+ #define CTRL(x) ((x) & 0x1f)
+
++static void failed(const char *) GCC_NORETURN;
++static void exit_error(void) GCC_NORETURN;
++static void err(const char *,...) GCC_NORETURN;
++
+ const char *_nc_progname = "tset";
+
+ static TTY mode, oldmode, original;
+@@ -160,7 +164,10 @@
+ static int terasechar = -1; /* new erase character */
+ static int intrchar = -1; /* new interrupt character */
+ static int tkillchar = -1; /* new kill character */
++
++#if HAVE_SIZECHANGE
+ static int tlines, tcolumns; /* window size */
++#endif
+
+ #define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c))
+
+@@ -203,13 +210,13 @@
+ failed(const char *msg)
+ {
+ char temp[BUFSIZ];
+- unsigned len = strlen(_nc_progname) + 2;
++ size_t len = strlen(_nc_progname) + 2;
+
+ if ((int) len < (int) sizeof(temp) - 12) {
+- strcpy(temp, _nc_progname);
+- strcat(temp, ": ");
++ _nc_STRCPY(temp, _nc_progname, sizeof(temp));
++ _nc_STRCAT(temp, ": ", sizeof(temp));
+ } else {
+- strcpy(temp, "tset: ");
++ _nc_STRCPY(temp, "tset: ", sizeof(temp));
+ }
+ perror(strncat(temp, msg, sizeof(temp) - strlen(temp) - 2));
+ exit_error();
+@@ -467,9 +474,6 @@
+ mapp->speed = tbaudrate(p);
+ }
+
+- if (arg == (char *) 0) /* Non-optional type. */
+- goto badmopt;
+-
+ mapp->type = arg;
+
+ /* Terminate porttype, if specified. */
+@@ -527,19 +531,19 @@
+ match = TRUE;
+ break;
+ case EQ:
+- match = (ospeed == mapp->speed);
++ match = ((int) ospeed == mapp->speed);
+ break;
+ case GE:
+- match = (ospeed >= mapp->speed);
++ match = ((int) ospeed >= mapp->speed);
+ break;
+ case GT:
+- match = (ospeed > mapp->speed);
++ match = ((int) ospeed > mapp->speed);
+ break;
+ case LE:
+- match = (ospeed <= mapp->speed);
++ match = ((int) ospeed <= mapp->speed);
+ break;
+ case LT:
+- match = (ospeed < mapp->speed);
++ match = ((int) ospeed < mapp->speed);
+ break;
+ default:
+ match = FALSE;
+@@ -1043,11 +1047,18 @@
+ {
+ if (set_tab && clear_all_tabs) {
+ int c;
++ int lim =
++#if HAVE_SIZECHANGE
++ tcolumns
++#else
++ columns
++#endif
++ ;
+
+ (void) putc('\r', stderr); /* Force to left margin. */
+ tputs(clear_all_tabs, 0, outc);
+
+- for (c = 8; c < tcolumns; c += 8) {
++ for (c = 8; c < lim; c += 8) {
+ /* Get to the right column. In BSD tset, this
+ * used to try a bunch of half-clever things
+ * with cup and hpa, for an average saving of
+@@ -1273,10 +1284,10 @@
+ (void) get_termcap_entry(*argv);
+
+ if (!noset) {
++#if HAVE_SIZECHANGE
+ tcolumns = columns;
+ tlines = lines;
+
+-#if HAVE_SIZECHANGE
+ if (opt_w) {
+ STRUCT_WINSIZE win;
+ /* Set window size if not set already */
+Index: test/Makefile.in
+Prereq: 1.108
+--- ncurses-5.9/test/Makefile.in 2010-11-28 16:39:40.000000000 +0000
++++ ncurses-5.9-20130504/test/Makefile.in 2011-09-24 15:13:44.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.108 2010/11/28 16:39:40 tom Exp $
++# $Id: Makefile.in,v 1.109 2011/09/24 15:13:44 nix Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -102,7 +102,7 @@
+ LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
+ LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
+
+-TEST_ARGS = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@
++TEST_ARGS = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@
+
+ # use these for linking with all of the libraries
+ LIBS_DEFAULT = $(TEST_ARGS) @LIBS@ $(TEST_LIBS) $(MATH_LIB)
+@@ -117,8 +117,8 @@
+ LDFLAGS_CURSES = $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_CURSES)
+
+ # use these for linking with the tinfo library if we have it, or curses library if not
+-LIBS_TINFO = @LDFLAGS_STATIC@ @TINFO_ARGS@ @LDFLAGS_SHARED@ @LIBS@ $(TEST_LIBS) $(MATH_LIB)
+-LDFLAGS_TINFO = $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_TINFO)
++LIBS_TINFO = @LDFLAGS_STATIC@ @TINFO_LIBS@ @LDFLAGS_SHARED@ @LIBS@ $(TEST_LIBS) $(MATH_LIB)
++LDFLAGS_TINFO = @TINFO_LDFLAGS@ $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_TINFO)
+
+ LINT = @LINT@
+ LINT_OPTS = @LINT_OPTS@
+Index: test/README
+Prereq: 1.44
+--- ncurses-5.9/test/README 2011-02-26 00:09:25.000000000 +0000
++++ ncurses-5.9-20130504/test/README 2013-01-19 21:30:38.000000000 +0000
+@@ -1,5 +1,5 @@
+ -------------------------------------------------------------------------------
+--- Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. --
++-- Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. --
+ -- --
+ -- Permission is hereby granted, free of charge, to any person obtaining a --
+ -- copy of this software and associated documentation files (the --
+@@ -25,7 +25,7 @@
+ -- sale, use or other dealings in this Software without prior written --
+ -- authorization. --
+ -------------------------------------------------------------------------------
+--- $Id: README,v 1.44 2011/02/26 00:09:25 tom Exp $
++-- $Id: README,v 1.47 2013/01/19 21:30:38 tom Exp $
+ -------------------------------------------------------------------------------
+
+ The programs in this directory are designed to test your newest toy :-)
+@@ -223,18 +223,18 @@
+ SP lib: form
+ TABSIZE test: test_opaque
+ UP -
+-acs_map test: gdc ins_wide inserts knight movewindow ncurses newdemo test_add_wchstr test_addchstr test_addstr test_addwstr testcurs
++acs_map test: background gdc ins_wide inserts knight movewindow ncurses newdemo test_add_wchstr test_addchstr test_addstr test_addwstr testcurs
+ add_wch test: demo_panels ncurses test_add_wchstr test_addwstr
+ add_wchnstr test: test_add_wchstr
+ add_wchstr test: test_add_wchstr view
+-addch test: blue bs echochar hashtest ncurses savescreen test_add_wchstr test_addchstr test_addstr test_addwstr test_opaque testaddch view worm
++addch test: background blue bs echochar hashtest ncurses savescreen test_add_wchstr test_addchstr test_addstr test_addwstr test_opaque testaddch view worm
+ addchnstr test: test_addchstr
+ addchstr test: test_addchstr
+ addnstr test: test_addstr
+ addnwstr test: ncurses test_addwstr
+ addstr test: blue bs cardfile gdc hanoi lrtest ncurses savescreen test_addstr
+ addwstr test: ncurses test_addwstr
+-assume_default_colors test: ncurses
++assume_default_colors test: background ncurses
+ assume_default_colors_sp -
+ attr_get test: ncurses
+ attr_off test: ncurses
+@@ -271,7 +271,7 @@
+ color_content_sp -
+ color_set test: color_set ncurses
+ copywin test: ncurses testcurs
+-cur_term test: demo_terminfo dots dots_mvcur lrtest progs: clear tabs tput tset
++cur_term test: demo_terminfo dots dots_mvcur lrtest test_vid_puts test_vidputs progs: clear tabs tput tset
+ curs_set test: echochar firework gdc hanoi lrtest ncurses newdemo rain savescreen tclock testcurs worm xmas
+ curs_set_sp lib: ncurses
+ curscr test: demo_panels edit_field knight lrtest ncurses savescreen tclock view
+@@ -306,7 +306,7 @@
+ erasewchar -
+ filter test: filter
+ filter_sp -
+-flash test: cardfile lrtest ncurses tclock testcurs
++flash test: cardfile lrtest movewindow ncurses tclock testcurs
+ flash_sp -
+ flushinp test: ncurses newdemo testcurs
+ flushinp_sp lib: ncurses
+@@ -399,7 +399,7 @@
+ key_name test: key_names ncurses
+ keybound test: demo_altkeys demo_defkey
+ keybound_sp lib: ncurses
+-keyname test: demo_altkeys demo_defkey demo_keyok demo_menus edit_field foldkeys keynames movewindow ncurses redraw testcurs view progs: tic
++keyname test: demo_altkeys demo_defkey demo_keyok demo_menus edit_field foldkeys keynames movewindow ncurses redraw test_getstr testcurs view progs: tic
+ keyname_sp lib: ncurses
+ keyok test: demo_keyok foldkeys
+ keyok_sp lib: ncurses
+@@ -430,7 +430,7 @@
+ mvaddwstr test: test_addwstr
+ mvchgat test: chgat
+ mvcur test: dots_mvcur redraw
+-mvcur_sp lib: ncurses
++mvcur_sp -
+ mvdelch -
+ mvderwin test: movewindow
+ mvget_wch -
+@@ -457,7 +457,7 @@
+ mvinsstr test: inserts
+ mvinstr test: test_instr
+ mvinwstr test: test_inwstr
+-mvprintw test: bs demo_menus firework hanoi ncurses tclock view
++mvprintw test: background bs demo_menus firework hanoi ncurses tclock view
+ mvscanw -
+ mvvline test: ncurses
+ mvvline_set test: ncurses
+@@ -542,13 +542,13 @@
+ prefresh test: testcurs
+ printw test: background blue bs color_set demo_altkeys demo_defkey demo_keyok demo_menus filter foldkeys ncurses savescreen testcurs testscanw view
+ putp progs: tput
+-putp_sp lib: ncurses
++putp_sp -
+ putwin test: ncurses
+ qiflush -
+ qiflush_sp -
+ raw test: demo_forms ncurses redraw testcurs
+ raw_sp lib: ncurses
+-redrawwin test: redraw
++redrawwin test: redraw view
+ refresh test: blue bs demo_defkey demo_forms demo_keyok demo_menus demo_panels echochar filter firstlast gdc hanoi hashtest lrtest movewindow ncurses savescreen tclock testcurs view xmas
+ reset_prog_mode test: filter ncurses
+ reset_prog_mode_sp lib: ncurses
+@@ -586,7 +586,7 @@
+ set_term lib: ncurses
+ setcchar test: demo_panels ins_wide ncurses test_add_wchstr test_addwstr view
+ setscrreg test: view
+-setupterm test: demo_termcap demo_terminfo dots progs: clear tabs tput tset
++setupterm test: demo_termcap demo_terminfo dots test_vid_puts test_vidputs progs: clear tabs tput tset
+ slk_attr -
+ slk_attr_off -
+ slk_attr_on -
+@@ -644,20 +644,20 @@
+ tgetstr test: demo_termcap railroad
+ tgetstr_sp -
+ tgoto test: railroad
+-tigetflag test: demo_terminfo progs: tput
++tigetflag test: demo_terminfo progs: tic tput
+ tigetflag_sp -
+ tigetnum test: demo_terminfo ncurses progs: tput
+ tigetnum_sp -
+-tigetstr test: blue demo_defkey demo_terminfo foldkeys testcurs progs: tput
++tigetstr test: demo_defkey demo_terminfo foldkeys testcurs progs: tput
+ tigetstr_sp -
+ timeout test: rain savescreen
+ tiparm -
+ touchline test: chgat clip_printw insdelln
+ touchwin test: chgat clip_printw demo_menus edit_field filter firstlast inch_wide inchs ins_wide insdelln inserts movewindow ncurses redraw test_add_wchstr test_addchstr test_addstr test_addwstr test_get_wstr test_getstr test_instr test_inwstr test_opaque xmas
+ tparm test: dots dots_mvcur progs: tabs tic tput
+-tputs test: dots dots_mvcur railroad progs: clear tabs tset
++tputs test: dots dots_mvcur railroad test_vid_puts test_vidputs progs: clear tabs tset
+ tputs_sp lib: ncurses
+-trace test: demo_menus hanoi hashtest lrtest ncurses testcurs view worm
++trace test: demo_menus hashtest lrtest ncurses testcurs view worm
+ ttytype lib: ncurses
+ typeahead test: testcurs
+ typeahead_sp lib: ncurses
+@@ -670,22 +670,24 @@
+ ungetmouse -
+ ungetmouse_sp -
+ untouchwin lib: form
+-use_default_colors test: filter firework gdc hanoi knight ncurses rain tclock worm xmas
++use_default_colors test: background filter firework gdc hanoi knight ncurses rain tclock worm xmas
+ use_default_colors_sp -
+-use_env progs: tput
++use_env test: ncurses progs: tput
+ use_env_sp -
+-use_extended_names test: demo_terminfo progs: infocmp tic
++use_extended_names test: demo_termcap demo_terminfo progs: infocmp tic
+ use_legacy_coding -
+ use_legacy_coding_sp -
+ use_screen test: ditto
++use_tioctl test: ncurses
++use_tioctl_sp -
+ use_window test: rain worm
+-vid_attr -
++vid_attr test: test_vid_puts
+ vid_attr_sp -
+-vid_puts -
++vid_puts test: test_vid_puts
+ vid_puts_sp -
+-vidattr -
+-vidattr_sp lib: ncurses
+-vidputs -
++vidattr test: test_vidputs
++vidattr_sp -
++vidputs test: test_vidputs
+ vidputs_sp lib: ncurses
+ vline test: gdc ncurses
+ vline_set -
+Index: test/aclocal.m4
+Prereq: 1.50
+--- ncurses-5.9/test/aclocal.m4 2011-03-24 08:28:07.000000000 +0000
++++ ncurses-5.9-20130504/test/aclocal.m4 2013-03-09 21:41:33.000000000 +0000
+@@ -1,5 +1,5 @@
+ dnl***************************************************************************
+-dnl Copyright (c) 2003-2010,2011 Free Software Foundation, Inc. *
++dnl Copyright (c) 2003-2012,2013 Free Software Foundation, Inc. *
+ dnl *
+ dnl Permission is hereby granted, free of charge, to any person obtaining a *
+ dnl copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ dnl authorization. *
+ dnl***************************************************************************
+ dnl
+-dnl $Id: aclocal.m4,v 1.50 2011/03/24 08:28:07 tom Exp $
++dnl $Id: aclocal.m4,v 1.86 2013/03/09 21:41:33 tom Exp $
+ dnl
+ dnl Author: Thomas E. Dickey
+ dnl
+@@ -40,6 +40,32 @@
+ dnl
+ dnl ---------------------------------------------------------------------------
+ dnl ---------------------------------------------------------------------------
++dnl CF_ACVERSION_CHECK version: 4 updated: 2013/03/04 19:52:56
++dnl ------------------
++dnl Conditionally generate script according to whether we're using a given autoconf.
++dnl
++dnl $1 = version to compare against
++dnl $2 = code to use if AC_ACVERSION is at least as high as $1.
++dnl $3 = code to use if AC_ACVERSION is older than $1.
++define([CF_ACVERSION_CHECK],
++[
++ifdef([AC_ACVERSION], ,[m4_copy([m4_PACKAGE_VERSION],[AC_ACVERSION])])dnl
++ifdef([m4_version_compare],
++[m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])],
++[CF_ACVERSION_COMPARE(
++AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])),
++AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_ACVERSION_COMPARE version: 3 updated: 2012/10/03 18:39:53
++dnl --------------------
++dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1,
++dnl MAJOR2, MINOR2, TERNARY2,
++dnl PRINTABLE2, not FOUND, FOUND)
++define([CF_ACVERSION_COMPARE],
++[ifelse(builtin([eval], [$2 < $5]), 1,
++[ifelse([$8], , ,[$8])],
++[ifelse([$9], , ,[$9])])])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_ADD_CFLAGS version: 10 updated: 2010/05/26 05:38:42
+ dnl -------------
+ dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
+@@ -272,76 +298,6 @@
+ }
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_ANSI_CC_CHECK version: 10 updated: 2010/10/23 15:52:32
+-dnl ----------------
+-dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
+-dnl in the sharutils 4.2 distribution.
+-AC_DEFUN([CF_ANSI_CC_CHECK],
+-[
+-AC_CACHE_CHECK(for ${CC:-cc} option to accept ANSI C, cf_cv_ansi_cc,[
+-cf_cv_ansi_cc=no
+-cf_save_CFLAGS="$CFLAGS"
+-cf_save_CPPFLAGS="$CPPFLAGS"
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc
+-# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
+-for cf_arg in "-DCC_HAS_PROTOS" \
+- "" \
+- -qlanglvl=ansi \
+- -std1 \
+- -Ae \
+- "-Aa -D_HPUX_SOURCE" \
+- -Xc
+-do
+- CF_ADD_CFLAGS($cf_arg)
+- AC_TRY_COMPILE(
+-[
+-#ifndef CC_HAS_PROTOS
+-#if !defined(__STDC__) || (__STDC__ != 1)
+-choke me
+-#endif
+-#endif
+-],[
+- int test (int i, double x);
+- struct s1 {int (*f) (int a);};
+- struct s2 {int (*f) (double a);};],
+- [cf_cv_ansi_cc="$cf_arg"; break])
+-done
+-CFLAGS="$cf_save_CFLAGS"
+-CPPFLAGS="$cf_save_CPPFLAGS"
+-])
+-
+-if test "$cf_cv_ansi_cc" != "no"; then
+-if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
+- CF_ADD_CFLAGS($cf_cv_ansi_cc)
+-else
+- AC_DEFINE(CC_HAS_PROTOS)
+-fi
+-fi
+-])dnl
+-dnl ---------------------------------------------------------------------------
+-dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54
+-dnl ---------------
+-dnl For programs that must use an ANSI compiler, obtain compiler options that
+-dnl will make it recognize prototypes. We'll do preprocessor checks in other
+-dnl macros, since tools such as unproto can fake prototypes, but only part of
+-dnl the preprocessor.
+-AC_DEFUN([CF_ANSI_CC_REQD],
+-[AC_REQUIRE([CF_ANSI_CC_CHECK])
+-if test "$cf_cv_ansi_cc" = "no"; then
+- AC_MSG_ERROR(
+-[Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto])
+-fi
+-])dnl
+-dnl ---------------------------------------------------------------------------
+ dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
+ dnl --------------
+ dnl Allow user to disable a normally-on option.
+@@ -377,7 +333,33 @@
+ ])dnl
+ ])])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59
++dnl CF_CC_ENV_FLAGS version: 1 updated: 2012/10/03 05:25:49
++dnl ---------------
++dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content
++dnl into CC. This will not help with broken scripts that wrap the compiler with
++dnl options, but eliminates a more common category of user confusion.
++AC_DEFUN([CF_CC_ENV_FLAGS],
++[
++# This should have been defined by AC_PROG_CC
++: ${CC:=cc}
++
++AC_MSG_CHECKING(\$CC variable)
++case "$CC" in #(vi
++*[[\ \ ]]-[[IUD]]*)
++ AC_MSG_RESULT(broken)
++ AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
++ # humor him...
++ cf_flags=`echo "$CC" | sed -e 's/^[[^ ]]*[[ ]]//'`
++ CC=`echo "$CC" | sed -e 's/[[ ]].*//'`
++ CF_ADD_CFLAGS($cf_flags)
++ ;;
++*)
++ AC_MSG_RESULT(ok)
++ ;;
++esac
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CHECK_CACHE version: 12 updated: 2012/10/02 20:55:03
+ dnl --------------
+ dnl Check if we're accidentally using a cache from a different machine.
+ dnl Derive the system name, as a check for reusing the autoconf cache.
+@@ -400,7 +382,7 @@
+ system_name="`(hostname) 2>/dev/null`"
+ fi
+ fi
+-test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
++test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name",[Define to the system name.])
+ AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
+
+ test -z "$system_name" && system_name="$cf_cv_system_name"
+@@ -434,7 +416,40 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_ACS_MAP version: 6 updated: 2010/10/23 15:54:49
++dnl CF_CLANG_COMPILER version: 1 updated: 2012/06/16 14:55:39
++dnl -----------------
++dnl Check if the given compiler is really clang. clang's C driver defines
++dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does
++dnl not ignore some gcc options.
++dnl
++dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
++dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
++dnl the wrappers for gcc and g++ warnings.
++dnl
++dnl $1 = GCC (default) or GXX
++dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
++dnl $3 = CFLAGS (default) or CXXFLAGS
++AC_DEFUN([CF_CLANG_COMPILER],[
++ifelse([$2],,CLANG_COMPILER,[$2])=no
++
++if test "$ifelse([$1],,[$1],GCC)" = yes ; then
++ AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler)
++ cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
++ ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments"
++ AC_TRY_COMPILE([],[
++#ifdef __clang__
++#else
++make an error
++#endif
++],[ifelse([$2],,CLANG_COMPILER,[$2])=yes
++cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
++],[])
++ ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
++ AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2]))
++fi
++])
++dnl ---------------------------------------------------------------------------
++dnl CF_CURSES_ACS_MAP version: 7 updated: 2012/10/06 16:39:58
+ dnl -----------------
+ dnl Check for likely values of acs_map[]:
+ AC_DEFUN([CF_CURSES_ACS_MAP],
+@@ -452,7 +467,7 @@
+ done
+ ])
+
+-test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map)
++test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map,[Define as needed to override ncurses prefix _nc_])
+ ])
+ dnl ---------------------------------------------------------------------------
+ dnl CF_CURSES_CHECK_DATA version: 4 updated: 2011/01/15 16:39:24
+@@ -499,7 +514,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_CHECK_TYPE version: 3 updated: 2010/10/23 15:54:49
++dnl CF_CURSES_CHECK_TYPE version: 4 updated: 2012/10/06 16:39:58
+ dnl --------------------
+ dnl Check if curses.h defines the given type
+ AC_DEFUN([CF_CURSES_CHECK_TYPE],
+@@ -515,9 +530,9 @@
+ AC_MSG_RESULT($cf_result)
+ if test $cf_result = yes ; then
+ CF_UPPER(cf_result,have_type_$1)
+- AC_DEFINE_UNQUOTED($cf_result)
++ AC_DEFINE_UNQUOTED($cf_result,1,[Define to 1 if we have type $1])
+ else
+- AC_DEFINE_UNQUOTED($1,$2)
++ AC_DEFINE_UNQUOTED($1,$2,[Define to appropriate type if $1 is not declared])
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+@@ -533,7 +548,7 @@
+ CF_CURSES_LIBS
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_CPPFLAGS version: 10 updated: 2009/01/06 19:34:11
++dnl CF_CURSES_CPPFLAGS version: 11 updated: 2011/04/09 14:51:08
+ dnl ------------------
+ dnl Look for the curses headers.
+ AC_DEFUN([CF_CURSES_CPPFLAGS],[
+@@ -542,13 +557,19 @@
+ cf_cv_curses_incdir=no
+ case $host_os in #(vi
+ hpux10.*) #(vi
+- test -d /usr/include/curses_colr && \
+- cf_cv_curses_incdir="-I/usr/include/curses_colr"
++ if test "x$cf_cv_screen" = "xcurses_colr"
++ then
++ test -d /usr/include/curses_colr && \
++ cf_cv_curses_incdir="-I/usr/include/curses_colr"
++ fi
+ ;;
+ sunos3*|sunos4*)
+- test -d /usr/5lib && \
+- test -d /usr/5include && \
+- cf_cv_curses_incdir="-I/usr/5include"
++ if test "x$cf_cv_screen" = "xcurses_5lib"
++ then
++ test -d /usr/5lib && \
++ test -d /usr/5include && \
++ cf_cv_curses_incdir="-I/usr/5include"
++ fi
+ ;;
+ esac
+ ])
+@@ -558,7 +579,7 @@
+ CF_TERM_HEADER
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_FUNCS version: 15 updated: 2010/10/23 15:52:32
++dnl CF_CURSES_FUNCS version: 17 updated: 2011/05/14 16:07:29
+ dnl ---------------
+ dnl Curses-functions are a little complicated, since a lot of them are macros.
+ AC_DEFUN([CF_CURSES_FUNCS],
+@@ -566,6 +587,7 @@
+ AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
+ AC_REQUIRE([CF_XOPEN_CURSES])
+ AC_REQUIRE([CF_CURSES_TERM_H])
++AC_REQUIRE([CF_CURSES_UNCTRL_H])
+ for cf_func in $1
+ do
+ CF_UPPER(cf_tr_func,$cf_func)
+@@ -578,7 +600,8 @@
+ [
+ #ifndef ${cf_func}
+ long foo = (long)(&${cf_func});
+-${cf_cv_main_return:-return}(foo == 0);
++if (foo + 1234 > 5678)
++ ${cf_cv_main_return:-return}(foo);
+ #endif
+ ],
+ [cf_result=yes],
+@@ -595,7 +618,7 @@
+ done
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_HEADER version: 2 updated: 2010/04/28 06:02:16
++dnl CF_CURSES_HEADER version: 3 updated: 2011/05/01 19:47:45
+ dnl ----------------
+ dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
+ dnl variations of ncurses' installs.
+@@ -605,10 +628,10 @@
+ AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[
+ cf_cv_ncurses_header=none
+ for cf_header in ifelse($1,,,[ \
+- $1/curses.h \
+- $1/ncurses.h]) \
+- curses.h \
+- ncurses.h ifelse($1,,[ncurses/curses.h ncurses/ncurses.h])
++ $1/ncurses.h \
++ $1/curses.h]) \
++ ncurses.h \
++ curses.h ifelse($1,,[ncurses/ncurses.h ncurses/curses.h])
+ do
+ AC_TRY_COMPILE([#include <${cf_header}>],
+ [initscr(); tgoto("?", 0,0)],
+@@ -624,7 +647,7 @@
+ AC_CHECK_HEADERS($cf_cv_ncurses_header)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_LIBS version: 33 updated: 2011/03/06 12:37:18
++dnl CF_CURSES_LIBS version: 37 updated: 2013/02/09 17:33:50
+ dnl --------------
+ dnl Look for the curses libraries. Older curses implementations may require
+ dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first.
+@@ -644,17 +667,24 @@
+ AC_CHECK_LIB(mytinfo,tgoto,[CF_ADD_LIBS(-lmytinfo)])
+ ;;
+ hpux10.*) #(vi
+- AC_CHECK_LIB(cur_colr,initscr,[
+- CF_ADD_LIBS(-lcur_colr)
+- ac_cv_func_initscr=yes
+- ],[
+- AC_CHECK_LIB(Hcurses,initscr,[
+- # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
+- CF_ADD_LIBS(-lHcurses)
+- CPPFLAGS="$CPPFLAGS -D__HP_CURSES -D_HP_CURSES"
+- ac_cv_func_initscr=yes
+- ])])
+- ;;
++ # Looking at HPUX 10.20, the Hcurses library is the oldest (1997), cur_colr
++ # next (1998), and xcurses "newer" (2000). There is no header file for
++ # Hcurses; the subdirectory curses_colr has the headers (curses.h and
++ # term.h) for cur_colr
++ if test "x$cf_cv_screen" = "xcurses_colr"
++ then
++ AC_CHECK_LIB(cur_colr,initscr,[
++ CF_ADD_LIBS(-lcur_colr)
++ ac_cv_func_initscr=yes
++ ],[
++ AC_CHECK_LIB(Hcurses,initscr,[
++ # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
++ CF_ADD_LIBS(-lHcurses)
++ CPPFLAGS="$CPPFLAGS -D__HP_CURSES -D_HP_CURSES"
++ ac_cv_func_initscr=yes
++ ])])
++ fi
++ ;;
+ linux*)
+ case `arch 2>/dev/null` in
+ x86_64)
+@@ -669,76 +699,83 @@
+ CF_ADD_LIBDIR(/lib)
+ ;;
+ esac
+- ;;
++ ;;
+ sunos3*|sunos4*)
+- if test -d /usr/5lib ; then
+- CF_ADD_LIBDIR(/usr/5lib)
+- CF_ADD_LIBS(-lcurses -ltermcap)
++ if test "x$cf_cv_screen" = "xcurses_5lib"
++ then
++ if test -d /usr/5lib ; then
++ CF_ADD_LIBDIR(/usr/5lib)
++ CF_ADD_LIBS(-lcurses -ltermcap)
++ fi
+ fi
+ ac_cv_func_initscr=yes
+ ;;
+ esac
+
+ if test ".$ac_cv_func_initscr" != .yes ; then
+- cf_save_LIBS="$LIBS"
+- cf_term_lib=""
+- cf_curs_lib=""
++ cf_save_LIBS="$LIBS"
+
+- if test ".${cf_cv_ncurses_version:-no}" != .no
+- then
+- cf_check_list="ncurses curses cursesX"
+- else
+- cf_check_list="cursesX curses ncurses"
+- fi
++ if test ".${cf_cv_ncurses_version:-no}" != .no
++ then
++ cf_check_list="ncurses curses cursesX"
++ else
++ cf_check_list="cursesX curses ncurses"
++ fi
+
+- # Check for library containing tgoto. Do this before curses library
+- # because it may be needed to link the test-case for initscr.
+- AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[
+- for cf_term_lib in $cf_check_list termcap termlib unknown
+- do
+- AC_CHECK_LIB($cf_term_lib,tgoto,[break])
+- done
+- ])
++ # Check for library containing tgoto. Do this before curses library
++ # because it may be needed to link the test-case for initscr.
++ if test "x$cf_term_lib" = x
++ then
++ AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[
++ for cf_term_lib in $cf_check_list otermcap termcap tinfo termlib unknown
++ do
++ AC_CHECK_LIB($cf_term_lib,tgoto,[break])
++ done
++ ])
++ fi
+
+- # Check for library containing initscr
+- test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
+- for cf_curs_lib in $cf_check_list xcurses jcurses pdcurses unknown
+- do
+- AC_CHECK_LIB($cf_curs_lib,initscr,[break])
+- done
+- test $cf_curs_lib = unknown && AC_MSG_ERROR(no curses library found)
++ # Check for library containing initscr
++ test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
++ if test "x$cf_curs_lib" = x
++ then
++ for cf_curs_lib in $cf_check_list xcurses jcurses pdcurses unknown
++ do
++ AC_CHECK_LIB($cf_curs_lib,initscr,[break])
++ done
++ fi
++ test $cf_curs_lib = unknown && AC_MSG_ERROR(no curses library found)
+
+- LIBS="-l$cf_curs_lib $cf_save_LIBS"
+- if test "$cf_term_lib" = unknown ; then
+- AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
+- AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
+- [initscr()],
+- [cf_result=yes],
+- [cf_result=no])
+- AC_MSG_RESULT($cf_result)
+- test $cf_result = no && AC_MSG_ERROR(Cannot link curses library)
+- elif test "$cf_curs_lib" = "$cf_term_lib" ; then
+- :
+- elif test "$cf_term_lib" != predefined ; then
+- AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries)
+- AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
+- [initscr(); tgoto((char *)0, 0, 0);],
+- [cf_result=no],
+- [
+- LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
+- AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
+- [initscr()],
+- [cf_result=yes],
+- [cf_result=error])
+- ])
+- AC_MSG_RESULT($cf_result)
+- fi
++ LIBS="-l$cf_curs_lib $cf_save_LIBS"
++ if test "$cf_term_lib" = unknown ; then
++ AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
++ AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
++ [initscr()],
++ [cf_result=yes],
++ [cf_result=no])
++ AC_MSG_RESULT($cf_result)
++ test $cf_result = no && AC_MSG_ERROR(Cannot link curses library)
++ elif test "$cf_curs_lib" = "$cf_term_lib" ; then
++ :
++ elif test "$cf_term_lib" != predefined ; then
++ AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries)
++ AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
++ [initscr(); tgoto((char *)0, 0, 0);],
++ [cf_result=no],
++ [
++ LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
++ AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
++ [initscr()],
++ [cf_result=yes],
++ [cf_result=error])
++ ])
++ AC_MSG_RESULT($cf_result)
++ fi
+ fi
+ fi
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_TERM_H version: 8 updated: 2010/10/23 15:54:49
++dnl CF_CURSES_TERM_H version: 10 updated: 2012/10/06 08:57:51
+ dnl ----------------
+ dnl SVr4 curses should have term.h as well (where it puts the definitions of
+ dnl the low-level interface). This may not be true in old/broken implementations,
+@@ -752,9 +789,17 @@
+
+ # If we found <ncurses/curses.h>, look for <ncurses/term.h>, but always look
+ # for <term.h> if we do not find the variant.
+-for cf_header in \
+- `echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%/.*%/%'`term.h \
+- term.h
++
++cf_header_list="term.h ncurses/term.h ncursesw/term.h"
++
++case ${cf_cv_ncurses_header:-curses.h} in #(vi
++*/*)
++ cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`term.h
++ cf_header_list="$cf_header_item $cf_header_list"
++ ;;
++esac
++
++for cf_header in $cf_header_list
+ do
+ AC_TRY_COMPILE([
+ #include <${cf_cv_ncurses_header:-curses.h}>
+@@ -789,18 +834,73 @@
+
+ case $cf_cv_term_header in #(vi
+ term.h) #(vi
+- AC_DEFINE(HAVE_TERM_H)
++ AC_DEFINE(HAVE_TERM_H,1,[Define to 1 if we have term.h])
+ ;;
+ ncurses/term.h) #(vi
+- AC_DEFINE(HAVE_NCURSES_TERM_H)
++ AC_DEFINE(HAVE_NCURSES_TERM_H,1,[Define to 1 if we have ncurses/term.h])
+ ;;
+ ncursesw/term.h)
+- AC_DEFINE(HAVE_NCURSESW_TERM_H)
++ AC_DEFINE(HAVE_NCURSESW_TERM_H,1,[Define to 1 if we have ncursesw/term.h])
++ ;;
++esac
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CURSES_UNCTRL_H version: 2 updated: 2012/10/06 08:57:51
++dnl ------------------
++dnl Any X/Open curses implementation must have unctrl.h, but ncurses packages
++dnl may put it in a subdirectory (along with ncurses' other headers, of
++dnl course). Packages which put the headers in inconsistent locations are
++dnl broken).
++AC_DEFUN([CF_CURSES_UNCTRL_H],
++[
++AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
++
++AC_CACHE_CHECK(for unctrl.h, cf_cv_unctrl_header,[
++
++# If we found <ncurses/curses.h>, look for <ncurses/unctrl.h>, but always look
++# for <unctrl.h> if we do not find the variant.
++
++cf_header_list="unctrl.h ncurses/unctrl.h ncursesw/unctrl.h"
++
++case ${cf_cv_ncurses_header:-curses.h} in #(vi
++*/*)
++ cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`unctrl.h
++ cf_header_list="$cf_header_item $cf_header_list"
++ ;;
++esac
++
++for cf_header in $cf_header_list
++do
++ AC_TRY_COMPILE([
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <${cf_header}>],
++ [WINDOW *x],
++ [cf_cv_unctrl_header=$cf_header
++ break],
++ [cf_cv_unctrl_header=no])
++done
++
++case $cf_cv_unctrl_header in #(vi
++no)
++ AC_MSG_WARN(unctrl.h header not found)
++ ;;
++esac
++])
++
++case $cf_cv_unctrl_header in #(vi
++unctrl.h) #(vi
++ AC_DEFINE(HAVE_UNCTRL_H,1,[Define to 1 if we have unctrl.h])
++ ;;
++ncurses/unctrl.h) #(vi
++ AC_DEFINE(HAVE_NCURSES_UNCTRL_H,1,[Define to 1 if we have ncurses/unctrl.h])
++ ;;
++ncursesw/unctrl.h)
++ AC_DEFINE(HAVE_NCURSESW_UNCTRL_H,1,[Define to 1 if we have ncursesw/unctrl.h])
+ ;;
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_WACS_MAP version: 5 updated: 2011/01/15 11:28:59
++dnl CF_CURSES_WACS_MAP version: 6 updated: 2012/10/06 08:57:51
+ dnl ------------------
+ dnl Check for likely values of wacs_map[].
+ AC_DEFUN([CF_CURSES_WACS_MAP],
+@@ -819,10 +919,10 @@
+ break])
+ done])
+
+-test "$cf_cv_curses_wacs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_WACS_ARRAY,$cf_cv_curses_wacs_map)
++test "$cf_cv_curses_wacs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_WACS_ARRAY,$cf_cv_curses_wacs_map,[Define to name of (n)curses wide-character array])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_CURSES_WACS_SYMBOLS version: 1 updated: 2011/01/15 11:28:59
++dnl CF_CURSES_WACS_SYMBOLS version: 2 updated: 2012/10/06 08:57:51
+ dnl ----------------------
+ dnl Do a check to see if the WACS_xxx constants are defined compatibly with
+ dnl X/Open Curses. In particular, NetBSD's implementation of the WACS_xxx
+@@ -854,7 +954,7 @@
+ fi
+ ])
+
+-test "$cf_cv_curses_wacs_symbols" != no && AC_DEFINE(CURSES_WACS_SYMBOLS)
++test "$cf_cv_curses_wacs_symbols" != no && AC_DEFINE(CURSES_WACS_SYMBOLS,1,[Define to 1 if (n)curses supports wide-character WACS_ symbols])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
+@@ -862,7 +962,7 @@
+ dnl "dirname" is not portable, so we fake it with a shell script.
+ AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_DISABLE_ECHO version: 11 updated: 2009/12/13 13:16:57
++dnl CF_DISABLE_ECHO version: 12 updated: 2012/10/06 16:30:28
+ dnl ---------------
+ dnl You can always use "make -n" to see the actual options, but it's hard to
+ dnl pick out/analyze warning messages when the compile-line is long.
+@@ -877,7 +977,7 @@
+ AC_DEFUN([CF_DISABLE_ECHO],[
+ AC_MSG_CHECKING(if you want to see long compiling messages)
+ CF_ARG_DISABLE(echo,
+- [ --disable-echo display "compiling" commands],
++ [ --disable-echo do not display "compiling" commands],
+ [
+ ECHO_LT='--silent'
+ ECHO_LD='@echo linking [$]@;'
+@@ -899,7 +999,7 @@
+ AC_SUBST(ECHO_CC)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_DISABLE_LEAKS version: 6 updated: 2010/07/23 04:14:32
++dnl CF_DISABLE_LEAKS version: 7 updated: 2012/10/02 20:55:03
+ dnl ----------------
+ dnl Combine no-leak checks with the libraries or tools that are used for the
+ dnl checks.
+@@ -917,11 +1017,30 @@
+ AC_MSG_RESULT($with_no_leaks)
+
+ if test "$with_no_leaks" = yes ; then
+- AC_DEFINE(NO_LEAKS)
+- AC_DEFINE(YY_NO_LEAKS)
++ AC_DEFINE(NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.])
++ AC_DEFINE(YY_NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.])
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_DISABLE_RPATH_HACK version: 2 updated: 2011/02/13 13:31:33
++dnl ---------------------
++dnl The rpath-hack makes it simpler to build programs, particularly with the
++dnl *BSD ports which may have essential libraries in unusual places. But it
++dnl can interfere with building an executable for the base system. Use this
++dnl option in that case.
++AC_DEFUN([CF_DISABLE_RPATH_HACK],
++[
++AC_MSG_CHECKING(if rpath-hack should be disabled)
++CF_ARG_DISABLE(rpath-hack,
++ [ --disable-rpath-hack don't add rpath options for additional libraries],
++ [cf_disable_rpath_hack=yes],
++ [cf_disable_rpath_hack=no])
++AC_MSG_RESULT($cf_disable_rpath_hack)
++if test "$cf_disable_rpath_hack" = no ; then
++ CF_RPATH_HACK
++fi
++])
++dnl ---------------------------------------------------------------------------
+ dnl CF_ENABLE_WARNINGS version: 4 updated: 2009/07/26 17:53:03
+ dnl ------------------
+ dnl Configure-option to enable gcc warnings
+@@ -1122,7 +1241,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_FUNC_CURSES_VERSION version: 5 updated: 2010/10/23 15:54:49
++dnl CF_FUNC_CURSES_VERSION version: 6 updated: 2012/10/06 16:39:58
+ dnl ----------------------
+ dnl Solaris has a data item 'curses_version', which confuses AC_CHECK_FUNCS.
+ dnl It's a character string "SVR4", not documented.
+@@ -1141,10 +1260,10 @@
+ ,[cf_cv_func_curses_version=no]
+ ,[cf_cv_func_curses_version=unknown])
+ rm -f core])
+-test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION)
++test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION,1,[Define to 1 if we have curses_version function])
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_ATTRIBUTES version: 14 updated: 2010/10/23 15:52:32
++dnl CF_GCC_ATTRIBUTES version: 16 updated: 2012/10/02 20:55:03
+ dnl -----------------
+ dnl Test for availability of useful gcc __attribute__ directives to quiet
+ dnl compiler warnings. Though useful, not all are supported -- and contrary
+@@ -1222,27 +1341,27 @@
+ test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
+ cat conftest.h >>confdefs.h
+ case $cf_attribute in #(vi
++ noreturn) #(vi
++ AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc])
++ ;;
+ printf) #(vi
+- if test "$cf_printf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+-EOF
++ cf_value='/* nothing */'
++ if test "$cf_printf_attribute" != no ; then
++ cf_value='__attribute__((format(printf,fmt,var)))'
++ AC_DEFINE(GCC_PRINTF,1,[Define to 1 if the compiler supports gcc-like printf attribute.])
+ fi
++ AC_DEFINE_UNQUOTED(GCC_PRINTFLIKE(fmt,var),$cf_value,[Define to printf-attribute for gcc])
+ ;;
+ scanf) #(vi
+- if test "$cf_scanf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+-EOF
++ cf_value='/* nothing */'
++ if test "$cf_scanf_attribute" != no ; then
++ cf_value='__attribute__((format(scanf,fmt,var)))'
++ AC_DEFINE(GCC_SCANF,1,[Define to 1 if the compiler supports gcc-like scanf attribute.])
+ fi
++ AC_DEFINE_UNQUOTED(GCC_SCANFLIKE(fmt,var),$cf_value,[Define to sscanf-attribute for gcc])
++ ;;
++ unused) #(vi
++ AC_DEFINE_UNQUOTED(GCC_UNUSED,$cf_directive,[Define to unused-attribute for gcc])
+ ;;
+ esac
+ fi
+@@ -1254,7 +1373,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_VERSION version: 5 updated: 2010/04/24 11:02:31
++dnl CF_GCC_VERSION version: 7 updated: 2012/10/18 06:46:33
+ dnl --------------
+ dnl Find version of gcc
+ AC_DEFUN([CF_GCC_VERSION],[
+@@ -1262,13 +1381,13 @@
+ GCC_VERSION=none
+ if test "$GCC" = yes ; then
+ AC_MSG_CHECKING(version of $CC)
+- GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
++ GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[[^)]]*) //' -e 's/^.*(Debian[[^)]]*) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
+ test -z "$GCC_VERSION" && GCC_VERSION=unknown
+ AC_MSG_RESULT($GCC_VERSION)
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_GCC_WARNINGS version: 27 updated: 2010/10/23 15:52:32
++dnl CF_GCC_WARNINGS version: 29 updated: 2012/06/16 14:55:39
+ dnl ---------------
+ dnl Check if the compiler supports useful warning options. There's a few that
+ dnl we don't use, simply because they're too noisy:
+@@ -1291,6 +1410,7 @@
+ [
+ AC_REQUIRE([CF_GCC_VERSION])
+ CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
++CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS)
+
+ cat > conftest.$ac_ext <<EOF
+ #line __oline__ "${as_me:-configure}"
+@@ -1366,6 +1486,13 @@
+ continue;;
+ esac
+ ;;
++ Wpointer-arith) #(vi
++ case $GCC_VERSION in
++ [[12]].*)
++ CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
++ continue;;
++ esac
++ ;;
+ esac
+ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+ fi
+@@ -1377,6 +1504,29 @@
+ AC_SUBST(EXTRA_CFLAGS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_GETOPT_HEADER version: 5 updated: 2012/10/06 16:39:58
++dnl ----------------
++dnl Check for getopt's variables which are commonly defined in stdlib.h,
++dnl unistd.h or (nonstandard) in getopt.h
++AC_DEFUN([CF_GETOPT_HEADER],
++[
++AC_HAVE_HEADERS(unistd.h getopt.h)
++AC_CACHE_CHECK(for header declaring getopt variables,cf_cv_getopt_header,[
++cf_cv_getopt_header=none
++for cf_header in stdio.h stdlib.h unistd.h getopt.h
++do
++AC_TRY_COMPILE([
++#include <$cf_header>],
++[int x = optind; char *y = optarg],
++[cf_cv_getopt_header=$cf_header
++ break])
++done
++])
++if test $cf_cv_getopt_header != none ; then
++ AC_DEFINE(HAVE_GETOPT_HEADER,1,[Define to 1 if we need to include getopt.h])
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07
+ dnl -------------
+ dnl Check if we must define _GNU_SOURCE to get a reasonable value for
+@@ -1453,6 +1603,13 @@
+ $1="[$]$1 $cf_header_path_list"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
++dnl ---------------
++dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
++AC_DEFUN([CF_HELP_MESSAGE],
++[AC_DIVERT_HELP([$1])dnl
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_INHERIT_SCRIPT version: 2 updated: 2003/03/01 23:50:42
+ dnl -----------------
+ dnl If we do not have a given script, look for it in the parent directory.
+@@ -1461,7 +1618,7 @@
+ test -f $1 || ( test -f ../$1 && cp ../$1 ./ )
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_INTEL_COMPILER version: 4 updated: 2010/05/26 05:38:42
++dnl CF_INTEL_COMPILER version: 5 updated: 2013/02/10 10:41:05
+ dnl -----------------
+ dnl Check if the given compiler is really the Intel compiler for Linux. It
+ dnl tries to imitate gcc, but does not return an error when it finds a mismatch
+@@ -1475,6 +1632,7 @@
+ dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
+ dnl $3 = CFLAGS (default) or CXXFLAGS
+ AC_DEFUN([CF_INTEL_COMPILER],[
++AC_REQUIRE([AC_CANONICAL_HOST])
+ ifelse([$2],,INTEL_COMPILER,[$2])=no
+
+ if test "$ifelse([$1],,[$1],GCC)" = yes ; then
+@@ -1498,6 +1656,60 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41
++dnl ---------------
++dnl For the given system and compiler, find the compiler flags to pass to the
++dnl loader to use the "rpath" feature.
++AC_DEFUN([CF_LD_RPATH_OPT],
++[
++AC_REQUIRE([CF_CHECK_CACHE])
++
++LD_RPATH_OPT=
++AC_MSG_CHECKING(for an rpath option)
++case $cf_cv_system_name in #(vi
++irix*) #(vi
++ if test "$GCC" = yes; then
++ LD_RPATH_OPT="-Wl,-rpath,"
++ else
++ LD_RPATH_OPT="-rpath "
++ fi
++ ;;
++linux*|gnu*|k*bsd*-gnu) #(vi
++ LD_RPATH_OPT="-Wl,-rpath,"
++ ;;
++openbsd[[2-9]].*|mirbsd*) #(vi
++ LD_RPATH_OPT="-Wl,-rpath,"
++ ;;
++dragonfly*|freebsd*) #(vi
++ LD_RPATH_OPT="-rpath "
++ ;;
++netbsd*) #(vi
++ LD_RPATH_OPT="-Wl,-rpath,"
++ ;;
++osf*|mls+*) #(vi
++ LD_RPATH_OPT="-rpath "
++ ;;
++solaris2*) #(vi
++ LD_RPATH_OPT="-R"
++ ;;
++*)
++ ;;
++esac
++AC_MSG_RESULT($LD_RPATH_OPT)
++
++case "x$LD_RPATH_OPT" in #(vi
++x-R*)
++ AC_MSG_CHECKING(if we need a space after rpath option)
++ cf_save_LIBS="$LIBS"
++ CF_ADD_LIBS(${LD_RPATH_OPT}$libdir)
++ AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
++ LIBS="$cf_save_LIBS"
++ AC_MSG_RESULT($cf_rpath_space)
++ test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
++ ;;
++esac
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_LIBRARY_PATH version: 9 updated: 2010/03/28 12:52:50
+ dnl ---------------
+ dnl Construct a search-list of directories for a nonstandard library-file
+@@ -1588,38 +1800,7 @@
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_MIN_GETCCHAR version: 3 updated: 2010/10/23 15:54:49
+-dnl ---------------
+-dnl CF_MIN_GETCCHAR
+-dnl Check whether getcchar's return value counts the trailing null in a wchar_t
+-dnl string, or not. X/Open says it does, but Tru64 and Solaris do not do this.
+-AC_DEFUN([CF_MIN_GETCCHAR],[
+-AC_CACHE_CHECK(if getcchar counts trailing null,cf_cv_min_getcchar,[
+-AC_TRY_RUN([
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-
+-int main()
+-{
+- wchar_t data[2];
+- cchar_t temp[2];
+- int count;
+- data[0] = L'\0';
+- setcchar(temp, data, 0, 0, (void *)0);
+- count = getcchar(temp, (wchar_t *)0, (attr_t *)0, (short *)0, (void *)0);
+- ${cf_cv_main_return:-return}(count != 0);
+-}],
+- [cf_cv_min_getcchar=no],
+- [cf_cv_min_getcchar=yes],
+- [cf_cv_min_getcchar=yes])
+-])
+-if test "$cf_cv_min_getcchar" = yes ; then
+- AC_DEFINE(MIN_GETCCHAR,1)
+-fi
+-])dnl
+-dnl ---------------------------------------------------------------------------
+-dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
++dnl CF_MIXEDCASE_FILENAMES version: 4 updated: 2012/10/02 20:55:03
+ dnl ----------------------
+ dnl Check if the file-system supports mixed-case filenames. If we're able to
+ dnl create a lowercase name and see it as uppercase, it doesn't support that.
+@@ -1646,7 +1827,7 @@
+ rm -f conftest CONFTEST
+ fi
+ ])
+-test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
++test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if filesystem supports mixed-case filenames.])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_MSG_LOG version: 5 updated: 2010/10/23 15:52:32
+@@ -1690,7 +1871,7 @@
+ ,[$1=no])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_CONFIG version: 8 updated: 2010/07/08 05:17:30
++dnl CF_NCURSES_CONFIG version: 10 updated: 2012/10/06 08:57:51
+ dnl -----------------
+ dnl Tie together the configure-script macros for ncurses.
+ dnl Prefer the "-config" script from ncurses 6.x, to simplify analysis.
+@@ -1702,7 +1883,10 @@
+ cf_ncuconfig_root=ifelse($1,,ncurses,$1)
+
+ echo "Looking for ${cf_ncuconfig_root}-config"
+-AC_PATH_PROGS(NCURSES_CONFIG,${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config,none)
++
++CF_ACVERSION_CHECK(2.52,
++ [AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)],
++ [AC_PATH_PROGS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)])
+
+ if test "$NCURSES_CONFIG" != none ; then
+
+@@ -1713,7 +1897,7 @@
+ CF_CURSES_HEADER(ifelse($1,,ncurses,$1))
+
+ dnl like CF_NCURSES_CPPFLAGS
+-AC_DEFINE(NCURSES)
++AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
+
+ dnl like CF_NCURSES_LIBS
+ CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncuconfig_root)
+@@ -1730,7 +1914,7 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_CPPFLAGS version: 20 updated: 2010/11/20 17:02:38
++dnl CF_NCURSES_CPPFLAGS version: 21 updated: 2012/10/06 08:57:51
+ dnl -------------------
+ dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting
+ dnl the CPPFLAGS variable so we can include its header.
+@@ -1776,12 +1960,12 @@
+ CF_TERM_HEADER
+
+ # some applications need this, but should check for NCURSES_VERSION
+-AC_DEFINE(NCURSES)
++AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
+
+ CF_NCURSES_VERSION
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_EXT_FUNCS version: 3 updated: 2010/11/13 19:43:23
++dnl CF_NCURSES_EXT_FUNCS version: 4 updated: 2012/10/06 16:39:58
+ dnl --------------------
+ dnl Since 2007/11/17, ncurses has defined NCURSES_EXT_FUNCS; earlier versions
+ dnl may provide these functions. Define the symbol if it is not defined, and
+@@ -1813,10 +1997,10 @@
+ [cf_cv_ncurses_ext_funcs=no])
+ ])
+ ])
+-test "$cf_cv_ncurses_ext_funcs" = yes && AC_DEFINE(NCURSES_EXT_FUNCS)
++test "$cf_cv_ncurses_ext_funcs" = yes && AC_DEFINE(NCURSES_EXT_FUNCS,1,[Define to 1 if we have ncurses extensions])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_HEADER version: 2 updated: 2008/03/23 14:48:54
++dnl CF_NCURSES_HEADER version: 3 updated: 2012/10/06 08:57:51
+ dnl -----------------
+ dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
+ dnl variations of ncurses' installs.
+@@ -1867,16 +2051,16 @@
+
+ case $cf_cv_ncurses_header in # (vi
+ *ncurses.h)
+- AC_DEFINE(HAVE_NCURSES_H)
++ AC_DEFINE(HAVE_NCURSES_H,1,[Define to 1 if we have ncurses.h])
+ ;;
+ esac
+
+ case $cf_cv_ncurses_header in # (vi
+ ncurses/curses.h|ncurses/ncurses.h)
+- AC_DEFINE(HAVE_NCURSES_NCURSES_H)
++ AC_DEFINE(HAVE_NCURSES_NCURSES_H,1,[Define to 1 if we have ncurses/ncurses.h])
+ ;;
+ ncursesw/curses.h|ncursesw/ncurses.h)
+- AC_DEFINE(HAVE_NCURSESW_NCURSES_H)
++ AC_DEFINE(HAVE_NCURSESW_NCURSES_H,1,[Define to 1 if we have ncursesw/ncurses.h])
+ ;;
+ esac
+
+@@ -1950,7 +2134,7 @@
+ AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NCURSES_VERSION version: 13 updated: 2010/10/23 15:54:49
++dnl CF_NCURSES_VERSION version: 14 updated: 2012/10/06 08:57:51
+ dnl ------------------
+ dnl Check for the version of ncurses, to aid in reporting bugs, etc.
+ dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use
+@@ -2009,7 +2193,7 @@
+ ])
+ rm -f $cf_tempfile
+ ])
+-test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES)
++test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_NCURSES_WRAP_PREFIX version: 1 updated: 2009/03/28 16:08:10
+@@ -2028,7 +2212,7 @@
+ AC_SUBST(NCURSES_WRAP_PREFIX)
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NETBSD_FORM_H version: 1 updated: 2011/01/15 14:59:18
++dnl CF_NETBSD_FORM_H version: 2 updated: 2012/10/06 16:39:58
+ dnl ----------------
+ dnl Check for NetBSD's form.h, which is incompatible with SVr4 and ncurses.
+ dnl Some workarounds are needed in client programs to allow them to compile.
+@@ -2045,10 +2229,10 @@
+ ],[cf_cv_netbsd_form_h=no])
+ ])
+
+-test "$cf_cv_netbsd_form_h" = yes && AC_DEFINE(HAVE_NETBSD_FORM_H)
++test "$cf_cv_netbsd_form_h" = yes && AC_DEFINE(HAVE_NETBSD_FORM_H,1,[Define to 1 if we appear to be using NetBSD form.h])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NETBSD_MENU_H version: 1 updated: 2011/01/15 14:59:18
++dnl CF_NETBSD_MENU_H version: 2 updated: 2012/10/06 16:39:58
+ dnl ----------------
+ dnl Check for NetBSD's menu.h, which is incompatible with SVr4 and ncurses.
+ dnl Some workarounds are needed in client programs to allow them to compile.
+@@ -2064,17 +2248,17 @@
+ ],[cf_cv_netbsd_menu_h=no])
+ ])
+
+-test "$cf_cv_netbsd_menu_h" = yes && AC_DEFINE(HAVE_NETBSD_MENU_H)
++test "$cf_cv_netbsd_menu_h" = yes && AC_DEFINE(HAVE_NETBSD_MENU_H,1,[Define to 1 if we appear to be using NetBSD menu.h])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
++dnl CF_NO_LEAKS_OPTION version: 5 updated: 2012/10/02 20:55:03
+ dnl ------------------
+ dnl see CF_WITH_NO_LEAKS
+ AC_DEFUN([CF_NO_LEAKS_OPTION],[
+ AC_MSG_CHECKING(if you want to use $1 for testing)
+ AC_ARG_WITH($1,
+ [$2],
+- [AC_DEFINE($3)ifelse([$4],,[
++ [AC_DEFINE_UNQUOTED($3,1,"Define to 1 if you want to use $1 for testing.")ifelse([$4],,[
+ $4
+ ])
+ : ${with_cflags:=-g}
+@@ -2096,7 +2280,7 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PATH_SYNTAX version: 13 updated: 2010/05/26 05:38:42
++dnl CF_PATH_SYNTAX version: 14 updated: 2012/06/19 20:58:54
+ dnl --------------
+ dnl Check the argument to see that it looks like a pathname. Rewrite it if it
+ dnl begins with one of the prefix/exec_prefix variables, and then again if the
+@@ -2116,7 +2300,7 @@
+ ;;
+ .[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
+ ;;
+-.\[$]{*prefix}*) #(vi
++.\[$]{*prefix}*|.\[$]{*dir}*) #(vi
+ eval $1="[$]$1"
+ case ".[$]$1" in #(vi
+ .NONE/*)
+@@ -2133,13 +2317,15 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PDCURSES_X11 version: 11 updated: 2011/01/15 18:45:38
++dnl CF_PDCURSES_X11 version: 13 updated: 2012/10/06 16:39:58
+ dnl ---------------
+ dnl Configure for PDCurses' X11 library
+ AC_DEFUN([CF_PDCURSES_X11],[
+ AC_REQUIRE([CF_X_ATHENA])
+
+-AC_PATH_PROGS(XCURSES_CONFIG,xcurses-config,none)
++CF_ACVERSION_CHECK(2.52,
++ [AC_CHECK_TOOLS(XCURSES_CONFIG, xcurses-config, none)],
++ [AC_PATH_PROGS(XCURSES_CONFIG, xcurses-config, none)])
+
+ if test "$XCURSES_CONFIG" != none ; then
+
+@@ -2168,15 +2354,15 @@
+ fi
+
+ if test $cf_cv_lib_XCurses = yes ; then
+- AC_DEFINE(UNIX)
+- AC_DEFINE(XCURSES)
+- AC_CHECK_HEADER(xcurses.h, AC_DEFINE(HAVE_XCURSES))
++ AC_DEFINE(UNIX,1,[Define to 1 if using PDCurses on Unix])
++ AC_DEFINE(XCURSES,1,[Define to 1 if using PDCurses on Unix])
++ AC_CHECK_HEADER(xcurses.h, AC_DEFINE(HAVE_XCURSES,1,[Define to 1 if using PDCurses on Unix]))
+ else
+ AC_MSG_ERROR(Cannot link with XCurses)
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PKG_CONFIG version: 4 updated: 2011/02/18 20:26:24
++dnl CF_PKG_CONFIG version: 7 updated: 2011/04/29 04:53:22
+ dnl -------------
+ dnl Check for the package-config program, unless disabled by command-line.
+ AC_DEFUN([CF_PKG_CONFIG],
+@@ -2193,7 +2379,9 @@
+ PKG_CONFIG=none
+ ;;
+ yes) #(vi
+- AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)
++ CF_ACVERSION_CHECK(2.52,
++ [AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)],
++ [AC_PATH_PROG(PKG_CONFIG, pkg-config, none)])
+ ;;
+ *)
+ PKG_CONFIG=$withval
+@@ -2305,29 +2493,17 @@
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_PROG_CC_U_D version: 1 updated: 2005/07/14 16:59:30
+-dnl --------------
+-dnl Check if C (preprocessor) -U and -D options are processed in the order
+-dnl given rather than by type of option. Some compilers insist on apply all
+-dnl of the -U options after all of the -D options. Others allow mixing them,
+-dnl and may predefine symbols that conflict with those we define.
+-AC_DEFUN([CF_PROG_CC_U_D],
+-[
+-AC_CACHE_CHECK(if $CC -U and -D options work together,cf_cv_cc_u_d_options,[
+- cf_save_CPPFLAGS="$CPPFLAGS"
+- CPPFLAGS="-UU_D_OPTIONS -DU_D_OPTIONS -DD_U_OPTIONS -UD_U_OPTIONS"
+- AC_TRY_COMPILE([],[
+-#ifndef U_D_OPTIONS
+-make an undefined-error
+-#endif
+-#ifdef D_U_OPTIONS
+-make a defined-error
+-#endif
+- ],[
+- cf_cv_cc_u_d_options=yes],[
+- cf_cv_cc_u_d_options=no])
+- CPPFLAGS="$cf_save_CPPFLAGS"
+-])
++dnl CF_PROG_CC version: 3 updated: 2012/10/06 15:31:55
++dnl ----------
++dnl standard check for CC, plus followup sanity checks
++dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name
++AC_DEFUN([CF_PROG_CC],[
++ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)])
++CF_GCC_VERSION
++CF_ACVERSION_CHECK(2.52,
++ [AC_PROG_CC_STDC],
++ [CF_ANSI_CC_REQD])
++CF_CC_ENV_FLAGS
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_PROG_INSTALL version: 5 updated: 2002/12/21 22:46:07
+@@ -2373,7 +2549,122 @@
+ -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[$]//g'`
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SIG_ATOMIC_T version: 2 updated: 2005/09/18 17:27:12
++dnl CF_RPATH_HACK version: 9 updated: 2011/02/13 13:31:33
++dnl -------------
++AC_DEFUN([CF_RPATH_HACK],
++[
++AC_REQUIRE([CF_LD_RPATH_OPT])
++AC_MSG_CHECKING(for updated LDFLAGS)
++if test -n "$LD_RPATH_OPT" ; then
++ AC_MSG_RESULT(maybe)
++
++ AC_CHECK_PROGS(cf_ldd_prog,ldd,no)
++ cf_rpath_list="/usr/lib /lib"
++ if test "$cf_ldd_prog" != no
++ then
++ cf_rpath_oops=
++
++AC_TRY_LINK([#include <stdio.h>],
++ [printf("Hello");],
++ [cf_rpath_oops=`$cf_ldd_prog conftest$ac_exeext | fgrep ' not found' | sed -e 's% =>.*$%%' |sort -u`
++ cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[[ ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort -u`])
++
++ # If we passed the link-test, but get a "not found" on a given library,
++ # this could be due to inept reconfiguration of gcc to make it only
++ # partly honor /usr/local/lib (or whatever). Sometimes this behavior
++ # is intentional, e.g., installing gcc in /usr/bin and suppressing the
++ # /usr/local libraries.
++ if test -n "$cf_rpath_oops"
++ then
++ for cf_rpath_src in $cf_rpath_oops
++ do
++ for cf_rpath_dir in \
++ /usr/local \
++ /usr/pkg \
++ /opt/sfw
++ do
++ if test -f $cf_rpath_dir/lib/$cf_rpath_src
++ then
++ CF_VERBOSE(...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src)
++ LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib"
++ break
++ fi
++ done
++ done
++ fi
++ fi
++
++ CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS)
++
++ CF_RPATH_HACK_2(LDFLAGS)
++ CF_RPATH_HACK_2(LIBS)
++
++ CF_VERBOSE(...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS)
++fi
++AC_SUBST(EXTRA_LDFLAGS)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_RPATH_HACK_2 version: 6 updated: 2010/04/17 16:31:24
++dnl ---------------
++dnl Do one set of substitutions for CF_RPATH_HACK, adding an rpath option to
++dnl EXTRA_LDFLAGS for each -L option found.
++dnl
++dnl $cf_rpath_list contains a list of directories to ignore.
++dnl
++dnl $1 = variable name to update. The LDFLAGS variable should be the only one,
++dnl but LIBS often has misplaced -L options.
++AC_DEFUN([CF_RPATH_HACK_2],
++[
++CF_VERBOSE(...checking $1 [$]$1)
++
++cf_rpath_dst=
++for cf_rpath_src in [$]$1
++do
++ case $cf_rpath_src in #(vi
++ -L*) #(vi
++
++ # check if this refers to a directory which we will ignore
++ cf_rpath_skip=no
++ if test -n "$cf_rpath_list"
++ then
++ for cf_rpath_item in $cf_rpath_list
++ do
++ if test "x$cf_rpath_src" = "x-L$cf_rpath_item"
++ then
++ cf_rpath_skip=yes
++ break
++ fi
++ done
++ fi
++
++ if test "$cf_rpath_skip" = no
++ then
++ # transform the option
++ if test "$LD_RPATH_OPT" = "-R " ; then
++ cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%-R %"`
++ else
++ cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%$LD_RPATH_OPT%"`
++ fi
++
++ # if we have not already added this, add it now
++ cf_rpath_tst=`echo "$EXTRA_LDFLAGS" | sed -e "s%$cf_rpath_tmp %%"`
++ if test "x$cf_rpath_tst" = "x$EXTRA_LDFLAGS"
++ then
++ CF_VERBOSE(...Filter $cf_rpath_src ->$cf_rpath_tmp)
++ EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
++ fi
++ fi
++ ;;
++ esac
++ cf_rpath_dst="$cf_rpath_dst $cf_rpath_src"
++done
++$1=$cf_rpath_dst
++
++CF_VERBOSE(...checked $1 [$]$1)
++AC_SUBST(EXTRA_LDFLAGS)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_SIG_ATOMIC_T version: 3 updated: 2012/10/04 20:12:20
+ dnl ---------------
+ dnl signal handler, but there are some gcc depedencies in that recommendation.
+ dnl Try anyway.
+@@ -2405,7 +2696,7 @@
+ done
+ ])
+ AC_MSG_RESULT($cf_cv_sig_atomic_t)
+-test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t)
++test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t,[Define to signal global datatype])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+ dnl CF_SUBDIR_PATH version: 6 updated: 2010/04/21 06:20:50
+@@ -2425,7 +2716,7 @@
+ CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40
++dnl CF_SYS_TIME_SELECT version: 5 updated: 2012/10/04 05:24:07
+ dnl ------------------
+ dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
+ dnl older SCO configurations.
+@@ -2445,10 +2736,10 @@
+ [cf_cv_sys_time_select=no])
+ ])
+ AC_MSG_RESULT($cf_cv_sys_time_select)
+-test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
++test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT,1,[Define to 1 if we can include <sys/time.h> with <sys/select.h>])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_TERM_HEADER version: 2 updated: 2010/10/23 15:54:49
++dnl CF_TERM_HEADER version: 3 updated: 2012/10/06 08:57:51
+ dnl --------------
+ dnl Look for term.h, which is part of X/Open curses. It defines the interface
+ dnl to terminfo database. Usually it is in the same include-path as curses.h,
+@@ -2481,20 +2772,73 @@
+
+ case $cf_cv_term_header in # (vi
+ *term.h)
+- AC_DEFINE(HAVE_TERM_H)
++ AC_DEFINE(HAVE_TERM_H,1,[Define to 1 if we have term.h])
+ ;;
+ esac
+
+ case $cf_cv_term_header in # (vi
+ ncurses/term.h) #(vi
+- AC_DEFINE(HAVE_NCURSES_TERM_H)
++ AC_DEFINE(HAVE_NCURSES_TERM_H,1,[Define to 1 if we have ncurses/term.h])
+ ;;
+ ncursesw/term.h)
+- AC_DEFINE(HAVE_NCURSESW_TERM_H)
++ AC_DEFINE(HAVE_NCURSESW_TERM_H,1,[Define to 1 if we have ncursesw/term.h])
+ ;;
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_TOP_BUILDDIR version: 1 updated: 2006/10/15 16:33:23
++dnl ---------------
++dnl Define a top_builddir symbol, for applications that need an absolute path.
++AC_DEFUN([CF_TOP_BUILDDIR],
++[
++top_builddir=`pwd`
++AC_SUBST(top_builddir)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_TPUTS_PROTO version: 2 updated: 2011/04/23 19:25:50
++dnl --------------
++dnl Check for type of function-pointer passed to tputs. Some old
++dnl implementations used functions that had different prototypes, making it
++dnl hard to compile portable programs using tputs.
++AC_DEFUN([CF_TPUTS_PROTO],[
++CF_CURSES_FUNCS(tputs)
++if test x$cf_cv_func_tputs = xyes
++then
++ cf_done=no
++ for cf_arg in int char
++ do
++ for cf_ret in int void
++ do
++ if test $cf_ret = void
++ then
++ cf_return="/* nothing */"
++ else
++ cf_return="return value"
++ fi
++ AC_TRY_COMPILE([
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <$cf_cv_term_header>
++
++static $cf_ret outc($cf_arg value) { $cf_return; }
++],[
++ tputs("hello", 0, outc);
++ ${cf_cv_main_return:-return}(0);
++],[
++ CF_VERBOSE([prototype $cf_ret func($cf_arg value)])
++ cat >>confdefs.h <<EOF
++#define TPUTS_ARG $cf_arg
++#define TPUTS_PROTO(func,value) $cf_ret func(TPUTS_ARG value)
++#define TPUTS_RETURN(value) $cf_return
++EOF
++ cf_done=yes
++ break
++])
++ done
++ test $cf_done = yes && break
++ done
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_TRY_PKG_CONFIG version: 4 updated: 2010/06/14 17:42:30
+ dnl -----------------
+ dnl This is a simple wrapper to use for pkg-config, for libraries which may be
+@@ -2520,6 +2864,45 @@
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
++dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50
++dnl -------------------
++dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we
++dnl can define it successfully.
++AC_DEFUN([CF_TRY_XOPEN_SOURCE],[
++AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++],[
++#ifndef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_cv_xopen_source=no],
++ [cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++],[
++#ifdef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_cv_xopen_source=no],
++ [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
++ CPPFLAGS="$cf_save"
++ ])
++])
++
++if test "$cf_cv_xopen_source" != no ; then
++ CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
++ CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
++ CF_ADD_CFLAGS($cf_temp_xopen_source)
++fi
++])
++dnl ---------------------------------------------------------------------------
+ dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
+ dnl --------
+ dnl Make an uppercase version of a variable
+@@ -2529,7 +2912,7 @@
+ $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_UTF8_LIB version: 7 updated: 2010/06/20 09:24:28
++dnl CF_UTF8_LIB version: 8 updated: 2012/10/06 08:57:51
+ dnl -----------
+ dnl Check for multibyte support, and if not found, utf8 compatibility library
+ AC_DEFUN([CF_UTF8_LIB],
+@@ -2548,7 +2931,7 @@
+ # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
+ # ncurses/ncursesw:
+ if test "$cf_cv_utf8_lib" = "add-on" ; then
+- AC_DEFINE(HAVE_LIBUTF8_H)
++ AC_DEFINE(HAVE_LIBUTF8_H,1,[Define to 1 if we should include libutf8.h])
+ CF_ADD_INCDIR($cf_cv_header_path_utf8)
+ CF_ADD_LIBDIR($cf_cv_library_path_utf8)
+ CF_ADD_LIBS($cf_cv_library_file_utf8)
+@@ -2563,7 +2946,7 @@
+ CF_MSG_LOG([$1])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_WCHAR_TYPE version: 3 updated: 2010/05/26 16:44:57
++dnl CF_WCHAR_TYPE version: 4 updated: 2012/10/06 16:39:58
+ dnl -------------
+ dnl Check if type wide-character type $1 is declared, and if so, which header
+ dnl file is needed. The second parameter is used to set a shell variable when
+@@ -2595,7 +2978,7 @@
+ [cf_cv_$1=unknown])])])
+
+ if test "$cf_cv_$1" = yes ; then
+- AC_DEFINE(NEED_WCHAR_H)
++ AC_DEFINE(NEED_WCHAR_H,1,[Define to 1 if we must include wchar.h])
+ NEED_WCHAR_H=1
+ fi
+
+@@ -2667,6 +3050,60 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_WITH_NCURSES_ETC version: 2 updated: 2012/01/13 10:49:00
++dnl -------------------
++dnl Use this macro for programs which use any variant of "curses", e.g.,
++dnl "ncurses", and "PDCurses". Programs that can use curses and some unrelated
++dnl library (such as slang) should use a "--with-screen=XXX" option.
++dnl
++dnl This does not use AC_DEFUN, because that would tell autoconf to run each
++dnl of the macros inside this one - before this macro.
++define([CF_WITH_NCURSES_ETC],[
++CF_WITH_CURSES_DIR
++
++cf_cv_screen=curses
++
++AC_MSG_CHECKING(for specified curses library type)
++AC_ARG_WITH(ncursesw,
++ [ --with-ncursesw use wide ncurses-libraries],
++ [cf_cv_screen=ncursesw],[
++
++AC_ARG_WITH(ncurses,
++ [ --with-ncurses use ncurses-libraries],
++ [cf_cv_screen=ncurses],[
++
++AC_ARG_WITH(pdcurses,
++ [ --with-pdcurses compile/link with pdcurses X11 library],
++ [cf_cv_screen=pdcurses],[
++
++AC_ARG_WITH(curses-colr,
++ [ --with-curses-colr compile/link with HPUX 10.x color-curses],
++ [cf_cv_screen=curses_colr],[
++
++AC_ARG_WITH(curses-5lib,
++ [ --with-curses-5lib compile/link with SunOS 5lib curses],
++ [cf_cv_screen=curses_5lib])])])])])
++
++AC_MSG_RESULT($cf_cv_screen)
++
++case $cf_cv_screen in #(vi
++curses|curses_*) #(vi
++ CF_CURSES_CONFIG
++ ;;
++ncurses) #(vi
++ CF_NCURSES_CONFIG
++ ;;
++ncursesw) #(vi
++ CF_UTF8_LIB
++ CF_NCURSES_CONFIG(ncursesw)
++ ;;
++pdcurses)
++ CF_PDCURSES_X11
++ ;;
++esac
++
++])dnl
++dnl ---------------------------------------------------------------------------
+ dnl CF_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21
+ dnl ----------------
+ AC_DEFUN([CF_WITH_VALGRIND],[
+@@ -2714,7 +3151,7 @@
+ test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_XOPEN_SOURCE version: 35 updated: 2011/02/20 20:37:37
++dnl CF_XOPEN_SOURCE version: 43 updated: 2013/02/10 10:41:05
+ dnl ---------------
+ dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
+ dnl or adapt to the vendor's definitions to get equivalent functionality,
+@@ -2724,13 +3161,14 @@
+ dnl $1 is the nominal value for _XOPEN_SOURCE
+ dnl $2 is the nominal value for _POSIX_C_SOURCE
+ AC_DEFUN([CF_XOPEN_SOURCE],[
++AC_REQUIRE([AC_CANONICAL_HOST])
+
+ cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
+ cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
+ cf_xopen_source=
+
+ case $host_os in #(vi
+-aix[[456]]*) #(vi
++aix[[4-7]]*) #(vi
+ cf_xopen_source="-D_ALL_SOURCE"
+ ;;
+ cygwin) #(vi
+@@ -2741,6 +3179,7 @@
+ ;;
+ darwin*) #(vi
+ cf_xopen_source="-D_DARWIN_C_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ freebsd*|dragonfly*) #(vi
+ # 5.x headers associate
+@@ -2758,15 +3197,23 @@
+ ;;
+ irix[[56]].*) #(vi
+ cf_xopen_source="-D_SGI_SOURCE"
++ cf_XOPEN_SOURCE=
+ ;;
+ linux*|gnu*|mint*|k*bsd*-gnu) #(vi
+ CF_GNU_SOURCE
+ ;;
+ mirbsd*) #(vi
+- # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
++ # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
++ cf_XOPEN_SOURCE=
++ CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
+ ;;
+ netbsd*) #(vi
+- # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ ;;
++openbsd[[4-9]]*) #(vi
++ # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
++ cf_xopen_source="-D_BSD_SOURCE"
++ cf_XOPEN_SOURCE=600
+ ;;
+ openbsd*) #(vi
+ # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
+@@ -2780,36 +3227,11 @@
+ sco*) #(vi
+ # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
+ ;;
+-solaris2.1[[0-9]]) #(vi
+- cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- ;;
+-solaris2.[[1-9]]) #(vi
++solaris2.*) #(vi
+ cf_xopen_source="-D__EXTENSIONS__"
+ ;;
+ *)
+- AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
+- AC_TRY_COMPILE([#include <sys/types.h>],[
+-#ifndef _XOPEN_SOURCE
+-make an error
+-#endif],
+- [cf_cv_xopen_source=no],
+- [cf_save="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- AC_TRY_COMPILE([#include <sys/types.h>],[
+-#ifdef _XOPEN_SOURCE
+-make an error
+-#endif],
+- [cf_cv_xopen_source=no],
+- [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
+- CPPFLAGS="$cf_save"
+- ])
+-])
+- if test "$cf_cv_xopen_source" != no ; then
+- CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
+- CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
+- cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
+- CF_ADD_CFLAGS($cf_temp_xopen_source)
+- fi
++ CF_TRY_XOPEN_SOURCE
+ CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
+ ;;
+ esac
+@@ -2817,6 +3239,35 @@
+ if test -n "$cf_xopen_source" ; then
+ CF_ADD_CFLAGS($cf_xopen_source)
+ fi
++
++dnl In anything but the default case, we may have system-specific setting
++dnl which is still not guaranteed to provide all of the entrypoints that
++dnl _XOPEN_SOURCE would yield.
++if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
++ AC_MSG_CHECKING(if _XOPEN_SOURCE really is set)
++ AC_TRY_COMPILE([#include <stdlib.h>],[
++#ifndef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_XOPEN_SOURCE_set=yes],
++ [cf_XOPEN_SOURCE_set=no])
++ AC_MSG_RESULT($cf_XOPEN_SOURCE_set)
++ if test $cf_XOPEN_SOURCE_set = yes
++ then
++ AC_TRY_COMPILE([#include <stdlib.h>],[
++#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
++make an error
++#endif],
++ [cf_XOPEN_SOURCE_set_ok=yes],
++ [cf_XOPEN_SOURCE_set_ok=no])
++ if test $cf_XOPEN_SOURCE_set_ok = no
++ then
++ AC_MSG_WARN(_XOPEN_SOURCE is lower than requested)
++ fi
++ else
++ CF_TRY_XOPEN_SOURCE
++ fi
++fi
+ ])
+ dnl ---------------------------------------------------------------------------
+ dnl CF_X_ATHENA version: 20 updated: 2010/11/09 05:18:02
+@@ -2957,7 +3408,7 @@
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl CF_X_ATHENA_LIBS version: 10 updated: 2011/02/13 13:31:33
++dnl CF_X_ATHENA_LIBS version: 12 updated: 2011/07/17 19:55:02
+ dnl ----------------
+ dnl Normally invoked by CF_X_ATHENA, with $1 set to the appropriate flavor of
+ dnl the Athena widgets, e.g., Xaw, Xaw3d, neXtaw.
+@@ -2973,19 +3424,24 @@
+ /usr/local
+ do
+ for cf_lib in \
+- "-l$cf_x_athena_root -lXmu" \
+- "-l$cf_x_athena_root -lXpm -lXmu" \
+- "-l${cf_x_athena_root}_s -lXmu_s"
++ ${cf_x_athena_root} \
++ ${cf_x_athena_root}7 \
++ ${cf_x_athena_root}6
++ do
++ for cf_libs in \
++ "-l$cf_lib -lXmu" \
++ "-l$cf_lib -lXpm -lXmu" \
++ "-l${cf_lib}_s -lXmu_s"
+ do
+ if test -z "$cf_x_athena_lib" ; then
+ cf_save="$LIBS"
+ cf_test=XawSimpleMenuAddGlobalActions
+ if test $cf_path != default ; then
+- CF_ADD_LIBS(-L$cf_path/lib $cf_lib)
+- AC_MSG_CHECKING(for $cf_lib in $cf_path)
++ CF_ADD_LIBS(-L$cf_path/lib $cf_libs)
++ AC_MSG_CHECKING(for $cf_libs in $cf_path)
+ else
+- CF_ADD_LIBS($cf_lib)
+- AC_MSG_CHECKING(for $cf_test in $cf_lib)
++ CF_ADD_LIBS($cf_libs)
++ AC_MSG_CHECKING(for $cf_test in $cf_libs)
+ fi
+ AC_TRY_LINK([
+ #include <X11/Intrinsic.h>
+@@ -2996,12 +3452,14 @@
+ [cf_result=no])
+ AC_MSG_RESULT($cf_result)
+ if test "$cf_result" = yes ; then
+- cf_x_athena_lib="$cf_lib"
++ cf_x_athena_lib="$cf_libs"
+ break
+ fi
+ LIBS="$cf_save"
+ fi
+- done
++ done # cf_libs
++ test -n "$cf_x_athena_lib" && break
++ done # cf_lib
+ done
+
+ if test -z "$cf_x_athena_lib" ; then
+@@ -3021,7 +3479,7 @@
+ [CF_ADD_LIB(Xext)])])
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl CF_X_TOOLKIT version: 20 updated: 2010/11/19 05:43:04
++dnl CF_X_TOOLKIT version: 21 updated: 2012/10/04 06:57:36
+ dnl ------------
+ dnl Check for X Toolkit libraries
+ dnl
+@@ -3095,7 +3553,7 @@
+
+ AC_CHECK_FUNC(XtAppInitialize,,[
+ AC_CHECK_LIB(Xt, XtAppInitialize,
+- [AC_DEFINE(HAVE_LIBXT)
++ [AC_DEFINE(HAVE_LIBXT,1,[Define to 1 if we can compile with the Xt library])
+ cf_have_X_LIBS=Xt
+ LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS"],,
+ [$X_PRE_LIBS $LIBS $X_EXTRA_LIBS])])
+Index: test/background.c
+Prereq: 1.3
+--- ncurses-5.9/test/background.c 2006-06-03 16:43:08.000000000 +0000
++++ ncurses-5.9-20130504/test/background.c 2012-06-09 20:30:33.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2003,2006 Free Software Foundation, Inc. *
++ * Copyright (c) 2003-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,15 +26,172 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: background.c,v 1.3 2006/06/03 16:43:08 tom Exp $
++ * $Id: background.c,v 1.13 2012/06/09 20:30:33 tom Exp $
+ */
+
+-#include <test.priv.h>
++#define NEED_COLOR_CODE 1
++#define NEED_COLOR_NAME 1
++#include <color_name.h>
++
++static int default_bg = COLOR_BLACK;
++static int default_fg = COLOR_WHITE;
++
++static void
++test_background(void)
++{
++ short f, b;
++ int row;
++ int chr;
++
++ if (pair_content(0, &f, &b) == ERR) {
++ printw("pair 0 contains no data\n");
++ } else {
++ printw("pair 0 contains (%d,%d)\n", f, b);
++ }
++ getch();
++
++ printw("Initializing pair 1 to red/%s\n", color_name(default_bg));
++ init_pair(1, COLOR_RED, (short) default_bg);
++ bkgdset((chtype) (' ' | COLOR_PAIR(1)));
++ printw("RED/BLACK\n");
++ getch();
++
++ printw("Initializing pair 2 to %s/blue\n", color_name(default_fg));
++ init_pair(2, (short) default_fg, COLOR_BLUE);
++ bkgdset((chtype) (' ' | COLOR_PAIR(2)));
++ printw("This line should be %s/blue\n", color_name(default_fg));
++ getch();
++
++ printw("Initializing pair 3 to %s/cyan (ACS_HLINE)\n", color_name(default_fg));
++ init_pair(3, (short) default_fg, COLOR_CYAN);
++ printw("...and drawing a box which should be followed by lines\n");
++ bkgdset(ACS_HLINE | COLOR_PAIR(3));
++ /*
++ * Characters from vt100 line-drawing should be mapped to line-drawing,
++ * since A_ALTCHARSET is set in the background, and the character part
++ * of the background is replaced by the nonblank characters written.
++ *
++ * Characters not in the line-drawing range are usually sent as-is.
++ *
++ * With SVr4 curses it is possible to rely on this to mix uppercase text
++ * with the (lowercase) line-drawing characters. ncurses uses some of
++ * the uppercase characters for encoding thick- and double-lines.
++ */
++ row = 7;
++ mvprintw(row++, 10, "l");
++ for (chr = 0; chr < 32; ++chr)
++ addch(' ');
++ printw("x\n");
++ chr = 32;
++ while (chr < 128) {
++ if ((chr % 32) == 0)
++ mvprintw(row++, 10, "x");
++ addch((chtype) ((chr == 127) ? ' ' : chr));
++ if ((++chr % 32) == 0)
++ printw("x\n");
++ }
++ mvprintw(row++, 10, "m");
++ for (chr = 0; chr < 32; ++chr)
++ addch(' ');
++ printw("j\n");
++ getch();
++
++ bkgdset((chtype) (' ' | COLOR_PAIR(0)));
++ printw("Default Colors\n");
++ getch();
++
++ printw("Resetting colors to pair 1\n");
++ bkgdset((chtype) (' ' | COLOR_PAIR(1)));
++ printw("This line should be red/%s\n", color_name(default_bg));
++ getch();
++
++ printw("Setting screen to pair 0\n");
++ bkgd((chtype) (' ' | COLOR_PAIR(0)));
++ getch();
++
++ printw("Setting screen to pair 1\n");
++ bkgd((chtype) (' ' | COLOR_PAIR(1)));
++ getch();
++
++ printw("Setting screen to pair 2\n");
++ bkgd((chtype) (' ' | COLOR_PAIR(2)));
++ getch();
++
++ printw("Setting screen to pair 3\n");
++ bkgd((chtype) (' ' | COLOR_PAIR(3)));
++ getch();
++
++ printw("Setting screen to pair 0\n");
++ bkgd((chtype) (' ' | COLOR_PAIR(0)));
++ getch();
++}
++
++static void
++usage(void)
++{
++ static const char *msg[] =
++ {
++ "Usage: background [options]"
++ ,""
++ ,"Options:"
++#if HAVE_ASSUME_DEFAULT_COLORS
++ ," -a invoke assume_default_colors, repeat to use in init_pair"
++#endif
++ ," -b XXX specify background color"
++#if HAVE_USE_DEFAULT_COLORS
++ ," -d invoke use_default_colors, repeat to use in init_pair"
++#endif
++ ," -f XXX specify foreground color"
++ };
++ size_t n;
++
++ for (n = 0; n < SIZEOF(msg); n++)
++ fprintf(stderr, "%s\n", msg[n]);
++
++ ExitProgram(EXIT_FAILURE);
++}
+
+ int
+ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
+ {
+- short f, b;
++#if HAVE_ASSUME_DEFAULT_COLORS
++ int a_option = 0;
++#endif
++#if HAVE_USE_DEFAULT_COLORS
++ int d_option = 0;
++#endif
++ int n;
++
++ setlocale(LC_ALL, "");
++
++ while ((n = getopt(argc, argv, "ab:df:")) != -1) {
++ switch (n) {
++#if HAVE_ASSUME_DEFAULT_COLORS
++ case 'a':
++ ++a_option;
++ break;
++#endif
++ case 'b':
++ default_bg = color_code(optarg);
++ break;
++#if HAVE_USE_DEFAULT_COLORS
++ case 'd':
++ ++d_option;
++ break;
++#endif
++ case 'f':
++ default_fg = color_code(optarg);
++ break;
++ default:
++ usage();
++ }
++ }
++#if HAVE_USE_DEFAULT_COLORS && HAVE_ASSUME_DEFAULT_COLORS
++ if (a_option && d_option) {
++ fprintf(stderr, "Use either -a or -d option, but not both\n");
++ ExitProgram(EXIT_FAILURE);
++ }
++#endif
+
+ initscr();
+ cbreak();
+@@ -43,47 +200,30 @@
+ if (has_colors()) {
+ start_color();
+
+- pair_content(0, &f, &b);
+- printw("pair 0 contains (%d,%d)\n", f, b);
+- getch();
++#if HAVE_USE_DEFAULT_COLORS
++ if (d_option) {
++ printw("Using default colors...\n");
++ use_default_colors();
++ if (d_option > 1) {
++ default_fg = -1;
++ default_bg = -1;
++ }
++ }
++#endif
++#if HAVE_ASSUME_DEFAULT_COLORS
++ if (a_option) {
++ printw("Using assumed colors %s/%s...\n",
++ color_name(default_fg),
++ color_name(default_bg));
++ assume_default_colors(default_fg, default_bg);
++ if (a_option > 1) {
++ default_fg = -1;
++ default_bg = -1;
++ }
++ }
++#endif
+
+- printw("Initializing pair 1 to red/black\n");
+- init_pair(1, COLOR_RED, COLOR_BLACK);
+- bkgdset(' ' | COLOR_PAIR(1));
+- printw("RED/BLACK\n");
+- getch();
+-
+- printw("Initializing pair 2 to white/blue\n");
+- init_pair(2, COLOR_WHITE, COLOR_BLUE);
+- bkgdset(' ' | COLOR_PAIR(2));
+- printw("WHITE/BLUE\n");
+- getch();
+-
+- printw("Resetting colors to pair 0\n");
+- bkgdset(' ' | COLOR_PAIR(0));
+- printw("Default Colors\n");
+- getch();
+-
+- printw("Resetting colors to pair 1\n");
+- bkgdset(' ' | COLOR_PAIR(1));
+- printw("RED/BLACK\n");
+- getch();
+-
+- printw("Setting screen to pair 0\n");
+- bkgd(' ' | COLOR_PAIR(0));
+- getch();
+-
+- printw("Setting screen to pair 1\n");
+- bkgd(' ' | COLOR_PAIR(1));
+- getch();
+-
+- printw("Setting screen to pair 2\n");
+- bkgd(' ' | COLOR_PAIR(2));
+- getch();
+-
+- printw("Setting screen to pair 0\n");
+- bkgd(' ' | COLOR_PAIR(0));
+- getch();
++ test_background();
+
+ } else {
+ printw("This demo requires a color terminal");
+Index: test/blue.c
+Prereq: 1.33
+--- ncurses-5.9/test/blue.c 2009-10-24 21:03:35.000000000 +0000
++++ ncurses-5.9-20130504/test/blue.c 2013-04-27 19:46:53.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2009,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,7 +40,7 @@
+ * results, use the ncurses(3) library. On non-Intel machines, SVr4 curses is
+ * just as good.
+ *
+- * $Id: blue.c,v 1.33 2009/10/24 21:03:35 tom Exp $
++ * $Id: blue.c,v 1.35 2013/04/27 19:46:53 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -70,7 +70,7 @@
+ #define BLACK_ON_WHITE 2
+ #define BLUE_ON_WHITE 3
+
+-static RETSIGTYPE die(int onsig) GCC_NORETURN;
++static void die(int onsig) GCC_NORETURN;
+
+ static int deck_size = PACK_SIZE; /* initial deck */
+ static int deck[PACK_SIZE];
+@@ -132,7 +132,7 @@
+
+ static chtype *suits = letters; /* this may change to glyphs below */
+
+-static RETSIGTYPE
++static void
+ die(int onsig)
+ {
+ (void) signal(onsig, SIG_IGN);
+@@ -202,8 +202,8 @@
+ if (value == NOCARD)
+ (void) addstr(" ");
+ else {
+- addch(ranks[value % SUIT_LENGTH][0] | COLOR_PAIR(BLUE_ON_WHITE));
+- addch(ranks[value % SUIT_LENGTH][1] | COLOR_PAIR(BLUE_ON_WHITE));
++ addch(ranks[value % SUIT_LENGTH][0] | (chtype) COLOR_PAIR(BLUE_ON_WHITE));
++ addch(ranks[value % SUIT_LENGTH][1] | (chtype) COLOR_PAIR(BLUE_ON_WHITE));
+ addch(suits[value / SUIT_LENGTH]);
+ }
+ (void) addch(' ');
+Index: test/bs.c
+Prereq: 1.52
+--- ncurses-5.9/test/bs.c 2010-11-13 20:07:52.000000000 +0000
++++ ncurses-5.9-20130504/test/bs.c 2013-04-27 19:46:53.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+ * v2.0 featuring strict ANSI/POSIX conformance, November 1993.
+ * v2.1 with ncurses mouse support, September 1995
+ *
+- * $Id: bs.c,v 1.52 2010/11/13 20:07:52 tom Exp $
++ * $Id: bs.c,v 1.61 2013/04/27 19:46:53 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -110,7 +110,7 @@
+ static char destroy[] = "Destroyer";
+ static char ptboat[] = "PT Boat";
+
+-static char name[40];
++static char *your_name;
+ static char dftname[] = "stranger";
+
+ /* direction constants */
+@@ -174,9 +174,9 @@
+
+ #define PR (void)addstr
+
+-static RETSIGTYPE uninitgame(int sig) GCC_NORETURN;
++static void uninitgame(int sig) GCC_NORETURN;
+
+-static RETSIGTYPE
++static void
+ uninitgame(int sig GCC_UNUSED)
+ /* end the game, either normally or due to signal */
+ {
+@@ -220,11 +220,12 @@
+
+ CATCHALL(uninitgame);
+
+- if ((tmpname = getlogin()) != 0) {
+- (void) strcpy(name, tmpname);
+- name[0] = (char) toupper(UChar(name[0]));
+- } else
+- (void) strcpy(name, dftname);
++ if ((tmpname = getlogin()) != 0 &&
++ (your_name = strdup(tmpname)) != 0) {
++ your_name[0] = (char) toupper(UChar(your_name[0]));
++ } else {
++ your_name = dftname;
++ }
+
+ (void) initscr();
+ keypad(stdscr, TRUE);
+@@ -368,7 +369,7 @@
+ MvAddCh(PYBASE + i, PXBASE - 3, (chtype) (i + 'A'));
+ #ifdef A_COLOR
+ if (has_colors())
+- attron(COLOR_PAIR(COLOR_BLUE));
++ attron((attr_t) COLOR_PAIR(COLOR_BLUE));
+ #endif /* A_COLOR */
+ (void) addch(' ');
+ for (j = 0; j < BWIDTH; j++)
+@@ -386,7 +387,7 @@
+ MvAddCh(CYBASE + i, CXBASE - 3, (chtype) (i + 'A'));
+ #ifdef A_COLOR
+ if (has_colors())
+- attron(COLOR_PAIR(COLOR_BLUE));
++ attron((attr_t) COLOR_PAIR(COLOR_BLUE));
+ #endif /* A_COLOR */
+ (void) addch(' ');
+ for (j = 0; j < BWIDTH; j++)
+@@ -426,10 +427,11 @@
+ placeship(COMPUTER, ss, FALSE);
+ }
+
+- ss = (ship_t *) NULL;
+ do {
+ char c, docked[SHIPTYPES + 2], *cp = docked;
+
++ ss = (ship_t *) NULL;
++
+ /* figure which ships still wait to be placed */
+ *cp++ = 'R';
+ for (i = 0; i < SHIPTYPES; i++)
+@@ -459,13 +461,14 @@
+ do {
+ c = (char) getch();
+ } while
+- (!(strchr("hjklrR", c) || c == FF));
++ (!(strchr("hjkl8462rR", c) || c == FF));
+
+ if (c == FF) {
+ (void) clearok(stdscr, TRUE);
+ (void) refresh();
++ } else if (ss == 0) {
++ beep(); /* simple to verify, unlikely to happen */
+ } else if (c == 'r') {
+- assert(ss != 0);
+ prompt(1, "Random-placing your %s", ss->name);
+ randomplace(PLAYER, ss);
+ placeship(PLAYER, ss, TRUE);
+@@ -481,7 +484,6 @@
+ }
+ error((char *) NULL);
+ } else if (strchr("hjkl8462", c)) {
+- assert(ss != 0);
+ ss->x = curx;
+ ss->y = cury;
+
+@@ -769,7 +771,7 @@
+ cgoto(y1, x1);
+ #ifdef A_COLOR
+ if (has_colors())
+- attron(COLOR_PAIR(COLOR_GREEN));
++ attron((attr_t) COLOR_PAIR(COLOR_GREEN));
+ #endif /* A_COLOR */
+ (void) addch(MARK_MISS);
+ #ifdef A_COLOR
+@@ -795,7 +797,7 @@
+ pgoto(y1, x1);
+ #ifdef A_COLOR
+ if (has_colors())
+- attron(COLOR_PAIR(COLOR_RED));
++ attron((attr_t) COLOR_PAIR(COLOR_RED));
+ #endif /* A_COLOR */
+ (void) addch(SHOWHIT);
+ #ifdef A_COLOR
+@@ -834,9 +836,9 @@
+ #ifdef A_COLOR
+ if (has_colors()) {
+ if (hit)
+- attron(COLOR_PAIR(COLOR_RED));
++ attron((attr_t) COLOR_PAIR(COLOR_RED));
+ else
+- attron(COLOR_PAIR(COLOR_GREEN));
++ attron((attr_t) COLOR_PAIR(COLOR_GREEN));
+ }
+ #endif /* A_COLOR */
+ (void) addch((chtype) hits[PLAYER][curx][cury]);
+@@ -863,7 +865,9 @@
+ m = " You'll pick up survivors from my %s, I hope...!";
+ break;
+ }
+- (void) printw(m, ss->name);
++ if (m != 0) {
++ (void) printw(m, ss->name);
++ }
+ (void) beep();
+ }
+ return (hit);
+@@ -952,8 +956,8 @@
+ bool hit, sunk;
+ ship_t *ss = NULL;
+
+- hit = board[PLAYER][x][y] ? MARK_HIT : MARK_MISS;
+- hits[COMPUTER][x][y] = (char) hit;
++ hit = (bool) board[PLAYER][x][y];
++ hits[COMPUTER][x][y] = (hit ? MARK_HIT : MARK_MISS);
+ MvPrintw(PROMPTLINE, 0,
+ "I shoot at %c%d. I %s!", y + 'A', x, hit ? "hit" :
+ "miss");
+@@ -965,9 +969,9 @@
+ #ifdef A_COLOR
+ if (has_colors()) {
+ if (hit)
+- attron(COLOR_PAIR(COLOR_RED));
++ attron((attr_t) COLOR_PAIR(COLOR_RED));
+ else
+- attron(COLOR_PAIR(COLOR_GREEN));
++ attron((attr_t) COLOR_PAIR(COLOR_GREEN));
+ }
+ #endif /* A_COLOR */
+ (void) addch((chtype) (hit ? SHOWHIT : SHOWSPLASH));
+@@ -1130,16 +1134,16 @@
+ ++cpuwon;
+ else
+ ++plywon;
+- j = 18 + (int) strlen(name);
++ j = 18 + (int) strlen(your_name);
+ if (plywon >= 10)
+ ++j;
+ if (cpuwon >= 10)
+ ++j;
+ MvPrintw(1, (COLWIDTH - j) / 2,
+- "%s: %d Computer: %d", name, plywon, cpuwon);
++ "%s: %d Computer: %d", your_name, plywon, cpuwon);
+
+ prompt(2, (awinna())? "Want to be humiliated again, %s [yn]? "
+- : "Going to give me a chance for revenge, %s [yn]? ", name);
++ : "Going to give me a chance for revenge, %s [yn]? ", your_name);
+ return (sgetc("YN") == 'Y');
+ }
+
+Index: test/cardfile.c
+Prereq: 1.38
+--- ncurses-5.9/test/cardfile.c 2010-11-14 00:58:45.000000000 +0000
++++ ncurses-5.9-20130504/test/cardfile.c 2012-11-03 19:26:50.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1999-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,7 +29,7 @@
+ /*
+ * Author: Thomas E. Dickey
+ *
+- * $Id: cardfile.c,v 1.38 2010/11/14 00:58:45 tom Exp $
++ * $Id: cardfile.c,v 1.41 2012/11/03 19:26:50 tom Exp $
+ *
+ * File format: text beginning in column 1 is a title; other text is content.
+ */
+@@ -68,17 +68,13 @@
+ static bool try_color = FALSE;
+ static char default_name[] = "cardfile.dat";
+
+-#if !HAVE_STRDUP
+-#define strdup my_strdup
+-static char *
+-strdup(const char *s)
+-{
+- char *p = typeMalloc(char, strlen(s) + 1);
+- if (p)
+- strcpy(p, s);
+- return (p);
++static void
++failed(const char *s)
++{
++ perror(s);
++ endwin();
++ ExitProgram(EXIT_FAILURE);
+ }
+-#endif /* not HAVE_STRDUP */
+
+ static const char *
+ skip(const char *buffer)
+@@ -146,6 +142,8 @@
+ }
+ if (card->content)
+ strcpy(card->content + offset, content);
++ else
++ failed("add_content");
+ }
+ }
+
+@@ -414,7 +412,7 @@
+ if ((win = newwin(panel_high, panel_wide, y, x)) == 0)
+ break;
+
+- wbkgd(win, COLOR_PAIR(pair_2));
++ wbkgd(win, (chtype) COLOR_PAIR(pair_2));
+ keypad(win, TRUE);
+ p->panel = new_panel(win);
+ box(win, 0, 0);
+@@ -588,7 +586,7 @@
+ start_color();
+ init_pair(pair_1, COLOR_WHITE, COLOR_BLUE);
+ init_pair(pair_2, COLOR_WHITE, COLOR_CYAN);
+- bkgd(COLOR_PAIR(pair_1));
++ bkgd((chtype) COLOR_PAIR(pair_1));
+ } else {
+ try_color = FALSE;
+ }
+Index: test/chgat.c
+Prereq: 1.11
+--- ncurses-5.9/test/chgat.c 2010-05-01 19:12:26.000000000 +0000
++++ ncurses-5.9-20130504/test/chgat.c 2012-11-18 01:55:35.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2006-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: chgat.c,v 1.11 2010/05/01 19:12:26 tom Exp $
++ * $Id: chgat.c,v 1.12 2012/11/18 01:55:35 tom Exp $
+ *
+ * test-driver for chgat/wchgat/mvchgat/mvwchgat
+ */
+@@ -176,6 +176,8 @@
+ delwin(win1);
+ touchwin(win);
+ } else {
++ if (win1 != 0)
++ delwin(win1);
+ beep();
+ }
+ }
+Index: test/clip_printw.c
+Prereq: 1.7
+--- ncurses-5.9/test/clip_printw.c 2010-11-13 20:48:48.000000000 +0000
++++ ncurses-5.9-20130504/test/clip_printw.c 2012-11-18 00:39:48.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2008-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: clip_printw.c,v 1.7 2010/11/13 20:48:48 tom Exp $
++ * $Id: clip_printw.c,v 1.9 2012/11/18 00:39:48 tom Exp $
+ *
+ * demonstrate how to use printw without wrapping.
+ */
+@@ -207,6 +207,8 @@
+ delwin(win1);
+ touchwin(win);
+ } else {
++ if (win1)
++ delwin(win1);
+ beep();
+ }
+ }
+@@ -329,7 +331,7 @@
+ do {
+ switch (st.ch) {
+ case '.': /* change from current position */
+- (void) wattrset(win, st.attr | (chtype) COLOR_PAIR(st.pair));
++ (void) wattrset(win, (int) (st.attr | (chtype) COLOR_PAIR(st.pair)));
+ if (st.count > 0) {
+ need = (unsigned) st.count + 1;
+ sprintf(fmt, "%%c%%%ds%%c", st.count);
+@@ -337,12 +339,13 @@
+ need = (unsigned) getmaxx(win) - 1;
+ strcpy(fmt, "%c%s%c");
+ }
+- if ((buffer = typeMalloc(char, need)) != 0) {
++ if ((buffer = typeMalloc(char, need + 1)) != 0) {
+ for (j = 0; j < need; ++j) {
+ buffer[j] = (char) ('A' + (j % 26));
+ }
+ buffer[need - 1] = '\0';
+ st.status = clip_wprintw(win, fmt, '[', buffer, ']');
++ free(buffer);
+ }
+ break;
+ case 'w':
+Index: test/color_name.h
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/test/color_name.h 2012-11-18 01:59:32.000000000 +0000
+@@ -0,0 +1,103 @@
++/****************************************************************************
++ * Copyright (c) 2011,2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++/*
++ * $Id: color_name.h,v 1.4 2012/11/18 01:59:32 tom Exp $
++ */
++
++#ifndef __COLORNAME_H
++#define __COLORNAME_H 1
++
++#ifndef __TEST_PRIV_H
++#include <test.priv.h>
++#endif
++
++static NCURSES_CONST char *the_color_names[] =
++{
++ "black",
++ "red",
++ "green",
++ "yellow",
++ "blue",
++ "magenta",
++ "cyan",
++ "white",
++ "BLACK",
++ "RED",
++ "GREEN",
++ "YELLOW",
++ "BLUE",
++ "MAGENTA",
++ "CYAN",
++ "WHITE"
++};
++
++#ifdef NEED_COLOR_CODE
++static int
++color_code(const char *color)
++{
++ int result = 0;
++ char *endp = 0;
++ size_t n;
++
++ if ((result = (int) strtol(color, &endp, 0)) >= 0
++ && (endp == 0 || *endp == 0)) {
++ ;
++ } else if (!strcmp(color, "default")) {
++ result = -1;
++ } else {
++ for (n = 0; n < SIZEOF(the_color_names); ++n) {
++ if (!strcmp(the_color_names[n], color)) {
++ result = (int) n;
++ break;
++ }
++ }
++ }
++ return result;
++}
++#endif /* NEED_COLOR_NAME */
++
++#ifdef NEED_COLOR_NAME
++static const char *
++color_name(int color)
++{
++ static char temp[20];
++ const char *result = 0;
++
++ if (color >= (int) SIZEOF(the_color_names)) {
++ sprintf(temp, "%d", color);
++ result = temp;
++ } else if (color < 0) {
++ result = "default";
++ } else {
++ result = the_color_names[color];
++ }
++ return result;
++}
++#endif /* NEED_COLOR_NAME */
++
++#endif /* __COLORNAME_H */
+Index: test/color_set.c
+Prereq: 1.6
+--- ncurses-5.9/test/color_set.c 2008-02-10 00:18:01.000000000 +0000
++++ ncurses-5.9-20130504/test/color_set.c 2012-12-15 22:04:14.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2003-2006,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 2003-2008,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: color_set.c,v 1.6 2008/02/10 00:18:01 tom Exp $
++ * $Id: color_set.c,v 1.7 2012/12/15 22:04:14 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -48,7 +48,7 @@
+ if (has_colors()) {
+ start_color();
+
+- pair_content(0, &f, &b);
++ (void) pair_content(0, &f, &b);
+ printw("pair 0 contains (%d,%d)\n", f, b);
+ getch();
+
+Index: test/configure
+--- ncurses-5.9/test/configure 2011-03-24 08:29:40.000000000 +0000
++++ ncurses-5.9-20130504/test/configure 2013-04-27 19:51:02.000000000 +0000
+@@ -1,6 +1,6 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by Autoconf 2.52.20101002.
++# Generated by Autoconf 2.52.20121002.
+ #
+ # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+ # Free Software Foundation, Inc.
+@@ -105,42 +105,6 @@
+ : ${ac_max_here_lines=38}
+
+ ac_unique_file="ncurses.c"
+-# Factoring default headers for most tests.
+-ac_includes_default="\
+-#include <stdio.h>
+-#if HAVE_SYS_TYPES_H
+-# include <sys/types.h>
+-#endif
+-#if HAVE_SYS_STAT_H
+-# include <sys/stat.h>
+-#endif
+-#if STDC_HEADERS
+-# include <stdlib.h>
+-# include <stddef.h>
+-#else
+-# if HAVE_STDLIB_H
+-# include <stdlib.h>
+-# endif
+-#endif
+-#if HAVE_STRING_H
+-# if !STDC_HEADERS && HAVE_MEMORY_H
+-# include <memory.h>
+-# endif
+-# include <string.h>
+-#endif
+-#if HAVE_STRINGS_H
+-# include <strings.h>
+-#endif
+-#if HAVE_INTTYPES_H
+-# include <inttypes.h>
+-#else
+-# if HAVE_STDINT_H
+-# include <stdint.h>
+-# endif
+-#endif
+-#if HAVE_UNISTD_H
+-# include <unistd.h>
+-#endif"
+
+ # Initialize some variables set by options.
+ ac_init_help=
+@@ -170,15 +134,16 @@
+ bindir='${exec_prefix}/bin'
+ sbindir='${exec_prefix}/sbin'
+ libexecdir='${exec_prefix}/libexec'
+-datadir='${prefix}/share'
++datarootdir='${prefix}/share'
++datadir='${datarootdir}'
+ sysconfdir='${prefix}/etc'
+ sharedstatedir='${prefix}/com'
+ localstatedir='${prefix}/var'
+ libdir='${exec_prefix}/lib'
+ includedir='${prefix}/include'
+ oldincludedir='/usr/include'
+-infodir='${prefix}/info'
+-mandir='${prefix}/man'
++infodir='${datarootdir}/info'
++mandir='${datarootdir}/man'
+
+ # Identity of this package.
+ PACKAGE_NAME=
+@@ -229,6 +194,13 @@
+ | --da=*)
+ datadir=$ac_optarg ;;
+
++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
++ | --dataroo | --dataro | --datar)
++ ac_prev=datarootdir ;;
++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
++ datarootdir=$ac_optarg ;;
++
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+@@ -504,7 +476,7 @@
+ done
+
+ # Be sure to have absolute paths.
+-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
++for ac_var in bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+ do
+ eval ac_val=$`echo $ac_var`
+@@ -641,15 +613,16 @@
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+- --datadir=DIR read-only architecture-independent data [PREFIX/share]
++ --datarootdir=DIR read-only architecture-independent data [PREFIX/share]
++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --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]
+- --infodir=DIR info documentation [PREFIX/info]
+- --mandir=DIR man documentation [PREFIX/man]
++ --infodir=DIR info documentation [DATAROOTDIR/info]
++ --mandir=DIR man documentation [DATAROOTDIR/man]
+ EOF
+
+ cat <<\EOF
+@@ -673,31 +646,37 @@
+
+ cat <<\EOF
+
+-Optional Features:
+- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+-
+ Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+
+- --disable-echo display "compiling" commands
+- --enable-warnings test: turn on gcc compiler warnings
+- --with-dmalloc test: use Gray Watson's dmalloc library
+- --with-dbmalloc test: use Conor Cahill's dbmalloc library
+- --with-valgrind test: use valgrind
+- --disable-leaks test: free permanent memory, analyze leaks
++Optional Features:
++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
++
++General Options:
++ --with-pkg-config{=path} enable/disable use of pkg-config
++ --disable-echo do not display "compiling" commands
++Curses Version-dependent Options:
++ --with-ncurses-wrap-prefix naming-prefix for ncurses wrapped-variables
++ --disable-widec disable checks for wide-character functions
+ --with-curses-dir=DIR directory in which (n)curses is installed
+- --with-5lib use SunOS sysv-libraries
+- --with-ncursesw use wide ncurses-libraries (installed)
+- --with-ncurses use ncurses-libraries (installed)
++ --with-ncursesw use wide ncurses-libraries
++ --with-ncurses use ncurses-libraries
+ --with-pdcurses compile/link with pdcurses X11 library
++ --with-curses-colr compile/link with HPUX 10.x color-curses
++ --with-curses-5lib compile/link with SunOS 5lib curses
+ --with-Xaw3d link with Xaw 3d library
+ --with-neXtaw link with neXT Athena library
+ --with-XawPlus link with Athena-Plus library
+- --with-pkg-config{=path} enable/disable use of pkg-config
+ --with-x use the X Window System
+- --with-ncurses-wrap-prefix naming-prefix for ncurses wrapped-variables
++Testing/development Options:
++ --enable-warnings test: turn on gcc compiler warnings
++ --with-dmalloc test: use Gray Watson's dmalloc library
++ --with-dbmalloc test: use Conor Cahill's dbmalloc library
++ --with-valgrind test: use valgrind
++ --disable-leaks test: free permanent memory, analyze leaks
++ --disable-rpath-hack don't add rpath options for additional libraries
+
+ Some influential environment variables:
+ CC C compiler command
+@@ -767,7 +746,7 @@
+ running configure, to aid debugging if configure makes a mistake.
+
+ It was created by $as_me, which was
+-generated by GNU Autoconf 2.52.20101002. Invocation command line was
++generated by GNU Autoconf 2.52.20121002. Invocation command line was
+
+ $ $0 $@
+
+@@ -891,7 +870,7 @@
+ fi
+ for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+- { echo "$as_me:894: loading site script $ac_site_file" >&5
++ { echo "$as_me:873: loading site script $ac_site_file" >&5
+ echo "$as_me: loading site script $ac_site_file" >&6;}
+ cat "$ac_site_file" >&5
+ . "$ac_site_file"
+@@ -902,7 +881,7 @@
+ # 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:905: loading cache $cache_file" >&5
++ { echo "$as_me:884: loading cache $cache_file" >&5
+ echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+@@ -910,7 +889,7 @@
+ esac
+ fi
+ else
+- { echo "$as_me:913: creating cache $cache_file" >&5
++ { echo "$as_me:892: creating cache $cache_file" >&5
+ echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+ fi
+@@ -926,21 +905,21 @@
+ eval ac_new_val="\$ac_env_${ac_var}_value"
+ case $ac_old_set,$ac_new_set in
+ set,)
+- { echo "$as_me:929: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++ { echo "$as_me:908: 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;}
+ ac_cache_corrupted=: ;;
+ ,set)
+- { echo "$as_me:933: error: \`$ac_var' was not set in the previous run" >&5
++ { echo "$as_me:912: 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;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+- { echo "$as_me:939: error: \`$ac_var' has changed since the previous run:" >&5
++ { echo "$as_me:918: 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:941: former value: $ac_old_val" >&5
++ { echo "$as_me:920: former value: $ac_old_val" >&5
+ echo "$as_me: former value: $ac_old_val" >&2;}
+- { echo "$as_me:943: current value: $ac_new_val" >&5
++ { echo "$as_me:922: current value: $ac_new_val" >&5
+ echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+@@ -959,9 +938,9 @@
+ fi
+ done
+ if $ac_cache_corrupted; then
+- { echo "$as_me:962: error: changes in the environment can compromise the build" >&5
++ { echo "$as_me:941: 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:964: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
++ { { echo "$as_me:943: 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; }; }
+ fi
+@@ -982,10 +961,10 @@
+ echo "#! $SHELL" >conftest.sh
+ echo "exit 0" >>conftest.sh
+ chmod +x conftest.sh
+-if { (echo "$as_me:985: PATH=\".;.\"; conftest.sh") >&5
++if { (echo "$as_me:964: PATH=\".;.\"; conftest.sh") >&5
+ (PATH=".;."; conftest.sh) 2>&5
+ ac_status=$?
+- echo "$as_me:988: \$? = $ac_status" >&5
++ echo "$as_me:967: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ ac_path_separator=';'
+ else
+@@ -1017,7 +996,7 @@
+ fi
+ done
+ if test -z "$ac_aux_dir"; then
+- { { echo "$as_me:1020: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
++ { { echo "$as_me:999: 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; }; }
+ fi
+@@ -1027,11 +1006,11 @@
+
+ # Make sure we can run config.sub.
+ $ac_config_sub sun4 >/dev/null 2>&1 ||
+- { { echo "$as_me:1030: error: cannot run $ac_config_sub" >&5
++ { { echo "$as_me:1009: error: cannot run $ac_config_sub" >&5
+ echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+-echo "$as_me:1034: checking build system type" >&5
++echo "$as_me:1013: 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
+@@ -1040,16 +1019,16 @@
+ test -z "$ac_cv_build_alias" &&
+ ac_cv_build_alias=`$ac_config_guess`
+ test -z "$ac_cv_build_alias" &&
+- { { echo "$as_me:1043: error: cannot guess build type; you must specify one" >&5
++ { { echo "$as_me:1022: 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; }; }
+ ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
+- { { echo "$as_me:1047: error: $ac_config_sub $ac_cv_build_alias failed." >&5
++ { { echo "$as_me:1026: error: $ac_config_sub $ac_cv_build_alias failed." >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1052: result: $ac_cv_build" >&5
++echo "$as_me:1031: result: $ac_cv_build" >&5
+ echo "${ECHO_T}$ac_cv_build" >&6
+ build=$ac_cv_build
+ build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+@@ -1057,7 +1036,7 @@
+ build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+ if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
+- echo "$as_me:1060: checking host system type" >&5
++ echo "$as_me:1039: 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
+@@ -1066,12 +1045,12 @@
+ test -z "$ac_cv_host_alias" &&
+ ac_cv_host_alias=$ac_cv_build_alias
+ ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
+- { { echo "$as_me:1069: error: $ac_config_sub $ac_cv_host_alias failed" >&5
++ { { echo "$as_me:1048: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1074: result: $ac_cv_host" >&5
++echo "$as_me:1053: result: $ac_cv_host" >&5
+ echo "${ECHO_T}$ac_cv_host" >&6
+ host=$ac_cv_host
+ host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+@@ -1085,7 +1064,8 @@
+ system_name="`(hostname) 2>/dev/null`"
+ fi
+ fi
+-test -n "$system_name" && cat >>confdefs.h <<EOF
++test -n "$system_name" &&
++cat >>confdefs.h <<EOF
+ #define SYSTEM_NAME "$system_name"
+ EOF
+
+@@ -1096,13 +1076,13 @@
+ fi
+
+ test -z "$system_name" && system_name="$cf_cv_system_name"
+-test -n "$cf_cv_system_name" && echo "$as_me:1099: result: Configuring for $cf_cv_system_name" >&5
++test -n "$cf_cv_system_name" && echo "$as_me:1079: result: Configuring for $cf_cv_system_name" >&5
+ echo "${ECHO_T}Configuring for $cf_cv_system_name" >&6
+
+ if test ".$system_name" != ".$cf_cv_system_name" ; then
+- echo "$as_me:1103: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
++ echo "$as_me:1083: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
+ echo "${ECHO_T}Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&6
+- { { echo "$as_me:1105: error: \"Please remove config.cache and try again.\"" >&5
++ { { echo "$as_me:1085: error: \"Please remove config.cache and try again.\"" >&5
+ echo "$as_me: error: \"Please remove config.cache and try again.\"" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1120,7 +1100,7 @@
+ program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+ rm conftest.sed
+
+-echo "$as_me:1123: checking whether ${MAKE-make} sets \${MAKE}" >&5
++echo "$as_me:1103: checking whether ${MAKE-make} sets \${MAKE}" >&5
+ echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
+ set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
+ if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+@@ -1140,11 +1120,11 @@
+ rm -f conftest.make
+ fi
+ if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+- echo "$as_me:1143: result: yes" >&5
++ echo "$as_me:1123: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ SET_MAKE=
+ else
+- echo "$as_me:1147: result: no" >&5
++ echo "$as_me:1127: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ SET_MAKE="MAKE=${MAKE-make}"
+ fi
+@@ -1158,7 +1138,7 @@
+ 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:1161: checking for $ac_word" >&5
++echo "$as_me:1141: 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
+@@ -1173,7 +1153,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+-echo "$as_me:1176: found $ac_dir/$ac_word" >&5
++echo "$as_me:1156: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1181,10 +1161,10 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:1184: result: $CC" >&5
++ echo "$as_me:1164: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+- echo "$as_me:1187: result: no" >&5
++ echo "$as_me:1167: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1193,7 +1173,7 @@
+ 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:1196: checking for $ac_word" >&5
++echo "$as_me:1176: 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
+@@ -1208,7 +1188,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_CC="gcc"
+-echo "$as_me:1211: found $ac_dir/$ac_word" >&5
++echo "$as_me:1191: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1216,10 +1196,10 @@
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+- echo "$as_me:1219: result: $ac_ct_CC" >&5
++ echo "$as_me:1199: result: $ac_ct_CC" >&5
+ echo "${ECHO_T}$ac_ct_CC" >&6
+ else
+- echo "$as_me:1222: result: no" >&5
++ echo "$as_me:1202: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1232,7 +1212,7 @@
+ 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:1235: checking for $ac_word" >&5
++echo "$as_me:1215: 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
+@@ -1247,7 +1227,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+-echo "$as_me:1250: found $ac_dir/$ac_word" >&5
++echo "$as_me:1230: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1255,10 +1235,10 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:1258: result: $CC" >&5
++ echo "$as_me:1238: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+- echo "$as_me:1261: result: no" >&5
++ echo "$as_me:1241: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1267,7 +1247,7 @@
+ ac_ct_CC=$CC
+ # Extract the first word of "cc", so it can be a program name with args.
+ set dummy cc; ac_word=$2
+-echo "$as_me:1270: checking for $ac_word" >&5
++echo "$as_me:1250: 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
+@@ -1282,7 +1262,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_CC="cc"
+-echo "$as_me:1285: found $ac_dir/$ac_word" >&5
++echo "$as_me:1265: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1290,10 +1270,10 @@
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+- echo "$as_me:1293: result: $ac_ct_CC" >&5
++ echo "$as_me:1273: result: $ac_ct_CC" >&5
+ echo "${ECHO_T}$ac_ct_CC" >&6
+ else
+- echo "$as_me:1296: result: no" >&5
++ echo "$as_me:1276: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1306,7 +1286,7 @@
+ 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:1309: checking for $ac_word" >&5
++echo "$as_me:1289: 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
+@@ -1326,7 +1306,7 @@
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+-echo "$as_me:1329: found $ac_dir/$ac_word" >&5
++echo "$as_me:1309: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1348,10 +1328,10 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:1351: result: $CC" >&5
++ echo "$as_me:1331: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+- echo "$as_me:1354: result: no" >&5
++ echo "$as_me:1334: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1362,7 +1342,7 @@
+ 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:1365: checking for $ac_word" >&5
++echo "$as_me:1345: 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
+@@ -1377,7 +1357,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+-echo "$as_me:1380: found $ac_dir/$ac_word" >&5
++echo "$as_me:1360: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1385,10 +1365,10 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:1388: result: $CC" >&5
++ echo "$as_me:1368: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+- echo "$as_me:1391: result: no" >&5
++ echo "$as_me:1371: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1401,7 +1381,7 @@
+ 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:1404: checking for $ac_word" >&5
++echo "$as_me:1384: 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
+@@ -1416,7 +1396,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+-echo "$as_me:1419: found $ac_dir/$ac_word" >&5
++echo "$as_me:1399: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1424,10 +1404,10 @@
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+- echo "$as_me:1427: result: $ac_ct_CC" >&5
++ echo "$as_me:1407: result: $ac_ct_CC" >&5
+ echo "${ECHO_T}$ac_ct_CC" >&6
+ else
+- echo "$as_me:1430: result: no" >&5
++ echo "$as_me:1410: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1439,32 +1419,32 @@
+
+ fi
+
+-test -z "$CC" && { { echo "$as_me:1442: error: no acceptable cc found in \$PATH" >&5
++test -z "$CC" && { { echo "$as_me:1422: error: no acceptable cc found in \$PATH" >&5
+ echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Provide some information about the compiler.
+-echo "$as_me:1447:" \
++echo "$as_me:1427:" \
+ "checking for C compiler version" >&5
+ ac_compiler=`set X $ac_compile; echo $2`
+-{ (eval echo "$as_me:1450: \"$ac_compiler --version </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1430: \"$ac_compiler --version </dev/null >&5\"") >&5
+ (eval $ac_compiler --version </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1453: \$? = $ac_status" >&5
++ echo "$as_me:1433: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:1455: \"$ac_compiler -v </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1435: \"$ac_compiler -v </dev/null >&5\"") >&5
+ (eval $ac_compiler -v </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1458: \$? = $ac_status" >&5
++ echo "$as_me:1438: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:1460: \"$ac_compiler -V </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1440: \"$ac_compiler -V </dev/null >&5\"") >&5
+ (eval $ac_compiler -V </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1463: \$? = $ac_status" >&5
++ echo "$as_me:1443: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1467 "configure"
++#line 1447 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1480,13 +1460,13 @@
+ # 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:1483: checking for C compiler default output" >&5
++echo "$as_me:1463: checking for C compiler default output" >&5
+ echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
+ ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+-if { (eval echo "$as_me:1486: \"$ac_link_default\"") >&5
++if { (eval echo "$as_me:1466: \"$ac_link_default\"") >&5
+ (eval $ac_link_default) 2>&5
+ ac_status=$?
+- echo "$as_me:1489: \$? = $ac_status" >&5
++ echo "$as_me:1469: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Find the output, starting from the most likely. This scheme is
+ # not robust to junk in `.', hence go to wildcards (a.*) only as a last
+@@ -1509,34 +1489,34 @@
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-{ { echo "$as_me:1512: error: C compiler cannot create executables" >&5
++{ { echo "$as_me:1492: error: C compiler cannot create executables" >&5
+ echo "$as_me: error: C compiler cannot create executables" >&2;}
+ { (exit 77); exit 77; }; }
+ fi
+
+ ac_exeext=$ac_cv_exeext
+-echo "$as_me:1518: result: $ac_file" >&5
++echo "$as_me:1498: result: $ac_file" >&5
+ echo "${ECHO_T}$ac_file" >&6
+
+ # Check the compiler produces executables we can run. If not, either
+ # the compiler is broken, or we cross compile.
+-echo "$as_me:1523: checking whether the C compiler works" >&5
++echo "$as_me:1503: 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'
+- { (eval echo "$as_me:1529: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1509: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1532: \$? = $ac_status" >&5
++ echo "$as_me:1512: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+- { { echo "$as_me:1539: error: cannot run C compiled programs.
++ { { echo "$as_me:1519: error: cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'." >&5
+ echo "$as_me: error: cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'." >&2;}
+@@ -1544,24 +1524,24 @@
+ fi
+ fi
+ fi
+-echo "$as_me:1547: result: yes" >&5
++echo "$as_me:1527: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+
+ rm -f a.out a.exe conftest$ac_cv_exeext
+ ac_clean_files=$ac_clean_files_save
+ # Check the compiler produces executables we can run. If not, either
+ # the compiler is broken, or we cross compile.
+-echo "$as_me:1554: checking whether we are cross compiling" >&5
++echo "$as_me:1534: checking whether we are cross compiling" >&5
+ echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+-echo "$as_me:1556: result: $cross_compiling" >&5
++echo "$as_me:1536: result: $cross_compiling" >&5
+ echo "${ECHO_T}$cross_compiling" >&6
+
+-echo "$as_me:1559: checking for executable suffix" >&5
++echo "$as_me:1539: checking for executable suffix" >&5
+ echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6
+-if { (eval echo "$as_me:1561: \"$ac_link\"") >&5
++if { (eval echo "$as_me:1541: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:1564: \$? = $ac_status" >&5
++ echo "$as_me:1544: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+ # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+@@ -1577,25 +1557,25 @@
+ esac
+ done
+ else
+- { { echo "$as_me:1580: error: cannot compute EXEEXT: cannot compile and link" >&5
++ { { echo "$as_me:1560: error: cannot compute EXEEXT: cannot compile and link" >&5
+ echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ rm -f conftest$ac_cv_exeext
+-echo "$as_me:1586: result: $ac_cv_exeext" >&5
++echo "$as_me:1566: result: $ac_cv_exeext" >&5
+ echo "${ECHO_T}$ac_cv_exeext" >&6
+
+ rm -f conftest.$ac_ext
+ EXEEXT=$ac_cv_exeext
+ ac_exeext=$EXEEXT
+-echo "$as_me:1592: checking for object suffix" >&5
++echo "$as_me:1572: checking for object suffix" >&5
+ echo $ECHO_N "checking for object suffix... $ECHO_C" >&6
+ if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1598 "configure"
++#line 1578 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1607,10 +1587,10 @@
+ }
+ _ACEOF
+ rm -f conftest.o conftest.obj
+-if { (eval echo "$as_me:1610: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1590: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1613: \$? = $ac_status" >&5
++ echo "$as_me:1593: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+ case $ac_file in
+@@ -1622,24 +1602,24 @@
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-{ { echo "$as_me:1625: error: cannot compute OBJEXT: cannot compile" >&5
++{ { echo "$as_me:1605: error: cannot compute OBJEXT: cannot compile" >&5
+ echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ rm -f conftest.$ac_cv_objext conftest.$ac_ext
+ fi
+-echo "$as_me:1632: result: $ac_cv_objext" >&5
++echo "$as_me:1612: result: $ac_cv_objext" >&5
+ echo "${ECHO_T}$ac_cv_objext" >&6
+ OBJEXT=$ac_cv_objext
+ ac_objext=$OBJEXT
+-echo "$as_me:1636: checking whether we are using the GNU C compiler" >&5
++echo "$as_me:1616: 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
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1642 "configure"
++#line 1622 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1654,16 +1634,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1657: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1637: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1660: \$? = $ac_status" >&5
++ echo "$as_me:1640: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1663: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1643: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1666: \$? = $ac_status" >&5
++ echo "$as_me:1646: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_compiler_gnu=yes
+ else
+@@ -1675,19 +1655,19 @@
+ ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+ fi
+-echo "$as_me:1678: result: $ac_cv_c_compiler_gnu" >&5
++echo "$as_me:1658: result: $ac_cv_c_compiler_gnu" >&5
+ echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+ GCC=`test $ac_compiler_gnu = yes && echo yes`
+ ac_test_CFLAGS=${CFLAGS+set}
+ ac_save_CFLAGS=$CFLAGS
+ CFLAGS="-g"
+-echo "$as_me:1684: checking whether $CC accepts -g" >&5
++echo "$as_me:1664: 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
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1690 "configure"
++#line 1670 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1699,16 +1679,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1702: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1682: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1705: \$? = $ac_status" >&5
++ echo "$as_me:1685: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1708: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1688: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1711: \$? = $ac_status" >&5
++ echo "$as_me:1691: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_g=yes
+ else
+@@ -1718,7 +1698,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:1721: result: $ac_cv_prog_cc_g" >&5
++echo "$as_me:1701: result: $ac_cv_prog_cc_g" >&5
+ echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+@@ -1745,16 +1725,16 @@
+ #endif
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1748: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1728: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1751: \$? = $ac_status" >&5
++ echo "$as_me:1731: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1754: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1734: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1757: \$? = $ac_status" >&5
++ echo "$as_me:1737: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+ ''\
+@@ -1766,7 +1746,7 @@
+ 'void exit (int);'
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1769 "configure"
++#line 1749 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ $ac_declaration
+@@ -1779,16 +1759,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1782: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1762: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1785: \$? = $ac_status" >&5
++ echo "$as_me:1765: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1788: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1768: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1791: \$? = $ac_status" >&5
++ echo "$as_me:1771: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -1798,7 +1778,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1801 "configure"
++#line 1781 "configure"
+ #include "confdefs.h"
+ $ac_declaration
+ int
+@@ -1810,16 +1790,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1813: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1793: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1816: \$? = $ac_status" >&5
++ echo "$as_me:1796: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1819: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1799: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1822: \$? = $ac_status" >&5
++ echo "$as_me:1802: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -1847,13 +1827,214 @@
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ ac_main_return=return
+
++GCC_VERSION=none
++if test "$GCC" = yes ; then
++ echo "$as_me:1832: checking version of $CC" >&5
++echo $ECHO_N "checking version of $CC... $ECHO_C" >&6
++ GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[^)]*) //' -e 's/^.*(Debian[^)]*) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
++ test -z "$GCC_VERSION" && GCC_VERSION=unknown
++ echo "$as_me:1836: result: $GCC_VERSION" >&5
++echo "${ECHO_T}$GCC_VERSION" >&6
++fi
++
++echo "$as_me:1840: checking for $CC option to accept ANSI C" >&5
++echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
++if test "${ac_cv_prog_cc_stdc+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_prog_cc_stdc=no
++ac_save_CC=$CC
++cat >conftest.$ac_ext <<_ACEOF
++#line 1848 "configure"
++#include "confdefs.h"
++#include <stdarg.h>
++#include <stdio.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++/* 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);
++static char *e (p, i)
++ char **p;
++ int i;
++{
++ return p[i];
++}
++static char *f (char * (*g) (char **, int), char **p, ...)
++{
++ char *s;
++ va_list v;
++ va_start (v,p);
++ s = g (p, va_arg (v,int));
++ va_end (v);
++ return s;
++}
++int test (int i, double x);
++struct s1 {int (*f) (int a);};
++struct s2 {int (*f) (double a);};
++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
++int argc;
++char **argv;
++int
++main ()
++{
++return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
++ ;
++ return 0;
++}
++_ACEOF
++# Don't try gcc -ansi; that turns off useful extensions and
++# breaks some systems' header files.
++# AIX -qlanglvl=ansi
++# Ultrix and OSF/1 -std1
++# HP-UX 10.20 and later -Ae
++# HP-UX older versions -Aa -D_HPUX_SOURCE
++# SVR4 -Xc -D__EXTENSIONS__
++for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
++do
++ CC="$ac_save_CC $ac_arg"
++ rm -f conftest.$ac_objext
++if { (eval echo "$as_me:1897: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:1900: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:1903: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:1906: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_prog_cc_stdc=$ac_arg
++break
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++fi
++rm -f conftest.$ac_objext
++done
++rm -f conftest.$ac_ext conftest.$ac_objext
++CC=$ac_save_CC
++
++fi
++
++case "x$ac_cv_prog_cc_stdc" in
++ x|xno)
++ echo "$as_me:1923: result: none needed" >&5
++echo "${ECHO_T}none needed" >&6 ;;
++ *)
++ echo "$as_me:1926: result: $ac_cv_prog_cc_stdc" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
++ CC="$CC $ac_cv_prog_cc_stdc" ;;
++esac
++
++# This should have been defined by AC_PROG_CC
++: ${CC:=cc}
++
++echo "$as_me:1934: checking \$CC variable" >&5
++echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6
++case "$CC" in #(vi
++*[\ \ ]-[IUD]*)
++ echo "$as_me:1938: result: broken" >&5
++echo "${ECHO_T}broken" >&6
++ { echo "$as_me:1940: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
++echo "$as_me: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
++ # humor him...
++ cf_flags=`echo "$CC" | sed -e 's/^[^ ]*[ ]//'`
++ CC=`echo "$CC" | sed -e 's/[ ].*//'`
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_flags
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++ ;;
++*)
++ echo "$as_me:2026: result: ok" >&5
++echo "${ECHO_T}ok" >&6
++ ;;
++esac
++
+ 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
+ ac_main_return=return
+-echo "$as_me:1856: checking how to run the C preprocessor" >&5
++echo "$as_me:2037: 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
+@@ -1874,18 +2055,18 @@
+ # 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
+-#line 1877 "configure"
++#line 2058 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:1882: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2063: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:1888: \$? = $ac_status" >&5
++ echo "$as_me:2069: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -1908,17 +2089,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1911 "configure"
++#line 2092 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:1915: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2096: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:1921: \$? = $ac_status" >&5
++ echo "$as_me:2102: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -1955,7 +2136,7 @@
+ else
+ ac_cv_prog_CPP=$CPP
+ fi
+-echo "$as_me:1958: result: $CPP" >&5
++echo "$as_me:2139: result: $CPP" >&5
+ echo "${ECHO_T}$CPP" >&6
+ ac_preproc_ok=false
+ for ac_c_preproc_warn_flag in '' yes
+@@ -1965,18 +2146,18 @@
+ # 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
+-#line 1968 "configure"
++#line 2149 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:1973: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2154: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:1979: \$? = $ac_status" >&5
++ echo "$as_me:2160: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -1999,17 +2180,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2002 "configure"
++#line 2183 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:2006: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2187: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:2012: \$? = $ac_status" >&5
++ echo "$as_me:2193: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -2037,7 +2218,7 @@
+ if $ac_preproc_ok; then
+ :
+ else
+- { { echo "$as_me:2040: error: C preprocessor \"$CPP\" fails sanity check" >&5
++ { { echo "$as_me:2221: error: C preprocessor \"$CPP\" fails sanity check" >&5
+ echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -2053,7 +2234,7 @@
+ 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:2056: checking for $ac_word" >&5
++echo "$as_me:2237: 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
+@@ -2068,7 +2249,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_AWK="$ac_prog"
+-echo "$as_me:2071: found $ac_dir/$ac_word" >&5
++echo "$as_me:2252: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2076,10 +2257,10 @@
+ fi
+ AWK=$ac_cv_prog_AWK
+ if test -n "$AWK"; then
+- echo "$as_me:2079: result: $AWK" >&5
++ echo "$as_me:2260: result: $AWK" >&5
+ echo "${ECHO_T}$AWK" >&6
+ else
+- echo "$as_me:2082: result: no" >&5
++ echo "$as_me:2263: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2098,7 +2279,7 @@
+ # AFS /usr/afsws/bin/install, which mishandles nonexistent args
+ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+ # ./install, which can be erroneously created by make from ./install.sh.
+-echo "$as_me:2101: checking for a BSD compatible install" >&5
++echo "$as_me:2282: checking for a BSD compatible install" >&5
+ echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6
+ if test -z "$INSTALL"; then
+ if test "${ac_cv_path_install+set}" = set; then
+@@ -2147,7 +2328,7 @@
+ INSTALL=$ac_install_sh
+ fi
+ fi
+-echo "$as_me:2150: result: $INSTALL" >&5
++echo "$as_me:2331: result: $INSTALL" >&5
+ echo "${ECHO_T}$INSTALL" >&6
+
+ # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+@@ -2172,7 +2353,7 @@
+ 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:2175: checking for $ac_word" >&5
++echo "$as_me:2356: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_LINT+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2187,7 +2368,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_LINT="$ac_prog"
+-echo "$as_me:2190: found $ac_dir/$ac_word" >&5
++echo "$as_me:2371: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2195,17 +2376,17 @@
+ fi
+ LINT=$ac_cv_prog_LINT
+ if test -n "$LINT"; then
+- echo "$as_me:2198: result: $LINT" >&5
++ echo "$as_me:2379: result: $LINT" >&5
+ echo "${ECHO_T}$LINT" >&6
+ else
+- echo "$as_me:2201: result: no" >&5
++ echo "$as_me:2382: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ test -n "$LINT" && break
+ done
+
+-echo "$as_me:2208: checking if filesystem supports mixed-case filenames" >&5
++echo "$as_me:2389: checking if filesystem supports mixed-case filenames" >&5
+ echo $ECHO_N "checking if filesystem supports mixed-case filenames... $ECHO_C" >&6
+ if test "${cf_cv_mixedcase+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2232,9 +2413,10 @@
+ fi
+
+ fi
+-echo "$as_me:2235: result: $cf_cv_mixedcase" >&5
++echo "$as_me:2416: result: $cf_cv_mixedcase" >&5
+ echo "${ECHO_T}$cf_cv_mixedcase" >&6
+-test "$cf_cv_mixedcase" = yes && cat >>confdefs.h <<\EOF
++test "$cf_cv_mixedcase" = yes &&
++cat >>confdefs.h <<\EOF
+ #define MIXEDCASE_FILENAMES 1
+ EOF
+
+@@ -2242,7 +2424,7 @@
+ 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:2245: checking for $ac_word" >&5
++echo "$as_me:2427: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CTAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2257,7 +2439,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CTAGS="$ac_prog"
+-echo "$as_me:2260: found $ac_dir/$ac_word" >&5
++echo "$as_me:2442: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2265,10 +2447,10 @@
+ fi
+ CTAGS=$ac_cv_prog_CTAGS
+ if test -n "$CTAGS"; then
+- echo "$as_me:2268: result: $CTAGS" >&5
++ echo "$as_me:2450: result: $CTAGS" >&5
+ echo "${ECHO_T}$CTAGS" >&6
+ else
+- echo "$as_me:2271: result: no" >&5
++ echo "$as_me:2453: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2279,7 +2461,7 @@
+ 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:2282: checking for $ac_word" >&5
++echo "$as_me:2464: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ETAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2294,7 +2476,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ETAGS="$ac_prog"
+-echo "$as_me:2297: found $ac_dir/$ac_word" >&5
++echo "$as_me:2479: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2302,10 +2484,10 @@
+ fi
+ ETAGS=$ac_cv_prog_ETAGS
+ if test -n "$ETAGS"; then
+- echo "$as_me:2305: result: $ETAGS" >&5
++ echo "$as_me:2487: result: $ETAGS" >&5
+ echo "${ECHO_T}$ETAGS" >&6
+ else
+- echo "$as_me:2308: result: no" >&5
++ echo "$as_me:2490: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2314,7 +2496,7 @@
+
+ # Extract the first word of "${CTAGS:-ctags}", so it can be a program name with args.
+ set dummy ${CTAGS:-ctags}; ac_word=$2
+-echo "$as_me:2317: checking for $ac_word" >&5
++echo "$as_me:2499: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_MAKE_LOWER_TAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2329,7 +2511,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_MAKE_LOWER_TAGS="yes"
+-echo "$as_me:2332: found $ac_dir/$ac_word" >&5
++echo "$as_me:2514: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2338,17 +2520,17 @@
+ fi
+ MAKE_LOWER_TAGS=$ac_cv_prog_MAKE_LOWER_TAGS
+ if test -n "$MAKE_LOWER_TAGS"; then
+- echo "$as_me:2341: result: $MAKE_LOWER_TAGS" >&5
++ echo "$as_me:2523: result: $MAKE_LOWER_TAGS" >&5
+ echo "${ECHO_T}$MAKE_LOWER_TAGS" >&6
+ else
+- echo "$as_me:2344: result: no" >&5
++ echo "$as_me:2526: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ if test "$cf_cv_mixedcase" = yes ; then
+ # Extract the first word of "${ETAGS:-etags}", so it can be a program name with args.
+ set dummy ${ETAGS:-etags}; ac_word=$2
+-echo "$as_me:2351: checking for $ac_word" >&5
++echo "$as_me:2533: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_MAKE_UPPER_TAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2363,7 +2545,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_MAKE_UPPER_TAGS="yes"
+-echo "$as_me:2366: found $ac_dir/$ac_word" >&5
++echo "$as_me:2548: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2372,10 +2554,10 @@
+ fi
+ MAKE_UPPER_TAGS=$ac_cv_prog_MAKE_UPPER_TAGS
+ if test -n "$MAKE_UPPER_TAGS"; then
+- echo "$as_me:2375: result: $MAKE_UPPER_TAGS" >&5
++ echo "$as_me:2557: result: $MAKE_UPPER_TAGS" >&5
+ echo "${ECHO_T}$MAKE_UPPER_TAGS" >&6
+ else
+- echo "$as_me:2378: result: no" >&5
++ echo "$as_me:2560: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2395,14 +2577,14 @@
+ MAKE_LOWER_TAGS="#"
+ fi
+
+-echo "$as_me:2398: checking if -lm needed for math functions" >&5
++echo "$as_me:2580: checking if -lm needed for math functions" >&5
+ echo $ECHO_N "checking if -lm needed for math functions... $ECHO_C" >&6
+ if test "${cf_cv_need_libm+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2405 "configure"
++#line 2587 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -2417,16 +2599,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:2420: \"$ac_link\"") >&5
++if { (eval echo "$as_me:2602: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:2423: \$? = $ac_status" >&5
++ echo "$as_me:2605: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:2426: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2608: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2429: \$? = $ac_status" >&5
++ echo "$as_me:2611: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_need_libm=no
+ else
+@@ -2436,13 +2618,15 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:2439: result: $cf_cv_need_libm" >&5
++echo "$as_me:2621: result: $cf_cv_need_libm" >&5
+ echo "${ECHO_T}$cf_cv_need_libm" >&6
+ if test "$cf_cv_need_libm" = yes
+ then
+ MATH_LIB=-lm
+ fi
+
++top_builddir=`pwd`
++
+ CC_G_OPT="-g"
+ CC_SHARED_OPTS=unknown
+ CPPFLAGS="$CPPFLAGS"
+@@ -2464,427 +2648,304 @@
+ TEST_ARGS=""
+ TEST_DEPS=""
+ TEST_LIBS=""
+-TINFO_ARGS='$(LIBS_CURSES)'
++TINFO_LDFLAGS=''
++TINFO_LIBS='$(LIBS_CURSES)'
+ cf_cv_abi_version=""
+ cf_cv_rel_version=""
+
+ cf_cv_screen=curses
+ cf_cv_libtype=
+
+-echo "$as_me:2474: checking for ${CC:-cc} option to accept ANSI C" >&5
+-echo $ECHO_N "checking for ${CC:-cc} option to accept ANSI C... $ECHO_C" >&6
+-if test "${cf_cv_ansi_cc+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++if test "$GCC" = yes
++then
++cat > conftest.i <<EOF
++#ifndef GCC_PRINTF
++#define GCC_PRINTF 0
++#endif
++#ifndef GCC_SCANF
++#define GCC_SCANF 0
++#endif
++#ifndef GCC_NORETURN
++#define GCC_NORETURN /* nothing */
++#endif
++#ifndef GCC_UNUSED
++#define GCC_UNUSED /* nothing */
++#endif
++EOF
++if test "$GCC" = yes
++then
++ { echo "$as_me:2677: checking for $CC __attribute__ directives..." >&5
++echo "$as_me: checking for $CC __attribute__ directives..." >&6;}
++cat > conftest.$ac_ext <<EOF
++#line 2680 "${as_me:-configure}"
++#include "confdefs.h"
++#include "conftest.h"
++#include "conftest.i"
++#if GCC_PRINTF
++#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
++#else
++#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
++#endif
++#if GCC_SCANF
++#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
++#else
++#define GCC_SCANFLIKE(fmt,var) /*nothing*/
++#endif
++extern void wow(char *,...) GCC_SCANFLIKE(1,2);
++extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
++extern void foo(void) GCC_NORETURN;
++int main(int argc GCC_UNUSED, char *argv[] GCC_UNUSED) { return 0; }
++EOF
++ cf_printf_attribute=no
++ cf_scanf_attribute=no
++ for cf_attribute in scanf printf unused noreturn
++ do
+
+-cf_cv_ansi_cc=no
+-cf_save_CFLAGS="$CFLAGS"
+-cf_save_CPPFLAGS="$CPPFLAGS"
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc
+-# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
+-for cf_arg in "-DCC_HAS_PROTOS" \
+- "" \
+- -qlanglvl=ansi \
+- -std1 \
+- -Ae \
+- "-Aa -D_HPUX_SOURCE" \
+- -Xc
+-do
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_arg
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++cf_ATTRIBUTE=`echo "$cf_attribute" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
++ cf_directive="__attribute__(($cf_attribute))"
++ echo "checking for $CC $cf_directive" 1>&5
+
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
++ case $cf_attribute in #(vi
++ printf) #(vi
++ cf_printf_attribute=yes
++ cat >conftest.h <<EOF
++#define GCC_$cf_ATTRIBUTE 1
++EOF
+ ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
++ scanf) #(vi
++ cf_scanf_attribute=yes
++ cat >conftest.h <<EOF
++#define GCC_$cf_ATTRIBUTE 1
++EOF
+ ;;
+ *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++ cat >conftest.h <<EOF
++#define GCC_$cf_ATTRIBUTE $cf_directive
++EOF
++ ;;
++ esac
+
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++ if { (eval echo "$as_me:2729: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:2732: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ test -n "$verbose" && echo "$as_me:2734: result: ... $cf_attribute" >&5
++echo "${ECHO_T}... $cf_attribute" >&6
++ cat conftest.h >>confdefs.h
++ case $cf_attribute in #(vi
++ noreturn) #(vi
++
++cat >>confdefs.h <<EOF
++#define GCC_NORETURN $cf_directive
++EOF
+
+ ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ printf) #(vi
++ cf_value='/* nothing */'
++ if test "$cf_printf_attribute" != no ; then
++ cf_value='__attribute__((format(printf,fmt,var)))'
+
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++cat >>confdefs.h <<\EOF
++#define GCC_PRINTF 1
++EOF
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
++ fi
+
+-if test -n "$cf_new_cflags" ; then
++cat >>confdefs.h <<EOF
++#define GCC_PRINTFLIKE(fmt,var) $cf_value
++EOF
+
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
++ ;;
++ scanf) #(vi
++ cf_value='/* nothing */'
++ if test "$cf_scanf_attribute" != no ; then
++ cf_value='__attribute__((format(scanf,fmt,var)))'
+
+-if test -n "$cf_new_cppflags" ; then
++cat >>confdefs.h <<\EOF
++#define GCC_SCANF 1
++EOF
+
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
++ fi
+
+-if test -n "$cf_new_extra_cppflags" ; then
++cat >>confdefs.h <<EOF
++#define GCC_SCANFLIKE(fmt,var) $cf_value
++EOF
+
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++ ;;
++ unused) #(vi
++
++cat >>confdefs.h <<EOF
++#define GCC_UNUSED $cf_directive
++EOF
++
++ ;;
++ esac
++ fi
++ done
++else
++ fgrep define conftest.i >>confdefs.h
++fi
++rm -rf conftest*
+ fi
+
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 2578 "configure"
++cf_XOPEN_SOURCE=500
++cf_POSIX_C_SOURCE=199506L
++cf_xopen_source=
++
++case $host_os in #(vi
++aix[4-7]*) #(vi
++ cf_xopen_source="-D_ALL_SOURCE"
++ ;;
++cygwin) #(vi
++ cf_XOPEN_SOURCE=600
++ ;;
++darwin[0-8].*) #(vi
++ cf_xopen_source="-D_APPLE_C_SOURCE"
++ ;;
++darwin*) #(vi
++ cf_xopen_source="-D_DARWIN_C_SOURCE"
++ cf_XOPEN_SOURCE=
++ ;;
++freebsd*|dragonfly*) #(vi
++ # 5.x headers associate
++ # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
++ # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
++ cf_POSIX_C_SOURCE=200112L
++ cf_XOPEN_SOURCE=600
++ cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
++ ;;
++hpux11*) #(vi
++ cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
++ ;;
++hpux*) #(vi
++ cf_xopen_source="-D_HPUX_SOURCE"
++ ;;
++irix[56].*) #(vi
++ cf_xopen_source="-D_SGI_SOURCE"
++ cf_XOPEN_SOURCE=
++ ;;
++linux*|gnu*|mint*|k*bsd*-gnu) #(vi
++
++echo "$as_me:2831: checking if we must define _GNU_SOURCE" >&5
++echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_gnu_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 2838 "configure"
+ #include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
+
+-#ifndef CC_HAS_PROTOS
+-#if !defined(__STDC__) || (__STDC__ != 1)
+-choke me
+-#endif
++#ifndef _XOPEN_SOURCE
++make an error
+ #endif
+-
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:2853: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:2856: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:2859: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:2862: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_gnu_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 2871 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
+ int
+ main ()
+ {
+
+- int test (int i, double x);
+- struct s1 {int (*f) (int a);};
+- struct s2 {int (*f) (double a);};
++#ifdef _XOPEN_SOURCE
++make an error
++#endif
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2599: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2886: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2602: \$? = $ac_status" >&5
++ echo "$as_me:2889: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2605: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2892: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2608: \$? = $ac_status" >&5
++ echo "$as_me:2895: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_ansi_cc="$cf_arg"; break
++ cf_cv_gnu_source=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_cv_gnu_source=yes
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-done
+-CFLAGS="$cf_save_CFLAGS"
+-CPPFLAGS="$cf_save_CPPFLAGS"
++ CPPFLAGS="$cf_save"
+
+ fi
+-echo "$as_me:2621: result: $cf_cv_ansi_cc" >&5
+-echo "${ECHO_T}$cf_cv_ansi_cc" >&6
++rm -f conftest.$ac_objext conftest.$ac_ext
+
+-if test "$cf_cv_ansi_cc" != "no"; then
+-if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
++fi
++echo "$as_me:2910: result: $cf_cv_gnu_source" >&5
++echo "${ECHO_T}$cf_cv_gnu_source" >&6
++test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
++ ;;
++mirbsd*) #(vi
++ # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
++ cf_XOPEN_SOURCE=
+
+-for cf_add_cflags in $cf_cv_ansi_cc
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
++cf_save_CFLAGS="$CFLAGS"
++cf_save_CPPFLAGS="$CPPFLAGS"
+
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++cf_trim_CFLAGS=`echo "$cf_save_CFLAGS" | \
++ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \
++ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+-else
+- cat >>confdefs.h <<\EOF
+-#define CC_HAS_PROTOS 1
+-EOF
+-
+-fi
+-fi
+-
+-if test "$cf_cv_ansi_cc" = "no"; then
+- { { echo "$as_me:2714: error: Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto" >&5
+-echo "$as_me: error: Your compiler does not appear to recognize prototypes.
+-You have the following choices:
+- a. adjust your compiler options
+- b. get an up-to-date compiler
+- c. use a wrapper such as unproto" >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-
+-if test "$GCC" = yes
+-then
+-cat > conftest.i <<EOF
+-#ifndef GCC_PRINTF
+-#define GCC_PRINTF 0
+-#endif
+-#ifndef GCC_SCANF
+-#define GCC_SCANF 0
+-#endif
+-#ifndef GCC_NORETURN
+-#define GCC_NORETURN /* nothing */
+-#endif
+-#ifndef GCC_UNUSED
+-#define GCC_UNUSED /* nothing */
+-#endif
+-EOF
+-if test "$GCC" = yes
+-then
+- { echo "$as_me:2745: checking for $CC __attribute__ directives..." >&5
+-echo "$as_me: checking for $CC __attribute__ directives..." >&6;}
+-cat > conftest.$ac_ext <<EOF
+-#line 2748 "${as_me:-configure}"
+-#include "confdefs.h"
+-#include "conftest.h"
+-#include "conftest.i"
+-#if GCC_PRINTF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+-#else
+-#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
+-#endif
+-#if GCC_SCANF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+-#else
+-#define GCC_SCANFLIKE(fmt,var) /*nothing*/
+-#endif
+-extern void wow(char *,...) GCC_SCANFLIKE(1,2);
+-extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
+-extern void foo(void) GCC_NORETURN;
+-int main(int argc GCC_UNUSED, char *argv[] GCC_UNUSED) { return 0; }
+-EOF
+- cf_printf_attribute=no
+- cf_scanf_attribute=no
+- for cf_attribute in scanf printf unused noreturn
+- do
+-
+-cf_ATTRIBUTE=`echo "$cf_attribute" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+-
+- cf_directive="__attribute__(($cf_attribute))"
+- echo "checking for $CC $cf_directive" 1>&5
+-
+- case $cf_attribute in #(vi
+- printf) #(vi
+- cf_printf_attribute=yes
+- cat >conftest.h <<EOF
+-#define GCC_$cf_ATTRIBUTE 1
+-EOF
+- ;;
+- scanf) #(vi
+- cf_scanf_attribute=yes
+- cat >conftest.h <<EOF
+-#define GCC_$cf_ATTRIBUTE 1
+-EOF
+- ;;
+- *) #(vi
+- cat >conftest.h <<EOF
+-#define GCC_$cf_ATTRIBUTE $cf_directive
+-EOF
+- ;;
+- esac
+-
+- if { (eval echo "$as_me:2797: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:2800: \$? = $ac_status" >&5
+- (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:2802: result: ... $cf_attribute" >&5
+-echo "${ECHO_T}... $cf_attribute" >&6
+- cat conftest.h >>confdefs.h
+- case $cf_attribute in #(vi
+- printf) #(vi
+- if test "$cf_printf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+-EOF
+- fi
+- ;;
+- scanf) #(vi
+- if test "$cf_scanf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+-EOF
+- fi
+- ;;
+- esac
+- fi
+- done
+-else
+- fgrep define conftest.i >>confdefs.h
+-fi
+-rm -rf conftest*
+-fi
+-
+-cf_XOPEN_SOURCE=500
+-cf_POSIX_C_SOURCE=199506L
+-cf_xopen_source=
+-
+-case $host_os in #(vi
+-aix[456]*) #(vi
+- cf_xopen_source="-D_ALL_SOURCE"
+- ;;
+-cygwin) #(vi
+- cf_XOPEN_SOURCE=600
+- ;;
+-darwin[0-8].*) #(vi
+- cf_xopen_source="-D_APPLE_C_SOURCE"
+- ;;
+-darwin*) #(vi
+- cf_xopen_source="-D_DARWIN_C_SOURCE"
+- ;;
+-freebsd*|dragonfly*) #(vi
+- # 5.x headers associate
+- # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
+- # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
+- cf_POSIX_C_SOURCE=200112L
+- cf_XOPEN_SOURCE=600
+- cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- ;;
+-hpux11*) #(vi
+- cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
+- ;;
+-hpux*) #(vi
+- cf_xopen_source="-D_HPUX_SOURCE"
+- ;;
+-irix[56].*) #(vi
+- cf_xopen_source="-D_SGI_SOURCE"
+- ;;
+-linux*|gnu*|mint*|k*bsd*-gnu) #(vi
+-
+-echo "$as_me:2873: checking if we must define _GNU_SOURCE" >&5
+-echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6
+-if test "${cf_cv_gnu_source+set}" = set; then
++echo "$as_me:2932: checking if we should define _POSIX_C_SOURCE" >&5
++echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_posix_c_source+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 2880 "configure"
++echo "${as_me:-configure}:2938: testing if the symbol is already defined go no further ..." 1>&5
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 2941 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+ main ()
+ {
+
+-#ifndef _XOPEN_SOURCE
++#ifndef _POSIX_C_SOURCE
+ make an error
+ #endif
+ ;
+@@ -2892,32 +2953,44 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2895: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2956: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2898: \$? = $ac_status" >&5
++ echo "$as_me:2959: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2901: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2962: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2904: \$? = $ac_status" >&5
++ echo "$as_me:2965: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_gnu_source=no
++ cf_cv_posix_c_source=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_save="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 2913 "configure"
++cf_want_posix_source=no
++ case .$cf_POSIX_C_SOURCE in #(vi
++ .[12]??*) #(vi
++ cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
++ ;;
++ .2) #(vi
++ cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
++ cf_want_posix_source=yes
++ ;;
++ .*)
++ cf_want_posix_source=yes
++ ;;
++ esac
++ if test "$cf_want_posix_source" = yes ; then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 2986 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+ main ()
+ {
+
+-#ifdef _XOPEN_SOURCE
++#ifdef _POSIX_SOURCE
+ make an error
+ #endif
+ ;
+@@ -2925,75 +2998,42 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2928: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3001: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2931: \$? = $ac_status" >&5
++ echo "$as_me:3004: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2934: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3007: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2937: \$? = $ac_status" >&5
++ echo "$as_me:3010: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_gnu_source=no
++ :
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_gnu_source=yes
++cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE"
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- CPPFLAGS="$cf_save"
++ fi
+
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
++echo "${as_me:-configure}:3021: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
+
+-fi
+-echo "$as_me:2952: result: $cf_cv_gnu_source" >&5
+-echo "${ECHO_T}$cf_cv_gnu_source" >&6
+-test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
++ CFLAGS="$cf_trim_CFLAGS"
++ CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
+
+- ;;
+-mirbsd*) #(vi
+- # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
+- ;;
+-netbsd*) #(vi
+- # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
+- ;;
+-openbsd*) #(vi
+- # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
+- ;;
+-osf[45]*) #(vi
+- cf_xopen_source="-D_OSF_SOURCE"
+- ;;
+-nto-qnx*) #(vi
+- cf_xopen_source="-D_QNX_SOURCE"
+- ;;
+-sco*) #(vi
+- # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
+- ;;
+-solaris2.1[0-9]) #(vi
+- cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- ;;
+-solaris2.[1-9]) #(vi
+- cf_xopen_source="-D__EXTENSIONS__"
+- ;;
+-*)
+- echo "$as_me:2982: checking if we should define _XOPEN_SOURCE" >&5
+-echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
+-if test "${cf_cv_xopen_source+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++echo "${as_me:-configure}:3026: testing if the second compile does not leave our definition intact error ..." 1>&5
+
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 2989 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 3029 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+ main ()
+ {
+
+-#ifndef _XOPEN_SOURCE
++#ifndef _POSIX_C_SOURCE
+ make an error
+ #endif
+ ;
+@@ -3001,32 +3041,200 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3004: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3044: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3007: \$? = $ac_status" >&5
++ echo "$as_me:3047: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3010: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3050: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3013: \$? = $ac_status" >&5
++ echo "$as_me:3053: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_xopen_source=no
++ :
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_save="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 3022 "configure"
+-#include "confdefs.h"
+-#include <sys/types.h>
+-int
+-main ()
+-{
+-
+-#ifdef _XOPEN_SOURCE
++cf_cv_posix_c_source=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$cf_save_CFLAGS"
++ CPPFLAGS="$cf_save_CPPFLAGS"
++
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++
++fi
++echo "$as_me:3069: result: $cf_cv_posix_c_source" >&5
++echo "${ECHO_T}$cf_cv_posix_c_source" >&6
++
++if test "$cf_cv_posix_c_source" != no ; then
++ CFLAGS="$cf_trim_CFLAGS"
++ CPPFLAGS="$cf_trim_CPPFLAGS"
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_cv_posix_c_source
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++fi
++
++ ;;
++netbsd*) #(vi
++ cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ ;;
++openbsd[4-9]*) #(vi
++ # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
++ cf_xopen_source="-D_BSD_SOURCE"
++ cf_XOPEN_SOURCE=600
++ ;;
++openbsd*) #(vi
++ # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
++ ;;
++osf[45]*) #(vi
++ cf_xopen_source="-D_OSF_SOURCE"
++ ;;
++nto-qnx*) #(vi
++ cf_xopen_source="-D_QNX_SOURCE"
++ ;;
++sco*) #(vi
++ # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
++ ;;
++solaris2.*) #(vi
++ cf_xopen_source="-D__EXTENSIONS__"
++ ;;
++*)
++
++echo "$as_me:3182: checking if we should define _XOPEN_SOURCE" >&5
++echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_xopen_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 3189 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#ifndef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:3208: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:3211: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:3214: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:3217: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xopen_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 3226 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#ifdef _XOPEN_SOURCE
+ make an error
+ #endif
+ ;
+@@ -3034,16 +3242,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3037: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3245: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3040: \$? = $ac_status" >&5
++ echo "$as_me:3248: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3043: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3251: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3046: \$? = $ac_status" >&5
++ echo "$as_me:3254: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_xopen_source=no
+ else
+@@ -3058,9 +3266,10 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:3061: result: $cf_cv_xopen_source" >&5
++echo "$as_me:3269: result: $cf_cv_xopen_source" >&5
+ echo "${ECHO_T}$cf_cv_xopen_source" >&6
+- if test "$cf_cv_xopen_source" != no ; then
++
++if test "$cf_cv_xopen_source" != no ; then
+
+ CFLAGS=`echo "$CFLAGS" | \
+ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+@@ -3070,7 +3279,7 @@
+ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+- cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+@@ -3150,7 +3359,7 @@
+ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+
+- fi
++fi
+
+ cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE
+
+@@ -3165,16 +3374,16 @@
+ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
+ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'`
+
+-echo "$as_me:3168: checking if we should define _POSIX_C_SOURCE" >&5
++echo "$as_me:3377: checking if we should define _POSIX_C_SOURCE" >&5
+ echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6
+ if test "${cf_cv_posix_c_source+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-echo "${as_me:-configure}:3174: testing if the symbol is already defined go no further ..." 1>&5
++echo "${as_me:-configure}:3383: testing if the symbol is already defined go no further ..." 1>&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3177 "configure"
++#line 3386 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -3189,16 +3398,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3192: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3401: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3195: \$? = $ac_status" >&5
++ echo "$as_me:3404: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3198: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3407: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3201: \$? = $ac_status" >&5
++ echo "$as_me:3410: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_posix_c_source=no
+ else
+@@ -3219,7 +3428,7 @@
+ esac
+ if test "$cf_want_posix_source" = yes ; then
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3222 "configure"
++#line 3431 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -3234,16 +3443,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3237: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3446: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3240: \$? = $ac_status" >&5
++ echo "$as_me:3449: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3243: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3452: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3246: \$? = $ac_status" >&5
++ echo "$as_me:3455: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -3254,15 +3463,15 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+
+-echo "${as_me:-configure}:3257: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
++echo "${as_me:-configure}:3466: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
+
+ CFLAGS="$cf_trim_CFLAGS"
+ CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
+
+-echo "${as_me:-configure}:3262: testing if the second compile does not leave our definition intact error ..." 1>&5
++echo "${as_me:-configure}:3471: testing if the second compile does not leave our definition intact error ..." 1>&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3265 "configure"
++#line 3474 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ int
+@@ -3277,16 +3486,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3280: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3489: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3283: \$? = $ac_status" >&5
++ echo "$as_me:3492: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3286: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3495: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3289: \$? = $ac_status" >&5
++ echo "$as_me:3498: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -3302,7 +3511,7 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:3305: result: $cf_cv_posix_c_source" >&5
++echo "$as_me:3514: result: $cf_cv_posix_c_source" >&5
+ echo "${ECHO_T}$cf_cv_posix_c_source" >&6
+
+ if test "$cf_cv_posix_c_source" != no ; then
+@@ -3474,191 +3683,274 @@
+
+ fi
+
+-echo "$as_me:3477: checking for $CC option to accept ANSI C" >&5
+-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+-if test "${ac_cv_prog_cc_stdc+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_cv_prog_cc_stdc=no
+-ac_save_CC=$CC
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 3485 "configure"
++if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
++ echo "$as_me:3687: checking if _XOPEN_SOURCE really is set" >&5
++echo $ECHO_N "checking if _XOPEN_SOURCE really is set... $ECHO_C" >&6
++ cat >conftest.$ac_ext <<_ACEOF
++#line 3690 "configure"
+ #include "confdefs.h"
+-#include <stdarg.h>
+-#include <stdio.h>
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-/* 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);
+-static char *e (p, i)
+- char **p;
+- int i;
+-{
+- return p[i];
+-}
+-static char *f (char * (*g) (char **, int), char **p, ...)
+-{
+- char *s;
+- va_list v;
+- va_start (v,p);
+- s = g (p, va_arg (v,int));
+- va_end (v);
+- return s;
+-}
+-int test (int i, double x);
+-struct s1 {int (*f) (int a);};
+-struct s2 {int (*f) (double a);};
+-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+-int argc;
+-char **argv;
++#include <stdlib.h>
+ int
+ main ()
+ {
+-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
++
++#ifndef _XOPEN_SOURCE
++make an error
++#endif
+ ;
+ return 0;
+ }
+ _ACEOF
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX 10.20 and later -Ae
+-# HP-UX older versions -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc -D__EXTENSIONS__
+-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+-do
+- CC="$ac_save_CC $ac_arg"
+- rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3534: \"$ac_compile\"") >&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:3705: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3537: \$? = $ac_status" >&5
++ echo "$as_me:3708: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3540: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3711: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3543: \$? = $ac_status" >&5
++ echo "$as_me:3714: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_prog_cc_stdc=$ac_arg
+-break
++ cf_XOPEN_SOURCE_set=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_XOPEN_SOURCE_set=no
+ fi
+-rm -f conftest.$ac_objext
+-done
+-rm -f conftest.$ac_ext conftest.$ac_objext
+-CC=$ac_save_CC
+-
+-fi
+-
+-case "x$ac_cv_prog_cc_stdc" in
+- x|xno)
+- echo "$as_me:3560: result: none needed" >&5
+-echo "${ECHO_T}none needed" >&6 ;;
+- *)
+- echo "$as_me:3563: result: $ac_cv_prog_cc_stdc" >&5
+-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+- CC="$CC $ac_cv_prog_cc_stdc" ;;
+-esac
+-
+-echo "$as_me:3568: checking for an ANSI C-conforming const" >&5
+-echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
+-if test "${ac_cv_c_const+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 3574 "configure"
++rm -f conftest.$ac_objext conftest.$ac_ext
++ echo "$as_me:3723: result: $cf_XOPEN_SOURCE_set" >&5
++echo "${ECHO_T}$cf_XOPEN_SOURCE_set" >&6
++ if test $cf_XOPEN_SOURCE_set = yes
++ then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 3728 "configure"
+ #include "confdefs.h"
+-
++#include <stdlib.h>
+ int
+ main ()
+ {
+-/* FIXME: Include the comments suggested by Paul. */
+-#ifndef __cplusplus
+- /* Ultrix mips cc rejects this. */
+- typedef int charset[2];
+- const charset x;
+- /* SunOS 4.1.1 cc rejects this. */
+- char const *const *ccp;
+- char **p;
+- /* NEC SVR4.0.2 mips cc rejects this. */
+- struct point {int x, y;};
+- static struct point const zero = {0,0};
+- /* AIX XL C 1.02.0.0 rejects this.
+- It does not let you subtract one const X* pointer from another in
+- an arm of an if-expression whose if-part is not a constant
+- expression */
+- const char *g = "string";
+- ccp = &g + (g ? g-g : 0);
+- /* HPUX 7.0 cc rejects these. */
+- ++ccp;
+- p = (char**) ccp;
+- ccp = (char const *const *) p;
+- { /* SCO 3.2v4 cc rejects this. */
+- char *t;
+- char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+- *t++ = 0;
+- }
+- { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
+- int x[] = {25, 17};
+- const int *foo = &x[0];
+- ++foo;
+- }
+- { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+- typedef const int *iptr;
+- iptr p = 0;
+- ++p;
+- }
+- { /* AIX XL C 1.02.0.0 rejects this saying
+- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+- struct s { int j; const int *ap[3]; };
+- struct s *b; b->j = 5;
+- }
+- { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+- const int foo = 10;
+- }
++#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
++make an error
+ #endif
+-
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3632: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3743: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3635: \$? = $ac_status" >&5
++ echo "$as_me:3746: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3638: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3749: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3641: \$? = $ac_status" >&5
++ echo "$as_me:3752: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_c_const=yes
++ cf_XOPEN_SOURCE_set_ok=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_c_const=no
++cf_XOPEN_SOURCE_set_ok=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:3651: result: $ac_cv_c_const" >&5
+-echo "${ECHO_T}$ac_cv_c_const" >&6
+-if test $ac_cv_c_const = no; then
++ if test $cf_XOPEN_SOURCE_set_ok = no
++ then
++ { echo "$as_me:3763: WARNING: _XOPEN_SOURCE is lower than requested" >&5
++echo "$as_me: WARNING: _XOPEN_SOURCE is lower than requested" >&2;}
++ fi
++ else
+
+-cat >>confdefs.h <<\EOF
+-#define const
+-EOF
++echo "$as_me:3768: checking if we should define _XOPEN_SOURCE" >&5
++echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_xopen_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ cat >conftest.$ac_ext <<_ACEOF
++#line 3775 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#ifndef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:3794: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:3797: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:3800: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:3803: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xopen_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 3812 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#ifdef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:3831: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:3834: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:3837: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:3840: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xopen_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_xopen_source=$cf_XOPEN_SOURCE
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$cf_save"
++
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++
++fi
++echo "$as_me:3855: result: $cf_cv_xopen_source" >&5
++echo "${ECHO_T}$cf_cv_xopen_source" >&6
++
++if test "$cf_cv_xopen_source" != no ; then
++
++CFLAGS=`echo "$CFLAGS" | \
++ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'`
++
++ cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_temp_xopen_source
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++fi
++
++ fi
+ fi
+
+-echo "$as_me:3661: checking for signal global datatype" >&5
++echo "$as_me:3953: checking for signal global datatype" >&5
+ echo $ECHO_N "checking for signal global datatype... $ECHO_C" >&6
+ if test "${cf_cv_sig_atomic_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3670,7 +3962,7 @@
+ "int"
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3673 "configure"
++#line 3965 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -3693,16 +3985,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3696: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:3988: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:3699: \$? = $ac_status" >&5
++ echo "$as_me:3991: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3702: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3994: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3705: \$? = $ac_status" >&5
++ echo "$as_me:3997: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_sig_atomic_t=$cf_type
+ else
+@@ -3716,473 +4008,535 @@
+
+ fi
+
+-echo "$as_me:3719: result: $cf_cv_sig_atomic_t" >&5
++echo "$as_me:4011: result: $cf_cv_sig_atomic_t" >&5
+ echo "${ECHO_T}$cf_cv_sig_atomic_t" >&6
+-test "$cf_cv_sig_atomic_t" != no && cat >>confdefs.h <<EOF
++test "$cf_cv_sig_atomic_t" != no &&
++cat >>confdefs.h <<EOF
+ #define SIG_ATOMIC_T $cf_cv_sig_atomic_t
+ EOF
+
+-echo "$as_me:3725: checking if you want to see long compiling messages" >&5
+-echo $ECHO_N "checking if you want to see long compiling messages... $ECHO_C" >&6
+-
+-# Check whether --enable-echo or --disable-echo was given.
+-if test "${enable_echo+set}" = set; then
+- enableval="$enable_echo"
+- test "$enableval" != no && enableval=yes
+- if test "$enableval" != "yes" ; then
+-
+- ECHO_LT='--silent'
+- ECHO_LD='@echo linking $@;'
+- RULE_CC='@echo compiling $<'
+- SHOW_CC='@echo compiling $@'
+- ECHO_CC='@'
+-
+- else
+-
+- ECHO_LT=''
+- ECHO_LD=''
+- RULE_CC=''
+- SHOW_CC=''
+- ECHO_CC=''
++echo "$as_me:4018: checking if you want to use pkg-config" >&5
++echo $ECHO_N "checking if you want to use pkg-config... $ECHO_C" >&6
+
+- fi
++# Check whether --with-pkg-config or --without-pkg-config was given.
++if test "${with_pkg_config+set}" = set; then
++ withval="$with_pkg_config"
++ cf_pkg_config=$withval
+ else
+- enableval=yes
++ cf_pkg_config=yes
++fi;
++echo "$as_me:4028: result: $cf_pkg_config" >&5
++echo "${ECHO_T}$cf_pkg_config" >&6
+
+- ECHO_LT=''
+- ECHO_LD=''
+- RULE_CC=''
+- SHOW_CC=''
+- ECHO_CC=''
++case $cf_pkg_config in #(vi
++no) #(vi
++ PKG_CONFIG=none
++ ;;
++yes) #(vi
+
+-fi;
+-echo "$as_me:3759: result: $enableval" >&5
+-echo "${ECHO_T}$enableval" >&6
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
++set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
++echo "$as_me:4040: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ case $PKG_CONFIG in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
++ ;;
++ *)
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ if $as_executable_p "$ac_dir/$ac_word"; then
++ ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word"
++ echo "$as_me:4057: found $ac_dir/$ac_word" >&5
++ break
++fi
++done
+
+-GCC_VERSION=none
+-if test "$GCC" = yes ; then
+- echo "$as_me:3764: checking version of $CC" >&5
+-echo $ECHO_N "checking version of $CC... $ECHO_C" >&6
+- GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
+- test -z "$GCC_VERSION" && GCC_VERSION=unknown
+- echo "$as_me:3768: result: $GCC_VERSION" >&5
+-echo "${ECHO_T}$GCC_VERSION" >&6
++ ;;
++esac
+ fi
++PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+
+-if ( test "$GCC" = yes || test "$GXX" = yes )
+-then
+-echo "$as_me:3774: checking if you want to turn on gcc warnings" >&5
+-echo $ECHO_N "checking if you want to turn on gcc warnings... $ECHO_C" >&6
++if test -n "$PKG_CONFIG"; then
++ echo "$as_me:4068: result: $PKG_CONFIG" >&5
++echo "${ECHO_T}$PKG_CONFIG" >&6
++else
++ echo "$as_me:4071: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
+
+-# Check whether --enable-warnings or --disable-warnings was given.
+-if test "${enable_warnings+set}" = set; then
+- enableval="$enable_warnings"
+- test "$enableval" != yes && enableval=no
+- if test "$enableval" != "no" ; then
+- with_warnings=yes
+- else
+- with_warnings=no
+- fi
++fi
++if test -z "$ac_cv_path_PKG_CONFIG"; then
++ ac_pt_PKG_CONFIG=$PKG_CONFIG
++ # Extract the first word of "pkg-config", so it can be a program name with args.
++set dummy pkg-config; ac_word=$2
++echo "$as_me:4080: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- enableval=no
+- with_warnings=no
++ case $ac_pt_PKG_CONFIG in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
++ ;;
++ *)
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ if $as_executable_p "$ac_dir/$ac_word"; then
++ ac_cv_path_ac_pt_PKG_CONFIG="$ac_dir/$ac_word"
++ echo "$as_me:4097: found $ac_dir/$ac_word" >&5
++ break
++fi
++done
+
+-fi;
+-echo "$as_me:3791: result: $with_warnings" >&5
+-echo "${ECHO_T}$with_warnings" >&6
+-if test "$with_warnings" = "yes"
+-then
++ test -z "$ac_cv_path_ac_pt_PKG_CONFIG" && ac_cv_path_ac_pt_PKG_CONFIG="none"
++ ;;
++esac
++fi
++ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+
+-if test "$GCC" = yes
+-then
+-cat > conftest.i <<EOF
+-#ifndef GCC_PRINTF
+-#define GCC_PRINTF 0
+-#endif
+-#ifndef GCC_SCANF
+-#define GCC_SCANF 0
+-#endif
+-#ifndef GCC_NORETURN
+-#define GCC_NORETURN /* nothing */
+-#endif
+-#ifndef GCC_UNUSED
+-#define GCC_UNUSED /* nothing */
+-#endif
+-EOF
+-if test "$GCC" = yes
+-then
+- { echo "$as_me:3814: checking for $CC __attribute__ directives..." >&5
+-echo "$as_me: checking for $CC __attribute__ directives..." >&6;}
+-cat > conftest.$ac_ext <<EOF
+-#line 3817 "${as_me:-configure}"
+-#include "confdefs.h"
+-#include "conftest.h"
+-#include "conftest.i"
+-#if GCC_PRINTF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+-#else
+-#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
+-#endif
+-#if GCC_SCANF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+-#else
+-#define GCC_SCANFLIKE(fmt,var) /*nothing*/
+-#endif
+-extern void wow(char *,...) GCC_SCANFLIKE(1,2);
+-extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
+-extern void foo(void) GCC_NORETURN;
+-int main(int argc GCC_UNUSED, char *argv[] GCC_UNUSED) { return 0; }
+-EOF
+- cf_printf_attribute=no
+- cf_scanf_attribute=no
+- for cf_attribute in scanf printf unused noreturn
+- do
++if test -n "$ac_pt_PKG_CONFIG"; then
++ echo "$as_me:4109: result: $ac_pt_PKG_CONFIG" >&5
++echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6
++else
++ echo "$as_me:4112: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
+
+-cf_ATTRIBUTE=`echo "$cf_attribute" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++ PKG_CONFIG=$ac_pt_PKG_CONFIG
++else
++ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
++fi
+
+- cf_directive="__attribute__(($cf_attribute))"
+- echo "checking for $CC $cf_directive" 1>&5
++ ;;
++*)
++ PKG_CONFIG=$withval
++ ;;
++esac
+
+- case $cf_attribute in #(vi
+- printf) #(vi
+- cf_printf_attribute=yes
+- cat >conftest.h <<EOF
+-#define GCC_$cf_ATTRIBUTE 1
+-EOF
+- ;;
+- scanf) #(vi
+- cf_scanf_attribute=yes
+- cat >conftest.h <<EOF
+-#define GCC_$cf_ATTRIBUTE 1
+-EOF
+- ;;
+- *) #(vi
+- cat >conftest.h <<EOF
+-#define GCC_$cf_ATTRIBUTE $cf_directive
+-EOF
+- ;;
+- esac
++test -z "$PKG_CONFIG" && PKG_CONFIG=none
++if test "$PKG_CONFIG" != none ; then
+
+- if { (eval echo "$as_me:3866: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:3869: \$? = $ac_status" >&5
+- (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:3871: result: ... $cf_attribute" >&5
+-echo "${ECHO_T}... $cf_attribute" >&6
+- cat conftest.h >>confdefs.h
+- case $cf_attribute in #(vi
+- printf) #(vi
+- if test "$cf_printf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+-EOF
+- fi
+- ;;
+- scanf) #(vi
+- if test "$cf_scanf_attribute" = no ; then
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) /* nothing */
+-EOF
+- else
+- cat >>confdefs.h <<EOF
+-#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+-EOF
+- fi
+- ;;
+- esac
+- fi
+- done
++if test "x$prefix" != xNONE; then
++ cf_path_syntax="$prefix"
+ else
+- fgrep define conftest.i >>confdefs.h
++ cf_path_syntax="$ac_default_prefix"
+ fi
+-rm -rf conftest*
++
++case ".$PKG_CONFIG" in #(vi
++.\$\(*\)*|.\'*\'*) #(vi
++ ;;
++..|./*|.\\*) #(vi
++ ;;
++.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
++ ;;
++.\${*prefix}*|.\${*dir}*) #(vi
++ eval PKG_CONFIG="$PKG_CONFIG"
++ case ".$PKG_CONFIG" in #(vi
++ .NONE/*)
++ PKG_CONFIG=`echo $PKG_CONFIG | sed -e s%NONE%$cf_path_syntax%`
++ ;;
++ esac
++ ;; #(vi
++.no|.NONE/*)
++ PKG_CONFIG=`echo $PKG_CONFIG | sed -e s%NONE%$cf_path_syntax%`
++ ;;
++*)
++ { { echo "$as_me:4155: error: expected a pathname, not \"$PKG_CONFIG\"" >&5
++echo "$as_me: error: expected a pathname, not \"$PKG_CONFIG\"" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++esac
++
+ fi
+
+-INTEL_COMPILER=no
++echo "$as_me:4163: checking if you want to see long compiling messages" >&5
++echo $ECHO_N "checking if you want to see long compiling messages... $ECHO_C" >&6
+
+-if test "$GCC" = yes ; then
+- case $host_os in
+- linux*|gnu*)
+- echo "$as_me:3911: checking if this is really Intel C compiler" >&5
+-echo $ECHO_N "checking if this is really Intel C compiler... $ECHO_C" >&6
+- cf_save_CFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS -no-gcc"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 3916 "configure"
+-#include "confdefs.h"
++# Check whether --enable-echo or --disable-echo was given.
++if test "${enable_echo+set}" = set; then
++ enableval="$enable_echo"
++ test "$enableval" != no && enableval=yes
++ if test "$enableval" != "yes" ; then
+
+-int
+-main ()
+-{
++ ECHO_LT='--silent'
++ ECHO_LD='@echo linking $@;'
++ RULE_CC='@echo compiling $<'
++ SHOW_CC='@echo compiling $@'
++ ECHO_CC='@'
+
+-#ifdef __INTEL_COMPILER
+-#else
+-make an error
+-#endif
++ else
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3933: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:3936: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:3939: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:3942: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- INTEL_COMPILER=yes
+-cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
++ ECHO_LT=''
++ ECHO_LD=''
++ RULE_CC=''
++ SHOW_CC=''
++ ECHO_CC=''
+
++ fi
+ else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- CFLAGS="$cf_save_CFLAGS"
+- echo "$as_me:3953: result: $INTEL_COMPILER" >&5
+-echo "${ECHO_T}$INTEL_COMPILER" >&6
+- ;;
+- esac
+-fi
++ enableval=yes
+
+-cat > conftest.$ac_ext <<EOF
+-#line 3960 "${as_me:-configure}"
+-int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
+-EOF
++ ECHO_LT=''
++ ECHO_LD=''
++ RULE_CC=''
++ SHOW_CC=''
++ ECHO_CC=''
+
+-if test "$INTEL_COMPILER" = yes
+-then
+-# The "-wdXXX" options suppress warnings:
+-# remark #1419: external declaration in primary source file
+-# remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
+-# remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
+-# remark #193: zero used for undefined preprocessing identifier
+-# remark #593: variable "curs_sb_left_arrow" was set but never used
+-# remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
+-# remark #869: parameter "tw" was never referenced
+-# remark #981: operands are evaluated in unspecified order
+-# warning #279: controlling expression is constant
++fi;
++echo "$as_me:4197: result: $enableval" >&5
++echo "${ECHO_T}$enableval" >&6
+
+- { echo "$as_me:3977: checking for $CC warning options..." >&5
+-echo "$as_me: checking for $CC warning options..." >&6;}
+- cf_save_CFLAGS="$CFLAGS"
+- EXTRA_CFLAGS="-Wall"
+- for cf_opt in \
+- wd1419 \
+- wd1683 \
+- wd1684 \
+- wd193 \
+- wd593 \
+- wd279 \
+- wd810 \
+- wd869 \
+- wd981
+- do
+- CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
+- if { (eval echo "$as_me:3993: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:3996: \$? = $ac_status" >&5
+- (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:3998: result: ... -$cf_opt" >&5
+-echo "${ECHO_T}... -$cf_opt" >&6
+- EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+- fi
+- done
+- CFLAGS="$cf_save_CFLAGS"
+-
+-elif test "$GCC" = yes
+-then
+- { echo "$as_me:4007: checking for $CC warning options..." >&5
+-echo "$as_me: checking for $CC warning options..." >&6;}
+- cf_save_CFLAGS="$CFLAGS"
+- EXTRA_CFLAGS=
+- cf_warn_CONST=""
+- test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
+- for cf_opt in W Wall \
+- Wbad-function-cast \
+- Wcast-align \
+- Wcast-qual \
+- Winline \
+- Wmissing-declarations \
+- Wmissing-prototypes \
+- Wnested-externs \
+- Wpointer-arith \
+- Wshadow \
+- Wstrict-prototypes \
+- Wundef $cf_warn_CONST
+- do
+- CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
+- if { (eval echo "$as_me:4027: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:4030: \$? = $ac_status" >&5
+- (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:4032: result: ... -$cf_opt" >&5
+-echo "${ECHO_T}... -$cf_opt" >&6
+- case $cf_opt in #(vi
+- Wcast-qual) #(vi
+- CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
+- ;;
+- Winline) #(vi
+- case $GCC_VERSION in
+- [34].*)
+- test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6
++echo "$as_me:4200: checking for ncurses wrap-prefix" >&5
++echo $ECHO_N "checking for ncurses wrap-prefix... $ECHO_C" >&6
+
+-echo "${as_me:-configure}:4043: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
++# Check whether --with-ncurses-wrap-prefix or --without-ncurses-wrap-prefix was given.
++if test "${with_ncurses_wrap_prefix+set}" = set; then
++ withval="$with_ncurses_wrap_prefix"
++ NCURSES_WRAP_PREFIX=$withval
++else
++ NCURSES_WRAP_PREFIX=_nc_
++fi;
++echo "$as_me:4210: result: $NCURSES_WRAP_PREFIX" >&5
++echo "${ECHO_T}$NCURSES_WRAP_PREFIX" >&6
+
+- continue;;
+- esac
+- ;;
+- esac
+- EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+- fi
+- done
+- CFLAGS="$cf_save_CFLAGS"
+-fi
+-rm -rf conftest*
++echo "$as_me:4213: checking if you want to check for wide-character functions" >&5
++echo $ECHO_N "checking if you want to check for wide-character functions... $ECHO_C" >&6
+
+-fi
+-fi
++# Check whether --enable-widec or --disable-widec was given.
++if test "${enable_widec+set}" = set; then
++ enableval="$enable_widec"
++ test "$enableval" != no && enableval=yes
++ if test "$enableval" != "yes" ; then
++ cf_enable_widec=no
++ else
++ cf_enable_widec=yes
++ fi
++else
++ enableval=yes
++ cf_enable_widec=yes
+
+-echo "$as_me:4059: checking if you want to use dmalloc for testing" >&5
+-echo $ECHO_N "checking if you want to use dmalloc for testing... $ECHO_C" >&6
++fi;
++echo "$as_me:4230: result: $cf_enable_widec" >&5
++echo "${ECHO_T}$cf_enable_widec" >&6
+
+-# Check whether --with-dmalloc or --without-dmalloc was given.
+-if test "${with_dmalloc+set}" = set; then
+- withval="$with_dmalloc"
+- cat >>confdefs.h <<\EOF
+-#define USE_DMALLOC 1
+-EOF
++echo "$as_me:4233: checking for specific curses-directory" >&5
++echo $ECHO_N "checking for specific curses-directory... $ECHO_C" >&6
+
+- : ${with_cflags:=-g}
+- : ${with_no_leaks:=yes}
+- with_dmalloc=yes
++# Check whether --with-curses-dir or --without-curses-dir was given.
++if test "${with_curses_dir+set}" = set; then
++ withval="$with_curses_dir"
++ cf_cv_curses_dir=$withval
+ else
+- with_dmalloc=
++ cf_cv_curses_dir=no
+ fi;
+-echo "$as_me:4075: result: ${with_dmalloc:-no}" >&5
+-echo "${ECHO_T}${with_dmalloc:-no}" >&6
++echo "$as_me:4243: result: $cf_cv_curses_dir" >&5
++echo "${ECHO_T}$cf_cv_curses_dir" >&6
+
+-case .$with_cflags in #(vi
+-.*-g*)
+- case .$CFLAGS in #(vi
+- .*-g*) #(vi
+- ;;
+- *)
++if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
++then
+
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
++if test "x$prefix" != xNONE; then
++ cf_path_syntax="$prefix"
++else
++ cf_path_syntax="$ac_default_prefix"
++fi
+
+-for cf_add_cflags in -g
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++case ".$withval" in #(vi
++.\$\(*\)*|.\'*\'*) #(vi
++ ;;
++..|./*|.\\*) #(vi
++ ;;
++.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
++ ;;
++.\${*prefix}*|.\${*dir}*) #(vi
++ eval withval="$withval"
++ case ".$withval" in #(vi
++ .NONE/*)
++ withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
++ ;;
++ esac
++ ;; #(vi
++.no|.NONE/*)
++ withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
++ ;;
++*)
++ { { echo "$as_me:4274: error: expected a pathname, not \"$withval\"" >&5
++echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++esac
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
++ if test -d "$cf_cv_curses_dir"
++ then
+
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
++if test -n "$cf_cv_curses_dir/include" ; then
++ for cf_add_incdir in $cf_cv_curses_dir/include
++ do
++ while test $cf_add_incdir != /usr/include
++ do
++ if test -d $cf_add_incdir
++ then
++ cf_have_incdir=no
++ if test -n "$CFLAGS$CPPFLAGS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
++ if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
++ cf_have_incdir=yes; break
+ fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++ done
++ fi
+
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ if test "$cf_have_incdir" = no ; then
++ if test "$cf_add_incdir" = /usr/local/include ; then
++ if test "$GCC" = yes
++ then
++ cf_save_CPPFLAGS=$CPPFLAGS
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 4307 "configure"
++#include "confdefs.h"
++#include <stdio.h>
++int
++main ()
++{
++printf("Hello")
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:4319: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:4322: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:4325: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:4328: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_have_incdir=yes
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS=$cf_save_CPPFLAGS
++ fi
++ fi
++ fi
+
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++ if test "$cf_have_incdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
++echo "${as_me:-configure}:4345: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+-if test -n "$cf_new_cflags" ; then
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+- CFLAGS="$CFLAGS $cf_new_cflags"
++ cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
++ test "$cf_top_incdir" = "$cf_add_incdir" && break
++ cf_add_incdir="$cf_top_incdir"
++ else
++ break
++ fi
++ fi
++ done
++ done
+ fi
+
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
++if test -n "$cf_cv_curses_dir/lib" ; then
++ for cf_add_libdir in $cf_cv_curses_dir/lib
++ do
++ if test $cf_add_libdir = /usr/lib ; then
++ :
++ elif test -d $cf_add_libdir
++ then
++ cf_have_libdir=no
++ if test -n "$LDFLAGS$LIBS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_libdir in $LDFLAGS $LIBS ; do
++ if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
++ cf_have_libdir=yes; break
++ fi
++ done
++ fi
++ if test "$cf_have_libdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-if test -n "$cf_new_extra_cppflags" ; then
++echo "${as_me:-configure}:4379: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
++ fi
++ fi
++ done
+ fi
+
+- ;;
+- esac
++ fi
++fi
++
++cf_cv_screen=curses
++
++echo "$as_me:4392: checking for specified curses library type" >&5
++echo $ECHO_N "checking for specified curses library type... $ECHO_C" >&6
++
++# Check whether --with-ncursesw or --without-ncursesw was given.
++if test "${with_ncursesw+set}" = set; then
++ withval="$with_ncursesw"
++ cf_cv_screen=ncursesw
++else
++
++# Check whether --with-ncurses or --without-ncurses was given.
++if test "${with_ncurses+set}" = set; then
++ withval="$with_ncurses"
++ cf_cv_screen=ncurses
++else
++
++# Check whether --with-pdcurses or --without-pdcurses was given.
++if test "${with_pdcurses+set}" = set; then
++ withval="$with_pdcurses"
++ cf_cv_screen=pdcurses
++else
++
++# Check whether --with-curses-colr or --without-curses-colr was given.
++if test "${with_curses_colr+set}" = set; then
++ withval="$with_curses_colr"
++ cf_cv_screen=curses_colr
++else
++
++# Check whether --with-curses-5lib or --without-curses-5lib was given.
++if test "${with_curses_5lib+set}" = set; then
++ withval="$with_curses_5lib"
++ cf_cv_screen=curses_5lib
++fi;
++fi;
++fi;
++fi;
++fi;
++
++echo "$as_me:4429: result: $cf_cv_screen" >&5
++echo "${ECHO_T}$cf_cv_screen" >&6
++
++case $cf_cv_screen in #(vi
++curses|curses_*) #(vi
++
++echo "$as_me:4435: checking for extra include directories" >&5
++echo $ECHO_N "checking for extra include directories... $ECHO_C" >&6
++if test "${cf_cv_curses_incdir+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cf_cv_curses_incdir=no
++case $host_os in #(vi
++hpux10.*) #(vi
++ if test "x$cf_cv_screen" = "xcurses_colr"
++ then
++ test -d /usr/include/curses_colr && \
++ cf_cv_curses_incdir="-I/usr/include/curses_colr"
++ fi
++ ;;
++sunos3*|sunos4*)
++ if test "x$cf_cv_screen" = "xcurses_5lib"
++ then
++ test -d /usr/5lib && \
++ test -d /usr/5include && \
++ cf_cv_curses_incdir="-I/usr/5include"
++ fi
+ ;;
+ esac
+
+-if test "$with_dmalloc" = yes ; then
+- echo "$as_me:4169: checking for dmalloc.h" >&5
+-echo $ECHO_N "checking for dmalloc.h... $ECHO_C" >&6
+-if test "${ac_cv_header_dmalloc_h+set}" = set; then
++fi
++echo "$as_me:4461: result: $cf_cv_curses_incdir" >&5
++echo "${ECHO_T}$cf_cv_curses_incdir" >&6
++test "$cf_cv_curses_incdir" != no && CPPFLAGS="$CPPFLAGS $cf_cv_curses_incdir"
++
++echo "$as_me:4465: checking if we have identified curses headers" >&5
++echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
++if test "${cf_cv_ncurses_header+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cf_cv_ncurses_header=none
++for cf_header in \
++ ncurses.h \
++ curses.h ncurses/ncurses.h ncurses/curses.h
++do
++cat >conftest.$ac_ext <<_ACEOF
++#line 4477 "configure"
++#include "confdefs.h"
++#include <${cf_header}>
++int
++main ()
++{
++initscr(); tgoto("?", 0,0)
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:4489: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:4492: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:4495: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:4498: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_ncurses_header=$cf_header; break
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++done
++
++fi
++echo "$as_me:4509: result: $cf_cv_ncurses_header" >&5
++echo "${ECHO_T}$cf_cv_ncurses_header" >&6
++
++if test "$cf_cv_ncurses_header" = none ; then
++ { { echo "$as_me:4513: error: No curses header-files found" >&5
++echo "$as_me: error: No curses header-files found" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
++
++for ac_header in $cf_cv_ncurses_header
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:4523: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4175 "configure"
++#line 4529 "configure"
+ #include "confdefs.h"
+-#include <dmalloc.h>
++#include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:4179: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:4533: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:4185: \$? = $ac_status" >&5
++ echo "$as_me:4539: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -4193,238 +4547,316 @@
+ ac_cpp_err=yes
+ fi
+ if test -z "$ac_cpp_err"; then
+- ac_cv_header_dmalloc_h=yes
++ eval "$as_ac_Header=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+- ac_cv_header_dmalloc_h=no
++ eval "$as_ac_Header=no"
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:4204: result: $ac_cv_header_dmalloc_h" >&5
+-echo "${ECHO_T}$ac_cv_header_dmalloc_h" >&6
+-if test $ac_cv_header_dmalloc_h = yes; then
++echo "$as_me:4558: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++EOF
+
+-echo "$as_me:4208: checking for dmalloc_debug in -ldmalloc" >&5
+-echo $ECHO_N "checking for dmalloc_debug in -ldmalloc... $ECHO_C" >&6
+-if test "${ac_cv_lib_dmalloc_dmalloc_debug+set}" = set; then
++fi
++done
++
++echo "$as_me:4568: checking for terminfo header" >&5
++echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
++if test "${cf_cv_term_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ldmalloc $LIBS"
++
++case ${cf_cv_ncurses_header} in #(vi
++*/ncurses.h|*/ncursesw.h) #(vi
++ cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[^.]*\.h$%term.h%'`
++ ;;
++*)
++ cf_term_header=term.h
++ ;;
++esac
++
++for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
++do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4216 "configure"
++#line 4586 "configure"
+ #include "confdefs.h"
++#include <stdio.h>
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <$cf_test>
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char dmalloc_debug ();
+ int
+ main ()
+ {
+-dmalloc_debug ();
++int x = auto_left_margin
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:4235: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:4601: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4238: \$? = $ac_status" >&5
++ echo "$as_me:4604: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:4241: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:4607: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4244: \$? = $ac_status" >&5
++ echo "$as_me:4610: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_dmalloc_dmalloc_debug=yes
++
++ cf_cv_term_header="$cf_test"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_dmalloc_dmalloc_debug=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:4255: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
+-echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_debug" >&6
+-if test $ac_cv_lib_dmalloc_dmalloc_debug = yes; then
+- cat >>confdefs.h <<EOF
+-#define HAVE_LIBDMALLOC 1
+-EOF
+
+- LIBS="-ldmalloc $LIBS"
++ cf_cv_term_header=unknown
+
+ fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ test "$cf_cv_term_header" != unknown && break
++done
+
+ fi
++echo "$as_me:4626: result: $cf_cv_term_header" >&5
++echo "${ECHO_T}$cf_cv_term_header" >&6
+
+-fi
++# Set definitions to allow ifdef'ing to accommodate subdirectories
+
+-echo "$as_me:4270: checking if you want to use dbmalloc for testing" >&5
+-echo $ECHO_N "checking if you want to use dbmalloc for testing... $ECHO_C" >&6
++case $cf_cv_term_header in # (vi
++*term.h)
+
+-# Check whether --with-dbmalloc or --without-dbmalloc was given.
+-if test "${with_dbmalloc+set}" = set; then
+- withval="$with_dbmalloc"
+- cat >>confdefs.h <<\EOF
+-#define USE_DBMALLOC 1
++cat >>confdefs.h <<\EOF
++#define HAVE_TERM_H 1
+ EOF
+
+- : ${with_cflags:=-g}
+- : ${with_no_leaks:=yes}
+- with_dbmalloc=yes
+-else
+- with_dbmalloc=
+-fi;
+-echo "$as_me:4286: result: ${with_dbmalloc:-no}" >&5
+-echo "${ECHO_T}${with_dbmalloc:-no}" >&6
++ ;;
++esac
+
+-case .$with_cflags in #(vi
+-.*-g*)
+- case .$CFLAGS in #(vi
+- .*-g*) #(vi
+- ;;
+- *)
++case $cf_cv_term_header in # (vi
++ncurses/term.h) #(vi
+
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSES_TERM_H 1
++EOF
+
+-for cf_add_cflags in -g
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++ ;;
++ncursesw/term.h)
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSESW_TERM_H 1
++EOF
+
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+ ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++esac
+
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++echo "$as_me:4658: checking for ncurses version" >&5
++echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
++if test "${cf_cv_ncurses_version+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
++ cf_cv_ncurses_version=no
++ cf_tempfile=out$$
++ rm -f $cf_tempfile
++ if test "$cross_compiling" = yes; then
+
+-if test -n "$cf_new_cflags" ; then
++ # This will not work if the preprocessor splits the line after the
++ # Autoconf token. The 'unproto' program does that.
++ cat > conftest.$ac_ext <<EOF
++#include <${cf_cv_ncurses_header:-curses.h}>
++#undef Autoconf
++#ifdef NCURSES_VERSION
++Autoconf NCURSES_VERSION
++#else
++#ifdef __NCURSES_H
++Autoconf "old"
++#endif
++;
++#endif
++EOF
++ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
++ { (eval echo "$as_me:4684: \"$cf_try\"") >&5
++ (eval $cf_try) 2>&5
++ ac_status=$?
++ echo "$as_me:4687: \$? = $ac_status" >&5
++ (exit $ac_status); }
++ if test -f conftest.out ; then
++ cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
++ test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
++ rm -f conftest.out
++ fi
+
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 4697 "configure"
++#include "confdefs.h"
+
+-if test -n "$cf_new_cppflags" ; then
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <stdio.h>
++int main()
++{
++ FILE *fp = fopen("$cf_tempfile", "w");
++#ifdef NCURSES_VERSION
++# ifdef NCURSES_VERSION_PATCH
++ fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
++# else
++ fprintf(fp, "%s\n", NCURSES_VERSION);
++# endif
++#else
++# ifdef __NCURSES_H
++ fprintf(fp, "old\n");
++# else
++ make an error
++# endif
++#endif
++ ${cf_cv_main_return:-return}(0);
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:4722: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:4725: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (eval echo "$as_me:4727: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:4730: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
+
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++ cf_cv_ncurses_version=`cat $cf_tempfile`
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
+ fi
++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++ rm -f $cf_tempfile
+
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
++echo "$as_me:4744: result: $cf_cv_ncurses_version" >&5
++echo "${ECHO_T}$cf_cv_ncurses_version" >&6
++test "$cf_cv_ncurses_version" = no ||
++cat >>confdefs.h <<\EOF
++#define NCURSES 1
++EOF
+
+- ;;
+- esac
+- ;;
+-esac
++echo "$as_me:4751: checking if we have identified curses libraries" >&5
++echo $ECHO_N "checking if we have identified curses libraries... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++#line 4754 "configure"
++#include "confdefs.h"
++#include <${cf_cv_ncurses_header:-curses.h}>
++int
++main ()
++{
++initscr(); tgoto("?", 0,0)
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:4766: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:4769: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:4772: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:4775: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_result=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_result=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++echo "$as_me:4784: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
+
+-if test "$with_dbmalloc" = yes ; then
+- echo "$as_me:4380: checking for dbmalloc.h" >&5
+-echo $ECHO_N "checking for dbmalloc.h... $ECHO_C" >&6
+-if test "${ac_cv_header_dbmalloc_h+set}" = set; then
++if test "$cf_result" = no ; then
++case $host_os in #(vi
++freebsd*) #(vi
++ echo "$as_me:4790: checking for tgoto in -lmytinfo" >&5
++echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
++if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 4386 "configure"
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lmytinfo $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 4798 "configure"
+ #include "confdefs.h"
+-#include <dbmalloc.h>
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char tgoto ();
++int
++main ()
++{
++tgoto ();
++ ;
++ return 0;
++}
+ _ACEOF
+-if { (eval echo "$as_me:4390: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:4817: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:4396: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- ac_cv_header_dbmalloc_h=yes
++ echo "$as_me:4820: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:4823: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:4826: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_mytinfo_tgoto=yes
+ else
+ echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- ac_cv_header_dbmalloc_h=no
++cat conftest.$ac_ext >&5
++ac_cv_lib_mytinfo_tgoto=no
+ fi
+-rm -f conftest.err conftest.$ac_ext
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:4837: result: $ac_cv_lib_mytinfo_tgoto" >&5
++echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
++if test $ac_cv_lib_mytinfo_tgoto = yes; then
++ LIBS="-lmytinfo $LIBS"
+ fi
+-echo "$as_me:4415: result: $ac_cv_header_dbmalloc_h" >&5
+-echo "${ECHO_T}$ac_cv_header_dbmalloc_h" >&6
+-if test $ac_cv_header_dbmalloc_h = yes; then
+
+-echo "$as_me:4419: checking for debug_malloc in -ldbmalloc" >&5
+-echo $ECHO_N "checking for debug_malloc in -ldbmalloc... $ECHO_C" >&6
+-if test "${ac_cv_lib_dbmalloc_debug_malloc+set}" = set; then
++ ;;
++hpux10.*) #(vi
++ # Looking at HPUX 10.20, the Hcurses library is the oldest (1997), cur_colr
++ # next (1998), and xcurses "newer" (2000). There is no header file for
++ # Hcurses; the subdirectory curses_colr has the headers (curses.h and
++ # term.h) for cur_colr
++ if test "x$cf_cv_screen" = "xcurses_colr"
++ then
++ echo "$as_me:4851: checking for initscr in -lcur_colr" >&5
++echo $ECHO_N "checking for initscr in -lcur_colr... $ECHO_C" >&6
++if test "${ac_cv_lib_cur_colr_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ldbmalloc $LIBS"
++LIBS="-lcur_colr $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4427 "configure"
++#line 4859 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -4433,313 +4865,115 @@
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char debug_malloc ();
++char initscr ();
+ int
+ main ()
+ {
+-debug_malloc ();
++initscr ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:4446: \"$ac_link\"") >&5
++if { (eval echo "$as_me:4878: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4449: \$? = $ac_status" >&5
++ echo "$as_me:4881: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:4452: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4884: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4455: \$? = $ac_status" >&5
++ echo "$as_me:4887: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_dbmalloc_debug_malloc=yes
++ ac_cv_lib_cur_colr_initscr=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_dbmalloc_debug_malloc=no
++ac_cv_lib_cur_colr_initscr=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:4466: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
+-echo "${ECHO_T}$ac_cv_lib_dbmalloc_debug_malloc" >&6
+-if test $ac_cv_lib_dbmalloc_debug_malloc = yes; then
+- cat >>confdefs.h <<EOF
+-#define HAVE_LIBDBMALLOC 1
+-EOF
+-
+- LIBS="-ldbmalloc $LIBS"
++echo "$as_me:4898: result: $ac_cv_lib_cur_colr_initscr" >&5
++echo "${ECHO_T}$ac_cv_lib_cur_colr_initscr" >&6
++if test $ac_cv_lib_cur_colr_initscr = yes; then
+
+-fi
++ LIBS="-lcur_colr $LIBS"
++ ac_cv_func_initscr=yes
+
+-fi
++else
+
+-fi
++ echo "$as_me:4907: checking for initscr in -lHcurses" >&5
++echo $ECHO_N "checking for initscr in -lHcurses... $ECHO_C" >&6
++if test "${ac_cv_lib_Hcurses_initscr+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lHcurses $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 4915 "configure"
++#include "confdefs.h"
+
+-echo "$as_me:4481: checking if you want to use valgrind for testing" >&5
+-echo $ECHO_N "checking if you want to use valgrind for testing... $ECHO_C" >&6
+-
+-# Check whether --with-valgrind or --without-valgrind was given.
+-if test "${with_valgrind+set}" = set; then
+- withval="$with_valgrind"
+- cat >>confdefs.h <<\EOF
+-#define USE_VALGRIND 1
+-EOF
+-
+- : ${with_cflags:=-g}
+- : ${with_no_leaks:=yes}
+- with_valgrind=yes
+-else
+- with_valgrind=
+-fi;
+-echo "$as_me:4497: result: ${with_valgrind:-no}" >&5
+-echo "${ECHO_T}${with_valgrind:-no}" >&6
+-
+-case .$with_cflags in #(vi
+-.*-g*)
+- case .$CFLAGS in #(vi
+- .*-g*) #(vi
+- ;;
+- *)
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in -g
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+- ;;
+- esac
+- ;;
+-esac
+-
+-echo "$as_me:4590: checking if you want to perform memory-leak testing" >&5
+-echo $ECHO_N "checking if you want to perform memory-leak testing... $ECHO_C" >&6
+-
+-# Check whether --enable-leaks or --disable-leaks was given.
+-if test "${enable_leaks+set}" = set; then
+- enableval="$enable_leaks"
+- if test "x$enableval" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi
+-else
+- : ${with_no_leaks:=no}
+-fi;
+-echo "$as_me:4600: result: $with_no_leaks" >&5
+-echo "${ECHO_T}$with_no_leaks" >&6
+-
+-if test "$with_no_leaks" = yes ; then
+- cat >>confdefs.h <<\EOF
+-#define NO_LEAKS 1
+-EOF
+-
+- cat >>confdefs.h <<\EOF
+-#define YY_NO_LEAKS 1
+-EOF
+-
+-fi
+-
+-echo "$as_me:4614: checking for specific curses-directory" >&5
+-echo $ECHO_N "checking for specific curses-directory... $ECHO_C" >&6
+-
+-# Check whether --with-curses-dir or --without-curses-dir was given.
+-if test "${with_curses_dir+set}" = set; then
+- withval="$with_curses_dir"
+- cf_cv_curses_dir=$withval
+-else
+- cf_cv_curses_dir=no
+-fi;
+-echo "$as_me:4624: result: $cf_cv_curses_dir" >&5
+-echo "${ECHO_T}$cf_cv_curses_dir" >&6
+-
+-if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
+-then
+-
+-if test "x$prefix" != xNONE; then
+- cf_path_syntax="$prefix"
+-else
+- cf_path_syntax="$ac_default_prefix"
+-fi
+-
+-case ".$withval" in #(vi
+-.\$\(*\)*|.\'*\'*) #(vi
+- ;;
+-..|./*|.\\*) #(vi
+- ;;
+-.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+- ;;
+-.\${*prefix}*) #(vi
+- eval withval="$withval"
+- case ".$withval" in #(vi
+- .NONE/*)
+- withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
+- ;;
+- esac
+- ;; #(vi
+-.no|.NONE/*)
+- withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%`
+- ;;
+-*)
+- { { echo "$as_me:4655: error: expected a pathname, not \"$withval\"" >&5
+-echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+- { (exit 1); exit 1; }; }
+- ;;
+-esac
+-
+- if test -d "$cf_cv_curses_dir"
+- then
+-
+-if test -n "$cf_cv_curses_dir/include" ; then
+- for cf_add_incdir in $cf_cv_curses_dir/include
+- do
+- while test $cf_add_incdir != /usr/include
+- do
+- if test -d $cf_add_incdir
+- then
+- cf_have_incdir=no
+- if test -n "$CFLAGS$CPPFLAGS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
+- if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
+- cf_have_incdir=yes; break
+- fi
+- done
+- fi
+-
+- if test "$cf_have_incdir" = no ; then
+- if test "$cf_add_incdir" = /usr/local/include ; then
+- if test "$GCC" = yes
+- then
+- cf_save_CPPFLAGS=$CPPFLAGS
+- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 4688 "configure"
+-#include "confdefs.h"
+-#include <stdio.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char initscr ();
+ int
+ main ()
+ {
+-printf("Hello")
++initscr ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4700: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:4934: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4703: \$? = $ac_status" >&5
++ echo "$as_me:4937: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4706: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:4940: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4709: \$? = $ac_status" >&5
++ echo "$as_me:4943: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ ac_cv_lib_Hcurses_initscr=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_have_incdir=yes
++ac_cv_lib_Hcurses_initscr=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- CPPFLAGS=$cf_save_CPPFLAGS
+- fi
+- fi
+- fi
+-
+- if test "$cf_have_incdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:4954: result: $ac_cv_lib_Hcurses_initscr" >&5
++echo "${ECHO_T}$ac_cv_lib_Hcurses_initscr" >&6
++if test $ac_cv_lib_Hcurses_initscr = yes; then
+
+-echo "${as_me:-configure}:4726: testing adding $cf_add_incdir to include-path ..." 1>&5
++ # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
++ LIBS="-lHcurses $LIBS"
++ CPPFLAGS="$CPPFLAGS -D__HP_CURSES -D_HP_CURSES"
++ ac_cv_func_initscr=yes
+
+- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++fi
+
+- cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
+- test "$cf_top_incdir" = "$cf_add_incdir" && break
+- cf_add_incdir="$cf_top_incdir"
+- else
+- break
+- fi
+- fi
+- done
+- done
+ fi
+
+-if test -n "$cf_cv_curses_dir/lib" ; then
+- for cf_add_libdir in $cf_cv_curses_dir/lib
++ fi
++ ;;
++linux*)
++ case `arch 2>/dev/null` in
++ x86_64)
++ if test -d /lib64
++ then
++
++if test -n "/lib64" ; then
++ for cf_add_libdir in /lib64
+ do
+ if test $cf_add_libdir = /usr/lib ; then
+ :
+@@ -4757,7 +4991,7 @@
+ if test "$cf_have_libdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-echo "${as_me:-configure}:4760: testing adding $cf_add_libdir to library-path ..." 1>&5
++echo "${as_me:-configure}:4994: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+ fi
+@@ -4765,370 +4999,339 @@
+ done
+ fi
+
+- fi
+-fi
++ else
+
+-# Check whether --with-5lib or --without-5lib was given.
+-if test "${with_5lib+set}" = set; then
+- withval="$with_5lib"
+- LIBS="-L/usr/5lib $LIBS"
+- CPPFLAGS="$CPPFLAGS -I/usr/5include"
+-fi;
++if test -n "/lib" ; then
++ for cf_add_libdir in /lib
++ do
++ if test $cf_add_libdir = /usr/lib ; then
++ :
++ elif test -d $cf_add_libdir
++ then
++ cf_have_libdir=no
++ if test -n "$LDFLAGS$LIBS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_libdir in $LDFLAGS $LIBS ; do
++ if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
++ cf_have_libdir=yes; break
++ fi
++ done
++ fi
++ if test "$cf_have_libdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-# Check whether --with-ncursesw or --without-ncursesw was given.
+-if test "${with_ncursesw+set}" = set; then
+- withval="$with_ncursesw"
+- cf_cv_screen=ncursesw
+-else
++echo "${as_me:-configure}:5023: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+-# Check whether --with-ncurses or --without-ncurses was given.
+-if test "${with_ncurses+set}" = set; then
+- withval="$with_ncurses"
+- cf_cv_screen=ncurses
+-else
++ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
++ fi
++ fi
++ done
++fi
+
+-# Check whether --with-pdcurses or --without-pdcurses was given.
+-if test "${with_pdcurses+set}" = set; then
+- withval="$with_pdcurses"
+- cf_cv_screen=pdcurses
+-fi;
+-fi;
+-fi;
++ fi
++ ;;
++ *)
+
+-case $cf_cv_screen in
+-curses)
++if test -n "/lib" ; then
++ for cf_add_libdir in /lib
++ do
++ if test $cf_add_libdir = /usr/lib ; then
++ :
++ elif test -d $cf_add_libdir
++ then
++ cf_have_libdir=no
++ if test -n "$LDFLAGS$LIBS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_libdir in $LDFLAGS $LIBS ; do
++ if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
++ cf_have_libdir=yes; break
++ fi
++ done
++ fi
++ if test "$cf_have_libdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-echo "$as_me:4801: checking for extra include directories" >&5
+-echo $ECHO_N "checking for extra include directories... $ECHO_C" >&6
+-if test "${cf_cv_curses_incdir+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++echo "${as_me:-configure}:5054: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+-cf_cv_curses_incdir=no
+-case $host_os in #(vi
+-hpux10.*) #(vi
+- test -d /usr/include/curses_colr && \
+- cf_cv_curses_incdir="-I/usr/include/curses_colr"
++ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
++ fi
++ fi
++ done
++fi
++
++ ;;
++ esac
+ ;;
+ sunos3*|sunos4*)
+- test -d /usr/5lib && \
+- test -d /usr/5include && \
+- cf_cv_curses_incdir="-I/usr/5include"
+- ;;
+-esac
++ if test "x$cf_cv_screen" = "xcurses_5lib"
++ then
++ if test -d /usr/5lib ; then
++
++if test -n "/usr/5lib" ; then
++ for cf_add_libdir in /usr/5lib
++ do
++ if test $cf_add_libdir = /usr/lib ; then
++ :
++ elif test -d $cf_add_libdir
++ then
++ cf_have_libdir=no
++ if test -n "$LDFLAGS$LIBS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_libdir in $LDFLAGS $LIBS ; do
++ if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
++ cf_have_libdir=yes; break
++ fi
++ done
++ fi
++ if test "$cf_have_libdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
++echo "${as_me:-configure}:5089: testing adding $cf_add_libdir to library-path ..." 1>&5
++
++ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
++ fi
++ fi
++ done
+ fi
+-echo "$as_me:4821: result: $cf_cv_curses_incdir" >&5
+-echo "${ECHO_T}$cf_cv_curses_incdir" >&6
+-test "$cf_cv_curses_incdir" != no && CPPFLAGS="$CPPFLAGS $cf_cv_curses_incdir"
+
+-echo "$as_me:4825: checking if we have identified curses headers" >&5
+-echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_header+set}" = set; then
++ LIBS="-lcurses -ltermcap $LIBS"
++ fi
++ fi
++ ac_cv_func_initscr=yes
++ ;;
++esac
++
++if test ".$ac_cv_func_initscr" != .yes ; then
++ cf_save_LIBS="$LIBS"
++
++ if test ".${cf_cv_ncurses_version:-no}" != .no
++ then
++ cf_check_list="ncurses curses cursesX"
++ else
++ cf_check_list="cursesX curses ncurses"
++ fi
++
++ # Check for library containing tgoto. Do this before curses library
++ # because it may be needed to link the test-case for initscr.
++ if test "x$cf_term_lib" = x
++ then
++ echo "$as_me:5118: checking for tgoto" >&5
++echo $ECHO_N "checking for tgoto... $ECHO_C" >&6
++if test "${ac_cv_func_tgoto+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+-
+-cf_cv_ncurses_header=none
+-for cf_header in \
+- curses.h \
+- ncurses.h ncurses/curses.h ncurses/ncurses.h
+-do
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 4837 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5124 "configure"
+ #include "confdefs.h"
+-#include <${cf_header}>
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char tgoto (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char tgoto ();
++char (*f) ();
++
+ int
+ main ()
+ {
+-initscr(); tgoto("?", 0,0)
++/* 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_tgoto) || defined (__stub___tgoto)
++choke me
++#else
++f = tgoto; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4849: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:5155: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4852: \$? = $ac_status" >&5
++ echo "$as_me:5158: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4855: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:5161: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4858: \$? = $ac_status" >&5
++ echo "$as_me:5164: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_ncurses_header=$cf_header; break
++ ac_cv_func_tgoto=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++ac_cv_func_tgoto=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-done
+-
+-fi
+-echo "$as_me:4869: result: $cf_cv_ncurses_header" >&5
+-echo "${ECHO_T}$cf_cv_ncurses_header" >&6
+-
+-if test "$cf_cv_ncurses_header" = none ; then
+- { { echo "$as_me:4873: error: No curses header-files found" >&5
+-echo "$as_me: error: No curses header-files found" >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-
+-# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
+-
+-for ac_header in $cf_cv_ncurses_header
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:4883: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 4889 "configure"
+-#include "confdefs.h"
+-#include <$ac_header>
+-_ACEOF
+-if { (eval echo "$as_me:4893: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:4899: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-if test -z "$ac_cpp_err"; then
+- eval "$as_ac_Header=yes"
++echo "$as_me:5174: result: $ac_cv_func_tgoto" >&5
++echo "${ECHO_T}$ac_cv_func_tgoto" >&6
++if test $ac_cv_func_tgoto = yes; then
++ cf_term_lib=predefined
+ else
+- echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- eval "$as_ac_Header=no"
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-fi
+-echo "$as_me:4918: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-EOF
+-
+-fi
+-done
+
+-echo "$as_me:4928: checking for terminfo header" >&5
+-echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
+-if test "${cf_cv_term_header+set}" = set; then
++ for cf_term_lib in $cf_check_list otermcap termcap tinfo termlib unknown
++ do
++ as_ac_Lib=`echo "ac_cv_lib_$cf_term_lib''_tgoto" | $as_tr_sh`
++echo "$as_me:5183: checking for tgoto in -l$cf_term_lib" >&5
++echo $ECHO_N "checking for tgoto in -l$cf_term_lib... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+-
+-case ${cf_cv_ncurses_header} in #(vi
+-*/ncurses.h|*/ncursesw.h) #(vi
+- cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[^.]*\.h$%term.h%'`
+- ;;
+-*)
+- cf_term_header=term.h
+- ;;
+-esac
+-
+-for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
+-do
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-l$cf_term_lib $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4946 "configure"
++#line 5191 "configure"
+ #include "confdefs.h"
+-#include <stdio.h>
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#include <$cf_test>
+
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char tgoto ();
+ int
+ main ()
+ {
+-int x = auto_left_margin
++tgoto ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:4961: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:5210: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4964: \$? = $ac_status" >&5
++ echo "$as_me:5213: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4967: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:5216: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4970: \$? = $ac_status" >&5
++ echo "$as_me:5219: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+-
+- cf_cv_term_header="$cf_test"
++ eval "$as_ac_Lib=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-
+- cf_cv_term_header=unknown
+-
++eval "$as_ac_Lib=no"
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- test "$cf_cv_term_header" != unknown && break
+-done
+-
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:5230: result: `eval echo '${'$as_ac_Lib'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
++if test `eval echo '${'$as_ac_Lib'}'` = yes; then
++ break
+ fi
+-echo "$as_me:4986: result: $cf_cv_term_header" >&5
+-echo "${ECHO_T}$cf_cv_term_header" >&6
+-
+-# Set definitions to allow ifdef'ing to accommodate subdirectories
+-
+-case $cf_cv_term_header in # (vi
+-*term.h)
+- cat >>confdefs.h <<\EOF
+-#define HAVE_TERM_H 1
+-EOF
+-
+- ;;
+-esac
+-
+-case $cf_cv_term_header in # (vi
+-ncurses/term.h) #(vi
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSES_TERM_H 1
+-EOF
+-
+- ;;
+-ncursesw/term.h)
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSESW_TERM_H 1
+-EOF
+-
+- ;;
+-esac
+
+-echo "$as_me:5015: checking for ncurses version" >&5
+-echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_version+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++ done
+
+- cf_cv_ncurses_version=no
+- cf_tempfile=out$$
+- rm -f $cf_tempfile
+- if test "$cross_compiling" = yes; then
++fi
+
+- # This will not work if the preprocessor splits the line after the
+- # Autoconf token. The 'unproto' program does that.
+- cat > conftest.$ac_ext <<EOF
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#undef Autoconf
+-#ifdef NCURSES_VERSION
+-Autoconf NCURSES_VERSION
+-#else
+-#ifdef __NCURSES_H
+-Autoconf "old"
+-#endif
+-;
+-#endif
+-EOF
+- cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
+- { (eval echo "$as_me:5041: \"$cf_try\"") >&5
+- (eval $cf_try) 2>&5
+- ac_status=$?
+- echo "$as_me:5044: \$? = $ac_status" >&5
+- (exit $ac_status); }
+- if test -f conftest.out ; then
+- cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
+- test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
+- rm -f conftest.out
+ fi
+
++ # Check for library containing initscr
++ test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
++ if test "x$cf_curs_lib" = x
++ then
++ for cf_curs_lib in $cf_check_list xcurses jcurses pdcurses unknown
++ do
++ as_ac_Lib=`echo "ac_cv_lib_$cf_curs_lib''_initscr" | $as_tr_sh`
++echo "$as_me:5249: checking for initscr in -l$cf_curs_lib" >&5
++echo $ECHO_N "checking for initscr in -l$cf_curs_lib... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Lib+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 5054 "configure"
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-l$cf_curs_lib $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 5257 "configure"
+ #include "confdefs.h"
+
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#include <stdio.h>
+-int main()
+-{
+- FILE *fp = fopen("$cf_tempfile", "w");
+-#ifdef NCURSES_VERSION
+-# ifdef NCURSES_VERSION_PATCH
+- fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
+-# else
+- fprintf(fp, "%s\n", NCURSES_VERSION);
+-# endif
+-#else
+-# ifdef __NCURSES_H
+- fprintf(fp, "old\n");
+-# else
+- make an error
+-# endif
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
+ #endif
+- ${cf_cv_main_return:-return}(0);
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char initscr ();
++int
++main ()
++{
++initscr ();
++ ;
++ return 0;
+ }
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:5079: \"$ac_link\"") >&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:5276: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5082: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:5084: \"$ac_try\"") >&5
++ echo "$as_me:5279: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:5282: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5087: \$? = $ac_status" >&5
++ echo "$as_me:5285: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+-
+- cf_cv_ncurses_version=`cat $cf_tempfile`
++ eval "$as_ac_Lib=yes"
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++eval "$as_ac_Lib=no"
+ fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
+ fi
+- rm -f $cf_tempfile
+-
++echo "$as_me:5296: result: `eval echo '${'$as_ac_Lib'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
++if test `eval echo '${'$as_ac_Lib'}'` = yes; then
++ break
+ fi
+-echo "$as_me:5101: result: $cf_cv_ncurses_version" >&5
+-echo "${ECHO_T}$cf_cv_ncurses_version" >&6
+-test "$cf_cv_ncurses_version" = no || cat >>confdefs.h <<\EOF
+-#define NCURSES 1
+-EOF
+
+-echo "$as_me:5107: checking if we have identified curses libraries" >&5
+-echo $ECHO_N "checking if we have identified curses libraries... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5110 "configure"
++ done
++ fi
++ test $cf_curs_lib = unknown && { { echo "$as_me:5304: error: no curses library found" >&5
++echo "$as_me: error: no curses library found" >&2;}
++ { (exit 1); exit 1; }; }
++
++ LIBS="-l$cf_curs_lib $cf_save_LIBS"
++ if test "$cf_term_lib" = unknown ; then
++ echo "$as_me:5310: checking if we can link with $cf_curs_lib library" >&5
++echo $ECHO_N "checking if we can link with $cf_curs_lib library... $ECHO_C" >&6
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5313 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-initscr(); tgoto("?", 0,0)
++initscr()
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5122: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5325: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5125: \$? = $ac_status" >&5
++ echo "$as_me:5328: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5128: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5331: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5131: \$? = $ac_status" >&5
++ echo "$as_me:5334: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_result=yes
+ else
+@@ -5137,919 +5340,720 @@
+ cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-echo "$as_me:5140: result: $cf_result" >&5
++ echo "$as_me:5343: result: $cf_result" >&5
+ echo "${ECHO_T}$cf_result" >&6
+-
+-if test "$cf_result" = no ; then
+-case $host_os in #(vi
+-freebsd*) #(vi
+- echo "$as_me:5146: checking for tgoto in -lmytinfo" >&5
+-echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
+-if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lmytinfo $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5154 "configure"
++ test $cf_result = no && { { echo "$as_me:5345: error: Cannot link curses library" >&5
++echo "$as_me: error: Cannot link curses library" >&2;}
++ { (exit 1); exit 1; }; }
++ elif test "$cf_curs_lib" = "$cf_term_lib" ; then
++ :
++ elif test "$cf_term_lib" != predefined ; then
++ echo "$as_me:5351: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
++echo $ECHO_N "checking if we need both $cf_curs_lib and $cf_term_lib libraries... $ECHO_C" >&6
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5354 "configure"
+ #include "confdefs.h"
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char tgoto ();
++#include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-tgoto ();
++initscr(); tgoto((char *)0, 0, 0);
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5173: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5366: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5176: \$? = $ac_status" >&5
++ echo "$as_me:5369: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5179: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5372: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5182: \$? = $ac_status" >&5
++ echo "$as_me:5375: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_mytinfo_tgoto=yes
++ cf_result=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_mytinfo_tgoto=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:5193: result: $ac_cv_lib_mytinfo_tgoto" >&5
+-echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
+-if test $ac_cv_lib_mytinfo_tgoto = yes; then
+- LIBS="-lmytinfo $LIBS"
+-fi
+
+- ;;
+-hpux10.*) #(vi
+- echo "$as_me:5201: checking for initscr in -lcur_colr" >&5
+-echo $ECHO_N "checking for initscr in -lcur_colr... $ECHO_C" >&6
+-if test "${ac_cv_lib_cur_colr_initscr+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lcur_colr $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5209 "configure"
++ LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5384 "configure"
+ #include "confdefs.h"
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char initscr ();
++#include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-initscr ();
++initscr()
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5228: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5396: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5231: \$? = $ac_status" >&5
++ echo "$as_me:5399: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5234: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5402: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5237: \$? = $ac_status" >&5
++ echo "$as_me:5405: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_cur_colr_initscr=yes
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_cur_colr_initscr=no
++cf_result=error
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ echo "$as_me:5417: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++ fi
++fi
+ fi
+-echo "$as_me:5248: result: $ac_cv_lib_cur_colr_initscr" >&5
+-echo "${ECHO_T}$ac_cv_lib_cur_colr_initscr" >&6
+-if test $ac_cv_lib_cur_colr_initscr = yes; then
+
+- LIBS="-lcur_colr $LIBS"
+- ac_cv_func_initscr=yes
++ ;;
++ncurses) #(vi
+
+-else
++cf_ncuconfig_root=ncurses
+
+- echo "$as_me:5257: checking for initscr in -lHcurses" >&5
+-echo $ECHO_N "checking for initscr in -lHcurses... $ECHO_C" >&6
+-if test "${ac_cv_lib_Hcurses_initscr+set}" = set; then
++echo "Looking for ${cf_ncuconfig_root}-config"
++
++if test -n "$ac_tool_prefix"; then
++ for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
++ 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:5435: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_NCURSES_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lHcurses $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5265 "configure"
+-#include "confdefs.h"
++ if test -n "$NCURSES_CONFIG"; then
++ ac_cv_prog_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_NCURSES_CONFIG="$ac_tool_prefix$ac_prog"
++echo "$as_me:5450: found $ac_dir/$ac_word" >&5
++break
++done
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char initscr ();
+-int
+-main ()
+-{
+-initscr ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5284: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:5287: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5290: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:5293: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_Hcurses_initscr=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_lib_Hcurses_initscr=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:5304: result: $ac_cv_lib_Hcurses_initscr" >&5
+-echo "${ECHO_T}$ac_cv_lib_Hcurses_initscr" >&6
+-if test $ac_cv_lib_Hcurses_initscr = yes; then
+-
+- # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
+- LIBS="-lHcurses $LIBS"
+- CPPFLAGS="$CPPFLAGS -D__HP_CURSES -D_HP_CURSES"
+- ac_cv_func_initscr=yes
+-
+ fi
+-
++NCURSES_CONFIG=$ac_cv_prog_NCURSES_CONFIG
++if test -n "$NCURSES_CONFIG"; then
++ echo "$as_me:5458: result: $NCURSES_CONFIG" >&5
++echo "${ECHO_T}$NCURSES_CONFIG" >&6
++else
++ echo "$as_me:5461: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+
+- ;;
+-linux*)
+- case `arch 2>/dev/null` in
+- x86_64)
+- if test -d /lib64
+- then
+-
+-if test -n "/lib64" ; then
+- for cf_add_libdir in /lib64
+- do
+- if test $cf_add_libdir = /usr/lib ; then
+- :
+- elif test -d $cf_add_libdir
+- then
+- cf_have_libdir=no
+- if test -n "$LDFLAGS$LIBS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_libdir in $LDFLAGS $LIBS ; do
+- if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
+- cf_have_libdir=yes; break
+- fi
+- done
+- fi
+- if test "$cf_have_libdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+-
+-echo "${as_me:-configure}:5343: testing adding $cf_add_libdir to library-path ..." 1>&5
+-
+- LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+- fi
+- fi
++ test -n "$NCURSES_CONFIG" && break
+ done
+ fi
++if test -z "$NCURSES_CONFIG"; then
++ ac_ct_NCURSES_CONFIG=$NCURSES_CONFIG
++ for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
++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:5474: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_NCURSES_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_NCURSES_CONFIG"; then
++ ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_ct_NCURSES_CONFIG" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_prog"
++echo "$as_me:5489: found $ac_dir/$ac_word" >&5
++break
++done
+
+- else
+-
+-if test -n "/lib" ; then
+- for cf_add_libdir in /lib
+- do
+- if test $cf_add_libdir = /usr/lib ; then
+- :
+- elif test -d $cf_add_libdir
+- then
+- cf_have_libdir=no
+- if test -n "$LDFLAGS$LIBS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_libdir in $LDFLAGS $LIBS ; do
+- if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
+- cf_have_libdir=yes; break
+- fi
+- done
+- fi
+- if test "$cf_have_libdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+-
+-echo "${as_me:-configure}:5372: testing adding $cf_add_libdir to library-path ..." 1>&5
+-
+- LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+- fi
+- fi
+- done
+ fi
+-
+- fi
+- ;;
+- *)
+-
+-if test -n "/lib" ; then
+- for cf_add_libdir in /lib
+- do
+- if test $cf_add_libdir = /usr/lib ; then
+- :
+- elif test -d $cf_add_libdir
+- then
+- cf_have_libdir=no
+- if test -n "$LDFLAGS$LIBS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_libdir in $LDFLAGS $LIBS ; do
+- if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
+- cf_have_libdir=yes; break
+- fi
+- done
+- fi
+- if test "$cf_have_libdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+-
+-echo "${as_me:-configure}:5403: testing adding $cf_add_libdir to library-path ..." 1>&5
+-
+- LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+- fi
+- fi
+- done
++fi
++ac_ct_NCURSES_CONFIG=$ac_cv_prog_ac_ct_NCURSES_CONFIG
++if test -n "$ac_ct_NCURSES_CONFIG"; then
++ echo "$as_me:5497: result: $ac_ct_NCURSES_CONFIG" >&5
++echo "${ECHO_T}$ac_ct_NCURSES_CONFIG" >&6
++else
++ echo "$as_me:5500: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+
+- ;;
+- esac
+- ;;
+-sunos3*|sunos4*)
+- if test -d /usr/5lib ; then
+-
+-if test -n "/usr/5lib" ; then
+- for cf_add_libdir in /usr/5lib
+- do
+- if test $cf_add_libdir = /usr/lib ; then
+- :
+- elif test -d $cf_add_libdir
+- then
+- cf_have_libdir=no
+- if test -n "$LDFLAGS$LIBS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_libdir in $LDFLAGS $LIBS ; do
+- if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
+- cf_have_libdir=yes; break
+- fi
+- done
+- fi
+- if test "$cf_have_libdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+-
+-echo "${as_me:-configure}:5436: testing adding $cf_add_libdir to library-path ..." 1>&5
++ test -n "$ac_ct_NCURSES_CONFIG" && break
++done
++test -n "$ac_ct_NCURSES_CONFIG" || ac_ct_NCURSES_CONFIG="none"
+
+- LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+- fi
+- fi
+- done
++ NCURSES_CONFIG=$ac_ct_NCURSES_CONFIG
+ fi
+
+- LIBS="-lcurses -ltermcap $LIBS"
+- fi
+- ac_cv_func_initscr=yes
+- ;;
+-esac
++if test "$NCURSES_CONFIG" != none ; then
+
+-if test ".$ac_cv_func_initscr" != .yes ; then
+- cf_save_LIBS="$LIBS"
+- cf_term_lib=""
+- cf_curs_lib=""
++CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`"
++LIBS="`$NCURSES_CONFIG --libs` $LIBS"
+
+- if test ".${cf_cv_ncurses_version:-no}" != .no
+- then
+- cf_check_list="ncurses curses cursesX"
+- else
+- cf_check_list="cursesX curses ncurses"
+- fi
++# even with config script, some packages use no-override for curses.h
+
+- # Check for library containing tgoto. Do this before curses library
+- # because it may be needed to link the test-case for initscr.
+- echo "$as_me:5464: checking for tgoto" >&5
+-echo $ECHO_N "checking for tgoto... $ECHO_C" >&6
+-if test "${ac_cv_func_tgoto+set}" = set; then
++echo "$as_me:5518: checking if we have identified curses headers" >&5
++echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
++if test "${cf_cv_ncurses_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 5470 "configure"
+-#include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char tgoto (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char tgoto ();
+-char (*f) ();
+
++cf_cv_ncurses_header=none
++for cf_header in \
++ ncurses/ncurses.h \
++ ncurses/curses.h \
++ ncurses.h \
++ curses.h
++do
++cat >conftest.$ac_ext <<_ACEOF
++#line 5532 "configure"
++#include "confdefs.h"
++#include <${cf_header}>
+ int
+ main ()
+ {
+-/* 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_tgoto) || defined (__stub___tgoto)
+-choke me
+-#else
+-f = tgoto;
+-#endif
+-
++initscr(); tgoto("?", 0,0)
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5501: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:5544: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5504: \$? = $ac_status" >&5
++ echo "$as_me:5547: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5507: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:5550: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5510: \$? = $ac_status" >&5
++ echo "$as_me:5553: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_func_tgoto=yes
++ cf_cv_ncurses_header=$cf_header; break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_func_tgoto=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++done
++
+ fi
+-echo "$as_me:5520: result: $ac_cv_func_tgoto" >&5
+-echo "${ECHO_T}$ac_cv_func_tgoto" >&6
+-if test $ac_cv_func_tgoto = yes; then
+- cf_term_lib=predefined
+-else
++echo "$as_me:5564: result: $cf_cv_ncurses_header" >&5
++echo "${ECHO_T}$cf_cv_ncurses_header" >&6
+
+- for cf_term_lib in $cf_check_list termcap termlib unknown
+- do
+- as_ac_Lib=`echo "ac_cv_lib_$cf_term_lib''_tgoto" | $as_tr_sh`
+-echo "$as_me:5529: checking for tgoto in -l$cf_term_lib" >&5
+-echo $ECHO_N "checking for tgoto in -l$cf_term_lib... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
++if test "$cf_cv_ncurses_header" = none ; then
++ { { echo "$as_me:5568: error: No curses header-files found" >&5
++echo "$as_me: error: No curses header-files found" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
++
++for ac_header in $cf_cv_ncurses_header
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:5578: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-l$cf_term_lib $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5537 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5584 "configure"
+ #include "confdefs.h"
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char tgoto ();
+-int
+-main ()
+-{
+-tgoto ();
+- ;
+- return 0;
+-}
++#include <$ac_header>
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5556: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:5559: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5562: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++if { (eval echo "$as_me:5588: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+- echo "$as_me:5565: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- eval "$as_ac_Lib=yes"
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:5594: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ eval "$as_ac_Header=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-eval "$as_ac_Lib=no"
++ cat conftest.$ac_ext >&5
++ eval "$as_ac_Header=no"
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:5576: result: `eval echo '${'$as_ac_Lib'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+-if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+- break
++echo "$as_me:5613: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++EOF
++
+ fi
++done
+
+- done
++cat >>confdefs.h <<\EOF
++#define NCURSES 1
++EOF
+
+-fi
++cf_nculib_ROOT=`echo "HAVE_LIB$cf_ncuconfig_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+- # Check for library containing initscr
+- test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
+- for cf_curs_lib in $cf_check_list xcurses jcurses pdcurses unknown
+- do
+- as_ac_Lib=`echo "ac_cv_lib_$cf_curs_lib''_initscr" | $as_tr_sh`
+-echo "$as_me:5591: checking for initscr in -l$cf_curs_lib" >&5
+-echo $ECHO_N "checking for initscr in -l$cf_curs_lib... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-l$cf_curs_lib $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5599 "configure"
+-#include "confdefs.h"
++cat >>confdefs.h <<EOF
++#define $cf_nculib_ROOT 1
++EOF
++
++cf_cv_ncurses_version=`$NCURSES_CONFIG --version`
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char initscr ();
+-int
+-main ()
+-{
+-initscr ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5618: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:5621: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5624: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:5627: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- eval "$as_ac_Lib=yes"
+ else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-eval "$as_ac_Lib=no"
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:5638: result: `eval echo '${'$as_ac_Lib'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+-if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+- break
+-fi
+
+- done
+- test $cf_curs_lib = unknown && { { echo "$as_me:5645: error: no curses library found" >&5
+-echo "$as_me: error: no curses library found" >&2;}
+- { (exit 1); exit 1; }; }
++cf_ncuhdr_root=ncurses
+
+- LIBS="-l$cf_curs_lib $cf_save_LIBS"
+- if test "$cf_term_lib" = unknown ; then
+- echo "$as_me:5651: checking if we can link with $cf_curs_lib library" >&5
+-echo $ECHO_N "checking if we can link with $cf_curs_lib library... $ECHO_C" >&6
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 5654 "configure"
+-#include "confdefs.h"
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-int
+-main ()
+-{
+-initscr()
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5666: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:5669: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5672: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:5675: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_result=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_result=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- echo "$as_me:5684: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+- test $cf_result = no && { { echo "$as_me:5686: error: Cannot link curses library" >&5
+-echo "$as_me: error: Cannot link curses library" >&2;}
+- { (exit 1); exit 1; }; }
+- elif test "$cf_curs_lib" = "$cf_term_lib" ; then
+- :
+- elif test "$cf_term_lib" != predefined ; then
+- echo "$as_me:5692: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
+-echo $ECHO_N "checking if we need both $cf_curs_lib and $cf_term_lib libraries... $ECHO_C" >&6
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 5695 "configure"
+-#include "confdefs.h"
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-int
+-main ()
+-{
+-initscr(); tgoto((char *)0, 0, 0);
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5707: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:5710: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5713: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:5716: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_result=no
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
++test -n "$cf_cv_curses_dir" && \
++test "$cf_cv_curses_dir" != "no" && { \
+
+- LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 5725 "configure"
++if test -n "$cf_cv_curses_dir/include/$cf_ncuhdr_root" ; then
++ for cf_add_incdir in $cf_cv_curses_dir/include/$cf_ncuhdr_root
++ do
++ while test $cf_add_incdir != /usr/include
++ do
++ if test -d $cf_add_incdir
++ then
++ cf_have_incdir=no
++ if test -n "$CFLAGS$CPPFLAGS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
++ if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
++ cf_have_incdir=yes; break
++ fi
++ done
++ fi
++
++ if test "$cf_have_incdir" = no ; then
++ if test "$cf_add_incdir" = /usr/local/include ; then
++ if test "$GCC" = yes
++ then
++ cf_save_CPPFLAGS=$CPPFLAGS
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5666 "configure"
+ #include "confdefs.h"
+-#include <${cf_cv_ncurses_header:-curses.h}>
++#include <stdio.h>
+ int
+ main ()
+ {
+-initscr()
++printf("Hello")
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5737: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:5678: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5740: \$? = $ac_status" >&5
++ echo "$as_me:5681: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5743: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:5684: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5746: \$? = $ac_status" >&5
++ echo "$as_me:5687: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_result=yes
++ :
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_result=error
++cf_have_incdir=yes
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS=$cf_save_CPPFLAGS
++ fi
++ fi
++ fi
+
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- echo "$as_me:5758: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+- fi
+-fi
++ if test "$cf_have_incdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
++
++echo "${as_me:-configure}:5704: testing adding $cf_add_incdir to include-path ..." 1>&5
++
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++
++ cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
++ test "$cf_top_incdir" = "$cf_add_incdir" && break
++ cf_add_incdir="$cf_top_incdir"
++ else
++ break
++ fi
++ fi
++ done
++ done
+ fi
+
+-echo "$as_me:5764: checking for NetBSD form.h" >&5
+-echo $ECHO_N "checking for NetBSD form.h... $ECHO_C" >&6
+-if test "${cf_cv_netbsd_form_h+set}" = set; then
++}
++
++echo "$as_me:5721: checking for $cf_ncuhdr_root header in include-path" >&5
++echo $ECHO_N "checking for $cf_ncuhdr_root header in include-path... $ECHO_C" >&6
++if test "${cf_cv_ncurses_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5771 "configure"
+-#include "confdefs.h"
++ cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
++ ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
++ for cf_header in $cf_header_list
++ do
+
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#include <form.h>
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5733 "configure"
++#include "confdefs.h"
+
++#include <$cf_header>
+ int
+ main ()
+ {
+
+- FORM *form;
+- int y = current_field(form)->cursor_ypos;
+- int x = current_field(form)->cursor_xpos;
++#ifdef NCURSES_VERSION
++
++printf("%s\n", NCURSES_VERSION);
++#else
++#ifdef __NCURSES_H
++printf("old\n");
++#else
++ make an error
++#endif
++#endif
+
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5790: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5757: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5793: \$? = $ac_status" >&5
++ echo "$as_me:5760: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5796: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5763: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5799: \$? = $ac_status" >&5
++ echo "$as_me:5766: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_netbsd_form_h=yes
++ cf_cv_ncurses_h=$cf_header
+
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_netbsd_form_h=no
++cf_cv_ncurses_h=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
++ test "$cf_cv_ncurses_h" != no && break
++ done
++
+ fi
+-echo "$as_me:5811: result: $cf_cv_netbsd_form_h" >&5
+-echo "${ECHO_T}$cf_cv_netbsd_form_h" >&6
++echo "$as_me:5781: result: $cf_cv_ncurses_h" >&5
++echo "${ECHO_T}$cf_cv_ncurses_h" >&6
+
+-test "$cf_cv_netbsd_form_h" = yes && cat >>confdefs.h <<\EOF
+-#define HAVE_NETBSD_FORM_H 1
+-EOF
++if test "$cf_cv_ncurses_h" != no ; then
++ cf_cv_ncurses_header=$cf_cv_ncurses_h
++else
+
+-echo "$as_me:5818: checking for NetBSD menu.h" >&5
+-echo $ECHO_N "checking for NetBSD menu.h... $ECHO_C" >&6
+-if test "${cf_cv_netbsd_menu_h+set}" = set; then
++echo "$as_me:5788: checking for $cf_ncuhdr_root include-path" >&5
++echo $ECHO_N "checking for $cf_ncuhdr_root include-path... $ECHO_C" >&6
++if test "${cf_cv_ncurses_h2+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5825 "configure"
+-#include "confdefs.h"
++ test -n "$verbose" && echo
+
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#include <menu.h>
++cf_search=
++
++# collect the current set of include-directories from compiler flags
++cf_header_path_list=""
++if test -n "${CFLAGS}${CPPFLAGS}" ; then
++ for cf_header_path in $CPPFLAGS $CFLAGS
++ do
++ case $cf_header_path in #(vi
++ -I*)
++ cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
++
++test "$cf_header_path" != "NONE" && \
++test -d "$cf_header_path" && \
++ {
++ test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path"
++ test -d $cf_header_path/include && cf_search="$cf_search $cf_header_path/include"
++ test -d $cf_header_path/include/$cf_ncuhdr_root && cf_search="$cf_search $cf_header_path/include/$cf_ncuhdr_root"
++ test -d $cf_header_path/include/$cf_ncuhdr_root/include && cf_search="$cf_search $cf_header_path/include/$cf_ncuhdr_root/include"
++ test -d $cf_header_path/$cf_ncuhdr_root/include && cf_search="$cf_search $cf_header_path/$cf_ncuhdr_root/include"
++ test -d $cf_header_path/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $cf_header_path/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++ cf_header_path_list="$cf_header_path_list $cf_search"
++ ;;
++ esac
++ done
++fi
++
++# add the variations for the package we are looking for
++
++cf_search=
++
++test "/usr" != "$prefix" && \
++test -d "/usr" && \
++(test $prefix = NONE || test "/usr" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for include-directories under /usr"
++ test -d /usr/include && cf_search="$cf_search /usr/include"
++ test -d /usr/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/include/$cf_ncuhdr_root"
++ test -d /usr/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include"
++ test -d /usr/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/$cf_ncuhdr_root/include"
++ test -d /usr/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "$prefix" != "NONE" && \
++test -d "$prefix" && \
++ {
++ test -n "$verbose" && echo " ... testing for include-directories under $prefix"
++ test -d $prefix/include && cf_search="$cf_search $prefix/include"
++ test -d $prefix/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root"
++ test -d $prefix/include/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include"
++ test -d $prefix/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include"
++ test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "/usr/local" != "$prefix" && \
++test -d "/usr/local" && \
++(test $prefix = NONE || test "/usr/local" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for include-directories under /usr/local"
++ test -d /usr/local/include && cf_search="$cf_search /usr/local/include"
++ test -d /usr/local/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root"
++ test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include"
++ test -d /usr/local/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include"
++ test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "/opt" != "$prefix" && \
++test -d "/opt" && \
++(test $prefix = NONE || test "/opt" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for include-directories under /opt"
++ test -d /opt/include && cf_search="$cf_search /opt/include"
++ test -d /opt/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/include/$cf_ncuhdr_root"
++ test -d /opt/include/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include"
++ test -d /opt/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/$cf_ncuhdr_root/include"
++ test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "$HOME" != "$prefix" && \
++test -d "$HOME" && \
++(test $prefix = NONE || test "$HOME" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for include-directories under $HOME"
++ test -d $HOME/include && cf_search="$cf_search $HOME/include"
++ test -d $HOME/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root"
++ test -d $HOME/include/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include"
++ test -d $HOME/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include"
++ test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "$includedir" != NONE && \
++test "$includedir" != "/usr/include" && \
++test -d "$includedir" && {
++ test -d $includedir && cf_search="$cf_search $includedir"
++ test -d $includedir/$cf_ncuhdr_root && cf_search="$cf_search $includedir/$cf_ncuhdr_root"
++}
++
++test "$oldincludedir" != NONE && \
++test "$oldincludedir" != "/usr/include" && \
++test -d "$oldincludedir" && {
++ test -d $oldincludedir && cf_search="$cf_search $oldincludedir"
++ test -d $oldincludedir/$cf_ncuhdr_root && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root"
++}
++
++cf_search="$cf_search $cf_header_path_list"
++
++ test -n "$verbose" && echo search path $cf_search
++ cf_save2_CPPFLAGS="$CPPFLAGS"
++ for cf_incdir in $cf_search
++ do
+
++if test -n "$cf_incdir" ; then
++ for cf_add_incdir in $cf_incdir
++ do
++ while test $cf_add_incdir != /usr/include
++ do
++ if test -d $cf_add_incdir
++ then
++ cf_have_incdir=no
++ if test -n "$CFLAGS$CPPFLAGS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
++ if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
++ cf_have_incdir=yes; break
++ fi
++ done
++ fi
++
++ if test "$cf_have_incdir" = no ; then
++ if test "$cf_add_incdir" = /usr/local/include ; then
++ if test "$GCC" = yes
++ then
++ cf_save_CPPFLAGS=$CPPFLAGS
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5928 "configure"
++#include "confdefs.h"
++#include <stdio.h>
+ int
+ main ()
+ {
+-
+- MENU *menu;
+- int y = menu->max_item_width;
+-
++printf("Hello")
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5843: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:5940: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5846: \$? = $ac_status" >&5
++ echo "$as_me:5943: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5849: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5946: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5852: \$? = $ac_status" >&5
++ echo "$as_me:5949: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_netbsd_menu_h=yes
+-
++ :
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_netbsd_menu_h=no
++cf_have_incdir=yes
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS=$cf_save_CPPFLAGS
++ fi
++ fi
++ fi
+
+-fi
+-echo "$as_me:5864: result: $cf_cv_netbsd_menu_h" >&5
+-echo "${ECHO_T}$cf_cv_netbsd_menu_h" >&6
+-
+-test "$cf_cv_netbsd_menu_h" = yes && cat >>confdefs.h <<\EOF
+-#define HAVE_NETBSD_MENU_H 1
+-EOF
+-
+- ;;
+-ncurses)
+-
+-cf_ncuconfig_root=ncurses
++ if test "$cf_have_incdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "Looking for ${cf_ncuconfig_root}-config"
+-for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
+-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:5881: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_NCURSES_CONFIG+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- case $NCURSES_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- if $as_executable_p "$ac_dir/$ac_word"; then
+- ac_cv_path_NCURSES_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:5898: found $ac_dir/$ac_word" >&5
+- break
+-fi
+-done
++echo "${as_me:-configure}:5966: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+- ;;
+-esac
+-fi
+-NCURSES_CONFIG=$ac_cv_path_NCURSES_CONFIG
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+-if test -n "$NCURSES_CONFIG"; then
+- echo "$as_me:5909: result: $NCURSES_CONFIG" >&5
+-echo "${ECHO_T}$NCURSES_CONFIG" >&6
+-else
+- echo "$as_me:5912: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
++ test "$cf_top_incdir" = "$cf_add_incdir" && break
++ cf_add_incdir="$cf_top_incdir"
++ else
++ break
++ fi
++ fi
++ done
++ done
+ fi
+
+- test -n "$NCURSES_CONFIG" && break
+-done
+-test -n "$NCURSES_CONFIG" || NCURSES_CONFIG="none"
+-
+-if test "$NCURSES_CONFIG" != none ; then
+-
+-CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`"
+-LIBS="`$NCURSES_CONFIG --libs` $LIBS"
+-
+-# even with config script, some packages use no-override for curses.h
+-
+-echo "$as_me:5927: checking if we have identified curses headers" >&5
+-echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_header+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++ for cf_header in \
++ ncurses.h \
++ curses.h
++ do
+
+-cf_cv_ncurses_header=none
+-for cf_header in \
+- ncurses/curses.h \
+- ncurses/ncurses.h \
+- curses.h \
+- ncurses.h
+-do
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 5941 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5987 "configure"
+ #include "confdefs.h"
+-#include <${cf_header}>
++
++#include <$cf_header>
+ int
+ main ()
+ {
+-initscr(); tgoto("?", 0,0)
++
++#ifdef NCURSES_VERSION
++
++printf("%s\n", NCURSES_VERSION);
++#else
++#ifdef __NCURSES_H
++printf("old\n");
++#else
++ make an error
++#endif
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5953: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:6011: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5956: \$? = $ac_status" >&5
++ echo "$as_me:6014: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5959: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6017: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5962: \$? = $ac_status" >&5
++ echo "$as_me:6020: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_ncurses_header=$cf_header; break
++ cf_cv_ncurses_h2=$cf_header
++
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_cv_ncurses_h2=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-done
+-
+-fi
+-echo "$as_me:5973: result: $cf_cv_ncurses_header" >&5
+-echo "${ECHO_T}$cf_cv_ncurses_header" >&6
+
+-if test "$cf_cv_ncurses_header" = none ; then
+- { { echo "$as_me:5977: error: No curses header-files found" >&5
+-echo "$as_me: error: No curses header-files found" >&2;}
++ if test "$cf_cv_ncurses_h2" != no ; then
++ cf_cv_ncurses_h2=$cf_incdir/$cf_header
++ test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&6
++ break
++ fi
++ test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&6
++ done
++ CPPFLAGS="$cf_save2_CPPFLAGS"
++ test "$cf_cv_ncurses_h2" != no && break
++ done
++ test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:6041: error: not found" >&5
++echo "$as_me: error: not found" >&2;}
+ { (exit 1); exit 1; }; }
+-fi
+-
+-# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
+-
+-for ac_header in $cf_cv_ncurses_header
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:5987: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 5993 "configure"
+-#include "confdefs.h"
+-#include <$ac_header>
+-_ACEOF
+-if { (eval echo "$as_me:5997: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:6003: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- eval "$as_ac_Header=yes"
+-else
+- echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- eval "$as_ac_Header=no"
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-fi
+-echo "$as_me:6022: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-EOF
+
+ fi
+-done
+-
+-cat >>confdefs.h <<\EOF
+-#define NCURSES 1
+-EOF
+-
+-cf_nculib_ROOT=`echo "HAVE_LIB$cf_ncuconfig_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+-
+-cat >>confdefs.h <<EOF
+-#define $cf_nculib_ROOT 1
+-EOF
+-
+-cf_cv_ncurses_version=`$NCURSES_CONFIG --version`
+-
+-else
+-
+-cf_ncuhdr_root=ncurses
++echo "$as_me:6046: result: $cf_cv_ncurses_h2" >&5
++echo "${ECHO_T}$cf_cv_ncurses_h2" >&6
+
+-test -n "$cf_cv_curses_dir" && \
+-test "$cf_cv_curses_dir" != "no" && { \
++ cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'`
++ cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
++ if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
++ cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
++ fi
+
+-if test -n "$cf_cv_curses_dir/include/$cf_ncuhdr_root" ; then
+- for cf_add_incdir in $cf_cv_curses_dir/include/$cf_ncuhdr_root
++if test -n "$cf_1st_incdir" ; then
++ for cf_add_incdir in $cf_1st_incdir
+ do
+ while test $cf_add_incdir != /usr/include
+ do
+@@ -6072,7 +6076,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6075 "configure"
++#line 6079 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -6084,16 +6088,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6087: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:6091: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6090: \$? = $ac_status" >&5
++ echo "$as_me:6094: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6093: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6097: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6096: \$? = $ac_status" >&5
++ echo "$as_me:6100: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -6110,7 +6114,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:6113: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:6117: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -6125,1586 +6129,1504 @@
+ done
+ fi
+
+-}
++fi
+
+-echo "$as_me:6130: checking for $cf_ncuhdr_root header in include-path" >&5
+-echo $ECHO_N "checking for $cf_ncuhdr_root header in include-path... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_h+set}" = set; then
++# Set definitions to allow ifdef'ing for ncurses.h
++
++case $cf_cv_ncurses_header in # (vi
++*ncurses.h)
++
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSES_H 1
++EOF
++
++ ;;
++esac
++
++case $cf_cv_ncurses_header in # (vi
++ncurses/curses.h|ncurses/ncurses.h)
++
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSES_NCURSES_H 1
++EOF
++
++ ;;
++ncursesw/curses.h|ncursesw/ncurses.h)
++
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSESW_NCURSES_H 1
++EOF
++
++ ;;
++esac
++
++echo "$as_me:6163: checking for terminfo header" >&5
++echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
++if test "${cf_cv_term_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+- cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
+- ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
+- for cf_header in $cf_header_list
+- do
++case ${cf_cv_ncurses_header} in #(vi
++*/ncurses.h|*/ncursesw.h) #(vi
++ cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[^.]*\.h$%term.h%'`
++ ;;
++*)
++ cf_term_header=term.h
++ ;;
++esac
+
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 6142 "configure"
++for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
++do
++cat >conftest.$ac_ext <<_ACEOF
++#line 6181 "configure"
+ #include "confdefs.h"
++#include <stdio.h>
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <$cf_test>
+
+-#include <$cf_header>
+ int
+ main ()
+ {
+-
+-#ifdef NCURSES_VERSION
+-
+-printf("%s\n", NCURSES_VERSION);
+-#else
+-#ifdef __NCURSES_H
+-printf("old\n");
+-#else
+- make an error
+-#endif
+-#endif
+-
++int x = auto_left_margin
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6166: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:6196: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6169: \$? = $ac_status" >&5
++ echo "$as_me:6199: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6172: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6202: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6175: \$? = $ac_status" >&5
++ echo "$as_me:6205: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_ncurses_h=$cf_header
+
++ cf_cv_term_header="$cf_test"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_ncurses_h=no
++
++ cf_cv_term_header=unknown
++
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-
+- test "$cf_cv_ncurses_h" != no && break
+- done
++ test "$cf_cv_term_header" != unknown && break
++done
+
+ fi
+-echo "$as_me:6190: result: $cf_cv_ncurses_h" >&5
+-echo "${ECHO_T}$cf_cv_ncurses_h" >&6
++echo "$as_me:6221: result: $cf_cv_term_header" >&5
++echo "${ECHO_T}$cf_cv_term_header" >&6
+
+-if test "$cf_cv_ncurses_h" != no ; then
+- cf_cv_ncurses_header=$cf_cv_ncurses_h
+-else
++# Set definitions to allow ifdef'ing to accommodate subdirectories
+
+-echo "$as_me:6197: checking for $cf_ncuhdr_root include-path" >&5
+-echo $ECHO_N "checking for $cf_ncuhdr_root include-path... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_h2+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++case $cf_cv_term_header in # (vi
++*term.h)
+
+- test -n "$verbose" && echo
++cat >>confdefs.h <<\EOF
++#define HAVE_TERM_H 1
++EOF
+
+-cf_search=
++ ;;
++esac
+
+-# collect the current set of include-directories from compiler flags
+-cf_header_path_list=""
+-if test -n "${CFLAGS}${CPPFLAGS}" ; then
+- for cf_header_path in $CPPFLAGS $CFLAGS
+- do
+- case $cf_header_path in #(vi
+- -I*)
+- cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
++case $cf_cv_term_header in # (vi
++ncurses/term.h) #(vi
+
+-test "$cf_header_path" != "NONE" && \
+-test -d "$cf_header_path" && \
+- {
+- test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path"
+- test -d $cf_header_path/include && cf_search="$cf_search $cf_header_path/include"
+- test -d $cf_header_path/include/$cf_ncuhdr_root && cf_search="$cf_search $cf_header_path/include/$cf_ncuhdr_root"
+- test -d $cf_header_path/include/$cf_ncuhdr_root/include && cf_search="$cf_search $cf_header_path/include/$cf_ncuhdr_root/include"
+- test -d $cf_header_path/$cf_ncuhdr_root/include && cf_search="$cf_search $cf_header_path/$cf_ncuhdr_root/include"
+- test -d $cf_header_path/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $cf_header_path/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+-}
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSES_TERM_H 1
++EOF
+
+- cf_header_path_list="$cf_header_path_list $cf_search"
+- ;;
+- esac
+- done
+-fi
++ ;;
++ncursesw/term.h)
+
+-# add the variations for the package we are looking for
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSESW_TERM_H 1
++EOF
+
+-cf_search=
++ ;;
++esac
+
+-test "/usr" != "$prefix" && \
+-test -d "/usr" && \
+-(test $prefix = NONE || test "/usr" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for include-directories under /usr"
+- test -d /usr/include && cf_search="$cf_search /usr/include"
+- test -d /usr/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/include/$cf_ncuhdr_root"
+- test -d /usr/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include"
+- test -d /usr/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/$cf_ncuhdr_root/include"
+- test -d /usr/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+-}
++# some applications need this, but should check for NCURSES_VERSION
+
+-test "$prefix" != "NONE" && \
+-test -d "$prefix" && \
+- {
+- test -n "$verbose" && echo " ... testing for include-directories under $prefix"
+- test -d $prefix/include && cf_search="$cf_search $prefix/include"
+- test -d $prefix/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root"
+- test -d $prefix/include/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include"
+- test -d $prefix/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include"
+- test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+-}
++cat >>confdefs.h <<\EOF
++#define NCURSES 1
++EOF
+
+-test "/usr/local" != "$prefix" && \
+-test -d "/usr/local" && \
+-(test $prefix = NONE || test "/usr/local" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for include-directories under /usr/local"
+- test -d /usr/local/include && cf_search="$cf_search /usr/local/include"
+- test -d /usr/local/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root"
+- test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include"
+- test -d /usr/local/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include"
+- test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+-}
++echo "$as_me:6259: checking for ncurses version" >&5
++echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
++if test "${cf_cv_ncurses_version+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
+
+-test "/opt" != "$prefix" && \
+-test -d "/opt" && \
+-(test $prefix = NONE || test "/opt" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for include-directories under /opt"
+- test -d /opt/include && cf_search="$cf_search /opt/include"
+- test -d /opt/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/include/$cf_ncuhdr_root"
+- test -d /opt/include/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include"
+- test -d /opt/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/$cf_ncuhdr_root/include"
+- test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+-}
++ cf_cv_ncurses_version=no
++ cf_tempfile=out$$
++ rm -f $cf_tempfile
++ if test "$cross_compiling" = yes; then
+
+-test "$HOME" != "$prefix" && \
+-test -d "$HOME" && \
+-(test $prefix = NONE || test "$HOME" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for include-directories under $HOME"
+- test -d $HOME/include && cf_search="$cf_search $HOME/include"
+- test -d $HOME/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root"
+- test -d $HOME/include/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include"
+- test -d $HOME/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include"
+- test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+-}
++ # This will not work if the preprocessor splits the line after the
++ # Autoconf token. The 'unproto' program does that.
++ cat > conftest.$ac_ext <<EOF
++#include <${cf_cv_ncurses_header:-curses.h}>
++#undef Autoconf
++#ifdef NCURSES_VERSION
++Autoconf NCURSES_VERSION
++#else
++#ifdef __NCURSES_H
++Autoconf "old"
++#endif
++;
++#endif
++EOF
++ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
++ { (eval echo "$as_me:6285: \"$cf_try\"") >&5
++ (eval $cf_try) 2>&5
++ ac_status=$?
++ echo "$as_me:6288: \$? = $ac_status" >&5
++ (exit $ac_status); }
++ if test -f conftest.out ; then
++ cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
++ test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
++ rm -f conftest.out
++ fi
+
+-test "$includedir" != NONE && \
+-test "$includedir" != "/usr/include" && \
+-test -d "$includedir" && {
+- test -d $includedir && cf_search="$cf_search $includedir"
+- test -d $includedir/$cf_ncuhdr_root && cf_search="$cf_search $includedir/$cf_ncuhdr_root"
+-}
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 6298 "configure"
++#include "confdefs.h"
+
+-test "$oldincludedir" != NONE && \
+-test "$oldincludedir" != "/usr/include" && \
+-test -d "$oldincludedir" && {
+- test -d $oldincludedir && cf_search="$cf_search $oldincludedir"
+- test -d $oldincludedir/$cf_ncuhdr_root && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root"
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <stdio.h>
++int main()
++{
++ FILE *fp = fopen("$cf_tempfile", "w");
++#ifdef NCURSES_VERSION
++# ifdef NCURSES_VERSION_PATCH
++ fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
++# else
++ fprintf(fp, "%s\n", NCURSES_VERSION);
++# endif
++#else
++# ifdef __NCURSES_H
++ fprintf(fp, "old\n");
++# else
++ make an error
++# endif
++#endif
++ ${cf_cv_main_return:-return}(0);
+ }
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:6323: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:6326: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (eval echo "$as_me:6328: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:6331: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
+
+-cf_search="$cf_search $cf_header_path_list"
+-
+- test -n "$verbose" && echo search path $cf_search
+- cf_save2_CPPFLAGS="$CPPFLAGS"
+- for cf_incdir in $cf_search
+- do
++ cf_cv_ncurses_version=`cat $cf_tempfile`
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++fi
++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++ rm -f $cf_tempfile
+
+-if test -n "$cf_incdir" ; then
+- for cf_add_incdir in $cf_incdir
+- do
+- while test $cf_add_incdir != /usr/include
+- do
+- if test -d $cf_add_incdir
+- then
+- cf_have_incdir=no
+- if test -n "$CFLAGS$CPPFLAGS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
+- if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
+- cf_have_incdir=yes; break
+- fi
+- done
+- fi
++fi
++echo "$as_me:6345: result: $cf_cv_ncurses_version" >&5
++echo "${ECHO_T}$cf_cv_ncurses_version" >&6
++test "$cf_cv_ncurses_version" = no ||
++cat >>confdefs.h <<\EOF
++#define NCURSES 1
++EOF
+
+- if test "$cf_have_incdir" = no ; then
+- if test "$cf_add_incdir" = /usr/local/include ; then
+- if test "$GCC" = yes
+- then
+- cf_save_CPPFLAGS=$CPPFLAGS
+- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 6337 "configure"
++cf_nculib_root=ncurses
++ # This works, except for the special case where we find gpm, but
++ # ncurses is in a nonstandard location via $LIBS, and we really want
++ # to link gpm.
++cf_ncurses_LIBS=""
++cf_ncurses_SAVE="$LIBS"
++echo "$as_me:6358: checking for Gpm_Open in -lgpm" >&5
++echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6
++if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lgpm $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 6366 "configure"
+ #include "confdefs.h"
+-#include <stdio.h>
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char Gpm_Open ();
+ int
+ main ()
+ {
+-printf("Hello")
++Gpm_Open ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6349: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:6385: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6352: \$? = $ac_status" >&5
++ echo "$as_me:6388: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6355: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:6391: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6358: \$? = $ac_status" >&5
++ echo "$as_me:6394: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ ac_cv_lib_gpm_Gpm_Open=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_have_incdir=yes
++ac_cv_lib_gpm_Gpm_Open=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- CPPFLAGS=$cf_save_CPPFLAGS
+- fi
+- fi
+- fi
+-
+- if test "$cf_have_incdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+-
+-echo "${as_me:-configure}:6375: testing adding $cf_add_incdir to include-path ..." 1>&5
+-
+- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+-
+- cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
+- test "$cf_top_incdir" = "$cf_add_incdir" && break
+- cf_add_incdir="$cf_top_incdir"
+- else
+- break
+- fi
+- fi
+- done
+- done
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
+ fi
+-
+- for cf_header in \
+- ncurses.h \
+- curses.h
+- do
+-
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 6396 "configure"
++echo "$as_me:6405: result: $ac_cv_lib_gpm_Gpm_Open" >&5
++echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
++if test $ac_cv_lib_gpm_Gpm_Open = yes; then
++ echo "$as_me:6408: checking for initscr in -lgpm" >&5
++echo $ECHO_N "checking for initscr in -lgpm... $ECHO_C" >&6
++if test "${ac_cv_lib_gpm_initscr+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lgpm $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 6416 "configure"
+ #include "confdefs.h"
+
+-#include <$cf_header>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char initscr ();
+ int
+ main ()
+ {
+-
+-#ifdef NCURSES_VERSION
+-
+-printf("%s\n", NCURSES_VERSION);
+-#else
+-#ifdef __NCURSES_H
+-printf("old\n");
+-#else
+- make an error
+-#endif
+-#endif
+-
++initscr ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6420: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:6435: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6423: \$? = $ac_status" >&5
++ echo "$as_me:6438: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6426: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:6441: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6429: \$? = $ac_status" >&5
++ echo "$as_me:6444: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_ncurses_h2=$cf_header
+-
++ ac_cv_lib_gpm_initscr=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_ncurses_h2=no
++ac_cv_lib_gpm_initscr=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:6455: result: $ac_cv_lib_gpm_initscr" >&5
++echo "${ECHO_T}$ac_cv_lib_gpm_initscr" >&6
++if test $ac_cv_lib_gpm_initscr = yes; then
++ LIBS="$cf_ncurses_SAVE"
++else
++ cf_ncurses_LIBS="-lgpm"
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-
+- if test "$cf_cv_ncurses_h2" != no ; then
+- cf_cv_ncurses_h2=$cf_incdir/$cf_header
+- test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&6
+- break
+- fi
+- test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&6
+- done
+- CPPFLAGS="$cf_save2_CPPFLAGS"
+- test "$cf_cv_ncurses_h2" != no && break
+- done
+- test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:6450: error: not found" >&5
+-echo "$as_me: error: not found" >&2;}
+- { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:6455: result: $cf_cv_ncurses_h2" >&5
+-echo "${ECHO_T}$cf_cv_ncurses_h2" >&6
+-
+- cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'`
+- cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
+- if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
+- cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
+- fi
+-
+-if test -n "$cf_1st_incdir" ; then
+- for cf_add_incdir in $cf_1st_incdir
+- do
+- while test $cf_add_incdir != /usr/include
+- do
+- if test -d $cf_add_incdir
+- then
+- cf_have_incdir=no
+- if test -n "$CFLAGS$CPPFLAGS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
+- if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
+- cf_have_incdir=yes; break
+- fi
+- done
+- fi
+
+- if test "$cf_have_incdir" = no ; then
+- if test "$cf_add_incdir" = /usr/local/include ; then
+- if test "$GCC" = yes
+- then
+- cf_save_CPPFLAGS=$CPPFLAGS
+- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 6488 "configure"
++case $host_os in #(vi
++freebsd*)
++ # This is only necessary if you are linking against an obsolete
++ # version of ncurses (but it should do no harm, since it's static).
++ if test "$cf_nculib_root" = ncurses ; then
++ echo "$as_me:6470: checking for tgoto in -lmytinfo" >&5
++echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
++if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lmytinfo $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 6478 "configure"
+ #include "confdefs.h"
+-#include <stdio.h>
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char tgoto ();
+ int
+ main ()
+ {
+-printf("Hello")
++tgoto ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6500: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:6497: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6503: \$? = $ac_status" >&5
++ echo "$as_me:6500: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6506: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:6503: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6509: \$? = $ac_status" >&5
++ echo "$as_me:6506: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ ac_cv_lib_mytinfo_tgoto=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_have_incdir=yes
++ac_cv_lib_mytinfo_tgoto=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- CPPFLAGS=$cf_save_CPPFLAGS
+- fi
+- fi
+- fi
+-
+- if test "$cf_have_incdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+-
+-echo "${as_me:-configure}:6526: testing adding $cf_add_incdir to include-path ..." 1>&5
+-
+- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+-
+- cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
+- test "$cf_top_incdir" = "$cf_add_incdir" && break
+- cf_add_incdir="$cf_top_incdir"
+- else
+- break
+- fi
+- fi
+- done
+- done
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
+ fi
+-
++echo "$as_me:6517: result: $ac_cv_lib_mytinfo_tgoto" >&5
++echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
++if test $ac_cv_lib_mytinfo_tgoto = yes; then
++ cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
+ fi
+
+-# Set definitions to allow ifdef'ing for ncurses.h
+-
+-case $cf_cv_ncurses_header in # (vi
+-*ncurses.h)
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSES_H 1
+-EOF
+-
++ fi
+ ;;
+ esac
+
+-case $cf_cv_ncurses_header in # (vi
+-ncurses/curses.h|ncurses/ncurses.h)
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSES_NCURSES_H 1
+-EOF
+-
+- ;;
+-ncursesw/curses.h|ncursesw/ncurses.h)
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSESW_NCURSES_H 1
+-EOF
++LIBS="$cf_ncurses_LIBS $LIBS"
+
+- ;;
+-esac
++if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
++then
++ LIBS="-l$cf_nculib_root $LIBS"
++else
+
+-echo "$as_me:6569: checking for terminfo header" >&5
+-echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
+-if test "${cf_cv_term_header+set}" = set; then
++ eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
++ cf_libdir=""
++ echo "$as_me:6536: checking for initscr" >&5
++echo $ECHO_N "checking for initscr... $ECHO_C" >&6
++if test "${ac_cv_func_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 6542 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char initscr (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char initscr ();
++char (*f) ();
+
+-case ${cf_cv_ncurses_header} in #(vi
+-*/ncurses.h|*/ncursesw.h) #(vi
+- cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[^.]*\.h$%term.h%'`
+- ;;
+-*)
+- cf_term_header=term.h
+- ;;
+-esac
++int
++main ()
++{
++/* 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_initscr) || defined (__stub___initscr)
++choke me
++#else
++f = initscr; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
+
+-for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
+-do
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 6587 "configure"
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:6573: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:6576: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:6579: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:6582: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_initscr=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_func_initscr=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:6592: result: $ac_cv_func_initscr" >&5
++echo "${ECHO_T}$ac_cv_func_initscr" >&6
++if test $ac_cv_func_initscr = yes; then
++ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
++else
++
++ cf_save_LIBS="$LIBS"
++ echo "$as_me:6599: checking for initscr in -l$cf_nculib_root" >&5
++echo $ECHO_N "checking for initscr in -l$cf_nculib_root... $ECHO_C" >&6
++ LIBS="-l$cf_nculib_root $LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 6603 "configure"
+ #include "confdefs.h"
+-#include <stdio.h>
+ #include <${cf_cv_ncurses_header:-curses.h}>
+-#include <$cf_test>
+-
+ int
+ main ()
+ {
+-int x = auto_left_margin
++initscr()
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6602: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:6615: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6605: \$? = $ac_status" >&5
++ echo "$as_me:6618: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6608: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:6621: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6611: \$? = $ac_status" >&5
++ echo "$as_me:6624: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
++ echo "$as_me:6626: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+
+- cf_cv_term_header="$cf_test"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++echo "$as_me:6633: result: no" >&5
++echo "${ECHO_T}no" >&6
+
+- cf_cv_term_header=unknown
++cf_search=
++cf_library_path_list=""
++if test -n "${LDFLAGS}${LIBS}" ; then
++ for cf_library_path in $LDFLAGS $LIBS
++ do
++ case $cf_library_path in #(vi
++ -L*)
++ cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
+
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- test "$cf_cv_term_header" != unknown && break
+-done
++test "$cf_library_path" != "NONE" && \
++test -d "$cf_library_path" && \
++ {
++ test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path"
++ test -d $cf_library_path/lib && cf_search="$cf_search $cf_library_path/lib"
++ test -d $cf_library_path/lib/$cf_nculib_root && cf_search="$cf_search $cf_library_path/lib/$cf_nculib_root"
++ test -d $cf_library_path/lib/$cf_nculib_root/lib && cf_search="$cf_search $cf_library_path/lib/$cf_nculib_root/lib"
++ test -d $cf_library_path/$cf_nculib_root/lib && cf_search="$cf_search $cf_library_path/$cf_nculib_root/lib"
++ test -d $cf_library_path/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $cf_library_path/$cf_nculib_root/lib/$cf_nculib_root"
++}
+
++ cf_library_path_list="$cf_library_path_list $cf_search"
++ ;;
++ esac
++ done
+ fi
+-echo "$as_me:6627: result: $cf_cv_term_header" >&5
+-echo "${ECHO_T}$cf_cv_term_header" >&6
+
+-# Set definitions to allow ifdef'ing to accommodate subdirectories
+-
+-case $cf_cv_term_header in # (vi
+-*term.h)
+- cat >>confdefs.h <<\EOF
+-#define HAVE_TERM_H 1
+-EOF
+-
+- ;;
+-esac
++cf_search=
+
+-case $cf_cv_term_header in # (vi
+-ncurses/term.h) #(vi
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSES_TERM_H 1
+-EOF
+-
+- ;;
+-ncursesw/term.h)
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSESW_TERM_H 1
+-EOF
++test "/usr" != "$prefix" && \
++test -d "/usr" && \
++(test $prefix = NONE || test "/usr" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for lib-directories under /usr"
++ test -d /usr/lib && cf_search="$cf_search /usr/lib"
++ test -d /usr/lib/$cf_nculib_root && cf_search="$cf_search /usr/lib/$cf_nculib_root"
++ test -d /usr/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/lib/$cf_nculib_root/lib"
++ test -d /usr/$cf_nculib_root/lib && cf_search="$cf_search /usr/$cf_nculib_root/lib"
++ test -d /usr/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/$cf_nculib_root/lib/$cf_nculib_root"
++}
+
+- ;;
+-esac
++test "$prefix" != "NONE" && \
++test -d "$prefix" && \
++ {
++ test -n "$verbose" && echo " ... testing for lib-directories under $prefix"
++ test -d $prefix/lib && cf_search="$cf_search $prefix/lib"
++ test -d $prefix/lib/$cf_nculib_root && cf_search="$cf_search $prefix/lib/$cf_nculib_root"
++ test -d $prefix/lib/$cf_nculib_root/lib && cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib"
++ test -d $prefix/$cf_nculib_root/lib && cf_search="$cf_search $prefix/$cf_nculib_root/lib"
++ test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root"
++}
+
+-# some applications need this, but should check for NCURSES_VERSION
+-cat >>confdefs.h <<\EOF
+-#define NCURSES 1
+-EOF
++test "/usr/local" != "$prefix" && \
++test -d "/usr/local" && \
++(test $prefix = NONE || test "/usr/local" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for lib-directories under /usr/local"
++ test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib"
++ test -d /usr/local/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/lib/$cf_nculib_root"
++ test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib"
++ test -d /usr/local/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/$cf_nculib_root/lib"
++ test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root"
++}
+
+-echo "$as_me:6661: checking for ncurses version" >&5
+-echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_version+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++test "/opt" != "$prefix" && \
++test -d "/opt" && \
++(test $prefix = NONE || test "/opt" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for lib-directories under /opt"
++ test -d /opt/lib && cf_search="$cf_search /opt/lib"
++ test -d /opt/lib/$cf_nculib_root && cf_search="$cf_search /opt/lib/$cf_nculib_root"
++ test -d /opt/lib/$cf_nculib_root/lib && cf_search="$cf_search /opt/lib/$cf_nculib_root/lib"
++ test -d /opt/$cf_nculib_root/lib && cf_search="$cf_search /opt/$cf_nculib_root/lib"
++ test -d /opt/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root"
++}
+
+- cf_cv_ncurses_version=no
+- cf_tempfile=out$$
+- rm -f $cf_tempfile
+- if test "$cross_compiling" = yes; then
++test "$HOME" != "$prefix" && \
++test -d "$HOME" && \
++(test $prefix = NONE || test "$HOME" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for lib-directories under $HOME"
++ test -d $HOME/lib && cf_search="$cf_search $HOME/lib"
++ test -d $HOME/lib/$cf_nculib_root && cf_search="$cf_search $HOME/lib/$cf_nculib_root"
++ test -d $HOME/lib/$cf_nculib_root/lib && cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib"
++ test -d $HOME/$cf_nculib_root/lib && cf_search="$cf_search $HOME/$cf_nculib_root/lib"
++ test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root"
++}
+
+- # This will not work if the preprocessor splits the line after the
+- # Autoconf token. The 'unproto' program does that.
+- cat > conftest.$ac_ext <<EOF
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#undef Autoconf
+-#ifdef NCURSES_VERSION
+-Autoconf NCURSES_VERSION
+-#else
+-#ifdef __NCURSES_H
+-Autoconf "old"
+-#endif
+-;
+-#endif
+-EOF
+- cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
+- { (eval echo "$as_me:6687: \"$cf_try\"") >&5
+- (eval $cf_try) 2>&5
+- ac_status=$?
+- echo "$as_me:6690: \$? = $ac_status" >&5
+- (exit $ac_status); }
+- if test -f conftest.out ; then
+- cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
+- test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
+- rm -f conftest.out
+- fi
++cf_search="$cf_library_path_list $cf_search"
+
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 6700 "configure"
++ for cf_libdir in $cf_search
++ do
++ echo "$as_me:6723: checking for -l$cf_nculib_root in $cf_libdir" >&5
++echo $ECHO_N "checking for -l$cf_nculib_root in $cf_libdir... $ECHO_C" >&6
++ LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 6727 "configure"
+ #include "confdefs.h"
+-
+ #include <${cf_cv_ncurses_header:-curses.h}>
+-#include <stdio.h>
+-int main()
++int
++main ()
+ {
+- FILE *fp = fopen("$cf_tempfile", "w");
+-#ifdef NCURSES_VERSION
+-# ifdef NCURSES_VERSION_PATCH
+- fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
+-# else
+- fprintf(fp, "%s\n", NCURSES_VERSION);
+-# endif
+-#else
+-# ifdef __NCURSES_H
+- fprintf(fp, "old\n");
+-# else
+- make an error
+-# endif
+-#endif
+- ${cf_cv_main_return:-return}(0);
++initscr()
++ ;
++ return 0;
+ }
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:6725: \"$ac_link\"") >&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:6739: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6728: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:6730: \"$ac_try\"") >&5
++ echo "$as_me:6742: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:6745: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6733: \$? = $ac_status" >&5
++ echo "$as_me:6748: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+-
+- cf_cv_ncurses_version=`cat $cf_tempfile`
++ echo "$as_me:6750: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
++ break
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++echo "$as_me:6757: result: no" >&5
++echo "${ECHO_T}no" >&6
++ LIBS="$cf_save_LIBS"
+ fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ done
++
+ fi
+- rm -f $cf_tempfile
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+ fi
+-echo "$as_me:6747: result: $cf_cv_ncurses_version" >&5
+-echo "${ECHO_T}$cf_cv_ncurses_version" >&6
+-test "$cf_cv_ncurses_version" = no || cat >>confdefs.h <<\EOF
+-#define NCURSES 1
+-EOF
+
+-cf_nculib_root=ncurses
+- # This works, except for the special case where we find gpm, but
+- # ncurses is in a nonstandard location via $LIBS, and we really want
+- # to link gpm.
+-cf_ncurses_LIBS=""
+-cf_ncurses_SAVE="$LIBS"
+-echo "$as_me:6759: checking for Gpm_Open in -lgpm" >&5
+-echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6
+-if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lgpm $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 6767 "configure"
+-#include "confdefs.h"
++eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char Gpm_Open ();
++if test $cf_found_library = no ; then
++ { { echo "$as_me:6772: error: Cannot link $cf_nculib_root library" >&5
++echo "$as_me: error: Cannot link $cf_nculib_root library" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++fi
++
++if test -n "$cf_ncurses_LIBS" ; then
++ echo "$as_me:6780: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
++echo $ECHO_N "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS... $ECHO_C" >&6
++ cf_ncurses_SAVE="$LIBS"
++ for p in $cf_ncurses_LIBS ; do
++ q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
++ if test "$q" != "$LIBS" ; then
++ LIBS="$q"
++ fi
++ done
++ cat >conftest.$ac_ext <<_ACEOF
++#line 6790 "configure"
++#include "confdefs.h"
++#include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-Gpm_Open ();
++initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6786: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6802: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6789: \$? = $ac_status" >&5
++ echo "$as_me:6805: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6792: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6808: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6795: \$? = $ac_status" >&5
++ echo "$as_me:6811: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_gpm_Gpm_Open=yes
++ echo "$as_me:6813: result: yes" >&5
++echo "${ECHO_T}yes" >&6
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_gpm_Gpm_Open=no
++echo "$as_me:6818: result: no" >&5
++echo "${ECHO_T}no" >&6
++ LIBS="$cf_ncurses_SAVE"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:6806: result: $ac_cv_lib_gpm_Gpm_Open" >&5
+-echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
+-if test $ac_cv_lib_gpm_Gpm_Open = yes; then
+- echo "$as_me:6809: checking for initscr in -lgpm" >&5
+-echo $ECHO_N "checking for initscr in -lgpm... $ECHO_C" >&6
+-if test "${ac_cv_lib_gpm_initscr+set}" = set; then
++
++cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++cat >>confdefs.h <<EOF
++#define $cf_nculib_ROOT 1
++EOF
++
++fi
++
++ ;;
++ncursesw) #(vi
++
++echo "$as_me:6836: checking for multibyte character support" >&5
++echo $ECHO_N "checking for multibyte character support... $ECHO_C" >&6
++if test "${cf_cv_utf8_lib+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lgpm $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 6817 "configure"
++
++ cf_save_LIBS="$LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 6844 "configure"
+ #include "confdefs.h"
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char initscr ();
++#include <stdlib.h>
+ int
+ main ()
+ {
+-initscr ();
++putwc(0,0);
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6836: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6857: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6839: \$? = $ac_status" >&5
++ echo "$as_me:6860: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6842: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6863: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6845: \$? = $ac_status" >&5
++ echo "$as_me:6866: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_gpm_initscr=yes
++ cf_cv_utf8_lib=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_gpm_initscr=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:6856: result: $ac_cv_lib_gpm_initscr" >&5
+-echo "${ECHO_T}$ac_cv_lib_gpm_initscr" >&6
+-if test $ac_cv_lib_gpm_initscr = yes; then
+- LIBS="$cf_ncurses_SAVE"
+-else
+- cf_ncurses_LIBS="-lgpm"
+-fi
+
+-fi
++# If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
++# will be set on completion of the AC_TRY_LINK below.
++cf_cv_header_path_utf8=
++cf_cv_library_path_utf8=
++
++echo "${as_me:-configure}:6878: testing Starting FIND_LINKAGE(utf8,) ..." 1>&5
++
++cf_save_LIBS="$LIBS"
+
+-case $host_os in #(vi
+-freebsd*)
+- # This is only necessary if you are linking against an obsolete
+- # version of ncurses (but it should do no harm, since it's static).
+- if test "$cf_nculib_root" = ncurses ; then
+- echo "$as_me:6871: checking for tgoto in -lmytinfo" >&5
+-echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
+-if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lmytinfo $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6879 "configure"
++#line 6883 "configure"
+ #include "confdefs.h"
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char tgoto ();
++#include <libutf8.h>
+ int
+ main ()
+ {
+-tgoto ();
++putwc(0,0);
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6898: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6896: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6901: \$? = $ac_status" >&5
++ echo "$as_me:6899: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6904: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6902: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6907: \$? = $ac_status" >&5
++ echo "$as_me:6905: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_mytinfo_tgoto=yes
++
++ cf_cv_find_linkage_utf8=yes
++ cf_cv_header_path_utf8=/usr/include
++ cf_cv_library_path_utf8=/usr/lib
++
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_mytinfo_tgoto=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:6918: result: $ac_cv_lib_mytinfo_tgoto" >&5
+-echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
+-if test $ac_cv_lib_mytinfo_tgoto = yes; then
+- cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
+-fi
+-
+- fi
+- ;;
+-esac
+-
+-LIBS="$cf_ncurses_LIBS $LIBS"
+
+-if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
+-then
+- LIBS="-l$cf_nculib_root $LIBS"
+-else
++LIBS="-lutf8 $cf_save_LIBS"
+
+- eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
+- cf_libdir=""
+- echo "$as_me:6937: checking for initscr" >&5
+-echo $ECHO_N "checking for initscr... $ECHO_C" >&6
+-if test "${ac_cv_func_initscr+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 6943 "configure"
++cat >conftest.$ac_ext <<_ACEOF
++#line 6919 "configure"
+ #include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char initscr (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char initscr ();
+-char (*f) ();
+
++#include <libutf8.h>
+ int
+ main ()
+ {
+-/* 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_initscr) || defined (__stub___initscr)
+-choke me
+-#else
+-f = initscr;
+-#endif
+-
++putwc(0,0);
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6974: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6932: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6977: \$? = $ac_status" >&5
++ echo "$as_me:6935: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6980: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6938: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6983: \$? = $ac_status" >&5
++ echo "$as_me:6941: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_func_initscr=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_func_initscr=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:6993: result: $ac_cv_func_initscr" >&5
+-echo "${ECHO_T}$ac_cv_func_initscr" >&6
+-if test $ac_cv_func_initscr = yes; then
+- eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+-else
+
+- cf_save_LIBS="$LIBS"
+- echo "$as_me:7000: checking for initscr in -l$cf_nculib_root" >&5
+-echo $ECHO_N "checking for initscr in -l$cf_nculib_root... $ECHO_C" >&6
+- LIBS="-l$cf_nculib_root $LIBS"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 7004 "configure"
+-#include "confdefs.h"
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-int
+-main ()
+-{
+-initscr()
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7016: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:7019: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7022: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:7025: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- echo "$as_me:7027: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
++ cf_cv_find_linkage_utf8=yes
++ cf_cv_header_path_utf8=/usr/include
++ cf_cv_library_path_utf8=/usr/lib
++ cf_cv_library_file_utf8="-lutf8"
+
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:7034: result: no" >&5
+-echo "${ECHO_T}no" >&6
++
++ cf_cv_find_linkage_utf8=no
++ LIBS="$cf_save_LIBS"
++
++ test -n "$verbose" && echo " find linkage for utf8 library" 1>&6
++
++echo "${as_me:-configure}:6958: testing find linkage for utf8 library ..." 1>&5
++
++echo "${as_me:-configure}:6960: testing Searching for headers in FIND_LINKAGE(utf8,) ..." 1>&5
++
++ cf_save_CPPFLAGS="$CPPFLAGS"
++ cf_test_CPPFLAGS="$CPPFLAGS"
+
+ cf_search=
+-cf_library_path_list=""
+-if test -n "${LDFLAGS}${LIBS}" ; then
+- for cf_library_path in $LDFLAGS $LIBS
++
++# collect the current set of include-directories from compiler flags
++cf_header_path_list=""
++if test -n "${CFLAGS}${CPPFLAGS}" ; then
++ for cf_header_path in $CPPFLAGS $CFLAGS
+ do
+- case $cf_library_path in #(vi
+- -L*)
+- cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
++ case $cf_header_path in #(vi
++ -I*)
++ cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
+
+-test "$cf_library_path" != "NONE" && \
+-test -d "$cf_library_path" && \
++test "$cf_header_path" != "NONE" && \
++test -d "$cf_header_path" && \
+ {
+- test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path"
+- test -d $cf_library_path/lib && cf_search="$cf_search $cf_library_path/lib"
+- test -d $cf_library_path/lib/$cf_nculib_root && cf_search="$cf_search $cf_library_path/lib/$cf_nculib_root"
+- test -d $cf_library_path/lib/$cf_nculib_root/lib && cf_search="$cf_search $cf_library_path/lib/$cf_nculib_root/lib"
+- test -d $cf_library_path/$cf_nculib_root/lib && cf_search="$cf_search $cf_library_path/$cf_nculib_root/lib"
+- test -d $cf_library_path/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $cf_library_path/$cf_nculib_root/lib/$cf_nculib_root"
++ test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path"
++ test -d $cf_header_path/include && cf_search="$cf_search $cf_header_path/include"
++ test -d $cf_header_path/include/utf8 && cf_search="$cf_search $cf_header_path/include/utf8"
++ test -d $cf_header_path/include/utf8/include && cf_search="$cf_search $cf_header_path/include/utf8/include"
++ test -d $cf_header_path/utf8/include && cf_search="$cf_search $cf_header_path/utf8/include"
++ test -d $cf_header_path/utf8/include/utf8 && cf_search="$cf_search $cf_header_path/utf8/include/utf8"
+ }
+
+- cf_library_path_list="$cf_library_path_list $cf_search"
++ cf_header_path_list="$cf_header_path_list $cf_search"
+ ;;
+ esac
+ done
+ fi
+
++# add the variations for the package we are looking for
++
+ cf_search=
+
+ test "/usr" != "$prefix" && \
+ test -d "/usr" && \
+ (test $prefix = NONE || test "/usr" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for lib-directories under /usr"
+- test -d /usr/lib && cf_search="$cf_search /usr/lib"
+- test -d /usr/lib/$cf_nculib_root && cf_search="$cf_search /usr/lib/$cf_nculib_root"
+- test -d /usr/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/lib/$cf_nculib_root/lib"
+- test -d /usr/$cf_nculib_root/lib && cf_search="$cf_search /usr/$cf_nculib_root/lib"
+- test -d /usr/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/$cf_nculib_root/lib/$cf_nculib_root"
++ test -n "$verbose" && echo " ... testing for include-directories under /usr"
++ test -d /usr/include && cf_search="$cf_search /usr/include"
++ test -d /usr/include/utf8 && cf_search="$cf_search /usr/include/utf8"
++ test -d /usr/include/utf8/include && cf_search="$cf_search /usr/include/utf8/include"
++ test -d /usr/utf8/include && cf_search="$cf_search /usr/utf8/include"
++ test -d /usr/utf8/include/utf8 && cf_search="$cf_search /usr/utf8/include/utf8"
+ }
+
+ test "$prefix" != "NONE" && \
+ test -d "$prefix" && \
+ {
+- test -n "$verbose" && echo " ... testing for lib-directories under $prefix"
+- test -d $prefix/lib && cf_search="$cf_search $prefix/lib"
+- test -d $prefix/lib/$cf_nculib_root && cf_search="$cf_search $prefix/lib/$cf_nculib_root"
+- test -d $prefix/lib/$cf_nculib_root/lib && cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib"
+- test -d $prefix/$cf_nculib_root/lib && cf_search="$cf_search $prefix/$cf_nculib_root/lib"
+- test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root"
++ test -n "$verbose" && echo " ... testing for include-directories under $prefix"
++ test -d $prefix/include && cf_search="$cf_search $prefix/include"
++ test -d $prefix/include/utf8 && cf_search="$cf_search $prefix/include/utf8"
++ test -d $prefix/include/utf8/include && cf_search="$cf_search $prefix/include/utf8/include"
++ test -d $prefix/utf8/include && cf_search="$cf_search $prefix/utf8/include"
++ test -d $prefix/utf8/include/utf8 && cf_search="$cf_search $prefix/utf8/include/utf8"
+ }
+
+ test "/usr/local" != "$prefix" && \
+ test -d "/usr/local" && \
+ (test $prefix = NONE || test "/usr/local" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for lib-directories under /usr/local"
+- test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib"
+- test -d /usr/local/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/lib/$cf_nculib_root"
+- test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib"
+- test -d /usr/local/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/$cf_nculib_root/lib"
+- test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root"
++ test -n "$verbose" && echo " ... testing for include-directories under /usr/local"
++ test -d /usr/local/include && cf_search="$cf_search /usr/local/include"
++ test -d /usr/local/include/utf8 && cf_search="$cf_search /usr/local/include/utf8"
++ test -d /usr/local/include/utf8/include && cf_search="$cf_search /usr/local/include/utf8/include"
++ test -d /usr/local/utf8/include && cf_search="$cf_search /usr/local/utf8/include"
++ test -d /usr/local/utf8/include/utf8 && cf_search="$cf_search /usr/local/utf8/include/utf8"
+ }
+
+ test "/opt" != "$prefix" && \
+ test -d "/opt" && \
+ (test $prefix = NONE || test "/opt" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for lib-directories under /opt"
+- test -d /opt/lib && cf_search="$cf_search /opt/lib"
+- test -d /opt/lib/$cf_nculib_root && cf_search="$cf_search /opt/lib/$cf_nculib_root"
+- test -d /opt/lib/$cf_nculib_root/lib && cf_search="$cf_search /opt/lib/$cf_nculib_root/lib"
+- test -d /opt/$cf_nculib_root/lib && cf_search="$cf_search /opt/$cf_nculib_root/lib"
+- test -d /opt/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root"
++ test -n "$verbose" && echo " ... testing for include-directories under /opt"
++ test -d /opt/include && cf_search="$cf_search /opt/include"
++ test -d /opt/include/utf8 && cf_search="$cf_search /opt/include/utf8"
++ test -d /opt/include/utf8/include && cf_search="$cf_search /opt/include/utf8/include"
++ test -d /opt/utf8/include && cf_search="$cf_search /opt/utf8/include"
++ test -d /opt/utf8/include/utf8 && cf_search="$cf_search /opt/utf8/include/utf8"
+ }
+
+ test "$HOME" != "$prefix" && \
+ test -d "$HOME" && \
+ (test $prefix = NONE || test "$HOME" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for lib-directories under $HOME"
+- test -d $HOME/lib && cf_search="$cf_search $HOME/lib"
+- test -d $HOME/lib/$cf_nculib_root && cf_search="$cf_search $HOME/lib/$cf_nculib_root"
+- test -d $HOME/lib/$cf_nculib_root/lib && cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib"
+- test -d $HOME/$cf_nculib_root/lib && cf_search="$cf_search $HOME/$cf_nculib_root/lib"
+- test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root"
++ test -n "$verbose" && echo " ... testing for include-directories under $HOME"
++ test -d $HOME/include && cf_search="$cf_search $HOME/include"
++ test -d $HOME/include/utf8 && cf_search="$cf_search $HOME/include/utf8"
++ test -d $HOME/include/utf8/include && cf_search="$cf_search $HOME/include/utf8/include"
++ test -d $HOME/utf8/include && cf_search="$cf_search $HOME/utf8/include"
++ test -d $HOME/utf8/include/utf8 && cf_search="$cf_search $HOME/utf8/include/utf8"
+ }
+
+-cf_search="$cf_library_path_list $cf_search"
++test "$includedir" != NONE && \
++test "$includedir" != "/usr/include" && \
++test -d "$includedir" && {
++ test -d $includedir && cf_search="$cf_search $includedir"
++ test -d $includedir/utf8 && cf_search="$cf_search $includedir/utf8"
++}
+
+- for cf_libdir in $cf_search
+- do
+- echo "$as_me:7124: checking for -l$cf_nculib_root in $cf_libdir" >&5
+-echo $ECHO_N "checking for -l$cf_nculib_root in $cf_libdir... $ECHO_C" >&6
+- LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 7128 "configure"
++test "$oldincludedir" != NONE && \
++test "$oldincludedir" != "/usr/include" && \
++test -d "$oldincludedir" && {
++ test -d $oldincludedir && cf_search="$cf_search $oldincludedir"
++ test -d $oldincludedir/utf8 && cf_search="$cf_search $oldincludedir/utf8"
++}
++
++cf_search="$cf_search $cf_header_path_list"
++
++ for cf_cv_header_path_utf8 in $cf_search
++ do
++ if test -d $cf_cv_header_path_utf8 ; then
++ test -n "$verbose" && echo " ... testing $cf_cv_header_path_utf8" 1>&6
++
++echo "${as_me:-configure}:7073: testing ... testing $cf_cv_header_path_utf8 ..." 1>&5
++
++ CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_utf8"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7077 "configure"
+ #include "confdefs.h"
+-#include <${cf_cv_ncurses_header:-curses.h}>
++
++#include <libutf8.h>
+ int
+ main ()
+ {
+-initscr()
++putwc(0,0);
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7140: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:7090: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7143: \$? = $ac_status" >&5
++ echo "$as_me:7093: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7146: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:7096: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7149: \$? = $ac_status" >&5
++ echo "$as_me:7099: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:7151: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+- break
++
++ test -n "$verbose" && echo " ... found utf8 headers in $cf_cv_header_path_utf8" 1>&6
++
++echo "${as_me:-configure}:7104: testing ... found utf8 headers in $cf_cv_header_path_utf8 ..." 1>&5
++
++ cf_cv_find_linkage_utf8=maybe
++ cf_test_CPPFLAGS="$CPPFLAGS"
++ break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:7158: result: no" >&5
+-echo "${ECHO_T}no" >&6
+- LIBS="$cf_save_LIBS"
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- done
+
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ CPPFLAGS="$cf_save_CPPFLAGS"
+
+ fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ fi
++ done
+
+-eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root
++ if test "$cf_cv_find_linkage_utf8" = maybe ; then
+
+-if test $cf_found_library = no ; then
+- { { echo "$as_me:7173: error: Cannot link $cf_nculib_root library" >&5
+-echo "$as_me: error: Cannot link $cf_nculib_root library" >&2;}
+- { (exit 1); exit 1; }; }
+-fi
++echo "${as_me:-configure}:7122: testing Searching for utf8 library in FIND_LINKAGE(utf8,) ..." 1>&5
+
+-fi
++ cf_save_LIBS="$LIBS"
++ cf_save_LDFLAGS="$LDFLAGS"
+
+-if test -n "$cf_ncurses_LIBS" ; then
+- echo "$as_me:7181: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
+-echo $ECHO_N "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS... $ECHO_C" >&6
+- cf_ncurses_SAVE="$LIBS"
+- for p in $cf_ncurses_LIBS ; do
+- q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
+- if test "$q" != "$LIBS" ; then
+- LIBS="$q"
+- fi
++ if test "$cf_cv_find_linkage_utf8" != yes ; then
++
++cf_search=
++cf_library_path_list=""
++if test -n "${LDFLAGS}${LIBS}" ; then
++ for cf_library_path in $LDFLAGS $LIBS
++ do
++ case $cf_library_path in #(vi
++ -L*)
++ cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
++
++test "$cf_library_path" != "NONE" && \
++test -d "$cf_library_path" && \
++ {
++ test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path"
++ test -d $cf_library_path/lib && cf_search="$cf_search $cf_library_path/lib"
++ test -d $cf_library_path/lib/utf8 && cf_search="$cf_search $cf_library_path/lib/utf8"
++ test -d $cf_library_path/lib/utf8/lib && cf_search="$cf_search $cf_library_path/lib/utf8/lib"
++ test -d $cf_library_path/utf8/lib && cf_search="$cf_search $cf_library_path/utf8/lib"
++ test -d $cf_library_path/utf8/lib/utf8 && cf_search="$cf_search $cf_library_path/utf8/lib/utf8"
++}
++
++ cf_library_path_list="$cf_library_path_list $cf_search"
++ ;;
++ esac
+ done
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 7191 "configure"
++fi
++
++cf_search=
++
++test "/usr" != "$prefix" && \
++test -d "/usr" && \
++(test $prefix = NONE || test "/usr" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for lib-directories under /usr"
++ test -d /usr/lib && cf_search="$cf_search /usr/lib"
++ test -d /usr/lib/utf8 && cf_search="$cf_search /usr/lib/utf8"
++ test -d /usr/lib/utf8/lib && cf_search="$cf_search /usr/lib/utf8/lib"
++ test -d /usr/utf8/lib && cf_search="$cf_search /usr/utf8/lib"
++ test -d /usr/utf8/lib/utf8 && cf_search="$cf_search /usr/utf8/lib/utf8"
++}
++
++test "$prefix" != "NONE" && \
++test -d "$prefix" && \
++ {
++ test -n "$verbose" && echo " ... testing for lib-directories under $prefix"
++ test -d $prefix/lib && cf_search="$cf_search $prefix/lib"
++ test -d $prefix/lib/utf8 && cf_search="$cf_search $prefix/lib/utf8"
++ test -d $prefix/lib/utf8/lib && cf_search="$cf_search $prefix/lib/utf8/lib"
++ test -d $prefix/utf8/lib && cf_search="$cf_search $prefix/utf8/lib"
++ test -d $prefix/utf8/lib/utf8 && cf_search="$cf_search $prefix/utf8/lib/utf8"
++}
++
++test "/usr/local" != "$prefix" && \
++test -d "/usr/local" && \
++(test $prefix = NONE || test "/usr/local" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for lib-directories under /usr/local"
++ test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib"
++ test -d /usr/local/lib/utf8 && cf_search="$cf_search /usr/local/lib/utf8"
++ test -d /usr/local/lib/utf8/lib && cf_search="$cf_search /usr/local/lib/utf8/lib"
++ test -d /usr/local/utf8/lib && cf_search="$cf_search /usr/local/utf8/lib"
++ test -d /usr/local/utf8/lib/utf8 && cf_search="$cf_search /usr/local/utf8/lib/utf8"
++}
++
++test "/opt" != "$prefix" && \
++test -d "/opt" && \
++(test $prefix = NONE || test "/opt" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for lib-directories under /opt"
++ test -d /opt/lib && cf_search="$cf_search /opt/lib"
++ test -d /opt/lib/utf8 && cf_search="$cf_search /opt/lib/utf8"
++ test -d /opt/lib/utf8/lib && cf_search="$cf_search /opt/lib/utf8/lib"
++ test -d /opt/utf8/lib && cf_search="$cf_search /opt/utf8/lib"
++ test -d /opt/utf8/lib/utf8 && cf_search="$cf_search /opt/utf8/lib/utf8"
++}
++
++test "$HOME" != "$prefix" && \
++test -d "$HOME" && \
++(test $prefix = NONE || test "$HOME" != "$prefix") && {
++ test -n "$verbose" && echo " ... testing for lib-directories under $HOME"
++ test -d $HOME/lib && cf_search="$cf_search $HOME/lib"
++ test -d $HOME/lib/utf8 && cf_search="$cf_search $HOME/lib/utf8"
++ test -d $HOME/lib/utf8/lib && cf_search="$cf_search $HOME/lib/utf8/lib"
++ test -d $HOME/utf8/lib && cf_search="$cf_search $HOME/utf8/lib"
++ test -d $HOME/utf8/lib/utf8 && cf_search="$cf_search $HOME/utf8/lib/utf8"
++}
++
++cf_search="$cf_library_path_list $cf_search"
++
++ for cf_cv_library_path_utf8 in $cf_search
++ do
++ if test -d $cf_cv_library_path_utf8 ; then
++ test -n "$verbose" && echo " ... testing $cf_cv_library_path_utf8" 1>&6
++
++echo "${as_me:-configure}:7219: testing ... testing $cf_cv_library_path_utf8 ..." 1>&5
++
++ CPPFLAGS="$cf_test_CPPFLAGS"
++ LIBS="-lutf8 $cf_save_LIBS"
++ LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_utf8"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7225 "configure"
+ #include "confdefs.h"
+-#include <${cf_cv_ncurses_header:-curses.h}>
++
++#include <libutf8.h>
+ int
+ main ()
+ {
+-initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);
++putwc(0,0);
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7203: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7238: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7206: \$? = $ac_status" >&5
++ echo "$as_me:7241: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7209: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7244: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7212: \$? = $ac_status" >&5
++ echo "$as_me:7247: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:7214: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
++
++ test -n "$verbose" && echo " ... found utf8 library in $cf_cv_library_path_utf8" 1>&6
++
++echo "${as_me:-configure}:7252: testing ... found utf8 library in $cf_cv_library_path_utf8 ..." 1>&5
++
++ cf_cv_find_linkage_utf8=yes
++ cf_cv_library_file_utf8="-lutf8"
++ break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:7219: result: no" >&5
+-echo "${ECHO_T}no" >&6
+- LIBS="$cf_ncurses_SAVE"
++
++ CPPFLAGS="$cf_save_CPPFLAGS"
++ LIBS="$cf_save_LIBS"
++ LDFLAGS="$cf_save_LDFLAGS"
++
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
++ fi
++ done
++ CPPFLAGS="$cf_save_CPPFLAGS"
++ LDFLAGS="$cf_save_LDFLAGS"
++ fi
+
+-cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++ else
++ cf_cv_find_linkage_utf8=no
++ fi
+
+-cat >>confdefs.h <<EOF
+-#define $cf_nculib_ROOT 1
+-EOF
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+ fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+- ;;
+-ncursesw)
+- cf_cv_libtype=w
++LIBS="$cf_save_LIBS"
+
+-echo "$as_me:7238: checking for multibyte character support" >&5
+-echo $ECHO_N "checking for multibyte character support... $ECHO_C" >&6
+-if test "${cf_cv_utf8_lib+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++if test "$cf_cv_find_linkage_utf8" = yes ; then
++cf_cv_utf8_lib=add-on
+ else
++cf_cv_utf8_lib=no
++fi
+
+- cf_save_LIBS="$LIBS"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 7246 "configure"
+-#include "confdefs.h"
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:7294: result: $cf_cv_utf8_lib" >&5
++echo "${ECHO_T}$cf_cv_utf8_lib" >&6
+
+-#include <stdlib.h>
++# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
++# ncurses/ncursesw:
++if test "$cf_cv_utf8_lib" = "add-on" ; then
++
++cat >>confdefs.h <<\EOF
++#define HAVE_LIBUTF8_H 1
++EOF
++
++if test -n "$cf_cv_header_path_utf8" ; then
++ for cf_add_incdir in $cf_cv_header_path_utf8
++ do
++ while test $cf_add_incdir != /usr/include
++ do
++ if test -d $cf_add_incdir
++ then
++ cf_have_incdir=no
++ if test -n "$CFLAGS$CPPFLAGS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
++ if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
++ cf_have_incdir=yes; break
++ fi
++ done
++ fi
++
++ if test "$cf_have_incdir" = no ; then
++ if test "$cf_add_incdir" = /usr/local/include ; then
++ if test "$GCC" = yes
++ then
++ cf_save_CPPFLAGS=$CPPFLAGS
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7329 "configure"
++#include "confdefs.h"
++#include <stdio.h>
+ int
+ main ()
+ {
+-putwc(0,0);
++printf("Hello")
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7259: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:7341: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7262: \$? = $ac_status" >&5
++ echo "$as_me:7344: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7265: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:7347: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7268: \$? = $ac_status" >&5
++ echo "$as_me:7350: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_utf8_lib=yes
++ :
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_have_incdir=yes
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS=$cf_save_CPPFLAGS
++ fi
++ fi
++ fi
+
+-# If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
+-# will be set on completion of the AC_TRY_LINK below.
+-cf_cv_header_path_utf8=
+-cf_cv_library_path_utf8=
+-
+-echo "${as_me:-configure}:7280: testing Starting FIND_LINKAGE(utf8,) ..." 1>&5
++ if test "$cf_have_incdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-cf_save_LIBS="$LIBS"
++echo "${as_me:-configure}:7367: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 7285 "configure"
+-#include "confdefs.h"
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+-#include <libutf8.h>
+-int
+-main ()
+-{
+-putwc(0,0);
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7298: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:7301: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7304: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:7307: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
++ cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
++ test "$cf_top_incdir" = "$cf_add_incdir" && break
++ cf_add_incdir="$cf_top_incdir"
++ else
++ break
++ fi
++ fi
++ done
++ done
++fi
+
+- cf_cv_find_linkage_utf8=yes
+- cf_cv_header_path_utf8=/usr/include
+- cf_cv_library_path_utf8=/usr/lib
++if test -n "$cf_cv_library_path_utf8" ; then
++ for cf_add_libdir in $cf_cv_library_path_utf8
++ do
++ if test $cf_add_libdir = /usr/lib ; then
++ :
++ elif test -d $cf_add_libdir
++ then
++ cf_have_libdir=no
++ if test -n "$LDFLAGS$LIBS" ; then
++ # a loop is needed to ensure we can add subdirs of existing dirs
++ for cf_test_libdir in $LDFLAGS $LIBS ; do
++ if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
++ cf_have_libdir=yes; break
++ fi
++ done
++ fi
++ if test "$cf_have_libdir" = no ; then
++ test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
+
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
++echo "${as_me:-configure}:7401: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+-LIBS="-lutf8 $cf_save_LIBS"
++ LDFLAGS="-L$cf_add_libdir $LDFLAGS"
++ fi
++ fi
++ done
++fi
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 7321 "configure"
+-#include "confdefs.h"
++ LIBS="$cf_cv_library_file_utf8 $LIBS"
++fi
+
+-#include <libutf8.h>
+-int
+-main ()
+-{
+-putwc(0,0);
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7334: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:7337: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7340: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:7343: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
++cf_ncuconfig_root=ncursesw
+
+- cf_cv_find_linkage_utf8=yes
+- cf_cv_header_path_utf8=/usr/include
+- cf_cv_library_path_utf8=/usr/lib
+- cf_cv_library_file_utf8="-lutf8"
++echo "Looking for ${cf_ncuconfig_root}-config"
+
++if test -n "$ac_tool_prefix"; then
++ for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
++ 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:7421: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_NCURSES_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-
+- cf_cv_find_linkage_utf8=no
+- LIBS="$cf_save_LIBS"
+-
+- test -n "$verbose" && echo " find linkage for utf8 library" 1>&6
+-
+-echo "${as_me:-configure}:7360: testing find linkage for utf8 library ..." 1>&5
+-
+-echo "${as_me:-configure}:7362: testing Searching for headers in FIND_LINKAGE(utf8,) ..." 1>&5
+-
+- cf_save_CPPFLAGS="$CPPFLAGS"
+- cf_test_CPPFLAGS="$CPPFLAGS"
+-
+-cf_search=
+-
+-# collect the current set of include-directories from compiler flags
+-cf_header_path_list=""
+-if test -n "${CFLAGS}${CPPFLAGS}" ; then
+- for cf_header_path in $CPPFLAGS $CFLAGS
+- do
+- case $cf_header_path in #(vi
+- -I*)
+- cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
+-
+-test "$cf_header_path" != "NONE" && \
+-test -d "$cf_header_path" && \
+- {
+- test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path"
+- test -d $cf_header_path/include && cf_search="$cf_search $cf_header_path/include"
+- test -d $cf_header_path/include/utf8 && cf_search="$cf_search $cf_header_path/include/utf8"
+- test -d $cf_header_path/include/utf8/include && cf_search="$cf_search $cf_header_path/include/utf8/include"
+- test -d $cf_header_path/utf8/include && cf_search="$cf_search $cf_header_path/utf8/include"
+- test -d $cf_header_path/utf8/include/utf8 && cf_search="$cf_search $cf_header_path/utf8/include/utf8"
+-}
++ if test -n "$NCURSES_CONFIG"; then
++ ac_cv_prog_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_NCURSES_CONFIG="$ac_tool_prefix$ac_prog"
++echo "$as_me:7436: found $ac_dir/$ac_word" >&5
++break
++done
+
+- cf_header_path_list="$cf_header_path_list $cf_search"
+- ;;
+- esac
+- done
++fi
++fi
++NCURSES_CONFIG=$ac_cv_prog_NCURSES_CONFIG
++if test -n "$NCURSES_CONFIG"; then
++ echo "$as_me:7444: result: $NCURSES_CONFIG" >&5
++echo "${ECHO_T}$NCURSES_CONFIG" >&6
++else
++ echo "$as_me:7447: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+
+-# add the variations for the package we are looking for
+-
+-cf_search=
+-
+-test "/usr" != "$prefix" && \
+-test -d "/usr" && \
+-(test $prefix = NONE || test "/usr" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for include-directories under /usr"
+- test -d /usr/include && cf_search="$cf_search /usr/include"
+- test -d /usr/include/utf8 && cf_search="$cf_search /usr/include/utf8"
+- test -d /usr/include/utf8/include && cf_search="$cf_search /usr/include/utf8/include"
+- test -d /usr/utf8/include && cf_search="$cf_search /usr/utf8/include"
+- test -d /usr/utf8/include/utf8 && cf_search="$cf_search /usr/utf8/include/utf8"
+-}
+-
+-test "$prefix" != "NONE" && \
+-test -d "$prefix" && \
+- {
+- test -n "$verbose" && echo " ... testing for include-directories under $prefix"
+- test -d $prefix/include && cf_search="$cf_search $prefix/include"
+- test -d $prefix/include/utf8 && cf_search="$cf_search $prefix/include/utf8"
+- test -d $prefix/include/utf8/include && cf_search="$cf_search $prefix/include/utf8/include"
+- test -d $prefix/utf8/include && cf_search="$cf_search $prefix/utf8/include"
+- test -d $prefix/utf8/include/utf8 && cf_search="$cf_search $prefix/utf8/include/utf8"
+-}
+-
+-test "/usr/local" != "$prefix" && \
+-test -d "/usr/local" && \
+-(test $prefix = NONE || test "/usr/local" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for include-directories under /usr/local"
+- test -d /usr/local/include && cf_search="$cf_search /usr/local/include"
+- test -d /usr/local/include/utf8 && cf_search="$cf_search /usr/local/include/utf8"
+- test -d /usr/local/include/utf8/include && cf_search="$cf_search /usr/local/include/utf8/include"
+- test -d /usr/local/utf8/include && cf_search="$cf_search /usr/local/utf8/include"
+- test -d /usr/local/utf8/include/utf8 && cf_search="$cf_search /usr/local/utf8/include/utf8"
+-}
++ test -n "$NCURSES_CONFIG" && break
++ done
++fi
++if test -z "$NCURSES_CONFIG"; then
++ ac_ct_NCURSES_CONFIG=$NCURSES_CONFIG
++ for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
++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:7460: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_NCURSES_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_NCURSES_CONFIG"; then
++ ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_ct_NCURSES_CONFIG" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_prog"
++echo "$as_me:7475: found $ac_dir/$ac_word" >&5
++break
++done
+
+-test "/opt" != "$prefix" && \
+-test -d "/opt" && \
+-(test $prefix = NONE || test "/opt" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for include-directories under /opt"
+- test -d /opt/include && cf_search="$cf_search /opt/include"
+- test -d /opt/include/utf8 && cf_search="$cf_search /opt/include/utf8"
+- test -d /opt/include/utf8/include && cf_search="$cf_search /opt/include/utf8/include"
+- test -d /opt/utf8/include && cf_search="$cf_search /opt/utf8/include"
+- test -d /opt/utf8/include/utf8 && cf_search="$cf_search /opt/utf8/include/utf8"
+-}
++fi
++fi
++ac_ct_NCURSES_CONFIG=$ac_cv_prog_ac_ct_NCURSES_CONFIG
++if test -n "$ac_ct_NCURSES_CONFIG"; then
++ echo "$as_me:7483: result: $ac_ct_NCURSES_CONFIG" >&5
++echo "${ECHO_T}$ac_ct_NCURSES_CONFIG" >&6
++else
++ echo "$as_me:7486: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
+
+-test "$HOME" != "$prefix" && \
+-test -d "$HOME" && \
+-(test $prefix = NONE || test "$HOME" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for include-directories under $HOME"
+- test -d $HOME/include && cf_search="$cf_search $HOME/include"
+- test -d $HOME/include/utf8 && cf_search="$cf_search $HOME/include/utf8"
+- test -d $HOME/include/utf8/include && cf_search="$cf_search $HOME/include/utf8/include"
+- test -d $HOME/utf8/include && cf_search="$cf_search $HOME/utf8/include"
+- test -d $HOME/utf8/include/utf8 && cf_search="$cf_search $HOME/utf8/include/utf8"
+-}
++ test -n "$ac_ct_NCURSES_CONFIG" && break
++done
++test -n "$ac_ct_NCURSES_CONFIG" || ac_ct_NCURSES_CONFIG="none"
+
+-test "$includedir" != NONE && \
+-test "$includedir" != "/usr/include" && \
+-test -d "$includedir" && {
+- test -d $includedir && cf_search="$cf_search $includedir"
+- test -d $includedir/utf8 && cf_search="$cf_search $includedir/utf8"
+-}
++ NCURSES_CONFIG=$ac_ct_NCURSES_CONFIG
++fi
+
+-test "$oldincludedir" != NONE && \
+-test "$oldincludedir" != "/usr/include" && \
+-test -d "$oldincludedir" && {
+- test -d $oldincludedir && cf_search="$cf_search $oldincludedir"
+- test -d $oldincludedir/utf8 && cf_search="$cf_search $oldincludedir/utf8"
+-}
++if test "$NCURSES_CONFIG" != none ; then
+
+-cf_search="$cf_search $cf_header_path_list"
++CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`"
++LIBS="`$NCURSES_CONFIG --libs` $LIBS"
+
+- for cf_cv_header_path_utf8 in $cf_search
+- do
+- if test -d $cf_cv_header_path_utf8 ; then
+- test -n "$verbose" && echo " ... testing $cf_cv_header_path_utf8" 1>&6
++# even with config script, some packages use no-override for curses.h
+
+-echo "${as_me:-configure}:7475: testing ... testing $cf_cv_header_path_utf8 ..." 1>&5
++echo "$as_me:7504: checking if we have identified curses headers" >&5
++echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
++if test "${cf_cv_ncurses_header+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
+
+- CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_utf8"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 7479 "configure"
++cf_cv_ncurses_header=none
++for cf_header in \
++ ncursesw/ncurses.h \
++ ncursesw/curses.h \
++ ncurses.h \
++ curses.h
++do
++cat >conftest.$ac_ext <<_ACEOF
++#line 7518 "configure"
+ #include "confdefs.h"
+-
+-#include <libutf8.h>
++#include <${cf_header}>
+ int
+ main ()
+ {
+-putwc(0,0);
++initscr(); tgoto("?", 0,0)
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7492: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7530: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7495: \$? = $ac_status" >&5
++ echo "$as_me:7533: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7498: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7536: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7501: \$? = $ac_status" >&5
++ echo "$as_me:7539: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+-
+- test -n "$verbose" && echo " ... found utf8 headers in $cf_cv_header_path_utf8" 1>&6
+-
+-echo "${as_me:-configure}:7506: testing ... found utf8 headers in $cf_cv_header_path_utf8 ..." 1>&5
+-
+- cf_cv_find_linkage_utf8=maybe
+- cf_test_CPPFLAGS="$CPPFLAGS"
+- break
++ cf_cv_ncurses_header=$cf_header; break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-
+- CPPFLAGS="$cf_save_CPPFLAGS"
+-
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- fi
+- done
+-
+- if test "$cf_cv_find_linkage_utf8" = maybe ; then
+-
+-echo "${as_me:-configure}:7524: testing Searching for utf8 library in FIND_LINKAGE(utf8,) ..." 1>&5
+-
+- cf_save_LIBS="$LIBS"
+- cf_save_LDFLAGS="$LDFLAGS"
+-
+- if test "$cf_cv_find_linkage_utf8" != yes ; then
+-
+-cf_search=
+-cf_library_path_list=""
+-if test -n "${LDFLAGS}${LIBS}" ; then
+- for cf_library_path in $LDFLAGS $LIBS
+- do
+- case $cf_library_path in #(vi
+- -L*)
+- cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
+-
+-test "$cf_library_path" != "NONE" && \
+-test -d "$cf_library_path" && \
+- {
+- test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path"
+- test -d $cf_library_path/lib && cf_search="$cf_search $cf_library_path/lib"
+- test -d $cf_library_path/lib/utf8 && cf_search="$cf_search $cf_library_path/lib/utf8"
+- test -d $cf_library_path/lib/utf8/lib && cf_search="$cf_search $cf_library_path/lib/utf8/lib"
+- test -d $cf_library_path/utf8/lib && cf_search="$cf_search $cf_library_path/utf8/lib"
+- test -d $cf_library_path/utf8/lib/utf8 && cf_search="$cf_search $cf_library_path/utf8/lib/utf8"
+-}
++done
+
+- cf_library_path_list="$cf_library_path_list $cf_search"
+- ;;
+- esac
+- done
+ fi
++echo "$as_me:7550: result: $cf_cv_ncurses_header" >&5
++echo "${ECHO_T}$cf_cv_ncurses_header" >&6
+
+-cf_search=
+-
+-test "/usr" != "$prefix" && \
+-test -d "/usr" && \
+-(test $prefix = NONE || test "/usr" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for lib-directories under /usr"
+- test -d /usr/lib && cf_search="$cf_search /usr/lib"
+- test -d /usr/lib/utf8 && cf_search="$cf_search /usr/lib/utf8"
+- test -d /usr/lib/utf8/lib && cf_search="$cf_search /usr/lib/utf8/lib"
+- test -d /usr/utf8/lib && cf_search="$cf_search /usr/utf8/lib"
+- test -d /usr/utf8/lib/utf8 && cf_search="$cf_search /usr/utf8/lib/utf8"
+-}
+-
+-test "$prefix" != "NONE" && \
+-test -d "$prefix" && \
+- {
+- test -n "$verbose" && echo " ... testing for lib-directories under $prefix"
+- test -d $prefix/lib && cf_search="$cf_search $prefix/lib"
+- test -d $prefix/lib/utf8 && cf_search="$cf_search $prefix/lib/utf8"
+- test -d $prefix/lib/utf8/lib && cf_search="$cf_search $prefix/lib/utf8/lib"
+- test -d $prefix/utf8/lib && cf_search="$cf_search $prefix/utf8/lib"
+- test -d $prefix/utf8/lib/utf8 && cf_search="$cf_search $prefix/utf8/lib/utf8"
+-}
+-
+-test "/usr/local" != "$prefix" && \
+-test -d "/usr/local" && \
+-(test $prefix = NONE || test "/usr/local" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for lib-directories under /usr/local"
+- test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib"
+- test -d /usr/local/lib/utf8 && cf_search="$cf_search /usr/local/lib/utf8"
+- test -d /usr/local/lib/utf8/lib && cf_search="$cf_search /usr/local/lib/utf8/lib"
+- test -d /usr/local/utf8/lib && cf_search="$cf_search /usr/local/utf8/lib"
+- test -d /usr/local/utf8/lib/utf8 && cf_search="$cf_search /usr/local/utf8/lib/utf8"
+-}
+-
+-test "/opt" != "$prefix" && \
+-test -d "/opt" && \
+-(test $prefix = NONE || test "/opt" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for lib-directories under /opt"
+- test -d /opt/lib && cf_search="$cf_search /opt/lib"
+- test -d /opt/lib/utf8 && cf_search="$cf_search /opt/lib/utf8"
+- test -d /opt/lib/utf8/lib && cf_search="$cf_search /opt/lib/utf8/lib"
+- test -d /opt/utf8/lib && cf_search="$cf_search /opt/utf8/lib"
+- test -d /opt/utf8/lib/utf8 && cf_search="$cf_search /opt/utf8/lib/utf8"
+-}
+-
+-test "$HOME" != "$prefix" && \
+-test -d "$HOME" && \
+-(test $prefix = NONE || test "$HOME" != "$prefix") && {
+- test -n "$verbose" && echo " ... testing for lib-directories under $HOME"
+- test -d $HOME/lib && cf_search="$cf_search $HOME/lib"
+- test -d $HOME/lib/utf8 && cf_search="$cf_search $HOME/lib/utf8"
+- test -d $HOME/lib/utf8/lib && cf_search="$cf_search $HOME/lib/utf8/lib"
+- test -d $HOME/utf8/lib && cf_search="$cf_search $HOME/utf8/lib"
+- test -d $HOME/utf8/lib/utf8 && cf_search="$cf_search $HOME/utf8/lib/utf8"
+-}
+-
+-cf_search="$cf_library_path_list $cf_search"
+-
+- for cf_cv_library_path_utf8 in $cf_search
+- do
+- if test -d $cf_cv_library_path_utf8 ; then
+- test -n "$verbose" && echo " ... testing $cf_cv_library_path_utf8" 1>&6
++if test "$cf_cv_ncurses_header" = none ; then
++ { { echo "$as_me:7554: error: No curses header-files found" >&5
++echo "$as_me: error: No curses header-files found" >&2;}
++ { (exit 1); exit 1; }; }
++fi
+
+-echo "${as_me:-configure}:7621: testing ... testing $cf_cv_library_path_utf8 ..." 1>&5
++# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
+
+- CPPFLAGS="$cf_test_CPPFLAGS"
+- LIBS="-lutf8 $cf_save_LIBS"
+- LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_utf8"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 7627 "configure"
++for ac_header in $cf_cv_ncurses_header
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:7564: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 7570 "configure"
+ #include "confdefs.h"
+-
+-#include <libutf8.h>
+-int
+-main ()
+-{
+-putwc(0,0);
+- ;
+- return 0;
+-}
++#include <$ac_header>
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7640: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:7643: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7646: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++if { (eval echo "$as_me:7574: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+- echo "$as_me:7649: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+-
+- test -n "$verbose" && echo " ... found utf8 library in $cf_cv_library_path_utf8" 1>&6
+-
+-echo "${as_me:-configure}:7654: testing ... found utf8 library in $cf_cv_library_path_utf8 ..." 1>&5
+-
+- cf_cv_find_linkage_utf8=yes
+- cf_cv_library_file_utf8="-lutf8"
+- break
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:7580: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ eval "$as_ac_Header=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-
+- CPPFLAGS="$cf_save_CPPFLAGS"
+- LIBS="$cf_save_LIBS"
+- LDFLAGS="$cf_save_LDFLAGS"
++ cat conftest.$ac_ext >&5
++ eval "$as_ac_Header=no"
++fi
++rm -f conftest.err conftest.$ac_ext
++fi
++echo "$as_me:7599: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++EOF
+
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- fi
+- done
+- CPPFLAGS="$cf_save_CPPFLAGS"
+- LDFLAGS="$cf_save_LDFLAGS"
+- fi
++done
+
+- else
+- cf_cv_find_linkage_utf8=no
+- fi
++cat >>confdefs.h <<\EOF
++#define NCURSES 1
++EOF
+
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++cf_nculib_ROOT=`echo "HAVE_LIB$cf_ncuconfig_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++cat >>confdefs.h <<EOF
++#define $cf_nculib_ROOT 1
++EOF
+
+-LIBS="$cf_save_LIBS"
++cf_cv_ncurses_version=`$NCURSES_CONFIG --version`
+
+-if test "$cf_cv_find_linkage_utf8" = yes ; then
+-cf_cv_utf8_lib=add-on
+ else
+-cf_cv_utf8_lib=no
+-fi
+
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:7696: result: $cf_cv_utf8_lib" >&5
+-echo "${ECHO_T}$cf_cv_utf8_lib" >&6
++cf_ncuhdr_root=ncursesw
+
+-# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
+-# ncurses/ncursesw:
+-if test "$cf_cv_utf8_lib" = "add-on" ; then
+- cat >>confdefs.h <<\EOF
+-#define HAVE_LIBUTF8_H 1
+-EOF
++test -n "$cf_cv_curses_dir" && \
++test "$cf_cv_curses_dir" != "no" && { \
+
+-if test -n "$cf_cv_header_path_utf8" ; then
+- for cf_add_incdir in $cf_cv_header_path_utf8
++if test -n "$cf_cv_curses_dir/include/$cf_ncuhdr_root" ; then
++ for cf_add_incdir in $cf_cv_curses_dir/include/$cf_ncuhdr_root
+ do
+ while test $cf_add_incdir != /usr/include
+ do
+@@ -7727,7 +7649,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7730 "configure"
++#line 7652 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -7739,16 +7661,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7742: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7664: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7745: \$? = $ac_status" >&5
++ echo "$as_me:7667: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7748: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7670: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7751: \$? = $ac_status" >&5
++ echo "$as_me:7673: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -7765,7 +7687,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:7768: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:7690: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -7780,305 +7702,21 @@
+ done
+ fi
+
+-if test -n "$cf_cv_library_path_utf8" ; then
+- for cf_add_libdir in $cf_cv_library_path_utf8
+- do
+- if test $cf_add_libdir = /usr/lib ; then
+- :
+- elif test -d $cf_add_libdir
+- then
+- cf_have_libdir=no
+- if test -n "$LDFLAGS$LIBS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_libdir in $LDFLAGS $LIBS ; do
+- if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
+- cf_have_libdir=yes; break
+- fi
+- done
+- fi
+- if test "$cf_have_libdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
++}
+
+-echo "${as_me:-configure}:7802: testing adding $cf_add_libdir to library-path ..." 1>&5
++echo "$as_me:7707: checking for $cf_ncuhdr_root header in include-path" >&5
++echo $ECHO_N "checking for $cf_ncuhdr_root header in include-path... $ECHO_C" >&6
++if test "${cf_cv_ncurses_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
+
+- LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+- fi
+- fi
+- done
+-fi
+-
+- LIBS="$cf_cv_library_file_utf8 $LIBS"
+-fi
+-
+-cf_ncuconfig_root=ncursesw
+-
+-echo "Looking for ${cf_ncuconfig_root}-config"
+-for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config
+-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:7820: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_NCURSES_CONFIG+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- case $NCURSES_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- if $as_executable_p "$ac_dir/$ac_word"; then
+- ac_cv_path_NCURSES_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:7837: found $ac_dir/$ac_word" >&5
+- break
+-fi
+-done
+-
+- ;;
+-esac
+-fi
+-NCURSES_CONFIG=$ac_cv_path_NCURSES_CONFIG
+-
+-if test -n "$NCURSES_CONFIG"; then
+- echo "$as_me:7848: result: $NCURSES_CONFIG" >&5
+-echo "${ECHO_T}$NCURSES_CONFIG" >&6
+-else
+- echo "$as_me:7851: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+- test -n "$NCURSES_CONFIG" && break
+-done
+-test -n "$NCURSES_CONFIG" || NCURSES_CONFIG="none"
+-
+-if test "$NCURSES_CONFIG" != none ; then
+-
+-CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`"
+-LIBS="`$NCURSES_CONFIG --libs` $LIBS"
+-
+-# even with config script, some packages use no-override for curses.h
+-
+-echo "$as_me:7866: checking if we have identified curses headers" >&5
+-echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_header+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+-cf_cv_ncurses_header=none
+-for cf_header in \
+- ncursesw/curses.h \
+- ncursesw/ncurses.h \
+- curses.h \
+- ncurses.h
+-do
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 7880 "configure"
+-#include "confdefs.h"
+-#include <${cf_header}>
+-int
+-main ()
+-{
+-initscr(); tgoto("?", 0,0)
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7892: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:7895: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7898: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:7901: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_cv_ncurses_header=$cf_header; break
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-done
+-
+-fi
+-echo "$as_me:7912: result: $cf_cv_ncurses_header" >&5
+-echo "${ECHO_T}$cf_cv_ncurses_header" >&6
+-
+-if test "$cf_cv_ncurses_header" = none ; then
+- { { echo "$as_me:7916: error: No curses header-files found" >&5
+-echo "$as_me: error: No curses header-files found" >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-
+-# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
+-
+-for ac_header in $cf_cv_ncurses_header
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:7926: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 7932 "configure"
+-#include "confdefs.h"
+-#include <$ac_header>
+-_ACEOF
+-if { (eval echo "$as_me:7936: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:7942: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- eval "$as_ac_Header=yes"
+-else
+- echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- eval "$as_ac_Header=no"
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-fi
+-echo "$as_me:7961: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-EOF
+-
+-fi
+-done
+-
+-cat >>confdefs.h <<\EOF
+-#define NCURSES 1
+-EOF
+-
+-cf_nculib_ROOT=`echo "HAVE_LIB$cf_ncuconfig_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+-
+-cat >>confdefs.h <<EOF
+-#define $cf_nculib_ROOT 1
+-EOF
+-
+-cf_cv_ncurses_version=`$NCURSES_CONFIG --version`
+-
+-else
+-
+-cf_ncuhdr_root=ncursesw
+-
+-test -n "$cf_cv_curses_dir" && \
+-test "$cf_cv_curses_dir" != "no" && { \
+-
+-if test -n "$cf_cv_curses_dir/include/$cf_ncuhdr_root" ; then
+- for cf_add_incdir in $cf_cv_curses_dir/include/$cf_ncuhdr_root
+- do
+- while test $cf_add_incdir != /usr/include
+- do
+- if test -d $cf_add_incdir
+- then
+- cf_have_incdir=no
+- if test -n "$CFLAGS$CPPFLAGS" ; then
+- # a loop is needed to ensure we can add subdirs of existing dirs
+- for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
+- if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
+- cf_have_incdir=yes; break
+- fi
+- done
+- fi
+-
+- if test "$cf_have_incdir" = no ; then
+- if test "$cf_add_incdir" = /usr/local/include ; then
+- if test "$GCC" = yes
+- then
+- cf_save_CPPFLAGS=$CPPFLAGS
+- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 8014 "configure"
+-#include "confdefs.h"
+-#include <stdio.h>
+-int
+-main ()
+-{
+-printf("Hello")
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8026: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:8029: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8032: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:8035: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- :
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_have_incdir=yes
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- CPPFLAGS=$cf_save_CPPFLAGS
+- fi
+- fi
+- fi
+-
+- if test "$cf_have_incdir" = no ; then
+- test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+-
+-echo "${as_me:-configure}:8052: testing adding $cf_add_incdir to include-path ..." 1>&5
+-
+- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+-
+- cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
+- test "$cf_top_incdir" = "$cf_add_incdir" && break
+- cf_add_incdir="$cf_top_incdir"
+- else
+- break
+- fi
+- fi
+- done
+- done
+-fi
+-
+-}
+-
+-echo "$as_me:8069: checking for $cf_ncuhdr_root header in include-path" >&5
+-echo $ECHO_N "checking for $cf_ncuhdr_root header in include-path... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_h+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+- cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
+- ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
+- for cf_header in $cf_header_list
+- do
++ cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
++ ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
++ for cf_header in $cf_header_list
++ do
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8081 "configure"
++#line 7719 "configure"
+ #include "confdefs.h"
+
+ #define _XOPEN_SOURCE_EXTENDED
+@@ -8110,16 +7748,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8113: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7751: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8116: \$? = $ac_status" >&5
++ echo "$as_me:7754: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8119: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7757: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8122: \$? = $ac_status" >&5
++ echo "$as_me:7760: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ncurses_h=$cf_header
+
+@@ -8134,14 +7772,14 @@
+ done
+
+ fi
+-echo "$as_me:8137: result: $cf_cv_ncurses_h" >&5
++echo "$as_me:7775: result: $cf_cv_ncurses_h" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_h" >&6
+
+ if test "$cf_cv_ncurses_h" != no ; then
+ cf_cv_ncurses_header=$cf_cv_ncurses_h
+ else
+
+-echo "$as_me:8144: checking for $cf_ncuhdr_root include-path" >&5
++echo "$as_me:7782: checking for $cf_ncuhdr_root include-path" >&5
+ echo $ECHO_N "checking for $cf_ncuhdr_root include-path... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_h2+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8281,7 +7919,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8284 "configure"
++#line 7922 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -8293,16 +7931,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8296: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7934: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8299: \$? = $ac_status" >&5
++ echo "$as_me:7937: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8302: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7940: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8305: \$? = $ac_status" >&5
++ echo "$as_me:7943: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -8319,7 +7957,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:8322: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:7960: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -8340,7 +7978,7 @@
+ do
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8343 "configure"
++#line 7981 "configure"
+ #include "confdefs.h"
+
+ #include <$cf_header>
+@@ -8364,16 +8002,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8367: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8005: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8370: \$? = $ac_status" >&5
++ echo "$as_me:8008: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8373: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8011: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8376: \$? = $ac_status" >&5
++ echo "$as_me:8014: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ncurses_h2=$cf_header
+
+@@ -8394,12 +8032,12 @@
+ CPPFLAGS="$cf_save2_CPPFLAGS"
+ test "$cf_cv_ncurses_h2" != no && break
+ done
+- test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:8397: error: not found" >&5
++ test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:8035: error: not found" >&5
+ echo "$as_me: error: not found" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:8402: result: $cf_cv_ncurses_h2" >&5
++echo "$as_me:8040: result: $cf_cv_ncurses_h2" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_h2" >&6
+
+ cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'`
+@@ -8432,7 +8070,7 @@
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8435 "configure"
++#line 8073 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -8444,16 +8082,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8447: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8085: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8450: \$? = $ac_status" >&5
++ echo "$as_me:8088: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8453: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8091: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8456: \$? = $ac_status" >&5
++ echo "$as_me:8094: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -8470,7 +8108,7 @@
+ if test "$cf_have_incdir" = no ; then
+ test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
+
+-echo "${as_me:-configure}:8473: testing adding $cf_add_incdir to include-path ..." 1>&5
++echo "${as_me:-configure}:8111: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+
+@@ -8491,7 +8129,8 @@
+
+ case $cf_cv_ncurses_header in # (vi
+ *ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_H 1
+ EOF
+
+@@ -8500,20 +8139,22 @@
+
+ case $cf_cv_ncurses_header in # (vi
+ ncurses/curses.h|ncurses/ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_NCURSES_H 1
+ EOF
+
+ ;;
+ ncursesw/curses.h|ncursesw/ncurses.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSESW_NCURSES_H 1
+ EOF
+
+ ;;
+ esac
+
+-echo "$as_me:8516: checking for terminfo header" >&5
++echo "$as_me:8157: checking for terminfo header" >&5
+ echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6
+ if test "${cf_cv_term_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8531,7 +8172,7 @@
+ for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8534 "configure"
++#line 8175 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ #include <${cf_cv_ncurses_header:-curses.h}>
+@@ -8546,16 +8187,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8549: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8190: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8552: \$? = $ac_status" >&5
++ echo "$as_me:8193: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8555: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8196: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8558: \$? = $ac_status" >&5
++ echo "$as_me:8199: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_term_header="$cf_test"
+@@ -8571,14 +8212,15 @@
+ done
+
+ fi
+-echo "$as_me:8574: result: $cf_cv_term_header" >&5
++echo "$as_me:8215: result: $cf_cv_term_header" >&5
+ echo "${ECHO_T}$cf_cv_term_header" >&6
+
+ # Set definitions to allow ifdef'ing to accommodate subdirectories
+
+ case $cf_cv_term_header in # (vi
+ *term.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_TERM_H 1
+ EOF
+
+@@ -8587,13 +8229,15 @@
+
+ case $cf_cv_term_header in # (vi
+ ncurses/term.h) #(vi
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSES_TERM_H 1
+ EOF
+
+ ;;
+ ncursesw/term.h)
+- cat >>confdefs.h <<\EOF
++
++cat >>confdefs.h <<\EOF
+ #define HAVE_NCURSESW_TERM_H 1
+ EOF
+
+@@ -8601,11 +8245,12 @@
+ esac
+
+ # some applications need this, but should check for NCURSES_VERSION
++
+ cat >>confdefs.h <<\EOF
+ #define NCURSES 1
+ EOF
+
+-echo "$as_me:8608: checking for ncurses version" >&5
++echo "$as_me:8253: checking for ncurses version" >&5
+ echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6
+ if test "${cf_cv_ncurses_version+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8631,10 +8276,10 @@
+ #endif
+ EOF
+ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
+- { (eval echo "$as_me:8634: \"$cf_try\"") >&5
++ { (eval echo "$as_me:8279: \"$cf_try\"") >&5
+ (eval $cf_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8637: \$? = $ac_status" >&5
++ echo "$as_me:8282: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ if test -f conftest.out ; then
+ cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
+@@ -8644,7 +8289,7 @@
+
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8647 "configure"
++#line 8292 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header:-curses.h}>
+@@ -8669,15 +8314,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:8672: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8317: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8675: \$? = $ac_status" >&5
++ echo "$as_me:8320: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:8677: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8322: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8680: \$? = $ac_status" >&5
++ echo "$as_me:8325: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_ncurses_version=`cat $cf_tempfile`
+@@ -8691,9 +8336,10 @@
+ rm -f $cf_tempfile
+
+ fi
+-echo "$as_me:8694: result: $cf_cv_ncurses_version" >&5
++echo "$as_me:8339: result: $cf_cv_ncurses_version" >&5
+ echo "${ECHO_T}$cf_cv_ncurses_version" >&6
+-test "$cf_cv_ncurses_version" = no || cat >>confdefs.h <<\EOF
++test "$cf_cv_ncurses_version" = no ||
++cat >>confdefs.h <<\EOF
+ #define NCURSES 1
+ EOF
+
+@@ -8703,7 +8349,7 @@
+ # to link gpm.
+ cf_ncurses_LIBS=""
+ cf_ncurses_SAVE="$LIBS"
+-echo "$as_me:8706: checking for Gpm_Open in -lgpm" >&5
++echo "$as_me:8352: checking for Gpm_Open in -lgpm" >&5
+ echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8711,7 +8357,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8714 "configure"
++#line 8360 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -8730,16 +8376,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8733: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8379: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8736: \$? = $ac_status" >&5
++ echo "$as_me:8382: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8739: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8385: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8742: \$? = $ac_status" >&5
++ echo "$as_me:8388: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_Gpm_Open=yes
+ else
+@@ -8750,10 +8396,10 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:8753: result: $ac_cv_lib_gpm_Gpm_Open" >&5
++echo "$as_me:8399: result: $ac_cv_lib_gpm_Gpm_Open" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
+ if test $ac_cv_lib_gpm_Gpm_Open = yes; then
+- echo "$as_me:8756: checking for initscr in -lgpm" >&5
++ echo "$as_me:8402: checking for initscr in -lgpm" >&5
+ echo $ECHO_N "checking for initscr in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8761,7 +8407,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8764 "configure"
++#line 8410 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -8780,16 +8426,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8783: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8429: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8786: \$? = $ac_status" >&5
++ echo "$as_me:8432: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8789: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8435: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8792: \$? = $ac_status" >&5
++ echo "$as_me:8438: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_initscr=yes
+ else
+@@ -8800,7 +8446,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:8803: result: $ac_cv_lib_gpm_initscr" >&5
++echo "$as_me:8449: result: $ac_cv_lib_gpm_initscr" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_initscr" >&6
+ if test $ac_cv_lib_gpm_initscr = yes; then
+ LIBS="$cf_ncurses_SAVE"
+@@ -8815,7 +8461,7 @@
+ # This is only necessary if you are linking against an obsolete
+ # version of ncurses (but it should do no harm, since it's static).
+ if test "$cf_nculib_root" = ncurses ; then
+- echo "$as_me:8818: checking for tgoto in -lmytinfo" >&5
++ echo "$as_me:8464: checking for tgoto in -lmytinfo" >&5
+ echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6
+ if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8823,7 +8469,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lmytinfo $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8826 "configure"
++#line 8472 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -8842,16 +8488,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8845: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8491: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8848: \$? = $ac_status" >&5
++ echo "$as_me:8494: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8851: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8497: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8854: \$? = $ac_status" >&5
++ echo "$as_me:8500: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_mytinfo_tgoto=yes
+ else
+@@ -8862,7 +8508,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:8865: result: $ac_cv_lib_mytinfo_tgoto" >&5
++echo "$as_me:8511: result: $ac_cv_lib_mytinfo_tgoto" >&5
+ echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6
+ if test $ac_cv_lib_mytinfo_tgoto = yes; then
+ cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
+@@ -8881,13 +8527,13 @@
+
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
+ cf_libdir=""
+- echo "$as_me:8884: checking for initscr" >&5
++ echo "$as_me:8530: checking for initscr" >&5
+ echo $ECHO_N "checking for initscr... $ECHO_C" >&6
+ if test "${ac_cv_func_initscr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8890 "configure"
++#line 8536 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char initscr (); below. */
+@@ -8910,7 +8556,7 @@
+ #if defined (__stub_initscr) || defined (__stub___initscr)
+ choke me
+ #else
+-f = initscr;
++f = initscr; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
+ #endif
+
+ ;
+@@ -8918,16 +8564,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8921: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8567: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8924: \$? = $ac_status" >&5
++ echo "$as_me:8570: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8927: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8573: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8930: \$? = $ac_status" >&5
++ echo "$as_me:8576: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_initscr=yes
+ else
+@@ -8937,18 +8583,18 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:8940: result: $ac_cv_func_initscr" >&5
++echo "$as_me:8586: result: $ac_cv_func_initscr" >&5
+ echo "${ECHO_T}$ac_cv_func_initscr" >&6
+ if test $ac_cv_func_initscr = yes; then
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+ else
+
+ cf_save_LIBS="$LIBS"
+- echo "$as_me:8947: checking for initscr in -l$cf_nculib_root" >&5
++ echo "$as_me:8593: checking for initscr in -l$cf_nculib_root" >&5
+ echo $ECHO_N "checking for initscr in -l$cf_nculib_root... $ECHO_C" >&6
+ LIBS="-l$cf_nculib_root $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8951 "configure"
++#line 8597 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -8960,25 +8606,25 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8963: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8609: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8966: \$? = $ac_status" >&5
++ echo "$as_me:8612: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8969: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8615: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8972: \$? = $ac_status" >&5
++ echo "$as_me:8618: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:8974: result: yes" >&5
++ echo "$as_me:8620: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:8981: result: no" >&5
++echo "$as_me:8627: result: no" >&5
+ echo "${ECHO_T}no" >&6
+
+ cf_search=
+@@ -9068,11 +8714,11 @@
+
+ for cf_libdir in $cf_search
+ do
+- echo "$as_me:9071: checking for -l$cf_nculib_root in $cf_libdir" >&5
++ echo "$as_me:8717: checking for -l$cf_nculib_root in $cf_libdir" >&5
+ echo $ECHO_N "checking for -l$cf_nculib_root in $cf_libdir... $ECHO_C" >&6
+ LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9075 "configure"
++#line 8721 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -9084,25 +8730,25 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9087: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8733: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9090: \$? = $ac_status" >&5
++ echo "$as_me:8736: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9093: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8739: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9096: \$? = $ac_status" >&5
++ echo "$as_me:8742: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:9098: result: yes" >&5
++ echo "$as_me:8744: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+ break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:9105: result: no" >&5
++echo "$as_me:8751: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ LIBS="$cf_save_LIBS"
+ fi
+@@ -9117,7 +8763,7 @@
+ eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root
+
+ if test $cf_found_library = no ; then
+- { { echo "$as_me:9120: error: Cannot link $cf_nculib_root library" >&5
++ { { echo "$as_me:8766: error: Cannot link $cf_nculib_root library" >&5
+ echo "$as_me: error: Cannot link $cf_nculib_root library" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -9125,7 +8771,7 @@
+ fi
+
+ if test -n "$cf_ncurses_LIBS" ; then
+- echo "$as_me:9128: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
++ echo "$as_me:8774: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
+ echo $ECHO_N "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS... $ECHO_C" >&6
+ cf_ncurses_SAVE="$LIBS"
+ for p in $cf_ncurses_LIBS ; do
+@@ -9135,7 +8781,7 @@
+ fi
+ done
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9138 "configure"
++#line 8784 "configure"
+ #include "confdefs.h"
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+@@ -9147,23 +8793,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9150: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8796: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9153: \$? = $ac_status" >&5
++ echo "$as_me:8799: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9156: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8802: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9159: \$? = $ac_status" >&5
++ echo "$as_me:8805: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- echo "$as_me:9161: result: yes" >&5
++ echo "$as_me:8807: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:9166: result: no" >&5
++echo "$as_me:8812: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ LIBS="$cf_ncurses_SAVE"
+ fi
+@@ -9179,153 +8825,8 @@
+ fi
+
+ ;;
+-pdcurses) #(vi
+-
+-echo "$as_me:9184: checking if you want to use pkg-config" >&5
+-echo $ECHO_N "checking if you want to use pkg-config... $ECHO_C" >&6
+-
+-# Check whether --with-pkg-config or --without-pkg-config was given.
+-if test "${with_pkg_config+set}" = set; then
+- withval="$with_pkg_config"
+- cf_pkg_config=$withval
+-else
+- cf_pkg_config=yes
+-fi;
+-echo "$as_me:9194: result: $cf_pkg_config" >&5
+-echo "${ECHO_T}$cf_pkg_config" >&6
+-
+-case $cf_pkg_config in #(vi
+-no) #(vi
+- PKG_CONFIG=none
+- ;;
+-yes) #(vi
+- if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+-echo "$as_me:9205: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- case $PKG_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- if $as_executable_p "$ac_dir/$ac_word"; then
+- ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:9222: found $ac_dir/$ac_word" >&5
+- break
+-fi
+-done
+-
+- ;;
+-esac
+-fi
+-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+-
+-if test -n "$PKG_CONFIG"; then
+- echo "$as_me:9233: result: $PKG_CONFIG" >&5
+-echo "${ECHO_T}$PKG_CONFIG" >&6
+-else
+- echo "$as_me:9236: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+-fi
+-if test -z "$ac_cv_path_PKG_CONFIG"; then
+- ac_pt_PKG_CONFIG=$PKG_CONFIG
+- # Extract the first word of "pkg-config", so it can be a program name with args.
+-set dummy pkg-config; ac_word=$2
+-echo "$as_me:9245: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- case $ac_pt_PKG_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- if $as_executable_p "$ac_dir/$ac_word"; then
+- ac_cv_path_ac_pt_PKG_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:9262: found $ac_dir/$ac_word" >&5
+- break
+-fi
+-done
+-
+- test -z "$ac_cv_path_ac_pt_PKG_CONFIG" && ac_cv_path_ac_pt_PKG_CONFIG="none"
+- ;;
+-esac
+-fi
+-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+-
+-if test -n "$ac_pt_PKG_CONFIG"; then
+- echo "$as_me:9274: result: $ac_pt_PKG_CONFIG" >&5
+-echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6
+-else
+- echo "$as_me:9277: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+- PKG_CONFIG=$ac_pt_PKG_CONFIG
+-else
+- PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+-fi
+-
+- ;;
+-*)
+- PKG_CONFIG=$withval
+- ;;
+-esac
+-
+-test -z "$PKG_CONFIG" && PKG_CONFIG=none
+-if test "$PKG_CONFIG" != none ; then
+-
+-if test "x$prefix" != xNONE; then
+- cf_path_syntax="$prefix"
+-else
+- cf_path_syntax="$ac_default_prefix"
+-fi
+-
+-case ".$PKG_CONFIG" in #(vi
+-.\$\(*\)*|.\'*\'*) #(vi
+- ;;
+-..|./*|.\\*) #(vi
+- ;;
+-.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
+- ;;
+-.\${*prefix}*) #(vi
+- eval PKG_CONFIG="$PKG_CONFIG"
+- case ".$PKG_CONFIG" in #(vi
+- .NONE/*)
+- PKG_CONFIG=`echo $PKG_CONFIG | sed -e s%NONE%$cf_path_syntax%`
+- ;;
+- esac
+- ;; #(vi
+-.no|.NONE/*)
+- PKG_CONFIG=`echo $PKG_CONFIG | sed -e s%NONE%$cf_path_syntax%`
+- ;;
+-*)
+- { { echo "$as_me:9320: error: expected a pathname, not \"$PKG_CONFIG\"" >&5
+-echo "$as_me: error: expected a pathname, not \"$PKG_CONFIG\"" >&2;}
+- { (exit 1); exit 1; }; }
+- ;;
+-esac
+-
+-fi
+-
+-echo "$as_me:9328: checking for X" >&5
++pdcurses)
++ echo "$as_me:8829: checking for X" >&5
+ echo $ECHO_N "checking for X... $ECHO_C" >&6
+
+ # Check whether --with-x or --without-x was given.
+@@ -9422,17 +8923,17 @@
+ # Guess where to find include files, by looking for Intrinsic.h.
+ # First, try using that file with no special directory specified.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9425 "configure"
++#line 8926 "configure"
+ #include "confdefs.h"
+ #include <X11/Intrinsic.h>
+ _ACEOF
+-if { (eval echo "$as_me:9429: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:8930: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:9435: \$? = $ac_status" >&5
++ echo "$as_me:8936: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -9465,238 +8966,711 @@
+ ac_save_LIBS=$LIBS
+ LIBS="-lXt $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9468 "configure"
++#line 8969 "configure"
++#include "confdefs.h"
++#include <X11/Intrinsic.h>
++int
++main ()
++{
++XtMalloc (0)
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:8981: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:8984: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:8987: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:8990: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ LIBS=$ac_save_LIBS
++# We can link X programs with no special library path.
++ac_x_libraries=
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++LIBS=$ac_save_LIBS
++for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
++do
++ # Don't even attempt the hair of trying to link an X program!
++ for ac_extension in a so sl dylib dll; do
++ if test -r $ac_dir/libXt.$ac_extension; then
++ ac_x_libraries=$ac_dir
++ break 2
++ fi
++ done
++done
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi # $ac_x_libraries = no
++
++if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then
++ # Didn't find X anywhere. Cache the known absence of X.
++ ac_cv_have_x="have_x=no"
++else
++ # Record where we found X for the cache.
++ ac_cv_have_x="have_x=yes \
++ ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
++fi
++fi
++
++ fi
++ eval "$ac_cv_have_x"
++fi # $with_x != no
++
++if test "$have_x" != yes; then
++ echo "$as_me:9028: result: $have_x" >&5
++echo "${ECHO_T}$have_x" >&6
++ no_x=yes
++else
++ # If each of the values was on the command line, it overrides each guess.
++ test "x$x_includes" = xNONE && x_includes=$ac_x_includes
++ test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
++ # Update the cache value to reflect the command line values.
++ ac_cv_have_x="have_x=yes \
++ ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
++ echo "$as_me:9038: result: libraries $x_libraries, headers $x_includes" >&5
++echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6
++fi
++
++if test "$no_x" = yes; then
++ # Not all programs may use this symbol, but it does not hurt to define it.
++
++cat >>confdefs.h <<\EOF
++#define X_DISPLAY_MISSING 1
++EOF
++
++ X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
++else
++ if test -n "$x_includes"; then
++ X_CFLAGS="$X_CFLAGS -I$x_includes"
++ fi
++
++ # It would also be nice to do this for all -L options, not just this one.
++ if test -n "$x_libraries"; then
++ X_LIBS="$X_LIBS -L$x_libraries"
++ # For Solaris; some versions of Sun CC require a space after -R and
++ # others require no space. Words are not sufficient . . . .
++ case `(uname -sr) 2>/dev/null` in
++ "SunOS 5"*)
++ echo "$as_me:9062: checking whether -R must be followed by a space" >&5
++echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6
++ ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9066 "configure"
++#include "confdefs.h"
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:9078: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:9081: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:9084: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:9087: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_R_nospace=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_R_nospace=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ if test $ac_R_nospace = yes; then
++ echo "$as_me:9097: result: no" >&5
++echo "${ECHO_T}no" >&6
++ X_LIBS="$X_LIBS -R$x_libraries"
++ else
++ LIBS="$ac_xsave_LIBS -R $x_libraries"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9103 "configure"
++#include "confdefs.h"
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:9115: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:9118: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:9121: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:9124: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_R_space=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_R_space=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ if test $ac_R_space = yes; then
++ echo "$as_me:9134: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ X_LIBS="$X_LIBS -R $x_libraries"
++ else
++ echo "$as_me:9138: result: neither works" >&5
++echo "${ECHO_T}neither works" >&6
++ fi
++ fi
++ LIBS=$ac_xsave_LIBS
++ esac
++ fi
++
++ # Check for system-dependent libraries X programs must link with.
++ # Do this before checking for the system-independent R6 libraries
++ # (-lICE), since we may need -lsocket or whatever for X linking.
++
++ if test "$ISC" = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
++ else
++ # Martyn Johnson says this is needed for Ultrix, if the X
++ # libraries were built with DECnet support. And Karl Berry says
++ # the Alpha needs dnet_stub (dnet does not exist).
++ ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9158 "configure"
++#include "confdefs.h"
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char XOpenDisplay ();
++int
++main ()
++{
++XOpenDisplay ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:9177: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:9180: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:9183: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:9186: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++echo "$as_me:9192: checking for dnet_ntoa in -ldnet" >&5
++echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6
++if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldnet $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 9200 "configure"
++#include "confdefs.h"
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char dnet_ntoa ();
++int
++main ()
++{
++dnet_ntoa ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:9219: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:9222: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:9225: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:9228: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_dnet_dnet_ntoa=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_lib_dnet_dnet_ntoa=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:9239: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
++echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6
++if test $ac_cv_lib_dnet_dnet_ntoa = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
++fi
++
++ if test $ac_cv_lib_dnet_dnet_ntoa = no; then
++ echo "$as_me:9246: checking for dnet_ntoa in -ldnet_stub" >&5
++echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6
++if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldnet_stub $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 9254 "configure"
++#include "confdefs.h"
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char dnet_ntoa ();
++int
++main ()
++{
++dnet_ntoa ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:9273: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:9276: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:9279: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:9282: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_dnet_stub_dnet_ntoa=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_lib_dnet_stub_dnet_ntoa=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:9293: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
++echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6
++if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
++fi
++
++ fi
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ LIBS="$ac_xsave_LIBS"
++
++ # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
++ # to get the SysV transport functions.
++ # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
++ # needs -lnsl.
++ # The nsl library prevents programs from opening the X display
++ # on Irix 5.2, according to T.E. Dickey.
++ # The functions gethostbyname, getservbyname, and inet_addr are
++ # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
++ echo "$as_me:9312: checking for gethostbyname" >&5
++echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6
++if test "${ac_cv_func_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9318 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char gethostbyname (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char gethostbyname ();
++char (*f) ();
++
++int
++main ()
++{
++/* 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_gethostbyname) || defined (__stub___gethostbyname)
++choke me
++#else
++f = gethostbyname; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:9349: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:9352: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:9355: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:9358: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_gethostbyname=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_func_gethostbyname=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:9368: result: $ac_cv_func_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6
++
++ if test $ac_cv_func_gethostbyname = no; then
++ echo "$as_me:9372: checking for gethostbyname in -lnsl" >&5
++echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
++if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lnsl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 9380 "configure"
++#include "confdefs.h"
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char gethostbyname ();
++int
++main ()
++{
++gethostbyname ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:9399: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:9402: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:9405: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:9408: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_nsl_gethostbyname=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_lib_nsl_gethostbyname=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:9419: result: $ac_cv_lib_nsl_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
++if test $ac_cv_lib_nsl_gethostbyname = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
++fi
++
++ if test $ac_cv_lib_nsl_gethostbyname = no; then
++ echo "$as_me:9426: checking for gethostbyname in -lbsd" >&5
++echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6
++if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lbsd $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 9434 "configure"
+ #include "confdefs.h"
+-#include <X11/Intrinsic.h>
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char gethostbyname ();
+ int
+ main ()
+ {
+-XtMalloc (0)
++gethostbyname ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9480: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9453: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9483: \$? = $ac_status" >&5
++ echo "$as_me:9456: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9486: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9459: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9489: \$? = $ac_status" >&5
++ echo "$as_me:9462: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- LIBS=$ac_save_LIBS
+-# We can link X programs with no special library path.
+-ac_x_libraries=
++ ac_cv_lib_bsd_gethostbyname=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-LIBS=$ac_save_LIBS
+-for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
+-do
+- # Don't even attempt the hair of trying to link an X program!
+- for ac_extension in a so sl dylib dll; do
+- if test -r $ac_dir/libXt.$ac_extension; then
+- ac_x_libraries=$ac_dir
+- break 2
+- fi
+- done
+-done
++ac_cv_lib_bsd_gethostbyname=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi # $ac_x_libraries = no
+-
+-if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then
+- # Didn't find X anywhere. Cache the known absence of X.
+- ac_cv_have_x="have_x=no"
+-else
+- # Record where we found X for the cache.
+- ac_cv_have_x="have_x=yes \
+- ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
+-fi
++LIBS=$ac_check_lib_save_LIBS
+ fi
+-
+- fi
+- eval "$ac_cv_have_x"
+-fi # $with_x != no
+-
+-if test "$have_x" != yes; then
+- echo "$as_me:9527: result: $have_x" >&5
+-echo "${ECHO_T}$have_x" >&6
+- no_x=yes
+-else
+- # If each of the values was on the command line, it overrides each guess.
+- test "x$x_includes" = xNONE && x_includes=$ac_x_includes
+- test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
+- # Update the cache value to reflect the command line values.
+- ac_cv_have_x="have_x=yes \
+- ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
+- echo "$as_me:9537: result: libraries $x_libraries, headers $x_includes" >&5
+-echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6
++echo "$as_me:9473: result: $ac_cv_lib_bsd_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6
++if test $ac_cv_lib_bsd_gethostbyname = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
+ fi
+
+-if test "$no_x" = yes; then
+- # Not all programs may use this symbol, but it does not hurt to define it.
+-
+-cat >>confdefs.h <<\EOF
+-#define X_DISPLAY_MISSING 1
+-EOF
++ fi
++ fi
+
+- X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
++ # lieder@skyler.mavd.honeywell.com says without -lsocket,
++ # socket/setsockopt and other routines are undefined under SCO ODT
++ # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary
++ # on later versions), says Simon Leinen: it contains gethostby*
++ # variants that don't use the nameserver (or something). -lsocket
++ # must be given before -lnsl if both are needed. We assume that
++ # if connect needs -lnsl, so does gethostbyname.
++ echo "$as_me:9489: checking for connect" >&5
++echo $ECHO_N "checking for connect... $ECHO_C" >&6
++if test "${ac_cv_func_connect+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- if test -n "$x_includes"; then
+- X_CFLAGS="$X_CFLAGS -I$x_includes"
+- fi
+-
+- # It would also be nice to do this for all -L options, not just this one.
+- if test -n "$x_libraries"; then
+- X_LIBS="$X_LIBS -L$x_libraries"
+- # For Solaris; some versions of Sun CC require a space after -R and
+- # others require no space. Words are not sufficient . . . .
+- case `(uname -sr) 2>/dev/null` in
+- "SunOS 5"*)
+- echo "$as_me:9561: checking whether -R must be followed by a space" >&5
+-echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6
+- ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 9565 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9495 "configure"
+ #include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char connect (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char connect ();
++char (*f) ();
+
+ int
+ main ()
+ {
++/* 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_connect) || defined (__stub___connect)
++choke me
++#else
++f = connect; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
+
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9577: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9526: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9580: \$? = $ac_status" >&5
++ echo "$as_me:9529: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9583: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9532: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9586: \$? = $ac_status" >&5
++ echo "$as_me:9535: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_R_nospace=yes
++ ac_cv_func_connect=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_R_nospace=no
++ac_cv_func_connect=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- if test $ac_R_nospace = yes; then
+- echo "$as_me:9596: result: no" >&5
+-echo "${ECHO_T}no" >&6
+- X_LIBS="$X_LIBS -R$x_libraries"
+- else
+- LIBS="$ac_xsave_LIBS -R $x_libraries"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 9602 "configure"
++fi
++echo "$as_me:9545: result: $ac_cv_func_connect" >&5
++echo "${ECHO_T}$ac_cv_func_connect" >&6
++
++ if test $ac_cv_func_connect = no; then
++ echo "$as_me:9549: checking for connect in -lsocket" >&5
++echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6
++if test "${ac_cv_lib_socket_connect+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 9557 "configure"
+ #include "confdefs.h"
+
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char connect ();
+ int
+ main ()
+ {
+-
++connect ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9614: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9576: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9617: \$? = $ac_status" >&5
++ echo "$as_me:9579: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9620: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9582: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9623: \$? = $ac_status" >&5
++ echo "$as_me:9585: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_R_space=yes
++ ac_cv_lib_socket_connect=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_R_space=no
++ac_cv_lib_socket_connect=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- if test $ac_R_space = yes; then
+- echo "$as_me:9633: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- X_LIBS="$X_LIBS -R $x_libraries"
+- else
+- echo "$as_me:9637: result: neither works" >&5
+-echo "${ECHO_T}neither works" >&6
+- fi
+- fi
+- LIBS=$ac_xsave_LIBS
+- esac
+- fi
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:9596: result: $ac_cv_lib_socket_connect" >&5
++echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6
++if test $ac_cv_lib_socket_connect = yes; then
++ X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
++fi
+
+- # Check for system-dependent libraries X programs must link with.
+- # Do this before checking for the system-independent R6 libraries
+- # (-lICE), since we may need -lsocket or whatever for X linking.
++ fi
+
+- if test "$ISC" = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
+- else
+- # Martyn Johnson says this is needed for Ultrix, if the X
+- # libraries were built with DECnet support. And Karl Berry says
+- # the Alpha needs dnet_stub (dnet does not exist).
+- ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 9657 "configure"
++ # Guillermo Gomez says -lposix is necessary on A/UX.
++ echo "$as_me:9605: checking for remove" >&5
++echo $ECHO_N "checking for remove... $ECHO_C" >&6
++if test "${ac_cv_func_remove+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9611 "configure"
+ #include "confdefs.h"
+-
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char remove (); below. */
++#include <assert.h>
+ /* Override any gcc2 internal prototype to avoid an error. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char XOpenDisplay ();
++char remove ();
++char (*f) ();
++
+ int
+ main ()
+ {
+-XOpenDisplay ();
++/* 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_remove) || defined (__stub___remove)
++choke me
++#else
++f = remove; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9676: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9642: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9679: \$? = $ac_status" >&5
++ echo "$as_me:9645: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9682: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9648: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9685: \$? = $ac_status" >&5
++ echo "$as_me:9651: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ ac_cv_func_remove=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-echo "$as_me:9691: checking for dnet_ntoa in -ldnet" >&5
+-echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6
+-if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then
++ac_cv_func_remove=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:9661: result: $ac_cv_func_remove" >&5
++echo "${ECHO_T}$ac_cv_func_remove" >&6
++
++ if test $ac_cv_func_remove = no; then
++ echo "$as_me:9665: checking for remove in -lposix" >&5
++echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6
++if test "${ac_cv_lib_posix_remove+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ldnet $LIBS"
++LIBS="-lposix $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9699 "configure"
++#line 9673 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -9705,178 +9679,179 @@
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char dnet_ntoa ();
++char remove ();
+ int
+ main ()
+ {
+-dnet_ntoa ();
++remove ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9718: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9692: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9721: \$? = $ac_status" >&5
++ echo "$as_me:9695: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9724: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9698: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9727: \$? = $ac_status" >&5
++ echo "$as_me:9701: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_dnet_dnet_ntoa=yes
++ ac_cv_lib_posix_remove=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_dnet_dnet_ntoa=no
++ac_cv_lib_posix_remove=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:9738: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
+-echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6
+-if test $ac_cv_lib_dnet_dnet_ntoa = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
++echo "$as_me:9712: result: $ac_cv_lib_posix_remove" >&5
++echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6
++if test $ac_cv_lib_posix_remove = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
+ fi
+
+- if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+- echo "$as_me:9745: checking for dnet_ntoa in -ldnet_stub" >&5
+-echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6
+-if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then
++ fi
++
++ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
++ echo "$as_me:9721: checking for shmat" >&5
++echo $ECHO_N "checking for shmat... $ECHO_C" >&6
++if test "${ac_cv_func_shmat+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ldnet_stub $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 9753 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 9727 "configure"
+ #include "confdefs.h"
+-
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char shmat (); below. */
++#include <assert.h>
+ /* Override any gcc2 internal prototype to avoid an error. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char dnet_ntoa ();
++char shmat ();
++char (*f) ();
++
+ int
+ main ()
+ {
+-dnet_ntoa ();
++/* 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_shmat) || defined (__stub___shmat)
++choke me
++#else
++f = shmat; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9772: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9758: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9775: \$? = $ac_status" >&5
++ echo "$as_me:9761: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9778: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9764: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9781: \$? = $ac_status" >&5
++ echo "$as_me:9767: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_dnet_stub_dnet_ntoa=yes
++ ac_cv_func_shmat=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_dnet_stub_dnet_ntoa=no
++ac_cv_func_shmat=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:9792: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
+-echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6
+-if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+-fi
+-
+- fi
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- LIBS="$ac_xsave_LIBS"
++echo "$as_me:9777: result: $ac_cv_func_shmat" >&5
++echo "${ECHO_T}$ac_cv_func_shmat" >&6
+
+- # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
+- # to get the SysV transport functions.
+- # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
+- # needs -lnsl.
+- # The nsl library prevents programs from opening the X display
+- # on Irix 5.2, according to T.E. Dickey.
+- # The functions gethostbyname, getservbyname, and inet_addr are
+- # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
+- echo "$as_me:9811: checking for gethostbyname" >&5
+-echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6
+-if test "${ac_cv_func_gethostbyname+set}" = set; then
++ if test $ac_cv_func_shmat = no; then
++ echo "$as_me:9781: checking for shmat in -lipc" >&5
++echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6
++if test "${ac_cv_lib_ipc_shmat+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 9817 "configure"
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lipc $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 9789 "configure"
+ #include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char gethostbyname (); below. */
+-#include <assert.h>
++
+ /* Override any gcc2 internal prototype to avoid an error. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char gethostbyname ();
+-char (*f) ();
+-
++char shmat ();
+ int
+ main ()
+ {
+-/* 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_gethostbyname) || defined (__stub___gethostbyname)
+-choke me
+-#else
+-f = gethostbyname;
+-#endif
+-
++shmat ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9848: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9808: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9851: \$? = $ac_status" >&5
++ echo "$as_me:9811: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9854: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9814: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9857: \$? = $ac_status" >&5
++ echo "$as_me:9817: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_func_gethostbyname=yes
++ ac_cv_lib_ipc_shmat=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_func_gethostbyname=no
++ac_cv_lib_ipc_shmat=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:9828: result: $ac_cv_lib_ipc_shmat" >&5
++echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6
++if test $ac_cv_lib_ipc_shmat = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+ fi
+-echo "$as_me:9867: result: $ac_cv_func_gethostbyname" >&5
+-echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6
+
+- if test $ac_cv_func_gethostbyname = no; then
+- echo "$as_me:9871: checking for gethostbyname in -lnsl" >&5
+-echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
+-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
++ fi
++ fi
++
++ # Check for libraries that X11R6 Xt/Xaw programs need.
++ ac_save_LDFLAGS=$LDFLAGS
++ test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
++ # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
++ # check for ICE first), but we must link in the order -lSM -lICE or
++ # we get undefined symbols. So assume we have SM if we have ICE.
++ # These have to be linked with before -lX11, unlike the other
++ # libraries we check for below, so use a different variable.
++ # John Interrante, Karl Berry
++ echo "$as_me:9846: checking for IceConnectionNumber in -lICE" >&5
++echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6
++if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lnsl $LIBS"
++LIBS="-lICE $X_EXTRA_LIBS $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9879 "configure"
++#line 9854 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -9885,291 +9860,502 @@
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char gethostbyname ();
++char IceConnectionNumber ();
+ int
+ main ()
+ {
+-gethostbyname ();
++IceConnectionNumber ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9898: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9873: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9901: \$? = $ac_status" >&5
++ echo "$as_me:9876: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9904: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9879: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9907: \$? = $ac_status" >&5
++ echo "$as_me:9882: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_nsl_gethostbyname=yes
++ ac_cv_lib_ICE_IceConnectionNumber=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_nsl_gethostbyname=no
++ac_cv_lib_ICE_IceConnectionNumber=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:9918: result: $ac_cv_lib_nsl_gethostbyname" >&5
+-echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
+-if test $ac_cv_lib_nsl_gethostbyname = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
++echo "$as_me:9893: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
++echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6
++if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then
++ X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
++fi
++
++ LDFLAGS=$ac_save_LDFLAGS
++
++fi
++
++cf_x_athena=${cf_x_athena:-Xaw}
++
++echo "$as_me:9905: checking if you want to link with Xaw 3d library" >&5
++echo $ECHO_N "checking if you want to link with Xaw 3d library... $ECHO_C" >&6
++withval=
++
++# Check whether --with-Xaw3d or --without-Xaw3d was given.
++if test "${with_Xaw3d+set}" = set; then
++ withval="$with_Xaw3d"
++
++fi;
++if test "$withval" = yes ; then
++ cf_x_athena=Xaw3d
++ echo "$as_me:9916: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++else
++ echo "$as_me:9919: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++echo "$as_me:9923: checking if you want to link with neXT Athena library" >&5
++echo $ECHO_N "checking if you want to link with neXT Athena library... $ECHO_C" >&6
++withval=
++
++# Check whether --with-neXtaw or --without-neXtaw was given.
++if test "${with_neXtaw+set}" = set; then
++ withval="$with_neXtaw"
++
++fi;
++if test "$withval" = yes ; then
++ cf_x_athena=neXtaw
++ echo "$as_me:9934: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++else
++ echo "$as_me:9937: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++echo "$as_me:9941: checking if you want to link with Athena-Plus library" >&5
++echo $ECHO_N "checking if you want to link with Athena-Plus library... $ECHO_C" >&6
++withval=
++
++# Check whether --with-XawPlus or --without-XawPlus was given.
++if test "${with_XawPlus+set}" = set; then
++ withval="$with_XawPlus"
++
++fi;
++if test "$withval" = yes ; then
++ cf_x_athena=XawPlus
++ echo "$as_me:9952: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++else
++ echo "$as_me:9955: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++cf_x_athena_lib=""
++
++if test "$PKG_CONFIG" != none ; then
++ cf_athena_list=
++ test "$cf_x_athena" = Xaw && cf_athena_list="xaw8 xaw7 xaw6"
++ for cf_athena_pkg in \
++ $cf_athena_list \
++ ${cf_x_athena} \
++ ${cf_x_athena}-devel \
++ lib${cf_x_athena} \
++ lib${cf_x_athena}-devel
++ do
++
++if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists $cf_athena_pkg; then
++ test -n "$verbose" && echo " found package $cf_athena_pkg" 1>&6
++
++echo "${as_me:-configure}:9975: testing found package $cf_athena_pkg ..." 1>&5
++
++ cf_pkgconfig_incs="`$PKG_CONFIG --cflags $cf_athena_pkg 2>/dev/null`"
++ cf_pkgconfig_libs="`$PKG_CONFIG --libs $cf_athena_pkg 2>/dev/null`"
++ test -n "$verbose" && echo " package $cf_athena_pkg CFLAGS: $cf_pkgconfig_incs" 1>&6
++
++echo "${as_me:-configure}:9981: testing package $cf_athena_pkg CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++
++ test -n "$verbose" && echo " package $cf_athena_pkg LIBS: $cf_pkgconfig_libs" 1>&6
++
++echo "${as_me:-configure}:9985: testing package $cf_athena_pkg LIBS: $cf_pkgconfig_libs ..." 1>&5
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_pkgconfig_incs
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+
+- if test $ac_cv_lib_nsl_gethostbyname = no; then
+- echo "$as_me:9925: checking for gethostbyname in -lbsd" >&5
+-echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6
+-if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then
++ LIBS="$cf_pkgconfig_libs $LIBS"
++
++ cf_x_athena_lib="$cf_pkgconfig_libs"
++
++cf_x_athena_LIBS=`echo "HAVE_LIB_$cf_x_athena" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++ cat >>confdefs.h <<EOF
++#define $cf_x_athena_LIBS 1
++EOF
++
++echo "$as_me:10075: checking for usable $cf_x_athena/Xmu package" >&5
++echo $ECHO_N "checking for usable $cf_x_athena/Xmu package... $ECHO_C" >&6
++if test "${cf_cv_xaw_compat+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lbsd $LIBS"
++
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9933 "configure"
++#line 10082 "configure"
+ #include "confdefs.h"
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char gethostbyname ();
++#include <X11/Xmu/CharSet.h>
++
+ int
+ main ()
+ {
+-gethostbyname ();
++
++int check = XmuCompareISOLatin1("big", "small")
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9952: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10098: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9955: \$? = $ac_status" >&5
++ echo "$as_me:10101: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9958: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10104: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9961: \$? = $ac_status" >&5
++ echo "$as_me:10107: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_bsd_gethostbyname=yes
++ cf_cv_xaw_compat=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_bsd_gethostbyname=no
++cf_cv_xaw_compat=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:9972: result: $ac_cv_lib_bsd_gethostbyname" >&5
+-echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6
+-if test $ac_cv_lib_bsd_gethostbyname = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
++echo "$as_me:10117: result: $cf_cv_xaw_compat" >&5
++echo "${ECHO_T}$cf_cv_xaw_compat" >&6
++
++ if test "$cf_cv_xaw_compat" = no
++ then
++ # workaround for broken ".pc" files...
++ case "$cf_x_athena_lib" in #(vi
++ *-lXmu*) #(vi
++ ;;
++ *)
++ test -n "$verbose" && echo " work around broken package" 1>&6
++
++echo "${as_me:-configure}:10129: testing work around broken package ..." 1>&5
++
++if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists xmu; then
++ test -n "$verbose" && echo " found package xmu" 1>&6
++
++echo "${as_me:-configure}:10134: testing found package xmu ..." 1>&5
++
++ cf_pkgconfig_incs="`$PKG_CONFIG --cflags xmu 2>/dev/null`"
++ cf_pkgconfig_libs="`$PKG_CONFIG --libs xmu 2>/dev/null`"
++ test -n "$verbose" && echo " package xmu CFLAGS: $cf_pkgconfig_incs" 1>&6
++
++echo "${as_me:-configure}:10140: testing package xmu CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++
++ test -n "$verbose" && echo " package xmu LIBS: $cf_pkgconfig_libs" 1>&6
++
++echo "${as_me:-configure}:10144: testing package xmu LIBS: $cf_pkgconfig_libs ..." 1>&5
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_pkgconfig_incs
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+
+- fi
+- fi
++if test -n "$cf_new_cppflags" ; then
+
+- # lieder@skyler.mavd.honeywell.com says without -lsocket,
+- # socket/setsockopt and other routines are undefined under SCO ODT
+- # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary
+- # on later versions), says Simon Leinen: it contains gethostby*
+- # variants that don't use the nameserver (or something). -lsocket
+- # must be given before -lnsl if both are needed. We assume that
+- # if connect needs -lnsl, so does gethostbyname.
+- echo "$as_me:9988: checking for connect" >&5
+-echo $ECHO_N "checking for connect... $ECHO_C" >&6
+-if test "${ac_cv_func_connect+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++ LIBS="$cf_pkgconfig_libs $LIBS"
++ :
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 9994 "configure"
+-#include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char connect (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char connect ();
+-char (*f) ();
+
+-int
+-main ()
+-{
+-/* 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_connect) || defined (__stub___connect)
+-choke me
+-#else
+-f = connect;
+-#endif
++test -n "$verbose" && echo " ...before $LIBS" 1>&6
++
++echo "${as_me:-configure}:10230: testing ...before $LIBS ..." 1>&5
++
++LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s,-lXt ,-lXt -lXmu ," -e 's/ / /g'`
++test -n "$verbose" && echo " ...after $LIBS" 1>&6
++
++echo "${as_me:-configure}:10235: testing ...after $LIBS ..." 1>&5
++
++fi
++
++ ;;
++ esac
++ fi
++
++ break
++else
++ :
++fi
++
++ done
++fi
++
++if test -z "$cf_x_athena_lib" ; then
++
++if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists Xext; then
++ test -n "$verbose" && echo " found package Xext" 1>&6
++
++echo "${as_me:-configure}:10256: testing found package Xext ..." 1>&5
++
++ cf_pkgconfig_incs="`$PKG_CONFIG --cflags Xext 2>/dev/null`"
++ cf_pkgconfig_libs="`$PKG_CONFIG --libs Xext 2>/dev/null`"
++ test -n "$verbose" && echo " package Xext CFLAGS: $cf_pkgconfig_incs" 1>&6
++
++echo "${as_me:-configure}:10262: testing package Xext CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++
++ test -n "$verbose" && echo " package Xext LIBS: $cf_pkgconfig_libs" 1>&6
++
++echo "${as_me:-configure}:10266: testing package Xext LIBS: $cf_pkgconfig_libs ..." 1>&5
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_pkgconfig_incs
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10025: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:10028: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10031: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:10034: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_connect=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_func_connect=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+-echo "$as_me:10044: result: $ac_cv_func_connect" >&5
+-echo "${ECHO_T}$ac_cv_func_connect" >&6
+
+- if test $ac_cv_func_connect = no; then
+- echo "$as_me:10048: checking for connect in -lsocket" >&5
+-echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6
+-if test "${ac_cv_lib_socket_connect+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 10056 "configure"
+-#include "confdefs.h"
++if test -n "$cf_new_cppflags" ; then
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char connect ();
+-int
+-main ()
+-{
+-connect ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10075: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:10078: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10081: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:10084: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_socket_connect=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_lib_socket_connect=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:10095: result: $ac_cv_lib_socket_connect" >&5
+-echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6
+-if test $ac_cv_lib_socket_connect = yes; then
+- X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+ fi
+
+- fi
+-
+- # Guillermo Gomez says -lposix is necessary on A/UX.
+- echo "$as_me:10104: checking for remove" >&5
+-echo $ECHO_N "checking for remove... $ECHO_C" >&6
+-if test "${ac_cv_func_remove+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 10110 "configure"
+-#include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char remove (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char remove ();
+-char (*f) ();
++if test -n "$cf_new_extra_cppflags" ; then
+
+-int
+-main ()
+-{
+-/* 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_remove) || defined (__stub___remove)
+-choke me
+-#else
+-f = remove;
+-#endif
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10141: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:10144: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10147: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:10150: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_remove=yes
++ LIBS="$cf_pkgconfig_libs $LIBS"
++ :
+ else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_func_remove=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:10160: result: $ac_cv_func_remove" >&5
+-echo "${ECHO_T}$ac_cv_func_remove" >&6
+
+- if test $ac_cv_func_remove = no; then
+- echo "$as_me:10164: checking for remove in -lposix" >&5
+-echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6
+-if test "${ac_cv_lib_posix_remove+set}" = set; then
++ echo "$as_me:10350: checking for XextCreateExtension in -lXext" >&5
++echo $ECHO_N "checking for XextCreateExtension in -lXext... $ECHO_C" >&6
++if test "${ac_cv_lib_Xext_XextCreateExtension+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lposix $LIBS"
++LIBS="-lXext $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10172 "configure"
++#line 10358 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -10178,310 +10364,384 @@
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char remove ();
++char XextCreateExtension ();
+ int
+ main ()
+ {
+-remove ();
++XextCreateExtension ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10191: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10377: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10194: \$? = $ac_status" >&5
++ echo "$as_me:10380: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10197: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10383: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10200: \$? = $ac_status" >&5
++ echo "$as_me:10386: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_posix_remove=yes
++ ac_cv_lib_Xext_XextCreateExtension=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_posix_remove=no
++ac_cv_lib_Xext_XextCreateExtension=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:10211: result: $ac_cv_lib_posix_remove" >&5
+-echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6
+-if test $ac_cv_lib_posix_remove = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
++echo "$as_me:10397: result: $ac_cv_lib_Xext_XextCreateExtension" >&5
++echo "${ECHO_T}$ac_cv_lib_Xext_XextCreateExtension" >&6
++if test $ac_cv_lib_Xext_XextCreateExtension = yes; then
++ LIBS="-lXext $LIBS"
+ fi
+
+- fi
++fi
+
+- # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+- echo "$as_me:10220: checking for shmat" >&5
+-echo $ECHO_N "checking for shmat... $ECHO_C" >&6
+-if test "${ac_cv_func_shmat+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 10226 "configure"
+-#include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char shmat (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char shmat ();
+-char (*f) ();
++cf_have_X_LIBS=no
+
+-int
+-main ()
+-{
+-/* 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_shmat) || defined (__stub___shmat)
+-choke me
+-#else
+-f = shmat;
+-#endif
++if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists xt; then
++ test -n "$verbose" && echo " found package xt" 1>&6
++
++echo "${as_me:-configure}:10410: testing found package xt ..." 1>&5
++
++ cf_pkgconfig_incs="`$PKG_CONFIG --cflags xt 2>/dev/null`"
++ cf_pkgconfig_libs="`$PKG_CONFIG --libs xt 2>/dev/null`"
++ test -n "$verbose" && echo " package xt CFLAGS: $cf_pkgconfig_incs" 1>&6
++
++echo "${as_me:-configure}:10416: testing package xt CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++
++ test -n "$verbose" && echo " package xt LIBS: $cf_pkgconfig_libs" 1>&6
++
++echo "${as_me:-configure}:10420: testing package xt LIBS: $cf_pkgconfig_libs ..." 1>&5
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_pkgconfig_incs
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10257: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:10260: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10263: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:10266: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_shmat=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_func_shmat=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+-echo "$as_me:10276: result: $ac_cv_func_shmat" >&5
+-echo "${ECHO_T}$ac_cv_func_shmat" >&6
+
+- if test $ac_cv_func_shmat = no; then
+- echo "$as_me:10280: checking for shmat in -lipc" >&5
+-echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6
+-if test "${ac_cv_lib_ipc_shmat+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lipc $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 10288 "configure"
+-#include "confdefs.h"
++if test -n "$cf_new_cppflags" ; then
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char shmat ();
+-int
+-main ()
+-{
+-shmat ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10307: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:10310: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10313: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:10316: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_ipc_shmat=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_lib_ipc_shmat=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+ fi
+-echo "$as_me:10327: result: $ac_cv_lib_ipc_shmat" >&5
+-echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6
+-if test $ac_cv_lib_ipc_shmat = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+
+- fi
+- fi
++ LIBS="$cf_pkgconfig_libs $LIBS"
+
+- # Check for libraries that X11R6 Xt/Xaw programs need.
+- ac_save_LDFLAGS=$LDFLAGS
+- test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
+- # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+- # check for ICE first), but we must link in the order -lSM -lICE or
+- # we get undefined symbols. So assume we have SM if we have ICE.
+- # These have to be linked with before -lX11, unlike the other
+- # libraries we check for below, so use a different variable.
+- # John Interrante, Karl Berry
+- echo "$as_me:10345: checking for IceConnectionNumber in -lICE" >&5
+-echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6
+-if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then
++ case "x$LIBS" in #(vi
++ *-lX11*) #(vi
++ ;;
++ *)
++# we have an "xt" package, but it may omit Xt's dependency on X11
++echo "$as_me:10507: checking for usable X dependency" >&5
++echo $ECHO_N "checking for usable X dependency... $ECHO_C" >&6
++if test "${cf_cv_xt_x11_compat+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lICE $X_EXTRA_LIBS $LIBS"
++
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10353 "configure"
++#line 10514 "configure"
+ #include "confdefs.h"
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char IceConnectionNumber ();
++#include <X11/Xlib.h>
++
+ int
+ main ()
+ {
+-IceConnectionNumber ();
++
++ int rc1 = XDrawLine((Display*) 0, (Drawable) 0, (GC) 0, 0, 0, 0, 0);
++ int rc2 = XClearWindow((Display*) 0, (Window) 0);
++ int rc3 = XMoveWindow((Display*) 0, (Window) 0, 0, 0);
++ int rc4 = XMoveResizeWindow((Display*)0, (Window)0, 0, 0, 0, 0);
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10372: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10533: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10375: \$? = $ac_status" >&5
++ echo "$as_me:10536: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10378: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10539: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10381: \$? = $ac_status" >&5
++ echo "$as_me:10542: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_ICE_IceConnectionNumber=yes
++ cf_cv_xt_x11_compat=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_ICE_IceConnectionNumber=no
++cf_cv_xt_x11_compat=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:10392: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
+-echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6
+-if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then
+- X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
+ fi
++echo "$as_me:10552: result: $cf_cv_xt_x11_compat" >&5
++echo "${ECHO_T}$cf_cv_xt_x11_compat" >&6
++ if test "$cf_cv_xt_x11_compat" = no
++ then
++ test -n "$verbose" && echo " work around broken X11 dependency" 1>&6
+
+- LDFLAGS=$ac_save_LDFLAGS
++echo "${as_me:-configure}:10558: testing work around broken X11 dependency ..." 1>&5
+
+-fi
++ # 2010/11/19 - good enough until a working Xt on Xcb is delivered.
+
+-cf_x_athena=${cf_x_athena:-Xaw}
++if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists x11; then
++ test -n "$verbose" && echo " found package x11" 1>&6
+
+-echo "$as_me:10404: checking if you want to link with Xaw 3d library" >&5
+-echo $ECHO_N "checking if you want to link with Xaw 3d library... $ECHO_C" >&6
+-withval=
++echo "${as_me:-configure}:10565: testing found package x11 ..." 1>&5
+
+-# Check whether --with-Xaw3d or --without-Xaw3d was given.
+-if test "${with_Xaw3d+set}" = set; then
+- withval="$with_Xaw3d"
++ cf_pkgconfig_incs="`$PKG_CONFIG --cflags x11 2>/dev/null`"
++ cf_pkgconfig_libs="`$PKG_CONFIG --libs x11 2>/dev/null`"
++ test -n "$verbose" && echo " package x11 CFLAGS: $cf_pkgconfig_incs" 1>&6
+
+-fi;
+-if test "$withval" = yes ; then
+- cf_x_athena=Xaw3d
+- echo "$as_me:10415: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+-else
+- echo "$as_me:10418: result: no" >&5
+-echo "${ECHO_T}no" >&6
++echo "${as_me:-configure}:10571: testing package x11 CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++
++ test -n "$verbose" && echo " package x11 LIBS: $cf_pkgconfig_libs" 1>&6
++
++echo "${as_me:-configure}:10575: testing package x11 LIBS: $cf_pkgconfig_libs ..." 1>&5
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in $cf_pkgconfig_incs
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+
+-echo "$as_me:10422: checking if you want to link with neXT Athena library" >&5
+-echo $ECHO_N "checking if you want to link with neXT Athena library... $ECHO_C" >&6
+-withval=
++if test -n "$cf_new_cppflags" ; then
+
+-# Check whether --with-neXtaw or --without-neXtaw was given.
+-if test "${with_neXtaw+set}" = set; then
+- withval="$with_neXtaw"
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
+
+-fi;
+-if test "$withval" = yes ; then
+- cf_x_athena=neXtaw
+- echo "$as_me:10433: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++ LIBS="$cf_pkgconfig_libs $LIBS"
++ :
+ else
+- echo "$as_me:10436: result: no" >&5
+-echo "${ECHO_T}no" >&6
++
++test -n "$verbose" && echo " ...before $LIBS" 1>&6
++
++echo "${as_me:-configure}:10661: testing ...before $LIBS ..." 1>&5
++
++LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s,-lXt ,-lXt -lX11 ," -e 's/ / /g'`
++test -n "$verbose" && echo " ...after $LIBS" 1>&6
++
++echo "${as_me:-configure}:10666: testing ...after $LIBS ..." 1>&5
++
+ fi
+
+-echo "$as_me:10440: checking if you want to link with Athena-Plus library" >&5
+-echo $ECHO_N "checking if you want to link with Athena-Plus library... $ECHO_C" >&6
+-withval=
++ fi
++ ;;
++ esac
++
++echo "$as_me:10674: checking for usable X Toolkit package" >&5
++echo $ECHO_N "checking for usable X Toolkit package... $ECHO_C" >&6
++if test "${cf_cv_xt_ice_compat+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 10681 "configure"
++#include "confdefs.h"
+
+-# Check whether --with-XawPlus or --without-XawPlus was given.
+-if test "${with_XawPlus+set}" = set; then
+- withval="$with_XawPlus"
++#include <X11/Shell.h>
+
+-fi;
+-if test "$withval" = yes ; then
+- cf_x_athena=XawPlus
+- echo "$as_me:10451: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
++int
++main ()
++{
++int num = IceConnectionNumber(0)
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:10696: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:10699: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:10702: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:10705: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_xt_ice_compat=yes
+ else
+- echo "$as_me:10454: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_xt_ice_compat=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
++echo "$as_me:10715: result: $cf_cv_xt_ice_compat" >&5
++echo "${ECHO_T}$cf_cv_xt_ice_compat" >&6
+
+-cf_x_athena_lib=""
++ if test "$cf_cv_xt_ice_compat" = no
++ then
++ # workaround for broken ".pc" files used for X Toolkit.
++ case "x$X_PRE_LIBS" in #(vi
++ *-lICE*)
++ case "x$LIBS" in #(vi
++ *-lICE*) #(vi
++ ;;
++ *)
++ test -n "$verbose" && echo " work around broken ICE dependency" 1>&6
+
+-if test "$PKG_CONFIG" != none ; then
+- cf_athena_list=
+- test "$cf_x_athena" = Xaw && cf_athena_list="xaw8 xaw7 xaw6"
+- for cf_athena_pkg in \
+- $cf_athena_list \
+- ${cf_x_athena} \
+- ${cf_x_athena}-devel \
+- lib${cf_x_athena} \
+- lib${cf_x_athena}-devel
+- do
++echo "${as_me:-configure}:10729: testing work around broken ICE dependency ..." 1>&5
+
+-if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists $cf_athena_pkg; then
+- test -n "$verbose" && echo " found package $cf_athena_pkg" 1>&6
++if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists ice; then
++ test -n "$verbose" && echo " found package ice" 1>&6
+
+-echo "${as_me:-configure}:10474: testing found package $cf_athena_pkg ..." 1>&5
++echo "${as_me:-configure}:10734: testing found package ice ..." 1>&5
+
+- cf_pkgconfig_incs="`$PKG_CONFIG --cflags $cf_athena_pkg 2>/dev/null`"
+- cf_pkgconfig_libs="`$PKG_CONFIG --libs $cf_athena_pkg 2>/dev/null`"
+- test -n "$verbose" && echo " package $cf_athena_pkg CFLAGS: $cf_pkgconfig_incs" 1>&6
++ cf_pkgconfig_incs="`$PKG_CONFIG --cflags ice 2>/dev/null`"
++ cf_pkgconfig_libs="`$PKG_CONFIG --libs ice 2>/dev/null`"
++ test -n "$verbose" && echo " package ice CFLAGS: $cf_pkgconfig_incs" 1>&6
+
+-echo "${as_me:-configure}:10480: testing package $cf_athena_pkg CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++echo "${as_me:-configure}:10740: testing package ice CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+
+- test -n "$verbose" && echo " package $cf_athena_pkg LIBS: $cf_pkgconfig_libs" 1>&6
++ test -n "$verbose" && echo " package ice LIBS: $cf_pkgconfig_libs" 1>&6
+
+-echo "${as_me:-configure}:10484: testing package $cf_athena_pkg LIBS: $cf_pkgconfig_libs ..." 1>&5
++echo "${as_me:-configure}:10744: testing package ice LIBS: $cf_pkgconfig_libs ..." 1>&5
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+@@ -10563,84 +10823,20 @@
+
+ LIBS="$cf_pkgconfig_libs $LIBS"
+
+- cf_x_athena_lib="$cf_pkgconfig_libs"
+-
+-cf_x_athena_LIBS=`echo "HAVE_LIB_$cf_x_athena" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+-
+- cat >>confdefs.h <<EOF
+-#define $cf_x_athena_LIBS 1
+-EOF
+-
+-echo "$as_me:10574: checking for usable $cf_x_athena/Xmu package" >&5
+-echo $ECHO_N "checking for usable $cf_x_athena/Xmu package... $ECHO_C" >&6
+-if test "${cf_cv_xaw_compat+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 10581 "configure"
+-#include "confdefs.h"
+-
+-#include <X11/Xmu/CharSet.h>
+-
+-int
+-main ()
+-{
+-
+-int check = XmuCompareISOLatin1("big", "small")
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10597: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:10600: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10603: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:10606: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_cv_xaw_compat=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_cv_xaw_compat=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:10616: result: $cf_cv_xaw_compat" >&5
+-echo "${ECHO_T}$cf_cv_xaw_compat" >&6
+-
+- if test "$cf_cv_xaw_compat" = no
+- then
+- # workaround for broken ".pc" files...
+- case "$cf_x_athena_lib" in #(vi
+- *-lXmu*) #(vi
+- ;;
+- *)
+- test -n "$verbose" && echo " work around broken package" 1>&6
+-
+-echo "${as_me:-configure}:10628: testing work around broken package ..." 1>&5
+-
+-if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists xmu; then
+- test -n "$verbose" && echo " found package xmu" 1>&6
++if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists sm; then
++ test -n "$verbose" && echo " found package sm" 1>&6
+
+-echo "${as_me:-configure}:10633: testing found package xmu ..." 1>&5
++echo "${as_me:-configure}:10829: testing found package sm ..." 1>&5
+
+- cf_pkgconfig_incs="`$PKG_CONFIG --cflags xmu 2>/dev/null`"
+- cf_pkgconfig_libs="`$PKG_CONFIG --libs xmu 2>/dev/null`"
+- test -n "$verbose" && echo " package xmu CFLAGS: $cf_pkgconfig_incs" 1>&6
++ cf_pkgconfig_incs="`$PKG_CONFIG --cflags sm 2>/dev/null`"
++ cf_pkgconfig_libs="`$PKG_CONFIG --libs sm 2>/dev/null`"
++ test -n "$verbose" && echo " package sm CFLAGS: $cf_pkgconfig_incs" 1>&6
+
+-echo "${as_me:-configure}:10639: testing package xmu CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++echo "${as_me:-configure}:10835: testing package sm CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+
+- test -n "$verbose" && echo " package xmu LIBS: $cf_pkgconfig_libs" 1>&6
++ test -n "$verbose" && echo " package sm LIBS: $cf_pkgconfig_libs" 1>&6
+
+-echo "${as_me:-configure}:10643: testing package xmu LIBS: $cf_pkgconfig_libs ..." 1>&5
++echo "${as_me:-configure}:10839: testing package sm LIBS: $cf_pkgconfig_libs ..." 1>&5
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+@@ -10723,53 +10919,47 @@
+ LIBS="$cf_pkgconfig_libs $LIBS"
+ :
+ else
++ :
++fi
++
++else
+
+ test -n "$verbose" && echo " ...before $LIBS" 1>&6
+
+-echo "${as_me:-configure}:10729: testing ...before $LIBS ..." 1>&5
++echo "${as_me:-configure}:10929: testing ...before $LIBS ..." 1>&5
+
+-LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s,-lXt ,-lXt -lXmu ," -e 's/ / /g'`
++LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s,-lXt ,-lXt $X_PRE_LIBS ," -e 's/ / /g'`
+ test -n "$verbose" && echo " ...after $LIBS" 1>&6
+
+-echo "${as_me:-configure}:10734: testing ...after $LIBS ..." 1>&5
+-
+-fi
+-
+- ;;
+- esac
+- fi
+-
+- break
+-else
+- :
+-fi
++echo "${as_me:-configure}:10934: testing ...after $LIBS ..." 1>&5
+
+- done
+ fi
+
+-if test -z "$cf_x_athena_lib" ; then
++ ;;
++ esac
++ ;;
++ esac
++ fi
+
+-if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists Xext; then
+- test -n "$verbose" && echo " found package Xext" 1>&6
++ cf_have_X_LIBS=yes
+
+-echo "${as_me:-configure}:10755: testing found package Xext ..." 1>&5
++else
+
+- cf_pkgconfig_incs="`$PKG_CONFIG --cflags Xext 2>/dev/null`"
+- cf_pkgconfig_libs="`$PKG_CONFIG --libs Xext 2>/dev/null`"
+- test -n "$verbose" && echo " package Xext CFLAGS: $cf_pkgconfig_incs" 1>&6
++ LDFLAGS="$X_LIBS $LDFLAGS"
+
+-echo "${as_me:-configure}:10761: testing package Xext CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++test -n "$verbose" && echo " checking additions to CFLAGS" 1>&6
+
+- test -n "$verbose" && echo " package Xext LIBS: $cf_pkgconfig_libs" 1>&6
++echo "${as_me:-configure}:10952: testing checking additions to CFLAGS ..." 1>&5
+
+-echo "${as_me:-configure}:10765: testing package Xext LIBS: $cf_pkgconfig_libs ..." 1>&5
++cf_check_cflags="$CFLAGS"
++cf_check_cppflags="$CPPFLAGS"
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+ cf_new_cppflags=
+ cf_new_extra_cppflags=
+
+-for cf_add_cflags in $cf_pkgconfig_incs
++for cf_add_cflags in $X_CFLAGS
+ do
+ case $cf_fix_cppflags in
+ no)
+@@ -10828,33 +11018,144 @@
+ done
+
+ if test -n "$cf_new_cflags" ; then
++ test -n "$verbose" && echo " add to \$CFLAGS $cf_new_cflags" 1>&6
++
++echo "${as_me:-configure}:11023: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5
+
+ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+
+ if test -n "$cf_new_cppflags" ; then
++ test -n "$verbose" && echo " add to \$CPPFLAGS $cf_new_cppflags" 1>&6
++
++echo "${as_me:-configure}:11031: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++ test -n "$verbose" && echo " add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags" 1>&6
++
++echo "${as_me:-configure}:11039: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++if test "$cf_check_cflags" != "$CFLAGS" ; then
++cat >conftest.$ac_ext <<_ACEOF
++#line 11046 "configure"
++#include "confdefs.h"
++#include <stdio.h>
++int
++main ()
++{
++printf("Hello world");
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:11058: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:11061: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:11064: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:11067: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++test -n "$verbose" && echo " test-compile failed. Undoing change to \$CFLAGS" 1>&6
++
++echo "${as_me:-configure}:11075: testing test-compile failed. Undoing change to \$CFLAGS ..." 1>&5
++
++ if test "$cf_check_cppflags" != "$CPPFLAGS" ; then
++ test -n "$verbose" && echo " but keeping change to \$CPPFLAGS" 1>&6
++
++echo "${as_me:-configure}:11080: testing but keeping change to \$CPPFLAGS ..." 1>&5
++
++ fi
++ CFLAGS="$cf_check_flags"
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++
++ echo "$as_me:11088: checking for XOpenDisplay" >&5
++echo $ECHO_N "checking for XOpenDisplay... $ECHO_C" >&6
++if test "${ac_cv_func_XOpenDisplay+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 11094 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char XOpenDisplay (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char XOpenDisplay ();
++char (*f) ();
++
++int
++main ()
++{
++/* 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_XOpenDisplay) || defined (__stub___XOpenDisplay)
++choke me
++#else
++f = XOpenDisplay; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
+
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:11125: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:11128: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:11131: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:11134: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_XOpenDisplay=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_func_XOpenDisplay=no
+ fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-
+- LIBS="$cf_pkgconfig_libs $LIBS"
+- :
++echo "$as_me:11144: result: $ac_cv_func_XOpenDisplay" >&5
++echo "${ECHO_T}$ac_cv_func_XOpenDisplay" >&6
++if test $ac_cv_func_XOpenDisplay = yes; then
++ :
+ else
+
+- echo "$as_me:10849: checking for XextCreateExtension in -lXext" >&5
+-echo $ECHO_N "checking for XextCreateExtension in -lXext... $ECHO_C" >&6
+-if test "${ac_cv_lib_Xext_XextCreateExtension+set}" = set; then
++ echo "$as_me:11150: checking for XOpenDisplay in -lX11" >&5
++echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6
++if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXext $LIBS"
++LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10857 "configure"
++#line 11158 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -10863,486 +11164,447 @@
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char XextCreateExtension ();
++char XOpenDisplay ();
+ int
+ main ()
+ {
+-XextCreateExtension ();
++XOpenDisplay ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:10876: \"$ac_link\"") >&5
++if { (eval echo "$as_me:11177: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10879: \$? = $ac_status" >&5
++ echo "$as_me:11180: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:10882: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11183: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10885: \$? = $ac_status" >&5
++ echo "$as_me:11186: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_Xext_XextCreateExtension=yes
++ ac_cv_lib_X11_XOpenDisplay=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_Xext_XextCreateExtension=no
++ac_cv_lib_X11_XOpenDisplay=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:10896: result: $ac_cv_lib_Xext_XextCreateExtension" >&5
+-echo "${ECHO_T}$ac_cv_lib_Xext_XextCreateExtension" >&6
+-if test $ac_cv_lib_Xext_XextCreateExtension = yes; then
+- LIBS="-lXext $LIBS"
++echo "$as_me:11197: result: $ac_cv_lib_X11_XOpenDisplay" >&5
++echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6
++if test $ac_cv_lib_X11_XOpenDisplay = yes; then
++ LIBS="-lX11 $LIBS"
+ fi
+
+ fi
+
+-cf_have_X_LIBS=no
+-
+-if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists xt; then
+- test -n "$verbose" && echo " found package xt" 1>&6
+-
+-echo "${as_me:-configure}:10909: testing found package xt ..." 1>&5
+-
+- cf_pkgconfig_incs="`$PKG_CONFIG --cflags xt 2>/dev/null`"
+- cf_pkgconfig_libs="`$PKG_CONFIG --libs xt 2>/dev/null`"
+- test -n "$verbose" && echo " package xt CFLAGS: $cf_pkgconfig_incs" 1>&6
+-
+-echo "${as_me:-configure}:10915: testing package xt CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+-
+- test -n "$verbose" && echo " package xt LIBS: $cf_pkgconfig_libs" 1>&6
+-
+-echo "${as_me:-configure}:10919: testing package xt LIBS: $cf_pkgconfig_libs ..." 1>&5
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_pkgconfig_incs
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ echo "$as_me:11205: checking for XtAppInitialize" >&5
++echo $ECHO_N "checking for XtAppInitialize... $ECHO_C" >&6
++if test "${ac_cv_func_XtAppInitialize+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 11211 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char XtAppInitialize (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char XtAppInitialize ();
++char (*f) ();
+
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++int
++main ()
++{
++/* 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_XtAppInitialize) || defined (__stub___XtAppInitialize)
++choke me
++#else
++f = XtAppInitialize; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:11242: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:11245: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:11248: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:11251: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_XtAppInitialize=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_func_XtAppInitialize=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:11261: result: $ac_cv_func_XtAppInitialize" >&5
++echo "${ECHO_T}$ac_cv_func_XtAppInitialize" >&6
++if test $ac_cv_func_XtAppInitialize = yes; then
++ :
++else
+
+-if test -n "$cf_new_cflags" ; then
++ echo "$as_me:11267: checking for XtAppInitialize in -lXt" >&5
++echo $ECHO_N "checking for XtAppInitialize in -lXt... $ECHO_C" >&6
++if test "${ac_cv_lib_Xt_XtAppInitialize+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 11275 "configure"
++#include "confdefs.h"
+
+- CFLAGS="$CFLAGS $cf_new_cflags"
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char XtAppInitialize ();
++int
++main ()
++{
++XtAppInitialize ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:11294: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:11297: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:11300: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:11303: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_Xt_XtAppInitialize=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_lib_Xt_XtAppInitialize=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
+ fi
++echo "$as_me:11314: result: $ac_cv_lib_Xt_XtAppInitialize" >&5
++echo "${ECHO_T}$ac_cv_lib_Xt_XtAppInitialize" >&6
++if test $ac_cv_lib_Xt_XtAppInitialize = yes; then
+
+-if test -n "$cf_new_cppflags" ; then
++cat >>confdefs.h <<\EOF
++#define HAVE_LIBXT 1
++EOF
+
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++ cf_have_X_LIBS=Xt
++ LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS"
+ fi
+
+-if test -n "$cf_new_extra_cppflags" ; then
++fi
+
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+
+- LIBS="$cf_pkgconfig_libs $LIBS"
++if test $cf_have_X_LIBS = no ; then
++ { echo "$as_me:11331: WARNING: Unable to successfully link X Toolkit library (-lXt) with
++test program. You will have to check and add the proper libraries by hand
++to makefile." >&5
++echo "$as_me: WARNING: Unable to successfully link X Toolkit library (-lXt) with
++test program. You will have to check and add the proper libraries by hand
++to makefile." >&2;}
++fi
+
+- case "x$LIBS" in #(vi
+- *-lX11*) #(vi
+- ;;
+- *)
+-# we have an "xt" package, but it may omit Xt's dependency on X11
+-echo "$as_me:11006: checking for usable X dependency" >&5
+-echo $ECHO_N "checking for usable X dependency... $ECHO_C" >&6
+-if test "${cf_cv_xt_x11_compat+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++cf_x_athena_root=$cf_x_athena
++cf_x_athena_inc=""
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 11013 "configure"
++for cf_path in default \
++ /usr/contrib/X11R6 \
++ /usr/contrib/X11R5 \
++ /usr/lib/X11R5 \
++ /usr/local
++do
++ if test -z "$cf_x_athena_inc" ; then
++ cf_save="$CPPFLAGS"
++ cf_test=X11/$cf_x_athena_root/SimpleMenu.h
++ if test $cf_path != default ; then
++ CPPFLAGS="$cf_save -I$cf_path/include"
++ echo "$as_me:11353: checking for $cf_test in $cf_path" >&5
++echo $ECHO_N "checking for $cf_test in $cf_path... $ECHO_C" >&6
++ else
++ echo "$as_me:11356: checking for $cf_test" >&5
++echo $ECHO_N "checking for $cf_test... $ECHO_C" >&6
++ fi
++ cat >conftest.$ac_ext <<_ACEOF
++#line 11360 "configure"
+ #include "confdefs.h"
+
+-#include <X11/Xlib.h>
+-
++#include <X11/Intrinsic.h>
++#include <$cf_test>
+ int
+ main ()
+ {
+
+- int rc1 = XDrawLine((Display*) 0, (Drawable) 0, (GC) 0, 0, 0, 0, 0);
+- int rc2 = XClearWindow((Display*) 0, (Window) 0);
+- int rc3 = XMoveWindow((Display*) 0, (Window) 0, 0, 0);
+- int rc4 = XMoveResizeWindow((Display*)0, (Window)0, 0, 0, 0, 0);
+-
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11032: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:11374: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11035: \$? = $ac_status" >&5
++ echo "$as_me:11377: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11038: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:11380: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11041: \$? = $ac_status" >&5
++ echo "$as_me:11383: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_xt_x11_compat=yes
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_xt_x11_compat=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++cf_result=no
+ fi
+-echo "$as_me:11051: result: $cf_cv_xt_x11_compat" >&5
+-echo "${ECHO_T}$cf_cv_xt_x11_compat" >&6
+- if test "$cf_cv_xt_x11_compat" = no
+- then
+- test -n "$verbose" && echo " work around broken X11 dependency" 1>&6
+-
+-echo "${as_me:-configure}:11057: testing work around broken X11 dependency ..." 1>&5
+-
+- # 2010/11/19 - good enough until a working Xt on Xcb is delivered.
+-
+-if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists x11; then
+- test -n "$verbose" && echo " found package x11" 1>&6
+-
+-echo "${as_me:-configure}:11064: testing found package x11 ..." 1>&5
+-
+- cf_pkgconfig_incs="`$PKG_CONFIG --cflags x11 2>/dev/null`"
+- cf_pkgconfig_libs="`$PKG_CONFIG --libs x11 2>/dev/null`"
+- test -n "$verbose" && echo " package x11 CFLAGS: $cf_pkgconfig_incs" 1>&6
+-
+-echo "${as_me:-configure}:11070: testing package x11 CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+-
+- test -n "$verbose" && echo " package x11 LIBS: $cf_pkgconfig_libs" 1>&6
+-
+-echo "${as_me:-configure}:11074: testing package x11 LIBS: $cf_pkgconfig_libs ..." 1>&5
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_pkgconfig_incs
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
++rm -f conftest.$ac_objext conftest.$ac_ext
++ echo "$as_me:11392: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++ if test "$cf_result" = yes ; then
++ cf_x_athena_inc=$cf_path
++ break
++ else
++ CPPFLAGS="$cf_save"
++ fi
++ fi
+ done
+
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
+-
+- LIBS="$cf_pkgconfig_libs $LIBS"
+- :
+-else
+-
+-test -n "$verbose" && echo " ...before $LIBS" 1>&6
+-
+-echo "${as_me:-configure}:11160: testing ...before $LIBS ..." 1>&5
+-
+-LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s,-lXt ,-lXt -lX11 ," -e 's/ / /g'`
+-test -n "$verbose" && echo " ...after $LIBS" 1>&6
+-
+-echo "${as_me:-configure}:11165: testing ...after $LIBS ..." 1>&5
+-
++if test -z "$cf_x_athena_inc" ; then
++ { echo "$as_me:11404: WARNING: Unable to successfully find Athena header files with test program" >&5
++echo "$as_me: WARNING: Unable to successfully find Athena header files with test program" >&2;}
++elif test "$cf_x_athena_inc" != default ; then
++ CPPFLAGS="$CPPFLAGS -I$cf_x_athena_inc"
+ fi
+
+- fi
+- ;;
+- esac
+-
+-echo "$as_me:11173: checking for usable X Toolkit package" >&5
+-echo $ECHO_N "checking for usable X Toolkit package... $ECHO_C" >&6
+-if test "${cf_cv_xt_ice_compat+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++cf_x_athena_root=$cf_x_athena
++cf_x_athena_lib=""
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 11180 "configure"
++for cf_path in default \
++ /usr/contrib/X11R6 \
++ /usr/contrib/X11R5 \
++ /usr/lib/X11R5 \
++ /usr/local
++do
++ for cf_lib in \
++ ${cf_x_athena_root} \
++ ${cf_x_athena_root}7 \
++ ${cf_x_athena_root}6
++ do
++ for cf_libs in \
++ "-l$cf_lib -lXmu" \
++ "-l$cf_lib -lXpm -lXmu" \
++ "-l${cf_lib}_s -lXmu_s"
++ do
++ if test -z "$cf_x_athena_lib" ; then
++ cf_save="$LIBS"
++ cf_test=XawSimpleMenuAddGlobalActions
++ if test $cf_path != default ; then
++ LIBS="-L$cf_path/lib $cf_libs $LIBS"
++ echo "$as_me:11434: checking for $cf_libs in $cf_path" >&5
++echo $ECHO_N "checking for $cf_libs in $cf_path... $ECHO_C" >&6
++ else
++ LIBS="$cf_libs $LIBS"
++ echo "$as_me:11438: checking for $cf_test in $cf_libs" >&5
++echo $ECHO_N "checking for $cf_test in $cf_libs... $ECHO_C" >&6
++ fi
++ cat >conftest.$ac_ext <<_ACEOF
++#line 11442 "configure"
+ #include "confdefs.h"
+
+-#include <X11/Shell.h>
++#include <X11/Intrinsic.h>
++#include <X11/$cf_x_athena_root/SimpleMenu.h>
+
+ int
+ main ()
+ {
+-int num = IceConnectionNumber(0)
+
++$cf_test((XtAppContext) 0)
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11195: \"$ac_link\"") >&5
++if { (eval echo "$as_me:11458: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:11198: \$? = $ac_status" >&5
++ echo "$as_me:11461: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11201: \"$ac_try\"") >&5
++ { (eval echo "$as_me:11464: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11204: \$? = $ac_status" >&5
++ echo "$as_me:11467: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_xt_ice_compat=yes
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_xt_ice_compat=no
++cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:11214: result: $cf_cv_xt_ice_compat" >&5
+-echo "${ECHO_T}$cf_cv_xt_ice_compat" >&6
+-
+- if test "$cf_cv_xt_ice_compat" = no
+- then
+- # workaround for broken ".pc" files used for X Toolkit.
+- case "x$X_PRE_LIBS" in #(vi
+- *-lICE*)
+- case "x$LIBS" in #(vi
+- *-lICE*) #(vi
+- ;;
+- *)
+- test -n "$verbose" && echo " work around broken ICE dependency" 1>&6
+-
+-echo "${as_me:-configure}:11228: testing work around broken ICE dependency ..." 1>&5
+-
+-if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists ice; then
+- test -n "$verbose" && echo " found package ice" 1>&6
+-
+-echo "${as_me:-configure}:11233: testing found package ice ..." 1>&5
+-
+- cf_pkgconfig_incs="`$PKG_CONFIG --cflags ice 2>/dev/null`"
+- cf_pkgconfig_libs="`$PKG_CONFIG --libs ice 2>/dev/null`"
+- test -n "$verbose" && echo " package ice CFLAGS: $cf_pkgconfig_incs" 1>&6
+-
+-echo "${as_me:-configure}:11239: testing package ice CFLAGS: $cf_pkgconfig_incs ..." 1>&5
+-
+- test -n "$verbose" && echo " package ice LIBS: $cf_pkgconfig_libs" 1>&6
+-
+-echo "${as_me:-configure}:11243: testing package ice LIBS: $cf_pkgconfig_libs ..." 1>&5
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_pkgconfig_incs
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
++ echo "$as_me:11476: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++ if test "$cf_result" = yes ; then
++ cf_x_athena_lib="$cf_libs"
++ break
+ fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++ LIBS="$cf_save"
++ fi
++ done # cf_libs
++ test -n "$cf_x_athena_lib" && break
++ done # cf_lib
++done
++
++if test -z "$cf_x_athena_lib" ; then
++ { { echo "$as_me:11490: error: Unable to successfully link Athena library (-l$cf_x_athena_root) with test program" >&5
++echo "$as_me: error: Unable to successfully link Athena library (-l$cf_x_athena_root) with test program" >&2;}
++ { (exit 1); exit 1; }; }
++fi
+
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++cf_x_athena_LIBS=`echo "HAVE_LIB_$cf_x_athena" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++cat >>confdefs.h <<EOF
++#define $cf_x_athena_LIBS 1
++EOF
+
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++fi
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
++if test -n "$ac_tool_prefix"; then
++ for ac_prog in xcurses-config
++ 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:11508: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_XCURSES_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$XCURSES_CONFIG"; then
++ ac_cv_prog_XCURSES_CONFIG="$XCURSES_CONFIG" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_XCURSES_CONFIG="$ac_tool_prefix$ac_prog"
++echo "$as_me:11523: found $ac_dir/$ac_word" >&5
++break
+ done
+
+-if test -n "$cf_new_cflags" ; then
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++fi
++XCURSES_CONFIG=$ac_cv_prog_XCURSES_CONFIG
++if test -n "$XCURSES_CONFIG"; then
++ echo "$as_me:11531: result: $XCURSES_CONFIG" >&5
++echo "${ECHO_T}$XCURSES_CONFIG" >&6
++else
++ echo "$as_me:11534: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+
+-if test -n "$cf_new_cppflags" ; then
++ test -n "$XCURSES_CONFIG" && break
++ done
++fi
++if test -z "$XCURSES_CONFIG"; then
++ ac_ct_XCURSES_CONFIG=$XCURSES_CONFIG
++ for ac_prog in xcurses-config
++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:11547: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_XCURSES_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_XCURSES_CONFIG"; then
++ ac_cv_prog_ac_ct_XCURSES_CONFIG="$ac_ct_XCURSES_CONFIG" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_ac_ct_XCURSES_CONFIG="$ac_prog"
++echo "$as_me:11562: found $ac_dir/$ac_word" >&5
++break
++done
+
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++fi
++ac_ct_XCURSES_CONFIG=$ac_cv_prog_ac_ct_XCURSES_CONFIG
++if test -n "$ac_ct_XCURSES_CONFIG"; then
++ echo "$as_me:11570: result: $ac_ct_XCURSES_CONFIG" >&5
++echo "${ECHO_T}$ac_ct_XCURSES_CONFIG" >&6
++else
++ echo "$as_me:11573: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+
+-if test -n "$cf_new_extra_cppflags" ; then
++ test -n "$ac_ct_XCURSES_CONFIG" && break
++done
++test -n "$ac_ct_XCURSES_CONFIG" || ac_ct_XCURSES_CONFIG="none"
+
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++ XCURSES_CONFIG=$ac_ct_XCURSES_CONFIG
+ fi
+
+- LIBS="$cf_pkgconfig_libs $LIBS"
++if test "$XCURSES_CONFIG" != none ; then
+
+-if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists sm; then
+- test -n "$verbose" && echo " found package sm" 1>&6
++CPPFLAGS="$CPPFLAGS `$XCURSES_CONFIG --cflags`"
++LIBS="`$XCURSES_CONFIG --libs` $LIBS"
+
+-echo "${as_me:-configure}:11328: testing found package sm ..." 1>&5
++cf_cv_lib_XCurses=yes
+
+- cf_pkgconfig_incs="`$PKG_CONFIG --cflags sm 2>/dev/null`"
+- cf_pkgconfig_libs="`$PKG_CONFIG --libs sm 2>/dev/null`"
+- test -n "$verbose" && echo " package sm CFLAGS: $cf_pkgconfig_incs" 1>&6
++else
+
+-echo "${as_me:-configure}:11334: testing package sm CFLAGS: $cf_pkgconfig_incs ..." 1>&5
++LDFLAGS="$LDFLAGS $X_LIBS"
+
+- test -n "$verbose" && echo " package sm LIBS: $cf_pkgconfig_libs" 1>&6
++test -n "$verbose" && echo " checking additions to CFLAGS" 1>&6
+
+-echo "${as_me:-configure}:11338: testing package sm LIBS: $cf_pkgconfig_libs ..." 1>&5
++echo "${as_me:-configure}:11597: testing checking additions to CFLAGS ..." 1>&5
++
++cf_check_cflags="$CFLAGS"
++cf_check_cppflags="$CPPFLAGS"
+
+ cf_fix_cppflags=no
+ cf_new_cflags=
+ cf_new_cppflags=
+ cf_new_extra_cppflags=
+
+-for cf_add_cflags in $cf_pkgconfig_incs
++for cf_add_cflags in $X_CFLAGS
+ do
+ case $cf_fix_cppflags in
+ no)
+@@ -11401,260 +11663,375 @@
+ done
+
+ if test -n "$cf_new_cflags" ; then
++ test -n "$verbose" && echo " add to \$CFLAGS $cf_new_cflags" 1>&6
++
++echo "${as_me:-configure}:11668: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5
+
+ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+
+ if test -n "$cf_new_cppflags" ; then
++ test -n "$verbose" && echo " add to \$CPPFLAGS $cf_new_cppflags" 1>&6
++
++echo "${as_me:-configure}:11676: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5
+
+ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+ fi
+
+ if test -n "$cf_new_extra_cppflags" ; then
++ test -n "$verbose" && echo " add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags" 1>&6
+
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
++echo "${as_me:-configure}:11684: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5
+
+- LIBS="$cf_pkgconfig_libs $LIBS"
+- :
+-else
+- :
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+
++if test "$cf_check_cflags" != "$CFLAGS" ; then
++cat >conftest.$ac_ext <<_ACEOF
++#line 11691 "configure"
++#include "confdefs.h"
++#include <stdio.h>
++int
++main ()
++{
++printf("Hello world");
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:11703: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:11706: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:11709: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:11712: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
+ else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++test -n "$verbose" && echo " test-compile failed. Undoing change to \$CFLAGS" 1>&6
+
+-test -n "$verbose" && echo " ...before $LIBS" 1>&6
+-
+-echo "${as_me:-configure}:11428: testing ...before $LIBS ..." 1>&5
++echo "${as_me:-configure}:11720: testing test-compile failed. Undoing change to \$CFLAGS ..." 1>&5
+
+-LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s,-lXt ,-lXt $X_PRE_LIBS ," -e 's/ / /g'`
+-test -n "$verbose" && echo " ...after $LIBS" 1>&6
++ if test "$cf_check_cppflags" != "$CPPFLAGS" ; then
++ test -n "$verbose" && echo " but keeping change to \$CPPFLAGS" 1>&6
+
+-echo "${as_me:-configure}:11433: testing ...after $LIBS ..." 1>&5
++echo "${as_me:-configure}:11725: testing but keeping change to \$CPPFLAGS ..." 1>&5
+
++ fi
++ CFLAGS="$cf_check_flags"
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+
+- ;;
+- esac
+- ;;
+- esac
+- fi
+-
+- cf_have_X_LIBS=yes
+-
++echo "$as_me:11733: checking for XOpenDisplay in -lX11" >&5
++echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6
++if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 11741 "configure"
++#include "confdefs.h"
+
+- LDFLAGS="$X_LIBS $LDFLAGS"
+-
+-test -n "$verbose" && echo " checking additions to CFLAGS" 1>&6
+-
+-echo "${as_me:-configure}:11451: testing checking additions to CFLAGS ..." 1>&5
+-
+-cf_check_cflags="$CFLAGS"
+-cf_check_cppflags="$CPPFLAGS"
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char XOpenDisplay ();
++int
++main ()
++{
++XOpenDisplay ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:11760: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:11763: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:11766: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:11769: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_lib_X11_XOpenDisplay=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++ac_cv_lib_X11_XOpenDisplay=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:11780: result: $ac_cv_lib_X11_XOpenDisplay" >&5
++echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6
++if test $ac_cv_lib_X11_XOpenDisplay = yes; then
++ LIBS="-lX11 $LIBS"
++fi
+
+-for cf_add_cflags in $X_CFLAGS
+-do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++echo "$as_me:11786: checking for XCurses library" >&5
++echo $ECHO_N "checking for XCurses library... $ECHO_C" >&6
++if test "${cf_cv_lib_XCurses+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
++LIBS="-lXCurses $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 11794 "configure"
++#include "confdefs.h"
+
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++#include <xcurses.h>
++char *XCursesProgramName = "test";
+
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++int
++main ()
++{
++XCursesExit();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:11809: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:11812: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:11815: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:11818: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_lib_XCurses=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_lib_XCurses=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++fi
++echo "$as_me:11829: result: $cf_cv_lib_XCurses" >&5
++echo "${ECHO_T}$cf_cv_lib_XCurses" >&6
+
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++fi
+
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
++if test $cf_cv_lib_XCurses = yes ; then
+
+-if test -n "$cf_new_cflags" ; then
+- test -n "$verbose" && echo " add to \$CFLAGS $cf_new_cflags" 1>&6
++cat >>confdefs.h <<\EOF
++#define UNIX 1
++EOF
+
+-echo "${as_me:-configure}:11522: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5
++cat >>confdefs.h <<\EOF
++#define XCURSES 1
++EOF
+
+- CFLAGS="$CFLAGS $cf_new_cflags"
++ echo "$as_me:11844: checking for xcurses.h" >&5
++echo $ECHO_N "checking for xcurses.h... $ECHO_C" >&6
++if test "${ac_cv_header_xcurses_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 11850 "configure"
++#include "confdefs.h"
++#include <xcurses.h>
++_ACEOF
++if { (eval echo "$as_me:11854: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:11860: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ ac_cv_header_xcurses_h=yes
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ ac_cv_header_xcurses_h=no
++fi
++rm -f conftest.err conftest.$ac_ext
+ fi
++echo "$as_me:11879: result: $ac_cv_header_xcurses_h" >&5
++echo "${ECHO_T}$ac_cv_header_xcurses_h" >&6
++if test $ac_cv_header_xcurses_h = yes; then
+
+-if test -n "$cf_new_cppflags" ; then
+- test -n "$verbose" && echo " add to \$CPPFLAGS $cf_new_cppflags" 1>&6
++cat >>confdefs.h <<\EOF
++#define HAVE_XCURSES 1
++EOF
+
+-echo "${as_me:-configure}:11530: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5
++fi
+
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++else
++ { { echo "$as_me:11890: error: Cannot link with XCurses" >&5
++echo "$as_me: error: Cannot link with XCurses" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+
+-if test -n "$cf_new_extra_cppflags" ; then
+- test -n "$verbose" && echo " add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags" 1>&6
++ ;;
++esac
+
+-echo "${as_me:-configure}:11538: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5
++case $cf_cv_screen in
++curses|curses_*)
+
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+-fi
++echo "$as_me:11901: checking for NetBSD form.h" >&5
++echo $ECHO_N "checking for NetBSD form.h... $ECHO_C" >&6
++if test "${cf_cv_netbsd_form_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
+
+-if test "$cf_check_cflags" != "$CFLAGS" ; then
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 11545 "configure"
++#line 11908 "configure"
+ #include "confdefs.h"
+-#include <stdio.h>
++
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <form.h>
++
+ int
+ main ()
+ {
+-printf("Hello world");
++
++ FORM *form;
++ int y = current_field(form)->cursor_ypos;
++ int x = current_field(form)->cursor_xpos;
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11557: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:11927: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11560: \$? = $ac_status" >&5
++ echo "$as_me:11930: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11563: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:11933: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11566: \$? = $ac_status" >&5
++ echo "$as_me:11936: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ cf_cv_netbsd_form_h=yes
++
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-test -n "$verbose" && echo " test-compile failed. Undoing change to \$CFLAGS" 1>&6
+-
+-echo "${as_me:-configure}:11574: testing test-compile failed. Undoing change to \$CFLAGS ..." 1>&5
+-
+- if test "$cf_check_cppflags" != "$CPPFLAGS" ; then
+- test -n "$verbose" && echo " but keeping change to \$CPPFLAGS" 1>&6
+-
+-echo "${as_me:-configure}:11579: testing but keeping change to \$CPPFLAGS ..." 1>&5
+-
+- fi
+- CFLAGS="$cf_check_flags"
++cf_cv_netbsd_form_h=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++
+ fi
++echo "$as_me:11948: result: $cf_cv_netbsd_form_h" >&5
++echo "${ECHO_T}$cf_cv_netbsd_form_h" >&6
+
+- echo "$as_me:11587: checking for XOpenDisplay" >&5
+-echo $ECHO_N "checking for XOpenDisplay... $ECHO_C" >&6
+-if test "${ac_cv_func_XOpenDisplay+set}" = set; then
++test "$cf_cv_netbsd_form_h" = yes &&
++cat >>confdefs.h <<\EOF
++#define HAVE_NETBSD_FORM_H 1
++EOF
++
++echo "$as_me:11956: checking for NetBSD menu.h" >&5
++echo $ECHO_N "checking for NetBSD menu.h... $ECHO_C" >&6
++if test "${cf_cv_netbsd_menu_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 11593 "configure"
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 11963 "configure"
+ #include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char XOpenDisplay (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char XOpenDisplay ();
+-char (*f) ();
++
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <menu.h>
+
+ int
+ main ()
+ {
+-/* 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_XOpenDisplay) || defined (__stub___XOpenDisplay)
+-choke me
+-#else
+-f = XOpenDisplay;
+-#endif
++
++ MENU *menu;
++ int y = menu->max_item_width;
+
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11624: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:11981: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11627: \$? = $ac_status" >&5
++ echo "$as_me:11984: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11630: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:11987: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11633: \$? = $ac_status" >&5
++ echo "$as_me:11990: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_func_XOpenDisplay=yes
++ cf_cv_netbsd_menu_h=yes
++
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_func_XOpenDisplay=no
++cf_cv_netbsd_menu_h=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++
+ fi
+-echo "$as_me:11643: result: $ac_cv_func_XOpenDisplay" >&5
+-echo "${ECHO_T}$ac_cv_func_XOpenDisplay" >&6
+-if test $ac_cv_func_XOpenDisplay = yes; then
+- :
+-else
++echo "$as_me:12002: result: $cf_cv_netbsd_menu_h" >&5
++echo "${ECHO_T}$cf_cv_netbsd_menu_h" >&6
+
+- echo "$as_me:11649: checking for XOpenDisplay in -lX11" >&5
+-echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6
+-if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then
++test "$cf_cv_netbsd_menu_h" = yes &&
++cat >>confdefs.h <<\EOF
++#define HAVE_NETBSD_MENU_H 1
++EOF
++
++ ;;
++ncursesw)
++ cf_cv_libtype=w
++ ;;
++esac
++
++case $cf_cv_screen in #(vi
++pdcurses) #(vi
++ ;;
++*)
++ # look for curses-related libraries
++ : ${cf_panel_lib:=panel}
++ : ${cf_menu_lib:=menu}
++ : ${cf_form_lib:=form}
++
++as_ac_Lib=`echo "ac_cv_lib_$cf_panel_lib$cf_cv_libtype''_new_panel" | $as_tr_sh`
++echo "$as_me:12026: checking for new_panel in -l$cf_panel_lib$cf_cv_libtype" >&5
++echo $ECHO_N "checking for new_panel in -l$cf_panel_lib$cf_cv_libtype... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
++LIBS="-l$cf_panel_lib$cf_cv_libtype $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 11657 "configure"
++#line 12034 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -11663,115 +12040,116 @@
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char XOpenDisplay ();
++char new_panel ();
+ int
+ main ()
+ {
+-XOpenDisplay ();
++new_panel ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11676: \"$ac_link\"") >&5
++if { (eval echo "$as_me:12053: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:11679: \$? = $ac_status" >&5
++ echo "$as_me:12056: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11682: \"$ac_try\"") >&5
++ { (eval echo "$as_me:12059: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11685: \$? = $ac_status" >&5
++ echo "$as_me:12062: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_X11_XOpenDisplay=yes
++ eval "$as_ac_Lib=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_X11_XOpenDisplay=no
++eval "$as_ac_Lib=no"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:11696: result: $ac_cv_lib_X11_XOpenDisplay" >&5
+-echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6
+-if test $ac_cv_lib_X11_XOpenDisplay = yes; then
+- LIBS="-lX11 $LIBS"
+-fi
++echo "$as_me:12073: result: `eval echo '${'$as_ac_Lib'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
++if test `eval echo '${'$as_ac_Lib'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_LIB$cf_panel_lib$cf_cv_libtype" | $as_tr_cpp` 1
++EOF
++
++ LIBS="-l$cf_panel_lib$cf_cv_libtype $LIBS"
+
+ fi
+
+- echo "$as_me:11704: checking for XtAppInitialize" >&5
+-echo $ECHO_N "checking for XtAppInitialize... $ECHO_C" >&6
+-if test "${ac_cv_func_XtAppInitialize+set}" = set; then
++as_ac_Lib=`echo "ac_cv_lib_$cf_menu_lib$cf_cv_libtype''_menu_driver" | $as_tr_sh`
++echo "$as_me:12085: checking for menu_driver in -l$cf_menu_lib$cf_cv_libtype" >&5
++echo $ECHO_N "checking for menu_driver in -l$cf_menu_lib$cf_cv_libtype... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 11710 "configure"
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-l$cf_menu_lib$cf_cv_libtype $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++#line 12093 "configure"
+ #include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char XtAppInitialize (); below. */
+-#include <assert.h>
++
+ /* Override any gcc2 internal prototype to avoid an error. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char XtAppInitialize ();
+-char (*f) ();
+-
++char menu_driver ();
+ int
+ main ()
+ {
+-/* 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_XtAppInitialize) || defined (__stub___XtAppInitialize)
+-choke me
+-#else
+-f = XtAppInitialize;
+-#endif
+-
++menu_driver ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11741: \"$ac_link\"") >&5
++if { (eval echo "$as_me:12112: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:11744: \$? = $ac_status" >&5
++ echo "$as_me:12115: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11747: \"$ac_try\"") >&5
++ { (eval echo "$as_me:12118: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11750: \$? = $ac_status" >&5
++ echo "$as_me:12121: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_func_XtAppInitialize=yes
++ eval "$as_ac_Lib=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_func_XtAppInitialize=no
++eval "$as_ac_Lib=no"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:12132: result: `eval echo '${'$as_ac_Lib'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
++if test `eval echo '${'$as_ac_Lib'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_LIB$cf_menu_lib$cf_cv_libtype" | $as_tr_cpp` 1
++EOF
++
++ LIBS="-l$cf_menu_lib$cf_cv_libtype $LIBS"
++
+ fi
+-echo "$as_me:11760: result: $ac_cv_func_XtAppInitialize" >&5
+-echo "${ECHO_T}$ac_cv_func_XtAppInitialize" >&6
+-if test $ac_cv_func_XtAppInitialize = yes; then
+- :
+-else
+
+- echo "$as_me:11766: checking for XtAppInitialize in -lXt" >&5
+-echo $ECHO_N "checking for XtAppInitialize in -lXt... $ECHO_C" >&6
+-if test "${ac_cv_lib_Xt_XtAppInitialize+set}" = set; then
++as_ac_Lib=`echo "ac_cv_lib_$cf_form_lib$cf_cv_libtype''_form_driver" | $as_tr_sh`
++echo "$as_me:12144: checking for form_driver in -l$cf_form_lib$cf_cv_libtype" >&5
++echo $ECHO_N "checking for form_driver in -l$cf_form_lib$cf_cv_libtype... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
++LIBS="-l$cf_form_lib$cf_cv_libtype $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 11774 "configure"
++#line 12152 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -11780,2296 +12158,2187 @@
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char XtAppInitialize ();
++char form_driver ();
+ int
+ main ()
+ {
+-XtAppInitialize ();
++form_driver ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11793: \"$ac_link\"") >&5
++if { (eval echo "$as_me:12171: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:11796: \$? = $ac_status" >&5
++ echo "$as_me:12174: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11799: \"$ac_try\"") >&5
++ { (eval echo "$as_me:12177: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11802: \$? = $ac_status" >&5
++ echo "$as_me:12180: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_Xt_XtAppInitialize=yes
++ eval "$as_ac_Lib=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_Xt_XtAppInitialize=no
++eval "$as_ac_Lib=no"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:11813: result: $ac_cv_lib_Xt_XtAppInitialize" >&5
+-echo "${ECHO_T}$ac_cv_lib_Xt_XtAppInitialize" >&6
+-if test $ac_cv_lib_Xt_XtAppInitialize = yes; then
+- cat >>confdefs.h <<\EOF
+-#define HAVE_LIBXT 1
++echo "$as_me:12191: result: `eval echo '${'$as_ac_Lib'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
++if test `eval echo '${'$as_ac_Lib'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_LIB$cf_form_lib$cf_cv_libtype" | $as_tr_cpp` 1
+ EOF
+
+- cf_have_X_LIBS=Xt
+- LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS"
++ LIBS="-l$cf_form_lib$cf_cv_libtype $LIBS"
++
+ fi
+
++ # look for curses-related headers
++
++for ac_header in \
++ nc_alloc.h \
++ nomacros.h \
++ form.h \
++ menu.h \
++ panel.h \
++ term_entry.h \
++
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:12214: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12220 "configure"
++#include "confdefs.h"
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:12224: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:12230: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ eval "$as_ac_Header=yes"
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ eval "$as_ac_Header=no"
+ fi
++rm -f conftest.err conftest.$ac_ext
++fi
++echo "$as_me:12249: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++EOF
+
+ fi
++done
+
+-if test $cf_have_X_LIBS = no ; then
+- { echo "$as_me:11829: WARNING: Unable to successfully link X Toolkit library (-lXt) with
+-test program. You will have to check and add the proper libraries by hand
+-to makefile." >&5
+-echo "$as_me: WARNING: Unable to successfully link X Toolkit library (-lXt) with
+-test program. You will have to check and add the proper libraries by hand
+-to makefile." >&2;}
++ ;;
++esac
++
++echo "$as_me:12262: 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
++#line 12268 "configure"
++#include "confdefs.h"
++#include <stdlib.h>
++#include <stdarg.h>
++#include <string.h>
++#include <float.h>
++
++_ACEOF
++if { (eval echo "$as_me:12276: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:12282: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ ac_cv_header_stdc=yes
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ ac_cv_header_stdc=no
+ fi
++rm -f conftest.err conftest.$ac_ext
+
+-cf_x_athena_root=$cf_x_athena
+-cf_x_athena_inc=""
++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
++#line 12304 "configure"
++#include "confdefs.h"
++#include <string.h>
+
+-for cf_path in default \
+- /usr/contrib/X11R6 \
+- /usr/contrib/X11R5 \
+- /usr/lib/X11R5 \
+- /usr/local
+-do
+- if test -z "$cf_x_athena_inc" ; then
+- cf_save="$CPPFLAGS"
+- cf_test=X11/$cf_x_athena_root/SimpleMenu.h
+- if test $cf_path != default ; then
+- CPPFLAGS="$cf_save -I$cf_path/include"
+- echo "$as_me:11851: checking for $cf_test in $cf_path" >&5
+-echo $ECHO_N "checking for $cf_test in $cf_path... $ECHO_C" >&6
+- else
+- echo "$as_me:11854: checking for $cf_test" >&5
+-echo $ECHO_N "checking for $cf_test... $ECHO_C" >&6
+- fi
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 11858 "configure"
++_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 -rf conftest*
++
++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
++#line 12322 "configure"
+ #include "confdefs.h"
++#include <stdlib.h>
+
+-#include <X11/Intrinsic.h>
+-#include <$cf_test>
++_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 -rf 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 >conftest.$ac_ext <<_ACEOF
++#line 12343 "configure"
++#include "confdefs.h"
++#include <ctype.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 ()
+ {
+-
+- ;
+- return 0;
++ int i;
++ for (i = 0; i < 256; i++)
++ if (XOR (islower (i), ISLOWER (i))
++ || toupper (i) != TOUPPER (i))
++ $ac_main_return(2);
++ $ac_main_return (0);
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:11872: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:12369: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:11875: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:11878: \"$ac_try\"") >&5
++ echo "$as_me:12372: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (eval echo "$as_me:12374: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11881: \$? = $ac_status" >&5
++ echo "$as_me:12377: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_result=yes
++ :
+ else
+- echo "$as_me: failed program was:" >&5
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_result=no
++ac_cv_header_stdc=no
++fi
++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- echo "$as_me:11890: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+- if test "$cf_result" = yes ; then
+- cf_x_athena_inc=$cf_path
+- break
+- else
+- CPPFLAGS="$cf_save"
+- fi
+- fi
+-done
+-
+-if test -z "$cf_x_athena_inc" ; then
+- { echo "$as_me:11902: WARNING: Unable to successfully find Athena header files with test program" >&5
+-echo "$as_me: WARNING: Unable to successfully find Athena header files with test program" >&2;}
+-elif test "$cf_x_athena_inc" != default ; then
+- CPPFLAGS="$CPPFLAGS -I$cf_x_athena_inc"
+ fi
++fi
++echo "$as_me:12390: result: $ac_cv_header_stdc" >&5
++echo "${ECHO_T}$ac_cv_header_stdc" >&6
++if test $ac_cv_header_stdc = yes; then
+
+-cf_x_athena_root=$cf_x_athena
+-cf_x_athena_lib=""
++cat >>confdefs.h <<\EOF
++#define STDC_HEADERS 1
++EOF
+
+-for cf_path in default \
+- /usr/contrib/X11R6 \
+- /usr/contrib/X11R5 \
+- /usr/lib/X11R5 \
+- /usr/local
+-do
+- for cf_lib in \
+- "-l$cf_x_athena_root -lXmu" \
+- "-l$cf_x_athena_root -lXpm -lXmu" \
+- "-l${cf_x_athena_root}_s -lXmu_s"
+- do
+- if test -z "$cf_x_athena_lib" ; then
+- cf_save="$LIBS"
+- cf_test=XawSimpleMenuAddGlobalActions
+- if test $cf_path != default ; then
+- LIBS="-L$cf_path/lib $cf_lib $LIBS"
+- echo "$as_me:11927: checking for $cf_lib in $cf_path" >&5
+-echo $ECHO_N "checking for $cf_lib in $cf_path... $ECHO_C" >&6
+- else
+- LIBS="$cf_lib $LIBS"
+- echo "$as_me:11931: checking for $cf_test in $cf_lib" >&5
+-echo $ECHO_N "checking for $cf_test in $cf_lib... $ECHO_C" >&6
+- fi
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 11935 "configure"
++fi
++
++echo "$as_me:12400: checking whether time.h and sys/time.h may both be included" >&5
++echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
++if test "${ac_cv_header_time+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12406 "configure"
+ #include "confdefs.h"
+-
+-#include <X11/Intrinsic.h>
+-#include <X11/$cf_x_athena_root/SimpleMenu.h>
++#include <sys/types.h>
++#include <sys/time.h>
++#include <time.h>
+
+ int
+ main ()
+ {
+-
+-$cf_test((XtAppContext) 0)
++if ((struct tm *) 0)
++return 0;
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:11951: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:12422: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:11954: \$? = $ac_status" >&5
++ echo "$as_me:12425: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:11957: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:12428: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:11960: \$? = $ac_status" >&5
++ echo "$as_me:12431: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_result=yes
++ ac_cv_header_time=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_result=no
++ac_cv_header_time=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- echo "$as_me:11969: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+- if test "$cf_result" = yes ; then
+- cf_x_athena_lib="$cf_lib"
+- break
+- fi
+- LIBS="$cf_save"
+- fi
+- done
+-done
+-
+-if test -z "$cf_x_athena_lib" ; then
+- { { echo "$as_me:11981: error: Unable to successfully link Athena library (-l$cf_x_athena_root) with test program" >&5
+-echo "$as_me: error: Unable to successfully link Athena library (-l$cf_x_athena_root) with test program" >&2;}
+- { (exit 1); exit 1; }; }
++rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
++echo "$as_me:12441: result: $ac_cv_header_time" >&5
++echo "${ECHO_T}$ac_cv_header_time" >&6
++if test $ac_cv_header_time = yes; then
+
+-cf_x_athena_LIBS=`echo "HAVE_LIB_$cf_x_athena" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+-
+-cat >>confdefs.h <<EOF
+-#define $cf_x_athena_LIBS 1
++cat >>confdefs.h <<\EOF
++#define TIME_WITH_SYS_TIME 1
+ EOF
+
+ fi
+
+-for ac_prog in xcurses-config
++for ac_header in \
++getopt.h \
++locale.h \
++math.h \
++stdarg.h \
++sys/ioctl.h \
++sys/select.h \
++sys/time.h \
++termios.h \
++unistd.h \
++
+ 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:11998: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_XCURSES_CONFIG+set}" = set; then
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:12464: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- case $XCURSES_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_XCURSES_CONFIG="$XCURSES_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- if $as_executable_p "$ac_dir/$ac_word"; then
+- ac_cv_path_XCURSES_CONFIG="$ac_dir/$ac_word"
+- echo "$as_me:12015: found $ac_dir/$ac_word" >&5
+- break
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12470 "configure"
++#include "confdefs.h"
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:12474: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:12480: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
+ fi
+-done
++if test -z "$ac_cpp_err"; then
++ eval "$as_ac_Header=yes"
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ eval "$as_ac_Header=no"
++fi
++rm -f conftest.err conftest.$ac_ext
++fi
++echo "$as_me:12499: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++EOF
+
+- ;;
+-esac
+ fi
+-XCURSES_CONFIG=$ac_cv_path_XCURSES_CONFIG
++done
+
+-if test -n "$XCURSES_CONFIG"; then
+- echo "$as_me:12026: result: $XCURSES_CONFIG" >&5
+-echo "${ECHO_T}$XCURSES_CONFIG" >&6
++for ac_header in unistd.h getopt.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:12512: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- echo "$as_me:12029: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12518 "configure"
++#include "confdefs.h"
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:12522: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:12528: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ eval "$as_ac_Header=yes"
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ eval "$as_ac_Header=no"
++fi
++rm -f conftest.err conftest.$ac_ext
+ fi
++echo "$as_me:12547: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++EOF
+
+- test -n "$XCURSES_CONFIG" && break
++fi
+ done
+-test -n "$XCURSES_CONFIG" || XCURSES_CONFIG="none"
+-
+-if test "$XCURSES_CONFIG" != none ; then
+-
+-CPPFLAGS="$CPPFLAGS `$XCURSES_CONFIG --cflags`"
+-LIBS="`$XCURSES_CONFIG --libs` $LIBS"
+-
+-cf_cv_lib_XCurses=yes
+
++echo "$as_me:12557: checking for header declaring getopt variables" >&5
++echo $ECHO_N "checking for header declaring getopt variables... $ECHO_C" >&6
++if test "${cf_cv_getopt_header+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-LDFLAGS="$LDFLAGS $X_LIBS"
+-
+-test -n "$verbose" && echo " checking additions to CFLAGS" 1>&6
+-
+-echo "${as_me:-configure}:12050: testing checking additions to CFLAGS ..." 1>&5
+-
+-cf_check_cflags="$CFLAGS"
+-cf_check_cppflags="$CPPFLAGS"
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $X_CFLAGS
++cf_cv_getopt_header=none
++for cf_header in stdio.h stdlib.h unistd.h getopt.h
+ do
+-case $cf_fix_cppflags in
+-no)
+- case $cf_add_cflags in #(vi
+- -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+- case $cf_add_cflags in
+- -D*)
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=yes
+-
+- if test $cf_fix_cppflags = yes ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- elif test "${cf_tst_cflags}" = "\"'" ; then
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+- continue
+- fi
+- ;;
+- esac
+- case "$CPPFLAGS" in
+- *$cf_add_cflags) #(vi
+- ;;
+- *) #(vi
+- case $cf_add_cflags in #(vi
+- -D*)
+- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+- sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+- -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+-
+- ;;
+- esac
+- cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+- *)
+- cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+- ;;
+- esac
+- ;;
+-yes)
+- cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+-
+- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+- test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+- && test -z "${cf_tst_cflags}" \
+- && cf_fix_cppflags=no
+- ;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+- test -n "$verbose" && echo " add to \$CFLAGS $cf_new_cflags" 1>&6
+-
+-echo "${as_me:-configure}:12121: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5
+-
+- CFLAGS="$CFLAGS $cf_new_cflags"
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+- test -n "$verbose" && echo " add to \$CPPFLAGS $cf_new_cppflags" 1>&6
+-
+-echo "${as_me:-configure}:12129: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5
++cat >conftest.$ac_ext <<_ACEOF
++#line 12567 "configure"
++#include "confdefs.h"
+
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++#include <$cf_header>
++int
++main ()
++{
++int x = optind; char *y = optarg
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:12580: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:12583: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:12586: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:12589: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_getopt_header=$cf_header
++ break
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
+ fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++done
+
+-if test -n "$cf_new_extra_cppflags" ; then
+- test -n "$verbose" && echo " add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags" 1>&6
++fi
++echo "$as_me:12601: result: $cf_cv_getopt_header" >&5
++echo "${ECHO_T}$cf_cv_getopt_header" >&6
++if test $cf_cv_getopt_header != none ; then
+
+-echo "${as_me:-configure}:12137: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5
++cat >>confdefs.h <<\EOF
++#define HAVE_GETOPT_HEADER 1
++EOF
+
+- EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+ fi
+
+-if test "$cf_check_cflags" != "$CFLAGS" ; then
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 12144 "configure"
++for ac_func in \
++gettimeofday \
++
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++echo "$as_me:12616: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
++if eval "test \"\${$as_ac_var+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12622 "configure"
+ #include "confdefs.h"
+-#include <stdio.h>
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char $ac_func ();
++char (*f) ();
++
+ int
+ main ()
+ {
+-printf("Hello world");
++/* 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_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++f = $ac_func; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12156: \"$ac_link\"") >&5
++if { (eval echo "$as_me:12653: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12159: \$? = $ac_status" >&5
++ echo "$as_me:12656: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12162: \"$ac_try\"") >&5
++ { (eval echo "$as_me:12659: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12165: \$? = $ac_status" >&5
++ echo "$as_me:12662: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ eval "$as_ac_var=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-test -n "$verbose" && echo " test-compile failed. Undoing change to \$CFLAGS" 1>&6
+-
+-echo "${as_me:-configure}:12173: testing test-compile failed. Undoing change to \$CFLAGS ..." 1>&5
+-
+- if test "$cf_check_cppflags" != "$CPPFLAGS" ; then
+- test -n "$verbose" && echo " but keeping change to \$CPPFLAGS" 1>&6
+-
+-echo "${as_me:-configure}:12178: testing but keeping change to \$CPPFLAGS ..." 1>&5
+-
+- fi
+- CFLAGS="$cf_check_flags"
++eval "$as_ac_var=no"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
++echo "$as_me:12672: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++EOF
++
++fi
++done
+
+-echo "$as_me:12186: checking for XOpenDisplay in -lX11" >&5
+-echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6
+-if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then
++if test "$cf_enable_widec" = yes; then
++
++for ac_func in \
++mblen \
++mbrlen \
++mbrtowc \
++mbsrtowcs \
++mbstowcs \
++mbtowc \
++wcsrtombs \
++wcstombs \
++
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++echo "$as_me:12696: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
++if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 12194 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12702 "configure"
+ #include "confdefs.h"
+-
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below. */
++#include <assert.h>
+ /* Override any gcc2 internal prototype to avoid an error. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char XOpenDisplay ();
++char $ac_func ();
++char (*f) ();
++
+ int
+ main ()
+ {
+-XOpenDisplay ();
++/* 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_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++f = $ac_func; /* workaround for ICC 12.0.3 */ if (f == 0) return 1;
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12213: \"$ac_link\"") >&5
++if { (eval echo "$as_me:12733: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12216: \$? = $ac_status" >&5
++ echo "$as_me:12736: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12219: \"$ac_try\"") >&5
++ { (eval echo "$as_me:12739: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12222: \$? = $ac_status" >&5
++ echo "$as_me:12742: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_X11_XOpenDisplay=yes
++ eval "$as_ac_var=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_lib_X11_XOpenDisplay=no
++eval "$as_ac_var=no"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:12233: result: $ac_cv_lib_X11_XOpenDisplay" >&5
+-echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6
+-if test $ac_cv_lib_X11_XOpenDisplay = yes; then
+- LIBS="-lX11 $LIBS"
++echo "$as_me:12752: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++EOF
++
+ fi
++done
+
+-echo "$as_me:12239: checking for XCurses library" >&5
+-echo $ECHO_N "checking for XCurses library... $ECHO_C" >&6
+-if test "${cf_cv_lib_XCurses+set}" = set; then
++fi
++
++echo "$as_me:12764: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5
++echo $ECHO_N "checking if we must define _XOPEN_SOURCE_EXTENDED... $ECHO_C" >&6
++if test "${cf_cv_need_xopen_extension+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-LIBS="-lXCurses $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 12247 "configure"
++#line 12771 "configure"
+ #include "confdefs.h"
+
+-#include <xcurses.h>
+-char *XCursesProgramName = "test";
++#include <stdlib.h>
++#include <${cf_cv_ncurses_header:-curses.h}>
++int
++main ()
++{
++
++#if defined(NCURSES_VERSION_PATCH)
++#if (NCURSES_VERSION_PATCH < 20100501) && (NCURSES_VERSION_PATCH >= 20100403)
++ make an error
++#endif
++#endif
++ long x = winnstr(stdscr, "", 0);
++ int x1, y1;
++ getbegyx(stdscr, y1, x1)
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:12793: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:12796: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:12799: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:12802: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_need_xopen_extension=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cat >conftest.$ac_ext <<_ACEOF
++#line 12809 "configure"
++#include "confdefs.h"
+
++#define _XOPEN_SOURCE_EXTENDED
++#include <stdlib.h>
++#include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-XCursesExit();
++
++#ifdef NCURSES_VERSION
++ cchar_t check;
++ int check2 = curs_set((int)sizeof(check));
++#endif
++ long x = winnstr(stdscr, "", 0);
++ int x1, y1;
++ getbegyx(stdscr, y1, x1)
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12262: \"$ac_link\"") >&5
++if { (eval echo "$as_me:12831: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12265: \$? = $ac_status" >&5
++ echo "$as_me:12834: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:12837: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:12840: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_need_xopen_extension=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_need_xopen_extension=unknown
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:12852: result: $cf_cv_need_xopen_extension" >&5
++echo "${ECHO_T}$cf_cv_need_xopen_extension" >&6
++test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
++
++echo "$as_me:12856: checking for term.h" >&5
++echo $ECHO_N "checking for term.h... $ECHO_C" >&6
++if test "${cf_cv_term_header+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++# If we found <ncurses/curses.h>, look for <ncurses/term.h>, but always look
++# for <term.h> if we do not find the variant.
++
++cf_header_list="term.h ncurses/term.h ncursesw/term.h"
++
++case ${cf_cv_ncurses_header:-curses.h} in #(vi
++*/*)
++ cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`term.h
++ cf_header_list="$cf_header_item $cf_header_list"
++ ;;
++esac
++
++for cf_header in $cf_header_list
++do
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12877 "configure"
++#include "confdefs.h"
++
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <${cf_header}>
++int
++main ()
++{
++WINDOW *x
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:12891: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:12894: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:12897: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:12900: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_term_header=$cf_header
++ break
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_term_header=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++done
++
++case $cf_cv_term_header in #(vi
++no)
++ # If curses is ncurses, some packagers still mess it up by trying to make
++ # us use GNU termcap. This handles the most common case.
++ for cf_header in ncurses/term.h ncursesw/term.h
++ do
++ cat >conftest.$ac_ext <<_ACEOF
++#line 12919 "configure"
++#include "confdefs.h"
++
++#include <${cf_cv_ncurses_header:-curses.h}>
++#ifdef NCURSES_VERSION
++#include <${cf_header}>
++#else
++make an error
++#endif
++int
++main ()
++{
++WINDOW *x
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:12937: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:12940: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12268: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:12943: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12271: \$? = $ac_status" >&5
++ echo "$as_me:12946: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_lib_XCurses=yes
++ cf_cv_term_header=$cf_header
++ break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_lib_XCurses=no
++cf_cv_term_header=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++ done
++ ;;
++esac
+
+ fi
+-echo "$as_me:12282: result: $cf_cv_lib_XCurses" >&5
+-echo "${ECHO_T}$cf_cv_lib_XCurses" >&6
++echo "$as_me:12961: result: $cf_cv_term_header" >&5
++echo "${ECHO_T}$cf_cv_term_header" >&6
+
+-fi
++case $cf_cv_term_header in #(vi
++term.h) #(vi
+
+-if test $cf_cv_lib_XCurses = yes ; then
+- cat >>confdefs.h <<\EOF
+-#define UNIX 1
++cat >>confdefs.h <<\EOF
++#define HAVE_TERM_H 1
+ EOF
+
+- cat >>confdefs.h <<\EOF
+-#define XCURSES 1
+-EOF
++ ;;
++ncurses/term.h) #(vi
+
+- echo "$as_me:12296: checking for xcurses.h" >&5
+-echo $ECHO_N "checking for xcurses.h... $ECHO_C" >&6
+-if test "${ac_cv_header_xcurses_h+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12302 "configure"
+-#include "confdefs.h"
+-#include <xcurses.h>
+-_ACEOF
+-if { (eval echo "$as_me:12306: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:12312: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- ac_cv_header_xcurses_h=yes
+-else
+- echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- ac_cv_header_xcurses_h=no
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-fi
+-echo "$as_me:12331: result: $ac_cv_header_xcurses_h" >&5
+-echo "${ECHO_T}$ac_cv_header_xcurses_h" >&6
+-if test $ac_cv_header_xcurses_h = yes; then
+- cat >>confdefs.h <<\EOF
+-#define HAVE_XCURSES 1
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSES_TERM_H 1
+ EOF
+
+-fi
++ ;;
++ncursesw/term.h)
+
+-else
+- { { echo "$as_me:12341: error: Cannot link with XCurses" >&5
+-echo "$as_me: error: Cannot link with XCurses" >&2;}
+- { (exit 1); exit 1; }; }
+-fi
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSESW_TERM_H 1
++EOF
+
+ ;;
+ esac
+
+-case $cf_cv_screen in #(vi
+-pdcurses) #(vi
+- ;;
+-*)
+- # look for curses-related libraries
+-
+-as_ac_Lib=`echo "ac_cv_lib_panel$cf_cv_libtype''_new_panel" | $as_tr_sh`
+-echo "$as_me:12356: checking for new_panel in -lpanel$cf_cv_libtype" >&5
+-echo $ECHO_N "checking for new_panel in -lpanel$cf_cv_libtype... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
++echo "$as_me:12988: checking for unctrl.h" >&5
++echo $ECHO_N "checking for unctrl.h... $ECHO_C" >&6
++if test "${cf_cv_unctrl_header+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lpanel$cf_cv_libtype $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 12364 "configure"
++
++# If we found <ncurses/curses.h>, look for <ncurses/unctrl.h>, but always look
++# for <unctrl.h> if we do not find the variant.
++
++cf_header_list="unctrl.h ncurses/unctrl.h ncursesw/unctrl.h"
++
++case ${cf_cv_ncurses_header:-curses.h} in #(vi
++*/*)
++ cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`unctrl.h
++ cf_header_list="$cf_header_item $cf_header_list"
++ ;;
++esac
++
++for cf_header in $cf_header_list
++do
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13009 "configure"
+ #include "confdefs.h"
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char new_panel ();
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <${cf_header}>
+ int
+ main ()
+ {
+-new_panel ();
++WINDOW *x
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12383: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:13023: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:12386: \$? = $ac_status" >&5
++ echo "$as_me:13026: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12389: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:13029: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12392: \$? = $ac_status" >&5
++ echo "$as_me:13032: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- eval "$as_ac_Lib=yes"
++ cf_cv_unctrl_header=$cf_header
++ break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-eval "$as_ac_Lib=no"
++cf_cv_unctrl_header=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++rm -f conftest.$ac_objext conftest.$ac_ext
++done
++
++case $cf_cv_unctrl_header in #(vi
++no)
++ { echo "$as_me:13046: WARNING: unctrl.h header not found" >&5
++echo "$as_me: WARNING: unctrl.h header not found" >&2;}
++ ;;
++esac
++
+ fi
+-echo "$as_me:12403: result: `eval echo '${'$as_ac_Lib'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+-if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_LIBpanel$cf_cv_libtype" | $as_tr_cpp` 1
++echo "$as_me:13052: result: $cf_cv_unctrl_header" >&5
++echo "${ECHO_T}$cf_cv_unctrl_header" >&6
++
++case $cf_cv_unctrl_header in #(vi
++unctrl.h) #(vi
++
++cat >>confdefs.h <<\EOF
++#define HAVE_UNCTRL_H 1
+ EOF
+
+- LIBS="-lpanel$cf_cv_libtype $LIBS"
++ ;;
++ncurses/unctrl.h) #(vi
+
+-fi
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSES_UNCTRL_H 1
++EOF
+
+-as_ac_Lib=`echo "ac_cv_lib_menu$cf_cv_libtype''_menu_driver" | $as_tr_sh`
+-echo "$as_me:12415: checking for menu_driver in -lmenu$cf_cv_libtype" >&5
+-echo $ECHO_N "checking for menu_driver in -lmenu$cf_cv_libtype... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
++ ;;
++ncursesw/unctrl.h)
++
++cat >>confdefs.h <<\EOF
++#define HAVE_NCURSESW_UNCTRL_H 1
++EOF
++
++ ;;
++esac
++
++for cf_func in \
++assume_default_colors \
++chgat \
++color_set \
++filter \
++getbegx \
++getcurx \
++getmaxx \
++getnstr \
++getparx \
++getwin \
++mvvline \
++mvwvline \
++napms \
++putwin \
++resize_term \
++resizeterm \
++ripoffline \
++scr_dump \
++setupterm \
++slk_color \
++slk_init \
++termattrs \
++tgetent \
++tigetnum \
++tigetstr \
++typeahead \
++use_default_colors \
++use_screen \
++use_window \
++vsscanf \
++vw_printw \
++wchgat \
++winsstr \
++wresize \
++wsyncdown \
++
++do
++
++cf_tr_func=`echo "$cf_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++ echo "$as_me:13120: checking for ${cf_func}" >&5
++echo $ECHO_N "checking for ${cf_func}... $ECHO_C" >&6
++
++echo "${as_me:-configure}:13123: testing ${cf_func} ..." 1>&5
++
++ if eval "test \"\${cf_cv_func_$cf_func+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lmenu$cf_cv_libtype $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 12423 "configure"
++
++ eval cf_result='$ac_cv_func_'$cf_func
++ if test ".$cf_result" != ".no"; then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13132 "configure"
+ #include "confdefs.h"
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
++#ifdef HAVE_XCURSES
++#include <xcurses.h>
++char * XCursesProgramName = "test";
++#else
++#include <${cf_cv_ncurses_header:-curses.h}>
++#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
++#include <ncursesw/term.h>
++#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
++#include <ncurses/term.h>
++#elif defined(HAVE_TERM_H)
++#include <term.h>
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char menu_driver ();
++#endif
++
+ int
+ main ()
+ {
+-menu_driver ();
++
++#ifndef ${cf_func}
++long foo = (long)(&${cf_func});
++if (foo + 1234 > 5678)
++ ${cf_cv_main_return:-return}(foo);
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12442: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13164: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12445: \$? = $ac_status" >&5
++ echo "$as_me:13167: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12448: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13170: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12451: \$? = $ac_status" >&5
++ echo "$as_me:13173: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- eval "$as_ac_Lib=yes"
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-eval "$as_ac_Lib=no"
++cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++ fi
++ eval 'cf_cv_func_'$cf_func'=$cf_result'
++
+ fi
+-echo "$as_me:12462: result: `eval echo '${'$as_ac_Lib'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+-if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_LIBmenu$cf_cv_libtype" | $as_tr_cpp` 1
++
++ # use the computed/retrieved cache-value:
++ eval 'cf_result=$cf_cv_func_'$cf_func
++ echo "$as_me:13189: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++ if test $cf_result != no; then
++ cat >>confdefs.h <<EOF
++#define HAVE_${cf_tr_func} 1
+ EOF
+
+- LIBS="-lmenu$cf_cv_libtype $LIBS"
++ fi
++done
+
+-fi
++for cf_func in tputs
++do
+
+-as_ac_Lib=`echo "ac_cv_lib_form$cf_cv_libtype''_form_driver" | $as_tr_sh`
+-echo "$as_me:12474: checking for form_driver in -lform$cf_cv_libtype" >&5
+-echo $ECHO_N "checking for form_driver in -lform$cf_cv_libtype... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
++cf_tr_func=`echo "$cf_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++ echo "$as_me:13204: checking for ${cf_func}" >&5
++echo $ECHO_N "checking for ${cf_func}... $ECHO_C" >&6
++
++echo "${as_me:-configure}:13207: testing ${cf_func} ..." 1>&5
++
++ if eval "test \"\${cf_cv_func_$cf_func+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lform$cf_cv_libtype $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 12482 "configure"
++
++ eval cf_result='$ac_cv_func_'$cf_func
++ if test ".$cf_result" != ".no"; then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13216 "configure"
+ #include "confdefs.h"
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
++#ifdef HAVE_XCURSES
++#include <xcurses.h>
++char * XCursesProgramName = "test";
++#else
++#include <${cf_cv_ncurses_header:-curses.h}>
++#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
++#include <ncursesw/term.h>
++#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
++#include <ncurses/term.h>
++#elif defined(HAVE_TERM_H)
++#include <term.h>
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char form_driver ();
++#endif
++
+ int
+ main ()
+ {
+-form_driver ();
++
++#ifndef ${cf_func}
++long foo = (long)(&${cf_func});
++if (foo + 1234 > 5678)
++ ${cf_cv_main_return:-return}(foo);
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12501: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13248: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12504: \$? = $ac_status" >&5
++ echo "$as_me:13251: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12507: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13254: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12510: \$? = $ac_status" >&5
++ echo "$as_me:13257: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- eval "$as_ac_Lib=yes"
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-eval "$as_ac_Lib=no"
++cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:12521: result: `eval echo '${'$as_ac_Lib'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+-if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_LIBform$cf_cv_libtype" | $as_tr_cpp` 1
+-EOF
+-
+- LIBS="-lform$cf_cv_libtype $LIBS"
++ fi
++ eval 'cf_cv_func_'$cf_func'=$cf_result'
+
+ fi
+
+- # look for curses-related headers
+-
+-for ac_header in \
+- nc_alloc.h \
+- nomacros.h \
+- form.h \
+- menu.h \
+- panel.h \
+- term_entry.h \
+-
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:12544: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12550 "configure"
+-#include "confdefs.h"
+-#include <$ac_header>
+-_ACEOF
+-if { (eval echo "$as_me:12554: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:12560: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- eval "$as_ac_Header=yes"
+-else
+- echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- eval "$as_ac_Header=no"
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-fi
+-echo "$as_me:12579: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++ # use the computed/retrieved cache-value:
++ eval 'cf_result=$cf_cv_func_'$cf_func
++ echo "$as_me:13273: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++ if test $cf_result != no; then
++ cat >>confdefs.h <<EOF
++#define HAVE_${cf_tr_func} 1
+ EOF
+
+-fi
++ fi
+ done
+
+- ;;
+-esac
+-
+-echo "$as_me:12592: checking return type of signal handlers" >&5
+-echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
+-if test "${ac_cv_type_signal+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12598 "configure"
++if test x$cf_cv_func_tputs = xyes
++then
++ cf_done=no
++ for cf_arg in int char
++ do
++ for cf_ret in int void
++ do
++ if test $cf_ret = void
++ then
++ cf_return="/* nothing */"
++ else
++ cf_return="return value"
++ fi
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13297 "configure"
+ #include "confdefs.h"
+-#include <sys/types.h>
+-#include <signal.h>
+-#ifdef signal
+-# undef signal
+-#endif
+-#ifdef __cplusplus
+-extern "C" void (*signal (int, void (*)(int)))(int);
+-#else
+-void (*signal ()) ();
+-#endif
++
++#include <${cf_cv_ncurses_header:-curses.h}>
++#include <$cf_cv_term_header>
++
++static $cf_ret outc($cf_arg value) { $cf_return; }
+
+ int
+ main ()
+ {
+-int i;
++
++ tputs("hello", 0, outc);
++ ${cf_cv_main_return:-return}(0);
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:12620: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:13317: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:12623: \$? = $ac_status" >&5
++ echo "$as_me:13320: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:12626: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13323: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12629: \$? = $ac_status" >&5
++ echo "$as_me:13326: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_type_signal=void
++
++ test -n "$verbose" && echo " prototype $cf_ret func($cf_arg value)" 1>&6
++
++echo "${as_me:-configure}:13331: testing prototype $cf_ret func($cf_arg value) ..." 1>&5
++
++ cat >>confdefs.h <<EOF
++#define TPUTS_ARG $cf_arg
++#define TPUTS_PROTO(func,value) $cf_ret func(TPUTS_ARG value)
++#define TPUTS_RETURN(value) $cf_return
++EOF
++ cf_done=yes
++ break
++
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_type_signal=int
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
++ done
++ test $cf_done = yes && break
++ done
+ fi
+-echo "$as_me:12639: result: $ac_cv_type_signal" >&5
+-echo "${ECHO_T}$ac_cv_type_signal" >&6
+
+-cat >>confdefs.h <<EOF
+-#define RETSIGTYPE $ac_cv_type_signal
+-EOF
+-
+-echo "$as_me:12646: 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 "$as_me:13351: checking for ncurses extended functions" >&5
++echo $ECHO_N "checking for ncurses extended functions... $ECHO_C" >&6
++if test "${cf_cv_ncurses_ext_funcs+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12652 "configure"
+-#include "confdefs.h"
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <string.h>
+-#include <float.h>
+-
+-_ACEOF
+-if { (eval echo "$as_me:12660: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:12666: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- ac_cv_header_stdc=yes
+-else
+- echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- ac_cv_header_stdc=no
+-fi
+-rm -f conftest.err 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
+-#line 12688 "configure"
++cat >conftest.$ac_ext <<_ACEOF
++#line 13358 "configure"
+ #include "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 -rf conftest*
+
+-fi
++#include <${cf_cv_ncurses_header:-curses.h}>
++int
++main ()
++{
+
+-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
+-#line 12706 "configure"
+-#include "confdefs.h"
+-#include <stdlib.h>
++int x = NCURSES_EXT_FUNCS
+
++ ;
++ return 0;
++}
+ _ACEOF
+-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+- egrep "free" >/dev/null 2>&1; then
+- :
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:13373: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:13376: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:13379: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:13382: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_ncurses_ext_funcs=defined
+ else
+- ac_cv_header_stdc=no
+-fi
+-rm -rf conftest*
+-
+-fi
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
+
+-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 >conftest.$ac_ext <<_ACEOF
+-#line 12727 "configure"
++cat >conftest.$ac_ext <<_ACEOF
++#line 13390 "configure"
+ #include "confdefs.h"
+-#include <ctype.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)))
++#include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+- int i;
+- for (i = 0; i < 256; i++)
+- if (XOR (islower (i), ISLOWER (i))
+- || toupper (i) != TOUPPER (i))
+- $ac_main_return(2);
+- $ac_main_return (0);
++
++ (void) assume_default_colors (0, 0);
++ (void) curses_version ();
++ (void) define_key (0, 0);
++ (void) is_term_resized (0, 0);
++ (void) key_defined (0);
++ (void) keybound (0, 0);
++ (void) keyok (0, 0);
++ (void) resize_term (0, 0);
++ (void) resizeterm (0, 0);
++ (void) use_default_colors ();
++ (void) use_extended_names (0);
++ (void) wresize (0, 0, 0);
++ ;
++ return 0;
+ }
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:12753: \"$ac_link\"") >&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:13415: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:12756: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:12758: \"$ac_try\"") >&5
++ echo "$as_me:13418: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:13421: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12761: \$? = $ac_status" >&5
++ echo "$as_me:13424: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- :
++ cf_cv_ncurses_ext_funcs=yes
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_header_stdc=no
+-fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+-fi
++cf_cv_ncurses_ext_funcs=no
+ fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++
+ fi
+-echo "$as_me:12774: result: $ac_cv_header_stdc" >&5
+-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+-if test $ac_cv_header_stdc = yes; then
++rm -f conftest.$ac_objext conftest.$ac_ext
+
++fi
++echo "$as_me:13438: result: $cf_cv_ncurses_ext_funcs" >&5
++echo "${ECHO_T}$cf_cv_ncurses_ext_funcs" >&6
++test "$cf_cv_ncurses_ext_funcs" = yes &&
+ cat >>confdefs.h <<\EOF
+-#define STDC_HEADERS 1
++#define NCURSES_EXT_FUNCS 1
+ EOF
+
+-fi
++if test "$cf_enable_widec" = yes
++then
++ # workaround for systems with ncurses before 20111029, due to change of
++ # feature test macro from _XPG5 to _XOPEN_SOURCE
++ if test -n "$cf_cv_ncurses_version" && test "x$cf_cv_ncurses_version" != xno
++ then
++ cf_define_xpg5=no
++ echo "$as_me:13452: checking if _XPG5 should be defined to enable wide-characters" >&5
++echo $ECHO_N "checking if _XPG5 should be defined to enable wide-characters... $ECHO_C" >&6
+
+-echo "$as_me:12784: checking whether time.h and sys/time.h may both be included" >&5
+-echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
+-if test "${ac_cv_header_time+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12790 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13456 "configure"
+ #include "confdefs.h"
+-#include <sys/types.h>
+-#include <sys/time.h>
+-#include <time.h>
+
++#include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-if ((struct tm *) 0)
+-return 0;
++int x = _XPG5
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:12806: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:13469: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:12809: \$? = $ac_status" >&5
++ echo "$as_me:13472: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:12812: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13475: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12815: \$? = $ac_status" >&5
++ echo "$as_me:13478: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_header_time=yes
++ :
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_header_time=no
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:12825: result: $ac_cv_header_time" >&5
+-echo "${ECHO_T}$ac_cv_header_time" >&6
+-if test $ac_cv_header_time = yes; then
+-
+-cat >>confdefs.h <<\EOF
+-#define TIME_WITH_SYS_TIME 1
+-EOF
+-
+-fi
+-
+-for ac_header in \
+-getopt.h \
+-locale.h \
+-math.h \
+-stdarg.h \
+-sys/ioctl.h \
+-sys/select.h \
+-sys/time.h \
+-termios.h \
+-unistd.h \
+-
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:12848: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12854 "configure"
+-#include "confdefs.h"
+-#include <$ac_header>
+-_ACEOF
+-if { (eval echo "$as_me:12858: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:12864: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- eval "$as_ac_Header=yes"
+-else
+- echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- eval "$as_ac_Header=no"
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-fi
+-echo "$as_me:12883: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-EOF
+-
+-fi
+-done
+-
+-for ac_func in \
+-gettimeofday \
+-mblen \
+-mbrlen \
+-mbrtowc \
+-mbsrtowcs \
+-mbstowcs \
+-mbtowc \
+-strdup \
+-wcsrtombs \
+-wcstombs \
+-
+-do
+-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:12907: checking for $ac_func" >&5
+-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_var+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 12913 "configure"
++cf_save_cppflags="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XPG5"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13487 "configure"
+ #include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char $ac_func (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char $ac_func ();
+-char (*f) ();
+
++#include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-/* 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_$ac_func) || defined (__stub___$ac_func)
+-choke me
+-#else
+-f = $ac_func;
+-#endif
+-
++int x = _XPG5
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:12944: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:13500: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:12947: \$? = $ac_status" >&5
++ echo "$as_me:13503: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:12950: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:13506: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:12953: \$? = $ac_status" >&5
++ echo "$as_me:13509: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- eval "$as_ac_var=yes"
++ cf_define_xpg5=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-eval "$as_ac_var=no"
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$cf_save_cppflags"
+ fi
+-echo "$as_me:12963: result: `eval echo '${'$as_ac_var'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+-if test `eval echo '${'$as_ac_var'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+-EOF
++rm -f conftest.$ac_objext conftest.$ac_ext
++ echo "$as_me:13520: result: $cf_define_xpg5" >&5
++echo "${ECHO_T}$cf_define_xpg5" >&6
+
+-fi
+-done
++ if test "$cf_define_xpg5" = yes
++ then
++ CPPFLAGS="$CPPFLAGS -D_XPG5"
++ fi
++ fi
+
+-echo "$as_me:12973: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5
+-echo $ECHO_N "checking if we must define _XOPEN_SOURCE_EXTENDED... $ECHO_C" >&6
+-if test "${cf_cv_need_xopen_extension+set}" = set; then
++ echo "$as_me:13529: checking for wide-character functions" >&5
++echo $ECHO_N "checking for wide-character functions... $ECHO_C" >&6
++if test "${cf_cv_widechar_funcs+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 12980 "configure"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13536 "configure"
+ #include "confdefs.h"
+
+-#include <stdlib.h>
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+
+-#if defined(NCURSES_VERSION_PATCH)
+-#if (NCURSES_VERSION_PATCH < 20100501) && (NCURSES_VERSION_PATCH >= 20100403)
+- make an error
+-#endif
+-#endif
+- long x = winnstr(stdscr, "", 0);
+- int x1, y1;
+- getbegyx(stdscr, y1, x1)
++ static wchar_t src_wchar[2];
++ static cchar_t dst_cchar;
++ setcchar(&dst_cchar, src_wchar, A_NORMAL, 0, (void *) 0);
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13002: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13553: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13005: \$? = $ac_status" >&5
++ echo "$as_me:13556: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13008: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13559: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13011: \$? = $ac_status" >&5
++ echo "$as_me:13562: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_need_xopen_extension=no
++ cf_cv_widechar_funcs=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_cv_widechar_funcs=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++
++fi
++echo "$as_me:13573: result: $cf_cv_widechar_funcs" >&5
++echo "${ECHO_T}$cf_cv_widechar_funcs" >&6
++ if test "$cf_cv_widechar_funcs" != no ; then
++
++cat >>confdefs.h <<\EOF
++#define USE_WIDEC_SUPPORT 1
++EOF
++
++ else
++ cat >>confdefs.h <<\EOF
++#define USE_WIDEC_SUPPORT 0
++EOF
++
++ fi
++else
++ cat >>confdefs.h <<\EOF
++#define USE_WIDEC_SUPPORT 0
++EOF
++
++fi
++
++echo "$as_me:13594: checking if sys/time.h works with sys/select.h" >&5
++echo $ECHO_N "checking if sys/time.h works with sys/select.h... $ECHO_C" >&6
++if test "${cf_cv_sys_time_select+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13018 "configure"
++#line 13601 "configure"
+ #include "confdefs.h"
+
+-#define _XOPEN_SOURCE_EXTENDED
+-#include <stdlib.h>
+-#include <${cf_cv_ncurses_header:-curses.h}>
++#include <sys/types.h>
++#ifdef HAVE_SYS_TIME_H
++#include <sys/time.h>
++#endif
++#ifdef HAVE_SYS_SELECT_H
++#include <sys/select.h>
++#endif
++
+ int
+ main ()
+ {
+
+-#ifdef NCURSES_VERSION
+- cchar_t check;
+- int check2 = curs_set((int)sizeof(check));
+-#endif
+- long x = winnstr(stdscr, "", 0);
+- int x1, y1;
+- getbegyx(stdscr, y1, x1)
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13040: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:13621: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13043: \$? = $ac_status" >&5
++ echo "$as_me:13624: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13046: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:13627: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13049: \$? = $ac_status" >&5
++ echo "$as_me:13630: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_need_xopen_extension=yes
++ cf_cv_sys_time_select=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_need_xopen_extension=unknown
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++cf_cv_sys_time_select=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++
+ fi
+-echo "$as_me:13061: result: $cf_cv_need_xopen_extension" >&5
+-echo "${ECHO_T}$cf_cv_need_xopen_extension" >&6
+-test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
+
+-echo "$as_me:13065: checking for term.h" >&5
+-echo $ECHO_N "checking for term.h... $ECHO_C" >&6
+-if test "${cf_cv_term_header+set}" = set; then
++echo "$as_me:13642: result: $cf_cv_sys_time_select" >&5
++echo "${ECHO_T}$cf_cv_sys_time_select" >&6
++test "$cf_cv_sys_time_select" = yes &&
++cat >>confdefs.h <<\EOF
++#define HAVE_SYS_TIME_SELECT 1
++EOF
++
++echo "$as_me:13649: checking for function curses_version" >&5
++echo $ECHO_N "checking for function curses_version... $ECHO_C" >&6
++if test "${cf_cv_func_curses_version+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-# If we found <ncurses/curses.h>, look for <ncurses/term.h>, but always look
+-# for <term.h> if we do not find the variant.
+-for cf_header in \
+- `echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%/.*%/%'`term.h \
+- term.h
+-do
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13078 "configure"
++if test "$cross_compiling" = yes; then
++ cf_cv_func_curses_version=unknown
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13659 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header:-curses.h}>
+-#include <${cf_header}>
+-int
+-main ()
++int main()
+ {
+-WINDOW *x
+- ;
+- return 0;
++ char temp[1024];
++ sprintf(temp, "%s\n", curses_version());
++ ${cf_cv_main_return:-return}(0);
+ }
++
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13092: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:13672: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13095: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13098: \"$ac_try\"") >&5
++ echo "$as_me:13675: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (eval echo "$as_me:13677: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13101: \$? = $ac_status" >&5
++ echo "$as_me:13680: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_term_header=$cf_header
+- break
++ cf_cv_func_curses_version=yes
++
+ else
+- echo "$as_me: failed program was:" >&5
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_term_header=no
++cf_cv_func_curses_version=no
++
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-done
++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++rm -f core
++fi
++echo "$as_me:13695: result: $cf_cv_func_curses_version" >&5
++echo "${ECHO_T}$cf_cv_func_curses_version" >&6
++test "$cf_cv_func_curses_version" = yes &&
++cat >>confdefs.h <<\EOF
++#define HAVE_CURSES_VERSION 1
++EOF
+
+-case $cf_cv_term_header in #(vi
+-no)
+- # If curses is ncurses, some packagers still mess it up by trying to make
+- # us use GNU termcap. This handles the most common case.
+- for cf_header in ncurses/term.h ncursesw/term.h
+- do
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13120 "configure"
++echo "$as_me:13702: checking for alternate character set array" >&5
++echo $ECHO_N "checking for alternate character set array... $ECHO_C" >&6
++if test "${cf_cv_curses_acs_map+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cf_cv_curses_acs_map=unknown
++for name in acs_map _acs_map __acs_map ${NCURSES_WRAP_PREFIX}acs_map
++do
++cat >conftest.$ac_ext <<_ACEOF
++#line 13712 "configure"
+ #include "confdefs.h"
+
+ #include <${cf_cv_ncurses_header:-curses.h}>
+-#ifdef NCURSES_VERSION
+-#include <${cf_header}>
+-#else
+-make an error
+-#endif
++
+ int
+ main ()
+ {
+-WINDOW *x
++
++$name['k'] = ACS_PLUS
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13138: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:13728: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13141: \$? = $ac_status" >&5
++ echo "$as_me:13731: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13144: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:13734: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13147: \$? = $ac_status" >&5
++ echo "$as_me:13737: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_term_header=$cf_header
+- break
++ cf_cv_curses_acs_map=$name; break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_term_header=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- done
+- ;;
+-esac
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++done
+
+ fi
+-echo "$as_me:13162: result: $cf_cv_term_header" >&5
+-echo "${ECHO_T}$cf_cv_term_header" >&6
+-
+-case $cf_cv_term_header in #(vi
+-term.h) #(vi
+- cat >>confdefs.h <<\EOF
+-#define HAVE_TERM_H 1
+-EOF
+-
+- ;;
+-ncurses/term.h) #(vi
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSES_TERM_H 1
+-EOF
++echo "$as_me:13748: result: $cf_cv_curses_acs_map" >&5
++echo "${ECHO_T}$cf_cv_curses_acs_map" >&6
+
+- ;;
+-ncursesw/term.h)
+- cat >>confdefs.h <<\EOF
+-#define HAVE_NCURSESW_TERM_H 1
++test "$cf_cv_curses_acs_map" != unknown &&
++cat >>confdefs.h <<EOF
++#define CURSES_ACS_ARRAY $cf_cv_curses_acs_map
+ EOF
+
+- ;;
+-esac
+-
+-for cf_func in \
+-chgat \
+-color_set \
+-filter \
+-getbegx \
+-getcurx \
+-getmaxx \
+-getnstr \
+-getparx \
+-getwin \
+-mvvline \
+-mvwvline \
+-napms \
+-putwin \
+-resize_term \
+-resizeterm \
+-ripoffline \
+-scr_dump \
+-setupterm \
+-slk_color \
+-slk_init \
+-termattrs \
+-tgetent \
+-tigetnum \
+-tigetstr \
+-typeahead \
+-use_default_colors \
+-vw_printw \
+-vsscanf \
+-wchgat \
+-winsstr \
+-wresize \
+-wsyncdown \
+-
+-do
+-
+-cf_tr_func=`echo "$cf_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+-
+- echo "$as_me:13224: checking for ${cf_func}" >&5
+-echo $ECHO_N "checking for ${cf_func}... $ECHO_C" >&6
+-
+-echo "${as_me:-configure}:13227: testing ${cf_func} ..." 1>&5
++if test "$cf_enable_widec" = yes; then
+
+- if eval "test \"\${cf_cv_func_$cf_func+set}\" = set"; then
++echo "$as_me:13758: checking for wide alternate character set array" >&5
++echo $ECHO_N "checking for wide alternate character set array... $ECHO_C" >&6
++if test "${cf_cv_curses_wacs_map+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+- eval cf_result='$ac_cv_func_'$cf_func
+- if test ".$cf_result" != ".no"; then
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13236 "configure"
++ cf_cv_curses_wacs_map=unknown
++ for name in wacs_map _wacs_map __wacs_map _nc_wacs _wacs_char
++ do
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13768 "configure"
+ #include "confdefs.h"
+
+-#ifdef HAVE_XCURSES
+-#include <xcurses.h>
+-char * XCursesProgramName = "test";
+-#else
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
+-#include <ncursesw/term.h>
+-#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
+-#include <ncurses/term.h>
+-#elif defined(HAVE_TERM_H)
+-#include <term.h>
+-#endif
++#ifndef _XOPEN_SOURCE_EXTENDED
++#define _XOPEN_SOURCE_EXTENDED
+ #endif
+-
++#include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-
+-#ifndef ${cf_func}
+-long foo = (long)(&${cf_func});
+-${cf_cv_main_return:-return}(foo == 0);
+-#endif
+-
++void *foo = &($name['k'])
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13267: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13784: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13270: \$? = $ac_status" >&5
++ echo "$as_me:13787: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13273: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13790: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13276: \$? = $ac_status" >&5
++ echo "$as_me:13793: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_result=yes
++ cf_cv_curses_wacs_map=$name
++ break
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- fi
+- eval 'cf_cv_func_'$cf_func'=$cf_result'
+-
++ done
+ fi
++echo "$as_me:13804: result: $cf_cv_curses_wacs_map" >&5
++echo "${ECHO_T}$cf_cv_curses_wacs_map" >&6
+
+- # use the computed/retrieved cache-value:
+- eval 'cf_result=$cf_cv_func_'$cf_func
+- echo "$as_me:13292: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+- if test $cf_result != no; then
+- cat >>confdefs.h <<EOF
+-#define HAVE_${cf_tr_func} 1
++test "$cf_cv_curses_wacs_map" != unknown &&
++cat >>confdefs.h <<EOF
++#define CURSES_WACS_ARRAY $cf_cv_curses_wacs_map
+ EOF
+
+- fi
+-done
+-
+-echo "$as_me:13302: checking for ncurses extended functions" >&5
+-echo $ECHO_N "checking for ncurses extended functions... $ECHO_C" >&6
+-if test "${cf_cv_ncurses_ext_funcs+set}" = set; then
++echo "$as_me:13812: checking for wide alternate character constants" >&5
++echo $ECHO_N "checking for wide alternate character constants... $ECHO_C" >&6
++if test "${cf_cv_curses_wacs_symbols+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 13309 "configure"
++cf_cv_curses_wacs_symbols=no
++if test "$cf_cv_curses_wacs_map" != unknown
++then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13822 "configure"
+ #include "confdefs.h"
+
++#ifndef _XOPEN_SOURCE_EXTENDED
++#define _XOPEN_SOURCE_EXTENDED
++#endif
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-
+-int x = NCURSES_EXT_FUNCS
+-
++cchar_t *foo = WACS_PLUS;
++ $cf_cv_curses_wacs_map['k'] = *WACS_PLUS
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13324: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:13839: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13327: \$? = $ac_status" >&5
++ echo "$as_me:13842: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13330: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:13845: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13333: \$? = $ac_status" >&5
++ echo "$as_me:13848: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_ncurses_ext_funcs=defined
++ cf_cv_curses_wacs_symbols=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 13341 "configure"
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 13858 "configure"
+ #include "confdefs.h"
+
++#ifndef _XOPEN_SOURCE_EXTENDED
++#define _XOPEN_SOURCE_EXTENDED
++#endif
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+-
+- (void) assume_default_colors (0, 0);
+- (void) curses_version ();
+- (void) define_key (0, 0);
+- (void) is_term_resized (0, 0);
+- (void) key_defined (0);
+- (void) keybound (0, 0);
+- (void) keyok (0, 0);
+- (void) resize_term (0, 0);
+- (void) resizeterm (0, 0);
+- (void) use_default_colors ();
+- (void) use_extended_names (0);
+- (void) wresize (0, 0, 0);
++cchar_t *foo = WACS_PLUS
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13366: \"$ac_link\"") >&5
++if { (eval echo "$as_me:13874: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:13369: \$? = $ac_status" >&5
++ echo "$as_me:13877: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13372: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13880: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13375: \$? = $ac_status" >&5
++ echo "$as_me:13883: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_ncurses_ext_funcs=yes
++ cf_cv_curses_wacs_symbols=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_ncurses_ext_funcs=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:13389: result: $cf_cv_ncurses_ext_funcs" >&5
+-echo "${ECHO_T}$cf_cv_ncurses_ext_funcs" >&6
+-test "$cf_cv_ncurses_ext_funcs" = yes && cat >>confdefs.h <<\EOF
+-#define NCURSES_EXT_FUNCS 1
++echo "$as_me:13894: result: $cf_cv_curses_wacs_symbols" >&5
++echo "${ECHO_T}$cf_cv_curses_wacs_symbols" >&6
++
++test "$cf_cv_curses_wacs_symbols" != no &&
++cat >>confdefs.h <<\EOF
++#define CURSES_WACS_SYMBOLS 1
+ EOF
+
+-echo "$as_me:13395: checking for wide-character functions" >&5
+-echo $ECHO_N "checking for wide-character functions... $ECHO_C" >&6
+-if test "${cf_cv_widechar_funcs+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++fi
+
++echo "$as_me:13904: checking for type attr_t in ${cf_cv_ncurses_header:-curses.h}" >&5
++echo $ECHO_N "checking for type attr_t in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13402 "configure"
++#line 13907 "configure"
+ #include "confdefs.h"
+
++#ifndef _XOPEN_SOURCE_EXTENDED
++#define _XOPEN_SOURCE_EXTENDED
++#endif
+ #include <${cf_cv_ncurses_header:-curses.h}>
+ int
+ main ()
+ {
+
+- static wchar_t src_wchar[2];
+- static cchar_t dst_cchar;
+- setcchar(&dst_cchar, src_wchar, A_NORMAL, 0, (void *) 0);
++attr_t foo
+
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13419: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:13925: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13422: \$? = $ac_status" >&5
++ echo "$as_me:13928: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13425: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:13931: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13428: \$? = $ac_status" >&5
++ echo "$as_me:13934: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_widechar_funcs=yes
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_widechar_funcs=no
++cf_result=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:13943: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++if test $cf_result = yes ; then
+
+-fi
+-echo "$as_me:13439: result: $cf_cv_widechar_funcs" >&5
+-echo "${ECHO_T}$cf_cv_widechar_funcs" >&6
+-if test "$cf_cv_widechar_funcs" != no ; then
+- cat >>confdefs.h <<\EOF
+-#define USE_WIDEC_SUPPORT 1
++cf_result=`echo "have_type_attr_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++cat >>confdefs.h <<EOF
++#define $cf_result 1
+ EOF
+
+ else
+- cat >>confdefs.h <<\EOF
+-#define USE_WIDEC_SUPPORT 0
++
++cat >>confdefs.h <<EOF
++#define attr_t long
+ EOF
+
+ fi
+
+-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
++if test "$cf_enable_widec" = yes; then
+
+-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:13459: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
++# This is needed on Tru64 5.0 to declare mbstate_t
++echo "$as_me:13964: checking if we must include wchar.h to declare mbstate_t" >&5
++echo $ECHO_N "checking if we must include wchar.h to declare mbstate_t... $ECHO_C" >&6
++if test "${cf_cv_mbstate_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13465 "configure"
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 13971 "configure"
+ #include "confdefs.h"
+-$ac_includes_default
+-#include <$ac_header>
++
++#include <stdlib.h>
++#include <stdarg.h>
++#include <stdio.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
++#endif
++int
++main ()
++{
++mbstate_t state
++ ;
++ return 0;
++}
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13471: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:13989: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13474: \$? = $ac_status" >&5
++ echo "$as_me:13992: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13477: \"$ac_try\"") >&5
++ { (eval echo "$as_me:13995: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13480: \$? = $ac_status" >&5
++ echo "$as_me:13998: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- eval "$as_ac_Header=yes"
++ cf_cv_mbstate_t=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-eval "$as_ac_Header=no"
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:13490: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-EOF
+-
+-fi
+-done
+-
+-echo "$as_me:13500: checking for pid_t" >&5
+-echo $ECHO_N "checking for pid_t... $ECHO_C" >&6
+-if test "${ac_cv_type_pid_t+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13506 "configure"
++cat >conftest.$ac_ext <<_ACEOF
++#line 14005 "configure"
+ #include "confdefs.h"
+-$ac_includes_default
++
++#include <stdlib.h>
++#include <stdarg.h>
++#include <stdio.h>
++#include <wchar.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
++#endif
+ int
+ main ()
+ {
+-if ((pid_t *) 0)
+- return 0;
+-if (sizeof (pid_t))
+- return 0;
++mbstate_t value
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13521: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:14024: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13524: \$? = $ac_status" >&5
++ echo "$as_me:14027: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13527: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14030: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13530: \$? = $ac_status" >&5
++ echo "$as_me:14033: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_type_pid_t=yes
++ cf_cv_mbstate_t=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_type_pid_t=no
++cf_cv_mbstate_t=unknown
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:13540: result: $ac_cv_type_pid_t" >&5
+-echo "${ECHO_T}$ac_cv_type_pid_t" >&6
+-if test $ac_cv_type_pid_t = yes; then
+- :
+-else
++rm -f conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:14045: result: $cf_cv_mbstate_t" >&5
++echo "${ECHO_T}$cf_cv_mbstate_t" >&6
+
+-cat >>confdefs.h <<EOF
+-#define pid_t int
++if test "$cf_cv_mbstate_t" = yes ; then
++
++cat >>confdefs.h <<\EOF
++#define NEED_WCHAR_H 1
+ EOF
+
++ NEED_WCHAR_H=1
+ fi
+
+-for ac_header in unistd.h vfork.h
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:13555: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13561 "configure"
+-#include "confdefs.h"
+-#include <$ac_header>
+-_ACEOF
+-if { (eval echo "$as_me:13565: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- egrep -v '^ *\+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:13571: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- eval "$as_ac_Header=yes"
+-else
+- echo "$as_me: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- eval "$as_ac_Header=no"
+-fi
+-rm -f conftest.err conftest.$ac_ext
++# if we do not find mbstate_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_mbstate_t" = unknown ; then
++ NCURSES_MBSTATE_T=1
+ fi
+-echo "$as_me:13590: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-EOF
+
++# if we find mbstate_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_mbstate_t" != unknown ; then
++ NCURSES_OK_MBSTATE_T=1
+ fi
+-done
+
+-for ac_func in fork vfork
+-do
+-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:13603: checking for $ac_func" >&5
+-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_var+set}\" = set"; then
++# This is needed on Tru64 5.0 to declare wchar_t
++echo "$as_me:14068: checking if we must include wchar.h to declare wchar_t" >&5
++echo $ECHO_N "checking if we must include wchar.h to declare wchar_t... $ECHO_C" >&6
++if test "${cf_cv_wchar_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13609 "configure"
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 14075 "configure"
+ #include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char $ac_func (); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char $ac_func ();
+-char (*f) ();
+
++#include <stdlib.h>
++#include <stdarg.h>
++#include <stdio.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
++#endif
+ int
+ main ()
+ {
+-/* 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_$ac_func) || defined (__stub___$ac_func)
+-choke me
+-#else
+-f = $ac_func;
+-#endif
+-
++wchar_t state
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:13640: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:14093: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13643: \$? = $ac_status" >&5
++ echo "$as_me:14096: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:13646: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:14099: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13649: \$? = $ac_status" >&5
++ echo "$as_me:14102: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- eval "$as_ac_var=yes"
++ cf_cv_wchar_t=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-eval "$as_ac_var=no"
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:13659: result: `eval echo '${'$as_ac_var'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+-if test `eval echo '${'$as_ac_var'}'` = yes; then
+- cat >>confdefs.h <<EOF
+-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+-EOF
+-
+-fi
+-done
+-
+-ac_cv_func_fork_works=$ac_cv_func_fork
+-if test "x$ac_cv_func_fork" = xyes; then
+- echo "$as_me:13671: checking for working fork" >&5
+-echo $ECHO_N "checking for working fork... $ECHO_C" >&6
+-if test "${ac_cv_func_fork_works+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test "$cross_compiling" = yes; then
+- ac_cv_func_fork_works=cross
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* By Rüdiger Kuhlmann. */
+- #include <sys/types.h>
+- #if HAVE_UNISTD_H
+- # include <unistd.h>
+- #endif
+- /* Some systems only have a dummy stub for fork() */
+- int main ()
+- {
+- if (fork() < 0)
+- $ac_main_return (1);
+- $ac_main_return (0);
+- }
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:13694: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:13697: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:13699: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:13702: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_fork_works=yes
+-else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-ac_cv_func_fork_works=no
+-fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+-fi
+-fi
+-echo "$as_me:13714: result: $ac_cv_func_fork_works" >&5
+-echo "${ECHO_T}$ac_cv_func_fork_works" >&6
+-
+-fi
+-if test "x$ac_cv_func_fork_works" = xcross; then
+- case $host in
+- *-*-amigaos* | *-*-msdosdjgpp*)
+- # Override, as these systems have only a dummy fork() stub
+- ac_cv_func_fork_works=no
+- ;;
+- *)
+- ac_cv_func_fork_works=yes
+- ;;
+- esac
+- { echo "$as_me:13728: WARNING: CROSS: Result $ac_cv_func_fork_works guessed due to cross-compiling." >&5
+-echo "$as_me: WARNING: CROSS: Result $ac_cv_func_fork_works guessed due to cross-compiling." >&2;}
+-fi
+-ac_cv_func_vfork_works=$ac_cv_func_vfork
+-if test "x$ac_cv_func_vfork" = xyes; then
+- echo "$as_me:13733: checking for working vfork" >&5
+-echo $ECHO_N "checking for working vfork... $ECHO_C" >&6
+-if test "${ac_cv_func_vfork_works+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test "$cross_compiling" = yes; then
+- ac_cv_func_vfork_works=cross
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13742 "configure"
++cat >conftest.$ac_ext <<_ACEOF
++#line 14109 "configure"
+ #include "confdefs.h"
+-/* Thanks to Paul Eggert for this test. */
++
++#include <stdlib.h>
++#include <stdarg.h>
+ #include <stdio.h>
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-#if HAVE_UNISTD_H
+-# include <unistd.h>
+-#endif
+-#if HAVE_VFORK_H
+-# include <vfork.h>
+-#endif
+-/* On some sparc systems, changes by the child to local and incoming
+- argument registers are propagated back to the parent. The compiler
+- is told about this with #include <vfork.h>, but some compilers
+- (e.g. gcc -O) don't grok <vfork.h>. Test for this by using a
+- static variable whose address is put into a register that is
+- clobbered by the vfork. */
+-static
+-#ifdef __cplusplus
+-sparc_address_test (int arg)
+-# else
+-sparc_address_test (arg) int arg;
++#include <wchar.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
+ #endif
+-{
+- static pid_t child;
+- if (!child) {
+- child = vfork ();
+- if (child < 0) {
+- perror ("vfork");
+- _exit(2);
+- }
+- if (!child) {
+- arg = getpid();
+- write(-1, "", 0);
+- _exit (arg);
+- }
+- }
+-}
+-
+ int
+ main ()
+ {
+- pid_t parent = getpid ();
+- pid_t child;
+-
+- sparc_address_test ();
+-
+- child = vfork ();
+-
+- if (child == 0) {
+- /* Here is another test for sparc vfork register problems. This
+- test uses lots of local variables, at least as many local
+- variables as main has allocated so far including compiler
+- temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris
+- 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should
+- reuse the register of parent for one of the local variables,
+- since it will think that parent can't possibly be used any more
+- in this routine. Assigning to the local variable will thus
+- munge parent in the parent process. */
+- pid_t
+- p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
+- p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
+- /* Convince the compiler that p..p7 are live; otherwise, it might
+- use the same hardware register for all 8 local variables. */
+- if (p != p1 || p != p2 || p != p3 || p != p4
+- || p != p5 || p != p6 || p != p7)
+- _exit(1);
+-
+- /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent
+- from child file descriptors. If the child closes a descriptor
+- before it execs or exits, this munges the parent's descriptor
+- as well. Test for this by closing stdout in the child. */
+- _exit(close(fileno(stdout)) != 0);
+- } else {
+- int status;
+- struct stat st;
+-
+- while (wait(&status) != child)
+- ;
+- $ac_main_return(
+- /* Was there some problem with vforking? */
+- child < 0
+-
+- /* Did the child fail? (This shouldn't happen.) */
+- || status
+-
+- /* Did the vfork/compiler bug occur? */
+- || parent != getpid()
+-
+- /* Did the file descriptor bug occur? */
+- || fstat(fileno(stdout), &st) != 0
+- );
+- }
++wchar_t value
++ ;
++ return 0;
+ }
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:13839: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:14128: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13842: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:13844: \"$ac_try\"") >&5
++ echo "$as_me:14131: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:14134: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13847: \$? = $ac_status" >&5
++ echo "$as_me:14137: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_func_vfork_works=yes
++ cf_cv_wchar_t=yes
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_func_vfork_works=no
+-fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++cf_cv_wchar_t=unknown
+ fi
++rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:13859: result: $ac_cv_func_vfork_works" >&5
+-echo "${ECHO_T}$ac_cv_func_vfork_works" >&6
+-
+-fi;
+-if test "x$ac_cv_func_fork_works" = xcross; then
+- ac_cv_func_vfork_works=ac_cv_func_vfork
+- { echo "$as_me:13865: WARNING: CROSS: Result $ac_cv_func_vfork_works guessed due to cross-compiling." >&5
+-echo "$as_me: WARNING: CROSS: Result $ac_cv_func_vfork_works guessed due to cross-compiling." >&2;}
++rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
++echo "$as_me:14149: result: $cf_cv_wchar_t" >&5
++echo "${ECHO_T}$cf_cv_wchar_t" >&6
+
+-if test "x$ac_cv_func_vfork_works" = xyes; then
+-
+-cat >>confdefs.h <<\EOF
+-#define HAVE_WORKING_VFORK 1
+-EOF
+-
+-else
++if test "$cf_cv_wchar_t" = yes ; then
+
+ cat >>confdefs.h <<\EOF
+-#define vfork fork
++#define NEED_WCHAR_H 1
+ EOF
+
++ NEED_WCHAR_H=1
+ fi
+-if test "x$ac_cv_func_fork_works" = xyes; then
+
+-cat >>confdefs.h <<\EOF
+-#define HAVE_WORKING_FORK 1
+-EOF
++# if we do not find wchar_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_wchar_t" = unknown ; then
++ NCURSES_WCHAR_T=1
++fi
+
++# if we find wchar_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_wchar_t" != unknown ; then
++ NCURSES_OK_WCHAR_T=1
+ fi
+
+-echo "$as_me:13890: checking if sys/time.h works with sys/select.h" >&5
+-echo $ECHO_N "checking if sys/time.h works with sys/select.h... $ECHO_C" >&6
+-if test "${cf_cv_sys_time_select+set}" = set; then
++# This is needed on Tru64 5.0 to declare wint_t
++echo "$as_me:14172: checking if we must include wchar.h to declare wint_t" >&5
++echo $ECHO_N "checking if we must include wchar.h to declare wint_t... $ECHO_C" >&6
++if test "${cf_cv_wint_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 13897 "configure"
++#line 14179 "configure"
+ #include "confdefs.h"
+
+-#include <sys/types.h>
+-#ifdef HAVE_SYS_TIME_H
+-#include <sys/time.h>
+-#endif
+-#ifdef HAVE_SYS_SELECT_H
+-#include <sys/select.h>
++#include <stdlib.h>
++#include <stdarg.h>
++#include <stdio.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
+ #endif
+-
+ int
+ main ()
+ {
+-
++wint_t state
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:13917: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:14197: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13920: \$? = $ac_status" >&5
++ echo "$as_me:14200: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:13923: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14203: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13926: \$? = $ac_status" >&5
++ echo "$as_me:14206: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_sys_time_select=yes
++ cf_cv_wint_t=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_sys_time_select=no
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-
+-fi
+-
+-echo "$as_me:13938: result: $cf_cv_sys_time_select" >&5
+-echo "${ECHO_T}$cf_cv_sys_time_select" >&6
+-test "$cf_cv_sys_time_select" = yes && cat >>confdefs.h <<\EOF
+-#define HAVE_SYS_TIME_SELECT 1
+-EOF
+-
+-echo "$as_me:13944: checking for function curses_version" >&5
+-echo $ECHO_N "checking for function curses_version... $ECHO_C" >&6
+-if test "${cf_cv_func_curses_version+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+-if test "$cross_compiling" = yes; then
+- cf_cv_func_curses_version=unknown
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 13954 "configure"
++cat >conftest.$ac_ext <<_ACEOF
++#line 14213 "configure"
+ #include "confdefs.h"
+
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-int main()
++#include <stdlib.h>
++#include <stdarg.h>
++#include <stdio.h>
++#include <wchar.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
++#endif
++int
++main ()
+ {
+- char temp[1024];
+- sprintf(temp, "%s\n", curses_version());
+- ${cf_cv_main_return:-return}(0);
++wint_t value
++ ;
++ return 0;
+ }
+-
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:13967: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:14232: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:13970: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:13972: \"$ac_try\"") >&5
++ echo "$as_me:14235: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:14238: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:13975: \$? = $ac_status" >&5
++ echo "$as_me:14241: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_func_curses_version=yes
+-
++ cf_cv_wint_t=yes
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_func_curses_version=no
+-
++cf_cv_wint_t=unknown
+ fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-rm -f core
++rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:13990: result: $cf_cv_func_curses_version" >&5
+-echo "${ECHO_T}$cf_cv_func_curses_version" >&6
+-test "$cf_cv_func_curses_version" = yes && cat >>confdefs.h <<\EOF
+-#define HAVE_CURSES_VERSION 1
++echo "$as_me:14253: result: $cf_cv_wint_t" >&5
++echo "${ECHO_T}$cf_cv_wint_t" >&6
++
++if test "$cf_cv_wint_t" = yes ; then
++
++cat >>confdefs.h <<\EOF
++#define NEED_WCHAR_H 1
+ EOF
+
+-echo "$as_me:13996: checking for ncurses wrap-prefix" >&5
+-echo $ECHO_N "checking for ncurses wrap-prefix... $ECHO_C" >&6
++ NEED_WCHAR_H=1
++fi
+
+-# Check whether --with-ncurses-wrap-prefix or --without-ncurses-wrap-prefix was given.
+-if test "${with_ncurses_wrap_prefix+set}" = set; then
+- withval="$with_ncurses_wrap_prefix"
+- NCURSES_WRAP_PREFIX=$withval
+-else
+- NCURSES_WRAP_PREFIX=_nc_
+-fi;
+-echo "$as_me:14006: result: $NCURSES_WRAP_PREFIX" >&5
+-echo "${ECHO_T}$NCURSES_WRAP_PREFIX" >&6
++# if we do not find wint_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_wint_t" = unknown ; then
++ NCURSES_WINT_T=1
++fi
+
+-echo "$as_me:14009: checking for alternate character set array" >&5
+-echo $ECHO_N "checking for alternate character set array... $ECHO_C" >&6
+-if test "${cf_cv_curses_acs_map+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++# if we find wint_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_wint_t" != unknown ; then
++ NCURSES_OK_WINT_T=1
++fi
+
+-cf_cv_curses_acs_map=unknown
+-for name in acs_map _acs_map __acs_map ${NCURSES_WRAP_PREFIX}acs_map
+-do
++ if test "$NCURSES_OK_MBSTATE_T" = 0 ; then
++
++echo "$as_me:14277: checking for type mbstate_t in ${cf_cv_ncurses_header:-curses.h}" >&5
++echo $ECHO_N "checking for type mbstate_t in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14019 "configure"
++#line 14280 "configure"
+ #include "confdefs.h"
+
++#ifndef _XOPEN_SOURCE_EXTENDED
++#define _XOPEN_SOURCE_EXTENDED
++#endif
+ #include <${cf_cv_ncurses_header:-curses.h}>
+-
+ int
+ main ()
+ {
+
+-$name['k'] = ACS_PLUS
++mbstate_t foo
+
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14035: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:14298: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14038: \$? = $ac_status" >&5
++ echo "$as_me:14301: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14041: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:14304: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14044: \$? = $ac_status" >&5
++ echo "$as_me:14307: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_curses_acs_map=$name; break
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_result=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-done
++rm -f conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:14316: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++if test $cf_result = yes ; then
+
+-fi
+-echo "$as_me:14055: result: $cf_cv_curses_acs_map" >&5
+-echo "${ECHO_T}$cf_cv_curses_acs_map" >&6
++cf_result=`echo "have_type_mbstate_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+-test "$cf_cv_curses_acs_map" != unknown && cat >>confdefs.h <<EOF
+-#define CURSES_ACS_ARRAY $cf_cv_curses_acs_map
++cat >>confdefs.h <<EOF
++#define $cf_result 1
+ EOF
+
+-echo "$as_me:14062: checking for wide alternate character set array" >&5
+-echo $ECHO_N "checking for wide alternate character set array... $ECHO_C" >&6
+-if test "${cf_cv_curses_wacs_map+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+- cf_cv_curses_wacs_map=unknown
+- for name in wacs_map _wacs_map __wacs_map _nc_wacs _wacs_char
+- do
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 14072 "configure"
++cat >>confdefs.h <<EOF
++#define mbstate_t long
++EOF
++
++fi
++
++ fi
++
++ if test "$NCURSES_OK_WCHAR_T" = 0 ; then
++
++echo "$as_me:14338: checking for type wchar_t in ${cf_cv_ncurses_header:-curses.h}" >&5
++echo $ECHO_N "checking for type wchar_t in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++#line 14341 "configure"
+ #include "confdefs.h"
+
+ #ifndef _XOPEN_SOURCE_EXTENDED
+@@ -14079,86 +14348,58 @@
+ int
+ main ()
+ {
+-void *foo = &($name['k'])
++
++wchar_t foo
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14088: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:14359: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14091: \$? = $ac_status" >&5
++ echo "$as_me:14362: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14094: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:14365: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14097: \$? = $ac_status" >&5
++ echo "$as_me:14368: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_curses_wacs_map=$name
+- break
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_result=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+- done
+-fi
+-echo "$as_me:14108: result: $cf_cv_curses_wacs_map" >&5
+-echo "${ECHO_T}$cf_cv_curses_wacs_map" >&6
++rm -f conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:14377: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++if test $cf_result = yes ; then
+
+-test "$cf_cv_curses_wacs_map" != unknown && cat >>confdefs.h <<EOF
+-#define CURSES_WACS_ARRAY $cf_cv_curses_wacs_map
++cf_result=`echo "have_type_wchar_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++cat >>confdefs.h <<EOF
++#define $cf_result 1
+ EOF
+
+-echo "$as_me:14115: checking for wide alternate character constants" >&5
+-echo $ECHO_N "checking for wide alternate character constants... $ECHO_C" >&6
+-if test "${cf_cv_curses_wacs_symbols+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-cf_cv_curses_wacs_symbols=no
+-if test "$cf_cv_curses_wacs_map" != unknown
+-then
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 14125 "configure"
+-#include "confdefs.h"
++cat >>confdefs.h <<EOF
++#define wchar_t long
++EOF
+
+-#ifndef _XOPEN_SOURCE_EXTENDED
+-#define _XOPEN_SOURCE_EXTENDED
+-#endif
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-int
+-main ()
+-{
+-cchar_t *foo = WACS_PLUS;
+- $cf_cv_curses_wacs_map['k'] = *WACS_PLUS
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14142: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:14145: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14148: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:14151: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_cv_curses_wacs_symbols=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 14161 "configure"
++
++ fi
++
++ if test "$NCURSES_OK_WINT_T" = 0 ; then
++
++echo "$as_me:14399: checking for type wint_t in ${cf_cv_ncurses_header:-curses.h}" >&5
++echo $ECHO_N "checking for type wint_t in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++#line 14402 "configure"
+ #include "confdefs.h"
+
+ #ifndef _XOPEN_SOURCE_EXTENDED
+@@ -14168,70 +14409,95 @@
+ int
+ main ()
+ {
+-cchar_t *foo = WACS_PLUS
++
++wint_t foo
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14177: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:14420: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14180: \$? = $ac_status" >&5
++ echo "$as_me:14423: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14183: \"$ac_try\"") >&5
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:14426: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14186: \$? = $ac_status" >&5
++ echo "$as_me:14429: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_curses_wacs_symbols=yes
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_result=no
+ fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++rm -f conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:14438: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++if test $cf_result = yes ; then
++
++cf_result=`echo "have_type_wint_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++cat >>confdefs.h <<EOF
++#define $cf_result 1
++EOF
++
++else
++
++cat >>confdefs.h <<EOF
++#define wint_t long
++EOF
++
+ fi
+
++ fi
+ fi
+-echo "$as_me:14197: result: $cf_cv_curses_wacs_symbols" >&5
+-echo "${ECHO_T}$cf_cv_curses_wacs_symbols" >&6
+
+-test "$cf_cv_curses_wacs_symbols" != no && cat >>confdefs.h <<\EOF
+-#define CURSES_WACS_SYMBOLS 1
+-EOF
++echo "$as_me:14459: checking for data boolnames declaration in ${cf_cv_ncurses_header:-curses.h}" >&5
++echo $ECHO_N "checking for data boolnames declaration in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
+
+-echo "$as_me:14204: checking for type attr_t in ${cf_cv_ncurses_header:-curses.h}" >&5
+-echo $ECHO_N "checking for type attr_t in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14207 "configure"
++#line 14463 "configure"
+ #include "confdefs.h"
+
+-#ifndef _XOPEN_SOURCE_EXTENDED
+-#define _XOPEN_SOURCE_EXTENDED
+-#endif
++#ifdef HAVE_XCURSES
++#include <xcurses.h>
++char * XCursesProgramName = "test";
++#else
+ #include <${cf_cv_ncurses_header:-curses.h}>
++#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
++#include <ncursesw/term.h>
++#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
++#include <ncurses/term.h>
++#elif defined(HAVE_TERM_H)
++#include <term.h>
++#endif
++#endif
++
+ int
+ main ()
+ {
+
+-attr_t foo
++void *foo = &(boolnames)
+
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14225: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:14491: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14228: \$? = $ac_status" >&5
++ echo "$as_me:14494: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14231: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14497: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14234: \$? = $ac_status" >&5
++ echo "$as_me:14500: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_result=yes
+ else
+@@ -14240,868 +14506,1570 @@
+ cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:14243: result: $cf_result" >&5
++echo "$as_me:14509: result: $cf_result" >&5
+ echo "${ECHO_T}$cf_result" >&6
++
+ if test $cf_result = yes ; then
+
+-cf_result=`echo "have_type_attr_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++cf_result=`echo "have_curses_data_boolnames" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+ cat >>confdefs.h <<EOF
+ #define $cf_result 1
+ EOF
+
+ else
+- cat >>confdefs.h <<EOF
+-#define attr_t long
+-EOF
+-
+-fi
+-
+-# This is needed on Tru64 5.0 to declare mbstate_t
+-echo "$as_me:14261: checking if we must include wchar.h to declare mbstate_t" >&5
+-echo $ECHO_N "checking if we must include wchar.h to declare mbstate_t... $ECHO_C" >&6
+-if test "${cf_cv_mbstate_t+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
++ echo "$as_me:14521: checking for data boolnames in library" >&5
++echo $ECHO_N "checking for data boolnames in library... $ECHO_C" >&6
++ # BSD linkers insist on making weak linkage, but resolve at runtime.
++ if test "$cross_compiling" = yes; then
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 14268 "configure"
++ # cross-compiling
++ cat >conftest.$ac_ext <<_ACEOF
++#line 14528 "configure"
+ #include "confdefs.h"
+
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <stdio.h>
+-#ifdef HAVE_LIBUTF8_H
+-#include <libutf8.h>
++#ifdef HAVE_XCURSES
++#include <xcurses.h>
++char * XCursesProgramName = "test";
++#else
++#include <${cf_cv_ncurses_header:-curses.h}>
++#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
++#include <ncursesw/term.h>
++#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
++#include <ncurses/term.h>
++#elif defined(HAVE_TERM_H)
++#include <term.h>
++#endif
+ #endif
++
++extern char boolnames;
+ int
+ main ()
+ {
+-mbstate_t state
++
++ do {
++ void *foo = &(boolnames);
++ ${cf_cv_main_return:-return}(foo == 0);
++ } while (0)
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14286: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:14560: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14289: \$? = $ac_status" >&5
++ echo "$as_me:14563: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14292: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:14566: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14295: \$? = $ac_status" >&5
++ echo "$as_me:14569: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_mbstate_t=no
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
++cf_result=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 14581 "configure"
++#include "confdefs.h"
++
++#ifdef HAVE_XCURSES
++#include <xcurses.h>
++char * XCursesProgramName = "test";
++#else
++#include <${cf_cv_ncurses_header:-curses.h}>
++#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
++#include <ncursesw/term.h>
++#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
++#include <ncurses/term.h>
++#elif defined(HAVE_TERM_H)
++#include <term.h>
++#endif
++#endif
++
++extern char boolnames;
++int main(void)
++{
++ void *foo = &(boolnames);
++ ${cf_cv_main_return:-return}(foo == 0);
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:14606: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:14609: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (eval echo "$as_me:14611: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:14614: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_result=yes
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_result=no
++fi
++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++ echo "$as_me:14625: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++ if test $cf_result = yes ; then
++
++cf_result=`echo "decl_curses_data_boolnames" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++ cat >>confdefs.h <<EOF
++#define $cf_result 1
++EOF
++
++ fi
++fi
++
++echo "$as_me:14638: checking for data boolfnames declaration in ${cf_cv_ncurses_header:-curses.h}" >&5
++echo $ECHO_N "checking for data boolfnames declaration in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
++
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14302 "configure"
++#line 14642 "configure"
+ #include "confdefs.h"
+
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <stdio.h>
+-#include <wchar.h>
+-#ifdef HAVE_LIBUTF8_H
+-#include <libutf8.h>
++#ifdef HAVE_XCURSES
++#include <xcurses.h>
++char * XCursesProgramName = "test";
++#else
++#include <${cf_cv_ncurses_header:-curses.h}>
++#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
++#include <ncursesw/term.h>
++#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
++#include <ncurses/term.h>
++#elif defined(HAVE_TERM_H)
++#include <term.h>
++#endif
+ #endif
++
+ int
+ main ()
+ {
+-mbstate_t value
++
++void *foo = &(boolfnames)
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14321: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:14670: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14324: \$? = $ac_status" >&5
++ echo "$as_me:14673: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14327: \"$ac_try\"") >&5
++ { (eval echo "$as_me:14676: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14330: \$? = $ac_status" >&5
++ echo "$as_me:14679: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_mbstate_t=yes
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_mbstate_t=unknown
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
++cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:14342: result: $cf_cv_mbstate_t" >&5
+-echo "${ECHO_T}$cf_cv_mbstate_t" >&6
+-
+-if test "$cf_cv_mbstate_t" = yes ; then
+- cat >>confdefs.h <<\EOF
+-#define NEED_WCHAR_H 1
+-EOF
++echo "$as_me:14688: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
+
+- NEED_WCHAR_H=1
+-fi
++if test $cf_result = yes ; then
+
+-# if we do not find mbstate_t in either place, use substitution to provide a fallback.
+-if test "$cf_cv_mbstate_t" = unknown ; then
+- NCURSES_MBSTATE_T=1
+-fi
++cf_result=`echo "have_curses_data_boolfnames" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+-# if we find mbstate_t in either place, use substitution to provide a fallback.
+-if test "$cf_cv_mbstate_t" != unknown ; then
+- NCURSES_OK_MBSTATE_T=1
+-fi
++ cat >>confdefs.h <<EOF
++#define $cf_result 1
++EOF
+
+-# This is needed on Tru64 5.0 to declare wchar_t
+-echo "$as_me:14364: checking if we must include wchar.h to declare wchar_t" >&5
+-echo $ECHO_N "checking if we must include wchar.h to declare wchar_t... $ECHO_C" >&6
+-if test "${cf_cv_wchar_t+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
++ echo "$as_me:14700: checking for data boolfnames in library" >&5
++echo $ECHO_N "checking for data boolfnames in library... $ECHO_C" >&6
++ # BSD linkers insist on making weak linkage, but resolve at runtime.
++ if test "$cross_compiling" = yes; then
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 14371 "configure"
++ # cross-compiling
++ cat >conftest.$ac_ext <<_ACEOF
++#line 14707 "configure"
+ #include "confdefs.h"
+
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <stdio.h>
+-#ifdef HAVE_LIBUTF8_H
+-#include <libutf8.h>
++#ifdef HAVE_XCURSES
++#include <xcurses.h>
++char * XCursesProgramName = "test";
++#else
++#include <${cf_cv_ncurses_header:-curses.h}>
++#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
++#include <ncursesw/term.h>
++#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
++#include <ncurses/term.h>
++#elif defined(HAVE_TERM_H)
++#include <term.h>
+ #endif
++#endif
++
++extern char boolfnames;
+ int
+ main ()
+ {
+-wchar_t state
++
++ do {
++ void *foo = &(boolfnames);
++ ${cf_cv_main_return:-return}(foo == 0);
++ } while (0)
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14389: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:14739: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14392: \$? = $ac_status" >&5
++ echo "$as_me:14742: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14395: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:14745: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14398: \$? = $ac_status" >&5
++ echo "$as_me:14748: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_wchar_t=no
++ cf_result=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 14405 "configure"
++cf_result=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 14760 "configure"
+ #include "confdefs.h"
+
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <stdio.h>
+-#include <wchar.h>
+-#ifdef HAVE_LIBUTF8_H
+-#include <libutf8.h>
++#ifdef HAVE_XCURSES
++#include <xcurses.h>
++char * XCursesProgramName = "test";
++#else
++#include <${cf_cv_ncurses_header:-curses.h}>
++#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
++#include <ncursesw/term.h>
++#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
++#include <ncurses/term.h>
++#elif defined(HAVE_TERM_H)
++#include <term.h>
+ #endif
+-int
+-main ()
++#endif
++
++extern char boolfnames;
++int main(void)
+ {
+-wchar_t value
+- ;
+- return 0;
++ void *foo = &(boolfnames);
++ ${cf_cv_main_return:-return}(foo == 0);
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14424: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:14785: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14427: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14430: \"$ac_try\"") >&5
++ echo "$as_me:14788: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (eval echo "$as_me:14790: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14433: \$? = $ac_status" >&5
++ echo "$as_me:14793: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_wchar_t=yes
++ cf_result=yes
+ else
+- echo "$as_me: failed program was:" >&5
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_wchar_t=unknown
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
++cf_result=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
++rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:14445: result: $cf_cv_wchar_t" >&5
+-echo "${ECHO_T}$cf_cv_wchar_t" >&6
++ echo "$as_me:14804: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++ if test $cf_result = yes ; then
+
+-if test "$cf_cv_wchar_t" = yes ; then
+- cat >>confdefs.h <<\EOF
+-#define NEED_WCHAR_H 1
++cf_result=`echo "decl_curses_data_boolfnames" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++ cat >>confdefs.h <<EOF
++#define $cf_result 1
+ EOF
+
+- NEED_WCHAR_H=1
++ fi
+ fi
+
+-# if we do not find wchar_t in either place, use substitution to provide a fallback.
+-if test "$cf_cv_wchar_t" = unknown ; then
+- NCURSES_WCHAR_T=1
+-fi
++if ( test "$GCC" = yes || test "$GXX" = yes )
++then
++echo "$as_me:14819: checking if you want to turn on gcc warnings" >&5
++echo $ECHO_N "checking if you want to turn on gcc warnings... $ECHO_C" >&6
+
+-# if we find wchar_t in either place, use substitution to provide a fallback.
+-if test "$cf_cv_wchar_t" != unknown ; then
+- NCURSES_OK_WCHAR_T=1
+-fi
++# Check whether --enable-warnings or --disable-warnings was given.
++if test "${enable_warnings+set}" = set; then
++ enableval="$enable_warnings"
++ test "$enableval" != yes && enableval=no
++ if test "$enableval" != "no" ; then
++ with_warnings=yes
++ else
++ with_warnings=no
++ fi
++else
++ enableval=no
++ with_warnings=no
+
+-# This is needed on Tru64 5.0 to declare wint_t
+-echo "$as_me:14467: checking if we must include wchar.h to declare wint_t" >&5
+-echo $ECHO_N "checking if we must include wchar.h to declare wint_t... $ECHO_C" >&6
+-if test "${cf_cv_wint_t+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++fi;
++echo "$as_me:14836: result: $with_warnings" >&5
++echo "${ECHO_T}$with_warnings" >&6
++if test "$with_warnings" = "yes"
++then
++
++if test "$GCC" = yes
++then
++cat > conftest.i <<EOF
++#ifndef GCC_PRINTF
++#define GCC_PRINTF 0
++#endif
++#ifndef GCC_SCANF
++#define GCC_SCANF 0
++#endif
++#ifndef GCC_NORETURN
++#define GCC_NORETURN /* nothing */
++#endif
++#ifndef GCC_UNUSED
++#define GCC_UNUSED /* nothing */
++#endif
++EOF
++if test "$GCC" = yes
++then
++ { echo "$as_me:14859: checking for $CC __attribute__ directives..." >&5
++echo "$as_me: checking for $CC __attribute__ directives..." >&6;}
++cat > conftest.$ac_ext <<EOF
++#line 14862 "${as_me:-configure}"
++#include "confdefs.h"
++#include "conftest.h"
++#include "conftest.i"
++#if GCC_PRINTF
++#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
++#else
++#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
++#endif
++#if GCC_SCANF
++#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
++#else
++#define GCC_SCANFLIKE(fmt,var) /*nothing*/
++#endif
++extern void wow(char *,...) GCC_SCANFLIKE(1,2);
++extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
++extern void foo(void) GCC_NORETURN;
++int main(int argc GCC_UNUSED, char *argv[] GCC_UNUSED) { return 0; }
++EOF
++ cf_printf_attribute=no
++ cf_scanf_attribute=no
++ for cf_attribute in scanf printf unused noreturn
++ do
++
++cf_ATTRIBUTE=`echo "$cf_attribute" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++ cf_directive="__attribute__(($cf_attribute))"
++ echo "checking for $CC $cf_directive" 1>&5
++
++ case $cf_attribute in #(vi
++ printf) #(vi
++ cf_printf_attribute=yes
++ cat >conftest.h <<EOF
++#define GCC_$cf_ATTRIBUTE 1
++EOF
++ ;;
++ scanf) #(vi
++ cf_scanf_attribute=yes
++ cat >conftest.h <<EOF
++#define GCC_$cf_ATTRIBUTE 1
++EOF
++ ;;
++ *) #(vi
++ cat >conftest.h <<EOF
++#define GCC_$cf_ATTRIBUTE $cf_directive
++EOF
++ ;;
++ esac
++
++ if { (eval echo "$as_me:14911: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:14914: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ test -n "$verbose" && echo "$as_me:14916: result: ... $cf_attribute" >&5
++echo "${ECHO_T}... $cf_attribute" >&6
++ cat conftest.h >>confdefs.h
++ case $cf_attribute in #(vi
++ noreturn) #(vi
++
++cat >>confdefs.h <<EOF
++#define GCC_NORETURN $cf_directive
++EOF
++
++ ;;
++ printf) #(vi
++ cf_value='/* nothing */'
++ if test "$cf_printf_attribute" != no ; then
++ cf_value='__attribute__((format(printf,fmt,var)))'
++
++cat >>confdefs.h <<\EOF
++#define GCC_PRINTF 1
++EOF
++
++ fi
++
++cat >>confdefs.h <<EOF
++#define GCC_PRINTFLIKE(fmt,var) $cf_value
++EOF
++
++ ;;
++ scanf) #(vi
++ cf_value='/* nothing */'
++ if test "$cf_scanf_attribute" != no ; then
++ cf_value='__attribute__((format(scanf,fmt,var)))'
++
++cat >>confdefs.h <<\EOF
++#define GCC_SCANF 1
++EOF
++
++ fi
++
++cat >>confdefs.h <<EOF
++#define GCC_SCANFLIKE(fmt,var) $cf_value
++EOF
++
++ ;;
++ unused) #(vi
++
++cat >>confdefs.h <<EOF
++#define GCC_UNUSED $cf_directive
++EOF
++
++ ;;
++ esac
++ fi
++ done
+ else
++ fgrep define conftest.i >>confdefs.h
++fi
++rm -rf conftest*
++fi
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 14474 "configure"
++INTEL_COMPILER=no
++
++if test "$GCC" = yes ; then
++ case $host_os in
++ linux*|gnu*)
++ echo "$as_me:14980: checking if this is really Intel C compiler" >&5
++echo $ECHO_N "checking if this is really Intel C compiler... $ECHO_C" >&6
++ cf_save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -no-gcc"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 14985 "configure"
+ #include "confdefs.h"
+
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <stdio.h>
+-#ifdef HAVE_LIBUTF8_H
+-#include <libutf8.h>
+-#endif
+ int
+ main ()
+ {
+-wint_t state
++
++#ifdef __INTEL_COMPILER
++#else
++make an error
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14492: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:15002: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14495: \$? = $ac_status" >&5
++ echo "$as_me:15005: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14498: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15008: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14501: \$? = $ac_status" >&5
++ echo "$as_me:15011: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_wint_t=no
++ INTEL_COMPILER=yes
++cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
++
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 14508 "configure"
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$cf_save_CFLAGS"
++ echo "$as_me:15022: result: $INTEL_COMPILER" >&5
++echo "${ECHO_T}$INTEL_COMPILER" >&6
++ ;;
++ esac
++fi
++
++CLANG_COMPILER=no
++
++if test "$GCC" = yes ; then
++ echo "$as_me:15031: checking if this is really Clang C compiler" >&5
++echo $ECHO_N "checking if this is really Clang C compiler... $ECHO_C" >&6
++ cf_save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -Qunused-arguments"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 15036 "configure"
+ #include "confdefs.h"
+
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <stdio.h>
+-#include <wchar.h>
+-#ifdef HAVE_LIBUTF8_H
+-#include <libutf8.h>
+-#endif
+ int
+ main ()
+ {
+-wint_t value
++
++#ifdef __clang__
++#else
++make an error
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14527: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:15053: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:14530: \$? = $ac_status" >&5
++ echo "$as_me:15056: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14533: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15059: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14536: \$? = $ac_status" >&5
++ echo "$as_me:15062: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_wint_t=yes
++ CLANG_COMPILER=yes
++cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
++
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_wint_t=unknown
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
++ CFLAGS="$cf_save_CFLAGS"
++ echo "$as_me:15073: result: $CLANG_COMPILER" >&5
++echo "${ECHO_T}$CLANG_COMPILER" >&6
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
++
++cat > conftest.$ac_ext <<EOF
++#line 15078 "${as_me:-configure}"
++int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
++EOF
++
++if test "$INTEL_COMPILER" = yes
++then
++# The "-wdXXX" options suppress warnings:
++# remark #1419: external declaration in primary source file
++# remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
++# remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
++# remark #193: zero used for undefined preprocessing identifier
++# remark #593: variable "curs_sb_left_arrow" was set but never used
++# remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
++# remark #869: parameter "tw" was never referenced
++# remark #981: operands are evaluated in unspecified order
++# warning #279: controlling expression is constant
++
++ { echo "$as_me:15095: checking for $CC warning options..." >&5
++echo "$as_me: checking for $CC warning options..." >&6;}
++ cf_save_CFLAGS="$CFLAGS"
++ EXTRA_CFLAGS="-Wall"
++ for cf_opt in \
++ wd1419 \
++ wd1683 \
++ wd1684 \
++ wd193 \
++ wd593 \
++ wd279 \
++ wd810 \
++ wd869 \
++ wd981
++ do
++ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
++ if { (eval echo "$as_me:15111: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:15114: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ test -n "$verbose" && echo "$as_me:15116: result: ... -$cf_opt" >&5
++echo "${ECHO_T}... -$cf_opt" >&6
++ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
++ fi
++ done
++ CFLAGS="$cf_save_CFLAGS"
++
++elif test "$GCC" = yes
++then
++ { echo "$as_me:15125: checking for $CC warning options..." >&5
++echo "$as_me: checking for $CC warning options..." >&6;}
++ cf_save_CFLAGS="$CFLAGS"
++ EXTRA_CFLAGS=
++ cf_warn_CONST=""
++ test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
++ for cf_opt in W Wall \
++ Wbad-function-cast \
++ Wcast-align \
++ Wcast-qual \
++ Winline \
++ Wmissing-declarations \
++ Wmissing-prototypes \
++ Wnested-externs \
++ Wpointer-arith \
++ Wshadow \
++ Wstrict-prototypes \
++ Wundef $cf_warn_CONST
++ do
++ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
++ if { (eval echo "$as_me:15145: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:15148: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ test -n "$verbose" && echo "$as_me:15150: result: ... -$cf_opt" >&5
++echo "${ECHO_T}... -$cf_opt" >&6
++ case $cf_opt in #(vi
++ Wcast-qual) #(vi
++ CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
++ ;;
++ Winline) #(vi
++ case $GCC_VERSION in
++ [34].*)
++ test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6
++
++echo "${as_me:-configure}:15161: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
++
++ continue;;
++ esac
++ ;;
++ Wpointer-arith) #(vi
++ case $GCC_VERSION in
++ [12].*)
++ test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6
++
++echo "${as_me:-configure}:15171: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
++
++ continue;;
++ esac
++ ;;
++ esac
++ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
++ fi
++ done
++ CFLAGS="$cf_save_CFLAGS"
+ fi
+-echo "$as_me:14548: result: $cf_cv_wint_t" >&5
+-echo "${ECHO_T}$cf_cv_wint_t" >&6
++rm -rf conftest*
+
+-if test "$cf_cv_wint_t" = yes ; then
+- cat >>confdefs.h <<\EOF
+-#define NEED_WCHAR_H 1
++fi
++fi
++
++echo "$as_me:15187: checking if you want to use dmalloc for testing" >&5
++echo $ECHO_N "checking if you want to use dmalloc for testing... $ECHO_C" >&6
++
++# Check whether --with-dmalloc or --without-dmalloc was given.
++if test "${with_dmalloc+set}" = set; then
++ withval="$with_dmalloc"
++
++cat >>confdefs.h <<EOF
++#define USE_DMALLOC 1
+ EOF
+
+- NEED_WCHAR_H=1
++ : ${with_cflags:=-g}
++ : ${with_no_leaks:=yes}
++ with_dmalloc=yes
++else
++ with_dmalloc=
++fi;
++echo "$as_me:15204: result: ${with_dmalloc:-no}" >&5
++echo "${ECHO_T}${with_dmalloc:-no}" >&6
++
++case .$with_cflags in #(vi
++.*-g*)
++ case .$CFLAGS in #(vi
++ .*-g*) #(vi
++ ;;
++ *)
++
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
++
++for cf_add_cflags in -g
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
++
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
++
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
++
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+
+-# if we do not find wint_t in either place, use substitution to provide a fallback.
+-if test "$cf_cv_wint_t" = unknown ; then
+- NCURSES_WINT_T=1
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
++
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++ ;;
++ esac
++ ;;
++esac
++
++if test "$with_dmalloc" = yes ; then
++ echo "$as_me:15298: checking for dmalloc.h" >&5
++echo $ECHO_N "checking for dmalloc.h... $ECHO_C" >&6
++if test "${ac_cv_header_dmalloc_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 15304 "configure"
++#include "confdefs.h"
++#include <dmalloc.h>
++_ACEOF
++if { (eval echo "$as_me:15308: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:15314: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ ac_cv_header_dmalloc_h=yes
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ ac_cv_header_dmalloc_h=no
+ fi
+-
+-# if we find wint_t in either place, use substitution to provide a fallback.
+-if test "$cf_cv_wint_t" != unknown ; then
+- NCURSES_OK_WINT_T=1
++rm -f conftest.err conftest.$ac_ext
+ fi
++echo "$as_me:15333: result: $ac_cv_header_dmalloc_h" >&5
++echo "${ECHO_T}$ac_cv_header_dmalloc_h" >&6
++if test $ac_cv_header_dmalloc_h = yes; then
+
+-if test "$NCURSES_OK_MBSTATE_T" = 0 ; then
+-
+-echo "$as_me:14571: checking for type mbstate_t in ${cf_cv_ncurses_header:-curses.h}" >&5
+-echo $ECHO_N "checking for type mbstate_t in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
++echo "$as_me:15337: checking for dmalloc_debug in -ldmalloc" >&5
++echo $ECHO_N "checking for dmalloc_debug in -ldmalloc... $ECHO_C" >&6
++if test "${ac_cv_lib_dmalloc_dmalloc_debug+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldmalloc $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14574 "configure"
++#line 15345 "configure"
+ #include "confdefs.h"
+
+-#ifndef _XOPEN_SOURCE_EXTENDED
+-#define _XOPEN_SOURCE_EXTENDED
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
+ #endif
+-#include <${cf_cv_ncurses_header:-curses.h}>
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char dmalloc_debug ();
+ int
+ main ()
+ {
+-
+-mbstate_t foo
+-
++dmalloc_debug ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14592: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:15364: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14595: \$? = $ac_status" >&5
++ echo "$as_me:15367: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14598: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:15370: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14601: \$? = $ac_status" >&5
++ echo "$as_me:15373: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_result=yes
++ ac_cv_lib_dmalloc_dmalloc_debug=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_result=no
++ac_cv_lib_dmalloc_dmalloc_debug=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:14610: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+-if test $cf_result = yes ; then
+-
+-cf_result=`echo "have_type_mbstate_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+-
+- cat >>confdefs.h <<EOF
+-#define $cf_result 1
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:15384: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
++echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_debug" >&6
++if test $ac_cv_lib_dmalloc_dmalloc_debug = yes; then
++ cat >>confdefs.h <<EOF
++#define HAVE_LIBDMALLOC 1
+ EOF
+
+-else
+- cat >>confdefs.h <<EOF
+-#define mbstate_t long
+-EOF
++ LIBS="-ldmalloc $LIBS"
+
+ fi
+
+ fi
+
+-if test "$NCURSES_OK_WCHAR_T" = 0 ; then
++fi
+
+-echo "$as_me:14631: checking for type wchar_t in ${cf_cv_ncurses_header:-curses.h}" >&5
+-echo $ECHO_N "checking for type wchar_t in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 14634 "configure"
+-#include "confdefs.h"
++echo "$as_me:15399: checking if you want to use dbmalloc for testing" >&5
++echo $ECHO_N "checking if you want to use dbmalloc for testing... $ECHO_C" >&6
+
+-#ifndef _XOPEN_SOURCE_EXTENDED
+-#define _XOPEN_SOURCE_EXTENDED
+-#endif
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-int
+-main ()
+-{
++# Check whether --with-dbmalloc or --without-dbmalloc was given.
++if test "${with_dbmalloc+set}" = set; then
++ withval="$with_dbmalloc"
+
+-wchar_t foo
++cat >>confdefs.h <<EOF
++#define USE_DBMALLOC 1
++EOF
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14652: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:14655: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14658: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:14661: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_result=yes
++ : ${with_cflags:=-g}
++ : ${with_no_leaks:=yes}
++ with_dbmalloc=yes
+ else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_result=no
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:14670: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+-if test $cf_result = yes ; then
++ with_dbmalloc=
++fi;
++echo "$as_me:15416: result: ${with_dbmalloc:-no}" >&5
++echo "${ECHO_T}${with_dbmalloc:-no}" >&6
+
+-cf_result=`echo "have_type_wchar_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++case .$with_cflags in #(vi
++.*-g*)
++ case .$CFLAGS in #(vi
++ .*-g*) #(vi
++ ;;
++ *)
+
+- cat >>confdefs.h <<EOF
+-#define $cf_result 1
+-EOF
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
+
+-else
+- cat >>confdefs.h <<EOF
+-#define wchar_t long
+-EOF
++for cf_add_cflags in -g
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+
+-fi
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
+
+-fi
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+
+-if test "$NCURSES_OK_WINT_T" = 0 ; then
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+
+-echo "$as_me:14691: checking for type wint_t in ${cf_cv_ncurses_header:-curses.h}" >&5
+-echo $ECHO_N "checking for type wint_t in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 14694 "configure"
+-#include "confdefs.h"
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+
+-#ifndef _XOPEN_SOURCE_EXTENDED
+-#define _XOPEN_SOURCE_EXTENDED
+-#endif
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-int
+-main ()
+-{
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+
+-wint_t foo
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14712: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:14715: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14718: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:14721: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_result=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_result=no
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:14730: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+-if test $cf_result = yes ; then
+
+-cf_result=`echo "have_type_wint_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++if test -n "$cf_new_cppflags" ; then
+
+- cat >>confdefs.h <<EOF
+-#define $cf_result 1
+-EOF
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++fi
+
+-else
+- cat >>confdefs.h <<EOF
+-#define wint_t long
+-EOF
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++ ;;
++ esac
++ ;;
++esac
+
++if test "$with_dbmalloc" = yes ; then
++ echo "$as_me:15510: checking for dbmalloc.h" >&5
++echo $ECHO_N "checking for dbmalloc.h... $ECHO_C" >&6
++if test "${ac_cv_header_dbmalloc_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++#line 15516 "configure"
++#include "confdefs.h"
++#include <dbmalloc.h>
++_ACEOF
++if { (eval echo "$as_me:15520: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ egrep -v '^ *\+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:15526: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ ac_cv_header_dbmalloc_h=yes
++else
++ echo "$as_me: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ ac_cv_header_dbmalloc_h=no
+ fi
+-
++rm -f conftest.err conftest.$ac_ext
+ fi
++echo "$as_me:15545: result: $ac_cv_header_dbmalloc_h" >&5
++echo "${ECHO_T}$ac_cv_header_dbmalloc_h" >&6
++if test $ac_cv_header_dbmalloc_h = yes; then
+
+-echo "$as_me:14749: checking for data boolnames declaration in ${cf_cv_ncurses_header:-curses.h}" >&5
+-echo $ECHO_N "checking for data boolnames declaration in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
+-
++echo "$as_me:15549: checking for debug_malloc in -ldbmalloc" >&5
++echo $ECHO_N "checking for debug_malloc in -ldbmalloc... $ECHO_C" >&6
++if test "${ac_cv_lib_dbmalloc_debug_malloc+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldbmalloc $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 14753 "configure"
++#line 15557 "configure"
+ #include "confdefs.h"
+
+-#ifdef HAVE_XCURSES
+-#include <xcurses.h>
+-char * XCursesProgramName = "test";
+-#else
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
+-#include <ncursesw/term.h>
+-#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
+-#include <ncurses/term.h>
+-#elif defined(HAVE_TERM_H)
+-#include <term.h>
+-#endif
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
+ #endif
+-
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char debug_malloc ();
+ int
+ main ()
+ {
+-
+-void *foo = &(boolnames)
+-
++debug_malloc ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14781: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:15576: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14784: \$? = $ac_status" >&5
++ echo "$as_me:15579: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14787: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:15582: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14790: \$? = $ac_status" >&5
++ echo "$as_me:15585: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_result=yes
++ ac_cv_lib_dbmalloc_debug_malloc=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_result=no
++ac_cv_lib_dbmalloc_debug_malloc=no
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:14799: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:15596: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
++echo "${ECHO_T}$ac_cv_lib_dbmalloc_debug_malloc" >&6
++if test $ac_cv_lib_dbmalloc_debug_malloc = yes; then
++ cat >>confdefs.h <<EOF
++#define HAVE_LIBDBMALLOC 1
++EOF
+
+-if test $cf_result = yes ; then
++ LIBS="-ldbmalloc $LIBS"
+
+-cf_result=`echo "have_curses_data_boolnames" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++fi
+
+- cat >>confdefs.h <<EOF
+-#define $cf_result 1
++fi
++
++fi
++
++echo "$as_me:15611: checking if you want to use valgrind for testing" >&5
++echo $ECHO_N "checking if you want to use valgrind for testing... $ECHO_C" >&6
++
++# Check whether --with-valgrind or --without-valgrind was given.
++if test "${with_valgrind+set}" = set; then
++ withval="$with_valgrind"
++
++cat >>confdefs.h <<EOF
++#define USE_VALGRIND 1
+ EOF
+
++ : ${with_cflags:=-g}
++ : ${with_no_leaks:=yes}
++ with_valgrind=yes
+ else
+- echo "$as_me:14811: checking for data boolnames in library" >&5
+-echo $ECHO_N "checking for data boolnames in library... $ECHO_C" >&6
+- # BSD linkers insist on making weak linkage, but resolve at runtime.
+- if test "$cross_compiling" = yes; then
++ with_valgrind=
++fi;
++echo "$as_me:15628: result: ${with_valgrind:-no}" >&5
++echo "${ECHO_T}${with_valgrind:-no}" >&6
+
+- # cross-compiling
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 14818 "configure"
+-#include "confdefs.h"
++case .$with_cflags in #(vi
++.*-g*)
++ case .$CFLAGS in #(vi
++ .*-g*) #(vi
++ ;;
++ *)
+
+-#ifdef HAVE_XCURSES
+-#include <xcurses.h>
+-char * XCursesProgramName = "test";
+-#else
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
+-#include <ncursesw/term.h>
+-#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
+-#include <ncurses/term.h>
+-#elif defined(HAVE_TERM_H)
+-#include <term.h>
+-#endif
+-#endif
++cf_fix_cppflags=no
++cf_new_cflags=
++cf_new_cppflags=
++cf_new_extra_cppflags=
+
+-extern char boolnames;
+-int
+-main ()
+-{
++for cf_add_cflags in -g
++do
++case $cf_fix_cppflags in
++no)
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case $cf_add_cflags in
++ -D*)
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+
+- do {
+- void *foo = &(boolnames);
+- ${cf_cv_main_return:-return}(foo == 0);
+- } while (0)
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=yes
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:14850: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:14853: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:14856: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:14859: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_result=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_result=no
+-fi
+-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ if test $cf_fix_cppflags = yes ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ elif test "${cf_tst_cflags}" = "\"'" ; then
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
++ continue
++ fi
++ ;;
++ esac
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ case $cf_add_cflags in #(vi
++ -D*)
++ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 14871 "configure"
+-#include "confdefs.h"
++CPPFLAGS=`echo "$CPPFLAGS" | \
++ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
++ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+
+-#ifdef HAVE_XCURSES
+-#include <xcurses.h>
+-char * XCursesProgramName = "test";
+-#else
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
+-#include <ncursesw/term.h>
+-#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
+-#include <ncurses/term.h>
+-#elif defined(HAVE_TERM_H)
+-#include <term.h>
+-#endif
+-#endif
++ ;;
++ esac
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++yes)
++ cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+
+-extern char boolnames;
+-int main(void)
+-{
+- void *foo = &(boolnames);
+- ${cf_cv_main_return:-return}(foo == 0);
+-}
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:14896: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:14899: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:14901: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:14904: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_result=yes
+-else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_result=no
++ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
++
++ test "${cf_add_cflags}" != "${cf_tst_cflags}" \
++ && test -z "${cf_tst_cflags}" \
++ && cf_fix_cppflags=no
++ ;;
++esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
+ fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+ fi
+- echo "$as_me:14915: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+- if test $cf_result = yes ; then
+
+-cf_result=`echo "decl_curses_data_boolnames" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++if test -n "$cf_new_extra_cppflags" ; then
++
++ EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
++fi
++
++ ;;
++ esac
++ ;;
++esac
++
++echo "$as_me:15721: checking if you want to perform memory-leak testing" >&5
++echo $ECHO_N "checking if you want to perform memory-leak testing... $ECHO_C" >&6
++
++# Check whether --enable-leaks or --disable-leaks was given.
++if test "${enable_leaks+set}" = set; then
++ enableval="$enable_leaks"
++ if test "x$enableval" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi
++else
++ : ${with_no_leaks:=no}
++fi;
++echo "$as_me:15731: result: $with_no_leaks" >&5
++echo "${ECHO_T}$with_no_leaks" >&6
++
++if test "$with_no_leaks" = yes ; then
+
+- cat >>confdefs.h <<EOF
+-#define $cf_result 1
++cat >>confdefs.h <<\EOF
++#define NO_LEAKS 1
++EOF
++
++cat >>confdefs.h <<\EOF
++#define YY_NO_LEAKS 1
+ EOF
+
+- fi
+ fi
+
+-echo "$as_me:14928: checking for data boolfnames declaration in ${cf_cv_ncurses_header:-curses.h}" >&5
+-echo $ECHO_N "checking for data boolfnames declaration in ${cf_cv_ncurses_header:-curses.h}... $ECHO_C" >&6
++LD_RPATH_OPT=
++echo "$as_me:15747: checking for an rpath option" >&5
++echo $ECHO_N "checking for an rpath option... $ECHO_C" >&6
++case $cf_cv_system_name in #(vi
++irix*) #(vi
++ if test "$GCC" = yes; then
++ LD_RPATH_OPT="-Wl,-rpath,"
++ else
++ LD_RPATH_OPT="-rpath "
++ fi
++ ;;
++linux*|gnu*|k*bsd*-gnu) #(vi
++ LD_RPATH_OPT="-Wl,-rpath,"
++ ;;
++openbsd[2-9].*|mirbsd*) #(vi
++ LD_RPATH_OPT="-Wl,-rpath,"
++ ;;
++dragonfly*|freebsd*) #(vi
++ LD_RPATH_OPT="-rpath "
++ ;;
++netbsd*) #(vi
++ LD_RPATH_OPT="-Wl,-rpath,"
++ ;;
++osf*|mls+*) #(vi
++ LD_RPATH_OPT="-rpath "
++ ;;
++solaris2*) #(vi
++ LD_RPATH_OPT="-R"
++ ;;
++*)
++ ;;
++esac
++echo "$as_me:15778: result: $LD_RPATH_OPT" >&5
++echo "${ECHO_T}$LD_RPATH_OPT" >&6
+
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 14932 "configure"
++case "x$LD_RPATH_OPT" in #(vi
++x-R*)
++ echo "$as_me:15783: checking if we need a space after rpath option" >&5
++echo $ECHO_N "checking if we need a space after rpath option... $ECHO_C" >&6
++ cf_save_LIBS="$LIBS"
++ LIBS="${LD_RPATH_OPT}$libdir $LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 15788 "configure"
+ #include "confdefs.h"
+
+-#ifdef HAVE_XCURSES
+-#include <xcurses.h>
+-char * XCursesProgramName = "test";
+-#else
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
+-#include <ncursesw/term.h>
+-#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
+-#include <ncurses/term.h>
+-#elif defined(HAVE_TERM_H)
+-#include <term.h>
+-#endif
+-#endif
+-
+ int
+ main ()
+ {
+
+-void *foo = &(boolfnames)
+-
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:14960: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:15800: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:14963: \$? = $ac_status" >&5
++ echo "$as_me:15803: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:14966: \"$ac_try\"") >&5
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:15806: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:14969: \$? = $ac_status" >&5
++ echo "$as_me:15809: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_result=yes
++ cf_rpath_space=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_result=no
++cf_rpath_space=yes
+ fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:14978: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++ LIBS="$cf_save_LIBS"
++ echo "$as_me:15819: result: $cf_rpath_space" >&5
++echo "${ECHO_T}$cf_rpath_space" >&6
++ test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
++ ;;
++esac
+
+-if test $cf_result = yes ; then
++echo "$as_me:15825: checking if rpath-hack should be disabled" >&5
++echo $ECHO_N "checking if rpath-hack should be disabled... $ECHO_C" >&6
+
+-cf_result=`echo "have_curses_data_boolfnames" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++# Check whether --enable-rpath-hack or --disable-rpath-hack was given.
++if test "${enable_rpath_hack+set}" = set; then
++ enableval="$enable_rpath_hack"
++ test "$enableval" != no && enableval=yes
++ if test "$enableval" != "yes" ; then
++ cf_disable_rpath_hack=yes
++ else
++ cf_disable_rpath_hack=no
++ fi
++else
++ enableval=yes
++ cf_disable_rpath_hack=no
+
+- cat >>confdefs.h <<EOF
+-#define $cf_result 1
+-EOF
++fi;
++echo "$as_me:15842: result: $cf_disable_rpath_hack" >&5
++echo "${ECHO_T}$cf_disable_rpath_hack" >&6
++if test "$cf_disable_rpath_hack" = no ; then
++
++echo "$as_me:15846: checking for updated LDFLAGS" >&5
++echo $ECHO_N "checking for updated LDFLAGS... $ECHO_C" >&6
++if test -n "$LD_RPATH_OPT" ; then
++ echo "$as_me:15849: result: maybe" >&5
++echo "${ECHO_T}maybe" >&6
+
++ for ac_prog in ldd
++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:15856: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_cf_ldd_prog+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- echo "$as_me:14990: checking for data boolfnames in library" >&5
+-echo $ECHO_N "checking for data boolfnames in library... $ECHO_C" >&6
+- # BSD linkers insist on making weak linkage, but resolve at runtime.
+- if test "$cross_compiling" = yes; then
++ if test -n "$cf_ldd_prog"; then
++ ac_cv_prog_cf_ldd_prog="$cf_ldd_prog" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_cf_ldd_prog="$ac_prog"
++echo "$as_me:15871: found $ac_dir/$ac_word" >&5
++break
++done
+
+- # cross-compiling
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 14997 "configure"
+-#include "confdefs.h"
++fi
++fi
++cf_ldd_prog=$ac_cv_prog_cf_ldd_prog
++if test -n "$cf_ldd_prog"; then
++ echo "$as_me:15879: result: $cf_ldd_prog" >&5
++echo "${ECHO_T}$cf_ldd_prog" >&6
++else
++ echo "$as_me:15882: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
+
+-#ifdef HAVE_XCURSES
+-#include <xcurses.h>
+-char * XCursesProgramName = "test";
+-#else
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
+-#include <ncursesw/term.h>
+-#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
+-#include <ncurses/term.h>
+-#elif defined(HAVE_TERM_H)
+-#include <term.h>
+-#endif
+-#endif
++ test -n "$cf_ldd_prog" && break
++done
++test -n "$cf_ldd_prog" || cf_ldd_prog="no"
+
+-extern char boolfnames;
++ cf_rpath_list="/usr/lib /lib"
++ if test "$cf_ldd_prog" != no
++ then
++ cf_rpath_oops=
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 15896 "configure"
++#include "confdefs.h"
++#include <stdio.h>
+ int
+ main ()
+ {
+-
+- do {
+- void *foo = &(boolfnames);
+- ${cf_cv_main_return:-return}(foo == 0);
+- } while (0)
+-
++printf("Hello");
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:15029: \"$ac_link\"") >&5
++if { (eval echo "$as_me:15908: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:15032: \$? = $ac_status" >&5
++ echo "$as_me:15911: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:15035: \"$ac_try\"") >&5
++ { (eval echo "$as_me:15914: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:15038: \$? = $ac_status" >&5
++ echo "$as_me:15917: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_result=yes
++ cf_rpath_oops=`$cf_ldd_prog conftest$ac_exeext | fgrep ' not found' | sed -e 's% =>.*$%%' |sort -u`
++ cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[ ]/%/%' -e 's%/[^/][^/]*$%%' |sort -u`
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_result=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 15050 "configure"
+-#include "confdefs.h"
++ # If we passed the link-test, but get a "not found" on a given library,
++ # this could be due to inept reconfiguration of gcc to make it only
++ # partly honor /usr/local/lib (or whatever). Sometimes this behavior
++ # is intentional, e.g., installing gcc in /usr/bin and suppressing the
++ # /usr/local libraries.
++ if test -n "$cf_rpath_oops"
++ then
++ for cf_rpath_src in $cf_rpath_oops
++ do
++ for cf_rpath_dir in \
++ /usr/local \
++ /usr/pkg \
++ /opt/sfw
++ do
++ if test -f $cf_rpath_dir/lib/$cf_rpath_src
++ then
++ test -n "$verbose" && echo " ...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src" 1>&6
++
++echo "${as_me:-configure}:15945: testing ...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src ..." 1>&5
++
++ LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib"
++ break
++ fi
++ done
++ done
++ fi
++ fi
+
+-#ifdef HAVE_XCURSES
+-#include <xcurses.h>
+-char * XCursesProgramName = "test";
+-#else
+-#include <${cf_cv_ncurses_header:-curses.h}>
+-#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
+-#include <ncursesw/term.h>
+-#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
+-#include <ncurses/term.h>
+-#elif defined(HAVE_TERM_H)
+-#include <term.h>
+-#endif
+-#endif
++ test -n "$verbose" && echo " ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS" 1>&6
+
+-extern char boolfnames;
+-int main(void)
+-{
+- void *foo = &(boolfnames);
+- ${cf_cv_main_return:-return}(foo == 0);
+-}
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:15075: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:15078: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:15080: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:15083: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_result=yes
+-else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_result=no
+-fi
+-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+-fi
+- echo "$as_me:15094: result: $cf_result" >&5
+-echo "${ECHO_T}$cf_result" >&6
+- if test $cf_result = yes ; then
++echo "${as_me:-configure}:15957: testing ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5
+
+-cf_result=`echo "decl_curses_data_boolfnames" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++test -n "$verbose" && echo " ...checking LDFLAGS $LDFLAGS" 1>&6
+
+- cat >>confdefs.h <<EOF
+-#define $cf_result 1
+-EOF
++echo "${as_me:-configure}:15961: testing ...checking LDFLAGS $LDFLAGS ..." 1>&5
++
++cf_rpath_dst=
++for cf_rpath_src in $LDFLAGS
++do
++ case $cf_rpath_src in #(vi
++ -L*) #(vi
++
++ # check if this refers to a directory which we will ignore
++ cf_rpath_skip=no
++ if test -n "$cf_rpath_list"
++ then
++ for cf_rpath_item in $cf_rpath_list
++ do
++ if test "x$cf_rpath_src" = "x-L$cf_rpath_item"
++ then
++ cf_rpath_skip=yes
++ break
++ fi
++ done
++ fi
++
++ if test "$cf_rpath_skip" = no
++ then
++ # transform the option
++ if test "$LD_RPATH_OPT" = "-R " ; then
++ cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%-R %"`
++ else
++ cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%$LD_RPATH_OPT%"`
++ fi
++
++ # if we have not already added this, add it now
++ cf_rpath_tst=`echo "$EXTRA_LDFLAGS" | sed -e "s%$cf_rpath_tmp %%"`
++ if test "x$cf_rpath_tst" = "x$EXTRA_LDFLAGS"
++ then
++ test -n "$verbose" && echo " ...Filter $cf_rpath_src ->$cf_rpath_tmp" 1>&6
++
++echo "${as_me:-configure}:15998: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5
++
++ EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
++ fi
++ fi
++ ;;
++ esac
++ cf_rpath_dst="$cf_rpath_dst $cf_rpath_src"
++done
++LDFLAGS=$cf_rpath_dst
++
++test -n "$verbose" && echo " ...checked LDFLAGS $LDFLAGS" 1>&6
++
++echo "${as_me:-configure}:16011: testing ...checked LDFLAGS $LDFLAGS ..." 1>&5
++
++test -n "$verbose" && echo " ...checking LIBS $LIBS" 1>&6
++
++echo "${as_me:-configure}:16015: testing ...checking LIBS $LIBS ..." 1>&5
++
++cf_rpath_dst=
++for cf_rpath_src in $LIBS
++do
++ case $cf_rpath_src in #(vi
++ -L*) #(vi
++
++ # check if this refers to a directory which we will ignore
++ cf_rpath_skip=no
++ if test -n "$cf_rpath_list"
++ then
++ for cf_rpath_item in $cf_rpath_list
++ do
++ if test "x$cf_rpath_src" = "x-L$cf_rpath_item"
++ then
++ cf_rpath_skip=yes
++ break
++ fi
++ done
++ fi
++
++ if test "$cf_rpath_skip" = no
++ then
++ # transform the option
++ if test "$LD_RPATH_OPT" = "-R " ; then
++ cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%-R %"`
++ else
++ cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%$LD_RPATH_OPT%"`
++ fi
++
++ # if we have not already added this, add it now
++ cf_rpath_tst=`echo "$EXTRA_LDFLAGS" | sed -e "s%$cf_rpath_tmp %%"`
++ if test "x$cf_rpath_tst" = "x$EXTRA_LDFLAGS"
++ then
++ test -n "$verbose" && echo " ...Filter $cf_rpath_src ->$cf_rpath_tmp" 1>&6
++
++echo "${as_me:-configure}:16052: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5
++
++ EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
++ fi
++ fi
++ ;;
++ esac
++ cf_rpath_dst="$cf_rpath_dst $cf_rpath_src"
++done
++LIBS=$cf_rpath_dst
++
++test -n "$verbose" && echo " ...checked LIBS $LIBS" 1>&6
++
++echo "${as_me:-configure}:16065: testing ...checked LIBS $LIBS ..." 1>&5
++
++ test -n "$verbose" && echo " ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS" 1>&6
++
++echo "${as_me:-configure}:16069: testing ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5
++
++fi
+
+- fi
+ fi
+
+ TEST_ARGS="$LIBS"
+@@ -15188,7 +16156,7 @@
+ : ${CONFIG_STATUS=./config.status}
+ ac_clean_files_save=$ac_clean_files
+ ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+-{ echo "$as_me:15191: creating $CONFIG_STATUS" >&5
++{ echo "$as_me:16159: creating $CONFIG_STATUS" >&5
+ echo "$as_me: creating $CONFIG_STATUS" >&6;}
+ cat >$CONFIG_STATUS <<_ACEOF
+ #! $SHELL
+@@ -15320,7 +16288,7 @@
+ cat >>$CONFIG_STATUS <<EOF
+ ac_cs_version="\\
+ config.status
+-configured by $0, generated by GNU Autoconf 2.52.20101002,
++configured by $0, generated by GNU Autoconf 2.52.20121002,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+@@ -15364,7 +16332,7 @@
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+- { { echo "$as_me:15367: error: ambiguous option: $1
++ { { echo "$as_me:16335: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&2;}
+@@ -15383,7 +16351,7 @@
+ ac_need_defaults=false;;
+
+ # This is an error.
+- -*) { { echo "$as_me:15386: error: unrecognized option: $1
++ -*) { { echo "$as_me:16354: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&2;}
+@@ -15402,7 +16370,7 @@
+ ## Running config.status. ##
+ ## ----------------------- ##
+
+-This file was extended by $as_me 2.52.20101002, executed with
++This file was extended by $as_me 2.52.20121002, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+@@ -15419,7 +16387,9 @@
+ #
+
+ AWK="$AWK"
++ECHO_CC="$ECHO_CC"
+ ECHO_LD="$ECHO_LD"
++SHOW_CC="$SHOW_LD"
+
+ EOF
+
+@@ -15431,7 +16401,7 @@
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+ "ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS ncurses_cfg.h:ncurses_tst.hin" ;;
+- *) { { echo "$as_me:15434: error: invalid argument: $ac_config_target" >&5
++ *) { { echo "$as_me:16404: error: invalid argument: $ac_config_target" >&5
+ echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+@@ -15490,6 +16460,7 @@
+ s,@bindir@,$bindir,;t t
+ s,@sbindir@,$sbindir,;t t
+ s,@libexecdir@,$libexecdir,;t t
++s,@datarootdir@,$datarootdir,;t t
+ s,@datadir@,$datadir,;t t
+ s,@sysconfdir@,$sysconfdir,;t t
+ s,@sharedstatedir@,$sharedstatedir,;t t
+@@ -15529,6 +16500,7 @@
+ s,@ac_ct_CC@,$ac_ct_CC,;t t
+ s,@EXEEXT@,$EXEEXT,;t t
+ s,@OBJEXT@,$OBJEXT,;t t
++s,@EXTRA_CPPFLAGS@,$EXTRA_CPPFLAGS,;t t
+ s,@CPP@,$CPP,;t t
+ s,@AWK@,$AWK,;t t
+ s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+@@ -15541,6 +16513,7 @@
+ s,@MAKE_LOWER_TAGS@,$MAKE_LOWER_TAGS,;t t
+ s,@MAKE_UPPER_TAGS@,$MAKE_UPPER_TAGS,;t t
+ s,@MATH_LIB@,$MATH_LIB,;t t
++s,@top_builddir@,$top_builddir,;t t
+ s,@CC_G_OPT@,$CC_G_OPT,;t t
+ s,@CC_SHARED_OPTS@,$CC_SHARED_OPTS,;t t
+ s,@DFT_DEP_SUFFIX@,$DFT_DEP_SUFFIX,;t t
+@@ -15561,25 +16534,29 @@
+ s,@TEST_ARGS@,$TEST_ARGS,;t t
+ s,@TEST_DEPS@,$TEST_DEPS,;t t
+ s,@TEST_LIBS@,$TEST_LIBS,;t t
+-s,@TINFO_ARGS@,$TINFO_ARGS,;t t
++s,@TINFO_LDFLAGS@,$TINFO_LDFLAGS,;t t
++s,@TINFO_LIBS@,$TINFO_LIBS,;t t
+ s,@cf_cv_abi_version@,$cf_cv_abi_version,;t t
+ s,@cf_cv_rel_version@,$cf_cv_rel_version,;t t
+-s,@EXTRA_CPPFLAGS@,$EXTRA_CPPFLAGS,;t t
++s,@PKG_CONFIG@,$PKG_CONFIG,;t t
++s,@ac_pt_PKG_CONFIG@,$ac_pt_PKG_CONFIG,;t t
+ s,@ECHO_LT@,$ECHO_LT,;t t
+ s,@ECHO_LD@,$ECHO_LD,;t t
+ s,@RULE_CC@,$RULE_CC,;t t
+ s,@SHOW_CC@,$SHOW_CC,;t t
+ s,@ECHO_CC@,$ECHO_CC,;t t
+-s,@EXTRA_CFLAGS@,$EXTRA_CFLAGS,;t t
++s,@NCURSES_WRAP_PREFIX@,$NCURSES_WRAP_PREFIX,;t t
+ s,@NCURSES_CONFIG@,$NCURSES_CONFIG,;t t
+-s,@PKG_CONFIG@,$PKG_CONFIG,;t t
+-s,@ac_pt_PKG_CONFIG@,$ac_pt_PKG_CONFIG,;t t
++s,@ac_ct_NCURSES_CONFIG@,$ac_ct_NCURSES_CONFIG,;t t
+ s,@X_CFLAGS@,$X_CFLAGS,;t t
+ s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+ s,@X_LIBS@,$X_LIBS,;t t
+ s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+ s,@XCURSES_CONFIG@,$XCURSES_CONFIG,;t t
+-s,@NCURSES_WRAP_PREFIX@,$NCURSES_WRAP_PREFIX,;t t
++s,@ac_ct_XCURSES_CONFIG@,$ac_ct_XCURSES_CONFIG,;t t
++s,@EXTRA_CFLAGS@,$EXTRA_CFLAGS,;t t
++s,@cf_ldd_prog@,$cf_ldd_prog,;t t
++s,@EXTRA_LDFLAGS@,$EXTRA_LDFLAGS,;t t
+ CEOF
+
+ EOF
+@@ -15694,7 +16671,7 @@
+ esac
+
+ if test x"$ac_file" != x-; then
+- { echo "$as_me:15697: creating $ac_file" >&5
++ { echo "$as_me:16674: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+@@ -15712,7 +16689,7 @@
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:15715: error: cannot find input file: $f" >&5
++ test -f "$f" || { { echo "$as_me:16692: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+@@ -15725,13 +16702,45 @@
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+- { { echo "$as_me:15728: error: cannot find input file: $f" >&5
++ { { echo "$as_me:16705: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ EOF
++cat >>$CONFIG_STATUS <<\EOF
++ ac_warn_datarootdir=no
++ if test x"$ac_file" != x-; then
++ for ac_item in $ac_file_inputs
++ do
++ ac_seen=`grep '@\(datadir\|mandir\|infodir\)@' $ac_item`
++ if test -n "$ac_seen"; then
++ ac_used=`grep '@datarootdir@' $ac_item`
++ if test -z "$ac_used"; then
++ { echo "$as_me:16721: WARNING: datarootdir was used implicitly but not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: datarootdir was used implicitly but not set:
++$ac_seen" >&2;}
++ ac_warn_datarootdir=yes
++ fi
++ fi
++ ac_seen=`grep '${datarootdir}' $ac_item`
++ if test -n "$ac_seen"; then
++ { echo "$as_me:16730: WARNING: datarootdir was used explicitly but not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: datarootdir was used explicitly but not set:
++$ac_seen" >&2;}
++ ac_warn_datarootdir=yes
++ fi
++ done
++ fi
++
++if test "x$ac_warn_datarootdir" = xyes; then
++ ac_sed_cmds="$ac_sed_cmds | sed -e 's,@datarootdir@,\${prefix}/share,g' -e 's,\${datarootdir},\${prefix}/share,g'"
++fi
++
++EOF
+ cat >>$CONFIG_STATUS <<EOF
+ sed "$ac_vpsub
+ $extrasub
+@@ -15746,11 +16755,35 @@
+ " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+- mv $tmp/out $ac_file
++ cp $tmp/out $ac_file
++
++ for ac_name in prefix exec_prefix datarootdir
++ do
++ ac_seen=`fgrep -n '${'$ac_name'[:=].*}' $ac_file`
++ if test -n "$ac_seen"; then
++ ac_init=`egrep '[ ]*'$ac_name'[ ]*=' $ac_file`
++ if test -z "$ac_init"; then
++ ac_seen=`echo "$ac_seen" |sed -e 's,^,'$ac_file':,'`
++ { echo "$as_me:16767: WARNING: Variable $ac_name is used but was not set:
++$ac_seen" >&5
++echo "$as_me: WARNING: Variable $ac_name is used but was not set:
++$ac_seen" >&2;}
++ fi
++ fi
++ done
++ egrep -n '@[a-z_][a-z_0-9]+@' $ac_file >$tmp/out
++ egrep -n '@[A-Z_][A-Z_0-9]+@' $ac_file >>$tmp/out
++ if test -s $tmp/out; then
++ ac_seen=`sed -e 's,^,'$ac_file':,' < $tmp/out`
++ { echo "$as_me:16778: WARNING: Some variables may not be substituted:
++$ac_seen" >&5
++echo "$as_me: WARNING: Some variables may not be substituted:
++$ac_seen" >&2;}
++ fi
+ else
+ cat $tmp/out
+- rm -f $tmp/out
+ fi
++ rm -f $tmp/out
+
+ done
+ EOF
+@@ -15791,7 +16824,7 @@
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+- test x"$ac_file" != x- && { echo "$as_me:15794: creating $ac_file" >&5
++ test x"$ac_file" != x- && { echo "$as_me:16827: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+@@ -15802,7 +16835,7 @@
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:15805: error: cannot find input file: $f" >&5
++ test -f "$f" || { { echo "$as_me:16838: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+@@ -15815,7 +16848,7 @@
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+- { { echo "$as_me:15818: error: cannot find input file: $f" >&5
++ { { echo "$as_me:16851: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+@@ -15873,7 +16906,7 @@
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+- { echo "$as_me:15876: $ac_file is unchanged" >&5
++ { echo "$as_me:16909: $ac_file is unchanged" >&5
+ echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+@@ -15949,7 +16982,8 @@
+ \$(MODEL)/$N.o : \$(srcdir)/$N.c \\
+ \$(srcdir)/test.priv.h \\
+ ncurses_cfg.h
+- @echo compiling $N; \$(CC) -c \$(CFLAGS_DEFAULT) \$(srcdir)/$N.c
++ $SHOW_CC
++ $ECHO_CC\$(CC) -c \$(CFLAGS_DEFAULT) \$(srcdir)/$N.c
+ TEST_EOF
+ done
+
+Index: test/configure.in
+Prereq: 1.90
+--- ncurses-5.9/test/configure.in 2011-03-22 09:15:08.000000000 +0000
++++ ncurses-5.9-20130504/test/configure.in 2013-04-27 19:45:29.000000000 +0000
+@@ -1,5 +1,5 @@
+ dnl***************************************************************************
+-dnl Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++dnl Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ dnl *
+ dnl Permission is hereby granted, free of charge, to any person obtaining a *
+ dnl copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ dnl
+ dnl Author: Thomas E. Dickey 1996, etc.
+ dnl
+-dnl $Id: configure.in,v 1.90 2011/03/22 09:15:08 tom Exp $
++dnl $Id: configure.in,v 1.111 2013/04/27 19:45:29 tom Exp $
+ dnl This is a simple configuration-script for the ncurses test programs that
+ dnl allows the test-directory to be separately configured against a reference
+ dnl system (i.e., sysvr4 curses)
+@@ -38,7 +38,7 @@
+ dnl
+ dnl See http://invisible-island.net/autoconf/ for additional information.
+ dnl ---------------------------------------------------------------------------
+-AC_PREREQ(2.13.20020210)
++AC_PREREQ(2.52.20030208)
+ AC_INIT(ncurses.c)
+ AC_CONFIG_HEADER(ncurses_cfg.h:ncurses_tst.hin)
+
+@@ -49,7 +49,7 @@
+ AC_ARG_PROGRAM
+
+ AC_PROG_MAKE_SET
+-AC_PROG_CC
++CF_PROG_CC
+ AC_PROG_CPP
+ AC_PROG_AWK
+ CF_PROG_INSTALL
+@@ -60,6 +60,7 @@
+ AC_SUBST(MATH_LIB)
+
+ dnl Things that we don't need (or must override) if we're not building ncurses
++CF_TOP_BUILDDIR
+ CC_G_OPT="-g" AC_SUBST(CC_G_OPT)
+ CC_SHARED_OPTS=unknown AC_SUBST(CC_SHARED_OPTS)
+ CPPFLAGS="$CPPFLAGS" AC_SUBST(CPPFLAGS)
+@@ -81,7 +82,8 @@
+ TEST_ARGS="" AC_SUBST(TEST_ARGS)
+ TEST_DEPS="" AC_SUBST(TEST_DEPS)
+ TEST_LIBS="" AC_SUBST(TEST_LIBS)
+-TINFO_ARGS='$(LIBS_CURSES)' AC_SUBST(TINFO_ARGS)
++TINFO_LDFLAGS='' AC_SUBST(TINFO_LDFLAGS)
++TINFO_LIBS='$(LIBS_CURSES)' AC_SUBST(TINFO_LIBS)
+ cf_cv_abi_version="" AC_SUBST(cf_cv_abi_version)
+ cf_cv_rel_version="" AC_SUBST(cf_cv_rel_version)
+
+@@ -91,55 +93,38 @@
+ AC_EXEEXT
+ AC_OBJEXT
+
+-CF_ANSI_CC_REQD
+ CF_GCC_ATTRIBUTES
+ CF_XOPEN_SOURCE
+-AC_C_CONST
+ CF_SIG_ATOMIC_T
+
++dnl ---------------------------------------------------------------------------
++CF_HELP_MESSAGE(General Options:)
++CF_PKG_CONFIG
+ CF_DISABLE_ECHO
+-CF_ENABLE_WARNINGS
+
+-CF_DISABLE_LEAKS
+-CF_WITH_CURSES_DIR
++dnl ---------------------------------------------------------------------------
++CF_HELP_MESSAGE(Curses Version-dependent Options:)
++CF_NCURSES_WRAP_PREFIX
+
+-dnl SunOS 4.x
+-AC_ARG_WITH(5lib,
+- [ --with-5lib use SunOS sysv-libraries],
+- [LIBS="-L/usr/5lib $LIBS"
+- CPPFLAGS="$CPPFLAGS -I/usr/5include"])
++AC_MSG_CHECKING(if you want to check for wide-character functions)
++CF_ARG_DISABLE(widec,
++ [ --disable-widec disable checks for wide-character functions],
++ cf_enable_widec=no,
++ cf_enable_widec=yes,
++ yes)
++AC_MSG_RESULT($cf_enable_widec)
+
+ dnl ---------------------------------------------------------------------------
+-dnl NcursesW, installed in conventional location
+-AC_ARG_WITH(ncursesw,
+- [ --with-ncursesw use wide ncurses-libraries (installed)],
+- [cf_cv_screen=ncursesw],[
+-
+-dnl Ncurses, installed in conventional location
+-AC_ARG_WITH(ncurses,
+- [ --with-ncurses use ncurses-libraries (installed)],
+- [cf_cv_screen=ncurses],[
+-
+-AC_ARG_WITH(pdcurses,
+- [ --with-pdcurses compile/link with pdcurses X11 library],
+- [cf_cv_screen=pdcurses])])])
++CF_HELP_MESSAGE(Curses Version-dependent Options:)
++CF_WITH_NCURSES_ETC
+
+ case $cf_cv_screen in
+-curses)
+- CF_CURSES_CONFIG
++curses|curses_*)
+ CF_NETBSD_FORM_H
+ CF_NETBSD_MENU_H
+ ;;
+-ncurses)
+- CF_NCURSES_CONFIG
+- ;;
+ ncursesw)
+ cf_cv_libtype=w
+- CF_UTF8_LIB
+- CF_NCURSES_CONFIG(ncursesw)
+- ;;
+-pdcurses) #(vi
+- CF_PDCURSES_X11
+ ;;
+ esac
+
+@@ -153,9 +138,12 @@
+ ;;
+ *)
+ # look for curses-related libraries
+- AC_CHECK_LIB(panel$cf_cv_libtype,new_panel)
+- AC_CHECK_LIB(menu$cf_cv_libtype,menu_driver)
+- AC_CHECK_LIB(form$cf_cv_libtype,form_driver)
++ : ${cf_panel_lib:=panel}
++ : ${cf_menu_lib:=menu}
++ : ${cf_form_lib:=form}
++ AC_CHECK_LIB($cf_panel_lib$cf_cv_libtype,new_panel)
++ AC_CHECK_LIB($cf_menu_lib$cf_cv_libtype,menu_driver)
++ AC_CHECK_LIB($cf_form_lib$cf_cv_libtype,form_driver)
+
+ # look for curses-related headers
+ AC_CHECK_HEADERS( \
+@@ -169,8 +157,6 @@
+ ;;
+ esac
+
+-AC_TYPE_SIGNAL
+-
+ AC_STDC_HEADERS
+ AC_HEADER_TIME
+ AC_CHECK_HEADERS( \
+@@ -185,20 +171,27 @@
+ unistd.h \
+ )
+
++CF_GETOPT_HEADER
++
+ AC_CHECK_FUNCS( \
+ gettimeofday \
++)
++
++if test "$cf_enable_widec" = yes; then
++AC_CHECK_FUNCS( \
+ mblen \
+ mbrlen \
+ mbrtowc \
+ mbsrtowcs \
+ mbstowcs \
+ mbtowc \
+-strdup \
+ wcsrtombs \
+ wcstombs \
+ )
++fi
+
+ CF_CURSES_FUNCS( \
++assume_default_colors \
+ chgat \
+ color_set \
+ filter \
+@@ -225,61 +218,104 @@
+ tigetstr \
+ typeahead \
+ use_default_colors \
+-vw_printw \
++use_screen \
++use_window \
+ vsscanf \
++vw_printw \
+ wchgat \
+ winsstr \
+ wresize \
+ wsyncdown \
+ )
+
++CF_TPUTS_PROTO
+ CF_NCURSES_EXT_FUNCS
+
+-AC_CACHE_CHECK(for wide-character functions,cf_cv_widechar_funcs,[
+-AC_TRY_LINK([
++if test "$cf_enable_widec" = yes
++then
++ # workaround for systems with ncurses before 20111029, due to change of
++ # feature test macro from _XPG5 to _XOPEN_SOURCE
++ if test -n "$cf_cv_ncurses_version" && test "x$cf_cv_ncurses_version" != xno
++ then
++ cf_define_xpg5=no
++ AC_MSG_CHECKING(if _XPG5 should be defined to enable wide-characters)
++
++ AC_TRY_COMPILE([
++#include <${cf_cv_ncurses_header:-curses.h}>],
++ [int x = _XPG5],,
++ [cf_save_cppflags="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XPG5"
++ AC_TRY_COMPILE([
++#include <${cf_cv_ncurses_header:-curses.h}>],
++ [int x = _XPG5],
++ [cf_define_xpg5=yes])
++ CPPFLAGS="$cf_save_cppflags"])
++ AC_MSG_RESULT($cf_define_xpg5)
++
++ if test "$cf_define_xpg5" = yes
++ then
++ CPPFLAGS="$CPPFLAGS -D_XPG5"
++ fi
++ fi
++
++ AC_CACHE_CHECK(for wide-character functions,cf_cv_widechar_funcs,[
++ AC_TRY_LINK([
+ #include <${cf_cv_ncurses_header:-curses.h}>],
+-[
+- static wchar_t src_wchar[2];
+- static cchar_t dst_cchar;
+- setcchar(&dst_cchar, src_wchar, A_NORMAL, 0, (void *) 0);
+- ],
+- [cf_cv_widechar_funcs=yes],
+- [cf_cv_widechar_funcs=no])
+-])
+-if test "$cf_cv_widechar_funcs" != no ; then
+- AC_DEFINE(USE_WIDEC_SUPPORT,1)
++ [
++ static wchar_t src_wchar[2];
++ static cchar_t dst_cchar;
++ setcchar(&dst_cchar, src_wchar, A_NORMAL, 0, (void *) 0);
++ ],
++ [cf_cv_widechar_funcs=yes],
++ [cf_cv_widechar_funcs=no])
++ ])
++ if test "$cf_cv_widechar_funcs" != no ; then
++ AC_DEFINE(USE_WIDEC_SUPPORT,1,[Define to 1 to enable wide-character support in (n)curses])
++ else
++ AC_DEFINE(USE_WIDEC_SUPPORT,0)
++ fi
+ else
+ AC_DEFINE(USE_WIDEC_SUPPORT,0)
+ fi
+
+-AC_FUNC_VFORK
+ CF_SYS_TIME_SELECT
+ CF_FUNC_CURSES_VERSION
+-CF_CURSES_ACS_MAP
+-CF_CURSES_WACS_MAP
+-CF_CURSES_WACS_SYMBOLS
+-
+-CF_CURSES_CHECK_TYPE(attr_t,long)
+-
+-CF_WCHAR_TYPE(mbstate_t, NCURSES_MBSTATE_T, NCURSES_OK_MBSTATE_T)
+-CF_WCHAR_TYPE(wchar_t, NCURSES_WCHAR_T, NCURSES_OK_WCHAR_T)
+-CF_WCHAR_TYPE(wint_t, NCURSES_WINT_T, NCURSES_OK_WINT_T)
+
+-if test "$NCURSES_OK_MBSTATE_T" = 0 ; then
+- CF_CURSES_CHECK_TYPE(mbstate_t,long)
++CF_CURSES_ACS_MAP
++if test "$cf_enable_widec" = yes; then
++ CF_CURSES_WACS_MAP
++ CF_CURSES_WACS_SYMBOLS
+ fi
+
+-if test "$NCURSES_OK_WCHAR_T" = 0 ; then
+- CF_CURSES_CHECK_TYPE(wchar_t,long)
+-fi
++CF_CURSES_CHECK_TYPE(attr_t,long)
+
+-if test "$NCURSES_OK_WINT_T" = 0 ; then
+- CF_CURSES_CHECK_TYPE(wint_t,long)
++if test "$cf_enable_widec" = yes; then
++ CF_WCHAR_TYPE(mbstate_t, NCURSES_MBSTATE_T, NCURSES_OK_MBSTATE_T)
++ CF_WCHAR_TYPE(wchar_t, NCURSES_WCHAR_T, NCURSES_OK_WCHAR_T)
++ CF_WCHAR_TYPE(wint_t, NCURSES_WINT_T, NCURSES_OK_WINT_T)
++
++ if test "$NCURSES_OK_MBSTATE_T" = 0 ; then
++ CF_CURSES_CHECK_TYPE(mbstate_t,long)
++ fi
++
++ if test "$NCURSES_OK_WCHAR_T" = 0 ; then
++ CF_CURSES_CHECK_TYPE(wchar_t,long)
++ fi
++
++ if test "$NCURSES_OK_WINT_T" = 0 ; then
++ CF_CURSES_CHECK_TYPE(wint_t,long)
++ fi
+ fi
+
+ CF_CURSES_CHECK_DATA(boolnames)
+ CF_CURSES_CHECK_DATA(boolfnames)
+
++dnl ---------------------------------------------------------------------------
++CF_HELP_MESSAGE(Testing/development Options:)
++CF_ENABLE_WARNINGS
++CF_DISABLE_LEAKS
++CF_DISABLE_RPATH_HACK
++
+ TEST_ARGS="$LIBS"
+ LIBS=
+
+@@ -302,7 +338,8 @@
+ \$(MODEL)/$N.o : \$(srcdir)/$N.c \\
+ \$(srcdir)/test.priv.h \\
+ ncurses_cfg.h
+- @echo compiling $N; \$(CC) -c \$(CFLAGS_DEFAULT) \$(srcdir)/$N.c
++ $SHOW_CC
++ $ECHO_CC\$(CC) -c \$(CFLAGS_DEFAULT) \$(srcdir)/$N.c
+ TEST_EOF
+ done
+
+@@ -317,5 +354,7 @@
+ fi
+ ],[
+ AWK="$AWK"
++ECHO_CC="$ECHO_CC"
+ ECHO_LD="$ECHO_LD"
++SHOW_CC="$SHOW_LD"
+ ],cat)
+Index: test/demo_defkey.c
+Prereq: 1.20
+--- ncurses-5.9/test/demo_defkey.c 2010-11-14 00:59:35.000000000 +0000
++++ ncurses-5.9-20130504/test/demo_defkey.c 2012-12-29 22:55:39.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2008,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: demo_defkey.c,v 1.20 2010/11/14 00:59:35 tom Exp $
++ * $Id: demo_defkey.c,v 1.21 2012/12/29 22:55:39 tom Exp $
+ *
+ * Demonstrate the define_key() function.
+ * Thomas Dickey - 2002/11/23
+@@ -106,7 +106,7 @@
+ for (pass = 0; pass < 2; ++pass) {
+ for (n = 0; string[n] != '\0'; ++n) {
+ char temp[80];
+- strcpy(temp, visichar(string[n]));
++ strncpy(temp, visichar(string[n]), sizeof(temp) - 2);
+ if (pass)
+ strcat(result, temp);
+ else
+Index: test/demo_forms.c
+Prereq: 1.38
+--- ncurses-5.9/test/demo_forms.c 2011-01-15 18:15:11.000000000 +0000
++++ ncurses-5.9-20130504/test/demo_forms.c 2012-11-18 01:22:44.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2003-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 2003-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: demo_forms.c,v 1.38 2011/01/15 18:15:11 tom Exp $
++ * $Id: demo_forms.c,v 1.40 2012/11/18 01:22:44 tom Exp $
+ *
+ * Demonstrate a variety of functions from the form library.
+ * Thomas Dickey - 2003/4/26
+@@ -108,7 +108,7 @@
+ set_field_just(f, j_value);
+ if (d_option) {
+ if (has_colors()) {
+- set_field_fore(f, COLOR_PAIR(2));
++ set_field_fore(f, (chtype) COLOR_PAIR(2));
+ set_field_back(f, A_UNDERLINE | COLOR_PAIR(3));
+ } else {
+ set_field_fore(f, A_BOLD);
+@@ -153,10 +153,10 @@
+ set_form_sub(f, derwin(w, rows, cols, 1, 2));
+ box(w, 0, 0);
+ keypad(w, TRUE);
+- }
+
+- if (post_form(f) != E_OK)
+- wrefresh(w);
++ if (post_form(f) != E_OK)
++ wrefresh(w);
++ }
+ }
+
+ static void
+@@ -257,7 +257,7 @@
+ int currow, curcol;
+
+ if (has_colors()) {
+- wbkgd(win, COLOR_PAIR(1));
++ wbkgd(win, (chtype) COLOR_PAIR(1));
+ }
+ werase(win);
+ form_getyx(form, currow, curcol);
+@@ -309,15 +309,15 @@
+ }
+
+ waddch(win, ' ');
+- (void) wattrset(win, field_fore(field));
++ (void) wattrset(win, (int) field_fore(field));
+ waddstr(win, "fore");
+- wattroff(win, field_fore(field));
++ wattroff(win, (int) field_fore(field));
+
+ waddch(win, '/');
+
+- (void) wattrset(win, field_back(field));
++ (void) wattrset(win, (int) field_back(field));
+ waddstr(win, "back");
+- wattroff(win, field_back(field));
++ wattroff(win, (int) field_back(field));
+
+ wprintw(win, ", pad '%c'",
+ field_pad(field));
+@@ -531,7 +531,7 @@
+ init_pair(1, COLOR_WHITE, COLOR_BLUE);
+ init_pair(2, COLOR_GREEN, COLOR_BLACK);
+ init_pair(3, COLOR_CYAN, COLOR_BLACK);
+- bkgd(COLOR_PAIR(1));
++ bkgd((chtype) COLOR_PAIR(1));
+ refresh();
+ }
+
+@@ -540,6 +540,7 @@
+ endwin();
+ ExitProgram(EXIT_SUCCESS);
+ }
++
+ #else
+ int
+ main(void)
+Index: test/demo_menus.c
+Prereq: 1.32
+--- ncurses-5.9/test/demo_menus.c 2011-01-15 20:02:47.000000000 +0000
++++ ncurses-5.9-20130504/test/demo_menus.c 2012-11-18 00:18:54.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2005-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 2005-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: demo_menus.c,v 1.32 2011/01/15 20:02:47 tom Exp $
++ * $Id: demo_menus.c,v 1.37 2012/11/18 00:18:54 tom Exp $
+ *
+ * Demonstrate a variety of functions from the menu library.
+ * Thomas Dickey - 2005/4/9
+@@ -109,18 +109,6 @@
+
+ static bool loaded_file = FALSE;
+
+-#if !HAVE_STRDUP
+-#define strdup my_strdup
+-static char *
+-strdup(char *s)
+-{
+- char *p = typeMalloc(char, strlen(s) + 1);
+- if (p)
+- strcpy(p, s);
+- return (p);
+-}
+-#endif /* not HAVE_STRDUP */
+-
+ /* Common function to allow ^T to toggle trace-mode in the middle of a test
+ * so that trace-files can be made smaller.
+ */
+@@ -225,8 +213,8 @@
+ result = new_menu(items);
+
+ if (has_colors()) {
+- set_menu_fore(result, COLOR_PAIR(1));
+- set_menu_back(result, COLOR_PAIR(2));
++ set_menu_fore(result, (chtype) COLOR_PAIR(1));
++ set_menu_back(result, (chtype) COLOR_PAIR(2));
+ }
+
+ set_menu_format(result, maxrow, maxcol);
+@@ -281,12 +269,15 @@
+ free((char *) blob);
+ }
+ free(items);
++ items = 0;
+ }
+ #ifdef TRACE
+ if ((count > 0) && (m == mpTrace)) {
+ ITEM **ip = items;
+- while (*ip)
+- free(*ip++);
++ if (ip != 0) {
++ while (*ip)
++ free(*ip++);
++ }
+ }
+ #endif
+ }
+@@ -398,6 +389,8 @@
+ }
+ loaded_file = TRUE;
+ }
++ if (ap == 0)
++ free(items);
+ }
+ }
+ if (ap == 0) {
+@@ -831,7 +824,7 @@
+ {
+ static const char *const tbl[] =
+ {
+- "Usage: demo_menus [options]"
++ "Usage: demo_menus [options] [menu-file]"
+ ,""
+ ,"Options:"
+ #if HAVE_RIPOFFLINE
+@@ -867,7 +860,7 @@
+ #endif /* HAVE_RIPOFFLINE */
+ #ifdef TRACE
+ case 't':
+- trace(strtoul(optarg, 0, 0));
++ trace((unsigned) strtoul(optarg, 0, 0));
+ break;
+ #endif
+ default:
+Index: test/demo_termcap.c
+Prereq: 1.14
+--- ncurses-5.9/test/demo_termcap.c 2011-01-15 21:41:27.000000000 +0000
++++ ncurses-5.9-20130504/test/demo_termcap.c 2013-01-19 19:30:52.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2005-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 2005-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,7 +29,7 @@
+ /*
+ * Author: Thomas E. Dickey
+ *
+- * $Id: demo_termcap.c,v 1.14 2011/01/15 21:41:27 tom Exp $
++ * $Id: demo_termcap.c,v 1.23 2013/01/19 19:30:52 tom Exp $
+ *
+ * A simple demo of the termcap interface.
+ */
+@@ -50,11 +50,112 @@
+ #if USE_CODE_LISTS
+ static bool b_opt = FALSE;
+ static bool n_opt = FALSE;
++static bool q_opt = FALSE;
+ static bool s_opt = FALSE;
+ #endif
+
++static char *d_opt;
++static char *e_opt;
++static char **db_list;
++static int db_item;
++
++static long total_values;
++
+ #define isCapName(c) (isgraph(c) && strchr("^#=:\\", c) == 0)
+
++#if NO_LEAKS && USE_CODE_LISTS
++
++#define MYSCR struct _myscr
++MYSCR {
++ MYSCR *next;
++ TERMINAL *term;
++};
++
++static MYSCR *my_screens;
++
++static void
++save_screen(void)
++{
++ MYSCR *obj = malloc(sizeof(MYSCR));
++ obj->next = my_screens;
++ obj->term = cur_term;
++ my_screens = obj;
++}
++#else
++#define save_screen() /* nothing */
++#endif
++
++static char *
++make_dbitem(char *p, char *q)
++{
++ char *result = malloc(strlen(e_opt) + 2 + (size_t) (p - q));
++ sprintf(result, "%s=%.*s", e_opt, (int) (p - q), q);
++ return result;
++}
++
++static void
++make_dblist(void)
++{
++ if (d_opt && e_opt) {
++ int pass;
++
++ for (pass = 0; pass < 2; ++pass) {
++ char *p, *q;
++ size_t count = 0;
++
++ for (p = q = d_opt; *p != '\0'; ++p) {
++ if (*p == ':') {
++ if (p != q + 1) {
++ if (pass) {
++ db_list[count] = make_dbitem(p, q);
++ }
++ count++;
++ }
++ q = p + 1;
++ }
++ }
++ if (p != q + 1) {
++ if (pass) {
++ db_list[count] = make_dbitem(p, q);
++ }
++ count++;
++ }
++ if (!pass) {
++ db_list = typeCalloc(char *, count + 1);
++ }
++ }
++ }
++}
++
++static char *
++next_dbitem(void)
++{
++ char *result = 0;
++
++ if (db_list) {
++ if ((result = db_list[db_item]) == 0) {
++ db_item = 0;
++ result = db_list[0];
++ } else {
++ db_item++;
++ }
++ }
++ printf("** %s\n", result);
++ return result;
++}
++
++static void
++free_dblist(void)
++{
++ if (db_list) {
++ int n;
++ for (n = 0; db_list[n]; ++n)
++ free(db_list[n]);
++ free(db_list);
++ db_list = 0;
++ }
++}
++
+ static void
+ dumpit(NCURSES_CONST char *cap)
+ {
+@@ -70,66 +171,77 @@
+ int num;
+
+ if ((str = tgetstr(cap, &ap)) != 0) {
+- /*
+- * Note that the strings returned are mostly terminfo format, since
+- * ncurses does not convert except for a handful of special cases.
+- */
+- printf(FNAME(str), cap);
+- while (*str != 0) {
+- int ch = UChar(*str++);
+- switch (ch) {
+- case '\177':
+- fputs("^?", stdout);
+- break;
+- case '\033':
+- fputs("\\E", stdout);
+- break;
+- case '\b':
+- fputs("\\b", stdout);
+- break;
+- case '\f':
+- fputs("\\f", stdout);
+- break;
+- case '\n':
+- fputs("\\n", stdout);
+- break;
+- case '\r':
+- fputs("\\r", stdout);
+- break;
+- case ' ':
+- fputs("\\s", stdout);
+- break;
+- case '\t':
+- fputs("\\t", stdout);
+- break;
+- case '^':
+- fputs("\\^", stdout);
+- break;
+- case ':':
+- fputs("\\072", stdout);
+- break;
+- case '\\':
+- fputs("\\\\", stdout);
+- break;
+- default:
+- if (isgraph(ch))
+- fputc(ch, stdout);
+- else if (ch < 32)
+- printf("^%c", ch + '@');
+- else
+- printf("\\%03o", ch);
+- break;
++ total_values++;
++ if (!q_opt) {
++ /*
++ * Note that the strings returned are mostly terminfo format, since
++ * ncurses does not convert except for a handful of special cases.
++ */
++ printf(FNAME(str), cap);
++ while (*str != 0) {
++ int ch = UChar(*str++);
++ switch (ch) {
++ case '\177':
++ fputs("^?", stdout);
++ break;
++ case '\033':
++ fputs("\\E", stdout);
++ break;
++ case '\b':
++ fputs("\\b", stdout);
++ break;
++ case '\f':
++ fputs("\\f", stdout);
++ break;
++ case '\n':
++ fputs("\\n", stdout);
++ break;
++ case '\r':
++ fputs("\\r", stdout);
++ break;
++ case ' ':
++ fputs("\\s", stdout);
++ break;
++ case '\t':
++ fputs("\\t", stdout);
++ break;
++ case '^':
++ fputs("\\^", stdout);
++ break;
++ case ':':
++ fputs("\\072", stdout);
++ break;
++ case '\\':
++ fputs("\\\\", stdout);
++ break;
++ default:
++ if (isgraph(ch))
++ fputc(ch, stdout);
++ else if (ch < 32)
++ printf("^%c", ch + '@');
++ else
++ printf("\\%03o", ch);
++ break;
++ }
+ }
++ printf("\n");
+ }
+- printf("\n");
+ } else if ((num = tgetnum(cap)) >= 0) {
+- printf(FNAME(num), cap);
+- printf(" %d\n", num);
++ total_values++;
++ if (!q_opt) {
++ printf(FNAME(num), cap);
++ printf(" %d\n", num);
++ }
+ } else if (tgetflag(cap) > 0) {
+- printf(FNAME(flg), cap);
+- printf("%s\n", "true");
++ ++total_values;
++ if (!q_opt) {
++ printf(FNAME(flg), cap);
++ printf("%s\n", "true");
++ }
+ }
+- fflush(stdout);
++
++ if (!q_opt)
++ fflush(stdout);
+ }
+
+ static void
+@@ -137,6 +249,9 @@
+ {
+ char buffer[1024];
+
++ if (db_list) {
++ putenv(next_dbitem());
++ }
+ printf("Terminal type %s\n", name);
+ if (tgetent(buffer, name) >= 0) {
+ char cap[3];
+@@ -159,17 +274,21 @@
+
+ #if USE_CODE_LISTS
+ static void
+-demo_terminfo(NCURSES_CONST char *name)
++demo_termcap(NCURSES_CONST char *name)
+ {
+ unsigned n;
+ NCURSES_CONST char *cap;
+
++ if (db_list) {
++ putenv(next_dbitem());
++ }
+ printf("Terminal type \"%s\"\n", name);
+ #if HAVE_SETUPTERM
+ setupterm(name, 1, (int *) 0);
+ #else
+ setterm(name);
+ #endif
++ save_screen();
+
+ if (b_opt) {
+ for (n = 0;; ++n) {
+@@ -204,7 +323,7 @@
+ {
+ static const char *msg[] =
+ {
+- "Usage: demo_terminfo [options] [terminal]",
++ "Usage: demo_termcap [options] [terminal]",
+ "",
+ "If no options are given, print all (boolean, numeric, string)",
+ "capabilities for the given terminal, using short names.",
+@@ -212,9 +331,15 @@
+ "Options:",
+ " -a try all names, print capabilities found",
+ " -b print boolean-capabilities",
++ " -d LIST colon-separated list of databases to use",
++ " -e NAME environment variable to set with -d option",
+ " -n print numeric-capabilities",
++ " -q quiet (prints only counts)",
+ " -r COUNT repeat for given count",
+ " -s print string-capabilities",
++#ifdef NCURSES_VERSION
++ " -y disable extended capabilities",
++#endif
+ };
+ unsigned n;
+ for (n = 0; n < SIZEOF(msg); ++n) {
+@@ -235,7 +360,7 @@
+ int repeat;
+ int r_opt = 1;
+
+- while ((n = getopt(argc, argv, "abnr:s")) != -1) {
++ while ((n = getopt(argc, argv, "abd:e:nqr:sy")) != -1) {
+ switch (n) {
+ case 'a':
+ a_opt = TRUE;
+@@ -243,9 +368,18 @@
+ case 'b':
+ b_opt = TRUE;
+ break;
++ case 'd':
++ d_opt = optarg;
++ break;
++ case 'e':
++ e_opt = optarg;
++ break;
+ case 'n':
+ n_opt = TRUE;
+ break;
++ case 'q':
++ q_opt = TRUE;
++ break;
+ case 'r':
+ if ((r_opt = atoi(optarg)) <= 0)
+ usage();
+@@ -253,6 +387,11 @@
+ case 's':
+ s_opt = TRUE;
+ break;
++#ifdef NCURSES_VERSION
++ case 'y':
++ use_extended_names(FALSE);
++ break;
++#endif
+ default:
+ usage();
+ break;
+@@ -268,6 +407,8 @@
+ a_opt = TRUE;
+ #endif
+
++ make_dblist();
++
+ if (a_opt) {
+ if (optind < argc) {
+ for (n = optind; n < argc; ++n) {
+@@ -285,17 +426,35 @@
+ for (repeat = 0; repeat < r_opt; ++repeat) {
+ if (optind < argc) {
+ for (n = optind; n < argc; ++n) {
+- demo_terminfo(argv[n]);
++ demo_termcap(argv[n]);
+ }
+ } else if ((name = getenv("TERM")) != 0) {
+- demo_terminfo(name);
++ demo_termcap(name);
+ } else {
+ static char dumb[] = "dumb";
+- demo_terminfo(dumb);
++ demo_termcap(dumb);
+ }
+ }
+- }
++#if NO_LEAKS
++ /*
++ * ncurses' tgetent() interface caches some entries and its no-leaks
++ * code discards those. The calls to setupterm() on the other hand
++ * are not cached, and each call allocates a chunk of memory, even
++ * if the same terminal type is requested repeatedly.
++ */
++ while (my_screens != 0) {
++ MYSCR *next = my_screens->next;
++ del_curterm(my_screens->term);
++ free(my_screens);
++ my_screens = next;
++ }
+ #endif
++ }
++#endif /* USE_CODE_LISTS */
++
++ printf("%ld values\n", total_values);
++
++ free_dblist();
+
+ ExitProgram(EXIT_SUCCESS);
+ }
+@@ -306,6 +465,6 @@
+ char *argv[]GCC_UNUSED)
+ {
+ printf("This program requires termcap\n");
+- exit(EXIT_FAILURE);
++ ExitProgram(EXIT_FAILURE);
+ }
+ #endif
+Index: test/demo_terminfo.c
+Prereq: 1.9
+--- ncurses-5.9/test/demo_terminfo.c 2010-11-28 00:15:27.000000000 +0000
++++ ncurses-5.9-20130504/test/demo_terminfo.c 2013-01-19 19:30:58.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2009-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,7 +29,7 @@
+ /*
+ * Author: Thomas E. Dickey
+ *
+- * $Id: demo_terminfo.c,v 1.9 2010/11/28 00:15:27 tom Exp $
++ * $Id: demo_terminfo.c,v 1.16 2013/01/19 19:30:58 tom Exp $
+ *
+ * A simple demo of the terminfo interface.
+ */
+@@ -52,12 +52,90 @@
+ static bool b_opt = FALSE;
+ static bool f_opt = FALSE;
+ static bool n_opt = FALSE;
++static bool q_opt = FALSE;
+ static bool s_opt = FALSE;
+ static bool x_opt = FALSE;
+
++static char *d_opt;
++static char *e_opt;
++static char **db_list;
++static int db_item;
++
++static long total_values;
++
+ #define FCOLS 8
+ #define FNAME(type) "%s %-*s = ", #type, FCOLS
+
++static char *
++make_dbitem(char *p, char *q)
++{
++ char *result = malloc(strlen(e_opt) + 2 + (size_t) (p - q));
++ sprintf(result, "%s=%.*s", e_opt, (int) (p - q), q);
++ return result;
++}
++
++static void
++make_dblist(void)
++{
++ if (d_opt && e_opt) {
++ int pass;
++
++ for (pass = 0; pass < 2; ++pass) {
++ char *p, *q;
++ size_t count = 0;
++
++ for (p = q = d_opt; *p != '\0'; ++p) {
++ if (*p == ':') {
++ if (p != q + 1) {
++ if (pass) {
++ db_list[count] = make_dbitem(p, q);
++ }
++ count++;
++ }
++ q = p + 1;
++ }
++ }
++ if (p != q + 1) {
++ if (pass) {
++ db_list[count] = make_dbitem(p, q);
++ }
++ count++;
++ }
++ if (!pass) {
++ db_list = typeCalloc(char *, count + 1);
++ }
++ }
++ }
++}
++
++static char *
++next_dbitem(void)
++{
++ char *result = 0;
++
++ if (db_list) {
++ if ((result = db_list[db_item]) == 0) {
++ db_item = 0;
++ result = db_list[0];
++ } else {
++ db_item++;
++ }
++ }
++ printf("** %s\n", result);
++ return result;
++}
++
++static void
++free_dblist(void)
++{
++ if (db_list) {
++ int n;
++ for (n = 0; db_list[n]; ++n)
++ free(db_list[n]);
++ free(db_list);
++ db_list = 0;
++ }
++}
+ static void
+ dumpit(NCURSES_CONST char *cap)
+ {
+@@ -72,66 +150,77 @@
+ int num;
+
+ if ((str = tigetstr(cap)) != 0 && (str != (char *) -1)) {
+- /*
+- * Note that the strings returned are mostly terminfo format, since
+- * ncurses does not convert except for a handful of special cases.
+- */
+- printf(FNAME(str), cap);
+- while (*str != 0) {
+- int ch = UChar(*str++);
+- switch (ch) {
+- case '\177':
+- fputs("^?", stdout);
+- break;
+- case '\033':
+- fputs("\\E", stdout);
+- break;
+- case '\b':
+- fputs("\\b", stdout);
+- break;
+- case '\f':
+- fputs("\\f", stdout);
+- break;
+- case '\n':
+- fputs("\\n", stdout);
+- break;
+- case '\r':
+- fputs("\\r", stdout);
+- break;
+- case ' ':
+- fputs("\\s", stdout);
+- break;
+- case '\t':
+- fputs("\\t", stdout);
+- break;
+- case '^':
+- fputs("\\^", stdout);
+- break;
+- case ':':
+- fputs("\\072", stdout);
+- break;
+- case '\\':
+- fputs("\\\\", stdout);
+- break;
+- default:
+- if (isgraph(ch))
+- fputc(ch, stdout);
+- else if (ch < 32)
+- printf("^%c", ch + '@');
+- else
+- printf("\\%03o", ch);
+- break;
++ total_values++;
++ if (!q_opt) {
++ /*
++ * Note that the strings returned are mostly terminfo format, since
++ * ncurses does not convert except for a handful of special cases.
++ */
++ printf(FNAME(str), cap);
++ while (*str != 0) {
++ int ch = UChar(*str++);
++ switch (ch) {
++ case '\177':
++ fputs("^?", stdout);
++ break;
++ case '\033':
++ fputs("\\E", stdout);
++ break;
++ case '\b':
++ fputs("\\b", stdout);
++ break;
++ case '\f':
++ fputs("\\f", stdout);
++ break;
++ case '\n':
++ fputs("\\n", stdout);
++ break;
++ case '\r':
++ fputs("\\r", stdout);
++ break;
++ case ' ':
++ fputs("\\s", stdout);
++ break;
++ case '\t':
++ fputs("\\t", stdout);
++ break;
++ case '^':
++ fputs("\\^", stdout);
++ break;
++ case ':':
++ fputs("\\072", stdout);
++ break;
++ case '\\':
++ fputs("\\\\", stdout);
++ break;
++ default:
++ if (isgraph(ch))
++ fputc(ch, stdout);
++ else if (ch < 32)
++ printf("^%c", ch + '@');
++ else
++ printf("\\%03o", ch);
++ break;
++ }
+ }
++ printf("\n");
+ }
+- printf("\n");
+ } else if ((num = tigetnum(cap)) >= 0) {
+- printf(FNAME(num), cap);
+- printf(" %d\n", num);
++ total_values++;
++ if (!q_opt) {
++ printf(FNAME(num), cap);
++ printf(" %d\n", num);
++ }
+ } else if ((num = tigetflag(cap)) >= 0) {
+- printf(FNAME(flg), cap);
+- printf("%s\n", num ? "true" : "false");
++ total_values++;
++ if (!q_opt) {
++ printf(FNAME(flg), cap);
++ printf("%s\n", num ? "true" : "false");
++ }
+ }
+- fflush(stdout);
++
++ if (!q_opt)
++ fflush(stdout);
+ }
+
+ static void
+@@ -140,6 +229,9 @@
+ unsigned n;
+ NCURSES_CONST char *cap;
+
++ if (db_list) {
++ putenv(next_dbitem());
++ }
+ printf("Terminal type \"%s\"\n", name);
+ setupterm(name, 1, (int *) 0);
+
+@@ -191,7 +283,7 @@
+ }
+ #endif
+ } else {
+- char temp[10];
++ char temp[80];
+ static const char *xterm_keys[] =
+ {
+ "kDC", "kDN", "kEND", "kHOM", "kIC",
+@@ -200,9 +292,9 @@
+ for (n = 0; n < SIZEOF(xterm_keys); ++n) {
+ for (mod = 0; mod < 8; ++mod) {
+ if (mod == 0)
+- strcpy(temp, xterm_keys[n]);
++ sprintf(temp, "%.*s", 8, xterm_keys[n]);
+ else
+- sprintf(temp, "%s%d", xterm_keys[n], mod);
++ sprintf(temp, "%.*s%d", 8, xterm_keys[n], mod);
+ dumpit(temp);
+ }
+ }
+@@ -224,12 +316,16 @@
+ "",
+ "Options:",
+ " -b print boolean-capabilities",
++ " -d LIST colon-separated list of databases to use",
++ " -e NAME environment variable to set with -d option",
+ " -f print full names",
+ " -n print numeric-capabilities",
++ " -q quiet (prints only counts)",
+ " -r COUNT repeat for given count",
+ " -s print string-capabilities",
+ #ifdef NCURSES_VERSION
+ " -x print extended capabilities",
++ " -y disable extended capabilities",
+ #endif
+ };
+ unsigned n;
+@@ -246,18 +342,30 @@
+ int repeat;
+ char *name;
+ int r_opt = 1;
++#ifdef NCURSES_VERSION
++ bool xy_opt = TRUE; /* by default, use_extended_names is true */
++#endif
+
+- while ((n = getopt(argc, argv, "bfnr:sx")) != -1) {
++ while ((n = getopt(argc, argv, "bd:e:fnqr:sxy")) != -1) {
+ switch (n) {
+ case 'b':
+ b_opt = TRUE;
+ break;
++ case 'd':
++ d_opt = optarg;
++ break;
++ case 'e':
++ e_opt = optarg;
++ break;
+ case 'f':
+ f_opt = TRUE;
+ break;
+ case 'n':
+ n_opt = TRUE;
+ break;
++ case 'q':
++ q_opt = TRUE;
++ break;
+ case 'r':
+ if ((r_opt = atoi(optarg)) <= 0)
+ usage();
+@@ -268,7 +376,10 @@
+ #ifdef NCURSES_VERSION
+ case 'x':
+ x_opt = TRUE;
+- use_extended_names(TRUE);
++ xy_opt = TRUE;
++ break;
++ case 'y':
++ xy_opt = FALSE;
+ break;
+ #endif
+ default:
+@@ -277,12 +388,18 @@
+ }
+ }
+
++#ifdef NCURSES_VERSION
++ use_extended_names(xy_opt);
++#endif
++
+ if (!(b_opt || n_opt || s_opt || x_opt)) {
+ b_opt = TRUE;
+ n_opt = TRUE;
+ s_opt = TRUE;
+ }
+
++ make_dblist();
++
+ for (repeat = 0; repeat < r_opt; ++repeat) {
+ if (optind < argc) {
+ for (n = optind; n < argc; ++n) {
+@@ -296,6 +413,10 @@
+ }
+ }
+
++ printf("%ld values\n", total_values);
++
++ free_dblist();
++
+ ExitProgram(EXIT_SUCCESS);
+ }
+
+Index: test/ditto.c
+Prereq: 1.40
+--- ncurses-5.9/test/ditto.c 2010-11-14 01:06:47.000000000 +0000
++++ ncurses-5.9-20130504/test/ditto.c 2012-11-24 20:16:18.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,7 +29,7 @@
+ /*
+ * Author: Thomas E. Dickey (1998-on)
+ *
+- * $Id: ditto.c,v 1.40 2010/11/14 01:06:47 tom Exp $
++ * $Id: ditto.c,v 1.42 2012/11/24 20:16:18 tom Exp $
+ *
+ * The program illustrates how to set up multiple screens from a single
+ * program.
+@@ -80,6 +80,7 @@
+ int which1; /* this screen's index in DITTO[] array */
+ int length; /* length of windows[] and peeks[] */
+ char **titles; /* per-window titles */
++ WINDOW **parents; /* display boxes around each screen's data */
+ WINDOW **windows; /* display data from each screen */
+ PEEK *peeks; /* indices for each screen's fifo */
+ FIFO fifo; /* fifo for this screen */
+@@ -98,6 +99,9 @@
+ DITTO *ditto; /* data for all screens */
+ } DDATA;
+
++static void failed(const char *) GCC_NORETURN;
++static void usage(void) GCC_NORETURN;
++
+ static void
+ failed(const char *s)
+ {
+@@ -201,6 +205,7 @@
+ scrollok(stdscr, TRUE);
+ box(stdscr, 0, 0);
+
++ target->parents = typeCalloc(WINDOW *, (size_t) target->length);
+ target->windows = typeCalloc(WINDOW *, (size_t) target->length);
+ target->peeks = typeCalloc(PEEK, (size_t) target->length);
+
+@@ -220,6 +225,7 @@
+ nodelay(inner, TRUE);
+ #endif
+
++ target->parents[k] = outer;
+ target->windows[k] = inner;
+ }
+ doupdate();
+Index: test/dots.c
+Prereq: 1.22
+--- ncurses-5.9/test/dots.c 2010-11-14 01:00:02.000000000 +0000
++++ ncurses-5.9-20130504/test/dots.c 2011-04-23 19:15:04.000000000 +0000
+@@ -29,7 +29,7 @@
+ /*
+ * Author: Thomas E. Dickey <dickey@clark.net> 1999
+ *
+- * $Id: dots.c,v 1.22 2010/11/14 01:00:02 tom Exp $
++ * $Id: dots.c,v 1.23 2011/04/23 19:15:04 tom Exp $
+ *
+ * A simple demo of the terminfo interface.
+ */
+@@ -46,8 +46,8 @@
+ static long total_chars = 0;
+ static time_t started;
+
+-static int
+-outc(TPUTS_ARG c)
++static
++TPUTS_PROTO(outc, c)
+ {
+ int rc = c;
+
+@@ -58,7 +58,7 @@
+ } else {
+ rc = putc(c, stdout);
+ }
+- return rc;
++ TPUTS_RETURN(rc);
+ }
+
+ static bool
+Index: test/dots_mvcur.c
+Prereq: 1.6
+--- ncurses-5.9/test/dots_mvcur.c 2010-11-14 01:00:44.000000000 +0000
++++ ncurses-5.9-20130504/test/dots_mvcur.c 2011-04-23 19:17:20.000000000 +0000
+@@ -29,7 +29,7 @@
+ /*
+ * Author: Thomas E. Dickey - 2007
+ *
+- * $Id: dots_mvcur.c,v 1.6 2010/11/14 01:00:44 tom Exp $
++ * $Id: dots_mvcur.c,v 1.7 2011/04/23 19:17:20 tom Exp $
+ *
+ * A simple demo of the terminfo interface, and mvcur.
+ */
+@@ -46,8 +46,8 @@
+ static long total_chars = 0;
+ static time_t started;
+
+-static int
+-outc(TPUTS_ARG c)
++static
++TPUTS_PROTO(outc, c)
+ {
+ int rc = c;
+
+@@ -59,7 +59,7 @@
+ if (putc(c, stdout) == EOF)
+ rc = EOF;
+ }
+- return rc;
++ TPUTS_RETURN(rc);
+ }
+
+ static bool
+Index: test/echochar.c
+Prereq: 1.8
+--- ncurses-5.9/test/echochar.c 2010-11-14 01:00:44.000000000 +0000
++++ ncurses-5.9-20130504/test/echochar.c 2012-06-09 20:30:32.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2006-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: echochar.c,v 1.8 2010/11/14 01:00:44 tom Exp $
++ * $Id: echochar.c,v 1.9 2012/06/09 20:30:32 tom Exp $
+ *
+ * Demonstrate the echochar function (compare to dots.c).
+ * Thomas Dickey - 2006/11/4
+@@ -74,7 +74,7 @@
+ (short) fg,
+ (short) bg);
+ }
+- attron(COLOR_PAIR(pair));
++ attron((attr_t) COLOR_PAIR(pair));
+ }
+
+ int
+Index: test/filter.c
+Prereq: 1.13
+--- ncurses-5.9/test/filter.c 2010-11-13 20:55:54.000000000 +0000
++++ ncurses-5.9-20130504/test/filter.c 2012-06-09 20:30:32.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,7 +29,7 @@
+ /*
+ * Author: Thomas E. Dickey <dickey@clark.net> 1998
+ *
+- * $Id: filter.c,v 1.13 2010/11/13 20:55:54 tom Exp $
++ * $Id: filter.c,v 1.15 2012/06/09 20:30:32 tom Exp $
+ */
+ #include <test.priv.h>
+
+@@ -133,7 +133,7 @@
+ background = -1;
+ #endif
+ init_pair(1, COLOR_CYAN, (short) background);
+- underline = COLOR_PAIR(1);
++ underline = (attr_t) COLOR_PAIR(1);
+ } else {
+ underline = A_UNDERLINE;
+ }
+@@ -143,7 +143,7 @@
+ reset_shell_mode();
+ printf("\n");
+ fflush(stdout);
+- system(buffer);
++ IGNORE_RC(system(buffer));
+ reset_prog_mode();
+ touchwin(stdscr);
+ erase();
+Index: test/firework.c
+Prereq: 1.27
+--- ncurses-5.9/test/firework.c 2010-11-13 20:58:25.000000000 +0000
++++ ncurses-5.9-20130504/test/firework.c 2013-04-27 19:46:53.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: firework.c,v 1.27 2010/11/13 20:58:25 tom Exp $
++ * $Id: firework.c,v 1.29 2013/04/27 19:46:53 tom Exp $
+ */
+ #include <test.priv.h>
+
+@@ -41,7 +41,7 @@
+ endwin();
+ }
+
+-static RETSIGTYPE
++static void
+ onsig(int n GCC_UNUSED)
+ {
+ cleanup();
+@@ -94,14 +94,14 @@
+ showit();
+
+ init_pair(1, get_colour(&bold), my_bg);
+- (void) attrset(COLOR_PAIR(1) | bold);
++ (void) attrset((chtype) COLOR_PAIR(1) | bold);
+ MvPrintw(row - 1, col - 1, " - ");
+ MvPrintw(row + 0, col - 1, "-+-");
+ MvPrintw(row + 1, col - 1, " - ");
+ showit();
+
+ init_pair(1, get_colour(&bold), my_bg);
+- (void) attrset(COLOR_PAIR(1) | bold);
++ (void) attrset((chtype) COLOR_PAIR(1) | bold);
+ MvPrintw(row - 2, col - 2, " --- ");
+ MvPrintw(row - 1, col - 2, "-+++-");
+ MvPrintw(row + 0, col - 2, "-+#+-");
+@@ -110,7 +110,7 @@
+ showit();
+
+ init_pair(1, get_colour(&bold), my_bg);
+- (void) attrset(COLOR_PAIR(1) | bold);
++ (void) attrset((chtype) COLOR_PAIR(1) | bold);
+ MvPrintw(row - 2, col - 2, " +++ ");
+ MvPrintw(row - 1, col - 2, "++#++");
+ MvPrintw(row + 0, col - 2, "+# #+");
+@@ -119,7 +119,7 @@
+ showit();
+
+ init_pair(1, get_colour(&bold), my_bg);
+- (void) attrset(COLOR_PAIR(1) | bold);
++ (void) attrset((chtype) COLOR_PAIR(1) | bold);
+ MvPrintw(row - 2, col - 2, " # ");
+ MvPrintw(row - 1, col - 2, "## ##");
+ MvPrintw(row + 0, col - 2, "# #");
+@@ -128,7 +128,7 @@
+ showit();
+
+ init_pair(1, get_colour(&bold), my_bg);
+- (void) attrset(COLOR_PAIR(1) | bold);
++ (void) attrset((chtype) COLOR_PAIR(1) | bold);
+ MvPrintw(row - 2, col - 2, " # # ");
+ MvPrintw(row - 1, col - 2, "# #");
+ MvPrintw(row + 0, col - 2, " ");
+Index: test/gdc.c
+Prereq: 1.34
+--- ncurses-5.9/test/gdc.c 2010-11-13 21:01:23.000000000 +0000
++++ ncurses-5.9-20130504/test/gdc.c 2013-04-27 19:50:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,7 +33,7 @@
+ * modified 10-18-89 for curses (jrl)
+ * 10-18-89 added signal handling
+ *
+- * $Id: gdc.c,v 1.34 2010/11/13 21:01:23 tom Exp $
++ * $Id: gdc.c,v 1.37 2013/04/27 19:50:17 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -60,7 +60,7 @@
+ static bool redirected = FALSE;
+ static bool hascolor = FALSE;
+
+-static RETSIGTYPE
++static void
+ sighndl(int signo)
+ {
+ signal(signo, sighndl);
+@@ -78,7 +78,7 @@
+ int n;
+
+ if (hascolor)
+- (void) attrset(COLOR_PAIR(PAIR_FRAMES));
++ (void) attrset((attr_t) COLOR_PAIR(PAIR_FRAMES));
+
+ MvAddCh(YBASE - 1, XBASE - 1, ACS_ULCORNER);
+ hline(ACS_HLINE, XLENGTH);
+@@ -102,7 +102,7 @@
+ vline(ACS_VLINE, YDEPTH);
+
+ if (hascolor)
+- (void) attrset(COLOR_PAIR(PAIR_OTHERS));
++ (void) attrset((attr_t) COLOR_PAIR(PAIR_OTHERS));
+ }
+
+ static void
+@@ -110,13 +110,13 @@
+ {
+ if (on) {
+ if (hascolor) {
+- attron(COLOR_PAIR(PAIR_DIGITS));
++ attron((attr_t) COLOR_PAIR(PAIR_DIGITS));
+ } else {
+ attron(A_STANDOUT);
+ }
+ } else {
+ if (hascolor) {
+- attron(COLOR_PAIR(PAIR_OTHERS));
++ attron((attr_t) COLOR_PAIR(PAIR_OTHERS));
+ } else {
+ attroff(A_STANDOUT);
+ }
+@@ -220,7 +220,7 @@
+ init_pair(PAIR_DIGITS, COLOR_BLACK, COLOR_RED);
+ init_pair(PAIR_OTHERS, COLOR_RED, bg);
+ init_pair(PAIR_FRAMES, COLOR_WHITE, bg);
+- (void) attrset(COLOR_PAIR(PAIR_OTHERS));
++ (void) attrset((attr_t) COLOR_PAIR(PAIR_OTHERS));
+ }
+
+ restart:
+@@ -231,7 +231,7 @@
+ drawbox(FALSE);
+
+ do {
+- char buf[30];
++ char buf[40];
+
+ time(&now);
+ tm = localtime(&now);
+@@ -293,7 +293,7 @@
+ }
+
+ /* this depends on the detailed format of ctime(3) */
+- (void) strcpy(buf, ctime(&now));
++ (void) strncpy(buf, ctime(&now), 30);
+ (void) strcpy(buf + 10, buf + 19);
+ MvAddStr(16, 30, buf);
+
+Index: test/hanoi.c
+Prereq: 1.31
+--- ncurses-5.9/test/hanoi.c 2010-11-14 01:01:07.000000000 +0000
++++ ncurses-5.9-20130504/test/hanoi.c 2012-12-08 16:41:56.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -41,10 +41,11 @@
+ *
+ * Date: 05.Nov.90
+ *
+- * $Id: hanoi.c,v 1.31 2010/11/14 01:01:07 tom Exp $
++ * $Id: hanoi.c,v 1.34 2012/12/08 16:41:56 tom Exp $
+ */
+
+ #include <test.priv.h>
++#include <math.h>
+
+ #define NPEGS 3 /* This is not configurable !! */
+ #define MINTILES 3
+@@ -57,7 +58,7 @@
+ #define MIDPEG 39
+ #define RIGHTPEG 59
+
+-#define LENTOIND(x) (((x)-1)/2)
++#define LENTOIND(x) (((int)(x)-1)/2)
+ #define OTHER(a,b) (3-((a)+(b)))
+
+ struct Peg {
+@@ -84,10 +85,11 @@
+ COLOR_MAGENTA, /* Length 17 */
+ COLOR_RED, /* Length 19 */
+ };
++static int NTiles = 0;
+ static int NMoves = 0;
+ static bool AutoFlag = FALSE;
+
+-static void InitTiles(int NTiles);
++static void InitTiles(void);
+ static void DisplayTiles(void);
+ static void MakeMove(int From, int To);
+ static void AutoMove(int From, int To, int Num);
+@@ -99,7 +101,7 @@
+ int
+ main(int argc, char **argv)
+ {
+- int NTiles, FromCol, ToCol;
++ int FromCol, ToCol;
+
+ setlocale(LC_ALL, "");
+
+@@ -130,9 +132,6 @@
+ Usage();
+ ExitProgram(EXIT_FAILURE);
+ }
+-#ifdef TRACE
+- trace(TRACE_MAXIMUM);
+-#endif
+ initscr();
+ if (has_colors()) {
+ int i;
+@@ -155,7 +154,7 @@
+ curs_set(0);
+ leaveok(stdscr, TRUE); /* Attempt to remove cursor */
+ }
+- InitTiles(NTiles);
++ InitTiles();
+ DisplayTiles();
+ if (AutoFlag) {
+ do {
+@@ -211,7 +210,7 @@
+ }
+
+ static void
+-InitTiles(int NTiles)
++InitTiles(void)
+ {
+ int Size, SlotNo;
+
+@@ -232,7 +231,7 @@
+ erase();
+ MvAddStr(1, 24, "T O W E R S O F H A N O I");
+ MvAddStr(3, 34, "SJR 1990");
+- MvPrintw(19, 5, "Moves : %d", NMoves);
++ MvPrintw(19, 5, "Moves : %d of %.0f", NMoves, pow(2.0, NTiles) - 1);
+ (void) attrset(A_REVERSE);
+ MvAddStr(BASELINE, 8,
+ " ");
+@@ -255,7 +254,7 @@
+ memset(TileBuf, ' ', len);
+ TileBuf[len] = '\0';
+ if (has_colors())
+- (void) attrset(COLOR_PAIR(LENTOIND(len)));
++ (void) attrset((attr_t) COLOR_PAIR(LENTOIND(len)));
+ else
+ (void) attrset(A_REVERSE);
+ MvAddStr(BASELINE - (SlotNo + 1),
+@@ -310,12 +309,12 @@
+ if (Num == 1) {
+ MakeMove(From, To);
+ napms(500);
+- return;
++ } else {
++ AutoMove(From, OTHER(From, To), Num - 1);
++ MakeMove(From, To);
++ napms(500);
++ AutoMove(OTHER(From, To), To, Num - 1);
+ }
+- AutoMove(From, OTHER(From, To), Num - 1);
+- MakeMove(From, To);
+- napms(500);
+- AutoMove(OTHER(From, To), To, Num - 1);
+ }
+
+ static int
+Index: test/hashtest.c
+Prereq: 1.31
+--- ncurses-5.9/test/hashtest.c 2010-11-13 23:43:15.000000000 +0000
++++ ncurses-5.9-20130504/test/hashtest.c 2013-04-27 19:50:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -30,7 +30,7 @@
+ *
+ * Generate timing statistics for vertical-motion optimization.
+ *
+- * $Id: hashtest.c,v 1.31 2010/11/13 23:43:15 tom Exp $
++ * $Id: hashtest.c,v 1.32 2013/04/27 19:50:17 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -54,7 +54,7 @@
+ endwin();
+ }
+
+-static RETSIGTYPE
++static void
+ finish(int sig GCC_UNUSED)
+ {
+ cleanup();
+Index: test/inchs.c
+Prereq: 1.11
+--- ncurses-5.9/test/inchs.c 2010-11-13 23:41:23.000000000 +0000
++++ ncurses-5.9-20130504/test/inchs.c 2012-11-18 01:58:15.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2007-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: inchs.c,v 1.11 2010/11/13 23:41:23 tom Exp $
++ * $Id: inchs.c,v 1.12 2012/11/18 01:58:15 tom Exp $
+ *
+ * Author: Thomas E Dickey
+ */
+@@ -50,6 +50,16 @@
+ #define BASE_Y 7
+ #define MAX_COLS 1024
+
++static void
++failed(const char *s)
++{
++ int save = errno;
++ endwin();
++ errno = save;
++ perror(s);
++ ExitProgram(EXIT_FAILURE);
++}
++
+ static bool
+ Quit(int ch)
+ {
+@@ -87,6 +97,8 @@
+ txtwin = stdscr;
+ base_y = BASE_Y;
+ }
++ if (txtwin == 0)
++ failed("cannot create txtwin");
+
+ keypad(txtwin, TRUE); /* enable keyboard mapping */
+ (void) cbreak(); /* take input chars one at a time, no wait for \n */
+Index: test/ins_wide.c
+Prereq: 1.15
+--- ncurses-5.9/test/ins_wide.c 2010-12-12 00:20:14.000000000 +0000
++++ ncurses-5.9-20130504/test/ins_wide.c 2012-12-16 00:51:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: ins_wide.c,v 1.15 2010/12/12 00:20:14 tom Exp $
++ * $Id: ins_wide.c,v 1.20 2012/12/16 00:51:02 tom Exp $
+ *
+ * Demonstrate the wins_wstr() and wins_wch functions.
+ * Thomas Dickey - 2002/11/23
+@@ -228,8 +228,9 @@
+ WINDOW *work = 0;
+ WINDOW *show = 0;
+ int margin = (2 * MY_TABSIZE) - 1;
+- Options option = ((m_opt ? oMove : oDefault)
+- | ((w_opt || (level > 0)) ? oWindow : oDefault));
++ Options option = (Options) ((int) (m_opt ? oMove : oDefault)
++ | (int) ((w_opt || (level > 0))
++ ? oWindow : oDefault));
+
+ if (first) {
+ static char cmd[80];
+@@ -241,6 +242,15 @@
+ (void) cbreak(); /* take input chars one at a time, no wait for \n */
+ (void) noecho(); /* don't echo input */
+ keypad(stdscr, TRUE);
++
++ /*
++ * Show the characters inserted in color, to distinguish from those
++ * that are shifted.
++ */
++ if (has_colors()) {
++ start_color();
++ init_pair(1, COLOR_WHITE, COLOR_BLUE);
++ }
+ }
+
+ limit = LINES - 5;
+@@ -274,14 +284,8 @@
+
+ doupdate();
+
+- /*
+- * Show the characters inserted in color, to distinguish from those that
+- * are shifted.
+- */
+ if (has_colors()) {
+- start_color();
+- init_pair(1, COLOR_WHITE, COLOR_BLUE);
+- wbkgdset(work, COLOR_PAIR(1) | ' ');
++ wbkgdset(work, (chtype) (COLOR_PAIR(1) | ' '));
+ }
+
+ while ((ch = read_linedata(work)) != ERR && !isQUIT(ch)) {
+@@ -290,11 +294,13 @@
+ case key_RECUR:
+ test_inserts(level + 1);
+
+- touchwin(look);
++ if (look)
++ touchwin(look);
+ touchwin(work);
+ touchwin(show);
+
+- wnoutrefresh(look);
++ if (look)
++ wnoutrefresh(look);
+ wnoutrefresh(work);
+ wnoutrefresh(show);
+
+@@ -438,10 +444,10 @@
+ }
+ }
+ if (level > 0) {
+- delwin(show);
+ delwin(work);
+ delwin(look);
+ }
++ delwin(show);
+ }
+
+ static void
+Index: test/insdelln.c
+Prereq: 1.5
+--- ncurses-5.9/test/insdelln.c 2010-11-13 23:39:38.000000000 +0000
++++ ncurses-5.9-20130504/test/insdelln.c 2012-11-18 00:37:58.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2008-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2008-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: insdelln.c,v 1.5 2010/11/13 23:39:38 tom Exp $
++ * $Id: insdelln.c,v 1.7 2012/11/18 00:37:58 tom Exp $
+ *
+ * test-driver for deleteln, wdeleteln, insdelln, winsdelln, insertln, winsertln
+ */
+@@ -175,6 +175,8 @@
+ delwin(win1);
+ touchwin(win);
+ } else {
++ if (win1)
++ delwin(win1);
+ beep();
+ }
+ }
+@@ -300,7 +302,7 @@
+ init_status(win, &st);
+
+ do {
+- (void) wattrset(win, st.attr | (attr_t) COLOR_PAIR(st.pair));
++ (void) wattrset(win, (int) (st.attr | (attr_t) COLOR_PAIR(st.pair)));
+ switch (st.ch) {
+ case 'i':
+ for (n = 0; n < st.count; ++n)
+Index: test/inserts.c
+Prereq: 1.23
+--- ncurses-5.9/test/inserts.c 2010-12-12 00:19:55.000000000 +0000
++++ ncurses-5.9-20130504/test/inserts.c 2012-12-16 00:35:27.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: inserts.c,v 1.23 2010/12/12 00:19:55 tom Exp $
++ * $Id: inserts.c,v 1.27 2012/12/16 00:35:27 tom Exp $
+ *
+ * Demonstrate the winsstr() and winsch functions.
+ * Thomas Dickey - 2002/10/19
+@@ -167,6 +167,15 @@
+ (void) cbreak(); /* take input chars one at a time, no wait for \n */
+ (void) noecho(); /* don't echo input */
+ keypad(stdscr, TRUE);
++
++ /*
++ * Show the characters inserted in color, to distinguish from those
++ * that are shifted.
++ */
++ if (has_colors()) {
++ start_color();
++ init_pair(1, COLOR_WHITE, COLOR_BLUE);
++ }
+ }
+
+ limit = LINES - 5;
+@@ -200,14 +209,8 @@
+
+ doupdate();
+
+- /*
+- * Show the characters inserted in color, to distinguish from those that
+- * are shifted.
+- */
+ if (has_colors()) {
+- start_color();
+- init_pair(1, COLOR_WHITE, COLOR_BLUE);
+- wbkgdset(work, COLOR_PAIR(1) | ' ');
++ wbkgdset(work, (chtype) (COLOR_PAIR(1) | ' '));
+ }
+
+ while ((ch = read_linedata(work)) != ERR && !isQUIT(ch)) {
+@@ -216,11 +219,13 @@
+ case key_RECUR:
+ test_inserts(level + 1);
+
+- touchwin(look);
++ if (look)
++ touchwin(look);
+ touchwin(work);
+ touchwin(show);
+
+- wnoutrefresh(look);
++ if (look)
++ wnoutrefresh(look);
+ wnoutrefresh(work);
+ wnoutrefresh(show);
+
+@@ -368,10 +373,10 @@
+ }
+ }
+ if (level > 0) {
+- delwin(show);
+ delwin(work);
+ delwin(look);
+ }
++ delwin(show);
+ }
+
+ static void
+Index: test/knight.c
+Prereq: 1.31
+--- ncurses-5.9/test/knight.c 2010-11-13 20:44:21.000000000 +0000
++++ ncurses-5.9-20130504/test/knight.c 2013-02-16 19:53:08.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,7 +33,7 @@
+ * Eric S. Raymond <esr@snark.thyrsus.com> July 22 1995. Mouse support
+ * added September 20th 1995.
+ *
+- * $Id: knight.c,v 1.31 2010/11/13 20:44:21 tom Exp $
++ * $Id: knight.c,v 1.36 2013/02/16 19:53:08 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -123,13 +123,16 @@
+ (void) init_pair(PLUS_COLOR, (short) COLOR_RED, (short) bg);
+ (void) init_pair(MINUS_COLOR, (short) COLOR_GREEN, (short) bg);
+
+- trail |= COLOR_PAIR(TRAIL_COLOR);
+- plus |= COLOR_PAIR(PLUS_COLOR);
+- minus |= COLOR_PAIR(MINUS_COLOR);
++ trail |= (chtype) COLOR_PAIR(TRAIL_COLOR);
++ plus |= (chtype) COLOR_PAIR(PLUS_COLOR);
++ minus |= (chtype) COLOR_PAIR(MINUS_COLOR);
+ }
+ #ifdef NCURSES_MOUSE_VERSION
+ (void) mousemask(BUTTON1_CLICKED, (mmask_t *) NULL);
+ #endif /* NCURSES_MOUSE_VERSION */
++#if defined(PDCURSES)
++ mouse_set(BUTTON1_RELEASED);
++#endif
+
+ oldch = minus;
+ }
+@@ -300,15 +303,16 @@
+ }
+ }
+
+-static void
++static bool
+ find_next_move(int *y, int *x)
+ {
+ unsigned j, k;
+ int found = -1;
+ int first = -1;
+- int next = 0;
++ int next = -1;
+ int oldy, oldx;
+ int newy, newx;
++ bool result = FALSE;
+
+ if (movecount > 1) {
+ oldy = history[movecount - 1].y;
+@@ -335,9 +339,27 @@
+ *y = oldy + offsets[next].y;
+ *x = oldx + offsets[next].x;
+ }
+- } else {
+- beep();
++ result = TRUE;
+ }
++ return result;
++}
++
++static void
++count_next_moves(int y, int x)
++{
++ int count = 0;
++ unsigned j;
++
++ wprintw(msgwin, "\nMove %d", movecount);
++ for (j = 0; j < SIZEOF(offsets); j++) {
++ int newy = y + offsets[j].y;
++ int newx = x + offsets[j].x;
++ if (chksqr(newy, newx)) {
++ ++count;
++ }
++ }
++ wprintw(msgwin, ", gives %d choices", count);
++ wclrtoeol(msgwin);
+ }
+
+ static void
+@@ -558,8 +580,9 @@
+ nx = col + 1;
+ break;
+
+-#ifdef NCURSES_MOUSE_VERSION
++#ifdef KEY_MOUSE
+ case KEY_MOUSE:
++#ifdef NCURSES_MOUSE_VERSION
+ {
+ MEVENT myevent;
+
+@@ -576,6 +599,24 @@
+ }
+ }
+ #endif /* NCURSES_MOUSE_VERSION */
++#ifdef PDCURSES
++ {
++ int test_y, test_x;
++ request_mouse_pos();
++ test_y = MOUSE_Y_POS + 0;
++ test_x = MOUSE_X_POS + 1;
++ if (test_y >= CY(0) && test_y <= CY(BDEPTH)
++ && test_x >= CX(0) && test_x <= CX(BWIDTH)) {
++ ny = CYINV(test_y);
++ nx = CXINV(test_x);
++ wmove(helpwin, 0, 0);
++ wrefresh(helpwin);
++ ungetch('\n');
++ }
++ break;
++ }
++#endif /* PDCURSES */
++#endif /* KEY_MOUSE */
+
+ case KEY_B2:
+ case '\n':
+@@ -614,8 +655,8 @@
+ ny = history[movecount].y;
+ nx = history[movecount].x;
+ if (nx < 0 || ny < 0) {
+- ny = lastrow;
+- nx = lastcol;
++ ny = (lastrow >= 0) ? lastrow : 0;
++ nx = (lastcol >= 0) ? lastcol : 0;
+ }
+ movecount = 0;
+ board[ny][nx] = FALSE;
+@@ -652,7 +693,10 @@
+ case 'a':
+ nx = col;
+ ny = rw;
+- find_next_move(&ny, &nx);
++ if (find_next_move(&ny, &nx))
++ count_next_moves(ny, nx);
++ else
++ beep();
+ break;
+
+ case 'F':
+Index: test/linedata.h
+--- ncurses-5.9/test/linedata.h 2010-11-13 21:12:31.000000000 +0000
++++ ncurses-5.9-20130504/test/linedata.h 2012-12-15 22:57:19.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2009-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -85,10 +85,8 @@
+ beep();
+ continue;
+ }
+- } else if (code != ERR) {
+- result = (int) ch;
+- break;
+ } else {
++ result = (int) ch;
+ break;
+ }
+ }
+Index: test/modules
+Prereq: 1.43
+--- ncurses-5.9/test/modules 2010-01-23 17:51:38.000000000 +0000
++++ ncurses-5.9-20130504/test/modules 2013-01-12 22:50:55.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: modules,v 1.43 2010/01/23 17:51:38 tom Exp $
++# $Id: modules,v 1.47 2013/01/12 22:50:55 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -86,10 +86,12 @@
+ test_instr progs $(srcdir) $(HEADER_DEPS)
+ test_inwstr progs $(srcdir) $(HEADER_DEPS)
+ test_opaque progs $(srcdir) $(HEADER_DEPS)
++test_vid_puts progs $(srcdir) $(HEADER_DEPS)
++test_vidputs progs $(srcdir) $(HEADER_DEPS)
+ testaddch progs $(srcdir) $(HEADER_DEPS)
+ testcurs progs $(srcdir) $(HEADER_DEPS)
+ testscanw progs $(srcdir) $(HEADER_DEPS)
+-view progs $(srcdir) $(HEADER_DEPS)
++view progs $(srcdir) $(HEADER_DEPS) $(srcdir)/widechars.h
+ worm progs $(srcdir) $(HEADER_DEPS)
+ xmas progs $(srcdir) $(HEADER_DEPS)
+
+Index: test/movewindow.c
+Prereq: 1.24
+--- ncurses-5.9/test/movewindow.c 2010-11-13 23:34:55.000000000 +0000
++++ ncurses-5.9-20130504/test/movewindow.c 2013-05-04 19:41:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006-2008,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2006-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,18 +26,22 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: movewindow.c,v 1.24 2010/11/13 23:34:55 tom Exp $
++ * $Id: movewindow.c,v 1.39 2013/05/04 19:41:02 tom Exp $
+ *
+ * Demonstrate move functions for windows and derived windows from the curses
+ * library.
+ *
+- * Thomas Dickey - 2006/2/11
++ * Author: Thomas E. Dickey
+ */
+ /*
+ derwin
+ mvderwin
+ subwin
+ mvwin
++
++TODO:
++ add command to reset subwindow's origin to coincide with parent.
++ add command to delete subwindow (check if it has subwindows though)
+ */
+
+ #include <test.priv.h>
+@@ -76,6 +80,14 @@
+ static FRAME *all_windows;
+
+ static void
++failed(const char *s)
++{
++ perror(s);
++ endwin();
++ ExitProgram(EXIT_FAILURE);
++}
++
++static void
+ message(int lineno, CONST_FMT char *fmt, va_list argp)
+ {
+ int y, x;
+@@ -122,7 +134,12 @@
+ * Arrow keys move cursor, return location at current on non-arrow key.
+ */
+ static PAIR *
+-selectcell(WINDOW *parent, int uli, int ulj, int lri, int lrj)
++selectcell(WINDOW *parent,
++ WINDOW *child,
++ int uli, int ulj,
++ int lri, int lrj,
++ bool relative,
++ bool * more)
+ {
+ static PAIR res; /* result cell */
+ int si = lri - uli + 1; /* depth of the select area */
+@@ -131,25 +148,46 @@
+
+ res.y = uli;
+ res.x = ulj;
++
++ if (child != 0) {
++ if (relative) {
++ getparyx(child, i, j);
++ } else {
++ getbegyx(child, i, j);
++ i -= uli + getbegy(parent);
++ j -= ulj + getbegx(parent);
++ }
++ }
++
++ if (more)
++ *more = FALSE;
++
+ for (;;) {
+- tail_line("Upper left [%2d,%2d] Lower right [%2d,%2d] -> %d,%d",
++ bool moved = FALSE;
++
++ tail_line("Upper left [%2d,%2d] Lower right [%2d,%2d] -> %d,%d -> %d,%d",
+ uli, ulj,
+ lri, lrj,
++ i, j,
+ uli + i, ulj + j);
+ wmove(parent, uli + i, ulj + j);
+
+ switch (wgetch(parent)) {
+ case KEY_UP:
+ i += si - 1;
++ moved = TRUE;
+ break;
+ case KEY_DOWN:
+ i++;
++ moved = TRUE;
+ break;
+ case KEY_LEFT:
+ j += sj - 1;
++ moved = TRUE;
+ break;
+ case KEY_RIGHT:
+ j++;
++ moved = TRUE;
+ break;
+ case QUIT:
+ case ESCAPE:
+@@ -161,8 +199,13 @@
+
+ getmouse(&event);
+ if (event.y > uli && event.x > ulj) {
+- i = event.y - uli;
+- j = event.x - ulj;
++ if (parent != stdscr) {
++ i = event.y - getbegy(parent) - uli;
++ j = event.x - getbegx(parent) - ulj;
++ } else {
++ i = event.y - uli;
++ j = event.x - ulj;
++ }
+ } else {
+ beep();
+ break;
+@@ -175,8 +218,26 @@
+ res.x = ulj + j;
+ return (&res);
+ }
+- i %= si;
+- j %= sj;
++
++ if (si <= 0)
++ i = 0;
++ else
++ i %= si;
++
++ if (sj <= 0)
++ j = 0;
++ else
++ j %= sj;
++
++ /*
++ * If the caller can handle continuous movement, return the result.
++ */
++ if (moved && more) {
++ *more = TRUE;
++ res.y = uli + i;
++ res.x = ulj + j;
++ return (&res);
++ }
+ }
+ }
+
+@@ -194,12 +255,20 @@
+ bool result = FALSE;
+
+ head_line("Use arrows to move cursor, anything else to mark corner 1");
+- if ((tmp = selectcell(parent, min_line, min_col, max_line, max_col)) != 0) {
++ if ((tmp = selectcell(parent, 0,
++ min_line, min_col,
++ max_line, max_col,
++ FALSE,
++ (bool *) 0)) != 0) {
+ *ul = *tmp;
+ MvWAddCh(parent, ul->y, ul->x, '*');
+
+ head_line("Use arrows to move cursor, anything else to mark corner 2");
+- if ((tmp = selectcell(parent, ul->y, ul->x, max_line, max_col)) != 0) {
++ if ((tmp = selectcell(parent, 0,
++ ul->y, ul->x,
++ max_line, max_col,
++ FALSE,
++ (bool *) 0)) != 0) {
+ *lr = *tmp;
+ MvWAddCh(parent, lr->y, lr->x, '*');
+ wmove(parent, lr->y, lr->x);
+@@ -252,6 +321,8 @@
+ keypad(child, TRUE);
+ if (need > have) {
+ all_windows = typeRealloc(FRAME, need, all_windows);
++ if (!all_windows)
++ failed("add_window");
+ }
+ all_windows[num_windows].parent = parent;
+ all_windows[num_windows].child = child;
+@@ -341,10 +412,7 @@
+
+ for (n = 0; n < num_windows; ++n) {
+ if (all_windows[n].parent == parent) {
+- int y0, x0;
+-
+- getbegyx(all_windows[n].child, y0, x0);
+- mvwin(all_windows[n].child, y0 + dy, x0 + dx);
++ mvwin(all_windows[n].child, dy, dx);
+ recur_move_window(all_windows[n].child, dy, dx);
+ }
+ }
+@@ -366,20 +434,24 @@
+ int min_line = top ? LINE_MIN : 0;
+ int max_line = top ? LINE_MAX : getmaxy(parent);
+ PAIR *tmp;
++ bool more;
+
+ head_line("Select new position for %swindow", top ? "" : "sub");
+
+- if ((tmp = selectcell(parent,
+- min_line, min_col,
+- max_line, max_col)) != 0) {
++ while ((tmp = selectcell(parent,
++ win,
++ min_line, min_col,
++ max_line, max_col,
++ FALSE,
++ &more)) != 0) {
+ int y0, x0;
+ getbegyx(parent, y0, x0);
+ /*
+- * Note: Moving a subwindow has the effect of moving a viewport
+- * around the screen. The parent window retains the contents of
+- * the subwindow in the original location, but the viewport will
+- * show the contents (again) at the new location. So it will look
+- * odd when testing.
++ * Moving a subwindow has the effect of moving a viewport around
++ * the screen. The parent window retains the contents of the
++ * subwindow in the original location, but the viewport will show
++ * the contents (again) at the new location. So it will look odd
++ * when testing.
+ */
+ if (mvwin(win, y0 + tmp->y, x0 + tmp->x) != ERR) {
+ if (recur) {
+@@ -388,45 +460,69 @@
+ refresh_all(win);
+ doupdate();
+ result = TRUE;
++ } else {
++ result = FALSE;
+ }
++ if (!more)
++ break;
+ }
+ }
++ head_line("done");
+ return result;
+ }
+
++static void
++show_derwin(WINDOW *win)
++{
++ int pary, parx, maxy, maxx;
++
++ getmaxyx(win, maxy, maxx);
++ getparyx(win, pary, parx);
++
++ head_line("Select new position for derived window at %d,%d (%d,%d)",
++ pary, parx, maxy, maxx);
++}
++
+ /*
+ * test mvderwin().
+ */
+ static bool
+-move_subwin(WINDOW *win)
++move_derwin(WINDOW *win)
+ {
+ WINDOW *parent = parent_of(win);
+ bool result = FALSE;
+
+ if (parent != 0) {
+ bool top = (parent == stdscr);
+- if (!top) {
+- int min_col = top ? COL_MIN : 0;
+- int max_col = top ? COL_MAX : getmaxx(parent);
+- int min_line = top ? LINE_MIN : 0;
+- int max_line = top ? LINE_MAX : getmaxy(parent);
+- PAIR *tmp;
+-
+- head_line("Select new position for subwindow");
+-
+- if ((tmp = selectcell(parent,
+- min_line, min_col,
+- max_line, max_col)) != 0) {
+- int y0, x0;
+- getbegyx(parent, y0, x0);
+- if (mvderwin(win, y0 + tmp->y, x0 + tmp->x) != ERR) {
+- refresh_all(win);
+- doupdate();
+- result = TRUE;
+- }
++ int min_col = top ? COL_MIN : 0;
++ int max_col = top ? COL_MAX : getmaxx(parent);
++ int min_line = top ? LINE_MIN : 0;
++ int max_line = top ? LINE_MAX : getmaxy(parent);
++ PAIR *tmp;
++ bool more;
++
++ show_derwin(win);
++ while ((tmp = selectcell(parent,
++ win,
++ min_line, min_col,
++ max_line, max_col,
++ TRUE,
++ &more)) != 0) {
++ if (mvderwin(win, tmp->y, tmp->x) != ERR) {
++ refresh_all(win);
++ doupdate();
++ repaint_one(win);
++ doupdate();
++ result = TRUE;
++ show_derwin(win);
++ } else {
++ flash();
+ }
++ if (!more)
++ break;
+ }
+ }
++ head_line("done");
+ return result;
+ }
+
+@@ -449,6 +545,28 @@
+ wrefresh(win);
+ }
+
++static void
++fill_with_pattern(WINDOW *win)
++{
++ int y, x;
++ int y0, x0;
++ int y1, x1;
++ int ch = 'a';
++
++ getyx(win, y0, x0);
++ getmaxyx(win, y1, x1);
++ for (y = 0; y < y1; ++y) {
++ for (x = 0; x < x1; ++x) {
++ MvWAddCh(win, y, x, (chtype) ch);
++ if (++ch > 'z')
++ ch = 'a';
++ }
++ }
++ wsyncdown(win);
++ wmove(win, y0, x0);
++ wrefresh(win);
++}
++
+ #define lines_of(ul,lr) (lr.y - ul.y + 1)
+ #define cols_of(ul,lr) (lr.x - ul.x + 1)
+ #define pair_of(ul) ul.y, ul.x
+@@ -523,12 +641,13 @@
+ { 'b', "Draw a box inside the current window" },
+ { 'c', "Create a new window" },
+ { 'd', "Create a new derived window" },
++ { 'D', "Move derived window (moves viewport)" },
+ { 'f', "Fill the current window with the next character" },
++ { 'F', "Fill the current window with a pattern" },
+ { 'm', "Move the current window" },
+ { 'M', "Move the current window (and its children)" },
+ { 'q', "Quit" },
+ { 's', "Create a new subwindow" },
+- { 't', "Move the current subwindow (moves content)" },
+ { CTRL('L'), "Repaint all windows, doing current one last" },
+ { CTRL('N'), "Cursor to next window" },
+ { CTRL('P'), "Cursor to previous window" },
+@@ -571,6 +690,10 @@
+ #endif /* NCURSES_MOUSE_VERSION */
+
+ while (!done && (ch = wgetch(current_win)) != ERR) {
++ int y, x;
++
++ getyx(current_win, y, x);
++
+ switch (ch) {
+ case '?':
+ show_help(current_win);
+@@ -584,9 +707,18 @@
+ case 'd':
+ current_win = create_my_derwin(current_win);
+ break;
++ case 'D':
++ if (!move_derwin(current_win)) {
++ tail_line("error");
++ continue;
++ }
++ break;
+ case 'f':
+ fill_window(current_win, (chtype) wgetch(current_win));
+ break;
++ case 'F':
++ fill_with_pattern(current_win);
++ break;
+ case 'm':
+ case 'M':
+ if (!move_window(current_win, (ch == 'M'))) {
+@@ -600,12 +732,6 @@
+ case 's':
+ current_win = create_my_subwin(current_win);
+ break;
+- case 't':
+- if (!move_subwin(current_win)) {
+- tail_line("error");
+- continue;
+- }
+- break;
+ case CTRL('L'):
+ refresh_all(current_win);
+ break;
+@@ -621,6 +747,7 @@
+ /* want to allow deleting a window also */
+ #endif
+ default:
++ wmove(current_win, y, x);
+ tail_line("unrecognized key (use '?' for help)");
+ beep();
+ continue;
+Index: test/ncurses.c
+Prereq: 1.365
+--- ncurses-5.9/test/ncurses.c 2011-01-22 19:48:33.000000000 +0000
++++ ncurses-5.9-20130504/test/ncurses.c 2013-04-27 19:46:53.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,7 +40,7 @@
+ Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
+ Thomas E. Dickey (beginning revision 1.27 in 1996).
+
+-$Id: ncurses.c,v 1.365 2011/01/22 19:48:33 tom Exp $
++$Id: ncurses.c,v 1.389 2013/04/27 19:46:53 tom Exp $
+
+ ***************************************************************************/
+
+@@ -166,6 +166,14 @@
+
+ static void main_menu(bool);
+
++static void
++failed(const char *s)
++{
++ perror(s);
++ endwin();
++ ExitProgram(EXIT_FAILURE);
++}
++
+ /* The behavior of mvhline, mvvline for negative/zero length is unspecified,
+ * though we can rely on negative x/y values to stop the macro.
+ */
+@@ -490,7 +498,7 @@
+ #ifdef __MINGW32__
+ system("cmd.exe");
+ #else
+- system("sh");
++ IGNORE_RC(system("sh"));
+ #endif
+ if (message)
+ addstr("returned from shellout.\n");
+@@ -723,6 +731,8 @@
+ len_winstack = need;
+ winstack = typeRealloc(WINSTACK, len_winstack, winstack);
+ }
++ if (!winstack)
++ failed("remember_boxes");
+ winstack[level].text = txt_win;
+ winstack[level].frame = box_win;
+ }
+@@ -777,12 +787,21 @@
+ }
+ doupdate();
+ }
+-#endif /* resize_boxes */
++#endif /* resize_boxes */
+ #else
+ #define forget_boxes() /* nothing */
+ #define remember_boxes(level,text,frame) /* nothing */
+ #endif
+
++/*
++ * Return-code is OK/ERR or a keyname.
++ */
++static const char *
++ok_keyname(int code)
++{
++ return ((code == OK) ? "OK" : ((code == ERR) ? "ERR" : keyname(code)));
++}
++
+ static void
+ wgetch_test(unsigned level, WINDOW *win, int delay)
+ {
+@@ -824,9 +843,11 @@
+ } else if (c == 'g') {
+ waddstr(win, "getstr test: ");
+ echo();
+- wgetnstr(win, buf, sizeof(buf) - 1);
++ c = wgetnstr(win, buf, sizeof(buf) - 1);
+ noecho();
+- wprintw(win, "I saw %d characters:\n\t`%s'.", (int) strlen(buf), buf);
++ wprintw(win, "I saw %d characters:\n\t`%s' (%s).",
++ (int) strlen(buf), buf,
++ ok_keyname(c));
+ wclrtoeol(win);
+ wgetch_wrap(win, first_y);
+ } else if (c == 'k') {
+@@ -1023,6 +1044,8 @@
+ free(result);
+ result = 0;
+ }
++ } else {
++ failed("wcstos");
+ }
+ }
+ return result;
+@@ -1072,7 +1095,7 @@
+ } else if (c == 'g') {
+ waddstr(win, "getstr test: ");
+ echo();
+- code = wgetn_wstr(win, wint_buf, sizeof(wint_buf) - 1);
++ code = wgetn_wstr(win, wint_buf, BUFSIZ - 1);
+ noecho();
+ if (code == ERR) {
+ wprintw(win, "wgetn_wstr returns an error.");
+@@ -1394,7 +1417,7 @@
+ if (!(termattrs() & test)) {
+ printw(" (N/A)");
+ } else {
+- if (ncv > 0 && (getbkgd(stdscr) & A_COLOR)) {
++ if (ncv > 0 && stdscr && (getbkgd(stdscr) & A_COLOR)) {
+ static const chtype table[] =
+ {
+ A_STANDOUT,
+@@ -1637,6 +1660,7 @@
+ short pair;
+ wchar_t wch[10];
+
++ memset(&ch, 0, sizeof(ch));
+ if (getbkgrnd(&ch) != ERR) {
+ if (getcchar(&ch, wch, &attr, &pair, 0) != ERR) {
+ result = attr;
+@@ -1675,8 +1699,8 @@
+ add_wch(&ch);
+ }
+ } else {
+- attr_t old_attr;
+- short old_pair;
++ attr_t old_attr = 0;
++ short old_pair = 0;
+
+ (void) attr_get(&old_attr, &old_pair, 0);
+ (void) attr_set(attr, pair, 0);
+@@ -1895,7 +1919,7 @@
+ } else if (color < 0) {
+ strcpy(temp, "default");
+ } else {
+- strcpy(temp, the_color_names[color]);
++ sprintf(temp, "%.*s", 16, the_color_names[color]);
+ }
+ printw("%-*.*s", width, width, temp);
+ }
+@@ -2159,7 +2183,7 @@
+ bool opt_wide = FALSE;
+ bool opt_nums = FALSE;
+ bool opt_xchr = FALSE;
+- wchar_t buffer[10];
++ wchar_t buffer[80];
+ WINDOW *helpwin;
+
+ if (COLORS * COLORS == COLOR_PAIRS) {
+@@ -2220,7 +2244,7 @@
+
+ if (row >= 0 && move(row, col) != ERR) {
+ init_pair(pair, InxToFG(i), InxToBG(i));
+- color_set(pair, NULL);
++ (void) color_set(pair, NULL);
+ if (opt_acsc)
+ attr_on((attr_t) A_ALTCHARSET, NULL);
+ if (opt_bold)
+@@ -2972,7 +2996,7 @@
+ #endif
+ default:
+ if (cycle_attr(c, &at_code, &attr)) {
+- slk_attr_set(attr, (fg || bg), NULL);
++ slk_attr_set(attr, (short) (fg || bg), NULL);
+ slk_touch();
+ slk_noutrefresh();
+ break;
+@@ -3000,15 +3024,46 @@
+ #endif
+ #endif /* SLK_INIT */
+
+-/* ISO 6429: codes 0x80 to 0x9f may be control characters that cause the
++static void
++show_256_chars(int repeat, attr_t attr, short pair)
++{
++ unsigned first = 0;
++ unsigned last = 255;
++ unsigned code;
++ int count;
++
++ erase();
++ attron(A_BOLD);
++ MvPrintw(0, 20, "Display of Character Codes %#0x to %#0x",
++ first, last);
++ attroff(A_BOLD);
++ refresh();
++
++ for (code = first; code <= last; ++code) {
++ int row = (int) (2 + (code / 16));
++ int col = (int) (5 * (code % 16));
++ mvaddch(row, col, colored_chtype(code, attr, pair));
++ for (count = 1; count < repeat; ++count) {
++ addch(colored_chtype(code, attr, pair));
++ }
++ }
++
++}
++
++/*
++ * Show a slice of 32 characters, allowing those to be repeated up to the
++ * screen's width.
++ *
++ * ISO 6429: codes 0x80 to 0x9f may be control characters that cause the
+ * terminal to perform functions. The remaining codes can be graphic.
+ */
+ static void
+-show_upper_chars(unsigned first, int repeat, attr_t attr, short pair)
++show_upper_chars(int base, int pagesize, int repeat, attr_t attr, short pair)
+ {
+- bool C1 = (first == 128);
+ unsigned code;
+- unsigned last = first + 31;
++ unsigned first = (unsigned) base;
++ unsigned last = first + (unsigned) pagesize - 2;
++ bool C1 = (first == 128);
+ int reply;
+
+ erase();
+@@ -3020,8 +3075,8 @@
+
+ for (code = first; code <= last; code++) {
+ int count = repeat;
+- int row = 2 + ((int) (code - first) % 16);
+- int col = ((int) (code - first) / 16) * COLS / 2;
++ int row = 2 + ((int) (code - first) % (pagesize / 2));
++ int col = ((int) (code - first) / (pagesize / 2)) * COLS / 2;
+ char tmp[80];
+ sprintf(tmp, "%3u (0x%x)", code, code);
+ MvPrintw(row, col, "%*s: ", COLS / 4, tmp);
+@@ -3195,6 +3250,7 @@
+ acs_display(void)
+ {
+ int c = 'a';
++ int pagesize = 32;
+ char *term = getenv("TERM");
+ const char *pch_kludge = ((term != 0 && strstr(term, "linux"))
+ ? "p=PC, "
+@@ -3222,6 +3278,13 @@
+ else
+ beep();
+ break;
++ case 'w':
++ if (pagesize == 32) {
++ pagesize = 256;
++ } else {
++ pagesize = 32;
++ }
++ break;
+ case 'x':
+ ToggleAcs(last_show_acs, show_box_chars);
+ break;
+@@ -3265,15 +3328,18 @@
+ }
+ break;
+ }
+- if (last_show_acs != 0)
++ if (pagesize != 32) {
++ show_256_chars(repeat, attr, pair);
++ } else if (last_show_acs != 0) {
+ last_show_acs(repeat, attr, pair);
+- else
+- show_upper_chars((unsigned) (digit * 32 + 128), repeat, attr, pair);
++ } else {
++ show_upper_chars(digit * pagesize + 128, pagesize, repeat, attr, pair);
++ }
+
+ MvPrintw(LINES - 3, 0,
+ "Note: ANSI terminals may not display C1 characters.");
+ MvPrintw(LINES - 2, 0,
+- "Select: a=ACS, x=box, %s0=C1, 1-3,+/- non-ASCII, </> repeat, ESC=quit",
++ "Select: a=ACS, w=all x=box, %s0=C1, 1-3,+/- non-ASCII, </> repeat, ESC=quit",
+ pch_kludge);
+ if (use_colors) {
+ MvPrintw(LINES - 1, 0,
+@@ -3312,6 +3378,53 @@
+ return dst;
+ }
+
++/*
++ * Header/legend take up no more than 8 lines, leaving 16 lines on a 24-line
++ * display. If there are no repeats, we could normally display 16 lines of 64
++ * characters (1024 total). However, taking repeats and double-width cells
++ * into account, use 256 characters for the page.
++ */
++static void
++show_paged_widechars(int base,
++ int pagesize,
++ int repeat,
++ int space,
++ attr_t attr,
++ short pair)
++{
++ int first = base * pagesize;
++ int last = first + pagesize - 1;
++ int per_line = 16;
++ cchar_t temp;
++ wchar_t code;
++ wchar_t codes[10];
++
++ erase();
++ attron(A_BOLD);
++ MvPrintw(0, 20, "Display of Character Codes %#x to %#x", first, last);
++ attroff(A_BOLD);
++
++ for (code = first; (int) code <= last; code++) {
++ int row = (2 + ((int) code - first) / per_line);
++ int col = 5 * ((int) code % per_line);
++ int count;
++
++ memset(&codes, 0, sizeof(codes));
++ codes[0] = code;
++ setcchar(&temp, codes, attr, pair, 0);
++ move(row, col);
++ if (wcwidth(code) == 0 && code != 0) {
++ addch((chtype) space |
++ (A_REVERSE ^ attr) |
++ (attr_t) COLOR_PAIR(pair));
++ }
++ add_wch(&temp);
++ for (count = 1; count < repeat; ++count) {
++ add_wch(&temp);
++ }
++ }
++}
++
+ static void
+ show_upper_widechars(int first, int repeat, int space, attr_t attr, short pair)
+ {
+@@ -3332,11 +3445,13 @@
+ int count = repeat;
+ int y, x;
+
+- memset(&codes, 0, sizeof(codes));
+- codes[0] = code;
+ sprintf(tmp, "%3ld (0x%lx)", (long) code, (long) code);
+ MvPrintw(row, col, "%*s: ", COLS / 4, tmp);
++
++ memset(&codes, 0, sizeof(codes));
++ codes[0] = code;
+ setcchar(&temp, codes, attr, pair, 0);
++
+ do {
+ /*
+ * Give non-spacing characters something to combine with. If we
+@@ -3350,16 +3465,17 @@
+ (attr_t) COLOR_PAIR(pair));
+ }
+ /*
+- * This could use add_wch(), but is done for comparison with the
+- * normal 'f' test (and to make a test-case for echo_wchar()).
+- * The screen will flicker because the erase() at the top of the
+- * function is met by the builtin refresh() in echo_wchar().
++ * This uses echo_wchar(), for comparison with the normal 'f'
++ * test (and to make a test-case for echo_wchar()). The screen
++ * may flicker because the erase() at the top of the function
++ * is met by the builtin refresh() in echo_wchar().
+ */
+ echo_wchar(&temp);
+ /*
+ * The repeat-count may make text wrap - avoid that.
+ */
+ getyx(stdscr, y, x);
++ (void) y;
+ if (x >= col + (COLS / 2) - 2)
+ break;
+ } while (--count > 0);
+@@ -3612,7 +3728,7 @@
+
+ MvPrintw(row, col, "%*s : ", COLS / 4, name);
+ (void) attr_set(attr, pair, 0);
+- addstr(strcpy(temp, code));
++ addstr(strncpy(temp, code, 20));
+ (void) attr_set(A_NORMAL, 0, 0);
+ return n + 1;
+ }
+@@ -3680,6 +3796,7 @@
+ int digit = 0;
+ int repeat = 1;
+ int space = ' ';
++ int pagesize = 32;
+ chtype attr = A_NORMAL;
+ int fg = COLOR_BLACK;
+ int bg = COLOR_BLACK;
+@@ -3705,6 +3822,13 @@
+ ToggleAcs(last_show_wacs, show_wacs_chars_thick);
+ break;
+ #endif
++ case 'w':
++ if (pagesize == 32) {
++ pagesize = 256;
++ } else {
++ pagesize = 32;
++ }
++ break;
+ case 'x':
+ ToggleAcs(last_show_wacs, show_wbox_chars);
+ break;
+@@ -3738,20 +3862,25 @@
+ }
+ break;
+ }
+- if (last_show_wacs != 0)
++ if (pagesize != 32) {
++ show_paged_widechars(digit, pagesize, repeat, space, attr, pair);
++ } else if (last_show_wacs != 0) {
+ last_show_wacs(repeat, attr, pair);
+- else
++ } else {
+ show_upper_widechars(digit * 32 + 128, repeat, space, attr, pair);
++ }
+
+- MvPrintw(LINES - 3, 0,
+- "Select: a/d/t WACS, x box, u UTF-8, 0-9,+/- non-ASCII, </> repeat, ESC=quit");
++ MvPrintw(LINES - 4, 0,
++ "Select: a/d/t WACS, w=all x=box, u UTF-8, ^L repaint");
++ MvPrintw(LINES - 3, 2,
++ "0-9,+/- non-ASCII, </> repeat, _ space, ESC=quit");
+ if (use_colors) {
+- MvPrintw(LINES - 2, 0,
++ MvPrintw(LINES - 2, 2,
+ "v/V, f/F, b/B cycle through video attributes (%s) and color %d/%d.",
+ attrs_to_cycle[at_code].name,
+ fg, bg);
+ } else {
+- MvPrintw(LINES - 2, 0,
++ MvPrintw(LINES - 2, 2,
+ "v/V cycles through video attributes (%s).",
+ attrs_to_cycle[at_code].name);
+ }
+@@ -3779,7 +3908,7 @@
+ /* Use non-default colors if possible to exercise bce a little */
+ if (use_colors) {
+ init_pair(1, COLOR_WHITE, COLOR_BLUE);
+- normal |= COLOR_PAIR(1);
++ normal |= (chtype) COLOR_PAIR(1);
+ }
+ bkgdset(normal);
+ erase();
+@@ -4115,7 +4244,8 @@
+ outerbox(ul, lr, TRUE);
+ refresh();
+
+- wrefresh(rwindow);
++ if (rwindow != 0)
++ wrefresh(rwindow);
+
+ move(0, 0);
+ clrtoeol();
+@@ -4186,9 +4316,11 @@
+ switch (c) {
+ case CTRL('C'):
+ if ((neww = typeCalloc(FRAME, 1)) == 0) {
++ failed("acs_and_scroll");
+ goto breakout;
+ }
+ if ((neww->wind = getwindow()) == (WINDOW *) 0) {
++ failed("acs_and_scroll");
+ free(neww);
+ goto breakout;
+ }
+@@ -4269,12 +4401,16 @@
+
+ neww->next = current ? current->next : 0;
+ neww->last = current;
+- neww->last->next = neww;
+- neww->next->last = neww;
++ if (neww->last != 0)
++ neww->last->next = neww;
++ if (neww->next != 0)
++ neww->next->last = neww;
+
+ neww->wind = getwin(fp);
+
+ wrefresh(neww->wind);
++ } else {
++ failed("acs_and_scroll");
+ }
+ (void) fclose(fp);
+ }
+@@ -5226,7 +5362,7 @@
+ #ifdef A_COLOR
+ if (use_colors) {
+ init_pair(2, COLOR_CYAN, COLOR_BLUE);
+- wbkgd(subWin, COLOR_PAIR(2) | ' ');
++ wbkgd(subWin, (chtype) (COLOR_PAIR(2) | ' '));
+ }
+ #endif
+ (void) wattrset(subWin, A_BOLD);
+@@ -5449,6 +5585,8 @@
+ for (n = 0; t_tbl[n].name != 0; n++)
+ need += strlen(t_tbl[n].name) + 2;
+ buf = typeMalloc(char, need);
++ if (!buf)
++ failed("tracetrace");
+ }
+ sprintf(buf, "0x%02x = {", tlevel);
+ if (tlevel == 0) {
+@@ -5622,10 +5760,9 @@
+ set_form_sub(f, derwin(w, rows, cols, 1, 2));
+ box(w, 0, 0);
+ keypad(w, TRUE);
++ if (post_form(f) != E_OK)
++ wrefresh(w);
+ }
+-
+- if (post_form(f) != E_OK)
+- wrefresh(w);
+ }
+
+ static void
+@@ -5649,55 +5786,60 @@
+ if (field_info(me, &rows, &cols, &frow, &fcol, &nrow, &nbuf) == E_OK
+ && nbuf > 0) {
+ char *source = field_buffer(me, 1);
+- char temp[80];
++ size_t have = (source ? strlen(source) : 0) + 1;
++ size_t need = 80 + have;
++ char *temp = malloc(need);
+ long len;
+
+- strcpy(temp, source ? source : "");
+- len = (long) (char *) field_userptr(me);
+- if (c <= KEY_MAX) {
+- if (isgraph(c) && (len + 1) < (int) sizeof(temp)) {
+- temp[len++] = (char) c;
+- temp[len] = 0;
+- set_field_buffer(me, 1, temp);
+- c = '*';
+- } else {
+- c = 0;
+- }
+- } else {
+- switch (c) {
+- case REQ_BEG_FIELD:
+- case REQ_CLR_EOF:
+- case REQ_CLR_EOL:
+- case REQ_DEL_LINE:
+- case REQ_DEL_WORD:
+- case REQ_DOWN_CHAR:
+- case REQ_END_FIELD:
+- case REQ_INS_CHAR:
+- case REQ_INS_LINE:
+- case REQ_LEFT_CHAR:
+- case REQ_NEW_LINE:
+- case REQ_NEXT_WORD:
+- case REQ_PREV_WORD:
+- case REQ_RIGHT_CHAR:
+- case REQ_UP_CHAR:
+- c = 0; /* we don't want to do inline editing */
+- break;
+- case REQ_CLR_FIELD:
+- if (len) {
+- temp[0] = 0;
++ if (temp != 0) {
++ strncpy(temp, source ? source : "", have + 1);
++ len = (long) (char *) field_userptr(me);
++ if (c <= KEY_MAX) {
++ if (isgraph(c) && (len + 1) < (int) sizeof(temp)) {
++ temp[len++] = (char) c;
++ temp[len] = 0;
+ set_field_buffer(me, 1, temp);
++ c = '*';
++ } else {
++ c = 0;
+ }
+- break;
+- case REQ_DEL_CHAR:
+- case REQ_DEL_PREV:
+- if (len) {
+- temp[--len] = 0;
+- set_field_buffer(me, 1, temp);
++ } else {
++ switch (c) {
++ case REQ_BEG_FIELD:
++ case REQ_CLR_EOF:
++ case REQ_CLR_EOL:
++ case REQ_DEL_LINE:
++ case REQ_DEL_WORD:
++ case REQ_DOWN_CHAR:
++ case REQ_END_FIELD:
++ case REQ_INS_CHAR:
++ case REQ_INS_LINE:
++ case REQ_LEFT_CHAR:
++ case REQ_NEW_LINE:
++ case REQ_NEXT_WORD:
++ case REQ_PREV_WORD:
++ case REQ_RIGHT_CHAR:
++ case REQ_UP_CHAR:
++ c = 0; /* we don't want to do inline editing */
++ break;
++ case REQ_CLR_FIELD:
++ if (len) {
++ temp[0] = 0;
++ set_field_buffer(me, 1, temp);
++ }
++ break;
++ case REQ_DEL_CHAR:
++ case REQ_DEL_PREV:
++ if (len) {
++ temp[--len] = 0;
++ set_field_buffer(me, 1, temp);
++ }
++ break;
+ }
+- break;
+ }
++ set_field_userptr(me, (void *) len);
++ free(temp);
+ }
+- set_field_userptr(me, (void *) len);
+ }
+ return c;
+ }
+@@ -6056,11 +6198,11 @@
+ break;
+ case 2:
+ init_pair(cpair, COLOR_BLUE, COLOR_WHITE);
+- (void) wattrset(win, (attr_t) COLOR_PAIR(cpair) | A_NORMAL);
++ (void) wattrset(win, (int) (COLOR_PAIR(cpair) | A_NORMAL));
+ break;
+ case 3:
+ init_pair(cpair, COLOR_WHITE, COLOR_BLUE);
+- (void) wattrset(win, (attr_t) COLOR_PAIR(cpair) | A_BOLD);
++ (void) wattrset(win, (int) (COLOR_PAIR(cpair) | A_BOLD));
+ break;
+ }
+ }
+@@ -6483,6 +6625,7 @@
+ ," -a f,b set default-colors (assumed white-on-black)"
+ ," -d use default-colors if terminal supports them"
+ #endif
++ ," -E call use_env(FALSE) to ignore $LINES and $COLUMNS"
+ #if USE_SOFTKEYS
+ ," -e fmt specify format for soft-keys test (e)"
+ #endif
+@@ -6495,6 +6638,9 @@
+ #if USE_LIBPANEL
+ ," -s msec specify nominal time for panel-demo (default: 1, to hold)"
+ #endif
++#if defined(NCURSES_VERSION_PATCH) && (NCURSES_VERSION_PATCH >= 20120714)
++ ," -T call use_tioctl(TRUE) to allow SIGWINCH to override environment"
++#endif
+ #ifdef TRACE
+ ," -t mask specify default trace-level (may toggle with ^T)"
+ #endif
+@@ -6517,7 +6663,7 @@
+ }
+
+ #ifdef SIGUSR1
+-static RETSIGTYPE
++static void
+ announce_sig(int sig)
+ {
+ (void) fprintf(stderr, "Handled signal %d\r\n", sig);
+@@ -6681,17 +6827,27 @@
+
+ setlocale(LC_ALL, "");
+
+- while ((c = getopt(argc, argv, "a:de:fhmp:s:t:")) != -1) {
++ while ((c = getopt(argc, argv, "a:dEe:fhmp:s:Tt:")) != -1) {
+ switch (c) {
+ #ifdef NCURSES_VERSION
+ case 'a':
+ assumed_colors = TRUE;
+- sscanf(optarg, "%d,%d", &default_fg, &default_bg);
++ switch (sscanf(optarg, "%d,%d", &default_fg, &default_bg)) {
++ case 0:
++ default_fg = COLOR_WHITE;
++ /* FALLTHRU */
++ case 1:
++ default_bg = COLOR_BLACK;
++ break;
++ }
+ break;
+ case 'd':
+ default_colors = TRUE;
+ break;
+ #endif
++ case 'E':
++ use_env(FALSE);
++ break;
+ case 'e':
+ my_e_param = atoi(optarg);
+ #ifdef NCURSES_VERSION
+@@ -6721,6 +6877,11 @@
+ nap_msec = (int) atol(optarg);
+ break;
+ #endif
++#if defined(NCURSES_VERSION_PATCH) && (NCURSES_VERSION_PATCH >= 20120714)
++ case 'T':
++ use_tioctl(TRUE);
++ break;
++#endif
+ #ifdef TRACE
+ case 't':
+ save_trace = (unsigned) strtol(optarg, 0, 0);
+@@ -6761,7 +6922,7 @@
+ bkgdset(BLANK);
+
+ /* tests, in general, will want these modes */
+- use_colors = monochrome ? FALSE : has_colors();
++ use_colors = (bool) (monochrome ? FALSE : has_colors());
+
+ if (use_colors) {
+ start_color();
+@@ -6772,7 +6933,7 @@
+ use_default_colors();
+ min_colors = -1;
+ }
+-#if NCURSES_VERSION_PATCH >= 20000708
++#if HAVE_ASSUME_DEFAULT_COLORS
+ if (assumed_colors)
+ assume_default_colors(default_fg, default_bg);
+ #endif
+@@ -6785,6 +6946,8 @@
+ if (can_change_color()) {
+ short cp;
+ all_colors = typeMalloc(RGB_DATA, (unsigned) max_colors);
++ if (!all_colors)
++ failed("all_colors");
+ for (cp = 0; cp < max_colors; ++cp) {
+ color_content(cp,
+ &all_colors[cp].red,
+Index: test/newdemo.c
+Prereq: 1.35
+--- ncurses-5.9/test/newdemo.c 2010-12-12 00:19:15.000000000 +0000
++++ ncurses-5.9-20130504/test/newdemo.c 2013-04-27 19:46:53.000000000 +0000
+@@ -2,7 +2,7 @@
+ * newdemo.c - A demo program using PDCurses. The program illustrate
+ * the use of colours for text output.
+ *
+- * $Id: newdemo.c,v 1.35 2010/12/12 00:19:15 tom Exp $
++ * $Id: newdemo.c,v 1.40 2013/04/27 19:46:53 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -47,7 +47,7 @@
+ /*
+ * Trap interrupt
+ */
+-static RETSIGTYPE
++static void
+ trap(int sig GCC_UNUSED)
+ {
+ endwin();
+@@ -84,7 +84,7 @@
+ if (pair > COLOR_PAIRS)
+ pair = COLOR_PAIRS;
+ init_pair((short) pair, (short) foreground, (short) background);
+- (void) wattrset(win, (attr_t) COLOR_PAIR(pair));
++ (void) wattrset(win, (int) COLOR_PAIR(pair));
+ }
+ }
+
+@@ -96,7 +96,7 @@
+ pair = COLOR_PAIRS;
+ attrs |= (chtype) COLOR_PAIR(pair);
+ }
+- (void) wattrset(win, attrs);
++ (void) wattrset(win, (int) attrs);
+ return attrs;
+ }
+
+@@ -113,12 +113,19 @@
+ getbegyx(win, by, bx);
+ sw = w / 3;
+ sh = h / 3;
+- if ((swin1 = subwin(win, sh, sw, by + 3, bx + 5)) == NULL)
++
++ if ((swin1 = subwin(win, sh, sw, by + 3, bx + 5)) == NULL) {
+ return 1;
+- if ((swin2 = subwin(win, sh, sw, by + 4, bx + 8)) == NULL)
++ }
++ if ((swin2 = subwin(win, sh, sw, by + 4, bx + 8)) == NULL) {
++ delwin(swin1);
+ return 1;
+- if ((swin3 = subwin(win, sh, sw, by + 5, bx + 11)) == NULL)
++ }
++ if ((swin3 = subwin(win, sh, sw, by + 5, bx + 11)) == NULL) {
++ delwin(swin1);
++ delwin(swin2);
+ return 1;
++ }
+
+ set_colors(swin1, 8, COLOR_RED, COLOR_BLUE);
+ werase(swin1);
+@@ -215,7 +222,7 @@
+ {
+ WINDOW *win;
+ int w, x, y, i, j, k;
+- char buffer[200];
++ char buffer[SIZEOF(messages) * 80];
+ const char *message;
+ int width, height;
+ chtype save[80];
+Index: test/programs
+Prereq: 1.19
+--- ncurses-5.9/test/programs 2009-09-12 19:44:01.000000000 +0000
++++ ncurses-5.9-20130504/test/programs 2013-01-13 00:46:13.000000000 +0000
+@@ -1,6 +1,6 @@
+-# $Id: programs,v 1.19 2009/09/12 19:44:01 tom Exp $
++# $Id: programs,v 1.21 2013/01/13 00:46:13 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2006-2008,2009 Free Software Foundation, Inc. #
++# Copyright (c) 2006-2009,2013 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -83,6 +83,8 @@
+ test_instr $(LDFLAGS_CURSES) $(LOCAL_LIBS) test_instr
+ test_inwstr $(LDFLAGS_CURSES) $(LOCAL_LIBS) test_inwstr
+ test_opaque $(LDFLAGS_CURSES) $(LOCAL_LIBS) test_opaque
++test_vid_puts $(LDFLAGS_CURSES) $(LOCAL_LIBS) test_vid_puts
++test_vidputs $(LDFLAGS_CURSES) $(LOCAL_LIBS) test_vidputs
+ testaddch $(LDFLAGS_CURSES) $(LOCAL_LIBS) testaddch
+ testcurs $(LDFLAGS_CURSES) $(LOCAL_LIBS) testcurs
+ testscanw $(LDFLAGS_CURSES) $(LOCAL_LIBS) testscanw
+Index: test/railroad.c
+Prereq: 1.19
+--- ncurses-5.9/test/railroad.c 2009-10-24 21:37:56.000000000 +0000
++++ ncurses-5.9-20130504/test/railroad.c 2011-04-23 19:15:04.000000000 +0000
+@@ -29,7 +29,7 @@
+ /*
+ * Author: Thomas E. Dickey - 2000
+ *
+- * $Id: railroad.c,v 1.19 2009/10/24 21:37:56 tom Exp $
++ * $Id: railroad.c,v 1.20 2011/04/23 19:15:04 tom Exp $
+ *
+ * A simple demo of the termcap interface.
+ */
+@@ -55,8 +55,8 @@
+
+ static bool interrupted = FALSE;
+
+-static int
+-outc(TPUTS_ARG c)
++static
++TPUTS_PROTO(outc, c)
+ {
+ int rc = OK;
+
+@@ -68,7 +68,7 @@
+ if (putc(c, stdout) == EOF)
+ rc = ERR;
+ }
+- return rc;
++ TPUTS_RETURN(rc);
+ }
+
+ static void
+Index: test/rain.c
+Prereq: 1.38
+--- ncurses-5.9/test/rain.c 2010-11-13 20:11:46.000000000 +0000
++++ ncurses-5.9-20130504/test/rain.c 2012-01-21 23:54:47.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: rain.c,v 1.38 2010/11/13 20:11:46 tom Exp $
++ * $Id: rain.c,v 1.40 2012/01/21 23:54:47 tom Exp $
+ */
+ #include <test.priv.h>
+
+@@ -222,7 +222,7 @@
+ * Find myself in the list of threads so we can count the number of loops.
+ */
+ for (mystats = 0; mystats < MAX_THREADS; ++mystats) {
+-#ifdef __MINGW32__
++#if defined(__MINGW32__) && !defined(__WINPTHREADS_VERSION)
+ if (drop_threads[mystats].myself.p == pthread_self().p)
+ #else
+ if (drop_threads[mystats].myself == pthread_self())
+@@ -256,7 +256,7 @@
+ /*
+ * The description of pthread_create() is misleading, since it implies that
+ * threads will exit cleanly after their function returns.
+- *
++ *
+ * Since they do not (and the number of threads is limited by system
+ * resources), make a limited number of threads, and signal any that are
+ * waiting when we want a thread past that limit.
+Index: test/redraw.c
+Prereq: 1.5
+--- ncurses-5.9/test/redraw.c 2010-05-01 22:04:08.000000000 +0000
++++ ncurses-5.9-20130504/test/redraw.c 2012-12-08 20:46:02.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2006-2007,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2006-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: redraw.c,v 1.5 2010/05/01 22:04:08 tom Exp $
++ * $Id: redraw.c,v 1.8 2012/12/08 20:46:02 tom Exp $
+ *
+ * Demonstrate the redrawwin() and wredrawln() functions.
+ * Thomas Dickey - 2006/11/4
+@@ -113,7 +113,7 @@
+ * using mvcur(). It is ifdef'd for NCURSES, since X/Open does
+ * not define the case where the old location is unknown.
+ */
+- system("date");
++ IGNORE_RC(system("date"));
+ mvcur(-1, -1, y, x);
+ break;
+ #endif
+Index: test/tclock.c
+Prereq: 1.30
+--- ncurses-5.9/test/tclock.c 2011-03-22 09:16:00.000000000 +0000
++++ ncurses-5.9-20130504/test/tclock.c 2012-06-09 19:17:02.000000000 +0000
+@@ -1,4 +1,4 @@
+-/* $Id: tclock.c,v 1.30 2011/03/22 09:16:00 tom Exp $ */
++/* $Id: tclock.c,v 1.31 2012/06/09 19:17:02 tom Exp $ */
+
+ #include <test.priv.h>
+
+@@ -216,12 +216,12 @@
+ attroff(A_REVERSE);
+
+ if (has_colors())
+- (void) attrset(COLOR_PAIR(1));
++ (void) attrset((attr_t) COLOR_PAIR(1));
+
+ dline(1, cx, cy, cx + sdx, cy - sdy, 'O');
+
+ if (has_colors())
+- (void) attrset(COLOR_PAIR(0));
++ (void) attrset((attr_t) COLOR_PAIR(0));
+
+ text = ctime(&tim);
+ MvPrintw(2, 0, "%.*s", (int) (strlen(text) - 1), text);
+Index: test/test.priv.h
+Prereq: 1.103
+--- ncurses-5.9/test/test.priv.h 2011-03-22 09:15:45.000000000 +0000
++++ ncurses-5.9-20130504/test/test.priv.h 2013-02-10 01:00:04.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,7 +29,7 @@
+ /****************************************************************************
+ * Author: Thomas E. Dickey 1996-on *
+ ****************************************************************************/
+-/* $Id: test.priv.h,v 1.103 2011/03/22 09:15:45 tom Exp $ */
++/* $Id: test.priv.h,v 1.117 2013/02/10 01:00:04 tom Exp $ */
+
+ #ifndef __TEST_PRIV_H
+ #define __TEST_PRIV_H 1
+@@ -58,6 +58,10 @@
+ /*
+ * Fallback definitions to accommodate broken compilers.
+ */
++#ifndef HAVE_ASSUME_DEFAULT_COLORS
++#define HAVE_ASSUME_DEFAULT_COLORS 0
++#endif
++
+ #ifndef HAVE_CURSES_VERSION
+ #define HAVE_CURSES_VERSION 0
+ #endif
+@@ -170,10 +174,22 @@
+ #define HAVE_SLK_INIT 0
+ #endif
+
++#ifndef HAVE_SYS_IOCTL_H
++#define HAVE_SYS_IOCTL_H 0
++#endif
++
++#ifndef HAVE_SYS_SELECT_H
++#define HAVE_SYS_SELECT_H 0
++#endif
++
+ #ifndef HAVE_TERMATTRS
+ #define HAVE_TERMATTRS 0
+ #endif
+
++#ifndef HAVE_TERMIOS_H
++#define HAVE_TERMIOS_H 0
++#endif
++
+ #ifndef HAVE_TERMNAME
+ #define HAVE_TERMNAME 0
+ #endif
+@@ -202,6 +218,14 @@
+ #define HAVE_USE_DEFAULT_COLORS 0
+ #endif
+
++#ifndef HAVE_USE_SCREEN
++#define HAVE_USE_SCREEN 0
++#endif
++
++#ifndef HAVE_USE_WINDOW
++#define HAVE_USE_WINDOW 0
++#endif
++
+ #ifndef HAVE_WRESIZE
+ #define HAVE_WRESIZE 0
+ #endif
+@@ -222,6 +246,13 @@
+ #define NO_LEAKS 0
+ #endif
+
++/*
++ * Workaround for HPUX
++ */
++#if defined(__hpux) && !defined(NCURSES_VERSION)
++#define _ACS_COMPAT_CODE /* needed for acs_map vs __acs_map */
++#endif
++
+ #include <stdlib.h>
+ #include <stdarg.h>
+ #include <string.h>
+@@ -269,21 +300,18 @@
+
+ /*
+ * Not all curses.h implementations include unctrl.h,
+- * Solaris 10 xpg4 for example.
+ */
+-#if defined(NCURSES_VERSION) || defined(_XOPEN_CURSES)
+-#if defined(HAVE_NCURSESW_NCURSES_H)
++#if defined(HAVE_NCURSESW_UNCTRL_H)
+ #include <ncursesw/unctrl.h>
+-#elif defined(HAVE_NCURSES_NCURSES_H)
++#elif defined(HAVE_NCURSES_UNCTRL_H)
+ #include <ncurses/unctrl.h>
+-#else
++#elif defined(HAVE_UNCTRL_H)
+ #include <unctrl.h>
+ #endif
+-#endif
+
+ #if HAVE_GETOPT_H
+ #include <getopt.h>
+-#else
++#elif !defined(HAVE_GETOPT_HEADER)
+ /* 'getopt()' may be prototyped in <stdlib.h>, but declaring its variables
+ * doesn't hurt.
+ */
+@@ -323,17 +351,20 @@
+ #endif
+
+ #if !USE_SOFTKEYS
+-#define slk_init() /* nothing */
+-#define slk_restore() /* nothing */
+-#define slk_clear() /* nothing */
++#define slk_init() /* nothing */
++#define slk_restore() /* nothing */
++#define slk_clear() /* nothing */
+ #endif
+
+ #ifndef HAVE_WSYNCDOWN
+-#define wsyncdown(win) /* nothing */
++#define wsyncdown(win) /* nothing */
+ #endif
+
+ #ifndef USE_WIDEC_SUPPORT
+-#if (defined(_XOPEN_SOURCE_EXTENDED) || defined(_XPG5)) && defined(WACS_ULCORNER)
++#if (defined(_XOPEN_SOURCE_EXTENDED) \
++ || (defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE - 0 >= 500)) \
++ || (defined(NCURSES_WIDECHAR) && (NCURSES_WIDECHAR - 0 < 1))) \
++ && defined(WACS_ULCORNER)
+ #define USE_WIDEC_SUPPORT 1
+ #else
+ #define USE_WIDEC_SUPPORT 0
+@@ -609,8 +640,28 @@
+ #define EXIT_FAILURE 1
+ #endif
+
+-#ifdef __MINGW32__
++#if defined(__MINGW32__)
++
++#if defined(PDCURSES)
++#ifdef WINVER
++# if WINVER < 0x0501
++# error WINVER must at least be 0x0501
++# endif
++#else
++# define WINVER 0x0501
++#endif
++#include <windows.h>
++#include <sys/time.h> /* for struct timeval */
++#undef sleep
++#define sleep(n) Sleep((n) * 1000)
++#define SIGHUP 1
++#define SIGKILL 9
++#define getlogin() "username"
++
++#else
+ #include <nc_mingw.h>
++#endif
++
+ /* conflicts in test/firstlast.c */
+ #undef large
+ #undef small
+@@ -653,25 +704,32 @@
+ * The same would be needed for HPUX 10.20
+ */
+ #ifndef TPUTS_ARG
++#define TPUTS_ARG int
++#endif
++
+ #if defined(sun) && !defined(_XOPEN_CURSES) && !defined(NCURSES_VERSION_PATCH)
++#undef TPUTS_ARG
+ #define TPUTS_ARG char
+ extern char *tgoto(char *, int, int); /* available, but not prototyped */
+-#else
+-#define TPUTS_ARG int
+ #endif
++
++#ifndef TPUTS_PROTO
++#define TPUTS_PROTO(func,value) int func(TPUTS_ARG value)
++#endif
++
++#ifndef TPUTS_RETURN
++#define TPUTS_RETURN(value) return value
+ #endif
+
+ /*
+ * Workarounds for Solaris's X/Open curses
+ */
+-#if defined(sun) && defined(_XOPEN_CURSES) && !defined(NCURSES_VERSION_PATCH)
+ #if !defined(KEY_MIN) && defined(__KEY_MIN)
+ #define KEY_MIN __KEY_MIN
+ #endif
+ #if !defined(KEY_MAX) && defined(__KEY_MIN)
+ #define KEY_MAX __KEY_MAX
+ #endif
+-#endif
+
+ /*
+ * Workaround to build with Sun's default SVr4 curses.
+@@ -702,23 +760,10 @@
+ #define CONST_MENUS /* nothing */
+ #endif
+
+-#ifndef HAVE_USE_WINDOW
+-#if !defined(NCURSES_VERSION_PATCH) || (NCURSES_VERSION_PATCH < 20070915) || !NCURSES_EXT_FUNCS
+-#define HAVE_USE_WINDOW 0
+-#else
+-#define HAVE_USE_WINDOW 1
+-#endif
+-#endif
+-
+ /*
+ * Simplify setting up demo of threading with these macros.
+ */
+
+-#if !HAVE_USE_WINDOW
+-typedef int (*NCURSES_WINDOW_CB) (WINDOW *, void *);
+-typedef int (*NCURSES_SCREEN_CB) (SCREEN *, void *);
+-#endif
+-
+ #if HAVE_USE_WINDOW
+ #define USING_WINDOW(w,func) use_window(w, (NCURSES_WINDOW_CB) func, w)
+ #define USING_WINDOW2(w,func,data) use_window(w, (NCURSES_WINDOW_CB) func, data)
+@@ -745,6 +790,8 @@
+ #define USE_TRACE 0
+ #endif
+
++#define Trace2(p) /* nothing */
++
+ #define MvAddCh (void) mvaddch
+ #define MvWAddCh (void) mvwaddch
+ #define MvAddStr (void) mvaddstr
+Index: test/test_add_wchstr.c
+Prereq: 1.15
+--- ncurses-5.9/test/test_add_wchstr.c 2011-01-15 18:15:11.000000000 +0000
++++ ncurses-5.9-20130504/test/test_add_wchstr.c 2012-12-16 00:12:04.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2009,2010,2011 Free Software Foundation, Inc. *
++ * Copyright (c) 2010-2011,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: test_add_wchstr.c,v 1.15 2011/01/15 18:15:11 tom Exp $
++ * $Id: test_add_wchstr.c,v 1.20 2012/12/16 00:12:04 tom Exp $
+ *
+ * Demonstrate the waddwchstr() and wadd_wch functions.
+ * Thomas Dickey - 2009/9/12
+@@ -90,6 +90,8 @@
+ if (need > temp_length) { \
+ temp_length = need * 2; \
+ temp_buffer = typeRealloc(cchar_t, temp_length, temp_buffer); \
++ if (!temp_buffer) \
++ failed("TempBuffer"); \
+ } \
+ have[0] = 0; \
+ have[1] = 0; \
+@@ -317,6 +319,15 @@
+ (void) cbreak(); /* take input chars one at a time, no wait for \n */
+ (void) noecho(); /* don't echo input */
+ keypad(stdscr, TRUE);
++
++ /*
++ * Show the characters added in color, to distinguish from those that
++ * are shifted.
++ */
++ if (has_colors()) {
++ start_color();
++ init_pair(1, COLOR_WHITE, COLOR_BLUE);
++ }
+ }
+
+ limit = LINES - 5;
+@@ -350,14 +361,8 @@
+
+ doupdate();
+
+- /*
+- * Show the characters added in color, to distinguish from those that
+- * are shifted.
+- */
+ if (has_colors()) {
+- start_color();
+- init_pair(1, COLOR_WHITE, COLOR_BLUE);
+- wbkgdset(work, COLOR_PAIR(1) | ' ');
++ wbkgdset(work, (chtype) (COLOR_PAIR(1) | ' '));
+ }
+
+ while ((ch = read_linedata(work)) != ERR && !isQUIT(ch)) {
+@@ -366,11 +371,13 @@
+ case key_RECUR:
+ test_add_wchstr(level + 1);
+
+- touchwin(look);
++ if (look)
++ touchwin(look);
+ touchwin(work);
+ touchwin(show);
+
+- wnoutrefresh(look);
++ if (look)
++ wnoutrefresh(look);
+ wnoutrefresh(work);
+ wnoutrefresh(show);
+
+@@ -514,8 +521,8 @@
+ break;
+ }
+ }
++ delwin(show);
+ if (level > 0) {
+- delwin(show);
+ delwin(work);
+ delwin(look);
+ }
+Index: test/test_addchstr.c
+Prereq: 1.13
+--- ncurses-5.9/test/test_addchstr.c 2010-12-12 01:28:24.000000000 +0000
++++ ncurses-5.9-20130504/test/test_addchstr.c 2012-12-16 00:36:27.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2009-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: test_addchstr.c,v 1.13 2010/12/12 01:28:24 tom Exp $
++ * $Id: test_addchstr.c,v 1.18 2012/12/16 00:36:27 tom Exp $
+ *
+ * Demonstrate the waddchstr() and waddch functions.
+ * Thomas Dickey - 2009/9/12
+@@ -101,6 +101,8 @@
+ if (need > temp_length) {
+ temp_length = need * 2;
+ temp_buffer = typeRealloc(chtype, temp_length, temp_buffer);
++ if (!temp_buffer)
++ failed("TempBuffer");
+ }
+ do {
+ const char *s;
+@@ -237,6 +239,15 @@
+ (void) cbreak(); /* take input chars one at a time, no wait for \n */
+ (void) noecho(); /* don't echo input */
+ keypad(stdscr, TRUE);
++
++ /*
++ * Show the characters added in color, to distinguish from those that
++ * are shifted.
++ */
++ if (has_colors()) {
++ start_color();
++ init_pair(1, COLOR_WHITE, COLOR_BLUE);
++ }
+ }
+
+ limit = LINES - 5;
+@@ -270,14 +281,8 @@
+
+ doupdate();
+
+- /*
+- * Show the characters added in color, to distinguish from those that
+- * are shifted.
+- */
+ if (has_colors()) {
+- start_color();
+- init_pair(1, COLOR_WHITE, COLOR_BLUE);
+- show_attr = COLOR_PAIR(1);
++ show_attr = (attr_t) COLOR_PAIR(1);
+ wbkgdset(work, show_attr | ' ');
+ } else {
+ show_attr = A_STANDOUT;
+@@ -289,11 +294,13 @@
+ case key_RECUR:
+ test_adds(level + 1);
+
+- touchwin(look);
++ if (look)
++ touchwin(look);
+ touchwin(work);
+ touchwin(show);
+
+- wnoutrefresh(look);
++ if (look)
++ wnoutrefresh(look);
+ wnoutrefresh(work);
+ wnoutrefresh(show);
+
+@@ -445,10 +452,10 @@
+ }
+ }
+ if (level > 0) {
+- delwin(show);
+ delwin(work);
+ delwin(look);
+ }
++ delwin(show);
+ }
+
+ static void
+Index: test/test_addstr.c
+Prereq: 1.6
+--- ncurses-5.9/test/test_addstr.c 2010-12-12 00:17:37.000000000 +0000
++++ ncurses-5.9-20130504/test/test_addstr.c 2012-12-16 00:14:10.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2009-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: test_addstr.c,v 1.6 2010/12/12 00:17:37 tom Exp $
++ * $Id: test_addstr.c,v 1.10 2012/12/16 00:14:10 tom Exp $
+ *
+ * Demonstrate the waddstr() and waddch functions.
+ * Thomas Dickey - 2009/9/12
+@@ -161,6 +161,15 @@
+ (void) cbreak(); /* take input chars one at a time, no wait for \n */
+ (void) noecho(); /* don't echo input */
+ keypad(stdscr, TRUE);
++
++ /*
++ * Show the characters added in color, to distinguish from those that
++ * are shifted.
++ */
++ if (has_colors()) {
++ start_color();
++ init_pair(1, COLOR_WHITE, COLOR_BLUE);
++ }
+ }
+
+ limit = LINES - 5;
+@@ -194,14 +203,8 @@
+
+ doupdate();
+
+- /*
+- * Show the characters added in color, to distinguish from those that
+- * are shifted.
+- */
+ if (has_colors()) {
+- start_color();
+- init_pair(1, COLOR_WHITE, COLOR_BLUE);
+- wbkgdset(work, COLOR_PAIR(1) | ' ');
++ wbkgdset(work, (chtype) (COLOR_PAIR(1) | ' '));
+ }
+
+ while ((ch = read_linedata(work)) != ERR && !isQUIT(ch)) {
+@@ -210,11 +213,13 @@
+ case key_RECUR:
+ test_adds(level + 1);
+
+- touchwin(look);
++ if (look)
++ touchwin(look);
+ touchwin(work);
+ touchwin(show);
+
+- wnoutrefresh(look);
++ if (look)
++ wnoutrefresh(look);
+ wnoutrefresh(work);
+ wnoutrefresh(show);
+
+@@ -361,8 +366,8 @@
+ break;
+ }
+ }
++ delwin(show);
+ if (level > 0) {
+- delwin(show);
+ delwin(work);
+ delwin(look);
+ }
+Index: test/test_addwstr.c
+Prereq: 1.6
+--- ncurses-5.9/test/test_addwstr.c 2010-12-12 00:18:00.000000000 +0000
++++ ncurses-5.9-20130504/test/test_addwstr.c 2012-12-16 00:11:18.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 2009-2010,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: test_addwstr.c,v 1.6 2010/12/12 00:18:00 tom Exp $
++ * $Id: test_addwstr.c,v 1.11 2012/12/16 00:11:18 tom Exp $
+ *
+ * Demonstrate the waddwstr() and wadd_wch functions.
+ * Thomas Dickey - 2009/9/12
+@@ -233,8 +233,9 @@
+ WINDOW *work = 0;
+ WINDOW *show = 0;
+ int margin = (2 * MY_TABSIZE) - 1;
+- Options option = ((m_opt ? oMove : oDefault)
+- | ((w_opt || (level > 0)) ? oWindow : oDefault));
++ Options option = (Options) ((int) (m_opt ? oMove : oDefault)
++ | (int) ((w_opt || (level > 0))
++ ? oWindow : oDefault));
+
+ if (first) {
+ static char cmd[80];
+@@ -246,6 +247,15 @@
+ (void) cbreak(); /* take input chars one at a time, no wait for \n */
+ (void) noecho(); /* don't echo input */
+ keypad(stdscr, TRUE);
++
++ /*
++ * Show the characters inserted in color, to distinguish from those that
++ * are shifted.
++ */
++ if (has_colors()) {
++ start_color();
++ init_pair(1, COLOR_WHITE, COLOR_BLUE);
++ }
+ }
+
+ limit = LINES - 5;
+@@ -279,14 +289,8 @@
+
+ doupdate();
+
+- /*
+- * Show the characters inserted in color, to distinguish from those that
+- * are shifted.
+- */
+ if (has_colors()) {
+- start_color();
+- init_pair(1, COLOR_WHITE, COLOR_BLUE);
+- wbkgdset(work, COLOR_PAIR(1) | ' ');
++ wbkgdset(work, (chtype) (COLOR_PAIR(1) | ' '));
+ }
+
+ while ((ch = read_linedata(work)) != ERR && !isQUIT(ch)) {
+@@ -295,11 +299,13 @@
+ case key_RECUR:
+ test_inserts(level + 1);
+
+- touchwin(look);
++ if (look)
++ touchwin(look);
+ touchwin(work);
+ touchwin(show);
+
+- wnoutrefresh(look);
++ if (look)
++ wnoutrefresh(look);
+ wnoutrefresh(work);
+ wnoutrefresh(show);
+
+@@ -445,8 +451,8 @@
+ break;
+ }
+ }
++ delwin(show);
+ if (level > 0) {
+- delwin(show);
+ delwin(work);
+ delwin(look);
+ }
+Index: test/test_getstr.c
+Prereq: 1.9
+--- ncurses-5.9/test/test_getstr.c 2009-08-29 19:02:25.000000000 +0000
++++ ncurses-5.9-20130504/test/test_getstr.c 2012-07-07 18:22:49.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2007-2008,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 2007-2009,2012 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ * authorization. *
+ ****************************************************************************/
+ /*
+- * $Id: test_getstr.c,v 1.9 2009/08/29 19:02:25 tom Exp $
++ * $Id: test_getstr.c,v 1.10 2012/07/07 18:22:49 tom Exp $
+ *
+ * Author: Thomas E Dickey
+ *
+@@ -58,6 +58,15 @@
+ eMaxFlavor
+ } Flavors;
+
++/*
++ * Return-code is OK/ERR or a keyname.
++ */
++static const char *
++ok_keyname(int code)
++{
++ return ((code == OK) ? "OK" : ((code == ERR) ? "ERR" : keyname(code)));
++}
++
+ static bool
+ Quit(int ch)
+ {
+@@ -310,7 +319,7 @@
+ }
+ noecho();
+ (void) wattrset(txtwin, A_NORMAL);
+- wprintw(strwin, "%d:%s", rc, buffer);
++ wprintw(strwin, "%s:%s", ok_keyname(rc), buffer);
+ wnoutrefresh(strwin);
+ break;
+ default:
+Index: test/test_vid_puts.c
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/test/test_vid_puts.c 2013-01-13 01:04:14.000000000 +0000
+@@ -0,0 +1,148 @@
++/****************************************************************************
++ * Copyright (c) 2013 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++/*
++ * $Id: test_vid_puts.c,v 1.4 2013/01/13 01:04:14 tom Exp $
++ *
++ * Demonstrate the vid_puts and vid_attr functions.
++ * Thomas Dickey - 2013/01/12
++ */
++
++#define USE_TINFO
++#include <test.priv.h>
++
++#if USE_WIDEC_SUPPORT && HAVE_SETUPTERM
++
++#define valid(s) ((s != 0) && s != (char *)-1)
++
++static FILE *my_fp;
++static bool p_opt = FALSE;
++
++static
++TPUTS_PROTO(outc, c)
++{
++ int rc = c;
++
++ rc = putc(c, my_fp);
++ TPUTS_RETURN(rc);
++}
++
++static bool
++outs(char *s)
++{
++ if (valid(s)) {
++ tputs(s, 1, outc);
++ return TRUE;
++ }
++ return FALSE;
++}
++
++static void
++cleanup(void)
++{
++ outs(exit_attribute_mode);
++ if (!outs(orig_colors))
++ outs(orig_pair);
++ outs(cursor_normal);
++}
++
++static void
++change_attr(chtype attr)
++{
++ if (p_opt) {
++ vid_puts(attr, (short) 0, (void *) 0, outc);
++ } else {
++ vid_attr(attr, (short) 0, (void *) 0);
++ }
++}
++
++static void
++test_vid_puts(void)
++{
++ fprintf(my_fp, "Name: ");
++ change_attr(A_BOLD);
++ fputs("Bold", my_fp);
++ change_attr(A_REVERSE);
++ fputs(" Reverse", my_fp);
++ change_attr(A_NORMAL);
++ fputs("\n", my_fp);
++}
++
++static void
++usage(void)
++{
++ static const char *tbl[] =
++ {
++ "Usage: test_vid_puts [options]"
++ ,""
++ ,"Options:"
++ ," -e use stderr (default stdout)"
++ ," -p use vid_puts (default vid_attr)"
++ };
++ unsigned n;
++ for (n = 0; n < SIZEOF(tbl); ++n)
++ fprintf(stderr, "%s\n", tbl[n]);
++ ExitProgram(EXIT_FAILURE);
++}
++
++int
++main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
++{
++ int ch;
++
++ my_fp = stdout;
++
++ while ((ch = getopt(argc, argv, "ep")) != -1) {
++ switch (ch) {
++ case 'e':
++ my_fp = stderr;
++ break;
++ case 'p':
++ p_opt = TRUE;
++ break;
++ default:
++ usage();
++ break;
++ }
++ }
++ if (optind < argc)
++ usage();
++
++ setupterm((char *) 0, 1, (int *) 0);
++ test_vid_puts();
++ cleanup();
++ ExitProgram(EXIT_SUCCESS);
++}
++
++#else
++int
++main(void)
++{
++ printf("This program requires the wide-ncurses terminfo library\n");
++ ExitProgram(EXIT_FAILURE);
++}
++#endif
+Index: test/test_vidputs.c
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/test/test_vidputs.c 2013-01-13 00:58:54.000000000 +0000
+@@ -0,0 +1,148 @@
++/****************************************************************************
++ * Copyright (c) 2013 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++/*
++ * $Id: test_vidputs.c,v 1.3 2013/01/13 00:58:54 tom Exp $
++ *
++ * Demonstrate the vidputs and vidattr functions.
++ * Thomas Dickey - 2013/01/12
++ */
++
++#define USE_TINFO
++#include <test.priv.h>
++
++#if HAVE_SETUPTERM
++
++#define valid(s) ((s != 0) && s != (char *)-1)
++
++static FILE *my_fp;
++static bool p_opt = FALSE;
++
++static
++TPUTS_PROTO(outc, c)
++{
++ int rc = c;
++
++ rc = putc(c, my_fp);
++ TPUTS_RETURN(rc);
++}
++
++static bool
++outs(char *s)
++{
++ if (valid(s)) {
++ tputs(s, 1, outc);
++ return TRUE;
++ }
++ return FALSE;
++}
++
++static void
++cleanup(void)
++{
++ outs(exit_attribute_mode);
++ if (!outs(orig_colors))
++ outs(orig_pair);
++ outs(cursor_normal);
++}
++
++static void
++change_attr(chtype attr)
++{
++ if (p_opt) {
++ vidputs(attr, outc);
++ } else {
++ vidattr(attr);
++ }
++}
++
++static void
++test_vidputs(void)
++{
++ fprintf(my_fp, "Name: ");
++ change_attr(A_BOLD);
++ fputs("Bold", my_fp);
++ change_attr(A_REVERSE);
++ fputs(" Reverse", my_fp);
++ change_attr(A_NORMAL);
++ fputs("\n", my_fp);
++}
++
++static void
++usage(void)
++{
++ static const char *tbl[] =
++ {
++ "Usage: test_vidputs [options]"
++ ,""
++ ,"Options:"
++ ," -e use stderr (default stdout)"
++ ," -p use vidputs (default vidattr)"
++ };
++ unsigned n;
++ for (n = 0; n < SIZEOF(tbl); ++n)
++ fprintf(stderr, "%s\n", tbl[n]);
++ ExitProgram(EXIT_FAILURE);
++}
++
++int
++main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
++{
++ int ch;
++
++ my_fp = stdout;
++
++ while ((ch = getopt(argc, argv, "ep")) != -1) {
++ switch (ch) {
++ case 'e':
++ my_fp = stderr;
++ break;
++ case 'p':
++ p_opt = TRUE;
++ break;
++ default:
++ usage();
++ break;
++ }
++ }
++ if (optind < argc)
++ usage();
++
++ setupterm((char *) 0, 1, (int *) 0);
++ test_vidputs();
++ cleanup();
++ ExitProgram(EXIT_SUCCESS);
++}
++#else
++int
++main(int argc GCC_UNUSED,
++ char *argv[]GCC_UNUSED)
++{
++ fprintf(stderr, "This program requires terminfo\n");
++ exit(EXIT_FAILURE);
++}
++#endif
+Index: test/testaddch.c
+Prereq: 1.7
+--- ncurses-5.9/test/testaddch.c 2009-08-29 19:02:25.000000000 +0000
++++ ncurses-5.9-20130504/test/testaddch.c 2013-01-13 01:02:41.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,7 +29,7 @@
+ * This is an example written by Alexander V. Lukyanov <lav@yars.free.net>,
+ * to demonstrate an inconsistency between ncurses and SVr4 curses.
+ *
+- * $Id: testaddch.c,v 1.7 2009/08/29 19:02:25 tom Exp $
++ * $Id: testaddch.c,v 1.9 2013/01/13 01:02:41 tom Exp $
+ */
+ #include <test.priv.h>
+
+@@ -63,7 +63,7 @@
+ for (i = 0; i < 8; i++) {
+ back = (i & 1) ? A_BOLD | 'B' : ' ';
+ set = (i & 2) ? A_REVERSE : 0;
+- attr = (i & 4) ? COLOR_PAIR(4) : 0;
++ attr = (chtype) ((i & 4) ? COLOR_PAIR(4) : 0);
+
+ bkgdset(back);
+ (void) attrset(set);
+@@ -72,9 +72,9 @@
+ }
+ addch('\n');
+ for (i = 0; i < 8; i++) {
+- back = (i & 1) ? A_BOLD | 'B' | COLOR_PAIR(1) : ' ';
+- set = (i & 2) ? A_REVERSE | COLOR_PAIR(2) : 0;
+- attr = (i & 4) ? COLOR_PAIR(4) : 0;
++ back = (i & 1) ? (A_BOLD | 'B' | COLOR_PAIR(1)) : ' ';
++ set = (i & 2) ? (A_REVERSE | COLOR_PAIR(2)) : 0;
++ attr = (chtype) ((i & 4) ? COLOR_PAIR(4) : 0);
+
+ bkgdset(back);
+ (void) attrset(set);
+Index: test/testcurs.c
+Prereq: 1.43
+--- ncurses-5.9/test/testcurs.c 2010-11-13 21:02:28.000000000 +0000
++++ ncurses-5.9-20130504/test/testcurs.c 2013-02-16 20:29:04.000000000 +0000
+@@ -6,7 +6,7 @@
+ * wrs(5/28/93) -- modified to be consistent (perform identically) with either
+ * PDCurses or under Unix System V, R4
+ *
+- * $Id: testcurs.c,v 1.43 2010/11/13 21:02:28 tom Exp $
++ * $Id: testcurs.c,v 1.47 2013/02/16 20:29:04 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -45,18 +45,6 @@
+ };
+ #define MAX_OPTIONS (int) SIZEOF(command)
+
+-#if !HAVE_STRDUP
+-#define strdup my_strdup
+-static char *
+-strdup(char *s)
+-{
+- char *p = typeMalloc(char, strlen(s) + 1);
+- if (p)
+- strcpy(p, s);
+- return (p);
+-}
+-#endif /* not HAVE_STRDUP */
+-
+ static int width, height;
+
+ int
+@@ -85,7 +73,7 @@
+ #ifdef A_COLOR
+ if (has_colors()) {
+ init_pair(1, COLOR_WHITE, COLOR_BLUE);
+- wbkgd(win, COLOR_PAIR(1));
++ wbkgd(win, (chtype) COLOR_PAIR(1));
+ } else
+ wbkgd(win, A_REVERSE);
+ #else
+@@ -353,6 +341,9 @@
+ typeahead(-1);
+ #endif
+
++#ifdef NCURSES_MOUSE_VERSION
++ mousemask(ALL_MOUSE_EVENTS, (mmask_t *) 0);
++#endif
+ #if defined(PDCURSES)
+ mouse_set(ALL_MOUSE_EVENTS);
+ #endif
+@@ -367,8 +358,38 @@
+ wprintw(win, "Key Pressed: %c", c);
+ else
+ wprintw(win, "Key Pressed: %s", unctrl(UChar(c)));
+-#if defined(PDCURSES)
++#ifdef KEY_MOUSE
++#define ButtonChanged(n) ((event.bstate) & NCURSES_MOUSE_MASK(1, 037))
++#define ButtonPressed(n) ((event.bstate) & NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_PRESSED))
++#define ButtonDouble(n) ((event.bstate) & NCURSES_MOUSE_MASK(1, NCURSES_DOUBLE_CLICKED))
++#define ButtonTriple(n) ((event.bstate) & NCURSES_MOUSE_MASK(1, NCURSES_TRIPLE_CLICKED))
++#define ButtonRelease(n) ((event.bstate) & NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_RELEASED))
+ if (c == KEY_MOUSE) {
++ MEVENT event;
++ int button = 0;
++
++ getmouse(&event);
++ if (ButtonChanged(1))
++ button = 1;
++ else if (ButtonChanged(2))
++ button = 2;
++ else if (ButtonChanged(3))
++ button = 3;
++ else
++ button = 0;
++ wmove(win, 4, 18);
++ wprintw(win, "Button %d: ", button);
++ if (ButtonPressed(button))
++ wprintw(win, "pressed: ");
++ else if (ButtonDouble(button))
++ wprintw(win, "double: ");
++ else if (ButtonTriple(button))
++ wprintw(win, "triple: ");
++ else
++ wprintw(win, "released: ");
++ wprintw(win, " Position: Y: %d X: %d", event.y, event.x);
++#if defined(NCURSES_MOUSE_VERSION)
++#elif defined(PDCURSES)
+ int button = 0;
+ request_mouse_pos();
+ if (BUTTON_CHANGED(1))
+@@ -390,8 +411,9 @@
+ else
+ wprintw(win, "released: ");
+ wprintw(win, " Position: Y: %d X: %d", MOUSE_Y_POS, MOUSE_X_POS);
++#endif /* PDCURSES */
+ }
+-#endif
++#endif /* KEY_MOUSE */
+ wrefresh(win);
+ if (c == ' ')
+ break;
+@@ -491,7 +513,7 @@
+ #ifdef A_COLOR
+ if (has_colors()) {
+ init_pair(3, COLOR_BLUE, COLOR_WHITE);
+- wbkgd(win1, COLOR_PAIR(3));
++ wbkgd(win1, (chtype) COLOR_PAIR(3));
+ } else
+ wbkgd(win1, A_NORMAL);
+ #else
+@@ -693,9 +715,11 @@
+ raw();
+ wgetch(pad);
+
+- spad = subpad(pad, 12, 25, 6, 52);
+- MvWAddStr(spad, 2, 2, "This is a new subpad");
+- box(spad, 0, 0);
++ if ((spad = subpad(pad, 12, 25, 6, 52)) != 0) {
++ MvWAddStr(spad, 2, 2, "This is a new subpad");
++ box(spad, 0, 0);
++ delwin(spad);
++ }
+ prefresh(pad, 0, 0, 0, 0, 15, 75);
+ keypad(pad, TRUE);
+ raw();
+Index: test/view.c
+Prereq: 1.81
+--- ncurses-5.9/test/view.c 2010-11-14 01:06:02.000000000 +0000
++++ ncurses-5.9-20130504/test/view.c 2013-04-27 19:46:53.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -50,10 +50,11 @@
+ * scroll operation worked, and the refresh() code only had to do a
+ * partial repaint.
+ *
+- * $Id: view.c,v 1.81 2010/11/14 01:06:02 tom Exp $
++ * $Id: view.c,v 1.93 2013/04/27 19:46:53 tom Exp $
+ */
+
+ #include <test.priv.h>
++#include <widechars.h>
+
+ #include <time.h>
+
+@@ -81,24 +82,10 @@
+ #include <sys/ptem.h>
+ #endif
+
+-#if USE_WIDEC_SUPPORT
+-#if HAVE_MBTOWC && HAVE_MBLEN
+-#define reset_mbytes(state) IGNORE_RC(mblen(NULL, 0)), IGNORE_RC(mbtowc(NULL, NULL, 0))
+-#define count_mbytes(buffer,length,state) mblen(buffer,length)
+-#define check_mbytes(wch,buffer,length,state) \
+- (int) mbtowc(&wch, buffer, length)
+-#define state_unused
+-#elif HAVE_MBRTOWC && HAVE_MBRLEN
+-#define reset_mbytes(state) init_mb(state)
+-#define count_mbytes(buffer,length,state) mbrlen(buffer,length,&state)
+-#define check_mbytes(wch,buffer,length,state) \
+- (int) mbrtowc(&wch, buffer, length, &state)
+-#else
+-make an error
+-#endif
+-#endif /* USE_WIDEC_SUPPORT */
++#undef CTRL
++#define CTRL(x) ((x) & 0x1f)
+
+-static RETSIGTYPE finish(int sig) GCC_NORETURN;
++static void finish(int sig) GCC_NORETURN;
+ static void show_all(const char *tag);
+
+ #if defined(SIGWINCH) && defined(TIOCGWINSZ) && HAVE_RESIZE_TERM
+@@ -108,11 +95,11 @@
+ #endif
+
+ #if CAN_RESIZE
+-static RETSIGTYPE adjust(int sig);
++static void adjust(int sig);
+ static int interrupted;
++static bool waiting = FALSE;
+ #endif
+
+-static bool waiting = FALSE;
+ static int shift = 0;
+ static bool try_color = FALSE;
+
+@@ -121,6 +108,8 @@
+ static NCURSES_CH_T **lptr;
+ static int num_lines;
+
++static void usage(void) GCC_NORETURN;
++
+ static void
+ usage(void)
+ {
+@@ -135,6 +124,7 @@
+ #if defined(KEY_RESIZE)
+ ," -r use old-style sigwinch handler rather than KEY_RESIZE"
+ #endif
++ ," -s start in single-step mode, waiting for input"
+ #ifdef TRACE
+ ," -t trace screen updates"
+ ," -T NUM specify trace mask"
+@@ -180,7 +170,7 @@
+ {
+ unsigned len = (unsigned) strlen(src);
+ NCURSES_CH_T *dst = typeMalloc(NCURSES_CH_T, len + 1);
+- unsigned j, k;
++ size_t j, k;
+ #if USE_WIDEC_SUPPORT
+ wchar_t wstr[CCHARW_MAX + 1];
+ wchar_t wch;
+@@ -243,6 +233,7 @@
+ int value = 0;
+ bool done = FALSE;
+ bool got_number = FALSE;
++ bool single_step = FALSE;
+ #if CAN_RESIZE
+ bool nonposix_resize = FALSE;
+ #endif
+@@ -258,7 +249,7 @@
+ (void) signal(SIGINT, finish); /* arrange interrupts to terminate */
+ #endif
+
+- while ((i = getopt(argc, argv, "cin:rtT:")) != -1) {
++ while ((i = getopt(argc, argv, "cin:rstT:")) != -1) {
+ switch (i) {
+ case 'c':
+ try_color = TRUE;
+@@ -276,9 +267,18 @@
+ nonposix_resize = TRUE;
+ break;
+ #endif
++ case 's':
++ single_step = TRUE;
++ break;
+ #ifdef TRACE
+ case 'T':
+- trace((unsigned) atoi(optarg));
++ {
++ char *next = 0;
++ int tvalue = (int) strtol(optarg, &next, 0);
++ if (tvalue < 0 || (next != 0 && *next != 0))
++ usage();
++ trace((unsigned) tvalue);
++ }
+ break;
+ case 't':
+ trace(TRACE_CALLS);
+@@ -306,7 +306,7 @@
+ (void) signal(SIGWINCH, adjust); /* arrange interrupts to resize */
+ #endif
+
+- /* slurp the file */
++ Trace(("slurp the file"));
+ for (lptr = &vec_lines[0]; (lptr - vec_lines) < MAXLINES; lptr++) {
+ char temp[BUFSIZ], *s, *d;
+ int col;
+@@ -314,8 +314,26 @@
+ if (fgets(buf, sizeof(buf), fp) == 0)
+ break;
+
+- /* convert tabs so that shift will work properly */
++#if USE_WIDEC_SUPPORT
++ if (lptr == vec_lines) {
++ if (!memcmp("", buf, 3)) {
++ Trace(("trim BOM"));
++ s = buf + 3;
++ d = buf;
++ do {
++ } while ((*d++ = *s++) != '\0');
++ }
++ }
++#endif
++
++ /* convert tabs and nonprinting chars so that shift will work properly */
+ for (s = buf, d = temp, col = 0; (*d = *s) != '\0'; s++) {
++ if (*d == '\r') {
++ if (s[1] == '\n')
++ continue;
++ else
++ break;
++ }
+ if (*d == '\n') {
+ *d = '\0';
+ break;
+@@ -347,14 +365,15 @@
+ (void) nonl(); /* tell curses not to do NL->CR/NL on output */
+ (void) cbreak(); /* take input chars one at a time, no wait for \n */
+ (void) noecho(); /* don't echo input */
+- nodelay(stdscr, TRUE);
++ if (!single_step)
++ nodelay(stdscr, TRUE);
+ idlok(stdscr, TRUE); /* allow use of insert/delete line */
+
+ if (try_color) {
+ if (has_colors()) {
+ start_color();
+ init_pair(my_pair, COLOR_WHITE, COLOR_BLUE);
+- bkgd(COLOR_PAIR(my_pair));
++ bkgd((chtype) COLOR_PAIR(my_pair));
+ } else {
+ try_color = FALSE;
+ }
+@@ -373,10 +392,12 @@
+ adjust(0);
+ my_label = "interrupt";
+ }
+-#endif
+ waiting = TRUE;
+ c = getch();
+ waiting = FALSE;
++#else
++ c = getch();
++#endif
+ if ((c < 127) && isdigit(c)) {
+ if (!got_number) {
+ MvPrintw(0, 0, "Count: ");
+@@ -466,6 +487,9 @@
+ nodelay(stdscr, TRUE);
+ my_delay = 0;
+ break;
++ case CTRL('L'):
++ redrawwin(stdscr);
++ break;
+ case ERR:
+ if (!my_delay)
+ napms(50);
+@@ -483,7 +507,7 @@
+ finish(0); /* we're done */
+ }
+
+-static RETSIGTYPE
++static void
+ finish(int sig)
+ {
+ endwin();
+@@ -510,7 +534,7 @@
+ * The 'wrefresh(curscr)' is needed to force the refresh to start from the top
+ * of the screen -- some xterms mangle the bitmap while resizing.
+ */
+-static RETSIGTYPE
++static void
+ adjust(int sig)
+ {
+ if (waiting || sig == 0) {
+@@ -553,7 +577,7 @@
+ printw("%.*s", COLS, temp);
+ clrtoeol();
+ this_time = time((time_t *) 0);
+- strcpy(temp, ctime(&this_time));
++ strncpy(temp, ctime(&this_time), 30);
+ if ((i = (int) strlen(temp)) != 0) {
+ temp[--i] = 0;
+ if (move(0, COLS - i - 2) != ERR)
+Index: test/widechars.h
+--- /dev/null 2013-05-05 10:34:48.558701642 +0000
++++ ncurses-5.9-20130504/test/widechars.h 2012-12-01 20:45:54.000000000 +0000
+@@ -0,0 +1,71 @@
++/****************************************************************************
++ * Copyright (c) 2012 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++#ifndef __WIDECHARS_H
++#define __WIDECHARS_H 1
++
++#include <test.priv.h>
++
++#if USE_WIDEC_SUPPORT
++
++#if defined(__MINGW32__)
++/*
++ * MinGW has wide-character functions, but they do not work correctly.
++ */
++
++extern int _nc_mbtowc(wchar_t *pwc, const char *s, size_t n);
++extern int __MINGW_NOTHROW _nc_mbtowc(wchar_t *pwc, const char *s, size_t n);
++#define mbtowc(pwc,s,n) _nc_mbtowc(pwc,s,n)
++
++extern int __MINGW_NOTHROW _nc_mblen(const char *, size_t);
++#define mblen(s,n) _nc_mblen(s, n)
++
++#endif /* __MINGW32__ */
++
++#if HAVE_MBTOWC && HAVE_MBLEN
++#define reset_mbytes(state) IGNORE_RC(mblen(NULL, 0)), IGNORE_RC(mbtowc(NULL, NULL, 0))
++#define count_mbytes(buffer,length,state) mblen(buffer,length)
++#define check_mbytes(wch,buffer,length,state) \
++ (int) mbtowc(&wch, buffer, length)
++#define state_unused
++#elif HAVE_MBRTOWC && HAVE_MBRLEN
++#define reset_mbytes(state) init_mb(state)
++#define count_mbytes(buffer,length,state) mbrlen(buffer,length,&state)
++#define check_mbytes(wch,buffer,length,state) \
++ (int) mbrtowc(&wch, buffer, length, &state)
++#else
++make an error
++#endif
++
++#else
++
++#endif /* USE_WIDEC_SUPPORT */
++
++extern void widechars_stub(void);
++
++#endif /* __WIDECHARS_H */
+Index: test/worm.c
+Prereq: 1.60
+--- ncurses-5.9/test/worm.c 2010-11-13 20:21:21.000000000 +0000
++++ ncurses-5.9-20130504/test/worm.c 2013-04-27 19:50:17.000000000 +0000
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -61,7 +61,7 @@
+ traces will be dumped. The program stops and waits for one character of
+ input at the beginning and end of the interval.
+
+- $Id: worm.c,v 1.60 2010/11/13 20:21:21 tom Exp $
++ $Id: worm.c,v 1.64 2013/04/27 19:50:17 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -202,6 +202,14 @@
+ /* *INDENT-ON* */
+
+ static void
++failed(const char *s)
++{
++ perror(s);
++ endwin();
++ ExitProgram(EXIT_FAILURE);
++}
++
++static void
+ cleanup(void)
+ {
+ USING_WINDOW(stdscr, wrefresh);
+@@ -209,7 +217,7 @@
+ endwin();
+ }
+
+-static RETSIGTYPE
++static void
+ onsig(int sig GCC_UNUSED)
+ {
+ cleanup();
+@@ -391,6 +399,8 @@
+ if (last_x != COLS - 1) {
+ for (y = 0; y <= last_y; y++) {
+ refs[y] = typeRealloc(int, (size_t) COLS, refs[y]);
++ if (!refs[y])
++ failed("update_refs");
+ for (x = last_x + 1; x < COLS; x++)
+ refs[y][x] = 0;
+ }
+@@ -402,6 +412,8 @@
+ refs = typeRealloc(int *, (size_t) LINES, refs);
+ for (y = last_y + 1; y < LINES; y++) {
+ refs[y] = typeMalloc(int, (size_t) COLS);
++ if (!refs[y])
++ failed("update_refs");
+ for (x = 0; x < COLS; x++)
+ refs[y][x] = 0;
+ }
+@@ -419,6 +431,7 @@
+ struct worm *w;
+ int *ip;
+ bool done = FALSE;
++ int max_refs;
+
+ setlocale(LC_ALL, "");
+
+@@ -489,7 +502,7 @@
+
+ #define SET_COLOR(num, fg) \
+ init_pair(num+1, (short) fg, (short) bg); \
+- flavor[num] |= COLOR_PAIR(num+1) | A_BOLD
++ flavor[num] |= (chtype) COLOR_PAIR(num+1) | A_BOLD
+
+ SET_COLOR(0, COLOR_GREEN);
+ SET_COLOR(1, COLOR_RED);
+@@ -501,8 +514,9 @@
+ }
+ #endif /* A_COLOR */
+
+- refs = typeMalloc(int *, (size_t) LINES);
+- for (y = 0; y < LINES; y++) {
++ max_refs = LINES;
++ refs = typeMalloc(int *, (size_t) max_refs);
++ for (y = 0; y < max_refs; y++) {
+ refs[y] = typeMalloc(int, (size_t) COLS);
+ for (x = 0; x < COLS; x++) {
+ refs[y][x] = 0;
+@@ -596,7 +610,7 @@
+ Trace(("Cleanup"));
+ cleanup();
+ #ifdef NO_LEAKS
+- for (y = 0; y < LINES; y++) {
++ for (y = 0; y < max_refs; y++) {
+ free(refs[y]);
+ }
+ free(refs);
+Index: test/xmas.c
+Prereq: 1.27
+--- ncurses-5.9/test/xmas.c 2010-11-13 20:24:10.000000000 +0000
++++ ncurses-5.9-20130504/test/xmas.c 2013-04-27 19:46:53.000000000 +0000
+@@ -92,7 +92,7 @@
+ /******************************************************************************/
+
+ /*
+- * $Id: xmas.c,v 1.27 2010/11/13 20:24:10 tom Exp $
++ * $Id: xmas.c,v 1.28 2013/04/27 19:46:53 tom Exp $
+ */
+ #include <test.priv.h>
+
+@@ -148,7 +148,7 @@
+ static int reindeer(void);
+ static int blinkit(void);
+
+-static RETSIGTYPE done(int sig) GCC_NORETURN;
++static void done(int sig) GCC_NORETURN;
+
+ static void
+ set_color(WINDOW *win, chtype color)
+@@ -1143,7 +1143,7 @@
+ return (0);
+ }
+
+-static RETSIGTYPE
++static void
+ done(int sig GCC_UNUSED)
+ {
+ CATCHALL(done);
diff --git a/source/l/ncurses/ncurses.SlackBuild b/source/l/ncurses/ncurses.SlackBuild
index 2d2fe1449..0b83dcd1c 100755
--- a/source/l/ncurses/ncurses.SlackBuild
+++ b/source/l/ncurses/ncurses.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2000-2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2000-2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=ncurses
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -58,11 +58,14 @@ CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
--with-gpm \
--disable-termcap \
--with-normal \
--with-shared \
--enable-symlinks \
+ --enable-pc-files \
+ --with-pkg-config-libdir=/usr/lib${LIBDIRSUFFIX}/pkgconfig \
--without-debug \
--without-profile \
--without-ada \
@@ -94,6 +97,10 @@ if [ ! -z "$(ls $CWD/patches/ncurses-$VERSION-2*.patch.gz 2> /dev/null)" ]; then
done
fi
+# Apply upstream patch collection:
+xzcat $CWD/ncurses-5.9-20130504-patch.sh.xz > ncurses-5.9-20130504-patch.sh
+sh ncurses-5.9-20130504-patch.sh
+
zcat $CWD/ncurses.mkhashsize.diff.gz | patch -p1 --verbose || exit 1
ncurses_configure
diff --git a/source/l/openexr/openexr.SlackBuild b/source/l/openexr/openexr.SlackBuild
index 1bc42cb96..d6ba4db07 100755
--- a/source/l/openexr/openexr.SlackBuild
+++ b/source/l/openexr/openexr.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007 Heinz Wiesinger <hmwiesinger@gmx.at>
+# Copyright 2007, 2013 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
@@ -65,8 +65,6 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION || exit 1
-zcat $CWD/openexr.gcc4.diff.gz | patch -p1 --verbose || exit 1
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/l/openexr/openexr.gcc4.diff b/source/l/openexr/openexr.gcc4.diff
deleted file mode 100644
index b227a56e6..000000000
--- a/source/l/openexr/openexr.gcc4.diff
+++ /dev/null
@@ -1,43 +0,0 @@
---- ./IlmImf/ImfMatrixAttribute.h.orig 2010-06-23 21:45:22.000000000 -0500
-+++ ./IlmImf/ImfMatrixAttribute.h 2010-08-09 14:08:01.000000000 -0500
-@@ -49,6 +49,8 @@
- #include <ImfAttribute.h>
- #include "ImathMatrix.h"
-
-+#include <cstring>
-+
-
- namespace Imf {
-
---- ./exrenvmap/main.cpp.orig 2008-10-28 19:00:18.000000000 -0500
-+++ ./exrenvmap/main.cpp 2010-08-09 14:07:14.000000000 -0500
-@@ -51,6 +51,8 @@
- #include <string.h>
- #include <stdlib.h>
-
-+#include <cstring>
-+
- using namespace Imf;
- using namespace std;
-
---- ./exrenvmap/blurImage.cpp.orig 2009-02-25 17:39:27.000000000 -0600
-+++ ./exrenvmap/blurImage.cpp 2010-08-09 14:14:31.000000000 -0500
-@@ -43,6 +43,7 @@
-
- #include <resizeImage.h>
- #include "Iex.h"
-+#include <cstring>
- #include <iostream>
- #include <algorithm>
-
---- ./exrmaketiled/main.cpp.orig 2008-02-29 20:30:14.000000000 -0600
-+++ ./exrmaketiled/main.cpp 2010-08-09 14:07:14.000000000 -0500
-@@ -48,6 +48,8 @@
- #include <string.h>
- #include <stdlib.h>
-
-+#include <cstring>
-+
- using namespace Imf;
- using namespace std;
-
diff --git a/source/l/openexr/openexr.info b/source/l/openexr/openexr.info
deleted file mode 100644
index 6d0359808..000000000
--- a/source/l/openexr/openexr.info
+++ /dev/null
@@ -1,3 +0,0 @@
-HOMEPAGE="http://www.openexr.org/"
-DOWNLOAD="http://download.savannah.nongnu.org/releases/openexr/openexr-1.6.1.tar.gz"
-MD5SUM="11951f164f9c872b183df75e66de145a"
diff --git a/source/l/pango/pango.SlackBuild b/source/l/pango/pango.SlackBuild
index 39c2ccd1a..9934c553d 100755
--- a/source/l/pango/pango.SlackBuild
+++ b/source/l/pango/pango.SlackBuild
@@ -84,6 +84,7 @@ CFLAGS="$SLKCFLAGS" \
--sysconfdir=/etc \
--mandir=/usr/man \
--docdir=/usr/doc/pango-$VERSION \
+ --with-xft \
--build=$ARCH-slackware-linux \
--host=$ARCH-slackware-linux \
--target=$ARCH-slackware-linux
diff --git a/source/l/pango/pango.etc.host.location.diff b/source/l/pango/pango.etc.host.location.diff
index 29aa1706e..f641c1af0 100644
--- a/source/l/pango/pango.etc.host.location.diff
+++ b/source/l/pango/pango.etc.host.location.diff
@@ -1,33 +1,41 @@
-diff -Nur pango-1.28.3.orig//pango/Makefile.am pango-1.28.3/pango/Makefile.am
---- pango-1.28.3.orig//pango/Makefile.am 2010-09-29 05:42:31.000000000 -0500
-+++ pango-1.28.3/pango/Makefile.am 2010-10-13 15:52:27.163733791 -0500
-@@ -27,6 +27,7 @@
+diff -Nur pango-1.34.0.orig/pango/Makefile.am pango-1.34.0/pango/Makefile.am
+--- pango-1.34.0.orig/pango/Makefile.am 2013-03-04 19:24:38.000000000 -0600
++++ pango-1.34.0/pango/Makefile.am 2013-03-26 01:51:57.804499578 -0500
+@@ -17,6 +17,7 @@
-DPANGO_ENABLE_BACKEND \
-DPANGO_ENABLE_ENGINE \
-DSYSCONFDIR=\"$(sysconfdir)\" \
-+ -HOST=\"$(host_triplet)\" \
++ -DHOST=\"$(host_triplet)\" \
-DLIBDIR=\"$(libdir)\" \
-I$(top_srcdir) \
- $(PANGO_DEBUG_FLAGS) \
-diff -Nur pango-1.28.3.orig//pango/Makefile.in pango-1.28.3/pango/Makefile.in
---- pango-1.28.3.orig//pango/Makefile.in 2010-09-29 06:02:35.000000000 -0500
-+++ pango-1.28.3/pango/Makefile.in 2010-10-13 15:52:53.182319091 -0500
-@@ -535,6 +535,7 @@
+ -I$(top_builddir) \
+diff -Nur pango-1.34.0.orig/pango/Makefile.in pango-1.34.0/pango/Makefile.in
+--- pango-1.34.0.orig/pango/Makefile.in 2013-03-25 21:10:54.000000000 -0500
++++ pango-1.34.0/pango/Makefile.in 2013-03-26 01:52:26.701339768 -0500
+@@ -766,6 +766,7 @@
-DPANGO_ENABLE_BACKEND \
-DPANGO_ENABLE_ENGINE \
-DSYSCONFDIR=\"$(sysconfdir)\" \
-+ -DHOST=\"$(host_triplet)\" \
++ -DHOST=\"$(host_triplet)\" \
-DLIBDIR=\"$(libdir)\" \
-I$(top_srcdir) \
- $(PANGO_DEBUG_FLAGS) \
-diff -Nur pango-1.28.3.orig//pango/modules.c pango-1.28.3/pango/modules.c
---- pango-1.28.3.orig//pango/modules.c 2010-02-09 06:06:28.000000000 -0600
-+++ pango-1.28.3/pango/modules.c 2010-10-13 15:53:31.016716077 -0500
-@@ -529,6 +529,7 @@
-
- if (!file_str)
- file_str = g_build_filename (pango_get_sysconf_subdirectory (),
-+ HOST,
- "pango.modules",
- NULL);
+ -I$(top_builddir) \
+diff -Nur pango-1.34.0.orig/pango/modules.c pango-1.34.0/pango/modules.c
+--- pango-1.34.0.orig/pango/modules.c 2013-01-07 19:19:43.000000000 -0600
++++ pango-1.34.0/pango/modules.c 2013-03-26 01:54:07.418782761 -0500
+@@ -561,6 +561,7 @@
+ files = g_new (char *, 3);
+ files[0] = g_build_filename (pango_get_sysconf_subdirectory (),
++ HOST,
+ "pango.modules",
+ NULL);
+ files[1] = g_build_filename (pango_get_lib_subdirectory (),
+@@ -682,6 +683,7 @@
+ if (!no_module_warning)
+ {
+ gchar *filename = g_build_filename (pango_get_sysconf_subdirectory (),
++ HOST,
+ "pango.modules",
+ NULL);
+ g_critical ("No modules found:\n"
diff --git a/source/l/pcre/pcre.SlackBuild b/source/l/pcre/pcre.SlackBuild
index 06bd7c77f..2454c9fc6 100755
--- a/source/l/pcre/pcre.SlackBuild
+++ b/source/l/pcre/pcre.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -77,6 +77,8 @@ CFLAGS="$SLKCFLAGS" \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--enable-utf8 \
+ --enable-pcre16 \
+ --enable-pcre32 \
--enable-unicode-properties \
--build=$ARCH-slackware-linux
diff --git a/source/l/pil/pil.SlackBuild b/source/l/pil/pil.SlackBuild
index 79980dee1..aa522a5fe 100755
--- a/source/l/pil/pil.SlackBuild
+++ b/source/l/pil/pil.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PKGNAM=pil
ARCNAM=Imaging
VERSION=${VERSION:-$(echo $ARCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/pilot-link/pilot-link.SlackBuild b/source/l/pilot-link/pilot-link.SlackBuild
index 8dbe13210..751f09644 100755
--- a/source/l/pilot-link/pilot-link.SlackBuild
+++ b/source/l/pilot-link/pilot-link.SlackBuild
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
VERSION=${VERSION:-0.12.5}
-BUILD=${BUILD:-6}
+BUILD=${BUILD:-7}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/polkit/05_revert-admin-identities-unix-group-wheel.patch b/source/l/polkit/05_revert-admin-identities-unix-group-wheel.patch
new file mode 100644
index 000000000..1562e69db
--- /dev/null
+++ b/source/l/polkit/05_revert-admin-identities-unix-group-wheel.patch
@@ -0,0 +1,39 @@
+From 1892aeb9c13841335a4ac383e8a787a3c2728c45 Mon Sep 17 00:00:00 2001
+From: Michael Biebl <biebl@debian.org>
+Date: Fri, 9 Dec 2011 00:31:21 +0100
+Subject: [PATCH] Revert "Default to AdminIdentities=unix-group:wheel for
+ local authority"
+
+This reverts commit 763faf434b445c20ae9529100d3ef5290976d0c9.
+---
+ docs/man/pklocalauthority.xml | 4 ++--
+ src/polkitbackend/50-localauthority.conf | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+Index: policykit/docs/man/pklocalauthority.xml
+===================================================================
+--- policykit.orig/docs/man/pklocalauthority.xml 2012-01-06 10:34:01.830221577 +0100
++++ policykit/docs/man/pklocalauthority.xml 2012-01-06 10:39:24.206237179 +0100
+@@ -385,10 +385,10 @@
+ </para>
+ <programlisting>
+ [Configuration]
+-AdminIdentities=unix-group:staff
++AdminIdentities=unix-group:desktop_admin_r
+ </programlisting>
+ <para>
+- specifies that any user in the <literal>staff</literal> UNIX
++ that any user in the <literal>desktop_admin_r</literal> UNIX
+ group can be used for authentication when administrator
+ authentication is needed. This file would typically be installed
+ in the <filename>/etc/polkit-1/localauthority.conf.d</filename>
+Index: policykit/src/polkitbackend/50-localauthority.conf
+===================================================================
+--- policykit.orig/src/polkitbackend/50-localauthority.conf 2012-01-06 10:33:58.254221404 +0100
++++ policykit/src/polkitbackend/50-localauthority.conf 2012-01-06 10:39:24.210237180 +0100
+@@ -7,4 +7,4 @@
+ #
+
+ [Configuration]
+-AdminIdentities=unix-group:wheel
++AdminIdentities=unix-user:0
diff --git a/source/l/polkit/polkit.SlackBuild b/source/l/polkit/polkit.SlackBuild
index a4bb9fc11..9784bdb54 100755
--- a/source/l/polkit/polkit.SlackBuild
+++ b/source/l/polkit/polkit.SlackBuild
@@ -2,7 +2,7 @@
# Copyright 2009, 2011 Robby Workman, Northport, Alabama, USA
# Copyright 2010 Eric Hameleers, Eindhoven, NL
-# Copyright 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
PKGNAM=polkit
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -72,6 +72,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+zcat $CWD/05_revert-admin-identities-unix-group-wheel.patch.gz | patch -p1 --verbose || exit 1
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/l/poppler/poppler.SlackBuild b/source/l/poppler/poppler.SlackBuild
index b2e5955a4..af12f9fa3 100755
--- a/source/l/poppler/poppler.SlackBuild
+++ b/source/l/poppler/poppler.SlackBuild
@@ -62,9 +62,6 @@ rm -rf ${PKGNAM}-${VERSION}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
cd ${PKGNAM}-$VERSION || exit 1
-# Fix printing of some pdf files:
-zcat $CWD/poppler_xyscale.patch.gz | patch -p1 --verbose || exit 1
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/l/poppler/poppler_xyscale.patch b/source/l/poppler/poppler_xyscale.patch
deleted file mode 100644
index bd23d36c8..000000000
--- a/source/l/poppler/poppler_xyscale.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 36481939e3064de920e49d9d1742a85473a50963 Mon Sep 17 00:00:00 2001
-From: Thomas Freitag <Thomas.Freitag@alfa.de>
-Date: Sun, 22 Jul 2012 16:40:46 +0000
-Subject: Make sure xScale and yScale are always initialized
-
-Bug #52215
----
-diff --git a/poppler/PSOutputDev.cc b/poppler/PSOutputDev.cc
-index a01a4b3..e15c2e9 100644
---- a/poppler/PSOutputDev.cc
-+++ b/poppler/PSOutputDev.cc
-@@ -3521,6 +3521,7 @@ void PSOutputDev::startPage(int pageNum, GfxState *state) {
- saveState(NULL);
- }
-
-+ xScale = yScale = 1;
- switch (mode) {
-
- case psModePSOrigPageSizes:
-@@ -3631,8 +3632,6 @@ void PSOutputDev::startPage(int pageNum, GfxState *state) {
- } else {
- yScale = xScale;
- }
-- } else {
-- xScale = yScale = 1;
- }
- // deal with odd bounding boxes or clipping
- if (clipLLX0 < clipURX0 && clipLLY0 < clipURY0) {
-@@ -3694,7 +3693,6 @@ void PSOutputDev::startPage(int pageNum, GfxState *state) {
- if (tx != 0 || ty != 0) {
- writePSFmt("{0:.6g} {1:.6g} translate\n", tx, ty);
- }
-- xScale = yScale = 1;
- break;
-
- case psModeForm:
-@@ -3702,7 +3700,6 @@ void PSOutputDev::startPage(int pageNum, GfxState *state) {
- writePS("begin xpdf begin\n");
- writePS("pdfStartPage\n");
- tx = ty = 0;
-- xScale = yScale = 1;
- rotate = 0;
- break;
- }
---
-cgit v0.9.0.2-2-gbebe
-
diff --git a/source/l/popt/popt.SlackBuild b/source/l/popt/popt.SlackBuild
index b495de5c2..e9f749211 100755
--- a/source/l/popt/popt.SlackBuild
+++ b/source/l/popt/popt.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,8 @@
PKGNAM=popt
-VERSION=${VERSION:-1.7}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-1.16}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -58,7 +58,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf ${PKGNAM}-${VERSION}
-tar xjvf $CWD/${PKGNAM}-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
cd ${PKGNAM}-$VERSION
# Make sure ownerships and permissions are sane:
@@ -94,6 +94,9 @@ mkdir -p $PKG/lib${LIBDIRSUFFIX}
cp -a lib*.so.? ../../lib${LIBDIRSUFFIX}
)
+# Make sure pkgconfig directory is in the right place:
+mv $PKG/usr/lib/pkgconfig $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig 1> /dev/null 2> /dev/null
+
# Strip binaries:
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
diff --git a/source/l/qjson/qjson.SlackBuild b/source/l/qjson/qjson.SlackBuild
new file mode 100755
index 000000000..a69a1882c
--- /dev/null
+++ b/source/l/qjson/qjson.SlackBuild
@@ -0,0 +1,104 @@
+#!/bin/sh
+
+# Copyright 2013 Eric Hameleers, Eindhoven, NL
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=qjson
+VERSION=${VERSION:-0.8.1}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:--j7}
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+ case "$MARCH" in
+ i?86) export ARCH=i486 ;;
+ armv7hl) export ARCH=$MARCH ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$MARCH ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+mkdir -p build
+cd build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ ..
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd -
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ README.md COPYING.lib doc \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/l/qjson/slack-desc b/source/l/qjson/slack-desc
new file mode 100644
index 000000000..e13439412
--- /dev/null
+++ b/source/l/qjson/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+qjson: QJson (manage JSON objects with Qt)
+qjson:
+qjson: JSON (JavaScript Object Notation) is a lightweight data-interchange
+qjson: format. It can represents integer, real number, string, an ordered
+qjson: sequence of value, and a collection of name/value pairs.
+qjson: QJson is a qt-based library that maps JSON data to QVariant objects:
+qjson: JSON arrays will be mapped to QVariantList instances, while JSON's
+qjson: objects will be mapped to QVariantMap.
+qjson:
+qjson: http://qjson.sourceforge.net/
+qjson:
diff --git a/source/l/qt/QElfParser-fix-type-of-sh_size.patch b/source/l/qt/QElfParser-fix-type-of-sh_size.patch
deleted file mode 100644
index 1c30f9a4f..000000000
--- a/source/l/qt/QElfParser-fix-type-of-sh_size.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 9e981c4dd03effc2c52b52f529edfa8955e534ce Mon Sep 17 00:00:00 2001
-From: Pino Toscano <toscano.pino@tiscali.it>
-Date: Tue, 15 May 2012 14:40:15 +0200
-Subject: [PATCH] QElfParser: fix type of sh_size
-
-The type of the sh_size field of a section header is either Elf32_Word or Elf64_Xword,
-so the type used cannot be qelfword_t (always 32 bits) but qelfoff_t.
-
-Change-Id: Ia380b6823913fee7a96b39f742630ae3a9ca0cb8
-Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-Reviewed-by: Arvid Picciani <arvid.picciani@nokia.com>
-(backport of 77b179689ba37dc909778fdd00df2701f83a2868 from qtbase)
----
- src/corelib/plugin/qelfparser_p.cpp | 4 ++--
- src/corelib/plugin/qelfparser_p.h | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
---- a/src/corelib/plugin/qelfparser_p.cpp
-+++ b/src/corelib/plugin/qelfparser_p.cpp
-@@ -61,8 +61,8 @@ const char *QElfParser::parseSectionHead
- + sizeof(qelfaddr_t); // sh_addr
- sh->offset = read<qelfoff_t>(data);
- data += sizeof(qelfoff_t); // sh_offset
-- sh->size = read<qelfword_t>(data);
-- data += sizeof(qelfword_t); // sh_size
-+ sh->size = read<qelfoff_t>(data);
-+ data += sizeof(qelfoff_t); // sh_size
- return data;
- }
-
---- a/src/corelib/plugin/qelfparser_p.h
-+++ b/src/corelib/plugin/qelfparser_p.h
-@@ -80,7 +80,7 @@ public:
- qelfword_t name;
- qelfword_t type;
- qelfoff_t offset;
-- qelfword_t size;
-+ qelfoff_t size;
- };
-
- int m_endian;
diff --git a/source/l/qt/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch b/source/l/qt/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch
deleted file mode 100644
index 9acae10c8..000000000
--- a/source/l/qt/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Description:
- QPainter together with QPrinter leaves a lot of temporary files in
- /tmp with every printout. That is a problem for embedded devices,
- which have not such a large /tmp-partition. We are using 80 MByte as
- tmpfs, i.e. in RAM. After some printounts cups deactivates the printer
- because there is no space to copy the temporary files to /tmp.
-
- What happened: In QPdfBaseEnginePrivate::openPrintDevice() noone
- remembers the file descriptor opened by tempFile() which is a call to
- the cups library to cupsTempFile()
-
- Later in closePrintDevice the check for fd<0 fails, so no one closes
- the file descriptor. If you later remove the file, the descriptor is
- still open and cannot removed until you close the application.
-
- If you print 20 times and more during your application is running and
- you print out large files (complicate forms with a lot of elements
- produces files with 3-4 MByte) your temporary file can be full, but
- you don't see (with ls) files in it.
-
-Bug: https://bugreports.qt.nokia.com/browse/QTBUG-14724
-Author: Georg Scherzer
-
----
- src/gui/painting/qpdf.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/src/gui/painting/qpdf.cpp
-+++ b/src/gui/painting/qpdf.cpp
-@@ -1686,6 +1686,7 @@ bool QPdfBaseEnginePrivate::openPrintDev
- cupsTempFile = ret.second;
- outDevice = new QFile();
- static_cast<QFile *>(outDevice)->open(ret.first, QIODevice::WriteOnly);
-+ fd = ret.first;
- #endif
- #ifndef QT_NO_LPR
- } else {
diff --git a/source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch b/source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch
deleted file mode 100644
index 4d9834a8d..000000000
--- a/source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From a91e9dd202640598d8dec091c67ec94536390e7f Mon Sep 17 00:00:00 2001
-From: "Owen W. Taylor" <otaylor@fishsoup.net>
-Date: Mon, 17 Oct 2011 17:27:43 -0400
-Subject: [PATCH] Fix logic for figuring out what ConfigureNotify positions can be trusted
-
-When reading ahead in the queue for ConfigureNotify events, it's necessary
-to look for intermediate ReparentNotify events as well, since they will
-determine whether the position in the event can be trusted or not.
-
-Bug: https://bugreports.qt.nokia.com/browse/QTBUG-21900
----
- src/gui/kernel/qapplication_x11.cpp | 47 +++++++++++++++++++++++++++++++-----
- 1 file changed, 41 insertions(+), 6 deletions(-)
-
---- a/src/gui/kernel/qapplication_x11.cpp
-+++ b/src/gui/kernel/qapplication_x11.cpp
-@@ -816,6 +816,27 @@ static Bool qt_sync_request_scanner(Disp
- #endif
- #endif // QT_NO_XSYNC
-
-+struct qt_configure_event_data
-+{
-+ WId window;
-+ WId parent;
-+};
-+
-+static Bool qt_configure_event_scanner(Display*, XEvent *event, XPointer arg)
-+{
-+ qt_configure_event_data *data =
-+ reinterpret_cast<qt_configure_event_data*>(arg);
-+ if (event->type == ConfigureNotify &&
-+ event->xconfigure.window == data->window) {
-+ return true;
-+ } else if (event->type == ReparentNotify &&
-+ event->xreparent.window == data->window) {
-+ data->parent = event->xreparent.parent;
-+ }
-+
-+ return false;
-+}
-+
- static void qt_x11_create_intern_atoms()
- {
- const char *names[QX11Data::NAtoms];
-@@ -5281,8 +5302,11 @@ bool QETWidget::translateConfigEvent(con
- if (d->extra->compress_events) {
- // ConfigureNotify compression for faster opaque resizing
- XEvent otherEvent;
-- while (XCheckTypedWindowEvent(X11->display, internalWinId(), ConfigureNotify,
-- &otherEvent)) {
-+ qt_configure_event_data configureData;
-+ configureData.window = internalWinId();
-+ configureData.parent = d->topData()->parentWinId;
-+ while (XCheckIfEvent(X11->display, &otherEvent,
-+ &qt_configure_event_scanner, (XPointer)&configureData)) {
- if (qt_x11EventFilter(&otherEvent))
- continue;
-
-@@ -5295,13 +5319,19 @@ bool QETWidget::translateConfigEvent(con
- newSize.setWidth(otherEvent.xconfigure.width);
- newSize.setHeight(otherEvent.xconfigure.height);
-
-+ trust = isVisible()
-+ && (configureData.parent == XNone ||
-+ configureData.parent == QX11Info::appRootWindow());
-+
- if (otherEvent.xconfigure.send_event || trust) {
- newCPos.rx() = otherEvent.xconfigure.x +
- otherEvent.xconfigure.border_width;
- newCPos.ry() = otherEvent.xconfigure.y +
- otherEvent.xconfigure.border_width;
- isCPos = true;
-- }
-+ } else {
-+ isCPos = false;
-+ }
- }
- #ifndef QT_NO_XSYNC
- qt_sync_request_event_data sync_event;
-@@ -5314,9 +5344,14 @@ bool QETWidget::translateConfigEvent(con
- }
-
- if (!isCPos) {
-- // we didn't get an updated position of the toplevel.
-- // either we haven't moved or there is a bug in the window manager.
-- // anyway, let's query the position to be certain.
-+ // If the last configure event didn't have a trustable position,
-+ // it's necessary to query, see ICCCM 4.24:
-+ //
-+ // Any real ConfigureNotify event on a top-level window implies
-+ // that the window position on the root may have changed, even
-+ // though the event reports that the window position in its
-+ // parent is unchanged because the window may have been reparented.
-+
- int x, y;
- Window child;
- XTranslateCoordinates(X11->display, internalWinId(),
diff --git a/source/l/qt/qt.SlackBuild b/source/l/qt/qt.SlackBuild
index b361aaee4..8954243bd 100755
--- a/source/l/qt/qt.SlackBuild
+++ b/source/l/qt/qt.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -37,11 +37,11 @@
# wget http://qt.gitorious.org/qt/kde-qt/archive-tarball/4.6.2-patched
#
# Modifications 2010, 2011, 2012 Eric Hameleers, Eindhoven, NL
-# qt 4.7.3, 4.7.4, 4.8.0, 4.8.1, 4.8.2 are built from original nokia sources.
+# qt 4.7.3, 4.7.4, 4.8.0, 4.8.1, 4.8.2, 4.8.4 are built from original nokia sources.
PKGNAM=qt
VERSION=$(ls qt-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:--j7}
@@ -113,20 +113,6 @@ zcat $CWD/qt.ld-gold.patch.gz | patch -p1 --verbose || exit 1
# Stupid idea - remove it:
zcat $CWD/qt.webkit-no_Werror.patch.gz | patch -p1 --verbose || exit 1
-# Fix cursor position bug within tables:
-zcat $CWD/qt.ca89c49.cursor.position.diff.gz | patch -p1 --verbose || exit 1
-
-# Fix assistant crash:
-zcat $CWD/qt.assistant.memcpy-crash.diff.gz | patch -p0 --verbose || exit 1
-
-# Fix webkit compiling with recent glib:
-zcat $CWD/qt.webkit.glib.diff.gz | patch -p1 --verbose || exit 1
-
-# Some patches from upstream:
-zcat $CWD/QElfParser-fix-type-of-sh_size.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/QTBUG-14724_close_orphaned_file_descriptors_after_printing.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch.gz | patch -p1 --verbose || exit 1
-
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
export OPENSOURCE_CXXFLAGS="$SLKCFLAGS"
@@ -145,6 +131,7 @@ export OPENSOURCE_CXXFLAGS="$SLKCFLAGS"
-no-phonon \
-nomake examples \
-nomake demos \
+ -nomake docs \
-no-separate-debug-info \
-no-pch
# No-precompiled-headers is ccache-friendly.
@@ -183,7 +170,11 @@ sed -i "s,-ljscore,,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.la $PKG/usr/lib${LIB
sed -i "s,-L../JavaScriptCore/release,,g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/*.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/*.pc
# libwebcore is used internally. Prevent a false dependency on this in the .la and .pc files:
-sed -i "s#-L/usr/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib$LIBDIRSUFFIX -lwebcore##g" $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/libQtWebKit.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/QtWebKit.pc
+sed -i \
+ -e "s#-L/usr/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib$LIBDIRSUFFIX -lwebcore##g" \
+ -e "s#-L/usr/lib${LIBDIRSUFFIX}/qt/lib -L../../WebCore/release -L../../JavaScriptCore/release -L/usr/X11R6/lib -lwebcore##g" \
+ -e "s# -lwebcore##g" \
+ $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/libQtWebKit.la $PKG/usr/lib${LIBDIRSUFFIX}/qt/lib/pkgconfig/QtWebKit.pc
# Link the shared libraries into /usr/lib:
( cd $PKG/usr/lib${LIBDIRSUFFIX}
@@ -219,6 +210,14 @@ mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
done
)
+# Install Qt's private headers - at least Gentoo and Fedora are adding these
+# and some software has (inevitably) started depending on them:
+# We're using `rsync -R` as easy way to preserve relative path names:
+rsync -aR \
+ include/Qt{Core,Declarative,Gui,Script}/private \
+ src/{corelib,declarative,gui,script}/*/*_p.h \
+ ${PKG}/usr/lib${LIBDIRSUFFIX}/qt/
+
# Add menu entries for all those hidden but great Qt applications:
# Qt logo:
convert $PKG/usr/lib$LIBDIRSUFFIX/qt/doc/src/images/qt-logo.png -resize 48x48 $PKG/usr/share/icons/hicolor/48x48/apps/qt-logo.png
@@ -288,9 +287,11 @@ EOF
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a *GPL_EXCEPTION* FAQ* INSTALL KNOWN* LICENSE* README* changes-* \
$PKG/usr/doc/$PKGNAM-$VERSION
-( cd $PKG/usr/doc/$PKGNAM-$VERSION
- ln -sf /usr/lib${LIBDIRSUFFIX}/qt/doc/html .
-)
+if [ -d $PKG/usr/lib${LIBDIRSUFFIX}/qt/doc/html ]; then
+ ( cd $PKG/usr/doc/$PKGNAM-$VERSION
+ ln -sf /usr/lib${LIBDIRSUFFIX}/qt/doc/html .
+ )
+fi
mkdir -p $PKG/install
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
diff --git a/source/l/qt/qt.assistant.memcpy-crash.diff b/source/l/qt/qt.assistant.memcpy-crash.diff
deleted file mode 100644
index f2193ee8b..000000000
--- a/source/l/qt/qt.assistant.memcpy-crash.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/assistant/tools/assistant/mainwindow.cpp 2012-06-27 03:02:37.539564947 +0200
-+++ tools/assistant/tools/assistant/mainwindow.cpp 2012-06-27 03:03:18.843561620 +0200
-@@ -944,8 +944,7 @@ void MainWindow::updateApplicationFont()
- if (helpEngine.usesAppFont())
- font = helpEngine.appFont();
-
-- const QWidgetList &widgets = qApp->allWidgets();
-- foreach (QWidget* widget, widgets)
-+ foreach (QWidget* widget, QApplication::allWidgets())
- widget->setFont(font);
- }
diff --git a/source/l/qt/qt.ca89c49.cursor.position.diff b/source/l/qt/qt.ca89c49.cursor.position.diff
deleted file mode 100644
index ab3429f8c..000000000
--- a/source/l/qt/qt.ca89c49.cursor.position.diff
+++ /dev/null
@@ -1,31 +0,0 @@
-From ca89c49fa2c5cbb3945897046f33eed9f7da846c Mon Sep 17 00:00:00 2001
-From: Jiang Jiang <jiang.jiang@nokia.com>
-Date: Tue, 3 Jul 2012 10:17:49 +0200
-Subject: [PATCH] Fix cursor truncate to include line position
-
-Since we could have moved the line position (QTextLine::setPosition),
-the truncating position should be adjusted with that.
-
-Change-Id: Ie1acd4a1b6a4adfbeeb9ce8ee2dfa19d992470e8
-Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
----
- src/gui/text/qtextlayout.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp
-index 16f7150..52f2793 100644
---- a/src/gui/text/qtextlayout.cpp
-+++ b/src/gui/text/qtextlayout.cpp
-@@ -2616,8 +2616,8 @@ qreal QTextLine::cursorToX(int *cursorPos, Edge edge) const
- x += eng->offsetInLigature(si, pos, end, glyph_pos);
- }
-
-- if (eng->option.wrapMode() != QTextOption::NoWrap && x > line.width)
-- x = line.width;
-+ if (eng->option.wrapMode() != QTextOption::NoWrap && x > line.x + line.width)
-+ x = line.x + line.width;
-
- *cursorPos = pos + si->position;
- return x.toReal();
---
-1.7.10
diff --git a/source/l/qt/qt.webkit-no_Werror.patch b/source/l/qt/qt.webkit-no_Werror.patch
index b8e718e06..c8d730e46 100644
--- a/source/l/qt/qt.webkit-no_Werror.patch
+++ b/source/l/qt/qt.webkit-no_Werror.patch
@@ -1,13 +1,11 @@
-diff -up qt-everywhere-opensource-src-4.8.1/src/3rdparty/webkit/Source/WebKit.pri.no_Werror qt-everywhere-opensource-src-4.8.1/src/3rdparty/webkit/Source/WebKit.pri
---- qt-everywhere-opensource-src-4.8.1/src/3rdparty/webkit/Source/WebKit.pri.no_Werror 2012-03-14 15:01:29.000000000 +0100
-+++ qt-everywhere-opensource-src-4.8.1/src/3rdparty/webkit/Source/WebKit.pri 2012-03-28 17:12:33.391294004 +0200
-@@ -102,8 +102,6 @@ CONFIG -= warn_on
+--- qt-everywhere-opensource-src-4.8.4/src/3rdparty/webkit/Source/WebKit.pri.no_Werror 2012-12-02 15:59:44.891550783 +0100
++++ qt-everywhere-opensource-src-4.8.4/src/3rdparty/webkit/Source/WebKit.pri 2012-12-02 16:52:47.384406539 +0100
+@@ -102,8 +102,6 @@
# Treat warnings as errors on x86/Linux/GCC
linux-g++* {
-- !CONFIG(standalone_package):isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386): QMAKE_CXXFLAGS += -Werror
+- !CONFIG(standalone_package):if(isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386)): QMAKE_CXXFLAGS += -Werror
-
greaterThan(QT_GCC_MAJOR_VERSION, 3):greaterThan(QT_GCC_MINOR_VERSION, 5) {
if (!contains(QMAKE_CXXFLAGS, -std=c++0x) && !contains(QMAKE_CXXFLAGS, -std=gnu++0x)) {
# We need to deactivate those warnings because some names conflicts with upcoming c++0x types (e.g.nullptr).
-
diff --git a/source/l/qt/qt.webkit.glib.diff b/source/l/qt/qt.webkit.glib.diff
deleted file mode 100644
index b16662562..000000000
--- a/source/l/qt/qt.webkit.glib.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./src/3rdparty/webkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h.orig 2012-04-26 14:46:14.000000000 -0500
-+++ ./src/3rdparty/webkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h 2012-08-06 19:53:44.134339082 -0500
-@@ -52,7 +52,7 @@
- typedef struct _GHashTable GHashTable;
- typedef struct _GInputStream GInputStream;
- typedef struct _GList GList;
--typedef struct _GMutex GMutex;
-+typedef union _GMutex GMutex;
- typedef struct _GPatternSpec GPatternSpec;
- typedef struct _GPollableOutputStream GPollableOutputStream;
- typedef struct _GSocketClient GSocketClient;
diff --git a/source/l/qt/slack-desc b/source/l/qt/slack-desc
index f511d8991..0a42d4a32 100644
--- a/source/l/qt/slack-desc
+++ b/source/l/qt/slack-desc
@@ -11,7 +11,7 @@ qt:
qt: Qt is a complete and well-developed object-oriented framework for
qt: developing graphical user interface (GUI) applications using C++.
qt:
-qt: Homepage: http://qt.nokia.com
+qt: Homepage: http://qt-project.org/
qt:
qt:
qt:
diff --git a/source/l/qtscriptgenerator/qtscriptgenerator.SlackBuild b/source/l/qtscriptgenerator/qtscriptgenerator.SlackBuild
index f1bf2a15b..252adbdf4 100755
--- a/source/l/qtscriptgenerator/qtscriptgenerator.SlackBuild
+++ b/source/l/qtscriptgenerator/qtscriptgenerator.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for qtscriptgenerator
# Copyright 2009 Heinz Wiesinger <pprkut@liwjatan.at>
-# Copyright 2009, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
PKGNAM=qtscriptgenerator
VERSION=${VERSION:-0.2.0}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -37,6 +37,8 @@ if [ -z "$ARCH" ]; then
esac
fi
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
@@ -87,7 +89,7 @@ zcat $CWD/include-everything.patch.gz | patch -p1 --verbose || exit 1
cd generator
qmake
- make
+ make $NUMJOBS
./generator --include-paths=/usr/lib${LIBDIRSUFFIX}/qt/include:/usr/include
cd -
@@ -95,15 +97,20 @@ cd qtbindings
sed -i "s|CONFIG += debug_and_release|CONFIG += release|" \
qtbindingsbase.pri
qmake
- make qmake_all
+ make $NUMJOBS qmake_all
sed -i "s|-I/usr/lib${LIBDIRSUFFIX}/qt/include/phonon|-I/usr/include/phonon|" \
qtscript_phonon/Makefile
- make all
+ make $NUMJOBS all
cd -
cd tools/qsexec/src
qmake
- make
+ make $NUMJOBS
+cd -
+
+cd qtbindings/qtscript_uitools
+ qmake
+ make $NUMJOBS all
cd -
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/qt/{bin,plugins/script}
diff --git a/source/l/raptor2/raptor2.SlackBuild b/source/l/raptor2/raptor2.SlackBuild
index 38c596bae..5063ff19a 100755
--- a/source/l/raptor2/raptor2.SlackBuild
+++ b/source/l/raptor2/raptor2.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007, 2012 Heinz Wiesinger, Amsterdam, NL
+# Copyright 2007, 2012, 2013 Heinz Wiesinger, Amsterdam, NL
# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
diff --git a/source/l/rasqal/rasqal.SlackBuild b/source/l/rasqal/rasqal.SlackBuild
index 0da299dd2..c8c74a9f3 100755
--- a/source/l/rasqal/rasqal.SlackBuild
+++ b/source/l/rasqal/rasqal.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007 Heinz Wiesinger <hmwiesinger@gmx.at>
+# Copyright 2007, 2013 Heinz Wiesinger, Amsterdam, NL
# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
diff --git a/source/l/redland/redland.SlackBuild b/source/l/redland/redland.SlackBuild
index 16d90675c..2e8dc2ce9 100755
--- a/source/l/redland/redland.SlackBuild
+++ b/source/l/redland/redland.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007 Heinz Wiesinger <hmwiesinger@gmx.at>
+# Copyright 2007, 2013 Heinz Wiesinger, Amsterdam, NL
# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
@@ -28,7 +28,7 @@
PKGNAM=redland
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j7}
@@ -84,16 +84,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-if [ "$VERSION" = "1.0.9" ]; then
- echo "Fixing a bug in redland-1.0.9 that breaks nepomuk..."
- for i in MYSQL POSTGRESQL SQLITE TSTORE; do
- sed -i "s/LIBADD = @${i}_LIBS@/LIBADD = @${i}_LIBS@ librdf.la/" \
- src/Makefile.in
- done
-elif [ "$VERSION" = "1.0.10" ]; then
- sed -i "s/virtuoso_la_LIBADD = @ODBC_LIBS@/virtuoso_la_LIBADD = @ODBC_LIBS@ librdf.la/" src/Makefile.in
-fi
-
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -109,9 +99,6 @@ CXXFLAGS="$SLKCFLAGS" \
--with-threads \
--build=$TARGET
-# Prevent error "No rule to make target `-lltdl', needed by `librdf.la'"
-sed -i -e 's# -lltdl$# #' -e '/^LIBS =/s# = # = -lltdl #' src/Makefile
-
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
diff --git a/source/l/sdl/libsdl-1.2.15-resizing.patch b/source/l/sdl/libsdl-1.2.15-resizing.patch
new file mode 100644
index 000000000..709881962
--- /dev/null
+++ b/source/l/sdl/libsdl-1.2.15-resizing.patch
@@ -0,0 +1,63 @@
+Description: Revert change that breaks window corner resizing
+ http://bugzilla.libsdl.org/show_bug.cgi?id=1430
+Author: Andrew Caudwell <acaudwell@gmail.com>
+Last-Update: 2012-04-10
+Bug-Debian: http://bugs.debian.org/665779
+
+diff -r c787fb1b5699 src/video/x11/SDL_x11events.c
+--- a/src/video/x11/SDL_x11events.c Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11events.c Mon Mar 26 12:26:52 2012 +1300
+@@ -57,12 +57,6 @@
+ static SDLKey MISC_keymap[256];
+ SDLKey X11_TranslateKeycode(Display *display, KeyCode kc);
+
+-/*
+- Pending resize target for ConfigureNotify (so outdated events don't
+- cause inappropriate resize events)
+-*/
+-int X11_PendingConfigureNotifyWidth = -1;
+-int X11_PendingConfigureNotifyHeight = -1;
+
+ #ifdef X_HAVE_UTF8_STRING
+ Uint32 Utf8ToUcs4(const Uint8 *utf8)
+@@ -825,16 +819,6 @@
+ #ifdef DEBUG_XEVENTS
+ printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xconfigure.height);
+ #endif
+- if ((X11_PendingConfigureNotifyWidth != -1) &&
+- (X11_PendingConfigureNotifyHeight != -1)) {
+- if ((xevent.xconfigure.width != X11_PendingConfigureNotifyWidth) &&
+- (xevent.xconfigure.height != X11_PendingConfigureNotifyHeight)) {
+- /* Event is from before the resize, so ignore. */
+- break;
+- }
+- X11_PendingConfigureNotifyWidth = -1;
+- X11_PendingConfigureNotifyHeight = -1;
+- }
+ if ( SDL_VideoSurface ) {
+ if ((xevent.xconfigure.width != SDL_VideoSurface->w) ||
+ (xevent.xconfigure.height != SDL_VideoSurface->h)) {
+diff -r c787fb1b5699 src/video/x11/SDL_x11events_c.h
+--- a/src/video/x11/SDL_x11events_c.h Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11events_c.h Mon Mar 26 12:26:52 2012 +1300
+@@ -27,8 +27,3 @@
+ extern void X11_InitOSKeymap(_THIS);
+ extern void X11_PumpEvents(_THIS);
+ extern void X11_SetKeyboardState(Display *display, const char *key_vec);
+-
+-/* Variables to be exported */
+-extern int X11_PendingConfigureNotifyWidth;
+-extern int X11_PendingConfigureNotifyHeight;
+-
+diff -r c787fb1b5699 src/video/x11/SDL_x11video.c
+--- a/src/video/x11/SDL_x11video.c Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11video.c Mon Mar 26 12:26:52 2012 +1300
+@@ -1182,8 +1182,6 @@
+ current = NULL;
+ goto done;
+ }
+- X11_PendingConfigureNotifyWidth = width;
+- X11_PendingConfigureNotifyHeight = height;
+ } else {
+ if (X11_CreateWindow(this,current,width,height,bpp,flags) < 0) {
+ current = NULL;
diff --git a/source/l/sdl/sdl-1.2.14-fix-mouse-clicking.patch b/source/l/sdl/sdl-1.2.14-fix-mouse-clicking.patch
new file mode 100644
index 000000000..7d3e5acfc
--- /dev/null
+++ b/source/l/sdl/sdl-1.2.14-fix-mouse-clicking.patch
@@ -0,0 +1,23 @@
+--- SDL-1.2.14/src/video/x11/SDL_x11events.c.orig 2010-04-08 11:57:05.003169834 -0700
++++ SDL-1.2.14/src/video/x11/SDL_x11events.c 2010-04-08 12:33:51.690926340 -0700
+@@ -423,12 +423,15 @@
+ if ( xevent.xcrossing.mode == NotifyUngrab )
+ printf("Mode: NotifyUngrab\n");
+ #endif
+- if ( this->input_grab == SDL_GRAB_OFF ) {
+- posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS);
++ if ( (xevent.xcrossing.mode != NotifyGrab) &&
++ (xevent.xcrossing.mode != NotifyUngrab) ) {
++ if ( this->input_grab == SDL_GRAB_OFF ) {
++ posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS);
++ }
++ posted = SDL_PrivateMouseMotion(0, 0,
++ xevent.xcrossing.x,
++ xevent.xcrossing.y);
+ }
+- posted = SDL_PrivateMouseMotion(0, 0,
+- xevent.xcrossing.x,
+- xevent.xcrossing.y);
+ }
+ break;
+
diff --git a/source/l/sdl/sdl.SlackBuild b/source/l/sdl/sdl.SlackBuild
index 3a0b61ae4..70c203a27 100755
--- a/source/l/sdl/sdl.SlackBuild
+++ b/source/l/sdl/sdl.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,7 +26,7 @@ MIXER=${MIXER:-$(echo SDL_mixer-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d -
NET=${NET:-$(echo SDL_net-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
TTF=${TTF:-$(echo SDL_ttf-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-5}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -63,7 +63,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf sdl-$VERSION
tar xf $CWD/SDL-$VERSION.tar.?z* || exit 1
-cd SDL-$VERSION
+cd SDL-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -71,7 +71,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/sdl.linux-2.6.31.input_absinfo.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/libsdl-1.2.15-resizing.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/sdl-1.2.14-fix-mouse-clicking.patch.gz | patch -p1 --verbose || exit 1
# We must use --disable-x11-shared or programs linked with SDL will
# crash on machines that use the closed source nVidia drivers.
@@ -140,8 +141,8 @@ rm -rf SDL_mixer-$MIXER
tar xf $CWD/SDL_mixer-$MIXER.tar.?z* || exit 1
cd SDL_mixer-$MIXER
-# Don't look for things in /usr/local, since this is an installed package:
-zcat $CWD/SDL_mixer.usrlocal.diff.gz | patch -p1 --verbose || exit 1
+# Fix default library path. Don't use /usr/local, and use lib64 where needed:
+sed -i "s,usr/local/lib,usr/lib${LIBDIRSUFFIX},g" timidity/config.h
# Install patched static libmikmod:
unzip libmikmod-3.1.12.zip
diff --git a/source/l/sdl/sdl.linux-2.6.31.input_absinfo.diff b/source/l/sdl/sdl.linux-2.6.31.input_absinfo.diff
deleted file mode 100644
index 685007ab7..000000000
--- a/source/l/sdl/sdl.linux-2.6.31.input_absinfo.diff
+++ /dev/null
@@ -1,38 +0,0 @@
---- SDL-1.2.14/src/joystick/linux/SDL_sysjoystick.c 2011-01-23 23:23:31.865198998 +0100
-+++ SDL-1.2.14/src/joystick/linux/SDL_sysjoystick.c.org 2011-01-23 23:28:12.427198998 +0100
-@@ -700,26 +700,26 @@
- continue;
- }
- if ( test_bit(i, absbit) ) {
-- int values[5];
-+ struct input_absinfo absinfo;
-
-- if ( ioctl(fd, EVIOCGABS(i), values) < 0 )
-+ if ( ioctl(fd, EVIOCGABS(i), &absinfo) < 0 )
- continue;
- #ifdef DEBUG_INPUT_EVENTS
- printf("Joystick has absolute axis: %x\n", i);
- printf("Values = { %d, %d, %d, %d, %d }\n",
-- values[0], values[1],
-- values[2], values[3], values[4]);
-+ absinfo.value, absinfo.minimum,
-+ absinfo.maximum, absinfo.fuzz, absinfo.flat);
- #endif /* DEBUG_INPUT_EVENTS */
- joystick->hwdata->abs_map[i] = joystick->naxes;
-- if ( values[1] == values[2] ) {
-+ if ( absinfo.minimum == absinfo.maximum ) {
- joystick->hwdata->abs_correct[i].used = 0;
- } else {
- joystick->hwdata->abs_correct[i].used = 1;
- joystick->hwdata->abs_correct[i].coef[0] =
-- (values[2] + values[1]) / 2 - values[4];
-+ (absinfo.maximum + absinfo.minimum) / 2 - absinfo.flat;
- joystick->hwdata->abs_correct[i].coef[1] =
-- (values[2] + values[1]) / 2 + values[4];
-- t = ((values[2] - values[1]) / 2 - 2 * values[4]);
-+ (absinfo.maximum + absinfo.minimum) / 2 + absinfo.flat;
-+ t = ((absinfo.maximum - absinfo.minimum) / 2 - 2 * absinfo.flat);
- if ( t != 0 ) {
- joystick->hwdata->abs_correct[i].coef[2] = (1 << 29) / t;
- } else {
-
diff --git a/source/l/shared-desktop-ontologies/shared-desktop-ontologies.SlackBuild b/source/l/shared-desktop-ontologies/shared-desktop-ontologies.SlackBuild
index 76ae4733c..af2aaeb8a 100755
--- a/source/l/shared-desktop-ontologies/shared-desktop-ontologies.SlackBuild
+++ b/source/l/shared-desktop-ontologies/shared-desktop-ontologies.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/source/l/shared-desktop-ontologies/slack-desc b/source/l/shared-desktop-ontologies/slack-desc
index 18412ab50..70ccf7ff9 100644
--- a/source/l/shared-desktop-ontologies/slack-desc
+++ b/source/l/shared-desktop-ontologies/slack-desc
@@ -13,7 +13,7 @@ shared-desktop-ontologies: the desktop in terms of vocabulary. It contains the w
shared-desktop-ontologies: ontologies such as RDF and RDFS as well as the Nepomuk ontologies
shared-desktop-ontologies: which are used by projects like KDE or Strigi.
shared-desktop-ontologies:
-shared-desktop-ontologies: Homepage: http://oscaf.sourceforge.net
+shared-desktop-ontologies: Homepage: http://sourceforge.net/projects/oscaf
shared-desktop-ontologies:
shared-desktop-ontologies:
shared-desktop-ontologies:
diff --git a/source/l/sip/sip.SlackBuild b/source/l/sip/sip.SlackBuild
index 4412ea25b..75493d31e 100755
--- a/source/l/sip/sip.SlackBuild
+++ b/source/l/sip/sip.SlackBuild
@@ -27,7 +27,7 @@
PKGNAM=sip
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j7}
diff --git a/source/l/slang/slang.SlackBuild b/source/l/slang/slang.SlackBuild
index c39d4297f..a9fbd4bb9 100755
--- a/source/l/slang/slang.SlackBuild
+++ b/source/l/slang/slang.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,9 +21,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-2.2.3}
-#DOCV=${DOCV:-2.2.3}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-2.2.4}
+#DOCV=${DOCV:-2.2.4}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -35,19 +35,22 @@ if [ -z "$ARCH" ]; then
esac
fi
-NUMJOBS=${NUMJOBS:-" -j7 "}
+# This doesn't handle multiple jobs well
+NUMJOBS=${NUMJOBS:-" -j1 "}
+
+# -fno-tree-dse is needed avoid optimization bugs
if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ SLKCFLAGS="-O2 -fno-tree-dse -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+ SLKCFLAGS="-O2 -fno-tree-dse"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -fno-tree-dse -fPIC"
LIBDIRSUFFIX="64"
else
- SLKCFLAGS="-O2"
+ SLKCFLAGS="-O2 -fno-tree-dse"
LIBDIRSUFFIX=""
fi
@@ -59,8 +62,8 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf slang-$VERSION
-tar xvf $CWD/slang-$VERSION.tar.bz2 || exit 1
-cd slang-$VERSION
+tar xvf $CWD/slang-$VERSION.tar.?z* || exit 1
+cd slang-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/l/soprano/soprano.SlackBuild b/source/l/soprano/soprano.SlackBuild
index 5ddd9f996..10dcb82d7 100755
--- a/source/l/soprano/soprano.SlackBuild
+++ b/source/l/soprano/soprano.SlackBuild
@@ -68,7 +68,8 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf soprano-$VERSION
tar xvf $CWD/soprano-$VERSION.tar.bz2 || exit 1
-cd soprano-$VERSION || exit 1
+cd soprano-${VERSION}* || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/l/startup-notification/startup-notification.SlackBuild b/source/l/startup-notification/startup-notification.SlackBuild
index 6fce983e3..e749601f0 100755
--- a/source/l/startup-notification/startup-notification.SlackBuild
+++ b/source/l/startup-notification/startup-notification.SlackBuild
@@ -22,7 +22,7 @@
VERSION=${VERSION:-$(echo startup-notification-*.tar.?z* | cut -d - -f 3 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/l/system-config-printer/system-config-printer.SlackBuild b/source/l/system-config-printer/system-config-printer.SlackBuild
index fafaba720..6ca6afafa 100755
--- a/source/l/system-config-printer/system-config-printer.SlackBuild
+++ b/source/l/system-config-printer/system-config-printer.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2010, 2011, 2012 Eric Hameleers, Eindhoven, NL
-# Copyright 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
@@ -25,7 +25,7 @@
PKGNAM=system-config-printer
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:" -j7 "}
diff --git a/source/l/taglib/taglib.SlackBuild b/source/l/taglib/taglib.SlackBuild
index 31794626d..026f3e5be 100755
--- a/source/l/taglib/taglib.SlackBuild
+++ b/source/l/taglib/taglib.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=${VERSION:-$(echo taglib-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -72,6 +72,7 @@ CXXFLAGS="$SLKCFLAGS" \
CXX=gcc \
cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
-DLIB_SUFFIX="${LIBDIRSUFFIX}" \
-DWITH_MP4=ON \
-DWITH_ASF=ON \
diff --git a/source/l/v4l-utils/v4l-utils.SlackBuild b/source/l/v4l-utils/v4l-utils.SlackBuild
index da7839940..9c0b2ec4f 100755
--- a/source/l/v4l-utils/v4l-utils.SlackBuild
+++ b/source/l/v4l-utils/v4l-utils.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2009 Eric Hameleers, Eindhoven, NL
-# Copyright 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PKGNAM=v4l-utils
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -70,17 +70,24 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Fix manpage path:
-sed -i "s,share/man/,man/,g" utils/keytable/Makefile
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux
# Build and install:
-export CFLAGS="$SLKCFLAGS"
-export CPPFLAGS="$SLKCFLAGS"
-export LDFLAGS="$SLKLDFLAGS"
-make ${NUMJOBS} PREFIX=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} || \
- make PREFIX=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} MANDIR=/usr/man || \
- exit 1
-make install PREFIX=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} MANDIR=/usr/man DESTDIR=$PKG || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# These shouldn't be used:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
# System udev files should go under /lib:
if [ -r $PKG/etc/udev/rules.d/70-infrared.rules ]; then
@@ -92,6 +99,10 @@ if [ -r $PKG/etc/udev/rules.d/70-infrared.rules ]; then
sed -i "s,/etc/udev/rules.d,/lib/udev/rules.d,g" $PKG/lib/udev/rules.d/70-infrared.rules
fi
+# I'd rather see these remain in /etc where they have been:
+mv $PKG/lib/udev/rc_keymaps/* $PKG/etc/rc_keymaps
+rmdir $PKG/lib/udev/rc_keymaps
+
# Strip binaries:
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
diff --git a/source/l/virtuoso-ose/virtuoso-opensource-6.1.3.unicode.patch b/source/l/virtuoso-ose/virtuoso-opensource-6.1.3.unicode.patch
deleted file mode 100644
index 6aa5e5a5a..000000000
--- a/source/l/virtuoso-ose/virtuoso-opensource-6.1.3.unicode.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- libsrc/Wi/xqf.c 3 Mar 2011 11:56:45 -0000 1.21.2.9
-+++ libsrc/Wi/xqf.c 26 Aug 2011 19:34:56 -0000 1.21.2.12
-@@ -3520,6 +3552,12 @@
- desc = xqf_str_parser_descs + desc_idx;
- if (DV_DB_NULL == arg_dtp)
- return NEW_DB_NULL;
-+ /* if we have wide and we want typed string we do utf8, cast do to default charset so we do not do it */
-+ if (DV_WIDE == arg_dtp && desc->p_dest_dtp == DV_STRING)
-+ {
-+ res = box_wide_as_utf8_char (arg, box_length (arg) / sizeof (wchar_t) - 1, DV_STRING);
-+ goto res_ready;
-+ }
- if (DV_STRING != arg_dtp)
- {
- caddr_t err = NULL;
-
diff --git a/source/l/virtuoso-ose/virtuoso-ose.SlackBuild b/source/l/virtuoso-ose/virtuoso-ose.SlackBuild
index bb9d88abe..98c883601 100755
--- a/source/l/virtuoso-ose/virtuoso-ose.SlackBuild
+++ b/source/l/virtuoso-ose/virtuoso-ose.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
-# Copyright 2009, 2010, 2011 Eric Hameleers, Eindhoven, NL
-# Copyright 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2011, 2012 Eric Hameleers, Eindhoven, NL
+# Copyright 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=virtuoso-opensource
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -62,10 +62,6 @@ rm -rf virtuoso-opensource-$VERSION
tar xvf $CWD/virtuoso-opensource-$VERSION.tar.xz || exit 1
cd virtuoso-opensource-$VERSION || exit 1
-# Apply a patch that fixes Unicode issue as described here:
-# https://bugs.kde.org/show_bug.cgi?id=271664
-cat $CWD/virtuoso-opensource-6.1.3.unicode.patch | patch -p0 --verbose || exit
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/n/ModemManager/ModemManager.SlackBuild b/source/n/ModemManager/ModemManager.SlackBuild
index 5089e02d8..6a6e116ef 100755
--- a/source/n/ModemManager/ModemManager.SlackBuild
+++ b/source/n/ModemManager/ModemManager.SlackBuild
@@ -26,8 +26,7 @@
PKGNAM=ModemManager
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d- | rev)}
-BUILD=${BUILD:-1}
-TAG=${TAG:-}
+BUILD=${BUILD:-2}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -58,14 +57,12 @@ else
LIBDIRSUFFIX=""
fi
-set -e
-
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z*
-cd $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -73,6 +70,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+zcat $CWD/WeDoNotHaveSystemD.patch.gz | patch -p1 --verbose || exit 1
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -80,26 +79,27 @@ CXXFLAGS="$SLKCFLAGS" \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
+ --with-polkit=no \
--mandir=/usr/man \
--docdir=/usr/doc/$PKGNAM-$VERSION \
- --with-pppd-plugin-dir=/usr/lib${LIBDIRSUFFIX}/pppd/2.4.5 \
- --build=$ARCH-slackware-linux
+ --build=$ARCH-slackware-linux || exit 1
-make $NUMJOBS
-make install DESTDIR=$PKG
+make $NUMJOBS || exit 1
+make install DESTDIR=$PKG || exit 1
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
- AUTHORS COPYING ChangeLog INSTALL NEWS README \
+ AUTHORS COPYING* ChangeLog INSTALL NEWS README* \
$PKG/usr/doc/$PKGNAM-$VERSION
-cat $CWD/$PKGNAM.SlackBuild > $PKG/usr/doc/$PKGNAM-$VERSION/$PKGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz}
+/sbin/makepkg -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/ModemManager/WeDoNotHaveSystemD.patch b/source/n/ModemManager/WeDoNotHaveSystemD.patch
new file mode 100644
index 000000000..ead48c211
--- /dev/null
+++ b/source/n/ModemManager/WeDoNotHaveSystemD.patch
@@ -0,0 +1,16 @@
+diff -Nur ModemManager-1.0.0.orig/data/org.freedesktop.ModemManager1.service.in ModemManager-1.0.0/data/org.freedesktop.ModemManager1.service.in
+--- ModemManager-1.0.0.orig/data/org.freedesktop.ModemManager1.service.in 2013-07-01 01:13:03.000000000 -0500
++++ ModemManager-1.0.0/data/org.freedesktop.ModemManager1.service.in 2013-09-22 16:09:54.419219920 -0500
+@@ -1,11 +1,4 @@
+-# This D-Bus service activation file is only for systemd support since
+-# an auto-activated ModemManager would be quite surprising for those people
+-# who have MM installed but turned off. Thus the Exec path available to
+-# D-Bus is /bin/false, but systemd knows the real Exec path due to the MM
+-# systemd .service file.
+-
+ [D-BUS Service]
+ Name=org.freedesktop.ModemManager1
+-Exec=@sbindir@/ModemManager
++Exec=/usr/sbin/ModemManager
+ User=root
+-SystemdService=dbus-org.freedesktop.ModemManager1.service
diff --git a/source/n/ModemManager/slack-desc b/source/n/ModemManager/slack-desc
index 2455ad8ef..87f1ba668 100644
--- a/source/n/ModemManager/slack-desc
+++ b/source/n/ModemManager/slack-desc
@@ -11,9 +11,9 @@ ModemManager:
ModemManager: ModemManager provides a unified high level API for communicating with
ModemManager: mobile broadband modems.
ModemManager:
+ModemManager: For more info, see:
+ModemManager: http://cgit.freedesktop.org/ModemManager/ModemManager/
ModemManager:
ModemManager:
ModemManager:
-ModemManager: For more info, see:
-ModemManager: http://cgit.freedesktop.org/ModemManager/ModemManager/
ModemManager:
diff --git a/source/n/NetworkManager/11-initialize-nm-remote-settings.patch b/source/n/NetworkManager/11-initialize-nm-remote-settings.patch
deleted file mode 100644
index fff4194ba..000000000
--- a/source/n/NetworkManager/11-initialize-nm-remote-settings.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-commit dd0460697c4e281fe277b53916d5251332e1aafc
-Author: Jiří Klimeš <jklimes@redhat.com>
-Date: Tue Mar 27 22:36:55 2012 +0200
-
- libnm-glib: initialize NMRemoteSettings in nm_remote_settings_new() (rh #806664)
-
- The object was not initialized after creation in nm_remote_settings_new(). This
- was a regression caused by 762df85234e7a042a2a5d31053e6cc273ae3e2ec.
-
-diff --git a/libnm-glib/nm-remote-settings.c b/libnm-glib/nm-remote-settings.c
-index 8f213f9..b6b6c18 100644
---- a/libnm-glib/nm-remote-settings.c
-+++ b/libnm-glib/nm-remote-settings.c
-@@ -728,7 +728,12 @@ properties_changed_cb (DBusGProxy *proxy,
- NMRemoteSettings *
- nm_remote_settings_new (DBusGConnection *bus)
- {
-- return g_object_new (NM_TYPE_REMOTE_SETTINGS, NM_REMOTE_SETTINGS_BUS, bus, NULL);
-+ NMRemoteSettings *settings;
-+
-+ settings = g_object_new (NM_TYPE_REMOTE_SETTINGS, NM_REMOTE_SETTINGS_BUS, bus, NULL);
-+
-+ _nm_remote_settings_ensure_inited (settings);
-+ return settings;
- }
-
- static void
diff --git a/source/n/NetworkManager/NetworkManager.SlackBuild b/source/n/NetworkManager/NetworkManager.SlackBuild
index d7e9d1f8b..41e0d18d0 100755
--- a/source/n/NetworkManager/NetworkManager.SlackBuild
+++ b/source/n/NetworkManager/NetworkManager.SlackBuild
@@ -1,8 +1,7 @@
#!/bin/sh
-# Slackware build script for NetworkManager
-
-# Copyright 2010,2011 Robby Workman, Northport, Alabama, USA
+# Copyright 2010, 2011 Robby Workman, Northport, Alabama, USA
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,8 +25,7 @@
PKGNAM=NetworkManager
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
-TAG=${TAG:-}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
@@ -83,8 +81,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/11-initialize-nm-remote-settings.patch.gz | patch -p1 --verbose || exit 1
-
# Find the version off pppd installed or else assume we are on -current:
PPPD=$( basename $(find /usr/lib${LIBDIRSUFFIX}/pppd -type d -maxdepth 1 -mindepth 1) )
[ -z "$PPPD" ] && PPPD=2.4.5
@@ -104,24 +100,38 @@ CXXFLAGS="$SLKCFLAGS" \
--without-resolvconf \
--with-dhcpcd=/sbin/dhcpcd \
--with-dhclient=yes \
+ --with-modem-manager-1=yes \
--build=$TARGET || exit 1
make $NUMJOBS || exit 1
make install DESTDIR=$PKG || exit 1
+# For some reason NetworkManager-0.9.8.0 does not install these:
+( cd man
+ mkdir -p $PKG/usr/man/man1
+ cp -a *.1 $PKG/usr/man/man1
+ mkdir -p $PKG/usr/man/man5
+ cp -a *.5 $PKG/usr/man/man5
+ mkdir -p $PKG/usr/man/man8
+ cp -a *.8 $PKG/usr/man/man8
+)
+
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+# In case NetworkManager tries to install something here:
+rm -f $PKG/etc/rc.d/rc.networkmanager
+
+# Don't clobber existing rc.networkmanager
# Don't run NetworkManager by default just because it got installed.
# Instead, the init script will have to be made executable first.
# This should avoid nasty surprises on potentially remotely located machines.
-chmod 644 $PKG/etc/rc.d/rc.networkmanager
-
-# Don't clobber existing rc.networkmanager
-mv $PKG/etc/rc.d/rc.networkmanager $PKG/etc/rc.d/rc.networkmanager.new
+mkdir -p $PKG/etc/rc.d
+cat $CWD/rc.networkmanager > $PKG/etc/rc.d/rc.networkmanager.new
+chmod 0644 $PKG/etc/rc.d/rc.networkmanager.new
# Add a 'starter' NetworkManager.conf file
# This sets the hostname (during postinstall) to match the system's name
@@ -136,7 +146,6 @@ cp -a \
$PKG/usr/doc/$PKGNAM-$VERSION
# In case someone needs this still:
cp $CWD/55NetworkManager $PKG/usr/doc/$PKGNAM-$VERSION/
-cat $CWD/$PKGNAM.SlackBuild > $PKG/usr/doc/$PKGNAM-$VERSION/$PKGNAM.SlackBuild
# If there's a ChangeLog, installing at least part of the recent history
# is useful, but don't let it get totally out of control:
@@ -150,5 +159,5 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz}
+/sbin/makepkg --prepend -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/NetworkManager/doinst.sh b/source/n/NetworkManager/doinst.sh
index 2b419b26b..cf091e8da 100644
--- a/source/n/NetworkManager/doinst.sh
+++ b/source/n/NetworkManager/doinst.sh
@@ -1,3 +1,4 @@
+
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
@@ -19,7 +20,7 @@ preserve_perms() {
cat ${NEW} > ${NEW}.incoming
mv ${NEW}.incoming ${NEW}
fi
- config ${NEW}
+ mv ${NEW} ${OLD}
}
if [ -e etc/HOSTNAME ]; then
@@ -27,6 +28,13 @@ if [ -e etc/HOSTNAME ]; then
etc/NetworkManager/NetworkManager.conf.new
fi
+# Preserve permissions, but move this into place. Otherwise the net
+# connection could be lost at a remote location.
preserve_perms etc/rc.d/rc.networkmanager.new
config etc/NetworkManager/NetworkManager.conf.new
+# If the .pid file is found in the old location, move it to the new one:
+if [ -r var/run/NetworkManager.pid ]; then
+ mv var/run/NetworkManager.pid var/run/NetworkManager/NetworkManager.pid
+fi
+
diff --git a/source/n/NetworkManager/rc.networkmanager b/source/n/NetworkManager/rc.networkmanager
new file mode 100644
index 000000000..430e61a45
--- /dev/null
+++ b/source/n/NetworkManager/rc.networkmanager
@@ -0,0 +1,105 @@
+#!/bin/sh
+#
+# NetworkManager: NetworkManager daemon
+#
+# description: This is a daemon for automatically switching network \
+# connections to the best available connection. \
+#
+# processname: NetworkManager
+# pidfile: /var/run/NetworkManager/NetworkManager.pid
+#
+
+prefix=/usr
+exec_prefix=/usr
+sbindir=${exec_prefix}/sbin
+
+NETWORKMANAGER_BIN=${sbindir}/NetworkManager
+
+# Sanity checks.
+[ -x $NETWORKMANAGER_BIN ] || exit 0
+
+PIDFILE=/var/run/NetworkManager/NetworkManager.pid
+
+nm_start()
+{
+ if [ "`pgrep dbus-daemon`" = "" ]; then
+ echo "D-BUS must be running to start NetworkManager"
+ return
+ fi
+
+ # Just in case the pidfile is still there, we may need to nuke it.
+ if [ -e "$PIDFILE" ]; then
+ rm -f $PIDFILE
+ fi
+
+ echo "Starting NetworkManager daemon: $NETWORKMANAGER_BIN"
+ $NETWORKMANAGER_BIN
+}
+
+nm_status()
+{
+ local pidlist=`cat $PIDFILE 2>/dev/null`
+ if [ -z "$pidlist" ]; then
+ return 1
+ fi
+ local command=`ps -p $pidlist -o comm=`
+ if [ "$command" != 'NetworkManager' ]; then
+ return 1
+ fi
+}
+
+nm_stop()
+{
+ echo -en "Stopping NetworkManager: "
+ # Shut down any DHCP connections, otherwise the processes will be orphaned
+ # and the connections will not come up when NetworkManager restarts.
+ if ps ax | grep /sbin/dhcpcd | grep -q libexec/nm-dhcp ; then
+ ps ax | grep /sbin/dhcpcd | grep libexec/nm-dhcp | while read line ; do
+ kill -HUP $(echo $line | cut -b 1-5)
+ done
+ fi
+ if ps ax | grep /sbin/dhclient | grep -q /var/lib/NetworkManager ; then
+ ps ax | grep /sbin/dhclient | grep /var/lib/NetworkManager | while read line ; do
+ kill -HUP $(echo $line | cut -b 1-5)
+ done
+ fi
+ local pidlist=`cat $PIDFILE 2>/dev/null`
+ if [ ! -z "$pidlist" ]; then
+ kill $pidlist &>/dev/null
+ sleep 3
+ rm -f $PIDFILE &>/dev/null
+ fi
+ echo "stopped";
+ sleep 3
+}
+
+nm_restart()
+{
+ nm_stop
+ nm_start
+}
+
+case "$1" in
+'start')
+ if ( ! nm_status ); then
+ nm_start
+ else
+ echo "NetworkManager is already running (will not start it twice)."
+ fi
+ ;;
+'stop')
+ nm_stop
+ ;;
+'restart')
+ nm_restart
+ ;;
+'status')
+ if ( nm_status ); then
+ echo "NetworkManager is currently running"
+ else
+ echo "NetworkManager is not running."
+ fi
+ ;;
+*)
+ echo "usage $0 start|stop|status|restart"
+esac
diff --git a/source/n/NetworkManager/slack-desc b/source/n/NetworkManager/slack-desc
index 2a47aaa38..964960480 100644
--- a/source/n/NetworkManager/slack-desc
+++ b/source/n/NetworkManager/slack-desc
@@ -14,6 +14,6 @@ NetworkManager: addresses, default routes, associating with wireless access poin
NetworkManager: or wired LANs, and other network configuration settings in a simple,
NetworkManager: automated fashion (manual overrides are still possible).
NetworkManager:
-NetworkManager:
NetworkManager: Home page: http://projects.gnome.org/NetworkManager/
NetworkManager:
+NetworkManager:
diff --git a/source/n/alpine/alpine.SlackBuild b/source/n/alpine/alpine.SlackBuild
index 07961ff2c..5bf3b445d 100755
--- a/source/n/alpine/alpine.SlackBuild
+++ b/source/n/alpine/alpine.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=alpine
-VERSION=${VERSION:-2.02}
+VERSION=${VERSION:-2.11}
ALPINEBUILD=${ALPINEBUILD:-1}
IMAPDBUILD=${IMAPDBUILD:-1}
PINEPGP=${PINEPGP:-0.18.0}
@@ -55,9 +55,9 @@ elif [ "$ARCH" = "x86_64" ]; then
fi
cd $TMP
-rm -rf re-alpine-${VERSION}
-tar xvf $CWD/re-alpine-$VERSION.tar.?z* || exit 1
-cd re-alpine-$VERSION
+rm -rf alpine-${VERSION}
+tar xvf $CWD/alpine-$VERSION.tar.?z* || exit 1
+cd alpine-$VERSION
# Make sure ownerships and permissions are sane:
chown -R root:root .
@@ -166,7 +166,7 @@ PKG2=/tmp/package-imapd
cd $TMP
rm -rf $PKG2
mkdir -p $PKG2
-cd re-alpine-$VERSION/imap
+cd alpine-$VERSION/imap
mkdir -p $PKG2/usr/doc/imapd-$VERSION
cp -a \
CONTENTS LICENSE.txt NOTICE SUPPORT \
diff --git a/source/n/alpine/slack-desc.alpine b/source/n/alpine/slack-desc.alpine
index 79f962da1..ad9f7b6fa 100644
--- a/source/n/alpine/slack-desc.alpine
+++ b/source/n/alpine/slack-desc.alpine
@@ -16,4 +16,4 @@ alpine: learned by exploration and the use of context-sensitive help. The
alpine: user experience is highly customizable through the use of the Alpine
alpine: Setup command.
alpine:
-alpine: The Alpine site may be found here: http://www.washington.edu/alpine
+alpine: The Alpine site may be found here: http://patches.freeiz.com/alpine
diff --git a/source/n/autofs/autofs-5.0.5-fix-libxml2-workaround-configure.patch b/source/n/autofs/autofs-5.0.5-fix-libxml2-workaround-configure.patch
deleted file mode 100644
index 197ac6bd3..000000000
--- a/source/n/autofs/autofs-5.0.5-fix-libxml2-workaround-configure.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-autofs-5.0.5 - fix libxml2 workaround configure
-
-From: Ian Kent <raven@themaw.net>
-
-The configure logic related to work around the libxml2 library
-reload issues is not quite right. The xml code is needed if
-ldap is used so it is sufficient to require inclusion of the
-workaround code if autofs is being built with LDAP support.
----
-
-diff --git a/daemon/Makefile b/daemon/Makefile
-index 371ec72..9e9d635 100644
---- a/daemon/Makefile
-+++ b/daemon/Makefile
-@@ -23,10 +23,8 @@ LDFLAGS += -rdynamic
- LIBS = -ldl
-
- ifeq ($(LDAP), 1)
-- ifeq ($(SASL), 1)
- CFLAGS += $(XML_FLAGS)
- LIBS += $(XML_LIBS)
-- endif
- endif
-
- all: automount
-diff --git a/daemon/automount.c b/daemon/automount.c
-index 979ecd6..7c44d4b 100644
---- a/daemon/automount.c
-+++ b/daemon/automount.c
-@@ -38,10 +38,12 @@
- #include <sys/utsname.h>
-
- #include "automount.h"
--#ifdef LIBXML2_WORKAROUND
-+#if defined(LIBXML2_WORKAROUND) || defined(TIRPC_WORKAROUND)
- #include <dlfcn.h>
-+#ifdef WITH_LDAP
- #include <libxml/parser.h>
- #endif
-+#endif
-
- const char *program; /* Initialized with argv[0] */
- const char *version = VERSION_STRING; /* Program version */
-@@ -2110,7 +2112,7 @@ int main(int argc, char *argv[])
- exit(1);
- }
-
--#ifdef LIBXML2_WORKAROUND
-+#if defined(WITH_LDAP) && defined(LIBXML2_WORKAROUND)
- void *dh_xml2 = dlopen("libxml2.so", RTLD_NOW);
- if (!dh_xml2)
- dh_xml2 = dlopen("libxml2.so.2", RTLD_NOW);
-@@ -2158,7 +2160,7 @@ int main(int argc, char *argv[])
- if (dh_tirpc)
- dlclose(dh_tirpc);
- #endif
--#ifdef LIBXML2_WORKAROUND
-+#if defined(WITH_LDAP) && defined( LIBXML2_WORKAROUND)
- if (dh_xml2) {
- xmlCleanupParser();
- dlclose(dh_xml2);
diff --git a/source/n/autofs/autofs-5.0.7.tar.sign b/source/n/autofs/autofs-5.0.7.tar.sign
new file mode 100644
index 000000000..321e4054a
--- /dev/null
+++ b/source/n/autofs/autofs-5.0.7.tar.sign
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+
+iQIcBAABAgAGBQJQD42MAAoJEOdnc4D1T9ipQqgP/Rgv4TZ+THOwK5GzWkpw49cL
+Iyy1RgdcHYnPlohOBXQf9q5R4xkCtJ57qUWMnKaImPSDKnYUzvS3Ttg6IkdLdOET
+JwO4GrcAKf1Wf+z4eDRjMHd+wrNoau2HkIUSJLSzajExgWQ2127FmYc+GIZv3OAK
+IJac9kSqryjfVLFH5vW4TFgxN4rCMUW8dvCynSG3rSvpWT9CbXrVoKbwQCugpoj0
+tB+1nPlq51hwJjYOXNuPwVBkvtnbB9MbUN9QCtax7ORVdd8ptRBJe0K6z6efvU1G
+aoXKf/HthW+aP07Qb2D8Kz2NwArsS9b2MZMFnk0fkPW0vw3nhGqlWkHaZ72nRz+f
+clY+mv6gjZ0VIQP7/VH8f+8XGOvKipZabMmOx0gR9aEh9DxBqetti5/LHsgJhic3
+8bkXkze8qpLNtMleaPeSV3B4OUUDmGEU1+kdvPsU53eEJQGqqnvYsExhD6SfxT8d
+aksdFqvkEIfrxKxmedjEYo72NjJg/Fr4wYInW0RCEOekOunXV0sxYwZwmx/67EQ4
+PYbWxVT3iTKACa1zSyVQVPrONdXXkTwFGUY5IcRPOQ/05KHOJR8slmaOrRfya0de
+jilwKzuOxXMJlmhhPwPycoe0AEBWEzuq+pr/SX4pqJ/fnvyVbq30aVDEnJr8xHz4
+VIsuyeTjs3iSIL0UaN2c
+=/dIW
+-----END PGP SIGNATURE-----
diff --git a/source/n/autofs/autofs.SlackBuild b/source/n/autofs/autofs.SlackBuild
index 7fb29caeb..5441894fc 100755
--- a/source/n/autofs/autofs.SlackBuild
+++ b/source/n/autofs/autofs.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
-# Copyright 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,8 @@
PKGNAM=autofs
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -61,10 +61,11 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+tar xf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
cd $PKGNAM-$VERSION || exit 1
-zcat $CWD/autofs-5.0.5-fix-libxml2-workaround-configure.patch.gz | patch -p1 || exit 1
+zcat $CWD/autofs.sasl.diff.gz | patch -p1 -l --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -87,6 +88,9 @@ CPPFLAGS="$SLKCFLAGS" \
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
+# Referenced in the auto.master config file, but not created:
+mkdir -p $PKG/etc/auto.master.d
+
mv $PKG/etc/init.d $PKG/etc/rc.d
mv $PKG/etc/rc.d/autofs $PKG/etc/rc.d/rc.autofs.new
chmod 644 $PKG/etc/rc.d/rc.autofs.new
diff --git a/source/n/autofs/autofs.sasl.diff b/source/n/autofs/autofs.sasl.diff
new file mode 100644
index 000000000..8b451031c
--- /dev/null
+++ b/source/n/autofs/autofs.sasl.diff
@@ -0,0 +1,29 @@
+diff -Nuar autofs-5.0.7-orig/modules/lookup_ldap.c autofs-5.0.7/modules/lookup_ldap.c
+--- autofs-5.0.7-orig/modules/lookup_ldap.c 2012-10-02 11:44:21.000000000 -0400
++++ autofs-5.0.7/modules/lookup_ldap.c 2012-10-02 11:44:46.000000000 -0400
+@@ -585,10 +585,12 @@
+ {
+ LDAP *ldap;
+
++#ifdef WITH_SASL
+ if (ctxt->extern_cert && ctxt->extern_key) {
+ set_env(logopt, ENV_LDAPTLS_CERT, ctxt->extern_cert);
+ set_env(logopt, ENV_LDAPTLS_KEY, ctxt->extern_key);
+ }
++#endif
+
+ ldap = init_ldap_connection(logopt, uri, ctxt);
+ if (ldap) {
+@@ -1385,10 +1387,12 @@
+ defaults_free_searchdns(ctxt->sdns);
+ if (ctxt->dclist)
+ free_dclist(ctxt->dclist);
++#ifdef WITH_SASL
+ if (ctxt->extern_cert)
+ free(ctxt->extern_cert);
+ if (ctxt->extern_key)
+ free(ctxt->extern_key);
++#endif
+ free(ctxt);
+
+ return;
diff --git a/source/n/bind/bind.SlackBuild b/source/n/bind/bind.SlackBuild
index eed6f86a3..2f7768db6 100755
--- a/source/n/bind/bind.SlackBuild
+++ b/source/n/bind/bind.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=bind
-VERSION=${VERSION:-9.9.1-P3}
+VERSION=${VERSION:-9.9.3-P2}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
diff --git a/source/n/bind/caching-example/named.root b/source/n/bind/caching-example/named.root
index 8fbbb656b..6c1974129 100644
--- a/source/n/bind/caching-example/named.root
+++ b/source/n/bind/caching-example/named.root
@@ -9,8 +9,8 @@
; on server FTP.INTERNIC.NET
; -OR- RS.INTERNIC.NET
;
-; last update: Jun 8, 2011
-; related version of root zone: 2011060800
+; last update: Jan 3, 2013
+; related version of root zone: 2013010300
;
; formerly NS.INTERNIC.NET
;
@@ -31,7 +31,7 @@ C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
; FORMERLY TERP.UMD.EDU
;
. 3600000 NS D.ROOT-SERVERS.NET.
-D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
+D.ROOT-SERVERS.NET. 3600000 A 199.7.91.13
D.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2D::D
;
; FORMERLY NS.NASA.GOV
diff --git a/source/n/bluez/bluez-run_udev_helper.patch b/source/n/bluez/bluez-run_udev_helper.patch
new file mode 100644
index 000000000..a3a71e6df
--- /dev/null
+++ b/source/n/bluez/bluez-run_udev_helper.patch
@@ -0,0 +1,14 @@
+Instead of automatically starting the bluetooth subsystem when devices
+are added, let's invoke a wrapper script in /lib/udev and have that
+wrapper check whether /etc/rc.d/rc.bluetooth is executable first.
+
+diff -Nur bluez-4.99/scripts/bluetooth.rules.in bluez-4.99.orig/scripts/bluetooth.rules.in
+--- bluez-4.99.orig/scripts/bluetooth.rules.in 2010-10-02 18:25:27.000000000 -0500
++++ bluez-4.99/scripts/bluetooth.rules.in 2013-06-27 22:05:55.572332197 -0500
+@@ -1,4 +1,4 @@
+ # Run helper every time a Bluetooth device appears
+ # On remove actions, bluetoothd should go away by itself
+-ACTION=="add", SUBSYSTEM=="bluetooth", RUN+="@prefix@/sbin/bluetoothd --udev"
+-ACTION=="change", SUBSYSTEM=="bluetooth", RUN+="@prefix@/sbin/bluetoothd --udev"
++ACTION=="add", SUBSYSTEM=="bluetooth", RUN+="/lib/udev/bluetooth.sh"
++ACTION=="change", SUBSYSTEM=="bluetooth", RUN+="/lib/udev/bluetooth.sh"
diff --git a/source/n/bluez/bluez.SlackBuild b/source/n/bluez/bluez.SlackBuild
index d77c15149..b1f31593e 100755
--- a/source/n/bluez/bluez.SlackBuild
+++ b/source/n/bluez/bluez.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for bluez - http://www.bluez.org
-# Copyright 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PKGNAM=bluez
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -70,6 +70,9 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Start bluetoothd via a wrapper script to check rc.bluetooth's +/-x first
+zcat $CWD/bluez-run_udev_helper.patch.gz | patch -p1 --verbose || exit 1
+
# Enable the audio socket in audio.conf:
zcat $CWD/bluez.enable.audio.socket.diff.gz | patch -p1 --verbose || exit 1
@@ -142,6 +145,10 @@ mv $PKG/usr/share/alsa/bluetooth.conf $PKG/etc/alsa
done
)
+# Add the wrapper script
+cat $CWD/config/bluetooth.sh > $PKG/lib/udev/bluetooth.sh
+chmod 0755 $PKG/lib/udev/bluetooth.sh
+
# Add an init script
mkdir -p $PKG/etc/rc.d
cat $CWD/config/rc.bluetooth > $PKG/etc/rc.d/rc.bluetooth.new
diff --git a/source/n/bluez/config/bluetooth.sh b/source/n/bluez/config/bluetooth.sh
new file mode 100644
index 000000000..22034551c
--- /dev/null
+++ b/source/n/bluez/config/bluetooth.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+# Check whether /etc/rc.d/rc.bluetooth is executable before starting
+# the bluetooth subsystem for hotplugged bluetooth devices
+[ -x /etc/rc.d/rc.bluetooth ] && exec /usr/sbin/bluetoothd --udev
+exit 0
+
diff --git a/source/n/ca-certificates/ca-certificates.SlackBuild b/source/n/ca-certificates/ca-certificates.SlackBuild
index b3efd180d..83d61a8b1 100755
--- a/source/n/ca-certificates/ca-certificates.SlackBuild
+++ b/source/n/ca-certificates/ca-certificates.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for ca-certificates
# Copyright 2009,2011 Robby Workman Northport, AL, USA
-# Copyright 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,9 +24,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=ca-certificates
-VERSION=${VERSION:-20120623}
+VERSION=${VERSION:-20130906}
ARCH=noarch
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
CWD=$(pwd)
TMP=${TMP:-/tmp}
@@ -35,9 +35,9 @@ PKG=$TMP/package-$PRGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/${PRGNAM}_$VERSION.tar.gz
-cd $PRGNAM-$VERSION
+rm -rf $PRGNAM
+tar xvf $CWD/${PRGNAM}_$VERSION.tar.gz || exit 1
+cd $PRGNAM || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -45,7 +45,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/patches/remove_debconf.diff.gz | patch -p1 || exit 1
zcat $CWD/patches/fixup_DESTDIR.diff.gz | patch -p1 || exit 1
zcat $CWD/patches/fixup_update-ca-certificates.diff.gz | patch -p1 || exit 1
diff --git a/source/n/ca-certificates/patches/fixup_DESTDIR.diff b/source/n/ca-certificates/patches/fixup_DESTDIR.diff
index 291848f69..964064184 100644
--- a/source/n/ca-certificates/patches/fixup_DESTDIR.diff
+++ b/source/n/ca-certificates/patches/fixup_DESTDIR.diff
@@ -1,39 +1,15 @@
-diff -Nur ca-certificates-20111211.orig/Makefile ca-certificates-20111211/Makefile
---- ca-certificates-20111211.orig/Makefile 2011-12-11 13:54:02.000000000 -0600
-+++ ca-certificates-20111211/Makefile 2011-12-17 23:05:37.590951594 -0600
-@@ -17,7 +17,7 @@
-
- install:
- for dir in $(SUBDIRS); do \
-- mkdir $(DESTDIR)/$(CERTSDIR)/$$dir; \
-+ mkdir -p $(DESTDIR)/$(CERTSDIR)/$$dir; \
- $(MAKE) -C $$dir install CERTSDIR=$(DESTDIR)/$(CERTSDIR)/$$dir; \
- done
- for dir in sbin; do \
-diff -Nur ca-certificates-20111211.orig/cacert.org/Makefile ca-certificates-20111211/cacert.org/Makefile
---- ca-certificates-20111211.orig/cacert.org/Makefile 2011-12-11 13:54:02.000000000 -0600
-+++ ca-certificates-20111211/cacert.org/Makefile 2011-12-17 23:06:16.927521153 -0600
-@@ -9,5 +9,6 @@
-
- install:
- cat root.crt class3.crt > cacert.org.crt
-+ mkdir -p $(CERTSDIR)
- install -m 644 cacert.org.crt $(CERTSDIR)/cacert.org.crt
-
-diff -Nur ca-certificates-20111211.orig/debconf.org/Makefile ca-certificates-20111211/debconf.org/Makefile
---- ca-certificates-20111211.orig/debconf.org/Makefile 2011-12-11 13:54:02.000000000 -0600
-+++ ca-certificates-20111211/debconf.org/Makefile 2011-12-17 23:06:27.118409644 -0600
+--- ./cacert.org/Makefile.orig
++++ ./cacert.org/Makefile
@@ -7,6 +7,7 @@
clean:
install:
+ mkdir -p $(CERTSDIR)
for p in *.crt; do \
- install -m 644 $$p $(CERTSDIR)/$$p ; \
+ install -m 644 $$p $(CERTSDIR)/cacert.org_$$p ; \
done
-diff -Nur ca-certificates-20111211.orig/mozilla/Makefile ca-certificates-20111211/mozilla/Makefile
---- ca-certificates-20111211.orig/mozilla/Makefile 2011-12-11 13:54:02.000000000 -0600
-+++ ca-certificates-20111211/mozilla/Makefile 2011-12-17 23:06:34.556328253 -0600
+--- ./mozilla/Makefile.orig
++++ ./mozilla/Makefile
@@ -9,6 +9,7 @@
-rm -f *.crt
@@ -42,18 +18,27 @@ diff -Nur ca-certificates-20111211.orig/mozilla/Makefile ca-certificates-2011121
for p in *.crt; do \
install -m 644 $$p $(CERTSDIR)/$$p ; \
done
-diff -Nur ca-certificates-20111211.orig/sbin/Makefile ca-certificates-20111211/sbin/Makefile
---- ca-certificates-20111211.orig/sbin/Makefile 2011-12-11 13:54:02.000000000 -0600
-+++ ca-certificates-20111211/sbin/Makefile 2011-12-17 23:07:03.841007810 -0600
+--- ./sbin/Makefile.orig
++++ ./sbin/Makefile
@@ -8,4 +8,5 @@
clean:
install:
+ mkdir -p $(DESTDIR)/usr/sbin
install -m755 update-ca-certificates $(DESTDIR)/usr/sbin/
-diff -Nur ca-certificates-20111211.orig/spi-inc.org/Makefile ca-certificates-20111211/spi-inc.org/Makefile
---- ca-certificates-20111211.orig/spi-inc.org/Makefile 2011-12-11 13:54:02.000000000 -0600
-+++ ca-certificates-20111211/spi-inc.org/Makefile 2011-12-17 23:08:18.499190893 -0600
+--- ./Makefile.orig
++++ ./Makefile
+@@ -17,7 +17,7 @@
+
+ install:
+ for dir in $(SUBDIRS); do \
+- mkdir $(DESTDIR)/$(CERTSDIR)/$$dir; \
++ mkdir -p $(DESTDIR)/$(CERTSDIR)/$$dir; \
+ $(MAKE) -C $$dir install CERTSDIR=$(DESTDIR)/$(CERTSDIR)/$$dir; \
+ done
+ for dir in sbin; do \
+--- ./spi-inc.org/Makefile.orig
++++ ./spi-inc.org/Makefile
@@ -7,6 +7,7 @@
clean:
diff --git a/source/n/ca-certificates/patches/remove_debconf.diff b/source/n/ca-certificates/patches/remove_debconf.diff
deleted file mode 100644
index 58fce4226..000000000
--- a/source/n/ca-certificates/patches/remove_debconf.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur ca-certificates-20111211.orig/Makefile ca-certificates-20111211/Makefile
---- ca-certificates-20111211.orig/Makefile 2011-12-17 23:10:21.709842750 -0600
-+++ ca-certificates-20111211/Makefile 2011-12-17 23:10:10.096969815 -0600
-@@ -3,7 +3,7 @@
- #
-
- CERTSDIR = /usr/share/ca-certificates
--SUBDIRS = mozilla cacert.org debconf.org spi-inc.org
-+SUBDIRS = mozilla cacert.org spi-inc.org
-
- all:
- for dir in $(SUBDIRS); do \
diff --git a/source/n/conntrack-tools/conntrack-tools.SlackBuild b/source/n/conntrack-tools/conntrack-tools.SlackBuild
new file mode 100755
index 000000000..8f40c920f
--- /dev/null
+++ b/source/n/conntrack-tools/conntrack-tools.SlackBuild
@@ -0,0 +1,104 @@
+#!/bin/sh
+
+# Slackware build script for conntrack-tools
+
+# Copyright 2006-2013 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=conntrack-tools
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc/conntrackd \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-static=no \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+mkdir -p $PKG/etc/conntrackd
+cat doc/stats/conntrackd.conf > $PKG/etc/conntrackd/conntrackd.conf.sample
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a AUTHORS COPYING* INSTALL TODO doc/cli doc/sync doc/manual \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/conntrack-tools/slack-desc b/source/n/conntrack-tools/slack-desc
new file mode 100644
index 000000000..15726e0ed
--- /dev/null
+++ b/source/n/conntrack-tools/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+conntrack-tools: conntrack-tools (userspace tools for conntrack)
+conntrack-tools:
+conntrack-tools: The conntrack-tools are a set of userspace tools that allow system
+conntrack-tools: administrators to interact with the Connection Tracking System (the
+conntrack-tools: module that provides stateful packet inspection for iptables).
+conntrack-tools:
+conntrack-tools: The conntrack-tools include the userspace daemon conntrackd
+conntrack-tools: and the command line interface conntrack.
+conntrack-tools:
+conntrack-tools:
+conntrack-tools:
diff --git a/source/n/curl/cacert.pem b/source/n/curl/cacert.pem
index 1fccb3ddc..99b310bce 100644
--- a/source/n/curl/cacert.pem
+++ b/source/n/curl/cacert.pem
@@ -1,7 +1,7 @@
##
## ca-bundle.crt -- Bundle of CA Root Certificates
##
-## Certificate data from Mozilla as of: Wed Apr 25 15:02:13 2012
+## Certificate data from Mozilla as of: Sat Dec 29 20:03:40 2012
##
## This is a bundle of X.509 certificates of public Certificate Authorities
## (CA). These were automatically extracted from Mozilla's root certificates
@@ -14,7 +14,7 @@
## Just configure this file as the SSLCACertificateFile.
##
-# @(#) $RCSfile: certdata.txt,v $ $Revision: 1.83 $ $Date: 2012/04/25 14:49:29 $
+# @(#) $RCSfile: certdata.txt,v $ $Revision: 1.87 $ $Date: 2012/12/29 16:32:45 $
GTE CyberTrust Global Root
==========================
@@ -147,6 +147,44 @@ WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf
Tqj/ZA1k
-----END CERTIFICATE-----
+Verisign Class 1 Public Primary Certification Authority - G2
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIDAjCCAmsCEEzH6qqYPnHTkxD4PTqJkZIwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
+MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
+eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
+biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
+dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
+MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
+eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
+biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
+dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq0Lq+Fi24g9TK0g+8djHKlNgd
+k4xWArzZbxpvUjZudVYKVdPfQ4chEWWKfo+9Id5rMj8bhDSVBZ1BNeuS65bdqlk/AVNtmU/t5eIq
+WpDBucSmFc/IReumXY6cPvBkJHalzasab7bYe1FhbqZ/h8jit+U03EGI6glAvnOSPWvndQIDAQAB
+MA0GCSqGSIb3DQEBBQUAA4GBAKlPww3HZ74sy9mozS11534Vnjty637rXC0Jh9ZrbWB85a7FkCMM
+XErQr7Fd88e2CtvgFZMN3QO8x3aKtd1Pw5sTdbgBwObJW2uluIncrKTdcu1OofdPvAbT6shkdHvC
+lUGcZXNY8ZCaPGqxmMnEh7zPRW1F4m4iP/68DzFc6PLZ
+-----END CERTIFICATE-----
+
+Verisign Class 2 Public Primary Certification Authority - G2
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h
+cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp
+Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
+c3QgTmV0d29yazAeFw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h
+cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp
+Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
+c3QgTmV0d29yazCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjx
+nNuX6Zr8wgQGE75fUsjMHiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRC
+wiNPStjwDqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cCAwEA
+ATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9jinb3/7aHmZuovCfTK
+1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAXrXfMSTWqz9iP0b63GJZHc2pUIjRk
+LbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnInjBJ7xUS0rg==
+-----END CERTIFICATE-----
+
Verisign Class 3 Public Primary Certification Authority - G2
============================================================
-----BEGIN CERTIFICATE-----
@@ -266,6 +304,54 @@ V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r
on+jjBXu
-----END CERTIFICATE-----
+Verisign Class 1 Public Primary Certification Authority - G3
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIEGjCCAwICEQCLW3VWhFSFCwDPrzhIzrGkMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
+CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
+dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkg
+Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAN2E1Lm0+afY8wR4nN493GwTFtl63SRRZsDHJlkNrAYIwpTRMx/wgzUfbhvI3qpuFU5UJ+/E
+bRrsC+MO8ESlV8dAWB6jRx9x7GD2bZTIGDnt/kIYVt/kTEkQeE4BdjVjEjbdZrwBBDajVWjVojYJ
+rKshJlQGrT/KFOCsyq0GHZXi+J3x4GD/wn91K0zM2v6HmSHquv4+VNfSWXjbPG7PoBMAGrgnoeS+
+Z5bKoMWznN3JdZ7rMJpfo83ZrngZPyPpXNspva1VyBtUjGP26KbqxzcSXKMpHgLZ2x87tNcPVkeB
+FQRKr4Mn0cVYiMHd9qqnoxjaaKptEVHhv2Vrn5Z20T0CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
+q2aN17O6x5q25lXQBfGfMY1aqtmqRiYPce2lrVNWYgFHKkTp/j90CxObufRNG7LRX7K20ohcs5/N
+y9Sn2WCVhDr4wTcdYcrnsMXlkdpUpqwxga6X3s0IrLjAl4B/bnKk52kTlWUfxJM8/XmPBNQ+T+r3
+ns7NZ3xPZQL/kYVUc8f/NveGLezQXk//EZ9yBta4GvFMDSZl4kSAHsef493oCtrspSCAaWihT37h
+a88HQfqDjrw43bAuEbFrskLMmrz5SCJ5ShkPshw+IHTZasO+8ih4E1Z5T21Q6huwtVexN2ZYI/Pc
+D98Kh8TvhgXVOBRgmaNL3gaWcSzy27YfpO8/7g==
+-----END CERTIFICATE-----
+
+Verisign Class 2 Public Primary Certification Authority - G3
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIEGTCCAwECEGFwy0mMX5hFKeewptlQW3owDQYJKoZIhvcNAQEFBQAwgcoxCzAJBgNVBAYTAlVT
+MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29y
+azE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ug
+b25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0
+aW9uIEF1dGhvcml0eSAtIEczMB4XDTk5MTAwMTAwMDAwMFoXDTM2MDcxNjIzNTk1OVowgcoxCzAJ
+BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
+c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y
+aXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBD
+ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
+AQEArwoNwtUs22e5LeWUJ92lvuCwTY+zYVY81nzD9M0+hsuiiOLh2KRpxbXiv8GmR1BeRjmL1Za6
+tW8UvxDOJxOeBUebMXoT2B/Z0wI3i60sR/COgQanDTAM6/c8DyAd3HJG7qUCyFvDyVZpTMUYwZF7
+C9UTAJu878NIPkZgIIUq1ZC2zYugzDLdt/1AVbJQHFauzI13TccgTacxdu9okoqQHgiBVrKtaaNS
+0MscxCM9H5n+TOgWY47GCI72MfbS+uV23bUckqNJzc0BzWjNqWm6o+sdDZykIKbBoMXRRkwXbdKs
+Zj+WjOCE1Db/IlnF+RFgqF8EffIa9iVCYQ/ESrg+iQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQA0
+JhU8wI1NQ0kdvekhktdmnLfexbjQ5F1fdiLAJvmEOjr5jLX77GDx6M4EsMjdpwOPMPOY36TmpDHf
+0xwLRtxyID+u7gU8pDM/CzmscHhzS5kr3zDCVLCoO1Wh/hYozUK9dG6A2ydEp85EXdQbkJgNHkKU
+sQAsBNB0owIFImNjzYO1+8FtYmtpdf1dcEG59b98377BMnMiIYtYgXsVkXq642RIsH/7NiXaldDx
+JBQX3RiAa0YjOVT1jmIJBB2UkKab5iXiQkWquJCtvgiPqQtCGJTPcjnhsUPgKM+351psE2tJs//j
+GHyJizNdrDPXp/naOlXJWBD5qu9ats9LS98q
+-----END CERTIFICATE-----
+
Verisign Class 3 Public Primary Certification Authority - G3
============================================================
-----BEGIN CERTIFICATE-----
@@ -686,6 +772,31 @@ gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
-----END CERTIFICATE-----
+UTN-USER First-Network Applications
+===================================
+-----BEGIN CERTIFICATE-----
+MIIEZDCCA0ygAwIBAgIQRL4Mi1AAJLQR0zYwS8AzdzANBgkqhkiG9w0BAQUFADCBozELMAkGA1UE
+BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
+IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzAp
+BgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwHhcNOTkwNzA5MTg0ODM5
+WhcNMTkwNzA5MTg1NzQ5WjCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5T
+YWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
+dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBB
+cHBsaWNhdGlvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCz+5Gh5DZVhawGNFug
+mliy+LUPBXeDrjKxdpJo7CNKyXY/45y2N3kDuatpjQclthln5LAbGHNhSuh+zdMvZOOmfAz6F4Cj
+DUeJT1FxL+78P/m4FoCHiZMlIJpDgmkkdihZNaEdwH+DBmQWICzTSaSFtMBhf1EI+GgVkYDLpdXu
+Ozr0hAReYFmnjDRy7rh4xdE7EkpvfmUnuaRVxblvQ6TFHSyZwFKkeEwVs0CYCGtDxgGwenv1axwi
+P8vv/6jQOkt2FZ7S0cYu49tXGzKiuG/ohqY/cKvlcJKrRB5AUPuco2LkbG6gyN7igEL66S/ozjIE
+j3yNtxyjNTwV3Z7DrpelAgMBAAGjgZEwgY4wCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8w
+HQYDVR0OBBYEFPqGydvguul49Uuo1hXf8NPhahQ8ME8GA1UdHwRIMEYwRKBCoECGPmh0dHA6Ly9j
+cmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LU5ldHdvcmtBcHBsaWNhdGlvbnMuY3JsMA0G
+CSqGSIb3DQEBBQUAA4IBAQCk8yXM0dSRgyLQzDKrm5ZONJFUICU0YV8qAhXhi6r/fWRRzwr/vH3Y
+IWp4yy9Rb/hCHTO967V7lMPDqaAt39EpHx3+jz+7qEUqf9FuVSTiuwL7MT++6LzsQCv4AdRWOOTK
+RIK1YSAhZ2X28AvnNPilwpyjXEAfhZOVBt5P1CeptqX8Fs1zMT+4ZSfP1FMa8Kxun08FDAOBp4Qp
+xFq9ZFdyrTvPNximmMatBrTcCKME1SmklpoSZ0qMYEWd8SOasACcaLWYUNPvji6SZbFIPiG+FTAq
+DbUMo2s/rn9X9R+WfN9v3YIwLGUbQErNaLly7HF27FSOH4UMAWr6pjisH8SE
+-----END CERTIFICATE-----
+
America Online Root Certification Authority 1
=============================================
-----BEGIN CERTIFICATE-----
@@ -973,6 +1084,26 @@ s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
FL39vmwLAw==
-----END CERTIFICATE-----
+Sonera Class 1 Root CA
+======================
+-----BEGIN CERTIFICATE-----
+MIIDIDCCAgigAwIBAgIBJDANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
+U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MxIENBMB4XDTAxMDQwNjEwNDkxM1oXDTIxMDQw
+NjEwNDkxM1owOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
+IENsYXNzMSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALWJHytPZwp5/8Ue+H88
+7dF+2rDNbS82rDTG29lkFwhjMDMiikzujrsPDUJVyZ0upe/3p4zDq7mXy47vPxVnqIJyY1MPQYx9
+EJUkoVqlBvqSV536pQHydekfvFYmUk54GWVYVQNYwBSujHxVX3BbdyMGNpfzJLWaRpXk3w0LBUXl
+0fIdgrvGE+D+qnr9aTCU89JFhfzyMlsy3uhsXR/LpCJ0sICOXZT3BgBLqdReLjVQCfOAl/QMF645
+2F/NM8EcyonCIvdFEu1eEpOdY6uCLrnrQkFEy0oaAIINnvmLVz5MxxftLItyM19yejhW1ebZrgUa
+HXVFsculJRwSVzb9IjcCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQIR+IMi/ZT
+iFIwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQCLGrLJXWG04bkruVPRsoWdd44W7hE9
+28Jj2VuXZfsSZ9gqXLar5V7DtxYvyOirHYr9qxp81V9jz9yw3Xe5qObSIjiHBxTZ/75Wtf0HDjxV
+yhbMp6Z3N/vbXB9OWQaHowND9Rart4S9Tu+fMTfwRvFAttEMpWT4Y14h21VOTzF2nBBhjrZTOqMR
+vq9tfB69ri3iDGnHhVNoomG6xT60eVR4ngrHAr5i0RGCS2UvkVrCqIexVmiUefkl98HVrhq4uz2P
+qYo4Ffdz0Fpg0YCw8NzVUM1O7pJIae2yIx4wzMiUyLb1O4Z/P6Yun/Y+LLWSlj7fLJOK/4GMDw9Z
+IRlXvVWa
+-----END CERTIFICATE-----
+
Sonera Class 2 Root CA
======================
-----BEGIN CERTIFICATE-----
@@ -1092,6 +1223,32 @@ EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP
DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI
-----END CERTIFICATE-----
+UTN USERFirst Email Root CA
+===========================
+-----BEGIN CERTIFICATE-----
+MIIEojCCA4qgAwIBAgIQRL4Mi1AAJLQR0zYlJWfJiTANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE
+BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
+IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0
+BgNVBAMTLVVUTi1VU0VSRmlyc3QtQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw05
+OTA3MDkxNzI4NTBaFw0xOTA3MDkxNzM2NThaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQx
+FzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsx
+ITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJz
+dC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIx
+B8dOtINknS4p1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8
+om+rWV6lL8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLmSGHG
+TPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7Nl
+yP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws6wIDAQABo4G5MIG2MAsGA1UdDwQE
+AwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTBYBgNV
+HR8EUTBPME2gS6BJhkdodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLVVTRVJGaXJzdC1DbGll
+bnRBdXRoZW50aWNhdGlvbmFuZEVtYWlsLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
+AwQwDQYJKoZIhvcNAQEFBQADggEBALFtYV2mGn98q0rkMPxTbyUkxsrt4jFcKw7u7mFVbwQ+zzne
+xRtJlOTrIEy05p5QLnLZjfWqo7NK2lYcYJeA3IKirUq9iiv/Cwm0xtcgBEXkzYABurorbs6q15L+
+5K/r9CYdFip/bDCVNy8zEqx/3cfREYxRmLLQo5HQrfafnoOTHh1CuEava2bwm3/q4wMC5QJRwarV
+NZ1yQAOJujEdxRBoUp7fooXFXAimeOZTT7Hot9MUnpOmw2TjrH5xzbyf6QMbzPvprDHBr3wVdAKZ
+w7JHpsIyYdfHb0gkUSeh1YdV8nuPmD0Wnu51tvjQjvLzxq4oW6fw8zYX/MMF08oDSlQ=
+-----END CERTIFICATE-----
+
UTN USERFirst Hardware Root CA
==============================
-----BEGIN CERTIFICATE-----
@@ -1118,6 +1275,31 @@ iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67
nfhmqA==
-----END CERTIFICATE-----
+UTN USERFirst Object Root CA
+============================
+-----BEGIN CERTIFICATE-----
+MIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UE
+BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
+IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAb
+BgNVBAMTFFVUTi1VU0VSRmlyc3QtT2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4NDAz
+NlowgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkx
+HjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2Vy
+dHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicPHxzfOpuCaDDASmEd8S8O+r5596Uj71VR
+loTN2+O5bj4x2AogZ8f02b+U60cEPgLOKqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQ
+w5ujm9M89RKZd7G3CeBo5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP1/vu
+lBe3/IW+pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehbkkj7
+RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUCAwEAAaOBrzCBrDAL
+BgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU2u1kdBScFDyr3ZmpvVsoTYs8
+ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VSRmly
+c3QtT2JqZWN0LmNybDApBgNVHSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcKAwQw
+DQYJKoZIhvcNAQEFBQADggEBAAgfUrE3RHjb/c652pWWmKpVZIC1WkDdIaXFwfNfLEzIR1pp6ujw
+NTX00CXzyKakh0q9G7FzCL3Uw8q2NbtZhncxzaeAFK4T7/yxSPlrJSUtUbYsbUXBmMiKVl0+7kNO
+PmsnjtA6S4ULX9Ptaqd1y9Fahy85dRNacrACgZ++8A+EVCBibGnU4U3GDZlDAQ0Slox4nb9QorFE
+qmrPF3rPbw/U+CRVX/A0FklmPlBGyWNxODFiuGK581OtbLUrohKqGU8J2l7nk8aOFAj+8DCAGKCG
+hU3IfdeLA/5u1fedFqySLKAj5ZyRUh+U3xeUc8OzwcFxBSAAeL0TUh2oPs0AH8g=
+-----END CERTIFICATE-----
+
Camerfirma Chambers of Commerce Root
====================================
-----BEGIN CERTIFICATE-----
@@ -1172,6 +1354,42 @@ IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes
t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
-----END CERTIFICATE-----
+NetLock Qualified (Class QA) Root
+=================================
+-----BEGIN CERTIFICATE-----
+MIIG0TCCBbmgAwIBAgIBezANBgkqhkiG9w0BAQUFADCByTELMAkGA1UEBhMCSFUxETAPBgNVBAcT
+CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
+BAsTEVRhbnVzaXR2YW55a2lhZG9rMUIwQAYDVQQDEzlOZXRMb2NrIE1pbm9zaXRldHQgS296amVn
+eXpvaSAoQ2xhc3MgUUEpIFRhbnVzaXR2YW55a2lhZG8xHjAcBgkqhkiG9w0BCQEWD2luZm9AbmV0
+bG9jay5odTAeFw0wMzAzMzAwMTQ3MTFaFw0yMjEyMTUwMTQ3MTFaMIHJMQswCQYDVQQGEwJIVTER
+MA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNhZ2kgS2Z0
+LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxQjBABgNVBAMTOU5ldExvY2sgTWlub3NpdGV0
+dCBLb3pqZWd5em9pIChDbGFzcyBRQSkgVGFudXNpdHZhbnlraWFkbzEeMBwGCSqGSIb3DQEJARYP
+aW5mb0BuZXRsb2NrLmh1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx1Ilstg91IRV
+CacbvWy5FPSKAtt2/GoqeKvld/Bu4IwjZ9ulZJm53QE+b+8tmjwi8F3JV6BVQX/yQ15YglMxZc4e
+8ia6AFQer7C8HORSjKAyr7c3sVNnaHRnUPYtLmTeriZ539+Zhqurf4XsoPuAzPS4DB6TRWO53Lhb
+m+1bOdRfYrCnjnxmOCyqsQhjF2d9zL2z8cM/z1A57dEZgxXbhxInlrfa6uWdvLrqOU+L73Sa58XQ
+0uqGURzk/mQIKAR5BevKxXEOC++r6uwSEaEYBTJp0QwsGj0lmT+1fMptsK6ZmfoIYOcZwvK9UdPM
+0wKswREMgM6r3JSda6M5UzrWhQIDAMV9o4ICwDCCArwwEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV
+HQ8BAf8EBAMCAQYwggJ1BglghkgBhvhCAQ0EggJmFoICYkZJR1lFTEVNISBFemVuIHRhbnVzaXR2
+YW55IGEgTmV0TG9jayBLZnQuIE1pbm9zaXRldHQgU3pvbGdhbHRhdGFzaSBTemFiYWx5emF0YWJh
+biBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBBIG1pbm9zaXRldHQgZWxla3Ryb25p
+a3VzIGFsYWlyYXMgam9naGF0YXMgZXJ2ZW55ZXN1bGVzZW5laywgdmFsYW1pbnQgZWxmb2dhZGFz
+YW5hayBmZWx0ZXRlbGUgYSBNaW5vc2l0ZXR0IFN6b2xnYWx0YXRhc2kgU3phYmFseXphdGJhbiwg
+YXogQWx0YWxhbm9zIFN6ZXJ6b2Rlc2kgRmVsdGV0ZWxla2JlbiBlbG9pcnQgZWxsZW5vcnplc2kg
+ZWxqYXJhcyBtZWd0ZXRlbGUuIEEgZG9rdW1lbnR1bW9rIG1lZ3RhbGFsaGF0b2sgYSBodHRwczov
+L3d3dy5uZXRsb2NrLmh1L2RvY3MvIGNpbWVuIHZhZ3kga2VyaGV0b2sgYXogaW5mb0BuZXRsb2Nr
+Lm5ldCBlLW1haWwgY2ltZW4uIFdBUk5JTkchIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0
+aGlzIGNlcnRpZmljYXRlIGFyZSBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIFF1YWxpZmllZCBDUFMg
+YXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3Lm5ldGxvY2suaHUvZG9jcy8gb3IgYnkgZS1tYWlsIGF0
+IGluZm9AbmV0bG9jay5uZXQwHQYDVR0OBBYEFAlqYhaSsFq7VQ7LdTI6MuWyIckoMA0GCSqGSIb3
+DQEBBQUAA4IBAQCRalCc23iBmz+LQuM7/KbD7kPgz/PigDVJRXYC4uMvBcXxKufAQTPGtpvQMznN
+wNuhrWw3AkxYQTvyl5LGSKjN5Yo5iWH5Upfpvfb5lHTocQ68d4bDBsxafEp+NFAwLvt/MpqNPfMg
+W/hqyobzMUwsWYACff44yTB1HLdV47yfuqhthCgFdbOLDcCRVCHnpgu0mfVRQdzNo0ci2ccBgcTc
+R08m6h/t280NmPSjnLRzMkqWmf68f8glWPhY83ZmiVSkpj7EUFy6iRiCdUgh0k8T6GB+B3bbELVR
+5qq5aKrN9p2QdRLqOBrKROi3macqaJVmlaut74nLYKkGEsaUR+ko
+-----END CERTIFICATE-----
+
NetLock Notary (Class A) Root
=============================
-----BEGIN CERTIFICATE-----
@@ -1668,6 +1886,37 @@ hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P
UrbnBEI=
-----END CERTIFICATE-----
+SwissSign Platinum CA - G2
+==========================
+-----BEGIN CERTIFICATE-----
+MIIFwTCCA6mgAwIBAgIITrIAZwwDXU8wDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCQ0gxFTAT
+BgNVBAoTDFN3aXNzU2lnbiBBRzEjMCEGA1UEAxMaU3dpc3NTaWduIFBsYXRpbnVtIENBIC0gRzIw
+HhcNMDYxMDI1MDgzNjAwWhcNMzYxMDI1MDgzNjAwWjBJMQswCQYDVQQGEwJDSDEVMBMGA1UEChMM
+U3dpc3NTaWduIEFHMSMwIQYDVQQDExpTd2lzc1NpZ24gUGxhdGludW0gQ0EgLSBHMjCCAiIwDQYJ
+KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMrfogLi2vj8Bxax3mCq3pZcZB/HL37PZ/pEQtZ2Y5Wu
+669yIIpFR4ZieIbWIDkm9K6j/SPnpZy1IiEZtzeTIsBQnIJ71NUERFzLtMKfkr4k2HtnIuJpX+UF
+eNSH2XFwMyVTtIc7KZAoNppVRDBopIOXfw0enHb/FZ1glwCNioUD7IC+6ixuEFGSzH7VozPY1kne
+WCqv9hbrS3uQMpe5up1Y8fhXSQQeol0GcN1x2/ndi5objM89o03Oy3z2u5yg+gnOI2Ky6Q0f4nIo
+j5+saCB9bzuohTEJfwvH6GXp43gOCWcwizSC+13gzJ2BbWLuCB4ELE6b7P6pT1/9aXjvCR+htL/6
+8++QHkwFix7qepF6w9fl+zC8bBsQWJj3Gl/QKTIDE0ZNYWqFTFJ0LwYfexHihJfGmfNtf9dng34T
+aNhxKFrYzt3oEBSa/m0jh26OWnA81Y0JAKeqvLAxN23IhBQeW71FYyBrS3SMvds6DsHPWhaPpZjy
+domyExI7C3d3rLvlPClKknLKYRorXkzig3R3+jVIeoVNjZpTxN94ypeRSCtFKwH3HBqi7Ri6Cr2D
++m+8jVeTO9TUps4e8aCxzqv9KyiaTxvXw3LbpMS/XUz13XuWae5ogObnmLo2t/5u7Su9IPhlGdpV
+CX4l3P5hYnL5fhgC72O00Puv5TtjjGePAgMBAAGjgawwgakwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFFCvzAeHFUdvOMW0ZdHelarp35zMMB8GA1UdIwQYMBaAFFCv
+zAeHFUdvOMW0ZdHelarp35zMMEYGA1UdIAQ/MD0wOwYJYIV0AVkBAQEBMC4wLAYIKwYBBQUHAgEW
+IGh0dHA6Ly9yZXBvc2l0b3J5LnN3aXNzc2lnbi5jb20vMA0GCSqGSIb3DQEBBQUAA4ICAQAIhab1
+Fgz8RBrBY+D5VUYI/HAcQiiWjrfFwUF1TglxeeVtlspLpYhg0DB0uMoI3LQwnkAHFmtllXcBrqS3
+NQuB2nEVqXQXOHtYyvkv+8Bldo1bAbl93oI9ZLi+FHSjClTTLJUYFzX1UWs/j6KWYTl4a0vlpqD4
+U99REJNi54Av4tHgvI42Rncz7Lj7jposiU0xEQ8mngS7twSNC/K5/FqdOxa3L8iYq/6KUFkuozv8
+KV2LwUvJ4ooTHbG/u0IdUt1O2BReEMYxB+9xJ/cbOQncguqLs5WGXv312l0xpuAxtpTmREl0xRbl
+9x8DYSjFyMsSoEJL+WuICI20MhjzdZ/EfwBPBZWcoxcCw7NTm6ogOSkrZvqdr16zktK1puEa+S1B
+aYEUtLS17Yk9zvupnTVCRLEcFHOBzyoBNZox1S2PbYTfgE1X4z/FhHXaicYwu+uPyyIIoK6q8QNs
+OktNCaUOcsZWayFCTiMlFGiudgp8DAdwZPmaL/YFOSbGDI8Zf0NebvRbFS/bYV3mZy8/CJT5YLSY
+Mdp08YSTcU1f+2BY0fvEwW2JorsgH51xkcsymxM9Pn2SUjWskpSi0xjCfMfqr3YFFt1nJ8J+HAci
+IfNAChs0B0QTwoRqjt8ZWr9/6x3iGjjRXK9HkmuAtTClyY3YqzGBH9/CZjfTk6mFhnll0g==
+-----END CERTIFICATE-----
+
SwissSign Gold CA - G2
======================
-----BEGIN CERTIFICATE-----
@@ -2005,6 +2254,32 @@ hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY
okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=
-----END CERTIFICATE-----
+S-TRUST Authentication and Encryption Root CA 2005 PN
+=====================================================
+-----BEGIN CERTIFICATE-----
+MIIEezCCA2OgAwIBAgIQNxkY5lNUfBq1uMtZWts1tzANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE
+BhMCREUxIDAeBgNVBAgTF0JhZGVuLVd1ZXJ0dGVtYmVyZyAoQlcpMRIwEAYDVQQHEwlTdHV0dGdh
+cnQxKTAnBgNVBAoTIERldXRzY2hlciBTcGFya2Fzc2VuIFZlcmxhZyBHbWJIMT4wPAYDVQQDEzVT
+LVRSVVNUIEF1dGhlbnRpY2F0aW9uIGFuZCBFbmNyeXB0aW9uIFJvb3QgQ0EgMjAwNTpQTjAeFw0w
+NTA2MjIwMDAwMDBaFw0zMDA2MjEyMzU5NTlaMIGuMQswCQYDVQQGEwJERTEgMB4GA1UECBMXQmFk
+ZW4tV3VlcnR0ZW1iZXJnIChCVykxEjAQBgNVBAcTCVN0dXR0Z2FydDEpMCcGA1UEChMgRGV1dHNj
+aGVyIFNwYXJrYXNzZW4gVmVybGFnIEdtYkgxPjA8BgNVBAMTNVMtVFJVU1QgQXV0aGVudGljYXRp
+b24gYW5kIEVuY3J5cHRpb24gUm9vdCBDQSAyMDA1OlBOMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEA2bVKwdMz6tNGs9HiTNL1toPQb9UY6ZOvJ44TzbUlNlA0EmQpoVXhOmCTnijJ4/Ob
+4QSwI7+Vio5bG0F/WsPoTUzVJBY+h0jUJ67m91MduwwA7z5hca2/OnpYH5Q9XIHV1W/fuJvS9eXL
+g3KSwlOyggLrra1fFi2SU3bxibYs9cEv4KdKb6AwajLrmnQDaHgTncovmwsdvs91DSaXm8f1Xgqf
+eN+zvOyauu9VjxuapgdjKRdZYgkqeQd3peDRF2npW932kKvimAoA0SVtnteFhy+S8dF2g08LOlk3
+KC8zpxdQ1iALCvQm+Z845y2kuJuJja2tyWp9iRe79n+Ag3rm7QIDAQABo4GSMIGPMBIGA1UdEwEB
+/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFTVFJv
+bmxpbmUxLTIwNDgtNTAdBgNVHQ4EFgQUD8oeXHngovMpttKFswtKtWXsa1IwHwYDVR0jBBgwFoAU
+D8oeXHngovMpttKFswtKtWXsa1IwDQYJKoZIhvcNAQEFBQADggEBAK8B8O0ZPCjoTVy7pWMciDMD
+pwCHpB8gq9Yc4wYfl35UvbfRssnV2oDsF9eK9XvCAPbpEW+EoFolMeKJ+aQAPzFoLtU96G7m1R08
+P7K9n3frndOMusDXtk3sU5wPBG7qNWdX4wple5A64U8+wwCSersFiXOMy6ZNwPv2AtawB6MDwidA
+nwzkhYItr5pCHdDHjfhA7p0GVxzZotiAFP7hYy0yh9WUUpY6RsZxlj33mA6ykaqP2vROJAA5Veit
+F7nTNCtKqUDMFypVZUF0Qn71wK/Ik63yGFs9iQzbRzkk+OBM8h+wPQrKBU6JIRrjKpms/H+h8Q8b
+Hz2eBIPdltkdOpQ=
+-----END CERTIFICATE-----
+
Microsec e-Szigno Root CA
=========================
-----BEGIN CERTIFICATE-----
@@ -2200,6 +2475,28 @@ dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
Cm26OWMohpLzGITY+9HPBVZkVw==
-----END CERTIFICATE-----
+ComSign CA
+==========
+-----BEGIN CERTIFICATE-----
+MIIDkzCCAnugAwIBAgIQFBOWgxRVjOp7Y+X8NId3RDANBgkqhkiG9w0BAQUFADA0MRMwEQYDVQQD
+EwpDb21TaWduIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0wNDAzMjQxMTMy
+MThaFw0yOTAzMTkxNTAyMThaMDQxEzARBgNVBAMTCkNvbVNpZ24gQ0ExEDAOBgNVBAoTB0NvbVNp
+Z24xCzAJBgNVBAYTAklMMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8ORUaSvTx49q
+ROR+WCf4C9DklBKK8Rs4OC8fMZwG1Cyn3gsqrhqg455qv588x26i+YtkbDqthVVRVKU4VbirgwTy
+P2Q298CNQ0NqZtH3FyrV7zb6MBBC11PN+fozc0yz6YQgitZBJzXkOPqUm7h65HkfM/sb2CEJKHxN
+GGleZIp6GZPKfuzzcuc3B1hZKKxC+cX/zT/npfo4sdAMx9lSGlPWgcxCejVb7Us6eva1jsz/D3zk
+YDaHL63woSV9/9JLEYhwVKZBqGdTUkJe5DSe5L6j7KpiXd3DTKaCQeQzC6zJMw9kglcq/QytNuEM
+rkvF7zuZ2SOzW120V+x0cAwqTwIDAQABo4GgMIGdMAwGA1UdEwQFMAMBAf8wPQYDVR0fBDYwNDAy
+oDCgLoYsaHR0cDovL2ZlZGlyLmNvbXNpZ24uY28uaWwvY3JsL0NvbVNpZ25DQS5jcmwwDgYDVR0P
+AQH/BAQDAgGGMB8GA1UdIwQYMBaAFEsBmz5WGmU2dst7l6qSBe4y5ygxMB0GA1UdDgQWBBRLAZs+
+VhplNnbLe5eqkgXuMucoMTANBgkqhkiG9w0BAQUFAAOCAQEA0Nmlfv4pYEWdfoPPbrxHbvUanlR2
+QnG0PFg/LUAlQvaBnPGJEMgOqnhPOAlXsDzACPw1jvFIUY0McXS6hMTXcpuEfDhOZAYnKuGntewI
+mbQKDdSFc8gS4TXt8QUxHXOZDOuWyt3T5oWq8Ir7dcHyCTxlZWTzTNity4hp8+SDtwy9F1qWF8pb
+/627HOkthIDYIb6FUtnUdLlphbpN7Sgy6/lhSuTENh4Z3G+EER+V9YMoGKgzkkMn3V0TBEVPh9VG
+zT2ouvDzuFYkRes3x+F2T3I5GN9+dHLHcy056mDmrRGiVod7w2ia/viMcKjfZTL0pECMocJEAw6U
+AGegcQCCSA==
+-----END CERTIFICATE-----
+
ComSign Secured CA
==================
-----BEGIN CERTIFICATE-----
@@ -2748,6 +3045,22 @@ MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o
tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA==
-----END CERTIFICATE-----
+Verisign Class 1 Public Primary Certification Authority
+=======================================================
+-----BEGIN CERTIFICATE-----
+MIICPDCCAaUCED9pHoGc8JpK83P/uUii5N0wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx
+FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcmltYXJ5
+IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow
+XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAx
+IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQDlGb9to1ZhLZlIcfZn3rmN67eehoAKkQ76OCWvRoiC5XOooJskXQ0fzGVuDLDQ
+VoQYh5oGmxChc9+0WDlrbsH2FdWoqD+qEgaNMax/sDTXjzRniAnNFBHiTkVWaR94AoDa3EeRKbs2
+yWNcxeDXLYd7obcysHswuiovMaruo2fa2wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFgVKTk8d6Pa
+XCUDfGD67gmZPCcQcMgMCeazh88K4hiWNWLMv5sneYlfycQJ9M61Hd8qveXbhpxoJeUwfLaJFf5n
+0a3hUKw8fGJLj7qE1xIVGx/KXQ/BUpQqEZnae88MNhPVNdwQGVnqlMEAv3WP2fr9dgTbYruQagPZ
+RjXZ+Hxb
+-----END CERTIFICATE-----
+
Verisign Class 3 Public Primary Certification Authority
=======================================================
-----BEGIN CERTIFICATE-----
@@ -3329,3 +3642,254 @@ l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2
E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D
5EI=
-----END CERTIFICATE-----
+
+Hellenic Academic and Research Institutions RootCA 2011
+=======================================================
+-----BEGIN CERTIFICATE-----
+MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT
+O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y
+aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
+IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT
+AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
+IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo
+IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI
+1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa
+71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u
+8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH
+3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/
+MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8
+MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu
+b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt
+XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8
+TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD
+/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N
+7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4
+-----END CERTIFICATE-----
+
+Actalis Authentication Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM
+BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE
+AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky
+MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz
+IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290
+IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ
+wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa
+by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6
+zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f
+YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2
+oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l
+EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7
+hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8
+EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5
+jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY
+iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt
+ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI
+WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0
+JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx
+K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+
+Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC
+4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo
+2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz
+lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem
+OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9
+vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
+-----END CERTIFICATE-----
+
+Trustis FPS Root CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG
+EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290
+IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV
+BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ
+RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk
+H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa
+cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt
+o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA
+AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd
+BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c
+GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC
+yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P
+8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV
+l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl
+iB6XzCGcKQENZetX2fNXlrtIzYE=
+-----END CERTIFICATE-----
+
+StartCom Certification Authority
+================================
+-----BEGIN CERTIFICATE-----
+MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
+U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
+ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
+NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
+LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
+U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
+ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
+o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
+Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
+eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
+2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
+6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
+osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
+untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
+UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
+37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD
+VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ
+Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0
+dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu
+c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv
+bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0
+aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0
+aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t
+L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG
+cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5
+fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm
+N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN
+Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T
+tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX
+e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA
+2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs
+HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE
+JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib
+D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8=
+-----END CERTIFICATE-----
+
+StartCom Certification Authority G2
+===================================
+-----BEGIN CERTIFICATE-----
+MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
+U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
+RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE
+ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp
+dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O
+o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG
+4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi
+Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul
+Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs
+O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H
+vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L
+nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS
+FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa
+z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ
+KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K
+2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk
+J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+
+JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG
+/+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc
+nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld
+blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc
+l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm
+7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm
+obp573PYtlNXLfbQ4ddI
+-----END CERTIFICATE-----
+
+Buypass Class 2 Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X
+DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
+eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1
+g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn
+9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b
+/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU
+CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff
+awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI
+zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn
+Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX
+Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs
+M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
+VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
+AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s
+A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI
+osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S
+aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd
+DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD
+LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0
+oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC
+wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS
+CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN
+rJgWVqA=
+-----END CERTIFICATE-----
+
+Buypass Class 3 Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X
+DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
+eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH
+sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR
+5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh
+7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ
+ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH
+2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV
+/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ
+RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA
+Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq
+j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
+VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
+AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV
+cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G
+uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG
+Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8
+ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2
+KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz
+6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug
+UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe
+eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi
+Cp/HuZc=
+-----END CERTIFICATE-----
+
+T-TeleSec GlobalRoot Class 3
+============================
+-----BEGIN CERTIFICATE-----
+MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
+IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
+cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx
+MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
+dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
+ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK
+9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU
+NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF
+iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W
+0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr
+AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb
+fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT
+ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h
+P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
+e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw==
+-----END CERTIFICATE-----
+
+EE Certification Centre Root CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
+EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy
+dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw
+MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB
+UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy
+ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM
+TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2
+rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw
+93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN
+P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T
+AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ
+MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF
+BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj
+xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM
+lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u
+uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU
+3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM
+dcGWxZ0=
+-----END CERTIFICATE-----
diff --git a/source/n/curl/curl-7.27.0_curl-config_syntax_fix.diff b/source/n/curl/curl-7.27.0_curl-config_syntax_fix.diff
deleted file mode 100644
index 42509c848..000000000
--- a/source/n/curl/curl-7.27.0_curl-config_syntax_fix.diff
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -ru curl-7.27.0.orig/curl-config.in curl-7.27.0/curl-config.in
---- curl-7.27.0.orig/curl-config.in 2012-05-25 16:56:17.000000000 -0500
-+++ curl-7.27.0/curl-config.in 2012-08-17 12:01:44.000000000 -0500
-@@ -135,9 +135,9 @@
- CPPFLAG_CURL_STATICLIB=""
- fi
- if test "X@includedir@" = "X/usr/include"; then
-- echo "$(CPPFLAG_CURL_STATICLIB)"
-+ echo "${CPPFLAG_CURL_STATICLIB}"
- else
-- echo "$(CPPFLAG_CURL_STATICLIB)-I@includedir@"
-+ echo "${CPPFLAG_CURL_STATICLIB}-I@includedir@"
- fi
- ;;
-
diff --git a/source/n/curl/curl.SlackBuild b/source/n/curl/curl.SlackBuild
index fd67ff4ce..16535a4eb 100755
--- a/source/n/curl/curl.SlackBuild
+++ b/source/n/curl/curl.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,8 @@
PKGNAM=curl
-VERSION=${VERSION:-$(echo curl-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-$(echo curl-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -62,11 +62,9 @@ rm -rf $PKG
mkdir -p $PKG
cd $TMP
rm -rf curl-$VERSION
-tar xvf $CWD/curl-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/curl-$VERSION.tar.bz2 || exit 1
cd curl-$VERSION
-zcat $CWD/curl-7.27.0_curl-config_syntax_fix.diff.gz | patch -p1 --verbose || exit 1
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/n/cyrus-sasl/cyrus-sasl-2.1.23-glibc217-crypt.diff b/source/n/cyrus-sasl/cyrus-sasl-2.1.23-glibc217-crypt.diff
new file mode 100644
index 000000000..2cbb48605
--- /dev/null
+++ b/source/n/cyrus-sasl/cyrus-sasl-2.1.23-glibc217-crypt.diff
@@ -0,0 +1,105 @@
+From 0626e86d2e1d0be63a56918371a15d98cfad19d1 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Tue, 9 Jul 2013
+Subject: Handle NULL returns from glibc 2.17+ crypt().
+
+Starting with glibc 2.17 (eglibc 2.17), crypt() fails with EINVAL
+(w/ NULL return) if the salt violates specifications. Additionally,
+on FIPS-140 enabled Linux systems, DES/MD5-encrypted passwords
+passed to crypt() fail with EPERM (w/ NULL return).
+
+When using glibc's crypt(), check return value to avoid a possible
+NULL pointer dereference.
+---
+ pwcheck/pwcheck_getpwnam.c | 3 ++-
+ pwcheck/pwcheck_getspnam.c | 3 ++-
+ saslauthd/auth_getpwent.c | 3 ++-
+ saslauthd/auth_shadow.c | 7 ++-----
+ 4 files changed, 8 insertions(+), 8 deletions(-)
+
+--- a/pwcheck/pwcheck_getpwnam.c
++++ b/pwcheck/pwcheck_getpwnam.c
+@@ -32,6 +32,7 @@ extern char *crypt();
+ char *password;
+ {
+ char* r;
++ char* crpt_passwd;
+ struct passwd *pwd;
+
+ pwd = getpwnam(userid);
+@@ -41,7 +42,7 @@ char *password;
+ else if (pwd->pw_passwd[0] == '*') {
+ r = "Account disabled";
+ }
+- else if (strcmp(pwd->pw_passwd, crypt(password, pwd->pw_passwd)) != 0) {
++ else if (!(crpt_passwd = crypt(password, pwd->pw_passwd)) || strcmp(pwd->pw_passwd, (const char *)crpt_passwd) != 0) {
+ r = "Incorrect password";
+ }
+ else {
+--- a/pwcheck/pwcheck_getspnam.c
++++ b/pwcheck/pwcheck_getspnam.c
+@@ -30,6 +30,7 @@ extern char *crypt();
+ char *pwcheck(userid, password)
+ char *userid;
+ char *password;
++char *crpt_passwd;
+ {
+ struct spwd *pwd;
+
+@@ -38,7 +39,7 @@ char *password;
+ return "Userid not found";
+ }
+
+- if (strcmp(pwd->sp_pwdp, crypt(password, pwd->sp_pwdp)) != 0) {
++ if (!(crpt_passwd = crypt(password, pwd->sp_pwdp)) || strcmp(pwd->sp_pwdp, (const char *)crpt_passwd) != 0) {
+ return "Incorrect password";
+ }
+ else {
+--- a/saslauthd/auth_getpwent.c
++++ b/saslauthd/auth_getpwent.c
+@@ -70,6 +70,7 @@ auth_getpwent (
+ {
+ /* VARIABLES */
+ struct passwd *pw; /* pointer to passwd file entry */
++ char *crpt_passwd; /* encrypted password */
+ /* END VARIABLES */
+
+ pw = getpwnam(login);
+@@ -79,7 +80,7 @@ auth_getpwent (
+ RETURN("NO");
+ }
+
+- if (strcmp(pw->pw_passwd, (const char *)crypt(password, pw->pw_passwd))) {
++ if (!(crpt_passwd = crypt(password, pw->pw_passwd)) || strcmp(pw->pw_passwd, (const char *)crpt_passwd)) {
+ RETURN("NO");
+ }
+
+--- a/saslauthd/auth_shadow.c
++++ b/saslauthd/auth_shadow.c
+@@ -180,16 +180,13 @@ auth_shadow (
+ * not returning any information about a login until we have validated
+ * the password.
+ */
+- cpw = strdup((const char *)crypt(password, sp->sp_pwdp));
+- if (strcmp(sp->sp_pwdp, cpw)) {
++ if (!(cpw = crypt(password, sp->sp_pwdp)) || strcmp(sp->sp_pwdp, (const char *)cpw)) {
+ if (flags & VERBOSE) {
+ syslog(LOG_DEBUG, "DEBUG: auth_shadow: pw mismatch: '%s' != '%s'",
+ sp->sp_pwdp, cpw);
+ }
+- free(cpw);
+ RETURN("NO");
+ }
+- free(cpw);
+
+ /*
+ * The following fields will be set to -1 if:
+@@ -251,7 +250,7 @@ auth_shadow (
+ RETURN("NO");
+ }
+
+- if (strcmp(upw->upw_passwd, crypt(password, upw->upw_passwd)) != 0) {
++ if (!(cpw = crypt(password, upw->upw_passwd)) || (strcmp(upw->upw_passwd, (const char *)cpw) != 0)) {
+ if (flags & VERBOSE) {
+ syslog(LOG_DEBUG, "auth_shadow: pw mismatch: %s != %s",
+ password, upw->upw_passwd);
diff --git a/source/n/cyrus-sasl/cyrus-sasl.SlackBuild b/source/n/cyrus-sasl/cyrus-sasl.SlackBuild
index eea8e1905..c47821d55 100755
--- a/source/n/cyrus-sasl/cyrus-sasl.SlackBuild
+++ b/source/n/cyrus-sasl/cyrus-sasl.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=cyrus-sasl
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-5}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -62,6 +62,9 @@ cd cyrus-sasl-$VERSION || exit 1
# Fix compiling:
zcat $CWD/cyrus-sasl.bad_elif.diff.gz | patch -p1 --verbose || exit 1
+# Fix for glibc-2.17 crypt() NULL return:
+zcat $CWD/cyrus-sasl-2.1.23-glibc217-crypt.diff.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . -perm 777 -exec chmod 755 {} \;
find . -perm 664 -exec chmod 644 {} \;
diff --git a/source/n/cyrus-sasl/rc.saslauthd b/source/n/cyrus-sasl/rc.saslauthd
index 8b69a710c..8a01ac65e 100644
--- a/source/n/cyrus-sasl/rc.saslauthd
+++ b/source/n/cyrus-sasl/rc.saslauthd
@@ -3,7 +3,7 @@
#
# saslauthd is a daemon process that handles plaintext authentication
# requests on behalf of the SASL library. The CMU Cyrus SASL library
-# is a general purpose authentication library for sever and client
+# is a general purpose authentication library for server and client
# applications. It is mostly used to authenticate to mail servers.
#
# saslauthd should be started from the system boot scripts when going
diff --git a/source/n/dhcpcd/define-SERVICEstuff-for-Slackware.patch b/source/n/dhcpcd/define-SERVICEstuff-for-Slackware.patch
deleted file mode 100644
index ca0273f36..000000000
--- a/source/n/dhcpcd/define-SERVICEstuff-for-Slackware.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 293f23ad36f2c84cf67c483d944157834f4417a6 Mon Sep 17 00:00:00 2001
-From: Robby Workman <rworkman@slackware.com>
-Date: Wed, 23 May 2012 21:33:30 -0500
-Subject: [PATCH] configure: Define SERVICE* for Slackware
-
-Slackware uses /etc/rc.d/rc.$service instead of just $service,
-so configure doesn't find those. This patch overrides the
-defaults for SERVICEEXISTS, SERVICECMD, and SERVICESTATUS.
----
- configure | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/configure b/configure
-index b334497..e6554ca 100755
---- a/configure
-+++ b/configure
-@@ -413,6 +413,12 @@ if [ -z "$SERVICECMD" ]; then
- fi
- done
- fi
-+if [ -e /etc/slackware-version ]; then
-+ echo "Overriding service status check for Slackware Linux"
-+ SERVICEEXISTS="[ -x /etc/rc.d/rc.\$1 ]"
-+ SERVICECMD="/etc/rc.d/rc.\$1 \$2"
-+ SERVICESTATUS="/etc/rc.d/rc.\$1 status 1>/dev/null 2>&1"
-+fi
- if [ -e /etc/arch-release ]; then
- echo "Overriding service status check for Arch Linux"
- SERVICESTATUS="[ -e /var/run/daemons/\$1 ]"
---
-1.7.10.1
-
diff --git a/source/n/dhcpcd/dhcpcd.SlackBuild b/source/n/dhcpcd/dhcpcd.SlackBuild
index 15f14e2fb..f91966586 100755
--- a/source/n/dhcpcd/dhcpcd.SlackBuild
+++ b/source/n/dhcpcd/dhcpcd.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=${VERSION:-$(echo dhcpcd-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -67,13 +67,14 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+patch -p1 < $CWD/patches/Actually-validate-the-search-list.patch || exit 1
+patch -p1 < $CWD/patches/dhcpcd.conf-Don-t-invoke-wpa_supplicant-by-default.patch || exit 1
+
# At this point, it should be safe to assume that /var will be mounted by the
# time dhcpcd is called, as all non-root local filesystems are mounted from
# /etc/rc.d/rc.S, and /var should not be on a network filesystem. As such,
# we'll use the FHS layout instead of putting things in /etc/dhcpc
-zcat $CWD/define-SERVICEstuff-for-Slackware.patch.gz | patch -p1 || exit 1
-
# Yes, /lib/dhcpcd is correct, even on x86_64.
CFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/n/dhcpcd/patches/Actually-validate-the-search-list.patch b/source/n/dhcpcd/patches/Actually-validate-the-search-list.patch
new file mode 100644
index 000000000..3d84a6d61
--- /dev/null
+++ b/source/n/dhcpcd/patches/Actually-validate-the-search-list.patch
@@ -0,0 +1,25 @@
+From 118b94bdffca7e33a5e0d6b596eb7e51e7109e68 Mon Sep 17 00:00:00 2001
+From: Roy Marples <roy@marples.name>
+Date: Tue, 6 Aug 2013 12:34:08 +0100
+Subject: [PATCH 1/2] Actually validate the search list. Fixes #280
+
+---
+ dhcpcd-hooks/20-resolv.conf | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dhcpcd-hooks/20-resolv.conf b/dhcpcd-hooks/20-resolv.conf
+index d0dce41..05316c9 100644
+--- a/dhcpcd-hooks/20-resolv.conf
++++ b/dhcpcd-hooks/20-resolv.conf
+@@ -115,7 +115,7 @@ add_resolv_conf()
+ if [ -n "$new_domain_search" -a \
+ "$new_domain_search" != "$new_domain_name" ]
+ then
+- if valid_domainname_list; then
++ if valid_domainname_list $new_domain_search; then
+ conf="${conf}search $new_domain_search$NL"
+ else
+ syslog err "Invalid domain name in list: $new_domain_search"
+--
+1.8.3.2
+
diff --git a/source/n/dhcpcd/patches/dhcpcd.conf-Don-t-invoke-wpa_supplicant-by-default.patch b/source/n/dhcpcd/patches/dhcpcd.conf-Don-t-invoke-wpa_supplicant-by-default.patch
new file mode 100644
index 000000000..464d54bd9
--- /dev/null
+++ b/source/n/dhcpcd/patches/dhcpcd.conf-Don-t-invoke-wpa_supplicant-by-default.patch
@@ -0,0 +1,26 @@
+From d968ff96e1e4354c591e49fe79b4f4ce0e553f61 Mon Sep 17 00:00:00 2001
+From: Robby Workman <rworkman@slackware.com>
+Date: Sun, 11 Aug 2013 23:12:57 -0500
+Subject: [PATCH 2/2] dhcpcd.conf: Don't invoke wpa_supplicant by default
+
+Slackware's network init script (rc.inet1) and/or
+NetworkManager itself handles this just fine.
+---
+ dhcpcd.conf | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/dhcpcd.conf b/dhcpcd.conf
+index 349c6f2..30aacca 100644
+--- a/dhcpcd.conf
++++ b/dhcpcd.conf
+@@ -30,3 +30,7 @@ require dhcp_server_identifier
+ # A hook script is provided to lookup the hostname if not set by the DHCP
+ # server, but it should not be run by default.
+ nohook lookup-hostname
++
++# We run wpa_supplicant from rc.inet1 and/or NM handles it on its own
++nohook wpa_supplicant
++
+--
+1.8.3.2
+
diff --git a/source/n/ebtables/doinst.sh b/source/n/ebtables/doinst.sh
new file mode 100644
index 000000000..092a869b6
--- /dev/null
+++ b/source/n/ebtables/doinst.sh
@@ -0,0 +1,15 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/ethertypes.new
+
diff --git a/source/n/ebtables/ebtables.SlackBuild b/source/n/ebtables/ebtables.SlackBuild
new file mode 100755
index 000000000..056ad4296
--- /dev/null
+++ b/source/n/ebtables/ebtables.SlackBuild
@@ -0,0 +1,104 @@
+#!/bin/sh
+
+# Slackware build script for ebtables
+
+# Copyright 2011, mario <mario@slackverse.org>
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=ebtables
+VERSION=${VERSION:-2.0.10}
+BUILD=${BUILD:-1}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-v$VERSION-4
+tar xvf $CWD/$PKGNAM-v$VERSION-4.tar.xz || exit 1
+cd $PKGNAM-v$VERSION-4 || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Set our CFLAGS and avoid a "warning-as-error" that breaks build
+sed -i \
+ -e "s|-fPIC -O3|${SLKCFLAGS}|" \
+ -e "s|-Wunused|-Wno-error=unused-but-set-variable|" \
+ Makefile
+
+make -j 4 || exit 1
+
+make install \
+ DESTDIR=$PKG \
+ LIBDIR=/usr/lib${LIBDIRSUFFIX} \
+ MANDIR=/usr/man \
+ BINDIR=/usr/sbin \
+ ETCDIR=/etc \
+ INITDIR=/etc/rc.d/init.d \
+ SYSCONFIGDIR=/etc/sysconfig || exit 1
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+mv $PKG/etc/ethertypes $PKG/etc/ethertypes.new
+
+# Remove Red Hat junk:
+rm -rf $PKG/etc/rc.d $PKG/etc/sysconfig
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a COPYING* ChangeLog INSTALL THANKS $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/ebtables/slack-desc b/source/n/ebtables/slack-desc
new file mode 100644
index 000000000..11a036a0e
--- /dev/null
+++ b/source/n/ebtables/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+ebtables: ebtables (Ethernet frame filtering on a Linux bridge)
+ebtables:
+ebtables: The ebtables utility enables basic Ethernet frame filtering on a
+ebtables: Linux bridge, logging, MAC NAT and brouting. It only provides basic
+ebtables: IP filtering, the full-fledged IP filtering on a Linux bridge is
+ebtables: done with iptables.
+ebtables:
+ebtables: Homepage: http://ebtables.sourceforge.net/
+ebtables:
+ebtables:
+ebtables:
diff --git a/source/n/epic5/epic5.SlackBuild b/source/n/epic5/epic5.SlackBuild
index b3b483af6..095e8f357 100755
--- a/source/n/epic5/epic5.SlackBuild
+++ b/source/n/epic5/epic5.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,7 +20,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=1.1.3
+PKGNAM=epic5
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
EPICVER=5
HELPFILE=current
BUILD=${BUILD:-1}
@@ -39,12 +40,16 @@ NUMJOBS=${NUMJOBS:-" -j7 "}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
fi
CWD=$(pwd)
@@ -55,7 +60,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf epic${EPICVER}-$VERSION
-tar xvf $CWD/epic${EPICVER}-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/epic${EPICVER}-$VERSION.tar.xz || exit 1
cd epic${EPICVER}-$VERSION || exit 1
chown -R root:root .
find . \
@@ -67,6 +72,7 @@ find . \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
+ --with-tcl=/usr/lib${LIBDIRSUFFIX}/tclConfig.sh \
--build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
diff --git a/source/n/ethtool/ethtool-3.10.tar.sign b/source/n/ethtool/ethtool-3.10.tar.sign
new file mode 100644
index 000000000..11d803c55
--- /dev/null
+++ b/source/n/ethtool/ethtool-3.10.tar.sign
@@ -0,0 +1,11 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.13 (GNU/Linux)
+
+iQEcBAABAgAGBQJR0ayaAAoJEGkILBsOca601+MH/0RBWsj7W+Co1ZC7IdvH+4NB
+mQkJsZYxFuaN4hj9uOBnlg1GntOvo1PLEeu1vp1Id+jnak0GQ+a+funNMF1Qplq4
+sfHdKKrPseM3Jhxx+pG0Ai+ANrEvOCaxw5my2huBzvw5IAfCmXVKhXOV4a5xSJfC
+4YgfGwFP/x8GV9+AiBxU6I5tfX0BLlg5cZhrKLoeQXTGBdc3uvaiXbef9tW4eG3g
+nhei/J+ekHRAfQtvcAUEfVr2VciKhx+G4il6OaZ3JBM94XFuOozzuAxRs23sWNlp
+oeS0W9BkENTqiZA6qxUMBCdHrlK046aM1Mt9JdIaWwU0UV5ATvHnVjJDURdUC/w=
+=x5fp
+-----END PGP SIGNATURE-----
diff --git a/source/n/gnupg/gnupg.SlackBuild b/source/n/gnupg/gnupg.SlackBuild
index 073106971..8cd3f0254 100755
--- a/source/n/gnupg/gnupg.SlackBuild
+++ b/source/n/gnupg/gnupg.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,7 +20,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=1.4.12
+PKGNAM=gnupg
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
diff --git a/source/n/gnutls/gnutls.SlackBuild b/source/n/gnutls/gnutls.SlackBuild
index c73dc5745..52acab6dd 100755
--- a/source/n/gnutls/gnutls.SlackBuild
+++ b/source/n/gnutls/gnutls.SlackBuild
@@ -91,6 +91,7 @@ CXXFLAGS="$SLKCFLAGS" \
--infodir=/usr/info \
--mandir=/usr/man \
--enable-static=no \
+ --disable-rpath \
--with-included-libtasn1 \
--build=$ARCH-slackware-linux \
--host=$ARCH-slackware-linux
diff --git a/source/n/httpd/httpd.SlackBuild b/source/n/httpd/httpd.SlackBuild
index 1d043f743..249d8fc67 100755
--- a/source/n/httpd/httpd.SlackBuild
+++ b/source/n/httpd/httpd.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/source/n/httpd/httpd.url b/source/n/httpd/httpd.url
index 3fabb916f..dc1231b45 100644
--- a/source/n/httpd/httpd.url
+++ b/source/n/httpd/httpd.url
@@ -1,2 +1,2 @@
-http://www.apache.org/dist/httpd/httpd-2.4.3.tar.bz2
-http://www.apache.org/dist/httpd/httpd-2.4.3.tar.bz2.asc
+http://www.apache.org/dist/httpd/httpd-2.4.6.tar.bz2
+http://www.apache.org/dist/httpd/httpd-2.4.6.tar.bz2.asc
diff --git a/source/n/iproute2/fixup-for-x86_64.diff b/source/n/iproute2/fixup-for-x86_64.diff
deleted file mode 100644
index 3f5e1a239..000000000
--- a/source/n/iproute2/fixup-for-x86_64.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur iproute2-3.4.0.orig/configure iproute2-3.4.0/configure
---- iproute2-3.4.0.orig/configure 2012-05-21 16:12:19.000000000 -0500
-+++ iproute2-3.4.0/configure 2012-05-23 19:15:58.548350916 -0500
-@@ -149,7 +149,7 @@
- check_ipt_lib_dir()
- {
- IPT_LIB_DIR=""
-- for dir in /lib /usr/lib /usr/local/lib
-+ for dir in /lib64 /usr/lib64 /usr/local/lib64
- do
- for file in $dir/{xtables,iptables}/lib*t_*so ; do
- if [ -f $file ]; then
diff --git a/source/n/iproute2/iproute2-3.10.0.tar.sign b/source/n/iproute2/iproute2-3.10.0.tar.sign
new file mode 100644
index 000000000..48ea348cd
--- /dev/null
+++ b/source/n/iproute2/iproute2-3.10.0.tar.sign
Binary files differ
diff --git a/source/n/iproute2/iproute2.SlackBuild b/source/n/iproute2/iproute2.SlackBuild
index 9854a2d83..40ce12587 100755
--- a/source/n/iproute2/iproute2.SlackBuild
+++ b/source/n/iproute2/iproute2.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,7 +20,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=3.4.0
+VERSION=${VERSION:-3.10.0}
BUILD=${BUILD:-2}
#NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -67,9 +67,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Fix up path iptables libs
-zcat $CWD/fixup-for-x86_64.diff.gz | patch -p1 || exit 1
-
./configure # This is okay, really :-)
make \
@@ -78,7 +75,7 @@ make \
CONFDIR=/etc/iproute2 \
DOCDIR=/usr/doc/iproute2-$VERSION \
MANDIR=/usr/man \
- DBM_INCLUDE=/usr/include/db44 \
+ DBM_INCLUDE=/usr/include/db48 \
$NUMJOBS || exit 1
make install \
@@ -86,7 +83,7 @@ make install \
CONFDIR=/etc/iproute2 \
DOCDIR=/usr/doc/iproute2-$VERSION \
MANDIR=/usr/man \
- DBM_INCLUDE=/usr/include/db44 \
+ DBM_INCLUDE=/usr/include/db48 \
DESTDIR=$PKG || exit 1
mkdir -p $PKG/usr
diff --git a/source/n/ipset/ipset.SlackBuild b/source/n/ipset/ipset.SlackBuild
new file mode 100755
index 000000000..438ebe5cc
--- /dev/null
+++ b/source/n/ipset/ipset.SlackBuild
@@ -0,0 +1,117 @@
+#!/bin/sh
+
+# Slackware build script for ipset
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2013 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=ipset
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ COPYING ChangeLog* INSTALL README UPGRADE \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/ipset/slack-desc b/source/n/ipset/slack-desc
new file mode 100644
index 000000000..8a9e83fcc
--- /dev/null
+++ b/source/n/ipset/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+ipset: ipset (administration tool for kernel IP sets)
+ipset:
+ipset: IP sets are a Linux kernel framework administered by the ipset
+ipset: utility. Depending on the type, currently an IP set may store IP
+ipset: addresses, (TCP/UDP) port numbers, or IP addresses with MAC addresses
+ipset: in a way which ensures lightning speed when matching an entry against
+ipset: a set.
+ipset:
+ipset: Homepage: http://ipset.netfilter.org/
+ipset:
+ipset:
diff --git a/source/n/iptables/iptables.SlackBuild b/source/n/iptables/iptables.SlackBuild
index 26f3d922e..5f6c4a080 100755
--- a/source/n/iptables/iptables.SlackBuild
+++ b/source/n/iptables/iptables.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -58,7 +58,8 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf iptables-$VERSION
tar xvf $CWD/iptables-$VERSION.tar.?z* || exit 1
-cd iptables-$VERSION
+cd iptables-$VERSION || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -74,8 +75,9 @@ CFLAGS="$SLKCFLAGS" \
--docdir=/usr/doc/iptables-$VERSION \
--enable-devel \
--enable-libipq \
+ --enable-bpf-compiler \
--disable-static \
- --build=$ARCH-slackware-linux
+ --build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
diff --git a/source/n/iptraf-ng/iptraf-ng.SlackBuild b/source/n/iptraf-ng/iptraf-ng.SlackBuild
index c2841c069..65dbe2612 100755
--- a/source/n/iptraf-ng/iptraf-ng.SlackBuild
+++ b/source/n/iptraf-ng/iptraf-ng.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=iptraf-ng
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -72,6 +72,7 @@ find . \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
+ --sbindir=/usr/sbin \
--sysconfdir=/etc \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
@@ -82,12 +83,22 @@ CFLAGS="$SLKCFLAGS" \
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
+# Make symlinks to the old names:
+( cd $PKG/usr/sbin
+ ln -sf iptraf-ng iptraf
+ ln -sf rvnamed-ng rvnamed
+)
+( cd $PKG/usr/man/man8
+ ln -sf iptraf-ng.8 iptraf.8
+ ln -sf rvnamed-ng.8 rvnamed.8
+)
+
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-mkdir -p $PKG/var/lib/iptraf
-mkdir -p $PKG//var/run/iptraf
-mkdir -p $PKG/var/log/iptraf
+mkdir -p $PKG/var/lib/iptraf-ng
+mkdir -p $PKG/var/run/iptraf-ng
+mkdir -p $PKG/var/log/iptraf-ng
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
diff --git a/source/n/iputils/iputils.SlackBuild b/source/n/iputils/iputils.SlackBuild
index 2e087afc1..30f4a71ad 100755
--- a/source/n/iputils/iputils.SlackBuild
+++ b/source/n/iputils/iputils.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,8 +20,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=s20101006
-BUILD=${BUILD:-2}
+VERSION=s20121221
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -54,7 +54,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf iputils-$VERSION
-tar xvf $CWD/iputils-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/iputils-$VERSION.tar.?z* || exit 1
cd iputils-$VERSION || exit 1
chown -R root:root .
@@ -67,13 +67,28 @@ find . \
make VPATH=/usr/lib${LIBDIRSUFFIX} || exit 1
( cd doc ; make man || exit 1 ) || exit 1
-strip arping clockdiff ping ping6 rarpd rdisc tracepath tracepath6 traceroute6
+( cd ninfod
+ CFLAGS="$SLKCFLAGS" \
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+ make
+)
+
+strip arping clockdiff ninfod/ninfod ping ping6 rarpd rdisc tracepath tracepath6 traceroute6
mkdir -p $PKG/sbin
cat arping > $PKG/sbin/arping
chmod 755 $PKG/sbin/arping
mkdir -p $PKG/usr/sbin
cat clockdiff > $PKG/usr/sbin/clockdiff
chmod 755 $PKG/usr/sbin/clockdiff
+cat ninfod/ninfod > $PKG/usr/sbin/ninfod
+chmod 755 $PKG/usr/sbin/ninfod
mkdir -p $PKG/bin
cat ping > $PKG/bin/ping
cat ping6 > $PKG/bin/ping6
@@ -90,7 +105,7 @@ chmod 4711 $PKG/usr/bin/traceroute6
mkdir -p $PKG/usr/man/man8
( cd doc
- for file in arping clockdiff ping rarpd rdisc tracepath traceroute6 ; do
+ for file in arping clockdiff ninfod ping rarpd rdisc tracepath traceroute6 ; do
cat $file.8 | gzip -9c > $PKG/usr/man/man8/$file.8.gz
done
cd $PKG/usr/man/man8
diff --git a/source/n/irssi/irssi.SlackBuild b/source/n/irssi/irssi.SlackBuild
index 454f25833..59be8b1e9 100755
--- a/source/n/irssi/irssi.SlackBuild
+++ b/source/n/irssi/irssi.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -27,7 +27,7 @@ PKG=$TMP/package-irssi
VERSION=0.8.15
DIRCD=0.8.15
-BUILD=${BUILD:-6}
+BUILD=${BUILD:-7}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/n/libmbim/libmbim.SlackBuild b/source/n/libmbim/libmbim.SlackBuild
new file mode 100755
index 000000000..ce8661605
--- /dev/null
+++ b/source/n/libmbim/libmbim.SlackBuild
@@ -0,0 +1,130 @@
+#!/bin/sh
+
+# Slackware build script for libmbim
+
+# Copyright 2013 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=libmbim
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --disable-gtk-doc \
+ --disable-gtk-doc-html \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+# Since this thing won't listen:
+rm -rf $PKG/usr/share/gtk-doc/html
+rmdir $PKG/usr/share/gtk-doc 2> /dev/null
+rmdir $PKG/usr/share 2> /dev/null
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a AUTHORS COPYING* NEWS README* $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ cat ChangeLog | head -n 1000 > $PKG/usr/doc/$PKGNAM-$VERSION/ChangeLog
+ touch -r ChangeLog $PKG/usr/doc/$PKGNAM-$VERSION/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/libmbim/slack-desc b/source/n/libmbim/slack-desc
new file mode 100644
index 000000000..8cbdf63a9
--- /dev/null
+++ b/source/n/libmbim/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libmbim: libmbim (MBIM library and utils)
+libmbim:
+libmbim: The Mobile Broadband Interface Model (MBIM) is a new standard to
+libmbim: communicate with mobile broadband modem devices developed by the
+libmbim: USB Implementors Forum.
+libmbim:
+libmbim: Homepage: http://www.freedesktop.org/software/libmbim/
+libmbim:
+libmbim:
+libmbim:
+libmbim:
diff --git a/source/n/libmnl/libmnl.SlackBuild b/source/n/libmnl/libmnl.SlackBuild
new file mode 100755
index 000000000..d693bb371
--- /dev/null
+++ b/source/n/libmnl/libmnl.SlackBuild
@@ -0,0 +1,117 @@
+#!/bin/sh
+
+# Slackware build script for libmnl
+
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2013 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=libmnl
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a COPYING* README* $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/libmnl/slack-desc b/source/n/libmnl/slack-desc
new file mode 100644
index 000000000..8a96e06b7
--- /dev/null
+++ b/source/n/libmnl/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libmnl: libmnl (user-space library oriented to Netlink developers)
+libmnl:
+libmnl: libmnl is a minimalistic user-space library oriented to Netlink
+libmnl: developers. There are a lot of common tasks in parsing, validating,
+libmnl: constructing of both the Netlink header and TLVs that are repetitive
+libmnl: and easy to get wrong. This library aims to provide simple helpers
+libmnl: that allows you to re-use code and to avoid re-inventing the wheel.
+libmnl:
+libmnl: Homepage: http://www.netfilter.org/projects/libmnl/
+libmnl:
+libmnl:
diff --git a/source/n/libnetfilter_acct/libnetfilter_acct.SlackBuild b/source/n/libnetfilter_acct/libnetfilter_acct.SlackBuild
new file mode 100755
index 000000000..6639271a8
--- /dev/null
+++ b/source/n/libnetfilter_acct/libnetfilter_acct.SlackBuild
@@ -0,0 +1,96 @@
+#!/bin/sh
+
+# Slackware build script for libnetfilter_acct
+
+# Copyright 2013 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=libnetfilter_acct
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-static=no \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a COPYING README $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/libnetfilter_acct/slack-desc b/source/n/libnetfilter_acct/slack-desc
new file mode 100644
index 000000000..e8b8a4371
--- /dev/null
+++ b/source/n/libnetfilter_acct/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libnetfilter_acct: libnetfilter_acct (userspace library for netfilter accounting)
+libnetfilter_acct:
+libnetfilter_acct: libnetfilter_acct is the userspace library providing interface
+libnetfilter_acct: to extended accounting infrastructure.
+libnetfilter_acct:
+libnetfilter_acct: libnetfilter_acct is used by nfacct.
+libnetfilter_acct:
+libnetfilter_acct:
+libnetfilter_acct:
+libnetfilter_acct:
+libnetfilter_acct:
diff --git a/source/n/libnetfilter_conntrack/libnetfilter_conntrack.SlackBuild b/source/n/libnetfilter_conntrack/libnetfilter_conntrack.SlackBuild
new file mode 100755
index 000000000..6abe6f1b8
--- /dev/null
+++ b/source/n/libnetfilter_conntrack/libnetfilter_conntrack.SlackBuild
@@ -0,0 +1,96 @@
+#!/bin/sh
+
+# Slackware build script for libnetfilter_conntrack
+
+# Copyright 2006-2013 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=libnetfilter_conntrack
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-static=no \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a COPYING README $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/libnetfilter_conntrack/slack-desc b/source/n/libnetfilter_conntrack/slack-desc
new file mode 100644
index 000000000..1bd1a5785
--- /dev/null
+++ b/source/n/libnetfilter_conntrack/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libnetfilter_conntrack: libnetfilter_conntrack (netfilter conntrack library)
+libnetfilter_conntrack:
+libnetfilter_conntrack: libnetfilter_conntrack is a userspace library providing a programming
+libnetfilter_conntrack: interface (API) to the in-kernel connection tracking state table.
+libnetfilter_conntrack: This library is currently used by conntrack-tools and many other
+libnetfilter_conntrack: applications.
+libnetfilter_conntrack:
+libnetfilter_conntrack:
+libnetfilter_conntrack:
+libnetfilter_conntrack:
+libnetfilter_conntrack:
diff --git a/source/n/libnetfilter_cthelper/libnetfilter_cthelper.SlackBuild b/source/n/libnetfilter_cthelper/libnetfilter_cthelper.SlackBuild
new file mode 100755
index 000000000..e11413056
--- /dev/null
+++ b/source/n/libnetfilter_cthelper/libnetfilter_cthelper.SlackBuild
@@ -0,0 +1,96 @@
+#!/bin/sh
+
+# Slackware build script for libnetfilter_cthelper
+
+# Copyright 2013 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=libnetfilter_cthelper
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-static=no \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a COPYING README $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/libnetfilter_cthelper/slack-desc b/source/n/libnetfilter_cthelper/slack-desc
new file mode 100644
index 000000000..818240651
--- /dev/null
+++ b/source/n/libnetfilter_cthelper/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libnetfilter_cthelper: libnetfilter_cthelper (userspace infrastructure for conntrack helpers)
+libnetfilter_cthelper:
+libnetfilter_cthelper: Connection tracking helpers allows you to filter multi-flow protocols
+libnetfilter_cthelper: that usually separate control and data traffic into different flows.
+libnetfilter_cthelper: This is the case of application protocols like FTP, SIP and H.323 that
+libnetfilter_cthelper: are already supported by Netfilter. These helpers are implemented in
+libnetfilter_cthelper: kernel-space.
+libnetfilter_cthelper:
+libnetfilter_cthelper:
+libnetfilter_cthelper:
+libnetfilter_cthelper:
diff --git a/source/n/libnetfilter_cttimeout/libnetfilter_cttimeout.SlackBuild b/source/n/libnetfilter_cttimeout/libnetfilter_cttimeout.SlackBuild
new file mode 100755
index 000000000..6ab035263
--- /dev/null
+++ b/source/n/libnetfilter_cttimeout/libnetfilter_cttimeout.SlackBuild
@@ -0,0 +1,96 @@
+#!/bin/sh
+
+# Slackware build script for libnetfilter_cttimeout
+
+# Copyright 2006-2013 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=libnetfilter_cttimeout
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-static=no \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a COPYING README $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/libnetfilter_cttimeout/slack-desc b/source/n/libnetfilter_cttimeout/slack-desc
new file mode 100644
index 000000000..cd7ab0dcc
--- /dev/null
+++ b/source/n/libnetfilter_cttimeout/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libnetfilter_cttimeout: libnetfilter_cttimeout (connection tracking timeout library)
+libnetfilter_cttimeout:
+libnetfilter_cttimeout: libnetfilter_cttimeout is the userspace library that provides the
+libnetfilter_cttimeout: programming interface to the fine-grain connection tracking timeout
+libnetfilter_cttimeout: infrastructure. With this library, you can create, update and delete
+libnetfilter_cttimeout: timeout policies that can be attached to traffic flows.
+libnetfilter_cttimeout:
+libnetfilter_cttimeout:
+libnetfilter_cttimeout:
+libnetfilter_cttimeout:
+libnetfilter_cttimeout:
diff --git a/source/n/libnetfilter_log/libnetfilter_log.SlackBuild b/source/n/libnetfilter_log/libnetfilter_log.SlackBuild
new file mode 100755
index 000000000..6b91e21bb
--- /dev/null
+++ b/source/n/libnetfilter_log/libnetfilter_log.SlackBuild
@@ -0,0 +1,96 @@
+#!/bin/sh
+
+# Slackware build script for libnetfilter_log
+
+# Copyright 2013 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=libnetfilter_log
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-static=no \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a COPYING* $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/libnetfilter_log/slack-desc b/source/n/libnetfilter_log/slack-desc
new file mode 100644
index 000000000..6af9c7541
--- /dev/null
+++ b/source/n/libnetfilter_log/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libnetfilter_log: libnetfilter_log (userspace packet logging library)
+libnetfilter_log:
+libnetfilter_log: libnetfilter_log is a userspace library providing interface to
+libnetfilter_log: packets that have been logged by the kernel packet filter. It is
+libnetfilter_log: part of a system that deprecates the old syslog/dmesg based packet
+libnetfilter_log: logging. This library has been previously known as libnfnetlink_log.
+libnetfilter_log:
+libnetfilter_log: Homepage: http://www.netfilter.org/projects/libnetfilter_log/
+libnetfilter_log:
+libnetfilter_log:
+libnetfilter_log:
diff --git a/source/n/libnetfilter_queue/libnetfilter_queue.SlackBuild b/source/n/libnetfilter_queue/libnetfilter_queue.SlackBuild
new file mode 100755
index 000000000..1e64432b5
--- /dev/null
+++ b/source/n/libnetfilter_queue/libnetfilter_queue.SlackBuild
@@ -0,0 +1,96 @@
+#!/bin/sh
+
+# Slackware build script for libnetfilter_queue
+
+# Copyright 2013 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=libnetfilter_queue
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-static=no \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a COPYING* $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/libnetfilter_queue/slack-desc b/source/n/libnetfilter_queue/slack-desc
new file mode 100644
index 000000000..b43b8fe5f
--- /dev/null
+++ b/source/n/libnetfilter_queue/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libnetfilter_queue: libnetfilter_queue (userspace API for netfilter packet queueing)
+libnetfilter_queue:
+libnetfilter_queue: libnetfilter_queue is a userspace library providing an API to packets
+libnetfilter_queue: that have been queued by the kernel packet filter. It is part of a
+libnetfilter_queue: system that deprecates the old ip_queue / libipq mechanism.
+libnetfilter_queue:
+libnetfilter_queue: libnetfilter_queue has been previously known as libnfnetlink_queue.
+libnetfilter_queue:
+libnetfilter_queue:
+libnetfilter_queue:
+libnetfilter_queue:
diff --git a/source/n/libnfnetlink/libnfnetlink.SlackBuild b/source/n/libnfnetlink/libnfnetlink.SlackBuild
new file mode 100755
index 000000000..8aa62de44
--- /dev/null
+++ b/source/n/libnfnetlink/libnfnetlink.SlackBuild
@@ -0,0 +1,96 @@
+#!/bin/sh
+
+# Slackware build script for libnfnetlink
+
+# Copyright 2006-2013 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=libnfnetlink
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-static=no \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a COPYING* README* $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/libnfnetlink/slack-desc b/source/n/libnfnetlink/slack-desc
new file mode 100644
index 000000000..35dbc7459
--- /dev/null
+++ b/source/n/libnfnetlink/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libnfnetlink: libnfnetlink (library for netfilter kernel/userspace comm)
+libnfnetlink:
+libnfnetlink: libnfnetlink is the low-level library for netfilter related
+libnfnetlink: kernel/userspace communication. It provides a generic messaging
+libnfnetlink: infrastructure for in-kernel netfilter subsystems (such as
+libnfnetlink: nfnetlink_log, nfnetlink_queue, nfnetlink_conntrack) and their
+libnfnetlink: respective users and/or management tools in userspace.
+libnfnetlink:
+libnfnetlink:
+libnfnetlink:
+libnfnetlink:
diff --git a/source/n/libqmi/libqmi.SlackBuild b/source/n/libqmi/libqmi.SlackBuild
new file mode 100755
index 000000000..826fc32b1
--- /dev/null
+++ b/source/n/libqmi/libqmi.SlackBuild
@@ -0,0 +1,130 @@
+#!/bin/sh
+
+# Slackware build script for libqmi
+
+# Copyright 2013 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=libqmi
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --disable-gtk-doc \
+ --disable-gtk-doc-html \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+# Since this thing won't listen:
+rm -rf $PKG/usr/share/gtk-doc/html
+rmdir $PKG/usr/share/gtk-doc 2> /dev/null
+rmdir $PKG/usr/share 2> /dev/null
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a AUTHORS COPYING NEWS README TODO $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ cat ChangeLog | head -n 1000 > $PKG/usr/doc/$PKGNAM-$VERSION/ChangeLog
+ touch -r ChangeLog $PKG/usr/doc/$PKGNAM-$VERSION/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/libqmi/slack-desc b/source/n/libqmi/slack-desc
new file mode 100644
index 000000000..bdbc0eb71
--- /dev/null
+++ b/source/n/libqmi/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libqmi: libqmi (QMI library and utils)
+libqmi:
+libqmi: libqmi is a glib-based library for talking to WWAN modems and devices
+libqmi: which speak the Qualcomm MSM Interface (QMI) protocol.
+libqmi:
+libqmi: Homepage: http://www.freedesktop.org/software/libqmi/
+libqmi:
+libqmi:
+libqmi:
+libqmi:
+libqmi:
diff --git a/source/n/links/links.SlackBuild b/source/n/links/links.SlackBuild
index 241cc6627..0131bdd67 100755
--- a/source/n/links/links.SlackBuild
+++ b/source/n/links/links.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,7 +20,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=2.7
+VERSION=2.8
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
diff --git a/source/n/mtr/mtr.SlackBuild b/source/n/mtr/mtr.SlackBuild
index 23a9c707b..203af85c8 100755
--- a/source/n/mtr/mtr.SlackBuild
+++ b/source/n/mtr/mtr.SlackBuild
@@ -73,8 +73,6 @@ CFLAGS="$SLKCFLAGS" \
--localstatedir=/var \
--sysconfdir=/etc \
--without-gtk \
- --without-gtk2 \
- --without-gtk3 \
--build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
diff --git a/source/n/mutt/mutt.SlackBuild b/source/n/mutt/mutt.SlackBuild
index 9484bc27a..e75749808 100755
--- a/source/n/mutt/mutt.SlackBuild
+++ b/source/n/mutt/mutt.SlackBuild
@@ -21,7 +21,7 @@
PKGNAM=mutt
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -58,10 +58,6 @@ tar xvf $CWD/mutt-$VERSION.tar.?z* || exit 1
cd mutt-$VERSION || exit 1
chown -R root:root .
-# "error creating gpgme context: Not operational?" bugfix
-# http://dev.mutt.org/trac/ticket/3300
-zcat $CWD/mutt.gpgme.diff.gz | patch -p1 --verbose || exit 1
-
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
@@ -77,8 +73,6 @@ CFLAGS="$SLKCFLAGS" \
--enable-smtp \
--enable-gpgme \
--enable-hcache \
- --enable-locales-fix \
- --without-wc-funcs \
--build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
diff --git a/source/n/mutt/mutt.gpgme.diff b/source/n/mutt/mutt.gpgme.diff
deleted file mode 100644
index 8f8c40a4f..000000000
--- a/source/n/mutt/mutt.gpgme.diff
+++ /dev/null
@@ -1,34 +0,0 @@
---- mutt-1.5.20/init.c.orig 2009-07-21 17:54:59 +0200
-+++ mutt-1.5.20/init.c 2009-07-21 17:59:47 +0200
-@@ -37,7 +37,6 @@
- #endif
-
-
--
- #include "mx.h"
- #include "init.h"
- #include "mailbox.h"
-@@ -50,6 +49,10 @@
- #include <errno.h>
- #include <sys/wait.h>
-
-+#if defined(CRYPT_BACKEND_GPGME)
-+#include <gpgme.h>
-+#endif
-+
- #define CHECK_PAGER \
- if ((CurrentMenu == MENU_PAGER) && (idx >= 0) && \
- (MuttVars[idx].flags & R_RESORT)) \
-@@ -3262,6 +3265,11 @@
-
- mutt_read_histfile ();
-
-+#ifdef CRYPT_BACKEND_GPGME
-+ /* needed since version 1.2.0, ticket #3300 */
-+ gpgme_check_version (NULL);
-+#endif
-+
- #if 0
- set_option (OPTWEED); /* turn weeding on by default */
- #endif
-
diff --git a/source/n/net-snmp/net-snmp.SlackBuild b/source/n/net-snmp/net-snmp.SlackBuild
index 2f2a3ead5..3214d47d2 100755
--- a/source/n/net-snmp/net-snmp.SlackBuild
+++ b/source/n/net-snmp/net-snmp.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=net-snmp
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-5}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -90,11 +90,12 @@ CFLAGS="$SLKCFLAGS" \
--without-rpm \
--program-suffix= \
--program-prefix= \
+ --with-mib-modules="ucd-snmp/lmsensorsMib" \
--build=$ARCH-slackware-linux
# This appears to require additional third-party python modules?
# Maybe something for later.
-# --with-python-modules
+# --with-python-modules
# Build and install:
# This seems to not play well with "-j N"...
diff --git a/source/n/netkit-ftp/netkit-ftp.SlackBuild b/source/n/netkit-ftp/netkit-ftp.SlackBuild
index 5ad8a1610..cb3deecde 100755
--- a/source/n/netkit-ftp/netkit-ftp.SlackBuild
+++ b/source/n/netkit-ftp/netkit-ftp.SlackBuild
@@ -22,7 +22,7 @@
VERSION=0.17
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/n/network-scripts/network-scripts.SlackBuild b/source/n/network-scripts/network-scripts.SlackBuild
index 78aa577e6..7b4b06e0d 100755
--- a/source/n/network-scripts/network-scripts.SlackBuild
+++ b/source/n/network-scripts/network-scripts.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,9 +22,9 @@
PKGNAM=network-scripts
-VERSION=${VERSION:-14.00}
+VERSION=${VERSION:-14.1}
ARCH=noarch
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-2}
CWD=$(pwd)
TMP=${TMP:-/tmp}
diff --git a/source/n/network-scripts/scripts/netconfig b/source/n/network-scripts/scripts/netconfig
index 1e1151484..3bd483dea 100644
--- a/source/n/network-scripts/scripts/netconfig
+++ b/source/n/network-scripts/scripts/netconfig
@@ -101,12 +101,12 @@ DEBUG_ETH_UP="no"
## Some examples of additional network parameters that you can use.
## Config information for wlan0:
-#IFNAME[4]="wlan0" # Use a different interface name nstead of
+#IFNAME[4]="wlan0" # Use a different interface name instead of
# the default 'eth4'
#HWADDR[4]="00:01:23:45:67:89" # Overrule the card's hardware MAC address
#MTU[4]="" # The default MTU is 1500, but you might need
# 1360 when you use NAT'ed IPSec traffic.
-#DHCP_KEEPRESOLV[4]="yes" # If you dont want /etc/resolv.conf overwritten
+#DHCP_KEEPRESOLV[4]="yes" # If you don't want /etc/resolv.conf overwritten
#DHCP_KEEPNTP[4]="yes" # If you don't want ntp.conf overwritten
#DHCP_KEEPGW[4]="yes" # If you don't want the DHCP server to change
# your default gateway
@@ -326,7 +326,7 @@ if [ -w etc/NetworkManager/NetworkManager.conf ]; then
sed -i "s/^hostname=.*$/hostname=$HOSTNM/g" etc/NetworkManager/NetworkManager.conf
fi
-dialog --title "CONFIGUATION TYPE FOR '$HOSTNM.$DOMAIN'" \
+dialog --title "CONFIGURATION TYPE FOR '$HOSTNM.$DOMAIN'" \
--default-item DHCP \
--menu \
"Now we need to know how your machine connects to the network.\n\
diff --git a/source/n/network-scripts/scripts/rc.inet1.conf b/source/n/network-scripts/scripts/rc.inet1.conf
index d3798d8bf..85a8041ba 100644
--- a/source/n/network-scripts/scripts/rc.inet1.conf
+++ b/source/n/network-scripts/scripts/rc.inet1.conf
@@ -87,7 +87,7 @@ DEBUG_ETH_UP="no"
#DHCP_TIMEOUT[4]=15 # The default timeout for the DHCP client to
# wait for server resonse is 10 seconds, but
# you might want a shorter or longer wait.
-#DHCP_KEEPRESOLV[4]="yes" # If you dont want /etc/resolv.conf overwritten
+#DHCP_KEEPRESOLV[4]="yes" # If you don't want /etc/resolv.conf overwritten
#DHCP_KEEPNTP[4]="yes" # If you don't want ntp.conf overwritten
#DHCP_KEEPGW[4]="yes" # If you don't want the DHCP server to change
# your default gateway
diff --git a/source/n/network-scripts/scripts/rc.ip_forward b/source/n/network-scripts/scripts/rc.ip_forward
index 8940dc2cc..1fa6b57cd 100644
--- a/source/n/network-scripts/scripts/rc.ip_forward
+++ b/source/n/network-scripts/scripts/rc.ip_forward
@@ -24,6 +24,17 @@ ip_forward_start() {
/bin/grep ipv4 /etc/sysctl.conf | sysctl -p - 1> /dev/null 2> /dev/null
fi
fi
+ if [ -f /proc/sys/net/ipv6/conf/all/forwarding ]; then
+ echo "Activating IPv6 packet forwarding."
+ echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
+ # Changing /proc/sys/net/ipv6/conf/all/forwarding results in resetting
+ # all non-default ipv6 parameters for the interface as mentioned in
+ # /usr/src/linux/Documentation/networking/ip-sysctl.txt. So, we
+ # will reapply any ipv6 sysctl parameters now:
+ if [ -r /etc/sysctl.conf ]; then
+ /bin/grep ipv6 /etc/sysctl.conf | sysctl -p - 1> /dev/null 2> /dev/null
+ fi
+ fi
# When using IPv4 packet forwarding, you will also get the
# rp_filter, which automatically rejects incoming packets if the
# routing table entry for their source address doesn't match the
@@ -53,6 +64,17 @@ ip_forward_stop() {
/bin/grep ipv4 /etc/sysctl.conf | sysctl -p - 1> /dev/null 2> /dev/null
fi
fi
+ if [ -f /proc/sys/net/ipv6/conf/all/forwarding ]; then
+ echo "Disabling IPv6 packet forwarding."
+ echo 0 > /proc/sys/net/ipv6/conf/all/forwarding
+ # Changing /proc/sys/net/ipv6/conf/all/forwarding results in resetting
+ # all non-default ipv6 parameters for the interface as mentioned in
+ # /usr/src/linux/Documentation/networking/ip-sysctl.txt. So, we
+ # will reapply any ipv6 sysctl parameters now:
+ if [ -r /etc/sysctl.conf ]; then
+ /bin/grep ipv6 /etc/sysctl.conf | sysctl -p - 1> /dev/null 2> /dev/null
+ fi
+ fi
}
# Restart IP packet forwarding:
diff --git a/source/n/nfacct/nfacct.SlackBuild b/source/n/nfacct/nfacct.SlackBuild
new file mode 100755
index 000000000..96d9d2da3
--- /dev/null
+++ b/source/n/nfacct/nfacct.SlackBuild
@@ -0,0 +1,98 @@
+#!/bin/sh
+
+# Slackware build script for nfacct
+
+# Copyright 2006-2013 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=nfacct
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc/conntrackd \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-static=no \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object"| grep ELF | \
+ cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a COPYING* $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/nfacct/slack-desc b/source/n/nfacct/slack-desc
new file mode 100644
index 000000000..18bd3df38
--- /dev/null
+++ b/source/n/nfacct/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+nfacct: nfacct (tool to create/retrieve/delete accounting objects)
+nfacct:
+nfacct: nfacct is the command line tool to create/retrieve/delete accounting
+nfacct: objects.
+nfacct:
+nfacct: The main features of nfacct are:
+nfacct: - listing the objects of the nfacct table in plain text/XML
+nfacct: - atomically get and reset objects of the nfacct table
+nfacct: - adding new objects to the nfacct table
+nfacct: - deleting objects from the nfacct table
+nfacct:
diff --git a/source/n/nfs-utils/doinst.sh b/source/n/nfs-utils/doinst.sh
index 214ff1b9e..0523f4e7e 100644
--- a/source/n/nfs-utils/doinst.sh
+++ b/source/n/nfs-utils/doinst.sh
@@ -15,6 +15,7 @@ config var/lib/nfs/rmtab.new
config var/lib/nfs/state.new
config var/lib/nfs/xtab.new
rm -f var/lib/nfs/*.new
+chown -R rpc:rpc var/lib/nfs
if [ -x etc/rc.d/rc.nfsd ]; then
chmod 755 etc/rc.d/rc.nfsd.new
else
diff --git a/source/n/nfs-utils/nfs-utils-1.2.3.tar.sign b/source/n/nfs-utils/nfs-utils-1.2.3.tar.sign
deleted file mode 100644
index f159e0b64..000000000
--- a/source/n/nfs-utils/nfs-utils-1.2.3.tar.sign
+++ /dev/null
@@ -1,8 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
-Comment: See http://www.kernel.org/signature.html for info
-
-iD8DBQBMoeJcyGugalF9Dw4RApKyAJ91WfvKRivOd7XKaUXrNaIDlhwozACfacf5
-b0Maa5t3jk5Pnj+IQqvic+g=
-=cnNE
------END PGP SIGNATURE-----
diff --git a/source/n/nfs-utils/nfs-utils-1.2.8.tar.sign b/source/n/nfs-utils/nfs-utils-1.2.8.tar.sign
new file mode 100644
index 000000000..c2cde4995
--- /dev/null
+++ b/source/n/nfs-utils/nfs-utils-1.2.8.tar.sign
Binary files differ
diff --git a/source/n/nfs-utils/nfs-utils.SlackBuild b/source/n/nfs-utils/nfs-utils.SlackBuild
index 2cf5a150c..d3305c12f 100755
--- a/source/n/nfs-utils/nfs-utils.SlackBuild
+++ b/source/n/nfs-utils/nfs-utils.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,8 +21,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=1.2.3
-BUILD=${BUILD:-3}
+VERSION=1.2.8
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -112,11 +112,14 @@ sed -i "s/# Defaultvers=4/Defaultvers=3/g" $PKG/etc/nfsmount.conf.new
# No NFSv4 yet, so remove these:
rm -f $PKG/sbin/*nfs4
-# Why were we doing this?
+# This should move to support /usr on NFS:
mkdir -p $PKG/sbin
mv $PKG/usr/sbin/rpc.statd $PKG/sbin
( cd $PKG/usr/sbin ; ln -sf ../../sbin/rpc.statd . )
+# Chown /var/lib/nfs so that rpc.statd runs as rpc:rpc:
+chown -R rpc:rpc $PKG/var/lib/nfs
+
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
diff --git a/source/n/nmap/nmap.SlackBuild b/source/n/nmap/nmap.SlackBuild
index a513a93e7..0f331516d 100755
--- a/source/n/nmap/nmap.SlackBuild
+++ b/source/n/nmap/nmap.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,8 +20,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-6.01}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-6.40}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -74,11 +74,13 @@ find . \
# --without-nmap-update is needed below to avoid depending on apr and subversion libraries.
# It's not worth the feature IMHO.
+LIBS="-lnl" \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--with-liblua=included \
+ --with-libpcap=included \
--mandir=/usr/man \
--docdir=/usr/doc/nmap-$VERSION \
--without-nmap-update \
diff --git a/source/n/ntp/doinst.sh b/source/n/ntp/doinst.sh
index 1e74ce442..bc5429909 100644
--- a/source/n/ntp/doinst.sh
+++ b/source/n/ntp/doinst.sh
@@ -9,10 +9,20 @@ config() {
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname ${NEW})/$(basename ${NEW} .new)"
+ if [ -e ${OLD} ]; then
+ cp -a ${OLD} ${NEW}.incoming
+ cat ${NEW} > ${NEW}.incoming
+ mv ${NEW}.incoming ${NEW}
+ fi
+ config ${NEW}
+}
config etc/ntp.conf.new
config etc/ntp/ntp.keys.new
if [ -r etc/rc.d/rc.ntpd -a -r etc/rc.d/rc.ntpd.new ]; then
chmod --reference=etc/rc.d/rc.ntpd etc/rc.d/rc.ntpd.new
fi
-config etc/rc.d/rc.ntpd.new
+mv etc/rc.d/rc.ntpd.new etc/rc.d/rc.ntpd
diff --git a/source/n/ntp/ntp.SlackBuild b/source/n/ntp/ntp.SlackBuild
index d89863e73..f514aa6c3 100755
--- a/source/n/ntp/ntp.SlackBuild
+++ b/source/n/ntp/ntp.SlackBuild
@@ -22,7 +22,7 @@
PKGNAM=ntp
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/n/ntp/rc.ntpd b/source/n/ntp/rc.ntpd
index 7cf3d50b0..c1d1411ca 100644
--- a/source/n/ntp/rc.ntpd
+++ b/source/n/ntp/rc.ntpd
@@ -7,6 +7,21 @@ ntpd_start() {
echo -n "Starting NTP daemon: $CMDLINE"
$CMDLINE -p /var/run/ntpd.pid
echo
+ # The kernel is now mocking around with the the hardware clock if
+ # ntpd is running, so if the hardware clock (wall clock) is set to
+ # 'localtime' execute hwclock --localtime --systohc to disable the
+ # 11 minute mode kernel function:
+ if [ -x /sbin/hwclock ]; then
+ # Check for a broken motherboard RTC clock (where ioports for rtc are
+ # unknown) to prevent hwclock causing a hang:
+ if ! grep -q -w rtc /proc/ioports ; then
+ CLOCK_OPT="--directisa"
+ fi
+ if ! grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then
+ echo "Saving system time to the hardware clock (localtime)."
+ /sbin/hwclock $CLOCK_OPT --localtime --systohc
+ fi
+ fi
}
# Stop ntpd:
diff --git a/source/n/obex-data-server/obex-data-server.SlackBuild b/source/n/obex-data-server/obex-data-server.SlackBuild
index 030fffc7d..0f8aed137 100755
--- a/source/n/obex-data-server/obex-data-server.SlackBuild
+++ b/source/n/obex-data-server/obex-data-server.SlackBuild
@@ -26,7 +26,7 @@
PKGNAM=obex-data-server
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/n/obexftp/obexftp.SlackBuild b/source/n/obexftp/obexftp.SlackBuild
index f7b045220..e8edb1c0a 100755
--- a/source/n/obexftp/obexftp.SlackBuild
+++ b/source/n/obexftp/obexftp.SlackBuild
@@ -22,7 +22,7 @@
PKGNAM=obexftp
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-8}
+BUILD=${BUILD:-9}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/n/openssh/openssh.SlackBuild b/source/n/openssh/openssh.SlackBuild
index 79109e47e..07ea16156 100755
--- a/source/n/openssh/openssh.SlackBuild
+++ b/source/n/openssh/openssh.SlackBuild
@@ -2,7 +2,7 @@
# Copyright 2000 BSDi, Inc. Concord, CA, USA
# Copyright 2001, 2002, 2003, 2004 Slackware Linux, Inc. Concord, CA, USA
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/source/n/openssl/openssl.SlackBuild b/source/n/openssl/openssl.SlackBuild
index 8d5c4a096..7af513524 100755
--- a/source/n/openssl/openssl.SlackBuild
+++ b/source/n/openssl/openssl.SlackBuild
@@ -2,7 +2,7 @@
# Copyright 2000 BSDi, Inc. Concord, CA, USA
# Copyright 2001, 2002 Slackware Linux, Inc. Concord, CA, USA
-# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -28,7 +28,7 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
VERSION=${VERSION:-$(echo openssl-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/n/openvpn/openvpn.SlackBuild b/source/n/openvpn/openvpn.SlackBuild
index 8477c453d..7293806c3 100755
--- a/source/n/openvpn/openvpn.SlackBuild
+++ b/source/n/openvpn/openvpn.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2006, Alan Hicks, Lizella, GA
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=openvpn
-VERSION=2.2.2
+VERSION=2.3.2
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -60,7 +60,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.gz || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
cd $PKGNAM-$VERSION || exit 1
# Fix ownership and permissions inside the source tarball.
@@ -84,6 +84,8 @@ CXXFLAGS="$SLKCFLAGS" \
--docdir=/usr/doc/openvpn-${VERSION} \
--enable-lzo \
--enable-iproute2 \
+ --enable-password-save \
+ --disable-plugin-auth-pam \
--build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
diff --git a/source/n/p11-kit/p11-kit.SlackBuild b/source/n/p11-kit/p11-kit.SlackBuild
index f7e9efb39..cee35a1f9 100755
--- a/source/n/p11-kit/p11-kit.SlackBuild
+++ b/source/n/p11-kit/p11-kit.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=p11-kit
-VERSION=${VERSION:-0.12}
+VERSION=${VERSION:-0.16.4}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j6}
diff --git a/source/n/php/doinst.sh b/source/n/php/doinst.sh
index 2af731e95..bf1b21702 100644
--- a/source/n/php/doinst.sh
+++ b/source/n/php/doinst.sh
@@ -24,5 +24,5 @@ fi
config etc/rc.d/rc.php-fpm.new
cp -a etc/httpd/php.ini-production etc/httpd/php.ini.new
config etc/httpd/php.ini.new
-cp -a etc/php-fpm.conf.default etc/php-fpm.conf.new
-config etc/php-fpm.conf.new
+cp -a etc/php-fpm/php-fpm.conf.default etc/php-fpm/php-fpm.conf.new
+config etc/php-fpm/php-fpm.conf.new
diff --git a/source/n/php/fetch-php.sh b/source/n/php/fetch-php.sh
index 6542c8bb8..522214cc0 100755
--- a/source/n/php/fetch-php.sh
+++ b/source/n/php/fetch-php.sh
@@ -1 +1 @@
-lftpget http://us.php.net/distributions/php-5.4.7.tar.bz2
+lftpget http://us.php.net/distributions/php-5.4.20.tar.bz2
diff --git a/source/n/php/init.d.php-fpm.in.diff b/source/n/php/init.d.php-fpm.in.diff
new file mode 100644
index 000000000..00f887780
--- /dev/null
+++ b/source/n/php/init.d.php-fpm.in.diff
@@ -0,0 +1,11 @@
+--- ./sapi/fpm/init.d.php-fpm.in.orig 2013-05-08 00:41:20.000000000 -0500
++++ ./sapi/fpm/init.d.php-fpm.in 2013-05-19 14:52:33.952089160 -0500
+@@ -14,7 +14,7 @@
+ exec_prefix=@exec_prefix@
+
+ php_fpm_BIN=@sbindir@/php-fpm
+-php_fpm_CONF=@sysconfdir@/php-fpm.conf
++php_fpm_CONF=@sysconfdir@/php-fpm/php-fpm.conf
+ php_fpm_PID=@localstatedir@/run/php-fpm.pid
+
+
diff --git a/source/n/php/php.SlackBuild b/source/n/php/php.SlackBuild
index e475f824e..9e2632303 100755
--- a/source/n/php/php.SlackBuild
+++ b/source/n/php/php.SlackBuild
@@ -3,7 +3,7 @@
# Build and package mod_php on Slackware.
# by: David Cantrell <david@slackware.com>
# Modified for PHP 4-5 by volkerdi@slackware.com
-# Copyright 2007, 2008, 2009, 2010, 2011, 2012 Patrick Volkerding, Sebeka, MN, USA
+# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,8 +24,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=5.4.7
-ALPINE=2.02
+VERSION=${VERSION:-$(echo php-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+ALPINE=2.11
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -71,10 +71,11 @@ if [ -r $IMAPLIBDIR/lib${LIBDIRSUFFIX}/c-client.a ]; then
sleep 5
else
( cd $CWD/../alpine ; ./alpine.SlackBuild || exit 1 ) || exit 1
- ( cd $TMP/re-alpine-${ALPINE}/imap/c-client
+ ( cd $TMP/alpine-${ALPINE}/imap/c-client
strip -g c-client.a
mkdir -p $IMAPLIBDIR/lib${LIBDIRSUFFIX}
cp c-client.a $IMAPLIBDIR/lib${LIBDIRSUFFIX}
+ ( cd $IMAPLIBDIR/lib${LIBDIRSUFFIX} ; ln -sf c-client.a libc-client.a )
mkdir -p $IMAPLIBDIR/include
cp *.h $IMAPLIBDIR/include
)
@@ -95,6 +96,8 @@ rm -rf php-$VERSION
tar xvf $CWD/php-$VERSION.tar.?z* || exit 1
cd php-$VERSION
+zcat $CWD/init.d.php-fpm.in.diff.gz | patch -p1 --verbose || exit 1
+
# cleanup:
find . -name "*.orig" -delete
@@ -238,6 +241,8 @@ make install INSTALL_ROOT=$PKG || exit 1
mkdir -p $PKG/etc/{rc.d,php-fpm}
cp sapi/fpm/init.d.php-fpm $PKG/etc/rc.d/rc.php-fpm.new
chmod 644 $PKG/etc/rc.d/rc.php-fpm.new
+mv $PKG/etc/php-fpm.conf.default $PKG/etc/php-fpm
+chmod 644 $PKG/etc/php-fpm/php-fpm.conf.default
# PHP (used to) install Pear with some strange permissions.
chmod 755 $PKG/usr/bin/pear
diff --git a/source/n/popa3d/popa3d-1.0.2-crypt.diff b/source/n/popa3d/popa3d-1.0.2-crypt.diff
new file mode 100644
index 000000000..c6c006c7a
--- /dev/null
+++ b/source/n/popa3d/popa3d-1.0.2-crypt.diff
@@ -0,0 +1,50 @@
+--- Owl/packages/popa3d/popa3d/auth_passwd.c 2002/03/20 17:08:45 1.1
++++ Owl/packages/popa3d/popa3d/auth_passwd.c 2012/08/15 09:06:39 1.2
+@@ -26,9 +26,11 @@ struct passwd *auth_userpass(char *user,
+ if (!pw || !*pw->pw_passwd ||
+ *pw->pw_passwd == '*' || *pw->pw_passwd == '!')
+ crypt(pass, AUTH_DUMMY_SALT);
+- else
+- if (!strcmp(crypt(pass, pw->pw_passwd), pw->pw_passwd))
+- result = pw;
++ else {
++ char *hash = crypt(pass, pw->pw_passwd);
++ if (hash && !strcmp(hash, pw->pw_passwd))
++ result = pw;
++ }
+
+ if (pw)
+ memset(pw->pw_passwd, 0, strlen(pw->pw_passwd));
+--- Owl/packages/popa3d/popa3d/auth_shadow.c 2006/03/05 13:18:32 1.2
++++ Owl/packages/popa3d/popa3d/auth_shadow.c 2012/08/15 09:06:39 1.3
+@@ -52,9 +52,11 @@ struct passwd *auth_userpass(char *user,
+ if (!(spw = getspnam(user)) || !pw || !*spw->sp_pwdp ||
+ *spw->sp_pwdp == '*' || *spw->sp_pwdp == '!')
+ crypt(pass, AUTH_DUMMY_SALT);
+- else
+- if (!strcmp(crypt(pass, spw->sp_pwdp), spw->sp_pwdp))
+- result = 1;
++ else {
++ char *hash = crypt(pass, spw->sp_pwdp);
++ if (hash && !strcmp(hash, spw->sp_pwdp))
++ result = 1;
++ }
+ write(channel[1], &result, 1);
+ exit(0);
+ }
+--- Owl/packages/popa3d/popa3d/virtual.c 2006/03/07 03:30:15 1.3
++++ Owl/packages/popa3d/popa3d/virtual.c 2012/08/15 09:06:39 1.4
+@@ -175,8 +175,11 @@ struct passwd *virtual_userpass(char *us
+ endpwent();
+
+ result = NULL;
+- if (!strcmp(crypt(pass, passwd), passwd) && !fail)
+- result = pw;
++ {
++ char *computed_hash = crypt(pass, passwd);
++ if (computed_hash && !strcmp(computed_hash, passwd) && !fail)
++ result = pw;
++ }
+
+ memset(auth, 0, sizeof(auth));
+
diff --git a/source/n/popa3d/popa3d.SlackBuild b/source/n/popa3d/popa3d.SlackBuild
index 7f6713cd1..3767fae6a 100755
--- a/source/n/popa3d/popa3d.SlackBuild
+++ b/source/n/popa3d/popa3d.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
VERSION=1.0.2
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -45,7 +45,10 @@ cd $TMP
rm -rf popa3d-$VERSION
tar xvf $CWD/popa3d-$VERSION.tar.gz || exit 1
cd popa3d-$VERSION || exit 1
+
zcat $CWD/popa3d.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+zcat $CWD/popa3d-1.0.2-crypt.diff.gz | patch -p4 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/n/ppp/ppp.SlackBuild b/source/n/ppp/ppp.SlackBuild
index f7732bd61..3c229953d 100755
--- a/source/n/ppp/ppp.SlackBuild
+++ b/source/n/ppp/ppp.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
VERSION=2.4.5
RADVER=0.3.2
PPPVER=1.98
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -64,8 +64,12 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/ppp.slack.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit
+zcat $CWD/ppp.slack.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
sed -i -e "s#lib/pppd#lib${LIBDIRSUFFIX}/pppd#g" $(grep -lr 'lib/pppd' *)
+zcat $CWD/ppp.crypt.diff.gz | patch -p1 --verbose || exit 1
+
+# This conflicts with the header in 3.5+ kernels:
+rm -f include/linux/if_pppol2tp.h
./configure \
--prefix=/usr \
diff --git a/source/n/ppp/ppp.crypt.diff b/source/n/ppp/ppp.crypt.diff
new file mode 100644
index 000000000..2e39af2b1
--- /dev/null
+++ b/source/n/ppp/ppp.crypt.diff
@@ -0,0 +1,64 @@
+From 04c4348108d847e034dd91066cc6843f60d71731 Mon Sep 17 00:00:00 2001
+From: Paul Mackerras <paulus@samba.org>
+Date: Sun, 20 May 2012 14:14:55 +1000
+Subject: [PATCH] pppd: Don't crash if crypt() returns NULL
+
+It is possible for crypt() to return NULL under some circumstances,
+so we need to check the return value before passing it to strcmp().
+If we do get NULL from crypt(), treat it as an authentication failure.
+
+Reported-by: Paul Wouters <pwouters@redhat.com>
+Signed-off-by: Paul Mackerras <paulus@samba.org>
+---
+ pppd/auth.c | 8 +++++---
+ pppd/session.c | 7 +++++--
+ 2 files changed, 10 insertions(+), 5 deletions(-)
+
+diff --git a/pppd/auth.c b/pppd/auth.c
+index fb71944..883b7f5 100644
+--- a/pppd/auth.c
++++ b/pppd/auth.c
+@@ -1442,9 +1442,11 @@ check_passwd(unit, auser, userlen, apasswd, passwdlen, msg)
+ }
+ if (secret[0] != 0 && !login_secret) {
+ /* password given in pap-secrets - must match */
+- if ((cryptpap || strcmp(passwd, secret) != 0)
+- && strcmp(crypt(passwd, secret), secret) != 0)
+- ret = UPAP_AUTHNAK;
++ if (cryptpap || strcmp(passwd, secret) != 0) {
++ char *cbuf = crypt(passwd, secret);
++ if (!cbuf || strcmp(cbuf, secret) != 0)
++ ret = UPAP_AUTHNAK;
++ }
+ }
+ }
+ fclose(f);
+diff --git a/pppd/session.c b/pppd/session.c
+index 32901a2..56385dd 100644
+--- a/pppd/session.c
++++ b/pppd/session.c
+@@ -178,6 +178,7 @@ session_start(flags, user, passwd, ttyName, msg)
+ bool try_session = 0;
+ #else /* #ifdef USE_PAM */
+ struct passwd *pw;
++ char *cbuf;
+ #ifdef HAS_SHADOW
+ struct spwd *spwd;
+ struct spwd *getspnam();
+@@ -348,8 +349,10 @@ session_start(flags, user, passwd, ttyName, msg)
+ /*
+ * If no passwd, don't let them login if we're authenticating.
+ */
+- if (pw->pw_passwd == NULL || strlen(pw->pw_passwd) < 2
+- || strcmp(crypt(passwd, pw->pw_passwd), pw->pw_passwd) != 0)
++ if (pw->pw_passwd == NULL || strlen(pw->pw_passwd) < 2)
++ return SESSION_FAILED;
++ cbuf = crypt(passwd, pw->pw_passwd);
++ if (!cbuf || strcmp(cbuf, pw->pw_passwd) != 0)
+ return SESSION_FAILED;
+ }
+
+--
+1.7.10.4
+
+
diff --git a/source/n/proftpd/proftpd.SlackBuild b/source/n/proftpd/proftpd.SlackBuild
index bce1b00ea..ded54ce5d 100755
--- a/source/n/proftpd/proftpd.SlackBuild
+++ b/source/n/proftpd/proftpd.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,9 +21,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=1.3.4a
-DIRVER=1.3.4a
-BUILD=${BUILD:-2}
+VERSION=1.3.4c
+DIRVER=1.3.4c
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -81,7 +81,7 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-ctrls \
--enable-ipv6 \
--localstatedir=/var/run \
- --with-modules=mod_ban:mod_readme:mod_ratio:mod_tls:mod_wrap:mod_ctrls_admin \
+ --with-modules=mod_radius:mod_ban:mod_readme:mod_ratio:mod_tls:mod_wrap:mod_ctrls_admin \
--build=$ARCH-slackware-linux
# This caused funny messages about "Quotas off" with every FTP command,
# and mod_wrap gets a compile error:
diff --git a/source/n/rfkill/rfkill.SlackBuild b/source/n/rfkill/rfkill.SlackBuild
index de337167e..c82832b91 100755
--- a/source/n/rfkill/rfkill.SlackBuild
+++ b/source/n/rfkill/rfkill.SlackBuild
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=rfkill
-VERSION=${VERSION:-0.4}
+VERSION=${VERSION:-0.5}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
diff --git a/source/n/rp-pppoe/rp-pppoe.SlackBuild b/source/n/rp-pppoe/rp-pppoe.SlackBuild
index 40fd4a01b..d23e97a0e 100755
--- a/source/n/rp-pppoe/rp-pppoe.SlackBuild
+++ b/source/n/rp-pppoe/rp-pppoe.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,7 +20,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=3.10
+PKGNAM=rp-pppoe
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -53,7 +54,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf rp-pppoe-$VERSION
-tar xvf $CWD/rp-pppoe-$VERSION.tar.gz || exit 1
+tar xvf $CWD/rp-pppoe-$VERSION.tar.?z* || exit 1
cd rp-pppoe-$VERSION/src || exit 1
chown -R root:root .
find . \
diff --git a/source/n/samba/doinst.sh b/source/n/samba/doinst.sh
index c7b358ed1..eb2b0b58c 100644
--- a/source/n/samba/doinst.sh
+++ b/source/n/samba/doinst.sh
@@ -11,6 +11,7 @@ config() {
# Otherwise, we leave the .new copy for the admin to consider...
}
config etc/rc.d/rc.samba.new
+config etc/samba/lmhosts.new
# This won't be needed. The point here is to preserve the permissions of the existing
# file, if there is one. I don't see major new development happening in rc.samba... ;-)
rm -f etc/rc.d/rc.samba.new
diff --git a/source/n/samba/prune-samba.sh b/source/n/samba/prune-samba.sh
deleted file mode 100755
index a6106df33..000000000
--- a/source/n/samba/prune-samba.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-
-# Copyright 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Pare down the Samba sources to just Samba3 for now, and drop redundant docs.
-# This script expects the samba sources to be unpacked in the current
-# directory. It will then "pare" them. You'll be expected to repack them
-# afterwards.
-
-cd samba-?.?.? || cd samba-?.?.?? || exit 1
-
-rm --verbose WHATSNEW4.txt howto-ol-backend-s4.txt howto4.txt prog_guide4.txt
-rm -r --verbose docs-xml packaging4 source4 swat2*
-rm --verbose docs/*.pdf
-
diff --git a/source/n/samba/pytalloc-util.pc b/source/n/samba/pytalloc-util.pc
new file mode 100644
index 000000000..800a9a815
--- /dev/null
+++ b/source/n/samba/pytalloc-util.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: pytalloc-util
+Description: Utility functions for using talloc objects with Python
+Version: 2.0.8
+Libs: -L${libdir} -lpytalloc-util
+Cflags: -Wl,-rpath,/usr/lib -I${includedir}
+URL: http://talloc.samba.org/
diff --git a/source/n/samba/samba.SlackBuild b/source/n/samba/samba.SlackBuild
index 16db23417..2257abb82 100755
--- a/source/n/samba/samba.SlackBuild
+++ b/source/n/samba/samba.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,26 +20,62 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Modified 2012 by Eric Hameleers <alien at slackware.com> for ARM port.
+
VERSION=${VERSION:-$(echo samba-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
+BUILD=${BUILD:-2}
+
+if [ -e $CWD/machine.conf ]; then
+ . $CWD/machine.conf ]
+elif [ -e /etc/slackbuild/machine.conf ]; then
+ . /etc/slackbuild/machine.conf ]
+else
+ # Automatically determine the architecture we're building on:
+ if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+ fi
+ # Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX:
+ if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+ elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ fi
fi
+case "$ARCH" in
+ arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
+ *) TARGET=$ARCH-slackware-linux ;;
+esac
+
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-samba
rm -rf $PKG
mkdir -p $TMP $PKG
+if [ -r /usr/lib${LIBDIRSUFFIX}/libtalloc.so.? -a ! -r /var/log/packages/talloc* ]; then
+ echo "The Samba package needs to be removed before building to ensure that"
+ echo "talloc (and possibly other bundled libraries) are included in the build."
+ echo
+ echo "Removing the Samba package in 15 seconds, and then continuing with the build."
+ sleep 15
+ removepkg samba
+fi
+
cd $TMP
rm -rf samba-$VERSION
tar xvf $CWD/samba-$VERSION.tar.xz || exit 1
@@ -59,21 +95,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-cd source3
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
# Some of these options could be auto-detected, but declaring them
# here doesn't hurt and helps document what features we're trying to
# build in.
@@ -82,8 +103,10 @@ fi
LDFLAGS="-Wl,--no-as-needed" \
CFLAGS="$SLKCFLAGS" \
./configure \
+ --enable-fhs \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
+ --includedir=/usr/include \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--mandir=/usr/man \
@@ -91,28 +114,30 @@ CFLAGS="$SLKCFLAGS" \
--with-configdir=/etc/samba \
--with-piddir=/var/run \
--with-privatedir=/etc/samba/private \
- --localstatedir=/var \
+ --with-privatelibdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-modulesdir=/usr/lib${LIBDIRSUFFIX} \
--with-lockdir=/var/cache/samba \
- --with-swatdir=/usr/share/swat \
--with-logfilebase=/var/log/samba \
+ --localstatedir=/var \
--enable-cups \
- --enable-external-libtalloc=no \
- --enable-static=no \
- --enable-shared=yes \
- --with-acl-support=yes \
+ --with-acl-support \
--with-automount \
--with-quotas \
--with-syslog \
--with-utmp \
- --with-libsmbclient \
--with-winbind \
--with-ldap \
- --build=$ARCH-slackware-linux
- # Using with-fhs overrides our libdir, and besides we are already hard-coding
- # directories. So, now we define them all explicitly...
- #--with-fhs \
+ --with-ads \
+ --without-pam \
+ --build=$TARGET
+ # Gives errors:
+ #--builtin-libraries=replace,ccan \
+ #--bundled-libraries=heimdal \
# -j options don't seem to work...
+JOBS=6
+MAXJOBS=6
+export JOBS MAXJOBS
make || exit 1
mkdir -p \
@@ -124,30 +149,52 @@ mkdir -p \
chmod 700 $PKG/etc/samba/private
chmod 1777 $PKG/var/spool/samba
-make install-everything DESTDIR=$PKG || exit 1
-
-# Install libnss_win* libraries:
-mkdir -p $PKG/lib${LIBDIRSUFFIX}
-cp -a ../nsswitch/libnss_winbind.so $PKG/lib${LIBDIRSUFFIX}/libnss_winbind.so.2
-cp -a ../nsswitch/libnss_wins.so $PKG/lib${LIBDIRSUFFIX}/libnss_wins.so.2
-( cd $PKG/lib${LIBDIRSUFFIX}
- ln -sf libnss_winbind.so.2 libnss_winbind.so
- ln -sf libnss_wins.so.2 libnss_wins.so
-)
+make install DESTDIR=$PKG || exit 1
# Install pkgconfig files:
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
-cp -a pkgconfig/*.pc $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
if [ ! -r $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/talloc.pc ]; then
cat $CWD/talloc.pc | sed -e "s/\/lib/\/lib${LIBDIRSUFFIX}/" > $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/talloc.pc
fi
+if [ ! -r $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/pytalloc-util.pc ]; then
+ cat $CWD/pytalloc-util.pc | sed -e "s/\/lib/\/lib${LIBDIRSUFFIX}/" > $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/pytalloc-util.pc
+fi
+
+# Install talloc.h:
+if [ ! -r $PKG/usr/include/talloc.h ]; then
+ cp -a lib/talloc/talloc.h $PKG/usr/include
+ chown root:root $PKG/usr/include/talloc.h
+ chmod 644 $PKG/usr/include/talloc.h
+fi
+
+# Make symlink for pytalloc.h in /usr/include:
+if [ ! -r $PKG/usr/include/pytalloc.h ]; then
+ if [ -r $PKG/usr/include/samba-4.0/pytalloc.h ]; then
+ ( cd $PKG/usr/include ; ln -sf samba-4.0/pytalloc.h . )
+ fi
+fi
+
+# Make symlink for libtalloc.so:
+if [ ! -r $PKG/usr/lib${LIBDIRSUFFIX}/libtalloc.so -a -r $PKG/usr/lib${LIBDIRSUFFIX}/libtalloc.so.? ]; then
+ ( cd $PKG/usr/lib${LIBDIRSUFFIX} ; ln -sf libtalloc.so.? libtalloc.so )
+fi
+
+# Make symlink for libpytalloc-util.so:
+if [ ! -r $PKG/usr/lib${LIBDIRSUFFIX}/libpytalloc-util.so -a -r $PKG/usr/lib${LIBDIRSUFFIX}/libpytalloc-util.so.? ]; then
+ ( cd $PKG/usr/lib${LIBDIRSUFFIX} ; ln -sf libpytalloc-util.so.? libpytalloc-util.so )
+fi
+
+# Install the smbprint script:
+install -m0744 packaging/printing/smbprint $PKG/usr/bin/smbprint
# Add a sample config file:
cat $CWD/smb.conf.default > $PKG/etc/samba/smb.conf-sample
+# Setup a default lmhosts file:
+echo "127.0.0.1 localhost" > $PKG/etc/samba/lmhosts.new
+
if [ ! -r $PKG/usr/bin/smbget ]; then
rm -f $PKG/usr/share/man/man1/smbget.1
- rm -f $PKG/usr/share/swat/help/smbget.1.html
fi
# We'll add rc.samba to the init directory, but chmod 644 so that it doesn't
@@ -166,7 +213,6 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" \
rm -r $PKG/usr/share/locale
rm -f $PKG/usr/man/man8/pam*
-cd ..
cp -a \
COPYING* MAINTAINERS Manifest PFIF.txt README* \
Read-Manifest-Now Roadmap WHATSNEW.txt docs examples \
@@ -174,10 +220,8 @@ cp -a \
# These are installed elsewhere:
rm -rf $PKG/usr/doc/samba-$VERSION/docs/htmldocs \
$PKG/usr/doc/samba-$VERSION/docs/manpages
-mkdir -p $PKG/usr/doc/samba-$VERSION/docs
-( cd $PKG/usr/doc/samba-$VERSION/docs
- ln -sf /usr/share/swat/help htmldocs
-)
+# Empty now?
+rmdir $PKG/usr/doc/samba-$VERSION/docs 2> /dev/null
# I'm sorry, but when all this info is included in HTML, adding 7MB worth of
# PDF files just to have extra artwork is more fluff than I'll agree to.
rm -f $PKG/usr/doc/samba-$VERSION/docs/*.pdf
diff --git a/source/n/samba/smb.conf.default b/source/n/samba/smb.conf.default
index 44ba134f6..c41cfff60 100644
--- a/source/n/samba/smb.conf.default
+++ b/source/n/samba/smb.conf.default
@@ -28,10 +28,16 @@
# server string is the equivalent of the NT Description field
server string = Samba Server
-# Security mode. Defines in which mode Samba will operate. Possible
-# values are share, user, server, domain and ads. Most people will want
-# user level security. See the Samba-HOWTO-Collection for details.
- security = user
+# Server role. Defines in which mode Samba will operate. Possible
+# values are "standalone server", "member server", "classic primary
+# domain controller", "classic backup domain controller", "active
+# directory domain controller".
+#
+# Most people will want "standalone sever" or "member server".
+# Running as "active directory domain controller" will require first
+# running "samba-tool domain provision" to wipe databases and create a
+# new domain.
+ server role = standalone server
# This option is important for security. It allows you to restrict
# connections to machines which are on your local network. The
@@ -40,23 +46,6 @@
# the smb.conf man page
; hosts allow = 192.168.1. 192.168.2. 127.
-# If you want to automatically load your printer list rather
-# than setting them up individually then you'll need this
- load printers = yes
-
-# you may wish to override the location of the printcap file
-; printcap name = /etc/printcap
-
-# on SystemV system setting printcap name to lpstat should allow
-# you to automatically obtain a printer list from the SystemV spool
-# system
-; printcap name = lpstat
-
-# It should not be necessary to specify the print system type unless
-# it is non-standard. Currently supported print systems include:
-# bsd, cups, sysv, plp, lprng, aix, hpux, qnx
-; printing = cups
-
# Uncomment this if you want a guest account, you must add this to /etc/passwd
# otherwise the user "nobody" is used
; guest account = pcguest
@@ -68,15 +57,7 @@
# Put a capping on the size of the log files (in Kb).
max log size = 50
-# Use password server option only with security = server
-# The argument list may include:
-# password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name]
-# or to auto-locate the domain controller/s
-# password server = *
-; password server = <NT-Server-Name>
-
-# Use the realm option only with security = ads
-# Specifies the Active Directory realm the host is part of
+# Specifies the Kerberos or Active Directory realm the host is part of
; realm = MY_REALM
# Backend to store user information in. New installations should
@@ -96,35 +77,6 @@
# here. See the man page for details.
; interfaces = 192.168.12.2/24 192.168.13.2/24
-# Browser Control Options:
-# set local master to no if you don't want Samba to become a master
-# browser on your network. Otherwise the normal election rules apply
-; local master = no
-
-# OS Level determines the precedence of this server in master browser
-# elections. The default value should be reasonable
-; os level = 33
-
-# Domain Master specifies Samba to be the Domain Master Browser. This
-# allows Samba to collate browse lists between subnets. Don't use this
-# if you already have a Windows NT domain controller doing this job
-; domain master = yes
-
-# Preferred Master causes Samba to force a local browser election on startup
-# and gives it a slightly higher chance of winning the election
-; preferred master = yes
-
-# Enable this if you want Samba to be a domain logon server for
-# Windows95 workstations.
-; domain logons = yes
-
-# if you enable domain logons then you may want a per-machine or
-# per user logon script
-# run a specific logon batch file per workstation (machine)
-; logon script = %m.bat
-# run a specific logon batch file per username
-; logon script = %U.bat
-
# Where to store roving profiles (only for Win95 and WinNT)
# %L substitutes for this servers netbios name, %U is username
# You must uncomment the [Profiles] share below
diff --git a/source/n/samba/smb.conf.default.orig b/source/n/samba/smb.conf.default.orig
index b4e3d63e0..bb9c2e25e 100644
--- a/source/n/samba/smb.conf.default.orig
+++ b/source/n/samba/smb.conf.default.orig
@@ -28,10 +28,16 @@
# server string is the equivalent of the NT Description field
server string = Samba Server
-# Security mode. Defines in which mode Samba will operate. Possible
-# values are share, user, server, domain and ads. Most people will want
-# user level security. See the Samba-HOWTO-Collection for details.
- security = user
+# Server role. Defines in which mode Samba will operate. Possible
+# values are "standalone server", "member server", "classic primary
+# domain controller", "classic backup domain controller", "active
+# directory domain controller".
+#
+# Most people will want "standalone sever" or "member server".
+# Running as "active directory domain controller" will require first
+# running "samba-tool domain provision" to wipe databases and create a
+# new domain.
+ server role = standalone server
# This option is important for security. It allows you to restrict
# connections to machines which are on your local network. The
@@ -40,23 +46,6 @@
# the smb.conf man page
; hosts allow = 192.168.1. 192.168.2. 127.
-# If you want to automatically load your printer list rather
-# than setting them up individually then you'll need this
- load printers = yes
-
-# you may wish to override the location of the printcap file
-; printcap name = /etc/printcap
-
-# on SystemV system setting printcap name to lpstat should allow
-# you to automatically obtain a printer list from the SystemV spool
-# system
-; printcap name = lpstat
-
-# It should not be necessary to specify the print system type unless
-# it is non-standard. Currently supported print systems include:
-# bsd, cups, sysv, plp, lprng, aix, hpux, qnx
-; printing = cups
-
# Uncomment this if you want a guest account, you must add this to /etc/passwd
# otherwise the user "nobody" is used
; guest account = pcguest
@@ -68,15 +57,7 @@
# Put a capping on the size of the log files (in Kb).
max log size = 50
-# Use password server option only with security = server
-# The argument list may include:
-# password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name]
-# or to auto-locate the domain controller/s
-# password server = *
-; password server = <NT-Server-Name>
-
-# Use the realm option only with security = ads
-# Specifies the Active Directory realm the host is part of
+# Specifies the Kerberos or Active Directory realm the host is part of
; realm = MY_REALM
# Backend to store user information in. New installations should
@@ -96,35 +77,6 @@
# here. See the man page for details.
; interfaces = 192.168.12.2/24 192.168.13.2/24
-# Browser Control Options:
-# set local master to no if you don't want Samba to become a master
-# browser on your network. Otherwise the normal election rules apply
-; local master = no
-
-# OS Level determines the precedence of this server in master browser
-# elections. The default value should be reasonable
-; os level = 33
-
-# Domain Master specifies Samba to be the Domain Master Browser. This
-# allows Samba to collate browse lists between subnets. Don't use this
-# if you already have a Windows NT domain controller doing this job
-; domain master = yes
-
-# Preferred Master causes Samba to force a local browser election on startup
-# and gives it a slightly higher chance of winning the election
-; preferred master = yes
-
-# Enable this if you want Samba to be a domain logon server for
-# Windows95 workstations.
-; domain logons = yes
-
-# if you enable domain logons then you may want a per-machine or
-# per user logon script
-# run a specific logon batch file per workstation (machine)
-; logon script = %m.bat
-# run a specific logon batch file per username
-; logon script = %U.bat
-
# Where to store roving profiles (only for Win95 and WinNT)
# %L substitutes for this servers netbios name, %U is username
# You must uncomment the [Profiles] share below
diff --git a/source/n/samba/smb.conf.diff b/source/n/samba/smb.conf.diff
index 3573a8f0b..b08d2b12d 100644
--- a/source/n/samba/smb.conf.diff
+++ b/source/n/samba/smb.conf.diff
@@ -1,5 +1,5 @@
---- smb.conf.default.orig 2009-09-30 07:17:40.000000000 -0500
-+++ smb.conf.default 2009-10-03 15:59:26.000000000 -0500
+--- smb.conf.default.orig 2013-06-13 04:21:02.000000000 -0500
++++ smb.conf.default 2013-10-15 20:02:31.684043875 -0500
@@ -22,7 +22,7 @@
#======================= Global Settings =====================================
[global]
@@ -9,7 +9,7 @@
workgroup = MYGROUP
# server string is the equivalent of the NT Description field
-@@ -63,7 +63,7 @@
+@@ -52,7 +52,7 @@
# this tells Samba to use a separate log file for each machine
# that connects
@@ -18,7 +18,7 @@
# Put a capping on the size of the log files (in Kb).
max log size = 50
-@@ -184,7 +184,7 @@
+@@ -136,7 +136,7 @@
# specifically define each individual printer
[printers]
comment = All Printers
diff --git a/source/n/samba/talloc.pc b/source/n/samba/talloc.pc
index 7a23835ce..125977d19 100644
--- a/source/n/samba/talloc.pc
+++ b/source/n/samba/talloc.pc
@@ -1,11 +1,11 @@
prefix=/usr
exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
+libdir=${prefix}/lib
includedir=${prefix}/include
Name: talloc
Description: A hierarchical pool based memory system with destructors
-Version: 2.0.1
-Libs: -L${libdir} -ltalloc
+Version: 2.0.8
+Libs: -Wl,-rpath,/usr/lib -L${libdir} -ltalloc
Cflags: -I${includedir}
URL: http://talloc.samba.org/
diff --git a/source/n/sendmail/8.14.5.auth2.p0 b/source/n/sendmail/8.14.5.auth2.p0
deleted file mode 100644
index 13cdacc77..000000000
--- a/source/n/sendmail/8.14.5.auth2.p0
+++ /dev/null
@@ -1,23 +0,0 @@
---- sendmail.h- Tue May 24 16:24:39 2011
-+++ sendmail.h Tue May 24 16:25:29 2011
-@@ -721,9 +721,9 @@
- #if STARTTLS
- #define MCIF_TLS 0x00100000 /* STARTTLS supported */
- #define MCIF_TLSACT 0x00200000 /* STARTTLS active */
--#define MCIF_EXTENS (MCIF_EXPN | MCIF_SIZE | MCIF_8BITMIME | MCIF_DSN | MCIF_8BITOK | MCIF_AUTH | MCIF_ENHSTAT | MCIF_TLS)
- #else /* STARTTLS */
--#define MCIF_EXTENS (MCIF_EXPN | MCIF_SIZE | MCIF_8BITMIME | MCIF_DSN | MCIF_8BITOK | MCIF_AUTH | MCIF_ENHSTAT)
-+#define MCIF_TLS 0
-+#define MCIF_TLSACT 0
- #endif /* STARTTLS */
- #define MCIF_DLVR_BY 0x00400000 /* DELIVERBY */
- #if _FFR_IGNORE_EXT_ON_HELO
-@@ -732,6 +732,8 @@
- #define MCIF_INLONGLINE 0x01000000 /* in the middle of a long line */
- #define MCIF_AUTH2 0x02000000 /* got 2 AUTH lines */
- #define MCIF_ONLY_EHLO 0x10000000 /* use only EHLO in smtpinit */
-+
-+#define MCIF_EXTENS (MCIF_EXPN | MCIF_SIZE | MCIF_8BITMIME | MCIF_DSN | MCIF_8BITOK | MCIF_AUTH | MCIF_ENHSTAT | MCIF_TLS | MCIF_AUTH2)
-
- /* states */
- #define MCIS_CLOSED 0 /* no traffic on this connection */
diff --git a/source/n/sendmail/SlackBuild-sendmail b/source/n/sendmail/SlackBuild-sendmail
index 17c79a24e..3a46a527c 100755
--- a/source/n/sendmail/SlackBuild-sendmail
+++ b/source/n/sendmail/SlackBuild-sendmail
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,8 +20,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=8.14.5
-BUILD=${BUILD:-3}
+VERSION=8.14.7
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -68,11 +68,6 @@ rm -rf sendmail-$VERSION
tar xvf $CWD/sendmail.$VERSION.tar.gz || exit 1
cd sendmail-$VERSION
-# Upstream patch to fix broken SMTP AUTH in Sendmail 8.14.5:
-cd sendmail
-cat $CWD/8.14.5.auth2.p0 | patch -p0 --verbose || exit 1
-cd ..
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/n/sendmail/SlackBuild-sendmail-cf b/source/n/sendmail/SlackBuild-sendmail-cf
index e24570415..ad344fa71 100755
--- a/source/n/sendmail/SlackBuild-sendmail-cf
+++ b/source/n/sendmail/SlackBuild-sendmail-cf
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,9 +20,9 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=8.14.5
+VERSION=8.14.7
ARCH=noarch
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
CWD=$(pwd)
TMP=${TMP:-/tmp}
diff --git a/source/n/slrn/slrn.SlackBuild b/source/n/slrn/slrn.SlackBuild
index d6f2a8f7e..24a07fc8c 100755
--- a/source/n/slrn/slrn.SlackBuild
+++ b/source/n/slrn/slrn.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,8 +21,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=0.9.9p1
-BUILD=${BUILD:-4}
+VERSION=1.0.1
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -58,7 +58,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf slrn-$VERSION
-tar xvf $CWD/slrn-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/slrn-$VERSION.tar.?z* || exit 1
cd slrn-$VERSION || exit 1
chown -R root:root .
find . \
diff --git a/source/n/tcpdump/slack-desc b/source/n/tcpdump/slack-desc
index 1adda180e..5e9696434 100644
--- a/source/n/tcpdump/slack-desc
+++ b/source/n/tcpdump/slack-desc
@@ -13,7 +13,7 @@ tcpdump: can use it to dump information on all the packets on a network that
tcpdump: match a boolean expression. Tcpdump uses libpcap, a system
tcpdump: independent interface for user-level packet capture.
tcpdump:
-tcpdump: Project homepage: http://sourceforge.net/projects/tcpdump/
+tcpdump: Project homepage: http://www.tcpdump.org
tcpdump:
tcpdump:
tcpdump:
diff --git a/source/n/tftp-hpa/tftp-hpa-0.49.tar.bz2.sign b/source/n/tftp-hpa/tftp-hpa-0.49.tar.bz2.sign
deleted file mode 100644
index de4c7fbb4..000000000
--- a/source/n/tftp-hpa/tftp-hpa-0.49.tar.bz2.sign
+++ /dev/null
@@ -1,8 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
-Comment: See http://www.kernel.org/signature.html for info
-
-iD8DBQBI/QH7yGugalF9Dw4RAjZZAJ0Ro/KGEOFgQt0Ewk6BRuYQpnv/lQCfUIIJ
-lyM+y31FV4/xhLoNKcr8JtA=
-=X8qg
------END PGP SIGNATURE-----
diff --git a/source/n/tftp-hpa/tftp-hpa-5.2.tar.sign b/source/n/tftp-hpa/tftp-hpa-5.2.tar.sign
new file mode 100644
index 000000000..375f5d84b
--- /dev/null
+++ b/source/n/tftp-hpa/tftp-hpa-5.2.tar.sign
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.11 (GNU/Linux)
+
+iQIcBAABAgAGBQJO5StXAAoJEIiuZH1Y96v+6AEP+gLaSNgbxcFgTcRUsZfp+7at
+I6vUqBDFcN3fa7mLAyJqD5haGHl+oyx/zliSS/kscGmc4he2TMgvXjc8gWKUYf5I
+5OF4+2qHGXWzGA9sVxTP6KLWEYY8ICjHs0ALk2HVNV9zF64f6pulz/jUkBXL1deA
+fpgioO26vzt/yWl9lp1VWi5e74It6sx4c6F/j5drMErfzwuQGrW5vQ5MhK7+NGhL
+Hb4jdEEZ12MquZlcYYDdx7zci0MrVF4QNasIL3OeIGmpda/I068xcz76pJdQbPXD
+sRaN3ZkKP8cXRMDZn4DGFD+DMQ70vsroIXyM9nsR+6FOKXN7yQ3mX76JlhRr8Cmu
+FrsmmBrKNKW1Qvmwjoceq+qUoZpCPUnG9Ku1rOMFEegbPVNdii4SQnAp1GldK9vO
+az6SYCHJEOoLylaDL0ew8Uv/MO1HuokaaFA1icFxv4Uuphebx+bcum8YyojKX+Iu
+SVeLNLH+C4SnbranzspNqSDnXjc8Ut0vuSDWfjavK+U4KapMTe8qeHHF7SwdFBft
+hzi5MaoCq45G7BzyjTnhPgpURoDQ1bZ0jtmZNqdTCMZXWALA88Ypxx0VqKS7zO4P
+Q/audzxXVK7XZC4vzFjfs7jR19vrx8h3EpHy9PlP6t3IiDHHjN5TgOaminWEFSKK
+NyAsWe0wZuO5LJ7txFTN
+=8kNU
+-----END PGP SIGNATURE-----
diff --git a/source/n/tftp-hpa/tftp-hpa.SlackBuild b/source/n/tftp-hpa/tftp-hpa.SlackBuild
index 6fcc104ff..b5b36fbca 100755
--- a/source/n/tftp-hpa/tftp-hpa.SlackBuild
+++ b/source/n/tftp-hpa/tftp-hpa.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=tftp-hpa
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -46,7 +46,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf tftp-hpa-$VERSION
-tar xvf $CWD/tftp-hpa-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/tftp-hpa-$VERSION.tar.xz || exit 1
cd tftp-hpa-$VERSION || exit 1
chown -R root:root .
diff --git a/source/n/tin/tin-1.8.3.tar.bz2.sign b/source/n/tin/tin-1.8.3.tar.bz2.sign
deleted file mode 100644
index 455fe0c82..000000000
--- a/source/n/tin/tin-1.8.3.tar.bz2.sign
+++ /dev/null
@@ -1,9 +0,0 @@
------BEGIN PGP MESSAGE-----
-Version: 2.6.3ia
-
-iQCVAwUARcHorlpJVQ60kLTRAQEqmwQA1i62sO941RPciwqfBIZiKbsoAUl/h/Mm
-WXSKPi+S6KzYEeHk7yOwCY+EP+2adL2eYGVTVZeWoT16YmlHGzYw8wsH2zUuDF4M
-sH6z2MyWv8IL5/ELlHnvg710SlkQQmJFHSxcXhiA2i0E7mKeJ1ozFmrwqo88kt4Y
-8S8uupIHbnE=
-=hwqI
------END PGP MESSAGE-----
diff --git a/source/n/tin/tin.SlackBuild b/source/n/tin/tin.SlackBuild
index a344150df..1e0f29081 100755
--- a/source/n/tin/tin.SlackBuild
+++ b/source/n/tin/tin.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,8 @@
PKGNAM=tin
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -44,7 +44,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf tin-$VERSION
-tar xvf $CWD/tin-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/tin-$VERSION.tar.?z* || exit 1
cd tin-$VERSION || exit 1
chown -R root:root .
find . \
diff --git a/source/n/ulogd/doinst.sh b/source/n/ulogd/doinst.sh
new file mode 100644
index 000000000..6f21ee33e
--- /dev/null
+++ b/source/n/ulogd/doinst.sh
@@ -0,0 +1,28 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ -e $OLD ]; then
+ cp -a $OLD ${NEW}.incoming
+ cat $NEW > ${NEW}.incoming
+ mv ${NEW}.incoming $NEW
+ fi
+ config $NEW
+}
+
+config etc/ulogd.conf.new
+config etc/logrotate.d/ulogd.new
+preserve_perms etc/rc.d/rc.ulogd.new
+
diff --git a/source/n/ulogd/rc.ulogd b/source/n/ulogd/rc.ulogd
new file mode 100644
index 000000000..d7e2fb1bb
--- /dev/null
+++ b/source/n/ulogd/rc.ulogd
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# Start/stop/restart ulogd
+#
+
+ulogd_start() {
+ if [ -x /usr/sbin/ulogd ]; then
+ echo "Starting ulogd daemon: /usr/sbin/ulogd "
+ /usr/sbin/ulogd -d 2> /dev/null
+ fi
+}
+
+ulogd_stop() {
+ killall ulogd 2> /dev/null
+}
+
+ulogd_restart() {
+ ulogd_stop
+ sleep 1
+ ulogd_start
+}
+
+case "$1" in
+'start')
+ ulogd_start
+ ;;
+'stop')
+ ulogd_stop
+ ;;
+'restart')
+ ulogd_restart
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+esac
+
diff --git a/source/n/ulogd/slack-desc b/source/n/ulogd/slack-desc
new file mode 100644
index 000000000..ce1298f9e
--- /dev/null
+++ b/source/n/ulogd/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+ulogd: ulogd (Userspace Logging Daemon)
+ulogd:
+ulogd: ulogd is a userspace logging daemon for netfilter/iptables related
+ulogd: logging. This includes per-packet logging of security violations,
+ulogd: per-packet logging for accounting, per-flow logging and flexible
+ulogd: user-defined accounting.
+ulogd:
+ulogd:
+ulogd:
+ulogd:
+ulogd:
diff --git a/source/n/ulogd/ulogd.SlackBuild b/source/n/ulogd/ulogd.SlackBuild
new file mode 100755
index 000000000..3e7eaade0
--- /dev/null
+++ b/source/n/ulogd/ulogd.SlackBuild
@@ -0,0 +1,114 @@
+#!/bin/sh
+
+# Slackware build script for ulogd
+
+# Copyright 2006-2013 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=ulogd
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+chmod -R a-s,u+w,go+r-w .
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+cd doc
+ sgml2txt ulogd.sgml
+ sgml2html -s 0 ulogd.sgml
+cd ..
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/etc
+cp -a ulogd.conf $PKG/etc/ulogd.conf.new
+
+mkdir -p $PKG/etc/rc.d
+cat $CWD/rc.ulogd > $PKG/etc/rc.d/rc.ulogd.new
+chmod 0755 $PKG/etc/rc.d/rc.ulogd.new
+
+mkdir -p $PKG/etc/logrotate.d
+cat ulogd.logrotate > $PKG/etc/logrotate.d/ulogd.new
+
+find $PKG/usr/man -exec gzip -9 {} \;
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/samples
+cp -a \
+ AUTHORS COPYING* README* TODO doc/ulogd.{txt,html} \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a doc/*.sql doc/*.table $PKG/usr/doc/$PKGNAM-$VERSION/samples
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/n/wget/wget.SlackBuild b/source/n/wget/wget.SlackBuild
index 6706c161f..c2954cbdd 100755
--- a/source/n/wget/wget.SlackBuild
+++ b/source/n/wget/wget.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=${VERSION:-$(echo wget-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/n/wireless-tools/scripts/rc.wireless b/source/n/wireless-tools/scripts/rc.wireless
index 51623d506..d1264a1fc 100644
--- a/source/n/wireless-tools/scripts/rc.wireless
+++ b/source/n/wireless-tools/scripts/rc.wireless
@@ -47,7 +47,7 @@
# 16/apr/2008 * Pat Volkerding * Make sure that HWADDR is all upper case.
# 23/apr/2008 * Pat Volkerding * Increase sleep time after bringing up an
# interface to 3 seconds. Some drivers
-# need this additional time to initalize.
+# need this additional time to initialize.
# 02/jan/2010 * Pat Volkerding * Look for /sys/class/net/$NETDEV/wireless rather
# than the contents of /proc/net/wireless to find
# if a network device is wireless. In newer
diff --git a/source/n/wpa_supplicant/config/dot.config b/source/n/wpa_supplicant/config/dot.config
index f4d7306b9..45593ac6f 100644
--- a/source/n/wpa_supplicant/config/dot.config
+++ b/source/n/wpa_supplicant/config/dot.config
@@ -1,3 +1,4 @@
+CONFIG_AP=y
CONFIG_BACKEND=file
CONFIG_BGSCAN_SIMPLE=y
CONFIG_CTRL_IFACE=y
@@ -24,19 +25,13 @@ CONFIG_EAP_SAKE=y
CONFIG_EAP_TLS=y
CONFIG_EAP_TNC=y
CONFIG_EAP_TTLS=y
+CONFIG_IBSS_RSN=y
CONFIG_IEEE8021X_EAPOL=y
CONFIG_LIBNL32=y
+CONFIG_P2P=y
CONFIG_PEERKEY=y
CONFIG_PKCS12=y
CONFIG_READLINE=y
CONFIG_SMARTCARD=y
CONFIG_WPS=y
-# These five are not defined by Fedora
-# Do we still need them?
-#CONFIG_DRIVER_ATMEL=y
-#CONFIG_DRIVER_HOSTAP=y
-#CONFIG_DRIVER_IPW=y
-#CONFIG_DRIVER_NDISWRAPPER=y
-#CONFIG_DRIVER_RALINK=y
-
diff --git a/source/n/wpa_supplicant/patches/assoc-timeout.diff b/source/n/wpa_supplicant/patches/assoc-timeout.diff
new file mode 100644
index 000000000..5739705cb
--- /dev/null
+++ b/source/n/wpa_supplicant/patches/assoc-timeout.diff
@@ -0,0 +1,3816 @@
+diff -Nur wpa_supplicant-2.0.orig/wpa_supplicant/wpa_supplicant.c wpa_supplicant-2.0/wpa_supplicant/wpa_supplicant.c
+--- wpa_supplicant-2.0.orig/wpa_supplicant/wpa_supplicant.c 2013-01-12 09:42:53.000000000 -0600
++++ wpa_supplicant-2.0/wpa_supplicant/wpa_supplicant.c 2013-05-11 14:09:34.586718122 -0500
+@@ -1666,10 +1666,10 @@
+
+ if (assoc_failed) {
+ /* give IBSS a bit more time */
+- timeout = ssid->mode == WPAS_MODE_IBSS ? 10 : 5;
++ timeout = ssid->mode == WPAS_MODE_IBSS ? 20 : 10;
+ } else if (wpa_s->conf->ap_scan == 1) {
+ /* give IBSS a bit more time */
+- timeout = ssid->mode == WPAS_MODE_IBSS ? 20 : 10;
++ timeout = ssid->mode == WPAS_MODE_IBSS ? 20 : 20;
+ }
+ wpa_supplicant_req_auth_timeout(wpa_s, timeout, 0);
+ }
+diff -Nur wpa_supplicant-2.0.orig/wpa_supplicant/wpa_supplicant.c.orig wpa_supplicant-2.0/wpa_supplicant/wpa_supplicant.c.orig
+--- wpa_supplicant-2.0.orig/wpa_supplicant/wpa_supplicant.c.orig 1969-12-31 18:00:00.000000000 -0600
++++ wpa_supplicant-2.0/wpa_supplicant/wpa_supplicant.c.orig 2013-01-12 09:42:53.000000000 -0600
+@@ -0,0 +1,3796 @@
++/*
++ * WPA Supplicant
++ * Copyright (c) 2003-2012, Jouni Malinen <j@w1.fi>
++ *
++ * This software may be distributed under the terms of the BSD license.
++ * See README for more details.
++ *
++ * This file implements functions for registering and unregistering
++ * %wpa_supplicant interfaces. In addition, this file contains number of
++ * functions for managing network connections.
++ */
++
++#include "includes.h"
++
++#include "common.h"
++#include "crypto/random.h"
++#include "crypto/sha1.h"
++#include "eapol_supp/eapol_supp_sm.h"
++#include "eap_peer/eap.h"
++#include "eap_server/eap_methods.h"
++#include "rsn_supp/wpa.h"
++#include "eloop.h"
++#include "config.h"
++#include "utils/ext_password.h"
++#include "l2_packet/l2_packet.h"
++#include "wpa_supplicant_i.h"
++#include "driver_i.h"
++#include "ctrl_iface.h"
++#include "pcsc_funcs.h"
++#include "common/version.h"
++#include "rsn_supp/preauth.h"
++#include "rsn_supp/pmksa_cache.h"
++#include "common/wpa_ctrl.h"
++#include "common/ieee802_11_defs.h"
++#include "p2p/p2p.h"
++#include "blacklist.h"
++#include "wpas_glue.h"
++#include "wps_supplicant.h"
++#include "ibss_rsn.h"
++#include "sme.h"
++#include "gas_query.h"
++#include "ap.h"
++#include "p2p_supplicant.h"
++#include "wifi_display.h"
++#include "notify.h"
++#include "bgscan.h"
++#include "autoscan.h"
++#include "bss.h"
++#include "scan.h"
++#include "offchannel.h"
++#include "hs20_supplicant.h"
++
++const char *wpa_supplicant_version =
++"wpa_supplicant v" VERSION_STR "\n"
++"Copyright (c) 2003-2012, Jouni Malinen <j@w1.fi> and contributors";
++
++const char *wpa_supplicant_license =
++"This software may be distributed under the terms of the BSD license.\n"
++"See README for more details.\n"
++#ifdef EAP_TLS_OPENSSL
++"\nThis product includes software developed by the OpenSSL Project\n"
++"for use in the OpenSSL Toolkit (http://www.openssl.org/)\n"
++#endif /* EAP_TLS_OPENSSL */
++;
++
++#ifndef CONFIG_NO_STDOUT_DEBUG
++/* Long text divided into parts in order to fit in C89 strings size limits. */
++const char *wpa_supplicant_full_license1 =
++"";
++const char *wpa_supplicant_full_license2 =
++"This software may be distributed under the terms of the BSD license.\n"
++"\n"
++"Redistribution and use in source and binary forms, with or without\n"
++"modification, are permitted provided that the following conditions are\n"
++"met:\n"
++"\n";
++const char *wpa_supplicant_full_license3 =
++"1. Redistributions of source code must retain the above copyright\n"
++" notice, this list of conditions and the following disclaimer.\n"
++"\n"
++"2. Redistributions in binary form must reproduce the above copyright\n"
++" notice, this list of conditions and the following disclaimer in the\n"
++" documentation and/or other materials provided with the distribution.\n"
++"\n";
++const char *wpa_supplicant_full_license4 =
++"3. Neither the name(s) of the above-listed copyright holder(s) nor the\n"
++" names of its contributors may be used to endorse or promote products\n"
++" derived from this software without specific prior written permission.\n"
++"\n"
++"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n"
++"\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n"
++"LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n"
++"A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n";
++const char *wpa_supplicant_full_license5 =
++"OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n"
++"SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n"
++"LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n"
++"DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n"
++"THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n"
++"(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n"
++"OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
++"\n";
++#endif /* CONFIG_NO_STDOUT_DEBUG */
++
++extern int wpa_debug_level;
++extern int wpa_debug_show_keys;
++extern int wpa_debug_timestamp;
++extern struct wpa_driver_ops *wpa_drivers[];
++
++/* Configure default/group WEP keys for static WEP */
++int wpa_set_wep_keys(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)
++{
++ int i, set = 0;
++
++ for (i = 0; i < NUM_WEP_KEYS; i++) {
++ if (ssid->wep_key_len[i] == 0)
++ continue;
++
++ set = 1;
++ wpa_drv_set_key(wpa_s, WPA_ALG_WEP, NULL,
++ i, i == ssid->wep_tx_keyidx, NULL, 0,
++ ssid->wep_key[i], ssid->wep_key_len[i]);
++ }
++
++ return set;
++}
++
++
++static int wpa_supplicant_set_wpa_none_key(struct wpa_supplicant *wpa_s,
++ struct wpa_ssid *ssid)
++{
++ u8 key[32];
++ size_t keylen;
++ enum wpa_alg alg;
++ u8 seq[6] = { 0 };
++
++ /* IBSS/WPA-None uses only one key (Group) for both receiving and
++ * sending unicast and multicast packets. */
++
++ if (ssid->mode != WPAS_MODE_IBSS) {
++ wpa_msg(wpa_s, MSG_INFO, "WPA: Invalid mode %d (not "
++ "IBSS/ad-hoc) for WPA-None", ssid->mode);
++ return -1;
++ }
++
++ if (!ssid->psk_set) {
++ wpa_msg(wpa_s, MSG_INFO, "WPA: No PSK configured for "
++ "WPA-None");
++ return -1;
++ }
++
++ switch (wpa_s->group_cipher) {
++ case WPA_CIPHER_CCMP:
++ os_memcpy(key, ssid->psk, 16);
++ keylen = 16;
++ alg = WPA_ALG_CCMP;
++ break;
++ case WPA_CIPHER_GCMP:
++ os_memcpy(key, ssid->psk, 16);
++ keylen = 16;
++ alg = WPA_ALG_GCMP;
++ break;
++ case WPA_CIPHER_TKIP:
++ /* WPA-None uses the same Michael MIC key for both TX and RX */
++ os_memcpy(key, ssid->psk, 16 + 8);
++ os_memcpy(key + 16 + 8, ssid->psk + 16, 8);
++ keylen = 32;
++ alg = WPA_ALG_TKIP;
++ break;
++ default:
++ wpa_msg(wpa_s, MSG_INFO, "WPA: Invalid group cipher %d for "
++ "WPA-None", wpa_s->group_cipher);
++ return -1;
++ }
++
++ /* TODO: should actually remember the previously used seq#, both for TX
++ * and RX from each STA.. */
++
++ return wpa_drv_set_key(wpa_s, alg, NULL, 0, 1, seq, 6, key, keylen);
++}
++
++
++static void wpa_supplicant_timeout(void *eloop_ctx, void *timeout_ctx)
++{
++ struct wpa_supplicant *wpa_s = eloop_ctx;
++ const u8 *bssid = wpa_s->bssid;
++ if (is_zero_ether_addr(bssid))
++ bssid = wpa_s->pending_bssid;
++ wpa_msg(wpa_s, MSG_INFO, "Authentication with " MACSTR " timed out.",
++ MAC2STR(bssid));
++ wpa_blacklist_add(wpa_s, bssid);
++ wpa_sm_notify_disassoc(wpa_s->wpa);
++ wpa_supplicant_deauthenticate(wpa_s, WLAN_REASON_DEAUTH_LEAVING);
++ wpa_s->reassociate = 1;
++
++ /*
++ * If we timed out, the AP or the local radio may be busy.
++ * So, wait a second until scanning again.
++ */
++ wpa_supplicant_req_scan(wpa_s, 1, 0);
++
++#ifdef CONFIG_P2P
++ if (wpa_s->global->p2p_cb_on_scan_complete && !wpa_s->global->p2p_disabled &&
++ wpa_s->global->p2p != NULL) {
++ wpa_s->global->p2p_cb_on_scan_complete = 0;
++ if (p2p_other_scan_completed(wpa_s->global->p2p) == 1) {
++ wpa_dbg(wpa_s, MSG_DEBUG, "P2P: Pending P2P operation "
++ "continued after timed out authentication");
++ }
++ }
++#endif /* CONFIG_P2P */
++}
++
++
++/**
++ * wpa_supplicant_req_auth_timeout - Schedule a timeout for authentication
++ * @wpa_s: Pointer to wpa_supplicant data
++ * @sec: Number of seconds after which to time out authentication
++ * @usec: Number of microseconds after which to time out authentication
++ *
++ * This function is used to schedule a timeout for the current authentication
++ * attempt.
++ */
++void wpa_supplicant_req_auth_timeout(struct wpa_supplicant *wpa_s,
++ int sec, int usec)
++{
++ if (wpa_s->conf && wpa_s->conf->ap_scan == 0 &&
++ (wpa_s->drv_flags & WPA_DRIVER_FLAGS_WIRED))
++ return;
++
++ wpa_dbg(wpa_s, MSG_DEBUG, "Setting authentication timeout: %d sec "
++ "%d usec", sec, usec);
++ eloop_cancel_timeout(wpa_supplicant_timeout, wpa_s, NULL);
++ eloop_register_timeout(sec, usec, wpa_supplicant_timeout, wpa_s, NULL);
++}
++
++
++/**
++ * wpa_supplicant_cancel_auth_timeout - Cancel authentication timeout
++ * @wpa_s: Pointer to wpa_supplicant data
++ *
++ * This function is used to cancel authentication timeout scheduled with
++ * wpa_supplicant_req_auth_timeout() and it is called when authentication has
++ * been completed.
++ */
++void wpa_supplicant_cancel_auth_timeout(struct wpa_supplicant *wpa_s)
++{
++ wpa_dbg(wpa_s, MSG_DEBUG, "Cancelling authentication timeout");
++ eloop_cancel_timeout(wpa_supplicant_timeout, wpa_s, NULL);
++ wpa_blacklist_del(wpa_s, wpa_s->bssid);
++}
++
++
++/**
++ * wpa_supplicant_initiate_eapol - Configure EAPOL state machine
++ * @wpa_s: Pointer to wpa_supplicant data
++ *
++ * This function is used to configure EAPOL state machine based on the selected
++ * authentication mode.
++ */
++void wpa_supplicant_initiate_eapol(struct wpa_supplicant *wpa_s)
++{
++#ifdef IEEE8021X_EAPOL
++ struct eapol_config eapol_conf;
++ struct wpa_ssid *ssid = wpa_s->current_ssid;
++
++#ifdef CONFIG_IBSS_RSN
++ if (ssid->mode == WPAS_MODE_IBSS &&
++ wpa_s->key_mgmt != WPA_KEY_MGMT_NONE &&
++ wpa_s->key_mgmt != WPA_KEY_MGMT_WPA_NONE) {
++ /*
++ * RSN IBSS authentication is per-STA and we can disable the
++ * per-BSSID EAPOL authentication.
++ */
++ eapol_sm_notify_portControl(wpa_s->eapol, ForceAuthorized);
++ eapol_sm_notify_eap_success(wpa_s->eapol, TRUE);
++ eapol_sm_notify_eap_fail(wpa_s->eapol, FALSE);
++ return;
++ }
++#endif /* CONFIG_IBSS_RSN */
++
++ eapol_sm_notify_eap_success(wpa_s->eapol, FALSE);
++ eapol_sm_notify_eap_fail(wpa_s->eapol, FALSE);
++
++ if (wpa_s->key_mgmt == WPA_KEY_MGMT_NONE ||
++ wpa_s->key_mgmt == WPA_KEY_MGMT_WPA_NONE)
++ eapol_sm_notify_portControl(wpa_s->eapol, ForceAuthorized);
++ else
++ eapol_sm_notify_portControl(wpa_s->eapol, Auto);
++
++ os_memset(&eapol_conf, 0, sizeof(eapol_conf));
++ if (wpa_s->key_mgmt == WPA_KEY_MGMT_IEEE8021X_NO_WPA) {
++ eapol_conf.accept_802_1x_keys = 1;
++ eapol_conf.required_keys = 0;
++ if (ssid->eapol_flags & EAPOL_FLAG_REQUIRE_KEY_UNICAST) {
++ eapol_conf.required_keys |= EAPOL_REQUIRE_KEY_UNICAST;
++ }
++ if (ssid->eapol_flags & EAPOL_FLAG_REQUIRE_KEY_BROADCAST) {
++ eapol_conf.required_keys |=
++ EAPOL_REQUIRE_KEY_BROADCAST;
++ }
++
++ if (wpa_s->conf && (wpa_s->drv_flags & WPA_DRIVER_FLAGS_WIRED))
++ eapol_conf.required_keys = 0;
++ }
++ if (wpa_s->conf)
++ eapol_conf.fast_reauth = wpa_s->conf->fast_reauth;
++ eapol_conf.workaround = ssid->eap_workaround;
++ eapol_conf.eap_disabled =
++ !wpa_key_mgmt_wpa_ieee8021x(wpa_s->key_mgmt) &&
++ wpa_s->key_mgmt != WPA_KEY_MGMT_IEEE8021X_NO_WPA &&
++ wpa_s->key_mgmt != WPA_KEY_MGMT_WPS;
++ eapol_sm_notify_config(wpa_s->eapol, &ssid->eap, &eapol_conf);
++#endif /* IEEE8021X_EAPOL */
++}
++
++
++/**
++ * wpa_supplicant_set_non_wpa_policy - Set WPA parameters to non-WPA mode
++ * @wpa_s: Pointer to wpa_supplicant data
++ * @ssid: Configuration data for the network
++ *
++ * This function is used to configure WPA state machine and related parameters
++ * to a mode where WPA is not enabled. This is called as part of the
++ * authentication configuration when the selected network does not use WPA.
++ */
++void wpa_supplicant_set_non_wpa_policy(struct wpa_supplicant *wpa_s,
++ struct wpa_ssid *ssid)
++{
++ int i;
++
++ if (ssid->key_mgmt & WPA_KEY_MGMT_WPS)
++ wpa_s->key_mgmt = WPA_KEY_MGMT_WPS;
++ else if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA)
++ wpa_s->key_mgmt = WPA_KEY_MGMT_IEEE8021X_NO_WPA;
++ else
++ wpa_s->key_mgmt = WPA_KEY_MGMT_NONE;
++ wpa_sm_set_ap_wpa_ie(wpa_s->wpa, NULL, 0);
++ wpa_sm_set_ap_rsn_ie(wpa_s->wpa, NULL, 0);
++ wpa_sm_set_assoc_wpa_ie(wpa_s->wpa, NULL, 0);
++ wpa_s->pairwise_cipher = WPA_CIPHER_NONE;
++ wpa_s->group_cipher = WPA_CIPHER_NONE;
++ wpa_s->mgmt_group_cipher = 0;
++
++ for (i = 0; i < NUM_WEP_KEYS; i++) {
++ if (ssid->wep_key_len[i] > 5) {
++ wpa_s->pairwise_cipher = WPA_CIPHER_WEP104;
++ wpa_s->group_cipher = WPA_CIPHER_WEP104;
++ break;
++ } else if (ssid->wep_key_len[i] > 0) {
++ wpa_s->pairwise_cipher = WPA_CIPHER_WEP40;
++ wpa_s->group_cipher = WPA_CIPHER_WEP40;
++ break;
++ }
++ }
++
++ wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_RSN_ENABLED, 0);
++ wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_KEY_MGMT, wpa_s->key_mgmt);
++ wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_PAIRWISE,
++ wpa_s->pairwise_cipher);
++ wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_GROUP, wpa_s->group_cipher);
++#ifdef CONFIG_IEEE80211W
++ wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_MGMT_GROUP,
++ wpa_s->mgmt_group_cipher);
++#endif /* CONFIG_IEEE80211W */
++
++ pmksa_cache_clear_current(wpa_s->wpa);
++}
++
++
++void free_hw_features(struct wpa_supplicant *wpa_s)
++{
++ int i;
++ if (wpa_s->hw.modes == NULL)
++ return;
++
++ for (i = 0; i < wpa_s->hw.num_modes; i++) {
++ os_free(wpa_s->hw.modes[i].channels);
++ os_free(wpa_s->hw.modes[i].rates);
++ }
++
++ os_free(wpa_s->hw.modes);
++ wpa_s->hw.modes = NULL;
++}
++
++
++static void wpa_supplicant_cleanup(struct wpa_supplicant *wpa_s)
++{
++ bgscan_deinit(wpa_s);
++ autoscan_deinit(wpa_s);
++ scard_deinit(wpa_s->scard);
++ wpa_s->scard = NULL;
++ wpa_sm_set_scard_ctx(wpa_s->wpa, NULL);
++ eapol_sm_register_scard_ctx(wpa_s->eapol, NULL);
++ l2_packet_deinit(wpa_s->l2);
++ wpa_s->l2 = NULL;
++ if (wpa_s->l2_br) {
++ l2_packet_deinit(wpa_s->l2_br);
++ wpa_s->l2_br = NULL;
++ }
++
++ if (wpa_s->conf != NULL) {
++ struct wpa_ssid *ssid;
++ for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next)
++ wpas_notify_network_removed(wpa_s, ssid);
++ }
++
++ os_free(wpa_s->confname);
++ wpa_s->confname = NULL;
++
++ wpa_sm_set_eapol(wpa_s->wpa, NULL);
++ eapol_sm_deinit(wpa_s->eapol);
++ wpa_s->eapol = NULL;
++
++ rsn_preauth_deinit(wpa_s->wpa);
++
++#ifdef CONFIG_TDLS
++ wpa_tdls_deinit(wpa_s->wpa);
++#endif /* CONFIG_TDLS */
++
++ pmksa_candidate_free(wpa_s->wpa);
++ wpa_sm_deinit(wpa_s->wpa);
++ wpa_s->wpa = NULL;
++ wpa_blacklist_clear(wpa_s);
++
++ wpa_bss_deinit(wpa_s);
++
++ wpa_supplicant_cancel_scan(wpa_s);
++ wpa_supplicant_cancel_auth_timeout(wpa_s);
++ eloop_cancel_timeout(wpa_supplicant_stop_countermeasures, wpa_s, NULL);
++#ifdef CONFIG_DELAYED_MIC_ERROR_REPORT
++ eloop_cancel_timeout(wpa_supplicant_delayed_mic_error_report,
++ wpa_s, NULL);
++#endif /* CONFIG_DELAYED_MIC_ERROR_REPORT */
++
++ wpas_wps_deinit(wpa_s);
++
++ wpabuf_free(wpa_s->pending_eapol_rx);
++ wpa_s->pending_eapol_rx = NULL;
++
++#ifdef CONFIG_IBSS_RSN
++ ibss_rsn_deinit(wpa_s->ibss_rsn);
++ wpa_s->ibss_rsn = NULL;
++#endif /* CONFIG_IBSS_RSN */
++
++ sme_deinit(wpa_s);
++
++#ifdef CONFIG_AP
++ wpa_supplicant_ap_deinit(wpa_s);
++#endif /* CONFIG_AP */
++
++#ifdef CONFIG_P2P
++ wpas_p2p_deinit(wpa_s);
++#endif /* CONFIG_P2P */
++
++#ifdef CONFIG_OFFCHANNEL
++ offchannel_deinit(wpa_s);
++#endif /* CONFIG_OFFCHANNEL */
++
++ wpa_supplicant_cancel_sched_scan(wpa_s);
++
++ os_free(wpa_s->next_scan_freqs);
++ wpa_s->next_scan_freqs = NULL;
++
++ gas_query_deinit(wpa_s->gas);
++ wpa_s->gas = NULL;
++
++ free_hw_features(wpa_s);
++
++ os_free(wpa_s->bssid_filter);
++ wpa_s->bssid_filter = NULL;
++
++ os_free(wpa_s->disallow_aps_bssid);
++ wpa_s->disallow_aps_bssid = NULL;
++ os_free(wpa_s->disallow_aps_ssid);
++ wpa_s->disallow_aps_ssid = NULL;
++
++ wnm_bss_keep_alive_deinit(wpa_s);
++
++ ext_password_deinit(wpa_s->ext_pw);
++ wpa_s->ext_pw = NULL;
++
++ wpabuf_free(wpa_s->last_gas_resp);
++
++ os_free(wpa_s->last_scan_res);
++ wpa_s->last_scan_res = NULL;
++}
++
++
++/**
++ * wpa_clear_keys - Clear keys configured for the driver
++ * @wpa_s: Pointer to wpa_supplicant data
++ * @addr: Previously used BSSID or %NULL if not available
++ *
++ * This function clears the encryption keys that has been previously configured
++ * for the driver.
++ */
++void wpa_clear_keys(struct wpa_supplicant *wpa_s, const u8 *addr)
++{
++ if (wpa_s->keys_cleared) {
++ /* Some drivers (e.g., ndiswrapper & NDIS drivers) seem to have
++ * timing issues with keys being cleared just before new keys
++ * are set or just after association or something similar. This
++ * shows up in group key handshake failing often because of the
++ * client not receiving the first encrypted packets correctly.
++ * Skipping some of the extra key clearing steps seems to help
++ * in completing group key handshake more reliably. */
++ wpa_dbg(wpa_s, MSG_DEBUG, "No keys have been configured - "
++ "skip key clearing");
++ return;
++ }
++
++ /* MLME-DELETEKEYS.request */
++ wpa_drv_set_key(wpa_s, WPA_ALG_NONE, NULL, 0, 0, NULL, 0, NULL, 0);
++ wpa_drv_set_key(wpa_s, WPA_ALG_NONE, NULL, 1, 0, NULL, 0, NULL, 0);
++ wpa_drv_set_key(wpa_s, WPA_ALG_NONE, NULL, 2, 0, NULL, 0, NULL, 0);
++ wpa_drv_set_key(wpa_s, WPA_ALG_NONE, NULL, 3, 0, NULL, 0, NULL, 0);
++#ifdef CONFIG_IEEE80211W
++ wpa_drv_set_key(wpa_s, WPA_ALG_NONE, NULL, 4, 0, NULL, 0, NULL, 0);
++ wpa_drv_set_key(wpa_s, WPA_ALG_NONE, NULL, 5, 0, NULL, 0, NULL, 0);
++#endif /* CONFIG_IEEE80211W */
++ if (addr) {
++ wpa_drv_set_key(wpa_s, WPA_ALG_NONE, addr, 0, 0, NULL, 0, NULL,
++ 0);
++ /* MLME-SETPROTECTION.request(None) */
++ wpa_drv_mlme_setprotection(
++ wpa_s, addr,
++ MLME_SETPROTECTION_PROTECT_TYPE_NONE,
++ MLME_SETPROTECTION_KEY_TYPE_PAIRWISE);
++ }
++ wpa_s->keys_cleared = 1;
++}
++
++
++/**
++ * wpa_supplicant_state_txt - Get the connection state name as a text string
++ * @state: State (wpa_state; WPA_*)
++ * Returns: The state name as a printable text string
++ */
++const char * wpa_supplicant_state_txt(enum wpa_states state)
++{
++ switch (state) {
++ case WPA_DISCONNECTED:
++ return "DISCONNECTED";
++ case WPA_INACTIVE:
++ return "INACTIVE";
++ case WPA_INTERFACE_DISABLED:
++ return "INTERFACE_DISABLED";
++ case WPA_SCANNING:
++ return "SCANNING";
++ case WPA_AUTHENTICATING:
++ return "AUTHENTICATING";
++ case WPA_ASSOCIATING:
++ return "ASSOCIATING";
++ case WPA_ASSOCIATED:
++ return "ASSOCIATED";
++ case WPA_4WAY_HANDSHAKE:
++ return "4WAY_HANDSHAKE";
++ case WPA_GROUP_HANDSHAKE:
++ return "GROUP_HANDSHAKE";
++ case WPA_COMPLETED:
++ return "COMPLETED";
++ default:
++ return "UNKNOWN";
++ }
++}
++
++
++#ifdef CONFIG_BGSCAN
++
++static void wpa_supplicant_start_bgscan(struct wpa_supplicant *wpa_s)
++{
++ if (wpas_driver_bss_selection(wpa_s))
++ return;
++ if (wpa_s->current_ssid == wpa_s->bgscan_ssid)
++ return;
++
++ bgscan_deinit(wpa_s);
++ if (wpa_s->current_ssid && wpa_s->current_ssid->bgscan) {
++ if (bgscan_init(wpa_s, wpa_s->current_ssid)) {
++ wpa_dbg(wpa_s, MSG_DEBUG, "Failed to initialize "
++ "bgscan");
++ /*
++ * Live without bgscan; it is only used as a roaming
++ * optimization, so the initial connection is not
++ * affected.
++ */
++ } else {
++ struct wpa_scan_results *scan_res;
++ wpa_s->bgscan_ssid = wpa_s->current_ssid;
++ scan_res = wpa_supplicant_get_scan_results(wpa_s, NULL,
++ 0);
++ if (scan_res) {
++ bgscan_notify_scan(wpa_s, scan_res);
++ wpa_scan_results_free(scan_res);
++ }
++ }
++ } else
++ wpa_s->bgscan_ssid = NULL;
++}
++
++
++static void wpa_supplicant_stop_bgscan(struct wpa_supplicant *wpa_s)
++{
++ if (wpa_s->bgscan_ssid != NULL) {
++ bgscan_deinit(wpa_s);
++ wpa_s->bgscan_ssid = NULL;
++ }
++}
++
++#endif /* CONFIG_BGSCAN */
++
++
++static void wpa_supplicant_start_autoscan(struct wpa_supplicant *wpa_s)
++{
++ if (autoscan_init(wpa_s, 0))
++ wpa_dbg(wpa_s, MSG_DEBUG, "Failed to initialize autoscan");
++}
++
++
++static void wpa_supplicant_stop_autoscan(struct wpa_supplicant *wpa_s)
++{
++ autoscan_deinit(wpa_s);
++}
++
++
++void wpa_supplicant_reinit_autoscan(struct wpa_supplicant *wpa_s)
++{
++ if (wpa_s->wpa_state == WPA_DISCONNECTED ||
++ wpa_s->wpa_state == WPA_SCANNING) {
++ autoscan_deinit(wpa_s);
++ wpa_supplicant_start_autoscan(wpa_s);
++ }
++}
++
++
++/**
++ * wpa_supplicant_set_state - Set current connection state
++ * @wpa_s: Pointer to wpa_supplicant data
++ * @state: The new connection state
++ *
++ * This function is called whenever the connection state changes, e.g.,
++ * association is completed for WPA/WPA2 4-Way Handshake is started.
++ */
++void wpa_supplicant_set_state(struct wpa_supplicant *wpa_s,
++ enum wpa_states state)
++{
++ enum wpa_states old_state = wpa_s->wpa_state;
++
++ wpa_dbg(wpa_s, MSG_DEBUG, "State: %s -> %s",
++ wpa_supplicant_state_txt(wpa_s->wpa_state),
++ wpa_supplicant_state_txt(state));
++
++ if (state != WPA_SCANNING)
++ wpa_supplicant_notify_scanning(wpa_s, 0);
++
++ if (state == WPA_COMPLETED && wpa_s->new_connection) {
++#if defined(CONFIG_CTRL_IFACE) || !defined(CONFIG_NO_STDOUT_DEBUG)
++ struct wpa_ssid *ssid = wpa_s->current_ssid;
++ wpa_msg(wpa_s, MSG_INFO, WPA_EVENT_CONNECTED "- Connection to "
++ MACSTR " completed [id=%d id_str=%s]",
++ MAC2STR(wpa_s->bssid),
++ ssid ? ssid->id : -1,
++ ssid && ssid->id_str ? ssid->id_str : "");
++#endif /* CONFIG_CTRL_IFACE || !CONFIG_NO_STDOUT_DEBUG */
++ wpas_clear_temp_disabled(wpa_s, ssid, 1);
++ wpa_s->extra_blacklist_count = 0;
++ wpa_s->new_connection = 0;
++ wpa_drv_set_operstate(wpa_s, 1);
++#ifndef IEEE8021X_EAPOL
++ wpa_drv_set_supp_port(wpa_s, 1);
++#endif /* IEEE8021X_EAPOL */
++ wpa_s->after_wps = 0;
++#ifdef CONFIG_P2P
++ wpas_p2p_completed(wpa_s);
++#endif /* CONFIG_P2P */
++
++ sme_sched_obss_scan(wpa_s, 1);
++ } else if (state == WPA_DISCONNECTED || state == WPA_ASSOCIATING ||
++ state == WPA_ASSOCIATED) {
++ wpa_s->new_connection = 1;
++ wpa_drv_set_operstate(wpa_s, 0);
++#ifndef IEEE8021X_EAPOL
++ wpa_drv_set_supp_port(wpa_s, 0);
++#endif /* IEEE8021X_EAPOL */
++ sme_sched_obss_scan(wpa_s, 0);
++ }
++ wpa_s->wpa_state = state;
++
++#ifdef CONFIG_BGSCAN
++ if (state == WPA_COMPLETED)
++ wpa_supplicant_start_bgscan(wpa_s);
++ else
++ wpa_supplicant_stop_bgscan(wpa_s);
++#endif /* CONFIG_BGSCAN */
++
++ if (state == WPA_AUTHENTICATING)
++ wpa_supplicant_stop_autoscan(wpa_s);
++
++ if (state == WPA_DISCONNECTED || state == WPA_INACTIVE)
++ wpa_supplicant_start_autoscan(wpa_s);
++
++ if (wpa_s->wpa_state != old_state) {
++ wpas_notify_state_changed(wpa_s, wpa_s->wpa_state, old_state);
++
++ if (wpa_s->wpa_state == WPA_COMPLETED ||
++ old_state == WPA_COMPLETED)
++ wpas_notify_auth_changed(wpa_s);
++ }
++}
++
++
++void wpa_supplicant_terminate_proc(struct wpa_global *global)
++{
++ int pending = 0;
++#ifdef CONFIG_WPS
++ struct wpa_supplicant *wpa_s = global->ifaces;
++ while (wpa_s) {
++ if (wpas_wps_terminate_pending(wpa_s) == 1)
++ pending = 1;
++ wpa_s = wpa_s->next;
++ }
++#endif /* CONFIG_WPS */
++ if (pending)
++ return;
++ eloop_terminate();
++}
++
++
++static void wpa_supplicant_terminate(int sig, void *signal_ctx)
++{
++ struct wpa_global *global = signal_ctx;
++ wpa_supplicant_terminate_proc(global);
++}
++
++
++void wpa_supplicant_clear_status(struct wpa_supplicant *wpa_s)
++{
++ enum wpa_states old_state = wpa_s->wpa_state;
++
++ wpa_s->pairwise_cipher = 0;
++ wpa_s->group_cipher = 0;
++ wpa_s->mgmt_group_cipher = 0;
++ wpa_s->key_mgmt = 0;
++ if (wpa_s->wpa_state != WPA_INTERFACE_DISABLED)
++ wpa_supplicant_set_state(wpa_s, WPA_DISCONNECTED);
++
++ if (wpa_s->wpa_state != old_state)
++ wpas_notify_state_changed(wpa_s, wpa_s->wpa_state, old_state);
++}
++
++
++/**
++ * wpa_supplicant_reload_configuration - Reload configuration data
++ * @wpa_s: Pointer to wpa_supplicant data
++ * Returns: 0 on success or -1 if configuration parsing failed
++ *
++ * This function can be used to request that the configuration data is reloaded
++ * (e.g., after configuration file change). This function is reloading
++ * configuration only for one interface, so this may need to be called multiple
++ * times if %wpa_supplicant is controlling multiple interfaces and all
++ * interfaces need reconfiguration.
++ */
++int wpa_supplicant_reload_configuration(struct wpa_supplicant *wpa_s)
++{
++ struct wpa_config *conf;
++ int reconf_ctrl;
++ int old_ap_scan;
++
++ if (wpa_s->confname == NULL)
++ return -1;
++ conf = wpa_config_read(wpa_s->confname);
++ if (conf == NULL) {
++ wpa_msg(wpa_s, MSG_ERROR, "Failed to parse the configuration "
++ "file '%s' - exiting", wpa_s->confname);
++ return -1;
++ }
++ conf->changed_parameters = (unsigned int) -1;
++
++ reconf_ctrl = !!conf->ctrl_interface != !!wpa_s->conf->ctrl_interface
++ || (conf->ctrl_interface && wpa_s->conf->ctrl_interface &&
++ os_strcmp(conf->ctrl_interface,
++ wpa_s->conf->ctrl_interface) != 0);
++
++ if (reconf_ctrl && wpa_s->ctrl_iface) {
++ wpa_supplicant_ctrl_iface_deinit(wpa_s->ctrl_iface);
++ wpa_s->ctrl_iface = NULL;
++ }
++
++ eapol_sm_invalidate_cached_session(wpa_s->eapol);
++ if (wpa_s->current_ssid) {
++ wpa_supplicant_deauthenticate(wpa_s,
++ WLAN_REASON_DEAUTH_LEAVING);
++ }
++
++ /*
++ * TODO: should notify EAPOL SM about changes in opensc_engine_path,
++ * pkcs11_engine_path, pkcs11_module_path.
++ */
++ if (wpa_key_mgmt_wpa_psk(wpa_s->key_mgmt)) {
++ /*
++ * Clear forced success to clear EAP state for next
++ * authentication.
++ */
++ eapol_sm_notify_eap_success(wpa_s->eapol, FALSE);
++ }
++ eapol_sm_notify_config(wpa_s->eapol, NULL, NULL);
++ wpa_sm_set_config(wpa_s->wpa, NULL);
++ wpa_sm_pmksa_cache_flush(wpa_s->wpa, NULL);
++ wpa_sm_set_fast_reauth(wpa_s->wpa, wpa_s->conf->fast_reauth);
++ rsn_preauth_deinit(wpa_s->wpa);
++
++ old_ap_scan = wpa_s->conf->ap_scan;
++ wpa_config_free(wpa_s->conf);
++ wpa_s->conf = conf;
++ if (old_ap_scan != wpa_s->conf->ap_scan)
++ wpas_notify_ap_scan_changed(wpa_s);
++
++ if (reconf_ctrl)
++ wpa_s->ctrl_iface = wpa_supplicant_ctrl_iface_init(wpa_s);
++
++ wpa_supplicant_update_config(wpa_s);
++
++ wpa_supplicant_clear_status(wpa_s);
++ if (wpa_supplicant_enabled_networks(wpa_s)) {
++ wpa_s->reassociate = 1;
++ wpa_supplicant_req_scan(wpa_s, 0, 0);
++ }
++ wpa_dbg(wpa_s, MSG_DEBUG, "Reconfiguration completed");
++ return 0;
++}
++
++
++static void wpa_supplicant_reconfig(int sig, void *signal_ctx)
++{
++ struct wpa_global *global = signal_ctx;
++ struct wpa_supplicant *wpa_s;
++ for (wpa_s = global->ifaces; wpa_s; wpa_s = wpa_s->next) {
++ wpa_dbg(wpa_s, MSG_DEBUG, "Signal %d received - reconfiguring",
++ sig);
++ if (wpa_supplicant_reload_configuration(wpa_s) < 0) {
++ wpa_supplicant_terminate_proc(global);
++ }
++ }
++}
++
++
++enum wpa_cipher cipher_suite2driver(int cipher)
++{
++ switch (cipher) {
++ case WPA_CIPHER_NONE:
++ return CIPHER_NONE;
++ case WPA_CIPHER_WEP40:
++ return CIPHER_WEP40;
++ case WPA_CIPHER_WEP104:
++ return CIPHER_WEP104;
++ case WPA_CIPHER_CCMP:
++ return CIPHER_CCMP;
++ case WPA_CIPHER_GCMP:
++ return CIPHER_GCMP;
++ case WPA_CIPHER_TKIP:
++ default:
++ return CIPHER_TKIP;
++ }
++}
++
++
++enum wpa_key_mgmt key_mgmt2driver(int key_mgmt)
++{
++ switch (key_mgmt) {
++ case WPA_KEY_MGMT_NONE:
++ return KEY_MGMT_NONE;
++ case WPA_KEY_MGMT_IEEE8021X_NO_WPA:
++ return KEY_MGMT_802_1X_NO_WPA;
++ case WPA_KEY_MGMT_IEEE8021X:
++ return KEY_MGMT_802_1X;
++ case WPA_KEY_MGMT_WPA_NONE:
++ return KEY_MGMT_WPA_NONE;
++ case WPA_KEY_MGMT_FT_IEEE8021X:
++ return KEY_MGMT_FT_802_1X;
++ case WPA_KEY_MGMT_FT_PSK:
++ return KEY_MGMT_FT_PSK;
++ case WPA_KEY_MGMT_IEEE8021X_SHA256:
++ return KEY_MGMT_802_1X_SHA256;
++ case WPA_KEY_MGMT_PSK_SHA256:
++ return KEY_MGMT_PSK_SHA256;
++ case WPA_KEY_MGMT_WPS:
++ return KEY_MGMT_WPS;
++ case WPA_KEY_MGMT_PSK:
++ default:
++ return KEY_MGMT_PSK;
++ }
++}
++
++
++static int wpa_supplicant_suites_from_ai(struct wpa_supplicant *wpa_s,
++ struct wpa_ssid *ssid,
++ struct wpa_ie_data *ie)
++{
++ int ret = wpa_sm_parse_own_wpa_ie(wpa_s->wpa, ie);
++ if (ret) {
++ if (ret == -2) {
++ wpa_msg(wpa_s, MSG_INFO, "WPA: Failed to parse WPA IE "
++ "from association info");
++ }
++ return -1;
++ }
++
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: Using WPA IE from AssocReq to set "
++ "cipher suites");
++ if (!(ie->group_cipher & ssid->group_cipher)) {
++ wpa_msg(wpa_s, MSG_INFO, "WPA: Driver used disabled group "
++ "cipher 0x%x (mask 0x%x) - reject",
++ ie->group_cipher, ssid->group_cipher);
++ return -1;
++ }
++ if (!(ie->pairwise_cipher & ssid->pairwise_cipher)) {
++ wpa_msg(wpa_s, MSG_INFO, "WPA: Driver used disabled pairwise "
++ "cipher 0x%x (mask 0x%x) - reject",
++ ie->pairwise_cipher, ssid->pairwise_cipher);
++ return -1;
++ }
++ if (!(ie->key_mgmt & ssid->key_mgmt)) {
++ wpa_msg(wpa_s, MSG_INFO, "WPA: Driver used disabled key "
++ "management 0x%x (mask 0x%x) - reject",
++ ie->key_mgmt, ssid->key_mgmt);
++ return -1;
++ }
++
++#ifdef CONFIG_IEEE80211W
++ if (!(ie->capabilities & WPA_CAPABILITY_MFPC) &&
++ (ssid->ieee80211w == MGMT_FRAME_PROTECTION_DEFAULT ?
++ wpa_s->conf->pmf : ssid->ieee80211w) ==
++ MGMT_FRAME_PROTECTION_REQUIRED) {
++ wpa_msg(wpa_s, MSG_INFO, "WPA: Driver associated with an AP "
++ "that does not support management frame protection - "
++ "reject");
++ return -1;
++ }
++#endif /* CONFIG_IEEE80211W */
++
++ return 0;
++}
++
++
++/**
++ * wpa_supplicant_set_suites - Set authentication and encryption parameters
++ * @wpa_s: Pointer to wpa_supplicant data
++ * @bss: Scan results for the selected BSS, or %NULL if not available
++ * @ssid: Configuration data for the selected network
++ * @wpa_ie: Buffer for the WPA/RSN IE
++ * @wpa_ie_len: Maximum wpa_ie buffer size on input. This is changed to be the
++ * used buffer length in case the functions returns success.
++ * Returns: 0 on success or -1 on failure
++ *
++ * This function is used to configure authentication and encryption parameters
++ * based on the network configuration and scan result for the selected BSS (if
++ * available).
++ */
++int wpa_supplicant_set_suites(struct wpa_supplicant *wpa_s,
++ struct wpa_bss *bss, struct wpa_ssid *ssid,
++ u8 *wpa_ie, size_t *wpa_ie_len)
++{
++ struct wpa_ie_data ie;
++ int sel, proto;
++ const u8 *bss_wpa, *bss_rsn;
++
++ if (bss) {
++ bss_wpa = wpa_bss_get_vendor_ie(bss, WPA_IE_VENDOR_TYPE);
++ bss_rsn = wpa_bss_get_ie(bss, WLAN_EID_RSN);
++ } else
++ bss_wpa = bss_rsn = NULL;
++
++ if (bss_rsn && (ssid->proto & WPA_PROTO_RSN) &&
++ wpa_parse_wpa_ie(bss_rsn, 2 + bss_rsn[1], &ie) == 0 &&
++ (ie.group_cipher & ssid->group_cipher) &&
++ (ie.pairwise_cipher & ssid->pairwise_cipher) &&
++ (ie.key_mgmt & ssid->key_mgmt)) {
++ wpa_dbg(wpa_s, MSG_DEBUG, "RSN: using IEEE 802.11i/D9.0");
++ proto = WPA_PROTO_RSN;
++ } else if (bss_wpa && (ssid->proto & WPA_PROTO_WPA) &&
++ wpa_parse_wpa_ie(bss_wpa, 2 +bss_wpa[1], &ie) == 0 &&
++ (ie.group_cipher & ssid->group_cipher) &&
++ (ie.pairwise_cipher & ssid->pairwise_cipher) &&
++ (ie.key_mgmt & ssid->key_mgmt)) {
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using IEEE 802.11i/D3.0");
++ proto = WPA_PROTO_WPA;
++ } else if (bss) {
++ wpa_msg(wpa_s, MSG_WARNING, "WPA: Failed to select WPA/RSN");
++ return -1;
++ } else {
++ if (ssid->proto & WPA_PROTO_RSN)
++ proto = WPA_PROTO_RSN;
++ else
++ proto = WPA_PROTO_WPA;
++ if (wpa_supplicant_suites_from_ai(wpa_s, ssid, &ie) < 0) {
++ os_memset(&ie, 0, sizeof(ie));
++ ie.group_cipher = ssid->group_cipher;
++ ie.pairwise_cipher = ssid->pairwise_cipher;
++ ie.key_mgmt = ssid->key_mgmt;
++#ifdef CONFIG_IEEE80211W
++ ie.mgmt_group_cipher =
++ ssid->ieee80211w != NO_MGMT_FRAME_PROTECTION ?
++ WPA_CIPHER_AES_128_CMAC : 0;
++#endif /* CONFIG_IEEE80211W */
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: Set cipher suites "
++ "based on configuration");
++ } else
++ proto = ie.proto;
++ }
++
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: Selected cipher suites: group %d "
++ "pairwise %d key_mgmt %d proto %d",
++ ie.group_cipher, ie.pairwise_cipher, ie.key_mgmt, proto);
++#ifdef CONFIG_IEEE80211W
++ if (ssid->ieee80211w) {
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: Selected mgmt group cipher %d",
++ ie.mgmt_group_cipher);
++ }
++#endif /* CONFIG_IEEE80211W */
++
++ wpa_s->wpa_proto = proto;
++ wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_PROTO, proto);
++ wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_RSN_ENABLED,
++ !!(ssid->proto & WPA_PROTO_RSN));
++
++ if (bss || !wpa_s->ap_ies_from_associnfo) {
++ if (wpa_sm_set_ap_wpa_ie(wpa_s->wpa, bss_wpa,
++ bss_wpa ? 2 + bss_wpa[1] : 0) ||
++ wpa_sm_set_ap_rsn_ie(wpa_s->wpa, bss_rsn,
++ bss_rsn ? 2 + bss_rsn[1] : 0))
++ return -1;
++ }
++
++ sel = ie.group_cipher & ssid->group_cipher;
++ if (sel & WPA_CIPHER_CCMP) {
++ wpa_s->group_cipher = WPA_CIPHER_CCMP;
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using GTK CCMP");
++ } else if (sel & WPA_CIPHER_GCMP) {
++ wpa_s->group_cipher = WPA_CIPHER_GCMP;
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using GTK GCMP");
++ } else if (sel & WPA_CIPHER_TKIP) {
++ wpa_s->group_cipher = WPA_CIPHER_TKIP;
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using GTK TKIP");
++ } else if (sel & WPA_CIPHER_WEP104) {
++ wpa_s->group_cipher = WPA_CIPHER_WEP104;
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using GTK WEP104");
++ } else if (sel & WPA_CIPHER_WEP40) {
++ wpa_s->group_cipher = WPA_CIPHER_WEP40;
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using GTK WEP40");
++ } else {
++ wpa_msg(wpa_s, MSG_WARNING, "WPA: Failed to select group "
++ "cipher");
++ return -1;
++ }
++
++ sel = ie.pairwise_cipher & ssid->pairwise_cipher;
++ if (sel & WPA_CIPHER_CCMP) {
++ wpa_s->pairwise_cipher = WPA_CIPHER_CCMP;
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using PTK CCMP");
++ } else if (sel & WPA_CIPHER_GCMP) {
++ wpa_s->pairwise_cipher = WPA_CIPHER_GCMP;
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using PTK GCMP");
++ } else if (sel & WPA_CIPHER_TKIP) {
++ wpa_s->pairwise_cipher = WPA_CIPHER_TKIP;
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using PTK TKIP");
++ } else if (sel & WPA_CIPHER_NONE) {
++ wpa_s->pairwise_cipher = WPA_CIPHER_NONE;
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using PTK NONE");
++ } else {
++ wpa_msg(wpa_s, MSG_WARNING, "WPA: Failed to select pairwise "
++ "cipher");
++ return -1;
++ }
++
++ sel = ie.key_mgmt & ssid->key_mgmt;
++#ifdef CONFIG_SAE
++ if (!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_SAE))
++ sel &= ~(WPA_KEY_MGMT_SAE | WPA_KEY_MGMT_FT_SAE);
++#endif /* CONFIG_SAE */
++ if (0) {
++#ifdef CONFIG_IEEE80211R
++ } else if (sel & WPA_KEY_MGMT_FT_IEEE8021X) {
++ wpa_s->key_mgmt = WPA_KEY_MGMT_FT_IEEE8021X;
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using KEY_MGMT FT/802.1X");
++ } else if (sel & WPA_KEY_MGMT_FT_PSK) {
++ wpa_s->key_mgmt = WPA_KEY_MGMT_FT_PSK;
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using KEY_MGMT FT/PSK");
++#endif /* CONFIG_IEEE80211R */
++#ifdef CONFIG_SAE
++ } else if (sel & WPA_KEY_MGMT_SAE) {
++ wpa_s->key_mgmt = WPA_KEY_MGMT_SAE;
++ wpa_dbg(wpa_s, MSG_DEBUG, "RSN: using KEY_MGMT SAE");
++ } else if (sel & WPA_KEY_MGMT_FT_SAE) {
++ wpa_s->key_mgmt = WPA_KEY_MGMT_FT_SAE;
++ wpa_dbg(wpa_s, MSG_DEBUG, "RSN: using KEY_MGMT FT/SAE");
++#endif /* CONFIG_SAE */
++#ifdef CONFIG_IEEE80211W
++ } else if (sel & WPA_KEY_MGMT_IEEE8021X_SHA256) {
++ wpa_s->key_mgmt = WPA_KEY_MGMT_IEEE8021X_SHA256;
++ wpa_dbg(wpa_s, MSG_DEBUG,
++ "WPA: using KEY_MGMT 802.1X with SHA256");
++ } else if (sel & WPA_KEY_MGMT_PSK_SHA256) {
++ wpa_s->key_mgmt = WPA_KEY_MGMT_PSK_SHA256;
++ wpa_dbg(wpa_s, MSG_DEBUG,
++ "WPA: using KEY_MGMT PSK with SHA256");
++#endif /* CONFIG_IEEE80211W */
++ } else if (sel & WPA_KEY_MGMT_IEEE8021X) {
++ wpa_s->key_mgmt = WPA_KEY_MGMT_IEEE8021X;
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using KEY_MGMT 802.1X");
++ } else if (sel & WPA_KEY_MGMT_PSK) {
++ wpa_s->key_mgmt = WPA_KEY_MGMT_PSK;
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using KEY_MGMT WPA-PSK");
++ } else if (sel & WPA_KEY_MGMT_WPA_NONE) {
++ wpa_s->key_mgmt = WPA_KEY_MGMT_WPA_NONE;
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using KEY_MGMT WPA-NONE");
++ } else {
++ wpa_msg(wpa_s, MSG_WARNING, "WPA: Failed to select "
++ "authenticated key management type");
++ return -1;
++ }
++
++ wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_KEY_MGMT, wpa_s->key_mgmt);
++ wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_PAIRWISE,
++ wpa_s->pairwise_cipher);
++ wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_GROUP, wpa_s->group_cipher);
++
++#ifdef CONFIG_IEEE80211W
++ sel = ie.mgmt_group_cipher;
++ if ((ssid->ieee80211w == MGMT_FRAME_PROTECTION_DEFAULT ?
++ wpa_s->conf->pmf : ssid->ieee80211w) == NO_MGMT_FRAME_PROTECTION ||
++ !(ie.capabilities & WPA_CAPABILITY_MFPC))
++ sel = 0;
++ if (sel & WPA_CIPHER_AES_128_CMAC) {
++ wpa_s->mgmt_group_cipher = WPA_CIPHER_AES_128_CMAC;
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: using MGMT group cipher "
++ "AES-128-CMAC");
++ } else {
++ wpa_s->mgmt_group_cipher = 0;
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: not using MGMT group cipher");
++ }
++ wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_MGMT_GROUP,
++ wpa_s->mgmt_group_cipher);
++ wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_MFP,
++ (ssid->ieee80211w == MGMT_FRAME_PROTECTION_DEFAULT ?
++ wpa_s->conf->pmf : ssid->ieee80211w));
++#endif /* CONFIG_IEEE80211W */
++
++ if (wpa_sm_set_assoc_wpa_ie_default(wpa_s->wpa, wpa_ie, wpa_ie_len)) {
++ wpa_msg(wpa_s, MSG_WARNING, "WPA: Failed to generate WPA IE");
++ return -1;
++ }
++
++ if (wpa_key_mgmt_wpa_psk(ssid->key_mgmt)) {
++ wpa_sm_set_pmk(wpa_s->wpa, ssid->psk, PMK_LEN);
++#ifndef CONFIG_NO_PBKDF2
++ if (bss && ssid->bssid_set && ssid->ssid_len == 0 &&
++ ssid->passphrase) {
++ u8 psk[PMK_LEN];
++ pbkdf2_sha1(ssid->passphrase, bss->ssid, bss->ssid_len,
++ 4096, psk, PMK_LEN);
++ wpa_hexdump_key(MSG_MSGDUMP, "PSK (from passphrase)",
++ psk, PMK_LEN);
++ wpa_sm_set_pmk(wpa_s->wpa, psk, PMK_LEN);
++ }
++#endif /* CONFIG_NO_PBKDF2 */
++#ifdef CONFIG_EXT_PASSWORD
++ if (ssid->ext_psk) {
++ struct wpabuf *pw = ext_password_get(wpa_s->ext_pw,
++ ssid->ext_psk);
++ char pw_str[64 + 1];
++ u8 psk[PMK_LEN];
++
++ if (pw == NULL) {
++ wpa_msg(wpa_s, MSG_INFO, "EXT PW: No PSK "
++ "found from external storage");
++ return -1;
++ }
++
++ if (wpabuf_len(pw) < 8 || wpabuf_len(pw) > 64) {
++ wpa_msg(wpa_s, MSG_INFO, "EXT PW: Unexpected "
++ "PSK length %d in external storage",
++ (int) wpabuf_len(pw));
++ ext_password_free(pw);
++ return -1;
++ }
++
++ os_memcpy(pw_str, wpabuf_head(pw), wpabuf_len(pw));
++ pw_str[wpabuf_len(pw)] = '\0';
++
++#ifndef CONFIG_NO_PBKDF2
++ if (wpabuf_len(pw) >= 8 && wpabuf_len(pw) < 64 && bss)
++ {
++ pbkdf2_sha1(pw_str, bss->ssid, bss->ssid_len,
++ 4096, psk, PMK_LEN);
++ os_memset(pw_str, 0, sizeof(pw_str));
++ wpa_hexdump_key(MSG_MSGDUMP, "PSK (from "
++ "external passphrase)",
++ psk, PMK_LEN);
++ wpa_sm_set_pmk(wpa_s->wpa, psk, PMK_LEN);
++ } else
++#endif /* CONFIG_NO_PBKDF2 */
++ if (wpabuf_len(pw) == 2 * PMK_LEN) {
++ if (hexstr2bin(pw_str, psk, PMK_LEN) < 0) {
++ wpa_msg(wpa_s, MSG_INFO, "EXT PW: "
++ "Invalid PSK hex string");
++ os_memset(pw_str, 0, sizeof(pw_str));
++ ext_password_free(pw);
++ return -1;
++ }
++ wpa_sm_set_pmk(wpa_s->wpa, psk, PMK_LEN);
++ } else {
++ wpa_msg(wpa_s, MSG_INFO, "EXT PW: No suitable "
++ "PSK available");
++ os_memset(pw_str, 0, sizeof(pw_str));
++ ext_password_free(pw);
++ return -1;
++ }
++
++ os_memset(pw_str, 0, sizeof(pw_str));
++ ext_password_free(pw);
++ }
++#endif /* CONFIG_EXT_PASSWORD */
++ } else
++ wpa_sm_set_pmk_from_pmksa(wpa_s->wpa);
++
++ return 0;
++}
++
++
++int wpas_build_ext_capab(struct wpa_supplicant *wpa_s, u8 *buf)
++{
++ u32 ext_capab = 0;
++ u8 *pos = buf;
++
++#ifdef CONFIG_INTERWORKING
++ if (wpa_s->conf->interworking)
++ ext_capab |= BIT(31); /* Interworking */
++#endif /* CONFIG_INTERWORKING */
++
++#ifdef CONFIG_WNM
++ ext_capab |= BIT(17); /* WNM-Sleep Mode */
++ ext_capab |= BIT(19); /* BSS Transition */
++#endif /* CONFIG_WNM */
++
++ if (!ext_capab)
++ return 0;
++
++ *pos++ = WLAN_EID_EXT_CAPAB;
++ *pos++ = 4;
++ WPA_PUT_LE32(pos, ext_capab);
++ pos += 4;
++
++ return pos - buf;
++}
++
++
++/**
++ * wpa_supplicant_associate - Request association
++ * @wpa_s: Pointer to wpa_supplicant data
++ * @bss: Scan results for the selected BSS, or %NULL if not available
++ * @ssid: Configuration data for the selected network
++ *
++ * This function is used to request %wpa_supplicant to associate with a BSS.
++ */
++void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,
++ struct wpa_bss *bss, struct wpa_ssid *ssid)
++{
++ u8 wpa_ie[200];
++ size_t wpa_ie_len;
++ int use_crypt, ret, i, bssid_changed;
++ int algs = WPA_AUTH_ALG_OPEN;
++ enum wpa_cipher cipher_pairwise, cipher_group;
++ struct wpa_driver_associate_params params;
++ int wep_keys_set = 0;
++ struct wpa_driver_capa capa;
++ int assoc_failed = 0;
++ struct wpa_ssid *old_ssid;
++ u8 ext_capab[10];
++ int ext_capab_len;
++#ifdef CONFIG_HT_OVERRIDES
++ struct ieee80211_ht_capabilities htcaps;
++ struct ieee80211_ht_capabilities htcaps_mask;
++#endif /* CONFIG_HT_OVERRIDES */
++
++#ifdef CONFIG_IBSS_RSN
++ ibss_rsn_deinit(wpa_s->ibss_rsn);
++ wpa_s->ibss_rsn = NULL;
++#endif /* CONFIG_IBSS_RSN */
++
++ if (ssid->mode == WPAS_MODE_AP || ssid->mode == WPAS_MODE_P2P_GO ||
++ ssid->mode == WPAS_MODE_P2P_GROUP_FORMATION) {
++#ifdef CONFIG_AP
++ if (!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_AP)) {
++ wpa_msg(wpa_s, MSG_INFO, "Driver does not support AP "
++ "mode");
++ return;
++ }
++ if (wpa_supplicant_create_ap(wpa_s, ssid) < 0) {
++ wpa_supplicant_set_state(wpa_s, WPA_DISCONNECTED);
++ return;
++ }
++ wpa_s->current_bss = bss;
++#else /* CONFIG_AP */
++ wpa_msg(wpa_s, MSG_ERROR, "AP mode support not included in "
++ "the build");
++#endif /* CONFIG_AP */
++ return;
++ }
++
++#ifdef CONFIG_TDLS
++ if (bss)
++ wpa_tdls_ap_ies(wpa_s->wpa, (const u8 *) (bss + 1),
++ bss->ie_len);
++#endif /* CONFIG_TDLS */
++
++ if ((wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME) &&
++ ssid->mode == IEEE80211_MODE_INFRA) {
++ sme_authenticate(wpa_s, bss, ssid);
++ return;
++ }
++
++ os_memset(&params, 0, sizeof(params));
++ wpa_s->reassociate = 0;
++ if (bss && !wpas_driver_bss_selection(wpa_s)) {
++#ifdef CONFIG_IEEE80211R
++ const u8 *ie, *md = NULL;
++#endif /* CONFIG_IEEE80211R */
++ wpa_msg(wpa_s, MSG_INFO, "Trying to associate with " MACSTR
++ " (SSID='%s' freq=%d MHz)", MAC2STR(bss->bssid),
++ wpa_ssid_txt(bss->ssid, bss->ssid_len), bss->freq);
++ bssid_changed = !is_zero_ether_addr(wpa_s->bssid);
++ os_memset(wpa_s->bssid, 0, ETH_ALEN);
++ os_memcpy(wpa_s->pending_bssid, bss->bssid, ETH_ALEN);
++ if (bssid_changed)
++ wpas_notify_bssid_changed(wpa_s);
++#ifdef CONFIG_IEEE80211R
++ ie = wpa_bss_get_ie(bss, WLAN_EID_MOBILITY_DOMAIN);
++ if (ie && ie[1] >= MOBILITY_DOMAIN_ID_LEN)
++ md = ie + 2;
++ wpa_sm_set_ft_params(wpa_s->wpa, ie, ie ? 2 + ie[1] : 0);
++ if (md) {
++ /* Prepare for the next transition */
++ wpa_ft_prepare_auth_request(wpa_s->wpa, ie);
++ }
++#endif /* CONFIG_IEEE80211R */
++#ifdef CONFIG_WPS
++ } else if ((ssid->ssid == NULL || ssid->ssid_len == 0) &&
++ wpa_s->conf->ap_scan == 2 &&
++ (ssid->key_mgmt & WPA_KEY_MGMT_WPS)) {
++ /* Use ap_scan==1 style network selection to find the network
++ */
++ wpa_s->scan_req = MANUAL_SCAN_REQ;
++ wpa_s->reassociate = 1;
++ wpa_supplicant_req_scan(wpa_s, 0, 0);
++ return;
++#endif /* CONFIG_WPS */
++ } else {
++ wpa_msg(wpa_s, MSG_INFO, "Trying to associate with SSID '%s'",
++ wpa_ssid_txt(ssid->ssid, ssid->ssid_len));
++ os_memset(wpa_s->pending_bssid, 0, ETH_ALEN);
++ }
++ wpa_supplicant_cancel_sched_scan(wpa_s);
++ wpa_supplicant_cancel_scan(wpa_s);
++
++ /* Starting new association, so clear the possibly used WPA IE from the
++ * previous association. */
++ wpa_sm_set_assoc_wpa_ie(wpa_s->wpa, NULL, 0);
++
++#ifdef IEEE8021X_EAPOL
++ if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA) {
++ if (ssid->leap) {
++ if (ssid->non_leap == 0)
++ algs = WPA_AUTH_ALG_LEAP;
++ else
++ algs |= WPA_AUTH_ALG_LEAP;
++ }
++ }
++#endif /* IEEE8021X_EAPOL */
++ wpa_dbg(wpa_s, MSG_DEBUG, "Automatic auth_alg selection: 0x%x", algs);
++ if (ssid->auth_alg) {
++ algs = ssid->auth_alg;
++ wpa_dbg(wpa_s, MSG_DEBUG, "Overriding auth_alg selection: "
++ "0x%x", algs);
++ }
++
++ if (bss && (wpa_bss_get_vendor_ie(bss, WPA_IE_VENDOR_TYPE) ||
++ wpa_bss_get_ie(bss, WLAN_EID_RSN)) &&
++ wpa_key_mgmt_wpa(ssid->key_mgmt)) {
++ int try_opportunistic;
++ try_opportunistic = (ssid->proactive_key_caching < 0 ?
++ wpa_s->conf->okc :
++ ssid->proactive_key_caching) &&
++ (ssid->proto & WPA_PROTO_RSN);
++ if (pmksa_cache_set_current(wpa_s->wpa, NULL, bss->bssid,
++ wpa_s->current_ssid,
++ try_opportunistic) == 0)
++ eapol_sm_notify_pmkid_attempt(wpa_s->eapol, 1);
++ wpa_ie_len = sizeof(wpa_ie);
++ if (wpa_supplicant_set_suites(wpa_s, bss, ssid,
++ wpa_ie, &wpa_ie_len)) {
++ wpa_msg(wpa_s, MSG_WARNING, "WPA: Failed to set WPA "
++ "key management and encryption suites");
++ return;
++ }
++ } else if ((ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA) && bss &&
++ wpa_key_mgmt_wpa_ieee8021x(ssid->key_mgmt)) {
++ /*
++ * Both WPA and non-WPA IEEE 802.1X enabled in configuration -
++ * use non-WPA since the scan results did not indicate that the
++ * AP is using WPA or WPA2.
++ */
++ wpa_supplicant_set_non_wpa_policy(wpa_s, ssid);
++ wpa_ie_len = 0;
++ wpa_s->wpa_proto = 0;
++ } else if (wpa_key_mgmt_wpa_any(ssid->key_mgmt)) {
++ wpa_ie_len = sizeof(wpa_ie);
++ if (wpa_supplicant_set_suites(wpa_s, NULL, ssid,
++ wpa_ie, &wpa_ie_len)) {
++ wpa_msg(wpa_s, MSG_WARNING, "WPA: Failed to set WPA "
++ "key management and encryption suites (no "
++ "scan results)");
++ return;
++ }
++#ifdef CONFIG_WPS
++ } else if (ssid->key_mgmt & WPA_KEY_MGMT_WPS) {
++ struct wpabuf *wps_ie;
++ wps_ie = wps_build_assoc_req_ie(wpas_wps_get_req_type(ssid));
++ if (wps_ie && wpabuf_len(wps_ie) <= sizeof(wpa_ie)) {
++ wpa_ie_len = wpabuf_len(wps_ie);
++ os_memcpy(wpa_ie, wpabuf_head(wps_ie), wpa_ie_len);
++ } else
++ wpa_ie_len = 0;
++ wpabuf_free(wps_ie);
++ wpa_supplicant_set_non_wpa_policy(wpa_s, ssid);
++ if (!bss || (bss->caps & IEEE80211_CAP_PRIVACY))
++ params.wps = WPS_MODE_PRIVACY;
++ else
++ params.wps = WPS_MODE_OPEN;
++ wpa_s->wpa_proto = 0;
++#endif /* CONFIG_WPS */
++ } else {
++ wpa_supplicant_set_non_wpa_policy(wpa_s, ssid);
++ wpa_ie_len = 0;
++ wpa_s->wpa_proto = 0;
++ }
++
++#ifdef CONFIG_P2P
++ if (wpa_s->global->p2p) {
++ u8 *pos;
++ size_t len;
++ int res;
++ pos = wpa_ie + wpa_ie_len;
++ len = sizeof(wpa_ie) - wpa_ie_len;
++ res = wpas_p2p_assoc_req_ie(wpa_s, bss, pos, len,
++ ssid->p2p_group);
++ if (res >= 0)
++ wpa_ie_len += res;
++ }
++
++ wpa_s->cross_connect_disallowed = 0;
++ if (bss) {
++ struct wpabuf *p2p;
++ p2p = wpa_bss_get_vendor_ie_multi(bss, P2P_IE_VENDOR_TYPE);
++ if (p2p) {
++ wpa_s->cross_connect_disallowed =
++ p2p_get_cross_connect_disallowed(p2p);
++ wpabuf_free(p2p);
++ wpa_dbg(wpa_s, MSG_DEBUG, "P2P: WLAN AP %s cross "
++ "connection",
++ wpa_s->cross_connect_disallowed ?
++ "disallows" : "allows");
++ }
++ }
++#endif /* CONFIG_P2P */
++
++#ifdef CONFIG_HS20
++ if (wpa_s->conf->hs20) {
++ struct wpabuf *hs20;
++ hs20 = wpabuf_alloc(20);
++ if (hs20) {
++ wpas_hs20_add_indication(hs20);
++ os_memcpy(wpa_ie + wpa_ie_len, wpabuf_head(hs20),
++ wpabuf_len(hs20));
++ wpa_ie_len += wpabuf_len(hs20);
++ wpabuf_free(hs20);
++ }
++ }
++#endif /* CONFIG_HS20 */
++
++ ext_capab_len = wpas_build_ext_capab(wpa_s, ext_capab);
++ if (ext_capab_len > 0) {
++ u8 *pos = wpa_ie;
++ if (wpa_ie_len > 0 && pos[0] == WLAN_EID_RSN)
++ pos += 2 + pos[1];
++ os_memmove(pos + ext_capab_len, pos,
++ wpa_ie_len - (pos - wpa_ie));
++ wpa_ie_len += ext_capab_len;
++ os_memcpy(pos, ext_capab, ext_capab_len);
++ }
++
++ wpa_clear_keys(wpa_s, bss ? bss->bssid : NULL);
++ use_crypt = 1;
++ cipher_pairwise = cipher_suite2driver(wpa_s->pairwise_cipher);
++ cipher_group = cipher_suite2driver(wpa_s->group_cipher);
++ if (wpa_s->key_mgmt == WPA_KEY_MGMT_NONE ||
++ wpa_s->key_mgmt == WPA_KEY_MGMT_IEEE8021X_NO_WPA) {
++ if (wpa_s->key_mgmt == WPA_KEY_MGMT_NONE)
++ use_crypt = 0;
++ if (wpa_set_wep_keys(wpa_s, ssid)) {
++ use_crypt = 1;
++ wep_keys_set = 1;
++ }
++ }
++ if (wpa_s->key_mgmt == WPA_KEY_MGMT_WPS)
++ use_crypt = 0;
++
++#ifdef IEEE8021X_EAPOL
++ if (wpa_s->key_mgmt == WPA_KEY_MGMT_IEEE8021X_NO_WPA) {
++ if ((ssid->eapol_flags &
++ (EAPOL_FLAG_REQUIRE_KEY_UNICAST |
++ EAPOL_FLAG_REQUIRE_KEY_BROADCAST)) == 0 &&
++ !wep_keys_set) {
++ use_crypt = 0;
++ } else {
++ /* Assume that dynamic WEP-104 keys will be used and
++ * set cipher suites in order for drivers to expect
++ * encryption. */
++ cipher_pairwise = cipher_group = CIPHER_WEP104;
++ }
++ }
++#endif /* IEEE8021X_EAPOL */
++
++ if (wpa_s->key_mgmt == WPA_KEY_MGMT_WPA_NONE) {
++ /* Set the key before (and later after) association */
++ wpa_supplicant_set_wpa_none_key(wpa_s, ssid);
++ }
++
++ wpa_supplicant_set_state(wpa_s, WPA_ASSOCIATING);
++ if (bss) {
++ params.ssid = bss->ssid;
++ params.ssid_len = bss->ssid_len;
++ if (!wpas_driver_bss_selection(wpa_s) || ssid->bssid_set) {
++ wpa_printf(MSG_DEBUG, "Limit connection to BSSID "
++ MACSTR " freq=%u MHz based on scan results "
++ "(bssid_set=%d)",
++ MAC2STR(bss->bssid), bss->freq,
++ ssid->bssid_set);
++ params.bssid = bss->bssid;
++ params.freq = bss->freq;
++ }
++ } else {
++ params.ssid = ssid->ssid;
++ params.ssid_len = ssid->ssid_len;
++ }
++
++ if (ssid->mode == WPAS_MODE_IBSS && ssid->bssid_set &&
++ wpa_s->conf->ap_scan == 2) {
++ params.bssid = ssid->bssid;
++ params.fixed_bssid = 1;
++ }
++
++ if (ssid->mode == WPAS_MODE_IBSS && ssid->frequency > 0 &&
++ params.freq == 0)
++ params.freq = ssid->frequency; /* Initial channel for IBSS */
++ params.wpa_ie = wpa_ie;
++ params.wpa_ie_len = wpa_ie_len;
++ params.pairwise_suite = cipher_pairwise;
++ params.group_suite = cipher_group;
++ params.key_mgmt_suite = key_mgmt2driver(wpa_s->key_mgmt);
++ params.wpa_proto = wpa_s->wpa_proto;
++ params.auth_alg = algs;
++ params.mode = ssid->mode;
++ params.bg_scan_period = ssid->bg_scan_period;
++ for (i = 0; i < NUM_WEP_KEYS; i++) {
++ if (ssid->wep_key_len[i])
++ params.wep_key[i] = ssid->wep_key[i];
++ params.wep_key_len[i] = ssid->wep_key_len[i];
++ }
++ params.wep_tx_keyidx = ssid->wep_tx_keyidx;
++
++ if ((wpa_s->drv_flags & WPA_DRIVER_FLAGS_4WAY_HANDSHAKE) &&
++ (params.key_mgmt_suite == KEY_MGMT_PSK ||
++ params.key_mgmt_suite == KEY_MGMT_FT_PSK)) {
++ params.passphrase = ssid->passphrase;
++ if (ssid->psk_set)
++ params.psk = ssid->psk;
++ }
++
++ params.drop_unencrypted = use_crypt;
++
++#ifdef CONFIG_IEEE80211W
++ params.mgmt_frame_protection =
++ ssid->ieee80211w == MGMT_FRAME_PROTECTION_DEFAULT ?
++ wpa_s->conf->pmf : ssid->ieee80211w;
++ if (params.mgmt_frame_protection != NO_MGMT_FRAME_PROTECTION && bss) {
++ const u8 *rsn = wpa_bss_get_ie(bss, WLAN_EID_RSN);
++ struct wpa_ie_data ie;
++ if (rsn && wpa_parse_wpa_ie(rsn, 2 + rsn[1], &ie) == 0 &&
++ ie.capabilities &
++ (WPA_CAPABILITY_MFPC | WPA_CAPABILITY_MFPR)) {
++ wpa_dbg(wpa_s, MSG_DEBUG, "WPA: Selected AP supports "
++ "MFP: require MFP");
++ params.mgmt_frame_protection =
++ MGMT_FRAME_PROTECTION_REQUIRED;
++ }
++ }
++#endif /* CONFIG_IEEE80211W */
++
++ params.p2p = ssid->p2p_group;
++
++ if (wpa_s->parent->set_sta_uapsd)
++ params.uapsd = wpa_s->parent->sta_uapsd;
++ else
++ params.uapsd = -1;
++
++#ifdef CONFIG_HT_OVERRIDES
++ os_memset(&htcaps, 0, sizeof(htcaps));
++ os_memset(&htcaps_mask, 0, sizeof(htcaps_mask));
++ params.htcaps = (u8 *) &htcaps;
++ params.htcaps_mask = (u8 *) &htcaps_mask;
++ wpa_supplicant_apply_ht_overrides(wpa_s, ssid, &params);
++#endif /* CONFIG_HT_OVERRIDES */
++
++ ret = wpa_drv_associate(wpa_s, &params);
++ if (ret < 0) {
++ wpa_msg(wpa_s, MSG_INFO, "Association request to the driver "
++ "failed");
++ if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_SANE_ERROR_CODES) {
++ /*
++ * The driver is known to mean what is saying, so we
++ * can stop right here; the association will not
++ * succeed.
++ */
++ wpas_connection_failed(wpa_s, wpa_s->pending_bssid);
++ wpa_supplicant_set_state(wpa_s, WPA_DISCONNECTED);
++ os_memset(wpa_s->pending_bssid, 0, ETH_ALEN);
++ return;
++ }
++ /* try to continue anyway; new association will be tried again
++ * after timeout */
++ assoc_failed = 1;
++ }
++
++ if (wpa_s->key_mgmt == WPA_KEY_MGMT_WPA_NONE) {
++ /* Set the key after the association just in case association
++ * cleared the previously configured key. */
++ wpa_supplicant_set_wpa_none_key(wpa_s, ssid);
++ /* No need to timeout authentication since there is no key
++ * management. */
++ wpa_supplicant_cancel_auth_timeout(wpa_s);
++ wpa_supplicant_set_state(wpa_s, WPA_COMPLETED);
++#ifdef CONFIG_IBSS_RSN
++ } else if (ssid->mode == WPAS_MODE_IBSS &&
++ wpa_s->key_mgmt != WPA_KEY_MGMT_NONE &&
++ wpa_s->key_mgmt != WPA_KEY_MGMT_WPA_NONE) {
++ /*
++ * RSN IBSS authentication is per-STA and we can disable the
++ * per-BSSID authentication.
++ */
++ wpa_supplicant_cancel_auth_timeout(wpa_s);
++#endif /* CONFIG_IBSS_RSN */
++ } else {
++ /* Timeout for IEEE 802.11 authentication and association */
++ int timeout = 60;
++
++ if (assoc_failed) {
++ /* give IBSS a bit more time */
++ timeout = ssid->mode == WPAS_MODE_IBSS ? 10 : 5;
++ } else if (wpa_s->conf->ap_scan == 1) {
++ /* give IBSS a bit more time */
++ timeout = ssid->mode == WPAS_MODE_IBSS ? 20 : 10;
++ }
++ wpa_supplicant_req_auth_timeout(wpa_s, timeout, 0);
++ }
++
++ if (wep_keys_set && wpa_drv_get_capa(wpa_s, &capa) == 0 &&
++ capa.flags & WPA_DRIVER_FLAGS_SET_KEYS_AFTER_ASSOC) {
++ /* Set static WEP keys again */
++ wpa_set_wep_keys(wpa_s, ssid);
++ }
++
++ if (wpa_s->current_ssid && wpa_s->current_ssid != ssid) {
++ /*
++ * Do not allow EAP session resumption between different
++ * network configurations.
++ */
++ eapol_sm_invalidate_cached_session(wpa_s->eapol);
++ }
++ old_ssid = wpa_s->current_ssid;
++ wpa_s->current_ssid = ssid;
++ wpa_s->current_bss = bss;
++ wpa_supplicant_rsn_supp_set_config(wpa_s, wpa_s->current_ssid);
++ wpa_supplicant_initiate_eapol(wpa_s);
++ if (old_ssid != wpa_s->current_ssid)
++ wpas_notify_network_changed(wpa_s);
++}
++
++
++static void wpa_supplicant_clear_connection(struct wpa_supplicant *wpa_s,
++ const u8 *addr)
++{
++ struct wpa_ssid *old_ssid;
++
++ wpa_clear_keys(wpa_s, addr);
++ old_ssid = wpa_s->current_ssid;
++ wpa_supplicant_mark_disassoc(wpa_s);
++ wpa_sm_set_config(wpa_s->wpa, NULL);
++ eapol_sm_notify_config(wpa_s->eapol, NULL, NULL);
++ if (old_ssid != wpa_s->current_ssid)
++ wpas_notify_network_changed(wpa_s);
++ eloop_cancel_timeout(wpa_supplicant_timeout, wpa_s, NULL);
++}
++
++
++/**
++ * wpa_supplicant_deauthenticate - Deauthenticate the current connection
++ * @wpa_s: Pointer to wpa_supplicant data
++ * @reason_code: IEEE 802.11 reason code for the deauthenticate frame
++ *
++ * This function is used to request %wpa_supplicant to deauthenticate from the
++ * current AP.
++ */
++void wpa_supplicant_deauthenticate(struct wpa_supplicant *wpa_s,
++ int reason_code)
++{
++ u8 *addr = NULL;
++ union wpa_event_data event;
++ int zero_addr = 0;
++
++ wpa_dbg(wpa_s, MSG_DEBUG, "Request to deauthenticate - bssid=" MACSTR
++ " pending_bssid=" MACSTR " reason=%d state=%s",
++ MAC2STR(wpa_s->bssid), MAC2STR(wpa_s->pending_bssid),
++ reason_code, wpa_supplicant_state_txt(wpa_s->wpa_state));
++
++ if (!is_zero_ether_addr(wpa_s->bssid))
++ addr = wpa_s->bssid;
++ else if (!is_zero_ether_addr(wpa_s->pending_bssid) &&
++ (wpa_s->wpa_state == WPA_AUTHENTICATING ||
++ wpa_s->wpa_state == WPA_ASSOCIATING))
++ addr = wpa_s->pending_bssid;
++ else if (wpa_s->wpa_state == WPA_ASSOCIATING) {
++ /*
++ * When using driver-based BSS selection, we may not know the
++ * BSSID with which we are currently trying to associate. We
++ * need to notify the driver of this disconnection even in such
++ * a case, so use the all zeros address here.
++ */
++ addr = wpa_s->bssid;
++ zero_addr = 1;
++ }
++
++ if (addr) {
++ wpa_drv_deauthenticate(wpa_s, addr, reason_code);
++ os_memset(&event, 0, sizeof(event));
++ event.deauth_info.reason_code = (u16) reason_code;
++ event.deauth_info.locally_generated = 1;
++ wpa_supplicant_event(wpa_s, EVENT_DEAUTH, &event);
++ if (zero_addr)
++ addr = NULL;
++ }
++
++ wpa_supplicant_clear_connection(wpa_s, addr);
++}
++
++
++/**
++ * wpa_supplicant_enable_network - Mark a configured network as enabled
++ * @wpa_s: wpa_supplicant structure for a network interface
++ * @ssid: wpa_ssid structure for a configured network or %NULL
++ *
++ * Enables the specified network or all networks if no network specified.
++ */
++void wpa_supplicant_enable_network(struct wpa_supplicant *wpa_s,
++ struct wpa_ssid *ssid)
++{
++ struct wpa_ssid *other_ssid;
++ int was_disabled;
++
++ if (ssid == NULL) {
++ for (other_ssid = wpa_s->conf->ssid; other_ssid;
++ other_ssid = other_ssid->next) {
++ if (other_ssid->disabled == 2)
++ continue; /* do not change persistent P2P group
++ * data */
++ if (other_ssid == wpa_s->current_ssid &&
++ other_ssid->disabled)
++ wpa_s->reassociate = 1;
++
++ was_disabled = other_ssid->disabled;
++
++ other_ssid->disabled = 0;
++ if (was_disabled)
++ wpas_clear_temp_disabled(wpa_s, other_ssid, 0);
++
++ if (was_disabled != other_ssid->disabled)
++ wpas_notify_network_enabled_changed(
++ wpa_s, other_ssid);
++ }
++ if (wpa_s->reassociate)
++ wpa_supplicant_req_scan(wpa_s, 0, 0);
++ } else if (ssid->disabled && ssid->disabled != 2) {
++ if (wpa_s->current_ssid == NULL) {
++ /*
++ * Try to reassociate since there is no current
++ * configuration and a new network was made available.
++ */
++ wpa_s->reassociate = 1;
++ wpa_supplicant_req_scan(wpa_s, 0, 0);
++ }
++
++ was_disabled = ssid->disabled;
++
++ ssid->disabled = 0;
++ wpas_clear_temp_disabled(wpa_s, ssid, 1);
++
++ if (was_disabled != ssid->disabled)
++ wpas_notify_network_enabled_changed(wpa_s, ssid);
++ }
++}
++
++
++/**
++ * wpa_supplicant_disable_network - Mark a configured network as disabled
++ * @wpa_s: wpa_supplicant structure for a network interface
++ * @ssid: wpa_ssid structure for a configured network or %NULL
++ *
++ * Disables the specified network or all networks if no network specified.
++ */
++void wpa_supplicant_disable_network(struct wpa_supplicant *wpa_s,
++ struct wpa_ssid *ssid)
++{
++ struct wpa_ssid *other_ssid;
++ int was_disabled;
++
++ if (ssid == NULL) {
++ for (other_ssid = wpa_s->conf->ssid; other_ssid;
++ other_ssid = other_ssid->next) {
++ was_disabled = other_ssid->disabled;
++ if (was_disabled == 2)
++ continue; /* do not change persistent P2P group
++ * data */
++
++ other_ssid->disabled = 1;
++
++ if (was_disabled != other_ssid->disabled)
++ wpas_notify_network_enabled_changed(
++ wpa_s, other_ssid);
++ }
++ if (wpa_s->current_ssid)
++ wpa_supplicant_deauthenticate(
++ wpa_s, WLAN_REASON_DEAUTH_LEAVING);
++ } else if (ssid->disabled != 2) {
++ if (ssid == wpa_s->current_ssid)
++ wpa_supplicant_deauthenticate(
++ wpa_s, WLAN_REASON_DEAUTH_LEAVING);
++
++ was_disabled = ssid->disabled;
++
++ ssid->disabled = 1;
++
++ if (was_disabled != ssid->disabled)
++ wpas_notify_network_enabled_changed(wpa_s, ssid);
++ }
++}
++
++
++/**
++ * wpa_supplicant_select_network - Attempt association with a network
++ * @wpa_s: wpa_supplicant structure for a network interface
++ * @ssid: wpa_ssid structure for a configured network or %NULL for any network
++ */
++void wpa_supplicant_select_network(struct wpa_supplicant *wpa_s,
++ struct wpa_ssid *ssid)
++{
++
++ struct wpa_ssid *other_ssid;
++ int disconnected = 0;
++
++ if (ssid && ssid != wpa_s->current_ssid && wpa_s->current_ssid) {
++ wpa_supplicant_deauthenticate(
++ wpa_s, WLAN_REASON_DEAUTH_LEAVING);
++ disconnected = 1;
++ }
++
++ if (ssid)
++ wpas_clear_temp_disabled(wpa_s, ssid, 1);
++
++ /*
++ * Mark all other networks disabled or mark all networks enabled if no
++ * network specified.
++ */
++ for (other_ssid = wpa_s->conf->ssid; other_ssid;
++ other_ssid = other_ssid->next) {
++ int was_disabled = other_ssid->disabled;
++ if (was_disabled == 2)
++ continue; /* do not change persistent P2P group data */
++
++ other_ssid->disabled = ssid ? (ssid->id != other_ssid->id) : 0;
++ if (was_disabled && !other_ssid->disabled)
++ wpas_clear_temp_disabled(wpa_s, other_ssid, 0);
++
++ if (was_disabled != other_ssid->disabled)
++ wpas_notify_network_enabled_changed(wpa_s, other_ssid);
++ }
++
++ if (ssid && ssid == wpa_s->current_ssid && wpa_s->current_ssid) {
++ /* We are already associated with the selected network */
++ wpa_printf(MSG_DEBUG, "Already associated with the "
++ "selected network - do nothing");
++ return;
++ }
++
++ if (ssid)
++ wpa_s->current_ssid = ssid;
++ wpa_s->connect_without_scan = NULL;
++ wpa_s->disconnected = 0;
++ wpa_s->reassociate = 1;
++ wpa_supplicant_req_scan(wpa_s, 0, disconnected ? 100000 : 0);
++
++ if (ssid)
++ wpas_notify_network_selected(wpa_s, ssid);
++}
++
++
++/**
++ * wpa_supplicant_set_ap_scan - Set AP scan mode for interface
++ * @wpa_s: wpa_supplicant structure for a network interface
++ * @ap_scan: AP scan mode
++ * Returns: 0 if succeed or -1 if ap_scan has an invalid value
++ *
++ */
++int wpa_supplicant_set_ap_scan(struct wpa_supplicant *wpa_s, int ap_scan)
++{
++
++ int old_ap_scan;
++
++ if (ap_scan < 0 || ap_scan > 2)
++ return -1;
++
++#ifdef ANDROID
++ if (ap_scan == 2 && ap_scan != wpa_s->conf->ap_scan &&
++ wpa_s->wpa_state >= WPA_ASSOCIATING &&
++ wpa_s->wpa_state < WPA_COMPLETED) {
++ wpa_printf(MSG_ERROR, "ap_scan = %d (%d) rejected while "
++ "associating", wpa_s->conf->ap_scan, ap_scan);
++ return 0;
++ }
++#endif /* ANDROID */
++
++ old_ap_scan = wpa_s->conf->ap_scan;
++ wpa_s->conf->ap_scan = ap_scan;
++
++ if (old_ap_scan != wpa_s->conf->ap_scan)
++ wpas_notify_ap_scan_changed(wpa_s);
++
++ return 0;
++}
++
++
++/**
++ * wpa_supplicant_set_bss_expiration_age - Set BSS entry expiration age
++ * @wpa_s: wpa_supplicant structure for a network interface
++ * @expire_age: Expiration age in seconds
++ * Returns: 0 if succeed or -1 if expire_age has an invalid value
++ *
++ */
++int wpa_supplicant_set_bss_expiration_age(struct wpa_supplicant *wpa_s,
++ unsigned int bss_expire_age)
++{
++ if (bss_expire_age < 10) {
++ wpa_msg(wpa_s, MSG_ERROR, "Invalid bss expiration age %u",
++ bss_expire_age);
++ return -1;
++ }
++ wpa_msg(wpa_s, MSG_DEBUG, "Setting bss expiration age: %d sec",
++ bss_expire_age);
++ wpa_s->conf->bss_expiration_age = bss_expire_age;
++
++ return 0;
++}
++
++
++/**
++ * wpa_supplicant_set_bss_expiration_count - Set BSS entry expiration scan count
++ * @wpa_s: wpa_supplicant structure for a network interface
++ * @expire_count: number of scans after which an unseen BSS is reclaimed
++ * Returns: 0 if succeed or -1 if expire_count has an invalid value
++ *
++ */
++int wpa_supplicant_set_bss_expiration_count(struct wpa_supplicant *wpa_s,
++ unsigned int bss_expire_count)
++{
++ if (bss_expire_count < 1) {
++ wpa_msg(wpa_s, MSG_ERROR, "Invalid bss expiration count %u",
++ bss_expire_count);
++ return -1;
++ }
++ wpa_msg(wpa_s, MSG_DEBUG, "Setting bss expiration scan count: %u",
++ bss_expire_count);
++ wpa_s->conf->bss_expiration_scan_count = bss_expire_count;
++
++ return 0;
++}
++
++
++/**
++ * wpa_supplicant_set_scan_interval - Set scan interval
++ * @wpa_s: wpa_supplicant structure for a network interface
++ * @scan_interval: scan interval in seconds
++ * Returns: 0 if succeed or -1 if scan_interval has an invalid value
++ *
++ */
++int wpa_supplicant_set_scan_interval(struct wpa_supplicant *wpa_s,
++ int scan_interval)
++{
++ if (scan_interval < 0) {
++ wpa_msg(wpa_s, MSG_ERROR, "Invalid scan interval %d",
++ scan_interval);
++ return -1;
++ }
++ wpa_msg(wpa_s, MSG_DEBUG, "Setting scan interval: %d sec",
++ scan_interval);
++ wpa_s->scan_interval = scan_interval;
++
++ return 0;
++}
++
++
++/**
++ * wpa_supplicant_set_debug_params - Set global debug params
++ * @global: wpa_global structure
++ * @debug_level: debug level
++ * @debug_timestamp: determines if show timestamp in debug data
++ * @debug_show_keys: determines if show keys in debug data
++ * Returns: 0 if succeed or -1 if debug_level has wrong value
++ */
++int wpa_supplicant_set_debug_params(struct wpa_global *global, int debug_level,
++ int debug_timestamp, int debug_show_keys)
++{
++
++ int old_level, old_timestamp, old_show_keys;
++
++ /* check for allowed debuglevels */
++ if (debug_level != MSG_EXCESSIVE &&
++ debug_level != MSG_MSGDUMP &&
++ debug_level != MSG_DEBUG &&
++ debug_level != MSG_INFO &&
++ debug_level != MSG_WARNING &&
++ debug_level != MSG_ERROR)
++ return -1;
++
++ old_level = wpa_debug_level;
++ old_timestamp = wpa_debug_timestamp;
++ old_show_keys = wpa_debug_show_keys;
++
++ wpa_debug_level = debug_level;
++ wpa_debug_timestamp = debug_timestamp ? 1 : 0;
++ wpa_debug_show_keys = debug_show_keys ? 1 : 0;
++
++ if (wpa_debug_level != old_level)
++ wpas_notify_debug_level_changed(global);
++ if (wpa_debug_timestamp != old_timestamp)
++ wpas_notify_debug_timestamp_changed(global);
++ if (wpa_debug_show_keys != old_show_keys)
++ wpas_notify_debug_show_keys_changed(global);
++
++ return 0;
++}
++
++
++/**
++ * wpa_supplicant_get_ssid - Get a pointer to the current network structure
++ * @wpa_s: Pointer to wpa_supplicant data
++ * Returns: A pointer to the current network structure or %NULL on failure
++ */
++struct wpa_ssid * wpa_supplicant_get_ssid(struct wpa_supplicant *wpa_s)
++{
++ struct wpa_ssid *entry;
++ u8 ssid[MAX_SSID_LEN];
++ int res;
++ size_t ssid_len;
++ u8 bssid[ETH_ALEN];
++ int wired;
++
++ res = wpa_drv_get_ssid(wpa_s, ssid);
++ if (res < 0) {
++ wpa_msg(wpa_s, MSG_WARNING, "Could not read SSID from "
++ "driver");
++ return NULL;
++ }
++ ssid_len = res;
++
++ if (wpa_drv_get_bssid(wpa_s, bssid) < 0) {
++ wpa_msg(wpa_s, MSG_WARNING, "Could not read BSSID from "
++ "driver");
++ return NULL;
++ }
++
++ wired = wpa_s->conf->ap_scan == 0 &&
++ (wpa_s->drv_flags & WPA_DRIVER_FLAGS_WIRED);
++
++ entry = wpa_s->conf->ssid;
++ while (entry) {
++ if (!wpas_network_disabled(wpa_s, entry) &&
++ ((ssid_len == entry->ssid_len &&
++ os_memcmp(ssid, entry->ssid, ssid_len) == 0) || wired) &&
++ (!entry->bssid_set ||
++ os_memcmp(bssid, entry->bssid, ETH_ALEN) == 0))
++ return entry;
++#ifdef CONFIG_WPS
++ if (!wpas_network_disabled(wpa_s, entry) &&
++ (entry->key_mgmt & WPA_KEY_MGMT_WPS) &&
++ (entry->ssid == NULL || entry->ssid_len == 0) &&
++ (!entry->bssid_set ||
++ os_memcmp(bssid, entry->bssid, ETH_ALEN) == 0))
++ return entry;
++#endif /* CONFIG_WPS */
++
++ if (!wpas_network_disabled(wpa_s, entry) && entry->bssid_set &&
++ entry->ssid_len == 0 &&
++ os_memcmp(bssid, entry->bssid, ETH_ALEN) == 0)
++ return entry;
++
++ entry = entry->next;
++ }
++
++ return NULL;
++}
++
++
++static int select_driver(struct wpa_supplicant *wpa_s, int i)
++{
++ struct wpa_global *global = wpa_s->global;
++
++ if (wpa_drivers[i]->global_init && global->drv_priv[i] == NULL) {
++ global->drv_priv[i] = wpa_drivers[i]->global_init();
++ if (global->drv_priv[i] == NULL) {
++ wpa_printf(MSG_ERROR, "Failed to initialize driver "
++ "'%s'", wpa_drivers[i]->name);
++ return -1;
++ }
++ }
++
++ wpa_s->driver = wpa_drivers[i];
++ wpa_s->global_drv_priv = global->drv_priv[i];
++
++ return 0;
++}
++
++
++static int wpa_supplicant_set_driver(struct wpa_supplicant *wpa_s,
++ const char *name)
++{
++ int i;
++ size_t len;
++ const char *pos, *driver = name;
++
++ if (wpa_s == NULL)
++ return -1;
++
++ if (wpa_drivers[0] == NULL) {
++ wpa_msg(wpa_s, MSG_ERROR, "No driver interfaces build into "
++ "wpa_supplicant");
++ return -1;
++ }
++
++ if (name == NULL) {
++ /* default to first driver in the list */
++ return select_driver(wpa_s, 0);
++ }
++
++ do {
++ pos = os_strchr(driver, ',');
++ if (pos)
++ len = pos - driver;
++ else
++ len = os_strlen(driver);
++
++ for (i = 0; wpa_drivers[i]; i++) {
++ if (os_strlen(wpa_drivers[i]->name) == len &&
++ os_strncmp(driver, wpa_drivers[i]->name, len) ==
++ 0) {
++ /* First driver that succeeds wins */
++ if (select_driver(wpa_s, i) == 0)
++ return 0;
++ }
++ }
++
++ driver = pos + 1;
++ } while (pos);
++
++ wpa_msg(wpa_s, MSG_ERROR, "Unsupported driver '%s'", name);
++ return -1;
++}
++
++
++/**
++ * wpa_supplicant_rx_eapol - Deliver a received EAPOL frame to wpa_supplicant
++ * @ctx: Context pointer (wpa_s); this is the ctx variable registered
++ * with struct wpa_driver_ops::init()
++ * @src_addr: Source address of the EAPOL frame
++ * @buf: EAPOL data starting from the EAPOL header (i.e., no Ethernet header)
++ * @len: Length of the EAPOL data
++ *
++ * This function is called for each received EAPOL frame. Most driver
++ * interfaces rely on more generic OS mechanism for receiving frames through
++ * l2_packet, but if such a mechanism is not available, the driver wrapper may
++ * take care of received EAPOL frames and deliver them to the core supplicant
++ * code by calling this function.
++ */
++void wpa_supplicant_rx_eapol(void *ctx, const u8 *src_addr,
++ const u8 *buf, size_t len)
++{
++ struct wpa_supplicant *wpa_s = ctx;
++
++ wpa_dbg(wpa_s, MSG_DEBUG, "RX EAPOL from " MACSTR, MAC2STR(src_addr));
++ wpa_hexdump(MSG_MSGDUMP, "RX EAPOL", buf, len);
++
++ if (wpa_s->wpa_state < WPA_ASSOCIATED ||
++ (wpa_s->last_eapol_matches_bssid &&
++#ifdef CONFIG_AP
++ !wpa_s->ap_iface &&
++#endif /* CONFIG_AP */
++ os_memcmp(src_addr, wpa_s->bssid, ETH_ALEN) != 0)) {
++ /*
++ * There is possible race condition between receiving the
++ * association event and the EAPOL frame since they are coming
++ * through different paths from the driver. In order to avoid
++ * issues in trying to process the EAPOL frame before receiving
++ * association information, lets queue it for processing until
++ * the association event is received. This may also be needed in
++ * driver-based roaming case, so also use src_addr != BSSID as a
++ * trigger if we have previously confirmed that the
++ * Authenticator uses BSSID as the src_addr (which is not the
++ * case with wired IEEE 802.1X).
++ */
++ wpa_dbg(wpa_s, MSG_DEBUG, "Not associated - Delay processing "
++ "of received EAPOL frame (state=%s bssid=" MACSTR ")",
++ wpa_supplicant_state_txt(wpa_s->wpa_state),
++ MAC2STR(wpa_s->bssid));
++ wpabuf_free(wpa_s->pending_eapol_rx);
++ wpa_s->pending_eapol_rx = wpabuf_alloc_copy(buf, len);
++ if (wpa_s->pending_eapol_rx) {
++ os_get_time(&wpa_s->pending_eapol_rx_time);
++ os_memcpy(wpa_s->pending_eapol_rx_src, src_addr,
++ ETH_ALEN);
++ }
++ return;
++ }
++
++ wpa_s->last_eapol_matches_bssid =
++ os_memcmp(src_addr, wpa_s->bssid, ETH_ALEN) == 0;
++
++#ifdef CONFIG_AP
++ if (wpa_s->ap_iface) {
++ wpa_supplicant_ap_rx_eapol(wpa_s, src_addr, buf, len);
++ return;
++ }
++#endif /* CONFIG_AP */
++
++ if (wpa_s->key_mgmt == WPA_KEY_MGMT_NONE) {
++ wpa_dbg(wpa_s, MSG_DEBUG, "Ignored received EAPOL frame since "
++ "no key management is configured");
++ return;
++ }
++
++ if (wpa_s->eapol_received == 0 &&
++ (!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_4WAY_HANDSHAKE) ||
++ !wpa_key_mgmt_wpa_psk(wpa_s->key_mgmt) ||
++ wpa_s->wpa_state != WPA_COMPLETED) &&
++ (wpa_s->current_ssid == NULL ||
++ wpa_s->current_ssid->mode != IEEE80211_MODE_IBSS)) {
++ /* Timeout for completing IEEE 802.1X and WPA authentication */
++ wpa_supplicant_req_auth_timeout(
++ wpa_s,
++ (wpa_key_mgmt_wpa_ieee8021x(wpa_s->key_mgmt) ||
++ wpa_s->key_mgmt == WPA_KEY_MGMT_IEEE8021X_NO_WPA ||
++ wpa_s->key_mgmt == WPA_KEY_MGMT_WPS) ?
++ 70 : 10, 0);
++ }
++ wpa_s->eapol_received++;
++
++ if (wpa_s->countermeasures) {
++ wpa_msg(wpa_s, MSG_INFO, "WPA: Countermeasures - dropped "
++ "EAPOL packet");
++ return;
++ }
++
++#ifdef CONFIG_IBSS_RSN
++ if (wpa_s->current_ssid &&
++ wpa_s->current_ssid->mode == WPAS_MODE_IBSS) {
++ ibss_rsn_rx_eapol(wpa_s->ibss_rsn, src_addr, buf, len);
++ return;
++ }
++#endif /* CONFIG_IBSS_RSN */
++
++ /* Source address of the incoming EAPOL frame could be compared to the
++ * current BSSID. However, it is possible that a centralized
++ * Authenticator could be using another MAC address than the BSSID of
++ * an AP, so just allow any address to be used for now. The replies are
++ * still sent to the current BSSID (if available), though. */
++
++ os_memcpy(wpa_s->last_eapol_src, src_addr, ETH_ALEN);
++ if (!wpa_key_mgmt_wpa_psk(wpa_s->key_mgmt) &&
++ eapol_sm_rx_eapol(wpa_s->eapol, src_addr, buf, len) > 0)
++ return;
++ wpa_drv_poll(wpa_s);
++ if (!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_4WAY_HANDSHAKE))
++ wpa_sm_rx_eapol(wpa_s->wpa, src_addr, buf, len);
++ else if (wpa_key_mgmt_wpa_ieee8021x(wpa_s->key_mgmt)) {
++ /*
++ * Set portValid = TRUE here since we are going to skip 4-way
++ * handshake processing which would normally set portValid. We
++ * need this to allow the EAPOL state machines to be completed
++ * without going through EAPOL-Key handshake.
++ */
++ eapol_sm_notify_portValid(wpa_s->eapol, TRUE);
++ }
++}
++
++
++int wpa_supplicant_update_mac_addr(struct wpa_supplicant *wpa_s)
++{
++ if (wpa_s->driver->send_eapol) {
++ const u8 *addr = wpa_drv_get_mac_addr(wpa_s);
++ if (addr)
++ os_memcpy(wpa_s->own_addr, addr, ETH_ALEN);
++ } else if (!(wpa_s->drv_flags &
++ WPA_DRIVER_FLAGS_P2P_DEDICATED_INTERFACE)) {
++ l2_packet_deinit(wpa_s->l2);
++ wpa_s->l2 = l2_packet_init(wpa_s->ifname,
++ wpa_drv_get_mac_addr(wpa_s),
++ ETH_P_EAPOL,
++ wpa_supplicant_rx_eapol, wpa_s, 0);
++ if (wpa_s->l2 == NULL)
++ return -1;
++ } else {
++ const u8 *addr = wpa_drv_get_mac_addr(wpa_s);
++ if (addr)
++ os_memcpy(wpa_s->own_addr, addr, ETH_ALEN);
++ }
++
++ if (wpa_s->l2 && l2_packet_get_own_addr(wpa_s->l2, wpa_s->own_addr)) {
++ wpa_msg(wpa_s, MSG_ERROR, "Failed to get own L2 address");
++ return -1;
++ }
++
++ wpa_dbg(wpa_s, MSG_DEBUG, "Own MAC address: " MACSTR,
++ MAC2STR(wpa_s->own_addr));
++ wpa_sm_set_own_addr(wpa_s->wpa, wpa_s->own_addr);
++
++ return 0;
++}
++
++
++static void wpa_supplicant_rx_eapol_bridge(void *ctx, const u8 *src_addr,
++ const u8 *buf, size_t len)
++{
++ struct wpa_supplicant *wpa_s = ctx;
++ const struct l2_ethhdr *eth;
++
++ if (len < sizeof(*eth))
++ return;
++ eth = (const struct l2_ethhdr *) buf;
++
++ if (os_memcmp(eth->h_dest, wpa_s->own_addr, ETH_ALEN) != 0 &&
++ !(eth->h_dest[0] & 0x01)) {
++ wpa_dbg(wpa_s, MSG_DEBUG, "RX EAPOL from " MACSTR " to " MACSTR
++ " (bridge - not for this interface - ignore)",
++ MAC2STR(src_addr), MAC2STR(eth->h_dest));
++ return;
++ }
++
++ wpa_dbg(wpa_s, MSG_DEBUG, "RX EAPOL from " MACSTR " to " MACSTR
++ " (bridge)", MAC2STR(src_addr), MAC2STR(eth->h_dest));
++ wpa_supplicant_rx_eapol(wpa_s, src_addr, buf + sizeof(*eth),
++ len - sizeof(*eth));
++}
++
++
++/**
++ * wpa_supplicant_driver_init - Initialize driver interface parameters
++ * @wpa_s: Pointer to wpa_supplicant data
++ * Returns: 0 on success, -1 on failure
++ *
++ * This function is called to initialize driver interface parameters.
++ * wpa_drv_init() must have been called before this function to initialize the
++ * driver interface.
++ */
++int wpa_supplicant_driver_init(struct wpa_supplicant *wpa_s)
++{
++ static int interface_count = 0;
++
++ if (wpa_supplicant_update_mac_addr(wpa_s) < 0)
++ return -1;
++
++ if (wpa_s->bridge_ifname[0]) {
++ wpa_dbg(wpa_s, MSG_DEBUG, "Receiving packets from bridge "
++ "interface '%s'", wpa_s->bridge_ifname);
++ wpa_s->l2_br = l2_packet_init(wpa_s->bridge_ifname,
++ wpa_s->own_addr,
++ ETH_P_EAPOL,
++ wpa_supplicant_rx_eapol_bridge,
++ wpa_s, 1);
++ if (wpa_s->l2_br == NULL) {
++ wpa_msg(wpa_s, MSG_ERROR, "Failed to open l2_packet "
++ "connection for the bridge interface '%s'",
++ wpa_s->bridge_ifname);
++ return -1;
++ }
++ }
++
++ wpa_clear_keys(wpa_s, NULL);
++
++ /* Make sure that TKIP countermeasures are not left enabled (could
++ * happen if wpa_supplicant is killed during countermeasures. */
++ wpa_drv_set_countermeasures(wpa_s, 0);
++
++ wpa_dbg(wpa_s, MSG_DEBUG, "RSN: flushing PMKID list in the driver");
++ wpa_drv_flush_pmkid(wpa_s);
++
++ wpa_s->prev_scan_ssid = WILDCARD_SSID_SCAN;
++ wpa_s->prev_scan_wildcard = 0;
++
++ if (wpa_supplicant_enabled_networks(wpa_s)) {
++ if (wpa_supplicant_delayed_sched_scan(wpa_s, interface_count,
++ 100000))
++ wpa_supplicant_req_scan(wpa_s, interface_count,
++ 100000);
++ interface_count++;
++ } else
++ wpa_supplicant_set_state(wpa_s, WPA_INACTIVE);
++
++ return 0;
++}
++
++
++static int wpa_supplicant_daemon(const char *pid_file)
++{
++ wpa_printf(MSG_DEBUG, "Daemonize..");
++ return os_daemonize(pid_file);
++}
++
++
++static struct wpa_supplicant * wpa_supplicant_alloc(void)
++{
++ struct wpa_supplicant *wpa_s;
++
++ wpa_s = os_zalloc(sizeof(*wpa_s));
++ if (wpa_s == NULL)
++ return NULL;
++ wpa_s->scan_req = INITIAL_SCAN_REQ;
++ wpa_s->scan_interval = 5;
++ wpa_s->new_connection = 1;
++ wpa_s->parent = wpa_s;
++ wpa_s->sched_scanning = 0;
++
++ return wpa_s;
++}
++
++
++#ifdef CONFIG_HT_OVERRIDES
++
++static int wpa_set_htcap_mcs(struct wpa_supplicant *wpa_s,
++ struct ieee80211_ht_capabilities *htcaps,
++ struct ieee80211_ht_capabilities *htcaps_mask,
++ const char *ht_mcs)
++{
++ /* parse ht_mcs into hex array */
++ int i;
++ const char *tmp = ht_mcs;
++ char *end = NULL;
++
++ /* If ht_mcs is null, do not set anything */
++ if (!ht_mcs)
++ return 0;
++
++ /* This is what we are setting in the kernel */
++ os_memset(&htcaps->supported_mcs_set, 0, IEEE80211_HT_MCS_MASK_LEN);
++
++ wpa_msg(wpa_s, MSG_DEBUG, "set_htcap, ht_mcs -:%s:-", ht_mcs);
++
++ for (i = 0; i < IEEE80211_HT_MCS_MASK_LEN; i++) {
++ errno = 0;
++ long v = strtol(tmp, &end, 16);
++ if (errno == 0) {
++ wpa_msg(wpa_s, MSG_DEBUG,
++ "htcap value[%i]: %ld end: %p tmp: %p",
++ i, v, end, tmp);
++ if (end == tmp)
++ break;
++
++ htcaps->supported_mcs_set[i] = v;
++ tmp = end;
++ } else {
++ wpa_msg(wpa_s, MSG_ERROR,
++ "Failed to parse ht-mcs: %s, error: %s\n",
++ ht_mcs, strerror(errno));
++ return -1;
++ }
++ }
++
++ /*
++ * If we were able to parse any values, then set mask for the MCS set.
++ */
++ if (i) {
++ os_memset(&htcaps_mask->supported_mcs_set, 0xff,
++ IEEE80211_HT_MCS_MASK_LEN - 1);
++ /* skip the 3 reserved bits */
++ htcaps_mask->supported_mcs_set[IEEE80211_HT_MCS_MASK_LEN - 1] =
++ 0x1f;
++ }
++
++ return 0;
++}
++
++
++static int wpa_disable_max_amsdu(struct wpa_supplicant *wpa_s,
++ struct ieee80211_ht_capabilities *htcaps,
++ struct ieee80211_ht_capabilities *htcaps_mask,
++ int disabled)
++{
++ u16 msk;
++
++ wpa_msg(wpa_s, MSG_DEBUG, "set_disable_max_amsdu: %d", disabled);
++
++ if (disabled == -1)
++ return 0;
++
++ msk = host_to_le16(HT_CAP_INFO_MAX_AMSDU_SIZE);
++ htcaps_mask->ht_capabilities_info |= msk;
++ if (disabled)
++ htcaps->ht_capabilities_info &= msk;
++ else
++ htcaps->ht_capabilities_info |= msk;
++
++ return 0;
++}
++
++
++static int wpa_set_ampdu_factor(struct wpa_supplicant *wpa_s,
++ struct ieee80211_ht_capabilities *htcaps,
++ struct ieee80211_ht_capabilities *htcaps_mask,
++ int factor)
++{
++ wpa_msg(wpa_s, MSG_DEBUG, "set_ampdu_factor: %d", factor);
++
++ if (factor == -1)
++ return 0;
++
++ if (factor < 0 || factor > 3) {
++ wpa_msg(wpa_s, MSG_ERROR, "ampdu_factor: %d out of range. "
++ "Must be 0-3 or -1", factor);
++ return -EINVAL;
++ }
++
++ htcaps_mask->a_mpdu_params |= 0x3; /* 2 bits for factor */
++ htcaps->a_mpdu_params &= ~0x3;
++ htcaps->a_mpdu_params |= factor & 0x3;
++
++ return 0;
++}
++
++
++static int wpa_set_ampdu_density(struct wpa_supplicant *wpa_s,
++ struct ieee80211_ht_capabilities *htcaps,
++ struct ieee80211_ht_capabilities *htcaps_mask,
++ int density)
++{
++ wpa_msg(wpa_s, MSG_DEBUG, "set_ampdu_density: %d", density);
++
++ if (density == -1)
++ return 0;
++
++ if (density < 0 || density > 7) {
++ wpa_msg(wpa_s, MSG_ERROR,
++ "ampdu_density: %d out of range. Must be 0-7 or -1.",
++ density);
++ return -EINVAL;
++ }
++
++ htcaps_mask->a_mpdu_params |= 0x1C;
++ htcaps->a_mpdu_params &= ~(0x1C);
++ htcaps->a_mpdu_params |= (density << 2) & 0x1C;
++
++ return 0;
++}
++
++
++static int wpa_set_disable_ht40(struct wpa_supplicant *wpa_s,
++ struct ieee80211_ht_capabilities *htcaps,
++ struct ieee80211_ht_capabilities *htcaps_mask,
++ int disabled)
++{
++ /* Masking these out disables HT40 */
++ u16 msk = host_to_le16(HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET |
++ HT_CAP_INFO_SHORT_GI40MHZ);
++
++ wpa_msg(wpa_s, MSG_DEBUG, "set_disable_ht40: %d", disabled);
++
++ if (disabled)
++ htcaps->ht_capabilities_info &= ~msk;
++ else
++ htcaps->ht_capabilities_info |= msk;
++
++ htcaps_mask->ht_capabilities_info |= msk;
++
++ return 0;
++}
++
++
++static int wpa_set_disable_sgi(struct wpa_supplicant *wpa_s,
++ struct ieee80211_ht_capabilities *htcaps,
++ struct ieee80211_ht_capabilities *htcaps_mask,
++ int disabled)
++{
++ /* Masking these out disables SGI */
++ u16 msk = host_to_le16(HT_CAP_INFO_SHORT_GI20MHZ |
++ HT_CAP_INFO_SHORT_GI40MHZ);
++
++ wpa_msg(wpa_s, MSG_DEBUG, "set_disable_sgi: %d", disabled);
++
++ if (disabled)
++ htcaps->ht_capabilities_info &= ~msk;
++ else
++ htcaps->ht_capabilities_info |= msk;
++
++ htcaps_mask->ht_capabilities_info |= msk;
++
++ return 0;
++}
++
++
++void wpa_supplicant_apply_ht_overrides(
++ struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid,
++ struct wpa_driver_associate_params *params)
++{
++ struct ieee80211_ht_capabilities *htcaps;
++ struct ieee80211_ht_capabilities *htcaps_mask;
++
++ if (!ssid)
++ return;
++
++ params->disable_ht = ssid->disable_ht;
++ if (!params->htcaps || !params->htcaps_mask)
++ return;
++
++ htcaps = (struct ieee80211_ht_capabilities *) params->htcaps;
++ htcaps_mask = (struct ieee80211_ht_capabilities *) params->htcaps_mask;
++ wpa_set_htcap_mcs(wpa_s, htcaps, htcaps_mask, ssid->ht_mcs);
++ wpa_disable_max_amsdu(wpa_s, htcaps, htcaps_mask,
++ ssid->disable_max_amsdu);
++ wpa_set_ampdu_factor(wpa_s, htcaps, htcaps_mask, ssid->ampdu_factor);
++ wpa_set_ampdu_density(wpa_s, htcaps, htcaps_mask, ssid->ampdu_density);
++ wpa_set_disable_ht40(wpa_s, htcaps, htcaps_mask, ssid->disable_ht40);
++ wpa_set_disable_sgi(wpa_s, htcaps, htcaps_mask, ssid->disable_sgi);
++}
++
++#endif /* CONFIG_HT_OVERRIDES */
++
++
++static int pcsc_reader_init(struct wpa_supplicant *wpa_s)
++{
++#ifdef PCSC_FUNCS
++ size_t len;
++
++ if (!wpa_s->conf->pcsc_reader)
++ return 0;
++
++ wpa_s->scard = scard_init(SCARD_TRY_BOTH, wpa_s->conf->pcsc_reader);
++ if (!wpa_s->scard)
++ return 1;
++
++ if (wpa_s->conf->pcsc_pin &&
++ scard_set_pin(wpa_s->scard, wpa_s->conf->pcsc_pin) < 0) {
++ scard_deinit(wpa_s->scard);
++ wpa_s->scard = NULL;
++ wpa_msg(wpa_s, MSG_ERROR, "PC/SC PIN validation failed");
++ return -1;
++ }
++
++ len = sizeof(wpa_s->imsi) - 1;
++ if (scard_get_imsi(wpa_s->scard, wpa_s->imsi, &len)) {
++ scard_deinit(wpa_s->scard);
++ wpa_s->scard = NULL;
++ wpa_msg(wpa_s, MSG_ERROR, "Could not read IMSI");
++ return -1;
++ }
++ wpa_s->imsi[len] = '\0';
++
++ wpa_s->mnc_len = scard_get_mnc_len(wpa_s->scard);
++
++ wpa_printf(MSG_DEBUG, "SCARD: IMSI %s (MNC length %d)",
++ wpa_s->imsi, wpa_s->mnc_len);
++
++ wpa_sm_set_scard_ctx(wpa_s->wpa, wpa_s->scard);
++ eapol_sm_register_scard_ctx(wpa_s->eapol, wpa_s->scard);
++#endif /* PCSC_FUNCS */
++
++ return 0;
++}
++
++
++int wpas_init_ext_pw(struct wpa_supplicant *wpa_s)
++{
++ char *val, *pos;
++
++ ext_password_deinit(wpa_s->ext_pw);
++ wpa_s->ext_pw = NULL;
++ eapol_sm_set_ext_pw_ctx(wpa_s->eapol, NULL);
++
++ if (!wpa_s->conf->ext_password_backend)
++ return 0;
++
++ val = os_strdup(wpa_s->conf->ext_password_backend);
++ if (val == NULL)
++ return -1;
++ pos = os_strchr(val, ':');
++ if (pos)
++ *pos++ = '\0';
++
++ wpa_printf(MSG_DEBUG, "EXT PW: Initialize backend '%s'", val);
++
++ wpa_s->ext_pw = ext_password_init(val, pos);
++ os_free(val);
++ if (wpa_s->ext_pw == NULL) {
++ wpa_printf(MSG_DEBUG, "EXT PW: Failed to initialize backend");
++ return -1;
++ }
++ eapol_sm_set_ext_pw_ctx(wpa_s->eapol, wpa_s->ext_pw);
++
++ return 0;
++}
++
++
++static int wpa_supplicant_init_iface(struct wpa_supplicant *wpa_s,
++ struct wpa_interface *iface)
++{
++ const char *ifname, *driver;
++ struct wpa_driver_capa capa;
++
++ wpa_printf(MSG_DEBUG, "Initializing interface '%s' conf '%s' driver "
++ "'%s' ctrl_interface '%s' bridge '%s'", iface->ifname,
++ iface->confname ? iface->confname : "N/A",
++ iface->driver ? iface->driver : "default",
++ iface->ctrl_interface ? iface->ctrl_interface : "N/A",
++ iface->bridge_ifname ? iface->bridge_ifname : "N/A");
++
++ if (iface->confname) {
++#ifdef CONFIG_BACKEND_FILE
++ wpa_s->confname = os_rel2abs_path(iface->confname);
++ if (wpa_s->confname == NULL) {
++ wpa_printf(MSG_ERROR, "Failed to get absolute path "
++ "for configuration file '%s'.",
++ iface->confname);
++ return -1;
++ }
++ wpa_printf(MSG_DEBUG, "Configuration file '%s' -> '%s'",
++ iface->confname, wpa_s->confname);
++#else /* CONFIG_BACKEND_FILE */
++ wpa_s->confname = os_strdup(iface->confname);
++#endif /* CONFIG_BACKEND_FILE */
++ wpa_s->conf = wpa_config_read(wpa_s->confname);
++ if (wpa_s->conf == NULL) {
++ wpa_printf(MSG_ERROR, "Failed to read or parse "
++ "configuration '%s'.", wpa_s->confname);
++ return -1;
++ }
++
++ /*
++ * Override ctrl_interface and driver_param if set on command
++ * line.
++ */
++ if (iface->ctrl_interface) {
++ os_free(wpa_s->conf->ctrl_interface);
++ wpa_s->conf->ctrl_interface =
++ os_strdup(iface->ctrl_interface);
++ }
++
++ if (iface->driver_param) {
++ os_free(wpa_s->conf->driver_param);
++ wpa_s->conf->driver_param =
++ os_strdup(iface->driver_param);
++ }
++ } else
++ wpa_s->conf = wpa_config_alloc_empty(iface->ctrl_interface,
++ iface->driver_param);
++
++ if (wpa_s->conf == NULL) {
++ wpa_printf(MSG_ERROR, "\nNo configuration found.");
++ return -1;
++ }
++
++ if (iface->ifname == NULL) {
++ wpa_printf(MSG_ERROR, "\nInterface name is required.");
++ return -1;
++ }
++ if (os_strlen(iface->ifname) >= sizeof(wpa_s->ifname)) {
++ wpa_printf(MSG_ERROR, "\nToo long interface name '%s'.",
++ iface->ifname);
++ return -1;
++ }
++ os_strlcpy(wpa_s->ifname, iface->ifname, sizeof(wpa_s->ifname));
++
++ if (iface->bridge_ifname) {
++ if (os_strlen(iface->bridge_ifname) >=
++ sizeof(wpa_s->bridge_ifname)) {
++ wpa_printf(MSG_ERROR, "\nToo long bridge interface "
++ "name '%s'.", iface->bridge_ifname);
++ return -1;
++ }
++ os_strlcpy(wpa_s->bridge_ifname, iface->bridge_ifname,
++ sizeof(wpa_s->bridge_ifname));
++ }
++
++ /* RSNA Supplicant Key Management - INITIALIZE */
++ eapol_sm_notify_portEnabled(wpa_s->eapol, FALSE);
++ eapol_sm_notify_portValid(wpa_s->eapol, FALSE);
++
++ /* Initialize driver interface and register driver event handler before
++ * L2 receive handler so that association events are processed before
++ * EAPOL-Key packets if both become available for the same select()
++ * call. */
++ driver = iface->driver;
++next_driver:
++ if (wpa_supplicant_set_driver(wpa_s, driver) < 0)
++ return -1;
++
++ wpa_s->drv_priv = wpa_drv_init(wpa_s, wpa_s->ifname);
++ if (wpa_s->drv_priv == NULL) {
++ const char *pos;
++ pos = driver ? os_strchr(driver, ',') : NULL;
++ if (pos) {
++ wpa_dbg(wpa_s, MSG_DEBUG, "Failed to initialize "
++ "driver interface - try next driver wrapper");
++ driver = pos + 1;
++ goto next_driver;
++ }
++ wpa_msg(wpa_s, MSG_ERROR, "Failed to initialize driver "
++ "interface");
++ return -1;
++ }
++ if (wpa_drv_set_param(wpa_s, wpa_s->conf->driver_param) < 0) {
++ wpa_msg(wpa_s, MSG_ERROR, "Driver interface rejected "
++ "driver_param '%s'", wpa_s->conf->driver_param);
++ return -1;
++ }
++
++ ifname = wpa_drv_get_ifname(wpa_s);
++ if (ifname && os_strcmp(ifname, wpa_s->ifname) != 0) {
++ wpa_dbg(wpa_s, MSG_DEBUG, "Driver interface replaced "
++ "interface name with '%s'", ifname);
++ os_strlcpy(wpa_s->ifname, ifname, sizeof(wpa_s->ifname));
++ }
++
++ if (wpa_supplicant_init_wpa(wpa_s) < 0)
++ return -1;
++
++ wpa_sm_set_ifname(wpa_s->wpa, wpa_s->ifname,
++ wpa_s->bridge_ifname[0] ? wpa_s->bridge_ifname :
++ NULL);
++ wpa_sm_set_fast_reauth(wpa_s->wpa, wpa_s->conf->fast_reauth);
++
++ if (wpa_s->conf->dot11RSNAConfigPMKLifetime &&
++ wpa_sm_set_param(wpa_s->wpa, RSNA_PMK_LIFETIME,
++ wpa_s->conf->dot11RSNAConfigPMKLifetime)) {
++ wpa_msg(wpa_s, MSG_ERROR, "Invalid WPA parameter value for "
++ "dot11RSNAConfigPMKLifetime");
++ return -1;
++ }
++
++ if (wpa_s->conf->dot11RSNAConfigPMKReauthThreshold &&
++ wpa_sm_set_param(wpa_s->wpa, RSNA_PMK_REAUTH_THRESHOLD,
++ wpa_s->conf->dot11RSNAConfigPMKReauthThreshold)) {
++ wpa_msg(wpa_s, MSG_ERROR, "Invalid WPA parameter value for "
++ "dot11RSNAConfigPMKReauthThreshold");
++ return -1;
++ }
++
++ if (wpa_s->conf->dot11RSNAConfigSATimeout &&
++ wpa_sm_set_param(wpa_s->wpa, RSNA_SA_TIMEOUT,
++ wpa_s->conf->dot11RSNAConfigSATimeout)) {
++ wpa_msg(wpa_s, MSG_ERROR, "Invalid WPA parameter value for "
++ "dot11RSNAConfigSATimeout");
++ return -1;
++ }
++
++ wpa_s->hw.modes = wpa_drv_get_hw_feature_data(wpa_s,
++ &wpa_s->hw.num_modes,
++ &wpa_s->hw.flags);
++
++ if (wpa_drv_get_capa(wpa_s, &capa) == 0) {
++ wpa_s->drv_capa_known = 1;
++ wpa_s->drv_flags = capa.flags;
++ wpa_s->drv_enc = capa.enc;
++ wpa_s->probe_resp_offloads = capa.probe_resp_offloads;
++ wpa_s->max_scan_ssids = capa.max_scan_ssids;
++ wpa_s->max_sched_scan_ssids = capa.max_sched_scan_ssids;
++ wpa_s->sched_scan_supported = capa.sched_scan_supported;
++ wpa_s->max_match_sets = capa.max_match_sets;
++ wpa_s->max_remain_on_chan = capa.max_remain_on_chan;
++ wpa_s->max_stations = capa.max_stations;
++ }
++ if (wpa_s->max_remain_on_chan == 0)
++ wpa_s->max_remain_on_chan = 1000;
++
++ if (wpa_supplicant_driver_init(wpa_s) < 0)
++ return -1;
++
++#ifdef CONFIG_TDLS
++ if (wpa_tdls_init(wpa_s->wpa))
++ return -1;
++#endif /* CONFIG_TDLS */
++
++ if (wpa_s->conf->country[0] && wpa_s->conf->country[1] &&
++ wpa_drv_set_country(wpa_s, wpa_s->conf->country)) {
++ wpa_dbg(wpa_s, MSG_DEBUG, "Failed to set country");
++ return -1;
++ }
++
++ if (wpas_wps_init(wpa_s))
++ return -1;
++
++ if (wpa_supplicant_init_eapol(wpa_s) < 0)
++ return -1;
++ wpa_sm_set_eapol(wpa_s->wpa, wpa_s->eapol);
++
++ wpa_s->ctrl_iface = wpa_supplicant_ctrl_iface_init(wpa_s);
++ if (wpa_s->ctrl_iface == NULL) {
++ wpa_printf(MSG_ERROR,
++ "Failed to initialize control interface '%s'.\n"
++ "You may have another wpa_supplicant process "
++ "already running or the file was\n"
++ "left by an unclean termination of wpa_supplicant "
++ "in which case you will need\n"
++ "to manually remove this file before starting "
++ "wpa_supplicant again.\n",
++ wpa_s->conf->ctrl_interface);
++ return -1;
++ }
++
++ wpa_s->gas = gas_query_init(wpa_s);
++ if (wpa_s->gas == NULL) {
++ wpa_printf(MSG_ERROR, "Failed to initialize GAS query");
++ return -1;
++ }
++
++#ifdef CONFIG_P2P
++ if (wpas_p2p_init(wpa_s->global, wpa_s) < 0) {
++ wpa_msg(wpa_s, MSG_ERROR, "Failed to init P2P");
++ return -1;
++ }
++#endif /* CONFIG_P2P */
++
++ if (wpa_bss_init(wpa_s) < 0)
++ return -1;
++
++ if (pcsc_reader_init(wpa_s) < 0)
++ return -1;
++
++ if (wpas_init_ext_pw(wpa_s) < 0)
++ return -1;
++
++ return 0;
++}
++
++
++static void wpa_supplicant_deinit_iface(struct wpa_supplicant *wpa_s,
++ int notify, int terminate)
++{
++ if (wpa_s->drv_priv) {
++ wpa_supplicant_deauthenticate(wpa_s,
++ WLAN_REASON_DEAUTH_LEAVING);
++
++ wpa_drv_set_countermeasures(wpa_s, 0);
++ wpa_clear_keys(wpa_s, NULL);
++ }
++
++ wpa_supplicant_cleanup(wpa_s);
++
++#ifdef CONFIG_P2P
++ if (wpa_s == wpa_s->global->p2p_init_wpa_s && wpa_s->global->p2p) {
++ wpa_dbg(wpa_s, MSG_DEBUG, "P2P: Disable P2P since removing "
++ "the management interface is being removed");
++ wpas_p2p_deinit_global(wpa_s->global);
++ }
++#endif /* CONFIG_P2P */
++
++ if (wpa_s->drv_priv)
++ wpa_drv_deinit(wpa_s);
++
++ if (notify)
++ wpas_notify_iface_removed(wpa_s);
++
++ if (terminate)
++ wpa_msg(wpa_s, MSG_INFO, WPA_EVENT_TERMINATING);
++
++ if (wpa_s->ctrl_iface) {
++ wpa_supplicant_ctrl_iface_deinit(wpa_s->ctrl_iface);
++ wpa_s->ctrl_iface = NULL;
++ }
++
++ if (wpa_s->conf != NULL) {
++ wpa_config_free(wpa_s->conf);
++ wpa_s->conf = NULL;
++ }
++}
++
++
++/**
++ * wpa_supplicant_add_iface - Add a new network interface
++ * @global: Pointer to global data from wpa_supplicant_init()
++ * @iface: Interface configuration options
++ * Returns: Pointer to the created interface or %NULL on failure
++ *
++ * This function is used to add new network interfaces for %wpa_supplicant.
++ * This can be called before wpa_supplicant_run() to add interfaces before the
++ * main event loop has been started. In addition, new interfaces can be added
++ * dynamically while %wpa_supplicant is already running. This could happen,
++ * e.g., when a hotplug network adapter is inserted.
++ */
++struct wpa_supplicant * wpa_supplicant_add_iface(struct wpa_global *global,
++ struct wpa_interface *iface)
++{
++ struct wpa_supplicant *wpa_s;
++ struct wpa_interface t_iface;
++ struct wpa_ssid *ssid;
++
++ if (global == NULL || iface == NULL)
++ return NULL;
++
++ wpa_s = wpa_supplicant_alloc();
++ if (wpa_s == NULL)
++ return NULL;
++
++ wpa_s->global = global;
++
++ t_iface = *iface;
++ if (global->params.override_driver) {
++ wpa_printf(MSG_DEBUG, "Override interface parameter: driver "
++ "('%s' -> '%s')",
++ iface->driver, global->params.override_driver);
++ t_iface.driver = global->params.override_driver;
++ }
++ if (global->params.override_ctrl_interface) {
++ wpa_printf(MSG_DEBUG, "Override interface parameter: "
++ "ctrl_interface ('%s' -> '%s')",
++ iface->ctrl_interface,
++ global->params.override_ctrl_interface);
++ t_iface.ctrl_interface =
++ global->params.override_ctrl_interface;
++ }
++ if (wpa_supplicant_init_iface(wpa_s, &t_iface)) {
++ wpa_printf(MSG_DEBUG, "Failed to add interface %s",
++ iface->ifname);
++ wpa_supplicant_deinit_iface(wpa_s, 0, 0);
++ os_free(wpa_s);
++ return NULL;
++ }
++
++ /* Notify the control interfaces about new iface */
++ if (wpas_notify_iface_added(wpa_s)) {
++ wpa_supplicant_deinit_iface(wpa_s, 1, 0);
++ os_free(wpa_s);
++ return NULL;
++ }
++
++ for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next)
++ wpas_notify_network_added(wpa_s, ssid);
++
++ wpa_s->next = global->ifaces;
++ global->ifaces = wpa_s;
++
++ wpa_dbg(wpa_s, MSG_DEBUG, "Added interface %s", wpa_s->ifname);
++ wpa_supplicant_set_state(wpa_s, WPA_DISCONNECTED);
++
++ return wpa_s;
++}
++
++
++/**
++ * wpa_supplicant_remove_iface - Remove a network interface
++ * @global: Pointer to global data from wpa_supplicant_init()
++ * @wpa_s: Pointer to the network interface to be removed
++ * Returns: 0 if interface was removed, -1 if interface was not found
++ *
++ * This function can be used to dynamically remove network interfaces from
++ * %wpa_supplicant, e.g., when a hotplug network adapter is ejected. In
++ * addition, this function is used to remove all remaining interfaces when
++ * %wpa_supplicant is terminated.
++ */
++int wpa_supplicant_remove_iface(struct wpa_global *global,
++ struct wpa_supplicant *wpa_s,
++ int terminate)
++{
++ struct wpa_supplicant *prev;
++
++ /* Remove interface from the global list of interfaces */
++ prev = global->ifaces;
++ if (prev == wpa_s) {
++ global->ifaces = wpa_s->next;
++ } else {
++ while (prev && prev->next != wpa_s)
++ prev = prev->next;
++ if (prev == NULL)
++ return -1;
++ prev->next = wpa_s->next;
++ }
++
++ wpa_dbg(wpa_s, MSG_DEBUG, "Removing interface %s", wpa_s->ifname);
++
++ if (global->p2p_group_formation == wpa_s)
++ global->p2p_group_formation = NULL;
++ wpa_supplicant_deinit_iface(wpa_s, 1, terminate);
++ os_free(wpa_s);
++
++ return 0;
++}
++
++
++/**
++ * wpa_supplicant_get_eap_mode - Get the current EAP mode
++ * @wpa_s: Pointer to the network interface
++ * Returns: Pointer to the eap mode or the string "UNKNOWN" if not found
++ */
++const char * wpa_supplicant_get_eap_mode(struct wpa_supplicant *wpa_s)
++{
++ const char *eapol_method;
++
++ if (wpa_key_mgmt_wpa_ieee8021x(wpa_s->key_mgmt) == 0 &&
++ wpa_s->key_mgmt != WPA_KEY_MGMT_IEEE8021X_NO_WPA) {
++ return "NO-EAP";
++ }
++
++ eapol_method = eapol_sm_get_method_name(wpa_s->eapol);
++ if (eapol_method == NULL)
++ return "UNKNOWN-EAP";
++
++ return eapol_method;
++}
++
++
++/**
++ * wpa_supplicant_get_iface - Get a new network interface
++ * @global: Pointer to global data from wpa_supplicant_init()
++ * @ifname: Interface name
++ * Returns: Pointer to the interface or %NULL if not found
++ */
++struct wpa_supplicant * wpa_supplicant_get_iface(struct wpa_global *global,
++ const char *ifname)
++{
++ struct wpa_supplicant *wpa_s;
++
++ for (wpa_s = global->ifaces; wpa_s; wpa_s = wpa_s->next) {
++ if (os_strcmp(wpa_s->ifname, ifname) == 0)
++ return wpa_s;
++ }
++ return NULL;
++}
++
++
++#ifndef CONFIG_NO_WPA_MSG
++static const char * wpa_supplicant_msg_ifname_cb(void *ctx)
++{
++ struct wpa_supplicant *wpa_s = ctx;
++ if (wpa_s == NULL)
++ return NULL;
++ return wpa_s->ifname;
++}
++#endif /* CONFIG_NO_WPA_MSG */
++
++
++/**
++ * wpa_supplicant_init - Initialize %wpa_supplicant
++ * @params: Parameters for %wpa_supplicant
++ * Returns: Pointer to global %wpa_supplicant data, or %NULL on failure
++ *
++ * This function is used to initialize %wpa_supplicant. After successful
++ * initialization, the returned data pointer can be used to add and remove
++ * network interfaces, and eventually, to deinitialize %wpa_supplicant.
++ */
++struct wpa_global * wpa_supplicant_init(struct wpa_params *params)
++{
++ struct wpa_global *global;
++ int ret, i;
++
++ if (params == NULL)
++ return NULL;
++
++#ifdef CONFIG_DRIVER_NDIS
++ {
++ void driver_ndis_init_ops(void);
++ driver_ndis_init_ops();
++ }
++#endif /* CONFIG_DRIVER_NDIS */
++
++#ifndef CONFIG_NO_WPA_MSG
++ wpa_msg_register_ifname_cb(wpa_supplicant_msg_ifname_cb);
++#endif /* CONFIG_NO_WPA_MSG */
++
++ wpa_debug_open_file(params->wpa_debug_file_path);
++ if (params->wpa_debug_syslog)
++ wpa_debug_open_syslog();
++ if (params->wpa_debug_tracing) {
++ ret = wpa_debug_open_linux_tracing();
++ if (ret) {
++ wpa_printf(MSG_ERROR,
++ "Failed to enable trace logging");
++ return NULL;
++ }
++ }
++
++ ret = eap_register_methods();
++ if (ret) {
++ wpa_printf(MSG_ERROR, "Failed to register EAP methods");
++ if (ret == -2)
++ wpa_printf(MSG_ERROR, "Two or more EAP methods used "
++ "the same EAP type.");
++ return NULL;
++ }
++
++ global = os_zalloc(sizeof(*global));
++ if (global == NULL)
++ return NULL;
++ dl_list_init(&global->p2p_srv_bonjour);
++ dl_list_init(&global->p2p_srv_upnp);
++ global->params.daemonize = params->daemonize;
++ global->params.wait_for_monitor = params->wait_for_monitor;
++ global->params.dbus_ctrl_interface = params->dbus_ctrl_interface;
++ if (params->pid_file)
++ global->params.pid_file = os_strdup(params->pid_file);
++ if (params->ctrl_interface)
++ global->params.ctrl_interface =
++ os_strdup(params->ctrl_interface);
++ if (params->override_driver)
++ global->params.override_driver =
++ os_strdup(params->override_driver);
++ if (params->override_ctrl_interface)
++ global->params.override_ctrl_interface =
++ os_strdup(params->override_ctrl_interface);
++ wpa_debug_level = global->params.wpa_debug_level =
++ params->wpa_debug_level;
++ wpa_debug_show_keys = global->params.wpa_debug_show_keys =
++ params->wpa_debug_show_keys;
++ wpa_debug_timestamp = global->params.wpa_debug_timestamp =
++ params->wpa_debug_timestamp;
++
++ wpa_printf(MSG_DEBUG, "wpa_supplicant v" VERSION_STR);
++
++ if (eloop_init()) {
++ wpa_printf(MSG_ERROR, "Failed to initialize event loop");
++ wpa_supplicant_deinit(global);
++ return NULL;
++ }
++
++ random_init(params->entropy_file);
++
++ global->ctrl_iface = wpa_supplicant_global_ctrl_iface_init(global);
++ if (global->ctrl_iface == NULL) {
++ wpa_supplicant_deinit(global);
++ return NULL;
++ }
++
++ if (wpas_notify_supplicant_initialized(global)) {
++ wpa_supplicant_deinit(global);
++ return NULL;
++ }
++
++ for (i = 0; wpa_drivers[i]; i++)
++ global->drv_count++;
++ if (global->drv_count == 0) {
++ wpa_printf(MSG_ERROR, "No drivers enabled");
++ wpa_supplicant_deinit(global);
++ return NULL;
++ }
++ global->drv_priv = os_zalloc(global->drv_count * sizeof(void *));
++ if (global->drv_priv == NULL) {
++ wpa_supplicant_deinit(global);
++ return NULL;
++ }
++
++#ifdef CONFIG_WIFI_DISPLAY
++ if (wifi_display_init(global) < 0) {
++ wpa_printf(MSG_ERROR, "Failed to initialize Wi-Fi Display");
++ wpa_supplicant_deinit(global);
++ return NULL;
++ }
++#endif /* CONFIG_WIFI_DISPLAY */
++
++ return global;
++}
++
++
++/**
++ * wpa_supplicant_run - Run the %wpa_supplicant main event loop
++ * @global: Pointer to global data from wpa_supplicant_init()
++ * Returns: 0 after successful event loop run, -1 on failure
++ *
++ * This function starts the main event loop and continues running as long as
++ * there are any remaining events. In most cases, this function is running as
++ * long as the %wpa_supplicant process in still in use.
++ */
++int wpa_supplicant_run(struct wpa_global *global)
++{
++ struct wpa_supplicant *wpa_s;
++
++ if (global->params.daemonize &&
++ wpa_supplicant_daemon(global->params.pid_file))
++ return -1;
++
++ if (global->params.wait_for_monitor) {
++ for (wpa_s = global->ifaces; wpa_s; wpa_s = wpa_s->next)
++ if (wpa_s->ctrl_iface)
++ wpa_supplicant_ctrl_iface_wait(
++ wpa_s->ctrl_iface);
++ }
++
++ eloop_register_signal_terminate(wpa_supplicant_terminate, global);
++ eloop_register_signal_reconfig(wpa_supplicant_reconfig, global);
++
++ eloop_run();
++
++ return 0;
++}
++
++
++/**
++ * wpa_supplicant_deinit - Deinitialize %wpa_supplicant
++ * @global: Pointer to global data from wpa_supplicant_init()
++ *
++ * This function is called to deinitialize %wpa_supplicant and to free all
++ * allocated resources. Remaining network interfaces will also be removed.
++ */
++void wpa_supplicant_deinit(struct wpa_global *global)
++{
++ int i;
++
++ if (global == NULL)
++ return;
++
++#ifdef CONFIG_WIFI_DISPLAY
++ wifi_display_deinit(global);
++#endif /* CONFIG_WIFI_DISPLAY */
++#ifdef CONFIG_P2P
++ wpas_p2p_deinit_global(global);
++#endif /* CONFIG_P2P */
++
++ while (global->ifaces)
++ wpa_supplicant_remove_iface(global, global->ifaces, 1);
++
++ if (global->ctrl_iface)
++ wpa_supplicant_global_ctrl_iface_deinit(global->ctrl_iface);
++
++ wpas_notify_supplicant_deinitialized(global);
++
++ eap_peer_unregister_methods();
++#ifdef CONFIG_AP
++ eap_server_unregister_methods();
++#endif /* CONFIG_AP */
++
++ for (i = 0; wpa_drivers[i] && global->drv_priv; i++) {
++ if (!global->drv_priv[i])
++ continue;
++ wpa_drivers[i]->global_deinit(global->drv_priv[i]);
++ }
++ os_free(global->drv_priv);
++
++ random_deinit();
++
++ eloop_destroy();
++
++ if (global->params.pid_file) {
++ os_daemonize_terminate(global->params.pid_file);
++ os_free(global->params.pid_file);
++ }
++ os_free(global->params.ctrl_interface);
++ os_free(global->params.override_driver);
++ os_free(global->params.override_ctrl_interface);
++
++ os_free(global->p2p_disallow_freq);
++
++ os_free(global);
++ wpa_debug_close_syslog();
++ wpa_debug_close_file();
++ wpa_debug_close_linux_tracing();
++}
++
++
++void wpa_supplicant_update_config(struct wpa_supplicant *wpa_s)
++{
++ if ((wpa_s->conf->changed_parameters & CFG_CHANGED_COUNTRY) &&
++ wpa_s->conf->country[0] && wpa_s->conf->country[1]) {
++ char country[3];
++ country[0] = wpa_s->conf->country[0];
++ country[1] = wpa_s->conf->country[1];
++ country[2] = '\0';
++ if (wpa_drv_set_country(wpa_s, country) < 0) {
++ wpa_printf(MSG_ERROR, "Failed to set country code "
++ "'%s'", country);
++ }
++ }
++
++ if (wpa_s->conf->changed_parameters & CFG_CHANGED_EXT_PW_BACKEND)
++ wpas_init_ext_pw(wpa_s);
++
++#ifdef CONFIG_WPS
++ wpas_wps_update_config(wpa_s);
++#endif /* CONFIG_WPS */
++
++#ifdef CONFIG_P2P
++ wpas_p2p_update_config(wpa_s);
++#endif /* CONFIG_P2P */
++
++ wpa_s->conf->changed_parameters = 0;
++}
++
++
++static void add_freq(int *freqs, int *num_freqs, int freq)
++{
++ int i;
++
++ for (i = 0; i < *num_freqs; i++) {
++ if (freqs[i] == freq)
++ return;
++ }
++
++ freqs[*num_freqs] = freq;
++ (*num_freqs)++;
++}
++
++
++static int * get_bss_freqs_in_ess(struct wpa_supplicant *wpa_s)
++{
++ struct wpa_bss *bss, *cbss;
++ const int max_freqs = 10;
++ int *freqs;
++ int num_freqs = 0;
++
++ freqs = os_zalloc(sizeof(int) * (max_freqs + 1));
++ if (freqs == NULL)
++ return NULL;
++
++ cbss = wpa_s->current_bss;
++
++ dl_list_for_each(bss, &wpa_s->bss, struct wpa_bss, list) {
++ if (bss == cbss)
++ continue;
++ if (bss->ssid_len == cbss->ssid_len &&
++ os_memcmp(bss->ssid, cbss->ssid, bss->ssid_len) == 0 &&
++ wpa_blacklist_get(wpa_s, bss->bssid) == NULL) {
++ add_freq(freqs, &num_freqs, bss->freq);
++ if (num_freqs == max_freqs)
++ break;
++ }
++ }
++
++ if (num_freqs == 0) {
++ os_free(freqs);
++ freqs = NULL;
++ }
++
++ return freqs;
++}
++
++
++void wpas_connection_failed(struct wpa_supplicant *wpa_s, const u8 *bssid)
++{
++ int timeout;
++ int count;
++ int *freqs = NULL;
++
++ /*
++ * Remove possible authentication timeout since the connection failed.
++ */
++ eloop_cancel_timeout(wpa_supplicant_timeout, wpa_s, NULL);
++
++ /*
++ * Add the failed BSSID into the blacklist and speed up next scan
++ * attempt if there could be other APs that could accept association.
++ * The current blacklist count indicates how many times we have tried
++ * connecting to this AP and multiple attempts mean that other APs are
++ * either not available or has already been tried, so that we can start
++ * increasing the delay here to avoid constant scanning.
++ */
++ count = wpa_blacklist_add(wpa_s, bssid);
++ if (count == 1 && wpa_s->current_bss) {
++ /*
++ * This BSS was not in the blacklist before. If there is
++ * another BSS available for the same ESS, we should try that
++ * next. Otherwise, we may as well try this one once more
++ * before allowing other, likely worse, ESSes to be considered.
++ */
++ freqs = get_bss_freqs_in_ess(wpa_s);
++ if (freqs) {
++ wpa_dbg(wpa_s, MSG_DEBUG, "Another BSS in this ESS "
++ "has been seen; try it next");
++ wpa_blacklist_add(wpa_s, bssid);
++ /*
++ * On the next scan, go through only the known channels
++ * used in this ESS based on previous scans to speed up
++ * common load balancing use case.
++ */
++ os_free(wpa_s->next_scan_freqs);
++ wpa_s->next_scan_freqs = freqs;
++ }
++ }
++
++ /*
++ * Add previous failure count in case the temporary blacklist was
++ * cleared due to no other BSSes being available.
++ */
++ count += wpa_s->extra_blacklist_count;
++
++ switch (count) {
++ case 1:
++ timeout = 100;
++ break;
++ case 2:
++ timeout = 500;
++ break;
++ case 3:
++ timeout = 1000;
++ break;
++ case 4:
++ timeout = 5000;
++ break;
++ default:
++ timeout = 10000;
++ break;
++ }
++
++ wpa_dbg(wpa_s, MSG_DEBUG, "Blacklist count %d --> request scan in %d "
++ "ms", count, timeout);
++
++ /*
++ * TODO: if more than one possible AP is available in scan results,
++ * could try the other ones before requesting a new scan.
++ */
++ wpa_supplicant_req_scan(wpa_s, timeout / 1000,
++ 1000 * (timeout % 1000));
++
++#ifdef CONFIG_P2P
++ if (wpa_s->global->p2p_cb_on_scan_complete && !wpa_s->global->p2p_disabled &&
++ wpa_s->global->p2p != NULL) {
++ wpa_s->global->p2p_cb_on_scan_complete = 0;
++ if (p2p_other_scan_completed(wpa_s->global->p2p) == 1) {
++ wpa_dbg(wpa_s, MSG_DEBUG, "P2P: Pending P2P operation "
++ "continued after failed association");
++ }
++ }
++#endif /* CONFIG_P2P */
++}
++
++
++int wpas_driver_bss_selection(struct wpa_supplicant *wpa_s)
++{
++ return wpa_s->conf->ap_scan == 2 ||
++ (wpa_s->drv_flags & WPA_DRIVER_FLAGS_BSS_SELECTION);
++}
++
++
++#if defined(CONFIG_CTRL_IFACE) || defined(CONFIG_CTRL_IFACE_DBUS_NEW)
++int wpa_supplicant_ctrl_iface_ctrl_rsp_handle(struct wpa_supplicant *wpa_s,
++ struct wpa_ssid *ssid,
++ const char *field,
++ const char *value)
++{
++#ifdef IEEE8021X_EAPOL
++ struct eap_peer_config *eap = &ssid->eap;
++
++ wpa_printf(MSG_DEBUG, "CTRL_IFACE: response handle field=%s", field);
++ wpa_hexdump_ascii_key(MSG_DEBUG, "CTRL_IFACE: response value",
++ (const u8 *) value, os_strlen(value));
++
++ switch (wpa_supplicant_ctrl_req_from_string(field)) {
++ case WPA_CTRL_REQ_EAP_IDENTITY:
++ os_free(eap->identity);
++ eap->identity = (u8 *) os_strdup(value);
++ eap->identity_len = os_strlen(value);
++ eap->pending_req_identity = 0;
++ if (ssid == wpa_s->current_ssid)
++ wpa_s->reassociate = 1;
++ break;
++ case WPA_CTRL_REQ_EAP_PASSWORD:
++ os_free(eap->password);
++ eap->password = (u8 *) os_strdup(value);
++ eap->password_len = os_strlen(value);
++ eap->pending_req_password = 0;
++ if (ssid == wpa_s->current_ssid)
++ wpa_s->reassociate = 1;
++ break;
++ case WPA_CTRL_REQ_EAP_NEW_PASSWORD:
++ os_free(eap->new_password);
++ eap->new_password = (u8 *) os_strdup(value);
++ eap->new_password_len = os_strlen(value);
++ eap->pending_req_new_password = 0;
++ if (ssid == wpa_s->current_ssid)
++ wpa_s->reassociate = 1;
++ break;
++ case WPA_CTRL_REQ_EAP_PIN:
++ os_free(eap->pin);
++ eap->pin = os_strdup(value);
++ eap->pending_req_pin = 0;
++ if (ssid == wpa_s->current_ssid)
++ wpa_s->reassociate = 1;
++ break;
++ case WPA_CTRL_REQ_EAP_OTP:
++ os_free(eap->otp);
++ eap->otp = (u8 *) os_strdup(value);
++ eap->otp_len = os_strlen(value);
++ os_free(eap->pending_req_otp);
++ eap->pending_req_otp = NULL;
++ eap->pending_req_otp_len = 0;
++ break;
++ case WPA_CTRL_REQ_EAP_PASSPHRASE:
++ os_free(eap->private_key_passwd);
++ eap->private_key_passwd = (u8 *) os_strdup(value);
++ eap->pending_req_passphrase = 0;
++ if (ssid == wpa_s->current_ssid)
++ wpa_s->reassociate = 1;
++ break;
++ default:
++ wpa_printf(MSG_DEBUG, "CTRL_IFACE: Unknown field '%s'", field);
++ return -1;
++ }
++
++ return 0;
++#else /* IEEE8021X_EAPOL */
++ wpa_printf(MSG_DEBUG, "CTRL_IFACE: IEEE 802.1X not included");
++ return -1;
++#endif /* IEEE8021X_EAPOL */
++}
++#endif /* CONFIG_CTRL_IFACE || CONFIG_CTRL_IFACE_DBUS_NEW */
++
++
++int wpas_network_disabled(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)
++{
++ int i;
++ unsigned int drv_enc;
++
++ if (ssid == NULL)
++ return 1;
++
++ if (ssid->disabled)
++ return 1;
++
++ if (wpa_s && wpa_s->drv_capa_known)
++ drv_enc = wpa_s->drv_enc;
++ else
++ drv_enc = (unsigned int) -1;
++
++ for (i = 0; i < NUM_WEP_KEYS; i++) {
++ size_t len = ssid->wep_key_len[i];
++ if (len == 0)
++ continue;
++ if (len == 5 && (drv_enc & WPA_DRIVER_CAPA_ENC_WEP40))
++ continue;
++ if (len == 13 && (drv_enc & WPA_DRIVER_CAPA_ENC_WEP104))
++ continue;
++ if (len == 16 && (drv_enc & WPA_DRIVER_CAPA_ENC_WEP128))
++ continue;
++ return 1; /* invalid WEP key */
++ }
++
++ if (wpa_key_mgmt_wpa_psk(ssid->key_mgmt) && !ssid->psk_set &&
++ !ssid->ext_psk)
++ return 1;
++
++ return 0;
++}
++
++
++int wpas_is_p2p_prioritized(struct wpa_supplicant *wpa_s)
++{
++ if (wpa_s->global->conc_pref == WPA_CONC_PREF_P2P)
++ return 1;
++ if (wpa_s->global->conc_pref == WPA_CONC_PREF_STA)
++ return 0;
++ return -1;
++}
++
++
++void wpas_auth_failed(struct wpa_supplicant *wpa_s)
++{
++ struct wpa_ssid *ssid = wpa_s->current_ssid;
++ int dur;
++ struct os_time now;
++
++ if (ssid == NULL) {
++ wpa_printf(MSG_DEBUG, "Authentication failure but no known "
++ "SSID block");
++ return;
++ }
++
++ if (ssid->key_mgmt == WPA_KEY_MGMT_WPS)
++ return;
++
++ ssid->auth_failures++;
++ if (ssid->auth_failures > 50)
++ dur = 300;
++ else if (ssid->auth_failures > 20)
++ dur = 120;
++ else if (ssid->auth_failures > 10)
++ dur = 60;
++ else if (ssid->auth_failures > 5)
++ dur = 30;
++ else if (ssid->auth_failures > 1)
++ dur = 20;
++ else
++ dur = 10;
++
++ os_get_time(&now);
++ if (now.sec + dur <= ssid->disabled_until.sec)
++ return;
++
++ ssid->disabled_until.sec = now.sec + dur;
++
++ wpa_msg(wpa_s, MSG_INFO, WPA_EVENT_TEMP_DISABLED
++ "id=%d ssid=\"%s\" auth_failures=%u duration=%d",
++ ssid->id, wpa_ssid_txt(ssid->ssid, ssid->ssid_len),
++ ssid->auth_failures, dur);
++}
++
++
++void wpas_clear_temp_disabled(struct wpa_supplicant *wpa_s,
++ struct wpa_ssid *ssid, int clear_failures)
++{
++ if (ssid == NULL)
++ return;
++
++ if (ssid->disabled_until.sec) {
++ wpa_msg(wpa_s, MSG_INFO, WPA_EVENT_REENABLED
++ "id=%d ssid=\"%s\"",
++ ssid->id, wpa_ssid_txt(ssid->ssid, ssid->ssid_len));
++ }
++ ssid->disabled_until.sec = 0;
++ ssid->disabled_until.usec = 0;
++ if (clear_failures)
++ ssid->auth_failures = 0;
++}
++
++
++int disallowed_bssid(struct wpa_supplicant *wpa_s, const u8 *bssid)
++{
++ size_t i;
++
++ if (wpa_s->disallow_aps_bssid == NULL)
++ return 0;
++
++ for (i = 0; i < wpa_s->disallow_aps_bssid_count; i++) {
++ if (os_memcmp(wpa_s->disallow_aps_bssid + i * ETH_ALEN,
++ bssid, ETH_ALEN) == 0)
++ return 1;
++ }
++
++ return 0;
++}
++
++
++int disallowed_ssid(struct wpa_supplicant *wpa_s, const u8 *ssid,
++ size_t ssid_len)
++{
++ size_t i;
++
++ if (wpa_s->disallow_aps_ssid == NULL || ssid == NULL)
++ return 0;
++
++ for (i = 0; i < wpa_s->disallow_aps_ssid_count; i++) {
++ struct wpa_ssid_value *s = &wpa_s->disallow_aps_ssid[i];
++ if (ssid_len == s->ssid_len &&
++ os_memcmp(ssid, s->ssid, ssid_len) == 0)
++ return 1;
++ }
++
++ return 0;
++}
++
++
++/**
++ * wpas_request_connection - Request a new connection
++ * @wpa_s: Pointer to the network interface
++ *
++ * This function is used to request a new connection to be found. It will mark
++ * the interface to allow reassociation and request a new scan to find a
++ * suitable network to connect to.
++ */
++void wpas_request_connection(struct wpa_supplicant *wpa_s)
++{
++ wpa_s->normal_scans = 0;
++ wpa_supplicant_reinit_autoscan(wpa_s);
++ wpa_s->extra_blacklist_count = 0;
++ wpa_s->disconnected = 0;
++ wpa_s->reassociate = 1;
++ wpa_supplicant_req_scan(wpa_s, 0, 0);
++}
diff --git a/source/n/wpa_supplicant/patches/flush-debug-output.diff b/source/n/wpa_supplicant/patches/flush-debug-output.diff
new file mode 100644
index 000000000..f85d37800
--- /dev/null
+++ b/source/n/wpa_supplicant/patches/flush-debug-output.diff
@@ -0,0 +1,742 @@
+diff -Nur wpa_supplicant-2.0.orig/src/utils/wpa_debug.c wpa_supplicant-2.0/src/utils/wpa_debug.c
+--- wpa_supplicant-2.0.orig/src/utils/wpa_debug.c 2013-01-12 09:42:53.000000000 -0600
++++ wpa_supplicant-2.0/src/utils/wpa_debug.c 2013-05-11 14:10:37.886101742 -0500
+@@ -75,6 +75,7 @@
+ if (out_file) {
+ fprintf(out_file, "%ld.%06u: ", (long) tv.sec,
+ (unsigned int) tv.usec);
++ fflush(out_file);
+ } else
+ #endif /* CONFIG_DEBUG_FILE */
+ printf("%ld.%06u: ", (long) tv.sec, (unsigned int) tv.usec);
+@@ -221,6 +222,7 @@
+ if (out_file) {
+ vfprintf(out_file, fmt, ap);
+ fprintf(out_file, "\n");
++ fflush(out_file);
+ } else {
+ #endif /* CONFIG_DEBUG_FILE */
+ vprintf(fmt, ap);
+@@ -357,6 +359,7 @@
+ fprintf(out_file, " [REMOVED]");
+ }
+ fprintf(out_file, "\n");
++ fflush(out_file);
+ } else {
+ #endif /* CONFIG_DEBUG_FILE */
+ printf("%s - hexdump(len=%lu):", title, (unsigned long) len);
+@@ -425,12 +428,14 @@
+ fprintf(out_file,
+ "%s - hexdump_ascii(len=%lu): [REMOVED]\n",
+ title, (unsigned long) len);
++ fflush(out_file);
+ return;
+ }
+ if (buf == NULL) {
+ fprintf(out_file,
+ "%s - hexdump_ascii(len=%lu): [NULL]\n",
+ title, (unsigned long) len);
++ fflush(out_file);
+ return;
+ }
+ fprintf(out_file, "%s - hexdump_ascii(len=%lu):\n",
+@@ -455,6 +460,7 @@
+ pos += llen;
+ len -= llen;
+ }
++ fflush(out_file);
+ } else {
+ #endif /* CONFIG_DEBUG_FILE */
+ if (!show) {
+diff -Nur wpa_supplicant-2.0.orig/src/utils/wpa_debug.c.orig wpa_supplicant-2.0/src/utils/wpa_debug.c.orig
+--- wpa_supplicant-2.0.orig/src/utils/wpa_debug.c.orig 1969-12-31 18:00:00.000000000 -0600
++++ wpa_supplicant-2.0/src/utils/wpa_debug.c.orig 2013-01-12 09:42:53.000000000 -0600
+@@ -0,0 +1,688 @@
++/*
++ * wpa_supplicant/hostapd / Debug prints
++ * Copyright (c) 2002-2007, Jouni Malinen <j@w1.fi>
++ *
++ * This software may be distributed under the terms of the BSD license.
++ * See README for more details.
++ */
++
++#include "includes.h"
++
++#include "common.h"
++
++#ifdef CONFIG_DEBUG_SYSLOG
++#include <syslog.h>
++
++static int wpa_debug_syslog = 0;
++#endif /* CONFIG_DEBUG_SYSLOG */
++
++#ifdef CONFIG_DEBUG_LINUX_TRACING
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <fcntl.h>
++#include <string.h>
++#include <stdio.h>
++
++static FILE *wpa_debug_tracing_file = NULL;
++
++#define WPAS_TRACE_PFX "wpas <%d>: "
++#endif /* CONFIG_DEBUG_LINUX_TRACING */
++
++
++int wpa_debug_level = MSG_INFO;
++int wpa_debug_show_keys = 0;
++int wpa_debug_timestamp = 0;
++
++
++#ifdef CONFIG_ANDROID_LOG
++
++#include <android/log.h>
++
++#ifndef ANDROID_LOG_NAME
++#define ANDROID_LOG_NAME "wpa_supplicant"
++#endif /* ANDROID_LOG_NAME */
++
++static int wpa_to_android_level(int level)
++{
++ if (level == MSG_ERROR)
++ return ANDROID_LOG_ERROR;
++ if (level == MSG_WARNING)
++ return ANDROID_LOG_WARN;
++ if (level == MSG_INFO)
++ return ANDROID_LOG_INFO;
++ return ANDROID_LOG_DEBUG;
++}
++
++#endif /* CONFIG_ANDROID_LOG */
++
++#ifndef CONFIG_NO_STDOUT_DEBUG
++
++#ifdef CONFIG_DEBUG_FILE
++static FILE *out_file = NULL;
++#endif /* CONFIG_DEBUG_FILE */
++
++
++void wpa_debug_print_timestamp(void)
++{
++#ifndef CONFIG_ANDROID_LOG
++ struct os_time tv;
++
++ if (!wpa_debug_timestamp)
++ return;
++
++ os_get_time(&tv);
++#ifdef CONFIG_DEBUG_FILE
++ if (out_file) {
++ fprintf(out_file, "%ld.%06u: ", (long) tv.sec,
++ (unsigned int) tv.usec);
++ } else
++#endif /* CONFIG_DEBUG_FILE */
++ printf("%ld.%06u: ", (long) tv.sec, (unsigned int) tv.usec);
++#endif /* CONFIG_ANDROID_LOG */
++}
++
++
++#ifdef CONFIG_DEBUG_SYSLOG
++#ifndef LOG_HOSTAPD
++#define LOG_HOSTAPD LOG_DAEMON
++#endif /* LOG_HOSTAPD */
++
++void wpa_debug_open_syslog(void)
++{
++ openlog("wpa_supplicant", LOG_PID | LOG_NDELAY, LOG_HOSTAPD);
++ wpa_debug_syslog++;
++}
++
++
++void wpa_debug_close_syslog(void)
++{
++ if (wpa_debug_syslog)
++ closelog();
++}
++
++
++static int syslog_priority(int level)
++{
++ switch (level) {
++ case MSG_MSGDUMP:
++ case MSG_DEBUG:
++ return LOG_DEBUG;
++ case MSG_INFO:
++ return LOG_NOTICE;
++ case MSG_WARNING:
++ return LOG_WARNING;
++ case MSG_ERROR:
++ return LOG_ERR;
++ }
++ return LOG_INFO;
++}
++#endif /* CONFIG_DEBUG_SYSLOG */
++
++
++#ifdef CONFIG_DEBUG_LINUX_TRACING
++
++int wpa_debug_open_linux_tracing(void)
++{
++ int mounts, trace_fd;
++ char buf[4096] = {};
++ ssize_t buflen;
++ char *line, *tmp1, *path = NULL;
++
++ mounts = open("/proc/mounts", O_RDONLY);
++ if (mounts < 0) {
++ printf("no /proc/mounts\n");
++ return -1;
++ }
++
++ buflen = read(mounts, buf, sizeof(buf) - 1);
++ close(mounts);
++ if (buflen < 0) {
++ printf("failed to read /proc/mounts\n");
++ return -1;
++ }
++
++ line = strtok_r(buf, "\n", &tmp1);
++ while (line) {
++ char *tmp2, *tmp_path, *fstype;
++ /* "<dev> <mountpoint> <fs type> ..." */
++ strtok_r(line, " ", &tmp2);
++ tmp_path = strtok_r(NULL, " ", &tmp2);
++ fstype = strtok_r(NULL, " ", &tmp2);
++ if (strcmp(fstype, "debugfs") == 0) {
++ path = tmp_path;
++ break;
++ }
++
++ line = strtok_r(NULL, "\n", &tmp1);
++ }
++
++ if (path == NULL) {
++ printf("debugfs mountpoint not found\n");
++ return -1;
++ }
++
++ snprintf(buf, sizeof(buf) - 1, "%s/tracing/trace_marker", path);
++
++ trace_fd = open(buf, O_WRONLY);
++ if (trace_fd < 0) {
++ printf("failed to open trace_marker file\n");
++ return -1;
++ }
++ wpa_debug_tracing_file = fdopen(trace_fd, "w");
++ if (wpa_debug_tracing_file == NULL) {
++ close(trace_fd);
++ printf("failed to fdopen()\n");
++ return -1;
++ }
++
++ return 0;
++}
++
++
++void wpa_debug_close_linux_tracing(void)
++{
++ if (wpa_debug_tracing_file == NULL)
++ return;
++ fclose(wpa_debug_tracing_file);
++ wpa_debug_tracing_file = NULL;
++}
++
++#endif /* CONFIG_DEBUG_LINUX_TRACING */
++
++
++/**
++ * wpa_printf - conditional printf
++ * @level: priority level (MSG_*) of the message
++ * @fmt: printf format string, followed by optional arguments
++ *
++ * This function is used to print conditional debugging and error messages. The
++ * output may be directed to stdout, stderr, and/or syslog based on
++ * configuration.
++ *
++ * Note: New line '\n' is added to the end of the text when printing to stdout.
++ */
++void wpa_printf(int level, const char *fmt, ...)
++{
++ va_list ap;
++
++ va_start(ap, fmt);
++ if (level >= wpa_debug_level) {
++#ifdef CONFIG_ANDROID_LOG
++ __android_log_vprint(wpa_to_android_level(level),
++ ANDROID_LOG_NAME, fmt, ap);
++#else /* CONFIG_ANDROID_LOG */
++#ifdef CONFIG_DEBUG_SYSLOG
++ if (wpa_debug_syslog) {
++ vsyslog(syslog_priority(level), fmt, ap);
++ } else {
++#endif /* CONFIG_DEBUG_SYSLOG */
++ wpa_debug_print_timestamp();
++#ifdef CONFIG_DEBUG_FILE
++ if (out_file) {
++ vfprintf(out_file, fmt, ap);
++ fprintf(out_file, "\n");
++ } else {
++#endif /* CONFIG_DEBUG_FILE */
++ vprintf(fmt, ap);
++ printf("\n");
++#ifdef CONFIG_DEBUG_FILE
++ }
++#endif /* CONFIG_DEBUG_FILE */
++#ifdef CONFIG_DEBUG_SYSLOG
++ }
++#endif /* CONFIG_DEBUG_SYSLOG */
++#endif /* CONFIG_ANDROID_LOG */
++ }
++ va_end(ap);
++
++#ifdef CONFIG_DEBUG_LINUX_TRACING
++ if (wpa_debug_tracing_file != NULL) {
++ va_start(ap, fmt);
++ fprintf(wpa_debug_tracing_file, WPAS_TRACE_PFX, level);
++ vfprintf(wpa_debug_tracing_file, fmt, ap);
++ fprintf(wpa_debug_tracing_file, "\n");
++ fflush(wpa_debug_tracing_file);
++ va_end(ap);
++ }
++#endif /* CONFIG_DEBUG_LINUX_TRACING */
++}
++
++
++static void _wpa_hexdump(int level, const char *title, const u8 *buf,
++ size_t len, int show)
++{
++ size_t i;
++
++#ifdef CONFIG_DEBUG_LINUX_TRACING
++ if (wpa_debug_tracing_file != NULL) {
++ fprintf(wpa_debug_tracing_file,
++ WPAS_TRACE_PFX "%s - hexdump(len=%lu):",
++ level, title, (unsigned long) len);
++ if (buf == NULL) {
++ fprintf(wpa_debug_tracing_file, " [NULL]\n");
++ } else if (!show) {
++ fprintf(wpa_debug_tracing_file, " [REMOVED]\n");
++ } else {
++ for (i = 0; i < len; i++)
++ fprintf(wpa_debug_tracing_file,
++ " %02x", buf[i]);
++ }
++ fflush(wpa_debug_tracing_file);
++ }
++#endif /* CONFIG_DEBUG_LINUX_TRACING */
++
++ if (level < wpa_debug_level)
++ return;
++#ifdef CONFIG_ANDROID_LOG
++ {
++ const char *display;
++ char *strbuf = NULL;
++ size_t slen = len;
++ if (buf == NULL) {
++ display = " [NULL]";
++ } else if (len == 0) {
++ display = "";
++ } else if (show && len) {
++ /* Limit debug message length for Android log */
++ if (slen > 32)
++ slen = 32;
++ strbuf = os_malloc(1 + 3 * slen);
++ if (strbuf == NULL) {
++ wpa_printf(MSG_ERROR, "wpa_hexdump: Failed to "
++ "allocate message buffer");
++ return;
++ }
++
++ for (i = 0; i < slen; i++)
++ os_snprintf(&strbuf[i * 3], 4, " %02x",
++ buf[i]);
++
++ display = strbuf;
++ } else {
++ display = " [REMOVED]";
++ }
++
++ __android_log_print(wpa_to_android_level(level),
++ ANDROID_LOG_NAME,
++ "%s - hexdump(len=%lu):%s%s",
++ title, (long unsigned int) len, display,
++ len > slen ? " ..." : "");
++ os_free(strbuf);
++ return;
++ }
++#else /* CONFIG_ANDROID_LOG */
++#ifdef CONFIG_DEBUG_SYSLOG
++ if (wpa_debug_syslog) {
++ const char *display;
++ char *strbuf = NULL;
++
++ if (buf == NULL) {
++ display = " [NULL]";
++ } else if (len == 0) {
++ display = "";
++ } else if (show && len) {
++ strbuf = os_malloc(1 + 3 * len);
++ if (strbuf == NULL) {
++ wpa_printf(MSG_ERROR, "wpa_hexdump: Failed to "
++ "allocate message buffer");
++ return;
++ }
++
++ for (i = 0; i < len; i++)
++ os_snprintf(&strbuf[i * 3], 4, " %02x",
++ buf[i]);
++
++ display = strbuf;
++ } else {
++ display = " [REMOVED]";
++ }
++
++ syslog(syslog_priority(level), "%s - hexdump(len=%lu):%s",
++ title, (unsigned long) len, display);
++ os_free(strbuf);
++ return;
++ }
++#endif /* CONFIG_DEBUG_SYSLOG */
++ wpa_debug_print_timestamp();
++#ifdef CONFIG_DEBUG_FILE
++ if (out_file) {
++ fprintf(out_file, "%s - hexdump(len=%lu):",
++ title, (unsigned long) len);
++ if (buf == NULL) {
++ fprintf(out_file, " [NULL]");
++ } else if (show) {
++ for (i = 0; i < len; i++)
++ fprintf(out_file, " %02x", buf[i]);
++ } else {
++ fprintf(out_file, " [REMOVED]");
++ }
++ fprintf(out_file, "\n");
++ } else {
++#endif /* CONFIG_DEBUG_FILE */
++ printf("%s - hexdump(len=%lu):", title, (unsigned long) len);
++ if (buf == NULL) {
++ printf(" [NULL]");
++ } else if (show) {
++ for (i = 0; i < len; i++)
++ printf(" %02x", buf[i]);
++ } else {
++ printf(" [REMOVED]");
++ }
++ printf("\n");
++#ifdef CONFIG_DEBUG_FILE
++ }
++#endif /* CONFIG_DEBUG_FILE */
++#endif /* CONFIG_ANDROID_LOG */
++}
++
++void wpa_hexdump(int level, const char *title, const u8 *buf, size_t len)
++{
++ _wpa_hexdump(level, title, buf, len, 1);
++}
++
++
++void wpa_hexdump_key(int level, const char *title, const u8 *buf, size_t len)
++{
++ _wpa_hexdump(level, title, buf, len, wpa_debug_show_keys);
++}
++
++
++static void _wpa_hexdump_ascii(int level, const char *title, const u8 *buf,
++ size_t len, int show)
++{
++ size_t i, llen;
++ const u8 *pos = buf;
++ const size_t line_len = 16;
++
++#ifdef CONFIG_DEBUG_LINUX_TRACING
++ if (wpa_debug_tracing_file != NULL) {
++ fprintf(wpa_debug_tracing_file,
++ WPAS_TRACE_PFX "%s - hexdump_ascii(len=%lu):",
++ level, title, (unsigned long) len);
++ if (buf == NULL) {
++ fprintf(wpa_debug_tracing_file, " [NULL]\n");
++ } else if (!show) {
++ fprintf(wpa_debug_tracing_file, " [REMOVED]\n");
++ } else {
++ /* can do ascii processing in userspace */
++ for (i = 0; i < len; i++)
++ fprintf(wpa_debug_tracing_file,
++ " %02x", buf[i]);
++ }
++ fflush(wpa_debug_tracing_file);
++ }
++#endif /* CONFIG_DEBUG_LINUX_TRACING */
++
++ if (level < wpa_debug_level)
++ return;
++#ifdef CONFIG_ANDROID_LOG
++ _wpa_hexdump(level, title, buf, len, show);
++#else /* CONFIG_ANDROID_LOG */
++ wpa_debug_print_timestamp();
++#ifdef CONFIG_DEBUG_FILE
++ if (out_file) {
++ if (!show) {
++ fprintf(out_file,
++ "%s - hexdump_ascii(len=%lu): [REMOVED]\n",
++ title, (unsigned long) len);
++ return;
++ }
++ if (buf == NULL) {
++ fprintf(out_file,
++ "%s - hexdump_ascii(len=%lu): [NULL]\n",
++ title, (unsigned long) len);
++ return;
++ }
++ fprintf(out_file, "%s - hexdump_ascii(len=%lu):\n",
++ title, (unsigned long) len);
++ while (len) {
++ llen = len > line_len ? line_len : len;
++ fprintf(out_file, " ");
++ for (i = 0; i < llen; i++)
++ fprintf(out_file, " %02x", pos[i]);
++ for (i = llen; i < line_len; i++)
++ fprintf(out_file, " ");
++ fprintf(out_file, " ");
++ for (i = 0; i < llen; i++) {
++ if (isprint(pos[i]))
++ fprintf(out_file, "%c", pos[i]);
++ else
++ fprintf(out_file, "_");
++ }
++ for (i = llen; i < line_len; i++)
++ fprintf(out_file, " ");
++ fprintf(out_file, "\n");
++ pos += llen;
++ len -= llen;
++ }
++ } else {
++#endif /* CONFIG_DEBUG_FILE */
++ if (!show) {
++ printf("%s - hexdump_ascii(len=%lu): [REMOVED]\n",
++ title, (unsigned long) len);
++ return;
++ }
++ if (buf == NULL) {
++ printf("%s - hexdump_ascii(len=%lu): [NULL]\n",
++ title, (unsigned long) len);
++ return;
++ }
++ printf("%s - hexdump_ascii(len=%lu):\n", title, (unsigned long) len);
++ while (len) {
++ llen = len > line_len ? line_len : len;
++ printf(" ");
++ for (i = 0; i < llen; i++)
++ printf(" %02x", pos[i]);
++ for (i = llen; i < line_len; i++)
++ printf(" ");
++ printf(" ");
++ for (i = 0; i < llen; i++) {
++ if (isprint(pos[i]))
++ printf("%c", pos[i]);
++ else
++ printf("_");
++ }
++ for (i = llen; i < line_len; i++)
++ printf(" ");
++ printf("\n");
++ pos += llen;
++ len -= llen;
++ }
++#ifdef CONFIG_DEBUG_FILE
++ }
++#endif /* CONFIG_DEBUG_FILE */
++#endif /* CONFIG_ANDROID_LOG */
++}
++
++
++void wpa_hexdump_ascii(int level, const char *title, const u8 *buf, size_t len)
++{
++ _wpa_hexdump_ascii(level, title, buf, len, 1);
++}
++
++
++void wpa_hexdump_ascii_key(int level, const char *title, const u8 *buf,
++ size_t len)
++{
++ _wpa_hexdump_ascii(level, title, buf, len, wpa_debug_show_keys);
++}
++
++
++#ifdef CONFIG_DEBUG_FILE
++static char *last_path = NULL;
++#endif /* CONFIG_DEBUG_FILE */
++
++int wpa_debug_reopen_file(void)
++{
++#ifdef CONFIG_DEBUG_FILE
++ int rv;
++ if (last_path) {
++ char *tmp = os_strdup(last_path);
++ wpa_debug_close_file();
++ rv = wpa_debug_open_file(tmp);
++ os_free(tmp);
++ } else {
++ wpa_printf(MSG_ERROR, "Last-path was not set, cannot "
++ "re-open log file.");
++ rv = -1;
++ }
++ return rv;
++#else /* CONFIG_DEBUG_FILE */
++ return 0;
++#endif /* CONFIG_DEBUG_FILE */
++}
++
++
++int wpa_debug_open_file(const char *path)
++{
++#ifdef CONFIG_DEBUG_FILE
++ if (!path)
++ return 0;
++
++ if (last_path == NULL || os_strcmp(last_path, path) != 0) {
++ /* Save our path to enable re-open */
++ os_free(last_path);
++ last_path = os_strdup(path);
++ }
++
++ out_file = fopen(path, "a");
++ if (out_file == NULL) {
++ wpa_printf(MSG_ERROR, "wpa_debug_open_file: Failed to open "
++ "output file, using standard output");
++ return -1;
++ }
++#ifndef _WIN32
++ setvbuf(out_file, NULL, _IOLBF, 0);
++#endif /* _WIN32 */
++#endif /* CONFIG_DEBUG_FILE */
++ return 0;
++}
++
++
++void wpa_debug_close_file(void)
++{
++#ifdef CONFIG_DEBUG_FILE
++ if (!out_file)
++ return;
++ fclose(out_file);
++ out_file = NULL;
++ os_free(last_path);
++ last_path = NULL;
++#endif /* CONFIG_DEBUG_FILE */
++}
++
++#endif /* CONFIG_NO_STDOUT_DEBUG */
++
++
++#ifndef CONFIG_NO_WPA_MSG
++static wpa_msg_cb_func wpa_msg_cb = NULL;
++
++void wpa_msg_register_cb(wpa_msg_cb_func func)
++{
++ wpa_msg_cb = func;
++}
++
++
++static wpa_msg_get_ifname_func wpa_msg_ifname_cb = NULL;
++
++void wpa_msg_register_ifname_cb(wpa_msg_get_ifname_func func)
++{
++ wpa_msg_ifname_cb = func;
++}
++
++
++void wpa_msg(void *ctx, int level, const char *fmt, ...)
++{
++ va_list ap;
++ char *buf;
++ const int buflen = 2048;
++ int len;
++ char prefix[130];
++
++ buf = os_malloc(buflen);
++ if (buf == NULL) {
++ wpa_printf(MSG_ERROR, "wpa_msg: Failed to allocate message "
++ "buffer");
++ return;
++ }
++ va_start(ap, fmt);
++ prefix[0] = '\0';
++ if (wpa_msg_ifname_cb) {
++ const char *ifname = wpa_msg_ifname_cb(ctx);
++ if (ifname) {
++ int res = os_snprintf(prefix, sizeof(prefix), "%s: ",
++ ifname);
++ if (res < 0 || res >= (int) sizeof(prefix))
++ prefix[0] = '\0';
++ }
++ }
++ len = vsnprintf(buf, buflen, fmt, ap);
++ va_end(ap);
++ wpa_printf(level, "%s%s", prefix, buf);
++ if (wpa_msg_cb)
++ wpa_msg_cb(ctx, level, buf, len);
++ os_free(buf);
++}
++
++
++void wpa_msg_ctrl(void *ctx, int level, const char *fmt, ...)
++{
++ va_list ap;
++ char *buf;
++ const int buflen = 2048;
++ int len;
++
++ if (!wpa_msg_cb)
++ return;
++
++ buf = os_malloc(buflen);
++ if (buf == NULL) {
++ wpa_printf(MSG_ERROR, "wpa_msg_ctrl: Failed to allocate "
++ "message buffer");
++ return;
++ }
++ va_start(ap, fmt);
++ len = vsnprintf(buf, buflen, fmt, ap);
++ va_end(ap);
++ wpa_msg_cb(ctx, level, buf, len);
++ os_free(buf);
++}
++#endif /* CONFIG_NO_WPA_MSG */
++
++
++#ifndef CONFIG_NO_HOSTAPD_LOGGER
++static hostapd_logger_cb_func hostapd_logger_cb = NULL;
++
++void hostapd_logger_register_cb(hostapd_logger_cb_func func)
++{
++ hostapd_logger_cb = func;
++}
++
++
++void hostapd_logger(void *ctx, const u8 *addr, unsigned int module, int level,
++ const char *fmt, ...)
++{
++ va_list ap;
++ char *buf;
++ const int buflen = 2048;
++ int len;
++
++ buf = os_malloc(buflen);
++ if (buf == NULL) {
++ wpa_printf(MSG_ERROR, "hostapd_logger: Failed to allocate "
++ "message buffer");
++ return;
++ }
++ va_start(ap, fmt);
++ len = vsnprintf(buf, buflen, fmt, ap);
++ va_end(ap);
++ if (hostapd_logger_cb)
++ hostapd_logger_cb(ctx, addr, module, level, buf, len);
++ else if (addr)
++ wpa_printf(MSG_DEBUG, "hostapd_logger: STA " MACSTR " - %s",
++ MAC2STR(addr), buf);
++ else
++ wpa_printf(MSG_DEBUG, "hostapd_logger: %s", buf);
++ os_free(buf);
++}
++#endif /* CONFIG_NO_HOSTAPD_LOGGER */
diff --git a/source/n/wpa_supplicant/patches/include-unistd_h.diff b/source/n/wpa_supplicant/patches/include-unistd_h.diff
deleted file mode 100644
index a3c6ae83f..000000000
--- a/source/n/wpa_supplicant/patches/include-unistd_h.diff
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Nur wpa_supplicant-1.0-rc3.orig/wpa_supplicant/wpa_gui-qt4/wpagui.cpp wpa_supplicant-1.0-rc3/wpa_supplicant/wpa_gui-qt4/wpagui.cpp
---- wpa_supplicant-1.0-rc3.orig/wpa_supplicant/wpa_gui-qt4/wpagui.cpp 2012-04-16 15:15:40.000000000 -0500
-+++ wpa_supplicant-1.0-rc3/wpa_supplicant/wpa_gui-qt4/wpagui.cpp 2012-05-05 17:04:40.706570034 -0500
-@@ -12,10 +12,8 @@
- * See README and COPYING for more details.
- */
-
--#ifdef __MINGW32__
--/* Need to get getopt() */
-+/* Need to get getopt() regardless with gcc-4.7.x */
- #include <unistd.h>
--#endif
-
- #ifdef CONFIG_NATIVE_WINDOWS
- #include <windows.h>
diff --git a/source/n/wpa_supplicant/patches/libnl3-includes.diff b/source/n/wpa_supplicant/patches/libnl3-includes.diff
deleted file mode 100644
index f8ff01c18..000000000
--- a/source/n/wpa_supplicant/patches/libnl3-includes.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur wpa_supplicant-1.0-rc3.orig/src/drivers/drivers.mak wpa_supplicant-1.0-rc3/src/drivers/drivers.mak
---- wpa_supplicant-1.0-rc3.orig/src/drivers/drivers.mak 2012-04-16 15:15:40.000000000 -0500
-+++ wpa_supplicant-1.0-rc3/src/drivers/drivers.mak 2012-05-05 17:16:01.933597117 -0500
-@@ -48,7 +48,7 @@
- ifdef CONFIG_LIBNL32
- DRV_LIBS += -lnl-3
- DRV_LIBS += -lnl-genl-3
-- DRV_CFLAGS += -DCONFIG_LIBNL20
-+ DRV_CFLAGS += -DCONFIG_LIBNL20 `pkg-config --cflags libnl-3.0`
- else
- ifdef CONFIG_LIBNL_TINY
- DRV_LIBS += -lnl-tiny
diff --git a/source/n/wpa_supplicant/patches/quiet-scan-results-message.diff b/source/n/wpa_supplicant/patches/quiet-scan-results-message.diff
index 2b3eb6726..eda38c772 100644
--- a/source/n/wpa_supplicant/patches/quiet-scan-results-message.diff
+++ b/source/n/wpa_supplicant/patches/quiet-scan-results-message.diff
@@ -1,7 +1,7 @@
-diff -Nur wpa_supplicant-1.0-rc3.orig/wpa_supplicant/events.c wpa_supplicant-1.0-rc3/wpa_supplicant/events.c
---- wpa_supplicant-1.0-rc3.orig/wpa_supplicant/events.c 2012-04-16 15:15:40.000000000 -0500
-+++ wpa_supplicant-1.0-rc3/wpa_supplicant/events.c 2012-05-05 17:02:38.061179720 -0500
-@@ -1076,7 +1076,7 @@
+diff -Nur wpa_supplicant-2.0.orig/wpa_supplicant/events.c wpa_supplicant-2.0/wpa_supplicant/events.c
+--- wpa_supplicant-2.0.orig/wpa_supplicant/events.c 2013-01-12 09:42:53.000000000 -0600
++++ wpa_supplicant-2.0/wpa_supplicant/events.c 2013-05-11 14:08:26.813457800 -0500
+@@ -1147,7 +1147,7 @@
}
wpa_dbg(wpa_s, MSG_DEBUG, "New scan results available");
diff --git a/source/n/wpa_supplicant/patches/squelch-driver-disconnect-spam.diff b/source/n/wpa_supplicant/patches/squelch-driver-disconnect-spam.diff
deleted file mode 100644
index b8d2be6ad..000000000
--- a/source/n/wpa_supplicant/patches/squelch-driver-disconnect-spam.diff
+++ /dev/null
@@ -1,95 +0,0 @@
-diff -Nur wpa_supplicant-1.0-rc3.orig/wpa_supplicant/events.c wpa_supplicant-1.0-rc3/wpa_supplicant/events.c
---- wpa_supplicant-1.0-rc3.orig/wpa_supplicant/events.c 2012-04-16 15:15:40.000000000 -0500
-+++ wpa_supplicant-1.0-rc3/wpa_supplicant/events.c 2012-05-06 01:01:17.529134316 -0500
-@@ -1593,6 +1593,15 @@
- wpa_s->keys_cleared = 0;
- wpa_clear_keys(wpa_s, wpa_s->bssid);
- }
-+
-+ if (wpa_s->wpa_state == WPA_DISCONNECTED) {
-+ wpa_s->disconnect_count++;
-+ if (!eloop_is_timeout_registered(wpa_disconnect_spam_handle, wpa_s, NULL)) {
-+ eloop_register_timeout(6, 0, wpa_disconnect_spam_handle, wpa_s, NULL);
-+ wpa_printf(MSG_DEBUG, "%s: scheduled DISCONNECT spam handler", __FUNCTION__);
-+ }
-+ }
-+
- wpa_supplicant_mark_disassoc(wpa_s);
-
- if (authenticating && (wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME))
-diff -Nur wpa_supplicant-1.0-rc3.orig/wpa_supplicant/wpa_supplicant.c wpa_supplicant-1.0-rc3/wpa_supplicant/wpa_supplicant.c
---- wpa_supplicant-1.0-rc3.orig/wpa_supplicant/wpa_supplicant.c 2012-04-16 15:15:40.000000000 -0500
-+++ wpa_supplicant-1.0-rc3/wpa_supplicant/wpa_supplicant.c 2012-05-06 01:01:17.530134303 -0500
-@@ -434,6 +434,9 @@
-
- wpa_supplicant_cancel_scan(wpa_s);
- wpa_supplicant_cancel_auth_timeout(wpa_s);
-+ if (eloop_is_timeout_registered(wpa_disconnect_spam_handle, wpa_s, NULL))
-+ eloop_cancel_timeout(wpa_disconnect_spam_handle, wpa_s, NULL);
-+
- eloop_cancel_timeout(wpa_supplicant_stop_countermeasures, wpa_s, NULL);
- #ifdef CONFIG_DELAYED_MIC_ERROR_REPORT
- eloop_cancel_timeout(wpa_supplicant_delayed_mic_error_report,
-@@ -592,6 +595,23 @@
- #endif /* CONFIG_BGSCAN */
-
-
-+void wpa_disconnect_spam_handle(void *eloop_ctx, void *timeout_ctx)
-+{
-+ struct wpa_supplicant *wpa_s = eloop_ctx;
-+ const u8 bssid[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
-+
-+ wpa_printf(MSG_DEBUG, "%s: %d disconnect events in 6 seconds",
-+ __FUNCTION__, wpa_s->disconnect_count);
-+
-+ if (wpa_s->disconnect_count >= 3) {
-+ wpa_printf(MSG_DEBUG, "%s: forcing SSID/BSSID reset", __FUNCTION__);
-+ wpa_drv_disassociate(wpa_s, bssid, WLAN_REASON_DEAUTH_LEAVING);
-+ wpa_supplicant_req_scan(wpa_s, 1, 0);
-+ }
-+ wpa_s->disconnect_count = 0;
-+}
-+
-+
- /**
- * wpa_supplicant_set_state - Set current connection state
- * @wpa_s: Pointer to wpa_supplicant data
-@@ -612,6 +632,18 @@
- if (state != WPA_SCANNING)
- wpa_supplicant_notify_scanning(wpa_s, 0);
-
-+ if (state != WPA_DISCONNECTED && state != WPA_SCANNING) {
-+ /* If the state isn't disconnected, cancel any registered
-+ * disconnect spam handler, which should only live while
-+ * disconnect events are coming in quickly.
-+ */
-+ wpa_s->disconnect_count = 0;
-+ if (eloop_is_timeout_registered(wpa_disconnect_spam_handle, wpa_s, NULL)) {
-+ wpa_printf(MSG_DEBUG, "%s: canceling DISCONNECT spam handler", __FUNCTION__);
-+ eloop_cancel_timeout(wpa_disconnect_spam_handle, wpa_s, NULL);
-+ }
-+ }
-+
- if (state == WPA_COMPLETED && wpa_s->new_connection) {
- #if defined(CONFIG_CTRL_IFACE) || !defined(CONFIG_NO_STDOUT_DEBUG)
- struct wpa_ssid *ssid = wpa_s->current_ssid;
-diff -Nur wpa_supplicant-1.0-rc3.orig/wpa_supplicant/wpa_supplicant_i.h wpa_supplicant-1.0-rc3/wpa_supplicant/wpa_supplicant_i.h
---- wpa_supplicant-1.0-rc3.orig/wpa_supplicant/wpa_supplicant_i.h 2012-04-16 15:15:40.000000000 -0500
-+++ wpa_supplicant-1.0-rc3/wpa_supplicant/wpa_supplicant_i.h 2012-05-06 01:01:17.530134303 -0500
-@@ -355,6 +355,8 @@
- struct wps_er *wps_er;
- int blacklist_cleared;
-
-+ int disconnect_count;
-+
- struct wpabuf *pending_eapol_rx;
- struct os_time pending_eapol_rx_time;
- u8 pending_eapol_rx_src[ETH_ALEN];
-@@ -535,6 +537,7 @@
- int sec, int usec);
- void wpa_supplicant_set_state(struct wpa_supplicant *wpa_s,
- enum wpa_states state);
-+void wpa_disconnect_spam_handle(void *eloop_ctx, void *timeout_ctx);
- struct wpa_ssid * wpa_supplicant_get_ssid(struct wpa_supplicant *wpa_s);
- const char * wpa_supplicant_get_eap_mode(struct wpa_supplicant *wpa_s);
- void wpa_supplicant_cancel_auth_timeout(struct wpa_supplicant *wpa_s);
diff --git a/source/n/wpa_supplicant/wpa_supplicant.SlackBuild b/source/n/wpa_supplicant/wpa_supplicant.SlackBuild
index 32165fa90..5cb22daa3 100755
--- a/source/n/wpa_supplicant/wpa_supplicant.SlackBuild
+++ b/source/n/wpa_supplicant/wpa_supplicant.SlackBuild
@@ -22,7 +22,7 @@
# -----------------------------------------------------------------------------
PKGNAM=wpa_supplicant
-VERSION=1.0
+VERSION=2.0
BUILD=${BUILD:-1}
SRCVERSION=$(printf $VERSION | tr _ -)
@@ -76,18 +76,16 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+
# Fixup various paths in the dbus service file
patch -p1 < $CWD/patches/dbus-service-file-args.diff
-# Include unistd.h
-patch -p1 < $CWD/patches/include-unistd_h.diff
-
-# Add libnl3 includes
-patch -p1 < $CWD/patches/libnl3-includes.diff
-
# Eliminate some logspam
patch -p1 < $CWD/patches/quiet-scan-results-message.diff
-patch -p1 < $CWD/patches/squelch-driver-disconnect-spam.diff
+
+# Apply a couple of other patches from Fedora
+patch -p1 < $CWD/patches/assoc-timeout.diff
+patch -p1 < $CWD/patches/flush-debug-output.diff
cd wpa_supplicant
diff --git a/source/n/yptools/yp-tools-2.12.tar.bz2.sign b/source/n/yptools/yp-tools-2.12.tar.bz2.sign
deleted file mode 100644
index a06fde67a..000000000
--- a/source/n/yptools/yp-tools-2.12.tar.bz2.sign
+++ /dev/null
@@ -1,8 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
-Comment: See http://www.kernel.org/signature.html for info
-
-iD8DBQBLzsykyGugalF9Dw4RAtmgAJ4sG0TJzmNkAz7Z+JJFfOjvGlbTGACgir1a
-+uaNv6XQNH7Vu+Saqy/OsL8=
-=EcSX
------END PGP SIGNATURE-----
diff --git a/source/n/yptools/yp-tools-2.14-glibc217-crypt.diff b/source/n/yptools/yp-tools-2.14-glibc217-crypt.diff
new file mode 100644
index 000000000..cce3ad44a
--- /dev/null
+++ b/source/n/yptools/yp-tools-2.14-glibc217-crypt.diff
@@ -0,0 +1,86 @@
+Starting with glibc 2.17 (eglibc 2.17), crypt() fails with EINVAL
+(w/ NULL return) if the salt violates specifications. Additionally,
+on FIPS-140 enabled Linux systems, DES/MD5-encrypted passwords
+passed to crypt() fail with EPERM (w/ NULL return).
+
+If using glibc's crypt(), check return value to avoid a possible
+NULL pointer dereference.
+
+Author: mancha
+
+====
+
+--- yp-tools-2.14/src/yppasswd.c.orig 2010-04-21
++++ yp-tools-2.14/src/yppasswd.c 2013-05-22
+@@ -423,6 +423,7 @@ static int /* return values: 0 = not ok,
+ verifypassword (struct passwd *pwd, char *pwdstr, uid_t uid)
+ {
+ char *p, *q;
++ char *crypted_pass;
+ int ucase, lcase, other, r;
+ int passwdlen;
+
+@@ -448,12 +449,19 @@ verifypassword (struct passwd *pwd, char
+ }
+
+ passwdlen = get_passwd_len (pwd->pw_passwd);
+- if (pwd->pw_passwd[0]
+- && !strncmp (pwd->pw_passwd, crypt (pwdstr, pwd->pw_passwd), passwdlen)
+- && uid)
++ if (pwd->pw_passwd[0] && uid)
+ {
+- fputs (_("You cannot reuse the old password.\n"), stderr);
+- return 0;
++ crypted_pass = crypt (pwdstr, pwd->pw_passwd);
++ if (crypted_pass == NULL)
++ {
++ fputs (_("crypt() call failed.\n"), stderr);
++ return 0;
++ }
++ if (!strncmp (pwd->pw_passwd, crypted_pass, passwdlen))
++ {
++ fputs (_("You cannot reuse the old password.\n"), stderr);
++ return 0;
++ }
+ }
+
+ r = 0;
+@@ -517,6 +525,7 @@ int
+ main (int argc, char **argv)
+ {
+ char *s, *progname, *domainname = NULL, *user = NULL, *master = NULL;
++ char *crypted_pass;
+ int f_flag = 0, l_flag = 0, p_flag = 0, error, status;
+ int hash_id = DES;
+ char rounds[11] = "\0"; /* max length is '999999999$' */
+@@ -738,7 +747,13 @@ main (int argc, char **argv)
+ char *sane_passwd = alloca (passwdlen + 1);
+ strncpy (sane_passwd, pwd->pw_passwd, passwdlen);
+ sane_passwd[passwdlen] = 0;
+- if (strcmp (crypt (s, sane_passwd), sane_passwd))
++ crypted_pass = crypt (s, sane_passwd);
++ if (crypted_pass == NULL)
++ {
++ fprintf (stderr, _("crypt() call failed.\n"));
++ return 1;
++ }
++ if (strcmp (crypted_pass, sane_passwd))
+ {
+ fprintf (stderr, _("Sorry.\n"));
+ return 1;
+@@ -833,7 +848,14 @@ main (int argc, char **argv)
+ break;
+ }
+
+- yppwd.newpw.pw_passwd = strdup (crypt (buf, salt));
++ crypted_pass = crypt (buf, salt);
++ if (crypted_pass == NULL);
++ {
++ printf (_("crypt() call failed - password unchanged.\n"));
++ return 1;
++ }
++
++ yppwd.newpw.pw_passwd = strdup (crypted_pass);
+ }
+
+ if (f_flag)
diff --git a/source/n/yptools/ypbind-mt-1.32.tar.sign b/source/n/yptools/ypbind-mt-1.32.tar.sign
deleted file mode 100644
index 4db7167ee..000000000
--- a/source/n/yptools/ypbind-mt-1.32.tar.sign
+++ /dev/null
@@ -1,8 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
-Comment: See http://www.kernel.org/signature.html for info
-
-iD8DBQBMNHqQyGugalF9Dw4RAiHyAKCMjVXlCljwufPauK/O88jDzHZzsQCePyhN
-lqHDK8Fw5zaXPE4744ydtXY=
-=JpZO
------END PGP SIGNATURE-----
diff --git a/source/n/yptools/ypserv-2.24.tar.sign b/source/n/yptools/ypserv-2.24.tar.sign
deleted file mode 100644
index 061f09789..000000000
--- a/source/n/yptools/ypserv-2.24.tar.sign
+++ /dev/null
@@ -1,8 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
-Comment: See http://www.kernel.org/signature.html for info
-
-iD8DBQBMnHqzyGugalF9Dw4RAtUtAJ4gowJGR0cUlcNEhtLR1EOs6BDvcgCfRu0r
-yTGYZzi5YnUQctBC1d9qgs0=
-=r3GH
------END PGP SIGNATURE-----
diff --git a/source/n/yptools/yptools.SlackBuild b/source/n/yptools/yptools.SlackBuild
index 42d96a30b..7baeeb619 100755
--- a/source/n/yptools/yptools.SlackBuild
+++ b/source/n/yptools/yptools.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,13 +22,13 @@
# Package version number:
-VERSION=2.12
-BUILD=${BUILD:-3}
+VERSION=2.14
+BUILD=${BUILD:-2}
YPTOOLS=$VERSION
-YPBINDMT=1.32
+YPBINDMT=1.37.1
#YPMAKE=0.11
-YPSERV=2.24
+YPSERV=2.31
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -70,6 +70,7 @@ zcat $CWD/nsswitch.conf-nis.gz > $PKG/etc/nsswitch.conf-nis.new
rm -rf yp-tools-$YPTOOLS
tar xvf $CWD/yp-tools-$YPTOOLS.tar.bz2 || exit 1
cd yp-tools-$YPTOOLS || exit 1
+zcat $CWD/yp-tools-2.14-glibc217-crypt.diff.gz | patch -p1 --verbose || exit 1
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/source/t/transfig/transfig.3.2.4-gcc4.patch b/source/t/transfig/transfig.3.2.4-gcc4.patch
deleted file mode 100644
index a8ba41f63..000000000
--- a/source/t/transfig/transfig.3.2.4-gcc4.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -Naur transfig.3.2.4/fig2dev/dev/gensvg.c transfig.3.2.4-gcc4/fig2dev/dev/gensvg.c
---- transfig.3.2.4/fig2dev/dev/gensvg.c 2002-12-18 20:38:18.000000000 -0200
-+++ transfig.3.2.4-gcc4/fig2dev/dev/gensvg.c 2007-02-19 16:59:30.000000000 -0200
-@@ -692,16 +692,14 @@
- if (t->angle != 0) {
- fprintf (tfp, "<g transform=\"translate(%d,%d) rotate(%d)\" >\n",
- (int) (t->base_x * mag), (int) (t->base_y * mag), degrees (t->angle));
-- fprintf (tfp, "<text x=\"0\" y=\"0\" fill=\"#%6.6x\" font-family=\"%s\"
-- font-style=\"%s\" font-weight=\"%s\" font-size=\"%d\" text-anchor=\"%s\" >\n",
-+ fprintf (tfp, "<text x=\"0\" y=\"0\" fill=\"#%6.6x\" font-family=\"%s\" font-style=\"%s\" font-weight=\"%s\" font-size=\"%d\" text-anchor=\"%s\" >\n",
- rgbColorVal (t->color), family[(int) ceil ((t->font + 1) / 4)],
- (t->font % 2 == 0 ? "normal" : "italic"),
- (t->font % 4 < 2 ? "normal" : "bold"), (int) (ceil (t->size * 12 * mag)),
- anchor[t->type]);
- }
- else
-- fprintf (tfp, "<text x=\"%d\" y=\"%d\" fill=\"#%6.6x\" font-family=\"%s\"
-- font-style=\"%s\" font-weight=\"%s\" font-size=\"%d\" text-anchor=\"%s\" >\n",
-+ fprintf (tfp, "<text x=\"%d\" y=\"%d\" fill=\"#%6.6x\" font-family=\"%s\" font-style=\"%s\" font-weight=\"%s\" font-size=\"%d\" text-anchor=\"%s\" >\n",
- (int) (t->base_x * mag), (int) (t->base_y * mag), rgbColorVal (t->color),
- family[(int) ceil ((t->font + 1) / 4)],
- (t->font % 2 == 0 ? "normal" : "italic"),
-diff -Naur transfig.3.2.4/fig2dev/fig2dev.h transfig.3.2.4-gcc4/fig2dev/fig2dev.h
---- transfig.3.2.4/fig2dev/fig2dev.h 2002-12-18 20:45:28.000000000 -0200
-+++ transfig.3.2.4-gcc4/fig2dev/fig2dev.h 2007-02-19 16:58:18.000000000 -0200
-@@ -22,7 +22,7 @@
- #include <sys/file.h>
- #include <signal.h>
- #include <string.h>
--#include <varargs.h>
-+#include <stdarg.h>
- #include <pwd.h>
- #include <errno.h>
- #include <time.h>
diff --git a/source/t/transfig/transfig.SlackBuild b/source/t/transfig/transfig.SlackBuild
index 051fb8a3b..f626635f9 100755
--- a/source/t/transfig/transfig.SlackBuild
+++ b/source/t/transfig/transfig.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,8 @@
PKGNAM=transfig
-VERSION=${VERSION:-3.2.4}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-3.2.5e}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -56,21 +56,23 @@ fi
cd $TMP
rm -rf ${PKGNAM}-${VERSION}
-tar xvf $CWD/${PKGNAM}.$VERSION.tar.gz || exit 1
+tar xvf $CWD/${PKGNAM}.$VERSION.tar.xz || exit 1
cd ${PKGNAM}.$VERSION || exit 1
+find . -name "*.orig" -exec rm "{}" \;
+
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) -o \
+ \( -perm 700 -type d \) \
-exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) -o \
+ \( -perm 700 -type f \) \
-exec chmod 644 {} \;
zcat $CWD/transfig.diff.gz | sed -e "s#/usr/lib/#/usr/lib${LIBDIRSUFFIX}/#" \
| patch -p1 --verbose || exit 1
-zcat $CWD/transfig.3.2.4-gcc4.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/transfig.png14.nodither.diff.gz | patch -p1 --verbose || exit 1
xmkmf || exit 1
make Makefiles || exit 1
diff --git a/source/t/transfig/transfig.diff b/source/t/transfig/transfig.diff
index 40026dd1e..02722cf69 100644
--- a/source/t/transfig/transfig.diff
+++ b/source/t/transfig/transfig.diff
@@ -1,6 +1,6 @@
---- ./fig2dev/Imakefile.orig 2002-12-19 09:33:44.000000000 -0800
-+++ ./fig2dev/Imakefile 2003-03-03 19:58:09.000000000 -0800
-@@ -20,7 +20,7 @@
+--- ./fig2dev/Imakefile.orig 2010-06-02 14:18:16.000000000 -0500
++++ ./fig2dev/Imakefile 2013-09-18 21:09:04.657010139 -0500
+@@ -34,7 +34,7 @@
XCOMM You should point XFIGLIBDIR to the same directory you did when you compiled
XCOMM and installed xfig.
@@ -8,22 +8,13 @@
+XFIGLIBDIR = /usr/lib/X11/xfig
XCOMM ******
- XCOMM If your system has the strerror() function (doesn't have sys_errlist) then
-@@ -73,7 +73,7 @@
- XCOMM Change XPMINC if necessary to point to the include file for xpm (xpm.h)
- XCOMM
-
--XCOMM #define USEXPM
-+#define USEXPM
-
- #ifdef USEXPM
- XPMLIBDIR = $(USRLIBDIR)
-@@ -126,7 +126,7 @@
+ XCOMM If your system doesn't have the strerror() function (has sys_errlist) then
+@@ -141,7 +141,7 @@
#ifdef I18N
I18N_DEFS = -DI18N
-FIG2DEV_LIBDIR = /usr/local/lib/fig2dev
+FIG2DEV_LIBDIR = /usr/lib/X11/fig2dev
- I18N_DEV_DEFS = $(I18N_DEFS) -DFIG2DEV_LIBDIR=\\\"$(FIG2DEV_LIBDIR)\\\"
+ I18N_DEV_DEFS = $(I18N_DEFS) -DFIG2DEV_LIBDIR=$(FIG2DEV_LIBDIR) -DFIG2DEV_LIBDIR_STR=\\\"$(FIG2DEV_LIBDIR)\\\"
- install::
+ #endif /* I18N */
diff --git a/source/t/transfig/transfig.png14.nodither.diff b/source/t/transfig/transfig.png14.nodither.diff
deleted file mode 100644
index 3964955ad..000000000
--- a/source/t/transfig/transfig.png14.nodither.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./fig2dev/dev/readpng.c.orig 2002-12-18 16:40:35.000000000 -0600
-+++ ./fig2dev/dev/readpng.c 2010-02-19 19:25:54.000000000 -0600
-@@ -127,7 +127,7 @@
-
- if (png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette)) {
- png_get_hIST(png_ptr, info_ptr, &histogram);
-- png_set_dither(png_ptr, palette, num_palette, 256, histogram, 0);
-+ /* png_set_dither(png_ptr, palette, num_palette, 256, histogram, 0); */
- }
- }
- if (color_type == PNG_COLOR_TYPE_GRAY || color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
diff --git a/source/t/xfig/xfig-3.2.4-mkstemp.diff b/source/t/xfig/xfig-3.2.4-mkstemp.diff
deleted file mode 100644
index cf6bf2283..000000000
--- a/source/t/xfig/xfig-3.2.4-mkstemp.diff
+++ /dev/null
@@ -1,331 +0,0 @@
---- xfig.3.2.4/f_readeps.c
-+++ xfig.3.2.4/f_readeps.c 2003-05-06 12:07:54.000000000 +0200
-@@ -258,7 +258,7 @@
- char buf[300];
- FILE *tmpfp, *pixfile, *gsfile;
- char *psnam, *driver;
-- int status, wid, ht, nbitmap;
-+ int status, wid, ht, nbitmap, fd;
- char tmpfile[PATH_MAX],
- pixnam[PATH_MAX],
- errnam[PATH_MAX],
-@@ -274,8 +274,12 @@
- /* re-open the pipe */
- close_picfile(file, filetype);
- file = open_picfile(file, &filetype, PIPEOK, pixnam);
-- sprintf(tmpfile, "%s/%s%06d", TMPDIR, "xfig-eps", getpid());
-- if ((tmpfp = fopen(tmpfile, "wb")) == NULL) {
-+ snprintf(tmpfile, sizeof(tmpfile), "%s/xfig-eps.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(tmpfile)) == -1 || (tmpfp = fdopen(fd, "wb")) == NULL) {
-+ if (fd != -1) {
-+ unlink(tmpfile);
-+ close(fd);
-+ }
- file_msg("Couldn't open tmp file %s, %s", tmpfile, strerror(errno));
- return False;
- }
-@@ -284,9 +288,21 @@
- fclose(tmpfp);
- }
- /* make name /TMPDIR/xfig-pic.pix */
-- sprintf(pixnam, "%s/%s%06d.pix", TMPDIR, "xfig-pic", getpid());
-+ snprintf(pixnam, sizeof(pixnam), "%s/xfig-pic.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(pixnam)) == -1) {
-+ file_msg("Couldn't open tmp file %s, %s", pixnam, strerror(errno));
-+ return False;
-+ }
-+ close(fd);
-+
- /* and file name for any error messages from gs */
-- sprintf(errnam, "%s/%s%06d.err", TMPDIR, "xfig-pic", getpid());
-+ snprintf(errnam, sizeof(errnam), "%s/xfig-picerr.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(errnam)) == -1) {
-+ file_msg("Couldn't open tmp file %s, %s", errnam, strerror(errno));
-+ return False;
-+ }
-+ close(fd);
-+
- /* generate gs command line */
- /* for monochrome, use pbm */
- if (tool_cells <= 2 || appres.monochrome) {
---- xfig.3.2.4/f_readgif.c
-+++ xfig.3.2.4/f_readgif.c 2003-05-06 11:56:53.000000000 +0200
-@@ -75,7 +75,7 @@
- char buf[BUFLEN],pcxname[PATH_MAX];
- FILE *giftopcx;
- struct Cmap localColorMap[MAX_COLORMAP_SIZE];
-- int i, stat, size;
-+ int i, stat, size, fd;
- int useGlobalColormap;
- unsigned int bitPixel, red, green, blue;
- unsigned char c;
-@@ -172,7 +172,13 @@
- /* now call giftopnm and ppmtopcx */
-
- /* make name for temp output file */
-- sprintf(pcxname, "%s/%s%06d.pix", TMPDIR, "xfig-pcx", getpid());
-+ snprintf(pcxname, sizeof(pcxname), "%s/xfig-pcx.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(pcxname)) == -1) {
-+ file_msg("Cannot create temporary file\n");
-+ return FileInvalid;
-+ }
-+ close(fd);
-+
- /* make command to convert gif to pcx into temp file */
- sprintf(buf, "giftopnm | ppmtopcx > %s 2> /dev/null", pcxname);
- if ((giftopcx = popen(buf,"w" )) == 0) {
---- xfig.3.2.4/f_readppm.c
-+++ xfig.3.2.4/f_readppm.c 2003-05-06 11:56:53.000000000 +0200
-@@ -33,10 +33,16 @@
- {
- char buf[BUFLEN],pcxname[PATH_MAX];
- FILE *giftopcx;
-- int stat, size;
-+ int stat, size, fd;
-
- /* make name for temp output file */
-- sprintf(pcxname, "%s/%s%06d.pix", TMPDIR, "xfig-pcx", getpid());
-+ snprintf(pcxname, sizeof(pcxname), "%s/xfig-pcx.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(pcxname)) == -1) {
-+ file_msg("Cannot open temp file %s: %s\n", pcxname, strerror(errno));
-+ return FileInvalid;
-+ }
-+ close(fd);
-+
- /* make command to convert gif to pcx into temp file */
- sprintf(buf, "ppmtopcx > %s 2> /dev/null", pcxname);
- if ((giftopcx = popen(buf,"w" )) == 0) {
---- xfig.3.2.4/f_readtif.c
-+++ xfig.3.2.4/f_readtif.c 2003-05-06 11:56:53.000000000 +0200
-@@ -32,11 +32,16 @@
- {
- char buf[2*PATH_MAX+40],pcxname[PATH_MAX];
- FILE *tiftopcx;
-- int stat;
-+ int stat, fd;
-
- /* make name for temp output file */
-- sprintf(pcxname, "%s/%s%06d.pix", TMPDIR, "xfig-pcx", getpid());
--
-+ snprintf(pcxname, sizeof(pcxname), "%s/xfig-pcx.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(pcxname)) == -1) {
-+ file_msg("Cannot open temp file %s: %s\n", pcxname, strerror(errno));
-+ return FileInvalid;
-+ }
-+ close(fd);
-+
- /* make command to convert tif to pnm then to pcx into temp file */
- /* for some reason, tifftopnm requires a file and can't work in a pipe */
- sprintf(buf, "tifftopnm %s 2> /dev/null | ppmtopcx > %s 2> /dev/null",
---- xfig.3.2.4/f_util.c
-+++ xfig.3.2.4/f_util.c 2003-05-06 12:13:22.000000000 +0200
-@@ -902,14 +902,20 @@
- char *name;
- {
- char line[RC_BUFSIZ+1], *tok;
-+ int fd;
-
- /* make a temp filename in the user's home directory so we
- can just rename it to .xfigrc after creating it */
-- sprintf(tmpname, "%s/%s%06d", userhome, "xfig-xfigrc", getpid());
-- tmpf = fopen(tmpname,"wb");
-- if (tmpf == 0) {
-- file_msg("Can't make temporary file for .xfigrc - error: %s",strerror(errno));
-- return -1;
-+ snprintf(tmpname, sizeof(tmpname), "%s/xfig-xfigrc.XXXXXX", userhome);
-+
-+ if ((fd = mkstemp(tmpname)) == -1 || (tmpf = fdopen(fd, "wb")) == NULL) {
-+ file_msg("Can't make temporary file for .xfigrc - error: %s",
-+ strerror(errno));
-+ if (fd != -1) {
-+ unlink(tmpname);
-+ close(fd);
-+ }
-+ return -1;
- }
- /* read the .xfigrc file and write all to temp file except file names */
- xfigrc = fopen(xfigrc_name,"r");
---- xfig.3.2.4/main.c
-+++ xfig.3.2.4/main.c 2003-05-06 11:56:53.000000000 +0200
-@@ -621,8 +621,10 @@
- update_figs = False;
-
- /* get the TMPDIR environment variable for temporary files */
-- if ((TMPDIR = getenv("XFIGTMPDIR"))==NULL)
-- TMPDIR = "/tmp";
-+ if ((TMPDIR = getenv("XFIGTMPDIR"))==NULL) {
-+ if ((TMPDIR = getenv("TMPDIR")) == NULL)
-+ TMPDIR = "/tmp";
-+ }
-
- /* first check args to see if user wants to scale the figure as it is
- read in and make sure it is a resonable (positive) number */
-@@ -1631,7 +1633,14 @@
- if (userhome != NULL && *strcpy(cut_buf_name, userhome) != '\0') {
- strcat(cut_buf_name, "/.xfig");
- } else {
-- sprintf(cut_buf_name, "%s/xfig%06d", TMPDIR, getpid());
-+ int fd;
-+ sprintf(cut_buf_name, "%s/xfig.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(cut_buf_name)) == -1) {
-+ fprintf(stderr, "Can't create temporary file for cut_buff: %s\n",
-+ strerror(errno));
-+ exit(0);
-+ }
-+ close(fd);
- }
- }
-
---- xfig.3.2.4/mode.c
-+++ xfig.3.2.4/mode.c 2003-05-06 11:56:53.000000000 +0200
-@@ -93,7 +93,7 @@
-
- int cur_exp_lang; /* gets initialized in main.c */
- Boolean batch_exists = False;
--char batch_file[32];
-+char batch_file[PATH_MAX];
-
- /*******************************************************************/
- /* If you change the order of the lang_items[] you must change the */
---- xfig.3.2.4/u_print.c
-+++ xfig.3.2.4/u_print.c 2003-05-06 12:18:47.000000000 +0200
-@@ -85,9 +85,16 @@
- char syspr[2*PATH_MAX+200];
- char tmpfile[PATH_MAX];
- char *name;
-+ int fd;
-
-- sprintf(tmpfile, "%s/%s%06d", TMPDIR, "xfig-print", getpid());
-+ snprintf(tmpfile, sizeof(tmpfile), "%s/xfig-print.XXXXXX", TMPDIR);
- warnexist = False;
-+ if ((fd = mkstemp(tmpfile)) == -1) {
-+ file_msg("Can't open temp file %s: %s\n", tmpfile, strerror(errno));
-+ return;
-+ }
-+ close(fd);
-+
- init_write_tmpfile();
- if (write_file(tmpfile, False)) {
- end_write_tmpfile();
-@@ -166,14 +173,21 @@
- char tmp_name[PATH_MAX];
- char tmp_fig_file[PATH_MAX];
- char *outfile, *name, *real_lang;
-+ int fd;
-
- /* if file exists, ask if ok */
- if (!ok_to_write(file, "EXPORT"))
- return (1);
-
-- sprintf(tmp_fig_file, "%s/%s%06d", TMPDIR, "xfig-fig", getpid());
-- /* write the fig objects to a temporary file */
-+ snprintf(tmp_fig_file, sizeof(tmp_fig_file), "%s/xfig-fig.XXXXXX", TMPDIR);
- warnexist = False;
-+ if ((fd = mkstemp(tmp_fig_file)) == -1) {
-+ file_msg("Can't open temp file %s: %s\n", tmp_fig_file,
-+ strerror(errno));
-+ return 1;
-+ }
-+ close(fd);
-+
- init_write_tmpfile();
- if (write_file(tmp_fig_file, False)) {
- end_write_tmpfile();
-@@ -491,10 +505,16 @@
- char errfname[PATH_MAX];
- FILE *errfile;
- char str[400];
-- int status;
-+ int status, fd;
-
- /* make temp filename for any errors */
-- sprintf(errfname, "%s/xfig-export%06d.err", TMPDIR, getpid());
-+ snprintf(errfname, sizeof(errfname), "%s/xfig-export.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(errfname)) == -1) {
-+ file_msg("Can't open temp file %s: %s\n", errfname, strerror(errno));
-+ return 1;
-+ }
-+ close(fd);
-+
- /* direct any output from fig2dev to this file */
- strcat(command, " 2> ");
- strcat(command, errfname);
---- xfig.3.2.4/w_print.c
-+++ xfig.3.2.4/w_print.c 2003-05-06 12:20:46.000000000 +0200
-@@ -289,9 +289,10 @@
- Widget w;
- {
- FILE *infp,*outfp;
-- char tmp_exp_file[32];
-+ char tmp_exp_file[PATH_MAX];
- char str[255];
- char backgrnd[10], grid[80];
-+ int fd;
-
- if (writing_batch || emptyfigure_msg(print_msg))
- return;
-@@ -300,11 +301,20 @@
- /* this could happen if the user presses the button too fast */
- writing_batch = True;
-
-- /* make a temporary name to write the batch stuff to */
-- sprintf(batch_file, "%s/%s%06d", TMPDIR, "xfig-batch", getpid());
- /* make a temporary name to write this figure to */
-- sprintf(tmp_exp_file, "%s/%s%06d", TMPDIR, "xfig-exp", getpid());
-- batch_exists = True;
-+ snprintf(tmp_exp_file, sizeof(tmp_exp_file), "%s/xfig-exp.XXXXXX",
-+ TMPDIR);
-+
-+ if (batch_exists != True) {
-+ /* make a temporary name to write the batch stuff to */
-+ sprintf(batch_file, "%s/xfig-batch.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(batch_file)) == -1) {
-+ file_msg("Error creating temporary file");
-+ return;
-+ }
-+ close(fd);
-+ batch_exists = True;
-+ }
- if (!print_popup)
- create_print_panel(w);
-
-@@ -317,6 +327,12 @@
- /* make a #rrggbb string from the background color */
- make_rgb_string(export_background_color, backgrnd);
-
-+ if ((fd = mkstemp(tmp_exp_file)) == -1) {
-+ file_msg("Error creating temporary file");
-+ return;
-+ }
-+ close(fd);
-+
- /* get grid params and assemble into fig2dev parm */
- get_grid_spec(grid, print_grid_minor_text);
-
---- xfig.3.2.4/w_srchrepl.c
-+++ xfig.3.2.4/w_srchrepl.c 2003-05-06 11:56:53.000000000 +0200
-@@ -795,7 +795,7 @@
- char *cmd;
- char str[300];
- FILE *fp;
-- int len, i;
-+ int len, i, fd;
- Boolean done = FALSE;
- static int lines = 0;
-
-@@ -811,9 +811,12 @@
- }
- lines = 0;
-
-- sprintf(filename, "%s/xfig-spell.%d", TMPDIR, (int)getpid());
-- fp = fopen(filename, "w");
-- if (fp == NULL) {
-+ snprintf(filename, sizeof(filename), "%s/xfig-spell.XXXXXX", TMPDIR);
-+ if ((fd = mkstemp(filename)) == -1 || (fp = fdopen(fd, "w")) == NULL) {
-+ if (fd != -1) {
-+ unlink(filename);
-+ close(fd);
-+ }
- file_msg("Can't open temporary file: %s: %s\n", filename, strerror(errno));
- } else {
- /* locate all text objects and write them to file fp */
diff --git a/source/t/xfig/xfig-3.2.5c.paths.diff b/source/t/xfig/xfig-3.2.5c.paths.diff
new file mode 100644
index 000000000..7c998c6d8
--- /dev/null
+++ b/source/t/xfig/xfig-3.2.5c.paths.diff
@@ -0,0 +1,20 @@
+--- ./Imakefile.orig 2012-08-09 12:14:15.000000000 -0500
++++ ./Imakefile 2013-09-18 17:26:47.819436479 -0500
+@@ -45,7 +45,7 @@
+ XCOMM different tree than the "correct" tree that your X system expects. The usual
+ XCOMM purpose of DESTDIR is to test an install process by installing in a benign area.
+
+-XCOMM XAPPLOADDIR = /home/user/xfig
++XAPPLOADDIR = /etc/X11/app-defaults
+
+ XCOMM Comment out the following definition for XAW3D if you don't to want to use
+ XCOMM the 3d Athena Widget Set
+@@ -174,7 +174,7 @@
+
+ XCOMM XFIGDOCDIR tells where the html and pdf documentation should go
+ XCOMM XFIGDOCDIR = $(DOCDIR)/xfig
+-XFIGDOCDIR = /usr/local/xfig/doc
++XFIGDOCDIR = /usr/doc/xfig-3.2.5c
+
+ XCOMM MANDIR tells where the standard man pages should go (no need to change it
+ XCOMM if you want the man pages installed in the standard place on your system
diff --git a/source/t/xfig/xfig-3.2.5c.skip.missing.html.manpage.diff b/source/t/xfig/xfig-3.2.5c.skip.missing.html.manpage.diff
new file mode 100644
index 000000000..a09cbe439
--- /dev/null
+++ b/source/t/xfig/xfig-3.2.5c.skip.missing.html.manpage.diff
@@ -0,0 +1,10 @@
+--- ./Imakefile.orig 2012-08-09 12:14:15.000000000 -0500
++++ ./Imakefile 2013-09-18 17:20:15.875449009 -0500
+@@ -428,7 +428,6 @@
+ echo Copying pdf and html files to $(DESTDIR)$(XFIGDOCDIR) ; \
+ if [ -d $(DESTDIR)$(XFIGDOCDIR)/html ]; then set +x; \
+ else (set -x; $(MKDIRHIER) $(DESTDIR)$(XFIGDOCDIR)/html ); fi ; \
+- $(INSTALL) -m 644 -c xfig_man.html $(DESTDIR)$(XFIGDOCDIR) ; \
+ $(INSTALL) -m 644 -c xfig_ref_en.pdf $(DESTDIR)$(XFIGDOCDIR) ; \
+ $(INSTALL) -m 644 -c xfig-howto.pdf $(DESTDIR)$(XFIGDOCDIR) ; \
+ if [ -d html ]; then \
diff --git a/source/t/xfig/xfig.3.2.3d-international-std-fonts.diff b/source/t/xfig/xfig.3.2.3d-international-std-fonts.diff
deleted file mode 100644
index 5dbdc2e6e..000000000
--- a/source/t/xfig/xfig.3.2.3d-international-std-fonts.diff
+++ /dev/null
@@ -1,49 +0,0 @@
-diff -ru xfig.3.2.3d.orig/main.c xfig.3.2.3d/main.c
---- xfig.3.2.3d.orig/main.c 2001-01-25 22:49:19.000000000 +0100
-+++ xfig.3.2.3d/main.c 2003-05-09 11:58:41.000000000 +0200
-@@ -259,18 +259,36 @@
- XtOffset(appresPtr, always_use_fontset), XtRBoolean, (caddr_t) & false},
- {"fixedFontSet", "FontSet", XtRFontSet, sizeof(XFontSet),
- XtOffset(appresPtr, fixed_fontset), XtRString,
-- (caddr_t) "-*-times-medium-r-normal--16-*-*-*-*-*-*-*,"
-- "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,*--16-*" },
-+ (caddr_t) "-URW-Nimbus Roman No9 L-medium-r-normal--34-*-*-*-*-*-*-*,"
-+ "-kochi-mincho-medium-r-normal--34-*-*-*-*-*-jisx0208.1983-0,"
-+ "-baekmukttf-batang-medium-r-normal--34-*-*-*-*-*-ksc5601.1987-0,"
-+ "-*-times-medium-r-normal--34-*-*-*-*-*-*-*,"
-+ "-*-*-medium-r-normal--34-*-*-*-*-*-*-*,*--34-*"
-+ "-*-times-medium-r-normal--16-*-*-*-*-*-*-*,"
-+ "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,*--16-*"
-+ },
- {"normalFontSet", "NormalFontSet", XtRFontSet, sizeof(XFontSet),
- XtOffset(appresPtr, normal_fontset), XtRString,
-- (caddr_t) "-*-times-medium-r-normal--16-*-*-*-*-*-*-*,"
-- "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,"
-- "-*-*-*-r-*--16-*-*-*-*-*-*-*" },
-+ (caddr_t) "-URW-Nimbus Roman No9 L-medium-r-normal--34-*-*-*-*-*-*-*,"
-+ "-kochi-mincho-medium-r-normal--34-*-*-*-*-*-jisx0208.1983-0,"
-+ "-baekmukttf-batang-medium-r-normal--34-*-*-*-*-*-ksc5601.1987-0,"
-+ "-*-times-medium-r-normal--34-*-*-*-*-*-*-*,"
-+ "-*-*-medium-r-normal--34-*-*-*-*-*-*-*,"
-+ "-*-*-*-r-*--34-*-*-*-*-*-*-*"
-+ "-*-times-medium-r-normal--16-*-*-*-*-*-*-*,"
-+ "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,*--16-*"
-+ },
- {"boldFontSet", "BoldFontSet", XtRFontSet, sizeof(XFontSet),
- XtOffset(appresPtr, bold_fontset), XtRString,
-- (caddr_t) "-*-times-bold-r-normal--16-*-*-*-*-*-*-*,"
-- "-*-*-bold-r-normal--16-*-*-*-*-*-*-*,"
-- "-*-*-*-r-*--16-*-*-*-*-*-*-*" },
-+ (caddr_t) "-URW-Nimbus Roman No9 L-bold-r-normal--34-*-*-*-*-*-*-*,"
-+ "-kochi-gothic-medium-r-normal--34-*-*-*-*-*-jisx0208.1983-0,"
-+ "-baekmukttf-dotum-medium-r-normal--34-*-*-*-*-*-ksc5601.1987-0,"
-+ "-*-times-bold-r-normal--34-*-*-*-*-*-*-*,"
-+ "-*-*-bold-r-normal--34-*-*-*-*-*-*-*,"
-+ "-*-*-*-r-*--34-*-*-*-*-*-*-*"
-+ "-*-times-medium-r-normal--16-*-*-*-*-*-*-*,"
-+ "-*-*-medium-r-normal--16-*-*-*-*-*-*-*,*--16-*"
-+ },
- {"fontSetSize", "FontSetSize", XtRInt, sizeof(int),
- XtOffset(appresPtr, fontset_size), XtRImmediate, (caddr_t)0 },
- {"inputStyle", "InputStyle", XtRString, sizeof(char *),
-
diff --git a/source/t/xfig/xfig.3.2.3d-xcolor.diff b/source/t/xfig/xfig.3.2.3d-xcolor.diff
deleted file mode 100644
index 11be8a56e..000000000
--- a/source/t/xfig/xfig.3.2.3d-xcolor.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- w_color.c
-+++ w_color.c
-@@ -1288,6 +1288,7 @@
-
- create_cell(indx, color)
- int indx;
-+ XColor color;
- {
- char labl[5];
-
diff --git a/source/t/xfig/xfig.3.2.3d-xim.diff b/source/t/xfig/xfig.3.2.3d-xim.diff
deleted file mode 100644
index 918d00d9f..000000000
--- a/source/t/xfig/xfig.3.2.3d-xim.diff
+++ /dev/null
@@ -1,33 +0,0 @@
---- xfig.3.2.3d/d_text.c
-+++ xfig.3.2.3d/d_text.c
-@@ -1485,6 +1485,7 @@
- int i;
- XVaNestedList preedit_att, status_att;
- XPoint spot;
-+ char *modifier_list;
-
- preferred_style = style_notuseful;
- if (strncasecmp(appres.xim_input_style, "OverTheSpot", 3) == 0)
-@@ -1501,6 +1502,10 @@
- if (preferred_style == style_notuseful) return;
-
- if (appres.DEBUG) fprintf(stderr, "initialize_input_method()...\n");
-+
-+ if((modifier_list = XSetLocaleModifiers("")) == NULL) {
-+ /* printf("Warning: XSetLocaleModifiers() failed.\n"); */
-+ }
-
- xim_im = XOpenIM(XtDisplay(w), NULL, NULL, NULL);
- if (xim_im == NULL) {
-@@ -1517,7 +1522,10 @@
- if (xim_style == 0) xim_style = style_root;
- }
- }
-- if (xim_style != preferred_style) {
-+ if (xim_style != preferred_style
-+ && *modifier_list != '\0'
-+ && ! strstr(modifier_list,"@im=local")
-+ && ! strstr(modifier_list,"@im=none")) {
- fprintf(stderr, "xfig: this input-method doesn't support %s input style\n",
- appres.xim_input_style);
- if (xim_style == 0) {
diff --git a/source/t/xfig/xfig.3.2.4-gcc4.diff b/source/t/xfig/xfig.3.2.4-gcc4.diff
deleted file mode 100644
index d8b8597ff..000000000
--- a/source/t/xfig/xfig.3.2.4-gcc4.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- w_color.c
-+++ w_color.c 2005/08/31 10:42:32
-@@ -1057,7 +1057,7 @@
- {
- F_compound *c;
- int i, count;
-- char buf[10];
-+ char buf[11];
-
- /* keep array of counts of each color */
- for (i=0; i<num_usr_cols; i++)
diff --git a/source/t/xfig/xfig.3.2.4-locale.diff b/source/t/xfig/xfig.3.2.4-locale.diff
deleted file mode 100644
index 5bb9f9252..000000000
--- a/source/t/xfig/xfig.3.2.4-locale.diff
+++ /dev/null
@@ -1,117 +0,0 @@
---- main.c
-+++ main.c 2006-07-31 17:56:25.000000000 +0200
-@@ -62,6 +62,7 @@
- #ifdef I18N
- #include <X11/keysym.h>
- #include <locale.h>
-+#include <langinfo.h>
- #endif /* I18N */
-
- /* EXPORTS */
-@@ -709,11 +710,6 @@ main(argc, argv)
- }
- }
-
--#ifdef I18N
-- setlocale(LC_ALL, "");
-- XtSetLanguageProc(NULL, NULL, NULL);
--#endif /* I18N */
--
- /*
- * save the command line arguments
- */
-@@ -807,6 +803,10 @@ main(argc, argv)
- }
-
- #ifdef I18N
-+ if (NULL == strcasestr(nl_langinfo(CODESET),"ANSI") &&
-+ NULL == strcasestr(nl_langinfo(CODESET),"ISO-8859-1"))
-+ appres.international = True;
-+
- /************************************************************/
- /* if the international option has been set, set the locale */
- /************************************************************/
-@@ -1523,6 +1523,11 @@ setup_visual(argc_p, argv, args)
- */
- tool = XtAppInitialize (&tool_app, "Fig", options, XtNumber (options), argc_p, argv,
- (String *) NULL, args, 0);
-+#ifdef I18N
-+ setlocale(LC_ALL, "");
-+ setlocale(LC_NUMERIC, "C");
-+ XtSetLanguageProc(tool_app, NULL, NULL);
-+#endif /* I18N */
- /* save important info */
- tool_d = XtDisplay(tool);
- tool_s = XtScreen(tool);
---- u_print.c
-+++ u_print.c 2006-11-16 12:45:46.000000000 +0000
-@@ -15,6 +15,7 @@
- *
- */
-
-+#include <locale.h>
- #include "fig.h"
- #include "resources.h"
- #include "mode.h"
-@@ -75,6 +76,7 @@ char *shell_protect_string(string)
- return(buf);
- }
-
-+void
- print_to_printer(printer, backgrnd, mag, print_all_layers, grid, params)
- char printer[];
- char *backgrnd;
-@@ -111,6 +113,8 @@ print_to_printer(printer, backgrnd, mag,
- name = shell_protect_string(cur_filename);
-
- #ifdef I18N
-+ /* set the numeric locale to C so we set decimal points for numbers */
-+ setlocale(LC_NUMERIC, "C");
- sprintf(tmpcmd, "%s %s -L ps -z %s -m %f %s -n %s",
- fig2dev_cmd, appres.international ? appres.fig2dev_localize_option : "",
- #else
-@@ -119,6 +123,10 @@ print_to_printer(printer, backgrnd, mag,
- #endif /* I18N */
- paper_sizes[appres.papersize].sname, mag/100.0,
- appres.landscape ? "-l xxx" : "-p xxx", name);
-+#ifdef I18N
-+ /* reset to original locale */
-+ setlocale(LC_NUMERIC, "");
-+#endif /* I18N */
-
- if (appres.correct_font_size)
- strcat(tmpcmd," -F ");
-@@ -223,9 +231,13 @@ print_to_file(file, lang, mag, xoff, yof
-
- /* start with the command, language and internationalization, if applicable */
- #ifdef I18N
-+ /* set the numeric locale to C so we set decimal points for numbers */
-+ setlocale(LC_NUMERIC, "C");
- sprintf(prcmd, "%s %s -L %s -m %f ",
- fig2dev_cmd, appres.international ? appres.fig2dev_localize_option : "",
- real_lang, mag/100.0);
-+ /* reset to original locale */
-+ setlocale(LC_NUMERIC, "");
- #else
- sprintf(prcmd, "%s -L %s -m %f ", fig2dev_cmd, real_lang, mag/100.0);
- #endif /* I18N */
-@@ -324,6 +336,8 @@ print_to_file(file, lang, mag, xoff, yof
- strcat(tmp_name,"_t");
- /* make it automatically input the postscript/pdf part (-p option) */
- #ifdef I18N
-+ /* set the numeric locale to C so we set decimal points for numbers */
-+ setlocale(LC_NUMERIC, "C");
- sprintf(prcmd, "%s %s -L %s -E %d -p %s -m %f ",
- fig2dev_cmd, appres.international ? appres.fig2dev_localize_option : "",
- #else
-@@ -332,6 +346,10 @@ print_to_file(file, lang, mag, xoff, yof
- #endif /* I18N */
- !strcmp(lang,"pstex")? "pstex_t": "pdftex_t",
- appres.encoding, outfile, mag/100.0);
-+#ifdef I18N
-+ /* reset to original locale */
-+ setlocale(LC_NUMERIC, "");
-+#endif /* I18N */
- /* add the -D +list if user doesn't want all layers printed */
- if (!print_all_layers)
- strcat(prcmd, layers);
diff --git a/source/t/xfig/xfig.3.2.4-null.diff b/source/t/xfig/xfig.3.2.4-null.diff
deleted file mode 100644
index 46120af18..000000000
--- a/source/t/xfig/xfig.3.2.4-null.diff
+++ /dev/null
@@ -1,64 +0,0 @@
---- w_dir.c
-+++ w_dir.c 2004-03-22 12:17:21.000000000 +0000
-@@ -126,6 +126,8 @@
- {
- XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data;
-
-+ if (!ret_struct)
-+ return;
- strcpy(CurrentSelectionName, ret_struct->string);
- FirstArg(XtNstring, CurrentSelectionName);
- if (browse_up) {
-@@ -160,6 +162,8 @@
- {
- XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data;
-
-+ if (!ret_struct)
-+ return;
- strcpy(CurrentSelectionName, ret_struct->string);
- DoChangeDir(CurrentSelectionName);
- }
---- w_library.c
-+++ w_library.c 2004-03-22 12:19:10.000000000 +0000
-@@ -461,6 +461,8 @@
- int new_obj;
- XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data;
-
-+ if (!ret_struct)
-+ return;
- new_obj = ret_struct->list_index;
- if (icons_made) {
- /* unhighlight the current view icon */
---- w_srchrepl.c
-+++ w_srchrepl.c 2004-03-22 12:20:38.000000000 +0000
-@@ -894,6 +894,8 @@
- {
- XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data;
-
-+ if (!ret_struct)
-+ return;
- /* save the selected word */
- strcpy(selected_word, ret_struct->string);
- /* copy the word to the correct_word ascii widget */
---- w_style.c
-+++ w_style.c 2004-03-22 12:13:00.000000000 +0000
-@@ -585,7 +585,8 @@
-
- XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data;
-
-- current_family = ret_struct->list_index;
-+ if (ret_struct)
-+ current_family = ret_struct->list_index;
- current_style = -1;
- style_update ();
- }
-@@ -598,7 +599,8 @@
- {
- XawListReturnStruct *ret_struct = (XawListReturnStruct *) call_data;
-
-- current_style = ret_struct->list_index;
-+ if (ret_struct)
-+ current_style = ret_struct->list_index;
- style_update ();
- cur_updatemask = set_style (&current_family_set[current_family].style[current_style]);
-
diff --git a/source/t/xfig/xfig.3.2.4-quiet.diff b/source/t/xfig/xfig.3.2.4-quiet.diff
deleted file mode 100644
index 36086eaf4..000000000
--- a/source/t/xfig/xfig.3.2.4-quiet.diff
+++ /dev/null
@@ -1,183 +0,0 @@
---- main.c
-+++ main.c 2004-08-25 14:21:34.000000000 +0200
-@@ -1018,6 +1018,11 @@
- setup_sizes(init_canv_wd, init_canv_ht);
- }
-
-+ (void) init_tool_menus();
-+ (void) init_tool_style_panel();
-+ (void) init_tool_ind_pannel();
-+ (void) init_tool_canvas();
-+
- (void) init_main_menus(tool_form, arg_filename);
- (void) init_msg(tool_form);
- (void) init_mousefun(tool_form);
---- w_canvas.c
-+++ w_canvas.c 2004-08-25 14:20:40.000000000 +0200
-@@ -173,6 +173,13 @@
- ~Meta<Key>:EventCanv()\n\
- <Expose>:ExposeCanv()\n";
-
-+void
-+init_tool_canvas(void)
-+{
-+ XtAppAddActions(tool_app, canvas_actions, XtNumber(canvas_actions));
-+}
-+
-+int
- init_canvas(tool)
- Widget tool;
- {
-@@ -193,7 +200,6 @@
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
- canvas_kbd_proc = canvas_locmove_proc = null_proc;
-- XtAppAddActions(tool_app, canvas_actions, XtNumber(canvas_actions));
- XtAugmentTranslations(canvas_sw,
- XtParseTranslationTable(canvas_translations));
- #ifndef NO_COMPKEYDB
-@@ -204,13 +210,14 @@
- }
-
- /* at this point, the canvas widget is realized so we can get the window from it */
--
-+void
- setup_canvas()
- {
- init_grid();
- reset_clip_window();
- }
-
-+void
- canvas_selected(tool, event, params, nparams)
- Widget tool;
- XButtonEvent *event;
---- w_canvas.h
-+++ w_canvas.h 2004-08-25 14:21:18.000000000 +0200
-@@ -35,9 +35,12 @@
- extern void toggle_show_borders();
- extern void clear_canvas();
-
--extern canvas_selected();
-+extern void canvas_selected();
- extern void paste_primary_selection();
-
-+extern void init_tool_canvas(void);
-+extern int init_canvas(Widget tool);
-+
- extern int clip_xmin, clip_ymin, clip_xmax, clip_ymax;
- extern int clip_width, clip_height;
- extern int cur_x, cur_y;
---- w_cmdpanel.c
-+++ w_cmdpanel.c 2004-08-25 14:26:00.000000000 +0200
-@@ -204,6 +204,13 @@
-
- /* command panel */
- void
-+init_tool_menus(void)
-+{
-+ /* add actions to position the menus if the user uses an accelerator */
-+ XtAppAddActions(tool_app, menu_actions, XtNumber(menu_actions));
-+}
-+
-+void
- init_main_menus(tool, filename)
- Widget tool;
- char *filename;
-@@ -212,6 +219,7 @@
- Widget beside = NULL;
- DeclareArgs(11);
-
-+
- FirstArg(XtNborderWidth, 0);
- NextArg(XtNcolormap, tool_cm);
- NextArg(XtNdefaultDistance, 0);
-@@ -246,8 +254,6 @@
- filename_balloon_trigger, (XtPointer) name_panel);
- XtAddEventHandler(name_panel, LeaveWindowMask, False,
- filename_unballoon, (XtPointer) name_panel);
-- /* add actions to position the menus if the user uses an accelerator */
-- XtAppAddActions(tool_app, menu_actions, XtNumber(menu_actions));
- refresh_view_menu();
- }
-
---- w_cmdpanel.h
-+++ w_cmdpanel.h 2004-08-25 14:10:45.000000000 +0200
-@@ -33,6 +33,8 @@
- extern int num_main_menus();
- extern Widget create_menu_item();
- extern void refresh_view_menu();
-+extern void init_tool_menus(void);
-+extern void init_main_menus(Widget tool, char* filename);
-
- /* def for menu */
-
---- w_indpanel.c
-+++ w_indpanel.c 2004-08-25 14:12:57.000000000 +0200
-@@ -476,6 +476,12 @@
- static ind_sw_info upd_sw_info, upd_set_sw_info, upd_clr_sw_info, upd_tog_sw_info;
-
- void
-+init_tool_ind_pannel(void)
-+{
-+ XtAppAddActions(tool_app, ind_actions, XtNumber(ind_actions));
-+}
-+
-+void
- init_ind_panel(tool)
- Widget tool;
- {
-@@ -626,8 +632,6 @@
- ind_box = XtCreateManagedWidget("ind_box", boxWidgetClass, ind_panel,
- Args, ArgCount);
-
-- XtAppAddActions(tool_app, ind_actions, XtNumber(ind_actions));
--
- for (i = 0; i < NUM_IND_SW; ++i) {
- sw = &ind_switches[i];
- sw->panel = (Widget) NULL; /* not created yet */
---- w_indpanel.h
-+++ w_indpanel.h 2004-08-25 14:14:07.000000000 +0200
-@@ -34,6 +34,9 @@
- extern void wheel_inc_zoom(), wheel_dec_zoom();
- #endif /* WHEELMOUSE */
-
-+extern void init_tool_ind_pannel(void);
-+extern void init_ind_panel(Widget tool);
-+
- /* size of buttons in indicator panel */
- #define DEF_IND_SW_HT 34
- #define DEF_IND_SW_WD 64
---- w_style.c
-+++ w_style.c 2004-08-25 14:05:33.000000000 +0200
-@@ -759,6 +759,12 @@
- /**********************************/
-
- void
-+init_tool_style_panel(void)
-+{
-+ XtAppAddActions (tool_app, style_actions, XtNumber (style_actions));
-+}
-+
-+void
- init_manage_style_panel (void)
- {
- char buf[50];
-@@ -966,7 +972,6 @@
- XtAddCallback (style_close_style, XtNcallback,
- (XtCallbackProc) close_style, (XtPointer) NULL);
-
-- XtAppAddActions (tool_app, style_actions, XtNumber (style_actions));
- style_update ();
- }
-
---- w_style.h
-+++ w_style.h 2004-08-25 14:06:27.000000000 +0200
-@@ -14,6 +14,7 @@
- *
- */
-
-+extern void init_tool_style_panel(void);
- extern void init_manage_style_panel(void);
- extern void setup_manage_style_panel(void);
- extern void popup_manage_style_panel(void);
diff --git a/source/t/xfig/xfig.3.2.4-urw-fonts.diff b/source/t/xfig/xfig.3.2.4-urw-fonts.diff
deleted file mode 100644
index 396dead55..000000000
--- a/source/t/xfig/xfig.3.2.4-urw-fonts.diff
+++ /dev/null
@@ -1,152 +0,0 @@
---- u_fonts.c
-+++ u_fonts.c 2005-10-06 18:55:22.000000000 +0200
-@@ -21,7 +21,9 @@
-
- /* X11 font names */
-
--struct _xfstruct x_fontinfo[NUM_FONTS] = {
-+struct _xfstruct x_fontinfo[NUM_FONTS];
-+
-+struct _xfstruct x_adobe_fontinfo[NUM_FONTS] = {
- {"-*-times-medium-r-normal--", (struct xfont*) NULL},
- {"-*-times-medium-i-normal--", (struct xfont*) NULL},
- {"-*-times-bold-r-normal--", (struct xfont*) NULL},
-@@ -59,6 +61,44 @@
- {"-*-itc zapf dingbats-*-*-*--", (struct xfont*) NULL},
- };
-
-+struct _xfstruct x_urw_fontinfo[NUM_FONTS] = {
-+ {"-URW-*Nimbus Roman No9 L-medium-r-normal--", (struct xfont*) NULL}, /* Times-Roman */
-+ {"-URW-*Nimbus Roman No9 L-medium-i-normal--", (struct xfont*) NULL}, /* Times-Italic */
-+ {"-URW-*Nimbus Roman No9 L-bold-r-normal--", (struct xfont*) NULL}, /* Times-Bold */
-+ {"-URW-*Nimbus Roman No9 L-bold-i-normal--", (struct xfont*) NULL}, /* Times-BoldItalic */
-+ {"-URW-*Gothic L-medium-r-normal--", (struct xfont*) NULL}, /* AvantGarde-Book */
-+ {"-URW-*Gothic L-medium-o-normal--", (struct xfont*) NULL}, /* AvantGarde-BookOblique */
-+ {"-URW-*Gothic L-*bold-r-normal--", (struct xfont*) NULL}, /* AvantGarde-Demi */
-+ {"-URW-*Gothic L-*bold-o-normal--", (struct xfont*) NULL}, /* AvantGarde-DemiOblique */
-+ {"-URW-*Bookman L-medium-r-normal--", (struct xfont*) NULL}, /* Bookman-Light */
-+ {"-URW-*Bookman L-medium-i-normal--", (struct xfont*) NULL}, /* Bookman-LightItalic */
-+ {"-URW-*Bookman L-*bold-r-normal--", (struct xfont*) NULL}, /* Bookman-Demi */
-+ {"-URW-*Bookman L-*bold-i-normal--", (struct xfont*) NULL}, /* Bookman-DemiItalic */
-+ {"-URW-*Nimbus Mono L-medium-r-normal--", (struct xfont*) NULL}, /* Courier */
-+ {"-URW-*Nimbus Mono L-medium-o-normal--", (struct xfont*) NULL}, /* Courier-Oblique */
-+ {"-URW-*Nimbus Mono L-bold-r-normal--", (struct xfont*) NULL}, /* Courier-Bold */
-+ {"-URW-*Nimbus Mono L-bold-o-normal--", (struct xfont*) NULL}, /* Courier-BoldOblique */
-+ {"-URW-*Nimbus Sans L-medium-r-normal--", (struct xfont*) NULL}, /* Helvetica */
-+ {"-URW-*Nimbus Sans L-medium-o-normal--", (struct xfont*) NULL}, /* Helvetica-Oblique */
-+ {"-URW-*Nimbus Sans L-bold-r-normal--", (struct xfont*) NULL}, /* Helvetica-Bold */
-+ {"-URW-*Nimbus Sans L-bold-o-normal--", (struct xfont*) NULL}, /* Helvetica-BoldOblique */
-+ {"-URW-*Nimbus Sans L-medium-r-condensed--", (struct xfont*) NULL}, /* Helvetica-Narrow */
-+ {"-URW-*Nimbus Sans L-medium-o-condensed--", (struct xfont*) NULL}, /* Helvetica-Narrow-Oblique */
-+ {"-URW-*Nimbus Sans L-bold-r-condensed--", (struct xfont*) NULL}, /* Helvetica-Narrow-Bold */
-+ {"-URW-*Nimbus Sans L-bold-o-condensed--", (struct xfont*) NULL}, /* Helvetica-Narrow-BoldOblique */
-+ {"-URW-*Century Schoolbook L-medium-r-normal--", (struct xfont*) NULL}, /* NewCenturySchlbk-Roman */
-+ {"-URW-*Century Schoolbook L-medium-i-normal--", (struct xfont*) NULL}, /* NewCenturySchlbk-Italic */
-+ {"-URW-*Century Schoolbook L-bold-r-normal--", (struct xfont*) NULL}, /* NewCenturySchlbk-Bold */
-+ {"-URW-*Century Schoolbook L-bold-i-normal--", (struct xfont*) NULL}, /* NewCenturySchlbk-BoldItalic */
-+ {"-URW-*Palladio L-medium-r-normal--", (struct xfont*) NULL}, /* Palatino-Roman */
-+ {"-URW-*Palladio L-medium-i-normal--", (struct xfont*) NULL}, /* Palatino-Italic */
-+ {"-URW-*Palladio L-bold-r-normal--", (struct xfont*) NULL}, /* Palatino-Bold */
-+ {"-URW-*Palladio L-bold-i-normal--", (struct xfont*) NULL}, /* Palatino-BoldItalic */
-+ {"-URW-*Standard Symbols L-medium-r-normal--", (struct xfont*) NULL}, /* Symbol */
-+ {"-URW-*Chancery L-medium-i-normal--", (struct xfont*) NULL}, /* ZapfChancery-MediumItalic */
-+ {"-URW-*Dingbats-medium-r-normal--", (struct xfont*) NULL}, /* ZapfDingbats */
-+};
-+
- /* Use the following font names for any font that doesn't exist in the table above.
- * These come with the Open Group X distribution so they should be a common set.
- *
---- u_fonts.h
-+++ u_fonts.h 2005-10-06 19:19:30.000000000 +0200
-@@ -32,9 +32,6 @@
-
- extern int psfontnum();
- extern int latexfontnum();
--extern struct _xfstruct x_fontinfo[], x_backup_fontinfo[];
--extern struct _fstruct ps_fontinfo[];
--extern struct _fstruct latex_fontinfo[];
-
- /* element of linked list for each font
- The head of list is for the different font NAMES,
-@@ -61,5 +58,12 @@
- * sizes */
- };
-
-+extern struct _xfstruct x_fontinfo[];
-+extern struct _xfstruct x_urw_fontinfo[];
-+extern struct _xfstruct x_adobe_fontinfo[];
-+extern struct _xfstruct x_backup_fontinfo[];
-+extern struct _fstruct ps_fontinfo[];
-+extern struct _fstruct latex_fontinfo[];
-+
- int x_fontnum();
- #endif /* U_FONTS_H */
---- w_drawprim.c
-+++ w_drawprim.c 2005-10-06 19:12:02.000000000 +0200
-@@ -99,6 +99,22 @@
- appres.buttonFont, appres.normalFont);
- button_font = XLoadQueryFont(tool_d, appres.normalFont);
- }
-+
-+ /*
-+ * Check for URW fonts, if not found use Adobe fonts
-+ */
-+ strcpy(template,x_urw_fontinfo[0].template);
-+ strcat(template,"0-0-*-*-*-*-");
-+ if (strstr(template,"ymbol") == NULL && strstr(template,"ingbats") == NULL)
-+ strcat(template,"ISO8859-*");
-+ else
-+ strcat(template,"*-*");
-+ if ((fontlist = XListFonts(tool_d, template, 1, &count)) == (char**)0)
-+ memcpy(&x_fontinfo, &x_adobe_fontinfo, sizeof(struct _xfstruct) * NUM_FONTS);
-+ else
-+ memcpy(&x_fontinfo, &x_urw_fontinfo, sizeof(struct _xfstruct) * NUM_FONTS);
-+ XFreeFontNames(fontlist);
-+
- /*
- * Now initialize the font structure for the X fonts corresponding to the
- * Postscript fonts for the canvas. OpenWindows can use any LaserWriter
-@@ -119,8 +135,8 @@
- strcpy(template,x_fontinfo[0].template); /* nope, check for font size 0 */
- strcat(template,"0-0-*-*-*-*-");
- /* add ISO8859 (if not Symbol font or ZapfDingbats) to font name */
-- if (strstr(template,"symbol") == NULL &&
-- strstr(template,"zapf dingbats") == NULL)
-+ if (strstr(template,"ymbol") == NULL &&
-+ strstr(template,"ingbats") == NULL)
- strcat(template,"ISO8859-*");
- else
- strcat(template,"*-*");
-@@ -139,8 +155,8 @@
- strcpy(template,x_fontinfo[f].template);
- strcat(template,"*-*-*-*-*-*-");
- /* add ISO8859 (if not Symbol font or ZapfDingbats) to font name */
-- if (strstr(template,"symbol") == NULL &&
-- strstr(template,"zapf dingbats") == NULL)
-+ if (strstr(template,"ymbol") == NULL &&
-+ strstr(template,"ingbats") == NULL)
- strcat(template,"ISO8859-*");
- else
- strcat(template,"*-*");
-@@ -287,8 +303,8 @@
- /* attach pointsize to font name */
- strcat(template,"%d-*-*-*-*-*-");
- /* add ISO8859 (if not Symbol font or ZapfDingbats) to font name */
-- if (strstr(template,"symbol") == NULL &&
-- strstr(template,"zapf dingbats") == NULL)
-+ if (strstr(template,"ymbol") == NULL &&
-+ strstr(template,"ingbats") == NULL)
- strcat(template,"ISO8859-*");
- else
- strcat(template,"*-*");
-@@ -299,8 +315,8 @@
- strcpy(template,x_backup_fontinfo[fnum].template);
- strcat(template,"%d-*-*-*-*-*-");
- /* add ISO8859 (if not Symbol font or ZapfDingbats) to font name */
-- if (strstr(template,"symbol") == NULL &&
-- strstr(template,"zapf dingbats") == NULL)
-+ if (strstr(template,"ymbol") == NULL &&
-+ strstr(template,"ingbats") == NULL)
- strcat(template,"ISO8859-*");
- else
- strcat(template,"*-*");
diff --git a/source/t/xfig/xfig.3.2.4.diff b/source/t/xfig/xfig.3.2.4.diff
deleted file mode 100644
index 821243a65..000000000
--- a/source/t/xfig/xfig.3.2.4.diff
+++ /dev/null
@@ -1,530 +0,0 @@
---- Fig-color.ad
-+++ Fig-color.ad 2008-04-13 20:50:28.000000000 +0200
-@@ -76,6 +76,12 @@ Fig*MenuButton*background: gray83
- ! in the color editor popup
- Fig*mixedEdit.background: gray83
-
-+Fig*mode_panel.background: gray67
-+Fig*mode_panel*topShadow:: white
-+Fig*mode_panel*bottomShadow: gray17
-+Fig*mode_panel*topShadowPixel: white
-+Fig*mode_panel*bottomShadowPixel: gray17
-+
- Fig*cancel.background: gray88
- Fig*dismiss.background: gray88
- Fig*commands*background: gray88
-@@ -85,12 +91,35 @@ Fig*horizontal.background: gray88
-
- Fig*topruler.background: gray95
- Fig*sideruler.background: gray95
-+Fig*topruler.foreground: black
-+Fig*sideruler.foreground: black
-
- ! file panel and scrollbar
-
- Fig*FigList*background: gray95
- Fig*List*background: gray95
--Fig*Scrollbar.background: gray95
-+Fig*Scrollbar.background: gray77
-+Fig*Scrollbar.foreground: gray37
-+Fig*ScrollbarBackground: gray67
-+Fig*ScrollbarForeground: gray37
-+
-+Fig*horizontal.shadowWidth: 2
-+Fig*horizontal.topShadowPixel: gray95
-+Fig*horizontal.bottomShadowPixel: gray37
-+Fig*horizontal.topShadow: gray95
-+Fig*horizontal.bottomShadow: gray37
-+
-+Fig*Scrollbar.shadowWidth: 2
-+Fig*Scrollbar.topShadow: gray95
-+Fig*Scrollbar.bottomShadow: gray37
-+Fig*Scrollbar.topShadowPixel: gray95
-+Fig*Scrollbar.bottomShadowPixel: gray37
-+
-+Fig*stdColor.shadowWidth: 2
-+Fig*stdColor.topShadow: gray95
-+Fig*stdColor.bottomShadow: gray37
-+Fig*stdColor.topShadowPixel: gray95
-+Fig*stdColor.bottomShadowPixel: gray37
-
- Fig*Label.background: gray80
- Fig*ind_box.background: gray80
---- Fig.ad
-+++ Fig.ad 2008-04-13 20:50:28.000000000 +0200
-@@ -10,6 +10,8 @@ Fig.version: 3.2.4
-
- Fig*AllowShellResize: false
-
-+Fig.inches: false
-+
- ! Image editor - can edit imported image
- Fig.image_editor: xv
-
-@@ -20,7 +22,7 @@ Fig.ghostscript: gs
- ! This is for viewing the xfig html reference.
- ! For netscape, this command will open the help pages in a running netscape,
- ! or start a new netscape if one isn't already running
--Fig.browser: netscape -remote 'openFile(%f)' || netscape %f
-+Fig.browser: /usr/bin/firefox %f
-
- ! pdfviewer - put your favorite pdf viewer here.
- ! This is for viewing the xfig how-to guide and man pages
-@@ -99,60 +101,62 @@ Fig.internalborderwidth: 1
- ! I include both for compatibility. Be sure to change both values when
- ! modifying them.
-
-- Fig*horizontal.shadowWidth: 0
-- Fig*horizontal.topShadowPixel: black
-- Fig*horizontal.bottomShadowPixel: white
-- Fig*horizontal.topShadow: black
-- Fig*horizontal.bottomShadow: white
-+Fig*horizontal.shadowWidth: 0
-+Fig*horizontal.topShadowPixel: black
-+Fig*horizontal.bottomShadowPixel: white
-+Fig*horizontal.topShadow: black
-+Fig*horizontal.bottomShadow: white
-
- ! the following is done so the widget set doesn't try to make shades of
- ! the scrollbar shadows (even though the width is 0 it takes more colors)
-- Fig*Scrollbar.shadowWidth: 0
-- Fig*Scrollbar.topShadow: black
-- Fig*Scrollbar.bottomShadow: white
-- Fig*Scrollbar.topShadowPixel: black
-- Fig*Scrollbar.bottomShadowPixel: white
-+
-+Fig*Scrollbar.shadowWidth: 0
-+Fig*Scrollbar.topShadow: black
-+Fig*Scrollbar.bottomShadow: white
-+Fig*Scrollbar.topShadowPixel: black
-+Fig*Scrollbar.bottomShadowPixel: white
-
- ! this is for the standard color buttons in the color panel
-- Fig*stdColor.shadowWidth: 2
-- Fig*stdColor.topShadow: black
-- Fig*stdColor.bottomShadow: white
-- Fig*stdColor.topShadowPixel: black
-- Fig*stdColor.bottomShadowPixel: white
-+
-+Fig*stdColor.shadowWidth: 2
-+Fig*stdColor.topShadow: black
-+Fig*stdColor.bottomShadow: white
-+Fig*stdColor.topShadowPixel: black
-+Fig*stdColor.bottomShadowPixel: white
-
- ! turn off any shadows for the user color cells
-- Fig*colorMemory.shadowWidth: 0
-+Fig*colorMemory.shadowWidth: 0
-
- ! You may need or want to adjust the highlight thickness for the mode
- ! and indicator panels depending on the results. If it is too thick
- ! it will erase part of the button graphics.
-- Fig*mode_panel*highlightThickness: 1
-- Fig*ind_panel.ind_box.button_form.button.highlightThickness: 1
-+Fig*mode_panel*highlightThickness: 1
-+Fig*ind_panel.ind_box.button_form.button.highlightThickness: 1
- ! Same for the popup panels from the indicator panel
-- Fig*set_indicator_panel*Command.highlightThickness: 1
-+Fig*set_indicator_panel*Command.highlightThickness: 1
-
- ! If you use the 3D Athena widget set and the small icons for the mode panel
- ! (because you have a small screen; see Imakefile) you may want to reduce
- ! the shadow width to 1 or 0. Uncomment the following in that case:
--! Fig*mode_panel*shadowWidth: 1
-+Fig*mode_panel*shadowWidth: 1
-
- ! The following is for the update marker in the upper-right corner of the
- ! indicator buttons. You may not want any highlight thickness because
- ! the boxes are so small.
-- Fig*ind_panel.ind_box.button_form.update.highlightThickness: 0
-+Fig*ind_panel.ind_box.button_form.update.highlightThickness: 1
-
- ! This sets the shadows for the spinner arrows
-- Fig*spinup.shadowWidth: 2
-- Fig*spindown.shadowWidth: 2
-+Fig*spinup.shadowWidth: 0
-+Fig*spindown.shadowWidth: 0
-
- ! This gets rid of that funny black line that sometimes borders the canvas
-
-- Fig*canvas.shadowWidth: 0
-+Fig*canvas.shadowWidth: 0
-
- !if on monochrome server, or no Fig-color app-defaults file
- ! This background resource shows between the buttons like a border
-- Fig*mode_panel.background: black
-- Fig*mode_panel.foreground: black
-+Fig*mode_panel.background: black
-+Fig*mode_panel.foreground: black
-
- ! Specify a private Compose key database file. If this resource contains a "/"
- ! then the wired-in name of the xfig global directory won't be prefixed to it.
---- Imakefile
-+++ Imakefile 2008-04-13 20:52:35.000000000 +0200
-@@ -49,7 +49,7 @@ XCOMM Redefine the following if your PNG
- XCOMM are in different places
-
- PNGLIBDIR = $(USRLIBDIR)
--PNGINC = -I/usr/local/include
-+PNGINC = -I/usr/include
-
- XCOMM If don't want JPEG support, comment out the #define USEJPEG line
- XCOMM Uncomment the #define for USEJPEG if you want to be able to import
-@@ -68,8 +68,8 @@ XCOMM You must have version 5b or newer
-
- #ifdef USEJPEG
- #ifdef USEINSTALLEDJPEG
--JPEGLIBDIR = /usr/local/lib
--JPEGINC = -I/usr/include/X11
-+JPEGLIBDIR = /usr/lib
-+JPEGINC = -I/usr/include
- #else
- JPEGLIBDIR = ../jpeg
- JPEGINC = -I$(JPEGLIBDIR)
-@@ -87,8 +87,8 @@ XCOMM in /contrib/libraries.
- XCOMM Change XPMLIBDIR if necessary to point to the xpm library (libXpm)
- XCOMM Change XPMINC if necessary to point to the include file for xpm (xpm.h)
-
--XCOMM #define USEXPM
--XCOMM #define USEXPM_ICON
-+#define USEXPM
-+#define USEXPM_ICON
-
- #ifdef USEXPM
- XPMLIBDIR = $(USRLIBDIR)
-@@ -105,17 +105,20 @@ XCOMM the 3d Athena Widget Set (highly r
- XCOMM Then be sure to change the XAW3DINC to point to the directory where your
- XCOMM 3D Athena widget headers are located
-
--XCOMM #define XAW3D
-+#define XAW3D
-
- #ifdef XAW3D
- XAW3DINC = -I/usr/include/X11/Xaw3d
- DUSEXAW3D = -DXAW3D
- XAWLIB = -lXaw3d
-+#else
-+XAWSRC = SmeBSB.c SimpleMenu.c
-+XAWOBJ = SmeBSB.o SimpleMenu.o
- #endif
-
- XCOMM Uncomment the following if you have a wheel mouse. See docs for description.
-
--XCOMM #define WHEELMOUSE
-+#define WHEELMOUSE
-
- #ifdef WHEELMOUSE
- DUSEWHEELMOUSE = -DWHEELMOUSE
-@@ -154,7 +157,7 @@ XCOMM uncomment the following line if yo
- XCOMM inline functions. With the "INLINE" keyword, you should notice that
- XCOMM the display will be a bit faster in complex figures
-
--XCOMM USEINLINE = -DUSE_INLINE
-+USEINLINE = -DUSE_INLINE
-
- XCOMM use (and change) the following if you want the multi-key data base file
- XCOMM somewhere other than the standard X11 library directory
-@@ -166,7 +169,7 @@ XFIGLIBDIR = $(LIBDIR)/xfig
-
- XCOMM XFIGDOCDIR tells where the html and pdf documentation should go
- XCOMM XFIGDOCDIR = $(DOCDIR)/xfig
--XFIGDOCDIR = /usr/share/doc/xfig
-+XFIGDOCDIR = /usr/share/doc/packages/xfig
-
- XCOMM MANDIR tells where the standard man pages should go (no need to change it
- XCOMM if you want the man pages installed in the standard place on your system
-@@ -200,7 +203,7 @@ XCOMM instead.
- XCOMM Add `-DCACHE_SIZE_LIMIT=xxxx' where xxxx is the cache size in kilobytes.
- XCOMM A cache size of zero turns caching off.
-
--CACHE = -DCACHE_BITMAPS -DCACHE_SIZE_LIMIT=300
-+CACHE = -DCACHE_BITMAPS -DCACHE_SIZE_LIMIT=512 -DMAXNUMPTS=50000 -DBSDLPR
-
- XCOMM For SYSV systems with BSD-style printer command which use lpr instead of
- XCOMM lp (SGI is one such machine), add -DBSDLPR to the DEFINES variable
-@@ -214,6 +217,7 @@ XCOMM number of vertices.
- XCOMM If you want a compiler other than "cc", define it here
-
- XCOMM CC = /opt/SUNWspro/bin/cc
-+CC = gcc
-
- XCOMM *****************************************************
- XCOMM *****************************************************
-@@ -234,7 +238,7 @@ DEPLIBJPEG = $(JPEGLIBDIR)/libjpeg.a
- #endif /* USEJPEG */
-
- #ifdef I18N
--I18N_DEFS = -DI18N -DSETLOCALE
-+I18N_DEFS = -DI18N
- I18N_SRC = w_i18n.c
- I18N_OBJ = w_i18n.o
- #endif
-@@ -304,7 +308,7 @@ XFIGSRC = d_arc.c d_arcbox.c d_box.c d_e
- w_export.c w_file.c w_fontbits.c w_fontpanel.c w_grid.c w_icons.c \
- w_indpanel.c w_library.c w_modepanel.c w_mousefun.c w_msgpanel.c \
- w_print.c w_rottext.c w_rulers.c w_setup.c w_style.c w_util.c w_zoom.c \
-- $(I18N_SRC) SmeCascade.c SmeBSB.c SimpleMenu.c
-+ $(I18N_SRC) SmeCascade.c $(XAWSRC)
-
- XFIGOBJ = d_arc.o d_arcbox.o d_box.o d_ellipse.o d_picobj.o \
- d_subspline.o d_line.o d_regpoly.o d_spline.o d_text.o \
-@@ -326,7 +330,7 @@ XFIGOBJ = d_arc.o d_arcbox.o d_box.o d_e
- w_export.o w_file.o w_fontbits.o w_fontpanel.o w_grid.o w_icons.o \
- w_indpanel.o w_library.o w_modepanel.o w_mousefun.o w_msgpanel.o \
- w_print.o w_rottext.o w_rulers.o w_setup.o w_style.o w_util.o w_zoom.o \
-- $(I18N_OBJ) SmeCascade.o SmeBSB.o SimpleMenu.o
-+ $(I18N_OBJ) SmeCascade.o $(XAWOBJ)
-
- XCOMM Other dependencies should be handled by "make depend"
-
---- e_addpt.c
-+++ e_addpt.c 2008-04-13 20:50:28.000000000 +0200
-@@ -52,6 +52,7 @@ point_adding_selected()
- force_nopositioning();
- force_anglegeom();
- constrained = MOVE_ARB;
-+ reset_action_on();
- }
-
- static void
---- e_align.c
-+++ e_align.c 2008-04-13 20:50:28.000000000 +0200
-@@ -63,6 +63,7 @@ align_selected()
- canvas_middlebut_proc = init_align_canvas;
- canvas_rightbut_proc = null_proc;
- set_cursor(pick15_cursor);
-+ reset_action_on();
- }
-
- /* align objects to the whole canvas */
---- e_arrow.c
-+++ e_arrow.c 2008-04-13 20:50:28.000000000 +0200
-@@ -47,6 +47,7 @@ arrow_head_selected()
- canvas_middlebut_proc = point_search_middle;
- canvas_rightbut_proc = null_proc;
- set_cursor(pick9_cursor);
-+ reset_action_on();
- }
-
- static void
---- e_break.c
-+++ e_break.c 2008-04-13 20:50:28.000000000 +0200
-@@ -43,6 +43,7 @@ break_selected()
- canvas_middlebut_proc = object_search_middle;
- canvas_rightbut_proc = null_proc;
- set_cursor(pick15_cursor);
-+ reset_action_on();
- }
-
- static void
-@@ -82,8 +83,10 @@ init_break(p, type, x, y, px, py, loc_ta
- list_delete_compound(&objects.compounds, cur_c);
- tail(&objects, &object_tails);
- append_objects(&objects, cur_c, &object_tails);
-+#if 0
- /* add the depths from this compound */
- add_compound_depth(cur_c);
-+#endif
- toggle_markers_in_compound(cur_c);
- set_tags(cur_c, loc_tag);
- set_action(F_BREAK);
---- e_convert.c
-+++ e_convert.c 2008-04-13 20:50:28.000000000 +0200
-@@ -47,6 +47,7 @@ convert_selected()
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = point_search_right;
- set_cursor(pick15_cursor);
-+ reset_action_on();
- }
-
- static void
---- e_deletept.c
-+++ e_deletept.c 2008-04-13 20:50:28.000000000 +0200
-@@ -43,6 +43,7 @@ delete_point_selected()
- canvas_middlebut_proc = null_proc;
- canvas_rightbut_proc = null_proc;
- set_cursor(pick9_cursor);
-+ reset_action_on();
- }
-
- static void
---- e_flip.c
-+++ e_flip.c 2008-04-13 20:50:28.000000000 +0200
-@@ -61,6 +61,7 @@ flip_ud_selected()
- setcenter = 0;
- setanchor = 0;
- flip_selected();
-+ reset_action_on();
- }
-
- void
-@@ -76,6 +77,7 @@ flip_lr_selected()
- setcenter = 0;
- setanchor = 0;
- flip_selected();
-+ reset_action_on();
- }
-
- static void
---- e_movept.c
-+++ e_movept.c 2008-04-13 20:50:28.000000000 +0200
-@@ -80,6 +80,7 @@ move_point_selected()
- canvas_rightbut_proc = null_proc;
- set_cursor(pick9_cursor);
- force_anglegeom();
-+ reset_action_on();
- }
-
- static void
---- e_rotate.c
-+++ e_rotate.c 2008-04-13 20:50:28.000000000 +0200
-@@ -94,6 +94,7 @@ rotate_selected()
- canvas_middlebut_proc = object_search_middle;
- canvas_rightbut_proc = set_unset_center;
- set_cursor(pick15_cursor);
-+ reset_action_on();
- }
-
- static void
---- e_update.c
-+++ e_update.c 2008-04-13 20:50:28.000000000 +0200
-@@ -64,6 +64,7 @@ update_selected()
- set_cursor(pick9_cursor);
- /* manage on the update buttons */
- manage_update_buts();
-+ reset_action_on();
- }
-
- static int
---- fig.h
-+++ fig.h 2008-04-13 20:50:28.000000000 +0200
-@@ -26,6 +26,7 @@ extern char *my_strdup();
- #if defined(ultrix) || defined(__bsdi__) || defined(Mips) || defined(apollo)
- #include <sys/types.h> /* for stat structure */
- #endif
-+#include <sys/param.h>
- #include <sys/stat.h>
-
- #if defined(__convex__) && defined(__STDC__)
---- mode.h
-+++ mode.h 2008-04-13 20:50:28.000000000 +0200
-@@ -19,7 +19,7 @@
- #define MODE_H
-
- #define F_NULL 0
--#define FIRST_DRAW_MODE F_CIRCLE_BY_RAD
-+#define FIRST_DRAW_MODE F_CIRCLE_BY_RAD
- #define F_CIRCLE_BY_RAD 1
- #define F_CIRCLE_BY_DIA 2
- #define F_ELLIPSE_BY_RAD 3
-@@ -38,7 +38,7 @@
- #define F_PICOBJ 16
- #define F_PLACE_LIB_OBJ 17
-
--#define FIRST_EDIT_MODE F_GLUE
-+#define FIRST_EDIT_MODE F_GLUE
- #define F_GLUE 30
- #define F_BREAK 31
- #define F_SCALE 32
---- w_canvas.c
-+++ w_canvas.c 2008-04-13 20:50:28.000000000 +0200
-@@ -536,6 +536,7 @@ reset_click_counter(widget, closure, eve
-
- /* clear the canvas - this can't be called to clear a pixmap, only a window */
-
-+void
- clear_canvas()
- {
- /* clear the splash graphic if it is still on the screen */
---- w_canvas.h
-+++ w_canvas.h 2008-04-13 20:50:28.000000000 +0200
-@@ -33,6 +33,7 @@ extern void toggle_show_balloons();
- extern void toggle_show_lengths();
- extern void toggle_show_vertexnums();
- extern void toggle_show_borders();
-+extern void clear_canvas();
-
- extern void canvas_selected();
- extern void paste_primary_selection();
---- w_menuentry.c
-+++ w_menuentry.c 2008-04-13 20:50:28.000000000 +0200
-@@ -170,7 +170,8 @@ Region region;
- gc = entry->sme_bsb.norm_gray_gc;
- }
-
-- if (entry->sme_bsb.label != NULL) {
-+/* if (entry->sme_bsb.label != NULL) { */
-+ if (entry->sme_bsb.label == XtName((Widget)(entry))) {
- int x_loc = entry->sme_bsb.left_margin;
- int len = strlen(entry->sme_bsb.label);
- char * label = entry->sme_bsb.label;
---- w_srchrepl.c
-+++ w_srchrepl.c 2008-04-13 20:50:28.000000000 +0200
-@@ -56,7 +56,6 @@ There is currently no way to undo replac
- #include "w_util.h"
- #include "u_create.h"
- #include <stdarg.h>
--
- #define MAX_MISSPELLED_WORDS 200
- #define SEARCH_WIDTH 496 /* width of search message and results */
-
---- w_util.c
-+++ w_util.c 2008-04-13 20:50:28.000000000 +0200
-@@ -1102,7 +1102,7 @@ check_action_on()
- finish_text_input(0,0,0);/* finish up any text input */
- else {
- if (cur_mode == F_PLACE_LIB_OBJ)
-- cancel_place_lib_obj();
-+ cancel_place_lib_obj(0, 0, 0);
- else {
- put_msg("Finish (or cancel) the current operation before changing modes");
- beep();
---- Doc/xfig.html
-+++ Doc/xfig.html 2008-04-13 20:50:28.000000000 +0200
-@@ -848,6 +848,20 @@ between all buttons and panels (default
- </DL>
- <P>
-
-+<B>-international</B>
-+
-+<DL COMPACT>
-+<DT><DD>
-+Switch on international support (mainly Japanese
-+and Korean), users of ISO Latin 1 (ISO-8859-1)
-+probably should not use this, therefore the international
-+support is switched off by default for locales using ISO-8859-1*
-+codesets. For all other locales this option is already used
-+by default.
-+</DL>
-+
-+<P>
-+
-
- <B>-jpeg</B>[<B>_quality</B>]
-
-@@ -2208,6 +2222,7 @@ inches boolean true
- -metric (false)
- installowncmap boolean false -installowncmap
- internalborderwidth integer 1 -internalBW
-+international boolean false -international
- jpeg_quality integer 75 -jpeg_quality
- justify boolean false -left (false),
- -right (true)
---- Doc/xfig.man
-+++ Doc/xfig.man 2008-04-13 20:50:28.000000000 +0200
-@@ -531,6 +531,15 @@ Use lines of width
- between all buttons and panels (default = 1).
- .\"-------
- .At
-+.BR \-international
-+.Ap
-+Switch on international support (mainly Japanese and Korean),
-+users of ISO Latin 1 (ISO-8859-1) probably should not use this,
-+therefore the international support is switched off by default
-+for locales using ISO-8859-1* codesets. For all other locales this
-+option is already used by default.
-+.\"-------
-+.At
- .BR \-jpeg [ _quality ]
- .I quality
- .Ap
diff --git a/source/t/xfig/xfig.SlackBuild b/source/t/xfig/xfig.SlackBuild
index 00145d311..41f23f126 100755
--- a/source/t/xfig/xfig.SlackBuild
+++ b/source/t/xfig/xfig.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007, 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2007, 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,8 +21,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=3.2.4
-BUILD=${BUILD:-5}
+VERSION=3.2.5c
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -50,40 +50,29 @@ mkdir -p $PKG $TMP
cd $TMP
rm -rf xfig.$VERSION
-tar xvf $CWD/xfig.$VERSION.full.tar.bz2 || exit 1
+tar xvf $CWD/xfig.$VERSION.full.tar.xz || exit 1
cd xfig.$VERSION || exit 1
chown -R root:root .
find . \
- \( -perm 2775 -o -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) -o \
+ \( -perm 700 -type d \) \
-exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) -o \
+ \( -perm 700 -type f \) \
-exec chmod 644 {} \;
-zcat $CWD/xfig-3.2.4-mkstemp.diff.gz | patch -E -p1 --verbose || exit 1
-zcat $CWD/xfig.3.2.3d-international-std-fonts.diff.gz | patch -E -p1 --verbose || exit 1
-zcat $CWD/xfig.3.2.3d-xcolor.diff.gz | patch -E -p0 --verbose || exit 1
-zcat $CWD/xfig.3.2.3d-xim.diff.gz | patch -E -p1 --verbose || exit 1
-zcat $CWD/xfig.3.2.4-gcc4.diff.gz | patch -E -p0 --verbose || exit 1
-zcat $CWD/xfig.3.2.4-locale.diff.gz | patch -E -p0 --verbose || exit 1
-zcat $CWD/xfig.3.2.4-null.diff.gz | patch -E -p0 --verbose || exit 1
-zcat $CWD/xfig.3.2.4-quiet.diff.gz | patch -E -p0 --verbose || exit 1
-zcat $CWD/xfig.3.2.4-urw-fonts.diff.gz | patch -E -p0 --verbose || exit 1
-zcat $CWD/xfig.3.2.4.diff.gz | patch -E -p0 --verbose || exit 1
+zcat $CWD/xfig-3.2.5c.skip.missing.html.manpage.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/xfig-3.2.5c.paths.diff.gz | patch -p1 --verbose || exit 1
# Eliminate menu choice for non-distributed (redundant) PDF documentation:
zcat $CWD/xfig.no.pdf.ref.diff.gz | patch -E -p1 --verbose || exit 1
# Don't install PDF reference manual because the HTML manual is the same thing
# (and also includes a Japanese translation):
zcat $CWD/xfig.no.xfig_ref_en.pdf.diff.gz | patch -E -p1 --verbose || exit 1
-# Use Firefox and xpdf, not netscape and acroread:
zcat $CWD/xfig.fig.ad.diff.gz | patch -E -p1 --verbose || exit 1
-zcat $CWD/xfig.docs.location.diff.gz | patch -E -p1 --verbose || exit 1
-# Drop a call to a function no longer included in libpng-1.4.0 (by default,
-# anyway) to see if it really matters.
-zcat $CWD/xfig.png14.nodither.diff.gz | patch -p1 --verbose || exit 1
xmkmf || exit 1
-make $NUMJOBS || make || exit 1
+make all $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
make install.man DESTDIR=$PKG || exit 1
make install.libs DESTDIR=$PKG || exit 1
diff --git a/source/t/xfig/xfig.docs.location.diff b/source/t/xfig/xfig.docs.location.diff
deleted file mode 100644
index 78385c06c..000000000
--- a/source/t/xfig/xfig.docs.location.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./Imakefile.orig 2007-02-19 03:29:55.000000000 -0600
-+++ ./Imakefile 2007-02-19 03:32:49.000000000 -0600
-@@ -169,7 +169,7 @@
-
- XCOMM XFIGDOCDIR tells where the html and pdf documentation should go
- XCOMM XFIGDOCDIR = $(DOCDIR)/xfig
--XFIGDOCDIR = /usr/share/doc/packages/xfig
-+XFIGDOCDIR = /usr/doc/xfig-3.2.4
-
- XCOMM MANDIR tells where the standard man pages should go (no need to change it
- XCOMM if you want the man pages installed in the standard place on your system
diff --git a/source/t/xfig/xfig.fig.ad.diff b/source/t/xfig/xfig.fig.ad.diff
index a6a763a15..a6082accb 100644
--- a/source/t/xfig/xfig.fig.ad.diff
+++ b/source/t/xfig/xfig.fig.ad.diff
@@ -1,30 +1,11 @@
---- ./Fig.ad.orig 2007-02-19 03:01:42.000000000 -0600
-+++ ./Fig.ad 2007-02-19 03:05:49.000000000 -0600
-@@ -22,16 +22,24 @@
- ! This is for viewing the xfig html reference.
- ! For netscape, this command will open the help pages in a running netscape,
- ! or start a new netscape if one isn't already running
--Fig.browser: /usr/bin/firefox %f
-+! Fig.browser: netscape -remote 'openFile(%f)' || netscape %f
-+! This example might work the same for SeaMonkey:
-+! Fig.browser: seamonkey -remote 'openFile(%f)' || seamonkey %f
-+! By default, let's try Firefox:
-+Fig.browser: firefox %f
-
- ! pdfviewer - put your favorite pdf viewer here.
- ! This is for viewing the xfig how-to guide and man pages
--Fig.pdfviewer: acroread %f
-+! Fig.pdfviewer: acroread %f
-+! Fig.pdfviewer: kpdf %f
-+Fig.pdfviewer: xpdf %f
-
+--- ./Fig.ad.orig 2012-02-16 14:21:34.000000000 -0600
++++ ./Fig.ad 2013-09-18 17:39:13.523412641 -0500
+@@ -34,7 +34,7 @@
! Spell check program - put your favorite spelling check program here.
! It must write the misspelled words to standard output.
-Fig.spellcheckcommand: spell %f
-+! Fig.spellcheckcommand: spell %f
-+! Fig.spellcheckcommand: aspell -a %f
-+Fig.spellcheckcommand: aspell -a %f
++Fig.spellcheckcommand: aspell -a %f
! delay before spinner automatically counts when pressed (milliseconds)
Fig.spinner_delay: 1000
diff --git a/source/t/xfig/xfig.no.pdf.ref.diff b/source/t/xfig/xfig.no.pdf.ref.diff
index 5e694ab8c..ab6c80b6e 100644
--- a/source/t/xfig/xfig.no.pdf.ref.diff
+++ b/source/t/xfig/xfig.no.pdf.ref.diff
@@ -1,13 +1,13 @@
---- ./w_cmdpanel.c.orig 2006-08-14 18:53:22.000000000 -0500
-+++ ./w_cmdpanel.c 2006-08-14 18:55:02.000000000 -0500
-@@ -176,7 +176,9 @@
+--- ./w_cmdpanel.c.orig 2013-06-14 17:39:29.000000000 -0500
++++ ./w_cmdpanel.c 2013-09-18 17:32:05.187426334 -0500
+@@ -215,7 +215,9 @@
+ menu_def help_menu_items[] = {
+ {"Xfig Reference (HTML)...", 0, launch_refman, False},
+ #ifdef FIXED_JAPANESE_PDF
+- {"Xfig Reference (PDF, English)...", 0, launch_refpdf_en, False},
++ /* Why both a PDF and an HTML that are the same? Remove redundant option */
++ /* and don't distribute the English PDF with the Slackware package. */
++ /* {"Xfig Reference (PDF)...", 0, launch_refpdf_en}, */
/* Tom Sato said that the Japanese version of the pdf looked ugly so we'll not distribute it now */
- {"Xfig Reference (PDF, Japanese)...", 0, launch_refpdf_jp}
+ {"Xfig Reference (PDF, Japanese)...", 0, launch_refpdf_jp, False},
#else
-- {"Xfig Reference (PDF)...", 0, launch_refpdf_en},
-+ /* Why both a PDF and an HTML that are the same? Remove redundant option */
-+ /* and don't distribute the English PDF with the Slackware package. */
-+ /* {"Xfig Reference (PDF)...", 0, launch_refpdf_en}, */
- #endif /* FIXED_JAPANESE_PDF */
- {"Xfig Man Pages (HTML)...", 5, launch_man},
- {"How-To Guide (PDF)...", 0, launch_howto},
diff --git a/source/t/xfig/xfig.no.xfig_ref_en.pdf.diff b/source/t/xfig/xfig.no.xfig_ref_en.pdf.diff
index e0b9f9efc..360ba6a3a 100644
--- a/source/t/xfig/xfig.no.xfig_ref_en.pdf.diff
+++ b/source/t/xfig/xfig.no.xfig_ref_en.pdf.diff
@@ -1,10 +1,10 @@
---- ./Imakefile.orig 2002-12-19 11:57:11.000000000 -0600
-+++ ./Imakefile 2006-08-14 19:20:56.000000000 -0500
-@@ -408,7 +408,6 @@
- @(cd Doc ; \
+--- ./Imakefile.orig 2013-09-18 17:32:24.193425727 -0500
++++ ./Imakefile 2013-09-18 17:33:38.835423340 -0500
+@@ -428,7 +428,6 @@
echo Copying pdf and html files to $(DESTDIR)$(XFIGDOCDIR) ; \
- $(INSTALL) -m 644 -c xfig_man.html $(DESTDIR)$(XFIGDOCDIR) ; \
-- $(INSTALL) -m 644 -c xfig_ref_en.pdf $(DESTDIR)$(XFIGDOCDIR) ; \
- $(INSTALL) -m 644 -c xfig-howto.pdf $(DESTDIR)$(XFIGDOCDIR) ; \
if [ -d $(DESTDIR)$(XFIGDOCDIR)/html ]; then set +x; \
else (set -x; $(MKDIRHIER) $(DESTDIR)$(XFIGDOCDIR)/html ); fi ; \
+- $(INSTALL) -m 644 -c xfig_ref_en.pdf $(DESTDIR)$(XFIGDOCDIR) ; \
+ $(INSTALL) -m 644 -c xfig-howto.pdf $(DESTDIR)$(XFIGDOCDIR) ; \
+ if [ -d html ]; then \
+ ( cd html ; tar cf - *.* images ) | ( cd $(DESTDIR)$(XFIGDOCDIR)/html ; tar xf - ) ; fi ; \
diff --git a/source/t/xfig/xfig.png14.nodither.diff b/source/t/xfig/xfig.png14.nodither.diff
deleted file mode 100644
index 512e236ab..000000000
--- a/source/t/xfig/xfig.png14.nodither.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./f_readpng.c.orig 2002-09-19 16:07:59.000000000 -0500
-+++ ./f_readpng.c 2010-02-19 19:31:42.000000000 -0600
-@@ -133,7 +133,7 @@
-
- if (png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette)) {
- png_get_hIST(png_ptr, info_ptr, &histogram);
-- png_set_dither(png_ptr, palette, num_palette, 256, histogram, 0);
-+ /* png_set_dither(png_ptr, palette, num_palette, 256, histogram, 0); */
- }
- }
- if (color_type == PNG_COLOR_TYPE_GRAY || color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
diff --git a/source/tcl/expect/expect.SlackBuild b/source/tcl/expect/expect.SlackBuild
index eb4806861..42575f8fa 100755
--- a/source/tcl/expect/expect.SlackBuild
+++ b/source/tcl/expect/expect.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,8 @@
PKGNAM=expect
VERSION=5.44.1.15
-TCLVER=8.5.8
-BUILD=${BUILD:-1}
+TCLVER=8.6.0
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/tcl/hfsutils/hfsutils.SlackBuild b/source/tcl/hfsutils/hfsutils.SlackBuild
index 5ab0f11dd..fb70461d5 100755
--- a/source/tcl/hfsutils/hfsutils.SlackBuild
+++ b/source/tcl/hfsutils/hfsutils.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=hfsutils
VERSION=${VERSION:-3.2.6}
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-5}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -73,6 +73,7 @@ find . \
# Configure:
CFLAGS="$SLKCFLAGS" \
+CPPFLAGS="-DUSE_INTERP_RESULT" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@@ -80,7 +81,7 @@ CFLAGS="$SLKCFLAGS" \
--with-tcl=/usr/lib${LIBDIRSUFFIX} \
--with-tk=/usr/lib${LIBDIRSUFFIX} \
--enable-devlibs \
- --build=$ARCH-slackware-linux
+ --build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make hfsck/hfsck || exit 1
diff --git a/source/tcl/tcl/tcl.SlackBuild b/source/tcl/tcl/tcl.SlackBuild
index ff0ad5a38..0f553b764 100755
--- a/source/tcl/tcl/tcl.SlackBuild
+++ b/source/tcl/tcl/tcl.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,8 +21,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-8.5.11}
-# See also version number 8.5 in the symlinks below...)
+VERSION=${VERSION:-8.6.1}
+# See also version number 8.6 in the symlinks below...)
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -41,24 +41,25 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-tcl
+# Use -DHAVE_USLEEP=1 otherwise the bundled sqlite doesn't work well.
if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686 -DHAVE_USLEEP=1"
LIBDIRSUFFIX=""
CONFARGS="--enable-64bit"
elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+ SLKCFLAGS="-O2 -DHAVE_USLEEP=1"
LIBDIRSUFFIX=""
CONFARGS="--enable-64bit"
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -fPIC -DHAVE_USLEEP=1"
LIBDIRSUFFIX="64"
CONFARGS=""
elif [ "$ARCH" = "arm" ]; then
- SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
+ SLKCFLAGS="-O2 -march=armv4 -mtune=xscale -DHAVE_USLEEP=1"
LIBDIRSUFFIX=""
CONFARGS=""
elif [ "$ARCH" = "armel" ]; then
- SLKCFLAGS="-O2 -march=armv4t"
+ SLKCFLAGS="-O2 -march=armv4t -DHAVE_USLEEP=1"
LIBDIRSUFFIX=""
CONFARGS=""
fi
@@ -87,35 +88,33 @@ CFLAGS="$SLKCFLAGS" \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--enable-shared \
--enable-threads \
+ --mandir=/usr/man \
--enable-man-symlinks \
--enable-man-compression=gzip \
${CONFARGS} \
--build=$ARCH-slackware-linux
+
make $NUMJOBS || exit 1
-make install DESTDIR=$PKG
+
+# Fix paths in tclConfig.sh:
+ sed -e "s@^\(TCL_SRC_DIR='\).*@\1/usr/include'@" \
+ -e "/TCL_B/s@='\(-L\)\?.*unix@='\1/usr/lib${LIBDIRSUFFIX}@" \
+ -i tclConfig.sh
+
+make install DESTDIR=$PKG || exit 1
# Some sources require Tcl's private headers, which might not be the
# best thing but we'll include them where we've seen other teams
# doing the same thing:
-mkdir -p $PKG/usr/include/tcl-private/{generic,unix}
-cp -a ../generic/*.h $PKG/usr/include/tcl-private/generic
-cp -a ../unix/*.h $PKG/usr/include/tcl-private/unix
-( cd $PKG/usr/include/tcl-private/generic
- rm -f tcl.h tclDecls.h tclPlatDecls.h
- ln -sf ../../tcl.h .
- ln -sf ../../tclDecls.h .
- ln -sf ../../tclPlatDecls.h
- ln -sf ../unix/tclUnixPort.h
- ln -sf ../unix/tclUnixThrd.h
-)
+make install-private-headers DESTDIR=$PKG || exit 1
( cd $PKG/usr/bin
rm -f tclsh
- ln -sf tclsh8.5 tclsh
+ ln -sf tclsh8.6 tclsh
)
( cd $PKG/usr/lib${LIBDIRSUFFIX}
rm -f libtcl.so
- ln -sf libtcl8.5.so libtcl.so
+ ln -sf libtcl8.6.so libtcl.so
)
find $PKG | xargs file | grep -e "executable" -e "shared object" \
diff --git a/source/tcl/tclx/tclx-8.4.configure.diff b/source/tcl/tclx/tclx-8.4.configure.diff
deleted file mode 100644
index 45fe68760..000000000
--- a/source/tcl/tclx/tclx-8.4.configure.diff
+++ /dev/null
@@ -1,31 +0,0 @@
---- tclx8.4/configure.relid 2006-02-03 16:13:25.000000000 -0500
-+++ tclx8.4/configure 2006-02-03 16:13:33.000000000 -0500
-@@ -6999,7 +6999,7 @@
- # results, and the version is kept in special file).
-
- if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
-- system=MP-RAS-`awk '{print }' /etc/.relid'`
-+ system=MP-RAS-`awk '{print }' /etc/.relid`
- fi
- if test "`uname -s`" = "AIX" ; then
- system=AIX-`uname -v`.`uname -r`
---- tclx8.4/tclconfig/tcl.m4.relid 2006-02-03 16:13:43.000000000 -0500
-+++ tclx8.4/tclconfig/tcl.m4 2006-02-03 16:13:57.000000000 -0500
-@@ -859,7 +859,7 @@
- # results, and the version is kept in special file).
-
- if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
-- system=MP-RAS-`awk '{print $3}' /etc/.relid'`
-+ system=MP-RAS-`awk '{print $3}' /etc/.relid`
- fi
- if test "`uname -s`" = "AIX" ; then
- system=AIX-`uname -v`.`uname -r`
-@@ -2302,7 +2302,7 @@
- # results, and the version is kept in special file).
-
- if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then
-- system=MP-RAS-`awk '{print $3}' /etc/.relid'`
-+ system=MP-RAS-`awk '{print $3}' /etc/.relid`
- fi
- if test "`uname -s`" = "AIX" ; then
- system=AIX-`uname -v`.`uname -r`
diff --git a/source/tcl/tclx/tclx-8.4.gcc4.diff b/source/tcl/tclx/tclx-8.4.gcc4.diff
deleted file mode 100644
index 08fe7d881..000000000
--- a/source/tcl/tclx/tclx-8.4.gcc4.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- tclx8.4/generic/tclXdup.c.varinit 2006-02-03 15:54:38.000000000 -0500
-+++ tclx8.4/generic/tclXdup.c 2006-02-03 15:54:53.000000000 -0500
-@@ -202,7 +202,7 @@
- {
- Tcl_Channel newChannel;
- int bindFnum, fnum;
-- char *srcChannelId, *targetChannelId;
-+ char *srcChannelId = NULL, *targetChannelId;
-
- if ((objc < 2) || (objc > 3)) {
- return TclX_WrongArgs (interp, objv [0],
diff --git a/source/tcl/tclx/tclx.SlackBuild b/source/tcl/tclx/tclx.SlackBuild
index f6d538cea..a562e180c 100755
--- a/source/tcl/tclx/tclx.SlackBuild
+++ b/source/tcl/tclx/tclx.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=tclx
-VERSION=${VERSION:-8.4}
+VERSION=${VERSION:-8.4.1}
NUMJOBS=${NUMJOBS:-" -j7 "}
BUILD=${BUILD:-3}
@@ -54,12 +54,12 @@ elif [ "$ARCH" = "x86_64" ]; then
fi
cd $TMP
-rm -rf ${PKGNAM}${VERSION}
-tar xvf $CWD/${PKGNAM}$VERSION.tar.bz2 || exit 1
-cd ${PKGNAM}$VERSION || exit 1
+rm -rf ${PKGNAM}8.?
+tar xvf $CWD/${PKGNAM}$VERSION.tar.xz || exit 1
+cd ${PKGNAM}8.4 || exit 1
-zcat $CWD/tclx-8.4.configure.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/tclx-8.4.gcc4.diff.gz | patch -p1 --verbose || exit 1
+#zcat $CWD/tclx-8.4.configure.diff.gz | patch -p1 --verbose || exit 1
+#zcat $CWD/tclx-8.4.gcc4.diff.gz | patch -p1 --verbose || exit 1
# Make sure ownerships and permissions are sane:
chown -R root:root .
@@ -71,6 +71,7 @@ find . \
# Configure:
CFLAGS="$SLKCFLAGS" \
+CPPFLAGS="-DUSE_INTERP_RESULT" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/source/tcl/tix/tix.SlackBuild b/source/tcl/tix/tix.SlackBuild
index 56b62f555..cd34a5fb4 100755
--- a/source/tcl/tix/tix.SlackBuild
+++ b/source/tcl/tix/tix.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
PKGNAM=tix
VERSION=8.4.3
NUMJOBS=${NUMJOBS:-" -j7 "}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -69,6 +69,7 @@ zcat $CWD/tix.tcl8.5.patch.gz | patch -p1 --backup --suffix=.orig || exit 1
zcat $CWD/tix.soname.patch.gz | patch -p1 || exit 1
CFLAGS="$SLKCFLAGS" \
+CPPFLAGS="-DUSE_INTERP_RESULT" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@@ -76,7 +77,7 @@ CFLAGS="$SLKCFLAGS" \
--enable-threads \
--with-tcl=/usr/lib${LIBDIRSUFFIX} \
--with-tk=/usr/lib${LIBDIRSUFFIX} \
- --build=$ARCH-slackware-linux
+ --build=$ARCH-slackware-linux || exit 1
# Build and install:
make $NUMJOBS || make || exit 1
diff --git a/source/tcl/tk/tk.SlackBuild b/source/tcl/tk/tk.SlackBuild
index f2adfc081..f3f77bbaa 100755
--- a/source/tcl/tk/tk.SlackBuild
+++ b/source/tcl/tk/tk.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,8 +21,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-8.5.11}
-# See also version number 8.5 in the symlinks below...)
+VERSION=${VERSION:-8.6.1}
+# See also version number 8.6 in the symlinks below...)
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -85,34 +85,32 @@ CFLAGS="$SLKCFLAGS" \
--enable-shared \
--enable-threads \
--enable-64bit \
+ --mandir=/usr/man \
--enable-man-symlinks \
--enable-man-compression=gzip \
--build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
+
+# Fix paths in tkConfig.sh:
+ sed -e "s@^\(TK_SRC_DIR='\).*@\1/usr/include'@" \
+ -e "/TK_B/s@='\(-L\)\?.*unix@='\1/usr/lib${LIBDIRSUFFIX}@" \
+ -i tkConfig.sh
+
make install DESTDIR=$PKG || exit 1
# Some sources require Tk's private headers, which might not be the
# best thing but we'll include them where we've seen other teams
# doing the same thing:
-mkdir -p $PKG/usr/include/tk-private/{generic,unix}
-cp -a ../generic/*.h $PKG/usr/include/tk-private/generic
-cp -a ../unix/*.h $PKG/usr/include/tk-private/unix
-( cd $PKG/usr/include/tk-private/generic
- rm -f tk.h tkDecls.h tkPlatDecls.h
- ln -sf ../../tk.h .
- ln -sf ../../tkDecls.h .
- ln -sf ../../tkPlatDecls.h
- for file in $(ls ../unix/*.h) ; do ln -sf $file ; done
-)
+make install-private-headers DESTDIR=$PKG || exit 1
( cd $PKG/usr/bin
rm -f wish
- ln -sf wish8.5 wish
+ ln -sf wish8.6 wish
)
( cd $PKG/usr/lib${LIBDIRSUFFIX}
rm -f libtk.so
- ln -sf libtk8.5.so libtk.so
+ ln -sf libtk8.6.so libtk.so
)
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/source/x/fontconfig/doinst.sh b/source/x/fontconfig/doinst.sh
index 6a4802323..ae60a1b15 100644
--- a/source/x/fontconfig/doinst.sh
+++ b/source/x/fontconfig/doinst.sh
@@ -3,5 +3,4 @@ if [ -x /usr/bin/fc-cache ]; then
/usr/bin/fc-cache -f
fi
# else we'll catch it later with setup.fontconfig :-)
-# make links:
diff --git a/source/x/fontconfig/fontconfig.SlackBuild b/source/x/fontconfig/fontconfig.SlackBuild
index bb3b192f5..2fd360ae4 100755
--- a/source/x/fontconfig/fontconfig.SlackBuild
+++ b/source/x/fontconfig/fontconfig.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -86,6 +86,10 @@ CFLAGS=$SLKCFLAGS \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--sysconfdir=/etc \
+ --with-templatedir=/etc/fonts/conf.avail \
+ --with-baseconfigdir=/etc/fonts \
+ --with-configdir=/etc/fonts/conf.d \
+ --with-xmldir=/etc/fonts \
--localstatedir=/var \
--enable-static=no \
--build=$ARCH-slackware-linux
@@ -94,6 +98,15 @@ CFLAGS=$SLKCFLAGS \
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
+# Upstream has changed the default templatedir to /usr/share/fontconfig/conf.avail.
+# This change, if accepted, would break any existing font package containing a
+# conf.avail directory. The safest thing to do is to keep things in the
+# traditional location, but put a link in the new place so that font packages
+# following the new standard location will work. Let's hear it for being
+# "more correct" at the expense of having things "just work"!
+mkdir -p $PKG/usr/share/fontconfig
+( cd $PKG/usr/share/fontconfig ; ln -sf /etc/fonts/conf.avail . )
+
mkdir -p $PKG/usr/doc/fontconfig-$VERSION
cp -a \
AUTHORS COPYING* INSTALL NEWS README \
@@ -120,7 +133,6 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
# Set up the default options in /etc/fonts/conf.d:
( cd $PKG/etc/fonts/conf.d
for fontconf in \
- 20-fix-globaladvance.conf \
20-unhint-small-vera.conf \
30-urw-aliases.conf \
30-metric-aliases.conf \
@@ -135,7 +147,12 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
69-unifont.conf \
80-delicious.conf \
90-synthetic.conf ; do
- ln -sf ../conf.avail/$fontconf . || exit 1
+ if [ -r ../conf.avail/$fontconf ]; then
+ ln -sf ../conf.avail/$fontconf .
+ else
+ echo "ERROR: unable to symlink ../conf.avail/$fontconf, file does not exist."
+ exit 1
+ fi
done
if [ ! $? = 0 ]; then
exit 1
@@ -166,5 +183,5 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cd $PKG
-/sbin/makepkg -l y -c n $TMP/fontconfig-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n --prepend $TMP/fontconfig-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/x/fontconfig/fontconfig.font.dir.list.diff b/source/x/fontconfig/fontconfig.font.dir.list.diff
index 1e68b0d12..63be22f51 100644
--- a/source/x/fontconfig/fontconfig.font.dir.list.diff
+++ b/source/x/fontconfig/fontconfig.font.dir.list.diff
@@ -1,25 +1,33 @@
-diff -Nur fontconfig-2.8.0.orig/fonts.conf.in fontconfig-2.8.0/fonts.conf.in
---- fontconfig-2.8.0.orig/fonts.conf.in 2009-06-28 12:48:47.000000000 -0500
-+++ fontconfig-2.8.0/fonts.conf.in 2009-12-01 21:48:48.134935536 -0600
-@@ -23,10 +23,21 @@
+--- ./fonts.conf.in.orig 2012-07-23 21:01:32.000000000 -0500
++++ ./fonts.conf.in 2013-02-28 22:32:44.758585955 -0600
+@@ -22,13 +22,29 @@
+ -->
<!-- Font directory list -->
-
+-
- <dir>@FC_DEFAULT_FONTS@</dir>
- @FC_FONTPATH@
-+ <dir>/usr/share/fonts/OTF</dir>
-+ <dir>/usr/share/fonts/TTF</dir>
-+ <dir>/usr/share/fonts/Type1</dir>
-+ <dir>/usr/share/fonts/Speedo</dir>
-+ <dir>/usr/share/fonts/cyrillic</dir>
-+ <dir>/usr/share/fonts/misc</dir>
++ <dir>/usr/share/fonts/OTF</dir>
++ <dir>/usr/share/fonts/TTF</dir>
++ <dir>/usr/share/fonts/Type1</dir>
++ <dir>/usr/share/fonts/Speedo</dir>
++ <dir>/usr/share/fonts/cyrillic</dir>
++ <dir>/usr/share/fonts/misc</dir>
+ <dir prefix="xdg">fonts</dir>
+ <!-- the following element will be removed in the future -->
<dir>~/.fonts</dir>
-+<!-- Commented out font directories:
-+These are not indexed by default, as fontconfig then seems
-+to prefer bitmapped fonts in some cases...
-+ <dir>/usr/share/fonts/100dpi</dir>
-+ <dir>/usr/share/fonts/75dpi</dir>
++<!-- Commented out font directories:
++ These are not indexed by default, as fontconfig then seems
++ to prefer bitmapped fonts in some cases...
++ <dir>/usr/share/fonts/100dpi</dir>
++ <dir>/usr/share/fonts/75dpi</dir>
++ The top-level font directory should also not be indexed, as that
++ will include the directories of bitmapped fonts:
++ <dir>@FC_DEFAULT_FONTS@</dir>
++ The empty line below is produced by the FC_FONTPATH macro.
++ Moving it here so it doesn't become a problem in the future:
++ @FC_FONTPATH@
+-->
+
<!--
diff --git a/source/x/glew/glew.SlackBuild b/source/x/glew/glew.SlackBuild
index d210557fb..5187bb76c 100755
--- a/source/x/glew/glew.SlackBuild
+++ b/source/x/glew/glew.SlackBuild
@@ -22,7 +22,8 @@
# Slackware build script for glew
-VERSION=1.5.7
+PKGNAM=glew
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -39,7 +40,7 @@ NUMJOBS=${NUMJOBS:--j8}
CWD=$(pwd)
TMP=${TMP:-/tmp}
-PKG=$TMP/package-glew
+PKG=$TMP/package-$PKGNAM
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
@@ -58,9 +59,9 @@ fi
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP || exit 1
-rm -rf glew-$VERSION
-tar xvf $CWD/glew-${VERSION}.tar.?z* || exit 1
-cd glew-${VERSION} || exit 1
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-${VERSION}.tar.?z* || exit 1
+cd $PKGNAM-${VERSION} || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -83,13 +84,13 @@ make install GLEW_DEST=$PKG/usr || exit 1
xargs strip --strip-unneeded 2> /dev/null
)
-mkdir -p $PKG/usr/doc/glew-$VERSION
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
LICENSE* README* doc/* \
- $PKG/usr/doc/glew-$VERSION
+ $PKG/usr/doc/$PKGNAM-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $TMP/glew-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/x/glu/glu.SlackBuild b/source/x/glu/glu.SlackBuild
new file mode 100755
index 000000000..e5f76982c
--- /dev/null
+++ b/source/x/glu/glu.SlackBuild
@@ -0,0 +1,92 @@
+#!/bin/sh
+
+# Slackware build script for glu
+
+# Copyright 2012 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PRGNAM=glu
+VERSION=${VERSION:-9.0.0}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PRGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.xz || exit 1
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --disable-static \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# No docs at all
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PRGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/x/glu/glu.url b/source/x/glu/glu.url
new file mode 100644
index 000000000..4b79b6503
--- /dev/null
+++ b/source/x/glu/glu.url
@@ -0,0 +1,2 @@
+ftp://ftp.freedesktop.org/pub/mesa/glu/
+http://cgit.freedesktop.org/mesa/glu/
diff --git a/source/x/glu/slack-desc b/source/x/glu/slack-desc
new file mode 100644
index 000000000..7ede5e95e
--- /dev/null
+++ b/source/x/glu/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+glu: glu (Mesa OpenGL utility library)
+glu:
+glu: glu is the Mesa OpenGL utility library (libGLU).
+glu:
+glu:
+glu:
+glu:
+glu:
+glu:
+glu:
+glu:
diff --git a/source/x/libdrm/libdrm.SlackBuild b/source/x/libdrm/libdrm.SlackBuild
index 31181fb5c..d6899ca51 100755
--- a/source/x/libdrm/libdrm.SlackBuild
+++ b/source/x/libdrm/libdrm.SlackBuild
@@ -73,10 +73,10 @@ CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
--enable-udev \
- --enable-nouveau-experimental-api \
- --enable-vmwgfx-experimental-api \
--enable-omap-experimental-api \
+ --enable-exynos-experimental-api \
--build=$ARCH-slackware-linux
# Build and install:
diff --git a/source/x/mesa/mesa.SlackBuild b/source/x/mesa/mesa.SlackBuild
index ca6701886..8d04e7fe0 100755
--- a/source/x/mesa/mesa.SlackBuild
+++ b/source/x/mesa/mesa.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,14 +21,14 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=mesa
-VERSION=8.0.4
-DEMOVERS=8.0.1
+VERSION=9.1.7
+DEMOVERS=8.1.0
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j8}
# Be sure this list is up-to-date:
-DRI_DRIVERS="i915,i965,nouveau,r200,radeon,swrast"
+DRI_DRIVERS="i915,i965,intel,nouveau,r200,radeon,swrast"
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -61,6 +61,9 @@ rm -rf Mesa-${VERSION}
tar xvf $CWD/MesaLib-${VERSION}.tar.?z* || exit 1
cd Mesa-$VERSION
+# Let's kill the warning about operating on a dangling symlink:
+rm -f src/gallium/state_trackers/d3d1x/w32api
+
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
@@ -83,6 +86,9 @@ if [ ! -r configure ]; then
autoreconf || exit 1
fi
+# Running autogen to avoid problems if our autotools don't match upstream's:
+./autogen.sh
+
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
@@ -92,8 +98,11 @@ CFLAGS="$SLKCFLAGS" \
--docdir=/usr/doc/mesa-$VERSION \
--with-dri-driverdir=/usr/lib${LIBDIRSUFFIX}/xorg/modules/dri \
--with-dri-drivers="$DRI_DRIVERS" \
- --with-gallium-drivers=nouveau,swrast,r300,r600 \
+ --with-gallium-drivers=nouveau,r300,r600,svga \
--enable-gallium-llvm \
+ --enable-shared-glapi \
+ --enable-xa \
+ --enable-osmesa \
--build=$ARCH-slackware-linux
# r300 requires llvm
diff --git a/source/x/mtdev/mtdev.SlackBuild b/source/x/mtdev/mtdev.SlackBuild
index e973ed342..d3e518cfd 100755
--- a/source/x/mtdev/mtdev.SlackBuild
+++ b/source/x/mtdev/mtdev.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=mtdev
-VERSION=${VERSION:-1.1.2}
+VERSION=${VERSION:-1.1.3}
BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
diff --git a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-application.cpp.patch b/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-application.cpp.patch
deleted file mode 100644
index f925507a7..000000000
--- a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-application.cpp.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- scim-bridge-0.4.16/agent/scim-bridge-agent-application.cpp.bak 2009-01-18 01:04:20.000000000 +0800
-+++ scim-bridge-0.4.16/agent/scim-bridge-agent-application.cpp 2010-09-11 22:38:27.196979199 +0800
-@@ -65,7 +65,7 @@
- unsigned int tmp_uint;
-
- int option = 0;
-- while (option != EOF) {
-+ while (option != -1) {
- option = getopt_long (argc, argv, short_options, long_options, NULL);
- switch (option) {
- case 'v':
diff --git a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.cpp.patch b/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.cpp.patch
deleted file mode 100644
index 85732013d..000000000
--- a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.cpp.patch
+++ /dev/null
@@ -1,48 +0,0 @@
---- scim-bridge-0.4.16/agent/scim-bridge-agent-imcontext.cpp.bak 2009-02-03 22:36:14.000000000 +0800
-+++ scim-bridge-0.4.16/agent/scim-bridge-agent-imcontext.cpp 2010-09-11 23:25:00.636978519 +0800
-@@ -60,6 +60,8 @@
-
- static bool on_the_spot_enabled = true;
-
-+static String help_hotkeys = "";
-+
- /* Class definition */
- class ScimBridgeAgentIMContextImpl: public ScimBridgeAgentIMContext
- {
-@@ -274,6 +276,12 @@
- }
-
-
-+void ScimBridgeAgentIMContext::set_help_hotkeys (const String &hotkey_str)
-+{
-+ help_hotkeys = hotkey_str;
-+}
-+
-+
- ScimBridgeAgentIMContextImpl::ScimBridgeAgentIMContextImpl (ScimBridgeAgentClientListener *new_client_listener):
- client_listener (new_client_listener), imengine (NULL), enabled (false), focused(false) ,preedit_mode (PREEDIT_ANY),
- preedit_shown (false), preedit_cursor_position (0)
-@@ -654,6 +662,8 @@
-
- void ScimBridgeAgentIMContextImpl::focus_out ()
- {
-+ if (!imengine_shared && imengine == NULL) alloc_imengine ();
-+
- ScimBridgeAgentIMContext *focused_imcontext = static_cast<ScimBridgeAgentIMContext*> (get_imengine ()->get_frontend_data ());
-
- if ( !focused )
-@@ -923,9 +933,11 @@
-
- void ScimBridgeAgentIMContextImpl::panel_request_help ()
- {
-- String help = String ("Smart Common Input Method platform ") +
-- String (SCIM_VERSION) +
-- String ("\n(C) 2002-2005 James Su <suzhe@tsinghua.org.cn>\n\n");
-+ String help = String ("SCIM Bridge") +
-+ String (VERSION) +
-+ String ("\n(C) 2006-2008 Ryo Dairiki <ryo-dairiki@users.sourceforge.net>\n") +
-+ help_hotkeys +
-+ String ("\n\n");
-
- IMEngineFactoryPointer factory = scim_backend->get_factory (get_imengine ()->get_factory_uuid ());
- if (factory.null ()) factory = fallback_imengine_factory;
diff --git a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.h.patch b/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.h.patch
deleted file mode 100644
index f16b34c14..000000000
--- a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.h.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- scim-bridge-0.4.16/agent/scim-bridge-agent-imcontext.h.bak 2008-11-02 14:44:49.000000000 +0800
-+++ scim-bridge-0.4.16/agent/scim-bridge-agent-imcontext.h 2010-09-11 23:12:18.085979961 +0800
-@@ -130,6 +130,21 @@
- static void set_enabled_by_default (bool enabled);
-
- /**
-+ * Get the hotkey help messages.
-+ *
-+ * @return help messages about hotkeys.
-+ */
-+ static scim::String get_help_hotkeys ();
-+
-+ /**
-+ * Set the hotkey help messages.
-+ *
-+ * @param hotkey_str Help message about hotkeys.
-+ *
-+ */
-+ static void set_help_hotkeys (const scim::String &hotkey_str);
-+
-+ /**
- * Destructor.
- */
- virtual ~ScimBridgeAgentIMContext () {}
diff --git a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent.cpp.patch b/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent.cpp.patch
deleted file mode 100644
index 27c5cb73b..000000000
--- a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent.cpp.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- scim-bridge-0.4.16/agent/scim-bridge-agent.cpp.bak 2009-03-08 21:07:29.000000000 +0800
-+++ scim-bridge-0.4.16/agent/scim-bridge-agent.cpp 2010-09-11 22:59:34.476979479 +0800
-@@ -542,6 +542,27 @@
- scim_global_config_flush ();
-
- scim_keyboard_layout = scim_get_default_keyboard_layout ();
-+
-+ // Hot key name, hot key config key.
-+ // ! Update hotkey_list_length according to updated list length.
-+ int hotkey_list_length = 6;
-+ String hotkey_list[][2] = {
-+ { "Toggle on/off - ", "/Hotkeys/FrontEnd/Trigger" },
-+ { "Turn on - ", "/Hotkeys/FrontEnd/On" },
-+ { "Turn off - ", "/Hotkeys/FrontEnd/Off" },
-+ { "Next input method - ", "/Hotkeys/FrontEnd/NextFactory" },
-+ { "Previous input method - ", "/Hotkeys/FrontEnd/PreviousFactory" },
-+ { "Show input method menu - ", "/Hotkeys/FrontEnd/ShowFactoryMenu" }
-+ };
-+
-+ // Undefined hot keys are hidden from help window.
-+ String help_hotkeys = "\nGlobal Hotkeys:";
-+ for ( int i = 0; i < hotkey_list_length; i++ ) {
-+ String tmp_hotkeys = scim_config->read (String (hotkey_list[i][1]), String (""));
-+ if ( tmp_hotkeys != "" )
-+ help_hotkeys += "\n" + hotkey_list[i][0] + "<" + tmp_hotkeys + ">";
-+ }
-+ ScimBridgeAgentIMContext::set_help_hotkeys (help_hotkeys);
- }
-
-
diff --git a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-gtk.c.patch b/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-gtk.c.patch
deleted file mode 100644
index 21f1f824e..000000000
--- a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-gtk.c.patch
+++ /dev/null
@@ -1,47 +0,0 @@
---- scim-bridge-0.4.16/client-gtk/scim-bridge-client-imcontext-gtk.c.bak 2008-11-02 14:44:23.000000000 +0800
-+++ scim-bridge-0.4.16/client-gtk/scim-bridge-client-imcontext-gtk.c 2010-09-11 23:19:10.556978680 +0800
-@@ -35,6 +35,8 @@
- #include "scim-bridge-output.h"
- #include "scim-bridge-string.h"
-
-+#define SEND_EVENT_MASK 0x02
-+
- /* Typedef */
- struct _ScimBridgeClientIMContext
- {
-@@ -200,7 +202,7 @@
- {
- scim_bridge_pdebugln (7, "key_snooper ()");
-
-- if (!event->send_event && scim_bridge_client_is_messenger_opened () && focused_imcontext != NULL) {
-+ if (!(event->send_event & SEND_EVENT_MASK) && scim_bridge_client_is_messenger_opened () && focused_imcontext != NULL) {
- if (focused_imcontext->client_window != NULL) {
- int new_window_x;
- int new_window_y;
-@@ -556,7 +558,7 @@
- {
- GdkEventKey gdk_event;
- scim_bridge_key_event_bridge_to_gdk (&gdk_event, imcontext->client_window, key_event);
-- gdk_event.send_event = TRUE;
-+ gdk_event.send_event |= SEND_EVENT_MASK;
- if (imcontext == focused_imcontext && focused_widget != NULL) {
- const char *signal_name = NULL;
- if (scim_bridge_key_event_is_pressed (key_event)) {
-@@ -762,7 +764,7 @@
-
- ScimBridgeClientIMContext *imcontext = SCIM_BRIDGE_CLIENT_IMCONTEXT (context);
-
-- if (!event->send_event && scim_bridge_client_is_messenger_opened () && imcontext != NULL && !key_snooper_used) {
-+ if (!(event->send_event & SEND_EVENT_MASK) && scim_bridge_client_is_messenger_opened () && imcontext != NULL && !key_snooper_used) {
-
- if (imcontext->client_window != NULL) {
- int new_window_x;
-@@ -875,7 +877,7 @@
- scim_bridge_client_open_messenger ();
- }
-
-- if (is_key_snooper_enabled ()) {
-+ if (!key_snooper_used && is_key_snooper_enabled ()) {
- key_snooper_id = gtk_key_snooper_install ((GtkKeySnoopFunc) &key_snooper, NULL);
- key_snooper_used = TRUE;
- }
diff --git a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-qt.cpp.patch b/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-qt.cpp.patch
deleted file mode 100644
index 74a3252ef..000000000
--- a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-qt.cpp.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- scim-bridge-0.4.16/client-qt/scim-bridge-client-imcontext-qt.cpp.bak 2008-11-02 14:44:46.000000000 +0800
-+++ scim-bridge-0.4.16/client-qt/scim-bridge-client-imcontext-qt.cpp 2010-09-11 22:46:10.396979441 +0800
-@@ -220,7 +220,12 @@
- {
- scim_bridge_pdebugln (4, "ScimBridgeClientIMContextImpl::setFocusWidget ()");
- QInputContext::setFocusWidget (widget);
-- focus_in ();
-+ if (widget == NULL) {
-+ focus_out ();
-+ }
-+ else {
-+ focus_in ();
-+ }
- update ();
- }
-
-@@ -442,9 +447,11 @@
- }
- }
-
-- set_preedit_shown (false);
-- update_preedit ();
--
-+ if (preedit_shown) {
-+ set_preedit_shown (false);
-+ update_preedit ();
-+ }
-+
- focused_imcontext = NULL;
- }
-
diff --git a/source/x/scim-bridge/scim-bridge.SlackBuild b/source/x/scim-bridge/scim-bridge.SlackBuild
deleted file mode 100755
index 8501d9c4b..000000000
--- a/source/x/scim-bridge/scim-bridge.SlackBuild
+++ /dev/null
@@ -1,156 +0,0 @@
-#!/bin/sh
-
-# Copyright 2008, 2009 Eric Hameleers, Eindhoven, NL
-# Copyright 2008, 2009, 2011, 2012 Patrick J. Volkerding, Sebeka, MN USA
-# All rights reserved.
-#
-# Permission to use, copy, modify, and distribute this software for
-# any purpose with or without fee is hereby granted, provided that
-# the above copyright notice and this permission notice appear in all
-# copies.
-#
-# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-# -----------------------------------------------------------------------------
-#
-# Slackware SlackBuild script
-# ===========================
-# By: Eric Hameleers <alien@slackware.com>
-# For: scim-bridge
-# Descr: yet another gtk-immodule for SCIM
-# URL: http://scim-im.org/
-#
-# -----------------------------------------------------------------------------
-
-
-PKGNAM=scim-bridge
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-5}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$(uname -m)" in
- i?86) ARCH=i486 ;;
- arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) ARCH=$(uname -m) ;;
- esac
- export ARCH
-fi
-
-NUMJOBS=${NUMJOBS:-" -j7 "}
-
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "arm" ]; then
- SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "armel" ]; then
- SLKCFLAGS="-O2 -march=armv4t"
- LIBDIRSUFFIX=""
-fi
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf ${PKGNAM}-${VERSION}
-tar -xvf $CWD/${PKGNAM}-${VERSION}.tar.gz || exit 1
-cd ${PKGNAM}-${VERSION} || exit 1
-#sed -i -e "s/ -doxygen / doxygen /" $( grep -lr ' -doxygen ' * )
-
-zcat $CWD/patches/scim-bridge-0.4.16-scim-bridge-agent-application.cpp.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.cpp.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.h.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/scim-bridge-0.4.16-scim-bridge-agent.cpp.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-gtk.c.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-qt.cpp.patch.gz | patch -p1 --verbose || exit 1
-
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
-echo Building ...
-CXXFLAGS="$SLKCFLAGS" \
-CFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --localstatedir=/var \
- --sysconfdir=/etc \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PKGNAM-$VERSION \
- --enable-agent \
- --enable-ltdl-install \
- --enable-gtk2-immodule \
- --enable-qt4-immodule \
- --disable-qt3-immodule \
- --disable-documents \
- --disable-static \
- --program-prefix= \
- --program-suffix= \
- --build=$ARCH-slackware-linux
- # We disable the qt3-immodule because that one will not build.
- # The qt4-immodule will build however.
-
-make $NUMJOBS || make || exit 1
-make DESTDIR=$PKG install || exit 1
-
-# Add this to the doinst.sh
-mkdir -p $PKG/install
-cat <<EOINS >> $PKG/install/doinst.sh
-# Run gtk-query-immodules so that "scim" will appear under Imput Method
-# when you right- click your mouse in a text box.
-if [ -x /usr/bin/update-gtk-immodules ]; then
- /usr/bin/update-gtk-immodules
-fi
-EOINS
-
-# Add documentation:
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- AUTHORS COPYING* ChangeLog INSTALL NEWS README* doc/LICENSE.* \
- $PKG/usr/doc/$PKGNAM-$VERSION
-find $PKG/usr/doc -type f -exec chmod 644 {} \;
-
-# Compress the man page(s):
-if [ -d $PKG/usr/man ]; then
- find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
- for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-fi
-
-# Strip binaries:
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-# Add a package description:
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-# Build the package:
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz
-
diff --git a/source/x/scim-bridge/slack-desc b/source/x/scim-bridge/slack-desc
deleted file mode 100644
index cd58299a7..000000000
--- a/source/x/scim-bridge/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-scim-bridge: scim-bridge (yet another gtk-immodule for SCIM)
-scim-bridge:
-scim-bridge: Scim-bridge is yet another gtk-immodule for SCIM. Scim-bridge
-scim-bridge: consists of two parts, that is, client and agent (server). The client
-scim-bridge: is a GTK immodule which communicates with the agent over sockets.
-scim-bridge: The agent communicates with SCIM, and brings back the data
-scim-bridge: for each client.
-scim-bridge:
-scim-bridge: scim-bridge home: http://scim-im.org/
-scim-bridge:
-scim-bridge:
diff --git a/source/x/scim/scim.SlackBuild b/source/x/scim/scim.SlackBuild
index d03adc6e6..816a50018 100755
--- a/source/x/scim/scim.SlackBuild
+++ b/source/x/scim/scim.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2006, 2007, 2008 Eric Hameleers, Eindhoven, NL
-# Copyright 2008, 2009, 2011, 2012 Patrick J. Volkerding, Sebeka, MN USA
+# Copyright 2008, 2009, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN USA
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
@@ -35,7 +35,7 @@
PKGNAM=scim
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -90,14 +90,15 @@ echo Building ...
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --localstatedir=/var \
- --sysconfdir=/etc \
- --disable-static \
- --with-gtk-version=2 \
- --program-prefix= \
- --program-suffix= \
- --build=$ARCH-slackware-linux
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --disable-static \
+ --with-gtk-version=2 \
+ --with-qt4-im-module-dir=/usr/lib${LIBDIRSUFFIX}/qt/plugins/inputmethods \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make DESTDIR=$PKG install || exit 1
@@ -120,20 +121,15 @@ cat <<EOT > $PKG/etc/profile.d/scim.sh.new
if [ -x /usr/bin/scim ]; then
# Enable legacy X applications to use scim:
export XMODIFIERS="@im=SCIM"
- ## Enable Qt/KDE applications to use scim (not working with kde4):
- #export QT_IM_MODULE="scim"
+ # Let GTK applications like Firefox/Thunderbird use scim as
+ # default immodule:
+ export GTK_IM_MODULE="scim"
+ # Enable Qt/KDE applications to use scim:
+ export QT_IM_MODULE="scim"
# Make scim start automatically if the "magic key" Ctrl-Space is pressed:
export XIM_PROGRAM="/usr/bin/scim -d"
fi
-if [ -x /usr/bin/scim-bridge ]; then
- # Let GTK applications like Firefox/Thunderbird use scim-bridge as
- # default immodule:
- export GTK_IM_MODULE="scim-bridge"
- # Enable Qt4/KDE4 applications to use scim:
- export QT_IM_MODULE="scim-bridge"
-fi
-
# This ensures scim starts when you logon.
# This will only work if you login through runlevel 4 (graphical login)!!!
# Better is to have it start through Ctrl-Space like configured higher up ^^.
@@ -141,21 +137,6 @@ fi
# /usr/bin/scim -d
#fi
-# GTK+ environments such as XFce should support SCIM automatically, BUT
-# if the first app you run is a Qt one, you'll run into problems. This
-# can be avoided by going into Menu -> Settings -> Autostarted Applications
-# and adding SCIM: /usr/bin/scim -d
-
-# KDE will not start SCIM automatically, so you will need a script such as
-# this one in your $HOME/.kde/Autostart:
-
-#!/bin/bash
-#if [ -x /usr/bin/scim ]; then
-# /usr/bin/scim -d &
-#fi
-
-# Obviously, uncomment all but the first line. :-)
-
EOT
cat <<EOT > $PKG/etc/profile.d/scim.csh.new
@@ -174,21 +155,15 @@ cat <<EOT > $PKG/etc/profile.d/scim.csh.new
if (\$status == 0) then
# Enable legacy X applications to use scim:
setenv XMODIFIERS "@im=SCIM"
- ## Enable Qt/KDE applications to use scim (does not work for kde4):
- #setenv QT_IM_MODULE "scim"
+ # Let GTK applications like Firefox/Thunderbird use scim as
+ # default immodule:
+ setenv GTK_IM_MODULE "scim"
+ # Enable Qt/KDE applications to use scim (does not work for kde4):
+ setenv QT_IM_MODULE "scim"
# Make scim start automatically if the "magic key" Ctrl-Space is pressed:
setenv XIM_PROGRAM "/usr/bin/scim -d"
endif
-[ -x /usr/bin/scim-bridge ]
-if (\$status == 0) then
- # Let GTK applications like Firefox/Thunderbird use scim-bridge as
- # default immodule:
- setenv GTK_IM_MODULE "scim-bridge"
- # Enable Qt4/KDE4 applications to use scim:
- setenv QT_IM_MODULE "scim-bridge"
-endif
-
# This ensures scim starts when you logon.
# This will only work if you login through runlevel 4 (graphical login)!!!
# Better is to have it start through Ctrl-Space like configured higher up ^^.
@@ -197,22 +172,6 @@ endif
# /usr/bin/scim -d
#endif
-# GTK+ environments such as XFce should support SCIM automatically, BUT
-# if the first app you run is a Qt one, you'll run into problems. This
-# can be avoided by going into Menu -> Settings -> Autostarted Applications
-# and adding SCIM: /usr/bin/scim -d
-
-# KDE will not start SCIM automatically, so you will need a script such as
-# this one in your $HOME/.kde/Autostart:
-
-#!/bin/csh
-#[ -x /usr/bin/scim ]
-#if (\$status == 0) then
-# /usr/bin/scim -d &
-#endif
-
-# Obviously, uncomment all but the first line. :-)
-
EOT
chmod 755 $PKG/etc/profile.d/scim.sh.new
diff --git a/source/x/ttf-indic-fonts/COPYING b/source/x/ttf-indic-fonts/COPYING
deleted file mode 100644
index 3912109b5..000000000
--- a/source/x/ttf-indic-fonts/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, 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 or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-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 all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-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.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-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 Program, 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 intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) 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; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, 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 executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or 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 counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program 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.
-
- 5. 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 Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. 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
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program 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 Program.
-
-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.
-
-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
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-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.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the 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 Program
-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 Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, 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.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "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 PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. 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 PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. 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.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/source/x/ttf-indic-fonts/Samyak_Malayalam.ttf b/source/x/ttf-indic-fonts/Samyak_Malayalam.ttf
deleted file mode 100644
index 5d06d2ed2..000000000
--- a/source/x/ttf-indic-fonts/Samyak_Malayalam.ttf
+++ /dev/null
Binary files differ
diff --git a/source/x/ttf-indic-fonts/Samyak_Malayalam.url b/source/x/ttf-indic-fonts/Samyak_Malayalam.url
deleted file mode 100644
index 993d05123..000000000
--- a/source/x/ttf-indic-fonts/Samyak_Malayalam.url
+++ /dev/null
@@ -1,4 +0,0 @@
-http://www.gnowledge.org/Gnoware/localization/Samyak_Font/new/Samyak_Malayalam.ttf
-
-This font is licensed under the GPL.
-
diff --git a/source/x/ttf-indic-fonts/doinst.sh b/source/x/ttf-indic-fonts/doinst.sh
index f6ebdc7c3..2566f24ff 100644
--- a/source/x/ttf-indic-fonts/doinst.sh
+++ b/source/x/ttf-indic-fonts/doinst.sh
@@ -10,4 +10,3 @@ fi
if [ -x /usr/bin/fc-cache ]; then
/usr/bin/fc-cache -f
fi
-# make links:
diff --git a/source/x/ttf-indic-fonts/ttf-indic-fonts.SlackBuild b/source/x/ttf-indic-fonts/ttf-indic-fonts.SlackBuild
index 2353121ff..338b5edd7 100755
--- a/source/x/ttf-indic-fonts/ttf-indic-fonts.SlackBuild
+++ b/source/x/ttf-indic-fonts/ttf-indic-fonts.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,7 +20,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=0.4.7.4
+VERSION=0.5.14
ARCH=noarch
BUILD=1
@@ -32,11 +32,8 @@ rm -rf $PKG
mkdir -p $PKG
cd $TMP
rm -rf ttf-indic-fonts-$VERSION
-tar xvf $CWD/ttf-indic-fonts-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/ttf-indic-fonts_$VERSION.tar.xz || exit 1
cd ttf-indic-fonts-$VERSION || exit 1
-# Patch copyright notices so that they do not give inaccurate
-# information about where to find the GPL:
-zcat $CWD/ttf-indic-fonts.copyright.diff.gz | patch -p1 --verbose || exit 1
# I'm very interested in making this a better package, but have a
# long way to go in understanding how all of this works. I know
@@ -64,27 +61,24 @@ find . \
mkdir -p $PKG/usr/share/fonts/TTF/
cp -a */*.ttf $PKG/usr/share/fonts/TTF
-# This is a better Malayalam font:
-cp -a $CWD/Samyak_Malayalam.ttf.bz2 $PKG/usr/share/fonts/TTF
-( cd $PKG/usr/share/fonts/TTF
- bzip2 -d Samyak_Malayalam.ttf.bz2
- chmod 644 Samyak_Malayalam.ttf
- chown root:root Samyak_Malayalam.ttf
+mkdir -p $PKG/etc/fonts/conf.avail
+find . -name "*.conf" -exec cp -a {} $PKG/etc/fonts/conf.avail \;
+
+mkdir -p $PKG/etc/fonts/conf.d
+( cd $PKG/etc/fonts/conf.d
+ for file in ../conf.avail/*.conf ; do
+ ln -sf $file .
+ done
)
-# Remove the old Malayalam font:
-rm -f $PKG/usr/share/fonts/TTF/malayalam.ttf
# Put copyright notices in the docs directory:
mkdir -p $PKG/usr/doc/ttf-indic-fonts-$VERSION
find . -name "*.copyright" -exec cp -a {} $PKG/usr/doc/ttf-indic-fonts-$VERSION \;
-cp -a $CWD/COPYING.bz2 $PKG/usr/doc/ttf-indic-fonts-$VERSION
-cp -a $CWD/Samyak_Malayalam.url $PKG/usr/doc/ttf-indic-fonts-$VERSION
-( cd $PKG/usr/doc/ttf-indic-fonts-$VERSION ; bzip2 -d COPYING.bz2 )
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cd $PKG
-/sbin/makepkg -l y -c n $TMP/ttf-indic-fonts-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n --prepend $TMP/ttf-indic-fonts-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/x/ttf-indic-fonts/ttf-indic-fonts.copyright.diff b/source/x/ttf-indic-fonts/ttf-indic-fonts.copyright.diff
deleted file mode 100644
index d4ba218b5..000000000
--- a/source/x/ttf-indic-fonts/ttf-indic-fonts.copyright.diff
+++ /dev/null
@@ -1,65 +0,0 @@
---- ./debian/ttf-punjabi-fonts.copyright.orig 2005-09-11 00:04:08.000000000 -0500
-+++ ./debian/ttf-punjabi-fonts.copyright 2006-09-21 02:19:02.000000000 -0500
-@@ -17,5 +17,3 @@
- Copyright (c) 2003, Automatic Control Equipments, Pune, INDIA.
- Released under GPL
-
--On a Debian system the text of the GPL can be found in
--/usr/share/common-licenses.
---- ./debian/ttf-tamil-fonts.copyright.orig 2005-09-11 00:04:08.000000000 -0500
-+++ ./debian/ttf-tamil-fonts.copyright 2006-09-21 02:19:05.000000000 -0500
-@@ -25,5 +25,3 @@
-
- Opentype tables were added by T. Vaseeharan <t_vasee@yahoo.com>.
-
--On Debian GNU/Linux systems you can find a copy of the GPL in
--/usr/share/common-licenses/GPL.
---- ./debian/ttf-gujarati-fonts.copyright.orig 2005-09-11 00:04:08.000000000 -0500
-+++ ./debian/ttf-gujarati-fonts.copyright 2006-09-21 02:18:40.000000000 -0500
-@@ -28,5 +28,3 @@
- Copyright (c) 2003, Automatic Control Equipments, Pune, INDIA.
- Released under GPL
-
--On a Debian system the text of the GPL can be found in
--/usr/share/common-licenses.
---- ./debian/ttf-malayalam-fonts.copyright.orig 2006-01-15 18:03:55.000000000 -0600
-+++ ./debian/ttf-malayalam-fonts.copyright 2006-09-21 02:18:56.000000000 -0500
-@@ -18,6 +18,3 @@
-
- Copyright (c) 2005 K.H.Hussain <hussain@kfri.org>
-
--A copy of the GNU GPL can be found at
--
-- /usr/share/common-licenses/GPL
---- ./debian/ttf-telugu-fonts.copyright.orig 2005-09-11 00:04:08.000000000 -0500
-+++ ./debian/ttf-telugu-fonts.copyright 2006-09-21 02:19:09.000000000 -0500
-@@ -14,5 +14,3 @@
- -----------
- GPLed Telugu font from http://www.kavya-nandanam.com
-
--On a Debian system the text of the GPL can be found in
--/usr/share/common-licenses.
---- ./debian/ttf-kannada-fonts.copyright.orig 2006-01-15 17:51:13.000000000 -0600
-+++ ./debian/ttf-kannada-fonts.copyright 2006-09-21 02:18:47.000000000 -0500
-@@ -7,5 +7,3 @@
- (C) Indian Institute of Science,Bangalore 2005
- Released under the GPL.
-
--On a Debian system the text of the GPL can be found in
--/usr/share/common-licenses.
---- ./debian/ttf-devanagari-fonts.copyright.orig 2006-01-15 17:51:13.000000000 -0600
-+++ ./debian/ttf-devanagari-fonts.copyright 2006-09-21 02:18:37.000000000 -0500
-@@ -30,5 +30,3 @@
- ------------------
- Copyright (c) Sanir Karmacharya <sanir@email.com>, Suyash Shrestha
-
--On a Debian system the text of the GPL can be found in
--/usr/share/common-licenses.
---- ./debian/ttf-oriya-fonts.copyright.orig 2005-09-11 00:04:08.000000000 -0500
-+++ ./debian/ttf-oriya-fonts.copyright 2006-09-21 02:18:59.000000000 -0500
-@@ -11,5 +11,3 @@
- (C) Andy White 2003
- Released under GPL (http://oriya.sarovar.org/)
-
--On a Debian system the text of the GPL can be found in
--/usr/share/common-licenses.
diff --git a/source/x/wqy-zenhei-font-ttf/fixup-fontconfig-file.diff b/source/x/wqy-zenhei-font-ttf/fixup-fontconfig-file.diff
new file mode 100644
index 000000000..6d8fa176f
--- /dev/null
+++ b/source/x/wqy-zenhei-font-ttf/fixup-fontconfig-file.diff
@@ -0,0 +1,21 @@
+Since this fontconfig change [1], we get warnings in 44-wqy-zenhei.conf
+like this: "Having multiple values in <test> isn't supported and may
+not work as expected" - let's fix that...
+
+[1] http://cgit.freedesktop.org/fontconfig/commit/?id=2837c63876b9b
+
+diff -Nur wqy-zenhei.orig/44-wqy-zenhei.conf wqy-zenhei/44-wqy-zenhei.conf
+--- wqy-zenhei.orig/44-wqy-zenhei.conf 2009-05-17 15:25:41.000000000 -0500
++++ wqy-zenhei/44-wqy-zenhei.conf 2013-02-25 19:00:36.870491434 -0600
+@@ -6,7 +6,11 @@
+ <match target="font">
+ <test qual="any" name="family">
+ <string>WenQuanYi Zen Hei</string>
++ </test>
++ <test qual="any" name="family">
+ <string>文泉驿正黑</string>
++ </test>
++ <test qual="any" name="family">
+ <string>文泉驛正黑</string>
+ </test>
+ <edit name="globaladvance"><bool>false</bool></edit>
diff --git a/source/x/wqy-zenhei-font-ttf/wqy-zenhei-font-ttf.SlackBuild b/source/x/wqy-zenhei-font-ttf/wqy-zenhei-font-ttf.SlackBuild
index b9fb149da..ee34726bb 100755
--- a/source/x/wqy-zenhei-font-ttf/wqy-zenhei-font-ttf.SlackBuild
+++ b/source/x/wqy-zenhei-font-ttf/wqy-zenhei-font-ttf.SlackBuild
@@ -38,7 +38,7 @@ SRCNAM=wqy-zenhei
VERSION=${VERSION:-0.8.38}
SUB=${SUB:-1}
ARCH=noarch
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
CWD=$(pwd)
TMP=${TMP:-/tmp}
@@ -66,6 +66,9 @@ rm -rf ${PRGNAM}-${VERSION}
tar -xvf ${SOURCE} || exit 1
mv ${SRCNAM} ${PRGNAM}-${VERSION} || exit 1
cd ${PRGNAM}-${VERSION}
+
+zcat $CWD/fixup-fontconfig-file.diff.gz | patch -p1 || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -73,6 +76,9 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# The following causes an error since the package no longer contains any ttf
+# fonts, but it is harmless. It's probably safer to leave the cp command the
+# way it is in case future versions include any ttf fonts.
# Install font:
cp *.ttf *.ttc $PKG$FONTDIR/
diff --git a/source/x/x11/build/increment.sh b/source/x/x11/build/increment.sh
new file mode 100755
index 000000000..6de5d0da6
--- /dev/null
+++ b/source/x/x11/build/increment.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+# A script to increment build numbers.
+# Call it with the list of the build numbers to increase by one:
+#
+# ./increment.sh xf86-input-acecad xf86-input-aiptek xf86-input-joystick
+#
+# If a build file does not exist, it will be created with a value of 2.
+
+for build in $* ; do
+ if [ ! -r $build ]; then
+ echo "Creating $build with value 2"
+ echo 2 > $build
+ else
+ echo "Incrementing $build $(cat $build) -> $(expr $(cat $build) + 1)"
+ echo $(expr $(cat $build) + 1) > $build
+ fi
+done
diff --git a/source/x/x11/build/xcb-util-image b/source/x/x11/build/xcb-util-image
new file mode 100644
index 000000000..0cfbf0888
--- /dev/null
+++ b/source/x/x11/build/xcb-util-image
@@ -0,0 +1 @@
+2
diff --git a/source/x/x11/build/xcompmgr b/source/x/x11/build/xcompmgr
new file mode 100644
index 000000000..0cfbf0888
--- /dev/null
+++ b/source/x/x11/build/xcompmgr
@@ -0,0 +1 @@
+2
diff --git a/source/x/x11/build/xdm b/source/x/x11/build/xdm
index 0cfbf0888..b8626c4cf 100644
--- a/source/x/x11/build/xdm
+++ b/source/x/x11/build/xdm
@@ -1 +1 @@
-2
+4
diff --git a/source/x/x11/build/xf86-input-acecad b/source/x/x11/build/xf86-input-acecad
new file mode 100644
index 000000000..7ed6ff82d
--- /dev/null
+++ b/source/x/x11/build/xf86-input-acecad
@@ -0,0 +1 @@
+5
diff --git a/source/x/x11/build/xf86-input-aiptek b/source/x/x11/build/xf86-input-aiptek
new file mode 100644
index 000000000..7ed6ff82d
--- /dev/null
+++ b/source/x/x11/build/xf86-input-aiptek
@@ -0,0 +1 @@
+5
diff --git a/source/x/x11/build/xf86-input-joystick b/source/x/x11/build/xf86-input-joystick
new file mode 100644
index 000000000..7ed6ff82d
--- /dev/null
+++ b/source/x/x11/build/xf86-input-joystick
@@ -0,0 +1 @@
+5
diff --git a/source/x/x11/build/xcb-proto b/source/x/x11/build/xf86-input-keyboard
index 00750edc0..00750edc0 100644
--- a/source/x/x11/build/xcb-proto
+++ b/source/x/x11/build/xf86-input-keyboard
diff --git a/source/x/x11/build/xf86-input-mouse b/source/x/x11/build/xf86-input-mouse
new file mode 100644
index 000000000..00750edc0
--- /dev/null
+++ b/source/x/x11/build/xf86-input-mouse
@@ -0,0 +1 @@
+3
diff --git a/source/x/x11/build/xf86-input-penmount b/source/x/x11/build/xf86-input-penmount
new file mode 100644
index 000000000..7ed6ff82d
--- /dev/null
+++ b/source/x/x11/build/xf86-input-penmount
@@ -0,0 +1 @@
+5
diff --git a/source/x/x11/build/xf86-input-synaptics b/source/x/x11/build/xf86-input-synaptics
new file mode 100644
index 000000000..0cfbf0888
--- /dev/null
+++ b/source/x/x11/build/xf86-input-synaptics
@@ -0,0 +1 @@
+2
diff --git a/source/kde/build/calligra b/source/x/x11/build/xf86-input-vmmouse
index b8626c4cf..b8626c4cf 100644
--- a/source/kde/build/calligra
+++ b/source/x/x11/build/xf86-input-vmmouse
diff --git a/source/x/x11/build/xf86-input-void b/source/x/x11/build/xf86-input-void
new file mode 100644
index 000000000..7ed6ff82d
--- /dev/null
+++ b/source/x/x11/build/xf86-input-void
@@ -0,0 +1 @@
+5
diff --git a/source/x/x11/build/xf86-input-wacom b/source/x/x11/build/xf86-input-wacom
index 0cfbf0888..b8626c4cf 100644
--- a/source/x/x11/build/xf86-input-wacom
+++ b/source/x/x11/build/xf86-input-wacom
@@ -1 +1 @@
-2
+4
diff --git a/source/x/x11/build/xf86-video-apm b/source/x/x11/build/xf86-video-apm
index 0cfbf0888..b8626c4cf 100644
--- a/source/x/x11/build/xf86-video-apm
+++ b/source/x/x11/build/xf86-video-apm
@@ -1 +1 @@
-2
+4
diff --git a/source/x/x11/build/xf86-video-ark b/source/x/x11/build/xf86-video-ark
new file mode 100644
index 000000000..b8626c4cf
--- /dev/null
+++ b/source/x/x11/build/xf86-video-ark
@@ -0,0 +1 @@
+4
diff --git a/source/x/x11/build/xf86-video-ast b/source/x/x11/build/xf86-video-ast
new file mode 100644
index 000000000..0cfbf0888
--- /dev/null
+++ b/source/x/x11/build/xf86-video-ast
@@ -0,0 +1 @@
+2
diff --git a/source/x/x11/build/xf86-video-ati b/source/x/x11/build/xf86-video-ati
new file mode 100644
index 000000000..0cfbf0888
--- /dev/null
+++ b/source/x/x11/build/xf86-video-ati
@@ -0,0 +1 @@
+2
diff --git a/source/x/x11/build/xf86-video-chips b/source/x/x11/build/xf86-video-chips
index 0cfbf0888..b8626c4cf 100644
--- a/source/x/x11/build/xf86-video-chips
+++ b/source/x/x11/build/xf86-video-chips
@@ -1 +1 @@
-2
+4
diff --git a/source/x/x11/build/xf86-video-cirrus b/source/x/x11/build/xf86-video-cirrus
new file mode 100644
index 000000000..b8626c4cf
--- /dev/null
+++ b/source/x/x11/build/xf86-video-cirrus
@@ -0,0 +1 @@
+4
diff --git a/source/x/x11/build/xf86-video-glint b/source/x/x11/build/xf86-video-glint
new file mode 100644
index 000000000..b8626c4cf
--- /dev/null
+++ b/source/x/x11/build/xf86-video-glint
@@ -0,0 +1 @@
+4
diff --git a/source/x/x11/build/xf86-video-i128 b/source/x/x11/build/xf86-video-i128
new file mode 100644
index 000000000..b8626c4cf
--- /dev/null
+++ b/source/x/x11/build/xf86-video-i128
@@ -0,0 +1 @@
+4
diff --git a/source/x/x11/build/xf86-video-mach64 b/source/x/x11/build/xf86-video-mach64
new file mode 100644
index 000000000..b8626c4cf
--- /dev/null
+++ b/source/x/x11/build/xf86-video-mach64
@@ -0,0 +1 @@
+4
diff --git a/source/x/x11/build/xf86-video-mga b/source/x/x11/build/xf86-video-mga
new file mode 100644
index 000000000..b8626c4cf
--- /dev/null
+++ b/source/x/x11/build/xf86-video-mga
@@ -0,0 +1 @@
+4
diff --git a/source/x/x11/build/xf86-video-modesetting b/source/x/x11/build/xf86-video-modesetting
new file mode 100644
index 000000000..0cfbf0888
--- /dev/null
+++ b/source/x/x11/build/xf86-video-modesetting
@@ -0,0 +1 @@
+2
diff --git a/source/x/x11/build/xf86-video-neomagic b/source/x/x11/build/xf86-video-neomagic
new file mode 100644
index 000000000..0cfbf0888
--- /dev/null
+++ b/source/x/x11/build/xf86-video-neomagic
@@ -0,0 +1 @@
+2
diff --git a/source/x/x11/build/xf86-video-nouveau b/source/x/x11/build/xf86-video-nouveau
new file mode 100644
index 000000000..0cfbf0888
--- /dev/null
+++ b/source/x/x11/build/xf86-video-nouveau
@@ -0,0 +1 @@
+2
diff --git a/source/x/x11/build/xf86-video-nv b/source/x/x11/build/xf86-video-nv
new file mode 100644
index 000000000..7ed6ff82d
--- /dev/null
+++ b/source/x/x11/build/xf86-video-nv
@@ -0,0 +1 @@
+5
diff --git a/source/x/x11/build/xf86-video-omap b/source/x/x11/build/xf86-video-omap
new file mode 100644
index 000000000..b8626c4cf
--- /dev/null
+++ b/source/x/x11/build/xf86-video-omap
@@ -0,0 +1 @@
+4
diff --git a/source/x/x11/build/xf86-video-openchrome b/source/x/x11/build/xf86-video-openchrome
new file mode 100644
index 000000000..0cfbf0888
--- /dev/null
+++ b/source/x/x11/build/xf86-video-openchrome
@@ -0,0 +1 @@
+2
diff --git a/source/x/x11/build/xf86-video-rendition b/source/x/x11/build/xf86-video-rendition
new file mode 100644
index 000000000..b8626c4cf
--- /dev/null
+++ b/source/x/x11/build/xf86-video-rendition
@@ -0,0 +1 @@
+4
diff --git a/source/x/x11/build/xf86-video-s3virge b/source/x/x11/build/xf86-video-s3virge
new file mode 100644
index 000000000..7ed6ff82d
--- /dev/null
+++ b/source/x/x11/build/xf86-video-s3virge
@@ -0,0 +1 @@
+5
diff --git a/source/x/x11/build/xf86-video-siliconmotion b/source/x/x11/build/xf86-video-siliconmotion
new file mode 100644
index 000000000..7ed6ff82d
--- /dev/null
+++ b/source/x/x11/build/xf86-video-siliconmotion
@@ -0,0 +1 @@
+5
diff --git a/source/x/x11/build/xf86-video-sis b/source/x/x11/build/xf86-video-sis
new file mode 100644
index 000000000..b8626c4cf
--- /dev/null
+++ b/source/x/x11/build/xf86-video-sis
@@ -0,0 +1 @@
+4
diff --git a/source/x/x11/build/xf86-video-sisusb b/source/x/x11/build/xf86-video-sisusb
index 0cfbf0888..b8626c4cf 100644
--- a/source/x/x11/build/xf86-video-sisusb
+++ b/source/x/x11/build/xf86-video-sisusb
@@ -1 +1 @@
-2
+4
diff --git a/source/x/x11/build/xf86-video-tdfx b/source/x/x11/build/xf86-video-tdfx
new file mode 100644
index 000000000..b8626c4cf
--- /dev/null
+++ b/source/x/x11/build/xf86-video-tdfx
@@ -0,0 +1 @@
+4
diff --git a/source/x/x11/build/xf86-video-trident b/source/x/x11/build/xf86-video-trident
new file mode 100644
index 000000000..b8626c4cf
--- /dev/null
+++ b/source/x/x11/build/xf86-video-trident
@@ -0,0 +1 @@
+4
diff --git a/source/x/x11/build/xf86-video-tseng b/source/x/x11/build/xf86-video-tseng
index 0cfbf0888..b8626c4cf 100644
--- a/source/x/x11/build/xf86-video-tseng
+++ b/source/x/x11/build/xf86-video-tseng
@@ -1 +1 @@
-2
+4
diff --git a/source/x/x11/build/xf86-video-v4l b/source/x/x11/build/xf86-video-v4l
index 7ed6ff82d..ec635144f 100644
--- a/source/x/x11/build/xf86-video-v4l
+++ b/source/x/x11/build/xf86-video-v4l
@@ -1 +1 @@
-5
+9
diff --git a/source/x/x11/build/xf86-video-vmware b/source/x/x11/build/xf86-video-vmware
new file mode 100644
index 000000000..b8626c4cf
--- /dev/null
+++ b/source/x/x11/build/xf86-video-vmware
@@ -0,0 +1 @@
+4
diff --git a/source/x/x11/build/xf86-video-voodoo b/source/x/x11/build/xf86-video-voodoo
index 0cfbf0888..7ed6ff82d 100644
--- a/source/x/x11/build/xf86-video-voodoo
+++ b/source/x/x11/build/xf86-video-voodoo
@@ -1 +1 @@
-2
+5
diff --git a/source/x/x11/build/xf86-video-xgi b/source/x/x11/build/xf86-video-xgi
index 0cfbf0888..b8626c4cf 100644
--- a/source/x/x11/build/xf86-video-xgi
+++ b/source/x/x11/build/xf86-video-xgi
@@ -1 +1 @@
-2
+4
diff --git a/source/x/x11/build/xf86-video-xgixp b/source/x/x11/build/xf86-video-xgixp
new file mode 100644
index 000000000..b8626c4cf
--- /dev/null
+++ b/source/x/x11/build/xf86-video-xgixp
@@ -0,0 +1 @@
+4
diff --git a/source/x/x11/configure/xf86-input-vmmouse b/source/x/x11/configure/xf86-input-vmmouse
index 1b99250b6..1ac863519 100644
--- a/source/x/x11/configure/xf86-input-vmmouse
+++ b/source/x/x11/configure/xf86-input-vmmouse
@@ -8,8 +8,7 @@ CXXFLAGS=$SLKCFLAGS \
--infodir=/usr/info \
--mandir=/usr/man \
--disable-static \
- --with-hal-bin-dir=/usr/bin \
- --with-hal-callouts-dir=/usr/libexec \
- --with-hal-fdi-dir=/usr/share/hal/fdi/policy/10osvendor \
- --with-udev-rules-dir=none \
+ --with-hal-bin-dir=none \
+ --with-hal-callouts-dir=none \
+ --with-hal-fdi-dir=none \
--build=$ARCH-slackware-linux
diff --git a/source/x/x11/configure/xf86-video-nouveau b/source/x/x11/configure/xf86-video-nouveau
deleted file mode 100644
index e050771b3..000000000
--- a/source/x/x11/configure/xf86-video-nouveau
+++ /dev/null
@@ -1,11 +0,0 @@
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./autogen.sh \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --infodir=/usr/info \
- --mandir=/usr/man \
- --disable-static \
- --build=$ARCH-slackware-linux
diff --git a/source/x/x11/configure/xorg-server b/source/x/x11/configure/xorg-server
index 778d7668a..b62befbae 100644
--- a/source/x/x11/configure/xorg-server
+++ b/source/x/x11/configure/xorg-server
@@ -27,7 +27,7 @@ CFLAGS="$SLKCFLAGS" \
--with-int10=x86emu \
--with-default-font-path="${DEF_FONTPATH}" \
--with-module-dir=/usr/lib${LIBDIRSUFFIX}/xorg/modules \
- --with-os-name="Slackware 14.0" \
+ --with-os-name="Slackware 14.1" \
--with-os-vendor="Slackware Linux Project" \
--with-xkb-path=/etc/X11/xkb \
--with-xkb-output=/var/lib/xkb \
diff --git a/source/x/x11/doinst.sh/xdm b/source/x/x11/doinst.sh/xdm
index e1d72520d..871a3897f 100644
--- a/source/x/x11/doinst.sh/xdm
+++ b/source/x/x11/doinst.sh/xdm
@@ -11,7 +11,7 @@ config() {
}
for conffile in \
Xaccess Xreset Xresources Xservers Xsession Xsetup_0 Xstartup Xwilling \
- GiveConsole TakeConsole chooser xdm-config ../app-defaults/Chooser ;
+ GiveConsole TakeConsole xdm-config ../app-defaults/Chooser ;
do
config etc/X11/xdm/${conffile}.new
done
diff --git a/source/x/x11/makepkg/xorg-server b/source/x/x11/makepkg/xorg-server
index 67b93c971..4f47738e1 100644
--- a/source/x/x11/makepkg/xorg-server
+++ b/source/x/x11/makepkg/xorg-server
@@ -33,3 +33,10 @@ cd ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr
cd $PKG
/sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/xorg-server-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz
+if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/xorg-server-xnest-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/xorg-server-xvfb-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/xorg-server-xephyr-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/xorg-server-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz
+fi
+
diff --git a/source/x/x11/modularize b/source/x/x11/modularize
index d6eb2f68a..38762ffda 100644
--- a/source/x/x11/modularize
+++ b/source/x/x11/modularize
@@ -126,6 +126,7 @@ sessreg
setxkbmap
showfont
smproxy
+transset
twm
util-macros
videoproto
@@ -138,12 +139,14 @@ xbitmaps
xcalc
xcb-proto
xcb-util
+xcb-util-cursor
xcb-util-image
xcb-util-keysyms
xcb-util-renderutil
xcb-util-wm
xclipboard
xclock
+xcm
xcmiscproto
xcmsdb
xcompmgr
@@ -163,6 +166,8 @@ xf86-input-acecad
xf86-input-aiptek
xf86-input-evdev
xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
xf86-input-penmount
xf86-input-synaptics
xf86-input-vmmouse
@@ -186,6 +191,7 @@ xf86-video-modesetting
xf86-video-neomagic
xf86-video-nouveau
xf86-video-nv
+xf86-video-omap
xf86-video-openchrome
xf86-video-qxl
xf86-video-r128
@@ -205,6 +211,7 @@ xf86-video-vesa
xf86-video-vmware
xf86-video-voodoo
xf86-video-xgi
+xf86-video-xgixp
xf86bigfontproto
xf86dga
xf86dgaproto
diff --git a/source/x/x11/package-blacklist b/source/x/x11/package-blacklist
index 377624999..8e2f3eb5c 100644
--- a/source/x/x11/package-blacklist
+++ b/source/x/x11/package-blacklist
@@ -2,6 +2,10 @@
# this platform) below. Just the package name -- no version
# number is needed.
+# ARM only packages:
+# They also say in the README for this one that it is not yet ready:
+xf86-video-omap
+
# MacOS related packages:
applewmproto
windowswmproto
diff --git a/source/x/x11/patch/xcompmgr.patch b/source/x/x11/patch/xcompmgr.patch
index 6097b12a3..33c43a524 100644
--- a/source/x/x11/patch/xcompmgr.patch
+++ b/source/x/x11/patch/xcompmgr.patch
@@ -1,2 +1,4 @@
zcat $CWD/patch/xcompmgr/xcompmgr-follow-icccm-spec.diff.gz | patch -p1 --verbose \
|| { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/xcompmgr/patch-XFixesSetPictureClipRegion-shadow-fix-xcompmgr.c.diff.gz | patch -p0 --verbose \
+ || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/x/x11/patch/xcompmgr/patch-XFixesSetPictureClipRegion-shadow-fix-xcompmgr.c.diff b/source/x/x11/patch/xcompmgr/patch-XFixesSetPictureClipRegion-shadow-fix-xcompmgr.c.diff
new file mode 100644
index 000000000..39b8ac725
--- /dev/null
+++ b/source/x/x11/patch/xcompmgr/patch-XFixesSetPictureClipRegion-shadow-fix-xcompmgr.c.diff
@@ -0,0 +1,28 @@
+--- xcompmgr.c 2011-11-19 01:49:52.000000000 -0600
++++ xcompmgr.c 2012-08-11 21:58:58.000000000 -0500
+@@ -1028,7 +1028,6 @@
+ {
+ w->borderClip = XFixesCreateRegion (dpy, NULL, 0);
+ XFixesCopyRegion (dpy, w->borderClip, region);
+- XFixesIntersectRegion(dpy, w->borderClip, w->borderClip, w->borderSize);
+ }
+ w->prev_trans = t;
+ t = w;
+@@ -1080,6 +1079,8 @@
+ if (w->mode == WINDOW_TRANS)
+ {
+ int x, y, wid, hei;
++ XFixesIntersectRegion(dpy, w->borderClip, w->borderClip, w->borderSize);
++ XFixesSetPictureClipRegion(dpy, rootBuffer, 0, 0, w->borderClip);
+ #if HAS_NAME_WINDOW_PIXMAP
+ x = w->a.x;
+ y = w->a.y;
+@@ -1099,6 +1100,8 @@
+ else if (w->mode == WINDOW_ARGB)
+ {
+ int x, y, wid, hei;
++ XFixesIntersectRegion(dpy, w->borderClip, w->borderClip, w->borderSize);
++ XFixesSetPictureClipRegion(dpy, rootBuffer, 0, 0, w->borderClip);
+ #if HAS_NAME_WINDOW_PIXMAP
+ x = w->a.x;
+ y = w->a.y;
diff --git a/source/x/x11/patch/xdm.patch b/source/x/x11/patch/xdm.patch
new file mode 100644
index 000000000..75e0dcb92
--- /dev/null
+++ b/source/x/x11/patch/xdm.patch
@@ -0,0 +1 @@
+zcat $CWD/patch/xdm/xdm.glibc.crypt.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/x/x11/patch/xdm/xdm.glibc.crypt.diff b/source/x/x11/patch/xdm/xdm.glibc.crypt.diff
new file mode 100644
index 000000000..076df37dc
--- /dev/null
+++ b/source/x/x11/patch/xdm/xdm.glibc.crypt.diff
@@ -0,0 +1,42 @@
+From 8d1eb5c74413e4c9a21f689fc106949b121c0117 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Wed, 22 May 2013 14:20:26 +0000
+Subject: Handle NULL returns from glibc 2.17+ crypt().
+
+Starting with glibc 2.17 (eglibc 2.17), crypt() fails with EINVAL
+(w/ NULL return) if the salt violates specifications. Additionally,
+on FIPS-140 enabled Linux systems, DES/MD5-encrypted passwords
+passed to crypt() fail with EPERM (w/ NULL return).
+
+If using glibc's crypt(), check return value to avoid a possible
+NULL pointer dereference.
+
+Reviewed-by: Matthieu Herrb <matthieu@herrb.eu>
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+---
+diff --git a/greeter/verify.c b/greeter/verify.c
+index db3cb7d..b009e2b 100644
+--- a/greeter/verify.c
++++ b/greeter/verify.c
+@@ -329,6 +329,7 @@ Verify (struct display *d, struct greet_info *greet, struct verify_info *verify)
+ struct spwd *sp;
+ # endif
+ char *user_pass = NULL;
++ char *crypted_pass = NULL;
+ # endif
+ # ifdef __OpenBSD__
+ char *s;
+@@ -464,7 +465,9 @@ Verify (struct display *d, struct greet_info *greet, struct verify_info *verify)
+ # if defined(ultrix) || defined(__ultrix__)
+ if (authenticate_user(p, greet->password, NULL) < 0)
+ # else
+- if (strcmp (crypt (greet->password, user_pass), user_pass))
++ crypted_pass = crypt (greet->password, user_pass);
++ if ((crypted_pass == NULL)
++ || (strcmp (crypted_pass, user_pass)))
+ # endif
+ {
+ if(!greet->allow_null_passwd || strlen(p->pw_passwd) > 0) {
+--
+cgit v0.9.0.2-2-gbebe
+
diff --git a/source/x/x11/patch/xf86-video-apm.patch b/source/x/x11/patch/xf86-video-apm.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-apm.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-ark.patch b/source/x/x11/patch/xf86-video-ark.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-ark.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-ast.patch b/source/x/x11/patch/xf86-video-ast.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-ast.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-chips.patch b/source/x/x11/patch/xf86-video-chips.patch
index a5a54ac0e..a9ddcaa4d 100644
--- a/source/x/x11/patch/xf86-video-chips.patch
+++ b/source/x/x11/patch/xf86-video-chips.patch
@@ -1,4 +1,25 @@
-for patchfile in $CWD/patch/xf86-video-chips/*.patch ; do
- cat $patchfile | patch -p1 --verbose \
- || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } ;
+# Rationale for this is here:
+
+# commit bde65934fe8b40a5fdc8a469d0355caca59e81b5
+# Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+# Date: Sat Jul 21 09:27:10 2012 -0700
+#
+# Add iopl.h to source lists in util/Makefile.am so it gets packaged
+#
+# Was missed when it was created in commit c421f2477c9999, since
+# "make distcheck" passes due to configure determining it can't
+# build the utils without the header and moving on.
+#
+# Reported-by: Andreas Radke <a.radke@arcor.de>
+# Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+# iopl.h obtained from git repo
+cp $CWD/patch/xf86-video-chips/iopl.h util/ \
+ || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
done
diff --git a/source/x/x11/patch/xf86-video-chips/0001-chips-gut-the-overlay-8-16-support-from-driver.patch b/source/x/x11/patch/xf86-video-chips/0001-chips-gut-the-overlay-8-16-support-from-driver.patch
deleted file mode 100644
index a52e41037..000000000
--- a/source/x/x11/patch/xf86-video-chips/0001-chips-gut-the-overlay-8-16-support-from-driver.patch
+++ /dev/null
@@ -1,588 +0,0 @@
-From e4bd864898fd276a62dac05cdfff394e98434f02 Mon Sep 17 00:00:00 2001
-From: Dave Airlie <airlied@redhat.com>
-Date: Tue, 29 Mar 2011 13:53:31 +1000
-Subject: [PATCH 1/9] chips: gut the overlay 8/16 support from driver.
-
-This driver is for chips that were bought by Intel in 1997,
-this feature means maintaining a lot of code in the X server
-for little gain.
-
-Drop it like its hot.
-
-Signed-off-by: Dave Airlie <airlied@redhat.com>
-Reviewed-by: Adam Jackson <ajax@redhat.com>
----
- man/chips.man | 3 -
- src/ct_accel.c | 46 ++---------
- src/ct_driver.c | 234 ++++++-------------------------------------------------
- src/ct_driver.h | 1 -
- src/ct_video.c | 3 +-
- 5 files changed, 28 insertions(+), 259 deletions(-)
-
-diff --git a/man/chips.man b/man/chips.man
-index 740af38..0c022ee 100644
---- a/man/chips.man
-+++ b/man/chips.man
-@@ -165,9 +165,6 @@ Force the use of memory mapped IO where it can be used. Default: off
- Force driver to leave centering and stretching registers alone. This
- can fix some laptop suspend/resume problems. Default: off
- .TP
--.BI "Option \*qOverlay\*q"
--Enable 8+24 overlay mode. Only appropriate for depth 24. Default: off.
--.TP
- .BI "Option \*qColorKey\*q \*q" integer \*q
- Set the colormap index used for the transparency key for the depth 8 plane
- when operating in 8+16 overlay mode. The value must be in the range
-diff --git a/src/ct_accel.c b/src/ct_accel.c
-index 3920b0a..4b5776a 100644
---- a/src/ct_accel.c
-+++ b/src/ct_accel.c
-@@ -428,19 +428,7 @@ chips_imagewrite:
- infoPtr->ImageWriteFlags |= NO_PLANEMASK;
- #endif
-
--
--#ifdef CHIPS_HIQV
-- if (XAAInit(pScreen, infoPtr)) {
-- if (cPtr->Flags & ChipsOverlay8plus16)
-- return(XAAInitDualFramebufferOverlay(pScreen,
-- CTNAME(DepthChange)));
-- else
-- return TRUE;
-- } else
-- return FALSE;
--#else
- return(XAAInit(pScreen, infoPtr));
--#endif
- }
-
- #ifdef CHIPS_HIQV
-@@ -1243,11 +1231,6 @@ CTNAME(SubsequentScreenToScreenColorExpandFill)(ScrnInfoPtr pScrn,
- #endif
- w *= cAcl->BytesPerPixel;
- ctBLTWAIT;
--#ifdef CHIPS_HIQV
-- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16) &&
-- (pScrn->depth == 8))
-- ctSETPITCH(cAcl->PitchInBytes << 1, cAcl->PitchInBytes);
--#endif
- ctSETSRCADDR(srcaddr);
- ctSETDSTADDR(destaddr);
- #ifdef CHIPS_HIQV
-@@ -1271,10 +1254,6 @@ CTNAME(SetupForColor8x8PatternFill)(ScrnInfoPtr pScrn, int patx, int paty,
- patternaddr = (paty * pScrn->displayWidth +
- (patx & ~0x3F)) * cAcl->BytesPerPixel;
- cAcl->patternyrot = (patx & 0x3F) >> 3;
--#ifdef CHIPS_HIQV
-- if (cPtr->Flags & ChipsOverlay8plus16)
-- patternaddr += cPtr->FbOffset16;
--#endif
-
- ctBLTWAIT;
- ctSETPATSRCADDR(patternaddr);
-@@ -1338,10 +1317,7 @@ CTNAME(SetupForMono8x8PatternFill)(ScrnInfoPtr pScrn, int patx, int paty,
-
- #ifdef CHIPS_HIQV
- patternaddr = paty * pScrn->displayWidth + patx;
-- if (cPtr->Flags & ChipsOverlay8plus16)
-- patternaddr = patternaddr * 2 + cPtr->FbOffset16;
-- else
-- patternaddr *= cAcl->BytesPerPixel;
-+ patternaddr *= cAcl->BytesPerPixel;
- #else
- patternaddr = (paty * pScrn->displayWidth + patx) * cAcl->BytesPerPixel;
- #endif
-@@ -1593,10 +1569,7 @@ CTNAME(WritePixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h,
- dwords = (((skipleft + bytesPerLine + 0x7) & ~0x7)) >> 2;
- destaddr = (y * pScrn->displayWidth + x) * (bpp >> 3);
- destpitch = pScrn->displayWidth * (bpp >> 3);
-- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16))
-- destaddr += cPtr->FbOffset16;
-- else
-- destaddr += cAcl->FbOffset;
-+ destaddr += cAcl->FbOffset;
-
- ctBLTWAIT;
-
-@@ -1681,10 +1654,7 @@ CTNAME(WritePixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h,
- y++;
-
- destaddr = (y * pScrn->displayWidth + x) * (bpp >> 3);
-- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16))
-- destaddr += cPtr->FbOffset16;
-- else
-- destaddr += cAcl->FbOffset;
-+ destaddr += cAcl->FbOffset;
-
- ctBLTWAIT;
- ctSETDSTADDR(destaddr);
-@@ -1717,10 +1687,7 @@ CTNAME(ReadPixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h,
- dwords = (((bytesPerLine + 0x7) & ~0x7)) >> 2;
- srcaddr = (y * pScrn->displayWidth + x) * (bpp >> 3);
- srcpitch = pScrn->displayWidth * (bpp >> 3);
-- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16))
-- srcaddr += cPtr->FbOffset16;
-- else
-- srcaddr += cAcl->FbOffset;
-+ srcaddr += cAcl->FbOffset;
-
- ctBLTWAIT;
- ctSETROP( ctDSTSYSTEM | ctLEFT2RIGHT | ctTOP2BOTTOM |
-@@ -1755,10 +1722,7 @@ CTNAME(ReadPixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h,
- dst += dstwidth;
- y++;
- srcaddr = (y * pScrn->displayWidth + x) * (bpp >> 3);
-- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16))
-- srcaddr += cPtr->FbOffset16;
-- else
-- srcaddr += cAcl->FbOffset;
-+ srcaddr += cAcl->FbOffset;
- ctBLTWAIT;
- ctSETSRCADDR(srcaddr);
- ctSETHEIGHTWIDTHGO(h, bytesPerLine);
-diff --git a/src/ct_driver.c b/src/ct_driver.c
-index 6624b79..08df050 100644
---- a/src/ct_driver.c
-+++ b/src/ct_driver.c
-@@ -1639,55 +1639,15 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags)
- }
- }
-
-- if ((s = xf86GetOptValString(cPtr->Options, OPTION_OVERLAY))) {
-- if (!*s || !xf86NameCmp(s, "8,16") || !xf86NameCmp(s, "16,8")) {
-- if (pScrn->bitsPerPixel == 16) {
-- if (cPtr->Flags & ChipsLinearSupport) {
-- cPtr->Flags |= ChipsOverlay8plus16;
-- if(!xf86GetOptValInteger(
-- cPtr->Options, OPTION_COLOR_KEY, &(pScrn->colorKey)))
-- pScrn->colorKey = TRANSPARENCY_KEY;
-- pScrn->overlayFlags = OVERLAY_8_16_DUALFB;
-- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
-- "PseudoColor overlay enabled.\n");
-- if (!xf86IsOptionSet(cPtr->Options, OPTION_LCD_STRETCH))
-- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-- " - Forcing option \"Stretch\" \"ON\".\n");
-- if (!xf86IsOptionSet(cPtr->Options, OPTION_LCD_CENTER))
-- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-- " - Forcing option \"LcdCenter\" \"OFF\".\n");
-- if (cPtr->Flags & ChipsShadowFB) {
-- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-- " - Disabling \"Shadow Framebuffer\".\n");
-- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-- " Not support with option \"8Plus16\".\n");
-- cPtr->Flags &= ~ChipsShadowFB;
-- cPtr->Rotate = 0;
-- }
-- } else {
-- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Option \"Overlay\" ignored. Not supported without linear addressing\n");
-- }
-- } else {
-- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-- "Option \"Overlay\" is not supported in this configuration\n");
-- }
-- } else {
-- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-- "\"%s\" is not a valid value for Option \"Overlay\"\n", s);
-- }
-- }
--
-- if (!(cPtr->Flags & ChipsOverlay8plus16)) {
-- if(xf86GetOptValInteger(cPtr->Options, OPTION_VIDEO_KEY,
-- &(cPtr->videoKey))) {
-- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n",
-+ if(xf86GetOptValInteger(cPtr->Options, OPTION_VIDEO_KEY,
-+ &(cPtr->videoKey))) {
-+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n",
- cPtr->videoKey);
-- } else {
-- cPtr->videoKey = (1 << pScrn->offset.red) |
-+ } else {
-+ cPtr->videoKey = (1 << pScrn->offset.red) |
- (1 << pScrn->offset.green) |
- (((pScrn->mask.blue >> pScrn->offset.blue) - 1)
- << pScrn->offset.blue);
-- }
- }
-
- if (cPtr->Flags & ChipsShadowFB) {
-@@ -2335,28 +2295,16 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags)
- /* and 32bits on the others. Thus multiply by a suitable factor */
- if (cPtr->Flags & Chips64BitMemory) {
- if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD))
-- if (cPtr->Flags & ChipsOverlay8plus16 )
-- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 4);
-- else
- cPtr->MaxClock = min(cPtr->MaxClock,
- MemClk->Clk * 8 * 0.7 / (bytesPerPixel + 1));
- else
-- if (cPtr->Flags & ChipsOverlay8plus16)
-- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 3);
-- else
- cPtr->MaxClock = min(cPtr->MaxClock,
- MemClk->Clk * 8 * 0.7 / bytesPerPixel);
- } else {
- if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD))
-- if (cPtr->Flags & ChipsOverlay8plus16 )
-- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 4 * 0.7 / 4);
-- else
- cPtr->MaxClock = min(cPtr->MaxClock,
- MemClk->Clk * 4 * 0.7 / (bytesPerPixel + 1));
- else
-- if (cPtr->Flags & ChipsOverlay8plus16)
-- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 4 * 0.7 / 3);
-- else
- cPtr->MaxClock = min(cPtr->MaxClock,
- MemClk->Clk * 4 * 0.7 / bytesPerPixel);
- }
-@@ -3736,8 +3684,7 @@ CHIPSEnterVT(int scrnIndex, int flags)
- /* Should we re-save the text mode on each VT enter? */
- if(!chipsModeInit(pScrn, pScrn->currentMode))
- return FALSE;
-- if ((!(cPtr->Flags & ChipsOverlay8plus16))
-- && (cPtr->Flags & ChipsVideoSupport)
-+ if ((cPtr->Flags & ChipsVideoSupport)
- && (cPtr->Flags & ChipsLinearSupport))
- CHIPSResetVideo(pScrn);
-
-@@ -3788,8 +3735,7 @@ chipsLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors,
- int i, index, shift ;
- CHIPSEntPtr cPtrEnt;
-
-- shift = ((pScrn->depth == 15) &&
-- (!(cPtr->Flags & ChipsOverlay8plus16))) ? 3 : 0;
-+ shift = (pScrn->depth == 15) ? 3 : 0;
-
- if (cPtr->UseDualChannel) {
- cPtrEnt = xf86GetEntityPrivate(pScrn->entityList[0],
-@@ -3895,18 +3841,6 @@ chipsLoadPalette16(ScrnInfoPtr pScrn, int numColors, int *indices,
- hwp->disablePalette(hwp);
- }
-
--static Bool
--cfb8_16ScreenInit(ScreenPtr pScreen, pointer pbits16, pointer pbits8,
-- int xsize, int ysize, int dpix, int dpiy,
-- int width16, int width8)
--{
-- return
-- (fbOverlaySetupScreen(pScreen, pbits16, pbits8, xsize, ysize,
-- dpix, dpiy, width16, width8, 16, 8) &&
-- fbOverlayFinishScreenInit(pScreen, pbits16, pbits8, xsize, ysize,
-- dpix, dpiy, width16, width8, 16, 8, 16, 8));
--}
--
- /* Mandatory */
- static Bool
- CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
-@@ -3947,22 +3881,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
- if (!chipsMapMem(pScrn))
- return FALSE;
-
-- /* Setup a pointer to the overlay if needed */
-- if (cPtr->Flags & ChipsOverlay8plus16) {
-- cPtr->FbOffset16 = pScrn->displayWidth * pScrn->virtualY;
-- cPtr->FbSize16 = (pScrn->displayWidth << 1) * pScrn->virtualY;
-- if (cPtr->FbSize16 > (cPtr->FbMapSize - cPtr->FrameBufferSize)) {
-- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
-- "Too little memory for overlay. Disabling.\n");
-- cPtr->Flags &= ~ChipsOverlay8plus16;
-- }
-- if ((pScrn->displayWidth > 1024) || (pScrn->virtualY > 1024)) {
-- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
-- "Max overlay Width/Height 1024 pixels. Disabling.\n");
-- cPtr->Flags &= ~ChipsOverlay8plus16;
-- }
-- }
--
- /* Setup the MMIO register access functions if need */
- if (cPtr->UseFullMMIO && cPtr->MMIOBaseVGA) {
- CHIPSSetMmioExtFuncs(cPtr);
-@@ -4035,18 +3953,10 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
- miClearVisualTypes();
-
- /* Setup the visuals we support. */
-- if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)){
-- if (!miSetVisualTypes(8, PseudoColorMask | GrayScaleMask,
-- pScrn->rgbBits, PseudoColor))
-- return FALSE;
-- if (!miSetVisualTypes(16, TrueColorMask, pScrn->rgbBits, TrueColor))
-- return FALSE;
-- } else {
-- if (!miSetVisualTypes(pScrn->depth,
-+ if (!miSetVisualTypes(pScrn->depth,
- miGetDefaultVisualMask(pScrn->depth),
- pScrn->rgbBits, pScrn->defaultVisual))
-- return FALSE;
-- }
-+ return FALSE;
- miSetPixmapDepths ();
-
- /*
-@@ -4090,13 +4000,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
- break;
- #endif
- case 16:
-- if (cPtr->Flags & ChipsOverlay8plus16) {
-- ret = cfb8_16ScreenInit(pScreen, (unsigned char *)FBStart +
-- cPtr->FbOffset16, FBStart, width,
-- height, pScrn->xDpi, pScrn->yDpi,
-- displayWidth, displayWidth);
-- break;
-- }
- default:
- ret = fbScreenInit(pScreen, FBStart,
- width,height,
-@@ -4244,9 +4147,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
- if (pScrn->bitsPerPixel < 8)
- freespace = allocatebase - pScrn->displayWidth *
- pScrn->virtualY / 2;
-- else if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16))
-- freespace = allocatebase - pScrn->displayWidth *
-- pScrn->virtualY - cPtr->FbSize16;
- else
- freespace = allocatebase - pScrn->displayWidth *
- pScrn->virtualY * (pScrn->bitsPerPixel >> 3);
-@@ -4369,9 +4269,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
- AvailFBArea.y2 = cAcl->CacheEnd /
- (pScrn->displayWidth * (pScrn->bitsPerPixel >> 3));
-
-- if (!(cPtr->Flags & ChipsOverlay8plus16)) {
-- xf86InitFBManager(pScreen, &AvailFBArea);
-- }
-+ xf86InitFBManager(pScreen, &AvailFBArea);
- }
- if (cPtr->Flags & ChipsAccelSupport) {
- if (IS_HiQV(cPtr)) {
-@@ -4425,16 +4323,10 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
- if (!miCreateDefColormap(pScreen))
- return FALSE;
-
-- if ((cPtr->Flags & ChipsOverlay8plus16) && (pScrn->bitsPerPixel == 16)) {
-- if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, chipsLoadPalette,
-- NULL, CMAP_RELOAD_ON_MODE_SWITCH))
-- return FALSE;
-- } else {
-- if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits,
-+ if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits,
- (pScrn->depth == 16 ? chipsLoadPalette16 : chipsLoadPalette),
- NULL, CMAP_RELOAD_ON_MODE_SWITCH | CMAP_PALETTED_TRUECOLOR))
-- return FALSE;
-- }
-+ return FALSE;
-
- #ifndef XSERVER_LIBPCIACCESS
- racflag = RAC_COLORMAP;
-@@ -4448,8 +4340,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
- xf86SetSilkenMouse(pScreen);
- #endif
-
-- if ((!(cPtr->Flags & ChipsOverlay8plus16))
-- && (cPtr->Flags & ChipsVideoSupport)
-+ if ((cPtr->Flags & ChipsVideoSupport)
- && (cPtr->Flags & ChipsLinearSupport)) {
- CHIPSInitVideo(pScreen);
- }
-@@ -4522,10 +4413,7 @@ CHIPSAdjustFrame(int scrnIndex, int x, int y, int flags)
- Base >>= 3;
- break;
- case 16:
-- if (!(cPtr->Flags & ChipsOverlay8plus16))
-- Base >>= 1;
-- else
-- Base >>= 2;
-+ Base >>= 1;
- break;
- case 24:
- if (!IS_HiQV(cPtr))
-@@ -4581,14 +4469,6 @@ CHIPSAdjustFrame(int scrnIndex, int x, int y, int flags)
- cPtr->writeMSS(cPtr, hwp, MSS);
- }
-
-- if (cPtr->Flags & ChipsOverlay8plus16) {
-- Base = (Base << 3) & ~(unsigned long)0xF;
--
-- cPtr->writeMR(cPtr, 0x22, (cPtr->FbOffset16 + Base) & 0xF8);
-- cPtr->writeMR(cPtr, 0x23, ((cPtr->FbOffset16 + Base) >> 8) & 0xFF);
-- cPtr->writeMR(cPtr, 0x24, ((cPtr->FbOffset16 + Base) >> 16) & 0xFF);
-- }
--
- }
-
- /* Mandatory */
-@@ -4652,13 +4532,6 @@ CHIPSValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags)
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
- CHIPSPtr cPtr = CHIPSPTR(pScrn);
-
-- if (flags & MODECHECK_FINAL) {
-- /* Don't subtract FrambufferSize here as it should be subtracted already */
-- if ((cPtr->Flags & ChipsOverlay8plus16)
-- && ((pScrn->videoRam<<10) - pScrn->displayWidth * 3 * pScrn->virtualY
-- < 0))
-- return MODE_MEM;
-- }
- /* The tests here need to be expanded */
- if ((mode->Flags & V_INTERLACE) && (cPtr->PanelType & ChipsLCD))
- return MODE_NO_INTERLACE;
-@@ -5544,12 +5417,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
- } else {
- ChipsStd->Attribute[0x10] = 0x01; /* mode */
- }
-- if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)) {
-- /* Make sure that the overlay isn't visible in the overscan region */
-- if (ChipsStd->Attribute[0x11] == pScrn->colorKey)
-- ChipsStd->Attribute[0x11] = pScrn->colorKey - 1;
-- } else
-- ChipsStd->Attribute[0x11] = 0x00; /* overscan (border) color */
-+ ChipsStd->Attribute[0x11] = 0x00; /* overscan (border) color */
- ChipsStd->Attribute[0x12] = 0x0F; /* enable all color planes */
- ChipsStd->Attribute[0x13] = 0x00; /* horiz pixel panning 0 */
-
-@@ -5558,8 +5426,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
- /* set virtual screen width */
- tmp = pScrn->displayWidth >> 3;
- if (pScrn->bitsPerPixel == 16) {
-- if (!(cPtr->Flags & ChipsOverlay8plus16))
-- tmp <<= 1; /* double the width of the buffer */
-+ tmp <<= 1; /* double the width of the buffer */
- } else if (pScrn->bitsPerPixel == 24) {
- tmp += tmp << 1;
- } else if (pScrn->bitsPerPixel == 32) {
-@@ -5688,8 +5555,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
-
- /* centering/stretching */
- if (!xf86ReturnOptValBool(cPtr->Options, OPTION_SUSPEND_HACK, FALSE)) {
-- if (!xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_STRETCH, FALSE) ||
-- (cPtr->Flags & ChipsOverlay8plus16)) {
-+ if (!xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_STRETCH, FALSE)) {
- ChipsNew->FR[0x40] &= 0xDF; /* Disable Horizontal stretching */
- ChipsNew->FR[0x48] &= 0xFB; /* Disable vertical stretching */
- ChipsNew->XR[0xA0] = 0x10; /* Disable cursor stretching */
-@@ -5709,8 +5575,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
- }
- }
-
-- if ((xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_CENTER, TRUE))
-- || (cPtr->Flags & ChipsOverlay8plus16)) {
-+ if (xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_CENTER, TRUE)) {
- ChipsNew->FR[0x40] |= 0x3; /* Enable Horizontal centering */
- ChipsNew->FR[0x48] |= 0x3; /* Enable Vertical centering */
- } else {
-@@ -5723,8 +5588,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
- ChipsNew->XR[0x82] |=0x02;
-
- /* software mode flag */
-- ChipsNew->XR[0xE2] = chipsVideoMode(((cPtr->Flags & ChipsOverlay8plus16) ?
-- 8 : pScrn->depth), (cPtr->PanelType & ChipsLCD) ?
-+ ChipsNew->XR[0xE2] = chipsVideoMode((pScrn->depth), (cPtr->PanelType & ChipsLCD) ?
- min(mode->CrtcHDisplay, cPtr->PanelSize.HDisplay) :
- mode->CrtcHDisplay, mode->CrtcVDisplay);
- #ifdef DEBUG
-@@ -5762,7 +5626,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
- }
- }
- /* bpp depend */
-- if ((pScrn->bitsPerPixel == 16) && (!(cPtr->Flags & ChipsOverlay8plus16))) {
-+ if (pScrn->bitsPerPixel == 16) {
- ChipsNew->XR[0x81] = (ChipsNew->XR[0x81] & 0xF0) | 0x4;
- if (cPtr->Flags & ChipsGammaSupport)
- ChipsNew->XR[0x82] |= 0x0C;
-@@ -5915,60 +5779,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode)
- /* Turn off multimedia by default as it degrades performance */
- ChipsNew->XR[0xD0] &= 0x0f;
-
-- /* Setup the video/overlay */
-- if (cPtr->Flags & ChipsOverlay8plus16) {
-- ChipsNew->XR[0xD0] |= 0x10; /* Force the Multimedia engine on */
--#ifdef SAR04
-- ChipsNew->XR[0x4F] = 0x2A; /* SAR04 >352 pixel overlay width */
--#endif
-- ChipsNew->MR[0x1E] &= 0xE0; /* Set Zoom and Direction */
-- if ((!(cPtr->PanelType & ChipsLCD)) && (mode->Flags & V_INTERLACE))
-- ChipsNew->MR[0x1E] |= 0x10; /* Interlace */
-- ChipsNew->MR[0x1F] &= 0x14; /* Mask reserved bits */
-- ChipsNew->MR[0x1F] |= 0x08; /* RGB 16bpp */
-- if (pScrn->weight.green == 5)
-- ChipsNew->MR[0x1F] |= 0x01; /* RGB 15bpp */
--
-- ChipsNew->MR[0x20] &= 0x03; /* Mask reserved bits */
-- ChipsNew->MR[0x20] |= 0x80; /* Auto Centre, Use mem ptr1 */
-- ChipsNew->MR[0x22] = cPtr->FbOffset16 & 0xF8; /* Setup Pointer 1 */
-- ChipsNew->MR[0x23] = (cPtr->FbOffset16 >> 8) & 0xFF;
-- ChipsNew->MR[0x24] = (cPtr->FbOffset16 >> 16) & 0xFF;
-- ChipsNew->MR[0x25] = cPtr->FbOffset16 & 0xF8; /* Setup Pointer 2 */
-- ChipsNew->MR[0x26] = (cPtr->FbOffset16 >> 8) & 0xFF;
-- ChipsNew->MR[0x27] = (cPtr->FbOffset16 >> 16) & 0xFF;
-- ChipsNew->MR[0x28] = (pScrn->displayWidth >> 2) - 1; /* Width */
-- ChipsNew->MR[0x34] = (pScrn->displayWidth >> 2) - 1;
--
-- /* Left Edge of Overlay */
-- ChipsNew->MR[0x2A] = cPtr->OverlaySkewX;
-- ChipsNew->MR[0x2B] &= 0xF8; /* Mask reserved bits */
-- ChipsNew->MR[0x2B] |= ((cPtr->OverlaySkewX >> 8) & 0x7);
-- /* Right Edge of Overlay */
-- ChipsNew->MR[0x2C] = (cPtr->OverlaySkewX + pScrn->displayWidth -
-- 1) & 0xFF;
-- ChipsNew->MR[0x2D] &= 0xF8; /* Mask reserved bits */
-- ChipsNew->MR[0x2D] |= ((cPtr->OverlaySkewX + pScrn->displayWidth -
-- 1) >> 8) & 0x07;
-- /* Top Edge of Overlay */
-- ChipsNew->MR[0x2E] = cPtr->OverlaySkewY;
-- ChipsNew->MR[0x2F] &= 0xF8;
-- ChipsNew->MR[0x2F] |= ((cPtr->OverlaySkewY >> 8) & 0x7);
-- /* Bottom Edge of Overlay*/
-- ChipsNew->MR[0x30] = (cPtr->OverlaySkewY + pScrn->virtualY - 1 )& 0xFF;
-- ChipsNew->MR[0x31] &= 0xF8; /* Mask reserved bits */
-- ChipsNew->MR[0x31] |= ((cPtr->OverlaySkewY + pScrn->virtualY -
-- 1 ) >> 8) & 0x07;
--
-- ChipsNew->MR[0x3C] &= 0x18; /* Mask reserved bits */
-- ChipsNew->MR[0x3C] |= 0x07; /* Enable keyed overlay window */
-- ChipsNew->MR[0x3D] = 0x00;
-- ChipsNew->MR[0x3E] = 0x00;
-- ChipsNew->MR[0x3F] = pScrn->colorKey; /* 8bpp transparency key */
-- ChipsNew->MR[0x40] = 0xFF;
-- ChipsNew->MR[0x41] = 0xFF;
-- ChipsNew->MR[0x42] = 0x00;
-- } else if (cPtr->Flags & ChipsVideoSupport) {
-+ if (cPtr->Flags & ChipsVideoSupport) {
- #if 0 /* if we do this even though video isn't playing we kill performance */
- ChipsNew->XR[0xD0] |= 0x10; /* Force the Multimedia engine on */
- #endif
-@@ -6877,8 +6688,7 @@ chipsRestoreExtendedRegs(ScrnInfoPtr pScrn, CHIPSRegPtr Regs)
- }
-
- /* Set SAR04 multimedia register correctly */
-- if ((cPtr->Flags & ChipsOverlay8plus16)
-- || (cPtr->Flags & ChipsVideoSupport)) {
-+ if ((cPtr->Flags & ChipsVideoSupport)) {
- #ifdef SAR04
- cPtr->writeXR(cPtr, 0x4E, 0x04);
- if (cPtr->readXR(cPtr, 0x4F) != Regs->XR[0x4F])
-diff --git a/src/ct_driver.h b/src/ct_driver.h
-index d8ce228..10a24d4 100644
---- a/src/ct_driver.h
-+++ b/src/ct_driver.h
-@@ -114,7 +114,6 @@ typedef struct {
- /* Options flags for the C&T chipsets */
- #define ChipsHWCursor 0x00001000
- #define ChipsShadowFB 0x00002000
--#define ChipsOverlay8plus16 0x00004000
- #define ChipsUseNewFB 0x00008000
-
- /* Architecture type flags */
-diff --git a/src/ct_video.c b/src/ct_video.c
-index a68acb9..c9e5bb4 100644
---- a/src/ct_video.c
-+++ b/src/ct_video.c
-@@ -56,8 +56,7 @@ CHIPSInitVideo(ScreenPtr pScreen)
- CHIPSPtr cPtr = CHIPSPTR(pScrn);
- int num_adaptors;
-
-- if (!(cPtr->Flags & ChipsOverlay8plus16) &&
-- (cPtr->Flags & ChipsVideoSupport)) {
-+ if ((cPtr->Flags & ChipsVideoSupport)) {
- newAdaptor = CHIPSSetupImageVideo(pScreen);
- CHIPSInitOffscreenImages(pScreen);
- }
---
-1.7.9.4
-
diff --git a/source/x/x11/patch/xf86-video-chips/0002-PciTag-is-unused-when-using-libpciaccess.patch b/source/x/x11/patch/xf86-video-chips/0002-PciTag-is-unused-when-using-libpciaccess.patch
deleted file mode 100644
index 6caaa210d..000000000
--- a/source/x/x11/patch/xf86-video-chips/0002-PciTag-is-unused-when-using-libpciaccess.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 5f8a7320123255408b393eab9ecfae783920622a Mon Sep 17 00:00:00 2001
-From: Mark Kettenis <kettenis@openbsd.org>
-Date: Mon, 26 Sep 2011 21:26:26 +0200
-Subject: [PATCH 2/9] PciTag is unused when using libpciaccess
-
-Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
-Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
-Reviewed-by: Julien Cristau <jcristau@debian.org>
----
- src/ct_driver.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/ct_driver.h b/src/ct_driver.h
-index 10a24d4..39eeb6e 100644
---- a/src/ct_driver.h
-+++ b/src/ct_driver.h
-@@ -271,7 +271,9 @@ typedef struct {
-
- typedef struct _CHIPSRec {
- pciVideoPtr PciInfo;
-+#ifndef XSERVER_LIBPCIACCESS
- PCITAG PciTag;
-+#endif
- int Chipset;
- EntityInfoPtr pEnt;
- IOADDRESS PIOBase;
---
-1.7.9.4
-
diff --git a/source/x/x11/patch/xf86-video-chips/0003-Use-malloc-calloc-realloc-free-directly.patch b/source/x/x11/patch/xf86-video-chips/0003-Use-malloc-calloc-realloc-free-directly.patch
deleted file mode 100644
index de379e4dd..000000000
--- a/source/x/x11/patch/xf86-video-chips/0003-Use-malloc-calloc-realloc-free-directly.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 7ca1840f39d0216e44fe1ca938cfc3ced048da1d Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu@apple.com>
-Date: Tue, 18 Oct 2011 22:24:54 -0700
-Subject: [PATCH 3/9] Use malloc/calloc/realloc/free directly
-
-Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
----
- src/ct_driver.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/ct_driver.c b/src/ct_driver.c
-index 08df050..e6538c6 100644
---- a/src/ct_driver.c
-+++ b/src/ct_driver.c
-@@ -949,7 +949,7 @@ CHIPSProbe(DriverPtr drv, int flags)
- }
-
- }
-- xfree(usedChips);
-+ free(usedChips);
- }
- }
-
-@@ -981,12 +981,12 @@ CHIPSProbe(DriverPtr drv, int flags)
- pScrn->ValidMode = CHIPSValidMode;
- foundScreen = TRUE;
- }
-- xfree(usedChips);
-+ free(usedChips);
- }
- }
- #endif
-
-- xfree(devSections);
-+ free(devSections);
- return foundScreen;
- }
- #endif
-@@ -4126,7 +4126,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
- }
- if (!miInitializeBanking(pScreen, pScrn->virtualX, pScrn->virtualY,
- pScrn->displayWidth, pBankInfo)) {
-- xfree(pBankInfo);
-+ free(pBankInfo);
- pBankInfo = NULL;
- return FALSE;
- }
---
-1.7.9.4
-
diff --git a/source/x/x11/patch/xf86-video-chips/0004-configure.ac-Remove-AM_PROG_CC_C_O.patch b/source/x/x11/patch/xf86-video-chips/0004-configure.ac-Remove-AM_PROG_CC_C_O.patch
deleted file mode 100644
index bcf6355a1..000000000
--- a/source/x/x11/patch/xf86-video-chips/0004-configure.ac-Remove-AM_PROG_CC_C_O.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From f5191838b70d67e991bef3491d2a60915988079c Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu@apple.com>
-Date: Tue, 18 Oct 2011 22:37:00 -0700
-Subject: [PATCH 4/9] configure.ac: Remove AM_PROG_CC_C_O
-
-Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
----
- configure.ac | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 225e516..c0ed508 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -44,9 +44,6 @@ XORG_DEFAULT_OPTIONS
- AC_DISABLE_STATIC
- AC_PROG_LIBTOOL
-
--# Checks for programs.
--AM_PROG_CC_C_O
--
- AH_TOP([#include "xorg-server.h"])
-
- # Define a configure option for an alternate module directory
---
-1.7.9.4
-
diff --git a/source/x/x11/patch/xf86-video-chips/0005-util-Consolidate-common-macros.patch b/source/x/x11/patch/xf86-video-chips/0005-util-Consolidate-common-macros.patch
deleted file mode 100644
index 77d0d5bc0..000000000
--- a/source/x/x11/patch/xf86-video-chips/0005-util-Consolidate-common-macros.patch
+++ /dev/null
@@ -1,283 +0,0 @@
-From 94a8b34528b42a4fe6f81c8b8bd1ddb6bebaeea9 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu@apple.com>
-Date: Tue, 18 Oct 2011 23:04:32 -0700
-Subject: [PATCH 5/9] util: Consolidate common macros
-
-Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
----
- util/dRegs.c | 57 +------------------------------------------------------
- util/iopl.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- util/mRegs.c | 57 +------------------------------------------------------
- util/modClock.c | 53 ++-------------------------------------------------
- 4 files changed, 58 insertions(+), 163 deletions(-)
- create mode 100644 util/iopl.h
-
-diff --git a/util/dRegs.c b/util/dRegs.c
-index b7edc8f..0d2f0cb 100644
---- a/util/dRegs.c
-+++ b/util/dRegs.c
-@@ -1,63 +1,8 @@
--
--
--
--
--
--
--#ifdef __NetBSD__
--# include <sys/types.h>
--# include <machine/pio.h>
--# include <machine/sysarch.h>
--#else
--# if defined(SVR4) && defined(i386)
--# include <sys/types.h>
--# ifdef NCR
-- /* broken NCR <sys/sysi86.h> */
--# define __STDC
--# include <sys/sysi86.h>
--# undef __STDC
--# else
--# include <sys/sysi86.h>
--# endif
--# ifdef SVR4
--# if !defined(sun)
--# include <sys/seg.h>
--# endif
--# endif
--# include <sys/v86.h>
--# if defined(sun)
--# include <sys/psw.h>
--# endif
--# endif
--# include "AsmMacros.h"
--#endif /* NetBSD */
--
- #include <unistd.h>
- #include <stdio.h>
- #include <stdlib.h>
-
--#ifdef __NetBSD__
--# define SET_IOPL() i386_iopl(3)
--# define RESET_IOPL() i386_iopl(0)
--#else
--# if defined(SVR4) && defined(i386)
--# ifndef SI86IOPL
--# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL)
--# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0)
--# else
--# define SET_IOPL() sysi86(SI86IOPL,3)
--# define RESET_IOPL() sysi86(SI86IOPL,0)
--# endif
--# else
--# ifdef linux
--# define SET_IOPL() iopl(3)
--# define RESET_IOPL() iopl(0)
--# else
--# define SET_IOPL() (void)0
--# define RESET_IOPL() (void)0
--# endif
--# endif
--#endif
-+#include "iopl.h"
-
- int main(void)
- {
-diff --git a/util/iopl.h b/util/iopl.h
-new file mode 100644
-index 0000000..d7890b3
---- /dev/null
-+++ b/util/iopl.h
-@@ -0,0 +1,54 @@
-+#ifdef __NetBSD__
-+# include <sys/types.h>
-+# include <machine/pio.h>
-+# include <machine/sysarch.h>
-+#else
-+# if defined(SVR4) && defined(i386)
-+# include <sys/types.h>
-+# ifdef NCR
-+ /* broken NCR <sys/sysi86.h> */
-+# define __STDC
-+# include <sys/sysi86.h>
-+# undef __STDC
-+# else
-+# include <sys/sysi86.h>
-+# endif
-+# ifdef SVR4
-+# if !defined(sun)
-+# include <sys/seg.h>
-+# endif
-+# endif
-+# include <sys/v86.h>
-+# if defined(sun)
-+# include <sys/psw.h>
-+# endif
-+# endif
-+# include "AsmMacros.h"
-+#endif /* NetBSD */
-+
-+#include <unistd.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+
-+#ifdef __NetBSD__
-+# define SET_IOPL() i386_iopl(3)
-+# define RESET_IOPL() i386_iopl(0)
-+#else
-+# if defined(SVR4) && defined(i386)
-+# ifndef SI86IOPL
-+# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL)
-+# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0)
-+# else
-+# define SET_IOPL() sysi86(SI86IOPL,3)
-+# define RESET_IOPL() sysi86(SI86IOPL,0)
-+# endif
-+# else
-+# ifdef linux
-+# define SET_IOPL() iopl(3)
-+# define RESET_IOPL() iopl(0)
-+# else
-+# define SET_IOPL() (void)0
-+# define RESET_IOPL() (void)0
-+# endif
-+# endif
-+#endif
-diff --git a/util/mRegs.c b/util/mRegs.c
-index f359738..843d01d 100644
---- a/util/mRegs.c
-+++ b/util/mRegs.c
-@@ -1,63 +1,8 @@
--
--
--
--
--
--
--#ifdef __NetBSD__
--# include <sys/types.h>
--# include <machine/pio.h>
--# include <machine/sysarch.h>
--#else
--# if defined(SVR4) && defined(i386)
--# include <sys/types.h>
--# ifdef NCR
-- /* broken NCR <sys/sysi86.h> */
--# define __STDC
--# include <sys/sysi86.h>
--# undef __STDC
--# else
--# include <sys/sysi86.h>
--# endif
--# ifdef SVR4
--# if !defined(sun)
--# include <sys/seg.h>
--# endif
--# endif
--# include <sys/v86.h>
--# if defined(sun)
--# include <sys/psw.h>
--# endif
--# endif
--# include "AsmMacros.h"
--#endif /* NetBSD */
--
- #include <unistd.h>
- #include <stdio.h>
- #include <stdlib.h>
-
--#ifdef __NetBSD__
--# define SET_IOPL() i386_iopl(3)
--# define RESET_IOPL() i386_iopl(0)
--#else
--# if defined(SVR4) && defined(i386)
--# ifndef SI86IOPL
--# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL)
--# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0)
--# else
--# define SET_IOPL() sysi86(SI86IOPL,3)
--# define RESET_IOPL() sysi86(SI86IOPL,0)
--# endif
--# else
--# ifdef linux
--# define SET_IOPL() iopl(3)
--# define RESET_IOPL() iopl(0)
--# else
--# define SET_IOPL() (void)0
--# define RESET_IOPL() (void)0
--# endif
--# endif
--#endif
-+#include "iopl.h"
-
- int hex2int(char* str);
-
-diff --git a/util/modClock.c b/util/modClock.c
-index 89a291a..45af19b 100644
---- a/util/modClock.c
-+++ b/util/modClock.c
-@@ -1,61 +1,12 @@
--
--#ifdef __NetBSD__
--# include <sys/types.h>
--# include <machine/pio.h>
--# include <machine/sysarch.h>
--#else
--# if defined(SVR4) && defined(i386)
--# include <sys/types.h>
--# ifdef NCR
-- /* broken NCR <sys/sysi86.h> */
--# define __STDC
--# include <sys/sysi86.h>
--# undef __STDC
--# else
--# include <sys/sysi86.h>
--# endif
--# ifdef SVR4
--# if !defined(sun)
--# include <sys/seg.h>
--# endif
--# endif
--# include <sys/v86.h>
--# if defined(sun)
--# include <sys/psw.h>
--# endif
--# endif
--# include "AsmMacros.h"
--#endif /* NetBSD */
--
- #include <unistd.h>
- #include <stdio.h>
- #include <stdlib.h>
-+
- #ifndef Lynx
- #include <fnmatch.h>
- #endif
-
--#ifdef __NetBSD__
--# define SET_IOPL() i386_iopl(3)
--# define RESET_IOPL() i386_iopl(0)
--#else
--# if defined(SVR4) && defined(i386)
--# ifndef SI86IOPL
--# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL)
--# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0)
--# else
--# define SET_IOPL() sysi86(SI86IOPL,3)
--# define RESET_IOPL() sysi86(SI86IOPL,0)
--# endif
--# else
--# ifdef linux
--# define SET_IOPL() iopl(3)
--# define RESET_IOPL() iopl(0)
--# else
--# define SET_IOPL() (void)0
--# define RESET_IOPL() (void)0
--# endif
--# endif
--#endif
-+#include "iopl.h"
-
- #define tolerance 0.01 /* +/- 1% */
-
---
-1.7.9.4
-
diff --git a/source/x/x11/patch/xf86-video-chips/0006-Fix-implicit-declaration-of-iopl.patch b/source/x/x11/patch/xf86-video-chips/0006-Fix-implicit-declaration-of-iopl.patch
deleted file mode 100644
index a0b4bb4b9..000000000
--- a/source/x/x11/patch/xf86-video-chips/0006-Fix-implicit-declaration-of-iopl.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From c421f2477c99990d0dc712d6aece981fa6c961e5 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu@apple.com>
-Date: Tue, 18 Oct 2011 23:09:09 -0700
-Subject: [PATCH 6/9] Fix implicit declaration of iopl
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-warning: implicit declaration of function ‘iopl’ [-Wimplicit-function-declaration]
-
-Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
----
- util/iopl.h | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/util/iopl.h b/util/iopl.h
-index d7890b3..e08207c 100644
---- a/util/iopl.h
-+++ b/util/iopl.h
-@@ -3,6 +3,12 @@
- # include <machine/pio.h>
- # include <machine/sysarch.h>
- #else
-+# if defined(__linux__)
-+/* Can't because <sys/iopl.h> provides conflicting inb, outb, etc
-+ * # include <sys/io.h>
-+ */
-+int iopl(int level);
-+# endif
- # if defined(SVR4) && defined(i386)
- # include <sys/types.h>
- # ifdef NCR
---
-1.7.9.4
-
diff --git a/source/x/x11/patch/xf86-video-chips/0007-Build-fix-for-ABI-Version-12.patch b/source/x/x11/patch/xf86-video-chips/0007-Build-fix-for-ABI-Version-12.patch
deleted file mode 100644
index 12dc51316..000000000
--- a/source/x/x11/patch/xf86-video-chips/0007-Build-fix-for-ABI-Version-12.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 8a5ea07f30cc71ecc413fad0713facff72f77472 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu@apple.com>
-Date: Tue, 18 Oct 2011 23:21:33 -0700
-Subject: [PATCH 7/9] Build fix for ABI Version 12
-
-ABI Version 12 removes support for multiple PCI domains. If you need to
-use this driver on a system with more than one PCI domain, you should
-either port this driver to using libpciaccess directly or stick with an
-older server.
-
-Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
----
- src/ct_driver.c | 5 +++++
- src/ct_driver.h | 4 ++--
- 2 files changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/src/ct_driver.c b/src/ct_driver.c
-index e6538c6..a2e5c94 100644
---- a/src/ct_driver.c
-+++ b/src/ct_driver.c
-@@ -1446,7 +1446,12 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags)
-
- hwp = VGAHWPTR(pScrn);
- vgaHWGetIOBase(hwp);
-+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
- cPtr->PIOBase = hwp->PIOOffset;
-+#else
-+ cPtr->PIOBase = 0;
-+#endif
-+
- /*
- * Must allow ensure that storage for the 2nd set of vga registers is
- * allocated for dual channel cards
-diff --git a/src/ct_driver.h b/src/ct_driver.h
-index 39eeb6e..9033867 100644
---- a/src/ct_driver.h
-+++ b/src/ct_driver.h
-@@ -276,8 +276,8 @@ typedef struct _CHIPSRec {
- #endif
- int Chipset;
- EntityInfoPtr pEnt;
-- IOADDRESS PIOBase;
-- CARD32 IOAddress;
-+ unsigned long PIOBase;
-+ unsigned long IOAddress;
- unsigned long FbAddress;
- unsigned int IOBase;
- unsigned char * FbBase;
---
-1.7.9.4
-
diff --git a/source/x/x11/patch/xf86-video-chips/0008-Fall-back-to-shadowfb-if-XAA-is-unavailable.patch b/source/x/x11/patch/xf86-video-chips/0008-Fall-back-to-shadowfb-if-XAA-is-unavailable.patch
deleted file mode 100644
index 3478fa34b..000000000
--- a/source/x/x11/patch/xf86-video-chips/0008-Fall-back-to-shadowfb-if-XAA-is-unavailable.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 5d5753551609f1483801e5edd8d42b11713c981e Mon Sep 17 00:00:00 2001
-From: Adam Jackson <ajax@redhat.com>
-Date: Mon, 19 Dec 2011 16:18:34 -0500
-Subject: [PATCH 8/9] Fall back to shadowfb if XAA is unavailable
-
-Signed-off-by: Adam Jackson <ajax@redhat.com>
----
- src/ct_driver.c | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/src/ct_driver.c b/src/ct_driver.c
-index a2e5c94..95092a2 100644
---- a/src/ct_driver.c
-+++ b/src/ct_driver.c
-@@ -1345,10 +1345,9 @@ CHIPSPreInit(ScrnInfoPtr pScrn, int flags)
-
- if (cPtr->Flags & ChipsAccelSupport) {
- if (!xf86LoadSubModule(pScrn, "xaa")) {
-- vbeFree(cPtr->pVbe);
-- cPtr->pVbe = NULL;
-- CHIPSFreeRec(pScrn);
-- return FALSE;
-+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Falling back to shadowfb\n");
-+ cPtr->Flags &= ~(ChipsAccelSupport);
-+ cPtr->Flags |= ChipsShadowFB;
- }
- }
-
---
-1.7.9.4
-
diff --git a/source/x/x11/patch/xf86-video-chips/0009-Fix-for-new-vgaHW-ABI.patch b/source/x/x11/patch/xf86-video-chips/0009-Fix-for-new-vgaHW-ABI.patch
deleted file mode 100644
index 74ec37225..000000000
--- a/source/x/x11/patch/xf86-video-chips/0009-Fix-for-new-vgaHW-ABI.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 989cf4f1fb2ac57f38d363734b71a5cf749db146 Mon Sep 17 00:00:00 2001
-From: Adam Jackson <ajax@redhat.com>
-Date: Mon, 19 Dec 2011 17:45:41 -0500
-Subject: [PATCH 9/9] Fix for new vgaHW ABI
-
-Signed-off-by: Adam Jackson <ajax@redhat.com>
----
- src/ct_driver.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/ct_driver.c b/src/ct_driver.c
-index 95092a2..08ccd72 100644
---- a/src/ct_driver.c
-+++ b/src/ct_driver.c
-@@ -1444,6 +1444,7 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags)
- return FALSE;
-
- hwp = VGAHWPTR(pScrn);
-+ vgaHWSetStdFuncs(hwp);
- vgaHWGetIOBase(hwp);
- #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
- cPtr->PIOBase = hwp->PIOOffset;
---
-1.7.9.4
-
diff --git a/source/x/x11/patch/xf86-video-chips/iopl.h b/source/x/x11/patch/xf86-video-chips/iopl.h
new file mode 100644
index 000000000..e08207c7f
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-chips/iopl.h
@@ -0,0 +1,60 @@
+#ifdef __NetBSD__
+# include <sys/types.h>
+# include <machine/pio.h>
+# include <machine/sysarch.h>
+#else
+# if defined(__linux__)
+/* Can't because <sys/iopl.h> provides conflicting inb, outb, etc
+ * # include <sys/io.h>
+ */
+int iopl(int level);
+# endif
+# if defined(SVR4) && defined(i386)
+# include <sys/types.h>
+# ifdef NCR
+ /* broken NCR <sys/sysi86.h> */
+# define __STDC
+# include <sys/sysi86.h>
+# undef __STDC
+# else
+# include <sys/sysi86.h>
+# endif
+# ifdef SVR4
+# if !defined(sun)
+# include <sys/seg.h>
+# endif
+# endif
+# include <sys/v86.h>
+# if defined(sun)
+# include <sys/psw.h>
+# endif
+# endif
+# include "AsmMacros.h"
+#endif /* NetBSD */
+
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#ifdef __NetBSD__
+# define SET_IOPL() i386_iopl(3)
+# define RESET_IOPL() i386_iopl(0)
+#else
+# if defined(SVR4) && defined(i386)
+# ifndef SI86IOPL
+# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL)
+# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0)
+# else
+# define SET_IOPL() sysi86(SI86IOPL,3)
+# define RESET_IOPL() sysi86(SI86IOPL,0)
+# endif
+# else
+# ifdef linux
+# define SET_IOPL() iopl(3)
+# define RESET_IOPL() iopl(0)
+# else
+# define SET_IOPL() (void)0
+# define RESET_IOPL() (void)0
+# endif
+# endif
+#endif
diff --git a/source/x/x11/patch/xf86-video-dummy.patch b/source/x/x11/patch/xf86-video-dummy.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-dummy.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-geode.patch b/source/x/x11/patch/xf86-video-geode.patch
new file mode 100644
index 000000000..6bbc3b34a
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-geode.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScrn);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScrn);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-glint.patch b/source/x/x11/patch/xf86-video-glint.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-glint.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-i128.patch b/source/x/x11/patch/xf86-video-i128.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-i128.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-i740.patch b/source/x/x11/patch/xf86-video-i740.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-i740.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-neomagic.patch b/source/x/x11/patch/xf86-video-neomagic.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-neomagic.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-nv.patch b/source/x/x11/patch/xf86-video-nv.patch
new file mode 100644
index 000000000..5e71368fe
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-nv.patch
@@ -0,0 +1,10 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l '#include <mibstore.h>' * | while read file ; do
+ sed -i "s/#include <mibstore.h>//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-r128.patch b/source/x/x11/patch/xf86-video-r128.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-r128.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-rendition.patch b/source/x/x11/patch/xf86-video-rendition.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-rendition.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-s3.patch b/source/x/x11/patch/xf86-video-s3.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-s3.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-s3virge.patch b/source/x/x11/patch/xf86-video-s3virge.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-s3virge.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-savage.patch b/source/x/x11/patch/xf86-video-savage.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-savage.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-siliconmotion.patch b/source/x/x11/patch/xf86-video-siliconmotion.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-siliconmotion.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-sis.patch b/source/x/x11/patch/xf86-video-sis.patch
new file mode 100644
index 000000000..45276b4c8
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-sis.patch
@@ -0,0 +1,2 @@
+zcat $CWD/patch/xf86-video-sis/sis-0.10.7-git.patch.gz | patch -p1 --verbose \
+ || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/x/x11/patch/xf86-video-sis/sis-0.10.7-git.patch b/source/x/x11/patch/xf86-video-sis/sis-0.10.7-git.patch
new file mode 100644
index 000000000..865237552
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-sis/sis-0.10.7-git.patch
@@ -0,0 +1,121 @@
+diff --git a/src/sis.h b/src/sis.h
+index 46fca2a..20e6134 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -75,7 +75,6 @@
+
+ #include "compiler.h"
+ #include "xf86Pci.h"
+-#include "xf86Priv.h"
+ #include "xf86_OSproc.h"
+ #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86Resources.h"
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 61e8075..0fd83d7 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -57,7 +57,6 @@
+ #include "fb.h"
+ #include "micmap.h"
+ #include "mipointer.h"
+-#include "mibstore.h"
+ #include "edid.h"
+
+ #define SIS_NEED_inSISREG
+@@ -94,6 +93,10 @@
+ #include "dri.h"
+ #endif
+
++#ifndef DEFAULT_DPI
++#define DEFAULT_DPI 96
++#endif
++
+ /*
+ * LookupWindow was removed with video abi 11.
+ */
+@@ -7344,7 +7347,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ if(pSiSEnt->MapCountIOBase) {
+ pSiSEnt->MapCountIOBase--;
+ if((pSiSEnt->MapCountIOBase == 0) || (pSiSEnt->forceUnmapIOBase)) {
++#ifndef XSERVER_LIBPCIACCESS
+ xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
++#else
++ pci_device_unmap_range(pSiS->PciInfo, pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
++#endif
+ pSiSEnt->IOBase = NULL;
+ pSiSEnt->MapCountIOBase = 0;
+ pSiSEnt->forceUnmapIOBase = FALSE;
+@@ -7355,7 +7362,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ if(pSiSEnt->MapCountIOBaseDense) {
+ pSiSEnt->MapCountIOBaseDense--;
+ if((pSiSEnt->MapCountIOBaseDense == 0) || (pSiSEnt->forceUnmapIOBaseDense)) {
++#ifndef XSERVER_LIBPCIACCESS
+ xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
++#else
++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
++#endif
+ pSiSEnt->IOBaseDense = NULL;
+ pSiSEnt->MapCountIOBaseDense = 0;
+ pSiSEnt->forceUnmapIOBaseDense = FALSE;
+@@ -7366,7 +7377,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ if(pSiSEnt->MapCountFbBase) {
+ pSiSEnt->MapCountFbBase--;
+ if((pSiSEnt->MapCountFbBase == 0) || (pSiSEnt->forceUnmapFbBase)) {
++#ifndef XSERVER_LIBPCIACCESS
+ xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
++#else
++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
++#endif
+ pSiSEnt->FbBase = pSiSEnt->RealFbBase = NULL;
+ pSiSEnt->MapCountFbBase = 0;
+ pSiSEnt->forceUnmapFbBase = FALSE;
+@@ -7376,13 +7391,25 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ }
+ } else {
+ #endif
++#ifndef XSERVER_LIBPCIACCESS
+ xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
++#else
++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
++#endif
+ pSiS->IOBase = NULL;
+ #ifdef __alpha__
++#ifndef XSERVER_LIBPCIACCESS
+ xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
++#else
++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
++#endif
+ pSiS->IOBaseDense = NULL;
+ #endif
++#ifndef XSERVER_LIBPCIACCESS
+ xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
++#else
++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
++#endif
+ pSiS->FbBase = pSiS->RealFbBase = NULL;
+ #ifdef SISDUALHEAD
+ }
+@@ -8859,7 +8886,6 @@ SISScreenInit(SCREEN_INIT_ARGS_DECL)
+ }
+ pSiS->SiSFastVidCopyDone = TRUE;
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+ xf86SetSilkenMouse(pScreen);
+
+@@ -9352,7 +9378,14 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg, int x, int y)
+ }
+ if(doit) {
+ sigstate = xf86BlockSIGIO();
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 18
++ {
++ double dx = x, dy = y;
++ miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy, NULL, NULL);
++ x = (int)dx;
++ y = (int)dy;
++ }
++#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
+ {
+ double dx = x, dy = y;
+ miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy);
diff --git a/source/x/x11/patch/xf86-video-sisusb.patch b/source/x/x11/patch/xf86-video-sisusb.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-sisusb.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-tdfx.patch b/source/x/x11/patch/xf86-video-tdfx.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-tdfx.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-tga.patch b/source/x/x11/patch/xf86-video-tga.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-tga.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-trident.patch b/source/x/x11/patch/xf86-video-trident.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-trident.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-tseng.patch b/source/x/x11/patch/xf86-video-tseng.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-tseng.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-vesa.patch b/source/x/x11/patch/xf86-video-vesa.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-vesa.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-vmware.patch b/source/x/x11/patch/xf86-video-vmware.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-vmware.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-voodoo.patch b/source/x/x11/patch/xf86-video-voodoo.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-voodoo.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-xgi.patch b/source/x/x11/patch/xf86-video-xgi.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-xgi.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xf86-video-xgixp.patch b/source/x/x11/patch/xf86-video-xgixp.patch
new file mode 100644
index 000000000..17d7e8297
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-xgixp.patch
@@ -0,0 +1,7 @@
+# Remove obsolete references to mibstore.h and miInitializeBackingStore():
+grep -r -l '#include "mibstore.h"' * | while read file ; do
+ sed -i "s/#include \"mibstore.h\"//g" $file
+done
+grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
+ sed -i "s/miInitializeBackingStore(pScreen);//g" $file
+done
diff --git a/source/x/x11/patch/xorg-server.patch b/source/x/x11/patch/xorg-server.patch
index 01be43a3b..c0c4810fd 100644
--- a/source/x/x11/patch/xorg-server.patch
+++ b/source/x/x11/patch/xorg-server.patch
@@ -1 +1,2 @@
zcat $CWD/patch/xorg-server/x11.startwithblackscreen.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/xorg-server/xorg-server.CVE-2013-4396.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/x/x11/patch/xorg-server/xorg-server.CVE-2013-4396.diff b/source/x/x11/patch/xorg-server/xorg-server.CVE-2013-4396.diff
new file mode 100644
index 000000000..14c31782f
--- /dev/null
+++ b/source/x/x11/patch/xorg-server/xorg-server.CVE-2013-4396.diff
@@ -0,0 +1,73 @@
+From 7bddc2ba16a2a15773c2ea8947059afa27727764 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith at oracle.com>
+Date: Mon, 16 Sep 2013 21:47:16 -0700
+Subject: [PATCH] Avoid use-after-free in dix/dixfonts.c: doImageText()
+ [CVE-2013-4396]
+
+Save a pointer to the passed in closure structure before copying it
+and overwriting the *c pointer to point to our copy instead of the
+original. If we hit an error, once we free(c), reset c to point to
+the original structure before jumping to the cleanup code that
+references *c.
+
+Since one of the errors being checked for is whether the server was
+able to malloc(c->nChars * itemSize), the client can potentially pass
+a number of characters chosen to cause the malloc to fail and the
+error path to be taken, resulting in the read from freed memory.
+
+Since the memory is accessed almost immediately afterwards, and the
+X server is mostly single threaded, the odds of the free memory having
+invalid contents are low with most malloc implementations when not using
+memory debugging features, but some allocators will definitely overwrite
+the memory there, leading to a likely crash.
+
+Reported-by: Pedro Ribeiro <pedrib at gmail.com>
+Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
+Reviewed-by: Julien Cristau <jcristau at debian.org>
+---
+ dix/dixfonts.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/dix/dixfonts.c b/dix/dixfonts.c
+index feb765d..2e34d37 100644
+--- a/dix/dixfonts.c
++++ b/dix/dixfonts.c
+@@ -1425,6 +1425,7 @@ doImageText(ClientPtr client, ITclosurePtr c)
+ GC *pGC;
+ unsigned char *data;
+ ITclosurePtr new_closure;
++ ITclosurePtr old_closure;
+
+ /* We're putting the client to sleep. We need to
+ save some state. Similar problem to that handled
+@@ -1436,12 +1437,14 @@ doImageText(ClientPtr client, ITclosurePtr c)
+ err = BadAlloc;
+ goto bail;
+ }
++ old_closure = c;
+ *new_closure = *c;
+ c = new_closure;
+
+ data = malloc(c->nChars * itemSize);
+ if (!data) {
+ free(c);
++ c = old_closure;
+ err = BadAlloc;
+ goto bail;
+ }
+@@ -1452,6 +1455,7 @@ doImageText(ClientPtr client, ITclosurePtr c)
+ if (!pGC) {
+ free(c->data);
+ free(c);
++ c = old_closure;
+ err = BadAlloc;
+ goto bail;
+ }
+@@ -1464,6 +1468,7 @@ doImageText(ClientPtr client, ITclosurePtr c)
+ FreeScratchGC(pGC);
+ free(c->data);
+ free(c);
++ c = old_closure;
+ err = BadAlloc;
+ goto bail;
+ }
diff --git a/source/x/x11/post-install/xdm.post-install b/source/x/x11/post-install/xdm.post-install
index 73611b47e..a88899705 100644
--- a/source/x/x11/post-install/xdm.post-install
+++ b/source/x/x11/post-install/xdm.post-install
@@ -19,9 +19,14 @@ chmod 0755 $PKG/etc/X11/xdm/Xsession $PKG/etc/X11/xdm/Xsetup_0
for conffile in \
Xaccess Xreset Xresources Xservers Xsession Xsetup_0 Xstartup Xwilling \
- GiveConsole TakeConsole chooser xdm-config ../app-defaults/Chooser ;
+ GiveConsole TakeConsole xdm-config ../app-defaults/Chooser ;
do
- mv $PKG/etc/X11/xdm/${conffile} $PKG/etc/X11/xdm/${conffile}.new ;
+ # Use awk to strip leading blank lines... weird bug that cropped up in the
+ # pre Slackware-14.1 development cycle.
+ awk "/[^ ]/ { copy=1 }; copy { print }" $PKG/etc/X11/xdm/${conffile} > $PKG/etc/X11/xdm/${conffile}.new
+ touch -r $PKG/etc/X11/xdm/${conffile} $PKG/etc/X11/xdm/${conffile}.new
+ rm -f $PKG/etc/X11/xdm/${conffile}
+ #mv $PKG/etc/X11/xdm/${conffile} $PKG/etc/X11/xdm/${conffile}.new ;
done
mkdir -p $PKG/var/lib/xdm
diff --git a/source/x/x11/post-install/xsm.post-install b/source/x/x11/post-install/xsm.post-install
deleted file mode 100644
index 509b84477..000000000
--- a/source/x/x11/post-install/xsm.post-install
+++ /dev/null
@@ -1,5 +0,0 @@
-mkdir -p $PKG/etc/X11
-( cd $PKG/usr/lib/X11
- mv xsm $PKG/etc/X11
- ln -sf ../../../etc/X11/xsm .
-)
diff --git a/source/x/x11/slack-desc/xcb-util-cursor b/source/x/x11/slack-desc/xcb-util-cursor
new file mode 100644
index 000000000..003917741
--- /dev/null
+++ b/source/x/x11/slack-desc/xcb-util-cursor
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xcb-util-cursor: xcb-util-cursor (XCB cursor management library)
+xcb-util-cursor:
+xcb-util-cursor: The xcb-util-cursor module implements the XCB cursor library, which
+xcb-util-cursor: is the XCB replacement for libXcursor.
+xcb-util-cursor:
+xcb-util-cursor:
+xcb-util-cursor:
+xcb-util-cursor:
+xcb-util-cursor:
+xcb-util-cursor:
+xcb-util-cursor:
diff --git a/source/x/x11/slack-desc/xcm b/source/x/x11/slack-desc/xcm
new file mode 100644
index 000000000..d7ba58362
--- /dev/null
+++ b/source/x/x11/slack-desc/xcm
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xcm: xcm (X color management tools)
+xcm:
+xcm: Tools based on libXcm, a library for colour management on X.
+xcm: xcmddc requests EDID from a monitor over the i2c bus.
+xcm: xcmedid is for parsing EDID data blocks.
+xcm: xcmevents observes X11 colour management events.
+xcm:
+xcm:
+xcm:
+xcm:
+xcm:
diff --git a/source/x/x11/slack-desc/xf86-video-xgixp b/source/x/x11/slack-desc/xf86-video-xgixp
new file mode 100644
index 000000000..6ba3359e7
--- /dev/null
+++ b/source/x/x11/slack-desc/xf86-video-xgixp
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xf86-video-xgixp: xf86-video-xgixp (XGI XGI Volari 8300 video driver)
+xf86-video-xgixp:
+xf86-video-xgixp: xf86-video-xgixp is part of X11.
+xf86-video-xgixp:
+xf86-video-xgixp: For more information about the X.Org Foundation (the providers of the
+xf86-video-xgixp: X.Org implementation of the X Window System), see their website:
+xf86-video-xgixp:
+xf86-video-xgixp: http://www.x.org
+xf86-video-xgixp:
+xf86-video-xgixp:
+xf86-video-xgixp:
diff --git a/source/x/x11/slack-desc/xfwp b/source/x/x11/slack-desc/xfwp
new file mode 100644
index 000000000..6ff16980c
--- /dev/null
+++ b/source/x/x11/slack-desc/xfwp
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xfwp: xfwp (X Firewall Proxy)
+xfwp:
+xfwp: xfwp is part of X11.
+xfwp:
+xfwp: For more information about the X.Org Foundation (the providers of the
+xfwp: X.Org implementation of the X Window System), see their website:
+xfwp:
+xfwp: http://www.x.org
+xfwp:
+xfwp:
+xfwp:
diff --git a/source/x/x11/slack-desc/xproxymanagementprotocol b/source/x/x11/slack-desc/xproxymanagementprotocol
new file mode 100644
index 000000000..fa0b25501
--- /dev/null
+++ b/source/x/x11/slack-desc/xproxymanagementprotocol
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xproxymanagementprotocol: xproxymanagementprotocol (X Proxy Management protocol)
+xproxymanagementprotocol:
+xproxymanagementprotocol: xproxymanagementprotocol is part of X11.
+xproxymanagementprotocol:
+xproxymanagementprotocol: For more information about the X.Org Foundation (the providers of the
+xproxymanagementprotocol: X.Org implementation of the X Window System), see their website:
+xproxymanagementprotocol:
+xproxymanagementprotocol: http://www.x.org
+xproxymanagementprotocol:
+xproxymanagementprotocol:
+xproxymanagementprotocol:
diff --git a/source/x/x11/x11.SlackBuild b/source/x/x11/x11.SlackBuild
index ca7297082..6da53346f 100755
--- a/source/x/x11/x11.SlackBuild
+++ b/source/x/x11/x11.SlackBuild
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright 2007-2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2007-2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,6 +25,10 @@
# and the name of the package, like:
# ./x11.SlackBuild lib libX11
+# Upgrade packages as they are built.
+# This is default. To not upgrade, pass UPGRADE_PACKAGES=no (or anything else).
+UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes}
+
pkgbase() {
PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
case $PKGEXT in
@@ -130,7 +134,7 @@ mkdir -p $SLACK_X_BUILD_DIR
# in the "magic order". I built mine by hand through trial-and-error
# before getting this script to work. It wasn't that hard... I think. ;-)
( cd src
- for x_source_dir in proto data util xcb lib app doc driver font xserver ; do
+ for x_source_dir in proto data util xcb lib app doc xserver driver font ; do
# See if $1 is a source directory like "lib":
if [ ! -z "$1" ]; then
if [ ! "$1" = "${x_source_dir}" ]; then
@@ -269,6 +273,9 @@ mkdir -p $SLACK_X_BUILD_DIR
BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
else
/sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz
+ fi
fi
fi
@@ -320,6 +327,9 @@ mkdir -p $SLACK_X_BUILD_DIR
BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME}
else
/sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ if [ "$UPGRADE_PACKAGES" = "yes" ]; then
+ /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz
+ fi
fi
)
done
diff --git a/source/x/xdg-utils/xdg-utils.SlackBuild b/source/x/xdg-utils/xdg-utils.SlackBuild
index ad05d7044..eabc72605 100755
--- a/source/x/xdg-utils/xdg-utils.SlackBuild
+++ b/source/x/xdg-utils/xdg-utils.SlackBuild
@@ -4,7 +4,7 @@
# Written by Erik Hanson erik@slackbuilds.org
# Modified for VERSION version by Patrick Volkerding <volkerdi@slackware.com>
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -28,7 +28,7 @@
PKGNAM=xdg-utils
VERSION=1.1.0-rc1
ARCH=noarch
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
PKG_VERSION=${VERSION/-/_}
@@ -47,6 +47,8 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1
cd $PKGNAM-$VERSION || exit 1
+zcat $CWD/xdg-utils.mate.diff.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/x/xdg-utils/xdg-utils.mate.diff b/source/x/xdg-utils/xdg-utils.mate.diff
new file mode 100644
index 000000000..c2480e322
--- /dev/null
+++ b/source/x/xdg-utils/xdg-utils.mate.diff
@@ -0,0 +1,43 @@
+--- ./scripts/xdg-open.orig 2011-01-01 04:03:14.000000000 -0600
++++ ./scripts/xdg-open 2013-06-09 21:15:55.612892954 -0500
+@@ -308,6 +308,7 @@
+ elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome;
+ elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce;
+ elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde;
++ elif [ x"$DESKTOP_SESSION" == x"mate" ]; then DE=mate;
+ else DE=""
+ fi
+ }
+@@ -371,6 +372,21 @@
+ fi
+ }
+
++open_mate()
++{
++ if gvfs-open --help 2>/dev/null 1>&2; then
++ gvfs-open "$1"
++ else
++ mate-open "$1"
++ fi
++
++ if [ $? -eq 0 ]; then
++ exit_success
++ else
++ exit_failure_operation_failed
++ fi
++}
++
+ open_xfce()
+ {
+ exo-open "$1"
+@@ -539,6 +555,10 @@
+ open_gnome "$url"
+ ;;
+
++ mate)
++ open_mate "$url"
++ ;;
++
+ xfce)
+ open_xfce "$url"
+ ;;
diff --git a/source/xap/MPlayer/MPlayer.SlackBuild b/source/xap/MPlayer/MPlayer.SlackBuild
index 663fe2f8b..f76652074 100755
--- a/source/xap/MPlayer/MPlayer.SlackBuild
+++ b/source/xap/MPlayer/MPlayer.SlackBuild
@@ -1,6 +1,7 @@
#!/bin/sh
# $Id: MPlayer.SlackBuild,v 1.27 2012/07/01 13:07:08 root Exp root $
# Copyright 2006, 2007, 2008, 2010, 2011, 2012 Eric Hameleers, Eindhoven, NL
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
@@ -80,6 +81,10 @@
# 1.1_20120701-1: 28/jun/2012 by alien@slackware.com
# * Update to the 1.1 branch (essentially this is MPlayer-1.1 but
# I like to check it out of SVN).
+# 1.1_20130819-1: 19/aug/2013 by volkerdi@slackware.com
+# * Update to the latest 1.1 branch, and the same ffmpeg that was
+# shipped with the 1.1.1 tarball. The official 1.1.1 release
+# did not start a new repo branch, so this is the latest.
#
# Run 'sh MPlayer.SlackBuild' to build a Slackware package.
# The package (.txz) plus descriptive .txt file are created in /tmp .
@@ -90,9 +95,9 @@
# Set initial variables:
PRGNAM=MPlayer
-VERSION=${VERSION:-20120701}
+VERSION=${VERSION:-20130819}
BRANCH=${BRANCH:-1.1} # leave empty if you want to build MPlayer trunk
-FFMPEG=${FFMPEG:-20120514}
+FFMPEG=${FFMPEG:-20130505}
BUILD=${BUILD:-2}
TAG=${TAG:-}
@@ -345,12 +350,8 @@ chown -R root:root *
chmod -R u+w,go+r-w,a+X-s *
cd ${PRGNAM}-${VERSION}
-# Prevent a compilation error:
-# "libm.h:54:74: error: expected identifier or '(' before 'sizeof'"
-# See also:
-# http://lists.mplayerhq.hu/pipermail/mplayer-users/2012-June/084871.html
-cat $SRCDIR/MPlayer_ffmpeg.patch | patch -p0 --verbose \
- 2>&1 | tee $OUTPUT/patch-${PRGNAM}.log
+# Apply patch to fix subtitles:
+zcat $SRCDIR/subreader-fix-srt-parsing.patch.gz | patch -p1 --verbose || exit 1
# Determine what X we're running (the modular X returns the prefix
# in the next command, while older versions stay silent):
diff --git a/source/xap/MPlayer/subreader-fix-srt-parsing.patch b/source/xap/MPlayer/subreader-fix-srt-parsing.patch
new file mode 100644
index 000000000..84f2de4d9
--- /dev/null
+++ b/source/xap/MPlayer/subreader-fix-srt-parsing.patch
@@ -0,0 +1,60 @@
+From d98e61ea438db66323734ad1b6bea66411a3c97b Mon Sep 17 00:00:00 2001
+From: wm4 <wm4@nowhere>
+Date: Tue, 30 Apr 2013 00:09:31 +0200
+Subject: [PATCH] subreader: fix out of bound write access when parsing .srt
+
+This broke .srt subtitles on gcc-4.8. The breakage was relatively
+subtle: it set all hour components to 0, while everything else was
+parsed successfully.
+
+But the problem is really that sscanf wrote 1 byte past the sep
+variable (or more, for invalid/specially prepared input). The %[..]
+format specifier is unbounded. Fix that by letting sscanf drop the
+parsed contents with "*", and also make it skip only one input
+character by adding "1" (=> "%*1[...").
+
+The out of bound write could easily lead to security issues.
+
+Also, this change makes .srt subtitle parsing slightly more strict.
+Strictly speaking this is an unrelated change, but do it anyway. It's
+more correct.
+---
+ sub/subreader.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+ (foutrelis: adjusted variable names in first hunk to apply to mplayer)
+
+diff --git a/sub/subreader.c b/sub/subreader.c
+index 23da4c7..0f1b6c9 100644
+--- a/sub/subreader.c
++++ b/sub/subreader.c
+@@ -386,14 +386,14 @@ static subtitle *sub_ass_read_line_subviewer(stream_t *st, subtitle *current,
+ int h1, m1, s1, ms1, h2, m2, s2, ms2, j = 0;
+
+ while (!current->text[0]) {
+- char line[LINE_LEN + 1], full_line[LINE_LEN + 1], sep;
++ char line[LINE_LEN + 1], full_line[LINE_LEN + 1];
+ int i;
+
+ /* Parse SubRip header */
+ if (!stream_read_line(st, line, LINE_LEN, utf16))
+ return NULL;
+- if (sscanf(line, "%d:%d:%d%[,.:]%d --> %d:%d:%d%[,.:]%d",
+- &h1, &m1, &s1, &sep, &ms1, &h2, &m2, &s2, &sep, &ms2) < 10)
++ if (sscanf(line, "%d:%d:%d%*1[,.:]%d --> %d:%d:%d%*1[,.:]%d",
++ &h1, &m1, &s1, &ms1, &h2, &m2, &s2, &ms2) < 8)
+ continue;
+
+ current->start = a1 * 360000 + a2 * 6000 + a3 * 100 + a4 / 10;
+@@ -450,7 +450,7 @@ static subtitle *sub_read_line_subviewer(stream_t *st,subtitle *current,
+ return sub_ass_read_line_subviewer(st, current, args);
+ while (!current->text[0]) {
+ if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL;
+- if ((len=sscanf (line, "%d:%d:%d%[,.:]%d --> %d:%d:%d%[,.:]%d",&a1,&a2,&a3,(char *)&i,&a4,&b1,&b2,&b3,(char *)&i,&b4)) < 10)
++ if ((len=sscanf (line, "%d:%d:%d%*1[,.:]%d --> %d:%d:%d%*1[,.:]%d",&a1,&a2,&a3,&a4,&b1,&b2,&b3,&b4)) < 8)
+ continue;
+ current->start = a1*360000+a2*6000+a3*100+a4/10;
+ current->end = b1*360000+b2*6000+b3*100+b4/10;
+--
+1.8.1.6
+
diff --git a/source/xap/audacious/audacious.SlackBuild b/source/xap/audacious/audacious.SlackBuild
index 66bb0f907..83662aec6 100755
--- a/source/xap/audacious/audacious.SlackBuild
+++ b/source/xap/audacious/audacious.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=audacious
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/xap/blueman/blueman.SlackBuild b/source/xap/blueman/blueman.SlackBuild
index f47aabb6b..5559f0db3 100755
--- a/source/xap/blueman/blueman.SlackBuild
+++ b/source/xap/blueman/blueman.SlackBuild
@@ -25,7 +25,7 @@
PKGNAM=blueman
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/xap/ddd/ddd.SlackBuild b/source/xap/ddd/ddd.SlackBuild
new file mode 100755
index 000000000..fda06cc5e
--- /dev/null
+++ b/source/xap/ddd/ddd.SlackBuild
@@ -0,0 +1,123 @@
+#!/bin/sh
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Slackware build script for ddd
+# Written by Ferenc Deak <ferenc.deak@gmail.com>
+
+# Slight modifications by the SlackBuilds projects
+# Modified by Ken Milmore 2009
+
+PKGNAM=ddd
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.*z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+chmod -R u+w,go+r-w,a-s .
+
+# http://savannah.gnu.org/bugs/?26726
+zcat $CWD/strclass.C.diff.gz | patch -p0 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib$LIBDIRSUFFIX \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --build=$ARCH-slackware-linux
+
+make -j $NUMJOBS || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# DDD installs a .desktop file, but not an icon...
+mkdir -p $PKG/usr/share/pixmaps
+cat $CWD/ddd.png > $PKG/usr/share/pixmaps/ddd.png
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* CREDITS NEWS PROBLEMS README TIPS TODO \
+ doc/html/ddd.html \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/xap/ddd/ddd.png b/source/xap/ddd/ddd.png
new file mode 100644
index 000000000..eec9b8cb5
--- /dev/null
+++ b/source/xap/ddd/ddd.png
Binary files differ
diff --git a/source/xap/ddd/doinst.sh b/source/xap/ddd/doinst.sh
new file mode 100644
index 000000000..4e8ba7071
--- /dev/null
+++ b/source/xap/ddd/doinst.sh
@@ -0,0 +1,4 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/source/xap/ddd/slack-desc b/source/xap/ddd/slack-desc
new file mode 100644
index 000000000..913884c82
--- /dev/null
+++ b/source/xap/ddd/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also customary
+# to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ddd: ddd (Data Display Debugger)
+ddd:
+ddd: GNU DDD is a graphical front-end for command-line debuggers such as
+ddd: GDB, DBX, WDB, Ladebug, JDB, XDB, the Perl debugger, the bash
+ddd: debugger, or the Python debugger. Besides "usual" front-end features
+ddd: such as viewing source texts, DDD has become famous through its
+ddd: interactive graphical data display, where data structures are
+ddd: displayed as graphs.
+ddd:
+ddd:
+ddd:
diff --git a/source/xap/ddd/strclass.C.diff b/source/xap/ddd/strclass.C.diff
new file mode 100644
index 000000000..6f5bbee7a
--- /dev/null
+++ b/source/xap/ddd/strclass.C.diff
@@ -0,0 +1,12 @@
+Index: ddd/strclass.C
+===================================================================
+--- ddd/strclass.C (revision 7209)
++++ ddd/strclass.C (working copy)
+@@ -38,6 +38,7 @@
+ #include <ctype.h>
+ #include <limits.h>
+ #include <new>
++#include <cstdio>
+ #include <stdlib.h>
+
+ void string::error(const char* msg) const
diff --git a/source/xap/fluxbox/fluxbox.SlackBuild b/source/xap/fluxbox/fluxbox.SlackBuild
index 52864abbc..25eedf3eb 100755
--- a/source/xap/fluxbox/fluxbox.SlackBuild
+++ b/source/xap/fluxbox/fluxbox.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=fluxbox
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/xap/gnuchess/doinst.sh b/source/xap/gnuchess/doinst.sh
new file mode 100644
index 000000000..cf0722d29
--- /dev/null
+++ b/source/xap/gnuchess/doinst.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/xboard.conf.new
diff --git a/source/xap/gnuchess/eboard.ldl.diff b/source/xap/gnuchess/eboard.ldl.diff
new file mode 100644
index 000000000..45ef58da3
--- /dev/null
+++ b/source/xap/gnuchess/eboard.ldl.diff
@@ -0,0 +1,11 @@
+--- ./elifekam.orig 2008-02-22 09:51:22.000000000 -0600
++++ ./elifekam 2013-03-19 20:47:06.022315936 -0500
+@@ -24,7 +24,7 @@
+ all: eboard nls-dicts
+
+ eboard: $(OBJS)
+- $(CXX) $(LDFLAGS) -o eboard $(OBJS)
++ $(CXX) $(LDFLAGS) -ldl -o eboard $(OBJS)
+
+ .cc.o: $< $(HEADERS) $(XPMS)
+ $(CXX) $(CXXFLAGS) -c $< -o $@
diff --git a/source/xap/gnuchess/gnuchess.SlackBuild b/source/xap/gnuchess/gnuchess.SlackBuild
index b27193dc9..46bc29e0d 100755
--- a/source/xap/gnuchess/gnuchess.SlackBuild
+++ b/source/xap/gnuchess/gnuchess.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,10 +21,10 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERGNUCHESS=5.08
+VERGNUCHESS=6.0.3
VERSJENG=11.2
VEREBOARD=1.1.1
-VERXBOARD=4.5.1
+VERXBOARD=4.7.1
BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
@@ -71,14 +71,14 @@ find . \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
- $ARCH-slackware-linux
+ --infodir=/usr/info \
+ --build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
mkdir -p $PKG/usr/doc/gnuchess-$VERGNUCHESS
cp -a \
- doc/README* \
- AUTHORS COPYING* INSTALL NEWS TODO \
+ AUTHORS COPYING* INSTALL NEWS README TODO \
$PKG/usr/doc/gnuchess-$VERGNUCHESS
### Sjeng
@@ -96,7 +96,7 @@ find . \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
- $ARCH-slackware-linux
+ --build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
@@ -111,6 +111,7 @@ rm -rf eboard-$VEREBOARD
tar xvf $CWD/eboard-$VEREBOARD.tar.bz2 || exit 1
cd eboard-$VEREBOARD || exit 1
zcat $CWD/eboard.assert.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/eboard.ldl.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -120,7 +121,8 @@ find . \
./configure \
--prefix=/usr \
- --extra-flags=$(echo $SLKCFLAGS | sed -e "y/ /:/")
+ --extra-flags=$(echo $SLKCFLAGS | sed -e "y/ /:/") \
+ --build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
@@ -134,6 +136,7 @@ cd $TMP
rm -rf xboard-$VERXBOARD
tar xvf $CWD/xboard-$VERXBOARD.tar.?z* || exit 1
cd xboard-$VERXBOARD || exit 1
+zcat $CWD/xboard.conf.in.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -141,42 +144,45 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# --infodir is fubar.
-#zcat $CWD/xboard.infodir.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
+ --sysconfdir=/etc \
--infodir=/usr/info \
+ --mandir=/usr/man \
+ --with-gtk \
--enable-zippy \
--build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
-install -c -s xboard $PKG/usr/bin/xboard
-install -c -s zic2xpm $PKG/usr/bin/zic2xpm
+make install DESTDIR=$PKG || exit 1
install -c cmail $PKG/usr/bin/cmail
-install -c ./pxboard $PKG/usr/bin/pxboard
-install -c -m 644 ./xboard.man $PKG/usr/man/man6/xboard.6
-install -c -m 644 ./zic2xpm.man $PKG/usr/man/man6/zic2xpm.6
-mkdir -p $PKG/usr/info
-install -c -m 644 xboard.info $PKG/usr/info/xboard.info
+#install -c -s xboard $PKG/usr/bin/xboard
+#install -c -s zic2xpm $PKG/usr/bin/zic2xpm
+#install -c ./pxboard $PKG/usr/bin/pxboard
+#install -c -m 644 ./xboard.man $PKG/usr/man/man6/xboard.6
+#install -c -m 644 ./zic2xpm.man $PKG/usr/man/man6/zic2xpm.6
+#mkdir -p $PKG/usr/info
+#install -c -m 644 xboard.info $PKG/usr/info/xboard.info
mkdir -p $PKG/usr/doc/xboard-$VERXBOARD
cp -a \
- AUTHORS COPYING COPYRIGHT FAQ FAQ.html NEWS READ_ME \
+ AUTHORS COPYING* COPYRIGHT FAQ.html NEWS README TODO \
$PKG/usr/doc/xboard-$VERXBOARD
-
-### Finish up...
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
gzip -9 $PKG/usr/man/man?/*.?
gzip -9 $PKG/usr/info/*.info
mkdir -p $PKG/usr/share/pixmaps
cat $CWD/chess.png > $PKG/usr/share/pixmaps/chess.png
mkdir -p $PKG/usr/share/applications
cat $CWD/eboard.desktop > $PKG/usr/share/applications/eboard.desktop
-cat $CWD/xboard.desktop > $PKG/usr/share/applications/xboard.desktop
+rm -f $PKG/usr/info/dir
+mv $PKG/etc/xboard.conf $PKG/etc/xboard.conf.new
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $TMP/gnuchess-$VERGNUCHESS-$ARCH-$BUILD.txz
diff --git a/source/xap/gnuchess/xboard.conf.in.diff b/source/xap/gnuchess/xboard.conf.in.diff
new file mode 100644
index 000000000..488813800
--- /dev/null
+++ b/source/xap/gnuchess/xboard.conf.in.diff
@@ -0,0 +1,19 @@
+--- ./xboard.conf.in.orig 2013-02-20 23:59:30.000000000 -0600
++++ ./xboard.conf.in 2013-03-19 21:39:17.377182426 -0500
+@@ -67,12 +67,12 @@
+ ;
+ ; Engines & adjudicatons in engine-engine games
+ ;
+--firstChessProgram fairymax
+--secondChessProgram fairymax
+--firstChessProgramNames {fairymax
++-firstChessProgram gnuchess
++-secondChessProgram gnuchess
++-firstChessProgramNames {"GNU Chess" -fcp gnuchess
++fairymax
+ "Fruit 2.1" -fcp fruit -fUCI
+ "Crafty" -fcp crafty
+-"GNU Chess" -fcp gnuchess
+ }
+ -niceEngines 0
+ -polyglotDir ""
diff --git a/source/xap/gnuchess/xboard.desktop b/source/xap/gnuchess/xboard.desktop
deleted file mode 100644
index c1b2a2d3e..000000000
--- a/source/xap/gnuchess/xboard.desktop
+++ /dev/null
@@ -1,10 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=XBoard
-GenericName=Chess Game
-Comment=A graphical chess engine frontend
-Exec=xboard -fcp gnuchess
-Icon=/usr/share/pixmaps/chess.png
-Terminal=false
-Type=Application
-Categories=Application;Game;BoardGame
diff --git a/source/xap/gucharmap/doinst.sh b/source/xap/gucharmap/doinst.sh
index f6a667688..5146862f5 100644
--- a/source/xap/gucharmap/doinst.sh
+++ b/source/xap/gucharmap/doinst.sh
@@ -1,10 +1,4 @@
-if [ -x /usr/bin/update-desktop-database ]; then
- /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
-fi
-
-if [ -e usr/share/glib-2.0/schemas ]; then
- if [ -x /usr/bin/glib-compile-schemas ]; then
- /usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas >/dev/null 2>&1
- fi
-fi
+# Try to run these. If they fail, no biggie.
+chroot . /usr/bin/update-desktop-database -q usr/share/applications 1> /dev/null 2> /dev/null
+chroot . /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas/ 1> /dev/null 2> /dev/null
diff --git a/source/xap/gucharmap/gucharmap.SlackBuild b/source/xap/gucharmap/gucharmap.SlackBuild
index 4ceef2337..56fe66c67 100755
--- a/source/xap/gucharmap/gucharmap.SlackBuild
+++ b/source/xap/gucharmap/gucharmap.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -60,7 +60,6 @@ cd $TMP
rm -rf gucharmap-$VERSION
tar xvf $CWD/gucharmap-$VERSION.tar.?z* || exit 1
cd gucharmap-$VERSION || exit 1
-#zcat $CWD/gucharmap.noscrollkeeper.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -76,7 +75,6 @@ CFLAGS="$SLKCFLAGS" \
--localstatedir=/var/lib \
--docdir=/usr/doc/gucharmap-$VERSION \
--enable-static=no \
- --disable-scrollkeeper \
--build=$ARCH-slackware-linux
make -i $NUMJOBS || make || exit 1
@@ -102,6 +100,7 @@ if [ -r ChangeLog ]; then
fi
mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
diff --git a/source/xap/gv/gv.SlackBuild b/source/xap/gv/gv.SlackBuild
index 67353af10..751cefd8a 100755
--- a/source/xap/gv/gv.SlackBuild
+++ b/source/xap/gv/gv.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=gv
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -58,8 +58,6 @@ rm -rf ${PKGNAM}-${VERSION}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
cd ${PKGNAM}-$VERSION || exit 1
-zcat $CWD/gv.libXaw3d.diff.gz | patch -p1 --verbose || exit 1
-
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
diff --git a/source/xap/gv/gv.libXaw3d.diff b/source/xap/gv/gv.libXaw3d.diff
deleted file mode 100644
index b64cef007..000000000
--- a/source/xap/gv/gv.libXaw3d.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./src/Scrollbar.c.orig 2011-08-03 11:14:14.000000000 -0500
-+++ ./src/Scrollbar.c 2012-05-13 11:19:18.140324835 -0500
-@@ -1006,7 +1006,7 @@
- TOPLOC = newtop;
- SHOWNLENGTH = newbot-newtop+1;
-
-- (*swclass->threeD_class.shadowdraw) (w, event, region, FALSE);
-+ (*swclass->threeD_class.shadowdraw) (w, event, region, sbw->threeD.relief, FALSE);
-
- ENDMESSAGE(Redisplay)
- }
diff --git a/source/xap/imagemagick/imagemagick.SlackBuild b/source/xap/imagemagick/imagemagick.SlackBuild
index cf17f5f34..aca05857d 100755
--- a/source/xap/imagemagick/imagemagick.SlackBuild
+++ b/source/xap/imagemagick/imagemagick.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -29,14 +29,14 @@ BUILD=${BUILD:-1}
# This is a bit messy, so we'll explain it well. :-)
# This is the base version number, which is needed to cd into the source tree
-BASEVER=6.7.7-10
+BASEVER=6.8.6-10
# This is the version number used in the source tarball filename
-FILEVER=6.7.7-10
+FILEVER=6.8.6-10
# This is the version number used in the package, where a version number cannot
# contain a '-'
-PKGVER=6.7.7_10
+PKGVER=6.8.6_10
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -81,6 +81,7 @@ cd $TMP
rm -rf ImageMagick-$BASEVER
tar xvf $CWD/ImageMagick-$FILEVER.tar.?z* || exit 1
cd ImageMagick-$BASEVER || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -109,6 +110,7 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-static=no \
--enable-shared \
--with-perl \
+ --with-rsvg \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS INSTALLDIRS=vendor || make INSTALLDIRS=vendor || exit 1
diff --git a/source/xap/mozilla-firefox/firefox.png b/source/xap/mozilla-firefox/firefox.png
deleted file mode 100644
index 76204b5d2..000000000
--- a/source/xap/mozilla-firefox/firefox.png
+++ /dev/null
Binary files differ
diff --git a/source/xap/mozilla-firefox/mozilla-firefox.SlackBuild b/source/xap/mozilla-firefox/mozilla-firefox.SlackBuild
index a6f6c65c5..78f826750 100755
--- a/source/xap/mozilla-firefox/mozilla-firefox.SlackBuild
+++ b/source/xap/mozilla-firefox/mozilla-firefox.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,22 +25,20 @@
VERSION=$(basename $(ls firefox-*.tar.bz2 | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source)
RELEASEVER=$(echo $VERSION | cut -f 1 -d r | cut -f 1 -d b)
+# With esr releases we need to fix this
+if [ "${RELEASEVER}r" = "$VERSION" ]; then
+ RELEASEVER=$(echo $RELEASEVER | cut -f 1 -d e)
+ RELEASEVERMAJ=$(echo $RELEASEVER | cut -f 1 -d .)
+fi
BUILD=${BUILD:-1}
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-mozilla-firefox
-
-# Figure out if this is a beta, or a release:
-if echo $VERSION | grep -q b ; then # we think it is a beta
- if bzgrep -q mozilla-beta/ $CWD/firefox-$VERSION.source.tar.bz2 ; then
- MOZVERS=${MOZVERS:-beta}
- else # blindly assume it is a release
- MOZVERS=${MOZVERS:-release}
- fi
-else # release, no "b" in the tarball version:
- MOZVERS=${MOZVERS:-release}
-fi
+# Specify this variable for a localized build.
+# For example, to build a version of Firefox with Italian support, run
+# the build script like this:
+#
+# MOZLOCALIZE=it ./mozilla-firefox.SlackBuild
+#
+MOZLOCALIZE=${MOZLOCALIZE:-}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -52,6 +50,33 @@ if [ -z "$ARCH" ]; then
esac
fi
+# Use PGO? Doubles the time and drive space requirements for the build,
+# but should provide a performance increase. How much depends on which
+# benchmarks you believe, but I've typically seen around 2.5%. I've also
+# seen some which say it can be negligably (a fraction of a percent) slower
+# with this enganged. The anecdotal reports usually say there's a noticable
+# improvement in overall responsiveness. Seems like a good bet if you have
+# the time and your system is able to handle it. Set the variable to
+# anything else prior to the build to compile Firefox in less time (but
+# without the possible benefits of Profile-Guided Optimization).
+#
+# NOTE: The 23.0 release fails to compile with a GLib assert error if PGO
+# is enabled, so it is being disabled by default. I can't say I ever noticed
+# a lot of difference with this anyway (other than a much, much longer compile
+# time. But pass PGO=yes to the SlackBuild if you want to try it.
+#if [ "$ARCH" = "x86_64" ]; then
+# PGO=${PGO:-yes}
+#else
+# # 32-bit systems have problems compiling with PGO, as the per-process
+# # memory requirements are too large. Possibly compiling with a 64-bit
+# # kernel could be a workaround for this, but for now we will default to
+# # using PGO only for x86_64.
+# PGO=${PGO:-no}
+#fi
+#
+# PGO is disabled by default:
+PGO=${PGO:-no}
+
# Try to be gentle to the compiler, no optimizations:
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O"
@@ -70,6 +95,23 @@ elif [ "$ARCH" = "armel" ]; then
LIBDIRSUFFIX=""
fi
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-mozilla-firefox
+
+# If not specified, figure out if this is a beta, an esr
+# or a release (we start assuming this last):
+MOZVERS=${MOZVERS:-release}
+if echo $VERSION | grep -q b ; then # we think it is a beta
+ if bzgrep -q ^mozilla-beta/ $CWD/firefox-$VERSION.source.tar.bz2 ; then
+ MOZVERS=beta
+ fi
+elif echo $VERSION | grep -q esr ; then # we think it is an esr
+ if bzgrep -q ^mozilla-esr$RELEASEVERMAJ/ $CWD/firefox-$VERSION.source.tar.bz2 ; then
+ MOZVERS=esr$RELEASEVERMAJ
+ fi
+fi
+
NUMJOBS=${NUMJOBS:-" -j7 "}
rm -rf $PKG
@@ -80,6 +122,16 @@ rm -rf mozilla-$MOZVERS
tar xvf $CWD/firefox-$VERSION.source.tar.bz2 || exit 1
cd mozilla-$MOZVERS || exit 1
+# Fetch localization, if requested:
+if [ ! -z $MOZLOCALIZE ]; then
+ LOC_TAG="FIREFOX_$( echo $VERSION | tr \. _ )_RELEASE"
+ rm -f $LOC_TAG.tar.bz2
+ if echo $MOZVERS | grep -q esr ; then LOC_VERS=release ; else LOC_VERS=$MOZVERS ; fi
+ wget https://hg.mozilla.org/releases/l10n/mozilla-$LOC_VERS/$MOZLOCALIZE/archive/$LOC_TAG.tar.bz2
+ tar xvf $LOC_TAG.tar.bz2
+ mv $MOZLOCALIZE-$LOC_TAG $MOZLOCALIZE
+fi
+
# Fix a long standing bug that's prevented staying current on GTK+.
# Thanks to the BLFS folks. :-)
cat << EOF >> layout/build/Makefile.in
@@ -111,18 +163,8 @@ if gcc --version | grep -q "gcc (GCC) 4.7.0" ; then
sed -i 's# ""##' browser/base/Makefile.in
fi
-# Mozilla devs enforce using an objdir for building
-# and launching configure with the absolute path
-# https://developer.mozilla.org/en/Configuring_Build_Options#Building_with_an_objdir
-mkdir obj
-cd obj
-export MOZILLA_OFFICIAL="1" &&
-export BUILD_OFFICIAL="1" &&
-export MOZ_PHOENIX="1" &&
-export CFLAGS="$SLKCFLAGS" &&
-export CXXFLAGS="$SLKCFLAGS" &&
-export MOZ_MAKE_FLAGS="$NUMJOBS" &&
-$TMP/mozilla-$MOZVERS/configure \
+# Our building options, in a configure-like display ;)
+OPTIONS="\
--enable-official-branding \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@@ -143,29 +185,75 @@ $TMP/mozilla-$MOZVERS/configure \
--enable-strip \
--enable-cpp-rtti \
--enable-single-profile \
+ --disable-gnomevfs \
--disable-ldap \
--disable-accessibility \
--disable-crashreporter \
--disable-debug \
- --disable-tests \
--disable-pedantic \
--disable-installer \
--disable-mailnews \
--disable-composer \
- --disable-profilesharing
- # Complains about missing APNG support in Slackware's libpng:
- #--with-system-png \
-
+ --disable-profilesharing"
+# Complains about missing APNG support in Slackware's libpng:
+# --with-system-png \
# This option breaks mozilla-12.0:
# --enable-system-cairo \
-#
+if [ ! -z $MOZLOCALIZE ]; then
+ OPTIONS=$OPTIONS" \
+ --enable-ui-locale=$MOZLOCALIZE
+ --with-l10n-base=.."
+ # There's no dictionaries in localized builds
+ sed -i "/@BINPATH@\/dictionaries\/\*/d" browser/installer/package-manifest.in || exit 1
+fi
+
+export MOZILLA_OFFICIAL="1"
+export BUILD_OFFICIAL="1"
+export MOZ_PHOENIX="1"
+export MOZ_PACKAGE_JSSHELL="1"
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+export MOZ_MAKE_FLAGS="$NUMJOBS"
+
+# Clear some variables that could break the build
+unset DBUS_SESSION_BUS_ADDRESS ORBIT_SOCKETDIR SESSION_MANAGER \
+ XDG_SESSION_COOKIE XAUTHORITY MAKEFLAGS
+
+# Assemble our .mozconfig, we use this method for building, seems
+# needed for PGO.
+echo ". \$topsrcdir/browser/config/mozconfig" > .mozconfig
+
+# Mozilla devs enforce using an objdir for building
+# https://developer.mozilla.org/en/Configuring_Build_Options#Building_with_an_objdir
+mkdir obj
+echo "mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj" >> .mozconfig
+
+if [ "$MOZLOCALIZE" ]; then
+ echo "mk_add_options MOZ_CO_LOCALES=\"$MOZLOCALIZE\"" >> .mozconfig
+fi
+
+# Write in it the options above
+for option in $OPTIONS; do echo "ac_add_options $option" >> .mozconfig; done
-#make -f client.mk build MOZ_MAKE_FLAGS="$NUMJOBS" || exit 1
-make MOZ_MAKE_FLAGS="$NUMJOBS" $NUMJOBS || exit 1
-make install DESTDIR=$PKG || exit 1
+# https://developer.mozilla.org/en-US/docs/Building_with_Profile-Guided_Optimization
+# Thanks to ArchLinux and Gentoo for the additional hints.
+if [ "$PGO" = "yes" ]; then
+ # Do a PGO build, double time and disk space but worth it.
+ export MOZ_PGO=1
+ echo "mk_add_options PROFILE_GEN_SCRIPT='EXTRA_TEST_ARGS=10 \$(MAKE) -C \$(MOZ_OBJDIR) pgo-profile-run'" >> .mozconfig
+ export DISPLAY=:99
+ # Launch Xvfb to let the profile scripts run in a X session.
+ # Ugly note: if the build breaks you may want to do a "killall Xvfb".
+ Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 $DISPLAY &
+ dbus-launch --exit-with-session make -f client.mk build || exit 1
+ kill $! || true
+else
+ # Do a normal build
+ echo "ac_add_options --disable-tests" >> .mozconfig
+ make -f client.mk build || exit 1
+fi
-# Exit obj directory:
-cd ..
+make -f client.mk install DESTDIR=$PKG || exit 1
# We don't need these (just symlinks anyway):
rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/firefox-devel-$RELEASEVER
@@ -190,8 +278,6 @@ rm -rf $PKG/usr/include
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins
mkdir -p $PKG/usr/share/applications
cat $CWD/mozilla-firefox.desktop > $PKG/usr/share/applications/mozilla-firefox.desktop
-mkdir -p $PKG/usr/share/pixmaps
-cat $CWD/firefox.png > $PKG/usr/share/pixmaps/firefox.png
# These files/directories are usually created if Firefox is run as root,
# which on many systems might (and possibly should) be never. Therefore, if we
@@ -208,14 +294,17 @@ cat $CWD/firefox.png > $PKG/usr/share/pixmaps/firefox.png
)
# Need some default icons in the right place:
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER/chrome/icons/default
-install -m 644 other-licenses/branding/firefox/default16.png \
- $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER/icons/
-install -m 644 other-licenses/branding/firefox/default16.png \
- $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER/chrome/icons/default/
-( cd $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER
- install -m 644 icons/{default,mozicon50}.xpm chrome/icons/default/
-)
+for i in 16 22 24 32 48 256; do
+ install -m 0644 -D browser/branding/official/default${i}.png \
+ $PKG/usr/share/icons/hicolor/${i}x${i}/apps/firefox.png
+done
+mkdir -p $PKG/usr/share/pixmaps
+( cd $PKG/usr/share/pixmaps ; ln -sf /usr/share/icons/hicolor/256x256/apps/firefox.png . )
+mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/firefox-$RELEASEVER/chrome/icons/default
+install -m 644 browser/branding/official/default16.png \
+ $PKG/usr/lib$LIBDIRSUFFIX/firefox-$RELEASEVER/icons/
+install -m 644 browser/branding/official/default16.png \
+ $PKG/usr/lib$LIBDIRSUFFIX/firefox-$RELEASEVER/chrome/icons/default/
# Copy over the LICENSE
install -p -c -m 644 LICENSE $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER/
@@ -224,5 +313,9 @@ mkdir $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $TMP/mozilla-firefox-$VERSION-$ARCH-$BUILD.txz
+if [ -z $MOZLOCALIZE ]; then
+ /sbin/makepkg -l y -c n $TMP/mozilla-firefox-$VERSION-$ARCH-$BUILD.txz
+else
+ /sbin/makepkg -l y -c n $TMP/mozilla-firefox-$VERSION-$ARCH-${BUILD}_$MOZLOCALIZE.txz
+fi
diff --git a/source/xap/mozilla-firefox/mozilla-firefox.desktop b/source/xap/mozilla-firefox/mozilla-firefox.desktop
index 23be26f3a..e099dcade 100644
--- a/source/xap/mozilla-firefox/mozilla-firefox.desktop
+++ b/source/xap/mozilla-firefox/mozilla-firefox.desktop
@@ -76,5 +76,5 @@ GenericName[xh]=Umkhangeli zincwadi we Web
GenericName[zh_CN]=网页æµè§ˆå™¨
GenericName[zh_TW]=網é ç€è¦½å™¨
GenericName[zu]=Umcingi we-Web
-MimeType=text/html;
+MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
X-KDE-StartupNotify=true
diff --git a/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild b/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
index f0e910c40..24f58d6bf 100755
--- a/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
+++ b/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
@@ -28,6 +28,7 @@
TARBALLVER=$(basename $(ls thunderbird-*.tar.bz2 | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source)
# Strip the end from beta versions:
VERSION=$(echo $TARBALLVER | cut -f 1 -d b)
+MAJORVER=$(echo $TARBALLVER | cut -f 1 -d .)
BUILD=${BUILD:-1}
CWD=$(pwd)
@@ -42,7 +43,12 @@ if echo $TARBALLVER | grep -q b ; then # we think it is a beta
MOZVERS=${MOZVERS:-release}
fi
else # release, no "b" in the tarball version:
- MOZVERS=${MOZVERS:-release}
+ if bzgrep -q comm-esr${MAJORVER}/ $CWD/thunderbird-$TARBALLVER.source.tar.bz2 ; then
+ # Looks like we get this sometimes even when the tarball isn't labeled as esr...
+ MOZVERS=${MOZVERS:-esr${MAJORVER}}
+ else
+ MOZVERS=${MOZVERS:-release}
+ fi
fi
# Automatically determine the architecture we're building on:
diff --git a/source/xap/network-manager-applet/doinst.sh b/source/xap/network-manager-applet/doinst.sh
index 6da6f0c0b..96ae4b325 100644
--- a/source/xap/network-manager-applet/doinst.sh
+++ b/source/xap/network-manager-applet/doinst.sh
@@ -1,13 +1,3 @@
-schema_install() {
- SCHEMA="$1"
- GCONF_CONFIG_SOURCE="xml::etc/gconf/gconf.xml.defaults" \
- chroot . gconftool-2 --makefile-install-rule \
- /etc/gconf/schemas/$SCHEMA \
- 1>/dev/null 2> /dev/null
-}
-
-schema_install nm-applet.schemas
-
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications 1>/dev/null 2> /dev/null
fi
@@ -18,3 +8,9 @@ if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
fi
fi
+if [ -e usr/share/glib-2.0/schemas ]; then
+ if [ -x /usr/bin/glib-compile-schemas ]; then
+ /usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas >/dev/null 2>&1
+ fi
+fi
+
diff --git a/source/xap/network-manager-applet/network-manager-applet.SlackBuild b/source/xap/network-manager-applet/network-manager-applet.SlackBuild
index 702215967..5eb17a861 100755
--- a/source/xap/network-manager-applet/network-manager-applet.SlackBuild
+++ b/source/xap/network-manager-applet/network-manager-applet.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=network-manager-applet
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -67,6 +67,9 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+sed -i 's/GtkBox/GtkHBox/g' src/connection-editor/ce-page-general.ui
+sed -i 's/GtkBox/GtkVBox/g' src/connection-editor/nm-connection-editor.ui
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -78,19 +81,33 @@ CXXFLAGS="$SLKCFLAGS" \
--docdir=/usr/doc/$PKGNAM-$VERSION \
--with-gtkver=2 \
--disable-static \
- --disable-schemas-install \
--enable-more-warnings=no \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
- AUTHORS CONTRIBUTING COPYING ChangeLog INSTALL NEWS README \
+ AUTHORS CONTRIBUTING COPYING* ChangeLog INSTALL NEWS README* \
$PKG/usr/doc/$PKGNAM-$VERSION
# If there's a ChangeLog, installing at least part of the recent history
diff --git a/source/xap/pan/pan.SlackBuild b/source/xap/pan/pan.SlackBuild
index b3bbe857a..ab8915918 100755
--- a/source/xap/pan/pan.SlackBuild
+++ b/source/xap/pan/pan.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=pan
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/xap/pidgin/link-libirc-to-libsasl2.patch b/source/xap/pidgin/link-libirc-to-libsasl2.patch
new file mode 100644
index 000000000..2858ac994
--- /dev/null
+++ b/source/xap/pidgin/link-libirc-to-libsasl2.patch
@@ -0,0 +1,65 @@
+--- ./libpurple/protocols/irc/Makefile.am.orig 2013-02-11 03:16:52.000000000 -0600
++++ ./libpurple/protocols/irc/Makefile.am 2013-02-15 15:18:32.950591016 -0600
+@@ -27,7 +27,7 @@
+ st =
+ pkg_LTLIBRARIES = libirc.la
+ libirc_la_SOURCES = $(IRCSOURCES)
+-libirc_la_LIBADD = $(GLIB_LIBS)
++libirc_la_LIBADD = $(GLIB_LIBS) $(SASL_LIBS)
+
+ endif
+
+--- ./libpurple/protocols/irc/Makefile.in.orig 2013-02-11 03:17:20.000000000 -0600
++++ ./libpurple/protocols/irc/Makefile.in 2013-02-15 15:18:43.256590687 -0600
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11.6 from Makefile.am.
++# Makefile.in generated by automake 1.11.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -92,7 +92,8 @@
+ am__installdirs = "$(DESTDIR)$(pkgdir)"
+ LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+ am__DEPENDENCIES_1 =
+-@STATIC_IRC_FALSE@libirc_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
++@STATIC_IRC_FALSE@libirc_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
++@STATIC_IRC_FALSE@ $(am__DEPENDENCIES_1)
+ am__libirc_la_SOURCES_DIST = cmds.c dcc_send.c irc.c irc.h msgs.c \
+ parse.c
+ am__objects_1 = libirc_la-cmds.lo libirc_la-dcc_send.lo \
+@@ -415,7 +416,7 @@
+ @STATIC_IRC_TRUE@libirc_la_SOURCES = $(IRCSOURCES)
+ @STATIC_IRC_TRUE@libirc_la_CFLAGS = $(AM_CFLAGS)
+ @STATIC_IRC_FALSE@pkg_LTLIBRARIES = libirc.la
+-@STATIC_IRC_FALSE@libirc_la_LIBADD = $(GLIB_LIBS)
++@STATIC_IRC_FALSE@libirc_la_LIBADD = $(GLIB_LIBS) $(SASL_LIBS)
+ AM_CPPFLAGS = \
+ -I$(top_srcdir)/libpurple \
+ -I$(top_builddir)/libpurple \
+--- ./libpurple/protocols/irc/Makefile.orig 2013-02-15 15:16:32.812594857 -0600
++++ ./libpurple/protocols/irc/Makefile 2013-02-15 15:18:53.684590354 -0600
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11.6 from Makefile.am.
++# Makefile.in generated by automake 1.11.5 from Makefile.am.
+ # libpurple/protocols/irc/Makefile. Generated from Makefile.in by configure.
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -92,7 +92,8 @@
+ am__installdirs = "$(DESTDIR)$(pkgdir)"
+ LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+ am__DEPENDENCIES_1 =
+-libirc_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
++libirc_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
++ $(am__DEPENDENCIES_1)
+ am__libirc_la_SOURCES_DIST = cmds.c dcc_send.c irc.c irc.h msgs.c \
+ parse.c
+ am__objects_1 = libirc_la-cmds.lo libirc_la-dcc_send.lo \
+@@ -415,7 +416,7 @@
+ #libirc_la_SOURCES = $(IRCSOURCES)
+ #libirc_la_CFLAGS = $(AM_CFLAGS)
+ pkg_LTLIBRARIES = libirc.la
+-libirc_la_LIBADD = $(GLIB_LIBS)
++libirc_la_LIBADD = $(GLIB_LIBS) $(SASL_LIBS)
+ AM_CPPFLAGS = \
+ -I$(top_srcdir)/libpurple \
+ -I$(top_builddir)/libpurple \
diff --git a/source/xap/pidgin/pidgin.SlackBuild b/source/xap/pidgin/pidgin.SlackBuild
index 5fa20495f..cf28811be 100755
--- a/source/xap/pidgin/pidgin.SlackBuild
+++ b/source/xap/pidgin/pidgin.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PKGNAM=pidgin
VERSION=${VERSION:-$(echo $PKGNAM-2.*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
PIDGINENC=${PIDGINENC:-3.1}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-5}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -106,6 +106,8 @@ CXXFLAGS="$SLKCFLAGS" \
--program-suffix= \
--build=$ARCH-slackware-linux$ARCHQUADLET || exit 1
+zcat $CWD/link-libirc-to-libsasl2.patch.gz | patch -p1 --verbose || exit 1
+
# Fix install location:
grep -lr -- "lib/perl" . | xargs sed -i 's?lib/perl?lib'"$LIBDIRSUFFIX"'/perl?g'
diff --git a/source/xap/rdesktop/rdesktop-1.8.0-fix-missing-ui.diff b/source/xap/rdesktop/rdesktop-1.8.0-fix-missing-ui.diff
new file mode 100644
index 000000000..efad2f335
--- /dev/null
+++ b/source/xap/rdesktop/rdesktop-1.8.0-fix-missing-ui.diff
@@ -0,0 +1,77 @@
+From 8aeb027877c517510ea39c26c37c6dbd46401800 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Sun, 20 Oct 2013
+Subject: Fix crash with -P and/or -N
+
+Make sure that ui is created if processing demand active PDU.
+
+Relevant upstream revisions:
+----------------------------
+http://sourceforge.net/p/rdesktop/code/1731/
+http://sourceforge.net/p/rdesktop/code/1732/
+http://sourceforge.net/p/rdesktop/code/1741/
+
+---
+ proto.h | 1 +
+ rdesktop.c | 20 +++++++++++++-------
+ rdp.c | 3 +++
+ 3 files changed, 17 insertions(+), 7 deletions(-)
+
+--- a/proto.h 2013-06-20
++++ b/proto.h 2013-10-20
+@@ -144,6 +144,7 @@ RD_BOOL subprocess(char *const argv[], s
+ char *l_to_a(long N, int base);
+ int load_licence(unsigned char **data);
+ void save_licence(unsigned char *data, int length);
++void rd_create_ui(void);
+ RD_BOOL rd_pstcache_mkdir(void);
+ int rd_open_file(char *filename);
+ void rd_close_file(int fd);
+--- a/rdesktop.c 2013-10-20
++++ b/rdesktop.c 2013-10-20
+@@ -1132,13 +1132,7 @@ main(int argc, char *argv[])
+ DEBUG(("Connection successful.\n"));
+ memset(password, 0, sizeof(password));
+
+- /* only create a window if we dont have one intialized */
+- if (!ui_have_window())
+- {
+- if (!ui_create_window())
+- return EX_OSERR;
+- }
+-
++ rd_create_ui();
+ tcp_run_ui(True);
+
+ g_redirect = False;
+@@ -1732,6 +1726,18 @@ save_licence(unsigned char *data, int le
+ close(fd);
+ }
+
++/* create rdesktop ui */
++void
++rd_create_ui()
++{
++ /* only create a window if we dont have one intialized */
++ if (!ui_have_window())
++ {
++ if (!ui_create_window())
++ exit(EX_OSERR);
++ }
++}
++
+ /* Create the bitmap cache directory */
+ RD_BOOL
+ rd_pstcache_mkdir(void)
+--- a/rdp.c 2013-06-20
++++ b/rdp.c 2013-10-20
+@@ -1044,6 +1044,9 @@ process_demand_active(STREAM s)
+ uint8 type;
+ uint16 len_src_descriptor, len_combined_caps;
+
++ /* at this point we need to ensure that we have ui created */
++ rd_create_ui();
++
+ in_uint32_le(s, g_rdp_shareid);
+ in_uint16_le(s, len_src_descriptor);
+ in_uint16_le(s, len_combined_caps);
diff --git a/source/xap/rdesktop/rdesktop.SlackBuild b/source/xap/rdesktop/rdesktop.SlackBuild
index ba6c67728..e1687e782 100755
--- a/source/xap/rdesktop/rdesktop.SlackBuild
+++ b/source/xap/rdesktop/rdesktop.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2008, 2009, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2008, 2009, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=rdesktop
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -59,6 +59,8 @@ rm -rf ${PKGNAM}-${VERSION}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
cd ${PKGNAM}-$VERSION || exit 1
+zcat $CWD/rdesktop-1.8.0-fix-missing-ui.diff.gz | patch -p1 --verbose || exit 1
+
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
@@ -73,7 +75,8 @@ CFLAGS="$SLKCFLAGS" \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--with-sound=alsa \
- --enable-smartcard \
+ --disable-smartcard \
+ --disable-credssp \
--with-ipv6 \
--mandir=/usr/man \
--build=$ARCH-slackware-linux
diff --git a/source/xap/sane/sane-backends-1.0.22-v4l.diff b/source/xap/sane/sane-backends-1.0.22-v4l.diff
deleted file mode 100644
index 4e240e0cf..000000000
--- a/source/xap/sane/sane-backends-1.0.22-v4l.diff
+++ /dev/null
@@ -1,64 +0,0 @@
-From 26c69b228b29f612faf4b0cc85db969ee7cc4ea6 Mon Sep 17 00:00:00 2001
-From: Nils Philippsen <nils@redhat.com>
-Date: Mon, 14 Mar 2011 13:35:05 +0100
-Subject: [PATCH] patch: v4l
-
-Squashed commit of the following:
-
-commit 23381932c76846191b42a48e505b37cd74711265
-Author: Julien BLACHE <jb@jblache.org>
-Date: Wed Feb 16 19:37:43 2011 +0100
-
- Fix v4l build with libv4l 0.8.3+
-
- (cherry picked from commit c5ca46c2d1be78c651afb843cc834cf2b5b24953)
-
- Conflicts:
-
- ChangeLog
-
- Signed-off-by: Nils Philippsen <nils@redhat.com>
----
- backend/v4l.c | 3 +--
- backend/v4l.h | 3 ++-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/backend/v4l.c b/backend/v4l.c
-index 6510ef0..38595ed 100644
---- a/backend/v4l.c
-+++ b/backend/v4l.c
-@@ -84,9 +84,8 @@
- #include "../include/sane/sanei_config.h"
- #define V4L_CONFIG_FILE "v4l.conf"
-
--#include "v4l.h"
--
- #include <libv4l1.h>
-+#include "v4l.h"
-
- static const SANE_Device **devlist = NULL;
- static int num_devices;
-diff --git a/backend/v4l.h b/backend/v4l.h
-index 588b96e..6aee586 100644
---- a/backend/v4l.h
-+++ b/backend/v4l.h
-@@ -29,6 +29,7 @@
- #ifndef v4l_h
- #define v4l_h
-
-+#ifndef __LINUX_VIDEODEV_H
- /* Kernel interface */
- /* Only the stuff we need. For more features, more defines are needed */
-
-@@ -165,7 +166,7 @@ struct video_channel
-
-
- /* end of kernel interface */
--
-+#endif /* !__LINUX_VIDEODEV_H */
-
- #include <../include/sane/sane.h>
-
---
-1.7.4
-
diff --git a/source/xap/sane/sane.SlackBuild b/source/xap/sane/sane.SlackBuild
index be9dd725d..39b0dfa25 100755
--- a/source/xap/sane/sane.SlackBuild
+++ b/source/xap/sane/sane.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,10 +20,10 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=1.0.22
-BACKVER=1.0.22
+VERSION=1.0.24
+BACKVER=1.0.24
FRONTVER=1.0.14
-BUILD=${BUILD:-5}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -61,7 +61,7 @@ mkdir -p $TMP $PKG
# First, we'll build the backends
cd $TMP
rm -rf sane-backends-$BACKVER
-tar xvf $CWD/sane-backends-$BACKVER.tar.bz2 || exit 1
+tar xvf $CWD/sane-backends-$BACKVER.tar.xz || exit 1
cd sane-backends-$BACKVER
chown -R root:root .
@@ -69,9 +69,6 @@ chown -R root:root .
# everything else catches up with the API change...
zcat $CWD/sane-frontends-1.0.14-sane_cap_always_settable.diff.gz | patch -p1 || exit 1
-# Fix building against v4l-utils-0.8.3:
-zcat $CWD/sane-backends-1.0.22-v4l.diff.gz | patch -p1 --verbose || exit 1
-
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
@@ -93,16 +90,20 @@ make install DESTDIR=$PKG || exit 1
# Add the default udev rules. Use group "lp" rather than "scanner" to avoid
# breaking CUPS access for multifunction printer/scanner devices (possibly
# the most common type of scanner these days)
+#
+# Use ACTION!="add|change" to avoid skipping these rules if coming from an
+# initrd where udev was started.
mkdir -p $PKG/lib/udev/rules.d
cat tools/udev/libsane.rules \
| sed -e "s/GROUP=\"scanner\"/GROUP=\"lp\"/g" \
| sed -e "s/MODE=\"0664\"/MODE=\"0660\"/g" \
+ | sed -e "s/ACTION!=\"add\"/ACTION!=\"add|change\"/g" \
> $PKG/lib/udev/rules.d/80-libsane.rules
-# Add the hal fdi file:
-mkdir -p $PKG/usr/share/hal/fdi/policy/10osvendor/
-cat tools/hal/libsane.fdi \
- > $PKG/usr/share/hal/fdi/policy/10osvendor/10-libsane.fdi
+## Add the hal fdi file:
+#mkdir -p $PKG/usr/share/hal/fdi/policy/10osvendor/
+#cat tools/hal/libsane.fdi \
+# > $PKG/usr/share/hal/fdi/policy/10osvendor/10-libsane.fdi
# Install the pkgconfig file:
install -D -m644 tools/sane-backends.pc \
@@ -111,7 +112,7 @@ install -D -m644 tools/sane-backends.pc \
# Now let's build the frontends:
cd $TMP
rm -rf sane-frontends-$FRONTVER
-tar xvf $CWD/sane-frontends-$FRONTVER.tar.bz2 || exit 1
+tar xvf $CWD/sane-frontends-$FRONTVER.tar.xz || exit 1
cd sane-frontends-$FRONTVER
chown -R root:root .
diff --git a/source/xap/seamonkey/pkgconfig/seamonkey-js.pc b/source/xap/seamonkey/pkgconfig/seamonkey-js.pc
deleted file mode 100644
index 31433be28..000000000
--- a/source/xap/seamonkey/pkgconfig/seamonkey-js.pc
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=/usr
-exec_prefix=/usr
-libdir=/usr/@LIB@/seamonkey-@VERSION@
-includedir=/usr/include/seamonkey-@VERSION@
-
-Name: JavaScript
-Description: The Mozilla JavaScript Library
-Version: @VERSION@
-Requires: seamonkey-nspr >= 4.7.1
-Libs: -L${libdir} -lmozjs
-Cflags: -I${includedir}/js -DXP_UNIX -DJS_THREADSAFE
diff --git a/source/xap/seamonkey/seamonkey.SlackBuild b/source/xap/seamonkey/seamonkey.SlackBuild
index afc1bc963..fa0921e42 100755
--- a/source/xap/seamonkey/seamonkey.SlackBuild
+++ b/source/xap/seamonkey/seamonkey.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -38,8 +38,10 @@ fi
if [ "$ARCH" = "x86_64" ]; then
LIBDIRSUFFIX="64"
+ OPTIMIZE_FLAG="-O2"
else
LIBDIRSUFFIX=""
+ OPTIMIZE_FLAG="-Os"
fi
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -103,7 +105,7 @@ BUILD_OFFICIAL=1 MOZILLA_OFFICIAL=1 \
$TMP/comm-$COMM/configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
- --enable-optimize=-O2 \
+ --enable-optimize=$OPTIMIZE_FLAG \
--enable-cpp-rtti \
--enable-default-toolkit=cairo-gtk2 \
--enable-startup-notification \
@@ -118,12 +120,10 @@ $TMP/comm-$COMM/configure \
--enable-nspr-autoconf \
--enable-extensions=default,irc \
--enable-crypto \
- --enable-shared-js \
--enable-libxul \
--disable-xprint \
--without-system-nspr \
--with-system-zlib \
- --with-system-jpeg \
--with-system-mng \
--enable-application=suite \
--enable-xft \
@@ -136,7 +136,7 @@ $TMP/comm-$COMM/configure \
make $NUMJOBS || exit 1
DESTDIR=$PKG make install || exit 1
-# Install js/nspr/nss headers.
+# Install nspr/nss headers.
for includedir in nspr nspr/obsolete nspr/private ; do
mkdir -p $PKG/usr/include/seamonkey-${VERSION}/$includedir
cp -aL mozilla/dist/include/${includedir}/*.h $PKG/usr/include/seamonkey-${VERSION}/$includedir
@@ -146,8 +146,6 @@ cp -aL mozilla/dist/include/*.h $PKG/usr/include/seamonkey-${VERSION}
cp -aL mozilla/dist/sdk/include/* $PKG/usr/include/seamonkey-${VERSION}
# compat symlinks
( cd $PKG/usr/include/seamonkey-${VERSION}
- # make install seems to install js headers into a directory now, so don't make a symlink:
- #ln -sf . js
# Relocate anything that might be in the nss directory, and replace the directory with a symlink.
# make install was putting an empty directory here, which was breaking other compiles.
if [ -d nss ]; then
@@ -185,7 +183,6 @@ done
# Add symlinks for the pkgconfig files:
( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
- ln -s seamonkey-js.pc js.pc
ln -s seamonkey-libxul.pc libxul.pc
ln -s seamonkey-plugin.pc plugin.pc
ln -s seamonkey-xpcom.pc xpcom.pc
@@ -252,7 +249,7 @@ rm -r $TMP/package-seamonkey-solibs
mkdir -p $TMP/package-seamonkey-solibs/usr/doc
cp -a $PKG/usr/doc/seamonkey-$VERSION $TMP/package-seamonkey-solibs/usr/doc
mkdir -p $TMP/package-seamonkey-solibs/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}
-for file in libfreebl3.chk libfreebl3.so libmozjs.so libmozsqlite3.so \
+for file in libfreebl3.chk libfreebl3.so libmozsqlite3.so \
libnspr4.so libnss* libplc4.so libplds4.so libsmime3.so libsoftokn3.chk \
libsoftokn3.so libssl3.so ; do
cp -a $PKG/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}/$file \
@@ -274,8 +271,8 @@ cat << EOF > $TMP/package-seamonkey-solibs/install/slack-desc
seamonkey-solibs: seamonkey-solibs (Shared libraries from Seamonkey)
seamonkey-solibs:
seamonkey-solibs: This package contains a subset of the shared libraries from Seamonkey
-seamonkey-solibs: to provide runtime support for programs that require nss, nspr, and
-seamonkey-solibs: js. This package is built from the Seamonkey sources and is provided
+seamonkey-solibs: to provide runtime support for various programs.
+seamonkey-solibs: This package is built from the Seamonkey sources and is provided
seamonkey-solibs: as a standalone runtime package for people who do not want to install
seamonkey-solibs: the entire seamonkey package (as for server use).
seamonkey-solibs:
diff --git a/source/xap/seamonkey/seamonkey.desktop b/source/xap/seamonkey/seamonkey.desktop
index 7c988a769..eaf81ddff 100644
--- a/source/xap/seamonkey/seamonkey.desktop
+++ b/source/xap/seamonkey/seamonkey.desktop
@@ -5,4 +5,5 @@ Exec=/usr/bin/seamonkey
Icon=/usr/share/pixmaps/seamonkey-icon.png
Terminal=0
Type=Application
+MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
Categories=Application;Network;
diff --git a/source/xap/windowmaker/windowmaker.SlackBuild b/source/xap/windowmaker/windowmaker.SlackBuild
index da5ac6792..e1e8b2bb8 100755
--- a/source/xap/windowmaker/windowmaker.SlackBuild
+++ b/source/xap/windowmaker/windowmaker.SlackBuild
@@ -20,9 +20,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-VERSION=${VERSION:-0.95.3}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-$(echo WindowMaker-0*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/xap/xchat/xchat.SlackBuild b/source/xap/xchat/xchat.SlackBuild
index c02a71e5f..bef11065a 100755
--- a/source/xap/xchat/xchat.SlackBuild
+++ b/source/xap/xchat/xchat.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=2.8.8
-BUILD=${BUILD:-6}
+BUILD=${BUILD:-8}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -58,13 +58,16 @@ mkdir -p $TMP $PKG/usr
cd $TMP
rm -rf xchat-$VERSION
-tar xvf $CWD/xchat-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/xchat-$VERSION.tar.xz || exit 1
cd xchat-$VERSION || exit 1
if [ -d $CWD/patches ]; then
for file in $CWD/patches/*.diff.gz ; do
zcat $file | patch -p1 --verbose || exit 1
done
fi
+
+zcat $CWD/xchat.glib.g.diff.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/xap/xchat/xchat.glib.g.diff b/source/xap/xchat/xchat.glib.g.diff
new file mode 100644
index 000000000..143d3448d
--- /dev/null
+++ b/source/xap/xchat/xchat.glib.g.diff
@@ -0,0 +1,47 @@
+--- ./src/common/util.c.orig 2009-08-16 04:40:16.000000000 -0500
++++ ./src/common/util.c 2013-05-13 22:18:22.364370023 -0500
+@@ -39,7 +39,7 @@
+ #include <errno.h>
+ #include "xchat.h"
+ #include "xchatc.h"
+-#include <glib/gmarkup.h>
++#include <glib.h>
+ #include <ctype.h>
+ #include "util.h"
+ #include "../../config.h"
+--- ./src/common/text.c.orig 2010-05-29 21:14:41.000000000 -0500
++++ ./src/common/text.c 2013-05-13 22:17:58.028371777 -0500
+@@ -28,7 +28,7 @@
+ #include <sys/mman.h>
+
+ #include "xchat.h"
+-#include <glib/ghash.h>
++#include <glib.h>
+ #include "cfgfiles.h"
+ #include "chanopt.h"
+ #include "plugin.h"
+--- ./src/common/xchat.h.orig 2009-08-16 04:40:16.000000000 -0500
++++ ./src/common/xchat.h 2013-05-13 22:16:41.332377305 -0500
+@@ -1,10 +1,6 @@
+ #include "../../config.h"
+
+-#include <glib/gslist.h>
+-#include <glib/glist.h>
+-#include <glib/gutils.h>
+-#include <glib/giochannel.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+ #include <time.h> /* need time_t */
+
+ #ifndef XCHAT_H
+--- ./src/common/servlist.c.orig 2010-05-16 02:24:26.000000000 -0500
++++ ./src/common/servlist.c 2013-05-13 22:17:29.900373805 -0500
+@@ -24,7 +24,7 @@
+ #include <unistd.h>
+
+ #include "xchat.h"
+-#include <glib/ghash.h>
++#include <glib.h>
+
+ #include "cfgfiles.h"
+ #include "fe.h"
diff --git a/source/xap/xine-lib/xine-lib.SlackBuild b/source/xap/xine-lib/xine-lib.SlackBuild
index 97391f39a..510b83513 100755
--- a/source/xap/xine-lib/xine-lib.SlackBuild
+++ b/source/xap/xine-lib/xine-lib.SlackBuild
@@ -28,7 +28,7 @@ DIRVER=1.1.21
# Version used for the Slackware package
PKGVER=1.1.21
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/xap/xine-ui/xine-ui-0.99.7-upstream_fix-1.patch b/source/xap/xine-ui/xine-ui-0.99.7-upstream_fix-1.patch
new file mode 100644
index 000000000..448c9d3e4
--- /dev/null
+++ b/source/xap/xine-ui/xine-ui-0.99.7-upstream_fix-1.patch
@@ -0,0 +1,27 @@
+Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
+Date: 2013-04-17
+Initial Package Version: 0.99.7
+Upstream Status: Applied
+Origin: Upstream (Torsten Jager)
+Description: The change to use a png logo before 0.99.7 overlooked
+that static graphics have a different status in xine-lib (they never
+stop). That broke opening a file from the 'Open' menu (opening from
+the MRL Browser, or from a file passed on the command lein were OK).
+
+Upstream revision r3135:
+
+open user file immediately when only logo is playing
+
+diff -r 653d3359d87a -r edb37ede1ab2 src/xitk/actions.c
+--- a/src/xitk/actions.c Tue Mar 19 22:29:33 2013 +0200
++++ b/src/xitk/actions.c Mon Apr 15 19:56:17 2013 +0300
+@@ -2148,7 +2148,8 @@
+
+ /* If an MRL is not being played, select the first file appended. If in "smart mode" start
+ playing the entry. If a an MRL is currently being played, let it continue normally */
+- if((first != gGui->playlist.num) && (xine_get_status(gGui->stream) == XINE_STATUS_STOP)) {
++ if((first != gGui->playlist.num) &&
++ (gGui->logo_mode || (xine_get_status(gGui->stream) == XINE_STATUS_STOP))) {
+ gGui->playlist.cur = first;
+ if(gGui->smart_mode) {
+ gui_set_current_mmk(mediamark_get_current_mmk());
diff --git a/source/xap/xine-ui/xine-ui.SlackBuild b/source/xap/xine-ui/xine-ui.SlackBuild
index 65a18c183..228936c0b 100755
--- a/source/xap/xine-ui/xine-ui.SlackBuild
+++ b/source/xap/xine-ui/xine-ui.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -57,7 +57,7 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/xine-ui.no.deprecated.curl.headers.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/xine-ui-0.99.7-upstream_fix-1.patch.gz | patch -p1 --verbose || exit 1
XINE_BUILD=$TARGET \
./configure \
@@ -66,7 +66,7 @@ XINE_BUILD=$TARGET \
--with-caca \
--disable-lirc \
--mandir=/usr/man \
- --build=$TARGET
+ --build=$TARGET || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
diff --git a/source/xap/xine-ui/xine-ui.no.deprecated.curl.headers.diff b/source/xap/xine-ui/xine-ui.no.deprecated.curl.headers.diff
deleted file mode 100644
index 63e577174..000000000
--- a/source/xap/xine-ui/xine-ui.no.deprecated.curl.headers.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./src/xitk/download.c.orig 2009-12-18 18:34:22.000000000 -0600
-+++ ./src/xitk/download.c 2012-09-09 12:47:15.757552304 -0500
-@@ -28,8 +28,6 @@
-
- #ifdef HAVE_CURL
- #include <curl/curl.h>
--#include <curl/types.h>
--#include <curl/easy.h>
- #endif
-
- #include "common.h"
diff --git a/source/xap/xlockmore/xlockmore.SlackBuild b/source/xap/xlockmore/xlockmore.SlackBuild
index c7ced75b1..4da13fe66 100755
--- a/source/xap/xlockmore/xlockmore.SlackBuild
+++ b/source/xap/xlockmore/xlockmore.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/source/xap/xmms/xmms.SlackBuild b/source/xap/xmms/xmms.SlackBuild
index 042d8310e..e66739532 100755
--- a/source/xap/xmms/xmms.SlackBuild
+++ b/source/xap/xmms/xmms.SlackBuild
@@ -22,7 +22,7 @@
VERSION=1.2.11
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-5}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -65,8 +65,9 @@ rm -rf xmms-$VERSION
tar xvf $CWD/xmms-$VERSION.tar.bz2 || exit 1
cd xmms-$VERSION || exit 1
-zcat $CWD/xmms.gtk.doublesize.diff.gz | patch -p1 || exit 1
-zcat $CWD/xmms.wmxmms_vis_depth_workaround.diff.gz | patch -p0 || exit 1
+zcat $CWD/xmms.gtk.doublesize.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/xmms.wmxmms_vis_depth_workaround.diff.gz | patch -p0 --verbose || exit 1
+zcat $CWD/xmms.alsa.default.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
find . \
diff --git a/source/xap/xmms/xmms.alsa.default.diff b/source/xap/xmms/xmms.alsa.default.diff
new file mode 100644
index 000000000..22f378577
--- /dev/null
+++ b/source/xap/xmms/xmms.alsa.default.diff
@@ -0,0 +1,11 @@
+--- ./xmms/main.c.orig 2006-07-16 08:40:04.000000000 -0500
++++ ./xmms/main.c 2013-05-02 21:25:33.648185044 -0500
+@@ -502,7 +502,7 @@
+ if (cfg.outputplugin == NULL)
+ {
+ #ifdef HAVE_OSS
+- cfg.outputplugin = g_strdup_printf("%s/%s/libOSS.so", PLUGIN_DIR, plugin_dir_list[0]);
++ cfg.outputplugin = g_strdup_printf("%s/%s/libALSA.so", PLUGIN_DIR, plugin_dir_list[0]);
+ #elif defined(sun)
+ cfg.outputplugin = g_strdup_printf("%s/%s/libSolaris.so", PLUGIN_DIR, plugin_dir_list[0]);
+ #else
diff --git a/source/xap/xpdf/lang/xpdf-arabic.diff b/source/xap/xpdf/lang/xpdf-arabic.diff
index a6dfcf1f5..006e836ac 100644
--- a/source/xap/xpdf/lang/xpdf-arabic.diff
+++ b/source/xap/xpdf/lang/xpdf-arabic.diff
@@ -1,7 +1,7 @@
---- ./add-to-xpdfrc.orig 2003-02-16 16:54:40.000000000 -0600
-+++ ./add-to-xpdfrc 2008-03-02 01:24:14.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.102417270 -0500
@@ -1,3 +1,3 @@
- #----- begin Arabic support package (2003-feb-16)
+ #----- begin Arabic support package (2011-aug-15)
-unicodeMap ISO-8859-6 /usr/local/share/xpdf/arabic/ISO-8859-6.unicodeMap
+unicodeMap ISO-8859-6 /usr/share/xpdf/arabic/ISO-8859-6.unicodeMap
#----- end Arabic support package
diff --git a/source/xap/xpdf/lang/xpdf-chinese-simplified.diff b/source/xap/xpdf/lang/xpdf-chinese-simplified.diff
index adb125a49..bec5e25b1 100644
--- a/source/xap/xpdf/lang/xpdf-chinese-simplified.diff
+++ b/source/xap/xpdf/lang/xpdf-chinese-simplified.diff
@@ -1,19 +1,19 @@
---- ./add-to-xpdfrc.orig 2004-07-27 17:28:08.000000000 -0500
-+++ ./add-to-xpdfrc 2008-03-02 01:46:16.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-09-02 17:24:44.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:45:42.020412765 -0500
@@ -1,9 +1,9 @@
- #----- begin Chinese Simplified support package (2004-jul-27)
+ #----- begin Chinese Simplified support package (2011-sep-02)
-cidToUnicode Adobe-GB1 /usr/local/share/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode
-unicodeMap ISO-2022-CN /usr/local/share/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap
-unicodeMap EUC-CN /usr/local/share/xpdf/chinese-simplified/EUC-CN.unicodeMap
-unicodeMap GBK /usr/local/share/xpdf/chinese-simplified/GBK.unicodeMap
-cMapDir Adobe-GB1 /usr/local/share/xpdf/chinese-simplified/CMap
-toUnicodeDir /usr/local/share/xpdf/chinese-simplified/CMap
--#displayCIDFontTT Adobe-GB1 /usr/..../gkai00mp.ttf
+-#fontFileCC Adobe-GB1 /usr/..../gkai00mp.ttf
+cidToUnicode Adobe-GB1 /usr/share/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode
+unicodeMap ISO-2022-CN /usr/share/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap
+unicodeMap EUC-CN /usr/share/xpdf/chinese-simplified/EUC-CN.unicodeMap
+unicodeMap GBK /usr/share/xpdf/chinese-simplified/GBK.unicodeMap
+cMapDir Adobe-GB1 /usr/share/xpdf/chinese-simplified/CMap
+toUnicodeDir /usr/share/xpdf/chinese-simplified/CMap
-+displayCIDFontTT Adobe-GB1 /usr/share/fonts/TTF/wqy-zenhei.ttf
++fontFileCC Adobe-GB1 /usr/share/fonts/TTF/wqy-zenhei.ttc
#----- end Chinese Simplified support package
diff --git a/source/xap/xpdf/lang/xpdf-chinese-traditional.diff b/source/xap/xpdf/lang/xpdf-chinese-traditional.diff
index 71d35ee5d..24857f469 100644
--- a/source/xap/xpdf/lang/xpdf-chinese-traditional.diff
+++ b/source/xap/xpdf/lang/xpdf-chinese-traditional.diff
@@ -1,17 +1,17 @@
---- ./add-to-xpdfrc.orig 2004-07-27 17:28:07.000000000 -0500
-+++ ./add-to-xpdfrc 2008-03-02 01:45:16.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-09-02 17:24:44.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:46:03.285412085 -0500
@@ -1,8 +1,8 @@
- #----- begin Chinese Traditional support package (2004-jul-27)
+ #----- begin Chinese Traditional support package (2011-sep-02)
-cidToUnicode Adobe-CNS1 /usr/local/share/xpdf/chinese-traditional/Adobe-CNS1.cidToUnicode
-unicodeMap Big5 /usr/local/share/xpdf/chinese-traditional/Big5.unicodeMap
-unicodeMap Big5ascii /usr/local/share/xpdf/chinese-traditional/Big5ascii.unicodeMap
-cMapDir Adobe-CNS1 /usr/local/share/xpdf/chinese-traditional/CMap
-toUnicodeDir /usr/local/share/xpdf/chinese-traditional/CMap
--#displayCIDFontTT Adobe-CNS1 /usr/..../bkai00mp.ttf
+-#fontFileCC Adobe-CNS1 /usr/..../bkai00mp.ttf
+cidToUnicode Adobe-CNS1 /usr/share/xpdf/chinese-traditional/Adobe-CNS1.cidToUnicode
+unicodeMap Big5 /usr/share/xpdf/chinese-traditional/Big5.unicodeMap
+unicodeMap Big5ascii /usr/share/xpdf/chinese-traditional/Big5ascii.unicodeMap
+cMapDir Adobe-CNS1 /usr/share/xpdf/chinese-traditional/CMap
+toUnicodeDir /usr/share/xpdf/chinese-traditional/CMap
-+displayCIDFontTT Adobe-CNS1 /usr/share/fonts/TTF/wqy-zenhei.ttf
++fontFileCC Adobe-CNS1 /usr/share/fonts/TTF/wqy-zenhei.ttc
#----- end Chinese Traditional support package
diff --git a/source/xap/xpdf/lang/xpdf-cyrillic.diff b/source/xap/xpdf/lang/xpdf-cyrillic.diff
index ec841961e..c453271ab 100644
--- a/source/xap/xpdf/lang/xpdf-cyrillic.diff
+++ b/source/xap/xpdf/lang/xpdf-cyrillic.diff
@@ -1,7 +1,7 @@
---- ./add-to-xpdfrc.orig 2003-07-08 00:43:40.000000000 -0500
-+++ ./add-to-xpdfrc 2008-03-02 01:27:17.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.115417270 -0500
@@ -1,4 +1,4 @@
- #----- begin Cyrillic support package (2003-jun-28)
+ #----- begin Cyrillic support package (2011-aug-15)
-nameToUnicode /usr/local/share/xpdf/cyrillic/Bulgarian.nameToUnicode
-unicodeMap KOI8-R /usr/local/share/xpdf/cyrillic/KOI8-R.unicodeMap
+nameToUnicode /usr/share/xpdf/cyrillic/Bulgarian.nameToUnicode
diff --git a/source/xap/xpdf/lang/xpdf-greek.diff b/source/xap/xpdf/lang/xpdf-greek.diff
index fe47d4434..2e846160f 100644
--- a/source/xap/xpdf/lang/xpdf-greek.diff
+++ b/source/xap/xpdf/lang/xpdf-greek.diff
@@ -1,7 +1,7 @@
---- ./add-to-xpdfrc.orig 2003-07-08 00:43:40.000000000 -0500
-+++ ./add-to-xpdfrc 2008-03-02 01:28:00.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.116417270 -0500
@@ -1,4 +1,4 @@
- #----- begin Greek support package (2003-jun-28)
+ #----- begin Greek support package (2011-aug-15)
-nameToUnicode /usr/local/share/xpdf/greek/Greek.nameToUnicode
-unicodeMap ISO-8859-7 /usr/local/share/xpdf/greek/ISO-8859-7.unicodeMap
+nameToUnicode /usr/share/xpdf/greek/Greek.nameToUnicode
diff --git a/source/xap/xpdf/lang/xpdf-hebrew.diff b/source/xap/xpdf/lang/xpdf-hebrew.diff
index e7d091d00..2c27bb6fd 100644
--- a/source/xap/xpdf/lang/xpdf-hebrew.diff
+++ b/source/xap/xpdf/lang/xpdf-hebrew.diff
@@ -1,7 +1,7 @@
---- ./add-to-xpdfrc.orig 2008-03-02 01:28:33.000000000 -0600
-+++ ./add-to-xpdfrc 2008-03-02 01:28:45.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.117417269 -0500
@@ -1,4 +1,4 @@
- #----- begin Hebrew support package (2003-feb-16)
+ #----- begin Hebrew support package (2011-aug-15)
-unicodeMap ISO-8859-8 /usr/local/share/xpdf/hebrew/ISO-8859-8.unicodeMap
-unicodeMap Windows-1255 /usr/local/share/xpdf/hebrew/Windows-1255.unicodeMap
+unicodeMap ISO-8859-8 /usr/share/xpdf/hebrew/ISO-8859-8.unicodeMap
diff --git a/source/xap/xpdf/lang/xpdf-japanese.diff b/source/xap/xpdf/lang/xpdf-japanese.diff
index 5c1878fe8..ff0c6e981 100644
--- a/source/xap/xpdf/lang/xpdf-japanese.diff
+++ b/source/xap/xpdf/lang/xpdf-japanese.diff
@@ -1,57 +1,55 @@
---- ./add-to-xpdfrc.orig 2008-03-02 01:31:08.000000000 -0600
-+++ ./add-to-xpdfrc 2008-03-02 01:31:32.000000000 -0600
-@@ -1,9 +1,47 @@
- #----- begin Japanese support package (2004-jul-27)
+--- ./add-to-xpdfrc.orig 2013-03-29 14:49:00.000000000 +0900
++++ ./add-to-xpdfrc 2013-03-29 15:00:17.000000000 +0900
+@@ -1,9 +1,45 @@
+ #----- begin Japanese support package (2011-sep-02)
-cidToUnicode Adobe-Japan1 /usr/local/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
-unicodeMap ISO-2022-JP /usr/local/share/xpdf/japanese/ISO-2022-JP.unicodeMap
-unicodeMap EUC-JP /usr/local/share/xpdf/japanese/EUC-JP.unicodeMap
-unicodeMap Shift-JIS /usr/local/share/xpdf/japanese/Shift-JIS.unicodeMap
-cMapDir Adobe-Japan1 /usr/local/share/xpdf/japanese/CMap
-toUnicodeDir /usr/local/share/xpdf/japanese/CMap
--#displayCIDFontTT Adobe-Japan1 /usr/..../kochi-mincho.ttf
-+cidToUnicode Adobe-Japan1 /usr/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
-+unicodeMap ISO-2022-JP /usr/share/xpdf/japanese/ISO-2022-JP.unicodeMap
-+unicodeMap EUC-JP /usr/share/xpdf/japanese/EUC-JP.unicodeMap
-+unicodeMap Shift-JIS /usr/share/xpdf/japanese/Shift-JIS.unicodeMap
-+cMapDir Adobe-Japan1 /usr/share/xpdf/japanese/CMap
-+toUnicodeDir /usr/share/xpdf/japanese/CMap
-+
+-#fontFileCC Adobe-Japan1 /usr/..../kochi-mincho.ttf
++cidToUnicode Adobe-Japan1 /usr/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
++unicodeMap ISO-2022-JP /usr/share/xpdf/japanese/ISO-2022-JP.unicodeMap
++unicodeMap EUC-JP /usr/share/xpdf/japanese/EUC-JP.unicodeMap
++unicodeMap Shift-JIS /usr/share/xpdf/japanese/Shift-JIS.unicodeMap
++cMapDir Adobe-Japan1 /usr/share/xpdf/japanese/CMap
++toUnicodeDir /usr/share/xpdf/japanese/CMap
+### use Sazanami by default
-+displayCIDFontTT Adobe-Japan1 /usr/share/fonts/TTF/sazanami-mincho.ttf
++fontFileCC Adobe-Japan1 /usr/share/fonts/TTF/sazanami-mincho.ttf
+### use Sazanami (Sazanami Gothic) if gothic font is required
-+displayNamedCIDFontTT ShinGo-Bold /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT ShinGo-regular /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT MidashiGo-MB31 /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT FutoGoB101-Bold /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT HeiseiKakuGo-W5 /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT HeiseiKakuGo-W9 /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT HeiseiMaruGo-W4 /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT MS-Gothic /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT HG-GothicB /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT Kochi-Gothic /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT GothicBBB-Medium-H /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT GothicBBB-Medium /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT Ryumin-Light-H /usr/share/fonts/TTF/sazanami-mincho.ttf
-+displayNamedCIDFontTT Ryumin-Light /usr/share/fonts/TTF/sazanami-mincho.ttf
-+
++fontFileCC ShinGo-Bold /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC ShinGo-regular /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC MidashiGo-MB31 /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC FutoGoB101-Bold /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC HeiseiKakuGo-W5 /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC HeiseiKakuGo-W9 /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC HeiseiMaruGo-W4 /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC MS-Gothic /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC HG-GothicB /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC Kochi-Gothic /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC GothicBBB-Medium-H /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC GothicBBB-Medium /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC Ryumin-Light-H /usr/share/fonts/TTF/sazanami-mincho.ttf
++fontFileCC Ryumin-Light /usr/share/fonts/TTF/sazanami-mincho.ttf
+### make default font name to "Ryumin-Light" when converted to PostScript
-+psFont16 Adobe-Japan1 H Ryumin-Light-H ISO-2022-JP
-+psFont16 Adobe-Japan1 V Ryumin-Light-V ISO-2022-JP
++psResidentFontCC Adobe-Japan1 H Ryumin-Light-H ISO-2022-JP
++psResidentFontCC Adobe-Japan1 V Ryumin-Light-V ISO-2022-JP
+# use "Gothic-BBB-Medium" if gothic font is required
-+psNamedFont16 MidashiGo-MB31 H GothicBBB-Medium-H ISO-2022-JP
-+psNamedFont16 MidashiGo-MB31 V GothicBBB-Medium-V ISO-2022-JP
-+psNamedFont16 FutoGoB101-Bold H GothicBBB-Medium-H ISO-2022-JP
-+psNamedFont16 FutoGoB101-Bold V GothicBBB-Medium-V ISO-2022-JP
-+psNamedFont16 HeiseiKakuGo-W5 H GothicBBB-Medium-H ISO-2022-JP
-+psNamedFont16 HeiseiKakuGo-W5 V GothicBBB-Medium-V ISO-2022-JP
-+psNamedFont16 HeiseiKakuGo-W9 H GothicBBB-Medium-H ISO-2022-JP
-+psNamedFont16 HeiseiKakuGo-W9 V GothicBBB-Medium-V ISO-2022-JP
-+psNamedFont16 HeiseiMaruGo-W4 H GothicBBB-Medium-H ISO-2022-JP
-+psNamedFont16 HeiseiMaruGo-W4 V GothicBBB-Medium-V ISO-2022-JP
-+psNamedFont16 MS-Gothic H GothicBBB-Medium-H ISO-2022-JP
-+psNamedFont16 MS-Gothic V GothicBBB-Medium-V ISO-2022-JP
-+psNamedFont16 HG-GothicB H GothicBBB-Medium-H ISO-2022-JP
-+psNamedFont16 HG-GothicB V GothicBBB-Medium-V ISO-2022-JP
-+psNamedFont16 Kochi-Gothic H GothicBBB-Medium-H ISO-2022-JP
-+psNamedFont16 Kochi-Gothic V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 MidashiGo-MB31 H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 MidashiGo-MB31 V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 FutoGoB101-Bold H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 FutoGoB101-Bold V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 HeiseiKakuGo-W5 H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 HeiseiKakuGo-W5 V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 HeiseiKakuGo-W9 H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 HeiseiKakuGo-W9 V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 HeiseiMaruGo-W4 H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 HeiseiMaruGo-W4 V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 MS-Gothic H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 MS-Gothic V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 HG-GothicB H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 HG-GothicB V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 Kochi-Gothic H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 Kochi-Gothic V GothicBBB-Medium-V ISO-2022-JP
#----- end Japanese support package
diff --git a/source/xap/xpdf/lang/xpdf-korean.diff b/source/xap/xpdf/lang/xpdf-korean.diff
index 632fc2145..531ad6292 100644
--- a/source/xap/xpdf/lang/xpdf-korean.diff
+++ b/source/xap/xpdf/lang/xpdf-korean.diff
@@ -1,7 +1,7 @@
---- ./add-to-xpdfrc.orig 2005-07-07 13:05:05.000000000 -0500
-+++ ./add-to-xpdfrc 2008-03-02 01:33:52.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-09-02 17:24:45.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.119417269 -0500
@@ -1,8 +1,8 @@
- #----- begin Korean support package (2005-jul-07)
+ #----- begin Korean support package (2011-sep-02)
-cidToUnicode Adobe-Korea1 /usr/local/share/xpdf/korean/Adobe-Korea1.cidToUnicode
-unicodeMap ISO-2022-KR /usr/local/share/xpdf/korean/ISO-2022-KR.unicodeMap
-cMapDir Adobe-Korea1 /usr/local/share/xpdf/korean/CMap
@@ -10,6 +10,6 @@
+unicodeMap ISO-2022-KR /usr/share/xpdf/korean/ISO-2022-KR.unicodeMap
+cMapDir Adobe-Korea1 /usr/share/xpdf/korean/CMap
+toUnicodeDir /usr/share/xpdf/korean/CMap
- #displayCIDFontTT Adobe-Korea1 /usr/..../batang.ttf"
- #displayCIDFontTT Unidocs-Korea1 /usr/..../batang.ttf"
+ #fontFileCC Adobe-Korea1 /usr/..../batang.ttf"
+ #fontFileCC Unidocs-Korea1 /usr/..../batang.ttf"
#----- end Korean support package
diff --git a/source/xap/xpdf/lang/xpdf-latin2.diff b/source/xap/xpdf/lang/xpdf-latin2.diff
index 88ce2444e..cf88fa023 100644
--- a/source/xap/xpdf/lang/xpdf-latin2.diff
+++ b/source/xap/xpdf/lang/xpdf-latin2.diff
@@ -1,7 +1,7 @@
---- ./add-to-xpdfrc.orig 2002-11-03 17:49:15.000000000 -0600
-+++ ./add-to-xpdfrc 2008-03-02 01:35:51.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.120417269 -0500
@@ -1,3 +1,3 @@
- #----- begin Latin2 support package (2002-oct-22)
+ #----- begin Latin2 support package (2011-aug-15)
-unicodeMap Latin2 /usr/local/share/xpdf/latin2/Latin2.unicodeMap
+unicodeMap Latin2 /usr/share/xpdf/latin2/Latin2.unicodeMap
#----- end Latin2 support package
diff --git a/source/xap/xpdf/lang/xpdf-thai.diff b/source/xap/xpdf/lang/xpdf-thai.diff
index 75b9b1a28..30c480efb 100644
--- a/source/xap/xpdf/lang/xpdf-thai.diff
+++ b/source/xap/xpdf/lang/xpdf-thai.diff
@@ -1,7 +1,7 @@
---- ./add-to-xpdfrc.orig 2002-11-03 17:49:15.000000000 -0600
-+++ ./add-to-xpdfrc 2008-03-02 01:36:36.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.121417269 -0500
@@ -1,4 +1,4 @@
- #----- begin Thai support package (2002-jan-16)
+ #----- begin Thai support package (2011-aug-15)
-nameToUnicode /usr/local/share/xpdf/thai/Thai.nameToUnicode
-unicodeMap TIS-620 /usr/local/share/xpdf/thai/TIS-620.unicodeMap
+nameToUnicode /usr/share/xpdf/thai/Thai.nameToUnicode
diff --git a/source/xap/xpdf/lang/xpdf-turkish.diff b/source/xap/xpdf/lang/xpdf-turkish.diff
index ec7fe79f0..81a79cff7 100644
--- a/source/xap/xpdf/lang/xpdf-turkish.diff
+++ b/source/xap/xpdf/lang/xpdf-turkish.diff
@@ -1,7 +1,7 @@
---- ./add-to-xpdfrc.orig 2002-11-03 17:49:15.000000000 -0600
-+++ ./add-to-xpdfrc 2008-03-02 01:37:33.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.122417269 -0500
@@ -1,3 +1,3 @@
- #----- begin Turkish support package (2002-apr-10)
+ #----- begin Turkish support package (2011-aug-15)
-unicodeMap ISO-8859-9 /usr/local/share/xpdf/turkish/ISO-8859-9.unicodeMap
+unicodeMap ISO-8859-9 /usr/share/xpdf/turkish/ISO-8859-9.unicodeMap
#----- end Turkish support package
diff --git a/source/xap/xpdf/patches/03-float.patch b/source/xap/xpdf/patches/03-float.patch
deleted file mode 100644
index 208c765ad..000000000
--- a/source/xap/xpdf/patches/03-float.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-description: fix a floating point quirk that is exposed by gcc 4.4
- (this was leading to slow pdf document scrolling on i386)
-author: Michael Gilbert <michael.s.gilbert@gmail.com>
-bug-debian: http://bugs.debian.org/577031
---- xpdf-3.02.orig/xpdf/PDFCore.h
-+++ xpdf-3.02/xpdf/PDFCore.h
-@@ -40,6 +40,7 @@ class PDFCore;
- #define zoomPage -1
- #define zoomWidth -2
- #define defZoom 125
-+#define EPSILON 1.0e-7 // 32-bit floating point machine precision
-
- //------------------------------------------------------------------------
-
---- xpdf-3.02.orig/xpdf/PDFCore.cc
-+++ xpdf-3.02/xpdf/PDFCore.cc
-@@ -445,7 +445,7 @@ void PDFCore::update(int topPageA, int s
- // object
- if (force || pages->getLength() == 0 ||
- (!continuousMode && topPageA != topPage) ||
-- zoomA != zoom || dpiA != dpi || rotateA != rotate) {
-+ zoomA != zoom || fabs( dpiA - dpi ) > EPSILON || rotateA != rotate) {
- needUpdate = gTrue;
- setSelection(0, 0, 0, 0, 0);
- while (pages->getLength() > 0) {
diff --git a/source/xap/xpdf/patches/xpdf-3.02pl1.patch b/source/xap/xpdf/patches/xpdf-3.02pl1.patch
deleted file mode 100644
index cd42fb962..000000000
--- a/source/xap/xpdf/patches/xpdf-3.02pl1.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-*** xpdf-3.02.orig/xpdf/Stream.cc Tue Feb 27 14:05:52 2007
---- xpdf-3.02/xpdf/Stream.cc Thu Jul 26 14:44:43 2007
-***************
-*** 410,424 ****
- ok = gFalse;
-
- nVals = width * nComps;
-- if (width <= 0 || nComps <= 0 || nBits <= 0 ||
-- nComps >= INT_MAX / nBits ||
-- width >= INT_MAX / nComps / nBits ||
-- nVals * nBits + 7 < 0) {
-- return;
-- }
- pixBytes = (nComps * nBits + 7) >> 3;
- rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes;
-! if (rowBytes <= 0) {
- return;
- }
- predLine = (Guchar *)gmalloc(rowBytes);
---- 410,422 ----
- ok = gFalse;
-
- nVals = width * nComps;
- pixBytes = (nComps * nBits + 7) >> 3;
- rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes;
-! if (width <= 0 || nComps <= 0 || nBits <= 0 ||
-! nComps > gfxColorMaxComps ||
-! nBits > 16 ||
-! width >= INT_MAX / nComps || // check for overflow in nVals
-! nVals >= (INT_MAX - 7) / nBits) { // check for overflow in rowBytes
- return;
- }
- predLine = (Guchar *)gmalloc(rowBytes);
diff --git a/source/xap/xpdf/patches/xpdf-3.02pl2.patch b/source/xap/xpdf/patches/xpdf-3.02pl2.patch
deleted file mode 100644
index ab9e3c671..000000000
--- a/source/xap/xpdf/patches/xpdf-3.02pl2.patch
+++ /dev/null
@@ -1,823 +0,0 @@
-diff -c -r xpdf-3.02pl1.orig/xpdf/Stream.cc xpdf-3.02/xpdf/Stream.cc
-*** xpdf-3.02pl1.orig/xpdf/Stream.cc Thu Oct 25 15:47:38 2007
---- xpdf-3.02/xpdf/Stream.cc Thu Oct 25 15:48:19 2007
-***************
-*** 1243,1265 ****
- columns = columnsA;
- if (columns < 1) {
- columns = 1;
-! }
-! if (columns + 4 <= 0) {
-! columns = INT_MAX - 4;
- }
- rows = rowsA;
- endOfBlock = endOfBlockA;
- black = blackA;
-! refLine = (short *)gmallocn(columns + 3, sizeof(short));
-! codingLine = (short *)gmallocn(columns + 2, sizeof(short));
-
- eof = gFalse;
- row = 0;
- nextLine2D = encoding < 0;
- inputBits = 0;
-! codingLine[0] = 0;
-! codingLine[1] = refLine[2] = columns;
-! a0 = 1;
-
- buf = EOF;
- }
---- 1243,1268 ----
- columns = columnsA;
- if (columns < 1) {
- columns = 1;
-! } else if (columns > INT_MAX - 2) {
-! columns = INT_MAX - 2;
- }
- rows = rowsA;
- endOfBlock = endOfBlockA;
- black = blackA;
-! // 0 <= codingLine[0] < codingLine[1] < ... < codingLine[n] = columns
-! // ---> max codingLine size = columns + 1
-! // refLine has one extra guard entry at the end
-! // ---> max refLine size = columns + 2
-! codingLine = (int *)gmallocn(columns + 1, sizeof(int));
-! refLine = (int *)gmallocn(columns + 2, sizeof(int));
-
- eof = gFalse;
- row = 0;
- nextLine2D = encoding < 0;
- inputBits = 0;
-! codingLine[0] = columns;
-! a0i = 0;
-! outputBits = 0;
-
- buf = EOF;
- }
-***************
-*** 1278,1286 ****
- row = 0;
- nextLine2D = encoding < 0;
- inputBits = 0;
-! codingLine[0] = 0;
-! codingLine[1] = columns;
-! a0 = 1;
- buf = EOF;
-
- // skip any initial zero bits and end-of-line marker, and get the 2D
---- 1281,1289 ----
- row = 0;
- nextLine2D = encoding < 0;
- inputBits = 0;
-! codingLine[0] = columns;
-! a0i = 0;
-! outputBits = 0;
- buf = EOF;
-
- // skip any initial zero bits and end-of-line marker, and get the 2D
-***************
-*** 1297,1507 ****
- }
- }
-
- int CCITTFaxStream::lookChar() {
- short code1, code2, code3;
-! int a0New;
-! GBool err, gotEOL;
-! int ret;
-! int bits, i;
-
-! // if at eof just return EOF
-! if (eof && codingLine[a0] >= columns) {
-! return EOF;
- }
-
- // read the next row
-! err = gFalse;
-! if (codingLine[a0] >= columns) {
-
- // 2-D encoding
- if (nextLine2D) {
-- // state:
-- // a0New = current position in coding line (0 <= a0New <= columns)
-- // codingLine[a0] = last change in coding line
-- // (black-to-white if a0 is even,
-- // white-to-black if a0 is odd)
-- // refLine[b1] = next change in reference line of opposite color
-- // to a0
-- // invariants:
-- // 0 <= codingLine[a0] <= a0New
-- // <= refLine[b1] <= refLine[b1+1] <= columns
-- // 0 <= a0 <= columns+1
-- // refLine[0] = 0
-- // refLine[n] = refLine[n+1] = columns
-- // -- for some 1 <= n <= columns+1
-- // end condition:
-- // 0 = codingLine[0] <= codingLine[1] < codingLine[2] < ...
-- // < codingLine[n-1] < codingLine[n] = columns
-- // -- where 1 <= n <= columns+1
- for (i = 0; codingLine[i] < columns; ++i) {
- refLine[i] = codingLine[i];
- }
-! refLine[i] = refLine[i + 1] = columns;
-! b1 = 1;
-! a0New = codingLine[a0 = 0] = 0;
-! do {
- code1 = getTwoDimCode();
- switch (code1) {
- case twoDimPass:
-! if (refLine[b1] < columns) {
-! a0New = refLine[b1 + 1];
-! b1 += 2;
- }
- break;
- case twoDimHoriz:
-! if ((a0 & 1) == 0) {
-! code1 = code2 = 0;
- do {
-! code1 += code3 = getWhiteCode();
- } while (code3 >= 64);
- do {
-! code2 += code3 = getBlackCode();
- } while (code3 >= 64);
- } else {
-- code1 = code2 = 0;
- do {
-! code1 += code3 = getBlackCode();
- } while (code3 >= 64);
- do {
-! code2 += code3 = getWhiteCode();
- } while (code3 >= 64);
- }
-! if (code1 > 0 || code2 > 0) {
-! if (a0New + code1 <= columns) {
-! codingLine[a0 + 1] = a0New + code1;
-! } else {
-! codingLine[a0 + 1] = columns;
-! }
-! ++a0;
-! if (codingLine[a0] + code2 <= columns) {
-! codingLine[a0 + 1] = codingLine[a0] + code2;
-! } else {
-! codingLine[a0 + 1] = columns;
-! }
-! ++a0;
-! a0New = codingLine[a0];
-! while (refLine[b1] <= a0New && refLine[b1] < columns) {
-! b1 += 2;
- }
- }
- break;
-! case twoDimVert0:
-! if (refLine[b1] < columns) {
-! a0New = codingLine[++a0] = refLine[b1];
-! ++b1;
-! while (refLine[b1] <= a0New && refLine[b1] < columns) {
-! b1 += 2;
- }
-- } else {
-- a0New = codingLine[++a0] = columns;
- }
- break;
- case twoDimVertR1:
-! if (refLine[b1] + 1 < columns) {
-! a0New = codingLine[++a0] = refLine[b1] + 1;
-! ++b1;
-! while (refLine[b1] <= a0New && refLine[b1] < columns) {
-! b1 += 2;
- }
-- } else {
-- a0New = codingLine[++a0] = columns;
- }
- break;
-! case twoDimVertL1:
-! if (refLine[b1] - 1 > a0New || (a0 == 0 && refLine[b1] == 1)) {
-! a0New = codingLine[++a0] = refLine[b1] - 1;
-! --b1;
-! while (refLine[b1] <= a0New && refLine[b1] < columns) {
-! b1 += 2;
- }
- }
- break;
-! case twoDimVertR2:
-! if (refLine[b1] + 2 < columns) {
-! a0New = codingLine[++a0] = refLine[b1] + 2;
-! ++b1;
-! while (refLine[b1] <= a0New && refLine[b1] < columns) {
-! b1 += 2;
- }
-- } else {
-- a0New = codingLine[++a0] = columns;
- }
- break;
- case twoDimVertL2:
-! if (refLine[b1] - 2 > a0New || (a0 == 0 && refLine[b1] == 2)) {
-! a0New = codingLine[++a0] = refLine[b1] - 2;
-! --b1;
-! while (refLine[b1] <= a0New && refLine[b1] < columns) {
-! b1 += 2;
- }
-! }
-! break;
-! case twoDimVertR3:
-! if (refLine[b1] + 3 < columns) {
-! a0New = codingLine[++a0] = refLine[b1] + 3;
-! ++b1;
-! while (refLine[b1] <= a0New && refLine[b1] < columns) {
-! b1 += 2;
- }
-- } else {
-- a0New = codingLine[++a0] = columns;
- }
- break;
-! case twoDimVertL3:
-! if (refLine[b1] - 3 > a0New || (a0 == 0 && refLine[b1] == 3)) {
-! a0New = codingLine[++a0] = refLine[b1] - 3;
-! --b1;
-! while (refLine[b1] <= a0New && refLine[b1] < columns) {
-! b1 += 2;
- }
- }
- break;
- case EOF:
- eof = gTrue;
-! codingLine[a0 = 0] = columns;
-! return EOF;
- default:
- error(getPos(), "Bad 2D code %04x in CCITTFax stream", code1);
- err = gTrue;
- break;
- }
-! } while (codingLine[a0] < columns);
-
- // 1-D encoding
- } else {
-! codingLine[a0 = 0] = 0;
-! while (1) {
- code1 = 0;
-! do {
-! code1 += code3 = getWhiteCode();
-! } while (code3 >= 64);
-! codingLine[a0+1] = codingLine[a0] + code1;
-! ++a0;
-! if (codingLine[a0] >= columns) {
-! break;
-! }
-! code2 = 0;
-! do {
-! code2 += code3 = getBlackCode();
-! } while (code3 >= 64);
-! codingLine[a0+1] = codingLine[a0] + code2;
-! ++a0;
-! if (codingLine[a0] >= columns) {
-! break;
- }
- }
- }
-
-- if (codingLine[a0] != columns) {
-- error(getPos(), "CCITTFax row is wrong length (%d)", codingLine[a0]);
-- // force the row to be the correct length
-- while (codingLine[a0] > columns) {
-- --a0;
-- }
-- codingLine[++a0] = columns;
-- err = gTrue;
-- }
--
- // byte-align the row
- if (byteAlign) {
- inputBits &= ~7;
---- 1300,1529 ----
- }
- }
-
-+ inline void CCITTFaxStream::addPixels(int a1, int blackPixels) {
-+ if (a1 > codingLine[a0i]) {
-+ if (a1 > columns) {
-+ error(getPos(), "CCITTFax row is wrong length (%d)", a1);
-+ err = gTrue;
-+ a1 = columns;
-+ }
-+ if ((a0i & 1) ^ blackPixels) {
-+ ++a0i;
-+ }
-+ codingLine[a0i] = a1;
-+ }
-+ }
-+
-+ inline void CCITTFaxStream::addPixelsNeg(int a1, int blackPixels) {
-+ if (a1 > codingLine[a0i]) {
-+ if (a1 > columns) {
-+ error(getPos(), "CCITTFax row is wrong length (%d)", a1);
-+ err = gTrue;
-+ a1 = columns;
-+ }
-+ if ((a0i & 1) ^ blackPixels) {
-+ ++a0i;
-+ }
-+ codingLine[a0i] = a1;
-+ } else if (a1 < codingLine[a0i]) {
-+ if (a1 < 0) {
-+ error(getPos(), "Invalid CCITTFax code");
-+ err = gTrue;
-+ a1 = 0;
-+ }
-+ while (a0i > 0 && a1 <= codingLine[a0i - 1]) {
-+ --a0i;
-+ }
-+ codingLine[a0i] = a1;
-+ }
-+ }
-+
- int CCITTFaxStream::lookChar() {
- short code1, code2, code3;
-! int b1i, blackPixels, i, bits;
-! GBool gotEOL;
-
-! if (buf != EOF) {
-! return buf;
- }
-
- // read the next row
-! if (outputBits == 0) {
-!
-! // if at eof just return EOF
-! if (eof) {
-! return EOF;
-! }
-!
-! err = gFalse;
-
- // 2-D encoding
- if (nextLine2D) {
- for (i = 0; codingLine[i] < columns; ++i) {
- refLine[i] = codingLine[i];
- }
-! refLine[i++] = columns;
-! refLine[i] = columns;
-! codingLine[0] = 0;
-! a0i = 0;
-! b1i = 0;
-! blackPixels = 0;
-! // invariant:
-! // refLine[b1i-1] <= codingLine[a0i] < refLine[b1i] < refLine[b1i+1]
-! // <= columns
-! // exception at left edge:
-! // codingLine[a0i = 0] = refLine[b1i = 0] = 0 is possible
-! // exception at right edge:
-! // refLine[b1i] = refLine[b1i+1] = columns is possible
-! while (codingLine[a0i] < columns) {
- code1 = getTwoDimCode();
- switch (code1) {
- case twoDimPass:
-! addPixels(refLine[b1i + 1], blackPixels);
-! if (refLine[b1i + 1] < columns) {
-! b1i += 2;
- }
- break;
- case twoDimHoriz:
-! code1 = code2 = 0;
-! if (blackPixels) {
- do {
-! code1 += code3 = getBlackCode();
- } while (code3 >= 64);
- do {
-! code2 += code3 = getWhiteCode();
- } while (code3 >= 64);
- } else {
- do {
-! code1 += code3 = getWhiteCode();
- } while (code3 >= 64);
- do {
-! code2 += code3 = getBlackCode();
- } while (code3 >= 64);
- }
-! addPixels(codingLine[a0i] + code1, blackPixels);
-! if (codingLine[a0i] < columns) {
-! addPixels(codingLine[a0i] + code2, blackPixels ^ 1);
-! }
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-! b1i += 2;
-! }
-! break;
-! case twoDimVertR3:
-! addPixels(refLine[b1i] + 3, blackPixels);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < columns) {
-! ++b1i;
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-! b1i += 2;
- }
- }
- break;
-! case twoDimVertR2:
-! addPixels(refLine[b1i] + 2, blackPixels);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < columns) {
-! ++b1i;
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-! b1i += 2;
- }
- }
- break;
- case twoDimVertR1:
-! addPixels(refLine[b1i] + 1, blackPixels);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < columns) {
-! ++b1i;
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-! b1i += 2;
- }
- }
- break;
-! case twoDimVert0:
-! addPixels(refLine[b1i], blackPixels);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < columns) {
-! ++b1i;
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-! b1i += 2;
- }
- }
- break;
-! case twoDimVertL3:
-! addPixelsNeg(refLine[b1i] - 3, blackPixels);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < columns) {
-! if (b1i > 0) {
-! --b1i;
-! } else {
-! ++b1i;
-! }
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-! b1i += 2;
- }
- }
- break;
- case twoDimVertL2:
-! addPixelsNeg(refLine[b1i] - 2, blackPixels);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < columns) {
-! if (b1i > 0) {
-! --b1i;
-! } else {
-! ++b1i;
- }
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-! b1i += 2;
- }
- }
- break;
-! case twoDimVertL1:
-! addPixelsNeg(refLine[b1i] - 1, blackPixels);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < columns) {
-! if (b1i > 0) {
-! --b1i;
-! } else {
-! ++b1i;
-! }
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-! b1i += 2;
- }
- }
- break;
- case EOF:
-+ addPixels(columns, 0);
- eof = gTrue;
-! break;
- default:
- error(getPos(), "Bad 2D code %04x in CCITTFax stream", code1);
-+ addPixels(columns, 0);
- err = gTrue;
- break;
- }
-! }
-
- // 1-D encoding
- } else {
-! codingLine[0] = 0;
-! a0i = 0;
-! blackPixels = 0;
-! while (codingLine[a0i] < columns) {
- code1 = 0;
-! if (blackPixels) {
-! do {
-! code1 += code3 = getBlackCode();
-! } while (code3 >= 64);
-! } else {
-! do {
-! code1 += code3 = getWhiteCode();
-! } while (code3 >= 64);
- }
-+ addPixels(codingLine[a0i] + code1, blackPixels);
-+ blackPixels ^= 1;
- }
- }
-
- // byte-align the row
- if (byteAlign) {
- inputBits &= ~7;
-***************
-*** 1560,1573 ****
- // this if we know the stream contains end-of-line markers because
- // the "just plow on" technique tends to work better otherwise
- } else if (err && endOfLine) {
-! do {
- if (code1 == EOF) {
- eof = gTrue;
- return EOF;
- }
- eatBits(1);
-! code1 = lookBits(13);
-! } while ((code1 >> 1) != 0x001);
- eatBits(12);
- if (encoding > 0) {
- eatBits(1);
---- 1582,1598 ----
- // this if we know the stream contains end-of-line markers because
- // the "just plow on" technique tends to work better otherwise
- } else if (err && endOfLine) {
-! while (1) {
-! code1 = lookBits(13);
- if (code1 == EOF) {
- eof = gTrue;
- return EOF;
- }
-+ if ((code1 >> 1) == 0x001) {
-+ break;
-+ }
- eatBits(1);
-! }
- eatBits(12);
- if (encoding > 0) {
- eatBits(1);
-***************
-*** 1575,1585 ****
- }
- }
-
-! a0 = 0;
-! outputBits = codingLine[1] - codingLine[0];
-! if (outputBits == 0) {
-! a0 = 1;
-! outputBits = codingLine[2] - codingLine[1];
- }
-
- ++row;
---- 1600,1610 ----
- }
- }
-
-! // set up for output
-! if (codingLine[0] > 0) {
-! outputBits = codingLine[a0i = 0];
-! } else {
-! outputBits = codingLine[a0i = 1];
- }
-
- ++row;
-***************
-*** 1587,1625 ****
-
- // get a byte
- if (outputBits >= 8) {
-! ret = ((a0 & 1) == 0) ? 0xff : 0x00;
-! if ((outputBits -= 8) == 0) {
-! ++a0;
-! if (codingLine[a0] < columns) {
-! outputBits = codingLine[a0 + 1] - codingLine[a0];
-! }
- }
- } else {
- bits = 8;
-! ret = 0;
- do {
- if (outputBits > bits) {
-! i = bits;
-! bits = 0;
-! if ((a0 & 1) == 0) {
-! ret |= 0xff >> (8 - i);
- }
-! outputBits -= i;
- } else {
-! i = outputBits;
-! bits -= outputBits;
-! if ((a0 & 1) == 0) {
-! ret |= (0xff >> (8 - i)) << bits;
- }
- outputBits = 0;
-! ++a0;
-! if (codingLine[a0] < columns) {
-! outputBits = codingLine[a0 + 1] - codingLine[a0];
- }
- }
-! } while (bits > 0 && codingLine[a0] < columns);
- }
-- buf = black ? (ret ^ 0xff) : ret;
- return buf;
- }
-
---- 1612,1654 ----
-
- // get a byte
- if (outputBits >= 8) {
-! buf = (a0i & 1) ? 0x00 : 0xff;
-! outputBits -= 8;
-! if (outputBits == 0 && codingLine[a0i] < columns) {
-! ++a0i;
-! outputBits = codingLine[a0i] - codingLine[a0i - 1];
- }
- } else {
- bits = 8;
-! buf = 0;
- do {
- if (outputBits > bits) {
-! buf <<= bits;
-! if (!(a0i & 1)) {
-! buf |= 0xff >> (8 - bits);
- }
-! outputBits -= bits;
-! bits = 0;
- } else {
-! buf <<= outputBits;
-! if (!(a0i & 1)) {
-! buf |= 0xff >> (8 - outputBits);
- }
-+ bits -= outputBits;
- outputBits = 0;
-! if (codingLine[a0i] < columns) {
-! ++a0i;
-! outputBits = codingLine[a0i] - codingLine[a0i - 1];
-! } else if (bits > 0) {
-! buf <<= bits;
-! bits = 0;
- }
- }
-! } while (bits);
-! }
-! if (black) {
-! buf ^= 0xff;
- }
- return buf;
- }
-
-***************
-*** 1661,1666 ****
---- 1690,1698 ----
- code = 0; // make gcc happy
- if (endOfBlock) {
- code = lookBits(12);
-+ if (code == EOF) {
-+ return 1;
-+ }
- if ((code >> 5) == 0) {
- p = &whiteTab1[code];
- } else {
-***************
-*** 1673,1678 ****
---- 1705,1713 ----
- } else {
- for (n = 1; n <= 9; ++n) {
- code = lookBits(n);
-+ if (code == EOF) {
-+ return 1;
-+ }
- if (n < 9) {
- code <<= 9 - n;
- }
-***************
-*** 1684,1689 ****
---- 1719,1727 ----
- }
- for (n = 11; n <= 12; ++n) {
- code = lookBits(n);
-+ if (code == EOF) {
-+ return 1;
-+ }
- if (n < 12) {
- code <<= 12 - n;
- }
-***************
-*** 1709,1717 ****
- code = 0; // make gcc happy
- if (endOfBlock) {
- code = lookBits(13);
- if ((code >> 7) == 0) {
- p = &blackTab1[code];
-! } else if ((code >> 9) == 0) {
- p = &blackTab2[(code >> 1) - 64];
- } else {
- p = &blackTab3[code >> 7];
---- 1747,1758 ----
- code = 0; // make gcc happy
- if (endOfBlock) {
- code = lookBits(13);
-+ if (code == EOF) {
-+ return 1;
-+ }
- if ((code >> 7) == 0) {
- p = &blackTab1[code];
-! } else if ((code >> 9) == 0 && (code >> 7) != 0) {
- p = &blackTab2[(code >> 1) - 64];
- } else {
- p = &blackTab3[code >> 7];
-***************
-*** 1723,1728 ****
---- 1764,1772 ----
- } else {
- for (n = 2; n <= 6; ++n) {
- code = lookBits(n);
-+ if (code == EOF) {
-+ return 1;
-+ }
- if (n < 6) {
- code <<= 6 - n;
- }
-***************
-*** 1734,1739 ****
---- 1778,1786 ----
- }
- for (n = 7; n <= 12; ++n) {
- code = lookBits(n);
-+ if (code == EOF) {
-+ return 1;
-+ }
- if (n < 12) {
- code <<= 12 - n;
- }
-***************
-*** 1747,1752 ****
---- 1794,1802 ----
- }
- for (n = 10; n <= 13; ++n) {
- code = lookBits(n);
-+ if (code == EOF) {
-+ return 1;
-+ }
- if (n < 13) {
- code <<= 13 - n;
- }
-***************
-*** 1961,1966 ****
---- 2011,2022 ----
- // allocate a buffer for the whole image
- bufWidth = ((width + mcuWidth - 1) / mcuWidth) * mcuWidth;
- bufHeight = ((height + mcuHeight - 1) / mcuHeight) * mcuHeight;
-+ if (bufWidth <= 0 || bufHeight <= 0 ||
-+ bufWidth > INT_MAX / bufWidth / (int)sizeof(int)) {
-+ error(getPos(), "Invalid image size in DCT stream");
-+ y = height;
-+ return;
-+ }
- for (i = 0; i < numComps; ++i) {
- frameBuf[i] = (int *)gmallocn(bufWidth * bufHeight, sizeof(int));
- memset(frameBuf[i], 0, bufWidth * bufHeight * sizeof(int));
-***************
-*** 3036,3041 ****
---- 3092,3102 ----
- }
- scanInfo.firstCoeff = str->getChar();
- scanInfo.lastCoeff = str->getChar();
-+ if (scanInfo.firstCoeff < 0 || scanInfo.lastCoeff > 63 ||
-+ scanInfo.firstCoeff > scanInfo.lastCoeff) {
-+ error(getPos(), "Bad DCT coefficient numbers in scan info block");
-+ return gFalse;
-+ }
- c = str->getChar();
- scanInfo.ah = (c >> 4) & 0x0f;
- scanInfo.al = c & 0x0f;
-diff -c -r xpdf-3.02pl1.orig/xpdf/Stream.h xpdf-3.02/xpdf/Stream.h
-*** xpdf-3.02pl1.orig/xpdf/Stream.h Tue Feb 27 14:05:52 2007
---- xpdf-3.02/xpdf/Stream.h Thu Oct 25 15:48:15 2007
-***************
-*** 528,540 ****
- int row; // current row
- int inputBuf; // input buffer
- int inputBits; // number of bits in input buffer
-! short *refLine; // reference line changing elements
-! int b1; // index into refLine
-! short *codingLine; // coding line changing elements
-! int a0; // index into codingLine
- int outputBits; // remaining ouput bits
- int buf; // character buffer
-
- short getTwoDimCode();
- short getWhiteCode();
- short getBlackCode();
---- 528,542 ----
- int row; // current row
- int inputBuf; // input buffer
- int inputBits; // number of bits in input buffer
-! int *codingLine; // coding line changing elements
-! int *refLine; // reference line changing elements
-! int a0i; // index into codingLine
-! GBool err; // error on current line
- int outputBits; // remaining ouput bits
- int buf; // character buffer
-
-+ void addPixels(int a1, int black);
-+ void addPixelsNeg(int a1, int black);
- short getTwoDimCode();
- short getWhiteCode();
- short getBlackCode();
diff --git a/source/xap/xpdf/patches/xpdf-3.02pl3.patch b/source/xap/xpdf/patches/xpdf-3.02pl3.patch
deleted file mode 100644
index b5988805f..000000000
--- a/source/xap/xpdf/patches/xpdf-3.02pl3.patch
+++ /dev/null
@@ -1,1145 +0,0 @@
-diff -r -c xpdf-3.02.orig/goo/gmem.cc xpdf-3.02/goo/gmem.cc
-*** xpdf-3.02.orig/goo/gmem.cc Tue Feb 27 14:05:51 2007
---- xpdf-3.02/goo/gmem.cc Thu Mar 19 15:47:25 2009
-***************
-*** 55,61 ****
- void *data;
- unsigned long *trl, *p;
-
-! if (size <= 0) {
- return NULL;
- }
- size1 = gMemDataSize(size);
---- 55,69 ----
- void *data;
- unsigned long *trl, *p;
-
-! if (size < 0) {
-! #if USE_EXCEPTIONS
-! throw GMemException();
-! #else
-! fprintf(stderr, "Invalid memory allocation size\n");
-! exit(1);
-! #endif
-! }
-! if (size == 0) {
- return NULL;
- }
- size1 = gMemDataSize(size);
-***************
-*** 91,97 ****
- #else
- void *p;
-
-! if (size <= 0) {
- return NULL;
- }
- if (!(p = malloc(size))) {
---- 99,113 ----
- #else
- void *p;
-
-! if (size < 0) {
-! #if USE_EXCEPTIONS
-! throw GMemException();
-! #else
-! fprintf(stderr, "Invalid memory allocation size\n");
-! exit(1);
-! #endif
-! }
-! if (size == 0) {
- return NULL;
- }
- if (!(p = malloc(size))) {
-***************
-*** 112,118 ****
- void *q;
- int oldSize;
-
-! if (size <= 0) {
- if (p) {
- gfree(p);
- }
---- 128,142 ----
- void *q;
- int oldSize;
-
-! if (size < 0) {
-! #if USE_EXCEPTIONS
-! throw GMemException();
-! #else
-! fprintf(stderr, "Invalid memory allocation size\n");
-! exit(1);
-! #endif
-! }
-! if (size == 0) {
- if (p) {
- gfree(p);
- }
-***************
-*** 131,137 ****
- #else
- void *q;
-
-! if (size <= 0) {
- if (p) {
- free(p);
- }
---- 155,169 ----
- #else
- void *q;
-
-! if (size < 0) {
-! #if USE_EXCEPTIONS
-! throw GMemException();
-! #else
-! fprintf(stderr, "Invalid memory allocation size\n");
-! exit(1);
-! #endif
-! }
-! if (size == 0) {
- if (p) {
- free(p);
- }
-diff -r -c xpdf-3.02.orig/xpdf/JBIG2Stream.cc xpdf-3.02/xpdf/JBIG2Stream.cc
-*** xpdf-3.02.orig/xpdf/JBIG2Stream.cc Tue Feb 27 14:05:52 2007
---- xpdf-3.02/xpdf/JBIG2Stream.cc Tue Mar 31 10:55:23 2009
-***************
-*** 422,433 ****
- table[i] = table[len];
-
- // assign prefixes
-! i = 0;
-! prefix = 0;
-! table[i++].prefix = prefix++;
-! for (; table[i].rangeLen != jbig2HuffmanEOT; ++i) {
-! prefix <<= table[i].prefixLen - table[i-1].prefixLen;
-! table[i].prefix = prefix++;
- }
- }
-
---- 422,435 ----
- table[i] = table[len];
-
- // assign prefixes
-! if (table[0].rangeLen != jbig2HuffmanEOT) {
-! i = 0;
-! prefix = 0;
-! table[i++].prefix = prefix++;
-! for (; table[i].rangeLen != jbig2HuffmanEOT; ++i) {
-! prefix <<= table[i].prefixLen - table[i-1].prefixLen;
-! table[i].prefix = prefix++;
-! }
- }
- }
-
-***************
-*** 491,497 ****
- }
- if (p->bits < 0) {
- error(str->getPos(), "Bad two dim code in JBIG2 MMR stream");
-! return 0;
- }
- bufLen -= p->bits;
- return p->n;
---- 493,499 ----
- }
- if (p->bits < 0) {
- error(str->getPos(), "Bad two dim code in JBIG2 MMR stream");
-! return EOF;
- }
- bufLen -= p->bits;
- return p->n;
-***************
-*** 507,513 ****
- ++nBytesRead;
- }
- while (1) {
-! if (bufLen >= 7 && ((buf >> (bufLen - 7)) & 0x7f) == 0) {
- if (bufLen <= 12) {
- code = buf << (12 - bufLen);
- } else {
---- 509,515 ----
- ++nBytesRead;
- }
- while (1) {
-! if (bufLen >= 11 && ((buf >> (bufLen - 7)) & 0x7f) == 0) {
- if (bufLen <= 12) {
- code = buf << (12 - bufLen);
- } else {
-***************
-*** 550,563 ****
- ++nBytesRead;
- }
- while (1) {
-! if (bufLen >= 6 && ((buf >> (bufLen - 6)) & 0x3f) == 0) {
- if (bufLen <= 13) {
- code = buf << (13 - bufLen);
- } else {
- code = buf >> (bufLen - 13);
- }
- p = &blackTab1[code & 0x7f];
-! } else if (bufLen >= 4 && ((buf >> (bufLen - 4)) & 0x0f) == 0) {
- if (bufLen <= 12) {
- code = buf << (12 - bufLen);
- } else {
---- 552,566 ----
- ++nBytesRead;
- }
- while (1) {
-! if (bufLen >= 10 && ((buf >> (bufLen - 6)) & 0x3f) == 0) {
- if (bufLen <= 13) {
- code = buf << (13 - bufLen);
- } else {
- code = buf >> (bufLen - 13);
- }
- p = &blackTab1[code & 0x7f];
-! } else if (bufLen >= 7 && ((buf >> (bufLen - 4)) & 0x0f) == 0 &&
-! ((buf >> (bufLen - 6)) & 0x03) != 0) {
- if (bufLen <= 12) {
- code = buf << (12 - bufLen);
- } else {
-***************
-*** 683,690 ****
- h = hA;
- line = (wA + 7) >> 3;
- if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
-! data = NULL;
-! return;
- }
- // need to allocate one extra guard byte for use in combine()
- data = (Guchar *)gmalloc(h * line + 1);
---- 686,694 ----
- h = hA;
- line = (wA + 7) >> 3;
- if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
-! // force a call to gmalloc(-1), which will throw an exception
-! h = -1;
-! line = 2;
- }
- // need to allocate one extra guard byte for use in combine()
- data = (Guchar *)gmalloc(h * line + 1);
-***************
-*** 698,705 ****
- h = bitmap->h;
- line = bitmap->line;
- if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
-! data = NULL;
-! return;
- }
- // need to allocate one extra guard byte for use in combine()
- data = (Guchar *)gmalloc(h * line + 1);
---- 702,710 ----
- h = bitmap->h;
- line = bitmap->line;
- if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
-! // force a call to gmalloc(-1), which will throw an exception
-! h = -1;
-! line = 2;
- }
- // need to allocate one extra guard byte for use in combine()
- data = (Guchar *)gmalloc(h * line + 1);
-***************
-*** 754,759 ****
---- 759,766 ----
- inline void JBIG2Bitmap::getPixelPtr(int x, int y, JBIG2BitmapPtr *ptr) {
- if (y < 0 || y >= h || x >= w) {
- ptr->p = NULL;
-+ ptr->shift = 0; // make gcc happy
-+ ptr->x = 0; // make gcc happy
- } else if (x < 0) {
- ptr->p = &data[y * line];
- ptr->shift = 7;
-***************
-*** 798,803 ****
---- 805,814 ----
- Guint src0, src1, src, dest, s1, s2, m1, m2, m3;
- GBool oneByte;
-
-+ // check for the pathological case where y = -2^31
-+ if (y < -0x7fffffff) {
-+ return;
-+ }
- if (y < 0) {
- y0 = -y;
- } else {
-***************
-*** 1011,1018 ****
---- 1022,1034 ----
- JBIG2SymbolDict::JBIG2SymbolDict(Guint segNumA, Guint sizeA):
- JBIG2Segment(segNumA)
- {
-+ Guint i;
-+
- size = sizeA;
- bitmaps = (JBIG2Bitmap **)gmallocn(size, sizeof(JBIG2Bitmap *));
-+ for (i = 0; i < size; ++i) {
-+ bitmaps[i] = NULL;
-+ }
- genericRegionStats = NULL;
- refinementRegionStats = NULL;
- }
-***************
-*** 1021,1027 ****
- Guint i;
-
- for (i = 0; i < size; ++i) {
-! delete bitmaps[i];
- }
- gfree(bitmaps);
- if (genericRegionStats) {
---- 1037,1045 ----
- Guint i;
-
- for (i = 0; i < size; ++i) {
-! if (bitmaps[i]) {
-! delete bitmaps[i];
-! }
- }
- gfree(bitmaps);
- if (genericRegionStats) {
-***************
-*** 1296,1301 ****
---- 1314,1326 ----
- goto eofError2;
- }
-
-+ // check for missing page information segment
-+ if (!pageBitmap && ((segType >= 4 && segType <= 7) ||
-+ (segType >= 20 && segType <= 43))) {
-+ error(getPos(), "First JBIG2 segment associated with a page must be a page information segment");
-+ goto syntaxError;
-+ }
-+
- // read the segment data
- switch (segType) {
- case 0:
-***************
-*** 1411,1416 ****
---- 1436,1443 ----
- Guint i, j, k;
- Guchar *p;
-
-+ symWidths = NULL;
-+
- // symbol dictionary flags
- if (!readUWord(&flags)) {
- goto eofError;
-***************
-*** 1466,1485 ****
- codeTables = new GList();
- numInputSyms = 0;
- for (i = 0; i < nRefSegs; ++i) {
-! seg = findSegment(refSegs[i]);
-! if (seg->getType() == jbig2SegSymbolDict) {
-! numInputSyms += ((JBIG2SymbolDict *)seg)->getSize();
-! } else if (seg->getType() == jbig2SegCodeTable) {
-! codeTables->append(seg);
- }
- }
-
- // compute symbol code length
-! symCodeLen = 0;
-! i = 1;
-! while (i < numInputSyms + numNewSyms) {
- ++symCodeLen;
-! i <<= 1;
- }
-
- // get the input symbol bitmaps
---- 1493,1524 ----
- codeTables = new GList();
- numInputSyms = 0;
- for (i = 0; i < nRefSegs; ++i) {
-! if ((seg = findSegment(refSegs[i]))) {
-! if (seg->getType() == jbig2SegSymbolDict) {
-! j = ((JBIG2SymbolDict *)seg)->getSize();
-! if (numInputSyms > UINT_MAX - j) {
-! error(getPos(), "Too many input symbols in JBIG2 symbol dictionary");
-! delete codeTables;
-! goto eofError;
-! }
-! numInputSyms += j;
-! } else if (seg->getType() == jbig2SegCodeTable) {
-! codeTables->append(seg);
-! }
- }
- }
-+ if (numInputSyms > UINT_MAX - numNewSyms) {
-+ error(getPos(), "Too many input symbols in JBIG2 symbol dictionary");
-+ delete codeTables;
-+ goto eofError;
-+ }
-
- // compute symbol code length
-! symCodeLen = 1;
-! i = (numInputSyms + numNewSyms) >> 1;
-! while (i) {
- ++symCodeLen;
-! i >>= 1;
- }
-
- // get the input symbol bitmaps
-***************
-*** 1491,1501 ****
- k = 0;
- inputSymbolDict = NULL;
- for (i = 0; i < nRefSegs; ++i) {
-! seg = findSegment(refSegs[i]);
-! if (seg->getType() == jbig2SegSymbolDict) {
-! inputSymbolDict = (JBIG2SymbolDict *)seg;
-! for (j = 0; j < inputSymbolDict->getSize(); ++j) {
-! bitmaps[k++] = inputSymbolDict->getBitmap(j);
- }
- }
- }
---- 1530,1541 ----
- k = 0;
- inputSymbolDict = NULL;
- for (i = 0; i < nRefSegs; ++i) {
-! if ((seg = findSegment(refSegs[i]))) {
-! if (seg->getType() == jbig2SegSymbolDict) {
-! inputSymbolDict = (JBIG2SymbolDict *)seg;
-! for (j = 0; j < inputSymbolDict->getSize(); ++j) {
-! bitmaps[k++] = inputSymbolDict->getBitmap(j);
-! }
- }
- }
- }
-***************
-*** 1510,1515 ****
---- 1550,1558 ----
- } else if (huffDH == 1) {
- huffDHTable = huffTableE;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffDHTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffDW == 0) {
-***************
-*** 1517,1533 ****
---- 1560,1585 ----
- } else if (huffDW == 1) {
- huffDWTable = huffTableC;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffDWTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffBMSize == 0) {
- huffBMSizeTable = huffTableA;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffBMSizeTable =
- ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffAggInst == 0) {
- huffAggInstTable = huffTableA;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffAggInstTable =
- ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
-***************
-*** 1560,1566 ****
- }
-
- // allocate symbol widths storage
-- symWidths = NULL;
- if (huff && !refAgg) {
- symWidths = (Guint *)gmallocn(numNewSyms, sizeof(Guint));
- }
---- 1612,1617 ----
-***************
-*** 1602,1607 ****
---- 1653,1662 ----
- goto syntaxError;
- }
- symWidth += dw;
-+ if (i >= numNewSyms) {
-+ error(getPos(), "Too many symbols in JBIG2 symbol dictionary");
-+ goto syntaxError;
-+ }
-
- // using a collective bitmap, so don't read a bitmap here
- if (huff && !refAgg) {
-***************
-*** 1638,1643 ****
---- 1693,1702 ----
- arithDecoder->decodeInt(&refDX, iardxStats);
- arithDecoder->decodeInt(&refDY, iardyStats);
- }
-+ if (symID >= numInputSyms + i) {
-+ error(getPos(), "Invalid symbol ID in JBIG2 symbol dictionary");
-+ goto syntaxError;
-+ }
- refBitmap = bitmaps[symID];
- bitmaps[numInputSyms + i] =
- readGenericRefinementRegion(symWidth, symHeight,
-***************
-*** 1704,1709 ****
---- 1763,1774 ----
- } else {
- arithDecoder->decodeInt(&run, iaexStats);
- }
-+ if (i + run > numInputSyms + numNewSyms ||
-+ (ex && j + run > numExSyms)) {
-+ error(getPos(), "Too many exported symbols in JBIG2 symbol dictionary");
-+ delete symbolDict;
-+ goto syntaxError;
-+ }
- if (ex) {
- for (cnt = 0; cnt < run; ++cnt) {
- symbolDict->setBitmap(j++, bitmaps[i++]->copy());
-***************
-*** 1713,1718 ****
---- 1778,1788 ----
- }
- ex = !ex;
- }
-+ if (j != numExSyms) {
-+ error(getPos(), "Too few symbols in JBIG2 symbol dictionary");
-+ delete symbolDict;
-+ goto syntaxError;
-+ }
-
- for (i = 0; i < numNewSyms; ++i) {
- delete bitmaps[numInputSyms + i];
-***************
-*** 1735,1740 ****
---- 1805,1814 ----
-
- return gTrue;
-
-+ codeTableError:
-+ error(getPos(), "Missing code table in JBIG2 symbol dictionary");
-+ delete codeTables;
-+
- syntaxError:
- for (i = 0; i < numNewSyms; ++i) {
- if (bitmaps[numInputSyms + i]) {
-***************
-*** 1837,1842 ****
---- 1911,1918 ----
- }
- } else {
- error(getPos(), "Invalid segment reference in JBIG2 text region");
-+ delete codeTables;
-+ return;
- }
- }
- symCodeLen = 0;
-***************
-*** 1871,1876 ****
---- 1947,1955 ----
- } else if (huffFS == 1) {
- huffFSTable = huffTableG;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffFSTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffDS == 0) {
-***************
-*** 1880,1885 ****
---- 1959,1967 ----
- } else if (huffDS == 2) {
- huffDSTable = huffTableJ;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffDSTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffDT == 0) {
-***************
-*** 1889,1894 ****
---- 1971,1979 ----
- } else if (huffDT == 2) {
- huffDTTable = huffTableM;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffDTTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffRDW == 0) {
-***************
-*** 1896,1901 ****
---- 1981,1989 ----
- } else if (huffRDW == 1) {
- huffRDWTable = huffTableO;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffRDWTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffRDH == 0) {
-***************
-*** 1903,1908 ****
---- 1991,1999 ----
- } else if (huffRDH == 1) {
- huffRDHTable = huffTableO;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffRDHTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffRDX == 0) {
-***************
-*** 1910,1915 ****
---- 2001,2009 ----
- } else if (huffRDX == 1) {
- huffRDXTable = huffTableO;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffRDXTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffRDY == 0) {
-***************
-*** 1917,1927 ****
---- 2011,2027 ----
- } else if (huffRDY == 1) {
- huffRDYTable = huffTableO;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffRDYTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffRSize == 0) {
- huffRSizeTable = huffTableA;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffRSizeTable =
- ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
-***************
-*** 2016,2023 ****
---- 2116,2130 ----
-
- return;
-
-+ codeTableError:
-+ error(getPos(), "Missing code table in JBIG2 text region");
-+ gfree(codeTables);
-+ delete syms;
-+ return;
-+
- eofError:
- error(getPos(), "Unexpected EOF in JBIG2 stream");
-+ return;
- }
-
- JBIG2Bitmap *JBIG2Stream::readTextRegion(GBool huff, GBool refine,
-***************
-*** 2324,2331 ****
- error(getPos(), "Bad symbol dictionary reference in JBIG2 halftone segment");
- return;
- }
-! seg = findSegment(refSegs[0]);
-! if (seg->getType() != jbig2SegPatternDict) {
- error(getPos(), "Bad symbol dictionary reference in JBIG2 halftone segment");
- return;
- }
---- 2431,2438 ----
- error(getPos(), "Bad symbol dictionary reference in JBIG2 halftone segment");
- return;
- }
-! if (!(seg = findSegment(refSegs[0])) ||
-! seg->getType() != jbig2SegPatternDict) {
- error(getPos(), "Bad symbol dictionary reference in JBIG2 halftone segment");
- return;
- }
-***************
-*** 2483,2489 ****
-
- // read the bitmap
- bitmap = readGenericBitmap(mmr, w, h, templ, tpgdOn, gFalse,
-! NULL, atx, aty, mmr ? 0 : length - 18);
-
- // combine the region bitmap into the page bitmap
- if (imm) {
---- 2590,2596 ----
-
- // read the bitmap
- bitmap = readGenericBitmap(mmr, w, h, templ, tpgdOn, gFalse,
-! NULL, atx, aty, mmr ? length - 18 : 0);
-
- // combine the region bitmap into the page bitmap
- if (imm) {
-***************
-*** 2505,2510 ****
---- 2612,2654 ----
- error(getPos(), "Unexpected EOF in JBIG2 stream");
- }
-
-+ inline void JBIG2Stream::mmrAddPixels(int a1, int blackPixels,
-+ int *codingLine, int *a0i, int w) {
-+ if (a1 > codingLine[*a0i]) {
-+ if (a1 > w) {
-+ error(getPos(), "JBIG2 MMR row is wrong length ({0:d})", a1);
-+ a1 = w;
-+ }
-+ if ((*a0i & 1) ^ blackPixels) {
-+ ++*a0i;
-+ }
-+ codingLine[*a0i] = a1;
-+ }
-+ }
-+
-+ inline void JBIG2Stream::mmrAddPixelsNeg(int a1, int blackPixels,
-+ int *codingLine, int *a0i, int w) {
-+ if (a1 > codingLine[*a0i]) {
-+ if (a1 > w) {
-+ error(getPos(), "JBIG2 MMR row is wrong length ({0:d})", a1);
-+ a1 = w;
-+ }
-+ if ((*a0i & 1) ^ blackPixels) {
-+ ++*a0i;
-+ }
-+ codingLine[*a0i] = a1;
-+ } else if (a1 < codingLine[*a0i]) {
-+ if (a1 < 0) {
-+ error(getPos(), "Invalid JBIG2 MMR code");
-+ a1 = 0;
-+ }
-+ while (*a0i > 0 && a1 <= codingLine[*a0i - 1]) {
-+ --*a0i;
-+ }
-+ codingLine[*a0i] = a1;
-+ }
-+ }
-+
- JBIG2Bitmap *JBIG2Stream::readGenericBitmap(GBool mmr, int w, int h,
- int templ, GBool tpgdOn,
- GBool useSkip, JBIG2Bitmap *skip,
-***************
-*** 2517,2523 ****
- JBIG2BitmapPtr atPtr0, atPtr1, atPtr2, atPtr3;
- int *refLine, *codingLine;
- int code1, code2, code3;
-! int x, y, a0, pix, i, refI, codingI;
-
- bitmap = new JBIG2Bitmap(0, w, h);
- bitmap->clearToZero();
---- 2661,2667 ----
- JBIG2BitmapPtr atPtr0, atPtr1, atPtr2, atPtr3;
- int *refLine, *codingLine;
- int code1, code2, code3;
-! int x, y, a0i, b1i, blackPixels, pix, i;
-
- bitmap = new JBIG2Bitmap(0, w, h);
- bitmap->clearToZero();
-***************
-*** 2527,2535 ****
- if (mmr) {
-
- mmrDecoder->reset();
- refLine = (int *)gmallocn(w + 2, sizeof(int));
-! codingLine = (int *)gmallocn(w + 2, sizeof(int));
-! codingLine[0] = codingLine[1] = w;
-
- for (y = 0; y < h; ++y) {
-
---- 2671,2688 ----
- if (mmr) {
-
- mmrDecoder->reset();
-+ if (w > INT_MAX - 2) {
-+ error(getPos(), "Bad width in JBIG2 generic bitmap");
-+ // force a call to gmalloc(-1), which will throw an exception
-+ w = -3;
-+ }
-+ // 0 <= codingLine[0] < codingLine[1] < ... < codingLine[n] = w
-+ // ---> max codingLine size = w + 1
-+ // refLine has one extra guard entry at the end
-+ // ---> max refLine size = w + 2
-+ codingLine = (int *)gmallocn(w + 1, sizeof(int));
- refLine = (int *)gmallocn(w + 2, sizeof(int));
-! codingLine[0] = w;
-
- for (y = 0; y < h; ++y) {
-
-***************
-*** 2537,2664 ****
- for (i = 0; codingLine[i] < w; ++i) {
- refLine[i] = codingLine[i];
- }
-! refLine[i] = refLine[i + 1] = w;
-
- // decode a line
-! refI = 0; // b1 = refLine[refI]
-! codingI = 0; // a1 = codingLine[codingI]
-! a0 = 0;
-! do {
- code1 = mmrDecoder->get2DCode();
- switch (code1) {
- case twoDimPass:
-! if (refLine[refI] < w) {
-! a0 = refLine[refI + 1];
-! refI += 2;
-! }
-! break;
- case twoDimHoriz:
-! if (codingI & 1) {
-! code1 = 0;
-! do {
-! code1 += code3 = mmrDecoder->getBlackCode();
-! } while (code3 >= 64);
-! code2 = 0;
-! do {
-! code2 += code3 = mmrDecoder->getWhiteCode();
-! } while (code3 >= 64);
-! } else {
-! code1 = 0;
-! do {
-! code1 += code3 = mmrDecoder->getWhiteCode();
-! } while (code3 >= 64);
-! code2 = 0;
-! do {
-! code2 += code3 = mmrDecoder->getBlackCode();
-! } while (code3 >= 64);
-! }
-! if (code1 > 0 || code2 > 0) {
-! a0 = codingLine[codingI++] = a0 + code1;
-! a0 = codingLine[codingI++] = a0 + code2;
-! while (refLine[refI] <= a0 && refLine[refI] < w) {
-! refI += 2;
-! }
-! }
-! break;
-! case twoDimVert0:
-! a0 = codingLine[codingI++] = refLine[refI];
-! if (refLine[refI] < w) {
-! ++refI;
-! }
-! break;
-! case twoDimVertR1:
-! a0 = codingLine[codingI++] = refLine[refI] + 1;
-! if (refLine[refI] < w) {
-! ++refI;
-! while (refLine[refI] <= a0 && refLine[refI] < w) {
-! refI += 2;
-! }
-! }
-! break;
-! case twoDimVertR2:
-! a0 = codingLine[codingI++] = refLine[refI] + 2;
-! if (refLine[refI] < w) {
-! ++refI;
-! while (refLine[refI] <= a0 && refLine[refI] < w) {
-! refI += 2;
-! }
-! }
-! break;
- case twoDimVertR3:
-! a0 = codingLine[codingI++] = refLine[refI] + 3;
-! if (refLine[refI] < w) {
-! ++refI;
-! while (refLine[refI] <= a0 && refLine[refI] < w) {
-! refI += 2;
-! }
-! }
-! break;
-! case twoDimVertL1:
-! a0 = codingLine[codingI++] = refLine[refI] - 1;
-! if (refI > 0) {
-! --refI;
-! } else {
-! ++refI;
-! }
-! while (refLine[refI] <= a0 && refLine[refI] < w) {
-! refI += 2;
-! }
-! break;
-! case twoDimVertL2:
-! a0 = codingLine[codingI++] = refLine[refI] - 2;
-! if (refI > 0) {
-! --refI;
-! } else {
-! ++refI;
-! }
-! while (refLine[refI] <= a0 && refLine[refI] < w) {
-! refI += 2;
-! }
-! break;
- case twoDimVertL3:
-! a0 = codingLine[codingI++] = refLine[refI] - 3;
-! if (refI > 0) {
-! --refI;
-! } else {
-! ++refI;
-! }
-! while (refLine[refI] <= a0 && refLine[refI] < w) {
-! refI += 2;
-! }
-! break;
- default:
- error(getPos(), "Illegal code in JBIG2 MMR bitmap data");
- break;
- }
-! } while (a0 < w);
-! codingLine[codingI++] = w;
-
- // convert the run lengths to a bitmap line
- i = 0;
-! while (codingLine[i] < w) {
- for (x = codingLine[i]; x < codingLine[i+1]; ++x) {
- bitmap->setPixel(x, y);
- }
- i += 2;
- }
- }
---- 2690,2846 ----
- for (i = 0; codingLine[i] < w; ++i) {
- refLine[i] = codingLine[i];
- }
-! refLine[i++] = w;
-! refLine[i] = w;
-
- // decode a line
-! codingLine[0] = 0;
-! a0i = 0;
-! b1i = 0;
-! blackPixels = 0;
-! // invariant:
-! // refLine[b1i-1] <= codingLine[a0i] < refLine[b1i] < refLine[b1i+1] <= w
-! // exception at left edge:
-! // codingLine[a0i = 0] = refLine[b1i = 0] = 0 is possible
-! // exception at right edge:
-! // refLine[b1i] = refLine[b1i+1] = w is possible
-! while (codingLine[a0i] < w) {
- code1 = mmrDecoder->get2DCode();
- switch (code1) {
- case twoDimPass:
-! mmrAddPixels(refLine[b1i + 1], blackPixels, codingLine, &a0i, w);
-! if (refLine[b1i + 1] < w) {
-! b1i += 2;
-! }
-! break;
- case twoDimHoriz:
-! code1 = code2 = 0;
-! if (blackPixels) {
-! do {
-! code1 += code3 = mmrDecoder->getBlackCode();
-! } while (code3 >= 64);
-! do {
-! code2 += code3 = mmrDecoder->getWhiteCode();
-! } while (code3 >= 64);
-! } else {
-! do {
-! code1 += code3 = mmrDecoder->getWhiteCode();
-! } while (code3 >= 64);
-! do {
-! code2 += code3 = mmrDecoder->getBlackCode();
-! } while (code3 >= 64);
-! }
-! mmrAddPixels(codingLine[a0i] + code1, blackPixels,
-! codingLine, &a0i, w);
-! if (codingLine[a0i] < w) {
-! mmrAddPixels(codingLine[a0i] + code2, blackPixels ^ 1,
-! codingLine, &a0i, w);
-! }
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < w) {
-! b1i += 2;
-! }
-! break;
- case twoDimVertR3:
-! mmrAddPixels(refLine[b1i] + 3, blackPixels, codingLine, &a0i, w);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < w) {
-! ++b1i;
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < w) {
-! b1i += 2;
-! }
-! }
-! break;
-! case twoDimVertR2:
-! mmrAddPixels(refLine[b1i] + 2, blackPixels, codingLine, &a0i, w);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < w) {
-! ++b1i;
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < w) {
-! b1i += 2;
-! }
-! }
-! break;
-! case twoDimVertR1:
-! mmrAddPixels(refLine[b1i] + 1, blackPixels, codingLine, &a0i, w);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < w) {
-! ++b1i;
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < w) {
-! b1i += 2;
-! }
-! }
-! break;
-! case twoDimVert0:
-! mmrAddPixels(refLine[b1i], blackPixels, codingLine, &a0i, w);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < w) {
-! ++b1i;
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < w) {
-! b1i += 2;
-! }
-! }
-! break;
- case twoDimVertL3:
-! mmrAddPixelsNeg(refLine[b1i] - 3, blackPixels, codingLine, &a0i, w);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < w) {
-! if (b1i > 0) {
-! --b1i;
-! } else {
-! ++b1i;
-! }
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < w) {
-! b1i += 2;
-! }
-! }
-! break;
-! case twoDimVertL2:
-! mmrAddPixelsNeg(refLine[b1i] - 2, blackPixels, codingLine, &a0i, w);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < w) {
-! if (b1i > 0) {
-! --b1i;
-! } else {
-! ++b1i;
-! }
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < w) {
-! b1i += 2;
-! }
-! }
-! break;
-! case twoDimVertL1:
-! mmrAddPixelsNeg(refLine[b1i] - 1, blackPixels, codingLine, &a0i, w);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < w) {
-! if (b1i > 0) {
-! --b1i;
-! } else {
-! ++b1i;
-! }
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < w) {
-! b1i += 2;
-! }
-! }
-! break;
-! case EOF:
-! mmrAddPixels(w, 0, codingLine, &a0i, w);
-! break;
- default:
- error(getPos(), "Illegal code in JBIG2 MMR bitmap data");
-+ mmrAddPixels(w, 0, codingLine, &a0i, w);
- break;
- }
-! }
-
- // convert the run lengths to a bitmap line
- i = 0;
-! while (1) {
- for (x = codingLine[i]; x < codingLine[i+1]; ++x) {
- bitmap->setPixel(x, y);
- }
-+ if (codingLine[i+1] >= w || codingLine[i+2] >= w) {
-+ break;
-+ }
- i += 2;
- }
- }
-***************
-*** 2706,2712 ****
- ltp = !ltp;
- }
- if (ltp) {
-! bitmap->duplicateRow(y, y-1);
- continue;
- }
- }
---- 2888,2896 ----
- ltp = !ltp;
- }
- if (ltp) {
-! if (y > 0) {
-! bitmap->duplicateRow(y, y-1);
-! }
- continue;
- }
- }
-***************
-*** 2909,2916 ****
- return;
- }
- if (nRefSegs == 1) {
-! seg = findSegment(refSegs[0]);
-! if (seg->getType() != jbig2SegBitmap) {
- error(getPos(), "Bad bitmap reference in JBIG2 generic refinement segment");
- return;
- }
---- 3093,3100 ----
- return;
- }
- if (nRefSegs == 1) {
-! if (!(seg = findSegment(refSegs[0])) ||
-! seg->getType() != jbig2SegBitmap) {
- error(getPos(), "Bad bitmap reference in JBIG2 generic refinement segment");
- return;
- }
-***************
-*** 3004,3009 ****
---- 3188,3197 ----
- tpgrCX2 = refBitmap->nextPixel(&tpgrCXPtr2);
- tpgrCX2 = (tpgrCX2 << 1) | refBitmap->nextPixel(&tpgrCXPtr2);
- tpgrCX2 = (tpgrCX2 << 1) | refBitmap->nextPixel(&tpgrCXPtr2);
-+ } else {
-+ tpgrCXPtr0.p = tpgrCXPtr1.p = tpgrCXPtr2.p = NULL; // make gcc happy
-+ tpgrCXPtr0.shift = tpgrCXPtr1.shift = tpgrCXPtr2.shift = 0;
-+ tpgrCXPtr0.x = tpgrCXPtr1.x = tpgrCXPtr2.x = 0;
- }
-
- for (x = 0; x < w; ++x) {
-***************
-*** 3075,3080 ****
---- 3263,3272 ----
- tpgrCX2 = refBitmap->nextPixel(&tpgrCXPtr2);
- tpgrCX2 = (tpgrCX2 << 1) | refBitmap->nextPixel(&tpgrCXPtr2);
- tpgrCX2 = (tpgrCX2 << 1) | refBitmap->nextPixel(&tpgrCXPtr2);
-+ } else {
-+ tpgrCXPtr0.p = tpgrCXPtr1.p = tpgrCXPtr2.p = NULL; // make gcc happy
-+ tpgrCXPtr0.shift = tpgrCXPtr1.shift = tpgrCXPtr2.shift = 0;
-+ tpgrCXPtr0.x = tpgrCXPtr1.x = tpgrCXPtr2.x = 0;
- }
-
- for (x = 0; x < w; ++x) {
-diff -r -c xpdf-3.02.orig/xpdf/JBIG2Stream.h xpdf-3.02/xpdf/JBIG2Stream.h
-*** xpdf-3.02.orig/xpdf/JBIG2Stream.h Tue Feb 27 14:05:52 2007
---- xpdf-3.02/xpdf/JBIG2Stream.h Tue Mar 31 10:50:07 2009
-***************
-*** 78,83 ****
---- 78,87 ----
- Guint *refSegs, Guint nRefSegs);
- void readGenericRegionSeg(Guint segNum, GBool imm,
- GBool lossless, Guint length);
-+ void mmrAddPixels(int a1, int blackPixels,
-+ int *codingLine, int *a0i, int w);
-+ void mmrAddPixelsNeg(int a1, int blackPixels,
-+ int *codingLine, int *a0i, int w);
- JBIG2Bitmap *readGenericBitmap(GBool mmr, int w, int h,
- int templ, GBool tpgdOn,
- GBool useSkip, JBIG2Bitmap *skip,
diff --git a/source/xap/xpdf/patches/xpdf-3.02pl4.patch b/source/xap/xpdf/patches/xpdf-3.02pl4.patch
deleted file mode 100644
index 082d11750..000000000
--- a/source/xap/xpdf/patches/xpdf-3.02pl4.patch
+++ /dev/null
@@ -1,282 +0,0 @@
-*** xpdf-3.02.orig/xpdf/Stream.cc Fri Jul 24 14:30:46 2009
---- xpdf-3.02/xpdf/Stream.cc Mon Oct 5 11:07:49 2009
-***************
-*** 323,328 ****
---- 323,332 ----
- } else {
- imgLineSize = nVals;
- }
-+ if (width > INT_MAX / nComps) {
-+ // force a call to gmallocn(-1,...), which will throw an exception
-+ imgLineSize = -1;
-+ }
- imgLine = (Guchar *)gmallocn(imgLineSize, sizeof(Guchar));
- imgIdx = nVals;
- }
-*** xpdf-3.02.orig/xpdf/PSOutputDev.cc Tue Feb 27 14:05:52 2007
---- xpdf-3.02/xpdf/PSOutputDev.cc Fri Oct 2 12:38:58 2009
-***************
-*** 4301,4307 ****
- width, -height, height);
-
- // allocate a line buffer
-! lineBuf = (Guchar *)gmalloc(4 * width);
-
- // set up to process the data stream
- imgStr = new ImageStream(str, width, colorMap->getNumPixelComps(),
---- 4301,4307 ----
- width, -height, height);
-
- // allocate a line buffer
-! lineBuf = (Guchar *)gmallocn(width, 4);
-
- // set up to process the data stream
- imgStr = new ImageStream(str, width, colorMap->getNumPixelComps(),
-diff -r -c xpdf-3.02.orig/splash/Splash.cc xpdf-3.02/splash/Splash.cc
-*** xpdf-3.02.orig/splash/Splash.cc Tue Feb 27 14:05:52 2007
---- xpdf-3.02/splash/Splash.cc Fri Aug 14 14:05:08 2009
-***************
-*** 12,17 ****
---- 12,18 ----
-
- #include <stdlib.h>
- #include <string.h>
-+ #include <limits.h>
- #include "gmem.h"
- #include "SplashErrorCodes.h"
- #include "SplashMath.h"
-***************
-*** 1912,1918 ****
- xq = w % scaledWidth;
-
- // allocate pixel buffer
-! pixBuf = (SplashColorPtr)gmalloc((yp + 1) * w);
-
- // initialize the pixel pipe
- pipeInit(&pipe, 0, 0, state->fillPattern, NULL, state->fillAlpha,
---- 1913,1922 ----
- xq = w % scaledWidth;
-
- // allocate pixel buffer
-! if (yp < 0 || yp > INT_MAX - 1) {
-! return splashErrBadArg;
-! }
-! pixBuf = (SplashColorPtr)gmallocn(yp + 1, w);
-
- // initialize the pixel pipe
- pipeInit(&pipe, 0, 0, state->fillPattern, NULL, state->fillAlpha,
-***************
-*** 2208,2216 ****
- xq = w % scaledWidth;
-
- // allocate pixel buffers
-! colorBuf = (SplashColorPtr)gmalloc((yp + 1) * w * nComps);
- if (srcAlpha) {
-! alphaBuf = (Guchar *)gmalloc((yp + 1) * w);
- } else {
- alphaBuf = NULL;
- }
---- 2212,2223 ----
- xq = w % scaledWidth;
-
- // allocate pixel buffers
-! if (yp < 0 || yp > INT_MAX - 1 || w > INT_MAX / nComps) {
-! return splashErrBadArg;
-! }
-! colorBuf = (SplashColorPtr)gmallocn(yp + 1, w * nComps);
- if (srcAlpha) {
-! alphaBuf = (Guchar *)gmallocn(yp + 1, w);
- } else {
- alphaBuf = NULL;
- }
-diff -r -c xpdf-3.02.orig/splash/SplashErrorCodes.h xpdf-3.02/splash/SplashErrorCodes.h
-*** xpdf-3.02.orig/splash/SplashErrorCodes.h Tue Feb 27 14:05:52 2007
---- xpdf-3.02/splash/SplashErrorCodes.h Fri Aug 14 14:03:46 2009
-***************
-*** 29,32 ****
---- 29,34 ----
-
- #define splashErrSingularMatrix 8 // matrix is singular
-
-+ #define splashErrBadArg 9 // bad argument
-+
- #endif
-*** xpdf-3.02.orig/splash/SplashBitmap.cc Tue Feb 27 14:05:52 2007
---- xpdf-3.02/splash/SplashBitmap.cc Wed Aug 19 14:55:39 2009
-***************
-*** 11,16 ****
---- 11,17 ----
- #endif
-
- #include <stdio.h>
-+ #include <limits.h>
- #include "gmem.h"
- #include "SplashErrorCodes.h"
- #include "SplashBitmap.h"
-***************
-*** 27,56 ****
- mode = modeA;
- switch (mode) {
- case splashModeMono1:
-! rowSize = (width + 7) >> 3;
- break;
- case splashModeMono8:
-! rowSize = width;
- break;
- case splashModeRGB8:
- case splashModeBGR8:
-! rowSize = width * 3;
- break;
- #if SPLASH_CMYK
- case splashModeCMYK8:
-! rowSize = width * 4;
- break;
- #endif
- }
-! rowSize += rowPad - 1;
-! rowSize -= rowSize % rowPad;
-! data = (SplashColorPtr)gmalloc(rowSize * height);
- if (!topDown) {
- data += (height - 1) * rowSize;
- rowSize = -rowSize;
- }
- if (alphaA) {
-! alpha = (Guchar *)gmalloc(width * height);
- } else {
- alpha = NULL;
- }
---- 28,75 ----
- mode = modeA;
- switch (mode) {
- case splashModeMono1:
-! if (width > 0) {
-! rowSize = (width + 7) >> 3;
-! } else {
-! rowSize = -1;
-! }
- break;
- case splashModeMono8:
-! if (width > 0) {
-! rowSize = width;
-! } else {
-! rowSize = -1;
-! }
- break;
- case splashModeRGB8:
- case splashModeBGR8:
-! if (width > 0 && width <= INT_MAX / 3) {
-! rowSize = width * 3;
-! } else {
-! rowSize = -1;
-! }
- break;
- #if SPLASH_CMYK
- case splashModeCMYK8:
-! if (width > 0 && width <= INT_MAX / 4) {
-! rowSize = width * 4;
-! } else {
-! rowSize = -1;
-! }
- break;
- #endif
- }
-! if (rowSize > 0) {
-! rowSize += rowPad - 1;
-! rowSize -= rowSize % rowPad;
-! }
-! data = (SplashColorPtr)gmallocn(height, rowSize);
- if (!topDown) {
- data += (height - 1) * rowSize;
- rowSize = -rowSize;
- }
- if (alphaA) {
-! alpha = (Guchar *)gmallocn(width, height);
- } else {
- alpha = NULL;
- }
-*** xpdf-3.02.orig/xpdf/XRef.cc Tue Feb 27 14:05:52 2007
---- xpdf-3.02/xpdf/XRef.cc Tue Oct 13 11:57:24 2009
-***************
-*** 52,57 ****
---- 52,59 ----
- // generation 0.
- ObjectStream(XRef *xref, int objStrNumA);
-
-+ GBool isOk() { return ok; }
-+
- ~ObjectStream();
-
- // Return the object number of this object stream.
-***************
-*** 67,72 ****
---- 69,75 ----
- int nObjects; // number of objects in the stream
- Object *objs; // the objects (length = nObjects)
- int *objNums; // the object numbers (length = nObjects)
-+ GBool ok;
- };
-
- ObjectStream::ObjectStream(XRef *xref, int objStrNumA) {
-***************
-*** 80,85 ****
---- 83,89 ----
- nObjects = 0;
- objs = NULL;
- objNums = NULL;
-+ ok = gFalse;
-
- if (!xref->fetch(objStrNum, 0, &objStr)->isStream()) {
- goto err1;
-***************
-*** 105,110 ****
---- 109,121 ----
- goto err1;
- }
-
-+ // this is an arbitrary limit to avoid integer overflow problems
-+ // in the 'new Object[nObjects]' call (Acrobat apparently limits
-+ // object streams to 100-200 objects)
-+ if (nObjects > 1000000) {
-+ error(-1, "Too many objects in an object stream");
-+ goto err1;
-+ }
- objs = new Object[nObjects];
- objNums = (int *)gmallocn(nObjects, sizeof(int));
- offsets = (int *)gmallocn(nObjects, sizeof(int));
-***************
-*** 161,170 ****
- }
-
- gfree(offsets);
-
- err1:
- objStr.free();
-- return;
- }
-
- ObjectStream::~ObjectStream() {
---- 172,181 ----
- }
-
- gfree(offsets);
-+ ok = gTrue;
-
- err1:
- objStr.free();
- }
-
- ObjectStream::~ObjectStream() {
-***************
-*** 837,842 ****
---- 848,858 ----
- delete objStr;
- }
- objStr = new ObjectStream(this, e->offset);
-+ if (!objStr->isOk()) {
-+ delete objStr;
-+ objStr = NULL;
-+ goto err;
-+ }
- }
- objStr->getObject(e->gen, num, obj);
- break;
diff --git a/source/xap/xpdf/patches/xpdf-3.02pl5.patch b/source/xap/xpdf/patches/xpdf-3.02pl5.patch
deleted file mode 100644
index 558eac554..000000000
--- a/source/xap/xpdf/patches/xpdf-3.02pl5.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-*** xpdf-3.02.orig/xpdf/Gfx.cc Tue Feb 27 14:05:52 2007
---- xpdf-3.02/xpdf/Gfx.cc Mon Oct 11 15:39:52 2010
-***************
-*** 461,466 ****
---- 461,467 ----
- baseMatrix[i] = state->getCTM()[i];
- }
- formDepth = 0;
-+ parser = NULL;
- abortCheckCbk = abortCheckCbkA;
- abortCheckCbkData = abortCheckCbkDataA;
-
-***************
-*** 500,505 ****
---- 501,507 ----
- baseMatrix[i] = state->getCTM()[i];
- }
- formDepth = 0;
-+ parser = NULL;
- abortCheckCbk = abortCheckCbkA;
- abortCheckCbkData = abortCheckCbkDataA;
-
-*** xpdf-3.02.orig/fofi/FoFiType1.cc Tue Feb 27 14:05:51 2007
---- xpdf-3.02/fofi/FoFiType1.cc Mon Oct 11 15:44:13 2010
-***************
-*** 224,230 ****
- code = code * 8 + (*p2 - '0');
- }
- }
-! if (code < 256) {
- for (p = p2; *p == ' ' || *p == '\t'; ++p) ;
- if (*p == '/') {
- ++p;
---- 224,230 ----
- code = code * 8 + (*p2 - '0');
- }
- }
-! if (code >= 0 && code < 256) {
- for (p = p2; *p == ' ' || *p == '\t'; ++p) ;
- if (*p == '/') {
- ++p;
diff --git a/source/xap/xpdf/patches/xpdf-3.02pl6.patch b/source/xap/xpdf/patches/xpdf-3.02pl6.patch
deleted file mode 100644
index b36491020..000000000
--- a/source/xap/xpdf/patches/xpdf-3.02pl6.patch
+++ /dev/null
@@ -1 +0,0 @@
-# There is not a patch 6... just a recompile without t1lib
diff --git a/source/xap/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff b/source/xap/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff
new file mode 100644
index 000000000..891c41fd3
--- /dev/null
+++ b/source/xap/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff
@@ -0,0 +1,55 @@
+From 3945969e0072217c143fefa3044512a31ac2afa8 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Sun, 11 Aug 2013
+Subject: CVE-2012-2142
+
+Filter stuff that might end up in the shell to address CVE-2012-2142.
+This code was adapted from the Poppler project.
+---
+ Error.cc | 21 ++++++++++++++++-----
+ 1 file changed, 16 insertions(+), 5 deletions(-)
+
+--- a/xpdf/Error.cc 2013-08-11
++++ b/xpdf/Error.cc 2013-08-11
+@@ -43,7 +43,7 @@ void setErrorCallback(void (*cbk)(void *
+
+ void CDECL error(ErrorCategory category, int pos, const char *msg, ...) {
+ va_list args;
+- GString *s;
++ GString *s, *sanitized;
+
+ // NB: this can be called before the globalParams object is created
+ if (!errorCbk && globalParams && globalParams->getErrQuiet()) {
+@@ -52,17 +52,28 @@ void CDECL error(ErrorCategory category,
+ va_start(args, msg);
+ s = GString::formatv(msg, args);
+ va_end(args);
++
++ sanitized = new GString ();
++ for (int i = 0; i < s->getLength(); ++i) {
++ const char c = s->getChar(i);
++ if (c < (char)0x20 || c >= (char)0x7f) {
++ sanitized->appendf("<{0:02x}>", c & 0xff);
++ } else {
++ sanitized->append(c);
++ }
++ }
++
+ if (errorCbk) {
+- (*errorCbk)(errorCbkData, category, pos, s->getCString());
++ (*errorCbk)(errorCbkData, category, pos, sanitized->getCString());
+ } else {
+ if (pos >= 0) {
+ fprintf(stderr, "%s (%d): %s\n",
+- errorCategoryNames[category], pos, s->getCString());
++ errorCategoryNames[category], pos, sanitized->getCString());
+ } else {
+ fprintf(stderr, "%s: %s\n",
+- errorCategoryNames[category], s->getCString());
++ errorCategoryNames[category], sanitized->getCString());
+ }
+ fflush(stderr);
+ }
+- delete s;
++ delete sanitized;
+ }
diff --git a/source/xap/xpdf/patches/xpdf-resizefix.diff b/source/xap/xpdf/patches/xpdf-resizefix.diff
deleted file mode 100644
index 4be7feb0a..000000000
--- a/source/xap/xpdf/patches/xpdf-resizefix.diff
+++ /dev/null
@@ -1,34 +0,0 @@
---- ./fofi/FoFiType1.cc.orig 2007-02-27 16:05:51.000000000 -0600
-+++ ./fofi/FoFiType1.cc 2007-04-11 19:58:28.000000000 -0500
-@@ -235,9 +235,14 @@
- }
- }
- } else {
-- if (strtok(buf, " \t") &&
-- (p = strtok(NULL, " \t\n\r")) && !strcmp(p, "def")) {
-- break;
-+ p = strtok(buf, " \t\n\r");
-+ if (p)
-+ {
-+ if (!strcmp(p, "def")) break;
-+ if (!strcmp(p, "readonly")) break;
-+ // the spec does not says this but i'm mantaining old xpdf behaviour that accepts "foo def" as end of the encoding array
-+ p = strtok(buf, " \t\n\r");
-+ if (p && !strcmp(p, "def")) break;
- }
- }
- }
---- ./splash/Splash.cc.orig 2007-02-27 16:05:52.000000000 -0600
-+++ ./splash/Splash.cc 2007-04-11 19:58:35.000000000 -0500
-@@ -1501,6 +1501,11 @@
- xPath->aaScale();
- }
- xPath->sort();
-+ if (!&xPath->segs[0])
-+ {
-+ delete xPath;
-+ return splashErrEmptyPath;
-+ }
- scanner = new SplashXPathScanner(xPath, eo);
-
- // get the min and max x and y values
diff --git a/source/xap/xpdf/patches/xpdf.XPDFViewer.diff b/source/xap/xpdf/patches/xpdf.XPDFViewer.diff
new file mode 100644
index 000000000..0aa4455d5
--- /dev/null
+++ b/source/xap/xpdf/patches/xpdf.XPDFViewer.diff
@@ -0,0 +1,11 @@
+--- ./xpdf/XPDFViewer.cc.orig 2011-08-15 16:08:53.000000000 -0500
++++ ./xpdf/XPDFViewer.cc 2013-03-28 15:35:31.589432279 -0500
+@@ -1803,7 +1803,7 @@
+ menuPane = XmCreatePulldownMenu(toolBar, "zoomMenuPane", args, n);
+ for (i = 0; i < nZoomMenuItems; ++i) {
+ n = 0;
+- s = XmStringCreateLocalized(zoomMenuInfo[i].label);
++ s = XmStringCreateLocalized((char *)zoomMenuInfo[i].label);
+ XtSetArg(args[n], XmNlabelString, s); ++n;
+ XtSetArg(args[n], XmNuserData, (XtPointer)i); ++n;
+ sprintf(buf, "zoom%d", i);
diff --git a/source/xap/xpdf/patches/xpdf_3.02-1.3.diff b/source/xap/xpdf/patches/xpdf_3.02-1.3.diff
deleted file mode 100644
index 6a769e5c9..000000000
--- a/source/xap/xpdf/patches/xpdf_3.02-1.3.diff
+++ /dev/null
@@ -1,4470 +0,0 @@
---- xpdf-3.02.orig/debian/README.Debian
-+++ xpdf-3.02/debian/README.Debian
-@@ -0,0 +1,16 @@
-+
-+This package incorporates the following Xpdf language
-+packages:
-+
-+xpdf-cyrillic 2002-jun-28
-+xpdf-greek 2002-jun-28
-+xpdf-hebrew 2003-feb-16
-+xpdf-latin2 2002-oct-22
-+xpdf-thai 2002-jan-16
-+xpdf-turkish 2002-apr-10
-+xpdf-arabic 2003-feb-16
-+
-+xpdf-chinese-simplified, xpdf-chinese-traditional, xpdf-korean
-+and xpdf-japanese are separate Debian packages in the "non-free"
-+section of the Debian archive.
-+
---- xpdf-3.02.orig/debian/xpdf-utils.files
-+++ xpdf-3.02/debian/xpdf-utils.files
-@@ -0,0 +1,10 @@
-+/usr/share/man/man1/pdftotext.1
-+/usr/share/man/man1/pdfinfo.1
-+/usr/share/man/man1/pdffonts.1
-+/usr/share/man/man1/pdfimages.1
-+/usr/share/man/man1/pdftops.1
-+/usr/bin/pdftops
-+/usr/bin/pdftotext
-+/usr/bin/pdfinfo
-+/usr/bin/pdffonts
-+/usr/bin/pdfimages
---- xpdf-3.02.orig/debian/patches-obselete/04_freetype-glyph.dpatch
-+++ xpdf-3.02/debian/patches-obselete/04_freetype-glyph.dpatch
-@@ -0,0 +1,20 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 04_freetype-glyph.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Bug fix for Freetype glyph handling
-+
-+@DPATCH@
-+
-+--- xpdf-3.00.orig/splash/SplashFTFont.cc
-++++ xpdf-3.00/splash/SplashFTFont.cc
-+@@ -238,6 +238,9 @@
-+ if (FT_Get_Glyph(slot, &glyph)) {
-+ return NULL;
-+ }
-++ if (glyph->format != FT_GLYPH_FORMAT_OUTLINE) {
-++ return NULL;
-++ }
-+ path.path = new SplashPath();
-+ path.needClose = gFalse;
-+ FT_Outline_Decompose(&((FT_OutlineGlyph)glyph)->outline,
---- xpdf-3.02.orig/debian/patches-obselete/07_decrypt.dpatch
-+++ xpdf-3.02/debian/patches-obselete/07_decrypt.dpatch
-@@ -0,0 +1,52 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 07_decrypt.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Avoid potential buffer overruns during decryption
-+
-+@DPATCH@
-+diff -urNad --exclude=CVS --exclude=.svn ./xpdf/Decrypt.cc /tmp/dpep-work.wRRwAu/xpdf-3.01/xpdf/Decrypt.cc
-+--- ./xpdf/Decrypt.cc 2005-08-17 15:34:31.000000000 +1000
-++++ /tmp/dpep-work.wRRwAu/xpdf-3.01/xpdf/Decrypt.cc 2005-08-19 18:47:09.000000000 +1000
-+@@ -75,6 +75,11 @@
-+ Guchar fx, fy;
-+ int len, i, j;
-+
-++ // check whether we have non-zero keyLength
-++ if ( !keyLength ) {
-++ return gFalse;
-++ }
-++
-+ // try using the supplied owner password to generate the user password
-+ *ownerPasswordOk = gFalse;
-+ if (ownerPassword) {
-+@@ -100,7 +105,7 @@
-+ } else {
-+ memcpy(test2, ownerKey->getCString(), 32);
-+ for (i = 19; i >= 0; --i) {
-+- for (j = 0; j < keyLength; ++j) {
-++ for (j = 0; j < keyLength && j < 16; ++j) {
-+ tmpKey[j] = test[j] ^ i;
-+ }
-+ rc4InitKey(tmpKey, keyLength, fState);
-+@@ -140,6 +145,11 @@
-+ int len, i, j;
-+ GBool ok;
-+
-++ // check whether we have non-zero keyLength
-++ if ( !keyLength ) {
-++ return gFalse;
-++ }
-++
-+ // generate file key
-+ buf = (Guchar *)gmalloc(72 + fileID->getLength());
-+ if (userPassword) {
-+@@ -184,7 +194,7 @@
-+ } else if (encRevision == 3) {
-+ memcpy(test, userKey->getCString(), 32);
-+ for (i = 19; i >= 0; --i) {
-+- for (j = 0; j < keyLength; ++j) {
-++ for (j = 0; j < keyLength && j < 16; ++j) {
-+ tmpKey[j] = fileKey[j] ^ i;
-+ }
-+ rc4InitKey(tmpKey, keyLength, fState);
---- xpdf-3.02.orig/debian/patches-obselete/03_freetype-build.dpatch
-+++ xpdf-3.02/debian/patches-obselete/03_freetype-build.dpatch
-@@ -0,0 +1,301 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 03_freetype-build.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Use pkg-config to locate FreeType build information
-+
-+@DPATCH@
-+diff -urNad --exclude=CVS --exclude=.svn ./configure.in /tmp/dpep-work.9fnwEh/xpdf-3.01/configure.in
-+--- ./configure.in 2005-08-19 17:06:04.000000000 +1000
-++++ /tmp/dpep-work.9fnwEh/xpdf-3.01/configure.in 2005-08-19 17:12:11.000000000 +1000
-+@@ -301,10 +301,8 @@
-+ AC_SUBST(t1_CFLAGS)
-+
-+ dnl ##### Check for FreeType 2.x.
-+-dnl ##### (Note: FT_Get_Name_Index was added in FT 2.0.5, and is
-+-dnl ##### the reason that Xpdf requires 2.0.5+.)
-+-smr_CHECK_LIB(freetype2, freetype, [FreeType2 font rasterizer - version 2.0.5+],
-+- FT_Get_Name_Index, ft2build.h, -lm)
-++PKG_CHECK_MODULES(freetype2, freetype2 >= 9.5.3, smr_have_freetype2_library="yes",
-++ smr_have_freetype2_library="no")
-+ AC_SUBST(freetype2_LIBS)
-+ AC_SUBST(freetype2_CFLAGS)
-+ if test "x$smr_have_freetype2_library" = xyes; then
-+diff -urNad --exclude=CVS --exclude=.svn ./smr.m4 /tmp/dpep-work.9fnwEh/xpdf-3.01/smr.m4
-+--- ./smr.m4 1970-01-01 10:00:00.000000000 +1000
-++++ /tmp/dpep-work.9fnwEh/xpdf-3.01/smr.m4 2005-08-19 17:12:05.000000000 +1000
-+@@ -0,0 +1,274 @@
-++# <<< smr.m4 from smr_macros 0.2.4 >>>
-++
-++dnl ####################### -*- Mode: M4 -*- ###########################
-++dnl smr.m4 --
-++dnl
-++dnl Copyright (C) 1999 Matthew D. Langston <langston at SLAC.Stanford.EDU>
-++dnl Copyright (C) 1998 Steve Robbins <stever at cs.mcgill.ca>
-++dnl
-++dnl This file is free software; you can redistribute it and/or modify it
-++dnl under the terms of the GNU General Public License as published by
-++dnl the Free Software Foundation; either version 2 of the License, or
-++dnl (at your option) any later version.
-++dnl
-++dnl This file is distributed in the hope that it will be useful, but
-++dnl WITHOUT ANY WARRANTY; without even the implied warranty of
-++dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-++dnl General Public License for more details.
-++dnl
-++dnl You should have received a copy of the GNU General Public License
-++dnl along with this file; if not, write to:
-++dnl
-++dnl Free Software Foundation, Inc.
-++dnl Suite 330
-++dnl 59 Temple Place
-++dnl Boston, MA 02111-1307, USA.
-++dnl ####################################################################
-++
-++
-++dnl NOTE: The macros in this file are extensively documented in the
-++dnl accompanying `smr_macros.texi' Texinfo file. Please see the
-++dnl Texinfo documentation for the definitive specification of how
-++dnl these macros are supposed to work. If the macros work
-++dnl differently than the Texinfo documentation says they should,
-++dnl then the macros (and not the Texinfo documentation) has the
-++dnl bug(s).
-++
-++dnl This is a convenient macro which translates illegal characters for
-++dnl bourne shell variables into legal characters. It has the same
-++dnl functionality as sed 'y%./+-:%__p__%'.
-++AC_DEFUN([smr_safe_translation], [patsubst(patsubst([$1], [+], [p]), [./-:], [_])])
-++
-++AC_DEFUN(smr_SWITCH,
-++[
-++ dnl Define convenient aliases for the arguments since there are so
-++ dnl many of them and I keep confusing myself whenever I have to edit
-++ dnl this macro.
-++ pushdef([smr_name], $1)
-++ pushdef([smr_help_string], $2)
-++ pushdef([smr_default], $3)
-++ pushdef([smr_yes_define], $4)
-++ pushdef([smr_no_define], $5)
-++
-++ dnl Do some sanity checking of the arguments.
-++ ifelse([regexp(smr_default, [^\(yes\|no\)$])], -1, [AC_MSG_ERROR($0: third arg must be either yes or no)])
-++
-++ dnl Create the help string
-++ pushdef([smr_lhs], [--ifelse(smr_default, yes, disable, enable)-smr_name])dnl
-++ pushdef([smr_rhs], [ifelse(smr_default, yes, disable, enable) smr_help_string (default is smr_default)])dnl
-++
-++ dnl Add the option to `configure --help'. We don't need to supply the
-++ dnl 4th argument to AC_ARG_ENABLE (i.e. the code to set the default
-++ dnl value) because that is done below by AC_CACHE_CHECK.
-++ AC_ARG_ENABLE([smr_name],
-++ AC_HELP_STRING([smr_lhs], [smr_rhs]),
-++ smr_cv_enable_[]smr_name=$enableval)
-++
-++ dnl We cache the result so that the user doesn't have to remember
-++ dnl which flags they passed to `configure'.
-++ AC_CACHE_CHECK([whether to enable smr_help_string],
-++ smr_cv_enable_[]smr_name,
-++ smr_cv_enable_[]smr_name=smr_default)
-++
-++ ifelse(smr_yes_define, , , test x"[$]smr_cv_enable_[]smr_name" = xyes && AC_DEFINE(smr_yes_define))
-++ ifelse(smr_no_define, , , test x"[$]smr_cv_enable_[]smr_name" = xno && AC_DEFINE(smr_no_define))
-++
-++ dnl Sanity check the value assigned to smr_cv_enable_$1 to force it to
-++ dnl be either `yes' or `no'.
-++ if test ! x"[$]smr_cv_enable_[]smr_name" = xyes; then
-++ if test ! x"[$]smr_cv_enable_[]smr_name" = xno; then
-++ AC_MSG_ERROR([smr_lhs must be either yes or no])
-++ fi
-++ fi
-++
-++ popdef([smr_name])
-++ popdef([smr_help_string])
-++ popdef([smr_default])
-++ popdef([smr_yes_define])
-++ popdef([smr_no_define])
-++ popdef([smr_lhs])
-++ popdef([smr_rhs])
-++])
-++
-++
-++AC_DEFUN(smr_ARG_WITHLIB,
-++[
-++ dnl Define convenient aliases for the arguments since there are so
-++ dnl many of them and I keep confusing myself whenever I have to edit
-++ dnl this macro.
-++ pushdef([smr_name], $1)
-++ pushdef([smr_libname], ifelse($2, , smr_name, $2))
-++ pushdef([smr_help_string], $3)
-++ pushdef([smr_safe_name], smr_safe_translation(smr_name))
-++
-++ dnl Add the option to `configure --help'. We don't need to supply the
-++ dnl 4th argument to AC_ARG_WITH (i.e. the code to set the default
-++ dnl value) because that is done below by AC_CACHE_CHECK.
-++ AC_ARG_WITH(smr_safe_name-library,
-++ AC_HELP_STRING([--with-smr_safe_name-library[[=PATH]]],
-++ [use smr_name library ifelse(smr_help_string, , , (smr_help_string))]),
-++ smr_cv_with_[]smr_safe_name[]_library=$withval)
-++
-++ dnl We cache the result so that the user doesn't have to remember
-++ dnl which flags they passed to `configure'.
-++ AC_CACHE_CHECK([whether to use smr_name library],
-++ smr_cv_with_[]smr_safe_name[]_library,
-++ smr_cv_with_[]smr_safe_name[]_library=maybe)
-++
-++
-++ case x"[$]smr_cv_with_[]smr_safe_name[]_library" in
-++ xyes | xmaybe)
-++ smr_safe_name[]_LIBS="-l[]smr_libname"
-++ with_[]smr_safe_name=[$]smr_cv_with_[]smr_safe_name[]_library
-++ ;;
-++ xno)
-++ smr_safe_name[]_LIBS=
-++ with_[]smr_safe_name=no
-++ ;;
-++ *)
-++ if test -f "[$]smr_cv_with_[]smr_safe_name[]_library"; then
-++ smr_safe_name[]_LIBS=[$]smr_cv_with_[]smr_safe_name[]_library
-++ elif test -d "[$]smr_cv_with_[]smr_safe_name[]_library"; then
-++ smr_safe_name[]_LIBS="-L[$]smr_cv_with_[]smr_safe_name[]_library -l[]smr_libname"
-++ else
-++ AC_MSG_ERROR([argument must be boolean, file, or directory])
-++ fi
-++ with_[]smr_safe_name=yes
-++ ;;
-++ esac
-++
-++ popdef([smr_name])
-++ popdef([smr_libname])
-++ popdef([smr_help_string])
-++ popdef([smr_safe_name])
-++])
-++
-++
-++AC_DEFUN(smr_ARG_WITHINCLUDES,
-++[
-++ dnl Define convenient aliases for the arguments since there are so
-++ dnl many of them and I keep confusing myself whenever I have to edit
-++ dnl this macro.
-++ pushdef([smr_name], $1)
-++ pushdef([smr_header], $2)
-++ pushdef([smr_extra_flags], $3)
-++ pushdef([smr_safe_name], smr_safe_translation(smr_name))
-++
-++ dnl Add the option to `configure --help'. We don't need to supply the
-++ dnl 4th argument to AC_ARG_WITH (i.e. the code to set the default
-++ dnl value) because that is done below by AC_CACHE_CHECK.
-++ AC_ARG_WITH(smr_safe_name-includes,
-++ AC_HELP_STRING([--with-smr_safe_name-includes[[=DIR]]],
-++ [set directory for smr_name headers]),
-++ smr_cv_with_[]smr_safe_name[]_includes=$withval)
-++
-++ dnl We cache the result so that the user doesn't have to remember
-++ dnl which flags they passed to `configure'.
-++ AC_CACHE_CHECK([where to find the smr_name header files],
-++ smr_cv_with_[]smr_safe_name[]_includes,
-++ smr_cv_with_[]smr_safe_name[]_includes=)
-++
-++ if test ! x"[$]smr_cv_with_[]smr_safe_name[]_includes" = x; then
-++ if test -d "[$]smr_cv_with_[]smr_safe_name[]_includes"; then
-++ smr_safe_name[]_CFLAGS="-I[$]smr_cv_with_[]smr_safe_name[]_includes"
-++ else
-++ AC_MSG_ERROR([argument must be a directory])
-++ fi
-++ else
-++ smr_safe_name[]_CFLAGS=
-++ fi
-++
-++ dnl This bit of logic comes from the autoconf AC_PROG_CC macro. We
-++ dnl need to put the given include directory into CPPFLAGS temporarily,
-++ dnl but then restore CPPFLAGS to its old value.
-++ smr_test_CPPFLAGS="${CPPFLAGS+set}"
-++ smr_save_CPPFLAGS="$CPPFLAGS"
-++ CPPFLAGS="$CPPFLAGS [$]smr_safe_name[]_CFLAGS smr_extra_flags"
-++
-++ dnl If the header file smr_header exists, then define
-++ dnl HAVE_[]smr_header (in all capitals).
-++ AC_CHECK_HEADERS([smr_header],
-++ smr_have_[]smr_safe_name[]_header=yes,
-++ smr_have_[]smr_safe_name[]_header=no)
-++
-++ if test x"$smr_test_CPPFLAGS" = xset; then
-++ CPPFLAGS=$smr_save_CPPFLAGS
-++ else
-++ unset CPPFLAGS
-++ fi
-++
-++ popdef([smr_name])
-++ popdef([smr_header])
-++ popdef([smr_extra_flags])
-++ popdef([smr_safe_name])
-++])
-++
-++
-++AC_DEFUN(smr_CHECK_LIB,
-++[
-++ dnl Define convenient aliases for the arguments since there are so
-++ dnl many of them and I keep confusing myself whenever I have to edit
-++ dnl this macro.
-++ pushdef([smr_name], $1)
-++ pushdef([smr_libname], ifelse($2, , smr_name, $2))
-++ pushdef([smr_help_string], $3)
-++ pushdef([smr_function], $4)
-++ pushdef([smr_header], $5)
-++ pushdef([smr_extra_libs], $6)
-++ pushdef([smr_extra_flags], $7)
-++ pushdef([smr_prototype], $8)
-++ pushdef([smr_safe_name], smr_safe_translation(smr_name))
-++
-++ dnl Give the user (via "configure --help") an interface to specify
-++ dnl whether we should use the library or not, and possibly where we
-++ dnl should find it.
-++ smr_ARG_WITHLIB([smr_name], [smr_libname], [smr_help_string])
-++
-++ if test ! x"$with_[]smr_safe_name" = xno; then
-++
-++ # If we got this far, then the user didn't explicitly ask not to use
-++ # the library.
-++
-++ dnl If the caller of smr_CHECK_LIB specified a header file for this
-++ dnl library, then give the user (via "configure --help") an
-++ dnl interface to specify where this header file can be found (if it
-++ dnl isn't found by the compiler by default).
-++ ifelse(smr_header, , , [smr_ARG_WITHINCLUDES(smr_name, smr_header, smr_extra_flags)])
-++
-++ # We need only look for the library if the header has been found
-++ # (or no header is needed).
-++ if test [$]smr_have_[]smr_safe_name[]_header != no; then
-++
-++ AC_CHECK_LIB(smr_libname,
-++ smr_function,
-++ smr_have_[]smr_safe_name[]_library=yes,
-++ smr_have_[]smr_safe_name[]_library=no,
-++ [$]smr_safe_name[]_CFLAGS [smr_extra_flags] [$]smr_safe_name[]_LIBS [smr_extra_libs],
-++ [ifelse(smr_prototype, , , [[#]include <smr_header>])],
-++ smr_prototype)
-++ fi
-++
-++ if test x"[$]smr_have_[]smr_safe_name[]_library" = xyes; then
-++ AC_MSG_RESULT([using smr_name library])
-++ else
-++ smr_safe_name[]_LIBS=
-++ smr_safe_name[]_CFLAGS=
-++
-++ if test x"$with_[]smr_safe_name" = xmaybe; then
-++ AC_MSG_RESULT([not using smr_name library])
-++ else
-++ AC_MSG_WARN([requested smr_name library not found!])
-++ fi
-++ fi
-++ fi
-++
-++ popdef([smr_name])
-++ popdef([smr_libname])
-++ popdef([smr_help_string])
-++ popdef([smr_function])
-++ popdef([smr_header])
-++ popdef([smr_extra_libs])
-++ popdef([smr_extra_flags])
-++ popdef([smr_prototype])
-++ popdef([smr_safe_name])
-++])
---- xpdf-3.02.orig/debian/patches-obselete/05_gmem.dpatch
-+++ xpdf-3.02/debian/patches-obselete/05_gmem.dpatch
-@@ -0,0 +1,97 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 05_gmem.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Change all size parameters to size_t (why?)
-+
-+@DPATCH@
-+diff -urNad --exclude=CVS --exclude=.svn ./goo/gmem.c /tmp/dpep-work.0qyf6L/xpdf-3.01/goo/gmem.c
-+--- ./goo/gmem.c 2005-08-19 19:02:18.000000000 +1000
-++++ /tmp/dpep-work.0qyf6L/xpdf-3.01/goo/gmem.c 2005-08-19 19:05:34.000000000 +1000
-+@@ -54,9 +54,9 @@
-+
-+ #endif /* DEBUG_MEM */
-+
-+-void *gmalloc(int size) {
-++void *gmalloc(size_t size) {
-+ #ifdef DEBUG_MEM
-+- int size1;
-++ size_t size1;
-+ char *mem;
-+ GMemHdr *hdr;
-+ void *data;
-+@@ -96,11 +96,11 @@
-+ #endif
-+ }
-+
-+-void *grealloc(void *p, int size) {
-++void *grealloc(void *p, size_t size) {
-+ #ifdef DEBUG_MEM
-+ GMemHdr *hdr;
-+ void *q;
-+- int oldSize;
-++ size_t oldSize;
-+
-+ if (size == 0) {
-+ if (p)
-+@@ -137,8 +137,8 @@
-+ #endif
-+ }
-+
-+-void *gmallocn(int nObjs, int objSize) {
-+- int n;
-++void *gmallocn(int nObjs, size_t objSize) {
-++ size_t n;
-+
-+ n = nObjs * objSize;
-+ if (objSize == 0 || n / objSize != nObjs) {
-+@@ -148,8 +148,8 @@
-+ return gmalloc(n);
-+ }
-+
-+-void *greallocn(void *p, int nObjs, int objSize) {
-+- int n;
-++void *greallocn(void *p, int nObjs, size_t objSize) {
-++ size_t n;
-+
-+ n = nObjs * objSize;
-+ if (objSize == 0 || n / objSize != nObjs) {
-+@@ -161,7 +161,7 @@
-+
-+ void gfree(void *p) {
-+ #ifdef DEBUG_MEM
-+- int size;
-++ size_t size;
-+ GMemHdr *hdr;
-+ GMemHdr *prevHdr, *q;
-+ int lst;
-+diff -urNad --exclude=CVS --exclude=.svn ./goo/gmem.h /tmp/dpep-work.0qyf6L/xpdf-3.01/goo/gmem.h
-+--- ./goo/gmem.h 2005-08-19 19:02:18.000000000 +1000
-++++ /tmp/dpep-work.0qyf6L/xpdf-3.01/goo/gmem.h 2005-08-19 19:04:24.000000000 +1000
-+@@ -19,13 +19,13 @@
-+ * Same as malloc, but prints error message and exits if malloc()
-+ * returns NULL.
-+ */
-+-extern void *gmalloc(int size);
-++extern void *gmalloc(size_t size);
-+
-+ /*
-+ * Same as realloc, but prints error message and exits if realloc()
-+ * returns NULL. If <p> is NULL, calls malloc instead of realloc().
-+ */
-+-extern void *grealloc(void *p, int size);
-++extern void *grealloc(void *p, size_t size);
-+
-+ /*
-+ * These are similar to gmalloc and grealloc, but take an object count
-+@@ -33,8 +33,8 @@
-+ * bytes, but there is an additional error check that the total size
-+ * doesn't overflow an int.
-+ */
-+-extern void *gmallocn(int nObjs, int objSize);
-+-extern void *greallocn(void *p, int nObjs, int objSize);
-++extern void *gmallocn(int nObjs, size_t objSize);
-++extern void *greallocn(void *p, int nObjs, size_t objSize);
-+
-+ /*
-+ * Same as free, but checks for and ignores NULL pointers.
---- xpdf-3.02.orig/debian/patches-obselete/00list
-+++ xpdf-3.02/debian/patches-obselete/00list
-@@ -0,0 +1,10 @@
-+# Security fixes:
-+04_freetype-glyph.dpatch
-+05_gmem.dpatch
-+06_splashpath.dpatch
-+07_decrypt.dpatch
-+08_core_action.dpatch
-+23_security3.dpatch
-+# Fix for full screen handling (bug#247602)
-+31_fullscreen.patch
-+32_vscroll.patch
---- xpdf-3.02.orig/debian/patches-obselete/31_fullscreen.dpatch
-+++ xpdf-3.02/debian/patches-obselete/31_fullscreen.dpatch
-@@ -0,0 +1,45 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 31_fullscreen.dpatch by Junichi Uekawa <dancer@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: NETWM support, rediff of 247602 by Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
-+
-+@DPATCH@
-+diff -urNad xpdf-3.01~/xpdf/XPDFViewer.cc xpdf-3.01/xpdf/XPDFViewer.cc
-+--- xpdf-3.01~/xpdf/XPDFViewer.cc 2006-07-12 23:58:06.000000000 +0900
-++++ xpdf-3.01/xpdf/XPDFViewer.cc 2006-07-12 23:59:42.000000000 +0900
-+@@ -1049,6 +1049,9 @@
-+ #endif
-+ int depth;
-+ Pixel fg, bg, arm;
-++ Atom wmStateAtom;
-++ Atom wmStateFullscreenAtom;
-++ XClientMessageEvent event;
-+
-+ // show the window
-+ XtPopup(win, XtGrabNone);
-+@@ -1240,6 +1243,24 @@
-+ about_height,
-+ fg, arm, depth),
-+ NULL);
-++ if (app->getFullScreen()) {
-++ XtUnmanageChild(toolBar);
-++ wmStateAtom = XInternAtom(display, "_NET_WM_STATE", False);
-++ wmStateFullscreenAtom = XInternAtom(display, "_NET_WM_STATE_FULLSCREEN", False);
-++ event.type = ClientMessage;
-++ event.serial = 0;
-++ event.send_event = True;
-++ event.window = XtWindow(win);
-++ event.message_type = wmStateAtom;
-++ event.format = 32;
-++ event.data.l[0] = 1; /* _NET_WM_STATE_ADD */
-++ event.data.l[1] = wmStateFullscreenAtom;
-++ event.data.l[2] = 0;
-++ event.data.l[3] = 0;
-++ event.data.l[4] = 0;
-++ XSendEvent(display, RootWindow(display, screenNum), False,
-++ SubstructureRedirectMask | SubstructureNotifyMask, (XEvent *)&event);
-++ }
-+ }
-+
-+ void XPDFViewer::closeWindow() {
---- xpdf-3.02.orig/debian/patches-obselete/08_core_action.dpatch
-+++ xpdf-3.02/debian/patches-obselete/08_core_action.dpatch
-@@ -0,0 +1,20 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 08_core_action.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: No description.
-+
-+@DPATCH@
-+diff -urNad --exclude=CVS --exclude=.svn ./xpdf/XPDFCore.cc /tmp/dpep-work.ujprcX/xpdf-3.01/xpdf/XPDFCore.cc
-+--- ./xpdf/XPDFCore.cc 2005-08-19 18:27:53.000000000 +1000
-++++ /tmp/dpep-work.ujprcX/xpdf-3.01/xpdf/XPDFCore.cc 2005-08-19 18:52:50.000000000 +1000
-+@@ -452,6 +452,9 @@
-+ GString *msg;
-+ int i;
-+
-++ if (action == 0)
-++ return;
-++
-+ switch (kind = action->getKind()) {
-+
-+ // GoTo / GoToR action
---- xpdf-3.02.orig/debian/patches-obselete/32_vscroll.dpatch
-+++ xpdf-3.02/debian/patches-obselete/32_vscroll.dpatch
-@@ -0,0 +1,98 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 32_vscroll.dpatch by Junichi Uekawa <dancer@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: remove scrollbar patch, updated from 247602 by Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
-+
-+@DPATCH@
-+diff -urNad xpdf-3.01~/xpdf/XPDFCore.cc xpdf-3.01/xpdf/XPDFCore.cc
-+--- xpdf-3.01~/xpdf/XPDFCore.cc 2006-07-13 00:06:46.000000000 +0900
-++++ xpdf-3.01/xpdf/XPDFCore.cc 2006-07-13 00:08:17.000000000 +0900
-+@@ -881,39 +881,40 @@
-+ XtSetArg(args[n], XmNvisualPolicy, XmVARIABLE); ++n;
-+ scrolledWin = XmCreateScrolledWindow(parentWidget, "scroll", args, n);
-+ XtManageChild(scrolledWin);
-+- n = 0;
-+- XtSetArg(args[n], XmNorientation, XmHORIZONTAL); ++n;
-+- XtSetArg(args[n], XmNminimum, 0); ++n;
-+- XtSetArg(args[n], XmNmaximum, 1); ++n;
-+- XtSetArg(args[n], XmNsliderSize, 1); ++n;
-+- XtSetArg(args[n], XmNvalue, 0); ++n;
-+- XtSetArg(args[n], XmNincrement, 1); ++n;
-+- XtSetArg(args[n], XmNpageIncrement, 1); ++n;
-+- hScrollBar = XmCreateScrollBar(scrolledWin, "hScrollBar", args, n);
-+- XtManageChild(hScrollBar);
-+- XtAddCallback(hScrollBar, XmNvalueChangedCallback,
-+- &hScrollChangeCbk, (XtPointer)this);
-++ if (!fullScreen) {
-++ n = 0;
-++ XtSetArg(args[n], XmNorientation, XmHORIZONTAL); ++n;
-++ XtSetArg(args[n], XmNminimum, 0); ++n;
-++ XtSetArg(args[n], XmNmaximum, 1); ++n;
-++ XtSetArg(args[n], XmNsliderSize, 1); ++n;
-++ XtSetArg(args[n], XmNvalue, 0); ++n;
-++ XtSetArg(args[n], XmNincrement, 1); ++n;
-++ XtSetArg(args[n], XmNpageIncrement, 1); ++n;
-++ hScrollBar = XmCreateScrollBar(scrolledWin, "hScrollBar", args, n);
-++ XtManageChild(hScrollBar);
-++ XtAddCallback(hScrollBar, XmNvalueChangedCallback,
-++ &hScrollChangeCbk, (XtPointer)this);
-+ #ifndef DISABLE_SMOOTH_SCROLL
-+- XtAddCallback(hScrollBar, XmNdragCallback,
-+- &hScrollDragCbk, (XtPointer)this);
-++ XtAddCallback(hScrollBar, XmNdragCallback,
-++ &hScrollDragCbk, (XtPointer)this);
-+ #endif
-+- n = 0;
-+- XtSetArg(args[n], XmNorientation, XmVERTICAL); ++n;
-+- XtSetArg(args[n], XmNminimum, 0); ++n;
-+- XtSetArg(args[n], XmNmaximum, 1); ++n;
-+- XtSetArg(args[n], XmNsliderSize, 1); ++n;
-+- XtSetArg(args[n], XmNvalue, 0); ++n;
-+- XtSetArg(args[n], XmNincrement, 1); ++n;
-+- XtSetArg(args[n], XmNpageIncrement, 1); ++n;
-+- vScrollBar = XmCreateScrollBar(scrolledWin, "vScrollBar", args, n);
-+- XtManageChild(vScrollBar);
-+- XtAddCallback(vScrollBar, XmNvalueChangedCallback,
-+- &vScrollChangeCbk, (XtPointer)this);
-++ n = 0;
-++ XtSetArg(args[n], XmNorientation, XmVERTICAL); ++n;
-++ XtSetArg(args[n], XmNminimum, 0); ++n;
-++ XtSetArg(args[n], XmNmaximum, 1); ++n;
-++ XtSetArg(args[n], XmNsliderSize, 1); ++n;
-++ XtSetArg(args[n], XmNvalue, 0); ++n;
-++ XtSetArg(args[n], XmNincrement, 1); ++n;
-++ XtSetArg(args[n], XmNpageIncrement, 1); ++n;
-++ vScrollBar = XmCreateScrollBar(scrolledWin, "vScrollBar", args, n);
-++ XtManageChild(vScrollBar);
-++ XtAddCallback(vScrollBar, XmNvalueChangedCallback,
-++ &vScrollChangeCbk, (XtPointer)this);
-+ #ifndef DISABLE_SMOOTH_SCROLL
-+- XtAddCallback(vScrollBar, XmNdragCallback,
-+- &vScrollDragCbk, (XtPointer)this);
-++ XtAddCallback(vScrollBar, XmNdragCallback,
-++ &vScrollDragCbk, (XtPointer)this);
-+ #endif
-+-
-++ }
-+ // create the drawing area
-+ n = 0;
-+ XtSetArg(args[n], XmNshadowType, XmSHADOW_IN); ++n;
-+@@ -1459,7 +1460,7 @@
-+ XtSetArg(args[n], XmNsliderSize, drawAreaWidth); ++n;
-+ XtSetArg(args[n], XmNincrement, 16); ++n;
-+ XtSetArg(args[n], XmNpageIncrement, drawAreaWidth); ++n;
-+- XtSetValues(hScrollBar, args, n);
-++ if (hScrollBar) XtSetValues(hScrollBar, args, n);
-+
-+ if (pages->getLength() > 0) {
-+ if (continuousMode) {
-+@@ -1479,7 +1480,7 @@
-+ XtSetArg(args[n], XmNsliderSize, drawAreaHeight); ++n;
-+ XtSetArg(args[n], XmNincrement, 16); ++n;
-+ XtSetArg(args[n], XmNpageIncrement, drawAreaHeight); ++n;
-+- XtSetValues(vScrollBar, args, n);
-++ if (vScrollBar) XtSetValues(vScrollBar, args, n);
-+ }
-+
-+ void XPDFCore::setCursor(Cursor cursor) {
---- xpdf-3.02.orig/debian/patches-obselete/23_security3.dpatch
-+++ xpdf-3.02/debian/patches-obselete/23_security3.dpatch
-@@ -0,0 +1,45 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 23_security3.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Red Hat-supplied patch for CAN-2006-0301
-+
-+@DPATCH@
-+diff -urNad xpdf-3.01~/splash/Splash.cc xpdf-3.01/splash/Splash.cc
-+--- xpdf-3.01~/splash/Splash.cc 2006-02-01 20:41:14.000000000 +1100
-++++ xpdf-3.01/splash/Splash.cc 2006-02-01 20:41:41.000000000 +1100
-+@@ -931,6 +931,10 @@
-+ int alpha2, ialpha2;
-+ Guchar t;
-+
-++ if ( (unsigned) x >= (unsigned) bitmap->getWidth() ||
-++ (unsigned) y >= (unsigned) bitmap->getHeight())
-++ return;
-++
-+ if (noClip || state->clip->test(x, y)) {
-+ if (alpha != 1 || softMask || state->blendFunc) {
-+ blendFunc = state->blendFunc ? state->blendFunc : &blendNormal;
-+@@ -1198,6 +1202,11 @@
-+ updateModY(y);
-+ }
-+
-++ if ((unsigned) x0 >= (unsigned) bitmap->getWidth() ||
-++ (unsigned) x1 >= (unsigned) bitmap->getWidth() ||
-++ (unsigned) y >= (unsigned) bitmap->getHeight())
-++ return;
-++
-+ if (alpha != 1 || softMask || state->blendFunc) {
-+ blendFunc = state->blendFunc ? state->blendFunc : &blendNormal;
-+ if (softMask) {
-+@@ -1828,6 +1837,11 @@
-+ updateModY(y);
-+ }
-+
-++ if ((unsigned) x0 >= (unsigned) bitmap->getWidth() ||
-++ (unsigned) x1 >= (unsigned) bitmap->getWidth() ||
-++ (unsigned) y >= (unsigned) bitmap->getHeight())
-++ return;
-++
-+ switch (bitmap->mode) {
-+ case splashModeMono1:
-+ p = &bitmap->data[y * bitmap->rowSize + (x0 >> 3)];
---- xpdf-3.02.orig/debian/patches-obselete/06_splashpath.dpatch
-+++ xpdf-3.02/debian/patches-obselete/06_splashpath.dpatch
-@@ -0,0 +1,20 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 06_splashpath.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: No description.
-+
-+@DPATCH@
-+diff -urNad --exclude=CVS --exclude=.svn ./splash/Splash.cc /tmp/dpep-work.Z6NPbI/xpdf-3.01/splash/Splash.cc
-+--- ./splash/Splash.cc 2005-08-17 15:34:30.000000000 +1000
-++++ /tmp/dpep-work.Z6NPbI/xpdf-3.01/splash/Splash.cc 2005-08-19 18:36:11.000000000 +1000
-+@@ -820,6 +820,9 @@
-+ if (path->length == 0) {
-+ return splashErrEmptyPath;
-+ }
-++ if (path->length == 1) {
-++ return splashErrBogusPath;
-++ }
-+ xPath = new SplashXPath(path, state->flatness, gTrue);
-+ xPath->sort();
-+ scanner = new SplashXPathScanner(xPath, eo);
---- xpdf-3.02.orig/debian/xpdfrc
-+++ xpdf-3.02/debian/xpdfrc
-@@ -0,0 +1,96 @@
-+#========================================================================
-+#
-+# System-wide xpdfrc file
-+#
-+# The Xpdf tools look for a config file in two places:
-+# 1. ~/.xpdfrc
-+# 2. /etc/xpdf/xpdfrc
-+#
-+# Note that if ~/.xpdfrc exists, Xpdf will NOT read the system
-+# configuration file /etc/xpdf/xpdfrc. You may wish to include it
-+# from your ~/.xpdfrc using:
-+# include /etc/xpdf/xpdfrc
-+# and then add additional settings.
-+#
-+# For complete details on config file syntax and available options,
-+# please see the xpdfrc(5) man page.
-+#
-+# http://www.foolabs.com/xpdf/
-+#
-+#========================================================================
-+
-+#----- display fonts
-+
-+# These map the Base-14 fonts to the Type 1 fonts that ship with
-+# ghostscript (gsfonts package).
-+
-+displayFontT1 Times-Roman /usr/share/fonts/type1/gsfonts/n021003l.pfb
-+displayFontT1 Times-Italic /usr/share/fonts/type1/gsfonts/n021023l.pfb
-+displayFontT1 Times-Bold /usr/share/fonts/type1/gsfonts/n021004l.pfb
-+displayFontT1 Times-BoldItalic /usr/share/fonts/type1/gsfonts/n021024l.pfb
-+displayFontT1 Helvetica /usr/share/fonts/type1/gsfonts/n019003l.pfb
-+displayFontT1 Helvetica-Oblique /usr/share/fonts/type1/gsfonts/n019023l.pfb
-+displayFontT1 Helvetica-Bold /usr/share/fonts/type1/gsfonts/n019004l.pfb
-+displayFontT1 Helvetica-BoldOblique /usr/share/fonts/type1/gsfonts/n019024l.pfb
-+displayFontT1 Courier /usr/share/fonts/type1/gsfonts/n022003l.pfb
-+displayFontT1 Courier-Oblique /usr/share/fonts/type1/gsfonts/n022023l.pfb
-+displayFontT1 Courier-Bold /usr/share/fonts/type1/gsfonts/n022004l.pfb
-+displayFontT1 Courier-BoldOblique /usr/share/fonts/type1/gsfonts/n022024l.pfb
-+displayFontT1 Symbol /usr/share/fonts/type1/gsfonts/s050000l.pfb
-+displayFontT1 ZapfDingbats /usr/share/fonts/type1/gsfonts/d050000l.pfb
-+
-+# If you need to display PDF files that refer to non-embedded fonts,
-+# you should add one or more fontDir options to point to the
-+# directories containing the font files. Xpdf will only look at .pfa,
-+# .pfb, and .ttf files in those directories (other files will simply
-+# be ignored).
-+
-+#fontDir /usr/local/fonts/bakoma
-+
-+#----- PostScript output control
-+
-+# Set the default PostScript file or command.
-+
-+psFile "|lpr"
-+
-+# Set the default PostScript paper size -- this can be letter, legal,
-+# A4, or A3. You can also specify a paper size as width and height
-+# (in points). Xpdf uses the paper size in /etc/papersize by default.
-+
-+#psPaperSize letter
-+
-+#----- text output control
-+
-+# Choose a text encoding for copy-and-paste and for pdftotext output.
-+# The Latin1, ASCII7, and UTF-8 encodings are built into Xpdf. Other
-+# encodings are available in the language support packages.
-+
-+#textEncoding UTF-8
-+
-+# Choose the end-of-line convention for multi-line copy-and-past and
-+# for pdftotext output. The available options are unix, mac, and dos.
-+
-+#textEOL unix
-+
-+#----- misc settings
-+
-+# Enable Type 1 font rasterizing with t1lib. Default "yes".
-+
-+#enableT1lib no
-+
-+# Enable TrueType and Type 1 font rasterizing with FreeType. Default "yes".
-+
-+#enableFreeType no
-+
-+# Enable anti-aliasing of fonts. Default "yes".
-+
-+#antialias no
-+
-+# Set the command used to run a web browser when a URL hyperlink is
-+# clicked.
-+
-+urlCommand "sensible-browser '%s'"
-+
-+# Include the language configuration file list generated by update-xpdfrc
-+include /etc/xpdf/includes
-+
---- xpdf-3.02.orig/debian/xpdf-common.postinst
-+++ xpdf-3.02/debian/xpdf-common.postinst
-@@ -0,0 +1,20 @@
-+#!/bin/sh
-+set -e
-+
-+if [ "$1" = "configure" ]; then
-+ /usr/sbin/update-xpdfrc
-+fi
-+
-+# Remove old /etc/xpdfrc if present
-+rm -f /etc/xpdfrc
-+
-+# Move accidental /etc/xpdf/xpdf-* language files
-+# to their proper names (bug in 2.01-1)
-+for i in cyrillic greek hebrew latin2 thai turkish; do
-+ if [ -e /etc/xpdf/xpdf-$i ]; then
-+ mv /etc/xpdf/xpdf-$i /etc/xpdf/xpdfrc-$i
-+ fi
-+done
-+
-+#DEBHELPER#
-+
---- xpdf-3.02.orig/debian/control
-+++ xpdf-3.02/debian/control
-@@ -0,0 +1,75 @@
-+Source: xpdf
-+Section: text
-+Priority: optional
-+Maintainer: Hamish Moffatt <hamish@debian.org>
-+Standards-Version: 3.7.2
-+Build-Depends: libt1-dev (>= 5.0.2-3), libxext-dev, libxp-dev, libxt-dev, libxpm-dev, libx11-dev, lesstif2-dev | libmotif-dev, x-dev, debhelper (>= 4.2.21), libfreetype6-dev (>= 2.1.2-1), libpaper-dev | libpaperg-dev, pkg-config, dpatch, automake1.9, autoconf
-+Build-Conflicts: libttf-dev, libstroke0-dev, autoconf2.13
-+
-+Package: xpdf
-+Architecture: all
-+Depends: xpdf-reader, xpdf-utils, xpdf-common
-+Conflicts: xpdf-i (<= 0.90-8)
-+Replaces: xpdf-i (<= 0.90-8)
-+Description: Portable Document Format (PDF) suite
-+ xpdf is a suite of tools for Portable Document Format (PDF) files. (These are
-+ sometimes called 'Acrobat' files after the name of Adobe's PDF software.)
-+ .
-+ The tools include xpdf, a PDF viewer (in the package xpdf-reader),
-+ and PDF converters (including to/from PostScript) (in the package
-+ xpdf-utils).
-+ .
-+ This package is intended for compatibility with previous versions of
-+ this package only. You can safely remove it from your system.
-+
-+Package: xpdf-common
-+Architecture: all
-+Conflicts: xpdf (<= 0.93-6), xpdf-cyrillic, xpdf-greek, xpdf-hebrew, xpdf-latin2, xpdf-thai, xpdf-turkish
-+Replaces: xpdf-cyrillic, xpdf-greek, xpdf-hebrew, xpdf-latin2, xpdf-thai, xpdf-turkish
-+Suggests: xpdf-reader | xpdf-utils
-+Recommends: gsfonts-x11
-+Description: Portable Document Format (PDF) suite -- common files
-+ xpdf is a suite of tools for Portable Document Format (PDF) files. (These are
-+ sometimes called 'Acrobat' files after the name of Adobe's PDF software.)
-+ .
-+ This package contains common files needed by the other xpdf packages.
-+
-+Package: xpdf-reader
-+Architecture: any
-+Depends: ${shlibs:Depends}, gsfonts (>= 6.0-1), xpdf-common (>= ${source:Version}), xpdf-common (<< ${source:Version}.1~)
-+Provides: pdf-viewer, postscript-preview
-+Conflicts: xpdf-i (<= 0.90-8), xpdf (<= 0.93-6)
-+Suggests: www-browser
-+Description: Portable Document Format (PDF) suite -- viewer for X11
-+ xpdf is a suite of tools for Portable Document Format (PDF) files. (These are
-+ sometimes called 'Acrobat' files after the name of Adobe's PDF software.)
-+ .
-+ This package contains xpdf itself, a PDF viewer for X11.
-+ xpdf is designed to be small and efficient. xpdf supports encrypted
-+ PDF files. Standard X fonts, Truetype fonts and Type 1 fonts are supported.
-+ .
-+ This package also contains pdftoppm, a utility for converting
-+ PDF files to PBM, PGM and PPM formats.
-+ .
-+ See also the xpdf-utils package for conversion utilities and the
-+ other xpdf-* packages for additional language support.
-+
-+Package: xpdf-utils
-+Architecture: any
-+Depends: ${shlibs:Depends}, gsfonts (>= 6.0-1), xpdf-common (>= ${source:Version}), xpdf-common (<< ${source:Version}.1~)
-+Provides: pdf-viewer, postscript-preview, poppler-utils
-+Conflicts: xpdf-i (<= 0.90-8), xpdf (<= 0.93-6), poppler-utils
-+Replaces: poppler-utils
-+Suggests: pdftk
-+Description: Portable Document Format (PDF) suite -- utilities
-+ xpdf is a suite of tools for Portable Document Format (PDF) files. (These are
-+ sometimes called 'Acrobat' files after the name of Adobe's PDF software.)
-+ .
-+ This package contains pdftops (PDF to PostScript converter),
-+ pdfinfo (PDF document information extractor), pdfimages
-+ (PDF image extractor), pdftotext (PDF to text converter), and
-+ pdffonts (PDF font analyzer).
-+ .
-+ To view PDF files, see the xpdf-reader package. That package
-+ also contains pdftoppm (PDF to Portable Bitmap converter).
-+
---- xpdf-3.02.orig/debian/xpdf-reader.mime
-+++ xpdf-3.02/debian/xpdf-reader.mime
-@@ -0,0 +1,2 @@
-+application/pdf; /usr/bin/xpdf %s; test=test "$DISPLAY" != ""; description=Portable Document Format; nametemplate=%s.pdf; priority=6
-+application/x-pdf; /usr/bin/xpdf %s; test=test "$DISPLAY" != ""; description=Portable Document Format; nametemplate=%s.pdf; priority=6
---- xpdf-3.02.orig/debian/xpdf-common.dirs
-+++ xpdf-3.02/debian/xpdf-common.dirs
-@@ -0,0 +1,7 @@
-+usr/share/doc/xpdf-common
-+usr/share/doc/xpdf-common/examples
-+usr/share/man/man5
-+usr/share/man/man8
-+usr/share/xpdf
-+usr/sbin
-+etc/xpdf
---- xpdf-3.02.orig/debian/update-xpdfrc
-+++ xpdf-3.02/debian/update-xpdfrc
-@@ -0,0 +1,22 @@
-+#!/bin/sh
-+set -e
-+
-+TARGET=/etc/xpdf/includes
-+
-+# Generate /etc/xpdf/includes from /etc/xpdf/*
-+# This allows the xpdf-* language add-on packages
-+# to supply configuration file snippets.
-+
-+echo \# DO NOT EDIT THIS FILE DIRECTLY. >> $TARGET
-+echo \# This file was automatically generated by /usr/sbin/update-xpdfrc. > $TARGET
-+echo \# Instead, add or remove files in /etc/xpdf/ then run >> $TARGET
-+echo \# /usr/sbin/update-xpdfrc to regenerate this file. >> $TARGET
-+echo >> $TARGET
-+
-+find /etc/xpdf \
-+ -name xpdfrc-\* \
-+ -and -not -name \*.dpkg\* \
-+ -and -not -name \*~ \
-+ -and -not -name \*,v \
-+ -printf "include %p\n" >> $TARGET
-+
---- xpdf-3.02.orig/debian/xpdf-reader.files
-+++ xpdf-3.02/debian/xpdf-reader.files
-@@ -0,0 +1,4 @@
-+usr/share/man/man1/pdftoppm.1
-+usr/share/man/man1/xpdf.1
-+usr/bin/xpdf
-+usr/bin/pdftoppm
---- xpdf-3.02.orig/debian/update-xpdfrc.8
-+++ xpdf-3.02/debian/update-xpdfrc.8
-@@ -0,0 +1,46 @@
-+.\" Please adjust this date whenever revising the manpage.
-+.\"
-+.\" Some roff macros, for reference:
-+.\" .nh disable hyphenation
-+.\" .hy enable hyphenation
-+.\" .ad l left justify
-+.\" .ad b justify to both left and right margins
-+.\" .nf disable filling
-+.\" .fi enable filling
-+.\" .br insert line break
-+.\" .sp <n> insert n+1 empty lines
-+.\" for manpage-specific macros, see man(7)
-+.TH "update-xpdfrc" "8" "October 22, 2002" "Hamish Moffatt"
-+.SH "NAME"
-+update\-xpdfrc \- program to generate xpdf's configuration file
-+.SH "SYNOPSIS"
-+.B update\-xdfrc
-+.SH "DESCRIPTION"
-+.B \fBupdate\-xpdfrc\fR
-+is a program used to generate part of the \fIxpdfrc(5)\fR file used
-+by xpdf. The generated configuration file contains a list of the
-+configuration snippets provided by the xpdf-* language packages.
-+
-+You may edit the file \fI/etc/xpdfrc\fR to configure xpdf.
-+However, do not edit the generated file \fI/etc/xpdf/includes\fR.
-+It is updated whenever a language package is added or removed.
-+You must include the file /etc/xpdf/includes in your xpdfrc
-+to make use of this functionality.
-+
-+The language support packages (xpdf-japanese etc) provide additional
-+configuration files such as \fI/etc/xpdf/xpdfrc-japanese\fR, which will be
-+listed in the generated \fI/etc/xpdf/includes\fR.
-+
-+.SH "FILES"
-+.nf
-+.ta \w'/etc/xpdf/xpdfrc\-* 'u
-+/etc/xpdf/xpdfrc main configuration file
-+.br
-+/etc/xpdf/xpdf\-* additional configuration files
-+.SH "SEE ALSO"
-+.BR xpdfrc (5),
-+.BR xpdf (1).
-+.SH "AUTHOR"
-+This manual page and the update-xpdfrc utility was written by Hamish Moffatt <hamish@debian.org>
-+for the Debian GNU/Linux system (but may be used by others).
-+.\" vim:syn=nroff
---- xpdf-3.02.orig/debian/xpdf.postinst
-+++ xpdf-3.02/debian/xpdf.postinst
-@@ -0,0 +1,18 @@
-+#!/bin/sh
-+set -e
-+
-+# Attempt to remove the /usr/share/doc/xpdf directory.
-+# If it exists. dpkg won't replace it with the symbolic
-+# link.
-+
-+if [ "$1" = "configure" ]; then
-+
-+ if [ -d /usr/share/doc/xpdf ]; then
-+ rm -rf /usr/share/doc/xpdf
-+ ln -sf xpdf-common /usr/share/doc/xpdf
-+ fi
-+
-+fi
-+
-+#DEBHELPER#
-+
---- xpdf-3.02.orig/debian/xpdf-utils.dirs
-+++ xpdf-3.02/debian/xpdf-utils.dirs
-@@ -0,0 +1,3 @@
-+usr/share/doc
-+usr/share/man/man1
-+usr/bin
---- xpdf-3.02.orig/debian/compat
-+++ xpdf-3.02/debian/compat
-@@ -0,0 +1 @@
-+4
---- xpdf-3.02.orig/debian/lang/etc/xpdf/xpdfrc-cyrillic
-+++ xpdf-3.02/debian/lang/etc/xpdf/xpdfrc-cyrillic
-@@ -0,0 +1,4 @@
-+#----- begin Cyrillic support package (2003-jun-28)
-+nameToUnicode /usr/share/xpdf/cyrillic/Bulgarian.nameToUnicode
-+unicodeMap KOI8-R /usr/share/xpdf/cyrillic/KOI8-R.unicodeMap
-+#----- end Cyrillic support package
---- xpdf-3.02.orig/debian/lang/etc/xpdf/xpdfrc-hebrew
-+++ xpdf-3.02/debian/lang/etc/xpdf/xpdfrc-hebrew
-@@ -0,0 +1,4 @@
-+#----- begin Hebrew support package (2003-feb-16)
-+unicodeMap ISO-8859-8 /usr/share/xpdf/hebrew/ISO-8859-8.unicodeMap
-+unicodeMap Windows-1255 /usr/share/xpdf/hebrew/Windows-1255.unicodeMap
-+#----- end Hebrew support package
---- xpdf-3.02.orig/debian/lang/etc/xpdf/xpdfrc-latin2
-+++ xpdf-3.02/debian/lang/etc/xpdf/xpdfrc-latin2
-@@ -0,0 +1,3 @@
-+#----- begin Latin2 support package (2002-oct-22)
-+unicodeMap Latin2 /usr/share/xpdf/latin2/Latin2.unicodeMap
-+#----- end Latin2 support package
---- xpdf-3.02.orig/debian/lang/etc/xpdf/xpdfrc-turkish
-+++ xpdf-3.02/debian/lang/etc/xpdf/xpdfrc-turkish
-@@ -0,0 +1,3 @@
-+#----- begin Turkish support package (2002-apr-10)
-+unicodeMap ISO-8859-9 /usr/share/xpdf/turkish/ISO-8859-9.unicodeMap
-+#----- end Turkish support package
---- xpdf-3.02.orig/debian/lang/etc/xpdf/xpdfrc-greek
-+++ xpdf-3.02/debian/lang/etc/xpdf/xpdfrc-greek
-@@ -0,0 +1,4 @@
-+#----- begin Greek support package (2002-feb-13)
-+nameToUnicode /usr/share/xpdf/greek/Greek.nameToUnicode
-+unicodeMap ISO-8859-7 /usr/share/xpdf/greek/ISO-8859-7.unicodeMap
-+#----- end Greek support package
---- xpdf-3.02.orig/debian/lang/etc/xpdf/xpdfrc-arabic
-+++ xpdf-3.02/debian/lang/etc/xpdf/xpdfrc-arabic
-@@ -0,0 +1,3 @@
-+#----- begin Arabic support package (2003-feb-16)
-+unicodeMap ISO-8859-6 /usr/share/xpdf/arabic/ISO-8859-6.unicodeMap
-+#----- end Arabic support package
---- xpdf-3.02.orig/debian/lang/etc/xpdf/xpdfrc-thai
-+++ xpdf-3.02/debian/lang/etc/xpdf/xpdfrc-thai
-@@ -0,0 +1,4 @@
-+#----- begin Thai support package (2002-jan-16)
-+nameToUnicode /usr/share/xpdf/thai/Thai.nameToUnicode
-+unicodeMap TIS-620 /usr/share/xpdf/thai/TIS-620.unicodeMap
-+#----- end Thai support package
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/hebrew/Windows-1255.unicodeMap
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/hebrew/Windows-1255.unicodeMap
-@@ -0,0 +1,66 @@
-+000a 000a 0a
-+000c 000d 0c
-+0020 007e 20
-+00a0 00a3 a0
-+00a5 00a9 a5
-+00ab 00b9 ab
-+00bb 00bf bb
-+00d7 aa
-+00f7 ba
-+010c 43
-+010d 63
-+0131 69
-+0141 4c
-+0142 6c
-+0152 4f45
-+0153 6f65
-+0160 53
-+0161 73
-+0178 59
-+017d 5a
-+017e 7a
-+0192 83
-+02c6 88
-+02da b0
-+02dc 98
-+05b0 05b9 c0
-+05bb 05c3 cb
-+05f0 05f4 d4
-+05d0 05ea e0
-+200e 200f fd
-+2013 2014 96
-+2018 2019 91
-+201a 82
-+201c 201d 93
-+201e 84
-+2020 86
-+2021 87
-+2022 95
-+2026 85
-+2030 89
-+2039 8b
-+203a 9b
-+2044 2f
-+20aa a4
-+20ac 80
-+2122 99
-+2212 2d
-+f6f9 4c
-+f6fa 4f45
-+f6fc b0
-+f6fd 53
-+f6fe 7e
-+f6ff 5a
-+f721 21
-+f724 24
-+f726 26
-+f730 f739 30
-+f73f 3f
-+f761 f77a 41
-+f7a1 f7a2 a1
-+f7bf bf
-+fb00 6666
-+fb01 6669
-+fb02 666c
-+fb03 666669
-+fb04 66666c
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/hebrew/ISO-8859-8.unicodeMap
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/hebrew/ISO-8859-8.unicodeMap
-@@ -0,0 +1,63 @@
-+000a 000a 0a
-+000c 000d 0c
-+0020 007e 20
-+00a0 00a0 20
-+00a2 00a9 a2
-+00ab 00b9 ab
-+00bb 00be bb
-+010c 43
-+010d 63
-+0131 69
-+0141 4c
-+0142 6c
-+0152 4f45
-+0153 6f65
-+0160 53
-+0161 73
-+0178 59
-+017d 5a
-+017e 7a
-+02c6 5e
-+02da b0
-+02dc 7e
-+05d0 05ea e0
-+05f0 e5e5
-+05f1 e5e9
-+05f2 e9e9
-+2013 ad
-+2014 2d2d
-+2018 60
-+2019 27
-+201a 2c
-+201c 22
-+201d 22
-+201e 2c2c
-+2022 b7
-+2026 2e2e2e
-+2039 3c
-+203a 3e
-+2044 2f
-+2122 544d
-+2212 2d
-+f6f9 4c
-+f6fa 4f45
-+f6fc b0
-+f6fd 53
-+f6fe 7e
-+f6ff 5a
-+f721 21
-+f724 24
-+f726 26
-+f730 f739 30
-+f73f 3f
-+f761 f77a 41
-+f7a1 f7a2 a1
-+f7bf bf
-+f7e0 f7f6 c0
-+f7f8 f7fe d8
-+f7ff 59
-+fb00 6666
-+fb01 6669
-+fb02 666c
-+fb03 666669
-+fb04 66666c
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/arabic/ISO-8859-6.unicodeMap
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/arabic/ISO-8859-6.unicodeMap
-@@ -0,0 +1,40 @@
-+000a 000a 0a
-+000c 000d 0c
-+0020 007e 20
-+00a0 00a0 20
-+00a4 a4
-+00ad ad
-+02c6 5e
-+02dc 7e
-+060c 060c ac
-+061b 061b bb
-+061f 061f bf
-+0621 063a c1
-+0640 0652 e0
-+2013 2013 ad
-+2014 2014 2d2d
-+2018 2018 60
-+2019 2019 27
-+201a 201a 2c
-+201c 201c 22
-+201d 201d 22
-+201e 201e 2c2c
-+2026 2026 2e2e2e
-+2039 2039 3c
-+203a 203a 3e
-+2044 2044 2f
-+2122 2122 544d
-+2212 2212 2d
-+f6f9 f6f9 4c
-+f6fe f6fe 7e
-+f721 f721 21
-+f724 f724 24
-+f726 f726 26
-+f730 f739 30
-+f73f f73f 3f
-+f761 f77a 41
-+fb00 fb00 6666
-+fb01 fb01 6669
-+fb02 fb02 666c
-+fb03 fb03 666669
-+fb04 fb04 66666c
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/thai/Thai.nameToUnicode
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/thai/Thai.nameToUnicode
-@@ -0,0 +1,116 @@
-+0e01 ThaiCharacterKoKai
-+0e02 ThaiCharacterKhoKhai
-+0e03 ThaiCharacterKhoKhuat
-+0e04 ThaiCharacterKhoKhwai
-+0e05 ThaiCharacterKhoKhon
-+0e06 ThaiCharacterKhoRakhang
-+0e07 ThaiCharacterNgoNgu
-+0e08 ThaiCharacterChoChan
-+0e09 ThaiCharacterChoChing
-+0e0a ThaiCharacterChoChang
-+0e0b ThaiCharacterSoSo
-+0e0c ThaiCharacterChoChoe
-+0e0d ThaiCharacterYoYing
-+0e0e ThaiCharacterDoChada
-+0e0f ThaiCharacterToPatak
-+0e10 ThaiCharacterThoThan
-+0e11 ThaiCharacterThoNangmontho
-+0e12 ThaiCharacterThoPhuthao
-+0e13 ThaiCharacterNoNen
-+0e14 ThaiCharacterDoDek
-+0e15 ThaiCharacterToTao
-+0e16 ThaiCharacterThoThung
-+0e17 ThaiCharacterThoThahan
-+0e18 ThaiCharacterThoThong
-+0e19 ThaiCharacterNoNu
-+0e1a ThaiCharacterBoBaimai
-+0e1b ThaiCharacterPoPla
-+0e1c ThaiCharacterPhoPhung
-+0e1d ThaiCharacterFoFa
-+0e1e ThaiCharacterPhoPhan
-+0e1f ThaiCharacterFoFan
-+0e20 ThaiCharacterPhoSamphao
-+0e21 ThaiCharacterMoMa
-+0e22 ThaiCharacterYoYak
-+0e23 ThaiCharacterRoRua
-+0e24 ThaiCharacterRu
-+0e25 ThaiCharacterLoLing
-+0e26 ThaiCharacterLu
-+0e27 ThaiCharacterWoWaen
-+0e28 ThaiCharacterSoSala
-+0e29 ThaiCharacterSoRusi
-+0e2a ThaiCharacterSoSua
-+0e2b ThaiCharacterHoHip
-+0e2c ThaiCharacterLoChula
-+0e2d ThaiCharacterOAng
-+0e2e ThaiCharacterHoNokhuk
-+0e2f ThaiCharacterPaiyannoi
-+0e30 ThaiCharacterSaraA
-+0e31 ThaiCharacterMaiHan-akat
-+0e32 ThaiCharacterSaraAa
-+0e33 ThaiCharacterSaraAm
-+0e34 ThaiCharacterSaraI
-+0e35 ThaiCharacterSaraIi
-+0e36 ThaiCharacterSaraUe
-+0e37 ThaiCharacterSaraUee
-+0e38 ThaiCharacterSaraU
-+0e39 ThaiCharacterSaraUu
-+0e3a ThaiCharacterPhinthu
-+0e3f ThaiCurrencySymbolBaht
-+0e40 ThaiCharacterSaraE
-+0e41 ThaiCharacterSaraAe
-+0e42 ThaiCharacterSaraO
-+0e43 ThaiCharacterSaraAiMaimuan
-+0e44 ThaiCharacterSaraAiMaimalai
-+0e45 ThaiCharacterLakkhangyao
-+0e46 ThaiCharacterMaiyamok
-+0e47 ThaiCharacterMaitaikhu
-+0e48 ThaiCharacterMaiEk
-+0e49 ThaiCharacterMaiTho
-+0e4a ThaiCharacterMaiTri
-+0e4b ThaiCharacterMaiChattawa
-+0e4c ThaiCharacterThanthakhat
-+0e4d ThaiCharacterNikhahit
-+0e4e ThaiCharacterYamakkan
-+0e4f ThaiCharacterFongman
-+0e50 ThaiDigitZero
-+0e51 ThaiDigitOne
-+0e52 ThaiDigitTwo
-+0e53 ThaiDigitThree
-+0e54 ThaiDigitFour
-+0e55 ThaiDigitFive
-+0e56 ThaiDigitSix
-+0e57 ThaiDigitSeven
-+0e58 ThaiDigitEight
-+0e59 ThaiDigitNine
-+0e5a ThaiCharacterAngkhankhu
-+0e5b ThaiCharacterKhomut
-+0e4c ThaiCharacterThanthakhatLowLeft
-+0e49 ThaiCharacterMaiThoLeft
-+0e38 ThaiCharacterSaraULow
-+0e31 ThaiCharacterMaiHanAkat
-+0e4b ThaiCharacterMaiChattawaLeft
-+0e37 ThaiCharacterSaraUeeLeft
-+0e4a ThaiCharacterMaiTriLeft
-+0e3a ThaiCharacterPhinthuLow
-+0e48 ThaiCharacterMaiEkLeft
-+0e49 ThaiCharacterMaiThoLow
-+0e0d ThaiCharacterYoYingDescless
-+0e4b ThaiCharacterMaiChattawaLow
-+0e4a ThaiCharacterMaiTriLow
-+0e48 ThaiCharacterMaiEkLow
-+0e31 ThaiCharacterMaiHanAkatLeft
-+0e4c ThaiCharacterThanthakhatLeft
-+0e34 ThaiCharacterSaraILeft
-+0e4d ThaiCharacterNikhahitLeft
-+0e3f ThaiCharacterBaht
-+0e49 ThaiCharacterMaiThoLowLeft
-+0e4b ThaiCharacterMaiChattawaLowLeft
-+0e4c ThaiCharacterThanthakhatLow
-+0e39 ThaiCharacterSaraUuLow
-+0e4a ThaiCharacterMaiTriLowLeft
-+0e35 ThaiCharacterSaraIiLeft
-+0e48 ThaiCharacterMaiEkLowLeft
-+0e47 ThaiCharacterMaitaikhuLeft
-+0e10 ThaiCharacterThoThanDescless
-+0e36 ThaiCharacterSaraUeLeft
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/thai/TIS-620.unicodeMap
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/thai/TIS-620.unicodeMap
-@@ -0,0 +1,47 @@
-+000a 0a
-+000c 000d 0c
-+0020 007e 20
-+00a0 20
-+0131 69
-+0141 4c
-+0142 6c
-+0152 4f45
-+0153 6f65
-+0160 53
-+0161 73
-+0178 59
-+017d 5a
-+017e 7a
-+02c6 5e
-+02dc 7e
-+0e01 0e3a a1
-+0e3f 0e5b df
-+2013 2d2d
-+2014 2d2d
-+2018 60
-+2019 27
-+201a 2c
-+201c 22
-+201d 22
-+201e 2c2c
-+2022 2a
-+2026 2e2e2e
-+2039 3c
-+203a 3e
-+2044 2f
-+2122 544d
-+2212 2d
-+f700 b0
-+f701 f704 d4
-+f705 f709 e8
-+f70a f70e e8
-+f70f ad
-+f710 d1
-+f711 ed
-+f712 f717 e7
-+f718 f71a d8
-+fb00 6666
-+fb01 6669
-+fb02 666c
-+fb03 666669
-+fb04 66666c
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/greek/ISO-8859-7.unicodeMap
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/greek/ISO-8859-7.unicodeMap
-@@ -0,0 +1,63 @@
-+000a 0a
-+000c 000d 0c
-+0020 007e 20
-+00a0 a0
-+00a3 a3
-+00a6 00a9 a6
-+00ab 00ad ab
-+00b0 00b4 b0
-+00b5 ec
-+00b7 b7
-+00bb bb
-+00bd bd
-+02c6 5e
-+02da b0
-+02dc 7e
-+0374 b4
-+037e 3b
-+0384 038a b4
-+038c bc
-+038e 03a1 be
-+03a3 03ce d3
-+03d0 e2
-+03d1 e8
-+03d2 d5
-+03d3 be
-+03d4 db
-+03d5 f6
-+03d6 f0
-+03d7 eae1e9
-+03da d3d4
-+03db f3f4
-+03f0 ea
-+03f1 f1
-+03f2 63
-+03f3 6a
-+03f4 c8
-+03f5 e5
-+2013 ad
-+2014 af
-+2018 60
-+2019 a2
-+201a 2c
-+201b a1
-+201c 22
-+201d 22
-+201e 2c2c
-+2022 b7
-+2026 2e2e2e
-+2039 3c
-+203a 3e
-+2044 2f
-+20ac c5f5f1fe
-+20af c4f1f7
-+2122 544d
-+2126 d9
-+2206 c4
-+2212 2d
-+2219 b7
-+fb00 6666
-+fb01 6669
-+fb02 666c
-+fb03 666669
-+fb04 66666c
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/greek/Greek.nameToUnicode
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/greek/Greek.nameToUnicode
-@@ -0,0 +1,11 @@
-+0396 Dzeta
-+039e Ksi
-+039f Omikron
-+03a7 Khi
-+03b2 betatwo
-+03b6 dzeta
-+03be ksi
-+03bf omikron
-+03c3 sigmafinal
-+03c6 phitwo
-+03c7 khi
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/cyrillic/KOI8-R.unicodeMap
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/cyrillic/KOI8-R.unicodeMap
-@@ -0,0 +1,100 @@
-+000a 0a
-+000c 000d 0c
-+0020 007e 20
-+00a0 9a
-+00a9 bf
-+00b0 9c
-+00b2 9d
-+00b7 9e
-+00f7 9f
-+02c6 5e
-+02da 9c
-+02dc 7e
-+0401 b3
-+0410 0411 e1
-+0412 f7
-+0413 e7
-+0414 0415 e4
-+0416 f6
-+0417 fa
-+0418 041f e9
-+0420 0423 f2
-+0424 e6
-+0425 e8
-+0426 e3
-+0427 fe
-+0428 fb
-+0429 fd
-+042a ff
-+042b f9
-+042c f8
-+042d fc
-+042e e0
-+042f f1
-+0430 0431 c1
-+0432 d7
-+0433 c7
-+0434 0435 c4
-+0436 d6
-+0437 da
-+0438 c9
-+0439 043f ca
-+0440 0443 d2
-+0444 c6
-+0445 c8
-+0446 c3
-+0447 de
-+0448 db
-+0449 dd
-+044a df
-+044b d9
-+044c d8
-+044d dc
-+044e c0
-+044f d1
-+0451 a3
-+2013 2d
-+2014 2d2d
-+2018 60
-+2019 27
-+201a 2c
-+201c 22
-+201d 22
-+201e 2c2c
-+2022 9e
-+2026 2e2e2e
-+2039 3c
-+203a 3e
-+2044 2f
-+2122 544d
-+2212 2d
-+2219 221a 95
-+2248 97
-+2264 2265 98
-+2320 93
-+2321 9b
-+2500 80
-+2502 81
-+250c 82
-+2510 83
-+2514 84
-+2518 85
-+251c 86
-+2524 87
-+252c 88
-+2534 89
-+253c 8a
-+2550 2552 a0
-+2553 2561 a4
-+2562 256c b4
-+2580 8b
-+2584 8c
-+2588 8d
-+258c 8e
-+2590 2593 8f
-+25a0 94
-+fb00 6666
-+fb01 6669
-+fb02 666c
-+fb03 666669
-+fb04 66666c
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/cyrillic/Bulgarian.nameToUnicode
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/cyrillic/Bulgarian.nameToUnicode
-@@ -0,0 +1,58 @@
-+0410 As
-+0411 Buki
-+0412 Wjedi
-+0413 Glagol
-+0414 Dobro
-+0415 Jest
-+0416 Schiwete
-+0417 Selmja
-+0418 Ische
-+0419 Ischebreve
-+041a Kako
-+041b Ljudi
-+041c Muislete
-+041d Nasche
-+041e On
-+041f Pakoj
-+0420 Rzui
-+0421 Slovo
-+0422 Twerdo
-+0423 Uk
-+0424 Fert
-+0425 Cherr
-+0426 Zui
-+0427 Tscherw
-+0428 Scha
-+0429 Schtscha
-+042a Jerr
-+042e Ju
-+042f Ja
-+0430 as
-+0431 buki
-+0432 wjedi
-+0433 glagol
-+0434 dobro
-+0435 jest
-+0436 schiwete
-+0437 selmja
-+0438 ische
-+0439 ischebreve
-+043a kako
-+043b ljudi
-+043c muislete
-+043d nasche
-+043e on
-+043f pakoj
-+0440 rzui
-+0441 slovo
-+0442 twerdo
-+0443 uk
-+0444 fert
-+0445 cherr
-+0446 zui
-+0447 tscherw
-+0448 scha
-+0449 schtscha
-+044a jerr
-+044e ju
-+044f ja
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/latin2/Latin2.unicodeMap
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/latin2/Latin2.unicodeMap
-@@ -0,0 +1,134 @@
-+000a 000a 0a
-+000c 000d 0c
-+0020 007e 20
-+00a0 00a0 20
-+00a4 a4
-+00a7 00a8 a7
-+00ad ad
-+00b0 b0
-+00b4 b4
-+00b8 b8
-+00c1 00c2 c1
-+00c4 c4
-+00c7 c7
-+00c9 c9
-+00cb cb
-+00cd 00ce cd
-+00d3 00d4 d3
-+00d6 00d7 d6
-+00da da
-+00dc 00dd dc
-+00df df
-+00e1 00e2 e1
-+00e4 e4
-+00e7 e7
-+00e9 e9
-+00eb eb
-+00ed 00ee ed
-+00f3 00f4 f3
-+00f6 00f7 f6
-+00fa fa
-+00fc 00fd fc
-+0102 c3
-+0103 e3
-+0104 a1
-+0105 b1
-+0106 c6
-+0107 e6
-+010c c8
-+010d e8
-+010e cf
-+010f ef
-+0110 d0
-+0111 f0
-+0118 ca
-+0119 ea
-+011a cc
-+011b ec
-+0131 69
-+0132 494a
-+0133 696a
-+0139 c5
-+013a e5
-+013d a5
-+013e b5
-+0141 a3
-+0142 b3
-+0143 d1
-+0144 f1
-+0147 d2
-+0148 f2
-+0150 d5
-+0151 f5
-+0152 4f45
-+0153 6f65
-+0154 c0
-+0155 e0
-+0158 d8
-+0159 f8
-+015a a6
-+015b b6
-+015e aa
-+015f ba
-+0160 a9
-+0161 b9
-+0162 de
-+0163 fe
-+0164 ab
-+0165 bb
-+016e d9
-+016f f9
-+0170 db
-+0171 fb
-+0178 59
-+0179 ac
-+017a bc
-+017b af
-+017c bf
-+017d ae
-+017e be
-+02c6 5e
-+02c7 b7
-+02d8 a2
-+02d9 ff
-+02da b0
-+02db b2
-+02dc 7e
-+02dd bd
-+2013 2013 ad
-+2014 2014 2d2d
-+2018 2018 60
-+2019 2019 27
-+201a 201a 2c
-+201c 201c 22
-+201d 201d 22
-+201e 201e 2c2c
-+2022 2022 b7
-+2026 2026 2e2e2e
-+2039 2039 3c
-+203a 203a 3e
-+2044 2044 2f
-+2122 2122 544d
-+2212 2212 2d
-+f6f9 f6f9 4c
-+f6fa f6fa 4f45
-+f6fc f6fc b0
-+f6fd f6fd 53
-+f6fe f6fe 7e
-+f6ff f6ff 5a
-+f721 f721 21
-+f724 f724 24
-+f726 f726 26
-+f730 f739 30
-+f73f f73f 3f
-+f761 f77a 41
-+f7a1 f7a2 a1
-+f7bf f7bf bf
-+f7e0 f7f6 c0
-+f7f8 f7fe d8
-+f7ff f7ff 59
-+fb00 fb00 6666
-+fb01 fb01 6669
-+fb02 fb02 666c
-+fb03 fb03 666669
-+fb04 fb04 66666c
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/turkish/ISO-8859-9.unicodeMap
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/turkish/ISO-8859-9.unicodeMap
-@@ -0,0 +1,67 @@
-+000a 0a
-+000c 000d 0c
-+0020 007e 20
-+00a0 20
-+00a1 00ac a1
-+00ae 00cf ae
-+00d1 00dc d1
-+00df 00ef df
-+00f1 00fc f1
-+00ff ff
-+010c 43
-+010d 63
-+011e d0
-+011f f0
-+0130 dd
-+0131 fd
-+0141 4c
-+0142 6c
-+0152 4f45
-+0153 6f65
-+015e de
-+015f fe
-+0160 53
-+0161 73
-+0178 59
-+017d 5a
-+017e 7a
-+02c6 5e
-+02da b0
-+02dc 7e
-+2013 ad
-+2014 2d2d
-+2018 60
-+2019 27
-+201a 2c
-+201c 22
-+201d 22
-+201e 2c2c
-+2022 b7
-+2026 2e2e2e
-+2039 3c
-+203a 3e
-+2044 2f
-+2122 544d
-+2212 2d
-+f6f9 4c
-+f6fa 4f45
-+f6fc b0
-+f6fd 53
-+f6fe 7e
-+f6ff 5a
-+f721 21
-+f724 24
-+f726 26
-+f730 f739 30
-+f73f 3f
-+f761 f77a 41
-+f7a1 f7a2 a1
-+f7bf bf
-+f7e0 f7f6 c0
-+f7f8 f7fe d8
-+f7ff 59
-+fb00 6666
-+fb01 6669
-+fb02 666c
-+fb03 666669
-+fb04 66666c
---- xpdf-3.02.orig/debian/changelog
-+++ xpdf-3.02/debian/changelog
-@@ -0,0 +1,801 @@
-+xpdf (3.02-1.3) unstable; urgency=high
-+
-+ * Non-maintainer upload by testing security team.
-+ * Included fix-CVE-2007-5393_2007-5392_2007-4352.dpatch to address the
-+ following security issues (Closes: #450629)
-+ - CVE-2007-5393 buffer overflow in the CCITTFaxStream::lookChar leading
-+ to arbitrary code execution via a crafted pdf file.
-+ - CVE-2007-5392 integer overflow in the DCTStream::reset resulting in a
-+ heap based buffer overflow allows code execution.
-+ - CVE-2007-4352 array index error in DCTStream::readProgressiveDataUnit
-+ leads to memory corruption and possibly arbitrary code execution.
-+
-+ -- Nico Golde <nion@debian.org> Fri, 09 Nov 2007 09:22:19 +0100
-+
-+xpdf (3.02-1.2) unstable; urgency=high
-+
-+ * Non-maintainer upload by testing security team.
-+ * Removed post-3.5.7-kdegraphics-CVE-2007-3387.diff.dpatch and
-+ created fix-CVE-2007-3387_CVE-2007-5049.dpatch to have a fix
-+ for CVE-2007-3387 and a buffer overflow in GetNextLine()
-+ (CVE-2007-5049) since they are related (Closes: #443906).
-+
-+ -- Nico Golde <nion@debian.org> Thu, 27 Sep 2007 12:05:46 +0200
-+
-+xpdf (3.02-1.1) unstable; urgency=high
-+
-+ * Non-maintainer upload with permission of the maintainer
-+ * Fix integer overflow in the StreamPredictor::StreamPredictor
-+ function by adding post-3.5.7-kdegraphics-CVE-2007-3387.diff.dpatch
-+ (Closes: #435462) Fixes: CVE-2007-3387
-+
-+ -- Steffen Joeris <white@debian.org> Tue, 07 Aug 2007 14:00:34 +1000
-+
-+xpdf (3.02-1) unstable; urgency=low
-+
-+ * New upstream release (closes: #413611)
-+ * Adds PDF 1.6 and 1.7 support (closes: #320509, #329372)
-+ * Fixes segfault on Postscript conversion (in xpdf or pdftops)
-+ with libc6 2.5-1, though probably also fixed in libc6 already
-+ (closes: #419618)
-+ * Improved rendering of some PDFs (closes: #409759, #242294, #280767)
-+ * Improved full screen handling (obseletes patches incorporated
-+ in 3.01-9; 31_fullscreen.dpatch, 32_vscroll.dpatch)
-+ * Adds new options to the xpdfrc(5) (closes: #384024)
-+ * Fixed handling of some broken PDFs (closes: #330711)
-+ * On-the-fly switch to full screen is possible (closes: #281479)
-+ * Adds configurable keybindings
-+
-+ * Patched Latin2 unicode map to include IJ sequences; thanks to
-+ Petr Peringer for the patch (closes: #402757)
-+ * Fix reference to /etc/xpdf/xpdf-* -> /etc/xpdf/xpdfrc-* in
-+ update-xpdfrc(8) (closes: #402852)
-+ * Added -title support to zxpdf (closes: #338096)
-+ * Updated debian/copyright (closes: #407888)
-+ * Modified xpdfrc(5) to note that options are case sensitive (closes:
-+ #417979)
-+ * Fix package relationships so that package is bin-NMU safe
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 25 Apr 2007 02:42:16 +1000
-+
-+xpdf (3.01-9) unstable; urgency=low
-+
-+ * Incorporate patches from Eugeniy Meshcheryakov and Junichi Uekawa to
-+ fix fullscreen mode when using a NETWM-compliant window manager
-+ (closes: #247602, #362496, #367845, #168970, #192397, #165047)
-+ (31_fullscreen.dpatch, 32_vscroll.dpatch)
-+ * Nasty, nasty patch to workaround FTBFS due to incompatility
-+ between latest g++-4.1 and lesstif - bug#377230 (40_lesstif_copy.dpatch,
-+ 41_lesstif_cpp.dpatch)
-+ * Upgrade to standards-revision 3.7.2
-+ * Made xpdf-common recommend gsfonts-x11 (closes: #329804)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 15 Jul 2006 16:01:16 +1000
-+
-+xpdf (3.01-8) unstable; urgency=low
-+
-+ * Add patch 05_freetype-2.2.dpatch: make splash/SplashFTFont.cc
-+ compatible with FreeType 2.2 (ie don't use FreeType internals
-+ directly any more). Fixes unreported FTBFS.
-+ * Enable additional compile-time options: --enable-opi,
-+ --enable-multithreaded, --enable-wordlist
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 27 May 2006 00:58:12 +1000
-+
-+xpdf (3.01-7) unstable; urgency=high
-+
-+ * SECURITY UPDATE: incorporated upstream patch revision 3.01pl2
-+ (obseletes several patches collected from Red Hat, Ubuntu etc).
-+ * References: CAN-2005-3191/3192/3193/3624/3625/2626/2627/3628,
-+ CAN-2006-0301 (all included, some improved by this patch)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Thu, 16 Feb 2006 00:22:13 +1100
-+
-+xpdf (3.01-6) unstable; urgency=high
-+
-+ * SECURITY UPDATE: fixed buffer overflow in splash image handling
-+ (Splash/splash.cc) using patch supplied by Red Hat:
-+ https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=179046
-+ (closes: #350785, #350783)
-+ * References: CVE-2006-0301
-+ * My first upload from the side of the road on borrowed wifi
-+ in a foreign country...
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 1 Feb 2006 22:42:42 +1300
-+
-+xpdf (3.01-5) unstable; urgency=low
-+
-+ * Changed build-dep on libpaperg-dev to libpaper-dev (closes: #346397)
-+ * Made xpdf-utils conflicts/replaces/provides poppler-utils
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 8 Jan 2006 13:25:57 +1100
-+
-+xpdf (3.01-4) unstable; urgency=high
-+
-+ * SECURITY UPDATE: added additional precautionary checks
-+ supplied by Martin Pitt, Chris Evans and Ludwid Nussel
-+ * Changed build-dep on xlibs-dev to individual lib*-dev packages
-+
-+ -- Hamish Moffatt <hamish@debian.org> Fri, 6 Jan 2006 18:55:24 +1100
-+
-+xpdf (3.01-3) unstable; urgency=high
-+
-+ * SECURITY UPDATE: fix several potential buffer overflows:
-+ DCTStream Baseline Heap Overflow, DCTStream Progressive Heap Overflow,
-+ StreamPredictor Heap Overflow, JPX Stream Reader Heap Overflow
-+ (closes: #322462) (21_security.dpatch)
-+ * References: CAN-2005-3193, CAN-2005-3191
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 6 Dec 2005 23:05:10 +0000
-+
-+xpdf (3.01-2) unstable; urgency=low
-+
-+ * Incorporate upstream patch to fix resize issues with some
-+ window managers (20_resize.dpatch)
-+ (closes: #325112, #326888, #327572, #329112, #324172)
-+ * Fix incorrect escape sequences in xpdf.1 (closes: #320631)
-+ Thanks to Erik Schanze for the patch. (01_manpage.dpatch)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Mon, 10 Oct 2005 23:34:46 +1000
-+
-+xpdf (3.01-1) unstable; urgency=low
-+
-+ * New upstream release (closes: #323715)
-+ * Added initial transparency support (closes: #181958, #284504, #243533)
-+ * Improved performance of pattern handling (closes: #220628)
-+ * Rasterizer optimisations (closes: #229714, #283549)
-+ * Handle negative font sizes (closes: #267790, #269495)
-+ * Fixed bugs in the Type 1C font parser
-+ (closes: #280291, #308547, #316895, #322906, #317708)
-+ and TrueType (closes: #270086)
-+ * Fix borders with some files (closes: #284307)
-+ * Fixed copy/paste losing text (closes: #310042)
-+ * Window is sized to fit the document page (closes: #249039, #254843)
-+ * Background window is now gray to show page size (closes: #295696)
-+ * Directories are not scanned until open dialog used (closes: #298742)
-+ * Fixed other crashes (closes: #251057, #264298, #303710),
-+ PostScript output bugs (closes: #295685)
-+
-+ * Added build-conflicts with libstroke0-dev, as it supplies
-+ autoconf macros that conflict with xpdf's own
-+ * Added category and generic name entries to the Desktop file
-+ (closes: #302546); thanks to Alejandro Exojo for the patch
-+ * Register for MIME type application/x-pdf in addition to
-+ application/pdf (closes: #319057)
-+ * Updated to standards-revision 3.6.2
-+
-+ -- Hamish Moffatt <hamish@debian.org> Fri, 19 Aug 2005 22:48:35 +1000
-+
-+xpdf (3.00-15) unstable; urgency=low
-+
-+ * SECURITY UPDATE: fix potiential DoS attack through hand-crafted
-+ PDFs with corrupt loca tables (closes: #322462)
-+ * References: CAN-2005-2097
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 17 Aug 2005 07:55:17 +1000
-+
-+xpdf (3.00-14) unstable; urgency=low
-+
-+ * Use dpatch for patch management; added build-dep on dpatch
-+ * Fix FTBFS with gcc-4.0 (closes: #316836);
-+ thanks to Daniel Schepler for the patch
-+ * xpdf-utils now suggests: pdftk (closes: #306624)
-+ * Fix page parameter handling in zxpdf (closes: #315458)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 17 Jul 2005 01:07:20 +1000
-+
-+xpdf (3.00-13) unstable; urgency=low
-+
-+ * SECURITY UPDATE: fix buffer overflow for PDF documents with an /Encrypt
-+ /Length value > 16 (xpdf/XRef.cc) (upstream xpdf-3.00pl3.patch)
-+ * References: CAN-2005-0064 (in addition to previous changes)
-+
-+ * Added desktop entry to xpdf-reader (adapted from Ubuntu with thanks)
-+ (closes: #280812)
-+ * Updated build-dependency on debhelper to 4.2.21 to get dh_desktop
-+
-+ * Fixed FTBFS on amd64 with gcc-4.0 resulting from cast from void*
-+ to int in xpdf/XPDFViewer.cc (closes: #288727)
-+ Thanks to Andreas Jochens for the patch.
-+
-+ * Added note to header of source files modified to remove PDF
-+ permission checking as requested by upstream in bug#298584
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 22 Mar 2005 23:33:52 +1100
-+
-+xpdf (3.00-12) unstable; urgency=high
-+
-+ * SECURITY UPDATE: Fixed buffer overflow that could overwrite the stack
-+ and hence cause the execution of arbitrary code as reported by
-+ iDEFENSE (xpdf/Decrypt.cc)
-+ * References: CAN-2005-0064
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 19 Jan 2005 23:48:56 +1100
-+
-+xpdf (3.00-11) unstable; urgency=high
-+
-+ * SECURITY UPDATE: fix potential buffer overflow
-+ Applied patch to colour map handling in xpdf/Gfx.cc (closes: #286742)
-+ * References: CAN-2004-1125
-+
-+ -- Hamish Moffatt <hamish@debian.org> Thu, 23 Dec 2004 08:16:24 +1100
-+
-+xpdf (3.00-10) unstable; urgency=high
-+
-+ * SECURITY UPDATE: fix potential buffer overflow
-+ * goo/gmem.[ch]: change declarations of gmalloc and grealloc to use size_t
-+ instead of int; int truncated sizes to 32 bits, which made xpdf still
-+ vulnerable to integer (and eventually buffer) overflow attacks on 64 bit
-+ platforms like amd64.
-+ * Thanks to Marcus Meissner <meissner@suse.de> for providing the patch
-+ and Martin Pitt <mpitt@debian.org> for providing the changes for
-+ Debian in the form of 3.00-9ubuntu2
-+ * References:
-+ CAN-2004-0889 (incomplete fix in version 3.00-9)
-+
-+ * Incorporated patch from Arnaud Giersch to fix crashes with
-+ certain PDFs (closes: #278693, #279292)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Mon, 8 Nov 2004 00:23:22 +1100
-+
-+xpdf (3.00-9) unstable; urgency=high
-+
-+ * Applied patch to fix vulnerability CAN-2004:0889: integer overflow
-+ issues that could allow denial of service or possibly arbitrary
-+ code execution
-+
-+ -- Hamish Moffatt <hamish@debian.org> Thu, 21 Oct 2004 23:49:32 +1000
-+
-+xpdf (3.00-8) unstable; urgency=low
-+
-+ * Final cleanup for sarge.
-+ * Fixed handling of some PDFs causing crashes (Closes: #254864)
-+ Modified splash/SplashFTFont.cc to prevent crash caused by calling
-+ FreeType's FT_Decompose_Outline with a non-outline object
-+ * Cleaned up dependency on libt1-5 to prevent duplicate depends
-+ * Moved pixmaps to /usr/share/pixmaps
-+ * Cleaned up lintian warnings
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 18 Aug 2004 23:32:07 +1000
-+
-+xpdf (3.00-7) unstable; urgency=low
-+
-+ * Changed wrapper script to use /bin/bash explicitly
-+ (closes: #245943, #248090)
-+ * Add /usr/share/bug/xpdf/control so that bugs submitted to 'xpdf'
-+ go to 'xpdf-reader' instead
-+ * Update supplied configuration file for new configuration options
-+ (closes: #246351)
-+ * Added menu icon (closes: #244504)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 9 May 2004 23:24:30 +1000
-+
-+xpdf (3.00-6) unstable; urgency=low
-+
-+ * Add dependency on libt1-5 >= 5.0.2 to fix several Xpdf crashes
-+ (closes: #238946, #243847, #243879)
-+ * Fixed wrapper script so that X resources are still located
-+ correctly (closes: #242513)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 25 Apr 2004 21:48:25 +1000
-+
-+xpdf (3.00-5) unstable; urgency=low
-+
-+ * Fix crash when clicking bookmarks in some PDFs (closes: #236007)
-+ * Not uploaded
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 30 Mar 2004 23:31:16 +1000
-+
-+xpdf (3.00-4) unstable; urgency=low
-+
-+ * Build with new libt1 rather than old t1lib (closes: #234273)
-+ * Fixed repeated text in pdfimages(1) (closes: #202139)
-+ * Fix crash on some PDFs due to empty paths (closes: #231709, #240187)
-+ (thanks to Guillaume Morin for the patch)
-+ * Applied upstream patch to add TrueType font collection (TTC) support
-+ (closes: #232340)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 30 Mar 2004 22:30:35 +1000
-+
-+xpdf (3.00-3) unstable; urgency=low
-+
-+ * Add upstream patch to fix handling of 16-bit TrueType fonts
-+ * Added note to /etc/xpdf/xpdfrc file warning that user configuration
-+ files (~/.xpdfrc) override the system-wide file, rather than supplement
-+ it (closes: #230853)
-+ * Updated /etc/xpdf/xpdfrc to remove obselete X font mappings
-+ (no longer supported)
-+ * Updated /usr/share/doc/xpdf-common/examples/sample-xpdfrc for 3.00
-+ (closes: #229874) by supplying the debian package version instead
-+ of upstream's
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 10 Feb 2004 23:00:02 +1100
-+
-+xpdf (3.00-2) unstable; urgency=low
-+
-+ * Added build-dep for pkg-config
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 28 Jan 2004 00:38:31 +1100
-+
-+xpdf (3.00-1) unstable; urgency=low
-+
-+ * New upstream release
-+ * Enter now works in Find dialog to start searching (closes: #167975)
-+ * Find dialog text input grows when window is resized (closes: #205208)
-+ * Fixed crashes with some PDFs (closes: #223989, #224943, #225289, #229264)
-+ * Fixed inverted horizontal mouse wheel behaviour (closes: #224849)
-+ * Fixed slow rendering of some documents (closes: #222254)
-+ * Corrected location of upstream sources in copyright file
-+ (closes: #229670)
-+ * Fixed location of configuration file in manual pages
-+ (/etc/xpdfrc -> /etc/xpdf/xpdfrc)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Mon, 26 Jan 2004 14:39:30 +1100
-+
-+xpdf (2.03-2) unstable; urgency=low
-+
-+ * Applied upstream patch to fix reading of JBIG encoded files (closes:
-+ #220450)
-+ * Wrapper script will now use exec when calling xpdf.bin
-+ (closes: #219736) and zxpdf will do the same when calling xpdf
-+
-+ -- Hamish Moffatt <hamish@debian.org> Fri, 14 Nov 2003 09:08:11 +1100
-+
-+xpdf (2.03-1) unstable; urgency=low
-+
-+ * New upstream release
-+ * Fixes crashes with some documents (closes: #215867, #212990)
-+ * Supports PDF outline (bookmarks) (closes: #166926)
-+ * Supports clipping to text which makes some more PDF files
-+ display correctly (closes: #184070)
-+ * Fix PDF BitsPerComponent handling (closes: #185950)
-+ * Handle PDFs with broken Unicode cmap table (closes: #188532)
-+ * Handle PDFs with broken DCT streams (closes: #193718)
-+ * Improved text extraction with right-to-left scripts (closes: #176745)
-+ * If the print command is changed in the print dialog, it won't
-+ be reset if another file is opened (closes: #200466)
-+
-+ * Updated Greek and Cyrillic language support to 2003-jun-28 versions
-+ * Provided manual page for xpdf.bin (symlink to xpdf(1)) (closes: #211887)
-+ * update-xpdfrc will now ignore backup (*~) and RCS files (closes: #194124)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 22 Oct 2003 22:43:47 +1000
-+
-+xpdf (2.02pl1-1) unstable; urgency=high
-+
-+ * Upstream patch release to fix security hole in URL handling
-+ (closes: #198032)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Thu, 19 Jun 2003 23:06:21 +1000
-+
-+xpdf (2.02-2) unstable; urgency=low
-+
-+ * Modified xpdf(1) to include information about zxpdf
-+ (closes: #175535)
-+ * Modified zxpdf to work with no command line parameters
-+ * Modified zxpdf to recognise .PDF (upper case) file extension
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 23 Apr 2003 00:27:50 +1000
-+
-+xpdf (2.02-1) unstable; urgency=low
-+
-+ * New upstream release
-+ * Incorporated new Arabic language package 2003-feb-16
-+ * Updated Hebrew language support to 2003-feb-16
-+ * Upstream: fixed display problems in some PDFs (closes: #181076,
-+ #144047, #167827, #176856, #180829)
-+ * Upstream: fixed crash on find-next before find (closes: #172973)
-+ * Upstream: fixed color handling in buttons (closes: #171398)
-+ * Upstream: fixed crash if Ctrl-W pressed while file open (closes: #177698)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 30 Mar 2003 14:06:43 +1000
-+
-+xpdf (2.01-3) unstable; urgency=low
-+
-+ * Fixed wrapper script bug: incorrect handling of command line
-+ parameters (closes: #174965, #174851)
-+ * Fixed wrapper script bug: should set $LC_ALL as well as $LANG
-+ (closes: #174717)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 4 Jan 2003 15:59:01 +1100
-+
-+xpdf (2.01-2) unstable; urgency=low
-+
-+ * Applied patch to fix buffer overflow as reported by iDEFENSE
-+ * Fixed name of language configuration files (/etc/xpdf/xpdf-* renamed
-+ back to xpdfrc-*) (closes: #173046)
-+ * Modified update-xpdfrc to ignore .dpkg* files in /etc/xpdf
-+ (closes: #173268)
-+ * Made xpdf a wrapper script which calls real xpdf binary to work
-+ around locale problems (closes: #167956, #168717, #169339, #172009)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 28 Dec 2002 00:35:52 +1100
-+
-+xpdf (2.01-1) unstable; urgency=low
-+
-+ * New upstream release
-+ * Merged in the small and free xpdf language packages xpdf-cyrillic,
-+ xpdf-greek, xpdf-hebrew, xpdf-latin2, xpdf-thai and xpdf-turkish;
-+ the others remain as seperate packages in non-free.
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 8 Dec 2002 00:02:37 +1100
-+
-+xpdf (2.00-2) unstable; urgency=low
-+
-+ * Recompile with lesstif2 (closes: #170624)
-+ * Change the default urlCommand to sensible-browser, which will make it
-+ honour the BROWSER variable, and run a good default browser that is
-+ installed if that is not set. Sure beats hardcoding non-free netscape.
-+ (closes: #170085)
-+ * Suggest www-browser.
-+ * Fixed incorrect resource names in xpdf(1) (closes: #168730)
-+ * Set a default print command (closes: #168520)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 30 Nov 2002 13:08:38 +1100
-+
-+xpdf (2.00-1) unstable; urgency=low
-+
-+ * New upstream release - uses Lesstif instead of old Xpdf-specific toolkit
-+ * Upstream: Control-P now brings up the print dialog (closes: #157225)
-+ * Upstream: Worked around problems with fonts in some PDF files
-+ (closes: #159778)
-+ * Upstream: 'Save as' now uses the standard Motif save dialog, so any
-+ filename can be entered (closes: #158423)
-+ * Upstream: handles malformed PDFs with error messages rather than
-+ silently as happened previously in some cases (closes: #151241)
-+ * Upstream: fullscreen behaviour is working fine in this version
-+ (closes: #156252)
-+ * Upstream: Enter works in save dialog (closes: #166942)
-+ * Upstream: now uses standard Motif file selector dialog (closes: #160255)
-+ * No performance issues observed with resizing the window (closes: #165847)
-+ * Tweaked configuration mechanism not to build /etc/xpdfrc now,
-+ but an include file for the main configuration file instead.
-+ No changes to the language packages are required to support this.
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 5 Nov 2002 11:49:24 +1100
-+
-+xpdf (1.01-3) unstable; urgency=low
-+
-+ * Recompile with more recent FreeType, updated dependencies to match
-+ (closes: #155946)
-+ * Made xpdf handle missing default paper name from libpaper
-+ (eg if $PAPERSIZE is set to a non-existent file) (closes: #150360)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 4 Sep 2002 21:49:41 +1000
-+
-+xpdf (1.01-2) unstable; urgency=low
-+
-+ * Fixed dependencies to ensure that xpdf-common, xpdf-reader and
-+ xpdf-utils versions are always synchronised (closes: #147897,
-+ #151683)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 7 Jul 2002 01:24:00 +1000
-+
-+xpdf (1.01-1) unstable; urgency=low
-+
-+ * New upstream release (closes: #146286, #147428)
-+ including support for Type 3 fonts (closes: #128686, #137378,
-+ #137416, #143245, #145541, #147614)
-+ * Removed empty examples directory (closes: #145057, #146336)
-+ * Changed dependency on gsfonts to require the woody version
-+ or newer (>= 6.0-1) (closes: #146398)
-+ * Applied patch to allow copying and printing of protected
-+ PDF files (closes: #145558)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 22 May 2002 23:16:47 +1000
-+
-+xpdf (1.00-4) unstable; urgency=low
-+
-+ * xpdf-reader: added zxpdf script contributed by Yann Dirson to allow
-+ viewing of compressed PDF files (closes: #87316, #14227)
-+ * xpdf-reader, xpdf-utils: corrected location of the configuration
-+ files in the manual pages (closes: #139982)
-+ * xpdf-common: added note to /etc/xpdf/xpdfrc describing configuration
-+ file scheme (closes: #143372)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Thu, 25 Apr 2002 10:57:47 +1000
-+
-+xpdf (1.00-3) unstable; urgency=low
-+
-+ * Fixed conflicts with xpdf-i (should conflict with versions
-+ <= 0.90-8, not 0.90-7) (closes: #136385, #136157)
-+ * Applied patch from the upstream author to fix the missing
-+ initialZoom X resource (closes: #135712)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 9 Mar 2002 00:23:33 +1100
-+
-+xpdf (1.00-2) unstable; urgency=low
-+
-+ * Fixed problem with building the arch-specific packages when
-+ xpdf-common was not installed (tried to overwrite /etc/xpdfrc)
-+ (closes: #134336, #134338)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Mon, 18 Feb 2002 08:36:59 +1100
-+
-+xpdf (1.00-1) unstable; urgency=low
-+
-+ * New upstream release (closes: #131961)
-+ * Split the xpdf package into xpdf-reader, xpdf-utils and a
-+ metapackage, xpdf. This reduces the number of library packages
-+ required if you just want pdf2ps, for example. (closes: #122786)
-+ * The new upstream release has the language support split into
-+ seperate packages. See xpdf-chinese-simplified,
-+ xpdf-chinese-traditional, xpdf-korean, xpdf-japanese,
-+ xpdf-thai and xpdf-cyrillic. NOTE: some of these are
-+ non-free.
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 2 Feb 2002 23:44:20 +1100
-+
-+xpdf (0.93-6) unstable; urgency=low
-+
-+ * Applied patch from the upstream author Derek Noonburg
-+ to fix an unitialized variable which causes xpdf
-+ to sometimes crash on Alpha systems (closes: #124314)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 16 Jan 2002 21:30:53 +1100
-+
-+xpdf (0.93-5) unstable; urgency=low
-+
-+ * Applied patch from the upstream author Derek Noonburg
-+ to fix TrueType font embedding bugs (closes: #123913)
-+ * Added Build-Conflicts: with libttf-dev; the compile gets
-+ mixed up between freetype1 and freetype2 when libttf-dev
-+ is installed (closes: #123565)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 9 Jan 2002 22:46:49 +1100
-+
-+xpdf (0.93-4) unstable; urgency=low
-+
-+ * Added menu hint "Documents" (closes: #121029)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 25 Nov 2001 13:02:24 +1100
-+
-+xpdf (0.93-3) unstable; urgency=low
-+
-+ * Added app-defaults file mapping for Type 1 base-14 fonts (requires
-+ gsfonts) (closes: #120649, #120994)
-+ * Added libpaper support; xpdf now gets the default paper size from
-+ X resources, $PAPERSIZE, /etc/papersize, or defaults to letter
-+ (closes: #120645)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 25 Nov 2001 11:38:19 +1100
-+
-+xpdf (0.93-2) unstable; urgency=low
-+
-+ * Removed final references to install-mime (closes: #120423)
-+ * Linked with libfreetype6 (closes: #116283)
-+ * Configuration file moved to /etc/xpdfrc (was /usr/etc/xpdfrc by mistake)
-+ * Also linked with t1lib
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 24 Nov 2001 16:20:23 +1100
-+
-+xpdf (0.93-1) unstable; urgency=low
-+
-+ * New upstream release (closes: #81911, #107448)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 7 Nov 2001 23:54:52 +1100
-+
-+xpdf (0.92-5) unstable; urgency=low
-+
-+ * Fixed freetype file locations which caused the build to fail if
-+ libfreetype6-dev wasn't installed (but isn't actually used)
-+ (closes: #111745)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 11 Sep 2001 20:21:47 +1000
-+
-+xpdf (0.92-4) unstable; urgency=low
-+
-+ * Added libttf-dev to build-deps so that xpdf will be built with
-+ TrueType font support (closes: #108667)
-+ * Increased xpdf's priority in mailcap from 4 to 6 to be above
-+ gv and acroread (closes: #106858)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 2 Sep 2001 14:54:11 +1000
-+
-+xpdf (0.92-3) unstable; urgency=low
-+
-+ * Changed build-dep on xpm4g-dev to xlibs-dev (closes: #83814)
-+ * Re-enabled Chinese language support (closes: #74974)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Mon, 29 Jan 2001 08:23:06 +1100
-+
-+xpdf (0.92-2) unstable; urgency=low
-+
-+ * Recompiled with latest X libraries
-+
-+ -- Hamish Moffatt <hamish@debian.org> Thu, 18 Jan 2001 08:21:23 +1100
-+
-+xpdf (0.92-1) unstable; urgency=low
-+
-+ * New upstream release
-+ * Updated Standards-Version
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 6 Dec 2000 21:16:34 +1100
-+
-+xpdf (0.91-3) unstable; urgency=low
-+
-+ * Enabled Chinese language support (closes: #74974)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 7 Nov 2000 15:52:41 +1100
-+
-+xpdf (0.91-2) unstable; urgency=low
-+
-+ * Changed replaces/conflicts with xpdf-i to allow installation
-+ of xpdf-i 0.91-1 (dummy package) as well as xpdf >= 0.91
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 19 Sep 2000 22:55:44 +1100
-+
-+xpdf (0.91-1) unstable; urgency=low
-+
-+ * New upstream version (closes: #43604, #47391, #61055, #67591, #50170)
-+ * Upstream source now includes decryption; xpdf-i is now obselete
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 20 Aug 2000 18:25:07 +1000
-+
-+xpdf (0.90-6) unstable; urgency=low
-+
-+ * Added build-depends for debhelper, xpm4g-dev and xlib6g-dev
-+ (closes: #68464, #61585)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Mon, 7 Aug 2000 19:29:08 +1000
-+
-+xpdf (0.90-5) unstable; urgency=low
-+
-+ * Added build-depends for t1lib-dev (closes: #55658)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 1 Aug 2000 21:03:43 +1000
-+
-+xpdf (0.90-4) unstable; urgency=low
-+
-+ * Recompile for t1lib1
-+
-+ -- Hamish Moffatt <hamish@debian.org> Mon, 3 Jan 2000 09:45:45 +1100
-+
-+xpdf (0.90-3) unstable; urgency=low
-+
-+ * FHS compliant
-+ * Converted to debhelper
-+ * Moved xpdf binary from /usr/X11R6/bin to /usr/bin
-+
-+ -- Hamish Moffatt <hamish@debian.org> Fri, 1 Oct 1999 23:51:31 +1000
-+
-+xpdf (0.90-2) unstable; urgency=low
-+
-+ * Recompiled with t1lib 0.9.1-4 to get correct dependencies
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 11 Sep 1999 00:59:17 +1000
-+
-+xpdf (0.90-1) unstable; urgency=low
-+
-+ * New upstream version
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 14 Aug 1999 14:31:00 +1000
-+
-+xpdf (0.80-6) unstable; urgency=low
-+
-+ * Added code in postinst and postrm to remove old MIME entries
-+ added using install-mime (fixes #37724, #31293)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 23 May 1999 00:25:00 +1000
-+
-+xpdf (0.80-5) unstable; urgency=low
-+
-+ * Fixed error in /usr/lib/mime/packages/xpdf (fixes #37537)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 15 May 1999 22:35:00 +1000
-+
-+xpdf (0.80-4) unstable; urgency=low
-+
-+ * Fixed bug in postinst introduced in 0.80-3 (fixes #37009, #37026)
-+ * xpdf now Conflicts with and Replaces xpdf-i
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 02 May 1999 18:20:00 +1000
-+
-+xpdf (0.80-3) unstable; urgency=low
-+
-+ * Fixed incorrect mime support handling with patch from David Rocher
-+ (fixes bug#36901)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 01 May 1999 18:45:00 +1000
-+
-+xpdf (0.80-2) unstable; urgency=low
-+
-+ * Enabled support for 16-bit Japanese fonts (fixes bug#30671)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Fri, 18 Dec 1998 00:18:00 +1100
-+
-+xpdf (0.80-1) unstable; urgency=low
-+
-+ * New upstream release
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 29 Nov 1998 01:03:00 +1100
-+
-+xpdf (0.7a-3) unstable; urgency=low
-+
-+ * Previous upload had wrong section and was rejected
-+ * Change of license; xpdf is now GPL (see
-+ http://www.debian.org/Lists-Archives/debian-devel-9809/msg00193.html)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 10 Oct 1998 11:12:00 +1000
-+
-+xpdf (0.7a-2) unstable; urgency=low
-+
-+ * New maintainer
-+ * Updated to use update-mime (fixes#26532)
-+ * Removed dependency on mime-support, as instructed by update-mime(1)
-+ * Rebuilt with new libstdc++
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 06 Oct 1998 19:43:00 +1000
-+
-+xpdf (0.7a-1) non-free; urgency=low
-+
-+ * Upgraded to new upstream release xpdf-0.7a
-+
-+ -- Dirk Eddelbuettel <edd@debian.org> Mon, 2 Mar 1998 19:24:35 -0500
-+
-+xpdf (0.7-3) non-free; urgency=low
-+
-+ * Moved to non-free as the copyright violated #3 of the DFSG (fixes #14360)
-+
-+ -- Dirk Eddelbuettel <edd@debian.org> Tue, 4 Nov 1997 20:44:26 -0500
-+
-+xpdf (0.7-2) unstable; urgency=low
-+
-+ * Compiled with GNU libc2 aka libc6
-+ * Linked against xlib6g and xpm4g (fixes bug #12915)
-+ * Uses pristine upstream sources as xpdf_0.7.orig.tar.gz
-+ * Upgraded to Debian Policy 2.3.0.0
-+ * Added menu file for xpdf
-+
-+ -- Dirk Eddelbuettel <edd@debian.org> Tue, 30 Sep 1997 20:34:09 -0400
-+
-+xpdf (0.7-1) unstable; urgency=low
-+
-+ * New upstream release xpdf-0.7
-+
-+ -- Dirk Eddelbuettel <edd@debian.org> Thu, 29 May 1997 21:22:38 -0400
-+
-+xpdf (0.6-1) unstable frozen; urgency=low
-+
-+ * New upstream release xpdf-0.6 (fixes bug #4476)
-+
-+ * Changed Priority: to optional as per override file on master
-+
-+ * Converted package management files to Debian Standard 2.1.1.0
-+ * Changed maintainer email address to <edd@debian.org>
-+
-+ -- Dirk Eddelbuettel <edd@debian.org> Sun, 24 Nov 1996 16:50:23 -0500
-+
-+Sat Aug 10 16:22:28 1996 Dirk Eddelbuettel <edd@miles.econ.queensu.ca>
-+
-+ * xpdf-0.5-1 release: only changes to Debian package files
-+
-+ * debian.control: now Depends on mime-support, suitable postinst
-+ and postrm scripts added (with thanks to Brian White);
-+ also updated virtual package dependencies, now Provides: a
-+ pdf-viewer as well as postscript-preview and Depends changed
-+ to X11R6 from elf-x11r6lib
-+
-+ * debian.rules: install xpdf.1x, not xpdf.1
-+
-+Mon May 27 20:58:19 1996 Dirk Eddelbuettel <edd@miles.econ.queensu.ca>
-+
-+ * xpdf-0.5-0 release: upgraded to upstream version 0.5
-+
-+Sun Apr 28 09:51:02 1996 Dirk Eddelbuettel <edd@miles.econ.queensu.ca>
-+
-+ * xpdf-0.4-0 release: upgraded to upstream version 0.4
-+
-+ * debian.control: added Architecture:, changed Section: to text,
-+ added note that xpdftops is now included
-+
-+Wed Feb 14 21:49:17 1996 Dirk Eddelbuettel <edd@miles.econ.queensu.ca>
-+
-+ * xpdf-0.3-1 release
-+
-+ * debian.rules: fix location of README to /usr/doc/xpdf (bug#2333)
-+
-+Sun Jan 28 17:36:31 1996 Dirk Eddelbuettel <edd@miles.econ.queensu.ca>
-+
-+ * xpdf-0.3-0: Initial Debian release
-+
---- xpdf-3.02.orig/debian/xpdf.dirs
-+++ xpdf-3.02/debian/xpdf.dirs
-@@ -0,0 +1,2 @@
-+usr/share/doc
-+usr/share/bug/xpdf
---- xpdf-3.02.orig/debian/xpdf-common.postrm
-+++ xpdf-3.02/debian/xpdf-common.postrm
-@@ -0,0 +1,9 @@
-+#!/bin/sh
-+set -e
-+
-+if [ "$1" = "purge" ]; then
-+ rm -f /etc/xpdf/includes
-+fi
-+
-+#DEBHELPER#
-+
---- xpdf-3.02.orig/debian/xpdf.desktop
-+++ xpdf-3.02/debian/xpdf.desktop
-@@ -0,0 +1,11 @@
-+[Desktop Entry]
-+Encoding=UTF-8
-+Name=xpdf
-+GenericName=PDF viewer
-+Comment=View PDF files
-+Exec=xpdf
-+Icon=xpdf.xpm
-+Terminal=false
-+Type=Application
-+MimeType=application/pdf;
-+Categories=PDFViewer;Viewer;Graphics;
---- xpdf-3.02.orig/debian/xpdf-reader.menu
-+++ xpdf-3.02/debian/xpdf-reader.menu
-@@ -0,0 +1,8 @@
-+?package(xpdf-reader):\
-+ needs="x11" \
-+ section="Apps/Viewers" \
-+ command="/usr/bin/xpdf" \
-+ title="Xpdf" \
-+ hints="Documents" \
-+ icon="/usr/share/pixmaps/xpdf.xpm" \
-+ longtitle="Xpdf: Portable Document Format (PDF) file viewer for X"
---- xpdf-3.02.orig/debian/xpdf-bug-control
-+++ xpdf-3.02/debian/xpdf-bug-control
-@@ -0,0 +1 @@
-+Submit-As: xpdf-reader
---- xpdf-3.02.orig/debian/xpdf-reader.dirs
-+++ xpdf-3.02/debian/xpdf-reader.dirs
-@@ -0,0 +1,7 @@
-+usr/share/doc
-+usr/share/applications
-+usr/share/man/man1
-+usr/lib/mime/packages
-+usr/lib/menu
-+usr/bin
-+usr/share/pixmaps
---- xpdf-3.02.orig/debian/patches/40_lesstif_copy.dpatch
-+++ xpdf-3.02/debian/patches/40_lesstif_copy.dpatch
-@@ -0,0 +1,18 @@
-+#! /bin/sh -e
-+## DP: make local copy of lesstif headers for use in patch 41
-+
-+dpatch_patch ()
-+{
-+ mkdir lesstif
-+ cp -a /usr/include/Xm lesstif/
-+}
-+
-+dpatch_unpatch ()
-+{
-+ rm -rf lesstif
-+}
-+
-+DPATCH_LIB_NO_DEFAULT=1
-+
-+. /usr/share/dpatch/dpatch.lib.sh
-+
---- xpdf-3.02.orig/debian/patches/01_manpage.dpatch
-+++ xpdf-3.02/debian/patches/01_manpage.dpatch
-@@ -0,0 +1,258 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 01_manpage.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Manual page updates
-+
-+@DPATCH@
-+diff -urNad xpdf-3.02~/doc/pdffonts.1 xpdf-3.02/doc/pdffonts.1
-+--- xpdf-3.02~/doc/pdffonts.1 2007-04-25 01:26:52.000000000 +1000
-++++ xpdf-3.02/doc/pdffonts.1 2007-04-25 01:26:55.000000000 +1000
-+@@ -73,9 +73,7 @@
-+ .SH CONFIGURATION FILE
-+ Pdffonts reads a configuration file at startup. It first tries to
-+ find the user's private config file, ~/.xpdfrc. If that doesn't
-+-exist, it looks for a system-wide config file, typically
-+-/usr/local/etc/xpdfrc (but this location can be changed when pdffonts
-+-is built). See the
-++exist, it looks for a system-wide config file, /etc/xpdf/xpdfrc. See the
-+ .BR xpdfrc (5)
-+ man page for details.
-+ .SH OPTIONS
-+diff -urNad xpdf-3.02~/doc/pdfimages.1 xpdf-3.02/doc/pdfimages.1
-+--- xpdf-3.02~/doc/pdfimages.1 2007-04-25 01:26:52.000000000 +1000
-++++ xpdf-3.02/doc/pdfimages.1 2007-04-25 01:26:55.000000000 +1000
-+@@ -12,9 +12,9 @@
-+ saves images from a Portable Document Format (PDF) file as Portable
-+ Pixmap (PPM), Portable Bitmap (PBM), or JPEG files.
-+ .PP
-+-Pdfimages reads the PDF file, scans one or more pages,
-++Pdfimages reads the PDF file
-+ .IR PDF-file ,
-+-and writes one PPM, PBM, or JPEG file for each image,
-++scans one or more pages, and writes one PPM, PBM, or JPEG file for each image,
-+ .IR image-root - nnn . xxx ,
-+ where
-+ .I nnn
-+@@ -28,9 +28,7 @@
-+ .SH CONFIGURATION FILE
-+ Pdfimages reads a configuration file at startup. It first tries to
-+ find the user's private config file, ~/.xpdfrc. If that doesn't
-+-exist, it looks for a system-wide config file, typically
-+-/usr/local/etc/xpdfrc (but this location can be changed when pdfimages
-+-is built). See the
-++exist, it looks for a system-wide config file, /etc/xpdf/xpdfrc. See the
-+ .BR xpdfrc (5)
-+ man page for details.
-+ .SH OPTIONS
-+diff -urNad xpdf-3.02~/doc/pdfinfo.1 xpdf-3.02/doc/pdfinfo.1
-+--- xpdf-3.02~/doc/pdfinfo.1 2007-04-25 01:26:52.000000000 +1000
-++++ xpdf-3.02/doc/pdfinfo.1 2007-04-25 01:26:55.000000000 +1000
-+@@ -71,8 +71,7 @@
-+ .SH CONFIGURATION FILE
-+ Pdfinfo reads a configuration file at startup. It first tries to find
-+ the user's private config file, ~/.xpdfrc. If that doesn't exist, it
-+-looks for a system-wide config file, typically /usr/local/etc/xpdfrc
-+-(but this location can be changed when pdfinfo is built). See the
-++looks for a system-wide config file, /etc/xpdf/xpdfrc. See the
-+ .BR xpdfrc (5)
-+ man page for details.
-+ .SH OPTIONS
-+diff -urNad xpdf-3.02~/doc/pdftoppm.1 xpdf-3.02/doc/pdftoppm.1
-+--- xpdf-3.02~/doc/pdftoppm.1 2007-04-25 01:26:52.000000000 +1000
-++++ xpdf-3.02/doc/pdftoppm.1 2007-04-25 01:26:55.000000000 +1000
-+@@ -24,9 +24,7 @@
-+ .SH CONFIGURATION FILE
-+ Pdftoppm reads a configuration file at startup. It first tries to
-+ find the user's private config file, ~/.xpdfrc. If that doesn't
-+-exist, it looks for a system-wide config file, typically
-+-/usr/local/etc/xpdfrc (but this location can be changed when pdftoppm
-+-is built). See the
-++exist, it looks for a system-wide config file, /etc/xpdf/xpdfrc. See the
-+ .BR xpdfrc (5)
-+ man page for details.
-+ .SH OPTIONS
-+diff -urNad xpdf-3.02~/doc/pdftops.1 xpdf-3.02/doc/pdftops.1
-+--- xpdf-3.02~/doc/pdftops.1 2007-04-25 01:26:52.000000000 +1000
-++++ xpdf-3.02/doc/pdftops.1 2007-04-25 01:26:55.000000000 +1000
-+@@ -31,8 +31,7 @@
-+ .SH CONFIGURATION FILE
-+ Pdftops reads a configuration file at startup. It first tries to find
-+ the user's private config file, ~/.xpdfrc. If that doesn't exist, it
-+-looks for a system-wide config file, typically /usr/local/etc/xpdfrc
-+-(but this location can be changed when pdftops is built). See the
-++looks for a system-wide config file, /etc/xpdf/xpdfrc. See the
-+ .BR xpdfrc (5)
-+ man page for details.
-+ .SH OPTIONS
-+diff -urNad xpdf-3.02~/doc/pdftotext.1 xpdf-3.02/doc/pdftotext.1
-+--- xpdf-3.02~/doc/pdftotext.1 2007-04-25 01:26:52.000000000 +1000
-++++ xpdf-3.02/doc/pdftotext.1 2007-04-25 01:26:55.000000000 +1000
-+@@ -28,9 +28,7 @@
-+ .SH CONFIGURATION FILE
-+ Pdftotext reads a configuration file at startup. It first tries to
-+ find the user's private config file, ~/.xpdfrc. If that doesn't
-+-exist, it looks for a system-wide config file, typically
-+-/usr/local/etc/xpdfrc (but this location can be changed when pdftotext
-+-is built). See the
-++exist, it looks for a system-wide config file, /etc/xpdf/xpdfrc. See the
-+ .BR xpdfrc (5)
-+ man page for details.
-+ .SH OPTIONS
-+diff -urNad xpdf-3.02~/doc/xpdf.1 xpdf-3.02/doc/xpdf.1
-+--- xpdf-3.02~/doc/xpdf.1 2007-04-25 01:26:52.000000000 +1000
-++++ xpdf-3.02/doc/xpdf.1 2007-04-25 01:26:55.000000000 +1000
-+@@ -7,10 +7,15 @@
-+ [options]
-+ .RI [ PDF-file
-+ .RI [ page " | +" dest ]]
-++.sp
-++.B zxpdf
-++[options]
-++.RI [ PDF-file
-++.RI [ page " | +" dest ]]
-+ .SH DESCRIPTION
-+ .B Xpdf
-+ is a viewer for Portable Document Format (PDF) files. (These are also
-+-sometimes also called \'Acrobat' files, from the name of Adobe's PDF
-++sometimes also called 'Acrobat' files, from the name of Adobe's PDF
-+ software.) Xpdf runs under the X Window System on UNIX, VMS, and
-+ OS/2.
-+ .PP
-+@@ -29,7 +34,7 @@
-+ xpdf file.pdf 18
-+ .RE
-+ .PP
-+-You can also give a named destination, prefixed with \'+' in place of
-++You can also give a named destination, prefixed with '+' in place of
-+ the page number. (This is only useful with PDF files that provide
-+ named destination targets.)
-+ .PP
-+@@ -38,11 +43,17 @@
-+ .RS
-+ xpdf
-+ .RE
-++.PP
-++Compressed files (gz and bz2) may be viewed using the command:
-++.PP
-++.RS
-++zxpdf file.pdf.gz
-++.RE
-++.PP
-+ .SH CONFIGURATION FILE
-+ Xpdf reads a configuration file at startup. It first tries to find
-+ the user's private config file, ~/.xpdfrc. If that doesn't exist, it
-+-looks for a system-wide config file, typically /usr/local/etc/xpdfrc
-+-(but this location can be changed when xpdf is built). See the
-++looks for a system-wide config file, /etc/xpdf/xpdfrc. See the
-+ .BR xpdfrc (5)
-+ man page for details.
-+ .SH OPTIONS
-+@@ -92,8 +103,8 @@
-+ .TP
-+ .BI \-z " zoom"
-+ Set the initial zoom factor. A number specifies a zoom percentage,
-+-where 100 means 72 dpi.You may also specify \'page', to fit the page
-+-to the window size, or \'width', to fit the page width to the window
-++where 100 means 72 dpi.You may also specify 'page', to fit the page
-++to the window size, or 'width', to fit the page width to the window
-+ width.
-+ .RB "[config file: " initialZoom "; or X resource: " xpdf.initialZoom ]
-+ .TP
-+@@ -123,7 +134,7 @@
-+ .BI \-ps " PS-file"
-+ Set the default file name for PostScript output (i.e., the name which
-+ will appear in the print dialog). This can also be of the form
-+-\'|command' to pipe the PostScript through a command.
-++'|command' to pipe the PostScript through a command.
-+ .RB "[config file: " psFile ]
-+ .TP
-+ .BI \-paper " size"
-+@@ -231,7 +242,7 @@
-+ .RB "[X resource: " xpdf*fontList ]
-+ .PP
-+ The color and font options only affect the user interface elements,
-+-not the PDF display (the \'paper').
-++not the PDF display (the 'paper').
-+ .PP
-+ The following X resources do not have command line option equivalents:
-+ .TP
-+@@ -254,7 +265,7 @@
-+ .B "dashed left/right arrow buttons"
-+ Move backward or forward along the history path.
-+ .TP
-+-.B "\'Page' entry box"
-++.B "'Page' entry box"
-+ Move to a specific page number. Click in the box to activate it, type
-+ the page number, then hit return.
-+ .TP
-+@@ -267,17 +278,17 @@
-+ .B "print button"
-+ Bring up a dialog for generating a PostScript file. The dialog has
-+ options to set the pages to be printed and the PostScript file name.
-+-The file name can be \'-' for stdout or \'|command' to pipe the
-+-PostScript through a command, e.g., \'|lpr'.
-++The file name can be '-' for stdout or '|command' to pipe the
-++PostScript through a command, e.g., '|lpr'.
-+ .TP
-+-.B "\'?' button"
-+-Bring up the \'about xpdf' window.
-++.B "'?' button"
-++Bring up the 'about xpdf' window.
-+ .TP
-+ .B "link info"
-+-The space between the \'?' and \'Quit' buttons is used to show the URL
-++The space between the '?' and 'Quit' buttons is used to show the URL
-+ or external file name when the mouse is over a link.
-+ .TP
-+-.B "\'Quit' button"
-++.B "'Quit' button"
-+ Quit xpdf.
-+ .PP
-+ .SS Menu
-+@@ -333,9 +344,9 @@
-+ .PP
-+ .SS Links
-+ Clicking on a hyperlink will jump to the link's destination. A link
-+-to another PDF document will make xpdf load that document. A
-+-\'launch' link to an executable program will display a dialog, and if
-+-you click \'ok', execute the program. URL links call an external
-++to another PDF document will make xpdf load that document. A 'launch'
-++link to an executable program will display a dialog, and if
-++you click 'ok', execute the program. URL links call an external
-+ command (see the
-+ .B WEB BROWSERS
-+ section below).
-+@@ -458,7 +469,7 @@
-+ .PP
-+ When you click on a URL link in a PDF file, xpdf will execute the
-+ command specified by the urlCommand config file option, replacing an
-+-occurrence of \'%s' with the URL. For example, to call netscape with
-++occurrence of '%s' with the URL. For example, to call netscape with
-+ the URL, add this line to your config file:
-+ .PP
-+ .RS
-+@@ -809,8 +820,8 @@
-+ xpdf -remote myServer file.pdf
-+ .RE
-+ .PP
-+-If there is currently no xpdf running in server mode with the name
-+-\'myServer', a new xpdf window will be opened. If another command:
-++If there is currently no xpdf running in server mode with the name 'myServer',
-++a new xpdf window will be opened. If another command:
-+ .PP
-+ .RS
-+ xpdf -remote myServer another.pdf 9
-+diff -urNad xpdf-3.02~/doc/xpdfrc.5 xpdf-3.02/doc/xpdfrc.5
-+--- xpdf-3.02~/doc/xpdfrc.5 2007-02-28 09:05:51.000000000 +1100
-++++ xpdf-3.02/doc/xpdfrc.5 2007-04-25 01:28:30.000000000 +1000
-+@@ -19,6 +19,9 @@
-+ .PP
-+ The following sections list all of the configuration options, sorted
-+ into functional groups. There is an examples section at the end.
-++.PP
-++Note that all settings are case-sensitive; in particular, boolean options
-++are "yes" and "no" (rather than "Yes" or "No").
-+ .SH INCLUDE FILES
-+ .TP
-+ .BI include " config\-file"
---- xpdf-3.02.orig/debian/patches/00list
-+++ xpdf-3.02/debian/patches/00list
-@@ -0,0 +1,24 @@
-+01_manpage.dpatch
-+02_permissions.dpatch
-+#10_add_accelerators.dpatch # doesn't work
-+
-+# Security fixes:
-+#04_freetype-glyph.dpatch # Not obvious
-+#05_gmem.dpatch # Not obvious
-+#06_splashpath.dpatch # Not obvious
-+#07_decrypt.dpatch # Not obvious
-+#08_core_action.dpatch # Not obvious
-+#23_security3.dpatch # Not obvious
-+
-+# Lesstif bug#377230 workaround:
-+40_lesstif_copy.dpatch
-+41_lesstif_cpp.dpatch
-+
-+# Final cleanup:
-+99_autoconf.dpatch
-+
-+# Fix CVE-2007-3387 and CVE-2007-5049
-+fix-CVE-2007-3387_CVE-2007-5049.dpatch
-+
-+# Fix CVE-2007-5393, CVE-2007-5392, CVE-2007-4352
-+fix-CVE-2007-5393_2007-5392_2007-4352.dpatch
---- xpdf-3.02.orig/debian/patches/02_permissions.dpatch
-+++ xpdf-3.02/debian/patches/02_permissions.dpatch
-@@ -0,0 +1,176 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## permissions.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Remove PDF file permission checks
-+
-+@DPATCH@
-+diff -urNad xpdf-3.02~/xpdf/PDFCore.cc xpdf-3.02/xpdf/PDFCore.cc
-+--- xpdf-3.02~/xpdf/PDFCore.cc 2007-02-28 09:05:52.000000000 +1100
-++++ xpdf-3.02/xpdf/PDFCore.cc 2007-04-24 23:43:59.000000000 +1000
-+@@ -4,6 +4,8 @@
-+ //
-+ // Copyright 2004 Glyph & Cog, LLC
-+ //
-++// Modified for Debian by Hamish Moffatt, 18 August 2005.
-++//
-+ //========================================================================
-+
-+ #include <aconf.h>
-+@@ -1563,9 +1565,11 @@
-+ int x0, y0, x1, y1, t;
-+ GString *s;
-+
-++#ifdef ENFORCE_PERMISSIONS
-+ if (!doc->okToCopy()) {
-+ return NULL;
-+ }
-++#endif
-+ if ((page = findPage(pg))) {
-+ cvtUserToDev(pg, xMin, yMin, &x0, &y0);
-+ cvtUserToDev(pg, xMax, yMax, &x1, &y1);
-+diff -urNad xpdf-3.02~/xpdf/XPDFCore.cc xpdf-3.02/xpdf/XPDFCore.cc
-+--- xpdf-3.02~/xpdf/XPDFCore.cc 2007-02-28 09:05:52.000000000 +1100
-++++ xpdf-3.02/xpdf/XPDFCore.cc 2007-04-24 23:46:39.000000000 +1000
-+@@ -4,6 +4,8 @@
-+ //
-+ // Copyright 2002-2003 Glyph & Cog, LLC
-+ //
-++// Modified for Debian by Hamish Moffatt, 22 May 2002.
-++//
-+ //========================================================================
-+
-+ #include <aconf.h>
-+@@ -384,11 +386,15 @@
-+ #ifndef NO_TEXT_SELECT
-+ if (selectULX != selectLRX &&
-+ selectULY != selectLRY) {
-++#ifdef ENFORCE_PERMISSIONS
-+ if (doc->okToCopy()) {
-+ copySelection();
-+ } else {
-+ error(-1, "Copying of text from this document is not allowed.");
-+ }
-++#else
-++ copySelection();
-++#endif
-+ }
-+ #endif
-+ }
-+@@ -407,9 +413,11 @@
-+ int pg;
-+ double ulx, uly, lrx, lry;
-+
-++#ifdef ENFORCE_PERMISSIONS
-+ if (!doc->okToCopy()) {
-+ return;
-+ }
-++#endif
-+ if (getSelection(&pg, &ulx, &uly, &lrx, &lry)) {
-+ //~ for multithreading: need a mutex here
-+ if (currentSelection) {
-+diff -urNad xpdf-3.02~/xpdf/XPDFViewer.cc xpdf-3.02/xpdf/XPDFViewer.cc
-+--- xpdf-3.02~/xpdf/XPDFViewer.cc 2007-02-28 09:05:52.000000000 +1100
-++++ xpdf-3.02/xpdf/XPDFViewer.cc 2007-04-24 23:43:59.000000000 +1000
-+@@ -4,6 +4,8 @@
-+ //
-+ // Copyright 2002-2003 Glyph & Cog, LLC
-+ //
-++// Modified for Debian by Hamish Moffatt, 22 May 2002.
-++//
-+ //========================================================================
-+
-+ #include <aconf.h>
-+@@ -3406,10 +3408,12 @@
-+ PSOutputDev *psOut;
-+
-+ doc = viewer->core->getDoc();
-++#ifdef ENFORCE_PERMISSIONS
-+ if (!doc->okToPrint()) {
-+ error(-1, "Printing this document is not allowed.");
-+ return;
-+ }
-++#endif
-+
-+ viewer->core->setBusyCursor(gTrue);
-+
-+diff -urNad xpdf-3.02~/xpdf/pdfimages.cc xpdf-3.02/xpdf/pdfimages.cc
-+--- xpdf-3.02~/xpdf/pdfimages.cc 2007-02-28 09:05:52.000000000 +1100
-++++ xpdf-3.02/xpdf/pdfimages.cc 2007-04-24 23:43:59.000000000 +1000
-+@@ -4,6 +4,8 @@
-+ //
-+ // Copyright 1998-2003 Glyph & Cog, LLC
-+ //
-++// Modified for Debian by Hamish Moffatt, 22 May 2002.
-++//
-+ //========================================================================
-+
-+ #include <aconf.h>
-+@@ -119,11 +121,13 @@
-+ }
-+
-+ // check for copy permission
-++#ifdef ENFORCE_PERMISSIONS
-+ if (!doc->okToCopy()) {
-+ error(-1, "Copying of images from this document is not allowed.");
-+ exitCode = 3;
-+ goto err1;
-+ }
-++#endif
-+
-+ // get page range
-+ if (firstPage < 1)
-+diff -urNad xpdf-3.02~/xpdf/pdftops.cc xpdf-3.02/xpdf/pdftops.cc
-+--- xpdf-3.02~/xpdf/pdftops.cc 2007-02-28 09:05:52.000000000 +1100
-++++ xpdf-3.02/xpdf/pdftops.cc 2007-04-24 23:43:59.000000000 +1000
-+@@ -4,6 +4,8 @@
-+ //
-+ // Copyright 1996-2003 Glyph & Cog, LLC
-+ //
-++// Modified for Debian by Hamish Moffatt, 22 May 2002.
-++//
-+ //========================================================================
-+
-+ #include <aconf.h>
-+@@ -278,12 +280,14 @@
-+ goto err1;
-+ }
-+
-++#ifdef ENFORCE_PERMISSIONS
-+ // check for print permission
-+ if (!doc->okToPrint()) {
-+ error(-1, "Printing this document is not allowed.");
-+ exitCode = 3;
-+ goto err1;
-+ }
-++#endif
-+
-+ // construct PostScript file name
-+ if (argc == 3) {
-+diff -urNad xpdf-3.02~/xpdf/pdftotext.cc xpdf-3.02/xpdf/pdftotext.cc
-+--- xpdf-3.02~/xpdf/pdftotext.cc 2007-02-28 09:05:52.000000000 +1100
-++++ xpdf-3.02/xpdf/pdftotext.cc 2007-04-24 23:43:59.000000000 +1000
-+@@ -4,6 +4,8 @@
-+ //
-+ // Copyright 1997-2003 Glyph & Cog, LLC
-+ //
-++// Modified for Debian by Hamish Moffatt, 22 May 2002.
-++//
-+ //========================================================================
-+
-+ #include <aconf.h>
-+@@ -160,12 +162,14 @@
-+ goto err2;
-+ }
-+
-++#ifdef ENFORCE_PERMISSIONS
-+ // check for copy permission
-+ if (!doc->okToCopy()) {
-+ error(-1, "Copying of text from this document is not allowed.");
-+ exitCode = 3;
-+ goto err2;
-+ }
-++#endif
-+
-+ // construct text file name
-+ if (argc == 3) {
---- xpdf-3.02.orig/debian/patches/fix-CVE-2007-5393_2007-5392_2007-4352.dpatch
-+++ xpdf-3.02/debian/patches/fix-CVE-2007-5393_2007-5392_2007-4352.dpatch
-@@ -0,0 +1,652 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## fix-CVE-2007-5393_2007-5392_2007-4352.dpatch by Nico Golde <nion@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: No description.
-+
-+@DPATCH@
-+diff -urNad xpdf-3.02~/xpdf/Stream.cc xpdf-3.02/xpdf/Stream.cc
-+--- xpdf-3.02~/xpdf/Stream.cc 2007-02-27 23:05:52.000000000 +0100
-++++ xpdf-3.02/xpdf/Stream.cc 2007-11-09 09:20:09.000000000 +0100
-+@@ -1245,23 +1245,26 @@
-+ columns = columnsA;
-+ if (columns < 1) {
-+ columns = 1;
-+- }
-+- if (columns + 4 <= 0) {
-+- columns = INT_MAX - 4;
-++ } else if (columns > INT_MAX - 2) {
-++ columns = INT_MAX - 2;
-+ }
-+ rows = rowsA;
-+ endOfBlock = endOfBlockA;
-+ black = blackA;
-+- refLine = (short *)gmallocn(columns + 3, sizeof(short));
-+- codingLine = (short *)gmallocn(columns + 2, sizeof(short));
-++ // 0 <= codingLine[0] < codingLine[1] < ... < codingLine[n] = columns
-++ // ---> max codingLine size = columns + 1
-++ // refLine has one extra guard entry at the end
-++ // ---> max refLine size = columns + 2
-++ codingLine = (int *)gmallocn(columns + 1, sizeof(int));
-++ refLine = (int *)gmallocn(columns + 2, sizeof(int));
-+
-+ eof = gFalse;
-+ row = 0;
-+ nextLine2D = encoding < 0;
-+ inputBits = 0;
-+- codingLine[0] = 0;
-+- codingLine[1] = refLine[2] = columns;
-+- a0 = 1;
-++ codingLine[0] = columns;
-++ a0i = 0;
-++ outputBits = 0;
-+
-+ buf = EOF;
-+ }
-+@@ -1280,9 +1283,9 @@
-+ row = 0;
-+ nextLine2D = encoding < 0;
-+ inputBits = 0;
-+- codingLine[0] = 0;
-+- codingLine[1] = columns;
-+- a0 = 1;
-++ codingLine[0] = columns;
-++ a0i = 0;
-++ outputBits = 0;
-+ buf = EOF;
-+
-+ // skip any initial zero bits and end-of-line marker, and get the 2D
-+@@ -1299,211 +1302,230 @@
-+ }
-+ }
-+
-++inline void CCITTFaxStream::addPixels(int a1, int blackPixels) {
-++ if (a1 > codingLine[a0i]) {
-++ if (a1 > columns) {
-++ error(getPos(), "CCITTFax row is wrong length (%d)", a1);
-++ err = gTrue;
-++ a1 = columns;
-++ }
-++ if ((a0i & 1) ^ blackPixels) {
-++ ++a0i;
-++ }
-++ codingLine[a0i] = a1;
-++ }
-++}
-++
-++inline void CCITTFaxStream::addPixelsNeg(int a1, int blackPixels) {
-++ if (a1 > codingLine[a0i]) {
-++ if (a1 > columns) {
-++ error(getPos(), "CCITTFax row is wrong length (%d)", a1);
-++ err = gTrue;
-++ a1 = columns;
-++ }
-++ if ((a0i & 1) ^ blackPixels) {
-++ ++a0i;
-++ }
-++ codingLine[a0i] = a1;
-++ } else if (a1 < codingLine[a0i]) {
-++ if (a1 < 0) {
-++ error(getPos(), "Invalid CCITTFax code");
-++ err = gTrue;
-++ a1 = 0;
-++ }
-++ while (a0i > 0 && a1 <= codingLine[a0i - 1]) {
-++ --a0i;
-++ }
-++ codingLine[a0i] = a1;
-++ }
-++}
-++
-+ int CCITTFaxStream::lookChar() {
-+ short code1, code2, code3;
-+- int a0New;
-+- GBool err, gotEOL;
-+- int ret;
-+- int bits, i;
-++ int b1i, blackPixels, i, bits;
-++ GBool gotEOL;
-+
-+- // if at eof just return EOF
-+- if (eof && codingLine[a0] >= columns) {
-+- return EOF;
-++ if (buf != EOF) {
-++ return buf;
-+ }
-+
-+ // read the next row
-+- err = gFalse;
-+- if (codingLine[a0] >= columns) {
-++ if (outputBits == 0) {
-++
-++ // if at eof just return EOF
-++ if (eof) {
-++ return EOF;
-++ }
-++
-++ err = gFalse;
-+
-+ // 2-D encoding
-+ if (nextLine2D) {
-+- // state:
-+- // a0New = current position in coding line (0 <= a0New <= columns)
-+- // codingLine[a0] = last change in coding line
-+- // (black-to-white if a0 is even,
-+- // white-to-black if a0 is odd)
-+- // refLine[b1] = next change in reference line of opposite color
-+- // to a0
-+- // invariants:
-+- // 0 <= codingLine[a0] <= a0New
-+- // <= refLine[b1] <= refLine[b1+1] <= columns
-+- // 0 <= a0 <= columns+1
-+- // refLine[0] = 0
-+- // refLine[n] = refLine[n+1] = columns
-+- // -- for some 1 <= n <= columns+1
-+- // end condition:
-+- // 0 = codingLine[0] <= codingLine[1] < codingLine[2] < ...
-+- // < codingLine[n-1] < codingLine[n] = columns
-+- // -- where 1 <= n <= columns+1
-+ for (i = 0; codingLine[i] < columns; ++i) {
-+ refLine[i] = codingLine[i];
-+ }
-+- refLine[i] = refLine[i + 1] = columns;
-+- b1 = 1;
-+- a0New = codingLine[a0 = 0] = 0;
-+- do {
-++ refLine[i++] = columns;
-++ refLine[i] = columns;
-++ codingLine[0] = 0;
-++ a0i = 0;
-++ b1i = 0;
-++ blackPixels = 0;
-++ // invariant:
-++ // refLine[b1i-1] <= codingLine[a0i] < refLine[b1i] < refLine[b1i+1]
-++ // <= columns
-++ // exception at left edge:
-++ // codingLine[a0i = 0] = refLine[b1i = 0] = 0 is possible
-++ // exception at right edge:
-++ // refLine[b1i] = refLine[b1i+1] = columns is possible
-++ while (codingLine[a0i] < columns) {
-+ code1 = getTwoDimCode();
-+ switch (code1) {
-+ case twoDimPass:
-+- if (refLine[b1] < columns) {
-+- a0New = refLine[b1 + 1];
-+- b1 += 2;
-++ addPixels(refLine[b1i + 1], blackPixels);
-++ if (refLine[b1i + 1] < columns) {
-++ b1i += 2;
-+ }
-+ break;
-+ case twoDimHoriz:
-+- if ((a0 & 1) == 0) {
-+- code1 = code2 = 0;
-++ code1 = code2 = 0;
-++ if (blackPixels) {
-+ do {
-+- code1 += code3 = getWhiteCode();
-++ code1 += code3 = getBlackCode();
-+ } while (code3 >= 64);
-+ do {
-+- code2 += code3 = getBlackCode();
-++ code2 += code3 = getWhiteCode();
-+ } while (code3 >= 64);
-+ } else {
-+- code1 = code2 = 0;
-+ do {
-+- code1 += code3 = getBlackCode();
-++ code1 += code3 = getWhiteCode();
-+ } while (code3 >= 64);
-+ do {
-+- code2 += code3 = getWhiteCode();
-++ code2 += code3 = getBlackCode();
-+ } while (code3 >= 64);
-+ }
-+- if (code1 > 0 || code2 > 0) {
-+- if (a0New + code1 <= columns) {
-+- codingLine[a0 + 1] = a0New + code1;
-+- } else {
-+- codingLine[a0 + 1] = columns;
-+- }
-+- ++a0;
-+- if (codingLine[a0] + code2 <= columns) {
-+- codingLine[a0 + 1] = codingLine[a0] + code2;
-+- } else {
-+- codingLine[a0 + 1] = columns;
-+- }
-+- ++a0;
-+- a0New = codingLine[a0];
-+- while (refLine[b1] <= a0New && refLine[b1] < columns) {
-+- b1 += 2;
-++ addPixels(codingLine[a0i] + code1, blackPixels);
-++ if (codingLine[a0i] < columns) {
-++ addPixels(codingLine[a0i] + code2, blackPixels ^ 1);
-++ }
-++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-++ b1i += 2;
-++ }
-++ break;
-++ case twoDimVertR3:
-++ addPixels(refLine[b1i] + 3, blackPixels);
-++ blackPixels ^= 1;
-++ if (codingLine[a0i] < columns) {
-++ ++b1i;
-++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-++ b1i += 2;
-+ }
-+ }
-+ break;
-+- case twoDimVert0:
-+- if (refLine[b1] < columns) {
-+- a0New = codingLine[++a0] = refLine[b1];
-+- ++b1;
-+- while (refLine[b1] <= a0New && refLine[b1] < columns) {
-+- b1 += 2;
-++ case twoDimVertR2:
-++ addPixels(refLine[b1i] + 2, blackPixels);
-++ blackPixels ^= 1;
-++ if (codingLine[a0i] < columns) {
-++ ++b1i;
-++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-++ b1i += 2;
-+ }
-+- } else {
-+- a0New = codingLine[++a0] = columns;
-+ }
-+ break;
-+ case twoDimVertR1:
-+- if (refLine[b1] + 1 < columns) {
-+- a0New = codingLine[++a0] = refLine[b1] + 1;
-+- ++b1;
-+- while (refLine[b1] <= a0New && refLine[b1] < columns) {
-+- b1 += 2;
-++ addPixels(refLine[b1i] + 1, blackPixels);
-++ blackPixels ^= 1;
-++ if (codingLine[a0i] < columns) {
-++ ++b1i;
-++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-++ b1i += 2;
-+ }
-+- } else {
-+- a0New = codingLine[++a0] = columns;
-+ }
-+ break;
-+- case twoDimVertL1:
-+- if (refLine[b1] - 1 > a0New || (a0 == 0 && refLine[b1] == 1)) {
-+- a0New = codingLine[++a0] = refLine[b1] - 1;
-+- --b1;
-+- while (refLine[b1] <= a0New && refLine[b1] < columns) {
-+- b1 += 2;
-++ case twoDimVert0:
-++ addPixels(refLine[b1i], blackPixels);
-++ blackPixels ^= 1;
-++ if (codingLine[a0i] < columns) {
-++ ++b1i;
-++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-++ b1i += 2;
-+ }
-+ }
-+ break;
-+- case twoDimVertR2:
-+- if (refLine[b1] + 2 < columns) {
-+- a0New = codingLine[++a0] = refLine[b1] + 2;
-+- ++b1;
-+- while (refLine[b1] <= a0New && refLine[b1] < columns) {
-+- b1 += 2;
-++ case twoDimVertL3:
-++ addPixelsNeg(refLine[b1i] - 3, blackPixels);
-++ blackPixels ^= 1;
-++ if (codingLine[a0i] < columns) {
-++ if (b1i > 0) {
-++ --b1i;
-++ } else {
-++ ++b1i;
-++ }
-++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-++ b1i += 2;
-+ }
-+- } else {
-+- a0New = codingLine[++a0] = columns;
-+ }
-+ break;
-+ case twoDimVertL2:
-+- if (refLine[b1] - 2 > a0New || (a0 == 0 && refLine[b1] == 2)) {
-+- a0New = codingLine[++a0] = refLine[b1] - 2;
-+- --b1;
-+- while (refLine[b1] <= a0New && refLine[b1] < columns) {
-+- b1 += 2;
-++ addPixelsNeg(refLine[b1i] - 2, blackPixels);
-++ blackPixels ^= 1;
-++ if (codingLine[a0i] < columns) {
-++ if (b1i > 0) {
-++ --b1i;
-++ } else {
-++ ++b1i;
-+ }
-+- }
-+- break;
-+- case twoDimVertR3:
-+- if (refLine[b1] + 3 < columns) {
-+- a0New = codingLine[++a0] = refLine[b1] + 3;
-+- ++b1;
-+- while (refLine[b1] <= a0New && refLine[b1] < columns) {
-+- b1 += 2;
-++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-++ b1i += 2;
-+ }
-+- } else {
-+- a0New = codingLine[++a0] = columns;
-+ }
-+ break;
-+- case twoDimVertL3:
-+- if (refLine[b1] - 3 > a0New || (a0 == 0 && refLine[b1] == 3)) {
-+- a0New = codingLine[++a0] = refLine[b1] - 3;
-+- --b1;
-+- while (refLine[b1] <= a0New && refLine[b1] < columns) {
-+- b1 += 2;
-++ case twoDimVertL1:
-++ addPixelsNeg(refLine[b1i] - 1, blackPixels);
-++ blackPixels ^= 1;
-++ if (codingLine[a0i] < columns) {
-++ if (b1i > 0) {
-++ --b1i;
-++ } else {
-++ ++b1i;
-++ }
-++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-++ b1i += 2;
-+ }
-+ }
-+ break;
-+ case EOF:
-++ addPixels(columns, 0);
-+ eof = gTrue;
-+- codingLine[a0 = 0] = columns;
-+- return EOF;
-++ break;
-+ default:
-+ error(getPos(), "Bad 2D code %04x in CCITTFax stream", code1);
-++ addPixels(columns, 0);
-+ err = gTrue;
-+ break;
-+ }
-+- } while (codingLine[a0] < columns);
-++ }
-+
-+ // 1-D encoding
-+ } else {
-+- codingLine[a0 = 0] = 0;
-+- while (1) {
-++ codingLine[0] = 0;
-++ a0i = 0;
-++ blackPixels = 0;
-++ while (codingLine[a0i] < columns) {
-+ code1 = 0;
-+- do {
-+- code1 += code3 = getWhiteCode();
-+- } while (code3 >= 64);
-+- codingLine[a0+1] = codingLine[a0] + code1;
-+- ++a0;
-+- if (codingLine[a0] >= columns) {
-+- break;
-+- }
-+- code2 = 0;
-+- do {
-+- code2 += code3 = getBlackCode();
-+- } while (code3 >= 64);
-+- codingLine[a0+1] = codingLine[a0] + code2;
-+- ++a0;
-+- if (codingLine[a0] >= columns) {
-+- break;
-++ if (blackPixels) {
-++ do {
-++ code1 += code3 = getBlackCode();
-++ } while (code3 >= 64);
-++ } else {
-++ do {
-++ code1 += code3 = getWhiteCode();
-++ } while (code3 >= 64);
-+ }
-++ addPixels(codingLine[a0i] + code1, blackPixels);
-++ blackPixels ^= 1;
-+ }
-+ }
-+
-+- if (codingLine[a0] != columns) {
-+- error(getPos(), "CCITTFax row is wrong length (%d)", codingLine[a0]);
-+- // force the row to be the correct length
-+- while (codingLine[a0] > columns) {
-+- --a0;
-+- }
-+- codingLine[++a0] = columns;
-+- err = gTrue;
-+- }
-+-
-+ // byte-align the row
-+ if (byteAlign) {
-+ inputBits &= ~7;
-+@@ -1562,14 +1584,17 @@
-+ // this if we know the stream contains end-of-line markers because
-+ // the "just plow on" technique tends to work better otherwise
-+ } else if (err && endOfLine) {
-+- do {
-++ while (1) {
-++ code1 = lookBits(13);
-+ if (code1 == EOF) {
-+ eof = gTrue;
-+ return EOF;
-+ }
-++ if ((code1 >> 1) == 0x001) {
-++ break;
-++ }
-+ eatBits(1);
-+- code1 = lookBits(13);
-+- } while ((code1 >> 1) != 0x001);
-++ }
-+ eatBits(12);
-+ if (encoding > 0) {
-+ eatBits(1);
-+@@ -1577,11 +1602,11 @@
-+ }
-+ }
-+
-+- a0 = 0;
-+- outputBits = codingLine[1] - codingLine[0];
-+- if (outputBits == 0) {
-+- a0 = 1;
-+- outputBits = codingLine[2] - codingLine[1];
-++ // set up for output
-++ if (codingLine[0] > 0) {
-++ outputBits = codingLine[a0i = 0];
-++ } else {
-++ outputBits = codingLine[a0i = 1];
-+ }
-+
-+ ++row;
-+@@ -1589,39 +1614,43 @@
-+
-+ // get a byte
-+ if (outputBits >= 8) {
-+- ret = ((a0 & 1) == 0) ? 0xff : 0x00;
-+- if ((outputBits -= 8) == 0) {
-+- ++a0;
-+- if (codingLine[a0] < columns) {
-+- outputBits = codingLine[a0 + 1] - codingLine[a0];
-+- }
-++ buf = (a0i & 1) ? 0x00 : 0xff;
-++ outputBits -= 8;
-++ if (outputBits == 0 && codingLine[a0i] < columns) {
-++ ++a0i;
-++ outputBits = codingLine[a0i] - codingLine[a0i - 1];
-+ }
-+ } else {
-+ bits = 8;
-+- ret = 0;
-++ buf = 0;
-+ do {
-+ if (outputBits > bits) {
-+- i = bits;
-+- bits = 0;
-+- if ((a0 & 1) == 0) {
-+- ret |= 0xff >> (8 - i);
-++ buf <<= bits;
-++ if (!(a0i & 1)) {
-++ buf |= 0xff >> (8 - bits);
-+ }
-+- outputBits -= i;
-++ outputBits -= bits;
-++ bits = 0;
-+ } else {
-+- i = outputBits;
-+- bits -= outputBits;
-+- if ((a0 & 1) == 0) {
-+- ret |= (0xff >> (8 - i)) << bits;
-++ buf <<= outputBits;
-++ if (!(a0i & 1)) {
-++ buf |= 0xff >> (8 - outputBits);
-+ }
-++ bits -= outputBits;
-+ outputBits = 0;
-+- ++a0;
-+- if (codingLine[a0] < columns) {
-+- outputBits = codingLine[a0 + 1] - codingLine[a0];
-++ if (codingLine[a0i] < columns) {
-++ ++a0i;
-++ outputBits = codingLine[a0i] - codingLine[a0i - 1];
-++ } else if (bits > 0) {
-++ buf <<= bits;
-++ bits = 0;
-+ }
-+ }
-+- } while (bits > 0 && codingLine[a0] < columns);
-++ } while (bits);
-++ }
-++ if (black) {
-++ buf ^= 0xff;
-+ }
-+- buf = black ? (ret ^ 0xff) : ret;
-+ return buf;
-+ }
-+
-+@@ -1663,6 +1692,9 @@
-+ code = 0; // make gcc happy
-+ if (endOfBlock) {
-+ code = lookBits(12);
-++ if (code == EOF) {
-++ return 1;
-++ }
-+ if ((code >> 5) == 0) {
-+ p = &whiteTab1[code];
-+ } else {
-+@@ -1675,6 +1707,9 @@
-+ } else {
-+ for (n = 1; n <= 9; ++n) {
-+ code = lookBits(n);
-++ if (code == EOF) {
-++ return 1;
-++ }
-+ if (n < 9) {
-+ code <<= 9 - n;
-+ }
-+@@ -1686,6 +1721,9 @@
-+ }
-+ for (n = 11; n <= 12; ++n) {
-+ code = lookBits(n);
-++ if (code == EOF) {
-++ return 1;
-++ }
-+ if (n < 12) {
-+ code <<= 12 - n;
-+ }
-+@@ -1711,9 +1749,12 @@
-+ code = 0; // make gcc happy
-+ if (endOfBlock) {
-+ code = lookBits(13);
-++ if (code == EOF) {
-++ return 1;
-++ }
-+ if ((code >> 7) == 0) {
-+ p = &blackTab1[code];
-+- } else if ((code >> 9) == 0) {
-++ } else if ((code >> 9) == 0 && (code >> 7) != 0) {
-+ p = &blackTab2[(code >> 1) - 64];
-+ } else {
-+ p = &blackTab3[code >> 7];
-+@@ -1725,6 +1766,9 @@
-+ } else {
-+ for (n = 2; n <= 6; ++n) {
-+ code = lookBits(n);
-++ if (code == EOF) {
-++ return 1;
-++ }
-+ if (n < 6) {
-+ code <<= 6 - n;
-+ }
-+@@ -1736,6 +1780,9 @@
-+ }
-+ for (n = 7; n <= 12; ++n) {
-+ code = lookBits(n);
-++ if (code == EOF) {
-++ return 1;
-++ }
-+ if (n < 12) {
-+ code <<= 12 - n;
-+ }
-+@@ -1749,6 +1796,9 @@
-+ }
-+ for (n = 10; n <= 13; ++n) {
-+ code = lookBits(n);
-++ if (code == EOF) {
-++ return 1;
-++ }
-+ if (n < 13) {
-+ code <<= 13 - n;
-+ }
-+@@ -1963,6 +2013,12 @@
-+ // allocate a buffer for the whole image
-+ bufWidth = ((width + mcuWidth - 1) / mcuWidth) * mcuWidth;
-+ bufHeight = ((height + mcuHeight - 1) / mcuHeight) * mcuHeight;
-++ if (bufWidth <= 0 || bufHeight <= 0 ||
-++ bufWidth > INT_MAX / bufWidth / (int)sizeof(int)) {
-++ error(getPos(), "Invalid image size in DCT stream");
-++ y = height;
-++ return;
-++ }
-+ for (i = 0; i < numComps; ++i) {
-+ frameBuf[i] = (int *)gmallocn(bufWidth * bufHeight, sizeof(int));
-+ memset(frameBuf[i], 0, bufWidth * bufHeight * sizeof(int));
-+@@ -3038,6 +3094,11 @@
-+ }
-+ scanInfo.firstCoeff = str->getChar();
-+ scanInfo.lastCoeff = str->getChar();
-++ if (scanInfo.firstCoeff < 0 || scanInfo.lastCoeff > 63 ||
-++ scanInfo.firstCoeff > scanInfo.lastCoeff) {
-++ error(getPos(), "Bad DCT coefficient numbers in scan info block");
-++ return gFalse;
-++ }
-+ c = str->getChar();
-+ scanInfo.ah = (c >> 4) & 0x0f;
-+ scanInfo.al = c & 0x0f;
-+diff -urNad xpdf-3.02~/xpdf/Stream.h xpdf-3.02/xpdf/Stream.h
-+--- xpdf-3.02~/xpdf/Stream.h 2007-02-27 23:05:52.000000000 +0100
-++++ xpdf-3.02/xpdf/Stream.h 2007-11-09 09:20:09.000000000 +0100
-+@@ -528,13 +528,15 @@
-+ int row; // current row
-+ int inputBuf; // input buffer
-+ int inputBits; // number of bits in input buffer
-+- short *refLine; // reference line changing elements
-+- int b1; // index into refLine
-+- short *codingLine; // coding line changing elements
-+- int a0; // index into codingLine
-++ int *codingLine; // coding line changing elements
-++ int *refLine; // reference line changing elements
-++ int a0i; // index into codingLine
-++ GBool err; // error on current line
-+ int outputBits; // remaining ouput bits
-+ int buf; // character buffer
-+
-++ void addPixels(int a1, int black);
-++ void addPixelsNeg(int a1, int black);
-+ short getTwoDimCode();
-+ short getWhiteCode();
-+ short getBlackCode();
---- xpdf-3.02.orig/debian/patches/10_add_accelerators.dpatch
-+++ xpdf-3.02/debian/patches/10_add_accelerators.dpatch
-@@ -0,0 +1,33 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 10_add_accelerators.dpatch by <hamish@noddy.cloud.net.au>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Add keyboard accelerators for rotate (#385962)
-+
-+@DPATCH@
-+diff -urNad xpdf-3.02~/xpdf/XPDFViewer.cc xpdf-3.02/xpdf/XPDFViewer.cc
-+--- xpdf-3.02~/xpdf/XPDFViewer.cc 2007-04-25 01:40:50.000000000 +1000
-++++ xpdf-3.02/xpdf/XPDFViewer.cc 2007-04-25 01:42:13.000000000 +1000
-+@@ -1958,16 +1958,22 @@
-+ n = 0;
-+ s = XmStringCreateLocalized("Rotate counterclockwise");
-+ XtSetArg(args[n], XmNlabelString, s); ++n;
-++ s2 = XmStringCreateLocalized("[");
-++ XtSetArg(args[n], XmNacceleratorText, s2); ++n;
-+ btn = XmCreatePushButton(popupMenu, "rotateCCW", args, n);
-+ XmStringFree(s);
-++ XmStringFree(s2);
-+ XtManageChild(btn);
-+ XtAddCallback(btn, XmNactivateCallback,
-+ &rotateCCWCbk, (XtPointer)this);
-+ n = 0;
-+ s = XmStringCreateLocalized("Rotate clockwise");
-+ XtSetArg(args[n], XmNlabelString, s); ++n;
-++ s2 = XmStringCreateLocalized("]");
-++ XtSetArg(args[n], XmNacceleratorText, s2); ++n;
-+ btn = XmCreatePushButton(popupMenu, "rotateCW", args, n);
-+ XmStringFree(s);
-++ XmStringFree(s2);
-+ XtManageChild(btn);
-+ XtAddCallback(btn, XmNactivateCallback,
-+ &rotateCWCbk, (XtPointer)this);
---- xpdf-3.02.orig/debian/patches/fix-CVE-2007-3387_CVE-2007-5049.dpatch
-+++ xpdf-3.02/debian/patches/fix-CVE-2007-3387_CVE-2007-5049.dpatch
-@@ -0,0 +1,31 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## fix-CVE-2007-3387_CVE-2007-5049.dpatch by Nico Golde <nion@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: No description.
-+
-+@DPATCH@
-+diff -urNad xpdf-3.02~/xpdf/Stream.cc xpdf-3.02/xpdf/Stream.cc
-+--- xpdf-3.02~/xpdf/Stream.cc 2007-02-27 23:05:52.000000000 +0100
-++++ xpdf-3.02/xpdf/Stream.cc 2007-09-27 12:04:52.000000000 +0200
-+@@ -410,15 +410,13 @@
-+ ok = gFalse;
-+
-+ nVals = width * nComps;
-+- if (width <= 0 || nComps <= 0 || nBits <= 0 ||
-+- nComps >= INT_MAX / nBits ||
-+- width >= INT_MAX / nComps / nBits ||
-+- nVals * nBits + 7 < 0) {
-+- return;
-+- }
-+ pixBytes = (nComps * nBits + 7) >> 3;
-+ rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes;
-+- if (rowBytes <= 0) {
-++ if (width <= 0 || nComps <= 0 || nBits <= 0 ||
-++ nComps > gfxColorMaxComps ||
-++ nBits > 16 ||
-++ width >= INT_MAX / nComps || // check for overflow in nVals
-++ nVals >= (INT_MAX - 7) / nBits) { // check for overflow in rowBytes
-+ return;
-+ }
-+ predLine = (Guchar *)gmalloc(rowBytes);
---- xpdf-3.02.orig/debian/patches/99_autoconf.dpatch
-+++ xpdf-3.02/debian/patches/99_autoconf.dpatch
-@@ -0,0 +1,19 @@
-+#! /bin/sh -e
-+## DP: run aclocal and autoconf
-+
-+dpatch_patch ()
-+{
-+ tar cf debian/patched/autoconf.tar configure aclocal.m4
-+ aclocal-1.9 -I .
-+ autoconf
-+}
-+
-+dpatch_unpatch ()
-+{
-+ tar xf debian/patched/autoconf.tar
-+}
-+
-+DPATCH_LIB_NO_DEFAULT=1
-+
-+. /usr/share/dpatch/dpatch.lib.sh
-+
---- xpdf-3.02.orig/debian/patches/41_lesstif_cpp.dpatch
-+++ xpdf-3.02/debian/patches/41_lesstif_cpp.dpatch
-@@ -0,0 +1,30 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 41_lesstif_cpp.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Work around mixed C/C++ linkages in lesstif - #377230
-+
-+@DPATCH@
-+diff -urNad xpdf-3.01~/lesstif/Xm/VendorSP.h xpdf-3.01/lesstif/Xm/VendorSP.h
-+--- xpdf-3.01~/lesstif/Xm/VendorSP.h 2006-05-28 08:30:56.000000000 +1000
-++++ xpdf-3.01/lesstif/Xm/VendorSP.h 2006-07-15 14:42:38.000000000 +1000
-+@@ -30,10 +30,6 @@
-+ #include <Xm/VendorS.h>
-+ #include <X11/ShellP.h>
-+
-+-#ifdef __cplusplus
-+-extern "C" {
-+-#endif
-+-
-+ XMLIBEXPORT extern Cardinal _XmFilterResources(XtResource *resources,
-+ Cardinal numResources,
-+ WidgetClass filterClass,
-+@@ -58,8 +54,5 @@
-+ XMLIBEXPORT extern VendorShellClassRec vendorShellClassRec;
-+
-+
-+-#ifdef __cplusplus
-+-}
-+-#endif
-+
-+ #endif /* _XM_VENDORSP_H */
---- xpdf-3.02.orig/debian/zxpdf
-+++ xpdf-3.02/debian/zxpdf
-@@ -0,0 +1,52 @@
-+#!/bin/bash
-+
-+# Copyright (c) 2001 Alcove - http://www.alcove.com/
-+# Please distribute under the terms of the GNU GPL, version 2
-+
-+# Author: Yann Dirson <yann.dirson@fr.alcove.com>
-+# $Id: zxpdf,v 1.1 2001/09/28 10:23:35 ydirson Exp $
-+
-+set -e
-+
-+file=
-+flags=
-+title="zxpdf"
-+while [ $# -gt 0 ]
-+do
-+ case "$1" in
-+ -z|-g|-geometry|-remote|-rgb|-papercolor|-eucjp|-t1lib|-ps|-paperw|-paperh)
-+ flags="$flags $1 $2"; shift ;;
-+ -title) title="$2"; shift ;;
-+ -*) flags="$flags $1" ;;
-+ *.pdf|*.PDF) file="$1"; shift; pages="$@"; cat=; break ;;
-+ *.gz|*.Z) file="$1"; shift; pages="$@"; cat=zcat; break ;;
-+ *.bz2) file="$1"; shift; pages="$@"; cat=bzcat; break ;;
-+ *) echo >&2 "ERROR: unknown suffix in file \`$1'"; exit 1 ;;
-+ esac
-+ shift
-+done
-+
-+if [ $# -ge 1 ] # optional page argument
-+then
-+ echo >&2 "ERROR: Too many arguments"
-+fi
-+
-+if [ x"$title" == x -a x"$tmp" != x ]
-+then
-+ title="zxpdf: $file"
-+fi
-+
-+if [ -z "$cat" ]
-+then
-+ tmp="$file"
-+else
-+ tmp=$(basename "$file")
-+ tmp=$(tempfile -p "${tmp%.pdf*}" -s .pdf)
-+ $cat "$file" >"$tmp"
-+fi
-+
-+if [ "$tmp" == "" ]; then
-+ exec xpdf -title $title $flags
-+else
-+ exec xpdf -title $title $flags "$tmp" $pages
-+fi
---- xpdf-3.02.orig/debian/copyright
-+++ xpdf-3.02/debian/copyright
-@@ -0,0 +1,42 @@
-+
-+This is Debian GNU/Linux's prepackaged version of the 'xpdf' viewer written
-+by Derek B. Noonburg. This package was original built by
-+Dirk Eddelbuettel <edd@qed.econ.queensu.ca> and since 1998 has been
-+maintained by Hamish Moffatt <hamish@debian.org>. Current sources are found
-+at
-+ http://www.foolabs.com/xpdf
-+
-+
-+The upstream author's email address is: derekn@foolabs.com
-+
-+Copyright:
-+
-+Xpdf is copyright 1996-2007 Derek B. Noonburg.
-+
-+Xpdf is licensed under the GNU General Public License (GPL), version
-+2. In my opinion, the GPL is a convoluted, confusing, ambiguous mess.
-+But it's also pervasive, and I'm sick of arguing. And even if it is
-+confusing, the basic idea is good.
-+
-+In order to cut down on the confusion a little bit, here are some
-+informal clarifications:
-+
-+- I don't mind if you redistribute xpdf in source and/or binary form,
-+ as long as you include all of the documentation: README, man pages
-+ (or help files), and COPYING. (Note that the README file contains a
-+ pointer to a web page with the source code.)
-+
-+- Selling a CD-ROM that contains xpdf is fine with me, as long as it
-+ includes the documentation. I wouldn't mind receiving a sample
-+ copy, but it's not necessary.
-+
-+- If you make useful changes to xpdf, please make the source code
-+ available -- post it on a web site, email it to me, whatever.
-+
-+For information on commercial licensing and consulting, please see the
-+Glyph & Cog web site:
-+
-+ http://www.glyphandcog.com/
-+
-+The full text of the GPL can be found in /usr/share/common-licenses/GPL.
-+
---- xpdf-3.02.orig/debian/xpdf.xpm
-+++ xpdf-3.02/debian/xpdf.xpm
-@@ -0,0 +1,177 @@
-+/* XPM */
-+static char *xpdf[] = {
-+/* columns rows colors chars-per-pixel */
-+"32 32 139 2",
-+" c #003D000F000F",
-+". c #0CE40CE00CE0",
-+"X c #1E7600000000",
-+"o c #138D13B413B4",
-+"O c #19E816001600",
-+"+ c #1B021CF31CF3",
-+"@ c #26B900000000",
-+"# c #2D20004E004E",
-+"$ c #2DCD0F260F26",
-+"% c #342B0C290C29",
-+"& c #39F700000000",
-+"* c #35BB16E016E0",
-+"= c #3F3D10DC10DC",
-+"- c #23C023C023C0",
-+"; c #2DB72DF22DF2",
-+": c #32B02C2C2C2C",
-+"> c #331533153315",
-+", c #3D4F3DAB3DAB",
-+"< c #412900000000",
-+"1 c #4E4400000000",
-+"2 c #438A16751675",
-+"3 c #552E00090009",
-+"4 c #589D00000000",
-+"5 c #553814381438",
-+"6 c #466A40084008",
-+"7 c #578D29C429C4",
-+"8 c #63DD00000000",
-+"9 c #706515B015B0",
-+"0 c #708517F717F7",
-+"q c #71D819011901",
-+"w c #42B142B242B2",
-+"e c #4AB94AB64AB6",
-+"r c #5F30420C420C",
-+"t c #52F852745274",
-+"y c #553A59885988",
-+"u c #5C0B535A535A",
-+"i c #599959D559D5",
-+"p c #618059D459D4",
-+"a c #7FA2562B562B",
-+"s c #63F465206520",
-+"d c #699169916991",
-+"f c #7B317B717B71",
-+"g c #AE2F00880088",
-+"h c #B26E00000000",
-+"j c #B8C604F204F2",
-+"k c #B90308810881",
-+"l c #B13817391739",
-+"z c #BFF611DD11DD",
-+"x c #A7343C313C31",
-+"c c #B6A136E436E4",
-+"v c #B14F39523952",
-+"b c #A7CA44514451",
-+"n c #AC7B5BE65BE6",
-+"m c #ABF678C378C3",
-+"M c #C79F00000000",
-+"N c #CD5500170017",
-+"B c #C4B212E112E1",
-+"V c #CED416B516B5",
-+"C c #DD5300000000",
-+"Z c #DCAC0C610C61",
-+"A c #D83D139D139D",
-+"S c #DCCB13C113C1",
-+"D c #D90D194E194E",
-+"F c #D87234623462",
-+"G c #D84A3CFC3CFC",
-+"H c #DED13D643D64",
-+"J c #E229000B000B",
-+"K c #E2CE09930993",
-+"L c #E45115631563",
-+"P c #E54D19161916",
-+"I c #E2BC21232123",
-+"U c #CE1D46944694",
-+"Y c #CD8C53CB53CB",
-+"T c #D70F42BB42BB",
-+"R c #DA5454E754E7",
-+"E c #D9295CAA5CAA",
-+"W c #CAFD63A163A1",
-+"Q c #C9846E7E6E7E",
-+"! c #DEBA65C865C8",
-+"~ c #DD2D7F957F95",
-+"^ c #E4DA44214421",
-+"/ c #E3A452AE52AE",
-+"( c #ED3959C459C4",
-+") c #E22F650D650D",
-+"_ c #845284888488",
-+"` c #86F188C288C2",
-+"' c #8DE18DEE8DEE",
-+"] c #935A941B941B",
-+"[ c #9CE89CF49CF4",
-+"{ c #A7A8850E850E",
-+"} c #AA8084FC84FC",
-+"| c #AFF888F088F0",
-+" . c #B29381928192",
-+".. c #B6EE8A448A44",
-+"X. c #A3FDA3EBA3EB",
-+"o. c #AB35AC0CAC0C",
-+"O. c #B246B246B246",
-+"+. c #B969B4DDB4DD",
-+"@. c #BB90BB8FBB8F",
-+"#. c #CD068F7A8F7A",
-+"$. c #CDC0936A936A",
-+"%. c #D20085B385B3",
-+"&. c #D6699ED29ED2",
-+"*. c #DC829C599C59",
-+"=. c #CD42A62FA62F",
-+"-. c #CE21ABF7ABF7",
-+";. c #CD9AB2CBB2CB",
-+":. c #CD0CC08AC08A",
-+">. c #D8C2A77BA77B",
-+",. c #EAE89F659F65",
-+"<. c #EC71BE37BE37",
-+"1. c #F4BBA0EAA0EA",
-+"2. c #F5C9AB37AB37",
-+"3. c #FB7DAD09AD09",
-+"4. c #C526C505C505",
-+"5. c #CD07CC65CC65",
-+"6. c #D032D33DD33D",
-+"7. c #D630C522C522",
-+"8. c #DA43C538C538",
-+"9. c #DFD0CAA7CAA7",
-+"0. c #D260D3EFD3EF",
-+"q. c #D4D9D990D990",
-+"w. c #DB0BDBC3DBC3",
-+"e. c #E08DE8F0E8F0",
-+"r. c #E76CC6A0C6A0",
-+"t. c #E78BD27BD27B",
-+"y. c #EFD9D5B1D5B1",
-+"u. c #EAC6DCDCDCDC",
-+"i. c #E5DCE474E474",
-+"p. c #E7BFEA2AEA2A",
-+"a. c #ED83E7CCE7CC",
-+"s. c #EBD0EBC8EBC8",
-+"d. c #EE64F2ADF2AD",
-+"f. c #F714E461E461",
-+"g. c #F915E48FE48F",
-+"h. c #FD3EEA64EA64",
-+"j. c #F276F27AF27A",
-+"k. c #FCA4F400F400",
-+"l. c #FFF3FFF3FFF3",
-+/* pixels */
-+" ",
-+" ",
-+"< 1 1 3 3 & @ 1 1 @ ",
-+"8 N J J J N 4 # g J h # ",
-+" 4 N J J J N 4 O w w o o 6 b A h # ",
-+" 4 N J C J N 4 , w.5.> O X.4.7.>.% ",
-+" 4 N J J J N 4 O.O. ` y.F ! q.O ",
-+" 4 N J J J N 4 - 0.o. # ;.2.h 2 , ",
-+" 4 N J J J N 4 w s.] @ x p.| # ",
-+" 4 N J J J N 4 w p.} g T p._ ",
-+" 3 N J J J N 4 e d.%.C U s.f ",
-+" . . 3 M J J J N 4 X i k.H g a s.> ",
-+" ; @.f t n / D J J B 6 y u .h.l 7 ] j.d t . ",
-+" > @.l.w.] s 6.*.K A #.8.W ! u.a.* ; [ d.d t ",
-+" o _ 4.l.d d h.A Q e.R C A r.6.o . +.5.o ",
-+" + _ j.e i s.0 &.<.A J A 8.4.. . 4.4.o ",
-+" _ s.w i p.O o.3.C J S t.4.. o 5.@.. ",
-+" ] s.w . ] 6.= -.2.C J P h.~ 4 O i.f ",
-+" X.j.w w w...j ,.r.c N ^ k.( N 0 s.i ",
-+" o.s.] ' o...z J c 4.5.$.=.f.1.K ) g.X.. ",
-+" O 4.O.O + 2 k J g # o + + 5 V P K L D q ",
-+" w s.] # g J h # 4 N J J C N 4 ",
-+" w p._ @ h J g # 4 N J J J N 4 ",
-+" e d.} g J h # 4 N J J J N 4 ",
-+" i k.Y J g # 4 N J J J N 4 ",
-+" s h.I g # 4 N J J J N 4 ",
-+" $ +.s.m # 4 N J J J N 4 ",
-+" # g T b : 4 N J J J N 4 ",
-+" # h J g # 4 N J J J N < ",
-+" @ 1 1 @ & 1 3 1 3 X ",
-+" ",
-+" "
-+};
---- xpdf-3.02.orig/debian/xpdf-wrapper
-+++ xpdf-3.02/debian/xpdf-wrapper
-@@ -0,0 +1,5 @@
-+#!/bin/bash
-+LANG=C
-+LC_ALL=C
-+export LANG LC_ALL
-+exec -a xpdf xpdf.bin "$@"
---- xpdf-3.02.orig/debian/rules
-+++ xpdf-3.02/debian/rules
-@@ -0,0 +1,110 @@
-+#!/usr/bin/make -f
-+# -*- makefile -*-
-+# debian.rules file for the Debian GNU/Linux xpdf package
-+# Copyright 1996,1997,1998 by Dirk Eddelbuettel <edd@debian.org>
-+# Copyright 1998-2006 by Hamish Moffatt <hamish@debian.org>
-+
-+build: build-stamp
-+build-stamp: patch
-+ dh_testdir
-+ #CC=gcc-4.0 CXX=g++-4.0 ./configure
-+ ./configure \
-+ --prefix=/usr \
-+ --sysconfdir=/etc/xpdf \
-+ --mandir=/usr/share/man \
-+ --with-x \
-+ --enable-freetype2 \
-+ --enable-opi \
-+ --enable-wordlist \
-+ --enable-multithreaded \
-+ --with-Xm-includes=$(shell pwd)/lesstif \
-+ --with-freetype2-includes=/usr/include/freetype2 \
-+ --with-t1-includes=/usr/include
-+ $(MAKE)
-+ touch build-stamp
-+
-+clean: clean1 unpatch
-+clean1:
-+ dh_testdir
-+ -$(MAKE) -i distclean
-+ rm -rf *~ debian/*~ debian/files* build-stamp aconf.h
-+ rm -rf fofi/Makefile splash/Makefile
-+ dh_clean
-+
-+binary-indep: # Nothing to build
-+ dh_testdir
-+ dh_installdirs -i
-+ ln -sf xpdf-common debian/xpdf/usr/share/doc/xpdf
-+
-+ cp doc/xpdfrc.5 debian/xpdf-common/usr/share/man/man5
-+ cp debian/xpdfrc debian/xpdf-common/usr/share/doc/xpdf-common/examples/sample-xpdfrc
-+ cp debian/update-xpdfrc debian/xpdf-common/usr/sbin
-+ chmod +x debian/xpdf-common/usr/sbin/update-xpdfrc
-+ cp debian/xpdfrc debian/xpdf-common/etc/xpdf
-+ cp debian/xpdf-bug-control debian/xpdf/usr/share/bug/xpdf/control
-+
-+ dh_installdocs -pxpdf-common README debian/README.Debian
-+ dh_installchangelogs -pxpdf-common CHANGES
-+ cp debian/update-xpdfrc.8 debian/xpdf-common/usr/share/man/man8
-+
-+ cp -a debian/lang/* debian/xpdf-common/
-+
-+ dh_compress -i
-+ dh_fixperms -i
-+ dh_installdeb -i
-+ dh_shlibdeps -i
-+ dh_gencontrol -i
-+ dh_md5sums -i
-+ dh_builddeb -i
-+
-+binary-arch: build
-+ dh_testdir
-+
-+ dh_installdirs -a
-+ mkdir -p debian/tmp
-+ mkdir -p debian/tmp/usr/share
-+ $(MAKE) install DESTDIR=`pwd`/debian/tmp
-+
-+ ln -sf xpdf-common debian/xpdf-reader/usr/share/doc/xpdf-reader
-+ ln -sf xpdf-common debian/xpdf-utils/usr/share/doc/xpdf-utils
-+
-+ cp debian/zxpdf debian/xpdf-reader/usr/bin
-+ chmod +x debian/xpdf-reader/usr/bin/zxpdf
-+ ln -sf xpdf.1.gz debian/xpdf-reader/usr/share/man/man1/zxpdf.1.gz
-+ ln -sf xpdf.1.gz debian/xpdf-reader/usr/share/man/man1/xpdf.bin.1.gz
-+
-+ cp debian/xpdf.xpm debian/xpdf-reader/usr/share/pixmaps
-+
-+ dh_installdocs -a
-+ dh_movefiles -a
-+ rm -rf debian/tmp
-+
-+ # rename xpdf binary and install wrapper script
-+ mv debian/xpdf-reader/usr/bin/xpdf debian/xpdf-reader/usr/bin/xpdf.bin
-+ cp debian/xpdf-wrapper debian/xpdf-reader/usr/bin/xpdf
-+ chmod +x debian/xpdf-reader/usr/bin/xpdf
-+ cp debian/xpdf.desktop debian/xpdf-reader/usr/share/applications/
-+
-+ dh_installmime -pxpdf-reader
-+ dh_installmenu -pxpdf-reader
-+ dh_strip -a
-+ dh_desktop -a
-+ dh_compress -a
-+ dh_fixperms -a
-+ dh_installdeb -a
-+ dh_shlibdeps -a
-+ dh_gencontrol -a
-+ dh_md5sums -a
-+ dh_builddeb -a
-+
-+patch: patch-stamp
-+patch-stamp:
-+ dpatch apply-all
-+ #dpatch call-all -a=pkg-info >patch-stamp
-+ touch patch-stamp
-+
-+unpatch:
-+ dpatch deapply-all
-+ rm -rf patch-stamp debian/patched
-+
-+binary: binary-indep binary-arch
diff --git a/source/xap/xpdf/patches/xpdfrc.diff b/source/xap/xpdf/patches/xpdfrc.diff
index f005414e0..c136f9970 100644
--- a/source/xap/xpdf/patches/xpdfrc.diff
+++ b/source/xap/xpdf/patches/xpdfrc.diff
@@ -1,43 +1,43 @@
---- ./doc/sample-xpdfrc.orig 2005-08-17 00:34:30.000000000 -0500
-+++ ./doc/sample-xpdfrc 2007-02-17 21:26:12.000000000 -0600
+--- ./doc/sample-xpdfrc.orig 2013-03-28 15:29:16.957444255 -0500
++++ ./doc/sample-xpdfrc 2013-03-28 15:32:11.413438678 -0500
@@ -29,20 +29,20 @@
# installed in a "standard" location, xpdf will find them
# automatically.)
--#displayFontT1 Times-Roman /usr/local/share/ghostscript/fonts/n021003l.pfb
--#displayFontT1 Times-Italic /usr/local/share/ghostscript/fonts/n021023l.pfb
--#displayFontT1 Times-Bold /usr/local/share/ghostscript/fonts/n021004l.pfb
--#displayFontT1 Times-BoldItalic /usr/local/share/ghostscript/fonts/n021024l.pfb
--#displayFontT1 Helvetica /usr/local/share/ghostscript/fonts/n019003l.pfb
--#displayFontT1 Helvetica-Oblique /usr/local/share/ghostscript/fonts/n019023l.pfb
--#displayFontT1 Helvetica-Bold /usr/local/share/ghostscript/fonts/n019004l.pfb
--#displayFontT1 Helvetica-BoldOblique /usr/local/share/ghostscript/fonts/n019024l.pfb
--#displayFontT1 Courier /usr/local/share/ghostscript/fonts/n022003l.pfb
--#displayFontT1 Courier-Oblique /usr/local/share/ghostscript/fonts/n022023l.pfb
--#displayFontT1 Courier-Bold /usr/local/share/ghostscript/fonts/n022004l.pfb
--#displayFontT1 Courier-BoldOblique /usr/local/share/ghostscript/fonts/n022024l.pfb
--#displayFontT1 Symbol /usr/local/share/ghostscript/fonts/s050000l.pfb
--#displayFontT1 ZapfDingbats /usr/local/share/ghostscript/fonts/d050000l.pfb
-+displayFontT1 Times-Roman /usr/share/ghostscript/fonts/n021003l.pfb
-+displayFontT1 Times-Italic /usr/share/ghostscript/fonts/n021023l.pfb
-+displayFontT1 Times-Bold /usr/share/ghostscript/fonts/n021004l.pfb
-+displayFontT1 Times-BoldItalic /usr/share/ghostscript/fonts/n021024l.pfb
-+displayFontT1 Helvetica /usr/share/ghostscript/fonts/n019003l.pfb
-+displayFontT1 Helvetica-Oblique /usr/share/ghostscript/fonts/n019023l.pfb
-+displayFontT1 Helvetica-Bold /usr/share/ghostscript/fonts/n019004l.pfb
-+displayFontT1 Helvetica-BoldOblique /usr/share/ghostscript/fonts/n019024l.pfb
-+displayFontT1 Courier /usr/share/ghostscript/fonts/n022003l.pfb
-+displayFontT1 Courier-Oblique /usr/share/ghostscript/fonts/n022023l.pfb
-+displayFontT1 Courier-Bold /usr/share/ghostscript/fonts/n022004l.pfb
-+displayFontT1 Courier-BoldOblique /usr/share/ghostscript/fonts/n022024l.pfb
-+displayFontT1 Symbol /usr/share/ghostscript/fonts/s050000l.pfb
-+displayFontT1 ZapfDingbats /usr/share/ghostscript/fonts/d050000l.pfb
+-#fontFile Times-Roman /usr/local/share/ghostscript/fonts/n021003l.pfb
+-#fontFile Times-Italic /usr/local/share/ghostscript/fonts/n021023l.pfb
+-#fontFile Times-Bold /usr/local/share/ghostscript/fonts/n021004l.pfb
+-#fontFile Times-BoldItalic /usr/local/share/ghostscript/fonts/n021024l.pfb
+-#fontFile Helvetica /usr/local/share/ghostscript/fonts/n019003l.pfb
+-#fontFile Helvetica-Oblique /usr/local/share/ghostscript/fonts/n019023l.pfb
+-#fontFile Helvetica-Bold /usr/local/share/ghostscript/fonts/n019004l.pfb
+-#fontFile Helvetica-BoldOblique /usr/local/share/ghostscript/fonts/n019024l.pfb
+-#fontFile Courier /usr/local/share/ghostscript/fonts/n022003l.pfb
+-#fontFile Courier-Oblique /usr/local/share/ghostscript/fonts/n022023l.pfb
+-#fontFile Courier-Bold /usr/local/share/ghostscript/fonts/n022004l.pfb
+-#fontFile Courier-BoldOblique /usr/local/share/ghostscript/fonts/n022024l.pfb
+-#fontFile Symbol /usr/local/share/ghostscript/fonts/s050000l.pfb
+-#fontFile ZapfDingbats /usr/local/share/ghostscript/fonts/d050000l.pfb
++fontFile Times-Roman /usr/share/ghostscript/fonts/n021003l.pfb
++fontFile Times-Italic /usr/share/ghostscript/fonts/n021023l.pfb
++fontFile Times-Bold /usr/share/ghostscript/fonts/n021004l.pfb
++fontFile Times-BoldItalic /usr/share/ghostscript/fonts/n021024l.pfb
++fontFile Helvetica /usr/share/ghostscript/fonts/n019003l.pfb
++fontFile Helvetica-Oblique /usr/share/ghostscript/fonts/n019023l.pfb
++fontFile Helvetica-Bold /usr/share/ghostscript/fonts/n019004l.pfb
++fontFile Helvetica-BoldOblique /usr/share/ghostscript/fonts/n019024l.pfb
++fontFile Courier /usr/share/ghostscript/fonts/n022003l.pfb
++fontFile Courier-Oblique /usr/share/ghostscript/fonts/n022023l.pfb
++fontFile Courier-Bold /usr/share/ghostscript/fonts/n022004l.pfb
++fontFile Courier-BoldOblique /usr/share/ghostscript/fonts/n022024l.pfb
++fontFile Symbol /usr/share/ghostscript/fonts/s050000l.pfb
++fontFile ZapfDingbats /usr/share/ghostscript/fonts/d050000l.pfb
# If you need to display PDF files that refer to non-embedded fonts,
# you should add one or more fontDir options to point to the
-@@ -88,4 +88,4 @@
- # Set the command used to run a web browser when a URL hyperlink is
+@@ -89,4 +89,4 @@
# clicked.
+ #launchCommand viewer-script
-#urlCommand "netscape -remote 'openURL(%s)'"
+#urlCommand "firefox -remote 'openURL(%s)'"
diff --git a/source/xap/xpdf/xpdf.SlackBuild b/source/xap/xpdf/xpdf.SlackBuild
index 6093f21d8..6aa5e1b45 100755
--- a/source/xap/xpdf/xpdf.SlackBuild
+++ b/source/xap/xpdf/xpdf.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,9 +21,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=3.02
-PATCHLEVEL=pl6
-BUILD=${BUILD:-4}
+VERSION=3.03
+PATCHLEVEL=
+BUILD=${BUILD:-3}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -70,15 +70,9 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/patches/xpdf-resizefix.diff.gz | patch -p1 --verbose || exit 1
-cat $CWD/patches/xpdf-3.02pl1.patch | patch -p1 --verbose || exit 1
-cat $CWD/patches/xpdf-3.02pl2.patch | patch -p1 --verbose || exit 1
-cat $CWD/patches/xpdf-3.02pl3.patch | patch -p1 --verbose || exit 1
-cat $CWD/patches/xpdf-3.02pl4.patch | patch -p1 --verbose || exit 1
-cat $CWD/patches/xpdf-3.02pl5.patch | patch -p1 --verbose || exit 1
-zcat $CWD/patches/xpdf_3.02-1.3.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/patches/xpdfrc.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/03-float.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/xpdf.XPDFViewer.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/xpdf-3.03-CVE-2012-2142.diff.gz | patch -p1 --verbose || exit 1
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -87,9 +81,7 @@ CXXFLAGS="$SLKCFLAGS" \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--sysconfdir=/etc \
- --with-gzip \
--with-freetype2-includes=/usr/include/freetype2 \
- --without-t1-library \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
@@ -120,15 +112,16 @@ cat xpdf/xpdfIcon.xpm > $PKG/usr/share/pixmaps/xpdfIcon.xpm
# Add additional language support:
for language in xpdf-arabic xpdf-chinese-simplified xpdf-chinese-traditional xpdf-cyrillic xpdf-greek xpdf-hebrew xpdf-japanese xpdf-korean xpdf-latin2 xpdf-thai xpdf-turkish ; do
rm -rf ${language}
- tar xf $CWD/lang/${language}.tar.gz
+ tar xf $CWD/lang/${language}*.tar.gz
( cd ${language}
+ echo "Patching for ${language}:"
zcat $CWD/lang/${language}.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
chown -R root:root .
find . -type f -exec chmod 644 {} \;
cat add-to-xpdfrc >> $PKG/etc/xpdfrc.new
mkdir -p $PKG/usr/share/xpdf/$(echo ${language} | cut -f2- -d -)
cp -a * $PKG/usr/share/xpdf/$(echo ${language} | cut -f2- -d -)
- )
+ ) || exit 1
done
find $PKG | xargs file | grep -e "executable" -e "shared object" \
diff --git a/source/xap/xsane/xsane.SlackBuild b/source/xap/xsane/xsane.SlackBuild
index b301d081e..991cea302 100755
--- a/source/xap/xsane/xsane.SlackBuild
+++ b/source/xap/xsane/xsane.SlackBuild
@@ -22,7 +22,7 @@
VERSION=0.998
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/xap/xscreensaver/dump.osx.sources.sh b/source/xap/xscreensaver/dump.osx.sources.sh
new file mode 100755
index 000000000..fc3c5f461
--- /dev/null
+++ b/source/xap/xscreensaver/dump.osx.sources.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+# Repacks the xscreensaver tarball to remove the unneeded OSX sources.
+
+VERSION=${VERSION:-$(echo xscreensaver-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+
+tar xf xscreensaver-${VERSION}.tar.xz || exit 1
+mv xscreensaver-${VERSION}.tar.xz xscreensaver-${VERSION}.tar.xz.orig
+rm -r xscreensaver-${VERSION}/OSX/*
+tar cf xscreensaver-${VERSION}.tar xscreensaver-${VERSION}
+rm -r xscreensaver-${VERSION}
+xz -9 xscreensaver-${VERSION}.tar
+touch -r xscreensaver-${VERSION}.tar.xz.orig xscreensaver-${VERSION}.tar.xz
+rm xscreensaver-${VERSION}.tar.xz.orig
diff --git a/source/xap/xscreensaver/slack-desc b/source/xap/xscreensaver/slack-desc
index 85e2b909c..ea0efe024 100644
--- a/source/xap/xscreensaver/slack-desc
+++ b/source/xap/xscreensaver/slack-desc
@@ -13,7 +13,7 @@ xscreensaver: customizable: allows the use of any program that can draw on the
xscreensaver: root window as a display mode. More than 100 display modes are
xscreensaver: included in this package.
xscreensaver:
-xscreensaver:
+xscreensaver: Homepage: http://www.jwz.org/xscreensaver
xscreensaver:
xscreensaver:
xscreensaver:
diff --git a/source/xap/xscreensaver/xscreensaver.SlackBuild b/source/xap/xscreensaver/xscreensaver.SlackBuild
index 830c4dd9d..b7ca3799b 100755
--- a/source/xap/xscreensaver/xscreensaver.SlackBuild
+++ b/source/xap/xscreensaver/xscreensaver.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=${VERSION:-$(echo xscreensaver-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/xap/xxgdb/slack-desc b/source/xap/xxgdb/slack-desc
deleted file mode 100644
index 4905df862..000000000
--- a/source/xap/xxgdb/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-xxgdb: xxgdb (graphical program debugger interface)
-xxgdb:
-xxgdb: Xxgdb is a graphical user interface to the gdb debugger under the X
-xxgdb: Window System. It provides visual feedback and mouse input for the
-xxgdb: user to control program execution through breakpoints, to examine and
-xxgdb: traverse the function call stack, and to display values of variables
-xxgdb: and data structures.
-xxgdb:
-xxgdb:
-xxgdb:
-xxgdb:
diff --git a/source/xap/xxgdb/xxgdb-1.08-glibc.patch b/source/xap/xxgdb/xxgdb-1.08-glibc.patch
deleted file mode 100644
index 6ec7032cd..000000000
--- a/source/xap/xxgdb/xxgdb-1.08-glibc.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- xxgdb/calldbx.c.ewt Thu Aug 29 15:39:07 1996
-+++ xxgdb/calldbx.c Thu Aug 29 15:39:31 1996
-@@ -76,6 +76,7 @@
- #include "global.h"
- #if !(defined(OLDSUNOS) || defined(BSD))
- #include <termio.h>
-+#include <sys/ioctl.h>
- #else
- #include <sgtty.h>
- #endif
diff --git a/source/xap/xxgdb/xxgdb-1.12-debian-filemenu.patch b/source/xap/xxgdb/xxgdb-1.12-debian-filemenu.patch
deleted file mode 100644
index c8595731e..000000000
--- a/source/xap/xxgdb/xxgdb-1.12-debian-filemenu.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- xxgdb-1.12/filemenu.c.build 2009-03-29 12:26:26.000000000 +0200
-+++ xxgdb-1.12/filemenu.c 2009-03-29 12:26:26.000000000 +0200
-@@ -83,6 +83,7 @@
-
- #ifdef SYSV
- #include <stdio.h>
-+#include <stdlib.h>
- #include <sys/param.h>
- #include <sys/types.h>
- #include <dirent.h>
diff --git a/source/xap/xxgdb/xxgdb-1.12-debian-pty.patch b/source/xap/xxgdb/xxgdb-1.12-debian-pty.patch
deleted file mode 100644
index 7a56971f4..000000000
--- a/source/xap/xxgdb/xxgdb-1.12-debian-pty.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff -urNad xxgdb-1.12~/calldbx.c xxgdb-1.12/calldbx.c
---- xxgdb-1.12~/calldbx.c 1996-10-02 10:59:45.000000000 +0200
-+++ xxgdb-1.12/calldbx.c 2008-05-16 17:44:05.000000000 +0200
-@@ -85,8 +85,10 @@
- #include <sys/un.h>
- #endif /* CREATE_IO_WINDOW */
-
--#ifdef SVR4
-+#if defined(SVR4) || defined(UNIX98)
- #define MASTER_CLONE "/dev/ptmx"
-+#endif
-+#ifdef SVR4
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/stropts.h>
-@@ -125,13 +127,14 @@
- {
- int master;
-
--#ifdef SVR4 /* (MJH) Use STREAMS */
-+#if defined(SVR4) || defined(UNIX98)
-
- if((master = open(MASTER_CLONE, O_RDWR)) < 0)
- perror(MASTER_CLONE);
- else
- return master;
--#else
-+#endif
-+#if !defined(SVR4) && !defined(UNIX98)
- int i;
- char c;
-
-@@ -150,7 +153,7 @@
- #ifndef sco
- }
- #endif
--#endif /* SVR4 */
-+#endif /* !defined(SVR4) && !defined(UNIX98) */
-
- #ifdef GDB
- fprintf(stderr, "xxgdb: all ptys in use\n");
-@@ -166,6 +169,25 @@
- {
- int slave;
-
-+#if defined(UNIX98)
-+
-+ int n;
-+ int zero=0;
-+ char ptsname[16];
-+
-+ if (ioctl(master, TIOCGPTN, &n) < 0)
-+ exit(2);
-+ snprintf(ptsname,sizeof(ptsname),"/dev/pts/%i", n);
-+ if (ioctl(master, TIOCSPTLCK, &zero) < 0)
-+ exit(3);
-+ if ((slave = open(ptsname, O_RDWR)) < 0) {
-+ perror(ptsname);
-+ exit(4);
-+ }
-+ return slave;
-+
-+#else
-+
- #ifdef SVR4 /* (MJH) */
- char *slave_name = "unknown";
- extern char *ptsname(int master);
-@@ -193,6 +215,8 @@
- }
- return slave;
- #endif /* SVR4 */
-+
-+#endif /* UNIX98 */
- }
-
- #ifdef CREATE_IO_WINDOW
diff --git a/source/xap/xxgdb/xxgdb-1.12-mandriva.patch b/source/xap/xxgdb/xxgdb-1.12-mandriva.patch
deleted file mode 100644
index 3d384f32c..000000000
--- a/source/xap/xxgdb/xxgdb-1.12-mandriva.patch
+++ /dev/null
@@ -1,993 +0,0 @@
-diff -p -up xxgdb-1.12/command.c.orig xxgdb-1.12/command.c
---- xxgdb-1.12/command.c.orig 2010-05-06 21:43:37.932032547 -0300
-+++ xxgdb-1.12/command.c 2010-05-06 21:43:56.618036569 -0300
-@@ -74,7 +74,7 @@
- *
- * forwardSearch() : forward string search
- * reverseSearch() : reverse string search
-- * Search() : call either forwardSearch() or reverseSearch()
-+ * search() : call either forwardSearch() or reverseSearch()
- * PopupSearch() : command callback for search button
- * DoneSearch() : command callback for DONE button in search panel
- * CreateSearchPopup() : create search panel
-@@ -657,10 +657,8 @@ void PopupSearch(w, client_data, call_da
- * If no text has been entered, the contents of the cut buffer are used
- * for searching.
- */
--static void Search(w, direction, call_data)
-- Widget w;
-- XtPointer direction;
-- XtPointer call_data;
-+static void
-+search(Widget w, XtPointer direction, XtPointer call_data)
- {
- XawTextBlock textblock;
- XawTextPosition pos, left, right;
-@@ -716,7 +714,7 @@ static void Activate(w, event, params, n
- String *params;
- Cardinal *num_params;
- {
-- Search(w, (XtPointer)FORWARD, NULL);
-+ search(w, (XtPointer)FORWARD, NULL);
- DoneSearch(w, (XtPointer)searchPopupShell, NULL);
- }
-
-@@ -747,8 +745,8 @@ static void CreateSearchPopup()
- searchPopup = XtCreateManagedWidget("searchPopup", dialogWidgetClass,
- searchPopupShell, args, n);
-
-- AddButton(searchPopup, "<<", Search, (XtPointer) REVERSE);
-- AddButton(searchPopup, ">>", Search, (XtPointer) FORWARD);
-+ AddButton(searchPopup, "<<", search, (XtPointer) REVERSE);
-+ AddButton(searchPopup, ">>", search, (XtPointer) FORWARD);
- AddButton(searchPopup, "DONE", DoneSearch, (XtPointer)searchPopupShell);
-
- dialogValue = XtNameToWidget(searchPopup, "value");
-diff -p -up xxgdb-1.12/dialog.c.orig xxgdb-1.12/dialog.c
---- xxgdb-1.12/dialog.c.orig 2010-05-06 21:43:37.934032296 -0300
-+++ xxgdb-1.12/dialog.c 2010-05-06 21:44:28.258027728 -0300
-@@ -86,6 +86,12 @@ Boolean FalseSignal = FALSE; /* set to
- static char DialogText[DIALOGSIZE]; /* text buffer for widget */
- static XawTextPosition StartPos; /* starting position of input text */
-
-+static XawTextEditType
-+BeginDelete(Widget w);
-+
-+static void
-+EndDelete(Widget w, XawTextEditType type);
-+
-
- /* This procedure prevents the user from deleting past the prompt, or
- * any text appended by AppendDialogText() to the dialog window.
-@@ -94,11 +100,8 @@ static XawTextPosition StartPos;
- * character() can only delete the space character.
- */
- /* ARGSUSED */
--static void InsertSpace(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+InsertSpace(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- XawTextBlock textblock;
- XawTextPosition lastPos;
-@@ -115,16 +118,70 @@ static void InsertSpace(w, event, params
- }
- }
-
-+static XawTextEditType
-+BeginDelete(Widget w)
-+{
-+ Widget src;
-+ XawTextEditType type;
-+ Arg args[1];
-+
-+ src = XawTextGetSource(w);
-+ XtSetArg(args[0], XtNeditType, &type);
-+ XtGetValues(src, args, 1);
-+ if (type != XawtextEdit) {
-+ XtSetArg(args[0], XtNeditType, XawtextEdit);
-+ XtSetValues(src, args, 1);
-+ }
-+
-+ return (type);
-+}
-+
-+static void
-+EndDelete(Widget w, XawTextEditType type)
-+{
-+ Widget src;
-+ Arg args[1];
-+
-+ if (type != XawtextEdit) {
-+ src = XawTextGetSource(w);
-+ XtSetArg(args[0], XtNeditType, type);
-+ XtSetValues(src, args, 1);
-+ }
-+}
-+
-+/*
-+ * Previous logic of calling actions:
-+ * InsertSpace() delete-previous-char()
-+ * is not going to work because it must create a text in append only
-+ * mode, so, hack it here to actually delete a character...
-+ */
-+void
-+DeleteChar(Widget w, XEvent *event, String *params, Cardinal *num_params)
-+{
-+ XawTextEditType type;
-+ XawTextBlock block;
-+ XawTextPosition point;
-+
-+ if (StartPos < (point = XawTextGetInsertionPoint(w))) {
-+ type = BeginDelete(w);
-+ block.firstPos = 0;
-+ block.length = 0;
-+ block.ptr = "";
-+ block.format = 8;
-+ XawTextReplace(w, point - 1, point, &block);
-+ XawTextSetInsertionPoint(w, point - 1);
-+ EndDelete(w, type);
-+ }
-+}
-+
- /* Erases the preceding word.
- * Simulates the action of the WERASE character (ctrl-W).
- */
- /* ARGSUSED */
--void DeleteWord(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+DeleteWord(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
-+ XawTextEditType type;
- XawTextBlock textblock;
- XawTextPosition pos;
- Cardinal i;
-@@ -138,8 +195,10 @@ void DeleteWord(w, event, params, num_pa
- pos = TextGetLastPos(w);
- for (i=pos; i > StartPos && DialogText[i-1] == ' '; i--);
- for (; i > StartPos && DialogText[i-1] != ' '; i--);
-+ type = BeginDelete(w);
- XawTextReplace(w, i, pos, &textblock);
- XawTextSetInsertionPoint(w, i);
-+ EndDelete(w, type);
- }
-
-
-@@ -147,12 +206,10 @@ void DeleteWord(w, event, params, num_pa
- * simulates the action of the KILL character (ctrl-U).
- */
- /* ARGSUSED */
--void DeleteLine(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+DeleteLine(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
-+ XawTextEditType type;
- XawTextBlock textblock;
- XawTextPosition pos, beginPos;
- Cardinal i;
-@@ -172,8 +229,10 @@ void DeleteLine(w, event, params, num_pa
- return;
- }
- for (i=pos; i > beginPos && s[i-1] != '\n'; i--);
-+ type = BeginDelete(w);
- XawTextReplace(w, i, pos, &textblock);
- XawTextSetInsertionPoint(w, i);
-+ EndDelete(w, type);
- }
-
-
-@@ -183,11 +242,8 @@ void DeleteLine(w, event, params, num_pa
- * it is stored in the global variable, Command.
- */
- /* ARGSUSED */
--static void Dispatch(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+Dispatch(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- #ifdef GDB
- /*
-@@ -249,22 +305,16 @@ void signal_interrupt_dbx()
- * Simulates the action of the INTR character (ctrl-C).
- */
- /* ARGSUSED */
--static void SigInt(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+SigInt(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- signal_interrupt_dbx ();
- }
-
- /* Sends an EOF signal to dbx. (ctrl-D) */
- /* ARGSUSED */
--static void SigEof(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+SigEof(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- write_dbx("\04");
- }
-@@ -274,11 +324,8 @@ static void SigEof(w, event, params, num
- * Simulates the action of the QUIT character (ctrl-\)
- */
- /* ARGSUSED */
--static void SigQuit(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+SigQuit(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- FalseSignal = TRUE;
-
-@@ -301,29 +348,8 @@ Widget parent;
- Arg args[MAXARGS];
- Cardinal n;
-
-- static XtActionsRec dialog_actions[] = {
-- {"SigInt", (XtActionProc) SigInt},
-- {"SigEof", (XtActionProc) SigEof},
-- {"SigQuit", (XtActionProc) SigQuit},
-- {"InsertSpace", (XtActionProc) InsertSpace},
-- {"Dispatch", (XtActionProc) Dispatch},
-- {NULL, NULL}
-- };
--
-- static String translations = "#override\n\
-- Ctrl<Key>C: SigInt()\n\
-- Ctrl<Key>D: SigEof()\n\
-- Ctrl<Key>|: SigQuit()\n\
-- Ctrl<Key>W: DeleteWord()\n\
-- Ctrl<Key>U: DeleteLine()\n\
-- Ctrl<Key>H: InsertSpace() delete-previous-character()\n\
-- <Key>Delete: InsertSpace() delete-previous-character()\n\
-- <Key>BackSpace: InsertSpace() delete-previous-character()\n\
-- <Key>Return: newline() Dispatch()\n\
-- ";
--
- n = 0;
-- XtSetArg(args[n], XtNuseStringInPlace, True); n++;
-+ XtSetArg(args[n], XtNuseStringInPlace, True); n++;
- XtSetArg(args[n], XtNstring, (XtArgVal) DialogText); n++;
- XtSetArg(args[n], XtNlength, (XtArgVal) DIALOGSIZE); n++;
- XtSetArg(args[n], XtNeditType, (XtArgVal) XawtextAppend); n++;
-@@ -331,8 +357,6 @@ Widget parent;
- XtSetArg(args[n], XtNwrap, XawtextWrapWord); n++;
- dialogWindow = XtCreateManagedWidget("dialogWindow", asciiTextWidgetClass,
- parent, args, n );
-- XtOverrideTranslations(dialogWindow, XtParseTranslationTable(translations));
-- XtAppAddActions(app_context, dialog_actions, XtNumber(dialog_actions));
- }
-
- #if 0 /* never used */
-diff -p -up xxgdb-1.12/gdb_parser.c.orig xxgdb-1.12/gdb_parser.c
---- xxgdb-1.12/gdb_parser.c.orig 2010-05-06 21:43:37.936032292 -0300
-+++ xxgdb-1.12/gdb_parser.c 2010-05-06 21:44:36.001027757 -0300
-@@ -1053,7 +1053,6 @@ FILE *f;
- if(errno == EAGAIN || errno == EWOULDBLOCK) {
- break;
- }
-- perror("read from gdb");
- exit(1);
- /*NOTREACHED*/
- }
-diff -p -up xxgdb-1.12/global.h.orig xxgdb-1.12/global.h
---- xxgdb-1.12/global.h.orig 2010-05-06 21:43:37.938031470 -0300
-+++ xxgdb-1.12/global.h 2010-05-06 21:44:48.480028375 -0300
-@@ -111,10 +111,34 @@ extern void read_dbx(); /* get data f
- extern void write_dbx(); /* send data to dbx */
- extern void query_dbx(); /* ask dbx for info */
-
-+extern void
-+PopupSearch(Widget w, XtPointer client_data, XtPointer call_data);
-+
- /* dialog.c */
-+extern void
-+DeleteChar(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+DeleteLine(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+DeleteWord(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+Dispatch(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+InsertSpace(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+SigInt(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+SigEof(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+SigQuit(Widget w, XEvent *event, String *params, Cardinal *num_params);
-
--extern void DeleteLine(); /* delete line action proc */
--extern void DeleteWord(); /* delete word action proc */
- extern void CreateDialogWindow();
- extern void AppendDialogText(); /* append text to buffer */
-
-@@ -163,18 +187,53 @@ extern void UpdateUpdown(); /* update
- extern void UpdateBomb(); /* update position of bomb */
-
- /* source.c */
-+extern void
-+CreateSourceWindow(Widget parent);
-+
-+extern char *
-+GetPathname(char *filename);
-+
-+extern int
-+LoadCurrentFile(void);
-+
-+extern int
-+LoadFile(char *filename);
-+
-+extern void
-+MakeDirList(char *output);
-+
-+extern void
-+NotifyResize(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+PrintSelection(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+Search(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+SelectEnd(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+SelectStart(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+SelectWord(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+source_init(void);
-+
-+extern void
-+Update(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+#ifdef EDIT_BUTTON
-+extern void
-+EdAction(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+StartEditor(void);
-+#endif
-
--extern void SelectStart(); /* modified select-start */
--extern void SelectEnd(); /* modified select-end */
--extern void SelectWord(); /* my select word */
--extern void PrintSelection(); /* select variable and print */
--extern void Update(); /* update line label */
--extern void source_init(); /* init routine */
--extern void CreateSourceWindow();
--extern int LoadFile(); /* display source file */
--extern int LoadCurrentFile(); /* display source file */
--extern char *GetPathname(); /* get full path name of file */
--extern void MakeDirList(); /* maintain list of dirs */
-
- /* utils.c */
-
-diff -p -up xxgdb-1.12/source.c.orig xxgdb-1.12/source.c
---- xxgdb-1.12/source.c.orig 2010-05-06 21:43:37.940032123 -0300
-+++ xxgdb-1.12/source.c 2010-05-06 21:43:56.626028358 -0300
-@@ -106,7 +106,8 @@ static FileRec **fileTable; /* table of
- static int fileTableSize; /* size of file table */
- static char *dirList[MAXDIRS]; /* list of dirs for searching files */
-
--void source_init()
-+void
-+source_init(void)
- {
- dirList[0] = NULL;
- }
-@@ -116,11 +117,8 @@ void source_init()
- * line label.
- */
- /* ARGSUSED */
--void Update(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+extern void
-+Update(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- XawTextPosition pos;
- int topline;
-@@ -171,11 +169,8 @@ void Update(w, event, params, num_params
- * Invoked by ConfigureNotify event.
- */
- /* ARGSUSED */
--static void NotifyResize(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+NotifyResize(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- XawTextPosition pos;
- TextWidget ctx = (TextWidget) sourceWindow;
-@@ -216,11 +211,8 @@ void UpdateLine(w, event, params, num_pa
- * near the bottom of an Athena text widget window.
- */
- /* ARGSUSED */
--void SelectStart(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+SelectStart(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- XawTextPosition topPosition;
-
-@@ -241,11 +233,8 @@ void SelectStart(w, event, params, num_p
- * selection and cut buffer 0.
- */
- /* ARGSUSED */
--void SelectEnd(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+extern void
-+SelectEnd(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- XawTextPosition begin, end, start;
- Widget textsrc;
-@@ -274,11 +263,8 @@ void SelectEnd(w, event, params, num_par
- * It selects a word delimited by DELIMITERS, not whitespace.
- */
- /* ARGSUSED */
--void SelectWord(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+SelectWord(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- XawTextPosition pos, left, right, start;
- XawTextBlock buffer;
-@@ -328,11 +314,8 @@ void SelectWord(w, event, params, num_pa
-
- /* Print the value of the expression in cut buffer 0. */
- /* ARGSUSED */
--void PrintSelection(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+PrintSelection(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- char command[LINESIZ];
- char *string;
-@@ -351,24 +334,16 @@ void PrintSelection(w, event, params, nu
-
- #ifdef EDIT_BUTTON
- /* allow invocation of favorite editor from within interface */
--extern void StartEditor();
--void EdAction(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+EdAction(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- StartEditor();
- }
- #endif /* EDIT_BUTTON */
-
- /* fixes keybindings in source window */
--extern PopupSearch();
--void Search(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+Search(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- PopupSearch(w, NULL, NULL);
- }
-@@ -383,134 +358,12 @@ void Search(w, event, params, num_params
- have operative keys in the editor window for moving around (move stop
- signs and such around too) */
-
--void CreateSourceWindow(parent)
--Widget parent;
-+void
-+CreateSourceWindow(Widget parent)
- {
-- TextWidget ctx;
- Arg args[MAXARGS];
- Cardinal n;
-
-- static XtActionsRec sbar_actions[] = {
-- {"NotifyResize", NotifyResize},
-- {"Update", Update},
-- {NULL, NULL}
-- };
--
-- /* fixes keybindings in source window */
-- static XtActionsRec text_actions[] = {
-- {"Update", Update},
--#ifdef EDIT_BUTTON
-- {"Editor", EdAction},
--#endif
-- {"Search", Search},
-- {NULL, NULL}
-- };
--
--#ifdef EDIT_BUTTON
--
-- static String eTextTranslations = "#override \n\
-- Ctrl<Key>V: next-page() Update(warp) \n\
-- Meta<Key>V: previous-page() Update(warp) \n\
-- Ctrl<Key>N: next-line() Update() \n\
-- Ctrl<Key>P: previous-line() Update() \n\
-- Ctrl<Key>Z: scroll-one-line-up() Update(warp) \n\
-- Meta<Key>Z: scroll-one-line-down() Update(warp) \n\
-- Meta<Key>]: forward-paragraph() Update(warp) \n\
-- Meta<Key>[: backward-paragraph() Update(warp) \n\
-- Meta<Key>F: forward-word() Update() \n\
-- Meta<Key>B: backward-word() Update() \n\
-- Ctrl<Key>F: forward-character() Update() \n\
-- Ctrl<Key>B: backward-character() Update() \n\
-- Meta<Key>E: Editor() \n\
-- Meta<Key><: beginning-of-file() Update(warp) \n\
-- Meta<Key>>: end-of-file() Update(warp) \n\
-- <Key>L: redraw-display() Update() \n\
-- <Key>S: Search() Update() \n\
-- <Key>R: Search() Update() \n\
-- <Btn1Down>: SelectStart() SelectWord() \n\
-- Shift<Btn1Up>: Update() SelectEnd() PrintSelection() \n\
-- <Btn1Up>: Update() SelectEnd() \n\
-- ";
--
-- static String vTextTranslations = "#override \n\
-- Ctrl<Key>F: next-page() Update(warp) \n\
-- Ctrl<Key>B: previous-page() Update(warp) \n\
-- Ctrl<Key>D: next-page() Update() \n\
-- Ctrl<Key>U: previous-page() Update() \n\
-- <Key>Return: next-line() Update() \n\
-- <Key>-: previous-line() Update() \n\
-- <Key>j: next-line() Update() \n\
-- <Key>k: previous-line() Update() \n\
-- <Key>space: forward-character() Update() \n\
-- <Key>BackSpace: backward-character() Update() \n\
-- <Key>1: beginning-of-file() Update(warp) \n\
-- <Key>G: end-of-file() Update(warp) \n\
-- <Key>E: Editor() \n\
-- <Key>L: redraw-display() Update() \n\
-- <Key>/: Search() Update() \n\
-- <Key>?: Search() Update() \n\
-- <Btn1Down>: SelectStart() SelectWord() \n\
-- Shift<Btn1Up>: Update() SelectEnd() PrintSelection() \n\
-- <Btn1Up>: Update() SelectEnd() \n\
-- ";
--
--#else /* not EDIT_BUTTON */
--
-- static String eTextTranslations = "#override \n\
-- Ctrl<Key>V: next-page() Update(warp) \n\
-- Meta<Key>V: previous-page() Update(warp) \n\
-- Ctrl<Key>N: next-line() Update() \n\
-- Ctrl<Key>P: previous-line() Update() \n\
-- Ctrl<Key>Z: scroll-one-line-up() Update(warp) \n\
-- Meta<Key>Z: scroll-one-line-down() Update(warp) \n\
-- Meta<Key>]: forward-paragraph() Update(warp) \n\
-- Meta<Key>[: backward-paragraph() Update(warp) \n\
-- Meta<Key>F: forward-word() Update() \n\
-- Meta<Key>B: backward-word() Update() \n\
-- Ctrl<Key>F: forward-character() Update() \n\
-- Ctrl<Key>B: backward-character() Update() \n\
-- Meta<Key><: beginning-of-file() Update(warp) \n\
-- Meta<Key>>: end-of-file() Update(warp) \n\
-- <Key>L: redraw-display() Update() \n\
-- <Key>S: Search() Update() \n\
-- <Key>R: Search() Update() \n\
-- <Btn1Down>: SelectStart() SelectWord() \n\
-- Shift<Btn1Up>: Update() SelectEnd() PrintSelection() \n\
-- <Btn1Up>: Update() SelectEnd() \n\
-- ";
--
-- static String vTextTranslations = "#override \n\
-- Ctrl<Key>F: next-page() Update(warp) \n\
-- Ctrl<Key>B: previous-page() Update(warp) \n\
-- Ctrl<Key>D: next-page() Update() \n\
-- Ctrl<Key>U: previous-page() Update() \n\
-- <Key>Return: next-line() Update() \n\
-- <Key>-: previous-line() Update() \n\
-- <Key>j: next-line() Update() \n\
-- <Key>k: previous-line() Update() \n\
-- <Key>space: forward-character() Update() \n\
-- <Key>BackSpace: backward-character() Update() \n\
-- <Key>1: beginning-of-file() Update(warp) \n\
-- <Key>G: end-of-file() Update(warp) \n\
-- <Key>L: redraw-display() Update() \n\
-- <Key>/: Search() Update() \n\
-- <Key>?: Search() Update() \n\
-- <Btn1Down>: SelectStart() SelectWord() \n\
-- Shift<Btn1Up>: Update() SelectEnd() PrintSelection() \n\
-- <Btn1Up>: Update() SelectEnd() \n\
-- ";
--
--#endif /* EDIT_BUTTON */
--
-- /* fixes keybindings in source window */
-- static String sbarTranslations = "\
-- <Configure>: NotifyResize() \n\
-- <Btn2Down>: StartScroll(Continuous) MoveThumb() NotifyThumb() \
-- Update() \n\
-- <Btn2Motion>: MoveThumb() NotifyThumb() Update() \n\
-- <BtnUp>: NotifyScroll(Proportional) EndScroll() Update() \n\
-- ";
--
- n = 0;
- XtSetArg(args[n], XtNdefaultDistance, 0); n++;
- sourceForm = XtCreateManagedWidget("sourceForm", formWidgetClass,
-@@ -523,27 +376,6 @@ Widget parent;
- XtSetArg(args[n], XtNscrollVertical, (XtArgVal) XawtextScrollAlways);n++;
- sourceWindow = XtCreateManagedWidget("sourceWindow", asciiTextWidgetClass,
- sourceForm, args, n);
--
-- ctx = (TextWidget) sourceWindow;
-- if (ctx->text.vbar)
-- XtOverrideTranslations(ctx->text.vbar,
-- XtParseTranslationTable(sbarTranslations));
-- XtAppAddActions(app_context, sbar_actions, XtNumber(sbar_actions));
--
-- /* fixes keybindings in source window */
-- XtAppAddActions(app_context, text_actions, XtNumber(text_actions));
-- if (app_resources.bindings && strcmp(app_resources.bindings, "vi") == 0)
-- XtOverrideTranslations((Widget) ctx, XtParseTranslationTable(vTextTranslations));
-- else
-- XtOverrideTranslations((Widget) ctx, XtParseTranslationTable(eTextTranslations));
--
-- /* setup tabulation */
-- if (app_resources.tabstop >= 0) {
-- int tab, tabs[256];
-- for (n = 0, tab = 0; n < sizeof tabs / sizeof *tabs; n++)
-- tabs[n] = (tab += app_resources.tabstop);
-- XawTextSinkSetTabs(ctx->text.sink, sizeof tabs / sizeof *tabs, tabs);
-- }
- }
-
-
-@@ -553,8 +385,8 @@ Widget parent;
- * > Starting position of line #1 is 0, and is stored in linepos[1].
- * > Search for '\n' till end of buffer.
- */
--static void BuildLinePos(file)
--FileRec *file;
-+static void
-+BuildLinePos(FileRec *file)
- {
- char *p;
- int line, nlines;
-@@ -587,7 +419,8 @@ FileRec *file;
- * there might be another path to the same files.
- */
-
--static void CheckLookUpFileTable()
-+static void
-+CheckLookUpFileTable(void)
- {
- int i;
- char * newfullname;
-@@ -639,7 +472,8 @@ static void CheckLookUpFileTable()
- * display if necessary.
- *
- */
--void CleanUpFileTable ()
-+void
-+CleanUpFileTable(void)
- {
- CheckLookUpFileTable();
- if (displayedFile == NULL)
-@@ -651,9 +485,8 @@ void CleanUpFileTable ()
- * If not found, create an entry and initialize proper fields,
- * else, return pointer to entry found.
- */
--static int LookUpFileTable(pathname, filename, file)
--char *pathname, *filename;
--FileRec **file;
-+static int
-+LookUpFileTable(char *pathname, char *filename, FileRec **file)
- {
- struct stat fileinfo;
- int fd;
-@@ -754,7 +587,8 @@ FileRec **file;
- /*
- * Remember file position and current line before closing.
- */
--static void SaveDisplayedFileInfo()
-+static void
-+SaveDisplayedFileInfo(void)
- {
- XawTextPosition pos;
-
-@@ -771,8 +605,8 @@ static void SaveDisplayedFileInfo()
- * must recalculate bottomline because the window size might be
- * different.
- */
--static void DisplayFile(file)
--FileRec *file;
-+static void
-+DisplayFile(FileRec *file)
- {
- Arg args[MAXARGS];
- Cardinal n;
-@@ -792,8 +626,8 @@ FileRec *file;
- * the home directory of that user, or to the login home directory if user
- * is not specified.
- */
--static char *expand(filename)
--char *filename;
-+static char *
-+expand(char *filename)
- {
- struct passwd *pwd;
- char *string, *name, newfile[MAXNAME];
-@@ -821,8 +655,8 @@ char *filename;
- *
- * With fix from Dave Gagne (daveg@fs1.ee.ubc.ca) 7/30/90
- */
--void MakeDirList(output)
--char *output;
-+void
-+MakeDirList(char *output)
- {
- /* fix bug where if text of a directories command is > 1k, crashes. Now works to 4k */
- char *s, list[LINESIZ], command[LINESIZ];
-@@ -889,8 +723,8 @@ char *output;
- /* Returns the full pathname of a given file.
- * It searches for the file from a list of directories.
- */
--char *GetPathname(filename)
--char *filename;
-+char *
-+GetPathname(char *filename)
- {
- char pathname[LINESIZ];
- int i;
-@@ -949,8 +783,8 @@ char *filename;
- * 5. update the file label and the various signs on the source window.
- * LoadFile returns 0 upon successful completion, -1 otherwise.
- */
--int LoadFile(filename)
--char *filename;
-+int
-+LoadFile(char *filename)
- {
- FileRec *file;
- char *pathname;
-@@ -980,7 +814,8 @@ char *filename;
- }
- }
-
--int LoadCurrentFile()
-+int
-+LoadCurrentFile(void)
- {
- #ifdef GDB
- query_gdb ("info line\n", PARSE_ON | ECHO_OFF | FILTER_OFF);
-@@ -991,10 +826,11 @@ int LoadCurrentFile()
- }
-
- #ifdef EDIT_BUTTON
--/* simply add editor button that calls $XXGDBWINEDIT, $WINEDIT, xxgdbedit in that order */
-+/* simply add editor button that calls $EDITOR and xedit in that order */
- /* allow invocation of fav. editor from within interface */
- /* button and the EdAction action procedure for the source window */
--void StartEditor ()
-+void
-+StartEditor(void)
- {
- XawTextPosition pos;
- char* editor;
-@@ -1002,11 +838,9 @@ void StartEditor ()
- int result;
-
- if (displayedFile == NULL) return;
-- editor = (char *) getenv("XXGDBWINEDIT");
-- if (editor == NULL)
-- editor = (char *) getenv("WINEDIT");
-+ editor = (char *) getenv("EDITOR");
- if (editor == NULL)
-- editor = "xxgdbedit";
-+ editor = "xedit";
- pos = XawTextGetInsertionPoint(sourceWindow);
- displayedFile->currentline = TextPositionToLine(pos);
- sprintf(string, "nohup %s +%d %s&\n",
-@@ -1043,8 +877,7 @@ void StartEditor ()
- *
- */
- char *
--GetSourcePathname (filename)
--char *filename;
-+GetSourcePathname(char *filename)
- {
- char *srcpath;
- char curr_src [MAXPATHLEN];
-diff -p -up xxgdb-1.12/XDbx.ad.orig xxgdb-1.12/XDbx.ad
---- xxgdb-1.12/XDbx.ad.orig 2010-05-06 21:43:37.942032512 -0300
-+++ xxgdb-1.12/XDbx.ad 2010-05-06 21:43:56.626028358 -0300
-@@ -19,31 +19,41 @@
- *sourceForm.preferredPaneSize: 320
- *sourceWindow.leftMargin: 35
- *sourceWindow.scrollHorizontal: whenNeeded
--*sourceWindow.translations: #override \n\
-- <Btn1Down>: SelectStart() SelectWord() \n\
-- Shift<Btn1Up>: Update(warp) SelectEnd() PrintSelection() \n\
-- <Btn1Up>: Update(warp) SelectEnd() \n\
-- <Key>Down: next-line() Update()\n\
-- <Key>Up: previous-line() Update() \n\
-- Ctrl<Key>L: redraw-display() Update() \n\
-- Ctrl<Key>N: next-line() Update() \n\
-- Ctrl<Key>P: previous-line() Update() \n\
-- Ctrl<Key>V: next-page() Update() \n\
-- Ctrl<Key>Z: scroll-one-line-up() Update() \n\
-- Meta<Key>V: previous-page() Update() \n\
-- Meta<Key>Z: scroll-one-line-down() Update() \n\
-- :Meta<Key>\>: end-of-file() Update() \n\
-- :Meta<Key>]: forward-paragraph() Update() \n\
-- :Meta<Key>[: backward-paragraph() Update()
-+*sourceWindow.translations: #override \
-+ <Btn1Down>: set-keyboard-focus() SelectStart() SelectWord()\n\
-+ Shift<Btn1Up>: Update(warp) SelectEnd() PrintSelection()\n\
-+ <Btn1Up>: Update(warp) SelectEnd()\n\
-+ <Key>Down: next-line() Update()\n\
-+ <Key>Up: previous-line() Update()\n\
-+ Ctrl<Key>L: redraw-display() Update()\n\
-+ Ctrl<Key>N: next-line() Update()\n\
-+ Ctrl<Key>P: previous-line() Update()\n\
-+ Ctrl<Key>V: next-page() Update()\n\
-+ Ctrl<Key>Z: scroll-one-line-up() Update()\n\
-+ Meta<Key>V: previous-page() Update()\n\
-+ Meta<Key>Z: scroll-one-line-down() Update()\n\
-+ :Meta<Key>\>: end-of-file() Update()\n\
-+ :Meta<Key>]: forward-paragraph() Update()\n\
-+ :Meta<Key>[: backward-paragraph() Update()
- *messageWindow*font: variable
- *messageWindow.min: 30
- *messageWindow.max: 30
- *dialogWindow.preferredPaneSize: 200
- *dialogWindow.resizeToPreferred: True
--*dialogWindow.translations: #override \n\
-- <Btn1Down>: SelectStart() SelectWord() \n\
-- Shift<Btn1Up>: SelectEnd() PrintSelection() \n\
-- <Btn1Up>: SelectEnd() \n
-+*dialogWindow.translations: #override \
-+ <Btn1Down>: set-keyboard-focus() SelectStart() SelectWord()\n\
-+ Shift<Btn1Up>: SelectEnd() PrintSelection()\n\
-+ <Btn1Up>: SelectEnd()\n\
-+ Ctrl<Key>C: SigInt()\n\
-+ Ctrl<Key>D: SigEof()\n\
-+ Ctrl<Key>|: SigQuit()\n\
-+ <Key>Tab: no-op(r)\n\
-+ Ctrl<Key>W: DeleteWord()\n\
-+ Ctrl<Key>U: DeleteLine()\n\
-+ Ctrl<Key>H: DeleteChar()\n\
-+ <Key>Delete: DeleteChar()\n\
-+ <Key>BackSpace: DeleteChar()\n\
-+ <Key>Return: newline() Dispatch()
- *commandWindow.preferredPaneSize: 135
- *commandWindow.skipAdjust: True
- !*commandWindow.hSpace: 14
-@@ -55,8 +65,8 @@
- *displayWindow.skipAdjust: True
- *displayWindow.scrollVertical: whenNeeded
- *displayWindow.scrollHorizontal: whenNeeded
--*displayWindow.translations: #override \n\
-- <Btn1Down>: SelectStart() SelectWord() \n\
-- Shift<Btn1Up>: SelectEnd() PrintSelection() \n\
-- <Btn1Up>: SelectEnd() \n
-+*displayWindow.translations: #override \
-+ <Btn1Down>: set-keyboard-focus() SelectStart() SelectWord()\n\
-+ Shift<Btn1Up>: SelectEnd() PrintSelection()\n\
-+ <Btn1Up>: SelectEnd()
- *popup*showGrip: False
-diff -p -up xxgdb-1.12/xdbx.c.orig xxgdb-1.12/xdbx.c
---- xxgdb-1.12/xdbx.c.orig 2010-05-06 21:43:37.944031595 -0300
-+++ xxgdb-1.12/xdbx.c 2010-05-06 21:43:56.628036652 -0300
-@@ -191,19 +191,11 @@ String fallback_resources[] = {
- #endif
- "*sourceWindow.leftMargin: 35",
- "*sourceWindow.scrollHorizontal: whenNeeded",
-- "*sourceWindow.translations: #override \\n\
-- <Btn1Down>: SelectStart() SelectWord() \\n\
-- Shift<Btn1Up>: Update() SelectEnd() PrintSelection() \\n\
-- <Btn1Up>: Update() SelectEnd() \\n",
- "*messageWindow*font: variable",
- "*messageWindow.min: 30",
- "*messageWindow.max: 30",
- "*dialogWindow.preferredPaneSize: 240",
- "*dialogWindow.resizeToPreferred: True",
-- "*dialogWindow.translations: #override \\n\
-- <Btn1Down>: SelectStart() SelectWord() \\n\
-- Shift<Btn1Up>: SelectEnd() PrintSelection() \\n\
-- <Btn1Up>: SelectEnd() \\n",
- #ifdef NEW_INTERFACE
- "*commandShell.geometry: 190x370+590+0",
- #else
-@@ -229,10 +221,6 @@ String fallback_resources[] = {
- #endif
- "*displayWindow.scrollVertical: whenNeeded",
- "*displayWindow.scrollHorizontal: whenNeeded",
-- "*displayWindow.translations: #override \\n\
-- <Btn1Down>: SelectStart() SelectWord() \\n\
-- Shift<Btn1Up>: SelectEnd() PrintSelection() \\n\
-- <Btn1Up>: SelectEnd() \\n",
- "*popup*showGrip: False",
- "*bindings: emacs",
- NULL,
-@@ -271,14 +259,25 @@ static XrmOptionDescRec options[] = {
- };
-
- XtActionsRec xdbx_actions[] = {
-- {"SelectStart", (XtActionProc) SelectStart},
-- {"SelectEnd", (XtActionProc) SelectEnd},
-- {"SelectWord", (XtActionProc) SelectWord},
-- {"PrintSelection", (XtActionProc) PrintSelection},
-- {"Update", (XtActionProc) Update},
-- {"DeleteWord", (XtActionProc) DeleteWord},
-- {"DeleteLine", (XtActionProc) DeleteLine},
-- {NULL, NULL}
-+#ifdef EDIT_BUTTON
-+ {"Editor", EdAction},
-+#endif
-+ {"DeleteChar", DeleteChar},
-+ {"DeleteLine", DeleteLine},
-+ {"DeleteWord", DeleteWord},
-+ {"Dispatch", Dispatch},
-+ {"InsertSpace", InsertSpace},
-+ {"NotifyResize", NotifyResize},
-+ {"PrintSelection", PrintSelection},
-+ {"Search", Search},
-+ {"SelectEnd", SelectEnd},
-+ {"SelectStart", SelectStart},
-+ {"SelectWord", SelectWord},
-+ {"SigEof", SigEof},
-+ {"SigInt", SigInt},
-+ {"SigQuit", SigQuit},
-+ {"Update", Update},
-+ {NULL, NULL}
- };
-
- static void Syntax(call)
diff --git a/source/xap/xxgdb/xxgdb-1.12-sysv.patch b/source/xap/xxgdb/xxgdb-1.12-sysv.patch
deleted file mode 100644
index e8b14b78d..000000000
--- a/source/xap/xxgdb/xxgdb-1.12-sysv.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- xxgdb-1.12/source.c~ Fri Apr 21 12:16:02 1995
-+++ xxgdb-1.12/source.c Mon Dec 2 17:42:39 1996
-@@ -79,7 +79,7 @@
- #endif
- #include <stdlib.h>
-
--#include <X11/Xos.h>
-+/* #include <X11/Xos.h> */
- #include <sys/stat.h>
- #include <pwd.h>
- #include "global.h"
---- xxgdb-1.12/global.h~ Thu Apr 6 12:23:42 1995
-+++ xxgdb-1.12/global.h Mon Dec 2 17:38:21 1996
-@@ -62,8 +62,9 @@
- *
- * Contain extern declarations of variables and functions.
- */
--
-+#undef SYSV
- #include "defs.h"
-+#define SYSV
-
-
- #if defined(__GNUC__) && !defined(alloca)
diff --git a/source/xap/xxgdb/xxgdb.SlackBuild b/source/xap/xxgdb/xxgdb.SlackBuild
deleted file mode 100755
index a1453e05f..000000000
--- a/source/xap/xxgdb/xxgdb.SlackBuild
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/bin/sh
-
-# Copyright 2008, 2009-2011 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-PKGNAM=xxgdb
-VERSION=${VERSION:-1.12}
-BUILD=${BUILD:-3}
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-${PKGNAM}
-rm -rf $PKG
-mkdir -p $TMP $PKG
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
-fi
-
-# Set compile flags:
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-march=i486 -mtune=i686"
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
-fi
-
-# Extract source:
-cd $TMP
-rm -rf ${PKGNAM}-${VERSION}
-tar xvf $CWD/${PKGNAM}-$VERSION.tar.xz || exit 1
-cd ${PKGNAM}-$VERSION || exit 1
-
-# Apply patches:
-# The patches were taken from Mandriva's SRPM and address build issues
-# and run-time issues on x86_64.
-for pf in $CWD/*patch.xz ; do
- { xz -dc $pf | patch -p1 ;} || exit 1
-done
-
-# Make sure ownerships and permissions are sane:
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
-xmkmf || exit 1
-make CCOPTIONS="$SLKCFLAGS" || exit 1
-make install DESTDIR="$PKG"
-make install.man DESTDIR="$PKG"
-
-# Strip binaries:
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-# Compress and link manpages, if any:
-if [ -d $PKG/usr/man ]; then
- ( cd $PKG/usr/man
- for manpagedir in $(find . -type d -name "man*") ; do
- ( cd $manpagedir
- for eachpage in $( find . -type l -maxdepth 1) ; do
- ln -s $( readlink $eachpage ).gz $eachpage.gz
- rm $eachpage
- done
- gzip -9 *.*
- )
- done
- )
-fi
-
-# Compress info files, if any:
-if [ -d $PKG/usr/info ]; then
- ( cd $PKG/usr/info
- rm -f dir
- gzip -9 *
- )
-fi
-
-# Add a documentation directory:
-mkdir -p ${PKG}/usr/doc/${PKGNAM}-$VERSION
-cp -a \
- *README* XDbx.NEW_INTERFACE \
- $PKG/usr/doc/${PKGNAM}-$VERSION
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-# Build the package:
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/xfce/Terminal/Terminal.SlackBuild b/source/xfce/Terminal/Terminal.SlackBuild
deleted file mode 100755
index f5335b2e8..000000000
--- a/source/xfce/Terminal/Terminal.SlackBuild
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/bin/sh
-
-# Slackware build script for Xfce Terminal
-
-# Copyright 2010,2011 Robby Workman, Northport, Alabama, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-PKGNAM=Terminal
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
-
-NUMJOBS=${NUMJOBS:--j6}
-
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) ARCH=i486 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
- esac
-fi
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
-cd $PKGNAM-$VERSION || exit 1
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc/xfce \
- --localstatedir=/var \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PKGNAM-$VERSION \
- --disable-debug \
- --build=$ARCH-slackware-linux || exit 1
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG || exit 1
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
-# Compress and link manpages, if any:
-if [ -d $PKG/usr/man ]; then
- ( cd $PKG/usr/man
- for manpagedir in $(find . -type d -name "man*") ; do
- ( cd $manpagedir
- for eachpage in $( find . -type l -maxdepth 1) ; do
- ln -s $( readlink $eachpage ).gz $eachpage.gz
- rm $eachpage
- done
- gzip -9 *.?
- )
- done
- )
-fi
-
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a \
- AUTHORS COPYING* HACKING INSTALL NEWS README* THANKS TODO \
- $PKG/usr/doc/$PKGNAM-$VERSION
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
-fi
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/xfce/Terminal/slack-desc b/source/xfce/Terminal/slack-desc
deleted file mode 100644
index 23121078f..000000000
--- a/source/xfce/Terminal/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-Terminal: Terminal (Xfce's Terminal Emulator)
-Terminal:
-Terminal: This is the Terminal emulator application. Terminal is a lightweight
-Terminal: and easy to use terminal emulator for the X windowing system, with
-Terminal: some new ideas and features that makes it unique among X terminal
-Terminal: emulators.
-Terminal:
-Terminal:
-Terminal:
-Terminal:
-Terminal:
diff --git a/source/xfce/Thunar/Thunar.SlackBuild b/source/xfce/Thunar/Thunar.SlackBuild
index 54f72b77f..9a49b089d 100755
--- a/source/xfce/Thunar/Thunar.SlackBuild
+++ b/source/xfce/Thunar/Thunar.SlackBuild
@@ -22,7 +22,7 @@
PKGNAM=Thunar
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
@@ -64,6 +64,8 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION || exit 1
+find . -exec touch {} \;
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/xfce/exo/exo.SlackBuild b/source/xfce/exo/exo.SlackBuild
index a3189a584..efb86758a 100755
--- a/source/xfce/exo/exo.SlackBuild
+++ b/source/xfce/exo/exo.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=exo
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
@@ -64,6 +64,10 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION || exit 1
+zcat $CWD/exo.magnet.uri.diff.gz | patch -p1 --verbose || exit 1
+
+find . -exec touch {} \;
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/xfce/exo/exo.magnet.uri.diff b/source/xfce/exo/exo.magnet.uri.diff
new file mode 100644
index 000000000..336ca2121
--- /dev/null
+++ b/source/xfce/exo/exo.magnet.uri.diff
@@ -0,0 +1,49 @@
+From 05848bb3cb10ea19ef8cba607bdabcd25560063c Mon Sep 17 00:00:00 2001
+From: Felipe Contreras <felipe.contreras@gmail.com>
+Date: Sun, 19 May 2013 03:50:01 +0000
+Subject: Fix exo_str_looks_like_an_uri() (bug #10098).
+
+Commit d11199b (Check if uris also contain a slash (bug #9244)) tried to
+fix a hang in thunar by properly recognizing that 'http:' is not an URI,
+however, while doing so, it broke proper URIs like 'magnet:foo'.
+
+As the RFC clearly states:
+
+ The following are two example URIs and their component parts:
+
+ foo://example.com:8042/over/there?name=ferret#nose
+ \_/ \______________/\_________/ \_________/ \__/
+ | | | | |
+ scheme authority path query fragment
+ | _____________________|__
+ / \ / \
+ urn:example:animal:ferret:nose
+
+But even with this succinct example exo_str_looks_like_an_uri() fails.
+
+There is an easy solution; fail only when component part is missing
+('urn:'), but succeed otherwise.
+
+This solution fixes 'magnet:foo', and doesn't break the current
+expectation from thunar that 'http:' should fail, having the best of
+both worlds.
+
+[1] http://www.ietf.org/rfc/rfc3986.txt
+
+Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
+---
+diff --git a/exo/exo-string.c b/exo/exo-string.c
+index 33f86f9..056b36a 100644
+--- a/exo/exo-string.c
++++ b/exo/exo-string.c
+@@ -429,7 +429,7 @@ exo_str_looks_like_an_uri (const gchar *str)
+ for (++s; g_ascii_isalnum (*s) || *s == '+' || *s == '-' || *s == '.'; ++s);
+
+ /* <scheme> must be followed by ":" */
+- return (*s == ':' && *(s+1) == '/');
++ return (*s == ':' && *(s+1) != '\0');
+ }
+
+ return FALSE;
+--
+cgit v0.9.2
diff --git a/source/xfce/libxfce4ui/libxfce4ui.SlackBuild b/source/xfce/libxfce4ui/libxfce4ui.SlackBuild
index 3762c747d..e1e02e9d0 100755
--- a/source/xfce/libxfce4ui/libxfce4ui.SlackBuild
+++ b/source/xfce/libxfce4ui/libxfce4ui.SlackBuild
@@ -22,7 +22,7 @@
PKGNAM=libxfce4ui
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
diff --git a/source/xfce/libxfcegui4/libxfcegui4.SlackBuild b/source/xfce/libxfcegui4/libxfcegui4.SlackBuild
index d4af97ff8..8616491d3 100755
--- a/source/xfce/libxfcegui4/libxfcegui4.SlackBuild
+++ b/source/xfce/libxfcegui4/libxfcegui4.SlackBuild
@@ -22,7 +22,7 @@
PKGNAM=libxfcegui4
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
diff --git a/source/xfce/orage/orage.SlackBuild b/source/xfce/orage/orage.SlackBuild
index 9342007ce..ffa62aeb2 100755
--- a/source/xfce/orage/orage.SlackBuild
+++ b/source/xfce/orage/orage.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=orage
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
diff --git a/source/xfce/tumbler/set-gststate-on-error.diff b/source/xfce/tumbler/set-gststate-on-error.diff
new file mode 100644
index 000000000..042c03ecd
--- /dev/null
+++ b/source/xfce/tumbler/set-gststate-on-error.diff
@@ -0,0 +1,23 @@
+Description: Close file on error
+Origin: other, https://bugzilla.xfce.org/attachment.cgi?id=4447
+Bug: https://bugzilla.xfce.org/show_bug.cgi?id=8303
+Bug-Ubuntu: https://launchpad.net/bugs/995918
+
+--- tumbler-0.1.25.orig/plugins/gst-thumbnailer/gst-thumbnailer.c
++++ tumbler-0.1.25/plugins/gst-thumbnailer/gst-thumbnailer.c
+@@ -233,6 +233,7 @@ make_pipeline (TumblerFileInfo *info,
+ if (state == GST_STATE_CHANGE_FAILURE || state == GST_STATE_CHANGE_ASYNC)
+ {
+ LOG ("failed to or still changing state, aborting (state change %d)", state);
++ gst_element_set_state (playbin, GST_STATE_NULL);
+ g_object_unref (playbin);
+ return NULL;
+ }
+@@ -241,6 +242,7 @@ make_pipeline (TumblerFileInfo *info,
+ if (n_video == 0)
+ {
+ LOG ("no video stream, aborting");
++ gst_element_set_state (playbin, GST_STATE_NULL);
+ g_object_unref (playbin);
+ return NULL;
+ }
diff --git a/source/xfce/tumbler/tumbler.SlackBuild b/source/xfce/tumbler/tumbler.SlackBuild
index 2b1649132..97c3ff5aa 100755
--- a/source/xfce/tumbler/tumbler.SlackBuild
+++ b/source/xfce/tumbler/tumbler.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=tumbler
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
@@ -64,6 +64,8 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION || exit 1
+zcat $CWD/set-gststate-on-error.diff.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/xfce/xfce-build-all.sh b/source/xfce/xfce-build-all.sh
index 0ad32cc74..bf249216e 100755
--- a/source/xfce/xfce-build-all.sh
+++ b/source/xfce/xfce-build-all.sh
@@ -44,7 +44,7 @@ for package in \
xfce4-appfinder \
gtk-xfce-engine \
xfwm4-themes \
- Terminal \
+ xfce4-terminal \
orage \
xfce4-mixer \
thunar-volman \
diff --git a/source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.SlackBuild b/source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.SlackBuild
index 813c32d9c..01329094c 100755
--- a/source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.SlackBuild
+++ b/source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=xfce4-clipman-plugin
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/xfce/xfce4-notifyd/xfce4-notifyd.SlackBuild b/source/xfce/xfce4-notifyd/xfce4-notifyd.SlackBuild
index 1a793217f..af500ff2b 100755
--- a/source/xfce/xfce4-notifyd/xfce4-notifyd.SlackBuild
+++ b/source/xfce/xfce4-notifyd/xfce4-notifyd.SlackBuild
@@ -26,7 +26,7 @@
PKGNAM=xfce4-notifyd
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/xfce/xfce4-panel/xfce4-panel.SlackBuild b/source/xfce/xfce4-panel/xfce4-panel.SlackBuild
index 425cc3d33..37620b8c1 100755
--- a/source/xfce/xfce4-panel/xfce4-panel.SlackBuild
+++ b/source/xfce/xfce4-panel/xfce4-panel.SlackBuild
@@ -22,7 +22,7 @@
PKGNAM=xfce4-panel
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
diff --git a/source/xfce/xfce4-power-manager/xfce4-power-manager.SlackBuild b/source/xfce/xfce4-power-manager/xfce4-power-manager.SlackBuild
index 37229cd81..f378984fb 100755
--- a/source/xfce/xfce4-power-manager/xfce4-power-manager.SlackBuild
+++ b/source/xfce/xfce4-power-manager/xfce4-power-manager.SlackBuild
@@ -26,7 +26,7 @@
PKGNAM=xfce4-power-manager
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
diff --git a/source/xfce/xfce4-screenshooter/xfce4-screenshooter.SlackBuild b/source/xfce/xfce4-screenshooter/xfce4-screenshooter.SlackBuild
index 791a78f00..91bcba5fd 100755
--- a/source/xfce/xfce4-screenshooter/xfce4-screenshooter.SlackBuild
+++ b/source/xfce/xfce4-screenshooter/xfce4-screenshooter.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=xfce4-screenshooter
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/xfce/xfce4-session/xfce4-session.SlackBuild b/source/xfce/xfce4-session/xfce4-session.SlackBuild
index 081a13786..27385bb0b 100755
--- a/source/xfce/xfce4-session/xfce4-session.SlackBuild
+++ b/source/xfce/xfce4-session/xfce4-session.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=xfce4-session
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
@@ -64,8 +64,6 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION || exit 1
-zcat $CWD/patches/load_systemwide_Xmodmap_file.diff.gz | patch -p1 || exit 1
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -81,7 +79,7 @@ CFLAGS="$SLKCFLAGS" \
--sysconfdir=/etc \
--mandir=/usr/man \
--docdir=/usr/doc/$PKGNAM-$VERSION \
- --enable-libgnome-keyring \
+ --disable-systemd \
--disable-static \
--disable-debug \
--build=$ARCH-slackware-linux || exit 1
diff --git a/source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.SlackBuild b/source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.SlackBuild
index dbe0343ed..35501f90a 100755
--- a/source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.SlackBuild
+++ b/source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.SlackBuild
@@ -26,7 +26,7 @@
PKGNAM=xfce4-systemload-plugin
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
diff --git a/source/xfce/xfce4-taskmanager/xfce4-taskmanager.SlackBuild b/source/xfce/xfce4-taskmanager/xfce4-taskmanager.SlackBuild
index df702f0f6..7deedb8bc 100755
--- a/source/xfce/xfce4-taskmanager/xfce4-taskmanager.SlackBuild
+++ b/source/xfce/xfce4-taskmanager/xfce4-taskmanager.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=xfce4-taskmanager
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
diff --git a/source/xfce/xfce4-terminal/slack-desc b/source/xfce/xfce4-terminal/slack-desc
new file mode 100644
index 000000000..a76b06b85
--- /dev/null
+++ b/source/xfce/xfce4-terminal/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xfce4-terminal: xfce4-terminal (Xfce's Terminal Emulator)
+xfce4-terminal:
+xfce4-terminal: This is the Xfce terminal emulator application. xfce4-terminal is
+xfce4-terminal: a lightweight and easy to use terminal emulator for the X windowing
+xfce4-terminal: system, with some new ideas and features that make it unique among
+xfce4-terminal: X terminal emulators.
+xfce4-terminal:
+xfce4-terminal:
+xfce4-terminal:
+xfce4-terminal:
+xfce4-terminal:
diff --git a/source/xfce/xfce4-terminal/xfce4-terminal.SlackBuild b/source/xfce/xfce4-terminal/xfce4-terminal.SlackBuild
new file mode 100755
index 000000000..2be3045a7
--- /dev/null
+++ b/source/xfce/xfce4-terminal/xfce4-terminal.SlackBuild
@@ -0,0 +1,120 @@
+#!/bin/sh
+
+# Slackware build script for xfce4-terminal
+
+# Copyright 2010,2011,2012 Robby Workman, Northport, Alabama, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=xfce4-terminal
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:--j6}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc/xfce \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --disable-debug \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* HACKING INSTALL NEWS README* THANKS TODO \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild b/source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild
index d2d290b52..6a1d0cf26 100755
--- a/source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild
+++ b/source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=xfce4-weather-plugin
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -69,6 +69,7 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+GEONAMES_USERNAME="slackware" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/xfce/xfwm4/xfwm4.SlackBuild b/source/xfce/xfwm4/xfwm4.SlackBuild
index 7855b84e5..e9ad40dc2 100755
--- a/source/xfce/xfwm4/xfwm4.SlackBuild
+++ b/source/xfce/xfwm4/xfwm4.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is